:root {
  --font-scale: 1;
  --aspect-base: calc(100vw / 1920);
  --aspect-content: calc(100vw / 1080);
}

* {
  caret-color: transparent;
  /* user-select: none; /**/
  user-select: text;
  outline: 0 none; /**/
	/* outline: 1px solid #77ffff; /**/
}

html{
  box-sizing: inherit;
  -webkit-text-size-adjust: 100%;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  max-width: none;
  font-family: 'Noto Serif JP', 'Noto Serif', serif;
  color: rgba(255, 255, 255, .9);
  font-weight: normal;
}

body {
  background-origin: content-box;
  background-color: black;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  box-sizing: inherit;
}

a {
  text-decoration: none;
  color: #fff;
}

b {
  font-weight: bold;
}

p {
  margin: 0;
}

.hidden {
  display: none;
}

.content-loading {
  width: 100%;
}

.page-wrapper {
  width: 100%;
  height: 100%;
}

.page-content-wrapper {
  display: flex;
  flex-direction: column;
}

.section-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
}
.section-logo {
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-grow: 0;
}
.section-logo img {
  height: clamp(60px, min(85px, calc(var(--aspect-content) * 85)), 85px);
}
.content-wrapper {
  width: 100%;
  flex-grow: 1;
  justify-content: center;
}

canvas {
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
  position: fixed;
  overflow: hidden;
  pointer-events: none;
  z-index: 999;
  transition: 1s;
}

.modal-wrapper {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 998;
  background-color: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
}
.modal-box {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
}
.modal-movie {
  max-width: 1280px;
  max-height: 720px;
  min-width: 360px;
  min-height: 200px;
  width: calc(var(--aspect-base) * 1280);
  height: calc(var(--aspect-base) * 720);
  background-color: #000;
  position: relative;
  display: flex;
}
.modal-loader-wrapper {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
}
.modal-movie-item {
  width: 100%;
  height: 100%;
}
.modal-close {
  cursor: pointer;
  margin-left: 16px;
}
.modal-margin {
  width: 60px;
}
.modal-movie-youtube {
  width: 100%;
  height: 100%;
}

.is-show {
  display: flex !important;
}

.modal-loader-wrapper {
  display: none;
}

.modal-loader {
  width: 44px;
  height: 44px;
	border: 4px rgba(255, 255, 255, 0.25) solid;
	border-top: 4px rgba(255, 255, 255, 1) solid;
	border-radius: 50%;
	-webkit-animation: load_anim .6s infinite linear;
	animation: load_anim .6s infinite linear;
}
@-webkit-keyframes load_anim {
	from { -webkit-transform: rotate(0deg); }
	to { -webkit-transform: rotate(359deg); }
}
@keyframes load_anim {
	from { transform: rotate(0deg); }
	to { transform: rotate(359deg); }
}


br.sp {
  display: none;
}
br.pc {
  display: flex;
}

@media only screen and (max-width: 960px) {
  br.sp {
    display: flex;
  }

  br.pc {
    display: none;
  }

  .modal-box {
    flex-direction: column-reverse;
    align-items: flex-end;
  }
  .modal-margin {
    width: 0;
    height: 40px;
  }
  .modal-close {
    margin-left: 0;
    margin-bottom: 16px;
  }
  .modal-close svg {
    width: 24px;
    height: 24px;
  }
}

@media only screen and (max-width: 480px) {

}