body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* 横スクロールを無効化 */
}

.header {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* ロゴとタイトルを左寄せ */
    padding: 20px;
}

.header .title {
    text-align: center; /* タイトルテキストを中央揃えにする */
    flex-grow: 1; /* タイトル部分を広げる */
    margin-left: 20px; /* タイトルを右に寄せる */
}

.header .logo {
    flex-shrink: 0; /* ロゴのサイズを固定 */
}

.header .logo img {
    width: 150px; /* ロゴのサイズをさらに大きくする */
    height: 150px; /* ロゴのサイズをさらに大きくする */
    border-radius: 50%;
}

.nav {
    display: flex;
    justify-content: center; /* ナビゲーションを中央に配置 */
    gap: 10px; /* ナビゲーションリンクの間のスペースを調整 */
    padding: 10px 20px; /* ナビゲーション全体のパディングを調整 */
    border-bottom: 4px solid #000; /* ナビゲーション下の線を太くする */
}

.nav a {
    text-decoration: none;
    padding: 5px 10px; /* ナビゲーションリンクのパディングを調整 */
    border: 2px solid #000; /* ナビゲーションリンクのボーダーを太くする */
    font-size: 1em; /* ナビゲーションリンクのフォントサイズを調整 */
    white-space: nowrap; /* テキストが折り返さないように */
    flex: 1; /* リンクを均等に配置する */
    text-align: center; /* リンクテキストを中央揃えにする */
}

.content {
    padding: 20px;
}

.main-text {
    text-align: center;
    margin-top: 50px;
}

.main-text p {
    margin: 10px 0;
}

.footer {
    padding: 20px;
}

.footer-line {
        border: none;
        border-top: 4px solid #000; /* 線のスタイルを太くする */
        margin: 20px 0; /* 線の前後にスペースを追加 */
        width: 100vw; /* 線の幅をビューポート全体に */
        position: relative;
        left: 50%;
        transform: translateX(-50%);
}

.footer .logo-container {
    display: flex;
    align-items: center;
}

.footer .logo {
    margin-left: 20px; /* ロゴと線の間にスペースを追加 */
}

.footer .logo img {
    width: 120px; /* ロゴのサイズをさらに大きくする */
    height: 120px; /* ロゴのサイズをさらに大きくする */
}

.contact a {
    text-decoration: none;
    padding: 5px 10px;
    border: 1px solid #000;
}

/* 画像のサイズを変更するためのクラス */
.content-img {
    width: 100%; /* 必要に応じてサイズを変更 */
    max-width: 600px; /* 必要に応じてサイズを変更 */
    height: auto;
}

/* テキストを大きく太くするためのクラス */
.bold-text {
    font-size: 1.2em; /* 必要に応じてサイズを変更 */
    font-weight: bold;
}

/* お問い合わせフォームのスタイル */
.contact-form {
    max-width: 600px;
    margin: 0 auto;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #f9f9f9;
    text-align: center; /* 中央揃えにする */
}

.contact-form label {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
    text-align: center; /* ラベルを中央揃えにする */
}

.contact-form input[type="text"],
.contact-form textarea,
.contact-form select {
    width: 80%; /* 幅を80%に設定 */
    padding: 10px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center; /* テキストフィールドの入力を中央揃えにする */
}

.contact-form input[type="submit"] {
    background-color: #007bff;
    color: #fff;
    padding: 10px 20px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
}

.contact-form input[type="submit"]:hover {
    background-color: #0056b3;
}

/* ラジオボタンのスタイル */
.rating-group {
    display: flex;
    justify-content: space-between; /* ラジオボタンを横並びにする */
    margin-bottom: 20px;
    flex-wrap: nowrap; /* 必ず横並びにする */
}

.rating-group label {
    margin: 0 10px;
    display: inline-block; /* ラベルをインラインブロックにする */
}

/* 返信希望オプションのスタイル */
.reply-options {
    display: flex;
    justify-content: center; /* 中央揃え */
    gap: 10px; /* チェックボックス間の間隔を設定 */
}

.reply-options label {
    display: flex;
    align-items: center;
    gap: 5px; /* チェックボックスとラベル間の間隔を設定 */
}

/* メディアクエリ: スマートフォン向け */
@media (max-width: 600px) {
    .header .title {
        margin-left: 0;
        text-align: center;
    }

    .header .logo img {
        width: 100px;
        height: 100px;
    }

    .nav a {
        font-size: 0.8em;
        padding: 5px 5px;
    }

    .contact-form input[type="text"],
    .contact-form textarea,
    .contact-form select {
        width: 100%; /* スマートフォン向けに幅を100%に設定 */
        text-align: center; /* テキストフィールドの入力を中央揃えにする */
    }

    .rating-group {
        flex-direction: row;
        flex-wrap: nowrap; /* ラジオボタンを横並びにする */
        justify-content: space-between;
    }

    .rating-group label {
        margin: 5px;
        width: auto; /* ラベルの幅を自動にする */
    }

    /* メッセージフィールドの中央揃え */
    textarea#message-field {
        text-align: center; /* テキストエリアの内容を中央揃えにする */
    }
}

/* メディアクエリ: タブレット向け */
@media (min-width: 601px) and (max-width: 1024px) {
    .header .title {
        text-align: center;
        margin-left: 0;
    }

    .nav a {
        font-size: 0.9em;
        padding: 5px 8px;
    }

    .contact-form input[type="text"],
    .contact-form textarea,
    .contact-form select {
        width: 90%; /* タブレット向けに幅を90%に設定 */
        text-align: center; /* テキストフィールドの入力を中央揃えにする */
    }

    .rating-group {
        flex-direction: row;
        flex-wrap: nowrap; /* ラジオボタンを横並びにし、折り返さない */
        justify-content: space-between;
    }

    .rating-group label {
        width: auto;
    }
}

/* メディアクエリ: デスクトップ向け */
@media (min-width: 1025px) {
    .header .title {
        text-align: center;
        margin-left: 20px;
    }

    .nav a {
        font-size: 1em;
        padding: 10px 20px;
    }
}

/* お問い合わせの種類と返信希望の位置調整 */
#inquiry-type {
    order: 1;
}

#reply-field {
    order: 2;
}

/* エラーメッセージのスタイル */
.error-message {
    color: red;
    font-size: 1em; /* フォントサイズを小さくする */
    margin-top: 2px; /* 項目との間隔を狭くする */
    margin-bottom: 1px; /* 項目との間隔を狭くする */
}

#photo-upload-field {
    margin-bottom: 10px;
}

#preview {
    display: block;
    margin: 10px auto;
}

#removeButton {
    display: block;
    margin: 10px auto;
}

input[type="submit"] {
    margin-top: 10px;
}
