@charset "UTF-8";

@media screen and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }

  .container {
    max-width: 88%;
  }

  .btn-main a {
    width: 940px;
    padding: 76px;
    font-size: 6.8rem;
  }

  .btn-main a::after {
    font-size: 4.8rem;
  }

  .wave {
    height: 50px;
  }

  .corner-hole {
    width: 24px;
    line-height: 24px;
  }

  .corner-hole.lt {
    top: 30px;
    left: 30px;
  }

  .corner-hole.rt {
    top: 30px;
    right: 30px;
  }

  .corner-hole.lb {
    left: 30px;
    bottom: 30px;
  }

  .corner-hole.rb {
    right: 30px;
    bottom: 30px;
  }

  .fv-container {
    max-width: unset !important;
    padding-top: 80px;
  }

  .fv-kyushu {
    top: 27%;
    left: 52%;
    width: 42%;
  }

  .fv-logo {
    position: inherit;
    top: unset;
    left: unset;
    width: 86%;
    margin-inline: auto;
    margin-bottom: 60px;
  }

  .fv-copy {
    position: inherit;
    top: unset;
    left: unset;
    width: 70%;
    margin-left: 8%;
  }

  .fv-img {
    width: 100%;
    margin-inline: auto;
    margin-top: -400px;
  }

  .intro-container {
    padding: 100px 0;
  }

  .intro-ttl_campaign {
    width: 70%;
    margin-bottom: 40px;
  }

  .intro-date {
    flex-direction: column;
    gap: 30px;
    width: 80%;
  }

  .intro-asset {
    width: 37%;
  }

  .intro-asset.--01 {
    left: -11%;
    top: 947px;
  }

  .intro-asset.--02 {
    top: 945px;
    right: -16%;
  }

  .nav {
    max-width: 85%;
    margin: 80px auto;
  }

  .nav li a {
    padding: 0.8em 1.2em;
    border-radius: 1em;
  }

  .nav li a img {
    width: 96px;
  }

  .nav li a span {
    font-size: 5rem;
  }

  .intro-ttl_date {
    width: 36%;
    margin-bottom: 40px;
  }

  .news {
    width: 90%;
    margin-bottom: 80px;
  }

  .news li a {
    font-size: 4.6rem;
    line-height: 145%;
    padding: 64px 120px 64px 80px;
  }

  .news li a::after {
    right: 6%;
    font-size: 3.8rem;
  }

  .news li a p {
    -webkit-line-clamp: 2;
  }

  .intro-ttl_mov {
    width: 90%;
    margin-bottom: 40px;
  }

  .intro-mov {
    flex-direction: column;
    gap: 40px;
    width: 90%;
  }

  .intro-mov_wrap {
    width: 100%;
  }

  .intro-mov_wrap h3 {
    font-size: 6rem;
    line-height: 135%;
  }

  .festa {
    margin-top: -10px;
    padding-bottom: 140px;
  }

  .festa-label {
    height: 200px;
  }

  .festa-container {
    flex-direction: column;
    align-items: center;
  }

  .festa-ttl img {
    max-width: 88%;
  }

  .festa-bakudan {
    top: -10%;
    right: -5%;
    width: 35%;
  }

  .festa-img {
    width: 100%;
  }

  .festa-spot {
    position: relative;
    left: unset;
    bottom: unset;
    width: 60%;
  }

  .festa-date {
    width: 94%;
    margin: 80px auto 0;
  }

  .festa .btn-main {
    margin-top: 80px;
  }

  .station {
    padding-top: 120px;
  }

  .station-container {
    flex-direction: column;
    padding-bottom: 100px;
  }

  .station-img {
    width: 100%;
    margin-left: unset;
    margin-bottom: 80px;
  }

  .station-main {
    width: 100%;
  }

  .station-main p {
    margin: 60px 0;
    font-size: 5.3rem;
    line-height: 150%;
  }

  .train-label {
    height: 200px;
  }

  .train-container {
    padding-left: 6%;
    padding-bottom: 160px;
  }

  .train-ttl img {
    max-width: 88%;
  }

  .train-img {
    position: relative;
    top: unset;
    right: unset;
    width: 100%;
    margin: 90px 0 40px auto;
  }

  .train-main {
    width: 100%;
    max-width: unset;
  }

  .train .btn-main {
    position: relative;
    top: unset;
    right: unset;
    display: block;
    width: 94%;
    margin: 20px 0 0;
  }

  .train + .wave {
    margin-top: -50px;
  }

  .collection {
    padding: 160px 0;
  }

  .collection-mock {
    position: relative;
    top: unset;
    left: unset;
    transform: unset;
    margin: -120px auto 60px;
    width: 60%;
  }

  .collection-subttl {
    width: 80%;
  }

  .collection-inner {
    margin: 170px 0 0;
    padding: 0 0 20px;
  }

  .collection-inner p {
    width: 85%;
    font-size: 5.3rem;
    line-height: 140%;
    text-align: left;
    margin: 60px auto 40px;
  }

  .collection-inner .note {
    width: 85%;
    font-size: 4.4rem;
    line-height: 140%;
    margin-inline: auto;
  }

  .collection-illust {
    bottom: -160px;
  }

  .collection .btn-main {
    margin-top: 80px;
  }

  .collection + .wave {
    margin-top: -50px;
  }

  .goods {
    padding: 140px 0 180px;
  }

  .goods-logo {
    width: 60%;
  }

  .goods-inner {
    padding: 100px 0 0;
  }

  .goods-asset {
    width: 20%;
  }

  .goods-asset.--01 {
    left: -8%;
    bottom: 320px;
  }

  .goods-asset.--02 {
    left: -3%;
    bottom: 80px;
  }

  .goods-asset.--03 {
    right: -7%;
    bottom: 170px;
  }

  .goods .btn-main {
    margin: 100px auto -110px;
  }

  footer {
    padding: 100px 0 60px;
  }

  .foot-bnr {
    max-width: unset;
    margin-bottom: 140px;
  }

  .foot-logo {
    width: 45%;
  }

  .foot-copy {
    width: 70%;
  }

  .menu-btn {
    top: 40px;
    right: 40px;
    width: 200px;
  }

  .--open .menu-wrap {
    width: 1000px;
  }

  .--open main,
  .--open .head,
  .--open footer {
    transform: translateX(-1000px);
  }

  .menu-wrap ul {
    gap: 28px;
    width: 1000px;
    padding: 300px 60px;
  }

  .menu-wrap ul li a {
    grid-template-columns: 0.2fr 1fr;
    gap: 20px;
    padding: 40px;
    font-size: 7rem;
  }

  .menu-logo {
    top: 70px;
    right: 710px;
    width: 220px;
  }
}
