/* =========================================================
   baserCMS コンタクトフォーム用 CSS（リライト版）
   ========================================================= */

/* 1. ヘッダーのデザイン（HTML構造に合わせて調整） */
.page-header {
    background: linear-gradient(to top, #e0e0e0 26%, #efefef 48%, #d9d9d9 75%, #bcbcbc 100%);
    padding: 50px 0;
    text-align: center;
    border-bottom: none;
    margin-bottom: 40px;
}
.page-header h1 {
    color: #fff;
    font-size: 24px;
    margin: 0;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

/* =========================================================
   パンくずリスト (Breadcrumbs)
   ========================================================= */
.breadcrumbs {
    font-size: 14px;
    margin-left: 50px; /* ★上方向に負のマージンで h1 に近づける（お好みで調整） */
    padding-bottom: 20px; /* ★代わりに下に余白を持たせる */
    color: #333;           
}

/* リンクのスタイル */
.breadcrumbs a {
    text-decoration: none;
    color: #333;           
}

/* 「ホーム」だけ色を変える */
.breadcrumbs a:first-child {
    color: #005fa2;
}

/* ページ全体の余白調整のヒント */
/* ページヘッダーの下の余白を調整して、全体の隙間を制御 */
.page-header {
    /* (他のスタイルを維持しつつ) */
    margin-bottom: 0; /* ← これを0にして、代わりにパンくずのpadding-bottomで調整する */
}



/* フォーム全体の幅制限 */
.container1 {
    width: 100%;
    max-width: 960px;
    margin: 100px auto;
    padding: 0 20px;
    box-sizing: border-box;
    text-align: center;
}

.bs-mail-form {
    max-width: 600px;
    margin: 0 auto;
}

/* 2. テーブル（フォーム部分）のデザイン */
.bs-mail-form-body {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    border-collapse: collapse; /* 隙間をなくす */
    border-spacing: 0;
}

/* 行ごとの設定 */
.bs-mail-form-body tr {
    border-bottom: 1px solid #eee;
}

/* 項目名（左側） */
.bs-mail-form-body th.col-head {
    width: 180px; /* PCでは幅固定 */
    background-color: transparent;
    text-align: left;
    font-weight: bold;
    color: #333;
    padding: 20px;
    vertical-align: top;
    display: table-cell;
}

/* 入力欄（右側） */
.bs-mail-form-body td.col-input {
    padding: 20px;
    text-align: left;
    display: table-cell;
}

/* 3. 必須マークのデザイン */
/* ★変更点: HTMLに既に <span class="required">必須</span> があるため、擬似要素ではなくクラスを装飾 */
.bs-mail-form-body .required {
    background-color: #cc0000;
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 3px;
    margin-left: 10px;
    vertical-align: middle;
    font-weight: normal;
    display: inline-block;
}

/* 4. 入力フォームの装飾 */
.bs-mail-form-body input[type="text"],
.bs-mail-form-body input[type="email"],
.bs-mail-form-body input[type="tel"],
.bs-mail-form-body textarea,
.bs-mail-form-body select {
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    width: 100%;
    max-width: 100%;
    font-size: 16px; /* スマホで拡大されないためのサイズ */
}

/* テキストエリアの高さ調整 */
.bs-mail-form-body textarea {
    min-height: 150px;
}

/* 認証画像（キャプチャ）周りの調整 */
.bs-mail-form-auth-captcha {
    text-align: center;
    margin-top: 30px;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 4px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.bs-mail-form-auth-captcha input[type="text"] {
    width: auto;
    padding: 8px;
    margin-left: 10px;
}

/* 5. 送信ボタンエリア */
.bs-mail-form-submit {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 60px;
}
.bs-button {
    padding: 15px 60px;
    background-color: #333;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 16px;
    transition: opacity 0.3s;
    text-decoration: none;
    display: inline-block;
    border-radius: 10px;
}
.bs-button:hover {
    opacity: 0.8;
}

/* リセットボタン等は少し控えめに（必要であれば） */
input[type="reset"].bs-button {
    background-color: #999;
    margin-right: 20px;
    border-radius: 10px;
}

.bs-mail-title-sub{
    text-align: center;
}

.bs-mail-title-sub-p{
    text-align: center;
    margin-bottom: 50px;
}

/* --- スマホ対応（レスポンシブ） --- */
@media screen and (max-width: 768px) {
    /* テーブルのセルをブロック要素にして縦積みにする */
    .bs-mail-form-body th.col-head,
    .bs-mail-form-body td.col-input {
        display: block;
        width: 100%;
        text-align: left; /* 左寄せに戻す */
        padding: 10px 0;
        border: none;
    }
    
    .bs-mail-form-body th.col-head {
        padding-bottom: 0;
        background-color: transparent;
    }
    
    .bs-mail-form-body tr {
        display: block;
        margin-bottom: 20px;
        border-bottom: 1px dashed #ccc; /* 区切り線を少し控えめに */
    }
    
    /* 必須マークの位置調整 */
    .bs-mail-form-body .required {
        float: right; /* スマホの時は右端に寄せると見やすい */
        margin-left;
    }
}

/* 注文フォーム専用スタイル */

/* 1. 注文内容の入力項目（行）だけを隠す */
#RowMessageCartData {
    display: none !important;
}

#RowMessageCartDataConfirm {
    display: none !important;
}

.normal {
    display: none !important;
}

/* 2. 送信ボタンエリアだけは表示する */
.bs-mail-form .submit,
.bs-mail-form .bs-mail-form-submit {
    display: block !important;
}

/* 3. 自作の注文内容表示エリアの装飾 */
#order-display-area {
    margin-bottom: 30px;
    background: #f9f9f9; /* 少しグレーにして背景と分ける */
    padding: 20px;
    border-radius: 8px;
    text-align: left; /* 中身は左寄せ */
}

#order-display-area h3 {
    font-size: 1.1em;
    font-weight: bold;
    margin: 0 0 10px 0;
    border-bottom: 2px solid #000;
    padding-bottom: 5px;
    text-align: center;
}

#order-display-area ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

#order-display-area li {
    list-style: none;
    padding: 8px 0;
    border-bottom: 1px solid #eee;
}

.syudou-button {
    background-color: #000000 !important; 
    color: #ffffff !important;
    border: 1px solid #000000 !important;
    padding: 10px 24px;
    border-radius: 4px;
    font-size: 16px;
    line-height: 1.5;
    transition: opacity 0.2s;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.syudou-button:hover {
    opacity: 0.7 !important;
    transition: opacity 0.2s;
}

/* 「reason」という名前がついたチェックボックスの周りのspanを縦にする */
span:has(input[name^="reason"]) {
    display: block;
    margin-bottom: 8px; /* 項目間の余白 */
}

/*理由ぶら下がり*/
#FieldMessageReason > span {
    display: block;      /* 各選択肢を縦に並べる */
    margin-bottom: 10px;  /* 選択肢ごとの隙間 */
    position: relative;
    padding-left: 25px;  /* ①チェックボックス分のスペースを確保 */
}

#FieldMessageReason input[type="checkbox"] {
    position: absolute;  /* ②チェックボックスを左端に固定 */
    left: 0;
    top: 4px;            /* 位置がズレる場合はここで微調整 */
    margin: 0;
}

#FieldMessageReason label {
    display: block;      /* ラベルをブロック要素化して改行を制御 */
    line-height: 1.6;
    cursor: pointer;
}

/*理由confirm*/
#FieldMessageReason ul {
    margin: 0 !important;
    padding: 0 !important;
    text-indent: 0 !important;
}

#FieldMessageReason li {
    list-style: none !important; /* 標準の・を消す */
    position: relative !important;
    padding-left: 1.2em !important; /* 2行目以降の開始位置 */
    margin-bottom: 10px !important; /* 理由ごとの隙間 */
    line-height: 1.6 !important;
}

#FieldMessageReason li::before {
    content: "・" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
}

.bs-mail-before-attachment,
.bs-mail-after-attachment {
    display: none !important;
}

/* =========================================================
   エラーメッセージの装飾
   ========================================================= */

/* 1. フォーム上部の「入力内容を確認して〜」という全体エラー */
#FlashMessage, 
.error-message,
.alert-message {
    color: #cc0000;      /* 濃い赤 */
    font-weight: bold;   /* 太字 */
    margin-bottom: 20px;
    list-style: none;    /* リストの点を消す */
}

/* 2. 各項目下の「必須項目です。」という個別のエラー */
.error-message {
    display: block;      /* ちゃんと1行使う */
    font-size: 0.9em;    /* 少し小さめに */
    margin-top: 5px;     /* 入力欄との隙間 */
}
