body{
    line-height: 1.3;
}
h1.contact-h1{
    font-size: 1.25rem;
    font-weight: bold;
    color:#ff849f;
    margin-top: 2rem;
}


/* 全体のフォーム */
.contact-form,
.contact-thanks {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}
.contact-opening{
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
    font-size: 14px;
    color: #3d3d3d;
    padding: 0 20px;
}
/* テーブル全体 */
.contact-table {
    width: 100%;
    border-collapse: collapse;
}

/* 各項目行 */
.contact-item-wrap {
    padding: 10px 0;
}

/* タイトル列 */
.contact-item-title {
    text-align: left;
    vertical-align: top;
    padding: 10px;
    width: 30%;
    font-weight: bold;
}

/* 必須マーク */
.contact-item-title span {
    color: #ff849f;
    font-size: 0.85em;
    margin-left: 5px;
}

/* テキスト入力列 */
.contact-item-text {
    padding: 10px;
    width: 70%;
}

.contact-item-text input.wide,
.contact-item-text textarea {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    font-size: 1em;
    border: 1px solid #ff849f;
    border-radius: 4px;
    text-align: left;
}

/* ボックスチェック（プライバシーポリシー） */
.box-check {
    margin-top: 20px;
    font-size: 0.95em;
}

/* 送信ボタン */
.btn-wrap {

    margin-top: 20px;
}

.btn input[type="submit"] {
    background-color: #007BFF;
    color: white;
    font-size: 1em;
    padding: 10px 30px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin:  0 auto;
}

.btn input[type="submit"]:hover {
    background-color: #ff849f;
}

a.link-privacyPolicy{
    margin-left: 10px;
}
.home{
    text-align: center;
    margin-bottom: 20px;
}

/* リンクの文字色 */
a.link-privacyPolicy,
.home a{
    color: #007BFF;
    transition: all 0.3s ease;
}
a.link-privacyPolicy:hover,
.home a:hover{
    color: #ff849f;
}

/* === レスポンシブ対応 === */

@media screen and (max-width: 1024px) {
    /* 全体のフォーム */
    .contact-form {
        width: 100%;
        max-width: 400px;
    }
    .contact-opening{
        max-width: 420px;
    }
    .contact-table,
    .contact-item-wrap,
    .contact-item-title,
    .contact-item-text {
        display: block;
        width: 100%;
    }

    .contact-item-text {
        padding: 0;
    }

    .contact-item-text input.wide,
    .contact-item-text textarea {
        font-size: 1em;
    }
    .br-res{
        display: block;
    }
    
}
@media screen and (max-width: 767px) {
    .contact-item-title {
        padding: 10px 0 5px 10px;
        font-weight: bold;
        background-color: transparent;
        border: none;
    }
}

