body {
    margin: 0;                                                  /* 余白なし */
    padding: 0;                                                 /* ページ内側の余白なし */
    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;   /* 表示する文字種の設定 */
    background: #FFFAF4;                                      /* 背景色 */
}

.container {
    width: 65%;         /* 横幅 */
    margin: 0 auto;     /* ページ内側の余白 */
}

.container p {
    font-size: clamp(0.75rem, 2vw, 1.25rem);        /* 文字サイズ（12px～20px） */
    text-align: left;                               /* 文字を左寄せ */
    line-height: 1.8;                               /* 文字上下間隔 */
}

/* メイン画像 */
.top-image img {
    width: 100%;                                    /* 横幅 */
    height: auto;                                   /* アスペクト比を維持 */
    border-radius: 0.5rem;                          /* 丸み */
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);      /* 下部の余白（24px～40px） */
}

.contact-layout {
    display: grid;                      /* グリッドレイアウトにする */
    grid-template-columns: 1fr 1fr;     /* 横方向を同じ幅で2分割する */
    gap: 0 clamp(0.5rem, 2vw, 3rem);    /* 上下の間隔なし、左右の間隔（8px～48px） */
}

/* お問い合わせ方法 */
.section-box {
    flex: 1;
    background: white;                        /* 背景色 */
    padding: clamp(1rem, 3vw, 1.875rem);        /* ページ内側の余白（16px～32px） */
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);  /* 下部の余白（24px～40px） */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);  /* 要素に影をつける */
    border-radius: 0.5rem;                      /* 丸み */
}

.contact-info {
    margin-top: clamp(1rem, 3vw, 1.25rem);                          /* 上側の余白（16px〜20px） */
    background: #f2f8ff;                                          /* 背景色 */
    padding: clamp(0.75rem, 3vw, 1rem) clamp(1rem, 4vw, 1.25rem);   /* ページ内側の余白（上下：12px〜16px、左右：16px〜20px） */
    border-left: clamp(0.2rem, 1vw, 0.25rem) solid #8dc3ff;       /* 左側の線（3.2px〜4px） */
    border-radius: 0.5rem;                                          /* 丸み */
}

/* お問い合わせフォーム */
.contact-form {
    flex: 1;
    background: white;                          /* 背景色 */
    padding: clamp(1rem, 3vw, 1.875rem);          /* ページ内側の余白（16px～30px） */
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);    /* 下部の余白（24px～40px） */
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);    /* 要素に影をつける */
    border-radius: 0.5rem;                        /* 丸み */
}

.form-group {
    margin-bottom: clamp(1rem, 3vw, 1.25rem);    /* 下部の余白（16px～20px） */
}

.form-group label {
    font-weight: bold;                              /* 文字の太さ */
    display: block;                                 /* ブロックレイアウトにする */
    margin-bottom: clamp(0.375rem, 2vw, 0.5rem);    /* 下部の余白（6px～8px） */
    font-size: clamp(0.75rem, 2vw, 1.25rem);        /* 文字サイズ（12px～20px） */
}

label span {
    color: red; /* 文字色 */
}

input,
textarea {
    width: 100%;                                /* 横幅 */
    padding: clamp(0.625rem, 3vw, 0.75rem);     /* ページ内側の余白（10px～12px） */
    border: 1px solid #ccc;                   /* 入力フォームの枠線 */
    border-radius: 0.5rem;                      /* 丸み */
    font-size: clamp(0.95rem, 3vw, 1rem);       /* スマホで小さすぎない */
    box-sizing: border-box;                     /* 親要素からはみ出さないようにする */
}

textarea {
    min-height: clamp(6rem, 10vw, 10rem);       /* お問い合わせ内容の縦枠を広げる */
}

input:focus,
textarea:focus {
    border-color: #8dc3ff;      /* 入力フォームが選択されたときの枠線色 */
    outline: none;                /* 入力フォームがフォーカスされた際に出る枠線を消す */
}

.submit-btn {
    width: 100%;                                /* 横幅 */
    padding: clamp(0.75rem, 3vw, 0.875rem);     /* ページ内側の余白（12px～14px） */
    background: #8dc3ff;                      /* 背景色 */
    color: white;                             /* 文字色 */
    font-size: clamp(0.875rem, 3vw, 1.1rem);    /* 文字サイズ（14px〜17.6px） */
    font-weight: bold;                          /* 文字の太さ */
    border: none;                               /* 枠線を表示しない */
    border-radius: 0.5rem;                      /* 丸み */
    cursor: pointer;                            /* 入力フォームにカーソルが当たった際に、カーソルの見た目を指マークに変更する */
}

.submit-btn:hover {
    background: #74b4fb;    /* 背景色 */
}

.submit-btn:disabled {
  background: #ccc;
  cursor: not-allowed;
}

/* スマホ + タブレット対応 */
@media (max-width: 768px) {
    .container {
        width: 90%;         /* 横幅 */
    }

    .contact-layout {
        grid-template-columns: 1fr;     /* 縦並びにする */
    }
}