[v-cloak] {
  display: none;
}

html.wf-loading .top_text {
  visibility: hidden;
}

html.wf-active .top_text {
  visibility: visible;
}

body {
  background-color: #fff;
  margin: 0;
  padding: 0;
  will-change: background-position;
}
/* hero動画 */
.top-img_container {
  width: 100%;
  height: 70vh;
  margin: 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
  background: #fff;
}

.top-video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;      /* 全体を見せる */
  object-position: center center;
}

.top-video.hero_video {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
  transition: none !important;
}

.top-video.hero_video::before,
.top-video.hero_video::after {
  content: none !important;
  display: none !important;
}
/*hero画像
.top-img_container {
  width: 100%;
  height: 70vh;
  margin: 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.top-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;
  z-index: 1;
}

.top-img.hero_img {
  background-image: url("/846/img/2001.mp4") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  animation: none !important;
  transition: none !important;
}

.top-img.hero_img::before,
.top-img.hero_img::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  animation: none !important;
}
*/
.hero_text_change {
  animation: none !important;
  opacity: 1 !important;
}

.black {
  color: black;
}
.section-anchor {
  height: 0;
}
:root {
  --media-max-width: 800px;    /* PCでの最大幅 */
  --media-max-height: 62svh;   /* 画面高さに対する上限 */
}

.section-media-shell {
  width: min(800px, calc(100vw - 32px), 62svh);
}

.section-media-box {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #000;
  overflow: hidden;
}

.section-media-content {
  width: 100%;
  height: 100%;
  display: block;
}

.section-media-box video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 600px) {
  :root {
    --media-side-margin: 16px;
    --media-max-height: 45svh;
  }
}

.section-media-placeholder {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed #ccc;
  border-radius: 12px;
  color: #666;
  background: #fafafa;
}
#footer .sns-btn {
  position: relative;
  display: inline-grid;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;

  width: 64px;
  min-width: 64px;
  height: 36px;

  padding: 0 16px;
  margin: 0 16px;

  color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0);
  box-shadow: none;
  border-radius: 4px;
}

#footer .sns-btn:hover {
  background-color: rgba(0, 0, 0, 0.04);
}

#footer .sns-btn .v-btn__content {
  display: flex;
  align-items: center;
  justify-content: center;
}

#footer .sns-icon {
  width: 28px;
  height: 28px;
  display: block;
}