@charset "UTF-8";

/* ==========================================================================
  Foundation
  ========================================================================== */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, button {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}
body {
  line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
a {
  background: transparent;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  cursor: pointer;
}
/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
/* change colours to suit your needs */
img {
  max-width: 100%;
  height: auto;
  object-fit: cover;
  vertical-align: top;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* change border colour to suit your needs */
a {
  -webkit-transition: 0.5s all;
  transition: 0.5s all;
  color: inherit;
  text-decoration: none;
}
a:hover {
  opacity: 0.8;
}
table caption {
  display: none;
}
hr {
  border: 0;
  border-top: 1px solid #cccccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
}
/* フォームの初期化を追加 */
/* テキスト */
input[type="text"], input[type="email"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border-radius: 0;
  box-shadow: none;
  color: inherit;
  font-family: inherit;
  width: 100%;
}
input[type="text"]:focus, input[type="email"]:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
/* テキストエリア */
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  height: 100px;
  width: 100%;
}
textarea:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
/* セレクト */
select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: white;
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
}
select::-ms-expand {
  display: none;
}
select:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
input[type="text"], input[type="email"], input[type="tel"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
  padding: 0.4em 0.8em;
  width: 100%;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus {
  outline: none;
}
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
  height: 100px;
  padding: 0.4em 0.8em;
  width: 100%;
}
textarea:focus {
  -webkit-box-shadow: none;
  box-shadow: none;
}
input[type="submit"], input[type="reset"] {
  -webkit-appearance: none;
  background-image: none;
  border: none;
  cursor: pointer;
  display: inline-block;
  font-family: inherit;
  font-size: inherit;
  text-decoration: none;
}
input[type="submit"]:hover, input[type="submit"]:focus, input[type="reset"]:hover, input[type="reset"]:focus {
  outline: none;
}
input[type="submit"]::-moz-foucus-inner, input[type="reset"]::-moz-foucus-inner {
  border: none;
  padding: 0;
}
input[type=color], input[type=date], input[type=datetime-local], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week], select, textarea {
  -webkit-box-sizing: border-box;
  border: 1px solid #B7B7B7;
  border-radius: 4px;
  box-sizing: border-box;
  display: inline-block;
  padding: .5em .6em;
  vertical-align: middle;
}
/* base */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;
  scroll-behavior: smooth;
}
*, ::before, ::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
body {
  color: #333;
  background: #AEDCE6;
  font-family: "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Helvetica Neue",
    Arial,
    "Noto Sans JP",
    sans-serif;
  font-size: 1.7rem;
  line-height: 1.7;
  font-weight: normal;
}
@media (max-width: 1280px) {
  body {
    font-size: 1.7rem;
  }
}
@media (max-width: 1023px) {
  body {
    font-size: 1.6rem;
  }
}
@media (max-width: 768px) {
  body {
    font-size: 1.4rem;
  }
}
.wrapper {
  overflow: hidden;
}
.contents {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 20px;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}
.left {
  text-align: left;
}
.mt60 {
  margin-top: 60px!important;
}
.mt1em {
  margin-top: 1em!important;
}
.mt2em {
  margin-top: 2em!important;
}
.wMax {
  width: 100%;
}
.fS {
  font-size: 85%;
}
@media (min-width: 1024px) {
  .show.is-sp {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  .show.is-pc {
    display: none !important;
  }
}

/* ==========================================================================
  header
  ========================================================================== */
#header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
}
body.home #header {
  justify-content: flex-end;
}
#header nav {
  display: flex;
  gap: 0 30px;
  justify-content: flex-end;
}
.gNav {
  display: flex;
  gap: 0 25px;
}
.snsNav {
  display: flex;
  gap: 0 10px;
}
@media screen and (max-width: 1024px) {
  .gNav {
    display: none;
  }
}
/* ==========================================================================
  footer
  ========================================================================== */
#footer {
  text-align: center;
  padding: 60px 25px 20px;
  font-size: 12px;
}
/* ==========================================================================
  lp common
  ========================================================================== */
.contents > section {
  margin-top: 7em;
}
section > h2 {
  text-align: center;
  font-size: 170%;
  font-weight: 600;
  position: relative;
  margin-bottom: 45px;
}
section > h2::before {
  content: '';
  position: absolute;
  top: 48%;
  left: 0;
  right: 0;
  border-top: 1px solid #333;
}
section > h2 > span {
  position: relative;
  display: inline-block;
  padding: 0 30px;
  background: #AEDCE6;
}
.table_basic01 {
  border: 1px solid #CCCCCC;
	border-collapse: collapse;
  margin-bottom: 10px;
  min-width: 100%;
}
.table_basic01 th,
.table_basic01 td {
  border: 1px solid #CCCCCC;
  padding: 15px 20px;
  text-align: center;
  white-space: nowrap;
}
.table_basic01 th {
  background: #8D8D8D;
  color: #FFF;
}
.table_basic01 td {
  background: #FFF;
}
@media screen and (max-width: 768px) {
  .contents > section {
    margin-top: 50px;
  }
  section > h2 {
    font-size: 140%;
    margin-bottom: 1.5em;
  }
  .table_basic01 th,
  .table_basic01 td {
    padding: 5px 10px;
  }
}

/* ==========================================================================
  mainimg
  ========================================================================== */
.mainimg {
  text-align: center;
  padding: 90px 0 20px;
}
.mainimg_symbol {
  margin-bottom: 70px;
}
.mainimg h2 {
  margin-top: 120px;
  font-size: 135%;
}
.mainimg_txt {
  margin-top: 40px;
  font-size: 105%;
  line-height: 2.0;
}
.btn_contact01 {
  background: #C93941;
  color: #FFF;
  font-weight: bold;
  font-size: 150%;
  padding: 20px 180px;
  display: inline-block;
  border-radius: 15px;
}
@media screen and (max-width: 1024px) {
  .btn_contact01 {
    padding: 20px 60px;
  }
}
@media screen and (max-width: 768px) {
  .mainimg {
    text-align: center;
    padding: 50px 0 0;
  }
  .mainimg_symbol img {
    width: 50%;
  }
  .mainimg_copy img {
    width: 90%;
  }
  .mainimg h2 {
    margin-top: 60px;
    font-size: 123%;
    font-feature-settings: "palt";
  }
  .mainimg_txt {
    text-align: left;
  }
  .mainimg_txt br {
    display: none;
  }
  .btn_contact01 {
    padding: 15px 20px;
    width: 100%;
    font-size: 130%;
  }
}

/* ==========================================================================
  news
  ========================================================================== */
.section_news {
  background: #FFF;
  display: flex;
  padding: 40px 40px 40px 0;
  border-radius: 5px;
}
.section_news > header {
  width: 20%;
  padding: 0 40px;
  text-align: center;
}
.section_news > header h2 {
  font-size: 150%;
  font-weight: normal;
}
.btn_more01 {
  background: #D6D6D6;
  padding: 5px 10px;
  display: block;
  border-radius: 50px;
  font-size: 85%;
  text-align: center;
}
.section_news > nav {
  flex: 1;
}
.newsList li {
  margin-top: 15px;
}
.newsList li > a {
  display: flex;
  align-items: flex-start;
  gap: 5px 20px;
}
.newsList .meta {
  display: flex;
  gap: 0 5px;
  align-items: center;
}
.newsList .date {
  width: 9em;
}
.newsList .cat {
  border: 1px solid #C93941;
  color: #C93941;
  padding: 2px 5px;
  font-size: 1.2rem;
  line-height: 1.4;
  width: 7.8em;
  text-align: center;
}
.newsList .new {
  font-size: 1.2rem;
  color: #C93941;
  margin-left: 5px;
}
@media screen and (max-width: 1024px) {
  .section_news {
    flex-direction: column;
    padding: 20px 40px 40px;
  }
  .section_news > nav {
    margin-bottom: 2em;
  }
  .section_news > header {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
  }
  .section_news header .btn_more01 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .section_news {
    padding: 20px 25px 25px;
  }
  .newsList li > a {
    flex-direction: column;
  }
  .newsList .date {
    width: auto;
  }
  .newsList .cat {
    width: auto;
    font-size: 1.0rem;
  }
  .newsList .tit {
    line-height: 1.4;
  }
}

/* ==========================================================================
  schedule
  ========================================================================== */
.section_schedule table {
  table-layout: fixed;
}
.section_schedule table a {
  font-size: 120%;
  font-weight: bold;
  color: #004688;
}
@media screen and (max-width: 768px) {
  .section_schedule table a {
    font-size: 110%;
  }
}
/* ==========================================================================
  price
  ========================================================================== */
.priceBox {
  max-width: 770px;
  margin: 0 auto;
}
.priceList {
  width: 100%;
  display: flex;
  gap: 20px 80px;
  list-style: none;
  text-align: center;
}
.priceList li {
  flex: 1;
}
.priceList h3 {
  font-size: 130%;
  color: #FFF;
  padding: 10px 20px;
  border-radius: 50px;
  margin-bottom: 10px;
}
.priceList .nonmember h3 {
  background: #C93941;
}
.priceList .member h3 {
  background: #8D8D8D;
}
.priceList p {
  font-size: 210%;
}
.priceList p span {
  font-size: 85%;
}
.about_member {
  background: #FFF;
  padding: 40px 70px;
  display: flex;
  align-items: center;
  margin-top: 3em;
  gap: 20px 50px;
}
.about_member h3 {
  font-size: 150%;
  font-weight: normal;
  text-align: center;
  padding: 0 70px 0 0;
  border-right: 1px solid #707070;
}
@media screen and (max-width: 768px) {
  .priceList {
    flex-direction: column;
  }
  .about_member {
    flex-direction: column;
    padding: 20px 20px;
    margin-top: 2em;
  }
  .about_member h3 {
    border: none;
    border-bottom: 1px solid #707070;
    padding: 0 0 15px;
    width: 100%;
  }
  .about_member h3 br {
    display: none;
  }
  .about_member > div {
    white-space: nowrap;
  }
}
/* ==========================================================================
  movie
  ========================================================================== */
.section_movie .movieList {
  font-size: 1.5rem;
}
.section_movie .movieList .slick-list {
  margin: 0 -15px;
}
.section_movie .movieList .slick-slide {
  background: #FFF;
  padding: 0 20px 20px;
  border-radius: 5px;
  overflow: hidden;
  line-height: 1.4;
  margin: 0 15px;
}
.section_movie .movieList figure {
  margin: 0 -20px 15px;
}
.section_movie .movieList figcaption {
  color: #999;
  font-size: 1.0rem;
  text-align: right;
  margin: 3px 10px 0 0;
}
.section_movie .movieList h3 {
  font-size: 135%;
  line-height: 1.4;
  font-weight: 500;
  margin-bottom: 15px;
}
.section_movie .movieList dl {
  display: flex;
  gap: 10px 15px;
  flex-wrap: wrap;
  align-items: flex-start;
}
.section_movie .movieList dt {
  width: 5.5em;
  background: #C93941;
  color: #FFF;
  font-weight: 600;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1.0;
  padding: 4px 10px 5px;
}
.section_movie .movieList dd {
  width: calc(100% - 5.5em - 15px);
}
.section_movie dd li {
  line-height: 1.8;
  text-indent: -1em;
  margin-left: 1em;
}
.section_movie dd li::before {
  content: "●";
  color: #C93941;
  margin-right: 3px;
}
@media screen and (max-width: 1024px) {
  .section_movie .movieList > li {
    width: calc((100% - 25px) / 2);
    padding: 0 20px 20px;
  }
}
@media screen and (max-width: 768px) {
  .section_movie .movieList > li {
    width: 100%;
    padding: 0 20px 20px;
  }
}

/* ==========================================================================
  theater
  ========================================================================== */
.theaterBox {
  display: flex;
  gap: 20px 50px;
}
.theaterBox .add {
  display: flex;
  width: 40%;
  gap: 0 35px;
}
.theaterBox figure {
  width: 98px;
}
.theaterBox .floor {
  flex: 1;
}
iframe[src*="www.google.com/maps/embed"] {
	width: 100%;
	height: 320px;
}
@media screen and (max-width: 768px) {
  .theaterBox {
    flex-direction: column;
  }
  .theaterBox .add {
    width: 100%;
  }
}

/* ==========================================================================
  contact
  ========================================================================== */
.section_contact strong {
  text-decoration: underline;
}
.contactBox {
  background: #FFF;
  border-radius: 10px;
  margin-top: 3em;
  padding: 80px 30px;
}
.contactBox > div {
  max-width: 580px;
  margin: 0 auto;
}
.contactBox dt {
  margin-top: 1em;
  display: flex;
  align-items: center;
}
.contactBox dt.required::after {
  content: "必須";
  background: #C93941;
  color: #FFF;
  font-size: 1.2rem;
  padding: 3px 5px;
  border-radius: 3px;
  display: inline-block;
  margin-left: 5px;
  line-height: 1.1;
}
.contactBox dt:first-child {
  margin: 0;
}
.contactBox h3 {
  margin-top: 2em;
}
.contactBox label:has(input[type="checkbox"]) {
  border: 1px solid #E8E8E8;
  display: inline-block;
  padding: 8px 20px;
  border-radius: 5px;
}
.contactBox input[type="checkbox"]{
  margin-right: 5px;
}
.contactBox input[type="submit"]{
  background: #C93941;
  width: 100%;
  color: #FFF;
  padding: 10px 20px;
  border-radius: 3px;
  font-size: 110%;
}
@media screen and (max-width: 768px) {
  .contactBox {
    margin-top: 2em;
    padding: 40px 20px;
  }
}

/* ==========================================================================
  modal
  ========================================================================== */
.modal__bg {
  position: fixed;
  z-index: 10009;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0; /* 初期状態で非表示 */
  visibility: hidden; /* 初期状態で非表示 */
  transition: opacity .6s ease, visibility .6s ease;
}

.modal__bg.is-active {
  opacity: 1; /* 非表示を解除 */
  visibility: visible; /* 非表示を解除 */
}

.modal__inner {
  position: fixed;
  z-index: 10010;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: auto;
  padding: 0 10px;
  opacity: 0; /* 初期状態で非表示 */
  visibility: hidden; /* 初期状態で非表示 */
  transition: opacity .6s ease, visibility .6s ease;
}

.modal__inner.is-active {
  opacity: 1; /* 非表示を解除 */
  visibility: visible; /* 非表示を解除 */
}

.modal-card {
  max-width: 1100px;
  min-height: 290px;
  background: #fff;
  filter: drop-shadow(0 0 10px rgba(0 ,0, 0, 0.4));
  border-radius: 16px;
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
  position: absolute;
  z-index: 1;
  transform: translate3d(0, 48px, 0);
  opacity: 0; /* 初期状態で非表示 */
  visibility: hidden; /* 初期状態で非表示 */
  transition: opacity .6s ease, visibility .6s ease, transform .3s ease-in-out;
}

.modal-card.is-active {
  position: relative;
  z-index: 2;
  opacity: 1; /* 非表示を解除 */
  visibility: visible; /* 非表示を解除 */
  transform: translate3d(0, 0, 0);
}
.modal-card__detail {
  display: flex;
  gap: 20px 40px;
}
.modal-card__detail > figure {
  width: 30%;
}
.modal-card__detail figcaption {
  font-size: 1.1rem;
  margin-top: 5px;
  text-align: right;
  line-height: 1.4;
  color: #999;
}
.modal-card__detail > div {
  flex: 1;
}
.modal-card__heading {
  font-size: 130%;
  font-weight: 500;
  margin-bottom: 10px;
  line-height: 1.4;
  display: flex;
  justify-content: space-between;
  align-content: center;
  flex-wrap: wrap;
}
.modal-card__heading a {
  background: #000;
  color: #FFF;
  padding: 5px 10px;
  font-size: 1.3rem;
  font-weight: normal;
}
.modal-card__heading a::after {
  content: url("assets/img/lp/ico_window.png");
  margin-left: 3px;
}
.modal-card h5 {
  background: #E5E5E5;
  padding: 5px 15px;
  line-height: 1.4;
  border-radius: 5px;
  margin-bottom: 10px;
}
.modal-card__close {
  width: 15px;
  height: 15px;
  position: absolute;
  top: 16px;
  right: 13px;
}

.modal-card__close::before,
.modal-card__close::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 50%;
  width: 22px;
  height: 3px;
  background: #000;
  cursor: pointer;
}

.modal-card__close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.modal-card__close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 768px) {
  .modal-card {
    padding: 45px 20px 30px;
  }
  .modal-card__detail {
    flex-direction: column;
  }
  .modal-card__detail > figure {
    width: 100%;
  }
}

/* ==========================================================================
  subpage
  ========================================================================== */
.pageHeading {
}
.pageHeading h1 {
  font-size: 180%;
  text-align: center;
  margin-bottom:1em;
}
.breadcrumb {
  font-size: 1.3rem;
  margin-bottom: 10px;
  color: #666;
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  list-style: none;
  flex-wrap: wrap;
}
.breadcrumb__list li::before {
  content: "/";
  margin: 0 10px;
}
.breadcrumb__list li:first-of-type::before {
  display: none;
}

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

/* ==========================================================================
  index / single
  ========================================================================== */
.snav-wrapper {
  display: flex;
  gap: 30px 50px;
}
.snav-wrapper > article,
.mainColumn {
  flex: 1;
  background: #FFF;
  padding: 40px;
  border-radius: 5px;
}
.snav-wrapper > article h2 {
  font-size: 130%;
  margin-bottom: 10px;
}
.snav-wrapper > article header {
  margin-bottom: 2em;
}
.snav-wrapper .detail-head {
  display: flex;
}
.snav-wrapper > aside {
  width: 220px;
}
.sidebarBox_tit {
  background: #000;
  color: #FFF;
  padding: 5px 15px;
  line-height: 1.4;
  margin-bottom: 15px;
  border-radius: 5px;
}
.sidebarBox + .sidebarBox {
  margin-top: 1em;
}
.sidebarBox ul {
  margin-left: 1em;
}

@media screen and (max-width: 1024px) {
  .snav-wrapper {
    flex-direction: column;
  }
  .snav-wrapper > aside {
    width: 100%;
  }
  .snav-wrapper > article,
  .mainColumn {
    padding: 25px;
  }
}

/* ==========================================================================
  wp-pagenavi
  ========================================================================== */
.wp-pagenavi {/* 全体 */
  margin: 20px 0;
  font-size: 1.2rem;
  text-align: center;
  margin-top: 5em;
}
.wp-pagenavi a {/* フォント色 */
    color: #4a4a4a;
}
.pages {/* 左の表記 */
    margin-right: 20px;
}
.wp-pagenavi .current,
.wp-pagenavi a.page {/* ボタン */
    margin: 0 6px 6px 0;
    display: inline-block;
    border: solid 1px #eee;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    line-height: 40px;
    text-align: center;
}
.wp-pagenavi .current {/* カレント数字 */
    border: none;
    background: #C93941;
    color: #fff;
}
.wp-pagenavi a.page:hover {/* マウスオーバー */
    background: #C93941;
    color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {/* ... */
    margin-right: 10px;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {/* 記号の削除 */
    display: none;
}