@charset "UTF-8";
html {
  display: flex;
  flex-direction: column;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  min-height: 1px;
}

footer {
  margin-top: auto;
}

body {
  overflow-x: hidden;
  font-family: Noto Sans JP, -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  color: #505768;
  position: relative;
  background: #eee;
}
body:before {
  content: "";
  background: #eee url(../img/bg-img.webp) no-repeat center/cover;
  position: fixed;
  inset: 0;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  z-index: -2;
}
@media (max-width: 767px) {
  body {
    font-size: 14px;
    background: url(../img/bg-img_sp.webp) no-repeat center/cover;
  }
}
body.js-no_scroll {
  overflow: hidden;
}
body.js-no_scroll:before {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100vh;
  content: "";
  background-color: rgba(0, 0, 0, 0.6);
}

p {
  margin-bottom: 0;
  line-height: 1.6;
}

a {
  text-decoration: none;
  color: inherit;
}
a:hover {
  cursor: pointer;
}
a.btn {
  text-decoration: none;
  color: #fff;
}
a.btn:focus, a.btn:active {
  color: #fff !important;
}

:focus,
button:focus {
  outline: none;
}

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

iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  border: none;
}

:root {
  scroll-behavior: auto !important;
}

ul,
ol {
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}

h1 {
  margin-bottom: 0;
}

dl {
  margin-bottom: 0;
}

footer {
  padding: 30px 0;
  background: #b3b8c7;
}
footer .link-pageup {
  position: fixed;
  right: 40px;
  bottom: 20px;
  width: 80px;
  transition: 0.3s;
}
@media (max-width: 991px) {
  footer .link-pageup {
    right: 10px;
    bottom: 10px;
  }
}
@media (max-width: 767px) {
  footer .link-pageup {
    width: 50px;
  }
}
footer .link-pageup:hover {
  scale: 1.05;
}
footer .copyright {
  display: block;
  text-align: center;
  color: #ffffff;
  font-size: 12px;
}
footer .logo {
  max-width: 140px;
  margin: 30px auto 0;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-height: 80px;
  padding: 10px 30px;
}
@media (max-width: 767px) {
  header {
    height: 100%;
    background: rgba(255, 255, 255, 0.8);
  }
}
header:before {
  content: "";
  background: url(../img/header-bg.webp) no-repeat bottom right;
  position: absolute;
  top: 0;
  left: 0;
  width: 500px;
  height: 80px;
  z-index: -1;
}
@media (max-width: 767px) {
  header:before {
    content: none;
    width: 320px;
    height: 60px;
  }
}
@media (max-width: 767px) {
  header {
    max-height: 60px;
    padding: 10px;
    box-sizing: border-box;
  }
}
header .img-logo {
  display: block;
  max-width: 400px;
}
@media (max-width: 767px) {
  header .img-logo {
    max-width: 220px;
  }
}
header .x-icon {
  width: 60px;
  transition: 0.3s;
}
@media (max-width: 767px) {
  header .x-icon {
    width: 40px;
  }
}
header .x-icon:hover {
  scale: 1.05;
}

.g-nav {
  margin-top: 80px;
}
.g-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: min(90%, 1200px);
  margin-inline: auto;
  padding: 30px 0;
}
.g-nav ul li {
  width: calc((100% - 48px) / 5);
  height: 60px;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  background: #fff;
  border: 2px solid #d2d5dd;
  border-radius: 10px;
  transition: 0.15s;
}
@media (max-width: 991px) {
  .g-nav ul li {
    width: calc((100% - 12px) / 2);
  }
}
.g-nav ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.g-nav ul li img {
  width: 25px;
  margin-right: 10px;
}
@media (any-hover: hover) {
  .g-nav ul li:hover {
    scale: 1.05;
  }
}

nav.navbar {
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100vw;
  padding: 8px 0;
}
nav.navbar button.btn.btn-link {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  border: none;
  text-decoration: none;
  font-size: 14px;
  padding: 6px 0;
}
@media (max-width: 575px) {
  nav.navbar button.btn.btn-link {
    margin-right: 0;
  }
}
nav.navbar button.btn.btn-link:focus {
  outline: none;
  box-shadow: none;
}
nav.navbar button.btn.btn-link .navbar-toggler-icon {
  width: 35px;
  height: 35px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%232581c7' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
nav.navbar .modal-content {
  background-color: #fff;
  border: none;
  border-radius: 0;
}
nav.navbar .modal-dialog {
  width: 100%;
  max-width: 100%;
  margin: 0;
  background-color: #ffffff;
}
nav.navbar .modal-header {
  border-bottom: none;
  justify-content: flex-end;
  padding: 40px 30px 0;
}
@media (max-width: 575px) {
  nav.navbar .modal-header {
    padding: 35px 20px 0;
  }
}
nav.navbar .modal-header .btn-close {
  position: relative;
  border: none;
  font-size: 20px;
  opacity: 1;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%232581c7'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
}
@media (max-width: 575px) {
  nav.navbar .modal-header .btn-close {
    margin-right: 0;
    font-size: 18px;
  }
}
nav.navbar .modal-header .btn-close:focus {
  outline: none;
  box-shadow: none;
}
nav.navbar .navbar-nav {
  padding: 20px 0;
  background-color: #fff;
}
nav.navbar .nav-link {
  padding: 10px;
  color: #505768;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
}
nav.navbar .nav-link img {
  width: 25px;
  margin: 0 20px;
}
nav.navbar .nav-item {
  width: min(90%, 300px);
  margin-inline: auto;
  border: 2px solid #d2d5dd;
  border-radius: 10px;
}
nav.navbar .nav-item + .nav-item {
  margin-top: 10px;
}

.modal-backdrop {
  z-index: 1;
}

.container {
  width: min(90%, 1250px);
  margin-inline: auto;
  padding: 50px 30px;
  background: rgba(255, 255, 255, 0.7);
  border: 4px solid #fff;
  box-shadow: 0 0 10px rgba(80, 87, 104, 0.3);
  box-sizing: border-box;
  position: relative;
}
.container:before, .container:after {
  content: "";
  background: url(../img/corner.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  width: 80px;
  height: 80px;
}
@media (max-width: 767px) {
  .container:before, .container:after {
    width: 40px;
    height: 40px;
  }
}
.container:before {
  left: 0;
}
.container:after {
  right: 0;
  transform: scaleX(-1);
}
@media (max-width: 767px) {
  .container {
    padding: 30px 15px;
  }
}
.container .inner:before, .container .inner:after {
  content: "";
  background: url(../img/corner.webp) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: 0;
  width: 80px;
  height: 80px;
}
@media (max-width: 767px) {
  .container .inner:before, .container .inner:after {
    width: 40px;
    height: 40px;
  }
}
.container .inner:before {
  left: 0;
  transform: scaleY(-1);
}
.container .inner:after {
  right: 0;
  transform: scale(-1);
}

section {
  padding: 40px 0;
}
@media (max-width: 767px) {
  section {
    padding: 20px 0;
  }
}

.content + .content {
  margin-top: 80px;
}
@media (max-width: 767px) {
  .content + .content {
    margin-top: 50px;
  }
}

h2 {
  height: 100px;
  margin: 0 auto 40px;
  text-align: center;
  background: url(../img/ttl-line.webp) repeat-x center/contain;
}
@media (max-width: 767px) {
  h2 {
    margin-bottom: 20px;
    height: 50px;
  }
}
h2 img {
  height: 100%;
}
@media (max-width: 767px) {
  h2 img {
    height: 50px;
  }
}

h3 {
  margin-bottom: 15px;
  text-align: center;
}

.marker {
  font-weight: 600;
  color: #ea609e;
  background: linear-gradient(transparent 60%, rgb(255, 255, 128) 60%);
}

.ttl-benefit {
  max-width: 400px;
  margin: 0 auto 20px;
}
@media (max-width: 767px) {
  .ttl-benefit {
    width: 60%;
  }
}

a.btn {
  display: block;
  width: 100%;
  margin-inline: auto;
  padding: 15px 0;
  text-align: center;
  font-weight: 600;
  color: #fff;
  background: linear-gradient(to right, #37b5f4, #2581c7);
  border-radius: 5px;
  border: none;
  transition: opacity 0.3s;
}
a.btn:hover {
  color: #fff;
  opacity: 0.8;
}

.benefits-img {
  max-width: 950px;
  margin: 30px auto;
  padding: 30px;
  background: #acdff8;
}
@media (max-width: 767px) {
  .benefits-img {
    margin: 15px auto;
    padding: 15px;
  }
}
.benefits-img img {
  display: block;
  margin-inline: auto;
}

.highlight {
  font-size: 24px;
}
@media (max-width: 767px) {
  .highlight {
    font-size: 1rem;
  }
}

.note li {
  text-indent: -1em;
  padding-left: 1em;
}
.note li + li {
  margin-top: 0.5em;
}

.digital-circle {
  position: fixed;
  top: 0;
  width: 50vw;
  max-width: 1000px;
  height: 50vw;
  max-height: 1000px;
  transform: translate(-45%, -35%);
  z-index: -1;
}
@media (max-width: 767px) {
  .digital-circle {
    width: 130vw;
    max-width: 700px;
    height: 130vw;
    max-height: 700px;
    transform: translate(-35%, -32%);
  }
}
.digital-circle::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/digital-circle.webp) no-repeat;
  background-size: contain;
  animation: circle-rotate 45s linear 0s infinite normal forwards;
}

@keyframes circle-rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(1turn);
  }
}
.mv {
  max-width: 1400px;
}
@media (max-width: 767px) {
  .mv {
    margin-top: 60px;
  }
}

.about_sec {
  text-align: center;
  font-weight: 600;
}
@media (min-width: 768px) {
  .about_sec {
    font-size: 26px;
  }
}
.about_sec .colabo-img {
  max-width: 1000px;
  margin: 0 auto 70px;
}
@media (max-width: 767px) {
  .about_sec .colabo-img {
    margin-bottom: 40px;
  }
}
.about_sec h3 {
  max-width: 300px;
  margin: 0 auto 20px;
}
@media (max-width: 767px) {
  .about_sec h3 {
    width: 60%;
    margin-bottom: 10px;
  }
}
.about_sec h3 + p {
  font-size: 30px;
}
@media (max-width: 767px) {
  .about_sec h3 + p {
    font-size: 18px;
  }
}

.venue_sec h3 + p {
  font-size: 24px;
}
@media (max-width: 767px) {
  .venue_sec h3 + p {
    font-size: 1rem;
  }
}
.venue_sec .slider-wrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .venue_sec .slider-wrap .slick-slide {
    padding: 0 10px;
  }
}
.venue_sec .slider-wrap .slick-arrow {
  position: absolute;
  bottom: 0;
  padding: 0;
  font-size: 40px;
  color: #2581c7;
  border: none;
  background-color: transparent;
}
@media (max-width: 767px) {
  .venue_sec .slider-wrap .slick-arrow {
    font-size: 30px;
    bottom: -14px;
  }
}
.venue_sec .slider-wrap .slick-arrow img {
  display: block;
  margin: 8px;
}
.venue_sec .slider-wrap .slick-arrow.slick-prev {
  left: calc(50% - 100px);
}
@media (max-width: 767px) {
  .venue_sec .slider-wrap .slick-arrow.slick-prev {
    left: calc(50% - 120px);
  }
}
.venue_sec .slider-wrap .slick-arrow.slick-next {
  right: calc(50% - 100px);
}
@media (max-width: 767px) {
  .venue_sec .slider-wrap .slick-arrow.slick-next {
    right: calc(50% - 120px);
  }
}
.venue_sec .slider-wrap .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 10px auto 20px;
  padding-left: 0;
  list-style-type: none;
}
@media (max-width: 767px) {
  .venue_sec .slider-wrap .slick-dots {
    position: absolute;
    bottom: -20px;
  }
}
.venue_sec .slider-wrap .slick-dots > li {
  position: relative;
  width: 8px;
  height: 8px;
  margin: 0 5px;
}
.venue_sec .slider-wrap .slick-dots > li.slick-active button {
  background-color: #37b5f4;
}
.venue_sec .slider-wrap .slick-dots button {
  position: absolute;
  width: 8px;
  height: 8px;
  padding: 0;
  font-size: 0;
  color: transparent;
  border: none;
  border-radius: 50%;
  background-color: #b7ceda;
}
.venue_sec .slider {
  display: none;
}
.venue_sec .slider .slick-initialized {
  display: block;
}
.venue_sec .venue-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media (max-width: 767px) {
  .venue_sec .venue-list {
    gap: 10px;
  }
}
.venue_sec .venue-list li {
  width: calc((100% - 60px) / 3);
}
@media (max-width: 767px) {
  .venue_sec .venue-list li {
    width: calc((100% - 10px) / 2);
    padding: 10px 0;
  }
}
.venue_sec .venue-list li dl {
  margin: 15px 0;
}
@media (max-width: 575px) {
  .venue_sec .venue-list li dl {
    margin: 5px 0;
  }
}
.venue_sec .venue-list li dt {
  position: relative;
  padding-left: 30px;
  color: #2581c7;
}
@media (max-width: 767px) {
  .venue_sec .venue-list li dt {
    padding-left: 22px;
  }
}
.venue_sec .venue-list li dt:before {
  content: "";
  background: url(../img/icon-kira.webp) no-repeat center/contain;
  display: inline-block;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 767px) {
  .venue_sec .venue-list li dt:before {
    width: 16px;
    height: 16px;
    top: 2px;
  }
}
@media (max-width: 767px) {
  .venue_sec .venue-list li dd {
    margin-bottom: 0;
    height: 2.8em;
    font-size: 0.8em;
  }
}
@media (max-width: 767px) {
  .venue_sec .venue-list a.btn {
    padding: 5px 0;
  }
}

.ticket_sec .ticket-img {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  max-width: 950px;
  margin: 30px auto;
  padding: 30px;
  background: #acdff8;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .ticket_sec .ticket-img {
    padding: 15px;
    gap: 15px;
  }
}
.ticket_sec .ticket-img .image,
.ticket_sec .ticket-img .txt {
  width: calc((100% - 30px) / 2);
}
@media (max-width: 767px) {
  .ticket_sec .ticket-img .image,
  .ticket_sec .ticket-img .txt {
    width: 100%;
  }
}
.ticket_sec .ticket-img .txt {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media (max-width: 767px) {
  .ticket_sec .ticket-img .txt {
    width: 60%;
    margin-inline: auto;
  }
}
.ticket_sec .ticket-img .txt p {
  color: #fff;
  font-size: 30px;
  font-weight: 600;
}
.ticket_sec .btn {
  max-width: 600px;
}
@media (min-width: 768px) {
  .ticket_sec .btn {
    font-size: 30px;
  }
}

.goods_sec .goods-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media (max-width: 767px) {
  .goods_sec .goods-list {
    gap: 10px;
  }
}
.goods_sec .goods-list li {
  width: calc((100% - 60px) / 3);
}
@media (max-width: 767px) {
  .goods_sec .goods-list li {
    width: calc((100% - 10px) / 2);
    padding: 10px 0;
  }
}
.goods_sec .goods-list li img {
  border: 2px solid #2581c7;
}
.goods_sec .goods-list h3 {
  position: relative;
  width: fit-content;
  height: 2.5em;
  margin-inline: auto;
  padding-left: 35px;
  font-size: 22px;
  font-weight: 600;
  color: #2581c7;
}
@media (max-width: 767px) {
  .goods_sec .goods-list h3 {
    width: 100%;
    margin-bottom: 5px;
    padding-left: 20px;
    font-size: 14px;
    text-align: left;
  }
}
@media (max-width: 413px) {
  .goods_sec .goods-list h3 {
    height: 3.5em;
  }
}
.goods_sec .goods-list h3:before {
  content: "";
  background: url(../img/icon-kira.webp) no-repeat center/contain;
  display: inline-block;
  width: 30px;
  height: 30px;
  position: absolute;
  top: -2px;
  left: 0;
}
@media (max-width: 767px) {
  .goods_sec .goods-list h3:before {
    width: 16px;
    height: 16px;
    top: 0;
  }
}
.goods_sec .goods-list h3 span {
  font-size: 0.8em;
}
.goods_sec .goods-list p {
  text-align: center;
}
.goods_sec .price {
  margin-top: 0.5em;
  font-size: 22px;
  font-weight: 600;
}
@media (max-width: 767px) {
  .goods_sec .price {
    font-size: 14px;
    line-height: 1.3;
  }
}
.goods_sec .price span {
  font-size: 0.8em;
}
.goods_sec .content h3 + p {
  font-size: 24px;
}
@media (max-width: 767px) {
  .goods_sec .content h3 + p {
    font-size: 1rem;
  }
}
.goods_sec .btn {
  max-width: 400px;
}
@media (min-width: 768px) {
  .goods_sec .btn {
    font-size: 24px;
  }
}

.quiz_sec dt {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 30px;
  font-size: 1.2em;
  color: #2581c7;
}
@media (max-width: 767px) {
  .quiz_sec dt {
    padding-left: 25px;
  }
}
.quiz_sec dt:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/icon-kira.webp) no-repeat center/contain;
  display: inline-block;
  width: 25px;
  height: 25px;
}
@media (max-width: 767px) {
  .quiz_sec dt:before {
    width: 20px;
    height: 20px;
  }
}
.quiz_sec ol li {
  text-indent: -1em;
  padding-left: 1em;
}

.design_sec .collabo-flex {
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 30px;
}
@media (min-width: 768px) {
  .design_sec .collabo-flex {
    margin-bottom: 50px;
    padding: 0 60px;
  }
}
.design_sec .collabo-flex .flex-img {
  width: calc((100% - 20px) / 2);
  padding: 30px;
  background: #acdff8;
}
@media (max-width: 767px) {
  .design_sec .collabo-flex .flex-img {
    width: 100%;
    padding: 20px;
  }
}
.design_sec .collabo-flex .flex-img img {
  display: block;
  margin: 0 auto 50px;
  width: 60%;
}
@media (max-width: 767px) {
  .design_sec .collabo-flex .flex-img img {
    width: 80%;
    margin-bottom: 20px;
  }
}
.design_sec .collabo-flex .flex-img h3 {
  line-height: 1.5;
}
@media (max-width: 767px) {
  .design_sec .collabo-flex .flex-img h3 {
    font-size: 16px;
  }
}
.design_sec .collabo-flex .flex-img .note {
  margin-top: 30px;
  font-size: 14px;
}
@media (max-width: 767px) {
  .design_sec .collabo-flex .flex-img .note {
    font-size: 12px;
  }
}
.design_sec .ttl-border {
  padding: 0 30px 10px;
  border-bottom: 3px solid;
  border-image: linear-gradient(to right, #37b5f4, #2581c7) 1;
}
@media (max-width: 767px) {
  .design_sec .ttl-border {
    padding: 0 0 10px;
    font-size: 14px;
    line-height: 1.5;
  }
}
.design_sec a.txt-link {
  display: inline;
  text-decoration: underline;
}
.design_sec .link-box p {
  font-size: 20px;
}
@media (max-width: 767px) {
  .design_sec .link-box p {
    font-size: 16px;
  }
}
.design_sec .link-box p + p {
  margin-top: 0.5em;
}

.news_sec .x-img {
  max-width: 400px;
  margin: 0 auto 30px;
}
.news_sec .x-account {
  font-size: 20px;
  font-weight: 600;
}
@media (max-width: 767px) {
  .news_sec .x-account {
    font-size: 16px;
  }
}
.news_sec a {
  max-width: 400px;
  font-size: 20px;
}

.attention_sec h3 {
  font-size: 24px;
  font-weight: 700;
  text-align: left;
  color: #2581c7;
}
@media (max-width: 767px) {
  .attention_sec h3 {
    font-size: 18px;
    text-indent: -25px;
    padding-left: 25px;
  }
}
.attention_sec h3:before {
  content: "";
  background: url(../img/icon-kira.webp) no-repeat center/contain;
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 8px;
  position: relative;
  top: 3px;
}
@media (max-width: 767px) {
  .attention_sec h3:before {
    width: 20px;
    height: 20px;
    margin-right: 5px;
  }
}

.aimas_sec a {
  max-width: 600px;
  font-size: 20px;
}
@media (max-width: 767px) {
  .aimas_sec a {
    font-size: 14px;
  }
}
.aimas_sec .txt-box p {
  font-size: 22px;
  font-weight: 600;
}
.aimas_sec .txt-box p + p {
  margin-top: 1em;
}
@media (min-width: 768px) {
  .aimas_sec .txt-box p {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .aimas_sec .txt-box p {
    font-size: 14px;
  }
}

.coming {
  width: 90%;
  margin-inline: auto;
  text-align: center;
  font-weight: 600;
  font-size: 22px;
}
@media (min-width: 768px) {
  .coming {
    font-size: 34px;
  }
}