html {
  height: -webkit-fill-available;
  scroll-behavior: smooth;
}

body {
  min-height: 100dvh;
  min-height: -webkit-fill-available;
  margin: 0;
  padding: 0;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4rem 0;
  background-color: black;
}

img {
  max-width: 100%;
}

input,
button,
textarea,
select {
  /*  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;*/
}

a {
  text-decoration: none;
  color: #f3a2fa;
}

* {
  box-sizing: border-box;
}

html,
body {
  font-size: 100%;
  font-weight: 400;
  font-style: normal;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  line-height: 1.75;
  color: #ffffff;
}

h2 {
  font-family: "Times New Roman", Times, serif;
  font-size: 2rem;
  line-height: 1.25;
  margin-bottom: 1rem;
}
h2 small {
  font-size: 1rem;
  display: block;
  font-weight: 400;
}

.x a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: white;
  text-decoration: underline;
}
.x a:before {
  content: "";
  width: 1rem;
  height: 1rem;
  display: block;
  background-image: url("../images/icon_x.png");
  background-size: cover;
}

.en {
  margin-top: 3rem;
}
.en:before {
  content: "";
  display: block;
  background-color: white;
  margin-bottom: 3rem;
  width: 50px;
  height: 1px;
}

.c-container {
  width: min(100% - 2rem, 1312px);
  margin: 0 auto;
  position: relative;
}
.c-container-narrow {
  width: min(100% - 2rem, 1024px);
  margin: 0 auto;
  position: relative;
}

.p-contents {
  background-color: rgba(0, 0, 0, 0.75);
  border-radius: 1rem;
  padding: 2rem 5vw;
  width: min(100% - 2rem, 1024px);
  margin: 0 auto;
  position: relative;
  z-index: 200;
  border: 1px solid rgba(255, 255, 255, 0.125);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.p-contents h1 {
  width: min(80%, 400px);
  margin: 4rem auto 3rem;
}
.p-contents h3 {
  font-weight: 400;
  text-align: center;
  font-family: "Times New Roman", Times, serif;
  margin-bottom: 4rem;
}
.p-contents p {
  margin-bottom: 2rem;
}
.p-contents__video {
  margin: 4rem 0;
  width: 100%;
  aspect-ratio: 16/9;
}
.p-contents__video iframe {
  width: 100%;
  height: 100%;
  border: 1px solid rgba(255, 255, 255, 0.125);
}
.p-contents__profile {
  margin-bottom: 4rem;
}
@media screen and (min-width:1024px) {
  .p-contents__profile {
    display: flex;
    gap: 2rem;
    align-items: center;
  }
}
.p-contents__profile-photo {
  width: 300px;
}
@media screen and (max-width:1023px) {
  .p-contents__profile-photo {
    width: 100%;
  }
}
.p-contents__profile-photo img {
  mix-blend-mode: screen;
}
.p-contents__profile-text {
  flex: 1;
}
.p-contents__profile-text p {
  font-size: 0.875rem;
}
.p-contents__footer {
  text-align: center;
  margin-bottom: 4rem;
}
.p-contents__footer h2 {
  width: 200px;
  margin: 0 auto;
  margin-bottom: 0;
}
.p-contents__footer h2 img {
  width: 100%;
}
.p-contents__footer p {
  margin-top: 0.25rem;
}
.p-contents__footer ul {
  list-style: none;
  display: flex;
  margin: 0;
  padding: 0;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.p-contents__footer li {
  width: 1.7rem;
}
.p-contents__footer a {
  transition: all 0.5s ease;
}
.p-contents__footer a:hover {
  opacity: 0.25;
}
.p-contents__footer table {
  text-align: left;
  margin: 2rem auto;
  font-size: 0.75rem;
  display: flex;
  justify-content: center;
}

/***************************************************
 * Generated by SVG Artista on 8/30/2023, 2:24:56 PM
 * MIT license (https://opensource.org/licenses/MIT)
 * W. https://svgartista.net
 **************************************************/
@-webkit-keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 861.5333251953px;
    stroke-dasharray: 861.5333251953px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 861.5333251953px;
  }
}
@keyframes animate-svg-stroke-1 {
  0% {
    stroke-dashoffset: 861.5333251953px;
    stroke-dasharray: 861.5333251953px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 861.5333251953px;
  }
}
@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-1 {
  -webkit-animation: animate-svg-stroke-1 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s both, animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
  animation: animate-svg-stroke-1 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s both, animate-svg-fill-1 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s both;
}

@-webkit-keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 1335.0822753906px;
    stroke-dasharray: 1335.0822753906px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1335.0822753906px;
  }
}
@keyframes animate-svg-stroke-2 {
  0% {
    stroke-dashoffset: 1335.0822753906px;
    stroke-dasharray: 1335.0822753906px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1335.0822753906px;
  }
}
@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-2 {
  -webkit-animation: animate-svg-stroke-2 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.12s both, animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
  animation: animate-svg-stroke-2 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.12s both, animate-svg-fill-2 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s both;
}

@-webkit-keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 1035.9870605469px;
    stroke-dasharray: 1035.9870605469px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1035.9870605469px;
  }
}
@keyframes animate-svg-stroke-3 {
  0% {
    stroke-dashoffset: 1035.9870605469px;
    stroke-dasharray: 1035.9870605469px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1035.9870605469px;
  }
}
@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-3 {
  -webkit-animation: animate-svg-stroke-3 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.24s both, animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
  animation: animate-svg-stroke-3 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.24s both, animate-svg-fill-3 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s both;
}

@-webkit-keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 1460.0979003906px;
    stroke-dasharray: 1460.0979003906px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1460.0979003906px;
  }
}
@keyframes animate-svg-stroke-4 {
  0% {
    stroke-dashoffset: 1460.0979003906px;
    stroke-dasharray: 1460.0979003906px;
  }
  100% {
    stroke-dashoffset: 0;
    stroke-dasharray: 1460.0979003906px;
  }
}
@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.svg-elem-4 {
  -webkit-animation: animate-svg-stroke-4 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.36s both, animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
  animation: animate-svg-stroke-4 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.36s both, animate-svg-fill-4 0.7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s both;
}

.p-bgvideo {
  width: 100vw;
  height: 100dvh;
  background-color: #242424;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.p-bgvideo video {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  object-fit: cover;
}

@media screen and (min-width:600px) {
  .u-hide-pc {
    display: none;
  }
}
@media screen and (max-width:599px) {
  .u-hide-sp {
    display: none;
  }
}

.u-margin-b-5rem {
  margin-bottom: 5rem;
}
.u-margin-b-2rem {
  margin-bottom: 2rem;
}

.u-align-right {
  text-align: right;
}
.u-align-center {
  text-align: center;
}