@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: #000;
  transition: background-color 0.2s linear, color 0.2s linear;
}
a:hover {
  text-decoration: none;
  color: #000;
  transition: background-color 0.2s linear, color 0.2s linear;
}

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

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

body {
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  color: #000;
}
@media screen and (max-width: 767px) {
  body {
    width: 100%;
    overflow-x: hidden;
  }
}

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

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

main {
  background-color: #284881;
  background-image: url(../img/background.png);
  background-size: min(844px, 67.52vw);
  background-position: top center;
}
@media screen and (max-width: 767px) {
  main {
    background-size: 100vw auto;
  }
}

nav:not(.gNavi) ul {
  background-color: #0b2a61;
  width: min(1000px, 80vw);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  nav:not(.gNavi) ul {
    width: 100%;
  }
}
nav:not(.gNavi) ul li {
  font-size: 0;
  line-height: 0;
  height: min(60px, 4.8vw);
  transition: background-color 0.2s linear;
}
@media screen and (max-width: 767px) {
  nav:not(.gNavi) ul li {
    height: 16vw;
  }
}
nav:not(.gNavi) ul li a {
  mask-size: auto min(18px, 1.44vw);
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #fff;
  display: block;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  nav:not(.gNavi) ul li a {
    mask-size: auto 7.6vw;
  }
}
nav:not(.gNavi) ul li:nth-of-type(1) a {
  mask-image: url(../img/nav01.png);
}
@media screen and (max-width: 767px) {
  nav:not(.gNavi) ul li:nth-of-type(1) a {
    mask-image: url(../img/nav01_sp.png);
  }
}
nav:not(.gNavi) ul li:nth-of-type(2) a {
  mask-image: url(../img/nav02.png);
}
@media screen and (max-width: 767px) {
  nav:not(.gNavi) ul li:nth-of-type(2) a {
    mask-image: url(../img/nav02_sp.png);
  }
}
nav:not(.gNavi) ul li:nth-of-type(3) a {
  mask-image: url(../img/nav03.png);
}
@media screen and (max-width: 767px) {
  nav:not(.gNavi) ul li:nth-of-type(3) a {
    mask-image: url(../img/nav03_sp.png);
  }
}
nav:not(.gNavi) ul li:nth-of-type(4) a {
  mask-image: url(../img/nav04.png);
  mask-size: auto min(34px, 2.72vw);
}
@media screen and (max-width: 767px) {
  nav:not(.gNavi) ul li:nth-of-type(4) a {
    mask-image: url(../img/nav04_sp.png);
    mask-size: auto 7.6vw;
  }
}
nav:not(.gNavi) ul li.current {
  background: #fff974;
}
nav:not(.gNavi) ul li.current a {
  background-color: #0b2a61;
}
@media (hover: hover) and (pointer: fine) {
  nav:not(.gNavi) ul li.current:hover {
    background-color: #fff974;
  }
  nav:not(.gNavi) ul li.current:hover a {
    background-color: #0b2a61;
  }
}
@media (hover: hover) and (pointer: fine) {
  nav:not(.gNavi) ul li:hover {
    background-color: #284881;
  }
}

#ranking {
  margin: min(40px, 3.2vw) auto 0;
  width: min(1000px, 80vw);
}
@media screen and (max-width: 767px) {
  #ranking {
    margin: 12vw auto 0;
    width: 89.3333333333vw;
  }
}
#ranking > ul {
  margin-top: min(40px, 3.2vw);
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul {
    margin-top: 6.6666666667vw;
    gap: 3.2vw;
  }
}
#ranking > ul > li:nth-child(1) a h3:before {
  background-image: url(../img/crown1.png);
}
#ranking > ul > li:nth-child(2) a h3:before {
  background-image: url(../img/crown2.png);
}
#ranking > ul > li:nth-child(3) a h3:before {
  background-image: url(../img/crown3.png);
}
#ranking > ul > li:nth-child(4) a h3:before {
  background-image: url(../img/crown4.png);
}
#ranking > ul > li:nth-child(5) a h3:before {
  background-image: url(../img/crown5.png);
}
#ranking > ul > li:nth-child(6) a h3:before {
  background-image: url(../img/crown6.png);
}
#ranking > ul > li:nth-child(7) a h3:before {
  background-image: url(../img/crown7.png);
}
#ranking > ul > li:nth-child(8) a h3:before {
  background-image: url(../img/crown8.png);
}
#ranking > ul > li:nth-child(9) a h3:before {
  background-image: url(../img/crown9.png);
}
#ranking > ul > li:nth-child(10) a h3:before {
  background-image: url(../img/crown10.png);
}
#ranking > ul > li a {
  background-color: #fff;
  width: 100%;
  border-radius: min(8px, 0.64vw);
  padding: min(20px, 1.6vw);
  display: grid;
  grid-template-columns: min(500px, 40vw) 1fr;
  grid-template-rows: auto auto 1fr auto 0 auto;
  gap: 0 min(20px, 1.6vw);
  transition: background-color 0.2s linear;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a {
    border-radius: 2.1333333333vw;
    padding: 4.2666666667vw 0 3.7333333333vw;
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-rows: auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #ranking > ul > li a:hover {
    background-color: #fff974;
  }
}
#ranking > ul > li a .slick-dotted.slick-slider {
  margin-bottom: 0;
  aspect-ratio: 500/280;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slick-dotted.slick-slider {
    aspect-ratio: 335/180;
  }
}
#ranking > ul > li a .slider {
  grid-column: 1/2;
  grid-row: 1/5;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slider {
    grid-row: 2/3;
    min-height: 0;
    min-width: 0;
    margin-top: 1.0666666667vw;
  }
}
#ranking > ul > li a .slider img {
  width: 100%;
  aspect-ratio: 500/280;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slider img {
    aspect-ratio: 335/180;
  }
}
#ranking > ul > li a .slider .slick-dots {
  bottom: min(12.25px, 0.98vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slider .slick-dots {
    bottom: 2.1333333333vw;
  }
}
#ranking > ul > li a .slider .slick-dots li {
  width: min(12.5px, 1vw);
  height: min(12.5px, 1vw);
  aspect-ratio: 1/1;
  margin: 0 min(3px, 0.24vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slider .slick-dots li {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    margin: 0 0.5333333333vw;
  }
}
#ranking > ul > li a .slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#ranking > ul > li a .slider .slick-dots li button:before {
  width: 100%;
  height: 100%;
  font-size: 0;
  line-height: 0;
  background-color: #d9d9d9;
  border-radius: 50%;
  opacity: 1;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #ranking > ul > li a .slider .slick-dots li button:hover:before {
    opacity: 0.7;
  }
}
#ranking > ul > li a .slider .slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #f3cb9c;
}
#ranking > ul > li a .slider .slick-prev,
#ranking > ul > li a .slider .slick-next {
  width: min(37.5px, 3vw);
  height: min(37.5px, 3vw);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slider .slick-prev,
  #ranking > ul > li a .slider .slick-next {
    width: 6.4vw;
    height: 6.4vw;
  }
}
#ranking > ul > li a .slider .slick-prev:before,
#ranking > ul > li a .slider .slick-next:before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='39' fill='none'%3E%3Cmask id='a' width='38' height='39' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M37.618.875H0v37.5h37.618z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='m25.04 35.25 2.781-2.773L14.93 19.625 27.821 6.773 25.04 4 9.365 19.625 25.04 35.25Z'/%3E%3C/g%3E%3C/svg%3E");
  display: block;
  font-size: 0;
  line-height: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #ranking > ul > li a .slider .slick-prev:hover:before,
  #ranking > ul > li a .slider .slick-next:hover:before {
    opacity: 0.7;
  }
}
#ranking > ul > li a .slider .slick-prev {
  left: 0;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slider .slick-prev {
    left: 3.2vw;
  }
}
#ranking > ul > li a .slider .slick-next {
  right: 0;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .slider .slick-next {
    right: 3.2vw;
  }
}
#ranking > ul > li a .slider .slick-next:before {
  transform: rotate(180deg);
}
#ranking > ul > li a h3,
#ranking > ul > li a h5 {
  grid-column: 2/3;
  grid-row: 1/2;
  display: grid;
  color: #0b2a61;
  font-size: min(1.92vw, 24px);
  line-height: 1.1666666667;
  font-weight: 700;
  display: grid;
  position: relative;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a h3,
  #ranking > ul > li a h5 {
    grid-column: 1/2;
    font-size: 4.8vw;
    line-height: 1.1111111111;
    align-items: end;
  }
}
#ranking > ul > li a h3 span,
#ranking > ul > li a h5 span {
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a h3 span,
  #ranking > ul > li a h5 span {
    font-size: 3.2vw;
    line-height: 1;
    align-self: baseline;
    margin-top: 1.6vw;
  }
}
#ranking > ul > li a h3:after,
#ranking > ul > li a h5: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.938 0h20.063v20H.938z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%230B2A61' 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;
  align-self: center;
}
#ranking > ul > li a h3 {
  grid-template-columns: min(56px, 4.48vw) 1fr min(22px, 1.76vw);
  gap: min(4px, 0.32vw) min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a h3 {
    grid-template-columns: 11.7333333333vw 1fr 5.3333333333vw;
    gap: 0vw 2.1333333333vw;
    padding: 0 2.1333333333vw 1.3333333333vw;
  }
}
#ranking > ul > li a h3:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  grid-row: 1/3;
  align-self: center;
}
#ranking > ul > li a h3:after {
  grid-column: 3/4;
}
#ranking > ul > li a h3 span {
  grid-column: 2/3;
}
#ranking > ul > li a h5 {
  grid-template-columns: 1fr min(16px, 1.28vw);
  gap: min(4px, 0.32vw) min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a h5 {
    grid-template-columns: 1fr 5.3333333333vw;
    gap: 0vw 2.1333333333vw;
    padding: 0 2.1333333333vw 1.3333333333vw;
  }
}
#ranking > ul > li a h5:after {
  grid-column: 2/3;
}
#ranking > ul > li a h5 span {
  grid-column: 1/2;
}
#ranking > ul > li a .feature {
  background: #f1f1f1;
  padding: min(12px, 0.96vw) 0;
  grid-column: 1/2;
  grid-row: 6/7;
  margin-top: min(11px, 0.88vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .feature {
    grid-column: 1/2;
    grid-row: 5/6;
    padding: 3.2vw 0;
    margin: 3.2vw auto 0;
    width: calc(100% - 4.2666666667vw);
  }
}
#ranking > ul > li a .feature dt {
  font-size: min(0.96vw, 12px);
  line-height: 1;
  color: #0b2a61;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .feature dt {
    font-size: 3.2vw;
    line-height: 1;
  }
}
#ranking > ul > li a .feature dd {
  margin-top: min(8px, 0.64vw);
  width: 100%;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .feature dd {
    margin-top: 2.1333333333vw;
  }
}
#ranking > ul > li a .feature dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: min(4px, 0.32vw);
  justify-content: center;
  padding: 0 min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .feature dd ul {
    padding: 0 1.4666666667vw;
    gap: 1.0666666667vw;
  }
}
#ranking > ul > li a .feature dd ul li {
  padding: min(4px, 0.32vw) min(8px, 0.64vw);
  background: #fff;
  border-radius: min(4px, 0.32vw);
  font-size: min(1.12vw, 14px);
  line-height: 1;
  color: #0b2a61;
  font-weight: 500;
  width: max-content;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .feature dd ul li {
    padding: 1.0666666667vw 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1;
    border-radius: 1.0666666667vw;
  }
}
#ranking > ul > li a h4 {
  font-size: min(1.44vw, 18px);
  line-height: 1.1111111111;
  font-weight: 700;
  color: #0b2a61;
  grid-column: 2/3;
  grid-row: 2/3;
  margin-top: min(18px, 1.44vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a h4 {
    grid-column: 1/2;
    grid-row: 3/4;
    margin-top: 3.2vw;
    padding: 0 2.1333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.25;
  }
}
#ranking > ul > li a p {
  grid-column: 2/3;
  grid-row: 3/4;
  font-weight: 400;
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a p {
    grid-column: 1/2;
    grid-row: 4/5;
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    padding: 0 2.1333333333vw;
  }
}
#ranking > ul > li a .button {
  grid-column: 2/3;
  grid-row: 4/7;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button {
    grid-column: 1/2;
    grid-row: 6/7;
    margin-top: 3.2vw;
    padding: 0 2.1333333333vw;
  }
}
#ranking > ul > li a .button ul {
  display: flex;
  gap: min(6px, 0.48vw);
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button ul {
    gap: 1.6vw;
  }
}
#ranking > ul > li a .button ul li a {
  display: grid;
  width: 100%;
  grid-template-columns: min(28px, 2.24vw) 1fr min(8px, 0.64vw);
  color: #fff;
  font-weight: 700;
  font-size: min(1.28vw, 16px);
  line-height: 2.75;
  border-radius: min(4px, 0.32vw);
  padding: 0 min(18px, 1.44vw) 0 min(12px, 0.96vw);
  position: relative;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  transition: opacity 0.2s linear;
  margin-bottom: min(2px, 0.16vw);
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button ul li a {
    margin-bottom: 0.5333333333vw;
    display: block;
    padding: 0;
    border-radius: 1.0666666667vw;
    font-size: 4.2666666667vw;
    line-height: 2.375;
  }
}
@media (hover: hover) and (pointer: fine) {
  #ranking > ul > li a .button ul li a:hover {
    opacity: 0.7;
  }
}
#ranking > ul > li a .button ul li a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button ul li a:before {
    display: none;
  }
}
#ranking > ul > li a .button ul li a:after {
  content: "";
  width: 100%;
  aspect-ratio: 7.85/13.33;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' fill='none'%3E%3Cpath fill='%23fff' d='M1.183 13.667 0 12.483 5.483 7 0 1.517 1.183.333 7.85 7l-6.667 6.667Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button ul li a:after {
    display: none;
  }
}
#ranking > ul > li a .button ul li a.ticket {
  background-color: #0b82b5;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button ul li a.ticket {
    box-shadow: 0 0.5333333333vw 0 0 #006590;
  }
}
#ranking > ul > li a .button ul li a.ticket:before {
  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' fill-rule='evenodd' d='M21.77 4.206c-.725-.719-1.107-1.781-1.527-3.57-.42 1.789-.802 2.851-1.521 3.57-.72.72-1.782 1.101-3.57 1.521 1.788.42 2.844.796 3.57 1.521.725.726 1.1 1.788 1.52 3.57.42-1.782.809-2.85 1.528-3.57.72-.719 1.782-1.1 3.564-1.52-1.782-.42-2.838-.803-3.564-1.522Zm4.098 7.395a5.461 5.461 0 0 1-.852-2.456 5.548 5.548 0 0 1-.86 2.456c-.54.547-1.247.91-2.004 1.043a3.735 3.735 0 0 1 2.004 1.044c.478.738.77 1.578.86 2.457a5.46 5.46 0 0 1 .852-2.457 3.71 3.71 0 0 1 2.011-1.043 3.71 3.71 0 0 1-2.01-1.044ZM14.02 7.579c1.031-.095 2.864.16 3.455 1.75.236.636.599 1.744 1.076 3.29.064.204 1.075 4.213 1.075 4.448v4.137a.895.895 0 0 1-.273.623.89.89 0 0 1-.63.255H.904a.93.93 0 0 1-.637-.268.88.88 0 0 1-.267-.636V8.476a.88.88 0 0 1 .267-.636c.172-.165.401-.26.637-.26h13.115Zm.14 1.795H1.807v1.89h14.35c-.184-.694-.324-1.19-.375-1.305-.255-.687-1.623-.585-1.623-.585ZM1.807 20.28h16.011v-2.47s-.464-1.87-.948-3.786H1.807v6.256Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}
#ranking > ul > li a .button ul li a.coupon {
  background-color: #bf0000;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #8d0d10;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button ul li a.coupon {
    box-shadow: 0 0.5333333333vw 0 0 #8d0d10;
  }
}
#ranking > ul > li a .button ul li a.coupon:before {
  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-.719-.726v-1.018a.719.719 0 1 1 1.438 0v1.018a.72.72 0 0 1-.719.726ZM7.84 12.562a.718.718 0 0 1-.719-.726v-1.018a.713.713 0 0 1 .72-.719.713.713 0 0 1 .718.72v1.017a.72.72 0 0 1-.719.726ZM25.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-.803 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-.719-.719v-1.018a.72.72 0 1 1 1.438 0v1.018a.72.72 0 0 1-.719.72Z'/%3E%3C/svg%3E");
}
#ranking > ul > li a .button ul li a.facility {
  background-color: #fff;
  border: min(1px, 0.08vw) solid #0b2a61;
  color: #0b2a61;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #ranking > ul > li a .button ul li a.facility {
    border: 0.2666666667vw solid #0b2a61;
  }
}

#recommend {
  margin: min(65px, 5.2vw) auto 0;
  width: min(980px, 78.4vw);
  padding-bottom: min(60px, 4.8vw);
  background-color: #284881;
  background-image: url(../img/background.png);
  background-size: min(844px, 67.52vw);
  background-position: top center;
}
@media screen and (max-width: 767px) {
  #recommend {
    background-size: 100vw auto;
  }
}
@media screen and (max-width: 767px) {
  #recommend {
    margin-top: 0;
    padding: 17.3333333333vw 5.3333333333vw 0;
    width: 100%;
    padding-bottom: 16vw;
  }
}
#recommend h2 {
  width: min(247px, 19.76vw);
  display: block;
  margin: 0 auto min(24px, 1.92vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  #recommend h2 {
    width: 52vw;
    margin: 0 auto 3.7333333333vw;
  }
}
#recommend h2:before {
  content: "";
  display: block;
  width: min(70px, 5.6vw);
  height: min(40px, 3.2vw);
  position: relative;
  background-image: url(../img/icon_note.png);
  background-size: contain;
  background-repeat: no-repeat;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: min(13px, 1.04vw);
}
@media screen and (max-width: 767px) {
  #recommend h2:before {
    width: 18.6666666667vw;
    height: 10.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
#recommend h2 + p {
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.25;
  text-align: center;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #recommend h2 + p {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    text-align: left;
  }
}
#recommend ul {
  margin-top: min(40px, 3.2vw);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(20px, 1.6vw);
}
@media screen and (max-width: 767px) {
  #recommend ul {
    margin-top: 6.4vw;
    gap: 3.2vw 4vw;
  }
}
#recommend ul li a {
  border-radius: min(8px, 0.64vw);
  overflow: hidden;
  background-color: #fff;
  display: block;
  transition: background-color 0.2s linear;
}
@media screen and (max-width: 767px) {
  #recommend ul li a {
    border-radius: 2.1333333333vw;
    height: 100%;
  }
}
@media (hover: hover) and (pointer: fine) {
  #recommend ul li a:hover {
    background-color: #fff974;
  }
}
#recommend ul li a figure img {
  aspect-ratio: 480/180;
  object-fit: cover;
  object-position: center;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #recommend ul li a figure img {
    aspect-ratio: 164/100;
  }
}
#recommend ul li a figure figcaption {
  font-size: min(1.6vw, 20px);
  line-height: 1.2;
  font-weight: 700;
  color: #0b2a61;
  padding: min(16px, 1.28vw) min(16px, 1.28vw) min(20px, 1.6vw);
}
@media screen and (max-width: 767px) {
  #recommend ul li a figure figcaption {
    padding: 3.2vw 3.2vw 5.3333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.25;
  }
}

.downloadbtn {
  border-top: min(1px, 0.08vw) solid #d9d9d9;
  padding: min(40px, 3.2vw) 0 min(60px, 4.8vw);
  background-color: #284881;
  background-image: url(../img/background.png);
  background-size: min(844px, 67.52vw);
  background-position: top center;
}
@media screen and (max-width: 767px) {
  .downloadbtn {
    background-size: 100vw auto;
  }
}
@media screen and (max-width: 767px) {
  .downloadbtn {
    border-top-width: 0.2666666667vw;
    padding: 10.6666666667vw 0;
  }
}
.downloadbtn p a {
  display: grid;
  align-items: center;
  grid-template-columns: auto min(32px, 2.56vw);
  width: min(543px, 43.44vw);
  margin: 0 auto;
  border-radius: min(5px, 0.4vw);
  background: #fff974;
  box-shadow: min(0px, 0vw) min(2px, 0.16vw) min(0px, 0vw) min(0px, 0vw) #162339;
  text-align: center;
  height: min(68px, 5.44vw);
  padding: 0 min(16px, 1.28vw) 0 min(105px, 8.4vw);
  transition: opacity 0.2s linear;
  gap: min(64px, 5.12vw);
}
@media screen and (max-width: 767px) {
  .downloadbtn p a {
    display: grid;
    grid-template-columns: 1fr;
    width: 90.6666666667vw;
    height: 14.4vw;
    padding: 0;
    border-radius: 1.0666666667vw;
    box-shadow: 0vw 0.5333333333vw 0vw 0vw #284881;
    gap: 0;
  }
}
@media (hover: hover) and (pointer: fine) {
  .downloadbtn p a:hover {
    opacity: 0.8;
  }
}
.downloadbtn p a img {
  width: min(323px, 25.84vw);
}
@media screen and (max-width: 767px) {
  .downloadbtn p a img {
    width: 42.1333333333vw;
  }
}
.downloadbtn p 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='32' height='33' fill='none'%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23284881' fill-rule='evenodd' d='M16 30.186a14 14 0 1 0 0-28 14 14 0 0 0 0 28Zm0-30a16 16 0 1 1 0 32 16 16 0 0 1 0-32Zm-7 15a1 1 0 0 0 0 2h11.586l-4.294 4.293a1.001 1.001 0 0 0 1.416 1.416l6-6a1 1 0 0 0 0-1.416l-6-6a1.001 1.001 0 1 0-1.416 1.416l4.294 4.292H9Z' clip-rule='evenodd'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 32.187v-32h32v32z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (max-width: 767px) {
  .downloadbtn p a:after {
    display: none;
  }
}
.downloadbtn p:last-of-type {
  text-align: center;
  font-size: min(0.96vw, 12px);
  line-height: 1.3333333333;
  color: #fff;
  margin-top: min(10px, 0.8vw);
}
@media screen and (max-width: 767px) {
  .downloadbtn p:last-of-type {
    width: 90.6666666667vw;
    margin: 2.6666666667vw auto 0;
    font-size: 3.2vw;
    line-height: 1.3333333333;
    text-align: left;
  }
}

#sns {
  background-color: #0b2a61;
}
#sns ul {
  width: min(652px, 52.16vw);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: min(12px, 0.96vw);
  padding: min(24px, 1.92vw) 0;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #sns ul {
    width: 85.3333333333vw;
    grid-template-columns: repeat(2, 1fr);
    gap: 2.1333333333vw 3.2vw;
    padding: 6.4vw 0;
  }
}
#sns ul li a {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: min(12px, 0.96vw);
  font-size: min(0.96vw, 12px);
  line-height: 1.6666666667;
  font-weight: 700;
  padding-left: min(16px, 1.28vw);
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
@media screen and (max-width: 767px) {
  #sns ul li a {
    border-radius: 3.2vw;
    font-size: 3.2vw;
    line-height: 1.6666666667;
    padding-left: 4.2666666667vw;
  }
}
#sns ul li a:hover {
  background-color: #fff974;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
#sns ul li a i {
  padding: min(13px, 1.04vw) min(15px, 1.2vw) min(13px, 1.04vw) 0;
}
@media screen and (max-width: 767px) {
  #sns ul li a i {
    padding: 3.4666666667vw 4vw 3.4666666667vw 0;
  }
}
#sns ul li a i img {
  width: min(30px, 2.4vw);
  height: min(30px, 2.4vw);
}
@media screen and (max-width: 767px) {
  #sns ul li a i img {
    width: 8vw;
    height: 8vw;
  }
}

#previous {
  background-color: #284881;
  background-image: url(../img/background.png);
  background-size: min(844px, 67.52vw);
  background-position: top center;
  padding: min(40px, 3.2vw) 0 0;
}
@media screen and (max-width: 767px) {
  #previous {
    background-size: 100vw auto;
  }
}
@media screen and (max-width: 767px) {
  #previous {
    padding: 10.6666666667vw 4.8vw 10.6666666667vw;
  }
}
#previous dl dt {
  width: min(85px, 6.8vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #previous dl dt {
    width: 20.5333333333vw;
  }
}
#previous dl ul {
  width: min(890px, 71.2vw);
  margin: min(40px, 3.2vw) auto 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(40px, 3.2vw);
}
@media screen and (max-width: 767px) {
  #previous dl ul {
    width: 100%;
    grid-template-columns: repeat(1, 1fr);
    gap: 7.4666666667vw;
    margin-top: 8vw;
  }
}
#previous dl ul li {
  font-size: min(1.12vw, 14px);
  line-height: 1.1428571429;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #previous dl ul li {
    font-size: 3.7333333333vw;
    line-height: 1.1428571429;
  }
}
#previous dl ul li a {
  display: block;
  transition: opacity 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
  color: #fff;
}
#previous dl ul li a:hover {
  opacity: 0.7;
  transition: opacity 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
#previous dl ul li a img {
  margin-bottom: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #previous dl ul li a img {
    margin-bottom: 2.1333333333vw;
  }
}

header {
  width: 100%;
  height: min(60px, 4.8vw);
  position: fixed;
  z-index: 100;
  background: #fff;
  top: 0;
}
@media screen and (max-width: 767px) {
  header {
    height: 16vw;
    padding-left: 4.5333333333vw;
  }
}
header div {
  width: min(980px, 78.4vw);
  height: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 767px) {
  header div {
    width: 100%;
  }
}
header div h2 {
  width: min(190px, 15.2vw);
}
@media screen and (max-width: 767px) {
  header div h2 {
    width: 33.8666666667vw;
  }
}
header div h2 a {
  display: block;
}
header div h2 a img {
  vertical-align: text-top;
}
header div h2 + p {
  font-size: min(0.96vw, 12px);
  line-height: 1.6666666667;
  margin-left: min(14.33px, 1.1464vw);
}
@media screen and (max-width: 767px) {
  header div h2 + p {
    display: none;
  }
}
header div .contact {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  header div .contact {
    display: none;
  }
}
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 #c61a1a;
  color: #c61a1a;
  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: #fff974;
  }
}
header div .hamburger {
  display: none;
}
@media screen and (max-width: 767px) {
  header div .hamburger {
    display: block;
    position: fixed;
    margin-right: 3.2vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    z-index: 10000;
    top: 3.2vw;
    right: 0;
  }
  header div .hamburger.active {
    position: fixed;
    right: 0;
  }
  header div .hamburger.active span:nth-of-type(1) {
    transform: translateY(2.1333333333vw) rotate(-45deg);
  }
  header div .hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header div .hamburger.active span:nth-of-type(3) {
    transform: translateY(-2.4vw) rotate(45deg);
  }
  header div .hamburger span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
    position: absolute;
    left: 1.8666666667vw;
    width: 7.2vw;
    height: 0.888vw;
    background-color: #000;
    border-radius: 0;
  }
  header div .hamburger span:nth-of-type(1) {
    top: 2.9333333333vw;
  }
  header div .hamburger span:nth-of-type(2) {
    top: 5.2vw;
  }
  header div .hamburger span:nth-of-type(3) {
    top: 7.4666666667vw;
  }
}
header .gNavi {
  display: none;
}
@media screen and (max-width: 767px) {
  header .gNavi {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    width: 71.4666666667vw;
    background-color: #fff;
    z-index: 101;
    right: -100vw;
    overflow-y: scroll;
    transition: all 0.3s ease;
  }
  header .gNavi p {
    padding-top: 13.8666666667vw;
    background-color: #fff974;
  }
  header .gNavi p img {
    width: 55.2vw;
    margin: 0 auto;
    display: block;
  }
  header .gNavi ul:not(.sns) {
    display: flex;
    flex-direction: column;
  }
  header .gNavi ul:not(.sns) li a {
    width: 100%;
    aspect-ratio: 268/60;
    display: block;
    font-size: 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  header .gNavi ul:not(.sns) li:nth-of-type(1) a {
    background-image: url(../img/gNavi_navi01.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(1).current a {
    background-image: url(../img/gNavi_navi01_current.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(2) a {
    background-image: url(../img/gNavi_navi02.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(2).current a {
    background-image: url(../img/gNavi_navi02_current.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(3) a {
    background-image: url(../img/gNavi_navi03.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(3).current a {
    background-image: url(../img/gNavi_navi03_current.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(4) a {
    background-image: url(../img/gNavi_navi04.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(4).current a {
    background-image: url(../img/gNavi_navi04_current.png);
  }
  header .gNavi ul:not(.sns) li:nth-of-type(5) a {
    background-image: url(../img/gNavi_navi05.png);
  }
  header .gNavi dl {
    padding-bottom: 8vw;
    border-bottom: 0.5333333333vw solid #0b2a61;
  }
  header .gNavi dl dt {
    width: 52vw;
    margin: 5.3333333333vw auto 0;
  }
  header .gNavi dl dd {
    margin-top: 5.8666666667vw;
  }
  header .gNavi dl dd ul {
    display: grid;
    grid-template-columns: repeat(3, 6.9333333333vw);
    gap: 8vw;
    margin: 0 auto;
    width: max-content;
  }
  header .gNavi dl dd ul li a {
    display: block;
    width: 100%;
  }
  header .gNavi.active {
    right: 0;
    position: fixed;
    display: block;
  }
}

footer {
  position: relative;
  background: none;
  padding: initial;
  margin-top: min(52px, 4.16vw);
  background-color: #284881;
  background-image: url(../img/background.png);
  background-size: min(844px, 67.52vw);
  background-position: top center;
}
@media screen and (max-width: 767px) {
  footer {
    background-size: 100vw auto;
  }
}
@media screen and (max-width: 767px) {
  footer {
    margin-top: 0;
    padding-top: 10.6666666667vw;
    border-top: 0.2666666667vw solid #d9d9d9;
  }
}
footer dl {
  text-align: center;
}
@media screen and (max-width: 767px) {
  footer dl {
    width: 80vw;
    margin: 0 auto;
  }
}
footer dl dt {
  width: min(105px, 8.4vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  footer dl dt {
    width: 28vw;
  }
}
footer dl dd p:nth-of-type(1) {
  width: min(300px, 24vw);
  margin: min(40px, 3.2vw) auto 0;
}
@media screen and (max-width: 767px) {
  footer dl dd p:nth-of-type(1) {
    width: 100%;
    margin-top: 10.6666666667vw;
  }
}
footer dl dd p:nth-of-type(1) a {
  display: block;
  background-color: #fff974;
  border: min(2px, 0.16vw) solid #fff974;
  border-radius: min(4px, 0.32vw);
  color: #0b2a61;
  font-size: min(1.28vw, 16px);
  line-height: 1.25;
  font-weight: 700;
  text-align: center;
  padding: min(6px, 0.48vw) 0;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
@media screen and (max-width: 767px) {
  footer dl dd p:nth-of-type(1) a {
    border: 0.5333333333vw solid #fff974;
    border-radius: 1.0666666667vw;
    padding: 1.6vw 0;
    font-size: 4.2666666667vw;
    line-height: 1.25;
  }
}
footer dl dd p:nth-of-type(1) a:hover {
  background-color: #fff;
}
footer dl dd p:nth-of-type(2) {
  text-align: center;
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  color: #fff;
  margin-top: min(17px, 1.36vw);
}
@media screen and (max-width: 767px) {
  footer dl dd p:nth-of-type(2) {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    margin-top: 4.5333333333vw;
    text-align: left;
  }
}
footer div {
  margin-top: min(53px, 4.24vw);
  background-color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  footer div {
    margin-top: 10.6666666667vw;
  }
}
footer div:after {
  content: "";
  width: min(150px, 12vw);
  aspect-ratio: 150/112.46;
  background-image: url(../img/footer_img.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(min(335px, 26.8vw));
  top: max(-36px, -2.88vw);
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  footer div:after {
    width: 32vw;
    top: -3.2vw;
    transform: translateX(16vw);
  }
}
footer ul {
  width: min(945px, 75.6vw);
  margin: 0 auto;
  padding: min(24px, 1.92vw) min(20px, 1.6vw) 0;
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  footer ul {
    width: 100%;
    padding: 6.4vw 4.2666666667vw 0;
  }
}
footer ul li a {
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  color: #284881;
}
@media screen and (max-width: 767px) {
  footer ul li a {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
footer ul li a:hover {
  text-decoration: underline;
  color: #284881;
}
footer ul li + li:before {
  content: "｜";
}
footer ul + p {
  padding: min(4px, 0.32vw) min(20px, 1.6vw) min(24px, 1.92vw);
  width: min(945px, 75.6vw);
  margin: 0 auto 0;
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  color: #284881;
}
@media screen and (max-width: 767px) {
  footer ul + p {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    width: 100%;
    padding: 1.0666666667vw 4.2666666667vw 6.4vw;
  }
}

#overview {
  margin: min(60px, 4.8vw) auto;
  width: min(1000px, 80vw);
  padding: min(28px, 2.24vw) min(40px, 3.2vw);
  background-color: #fff;
  border-radius: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #overview {
    margin: 0 auto 16vw;
    width: 89.3333333333vw;
    padding: 5.3333333333vw 3.2vw;
    border-radius: 2.1333333333vw;
  }
}
#overview h3,
#overview h4 {
  font-size: min(1.6vw, 20px);
  line-height: 1.4;
  font-weight: 900;
  color: #0b2a61;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #overview h3,
  #overview h4 {
    font-size: 4.8vw;
    line-height: 1.3333333333;
  }
}
#overview p {
  margin-top: min(28px, 2.24vw);
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
}
@media screen and (max-width: 767px) {
  #overview p {
    margin-top: 7.4666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
#overview p strong {
  font-weight: 700;
}
#overview p a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  #overview p a:hover {
    text-decoration: none;
  }
}
#overview div {
  height: min(280px, 22.4vw);
  overflow-y: scroll;
  margin-top: min(28px, 2.24vw);
}
@media screen and (max-width: 767px) {
  #overview div {
    height: 94.9333333333vw;
    margin-top: 7.4666666667vw;
  }
}
#overview div + h4 {
  margin-top: min(32px, 2.56vw);
}
@media screen and (max-width: 767px) {
  #overview div + h4 {
    margin-top: 8.5333333333vw;
  }
}
#overview div p {
  margin-top: 0;
}

#mainVisual {
  margin-top: min(60px, 4.8vw);
}
@media screen and (max-width: 767px) {
  #mainVisual {
    margin-top: 16vw;
  }
}
#mainVisual.top {
  height: min(400px, 32vw);
  padding: min(24px, 1.92vw) 0 0;
  background-image: url(../img/mv_back.jpg);
  background-size: min(1420px, 113.6vw) auto;
  background-repeat: repeat-x;
  background-position: min(60px, 4.8vw) center;
  animation: roop 130s linear infinite;
}
@media screen and (max-width: 767px) {
  #mainVisual.top {
    height: 112vw;
    padding: 19.7333333333vw 0;
    background-image: url(../img/mv_back_sp.jpg);
    background-size: cover;
    animation: none;
    background-position: center;
  }
}
@keyframes roop {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: max(-2130px, -170.4vw);
  }
}
#mainVisual.top h1 {
  width: min(354px, 28.32vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #mainVisual.top h1 {
    width: 67.4666666667vw;
  }
}
#mainVisual + nav {
  background-color: #0b2a61;
}
#mainVisual.department, #mainVisual.type, #mainVisual.campaign {
  width: 100%;
  background-color: #fff974;
}
#mainVisual.department img, #mainVisual.type img, #mainVisual.campaign img {
  width: min(1000px, 80vw);
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #mainVisual.department img, #mainVisual.type img, #mainVisual.campaign img {
    width: 100%;
  }
}

#about {
  margin-top: min(80px, 6.4vw);
}
@media screen and (max-width: 767px) {
  #about {
    margin-top: 12vw;
    padding: 0 5.3333333333vw;
  }
}
#about h2 {
  width: min(435px, 34.8vw);
  display: block;
  margin: 0 auto min(24px, 1.92vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  #about h2 {
    width: 62.6666666667vw;
    margin: 0 auto 3.7333333333vw;
  }
}
#about h2:before {
  content: "";
  display: block;
  width: min(70px, 5.6vw);
  height: min(40px, 3.2vw);
  position: relative;
  background-image: url(../img/icon_king.png);
  background-size: contain;
  background-repeat: no-repeat;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: min(13px, 1.04vw);
}
@media screen and (max-width: 767px) {
  #about h2:before {
    width: 18.6666666667vw;
    height: 10.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
#about h2 + p {
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.25;
  text-align: center;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #about h2 + p {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    text-align: left;
  }
}
#about h2 + p {
  color: #fff;
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #about h2 + p {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
    padding: 0 3.2vw;
    text-align: left;
  }
}
#about h2 + p span {
  color: #fff974;
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #about h2 + p span {
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}
#about .share {
  background: rgba(255, 255, 255, 0.2);
  width: min(600px, 48vw);
  margin: min(20px, 1.6vw) auto 0;
}
#about .share dl {
  padding: min(8px, 0.64vw) min(12px, 0.96vw);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #about .share dl {
    padding: 2.1333333333vw 3.2vw;
  }
}
#about .share dl dt img {
  width: auto;
}
#about .share dl dd ul {
  width: max-content;
  display: grid;
  grid-template-columns: repeat(3, min(48px, 3.84vw));
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #about .share dl dd ul {
    grid-template-columns: repeat(3, 12.8vw);
    gap: 2.1333333333vw;
  }
}
#about .share dl dd ul li {
  width: 100%;
  aspect-ratio: 1/1;
}
#about .share dl dd ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: min(9px, 0.72vw);
}
@media screen and (max-width: 767px) {
  #about .share dl dd ul li a {
    border-radius: 2.4vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  #about .share dl dd ul li a:hover {
    background-color: #fff974;
  }
}
@media screen and (max-width: 767px) {
  #about .share {
    width: 100%;
    margin: 5.3333333333vw auto 0;
  }
}
#about .share dl dt img {
  height: min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  #about .share dl dt img {
    height: 8vw;
  }
}

.banner {
  margin: min(60px, 4.8vw) auto;
  width: min(800px, 64vw);
  display: block;
}
@media screen and (max-width: 767px) {
  .banner {
    margin: 10.6666666667vw auto;
    width: 80vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  .banner:hover {
    opacity: 0.8;
  }
}

#ulos {
  width: min(1000px, 80vw);
  margin: min(60px, 4.8vw) auto 0;
  padding-bottom: min(32px, 2.56vw);
  background-color: #6DA27D;
}
@media screen and (max-width: 767px) {
  #ulos {
    margin: 10.6666666667vw auto;
    width: 100%;
    padding-bottom: 8.5333333333vw;
  }
}
#ulos h2 {
  background-color: #016b21;
  height: min(60px, 4.8vw);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #ulos h2 {
    height: 16vw;
  }
}
#ulos h2 img {
  width: min(259px, 20.72vw);
}
@media screen and (max-width: 767px) {
  #ulos h2 img {
    width: 69.0666666667vw;
  }
}
#ulos h2 + a {
  display: block;
  transition: opacity 0.3s;
  display: block;
  margin: min(24px, 1.92vw) auto 0;
  width: min(945px, 75.6vw);
}
@media screen and (max-width: 767px) {
  #ulos h2 + a {
    margin: 6.4vw auto 0;
    width: 89.3333333333vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  #ulos h2 + a:hover {
    opacity: 0.8;
  }
}
#ulos > ul {
  margin-top: min(40px, 3.2vw);
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul {
    margin-top: 6.6666666667vw;
    gap: 3.2vw;
  }
}
#ulos > ul > li:nth-child(1) a h3:before {
  background-image: url(../img/crown1.png);
}
#ulos > ul > li:nth-child(2) a h3:before {
  background-image: url(../img/crown2.png);
}
#ulos > ul > li:nth-child(3) a h3:before {
  background-image: url(../img/crown3.png);
}
#ulos > ul > li:nth-child(4) a h3:before {
  background-image: url(../img/crown4.png);
}
#ulos > ul > li:nth-child(5) a h3:before {
  background-image: url(../img/crown5.png);
}
#ulos > ul > li:nth-child(6) a h3:before {
  background-image: url(../img/crown6.png);
}
#ulos > ul > li:nth-child(7) a h3:before {
  background-image: url(../img/crown7.png);
}
#ulos > ul > li:nth-child(8) a h3:before {
  background-image: url(../img/crown8.png);
}
#ulos > ul > li:nth-child(9) a h3:before {
  background-image: url(../img/crown9.png);
}
#ulos > ul > li:nth-child(10) a h3:before {
  background-image: url(../img/crown10.png);
}
#ulos > ul > li a {
  background-color: #fff;
  width: 100%;
  border-radius: min(8px, 0.64vw);
  padding: min(20px, 1.6vw);
  display: grid;
  grid-template-columns: min(500px, 40vw) 1fr;
  grid-template-rows: auto auto 1fr auto 0 auto;
  gap: 0 min(20px, 1.6vw);
  transition: background-color 0.2s linear;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a {
    border-radius: 2.1333333333vw;
    padding: 4.2666666667vw 0 3.7333333333vw;
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-rows: auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #ulos > ul > li a:hover {
    background-color: #fff974;
  }
}
#ulos > ul > li a .slick-dotted.slick-slider {
  margin-bottom: 0;
  aspect-ratio: 500/280;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slick-dotted.slick-slider {
    aspect-ratio: 335/180;
  }
}
#ulos > ul > li a .slider {
  grid-column: 1/2;
  grid-row: 1/5;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slider {
    grid-row: 2/3;
    min-height: 0;
    min-width: 0;
    margin-top: 1.0666666667vw;
  }
}
#ulos > ul > li a .slider img {
  width: 100%;
  aspect-ratio: 500/280;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slider img {
    aspect-ratio: 335/180;
  }
}
#ulos > ul > li a .slider .slick-dots {
  bottom: min(12.25px, 0.98vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slider .slick-dots {
    bottom: 2.1333333333vw;
  }
}
#ulos > ul > li a .slider .slick-dots li {
  width: min(12.5px, 1vw);
  height: min(12.5px, 1vw);
  aspect-ratio: 1/1;
  margin: 0 min(3px, 0.24vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slider .slick-dots li {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    margin: 0 0.5333333333vw;
  }
}
#ulos > ul > li a .slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#ulos > ul > li a .slider .slick-dots li button:before {
  width: 100%;
  height: 100%;
  font-size: 0;
  line-height: 0;
  background-color: #d9d9d9;
  border-radius: 50%;
  opacity: 1;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #ulos > ul > li a .slider .slick-dots li button:hover:before {
    opacity: 0.7;
  }
}
#ulos > ul > li a .slider .slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #f3cb9c;
}
#ulos > ul > li a .slider .slick-prev,
#ulos > ul > li a .slider .slick-next {
  width: min(37.5px, 3vw);
  height: min(37.5px, 3vw);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slider .slick-prev,
  #ulos > ul > li a .slider .slick-next {
    width: 6.4vw;
    height: 6.4vw;
  }
}
#ulos > ul > li a .slider .slick-prev:before,
#ulos > ul > li a .slider .slick-next:before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='39' fill='none'%3E%3Cmask id='a' width='38' height='39' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M37.618.875H0v37.5h37.618z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='m25.04 35.25 2.781-2.773L14.93 19.625 27.821 6.773 25.04 4 9.365 19.625 25.04 35.25Z'/%3E%3C/g%3E%3C/svg%3E");
  display: block;
  font-size: 0;
  line-height: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #ulos > ul > li a .slider .slick-prev:hover:before,
  #ulos > ul > li a .slider .slick-next:hover:before {
    opacity: 0.7;
  }
}
#ulos > ul > li a .slider .slick-prev {
  left: 0;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slider .slick-prev {
    left: 3.2vw;
  }
}
#ulos > ul > li a .slider .slick-next {
  right: 0;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .slider .slick-next {
    right: 3.2vw;
  }
}
#ulos > ul > li a .slider .slick-next:before {
  transform: rotate(180deg);
}
#ulos > ul > li a h3,
#ulos > ul > li a h5 {
  grid-column: 2/3;
  grid-row: 1/2;
  display: grid;
  color: #0b2a61;
  font-size: min(1.92vw, 24px);
  line-height: 1.1666666667;
  font-weight: 700;
  display: grid;
  position: relative;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a h3,
  #ulos > ul > li a h5 {
    grid-column: 1/2;
    font-size: 4.8vw;
    line-height: 1.1111111111;
    align-items: end;
  }
}
#ulos > ul > li a h3 span,
#ulos > ul > li a h5 span {
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a h3 span,
  #ulos > ul > li a h5 span {
    font-size: 3.2vw;
    line-height: 1;
    align-self: baseline;
    margin-top: 1.6vw;
  }
}
#ulos > ul > li a h3:after,
#ulos > ul > li a h5: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.938 0h20.063v20H.938z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%230B2A61' 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;
  align-self: center;
}
#ulos > ul > li a h3 {
  grid-template-columns: min(56px, 4.48vw) 1fr min(22px, 1.76vw);
  gap: min(4px, 0.32vw) min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a h3 {
    grid-template-columns: 11.7333333333vw 1fr 5.3333333333vw;
    gap: 0vw 2.1333333333vw;
    padding: 0 2.1333333333vw 1.3333333333vw;
  }
}
#ulos > ul > li a h3:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  grid-row: 1/3;
  align-self: center;
}
#ulos > ul > li a h3:after {
  grid-column: 3/4;
}
#ulos > ul > li a h3 span {
  grid-column: 2/3;
}
#ulos > ul > li a h5 {
  grid-template-columns: 1fr min(16px, 1.28vw);
  gap: min(4px, 0.32vw) min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a h5 {
    grid-template-columns: 1fr 5.3333333333vw;
    gap: 0vw 2.1333333333vw;
    padding: 0 2.1333333333vw 1.3333333333vw;
  }
}
#ulos > ul > li a h5:after {
  grid-column: 2/3;
}
#ulos > ul > li a h5 span {
  grid-column: 1/2;
}
#ulos > ul > li a .feature {
  background: #f1f1f1;
  padding: min(12px, 0.96vw) 0;
  grid-column: 1/2;
  grid-row: 6/7;
  margin-top: min(11px, 0.88vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .feature {
    grid-column: 1/2;
    grid-row: 5/6;
    padding: 3.2vw 0;
    margin: 3.2vw auto 0;
    width: calc(100% - 4.2666666667vw);
  }
}
#ulos > ul > li a .feature dt {
  font-size: min(0.96vw, 12px);
  line-height: 1;
  color: #0b2a61;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .feature dt {
    font-size: 3.2vw;
    line-height: 1;
  }
}
#ulos > ul > li a .feature dd {
  margin-top: min(8px, 0.64vw);
  width: 100%;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .feature dd {
    margin-top: 2.1333333333vw;
  }
}
#ulos > ul > li a .feature dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: min(4px, 0.32vw);
  justify-content: center;
  padding: 0 min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .feature dd ul {
    padding: 0 1.4666666667vw;
    gap: 1.0666666667vw;
  }
}
#ulos > ul > li a .feature dd ul li {
  padding: min(4px, 0.32vw) min(8px, 0.64vw);
  background: #fff;
  border-radius: min(4px, 0.32vw);
  font-size: min(1.12vw, 14px);
  line-height: 1;
  color: #0b2a61;
  font-weight: 500;
  width: max-content;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .feature dd ul li {
    padding: 1.0666666667vw 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1;
    border-radius: 1.0666666667vw;
  }
}
#ulos > ul > li a h4 {
  font-size: min(1.44vw, 18px);
  line-height: 1.1111111111;
  font-weight: 700;
  color: #0b2a61;
  grid-column: 2/3;
  grid-row: 2/3;
  margin-top: min(18px, 1.44vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a h4 {
    grid-column: 1/2;
    grid-row: 3/4;
    margin-top: 3.2vw;
    padding: 0 2.1333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.25;
  }
}
#ulos > ul > li a p {
  grid-column: 2/3;
  grid-row: 3/4;
  font-weight: 400;
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a p {
    grid-column: 1/2;
    grid-row: 4/5;
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    padding: 0 2.1333333333vw;
  }
}
#ulos > ul > li a .button {
  grid-column: 2/3;
  grid-row: 4/7;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button {
    grid-column: 1/2;
    grid-row: 6/7;
    margin-top: 3.2vw;
    padding: 0 2.1333333333vw;
  }
}
#ulos > ul > li a .button ul {
  display: flex;
  gap: min(6px, 0.48vw);
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button ul {
    gap: 1.6vw;
  }
}
#ulos > ul > li a .button ul li a {
  display: grid;
  width: 100%;
  grid-template-columns: min(28px, 2.24vw) 1fr min(8px, 0.64vw);
  color: #fff;
  font-weight: 700;
  font-size: min(1.28vw, 16px);
  line-height: 2.75;
  border-radius: min(4px, 0.32vw);
  padding: 0 min(18px, 1.44vw) 0 min(12px, 0.96vw);
  position: relative;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  transition: opacity 0.2s linear;
  margin-bottom: min(2px, 0.16vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button ul li a {
    margin-bottom: 0.5333333333vw;
    display: block;
    padding: 0;
    border-radius: 1.0666666667vw;
    font-size: 4.2666666667vw;
    line-height: 2.375;
  }
}
@media (hover: hover) and (pointer: fine) {
  #ulos > ul > li a .button ul li a:hover {
    opacity: 0.7;
  }
}
#ulos > ul > li a .button ul li a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button ul li a:before {
    display: none;
  }
}
#ulos > ul > li a .button ul li a:after {
  content: "";
  width: 100%;
  aspect-ratio: 7.85/13.33;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' fill='none'%3E%3Cpath fill='%23fff' d='M1.183 13.667 0 12.483 5.483 7 0 1.517 1.183.333 7.85 7l-6.667 6.667Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button ul li a:after {
    display: none;
  }
}
#ulos > ul > li a .button ul li a.ticket {
  background-color: #0b82b5;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button ul li a.ticket {
    box-shadow: 0 0.5333333333vw 0 0 #006590;
  }
}
#ulos > ul > li a .button ul li a.ticket:before {
  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' fill-rule='evenodd' d='M21.77 4.206c-.725-.719-1.107-1.781-1.527-3.57-.42 1.789-.802 2.851-1.521 3.57-.72.72-1.782 1.101-3.57 1.521 1.788.42 2.844.796 3.57 1.521.725.726 1.1 1.788 1.52 3.57.42-1.782.809-2.85 1.528-3.57.72-.719 1.782-1.1 3.564-1.52-1.782-.42-2.838-.803-3.564-1.522Zm4.098 7.395a5.461 5.461 0 0 1-.852-2.456 5.548 5.548 0 0 1-.86 2.456c-.54.547-1.247.91-2.004 1.043a3.735 3.735 0 0 1 2.004 1.044c.478.738.77 1.578.86 2.457a5.46 5.46 0 0 1 .852-2.457 3.71 3.71 0 0 1 2.011-1.043 3.71 3.71 0 0 1-2.01-1.044ZM14.02 7.579c1.031-.095 2.864.16 3.455 1.75.236.636.599 1.744 1.076 3.29.064.204 1.075 4.213 1.075 4.448v4.137a.895.895 0 0 1-.273.623.89.89 0 0 1-.63.255H.904a.93.93 0 0 1-.637-.268.88.88 0 0 1-.267-.636V8.476a.88.88 0 0 1 .267-.636c.172-.165.401-.26.637-.26h13.115Zm.14 1.795H1.807v1.89h14.35c-.184-.694-.324-1.19-.375-1.305-.255-.687-1.623-.585-1.623-.585ZM1.807 20.28h16.011v-2.47s-.464-1.87-.948-3.786H1.807v6.256Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}
#ulos > ul > li a .button ul li a.coupon {
  background-color: #bf0000;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #8d0d10;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button ul li a.coupon {
    box-shadow: 0 0.5333333333vw 0 0 #8d0d10;
  }
}
#ulos > ul > li a .button ul li a.coupon:before {
  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-.719-.726v-1.018a.719.719 0 1 1 1.438 0v1.018a.72.72 0 0 1-.719.726ZM7.84 12.562a.718.718 0 0 1-.719-.726v-1.018a.713.713 0 0 1 .72-.719.713.713 0 0 1 .718.72v1.017a.72.72 0 0 1-.719.726ZM25.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-.803 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-.719-.719v-1.018a.72.72 0 1 1 1.438 0v1.018a.72.72 0 0 1-.719.72Z'/%3E%3C/svg%3E");
}
#ulos > ul > li a .button ul li a.facility {
  background-color: #fff;
  border: min(1px, 0.08vw) solid #0b2a61;
  color: #0b2a61;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button ul li a.facility {
    border: 0.2666666667vw solid #0b2a61;
  }
}
#ulos > ul {
  width: min(960px, 76.8vw);
  margin: min(24px, 1.92vw) auto 0;
}
@media screen and (max-width: 767px) {
  #ulos > ul {
    width: 89.3333333333vw;
    margin: 6.4vw auto 0;
  }
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a {
    padding-top: 2.6666666667vw;
  }
}
#ulos > ul > li a h3 {
  grid-template-columns: 1fr min(16px, 1.28vw);
  gap: min(4px, 0.32vw) min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a h3 {
    grid-template-columns: 1fr 5.3333333333vw;
    gap: 0vw 2.1333333333vw;
  }
}
#ulos > ul > li a h3:after {
  grid-column: 2/3;
}
#ulos > ul > li a h3 span {
  grid-column: 1/2;
}
#ulos > ul > li a h3:before {
  display: none;
}
#ulos > ul > li a .comment {
  grid-column: 2/3;
  grid-row: 4/5;
  background: rgba(255, 249, 116, 0.4);
  padding: min(8px, 0.64vw) min(16px, 1.28vw);
  border-radius: min(8px, 0.64vw);
  margin-top: min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .comment {
    grid-column: 1/2;
    grid-row: 5/6;
    padding: 2.1333333333vw;
    border-radius: 2.1333333333vw;
    margin: 4.2666666667vw auto 0;
    width: 85.8666666667vw;
  }
}
#ulos > ul > li a .comment dl {
  display: grid;
  grid-template-columns: min(40px, 3.2vw) 1fr;
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .comment dl {
    gap: 2.1333333333vw;
    grid-template-columns: 10.6666666667vw 1fr;
  }
}
#ulos > ul > li a .comment dl dd {
  font-size: min(1.04vw, 13px);
  line-height: 1.5384615385;
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .comment dl dd {
    font-size: 3.4666666667vw;
    line-height: 1.5384615385;
  }
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .feature {
    grid-row: 6/7;
  }
}
@media screen and (max-width: 767px) {
  #ulos > ul > li a .button {
    grid-row: 7/8;
  }
}

.general h2 {
  width: min(245px, 19.6vw);
  display: block;
  margin: 0 auto min(24px, 1.92vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  .general h2 {
    width: 53.3333333333vw;
    margin: 0 auto 3.7333333333vw;
  }
}
.general h2:before {
  content: "";
  display: block;
  width: min(70px, 5.6vw);
  height: min(40px, 3.2vw);
  position: relative;
  background-image: url(../img/icon_king.png);
  background-size: contain;
  background-repeat: no-repeat;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: min(13px, 1.04vw);
}
@media screen and (max-width: 767px) {
  .general h2:before {
    width: 18.6666666667vw;
    height: 10.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.general h2 + p {
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.25;
  text-align: center;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .general h2 + p {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    text-align: left;
  }
}

.newopen h2 {
  width: min(244px, 19.52vw);
  display: block;
  margin: 0 auto min(24px, 1.92vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  .newopen h2 {
    width: 50.6666666667vw;
    margin: 0 auto 3.7333333333vw;
  }
}
.newopen h2:before {
  content: "";
  display: block;
  width: min(70px, 5.6vw);
  height: min(40px, 3.2vw);
  position: relative;
  background-image: url(../img/icon_king.png);
  background-size: contain;
  background-repeat: no-repeat;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: min(13px, 1.04vw);
}
@media screen and (max-width: 767px) {
  .newopen h2:before {
    width: 18.6666666667vw;
    height: 10.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.newopen h2 + p {
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.25;
  text-align: center;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .newopen h2 + p {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .newopen h2 + p {
    margin: 6.4vw auto 0;
    width: 78.6666666667vw;
  }
}
.newopen .share {
  background: rgba(255, 255, 255, 0.2);
  width: min(600px, 48vw);
  margin: min(20px, 1.6vw) auto 0;
}
.newopen .share dl {
  padding: min(8px, 0.64vw) min(12px, 0.96vw);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .newopen .share dl {
    padding: 2.1333333333vw 3.2vw;
  }
}
.newopen .share dl dt img {
  width: auto;
}
.newopen .share dl dd ul {
  width: max-content;
  display: grid;
  grid-template-columns: repeat(3, min(48px, 3.84vw));
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  .newopen .share dl dd ul {
    grid-template-columns: repeat(3, 12.8vw);
    gap: 2.1333333333vw;
  }
}
.newopen .share dl dd ul li {
  width: 100%;
  aspect-ratio: 1/1;
}
.newopen .share dl dd ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: min(9px, 0.72vw);
}
@media screen and (max-width: 767px) {
  .newopen .share dl dd ul li a {
    border-radius: 2.4vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  .newopen .share dl dd ul li a:hover {
    background-color: #fff974;
  }
}
@media screen and (max-width: 767px) {
  .newopen .share {
    width: 100%;
    margin: 5.3333333333vw auto 0;
  }
}
.newopen .share dl dt img {
  height: min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  .newopen .share dl dt img {
    height: 8vw;
  }
}

.private h2 {
  width: min(229px, 18.32vw);
  display: block;
  margin: 0 auto min(24px, 1.92vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  .private h2 {
    width: 49.0666666667vw;
    margin: 0 auto 3.7333333333vw;
  }
}
.private h2:before {
  content: "";
  display: block;
  width: min(70px, 5.6vw);
  height: min(40px, 3.2vw);
  position: relative;
  background-image: url(../img/icon_king.png);
  background-size: contain;
  background-repeat: no-repeat;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: min(13px, 1.04vw);
}
@media screen and (max-width: 767px) {
  .private h2:before {
    width: 18.6666666667vw;
    height: 10.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.private h2 + p {
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.25;
  text-align: center;
  color: #fff;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .private h2 + p {
    margin-top: 3.2vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .private h2 + p {
    margin: 6.4vw auto 0;
    width: 78.6666666667vw;
  }
}
.private .share {
  background: rgba(255, 255, 255, 0.2);
  width: min(600px, 48vw);
  margin: min(20px, 1.6vw) auto 0;
}
.private .share dl {
  padding: min(8px, 0.64vw) min(12px, 0.96vw);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .private .share dl {
    padding: 2.1333333333vw 3.2vw;
  }
}
.private .share dl dt img {
  width: auto;
}
.private .share dl dd ul {
  width: max-content;
  display: grid;
  grid-template-columns: repeat(3, min(48px, 3.84vw));
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  .private .share dl dd ul {
    grid-template-columns: repeat(3, 12.8vw);
    gap: 2.1333333333vw;
  }
}
.private .share dl dd ul li {
  width: 100%;
  aspect-ratio: 1/1;
}
.private .share dl dd ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: min(9px, 0.72vw);
}
@media screen and (max-width: 767px) {
  .private .share dl dd ul li a {
    border-radius: 2.4vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  .private .share dl dd ul li a:hover {
    background-color: #fff974;
  }
}
@media screen and (max-width: 767px) {
  .private .share {
    width: 100%;
    margin: 5.3333333333vw auto 0;
  }
}
.private .share dl dt img {
  height: min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  .private .share dl dt img {
    height: 8vw;
  }
}

#questionAbout {
  width: min(680px, 54.4vw);
  margin: min(60px, 4.8vw) auto 0;
  display: flex;
  flex-direction: column;
  gap: min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  #questionAbout {
    width: 82.9333333333vw;
    margin-top: 11.7333333333vw;
  }
  #questionAbout > img:first-of-type {
    width: 77.8666666667vw;
    margin: 0 auto;
  }
  #questionAbout h2 {
    width: 77.8666666667vw;
    margin: 2.1333333333vw auto;
  }
}
#questionAbout p {
  color: #fff;
  font-size: min(1.12vw, 14px);
  line-height: 1.7142857143;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #questionAbout p {
    margin-top: 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
#questionAbout p strong {
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
  color: #FFF974;
}
@media screen and (max-width: 767px) {
  #questionAbout p strong {
    font-size: 4.2666666667vw;
    line-height: 1.5;
  }
}

#question {
  margin: min(44px, 3.52vw) auto 0;
}
@media screen and (max-width: 767px) {
  #question {
    margin: 11.7333333333vw 0 16vw;
  }
}
#question h2 {
  margin: 0 auto;
  background-color: #fff974;
  padding: min(8px, 0.64vw) min(24px, 1.92vw);
  border-radius: min(30px, 2.4vw);
  width: max-content;
}
@media screen and (max-width: 767px) {
  #question h2 {
    padding: 2.1333333333vw 6.4vw;
    border-radius: 8vw;
  }
}
#question h2 img {
  width: min(300px, 24vw);
}
@media screen and (max-width: 767px) {
  #question h2 img {
    width: 60vw;
  }
}
#question .questionList {
  width: min(680px, 54.4vw);
  margin: min(40px, 3.2vw) auto min(60px, 4.8vw);
  border-radius: min(8px, 0.64vw);
  background: #fff;
  padding: min(40px, 3.2vw);
  display: flex;
  flex-direction: column;
  gap: min(24px, 1.92vw);
}
@media screen and (max-width: 767px) {
  #question .questionList {
    margin: 6.4vw auto 6.4vw;
    width: 89.3333333333vw;
    padding: 5.3333333333vw 3.2vw;
    gap: 4.2666666667vw;
  }
}
#question .questionList .questionItem {
  display: none;
}
#question .questionList .questionItem.active {
  display: block;
}
#question .questionList .questionItem p {
  border-radius: 50%;
  border: min(4px, 0.32vw) solid #0b2a61;
  color: #0b2a61;
  font-size: min(2.24vw, 28px);
  line-height: 1;
  width: min(56px, 4.48vw);
  aspect-ratio: 1/1;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #question .questionList .questionItem p {
    width: 14.9333333333vw;
    aspect-ratio: 1/1;
    border: 1.0666666667vw solid #0b2a61;
    font-size: 7.4666666667vw;
    line-height: 1;
  }
}
#question .questionList .questionItem h3 {
  margin-top: min(24px, 1.92vw);
  color: #0b2a61;
  font-size: min(2.56vw, 32px);
  line-height: 1.5;
  text-align: center;
  font-weight: 700;
  letter-spacing: -0.352px;
}
@media screen and (max-width: 767px) {
  #question .questionList .questionItem h3 {
    margin-top: 4.2666666667vw;
    font-size: 5.3333333333vw;
    line-height: 1.5;
    letter-spacing: -0.22px;
  }
}
#question .questionList .questionItem .answer {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(8px, 0.64vw);
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: min(24px, 1.92vw);
}
@media screen and (max-width: 767px) {
  #question .questionList .questionItem .answer {
    margin-top: 4.2666666667vw;
    gap: 2.1333333333vw;
  }
}
#question .questionList .questionItem .answer span,
#question .questionList .questionItem .answer a {
  border-radius: min(4px, 0.32vw);
  background: #fff974;
  padding: min(9px, 0.72vw) 0;
  font-size: min(1.6vw, 20px);
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: -0.22px;
  color: #0b2a61;
  text-align: center;
  transition: opacity 0.3s ease;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #question .questionList .questionItem .answer span,
  #question .questionList .questionItem .answer a {
    border-radius: 1.0666666667vw;
    padding: 0.8vw 0;
    font-size: 5.3333333333vw;
    line-height: 1.5;
    letter-spacing: -0.22px;
  }
}
@media (hover: hover) and (pointer: fine) {
  #question .questionList .questionItem .answer span:hover,
  #question .questionList .questionItem .answer a:hover {
    opacity: 0.7;
  }
}
#question .questionList .questionLoading {
  display: none;
}
#question .questionList .questionLoading.active {
  display: block;
}
#question .questionList .questionLoading img {
  width: min(200px, 16vw);
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #question .questionList .questionLoading img {
    width: 48vw;
  }
}
#question .share {
  background: rgba(255, 255, 255, 0.2);
  width: min(600px, 48vw);
  margin: 0 auto min(60px, 4.8vw);
}
#question .share dl {
  padding: min(8px, 0.64vw) min(12px, 0.96vw);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #question .share dl {
    padding: 2.1333333333vw 3.2vw;
  }
}
#question .share dl dt img {
  width: auto;
}
#question .share dl dd ul {
  width: max-content;
  display: grid;
  grid-template-columns: repeat(3, min(48px, 3.84vw));
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #question .share dl dd ul {
    grid-template-columns: repeat(3, 12.8vw);
    gap: 2.1333333333vw;
  }
}
#question .share dl dd ul li {
  width: 100%;
  aspect-ratio: 1/1;
}
#question .share dl dd ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: min(9px, 0.72vw);
}
@media screen and (max-width: 767px) {
  #question .share dl dd ul li a {
    border-radius: 2.4vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  #question .share dl dd ul li a:hover {
    background-color: #fff974;
  }
}
@media screen and (max-width: 767px) {
  #question .share {
    width: 89.3333333333vw;
    margin: 0 auto 10.6666666667vw;
  }
}
#question .share dl dt img {
  height: min(16px, 1.28vw);
}
@media screen and (max-width: 767px) {
  #question .share dl dt img {
    height: 8vw;
  }
}

#questionAnswer {
  text-align: center;
  width: min(680px, 54.4vw);
  margin: min(30px, 2.4vw) auto 0;
}
@media screen and (max-width: 767px) {
  #questionAnswer {
    width: 89.3333333333vw;
    padding-top: 11.7333333333vw;
    margin-top: 0;
  }
}
#questionAnswer > dl > dt {
  display: block;
  margin: 0 auto;
  width: min(400px, 32vw);
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl > dt {
    width: 80vw;
  }
}
#questionAnswer > dl > dd {
  margin: min(24px, 1.92vw) auto;
  display: block;
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl > dd {
    margin-top: 3.7333333333vw;
  }
}
#questionAnswer > dl > dd h2 {
  width: 100%;
  grid-row: 1/3;
  animation: zoomIn 2s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes zoomIn {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  50% {
    transform: scale(0.8);
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
#questionAnswer > dl > dd dl {
  padding: min(8px, 0.64vw) min(12px, 0.96vw);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl > dd dl {
    padding: 2.1333333333vw 3.2vw;
  }
}
#questionAnswer > dl > dd dl dt img {
  width: auto;
}
#questionAnswer > dl > dd dl dd ul {
  width: max-content;
  display: grid;
  grid-template-columns: repeat(3, min(48px, 3.84vw));
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl > dd dl dd ul {
    grid-template-columns: repeat(3, 12.8vw);
    gap: 2.1333333333vw;
  }
}
#questionAnswer > dl > dd dl dd ul li {
  width: 100%;
  aspect-ratio: 1/1;
}
#questionAnswer > dl > dd dl dd ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  border-radius: min(9px, 0.72vw);
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl > dd dl dd ul li a {
    border-radius: 2.4vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  #questionAnswer > dl > dd dl dd ul li a:hover {
    background-color: #fff974;
  }
}
#questionAnswer > dl > dd .share {
  margin: min(30px, 2.4vw) auto 0;
  align-self: flex-start;
  width: min(360px, 28.8vw);
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl > dd .share {
    margin-top: 5.3333333333vw;
    width: 100%;
  }
}
#questionAnswer > dl > dd dl dt img {
  height: min(32px, 2.56vw);
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl > dd dl dt img {
    height: 7.8666666667vw;
  }
}
#questionAnswer > dl .retry {
  margin: min(10px, 0.8vw) auto 0;
  width: min(335px, 26.8vw);
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl .retry {
    margin-top: 5.3333333333vw;
    width: 100%;
  }
}
#questionAnswer > dl .retry a {
  display: grid;
  align-items: center;
  justify-content: center;
  grid-template-columns: min(24px, 1.92vw) auto;
  gap: min(16px, 1.28vw);
  background-color: #fff;
  font-size: min(1.28vw, 16px);
  line-height: 3;
  border-radius: min(8px, 0.64vw);
  font-weight: 700;
  color: #0b2a61;
  transition: background-color 0.2s linear;
}
@media screen and (max-width: 767px) {
  #questionAnswer > dl .retry a {
    grid-template-columns: 6.4vw auto;
    gap: 4.2666666667vw;
    font-size: 4.2666666667vw;
    line-height: 3;
    border-radius: 2.1333333333vw;
  }
}
#questionAnswer > dl .retry a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='24' fill='none'%3E%3Cmask id='a' width='25' height='24' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M.5 0h24v24H.5z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%231C1B1F' d='M7.5 19v-2h7.1c1.05 0 1.963-.333 2.737-1 .776-.667 1.163-1.5 1.163-2.5s-.387-1.833-1.163-2.5c-.774-.667-1.687-1-2.737-1H8.3l2.6 2.6L9.5 14l-5-5 5-5 1.4 1.4L8.3 8h6.3c1.617 0 3.004.525 4.162 1.575 1.159 1.05 1.738 2.358 1.738 3.925 0 1.567-.58 2.875-1.738 3.925C17.604 18.475 16.218 19 14.6 19H7.5Z'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  #questionAnswer > dl .retry a:hover {
    background-color: #fff974;
  }
}

#typeRecommend {
  width: min(1000px, 80vw);
  margin: min(100px, 8vw) auto 0;
}
@media screen and (max-width: 767px) {
  #typeRecommend {
    margin-top: 21.3333333333vw;
    width: 100%;
  }
}
#typeRecommend h3 {
  margin: 0 auto 0;
  background-color: #fff974;
  padding: min(8px, 0.64vw) min(24px, 1.92vw);
  border-radius: min(30px, 2.4vw);
  width: max-content;
}
@media screen and (max-width: 767px) {
  #typeRecommend h3 {
    padding: 2.1333333333vw 6.4vw;
    border-radius: 8vw;
  }
}
#typeRecommend h3 img {
  width: min(336px, 26.88vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend h3 img {
    width: 65.8666666667vw;
  }
}
#typeRecommend h4 {
  margin: min(16px, 1.28vw) auto 0;
  display: block;
  width: min(500px, 40vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend h4 {
    margin-top: 2.1333333333vw;
    width: 97.3333333333vw;
  }
}
#typeRecommend > ul {
  margin-top: min(40px, 3.2vw);
  display: flex;
  flex-direction: column;
  gap: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul {
    margin-top: 6.6666666667vw;
    gap: 3.2vw;
  }
}
#typeRecommend > ul > li:nth-child(1) a h3:before {
  background-image: url(../img/crown1.png);
}
#typeRecommend > ul > li:nth-child(2) a h3:before {
  background-image: url(../img/crown2.png);
}
#typeRecommend > ul > li:nth-child(3) a h3:before {
  background-image: url(../img/crown3.png);
}
#typeRecommend > ul > li:nth-child(4) a h3:before {
  background-image: url(../img/crown4.png);
}
#typeRecommend > ul > li:nth-child(5) a h3:before {
  background-image: url(../img/crown5.png);
}
#typeRecommend > ul > li:nth-child(6) a h3:before {
  background-image: url(../img/crown6.png);
}
#typeRecommend > ul > li:nth-child(7) a h3:before {
  background-image: url(../img/crown7.png);
}
#typeRecommend > ul > li:nth-child(8) a h3:before {
  background-image: url(../img/crown8.png);
}
#typeRecommend > ul > li:nth-child(9) a h3:before {
  background-image: url(../img/crown9.png);
}
#typeRecommend > ul > li:nth-child(10) a h3:before {
  background-image: url(../img/crown10.png);
}
#typeRecommend > ul > li a {
  background-color: #fff;
  width: 100%;
  border-radius: min(8px, 0.64vw);
  padding: min(20px, 1.6vw);
  display: grid;
  grid-template-columns: min(500px, 40vw) 1fr;
  grid-template-rows: auto auto 1fr auto 0 auto;
  gap: 0 min(20px, 1.6vw);
  transition: background-color 0.2s linear;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a {
    border-radius: 2.1333333333vw;
    padding: 4.2666666667vw 0 3.7333333333vw;
    grid-template-columns: 1fr;
    gap: 0;
    grid-template-rows: auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  #typeRecommend > ul > li a:hover {
    background-color: #fff974;
  }
}
#typeRecommend > ul > li a .slick-dotted.slick-slider {
  margin-bottom: 0;
  aspect-ratio: 500/280;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slick-dotted.slick-slider {
    aspect-ratio: 335/180;
  }
}
#typeRecommend > ul > li a .slider {
  grid-column: 1/2;
  grid-row: 1/5;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slider {
    grid-row: 2/3;
    min-height: 0;
    min-width: 0;
    margin-top: 1.0666666667vw;
  }
}
#typeRecommend > ul > li a .slider img {
  width: 100%;
  aspect-ratio: 500/280;
  object-fit: cover;
  object-position: center;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slider img {
    aspect-ratio: 335/180;
  }
}
#typeRecommend > ul > li a .slider .slick-dots {
  bottom: min(12.25px, 0.98vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slider .slick-dots {
    bottom: 2.1333333333vw;
  }
}
#typeRecommend > ul > li a .slider .slick-dots li {
  width: min(12.5px, 1vw);
  height: min(12.5px, 1vw);
  aspect-ratio: 1/1;
  margin: 0 min(3px, 0.24vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slider .slick-dots li {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    margin: 0 0.5333333333vw;
  }
}
#typeRecommend > ul > li a .slider .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
}
#typeRecommend > ul > li a .slider .slick-dots li button:before {
  width: 100%;
  height: 100%;
  font-size: 0;
  line-height: 0;
  background-color: #d9d9d9;
  border-radius: 50%;
  opacity: 1;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #typeRecommend > ul > li a .slider .slick-dots li button:hover:before {
    opacity: 0.7;
  }
}
#typeRecommend > ul > li a .slider .slick-dots li.slick-active button:before {
  opacity: 1;
  background-color: #f3cb9c;
}
#typeRecommend > ul > li a .slider .slick-prev,
#typeRecommend > ul > li a .slider .slick-next {
  width: min(37.5px, 3vw);
  height: min(37.5px, 3vw);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slider .slick-prev,
  #typeRecommend > ul > li a .slider .slick-next {
    width: 6.4vw;
    height: 6.4vw;
  }
}
#typeRecommend > ul > li a .slider .slick-prev:before,
#typeRecommend > ul > li a .slider .slick-next:before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='39' fill='none'%3E%3Cmask id='a' width='38' height='39' x='0' y='0' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M37.618.875H0v37.5h37.618z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%23fff' d='m25.04 35.25 2.781-2.773L14.93 19.625 27.821 6.773 25.04 4 9.365 19.625 25.04 35.25Z'/%3E%3C/g%3E%3C/svg%3E");
  display: block;
  font-size: 0;
  line-height: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #typeRecommend > ul > li a .slider .slick-prev:hover:before,
  #typeRecommend > ul > li a .slider .slick-next:hover:before {
    opacity: 0.7;
  }
}
#typeRecommend > ul > li a .slider .slick-prev {
  left: 0;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slider .slick-prev {
    left: 3.2vw;
  }
}
#typeRecommend > ul > li a .slider .slick-next {
  right: 0;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .slider .slick-next {
    right: 3.2vw;
  }
}
#typeRecommend > ul > li a .slider .slick-next:before {
  transform: rotate(180deg);
}
#typeRecommend > ul > li a h3,
#typeRecommend > ul > li a h5 {
  grid-column: 2/3;
  grid-row: 1/2;
  display: grid;
  color: #0b2a61;
  font-size: min(1.92vw, 24px);
  line-height: 1.1666666667;
  font-weight: 700;
  display: grid;
  position: relative;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a h3,
  #typeRecommend > ul > li a h5 {
    grid-column: 1/2;
    font-size: 4.8vw;
    line-height: 1.1111111111;
    align-items: end;
  }
}
#typeRecommend > ul > li a h3 span,
#typeRecommend > ul > li a h5 span {
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a h3 span,
  #typeRecommend > ul > li a h5 span {
    font-size: 3.2vw;
    line-height: 1;
    align-self: baseline;
    margin-top: 1.6vw;
  }
}
#typeRecommend > ul > li a h3:after,
#typeRecommend > ul > li a h5: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.938 0h20.063v20H.938z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%230B2A61' 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;
  align-self: center;
}
#typeRecommend > ul > li a h3 {
  grid-template-columns: min(56px, 4.48vw) 1fr min(22px, 1.76vw);
  gap: min(4px, 0.32vw) min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a h3 {
    grid-template-columns: 11.7333333333vw 1fr 5.3333333333vw;
    gap: 0vw 2.1333333333vw;
    padding: 0 2.1333333333vw 1.3333333333vw;
  }
}
#typeRecommend > ul > li a h3:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  grid-row: 1/3;
  align-self: center;
}
#typeRecommend > ul > li a h3:after {
  grid-column: 3/4;
}
#typeRecommend > ul > li a h3 span {
  grid-column: 2/3;
}
#typeRecommend > ul > li a h5 {
  grid-template-columns: 1fr min(16px, 1.28vw);
  gap: min(4px, 0.32vw) min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a h5 {
    grid-template-columns: 1fr 5.3333333333vw;
    gap: 0vw 2.1333333333vw;
    padding: 0 2.1333333333vw 1.3333333333vw;
  }
}
#typeRecommend > ul > li a h5:after {
  grid-column: 2/3;
}
#typeRecommend > ul > li a h5 span {
  grid-column: 1/2;
}
#typeRecommend > ul > li a .feature {
  background: #f1f1f1;
  padding: min(12px, 0.96vw) 0;
  grid-column: 1/2;
  grid-row: 6/7;
  margin-top: min(11px, 0.88vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .feature {
    grid-column: 1/2;
    grid-row: 5/6;
    padding: 3.2vw 0;
    margin: 3.2vw auto 0;
    width: calc(100% - 4.2666666667vw);
  }
}
#typeRecommend > ul > li a .feature dt {
  font-size: min(0.96vw, 12px);
  line-height: 1;
  color: #0b2a61;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .feature dt {
    font-size: 3.2vw;
    line-height: 1;
  }
}
#typeRecommend > ul > li a .feature dd {
  margin-top: min(8px, 0.64vw);
  width: 100%;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .feature dd {
    margin-top: 2.1333333333vw;
  }
}
#typeRecommend > ul > li a .feature dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: min(4px, 0.32vw);
  justify-content: center;
  padding: 0 min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .feature dd ul {
    padding: 0 1.4666666667vw;
    gap: 1.0666666667vw;
  }
}
#typeRecommend > ul > li a .feature dd ul li {
  padding: min(4px, 0.32vw) min(8px, 0.64vw);
  background: #fff;
  border-radius: min(4px, 0.32vw);
  font-size: min(1.12vw, 14px);
  line-height: 1;
  color: #0b2a61;
  font-weight: 500;
  width: max-content;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .feature dd ul li {
    padding: 1.0666666667vw 2.1333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1;
    border-radius: 1.0666666667vw;
  }
}
#typeRecommend > ul > li a h4 {
  font-size: min(1.44vw, 18px);
  line-height: 1.1111111111;
  font-weight: 700;
  color: #0b2a61;
  grid-column: 2/3;
  grid-row: 2/3;
  margin-top: min(18px, 1.44vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a h4 {
    grid-column: 1/2;
    grid-row: 3/4;
    margin-top: 3.2vw;
    padding: 0 2.1333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1.25;
  }
}
#typeRecommend > ul > li a p {
  grid-column: 2/3;
  grid-row: 3/4;
  font-weight: 400;
  margin-top: min(16px, 1.28vw);
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a p {
    grid-column: 1/2;
    grid-row: 4/5;
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    padding: 0 2.1333333333vw;
  }
}
#typeRecommend > ul > li a .button {
  grid-column: 2/3;
  grid-row: 4/7;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button {
    grid-column: 1/2;
    grid-row: 6/7;
    margin-top: 3.2vw;
    padding: 0 2.1333333333vw;
  }
}
#typeRecommend > ul > li a .button ul {
  display: flex;
  gap: min(6px, 0.48vw);
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button ul {
    gap: 1.6vw;
  }
}
#typeRecommend > ul > li a .button ul li a {
  display: grid;
  width: 100%;
  grid-template-columns: min(28px, 2.24vw) 1fr min(8px, 0.64vw);
  color: #fff;
  font-weight: 700;
  font-size: min(1.28vw, 16px);
  line-height: 2.75;
  border-radius: min(4px, 0.32vw);
  padding: 0 min(18px, 1.44vw) 0 min(12px, 0.96vw);
  position: relative;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  transition: opacity 0.2s linear;
  margin-bottom: min(2px, 0.16vw);
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button ul li a {
    margin-bottom: 0.5333333333vw;
    display: block;
    padding: 0;
    border-radius: 1.0666666667vw;
    font-size: 4.2666666667vw;
    line-height: 2.375;
  }
}
@media (hover: hover) and (pointer: fine) {
  #typeRecommend > ul > li a .button ul li a:hover {
    opacity: 0.7;
  }
}
#typeRecommend > ul > li a .button ul li a:before {
  content: "";
  width: 100%;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button ul li a:before {
    display: none;
  }
}
#typeRecommend > ul > li a .button ul li a:after {
  content: "";
  width: 100%;
  aspect-ratio: 7.85/13.33;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='14' fill='none'%3E%3Cpath fill='%23fff' d='M1.183 13.667 0 12.483 5.483 7 0 1.517 1.183.333 7.85 7l-6.667 6.667Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button ul li a:after {
    display: none;
  }
}
#typeRecommend > ul > li a .button ul li a.ticket {
  background-color: #0b82b5;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #006590;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button ul li a.ticket {
    box-shadow: 0 0.5333333333vw 0 0 #006590;
  }
}
#typeRecommend > ul > li a .button ul li a.ticket:before {
  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' fill-rule='evenodd' d='M21.77 4.206c-.725-.719-1.107-1.781-1.527-3.57-.42 1.789-.802 2.851-1.521 3.57-.72.72-1.782 1.101-3.57 1.521 1.788.42 2.844.796 3.57 1.521.725.726 1.1 1.788 1.52 3.57.42-1.782.809-2.85 1.528-3.57.72-.719 1.782-1.1 3.564-1.52-1.782-.42-2.838-.803-3.564-1.522Zm4.098 7.395a5.461 5.461 0 0 1-.852-2.456 5.548 5.548 0 0 1-.86 2.456c-.54.547-1.247.91-2.004 1.043a3.735 3.735 0 0 1 2.004 1.044c.478.738.77 1.578.86 2.457a5.46 5.46 0 0 1 .852-2.457 3.71 3.71 0 0 1 2.011-1.043 3.71 3.71 0 0 1-2.01-1.044ZM14.02 7.579c1.031-.095 2.864.16 3.455 1.75.236.636.599 1.744 1.076 3.29.064.204 1.075 4.213 1.075 4.448v4.137a.895.895 0 0 1-.273.623.89.89 0 0 1-.63.255H.904a.93.93 0 0 1-.637-.268.88.88 0 0 1-.267-.636V8.476a.88.88 0 0 1 .267-.636c.172-.165.401-.26.637-.26h13.115Zm.14 1.795H1.807v1.89h14.35c-.184-.694-.324-1.19-.375-1.305-.255-.687-1.623-.585-1.623-.585ZM1.807 20.28h16.011v-2.47s-.464-1.87-.948-3.786H1.807v6.256Z' clip-rule='evenodd'/%3E%3C/svg%3E");
}
#typeRecommend > ul > li a .button ul li a.coupon {
  background-color: #bf0000;
  box-shadow: 0 min(2px, 0.16vw) 0 0 #8d0d10;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button ul li a.coupon {
    box-shadow: 0 0.5333333333vw 0 0 #8d0d10;
  }
}
#typeRecommend > ul > li a .button ul li a.coupon:before {
  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-.719-.726v-1.018a.719.719 0 1 1 1.438 0v1.018a.72.72 0 0 1-.719.726ZM7.84 12.562a.718.718 0 0 1-.719-.726v-1.018a.713.713 0 0 1 .72-.719.713.713 0 0 1 .718.72v1.017a.72.72 0 0 1-.719.726ZM25.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-.803 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-.719-.719v-1.018a.72.72 0 1 1 1.438 0v1.018a.72.72 0 0 1-.719.72Z'/%3E%3C/svg%3E");
}
#typeRecommend > ul > li a .button ul li a.facility {
  background-color: #fff;
  border: min(1px, 0.08vw) solid #0b2a61;
  color: #0b2a61;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul > li a .button ul li a.facility {
    border: 0.2666666667vw solid #0b2a61;
  }
}
@media screen and (max-width: 767px) {
  #typeRecommend > ul {
    width: 89.3333333333vw;
    margin: 6.4vw auto 0;
  }
  #typeRecommend > ul > li a {
    padding-top: 0;
  }
  #typeRecommend > ul > li a h5 {
    grid-row: 2/3;
    grid-template-columns: 1fr;
    margin-top: 3.2vw;
  }
  #typeRecommend > ul > li a h5 span {
    margin-top: 1.0666666667vw;
  }
  #typeRecommend > ul > li a h5:after {
    display: none;
  }
  #typeRecommend > ul > li a .slider {
    grid-row: 1/2;
    margin-top: 0;
  }
}

#other {
  margin-top: min(40px, 3.2vw);
}
@media screen and (max-width: 767px) {
  #other {
    margin-top: 16vw;
  }
}
#other h3 {
  width: min(295px, 23.6vw);
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #other h3 {
    width: 65.6vw;
  }
}
#other ul {
  width: min(800px, 64vw);
  margin: min(20px, 1.6vw) auto min(60px, 4.8vw);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #other ul {
    width: 89.3333333333vw;
    margin: 6.4vw auto 16vw;
    grid-template-columns: 1fr;
    gap: 2.1333333333vw;
  }
}
#other ul li a {
  display: block;
  transition: opacity 0.2s linear;
}
@media (hover: hover) and (pointer: fine) {
  #other ul li a:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .result01 {
    background-color: #9e694b;
    background-image: url(../img/background.png);
    background-size: min(844px, 67.52vw);
    background-position: top center;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .result01 {
    background-size: 100vw auto;
  }
}
.result01 .share {
  background-color: #ca7a4d;
}
@media screen and (max-width: 767px) {
  .result01 .share {
    background: rgba(11, 42, 97, 0.5);
  }
}

@media screen and (max-width: 767px) {
  .result02 {
    background-color: #4C8D96;
    background-image: url(../img/background.png);
    background-size: min(844px, 67.52vw);
    background-position: top center;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .result02 {
    background-size: 100vw auto;
  }
}
.result02 .share {
  background-color: #30ADBE;
}
@media screen and (max-width: 767px) {
  .result02 .share {
    background: rgba(11, 42, 97, 0.5);
  }
}

@media screen and (max-width: 767px) {
  .result03 {
    background-color: #925B5B;
    background-image: url(../img/background.png);
    background-size: min(844px, 67.52vw);
    background-position: top center;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .result03 {
    background-size: 100vw auto;
  }
}
.result03 .share {
  background-color: #C34646;
}
@media screen and (max-width: 767px) {
  .result03 .share {
    background: rgba(11, 42, 97, 0.5);
  }
}

@media screen and (max-width: 767px) {
  .result04 {
    background-color: #B77D92;
    background-image: url(../img/background.png);
    background-size: min(844px, 67.52vw);
    background-position: top center;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .result04 {
    background-size: 100vw auto;
  }
}
.result04 .share {
  background-color: #E380A4;
}
@media screen and (max-width: 767px) {
  .result04 .share {
    background: rgba(11, 42, 97, 0.5);
  }
}

@media screen and (max-width: 767px) {
  .result05 {
    background-color: #579078;
    background-image: url(../img/background.png);
    background-size: min(844px, 67.52vw);
    background-position: top center;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .result05 {
    background-size: 100vw auto;
  }
}
.result05 .share {
  background-color: #49A57F;
}
@media screen and (max-width: 767px) {
  .result05 .share {
    background: rgba(11, 42, 97, 0.5);
  }
}

#download {
  margin: min(100px, 8vw) auto min(60px, 4.8vw);
  width: min(1000px, 80vw);
  text-align: center;
  background-color: #fff;
  padding: min(60px, 4.8vw) min(25px, 2vw);
  border-radius: min(8px, 0.64vw);
}
@media screen and (max-width: 767px) {
  #download {
    margin-top: 10.6666666667vw;
    width: 89.3333333333vw;
    padding: 10.6666666667vw 3.2vw;
    border-radius: 2.1333333333vw;
  }
}
#download h2 {
  width: min(271px, 21.68vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #download h2 {
    width: 63.4666666667vw;
  }
}
#download h2 + p {
  margin-top: min(20px, 1.6vw);
  width: 100%;
}
@media screen and (max-width: 767px) {
  #download h2 + p {
    margin-top: 2.1333333333vw;
  }
}
#download h2:before {
  display: none;
}
#download h3 {
  margin: 0 auto;
}
#download h3 + p {
  margin-top: min(20px, 1.6vw);
  width: 100%;
}
@media screen and (max-width: 767px) {
  #download h3 + p {
    margin-top: 4.2666666667vw;
  }
}
#download p {
  font-size: min(1.28vw, 16px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #download p {
    font-size: 3.7333333333vw;
    line-height: 1.4285714286;
    text-align: left;
  }
}
#download .emblem {
  border-top: min(1px, 0.08vw) solid #8f8f8f;
  margin-top: min(60px, 4.8vw);
  padding-top: min(60px, 4.8vw);
}
@media screen and (max-width: 767px) {
  #download .emblem {
    border-top: 0.2666666667vw solid #8f8f8f;
    margin-top: 16vw;
    padding-top: 16vw;
  }
}
#download .emblem h3 {
  width: min(320px, 25.6vw);
}
@media screen and (max-width: 767px) {
  #download .emblem h3 {
    width: 79.2vw;
  }
}
#download .emblem div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  width: min(790px, 63.2vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #download .emblem div {
    width: 74.6666666667vw;
  }
}
#download .emblem dl {
  width: min(250px, 20vw);
  display: flex;
  flex-direction: column;
  margin-top: min(40px, 3.2vw);
}
@media screen and (max-width: 767px) {
  #download .emblem dl {
    width: 100%;
    margin-top: 8.5333333333vw;
  }
}
#download .emblem dl dt {
  order: 2;
  margin-top: min(17px, 1.36vw);
  font-size: min(2.24vw, 28px);
  line-height: 1.2142857143;
}
@media screen and (max-width: 767px) {
  #download .emblem dl dt {
    font-size: 7.4666666667vw;
    line-height: 1.2142857143;
    margin-top: min(8px, 0.64vw);
  }
}
#download .emblem dl dd {
  order: 1;
}
#download .emblem dl dd ul li {
  height: min(250px, 20vw);
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #download .emblem dl dd ul li {
    height: auto;
  }
}
#download .emblem dl dd ul li + li {
  margin-top: min(36px, 2.88vw);
}
@media screen and (max-width: 767px) {
  #download .emblem dl dd ul li + li {
    margin-top: 3.2vw;
  }
}
#download .emblem dl:nth-of-type(2) img {
  width: min(180px, 14.4vw);
}
@media screen and (max-width: 767px) {
  #download .emblem dl:nth-of-type(2) img {
    width: 100%;
  }
}
#download .emblem dl:nth-of-type(3) img {
  width: min(100px, 8vw);
}
@media screen and (max-width: 767px) {
  #download .emblem dl:nth-of-type(1), #download .emblem dl:nth-of-type(3) {
    display: none;
  }
}
#download .banner {
  margin-top: min(100px, 8vw);
}
@media screen and (max-width: 767px) {
  #download .banner {
    margin-top: 16vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  #download .banner:hover {
    opacity: 1;
  }
}
#download .banner h3 {
  width: min(265px, 21.2vw);
}
@media screen and (max-width: 767px) {
  #download .banner h3 {
    width: 70.6666666667vw;
  }
}
#download .banner div {
  display: flex;
  flex-direction: column;
  width: min(673px, 53.84vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #download .banner div {
    flex-direction: column;
    width: 80vw;
  }
}
#download .banner dl {
  display: flex;
  flex-direction: column;
  margin-top: min(40px, 3.2vw);
}
@media screen and (max-width: 767px) {
  #download .banner dl {
    margin-top: 8.5333333333vw;
  }
}
#download .banner dl + dl {
  margin-top: min(56px, 4.48vw);
}
@media screen and (max-width: 767px) {
  #download .banner dl + dl {
    margin-top: 13.8666666667vw;
  }
}
#download .banner dl dt {
  order: 2;
  margin-top: min(20px, 1.6vw);
  font-size: min(1.92vw, 24px);
  line-height: 1.1666666667;
}
@media screen and (max-width: 767px) {
  #download .banner dl dt {
    margin-top: 5.3333333333vw;
    font-size: 6.4vw;
    line-height: 1.1666666667;
  }
}
#download .banner dl dd {
  order: 1;
}
#download .banner dl dd ul {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  gap: min(20px, 1.6vw) 0;
}
#download .banner dl dd ul li {
  width: calc(50% - min(20px, 1.6vw));
}
#download .banner dl dd ul li:last-of-type {
  grid-column: 1/3;
}
#download .banner dl dd ul.mini {
  gap: min(23px, 1.84vw) 0;
}
@media screen and (max-width: 767px) {
  #download .banner dl dd ul.mini {
    gap: 5.3333333333vw 0;
  }
}
#download .banner dl dd ul.mini li {
  width: calc(33.3333333333% - min(23px, 1.84vw));
}
@media screen and (max-width: 767px) {
  #download .banner dl dd ul.mini li {
    width: 100%;
  }
}
#download .badge {
  margin-top: min(100px, 8vw);
}
@media screen and (max-width: 767px) {
  #download .badge {
    display: none;
  }
}
#download .badge h3 {
  width: min(293px, 23.44vw);
}
#download .badge div {
  width: min(460px, 36.8vw);
  margin: min(40px, 3.2vw) auto 0;
}
#download .badge ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: min(20px, 1.6vw);
}
#download .badge ul li {
  width: min(100px, 8vw);
}
#download .attention {
  margin: min(100px, 8vw) 0 0;
}
@media screen and (max-width: 767px) {
  #download .attention {
    margin: 16vw 0 0;
  }
}
#download .attention h3 {
  width: min(303px, 24.24vw);
}
@media screen and (max-width: 767px) {
  #download .attention h3 {
    width: 70.6666666667vw;
  }
}
#download .attention ul {
  margin: min(16px, 1.28vw) auto 0;
  text-align: left;
  width: min(912px, 72.96vw);
}
@media screen and (max-width: 767px) {
  #download .attention ul {
    width: 100%;
    margin-top: 4.2666666667vw;
  }
}
#download .attention ul li {
  margin-left: 2em;
  list-style: disc;
  font-size: min(1.28vw, 16px);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  #download .attention ul li {
    font-size: 3.7333333333vw;
    line-height: 1.7142857143;
  }
}
#download .attention ul li a {
  text-decoration: underline;
  color: #1a61b9;
}
#download .dl {
  width: min(672px, 53.76vw);
  margin: min(56px, 4.48vw) auto 0;
}
@media screen and (max-width: 767px) {
  #download .dl {
    display: none;
  }
}
#download .dl a {
  display: block;
  color: #284881;
  background-color: #ffe500;
  box-shadow: 0 min(2px, 0.16vw) 0 #162339;
  border-radius: min(8px, 0.64vw);
  font-size: min(1.44vw, 18px);
  line-height: 1.3333333333;
  padding: min(18px, 1.44vw) 0;
  font-weight: 700;
  text-align: center;
  position: relative;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
#download .dl a:after {
  content: "";
  width: min(60px, 4.8vw);
  height: min(60px, 4.8vw);
  right: min(20px, 1.6vw);
  top: 50%;
  transform: translateY(-50%);
  mask-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cg clip-path='url(%23a)' fill='%23fff'%3E%3Cpath d='M29.294 33.588c.186.266.437.412.706.412.27 0 .52-.146.706-.412l5.1-7.266c.19-.272.243-.535.148-.739-.095-.203-.32-.324-.635-.324h-1.953a.924.924 0 0 1-.678-.304 1.081 1.081 0 0 1-.28-.732V18.23a1.297 1.297 0 0 0-.335-.87 1.1 1.1 0 0 0-.804-.361h-2.537a1.1 1.1 0 0 0-.804.361 1.291 1.291 0 0 0-.334.87v5.994c0 .274-.102.538-.282.732a.924.924 0 0 1-.678.302h-1.952c-.316 0-.542.114-.636.32-.095.206-.042.47.148.742l5.1 7.267Z'/%3E%3Cpath d='M41.087 32v6.875H18.913V32H15v9.429c0 .416.158.816.437 1.11.28.295.658.46 1.054.461h27.018c.396 0 .774-.166 1.054-.46A1.62 1.62 0 0 0 45 41.429V32h-3.913Z'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='a'%3E%3Cpath fill='%23fff' d='M0 0h60v60H0z'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  display: block;
  position: absolute;
  background-color: #284881;
}
#download .dl a:hover {
  background-color: #fff974;
  transition: background-color 1.4s cubic-bezier(0.16, 1.08, 0.38, 0.98);
}
#download .dl a span {
  display: block;
  font-size: min(1.12vw, 14px);
  line-height: 1.4285714286;
  margin-top: min(4px, 0.32vw);
}
#download .dl + .dl {
  margin-top: min(28px, 2.24vw);
}
#download .dl + div {
  margin-top: min(120px, 9.6vw);
}
@media screen and (max-width: 767px) {
  #download .dl + div {
    display: none;
  }
}

#campaignVisual {
  width: min(1000px, 80vw);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #campaignVisual {
    width: 100%;
  }
}

#campaignAbout {
  width: min(1000px, 80vw);
  margin: min(60px, 4.8vw) auto 0;
  background-color: #fff;
  border-radius: min(8px, 0.64vw);
  padding: min(24px, 1.92vw) min(30px, 2.4vw);
  position: relative;
}
@media screen and (max-width: 767px) {
  #campaignAbout {
    width: 89.3333333333vw;
    margin: 14.4vw auto 16vw;
    padding: 6.4vw 4.2666666667vw;
  }
}
#campaignAbout:before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: min(8px, 0.64vw);
  background: rgba(0, 0, 0, 0.75);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: block;
}
#campaignAbout:after {
  content: "";
  width: min(435px, 34.8vw);
  aspect-ratio: 869/134;
  background-image: url(../img/campaign_end.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 11;
}
@media screen and (max-width: 767px) {
  #campaignAbout:after {
    background-image: url(../img/campaign_end_sp.png);
    width: 56vw;
    aspect-ratio: 419/199;
  }
}
#campaignAbout h3 {
  width: min(150px, 12vw);
  display: block;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #campaignAbout h3 {
    width: 40vw;
  }
}
#campaignAbout ol {
  display: flex;
  justify-content: space-between;
  margin-top: min(30px, 2.4vw);
}
@media screen and (max-width: 767px) {
  #campaignAbout ol {
    margin-top: 8vw;
    flex-direction: column;
    gap: 8.5333333333vw;
  }
}
#campaignAbout ol li {
  border-radius: min(10px, 0.8vw);
  width: calc(33.3333333333% - min(11px, 0.88vw));
  display: flex;
  flex-direction: column;
  position: relative;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li {
    width: 100%;
    border-radius: 2.6666666667vw;
  }
}
#campaignAbout ol li:after {
  content: "";
  width: min(49px, 3.92vw);
  aspect-ratio: 1/1;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='50' height='50' fill='none'%3E%3Ccircle cx='25.064' cy='25.387' r='24.436' fill='%23284881'/%3E%3Cpath fill='%23fff' d='m32.884 25.387-11.73 9.311V16.076l11.73 9.311Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
  position: absolute;
  top: min(132px, 10.56vw);
  right: max(-33px, -2.64vw);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li:after {
    width: 13.0666666667vw;
    top: auto;
    bottom: -10.9333333333vw;
    right: auto;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
#campaignAbout ol li dl {
  border: min(2px, 0.16vw) solid #0086bf;
  border-radius: min(10px, 0.8vw);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl {
    border-radius: 2.6666666667vw;
    border-width: 0.5333333333vw;
  }
}
#campaignAbout ol li dl dt {
  background-color: #0086bf;
  height: min(68px, 5.44vw);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl dt {
    height: 14.9333333333vw;
  }
}
#campaignAbout ol li dl dt img {
  width: min(75px, 6vw);
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl dt img {
    width: 20vw;
  }
}
#campaignAbout ol li dl dd {
  padding: min(14px, 1.12vw) min(19px, 1.52vw);
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl dd {
    padding: 3.7333333333vw 5.0666666667vw;
  }
}
#campaignAbout ol li dl dd p:not(.btn) {
  text-align: center;
  font-size: min(1.44vw, 18px);
  line-height: 1.3333333333;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl dd p:not(.btn) {
    font-size: 4.8vw;
    line-height: 1.3333333333;
  }
}
#campaignAbout ol li dl dd p:not(.btn) strong {
  color: #0095e9;
}
#campaignAbout ol li dl dd img {
  display: block;
}
#campaignAbout ol li dl dd .btn {
  width: 100%;
  margin-top: auto;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl dd .btn {
    margin-top: 3.7333333333vw;
  }
}
#campaignAbout ol li dl dd .btn a {
  display: block;
  font-size: min(1.12vw, 14px);
  line-height: 2.7857142857;
  border: min(1px, 0.08vw) solid #0086bf;
  border-radius: min(4px, 0.32vw);
  color: #0086bf;
  font-weight: 700;
  padding: 0 min(8px, 0.64vw);
  position: relative;
  text-align: center;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl dd .btn a {
    font-size: 3.7333333333vw;
    line-height: 2.7857142857;
    border-radius: 1.0666666667vw;
    padding: 0 2.1333333333vw;
  }
}
#campaignAbout ol li dl dd .btn a:after {
  content: "";
  width: min(20px, 1.6vw);
  aspect-ratio: 1/1;
  mask-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='21' x='0' y='-1' maskUnits='userSpaceOnUse' style='mask-type:alpha'%3E%3Cpath fill='%23D9D9D9' d='M.713-.006h19.548v19.548H.713z'/%3E%3C/mask%3E%3Cg mask='url(%23a)'%3E%3Cpath fill='%230086BF' d='M13.887 10.583H3.971v-1.63h9.916l-4.56-4.56 1.16-1.14 6.516 6.515-6.516 6.516-1.16-1.14 4.56-4.561Z'/%3E%3C/g%3E%3C/svg%3E");
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  display: block;
  position: absolute;
  right: min(8px, 0.64vw);
  top: 50%;
  transform: translateY(-50%);
  background-color: #0086bf;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li dl dd .btn a:after {
    width: 5.3333333333vw;
    right: 2.1333333333vw;
  }
}
@media (hover: hover) and (pointer: fine) {
  #campaignAbout ol li dl dd .btn a:hover {
    background-color: #0086bf;
    color: #fff;
  }
  #campaignAbout ol li dl dd .btn a:hover:after {
    background-color: #fff;
  }
}
#campaignAbout ol li:nth-of-type(1) dd img {
  width: min(106px, 8.48vw);
  margin-top: min(12px, 0.96vw);
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li:nth-of-type(1) dd img {
    width: 28.2666666667vw;
    margin-top: 3.2vw;
  }
}
#campaignAbout ol li:nth-of-type(2) dd img {
  width: min(248px, 19.84vw);
  margin-top: min(9px, 0.72vw);
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li:nth-of-type(2) dd img {
    width: 66.1333333333vw;
    margin-top: 2.4vw;
  }
}
#campaignAbout ol li:nth-of-type(3) dl {
  border-color: #f08327;
}
#campaignAbout ol li:nth-of-type(3) dl dt {
  background-color: #f08327;
}
#campaignAbout ol li:nth-of-type(3) dl dd p strong {
  color: #f08327;
  font-size: min(1.92vw, 24px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li:nth-of-type(3) dl dd p strong {
    font-size: 6.4vw;
    line-height: 1;
  }
}
#campaignAbout ol li:nth-of-type(3) dl dd img {
  width: min(160px, 12.8vw);
  margin-top: min(40px, 3.2vw);
  padding-bottom: 0;
}
@media screen and (max-width: 767px) {
  #campaignAbout ol li:nth-of-type(3) dl dd img {
    width: 42.6666666667vw;
    margin-top: 10.6666666667vw;
  }
}
#campaignAbout ol li:nth-of-type(3):after {
  display: none;
}/*# sourceMappingURL=style.css.map */