@charset "UTF-8";

/* ===== リセット ===== */
* { margin: 0; padding: 0; box-sizing: border-box; }
img { display: block; max-width: 100%; height: auto; }
body {  font-family: "Kiwi Maru", serif;color: #2b2b2b; line-height: 1.8; }

/* ===== 背景（画面全面に固定） ===== */
.bg { position: relative; min-height: 100vh; background: #9c1a23; }
.bg__img { position: fixed; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.center{text-align:center;}
.m-0auto{margin:0 auto;}

/* ===== 内側ラッパー（木札＋ロゴを画面中央に） ===== */
.inner { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap:200px; width: 100%; height: 100vh; margin: 0 auto; }

/* ===== 木札（背景画像・中身だけスクロール） ===== */
.board { --board-h: min(100vh, 940px); flex-shrink: 0; height: var(--board-h); width: calc(var(--board-h) * 0.3426); background: url("img/board.png") center / 100% 100% no-repeat; border-radius: 6px; box-shadow: 6px 10px 24px rgba(0, 0, 0, 0.35); }
.board__content { height: 100%; padding:22% 5% 15% 5%; overflow: hidden; }
.board__scroll { height: 100%; overflow-y: auto; -ms-overflow-style: none; scrollbar-width: none; }
.board__scroll::-webkit-scrollbar { display: none; }

/* ===== 御祝判子 ===== */
.oiwai { width: 110px; margin: 0 auto 30px; }

/* ===== ブロック ===== */
.block { margin-bottom: 40px; }
.block:last-child { margin-bottom: 0; }
.block__title { font-size: 22px; font-weight: 600; letter-spacing: 0.08em; margin-bottom: 16px; }
.block__text { font-size: 13px; line-height: 1.9;margin-bottom: 16px; }
.block__text:last-child { margin-bottom: 0; }

/* ===== フォーム ===== */
.form { margin-top: 4px; }
.form__row { margin-bottom: 16px; }
.form__label { display: block; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; margin-bottom: 6px; }
.form__input { width: 100%; padding: 9px 10px; font-family: inherit; font-size: 13px; color: #2b2b2b; background: rgba(255, 255, 255, 0.7); border: 1px solid #a98c63; border-radius: 2px; }
.form__input:focus { outline: none; border-color: #9c1a23; background: rgba(255, 255, 255, 0.85); }
.form__textarea { resize: vertical; min-height: 110px; line-height: 1.7; }
.form__submit { margin-top: 24px; text-align: center; }

/* メールフォーム連携：必須/任意ラベル・エラー表示 */
.form__row dt i { font-style: normal; }
.form__row dt span.required,
.form__row dt span.optional { display: inline-block; margin-left: 8px; font-size: 11px; line-height: 1; color: #fff; padding: 3px 8px; border-radius: 3px; vertical-align: middle; }
.form__row dt span.required { background: #9c1a23; }
.form__row dt span.optional { background: #8a7355; }
.form__row dd span.error_blank,
.form__row dd span.error_format,
.form__row dd span.error_match { display: block; color: #9c1a23; font-size: 12px; margin-top: 5px; }
.form__button { display: inline-block; padding: 12px 48px; font-family: inherit; font-size: 15px; font-weight: 600; letter-spacing: 0.1em; color: #fff; background: #9c1a23; border: none; border-radius: 2px; cursor: pointer; transition: background 0.2s; }
.form__button:hover { background: #821016; }

/* ===== ロゴ（画面右に固定） ===== */
.logo { flex-shrink: 0; width: 38%; max-width: 520px; }

/* ===== スマホ ===== */
@media screen and (max-width: 768px) {
  .inner { flex-direction: column; justify-content: center; height: 100vh; height: 100dvh; gap: 0; }
  .board { width: 80%; max-width: 420px; height: 90vh; height: 90dvh; margin: 0 auto;background-size: cover;background-position: top; }
  .board__content { height: 100%; padding: 20% 5% 10% 5%; overflow: hidden; }
  .board__scroll { height: 100%; overflow-y: auto; }
  .oiwai { width: 130px; margin-bottom: 36px; }
  .block__title { font-size: 26px; }
  .block__text { font-size: 14px; }
  .logo { display: none; }
}
