@charset "utf-8";
* {
  margin:0;
  padding:0;
  box-sizing: border-box;
}
body {
  font-family:"ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color:#000;
  line-height: 1.5em;
}
ul,ol {
  list-style-type:none;
}
a:hover {
  opacity:1.0;
}
a:focus {
  outline: none;
}
.content_wrap {
  max-width: 750px;
  margin:0 auto;
  overflow: hidden;
}
.content_wrap img {
  height:auto;
  display: block;
  height: auto;
  vertical-align:top;
  border: 0;
  max-width: 100%;
  margin:0;
}
.content_wrap video {
  width: 100%;
  display: block;
  height: auto;
  vertical-align:top;
  border: 0;
  outline: none;
}
.content_wrap a {
  display: block;
}
.content_wrap .rl {
  position: relative;
}
.content_wrap .video01 {
  position: absolute;
  width: 92%;
  left:4%;
  top:23.06%;
}
.content_wrap .pt01 li {
  position: absolute;
  z-index: 2;
}
.content_wrap .pt01 li:nth-of-type(1) {
  width:60.13%;
  top:43.34%;
  left:24.66%;
  transition: 1.2s 0s;
  clip-path: inset(0% 100% 0% 0%);
}
.content_wrap .pt01 li:nth-of-type(2) {
  top:50.3%;
  right:16.3%;
  width:13.46%;
  transition: 0.8s 1s;
  clip-path: inset(0% 0% 100% 0%);
}
.content_wrap .pt01.pt01-2 li:nth-of-type(1) {
  top:43.9%;
}
.content_wrap .pt01.pt01-2 li:nth-of-type(2) {
  top:50.7%;
}
.content_wrap .pt01 li.inview_active,.content_wrap .pt01 li.inview_active ~li {
  clip-path: inset(0%);
}
.content_wrap .pt03 li {
  position: absolute;
  z-index: 2;
}
.content_wrap .pt03 li:nth-of-type(1) {
  width:55.2%;
  top:26.86%;
  left:25.6%;
  transition: 1.2s 0s;
  clip-path: inset(0% 100% 0% 0%);
}
.content_wrap .pt03 li:nth-of-type(2) {
  top:33%;
  right:16%;
  width:13.46%;
  transition: 0.8s 1s;
  clip-path: inset(0% 0% 100% 0%);
}
.content_wrap .pt03.pt03-2 li:nth-of-type(1) {
  top:26.2%;
}
.content_wrap .pt03.pt03-2 li:nth-of-type(2) {
  top:32.1%;
}
.content_wrap .pt03 li.inview_active,.content_wrap .pt03 li.inview_active ~li {
  clip-path: inset(0%);
}
.content_wrap .pt04 {
  position: absolute;
  width: 15.76%;
  top:39.72%;
  right:15.2%;
  z-index: 3;
}
.content_wrap .pt04.pt04-2 {
  top:38.57%;
}
.content_wrap .pt04-1 {
  position: absolute;
  width: 7.33%;
  top:40.06%;
  left:23.46%;
  z-index: 3;
}
.content_wrap .pt04-1.pt04-1-2 {
  top:38.9%;
}
.content_wrap .pt06 li {
  position: absolute;
}
.content_wrap .pt06 li:nth-of-type(1) {
  width:22.8%;
  top:57.23%;
  left:42.13%;
  transition: 1s 0s;
  z-index: 3;
  clip-path: inset(0% 100% 0% 0%);
}
.content_wrap .pt06 li:nth-of-type(2) {
  top:68.93%;
  right:25.46%;
  width:11.73%;
  transition: 0.7s 0.8s;
  z-index: 2;
  clip-path: inset(0% 0% 100% 0%);
}
.content_wrap .pt06.pt06-2 li:nth-of-type(1) {
  top:37.7%;
}
.content_wrap .pt06.pt06-2 li:nth-of-type(2) {
  top:55.45%;
}
.content_wrap .pt06 li.inview_active,.content_wrap .pt06 li.inview_active ~li {
  clip-path: inset(0%);
}
.content_wrap .btn01 {
  width: calc( 91.33% + 4px );
  margin-left:5.33%;
  padding:45px 0 42px 0;
}
.content_wrap .video02 {
  position: absolute;
  width: 88.8%;
  left:5.4%;
  top:30.4%;
}
.content_wrap .video02 video {
  border:min(0.9vw,6px) solid #fff;
}
.content_wrap .video03 {
  position: absolute;
  width: 43.3%;
  right:5.7%;
  top:57.28%;
}
.content_wrap .video03 video {
  border:min(0.9vw,6px) solid #fff;
}
.content_wrap .btn02 {
  position: absolute;
  width: calc( 91.2% + 4px );
  top:70.31%;
  left:5.2%;
}
.content_wrap .hikari {
  border: 2px solid transparent;
  position: relative;
  overflow: hidden;
}
.content_wrap .hikari:before {
  content: "";
  animation: hikari 4s cubic-bezier(0.25, 0, 0.25, 1) infinite;
  background-color: #fff;
  width: 140%;
  height: 100%;
  transform: skewX(-45deg);
  top: -0;
  left: -140%;
  opacity: 0.5;
  position: absolute;
}
@keyframes hikari{
  0% {
    left: -160%;
    opacity: 0;
  }
  70% {
    left: -160%;
    opacity: 0.5;
  }
  71% {
    left: -160%;
    opacity: 1;
  }
  100% {
    left: -20%;
    opacity: 0;
  }
}
.content_wrap .video04 {
  position: absolute;
  bottom:0;
  left:0;
  width: 100%;
  z-index: -1;
}
.content_wrap .video05 {
  position: absolute;
  width: 92%;
  top:28.6%;
  left:4%;
}
.content_wrap .video06 {
  position: absolute;
  width: 100%;
  z-index: -1;
  top:0;
  left:0;
}
.content_wrap .accordionlist {
  padding:55px 0 60px 0;
}
.content_wrap .accordionlist dt {
  position: relative;
  cursor: pointer;
  padding:0 4%;
}
.content_wrap .accordionlist dt:before {
  position: absolute;
  content: "";
  top: 0;
  width: 20px;
  background: #e60115;
  height: 1px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  top: 50%;
  right: 9.6%;
  transition: .3s all;
}
.content_wrap .accordionlist dt:after {
  position: absolute;
  content: "";
  top: 0;
  width: 20px;
  background: #e60115;
  height: 1px;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  top: 50%;
  right: 9.6%;
  transition: .3s all;
}
.content_wrap .accordionlist dt.active:before {
  display: none;
}
.content_wrap .accordionlist dt.active:after {
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}
.content_wrap .accordionlist dd {
  display: none;
}
.fnavi {
  width: 100%;
  margin: 0 auto;
  padding: 30px 0 65px 0;
  display: flex;
  justify-content: center;
}
.fnavi li {
  padding:0 15px;
  line-height: 1.1em;
}
.fnavi li:not(:nth-of-type(1)) {
  border-left:1px solid #000;
}
.fnavi li a {
  color:#000;
  display: block;
  opacity: 1;
  text-decoration: none;
  font-size:18px;
}
.fnavi li a:hover {
  text-decoration: underline;
}
@media(max-width:749px) {
  .content_wrap img {
    width: 100%;
  }
  .content_wrap .btn01 {
    padding:6vw 0 5.6vw 0;
  }
  .content_wrap .accordionlist {
    padding:7.33vw 0 8vw 0;
  }
  .content_wrap .accordionlist dt:before {
    width: 2.66vw;
  }
  .content_wrap .accordionlist dt:after {
    width: 2.66vw;
  }
  .fnavi {
    padding: 4vw 0 8.6vw 0;
  }
  .fnavi li {
    padding:0 1.6vw;
    line-height: 1.0em;
  }
  .fnavi li a {
    font-size:2.8vw;
  }
}
.floating-banner{
  position:fixed;
  left:50%;
  bottom:8px;
  transform:translateX(-50%);
  z-index:9999;
  width: clamp(200px, 60vw, 750px);
  transition:opacity .3s;
}
.floating-banner img{
  width:100%;
  height:auto;
  display:block;
}
@media(max-width:749px){
  .floating-banner{
    bottom:6px;
    width: clamp(180px, 100vw, 400px);
  }
}
