@charset "UTF-8";
ul,
ol,
li,
dl,
dt,
dd,
figure,
figcaption,
p,
h1,
h2,
h3,
h4,
h5 {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: #1C1B1F;
  transition: background-color 0.2s linear, color 0.2s linear;
}
a:hover {
  text-decoration: none;
  color: #1C1B1F;
  transition: background-color 0.2s linear, color 0.2s linear;
}

img {
  width: 100%;
  height: auto;
}

html {
  width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "M PLUS 2", sans-serif;
  -webkit-overflow-scrolling: auto;
  width: 100%;
  color: #1C1B1F;
}

.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}

.sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

header {
  width: 100%;
  height: 16vw;
  padding-left: 4.5333333333vw;
  position: fixed;
  z-index: 100;
  background: #fff;
  top: 0;
}
@media screen and (min-width: 768px) {
  header {
    height: min(60px, 4.8vw);
    padding-left: 0;
    display: block !important;
  }
}
header div {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (min-width: 768px) {
  header div {
    width: min(980px, 78.4vw);
  }
}
header div .logo {
  width: 33.8666666667vw;
}
@media screen and (min-width: 768px) {
  header div .logo {
    width: min(190px, 15.2vw);
  }
}
header div .logo a {
  display: block;
}
header div .logo a img {
  vertical-align: text-top;
}
header div .logo + p {
  display: none;
}
@media screen and (min-width: 768px) {
  header div .logo + p {
    font-size: min(0.96vw, 12px);
    line-height: 1.6666666667;
    margin-left: min(14.33px, 1.1464vw);
    display: block;
  }
}
header div .contact {
  display: none;
}
@media screen and (min-width: 768px) {
  header div .contact {
    margin-left: auto;
    display: block;
  }
}
header div .contact a {
  display: block;
  border-radius: min(8px, 0.64vw);
  padding: 0 min(12px, 0.96vw);
  text-align: center;
  border: min(1px, 0.08vw) solid #B72021;
  color: #B72021;
  background-color: #fff;
  font-size: min(1.12vw, 14px);
  line-height: 2.4285714286;
  font-weight: 600;
}
@media (hover: hover) and (pointer: fine) {
  header div .contact a:hover {
    background-color: #ffe1cc;
  }
}
header .hamburger {
  display: block;
  position: absolute;
  margin-right: 2.9333333333vw;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  z-index: 10000;
  top: 2.6666666667vw;
  right: 0;
}
header .hamburger.active {
  position: fixed;
  right: 0;
}
header .hamburger.active span {
  background-color: #fff;
}
header .hamburger.active span:nth-of-type(1) {
  transform: translateY(2.1333333333vw) rotate(-45deg);
}
header .hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
header .hamburger.active span:nth-of-type(3) {
  transform: translateY(-2.1333333333vw) rotate(45deg);
}
header .hamburger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
  position: absolute;
  left: 1.8666666667vw;
  width: 6.1333333333vw;
  height: 0.5333333333vw;
  background-color: #000;
  border-radius: 0;
}
header .hamburger span:nth-of-type(1) {
  top: 2.9333333333vw;
}
header .hamburger span:nth-of-type(2) {
  top: 5.0666666667vw;
}
header .hamburger span:nth-of-type(3) {
  top: 7.2vw;
}
@media screen and (min-width: 768px) {
  header .hamburger {
    display: none;
  }
}
header .gNavi {
  background: linear-gradient(173deg, #40b8f4 29.28%, #5be0db 113.62%);
  position: relative;
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  min-height: 100svh;
  height: 100%;
  z-index: 1001;
  right: -100vw;
  overflow-y: scroll;
  transition: all 0.3s ease;
}
header .gNavi:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.6;
  background-image: url("../img/campaign/background.png");
  background-size: 100% auto;
  background-repeat: repeat-y;
  background-position: top center;
  mix-blend-mode: overlay;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  header .gNavi:before {
    background-image: url("../img/campaign/background_pc.png");
  }
}
header .gNavi:after {
  content: "";
  width: 100%;
  aspect-ratio: 375/180;
  background-image: url(../img/cloud03.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  bottom: -16vw;
}
header .gNavi p {
  padding-top: 5.8666666667vw;
}
header .gNavi p img {
  width: 34.4vw;
  margin: 0 auto;
  display: block;
}
header .gNavi ul:not(.sns) {
  width: 85.3333333333vw;
  margin: 10.6666666667vw auto 0;
  display: flex;
  flex-direction: column;
  gap: 2.1333333333vw;
}
header .gNavi ul:not(.sns) li a {
  display: flex;
  height: 13.8666666667vw;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 4.2666666667vw;
  line-height: 1.25;
  font-weight: 700;
  color: #fff;
  border-radius: 2.1333333333vw;
  background: rgba(0, 99, 167, 0.4);
}
header .gNavi ul:not(.sns) li a span {
  display: block;
  font-size: 3.2vw;
  line-height: 1.1666666667;
}
header .gNavi dl {
  width: 85.3333333333vw;
  margin: 10.6666666667vw auto 0;
}
header .gNavi dl dt {
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  font-weight: 700;
  text-align: center;
}
header .gNavi dl dd {
  margin-top: 4.2666666667vw;
}
header .gNavi dl dd ul {
  display: grid;
  grid-template-columns: repeat(4, 14.9333333333vw);
  margin: 0 auto;
  gap: 3.2vw;
  justify-content: center;
}
header .gNavi dl dd ul li a {
  border-radius: 3.2vw;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
}
header .gNavi dl dd ul li a img {
  width: 8vw;
}
header .gNavi.active {
  right: 0;
  position: fixed;
  display: block;
}
@media screen and (min-width: 768px) {
  header {
    display: none;
  }
}

#sns {
  margin-top: 16vw;
  padding: 5.3333333333vw 0;
  width: 100%;
  background: #cee6f0;
}
@media screen and (min-width: 768px) {
  #sns {
    margin-top: min(60px, 4.8vw);
    padding: min(40px, 3.2vw) 0;
  }
}
#sns h3 {
  font-size: 3.7333333333vw;
  line-height: 1.4;
  font-weight: 600;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #sns h3 {
    font-size: min(1.12vw, 14px);
    line-height: 1.4;
  }
}
#sns ul {
  width: max-content;
  display: grid;
  width: 85.3333333333vw;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.1333333333vw 3.2vw;
  margin: 4.2666666667vw auto 0;
}
@media screen and (min-width: 768px) {
  #sns ul {
    grid-template-columns: repeat(4, min(154px, 12.32vw));
    gap: min(12px, 0.96vw);
    margin-top: min(20px, 1.6vw);
    width: max-content;
  }
}
#sns ul li a {
  display: grid;
  grid-template-columns: 8vw 1fr;
  align-items: center;
  justify-content: center;
  gap: 3.2vw;
  background: #fff;
  border-radius: 3.2vw;
  font-size: 3.2vw;
  line-height: 1.1666666667;
  font-weight: 700;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
  height: 15.4666666667vw;
  padding: 0 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  #sns ul li a {
    border-radius: min(12px, 0.96vw);
    font-size: min(0.96vw, 12px);
    line-height: 1.1666666667;
    gap: min(15px, 1.2vw);
    grid-template-columns: min(30px, 2.4vw) 1fr;
    height: min(58px, 4.64vw);
    padding: 0 min(16px, 1.28vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #sns ul li a:hover {
    background-color: #ffc399;
    transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
  }
}
#sns ul li a img {
  aspect-ratio: 1/1;
}
#sns ul li a span span {
  font-size: 2.6666666667vw;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #sns ul li a span span {
    font-size: min(0.8vw, 10px);
    line-height: 1.4;
  }
}

footer {
  position: relative;
  background: none;
  padding: initial;
  background-color: #0b82b5;
  color: #fff;
  margin-top: 0;
  padding-top: 10.6666666667vw;
}
@media screen and (min-width: 768px) {
  footer {
    padding-top: min(40px, 3.2vw);
  }
}
footer dl {
  text-align: center;
  width: 80vw;
  margin: 0 auto;
}
footer dl dt {
  font-size: 5.3333333333vw;
  line-height: 1.2;
  font-weight: 700;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  footer dl dt {
    font-size: min(1.6vw, 20px);
    line-height: 1.2;
  }
}
footer dl dd p:nth-of-type(1) {
  width: 100%;
  margin: 12vw auto 0;
}
@media screen and (min-width: 768px) {
  footer dl dd p:nth-of-type(1) {
    width: min(480px, 38.4vw);
    margin-top: min(20px, 1.6vw);
  }
}
footer dl dd p:nth-of-type(1) a {
  display: block;
  background-color: #fff;
  border-radius: 1.0666666667vw;
  padding: 1.8666666667vw 0;
  font-size: 3.7333333333vw;
  line-height: 1.4;
  color: #1C1B1F;
  text-align: center;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
@media screen and (min-width: 768px) {
  footer dl dd p:nth-of-type(1) a {
    border-radius: min(4px, 0.32vw);
    font-size: min(1.12vw, 14px);
    line-height: 1.4;
    padding: min(8px, 0.64vw) 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  footer dl dd p:nth-of-type(1) a:hover {
    background-color: #ffc399;
  }
}
footer dl dd p:nth-of-type(2) {
  color: #fff;
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
  margin-top: 4.5333333333vw;
  text-align: left;
}
@media screen and (min-width: 768px) {
  footer dl dd p:nth-of-type(2) {
    width: 100%;
    margin: min(17px, 1.36vw) auto 0;
    text-align: center;
    font-size: min(1.12vw, 14px);
    line-height: 1.7142857143;
  }
  footer dl dd p:nth-of-type(2) br {
    display: none;
  }
}
footer div {
  margin-top: 10.6666666667vw;
  background-color: #fff;
  position: relative;
}
@media screen and (min-width: 768px) {
  footer div {
    margin-top: min(40px, 3.2vw);
    padding-top: min(25px, 2vw);
    padding-bottom: min(20px, 1.6vw);
  }
}
footer ul {
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  position: relative;
  z-index: 1;
  width: 100%;
  padding: 6.4vw 4.2666666667vw 0;
}
@media screen and (min-width: 768px) {
  footer ul {
    width: min(1000px, 80vw);
    padding: 0;
  }
}
footer ul li a {
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
  color: #1C1B1F;
}
@media screen and (min-width: 768px) {
  footer ul li a {
    font-size: min(1.12vw, 14px);
    line-height: 1.7142857143;
  }
}
@media (hover: hover) and (pointer: fine) {
  footer ul li a:hover {
    text-decoration: underline;
    color: #1C1B1F;
  }
}
footer ul li + li:before {
  content: "｜";
  color: #1C1B1F;
}
footer ul + p {
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
  width: 100%;
  padding: 1.0666666667vw 4.2666666667vw 6.4vw;
  position: relative;
  text-align: left;
  top: 0;
  color: #1C1B1F;
}
@media screen and (min-width: 768px) {
  footer ul + p {
    width: min(1000px, 80vw);
    margin: min(20px, 1.6vw) auto 0;
    font-size: min(1.12vw, 14px);
    line-height: 1.7142857143;
    text-align: right;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: 0;
  }
}

#top {
  position: relative;
}
#top h1 {
  position: absolute;
}
#top #mainVisual {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 162.1333333333vw;
  background-image: url(../img/mainVisual-img.png), url(../img/mainVisual-img.png);
  background-size: 364.5333333333vw auto;
  background-repeat: repeat-x;
  animation: roop 30s linear infinite;
  position: relative;
  padding-top: 16vw;
  background-position: 0 bottom, 364.5333333333vw bottom;
}
@media screen and (min-width: 768px) {
  #top #mainVisual {
    height: calc(min(598px, 47.84vw) + min(60px, 4.8vw));
    background-size: min(1367px, 109.36vw) auto;
    padding-top: min(60px, 4.8vw);
    animation: roopPC 30s linear infinite;
  }
}
#top #mainVisual:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(200deg, rgba(64, 120, 204, 0.15) 0%, rgba(0, 109, 212, 0.15) 100%);
  background-blend-mode: plus-darker;
  mix-blend-mode: plus-darker;
}
#top #mainVisual:after {
  content: "";
  width: 100%;
  aspect-ratio: 375/214;
  background-image: url(../img/cloud01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  bottom: -23.2vw;
}
@media screen and (min-width: 768px) {
  #top #mainVisual:after {
    aspect-ratio: 1440/220;
    background-image: url(../img/cloud01_pc.png);
  }
}
@media screen and (min-width: 768px) {
  #top #mainVisual:after {
    bottom: max(-20px, -1.6vw);
  }
}
@keyframes roop {
  from {
    background-position-x: 0, 364.5333333333vw;
  }
  to {
    background-position-x: -364.5333333333vw, 0;
  }
}
@keyframes roopPC {
  from {
    background-position-x: 0, min(1367px, 109.36vw);
  }
  to {
    background-position-x: max(-1367px, -109.36vw), 0;
  }
}
#top #mainVisual .opening {
  width: 100%;
  height: 100svh;
  background-color: #FF6A00;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 110;
}
#top #mainVisual .text1 {
  opacity: 0;
  width: 80vw;
  transform: translateY(-6.4vw) translateX(1.0666666667vw);
  position: absolute;
  z-index: 120;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .text1 {
    width: min(482px, 38.56vw);
    transform: translateY(max(-70px, -5.6vw)) translateX(min(4px, 0.32vw));
  }
}
#top #mainVisual .text2 {
  width: 41.2vw;
  position: absolute;
  transform: translateY(-27.4666666667vw) translateX(-20vw);
  z-index: 109;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .text2 {
    width: min(248px, 19.84vw);
    transform: translateY(max(-197px, -15.76vw)) translateX(max(-123px, -9.84vw));
  }
}
#top #mainVisual .text3 {
  width: 80vw;
  position: absolute;
  transform: translateY(26.1333333333vw) translateX(0.2666666667vw);
  z-index: 109;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .text3 {
    width: min(482px, 38.56vw);
    transform: translateY(min(125px, 10vw)) translateX(0);
  }
}
#top #mainVisual .human1 {
  width: 10.9333333333vw;
  transform: translateX(8vw);
  position: absolute;
  z-index: 111;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .human1 {
    width: min(65px, 5.2vw);
    transform: translateX(min(45px, 3.6vw));
  }
}
#top #mainVisual .human2 {
  width: 13.3333333333vw;
  transform: translateX(-8vw);
  position: absolute;
  z-index: 112;
}
@media screen and (min-width: 768px) {
  #top #mainVisual .human2 {
    width: min(79px, 6.32vw);
    transform: translateX(max(-45px, -3.6vw));
  }
}
@keyframes opening {
  to {
    transform: translateY(-100vh);
  }
}
@keyframes moveHuman1 {
  to {
    transform: translateY(-19.4666666667vw) translateX(35.4666666667vw);
  }
}
@keyframes moveHuman1PC {
  to {
    transform: translateY(max(-147px, -11.76vw)) translateX(min(212px, 16.96vw));
  }
}
@keyframes moveHuman2 {
  to {
    transform: translateY(-20vw) translateX(32vw);
  }
}
@keyframes moveHuman2PC {
  to {
    transform: translateY(max(-149px, -11.92vw)) translateX(min(190px, 15.2vw));
  }
}
@keyframes text1 {
  to {
    opacity: 1;
  }
}
#top #mainVisual.complete .opening {
  animation: opening 0.4s ease-out forwards;
}
#top #mainVisual.complete .human1 {
  animation: moveHuman1 1.5s ease-in-out forwards;
}
@media screen and (min-width: 768px) {
  #top #mainVisual.complete .human1 {
    animation: moveHuman1PC 1.5s ease-in-out forwards;
  }
}
#top #mainVisual.complete .human2 {
  animation: moveHuman2 1.5s ease-in-out forwards;
}
@media screen and (min-width: 768px) {
  #top #mainVisual.complete .human2 {
    animation: moveHuman2PC 1.5s ease-in-out forwards;
  }
}
#top #mainVisual.complete .text1 {
  animation: text1 1s ease-in-out forwards 1s;
}
#top #recommend {
  position: relative;
  z-index: 11;
}
#top #recommend h2 {
  width: 81.6vw;
  margin: 5.6vw auto 0;
}
@media screen and (min-width: 768px) {
  #top #recommend h2 {
    width: min(538px, 43.04vw);
    margin: min(44px, 3.52vw) auto 0;
  }
}
#top #recommend h2 + p {
  width: 89.3333333333vw;
  margin: 5.3333333333vw auto 0;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
}
@media screen and (min-width: 768px) {
  #top #recommend h2 + p {
    width: min(640px, 51.2vw);
    margin: min(36px, 2.88vw) auto 0;
    font-size: min(1.28vw, 16px);
    line-height: 1.5;
  }
}
#top #recommend .share {
  margin-top: 11.7333333333vw;
}
@media screen and (min-width: 768px) {
  #top #recommend .share {
    margin-top: min(24px, 1.92vw);
  }
}
#top #facility .tabNav {
  width: 100%;
  margin: 10.6666666667vw auto 0;
  position: sticky !important;
  top: 15.7333333333vw !important;
  z-index: 20 !important;
}
@media screen and (min-width: 768px) {
  #top #facility .tabNav {
    margin-top: min(72px, 5.76vw);
    top: min(59px, 4.72vw) !important;
    width: min(1000px, 80vw);
  }
}
#top #facility .tabNav ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  border-bottom: 0.5333333333vw solid #FF6A00;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  #top #facility .tabNav ul {
    border-bottom-width: min(2px, 0.16vw);
  }
}
#top #facility .tabNav ul li a {
  font-size: 3.7333333333vw;
  line-height: 1.1428571429;
  letter-spacing: -0.7px;
  color: #1C1B1F;
  padding: 2.4vw 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-direction: column;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #top #facility .tabNav ul li a {
    font-size: min(1.28vw, 16px);
    line-height: 1.25;
    letter-spacing: -0.8px;
    padding: min(9px, 0.72vw) 0;
  }
}
@media screen and (min-width: 768px) {
  #top #facility .tabNav ul li:last-of-type a {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
#top #facility .tabNav ul li.active a {
  background-color: #FF6A00;
  color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent {
    width: min(1000px, 80vw);
    margin: 0 auto;
  }
}
#top #facility .tabContent .tabPanel {
  display: none;
  background-color: #fff;
}
#top #facility .tabContent .tabPanel.active {
  display: block;
  animation: fadeIn 0.3s ease-in-out;
}
#top #facility .tabContent .tabPanel ol {
  background-color: #fbd8cc;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol {
    margin-top: min(20px, 1.6vw);
  }
}
#top #facility .tabContent .tabPanel ol li {
  background-color: #fff;
  padding-top: 5.3333333333vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li {
    padding-top: min(20px, 1.6vw);
  }
}
#top #facility .tabContent .tabPanel ol li:nth-child(1) a:before {
  background-image: url(../img/crown1.png);
}
#top #facility .tabContent .tabPanel ol li:nth-child(2) a:before {
  background-image: url(../img/crown2.png);
}
#top #facility .tabContent .tabPanel ol li:nth-child(3) a:before {
  background-image: url(../img/crown3.png);
}
#top #facility .tabContent .tabPanel ol li:nth-child(4) a:before {
  background-image: url(../img/crown4.png);
}
#top #facility .tabContent .tabPanel ol li:nth-child(5) a:before {
  background-image: url(../img/crown5.png);
}
#top #facility .tabContent .tabPanel ol li > a {
  display: grid;
  grid-template-columns: 11.7333333333vw 1fr 5.3333333333vw;
  margin: 0 5.3333333333vw;
  padding-top: 56.8vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li > a {
    grid-template-columns: min(80px, 6.4vw) min(460px, 36.8vw) min(20px, 1.6vw) 1fr min(48px, 3.84vw);
    margin: 0;
    padding: 0;
  }
}
#top #facility .tabContent .tabPanel ol li > a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  grid-row: 1/3;
  grid-column: 1/2;
  align-self: center;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li > a:before {
    width: min(52px, 4.16vw);
    justify-self: center;
  }
}
#top #facility .tabContent .tabPanel ol li > a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='20' fill='none'%3E%3Cmask id='a' width='21' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M.937 0H21v20H.937z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23333' d='m7.646 18.333-1.484-1.479L13.038 10 6.162 3.146l1.484-1.48L16.006 10l-8.36 8.333Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  grid-row: 1/3;
  grid-column: 3/4;
  align-self: center;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li > a:after {
    width: min(20px, 1.6vw);
    justify-self: center;
    grid-column: 5/6;
  }
}
#top #facility .tabContent .tabPanel ol li .slider {
  top: 5.3333333333vw;
  z-index: 10;
  width: 100svw;
  margin-left: -5.3333333333vw;
  position: absolute;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider {
    top: min(20px, 1.6vw);
    width: 100%;
    margin-left: 0;
    position: relative;
    grid-column: 1/3;
    grid-row: 3/5;
    top: 0;
    margin-top: min(20px, 1.6vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-list, #top #facility .tabContent .tabPanel ol li .slider .slick-track {
  height: 100%;
}
#top #facility .tabContent .tabPanel ol li .slider img {
  aspect-ratio: 375/200;
  overflow: hidden;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider img {
    aspect-ratio: 540/290;
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-prev,
#top #facility .tabContent .tabPanel ol li .slider .slick-next {
  width: 6.9973333333vw;
  height: 6.9973333333vw;
  aspect-ratio: 1/1;
  display: block;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider .slick-prev,
  #top #facility .tabContent .tabPanel ol li .slider .slick-next {
    width: min(32px, 2.56vw);
    height: min(32px, 2.56vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-prev:before,
#top #facility .tabContent .tabPanel ol li .slider .slick-next:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  display: block;
  opacity: 1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='28' fill='none'%3E%3Cmask id='a' width='27' height='28' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M26.359.667H.119v26.667h26.24z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='m17.585 25.111 1.94-1.972L10.535 14l8.992-9.139-1.94-1.972L6.651 14l10.933 11.111Z'/%3E%3C/g%3E%3C/svg%3E");
}
#top #facility .tabContent .tabPanel ol li .slider .slick-prev {
  left: 3.4986666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider .slick-prev {
    left: min(5.55px, 0.444vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-next {
  right: 3.4986666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider .slick-next {
    right: min(5.55px, 0.444vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-next:before {
  transform: rotate(180deg);
}
#top #facility .tabContent .tabPanel ol li .slider .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.1653333333vw;
  bottom: 2.3706666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider .slick-dots {
    bottom: min(14px, 1.12vw);
    gap: min(7px, 0.56vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-dots li {
  width: 2.3333333333vw;
  height: 2.3333333333vw;
  padding: 0;
  background: none;
  margin: 0;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider .slick-dots li {
    width: min(12px, 0.96vw);
    height: min(12px, 0.96vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-dots li.slick-active button {
  background-color: #FF6A00;
  border: 0.2666666667vw solid #fff;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider .slick-dots li.slick-active button {
    border-width: min(1px, 0.08vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-dots li button {
  padding: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #D9D9D9;
  font-size: 0;
  opacity: 1;
  border: 0.2666666667vw solid #D9D9D9;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .slider .slick-dots li button {
    border-width: min(1px, 0.08vw);
  }
}
#top #facility .tabContent .tabPanel ol li .slider .slick-dots li button:before {
  display: none;
}
#top #facility .tabContent .tabPanel ol li h3 {
  font-size: 4.8vw;
  line-height: 1.1111111111;
  font-weight: 700;
  align-self: end;
  grid-column: 2/3;
  padding: 0 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li h3 {
    font-size: min(1.92vw, 24px);
    line-height: 1.1666666667;
    padding: 0;
    grid-column: 2/4;
    grid-row: 1/2;
  }
}
#top #facility .tabContent .tabPanel ol li .pref {
  font-size: 3.2vw;
  line-height: 1;
  align-self: start;
  grid-column: 2/3;
  padding: 0 2.1333333333vw;
  margin-top: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .pref {
    padding: 0;
    margin-top: min(4px, 0.32vw);
    font-size: min(1.28vw, 16px);
    line-height: 1;
    grid-column: 2/4;
    grid-row: 2/3;
  }
}
#top #facility .tabContent .tabPanel ol li h4 {
  font-size: 4.2666666667vw;
  line-height: 1.25;
  font-weight: 700;
  width: 89.3333333333vw;
  margin: 5.3333333333vw auto 0;
  grid-column: 1/4;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li h4 {
    font-size: min(1.6vw, 20px);
    line-height: 1.4;
    margin-top: min(20px, 1.6vw);
    grid-column: 4/6;
    grid-row: 3/4;
  }
}
#top #facility .tabContent .tabPanel ol li dl {
  border: 0.2666666667vw dashed #FF6A00;
  padding: 0 3.2vw 3.2vw 3.2vw;
  margin: 5.3333333333vw auto 0;
  grid-column: 1/4;
  grid-row: 5/6;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li dl {
    border-width: min(1px, 0.08vw);
    padding: 0 min(12px, 0.96vw) min(12px, 0.96vw) min(12px, 0.96vw);
    margin: 0 auto;
    align-self: flex-end;
    grid-column: 4/6;
    grid-row: 4/5;
  }
}
#top #facility .tabContent .tabPanel ol li dl dt {
  font-size: 2.6666666667vw;
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
  background-color: #FF6A00;
  border-radius: 3.2vw;
  padding: 0.5333333333vw 2.6666666667vw;
  display: inline-block;
  transform: translateY(-3.2vw) translateX(-50%);
  left: 50%;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li dl dt {
    font-size: min(0.96vw, 12px);
    line-height: 1.3333333333;
    padding: min(2px, 0.16vw) min(20px, 1.6vw);
    border-radius: min(12px, 0.96vw);
    transform: translateY(max(-12px, -0.96vw)) translateX(-50%);
  }
}
#top #facility .tabContent .tabPanel ol li dl dd {
  margin-top: -1.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li dl dd {
    margin-top: max(-5px, -0.4vw);
  }
}
#top #facility .tabContent .tabPanel ol li dl dd p {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li dl dd p {
    font-size: min(1.12vw, 14px);
    line-height: 1.4285714286;
  }
}
#top #facility .tabContent .tabPanel ol li dl dd .staff {
  font-size: 3.2vw;
  line-height: 1.3333333333;
  margin-top: 3.2vw;
  background: #f1f1f1;
  display: grid;
  grid-template-columns: 9.6vw 1fr;
  gap: 2.1333333333vw;
  padding: 2.1333333333vw;
}
#top #facility .tabContent .tabPanel ol li dl dd .staff:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff1:before {
  background-image: url(../img/staff1.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff2:before {
  background-image: url(../img/staff2.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff3:before {
  background-image: url(../img/staff3.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff4:before {
  background-image: url(../img/staff4.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff5:before {
  background-image: url(../img/staff5.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff6:before {
  background-image: url(../img/staff6.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff7:before {
  background-image: url(../img/staff7.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff8:before {
  background-image: url(../img/staff8.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff9:before {
  background-image: url(../img/staff9.png);
}
#top #facility .tabContent .tabPanel ol li dl dd .staff.staff10:before {
  background-image: url(../img/staff10.png);
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li dl dd .staff {
    font-size: min(1.12vw, 14px);
    line-height: 1.2857142857;
    margin-top: min(12px, 0.96vw);
    grid-template-columns: min(36px, 2.88vw) 1fr;
    gap: min(8px, 0.64vw);
    padding: min(8px, 0.64vw);
  }
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li dl {
    margin-top: min(18px, 1.44vw);
  }
}
#top #facility .tabContent .tabPanel ol li + li {
  margin-top: 3.2vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li + li {
    margin-top: min(10px, 0.8vw);
  }
}
#top #facility .tabContent .tabPanel ol li .btn {
  margin: 2.6666666667vw auto 4.8vw;
  grid-column: 1/4;
  grid-row: 6/7;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .btn {
    grid-column: 1/6;
    grid-row: 6/7;
    margin: min(20px, 1.6vw) auto min(20px, 1.6vw);
  }
  #top #facility .tabContent .tabPanel ol li .btn object {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: min(8px, 0.64vw);
  }
}
#top #facility .tabContent .tabPanel ol li .btn p.ticket a {
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr 4.2666666667vw;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #0b82b5;
  box-shadow: 0 0.5333333333vw 0 0 #006590;
  color: #fff;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5333333333vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .btn p.ticket a {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    grid-template-columns: min(28px, 2.24vw) 1fr min(16px, 1.28vw);
    box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
    margin-bottom: min(2px, 0.16vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #facility .tabContent .tabPanel ol li .btn p.ticket a:hover {
    background-color: #66a9d9;
  }
}
#top #facility .tabContent .tabPanel ol li .btn p.ticket a:before, #top #facility .tabContent .tabPanel ol li .btn p.ticket a:after {
  content: "";
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
#top #facility .tabContent .tabPanel ol li .btn p.ticket a:before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='29' fill='none'%3E%3Cpath fill='%23fff' d='M14.02 8.401c1.03-.095 2.863.16 3.455 1.75.235.636.598 1.744 1.075 3.29.063.204 1.075 4.213 1.075 4.448v4.137a.894.894 0 0 1-.273.623.89.89 0 0 1-.63.255H.903a.93.93 0 0 1-.635-.268A.881.881 0 0 1 0 22V9.298c0-.241.096-.47.268-.636.171-.165.4-.26.635-.261H14.02ZM1.808 14.847v6.256h16.01v-2.47c-.006-.024-.468-1.883-.948-3.786H1.808Zm23.208-4.88c.082.877.375 1.717.852 2.455a3.71 3.71 0 0 0 2.01 1.044 3.71 3.71 0 0 0-2.01 1.044 5.461 5.461 0 0 0-.852 2.456 5.546 5.546 0 0 0-.86-2.456 3.734 3.734 0 0 0-2.004-1.044 3.735 3.735 0 0 0 2.004-1.043c.478-.739.77-1.578.86-2.457Zm-10.857.229H1.808v1.89h14.35c-.185-.694-.325-1.19-.376-1.305-.253-.685-1.612-.586-1.623-.585Zm6.084-8.737c.42 1.788.802 2.85 1.527 3.569.726.719 1.782 1.101 3.564 1.521-1.782.42-2.844.802-3.564 1.521-.719.719-1.107 1.788-1.527 3.57-.42-1.782-.796-2.845-1.521-3.57-.726-.725-1.782-1.1-3.57-1.52 1.788-.42 2.85-.803 3.57-1.522.719-.72 1.101-1.781 1.521-3.57Z'/%3E%3C/svg%3E");
}
#top #facility .tabContent .tabPanel ol li .btn p.ticket a:after {
  aspect-ratio: 16/21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 17.488 4 16.305l5.483-5.483L4 5.339l1.183-1.184 6.667 6.667-6.667 6.666Z'/%3E%3C/svg%3E");
}
#top #facility .tabContent .tabPanel ol li .btn p.coupon span {
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr 4.2666666667vw;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #CCC;
  color: #fff;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .btn p.coupon span {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    grid-template-columns: min(28px, 2.24vw) 1fr min(16px, 1.28vw);
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #facility .tabContent .tabPanel ol li .btn p.coupon span:hover {
    background-color: #FF6A00;
  }
}
#top #facility .tabContent .tabPanel ol li .btn p.coupon span:before, #top #facility .tabContent .tabPanel ol li .btn p.coupon span:after {
  content: "";
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
#top #facility .tabContent .tabPanel ol li .btn p.coupon span:before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none'%3E%3Cpath fill='%23fff' d='M7.84 19.352a.718.718 0 0 1-.72-.726v-1.018a.719.719 0 1 1 1.44 0v1.018a.72.72 0 0 1-.72.726ZM7.84 12.562a.72.72 0 0 1-.72-.725v-1.018a.713.713 0 0 1 .72-.72.712.712 0 0 1 .72.72v1.018a.72.72 0 0 1-.72.725ZM25.334 5.727c-1.782.42-2.845.802-3.564 1.521-.72.72-1.107 1.788-1.527 3.57-.42-1.782-.796-2.844-1.521-3.57-.726-.725-1.782-1.1-3.57-1.52 1.788-.42 2.85-.802 3.57-1.522.719-.719 1.1-1.781 1.52-3.57.42 1.789.803 2.851 1.528 3.57.726.72 1.782 1.101 3.564 1.521ZM27.88 12.645a3.716 3.716 0 0 0-2.012 1.043 5.491 5.491 0 0 0-.852 2.457 5.562 5.562 0 0 0-.86-2.457 3.716 3.716 0 0 0-2.004-1.043 3.716 3.716 0 0 0 2.004-1.044c.477-.74.771-1.581.86-2.456.083.875.375 1.717.852 2.456a3.717 3.717 0 0 0 2.011 1.044Z'/%3E%3Cpath fill='%23fff' d='M18.722 22.082H.904A.904.904 0 0 1 0 21.178v-4.136a.904.904 0 0 1 .904-.872 1.33 1.33 0 0 0 .936-2.266 1.323 1.323 0 0 0-.936-.388.904.904 0 0 1-.904-.903V8.476a.904.904 0 0 1 .904-.897h13.115c1.031-.095 2.864.16 3.455 1.75.236.636.599 1.744 1.076 3.29a.903.903 0 0 1-.44 1.063 1.31 1.31 0 0 0-.325 2.096c.248.25.585.39.937.392a.903.903 0 0 1 .903.897v4.137a.904.904 0 0 1-.903.878ZM1.807 20.28h16.011v-2.47a3.137 3.137 0 0 1-2.227-2.996 3.105 3.105 0 0 1 1.037-2.31c-.363-1.184-.636-2.069-.846-2.546-.255-.687-1.61-.585-1.623-.585H1.807v2.462a3.144 3.144 0 0 1 2.228 2.998 3.137 3.137 0 0 1-2.228 2.997v2.45Z'/%3E%3Cpath fill='%23fff' d='M7.84 15.928a.72.72 0 0 1-.72-.719v-1.018a.72.72 0 1 1 1.44 0v1.018a.72.72 0 0 1-.72.72Z'/%3E%3C/svg%3E");
}
#top #facility .tabContent .tabPanel ol li .btn p.coupon span:after {
  aspect-ratio: 16/21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 17.488 4 16.305l5.483-5.483L4 5.339l1.183-1.184 6.667 6.667-6.667 6.666Z'/%3E%3C/svg%3E");
}
#top #facility .tabContent .tabPanel ol li .btn p.facility span {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #fff;
  box-shadow: 0 0.5333333333vw 0 0 #999;
  color: #333;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5333333333vw;
  border: 0.2666666667vw solid #999;
  transition: background-color 0.2s linear, color 0.2s linear;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .btn p.facility span {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    box-shadow: 0 min(2px, 0.16vw) 0 0 #999;
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
    margin-bottom: min(2px, 0.16vw);
    border-width: min(1px, 0.08vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #facility .tabContent .tabPanel ol li .btn p.facility span:hover {
    background-color: #e0e0e0;
  }
}
#top #facility .tabContent .tabPanel ol li .btn p + p {
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #facility .tabContent .tabPanel ol li .btn p + p {
    margin-top: 0;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
#top #facility #premium {
  background: linear-gradient(173deg, #40b8f4 29.28%, #5be0db 113.62%);
  position: relative;
  padding-top: 22.1333333333vw;
  position: relative;
}
#top #facility #premium:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.6;
  background-image: url("../img/campaign/background.png");
  background-size: 100% auto;
  background-repeat: repeat-y;
  background-position: top center;
  mix-blend-mode: overlay;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #top #facility #premium:before {
    background-image: url("../img/campaign/background_pc.png");
  }
}
@media screen and (min-width: 768px) {
  #top #facility #premium {
    padding-top: min(178px, 14.24vw);
  }
}
#top #facility #premium:after {
  content: "";
  width: 100%;
  aspect-ratio: 375/259;
  background-image: url(../img/cloud02.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  top: -28.2666666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium:after {
    aspect-ratio: 1440/220;
    background-image: url(../img/cloud02_pc.png);
  }
}
@media screen and (min-width: 768px) {
  #top #facility #premium:after {
    top: max(-1px, -0.08vw);
  }
}
#top #facility #premium h2 {
  width: 78.6666666667vw;
  margin: 0 auto;
  z-index: 10;
  position: relative;
  transform: translateX(4vw);
}
@media screen and (min-width: 768px) {
  #top #facility #premium h2 {
    width: min(578px, 46.24vw);
    transform: translateX(min(30px, 2.4vw));
  }
}
#top #facility #premium .premiumContent {
  padding-bottom: 26.6666666667vw;
  z-index: 10;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent {
    padding-bottom: min(200px, 16vw);
  }
}
#top #facility #premium .premiumContent #premiumCouple,
#top #facility #premium .premiumContent #premiumSolo,
#top #facility #premium .premiumContent #premiumSauna {
  display: none;
}
#top #facility #premium .premiumContent h3 {
  margin: 3.2vw auto 0;
  width: max-content;
  height: 7.4666666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent h3 {
    margin-top: min(12px, 0.96vw);
    height: min(48px, 3.84vw);
  }
}
#top #facility #premium .premiumContent h3 img {
  width: auto;
  height: 100%;
}
#top #facility #premium .premiumContent ul {
  width: 89.3333333333vw;
  margin: 8.5333333333vw auto 0;
  display: flex;
  flex-direction: column;
  gap: 3.2vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul {
    width: min(980px, 78.4vw);
    margin-top: min(40px, 3.2vw);
    gap: min(20px, 1.6vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
#top #facility #premium .premiumContent ul li > a {
  display: grid;
  grid-template-columns: 1fr 5.3333333333vw;
  gap: 0 2.1333333333vw;
  padding: 4.2666666667vw 2.1333333333vw;
  background-color: #fff;
  border-radius: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a {
    grid-template-columns: 1fr min(20px, 1.6vw);
    gap: 0 min(8px, 0.64vw);
    padding: min(16px, 1.28vw) min(20px, 1.6vw) min(20px, 1.6vw);
    border-radius: min(8px, 0.64vw);
    box-shadow: 0 min(2px, 0.16vw) min(8px, 0.64vw) 0 rgba(0, 0, 0, 0.25);
    height: 100%;
    grid-template-rows: auto auto auto auto auto 1fr;
  }
}
#top #facility #premium .premiumContent ul li > a:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='20' fill='none'%3E%3Cmask id='a' width='21' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M.937 0H21v20H.937z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23333' d='m7.646 18.333-1.484-1.479L13.038 10 6.162 3.146l1.484-1.48L16.006 10l-8.36 8.333Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  grid-row: 2/4;
  grid-column: 2/3;
  align-self: center;
}
#top #facility #premium .premiumContent ul li > a img {
  grid-column: 1/3;
  grid-row: 1/2;
  aspect-ratio: 319/180;
  object-fit: cover;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a img {
    aspect-ratio: 440/242;
  }
}
#top #facility #premium .premiumContent ul li > a h4 {
  font-size: 4.8vw;
  line-height: 1.1111111111;
  font-weight: 700;
  grid-column: 1/2;
  margin-top: 3.2vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a h4 {
    font-size: min(1.6vw, 20px);
    line-height: 1.4;
    margin-top: min(12px, 0.96vw);
  }
}
#top #facility #premium .premiumContent ul li > a .pref {
  margin-top: 1.0666666667vw;
  font-size: 3.2vw;
  line-height: 1;
  grid-column: 1/2;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a .pref {
    margin-top: min(4px, 0.32vw);
    font-size: min(1.12vw, 14px);
    line-height: 1.1428571429;
  }
}
#top #facility #premium .premiumContent ul li > a h5 {
  grid-column: 1/3;
  margin-top: 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.25;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a h5 {
    font-size: min(1.28vw, 16px);
    line-height: 1.25;
    margin-top: min(12px, 0.96vw);
  }
}
#top #facility #premium .premiumContent ul li > a > dl {
  background-color: #e7f1f6;
  grid-column: 1/3;
  border-left: 1.0666666667vw solid #0b82b5;
  margin-top: 3.2vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl {
    border-left-width: min(4px, 0.32vw);
    margin-top: min(12px, 0.96vw);
    margin-bottom: min(12px, 0.96vw);
  }
}
#top #facility #premium .premiumContent ul li > a > dl a {
  display: block;
  transition: background-color 0.3s ease;
  padding: 2.1333333333vw 7.2vw 2.1333333333vw 3.2vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a {
    padding: min(12px, 0.96vw) min(24px, 1.92vw) min(16px, 1.28vw) min(12px, 0.96vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #facility #premium .premiumContent ul li > a > dl a:hover {
    background-color: #f2f7fa;
  }
}
#top #facility #premium .premiumContent ul li > a > dl:after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='25' fill='none'%3E%3Cpath fill='%23fff' d='M12 12.224v12c-6.627 0-12-5.373-12-12 0-6.628 5.373-12 12-12v12Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3.2vw;
  height: 6.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl:after {
    width: min(12px, 0.96vw);
    height: min(25px, 2vw);
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dt {
  font-size: 3.2vw;
  line-height: 1.3333333333;
  font-weight: 700;
  color: #0b82b5;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dt {
    font-size: min(1.12vw, 14px);
    line-height: 1.1428571429;
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dt span {
  margin-top: 1.0666666667vw;
  font-size: 2.6666666667vw;
  line-height: 1.4;
  font-weight: 400;
  display: block;
  color: #1C1B1F;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dt span {
    margin-top: min(4px, 0.32vw);
    font-size: min(0.96vw, 12px);
    line-height: 1.1666666667;
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dd {
  margin-top: 3.2vw;
  display: flex;
  flex-direction: column;
  gap: 1.0666666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dd {
    margin-top: min(12px, 0.96vw);
    gap: min(4px, 0.32vw);
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dd dl {
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.1333333333vw;
  gap: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dd dl {
    padding: min(8px, 0.64vw);
    gap: min(8px, 0.64vw);
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dd dl dt {
  font-size: 3.2vw;
  line-height: 1.1666666667;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dd dl dt {
    font-size: min(0.96vw, 12px);
    line-height: 1.1666666667;
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dd dl dd {
  margin-left: auto;
  flex-shrink: 0;
}
#top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .original {
  font-size: 3.2vw;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .original {
    font-size: min(0.96vw, 12px);
    line-height: 1;
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .original span {
  font-size: 2.6666666667vw;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .original span {
    font-size: min(0.8vw, 10px);
    line-height: 1.2;
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .ticket {
  margin-left: 1.0666666667vw;
  color: #B72021;
  font-weight: 700;
  font-size: 3.7333333333vw;
  line-height: 0.8571428571;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .ticket {
    margin-left: min(4px, 0.32vw);
    font-size: min(1.12vw, 14px);
    line-height: 0.8571428571;
  }
}
#top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .ticket span {
  font-size: 2.6666666667vw;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a > dl a > dd dl dd .ticket span {
    font-size: min(0.8vw, 10px);
    line-height: 1.2;
  }
}
#top #facility #premium .premiumContent ul li > a .btn {
  margin: 3.2vw auto 0;
  grid-column: 1/3;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a .btn {
    margin-top: auto;
  }
}
#top #facility #premium .premiumContent ul li > a .btn p.ticket a {
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr 4.2666666667vw;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #0b82b5;
  box-shadow: 0 0.5333333333vw 0 0 #006590;
  color: #fff;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5333333333vw;
}
@media screen and (min-width: 768px) {
  #top #facility #premium .premiumContent ul li > a .btn p.ticket a {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    grid-template-columns: min(28px, 2.24vw) 1fr min(16px, 1.28vw);
    box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
    margin-bottom: min(2px, 0.16vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #facility #premium .premiumContent ul li > a .btn p.ticket a:hover {
    background-color: #66a9d9;
  }
}
#top #facility #premium .premiumContent ul li > a .btn p.ticket a:before, #top #facility #premium .premiumContent ul li > a .btn p.ticket a:after {
  content: "";
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
#top #facility #premium .premiumContent ul li > a .btn p.ticket a:before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='29' fill='none'%3E%3Cpath fill='%23fff' d='M14.02 8.401c1.03-.095 2.863.16 3.455 1.75.235.636.598 1.744 1.075 3.29.063.204 1.075 4.213 1.075 4.448v4.137a.894.894 0 0 1-.273.623.89.89 0 0 1-.63.255H.903a.93.93 0 0 1-.635-.268A.881.881 0 0 1 0 22V9.298c0-.241.096-.47.268-.636.171-.165.4-.26.635-.261H14.02ZM1.808 14.847v6.256h16.01v-2.47c-.006-.024-.468-1.883-.948-3.786H1.808Zm23.208-4.88c.082.877.375 1.717.852 2.455a3.71 3.71 0 0 0 2.01 1.044 3.71 3.71 0 0 0-2.01 1.044 5.461 5.461 0 0 0-.852 2.456 5.546 5.546 0 0 0-.86-2.456 3.734 3.734 0 0 0-2.004-1.044 3.735 3.735 0 0 0 2.004-1.043c.478-.739.77-1.578.86-2.457Zm-10.857.229H1.808v1.89h14.35c-.185-.694-.325-1.19-.376-1.305-.253-.685-1.612-.586-1.623-.585Zm6.084-8.737c.42 1.788.802 2.85 1.527 3.569.726.719 1.782 1.101 3.564 1.521-1.782.42-2.844.802-3.564 1.521-.719.719-1.107 1.788-1.527 3.57-.42-1.782-.796-2.845-1.521-3.57-.726-.725-1.782-1.1-3.57-1.52 1.788-.42 2.85-.803 3.57-1.522.719-.72 1.101-1.781 1.521-3.57Z'/%3E%3C/svg%3E");
}
#top #facility #premium .premiumContent ul li > a .btn p.ticket a:after {
  aspect-ratio: 16/21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 17.488 4 16.305l5.483-5.483L4 5.339l1.183-1.184 6.667 6.667-6.667 6.666Z'/%3E%3C/svg%3E");
}
#top #facility .share {
  margin-top: 6.4vw;
  margin-bottom: 7.4666666667vw;
}
@media screen and (min-width: 768px) {
  #top #facility .share {
    margin-top: min(24px, 1.92vw);
    margin-bottom: min(28px, 2.24vw);
  }
}
#top .share {
  width: 89.3333333333vw;
  border-radius: 3.2vw;
  background: rgba(11, 130, 181, 0.2);
  margin: 0 auto;
  display: grid;
  justify-content: space-between;
  align-items: center;
  grid-template-columns: auto auto;
  padding: 2.1333333333vw 3.2vw;
  position: relative;
  z-index: 11;
}
@media screen and (min-width: 768px) {
  #top .share {
    width: min(335px, 26.8vw);
    padding: min(8px, 0.64vw) min(12px, 0.96vw);
    border-radius: min(12px, 0.96vw);
  }
}
#top .share dt {
  font-size: 3.7333333333vw;
  line-height: 1.1428571429;
  color: #333;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top .share dt {
    font-size: min(1.12vw, 14px);
    line-height: 1.1428571429;
  }
}
#top .share dd {
  width: max-content;
}
#top .share dd ul {
  display: grid;
  grid-template-columns: repeat(3, 12.8vw);
  gap: 2.1333333333vw;
  width: max-content;
}
@media screen and (min-width: 768px) {
  #top .share dd ul {
    grid-template-columns: repeat(3, min(48px, 3.84vw));
    gap: min(8px, 0.64vw);
  }
}
#top .share dd ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 2.4vw;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  #top .share dd ul li a {
    border-radius: min(9px, 0.72vw);
  }
}
#top .share dd ul li a img {
  width: 6.9333333333vw;
}
@media screen and (min-width: 768px) {
  #top .share dd ul li a img {
    width: min(26px, 2.08vw);
  }
}
#top #onsenPickup {
  position: relative;
  background-color: #fff;
  padding-top: 16.5333333333vw;
  padding-bottom: 8.8vw;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup {
    padding-top: min(100px, 8vw);
    padding-bottom: min(90px, 7.2vw);
  }
}
#top #onsenPickup:after {
  content: "";
  width: 100%;
  aspect-ratio: 375/214;
  background-image: url(../img/cloud01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  top: -32vw;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup:after {
    aspect-ratio: 1440/220;
    background-image: url(../img/cloud01_pc.png);
  }
}
@media screen and (min-width: 768px) {
  #top #onsenPickup:after {
    top: -15vw;
  }
}
#top #onsenPickup h2 {
  position: relative;
  z-index: 10;
  width: 66.1333333333vw;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup h2 {
    width: min(475px, 38vw);
  }
}
#top #onsenPickup h2 + p {
  margin-top: 3.2vw;
  font-size: 3.2vw;
  line-height: 1.6666666667;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup h2 + p {
    margin-top: min(24px, 1.92vw);
    font-size: min(1.28vw, 16px);
    line-height: 1.5;
    position: relative;
    z-index: 10;
  }
}
#top #onsenPickup ul {
  margin: 4vw auto 0;
  width: 89.3333333333vw;
  display: flex;
  flex-direction: column;
  gap: 3.2vw;
  z-index: 10;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup ul {
    margin-top: min(32px, 2.56vw);
    width: min(972px, 77.76vw);
    gap: min(12px, 0.96vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
#top #onsenPickup ul li {
  border: 0.2666666667vw solid #d9d9d9;
  padding: 0.8vw;
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup ul li {
    border-width: min(1px, 0.08vw);
    padding: min(11px, 0.88vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #onsenPickup ul li:hover {
    background-color: #ffe1cc;
  }
}
#top #onsenPickup ul li figure {
  display: grid;
  grid-template-columns: 26.6666666667vw 1fr 4.2666666667vw;
  align-items: start;
  gap: 3.2vw;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup ul li figure {
    grid-template-columns: min(100px, 8vw) 1fr min(16px, 1.28vw);
    gap: min(12px, 0.96vw);
  }
}
#top #onsenPickup ul li figure figcaption h3 {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup ul li figure figcaption h3 {
    font-size: min(1.44vw, 18px);
    line-height: 1.3333333333;
  }
}
#top #onsenPickup ul li figure figcaption p {
  margin-top: 2.1333333333vw;
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr;
  gap: 2.1333333333vw;
  font-size: 3.2vw;
  line-height: 1.3333333333;
  position: relative;
  justify-content: center;
  align-items: center;
}
#top #onsenPickup ul li figure figcaption p:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
#top #onsenPickup ul li figure figcaption p.staff1:before {
  background-image: url(../img/staff1.png);
}
#top #onsenPickup ul li figure figcaption p.staff2:before {
  background-image: url(../img/staff2.png);
}
#top #onsenPickup ul li figure figcaption p.staff3:before {
  background-image: url(../img/staff3.png);
}
#top #onsenPickup ul li figure figcaption p.staff4:before {
  background-image: url(../img/staff4.png);
}
#top #onsenPickup ul li figure figcaption p.staff5:before {
  background-image: url(../img/staff5.png);
}
#top #onsenPickup ul li figure figcaption p.staff6:before {
  background-image: url(../img/staff6.png);
}
#top #onsenPickup ul li figure figcaption p.staff7:before {
  background-image: url(../img/staff7.png);
}
#top #onsenPickup ul li figure figcaption p.staff8:before {
  background-image: url(../img/staff8.png);
}
#top #onsenPickup ul li figure figcaption p.staff9:before {
  background-image: url(../img/staff9.png);
}
#top #onsenPickup ul li figure figcaption p.staff10:before {
  background-image: url(../img/staff10.png);
}
@media screen and (min-width: 768px) {
  #top #onsenPickup ul li figure figcaption p {
    grid-template-columns: min(28px, 2.24vw) 1fr;
    gap: min(8px, 0.64vw);
    font-size: min(0.96vw, 12px);
    line-height: 1.3333333333;
    margin-top: min(8px, 0.64vw);
  }
}
#top #onsenPickup ul li figure:after {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' fill='none'%3E%3Cmask id='a' width='17' height='17' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M.95.965H17v16H.95z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23333' d='M6.317 15.63 5.13 14.448l5.5-5.483-5.5-5.483 1.187-1.184 6.687 6.667-6.687 6.667Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (min-width: 768px) {
  #top #onsenPickup ul li figure:after {
    align-self: center;
  }
}
#top #aboutCampaign {
  background: linear-gradient(173deg, #40b8f4 29.28%, #5be0db 113.62%);
  position: relative;
  padding-top: 16vw;
  padding-bottom: 37.3333333333vw;
  position: relative;
}
#top #aboutCampaign:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.6;
  background-image: url("../img/campaign/background.png");
  background-size: 100% auto;
  background-repeat: repeat-y;
  background-position: top center;
  mix-blend-mode: overlay;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign:before {
    background-image: url("../img/campaign/background_pc.png");
  }
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign {
    padding-top: min(133px, 10.64vw);
    padding-bottom: min(170px, 13.6vw);
  }
}
#top #aboutCampaign:after {
  content: "";
  width: 100%;
  aspect-ratio: 375/259;
  background-image: url(../img/cloud02.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: 0;
  top: -26.6666666667vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign:after {
    aspect-ratio: 1440/220;
    background-image: url(../img/cloud02_pc.png);
  }
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign:after {
    top: max(-1px, -0.08vw);
  }
}
#top #aboutCampaign h2 {
  width: 85.3333333333vw;
  margin: 0 auto;
  display: block;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign h2 {
    width: min(443px, 35.44vw);
  }
}
#top #aboutCampaign h3 {
  width: 73.8666666667vw;
  margin: 2.1333333333vw auto 0;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign h3 {
    width: min(400px, 32vw);
    margin-top: min(4px, 0.32vw);
  }
}
#top #aboutCampaign h3 + p {
  text-align: center;
  color: #fff;
  margin: 4vw auto 0;
  font-size: 3.7333333333vw;
  line-height: 1.6;
  font-weight: 700;
  width: 89.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign h3 + p {
    width: min(1000px, 80vw);
    margin: min(10px, 0.8vw) auto 0;
    font-size: min(1.6vw, 20px);
    line-height: 1.6;
  }
}
#top #aboutCampaign .prize > ul {
  display: flex;
  flex-direction: column;
  gap: 4.2666666667vw;
  width: 89.3333333333vw;
  margin: 10.6666666667vw auto 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul {
    width: min(1000px, 80vw);
    margin-top: min(40px, 3.2vw);
    gap: min(20px, 1.6vw);
  }
}
#top #aboutCampaign .prize > ul:before {
  content: "";
  width: 100%;
  height: calc(100% + 32vw);
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul:before {
    height: calc(100% + min(140px, 11.2vw));
  }
}
#top #aboutCampaign .prize > ul:after {
  content: "キャンペーンは終了しました";
  color: #fff;
  text-align: center;
  font-size: 8.5333333333vw;
  line-height: 1.25;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  width: 70%;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul:after {
    font-size: min(2.56vw, 32px);
    line-height: 1.25;
    width: 25%;
  }
}
#top #aboutCampaign .prize > ul > li {
  border-radius: 2.1333333333vw;
  background-color: #fff;
  padding: 0 0 5.8666666667vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li {
    padding: 0 min(20px, 1.6vw) min(20px, 1.6vw);
    border-radius: min(8px, 0.64vw);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 0 min(12px, 0.96vw);
  }
}
#top #aboutCampaign .prize > ul > li > span {
  width: 17.8666666667vw;
  aspect-ratio: 67/59;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='67' height='48' fill='none'%3E%3Cpath fill='%23FF6A00' d='M67 .822H0v46.5l33-12 34 12V.822Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center 2.9333333333vw;
  display: block;
  margin-left: 3.2vw;
  color: #fff;
  text-align: center;
  text-shadow: 0 1.0666666667vw 1.0666666667vw rgba(0, 0, 0, 0.25);
  font-size: 5.8666666667vw;
  line-height: 1.6363636364;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-3.2vw);
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li > span {
    width: min(109px, 8.72vw);
    background-position: center min(20px, 1.6vw);
    transform: translateY(max(-22px, -1.76vw)) translateX(54.5px);
    text-shadow: 0 min(4px, 0.32vw) min(4px, 0.32vw) rgba(0, 0, 0, 0.25);
    font-size: min(2.56vw, 32px);
    line-height: 1.125;
    margin-left: auto;
  }
}
#top #aboutCampaign .prize > ul > li > span span {
  font-size: 5.3333333333vw;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li > span span {
    font-size: min(2.24vw, 28px);
    line-height: 1.2857142857;
  }
}
#top #aboutCampaign .prize > ul > li h4 {
  margin-top: 1.3333333333vw;
  text-align: center;
  font-size: 5.8666666667vw;
  line-height: 1.0909090909;
  color: #FF6A00;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li h4 {
    font-size: min(2.24vw, 28px);
    line-height: 0.8571428571;
    transform: translateX(54.5px);
  }
}
#top #aboutCampaign .prize > ul > li h4 > span {
  margin-top: 2.1333333333vw;
  color: #e93e00;
  font-size: 4.8vw;
  line-height: 1;
  display: block;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li h4 > span {
    font-size: min(1.44vw, 18px);
    line-height: 1;
    display: inline;
    margin-left: min(12px, 0.96vw);
  }
}
#top #aboutCampaign .prize > ul > li h4 > span span {
  font-size: 8.5333333333vw;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li h4 > span span {
    font-size: min(2.4vw, 30px);
    line-height: 1;
  }
}
#top #aboutCampaign .prize > ul > li > p {
  margin-top: 5.3333333333vw;
  text-align: center;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li > p {
    font-size: min(1.44vw, 18px);
    line-height: 1.3333333333;
    grid-column: 1/4;
    margin-top: 0;
  }
}
#top #aboutCampaign .prize > ul > li > p span {
  font-size: 3.2vw;
  line-height: 1.6666666667;
  grid-column: 1/4;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li > p span {
    font-size: min(1.28vw, 16px);
    line-height: 1.5;
  }
}
#top #aboutCampaign .prize > ul > li ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3.2vw;
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li ul {
    margin-top: min(18px, 1.44vw);
    gap: min(18px, 1.44vw);
    grid-column: 1/4;
  }
}
#top #aboutCampaign .prize > ul > li ul li {
  width: 39.7333333333vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li ul li {
    width: min(226px, 18.08vw);
  }
}
#top #aboutCampaign .prize > ul > li ul li a {
  display: block;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #top #aboutCampaign .prize > ul > li ul li a:hover {
    text-decoration: none;
  }
}
#top #aboutCampaign .prize > ul > li ul li figcaption {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  font-weight: 700;
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li ul li figcaption {
    font-size: min(1.44vw, 18px);
    line-height: 1.5555555556;
    margin-top: min(8px, 0.64vw);
  }
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .prize > ul > li:nth-of-type(1) ul {
    gap: min(20px, 1.6vw);
  }
}
#top #aboutCampaign > .btn {
  width: 89.3333333333vw;
  margin: 6.4vw auto 0;
  position: relative;
}
#top #aboutCampaign > .btn span {
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr 4.2666666667vw;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #CCC;
  color: #fff;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign > .btn span {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    grid-template-columns: min(28px, 2.24vw) 1fr min(16px, 1.28vw);
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #aboutCampaign > .btn span:hover {
    background-color: #FF6A00;
  }
}
#top #aboutCampaign > .btn span:before, #top #aboutCampaign > .btn span:after {
  content: "";
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
#top #aboutCampaign > .btn span:before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none'%3E%3Cpath fill='%23fff' d='M7.84 19.352a.718.718 0 0 1-.72-.726v-1.018a.719.719 0 1 1 1.44 0v1.018a.72.72 0 0 1-.72.726ZM7.84 12.562a.72.72 0 0 1-.72-.725v-1.018a.713.713 0 0 1 .72-.72.712.712 0 0 1 .72.72v1.018a.72.72 0 0 1-.72.725ZM25.334 5.727c-1.782.42-2.845.802-3.564 1.521-.72.72-1.107 1.788-1.527 3.57-.42-1.782-.796-2.844-1.521-3.57-.726-.725-1.782-1.1-3.57-1.52 1.788-.42 2.85-.802 3.57-1.522.719-.719 1.1-1.781 1.52-3.57.42 1.789.803 2.851 1.528 3.57.726.72 1.782 1.101 3.564 1.521ZM27.88 12.645a3.716 3.716 0 0 0-2.012 1.043 5.491 5.491 0 0 0-.852 2.457 5.562 5.562 0 0 0-.86-2.457 3.716 3.716 0 0 0-2.004-1.043 3.716 3.716 0 0 0 2.004-1.044c.477-.74.771-1.581.86-2.456.083.875.375 1.717.852 2.456a3.717 3.717 0 0 0 2.011 1.044Z'/%3E%3Cpath fill='%23fff' d='M18.722 22.082H.904A.904.904 0 0 1 0 21.178v-4.136a.904.904 0 0 1 .904-.872 1.33 1.33 0 0 0 .936-2.266 1.323 1.323 0 0 0-.936-.388.904.904 0 0 1-.904-.903V8.476a.904.904 0 0 1 .904-.897h13.115c1.031-.095 2.864.16 3.455 1.75.236.636.599 1.744 1.076 3.29a.903.903 0 0 1-.44 1.063 1.31 1.31 0 0 0-.325 2.096c.248.25.585.39.937.392a.903.903 0 0 1 .903.897v4.137a.904.904 0 0 1-.903.878ZM1.807 20.28h16.011v-2.47a3.137 3.137 0 0 1-2.227-2.996 3.105 3.105 0 0 1 1.037-2.31c-.363-1.184-.636-2.069-.846-2.546-.255-.687-1.61-.585-1.623-.585H1.807v2.462a3.144 3.144 0 0 1 2.228 2.998 3.137 3.137 0 0 1-2.228 2.997v2.45Z'/%3E%3Cpath fill='%23fff' d='M7.84 15.928a.72.72 0 0 1-.72-.719v-1.018a.72.72 0 1 1 1.44 0v1.018a.72.72 0 0 1-.72.72Z'/%3E%3C/svg%3E");
}
#top #aboutCampaign > .btn span:after {
  aspect-ratio: 16/21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 17.488 4 16.305l5.483-5.483L4 5.339l1.183-1.184 6.667 6.667-6.667 6.666Z'/%3E%3C/svg%3E");
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign > .btn {
    width: min(420px, 33.6vw);
    margin-top: min(24px, 1.92vw);
  }
}
#top #aboutCampaign > .btn span {
  padding-top: 2.1333333333vw;
  padding-bottom: 2.1333333333vw;
  font-size: 4.8vw;
  line-height: 1.5555555556;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign > .btn span {
    width: 100%;
    padding-top: min(16px, 1.28vw);
    padding-bottom: min(16px, 1.28vw);
    font-size: min(1.76vw, 22px);
    line-height: 1.2727272727;
  }
}
#top #aboutCampaign > .btn span:before {
  background-image: none;
}
#top #aboutCampaign > .btn + p {
  margin: 2.6666666667vw auto 0;
  font-size: 3.2vw;
  line-height: 1.3333333333;
  width: 89.3333333333vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign > .btn + p {
    margin-top: min(10px, 0.8vw);
    width: min(420px, 33.6vw);
    font-size: min(1.12vw, 14px);
    line-height: 1.4285714286;
  }
}
#top #aboutCampaign .how {
  width: 89.3333333333vw;
  margin: 16vw auto 0;
  background-color: #fff;
  border-radius: 2.1333333333vw;
  padding: 6.4vw 3.2vw;
  position: relative;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how {
    width: min(660px, 52.8vw);
    margin-top: min(60px, 4.8vw);
    border-radius: min(8px, 0.64vw);
    padding: min(20px, 1.6vw);
  }
}
#top #aboutCampaign .how:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
}
#top #aboutCampaign .how:after {
  content: "キャンペーンは終了しました";
  color: #fff;
  text-align: center;
  font-size: 8.5333333333vw;
  line-height: 1.25;
  font-weight: 700;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 12;
  transform: translate(-50%, -50%);
  width: 70%;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how:after {
    font-size: min(2.56vw, 32px);
    line-height: 1.25;
    width: 35%;
  }
}
#top #aboutCampaign .how h3 {
  color: #0b82b5;
  text-align: center;
  text-shadow: 0 1.0666666667vw 1.0666666667vw rgba(0, 0, 0, 0.25);
  font-size: 5.3333333333vw;
  line-height: 1.8;
  font-weight: 700;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how h3 {
    font-size: min(1.76vw, 22px);
    line-height: 1.6363636364;
    text-shadow: 0 min(4px, 0.32vw) min(4px, 0.32vw) rgba(0, 0, 0, 0.25);
  }
}
#top #aboutCampaign .how ol {
  margin-top: 6.4vw;
  display: flex;
  flex-direction: column;
  gap: 8.5333333333vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol {
    margin-top: min(34px, 2.72vw);
    gap: min(40px, 3.2vw);
  }
}
#top #aboutCampaign .how ol li {
  counter-increment: step-counter;
  position: relative;
}
#top #aboutCampaign .how ol li:before {
  content: "STEP 0" counter(step-counter);
  border-radius: 5.8666666667vw;
  background: #FF6A00;
  box-shadow: 0 1.0666666667vw 1.0666666667vw 0 rgba(0, 0, 0, 0.25);
  width: fit-content;
  padding: 1.0666666667vw 5.3333333333vw;
  color: #fff;
  font-size: 4.2666666667vw;
  line-height: 1;
  font-weight: 500;
  top: -3.2vw;
  left: 50%;
  transform: translateX(-50%);
  position: relative;
  z-index: 1;
  display: block;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li:before {
    border-radius: min(22px, 1.76vw);
    padding: min(4px, 0.32vw) min(20px, 1.6vw);
    font-size: min(1.28vw, 16px);
    line-height: 1;
    top: max(-12px, -0.96vw);
    box-shadow: 0 min(4px, 0.32vw) min(4px, 0.32vw) 0 rgba(0, 0, 0, 0.25);
  }
}
#top #aboutCampaign .how ol li:after {
  content: "";
  width: 100%;
  border-top: 0.5333333333vw dashed #0b82b5;
  display: block;
  top: 0;
  position: absolute;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li:after {
    border-top-width: min(2px, 0.16vw);
  }
}
#top #aboutCampaign .how ol li dl {
  padding: 0 3.2vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl {
    padding: 0 min(12px, 0.96vw);
  }
}
#top #aboutCampaign .how ol li dl dt {
  text-align: center;
  font-size: 4.2666666667vw;
  line-height: 1;
  font-weight: 500;
  color: #0b82b5;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl dt {
    font-size: min(1.6vw, 20px);
    line-height: 1;
    text-align: left;
    padding-left: min(196px, 15.68vw);
    margin-top: min(16px, 1.28vw);
  }
}
#top #aboutCampaign .how ol li dl dt img {
  margin-top: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl dt img {
    margin-top: 0;
    position: absolute;
    width: min(180px, 14.4vw);
    left: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
#top #aboutCampaign .how ol li dl dd {
  margin-top: 4.2666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl dd {
    margin-top: min(12px, 0.96vw);
    font-size: min(1.28vw, 16px);
    line-height: 1.5;
    padding-left: min(196px, 15.68vw);
  }
}
#top #aboutCampaign .how ol li dl dd strong {
  color: #b72021;
  font-weight: 400;
}
#top #aboutCampaign .how ol li dl dd img {
  margin-top: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl dd img {
    margin-top: min(12px, 0.96vw);
    width: 100%;
  }
}
#top #aboutCampaign .how ol li dl dd .btn {
  width: 100%;
  margin: 4.2666666667vw auto 0;
}
#top #aboutCampaign .how ol li dl dd .btn span {
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr 4.2666666667vw;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #CCC;
  color: #fff;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl dd .btn span {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    grid-template-columns: min(28px, 2.24vw) 1fr min(16px, 1.28vw);
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #top #aboutCampaign .how ol li dl dd .btn span:hover {
    background-color: #FF6A00;
  }
}
#top #aboutCampaign .how ol li dl dd .btn span:before, #top #aboutCampaign .how ol li dl dd .btn span:after {
  content: "";
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
#top #aboutCampaign .how ol li dl dd .btn span:before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' fill='none'%3E%3Cpath fill='%23fff' d='M7.84 19.352a.718.718 0 0 1-.72-.726v-1.018a.719.719 0 1 1 1.44 0v1.018a.72.72 0 0 1-.72.726ZM7.84 12.562a.72.72 0 0 1-.72-.725v-1.018a.713.713 0 0 1 .72-.72.712.712 0 0 1 .72.72v1.018a.72.72 0 0 1-.72.725ZM25.334 5.727c-1.782.42-2.845.802-3.564 1.521-.72.72-1.107 1.788-1.527 3.57-.42-1.782-.796-2.844-1.521-3.57-.726-.725-1.782-1.1-3.57-1.52 1.788-.42 2.85-.802 3.57-1.522.719-.719 1.1-1.781 1.52-3.57.42 1.789.803 2.851 1.528 3.57.726.72 1.782 1.101 3.564 1.521ZM27.88 12.645a3.716 3.716 0 0 0-2.012 1.043 5.491 5.491 0 0 0-.852 2.457 5.562 5.562 0 0 0-.86-2.457 3.716 3.716 0 0 0-2.004-1.043 3.716 3.716 0 0 0 2.004-1.044c.477-.74.771-1.581.86-2.456.083.875.375 1.717.852 2.456a3.717 3.717 0 0 0 2.011 1.044Z'/%3E%3Cpath fill='%23fff' d='M18.722 22.082H.904A.904.904 0 0 1 0 21.178v-4.136a.904.904 0 0 1 .904-.872 1.33 1.33 0 0 0 .936-2.266 1.323 1.323 0 0 0-.936-.388.904.904 0 0 1-.904-.903V8.476a.904.904 0 0 1 .904-.897h13.115c1.031-.095 2.864.16 3.455 1.75.236.636.599 1.744 1.076 3.29a.903.903 0 0 1-.44 1.063 1.31 1.31 0 0 0-.325 2.096c.248.25.585.39.937.392a.903.903 0 0 1 .903.897v4.137a.904.904 0 0 1-.903.878ZM1.807 20.28h16.011v-2.47a3.137 3.137 0 0 1-2.227-2.996 3.105 3.105 0 0 1 1.037-2.31c-.363-1.184-.636-2.069-.846-2.546-.255-.687-1.61-.585-1.623-.585H1.807v2.462a3.144 3.144 0 0 1 2.228 2.998 3.137 3.137 0 0 1-2.228 2.997v2.45Z'/%3E%3Cpath fill='%23fff' d='M7.84 15.928a.72.72 0 0 1-.72-.719v-1.018a.72.72 0 1 1 1.44 0v1.018a.72.72 0 0 1-.72.72Z'/%3E%3C/svg%3E");
}
#top #aboutCampaign .how ol li dl dd .btn span:after {
  aspect-ratio: 16/21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 17.488 4 16.305l5.483-5.483L4 5.339l1.183-1.184 6.667 6.667-6.667 6.666Z'/%3E%3C/svg%3E");
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl dd .btn {
    margin-top: min(12px, 0.96vw);
  }
}
#top #aboutCampaign .how ol li dl dd .btn span {
  font-size: 3.7333333333vw;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li dl dd .btn span {
    width: 100%;
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
  }
}
#top #aboutCampaign .how ol li dl dd .btn span:before {
  background-image: none;
}
#top #aboutCampaign .how ol li:last-of-type dd img {
  width: 83.4666666667vw;
  margin-left: -3.4666666667vw;
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li:last-of-type dd img {
    width: calc(100% + min(196px, 15.68vw));
    transform: translateX(max(-196px, -15.68vw));
    margin-left: 0;
    margin-top: min(44px, 3.52vw);
  }
}
@media screen and (min-width: 768px) {
  #top #aboutCampaign .how ol li:last-of-type dt img {
    top: min(55px, 4.4vw);
    transform: none;
  }
}
#top #judge {
  border-top: 3.2vw solid #cee6f0;
}
@media screen and (min-width: 768px) {
  #top #judge {
    border-top-width: min(24px, 1.92vw);
  }
}
#top #judge h2 {
  width: 15.7333333333vw;
  margin: 11.4666666667vw auto 0;
}
@media screen and (min-width: 768px) {
  #top #judge h2 {
    width: min(100px, 8vw);
    margin-top: min(75px, 6vw);
  }
}
#top #judge ul {
  margin: 8.5333333333vw auto 0;
  width: 89.3333333333vw;
  display: flex;
  flex-direction: column;
  gap: 6.4vw;
}
@media screen and (min-width: 768px) {
  #top #judge ul {
    margin-top: min(40px, 3.2vw);
    width: min(660px, 52.8vw);
    gap: min(24px, 1.92vw);
  }
}
#top #judge ul li figure {
  display: grid;
  grid-template-columns: 26.6666666667vw 1fr;
  gap: 2.9333333333vw;
}
@media screen and (min-width: 768px) {
  #top #judge ul li figure {
    grid-template-columns: min(140px, 11.2vw) 1fr;
    gap: min(16px, 1.28vw);
  }
}
#top #judge ul li figure figcaption h3 {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #judge ul li figure figcaption h3 {
    font-size: min(1.12vw, 14px);
    line-height: 1.4285714286;
  }
}
#top #judge ul li figure figcaption h3 span {
  font-size: 3.2vw;
  line-height: 1.6666666667;
  font-weight: 400;
  display: block;
}
@media screen and (min-width: 768px) {
  #top #judge ul li figure figcaption h3 span {
    font-size: min(0.96vw, 12px);
    line-height: 1.6666666667;
  }
}
#top #judge ul li figure figcaption p {
  font-size: 3.2vw;
  line-height: 1.3333333333;
  margin-top: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #top #judge ul li figure figcaption p {
    font-size: min(0.96vw, 12px);
    line-height: 1.3333333333;
    margin-top: min(8px, 0.64vw);
  }
}
#top #judge ul li figure figcaption .comment {
  padding: 2.1333333333vw;
  border: 0.2666666667vw dashed #FF6A00;
  font-size: 3.2vw;
  line-height: 1.3333333333;
}
@media screen and (min-width: 768px) {
  #top #judge ul li figure figcaption .comment {
    padding: min(8px, 0.64vw);
    border-width: min(1px, 0.08vw);
    font-size: min(0.96vw, 12px);
    line-height: 1.3333333333;
  }
}
#top #overview {
  width: 89.3333333333vw;
  margin: 16vw auto 0;
  border: 0.2666666667vw solid #ccc;
  padding: 3.2vw;
}
@media screen and (min-width: 768px) {
  #top #overview {
    width: min(660px, 52.8vw);
    margin-top: min(60px, 4.8vw);
    border-width: min(1px, 0.08vw);
    padding: min(20px, 1.6vw);
  }
}
#top #overview h2 {
  font-size: 4.2666666667vw;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #top #overview h2 {
    font-size: min(1.6vw, 20px);
    line-height: 1;
  }
}
#top #overview dl {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
}
@media screen and (min-width: 768px) {
  #top #overview dl {
    font-size: min(1.12vw, 14px);
    line-height: 1.4285714286;
  }
}
#top #overview dl dt {
  margin-top: 5.3333333333vw;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #top #overview dl dt {
    margin-top: min(20px, 1.6vw);
  }
}

#background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  display: none;
}

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  height: auto;
  display: none;
}
.modal .modalInner {
  padding: 4.2666666667vw;
  overflow-y: auto;
  max-height: 85svh;
  width: 89.3333333333vw;
  border-radius: 2.1333333333vw;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .modal .modalInner {
    width: min(600px, 48vw);
    padding: min(16px, 1.28vw);
    border-radius: min(8px, 0.64vw);
  }
}
.modal h3 {
  font-size: 4.8vw;
  line-height: 1.3333333333;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .modal h3 {
    font-size: min(1.6vw, 20px);
    line-height: 1.2;
  }
}
.modal figure {
  margin-top: 4.2666666667vw;
}
@media screen and (min-width: 768px) {
  .modal figure {
    margin-top: min(16px, 1.28vw);
    margin-bottom: min(24px, 1.92vw);
  }
}
.modal figure figcaption {
  margin-top: 3.2vw;
}
@media screen and (min-width: 768px) {
  .modal figure figcaption {
    margin-top: min(12px, 0.96vw);
  }
}
.modal figure figcaption p {
  font-size: 3.2vw;
  line-height: 1.3333333333;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .modal figure figcaption p {
    font-size: min(1.12vw, 14px);
    line-height: 1.1428571429;
  }
}
.modal figure figcaption p + p {
  font-size: 4.2666666667vw;
  line-height: 1.25;
}
@media screen and (min-width: 768px) {
  .modal figure figcaption p + p {
    font-size: min(1.28vw, 16px);
    line-height: 1.25;
  }
}
.modal .close {
  cursor: pointer;
  position: absolute;
  top: -7.7333333333vw;
  right: 0;
}
@media screen and (min-width: 768px) {
  .modal .close {
    top: max(-29px, -2.32vw);
  }
}
.modal dl {
  border: 0.2666666667vw dashed #FF6A00;
  padding: 0 3.2vw 3.2vw 3.2vw;
  margin: 5.3333333333vw auto 0;
  grid-column: 1/4;
  grid-row: 5/6;
}
@media screen and (min-width: 768px) {
  .modal dl {
    border-width: min(1px, 0.08vw);
    padding: 0 min(12px, 0.96vw) min(12px, 0.96vw) min(12px, 0.96vw);
    margin: 0 auto;
    align-self: flex-end;
    grid-column: 4/6;
    grid-row: 4/5;
  }
}
.modal dl dt {
  font-size: 2.6666666667vw;
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
  background-color: #FF6A00;
  border-radius: 3.2vw;
  padding: 0.5333333333vw 2.6666666667vw;
  display: inline-block;
  transform: translateY(-3.2vw) translateX(-50%);
  left: 50%;
  position: relative;
}
@media screen and (min-width: 768px) {
  .modal dl dt {
    font-size: min(0.96vw, 12px);
    line-height: 1.3333333333;
    padding: min(2px, 0.16vw) min(20px, 1.6vw);
    border-radius: min(12px, 0.96vw);
    transform: translateY(max(-12px, -0.96vw)) translateX(-50%);
  }
}
.modal dl dd {
  margin-top: -1.3333333333vw;
}
@media screen and (min-width: 768px) {
  .modal dl dd {
    margin-top: max(-5px, -0.4vw);
  }
}
.modal dl dd p {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
}
@media screen and (min-width: 768px) {
  .modal dl dd p {
    font-size: min(1.12vw, 14px);
    line-height: 1.4285714286;
  }
}
.modal dl dd .staff {
  font-size: 3.2vw;
  line-height: 1.3333333333;
  margin-top: 3.2vw;
  background: #f1f1f1;
  display: grid;
  grid-template-columns: 9.6vw 1fr;
  gap: 2.1333333333vw;
  padding: 2.1333333333vw;
}
.modal dl dd .staff:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
.modal dl dd .staff.staff1:before {
  background-image: url(../img/staff1.png);
}
.modal dl dd .staff.staff2:before {
  background-image: url(../img/staff2.png);
}
.modal dl dd .staff.staff3:before {
  background-image: url(../img/staff3.png);
}
.modal dl dd .staff.staff4:before {
  background-image: url(../img/staff4.png);
}
.modal dl dd .staff.staff5:before {
  background-image: url(../img/staff5.png);
}
.modal dl dd .staff.staff6:before {
  background-image: url(../img/staff6.png);
}
.modal dl dd .staff.staff7:before {
  background-image: url(../img/staff7.png);
}
.modal dl dd .staff.staff8:before {
  background-image: url(../img/staff8.png);
}
.modal dl dd .staff.staff9:before {
  background-image: url(../img/staff9.png);
}
.modal dl dd .staff.staff10:before {
  background-image: url(../img/staff10.png);
}
@media screen and (min-width: 768px) {
  .modal dl dd .staff {
    font-size: min(1.12vw, 14px);
    line-height: 1.2857142857;
    margin-top: min(12px, 0.96vw);
    grid-template-columns: min(36px, 2.88vw) 1fr;
    gap: min(8px, 0.64vw);
    padding: min(8px, 0.64vw);
  }
}
.modal .staff2 {
  margin-top: 1.0666666667vw;
  font-size: 2.6666666667vw;
  line-height: 1.6;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .modal .staff2 {
    margin-top: min(4px, 0.32vw);
    font-size: min(0.8vw, 10px);
    line-height: 1.6;
  }
}
.modal .btn {
  margin-top: 3.2vw;
}
@media screen and (min-width: 768px) {
  .modal .btn {
    margin-top: min(12px, 0.96vw);
  }
}
.modal .btn p a {
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr 4.2666666667vw;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #0b82b5;
  box-shadow: 0 0.5333333333vw 0 0 #006590;
  color: #fff;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5333333333vw;
}
@media screen and (min-width: 768px) {
  .modal .btn p a {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    grid-template-columns: min(28px, 2.24vw) 1fr min(16px, 1.28vw);
    box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
    margin-bottom: min(2px, 0.16vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  .modal .btn p a:hover {
    background-color: #66a9d9;
  }
}
.modal .btn p a:before, .modal .btn p a:after {
  content: "";
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
.modal .btn p a:before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='29' fill='none'%3E%3Cpath fill='%23fff' d='M14.02 8.401c1.03-.095 2.863.16 3.455 1.75.235.636.598 1.744 1.075 3.29.063.204 1.075 4.213 1.075 4.448v4.137a.894.894 0 0 1-.273.623.89.89 0 0 1-.63.255H.903a.93.93 0 0 1-.635-.268A.881.881 0 0 1 0 22V9.298c0-.241.096-.47.268-.636.171-.165.4-.26.635-.261H14.02ZM1.808 14.847v6.256h16.01v-2.47c-.006-.024-.468-1.883-.948-3.786H1.808Zm23.208-4.88c.082.877.375 1.717.852 2.455a3.71 3.71 0 0 0 2.01 1.044 3.71 3.71 0 0 0-2.01 1.044 5.461 5.461 0 0 0-.852 2.456 5.546 5.546 0 0 0-.86-2.456 3.734 3.734 0 0 0-2.004-1.044 3.735 3.735 0 0 0 2.004-1.043c.478-.739.77-1.578.86-2.457Zm-10.857.229H1.808v1.89h14.35c-.185-.694-.325-1.19-.376-1.305-.253-.685-1.612-.586-1.623-.585Zm6.084-8.737c.42 1.788.802 2.85 1.527 3.569.726.719 1.782 1.101 3.564 1.521-1.782.42-2.844.802-3.564 1.521-.719.719-1.107 1.788-1.527 3.57-.42-1.782-.796-2.845-1.521-3.57-.726-.725-1.782-1.1-3.57-1.52 1.788-.42 2.85-.803 3.57-1.522.719-.72 1.101-1.781 1.521-3.57Z'/%3E%3C/svg%3E");
}
.modal .btn p a:after {
  aspect-ratio: 16/21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 17.488 4 16.305l5.483-5.483L4 5.339l1.183-1.184 6.667 6.667-6.667 6.666Z'/%3E%3C/svg%3E");
}
.modal .btn p a:before {
  background-image: none;
}

#campaign {
  background: linear-gradient(173deg, #40b8f4 29.28%, #5be0db 113.62%);
  position: relative;
}
#campaign:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.6;
  background-image: url("../img/campaign/background.png");
  background-size: 100% auto;
  background-repeat: repeat-y;
  background-position: top center;
  mix-blend-mode: overlay;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #campaign:before {
    background-image: url("../img/campaign/background_pc.png");
  }
}
#campaign main {
  width: 89.3333333333vw;
  margin: 0 auto;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  #campaign main {
    width: min(800px, 64vw);
  }
}
#campaign main h2 {
  font-size: 5.3333333333vw;
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
  text-align: center;
  text-shadow: 0 0.5333333333vw 2.1333333333vw rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 768px) {
  #campaign main h2 {
    font-size: min(3.2vw, 40px);
    line-height: 0.8;
    text-shadow: 0 min(2px, 0.16vw) min(8px, 0.64vw) rgba(0, 0, 0, 0.25);
  }
}
#campaign #mainVisual {
  padding: 5.3333333333vw 0 0;
}
@media screen and (min-width: 768px) {
  #campaign #mainVisual {
    padding: min(40px, 3.2vw) 0 0;
  }
}
#campaign #mainVisual h1 {
  width: 85.3333333333vw;
  margin: 0 auto;
  display: block;
}
@media screen and (min-width: 768px) {
  #campaign #mainVisual h1 {
    width: min(365px, 29.2vw);
  }
}
#campaign #mainVisual h2 {
  margin-top: 1.3333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #mainVisual h2 {
    margin-top: min(18px, 1.44vw);
  }
}
#campaign #prize {
  margin-top: 5.3333333333vw;
  margin-left: -1.0666666667vw;
}
@media screen and (min-width: 768px) {
  #campaign #prize {
    margin-top: min(40px, 3.2vw);
    margin-left: max(-4px, -0.32vw);
  }
}
#campaign #prize img {
  width: 91.4666666667vw;
}
@media screen and (min-width: 768px) {
  #campaign #prize img {
    width: min(808px, 64.64vw);
  }
}
#campaign #form .formItem h3 {
  margin-top: 8vw;
  font-size: 5.3333333333vw;
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
  text-align: center;
  text-shadow: 0 0.5333333333vw 2.1333333333vw rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 768px) {
  #campaign #form .formItem h3 {
    margin-top: min(30px, 2.4vw);
    font-size: min(1.6vw, 20px);
    line-height: 1.6;
    text-shadow: 0 min(2px, 0.16vw) min(8px, 0.64vw) rgba(0, 0, 0, 0.25);
  }
}
#campaign #form .formItem .prizeList {
  margin: 3.4666666667vw auto 0;
  display: flex;
  flex-direction: column;
  gap: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #form .formItem .prizeList {
    margin: min(13px, 1.04vw) auto 0;
    gap: min(10px, 0.8vw);
    width: min(640px, 51.2vw);
  }
}
#campaign #form .formItem .prizeList li label {
  position: relative;
  border-radius: 2.1333333333vw;
  background: #fff;
  padding: 3.2vw 0 3.2vw 2.6666666667vw;
  gap: 2.6666666667vw;
  display: grid;
  grid-template-columns: 1fr;
  font-size: 3.7333333333vw;
  line-height: 1.7142857143;
  font-weight: 700;
  border: 0.5333333333vw solid #fff;
  transition: background-color 0.2s linear;
}
@media screen and (min-width: 768px) {
  #campaign #form .formItem .prizeList li label {
    border-radius: min(8px, 0.64vw);
    padding: min(12px, 0.96vw) 0 min(12px, 0.96vw) min(10px, 0.8vw);
    gap: min(8px, 0.64vw);
    font-size: min(1.44vw, 18px);
    line-height: 1.3333333333;
    border-width: min(2px, 0.16vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #campaign #form .formItem .prizeList li label:hover {
    background-color: #ffc399;
  }
}
#campaign #form .formItem .prizeList li label:has(input:checked) {
  border-color: #B72021;
  color: #B72021;
  background-color: #fff;
}
#campaign #form .formItem .prizeList li label span {
  position: relative;
  display: grid;
  grid-template-columns: 6.4vw 1fr;
  gap: 2.1333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #form .formItem .prizeList li label span {
    grid-template-columns: min(24px, 1.92vw) 1fr;
    gap: min(8px, 0.64vw);
  }
}
#campaign #form .formItem .prizeList li label span::before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cmask id='a' width='24' height='24' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M0 0h24v24H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231C1B1F' d='M12 22a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12c0-1.383.263-2.683.788-3.9a10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2c1.383 0 2.683.263 3.9.788a10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z'/%3E%3C/g%3E%3C/svg%3E");
}
#campaign #form .formItem .prizeList li label input {
  display: none;
}
#campaign #form .formItem .prizeList li label input:checked + span::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3E%3Cmask id='a' width='24' height='24' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M0 0h24v24H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23B72021' d='M12 17c1.383 0 2.563-.488 3.537-1.463C16.512 14.563 17 13.383 17 12s-.488-2.563-1.463-3.537C14.563 7.488 13.383 7 12 7s-2.563.487-3.537 1.463C7.488 9.438 7 10.617 7 12s.487 2.563 1.463 3.537C9.438 16.512 10.617 17 12 17Zm0 5a9.738 9.738 0 0 1-3.9-.788 10.099 10.099 0 0 1-3.175-2.137c-.9-.9-1.612-1.958-2.137-3.175A9.738 9.738 0 0 1 2 12c0-1.383.263-2.683.788-3.9a10.099 10.099 0 0 1 2.137-3.175c.9-.9 1.958-1.612 3.175-2.137A9.738 9.738 0 0 1 12 2c1.383 0 2.683.263 3.9.788a10.098 10.098 0 0 1 3.175 2.137c.9.9 1.613 1.958 2.137 3.175A9.738 9.738 0 0 1 22 12a9.738 9.738 0 0 1-.788 3.9 10.098 10.098 0 0 1-2.137 3.175c-.9.9-1.958 1.613-3.175 2.137A9.738 9.738 0 0 1 12 22Zm0-2c2.233 0 4.125-.775 5.675-2.325C19.225 16.125 20 14.233 20 12c0-2.233-.775-4.125-2.325-5.675C16.125 4.775 14.233 4 12 4c-2.233 0-4.125.775-5.675 2.325C4.775 7.875 4 9.767 4 12c0 2.233.775 4.125 2.325 5.675C7.875 19.225 9.767 20 12 20Z'/%3E%3C/g%3E%3C/svg%3E");
}
#campaign #form .formSubmit {
  margin-top: 6.1333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #form .formSubmit {
    margin: min(20px, 1.6vw) auto 0;
    width: min(640px, 51.2vw);
  }
}
#campaign #form .formSubmit p {
  font-size: 3.2vw;
  line-height: 2;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #campaign #form .formSubmit p {
    font-size: min(1.12vw, 14px);
    line-height: 1.7142857143;
  }
}
#campaign #form .formSubmit p a {
  color: #B72021;
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #campaign #form .formSubmit p a:hover {
    text-decoration: none;
  }
}
#campaign #form .formSubmit button {
  border-radius: 1.0666666667vw;
  background: #B72021;
  box-shadow: 0 0.5333333333vw 0 0 #580708;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  color: #fff;
  padding: 2.1333333333vw 3.2vw;
  margin-top: 1.0666666667vw;
  display: grid;
  grid-template-columns: 4.2666666667vw 1fr 4.2666666667vw;
  width: 100%;
  position: relative;
  align-items: center;
  text-align: center;
  transition: background-color 0.2s linear;
}
@media screen and (min-width: 768px) {
  #campaign #form .formSubmit button {
    border-radius: min(4px, 0.32vw);
    box-shadow: 0 min(2px, 0.16vw) 0 0 #580708;
    font-size: min(1.6vw, 20px);
    line-height: 1.4;
    padding: min(8px, 0.64vw) min(12px, 0.96vw);
    margin-top: min(8px, 0.64vw);
    grid-template-columns: min(16px, 1.28vw) 1fr min(16px, 1.28vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #campaign #form .formSubmit button:hover {
    background-color: #db2f30;
  }
}
#campaign #form .formSubmit button:before {
  content: "";
  width: 100%;
}
#campaign #form .formSubmit button:after {
  content: "";
  width: 100%;
  aspect-ratio: 16/36;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='36' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 24.667 4 23.483 9.483 18 4 12.517l1.183-1.184L11.85 18l-6.667 6.667Z'/%3E%3C/svg%3E");
}
#campaign #form .formSubmit button:disabled {
  background-color: #afafaf;
  box-shadow: 0 0.5333333333vw 0 0 #333;
}
@media screen and (min-width: 768px) {
  #campaign #form .formSubmit button:disabled {
    box-shadow: 0 min(2px, 0.16vw) 0 0 #333;
  }
}
#campaign #form .formOverview {
  margin-top: 5.3333333333vw;
  display: flex;
  flex-direction: column;
  gap: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview {
    margin: min(20px, 1.6vw) auto 0;
    gap: min(20px, 1.6vw);
    width: min(640px, 51.2vw);
  }
}
#campaign #form .formOverview div {
  background-color: #fff;
  padding: 0 5.3333333333vw;
  height: 89.6vw;
  overflow-y: auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div {
    padding: 0 min(20px, 1.6vw);
    height: min(336px, 26.88vw);
  }
}
#campaign #form .formOverview div:before, #campaign #form .formOverview div:after {
  content: "";
  width: 89.3333333333vw;
  border-top: 6.4vw solid #fff;
  position: sticky;
  left: 0;
  display: block;
  z-index: 10;
  transform: translateX(-5.3333333333vw);
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div:before, #campaign #form .formOverview div:after {
    border-top-width: min(24px, 1.92vw);
    width: min(640px, 51.2vw);
    transform: translateX(max(-20px, -1.6vw));
  }
}
#campaign #form .formOverview div:before {
  top: 0;
}
#campaign #form .formOverview div:after {
  bottom: 0;
}
#campaign #form .formOverview div h3 {
  font-size: 4.2666666667vw;
  line-height: 1.5;
  font-weight: 700;
  margin-bottom: 4.5333333333vw;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div h3 {
    font-size: min(1.28vw, 16px);
    line-height: 1.5;
    margin-bottom: min(17px, 1.36vw);
  }
}
#campaign #form .formOverview div dl dt {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div dl dt {
    font-size: min(1.12vw, 14px);
    line-height: 1.4285714286;
  }
}
#campaign #form .formOverview div dl + dl {
  margin-top: 8vw;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div dl + dl {
    margin-top: min(30px, 2.4vw);
  }
}
#campaign #form .formOverview div p,
#campaign #form .formOverview div li {
  font-size: 3.7333333333vw;
  line-height: 1.4285714286;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div p,
  #campaign #form .formOverview div li {
    font-size: min(1.12vw, 14px);
    line-height: 1.4285714286;
  }
}
#campaign #form .formOverview div p a,
#campaign #form .formOverview div li a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #campaign #form .formOverview div p a:hover,
  #campaign #form .formOverview div li a:hover {
    text-decoration: none;
  }
}
#campaign #form .formOverview div ul > li {
  list-style: disc;
  margin-left: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div ul > li {
    margin-left: min(20px, 1.6vw);
  }
}
#campaign #form .formOverview div ul > li.none {
  list-style: none;
}
#campaign #form .formOverview div ol > li {
  list-style: decimal;
  margin-left: 5.3333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #form .formOverview div ol > li {
    margin-left: min(20px, 1.6vw);
  }
}
#campaign #form .formOverview div ol > li.none {
  list-style: none;
}
#campaign .back {
  margin-top: 8.5333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign .back {
    margin: min(32px, 2.56vw) auto 0;
    width: min(640px, 51.2vw);
  }
}
#campaign .back p a {
  display: block;
  display: grid;
  grid-template-columns: 5.3333333333vw 1fr 5.3333333333vw;
  align-items: center;
  text-align: center;
  background-color: #fff;
  padding: 1.6vw 3.2vw;
  font-size: 3.7333333333vw;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #campaign .back p a {
    font-size: min(1.12vw, 14px);
    line-height: 1.4;
    padding: min(7px, 0.56vw) min(12px, 0.96vw);
    grid-template-columns: min(20px, 1.6vw) 1fr min(20px, 1.6vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #campaign .back p a:hover {
    background-color: #ffc399;
  }
}
#campaign .back p a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none'%3E%3Cmask id='a' width='20' height='20' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M0 0h20v20H0z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231C1B1F' d='M13.333 18.333 5 10l8.333-8.333 1.48 1.479L7.957 10l6.854 6.854-1.479 1.48Z'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  #campaign #thanks {
    width: min(640px, 51.2vw);
    margin: 0 auto;
  }
}
#campaign #thanks .wrap {
  margin-top: 5.3333333333vw;
  padding: 6.4vw 5.3333333333vw;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap {
    margin-top: min(40px, 3.2vw);
    padding: min(24px, 1.92vw) min(20px, 1.6vw);
  }
}
#campaign #thanks .wrap .read {
  text-align: center;
}
#campaign #thanks .wrap .read h3 {
  font-size: 4.2666666667vw;
  line-height: 1.5;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .read h3 {
    font-size: min(1.6vw, 20px);
    line-height: 1.2;
  }
}
#campaign #thanks .wrap .read p {
  margin-top: 5.3333333333vw;
  font-size: 3.2vw;
  line-height: 1.6666666667;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .read p {
    font-size: min(1.12vw, 14px);
    line-height: 1.7142857143;
    margin-top: min(20px, 1.6vw);
  }
}
#campaign #thanks .wrap .share,
#campaign #thanks .wrap .ticket {
  margin-top: 5.3333333333vw;
  border: 0.2666666667vw solid #ccc;
  background: #fff;
  padding: 3.2vw 3.2vw 5.3333333333vw 3.2vw;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .share,
  #campaign #thanks .wrap .ticket {
    margin-top: min(20px, 1.6vw);
    padding: min(12px, 0.96vw) min(12px, 0.96vw) min(20px, 1.6vw) min(12px, 0.96vw);
    border-width: min(1px, 0.08vw);
  }
}
#campaign #thanks .wrap .share h4,
#campaign #thanks .wrap .ticket h4 {
  font-size: 4.2666666667vw;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .share h4,
  #campaign #thanks .wrap .ticket h4 {
    font-size: min(1.28vw, 16px);
    line-height: 1.5;
  }
}
#campaign #thanks .wrap .share h4 span,
#campaign #thanks .wrap .ticket h4 span {
  color: #B72021;
}
#campaign #thanks .wrap .share p {
  margin: 5.3333333333vw auto 0;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .share p {
    width: min(320px, 25.6vw);
    margin-top: min(20px, 1.6vw);
  }
}
#campaign #thanks .wrap .share p a {
  display: grid;
  grid-template-columns: 5.0666666667vw auto;
  align-items: center;
  justify-content: center;
  border-radius: 3.2vw;
  background: #fff;
  border: 0.2666666667vw solid #ccc;
  box-shadow: 0 0.5333333333vw 0 0 rgba(0, 0, 0, 0.25);
  padding: 2.1333333333vw 0;
  gap: 3.2vw;
  font-size: 3.7333333333vw;
  line-height: 1;
  font-weight: 700;
  position: relative;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .share p a {
    grid-template-columns: min(18px, 1.44vw) auto;
    padding: min(4px, 0.32vw) 0;
    gap: min(16px, 1.28vw);
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    border-radius: min(4px, 0.32vw);
    border-width: min(1px, 0.08vw);
    box-shadow: 0 min(2px, 0.16vw) 0 0 rgba(0, 0, 0, 0.25);
  }
}
#campaign #thanks .wrap .share p a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-size: contain;
  background-image: url(../img/snsIcon01.png);
}
#campaign #thanks .wrap .ticket p {
  margin-top: 4.5333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .ticket p {
    margin-top: min(17px, 1.36vw);
  }
}
#campaign #thanks .wrap .ticket p a {
  display: grid;
  grid-template-columns: 7.4666666667vw 1fr 4.2666666667vw;
  align-items: center;
  justify-content: space-between;
  border-radius: 1.0666666667vw;
  background: #0b82b5;
  box-shadow: 0 0.5333333333vw 0 0 #006590;
  color: #fff;
  padding: 1.0666666667vw 3.2vw;
  font-size: 4.2666666667vw;
  line-height: 1.75;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5333333333vw;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .ticket p a {
    font-size: min(1.28vw, 16px);
    line-height: 1.75;
    padding: min(6px, 0.48vw) min(12px, 0.96vw);
    grid-template-columns: min(28px, 2.24vw) 1fr min(16px, 1.28vw);
    box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
    border-radius: min(4px, 0.32vw);
    width: min(316px, 25.28vw);
    margin: 0 auto;
    margin-bottom: min(2px, 0.16vw);
  }
}
@media (hover: hover) and (pointer: fine) {
  #campaign #thanks .wrap .ticket p a:hover {
    background-color: #66a9d9;
  }
}
#campaign #thanks .wrap .ticket p a:before, #campaign #thanks .wrap .ticket p a:after {
  content: "";
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
}
#campaign #thanks .wrap .ticket p a:before {
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='29' fill='none'%3E%3Cpath fill='%23fff' d='M14.02 8.401c1.03-.095 2.863.16 3.455 1.75.235.636.598 1.744 1.075 3.29.063.204 1.075 4.213 1.075 4.448v4.137a.894.894 0 0 1-.273.623.89.89 0 0 1-.63.255H.903a.93.93 0 0 1-.635-.268A.881.881 0 0 1 0 22V9.298c0-.241.096-.47.268-.636.171-.165.4-.26.635-.261H14.02ZM1.808 14.847v6.256h16.01v-2.47c-.006-.024-.468-1.883-.948-3.786H1.808Zm23.208-4.88c.082.877.375 1.717.852 2.455a3.71 3.71 0 0 0 2.01 1.044 3.71 3.71 0 0 0-2.01 1.044 5.461 5.461 0 0 0-.852 2.456 5.546 5.546 0 0 0-.86-2.456 3.734 3.734 0 0 0-2.004-1.044 3.735 3.735 0 0 0 2.004-1.043c.478-.739.77-1.578.86-2.457Zm-10.857.229H1.808v1.89h14.35c-.185-.694-.325-1.19-.376-1.305-.253-.685-1.612-.586-1.623-.585Zm6.084-8.737c.42 1.788.802 2.85 1.527 3.569.726.719 1.782 1.101 3.564 1.521-1.782.42-2.844.802-3.564 1.521-.719.719-1.107 1.788-1.527 3.57-.42-1.782-.796-2.845-1.521-3.57-.726-.725-1.782-1.1-3.57-1.52 1.788-.42 2.85-.803 3.57-1.522.719-.72 1.101-1.781 1.521-3.57Z'/%3E%3C/svg%3E");
}
#campaign #thanks .wrap .ticket p a:after {
  aspect-ratio: 16/21;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='21' fill='none'%3E%3Cpath fill='%23fff' d='M5.183 17.488 4 16.305l5.483-5.483L4 5.339l1.183-1.184 6.667 6.667-6.667 6.666Z'/%3E%3C/svg%3E");
}
#campaign #thanks .wrap .ticket + p {
  margin-top: 5.3333333333vw;
  font-size: 4.8vw;
  line-height: 1.3333333333;
  color: #B72021;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  #campaign #thanks .wrap .ticket + p {
    font-size: min(1.44vw, 18px);
    line-height: 1.3333333333;
    margin-top: min(20px, 1.6vw);
  }
}/*# sourceMappingURL=style.css.map */