@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: #0A5FA8;
  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: #FFF;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, sans-serif;
  font-size: 1.7rem;
  line-height: 1.7;
  font-weight: normal; }

@media screen and (max-width: 1023px) {
  body {
    font-size: 1.6rem; } }
@media screen and (max-width: 768px) {
  body {
    font-size: 1.5rem; } }
.wrapper {
  overflow: hidden;
  position: relative; }
  body.home .wrapper {
    position: relative; }
  .wrapper .floatingBtn {
    position: fixed;
    right: 0;
    bottom: 20px;
    background: #C93941;
    color: #FFF;
    padding: 25px 20px 20px;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px;
    border-top: 2px solid #FFF;
    border-bottom: 2px solid #FFF;
    border-left: 2px solid #FFF;
    font-weight: bold; }
    .wrapper .floatingBtn.stop {
      position: absolute;
      right: 0;
      bottom: 320px; }
    .wrapper .floatingBtn a {
      display: block;
      color: #FFF; }
    .wrapper .floatingBtn img {
      display: block;
      margin: 0 auto 5px; }

.contents {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 20px; }

/* ==========================================================================
  cmn-style
  ========================================================================== */
.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; }

.mt5em {
  margin-top: 5em !important; }

.mb1em {
  margin-bottom: 1em !important; }

.wMax {
  width: 100%; }

.fS {
  font-size: 85%; }

.fLL {
  font-size: 140%; }

.txtColor01 {
  color: #C93941; }

.flex {
  display: flex; }

.show.is-sp {
  display: none; }

@media screen and (max-width: 999px) {
  .show.is-sp {
    display: block; } }
.show.is-pc {
  display: none; }

@media screen and (min-width: 1000px) {
  .show.is-pc {
    display: block; } }
a.btn-basic01,
.wp-block-button.btn-basic01 a {
  background: #C93941;
  color: #FFF;
  display: inline-block;
  padding: 15px 30px;
  min-width: 540px;
  margin: 0 auto;
  border-radius: 5px; }
  @media screen and (max-width: 768px) {
    a.btn-basic01,
    .wp-block-button.btn-basic01 a {
      min-width: inherit;
      width: 100%; } }

/* ==========================================================================
  header
  ========================================================================== */
#header {
  padding: 20px 25px; }
  @media screen and (max-width: 768px) {
    #header {
      padding: 20px; } }
  body.home #header {
    position: absolute;
    top: 0;
    left: 0; }

.menu-wrapper {
  position: relative; }
  .menu-wrapper #menu-toggle:checked + .menu-icon span:nth-child(1) {
    transform: translateY(3.5px) rotate(45deg); }
  .menu-wrapper #menu-toggle:checked + .menu-icon span:nth-child(2) {
    transform: translateY(-3.5px) rotate(-45deg); }
  .menu-wrapper #menu-toggle:checked ~ .overlay {
    opacity: 1;
    pointer-events: auto; }
  .menu-wrapper #menu-toggle:checked ~ .menu {
    right: 0; }

.menu-icon {
  width: 55px;
  height: 55px;
  position: fixed;
  top: 20px;
  right: 20px;
  cursor: pointer;
  z-index: 3;
  display: inline-block;
  background: #000;
  border-radius: 28px; }
  .menu-icon span {
    display: block;
    height: 2px;
    width: 18px;
    background: #fff;
    border-radius: 2px;
    transition: 0.4s;
    position: absolute;
    left: 19px; }
    .menu-icon span:nth-child(1) {
      top: 24px; }
    .menu-icon span:nth-child(2) {
      top: 31px; }

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(205, 205, 205, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  z-index: 1; }

.menu {
  position: fixed;
  padding: 0 40px;
  top: 0;
  right: -350px;
  width: 350px;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.2);
  transition: right 0.4s ease;
  z-index: 2;
  overflow-y: auto; }
  .menu a {
    text-decoration: none;
    color: #fff; }
  .menu .gNav {
    list-style: none;
    padding: 95px 0px 15px;
    font-size: 1.8rem; }
    .menu .gNav li {
      margin: 17px 0; }
      .menu .gNav li a {
        transition: color 0.3s;
        display: flex;
        align-items: center; }
        .menu .gNav li a::after {
          content: '';
          width: 8px;
          height: 8px;
          border-top: 2px solid #c93941;
          border-right: 2px solid #c93941;
          transform: rotate(45deg);
          margin-left: 8px;
          transition: transform 0.3s; }
        .menu .gNav li a:hover {
          color: #c93941; }
          .menu .gNav li a:hover::after {
            transform: translateX(5px) rotate(45deg); }
  .menu .sns {
    margin-top: 30px; }
    .menu .sns li:not(:last-child) {
      margin-bottom: 20px; }
    .menu .sns a {
      display: flex;
      font-size: 1.4rem;
      align-items: center;
      line-height: 1.4;
      gap: 0 13px; }

.btn-ticket {
  background: #C93941;
  color: #FFF;
  display: block;
  padding: 15px;
  text-align: center;
  border-radius: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 5px; }

/* ==========================================================================
  main
  ========================================================================== */
main h1 {
  background: url("assets/img/common/bg_h1.jpg") no-repeat center/cover;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.4;
  padding: 90px  0 30px;
  margin-bottom: 10px;
  font-weight: normal; }
  @media screen and (max-width: 768px) {
    main h1 {
      font-size: 1.4rem;
      padding: 45px  0 20px; } }
  main h1 span {
    font-size: 4.6rem;
    display: block;
    text-transform: capitalize;
    font-weight: bold; }
    @media screen and (max-width: 768px) {
      main h1 span {
        font-size: 2.8rem; } }
main .breadcrumb {
  margin-bottom: 50px;
  color: #999; }
main .breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  font-size: 1.2rem; }
  main .breadcrumb ol li:not(:last-child)::after {
    content: "/";
    margin: 0 0.5em;
    color: #999; }

/* ==========================================================================
  footer
  ========================================================================== */
#footer {
  background: #F2F9F9 url("assets/img/common/bg_footer01.png") no-repeat center bottom;
  margin-top: 130px;
  padding: 30px 25px 160px;
  display: flex;
  gap: 20px;
  justify-content: space-between; }
  body.home #footer {
    margin-top: 0; }
  @media screen and (max-width: 1023px) {
    #footer {
      flex-direction: column;
      background-size: contain; } }
  @media screen and (max-width: 768px) {
    #footer {
      padding-bottom: 50px; } }
  #footer .companyInfo {
    display: flex;
    gap: 20px 45px; }
    @media screen and (max-width: 768px) {
      #footer .companyInfo {
        flex-direction: column;
        align-items: center;
        text-align: center; } }
    #footer .companyInfo img {
      width: 85px; }
    #footer .companyInfo strong {
      display: inline-block;
      margin-right: 20px; }
    #footer .companyInfo a {
      display: inline-block;
      color: inherit; }
    #footer .companyInfo i {
      font-size: 2.8rem;
      margin-right: 15px; }
    #footer .companyInfo .add {
      margin-top: 10px; }
  #footer .footerNav {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    font-size: 1.6rem;
    gap: 0 25px;
    flex-wrap: wrap; }
    @media screen and (max-width: 1023px) {
      #footer .footerNav {
        justify-content: flex-start; } }
    @media screen and (max-width: 768px) {
      #footer .footerNav {
        display: none; } }
    #footer .footerNav a {
      color: inherit; }
  #footer .copy {
    font-size: 1.2rem;
    text-align: right;
    margin-top: 5em; }
    @media screen and (max-width: 1023px) {
      #footer .copy {
        text-align: left;
        margin-top: 2em; } }
    @media screen and (max-width: 768px) {
      #footer .copy {
        text-align: center;
        margin-top: 0; } }

/* ==========================================================================
  page common
  ========================================================================== */
.container {
  max-width: 1150px;
  padding: 0 25px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .container {
      padding: 0 20px; } }

.btn-basic02 {
  background: #C93941;
  color: #FFF;
  border-radius: 5px;
  padding: 10px 40px;
  display: inline-block; }
  .btn-basic02.dark {
    background: #333333; }
  .btn-basic02::after {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    padding-left: 15px; }

/* ==========================================================================
  home
  ========================================================================== */
#mainimg {
  background: url("assets/img/top/mainimg.png") left bottom/cover no-repeat;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 100vh; }
  @media screen and (max-width: 1280px) {
    #mainimg {
      height: 650px; } }
  @media screen and (max-width: 1023px) {
    #mainimg {
      background: url("assets/img/top/mainimg3.png") left bottom/cover no-repeat;
      height: 500px; } }
  @media screen and (max-width: 768px) {
    #mainimg {
      background: #AEDCE6;
      height: auto;
      padding: 120px 20px 50px; } }
  #mainimg .slider {
    width: 65%;
    margin: 0 50px 0 0; }
    @media screen and (max-width: 1280px) {
      #mainimg .slider {
        width: 60%; } }
    @media screen and (max-width: 1023px) {
      #mainimg .slider {
        width: 65%; } }
    @media screen and (max-width: 768px) {
      #mainimg .slider {
        width: 100%;
        margin: 0; } }
    #mainimg .slider .slick-list {
      margin: 0 -15px; }
      @media screen and (max-width: 1280px) {
        #mainimg .slider .slick-list {
          margin: 0 -10px; } }
      @media screen and (max-width: 568px) {
        #mainimg .slider .slick-list {
          margin: 0 -5px; } }
    #mainimg .slider .slick-slide {
      margin: 0 15px;
      box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.35); }
      @media screen and (max-width: 1280px) {
        #mainimg .slider .slick-slide {
          margin: 0 10px; } }
      @media screen and (max-width: 568px) {
        #mainimg .slider .slick-slide {
          margin: 0 5px; } }
      #mainimg .slider .slick-slide a {
        aspect-ratio: 152 / 215;
        overflow: hidden;
        display: block; }
        #mainimg .slider .slick-slide a img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block; }
    #mainimg .slider .dots-wrap {
      display: flex;
      justify-content: flex-end;
      list-style: none;
      margin-top: 15px; }
      #mainimg .slider .dots-wrap li {
        width: 11px;
        height: 11px;
        margin: 0 6px;
        background: #fff;
        border: 1px solid #C93941;
        border-radius: 50%;
        cursor: pointer; }
        #mainimg .slider .dots-wrap li:hover, #mainimg .slider .dots-wrap li.slick-active {
          background: #C93941; }
        #mainimg .slider .dots-wrap li button {
          display: none;
          appearance: none;
          outline: none;
          padding: 0;
          border: 0;
          background: transparent; }

.frontpageTit {
  font-size: 4.0rem;
  margin-bottom: 50px;
  line-height: 1;
  text-align: center;
  font-weight: normal; }
  @media screen and (max-width: 768px) {
    .frontpageTit {
      font-size: 2.6rem;
      margin-bottom: 25px; } }
  .frontpageTit::after {
    content: attr(data-en);
    display: block;
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 1.8rem;
    color: #C93941;
    margin-top: 10px; }

.sectionNews {
  margin-top: -100px;
  background-image: linear-gradient(#ffffffb5 0%, #ffffff 25%);
  backdrop-filter: blur(2px);
  border-radius: 30px;
  padding: 50px 70px 50px;
  display: flex;
  gap: 0 35px; }
  @media screen and (max-width: 1023px) {
    .sectionNews {
      margin-top: -50px;
      flex-wrap: wrap; } }
  @media screen and (max-width: 768px) {
    .sectionNews {
      margin-top: -20px;
      padding: 30px 30px 30px;
      border-radius: 20px; } }
  @media screen and (max-width: 568px) {
    .sectionNews {
      padding: 20px; } }
  .sectionNews header {
    width: 200px; }
    @media screen and (max-width: 1023px) {
      .sectionNews header {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 20px; } }
    .sectionNews header .frontpageTit {
      text-align: left;
      margin-bottom: 0; }
    .sectionNews header a {
      border: 1px solid #999999;
      padding: 5px 45px 5px 25px;
      display: inline-block;
      font-size: 1.5rem;
      border-radius: 20px;
      color: inherit;
      position: relative;
      margin-top: 20px; }
      @media screen and (max-width: 1023px) {
        .sectionNews header a {
          margin-top: 0; } }
      .sectionNews header a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 15px;
        width: 9px;
        height: 9px;
        margin: auto;
        border-top: 2px solid #C93941;
        border-right: 2px solid #C93941;
        transform: translateY(-50%) rotate(45deg);
        box-sizing: border-box; }
  .sectionNews ul.newsList {
    width: calc(100% - 200px);
    margin-top: 0 !important; }
    @media screen and (max-width: 1023px) {
      .sectionNews ul.newsList {
        width: 100%; } }
    .sectionNews ul.newsList li {
      border-bottom: none !important;
      padding: 10px 0; }

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
.intro-image-wrapper {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  display: flex;
  overflow: hidden;
  margin-top: 50px; }
  @media screen and (max-width: 768px) {
    .intro-image-wrapper {
      margin-top: 20px; } }
  .intro-image-wrapper .intro-image-list {
    animation: infinity-scroll-left 80s infinite linear 0.5s both;
    display: flex;
    list-style: none; }
    .intro-image-wrapper .intro-image-list li {
      width: calc(100vw / 4.6); }
      @media screen and (max-width: 768px) {
        .intro-image-wrapper .intro-image-list li {
          width: calc(100vw / 3.6); } }
      @media screen and (max-width: 568px) {
        .intro-image-wrapper .intro-image-list li {
          width: calc(100vw / 2.6); } }
      .intro-image-wrapper .intro-image-list li img {
        width: 100%; }

.sectionSchedule {
  margin-top: -100px;
  background-image: linear-gradient(#ffffffb5 0%, #ffffff 25%);
  backdrop-filter: blur(2px);
  border-radius: 30px;
  padding: 50px 70px 50px;
  /* ===== カレンダーの時間帯制御（9:00〜18:00のみ表示） ===== 
  .fc-time-grid .fc-slats tr {
      display: none;
  }

  .fc-time-grid .fc-slats tr:nth-child(n+19):nth-child(-n+44) {
      display: table-row;
  }

  .fc-time-grid .fc-all-day,
  .fc-time-grid .fc-axis.fc-all-day-axis {
      display: none !important;
  }

  .fc-time-grid {
      margin-top: 0 !important;
  }*/ }
  @media screen and (max-width: 1023px) {
    .sectionSchedule {
      margin-top: -50px;
      flex-wrap: wrap; } }
  @media screen and (max-width: 768px) {
    .sectionSchedule {
      margin-top: -30px;
      padding: 30px 30px 30px;
      border-radius: 20px; } }
  @media screen and (max-width: 568px) {
    .sectionSchedule {
      padding: 20px 0; } }

.sectionUpcoming {
  margin-top: 140px; }
  @media screen and (max-width: 768px) {
    .sectionUpcoming {
      margin-top: 70px; } }
  .sectionUpcoming .slick-list {
    margin: 0 -15px; }
    @media screen and (max-width: 1280px) {
      .sectionUpcoming .slick-list {
        margin: 0 -10px; } }
    @media screen and (max-width: 568px) {
      .sectionUpcoming .slick-list {
        margin: 0 -5px; } }
  .sectionUpcoming .slick-slide {
    margin: 0 15px; }
    @media screen and (max-width: 1280px) {
      .sectionUpcoming .slick-slide {
        margin: 0 10px; } }
    @media screen and (max-width: 568px) {
      .sectionUpcoming .slick-slide {
        margin: 0 5px; } }
    .sectionUpcoming .slick-slide a {
      aspect-ratio: 152 / 215;
      overflow: hidden;
      display: block; }
      .sectionUpcoming .slick-slide a img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block; }
  .sectionUpcoming .dots-wrap {
    display: flex;
    justify-content: flex-end;
    list-style: none;
    margin-top: 15px; }
    .sectionUpcoming .dots-wrap li {
      width: 11px;
      height: 11px;
      margin: 0 6px;
      background: #fff;
      border: 1px solid #C93941;
      border-radius: 50%;
      cursor: pointer; }
      .sectionUpcoming .dots-wrap li:hover, .sectionUpcoming .dots-wrap li.slick-active {
        background: #C93941; }
      .sectionUpcoming .dots-wrap li button {
        display: none;
        appearance: none;
        outline: none;
        padding: 0;
        border: 0;
        background: transparent; }

.sectionSupport {
  margin-top: 60px;
  position: relative;
  padding: 80px 0 50px;
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.0; }
  @media screen and (max-width: 768px) {
    .sectionSupport {
      padding: 70px 0 50px; } }
  @media screen and (max-width: 568px) {
    .sectionSupport {
      padding: 70px 0 100px;
      line-height: 1.8; } }
  .sectionSupport::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 788px;
    height: 788px;
    border-radius: 50%;
    background: #E3F3F7;
    z-index: -1; }
  @media screen and (max-width: 568px) {
    .sectionSupport br {
      display: none; } }
  .sectionSupport h2 {
    color: #0A5FA8;
    font-size: 4.1rem;
    text-align: center;
    font-weight: normal;
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      .sectionSupport h2 {
        font-size: 3.0rem; } }
  .sectionSupport .img01,
  .sectionSupport .img02 {
    position: absolute; }
  .sectionSupport .img01 {
    left: 14%;
    bottom: 50px; }
    @media screen and (max-width: 768px) {
      .sectionSupport .img01 {
        width: 100px;
        left: 2%;
        bottom: 20px; } }
    @media screen and (max-width: 568px) {
      .sectionSupport .img01 {
        width: 70px;
        left: 0;
        bottom: 20px; } }
  .sectionSupport .img02 {
    top: 210px;
    right: 8%; }
    @media screen and (max-width: 768px) {
      .sectionSupport .img02 {
        width: 140px;
        top: 210px;
        right: 1%; } }
    @media screen and (max-width: 568px) {
      .sectionSupport .img02 {
        width: 120px;
        top: -30px;
        right: 0; } }

#random-image-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none; }

#random-image-list li {
  width: calc(100% / 8); }
  @media screen and (max-width: 768px) {
    #random-image-list li {
      width: calc(100% / 4); } }

#random-image-list img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 1 / 1; }

/* ==========================================================================
  news
  ========================================================================== */
.newsList {
  margin-top: 40px; }
  .newsList li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    border-bottom: 1px dotted #707070;
    color: inherit;
    padding: 18px 0;
    gap: 5px 20px;
    line-height: 1.6; }
    @media screen and (max-width: 768px) {
      .newsList li {
        flex-wrap: wrap;
        padding: 13px 0;
        gap: 5px 10px; } }
    .newsList li a {
      color: inherit; }
    .newsList li .date {
      width: 8em; }
      @media screen and (max-width: 768px) {
        .newsList li .date {
          width: auto; } }
    .newsList li .tit {
      flex: 1; }
      @media screen and (max-width: 768px) {
        .newsList li .tit {
          flex: auto;
          width: 100%; } }
    .newsList li .new {
      font-size: 1.2rem;
      font-weight: bold;
      color: #C93941;
      display: inline-block;
      margin-left: 10px; }

.cat {
  border: 1px solid #C93941;
  font-size: 1.2rem;
  padding: 3px 15px;
  line-height: 1.4;
  color: #C93941;
  text-align: center;
  width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }
  @media screen and (max-width: 768px) {
    .cat {
      padding: 1px 5px; } }

.newsDetail h2 {
  font-size: 180%; }

.newsDetail_header_date {
  display: flex;
  gap: 10px;
  align-items: center;
  margin-top: 5px; }
  .newsDetail_header_date a {
    color: inherit; }

.newsDetail_body {
  margin-top: 2em; }

/* 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; }

/* 次の記事、前の記事のナビゲーションのスタイル */
.nav-links {
  margin-top: 5em;
  display: flex; }

.nav-links div[class^="nav-"] {
  width: 50%;
  position: relative; }

.nav-links .nav-previous::before {
  content: '\f177';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%); }

.nav-links .nav-next {
  margin-left: auto; }

.nav-links .nav-next::before {
  content: '\f061';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%); }

.nav-links .nav-previous + .nav-next {
  margin-left: -1px; }

.nav-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border: 1px solid #ddd;
  padding: 10px 30px; }

@media screen and (max-width: 767px) {
  .nav-links {
    font-size: 14px; } }
/* ==========================================================================
  movie
  ========================================================================== */
.catList {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .catList {
      justify-content: flex-start; } }
  @media screen and (max-width: 768px) {
    .catList li {
      width: calc((100% - 10px) / 2); } }
  .catList li.is-active a {
    background: #C93941;
    color: #FFF; }
  .catList li a {
    display: block;
    padding: 5px 23px;
    background: #EAEAEA;
    font-size: 1.5rem;
    border-radius: 30px;
    text-align: center;
    color: inherit; }
    @media screen and (max-width: 768px) {
      .catList li a {
        font-size: 1.3rem; } }

.movieList {
  display: flex;
  margin-top: 40px;
  gap: 50px 20px;
  flex-wrap: wrap; }
  .movieList li {
    width: calc((100% - 20px * 3) / 4); }
    .movieList li a {
      position: relative;
      display: block;
      color: inherit; }
      .movieList li a .screening_status {
        position: absolute;
        top: 0;
        left: 0; }
    .movieList li figure {
      aspect-ratio: 152 / 215;
      overflow: hidden; }
    .movieList li figure img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.16); }
    .movieList li h2 {
      font-size: 1.8rem;
      font-weight: bold;
      margin-top: 10px; }
  @media screen and (max-width: 1023px) {
    .movieList li {
      width: calc((100% - 20px * 2) / 3); } }
  @media screen and (max-width: 768px) {
    .movieList {
      gap: 40px 20px; }
      .movieList li {
        width: calc((100% - 20px) / 2); } }

#movieDetail {
  display: flex;
  gap: 30px 60px;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    #movieDetail {
      flex-direction: column; } }
  #movieDetail figure {
    width: 40%; }
    #movieDetail figure img {
      width: 100%; }
    @media screen and (max-width: 768px) {
      #movieDetail figure {
        width: 100%; } }
    #movieDetail figure .copyright {
      font-size: 1.1rem;
      margin-top: 5px;
      color: #999; }
  #movieDetail #movieData {
    width: calc(100% - 60px - 40%);
    line-height: 1.8; }
    @media screen and (max-width: 768px) {
      #movieDetail #movieData {
        width: 100%; } }
    #movieDetail #movieData h2 {
      font-size: 3.2rem;
      font-weight: normal; }
    #movieDetail #movieData .web {
      background: #EFEFEF;
      padding: 2px 12px;
      border-radius: 20px;
      font-size: 1.4rem;
      display: inline-block;
      color: inherit; }
      #movieDetail #movieData .web i {
        margin-right: 3px; }
    #movieDetail #movieData dl {
      margin: 1em 0 3em; }
      #movieDetail #movieData dl dt {
        color: #C93941;
        font-size: 2.0rem;
        font-weight: bold; }
        #movieDetail #movieData dl dt.wide {
          letter-spacing: 1em; }
      #movieDetail #movieData dl dd:not(:last-of-type) {
        margin-bottom: 1em; }
      #movieDetail #movieData dl dd ul {
        margin-left: 1em; }
    #movieDetail #movieData .btn-ticket {
      margin-top: 2em; }
    #movieDetail #movieData .booking-closed-text {
      background: #EAEAEA;
      text-align: center;
      padding: 10px 15px;
      margin-top: 2em;
      border: double 5px #BCBCBC; }

.video-container {
  margin-top: 80px;
  width: 100%;
  aspect-ratio: 16 / 9; }

.video-container iframe {
  width: 100%;
  height: 100%; }

.screening_status {
  list-style: none;
  display: inline-block;
  white-space: nowrap;
  border-style: solid;
  border-width: 1px;
  font-size: 1.2rem;
  padding: 2px 5px;
  line-height: 1.4; }
  .screening_status.now-showing {
    background: #C93941;
    color: #FFF !important;
    border-color: #C93941; }
  .screening_status.ended {
    background: #999;
    color: #FFF !important;
    border-color: #999; }
  .screening_status.coming-soon {
    background: #FFF;
    color: #C93941 !important;
    border-color: #C93941; }
  .breadcrumb .screening_status {
    display: inline;
    padding: 0;
    font-size: inherit;
    border: none; }

/* ==========================================================================
  page
  ========================================================================== */
.pageBody section + section {
  margin-top: 5em; }
.pageBody h2:not([class]),
.pageBody h2[class="wp-block-heading"] {
  font-size: 180%;
  position: relative;
  margin-bottom: 1em;
  padding-bottom: 10px; }
  .pageBody h2:not([class])::after,
  .pageBody h2[class="wp-block-heading"]::after {
    content: "";
    width: 68px;
    height: 4px;
    background: #221815;
    position: absolute;
    bottom: 0;
    left: 0; }
.pageBody ul:not([class]),
.pageBody [class="wp-block-list"] {
  margin-left: 1em; }

/* theater */
.theaterGuide01 {
  display: flex;
  gap: 10px 5px;
  margin: 5em 0; }
  .theaterGuide01 figure {
    height: 100%; }
    .theaterGuide01 figure img {
      height: 100%; }
  @media screen and (max-width: 768px) {
    .theaterGuide01 {
      flex-direction: column; } }

.theaterGuide02 {
  margin-top: 5em; }
  .theaterGuide02 li {
    display: flex;
    gap: 20px 60px;
    flex-wrap: wrap;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .theaterGuide02 li {
        flex-direction: column; } }
    .theaterGuide02 li .theaterPic,
    .theaterGuide02 li .theaterFwd {
      width: calc((100% - 60px) / 2); }
      @media screen and (max-width: 768px) {
        .theaterGuide02 li .theaterPic,
        .theaterGuide02 li .theaterFwd {
          width: 100%; } }
    .theaterGuide02 li .theaterPic img {
      width: 100%; }
    .theaterGuide02 li:nth-child(even) {
      flex-direction: row-reverse; }
      @media screen and (max-width: 768px) {
        .theaterGuide02 li:nth-child(even) {
          flex-direction: column; } }
    .theaterGuide02 li + li {
      margin-top: 4em; }
      @media screen and (max-width: 768px) {
        .theaterGuide02 li + li {
          margin-top: 2.5em; } }

.theaterGuideTit {
  font-size: 140%;
  margin-bottom: 1em; }
  @media screen and (max-width: 768px) {
    .theaterGuideTit {
      margin-bottom: 0.5em; } }

/* suppoter */
.supporterList {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  margin-top: 2em;
  /*.cate03 {
    font-size: 160%;
    @media screen and (max-width: 768px) {
      font-size: 120%;
    }
  }*/ }
  @media screen and (max-width: 768px) {
    .supporterList {
      gap: 8px; } }
  .supporterList li {
    background: #D9EEF3;
    text-align: center;
    padding: 0.5% 1%;
    border-radius: 10px;
    line-height: 1.4; }
    @media screen and (max-width: 768px) {
      .supporterList li {
        padding: 0.5% 2%; } }
    .supporterList li:after {
      content: " 様"; }
  .supporterList .cate01 {
    font-size: 200%; }
    @media screen and (max-width: 768px) {
      .supporterList .cate01 {
        font-size: 170%; } }
  .supporterList .cate02 {
    font-size: 160%; }
    @media screen and (max-width: 768px) {
      .supporterList .cate02 {
        font-size: 130%; } }

/* price */
.priceBox {
  max-width: 770px;
  margin: 0 auto; }

.priceList {
  width: 100%;
  display: flex;
  gap: 20px 80px;
  list-style: none;
  text-align: center; }
  .priceList > div {
    flex: 1; }
    .priceList > div.nonmember h3 {
      background: #C93941; }
    .priceList > div.member h3 {
      background: #8D8D8D; }
    .priceList > div h3 {
      font-size: 130%;
      color: #FFF;
      padding: 10px 20px;
      border-radius: 50px;
      margin-bottom: 10px; }
  .priceList p {
    font-size: 210%; }
    .priceList p span {
      font-size: 85%; }
    .priceList p.child {
      font-size: 1.7rem; }

.about_member {
  background: #E5E5E5;
  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; } }
/*contact*/
form {
  margin: 2em auto 0; }
  form .form-row {
    display: flex;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #f2f4f5; }
    @media screen and (max-width: 768px) {
      form .form-row {
        flex-wrap: wrap; } }
    form .form-row:last-child {
      border-bottom: none; }
  form .form-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 280px;
    padding-right: 1em; }
    @media screen and (max-width: 768px) {
      form .form-label {
        margin-bottom: 8px;
        width: 100%;
        padding-right: 0; } }
    form .form-label label {
      font-weight: bold; }
    form .form-label span {
      margin-left: 10px;
      padding: 2px 6px;
      border-radius: 3px;
      font-size: 12px;
      font-weight: bold;
      color: #fff;
      background-color: #C93941; }

/* フォームパーツのデザイン */
input, textarea {
  background-color: #f2f4f5;
  border: none;
  border-radius: 3px;
  padding: 15px;
  font-size: 16px;
  color: #333;
  flex-grow: 1; }
  input::placeholder, textarea::placeholder {
    color: #999;
    font-size: 14px; }

select {
  background-color: #f2f4f5;
  border: none;
  border-radius: 3px;
  padding: 15px 20px;
  font-size: 16px;
  color: #333; }

button,
.wpcf7-submit {
  cursor: pointer;
  margin-top: 30px;
  padding: 15px 45px;
  border: none;
  border-radius: 3px;
  color: #fff;
  font-weight: bold;
  background-color: #C93941; }
  @media screen and (max-width: 768px) {
    button,
    .wpcf7-submit {
      width: 100%; } }

@media print {
  @page {
    size: A4 portrait;
    margin: 10mm; }
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color-adjust: exact;
    font-size: 11pt;
    margin: 0;
    min-width: 1100px; } }
