/* 现代经典 CSS Normalize */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: #212529;
  text-align: left;
  background-color: #fff;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-weight: 500;
  line-height: 1.2;
}

p {
  margin-top: 0;
  margin-bottom: 0;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2rem;
}

a {
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  color: #0056b3;
  text-decoration: underline;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
}

th,
td {
  padding: 0.75rem;
  vertical-align: top;
  border-top: 1px solid #dee2e6;
}

audio,
canvas,
embed,
iframe,
img,
object,
svg,
video {
  display: block;
  max-width: 100%;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

@media (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .pc {
    display: none !important;
  }
}

/*--------------------------------------------------------- フルビュー画像　--------------------------------------------------------- */
.fv {
  display: flex;
  width: 100%;
}

.fv img {
  width: 100%;
  object-fit: contain;
}

/*--------------------------------------------------------- ビデオ　--------------------------------------------------------- */
.video {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #faefe5;
  padding: 2.7vw 0;
}

.video__bg {
  width: 48.61vw;
  display: block;
}

.video__bg img {
  width: 100%;
  object-fit: contain;
}

.video__title {
  position: absolute;
  top: 5.6vw;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.3vw;
  line-height: 1.4;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: fit-content;
  color: #fff;
  border-bottom: 0.13vw solid #fff;
}

.video__title span {
  margin-left: -0.6em;
  transform: translateX(0.4em);
  display: inline-block;
}

.video__subtitle {
  position: absolute;
  top: 10.7vw;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.38vw;
  line-height: 1.4;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ R", "UD Shin Go Regular", sans-serif;
  width: fit-content;
  color: #fff;
}

.video__container {
  position: absolute;
  top: 13.88vw;
  left: 50%;
  transform: translateX(-50%);
  width: 40.2vw;
  height: 22.6vw;
  background-color: #fff;
}

.video__container-video {
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
  cursor: pointer;
}

.video__container-video.playing {
  background-color: #000;
}

@media (min-width: 769px) {
  .video__container-video:hover {
    cursor: pointer !important;
  }
}

.video__container video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .video {
    padding: 10.6vw 0;
  }

  .video__bg {
    width: 93.3vw;
  }

  .video__title {
    top: 16.8vw;
    font-size: 6.4vw;
    line-height: 1.2;
    letter-spacing: 0.02em;
    border-bottom: 0.53vw solid #fff;
    text-align: center;
    white-space: nowrap;
    padding: 0 0.4em 0.1em;
  }

  .video__subtitle {
    top: 36.8vw;
    font-size: max(4vw, 14px);
    white-space: nowrap;
  }

  .video__container {
    top: 45.8vw;
    width: 74.6vw;
    height: 42vw;
  }
}

/*--------------------------------------------------------- クラウド　--------------------------------------------------------- */
.cloud {
  width: 100%;
  height: 43.24vw;
  overflow: hidden;
  z-index: 1;
}

.cloud__container {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cloud__initial {
  position: absolute;
  width: 100%;
  height: 100%;
}

.cloud__text,
.cloud__left,
.cloud__right {
  position: absolute;
  display: block;
  width: 100%;
}

.cloud__text img,
.cloud__left img,
.cloud__right img {
  width: 100%;
  object-fit: contain;
}

.cloud__text {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 4;
}

.cloud__left {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.cloud__right {
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
}

.cloud__bg-image {
  position: absolute;
  display: block;
  width: 100%;
  opacity: 0;
}

.cloud__bg-image img {
  width: 100%;
  object-fit: contain;
}

.cloud__bg-image.active {
  opacity: 1;
}

.cloud__bg-main {
  opacity: 1;
  z-index: 1;
}

.cloud__bg-transition {
  opacity: 0;
  z-index: 4;
}

.cloud__bg-final {
  opacity: 0;
  z-index: 5;
}

@media (max-width: 768px) {
  .cloud {
    height: 178.06vw;
  }

  .cloud__left,
  .cloud__right {
    width: 200vw;
  }
}

/*--------------------------------------------------------- パワー　--------------------------------------------------------- */
.power {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #faefe5;
  padding: 9.58vw 0;
}

.title {
  width: 48.61vw;
  display: block;
}

.power__content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48.61vw;
  margin-top: 1.6vw;
  position: relative;
}

.power__content:nth-of-type(1) {
  margin-top: 4.8vw;
}

.power__content-img {
  width: 100%;
  display: block;
}

.power__content-img img {
  width: 100%;
  object-fit: contain;
}

.power__content-text {
  position: absolute;
  top: 71.5%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.power__content-text > p {
  font-size: 1.36vw;
  line-height: 1.3;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ R", "UD Shin Go Regular", sans-serif;
  width: fit-content;
  color: #000;
  text-align: center;
  white-space: nowrap;
}

.power__content-text > p span {
  font-size: 0.7vw;
}

.power__content-text-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7vw;
  margin-bottom: -0.2em;
}

.power__content-text-note > p {
  font-size: 0.7vw;
  line-height: 2;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ R", "UD Shin Go Regular", sans-serif;
  width: fit-content;
  color: #000;
}

@media (max-width: 768px) {
  .power {
    padding: 10.6vw 0;
  }

  .title {
    width: 93.3vw;
  }

  .power__content {
    width: 93.3vw;
    margin-top: 4.1vw;
  }

  .power__content:nth-of-type(1) {
    margin-top: 6.9vw;
  }

  .power__content-text {
    left: 51.5%;
  }

  .power__content:nth-of-type(1) .power__content-text {
    top: 60%;
  }

  .power__content:nth-of-type(2) .power__content-text {
    top: 63%;
  }

  .power__content:nth-of-type(3) .power__content-text {
    top: 64%;
  }

  .power__content-text > p {
    font-size: 5.1vw;
    line-height: 1.58;
    letter-spacing: -0.05em;
  }

  .power__content-text > p span {
    font-size: 3.2vw;
  }

  .power__content-text-note {
    flex-direction: column;
    margin-bottom: 0;
    gap: 0;
    align-items: flex-start;
    margin-top: 1.5vw;
  }

  .power__content-text-note > p {
    font-size: max(3.2vw, 14px);
    letter-spacing: -0.05em;
    line-height: 1.4;
  }
}

/*--------------------------------------------------------- ショップ　--------------------------------------------------------- */
.shop {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 9.58vw 0;
}

.shop__text {
  font-size: 2vw;
  line-height: 1.4;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: fit-content;
  color: #000;
}

.shop__btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 0.27vw solid #009d4b;
  border-radius: 1.38vw;
  margin-top: 1.3vw;
  width: 48.61vw;
  overflow: hidden;
  text-decoration: none !important;
  transition: opacity 0.3s ease;
}

@media (min-width: 769px) {
  .shop__btn:hover {
    opacity: 0.7;
  }
}

.shop__btn p {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #009d4b;
  min-width: 100%;
  height: 4.1vw;
  font-size: 1.73vw;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: fit-content;
  color: #fff;
}

.shop__btn p img {
  width: 1.73vw;
  margin-left: 0.4em;
  margin-bottom: 0.1em;
}

.shop__btn > img {
  width: 12vw;
  object-fit: contain;
  padding: 2.3vw 0;
}

@media (max-width: 768px) {
  .shop {
    padding: 10.6vw 0;
  }

  .shop__text {
    font-size: 5.1vw;
  }

  .shop__btn {
    border: 1vw solid #009d4b;
    border-radius: 3vw;
    margin-top: 5.3vw;
    width: 93.3vw;
  }

  .shop__btn p {
    height: 15.4vw;
    font-size: 5.1vw;
  }

  .shop__btn p img {
    width: 7vw;
  }

  .shop__btn > img {
    width: 37.8vw;
    padding: 5vw 0;
  }
}

/*--------------------------------------------------------- 悪循環　--------------------------------------------------------- */
.akujyunkan {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 51.52vw;
  background-image: url(../images/akujyunkan-bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 8vw;
}

.akujyunkan__content {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 3.9vw;
}

.akujyunkan__content-img {
  width: 48.61vw;
  display: block;
}

.akujyunkan__content-img img {
  width: 100%;
  object-fit: contain;
}

.akujyunkan__content-title {
  position: absolute;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.4vw;
  line-height: 1.2;
  letter-spacing: -0.04em;
  font-family: "Shippori Mincho", serif;
  font-weight: 700;
  width: fit-content;
  color: #fff;
}

.akujyunkan__content-text {
  position: absolute;
  font-size: 0.9vw;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: fit-content;
  color: #000;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.akujyunkan__content-text:nth-of-type(1) {
  top: 3.88vw;
  left: 9.4vw;
}

.akujyunkan__content-text:nth-of-type(2) {
  top: 3.88vw;
  left: 38.68vw;
}

.akujyunkan__content-text:nth-of-type(3) {
  top: 19.1vw;
  left: 38.68vw;
}

.akujyunkan__content-text:nth-of-type(4) {
  top: 19.1vw;
  left: 9.4vw;
}

.akujyunkan__content-text span {
  margin-right: 0.2vw;
}

@media (max-width: 768px) {
  .akujyunkan {
    height: 169.68vw;
    background-image: url(../images/akujyunkan-bg-sp.png);
    padding-top: 11.2vw;
  }

  .akujyunkan__content {
    margin-top: 9.3vw;
  }

  .akujyunkan__content-img {
    width: 93.3vw;
  }

  .akujyunkan__content-title {
    font-size: 7vw;
  }

  .akujyunkan__content-text {
    font-size: max(3.9vw, 14px);
    line-height: 1.3;
    flex-direction: column;
    align-items: center;
    text-align: center;
    white-space: nowrap;
  }

  .akujyunkan__content-text:nth-of-type(1) {
    top: 37vw;
    left: 20.5%;
    transform: translateX(-50%);
  }

  .akujyunkan__content-text:nth-of-type(2) {
    top: 37vw;
    left: 80.5%;
    transform: translateX(-50%);
  }

  .akujyunkan__content-text:nth-of-type(3) {
    top: 106vw;
    left: 80.5%;
    transform: translateX(-50%);
  }

  .akujyunkan__content-text:nth-of-type(4) {
    top: 106vw;
    left: 20.5%;
    transform: translateX(-50%);
  }

  .akujyunkan__content-text span {
    margin-right: 0;
  }
}

/*--------------------------------------------------------- 改善　--------------------------------------------------------- */
.kaizen {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  height: 75.52vw;
  background-image: url(../images/kaizen.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-top: 14.79vw;
}

.kaizen__priest {
  width: 49.3vw;
  transform: translateX(1%);
  display: block;
}

.kaizen__priest img {
  width: 100%;
  object-fit: contain;
}

.kaizen__priest-gif {
  width: 48.61vw;
  display: block;
}

.kaizen__priest-text {
  width: 100%;
  display: block;
}

.kaizen__content {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 2.3vw;
}

.kaizen__content-img {
  width: 49.5vw;
  transform: translateX(-0.5%);
  display: block;
}

.kaizen__content-img img {
  width: 100%;
  object-fit: contain;
}

.kaizen__content-text {
  font-size: 1.25vw;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: fit-content;
  color: #fff;
  position: absolute;
}

.kaizen__content-text:nth-of-type(1) {
  top: 2.2vw;
  left: 4.9vw;
}

.kaizen__content-text:nth-of-type(2) {
  top: 2.2vw;
  left: 21.6vw;
}

.kaizen__content-text:nth-of-type(3) {
  top: 2.2vw;
  left: 38.2vw;
}

@media (max-width: 768px) {
  .kaizen {
    height: 189.6vw;
    background-image: url(../images/kaizen-sp.png);
    padding-top: 10.6vw;
  }

  .kaizen__priest {
    width: 93.3vw;
  }

  .kaizen__priest-gif {
    width: 93.3vw;
  }

  .kaizen__content {
    margin-top: 3.2vw;
  }

  .kaizen__content-img {
    width: 94.5vw;
    transform: translateX(0.4%);
  }

  .kaizen__content-text {
    font-size: max(4vw, 14px);
  }

  .kaizen__content-text:nth-of-type(1) {
    top: 2.5vw;
    left: 24.5vw;
  }

  .kaizen__content-text:nth-of-type(2) {
    top: 15.8vw;
    left: 24.5vw;
  }

  .kaizen__content-text:nth-of-type(3) {
    top: 29vw;
    left: 24.5vw;
  }
}

/*--------------------------------------------------------- 声　--------------------------------------------------------- */
.voice {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 9.58vw 0 0;
  background-color: #faefe5;
}

.voice__text {
  width: 48.61vw;
  display: block;
  text-align: right;
  font-size: 0.7vw;
  line-height: 3;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ R", "UD Shin Go Regular", sans-serif;
  color: #000;
}

.voice__content {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 0.5vw;
}

.voice__content-img {
  width: 48.61vw;
  display: block;
}

.voice__content-img img {
  width: 100%;
  object-fit: contain;
}

.voice__content-text {
  font-size: 1.36vw;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ R", "UD Shin Go Regular", sans-serif;
  width: fit-content;
  color: #000;
  position: absolute;
}

.voice__content-text:nth-of-type(1) {
  top: 2vw;
  left: 3.5vw;
}

.voice__content-text:nth-of-type(2) {
  top: 2vw;
  left: 30vw;
}

.voice__content-text:nth-of-type(3) {
  top: 16.8vw;
  left: 4vw;
}

.voice__content-text:nth-of-type(4) {
  top: 16.8vw;
  left: 31.2vw;
}

@media (max-width: 768px) {
  .voice {
    padding: 10.6vw 0 0;
  }

  .voice__text {
    width: 93.3vw;
    text-align: center;
    font-size: 3vw;
    line-height: 1.2;
    margin-top: 1.5vw;
    letter-spacing: -0.05em;
  }

  .voice__content {
    margin-top: 3.6vw;
  }

  .voice__content-img {
    width: 94.5vw;
  }

  .voice__content-text {
    font-size: max(4vw, 14px);
    line-height: 1.3;
    letter-spacing: 0.03em;
    font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
    white-space: nowrap;
  }

  .voice__content-text:nth-of-type(1) {
    top: 14.5vw;
    left: 23.3vw;
    transform: translate(-50%, -50%);
  }

  .voice__content-text:nth-of-type(2) {
    top: 14.5vw;
    left: 73vw;
    transform: translate(-50%, -50%);
  }

  .voice__content-text:nth-of-type(3) {
    top: 52vw;
    left: 23.2vw;
    transform: translate(-50%, -50%);
  }

  .voice__content-text:nth-of-type(4) {
    top: 52vw;
    left: 73.2vw;
    transform: translate(-50%, -50%);
  }
}

/*--------------------------------------------------------- ラインアップ　--------------------------------------------------------- */
.lineup {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 9.58vw 0;
}

.lineup__title {
  width: 34.3vw;
  display: block;
}

.lineup__text {
  font-size: 1.38vw;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ R", "UD Shin Go Regular", sans-serif;
  width: fit-content;
  color: #000;
  margin-top: 1.4vw;
}

.lineup__content {
  display: flex;
  flex-direction: column;
  width: 48.61vw;
}

.lineup__content:nth-of-type(1) {
  margin-top: 3vw;
}

.lineup__content-title {
  font-size: 1.38vw;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: 100%;
  color: #000;
  border-bottom: 0.13vw solid #000;
  padding-bottom: 0.2em;
  margin-bottom: 2.5vw;
}

.lineup__content-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.lineup__content-list-item {
  width: 20.5vw;
  margin-bottom: 3.7vw;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.lineup__content-list-item-img {
  width: 100%;
  display: block;
  transition: opacity 0.3s ease;
}

.lineup__content-list-item-text-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lineup__content-list-item-title {
  font-size: 1.94vw;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: fit-content;
  color: #000;
  margin-top: 1.3vw;
  white-space: nowrap;
}

.lineup__content-list-item-text {
  font-size: 1.3vw;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ DB", "UD Shin Go DemiBold", sans-serif;
  width: fit-content;
  color: #000;
  margin-top: 1vw;
  white-space: nowrap;
}

@media (min-width: 769px) {
  .lineup__content-list-item:hover {
    opacity: 0.7;
  }
}

@media (max-width: 768px) {
  .lineup {
    padding: 8vw 0;
  }

  .lineup__title {
    width: 63vw;
  }

  .lineup__text {
    font-size: max(3.2vw, 14px);
    letter-spacing: -0.05em;
    margin-top: 1vw;
  }

  .lineup__content {
    width: 93.3vw;
  }

  .lineup__content:nth-of-type(1) {
    margin-top: 1.6vw;
  }

  .lineup__content-title {
    font-size: max(4vw, 14px);
    padding-left: 0.2em;
    border-bottom: 0.53vw solid #000;
    margin-bottom: 5.3vw;
  }

  .lineup__content-list {
    display: flex;
    flex-direction: column;
  }

  .lineup__content-list-item {
    width: 93.3vw;
    padding-left: 5.3vw;
    margin-bottom: 6vw;
    flex-direction: row;
    justify-content: flex-start;
    position: relative;
  }

  .lineup__content-list-item::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: 14.1vw;
    width: 10vw;
    height: 1px;
    background: #000;
    transform-origin: right center;
    transform: rotate(-67.5deg) translateY(-50%);
  }

  .lineup__content-list-item::after {
    content: "";
    position: absolute;
    right: 0;
    top: 14.1vw;
    width: 10vw;
    height: 1px;
    background: #000;
    transform-origin: right center;
    transform: rotate(67.5deg) translate(-3%, -50%);
  }

  .lineup__content:nth-of-type(3) .lineup__content-list-item:nth-of-type(1) {
    margin-bottom: 6vw !important;
  }

  .lineup__content:nth-of-type(3) .lineup__content-list-item:nth-of-type(2) .lineup__content-list-item-title {
    font-size: 4.3vw;
  }

  .lineup__content-list-item-img {
    width: 28vw;
    margin-right: 7vw;
  }

  .lineup__content-list-item-text-container {
    align-items: flex-start;
  }

  .lineup__content-list-item-title {
    font-size: 5vw;
    margin-top: 0;
  }

  .lineup__content-list-item-text {
    font-size: max(2.6vw, 13px);
    margin-top: 1vw;
    white-space: normal;
  }

  .lineup__content:nth-of-type(3) .lineup__content-list-item .lineup__content-list-item-title {
    font-size: 4.3vw !important;
  }
}

/*--------------------------------------------------------- CTA　--------------------------------------------------------- */
.cta {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  padding-top: 1.38vw;
}

.cta__img {
  width: 59.5vw;
  display: block;
  transform: translateX(5.4vw);
}

.cta__img img {
  width: 100%;
  object-fit: contain;
}

.shop.cta__shop {
  padding-top: 4.2vw;
}

@media screen and (max-width: 768px) {
  .cta {
    padding-top: 8vw;
  }

  .cta__img {
    width: 91.2vw;
    transform: unset;
  }

  .shop.cta__shop {
    padding-top: 10.6vw;
  }
}

.pin-spacer {
  background-color: #faefe5 !important;
}

/*--------------------------------------------------------- スクロールインジケーター　--------------------------------------------------------- */

.scroll-indicator {
  position: absolute;
  right: 2.5vw;
  bottom: 1.7vw;
  z-index: 10;
  width: 2.56vw;
}

.scroll-indicator img {
  width: 100%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .scroll-indicator {
    width: 6.6vw;
    right: 3vw;
    bottom: 3.4vw;
  }
}

#karte-c {
  display: none !important;
}

/* --------------------------------------------------------- ビデオ　--------------------------------------------------------- */
.video__container-youtube {
  position: absolute;
  top: 41.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 40.2vw;
  height: 22.6vw;
}

.video__container-youtube iframe {
  width: 100%;
  height: 100%;
}

.video__subtitle-2 {
  position: absolute;
  top: 38vw;
  left: 50%;
  transform: translateX(-50%);
  font-size: 1.38vw;
  line-height: 1.4;
  letter-spacing: 0.03em;
  font-family: "UD新ゴ R", "UD Shin Go Regular", sans-serif;
  width: fit-content;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .video__subtitle-2 {
    top: 91vw;
    font-size: max(4vw, 14px);
    white-space: nowrap;
  }

  .video__container-youtube {
    top: 100vw;
    width: 74.6vw;
    height: 42vw;
  }
}