@charset "utf-8";

/*----------------------------*/
/*タグ再定義*/
/*----------------------------*/
*,
*::after,
*::before{ margin:0; padding:0; box-sizing: border-box; min-width: 0;}
html { -moz-text-size-adjust: none; -webkit-text-size-adjust: none; text-size-adjust: none}
body{ font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","游ゴシック", sans-serif; font-weight: 500; line-height: 1.77;overflow-wrap: break-word; font-feature-settings: "palt";}
footer{ text-align: center; padding: min(60px,4.6875%) 5%;}
img { border: none; height: auto; display: block;margin: auto;}
a {color: inherit;}
ul,ol{list-style-type: none;}
h1,h2,h3,h4,h5,h6{line-height: 1.55;text-wrap: balance}
table, td, th{text-align: left;}
table{table-layout: fixed; width: 100%;}
input,button,textarea,select {font: inherit}
@media (hover: hover) {
  a { opacity: 1; transition: .3s ease;}
  a:hover { opacity: 0.7; text-decoration: none;}
}
@media(prefers-reduced-motion:no-preference) {
  /* 視覚効果を無効化していない環境に適用 */
  html { scroll-behavior: smooth }
  :target { scroll-margin-top: 3rem;}
}
@media screen and (min-width: 768px){
  img { max-width: 100%;}
  footer{ font-size: 20px;}
}
@media screen and (max-width: 767px){
  img { width: 100%;}
  footer{ font-size: 10px;}
}

/*----------------------------*/
/*コンテンツスタイル*/
/*----------------------------*/
.wrapper{overflow-x: hidden;}
.section5{background: #000;}
.section9 ul li iframe{width: 100%;height: auto; object-fit: fill;aspect-ratio: 4/3;}
@media screen and (min-width: 768px){
  .section__inner{display: flex;flex-direction: column; align-items: center; max-width: 1280px; margin: auto;}
  div.wrap-full{width: 100vw;}
  img.img-full{width: 100vw; max-width: none; object-fit: cover;}
  .eyecatch{background: url(images/eyecatch-bg@2x.jpg) no-repeat center top/cover;}
  .section1{background: #000 url(images/sec1-bg@2x.jpg) no-repeat center top/100% auto;}
  .section1 .header{background: url(images/sec1-bg02@2x.png) no-repeat center top/100% 100%;}
  .section2{background: url(images/sec2-bg@2x.jpg) center/cover;}
  .section3 .header img{max-height: 600px;}
  .section3 .belt{ position: relative;z-index: 0;}
  .section3 .belt::before{content: ""; width: calc((100vw - 1280px)/2 + 1330px); position: absolute;right: 0; top: 0; height: min(53.125vw,680px); background: #000;z-index: -1;}
  .section4 .header img{max-height: 600px;}
  .section4 .belt{ position: relative;z-index: 0;}
  .section4 .belt::before{content: ""; width: calc((100vw - 1280px)/2 + 1330px); position: absolute;right: 0; top: 0; height: min(53.125vw,680px); background: #000;z-index: -1;}
  .section6 .belt{ position: relative;z-index: 0;}
  .section6 .belt::before{content: ""; width: 50%; position: absolute;left: 0; top: 0; height: 100%; background: #000;z-index: -1;}
  .section7{background: #000 url(images/sec7-bg@2x.jpg) no-repeat center top/100% auto;}
  .section7 .img-full{max-height: 600px;}
  .section8 .belt{ position: relative;z-index: 0; padding-bottom: 9.375%;}
  .section8 .belt::before{content: ""; width: calc((100vw - 1280px)/2 + 1330px); position: absolute;left: min(calc((100vw - 1280px)/-2),0px); top: 0; height: 100%; background: #000;z-index: -1;}
  .section8 .button img{margin-left: 53.515625%;width: 37.5%;}
  .section9 .movie{ background: #000; padding: min(90px,7%) 5%;}
  .section9 ul{display: flex; gap: min(23px, 1.8%); justify-content: center; max-width: 1100px; margin: auto;}
  .section9 ul li{flex: 1 1;}
}
@media screen and (max-width: 767px){
  .section1{background: #000 url(images/sec1-bg-sp@2x.jpg) no-repeat center top/100% auto;}
  .section7{background: #000 url(images/sec7-bg-sp@2x.jpg) no-repeat center top/100% auto;}
  .section8 .belt{margin-right: 2.66vw; background: #000; padding: 0 4.66vw 10.66vw;}
  .section9 .movie{ background: #000; padding: 5.33vw 4.66vw 10.66vw;}
  .section9 ul li:first-child{margin-bottom: 10px;}

}

@media screen and (min-width: 768px){
  footer ul{
    display: flex;
    justify-content: center;
    gap: 2em;
  }

  footer ul li{
    white-space: nowrap;
    font-size: 0.875rem; 
  }
}

footer ul li a {
  text-decoration: none;
}

footer ul {
  margin-bottom: 1em; 
}


/* ===== フローティングバナー ===== */

/* バナー本体 */
#floatingBanner {
  margin: 0 auto;
  text-align: center;
}

/* ===== フローティング帯 ===== */
#floatingBar {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 15px;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9998;

  /* 初期状態（表示） */
  opacity: 1;
  transform: translateY(0);

  transition: opacity .3s ease, transform .3s ease;
}

/* 非表示 */
#floatingBar.hide {
  opacity: 0;
}