@charset "UTF-8";
/* ============================================================
   LPフォームページ用スタイル（化石発見クルーズ2026）
   設置場所: /wp-content/themes/go_goshoura_tours/lp-form.css
   読み込み: functions.php で is_page_template('page-lpform.php') 条件
   トーン: LP（d_cruise_2026）準拠 — Noto Sans JP / #1a1a1a / brand #00a48a
   ============================================================ */

/* --- レイアウト：1カラム化・幅 --- */
.page-template-page-lpform #secondary { display: none; }
.page-template-page-lpform #primary { width: 100%; float: none; margin: 0 auto; }
.page-template-page-lpform .site-main { max-width: 640px; margin: 0 auto; padding: 24px 20px 80px; }
.page-template-page-lpform .entry-content,
.page-template-page-lpform .lp-form { font-family: 'Noto Sans JP', sans-serif; color: #1a1a1a; font-feature-settings: "palt"; }

/* --- 見出し・本文（両端揃えが基本） --- */
.page-template-page-lpform .entry-header .entry-title,
.page-template-page-lpform h1.entry-title { text-align: center; font-size: 22px; font-weight: 700; letter-spacing: .1em; color: #1a1a1a; }
.page-template-page-lpform .entry-content p { font-size: 13.5px; line-height: 1.75; letter-spacing: .03em; text-align: justify; line-break: strict; }
.page-template-page-lpform .entry-content h2 { font-size: 18px; font-weight: 700; margin: 2.2em 0 .8em; letter-spacing: .06em; border-left: 4px solid #00a48a; padding-left: 10px; }

/* --- 商品条件テーブル --- */
.page-template-page-lpform .lpf-table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.6; margin: 1em 0 2em; }
.page-template-page-lpform .lpf-table th,
.page-template-page-lpform .lpf-table td { border: none; border-bottom: 1px solid #ddd; padding: 10px 8px; text-align: left; vertical-align: top; background: none; }
.page-template-page-lpform .lpf-table th { width: 8.5em; font-weight: 700; white-space: nowrap; }

/* --- フォーム本体 --- */
.lp-form .lpf-lead { background: #f8f5ee; border-radius: 6px; padding: 14px 16px; font-size: 13px; line-height: 1.7; text-align: justify; line-break: strict; }
.lp-form .lpf-item { margin-top: 34px; }
.lp-form .lpf-label { display: block; font-size: 13.5px; font-weight: 700; letter-spacing: .04em; margin-bottom: 5px; }
.lp-form .lpf-req { display: inline-block; margin-left: 8px; padding: 1px 7px 2px; background: #c0392b; color: #fff; font-size: 10.5px; font-weight: 700; border-radius: 3px; vertical-align: 1px; letter-spacing: .08em; }
.lp-form .lpf-note { display: block; margin-top: 6px; font-size: 11.5px; color: #666; line-height: 1.6; }

/* 入力欄（Storefrontのスタイルを上書き） */
.lp-form input[type="text"],
.lp-form input[type="tel"],
.lp-form input[type="email"],
.lp-form select,
.lp-form textarea {
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #c9c9c9;
	border-radius: 6px;
	padding: 12px 14px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 15px;
	color: #1a1a1a;
	box-shadow: none;
	line-height: 1.4;
}
.lp-form select { height: auto; }
.lp-form textarea { height: 120px; }
.lp-form input:focus,
.lp-form select:focus,
.lp-form textarea:focus { outline: none; border-color: #00a48a; box-shadow: 0 0 0 2px rgba(0,164,138,.15); }

/* ラジオ・チェックボックス */
.lp-form .wpcf7-radio { display: flex; flex-direction: column; gap: 10px; }
.lp-form .wpcf7-radio .wpcf7-list-item { margin: 0; }
.lp-form .wpcf7-radio label,
.lp-form .wpcf7-acceptance label { display: flex; align-items: flex-start; gap: 9px; font-size: 14px; line-height: 1.6; cursor: pointer; }
.lp-form input[type="radio"],
.lp-form input[type="checkbox"] { width: 18px; height: 18px; margin-top: 3px; flex: none; accent-color: #00a48a; }

/* 未就学児サブ設問 */
.lp-form .lpf-preschool { background: #fafafa; border: 1px solid #e5e5e5; border-radius: 6px; padding: 14px 16px 16px; }
.lp-form .lpf-sub { display: flex; align-items: center; gap: 14px; margin-top: 10px; }
.lp-form .lpf-sublabel { font-size: 13px; font-weight: 700; min-width: 7em; }
.lp-form .lpf-sub .wpcf7-radio { flex-direction: row; gap: 18px; }

/* 同意ブロック */
.lp-form .lpf-agree { background: #f8f5ee; border-radius: 6px; padding: 16px; }
.lp-form .lpf-agree .wpcf7-form-control-wrap { display: block; }
.lp-form .lpf-agree .wpcf7-form-control-wrap + .wpcf7-form-control-wrap { margin-top: 10px; }
.lp-form .lpf-agree a { color: #00a48a; text-decoration: underline; }
.lp-form .lpf-agree .wpcf7-acceptance label { font-size: 13px; }

/* 送信ボタン（LPのBOOKINGトーン） */
.lp-form .lpf-submit { margin-top: 32px; text-align: center; }
.lp-form input[type="submit"] {
	display: inline-block;
	width: 100%;
	max-width: 420px;
	background: #00a48a;
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 16px 20px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .08em;
	cursor: pointer;
	transition: .2s;
}
.lp-form input[type="submit"]:hover { background: #008c76; }
.lp-form .wpcf7-spinner { display: block; margin: 8px auto 0; }

/* 2カラム項目（人数など・SPでは縦積み） */
@media (min-width: 600px) {
	.lp-form .lpf-item--half { display: inline-block; width: calc(50% - 10px); vertical-align: top; }
	.lp-form .lpf-item--half + .lpf-item--half { margin-left: 16px; }
}

/* CF7バリデーション表示の調整 */
.lp-form .wpcf7-not-valid-tip { font-size: 12px; margin-top: 5px; color: #c0392b; }
.page-template-page-lpform .wpcf7 form .wpcf7-response-output { border-radius: 6px; font-size: 13px; margin: 24px 0 0; padding: 12px 16px; }

/* ============================================================
   v1.1 補正（2026-07-28 実機確認による）
   - テーマの全面背景写真（back.jpg）を無効化して白背景に
   - テーブルセルの白帯ちぐはぐ解消
   - タイトルまわりの余白調整
   ============================================================ */
body.page-template-page-lpform { background: #fff !important; }
.page-template-page-lpform .site-content,
.page-template-page-lpform #content { background: #fff; }
.page-template-page-lpform .lpf-table th,
.page-template-page-lpform .lpf-table td { background: transparent !important; }
.page-template-page-lpform .site-main { padding-top: 12px; }
.page-template-page-lpform .entry-header { margin: 20px 0 26px; }
.page-template-page-lpform .entry-header .entry-title { margin: 0; }

/* ============================================================
   v1.2（2026-07-28 追加指示）
   - 取引条件の概要をアコーディオン化
   - ヘッダー1行化（ロゴ左・ハンバーガー右・検索/カート非表示）
   - タイトル2行対応
   ============================================================ */

/* --- タイトル（スペース位置で改行・中央） --- */
.page-template-page-lpform .entry-title { line-height: 1.4; }

/* --- 取引条件アコーディオン --- */
.lpf-acc { border: 1px solid #ddd; border-radius: 8px; margin: 1.2em 0 2em; background: #fff; }
.lpf-acc summary { cursor: pointer; padding: 15px 44px 15px 16px; font-size: 14px; font-weight: 700; letter-spacing: .04em; position: relative; list-style: none; }
.lpf-acc summary::-webkit-details-marker { display: none; }
.lpf-acc summary::after { content: "＋"; position: absolute; right: 16px; top: 50%; transform: translateY(-50%); font-weight: 400; font-size: 18px; color: #00a48a; }
.lpf-acc[open] summary::after { content: "−"; }
.lpf-acc .lpf-acc-note { display: block; font-size: 11px; font-weight: 400; color: #c0392b; margin-top: 3px; }
.lpf-acc .lpf-acc-body { padding: 0 16px 14px; }
.lpf-acc .lpf-table { margin: 0; }

/* --- ヘッダー1行化 --- */
.page-template-page-lpform .site-header { padding: 10px 0 !important; position: relative; }
.page-template-page-lpform .site-branding { margin: 0 !important; float: none !important; }
.page-template-page-lpform .site-branding img.custom-logo { max-height: 42px; width: auto; margin: 0; }
.page-template-page-lpform .site-search,
.page-template-page-lpform .site-header-cart,
.page-template-page-lpform .storefront-handheld-footer-bar { display: none !important; }
.page-template-page-lpform .storefront-primary-navigation { position: absolute; top: 50%; right: 16px; transform: translateY(-50%); margin: 0; float: none !important; width: auto !important; background: none; }
.page-template-page-lpform .storefront-primary-navigation > .col-full { padding: 0; margin: 0; }

/* ハンバーガーボタン（全幅で常時表示・アイコンのみ） */
.page-template-page-lpform button.menu-toggle {
	display: inline-block !important;
	position: relative;
	width: 46px; height: 42px;
	font-size: 0; line-height: 0;
	background: none !important; border: none; box-shadow: none; padding: 0; margin: 0;
	cursor: pointer;
}
.page-template-page-lpform button.menu-toggle::before {
	content: ""; position: absolute; left: 11px; right: 11px; top: 13px; height: 2px;
	background: #1a1a1a; box-shadow: 0 7px 0 #1a1a1a, 0 14px 0 #1a1a1a;
}
.page-template-page-lpform button.menu-toggle::after { display: none; }
.page-template-page-lpform button.menu-toggle span { display: none; }

/* メニュー本体：閉時非表示・開時ドロップダウン */
.page-template-page-lpform .main-navigation div.menu,
.page-template-page-lpform .main-navigation ul.menu { display: none !important; }
.page-template-page-lpform .main-navigation.toggled div.menu,
.page-template-page-lpform .main-navigation.toggled ul.menu {
	display: block !important;
	position: absolute; right: 0; top: calc(100% + 6px);
	background: #fff; border: 1px solid #e2e2e2; border-radius: 8px;
	min-width: 260px; z-index: 100; box-shadow: 0 6px 18px rgba(0,0,0,.08); padding: 6px 0; margin: 0;
}
.page-template-page-lpform .main-navigation.toggled .menu li { list-style: none; margin: 0; display: block; }
.page-template-page-lpform .main-navigation.toggled .menu a { display: block; padding: 12px 18px; font-size: 14px; color: #1a1a1a; text-decoration: none; }
.page-template-page-lpform .main-navigation.toggled .menu a:hover { background: #f4f4f4; }

/* ============================================================
   v1.2.1 補正（2026-07-28 PC実機確認）
   - セカンダリーメニュー位置の露出を非表示（ヘッダー中央の「お問い合わせ」）
     ※恒久対応は 外観→メニュー→メニューの位置で「セカンダリー」のチェックを外す
   - ハンバーガー開時のアイコンを✕に
   ============================================================ */
.page-template-page-lpform .secondary-navigation { display: none !important; }

.page-template-page-lpform .main-navigation.toggled button.menu-toggle::before {
	box-shadow: none;
	top: 20px;
	transform: rotate(45deg);
}
.page-template-page-lpform .main-navigation.toggled button.menu-toggle::after {
	display: block;
	content: "";
	position: absolute; left: 11px; right: 11px; top: 20px; height: 2px;
	background: #1a1a1a;
	transform: rotate(-45deg);
}

/* ============================================================
   v1.2.2 補正（2026-07-28 実機計測に基づく最終調整・検証済み）
   - ロゴの画面端張り付き解消（ヘッダー左右16px）
   - パンくず（storefront-breadcrumb）非表示 → ヘッダー〜タイトル間26pxに
   - CF7自動挿入の<br>による「ラベルと回答枠の乖離」解消（間隔5px）
   - フッターの「Built with WooCommerce」行を非表示（©表記は残す）
   ============================================================ */
.page-template-page-lpform .site-header { padding: 10px 16px !important; margin-bottom: 0 !important; }
.page-template-page-lpform .storefront-breadcrumb { display: none !important; }
.page-template-page-lpform .site-main { padding-top: 10px; }
.page-template-page-lpform .entry-header { margin: 16px 0 24px; }
.page-template-page-lpform .entry-title { padding-top: 0 !important; }

.lp-form .lpf-item br { display: none; }
.lp-form .lpf-item .wpcf7-form-control-wrap { display: block; margin-top: 4px; }
.lp-form .lpf-sub .wpcf7-form-control-wrap { margin-top: 0; }

.page-template-page-lpform .site-info br,
.page-template-page-lpform .site-info a[href*="woocommerce.com"] { display: none !important; }
