html {
  scroll-snap-type: y mandatory;
  overscroll-behavior-y: none;
}
.screen {
  height: 100vh;
  height: 100svh;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  overflow: clip;
}
.screen--intro {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 3vw 96px;
}
.screen--intro .activities {
  padding: 0;
  max-width: min(100%, calc((100svh - 128px) * 2.6));
}
.next-screen {
  position: absolute;
  left: 50%;
  bottom: 12px;
  width: 80px;
  height: 78px;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateX(-50%);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.next-screen svg { display: block; width: 100%; height: 100%; overflow: visible; }
.next-screen__frame { opacity: .55; transition: opacity .2s; }
.next-screen__tip { animation: scroll-tip 2.2s ease-in-out infinite; }
.next-screen__trail { animation: scroll-trail 2.2s ease-in-out infinite; }
.next-screen__trail--second { animation-delay: .18s; }
.next-screen:hover .next-screen__frame { opacity: 1; }
.next-screen:focus-visible { outline: 1px solid #ffdf77; outline-offset: 3px; border-radius: 4px; }
@keyframes scroll-tip {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}
@keyframes scroll-trail {
  0%, 100% { opacity: .15; transform: translateY(-3px); }
  45% { opacity: .9; }
  70% { opacity: .15; transform: translateY(5px); }
}
@media (prefers-reduced-motion: reduce) {
  .next-screen__tip, .next-screen__trail { animation: none; }
}
.screen--themes {
  display: grid;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) auto;
  padding-top: 24px;
}
.screen--themes .new-returning {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 0;
  margin: 0;
}
.screen--themes .new-returning__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  min-height: 0;
}
.screen--themes :is(#control-1, #control-2, #control-3, #control-4) {
  min-height: 0;
  min-width: 0;
  padding: clamp(14px, 3svh, 36px) 0 12px;
  align-items: flex-start;
}
.screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__content {
  width: 58%;
  margin: 0;
  padding: 0 18px;
  background: none;
  justify-content: flex-start;
}
.screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__tag {
  font-size: clamp(13px, 1.8svh, 18px);
  line-height: 1.3;
  margin-bottom: 6px;
}
.screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__title {
  max-width: none;
  font-size: clamp(16px, min(1.65vw, 2.8svh), 30px);
  line-height: 1.25;
  margin-bottom: 10px;
}
.screen--themes #control-3 .new-returning__title {
  font-size: clamp(11px, min(1.32vw, 2.6svh), 26px);
  white-space: nowrap;
}
.screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__desc {
  font-size: clamp(12px, min(1.05vw, 1.9svh), 16px);
  line-height: 1.55;
  white-space: normal;
}
.screen--themes .new-returning .new-returning__card .new-returning__desc--pc { display: block; }
.screen--themes .new-returning .new-returning__card .new-returning__desc--mobile,
.screen--themes .new-returning .new-returning__card .new-returning__desc--mobile-960 { display: none; }
.screen--themes :is(#control-1-image, #control-3-image) {
  top: auto;
  left: 0;
  bottom: 0;
  width: 22%;
  height: 100%;
}
.screen--themes .new-returning__corner--right {
  top: auto;
  right: 0;
  bottom: 0;
  width: 24%;
  height: 100%;
}
.screen--themes .site-footer {
  padding: 8px 12px;
  font-size: 12px;
}
@media (max-width: 700px) {
  .screen--intro { padding: 24px 20px 96px; align-items: flex-start; }
  .screen--intro .activities {
    height: min(100%, 78svh);
    max-width: 100%;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) auto;
    gap: 16px;
  }
  .screen--intro .card--branding { aspect-ratio: auto; min-height: 0; container-type: inline-size; }
  .screen--intro .card__branding-caption {
    top: calc(50% + min(32.2cqw, 43%) + 8px);
    bottom: auto;
    transform: none;
  }
  .screen--themes { padding-top: 12px; }
  .screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__content {
    width: 74%;
    padding: 0 8px;
  }
  .screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__title { font-size: 14px; }
  .screen--themes #control-3 .new-returning__title { font-size: clamp(8px, 2.5vw, 14px); }
  .screen--themes :is(#control-1-image, #control-3-image, #control-4-image),
  .screen--themes .new-returning__corner--right { width: 15%; }
}
@media (max-width: 400px) and (max-height: 650px) {
  .screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__content { width: 82%; }
  .screen--themes :is(#control-1, #control-2, #control-3, #control-4) .new-returning__desc { font-size: 11px; line-height: 1.4; }
}
