@charset "UTF-8";
/* ============================================================
   2026年版 追加スタイル
   カンプ: docs/化石発見クルーズ202601_260727確認用+.jpg（375px幅・実寸1:1）
   既存 index.css には手を入れず、2026年の追加分はこのファイルに集約する
   ============================================================ */

/* --- 余白リズム調整（2026-07-28指示: ボタン→Go!Goshoura!は広め52px、
       セクション間の広すぎる余白は45〜56px帯に圧縮） --- */
.divide_go { margin-top: 52px; }
main > .btn_omousikomi.btn2026 { margin-top: 56px; }

/* --- CTAボタン群 --- */
.cta2026 { margin-top: 56px; }
.cta2026 .btn_omousikomi { margin: 0 auto; }
.cta2026 .btn_omousikomi + .btn_omousikomi { margin-top: 26px; }
.btn2026 img { width: 100%; display: block; }
/* tryalボタンのみ前面SVGがバッジ分（13.51/73.63）背が高く、影SVGは本体高60.12のみ。
   影の基準位置を本体下端に合わせて補正する */
.btn2026 a[data-cta="tryal"] .btn_booking_back { top: 28.1%; }
.btn2026:hover a[data-cta="tryal"] .btn_booking_back { top: 29.8%; left: 3%; }
.btn2026.is-ready { cursor: default; }
.btn2026.is-ready:hover .btn_booking { top: 0; }
.btn2026.is-ready:hover .btn_booking_back { top: 12%; left: 2%; filter: none; }

/* 昨年版の「CTAホバーでGo! Goshoura!罫線がスライドする」演出の引き継ぎ。
   新構造ではボタンがラッパー/section内にあるため :has() で到達させる
   （keyframes slide は index.css 定義を流用） */
.cta2026:has(a[data-cta]:hover) + .divide_go,
.tryal2026:has(a[data-cta]:hover) + .divide_go {
	animation: slide 0.15s ease;
	transition: filter 0.1s ease;
}

/* --- 夏の早朝・宿泊プラン --- */
.tryal2026 { margin-top: 69px; }
.tryal2026 img { display: block; }
.tryal2026 .w100 { width: 100%; }
.tryal2026 h2 { margin: 0; }
.tryal_title { width: 100%; }
.tryal_photo { width: 86.7%; height: auto; margin: 0 auto; }
.tryal_sch { width: 86.7%; margin: 30px auto 0; }
.tryal_fees { display: flex; justify-content: space-between; width: 86.7%; margin: 16px auto 0; }
.tryal_fees img { width: 31.6%; height: auto; }
.tryal_hr { border: none; border-top: 1px solid #c9c9c9; margin: 28px auto; width: 86.7%; }
.tryal_msch_title { width: 73.9%; margin: 0 auto; }
.tryal_msch { width: 78.5%; margin: 16px auto 0; }
.prec_toggle { cursor: pointer; width: 100%; }
.prec_toggle img { width: 100%; }
.prec_toggle .img-open { display: none; }
.prec_toggle.open .img-closed { display: none; }
.prec_toggle.open .img-open { display: block; }
.prec_container { width: 100%; border: none; margin: 0; }
/* 展開時の行間：小見出し→本文24px／本文→旅行条件書20px（他行の区切り28pxに揃うリズム） */
.prec_container > img { margin-top: 24px; }
.prec_container .tl_conditions { display: inline-block; margin: 20px 0 12px 6.65%; font-size: 15px; color: #222; text-decoration: none; font-weight: 500; font-family: 'Noto Sans JP', sans-serif; }
.prec_container .tl_conditions img { display: inline-block; width: 14px; margin-left: 6px; vertical-align: -1px; }
.tryal2026 .btn_omousikomi { margin: 44px auto 0; }

/* --- 航行ルート（ツアー紹介）の写真キャプション：右端が揃うジャスティファイ組み・
       カンプ準拠のツメ組み（13px/1.62・palt） --- */
/* 写真(.parabox_maru=85%)の両端から8pxずつインデント（2026-07-28指示） */
.pic_txt { text-align: justify; line-break: strict; width: calc(85% - 16px); font-size: 13px; line-height: 1.62; letter-spacing: .03em; font-feature-settings: "palt"; }

/* --- 航行ルート・行程（2026テキスト実装。カンプ実測: リード12px中央／
       行程ボックス#f8f5ee・幅86.7%・角丸6px・本文12px両端揃え） --- */
.route2026 { margin-top: 69px; }
.route2026 .route_tit { margin: 0; }
.route_lead { margin: 20px auto 0; width: 86.7%; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-size: 12px; line-height: 1.6; letter-spacing: .04em; color: #1a1a1a; font-feature-settings: "palt"; }
/* 2026-07-28指示: 囲みを少し細く・内側の左右余白を広く（結果として若干縦長に） */
.route_box { width: 83%; margin: 14px auto 0; background: #f8f5ee; border-radius: 6px; padding: 18px 24px; box-sizing: border-box; }
.route_box p { margin: 0; font-family: 'Noto Sans JP', sans-serif; font-size: 12px; line-height: 1.7; letter-spacing: .03em; color: #1a1a1a; text-align: justify; line-break: strict; font-feature-settings: "palt"; }

/* --- オプションプログラム：化石クリーニング体験（カンプ実測: 全体ベージュ角丸パネル・
       左右14pxマージン・内側パディング29px） --- */
/* 2026-07-28指示: パネル両サイドの余白を拡大（14→22px）。内側は29→26pxに微調整し
   写真・キャプションは%指定のため自動で追従 */
.option2026 { margin-top: 48px; padding: 0 22px; }
.option_panel { background: #f8f5ee; border-radius: 10px; padding: 36px 26px 42px; }
.option_panel img { display: block; }
.option_head { margin: 0; }
.option_head img { width: 121px; margin: 0 auto; }
.option_tit { margin: 16px 0 0; }
.option_tit img { width: 191px; margin: 0 auto; }
.option_price, .option_when { margin: 0; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-size: 12px; line-height: 1.7; letter-spacing: .04em; color: #1a1a1a; font-feature-settings: "palt"; }
.option_price { margin-top: 16px; }
.option_desc { margin: 26px 0 0; font-family: 'Noto Sans JP', sans-serif; font-size: 12.5px; line-height: 1.7; letter-spacing: .03em; color: #1a1a1a; text-align: justify; line-break: strict; font-feature-settings: "palt"; }
.option_fig { margin: 34px 0 0; }
.option_fig img { width: 100%; height: auto; border-radius: 8px; }
.option_fig figcaption { margin-top: 4px; padding: 0 4px; font-family: 'Noto Sans JP', sans-serif; font-size: 11px; line-height: 1.55; letter-spacing: .03em; color: #1a1a1a; text-align: justify; line-break: strict; font-feature-settings: "palt"; }

/* --- Q&A（テキスト実装・カンプ実測: 背景#f8f5ee／本文13px／行送り約21px／
       ぶら下げインデント20px／項目間18px。#faqは index.css の旧ID指定を上書き） --- */
#faq.qa2026 { background: #f8f5ee; text-align: left; margin-top: 72px; padding: 50px 32px 48px; }
.qa2026 .qa_tit { margin: 0 0 50px; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-weight: 700; font-size: 28px; line-height: 1; letter-spacing: .08em; color: #1a1a1a; }
.qa2026 .qa_tit span { font-size: 18px; margin: 0 3px; vertical-align: 3px; }
.qa2026 .qa_list { margin: 0; }
.qa2026 .qa_item { margin-top: 18px; }
.qa2026 .qa_item:first-child { margin-top: 0; }
.qa2026 dt, .qa2026 dd { margin: 0; padding-left: 20px; position: relative; text-align: justify; line-break: strict; font-family: 'Noto Sans JP', sans-serif; font-size: 13px; line-height: 1.62; letter-spacing: .03em; color: #1a1a1a; font-feature-settings: "palt"; }
.qa2026 dt { font-weight: 700; }
.qa2026 dd { font-weight: 400; }
/* ラベルは絶対配置：折り返し行の頭が本文1行目と完全に揃う */
.qa2026 dt::before, .qa2026 dd::before { position: absolute; left: 0; top: 0; }
.qa2026 dt::before { content: "Q."; }
.qa2026 dd::before { content: "A."; }

/* --- クリーニング写真のパララックス（ルート写真①〜⑤と同じ simpleParallax を適用。
       .paraimg自体がscale(1.2)されるため .para_crop で切り抜く=.parabox_maruと同構造） --- */
/* 2026-07-28指示: 元写真の全幅を見せる。パララックスは専用グループ(paraimg2)でスケール1.1に抑え、
   画像を90.91%幅で置く=拡大後にちょうど枠の全幅。枠は少し横長の20:13 */
.option_fig .para_crop { border-radius: 8px; overflow: hidden; aspect-ratio: 20 / 13; }
.option_fig .paraimg2 { width: 90.91%; margin: 0 auto; }
.option_fig .paraimg2 img { border-radius: 0; width: 100%; display: block; }

/* Go!Goshoura!下の余白150%（divider→写真の実効間隔 70px→105px。既存padding40pxとの合算） */
#gosho_about { margin-top: 65px; }

/* --- 御所浦情報 冒頭（テキスト実装・カンプ実測: 写真375×220フルブリード／
       タイトル19px・写真から41px／リード13px両端揃え・行送り約24px） --- */
/* セクションが width:80% のため、写真だけ全幅にブレイクアウト（100/80=125%） */
#gosho_about .gosho_photo { display: block; width: 125%; max-width: none; margin-left: -12.5%; height: auto; }
/* 見出し階層の調整（2026-07-28指示: セクション名＞小見出しの序列にする） */
#gosho_about .gosho_tit { margin: 41px 0 0; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-size: 22px; font-weight: 700; letter-spacing: .1em; color: #1a1a1a; }
#gosho_about h4 { font-size: 18px; margin-top: 42px; }
#gosho_about h4 span { font-size: 12px; padding: 0 3px; box-sizing: border-box; }  /* 60%比率のままだと縮みすぎるため固定 */
/* リード幅は下のカード類（セクション幅いっぱい）に合わせる */
#gosho_about .gosho_lead { margin: 38px auto 0; width: 100%; font-family: 'Noto Sans JP', sans-serif; font-size: 13px; line-height: 1.8; letter-spacing: .03em; color: #1a1a1a; text-align: justify; line-break: strict; font-feature-settings: "palt"; }

/* --- お問い合わせ（テキスト実装・カンプ準拠。アイコンは inq.svg から切り出し） --- */
/* #inq{margin:0 auto}（index.cssのID指定）に勝つようIDを含めて指定 */
#inq.inq2026 { margin-top: 93px; }
.inq2026 { text-align: center; font-family: 'Noto Sans JP', sans-serif; color: #1a1a1a; font-feature-settings: "palt"; }
.inq2026 p { margin: 0; }
.inq2026 .inq_tit { margin: 0; font-size: 22px; line-height: 1; font-weight: 700; letter-spacing: .1em; }
.inq2026 .inq_mail { margin-top: 57px; }
.inq2026 .inq_mail img { display: inline-block; vertical-align: top; }
.inq2026 .inq_company { margin-top: 48px; font-size: 15px; line-height: 1.3; font-weight: 700; letter-spacing: .05em; }
.inq2026 .inq_brand { margin-top: 8px; font-size: 12px; letter-spacing: .04em; }
.inq2026 .inq_tel1 { margin-top: 27px; }
.inq2026 .inq_tel1 a { font-size: 26px; line-height: 1.1; display: inline-block; font-weight: 700; color: #1a1a1a; text-decoration: none; letter-spacing: .02em; }
.inq2026 .ic_tel { display: inline-block; width: 22px; height: auto; margin-right: 9px; vertical-align: -1px; }
.inq2026 .inq_tel2 { margin-top: 46px; }
.inq2026 .inq_tel2 a { font-size: 22px; line-height: 1.1; display: inline-block; font-weight: 700; color: #1a1a1a; text-decoration: none; letter-spacing: .02em; }
.inq2026 .ic_mob { display: inline-block; width: 11px; height: auto; margin-right: 8px; vertical-align: 1px; }
.inq2026 .inq_note { margin-top: 9px; font-size: 12px; letter-spacing: .03em; }

/* --- フッター（テキスト実装・カンプ実測: bg #00a48a／リンク帯幅240px／
       会社名は明朝(Noto Serif JP)ワイドトラッキング） --- */
.foot2026 { background: #00a48a; margin-top: 90px; padding: 50px 25px 88px; text-align: center; color: #fff; font-family: 'Noto Sans JP', sans-serif; font-feature-settings: "palt"; }
.foot2026 p { margin: 0; }
.foot2026 img { display: inline-block; vertical-align: top; }
.foot2026 .ft_dandt { font-family: 'Futura PT', Futura, 'Century Gothic', 'Noto Sans JP', sans-serif; font-size: 12.5px; font-weight: 500; letter-spacing: .06em; }
.foot2026 .ft_logo { margin-top: 16px; }
.foot2026 .ft_company { margin-top: 38px; font-family: 'Noto Serif JP', 'Hiragino Mincho ProN', 'Yu Mincho', serif; font-size: 14.5px; font-weight: 500; letter-spacing: .35em; text-indent: .35em; }
/* 登録番号は管理者名とセット（2026-07-28指示で本社ブロックの下へ移動） */
.foot2026 .ft_license { margin-top: 30px; font-size: 11.5px; letter-spacing: .05em; font-weight: 300; line-height: 1.7; }
.foot2026 .ft_office { margin-top: 42px; }
.foot2026 .ft_office_tit { font-size: 13px; font-weight: 700; letter-spacing: .4em; text-indent: .4em; }
.foot2026 .ft_office_add { margin-top: 6px; font-size: 13.5px; line-height: 1.65; letter-spacing: .04em; }
.foot2026 .ft_office_add a { color: #fff; text-decoration: none; }
.foot2026 .ft_manager { margin-top: 0; font-size: 11.5px; letter-spacing: .06em; font-weight: 300; line-height: 1.7; }
.foot2026 .ft_links { margin: 36px auto 0; padding: 0; list-style: none; width: 240px; border-top: 1px solid rgba(255,255,255,.5); }
.foot2026 .ft_links li { border-bottom: 1px solid rgba(255,255,255,.5); }
.foot2026 .ft_links a { display: block; padding: 21px 0; font-size: 13px; color: #fff; text-decoration: none; letter-spacing: .06em; }
.foot2026 .ft_goshoura { margin-top: 58px; }

/* --- ドロワーメニュー項目（全てテキスト実装・2026-07-28指示） --- */
.menuBox nav ul { border-top: 1px solid #231815; }
.menuBox nav ul .menu_li_txt { margin: 0; }
.menuBox nav ul .menu_li_txt a { display: block; padding: 33px 0 35px; border-bottom: 1px solid #231815; text-align: center; font-family: 'Noto Sans JP', sans-serif; font-size: 20px; font-weight: 700; letter-spacing: .06em; color: #231815; text-decoration: none; font-feature-settings: "palt"; }
/* common.cssの #gHeader nav a span {display:block}（ID指定）に勝つためIDを含める */
#gHeader .menuBox nav ul .menu_li_txt .amp { display: inline; font-size: 15px; margin: 0 2px; vertical-align: 1px; }

/* --- ドロワー内フッター: ページフッターのスタイルを流用し、余白のみ調整。
       menuBoxのpadding(right23px/bottom38px)を打ち消してドロワー全幅・最下部まで敷く --- */
.foot2026-menu { margin-top: 56px; padding: 44px 25px 60px; width: calc(100% + 23px); margin-bottom: -38px; box-sizing: border-box; }

/* SPのドロワーは全幅にする（common.cssの max-width:350px と .menuBox.on の 85vw 指定を解除） */
@media all and (max-width: 750px) {
	.menuBox { max-width: none; }
	.menuBox.on { width: 100vw; max-width: none; }
}

/* --- SPドロワー調整（2026-07-28指示: センタリング／✕の位置とスクロール追従／
       タイトル=ページ先頭リンク化／先頭項目上の余白圧縮） --- */
/* タイトルをリンク化（位置指定はラッパーに移す。✕と重ならない幅に） */
.menuBox .tit_menu_wrap { position: absolute; top: 15px; left: 12px; width: 76%; z-index: 5; }
.menuBox .tit_menu_wrap a { display: block; }
.menuBox .tit_menu_wrap .tit_menu { position: static; width: 100%; top: auto; left: auto; }
/* ✕: 右上固定・ドロワーをスクロールしても追従（sticky） */
/* .close_btn(width55px/left71vw)と#gHeader系ID指定を無効化するためID込みで指定 */
#gHeader .menuBox .close { position: sticky; top: 0; left: auto; width: auto; z-index: 30; height: 0; }
#gHeader .menuBox .close a { position: absolute; top: 6px; right: 0; left: auto; display: block; padding: 12px 10px; }
#gHeader .menuBox .close img { width: 40px; display: block; }
@media all and (max-width: 750px) {
	/* 右パディングを除去して真のセンタリングに（フッターは100%幅に戻す） */
	.menuBox { padding-right: 0; }
	.foot2026-menu { width: 100%; }
	/* メニュー列・ボタン類をセンタリングし、先頭項目上の余白を圧縮（navのmargin-top:120pxを縮小） */
	#gHeader .menuBox nav { margin-top: 81px; }  /* 56px + 追加25px（2026-07-28指示） */  /* #gHeader nav{margin-top:120px}に勝たせる */
	.menuBox nav ul { margin: 0 auto !important; padding-top: 0; }
	.menuBox nav .btn_omousikomi { margin: 44px auto 0; width: 85%; }
	.menu_inq { left: 0; margin: 44px auto !important; }
}

/* --- PCドロワー: タイトルと✕の重なり回避のため幅を350→430pxに拡大（2026-07-28指示） --- */
@media all and (min-width: 751px) {
	.menuBox { width: 430px; max-width: 430px; right: -470px; padding-right: 0; }
	.menuBox.on { right: 0; }
	/* PC側もSPと同じくドロワー基準でセンタリング（ベースCSSの左40px固定を解除） */
	#gHeader .menuBox nav { margin-top: 81px; }
	.menuBox nav ul { margin: 0 auto !important; width: 88%; padding-top: 0; }
	.menuBox nav .btn_omousikomi { margin: 44px auto 0; width: 85%; }
	.menu_inq { left: 0; margin: 44px auto !important; }
}
