@charset "UTF-8";
/*  
Version: 1.0.0
Creation Date: 2023.6.5
Last Updated: 2023.9.25 
*/
/* import  
------------------------------------------------------------ */
@import "https://w-shiya.com/release/css/ampersand-2023.css";
@import "https://www.montedioyamagata.jp/wp-content/themes/montedio/assets/css/match.css";
@import "https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap";
/**/
/*エクステンド*/
/* main
------------------------------------------------------------ */
main {
  z-index: 0;
}

/**/
/*エクステンド*/
/* set
------------------------------------------------------------ */
* {
  font-weight: inherit;
}

body {
  background: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

/* Overwrite
------------------------------------------------------------ */
input[type=text], input[type=submit] {
  margin: 0;
  border-radius: 0;
}

.header {
  position: fixed;
}

.spnav,
.spsubnav,
.gnav__subitem__table td a {
  text-align: left;
}

.access {
  padding: 0;
}
.access .accessSection {
  width: 100%;
  margin: 0 auto;
}

.access__table {
  table-layout: auto;
}

.share__icon {
  margin: 0;
}

#access div.access__map {
  margin-top: 20px;
}

/* common
------------------------------------------------------------ */
/* font */
/* りょうゴシック PlusN */
.RYO {
  font-family: ryo-gothic-plusn, sans-serif;
  font-weight: 500;
}

/* 貂明朝テキスト */
.TEN {
  font-family: ten-mincho-text, serif;
  font-weight: 400;
}

/* Poster Gothic Cond ATF Bold */
.EN {
  font-family: poster-gothic-cond-atf, sans-serif;
  font-weight: 600;
  letter-spacing: 0.1em;
}

/* コーポレート・ロゴ ver2 */
.LOGO,
#event h3,
.swiper-slide h3 {
  font-family: "corporate-logo-ver2", sans-serif;
  font-weight: 700;
}

.palt {
  font-feature-settings: "palt";
}

/* style */
header section,
main section:not(.accessSection) {
  /*padding: 6rem 0 10rem;*/
  padding: 100px 0 10rem;
}

h2 {
  position: relative;
  z-index: 1;
  padding-bottom: 60px;
}
@media screen and (max-width: 768px) {
  h2 {
    padding-bottom: 30px;
  }
}

dl {
  margin-top: 3rem;
}
dl dt {
  background: #0099d9;
  color: #FFF;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  margin-right: 10px;
  padding: 0 1rem;
  float: left;
  clear: both;
}
dl dd {
  color: #0099d9;
  font-size: 17px;
  line-height: 1.3;
  text-align: left;
  padding-bottom: 10px;
}

/* .link */
.link {
  text-align: center;
  margin-top: 10vh;
}
.link a {
  background: #FFF;
  color: #0099d9;
  font-size: 18px;
  line-height: 54px;
  width: 290px;
  height: 60px;
  display: inline-block;
  border: 3px solid #0099d9;
  border-radius: 5px;
}
@media screen and (max-width: 768px) {
  .link a {
    width: 100%;
    max-width: 290px;
  }
}
.link a:hover {
  background: #0099d9;
  color: #FFF;
  border: 3px solid #FFF;
}

@media screen and (max-width: 768px) {
  /* .link */
  .link.more {
    padding: 12vh 0 12vh;
  }
}
/* header
------------------------------------------------------------ */
header {
  margin-top: 120px;
}

/* #nav */
#nav {
  background: repeating-linear-gradient(90deg, #CCE9F6, #CCE9F6 50px, #ffffff 50px, #ffffff 100px) !important;
}
#nav nav ul li {
  flex-basis: 33.333%;
  margin: 0;
}
#nav p {
  margin: 1rem 0 3rem;
}
#nav p span {
  color: #d51619;
}
#nav li {
  flex-basis: calc(25% - 10px);
  margin: 5px 5px 15px;
}

/**/
/*エクステンド*/
/* #message */
#message {
  background: url(../img/bg_05.png) no-repeat top center;
  background-size: cover !important;
  z-index: -3;
  margin-top: -1px;
}
@media screen and (max-width: 768px) {
  #message {
    padding-bottom: 15vh;
  }
  #message::before, #message::after {
    max-width: 20%;
    bottom: -5%;
    z-index: 1;
  }
}
@media screen and (max-width: 420px) {
  #message::before {
    left: 20%;
  }
  #message::after {
    right: 20%;
  }
}
#message.v2 {
  background: linear-gradient(0deg, rgb(0, 64, 152) 0%, rgba(255, 255, 255, 0) 25%), url("img/message_bg.jpg") no-repeat top center;
}
#message.v3 {
  background: linear-gradient(0deg, rgb(0, 64, 152) 0%, rgba(255, 255, 255, 0) 50%), url("img/message_bg.jpg") no-repeat top center;
}
#message.v4 {
  background: linear-gradient(0deg, rgb(0, 64, 152) 15%, rgba(255, 255, 255, 0) 65%), url("img/message_bg.jpg") no-repeat top center;
}
#message.v5 {
  background: linear-gradient(0deg, rgb(0, 64, 152) 30%, rgba(255, 255, 255, 0) 80%), url("img/message_bg.jpg") no-repeat top center;
}
#message::before, #message::after {
  content: "";
  background-size: contain !important;
  width: 330px;
  max-width: 25%;
  height: 460px;
  position: absolute;
  bottom: 4%;
}
#message::before {
  background: url("../img/message_left.png") no-repeat bottom left;
  left: 3%;
}
#message::after {
  background: url("../img/message_right.png") no-repeat bottom right;
  right: 3%;
}
#message section {
  z-index: 1;
}
@media screen and (max-width: 420px) {
  #message section {
    padding-bottom: 8rem;
  }
}
#message p {
  font-size: 22px;
  line-height: 2;
  margin: 3rem 0;
}
@media screen and (max-width: 420px) {
  #message p {
    font-size: 12px;
    line-height: 1.6;
    text-shadow: none;
    text-align: left;
  }
}
#message small {
  font-size: 17px;
}
@media screen and (max-width: 420px) {
  #message small {
    font-size: 11px;
    display: block;
    text-align: right;
  }
}

@media screen and (max-width: 1300px) {
  #message::before {
    left: 0;
  }
}
/*@import "_test";*/
/**/
/*エクステンド*/
/* #schedule */
#schedule {
  background-color: #0083C9;
  z-index: -3;
}
#schedule section {
  width: 1500px;
  position: relative;
  padding: 100px 0 200px;
}
@media screen and (max-width: 768px) {
  #schedule section {
    padding: 50px 0 60px;
  }
}
#schedule section::before {
  position: absolute;
  top: 0;
  left: -10%;
  content: "";
  background-image: url(../img/bg_03_left.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 25%;
  min-width: 365px;
  height: 100%;
  z-index: -2;
}
#schedule section::after {
  position: absolute;
  top: 0;
  right: -10%;
  content: "";
  background-image: url(../img/bg_03_right.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 26.2%;
  min-width: 384px;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 768px) {
  #schedule section::before {
    max-width: 50%;
    height: 100%;
    background-repeat: no-repeat;
    left: -20%;
    min-width: 213px;
  }
  #schedule section::after {
    max-width: 50%;
    height: 100%;
    background-repeat: no-repeat;
    right: -15%;
    min-width: 170px;
  }
}
#schedule section .inner h2 {
  padding: 30px 0;
  padding: 0 0 60px;
}
#schedule section .inner h2 img {
  max-width: 100%;
}
#schedule section .inner .pc .schedule_table {
  width: 100%;
  max-width: 900px;
  padding: 0 20px;
}
#schedule section .sc-hi_float_left01 {
  position: absolute;
  top: 50px;
  left: 8%;
  width: 100%;
  max-width: 250px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #schedule section .sc-hi_float_left01 {
    display: none;
  }
}
#schedule section .sc-hi_float_left02 {
  position: absolute;
  top: 35%;
  left: 0;
  width: 100%;
  max-width: 210px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #schedule section .sc-hi_float_left02 {
    display: none;
  }
}
#schedule section .sc-hi_float_left03 {
  position: absolute;
  bottom: 1%;
  left: 3%;
  width: 100%;
  max-width: 260px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #schedule section .sc-hi_float_left03 {
    display: none;
  }
}
#schedule section .sc-hi_float_right01 {
  position: absolute;
  top: 20%;
  right: 0%;
  width: 100%;
  max-width: 200px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #schedule section .sc-hi_float_right01 {
    display: none;
  }
}
#schedule section .sc-hi_float_right02 {
  position: absolute;
  bottom: 30%;
  right: -4%;
  width: 100%;
  max-width: 250px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #schedule section .sc-hi_float_right02 {
    display: none;
  }
}
#schedule section .sc-hi_float_right03 {
  position: absolute;
  bottom: 7%;
  right: 2%;
  width: 100%;
  max-width: 200px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #schedule section .sc-hi_float_right03 {
    display: none;
  }
}

/**/
/*エクステンド*/
/* #highlight */
#highlight {
  background: #34c3ff;
  background-size: cover;
  z-index: -2;
}
#highlight section {
  width: 1500px;
  position: relative;
  padding: 100px 0 200px;
}
@media screen and (max-width: 768px) {
  #highlight section {
    padding: 50px 0 60px;
  }
}
#highlight section::before {
  position: absolute;
  top: -5px;
  left: -10%;
  content: "";
  background-image: url(../img/bg_04_left.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 33%;
  height: calc(100% + 10px);
  z-index: -2;
}
#highlight section::after {
  position: absolute;
  top: -10px;
  right: -10%;
  content: "";
  background-image: url(../img/bg_04_right.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 30%;
  height: calc(100% + 15px);
  z-index: -2;
}
@media screen and (max-width: 768px) {
  #highlight section::before {
    left: -30%;
    height: calc(100% + 5px);
    background-size: contain;
    background-repeat: repeat-y;
    width: 100%;
    min-width: 200px;
  }
  #highlight section::after {
    right: -25%;
    height: calc(100% + 10px);
    background-size: contain;
    background-repeat: repeat-y;
    width: 100%;
    min-width: 200px;
  }
}
#highlight section figure {
  width: 100%;
  max-width: 900px;
  margin: 40px auto;
  /* background: #FFF; */
  /* border: solid 3px #004098; */
  /* border: solid 3px #0A132F; */
  /* border-radius: 20px; */
  /* overflow: hidden; */
}
@media screen and (max-width: 768px) {
  #highlight section figure {
    display: block;
  }
}
#highlight section figure div {
  flex-basis: 50%;
}
@media screen and (max-width: 768px) {
  #highlight section figure div {
    flex-basis: 100%;
  }
}
#highlight section figure:nth-child(odd) div {
  order: 1;
}
#highlight section a:hover img {
  opacity: 0.8;
}
#highlight section figcaption {
  text-align: left;
  padding: 15px;
  flex-basis: 50%;
}
@media screen and (max-width: 768px) {
  #highlight section figcaption {
    padding: 0px;
    padding-top: 20px;
  }
}
#highlight section figcaption h3 {
  /*color: #34c3ff;
  color: #0A132F;*/
  font-size: min(2.5rem, 5vw);
  font-weight: 700;
  margin-bottom: 40px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #highlight section figcaption h3 {
    margin-bottom: 25px;
  }
}
#highlight section figcaption h3 p {
  margin: 0;
  padding: 0 !important;
}
#highlight section figcaption h3 p:first-of-type(1) {
  text-align: left;
}
#highlight section figcaption h3 p:last-of-type {
  text-align: right;
  margin-top: -10px;
}
#highlight section figcaption h3 p span {
  padding: 15px 20px;
  border-radius: 50px;
  display: inline-block;
  background-color: #004EA2;
  color: #FFFFFF;
}
@media screen and (max-width: 768px) {
  #highlight section figcaption h3 {
    font-size: 18px;
  }
}
#highlight section figcaption .note {
  position: relative;
  padding-top: 50px;
}
@media screen and (max-width: 768px) {
  #highlight section figcaption .note {
    width: 100%;
    max-width: 80%;
    margin: auto;
  }
}
#highlight section figcaption .note::before {
  position: absolute;
  top: -6px;
  right: 2%;
  content: "";
  background-image: url(../img/keyplayer.png);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 280px;
  height: 41px;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #highlight section figcaption .note::before {
    right: 0;
  }
}
#highlight section figcaption .note::after {
  position: absolute;
  content: "";
  top: -5px;
  left: -40%;
  display: block;
  width: 100%;
  max-width: 531px;
  height: calc(100% + 70px);
  background-color: #0082C9;
  padding: 0px 20% 0 40%;
  border-radius: 180px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #highlight section figcaption .note::after {
    left: -30px;
    max-width: 100%;
    padding: 30px;
    border-radius: 30px;
    height: 100%;
  }
}
#highlight section figcaption .note h4 {
  color: #FFFFFF;
  font-size: min(3.2rem, 8vw);
}
#highlight section figcaption .note h4 span {
  font-size: min(2.5rem, 5vw);
}
#highlight section figcaption .note p {
  color: #FFFFFF;
  background-color: rgba(0, 0, 0, 0);
  background-image: linear-gradient(180deg, #ffffff 1px, transparent 1px);
  background-size: 100% 2.5em;
  line-height: 2.5em;
  padding-bottom: 1px;
}
#highlight section figcaption .note a {
  color: #FFFFFF;
}
#highlight section figcaption a {
  color: #004098;
  color: #0A132F;
  text-decoration: underline;
}
#highlight section figcaption a:hover {
  text-decoration: none;
}

/**/
/*エクステンド*/
/* #pv */
#pv {
  /*非表示*/
  display: none;
  background: url("img/pv_bg.jpg") no-repeat top center;
  background-size: cover;
}
#pv h2 {
  margin-top: calc(-50px - 6rem);
}
@media screen and (max-width: 420px) {
  #pv h2 {
    margin-top: 0;
  }
}
#pv .bg_wht {
  max-width: 800px;
  margin: 2rem auto;
  padding: 20px;
  position: relative;
}
#pv .bg_wht::before, #pv .bg_wht::after {
  content: "";
  background-size: contain !important;
  width: 150px;
  max-width: 20%;
  height: 440px;
  position: absolute;
  bottom: -70%;
}
#pv .bg_wht::before {
  background: url("img/pv_01.png") no-repeat bottom left;
  left: -160px;
}
#pv .bg_wht::after {
  background: url("img/pv_02.png") no-repeat bottom right;
  right: -160px;
}
@media screen and (max-width: 768px) {
  #pv .bg_wht::before, #pv .bg_wht::after {
    max-width: 10%;
    bottom: -55%;
  }
  #pv .bg_wht::before {
    left: 0;
  }
  #pv .bg_wht::after {
    right: 0;
  }
}
@media screen and (max-width: 420px) {
  #pv .bg_wht {
    padding: 5px;
  }
}
#pv .movie {
  z-index: 1;
}

/**/
/*エクステンド*/
/* #special*/
#special {
  background: #34c3ff;
  background-size: cover;
  z-index: -2;
  /*
  figure {
      text-align: left;
      margin: 50px 0 150px;
      position: relative;

      @include mq() {
          margin: 50px 0;
      }
  }

  figcaption {
      width: 77%;
      height: 460px;
      padding: 60px;
      position: relative;

      &::before {
          content: "";
          background: #0099d9;
          width: 100%;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          z-index: -1;
          clip-path: polygon(0 0, 100% 0, 40% 100%, 0% 100%);
      }

      @include mq() {
          width: 100%;
          height: auto;

          &::before {
              clip-path: none;
          }
      }

      @include mq(sm) {
          padding: 50px 20px 20px !important;
      }
  }

  figure {
      h3 {
          position: absolute;
          top: -30px;
          left: 50px;

          @include mq(sm) {
              width: 90%;
              left: 5%;
          }
      }

      p {
          font-size: 18px;
          font-weight: normal;
          line-height: 1.8;
          max-width: 420px;
          margin: 3rem 0 5rem;

          @include mq() {
              max-width: 100%;
          }

          @include mq(sm) {
              font-size: 13px;
              margin: 3rem 0;
          }
      }

      dl {
          dt {
              background: #000;
          }

          dd {
              color: #000;
              font-size: 18px;
              line-height: 1.2;

              @include mq(sm) {
                  font-size: 14px;
              }
          }
      }

      div {
          max-width: 85%;
          max-height: 100%;
          position: absolute;
          right: 0;
          bottom: -50px;
          z-index: -2;
          clip-path: polygon(60% 0, 100% 0, 100% 100%, 0% 100%);

          @include mq() {
              max-width: 100%;
              position: static;
              clip-path: none;
          }
      }

      &:nth-of-type(1) figcaption {
          padding-top: 120px;
      }

      &::before {
          content: "";
          background: url("img/bg_03.png") no-repeat;
          background-size: contain !important;
          width: 120px;
          height: 120px;
          position: absolute;
          bottom: -10%;
          left: -5%;
      }

      @include mq() {
          &::before {
              left: 85%;
          }
      }

      @include mq(sm) {
          &::before {
              width: 60px;
              height: 60px;
              top: -40px !important;
              right: 0 !important;
              bottom: auto !important;
              left: auto !important;
          }
      }

      &:nth-of-type(1)::before {
          top: -5%;
          bottom: auto;
          left: 55%;
      }

      &:nth-of-type(4)::before {
          top: 10%;
          bottom: auto;
          left: 45%;
      }

      &::after {
          content: "";
          background: url("img/bg_02.png") no-repeat;
          background-size: contain !important;
          width: 240px;
          height: 240px;
          position: absolute;
          bottom: -10%;
          left: -10%;
          z-index: -1;
      }

      @include mq() {
          &::after {
              display: none;
          }
      }

      &:nth-of-type(2)::after {
          top: -25%;
          bottom: auto;
          left: 45%;
      }

      &:nth-of-type(5)::after {
          bottom: -30%;
          left: 20%;
      }

      @include mq(sm) {
          &:nth-of-type(2) figcaption {
              padding-top: 20px !important;
          }
      }

      &.block {
          figcaption {
              width: 100%;
              height: auto;

              &::before {
                  clip-path: none;
              }
          }

          p {
              max-width: 100%;
              margin: 3rem 0 0;
          }

          div {
              max-width: 100%;
              position: static;
              clip-path: none;
          }

          &::before {
              top: 15%;
              bottom: auto;
              left: 90%;
          }
      }
  }*/
}
#special section {
  width: 1500px;
  position: relative;
  padding: 100px 0 200px;
}
@media screen and (max-width: 768px) {
  #special section {
    padding: 50px 0 60px;
  }
}
#special section::before {
  position: absolute;
  top: -5px;
  left: -10%;
  content: "";
  background-image: url(../img/bg_03-04_left.png);
  background-size: contain;
  background-repeat: repeat-y;
  width: 100%;
  max-width: 30%;
  height: calc(100% + 10px);
  z-index: -2;
}
#special section::after {
  position: absolute;
  top: -10px;
  right: -13%;
  content: "";
  background-image: url(../img/bg_03-04_right.png);
  background-size: contain;
  background-repeat: repeat-y;
  width: 100%;
  max-width: 30%;
  height: calc(100% + 15px);
  z-index: -2;
}
@media screen and (max-width: 420px) {
  #special section {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 768px) {
  #special section::before {
    left: -25%;
    background-size: contain;
    background-repeat: repeat-y;
    height: calc(100% + 10vh);
    max-width: 200px;
  }
  #special section::after {
    right: -25%;
    height: calc(100% + 10vh);
    background-size: contain;
    background-repeat: repeat-y;
    max-width: 200px;
  }
}
#special section .special_float_left01 {
  position: absolute;
  top: 6%;
  left: -1%;
  width: 100%;
  max-width: 15%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #special section .special_float_left01 {
    display: none;
  }
}
#special section .special_float_left02 {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  max-width: 12%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #special section .special_float_left02 {
    display: none;
  }
}
#special section .special_float_right01 {
  position: absolute;
  top: 5%;
  right: 0%;
  width: 100%;
  max-width: 15%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #special section .special_float_right01 {
    display: none;
  }
}
#special section .special_float_right02 {
  position: absolute;
  width: 100%;
  max-width: 15%;
  bottom: 30%;
  right: -5%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #special section .special_float_right02 {
    display: none;
  }
}
#special section .special_float_right03 {
  position: absolute;
  width: 100%;
  max-width: 25%;
  bottom: 0%;
  right: -5%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #special section .special_float_right03 {
    display: none;
  }
}
#special figure {
  position: relative;
  width: 100%;
  max-width: 900px;
  margin: auto;
  padding: 8vh 20px 0;
  /* background: #FFF;
  /* background: #FFF; */
  /* border: solid 3px #004098; */
  /* border: solid 3px #0A132F; */
  /* border-radius: 20px; */
  /* overflow: hidden; */
  /*&:nth-child(odd) div {
      order: 1;
  }*/
}
#special figure + figure {
  padding: 10vh 20px 0;
}
@media screen and (max-width: 768px) {
  #special figure {
    display: block;
  }
}
#special figure .special_float_top01 {
  position: absolute;
  top: -77px;
  left: 17%;
  width: 100%;
  max-width: 20%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #special figure .special_float_top01 {
    display: none;
  }
}
#special figure div {
  flex-basis: 50%;
}
#special figure div img {
  border-radius: 50px;
}
@media screen and (max-width: 768px) {
  #special figure div {
    flex-basis: 100%;
  }
}
#special figcaption {
  text-align: left;
  padding: 15px;
  padding-top: 0;
  flex-basis: 50%;
}
@media screen and (max-width: 768px) {
  #special figcaption {
    padding: 0px;
    padding-top: 20px;
  }
}
#special figcaption h3 {
  /*color: #34c3ff;
  color: #0A132F;*/
  font-size: min(2.5rem, 5vw);
  font-weight: 700;
  /*margin-bottom: 40px;*/
  width: 100%;
}
@media screen and (max-width: 768px) {
  #special figcaption h3 {
    margin-bottom: 25px;
  }
}
#special figcaption .note {
  position: relative;
  padding-top: 20px;
}
@media screen and (max-width: 768px) {
  #special figcaption .note {
    width: 100%;
    max-width: 80%;
    margin: auto;
  }
}
#special figcaption .note::after {
  position: absolute;
  content: "";
  top: -20px;
  left: -40%;
  display: block;
  width: 110%;
  max-width: 531px;
  height: calc(100% + 40px);
  background-color: #FFFFFF;
  padding: 0px 20% 0 40%;
  border-radius: 230px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #special figcaption .note::after {
    left: -30px;
    max-width: 100%;
    padding: 30px;
    border-radius: 30px;
    height: 100%;
  }
}
#special figcaption .note h4 {
  color: #FFFFFF;
  font-size: min(3.2rem, 8vw);
}
#special figcaption .note h4 span {
  font-size: min(2.5rem, 5vw);
}
#special figcaption .note p {
  color: #000000;
  background-color: rgba(255, 255, 255, 0);
  background-image: linear-gradient(180deg, #B2DDF2 1px, transparent 1px);
  background-size: 100% 2.5em;
  line-height: 2.5em;
  padding-bottom: 1px;
}
#special figcaption .note dl dt {
  background: #0082C9;
}
#special figcaption .note dl dd {
  color: #0082C9;
  font-size: 18px;
  line-height: 1.2;
  padding: auto 20px;
  border-radius: 30px;
}
@media screen and (max-width: 420px) {
  #special figcaption .note dl dd {
    font-size: 14px;
  }
}
#special figcaption a {
  color: #004098;
  color: #0A132F;
  text-decoration: underline;
}
#special figcaption a:hover {
  text-decoration: none;
}

/**/
/*エクステンド*/
/* #event */
#event02 {
  background-color: #FDDF8E;
  background-image: radial-gradient(#FEECBB 22%, rgba(225, 225, 225, 0) 22%), radial-gradient(#FEECBB 22%, rgba(225, 225, 225, 0) 22%);
  background-size: 50px 50px;
  background-position: 0 0, 25px 25px;
  padding: 100px 0 120px;
}
@media screen and (max-width: 420px) {
  #event02 {
    margin-bottom: 0;
    padding-top: 3rem;
  }
}
#event02 h2 {
  width: 100%;
  /*position: absolute;
  top: -60px;
  left: 0;*/
}
@media screen and (max-width: 420px) {
  #event02 h2 {
    position: static;
  }
}
#event02 section {
  width: 1500px;
  position: relative;
  padding: 0px 0 200px;
  /*h3 {
      position: relative;
      font-family: "Zen Kaku Gothic New", sans-serif;

      span {
          background-color: #0082C9;
          color: #FFFFFF;
          padding: 10px;
          border-radius: 15px;
          filter: drop-shadow(0px 0px 0px rgba(255, 255, 255, .9));

          &:first-of-type {
              position: absolute;
              left: 0;
          }

          &:last-of-type {
              position: absolute;
              right: 0;
          }
      }
  }*/
  /*
  ul {
      padding-top: 70px;

      li {
          //margin-bottom: 30px;
          padding: 50px 0;
          position: relative;

          @include mq() {
              margin: 30px 0;
          }

          &::before {
              content: "";
              background: #FFF;
              width: 70%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              clip-path: polygon(0 0, 100% 0%, 75% 100%, 0% 100%);
          }

          @include mq() {
              &::before {
                  width: 100%;
                  left: 0 !important;
                  right: auto !important;
                  clip-path: none !important;
              }
          }

          &::after {
              content: "";
              background: #FFF;
              width: 70%;
              height: 100%;
              position: absolute;
              top: 0;
              left: 0;
              clip-path: polygon(0 0, 100% 0%, 75% 100%, 0% 100%);
              background: #ebebeb;
              width: 45%;
              clip-path: polygon(0 0, 100% 0%, 60% 100%, 0% 100%);
          }

          @include mq() {
              &::after {
                  width: 100%;
                  left: 0 !important;
                  right: auto !important;
                  clip-path: none !important;
                  display: none;
              }
          }

          &:nth-child(even) {
              &::before {
                  left: auto;
                  right: 0;
                  clip-path: polygon(25% 0, 100% 0%, 100% 100%, 0% 100%);
              }

              &::after {
                  left: auto;
                  right: 0;
                  clip-path: polygon(25% 0, 100% 0%, 100% 100%, 0% 100%);
                  clip-path: polygon(40% 0, 100% 0%, 100% 100%, 0% 100%);
              }
          }
      }
  }

  figure {
      width: 1150px;
      max-width: 92%;
      margin: 0 auto;
      position: relative;
      z-index: 1;
  }

  figcaption {
      flex-basis: 50%;
      padding: 2rem 5rem;

      @include mq(sm) {
          padding: 0 0 2rem;
      }

      p {
          font-size: 15px;
          font-weight: normal;
          line-height: 1.6;
          margin-top: 25px;

          @include mq() {
              font-size: 15px;
              font-weight: normal;
              line-height: 1.6;
              margin-top: 25px;
          }

          @include mq(sm) {
              font-size: 13px;
          }
      }

      a {
          text-decoration: underline;

          &:hover {
              color: #0099d9;
              text-decoration: none;
          }
      }
  }

  figure div {
      flex-basis: 50%;
      position: relative;
  }

  ul li:nth-child(even) figure div {
      order: -1;
  }

  figure div::before {
      content: "";
      background: url("img/bg_02.png") no-repeat;
      background-size: contain;
      width: 240px;
      height: 240px;
      position: absolute;
      top: -30%;
      right: -15%;
      z-index: -1;

      @include mq() {
          display: none;
      }
  }

  ul li:nth-child(even) figure div::before {
      right: auto;
      left: -15%;
  }*/
}
@media screen and (max-width: 768px) {
  #event02 section {
    padding: 50px 0 60px;
  }
}
#event02 section .event_float_left01 {
  position: absolute;
  top: -43vh;
  left: 5%;
  width: 100%;
  max-width: 350px;
}
@media screen and (max-width: 768px) {
  #event02 section .event_float_left01 {
    display: none;
  }
}
#event02 section .event_float_left02 {
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  max-width: 250px;
}
@media screen and (max-width: 768px) {
  #event02 section .event_float_left02 {
    display: none;
  }
}
#event02 section .event_float_right01 {
  position: absolute;
  top: 10%;
  right: -6%;
  width: 100%;
  max-width: 190px;
}
@media screen and (max-width: 768px) {
  #event02 section .event_float_right01 {
    display: none;
  }
}
#event02 section ul {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: auto;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  #event02 section ul {
    display: block;
  }
}
#event02 section ul li {
  padding-top: 60px;
  flex-basis: 50%;
}
#event02 section ul li figure {
  padding: 0 50px;
}
@media screen and (max-width: 768px) {
  #event02 section ul li figure {
    padding: 0 10px;
  }
}
#event02 section ul li figure div {
  /*width: 100%;
  max-width: 500px;
  min-height: 400px;
  border-radius: 50%;
  border: solid 6px #ffffff;*/
}
#event02 section ul li figure figcaption {
  display: block;
  width: 90%;
  margin: auto;
}
#event02 section ul li figure figcaption h3 {
  width: 100%;
  margin-top: -40px;
}
#event02 section ul li figure figcaption .one-line {
  padding-top: 15px;
}
#event02 section ul li figure figcaption .one-line img {
  height: 100%;
  max-height: 55px;
}
@media screen and (max-width: 768px) {
  #event02 section ul li figure figcaption .one-line img {
    max-height: 5.5vh;
  }
}
#event02 section ul li figure figcaption p {
  padding-top: 25px;
  font-size: min(1.8rem, 5vw);
  text-align: left;
}
#event02 section ul li figure figcaption p a {
  color: #000000;
}
#event02 section ul li figure figcaption dl dt {
  background: #0082C9;
  color: #FFFFFF;
}
#event02 section ul li figure figcaption dl dd {
  color: #0082C9;
  font-size: 18px;
  line-height: 1.2;
  padding: auto 20px;
  border-radius: 30px;
}
@media screen and (max-width: 420px) {
  #event02 section ul li figure figcaption dl dd {
    font-size: 14px;
  }
}

/**/
/*エクステンド*/
/* #gourmet */
#gourmet {
  background: repeating-linear-gradient(90deg, #CCE9F6, #CCE9F6 50px, #ffffff 50px, #ffffff 100px) !important;
}
#gourmet section {
  position: relative;
}
#gourmet section .gourmet_float_left01 {
  position: absolute;
  top: -20vh;
  left: -7%;
  width: 100%;
  max-width: 250px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #gourmet section .gourmet_float_left01 {
    display: none;
  }
}
#gourmet section .gourmet_float_right01 {
  position: absolute;
  top: -11vh;
  right: -15%;
  width: 100%;
  max-width: 270px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #gourmet section .gourmet_float_right01 {
    display: none;
  }
}
#gourmet section .gourmet_float_right02 {
  display: none;
  position: absolute;
  bottom: -30vh;
  right: -40%;
  width: 100%;
  max-width: 525px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #gourmet section .gourmet_float_right02 {
    display: none;
  }
}
#gourmet h3 {
  margin: 2rem 0 3rem;
}
@media screen and (max-width: 420px) {
  #gourmet h3 {
    position: relative;
    z-index: 1;
  }
}
#gourmet dl.flex dt {
  font-size: 16px;
}
@media screen and (max-width: 420px) {
  #gourmet dl.flex dt {
    font-size: 14px;
  }
}
#gourmet dl.flex dd {
  font-size: 19px;
  margin-right: 30px;
}
@media screen and (max-width: 420px) {
  #gourmet dl.flex dd {
    font-size: 16px;
    margin-right: 0;
  }
}
#gourmet dl.flex + p {
  font-size: 18px;
  margin: 1rem 0 4rem;
}
@media screen and (max-width: 420px) {
  #gourmet dl.flex + p {
    font-size: 16px;
  }
}
#gourmet .flex {
  position: relative;
}
#gourmet .flex .gourmet_box01_left {
  display: none;
  position: absolute;
  top: -17.8vh;
  left: 2%;
  width: 100%;
  max-width: 125px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #gourmet .flex .gourmet_box01_left {
    display: none;
  }
}
#gourmet .flex .gourmet_box01_right {
  display: none;
  position: absolute;
  top: -15vh;
  right: 0%;
  width: 100%;
  max-width: 160px;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #gourmet .flex .gourmet_box01_right {
    display: none;
  }
}
#gourmet .flex .item {
  margin-bottom: 3rem;
  border-radius: 30px;
  background-color: #4DB1E0;
  padding: 15px;
}
@media screen and (max-width: 420px) {
  #gourmet .flex .item {
    flex-basis: 49% !important;
    border: solid 2px #0099d9;
  }
}
#gourmet .flex .item .inner {
  background-color: #ffffff;
}
#gourmet .flex .item .inner h4 {
  color: #0099d9;
  font-size: 25px;
  font-weight: bold;
  text-shadow: 1px 1px 0 #eeeff0, -1px 1px 0 #eeeff0, 1px -1px 0 #eeeff0, -1px -1px 0 #eeeff0, 1px 0 #eeeff0, 0 1px 0 #eeeff0, -1px 0 0 #eeeff0, 0 -1px 0 #eeeff0;
  padding: 10px;
  position: relative;
  z-index: 1;
  /*&::before {
      content: "";
      background: #0099d9;
      width: 70px;
      height: 70px;
      position: absolute;
      top: 0;
      left: 0;
      clip-path: polygon(0 0, 0 100%, 100% 0);
      z-index: -1;
  }

  @include mq(sm) {
      &::before {
          width: 30px;
          height: 30px;
      }
  }*/
}
@media screen and (max-width: 420px) {
  #gourmet .flex .item .inner h4 {
    font-size: 16px;
    padding: 5px;
  }
}
#gourmet .flex .item .inner p {
  font-size: 14px;
  padding: 10px 5px;
}
#gourmet .flex .item .inner p strong {
  font-size: 20px;
}
@media screen and (max-width: 420px) {
  #gourmet .flex .item .inner p strong {
    font-size: 15px;
  }
}
#gourmet .flex .item .inner p:nth-of-type(2) {
  border-top: dotted 2px #E13E6B;
  margin: 0 10px;
}
@media screen and (max-width: 420px) {
  #gourmet .flex .item .inner p {
    font-size: 12px;
    padding: 5px 10px;
  }
}

/**/
/*エクステンド*/
/* #gourmet2 */
#gourmet2 {
  background: repeating-linear-gradient(90deg, #CCE9F6, #CCE9F6 50px, #ffffff 50px, #ffffff 100px) !important;
}
#gourmet2 section {
  margin-top: -5rem;
}
#gourmet2 h3 {
  margin: 2rem 0 3rem;
}
@media screen and (max-width: 420px) {
  #gourmet2 h3 {
    position: relative;
    z-index: 1;
  }
}
#gourmet2 dl.flex dt {
  font-size: 16px;
}
@media screen and (max-width: 420px) {
  #gourmet2 dl.flex dt {
    font-size: 14px;
  }
}
#gourmet2 dl.flex dd {
  font-size: 19px;
  margin-right: 30px;
}
@media screen and (max-width: 420px) {
  #gourmet2 dl.flex dd {
    font-size: 16px;
    margin-right: 0;
  }
}
#gourmet2 dl.flex + p {
  font-size: 18px;
  margin: 1rem 0 4rem;
}
@media screen and (max-width: 420px) {
  #gourmet2 dl.flex + p {
    font-size: 16px;
  }
}
#gourmet2 .flex {
  position: relative;
  z-index: 0;
}
#gourmet2 .flex .gourmet_box02_left {
  position: absolute;
  top: -23vh;
  left: 5%;
  width: 100%;
  max-width: 120px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #gourmet2 .flex .gourmet_box02_left {
    display: none;
  }
}
#gourmet2 .flex .gourmet_box03_left {
  position: absolute;
  top: -28vh;
  left: -3%;
  width: 100%;
  max-width: 150px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #gourmet2 .flex .gourmet_box03_left {
    display: none;
  }
}
#gourmet2 .flex .gourmet_box03_right {
  position: absolute;
  top: -13vh;
  right: 0;
  width: 100%;
  max-width: 230px;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  #gourmet2 .flex .gourmet_box03_right {
    display: none;
  }
}
#gourmet2 .flex .item {
  margin-bottom: 3rem;
  border-radius: 30px;
  background-color: #4DB1E0;
  padding: 15px;
}
@media screen and (max-width: 420px) {
  #gourmet2 .flex .item {
    flex-basis: 49% !important;
    border: solid 2px #0099d9;
  }
}
#gourmet2 .flex .item .inner {
  background-color: #ffffff;
  height: 100%;
}
#gourmet2 .flex .item .inner h4 {
  color: #0099d9;
  font-size: 24px;
  font-weight: bold;
  text-shadow: 1px 1px 0 #eeeff0, -1px 1px 0 #eeeff0, 1px -1px 0 #eeeff0, -1px -1px 0 #eeeff0, 1px 0 #eeeff0, 0 1px 0 #eeeff0, -1px 0 0 #eeeff0, 0 -1px 0 #eeeff0;
  padding: 10px;
  position: relative;
  z-index: 1;
  /*&::before {
      content: "";
      background: #0099d9;
      width: 70px;
      height: 70px;
      position: absolute;
      top: 0;
      left: 0;
      clip-path: polygon(0 0, 0 100%, 100% 0);
      z-index: -1;
  }

  @include mq(sm) {
      &::before {
          width: 30px;
          height: 30px;
      }
  }*/
}
@media screen and (max-width: 420px) {
  #gourmet2 .flex .item .inner h4 {
    font-size: 16px;
    padding: 5px;
  }
}
#gourmet2 .flex .item .inner p {
  font-size: 14px;
  padding: 10px 5px;
}
#gourmet2 .flex .item .inner p strong {
  font-size: 20px;
}
@media screen and (max-width: 420px) {
  #gourmet2 .flex .item .inner p strong {
    font-size: 15px;
  }
}
#gourmet2 .flex .item .inner p:nth-of-type(2) {
  border-top: dotted 2px #E13E6B;
  margin: 0 10px;
}
@media screen and (max-width: 420px) {
  #gourmet2 .flex .item .inner p {
    font-size: 12px;
    padding: 5px 10px;
  }
}

/**/
/*エクステンド*/
/* #goods */
#goods {
  /*非表示*/
  background: #0099d9;
  /*&::before {
      content: "";
      background: url("img/bg_01.png") no-repeat;
      background-size: contain;
      width: 440px;
      height: 440px;
      position: absolute;
      top: -8%;
      right: -5%;
  }

  @include mq() {
      &::before {
          width: 240px;
          height: 240px;
      }
  }

  @include mq(sm) {
      &::before {
          width: 140px;
          height: 140px;
          top: -3%;
      }
  }*/
}
#goods section {
  width: 1500px;
  position: relative;
  padding: 100px 0 200px;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #goods section {
    padding: 50px 0 60px;
  }
}
#goods section h2 {
  padding-bottom: 60px;
}
#goods section::before {
  position: absolute;
  top: 0;
  left: -10%;
  content: "";
  background-image: url(../img/bg_03_left.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  max-width: 25%;
  min-width: 365px;
  height: 100%;
  z-index: -2;
}
#goods section::after {
  position: absolute;
  top: 0;
  right: -10%;
  content: "";
  background-image: url(../img/bg_03_right.png);
  background-size: contain;
  background-repeat: repeat;
  width: 100%;
  max-width: 23.1%;
  min-width: 348px;
  height: 100%;
  z-index: -2;
}
@media screen and (max-width: 768px) {
  #goods section::before {
    max-width: 50%;
    height: 100%;
    background-repeat: repeat;
    left: -20%;
    min-width: auto;
  }
  #goods section::after {
    max-width: 50%;
    height: 100%;
    background-repeat: repeat;
    right: -15%;
    min-width: auto;
  }
}

/**/
/*エクステンド*/
/* #seat */
#seat {
  background-color: #34c3ff;
  /*background: #eeeff0;
  padding-bottom: 25rem;
  background: url("../img/bg_03-04_left.png") repeat-y left,
      url("../img/bg_03-04_right.png") repeat-y top right;
  background-size: contain, contain;

  z-index: -2;
  &::after {
      content: "";
      background: url("img/ticket_bg.jpg") no-repeat top center;
      background-size: cover;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      clip-path: polygon(0 0, 100% 0%, 100% 75%, 0% 100%);
  }*/
}
#seat .inner {
  width: 1500px;
  max-width: 92%;
  position: relative;
  padding: 100px 0 200px;
  margin: auto;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #seat .inner {
    padding: 50px 0 60px;
  }
}
#seat .inner::before {
  position: absolute;
  top: -10px;
  left: -10%;
  content: "";
  background-image: url(../img/bg_03-04_left.png);
  background-size: contain;
  background-repeat: repeat-y;
  width: 100%;
  max-width: 15%;
  min-width: 438px;
  height: calc(100% + 10px);
  z-index: -2;
}
@media screen and (max-width: 768px) {
  #seat .inner::before {
    height: calc(100% + 5px);
    background-size: contain;
    background-repeat: repeat-y;
    width: 100%;
    min-width: 200px;
  }
}
#seat .inner::after {
  position: absolute;
  top: -10px;
  right: -10%;
  content: "";
  background-image: url(../img/bg_03-04_right.png);
  background-size: contain;
  background-repeat: repeat-y;
  width: 100%;
  max-width: 15%;
  min-width: 349px;
  height: calc(100% + 10px);
  z-index: -2;
}
@media screen and (max-width: 768px) {
  #seat .inner::after {
    height: calc(100% + 10px);
    background-size: contain;
    background-repeat: repeat-y;
    width: 100%;
    min-width: 200px;
  }
}
#seat .inner section {
  width: 1000px;
  max-width: 92%;
  margin: 0 auto;
  position: relative;
}
#seat .inner section h2 {
  margin-top: calc(-50px - 6rem);
}
@media screen and (max-width: 420px) {
  #seat .inner section h2 {
    margin-top: 0;
  }
}
#seat .inner section p {
  color: #FFF;
  font-size: 17px;
  margin: 2rem 0 3rem;
}
#seat .inner section p strong {
  color: #ffe200;
  font-size: 26px;
  margin-bottom: 1rem;
  display: block;
}
#seat .inner section h3 {
  margin: 5rem 0 2rem;
}
#seat .inner section ul {
  margin-top: 5rem;
}
#seat .inner section .link {
  margin: 0 20px;
}
@media screen and (max-width: 768px) {
  #seat .inner section .link {
    width: 100%;
    max-width: 290px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 420px) {
  #seat .inner section .link {
    margin: 0 auto 20px;
  }
}
#seat .inner section .link a {
  position: relative;
  background: none;
  color: rgba(255, 255, 255, 0);
  font-size: 18px;
  line-height: auto;
  width: 100%;
  height: auto;
  display: inline-block;
  border: 0px solid #0099d9;
  border-radius: 0px;
  /*
  &:before {
      content: "";
      width: 30px;
      height: 30px;
      position: absolute;
      top: 12px;
      left: 20px;
  }*/
}
@media screen and (max-width: 768px) {
  #seat .inner section .link a {
    padding-left: 0px;
  }
}
#seat .inner section .link a img {
  width: 100%;
  max-width: 100%;
}
#seat .inner section .map {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 10%, rgb(52, 195, 255) 90%);
}
#seat .inner section .pickup2 {
  padding: 100px 0;
}
#seat .inner section .goods a:before {
  background: url("img/shopping_cart.svg");
}
#seat .inner section .goods a:hover:before {
  background: url("img/shopping_cart_o.svg");
}
#seat .inner section .food a:before {
  background: url("img/restaurant.svg");
}
#seat .inner section .food a:hover:before {
  background: url("img/restaurant_o.svg");
}

/**/
/*エクステンド*/
/* #access */
#access {
  background-color: #FDDF8E;
  background-image: radial-gradient(#FEECBB 22%, rgba(225, 225, 225, 0) 22%), radial-gradient(#FEECBB 22%, rgba(225, 225, 225, 0) 22%);
  background-size: 50px 50px;
  background-position: 0 0, 25px 25px;
  padding: 100px 0 120px;
}
@media screen and (max-width: 768px) {
  #access {
    padding: 50px 0 60px;
  }
}
#access h2 + p {
  margin: 2rem 0;
}
#access div {
  width: 960px;
  max-width: 100%;
  margin: 0 auto;
}
#access .panel-group section {
  text-align: left;
  padding-top: 3rem;
}
#access .panel-group h3.LOGO {
  text-align: center;
  margin-bottom: 3rem;
}
#access .panel-group h3.LOGO strong {
  color: #0099d9;
  font-size: 4rem;
  border-bottom: 5px solid #0099d9;
}
@media screen and (max-width: 420px) {
  #access .panel-group h3.LOGO strong {
    font-size: 2.8rem;
    border-bottom: 2px solid #0099d9;
  }
}
#access .panel-group a {
  color: #0099d9;
  text-decoration: underline;
}
#access .panel-group a:hover {
  text-decoration: none;
}

.access {
  background: #FFF;
  border: 2rem solid #1a1a7c;
  border-radius: 4rem;
  padding-bottom: 80px;
  position: relative;
}
@media screen and (max-width: 420px) {
  .access {
    padding-bottom: 20px;
    border: 1rem solid #0099d9;
    border-radius: 2rem;
  }
}

.tab {
  background-size: contain !important;
  width: 200px;
  height: 183px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (max-width: 420px) {
  .tab {
    height: 67px;
  }
}
.tab:nth-child(1) {
  background: url("../img/access_nav_01_off.png") no-repeat;
  border-radius: 1.8rem 0 0 0;
}
@media screen and (max-width: 420px) {
  .tab:nth-child(1) {
    border-radius: 0.9rem 0 0 0;
  }
}
.tab:nth-child(2) {
  background: url("../img/access_nav_02_off.png") no-repeat;
}
.tab:nth-child(3) {
  background: url("../img/access_nav_03_off.png") no-repeat;
}
.tab:nth-child(4) {
  background: url("../img/access_nav_04_off.png") no-repeat;
}
.tab:nth-child(5) {
  background: url("../img/access_nav_05_off.png") no-repeat;
  border-radius: 0 1.8rem 0 0;
}
@media screen and (max-width: 420px) {
  .tab:nth-child(5) {
    border-radius: 0 0.9rem 0 0;
  }
}
.tab:nth-child(1):hover, .tab:nth-child(1).is-active {
  background: url("../img/access_nav_01_on.png") no-repeat;
}
.tab:nth-child(2):hover, .tab:nth-child(2).is-active {
  background: url("../img/access_nav_02_on.png") no-repeat;
}
.tab:nth-child(3):hover, .tab:nth-child(3).is-active {
  background: url("../img/access_nav_03_on.png") no-repeat;
}
.tab:nth-child(4):hover, .tab:nth-child(4).is-active {
  background: url("../img/access_nav_04_on.png") no-repeat;
}
.tab:nth-child(5):hover, .tab:nth-child(5).is-active {
  background: url("../img/access_nav_05_on.png") no-repeat;
}

/**/
/*エクステンド*/
/* #u23 */
#u23 {
  background: #eeeff0;
}
#u23 h2 {
  margin-top: -70px;
}
@media screen and (max-width: 420px) {
  #u23 h2 {
    margin-top: -20px;
  }
}
#u23 section {
  padding-top: 2rem;
}
#u23 p {
  font-size: 17px;
}
@media screen and (max-width: 420px) {
  #u23 p {
    font-size: 14px;
    text-align: left;
  }
}
#u23 .bg_wht {
  text-align: left;
  margin-top: 3rem;
  padding: 2rem;
  border: solid 10px #0099d9;
  outline: solid 5px #0099d9;
  outline-offset: -20px;
}
@media screen and (max-width: 420px) {
  #u23 .bg_wht {
    padding: 1rem;
    border: solid 3px #0099d9;
    outline: solid 2px #0099d9;
    outline-offset: -7px;
  }
}
#u23 p.demo {
  line-height: 500px;
}
@media screen and (max-width: 420px) {
  #u23 p.demo {
    text-align: center;
    line-height: 100px;
  }
}

/* header*/
header h1 img {
  width: 100%;
  max-width: 100%;
}

/* Swiper */
.swiper {
    width: 100%;
    max-width: 1200px;
    margin: 5rem auto;
    padding: 0 30px;
}

.swiper-slide {
  background: #FFF79F;
  border-radius: 15px;
  text-align: left;
  padding: 15px;
}
.swiper-slide h3 {
    color: #0099d9;
    font-size: 27px;
    line-height: 1;
    margin-bottom: 10px;
    /* padding: 0 20px; */
}
.swiper-slide .inner {
    background-color: #FFFFFF;
    padding-bottom: 30px;
    margin: 15px;
}
.swiper-slide .inner div {
  margin-bottom: 20px;
}
.swiper-slide .inner p {
  border-top: dotted 3px #7FC7E9;
  font-size: 17px;
  padding: 10px 5px 0;
  margin: 0 10px;
}
.swiper-slide .inner dl {
  /*width: calc(100% - 40px);
  position: absolute;
  left: 20px;
  bottom: 10px;*/
  margin: 1rem 0;
  padding: 0 15px;
}
.swiper-slide .inner dl dt {
  font-size: 16px;
  border-radius: 20px;
  padding: 0 15px;
}
.swiper-slide .inner dl dd {
  font-size: 21px;
  padding-bottom: 0;
  line-height: 1.1;
}
.swiper-slide.pre {
  background: none;
  padding: 0;
}

/* footer 
------------------------------------------------------------ */
/* #information */
#information a {
  background: #FFE038;
  font-size: 2.3rem;
  font-weight: bold;
  padding: 20px;
  display: block;
}
@media screen and (max-width: 768px) {
  #information a {
    font-size: 1.8rem;
  }
}
#information a:hover {
  background: #004098;
  color: #FFF;
}

/* Copyright */
footer h1 {
  width: 188px;
  margin: 0 auto 30px;
}
footer p {
  color: #FFF;
  font-size: 1.2rem;
}
@media screen and (max-width: 768px) {
  footer p {
    font-size: 1rem;
  }
}
footer p + p {
  font-size: 1.1rem;
}
@media screen and (max-width: 768px) {
  footer p + p {
    font-size: 1rem;
  }
}
footer section {
  padding: 20px 0 100px;
}
@media screen and (max-width: 768px) {
  footer section {
    padding: 20px 0 80px;
  }
}

/* #ticket */
#ticket {
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 3;
}
#ticket a {
  background: #FFBA00;
  color: #FFF;
  font-size: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #ticket a {
    font-size: 3rem;
    height: 60px;
    padding: 0 5%;
  }
}
#ticket a span {
  font-size: 3.2rem;
  padding: 0 10px;
}
@media screen and (max-width: 768px) {
  #ticket a span {
    font-size: 2.2rem;
    padding: 0 5px;
  }
}
#ticket a:hover {
  background: #000;
}

/* #pagetop */
#pagetop {
  right: 1rem;
  bottom: 3rem;
  z-index: 4;
}
#pagetop a {
  background: #004098;
  border-radius: 50%;
}

@media screen and (max-width: 768px) {
  /* iPad以下 */
  /* header
  ------------------------------------------------------------ */
  header {
    margin-top: 60px;
  }
}
@media screen and (max-width: 420px) {
  /* iPhone以下 */
  /* common 
  ------------------------------------------------------------ */
  /* style */
  header section,
main section:not(.accessSection) {
    padding: 3rem 0 5rem;
  }
  dl dt {
    font-size: 12px;
  }
  dl dd {
    font-size: 14px;
  }
  /* header
  ------------------------------------------------------------ */
  /* #nav */
  #nav li {
    flex-basis: 33.333%;
    margin: 0;
  }
  /* footer
  ------------------------------------------------------------ */
  /* #pagetop */
  #pagetop {
    display: none !important;
  }
}
/*非表示用*/
.none {
  display: none;
}

.share__icon__item a.twitter {
  background: #000000 !important;
}