/* ===== リセット・基本 ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 16px;
  color: #333;
  background: #f0f4f8;
  line-height: 1.7;
}
a { color: #1a6dbf; text-decoration: none; }
a:hover { text-decoration: underline; }
 /* ===== サイト全体 ===== */
.site { background: #f0f4f8; min-height: 100vh; }
main { padding-bottom: 60px; }
 /* ===== ページトップ ===== */
#concept { background: #f0f4f8; padding: 32px 16px 8px; text-align: center; }
.conceptTitle h1 {
  font-size: 22px;
  font-weight: 700;
  color: #1a6dbf;
  letter-spacing: 0.1em;
}
.conceptTitle h1 span {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: #1a6dbf;
  letter-spacing: 0.2em;
  margin-top: 2px;
}
 /* ===== コンテナ ===== */
.container800 {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  padding: 32px 40px 48px;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
 /* ===== ページ見出し ===== */
.pageExplanation { margin-bottom: 24px; text-align: center; }
.pageExplanation h1 {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  border-bottom: none;
}
 /* ===== セクション共通 ===== */
.section { margin-bottom: 24px; }
 /* ===== プライバシーボックス ===== */
.box-privacy {
  background: #eaf3fb;
  border-left: 4px solid #1a6dbf;
  padding: 18px 20px;
  border-radius: 2px;
  margin-bottom: 24px;
}
.box-privacy h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1a6dbf;
  margin-bottom: 8px;
}
.box-privacy p { font-size: 15px; color: #444; margin-bottom: 6px; }
.box-privacy label { font-size: 16px; margin-right: 20px; cursor: pointer; }
 /* ===== メーカー選択 ===== */
.box-maker_select { margin-bottom: 24px; }
.box-maker_select > h3 {
  font-size: 15px;
  font-weight: 700;
  color: #333;
  margin-bottom: 12px;
}
.box-maker_select > h3 span {
  display: inline-block;
  background: #d9002c;
  color: #fff;
  font-size: 11px;
  padding: 1px 8px;
  border-radius: 2px;
  margin-left: 8px;
  vertical-align: middle;
}
.maker_select02 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
}
.maker_select02 label { font-size: 15px; cursor: pointer; display: flex; align-items: center; gap: 6px; }
 /* ===== リード文 ===== */
.lead-txt { margin-bottom: 20px; font-size: 15px; color: #444; border-top: 1px solid #dde3ea; padding-top: 20px; }
.note-mark { color: #d9002c; font-weight: 700; }
 /* ===== フォームテーブル ===== */
.form_table {
  width: 100%;
  border-collapse: collapse;
}
.form_table tr { border-bottom: 1px solid #dde3ea; }
.form_table th {
  background: #f7f9fb;
  padding: 14px 16px;
  width: 28%;
  font-size: 15px;
  font-weight: 600;
  color: #444;
  vertical-align: top;
  text-align: left;
  border-right: 1px solid #dde3ea;
}
.form_table td {
  padding: 12px 16px;
  font-size: 15px;
  vertical-align: top;
}
 /* ===== インプット共通 ===== */
input[type="text"],
input[type="email"],
select,
textarea {
  border: 1px solid #c8d0d8;
  border-radius: 3px;
  padding: 6px 10px;
  font-size: 15px;
  color: #333;
  background: #fff;
  transition: border-color 0.2s;
  font-family: inherit;
}
input[type="text"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #1a6dbf;
  box-shadow: 0 0 0 2px rgba(26,109,191,0.12);
}
 /* ===== 幅ユーティリティ ===== */
.span10p { width: 10%; min-width: 50px; }
.span25p { width: 25%; }
.span30p { display: inline-block; width: 30px; font-size: 14px; color: #666; }
.span35p { display: inline-flex; align-items: center; gap: 6px; margin-right: 12px; }
.span50p { width: 48%; }
.span70p { width: 70%; }
.span100p { width: 100%; }
 /* ===== form_col / form_row ===== */
.form_col { display: inline-flex; align-items: center; margin-right: 12px; margin-bottom: 6px; }
.form_row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 8px; }
.mb-m { margin-bottom: 14px; }
 /* ===== チェック・ラジオ ===== */
input[type="checkbox"],
input[type="radio"] {
  accent-color: #1a6dbf;
  width: 15px;
  height: 15px;
  cursor: pointer;
}
.form_table td label { cursor: pointer; font-size: 15px; }
 /* ===== 住所検索ボタン ===== */
input[type="button"].btn {
  background: #1a6dbf;
  color: #fff;
  border: none;
  border-radius: 3px;
  padding: 6px 14px;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.2s;
}
input[type="button"].btn:hover { background: #155a9e; }
 /* ===== 郵便番号行 ===== */
.zip-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  row-gap: 10px;
}
.zip-row .btn {
  white-space: nowrap;
}
 /* ===== 「知りましたか」セクション内見出し ===== */
h3.headline {
  font-size: 15px;
  font-weight: 700;
  color: #1a6dbf;
  border-bottom: 2px solid #1a6dbf;
  padding-bottom: 4px;
  margin: 16px 0 10px;
}
h4.headline {
  font-size: 15px;
  font-weight: 700;
  color: #444;
  border-left: 3px solid #1a6dbf;
  padding-left: 8px;
  margin: 10px 0 8px;
}
 /* ===== 「知りましたか」チェックリスト ===== */
.check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 12px;
  margin-bottom: 4px;
}
.check-grid .form_col {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
}
.check-grid-single {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 4px;
}
.check-grid-single .form_col {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 6px;
}
 /* ===== インラインコメント付き入力 ===== */
.inp_comment { display: inline-flex; align-items: center; gap: 8px; }
.inp_comment input[type="text"] { width: 130px; }
 @media (max-width: 480px) {
  .container800 { padding: 20px 16px 36px; }
   /* 郵便番号：入力とボタンを縦並びに */
  .zip-row { flex-direction: column; align-items: flex-start; }
  .zip-row .zip-inputs { display: flex; align-items: center; gap: 6px; }
   /* テーブルをブロック表示に */
  .form_table thead { display: none; }
  .form_table tr { display: block; border-bottom: 1px solid #dde3ea; }
  .form_table th,
  .form_table td {
    display: block;
    width: 100%;
    border-right: none;
    padding: 10px 12px;
  }
  .form_table th { background: #f0f4f8; padding-bottom: 4px; }
  .form_table td { padding-top: 6px; }
   /* 「知りましたか」チェックグリッドを1列に */
  .check-grid { grid-template-columns: 1fr; }
   .inp_comment input[type="text"] { width: 100px; }
   .span70p { width: 100%; }
  .span50p { width: 100%; }
}
/* ===== お勤め先 ===== */
.workplace-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.workplace-label { min-width: 3em; }
 /* ===== 説明テキスト ===== */
.description-form_title { font-size: 14px; color: #888; margin-bottom: 4px; }
 /* ===== f-point-r ===== */
.f-point-r { color: #d9002c; font-weight: 700; }
 /* ===== 送信ボタンエリア ===== */
.btn_area-form { text-align: center; margin-top: 36px; }
.btn-submit {
  background: #1a6dbf;
  color: #fff !important;
  border: none;
  border-radius: 4px;
  padding: 14px 60px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: 0.1em;
  transition: background 0.2s;
}
.btn-submit:hover { background: #155a9e; }

/* ===== privacy.html 専用 ===== */

/* セクション見出し h2 */
.page-wrapper h2 {
  font-size: 17px;
  font-weight: 700;
  color: #333;
  padding-bottom: 8px;
  border-bottom: 1px solid #dde3ea;
  margin-top: 48px;
  margin-bottom: 20px;
}
.page-wrapper h2:first-of-type { margin-top: 0; }

.page-wrapper {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  padding: 32px 40px 48px;
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}
.page-title {
  text-align: center;
  margin-bottom: 32px;
}
.page-title h1 {
  font-size: 22px;
  font-weight: 700;
  color: #1a6dbf;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}
.page-title p {
  font-size: 15px;
  line-height: 2;
  text-align: left;
  color: #333;
}
.intro-box {
  padding: 10px 14px;
  font-size: 15px;
  margin-top: 8px;
  line-height: 1.8;
}
.num-list {
  list-style: none;
  margin-bottom: 8px;
}
.num-list li {
  font-size: 15px;
  margin-bottom: 4px;
}
.sub-label {
  font-size: 15px;
  font-weight: 700;
  margin: 32px 0 16px;
}
/* h2直後のsub-labelは上マージン不要 */
.page-wrapper h2 + p.sub-label,
.page-wrapper h2 + .sub-label {
  margin-top: 0;
}
.bullet-list {
  list-style: none;
  margin-bottom: 24px;
  padding-left: 4px;
}
.bullet-list li {
  font-size: 15px;
  padding-left: 14px;
  position: relative;
  margin-bottom: 3px;
  line-height: 1.7;
}
.bullet-list li::before {
  content: "●";
  position: absolute;
  left: 0;
  color: #333;
  font-size: 10px;
  top: 3px;
}
.maker-link-box {
  padding: 10px 14px;
  margin: 8px 0 20px;
  font-size: 15px;
  line-height: 2;
}
.maker-link-box .maker-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 1px;
}
.maker-link-box .maker-row::before {
  content: "●";
  font-size: 10px;
  flex-shrink: 0;
  margin-top: 2px;
}
.maker-link-box a {
  color: #333;
  text-decoration: none;
  word-break: break-all;
}
.maker-link-box a:hover { color: #1a6dbf; text-decoration: underline; }
.note-small {
  font-size: 14px;
  color: #666;
  margin-top: 4px;
}
.small-note {
  font-size: 14px;
  color: #666;
  margin-top: 6px;
  line-height: 1.7;
}
.email-box {
  display: inline-block;
  padding: 5px 14px;
  font-size: 15px;
  margin-top: 6px;
}
.email-box a { color: #333; text-decoration: none; }
.email-box a:hover { color: #1a6dbf; text-decoration: underline; }
.manager-info {
  font-size: 15px;
  line-height: 1.9;
  margin-top: 8px;
}
@media (max-width: 480px) {
  .page-wrapper { padding: 20px 16px 36px; }
  .maker-link-box { padding: 8px 0; }
}

.btn-back {
  background: #6b7c93;
  color: #fff !important;
  border: none;
  border-radius: 4px;
  padding: 14px 60px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  letter-spacing: 0.1em;
  transition: background 0.2s;
}
.btn-back:hover { background: #556070; }