html {
  scroll-behavior: smooth;
}
body {
  background-color: var(--sky-navy);
  margin: 0;
}
body.no-scroll {
  overflow: hidden;
}
.screen a {
  display: contents;
  text-decoration: none;
}
.screen a div:hover {
  opacity: 0.8;
}
.container-center-horizontal {
  display: flex;
  flex-direction: column;
  pointer-events: none;
  width: 100%;
  align-items: center;
}

.container-center-horizontal > * {
  flex-shrink: 0;
  pointer-events: auto;
  width: 100%;
}

* {
  box-sizing: border-box;
}

.opening-event {
  letter-spacing: calc(31px * 0.07);
  line-height: 40px;
  text-align: center;
  /* width: 222px; */
  margin-left: calc(31px * 0.07);
}

/* スマホ */
@media screen and (max-width: 441px) {
  .screen.pc-screen {
    display: none;
  }
  .screen.tab-screen {
    display: none;
  }
  .screen.sp-screen {
    display: block;
  }
}
/* タブレット（制御系はスマホと一緒）*/
@media screen and (min-width: 441px) and (max-width: 1199px) {
  .screen.pc-screen {
    display: none;
  }
  .screen.tab-screen {
    display: block;
  }
  .screen.sp-screen {
    display: block;
  }
}
/* PC */
@media screen and (min-width: 1200px) {
  .screen.pc-screen {
    display: block;
  }
  .screen.tab-screen {
    display: none;
  }
  .screen.sp-screen {
    display: none;
  }
}

section {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.top_all {
  align-items: center;
  background-color: var(--sky-navy);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 390px;
  justify-content: center;
}

.scroll {
  cursor: pointer;
  /* margin-top: -180px;  */
  /* margin-bottom: -130px; */
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  position: absolute;
  /* bottom: -180px; */
  bottom: -100px;
}

.line-scroll {
  height: 150px;
  /* margin-left: 1.0px; */
  /* margin-top: 14px; */
  width: 1px;
}

.statement {
  height: 100vh;
  line-height: 37px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  /* z-index: 9995; */
}

/* .span {
  letter-spacing: 0.27px;
} */
/* .span-1 {
  letter-spacing: 0.13px;
} */

/* 募集概要　テキスト */
.application-overview-group {
  position: relative;
  background-color: var(--white);
  width: 390px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 45px 0;
  text-align: center;
}
.text_label-1 {
  line-height: 37px;
  opacity: 0.85;
  text-align: center;
  top: 171px;
  width: 284px;
}
.period {
  margin-left: 15px;
}
.line-period {
  height: 1px;
  width: 230px;
  margin: 25px 0px;
}
.text-price-memo {
  margin: 20px 0px;
}
.connect {
  line-height: 37px;
  /* opacity: 0.85; */
  text-align: center;
  margin-top: 45px;
  margin-left: calc(15px * 0.12);
}

.phone-1 {
  letter-spacing: 2px;
  line-height: 33px;
  white-space: nowrap;
}

.x1830-start {
  /* left: 411px; */
  letter-spacing: 2.1px;
  line-height: 30px;
  /* position: absolute; */
  text-align: center;
  /* top: 1618px; */
  white-space: nowrap;
}

/* .span0-1 {
  letter-spacing: 0.29px;
} */

.span1-1 {
  color: var(--sky-navy);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: var(--font-size-s);
  font-weight: 500;
  letter-spacing: 0.29px;
}

.x2025-07-22-213559-3 {
  height: 258px;
  /* left: 326px; */
  /* position: absolute; */
  /* top: 1668px; */
  width: 356px;
}

/* 募集概要 */
.title {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 21px;
  min-height: 76px;
  margin-bottom: 40px;
}
.star {
  aspect-ratio: 1.05;
  background-image: url(../img/vector-1.svg);
  background-size: 100% 100%;
  height: 30px;
  width: 30px;
}
.star-white {
  height: 30px;
  width: 30px;
}
.text-application-title {
  color: var(--sky-navy);
  font-family: var(--font-family-zen_kaku_gothic_new);
  font-size: 23px;
  font-weight: 700;
  letter-spacing: 18.4px;
  line-height: 25px;
  min-width: 148px;
  text-align: center;
  white-space: nowrap;
  margin-left: 18.4px;
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
  width: 100%;
  justify-content: flex-start;
  margin: 20px;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
  /* gap: 10px; */
  justify-content: flex-start;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 60s infinite linear 0.5s both;
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(20%);
  }
  to {
    transform: translateX(-80%);
  }
}
.scroll-infinity__item {
  width: 100%;
  justify-content: flex-start;
}
.scroll-infinity__item > img {
  aspect-ratio: 1.11;
  height: 297px;
  width: 329px;
  margin: 0px 5px;
}
.star-sky-navy-img {
  height: 29px;
  width: 30px;
}
.overlap-group4 {
  margin-top: 41px;
}

.component-program {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.program {
  align-items: flex-start;
  align-self: flex-end;
  display: flex;
  flex-direction: column;
  margin-right: -30px;
  margin-top: 60px;
  min-height: 684px;
  width: 390px;
}

.flex-row {
  align-items: center;
  display: flex;
  gap: 5px;
  height: 40px;
  /* margin-left: 2px; */
  /* margin-top: -1px; */
  /* min-width: 142px; */
}
.vector-1 {
  height: 15px;
  margin-top: 1px;
  width: 16px;
}

.program-001 {
  letter-spacing: 0.7px;
  line-height: 40px;
  min-width: 121px;
  text-align: justify;
  white-space: nowrap;
}

.urban-trial-urban-trial {
  letter-spacing: calc(30px * 0.12);
  line-height: 41px;
  margin-top: 10px;
  min-height: 82px;
  text-align: justify;
  /* width: 390px; */
}

.text {
  letter-spacing: 1.87px;
  line-height: 30px;
  margin-top: 11px;
  min-width: 206px;
  text-align: justify;
  white-space: nowrap;
}

.x2025-07-22-213559-2 {
  height: 283px;
  margin-top: 22px;
  width: 360px;
}

.text-13 {
  letter-spacing: 2.1px;
  line-height: 30px;
  margin-top: 26px;
  min-height: 180px;
  min-width: 288px;
  text-align: justify;
}

.tour {
  align-items: flex-start;
  display: flex;
  margin-top: 48px;
  min-width: 330px;
}
.overlap-group {
  /* border-radius: 7px; */
  /* height: 670px; */
  /* position: relative; */
  /* width: 330px; */
}

.event-sample {
  background-color: rgb(184 186 188 / 9%);
  border-radius: 7px;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 20px;
}

.text-15 {
  left: 18px;
  letter-spacing: 2.1px;
  line-height: 30px;
  /* position: absolute; */
  text-align: center;
  top: 386px;
  width: 293px;
}

.trial-tour {
  letter-spacing: 1.87px;
  line-height: 30px;
  /* position: absolute; */
  text-align: center;
  top: 57px;
  width: 100%;
}

.span-5 {
  letter-spacing: calc(17px * 0.15);
}

.sample {
  left: 36px;
  letter-spacing: 17.6px;
  line-height: 30px;
  text-align: center;
  top: 17px;
  width: 259px;
  margin-left: 17.6px;
}

.text-1 {
  left: 79px;
  line-height: 33px;
  /* position: absolute; */
  text-align: center;
  top: 514px;
  width: 172px;
}

.span0 {
  letter-spacing: 0;
}

.span1 {
  letter-spacing: -0.73px;
}

.span-6 {
  letter-spacing: 0.14px;
}

.x1800-2100 {
  left: 26px;
  line-height: 22px;
  /* position: absolute; */
  text-align: center;
  top: 560px;
  width: 279px;
  margin: 0;
}

.span-7 {
  letter-spacing: 0.05px;
}

.line-16 {
  height: 1px;
  left: 120px;
  /* position: absolute; */
  top: 497px;
  width: 86px;
}

.image-6 {
  aspect-ratio: 1.5;
  height: 197px;
  left: 17px;
  object-fit: cover;
  /* position: absolute; */
  top: 170px;
  width: 296px;
}

.program-1 {
  align-items: flex-start;
  align-self: flex-end;
  display: flex;
  flex-direction: column;
  margin-right: -30px;
  margin-top: 70px;
  min-height: 684px;
  width: 390px;
}

.flex-row-1 {
  align-items: center;
  display: flex;
  gap: 5px;
  height: 40px;
  margin-left: 2px;
  margin-top: -1px;
  min-width: 144px;
}

.program-001-1 {
  letter-spacing: 0.7px;
  line-height: 40px;
  min-width: 123px;
  text-align: justify;
  white-space: nowrap;
}

.text_label-2 {
  letter-spacing: 2.1px;
  line-height: 30px;
  margin-top: 26px;
  min-height: 180px;
  min-width: 256px;
  text-align: justify;
}

.tour-1 {
  align-items: flex-start;
  display: flex;
  margin-top: 47px;
  min-width: 330px;
}

.x10 {
  left: 18px;
  letter-spacing: 2.1px;
  line-height: 30px;
  /* position: absolute; */
  text-align: center;
  top: 386px;
  width: 293px;
}

.overlap-group5 {
  position: relative;
  margin-top: 80px;
}

.text-17 {
  left: 0;
  letter-spacing: 1.8px;
  line-height: 37px;
  /* position: absolute; */
  text-align: center;
  top: 114px;
}

/* .component-3 {
  left: 15px;
  top: 0;
} */

.text-10 {
  letter-spacing: 4px;
  line-height: 33px;
  margin-left: 4px;
  margin-top: 37px;
  min-height: 66px;
  min-width: 164px;
  text-align: center;
}

/* あの店スクロール */
/* .frame-22::-webkit-scrollbar {
  display: none;
  width: 0;
} */
.scroll-infinity-restaurant {
  .scroll-infinity__item > img {
    aspect-ratio: 1.5;
    height: 179px;
    object-fit: cover;
    width: 269px;
    margin: 0px;
  }
  .scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
    width: 100%;
    justify-content: flex-start;
    margin: 20px;
  }
  .scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0;
    /* gap: 10px; */
    justify-content: flex-start;
  }
  .scroll-infinity__list--left {
    animation: infinity-scroll-left 30s infinite linear 0.5s both;
  }
  @keyframes infinity-scroll-left {
    from {
      transform: translateX(20%);
    }
    to {
      transform: translateX(-80%);
    }
  }
  .scroll-infinity__item {
    width: 100%;
    justify-content: flex-start;
  }
}

.frame-22 {
  align-items: flex-start;
  display: flex;
  margin-top: 50px;
  height: 179px;
  width: 100%;
  overflow: scroll;
}

.image-1 {
  aspect-ratio: 1.5;
  height: 179px;
  object-fit: cover;
  width: 269px;
}

.text-11 {
  letter-spacing: 4px;
  line-height: 33px;
  margin-left: 4px;
  margin-top: 45px;
  min-height: 66px;
  min-width: 284px;
  text-align: center;
}

/*月刊誌スクロール*/
.scroll-infinity-magazine {
  margin-top: 50px;
}
.scroll-infinity-magazine__wrap {
  display: flex;
  overflow: hidden;
  width: 100%;
  justify-content: flex-start;
  height: 155px;
}
.scroll-infinity-magazine__list {
  display: flex;
  list-style: none;
  padding: 0;
  gap: 0px;
  margin: 0 0 0 0;
}
.scroll-infinity-magazine__list--left {
  flex-direction: row;
  animation: infinity-scroll-left-magazine 70s infinite linear 0.5s both;
}
@keyframes infinity-scroll-left-magazine {
  from {
    transform: translateX(20%);
  }
  to {
    transform: translateX(-80%);
  }
}
.scroll-infinity-magazine__list--right {
  flex-direction: row-reverse;
  animation: infinity-scroll-right-magazine 70s infinite linear 0.5s both;
}
@keyframes infinity-scroll-right-magazine {
  from {
    transform: translateX(-80%);
  }
  to {
    transform: translateX(20%);
  }
}
.scroll-infinity-magazine__item {
  width: 100%;
  justify-content: flex-start;
}
.scroll-infinity-magazine__item > img {
  /* aspect-ratio: 0.77; */
  height: 155px;
  object-fit: cover;
  /* width: 119px; */
}

.image-container {
  align-items: flex-start;
  align-self: flex-end;
  display: flex;
  margin-right: -72px;
  margin-top: 51px;
  min-width: 477px;
}

.image-container-1 {
  align-items: flex-start;
  align-self: flex-start;
  display: flex;
  margin-left: -63px;
  min-width: 486px;
}

.text-2 {
  letter-spacing: 1.8px;
  line-height: 37px;
  margin-top: 68px;
  min-height: 78px;
  text-align: center;
  width: 390px;
  margin-left: 1.8px;
}

.group-20-1 {
  height: 199px;
  margin-right: 0.58px;
  margin-top: 100px;
  width: 219px;
}

.overlap-group2 {
  align-items: center;
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 106px;
  min-height: 282px;
  padding: 47px 0;
  width: 390px;
}

.text-9 {
  letter-spacing: 0.33px;
  line-height: 23px;
  min-height: 138px;
  min-width: 306px;
  text-align: center;
}
.copyright-2025-tok {
  color: var(--sky-navy);
  font-family: var(--font-family-lexend);
  font-size: var(--font-size-xxs);
  font-weight: 500;
  letter-spacing: 0.3px;
  line-height: 15px;
  text-align: center;
  white-space: nowrap;
  width: 330px;
}
.frame-30 {
  /* background-image: url(../img/-------1.svg); */
  background-size: 100% 100%;
  cursor: pointer;
  height: 20px;
  left: 48px;
  position: fixed;
  top: 42px;
  width: 212px;
  z-index: 2;
}
.span1-2 {
  color: var(--white);
  font-family: var(--font-family-lexend_exa);
  font-size: 25.8px;
  font-weight: 400;
  letter-spacing: 3.78px;
}
.component {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 124px;
  margin-top: 20px;
  margin-bottom: 40px;
}

.component-more {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
