/* エントリーフォーム・お問い合わせフォーム共通スタイル */

/* フォームラッパー */
.entry-form-wrapper{max-width:1000px;margin:0 auto;padding:40px;border-radius:0;}

/* フォームテーブル */
.entry-form{width:100%;}
.form-table{width:100%;border-collapse:collapse;}
.form-table tr{border-bottom:1px solid #e8d89a;}
.form-table tr:last-child{border-bottom:none;}
.form-table th,.form-table td{padding:20px 15px;vertical-align:top;text-align:left;font-size:14px;font-weight:600;color:#791218;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif}
.form-table th{width:180px;font-size:14px;color:var(--base);white-space:nowrap;background:#fee568;vertical-align:middle;}
.form-table td{padding-left:20px;background:#fbfada;}

/* 必須バッジ */
.required-badge{display:inline-block;background:var(--base);color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;margin-left:8px;vertical-align:middle;}

/* 入力フィールド共通 */
.entry-form input[type="text"],.entry-form input[type="email"],.entry-form input[type="tel"],.entry-form select,.entry-form textarea{width:100%;padding:12px 15px;border:2px solid var(--base);border-radius:0;font-size:15px;font-family:'Noto Sans JP','Hiragino Sans','Meiryo',sans-serif;background:#fff;transition:border-color .3s ease,box-shadow .3s ease;}
.entry-form input[type="text"]:focus,.entry-form input[type="email"]:focus,.entry-form input[type="tel"]:focus,.entry-form select:focus,.entry-form textarea:focus{outline:none;border-color:var(--base);box-shadow:0 0 0 3px rgba(121,18,24,.1);}

/* セレクトボックス */
.entry-form select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23791218'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:24px;padding-right:40px;cursor:pointer;font-size:14px;font-weight:600;color:#791218;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;}

/* テキストエリア */
.entry-form textarea{min-height:150px;resize:vertical;}

/* チェックボックス */
.checkbox-group{display:flex;flex-wrap:wrap;gap:20px;border-radius:10px;}
.checkbox-item{display:flex;align-items:center;gap:8px;cursor:pointer;}
.checkbox-item input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid #791218;border-radius:5px;background:#fff;cursor:pointer;position:relative;}
.checkbox-item input[type="checkbox"]:checked{background:#791218;}
.checkbox-item input[type="checkbox"]:checked::after{content:'';position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 3px 3px 0;border-radius:2px;transform:rotate(45deg);}
.checkbox-item label{font-size:14px;color:var(--base);cursor:pointer;}

/* 住所フィールド */
.address-row{display:flex;gap:15px;align-items:center;margin-bottom:15px;}
.postal-prefix{font-size:15px;color:var(--base);}
.postal-input{width:200px!important;flex-shrink:0;}
.prefecture-select{width:150px!important;flex-shrink:0;}

/* 送信ボタン */
.form-submit{text-align:center;margin-top:40px;padding-top:20px;}
.entry-submit-btn{display:inline-block;background:var(--base);color:#fff;border:none;padding:18px 60px;font-size:16px;font-weight:700;border-radius:50px;cursor:pointer;transition:background .3s ease,transform .2s ease;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;}
.entry-submit-btn:hover{background:var(--deep-red);transform:translateY(-2px);}

/* エラー表示 */
.form-group.has-error input,.form-group.has-error textarea{border-color:#e00;background:#fff5f5;}
.form-group.has-error select{border-color:#e00;background-color:#fff5f5;}
.form-errors{max-width:800px;margin:0 auto 20px;background:#ffe5e5;border:3px solid #e00;border-radius:10px;padding:20px;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;}
.entryform-section .form-errors p,.entry-form-wrapper + .form-errors p,div.form-errors p{color:#c00!important;font-weight:700!important;margin-bottom:10px;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif!important;}
.form-errors ul{margin:0;padding-left:20px;}
.form-errors li{color:#c00;font-size:14px;line-height:1.6;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;}

/* フィールド個別エラーメッセージ */
.field-error{display:block;color:#c00;font-size:13px;margin-top:8px;font-weight:500;}

/* ===== 確認画面スタイル ===== */
.confirm-section{padding:60px 20px;background:var(--beige);}
.confirm-lead{text-align:center;font-size:16px;margin-bottom:30px;color:var(--base);}
.confirm-table{width:100%;border-collapse:collapse;}
.confirm-table tr{border-bottom:1px solid #e8d6ad;}
.confirm-table th{width:200px;padding:20px;background:#ffe567;font-size:14px;font-weight:500;color:var(--base);text-align:left;vertical-align:top;}
.confirm-table td{padding:20px;font-size:15px;color:var(--base);background:#fff;}
.confirm-buttons{display:flex;justify-content:center;gap:20px;padding:40px 20px;}
.back-btn,.submit-btn{display:inline-block;padding:16px 40px;font-size:15px;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s ease;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;border:none;}
.back-btn{background:#ddd;color:#666;}
.back-btn:hover{background:#ccc;}
.submit-btn{background:var(--base);color:#fff;}
.submit-btn:hover{background:var(--deep-red);}

/* ===== 完了画面スタイル ===== */
.complete-section{padding:0 20px 80px;background:var(--beige);}
.complete-wrapper{max-width:600px;margin:0 auto;text-align:center;padding:60px 40px;border-radius:12px;}
.complete-icon{width:80px;height:80px;margin:0 auto 30px;color:#4caf50;}
.complete-icon.error{color:#e00;}
.complete-icon svg{width:100%;height:100%;}
.complete-title{font-size:24px;font-weight:700;color:var(--base);margin-bottom:20px;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;}
.complete-title.error{color:#c00;}
.complete-text{font-size:15px;line-height:2;color:var(--base);margin-bottom:40px;}
.complete-buttons{display:flex;flex-direction:column;gap:15px;align-items:center;}
.return-btn,.home-btn{display:inline-block;padding:14px 40px;font-size:14px;font-weight:700;border-radius:50px;text-decoration:none;transition:all .3s ease;font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif;}
.return-btn{background:var(--base);color:#fff;}
.return-btn:hover{background:var(--deep-red);}
.home-btn{background:transparent;color:var(--base);border:2px solid var(--base);}
.home-btn:hover{background:var(--base);color:#fff;}

/* ===== 確認・完了画面ヒーロー色 ===== */
#form-confirm.second-layer .hero::after,
#form-complete.second-layer .hero::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 100' preserveAspectRatio='none'%3E%3Cpath d='M0,0 Q720,100 1440,0 L1440,100 L0,100 Z' fill='%23fbf5e3'/%3E%3C/svg%3E") center bottom/100% 100% no-repeat;}

/* ===== エントリーフォームセクション ===== */
.entryform-section{padding:60px 20px 80px;background:var(--beige);}
.entryform-section .inner{max-width:900px;margin:0 auto;}

/* ===== レスポンシブ：タブレット ===== */
@media screen and (min-width: 768px) and (max-width: 1023px) {
 .entry-form-wrapper{padding:30px}.form-table th{width:150px}.address-row{flex-wrap:wrap}
}

/* ===== レスポンシブ：スマホ ===== */
@media (max-width: 767px) {
 .entry-form-wrapper{padding:20px 15px}
 .form-table,.form-table tbody,.form-table tr,.form-table th,.form-table td{display:block;width:100%}
 .form-table tr{padding:0;border-bottom:none;margin-bottom:0}
 .form-table tr:last-child{margin-bottom:0}
 .form-table th{padding:12px 20px;width:100%;border-bottom:none}
 .form-table td{padding:12px 30px;border-bottom:1px solid #e8d89a}
 .form-table tr:last-child td{border-bottom:none}
 .checkbox-group{flex-direction:column;gap:12px}
 .address-row{flex-direction:column;align-items:flex-start;gap:10px}
 .address-row>*{width:100%!important}
 .postal-input{width:100%!important}
 .prefecture-select{width:100%!important}
 .entry-submit-btn{width:100%;padding:16px 20px}
 .entry-form input[type="text"], .entry-form input[type="email"], .entry-form input[type="tel"], .entry-form select, .entry-form textarea
 {
    padding: 10px 15px;
    border: 1px solid var(--base);
    font-size: 14px;
}
.checkbox-item input[type="checkbox"] {border: 1px solid var(--base);}
 .entry-form select {
   font-size: 14px !important;
   -webkit-appearance: none;
   appearance: none;
 }
 .prefecture-select {
   font-size: 14px !important;
 }

 /* 確認画面 */
 .confirm-section{padding:40px 15px}
 .confirm-table,.confirm-table tbody,.confirm-table tr,.confirm-table th,.confirm-table td{display:block;width:100%}
 .confirm-table th{width:100%;padding:15px}
 .confirm-table td{padding:15px}
 .confirm-buttons{flex-direction:column;padding:30px 15px}
 .back-btn,.submit-btn{width:100%}

/* 完了画面 */
 .complete-section{padding:60px 15px}
 .complete-wrapper{padding:40px 20px}
 .complete-title{font-size:20px}
 .complete-text{font-size:14px}
 .return-btn,.home-btn{width:100%;text-align:center}
}
