/* 御所浦サンセット・ナイトクルージング モニターツアー 2026 募集LP ── 差分CSS
   2026-10-05 第4回：見た目の土台は予約ページ「恐竜の島 化石発見クルーズ！」のテーマCSSを同じURLで読む
   （https://nohalab.co.jp/booking/d_cruise_2026/css/ animate.css → slick.css → common.css → index.css → lp2026.css）。
   マークアップも同じクラス（#container／.outlead／.mainbox／.sliderrr／.lead／.dino／.btn_omousikomi.btn2026／.divide_go／
   .parabox_maru＋.num／.pic_txt／.addbox.add2026／.qa2026／#gosho_about／.inq2026／.foot2026）。
   このファイルに残すのは：テキスト化した部分（H1・見出しブロック・応募ボタン）、募集LP固有の部品
   （集合と解散の時刻表・縦タイムライン・注意事項の開閉・応募フォーム・スマホ固定CTA・受付終了表示）と、
   予約ページCSS（common.css のリセット等）がそれらを崩す箇所の上書きだけ。
   2026-10-07：文字サイズ・字間・行間・余白は予約ページの実測値に合わせた（本文16pxの上書きは撤去。
   野原指示「元サイトの方が品が良いので、デザイン・フォントサイズを継承」）。 */

:root {
	--gs-green: #00a48a;
	--gs-green-dark: #008a74;
	--gs-green-pale: #e9f6f3;
	--gs-ink: #1a1a1a;
	--gs-ink-2: #231815;
	--gs-ink-sub: #555;
	--gs-beige: #f8f5ee;
	--gs-card: #F9F8F4;
	--gs-card-line: #B0AFA8;
	--gs-rule: #c9c9c9;
	--gs-fixed-h: 100px; /* 固定CTAバーの高さ */
}

/* ---- base（common.css のリセット：outline:0／font-weight:normal／ul の list-style:none 等への対処） ---- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.gs-page { font-feature-settings: "palt"; overflow-wrap: anywhere; }
.gs-page :focus-visible { outline: 3px solid var(--gs-green); outline-offset: 3px; }
.gs-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; padding: 12px 16px; color: var(--gs-ink); }
.gs-skip:focus { left: 8px; top: 8px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.gs-nowrap { white-space: nowrap; }
@media (min-width: 600px) { .gs-br-sp { display: none; } }
.is-placeholder { outline: none; }

/* 日本語の段落：両端揃え＋厳格な禁則（予約ページで指定済みの .pic_txt／.add2026／.qa2026／.gosho_lead 以外） */
.gs-titleblock__text, .gs-outlead__text, .gs-timeline__text, .gs-timeline__sub, .gs-photo-note, .gs-note-box p,
.gs-form__privacy, .gs-fs__desc, .gs-note, .gs-consent li, .gs-lead__text, .gs-timeline-note { text-align: justify; line-break: strict; }

/* 区切り線（img.divide_go）：width/height 属性（322×16）の高さが残ると幅86%に伸ばしても高さ16pxのまま潰れるので、縦横比どおりに */
.divide_go { height: auto; }
/* 応募ボタンの hover で区切り線が横に揺れる（lp2026.css の .cta2026:has(a[data-cta]:hover) + .divide_go → index.css の @keyframes slide）。動きを減らす設定では止める */
@media (prefers-reduced-motion: reduce) { .divide_go { animation: none !important; } }

/* ---- 左パネル（.outlead .inner の outlead.svg の位置：ロゴ・シリーズ名・キャッチ・短い本文） ---- */
/* 予約ページ outlead.svg（幅380px）の実測：ロゴ幅86px／キャッチ 22px・行送り41px／本文 16px・行送り29.4px。
   画像の下 20px ＋ ボタンの margin-top 30px（.m-20）＝ボタンまで 50px */
.gs-outlead { margin-bottom: 50px; color: var(--gs-ink-2); }
.gs-outlead__logo { display: block; width: 86px; height: auto; }
.gs-outlead__series { margin-top: 22px; font-size: 13px; line-height: 1.7; letter-spacing: .06em; }
.gs-outlead__catch { margin-top: 14px; font-size: 22px; font-weight: 700; line-height: 41px; letter-spacing: .04em; }
.gs-outlead__text { margin-top: 20px; font-size: 16px; font-weight: 300; line-height: 1.84; letter-spacing: .08em; color: var(--gs-ink-2); }
#container .outlead .cta2026 { margin-top: 0; }

/* ---- header（予約ページの h1：Go! ロゴ＋タイトル画像の位置に、ロゴ＋シリーズ名テキスト）
   2026-10-08 野原指示：シリーズ名をロゴから 18px 離し、15px→17px（ロゴの大きさは据え置き。375px で1行） ---- */
.gs-h1 { display: flex; align-items: center; margin: 10px 0 8px 13px; font-size: inherit; letter-spacing: 0; }
.gs-h1 a { display: inline-flex; align-items: center; width: 10%; min-width: 40px; min-height: 44px; }
.gs-h1 img { width: 100%; height: auto; }
.gs-h1__series { margin-left: 18px; font-size: 17px; font-weight: 700; font-style: italic; line-height: 1.4; letter-spacing: .04em; color: var(--gs-ink-2); }

/* ヒーロー .sliderrr（予約ページと同じ slick のフェード＋ゆっくりズーム）。枠は予約ページの写真と同じ 744:595 */
.sliderrr li picture { display: block; }
.sliderrr li img, .sliderrr .slick-slide img { width: 100%; height: auto; aspect-ratio: 744 / 595; object-fit: cover; }
.sliderrr li:first-child img { object-position: 62% 50%; }
.sliderrr:not(.slick-initialized) li + li { display: none; }
.sliderrr .slick-slide { overflow: hidden; }
.sliderrr .slick-slide img { transform-origin: center center; will-change: transform; }
@keyframes gs-slow-zoom { from { transform: scale(1); } to { transform: scale(1.12); } }
.sliderrr .slide-animation img { animation: gs-slow-zoom 4000ms linear forwards; }
@media (prefers-reduced-motion: reduce) { .sliderrr .slide-animation img { animation: none; } }

/* ---- リード（.lead の位置に H1 テキスト。予約ページは lead.svg） ----
   枠は index.css の .lead（幅80%・左7%）のまま。予約ページの lead.svg は .lead の幅に合わせて拡縮するので、
   文字も同じ比率で：キャッチ＝.lead 幅の7%（375px幅で21px／PC 25.2px）・行送り1.75、
   本文＝.lead 幅の4.67%（375px幅で14px／PC 16.8px）・行送り2。.lead の幅は 750px 以下 80vw、751px 以上 360px */
/* 2026-10-08 野原指示：左右対称に（予約ページの .lead は幅80%・左7%で右が13%空く）。上の余白 7% は index.css のまま */
.lead.gs-lead { width: 86%; margin-left: auto; margin-right: auto; }
.gs-lead__catch { margin: 0; font-size: 5.6vw; font-weight: 700; line-height: 1.75; letter-spacing: .02em; color: var(--gs-ink-2); }
.gs-lead__text { margin-top: 4vw; font-size: 3.73vw; font-weight: 300; line-height: 2; letter-spacing: .02em; color: var(--gs-ink-2); }
.gs-lead__text + .gs-lead__text { margin-top: 0; }
@media (min-width: 751px) {
	.gs-lead__catch { font-size: 25.2px; }
	.gs-lead__text { margin-top: 18px; font-size: 16.8px; }
}

/* ---- 応募ボタン（予約ページ btn_autumn.svg ＋ btn_autumn_back.svg の寸法 324.73×60.12 を再現：白地・黒の細枠・5°の斜め・
       下線＋右端の矢印・緑の影。位置と hover は index.css／lp2026.css の .btn_omousikomi .btn_booking(_back) がそのまま効く） ---- */
.btn_omousikomi.btn2026 > a, .btn_omousikomi.btn2026 > span { display: block; position: relative; color: var(--gs-ink-2); text-decoration: none; }
.btn2026 .btn_booking {
	display: flex; align-items: center; aspect-ratio: 324.73 / 60.12; min-height: 52px;
	padding: 0 7% 0 7.5%; box-sizing: border-box; isolation: isolate;
}
.btn2026 .btn_booking::before { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; border: 1px solid #000; transform: skewX(-5deg); }
.btn2026 .btn_booking_back { display: block; height: 100%; background: var(--gs-green); transform: skewX(-5deg); }
.gs-btn__label {
	position: relative; display: block; width: 100%; padding: 0 16px 3px 0; border-bottom: 1px solid var(--gs-ink-2);
	font-size: clamp(17px, 5vw, 21px); font-weight: 700; line-height: 1.35; letter-spacing: .04em; white-space: nowrap;
}
.gs-btn__label::after { content: ""; position: absolute; right: 0; bottom: -1px; width: 10px; height: 1px; background: var(--gs-ink-2); transform-origin: right center; transform: rotate(45deg); }
.btn2026 a:focus-visible { outline-offset: 8px; }
/* 受付していないとき（非活性） */
.gs-is-closed > span { cursor: not-allowed; color: #777; }
.gs-is-closed .btn_booking::before { background: #f2f2f2; border-color: #999; }
.gs-is-closed .btn_booking_back { background: #c9c9c9; }
.gs-is-closed .gs-btn__label { border-color: #999; }
.gs-is-closed .gs-btn__label::after { background: #999; }
.gs-is-closed:hover .btn_booking, .gs-is-closed .btn_booking:hover { top: 0; }
.btn_omousikomi.btn2026.gs-is-closed:hover .btn_booking_back { top: 6px; left: 6px; filter: none; }
/* 締切（ボタン直下） */
.gs-deadline { margin-top: 22px; text-align: center; font-size: 14px; font-weight: 300; line-height: 1.6; letter-spacing: .04em; color: var(--gs-ink-2); font-feature-settings: "tnum"; }
.gs-deadline__note { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--gs-ink-sub); }
main > .cta2026 { margin-top: 56px; }
main > .cta2026:first-of-type { margin-top: 96px; }

/* ---- 見出しブロック（予約ページ img.h2「天草・御所浦｜恐竜の島 化石発見クルーズ！」の位置。.h2 の幅85%・上100px はそのまま） ---- */
.gs-titleblock { color: var(--gs-ink-2); }
.gs-titleblock__label { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: inherit; letter-spacing: 0; }
.gs-titleblock__badge { padding: 1px 8px; border: 1.5px solid var(--gs-ink-2); border-radius: 4px; font-size: 13px; font-weight: 700; line-height: 1.6; letter-spacing: .06em; }
.gs-titleblock__series { flex: 1 1 10em; font-size: 11px; line-height: 1.45; letter-spacing: .04em; }
.gs-titleblock__title { margin-top: 10px; font-size: clamp(22px, 6.4vw, 26px); font-weight: 900; font-style: italic; line-height: 1.4; letter-spacing: .06em; }
.gs-titleblock__text { margin-top: 16px; font-size: 16px; font-weight: 300; line-height: 1.8; letter-spacing: .03em; }

/* ---- セクション見出し（予約ページ .gosho_tit と同じ 22px/700/.1em） ---- */
.gs-sec { margin-top: 69px; }
.gs-h2 { margin: 0 auto; width: 86.7%; text-align: center; font-size: 22px; font-weight: 700; line-height: 1.5; letter-spacing: .1em; color: var(--gs-ink); }
.gs-eyebrow { text-align: center; font-size: 12px; font-weight: 500; letter-spacing: .16em; color: var(--gs-green-dark); }
.gs-eyebrow + .gs-h2 { margin-top: 8px; }

/* ---- この日の体験：.parabox_maru ＋ .num ＋ .pic_txt（本文は予約ページと同じ 14px/1.62） ---- */
.parabox_maru .paraimg img, .parabox_maru .paraimg picture { display: block; width: 100%; }
.parabox_maru .paraimg img { height: auto; aspect-ratio: 1488 / 1072; object-fit: cover; }
.gs-sec .parabox_maru:first-of-type { margin-top: 32px; }
.gs-inset-wrap { position: absolute; right: 12px; bottom: 12px; z-index: 2; width: 36%; border: 3px solid #fff; border-radius: 10px; overflow: hidden; box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.gs-inset-wrap img, .gs-inset-wrap picture { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.gs-sec .gs-pic_tit { margin-top: 14px; font-weight: 700; text-align: left; } /* 文字サイズ・行送りは .pic_txt（14px/1.62）のまま */
.gs-sec .gs-pic_tit + .pic_txt { margin-top: 4px; }
.gs-note-box { margin-top: 36px; }

/* ---- 定義リスト（.addbox.add2026：料金に含まれるもの／集合・解散／申込期限 と同じ組み。ラベル14px・値15px/1.6・ラベル幅72px） ---- */
.gs-page .add2026 .ad_label--block { display: block; }
/* 2026-10-08：.add2026 .inner は左だけ padding 8px で文字の左右余白が 8px ずれるので、右にも同じ 8px（左右対称） */
.gs-page .add2026 .inner { width: calc(85% + 8px); padding-right: 8px; box-sizing: border-box; } /* 外形（上罫の長さ＝index.css の幅85%＋左8px）は変えず、内側だけ左右 8px */
.add2026 .ad_body p + p { margin-top: 6px; }
.add2026 .gs-strong { font-weight: 700; }
.add2026 .gs-dl-note { margin-top: 4px; font-size: 13px !important; line-height: 1.5 !important; color: var(--gs-ink-sub); }
.gs-ess { margin-top: 4px; }
/* 条件帯（最初の応募ボタンの直下。予約ページの小さな定義リストの組みのまま） */
.gs-facts { margin-top: 20px; } /* 未使用（条件帯は .route_box へ移動） */
.gs-h2 + .route_lead { margin-top: 20px; }
.gs-route_box { margin-bottom: 28px; }
.gs-route_box__label { font-weight: 700; }
/* 集合と解散（小さな時刻表） */
.gs-sched { width: 100%; border-collapse: collapse; }
.gs-sched th, .gs-sched td { padding: 8px 0; border-bottom: 1px dotted var(--gs-rule); vertical-align: baseline; text-align: left; }
.gs-sched tr:first-child th, .gs-sched tr:first-child td { padding-top: 2px; }
.gs-sched tr:last-child th, .gs-sched tr:last-child td { border-bottom: 0; }
.gs-sched th { width: 5.2em; padding-right: 10px; font-size: 15px; font-weight: 700; color: var(--gs-green-dark); white-space: nowrap; font-feature-settings: "tnum"; }
.gs-sched__what { display: block; font-size: 15px; font-weight: 500; line-height: 1.6; color: var(--gs-ink); }
.gs-sched__sub { display: block; font-size: 13px; font-weight: 300; line-height: 1.5; color: var(--gs-ink-sub); }
.gs-links { margin-top: 4px; }
.gs-links .ad_link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }

/* ---- 当日の流れ（縦タイムライン：緑の点と細い縦罫。写真は .parabox_maru を列幅いっぱいに） ---- */
.gs-timeline { width: 86.7%; margin: 32px auto 0; }
.gs-timeline__item { position: relative; padding: 0 0 30px 30px; }
.gs-timeline__item::before { content: ""; position: absolute; left: 7px; top: 14px; bottom: -6px; width: 1px; background: var(--gs-rule); }
.gs-timeline__item:last-child { padding-bottom: 0; }
.gs-timeline__item:last-child::before { display: none; }
.gs-timeline__item::after { content: ""; position: absolute; left: 0; top: 6px; width: 15px; height: 15px; box-sizing: border-box; border-radius: 50%; background: #fff; border: 2px solid var(--gs-green); }
.gs-timeline p { margin: 0; letter-spacing: .03em; }
.gs-timeline__time { font-size: 14px; font-weight: 700; line-height: 1.7; color: var(--gs-green-dark); font-feature-settings: "tnum"; }
.gs-timeline__title { margin-top: 2px !important; font-size: 14px; font-weight: 700; line-height: 1.62; color: var(--gs-ink-2); }
.gs-timeline__text { margin-top: 4px !important; font-size: 14px; font-weight: 300; line-height: 1.62; color: var(--gs-ink-2); }
.gs-timeline__sub { margin-top: 4px !important; font-size: 13px; font-weight: 300; line-height: 1.5; color: var(--gs-ink-sub); }
.gs-timeline .parabox_maru { width: 100%; margin-top: 12px; }
.gs-sec .gs-timeline .parabox_maru:first-of-type { margin-top: 12px; }
.gs-timeline-note.gs-note-box { margin-top: 28px; }
.gs-timeline-note a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.gs-photo-note { width: 86.7%; margin: 24px auto 0; font-size: 12.5px; font-weight: 300; line-height: 1.7; color: var(--gs-ink-sub); }

/* ---- 注意事項（ツアー詳細の最後。予約ページ .ad_toggle「注意事項 ＊必ずご確認ください。」と同じ行。開閉は details/summary） ---- */
.gs-prec summary.ad_toggle { min-height: 44px; align-items: center; cursor: pointer; list-style: none; }
.gs-prec summary.ad_toggle::-webkit-details-marker { display: none; }
.gs-prec summary.ad_toggle::marker { content: ""; }
.gs-prec[open] > .ad_toggle::after { transform: rotate(0deg); opacity: 0; }
.gs-prec__body { margin-top: 10px; padding-bottom: 4px; }
.gs-prec__h { margin: 0; font-size: 13px; font-weight: 700; line-height: 1.55; letter-spacing: .02em; color: var(--gs-ink); }
.gs-prec__body .ad_body + .gs-prec__h { margin-top: 16px; }
.gs-prec__body .ad_body { margin-top: 4px; font-size: 14px; }
.gs-prec__body .ad_body p + .ad_notes { margin-top: 6px; }
.gs-prec__body .ad_notes > li { font-size: 14px; line-height: 1.6; }

/* ---- Q&A（.qa2026 そのまま：14px/1.62・項目間18px） ---- */
@media (max-width: 400px) { #faq.qa2026 { padding: 44px 22px 42px; } }

/* ---- お問い合わせ（.inq2026 に、メール・主催の行を追加） ---- */
.inq2026 .inq_company { margin-top: 40px; }
.inq2026 .inq_brand { margin-top: 8px; line-height: 1.6; }
.inq2026 .inq_mailtext { margin-top: 24px; }
.inq2026 .inq_mailtext a { display: inline-block; min-height: 44px; line-height: 44px; font-size: 15px; color: var(--gs-ink); text-underline-offset: .2em; }
.inq2026 .inq_org { margin-top: 20px; font-size: 12px; line-height: 1.7; letter-spacing: .03em; }
.inq2026 .inq_org + .inq_org { margin-top: 4px; }

/* ---- 応募フォーム（募集LP固有） ---- */
.gs-form { width: 86.7%; margin-left: auto; margin-right: auto; color: var(--gs-ink); }
.gs-form *, .gs-form *::before, .gs-form *::after { box-sizing: border-box; }
.gs-form .gs-h2 { width: auto; }
.gs-form p { letter-spacing: .02em; }
.gs-eyebrow--pill { line-height: 1; }
.gs-eyebrow--pill span { display: inline-block; padding: 5px 16px; border: 1px solid var(--gs-green-dark); border-radius: 999px; font-size: 12px; letter-spacing: .12em; line-height: 1.4; }
.gs-form__recap { margin-top: 24px; border-bottom: 1px solid var(--gs-rule); }
.gs-form__result { margin: 0; padding: 0 0 10px; font-size: 14px; font-weight: 300; line-height: 1.8; color: var(--gs-ink-2); }
.gs-form__recap-row { padding: 12px 0; font-size: 14.5px; line-height: 1.7; }
.gs-form__recap-row + .gs-form__recap-row { border-top: 1px solid var(--gs-rule); }
.gs-form__recap-row dt { font-size: 12.5px; font-weight: 700; color: var(--gs-ink-sub); }
.gs-form__recap-row dd { font-weight: 700; color: var(--gs-ink-2); }
.gs-form__privacy { padding: 12px 0; border-top: 1px solid var(--gs-rule); font-size: 12.5px; font-weight: 300; line-height: 1.7; color: var(--gs-ink-sub); }
.gs-form__privacy a { display: inline-block; min-height: 44px; line-height: 44px; color: var(--gs-green-dark); }
.gs-closed { margin-top: 24px; padding: 20px 0; border-top: 1px solid var(--gs-rule); border-bottom: 1px solid var(--gs-rule); font-size: 15px; font-weight: 700; text-align: center; color: var(--gs-ink-2); }
.gs-closed__next { margin-top: 12px; font-size: 15px; text-align: center; }
.gs-done { margin-top: 28px; padding: 28px 22px; border: 2px solid var(--gs-green, #00a48a); border-radius: 12px; background: #fff; text-align: center; outline: none; }
.gs-done__title { margin: 0 0 14px; font-size: 20px; font-weight: 700; line-height: 1.5; color: var(--gs-green-dark, #007a66); }
.gs-done__text { margin: 0 0 12px; font-size: 15px; font-weight: 300; line-height: 1.9; text-align: left; color: var(--gs-ink-2); }
.gs-done__text a { color: var(--gs-green-dark, #007a66); }
.gs-done__back { margin: 18px 0 0; font-size: 14px; }
.gs-done__back a { display: inline-block; min-height: 44px; line-height: 44px; padding: 0 18px; border: 1px solid var(--gs-rule); border-radius: 999px; color: var(--gs-ink-2); text-decoration: none; }

/* CF7 */
.gs-cf7 { margin-top: 28px; }
.gs-cf7 p { margin: 0 0 18px; font-size: 15px; line-height: 1.6; }
.gs-cf7 label { display: block; font-weight: 700; font-size: 15px; line-height: 1.6; color: var(--gs-ink-2); }
.gs-cf7 input[type="text"], .gs-cf7 input[type="email"], .gs-cf7 input[type="tel"], .gs-cf7 input[type="number"], .gs-cf7 textarea {
	display: block; width: 100%; margin-top: 6px; padding: 10px 12px; min-height: 48px;
	font: 400 16px/1.6 "Noto Sans JP", sans-serif; color: var(--gs-ink);
	background: #fff; border: 1px solid var(--gs-card-line); border-radius: 6px;
}
.gs-cf7 input:focus, .gs-cf7 textarea:focus { border-color: var(--gs-green); outline: 2px solid rgba(0, 164, 138, .25); outline-offset: 0; }
.gs-cf7 input[type="number"] { max-width: 8em; }
.gs-cf7 textarea { height: 8.5em; min-height: 6em; resize: vertical; }
.gs-cf7 textarea[name="motive"] { height: auto; min-height: 5.4em; }
.gs-cf7 .wpcf7-radio { display: block; margin-top: 4px; }
.gs-cf7 .wpcf7-radio .wpcf7-list-item { display: inline-block; margin: 0 20px 0 0; }
.gs-cf7 .wpcf7-list-item label, .gs-cf7 .wpcf7-radio label, .gs-cf7 .wpcf7-acceptance label { display: inline-flex; align-items: flex-start; gap: 8px; min-height: 44px; padding: 10px 0; font-weight: 400; }
.gs-cf7 input[type="radio"], .gs-cf7 input[type="checkbox"] { width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: var(--gs-green); }
.gs-cf7 .wpcf7-acceptance { display: block; padding: 10px 14px; background: var(--gs-beige); border-radius: 6px; }
.gs-cf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.gs-cf7 .wpcf7-not-valid { border-color: #B3261E; }
.gs-cf7 .wpcf7-not-valid-tip { color: #B3261E; font-size: 14px; font-weight: 700; margin-top: 4px; }
.gs-cf7 .wpcf7-not-valid-tip::before { content: "！ "; }
.gs-cf7 input[type="submit"] { /* BOOKING ボタンと同じ白地・細い黒枠・緑のずらし影 */
	display: block; width: 100%; height: 60px; margin-top: 8px; padding: 0 16px; box-sizing: border-box;
	border: 1px solid var(--gs-ink-2); border-radius: 0; cursor: pointer; text-align: center; white-space: nowrap; overflow: visible;
	background: #fff; color: var(--gs-ink-2); font: normal 700 18px/1.4 "Noto Sans JP", sans-serif; letter-spacing: .08em;
	box-shadow: 6px 6px 0 var(--gs-green); transition: transform .2s ease, box-shadow .2s ease; -webkit-appearance: none; appearance: none;
}
.gs-cf7 input[type="submit"]:hover { transform: translate(2px, 3px); box-shadow: 4px 3px 0 var(--gs-green); }
.gs-cf7 input[type="submit"]:focus-visible { outline: 3px solid var(--gs-green); outline-offset: 6px; }
.gs-cf7 input[type="submit"]:disabled { background: #f3f3f3; color: #999; box-shadow: none; transform: none; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { .gs-cf7 input[type="submit"] { transition: none; } }
.gs-cf7 .wpcf7-spinner { display: block; margin: 12px 0 0; }
.gs-cf7 .wpcf7-response-output { margin: 20px 0 0 !important; padding: 14px 16px !important; border-width: 1px !important; border-radius: 6px; font-size: 15px; font-weight: 700; }
.gs-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
/* フォーム部品（CF7 のフォームタグ側で使う。枠は予約ページ .btn_l_grey と同じ #B0AFA8／#F9F8F4） */
.gs-fs { margin: 0 0 20px; padding: 20px; border: 0; border-radius: 8px; background: var(--gs-beige); min-width: 0; } /* 2026-10-07 野原指示：外枠線なし・ベージュ面の内側に見出し */
.gs-fs__legend { float: left; width: 100%; margin: 0 0 8px; padding: 0; text-align: left; font-weight: 700; font-size: 17px; line-height: 1.5; letter-spacing: .04em; color: var(--gs-ink-2); background: none; }
.gs-fs__legend + * { clear: both; }
.gs-cf7 .gs-fs__desc { margin: 0 0 16px; font-size: 13px; font-weight: 300; line-height: 1.8; color: var(--gs-ink-sub); }
.gs-req { display: inline-block; margin-left: 8px; padding: 0 6px; border: 1px solid var(--gs-green-dark); border-radius: 3px; color: var(--gs-green-dark); font-size: 11px; font-weight: 700; line-height: 1.7; vertical-align: 2px; }
.gs-cf7 .gs-note { font-size: 13px; font-weight: 300; line-height: 1.8; color: var(--gs-ink-sub); }
.gs-cf7 .gs-note a { color: var(--gs-green-dark); }
.gs-consent { margin: 4px 0 10px; padding: 14px 16px 14px 2.2em; list-style: disc; border: 1px solid var(--gs-card-line); border-radius: 6px; background: #fff; }
.gs-consent li { font-size: 15px; font-weight: 400; line-height: 1.7; }
.gs-consent li + li { margin-top: 4px; }
.gs-cf7 .gs-consent li p, .gs-cf7 #gs-summary dt p, .gs-cf7 #gs-summary dd p, .gs-cf7 #gs-summary li p { margin: 0; font-size: inherit; } /* CF7 の自動段落 */
.gs-guardian[hidden] { display: none; }
.gs-guardian { margin-top: 12px; }
#gs-summary { margin: 24px 0; padding: 20px 0; border: 0; border-top: 1px solid #c9c9c9; border-bottom: 1px solid #c9c9c9; border-radius: 0; background: transparent; font-size: 15px; line-height: 1.7; }
#gs-summary .gs-summary__title { margin: 0 0 12px; padding: 0; border: 0; font-size: 15px; font-weight: 700; letter-spacing: 0; color: var(--gs-ink-2); }
#gs-summary dl { margin: 0; }
#gs-summary .gs-summary__row { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eee; }
#gs-summary .gs-summary__row:last-child { border-bottom: 0; padding-bottom: 0; }
#gs-summary dt { flex: none; width: 6em; font-size: 13px; font-weight: 400; color: #666; line-height: 1.9; }
#gs-summary dd { flex: 1; min-width: 0; margin: 0; font-size: 15px; font-weight: 400; color: var(--gs-ink-2); }
#gs-summary ul { margin: 0; padding-left: 1.2em; list-style: disc; }
#gs-summary [data-gs-sum] { font-size: inherit; font-weight: 700; color: var(--gs-ink-2); font-feature-settings: "tnum"; }

/* ---- スマホ固定CTA（本文の応募ボタンとフォームが見えていないときだけ。左パネルが出る751px以上では出さない） ---- */
.gs-fixed-cta {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 50;
	padding: 12px 22px calc(8px + env(safe-area-inset-bottom)) 16px;
	background: rgba(255, 255, 255, .96); border-top: 1px solid var(--gs-rule);
	transform: translateY(110%); transition: transform .2s ease;
}
.gs-fixed-cta.is-visible { transform: translateY(0); }
.gs-fixed-cta .btn_omousikomi { width: calc(100% - 6px); max-width: 420px; margin: 0 auto; }
.gs-fixed-cta .btn_booking { aspect-ratio: auto; height: 50px; min-height: 0; }
.gs-fixed-cta .gs-btn__label { font-size: 16px; }
.gs-fixed-cta__deadline { margin: 10px 0 0; text-align: center; font-size: 12.5px; line-height: 1.5; color: var(--gs-ink-2); font-feature-settings: "tnum"; }
@media (prefers-reduced-motion: reduce) { .gs-fixed-cta { transition: none; } }
@media (max-width: 750px) { body.gs-fixed-visible .foot2026 { padding-bottom: calc(88px + var(--gs-fixed-h) + env(safe-area-inset-bottom)); } }
@media (min-width: 751px) { .gs-fixed-cta { display: none !important; } }

/* ---- 主催表記・お問い合わせ（foot2026 の上の2行） ---- */
.gs-foot-lines { width: 86.7%; margin: 48px auto 0; padding-top: 16px; border-top: 1px solid var(--gs-rule); }
.gs-foot-lines p { font-size: 13px; font-weight: 400; line-height: 1.7; letter-spacing: .02em; color: var(--gs-ink-2); text-align: left; line-break: strict; overflow-wrap: anywhere; }
.gs-foot-lines p:nth-child(2), .gs-foot-lines p:nth-child(4) { margin-top: 0; }
.gs-foot-lines p:nth-child(3) { margin-top: 10px; }
.gs-foot-lines p + p { margin-top: 4px; }
.gs-foot-lines a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }

/* 伝馬舟の切り抜き（横長なので恐竜用の数値を上書き）：H1 の直後、右端からはみ出す */
.gs-lead .gs-tenma { display: block; width: 100% !important; height: auto; margin: -3% -22% 4px auto !important; position: relative; z-index: 1; }
@media (min-width: 1000px) { .gs-lead .gs-tenma { margin: -3% -20% 6px auto !important; } }

/* ---- ページ内ナビ（ハンバーガー＋ドロワー）2026-10-08 ----
   予約ページの #gHeader > .s_head > .menu ／ .menuBox（common.css・lp2026.css）をそのまま使い、
   a を button にした分の見た目合わせと、募集LP固有の項目（外部リンク・応募ボタン）だけ足す。
   重なり順：#gHeader（absolute・z-index 100。中の .menuBox 1000 もこの中）＞ スマホ固定CTA（50） */
#exp, #flow, #overview, #faq, #form { scroll-margin-top: 24px; }
#exp:focus, #flow:focus, #overview:focus, #faq:focus, #form:focus, #container:focus { outline: none; } /* ドロワーから移動したときのフォーカス枠は出さない */
#gHeader.gs-gheader { pointer-events: none; } /* 透明な #gHeader（幅100%・高さ40px）がヘッダーのロゴを覆わないように */
#gHeader .s_head { pointer-events: none; }
#gHeader .s_head .menu, #gHeader .menuBox, #gHeader .gs-menu-overlay { pointer-events: auto; }
#gHeader .s_head .menu .gs-menu-btn, #gHeader .menuBox .close .gs-menu-close {
	display: block; margin: 0; border: 0; border-radius: 0; background: none; color: inherit; font: inherit; cursor: pointer;
	-webkit-appearance: none; appearance: none;
}
#gHeader .s_head .menu .gs-menu-btn { padding: 0 13px; transition: .7s; }
#gHeader .s_head .menu .gs-menu-btn img { height: auto; } /* width/height 属性の高さを残さない（幅は common.css の 45px／90px→実寸40px） */
#gHeader .s_head .menu .gs-menu-btn:hover { opacity: .5; }
@media (max-width: 750px) { #gHeader .s_head .menu .gs-menu-btn { padding: 17px 20px 0 10px; } }
#gHeader .menuBox .close .gs-menu-close { position: absolute; top: 6px; right: 0; left: auto; padding: 12px 10px; }
#gHeader .menuBox .close .gs-menu-close img { width: 40px; height: auto; display: block; }
/* 閉じている間はフォーカス・読み上げの対象外（開閉のスライドが終わってから隠す） */
.gs-gheader .menuBox { visibility: hidden; transition: right 1s cubic-bezier(0.075, 0.82, 0.165, 1), visibility 0s linear 1s; }
.gs-gheader .menuBox.on { visibility: visible; transition: right 1s cubic-bezier(0.075, 0.82, 0.165, 1), visibility 0s; }
@media (prefers-reduced-motion: reduce) { .gs-gheader .menuBox, .gs-gheader .menuBox.on { transition: none; } }
/* 背景（PC はドロワーの左側。クリックで閉じる） */
.gs-menu-overlay { position: fixed; inset: 0; z-index: 900; background: rgba(35, 24, 21, .25); opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility 0s linear .3s; }
.gs-menu-overlay.on { opacity: 1; visibility: visible; transition: opacity .3s ease, visibility 0s; }
/* 開いている間は本文を固定（JS が top を入れる） */
body.gs-menu-open { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; }
/* ドロワー上部：予約ページ menu_head.svg の位置にロゴ＋シリーズ名（ページ先頭へ） */
.menuBox .gs-menu-tit a { display: flex; align-items: center; gap: 14px; min-height: 44px; color: #231815; text-decoration: none; text-align: left; }
.menuBox .gs-menu-tit img { flex: none; width: 43px; height: auto; }
#gHeader .menuBox .gs-menu-tit a span { display: inline; font-size: 17px; font-weight: 700; font-style: italic; opacity: 1; line-height: 1.4; letter-spacing: .04em; }
#gHeader .menuBox .gs-menu-tit a .screen-reader-text { position: absolute !important; }
/* 外部リンク（区切り線＝ul の上罫。ページ内リンクより一段小さく） */
.menuBox nav .gs-menu-ext { margin-top: 40px !important; }
.menuBox nav .gs-menu-ext li { margin: 0; border-bottom: 1px solid rgba(35, 24, 21, .25); }
.menuBox nav .gs-menu-ext a { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 16px 0; font-family: 'Noto Sans JP', sans-serif; font-size: 15px; font-weight: 500; line-height: 1.5; letter-spacing: .04em; color: #231815; text-decoration: none; font-feature-settings: "palt"; }
.menuBox nav .gs-menu-ext__icon { width: 12px; height: auto; flex: none; }
/* 最下段の応募ボタン（予約ページのドロワーの BOOKING と同じ幅85%・上44px）＋締切1行 */
.menuBox nav .cta2026.gs-menu-cta { margin-top: 0; padding-bottom: 40px; }
#gHeader .menuBox nav .btn2026 a span { font-family: inherit; font-weight: inherit; opacity: 1; }
#gHeader .menuBox nav .btn2026 .btn_booking { display: flex; font-size: inherit; }
#gHeader .menuBox nav .btn2026 .btn_booking_back { display: block; font-size: inherit; }
#gHeader .menuBox nav .btn2026 .gs-btn__label { display: block; font-size: clamp(17px, 5vw, 21px); font-weight: 700; }

/* 未確定事項（公開前に確定）：config の draft_notes があるときだけページ最上部に出す（stg 確認用） */
.gs-draft { position: relative; z-index: 5; margin: 0; padding: 14px 16px 12px; background: #fff3b0; border-bottom: 3px solid #e0b400; color: #3a2e00; font-size: 14px; line-height: 1.7; }
.gs-draft__title { margin: 0 0 6px; font-weight: 700; font-size: 15px; }
.gs-draft__list { margin: 0; padding-left: 1.3em; list-style: disc; }
.gs-draft__list li { margin: 2px 0; list-style: disc; }
/* H1 直下のサブタイトル（hero_sub が空の回は出さない） */
.gs-lead__sub { margin-top: 2.6vw; font-size: 3.73vw; font-weight: 500; line-height: 1.8; letter-spacing: .02em; color: var(--gs-ink-2); }
@media (min-width: 751px) { .gs-lead__sub { margin-top: 12px; font-size: 16.8px; } }
