
/*
font-family: rogue-sans, sans-serif;
font-family: hiragino-kaku-gothic-pron, sans-serif;
*/

html{
  scroll-behavior: smooth;
  overflow-x: hidden;
  /* overflow: scroll;
  scroll-snap-type: y mandatory; */
}

:root{
  --color-bk:#222;
  --color-wh:#fafafa;
  --color-bl:#00E7F5;
  --color-pk:#FF3671;
  --color-container:#55C9FF;
}

body{
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  font-family: hiragino-kaku-gothic-pron, sans-serif;
  line-height: 1.4;
  font-weight: bold;
  color: var(--color-wh);
  background: #000;
  /* font-size: calc(16px + 0.5vw); */
  font-size: 14px;
}

a{
  text-decoration: none;
  color: var(--color-wh)
}

u{
  text-underline-offset: .2em;
}

h2 {
  font-weight: bold;
  font-size: 20px;
  padding: 0 .5em;
}

p{
  word-break: auto-phrase;
  overflow-wrap: break-word;
  line-break: strict;
}

@media screen and (min-width:768px) {
  body{
    font-size: 18px;
  }
  h2 {
    font-size: 40px;
  }
}

.wn{
  white-space: nowrap;
}

.marker-rd{
  display: inline;
  background: linear-gradient(transparent 30%, rgba(255,0,0,.3) 70%);
}

.marker-wh{
  display: inline;
  background: linear-gradient(transparent 30%, rgba(255,255,255,.8) 70%);
}

.marker-yl{
  display: inline;
  background: linear-gradient(transparent 30%, rgba(255,247,0,.8) 70%);
}

.marker-bl{
  display: inline;
  background: linear-gradient(transparent 30%, rgba(0,255,247,.8) 70%);
}

.marker-or{
  display: inline;
  background: linear-gradient(transparent 30%, rgba(255,111,0,.8) 70%);
}

.larger{
  font-size: larger;
}

.smaller{
  font-size: smaller;
}

.smallest{
  font-size: 10px;
}

.SHOCKProjectlogo{
  z-index: 100;
  position: fixed;
  top: 20px;
  left: 20px;
  width: 15vw;
  min-width: 120px;
  padding: 8px 12px;
  height: auto;
  background: rgba(0, 0, 0, .5);
}

.fixedbutton img{
  width: 50px;
  height: 50px;
  z-index: 100;
  position: fixed;
  bottom: 15px;
  right: 15px;
  opacity: .8;
  transition: all .2s;
}

.fixedbutton:hover img{
  opacity: 1;
}

@media screen and (min-width:768px) {
  .fixedbutton img{
    width: 80px;
    height: 80px;
    bottom: 20px;
    right: 20px;
  }
}

/* ===hero=== */

header{
  width: 100%;
  height: 100vh;
}

.hero{
  width: 100%;
  height: 100vh;
  background: url(../img/kv-alternative.jpg) no-repeat center/cover;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: -1;
}

.hero video{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero::after{
  content: '';
  width: 100%;
  height: 100%;
  background-color: #10394b;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .3;
}

.hero video{
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}

/* text reveal */

h1{
  font-weight: bold;
  font-size: 6vw;
  padding-left: .5em;
  background: rgba(255, 255, 255, .8);
  position: absolute;
  line-height: 2.5;
}

h1 small{
  font-size: 3vw;
}

h1:nth-child(1){
  top: 20%;
  left: 5%;
}
h1:nth-child(2){
  top: 35%;
  left: 8%;
}
h1:nth-child(3){
  top: 50%;
  left: 11%;
}
h1:nth-child(4){
  top: 70%;
  left: 50%;
  transform: translate(-50%,0);
  width: 14.5em;
}

h1>.logowithruby{
  position: relative;
  display: inline-block;
}

h1>.logowithruby>.ruby{
  display: inline-block;
  text-align: right;
  position: absolute;
  top: 0;
  right: 0;
  font-size: 10px;
  letter-spacing: 2vw;
}

@media screen and (min-width:576px) {
  h1>.logowithruby>.ruby{
    font-size: 12px;
  }
}

@media screen and (min-width:768px) {
  h1{
    font-size: 5vw;
    line-height: 2;
  }
  h1:nth-child(1){
    left: 10%;
  }
  h1:nth-child(2){
    left: 15%;
  }
  h1:nth-child(3){
    left: 20%;
  }
  h1 small{
    font-size: 2vw;
  }
}

@media screen and (min-width:992px) {
  h1{
    line-height: 1.5;
  }
  h1>.logowithruby>.ruby{
    right: -1vw;
    letter-spacing: 2.5vw;
  }
}

@media screen and (min-width:1200px)  {
  h1>.logowithruby>.ruby{
    top: 5px;
    right: -1vw;
    letter-spacing: 2.5vw;
  }
}

.acretlogo{
  width: 5em;
  height: auto;
  padding-bottom: .2em;
}

.fo-mask {
  display: inline-block;
  overflow: hidden;
  clear: both;
}

.fo-mask span {
  color: transparent;
  animation: show .2s forwards 0.4s;
  position: relative;
}

.fo-mask:after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: var(--color-bl);
  transform: translate3d(110%, 0, 0);
  animation: left-to-right 1s cubic-bezier(.17,.67,.83,.67);
}

@keyframes show {
  0% {
    color: transparent;
  }
  100% {
    color: var(--color-bk);
  }
}
@keyframes left-to-right {
  0% {
    transform: translate3d(-100%, 0, 0);
  }
  100% {
    transform: translate3d(110%, 0, 0);
  }
}
.delay-200.fo-mask span {
  animation-delay: 0.6s;
}
.delay-200.fo-mask:after {
  animation-delay: 0.2s;
}

.delay-300.fo-mask span {
  animation-delay: 0.8s;
}
.delay-300.fo-mask:after {
  animation-delay: 0.2s;
}

.delay-400.fo-mask span {
  animation-delay: 1s;
}
.delay-400.fo-mask:after {
  animation-delay: 0.2s;
}

/* ===intro=== */

.intro{
  z-index: 0;
  width: 100%;
  height: 100vh;
  background: url(../images/miyakoshock_intro.webp) center center / cover no-repeat;
  padding-top: 40vh;
}

.introtext {
  margin: 0 auto;
  z-index: 2;
  width: 90%;
  max-width: 700px;
  height: auto;
  padding: 1.5em;
  background: rgba(255, 255, 255, .8);
  backdrop-filter: blur(5px);
  color: var(--color-bk);
  text-align: center;
}

/* ===aboutMIYAKOSHOCK=== */

.aboutMIYAKOSHOCK{
  z-index: 1;
  width: 100%;
  height: 100vh;
  background: url(../images/LOGOcontainer.webp) center top / contain no-repeat;
	padding-top: 80vh;
}

.aboutMIYAKOSHOCKtext{
  margin: 0 auto;
  z-index: 2;
  width: 100%;
  max-width: 700px;
  height: auto;
  padding: 1.5em;
  background: rgba(0, 0, 0, .8);
  backdrop-filter: blur(5px);
  color: var(--color-wh);
  text-align: center;
}

@media screen and (min-width:576px){
	.aboutMIYAKOSHOCK{
		padding-top: 60vh;
		}
}

@media screen and (min-width:768px) {
  .aboutMIYAKOSHOCK{
  background: url(../images/LOGOcontainer.webp) center top / cover no-repeat;
	padding-top: 50vh;
  }

	.aboutMIYAKOSHOCKtext{
		top: 100%;
	}
}

/* common */

/* .aboutMIYAKOSHOCKtext, */
.content,
.miyakoshock-info{
  max-width: 100%;
}

/* parallax */

.section-wrapper {
  position: relative;
}

.section-body {
  position: relative;
  padding-top: 80px;
  /* margin-top: 200px; */
  width: 100%;
  height: 100vh;
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
}

.bg-image-clip {
  position: absolute;
  /* top: -200px; */
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 230px;
  clip-path: inset(0);
  z-index: -1;
}

.bg-image-fixed {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

#section1 {
  background: rgb(0,0,0);
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
  .bg-image-fixed {
    background-image: url(../images/miyakoshock_grandopening.webp);
  }
}

#section2 {
  background: rgb(0,0,0);
  background: linear-gradient(100deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.7) 100%);
  .bg-image-fixed {
    background-image: url(../images/miyakoshock_overlook.webp);
  }
}

#section3 {
  background: rgb(0,0,0);
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
  .bg-image-fixed {
    background-image: url(../images/miyakoshock_inside.webp);
  }
}

#section4 {
  background: rgb(0,0,0);
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
  .bg-image-fixed {
    background-image: url(../images/miyakoshock_food.webp);
  }
}

#section5 {
  background: rgb(0,0,0);
  background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.7) 100%);
  .bg-image-fixed {
    background-image: url(../images/MIYAKOSHOCKLIVE_gathered.webp);
  }
}

#section5 .bg-image-fixed {
  background-position: center top;
}

.content-wrap{
  width: 100%;
  max-width: 1000px;
  height: 100%;
}

.content {
  z-index: 3;
  padding: 1em;
  margin: 0 auto;
  width: 100%;
  max-width: 800px;
  color: var(--color-wh);
  text-shadow: var(--color-bk) 5px 0 10px;
	position: absolute;
  bottom: 0;
	transform: translate(0,0);
}

.content-s{
	left: 0;
}

.content-e{
	right: 0;
}

/* miyakoshock-info */

.miyakoshock-info{
  margin: 80px auto;
  background: rgba(8,20,124,.2);
  border: solid 1px #fff;
  padding: 2em;
  width: 90%;
  max-width: 500px;
  font-weight: normal;
  font-size: 13px;
}

.miyakoshock-logo{
  width: 30%;
  height: auto;
}

.miyakoshock-info table tr{
  display: block;
  margin: .5em 0;
}

.miyakoshock-info table tr th{
  text-align-last: justify;
  white-space: nowrap;
  padding-right: 1em;
}

.miyakoshock-info table tr th,
.miyakoshock-info table tr td{
  display: block;
  width: 100%;
  letter-spacing: .1em;
}

.miyakoshock-info table tr th{
  width: 30%;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.insta{
  letter-spacing: .2em;
}

h4{
	font-size: 18px;
	font-weight: bold;
}

@media screen and (min-width:768px) {
  h4{
    font-size: 22px;
  }
}

.runs{
  width: 100%;
  height: auto;
  position: relative;
}

.run{
  width: 100%;
  height: 15vh;
}

.runabove{
	margin-bottom: 30vh;
}

@media screen and (min-width:576px) {
  .run{
    height: 30vh;
  }
	.runabove{
		margin-bottom: 0;
	}
}

@media screen and (min-width:768px) {
  .run{
    height: 50vh;
  }
}

.stadium{
  background: url(../images/run_STADIUM.webp) center center / cover no-repeat;
}
.t2h{
  background: url(../images/run_t2H.webp) center center / cover no-repeat;
}
.firstshisha{
  background: url(../images/run_FirstShisha.webp) center center / cover no-repeat;
}
.spiritz{
  background: url(../images/run_SpiritZ.webp) right center / cover no-repeat;
}

.about{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  z-index: 3;
  width: 95%;
  max-width: 700px;
  padding: 1.5em;
  background: rgba(255, 255, 255, .8);
  backdrop-filter: blur(5px);
  color: var(--color-bk);
  text-align: center;
}

h3{
	font-size: 20px;
}

.logoinabout{
  width: 6em;
  padding:0 .2em .5em 0;
}

@media screen and (min-width:768px){
	h3{
		font-size: 24px;
	}
}

/* video */

.videoarea{
  width: 100%;
  height: auto;
  z-index: 0;
	box-shadow: 0px 0px 15px -5px #fff;
}

.embedvideo{
  position: relative;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  padding-bottom: 56.25%;
}

.videoarea video{
  height: 100%;
  left: 0;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.fin{
  margin: 60px auto 0;
}


.inquiry{
  margin: 0 auto;
  width: 80%;
  max-width: 450px;
  height: auto;
}

.inquiry-button {
  padding: 30px 40px 10px;
  background: #fff;
  border: none;
  position: relative;
  letter-spacing: 1px;
  cursor: pointer;
  font-size: 18px;
  &:after,
  &:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transition: transform 0.2s;
  }
  &:before {
    border: 5px solid var(--color-pk);
    transform: translate(-5px, -5px);
  }
  &:after {
    border: 5px solid var(--color-bl);
    transform: translate(5px, 5px);
  }
  &:hover {
    &:after,
    &:before {
      transform: translate(0);
    }
  }
}

  .inquiry-button img{
    width: 80%;
    height: auto;
    transition: all .2s;
  }

  .inquiry-button:hover.inquiry-button img{
    transform: scale(1.1);
  }

  .inquiry-button p{
    color: #000;
    transition: all .2s;
  }

  .inquiry-button:hover.inquiry-button p{
    transform: translateY(5px);
  }

  @media screen and (min-width:768px) {
    .inquiry-button {
      padding: 30px 40px 20px;
      font-size: 24px;
      letter-spacing: 3px;
    }
  }












/* ===footer=== */
footer small{
  font-family: rogue-sans, sans-serif;
  color: var(--color-bk);
  background: var(--color-wh);
}