
            body {
                margin: 0px;
            }


.main-video-wrap {
  position: relative;
  width: 100%;
  /*aspect-ratio: 16/9; /* 16:9の比率 */
  overflow: hidden;
}
#main-visual,video {
  width: 100%;
}

/*メイン動画にかぶせる場合用*/
.main-copy {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  z-index: 1;
}

	
.common_tit.under-text{
    margin-bottom: 5rem;
}
.h1-under-text{
    margin-bottom: 8rem;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    line-height: 2.6;
}
@media screen and (max-width: 768px) {
    .h1-under-text {
        margin-bottom: 4rem;
        font-size: 1.5rem
    }
}



.l-header .header_inner{
justify-content:flex-start;
padding:2rem 5%;
}

.mark > span::after{
	content: "\f105";
font-family: FontAwesome;
	padding-left:20px;
	transform: rotate(90deg) translateX(-8px);
 } 

nav{
padding-top:20px;
display:flex;
justify-content:space-between;
flex-basis:calc(100% - 25.3rem);
}
/* ナビゲーションメニュー */
.nav-menu {

background-color: #fff;
padding-left:100px;
}
.menu-list {
  display: flex;
  justify-content: center; /* メニューアイテムを中央揃えに */
}
.menu-item {
  position: relative;
　background-color: #fff;
}
.menu-item:last-child {
}

/* メニューアイテムのホバースタイル */
.menu-item:hover .drop-menu-list,
.drop-menu-item:hover .drop-menu-list-child {
  opacity: 1; /* 不透明度を最大に */
  transition: opacity .3s, visibility .3s; /* アニメーション設定 */
  visibility: visible; /* 下層メニューを表示 */
}

.menu-item a,.menu-item span {
  align-items: center;
  display: flex;
  height: 50px;

  text-decoration: none; /* リンクの下線を非表示 */
  width: 100px;
  cursor:pointer;
  line-height:20px;	
}

.drop-menu-list a{
 width: 160px;
padding:5px 10px;
}


.l-header .list a {
  align-items: center;
  display: flex;
  height: 50px;
  justify-content: center;
}

/* ドロップダウンメニュー */
.drop-menu {
  position: relative;
}
.drop-menu-item {
  position: relative;
}

/* ドロップダウンメニューのスタイル */
.drop-menu-list-child {
}
.drop-menu-list {
  left: 0;
background-color: #fff;
opacity: 0; /* 不透明度を最小に */
  position: absolute;
  top: 100%;
  transition: opacity .3s, visibility .3s; /* アニメーション設定 */
  visibility: hidden; /* 下層メニューを非表示 */
  width: max-content;
  z-index: 1;
}

/* 下層メニューのスタイル */
.drop-menu-list-child {
background-color: #fff;
left: 100%;opacity: 0; /* 不透明度を最小に */
position: absolute;top: 0;
transition: opacity .3s, visibility .3s;
/* アニメーション設定 */visibility: hidden; /* 下層メニューを非表示 */
width: max-content;z-index: 1;
}

@media screen and (max-width: 768px){

.l-header .header_inner{
justify-content:space-between;
}

.nav-menu{
margin-top: 4rem;
padding-left:0px;
}

.header_link{
display:block;
}

.menu-list,.drop-menu-list {
  flex-direction:column;
}

.menu-item{
width:100%;
border-bottom:1px solid #c2a34b;
}
.menu-item .drop-menu-list,
.drop-menu-item .drop-menu-list-child {
opacity:1;
}

.drop-menu-list,.drop-menu-list-child{
width:100%;
}
.drop-menu-item{
display:flex;
flex-direction:column;

}

/*.drop-menu-list-child{
position:static;
}*/

}




/* ナビハンバーガー自 */
@media (max-width: 768px) {

.menu-item a{
padding:0 10px;

}

 .l-header .header_link_inner {
        padding-top:0;
margin:0;
}

.l-header .list{
margin-top:0;
border:none;
}

}




/*-----------*/
/* ===== ヒーロー（動画）だけに限定 ===== */
.main-video-wrap {
  position: relative;
  height: 70svh;               /* 画面ぴったり（iOSバー変動にも強い） */
  overflow: hidden;
  background: #000;
}

/* グローバル video ルールの影響を受けないように、ここだけ幅/高さを管理 */
.main-video-wrap .main-video {
  position: absolute;
  inset: -15% 0;                 /* 上下に余白を確保（強い視差でも黒が出にくい） */
  width: 100%;
  height: 130%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  transform: translate3d(0,0,0) scale(1.05);
  will-change: transform;
  backface-visibility: hidden;
}

/* 狭幅はさらに余裕を増やす */
@media (max-width: 768px) {
  .main-video-wrap .main-video {
    inset: -20% 0;
    height: 140%;
    transform: translate3d(0,0,0) scale(1.08);
  }
}

/* 他の画像はそのままに（必要なら残す） */
.box_img > img {
  transform: none !important;
  will-change: auto !important;
}

/* 動きを抑制しているユーザーには無効化 */
@media (prefers-reduced-motion: reduce) {
  .main-video-wrap .main-video { transform: none !important; }
}


/* 768px以下＆縦向きのときだけ “半分の高さ” */
@media (max-width: 768px) and (orientation: portrait) {
  .main-video-wrap {
    height:50vh;              /*50svh ← ここがポイント：画面の半分の高さ */
  }
  /* 半分でも黒が出ないように、動画の余白は少し強め維持 */
  .main-video-wrap .main-video {
    inset: -20% 0;
    height: 120%;
    transform: translate3d(0,0,0) scale(1.08);
  }
}
/*----------------*/
/* ===== SPナビの折りたたみ（768px以下） ===== */
@media (max-width: 768px) {
  /* 初期状態は非表示（高さ0/透明/非表示） */
  .drop-menu-list,
  .drop-menu-list-child {
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: max-height .3s ease, opacity .2s ease, visibility .2s ease;
    position: static;  /* SPでは絶対配置不要 */
    width: 100%;
    border-top: 1px solid #eee; /* 任意：区切り */
  }

  /* 親（第一階層）を開く */
  .menu-item.open > .drop-menu-list {
    max-height: 1200px;  /* 十分大きめに */
    opacity: 1;
    visibility: visible;
  }

  /* 子（第二階層）を開く */
  .drop-menu-item.open > .drop-menu-list-child {
    max-height: 1200px;
    opacity: 1;
    visibility: visible;
  }

  /* 1行をタップしやすく */
  .menu-item > a,
  .drop-menu-item > a,.menu-item > span
  {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 16px;
  }

}
@media (max-width: 768px) {
  /* span と button を “押せる見た目” に */
  .menu-item.has-sub > span.menu-label,
  .drop-menu-item.has-sub > span.menu-label,
  .menu-item.has-sub > button.toggle-btn,
  .drop-menu-item.has-sub > button.toggle-btn {
    cursor: pointer;
    user-select: none;
  }

  /* トリガ行を横並びに（ラベル + ▼） */
  .menu-item.has-sub > span.menu-label,
  .drop-menu-item.has-sub > span.menu-label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 16px;
  }


}

/* ▼ リカー（第1階層）の矢印を右端に・回転させる（SP） */
@media (max-width: 768px) {
  /* 行の土台 */
  .menu-item.has-sub {
    position: relative;
  }

  .mark > span::after{
    content:"";
  }

  /* ラベルを1行・全幅に。右にボタン分の余白を確保 */
  .menu-item.has-sub > span.menu-label {
    display: block;
    width: 100%;
    padding: 0 44px 0 12px;    /* 右44px＝矢印ぶんのスペース */
    line-height: 50px;         /* 高さをaと揃える */
    text-align: left;          /* 中央寄せを解除して左寄せ */
  }

  /* 右端の▼ボタンを絶対配置で横並びに */
  .menu-item.has-sub > button.toggle-btn {
    position: absolute;
    right: 12px;
    top: 50%;
    /*transform: translateY(-50%) rotate(0deg);*/
    transition: transform .2s ease;
    line-height: 1;
    background: transparent;
    border: none;
    padding: 6px;
    cursor: pointer;
  }
  /*.menu-item.open > button.toggle-btn {
    transform: translateY(-120%) rotate(-180deg);
  }*/

  /* 第2階層（子）の矢印も右端＆回転（aの擬似要素で） */
  .drop-menu-item.has-sub > a {
    position: relative;
    padding-right: 44px;       /* 右に矢印スペース */
    text-align: left;
  }
  .drop-menu-item.has-sub > a::after {
    content: "\f107";
    font-family: FontAwesome;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform .2s ease;
    font-size: 0.8em;
  }
  .drop-menu-item.open > a::after {
    transform: translateY(-50%) rotate(-180deg);
  }

  /* a / span の共通：幅100%・左寄せ（既存の幅120px/中央寄せを打ち消す） */
  .menu-item > a,
  .menu-item > span.menu-label,
  .drop-menu-item > a {
    width: 100%;
    justify-content: flex-start;
  }
}
@media (max-width: 768px) {
  /* 見出し行 */
  .menu-item.has-sub .menu-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:0 12px;
    height:50px;           /* 行の高さ固定 */
    box-sizing:border-box;
  }
  .menu-item.has-sub .menu-label{
    line-height:1;
  }

  /* ▼はフロー内で右寄せ（absoluteやtop:50%は使わない） */
  .menu-item.has-sub .toggle-btn{
    background:transparent;
    border:none;
    padding:6px 8px;
    line-height:1;
    cursor:pointer;
    transform:rotate(0deg);
    transition:transform .2s ease;
  }
  .menu-item.open .toggle-btn{
    transform:rotate(-180deg);
  }

  /* 子の矢印（第2階層） */
  .drop-menu-item.has-sub > a{
    position:relative;
    padding-right:44px;
    text-align:left;
  }
  .drop-menu-item.has-sub > a::after{
    content: "\f107";
    font-family: FontAwesome;
    position:absolute;
    right:12px;
    top:50%;
    transform:translateY(-50%) rotate(0);
    transition:transform .2s ease;
    font-size:.8em;
  }
  .drop-menu-item.open > a::after{
    transform:translateY(-50%) rotate(-90deg);
  }

  /* 折りたたみ本体（あなたのmax-heightトランジションはそのままでOK） */
  .drop-menu-list,
  .drop-menu-list-child{
    position:static;
  }

.menu-item a,.menu-item span {
width:100%;
}

}

/*タッチ用*/
/* === PCレイアウト（横並び/横出し）は幅で判定 === */
@media (min-width: 1025px) {
  .nav-menu .menu-list { display: flex; }
  .menu-item { position: relative; }
  .drop-menu-list {
    position: absolute; top: 100%; left: 0;
    opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
    width: max-content; z-index: 10;
  }
  .drop-menu-list-child {
    position: absolute; top: 0; left: 100%;
    opacity: 0; visibility: hidden; transition: opacity .2s, visibility .2s;
    width: max-content; z-index: 10;
  }

  /* ふつうはホバーで開く */
  .menu-item:hover > .drop-menu-list { opacity: 1; visibility: visible; }
  .drop-menu-item:hover > .drop-menu-list-child { opacity: 1; visibility: visible; }
}

/* === タッチ端末でPCレイアウトを使う場合（見た目はPC、操作はタップ） === */
html.touchlike-desktop @media (min-width: 1025px) {
  /* ホバー開きを無効化 */
  .menu-item:hover > .drop-menu-list,
  .drop-menu-item:hover > .drop-menu-list-child { opacity: 0; visibility: hidden; }

  /* .open で開く */
  .menu-item.open > .drop-menu-list { opacity: 1; visibility: visible; }
  .drop-menu-item.open > .drop-menu-list-child { opacity: 1; visibility: visible; }

  /* 見た目の矢印（a と span 両対応） */
  .has-sub > a::after,
  .has-sub > .menu-head::after {
    content: "\f107";
    font-family: FontAwesome;
    font-size: .8em; 
    margin-left: 8px; 
    transition: transform .2s;
  }
  .open.has-sub > a::after,
  .open.has-sub > .menu-head::after { transform: rotate(-180deg); }



	
}

@media (hover: none),(min-width: 1025px) {
	.main-video-wrap{
	height:70vh;
}
}
	

/* スマホ縦積みのスタイルは今の @media (max-width:768px) のままでOK */

.has-sub > a::after,
.has-sub > span::after {
  content: "\f107";
font-family: FontAwesome;
  display: inline-block;
  margin-left: 6px;
  padding: 4px;
  transform: rotate(-90deg);    /* ▼ 下向き（デフォルト） */
  transition: transform .2s ease;
}