body {
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  padding-top: 0;
  overflow-x: hidden;
  cursor: default;
}

html {
  min-width: 320px;
  overflow-x: hidden;
}

#illumination {
  --bg-body: #000;
}

#illumination .page-illumination {
  font-size: 1.8rem;
  color: #f1e3c4;
}

#illumination .page-illumination .kv {
  max-width: 2000px;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
  position: relative;
}

#illumination .page-illumination .kv img {
  display: block;
  width: 100%;
  height: auto;
}

#illumination .page-illumination main > section {
  font-weight: 200;
}

#illumination .page-illumination main > section h1,
#illumination .page-illumination main > section h2,
#illumination .page-illumination main > section h3,
#illumination .page-illumination main > section h4,
#illumination .page-illumination main > section h5,
#illumination .page-illumination main > section p,
#illumination .page-illumination main > section li,
#illumination .page-illumination main > section dt,
#illumination .page-illumination main > section dd,
#illumination .page-illumination main > section th,
#illumination .page-illumination main > section td,
#illumination .page-illumination main > section figcaption,
#illumination .page-illumination main > section small,
#illumination .page-illumination main > section strong,
#illumination .page-illumination main > section b {
  font-weight: inherit;
}

#illumination .page-illumination main .illum-date-box {
  background-image: url(../images/date/bg.png);
  background-size: 1011px auto;
  background-repeat: no-repeat;
  background-position: center 80px;
  padding-top: 10px;
  padding-bottom: 30px;
  text-align: center;
}

#illumination .page-illumination main .illum-date {
  max-width: 900px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}

#illumination .page-illumination main .illum-date .illum-title {
  margin-bottom: 40px;
  font-size: 2.6rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: 0 0 6px rgba(255, 240, 200, 0.9), 0 0 16px rgba(255, 215, 130, 0.8), 0 0 36px rgba(255, 190, 90, 0.6);
}

#illumination .page-illumination main .illum-date .illum-title__sub {
  display: block;
  margin-top: 6px;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  font-size: 0.72em;
  letter-spacing: 0.1em;
  color: #f5d2a0;
  text-shadow: 0 0 10px rgba(255, 226, 160, 0.7), 0 0 24px rgba(255, 210, 120, 0.45);
}

#illumination .page-illumination main .illum-date__row + #illumination .page-illumination main .illum-date__row {
  margin-top: 0;
}

#illumination .page-illumination main .illum-date__label {
  display: inline-block;
  padding: 2px 16px;
  font-size: 1.6rem;
  line-height: 1.6;
  color: #000;
  background-color: #d9b878;
  box-shadow: 0 0 10px 2px rgba(255, 215, 130, 0.75), 0 0 28px 6px rgba(255, 190, 90, 0.45);
}

#illumination .page-illumination main .illum-date__main {
  letter-spacing: 0.04em;
  font-weight: 200;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-top: 4px;
  margin-bottom: 30px;
  font-size: 5rem;
  line-height: 1.4;
  color: #fff;
  text-shadow: 0 0 6px rgba(255, 240, 200, 0.9), 0 0 16px rgba(255, 215, 130, 0.8), 0 0 36px rgba(255, 190, 90, 0.6);
}

#illumination .page-illumination main .illum-date__main span {
  font-size: 0.6em;
}

#illumination .page-illumination main .illum-date__hours {
  letter-spacing: 0.1em;
  font-weight: 200;
  font-family: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  margin-top: 14px;
  font-size: 4.2rem;
  line-height: 1.6;
  color: #fff;
  text-shadow: 0 0 6px rgba(255, 240, 200, 0.9), 0 0 16px rgba(255, 215, 130, 0.8), 0 0 36px rgba(255, 190, 90, 0.6);
}

#illumination .page-illumination main .illum-date__hours span {
  display: block;
  font-size: 2.4rem;
}

#illumination .page-illumination main .illum-date__lead {
  margin-top: 30px;
  font-size: 1.7rem;
  line-height: 2.2;
}

#illumination .page-illumination main .concurrent {
  padding-top: 90px;
  padding-bottom: 20px;
}

#illumination .page-illumination main .concurrent__lead {
  margin-bottom: 20px;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  color: #f5d2a0;
}

#illumination .page-illumination main .concurrent__lead span {
  color: #fff;
  font-weight: 700;
}

#illumination .page-illumination main .concurrent a {
  display: block;
  overflow: hidden;
  max-width: 1160px;
  margin: 0 auto;
  border-radius: 20px;
  transition: box-shadow 0.4s ease;
}

#illumination .page-illumination main .concurrent img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

#illumination .page-illumination main #theme {
  padding-top: 100px;
  padding-bottom: 50px;
}

#illumination .page-illumination main #theme .theme-main {
  max-width: 1162px;
  margin: 50px auto 0;
  overflow: hidden;
  background-color: #005272;
  border: solid 1px rgba(217, 184, 120, 0.6);
  border-radius: 20px;
}

#illumination .page-illumination main #theme .theme-main__kv {
  padding-top: 52.4096385542%;
  background: url(../images/theme/kv.jpg) no-repeat -154px -57px/1404px auto;
}

#illumination .page-illumination main #theme .theme-panel {
  padding: 50px 70px 60px;
  color: #fff;
}

#illumination .page-illumination main #theme .theme-panel__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
}

#illumination .page-illumination main #theme .theme-panel__logo {
  flex: 0 0 230px;
}

#illumination .page-illumination main #theme .theme-panel__logo img {
  width: 100%;
  height: auto;
}

#illumination .page-illumination main #theme .theme-panel__lead {
  font-size: 1.6rem;
  line-height: 2.4;
  letter-spacing: 0.08em;
}

#illumination .page-illumination main #theme .theme-feature {
  display: flex;
  align-items: center;
  gap: 40px;
  position: relative;
  margin-top: 60px;
}

#illumination .page-illumination main #theme .theme-feature.-rev {
  flex-direction: row-reverse;
}

#illumination .page-illumination main #theme .theme-feature::before,
#illumination .page-illumination main #theme .theme-feature::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}

#illumination .page-illumination main #theme .theme-feature::before {
  top: -40px;
  right: 20px;
  width: 38px;
  height: 44px;
  background-image: url(../images/theme/snow01.png);
}

#illumination .page-illumination main #theme .theme-feature::after {
  bottom: -10px;
  left: 825px;
  width: 35px;
  height: 38px;
  background-image: url(../images/theme/snow02.png);
}

#illumination .page-illumination main #theme .theme-feature.-rev::after {
  left: 190px;
  width: 29px;
  height: 30px;
  background-image: url(../images/theme/snow04.png);
}

#illumination .page-illumination main #theme .theme-feature.-rev::before {
  display: none;
}

#illumination .page-illumination main #theme .theme-feature__img {
  flex: 0 0 700px;
}

#illumination .page-illumination main #theme .theme-feature__img img {
  display: block;
  width: 100%;
  height: auto;
}

#illumination .page-illumination main #theme .theme-feature__txt {
  flex: 1;
  position: relative;
}

#illumination .page-illumination main #theme .theme-feature__txt h3 {
  font-family: "Quicksand", sans-serif;
  font-size: 3.2rem;
  font-weight: 300;
  line-height: 1.4;
}

#illumination .page-illumination main #theme .theme-feature__txt p {
  margin-top: 24px;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 200;
}

#illumination .page-illumination main #spots {
  padding-top: 100px;
  padding-bottom: 40px;
}

#illumination .page-illumination main #spots .spots-course__lead {
  position: relative;
  margin-top: -10px;
  font-size: 1.6rem;
  line-height: 2;
  color: #f5d2a0;
  font-weight: 200;
}

#illumination .page-illumination main #spots .spots-list {
  position: relative;
  max-width: 1160px;
  margin: 80px auto 0;
}

#illumination .page-illumination main #spots .spot {
  display: flex;
  align-items: center;
  gap: 60px;
  margin-top: 90px;
}

#illumination .page-illumination main #spots .spot.-rev {
  flex-direction: row-reverse;
}

#illumination .page-illumination main #spots .spot__img {
  flex: 0 0 700px;
}

#illumination .page-illumination main #spots .spot__img img {
  display: block;
  width: 100%;
  height: auto;
}

#illumination .page-illumination main #spots .spot__body {
  flex: 1;
  position: relative;
}

#illumination .page-illumination main #spots .spot__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 68px;
  margin-bottom: 8px;
  padding-top: 4px;
  font-family: "Quicksand", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  color: #000;
  background: url(../images/spots/heart.png) no-repeat center/contain;
}

#illumination .page-illumination main #spots .spot__kana {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}

#illumination .page-illumination main #spots .spot__en {
  position: relative;
  display: inline-block;
}

#illumination .page-illumination main #spots .spot__en::after {
  content: "";
  position: absolute;
  top: -24px;
  right: -56px;
  width: 45px;
  height: 38px;
  background: url(../images/spots/star01_one.png) no-repeat center/contain;
  pointer-events: none;
}

#illumination .page-illumination main #spots .spot__en {
  font-family: "Quicksand", sans-serif;
  font-size: 3.4rem;
  font-weight: 300;
  line-height: 1.35;
  color: #fff;
  text-shadow: 0 0 8px rgba(255, 205, 120, 0.9), 0 0 26px rgba(255, 195, 110, 0.75), 0 0 60px rgba(255, 185, 100, 0.6);
}

#illumination .page-illumination main #spots .spot__sub {
  margin-top: 14px;
  font-size: 1.8rem;
  font-weight: 200;
  color: #fff;
}

#illumination .page-illumination main #spots .spot__txt {
  margin-top: 22px;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 200;
}

#illumination .page-illumination main #spots .spot__shop {
  margin-top: 10px;
  font-size: 1.4rem;
  font-weight: 200;
}

#illumination .page-illumination main #spots .spot__padlock {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 30px;
  font-size: 1.6rem;
  font-weight: 200;
  line-height: 1.7;
}

#illumination .page-illumination main #spots .spot__padlock img {
  flex: 0 0 120px;
  width: 120px;
  height: auto;
}

#illumination .page-illumination main #spots .spot__oval {
  margin-top: 30px;
}

#illumination .page-illumination main #spots .spot__oval img {
  display: block;
  width: 340px;
  max-width: 100%;
  height: auto;
}

#illumination .page-illumination main #spots .spot-row {
  margin-top: 90px;
}

#illumination .page-illumination main #spots .spot-row .spot {
  margin-top: 0;
}

#illumination .page-illumination main #spots .spot.-sub {
  margin-top: 60px;
}

#illumination .page-illumination main #zero {
  padding-top: 100px;
  padding-bottom: 93px;
}

#illumination .page-illumination main #zero {
  position: relative;
  isolation: isolate;
}

#illumination .page-illumination main #zero::before {
  top: 20px;
  left: calc(50% - 500px);
  width: 252px;
  height: 164px;
  background-image: url(../images/zero/bokeh02.png);
}

#illumination .page-illumination main #zero::after {
  top: 40px;
  left: calc(50% + 440px);
  width: 160px;
  height: 258px;
  background-image: url(../images/zero/bokeh03.png);
}

#illumination .page-illumination main #zero .w {
  position: relative;
}

#illumination .page-illumination main #zero .w::before {
  top: 430px;
  left: calc(50% - 560px);
  width: 156px;
  height: 204px;
  background-image: url(../images/zero/bokeh04.png);
}

#illumination .page-illumination main #zero .zero-head {
  padding-top: 58px;
  margin-bottom: 50px;
}

#illumination .page-illumination main #zero .zero-head__logo img {
  width: 290px;
  height: auto;
}

#illumination .page-illumination main #zero .zero-head__ttl {
  margin-top: 40px;
  font-size: 2rem;
  letter-spacing: 0.1em;
  color: #f5d2a0;
}

#illumination .page-illumination main #zero .zero-logo {
  max-width: 100%;
  height: auto;
}

#illumination .page-illumination main #zero .zero-lead {
  color: #fff;
}

#illumination .page-illumination main #zero .sublead {
  font-size: 1.6rem;
  opacity: 0.7;
  margin-top: 38px;
  margin-bottom: 28px;
}

#illumination .page-illumination main #zero .weather {
  font-size: 1.6rem;
  margin-top: 23px;
  margin-bottom: 55px;
}

#illumination .page-illumination main #event {
  padding-top: 70px;
}

#illumination .page-illumination main #event .lighting {
  max-width: 958px;
  margin-left: auto;
  margin-right: auto;
  margin-inline: auto;
}

#illumination .page-illumination main #event .lighting img {
  display: block;
  width: 100%;
  height: auto;
}

#illumination .page-illumination main #tea {
  padding-top: 100px;
  padding-bottom: 40px;
}

#illumination .page-illumination main #tea .tea-lead {
  position: relative;
  margin-top: -60px;
  font-size: 1.6rem;
  font-weight: 200;
  color: #d9b878;
}

#illumination .page-illumination main #tea .tea-list {
  max-width: 1160px;
  margin: 60px auto 0;
}

#illumination .page-illumination main #tea .tea-list .imgbox {
  display: block;
  width: 100%;
  height: auto;
}

#illumination .page-illumination main #tea .tea-list figcaption {
  margin-top: 30px;
  font-size: 1.9rem;
  line-height: 1.7;
  text-align: center;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: 0 0 8px rgba(255, 205, 120, 0.9), 0 0 26px rgba(255, 195, 110, 0.75), 0 0 60px rgba(255, 185, 100, 0.6);
}

#illumination .page-illumination main #tea .tea-list figcaption small {
  font-size: 1.6rem;
}

#illumination .page-illumination main #tea .tea-list figcaption .tea-price {
  margin-top: 14px;
  font-size: 1.6rem;
}

#illumination .page-illumination main #tea .tea-list figcaption .tea-price span {
  font-size: 2.6rem;
}

#illumination .page-illumination main #tea .tea-list figcaption .tea-shop {
  margin-top: 14px;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-shadow: none;
}

#illumination .page-illumination main #sponsor {
  padding-top: 40px;
  padding-bottom: 157px;
}

#illumination .page-illumination main #sponsor ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  max-width: 1000px;
}

#illumination .page-illumination main #sponsor a img {
  display: block;
  max-width: 100%;
  height: auto;
}

#illumination .page-illumination main #sponsor .big {
  margin-top: 50px;
}

#illumination .page-illumination main #sponsor .big ul {
  gap: 44px 26px;
}

#illumination .page-illumination main #sponsor .medium {
  margin-top: 20px;
}

#illumination .page-illumination main #sponsor .small {
  margin-top: 30px;
}

#illumination .page-illumination main #sponsor .small ul {
  gap: 0 4px;
}

#illumination .page-illumination main #sponsor .design {
  margin-top: 30px;
  text-align: center;
}

#illumination .page-illumination main #sponsor .design img {
  margin: 0 auto;
}

#illumination .page-illumination main #sponsor .bg-medium {
  background: url(../images/sponsor/snow.png) repeat-y center bottom/1142px auto;
}

#illumination .w {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

#illumination main .btn--top {
  text-align: center;
  padding-bottom: 108px;
}

#illumination main .btn--top img {
  border: solid 1px #000;
  border-radius: 50px;
  max-width: 400px;
}

#illumination main .big {
  font-size: 3rem;
}

body#illumination {
  background-color: #000;
}

#illumination #index-about {
  color: #244661;
}

#illumination .snowfall-flakes {
  pointer-events: none;
}

#illumination .wave_mask {
  -webkit-mask-image: url(../images/wave-mask.svg);
  mask-image: url(../images/wave-mask.svg);
}

#illumination .wave_top::before,
#illumination .wave_top::after,
#illumination .wave_bottom::before,
#illumination .wave_bottom::after {
  -webkit-mask-image: url(../images/wave-mask.svg);
  mask-image: url(../images/wave-mask.svg);
}

@media only screen and (min-width: 744px) {
  #illumination .page-illumination main {
    padding-top: 16px;
  }

  #illumination .page-illumination main #theme .theme-feature.-rev .theme-feature__txt::before {
    content: "";
    position: absolute;
    bottom: calc(100% + 20px);
    right: auto;
    left: -20px;
    width: 41px;
    height: 47px;
    background: url(../images/theme/snow03.png) no-repeat center/contain;
    pointer-events: none;
  }

  #illumination .page-illumination main #spots .spots-list {
    background: url(../images/spots/line.png) no-repeat 100px 320px/744px auto;
  }

  #illumination .page-illumination main #spots .spot-row {
    display: flex;
    gap: 80px;
  }

  #illumination .page-illumination main #spots .spot-row .spot {
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  #illumination .page-illumination main #spots .spot-row .spot__img {
    flex: none;
    width: 100%;
  }

  #illumination .page-illumination main #spots .spot--1 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 175px;
    height: 138px;
    background: url(../images/spots/bg01.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--2 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 149px;
    height: 129px;
    background: url(../images/spots/bg02.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--3 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 93px;
    height: 93px;
    background: url(../images/spots/bg03.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--4 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 177px;
    height: 153px;
    background: url(../images/spots/bg04.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--5 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 217px;
    height: 156px;
    background: url(../images/spots/bg05.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--6 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 164px;
    height: 143px;
    background: url(../images/spots/bg06.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--7 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 112px;
    height: 112px;
    background: url(../images/spots/bg07.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--8 .spot__body::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -70px;
    width: 203px;
    height: 144px;
    background: url(../images/spots/bg08.png) no-repeat center/contain;
    pointer-events: none;
    z-index: -1;
  }

  #illumination .page-illumination main #spots .spot--5 .spot__body::after {
    right: -140px;
    bottom: -130px;
  }

  #illumination .page-illumination main #spots .spot--4 {
    padding-left: 80px;
  }

  #illumination .page-illumination main #spots .spot--4 .spot__img {
    flex-basis: 500px;
  }

  #illumination .page-illumination main #spots .spot--7 {
    padding-left: 160px;
  }

  #illumination .page-illumination main #zero::before,
  #illumination .page-illumination main #zero::after,
  #illumination .page-illumination main #zero .w::before {
    content: "";
    position: absolute;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
  }

  #illumination .page-illumination main #tea .tea-list {
    display: flex;
    gap: 40px;
  }

  #illumination .page-illumination main #tea .tea-list li {
    flex: 1;
  }
}

@media only screen and (max-width: 743px) {
  .sp-block {
    padding-left: max(15px,4vw);
    padding-right: max(15px,4vw);
    padding-inline: max(15px,4vw);
  }

  #illumination .page-illumination {
    font-size: max(9px,2.4vw);
  }

  #illumination .page-illumination main .illum-date-box {
    background-image: url(../images/date/bg_sp.png);
    background-size: 100% auto;
    background-position: center max(115px,30.6666666667vw);
    padding: max(20px,5.3333333333vw) 0 max(40px,10.6666666667vw);
  }

  #illumination .page-illumination main .illum-date .illum-title {
    margin-bottom: max(25px,6.6666666667vw);
    font-size: max(18px,4.8vw);
  }

  #illumination .page-illumination main .illum-date__row + #illumination .page-illumination main .illum-date__row {
    margin-top: 0;
  }

  #illumination .page-illumination main .illum-date__label {
    font-size: max(13px,3.4666666667vw);
    padding: 0 max(12px,3.2vw);
  }

  #illumination .page-illumination main .illum-date__main {
    margin-top: max(10px,2.6666666667vw);
    margin-bottom: max(25px,6.6666666667vw);
    font-size: max(25px,6.6666666667vw);
    letter-spacing: 0;
    white-space: nowrap;
  }

  #illumination .page-illumination main .illum-date__hours {
    margin-top: max(10px,2.6666666667vw);
    font-size: max(26px,6.9333333333vw);
  }

  #illumination .page-illumination main .illum-date__hours span {
    font-size: max(15px,4vw);
  }

  #illumination .page-illumination main .illum-date__lead {
    margin-top: max(20px,5.3333333333vw);
    font-size: max(13px,3.4666666667vw);
    line-height: 1.8;
    letter-spacing: 0.02em;
  }

  #illumination .page-illumination main .concurrent {
    padding-top: max(50px,13.3333333333vw);
    padding-bottom: max(15px,4vw);
  }

  #illumination .page-illumination main .concurrent__lead {
    margin-bottom: max(15px,4vw);
    font-size: max(14px,3.7333333333vw);
  }

  #illumination .page-illumination main .concurrent a {
    border-radius: max(10px,2.6666666667vw);
  }

  #illumination .page-illumination main .concurrent img {
    border-radius: max(10px,2.6666666667vw);
  }

  #illumination .page-illumination main #theme {
    padding-top: max(55px,14.6666666667vw);
    padding-bottom: max(45px,12vw);
  }

  #illumination .page-illumination main #theme .theme-main {
    margin: max(25px,6.6666666667vw) max(15px,4vw) 0;
    border-radius: max(10px,2.6666666667vw);
  }

  #illumination .page-illumination main #theme .theme-main__kv {
    background-position: 63.4% -4.9vw;
    background-size: 120.8% auto;
  }

  #illumination .page-illumination main #theme .theme-panel {
    padding: max(25px,6.6666666667vw) max(18px,4.8vw) max(35px,9.3333333333vw);
  }

  #illumination .page-illumination main #theme .theme-panel__head {
    justify-content: flex-start;
    gap: max(20px,5.3333333333vw);
    text-align: left;
  }

  #illumination .page-illumination main #theme .theme-panel__logo {
    flex-basis: max(105px,28vw);
    width: max(105px,28vw);
    margin: 0;
  }

  #illumination .page-illumination main #theme .theme-panel__lead {
    margin-top: 0;
    font-size: max(13px,3.4666666667vw);
    text-align: left;
    line-height: 2;
  }

  #illumination .page-illumination main #theme .theme-panel__lead br {
    display: none;
  }

  #illumination .page-illumination main #theme .theme-feature {
    display: block;
    margin-top: max(35px,9.3333333333vw);
  }

  #illumination .page-illumination main #theme .theme-feature::before,
  #illumination .page-illumination main #theme .theme-feature::after,
  #illumination .page-illumination main #theme .theme-feature.-rev::before,
  #illumination .page-illumination main #theme .theme-feature.-rev::after {
    display: none;
  }

  #illumination .page-illumination main #theme .theme-feature__img {
    width: 100%;
  }

  #illumination .page-illumination main #theme .theme-feature__txt h3 {
    margin-top: max(15px,4vw);
    font-size: max(25px,6.6666666667vw);
  }

  #illumination .page-illumination main #theme .theme-feature__txt p {
    margin-top: max(10px,2.6666666667vw);
    font-size: max(14px,3.7333333333vw);
  }

  #illumination .page-illumination main #theme .theme-feature .theme-feature__txt::before,
  #illumination .page-illumination main #theme .theme-feature .theme-feature__txt::after {
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
  }

  #illumination .page-illumination main #theme .theme-feature .theme-feature__txt::before {
    top: max(-2px,-0.5333333333vw);
    right: max(55px,14.6666666667vw);
    width: max(20px,5.3333333333vw);
    height: max(23px,6.1333333333vw);
    background-image: url(../images/theme/snow01.png);
  }

  #illumination .page-illumination main #theme .theme-feature .theme-feature__txt::after {
    top: max(20px,5.3333333333vw);
    right: max(25px,6.6666666667vw);
    width: max(19px,5.0666666667vw);
    height: max(20px,5.3333333333vw);
    background-image: url(../images/theme/snow02.png);
  }

  #illumination .page-illumination main #theme .theme-feature.-rev .theme-feature__txt::before {
    background-image: url(../images/theme/snow03.png);
  }

  #illumination .page-illumination main #theme .theme-feature.-rev .theme-feature__txt::after {
    background-image: url(../images/theme/snow04.png);
  }

  #illumination .page-illumination main #spots {
    padding-top: max(20px,5.3333333333vw);
    padding-bottom: max(32.5px,8.6666666667vw);
  }

  #illumination .page-illumination main #spots .spots-course__lead {
    margin-top: max(-5px,-1.3333333333vw);
    font-size: max(13.5px,3.6vw);
  }

  #illumination .page-illumination main #spots .spots-list {
    margin-top: max(40px,10.6666666667vw);
    padding: 0 max(15px,4vw);
    background: url(../images/spots/line_sp.png) no-repeat max(45px,12vw) max(260px,69.3333333333vw)/max(21px,5.6vw) auto;
  }

  #illumination .page-illumination main #spots .spot {
    display: block;
    margin-top: max(50px,13.3333333333vw);
  }

  #illumination .page-illumination main #spots .spot__img {
    width: 100%;
  }

  #illumination .page-illumination main #spots .spot__body {
    display: grid;
    grid-template-columns: max(50px,13.3333333333vw) 1fr;
    -webkit-column-gap: max(10px,2.6666666667vw);
    -moz-column-gap: max(10px,2.6666666667vw);
    column-gap: max(10px,2.6666666667vw);
    align-items: start;
    margin-top: max(15px,4vw);
  }

  #illumination .page-illumination main #spots .spot__body > * {
    grid-column: 2;
  }

  #illumination .page-illumination main #spots .spot__body > .spot__num {
    grid-column: 1;
    grid-row: 1/span 4;
  }

  #illumination .page-illumination main #spots .spot__num {
    width: max(56px,14.9333333333vw);
    height: max(49px,13.0666666667vw);
    margin-bottom: 0;
    font-size: max(19px,5.0666666667vw);
  }

  #illumination .page-illumination main #spots .spot__kana {
    font-size: max(11px,2.9333333333vw);
  }

  #illumination .page-illumination main #spots .spot__en {
    font-size: max(25px,6.6666666667vw);
    line-height: 1.2;
  }

  #illumination .page-illumination main #spots .spot__en::after {
    top: max(-4px,-1.0666666667vw);
    right: max(-40px,-10.6666666667vw);
    width: max(27px,7.2vw);
    height: max(22.5px,6vw);
  }

  #illumination .page-illumination main #spots .spot__sub {
    font-size: max(16px,4.2666666667vw);
  }

  #illumination .page-illumination main #spots .spot__txt {
    margin-top: max(10px,2.6666666667vw);
    font-size: max(15px,4vw);
  }

  #illumination .page-illumination main #spots .spot__shop {
    margin-top: max(7px,1.8666666667vw);
    font-size: max(13px,3.4666666667vw);
  }

  #illumination .page-illumination main #spots .spot__padlock {
    font-size: max(14px,3.7333333333vw);
  }

  #illumination .page-illumination main #spots .spot__padlock img {
    flex-basis: max(80px,21.3333333333vw);
    width: max(80px,21.3333333333vw);
  }

  #illumination .page-illumination main #spots .spot__oval img {
    width: max(220px,58.6666666667vw);
  }

  #illumination .page-illumination main #spots .spot__oval {
    grid-column: 1/-1;
    grid-row: 1;
    justify-self: end;
    margin: max(-54px,-14.4vw) max(-15px,-4vw) max(10px,2.6666666667vw) 0;
  }

  #illumination .page-illumination main #spots .spot-row {
    margin-top: 0;
  }

  #illumination .page-illumination main #spots .spot-row .spot {
    margin-top: max(50px,13.3333333333vw);
  }

  #illumination .page-illumination main #spots .spot--6 .spot__body {
    margin-top: 0;
  }

  #illumination .page-illumination main #spots .spot--6 .spot__body > .spot__num {
    grid-row: 2/span 4;
  }

  #illumination .page-illumination main #spots .spot--2 .spot__img,
  #illumination .page-illumination main #spots .spot--3 .spot__img {
    width: 89.8550724638%;
    margin: 0 auto;
  }

  #illumination .page-illumination main #spots .spot.-sub .spot__body > * {
    grid-column: 1/-1;
  }

  #illumination .page-illumination main #spots .spot.-sub {
    margin-top: max(40px,10.6666666667vw);
  }

  #illumination .page-illumination main #zero {
    padding-top: max(20px,5.3333333333vw);
    padding-bottom: max(33px,8.8vw);
    background: url(../images/zero/bg_sp.png) no-repeat center max(28px,7.4666666667vw)/100% auto;
  }

  #illumination .page-illumination main #zero .zero-head {
    padding-top: 0;
    margin-bottom: max(37.5px,10vw);
  }

  #illumination .page-illumination main #zero .zero-head__logo img {
    width: max(175px,46.6666666667vw);
  }

  #illumination .page-illumination main #zero .zero-head__ttl {
    margin-top: max(25px,6.6666666667vw);
    font-size: max(15px,4vw);
  }

  #illumination .page-illumination main #zero p {
    font-size: max(13px,3.4666666667vw);
  }

  #illumination .page-illumination main #zero .zero-logo {
    width: max(320px,85.3333333333vw);
  }

  #illumination .page-illumination main #zero .sublead {
    font-size: max(11px,2.9333333333vw);
    margin-top: max(20.5px,5.4666666667vw);
    margin-bottom: max(31.5px,8.4vw);
  }

  #illumination .page-illumination main #zero .weather {
    font-size: max(10px,2.6666666667vw);
    margin-top: max(11.5px,3.0666666667vw);
    margin-bottom: 0;
  }

  #illumination .page-illumination main #event {
    padding-top: max(30px,8vw);
  }

  #illumination .page-illumination main #tea {
    padding-top: max(20px,5.3333333333vw);
    padding-bottom: max(20px,5.3333333333vw);
    background-repeat: no-repeat;
    background-image: url(../images/tea/bg01.png), url(../images/tea/bg02.png), url(../images/tea/bg03.png), url(../images/tea/bg04.png), url(../images/tea/bg05.png), url(../images/tea/bg06.png), url(../images/tea/bg07.png);
    background-size: max(46px,12.2666666667vw) auto, max(52px,13.8666666667vw) auto, max(46px,12.2666666667vw) auto, max(76.5px,20.4vw) auto, max(47.5px,12.6666666667vw) auto, max(57px,15.2vw) auto, max(87px,23.2vw) auto;
    background-position: right 0 top max(311.5px,83.0666666667vw), left 0 top max(487px,129.8666666667vw), right 0 top max(621.5px,165.7333333333vw), left max(4.5px,1.2vw) top max(856.5px,228.4vw), right 0 top max(1030.5px,274.8vw), left 0 top max(1218px,324.8vw), right 0 top max(1201.5px,320.4vw);
  }

  #illumination .page-illumination main #tea .tea-lead {
    margin-top: max(-30px,-8vw);
    font-size: max(13px,3.4666666667vw);
  }

  #illumination .page-illumination main #tea .tea-list {
    margin-top: max(30px,8vw);
    padding: 0 max(52.5px,14vw);
  }

  #illumination .page-illumination main #tea .tea-list li + li {
    margin-top: max(45px,12vw);
  }

  #illumination .page-illumination main #tea .tea-list figcaption {
    margin-top: max(15px,4vw);
    font-size: max(18px,4.8vw);
  }

  #illumination .page-illumination main #tea .tea-list figcaption small {
    font-size: max(14px,3.7333333333vw);
  }

  #illumination .page-illumination main #tea .tea-list figcaption .tea-price {
    margin-top: max(7px,1.8666666667vw);
    font-size: max(14px,3.7333333333vw);
  }

  #illumination .page-illumination main #tea .tea-list figcaption .tea-price span {
    font-size: max(22px,5.8666666667vw);
  }

  #illumination .page-illumination main #tea .tea-list figcaption .tea-shop {
    margin-top: max(7px,1.8666666667vw);
    font-size: max(12px,3.2vw);
  }

  #illumination .page-illumination main #sponsor {
    padding-top: max(20px,5.3333333333vw);
    padding-bottom: max(45px,12vw);
  }

  #illumination .page-illumination main #sponsor .sp-block {
    padding-left: 30px;
    padding-right: 30px;
  }

  #illumination .page-illumination main #sponsor .big {
    margin-top: max(12px,3.2vw);
  }

  #illumination .page-illumination main #sponsor .big ul {
    flex-direction: column;
    align-items: center;
    gap: max(2px,0.5333333333vw);
  }

  #illumination .page-illumination main #sponsor .big img {
    width: max(273px,72.8vw);
  }

  #illumination .page-illumination main #sponsor .medium {
    margin-top: max(12px,3.2vw);
  }

  #illumination .page-illumination main #sponsor .medium img {
    width: max(178px,47.4666666667vw);
  }

  #illumination .page-illumination main #sponsor .small {
    margin-top: max(12px,3.2vw);
  }

  #illumination .page-illumination main #sponsor .small ul {
    flex-wrap: nowrap;
    gap: max(2px,0.5333333333vw);
  }

  #illumination .page-illumination main #sponsor .small img {
    width: max(123px,32.8vw);
  }

  #illumination .page-illumination main #sponsor .design {
    margin-top: max(60px,16vw);
  }

  #illumination .page-illumination main #sponsor .design img {
    width: max(273px,72.8vw);
  }

  #illumination .page-illumination main #sponsor .bg-medium {
    background-image: url(../images/sponsor/snow_sp.png);
    background-size: 100% auto;
  }

  #illumination main .btn--top {
    padding: 0 20px max(50px,13.3333333333vw);
  }

  #illumination main .btn--top img {
    max-width: 300px;
    width: max(150px,40vw);
    min-width: 250px;
  }

  #illumination main .big {
    font-size: max(16px,4.2666666667vw);
  }
}

@media (hover: hover) {
  #illumination .page-illumination main .concurrent a:hover {
    box-shadow: 0 0 24px 4px rgba(255, 215, 130, 0.55);
    opacity: 1;
  }

  #illumination .page-illumination main .concurrent a:hover img {
    -webkit-transform: scale(1.015);
    transform: scale(1.015);
    opacity: 1;
    -webkit-filter: none;
    filter: none;
  }
}