/* HIRAU ごしょうら 2026 募集LP・参加者名簿 ── 差分CSS
   土台はサンセット募集LPの差分CSS（mu-plugins/goshoura-sunset/assets/goshoura-sunset.css）。接頭辞を gs- → hg- に替えて独立させた。
   見た目の土台は予約ページ「恐竜の島 化石発見クルーズ！」のテーマCSSを同じURLで読む
   （https://nohalab.co.jp/booking/d_cruise_2026/css/ animate → slick → common → index → lp2026）。昨年の HIRAU LP（/hirau_2025/）も
   同じテーマ・同じ背景（back.jpg）・同じ配色（Go! Goshoura! の緑 #00a48a と墨 #231815）なので、昨年の色味はそのまま引き継がれる。
   このファイルに残すのは：テキスト化した部分（FV の日付・一言、見出しブロック、日付・料金の箱、応募ボタン）、HIRAU 固有の部品
   （タイムライン・来島の時刻表・注意事項の開閉・応募フォーム・固定CTA・プレースホルダ）と、予約ページCSSがそれらを崩す箇所の上書きだけ。
   日本語の段落は両端揃え（justify＋line-break:strict＋palt）。 */

:root {
	--hg-green: #00a48a;
	--hg-green-dark: #008a74;
	--hg-green-pale: #e9f6f3;
	--hg-sea: #2a86ad;          /* 昨年の写真の海の青（アクセント） */
	--hg-sand: #F1EBDB;         /* 昨年 index.css の砂色 */
	--hg-orange: #E9A73A;       /* 昨年 .pic_txt span の色 */
	--hg-ink: #1a1a1a;
	--hg-ink-2: #231815;
	--hg-ink-sub: #555;
	--hg-beige: #f8f5ee;
	--hg-card-line: #B0AFA8;
	--hg-rule: #c9c9c9;
	--hg-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.hg-page { font-feature-settings: "palt"; overflow-wrap: anywhere; }
.hg-page :focus-visible { outline: 3px solid var(--hg-green); outline-offset: 3px; }
.hg-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; padding: 12px 16px; color: var(--hg-ink); }
.hg-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; }

/* 日本語の段落：両端揃え＋厳格な禁則（予約ページで指定済みの .pic_txt／.add2026／.qa2026 以外） */
.hg-outlead__text, .hg-timeline__text, .hg-timeline__sub, .hg-access__text, .hg-access__note, .hg-form__privacy, .hg-form__result,
.hg-fs__desc, .hg-note, .hg-done__text, .hg-draft__list li, .hg-dl-note { text-align: justify; line-break: strict; }

/* 区切り線（img.divide_go）：width/height 属性の高さが残らないように */
.divide_go { height: auto; }
@media (prefers-reduced-motion: reduce) { .divide_go { animation: none !important; } }

/* ---- 左パネル（PC。昨年 outlead.svg：Go! ロゴ・タイトルロゴ・日付・キャッチ・本文） ---- */
.hg-outlead { margin-bottom: 50px; color: var(--hg-ink-2); }
.hg-outlead__go { display: block; width: 86px; height: auto; }
.hg-outlead__logo { display: block; width: 100%; height: auto; margin-top: 22px; }
.hg-outlead__date { margin-top: 18px; font-size: 18px; font-weight: 700; line-height: 1.5; letter-spacing: .04em; font-feature-settings: "palt", "tnum"; }
.hg-outlead__catch { margin-top: 10px; font-size: 22px; font-weight: 700; line-height: 41px; letter-spacing: .04em; }
.hg-outlead__text { margin-top: 16px; font-size: 16px; font-weight: 300; line-height: 1.84; letter-spacing: .08em; }
#container .outlead .cta2026 { margin-top: 0; }

/* ---- header（昨年LPと同じ h1：Go! ロゴ（10%）＋タイトルロゴ（60%）。index.css の h1 img:nth-child の幅をそのまま使う） ---- */
.hg-h1 { display: flex; align-items: center; font-size: inherit; letter-spacing: 0; }
.hg-h1 img { height: auto; }

/* FV .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:not(.slick-initialized) li + li { display: none; }
.sliderrr .slick-slide { overflow: hidden; }
.sliderrr .slick-slide img { transform-origin: center center; will-change: transform; }
@keyframes hg-slow-zoom { from { transform: scale(1); } to { transform: scale(1.12); } }
.sliderrr .slide-animation img { animation: hg-slow-zoom 4000ms linear forwards; }
@media (prefers-reduced-motion: reduce) { .sliderrr .slide-animation img { animation: none; } }

/* ---- 1. FV：日付・一言（.lead の位置。昨年は lead.svg） ---- */
.lead.hg-lead { width: 86%; margin-left: auto; margin-right: auto; color: var(--hg-ink-2); }
.hg-lead__date { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.hg-lead__date-main { font-size: 5.6vw; font-weight: 700; line-height: 1.5; letter-spacing: .03em; font-feature-settings: "palt", "tnum"; }
.hg-lead__date-sub { font-size: 3.2vw; font-weight: 700; line-height: 1.5; letter-spacing: .04em; color: var(--hg-green-dark); }
.hg-lead__catch { margin-top: 3.2vw; font-size: 5.6vw; font-weight: 700; line-height: 1.75; letter-spacing: .02em; }
.hg-lead__catch-svg { display: block; width: 100%; height: auto; margin-top: 4vw; }
@media (min-width: 751px) {
	.hg-lead__date-main { font-size: 25.2px; }
	.hg-lead__date-sub { font-size: 14px; }
	.hg-lead__catch { margin-top: 14px; font-size: 25.2px; }
	.hg-lead__catch-svg { margin-top: 18px; }
}
/* 昨年のイラスト（カニ）：予約ページの .dino（幅60%・負のマージンで重ねる）を、テキストに重ならない位置へ */
main > .dino.hg-kani { display: block; width: 40% !important; height: auto; margin: 2% 6% -12% auto !important; position: relative; z-index: 1; }

/* ---- 応募ボタン（予約ページ btn_autumn.svg の寸法 324.73×60.12 を再現：白地・黒の細枠・5°の斜め・下線＋右端の矢印・緑の影） ---- */
.btn_omousikomi.btn2026 > a, .btn_omousikomi.btn2026 > span { display: block; position: relative; color: var(--hg-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(--hg-green); transform: skewX(-5deg); }
.hg-btn__label {
	position: relative; display: flex; align-items: center; gap: .3em; width: 100%; padding: 0 16px 3px 0; border-bottom: 1px solid var(--hg-ink-2);
	font-size: clamp(15px, 4.6vw, 21px); font-weight: 700; line-height: 1.35; letter-spacing: .04em; white-space: nowrap;
}
/* タイトルロゴ（SVG）＋「に応募」：ロゴは文字の高さ（.88em）に合わせ、幅が足りないときは比率を保って縮む（object-fit） */
.hg-btn__logo { display: block; flex: 0 1 auto; min-width: 0; height: .88em; width: auto; max-width: calc(100% - 3.6em); object-fit: contain; object-position: left center; }
.hg-btn__suffix { flex: none; font-size: 85%; } /* 2026-11-08 野原指示：「に応募」はロゴに対して 85% */
.hg-is-closed .hg-btn__logo { opacity: .5; }
.hg-btn__label::after { content: ""; position: absolute; right: 0; bottom: -1px; width: 10px; height: 1px; background: var(--hg-ink-2); transform-origin: right center; transform: rotate(45deg); }
.btn2026 a:focus-visible { outline-offset: 8px; }
/* 受付していないとき（非活性） */
.hg-is-closed > span { cursor: not-allowed; color: #777; }
.hg-is-closed .btn_booking::before { background: #f2f2f2; border-color: #999; }
.hg-is-closed .btn_booking_back { background: #c9c9c9; }
.hg-is-closed .hg-btn__label { border-color: #999; }
.hg-is-closed .hg-btn__label::after { background: #999; }
.hg-is-closed:hover .btn_booking, .hg-is-closed .btn_booking:hover { top: 0; }
.btn_omousikomi.btn2026.hg-is-closed:hover .btn_booking_back { top: 6px; left: 6px; filter: none; }
/* 締切（ボタン直下） */
.hg-deadline { margin-top: 22px; text-align: center; font-size: 14px; font-weight: 300; line-height: 1.6; letter-spacing: .04em; color: var(--hg-ink-2); font-feature-settings: "tnum"; }
.hg-deadline--closed { font-weight: 700; }
.hg-deadline + .hg-deadline { margin-top: 4px; }
main > .cta2026 { margin-top: 56px; }
main > .cta2026:first-of-type { margin-top: 96px; }

/* ---- セクション見出し（予約ページ .gosho_tit と同じ 22px/700/.1em） ---- */
.hg-sec { margin-top: 69px; }
.hg-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(--hg-ink); }
.hg-eyebrow { text-align: center; font-size: 12px; font-weight: 500; letter-spacing: .16em; color: var(--hg-green-dark); }
.hg-eyebrow + .hg-h2 { margin-top: 8px; }

/* ---- 2. リード：昨年 h2.svg の見出しブロック（天草・御所浦／AMAKUSA GOSHOURA／HIRAU（ひらう）ごしょうら in 黒島！） ---- */
.hg-titleblock { width: 85%; margin: 0 auto; color: var(--hg-ink-2); }
.hg-titleblock__label { display: flex; align-items: center; gap: 12px; }
.hg-titleblock__badge { flex: none; padding: 2px 12px; border: 1.5px solid var(--hg-ink-2); border-radius: 999px; font-size: 14px; font-weight: 700; line-height: 1.5; letter-spacing: .06em; }
.hg-titleblock__en { font-size: 11px; font-weight: 500; line-height: 1.5; letter-spacing: .08em; }
@media (max-width: 400px) { .hg-titleblock__en { letter-spacing: .04em; } } /* 2026-11-09：SP で英語行を折り返さない */
.hg-titleblock__title { margin-top: 14px; font-size: clamp(21px, 6.4vw, 30px); /* 2026-11-09：SP 375px で「HIRAU ごしょうら in 黒島！」が1行に収まる大きさ（7vw だと「黒／島」で折り返した） */ font-weight: 900; font-style: italic; line-height: 1.5; letter-spacing: .04em; }
.hg-titleblock__title ruby { ruby-position: over; }
.hg-titleblock__title rt { font-size: 40%; font-weight: 500; font-style: normal; letter-spacing: .6em; }
.hg-outline .hg-titleblock--repeat { margin-top: 28px; } /* 2026-11-09：募集要項での繰り返し表示 */
.hg-outline .hg-titleblock--repeat .hg-titleblock__title { margin-bottom: 0; }
.hg-about .parabox_maru { margin-top: 22px; }
.hg-about__body { margin-top: 18px; }
.hg-about__text + .hg-about__text { margin-top: 10px; }

/* ---- 写真の枠（.parabox_maru）：HIRAU の写真は 3:2 にそろえたので枠も 3:2（予約ページは 1488:1072） ---- */
.parabox_maru .paraimg img, .parabox_maru .paraimg picture { display: block; width: 100%; }
.parabox_maru .paraimg img { height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.hg-sec .hg-pic_tit { margin-top: 14px; font-weight: 700; text-align: left; } /* 文字サイズ・行送りは .pic_txt（14px/1.62）のまま */
.hg-sec .hg-pic_tit + .pic_txt { margin-top: 4px; }
.hg-exp .hg-h2 + .hg-exp__item .parabox_maru { margin-top: 32px; }
.hg-exp__item + .hg-exp__item { margin-top: 36px; }
.hg-exp__item + .hg-exp__item .parabox_maru { margin-top: 0; }
.hg-exp .hg-h2 + .hg-exp__item--nophoto { margin-top: 32px; } /* 本番で写真が未公開のカード：見出しとの間をあける */
.hg-exp__item--nophoto > .hg-pic_tit { margin-top: 0; }

/* プレースホルダ（本番以外だけ。写真準備中＋写真ID＋何の写真か） */
.parabox_maru.is-placeholder { outline: 2px dashed #e0b400; outline-offset: -2px; }
.hg-ph-label { position: absolute; left: 10px; right: 10px; bottom: 10px; z-index: 3; display: block; padding: 8px 10px; border-radius: 8px; background: rgba(255, 243, 176, .95); color: #3a2e00; font-size: 12.5px; line-height: 1.55; text-align: left; box-shadow: 0 2px 8px rgba(0, 0, 0, .12); }
.hg-ph-label__id { display: block; font-weight: 700; }
.hg-ph-label__desc { display: block; }
.parabox_maru .num + .hg-ph-label, .parabox_maru .hg-ph-label { pointer-events: none; }

/* ---- 4. 当日の流れ（縦タイムライン：緑の点と細い縦罫。写真は .parabox_maru を列幅いっぱいに） ---- */
.hg-timeline { width: 85%; margin: 32px auto 0; }
.hg-timeline__item { position: relative; padding: 0 8px 30px 30px; }
.hg-timeline__item::before { content: ""; position: absolute; left: 7px; top: 14px; bottom: -6px; width: 1px; background: var(--hg-rule); }
.hg-timeline__item:last-child { padding-bottom: 0; }
.hg-timeline__item:last-child::before { display: none; }
.hg-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(--hg-green); }
.hg-timeline p { margin: 0; letter-spacing: .03em; }
.hg-timeline__time { font-size: 14px; font-weight: 700; line-height: 1.7; color: var(--hg-green-dark); font-feature-settings: "tnum"; }
.hg-timeline__title { margin-top: 2px !important; font-size: 14px; font-weight: 700; line-height: 1.62; color: var(--hg-ink-2); }
.hg-timeline__text { margin-top: 4px !important; font-size: 14px; font-weight: 300; line-height: 1.62; color: var(--hg-ink-2); }
.hg-timeline__sub { margin-top: 4px !important; font-size: 13px; font-weight: 300; line-height: 1.5; color: var(--hg-ink-sub); }
.hg-timeline .parabox_maru { width: 100%; margin-top: 12px; }
@media screen and (min-width: 750px) { .hg-timeline .parabox_maru { max-width: 360px; } }

/* ---- 4b. 行程マップ（2026-11-09 野原指示：アートボード13）。昨年 route_txt.svg と同じ見せ方＝地図上部の灰色の陸地に行程表（HTML）を重ねる。
        文字の大きさは枠幅基準（cqw）：SP 375px で行程表 12.75px、PC の列幅 450px で 15px。集合・解散の時刻は outline.date_block と共通 ---- */
.hg-route { position: relative; width: 100%; margin: 28px auto 0; container-type: inline-size; }
.hg-route__map { display: block; width: 100%; height: auto; }
.hg-route__panel { position: absolute; left: 0; right: 0; top: 3%; bottom: 50.5%; padding: 0 6%; display: flex; flex-direction: column; justify-content: flex-end; text-align: center; color: var(--hg-ink-2); } /* 2026-11-09 野原指示：箱の下端を地図の棚底港（高さ52%）のすぐ上に固定し、行数ぶん上へ伸ばす */
.hg-route__panel p { margin: 0; }
.hg-route__title { font-size: clamp(16px, 5cqw, 22px); font-weight: 700; letter-spacing: .12em; line-height: 1.4; }
.hg-route__head { margin-top: 0 !important; font-size: clamp(10px, 2.9cqw, 13px); font-weight: 700; letter-spacing: .04em; line-height: 1.4; }
.hg-route__time { margin-left: .7em; padding-left: .7em; border-left: 1px solid var(--hg-ink-2); font-size: clamp(17px, 5.2cqw, 24px); letter-spacing: .01em; font-feature-settings: "tnum"; }
.hg-route__time small { margin: 0 .3em; font-size: 50%; font-weight: 700; vertical-align: .35em; }
.hg-route__dash { margin: 0 .2em; font-weight: 300; }
.hg-route__table { width: 86%; margin: 2.6cqw auto 0; padding: 4cqw 4cqw 4cqw 5cqw; box-sizing: border-box; background: rgba(251, 248, 240, .94); border-radius: 2.4cqw; text-align: left; }
.hg-route__row { display: flex; gap: .8em; margin: 0; font-size: clamp(11px, 3.4cqw, 15px); line-height: 2; font-weight: 500; letter-spacing: .02em; }
.hg-route__row dt { flex: 0 0 3.6em; font-feature-settings: "tnum"; font-weight: 500; }
.hg-route__row dd { flex: 1 1 auto; margin: 0; }

/* ---- 5. 募集要項：日付（昨年 date.svg）・料金（price1〜3.svg）をテキストで ---- */
.hg-date { width: 85%; margin: 28px auto 0; color: var(--hg-ink-2); }
.hg-date__row1 { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
.hg-date__year { writing-mode: vertical-rl; font-size: 13px; font-weight: 700; letter-spacing: .04em; line-height: 1; }
.hg-date__md { font-size: 46px; font-weight: 700; line-height: 1; letter-spacing: .01em; font-feature-settings: "tnum"; }
.hg-date__dow { padding: 2px 10px; border: 1.5px solid var(--hg-ink-2); border-radius: 999px; font-size: 16px; font-weight: 700; line-height: 1.4; }
.hg-date__tag { flex: 1 1 9em; font-size: 12.5px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; }
.hg-date__row2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin-top: 10px; }
.hg-date__place { font-size: 15px; font-weight: 700; letter-spacing: .04em; }
.hg-date__time { font-size: 30px; font-weight: 700; line-height: 1.2; letter-spacing: .01em; font-feature-settings: "tnum"; }
.hg-date__time small { font-size: 12px; font-weight: 700; margin: 0 4px; vertical-align: 4px; }
.hg-date__dash { margin: 0 6px; font-weight: 300; }

.hg-price { display: flex; justify-content: space-between; gap: 2.5%; width: 85%; margin: 25px auto 0; padding: 0; list-style: none; }
.hg-price__box { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: 6px 2px; box-sizing: border-box; border: 1.5px solid var(--hg-ink-2); color: var(--hg-ink-2); text-align: center; }
.hg-price__label { font-size: clamp(15px, 4.6vw, 19px); font-weight: 700; line-height: 1.3; letter-spacing: .06em; }
.hg-price__sub { margin-top: 2px; font-size: clamp(9.5px, 2.7vw, 11.5px); font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.hg-price__yen { margin-top: 4px; font-size: clamp(19px, 5.9vw, 26px); font-weight: 700; line-height: 1.2; letter-spacing: .01em; font-feature-settings: "tnum"; }
.hg-price__yen small { margin-left: 1px; font-size: 55%; }
.hg-price__free { font-size: clamp(12px, 3.6vw, 15px); font-weight: 700; line-height: 1.55; letter-spacing: .04em; }
.hg-price__note { margin-top: 4px; font-size: clamp(10.5px, 3vw, 12.5px); font-weight: 700; line-height: 1.4; }
/* 2026-11-09 野原指示：日付（アートボード8）・料金3枠（9〜11）はデザイナーの SVG。SVG が無いときは上のテキスト表示 */
.hg-date-svg { display: block; width: 85%; height: auto; margin: 28px auto 0; }
.hg-price--svg { gap: 0; }
.hg-price__svg { flex: 0 0 31.5%; margin: 0; padding: 0; }
.hg-price__svg img { display: block; width: 100%; height: auto; }

/* 定義リスト（.addbox.add2026：料金に含まれるもの／集合／解散… と同じ組み。ラベル14px・値15px/1.6・ラベル幅72px） */
.hg-page .add2026 .ad_label--block { display: block; }
.hg-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 .hg-dl-note { margin-top: 4px; font-size: 13px !important; line-height: 1.5 !important; color: var(--hg-ink-sub); }
.hg-ess { margin-top: 4px; }
.hg-ess .ad_item + .ad_item { margin-top: 2px; }
.hg-links { margin-top: 4px; padding: 0; list-style: none; }
.hg-links .ad_link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: .2em; }
.hg-page .ad_ext, .hg-page .ad_conditions img { height: 14px; overflow: hidden; } /* アイコンが読めないときに代替テキストで行が崩れないように */

/* ---- 6. 御所浦への来島（本文＋小さな時刻表） ---- */
.hg-access__body { width: 85%; margin: 24px auto 0; color: var(--hg-ink-2); }
.hg-access__text { font-size: 15px; font-weight: 300; line-height: 1.8; letter-spacing: .02em; }
.hg-access__text + .hg-access__text { margin-top: 8px; }
.hg-access__body .hg-access__photo { width: 100%; margin: 16px 0 0; } /* 2026-11-09：定期船の写真（parabox_maru） */
.hg-access__sched-title { margin-top: 22px; padding-top: 18px; border-top: 1px solid #000; font-size: 14px; font-weight: 700; line-height: 1.55; letter-spacing: .02em; }
.hg-sched { width: 100%; margin-top: 6px; border-collapse: collapse; }
.hg-sched th, .hg-sched td { padding: 8px 0; border-bottom: 1px dotted var(--hg-rule); vertical-align: baseline; text-align: left; }
.hg-sched tr:last-child th, .hg-sched tr:last-child td { border-bottom: 0; }
.hg-sched th { width: 5.2em; padding-right: 10px; font-size: 15px; font-weight: 700; color: var(--hg-green-dark); white-space: nowrap; font-feature-settings: "tnum"; }
.hg-sched__what { display: block; font-size: 15px; font-weight: 500; line-height: 1.6; color: var(--hg-ink); }
.hg-sched__sub { display: block; font-size: 13px; font-weight: 300; line-height: 1.5; color: var(--hg-ink-sub); }
.hg-access__note { margin-top: 6px; font-size: 13px; font-weight: 300; line-height: 1.6; color: var(--hg-ink-sub); }
.hg-access__sched-title + .hg-sched + .hg-access__note { margin-top: 10px; }

/* ---- 7. 注意事項（予約ページ .ad_toggle「注意事項 ※必ずご確認ください。」と同じ行。開閉は details/summary） ---- */
.hg-notes { margin-top: 40px; }
.hg-notes .addbox .inner:first-child { margin-top: 0; }
.hg-prec summary.ad_toggle { min-height: 44px; align-items: center; cursor: pointer; list-style: none; }
.hg-prec summary.ad_toggle::-webkit-details-marker { display: none; }
.hg-prec summary.ad_toggle::marker { content: ""; }
.hg-prec[open] > .ad_toggle::after { transform: rotate(0deg); opacity: 0; }
.hg-prec__body { margin-top: 10px; padding-bottom: 4px; }
.hg-prec__body .ad_notes > li { font-size: 13.5px; line-height: 1.6; }
.hg-prec__body .ad_cancel { font-size: 12.5px; }

/* ---- 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(--hg-ink); text-underline-offset: .2em; }

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

/* CF7 */
.hg-cf7 { margin-top: 28px; }
.hg-cf7 p { margin: 0 0 18px; font-size: 15px; line-height: 1.6; }
.hg-cf7 label { display: block; font-weight: 700; font-size: 15px; line-height: 1.6; color: var(--hg-ink-2); }
.hg-cf7 .hg-label { margin: 0 0 2px; font-weight: 700; font-size: 15px; line-height: 1.6; color: var(--hg-ink-2); }
.hg-cf7 input[type="text"], .hg-cf7 input[type="email"], .hg-cf7 input[type="tel"], .hg-cf7 input[type="number"], .hg-cf7 input[type="date"], .hg-cf7 select, .hg-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(--hg-ink);
	background: #fff; border: 1px solid var(--hg-card-line); border-radius: 6px;
}
.hg-cf7 select { -webkit-appearance: menulist; appearance: auto; }
.hg-cf7 input:focus, .hg-cf7 textarea:focus, .hg-cf7 select:focus { border-color: var(--hg-green); outline: 2px solid rgba(0, 164, 138, .25); outline-offset: 0; }
.hg-cf7 textarea { height: 6em; min-height: 4.8em; resize: vertical; }
.hg-cf7 .wpcf7-radio, .hg-cf7 .wpcf7-checkbox { display: block; margin-top: 4px; }
.hg-cf7 .wpcf7-radio .wpcf7-list-item, .hg-cf7 .wpcf7-checkbox .wpcf7-list-item { display: inline-block; margin: 0 20px 0 0; }
.hg-cf7 .wpcf7-list-item label, .hg-cf7 .wpcf7-acceptance label { display: inline-flex; align-items: flex-start; gap: 8px; min-height: 44px; padding: 10px 0; font-weight: 400; }
.hg-cf7 input[type="radio"], .hg-cf7 input[type="checkbox"] { width: 22px; height: 22px; margin: 2px 0 0; flex: none; accent-color: var(--hg-green); }
.hg-cf7 .wpcf7-acceptance { display: block; padding: 10px 14px; background: #fff; border-radius: 6px; }
.hg-cf7 .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.hg-cf7 .wpcf7-not-valid { border-color: #B3261E; }
.hg-cf7 .wpcf7-not-valid-tip { color: #B3261E; font-size: 14px; font-weight: 700; margin-top: 4px; }
.hg-cf7 .wpcf7-not-valid-tip::before { content: "！ "; }
.hg-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(--hg-ink-2); border-radius: 0; cursor: pointer; text-align: center; white-space: nowrap; overflow: visible;
	background: #fff; color: var(--hg-ink-2); font: normal 700 18px/1.4 "Noto Sans JP", sans-serif; letter-spacing: .08em;
	box-shadow: 6px 6px 0 var(--hg-green); transition: transform .2s ease, box-shadow .2s ease; -webkit-appearance: none; appearance: none;
}
.hg-cf7 input[type="submit"]:hover { transform: translate(2px, 3px); box-shadow: 4px 3px 0 var(--hg-green); }
.hg-cf7 input[type="submit"]:focus-visible { outline: 3px solid var(--hg-green); outline-offset: 6px; }
.hg-cf7 input[type="submit"]:disabled { background: #f3f3f3; color: #999; box-shadow: none; transform: none; cursor: not-allowed; }
@media (prefers-reduced-motion: reduce) { .hg-cf7 input[type="submit"] { transition: none; } }
.hg-cf7 .wpcf7-spinner { display: block; margin: 12px 0 0; }
.hg-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; }
.hg-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
/* フォーム部品（CF7 のフォームタグ側で使う。ベージュ面の内側に見出し・外枠線なし＝サンセットと同じ） */
.hg-fs { margin: 0 0 20px; padding: 20px; border: 0; border-radius: 8px; background: var(--hg-beige); min-width: 0; }
.hg-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(--hg-ink-2); background: none; }
.hg-fs__legend + * { clear: both; }
.hg-cf7 .hg-fs__desc { margin: 0 0 16px; font-size: 13px; font-weight: 300; line-height: 1.8; color: var(--hg-ink-sub); }
.hg-req { display: inline-block; margin-left: 8px; padding: 0 6px; border: 1px solid var(--hg-green-dark); border-radius: 3px; color: var(--hg-green-dark); font-size: 11px; font-weight: 700; line-height: 1.7; vertical-align: 2px; }
.hg-opt { display: inline-block; margin-left: 8px; color: var(--hg-ink-sub); font-size: 12px; font-weight: 400; }
.hg-cf7 .hg-note { font-size: 13px; font-weight: 300; line-height: 1.8; color: var(--hg-ink-sub); }
.hg-cf7 .hg-note a { color: var(--hg-green-dark); }
/* 参加人数（5区分）：区分名（左）と人数の欄（右）を1行に。エラーは行の下に全幅で（CF7 の自動 <br> は隠す） */
.hg-party { margin: 0 0 6px; }
.hg-cf7 .hg-party p { margin: 0; }
.hg-cf7 .hg-party br { display: none; }
.hg-cf7 .hg-party label { display: grid; grid-template-columns: minmax(0, 1fr) 7.5em; align-items: center; column-gap: 12px; padding: 6px 0; font-size: 15px; }
.hg-cf7 .hg-party .wpcf7-form-control-wrap { display: contents; }
.hg-cf7 .hg-party input[type="number"] { grid-column: 2; margin-top: 0; text-align: right; }
.hg-cf7 .hg-party .wpcf7-not-valid-tip { grid-column: 1 / -1; }
.hg-party__name { display: block; }
.hg-party__fee { display: block; font-size: 12px; font-weight: 400; color: var(--hg-ink-sub); }
.hg-guardian[hidden] { display: none; }
.hg-guardian { margin-top: 12px; }
#hg-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; }
#hg-summary .hg-summary__title { margin: 0 0 12px; padding: 0; border: 0; font-size: 15px; font-weight: 700; letter-spacing: 0; color: var(--hg-ink-2); }
#hg-summary dl { margin: 0; }
#hg-summary .hg-summary__row { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eee; }
#hg-summary .hg-summary__row:last-child { border-bottom: 0; padding-bottom: 0; }
#hg-summary dt { flex: none; width: 6.5em; font-size: 13px; font-weight: 400; color: #666; line-height: 1.9; }
#hg-summary dd { flex: 1; min-width: 0; margin: 0; font-size: 15px; font-weight: 400; color: var(--hg-ink-2); }
#hg-summary [data-hg-sum] { font-size: inherit; font-weight: 700; color: var(--hg-ink-2); font-feature-settings: "tnum"; }
.hg-cf7 #hg-summary dt p, .hg-cf7 #hg-summary dd p { margin: 0; font-size: inherit; } /* CF7 の自動段落 */

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

/* ---- 10. 主催表記（foot2026 の上。TEL・メールはリンク） ---- */
.hg-foot-lines { width: 86.7%; margin: 48px auto 0; padding-top: 16px; border-top: 1px solid var(--hg-rule); }
.hg-foot-lines p { font-size: 13px; font-weight: 400; line-height: 1.7; letter-spacing: .02em; color: var(--hg-ink-2); text-align: center; line-break: strict; overflow-wrap: anywhere; }
.hg-foot-lines p + p { margin-top: 0; }
.hg-foot-lines p:first-child + p { margin-top: 12px; } /* 「熊本県委託事業」の下だけ1行空ける */
.hg-foot-lines .hg-foot-lines__cond { margin-top: 0; }
.hg-foot-lines a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }

/* ---- ページ内ナビ（ハンバーガー＋ドロワー）：予約ページの #gHeader > .s_head > .menu ／ .menuBox をそのまま使い、
   a を button にした分の見た目合わせと、HIRAU 固有の項目（外部リンク・応募ボタン）だけ足す（サンセットと同じ） ---- */
#exp, #flow, #overview, #access, #faq, #form, #about { scroll-margin-top: 24px; }
#exp:focus, #flow:focus, #overview:focus, #access:focus, #faq:focus, #form:focus, #container:focus, #about:focus { outline: none; }
#gHeader.hg-gheader { pointer-events: none; }
#gHeader .s_head { pointer-events: none; }
#gHeader .s_head .menu, #gHeader .menuBox, #gHeader .hg-menu-overlay { pointer-events: auto; }
#gHeader .s_head .menu .hg-menu-btn, #gHeader .menuBox .close .hg-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 .hg-menu-btn { padding: 0 13px; transition: .7s; }
#gHeader .s_head .menu .hg-menu-btn img { height: auto; }
#gHeader .s_head .menu .hg-menu-btn:hover { opacity: .5; }
@media (max-width: 750px) { #gHeader .s_head .menu .hg-menu-btn { padding: 17px 20px 0 10px; } }
#gHeader .menuBox .close .hg-menu-close { position: absolute; top: 6px; right: 0; left: auto; padding: 12px 10px; }
#gHeader .menuBox .close .hg-menu-close img { width: 40px; height: auto; display: block; }
.hg-gheader .menuBox { visibility: hidden; transition: right 1s cubic-bezier(0.075, 0.82, 0.165, 1), visibility 0s linear 1s; }
.hg-gheader .menuBox.on { visibility: visible; transition: right 1s cubic-bezier(0.075, 0.82, 0.165, 1), visibility 0s; }
@media (prefers-reduced-motion: reduce) { .hg-gheader .menuBox, .hg-gheader .menuBox.on { transition: none; } }
.hg-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; }
.hg-menu-overlay.on { opacity: 1; visibility: visible; transition: opacity .3s ease, visibility 0s; }
body.hg-menu-open { position: fixed; left: 0; right: 0; width: 100%; overflow: hidden; }
/* ドロワー上部：Go! ロゴ＋タイトルロゴ（ページ先頭へ） */
.menuBox .hg-menu-tit a { display: flex; align-items: center; gap: 12px; min-height: 44px; color: #231815; text-decoration: none; text-align: left; }
.menuBox .hg-menu-tit img { flex: none; width: 43px; height: auto; }
.menuBox .hg-menu-tit img.hg-menu-tit__logo { flex: 1 1 auto; width: auto; max-width: 220px; min-width: 0; }
#gHeader .menuBox .hg-menu-tit a .screen-reader-text { position: absolute !important; }
.menuBox nav .hg-menu-ext { margin-top: 40px !important; }
.menuBox nav .hg-menu-ext li { margin: 0; border-bottom: 1px solid rgba(35, 24, 21, .25); }
.menuBox nav .hg-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 .hg-menu-ext__icon { width: 12px; height: auto; flex: none; }
.menuBox nav .cta2026.hg-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 .hg-btn__label { display: flex; font-size: clamp(15px, 4.6vw, 21px); font-weight: 700; }

/* 確認用メモ（本番以外だけ・ページ最上部） */
.hg-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; }
.hg-draft__title { margin: 0 0 6px; font-weight: 700; font-size: 15px; }
.hg-draft__list { margin: 0; padding-left: 1.3em; list-style: disc; }
.hg-draft__list li { margin: 2px 0; list-style: disc; }

/* ---- 参加者名簿ページ ---- */
.hg-entry-page { background: #fff; }
.hg-entry { padding: 24px 0 64px; }
.hg-entry__brand { margin: 0; padding: 0 20px; }
.hg-entry__brand a { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--hg-ink-2); }
.hg-entry__brand img { width: 43px; height: auto; flex: none; }
.hg-entry__brand img.hg-entry__logo { width: auto; flex: 1 1 auto; max-width: 260px; min-width: 0; }
.hg-entry .hg-sec { margin-top: 36px; }
.hg-entry .hg-form { width: auto; padding: 0 20px; }
.hg-cf7--entry .p-row { margin: 0 0 16px; padding: 14px 16px 4px; border: 1px solid var(--hg-rule); border-radius: 10px; background: #fff; }
.hg-cf7--entry .p-row legend { padding: 0 6px; font-size: 14px; font-weight: 700; color: var(--hg-green-dark); }
.hg-cf7--entry .p-row label { font-size: 14px; }
.hg-cf7--entry input[name="rep-zip"] { width: 9em; }
.hg-cf7--entry .p-more { margin: 0 0 18px; }
.hg-cf7--entry .p-more > summary { cursor: pointer; padding: 10px 14px; border: 1px dashed var(--hg-rule); border-radius: 8px; font-size: 14px; color: var(--hg-ink-2); }
.hg-cf7--entry .p-more[open] > summary { margin-bottom: 14px; }
.hg-cf7--entry .wpcf7-radio { display: block; margin: 0 0 18px; }
.hg-cf7--entry .wpcf7-radio .wpcf7-list-item { display: block; margin: 0 0 8px; }
.hg-cf7--entry .wpcf7-radio label { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; min-height: 44px; }
.hg-cf7--entry .wpcf7-radio input { margin-top: 5px; }
.hg-entry__foot { margin-top: 48px; padding: 24px 20px 0; border-top: 1px solid var(--hg-rule); font-size: 13px; line-height: 1.8; color: var(--hg-ink-sub); text-align: center; }
.hg-entry__foot a { color: inherit; }
