/*
Theme Name: hikariguidagiappone
Theme URI: hikariguidagiappone.com
Author: fukumachi
Author URI: hikariguidagiappone.com
Description: スクロールスナップ完全対応版
Version: 1.1.0
*/

/* ==========================================================================
   1. スクロールスナップの強制適用
   ========================================================================== */

/* ブラウザ全体にスナップを命令 */
html {
    scroll-snap-type: y mandatory !important;
    scroll-behavior: smooth !important;
    /* 固定ヘッダーの高さ分、止まる位置を下にずらす */
    scroll-padding-top: 60px; 
    height: 100%;
    margin: 0;
    padding: 0;
}

/* テーマによる干渉（スクロールを阻害する設定）を無効化 */
body, #page, #content, main, article, .entry-content, .sec-box {
    display: block !important;
    height: auto !important;
    overflow: visible !important; /* ここが重要：hiddenだとスナップが死にます */
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   2. 各セクション（ブロック）の設定
   ========================================================================== */

.sec-block {
    width: 100%;
    /* 最低でも画面1枚分の高さを確保 */
    min-height: 100vh; 
    
    /* ここで「ピタッ」と止まるよう命令 */
    scroll-snap-align: start !important;
    scroll-snap-stop: always !important;
    
    /* 中身を中央に寄せる（任意） */
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    
    box-sizing: border-box;
    position: relative;
}

/* コンテンツが長い場合（旅行プラン等）のための調整 */
.sec-body {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 130px 20px 200px; /* ヘッダーとの被り防止 */
    box-sizing: border-box;
}

/* ==========================================================================
   3. ヘッダーと管理バーの設定
   ========================================================================== */

.site-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: #df7c14;
    z-index: 9999;
    display: flex;
    align-items: center;
}



/* WordPress管理バー表示中の位置補正 */
.admin-bar html {
    scroll-padding-top: 92px; /* 60px + 32px */
}

@media screen and (max-width: 782px) {
    .admin-bar html {
        scroll-padding-top: 106px; /* 60px + 46px */
    }
}

/* ==========================================================================
   4. 背景色とパーツ（動作確認用）
   ========================================================================== */
.sec-block{background: #df7c14; color: #fff; }
.sec-block a{color: #fff;text-decoration:underline;}
/* section#sec1 { background: #df7c14; color: #fff; }
section#sec2 { background: #f0f4f8; }
section#sec3 { background: #ffffff; }
section#sec4 { background: #f9fafb; }
以降のセクションも必要に応じて追加 */
.tal-c{text-align:center;}
.sec-flex-contener {
    display: flex;
    flex-wrap: wrap;
justify-content: space-around;
    gap: 0px;
    margin-top: 30px;
}
.sec-flex-contener2 {
    display: flex;
    flex-wrap: wrap;
justify-content: space-around;
    gap: 0px;
    margin-top: 30px;
}
.txt-shd-wh{color:#fff;text-shadow: 1px 1px 3px #999, 1px 1px 1px #333, 0px 0px 6px #333;}
.txt-shd-bk{color:#000;text-shadow: 1px 1px 3px #fff, 1px 1px 1px #fff, 0px 0px 6px #fff;}
.txt-bk{color:#000;}
.txt-wh{color:#fff;}
.mg-b20{margin-bottom:20px;}
.mg-b50{margin-bottom:50px;}
.mg-b100{margin-bottom:100px;}
.mg-b150{margin-bottom:150px;}
/* ==========================================================================
   5. ベースリセット
   ========================================================================== */

* { box-sizing: border-box; }
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Hiragino Sans", "Noto Sans JP", sans-serif;
    color: #1f2937;
}
a { color: #2563eb; text-decoration: none; }
img { max-width: 100%; height: auto;margin: 10px auto; }


/* ==========================================================================
   5. 背景
   ========================================================================== */
section#sec2 {
    background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/02/img-bk03-2.webp);
    background-size: cover;
}
section#sec3 {
    background-size: cover;
    background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/01/img-bk02.webp);
}
section#sec4 {
    background-size: cover;
    background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/02/img-bk04-2.webp);
}
section#sec5 {
    background-size: cover;
background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/01/img-bk09.webp);
}
section#sec6 {
    background-size: cover;
    background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/02/img-bk05-2.webp);
}
section#sec9 {
    background-size: cover;
    background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/01/img-bk01.webp);
}
section#sec18 {
    background-size: cover;
background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/01/img-bk06.webp);
}
section#sec21 {
    background-size: cover;
background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/01/img-bk07-2.webp);
}
section#sec20 {
    background-size: cover;
background-image: url(https://hikariguidagiappone.com/wp-content/uploads/2026/01/img-bk09-1.webp);
}



/* アニメーションの定義 */
/* 1. 最初（アニメーション前）の状態 */
.anm-slide-l {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* 2. 画面に入った時に追加するクラス */
.anm-slide-l.is-animated {
  opacity: 1;
  transform: translateX(0);
}
/* 1行ごとの共通スタイル */
.anm-line {
  display: block;
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

/* アニメーション実行時の状態 */
.is-animated .anm-line {
  opacity: 1;
  transform: translateX(0);
}

fieldset.hidden-fields-container {
    display: none;
}

input.wpcf7-form-control.wpcf7-submit.has-spinner {
    padding: 15px 30px;
    background: #58f94d;
    border: none;
    border-radius: 15px;
    font-size: 24px;
    cursor: pointer;
    box-shadow: 0px 0px 5px #894600;
}

input,textarea,select{font-size:16px;max-width:320px;}
.footer-copy {
    text-align: center;
    margin: 100px 0 30px 0;
}

/* Facebook button */
.btn-fb{
  --fb: #1877F2;
  --fb-hover: #166FE5;

  display: inline-flex;
  align-items: center;
  gap: .6em;

  padding: .75em 1.1em;
  border-radius: 9999px;

  background: var(--fb);
  color: #fff;
  text-decoration: none !important;
  font-weight: 700;
  line-height: 1;

  transition: transform .08s ease, background-color .15s ease, box-shadow .15s ease;
  box-shadow: 0 6px 16px rgba(24,119,242,.25);
}

/* アイコン（左側） */
.btn-fb::before{
  content: "";
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 1.15em;

  /* Facebook "f" icon (SVG) */
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath fill='%23fff' d='M279.14 288l14.22-92.66h-88.91V127.41c0-25.35 12.42-50.06 52.24-50.06H297V6.26S260.36 0 225.36 0c-73.22 0-121.08 44.38-121.08 124.72v70.62H22.89V288h81.39v224h100.2V288z'/%3E%3C/svg%3E");
}

.btn-fb:hover{
  background: var(--fb-hover);
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(24,119,242,.32);
}

.btn-fb:active{
  transform: translateY(0);
  box-shadow: 0 6px 16px rgba(24,119,242,.25);
}

.btn-fb:focus-visible{
  outline: 3px solid rgba(24,119,242,.35);
  outline-offset: 3px;
}

.fnt-type1 {
    font-style: italic;
}