@charset "UTF-8";

.p-breadcrumb { margin-bottom: 0 !important; }
.main-slider-wrapper {
  background-color: #e9e7e4;
  padding: 7%;
}
.main-slider-wrapper .main-slider.slick-dotted { margin-bottom: 0; }
.main-slider-wrapper .main-slider .slick-dots { bottom: -6vw; }
.main-slider-wrapper .main-slider .slick-dots li { margin: 0; }
.main-slider-wrapper .main-slider .slick-dots button { width: 22px; height: 22px; }
.main-slider-wrapper .main-slider .slick-dots button::before { font-size: 11px; line-height: 22px; width: 22px; height: 22px; color: #fff; opacity: 1; }
.main-slider-wrapper .main-slider .slick-active button:before { opacity: .75; color: #000; }

.title-wrapper { padding: 3rem 0; }
.title-wrapper .page-title { padding: 2rem 0; text-align: center; font-size: 2rem; }

body.page .content-title { background: url("/wp-content/themes/mikado/assets/images/bg-washi.png"); padding: 2.5rem 0; margin-bottom: 3rem; }
body.page .content-title h2 {
  text-align: center;
  font-size: 2rem;
  position: relative;
  padding-top: 1.75rem;
  margin-bottom: 0;
}
body.page .content-title h2::before {
  content: '';
  width: 22px;
  height: 22px;
  display: inline-block;
  background: url("/wp-content/themes/mikado/assets/images/element.png") no-repeat;
  position: absolute;
  top: 0;
  background-position: center;
  background-size: contain;
  margin: 0 auto;
  left: 0;
  right: 0;
}

.sec { padding-top: 2rem; padding-bottom: 2rem; }
p.mt { margin-top: 3em; }
@media(max-width:991px) {
  p.mt { margin-top: 0; margin-bottom: 0 !important; }
  body.page .content-title { padding: 1.5rem 0; margin-bottom: 2rem; }
  body.page .content-title h2 { font-size: 1.5rem; }
}
.contact-link { text-align: center; }
.contact-link a { color: #000 !important; text-decoration: none; font-size: 1.5rem; position: relative; padding-bottom: 1rem; margin-bottom: 3rem; }
.contact-link a:focus, .contact-link a:hover { color: #5e5e5e !important; text-decoration: none !important; }
.contact-link a::after {
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: '';
  width: 115px;
  height: 1px;
  background-color: #808080;
}
.fluid-box {
 width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
.fluid-box .background { background-image: none; }
.fluid-box .background img {  }
.fluid-box-inner{
 margin: 0 auto;
 padding: 25px;
 background-color: #fff;
}
.flex { display: flex; flex-wrap: wrap; }
.justify-content-center { justify-content: center; }
.flex .flex-50 { width: 100%; text-align: center; margin-top: 1rem; margin-bottom: 1rem; }
.flex .flex-50 .title { font-size: 1.5rem; }
.flex .flex-50 figcaption { font-size: .875rem; }
.date-box { justify-content: center; text-align: center; font-size: 1.125rem; }
.date-box .date { max-width: 60%; flex: 60%; }
.date-box .content { max-width: 40%; flex: 40%; }

.event-box-wrapper { background-color: #f7f7f1; padding: 3rem 2rem; }
.l-primary .event-box-wrapper h3 { font-size: 2rem; position: relative; text-align: center; padding-bottom: 1rem; margin-bottom: 3rem; }
.l-primary .event-box-wrapper h3::after {
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  content: '';
  width: 115px;
  height: 1px;
  background-color: #808080;
}

.event-box { text-align: center; font-size: 1.125rem; border-bottom: 1px solid #808080; padding-bottom: 1rem; margin-bottom: 1rem; }
.event-box .date, .event-box .content { max-width: 50%; flex: 50%; }
/* .event-box .date { max-width: 60%; flex: 60%; }
.event-box .content { max-width: 60%; flex: 60%; } */
@media(max-width:991px) {
  .l-primary .event-box-wrapper { padding: 2rem 1.25rem; margin: 1rem 0; }
  .l-primary .event-box-wrapper h3 { font-size: 1.5rem; margin-bottom: 2rem; }
  .event-box { padding-bottom: .5rem; margin-bottom: .5rem; }
}
.access-list {  margin-left: 0 !important; }
.access-list  li { margin-bottom: 3rem; font-size: 1.5rem; line-height: 1.3; }
.access-list  li small { font-size: .9rem; }
.map { text-align: center; line-height: 1.3; }
.movie {
  position: relative;
  width: 100%;
  min-height: 50vw;
  margin: 0 auto;
  padding-top: 45%;
}
.movie iframe { position: absolute; top: 0; }
@media(min-width:992px) {
  .main-slider-wrapper {
    padding: 3.5% 5%;
  }
  .main-slider-wrapper .main-slider .slick-dots { bottom: -2.6vw; }
  .fluid-box .background {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 411px;
    padding-top: 411px;
  }
  .fluid-box .background img { display: none; }
  .date-box, .event-box { font-size: 1.5rem; }
  .date-box .date { max-width: 30%; flex: 30%; }
  .date-box .content { max-width: 20%; flex: 20%; }
  .event-box-wrapper { max-width: 80%; margin: 2rem auto; padding: 5rem 4rem; }
  .flex .flex-50 { max-width: 50%; flex: 50%; }
  .flex .flex-80 { max-width: 80%; flex: 80%; }
  .movie { width: 80%; min-height: auto; }
}

body .wpcf7 {
  background: none;
  border: none;
}
body .wpcf7 p { font-size: 1rem; }
body .wpcf7 p span input, body .wpcf7 p span textarea {
  width: 100%;
  border-radius: .25rem;
  padding: .5rem;
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
body .wpcf7 p label.required { position: relative; display: block;  margin-bottom: .5rem; }
body .wpcf7 p label.required::after {
  content: '必須';
  background-color: #ed1c24;
  color: #fff;
  padding: .25rem .75rem;
  font-size: .8rem;
  position: absolute;
  right: 0;
  height: 1.2rem;
  top: 5px;
  margin: auto;
  display: block;
  line-height: 1.6;
}
@media(min-width:992px) {
  body .wpcf7 p:not(.acceptance) {
    display: flex;
    justify-content: center;
  }
  body .wpcf7 p:not(.acceptance) label {
    max-width: 20%;
    flex: 20%
  }
  body .wpcf7 p:not(.acceptance) span {
    max-width: 40%;
    flex: 40%;
    padding-left: 1rem;
  }
  body .wpcf7 p.acceptance, body .wpcf7 p.submit {
    display: flex;
    justify-content: flex-end;
  }
  body .wpcf7 p.acceptance span, body .wpcf7 p.submit span {
    flex: 60%;
    max-width: 60%;
  }
  body .wpcf7 p.submit input { margin: 0; }
  body .wpcf7 p.submit span.ajax-loader {
    max-width: none;
    flex: 0;
  }
}