/* ============================================= */
  /**************** スライダー ****************/
/* ============================================= */
.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}
.slide-items {
    list-style: none;
    position: relative;
    width: 100%;
    height: 93vh;
    overflow: hidden;
  }

.slide-items img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    transition: 4s linear transform .4s;
    object-fit: cover;
}
.slide-items .zoom {
transform: scale(1.05);
}
  
/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider .slick-slide {
    margin:0 10px;
}


/* ===== タブ ====== */

a{
  text-decoration:none;
}
.clear{
  clear:both;
}
.tab{
  width:100%;
  margin:10px auto;

  }
.tab a{  
  display:inline-block;
  width:100px;
  height:30px;
  /* float:left; */
  line-height:30px;
  background-color:#ca4027;
  color:#fff;
  font-size:13px;
  text-align:center;
  border-right:1px solid #672114;
}
.tab a:last-child{
  border:none;
}
.tabContainer{
  width:90%;
  max-width: 1000px;
  height:600px; 
  margin:0 auto;
  /* overflow:hidden; */
  text-align:center;
  position:relative;
  /* padding: calc(var(--space-50)*2); */
  box-sizing: border-box;
  }
.Tabcondent{
  position:absolute;
  width:50%;
  height:50%;
  /* background-color:#dc5f48; */
  color:#fff;
  text-align:center;
  opacity:0;
  border-radius:32px;left:0;
  right:0;
  top:0;
  bottom:0;
  margin:37px auto;
  transition:all ease-in-out 0.3s;
  /* display:none; */
  
  
  }
a.active{
  background-color:#672114;
}
.Tabcondent.active{
  width:100%;
  /* height:100%;  */
  opacity:1;
  border-radius:0px;
  transition:all ease-in-out 0.6s;
  /* margin:0 auto; */
  
}




/* =============================================
   SP Hamburger Menu（#g-nav / .openbtn1）差し替え版
   - 日本語：上（span）
   - 英語：下（aのテキストノード）
   - 歪み防止（高さ/スクロール/余白を整理）
============================================= */

/* ===== Overlay Nav ===== */
#g-nav{
  position: fixed;
  inset: 0;
  z-index: -1;
  background: #fff;
  color: #000;
  transform: translateY(-110%);
  -webkit-transform: translateY(-110%);
  transition: transform .55s ease, z-index 0s linear .55s;
  -webkit-transition: -webkit-transform .55s ease, z-index 0s linear .55s;
  overflow: hidden;
  width: 100%;

}

/* 開いた状態 */
#g-nav.panelactive{
  z-index: 999;
  transform: translateY(0);
  -webkit-transform: translateY(0);
  transition: transform .55s ease;
  -webkit-transition: -webkit-transform .55s ease;
}

/* ===== List wrapper ===== */
#g-nav ul{
  margin: 0;
  padding: 50px 0;   
  /* height: 100dvh;           iOSのアドレスバー対策 */
  /* overflow-y: auto;
  -webkit-overflow-scrolling: touch; */
}

/* ===== Items ===== */
#g-nav li{
  list-style: none;
  /* width: min(92vw, 520px); */
  margin: 0 auto;
  border-bottom: 1px solid rgba(0,0,0,.18);
  padding: 0;
}

/* hover */
#g-nav li:hover{
  background: var(--color-yellow, #ffe600);
}

/* ===== Link（日本語上/英語下）===== */
#g-nav li a{
  display: flex;
  flex-direction: column-reverse;   /* ← span(日本語)を上に */
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 15px 10px;
  text-decoration: none;

  /* 英語（aのテキスト側） */
  color: #9a9a9a;
  font-size: 12px;
  letter-spacing: .1em;
  line-height: 1.2;
}

/* 日本語（span） */
#g-nav li a span{
  width: auto;
  max-width: 92%;
  display: block;
  color: var(--color-000, #111);
    font-size: clamp(14px, 2.2vw, 18px);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.3;
  padding: 0;               /* 既存のpadding-leftを殺す */
}

/* 最上段の上罫線が欲しければ */
#g-nav li:first-of-type{
  border-top: 1px solid rgba(0,0,0,.18);
}

/* ===== CONTACT block（HTMLが div の中にある想定）===== */
#g-nav .slideNaviInner2{
  width: min(92vw, 520px);
  margin: 0 auto;
}

#g-nav .slideNaviInner2 .iconSp{
  border-bottom: 1px solid rgba(0,0,0,.18);
  padding: 0;
  width: 100%;
}

/* icon + link を横並び → 中身は縦（日本語上/英語下） */
#g-nav .slideNaviInner2 .iconSp{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

#g-nav .slideNaviInner2 .iconSp i{
  color: var(--color-navy, #00467F);
  font-size: 18px;
}

#g-nav .slideNaviInner2 .iconSp a{
  display: flex;
  flex-direction: column-reverse; /* 日本語上 */
  align-items: center;
  justify-content: center;
  gap: 6px;

  padding: 18px 10px;
  text-decoration: none;

  color: #111; /* CONTACTは目立たせる */
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .1em;
}

#g-nav .slideNaviInner2 .iconSp a span{
  color: #111;
  font-size: clamp(13px, 3.2vw, 18px);
  font-weight: 700;
  letter-spacing: .01em;
}

/* ===== TOPへ戻る（ボタン行）===== */
#g-nav li.button a{
  flex-direction: column;   /* 「TOPへ戻る」だけは1行でOKなら column */
  gap: 0;
  color: var(--color-navy, #00467F);
  font-weight: 800;
  letter-spacing: .01em;
}

#g-nav li.button a .return{
  padding-left: 0 !important;
  display: inline-flex;
  justify-content: center;
}

/* =============================================
   Hamburger Button（.openbtn1）
============================================= */
.openbtn1{
  position: fixed;
  z-index: 10000;
  top: 25px;
  right: 0px;
  cursor: pointer;
  width: 64px;
  height: 64px;
}

.openbtn1 span{
  display: inline-block;
  position: absolute;
  left: 12px;
  transition: all .35s ease;
}

/* 上下の線 */
.openbtn1 span:nth-of-type(1),
.openbtn1 span:nth-of-type(3){
  height: 3px;
  width: 40px;
  background: #fff;
  border: 1px solid var(--color-navy, #00467F);
  border-radius: 2px;
}

.openbtn1 span:nth-of-type(1){ top: 14px; }
.openbtn1 span:nth-of-type(3){ top: 44px; }

/* menu文字 */
.openbtn1 span:nth-of-type(2){
  top: 26px;
  left: 12px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--color-navy, #00467F);
  letter-spacing: .1em;
  line-height: 1;
  /* 影のゴリ押しは歪みやすいので控えめに */
  text-shadow: 0 1px 0 #fff, 0 -1px 0 #fff, 1px 0 0 #fff, -1px 0 0 #fff;
}

/* active：× */
.openbtn1.active span:nth-of-type(1){
  top: 22px;
  transform: rotate(-45deg);
  width: 34px;
  left: 13px;
}
.openbtn1.active span:nth-of-type(2){
  opacity: 0;
}
.openbtn1.active span:nth-of-type(3){
  top: 22px;
  transform: rotate(45deg);
  width: 34px;
  left: 13px;
}

/* =============================================
   SP Hamburger : CONTACT（崩れ修正）
   - <i> が <a> の外でもボタン内に見せる
============================================= */

#g-nav .slideNaviInner2{
  width: 100%;
  margin: 10px 0 0;
}

#g-nav .slideNaviInner2 .iconSp{
  width: 100%;
  margin: 0 auto;
  border: none;                 /* 罫線いらない */
  padding: 22px 0 18px;
  display: flex;
  justify-content: center;
  position: relative;           /* i を重ねるため */
  background: transparent;
}

/* 黄色ボタン本体 */
#g-nav .slideNaviInner2 .iconSp a{
  width: min(240px, 70vw);
  height: 150px;
  background: var(--color-yellow, #ffe600);
  border: 2px solid rgba(0,0,0,.18);
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: column-reverse; /* 日本語上 */
  align-items: center;
  justify-content: center;
  gap: 10px;
  text-decoration: none;
  padding-top: 22px;             /* アイコン分の余白 */
}

/* 日本語（上） */
#g-nav .slideNaviInner2 .iconSp a span{
  font-size: clamp(18px, 5vw, 22px);
  font-weight: 800;
  letter-spacing: .01em;
  color: #111;
  padding: 0;
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;           /* “お問い合わせ”を潰さない */
}

/* 英語（下） */
#g-nav .slideNaviInner2 .iconSp a{
  color: #111;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .2em;
}

/* 封筒アイコン：ボタン内の上に重ねる（iがaの外でもOK） */
#g-nav .slideNaviInner2 .iconSp i{
  position: absolute;
  left: 50%;
  top: 44px;
  transform: translateX(-50%);
  color: var(--color-navy, #00467F);
  font-size: 22px;
  pointer-events: none;
}


/* =============================================
   Optional：開いてるとき背景スクロール抑止（必要なら）
   ※ body に .is-nav-open を付けるJSがある場合のみ有効
============================================= */
/*
body.is-nav-open{
  overflow: hidden;
}
*/



/* ============================================= */
  /**************** Rainbow Globe BG *************/
/* ============================================= */
.bg-lightglobe{
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  background:
    radial-gradient(1200px 650px at 70% 15%, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(to bottom, #eefcff 0%, #ffffff 60%);
}
.bg-lightglobe__svg{
  width: 100%;
  height: 100%;
}

.ray{
  stroke-width: 1.6;
  opacity: .85;
  filter: drop-shadow(0 0 6px rgba(255,255,255,.35));
  transform-box: fill-box;         /* SVG transform安定 */
  transform-origin: center center; /* SVG transform安定 */
}

/* 7色（soft & light） */
.c1{ stroke:#ff8fa3;}
.c2{ stroke:#ffb37a;}
.c3{ stroke:#ffe08a;}
.c4{ stroke:#8fe3a1;}
.c5{ stroke:#8fe7dc;}
.c6{ stroke:#9fc8ff;}
.c7{ stroke:#d6a8ff;}




/* ========================================================== */
/* ==============  2023タプレット 1025px   ==================== */
/* ========================================================== */
@media screen and (max-width:1025px){
  .tabContainer{
    width:100%;
    height:600px; 
    }
}

/* ========================================================== */
/* ==============  2023スマホ     600px   ==================== */
/* ========================================================== */
@media screen and (max-width:600px){

}









/* ===== Hero Copy Fade (JP/EN) ===== */
.top-movie__copy [data-fade="jp"],
.top-movie__copy [data-fade="en"]{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 1.1s ease, transform 1.1s cubic-bezier(.16,1,.3,1);
  will-change: opacity, transform;
}

/* 表示状態 */
.top-movie__copy [data-fade="jp"].is-visible,
.top-movie__copy [data-fade="en"].is-visible{
  opacity: 1;
  transform: translateY(0);
}

