@charset "UTF-8";
/* === text === */
body * {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
}
main, header, footer, nav, aside, section, article {
  display: block;
}
/* === abbr , acronym === */
abbr, acronym {
  color: inherit;
  font-style: normal;
  border-color: #333;
  border-style: dotted;
  border-width: 0 0 1px;
  cursor: help;
}
/* === code === */
code {
  font-family: "monospace";
  /* 等幅を出す */
}
/* === kbd === */
kbd {
  font-family: "monospace";
  margin: 0 0.1em;
  padding: 0 2px;
  border-style: solid;
  border-width: 1px;
  display: inline;
}
/* === explanation === */
span.explanation {
  border-color: #333;
  border-style: dotted;
  border-width: 0 0 1px;
  cursor: help;
}
/* === clear , hidden === */
.nd, .nodisplay {
  display: none;
}
.hd, .hidden {
  visibility: hidden;
}
.hl, .hiddenlink, .hiddenmessage, .forscreenreader, .skip {
  position: absolute;
  left: -9000px;
}
.div, .clear {
  clear: both;
}
.nc, .noclear {
  clear: none !important;
}
hr.div, br.div {
  clear: both;
  visibility: hidden;
  margin: 0;
  padding: 0;
}
/* === clearfix === */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
/* === ul , ol (.nlm) === */
ul.nlm, ol.nlm {
  list-style-image: none !important;
  list-style: none;
  padding: 0;
  margin-left: 0;
  margin-right: 0;
}
ul.nlm li, ol.nlm li {
  padding: 0;
  margin: 0;
}
/* === ul,ol (.cmt) === */
ul.cmt, ol.cmt {
  color: #111;
  background-color: #f8f8f8;
  border: 1px #bbb solid;
  margin: 10px 0;
  padding: 8px 0 5px 40px;
}
/* === dl.cmt === */
dl.cmt {
  color: #111;
  background-color: #fff;
  margin: 0 0 15px;
  padding: 0 15px;
  border-bottom: #bbb 1px solid;
  border-left: #bbb 1px solid;
  border-right: #bbb 1px solid;
  width: auto;
}
dl.cmt dt {
  line-height: 100%;
  position: relative;
  color: #111;
  background-color: #f8f8f8;
  margin: 0 -15px;
  padding: 10px 10px;
  border-top: #bbb 1px solid;
  border-bottom: #bbb 1px dotted;
}
* > dl.cmt dt {
  margin: 0 -15px -5px;
}
dl.cmt dd {
  position: relative;
  margin: 0 -15px 0;
  padding: 10px 10px 5px;
}
dl.cmt dd * {
  margin-top: 0;
  margin-bottom: 0;
}
/* === p , div , pre , ul , ol (.cmt) === */
pre.cmt, pre.cmt2, div.cmt, p.cmt {
  color: #111;
  background-color: #f8f8f8;
  margin: 0 0 15px;
  padding: 7px 15px;
  border: 1px #bbb solid;
  width: auto;
}
div.cmt {
  padding: 8px 15px;
}
div.cmt * {
  margin-top: 0;
  margin-bottom: 0;
}
div.cmt ul, div.cmt ol {
  padding: 0;
  margin-left: 25px;
  margin-right: 0;
}
div.cmt ul.il, div.cmt ol.il {
  margin-left: 0;
}
pre.cmt {
  overflow: auto;
}
pre.cmt2 {
  white-space: pre-line;
}
/* === cite === */
cite.jp, cite.ja {
  font-style: normal;
}
cite.en, span.en {
  font-style: italic;
}
cite[lang$="ja"] {
  font-style: normal;
}
cite[lang$="en"], cite.foreign {
  font-style: italic;
}
/* === pre.pre === */
pre.pre {
  border: 1px #bbb solid;
  padding: 5px;
  background-color: #fefefe;
  width: 95%;
}
/* === blockquote === */
blockquote.blockquote {
  border: 1px #bbb dashed;
  padding: 0 10px;
  margin: 10px 0;
  background-color: #fefefe;
  width: 95%;
}
/* === forms - bttns === */
/*
 * TODO layout の先頭に
 */
.frm input[type="text"], .frm input[type="password"], .frm input[type="number"], .frm input[type="tel"], .frm input[type="email"], .frm input[type="url"], .frm input[type="date"], .frm input[type="time"], .frm input[type="week"], .frm input[type="month"], .frm input[type="datetime-local"], .frm input[type="search"], .frm textarea {
  padding: 5px;
  font-size: 110%;
  vertical-align: middle;
}
.frm select {
  border: 1px #999 solid;
  font-size: 100%;
}
input.bttn, a.bttn {
  box-sizing: border-box;
  font-family: sans-serif;
  padding: 5px 15px;
  margin: 0 5px 0 0;
  background-color: #eee;
  border: 1px solid #999;
  color: #222;
  line-height: 1.5em;
  font-size: 110%;
  border-radius: 4px;
  text-decoration: none;
  font-weight: normal;
  display: inline-block;
  cursor: pointer;
  vertical-align: middle;
}
input.bttn:hover, input.bttn:focus, a.bttn:hover, a.bttn:focus {
  border: 1px solid #111;
}
input.bttn:active, a.bttn:active {
  border-width: 2px;
  padding: 4px 14px;
}
/* === forms - mainbttn === */
input.bttn.main, input.bttn.primary, a.bttn.main, a.bttn.primary {
  font-weight: bold;
  border: 1px solid #ccc;
  background-color: #007acb;
  color: #fff;
}
input.bttn.main:hover, input.bttn.primary:hover, input.bttn.main:focus, input.bttn.primary:focus, a.bttn.main:hover, a.bttn.primary:hover, a.bttn.main:focus a.bttn.primary:focus {
  border: 1px solid #007acb;
  background-color: #fff;
  color: #007acb;
}
input.bttn.main:active, a.bttn.main:active {
  border: 2px solid #007acb;
}
.textarea, .wide {
  width: 95%;
  height: 12em;
}
.textarea.src {
  line-height: 1.6;
  font-family: monospace;
  background-color: #fafafa;
  white-space: pre;
}
form em.exp, form em.explanation {
  font-size: 90%;
  display: block;
}
/* === form - label of checkboxes and radio === */
.label_fb label, label.label_fb {
  display: inline-block;
  white-space: nowrap;
  padding: 3px 3px 3px 2px;
  margin-right: 5px;
}
.label_fb label:hover, label.label_fb:hover {
  background-color: #e8e8e8;
}
.disabled label, label.disabled {
  opacity: 0.5;
}
.disabled label:hover, label.disabled:hover {
  background-color: transparent !important;
}
/* === .tbl === */
.tbl {
  margin: 5px 0 10px !important;
  box-sizing: border-box;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0px;
  border-top: 1px #bbb solid;
  border-left: 1px #bbb solid;
}
.tbl th, .tbl td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px #bbb solid;
  border-right: 1px #bbb solid;
}
.tbl th {
  text-align: left;
  background-color: #f8f8f8;
  white-space: nowrap;
  font-weight: bold;
  color: #111;
}
.tbl thead th {
  background-color: #eee;
  color: #111;
}
.tbl th > *:first-child, .tbl td > *:first-child {
  margin-top: 0;
}
.tbl th > *:last-child, .tbl td > *:last-child {
  margin-bottom: 0;
}
.tbl ul, .tbl ol {
  padding: 0;
  margin-left: 25px;
  margin-right: 0;
}
/* === tabl.tbl1 === */
.tbl1 {
  border-spacing: 0px;
  box-sizing: border-box;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px #bbb solid;
  border-left: none;
}
.tbl1 th, .tbl1 td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px #bbb solid;
  border-right: none;
}
.tbl1 thead th {
  color: #111;
  background-color: #ded9d1;
}
.tbl1 th {
  color: #111;
  background-color: #eee;
}
.tbl1 td {
  color: #111;
  background-color: #fff;
}
/* === .tbl2 === */
.tbl2 {
  box-sizing: border-box;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0px;
  width: 100%;
  background-color: #fff;
}
.tbl2 th, .tbl2 td {
  text-align: left;
  padding: 8px 10px;
}
.tbl2 thead th {
  color: #111;
  background: #e8e8e0;
  font-weight: bold;
  border-top: 1px #ccc solid;
  border-bottom: 1px #ccc solid;
}
.tbl2 tr:nth-child(even), .tbl2.even tr:nth-child(even) {
  background: #f4f4ea;
}
.tbl2 tr:nth-child(odd), .tbl2.even tr:nth-child(odd) {
  background: #fff;
}
.tbl2.odd tr:nth-child(odd) {
  background: #fff;
}
.tbl2.odd tr:nth-child(even) {
  background: #f4f4ea;
}
.tbl2 th {
  font-weight: normal;
  color: #111;
}
.tbl2 td {
  color: #111;
}
/* === table.list === */
table.list th, table.list td {
  padding: 5px 3px 0 0;
}
table.list th {
  white-space: nowrap;
  vertical-align: top;
  font-weight: normal !important;
}
/* === a.lb img === */
.lb img {
  border: 1px #eee solid;
}
.lb:hover img {
  border: 1px #58b dashed;
}
/* === align right (.cite , .sig , .cf) === */
.cite, .sig, .cf {
  text-align: right;
  list-style: none;
  clear: both;
}
/* === span.subtitle === */
span.subtitle {
  font-size: 90%;
  font-weight: normal;
}
/* === span.date === */
span.date {
  font-size: 85%;
  color: #555;
}
* {
  scroll-behavior: smooth;
}
body {
  font-size: 18px;
  color: #231815;
  line-height: normal;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 0.08em;
  font-weight: 400;
  background-color: #D90000;
}
/**
 * ------------------------------------------------------------
 * bottom header
 * ------------------------------------------------------------
*/
body > .bottom-header {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 15;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  width: 100%;
  padding: 14px 10px;
  background-color: #D90000;
}
body > .bottom-header .logo {
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
body > .bottom-header .logo > img {
  width: 120px;
}
body > .bottom-header .hamburger-overlay {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 101;
  display: none;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
}
body > .bottom-header nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 102;
  display: block;
  width: 80%;
  height: 100%;
  padding: calc(100svh - 620px) 20px 0;
  background-color: #D90000;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
body > .bottom-header nav.hm-visible {
  transform: translateX(0);
}
body > .bottom-header nav li {
  border-bottom: 1px solid #FFF9F9;
}
body > .bottom-header nav li a {
  position: relative;
  display: block;
  width: 100%;
  padding: 20px 0 10px;
  font-weight: 700;
  color: #FFF9F9;
}
body > .bottom-header nav li a:after {
  content: "";
  position: absolute;
  right: 0;
  top: 60%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #FFF9F9;
  border-right: 2px solid #FFF9F9;
  transform: translateY(-50%) rotate(45deg);
}
body > .bottom-header nav .list-contact {
  border: none;
}
body > .bottom-header nav .list-contact a {
  width: 100%;
  margin-top: 20px;
  padding: 12px 0;
  color: #D90000;
  text-align: center;
  background-color: #FFF9F9;
}
body > .bottom-header nav .list-contact a:after {
  display: none;
}
body > .bottom-header .contact {
  display: block;
  margin-right: 40px;
  padding: 5px 14px;
  font-weight: 700;
  color: #D90000;
  background-color: #FFF9F9;
}
body > .bottom-header .hamburger-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  z-index: 105;
  transform: translateY(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  width: 27px;
  height: 16px;
  cursor: pointer;
}
body > .bottom-header .hamburger-icon:hover {
  opacity: 0.8;
  transition: 0.3s;
}
body > .bottom-header .hamburger-icon .bar {
  position: relative;
  display: block;
  width: 27px;
  height: 2px;
  background-color: #FFF9F9;
}
body > .bottom-header .hamburger-icon .bar::before, body > .bottom-header .hamburger-icon .bar::after {
  content: "";
  position: absolute;
  width: 27px;
  height: 2px;
  background-color: white;
  left: 0;
}
body > .bottom-header .hamburger-icon .bar::before {
  top: -8px;
}
body > .bottom-header .hamburger-icon .bar::after {
  top: 8px;
}
body > .bottom-header .hamburger-icon .bar.hm-close {
  background-color: transparent;
}
body > .bottom-header .hamburger-icon .bar.hm-close::before {
  top: 0;
  transform: rotate(45deg);
}
body > .bottom-header .hamburger-icon .bar.hm-close::after {
  top: 0;
  transform: rotate(-45deg);
}
.bottom-header.is-front {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s ease-in-out, visibility 0s linear 0.5s;
}
.bottom-header.is-front.show {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.5s ease-in-out, visibility 0s linear 0s;
}
body.scrolled > .bottom-header .logo {
  opacity: 1;
  visibility: visible;
}
/**
 * ------------------------------------------------------------
 * footer
 * ------------------------------------------------------------
*/
body > footer {
  padding: 40px 0 80px;
  text-align: center;
}
body > footer > a {
  font-size: 16px;
  color: #FFF9F9;
}
body > footer .copyrights small {
  font-size: 10px;
}
/**
 * ------------------------------------------------------------
 * page-top-menu
 * ------------------------------------------------------------
*/
body > main .page-top-menu {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  padding: 10px;
}
body > main .page-top-menu .logo {
  display: inline-block;
}
body > main .page-top-menu .logo > img {
  width: 120px;
}
body > main .page-top-menu .btn {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
}
body > main .page-top-menu .btn > a {
  width: 80px;
  padding: 5px 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
body > main .page-top-menu .btn > a:first-child {
  margin-right: 15px;
}
body.home #page-transition {
  position: fixed;
  inset: 0;
  z-index: 13;
  overflow: hidden;
  pointer-events: none;
}
body.home #page-transition .split {
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  background: #D90000;
  transition: transform 1s ease-in-out;
}
body.home #page-transition .split.left {
  left: 0;
}
body.home #page-transition .split.right {
  right: 0;
}
body.home #page-transition.animate {
  background: transparent;
}
body.home #page-transition.animate .split.left {
  transform: translateX(-100%);
}
body.home #page-transition.animate .split.right {
  transform: translateX(100%);
}
body.home #page-transition.hidden {
  display: none;
}
body.home section.top {
  position: relative;
  height: calc(100svh - 64px);
  padding: 10px;
}
body.home section.top > video {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
body.home section.top > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 14;
  width: 300px;
}
body.home section.top .scroll {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  font-size: 14px;
  color: #D90000;
  padding-bottom: 10px;
}
body.home section.top .scroll::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 30px;
  background: linear-gradient(to top, #D90000);
  animation: scroll-line 1.5s infinite;
}
@keyframes scroll-line {
  0% {
    height: 0px;
  }
  100% {
    height: 30px;
  }
}
body.home section.today {
  display: block;
  margin-top: 40px;
  padding: 0 10px;
}
body.home section.today > img {
  display: block;
  width: auto;
  height: 30px;
  margin: 0 auto 20px;
}
@media screen and (min-width: 800px) {
  body.home section.today > img {
    position: absolute;
    top: 0;
    left: 10px;
    z-index: -1;
    width: auto;
    height: 70px;
  }
}
@media screen and (min-width: 1366px) {
  body.home section.today > img {
    height: auto;
  }
}
body.home section.today .schedule-list {
  display: block;
  width: min(100%, 500px);
  margin: 0 auto 25px;
  padding: 12px;
  background-color: #FFF9F9;
}
body.home section.today .schedule-list .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  gap: 10px;
}
body.home section.today .schedule-list .head .event-date {
  width: 100px;
  color: #D90000;
}
body.home section.today .schedule-list .head .event-date .month {
  font-size: 16px;
  font-weight: 700;
}
body.home section.today .schedule-list .head .event-date .date {
  display: block;
  margin-top: -5px;
  font-size: 75px;
  color: #D90000;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
body.home section.today .schedule-list .head .event-date .day-of-the-week {
  display: block;
  font-size: 12px;
  text-align: center;
}
body.home section.today .schedule-list .head .event-date .day-icon, body.home section.today .schedule-list .head .event-date .night-icon {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 2px 0;
  font-size: 12px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
  border-radius: 10px;
}
body.home section.today .schedule-list .head .event-date .day-icon {
  background-color: #df8f04;
}
body.home section.today .schedule-list .head .event-date .night-icon {
  background-color: #000595;
}
body.home section.today .schedule-list .head > img {
  flex: 1;
  width: calc(100% - 100px);
  height: auto;
  aspect-ratio: 1.4192307692;
  object-fit: cover;
}
body.home section.today .schedule-list .text {
  margin-top: 15px;
}
body.home section.today .schedule-list .text .title {
  margin-bottom: 15px;
  padding-bottom: 10px;
  font-size: 18px;
  color: #D90000;
  border-bottom: 1px solid #D90000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.home section.today .schedule-list .text .performer {
  margin-bottom: 10px;
  font-size: 12px;
}
body.home section.today .schedule-list .text .info {
  margin-bottom: 15px;
  font-size: 12px;
}
body.home section.today .schedule-list .leading-btn {
  width: 100%;
  padding: 8px 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  color: #FFF9F9;
  background-color: #D90000;
}
@media screen and (min-width: 800px) {
  body.home section.today .schedule-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    width: 800px;
    margin: 55px 0 0 auto;
  }
  body.home section.today .schedule-list .head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 20px;
  }
  body.home section.today .schedule-list .head .event-date {
    width: 120px;
    color: #D90000;
  }
  body.home section.today .schedule-list .head .event-date .month {
    font-size: 18px;
  }
  body.home section.today .schedule-list .head .event-date .date {
    font-size: 85px;
  }
  body.home section.today .schedule-list .head .event-date .day-of-the-week {
    display: block;
    font-size: 15px;
    text-align: center;
  }
  body.home section.today .schedule-list .head .event-date .day-icon, body.home section.today .schedule-list .head .event-date .night-icon {
    padding: 3px 0;
    font-size: 12px;
  }
  body.home section.today .schedule-list .head > img {
    width: 215px;
  }
  body.home section.today .schedule-list .text {
    flex: 1;
    margin-top: 15px;
  }
  body.home section.today .schedule-list .text .title {
    width: 340px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 18px;
    color: #D90000;
    border-bottom: 1px solid #D90000;
  }
  body.home section.today .schedule-list .text .performer {
    margin-bottom: 10px;
    font-size: 12px;
  }
  body.home section.today .schedule-list .text .info {
    margin-bottom: 15px;
    font-size: 12px;
  }
  body.home section.today .schedule-list .leading-btn {
    align-self: stretch;
    width: auto;
    padding: 0 10px;
    text-align: center;
    writing-mode: vertical-rl;
  }
}
body.home section.today .schedule-list:last-child {
  margin-bottom: 0;
}
body.home section.this-month {
  margin-top: 60px;
}
body.home section.this-month > img {
  display: block;
  width: auto;
  height: 30px;
  margin: 0 auto 20px;
}
@media screen and (min-width: 800px) {
  body.home section.this-month > img {
    position: absolute;
    top: 0;
    left: 10px;
    z-index: -1;
    width: auto;
    height: 70px;
  }
}
@media screen and (min-width: 1366px) {
  body.home section.this-month > img {
    height: auto;
  }
}
body.home section.this-month .schedule {
  position: relative;
  padding: 0 10px;
}
body.home section.this-month .schedule .scroll-bar {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
body.home section.this-month .schedule .scroll-bar > span {
  font-size: 15px;
  font-weight: 700;
  color: #231815;
}
body.home section.this-month .schedule .scroll-bar .bar {
  display: block;
  margin-left: 15px;
  width: 100%;
  height: 1px;
  background-color: #231815;
  animation: shrinkBar 3s ease infinite;
}
@keyframes shrinkBar {
  0% {
    width: 100%;
  }
  50% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
body.home section.this-month .schedule .list-link-cards {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  margin: 0 0 35px;
  padding: 10px 0;
  overflow-x: scroll;
  scrollbar-width: none;
}
body.home section.this-month .schedule .list-link-cards li {
  width: 240px;
  min-width: 240px;
  margin-right: 15px;
}
body.home section.this-month .schedule .list-link-cards li:first-child {
  margin-left: 50px;
}
body.home section.this-month .schedule .list-link-cards li:last-child {
  margin-right: 0;
}
body.home section.this-month .schedule .list-link-cards li .card {
  display: block;
}
body.home section.this-month .schedule .list-link-cards li .card > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.4192307692;
  object-fit: cover;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
  padding-top: 3px;
  color: #FFF9F9;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  line-height: 1.2;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info > div {
  padding-top: 2px;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info > div span {
  display: block;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info > div .month {
  padding-bottom: 2px;
  font-size: 10px;
  font-weight: 700;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info > div .day-of-the-week {
  font-size: 10px;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info .date {
  padding-left: 5px;
  font-size: 32px;
  font-weight: 700;
  color: #FFF9F9;
  line-height: 1;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area > p {
  position: relative;
  flex: 1;
  margin-left: 5px;
  padding-bottom: 3px;
  font-size: 12px;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.this-month .schedule .list-link-cards li .card .text-area > p:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF9F9;
  border-right: 1px solid #FFF9F9;
  transform: translateY(-50%) rotate(45deg);
}
body.home section.this-month .line-btn a {
  position: relative;
  display: block;
  width: 170px;
  margin: 0 auto;
  padding: 12px 10px 12px 0;
  border: 1px solid #FFF9F9;
  font-size: 16px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
}
body.home section.this-month .line-btn a:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF9F9;
  border-right: 1px solid #FFF9F9;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 800px) {
  body.home section.this-month {
    position: relative;
    max-width: 1366px;
    margin: 120px auto 0;
    padding: 0 10px;
  }
  body.home section.this-month > img {
    display: block;
    width: auto;
    height: 30px;
    margin: 0 auto 20px;
  }
  body.home section.this-month .schedule {
    position: static;
    padding: 80px 0 0;
  }
  body.home section.this-month .schedule .scroll-bar {
    position: absolute;
    top: 50%;
    left: 10px;
    z-index: -1;
    transform: translateY(-50%);
    width: 30%;
  }
  body.home section.this-month .schedule .scroll-bar > span {
    font-size: 30px;
  }
  body.home section.this-month .schedule .scroll-bar .bar {
    margin-left: 15px;
  }
  body.home section.this-month .schedule .list-link-cards li {
    width: 320px;
    min-width: 320px;
    margin-right: 20px;
  }
  body.home section.this-month .schedule .list-link-cards li:first-child {
    margin-left: 300px;
  }
  body.home section.this-month .schedule .list-link-cards li .card .text-area {
    padding-top: 5px;
  }
  body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
  body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info > div {
    padding-top: 5px;
  }
  body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info > div .month {
    padding-bottom: 2px;
    font-size: 13px;
  }
  body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info > div .day-of-the-week {
    font-size: 13px;
  }
  body.home section.this-month .schedule .list-link-cards li .card .text-area .date-info .date {
    font-size: 40px;
  }
  body.home section.this-month .schedule .list-link-cards li .card .text-area > p {
    font-size: 15px;
  }
  body.home section.this-month .line-btn a {
    position: relative;
    display: block;
    width: 170px;
    margin: 0 auto;
    padding: 12px 10px 12px 0;
    border: 1px solid #FFF9F9;
    font-size: 16px;
    font-weight: 700;
    color: #FFF9F9;
    text-align: center;
  }
  body.home section.this-month .line-btn a:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-top: 1px solid #FFF9F9;
    border-right: 1px solid #FFF9F9;
    transform: translateY(-50%) rotate(45deg);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.this-month {
    padding: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.home section.this-month > img {
    position: absolute;
    top: 0;
    left: 10px;
    z-index: -1;
    width: auto;
    height: 70px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.this-month > img {
    height: auto;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.home section.this-month .line-btn a {
    width: 300px;
  }
}
body.home section.news {
  margin-top: 60px;
}
body.home section.news > img {
  display: block;
  width: auto;
  height: 30px;
  margin: 0 auto 20px;
}
@media screen and (min-width: 800px) {
  body.home section.news > img {
    position: absolute;
    top: 0;
    left: 10px;
    z-index: -1;
    width: auto;
    height: 70px;
  }
}
@media screen and (min-width: 1366px) {
  body.home section.news > img {
    height: auto;
  }
}
body.home section.news .schedule {
  position: relative;
  padding: 0 10px;
}
body.home section.news .schedule .scroll-bar {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  width: 100%;
}
body.home section.news .schedule .scroll-bar > span {
  font-size: 15px;
  font-weight: 700;
  color: #231815;
}
body.home section.news .schedule .scroll-bar .bar {
  display: block;
  margin-left: 15px;
  width: 100%;
  height: 1px;
  background-color: #231815;
  animation: shrinkBar 3s ease infinite;
}
@keyframes shrinkBar {
  0% {
    width: 100%;
  }
  50% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
body.home section.news .schedule .list-link-cards {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  margin: 0 0 35px;
  padding: 10px 0;
  overflow-x: scroll;
  scrollbar-width: none;
}
body.home section.news .schedule .list-link-cards li {
  width: 240px;
  min-width: 240px;
  margin-right: 15px;
}
body.home section.news .schedule .list-link-cards li:first-child {
  margin-left: 50px;
}
body.home section.news .schedule .list-link-cards li:last-child {
  margin-right: 0;
}
body.home section.news .schedule .list-link-cards li .card {
  display: block;
}
body.home section.news .schedule .list-link-cards li .card > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.4192307692;
  object-fit: cover;
}
body.home section.news .schedule .list-link-cards li .card .text-area {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
  padding-top: 3px;
  color: #FFF9F9;
}
body.home section.news .schedule .list-link-cards li .card .text-area .date-info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  line-height: 1.2;
}
body.home section.news .schedule .list-link-cards li .card .text-area .date-info > div {
  padding-top: 2px;
}
body.home section.news .schedule .list-link-cards li .card .text-area .date-info > div span {
  display: block;
}
body.home section.news .schedule .list-link-cards li .card .text-area .date-info > div .month {
  padding-bottom: 2px;
  font-size: 10px;
  font-weight: 700;
}
body.home section.news .schedule .list-link-cards li .card .text-area .date-info > div .day-of-the-week {
  font-size: 10px;
}
body.home section.news .schedule .list-link-cards li .card .text-area .date-info .date {
  padding-left: 5px;
  font-size: 32px;
  font-weight: 700;
  color: #FFF9F9;
  line-height: 1;
}
body.home section.news .schedule .list-link-cards li .card .text-area > p {
  position: relative;
  flex: 1;
  margin-left: 5px;
  padding-bottom: 3px;
  font-size: 12px;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.news .schedule .list-link-cards li .card .text-area > p:after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF9F9;
  border-right: 1px solid #FFF9F9;
  transform: translateY(-50%) rotate(45deg);
}
body.home section.news .line-btn a {
  position: relative;
  display: block;
  width: 170px;
  margin: 0 auto;
  padding: 12px 10px 12px 0;
  border: 1px solid #FFF9F9;
  font-size: 16px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
}
body.home section.news .line-btn a:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF9F9;
  border-right: 1px solid #FFF9F9;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 800px) {
  body.home section.news {
    position: relative;
    max-width: 1366px;
    margin: 120px auto 0;
    padding: 0 10px;
  }
  body.home section.news > img {
    display: block;
    width: auto;
    height: 30px;
    margin: 0 auto 20px;
  }
  body.home section.news .schedule {
    position: static;
    padding: 80px 0 0;
  }
  body.home section.news .schedule .scroll-bar {
    position: absolute;
    top: 50%;
    left: 10px;
    z-index: -1;
    transform: translateY(-50%);
    width: 30%;
  }
  body.home section.news .schedule .scroll-bar > span {
    font-size: 30px;
  }
  body.home section.news .schedule .scroll-bar .bar {
    margin-left: 15px;
  }
  body.home section.news .schedule .list-link-cards li {
    width: 320px;
    min-width: 320px;
    margin-right: 20px;
  }
  body.home section.news .schedule .list-link-cards li:first-child {
    margin-left: 300px;
  }
  body.home section.news .schedule .list-link-cards li .card .text-area {
    padding-top: 5px;
  }
  body.home section.news .schedule .list-link-cards li .card .text-area .date-info {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
  }
  body.home section.news .schedule .list-link-cards li .card .text-area .date-info > div {
    padding-top: 5px;
  }
  body.home section.news .schedule .list-link-cards li .card .text-area .date-info > div .month {
    padding-bottom: 2px;
    font-size: 13px;
  }
  body.home section.news .schedule .list-link-cards li .card .text-area .date-info > div .day-of-the-week {
    font-size: 13px;
  }
  body.home section.news .schedule .list-link-cards li .card .text-area .date-info .date {
    font-size: 40px;
  }
  body.home section.news .schedule .list-link-cards li .card .text-area > p {
    font-size: 15px;
  }
  body.home section.news .line-btn a {
    position: relative;
    display: block;
    width: 170px;
    margin: 0 auto;
    padding: 12px 10px 12px 0;
    border: 1px solid #FFF9F9;
    font-size: 16px;
    font-weight: 700;
    color: #FFF9F9;
    text-align: center;
  }
  body.home section.news .line-btn a:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-top: 1px solid #FFF9F9;
    border-right: 1px solid #FFF9F9;
    transform: translateY(-50%) rotate(45deg);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.news {
    padding: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.home section.news > img {
    position: absolute;
    top: 0;
    left: 10px;
    z-index: -1;
    width: auto;
    height: 70px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.news > img {
    height: auto;
  }
}
@media screen and (min-width: 800px) and (min-width: 800px) {
  body.home section.news .line-btn a {
    width: 300px;
  }
}
body.home section.page-links {
  width: min(100%, 500px);
  margin: 60px auto 0;
  padding: 0 10px;
}
body.home section.page-links ul li {
  margin-bottom: 15px;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.page-links ul li:last-child {
  margin-bottom: 0;
}
body.home section.page-links ul li a {
  position: relative;
  display: block;
  padding-bottom: 15px;
  color: #FFF9F9;
}
body.home section.page-links ul li a:after {
  content: "";
  position: absolute;
  right: 5px;
  top: 40%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #FFF9F9;
  border-right: 2px solid #FFF9F9;
  transform: translateY(-50%) rotate(45deg);
}
body.home section.page-links ul li a .image {
  position: absolute;
  width: 90px;
  height: 100%;
}
body.home section.page-links ul li a .image > img {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: min(100%, 80px);
  height: 45px;
}
body.home section.page-links ul li a .text {
  flex: 1;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  padding-left: 100px;
}
body.home section.page-links ul li a .text span {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
}
body.home section.page-links ul li a .text .leading-text {
  padding-top: 3px;
  font-size: 11px;
  font-weight: 400;
}
body.home section.page-links ul li .online-shop:after {
  content: "";
  position: absolute;
  right: 0;
  top: 40%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  border: none;
  background-image: url("../images/home/external-link-arrow.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
body.home section.hall-rental {
  margin-top: 60px;
  padding: 0 10px;
}
body.home section.hall-rental > img {
  width: min(100%, 450px);
}
body.home section.hall-rental .sub-headline {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  margin-top: 20px;
}
body.home section.hall-rental .sub-headline > p {
  margin-bottom: 30px;
  line-height: 1.6;
}
body.home section.hall-rental .sub-headline > p > a {
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.hall-rental .sub-headline > a {
  position: relative;
  display: block;
  width: 280px;
  margin: 0 auto;
  padding: 12px 10px 12px 15px;
  border: 1px solid #FFF9F9;
  font-size: 16px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: left;
}
body.home section.hall-rental .sub-headline > a:after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-top: 1px solid #FFF9F9;
  border-right: 1px solid #FFF9F9;
  transform: translateY(-50%) rotate(45deg);
}
body.home section.hall-rental .splide {
  margin-top: 45px;
}
body.home section.hall-rental .splide .splide__track .splide__list .splide__slide img {
  width: 90%;
}
body.home section.access {
  margin-top: 50px;
  padding: 10px;
}
body.home section.access .text-area > img {
  display: block;
  width: 240px;
}
body.home section.access .text-area .address {
  margin-top: 15px;
}
body.home section.access .text-area .address h2 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 25px;
  font-size: 22px;
  font-weight: 700;
}
body.home section.access .text-area .address h2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 30px;
  transform: translateY(-50%);
  background-image: url(../images/home/map.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
body.home section.access .text-area .address h2 > a {
  vertical-align: 5px;
  font-size: 14px;
  font-weight: 400;
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.access .text-area .address p {
  padding-left: 25px;
}
body.home section.access .text-area .address p span {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
}
body.home section.access .text-area .tel {
  margin-top: 20px;
}
body.home section.access .text-area .tel h2 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 25px;
  font-size: 22px;
  font-weight: 700;
}
body.home section.access .text-area .tel h2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 30px;
  transform: translateY(-50%);
  background-image: url(../images/home/tel.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
body.home section.access .text-area .tel h2 > a {
  vertical-align: 5px;
  font-size: 14px;
  font-weight: 400;
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.access .text-area .tel p {
  padding-left: 25px;
}
body.home section.access .text-area .tel p a {
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.access .text-area .tel p span {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
}
body.home section.access .text-area .mail {
  margin-top: 20px;
}
body.home section.access .text-area .mail h2 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 25px;
  font-size: 22px;
  font-weight: 700;
}
body.home section.access .text-area .mail h2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 15px;
  transform: translateY(-50%);
  background-image: url(../images/home/letter.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
body.home section.access .text-area .mail h2 > a {
  vertical-align: 5px;
  font-size: 14px;
  font-weight: 400;
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.access .text-area .mail p {
  padding-left: 25px;
}
body.home section.access .text-area .sns {
  margin-top: 20px;
}
body.home section.access .text-area .sns h2 {
  position: relative;
  margin-bottom: 5px;
  padding-left: 25px;
  font-size: 22px;
  font-weight: 700;
}
body.home section.access .text-area .sns h2:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  background-image: url(../images/home/sns.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
body.home section.access .text-area .sns h2 > a {
  vertical-align: 5px;
  font-size: 14px;
  font-weight: 400;
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
}
body.home section.access .text-area .sns ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  padding-left: 30px;
}
body.home section.access .text-area .sns ul li {
  padding-right: 30px;
}
body.home section.access .text-area .sns ul li:last-child {
  padding-right: 0;
}
body.home section.access .text-area .sns ul li a img {
  width: 30px;
  max-height: 30px;
}
body.home section.access .map {
  position: relative;
  width: 100%;
  height: 0;
  margin-top: 40px;
  padding-top: 140%;
}
body.home section.access .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body.about .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.about .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.about .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.about .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.about .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.about .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.about .anker-links {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 13px;
  margin-bottom: 30px;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.about .anker-links {
    flex-wrap: nowrap;
    gap: 0;
    width: calc(100% - 20px);
    max-width: 800px;
    margin: 0 auto 20px;
    padding: 0 0 15px;
    border-bottom: 1px solid #FFF9F9;
  }
}
body.about .anker-links li {
  width: 48%;
}
@media screen and (min-width: 800px) {
  body.about .anker-links li {
    width: auto;
  }
  body.about .anker-links li:last-child a {
    margin-right: 30px;
  }
}
body.about .anker-links li a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding-bottom: 15px;
  height: 60px;
  font-size: 16px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
  border: 1px solid #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.about .anker-links li a {
    height: 0;
    display: inline-block;
    border: none;
  }
}
body.about .anker-links li a:after {
  content: "";
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%) rotate(45deg);
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid #FFF9F9;
  border-bottom: 2px solid #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.about .anker-links li a:after {
    top: 40%;
    right: -30px;
    left: auto;
    transform: translate(-50%, 0) rotate(45deg);
    display: inline;
  }
}
body.about section.leading {
  margin-bottom: 100px;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.about section.leading {
    width: calc(100% - 20px);
    max-width: 1360px;
    margin: 0 auto 100px;
    padding: 0;
  }
}
body.about section.leading .images {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 30px;
}
@media screen and (min-width: 800px) {
  body.about section.leading .images {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    width: min(100%, 1360px);
    margin: 0 auto 40px;
  }
}
body.about section.leading .images img {
  width: 100%;
}
@media screen and (min-width: 800px) {
  body.about section.leading .images img:nth-child(1) {
    width: 65%;
  }
  body.about section.leading .images img:nth-child(2) {
    width: calc(35% - 20px);
  }
}
body.about section.leading > p {
  margin-bottom: 30px;
  line-height: 1.6;
}
body.about section.leading .info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (min-width: 800px) {
  body.about section.leading .info {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
}
body.about section.leading .info > div {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 800px) {
  body.about section.leading .info > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    width: 48%;
  }
}
body.about section.leading .info > div:last-child {
  margin-bottom: 0;
}
body.about section.leading .info > div dt {
  display: block;
  margin-bottom: 15px;
  padding: 10px 0;
  font-weight: 700;
  text-align: center;
  background-color: #BC0011;
}
@media screen and (min-width: 800px) {
  body.about section.leading .info > div dt {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    align-self: stretch;
    width: 170px;
    min-height: 78px;
    margin-bottom: 0;
  }
}
body.about section.leading .info > div dd {
  font-size: 16px;
}
@media screen and (min-width: 800px) {
  body.about section.leading .info > div dd {
    flex: 1;
    font-size: 18px;
  }
}
body.about section.leading .info > div dd a {
  color: #FFF9F9;
}
body.about section.leading .info > div dd button {
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  color: #FFF9F9;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.about section.leading .info > div dd button:hover {
  opacity: 0.8;
}
body.about section.hall_rental {
  margin-bottom: 100px;
  padding: 0 10px;
}
body.about section.hall_rental .sub-headline {
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.about section.hall_rental .sub-headline {
    text-align: left;
  }
}
body.about section.hall_rental .sub-headline > img {
  max-height: 40px;
  margin: 0 auto;
  object-fit: contain;
}
@media screen and (min-width: 800px) {
  body.about section.hall_rental .sub-headline > img {
    margin: 0 auto 0 0;
    max-height: 100px;
  }
}
body.about section.hall_rental .sub-headline > span {
  display: block;
  font-size: 12px;
  font-weight: 700;
}
body.about section.hall_rental .splide {
  margin: 45px 0 30px;
}
body.about section.hall_rental .splide .splide__track .splide__list .splide__slide img {
  width: 90%;
}
body.about section.hall_rental > p {
  margin-bottom: 30px;
  line-height: 1.6;
}
body.about section.hall_rental .info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (min-width: 800px) {
  body.about section.hall_rental .info {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
}
body.about section.hall_rental .info > div {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 800px) {
  body.about section.hall_rental .info > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    width: 48%;
  }
}
body.about section.hall_rental .info > div:last-child {
  margin-bottom: 0;
}
body.about section.hall_rental .info > div dt {
  display: block;
  margin-bottom: 15px;
  padding: 10px 0;
  font-weight: 700;
  text-align: center;
  background-color: #BC0011;
}
@media screen and (min-width: 800px) {
  body.about section.hall_rental .info > div dt {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    align-self: stretch;
    width: 170px;
    min-height: 78px;
    margin-bottom: 0;
  }
}
body.about section.hall_rental .info > div dd {
  font-size: 16px;
}
@media screen and (min-width: 800px) {
  body.about section.hall_rental .info > div dd {
    flex: 1;
    font-size: 18px;
  }
}
body.about section.hall_rental .info > div dd a {
  color: #FFF9F9;
}
body.about section.hall_rental .info > div dd button {
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  color: #FFF9F9;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.about section.hall_rental .info > div dd button:hover {
  opacity: 0.8;
}
body.about section.hall_spec {
  margin-bottom: 100px;
  padding: 0 10px;
}
body.about section.hall_spec .sub-headline {
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.about section.hall_spec .sub-headline {
    text-align: left;
  }
}
body.about section.hall_spec .sub-headline > img {
  max-height: 40px;
  margin: 0 auto;
  object-fit: contain;
}
@media screen and (min-width: 800px) {
  body.about section.hall_spec .sub-headline > img {
    margin: 0 auto 0 0;
    max-height: 100px;
  }
}
body.about section.hall_spec .sub-headline > span {
  display: block;
  font-size: 12px;
  font-weight: 700;
}
body.about section.hall_spec ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 15px;
  margin-top: 30px;
}
@media screen and (min-width: 600px) {
  body.about section.hall_spec ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 800px) {
  body.about section.hall_spec ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
body.about section.hall_spec ul li button {
  display: block;
  width: 100%;
  padding: 12px 0;
  border: 1px solid #FFF9F9;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.about section.hall_spec ul li button:hover {
  opacity: 0.8;
}
body.about section.hall_spec ul li button p {
  margin-bottom: 3px;
  font-size: 20px;
  font-family: inherit;
  font-weight: 700;
  color: #FFF9F9;
}
body.about section.hall_spec ul li button span {
  font-size: 12px;
  color: #FFF9F9;
}
body.about section.gear-rental-staff-dispatch {
  margin-bottom: 100px;
  padding: 0 10px;
}
body.about section.gear-rental-staff-dispatch .sub-headline {
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch .sub-headline {
    text-align: left;
  }
}
body.about section.gear-rental-staff-dispatch .sub-headline > img {
  max-height: 80px;
  margin: 0 auto;
  object-fit: contain;
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch .sub-headline > img {
    margin: 0 auto 0 0;
    max-height: 100px;
  }
}
body.about section.gear-rental-staff-dispatch .sub-headline > span {
  display: block;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch .sub-headline img {
    max-height: 200px;
  }
}
body.about section.gear-rental-staff-dispatch .splide {
  margin: 45px 0 30px;
}
body.about section.gear-rental-staff-dispatch .splide .splide__track .splide__list .splide__slide img {
  width: 90%;
}
body.about section.gear-rental-staff-dispatch > p {
  margin-bottom: 30px;
  line-height: 1.6;
}
body.about section.gear-rental-staff-dispatch .info {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch .info {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
  }
}
body.about section.gear-rental-staff-dispatch .info > div {
  width: 100%;
  margin-bottom: 20px;
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch .info > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    width: 48%;
  }
}
body.about section.gear-rental-staff-dispatch .info > div:last-child {
  margin-bottom: 0;
}
body.about section.gear-rental-staff-dispatch .info > div dt {
  display: block;
  margin-bottom: 15px;
  padding: 10px 0;
  font-weight: 700;
  text-align: center;
  background-color: #BC0011;
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch .info > div dt {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
    align-self: stretch;
    width: 170px;
    min-height: 78px;
    margin-bottom: 0;
  }
}
body.about section.gear-rental-staff-dispatch .info > div dd {
  font-size: 16px;
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch .info > div dd {
    flex: 1;
    font-size: 18px;
  }
}
body.about section.gear-rental-staff-dispatch .info > div dd a {
  color: #FFF9F9;
}
body.about section.gear-rental-staff-dispatch .info > div dd button {
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  color: #FFF9F9;
  border: none;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.about section.gear-rental-staff-dispatch .info > div dd button:hover {
  opacity: 0.8;
}
body.about section.gear-rental-staff-dispatch > ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 15px;
  margin-top: 30px;
}
@media screen and (min-width: 600px) {
  body.about section.gear-rental-staff-dispatch > ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 800px) {
  body.about section.gear-rental-staff-dispatch > ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
body.about section.gear-rental-staff-dispatch > ul li button {
  display: block;
  width: 100%;
  padding: 12px 0;
  border: 1px solid #FFF9F9;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.about section.gear-rental-staff-dispatch > ul li button:hover {
  opacity: 0.8;
}
body.about section.gear-rental-staff-dispatch > ul li button p {
  margin-bottom: 3px;
  font-size: 20px;
  font-family: inherit;
  font-weight: 700;
  color: #FFF9F9;
}
body.about section.gear-rental-staff-dispatch > ul li button span {
  font-size: 12px;
  color: #FFF9F9;
}
body.about section.floor {
  margin-bottom: 100px;
  padding: 0 10px;
}
body.about section.floor .sub-headline {
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.about section.floor .sub-headline {
    text-align: left;
  }
}
body.about section.floor .sub-headline > img {
  max-height: 40px;
  margin: 0 auto;
  object-fit: contain;
}
@media screen and (min-width: 800px) {
  body.about section.floor .sub-headline > img {
    margin: 0 auto 0 0;
    max-height: 100px;
  }
}
body.about section.floor .sub-headline > span {
  display: block;
  font-size: 12px;
  font-weight: 700;
}
body.about section.floor .splide {
  margin: 45px 0 30px;
}
body.about section.floor .splide .splide__track .splide__list .splide__slide img {
  width: 90%;
}
body.about section.floor > img {
  width: min(100%, 900px);
}
body.about section.floor > ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 15px;
  margin-top: 30px;
}
@media screen and (min-width: 600px) {
  body.about section.floor > ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 800px) {
  body.about section.floor > ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
body.about section.floor > ul li button {
  display: block;
  width: 100%;
  padding: 12px 0;
  border: 1px solid #FFF9F9;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.about section.floor > ul li button:hover {
  opacity: 0.8;
}
body.about section.floor > ul li button p {
  margin-bottom: 3px;
  font-size: 20px;
  font-family: inherit;
  font-weight: 700;
  color: #FFF9F9;
}
body.about section.floor > ul li button span {
  font-size: 12px;
  color: #FFF9F9;
}
/**
 * ------------------------------------------------------------
 * live-schedule一覧
 * ------------------------------------------------------------
*/
body.post-type-archive-live-schedule .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-live-schedule .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.post-type-archive-live-schedule .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-live-schedule .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.post-type-archive-live-schedule .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-live-schedule .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.post-type-archive-live-schedule section.content {
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-live-schedule section.content {
    width: min(100%, 800px);
    margin: 0 auto;
  }
}
body.post-type-archive-live-schedule section.content .tab-menu {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: row;
  margin-bottom: 15px;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-live-schedule section.content .tab-menu {
    justify-content: center;
    margin: 0 auto 40px;
  }
}
body.post-type-archive-live-schedule section.content .tab-menu .month {
  width: 100px;
  margin-right: 15px;
  font-size: 20px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
  border-bottom: 1px solid #FFF9F9;
  cursor: pointer;
  transition: 0.4s;
}
body.post-type-archive-live-schedule section.content .tab-menu .month:hover {
  opacity: 0.8;
}
body.post-type-archive-live-schedule section.content .tab-menu .month:last-child {
  margin-right: 0;
}
body.post-type-archive-live-schedule section.content .tab-menu .tab-active {
  font-size: 35px;
  color: #231815;
  border-bottom: 1px solid #231815;
  cursor: auto;
}
body.post-type-archive-live-schedule section.content .tab-menu .tab-active:hover {
  opacity: 1;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list {
  display: block;
  width: min(100%, 500px);
  margin: 0 auto 25px;
  padding: 12px;
  background-color: #FFF9F9;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  gap: 10px;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date {
  width: 100px;
  color: #D90000;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .month {
  font-size: 16px;
  font-weight: 700;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .date {
  display: block;
  margin-top: -5px;
  font-size: 75px;
  color: #D90000;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .day-of-the-week {
  display: block;
  font-size: 12px;
  text-align: center;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .day-icon, body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .night-icon {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 2px 0;
  font-size: 12px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
  border-radius: 10px;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .day-icon {
  background-color: #df8f04;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .night-icon {
  background-color: #000595;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head > img {
  flex: 1;
  width: calc(100% - 100px);
  height: auto;
  aspect-ratio: 1.4192307692;
  object-fit: cover;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text {
  margin-top: 15px;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text .title {
  margin-bottom: 15px;
  padding-bottom: 10px;
  font-size: 18px;
  color: #D90000;
  border-bottom: 1px solid #D90000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text .performer {
  margin-bottom: 10px;
  font-size: 12px;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text .info {
  margin-bottom: 15px;
  font-size: 12px;
}
body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .leading-btn {
  width: 100%;
  padding: 8px 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  color: #FFF9F9;
  background-color: #D90000;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    width: 800px;
    margin: 0 0 30px 0;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 20px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date {
    width: 120px;
    color: #D90000;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .month {
    font-size: 18px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .date {
    font-size: 85px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .day-of-the-week {
    display: block;
    font-size: 15px;
    text-align: center;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .day-icon, body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head .event-date .night-icon {
    padding: 3px 0;
    font-size: 12px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .head > img {
    width: 215px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text {
    flex: 1;
    margin-top: 15px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text .title {
    width: 340px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 18px;
    color: #D90000;
    border-bottom: 1px solid #D90000;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text .performer {
    margin-bottom: 10px;
    font-size: 12px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .text .info {
    margin-bottom: 15px;
    font-size: 12px;
  }
  body.post-type-archive-live-schedule section.content .list-link-cards li .schedule-list .leading-btn {
    align-self: stretch;
    width: auto;
    padding: 0 10px;
    text-align: center;
    writing-mode: vertical-rl;
  }
}
body.post-type-archive-live-schedule section.content .list-link-cards li:last-child .schedule-list {
  margin-bottom: 0;
}
body.post-type-archive-live-schedule .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.post-type-archive-live-schedule .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-live-schedule .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
/**
 * ------------------------------------------------------------
 * live-schedule詳細
 * ------------------------------------------------------------
*/
body.single-live-schedule .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.single-live-schedule .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.single-live-schedule .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.single-live-schedule section.content {
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content {
    width: min(100%, 800px);
    margin: 0 auto;
  }
}
body.single-live-schedule section.content .post-thumbnail {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 30px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content .post-thumbnail {
    width: 100%;
    margin-bottom: 50px;
  }
}
body.single-live-schedule section.content .date {
  font-size: 20px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content .date {
    font-size: 40px;
  }
}
body.single-live-schedule section.content .date span {
  font-size: 12px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content .date span {
    font-size: 25px;
  }
}
body.single-live-schedule section.content h1 {
  margin-bottom: 15px;
  font-size: 20px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content h1 {
    margin-bottom: 25px;
    font-size: 35px;
  }
}
body.single-live-schedule section.content .info {
  margin-bottom: 15px;
  font-size: 15px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content .info {
    margin-bottom: 25px;
    font-size: 22px;
  }
}
body.single-live-schedule section.content .performer-title {
  font-size: 16px;
  font-weight: 400;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content .performer-title {
    font-size: 22px;
  }
}
body.single-live-schedule section.content .performer {
  margin-bottom: 30px;
  font-size: 16px;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content .performer {
    margin-bottom: 40px;
    font-size: 22px;
  }
}
body.single-live-schedule section.content .note {
  margin-bottom: 50px;
  font-size: 16px;
}
body.single-live-schedule section.content .note p {
  font-size: 16px;
}
body.single-live-schedule section.content .note a {
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
  word-wrap: break-word;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule section.content .note {
    margin-bottom: 60px;
    font-size: 18px;
  }
}
body.single-live-schedule .promotion-btn {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
body.single-live-schedule .promotion-btn > button {
  width: 300px;
  margin-bottom: 20px;
  padding: 15px 0;
  font-size: 14px;
  font-weight: 700;
  color: #FFF9F9;
  border: 1px solid #FFF9F9;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.single-live-schedule .promotion-btn > button:last-child {
  margin-bottom: 0;
}
body.single-live-schedule .promotion-btn > button:hover {
  opacity: 0.8;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule .promotion-btn {
    width: min(100%, 800px);
    margin: 0 auto;
    padding: 0 10px;
    justify-content: space-between;
    flex-direction: row;
    gap: 15px;
  }
  body.single-live-schedule .promotion-btn button {
    width: calc(100% / 3);
    margin-bottom: 0;
    font-size: 16px;
  }
}
body.single-live-schedule .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.single-live-schedule .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.single-live-schedule .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
/**
 * ------------------------------------------------------------
 * news一覧
 * ------------------------------------------------------------
*/
body.post-type-archive-news .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-news .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.post-type-archive-news .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-news .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.post-type-archive-news .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-news .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.post-type-archive-news section.content {
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-news section.content {
    width: min(100%, 800px);
    margin: 0 auto;
  }
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list {
  display: block;
  width: min(100%, 500px);
  margin: 0 auto 25px;
  padding: 12px;
  background-color: #FFF9F9;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  gap: 10px;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date {
  width: 100px;
  color: #D90000;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .month {
  font-size: 16px;
  font-weight: 700;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .date {
  display: block;
  margin-top: -5px;
  font-size: 75px;
  color: #D90000;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .day-of-the-week {
  display: block;
  font-size: 12px;
  text-align: center;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .day-icon, body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .night-icon {
  display: block;
  width: 100%;
  margin-top: 10px;
  padding: 2px 0;
  font-size: 12px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
  border-radius: 10px;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .day-icon {
  background-color: #df8f04;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .night-icon {
  background-color: #000595;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .head > img {
  flex: 1;
  width: calc(100% - 100px);
  height: auto;
  aspect-ratio: 1.4192307692;
  object-fit: cover;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .text {
  margin-top: 15px;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .text .title {
  margin-bottom: 15px;
  padding-bottom: 10px;
  font-size: 18px;
  color: #D90000;
  border-bottom: 1px solid #D90000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .text .performer {
  margin-bottom: 10px;
  font-size: 12px;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .text .info {
  margin-bottom: 15px;
  font-size: 12px;
}
body.post-type-archive-news section.content .list-link-cards li .schedule-list .leading-btn {
  width: 100%;
  padding: 8px 0;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  color: #FFF9F9;
  background-color: #D90000;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-news section.content .list-link-cards li .schedule-list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 20px;
    width: 800px;
    margin: 0 0 30px 0;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    gap: 20px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date {
    width: 120px;
    color: #D90000;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .month {
    font-size: 18px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .date {
    font-size: 85px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .day-of-the-week {
    display: block;
    font-size: 15px;
    text-align: center;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .day-icon, body.post-type-archive-news section.content .list-link-cards li .schedule-list .head .event-date .night-icon {
    padding: 3px 0;
    font-size: 12px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .head > img {
    width: 215px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .text {
    flex: 1;
    margin-top: 15px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .text .title {
    width: 340px;
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 18px;
    color: #D90000;
    border-bottom: 1px solid #D90000;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .text .performer {
    margin-bottom: 10px;
    font-size: 12px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .text .info {
    margin-bottom: 15px;
    font-size: 12px;
  }
  body.post-type-archive-news section.content .list-link-cards li .schedule-list .leading-btn {
    align-self: stretch;
    width: auto;
    padding: 0 10px;
    text-align: center;
    writing-mode: vertical-rl;
  }
}
body.post-type-archive-news section.content .list-link-cards li:last-child .schedule-list {
  margin-bottom: 0;
}
body.post-type-archive-news section.content .pagination {
  margin: 20px 0;
  text-align: center;
}
body.post-type-archive-news section.content .pagination .page-numbers {
  display: inline-block;
  margin-left: 15px;
  padding: 8px;
  color: #D90000;
  line-height: 1;
  background-color: #FFF9F9;
}
body.post-type-archive-news section.content .pagination .page-numbers:first-child {
  margin-left: 0;
}
body.post-type-archive-news section.content .pagination .current {
  color: #231815;
  background-color: transparent;
}
body.post-type-archive-news section.content .pagination .dots {
  color: #FFF9F9;
  background-color: transparent;
}
body.post-type-archive-news section.content .pagination .prev, body.post-type-archive-news section.content .pagination .next {
  font-size: 20px;
  color: #FFF9F9;
  background-color: transparent;
}
body.post-type-archive-news .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.post-type-archive-news .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.post-type-archive-news .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
/**
 * ------------------------------------------------------------
 * news詳細
 * ------------------------------------------------------------
*/
body.single-news .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.single-news .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.single-news .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.single-news .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.single-news .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.single-news .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.single-news section.content {
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.single-news section.content {
    width: min(100%, 800px);
    margin: 0 auto;
  }
}
body.single-news section.content .post-thumbnail {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 30px;
}
@media screen and (min-width: 800px) {
  body.single-news section.content .post-thumbnail {
    width: 100%;
    margin-bottom: 50px;
  }
}
body.single-news section.content .date {
  font-size: 20px;
}
@media screen and (min-width: 800px) {
  body.single-news section.content .date {
    font-size: 40px;
  }
}
body.single-news section.content .date span {
  font-size: 12px;
}
@media screen and (min-width: 800px) {
  body.single-news section.content .date span {
    font-size: 25px;
  }
}
body.single-news section.content h1 {
  margin-bottom: 15px;
  font-size: 20px;
}
@media screen and (min-width: 800px) {
  body.single-news section.content h1 {
    margin-bottom: 25px;
    font-size: 35px;
  }
}
body.single-news section.content .note {
  margin-bottom: 50px;
  font-size: 16px;
}
body.single-news section.content .note p {
  font-size: 16px;
}
body.single-news section.content .note a {
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
  word-wrap: break-word;
}
@media screen and (min-width: 800px) {
  body.single-news section.content .note {
    margin-bottom: 60px;
    font-size: 18px;
  }
}
body.single-news .promotion-btn {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
body.single-news .promotion-btn > button {
  width: 300px;
  margin-bottom: 20px;
  padding: 15px 0;
  font-size: 14px;
  font-weight: 700;
  color: #FFF9F9;
  border: 1px solid #FFF9F9;
  background-color: transparent;
  cursor: pointer;
  transition: 0.4s;
}
body.single-news .promotion-btn > button:last-child {
  margin-bottom: 0;
}
body.single-news .promotion-btn > button:hover {
  opacity: 0.8;
}
@media screen and (min-width: 800px) {
  body.single-news .promotion-btn {
    width: min(100%, 800px);
    margin: 0 auto;
    padding: 0 10px;
    justify-content: space-between;
    flex-direction: row;
    gap: 15px;
  }
  body.single-news .promotion-btn button {
    width: calc(100% / 3);
    margin-bottom: 0;
    font-size: 16px;
  }
}
body.single-news .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.single-news .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.single-news .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
body.faq .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.faq .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.faq .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.faq .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.faq .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.faq .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.faq section.for-customer {
  margin: 50px auto 30px;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer {
    margin: 50px auto 70px;
  }
}
body.faq section.for-user {
  margin: 0 auto 50px;
}
body.faq section.for-customer, body.faq section.for-user {
  width: calc(100% - 20px);
  padding: 35px 15px 15px;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer, body.faq section.for-user {
    width: calc(100% - 20px);
    max-width: 800px;
  }
}
body.faq section.for-customer > h2, body.faq section.for-user > h2 {
  margin-bottom: 35px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer > h2, body.faq section.for-user > h2 {
    margin-bottom: 45px;
    font-size: 25px;
  }
}
body.faq section.for-customer dl > div, body.faq section.for-user dl > div {
  margin-bottom: 35px;
}
body.faq section.for-customer dl > div dt, body.faq section.for-user dl > div dt {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  padding: 10px 45px 10px 55px;
  font-size: 16px;
  font-weight: 700;
  background-color: #D90000;
  color: #FFF9F9;
  cursor: pointer;
  transition: 0.4s;
}
body.faq section.for-customer dl > div dt:hover, body.faq section.for-user dl > div dt:hover {
  opacity: 0.8;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer dl > div dt, body.faq section.for-user dl > div dt {
    font-size: 18px;
    padding: 15px 45px 15px 55px;
  }
}
body.faq section.for-customer dl > div dt:before, body.faq section.for-user dl > div dt:before {
  content: "Q.";
  position: absolute;
  top: 45%;
  left: 15px;
  transform: translateY(-50%);
  font-size: 22px;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer dl > div dt:before, body.faq section.for-user dl > div dt:before {
    font-size: 27px;
  }
}
body.faq section.for-customer dl > div dt .accordion-icon, body.faq section.for-user dl > div dt .accordion-icon {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 27px;
  height: 27px;
  margin-left: 10px;
  border: 1px solid #FFF9F9;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer dl > div dt .accordion-icon, body.faq section.for-user dl > div dt .accordion-icon {
    width: 32px;
    height: 32px;
  }
}
body.faq section.for-customer dl > div dt .accordion-icon > span, body.faq section.for-user dl > div dt .accordion-icon > span {
  position: relative;
  width: 1px;
  height: 12px;
  background: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer dl > div dt .accordion-icon > span, body.faq section.for-user dl > div dt .accordion-icon > span {
    height: 15px;
  }
}
body.faq section.for-customer dl > div dt .accordion-icon > span::before, body.faq section.for-user dl > div dt .accordion-icon > span::before {
  content: "";
  position: absolute;
  width: 12px;
  height: 1px;
  background: #FFF9F9;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer dl > div dt .accordion-icon > span::before, body.faq section.for-user dl > div dt .accordion-icon > span::before {
    width: 15px;
  }
}
body.faq section.for-customer dl > div dt .accordion-icon.open > span, body.faq section.for-user dl > div dt .accordion-icon.open > span {
  background: transparent;
}
body.faq section.for-customer dl > div dd, body.faq section.for-user dl > div dd {
  position: relative;
  display: none;
  margin-top: 15px;
  padding-left: 50px;
  font-size: 16px;
}
@media screen and (min-width: 800px) {
  body.faq section.for-customer dl > div dd, body.faq section.for-user dl > div dd {
    font-size: 18px;
  }
}
body.faq section.for-customer dl > div dd:before, body.faq section.for-user dl > div dd:before {
  content: "A.";
  position: absolute;
  top: -4px;
  left: 15px;
  font-size: 22px;
}
body.faq section.for-customer dl > div dd > a, body.faq section.for-user dl > div dd > a {
  color: #D90000;
  border-bottom: 1px solid #D90000;
}
body.faq .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.faq .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.faq .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
body.movies .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.movies .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.movies .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.movies .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.movies .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.movies .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.movies section.content {
  position: relative;
  width: calc(100% - 40px);
  margin: 50px auto 30px;
}
@media screen and (min-width: 800px) {
  body.movies section.content {
    width: min(100%, 1360px);
    padding: 0 20px;
    margin: 50px auto 70px;
  }
}
@media screen and (min-width: 1360px) {
  body.movies section.content {
    padding: 0;
  }
}
body.movies section.content .zumin, body.movies section.content .wowhara {
  display: none;
  position: absolute;
}
body.movies section.content.show-chars .zumin, body.movies section.content.show-chars .wowhara {
  display: block;
  opacity: 1;
}
body.movies section.content .zumin {
  top: -66px;
  right: -13px;
  width: 70px;
}
@media screen and (min-width: 800px) {
  body.movies section.content .zumin {
    top: -180px;
    right: 0;
    left: 80px;
    width: 200px;
  }
}
body.movies section.content .wowhara {
  top: -79px;
  right: 40px;
  width: 85px;
}
@media screen and (min-width: 800px) {
  body.movies section.content .wowhara {
    top: -130px;
    right: 50px;
    width: 220px;
  }
}
body.movies section.content .content-headline {
  position: relative;
  margin-bottom: 30px;
}
@media screen and (min-width: 800px) {
  body.movies section.content .content-headline {
    margin-bottom: 60px;
    background-image: url("../images/movies/bg-text.svg");
    background-repeat: repeat-x;
    background-size: 130% auto;
    background-position: 0 50%;
    animation: scrollBackground 10s linear infinite;
  }
}
body.movies section.content .content-headline > img {
  display: block;
  width: 100%;
  margin: 0 auto;
  cursor: pointer;
}
body.movies section.content .content-headline > img:hover {
  opacity: 1;
}
@media screen and (min-width: 800px) {
  body.movies section.content .content-headline > img:hover {
    opacity: 0.8;
    transition: 0.4s;
  }
}
@media screen and (min-width: 800px) {
  body.movies section.content .content-headline > img {
    width: min(70%, 600px);
  }
}
@keyframes scrollBackground {
  from {
    background-position-x: 0;
  }
  to {
    background-position-x: 140%;
  }
}
body.movies section.content > p {
  margin-bottom: 30px;
  font-size: 16px;
}
body.movies section.content > p > a {
  color: #FFF9F9;
  border-bottom: 1px solid #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.movies section.content > p {
    margin-bottom: 80px;
    font-size: 18px;
    text-align: center;
    line-height: 1.8;
  }
}
@media screen and (min-width: 800px) {
  body.movies section.content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
}
@media screen and (min-width: 1000px) {
  body.movies section.content ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
}
body.movies section.content ul li {
  position: relative;
  width: 100%;
  margin-bottom: 30px;
}
body.movies section.content ul li .video-wrap {
  position: relative;
  margin-bottom: 10px;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
body.movies section.content ul li .video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
body.movies section.content ul li .title {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  height: 55px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #231815;
}
body.movies section.content ul li .title h2 {
  font-size: 16px;
  font-weight: 700;
}
body.movies section.content ul li .comment-btn {
  position: relative;
  display: inline-block;
  font-size: 14px;
  color: #FFF9F9;
  cursor: pointer;
  transition: 0.4s;
}
body.movies section.content ul li .comment-btn:hover {
  opacity: 0.8;
}
body.movies section.content ul li .comment-btn .accordion-icon {
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  margin-left: 10px;
  border: 1px solid #FFF9F9;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
@media screen and (min-width: 800px) {
  body.movies section.content ul li .comment-btn .accordion-icon {
    width: 20px;
    height: 20px;
  }
}
body.movies section.content ul li .comment-btn .accordion-icon > span {
  position: relative;
  width: 1px;
  height: 8px;
  background: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.movies section.content ul li .comment-btn .accordion-icon > span {
    height: 12px;
  }
}
body.movies section.content ul li .comment-btn .accordion-icon > span::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 1px;
  background: #FFF9F9;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 800px) {
  body.movies section.content ul li .comment-btn .accordion-icon > span::before {
    width: 12px;
  }
}
body.movies section.content ul li .comment-btn .accordion-icon.open > span {
  background: transparent;
}
body.movies section.content ul li .comment {
  display: none;
  margin-top: 10px;
  font-size: 14px;
}
@media screen and (min-width: 800px) {
  body.movies section.content ul li .comment {
    position: absolute;
    z-index: 1;
    width: 100%;
    padding: 0 15px 15px 0;
    background-color: #D90000;
  }
}
body.movies .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.movies .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.movies .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
body.contact .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.contact .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.contact .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.contact .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.contact .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.contact .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.contact section.web-contact, body.contact section.tel-contact {
  width: calc(100% - 20px);
  padding: 35px 15px 35px;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact, body.contact section.tel-contact {
    width: calc(100% - 20px);
    max-width: 800px;
  }
}
body.contact section.web-contact > h2, body.contact section.tel-contact > h2 {
  margin-bottom: 25px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact > h2, body.contact section.tel-contact > h2 {
    margin-bottom: 30px;
    font-size: 25px;
  }
}
body.contact section.web-contact {
  margin: 50px auto 30px;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact {
    margin: 50px auto 70px;
  }
}
body.contact section.web-contact > p {
  margin-bottom: 25px;
  font-size: 14px;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact > p {
    margin-bottom: 35px;
    font-size: 16px;
  }
}
body.contact section.web-contact > p > a {
  color: #D90000;
  border-bottom: 1px solid #D90000;
}
body.contact section.web-contact fieldset {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #D9D9D9;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact fieldset {
    padding-bottom: 0;
  }
}
body.contact section.web-contact fieldset > div {
  padding: 14px 0 20px;
  border-bottom: 1px solid #D9D9D9;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact fieldset > div {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    padding: 50px 0;
  }
}
body.contact section.web-contact fieldset > div .form-label {
  display: block;
  margin-bottom: 13px;
  font-size: 15px;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact fieldset > div .form-label {
    flex: 1;
    margin-bottom: 0;
    font-size: 18px;
  }
}
body.contact section.web-contact fieldset > div ::placeholder {
  font-weight: 400;
  color: #C3C3C3;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact fieldset > div .wpcf7-form-control-wrap {
    width: 70%;
  }
}
body.contact section.web-contact fieldset > div .wpcf7-form-control-wrap input {
  width: 100%;
  height: 50px;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #231815;
  background-color: transparent;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact fieldset > div .wpcf7-form-control-wrap input {
    height: 38px;
    font-size: 16px;
  }
}
body.contact section.web-contact fieldset > div .inquiry-items {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact fieldset > div .inquiry-items {
    flex-direction: row;
    flex-wrap: wrap;
  }
}
body.contact section.web-contact fieldset > div .inquiry-items .wpcf7-list-item {
  margin: 0 20px 0 0;
}
body.contact section.web-contact fieldset > div .inquiry-items .wpcf7-list-item label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  margin-bottom: 17px;
  cursor: pointer;
}
body.contact section.web-contact fieldset > div .inquiry-items .wpcf7-list-item label input {
  width: 18px;
  height: 18px;
}
body.contact section.web-contact fieldset > div .inquiry-items .wpcf7-list-item label .wpcf7-list-item-label {
  padding-left: 5px;
  font-size: 14px;
}
body.contact section.web-contact fieldset > div .inquiry-items .wpcf7-list-item:last-child label {
  margin-bottom: 0;
}
body.contact section.web-contact fieldset .textarea {
  width: 100%;
  height: auto;
  border: none;
}
body.contact section.web-contact fieldset .textarea textarea {
  width: 100%;
  max-width: 539px;
  height: 150px;
  padding: 10px;
  font-size: 14px;
  border: 1px solid #231815;
  background-color: transparent;
}
body.contact section.web-contact .wpcf7-spinner {
  display: none;
}
body.contact section.web-contact .wpcf7-acceptance {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
}
body.contact section.web-contact .wpcf7-acceptance .wpcf7-list-item {
  margin: 0 auto 30px;
}
body.contact section.web-contact .wpcf7-acceptance .wpcf7-list-item > label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
body.contact section.web-contact .wpcf7-acceptance .wpcf7-list-item > label .privacy-policy {
  width: 18px;
  height: 18px;
  cursor: pointer;
}
body.contact section.web-contact .wpcf7-acceptance .wpcf7-list-item > label .wpcf7-list-item-label {
  padding-left: 15px;
  font-size: 16px;
}
body.contact section.web-contact .wpcf7-acceptance .wpcf7-list-item > label .wpcf7-list-item-label > a {
  color: #D90000;
  border-bottom: 1px solid #D90000;
}
body.contact section.web-contact .submit-btn {
  display: block;
  width: 250px;
  margin: 0 auto;
  padding: 15px 0;
  font-size: 14px;
  font-weight: 700;
  color: #FFF9F9;
  text-align: center;
  background-color: #D90000;
  border: none;
  cursor: pointer;
  transition: 0.4s;
}
body.contact section.web-contact .submit-btn:hover {
  opacity: 0.8;
  transition: 0.4s;
}
@media screen and (min-width: 800px) {
  body.contact section.web-contact .submit-btn {
    font-size: 18px;
  }
}
body.contact section.tel-contact {
  margin: 0 auto 50px;
}
body.contact section.tel-contact > p {
  font-size: 16px;
  text-align: left;
}
@media screen and (min-width: 800px) {
  body.contact section.tel-contact > p {
    font-size: 18px;
    text-align: center;
  }
}
body.contact section.tel-contact .number {
  margin-top: 20px;
  padding-left: 25px;
  text-align: center;
}
body.contact section.tel-contact .number > a {
  position: relative;
  font-size: 24px;
  color: #D90000;
  font-weight: 700;
  border-bottom: 1px solid #D90000;
}
@media screen and (min-width: 800px) {
  body.contact section.tel-contact .number > a {
    font-size: 35px;
  }
}
body.contact section.tel-contact .number > a:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -25px;
  transform: translateY(-50%);
  width: 16px;
  height: 30px;
  background-image: url("../images/contact/tel-icon.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 800px) {
  body.contact section.tel-contact .number > a:before {
    width: 20px;
    height: 35px;
  }
}
body.contact section.tel-contact .number > span {
  font-size: 13px;
  color: #231815;
}
@media screen and (min-width: 800px) {
  body.contact section.tel-contact .number > span {
    vertical-align: 3px;
    font-size: 16px;
  }
}
body.contact .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.contact .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.contact .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
.wpcf7-not-valid-tip {
  padding: 10px 0;
  font-size: 15px;
  text-align: center;
}
.wpcf7-response-output {
  padding-top: 10px;
  border-color: transparent !important;
  color: #dc3232;
  text-align: center;
}
body.privacy-policy .headline {
  margin: 45px 0;
  padding: 0 10px;
}
@media screen and (min-width: 800px) {
  body.privacy-policy .headline {
    width: min(100%, 1366px);
    margin: 45px auto 60px;
  }
}
body.privacy-policy .headline > img {
  display: block;
  width: 85%;
}
@media screen and (min-width: 800px) {
  body.privacy-policy .headline > img {
    width: min(85%, 1000px);
    margin: 0 auto;
    max-height: 120px;
  }
}
body.privacy-policy .headline > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.privacy-policy .headline > span {
    margin-top: 20px;
    font-size: 18px;
    text-align: center;
  }
}
body.privacy-policy section.content {
  width: calc(100% - 20px);
  max-width: 800px;
  margin: 50px auto 30px;
  padding: 25px 15px 15px;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.privacy-policy section.content {
    margin: 50px auto 70px;
    padding: 25px 20px 15px;
  }
}
body.privacy-policy section.content > p {
  margin-bottom: 20px;
  font-size: 14px;
}
@media screen and (min-width: 800px) {
  body.privacy-policy section.content > p {
    font-size: 16px;
  }
}
body.privacy-policy section.content ol > li {
  margin-bottom: 40px;
}
body.privacy-policy section.content ol > li:last-child {
  margin-bottom: 40px;
}
body.privacy-policy section.content ol > li h2 {
  margin-bottom: 15px;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (min-width: 800px) {
  body.privacy-policy section.content ol > li h2 {
    font-size: 20px;
  }
}
body.privacy-policy section.content ol > li p {
  margin-bottom: 10px;
  font-size: 14px;
}
@media screen and (min-width: 800px) {
  body.privacy-policy section.content ol > li p {
    font-size: 16px;
  }
}
body.privacy-policy section.content ol > li ul {
  margin-bottom: 10px;
  padding-left: 20px;
}
body.privacy-policy section.content ol > li ul > li {
  font-size: 14px;
  list-style: disc;
}
@media screen and (min-width: 800px) {
  body.privacy-policy section.content ol > li ul > li {
    font-size: 16px;
  }
}
body.privacy-policy section.content .established-date {
  text-align: right;
}
body.privacy-policy .back-btn {
  margin: 50px 0 40px;
  text-align: center;
}
body.privacy-policy .back-btn > a {
  display: inline-block;
  padding: 10px 20px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
  color: #D90000;
  background-color: #FFF9F9;
}
@media screen and (min-width: 800px) {
  body.privacy-policy .back-btn > a {
    padding: 15px 40px;
    font-size: 16px;
  }
}
@media screen and (min-width: 800px) {
  /**
    * ------------------------------------------------------------
    * bottom header
    * ------------------------------------------------------------
*/
  /**
    * ------------------------------------------------------------
    * footer
    * ------------------------------------------------------------
*/
  /**
    * ------------------------------------------------------------
    * page-top-menu
    * ------------------------------------------------------------
    */
  body > .bottom-header .logo > img {
    width: 160px;
  }
  body > .bottom-header nav {
    position: static;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
    width: auto;
    height: auto;
    padding: 0;
    background-color: transparent;
    transform: none;
    transition: none;
  }
  body > .bottom-header nav li {
    border-bottom: none;
    margin-right: 25px;
  }
  body > .bottom-header nav li:last-child {
    margin-right: 0;
  }
  body > .bottom-header nav li a {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    color: #FFF9F9;
  }
  body > .bottom-header nav li a:after {
    position: static;
    border-right: none;
  }
  body > .bottom-header nav .list-contact {
    border: none;
  }
  body > .bottom-header nav .list-contact a {
    margin-top: 0;
    padding: 10px 25px;
    font-size: 16px;
  }
  body > .bottom-header nav .list-contact a:after {
    display: none;
  }
  body > .bottom-header .contact {
    display: none;
  }
  body > .bottom-header .hamburger-icon {
    display: none;
  }
  body > footer {
    padding: 80px 0 120px;
  }
  body > footer > a {
    font-size: 18px;
  }
  body > footer .copyrights {
    margin-top: 5px;
  }
  body > footer .copyrights small {
    font-size: 14px;
  }
  body > .page-top-menu .logo > img {
    width: 168px;
  }
  body > .page-top-menu .btn > a {
    width: 100px;
    padding: 5px 0;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    color: #D90000;
    background-color: #FFF9F9;
    font-size: 16px;
  }
  body > .page-top-menu .btn > a:first-child {
    margin-right: 15px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body > .bottom-header {
    padding-left: calc(50vw - 960px);
    padding-right: calc(50vw - 960px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body > .page-top-menu {
    padding-left: calc(50vw - 960px);
    padding-right: calc(50vw - 960px);
  }
}
@media screen and (min-width: 800px) {
  body.home section.top > video {
    height: 100%;
    width: 100%;
    object-fit: cover;
  }
  body.home section.top > img {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 20;
    width: 450px;
    transform: translate(-50%, -50%);
  }
  body.home section.top .scroll {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    font-size: 18px;
    color: #D90000;
    padding-bottom: 10px;
  }
  body.home section.top .scroll::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 30px;
    background: linear-gradient(to top, #D90000);
    animation: scroll-line 1.5s infinite;
  }
  @keyframes scroll-line {
    0% {
      height: 0px;
    }
    100% {
      height: 30px;
    }
  }
  body.home section.today {
    position: relative;
    max-width: 1366px;
    margin: 120px auto 0;
    padding: 35px 10px 0;
    padding-top: 35px;
    text-align: left;
  }
  body.home section.page-links {
    width: min(100%, 1366px);
    margin: 120px auto 0;
    padding: 0 10px;
  }
  body.home section.page-links ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  body.home section.page-links ul li {
    margin-bottom: 0;
    border: none;
  }
  body.home section.page-links ul li a {
    position: relative;
    display: block;
    height: 240px;
    padding: 15px;
    border: 1px solid #FFF9F9;
  }
  body.home section.page-links ul li a:after {
    content: "";
    position: absolute;
    right: 5px;
    top: 40%;
    width: 6px;
    height: 6px;
    border-top: 2px solid #FFF9F9;
    border-right: 2px solid #FFF9F9;
    transform: translateY(-50%) rotate(45deg);
    position: static;
    border: none;
  }
  body.home section.page-links ul li a .image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    width: 60%;
  }
  body.home section.page-links ul li a .image > img {
    top: 50%;
    width: 100%;
    max-width: 190px;
    height: auto;
    max-height: 150px;
  }
  body.home section.page-links ul li a .text {
    justify-content: center;
    align-items: center;
    padding-left: 0;
  }
  body.home section.page-links ul li a .text span {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 35px;
    text-align: center;
  }
  body.home section.page-links ul li a .text .leading-text {
    position: absolute;
    top: auto;
    bottom: 15px;
    padding-top: 0;
    padding-right: 15px;
    font-size: 14px;
    font-weight: 400;
  }
  body.home section.page-links ul li a .text .leading-text:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 6px;
    height: 6px;
    border-top: 1px solid #FFF9F9;
    border-right: 1px solid #FFF9F9;
    transform: translateY(-50%) rotate(45deg);
  }
  body.home section.page-links ul li .online-shop:after {
    position: static;
  }
  body.home section.page-links ul li .online-shop .text .leading-text:after {
    content: "";
    position: absolute;
    right: -7px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border: none;
    background-image: url("../images/home/external-link-arrow.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  body.home section.hall-rental {
    width: min(100%, 1366px);
    margin: 120px auto 0;
    padding: 0 10px;
  }
  body.home section.hall-rental > img {
    width: 100%;
  }
  body.home section.hall-rental .sub-headline {
    justify-content: space-between;
    align-items: center;
    flex-direction: row;
    margin-top: 35px;
  }
  body.home section.hall-rental .sub-headline > p {
    margin-bottom: 30px;
    line-height: 1.6;
  }
  body.home section.hall-rental .sub-headline .line-btn {
    position: relative;
    display: block;
    width: 380px;
    margin: 0;
    padding: 18px 10px 18px 15px;
    border: 1px solid #FFF9F9;
    font-size: 18px;
    font-weight: 700;
    color: #FFF9F9;
    text-align: center;
  }
  body.home section.hall-rental .sub-headline .line-btn:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 6px;
    height: 6px;
    border-top: 2px solid #FFF9F9;
    border-right: 2px solid #FFF9F9;
    transform: translateY(-50%) rotate(45deg);
  }
  body.home section.hall-rental .splide {
    margin-top: 30px;
  }
  body.home section.hall-rental .splide .splide__track .splide__list .splide__slide img {
    width: 90%;
  }
  body.home section.access {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: row;
    width: min(100%, 1366px);
    margin: 120px auto 0;
    padding: 0 10px;
  }
  body.home section.access .text-area .address {
    margin-top: 30px;
  }
  body.home section.access .text-area .tel {
    margin-top: 30px;
  }
  body.home section.access .text-area .mail {
    margin-top: 23px;
  }
  body.home section.access .text-area .mail h2:before {
    left: -2px;
    width: 20px;
    height: 18px;
  }
  body.home section.access .text-area .sns {
    margin-top: 20px;
  }
  body.home section.access .text-area .sns h2:before {
    left: -2px;
    width: 21px;
    height: 21px;
  }
  body.home section.access .map {
    width: 50%;
    margin-top: 0;
    padding-top: 700px;
  }
}
@media screen and (min-width: 800px) and (min-width: 1920px) {
  body.home section.top {
    padding-left: calc(50vw - 960px);
    padding-right: calc(50vw - 960px);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.today {
    padding: 35px 0 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.page-links {
    padding: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1150px) {
  body.home section.page-links ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.hall-rental {
    padding: 0;
  }
}
@media screen and (min-width: 800px) and (min-width: 1366px) {
  body.home section.access {
    padding: 0;
  }
}
