@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=EB+Garamond);
@import url(https://fonts.googleapis.com/css?family=Montserrat);
@font-face {
  font-family: DINNLTP-B;
  src: url(../fonts/DINNLTP-B.otf);
}

@font-face {
  font-family: DINNLTP-B;
  src: url(../fonts/DINNLTP-B.woff);
}

@font-face {
  font-family: DINNLTP-B;
  src: url(../fonts/DINNLTP-B.woff2);
}

@font-face {
  font-family: DINNLTP-B-NUM;
  src: url(../fonts/DINNLTP-B.woff2);
  unicode-range: U+0030-0039;
}

/* mixinの定義 */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loader {
  color: #2E6F3F;
  font-size: 50px;
  text-indent: -9999em;
  overflow: hidden;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  position: absolute;
  left: 50%;
  top: 50%;
  margin: -25px 0 0 -25px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load6 1.7s infinite ease, round 1.7s infinite ease;
  animation: load6 1.7s infinite ease, round 1.7s infinite ease;
}

@-webkit-keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}

@keyframes load6 {
  0% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  5%,
  95% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
  10%,
  59% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.087em -0.825em 0 -0.42em, -0.173em -0.812em 0 -0.44em, -0.256em -0.789em 0 -0.46em, -0.297em -0.775em 0 -0.477em;
  }
  20% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.338em -0.758em 0 -0.42em, -0.555em -0.617em 0 -0.44em, -0.671em -0.488em 0 -0.46em, -0.749em -0.34em 0 -0.477em;
  }
  38% {
    box-shadow: 0 -0.83em 0 -0.4em, -0.377em -0.74em 0 -0.42em, -0.645em -0.522em 0 -0.44em, -0.775em -0.297em 0 -0.46em, -0.82em -0.09em 0 -0.477em;
  }
  100% {
    box-shadow: 0 -0.83em 0 -0.4em, 0 -0.83em 0 -0.42em, 0 -0.83em 0 -0.44em, 0 -0.83em 0 -0.46em, 0 -0.83em 0 -0.477em;
  }
}

@-webkit-keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes round {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes grdAiguille {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@-o-keyframes grdAiguille {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(360deg);
  }
}

@-ms-keyframes grdAiguille {
  0% {
    -ms-transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
  }
}

@-webkit-keyframes grdAiguille {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes grdAiguille {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
  }
}

@keyframes ptAiguille {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@-o-keyframes ptAiguille {
  0% {
    -o-transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(360deg);
  }
}

@-ms-keyframes ptAiguille {
  0% {
    -ms-transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
  }
}

@-webkit-keyframes ptAiguille {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}

@-moz-keyframes ptAiguille {
  0% {
    -moz-transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
  }
}

.allloaded {
  opacity: 0;
  visibility: hidden;
}

@keyframes sdl {
  0% {
    transform: translateY(-70px);
  }
  50%, 100% {
    transform: translateY(30px);
  }
}

* {
  box-sizing: border-box;
  font-style: normal;
}

body {
  margin: 0;
  padding: 0;
  color: #000;
  overflow-x: hidden;
  background-size: 50%;
  min-height: 100vh;
  z-index: 0;
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

body a {
  text-decoration: none;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #006666;
  transition: all .4s;
}

body a:hover, body a:active, body a:focus {
  color: black;
}

body:after {
  display: block;
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  /* 背景カラー */
  z-index: 9999;
  /* 一番手前に */
  pointer-events: none;
  /* 他の要素にアクセス可能にするためにポインターイベントは無効に */
  opacity: 0;
  /* 初期値では非表示 */
  -webkit-transition: opacity .5s ease;
  /* アニメーション時間は 0.5秒 */
  -ms-transition: opacity .5s ease;
  -moz-transition: opacity .5s ease;
  transition: opacity .5s ease;
}

body.fadeout:after {
  opacity: 1;
}

header {
  position: absolute;
  width: 100%;
  z-index: 6;
}

header h1 {
  width: 300px;
  height: 80px;
  margin: 10px auto;
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  header h1 {
    width: 160px;
    height: 45px;
    margin: 5px auto 0;
  }
}

header h1 a {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../images/share/logo_white.svg") no-repeat center;
  background-size: contain;
  text-indent: -9999px;
}

header .header-nav {
  position: absolute;
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 10px;
  top: 0;
}

@media screen and (max-width: 768px) {
  header .header-nav {
    padding: 7.5px;
  }
}

header .header-nav #search-wrap {
  width: auto;
  height: 50px;
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  header .header-nav #search-wrap {
    height: 40px;
  }
}

header .header-nav #search-wrap #form-box {
  display: block;
  position: absolute;
  top: 0px;
  left: 25px;
  width: 0px;
  overflow: hidden;
  transition: 0.3s width cubic-bezier(0, 0.795, 0, 1);
  background: #FFF;
  border-radius: 0 30px 30px 0;
}

@media screen and (max-width: 768px) {
  header .header-nav #search-wrap #form-box {
    border-radius: 0 20px 20px 0;
    left: 20px;
  }
}

header .header-nav #search-wrap #form-box.open {
  display: block;
  width: 300px;
  transition: .3s all;
}

header .header-nav #search-wrap input[type="text"] {
  height: 40px;
  font-size: 1.6rem;
  display: inline-block;
  font-weight: 100;
  border: none;
  outline: none;
  color: #555;
  padding: 10px;
  padding-right: 50px;
  position: absolute;
  top: 5px;
  left: 25px;
  background: #FFF;
  z-index: 2;
  width: calc(100% - 75px);
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  header .header-nav #search-wrap input[type="text"] {
    height: 30px;
  }
}

header .header-nav #search-wrap input[type="text"]:focus:hover {
  border-bottom: 1px solid #BBB;
}

header .header-nav #search-wrap input[type="text"]:focus {
  z-index: 1;
  border-bottom: 1px solid #BBB;
  cursor: text;
}

header .header-nav #search-wrap input[type="submit"] {
  border: none;
  background: none;
  position: relative;
  width: 50px;
  height: 50px;
  float: right;
  text-indent: -10000px;
  background: url("../images/icon/glass_blue.svg") no-repeat center center;
  background-size: 20px;
}

@media screen and (max-width: 768px) {
  header .header-nav #search-wrap input[type="submit"] {
    width: 40px;
    height: 40px;
  }
}

header .header-nav a, header .header-nav button {
  display: block;
  width: 50px;
  height: 50px;
  color: #FFF;
  border-radius: 30px;
  transition: .3s all;
}

@media screen and (max-width: 768px) {
  header .header-nav a, header .header-nav button {
    width: 40px;
    height: 40px;
  }
}

header .header-nav a.btnSearch, header .header-nav button.btnSearch {
  text-indent: -9999px;
  position: relative;
  border: none;
  background: none;
  z-index: 4;
  cursor: pointer;
}

header .header-nav a.btnSearch:after, header .header-nav button.btnSearch:after {
  width: 20px;
  height: 20px;
  font-family: icomoon;
  content: '\e910';
  font-size: 2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-indent: 0;
}

header .header-nav a.btnSearch:hover, header .header-nav button.btnSearch:hover {
  color: #0093E9;
  background: #FFF;
}

header .header-nav a.btnSearch.active, header .header-nav button.btnSearch.active {
  color: #0093E9;
  background: #FFF;
}

header .header-nav a.btnSearch.active:after, header .header-nav button.btnSearch.active:after {
  font-family: icomoon;
  content: '\e91b';
}

header .header-nav a.btnEng, header .header-nav button.btnEng {
  font-family: DINNLTP-B;
  font-weight: 100;
  font-size: 1.8rem;
  line-height: 50px;
  text-align: center;
}

header .header-nav a.btnEng:hover, header .header-nav button.btnEng:hover {
  color: #0093E9;
  background: #FFF;
}

header .header-nav .menuBtn {
  display: none;
  color: #FFF;
  text-align: center;
  height: 100%;
  position: relative;
}

@media screen and (max-width: 1000px) {
  header .header-nav .menuBtn {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  header .header-nav .menuBtn {
    display: none;
  }
}

header .header-nav .menuBtn em {
  position: absolute;
  display: block;
  width: 100%;
  bottom: 12px;
  text-align: center;
  font-weight: 600;
}

header .header-nav .menuBtn #hamburger {
  margin: 25px auto 0;
}

header.m_fixed {
  position: fixed;
  top: 0px;
  transition: .2s all;
  background: #FFF;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
}

header.m_fixed h1 {
  width: 250px;
  height: 50px;
  margin: 10px auto;
  transition: .2s all;
}

header.m_fixed h1 a {
  background: url("../images/share/logo_blue.svg") no-repeat center center;
  background-size: contain;
}

@media screen and (max-width: 768px) {
  header.m_fixed h1 {
    width: 240px;
    height: 40px;
    margin: 10px auto;
    transition: .2s all;
  }
  header.m_fixed h1 a {
    background: url("../images/share/logo_blue.svg") no-repeat center center;
    background-size: contain;
  }
}

header.m_fixed .header-nav a, header.m_fixed .header-nav button {
  color: #0093E9;
}

header.m_fixed .header-nav a:hover, header.m_fixed .header-nav a.active, header.m_fixed .header-nav button:hover, header.m_fixed .header-nav button.active {
  color: #FFF;
  background: #0093E9;
}

header.m_fixed .header-nav #search-wrap #form-box {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

#first {
  background: url("../images/index/img_visual01.jpg") no-repeat;
  background-size: cover;
  position: relative;
  padding: 150px 0 0;
}

.under #first {
  background: none;
  height: 240px;
  padding: 0;
}

.under #first h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  color: #FFF;
  font-size: 2.8rem;
  letter-spacing: .2rem;
}

#facility-detail.under #first {
  height: 330px;
}

@media screen and (max-width: 768px) {
  #facility-detail.under #first {
    height: 110px;
    padding: 0;
  }
}

#facilities-search #first,
#event-cal #first {
  background: url("../images/index/img_visual01.jpg") no-repeat bottom;
  background-size: cover;
}

@media screen and (max-width: 768px) {
  #first {
    height: 32vh;
    padding: 60px 0 0;
  }
  .under #first {
    height: 110px;
  }
  #event-cal #first,
  #facilities-search #first {
    height: 110px;
  }
}

#first .snsBtn {
  width: 25px;
  height: calc(100% - 200px);
  position: absolute;
  z-index: 4;
  top: 150px;
  left: 8.65%;
  color: #FFF;
}

#first .snsBtn:after {
  content: '';
  height: calc(100% - 220px);
  width: 1px;
  background: #FFF;
  display: block;
  top: 110px;
  position: absolute;
  left: 50%;
}

#first .snsBtn .followMe {
  font-family: DINNLTP-B;
  transform: rotate(90deg) translate(0px, -25px);
  transform-origin: left top;
  font-size: 1.8rem;
  line-height: 30px;
  width: 120px;
  position: relative;
}

#first .snsBtn ul {
  height: calc(100% - 40px);
  position: relative;
}

#first .snsBtn ul li {
  position: absolute;
}

#first .snsBtn ul li:nth-child(1) {
  bottom: 60px;
}

#first .snsBtn ul li:nth-child(2) {
  bottom: 30px;
}

#first .snsBtn ul li a {
  color: #FFF;
  position: relative;
  width: 25px;
  height: 25px;
  display: block;
}

#first .snsBtn ul li a span {
  display: block;
  text-indent: -9999px;
}

#first .snsBtn ul li a:after {
  display: block;
  font-family: icomoon;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 2.4rem;
}

#first .snsBtn ul li a.btn-fb:after {
  content: '\e90d';
}

#first .snsBtn ul li a.btn-tw:after {
  content: '\e90c';
}

@media screen and (max-width: 768px) {
  #first .snsBtn {
    display: none;
  }
}

#first .grabg {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(30deg, #0093E9, #80D0C7);
  background-size: 200%;
  background-position: 0 0;
  transition: all .2s ease-out;
  z-index: 1;
  opacity: 0;
}

#first .grabg:hover, #first .grabg:active, #first .grabg:focus {
  background-position: 100% 0;
  transition: all .2s ease-out;
}

#first .arrow {
  display: none;
}

@media screen and (max-width: 768px) {
  #first .arrow {
    display: none;
    width: 30px;
    height: 40px;
    background: #FFF;
    border-radius: 5px 0 0 0;
    position: absolute;
    bottom: 0px;
    right: 0px;
    z-index: 5;
    border: none;
    box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.1);
  }
  #first .arrow:after {
    font-family: icomoon;
    content: '\e907';
    font-size: 2em;
    color: #0093E9;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}

#first .wave {
  position: absolute;
  bottom: -1px;
  z-index: 2;
  transform: translateY(-1px);
  width: 100%;
  height: 200px;
}

#first #waveCanvas {
  width: 100%;
  height: 100px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  #first #waveCanvas {
    display: none;
  }
}

#fadeWrap {
  display: none;
}

#bigSlide {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 3;
}

#bigSlide.swiper-container {
  overflow-x: hidden;
}

#bigSlide article {
  height: 0;
  padding-top: 44%;
  border-radius: 10px;
  background: #FFF;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 20px rgba(0, 147, 233, 0.5);
}

#bigSlide article a {
  color: #000;
  display: block;
}

@media screen and (max-width: 768px) {
  #bigSlide article a {
    color: #FFF;
  }
}

#bigSlide article a:hover {
  color: #969696;
}

#bigSlide article a.detail {
  display: block;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 768px) {
  #bigSlide article a.detail {
    color: #FFF;
  }
}

#bigSlide article a.btn-goList {
  width: 150px;
  border-radius: 0 0 10px 0;
  color: #FFF;
  background: #000;
  font-size: 1.4rem;
  text-align: center;
  white-space: nowrap;
  order: 5;
  position: relative;
  right: 0px;
  font-family: DINNLTP-B;
}

#bigSlide article a.btn-goList:after {
  content: '';
  position: absolute;
  width: 20px;
  height: 1px;
  background: #FFF;
  top: 49%;
  right: 0px;
  transition: ease-in-out all .2s;
}

#bigSlide article a.btn-goList:hover {
  background: #0093E9;
  transition: ease-in-out all .2s;
}

#bigSlide article a.btn-goList:hover:after {
  width: 10px;
  transition: ease-in-out all .2s;
}

#bigSlide article a.btn-goList span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  #bigSlide article a.btn-goList {
    width: 100%;
    height: 100%;
    background: none;
  }
  #bigSlide article a.btn-goList span {
    display: none;
  }
  #bigSlide article a.btn-goList:after {
    display: none;
  }
}

#bigSlide article figure {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#bigSlide article figure a {
  display: block;
}

#bigSlide article figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

#bigSlide article figure figcaption {
  position: absolute;
  background: #FFF;
  border-radius: 0 0 10px 10px;
  width: 100%;
  bottom: 0px;
  z-index: 2;
  padding: 0;
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  #bigSlide article figure figcaption {
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));
    display: flex;
    /* Safari */
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    padding: 0;
    height: 100%;
  }
}

#bigSlide article figure figcaption .tit {
  font-size: 2.1rem;
  line-height: 1.4em;
  padding: 20px;
  order: 1;
  width: calc(100% - 280px);
}

@media screen and (max-width: 1200px) {
  #bigSlide article figure figcaption .tit {
    font-size: 1.6rem;
  }
}

@media screen and (max-height: 550px) {
  #bigSlide article figure figcaption .tit {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  #bigSlide article figure figcaption .tit {
    font-size: 1.2rem;
    color: #FFF;
    padding: 10px;
    line-height: 1.4em;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: 0px;
  }
  #bigSlide article figure figcaption .tit a {
    display: block;
    height: 100%;
    position: relative;
  }
  #bigSlide article figure figcaption .tit a span {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

#bigSlide article figure figcaption .fac-name {
  display: inline-block;
  order: 2;
  font-size: 1.2rem;
  padding: 10px;
  vertical-align: middle;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
  #bigSlide article figure figcaption .fac-name {
    display: block;
    font-size: 1rem;
    color: #FFF;
  }
}

#bigSlide article figure figcaption .cat-name {
  display: inline-block;
  vertical-align: middle;
  white-space: nowrap;
  font-size: 1.2rem;
  order: 4;
  padding: 10px;
  margin: 0 15px;
  background: #000;
  color: #FFF;
  border-radius: 5px;
}

@media screen and (max-width: 768px) {
  #bigSlide article figure figcaption .cat-name {
    display: none;
  }
}

#bigSlide article figure figcaption time {
  display: block;
  order: 3;
  font-size: 1.2rem;
  position: relative;
  width: 130px;
}

#bigSlide article figure figcaption time span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  #bigSlide article figure figcaption time {
    display: none;
  }
}

.slider-main .swiper-wrapper {
  max-width: calc(100% - 300px);
  position: absolute;
  top: 0;
}

@media screen and (max-width: 1000px) {
  .slider-main .swiper-wrapper {
    position: absolute;
    top: 50%;
    margin-top: -22%;
  }
}

@media screen and (max-width: 1000px) and (max-height: 550px) {
  .slider-main .swiper-wrapper {
    /* 高さ550px以下の場合 */
    position: absolute;
    top: 0;
    margin-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .slider-main .swiper-wrapper {
    max-width: calc(100% - 120px);
    position: static;
    margin-top: 0;
  }
}

.slider-main .swiper-slide {
  transform: scale(0.9);
  transition: .2s all;
}

.slider-main .swiper-slide.swiper-slide-active {
  transform: scale(1);
}

@media screen and (max-width: 768px) {
  .slider-main .swiper-button-next, .slider-main .swiper-button-prev {
    top: 50%;
    width: 13.5px;
    height: 22px;
    margin-top: -6px;
    background-size: 13.5px 22px;
  }
}

@media screen and (max-width: 768px) {
  .slider-main .swiper-pagination {
    display: none;
  }
}

.slideNone .swiper-button-next, .slideNone .swiper-button-prev, .slideNone .swiper-pagination {
  display: none;
}

.facilities-slide .swiper-button-next, .facilities-slide .swiper-button-prev, .facilities-slide .swiper-pagination {
  display: none;
}

.facilities-slide.active .swiper-button-next, .facilities-slide.active .swiper-button-prev, .facilities-slide.active .swiper-pagination {
  display: block;
}

@media screen and (max-width: 768px) {
  .slider-news .swiper-button-next, .slider-news .swiper-button-prev, .slider-top-cal .swiper-button-next, .slider-top-cal .swiper-button-prev {
    display: none;
  }
}

main {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  position: relative;
  padding: 50px 0 200px;
}

@media screen and (max-width: 768px) {
  main {
    margin-top: -5px;
    padding: 10px 0 20px;
    position: relative;
    z-index: 4;
    box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.1);
  }
  .under main {
    margin-top: 0;
    padding: 0 0 20px;
  }
}

main h1 {
  font-size: 6rem;
  letter-spacing: .3rem;
  width: 100%;
  text-align: center;
  margin: 0 0 50px;
  font-family: DINNLTP-B, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

@media screen and (max-width: 768px) {
  main h1 {
    font-size: 3.6rem;
    margin: 30px 0 10px;
  }
}

main h1 em {
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  main h1 em {
    display: block;
    text-align: center;
  }
}

main article {
  width: 70%;
  background: #F5FAFC;
  border-radius: 0 10px 10px 0;
  padding: 50px 0 50px 50px;
}

main article.full-w {
  width: 1200px;
  padding: 0 50px 50px;
  margin: 0 auto;
  background: #FFF;
}

@media screen and (max-width: 1200px) {
  main article.full-w {
    width: 100%;
    padding: 0 50px 50px;
  }
}

@media screen and (max-width: 768px) {
  main article.full-w {
    padding: 0 20px 20px;
  }
}

#top main article {
  background: none;
  padding: 0;
}

#top main article section {
  padding: 50px 0 50px 50px;
  padding: 50px 0;
}

#top main article section:first-child {
  padding: 0 0 50px 0;
}

@media screen and (max-width: 768px) {
  #top main article section:first-child {
    padding: 20px 0 30px;
  }
}

@media screen and (max-width: 768px) {
  #top main article section {
    padding: 20px 0 30px;
    margin: 0;
  }
}

#top main article section .swiper-container {
  padding: 0 0 0 50px;
}

@media screen and (max-width: 768px) {
  #top main article section .swiper-container {
    padding: 0;
  }
}

#top main article section .button {
  display: block;
  margin: 50px auto 0;
}

@media screen and (max-width: 768px) {
  #top main article section .button {
    position: static;
    margin: 20px auto 0;
  }
}

#facilities-search main article,
#event-cal main article {
  background: #FFF;
  margin-top: -50px;
  padding: 50px;
}

@media screen and (max-width: 768px) {
  #facilities-search main article,
  #event-cal main article {
    margin: 0;
    padding: 20px;
  }
}

#facility-detail main article,
#fixed-page main article {
  background: #FFF;
}

@media screen and (max-width: 768px) {
  #fixed-page main article {
    margin: 0;
    padding: 20px;
  }
}

@media screen and (max-width: 768px) {
  main article {
    width: 100%;
    background: #FFF;
    border-radius: 5px 0 0;
    padding: 0;
  }
}

#facility-detail main article h1 {
  font-size: 2.8rem;
  text-align: left;
  font-family: DINNLTP-B;
}

@media screen and (max-width: 768px) {
  #facility-detail main article h1 {
    font-size: 2.2rem;
    padding: 0;
    margin: 0 0 0 10px;
  }
}

main article h2 {
  font-size: 2.8rem;
  line-height: 1.1em;
  font-family: DINNLTP-B;
  text-align: center;
  display: block;
  font-size: 3.4rem;
  letter-spacing: .4rem;
}

@media screen and (max-width: 768px) {
  main article h2 {
    font-size: 2.2rem;
    padding: 0;
    margin: 0 0 0 10px;
  }
}

main article h2 em {
  font-size: 1.5rem;
  text-align: center;
  display: block;
}

@media screen and (max-width: 768px) {
  main article h2 em {
    font-size: 1rem;
  }
}

main article h2 + span {
  display: block;
  text-align: right;
  padding: 10px 15px;
}

main article h2.todays-event {
  background: white;
  background: linear-gradient(180deg, white 20%, #f5fafc 20%, #f5fafc 73%, white 73%);
  margin: 0;
}

main aside {
  width: 30%;
  padding: 0 50px;
}

#top main aside {
  background: #F5FAFC;
  padding: 50px;
  margin-top: -50px;
  border-radius: 10px 0 0 10px;
  box-shadow: -10px 0 10px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  #top main aside {
    width: 100%;
    padding: 20px;
    margin: 50px 0 0;
  }
}

@media screen and (max-width: 768px) {
  main aside {
    width: 100%;
    background: #FFF;
    padding: 20px;
    margin: 50px 0 0;
  }
}

main aside h2 {
  font-size: 2.8rem;
  line-height: 1.1em;
  font-family: DINNLTP-B;
  display: inline-block;
  padding: 0 15px 0 0;
  text-align: center;
  display: block;
  font-size: 3.4rem;
  letter-spacing: .4rem;
}

@media screen and (max-width: 768px) {
  main aside h2 {
    font-size: 2.2rem;
    margin-bottom: 15px;
  }
}

main aside h2 em {
  font-size: 1.5rem;
  text-align: center;
  display: block;
}

@media screen and (max-width: 768px) {
  main aside h2 em {
    font-size: 1rem;
  }
}

main aside .button {
  display: block;
  margin: 50px auto 0;
}

@media screen and (max-width: 768px) {
  main aside .button {
    position: static;
    margin: 20px auto 0;
  }
}

main .wave {
  position: absolute;
  width: 100%;
  height: 200px;
  bottom: 0;
}

main #waveCanvas2 {
  width: 100%;
  height: 100px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  main #waveCanvas2 {
    display: none;
  }
}

footer {
  font-size: 1.4rem;
  background: #0093E9;
}

footer a {
  color: #FFF;
  position: relative;
}

footer a:after {
  content: '';
  height: 1px;
  width: 0;
  position: absolute;
  bottom: -1px;
  left: 0;
  transition: all .2s;
  background: #FFF;
}

footer a:hover {
  color: #FFF;
}

footer a:hover:after {
  content: '';
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: -5px;
  transition: all .2s;
}

footer #f-top {
  width: calc(100% - 100px);
  margin: 0 auto;
  padding: 50px 0;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  footer #f-top {
    width: calc(100% - 50px);
    padding: 25px 0;
    display: block;
  }
}

footer #f-top .f-top-menu {
  width: 50%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  footer #f-top .f-top-menu {
    width: 100%;
  }
}

footer #f-top .f-top-menu li {
  margin: 0 20px 20px 0;
}

@media screen and (max-width: 768px) {
  footer #f-top .f-top-menu li {
    margin: 10px 0;
  }
}

footer #f-top .sns-etc {
  width: 150px;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  footer #f-top .sns-etc {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

footer #f-top .sns-etc li {
  width: 30px;
  height: 30px;
  margin: 10px 5px;
}

footer #f-top .sns-etc li:nth-child(1) {
  font-family: DINNLTP-B;
}

footer #f-top .sns-etc li:nth-child(1) a {
  font-size: 2.4rem;
  line-height: 37px;
  text-align: center;
}

footer #f-top .sns-etc li a {
  color: #FFF;
  position: relative;
  width: 30px;
  height: 30px;
  display: block;
}

footer #f-top .sns-etc li a span {
  display: block;
  text-indent: -9999px;
}

footer #f-top .sns-etc li a:after {
  display: block;
  font-family: icomoon;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-size: 2.4rem;
  width: 30px;
  height: 30px;
  background: none;
  line-height: 30px;
  text-align: center;
}

footer #f-top .sns-etc li a.btn-fb:after {
  content: '\e90d';
}

footer #f-top .sns-etc li a.btn-tw:after {
  content: '\e90c';
}

@media screen and (max-width: 768px) {
  footer #f-top .sns-etc {
    width: 100%;
  }
}

footer #f-bottom {
  border-top: 1px solid #FFF;
  width: calc(100% - 100px);
  margin: 0 auto;
  padding: 50px 0;
  color: #FFF;
}

@media screen and (max-width: 768px) {
  footer #f-bottom {
    width: calc(100% - 50px);
    padding: 25px 0 120px;
  }
}

footer #f-bottom .f-bottom-menu {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

footer #f-bottom .f-bottom-menu li {
  margin: 0 20px 20px 0;
}

footer #f-bottom .f-bottom-menu li a {
  color: #FFF;
}

footer #f-bottom span:last-child {
  line-height: 1.4em;
}

@media screen and (max-width: 768px) {
  footer #f-bottom span:last-child {
    font-size: 1.2rem;
    display: block;
    padding: 25px 0 0 0;
    border-top: 1px solid #FFF;
    text-align: center;
  }
}

#todaysNews {
  content-visibility: auto;
  contain-intrinsic-size: 500px;
  position: relative;
}

@media screen and (max-width: 768px) {
  #todaysNews {
    padding: 10px;
  }
}

#todaysNews ul.newsList {
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
}

#todaysNews ul.newsList li {
  width: 320px;
  margin: 15px;
}

@media screen and (max-width: 768px) {
  #todaysNews ul.newsList li {
    width: 160px;
    margin: 5px;
  }
}

#todaysNews ul.newsList li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  color: black;
}

#todaysNews ul.newsList li a figure {
  width: 320px;
  height: 180px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

@media screen and (max-width: 768px) {
  #todaysNews ul.newsList li a figure {
    width: 160px;
    height: 100px;
  }
}

#todaysNews ul.newsList li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
}

#todaysNews ul.newsList li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

#todaysNews ul.newsList li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  #todaysNews ul.newsList li a .despArea .tit {
    font-size: 1.2rem;
    order: 2;
  }
}

#todaysNews ul.newsList li a .despArea .fac-name {
  display: block;
  width: 100%;
  line-height: 1.2em;
  order: 4;
}

@media screen and (max-width: 768px) {
  #todaysNews ul.newsList li a .despArea .fac-name {
    text-align: right;
  }
}

#todaysNews ul.newsList li a .despArea .cat-name {
  display: block;
  width: 65%;
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
  #todaysNews ul.newsList li a .despArea .cat-name {
    width: 100%;
  }
}

#todaysNews ul.newsList li a .despArea time {
  display: block;
  width: 30%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

@media screen and (max-width: 768px) {
  #todaysNews ul.newsList li a .despArea time {
    width: 100%;
    order: 3;
    margin: 0;
  }
}

#todaysNews ul.newsList li a:hover {
  color: #656565;
}

#todaysNews ul.newsList li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

@media screen and (max-width: 768px) {
  #todaysNews ul.newsList {
    display: block;
    padding: 0 10px;
    box-sizing: border-box;
  }
  #todaysNews ul.newsList li {
    display: block;
    width: 100%;
    margin: 0;
    border-top: 1px solid #EAEAEA;
  }
  #todaysNews ul.newsList li:last-child {
    border-bottom: 1px solid #EAEAEA;
  }
  #todaysNews ul.newsList li a {
    display: flex;
    /* Safari */
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    padding: 2.5px 0;
  }
  #todaysNews ul.newsList li a figure {
    width: 60px;
    height: 60px;
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    background: #EAEAEA;
  }
  #todaysNews ul.newsList li a .despArea {
    width: calc(100% - 60px);
  }
  #todaysNews ul.newsList li a .despArea .tit {
    display: block;
    width: 100%;
    order: 1;
    margin: 0 0 5px 10px;
    font-size: 1.2rem;
    line-height: 1.4em;
  }
  #todaysNews ul.newsList li a .despArea .fac-name {
    width: calc(50% - 10px);
    line-height: 20px;
    order: 2;
    margin: 0 0 0 10px;
    color: #969696;
  }
  #todaysNews ul.newsList li a .despArea .cat-name {
    width: calc(50% - 10px);
    margin: 0 0 0 10px;
  }
  #todaysNews ul.newsList li a .despArea time {
    width: 50%;
    display: none;
  }
  #todaysNews ul.newsList .tit {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    /** webkit以外のフォールバック */
    line-height: 1.4rem;
    max-height: calc(1.6rem*2);
  }
}

#special {
  content-visibility: auto;
  contain-intrinsic-size: 500px;
  margin-bottom: 50px;
  position: relative;
  padding: 50px 0 50px 150px !important;
  position: relative;
}

@media screen and (max-width: 768px) {
  #special {
    padding: 15px 0 25px !important;
    background: #F5FAFC;
  }
}

#special:after {
  position: absolute;
  top: 0px;
  right: 0px;
  width: calc(100% - 250px);
  transform: scaleX(0);
  transform-origin: right;
  height: 100%;
  transition: all .3s;
  content: '';
  border-radius: 10px 0 0 10px;
  background: linear-gradient(30deg, #0093E9, #80D0C7);
  background-size: 200%;
  background-position: 0 0;
  transition: all .2s ease-out;
  z-index: -1;
}

#special:after:hover, #special:after:active, #special:after:focus {
  background-position: 100% 0;
  transition: all .2s ease-out;
}

@media screen and (max-width: 768px) {
  #special:after {
    width: calc(100% - 55px);
    display: none;
  }
}

#special.active:after {
  transform: scaleX(1);
  transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
}

#special h2 {
  transform: rotate(90deg);
  transform-origin: 0 0;
  position: absolute;
  left: 120px;
  top: 20px;
  z-index: 10;
  color: #C4B172;
}

@media screen and (max-width: 768px) {
  #special h2 {
    left: 40px;
    top: 30px;
  }
}

#special h2 em {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  transform: rotate(-90deg);
  transform-origin: 0 0;
  margin: 40px 0 0 0;
}

@media screen and (max-width: 768px) {
  #special h2 em {
    margin: 20px 0 0 0;
  }
}

#special .swiper-container {
  padding: 0 !important;
}

#special .swiper-container li {
  transition: all .3s;
}

#special .swiper-container li.swiper-slide-active {
  transition: all .3s;
  width: 420px;
}

#special .swiper-container li.swiper-slide-active figure {
  width: 100%;
  height: 240px;
}

#special ul {
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
  align-self: auto;
}

#special ul li {
  width: 320px;
  margin: 15px;
}

@media screen and (max-width: 768px) {
  #special ul li {
    width: 160px;
    margin: 5px;
  }
}

#special ul li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  color: black;
}

#special ul li a figure {
  width: 320px;
  height: 180px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

@media screen and (max-width: 768px) {
  #special ul li a figure {
    width: 160px;
    height: 100px;
  }
}

#special ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
}

#special ul li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

#special ul li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  #special ul li a .despArea .tit {
    font-size: 1.2rem;
    order: 2;
  }
}

#special ul li a .despArea .fac-name {
  display: block;
  width: 100%;
  line-height: 1.2em;
  order: 4;
}

@media screen and (max-width: 768px) {
  #special ul li a .despArea .fac-name {
    text-align: right;
  }
}

#special ul li a .despArea .cat-name {
  display: block;
  width: 65%;
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
  #special ul li a .despArea .cat-name {
    width: 100%;
  }
}

#special ul li a .despArea time {
  display: block;
  width: 30%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

@media screen and (max-width: 768px) {
  #special ul li a .despArea time {
    width: 100%;
    order: 3;
    margin: 0;
  }
}

#special ul li a:hover {
  color: #656565;
}

#special ul li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

@media screen and (max-width: 768px) {
  #special ul {
    padding: 5px 5px 5px 55px;
    display: flex;
    /* Safari */
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
  }
}

#special ul li {
  height: auto;
}

@media screen and (max-width: 768px) {
  #special ul li {
    margin: 10px;
    width: calc((100% - 100px) / 2);
  }
  #special ul li:first-child {
    width: calc(100% - 80px);
  }
}

#special ul li a {
  border-radius: 5px;
  height: 100%;
}

#special ul li a figure {
  width: 100%;
}

#special ul li a .cat-name {
  background-color: #C4B172 !important;
  color: #FFF !important;
}

#special ul li a time {
  color: #FFF !important;
}

@media screen and (max-width: 768px) {
  #special ul li a time {
    color: #000 !important;
  }
}

@media screen and (max-width: 768px) {
  #special .swiper-button-prev, #special .swiper-button-next {
    display: none;
  }
}

#special a.button:hover {
  background-color: #C4B172 !important;
  color: #FFF !important;
}

#recommend {
  content-visibility: auto;
  contain-intrinsic-size: 500px;
  margin-bottom: 50px;
  position: relative;
}

#recommend ul {
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
}

#recommend ul li {
  width: 320px;
  margin: 15px;
}

@media screen and (max-width: 768px) {
  #recommend ul li {
    width: 160px;
    margin: 5px;
  }
}

#recommend ul li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  color: black;
}

#recommend ul li a figure {
  width: 320px;
  height: 180px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

@media screen and (max-width: 768px) {
  #recommend ul li a figure {
    width: 160px;
    height: 100px;
  }
}

#recommend ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
}

#recommend ul li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

#recommend ul li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  #recommend ul li a .despArea .tit {
    font-size: 1.2rem;
    order: 2;
  }
}

#recommend ul li a .despArea .fac-name {
  display: block;
  width: 100%;
  line-height: 1.2em;
  order: 4;
}

@media screen and (max-width: 768px) {
  #recommend ul li a .despArea .fac-name {
    text-align: right;
  }
}

#recommend ul li a .despArea .cat-name {
  display: block;
  width: 65%;
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
  #recommend ul li a .despArea .cat-name {
    width: 100%;
  }
}

#recommend ul li a .despArea time {
  display: block;
  width: 30%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

@media screen and (max-width: 768px) {
  #recommend ul li a .despArea time {
    width: 100%;
    order: 3;
    margin: 0;
  }
}

#recommend ul li a:hover {
  color: #656565;
}

#recommend ul li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

@media screen and (max-width: 768px) {
  #recommend ul {
    padding: 5px;
  }
}

#art-culture {
  content-visibility: auto;
  contain-intrinsic-size: 500px;
  margin-bottom: 50px;
  position: relative;
}

#art-culture ul {
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
}

#art-culture ul li {
  width: 320px;
  margin: 15px;
}

@media screen and (max-width: 768px) {
  #art-culture ul li {
    width: 160px;
    margin: 5px;
  }
}

#art-culture ul li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  color: black;
}

#art-culture ul li a figure {
  width: 320px;
  height: 180px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

@media screen and (max-width: 768px) {
  #art-culture ul li a figure {
    width: 160px;
    height: 100px;
  }
}

#art-culture ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
}

#art-culture ul li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

#art-culture ul li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  #art-culture ul li a .despArea .tit {
    font-size: 1.2rem;
    order: 2;
  }
}

#art-culture ul li a .despArea .fac-name {
  display: block;
  width: 100%;
  line-height: 1.2em;
  order: 4;
}

@media screen and (max-width: 768px) {
  #art-culture ul li a .despArea .fac-name {
    text-align: right;
  }
}

#art-culture ul li a .despArea .cat-name {
  display: block;
  width: 65%;
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 0 0;
}

@media screen and (max-width: 768px) {
  #art-culture ul li a .despArea .cat-name {
    width: 100%;
  }
}

#art-culture ul li a .despArea time {
  display: block;
  width: 30%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

@media screen and (max-width: 768px) {
  #art-culture ul li a .despArea time {
    width: 100%;
    order: 3;
    margin: 0;
  }
}

#art-culture ul li a:hover {
  color: #656565;
}

#art-culture ul li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

@media screen and (max-width: 768px) {
  #art-culture ul {
    padding: 5px;
  }
}

.ranking {
  margin-bottom: 50px;
}

.ranking ul {
  display: block;
  margin: 0 0 20px;
}

.ranking ul li {
  display: block;
  width: 100%;
  margin: 0;
  border-top: 1px solid #EAEAEA;
  padding: 10px 0;
}

.ranking ul li:last-child {
  border-bottom: 1px solid #EAEAEA;
}

.ranking ul li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  align-self: flex-start;
  padding: 2.5px 0;
  color: #000;
}

.ranking ul li a figure {
  width: 90px;
  height: 90px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  background: #EAEAEA;
  position: relative;
  overflow: hidden;
}

.ranking ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ranking ul li a .despArea {
  width: calc(100% - 90px);
}

.ranking ul li a .despArea .tit {
  display: block;
  width: 100%;
  order: 1;
  margin: 0 0 5px 10px;
  font-size: 1.4rem;
  line-height: 1.4em;
}

.ranking ul li a .despArea .fac-name {
  width: 100%;
  order: 2;
  line-height: 1.2em;
  margin: 0 0 0 10px;
  color: #969696;
}

.ranking ul li a .despArea .cat-name {
  display: none;
}

.ranking ul li a .despArea time {
  width: 50%;
  display: none;
}

.ranking ul.ranking li figure {
  position: relative;
}

.ranking ul.ranking li figure:after {
  width: 25px;
  height: 25px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  text-align: center;
  line-height: 25px;
  color: #FFF;
  font-family: DINNLTP-B;
  border-radius: 5px 0 0 0;
  font-size: 1.1rem;
}

.ranking ul.ranking li:nth-child(1) figure:after {
  content: '1';
  background: #C4B172;
}

.ranking ul.ranking li:nth-child(2) figure:after {
  content: '2';
  background: #969696;
}

.ranking ul.ranking li:nth-child(3) figure:after {
  content: '3';
  background: #F5B87A;
}

.ranking ul.ranking li:nth-child(4) figure:after {
  content: '4';
  background: #F5B87A;
}

.ranking ul.ranking li:nth-child(5) figure:after {
  content: '5';
  background: #F5B87A;
}

.ranking ul li a figure {
  position: relative;
}

.ranking ul li a figure:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 25px;
  height: 25px;
  display: block;
  z-index: 4;
  color: #FFF;
  border-radius: 5px 0 0 0;
  text-align: center;
  line-height: 25px;
  font-size: 1.4rem;
  font-weight: bold;
  font-family: DINNLTP-B;
}

.information {
  top: 0px;
}

@media screen and (max-width: 768px) {
  .information {
    position: static;
  }
}

.information ul {
  margin: 0 0 20px;
}

.information ul h2 {
  margin: 50px 0 0 0;
}

.information ul li {
  border-bottom: 1px solid #EAEAEA;
}

.information ul li a {
  color: #000;
  padding: 1em 0;
  font-size: 1.4rem;
  transition: all .2s;
  display: block;
  line-height: 1.6em;
}

.information ul li a time {
  display: block;
  margin: 0 0 1em 0;
}

.information ul li a:hover {
  background: #EAEAEA;
  transition: all .2s;
}

.accordion {
  margin-bottom: 50px;
}

.accordion .accordion-box {
  margin-bottom: 5px;
}

.accordion .accordion-box h3 {
  padding: 20px;
  font-weight: bold;
  font-size: 1.6rem;
  border: 1px solid #EAEAEA;
  border-radius: 5px;
  font-family: DINNLTP-B;
  overflow: hidden;
}

.accordion .accordion-box h3:hover {
  background: #F5FAFC;
}

.accordion .accordion-box h3.active {
  background: #F5FAFC;
  color: #0093E9;
}

.accordion .accordion-box ul {
  font-size: 1.4rem;
  display: none;
}

.accordion .accordion-box ul li a {
  padding: 10px 20px;
  display: block;
}

.sticky-box {
  position: sticky;
  top: 10px;
}

.facilities-bg {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.facilities-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.1);
  filter: blur(10px);
}

.facilities-cnt {
  margin-top: -280px;
  z-index: 5;
  position: relative;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

@media screen and (max-width: 768px) {
  .facilities-cnt {
    margin-top: 0;
    border-radius: 0;
  }
}

.facilities-cnt figure {
  width: 100%;
  padding-bottom: 60%;
  height: 0;
  position: relative;
  overflow: hidden;
  background: #EAEAEA;
}

.facilities-cnt figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}

.facilities-cnt h2 {
  display: block;
  transform: translateY(-50%);
  overflow: hidden;
  padding: 0;
  position: relative;
  z-index: 2;
}

.facilities-cnt h2 span {
  color: #FFF;
  background: #000;
  height: 70px;
  line-height: 70px;
  font-size: 2.6rem;
  padding: 0 10px 0 30px;
  position: relative;
  display: table-cell;
}

@media screen and (max-width: 1000px) {
  .facilities-cnt h2 span {
    font-size: 2.1rem;
  }
}

@media screen and (max-width: 768px) {
  .facilities-cnt h2 span {
    font-size: 1.8rem;
    max-width: 100vw;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

.facilities-cnt h2 span:before, .facilities-cnt h2 span:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
}

.facilities-cnt h2 span:after {
  top: -15px;
  right: -.8em;
  border-style: solid;
  border-color: transparent transparent transparent #000;
  border-width: 50px 0 50px 1em;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .facilities-cnt h2 span:after {
    border-width: 50px 0 50px 1em;
  }
}

.facilities-cnt .gmap {
  position: relative;
}

.facilities-cnt .gmap iframe {
  width: 100%;
  vertical-align: bottom;
}

.facilities-cnt .gmap:after {
  width: 100%;
  height: 100%;
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: #000;
  mix-blend-mode: color;
  transition: all .3s;
  opacity: 1;
}

.facilities-cnt .gmap:hover:after {
  z-index: -1;
  opacity: 0;
  transition: all .5s;
}

.facilities-event {
  margin: 50px 0 0 0;
}

@media screen and (max-width: 768px) {
  .facilities-event {
    padding: 0 10px;
  }
}

.facilities-event ul {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .facilities-event ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.facilities-event ul li {
  width: calc((100% - 90px) / 4);
  margin: 15px 30px 15px 0;
}

.facilities-event ul li:nth-child(3n) {
  margin: 15px 30px 15px 0;
}

@media screen and (max-width: 768px) {
  .facilities-event ul li:nth-child(3n) {
    margin: 10px 0;
  }
}

.facilities-event ul li:nth-child(4n) {
  margin: 15px 0;
}

@media screen and (max-width: 768px) {
  .facilities-event ul li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  .facilities-event ul li {
    width: calc((100% - 60px) / 3);
  }
  .facilities-event ul li:nth-child(3n) {
    margin: 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .facilities-event ul li:nth-child(3n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  .facilities-event ul li:nth-child(4n) {
    margin: 15px 30px 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .facilities-event ul li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 768px) {
  .facilities-event ul li {
    width: calc((100% - 10px) / 2);
    margin: 10px 0;
  }
}

.facilities-event ul li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  color: black;
}

.facilities-event ul li a figure {
  width: 100%;
  height: 0px;
  padding-bottom: 70%;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

.facilities-event ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
  position: absolute;
}

.facilities-event ul li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.facilities-event ul li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  .facilities-event ul li a .despArea .tit {
    font-size: 1.2rem;
  }
}

.facilities-event ul li a .despArea .fac-name {
  display: block;
  line-height: 1.2em;
  width: 100%;
  order: 4;
}

.facilities-event ul li a .despArea .cat-name {
  display: block;
  min-width: calc(50% - 5px);
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 5px 0 0;
  padding: 0 10px;
}

.facilities-event ul li a .despArea time {
  display: block;
  min-width: 15%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

.facilities-event ul li a:hover {
  color: #656565;
}

.facilities-event ul li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

.facilities-detail {
  padding: 0 30px 30px 30px;
}

.facilities-detail p {
  font-size: 1.5rem;
  line-height: 1.7em;
  margin-bottom: 20px;
}

.facilities-detail dl {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  border-top: 1px solid #EAEAEA;
}

.facilities-detail dl dt {
  background: #EAEAEA;
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #EAEAEA;
  padding: 1em;
  width: 25%;
  font-size: 1.5rem;
  line-height: 1.7em;
}

@media screen and (max-width: 768px) {
  .facilities-detail dl dt {
    width: 100%;
    border-top: none;
  }
}

.facilities-detail dl dd {
  border-top: 1px solid #FFF;
  border-bottom: 1px solid #EAEAEA;
  border-right: 1px solid #EAEAEA;
  padding: 1em;
  width: 75%;
  font-size: 1.5rem;
  line-height: 1.7em;
}

@media screen and (max-width: 768px) {
  .facilities-detail dl dd {
    width: 100%;
    border-top: none;
    border-left: 1px solid #EAEAEA;
  }
}

.tab-way {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

.tab-way li {
  width: calc(100% / 3);
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  height: 40px;
  line-height: 40px;
  border-bottom: 3px solid #000;
}

@media screen and (max-width: 768px) {
  .tab-way li {
    font-size: 1.2rem;
  }
}

.tab-way li.active {
  border-bottom: 3px solid #0093E9;
  color: #0093E9;
}

.way-wrap section {
  display: none;
}

.way-wrap section.fw-search {
  display: block;
}

.fw-search {
  padding: 30px;
  background: #F5FAFC;
  margin: 0 0 50px;
}

.fw-search-box .searchInputBox {
  padding: 10px 0;
  position: relative;
}

.fw-search-box .searchInputBox .searchInput {
  width: 100%;
  border: none;
  height: 40px;
  line-height: 40px;
  border-radius: 20px;
  background: #EAEAEA;
  font-size: 1.4rem;
  padding: 0 20px;
}

.fw-search-box .searchInputBox .searchInput::placeholder {
  color: #969696;
}

.fw-search-box .searchInputBox .searchBtn {
  position: absolute;
  right: 0;
  top: 10px;
  background: linear-gradient(30deg, #0093E9, #80D0C7);
  background-size: 200%;
  background-position: 0 0;
  transition: all .2s ease-out;
  color: #FFF;
  border-radius: 0 20px 20px 0;
  width: 120px;
  height: 40px;
  line-height: 40px;
  border: none;
}

.fw-search-box .searchInputBox .searchBtn:hover, .fw-search-box .searchInputBox .searchBtn:active, .fw-search-box .searchInputBox .searchBtn:focus {
  background-position: 100% 0;
  transition: all .2s ease-out;
}

@media screen and (max-width: 768px) {
  .fw-search-box .searchInputBox .searchBtn {
    width: auto;
    padding: 0 15px;
  }
}

.category-search {
  padding: 30px;
  background: #F5FAFC;
  margin: 0 0 50px;
}

.category-search-box {
  border-radius: 10px;
  padding: 3px;
  background: linear-gradient(30deg, #0093E9, #80D0C7);
  background-size: 200%;
  background-position: 0 0;
  transition: all .2s ease-out;
}

.category-search-box:hover, .category-search-box:active, .category-search-box:focus {
  background-position: 100% 0;
  transition: all .2s ease-out;
}

.category-search-box ul {
  background: #FFF;
  border-radius: 8px;
  padding: 30px 0 0 30px;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

.category-search-box ul li {
  margin: 0 20px 30px 0;
  font-size: 1.5rem;
}

.category-search-box ul li a {
  padding: 10px;
  font-weight: bold;
  color: #000;
  transition: all .4s;
}

.category-search-box ul li a:hover, .category-search-box ul li a:active {
  color: #FAB000;
  text-decoration: underline;
}

.category-search-box ul li a:focus {
  color: #DC000C;
  text-decoration: underline;
}

.category-search-box ul li span {
  padding: 5px 10px;
  margin: 0 0 10px;
  background: #000;
  color: #FFF;
  border-radius: 15px;
}

.map-search {
  padding: 30px;
  background: #F5FAFC;
  margin: 0 0 50px;
}

.gmap-area {
  border-radius: 10px;
  overflow: hidden;
}

.gmap-area iframe {
  width: 100%;
  height: 400px;
}

.search-result {
  margin: 30px 0 0;
}

.search-result-box {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .search-result-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.search-result-box li {
  width: calc((100% - 90px) / 4);
  margin: 15px 30px 15px 0;
}

.search-result-box li:nth-child(3n) {
  margin: 15px 30px 15px 0;
}

@media screen and (max-width: 768px) {
  .search-result-box li:nth-child(3n) {
    margin: 10px 0;
  }
}

.search-result-box li:nth-child(4n) {
  margin: 15px 0;
}

@media screen and (max-width: 768px) {
  .search-result-box li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  .search-result-box li {
    width: calc((100% - 60px) / 3);
  }
  .search-result-box li:nth-child(3n) {
    margin: 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .search-result-box li:nth-child(3n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  .search-result-box li:nth-child(4n) {
    margin: 15px 30px 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .search-result-box li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 768px) {
  .search-result-box li {
    width: calc((100% - 10px) / 2);
    margin: 10px 0;
  }
}

.search-result-box li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  color: black;
}

.search-result-box li a figure {
  width: 100%;
  height: 0px;
  padding-bottom: 70%;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

.search-result-box li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
  position: absolute;
}

.search-result-box li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.search-result-box li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  .search-result-box li a .despArea .tit {
    font-size: 1.2rem;
  }
}

.search-result-box li a .despArea .fac-name {
  display: block;
  line-height: 1.2em;
  width: 100%;
  order: 4;
}

.search-result-box li a .despArea .cat-name {
  display: block;
  min-width: calc(50% - 5px);
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 5px 0 0;
  padding: 0 10px;
}

.search-result-box li a .despArea time {
  display: block;
  min-width: 15%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

.search-result-box li a:hover {
  color: #656565;
}

.search-result-box li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

.event-cal {
  width: 100%;
}

.event-cal .calendar-slide {
  position: relative;
}

.event-cal .calendar-slide .swiper-button-prev,
.event-cal .calendar-slide .swiper-button-next {
  top: 5px;
  width: 60px;
  height: 30px;
  border-radius: 5px;
  font-size: 1.2rem;
  line-height: 30px;
  background: #000;
  color: #FFF;
  text-align: center;
  margin: 0;
  padding: 0;
}

.event-cal .calendar-slide .swiper-button-prev {
  left: 0;
}

.event-cal .calendar-slide .swiper-button-prev:after {
  content: '前月';
}

.event-cal .calendar-slide .swiper-button-next {
  right: 0;
}

.event-cal .calendar-slide .swiper-button-next:after {
  content: '次月';
}

.event-cal .calendar-slide h3 {
  font-size: 2.4rem;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  text-align: center;
  padding: 10px 0 5px 0;
  margin: 0 0 20px;
  font-family: DINNLTP-B;
}

.event-cal .calendar-slide h3 em {
  font-size: 1.6rem;
}

.event-cal table {
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 50px;
}

@media screen and (max-width: 768px) {
  .event-cal table {
    margin-bottom: 20px;
  }
}

.event-cal table tr th {
  background: #EAEAEA;
  padding: 1em;
  border-right: 1px solid #FFF;
}

.event-cal table tr th:first-child {
  color: #DC000C;
}

.event-cal table tr th:last-child {
  color: #0093E9;
  border-right: none;
}

.event-cal table tr td {
  font-family: DINNLTP-B;
  border: 1px solid #EAEAEA;
}

.event-cal table tr td a {
  width: 100%;
  height: 100%;
  display: block;
  padding: 1em;
  transition: all .3s;
}

.event-cal table tr td a:hover {
  background: #F9F9F9;
}

.event-cal table tr td a.active {
  background: #F5FAFC;
  font-weight: bold;
}

.event-cal table tr td:first-child a {
  color: #DC000C;
}

.event-cal table tr td:last-child a {
  color: #0093E9;
}

.tab-category {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 20px;
}

.tab-category:-webkit-scrollbar {
  display: none;
}

.tab-category ul {
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
}

@media screen and (max-width: 768px) {
  #event-cal .tab-category ul {
    width: 580px;
  }
}

.tab-category ul li {
  width: calc(100% / 5);
  display: inline-block;
  padding: 0 25px;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  height: 40px;
  line-height: 40px;
  position: relative;
  border-bottom: 1px solid #000;
  margin: 0 1px;
}

@media screen and (max-width: 768px) {
  .tab-category ul li {
    width: auto;
    padding: 0 15px;
  }
}

.tab-category ul li:after {
  content: '';
  width: 0px;
  height: 3px;
  background: #000;
  transition: all .3s;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}

.tab-category ul li:hover:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #000;
  transition: all .3s;
}

@media screen and (max-width: 768px) {
  .tab-category ul li {
    font-size: 1.2rem;
  }
}

.tab-category ul li.active {
  color: #0093E9;
  border-bottom: 1px solid #0093E9;
}

.tab-category ul li.active:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #0093E9;
  transition: all .3s;
}

.ev-wrap > section {
  display: none;
}

.ev-wrap > section:first-child {
  display: block;
}

.event-cnt {
  margin-top: -250px;
  position: relative;
  z-index: 2;
  background: #F5FAFC;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  border-radius: 5px 5px 0 0;
  overflow: hidden;
}

@media screen and (max-width: 768px) {
  .event-cnt {
    margin-top: 0;
  }
}

.event-cnt .eyecatch {
  width: 100%;
  height: 0;
  padding-bottom: 60%;
  overflow: hidden;
  position: relative;
}

.event-cnt .eyecatch img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}

.event-cnt .event-summary {
  background: #FFF;
  padding: 20px;
  width: calc(100% - 60px);
  z-index: 3;
  margin: -50px auto 0;
  position: relative;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.event-cnt .event-summary .event-status {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 0 0 20px;
}

.event-cnt .event-summary .event-status a.category {
  background: #000;
  color: #FFF;
  padding: 5px 10px;
  margin: 0 10px 0 0;
}

.event-cnt .event-summary h1 {
  margin: 0;
}

.event-cnt .full-w,
.event-cnt .event-detail {
  padding: 30px;
  font-size: 1.4rem;
  line-height: 1.8em;
}

.event-cnt .full-w h2,
.event-cnt .event-detail h2 {
  font-size: 2.4rem;
  margin-bottom: 1em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  position: relative;
  padding: 0.75em 0 0.5em 0;
}

.event-cnt .full-w h2:before, .event-cnt .full-w h2:after,
.event-cnt .event-detail h2:before,
.event-cnt .event-detail h2:after {
  content: '';
  width: 4em;
  height: 1px;
  position: absolute;
  background: #0093E9;
}

.event-cnt .full-w h2:before,
.event-cnt .event-detail h2:before {
  top: -1px;
  left: 0px;
}

.event-cnt .full-w h2:after,
.event-cnt .event-detail h2:after {
  right: 0px;
  bottom: -1px;
}

.event-cnt .full-w h3,
.event-cnt .event-detail h3 {
  font-size: 2.1rem;
  margin-bottom: 1em;
  background: #EAEAEA;
  padding: 1em;
  border-radius: 40px;
  position: relative;
}

.event-cnt .full-w h3:after,
.event-cnt .event-detail h3:after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 30px;
  bottom: -20px;
  border-right: 15px solid #EAEAEA;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  transform: rotate(130deg);
}

.event-cnt .full-w h4,
.event-cnt .event-detail h4 {
  font-size: 1.8rem;
  margin-bottom: 1em;
}

.event-cnt .full-w h4 span,
.event-cnt .event-detail h4 span {
  background: linear-gradient(transparent 60%, #0093E9 60%);
}

.event-cnt .full-w h5,
.event-cnt .event-detail h5 {
  font-size: 1.6rem;
  margin-bottom: 1em;
  position: relative;
  border-bottom: 1px solid #000;
  padding: 0 0 0.25em;
}

.event-cnt .full-w h5:after,
.event-cnt .event-detail h5:after {
  width: 3em;
  height: 1px;
  background: #0093E9;
  left: 0px;
  bottom: -1px;
  content: '';
  position: absolute;
}

.event-cnt .full-w h6,
.event-cnt .event-detail h6 {
  font-size: 1.5rem;
  margin-bottom: 1em;
  color: #0093E9;
}

.event-cnt .full-w.vertical h3,
.event-cnt .event-detail.vertical h3 {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.event-cnt .full-w p,
.event-cnt .event-detail p {
  margin: 0 0 20px;
}

.event-cnt .full-w p img,
.event-cnt .event-detail p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event-cnt .full-w dl,
.event-cnt .event-detail dl {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.event-cnt .full-w dl dt,
.event-cnt .event-detail dl dt {
  width: 25%;
  padding: 1em;
  background: #EAEAEA;
  border-top: 1px solid #FFF;
}

.event-cnt .full-w dl dd,
.event-cnt .event-detail dl dd {
  width: 75%;
  padding: 1em;
  background: #FFF;
  border-top: 1px solid #EAEAEA;
  border-right: 1px solid #EAEAEA;
  word-wrap: break-word;
}

.event-cnt .full-w dl dd img,
.event-cnt .event-detail dl dd img {
  max-width: 100%;
  margin-top: 10px;
}

.event-cnt .full-w figure,
.event-cnt .event-detail figure {
  width: 100%;
}

.event-cnt .full-w figure img,
.event-cnt .event-detail figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event-cnt .summary-box {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  background: #FFF;
  margin: 0 0 30px;
}

.event-cnt .summary-box figure {
  width: 50%;
  margin: 0;
}

.event-cnt .summary-box figure img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .event-cnt .summary-box figure {
    width: 100%;
  }
}

.event-cnt .summary-box p {
  width: 50%;
  padding: 30px;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .event-cnt .summary-box p {
    width: 100%;
  }
}

.event-cnt .flex-2col {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 30px;
}

.event-cnt .flex-2col figure {
  width: calc(50% - 15px);
  margin: 0;
}

.event-cnt .flex-2col figure img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .event-cnt .flex-2col figure {
    width: 100%;
  }
}

.event-cnt .flex-2col p {
  width: 50%;
  padding: 30px;
  margin: 0;
}

@media screen and (max-width: 768px) {
  .event-cnt .flex-2col p {
    width: 100%;
  }
}

.event-cnt .flex-2col dl {
  width: calc(50% - 15px);
  box-sizing: border-box;
}

#details article .related-events {
  margin-top: 50px;
}

@media screen and (max-width: 768px) {
  #details article .related-events {
    margin: 20px;
  }
}

#details article .related-events ul {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  #details article .related-events ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

#details article .related-events ul li {
  width: calc((100% - 90px) / 4);
  margin: 15px 30px 15px 0;
}

#details article .related-events ul li:nth-child(3n) {
  margin: 15px 30px 15px 0;
}

@media screen and (max-width: 768px) {
  #details article .related-events ul li:nth-child(3n) {
    margin: 10px 0;
  }
}

#details article .related-events ul li:nth-child(4n) {
  margin: 15px 0;
}

@media screen and (max-width: 768px) {
  #details article .related-events ul li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  #details article .related-events ul li {
    width: calc((100% - 60px) / 3);
  }
  #details article .related-events ul li:nth-child(3n) {
    margin: 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  #details article .related-events ul li:nth-child(3n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  #details article .related-events ul li:nth-child(4n) {
    margin: 15px 30px 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  #details article .related-events ul li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 768px) {
  #details article .related-events ul li {
    width: calc((100% - 10px) / 2);
    margin: 10px 0;
  }
}

#details article .related-events ul li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  color: black;
}

#details article .related-events ul li a figure {
  width: 100%;
  height: 0px;
  padding-bottom: 70%;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

#details article .related-events ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
  position: absolute;
}

#details article .related-events ul li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

#details article .related-events ul li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  #details article .related-events ul li a .despArea .tit {
    font-size: 1.2rem;
  }
}

#details article .related-events ul li a .despArea .fac-name {
  display: block;
  line-height: 1.2em;
  width: 100%;
  order: 4;
}

#details article .related-events ul li a .despArea .cat-name {
  display: block;
  min-width: calc(50% - 5px);
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 5px 0 0;
  padding: 0 10px;
}

#details article .related-events ul li a .despArea time {
  display: block;
  min-width: 15%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

#details article .related-events ul li a:hover {
  color: #656565;
}

#details article .related-events ul li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

#details aside .related-events ul {
  display: block;
}

#details aside .related-events ul li {
  display: block;
  width: 100%;
  margin: 0;
  border-top: 1px solid #EAEAEA;
  padding: 10px 0;
}

#details aside .related-events ul li:last-child {
  border-bottom: 1px solid #EAEAEA;
}

#details aside .related-events ul li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  align-self: flex-start;
  padding: 2.5px 0;
  color: #000;
}

#details aside .related-events ul li a figure {
  width: 90px;
  height: 90px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  background: #EAEAEA;
  position: relative;
  overflow: hidden;
}

#details aside .related-events ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#details aside .related-events ul li a .despArea {
  width: calc(100% - 90px);
}

#details aside .related-events ul li a .despArea .tit {
  display: block;
  width: 100%;
  order: 1;
  margin: 0 0 5px 10px;
  font-size: 1.4rem;
  line-height: 1.4em;
}

#details aside .related-events ul li a .despArea .fac-name {
  width: 100%;
  order: 2;
  line-height: 1.2em;
  margin: 0 0 0 10px;
  color: #969696;
}

#details aside .related-events ul li a .despArea .cat-name {
  display: none;
}

#details aside .related-events ul li a .despArea time {
  width: 50%;
  display: none;
}

#details aside .related-events ul.ranking li figure {
  position: relative;
}

#details aside .related-events ul.ranking li figure:after {
  width: 25px;
  height: 25px;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  text-align: center;
  line-height: 25px;
  color: #FFF;
  font-family: DINNLTP-B;
  border-radius: 5px 0 0 0;
  font-size: 1.1rem;
}

#details aside .related-events ul.ranking li:nth-child(1) figure:after {
  content: '1';
  background: #C4B172;
}

#details aside .related-events ul.ranking li:nth-child(2) figure:after {
  content: '2';
  background: #969696;
}

#details aside .related-events ul.ranking li:nth-child(3) figure:after {
  content: '3';
  background: #F5B87A;
}

#details aside .related-events ul.ranking li:nth-child(4) figure:after {
  content: '4';
  background: #F5B87A;
}

#details aside .related-events ul.ranking li:nth-child(5) figure:after {
  content: '5';
  background: #F5B87A;
}

#details article h1 em {
  display: block;
  text-align: center;
  margin: 1em 0 0 0;
}

#details article .related-facilities {
  background: #FFF;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
  min-height: 250px;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  #details article .related-facilities {
    height: auto;
  }
}

#details article .related-facilities figure {
  width: 50%;
  margin: 0;
}

@media screen and (max-width: 768px) {
  #details article .related-facilities figure {
    width: 100%;
  }
}

#details article .related-facilities figure a {
  width: 100%;
  height: 100%;
  display: block;
}

#details article .related-facilities figure img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}

#details article .related-facilities .despArea {
  width: 50%;
  padding: 30px;
}

@media screen and (max-width: 768px) {
  #details article .related-facilities .despArea {
    width: 100%;
  }
}

#details article .related-facilities:before {
  content: '関連施設';
  padding: 5px 10px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  color: #FFF;
  border-radius: 0 0 5px 0;
  font-size: 1rem;
}

.release-list {
  padding-right: 50px;
}

@media screen and (max-width: 768px) {
  .release-list {
    padding: 0;
  }
}

.release-list li {
  border-top: 1px solid #EAEAEA;
  padding: 20px;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

.release-list li:last-child {
  border-bottom: 1px solid #EAEAEA;
}

.release-list li a {
  display: inline-block;
  max-width: calc(100% - 90px);
  color: #000;
  position: relative;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .release-list li a {
    max-width: 100%;
  }
}

.release-list li a:after {
  font-family: icomoon;
  position: absolute;
  font-size: 20px;
  margin: -5px 0 0 5px;
}

@media screen and (max-width: 768px) {
  .release-list li a:after {
    margin: 0px 0 0 5px;
  }
}

.release-list li a.link-text {
  line-height: 1.5em;
}

.release-list li a.link-text[href^='http']:after, .release-list li a.link-text[href^='https']:after, .release-list li a.link-text[href^='http//']:after {
  content: '\e917';
}

.release-list li a.link-text[href^='https://www.minatomirai21.com/']:after, .release-list li a.link-text[href^='http://www.minatomirai21.com/']:after, .release-list li a.link-text[href^='https://minatomirai21.com/']:after, .release-list li a.link-text[href^='http://minatomirai21.com/']:after, .release-list li a.link-text[href^='https://staging-minatomirai21.kinsta.cloud/']:after, .release-list li a.link-text[href^='http://minatomirai21.development.blue/']:after {
  content: '';
}

.release-list li a.link-text[href$='.pdf']:after {
  content: '\e919';
}

.release-list li a.category {
  padding: 5px 10px;
  margin: 0 20px 10px 0;
  background: #000;
  display: inline-block;
  width: auto;
  color: #FFF;
  width: 120px;
  font-size: 1.2rem;
  text-align: center;
}

.release-list li a:before {
  content: '';
  height: 1px;
  width: 100%;
  background: #000;
  transform: scaleX(0);
  transition: all .4s;
  position: absolute;
  bottom: 0;
  left: 0;
}

.release-list li a:hover:before {
  content: '';
  height: 1px;
  width: 100%;
  background: #000;
  transform: scaleX(1);
  transition: all .2s;
  position: absolute;
  bottom: 0;
  left: 0;
}

.release-list li time {
  display: block;
  padding: 5px;
  width: 90px;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  .release-list li time {
    width: 100%;
  }
}

.release-list li .fac-name {
  display: block;
  text-align: left;
  width: 100%;
  padding: 10px 0 0 90px;
  color: #969696;
}

@media screen and (max-width: 768px) {
  .release-list li .fac-name {
    padding: 10px 0 0 0;
  }
}

.pagination,
.pagenation {
  margin-top: 50px;
}

.pagination ul,
.pagenation ul {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.pagination ul li,
.pagenation ul li {
  margin: 0 10px;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  text-align: center;
  line-height: 30px;
  font-size: 1.4rem;
  position: relative;
}

.pagination ul li.current,
.pagenation ul li.current {
  background: #EAEAEA;
  color: #000;
  font-weight: bold;
  display: block;
}

.pagination ul li a,
.pagenation ul li a {
  color: #FFF;
  display: block;
  border-radius: 15px;
  background: linear-gradient(30deg, #0093E9, #80D0C7);
  background-size: 200%;
  background-position: 0 0;
  transition: all .2s ease-out;
}

.pagination ul li a:hover, .pagination ul li a:active, .pagination ul li a:focus,
.pagenation ul li a:hover,
.pagenation ul li a:active,
.pagenation ul li a:focus {
  background-position: 100% 0;
  transition: all .2s ease-out;
}

.pagination ul li a.prev, .pagination ul li a.next,
.pagenation ul li a.prev,
.pagenation ul li a.next {
  width: 70px;
}

.pagination ul li a.prev,
.pagenation ul li a.prev {
  position: absolute;
  right: 0px;
}

.style-btn {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 0 50px 30px 0;
}

.style-btn button {
  width: 30px;
  height: 30px;
  border-radius: 3px;
  position: relative;
  margin: 0 0 0 10px;
  border: none;
  color: #FFF;
  background: linear-gradient(30deg, #0093E9, #80D0C7);
  background-size: 200%;
  background-position: 0 0;
  transition: all .2s ease-out;
  cursor: pointer;
}

.style-btn button:hover, .style-btn button:active, .style-btn button:focus {
  background-position: 100% 0;
  transition: all .2s ease-out;
}

.style-btn button.active {
  color: #000;
  background: #EAEAEA;
}

.style-btn button:after {
  font-family: icomoon;
  font-size: 2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

.style-btn .list-btn:after {
  content: '\e91a';
}

.style-btn .block-btn:after {
  content: '\e918';
}

.list-cnt {
  display: none;
}

.info-list {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  padding: 0 50px 0 0;
  margin: -15px 0 0 0;
}

@media screen and (max-width: 768px) {
  .info-list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.info-list li {
  width: calc((100% - 90px) / 4);
  margin: 15px 30px 15px 0;
}

.info-list li:nth-child(3n) {
  margin: 15px 30px 15px 0;
}

@media screen and (max-width: 768px) {
  .info-list li:nth-child(3n) {
    margin: 10px 0;
  }
}

.info-list li:nth-child(4n) {
  margin: 15px 0;
}

@media screen and (max-width: 768px) {
  .info-list li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  .info-list li {
    width: calc((100% - 60px) / 3);
  }
  .info-list li:nth-child(3n) {
    margin: 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .info-list li:nth-child(3n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 1200px) {
  .info-list li:nth-child(4n) {
    margin: 15px 30px 15px 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .info-list li:nth-child(4n) {
    margin: 10px 0;
  }
}

@media screen and (max-width: 768px) {
  .info-list li {
    width: calc((100% - 10px) / 2);
    margin: 10px 0;
  }
}

.info-list li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  color: black;
}

.info-list li a figure {
  width: 100%;
  height: 0px;
  padding-bottom: 70%;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

.info-list li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
  position: absolute;
}

.info-list li a .despArea {
  width: 100%;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.info-list li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  .info-list li a .despArea .tit {
    font-size: 1.2rem;
  }
}

.info-list li a .despArea .fac-name {
  display: block;
  line-height: 1.2em;
  width: 100%;
  order: 4;
}

.info-list li a .despArea .cat-name {
  display: block;
  min-width: calc(50% - 5px);
  order: 1;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 10px 5px 0 0;
  padding: 0 10px;
}

.info-list li a .despArea time {
  display: block;
  min-width: 15%;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 10px 0 0;
  color: #969696;
}

.info-list li a:hover {
  color: #656565;
}

.info-list li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

.info-list.active {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

@media screen and (max-width: 768px) {
  .info-list.active {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.info-list.active li {
  width: 100%;
  margin: 0;
  padding: 20px 0;
  border-top: 1px solid #EAEAEA;
}

.info-list.active li:nth-child(3n) {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .info-list.active li:nth-child(3n) {
    margin: 0;
  }
}

.info-list.active li:nth-child(4n) {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .info-list.active li:nth-child(4n) {
    margin: 0;
  }
}

@media screen and (max-width: 1200px) {
  .info-list.active li {
    width: 100%;
  }
  .info-list.active li:nth-child(3n) {
    margin: 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .info-list.active li:nth-child(3n) {
    margin: 0;
  }
}

@media screen and (max-width: 1200px) {
  .info-list.active li:nth-child(4n) {
    margin: 0;
  }
}

@media screen and (max-width: 1200px) and (max-width: 768px) {
  .info-list.active li:nth-child(4n) {
    margin: 0;
  }
}

@media screen and (max-width: 768px) {
  .info-list.active li {
    width: 100%;
    margin: 0;
  }
}

.info-list.active li a {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  color: black;
}

.info-list.active li a figure {
  width: 200px;
  height: 0px;
  padding-bottom: 130px;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 2;
  overflow: hidden;
  background: #EAEAEA;
}

.info-list.active li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
  opacity: 1;
  transition-duration: 0.7s;
  position: absolute;
}

.info-list.active li a .despArea {
  width: calc(100% - 260px);
  padding: 0 0 0 20px;
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

.info-list.active li a .despArea .tit {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.5em;
  margin: 10px 0;
  order: 3;
}

@media screen and (max-width: 768px) {
  .info-list.active li a .despArea .tit {
    font-size: 1.2rem;
  }
}

.info-list.active li a .despArea .fac-name {
  display: block;
  width: 100%;
  line-height: 1.2em;
  order: 4;
}

.info-list.active li a .despArea .cat-name {
  display: inline-block;
  width: auto;
  order: 1;
  width: auto;
  background: #EAEAEA;
  height: 20px;
  border-radius: 10px;
  text-align: center;
  font-weight: bold;
  line-height: 20px;
  margin: 0;
  padding: 0 20px;
}

.info-list.active li a .despArea time {
  display: inline-block;
  width: auto;
  order: 2;
  line-height: 20px;
  text-align: right;
  font-family: DINNLTP-B;
  margin: 0;
  padding: 0 20px;
  color: #969696;
}

.info-list.active li a:hover {
  color: #656565;
}

.info-list.active li a:hover figure img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.3s;
  opacity: .7;
}

.edit-area {
  font-size: 1.4rem;
  line-height: 1.8em;
}

@media screen and (max-width: 768px) {
  .edit-area {
    margin-top: 20px;
  }
}

.edit-area h2, .edit-area h3, .edit-area h4, .edit-area h5, .edit-area p {
  margin-bottom: 25px;
  display: block;
}

@media screen and (max-width: 768px) {
  .edit-area h2, .edit-area h3, .edit-area h4, .edit-area h5, .edit-area p {
    margin-bottom: 15px;
  }
}

.edit-area h2 {
  font-size: 2.4rem;
  margin-bottom: 1em;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  position: relative;
  padding: 0.75em 0 0.5em 0;
}

.edit-area h2:before, .edit-area h2:after {
  content: '';
  width: 4em;
  height: 1px;
  position: absolute;
  background: #0093E9;
}

.edit-area h2:before {
  top: -1px;
  left: 0px;
}

.edit-area h2:after {
  right: 0px;
  bottom: -1px;
}

.edit-area h3 {
  font-size: 2.1rem;
  margin-bottom: 1em;
  background: #EAEAEA;
  padding: 1em;
  border-radius: 40px;
  position: relative;
}

.edit-area h3:after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 30px;
  bottom: -20px;
  border-right: 15px solid #EAEAEA;
  border-top: 20px solid transparent;
  border-bottom: 20px solid transparent;
  transform: rotate(130deg);
}

.edit-area h4 {
  font-size: 1.8rem;
  margin-bottom: 1em;
}

.edit-area h4 span {
  background: linear-gradient(transparent 60%, #0093E9 60%);
}

.edit-area h5 {
  font-size: 1.6rem;
  margin-bottom: 1em;
  position: relative;
  border-bottom: 1px solid #000;
  padding: 0 0 0.25em;
}

.edit-area h5:after {
  width: 3em;
  height: 1px;
  background: #0093E9;
  left: 0px;
  bottom: -1px;
  content: '';
  position: absolute;
}

.edit-area h6 {
  font-size: 1.5rem;
  margin-bottom: 1em;
  color: #0093E9;
}

.edit-area a {
  color: #000;
  font-weight: bold;
  position: relative;
  display: inline-block;
  transition: .3s;
  vertical-align: top;
}

.edit-area a.wp-block-button__link {
  color: #FFF;
}

.edit-area a.wp-block-button__link:before {
  display: none;
}

.edit-area a:before {
  content: '';
  height: 1px;
  width: 100%;
  background: #0093E9;
  position: absolute;
  left: 0;
  bottom: 5px;
  opacity: 0;
  transition: .3s;
}

.edit-area a:hover {
  color: #0093E9;
  opacity: 1;
}

.edit-area a:hover:before {
  opacity: 1;
  bottom: 0px;
}

.edit-area a:after {
  font-family: icomoon;
  position: absolute;
  font-size: 20px;
  margin: 0 0 0 5px;
}

@media screen and (max-width: 768px) {
  .edit-area a:after {
    margin: 0px 0 0 5px;
  }
}

.edit-area a[href$='.pdf']:after {
  content: '\e919';
}

.edit-area a[href^='http']:after, .edit-area a[href^='https']:after, .edit-area a[href^='http//']:after {
  content: '\e917';
}

.edit-area a[href^='https://www.minatomirai21.com/']:after, .edit-area a[href^='http://www.minatomirai21.com/']:after, .edit-area a[href^='https://minatomirai21.com/']:after, .edit-area a[href^='http://minatomirai21.com/']:after, .edit-area a[href^='http://minatomirai21.development.blue/']:after {
  content: '';
}

.edit-area p {
  line-height: 1.8em;
}

.edit-area p.btn-center {
  text-align: center;
}

.edit-area p.btn-center a {
  margin: 0 auto;
  position: relative;
}

.edit-area table {
  margin-bottom: 30px;
  width: 100%;
}

.edit-area table tr th {
  padding: 10px 20px;
}

.edit-area table tr td {
  padding: 10px 20px;
  border-top: 1px solid #EAEAEA;
}

.edit-area table tr:last-child td {
  border-bottom: 1px solid #EAEAEA;
}

.edit-area table tr:nth-child(even) {
  background: #FFF;
}

.edit-area table tr:nth-child(odd) {
  background: #F5FAFC;
}

.edit-area table p {
  margin: 0;
}

.edit-area figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.edit-area ul {
  padding: 1em;
}

.edit-area ul li {
  list-style: disc;
  margin-bottom: .5em;
}

.edit-area ol {
  padding: 1em;
}

.edit-area ol li {
  list-style: decimal;
  margin-bottom: .5em;
}

.edit-area .cnt-block {
  margin: 100px 0;
  padding: .5px 30px;
  border-radius: 10px;
  background: #F9F9F9;
}

.edit-area .cnt-block h2 {
  font-size: 2.1rem;
  line-height: 1.5em;
  padding: 5px 15px;
  background: #FFF;
  border-radius: 10px;
  margin: 0;
  /* display: inline-block; */
  transform: translateY(-20px);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .edit-area .cnt-block h2 {
    font-size: 1.8rem;
    display: block;
    width: calc(100% - 40px);
    text-align: center;
    margin: 0 auto;
    transform: translateY(-10px);
    background: none;
  }
}

.edit-area .cnt-block h3 {
  font-size: 1.8rem;
}

.edit-area .cnt-group {
  margin: 50px 0;
}

.edit-area .cnt-group:first-child {
  margin: 0 0 50px 0;
}

.edit-area .wp-block-columns {
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
  margin-bottom: 30px;
}

@media screen and (max-width: 768px) {
  .edit-area .wp-block-columns {
    display: flex;
    /* Safari */
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
  }
}

.edit-area .wp-block-columns .wp-block-column {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .edit-area .wp-block-columns .wp-block-column {
    width: 100%;
    flex-basis: 100% !important;
  }
}

.edit-area .wp-block-columns .wp-block-column:not(:first-child) {
  margin-left: 30px;
}

@media screen and (max-width: 768px) {
  .edit-area .wp-block-columns .wp-block-column:not(:first-child) {
    margin-left: 0;
  }
}

.edit-area .wp-block-columns .wp-block-column figure {
  width: 100%;
}

.edit-area .wp-block-columns .cnt-block {
  margin: 15px 0;
}

@media screen and (max-width: 768px) {
  .edit-area .wp-block-columns .cnt-block {
    margin: 15px 0 30px;
  }
}

.edit-area .gallery-list > div {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
}

.edit-area .gallery-list > div figure {
  width: calc((100% - 60px) / 4);
  margin: 0 20px 20px 0;
}

@media screen and (max-width: 768px) {
  .edit-area .gallery-list > div figure {
    width: calc((100% - 20px) / 2);
    margin: 0 20px 20px 0;
  }
  .edit-area .gallery-list > div figure:nth-child(2n) {
    margin: 0 0 20px 0;
  }
}

.edit-area .gallery-list > div figure:nth-child(4n) {
  margin: 0 0 20px 0;
}

.edit-area .gallery-list > div figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

#navPanel {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 3;
  background: rgba(255, 255, 255, 0.95);
  opacity: 0;
  right: 0;
  top: 100%;
  transition: all .5s;
}

#navPanel.open {
  top: 0;
  opacity: 1;
}

#navPanel h2 {
  padding: 20px 20px 10px 20px;
  font-size: 1.2rem;
}

#navPanel .searchInputBox {
  padding: 10px 20px;
}

#navPanel .searchInputBox .searchInput {
  width: 100%;
  border: none;
  height: 30px;
  border-radius: 15px;
  background: #EAEAEA;
  line-height: 30px;
  font-size: 1rem;
  padding: 0 20px;
}

#navPanel .searchInputBox .searchInput::placeholder {
  color: #969696;
}

#navPanel .global ul.mainNav {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  height: 320px;
}

#navPanel .global ul.mainNav li {
  width: calc(100% / 2);
  height: calc(100% / 2);
}

#navPanel .global ul.mainNav li a {
  display: block;
  color: #000;
  width: 100%;
  height: 100%;
  text-align: center;
  font-size: 1.3rem;
  position: relative;
}

#navPanel .global ul.mainNav li a span {
  display: block;
  width: 100%;
  position: absolute;
  bottom: 35px;
  font-weight: 600;
}

#navPanel .global ul.mainNav li a:after {
  font-family: icomoon;
  width: 50px;
  height: 50px;
  font-size: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -25px;
  margin-top: -35px;
}

#navPanel .global ul.mainNav li a.event-today:after {
  content: '\e909';
}

#navPanel .global ul.mainNav li a.event-nextday:after {
  content: '\e90a';
}

#navPanel .global ul.mainNav li a.event-cal:after {
  content: '\e8f3';
}

#navPanel .global ul.mainNav li a.campaign:after {
  content: '\e906';
}

#navPanel .global ul.mainNav li a.art-culture:after {
  content: '\e908';
}

#navPanel .global ul.mainNav li a.music-dance:after {
  content: '\e916';
}

#navPanel .global ul.mainNav li a.feature:after {
  content: '\e901';
}

#navPanel .global ul.mainNav li a.recommend:after {
  content: '\e902';
}

#navPanel .global ul.mainNav li a.shop:after {
  content: '\e903';
}

#navPanel .global ul.mainNav li a.info:after {
  content: '\e904';
}

#navPanel .global ul.mainNav li a.etc:after {
  content: '\e900';
}

#navPanel .subNav {
  margin: 10px 0;
}

#navPanel .subNav li a {
  display: block;
  color: #000;
  font-size: 1.2rem;
  padding: 10px 20px;
  font-weight: 600;
}

.spNav {
  display: none;
}

@media screen and (max-width: 768px) {
  .spNav {
    display: block;
    width: 100%;
    height: 75px;
    position: fixed;
    z-index: 10;
    background: linear-gradient(30deg, #0093E9, #80D0C7);
    background-size: 200%;
    background-position: 0 0;
    transition: all .2s ease-out;
    box-shadow: 0 -10px 10px rgba(0, 0, 0, 0.1);
    bottom: 0;
    left: 0;
  }
  .spNav:hover, .spNav:active, .spNav:focus {
    background-position: 100% 0;
    transition: all .2s ease-out;
  }
  .spNav ul {
    display: flex;
    /* Safari */
    display: -webkit-flex;
    -webkit-flex-wrap: wrap;
    /* Safari */
    flex-wrap: wrap;
    height: 100%;
  }
  .spNav ul li {
    width: calc(100% / 5);
    height: 100%;
    font-size: 1rem;
  }
  .spNav ul li a {
    color: #FFF;
    text-align: center;
    display: block;
    height: 100%;
    position: relative;
  }
  .spNav ul li a span {
    position: absolute;
    display: block;
    width: 100%;
    bottom: 12px;
    text-align: center;
    font-weight: 600;
  }
  .spNav ul li a:after {
    font-size: 30px;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    margin-top: -5px;
    color: #FFF;
    font-family: icomoon;
  }
  .spNav ul li.menuBtn {
    color: #FFF;
    text-align: center;
    display: block;
    height: 100%;
    position: relative;
  }
  .spNav ul li.menuBtn em {
    position: absolute;
    display: block;
    width: 100%;
    bottom: 12px;
    text-align: center;
    font-weight: 600;
  }
  .spNav ul li.menuBtn #hamburger {
    margin: 25px auto 0;
  }
  .spNav ul li:nth-child(1) a:after {
    content: '\e911';
  }
  .spNav ul li:nth-child(2) a:after {
    content: '\e912';
    font-size: 28px;
  }
  .spNav ul li:nth-child(3) a:after {
    content: '\e90f';
    font-size: 38px;
  }
  .spNav ul li:nth-child(4) a:after {
    content: '\e905';
  }
}

#tab-menu {
  opacity: 0;
  display: block;
  position: absolute;
  top: 110px;
  width: 100%;
  height: 35px;
  z-index: 3;
}

@media screen and (max-width: 1200px) {
  #tab-menu {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  #tab-menu {
    display: none;
    top: auto;
    bottom: 0px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #tab-menu:-webkit-scrollbar {
    display: none;
  }
}

#tab-menu ul {
  width: 100%;
  height: 100%;
  display: flex;
  /* Safari */
  display: flex;
  -webkit-flex-wrap: nowrap;
  /* Safari */
  flex-wrap: nowrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  #tab-menu ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

#tab-menu ul li {
  height: 100%;
  color: white;
  font-size: 1.6rem;
  font-weight: bold;
  white-space: nowrap;
  padding: 0 20px;
}

@media screen and (max-width: 768px) {
  #tab-menu ul li {
    font-size: 1.1rem;
    padding: 0 15px;
  }
}

#tab-menu ul li a {
  color: rgba(255, 255, 255, 0.8);
  text-shadow: 0 0 5px rgba(0, 147, 233, 0.5);
  height: 100%;
  line-height: 25px;
  position: relative;
  transition: all .3s;
  display: inline-block;
}

#tab-menu ul li a:after {
  width: 0;
  height: 2px;
  content: '';
  background: #FFF;
  position: absolute;
  bottom: 10px;
  left: 0;
  transition: all .3s;
}

#tab-menu ul li a:hover {
  color: white;
  transition: all .3s;
}

#tab-menu ul li a:hover:after {
  width: 100%;
  height: 2px;
  content: '';
  background: #FFF;
  position: absolute;
  bottom: 10px;
  left: 0;
  transition: all .3s;
}

#tab-menu ul li a.current:after {
  width: 100%;
  height: 2px;
  content: '';
  background: #FFF;
  position: absolute;
  bottom: 10px;
  left: 0;
  transition: all .3s;
}

a.button {
  display: inline-block;
  border-radius: 15px;
  background: #000;
  color: #FFF;
  transition: all .2s;
  position: relative;
  font-size: 1.2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  font-family: DINNLTP-B;
  width: 170px;
  height: 30px;
  line-height: 30px;
  text-align: center;
}

a.button:after {
  content: '';
  position: absolute;
  width: 20px;
  height: 1px;
  background: #FFF;
  right: 0;
  top: 50%;
  transition: all .2s;
}

a.button:hover, a.button:active, a.button:focus {
  background: #0093E9;
  color: #FFF;
}

a.button:hover:after, a.button:active:after, a.button:focus:after {
  content: '';
  width: 10px;
  height: 1px;
}

@media screen and (max-width: 768px) {
  a.button {
    display: block;
    margin: 20px auto;
  }
}

.button a {
  display: inline-block;
  border-radius: 15px;
  background: #000;
  color: #FFF;
  transition: all .2s;
  position: relative;
  font-size: 1.2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  font-family: DINNLTP-B;
  width: calc(100% - 40px);
  height: auto;
  min-height: 30px;
  line-height: 1.6rem;
  padding: 10px 30px 5px 10px;
  text-align: center;
  display: block;
  margin: 0 auto;
}

.button a:after {
  content: '';
  position: absolute;
  width: 20px;
  height: 1px;
  background: #FFF;
  right: 0;
  top: 50%;
  transition: all .2s;
}

.button a:hover, .button a:active, .button a:focus {
  background: #0093E9;
  color: #FFF;
}

.button a:hover:after, .button a:active:after, .button a:focus:after {
  content: '';
  width: 10px;
  height: 1px;
}

@media screen and (max-width: 768px) {
  .button a {
    display: block;
    margin: 20px auto;
    width: 100%;
  }
}

.button a[href$='.pdf']:after {
  content: '\e919';
  background: none;
  top: 6px;
}

.Form .Form-Item {
  display: flex;
  /* Safari */
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  /* Safari */
  flex-wrap: wrap;
  width: 800px;
  margin: 0 auto;
  border-bottom: 1px solid #EAEAEA;
  padding: 25px 0 0 0;
}

@media screen and (max-width: 768px) {
  .Form .Form-Item {
    width: 100%;
    padding: 10px 0;
  }
}

.Form .Form-Item:first-child {
  border-top: 1px solid #EAEAEA;
}

.Form .Form-Item p {
  width: 50%;
  line-height: 3em;
}

@media screen and (max-width: 768px) {
  .Form .Form-Item p {
    width: 100%;
  }
}

.Form .Form-Item p.Form-Item-Label {
  font-size: 1.6rem;
  line-height: 1.6em;
  padding: 8px;
}

@media screen and (max-width: 768px) {
  .Form .Form-Item p.Form-Item-Label {
    margin-bottom: 0;
  }
}

.Form .Form-Item p.Form-Item-Label .Form-Item-Label-Required {
  font-size: 1.2rem;
  height: 24px;
  line-height: 24px;
  padding: 0 1rem;
  background: #f44336;
  color: #FFF;
  text-align: center;
  display: inline-block;
  margin: 0 10px 0 0;
  border-radius: 5px;
  float: right;
}

.Form .Form-Item p input, .Form .Form-Item p textarea {
  border-radius: 5px;
  background: #EEE;
  border: 1px solid #EAEAEA;
  font-size: 1.6rem;
  padding: 10px;
  width: 100%;
}

.Form .Form-Item p input:focus, .Form .Form-Item p textarea:focus {
  background: #F5FAFC;
}

.Form .Form-Item p input[type="radio"], .Form .Form-Item p input[type="checkbox"], .Form .Form-Item p textarea[type="radio"], .Form .Form-Item p textarea[type="checkbox"] {
  width: auto;
}

.Form .Form-Item p .wpcf7-list-item {
  padding: 5px;
}

.Form input[type="submit"] {
  display: inline-block;
  border-radius: 15px;
  background: #000;
  color: #FFF;
  transition: all .2s;
  position: relative;
  font-size: 1.2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  font-family: DINNLTP-B;
  width: 170px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border: none;
  margin: 30px auto 0;
  display: block;
}

.Form input[type="submit"]:after {
  content: '';
  position: absolute;
  width: 20px;
  height: 1px;
  background: #FFF;
  right: 0;
  top: 50%;
  transition: all .2s;
}

.Form input[type="submit"]:hover, .Form input[type="submit"]:active, .Form input[type="submit"]:focus {
  background: #0093E9;
  color: #FFF;
}

.Form input[type="submit"]:hover:after, .Form input[type="submit"]:active:after, .Form input[type="submit"]:focus:after {
  content: '';
  width: 10px;
  height: 1px;
}

.btn-trigger {
  position: relative;
  width: 30px;
  height: 18px;
  cursor: pointer;
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}

.btn-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  display: inline-block;
  transition: all .5s;
  box-sizing: border-box;
}

.btn-trigger span:nth-of-type(1) {
  top: 0;
}

.btn-trigger span:nth-of-type(2) {
  top: 8px;
}

.btn-trigger span:nth-of-type(3) {
  bottom: 0;
}

#hamburger span:nth-of-type(1) {
  -webkit-animation: hamburger-bar01 .75s forwards;
  animation: hamburger-bar01 .75s forwards;
}

@-webkit-keyframes hamburger-bar01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes hamburger-bar01 {
  0% {
    transform: translateY(8px) rotate(45deg);
  }
  50% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

#hamburger span:nth-of-type(2) {
  transition: all .25s .25s;
  opacity: 1;
}

#hamburger span:nth-of-type(3) {
  -webkit-animation: hamburger-bar03 .75s forwards;
  animation: hamburger-bar03 .75s forwards;
}

@-webkit-keyframes hamburger-bar03 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}

@keyframes hamburger-bar03 {
  0% {
    transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}

#hamburger.active span:nth-of-type(1) {
  -webkit-animation: active-hamburger-bar01 .75s forwards;
  animation: active-hamburger-bar01 .75s forwards;
}

@-webkit-keyframes active-hamburger-bar01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(8px) rotate(45deg);
  }
}

@keyframes active-hamburger-bar01 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(8px) rotate(0);
  }
  100% {
    transform: translateY(8px) rotate(45deg);
  }
}

#hamburger.active span:nth-of-type(2) {
  opacity: 0;
}

#hamburger.active span:nth-of-type(3) {
  -webkit-animation: active-hamburger-bar03 .75s forwards;
  animation: active-hamburger-bar03 .75s forwards;
}

@-webkit-keyframes active-hamburger-bar03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
}

@keyframes active-hamburger-bar03 {
  0% {
    transform: translateY(0) rotate(0);
  }
  50% {
    transform: translateY(-8px) rotate(0);
  }
  100% {
    transform: translateY(-8px) rotate(-45deg);
  }
}

/* animation */
@-webkit-keyframes pass-bar {
  0% {
    left: 0;
    right: auto;
    width: 0;
  }
  50% {
    left: 0;
    right: auto;
    width: 100%;
  }
  51% {
    left: auto;
    right: 0;
    width: 100%;
  }
  100% {
    left: auto;
    right: 0;
    width: 0;
  }
}

@keyframes pass-bar {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 100%;
    width: 0;
  }
}

@-webkit-keyframes pass-txt {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes pass-txt {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* css */
.pass .pass-box, .pass-s .pass-box {
  display: block;
}

.pass .pass-box:before, .pass-s .pass-box:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  /* 任意の値 */
  background: #2E6F3F;
}

.pass .pass-bar, .pass-s .pass-bar {
  position: relative;
  display: inline-block;
  /*　後ほど解説　*/
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.pass .pass-bar:before, .pass-s .pass-bar:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  /* 任意の値 */
  background: #000;
}

.pass .pass-txt, .pass-s .pass-txt {
  opacity: 0;
  /* 後ほど解説 */
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  /* 任意の値 */
}

.pass.move .pass-bar:before, .pass-s.move .pass-bar:before {
  -webkit-animation: pass-bar 1s ease 0s 1 normal forwards;
  animation: pass-bar 1s ease 0s 1 normal forwards;
}

.pass.move .pass-txt, .pass-s.move .pass-txt {
  -webkit-animation: pass-txt 0s ease .5s 1 normal forwards;
  animation: pass-txt 0s ease .5s 1 normal forwards;
  background: #FFF;
  padding: 5px;
}

.fadeIn {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms;
}

.fadeIn.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeInLeft {
  opacity: 0;
  transform: translate(100px, 0);
  transition: all 1500ms;
}

.fadeInLeft.scrollinLeft {
  opacity: 1;
  transform: translate(0, 0);
  transition: all 1500ms;
}

#svg-animation {
  width: 190px;
  height: 184px;
}

#svg-animation .st0 {
  fill: none;
  stroke: #FFF;
  stroke-width: 9;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500;
}
