@charset "UTF-8";
/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

    version: 1.0
    created: 2025/04/18
    update : -

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/
@font-face {
  font-family: "icon";
  src: url("../../fonts/icon.woff");
}
.icon-mod_ico_arrow {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}

.icon-mod_ico_arrow_02 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e002";
  vertical-align: middle;
}

.icon-mod_ico_arrow_03 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e003";
  vertical-align: middle;
}

.icon-mod_ico_blank {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
}

.icon-mod_ico_blank_02 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e005";
  vertical-align: middle;
}

.icon-mod_ico_facebook {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e006";
  vertical-align: middle;
}

.icon-mod_ico_facebook_02 {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e007";
  vertical-align: middle;
}

.icon-mod_ico_instagram {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  vertical-align: middle;
}

.icon-mod_ico_language {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e009";
  vertical-align: middle;
}

.icon-mod_ico_line {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00a";
  vertical-align: middle;
}

.icon-mod_ico_pager {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00b";
  vertical-align: middle;
}

.icon-mod_ico_pdf {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
}

.icon-mod_ico_plus {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00d";
  vertical-align: middle;
}

.icon-mod_ico_ticket {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00e";
  vertical-align: middle;
}

.icon-mod_ico_tiktok {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00f";
  vertical-align: middle;
}

.icon-mod_ico_train {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e010";
  vertical-align: middle;
}

.icon-mod_ico_x {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  vertical-align: middle;
}

/*====================================================================================================

format

====================================================================================================*/
html {
  overflow-y: scroll;
}

body {
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  letter-spacing: 0.05em;
}

p {
  margin-top: 0;
}

ul,
ol {
  padding-left: 0;
  list-style: none;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

table th > *:last-child,
table td > *:last-child {
  margin-bottom: 0 !important;
}

img {
  border: none;
  vertical-align: middle;
}

li img {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  vertical-align: middle;
}

button,
input[type=button],
input[type=submit],
input[type=reset] {
  cursor: pointer;
}

button,
input[type=button],
input[type=submit],
input[type=reset],
select {
  -webkit-appearance: none;
          appearance: none;
}

button {
  display: inline-block;
  border: none;
  padding: 0;
  background: none;
}

button::-moz-focus-inner {
  border: none;
  padding: 0;
}

:placeholder-shown {
  color: #B9BCBE;
}

::-webkit-input-placeholder {
  color: #B9BCBE;
}

::-moz-placeholder {
  color: #B9BCBE;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #B9BCBE;
}

em,
address,
small {
  font-style: normal;
}

em {
  font-weight: 700;
}

article,
aside,
dialog,
figure,
footer,
header,
menu,
nav,
section,
mark,
audio,
video,
picture,
source,
main {
  display: block;
  margin: 0;
  border: 0;
  padding: 0;
  outline: 0;
}

fieldset {
  margin: 0;
  border: none;
  padding: 0;
}

/*====================================================================================================

    module

====================================================================================================*/
/* section module
--------------------------------------------------------------------------------------------------- */
.m_section {
  position: relative;
}
.m_section > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_section {
    padding: 0 0 150px;
  }
}
@media screen and (max-width: 767px) {
  .m_section {
    padding: 0 0 100px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_social] {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_social] {
    padding-top: 60px;
  }
}
.m_section[class*=_borderBottom] {
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg] {
    padding-top: 150px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg] {
    padding-top: 100px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg]:has(> h2) {
    padding-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg]:has(> h2) {
    padding-top: 80px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg]:has(.m_heading) {
    padding-top: 100px;
    padding-bottom: 120px;
  }
}
.m_section[class*=_fullBg]::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
}
@media (min-width: 1101px) {
  .m_section[class*=_fullBg]::before {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg]::before {
    left: -30px;
    right: -30px;
  }
}
@media (min-width: 768px) {
  .m_section[class*=_fullBg] + .m_section:not([class*=_fullBg]) {
    padding-top: 120px;
  }
}
@media screen and (max-width: 767px) {
  .m_section[class*=_fullBg] + .m_section:not([class*=_fullBg]) {
    padding-top: 80px;
  }
}
.m_section[class*=_gray]::before {
  background: #F7F7F7;
}
.m_section[class*=_black] > * {
  color: #FFFFFF;
}
.m_section[class*=_black]::before {
  background: #171922;
}
@media (min-width: 768px) {
  .m_section[class*=_short] {
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}

.m_entry > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_entry {
    margin: auto;
    width: 800px;
  }
}
@media (min-width: 768px) {
  .m_entry h2 {
    margin: 50px 0;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entry h2 {
    margin: 40px 0;
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .m_entry h3 {
    margin: 50px 0;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entry h3 {
    margin: 40px 0;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .m_entry h4 {
    margin: 50px 0;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entry h4 {
    margin: 40px 0;
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .m_entry p {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry p {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .m_entry p + p,
.m_entry p + .wp-block-file {
    margin-top: -25px;
  }
}
@media screen and (max-width: 767px) {
  .m_entry p + p,
.m_entry p + .wp-block-file {
    margin-top: -20px;
  }
}
.m_entry a {
  color: #966F0B;
  text-decoration: underline;
}
.m_entry a:hover {
  text-decoration: none;
}
.m_entry a[target=_blank]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-1px) scale(0.6);
}
.m_entry a[href*=".pdf"]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
  transform: scale(0.85);
}
@media (min-width: 768px) {
  .m_entry ul {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry ul {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .m_entry ol {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry ol {
    margin: 40px 0;
  }
}
.m_entry .wp-block-button {
  text-align: left !important;
}
@media (min-width: 768px) {
  .m_entry .wp-block-button {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry .wp-block-button {
    margin: 40px 0;
  }
}
.m_entry .wp-block-button__link {
  color: #171922;
  text-decoration: none;
}
@media (min-width: 768px) {
  .m_entry .wp-block-table {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry .wp-block-table {
    margin: 40px 0;
  }
}
@media (min-width: 768px) {
  .m_entry .wp-block-file {
    margin: 50px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_entry .wp-block-file {
    margin: 40px 0;
  }
}

/* heading module
--------------------------------------------------------------------------------------------------- */
.m_heading {
  margin-top: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  .m_heading {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading {
    position: relative;
    margin-bottom: 35px;
    font-size: 1.375rem;
  }
}
.m_heading::after {
  margin-top: 2px;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 0.6875rem;
  color: #72777D;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  display: block;
  content: attr(data-label-en);
}
@media (min-width: 768px) {
  .m_heading[class*=_small] {
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .m_heading[class*=_large] {
    margin-bottom: 80px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_large] {
    margin-bottom: 60px;
    font-size: 1.5rem;
  }
}
@media (min-width: 768px) {
  .m_heading[class*=_large]::after {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_large]::after {
    font-size: 0.6875rem;
  }
}
.m_heading[class*=_single]::after {
  content: none;
}
.m_heading[class*=_white] {
  color: #FFFFFF;
}
.m_heading[class*=_white]::after {
  color: #D7D9DB;
}
@media (min-width: 768px) {
  .m_heading[class*=_pcVertical] {
    position: relative;
    padding-right: 18px;
    letter-spacing: 0.25em;
    writing-mode: vertical-rl;
  }
}
@media (min-width: 768px) {
  .m_heading[class*=_pcVertical]::after {
    position: absolute;
    right: 0;
    margin-top: 4px;
    margin-left: 5px;
  }
}
.m_heading[class*=_mbNo] {
  margin-bottom: 0;
}
.m_heading[class*=_flipped] {
  position: relative;
  font-size: 0.6875rem;
}
@media (min-width: 768px) {
  .m_heading[class*=_flipped] {
    padding-top: 55px;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_flipped] {
    padding-top: 40px;
  }
}
.m_heading[class*=_flipped]::after {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-top: 0;
  color: #171922;
}
@media (min-width: 768px) {
  .m_heading[class*=_flipped]::after {
    font-size: 2.1875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_heading[class*=_flipped]::after {
    font-size: 1.625rem;
  }
}

.m_enHeading {
  margin-top: 0;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .m_enHeading {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .m_enHeading {
    margin-bottom: 40px;
    font-size: 1.5rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_enHeading[class*=_pcBorder] {
    display: flex;
    align-items: center;
  }
}
@media (min-width: 768px) {
  .m_enHeading[class*=_pcBorder]::after {
    margin-top: 30px;
    width: 1px;
    height: 150px;
    background: #D7D9DB;
    display: inline-block;
    content: "";
  }
}
.m_enHeading[class*=_pcVertical] {
  margin-right: 0;
}
@media (min-width: 768px) {
  .m_enHeading[class*=_pcVertical] {
    writing-mode: vertical-rl;
  }
}

.m_textHeading {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .m_textHeading {
    margin-top: 60px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textHeading {
    margin-top: 40px;
    font-size: 1.25rem;
  }
}
@media (min-width: 768px) {
  .m_textHeading[class*=_small] {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textHeading[class*=_small] {
    font-size: 1rem;
  }
}
.m_textHeading[class*=_mtNo] {
  margin-top: 0;
}

.m_textSerifHeading {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
}
@media (min-width: 768px) {
  .m_textSerifHeading {
    margin-top: 90px;
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textSerifHeading {
    margin-top: 70px;
    margin-bottom: 30px;
    font-size: 1.25rem;
  }
}
.m_textSerifHeading[class*=_small] {
  margin-bottom: 20px;
}
@media (min-width: 768px) {
  .m_textSerifHeading[class*=_small] {
    margin-top: 60px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_textSerifHeading[class*=_small] {
    margin-top: 40px;
    font-size: 1rem;
  }
}

.m_borderHeading {
  margin-top: 0;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-align: center;
}
@media (min-width: 768px) {
  .m_borderHeading {
    margin-bottom: 60px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_borderHeading {
    margin-bottom: 40px;
    font-size: 1.375rem;
  }
}
.m_borderHeading::after {
  margin: auto;
  width: 35px;
  height: 1px;
  background: #B9BCBE;
  display: block;
  content: "";
}
@media (min-width: 768px) {
  .m_borderHeading::after {
    margin-top: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_borderHeading::after {
    margin-top: 20px;
  }
}

.m_groundHeading {
  padding: 10px 0;
  font-weight: 700;
  background: rgba(231, 232, 233, 0.6);
  border-bottom: 1px solid #72777D;
  text-align: center;
}
@media (min-width: 768px) {
  .m_groundHeading {
    margin-bottom: 40px;
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_groundHeading {
    margin-left: -20px;
    margin-right: -20px;
    margin-bottom: 30px;
    font-size: 1.125rem;
  }
}
.m_groundHeading .supp {
  margin-left: 10px;
  font-weight: 400;
}
@media (min-width: 768px) {
  .m_groundHeading .supp {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_groundHeading .supp {
    font-size: 0.75rem;
  }
}
.m_groundHeading[class*=_mbNo] {
  margin-bottom: 0;
}

.m_visualHeading {
  position: relative;
}
@media (min-width: 768px) {
  .m_visualHeading {
    margin: -190px 0 120px;
    height: 380px;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading {
    margin: -45px 0 80px;
    height: 150px;
  }
}
.m_visualHeading .heading {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin: 0;
  height: 100%;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  color: #FFFFFF;
  letter-spacing: 0.15em;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_visualHeading .heading {
    padding-bottom: 100px;
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading .heading {
    padding-bottom: 40px;
    font-size: 1.5rem;
  }
}
.m_visualHeading .heading::after {
  margin-top: 5px;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  display: block;
  content: attr(data-label-en);
}
@media (min-width: 768px) {
  .m_visualHeading .heading::after {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading .heading::after {
    font-size: 0.6875rem;
  }
}
.m_visualHeading .image {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
}
@media (min-width: 1101px) {
  .m_visualHeading .image {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading .image {
    left: -30px;
    right: -30px;
  }
}
.m_visualHeading .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right top;
}
@media (min-width: 768px) {
  .m_visualHeading[class*=_single] .heading {
    padding-bottom: 120px;
    font-size: 2.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_visualHeading[class*=_single] .heading {
    font-size: 1.375rem;
  }
}
.m_visualHeading[class*=_mbNo] {
  margin-bottom: 0;
}

.m_entryHeading {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .m_entryHeading {
    margin: auto;
    width: 800px;
  }
}
.m_entryHeading .heading {
  order: 2;
  margin-top: 0;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_entryHeading .heading {
    margin-bottom: 30px;
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .heading {
    margin-bottom: 20px;
    font-size: 1.25rem;
  }
}
.m_entryHeading .image {
  order: 3;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .m_entryHeading .image {
    margin-left: -20px;
    margin-right: -20px;
  }
}
.m_entryHeading .image img {
  width: 100%;
}
.m_entryHeading .data {
  order: 1;
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}
.m_entryHeading .data .update {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  color: #72777D;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_entryHeading .data .update {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .data .update {
    font-size: 0.75rem;
  }
}
.m_entryHeading .data .category {
  color: #72777D;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_entryHeading .data .category {
    font-size: 0.875rem;
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .data .category {
    font-size: 0.75rem;
    line-height: 1;
  }
}
.m_entryHeading .data .category:not(:empty)::before {
  width: 1px;
  background: #E7E8E9;
  vertical-align: middle;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_entryHeading .data .category:not(:empty)::before {
    margin: 0 15px;
    height: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_entryHeading .data .category:not(:empty)::before {
    margin: 0 10px;
    height: 12px;
  }
}

/* box module
--------------------------------------------------------------------------------------------------- */
.m_box {
  background: rgba(247, 247, 247, 0.4);
  border: solid #D7D9DB;
}
.m_box > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_box {
    padding: 45px 30px;
    margin: 80px 0;
    border-width: 1px;
  }
}
@media screen and (max-width: 767px) {
  .m_box {
    padding: 35px 30px;
    margin: 60px -30px;
    border-width: 1px 0;
  }
}
.m_box .heading {
  margin-top: 0;
  text-align: center;
}
@media (min-width: 768px) {
  .m_box .heading {
    margin-bottom: 18px;
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_box .heading {
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .m_box .text {
    margin-bottom: 15px;
    font-size: 1rem;
    line-height: 2;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .m_box .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
@media (min-width: 768px) {
  .m_box .table {
    margin: auto;
    width: 500px;
  }
}
.m_box .table table {
  width: 100%;
  border-spacing: 1em 0;
  border-collapse: separate;
}
.m_box .table table tr:not(:last-of-type) {
  border-bottom: 1px solid #E7E8E9;
}
.m_box .table table tr th, .m_box .table table tr td {
  padding: 15px 0;
  letter-spacing: 0.05em;
  text-align: left;
  vertical-align: top;
}
.m_box .table table tr th .number, .m_box .table table tr td .number {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
}
@media (min-width: 768px) {
  .m_box .table table tr th .number, .m_box .table table tr td .number {
    font-size: 1.25rem;
    line-height: 1;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th .number, .m_box .table table tr td .number {
    font-size: 1.125rem;
    line-height: 1;
  }
}
.m_box .table table tr th .yen, .m_box .table table tr td .yen {
  margin-left: 2px;
}
@media (min-width: 768px) {
  .m_box .table table tr th .yen, .m_box .table table tr td .yen {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th .yen, .m_box .table table tr td .yen {
    font-size: 0.75rem;
  }
}
.m_box .table table tr th .tax, .m_box .table table tr td .tax {
  margin-left: 2px;
}
@media (min-width: 768px) {
  .m_box .table table tr th .tax, .m_box .table table tr td .tax {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th .tax, .m_box .table table tr td .tax {
    font-size: 0.625rem;
  }
}
.m_box .table table tr th > ul, .m_box .table table tr td > ul {
  margin-top: 0;
}
@media (min-width: 768px) {
  .m_box .table table tr th {
    width: 135px;
  }
}
@media screen and (max-width: 767px) {
  .m_box .table table tr th {
    width: 75px;
  }
}

.m_media {
  display: flex;
}
@media (min-width: 768px) {
  .m_media {
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_media {
    flex-direction: column;
    margin-bottom: 40px;
  }
}
@media (min-width: 768px) {
  .m_media + .m_media {
    margin-top: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_media + .m_media {
    margin-top: 60px;
  }
}
.m_media:not(:has(.js_slider)) .body {
  margin-bottom: 40px;
}
.m_media .body {
  flex-grow: 1;
}
.m_media .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_media .body {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_media .body {
    order: 2;
  }
}
.m_media .body .heading {
  margin: 0 0 20px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .m_media .body .heading {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_media .body .heading {
    font-size: 1.125rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_media .body .text {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_media .body .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_media .image {
  flex-shrink: 0;
}
@media (min-width: 768px) {
  .m_media .image {
    width: 700px;
  }
}
@media screen and (max-width: 767px) {
  .m_media .image {
    order: 1;
    margin: 0 -30px 25px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .m_media .image img {
    width: 100%;
    height: auto;
  }
}
.m_media .image.js_slider {
  padding-bottom: 22px;
}
@media (min-width: 768px) {
  .m_media .image.js_slider {
    padding-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .m_media .image.js_slider .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
  }
}
@media (min-width: 768px) {
  .m_media:not([class*=_flipped]) .image:first-child {
    margin-right: 80px;
  }
}
@media (min-width: 768px) {
  .m_media:not([class*=_flipped]) .body + .image {
    margin-left: 80px;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_flipped] {
    flex-direction: row-reverse;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_flipped] .image:first-child {
    margin-left: 80px;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_flipped] .body + .image {
    margin-right: 80px;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_alignTop] {
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_alignMiddle] {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .m_media[class*=_alignbottom] {
    align-items: flex-end;
  }
}
.m_media:has(+ .m_comment) .body {
  margin-block-end: 0;
}

.m_panel {
  margin-top: 0;
}
.m_panel > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_panel {
    display: flex;
    margin: auto;
    width: 980px;
  }
}
.m_panel li {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .m_panel li {
    margin-bottom: 20px;
  }
}
.m_panel li::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  background: rgba(23, 25, 34, 0.35);
}
@media (min-width: 768px) {
  .m_panel li::before {
    transition: background 0.6s ease;
  }
}
.m_panel li .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_panel li .body .title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  font-weight: 700;
  color: #FFFFFF;
}
@media (min-width: 768px) {
  .m_panel li .body .title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_panel li .body .title {
    font-size: 0.875rem;
  }
}
.m_panel li .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.m_panel li .image img {
  width: 100%;
}
@media (min-width: 768px) {
  .m_panel li .image img {
    transition: transform 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_panel li .image img {
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_panel li:hover::before {
    background: rgba(23, 25, 34, 0.1);
  }
}
@media (min-width: 768px) {
  .m_panel li:hover .image img {
    transform: scale(1.1);
  }
}
.m_panel li.is_current {
  pointer-events: none;
}
.m_panel li.is_current::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  background: rgba(23, 25, 34, 0.6);
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol2] li {
    width: calc(50% - 40px);
  }
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol3] li {
    width: calc((100% - 80px) / 3);
  }
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol3] li:not(:first-of-type) {
    margin-left: 40px;
  }
}
@media (min-width: 768px) {
  .m_panel[class*=_pcCol4] li {
    width: calc(25% - 40px);
  }
}

.m_event {
  display: flex;
  flex-direction: column;
  position: relative;
  box-shadow: 0 5px 50px rgba(29, 45, 69, 0.12);
}
@media (min-width: 768px) {
  .m_event {
    width: 320px;
    transition: box-shadow 0.6s ease;
  }
}
.m_event .body {
  order: 2;
  text-align: center;
}
.m_event .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_event .body {
    padding: 20px 20px 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_event .body {
    padding: 20px 20px 30px;
  }
}
.m_event .body .period {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m_event .body .period .text {
  flex-basis: 25%;
  display: inline-block;
  padding: 4px 8px;
  margin-right: 15px;
  font-size: 0.75rem;
  border: 1px solid #D7D9DB;
}
.m_event .body .period .date {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  text-align: left;
}
.m_event .body .title {
  margin-bottom: 5px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 1.125rem;
}
.m_event .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}
.m_event .body .subTitle {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 0.8125rem;
}
.m_event .image {
  order: 1;
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_event .image img {
    transition: transform 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_event .image img {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .m_event:hover {
    box-shadow: 0 5px 20px rgba(29, 45, 69, 0.08);
  }
}
@media (min-width: 768px) {
  .m_event:hover .image img {
    transform: scale(1.1);
  }
}

.m_scrollBox {
  overflow: hidden;
  height: 500px;
  background: #FFFFFF;
  box-sizing: border-box;
}
.m_scrollBox .mediaInner {
  margin-top: 0;
}
@media (min-width: 768px) {
  .m_scrollBox .mediaInner {
    padding: 40px 100px 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_scrollBox .mediaInner {
    padding: 20px 30px 40px;
  }
}
.m_scrollBox .mediaInner li {
  padding: 20px 0;
  border-bottom: 1px solid #E7E8E9;
}
.m_scrollBox .mediaInner li > *:last-child {
  margin-bottom: 0 !important;
}
.m_scrollBox .mediaInner li .update {
  display: inline-block;
  margin-bottom: 10px;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.6875rem;
  color: #72777D;
}

@media (min-width: 768px) {
  .m_social {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_social {
    margin-bottom: 60px;
  }
}
.m_social .text {
  margin-bottom: 15px;
  font-weight: 700;
  text-align: center;
}
.m_social .share {
  display: flex;
  justify-content: center;
}
.m_social .share > li:not(:first-of-type) {
  margin-left: 30px;
}
.m_social .share > li > a {
  position: relative;
  display: block;
  width: 54px;
  height: 54px;
  background: rgba(231, 232, 233, 0.5);
  border-radius: 50%;
}
@media (min-width: 768px) {
  .m_social .share > li > a {
    transition: background 0.6s ease;
  }
}
.m_social .share > li > a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #72777D;
  transform: translate(-50%, -50%);
}
@media (min-width: 768px) {
  .m_social .share > li > a::before {
    transition: color 0.6s ease;
  }
}
.m_social .share > li > a > span {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_social .share > li > a:hover::before {
    color: #FFFFFF;
  }
}
.m_social .share > li.facebook > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e006";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_social .share > li.facebook > a:hover {
    background: #4267B2;
  }
}
.m_social .share > li.x > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_social .share > li.x > a:hover {
    background: #000000;
  }
}
.m_social .share > li.line > a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00a";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_social .share > li.line > a:hover {
    background: #31C755;
  }
}

@media (min-width: 768px) {
  .m_summary {
    padding: 0 20px;
    margin: 0 0 50px;
  }
}
@media screen and (max-width: 767px) {
  .m_summary {
    margin: 0 0 40px;
  }
}
.m_summary[class*=_border] {
  border-top: 1px solid #E7E8E9;
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_summary > li {
    padding-top: 40px;
    margin-bottom: 30px;
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li {
    padding-top: 30px;
    margin-bottom: 20px;
    font-size: 1rem;
  }
}
.m_summary > li:not(:first-of-type) {
  border-top: 1px solid #E7E8E9;
}
.m_summary > li > P {
  margin: 5px 0;
}
.m_summary > li > ul {
  margin-top: 5px;
}
.m_summary > li > dl {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}
.m_summary > li > dl dt {
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dt {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dt {
    flex: 1;
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .m_summary > li > dl dd {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd {
    flex: 1;
    font-size: 0.9375rem;
  }
}
.m_summary > li > dl dd .number {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .number {
    font-size: 1.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .number {
    font-size: 1.25rem;
  }
}
.m_summary > li > dl dd .time {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .time {
    font-size: 1.625rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .time {
    font-size: 1.25rem;
  }
}
.m_summary > li > dl dd .yen {
  margin-left: 2px;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .yen {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .yen {
    font-size: 0.75rem;
  }
}
.m_summary > li > dl dd .tax {
  margin-left: 2px;
}
@media (min-width: 768px) {
  .m_summary > li > dl dd .tax {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_summary > li > dl dd .tax {
    font-size: 0.625rem;
  }
}

.m_contact {
  position: relative;
}
@media (min-width: 768px) {
  .m_contact {
    padding-top: 100px;
    padding-bottom: 120px;
    margin: auto;
    width: 1000px;
  }
}
@media screen and (max-width: 767px) {
  .m_contact {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}
.m_contact::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
  background: #F7F7F7;
}
@media (min-width: 1101px) {
  .m_contact::before {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_contact::before {
    left: -30px;
    right: -30px;
  }
}
@media (min-width: 768px) {
  .m_contact .columns {
    display: flex;
    justify-content: center;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns {
    margin-top: 50px;
  }
}
.m_contact .columns .column {
  position: relative;
  text-align: center;
}
.m_contact .columns .column > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_contact .columns .column {
    width: 50%;
  }
}
.m_contact .columns .column .tel {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
}
.m_contact .columns .column .tel > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_contact .columns .column .tel {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column .tel {
    margin-top: 25px;
  }
}
.m_contact .columns .column .tel [href*="tel:"] {
  margin-left: 5px;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_contact .columns .column .tel [href*="tel:"] {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column .tel [href*="tel:"] {
    font-size: 1.25rem;
  }
}
.m_contact .columns .column .tel .supp {
  display: block;
  margin-top: -0.5em;
}
@media (min-width: 768px) {
  .m_contact .columns .column .tel .supp {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column .tel .supp {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column:nth-of-type(even) {
    padding-top: 50px;
    margin-top: 50px;
  }
}
.m_contact .columns .column:nth-of-type(even)::before {
  position: absolute;
  top: 0;
  left: 0;
  background: #E7E8E9;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_contact .columns .column:nth-of-type(even)::before {
    width: 1px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .m_contact .columns .column:nth-of-type(even)::before {
    width: 100%;
    height: 1px;
  }
}

.m_floormap > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_floormap {
    display: flex;
    justify-content: space-between;
    margin: 0 0 10px;
  }
}
.m_floormap .text > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_floormap .text {
    margin-left: 50px;
    width: calc(50% - 130px);
  }
}
@media screen and (max-width: 767px) {
  .m_floormap .text {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_floormap .image {
    margin-left: -10px;
    margin-right: -10px;
  }
}
.m_floormap .image p {
  margin: 10px 0 5px;
}
@media screen and (max-width: 767px) {
  .m_floormap .image img {
    width: 100%;
    height: auto;
  }
}
.m_floormap .image[class*=_grand] {
  background: #F7F7F7;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_floormap .image[class*=_grand] {
    padding: 40px 50px 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_floormap .image[class*=_grand] {
    padding: 40px 15px;
    margin-left: -30px;
    margin-right: -30px;
  }
}
.m_floormap[class*=_map] .image {
  position: relative;
}
.m_floormap[class*=_map] .image::before {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  background-position: 0 0;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_floormap[class*=_map] .image::before {
    bottom: 0;
    width: 1px;
    height: calc(100% - 70px);
    background-size: 1px 5px;
    background-image: linear-gradient(to bottom, #B9BCBE, #B9BCBE 1px, transparent 1px, transparent 5px);
  }
}
@media screen and (max-width: 767px) {
  .m_floormap[class*=_map] .image::before {
    right: 0;
    width: calc(100% - 40px);
    height: 1px;
    background-size: 5px 1px;
    background-image: linear-gradient(to right, #B9BCBE, #B9BCBE 1px, transparent 1px, transparent 5px);
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_map] .image:first-of-type::before {
    content: none;
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_alignTop] {
    align-items: flex-start;
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_alignMiddle] {
    align-items: center;
  }
}
@media (min-width: 768px) {
  .m_floormap[class*=_alignbottom] {
    align-items: flex-end;
  }
}

.m_comment {
  display: flex;
  background: #F7F7F7;
}
@media (min-width: 768px) {
  .m_comment {
    padding: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_comment {
    flex-direction: column;
    padding: 40px 30px;
    margin-left: -20px;
    margin-right: -20px;
  }
}
.m_comment .body {
  order: 2;
}
.m_comment .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_comment .body {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_comment .body {
    margin-top: 30px;
  }
}
.m_comment .body .name {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .m_comment .body .text {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_comment .body .text {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_comment .image {
  order: 1;
}
@media screen and (max-width: 767px) {
  .m_comment .image {
    margin: 0 48px;
  }
}
@media screen and (max-width: 767px) {
  .m_comment .image img {
    width: 100%;
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_comment[class*=_flipped] .body {
    order: 1;
    margin-inline: 0 40px;
  }
  .m_comment[class*=_flipped] .image {
    order: 2;
  }
}
@media (min-width: 768px) {
  .m_media + .m_comment {
    margin-block-end: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_media + .m_comment {
    margin-block-end: 60px;
  }
}

.m_leadBox > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_leadBox {
    display: flex;
    justify-content: center;
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .m_leadBox {
    margin-bottom: 60px;
  }
}
.m_leadBox .heading {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
@media (min-width: 768px) {
  .m_leadBox .heading {
    position: absolute;
    top: 90px;
    margin: 0;
    font-size: 1.625rem;
    line-height: 2;
    color: rgba(114, 119, 125, 0.7);
    letter-spacing: 0.25em;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 767px) {
  .m_leadBox .heading {
    margin-top: 0;
    font-size: 1.25rem;
    line-height: 1.75;
    color: #72777D;
    letter-spacing: 0.1em;
    text-align: center;
  }
}
.m_leadBox:not([class*=_flipped]) .heading {
  left: 80px;
}
.m_leadBox[class*=_flipped] .heading {
  right: 80px;
}
@media (min-width: 768px) {
  .m_leadBox[class*=_pcBorderBottom] {
    padding-bottom: 100px;
    border-bottom: 1px solid #E7E8E9;
  }
}

@media (min-width: 768px) {
  .m_headingEventColumn {
    display: flex;
    margin: auto 100px auto 150px;
    width: 860px;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_heading {
    order: 2;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event {
    flex-direction: unset;
    order: 1;
    margin-top: 50px;
    margin-right: 50px;
    width: 760px;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-basis: 50%;
    box-sizing: border-box;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .period {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 35px;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .period .text {
    margin-bottom: 15px;
    margin-right: 0;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .period .date {
    font-size: 1rem;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .title {
    margin-bottom: 15px;
    font-size: 1.375rem;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .body .subTitle {
    font-size: 0.875rem;
  }
}
@media (min-width: 768px) {
  .m_headingEventColumn .m_event .image {
    flex-basis: 50%;
  }
}
.m_headingEventColumn .m_event .image img {
  width: 100%;
}

.m_moreBox {
  position: relative;
}
.m_moreBox::before, .m_moreBox::after {
  position: absolute;
  left: 0;
  right: 0;
  opacity: 0;
  display: inline-block;
  content: "";
}
@media (min-width: 1101px) {
  .m_moreBox::before, .m_moreBox::after {
    left: calc(50% - 50vw);
    right: calc(50% - 50vw);
  }
}
@media screen and (max-width: 767px) {
  .m_moreBox::before, .m_moreBox::after {
    left: -30px;
    right: -30px;
  }
}
.m_moreBox::before {
  bottom: 0;
  height: 50px;
  background: #FFFFFF;
}
.m_moreBox::after {
  bottom: 50px;
  height: 250px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
}
.m_moreBox[class*=_black]::before {
  background: #171922;
}
.m_moreBox[class*=_black]::after {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #171922 100%);
}
@media (min-width: 768px) {
  .m_moreBox[class*=_spOnly]::before, .m_moreBox[class*=_spOnly]::after {
    content: none;
  }
}
@media (min-width: 768px) {
  .m_moreBox[class*=_spOnly] .moreInner {
    margin-bottom: auto;
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_moreBox[class*=_spOnly] .js_moreButton {
    display: none;
  }
}
.m_moreBox.is_close::before, .m_moreBox.is_close::after {
  opacity: 1;
}
.m_moreBox.is_close .moreInner {
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_moreBox.is_close .moreInner {
    margin-bottom: -150px;
    height: 930px;
  }
}
@media screen and (max-width: 767px) {
  .m_moreBox.is_close .moreInner {
    margin-bottom: -100px;
    height: 2000px;
  }
}
.m_moreBox.is_close .js_moreButton {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 1;
  opacity: 1;
  pointer-events: auto;
}
@media (min-width: 768px) {
  .m_moreBox.is_close .js_moreButton {
    bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_moreBox.is_close .js_moreButton {
    bottom: 30px;
  }
}
.m_moreBox:not(.is_close) {
  animation: slideDown 1s ease;
}
.m_moreBox .js_moreButton {
  margin-top: 40px;
  text-align: center;
}
.m_moreBox .js_moreButton > button {
  display: inline-block;
  position: relative;
  padding: 0 0 65px;
  font-weight: 700;
  color: #171922;
  letter-spacing: 0.05em;
}
.m_moreBox .js_moreButton > button::before {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #D7D9DB;
  box-sizing: border-box;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button::before {
    transition: background 0.6s ease, border 0.6s ease;
  }
}
.m_moreBox .js_moreButton > button::after {
  position: absolute;
  left: 50%;
  bottom: 18px;
  color: #171922;
  transform: translateX(-50%) scale(0.7);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00d";
  font-size: 16px;
  line-height: 16px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button::after {
    transition: color 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button:hover::before {
    background: #AB883C;
    border-color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_moreBox .js_moreButton > button:hover::after {
    color: #FFFFFF;
  }
}
.m_moreBox .js_moreButton > button[target=_blank]::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-50%) scale(0.75);
}
.m_moreBox .js_moreButton[class*=_white] > button {
  color: #FFFFFF;
}
.m_moreBox .js_moreButton[class*=_white] > button::after {
  color: #FFFFFF;
}

@media (min-width: 768px) {
  .m_short {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_short {
    margin-bottom: 30px;
  }
}

.m_modalWrap {
  display: none;
}

@media (min-width: 768px) {
  .m_inlineModal {
    display: flex;
    align-items: center;
    padding: 40px 70px 70px;
    margin-left: auto;
    margin-right: auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_inlineModal {
    padding: 40px 20px 0;
  }
}
@media (min-width: 768px) {
  .m_inlineModal .body {
    order: 2;
    margin-left: 60px;
  }
}
.m_inlineModal .body .name {
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .m_inlineModal .body .name {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_inlineModal .body .name {
    margin-top: 10px;
    margin-bottom: 5px;
    font-size: 1.125rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_inlineModal .image {
    order: 1;
  }
}
.m_inlineModal .image .type {
  font-weight: 700;
}
.m_inlineModal .image .type .cat {
  margin-right: 0.5em;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  color: #B9BCBE;
}
@media screen and (max-width: 767px) {
  .m_inlineModal .image img {
    width: 100%;
    height: auto;
  }
}

/* paragraph module
--------------------------------------------------------------------------------------------------- */
.m_liquidImage,
.m_entry .wp-block-image {
  margin: auto;
  text-align: center;
}
@media (min-width: 768px) {
  .m_liquidImage,
.m_entry .wp-block-image {
    margin: 50px auto;
    max-width: 700px;
  }
}
@media screen and (max-width: 767px) {
  .m_liquidImage,
.m_entry .wp-block-image {
    margin: 40px auto;
  }
}
.m_liquidImage img,
.m_entry .wp-block-image img {
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .m_liquidImage img,
.m_entry .wp-block-image img {
    height: auto;
  }
}
.m_liquidImage figcaption,
.m_entry .wp-block-image figcaption {
  margin-top: 10px;
  font-size: 0.75rem;
  color: #72777D;
  letter-spacing: 0.05em;
  text-align: left;
}

.m_textLink,
.m_entry .wp-block-button {
  margin-top: 40px;
  text-align: right;
}
.m_textLink > a,
.m_textLink > button,
.m_entry .wp-block-button > a,
.m_entry .wp-block-button > button {
  display: inline-block;
  position: relative;
  padding: 15px 65px 15px 0;
  font-weight: 700;
  color: #171922;
}
.m_textLink > a::before,
.m_textLink > button::before,
.m_entry .wp-block-button > a::before,
.m_entry .wp-block-button > button::before {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 1px solid #D7D9DB;
  box-sizing: border-box;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_textLink > a::before,
.m_textLink > button::before,
.m_entry .wp-block-button > a::before,
.m_entry .wp-block-button > button::before {
    transition: background 0.6s ease, border 0.6s ease;
  }
}
.m_textLink > a::after,
.m_textLink > button::after,
.m_entry .wp-block-button > a::after,
.m_entry .wp-block-button > button::after {
  position: absolute;
  top: 50%;
  right: 17px;
  color: #171922;
  transform: translateY(-50%) scale(0.85);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e002";
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_textLink > a::after,
.m_textLink > button::after,
.m_entry .wp-block-button > a::after,
.m_entry .wp-block-button > button::after {
    transition: color 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_textLink > a:hover::before,
.m_textLink > button:hover::before,
.m_entry .wp-block-button > a:hover::before,
.m_entry .wp-block-button > button:hover::before {
    background: #AB883C;
    border-color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_textLink > a:hover::after,
.m_textLink > button:hover::after,
.m_entry .wp-block-button > a:hover::after,
.m_entry .wp-block-button > button:hover::after {
    color: #FFFFFF;
  }
}
.m_textLink > a[target=_blank]::after,
.m_textLink > button[target=_blank]::after,
.m_entry .wp-block-button > a[target=_blank]::after,
.m_entry .wp-block-button > button[target=_blank]::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-50%) scale(0.75);
}
.m_textLink[class*=_prev],
.m_entry .wp-block-button[class*=_prev] {
  text-align: left;
}
.m_textLink[class*=_prev] > a,
.m_textLink[class*=_prev] > button,
.m_entry .wp-block-button[class*=_prev] > a,
.m_entry .wp-block-button[class*=_prev] > button {
  padding-left: 65px;
  padding-right: 0;
}
.m_textLink[class*=_prev] > a::before,
.m_textLink[class*=_prev] > button::before,
.m_entry .wp-block-button[class*=_prev] > a::before,
.m_entry .wp-block-button[class*=_prev] > button::before {
  left: 0;
  right: auto;
}
.m_textLink[class*=_prev] > a::after,
.m_textLink[class*=_prev] > button::after,
.m_entry .wp-block-button[class*=_prev] > a::after,
.m_entry .wp-block-button[class*=_prev] > button::after {
  left: 16px;
  right: auto;
  transform: translateY(-50%) scale(0.85) rotate(180deg);
}
.m_textLink[class*=_white] > a,
.m_textLink[class*=_white] > button,
.m_entry .wp-block-button[class*=_white] > a,
.m_entry .wp-block-button[class*=_white] > button {
  color: #FFFFFF;
}
.m_textLink[class*=_white] > a::after,
.m_textLink[class*=_white] > button::after,
.m_entry .wp-block-button[class*=_white] > a::after,
.m_entry .wp-block-button[class*=_white] > button::after {
  color: #FFFFFF;
}

@media (min-width: 768px) {
  .m_text,
.m_entry p {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_text,
.m_entry p {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_text > a,
.m_entry p > a {
  color: #966F0B;
  text-decoration: underline;
}
.m_text > a:hover,
.m_entry p > a:hover {
  text-decoration: none;
}
.m_text > a[target=_blank]::after,
.m_entry p > a[target=_blank]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
  transform: translateY(-1px) scale(0.6);
}
.m_text > a[href*=".pdf"]::after,
.m_entry p > a[href*=".pdf"]::after {
  margin-left: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
  transform: scale(0.85);
}
.m_text.has-text-color,
.m_entry p.has-text-color {
  color: #CC0022;
}
.m_text[class*=_small],
.m_entry p[class*=_small] {
  font-size: 0.875rem;
  line-height: 2;
}
@media (min-width: 768px) {
  .m_text[class*=_large],
.m_entry p[class*=_large] {
    font-size: 1.125rem;
    line-height: 2.5;
  }
}
@media screen and (max-width: 767px) {
  .m_text[class*=_large],
.m_entry p[class*=_large] {
    font-size: 0.9375rem;
    line-height: 2.3333333333;
  }
}
@media (min-width: 768px) {
  .m_text[class*=_type01],
.m_entry p[class*=_type01] {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_text[class*=_type01],
.m_entry p[class*=_type01] {
    margin-top: 40px;
  }
}

@media (min-width: 768px) {
  .m_video,
.m_entry .wp-block-video {
    margin: 50px auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_video,
.m_entry .wp-block-video {
    margin: 40px 0;
  }
}
.m_video video,
.m_entry .wp-block-video video {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media (min-width: 768px) {
  .m_movie,
.m_entry .wp-block-embed-youtube {
    margin: 50px auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_movie,
.m_entry .wp-block-embed-youtube {
    margin: 40px 0;
  }
}
.m_movie iframe,
.m_entry .wp-block-embed-youtube iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

@media (min-width: 768px) {
  .m_columnImage,
.m_entry .wp-block-columns {
    display: flex;
    justify-content: space-between;
    gap: 40px;
    margin: 50px auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_columnImage,
.m_entry .wp-block-columns {
    margin: 40px 0;
  }
}
.m_columnImage .column,
.m_columnImage .wp-block-column,
.m_entry .wp-block-columns .column,
.m_entry .wp-block-columns .wp-block-column {
  flex-basis: 100%;
  width: auto;
}
.m_columnImage .column > *,
.m_columnImage .wp-block-column > *,
.m_entry .wp-block-columns .column > *,
.m_entry .wp-block-columns .wp-block-column > * {
  margin: 0;
}
.m_columnImage .column .m_liquidImage img,
.m_columnImage .column .wp-block-image img,
.m_columnImage .wp-block-column .m_liquidImage img,
.m_columnImage .wp-block-column .wp-block-image img,
.m_entry .wp-block-columns .column .m_liquidImage img,
.m_entry .wp-block-columns .column .wp-block-image img,
.m_entry .wp-block-columns .wp-block-column .m_liquidImage img,
.m_entry .wp-block-columns .wp-block-column .wp-block-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .m_columnImage .column:not(:first-of-type),
.m_columnImage .wp-block-column:not(:first-of-type),
.m_entry .wp-block-columns .column:not(:first-of-type),
.m_entry .wp-block-columns .wp-block-column:not(:first-of-type) {
    margin-top: 25px;
  }
}

.m_ticket {
  position: relative;
  background: #FFFFFF;
  border-radius: 3px;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_ticket {
    padding: 15px 10px;
    margin: auto;
    width: 300px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket {
    padding: 10px 12px;
    margin: auto;
    width: 260px;
  }
}
.m_ticket .body {
  order: 2;
  text-align: center;
}
.m_ticket .body > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_ticket .body {
    padding-left: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body {
    padding-left: 45px;
  }
}
.m_ticket .body::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: contain;
  background-image: url(/images/common/common_ico_ticket_n.png);
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_ticket .body::before {
    left: 18px;
    width: 33px;
    height: 27px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body::before {
    left: 12px;
    width: 31px;
    height: 24px;
  }
}
.m_ticket .body::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  background-image: linear-gradient(to top, #B9BCBE, #B9BCBE 4px, transparent 4px);
  background-size: 1px 8px;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_ticket .body::after {
    left: 70px;
    height: 46px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body::after {
    left: 55px;
    height: 38px;
  }
}
.m_ticket .body .title {
  margin-bottom: 2px;
  font-weight: 700;
  color: #171922;
}
@media (min-width: 768px) {
  .m_ticket .body .title {
    font-size: 0.9375rem;
    transition: color 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body .title {
    font-size: 0.875rem;
  }
}
.m_ticket .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
}
.m_ticket .body .subTitle {
  font-weight: 700;
  color: #72777D;
}
@media (min-width: 768px) {
  .m_ticket .body .subTitle {
    font-size: 0.6875rem;
    transition: color 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_ticket .body .subTitle {
    font-size: 0.625rem;
  }
}
@media (min-width: 768px) {
  .m_ticket:hover {
    background: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body::before {
    background-image: url(/images/common/common_ico_ticket_r.png);
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body::after {
    background-image: linear-gradient(to top, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4) 4px, transparent 4px);
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body .title {
    color: #FFFFFF;
  }
}
@media (min-width: 768px) {
  .m_ticket:hover .body .subTitle {
    color: rgba(255, 255, 255, 0.7);
  }
}

.m_other {
  margin-top: 40px;
}
.m_other .item {
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .m_other .item {
    width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item {
    width: 280px;
  }
}
.m_other .item .body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
}
.m_other .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_other .item .body .title {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (min-width: 768px) {
  .m_other .item .body .title {
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .title {
    margin-bottom: 5px;
  }
}
.m_other .item .body .title > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
@media (min-width: 768px) {
  .m_other .item .body .title > a .text {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .title > a .text {
    font-size: 0.625rem;
  }
}
@media (min-width: 768px) {
  .m_other .item .body .title > a .name {
    margin-left: 15px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .title > a .name {
    font-size: 0.8125rem;
  }
}
.m_other .item .body .period {
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
  font-size: 0.625rem;
}
.m_other .item .body .period .text {
  padding: 2px 6px;
  font-size: 0.625rem;
  border: 1px solid rgba(255, 255, 255, 0.25);
}
@media (min-width: 768px) {
  .m_other .item .body .period .text {
    margin-right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .period .text {
    margin-right: 10px;
    transform: scale(0.95);
  }
}
.m_other .item .body .period .date {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
}
@media (min-width: 768px) {
  .m_other .item .body .period .date {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .body .period .date {
    font-size: 0.625rem;
  }
}
.m_other .item .image {
  overflow: hidden;
}
@media (min-width: 768px) {
  .m_other .item .image img {
    transition: transform 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_other .item .image img {
    width: 100%;
  }
}
.m_other .item:not(:first-of-type) {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .m_other .item:hover .image img {
    transform: scale(1.2);
  }
}
.m_other .item.is_close {
  pointer-events: none;
}
.m_other .item.is_close::before {
  background: rgba(23, 25, 34, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 2;
}

.m_otherNav .title {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.8);
  text-align: center;
}
.m_otherNav .exhibitsBox {
  position: relative;
  margin: auto;
  width: 260px;
  box-sizing: border-box;
}
.m_otherNav .exhibitsBox > *:last-child {
  margin-bottom: 0 !important;
}
.m_otherNav .exhibitsBox::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  opacity: 0.5;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(114, 119, 125, 0.5);
  border-radius: 3px;
}
@media (min-width: 768px) {
  .m_otherNav .exhibitsBox::before {
    transition: border 0.6s ease;
  }
}
.m_otherNav .exhibitsBox .text {
  font-size: 0.625rem;
  color: rgba(255, 255, 255, 0.8);
}
.m_otherNav .exhibitsBox .text > a {
  display: block;
  position: relative;
  padding: 12px;
  text-align: center;
}
.m_otherNav .exhibitsBox .text > a .name {
  display: inline-block;
  margin-top: 2px;
  font-size: 0.75rem;
}
.m_otherNav .exhibitsBox .text > a[target=_blank]::after {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_otherNav .exhibitsBox:hover::before {
    border-color: #FFFFFF;
  }
}

/* list module
--------------------------------------------------------------------------------------------------- */
.m_list > *:last-child,
.m_entry ul:not([class]) > *:last-child {
  margin-bottom: 0 !important;
}
.m_list > li,
.m_entry ul:not([class]) > li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 10px;
}
.m_list > li::before,
.m_entry ul:not([class]) > li::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 7px;
  height: 7px;
  background: #B9BCBE;
  border-radius: 50%;
  display: inline-block;
  content: "";
}
.m_list > li a,
.m_entry ul:not([class]) > li a {
  color: #966F0B;
  text-decoration: underline;
}
.m_list > li a:hover,
.m_entry ul:not([class]) > li a:hover {
  text-decoration: none;
}
.m_list[class*=_type01],
.m_entry ul:not([class])[class*=_type01] {
  margin-top: -0.5em;
}
.m_list[class*=_unstyled] > li,
.m_entry ul:not([class])[class*=_unstyled] > li {
  padding-left: 0;
}
.m_list[class*=_unstyled] > li::before,
.m_entry ul:not([class])[class*=_unstyled] > li::before {
  content: none;
}

.m_numberList,
.m_entry ol:not([class]) {
  counter-reset: li;
}
.m_numberList > *:last-child,
.m_entry ol:not([class]) > *:last-child {
  margin-bottom: 0 !important;
}
.m_numberList > li,
.m_entry ol:not([class]) > li {
  position: relative;
  display: table-row;
  margin-bottom: 10px;
}
.m_numberList > li::before,
.m_entry ol:not([class]) > li::before {
  display: table-cell;
  counter-increment: li;
  content: "（" counter(li) "）";
}
.m_numberList[class*=_type01],
.m_entry ol:not([class])[class*=_type01] {
  margin-top: -0.5em;
}

.m_notesList > *:last-child {
  margin-bottom: 0 !important;
}
.m_notesList > li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 8px;
  font-size: 0.75rem;
  color: #72777D;
}
.m_notesList > li > *:last-child {
  margin-bottom: 0 !important;
}
.m_notesList > li::before {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  content: "※";
}
.m_notesList[class*=_type01] {
  margin-top: -0.5em;
}
.m_notesList[class*=_small] > li::before, .m_notesList > li[class*=_small]::before {
  content: "*";
}
.m_notesList[class*=_mark] > li {
  display: table;
  padding-left: 0;
}
.m_notesList[class*=_mark] > li .mark {
  display: table-cell;
  text-align: right;
}
.m_notesList[class*=_mark] > li::before {
  content: none;
}

.m_detailList {
  margin-top: 0;
}
.m_detailList dt {
  position: relative;
  padding-left: 18px;
  margin-bottom: 5px;
  font-weight: 700;
}
.m_detailList dt::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 7px;
  height: 7px;
  background: #B9BCBE;
  border-radius: 50%;
  display: inline-block;
  content: "";
}
.m_detailList dd {
  margin-left: 18px;
  margin-bottom: 15px;
}

.m_newsList {
  margin: 0;
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_newsList {
    margin: auto;
    width: 800px;
  }
}
.m_newsList li {
  display: flex;
  position: relative;
  border-top: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_newsList li {
    padding: 30px 0;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_newsList li {
    padding: 25px 0;
  }
}
.m_newsList li .body {
  order: 2;
}
.m_newsList li .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_newsList li .body .data {
  display: flex;
  align-items: center;
  margin-bottom: 5px;
}
.m_newsList li .body .data .update {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.6875rem;
  color: #72777D;
  letter-spacing: 0.05em;
}
.m_newsList li .body .data .category {
  font-size: 0.6875rem;
  line-height: 1;
  color: #72777D;
  letter-spacing: 0.05em;
}
.m_newsList li .body .data .category:not(:empty)::before {
  margin: 0 10px;
  width: 1px;
  height: 12px;
  background: #E7E8E9;
  vertical-align: middle;
  display: inline-block;
  content: "";
}
.m_newsList li .body .text > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.m_newsList li .image {
  order: 1;
}
@media (min-width: 768px) {
  .m_newsList li .image {
    margin-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_newsList li .image {
    margin-right: 15px;
  }
}
@media (min-width: 768px) {
  .m_newsList li:hover {
    background: #F7F7F7;
  }
}

.m_faqList {
  margin-top: 0;
  border-top: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_faqList {
    margin: auto;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList {
    margin-left: -30px;
    margin-right: -30px;
  }
}
.m_faqList dt {
  position: relative;
  border-bottom: 1px solid #E7E8E9;
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: padding 0.6s ease;
}
@media (min-width: 768px) {
  .m_faqList dt {
    padding: 30px 56px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dt {
    padding: 25px 58px;
    font-size: 0.9375rem;
  }
}
.m_faqList dt::before, .m_faqList dt::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 12px;
  height: 2px;
  background: #171922;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_faqList dt::before, .m_faqList dt::after {
    right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dt::before, .m_faqList dt::after {
    right: 30px;
  }
}
.m_faqList dt::after {
  transform: rotate(90deg);
}
.m_faqList dt > button {
  font-weight: 700;
  color: #171922;
  text-align: left;
}
.m_faqList dt > button::before {
  position: absolute;
  background: url(/images/common/common_ico_faq_n.png) no-repeat 0 0/contain;
  vertical-align: middle;
  transform: translateY(2px);
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_faqList dt > button::before {
    left: 20px;
    width: 21px;
    height: 18px;
    transition: background 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dt > button::before {
    left: 30px;
    width: 18px;
    height: 15px;
  }
}
@media (min-width: 768px) {
  .m_faqList dt:hover > button::before {
    background-image: url(/images/common/common_ico_faq_r.png);
  }
}
.m_faqList dt.is_open {
  padding-bottom: 20px;
  border-bottom: none;
}
.m_faqList dt.is_open::after {
  display: none;
}
.m_faqList dt.is_open > button::before {
  background-image: url(/images/common/common_ico_faq_r.png);
}
.m_faqList dd {
  display: none;
  margin-left: 0;
  background: #F7F7F7;
  letter-spacing: 0.05em;
}
.m_faqList dd > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_faqList dd {
    padding: 30px 56px;
    font-size: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .m_faqList dd {
    padding: 25px 58px;
    font-size: 0.875rem;
  }
}
.m_faqList dd .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_faqList dd .body a {
  color: #966F0B;
  text-decoration: underline;
}
.m_faqList dd .body a:hover {
  text-decoration: none;
}

.m_selectList {
  display: flex;
  margin-top: 0;
  overflow: auto;
}
@media (min-width: 768px) {
  .m_selectList {
    margin: auto auto 80px;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_selectList {
    padding-right: 30px;
    padding-bottom: 20px;
    margin-right: -30px;
    margin-bottom: 20px;
  }
}
.m_selectList li {
  flex-shrink: 0;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_selectList li:not(:first-of-type) {
    margin-left: 25px;
  }
}
@media screen and (max-width: 767px) {
  .m_selectList li:not(:first-of-type) {
    margin-left: 20px;
  }
}
.m_selectList li:not(:first-of-type)::before {
  width: 1px;
  height: 15px;
  background: #E7E8E9;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_selectList li:not(:first-of-type)::before {
    margin-right: 25px;
  }
}
@media screen and (max-width: 767px) {
  .m_selectList li:not(:first-of-type)::before {
    margin-right: 20px;
  }
}
.m_selectList li.is_current > a {
  color: #171922;
}
.m_selectList li.is_current > a::after {
  margin: 5px auto 0;
  width: 5px;
  height: 5px;
  background: #171922;
  border-radius: 50%;
  display: block;
  content: "";
}
.m_selectList li > a {
  display: inline-block;
  color: #B9BCBE;
}
@media (min-width: 768px) {
  .m_selectList li > a {
    transition: color 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_selectList li > a:hover {
    color: #171922;
  }
}

.m_indexList {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .m_indexList {
    gap: 100px 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList {
    gap: 40px 24px;
  }
}
.m_indexList > .item {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .m_indexList > .item {
    width: 380px;
  }
}
.m_indexList > .item .body {
  order: 2;
  margin-top: 10px;
}
.m_indexList > .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_indexList > .item .body .name {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}
@media (min-width: 768px) {
  .m_indexList > .item .body .name {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList > .item .body .name {
    font-size: 0.75rem;
  }
}
.m_indexList > .item .body .name b {
  font-weight: 400;
}
.m_indexList > .item .body .name .em::before, .m_indexList > .item .body .name .em::after {
  display: inline-block;
}
.m_indexList > .item .body .name .em::before {
  content: "“";
}
.m_indexList > .item .body .name .em::after {
  content: "”";
}
.m_indexList > .item .body .name:has(+ .detail) {
  margin-bottom: 15px;
}
@media (min-width: 768px) {
  .m_indexList > .item .body .detail {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList > .item .body .detail {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_indexList > .item .image {
  order: 1;
}
.m_indexList > .item .image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .m_indexList > .item .image img {
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_pcCol3] > .item {
    width: 340px;
  }
}
.m_indexList[class*=_center] {
  justify-content: center;
}
@media (min-width: 768px) {
  .m_indexList[class*=_pcCol4] > .item {
    width: 245px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spCol] {
    flex-direction: unset;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spCol] > .item {
    width: calc(50% - 12px);
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spScroll] {
    flex-wrap: unset;
    justify-content: unset;
    overflow-x: auto;
    margin-right: -30px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_spScroll] > .item {
    flex-shrink: 0;
    width: 250px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_home] > .item .body .name {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_home] > .item .body .name {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type01] {
    gap: 80px 24px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type01] > .item .body {
    margin-top: 25px;
  }
}
.m_indexList[class*=_type01] > .item .body .name {
  text-align: center;
}
@media (min-width: 768px) {
  .m_indexList[class*=_type01] > .item .body .name {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type01] > .item .body .name {
    margin-bottom: 15px;
    font-size: 1.125rem;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] {
    gap: 100px 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type02] {
    gap: 70px 0;
    margin: 0 10px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item {
    position: relative;
    width: 510px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body {
    margin: 25px 50px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type02] > .item .body {
    margin-top: 20px;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    font-size: 1.375rem;
    line-height: 1.7272727273;
    writing-mode: vertical-rl;
    letter-spacing: 0.15em;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_type02] > .item .body .name {
    font-size: 1.125rem;
    text-align: center;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em {
    position: relative;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em::before, .m_indexList[class*=_type02] > .item .body .name .em::after {
    margin: 0 0 0.5em;
    rotate: 90deg;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em::before {
    translate: 10px 0;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .body .name .em::after {
    translate: -10px 0;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_type02] > .item .image {
    margin: 40px 50px 0 0;
  }
}
@media (min-width: 768px) {
  .m_indexList[class*=_modal] {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_modal] {
    gap: 24px;
  }
}
.m_indexList[class*=_modal] > .item {
  cursor: pointer;
}
@media (min-width: 768px) {
  .m_indexList[class*=_modal] > .item .name {
    font-size: 1.25rem;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_modal] > .item .name {
    font-size: 0.875rem;
  }
}
.m_indexList[class*=_modal] > .item .image {
  position: relative;
}
.m_indexList[class*=_modal] > .item .image::after {
  position: absolute;
  background: url(/images/common/common_ico_indexList_zoom.png) no-repeat 0 0/cover;
  mix-blend-mode: exclusion;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_indexList[class*=_modal] > .item .image::after {
    right: 17px;
    bottom: 13px;
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_indexList[class*=_modal] > .item .image::after {
    right: 5px;
    bottom: 5px;
    width: 20px;
    height: 20px;
  }
}

@media (min-width: 768px) {
  .m_boxList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 40px 0;
    margin-right: -40px;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > *:last-child {
    margin-bottom: 0 !important;
  }
}
.m_boxList > .item {
  padding: 40px 15px 35px;
  border: 1px solid #D7D9DB;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_boxList > .item {
    margin-right: 40px;
    width: calc((100% - 80px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item {
    margin-bottom: 40px;
  }
}
.m_boxList > .item .body {
  margin-top: 15px;
  text-align: center;
}
.m_boxList > .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_boxList > .item .body .text {
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_boxList > .item .body .text {
    font-size: 1.125rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item .body .text {
    font-size: 1rem;
    line-height: 1.5;
  }
}
.m_boxList > .item .image {
  text-align: center;
}
@media (min-width: 768px) {
  .m_boxList > .item .image {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item .image {
    margin-bottom: 28px;
  }
}
@media screen and (max-width: 767px) {
  .m_boxList > .item .image img {
    width: 200px;
    height: auto;
  }
}
@media (min-width: 768px) {
  .m_boxList[class*=_pcCol3] > .item {
    width: calc((100% - 120px) / 3);
  }
}

.m_historyList > *:last-child {
  margin-bottom: 0 !important;
}
.m_historyList .unit {
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .m_historyList .unit {
    flex-wrap: wrap;
    gap: 80px 55px;
    margin-bottom: 80px;
  }
}
.m_historyList .unit .item {
  width: var(--width);
}
@media (min-width: 768px) {
  .m_historyList .unit .item {
    --pcWidth: 330px;
    --width: var(--pcWidth);
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item {
    --spWidth: 250px;
    --width: var(--spWidth);
  }
}
.m_historyList .unit .item .image {
  margin-bottom: 20px;
  text-align: center;
  max-height: var(--height);
}
@media (min-width: 768px) {
  .m_historyList .unit .item .image {
    --pcHeight: 467px;
    --height: var(--pcHeight);
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .image {
    --spHeight: 354px;
    --height: var(--spHeight);
  }
}
.m_historyList .unit .item .image img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: var(--height);
}
.m_historyList .unit .item .body > *:last-child {
  margin-bottom: 0 !important;
}
.m_historyList .unit .item .body .title {
  margin-bottom: 8px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  word-break: keep-all;
}
@media (min-width: 768px) {
  .m_historyList .unit .item .body .title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .body .title {
    font-size: 1rem;
  }
}
.m_historyList .unit .item .body .title .sub {
  display: block;
}
@media (min-width: 768px) {
  .m_historyList .unit .item .body .title .sub {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .body .title .sub {
    font-size: 0.875rem;
  }
}
.m_historyList .unit .item .body .date {
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  color: #72777D;
  text-align: center;
}
@media (min-width: 768px) {
  .m_historyList .unit .item .body .text {
    margin-top: 20px;
    font-size: 0.9375rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList .unit .item .body .text {
    margin-top: 15px;
    font-size: 0.875rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList[class*=_spScroll] {
    display: flex;
    overflow-x: auto;
    margin-right: -30px;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList[class*=_spScroll] .unit {
    justify-content: unset;
    flex-shrink: 0;
  }
}
@media screen and (max-width: 767px) {
  .m_historyList[class*=_spScroll] .unit .item {
    flex-shrink: 0;
    margin-right: 24px;
  }
}

/* table module
--------------------------------------------------------------------------------------------------- */
.m_table table,
.m_entry .wp-block-table table {
  width: 100%;
  box-sizing: border-box;
  letter-spacing: 0.05em;
}
@media (min-width: 768px) {
  .m_table table,
.m_entry .wp-block-table table {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_table table,
.m_entry .wp-block-table table {
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  .m_table table tbody tr,
.m_entry .wp-block-table table tbody tr {
    border-bottom: 1px solid #D7D9DB;
  }
}
@media (min-width: 768px) {
  .m_table table tbody tr:first-of-type,
.m_entry .wp-block-table table tbody tr:first-of-type {
    border-top: 1px solid #D7D9DB;
  }
}
@media (min-width: 768px) {
  .m_table table tbody tr th,
.m_entry .wp-block-table table tbody tr th {
    width: 250px;
  }
}
@media screen and (max-width: 767px) {
  .m_table table tr,
.m_entry .wp-block-table table tr {
    display: block;
    margin-bottom: 15px;
  }
}
.m_table table tr th, .m_table table tr td,
.m_entry .wp-block-table table tr th,
.m_entry .wp-block-table table tr td {
  box-sizing: border-box;
  text-align: left;
}
@media (min-width: 768px) {
  .m_table table tr th, .m_table table tr td,
.m_entry .wp-block-table table tr th,
.m_entry .wp-block-table table tr td {
    padding: 25px 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_table table tr th, .m_table table tr td,
.m_entry .wp-block-table table tr th,
.m_entry .wp-block-table table tr td {
    display: block;
    padding: 15px 15px;
  }
}
.m_table table tr th,
.m_entry .wp-block-table table tr th {
  background: #F7F7F7;
}

.m_table02 table {
  box-sizing: border-box;
  border: solid currentColor;
  border-width: 0 0 1px 1px;
  width: 100%;
}
.m_table02 table th,
.m_table02 table td {
  border: solid currentColor;
  border-width: 1px 1px 0 0;
}
.m_table02[class*=_fixed] table {
  table-layout: fixed;
}
@media screen and (max-width: 767px) {
  .m_table02 {
    overflow: auto;
  }
  .m_table02 table th {
    white-space: nowrap;
  }
}

/* form module
--------------------------------------------------------------------------------------------------- */
.m_form .alert {
  color: #CC0022;
  text-align: right;
}
@media (min-width: 768px) {
  .m_form .alert {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .alert {
    margin-top: 30px;
  }
}
.m_form .alert .label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.m_form .formText > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_form .formText {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formText {
    margin-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .m_form .formTable {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 0;
    margin: 30px 0 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formTable {
    margin: 20px 0 80px;
  }
}
.m_form .formTable dt {
  font-weight: 700;
}
@media (min-width: 768px) {
  .m_form .formTable dt {
    flex-basis: 230px;
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formTable dt {
    font-size: 0.9375rem;
    line-height: 2;
  }
}
.m_form .formTable dt label {
  display: block;
}
@media screen and (max-width: 767px) {
  .m_form .formTable dt label {
    margin-bottom: 10px;
  }
}
.m_form .formTable dt label .require {
  margin-left: 5px;
  color: #CC0022;
}
.m_form .formTable dt label .require .label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.m_form .formTable dd {
  margin-left: 0;
  font-size: 1rem;
  line-height: 2;
}
.m_form .formTable dd > *:last-child {
  margin-bottom: 0 !important;
}
@media (min-width: 768px) {
  .m_form .formTable dd {
    flex-basis: 570px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .formTable dd {
    margin-bottom: 30px;
  }
}
.m_form .m_input {
  width: 100%;
  font-size: 1rem;
  line-height: 2;
  background: #F7F7F7;
  border: 1px solid #F7F7F7;
  border-radius: 3px;
  box-sizing: border-box;
  outline: none;
}
@media (min-width: 768px) {
  .m_form .m_input {
    padding: 0 30px;
    height: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_input {
    padding: 0 20px;
    height: 60px;
  }
}
.m_form .m_input:focus, .m_form .m_input:focus-visible, .m_form .m_input:-webkit-autofill {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px #FFFFFF inset;
  border-color: #B9BCBE;
}
.m_form .m_input:not(:placeholder-shown) {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px #FFFFFF inset;
  border-color: #B9BCBE;
}
.m_form .m_input.is_error:not(:focus):not(:focus-visible):not(:-webkit-autofill) {
  background: rgba(204, 0, 34, 0.05);
  border-color: transparent;
}
.m_form .m_textarea {
  width: 100%;
  font-size: 1rem;
  line-height: 2;
  background: #F7F7F7;
  border: 1px solid #F7F7F7;
  border-radius: 3px;
  box-sizing: border-box;
  outline: none;
}
@media (min-width: 768px) {
  .m_form .m_textarea {
    padding: 25px 30px;
    height: 300px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_textarea {
    padding: 20px;
    height: 250px;
  }
}
.m_form .m_textarea:focus, .m_form .m_textarea:focus-visible, .m_form .m_textarea:-webkit-autofill {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px white inset;
  border-color: #B9BCBE;
}
.m_form .m_textarea:not(:placeholder-shown) {
  background-color: #FFFFFF;
  box-shadow: 0 0 0 1000px white inset;
  border-color: #B9BCBE;
}
.m_form .m_textarea.is_error:not(:focus):not(:focus-visible):not(:-webkit-autofill) {
  background: rgba(204, 0, 34, 0.05);
  border-color: transparent;
}
.m_form .m_radio {
  margin: 0 5px 2px 0;
  cursor: pointer;
}
@media (min-width: 768px) {
  .m_form .m_radio {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_radio {
    font-size: 0.9375rem;
  }
}
.m_form .m_radio input[type=radio] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.m_form .m_radio input[type=radio] + .radioLabel {
  position: relative;
  display: inline-block;
  padding-left: 45px;
}
.m_form .m_radio input[type=radio] + .radioLabel::before, .m_form .m_radio input[type=radio] + .radioLabel::after {
  position: absolute;
  top: 0;
  bottom: 0;
  content: "";
  margin: auto;
  border-radius: 50%;
  box-sizing: border-box;
}
.m_form .m_radio input[type=radio] + .radioLabel::before {
  left: 10px;
  width: 22px;
  height: 22px;
  background: #FFFFFF;
  border: 1px solid #D7D9DB;
}
.m_form .m_radio input[type=radio] + .radioLabel::after {
  left: 17px;
  opacity: 0;
  width: 8px;
  height: 8px;
  background: #171922;
}
.m_form .m_radio input[type=radio]:focus-visible + .radioLabel::before {
  border-color: #171922;
}
.m_form .m_radio input[type=radio]:checked + .radioLabel::after {
  opacity: 1;
}
.m_form .m_radioList li {
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .m_form .m_buttonBox {
    position: relative;
    margin-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_buttonBox {
    flex-direction: column;
    margin-top: 40px;
  }
}
@media (min-width: 768px) {
  .m_form .m_buttonBox .m_textLink {
    position: absolute;
    top: 3px;
    left: 0;
    margin: 0;
  }
}
.m_form .m_error {
  margin-top: 5px;
  color: #CC0022;
}
@media (min-width: 768px) {
  .m_form .m_error {
    font-size: 1rem;
    line-height: 2;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_error {
    font-size: 0.875rem;
    line-height: 2;
  }
}
.m_form .m_steps {
  display: flex;
  justify-content: center;
  margin: 50px 0;
}
.m_form .m_steps li .number {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  border: 1px solid #D7D9DB;
  border-radius: 50%;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_form .m_steps li .number {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li .number {
    width: 55px;
    height: 55px;
  }
}
.m_form .m_steps li .label {
  display: block;
  margin-top: 10px;
  color: #72777D;
  text-align: center;
}
@media (min-width: 768px) {
  .m_form .m_steps li .label {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li .label {
    font-size: 0.75rem;
  }
}
.m_form .m_steps li[class*=_current] .number {
  color: #FFFFFF;
  background-color: #171922;
  border-color: #171922;
}
.m_form .m_steps li[class*=_current] .label {
  font-weight: 700;
  color: #171922;
}
.m_form .m_steps li:not(:first-of-type) {
  position: relative;
}
@media (min-width: 768px) {
  .m_form .m_steps li:not(:first-of-type) {
    margin-left: 95px;
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li:not(:first-of-type) {
    margin-left: 47px;
  }
}
.m_form .m_steps li:not(:first-of-type)::before {
  position: absolute;
  height: 3px;
  background-size: cover;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_form .m_steps li:not(:first-of-type)::before {
    top: 27px;
    left: -65px;
    width: 35px;
    background-image: url(/images/form/index_dots.png);
  }
}
@media screen and (max-width: 767px) {
  .m_form .m_steps li:not(:first-of-type)::before {
    top: 25px;
    left: -32px;
    width: 17px;
    background-image: url(/images/form/index_dots_@2x.png);
  }
}
.m_form[class*=_confirm] .formText {
  border-bottom: 1px solid #D7D9DB;
}
@media (min-width: 768px) {
  .m_form[class*=_confirm] .formText {
    padding-bottom: 60px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_form[class*=_confirm] .formText {
    padding-bottom: 50px;
    margin-bottom: 60px;
  }
}
@media (min-width: 768px) {
  .m_form[class*=_confirm] .formTable {
    margin-bottom: 80px;
  }
}
@media (min-width: 768px) {
  .m_form[class*=_confirm] .m_buttonBox {
    margin-top: 100px;
  }
}
@media (min-width: 768px) {
  .m_form[class*=_complete] .formText {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_form[class*=_complete] .formText {
    margin-bottom: 60px;
  }
}

/* navigation module
--------------------------------------------------------------------------------------------------- */
.m_button {
  text-align: center;
}
.m_button a,
.m_button button,
.m_button input[type=button],
.m_button input[type=submit],
.m_button input[type=reset],
.m_button span {
  display: inline-block;
  padding: 20px 10px;
  font-weight: 700;
  color: #171922;
  background: #FFFFFF;
  border: 1px solid #D7D9DB;
  border-radius: 3px;
  box-sizing: border-box;
  letter-spacing: 0.05em;
  text-decoration: none;
}
.m_button a.is_disabled, .m_button a[disabled],
.m_button button.is_disabled,
.m_button button[disabled],
.m_button input[type=button].is_disabled,
.m_button input[type=button][disabled],
.m_button input[type=submit].is_disabled,
.m_button input[type=submit][disabled],
.m_button input[type=reset].is_disabled,
.m_button input[type=reset][disabled],
.m_button span.is_disabled,
.m_button span[disabled] {
  background: #cccccc;
  pointer-events: none;
}
@media (min-width: 768px) {
  .m_button a,
.m_button button,
.m_button input[type=button],
.m_button input[type=submit],
.m_button input[type=reset],
.m_button span {
    min-width: 300px;
    transition: background 0.6s ease, border 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_button a,
.m_button button,
.m_button input[type=button],
.m_button input[type=submit],
.m_button input[type=reset],
.m_button span {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 36px);
  }
}
@media (min-width: 768px) {
  .m_button a:hover,
.m_button button:hover,
.m_button input[type=button]:hover,
.m_button input[type=submit]:hover,
.m_button input[type=reset]:hover,
.m_button span:hover {
    color: #FFFFFF;
    background: #AB883C;
    border-color: #AB883C;
  }
}
.m_button span {
  background: #c1c1c1;
}
@media (min-width: 768px) {
  .m_button > li {
    display: inline-block;
    margin: 10px 5px 0;
  }
}
@media screen and (max-width: 767px) {
  .m_button > li:nth-child(n+2) {
    margin-top: 10px;
  }
}

.m_pager {
  display: flex;
  align-items: center;
  margin: auto auto 0;
  text-align: center;
}
@media (min-width: 768px) {
  .m_pager {
    margin-top: 80px;
    width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager {
    position: relative;
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 1px;
    height: 15px;
    background: #E7E8E9;
    display: inline-block;
    content: "";
  }
}
.m_pager > div {
  margin: 0;
  letter-spacing: 0.05em;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .m_pager > div {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div {
    font-size: 0.75rem;
    line-height: 1.5;
  }
}
.m_pager > div.first > a, .m_pager > div.last > a {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  border: 1px solid #D7D9DB;
  border-radius: 50%;
  box-sizing: border-box;
  white-space: nowrap;
}
@media (min-width: 768px) {
  .m_pager > div.first > a, .m_pager > div.last > a {
    width: 50px;
    height: 50px;
    transition: background 0.6s ease, border 0.6s ease;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.first > a, .m_pager > div.last > a {
    width: 40px;
    height: 40px;
  }
}
.m_pager > div.first > a::before, .m_pager > div.last > a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.8);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00b";
  vertical-align: middle;
}
.m_pager > div.first > a > span, .m_pager > div.last > a > span {
  text-indent: 200%;
}
@media (min-width: 768px) {
  .m_pager > div.first > a:hover, .m_pager > div.last > a:hover {
    background: #AB883C;
    border-color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_pager > div.first > a:hover::before, .m_pager > div.last > a:hover::before {
    color: #FFFFFF;
  }
}
.m_pager > div.first.is_disabled, .m_pager > div.last.is_disabled {
  visibility: hidden;
}
@media (min-width: 768px) {
  .m_pager > div.first {
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.first {
    margin-right: 16px;
  }
}
@media (min-width: 768px) {
  .m_pager > div.last {
    margin-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.last {
    margin-left: 16px;
  }
}
@media (min-width: 768px) {
  .m_pager > div.prev > a, .m_pager > div.next > a {
    transition: opacity 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_pager > div.prev > a:hover, .m_pager > div.next > a:hover {
    opacity: 0.5;
  }
}
.m_pager > div.prev.is_disabled, .m_pager > div.next.is_disabled {
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .m_pager > div.prev {
    margin-right: auto;
  }
}
.m_pager > div.prev > a::before {
  margin-right: 5px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .m_pager > div.next {
    margin-left: auto;
  }
}
.m_pager > div.next > a::after {
  margin-left: 5px;
  transform: translateY(-1px);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}
.m_pager > div.first > a {
  transform: scale(-1, 1);
}
.m_pager > div.prev > a::before {
  transform: translateY(-1px) scale(-1, 1);
}
.m_pager > div.page {
  margin: auto;
  font-family: "Lato", "Original Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", sans-serif;
  font-weight: 700;
  color: #B9BCBE;
}
@media (min-width: 768px) {
  .m_pager > div.page {
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .m_pager > div.page {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    font-size: 0.875rem;
    line-height: 1.5;
  }
}
.m_pager > div.page .is_current {
  color: #171922;
}
.m_pager > div.page > span:not([class]) {
  margin: 0 10px;
}

@media (min-width: 768px) {
  .m_anchorNav {
    margin: 80px 20px;
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav {
    margin: 50px 0 60px;
  }
}
.m_anchorNav > li, .m_anchorNav > span {
  position: relative;
  font-weight: 700;
}
.m_anchorNav > li > a, .m_anchorNav > span > a {
  flex-basis: 100%;
  display: block;
  padding-left: 30px;
}
@media (min-width: 768px) {
  .m_anchorNav > li > a, .m_anchorNav > span > a {
    transition: color 0.6s ease;
  }
}
.m_anchorNav > li > a::before, .m_anchorNav > span > a::before {
  position: absolute;
  top: 50%;
  left: 2px;
  z-index: 1;
  transform: translateY(-50%) rotate(90deg) scale(0.65);
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}
@media (min-width: 768px) {
  .m_anchorNav > li > a::before, .m_anchorNav > span > a::before {
    transition: color 0.6s ease;
  }
}
.m_anchorNav > li > a::after, .m_anchorNav > span > a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  background: #FFFFFF;
  border: 1px solid #D7D9DB;
  border-radius: 50%;
  box-sizing: border-box;
  display: inline-block;
  content: "";
}
@media (min-width: 768px) {
  .m_anchorNav > li > a::after, .m_anchorNav > span > a::after {
    transition: background 0.6s ease, border 0.6s ease;
  }
}
@media (min-width: 768px) {
  .m_anchorNav > li > a:hover, .m_anchorNav > span > a:hover {
    color: #AB883C;
  }
}
@media (min-width: 768px) {
  .m_anchorNav > li > a:hover::before, .m_anchorNav > span > a:hover::before {
    color: #FFFFFF;
  }
}
@media (min-width: 768px) {
  .m_anchorNav > li > a:hover::after, .m_anchorNav > span > a:hover::after {
    background: #AB883C;
    border-color: #AB883C;
  }
}
.m_anchorNav[class*=_list] {
  display: flex;
  flex-wrap: wrap;
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_list] {
    justify-content: center;
    gap: 40px;
    margin-top: 120px;
    margin-bottom: 120px;
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_list] {
    gap: 15px 0;
    margin: 100px -25px 100px 0;
  }
}
.m_anchorNav[class*=_list] > li {
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_list] > li {
    display: flex;
    align-items: center;
    margin: 0 25px 0 0;
    width: calc(50% - 25px);
    border-bottom: 1px solid #E7E8E9;
  }
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_list] > li:not(:first-of-type) {
    position: relative;
    margin-left: 40px;
  }
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_list] > li:not(:first-of-type)::before {
    position: absolute;
    top: 0;
    left: -40px;
    width: 1px;
    height: 20px;
    background: #E7E8E9;
    transform: translateY(2px);
    display: inline-block;
    content: "";
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_list] > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.m_anchorNav[class*=_border] {
  border-top: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_anchorNav[class*=_border] {
    padding-top: 80px;
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_anchorNav[class*=_border] {
    padding-top: 60px;
    margin-top: 50px;
  }
}

@media screen and (max-width: 767px) {
  .m_tabs {
    margin-left: -30px;
    margin-right: -30px;
  }
}
.m_tabs > ul {
  display: flex;
  margin-top: 0;
  margin-bottom: 0;
  background: #FFFFFF;
  border-bottom: 1px solid #E7E8E9;
}
@media (min-width: 768px) {
  .m_tabs > ul {
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul {
    overflow-x: auto;
    padding-left: 30px;
    padding-right: 30px;
  }
}
.m_tabs > ul > li {
  position: relative;
  padding: 8px 0;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 768px) {
  .m_tabs > ul > li {
    padding-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul > li {
    flex-shrink: 0;
    padding-top: 60px;
  }
}
@media (min-width: 768px) {
  .m_tabs > ul > li:not(:first-of-type) {
    margin-left: 70px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul > li:not(:first-of-type) {
    margin-left: 25px;
  }
}
.m_tabs > ul > li.is_current::after, .m_tabs > ul > li:hover::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  width: 100%;
  height: 1px;
  background: #E23819;
}
.m_tabs > ul > li.is_current .illust .current {
  opacity: 1;
}
@media (min-width: 768px) {
  .m_tabs > ul > li:hover .illust .current {
    opacity: 1;
  }
}
.m_tabs > ul > li .illust {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: auto;
  margin-right: auto;
  transform: translateX(-50%);
}
@media (min-width: 768px) {
  .m_tabs > ul > li .illust img {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs > ul > li .illust img {
    width: 70px;
  }
}
.m_tabs > ul > li .illust .current {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  transition: opacity 0.6s ease;
}
.m_tabs > ul > li > a > *:last-child {
  margin-bottom: 0 !important;
}
.m_tabs > ul > li > a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.m_tabs.is_fixed > ul {
  position: fixed;
  z-index: 10;
  left: 0;
  right: 0;
  padding-top: 10px;
}
@media (min-width: 768px) {
  .m_tabs.is_fixed > ul {
    top: 73px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs.is_fixed > ul {
    top: 55px;
  }
}
@media (min-width: 768px) {
  .m_tabs.is_fixed > ul > li {
    padding-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs.is_fixed > ul > li {
    padding-top: 50px;
  }
}
@media (min-width: 768px) {
  .m_tabs.is_fixed > ul > li .illust img {
    width: 78px;
  }
}
@media screen and (max-width: 767px) {
  .m_tabs.is_fixed > ul > li .illust img {
    width: 60px;
  }
}

.m_entry .wp-block-file a:not([class]) {
  font-size: 1rem;
}
.m_entry .wp-block-file a.wp-block-file__button {
  text-decoration: none;
}
.m_entry .wp-block-file .wp-block-file__button {
  color: #fff;
}

/* inline module
--------------------------------------------------------------------------------------------------- */
.m_br[class*=_before]::before,
.m_br::after {
  content: "\a";
  white-space: pre;
}

.m_br[class*=_before]::after {
  content: none;
}

@media (min-width: 768px) {
  .m_pcHide {
    display: none !important;
  }
  .m_pcbr[class*=_before]::before,
.m_pcbr::after {
    content: "\a";
    white-space: pre;
  }
  .m_pcbr[class*=_before]::after {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  .m_spHide {
    display: none !important;
  }
  .m_spbr[class*=_before]::before,
.m_spbr::after {
    content: "\a";
    white-space: pre;
  }
  .m_spbr[class*=_before]::after {
    content: none;
  }
}
/* modifier module
--------------------------------------------------------------------------------------------------- */
/* text align */
[class*=_alignLeft] {
  text-align: left !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignLeft] {
    text-align: left !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignLeft] {
    text-align: left !important;
  }
}
[class*=_alignCenter] {
  text-align: center !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignCenter] {
    text-align: center !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignCenter] {
    text-align: center !important;
  }
}
[class*=_alignRight] {
  text-align: right !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignRight] {
    text-align: right !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignRight] {
    text-align: right !important;
  }
}
[class*=_alignTop] {
  vertical-align: top !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignTop] {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignTop] {
    vertical-align: top !important;
  }
}
[class*=_alignMiddle] {
  vertical-align: middle !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignMiddle] {
    vertical-align: middle !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignMiddle] {
    vertical-align: middle !important;
  }
}
[class*=_alignBottom] {
  vertical-align: bottom !important;
}

@media (min-width: 768px) {
  [class*=_pcAlignBottom] {
    vertical-align: bottom !important;
  }
}
@media screen and (max-width: 767px) {
  [class*=_spAlignBottom] {
    vertical-align: bottom !important;
  }
}
/* font style */
[class*=_fontBold] {
  font-weight: 700;
}

[class*=_fontItalic] {
  font-style: italic;
}

[class*=_fontNormal] {
  font-weight: 400 !important;
  font-style: normal !important;
}

/* fontColor */
[class*=_colorType01] {
  color: #171922;
}

[class*=_colorType02] {
  color: #72777D;
}

[class*=_colorType03] {
  color: #B9BCBE;
}

[class*=_colorType04] {
  color: #D7D9DB;
}

[class*=_colorType05] {
  color: #E7E8E9;
}

[class*=_colorType06] {
  color: #F7F7F7;
}

[class*=_colorType07] {
  color: #1D2D45;
}

[class*=_colorType08] {
  color: #AB883C;
}

[class*=_colorType09] {
  color: #966F0B;
}

[class*=_colorType10] {
  color: #CC0022;
}

[class*=_colorType11] {
  color: #B9BCBE;
}

[class*=_colorType12] {
  color: #FFFFFF;
}

/* block width */
/* ※※ module
--------------------------------------------------------------------------------------------------- */
:root {
  --whiteColor: #ffffff;
  --baseColor: #171922;
  --blackColor: #000000;
  --contentWidth: 1200px;
  --enFont: "EB Garamond", serif;
  --transitionOption: .6s ease 0s;
}

html.is_fixed {
  overflow: hidden;
}

body {
  font-family: "EB Garamond", "Shippori Mincho", serif;
  font-weight: 400;
  font-feature-settings: "palt" 1;
}
body.is_fixed {
  overflow: hidden;
}
@media (min-width: 768px) {
  body {
    font-size: 1rem;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

button,
input {
  font-family: "EB Garamond", "Shippori Mincho", serif;
}

a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 2px;
}
@media (min-width: 768px) {
  a[href*="tel:"] {
    cursor: text;
    text-decoration: none;
    pointer-events: none;
    color: #171922;
  }
  a[href*="tel:"] img {
    cursor: default;
  }
}
@media screen and (max-width: 767px) {
  a[href*="tel:"] {
    text-decoration: underline;
  }
}

hr {
  display: block;
  width: 100%;
  height: 1px;
  border-width: 0;
  background-size: 6px 1px;
  background-image: linear-gradient(to right, #B9BCBE, #B9BCBE 2px, transparent 2px, transparent 6px);
}
@media (min-width: 768px) {
  hr {
    margin: 25px 0;
  }
}
@media screen and (max-width: 767px) {
  hr {
    margin: 20px 0;
  }
}

#document {
  overflow: hidden;
  background: transparent;
  color: var(--baseColor);
}
#document.index {
  background: var(--baseColor);
  color: var(--whiteColor);
}
@media screen and (max-width: 767px) {
  #document {
    min-width: 320px;
  }
}

#header {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  transition: top var(--transitionOption);
  z-index: 1000;
}
#header .logoImg {
  margin: 0;
}
#header .logoImg a {
  display: block;
  color: currentColor;
}
#header .logoImg a svg {
  display: block;
}
#header .logoImg a .logo {
  fill: currentColor;
}
#header.is_float, #header.is_float.is_hide {
  top: -160px;
}
#header.is_float.is_visible {
  position: fixed;
  top: 0;
}
#header.is_open #gnav .menu {
  color: var(--whiteColor);
}
#header.is_open #gnav .menu:before {
  opacity: 0;
}
#header.is_open #gnav .menu button::before {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
#header.is_open #gnav .menu button::after {
  top: 50%;
  bottom: auto;
  transform: translate(-50%, -50%) rotate(-45deg);
}
#header.is_open #gnav .menu + .inner {
  opacity: 1;
  pointer-events: all;
}
@media (min-width: 768px) {
  #header {
    display: grid;
    align-items: start;
    min-width: 1000px;
  }
  #header .logoImg {
    padding: 19px 0 0 29px;
    width: 173px;
    grid-column: 1;
    grid-row: 2 span;
  }
  #header.is_float.is_visible {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) calc(100% - 50px), rgba(255, 255, 255, 0) 100%);
  }
  #document.index #header.is_float.is_visible {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) calc(100% - 50px), rgba(0, 0, 0, 0) 100%);
  }
}
@media screen and (max-width: 767px) {
  #header .logoImg {
    padding: 18px 0 0 21px;
    width: 104px;
  }
  #header.is_float.is_visible {
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) calc(100% - 40px), rgba(255, 255, 255, 0) 100%);
  }
  #document.index #header.is_float.is_visible {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) calc(100% - 40px), rgba(0, 0, 0, 0) 100%);
  }
}

#gnav a {
  color: currentColor;
  text-decoration: none;
}
#gnav .primary,
#gnav .ginza {
  margin: 0;
}
#gnav .ginza a::before {
  margin-right: 8px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e005";
  font-size: 14px;
  line-height: 14px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  #gnav {
    grid-column: 2;
    justify-self: end;
    padding: 15px 50px 0 0;
  }
  #gnav .menu,
#gnav .unav,
#gnav .ticketLink {
    display: none;
  }
  #gnav .inner {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 10px;
  }
  #gnav .primary {
    grid-row: 2;
    display: flex;
    align-items: center;
    gap: 24px;
    font-size: 0.9375rem;
  }
  #gnav .ginza {
    grid-row: 1;
    font-size: 0.75rem;
    justify-self: end;
    letter-spacing: 2%;
  }
}
@media screen and (max-width: 767px) {
  #gnav {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1000;
  }
  #gnav .menu {
    position: absolute;
    top: 11px;
    right: 17px;
    width: 33px;
    height: 33px;
    mix-blend-mode: difference;
    z-index: 100;
  }
  #gnav .menu::before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    border-top: 1px solid currentColor;
    width: 22px;
    transform: translate(-50%, -50%);
    transition: opacity var(--transitionOption);
  }
  #gnav .menu button {
    overflow: hidden;
    position: relative;
    display: block;
    width: 33px;
    height: 33px;
    color: currentColor;
    text-indent: 120%;
    white-space: nowrap;
  }
  #gnav .menu button::before, #gnav .menu button::after {
    position: absolute;
    left: 50%;
    content: "";
    display: block;
    border-top: 1px solid currentColor;
    width: 22px;
    transform: translate(-50%, -50%) rotate(0deg);
    transform-origin: center;
    transition: transform var(--transitionOption), top var(--transitionOption);
  }
  #gnav .menu button::before {
    top: 9px;
  }
  #gnav .menu button::after {
    top: 25px;
  }
  #gnav .inner {
    overflow: auto;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    box-sizing: border-box;
    text-align: center;
    padding: 130px 20px;
    height: 100dvh;
    background: #171922;
    pointer-events: none;
    opacity: 0;
  }
  #gnav .inner::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    z-index: 0;
    width: 257px;
    height: 297px;
    filter: blur(204px);
    background-color: #2e3246;
  }
  #gnav .inner a {
    color: var(--whiteColor);
  }
  #gnav .primary {
    position: relative;
    display: grid;
    grid-column: 1fr;
    gap: 16px;
    margin: 0;
    font-size: 0.9375rem;
  }
  #gnav .unav {
    position: relative;
    display: grid;
    grid-column: 1fr;
    margin: 50px 0 0;
    font-size: 0.8125rem;
    gap: 20px;
  }
  #gnav .ginza {
    margin: 40px 0 0;
  }
  html.is_run #gnav .inner {
    transition: opacity var(--transitionOption);
  }
}

#container {
  margin: auto;
}
@media (min-width: 768px) {
  #container {
    padding-top: 190px;
    width: var(--contentWidth);
  }
  #document.index #container {
    padding: 0;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  #container {
    padding: 150px 30px 0;
  }
  #document.index #container {
    padding: 0;
  }
}

#footer {
  background: var(--baseColor);
  color: var(--whiteColor);
}
#footer a {
  color: currentColor;
  text-decoration: none;
}
#footer .logoImg {
  margin: auto;
  width: 228px;
}
#footer .logoImg svg {
  display: block;
}
#footer .logoImg .logo {
  fill: currentColor;
}
#footer .nav {
  border: solid rgba(255, 255, 255, 0.3);
  border-width: 1px 0;
}
#footer .nav .unav {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 24px;
  margin: 0;
  font-size: 0.8125rem;
}
#footer .copyright {
  font-family: "Poppins", sans-serif;
  font-weight: 300;
}
@media (min-width: 768px) {
  #footer {
    padding: 120px 0;
  }
  #footer .inner {
    display: grid;
    margin: auto;
    width: 1096px;
  }
  #footer .logoImg {
    grid-column: 2 span;
    grid-row: 1;
  }
  #footer .nav {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-column: span 2;
    grid-row: 2;
    margin-top: 27px;
    padding: 50px 0 48px 9px;
  }
  #footer .nav .primary {
    display: flex;
    grid-column: 1;
    align-items: center;
    gap: 24px;
    margin: 0;
    font-size: 0.9375rem;
  }
  #footer .nav .unav {
    grid-column: 2;
  }
  #footer .nav .note {
    grid-column: 2;
    justify-self: end;
    margin: 8px 0 0;
    font-size: 0.625rem;
  }
  #footer .sponsor {
    display: flex;
    grid-column: 1;
    grid-row: 3;
    align-items: center;
    gap: 58px;
    margin: 26px 0 0 9px;
  }
  #footer .copyright {
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
    margin: 50px 0 0;
    font-size: 0.6875rem;
    letter-spacing: 0.14em;
  }
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 48px 20px 90px;
    background: var(--baseColor);
    text-align: center;
  }
  #footer .logoImg {
    width: 228px;
  }
  #footer .nav {
    margin: 40px 0 0;
    padding: 21px 0 18px;
  }
  #footer .nav .primary {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
    font-size: 0.875rem;
  }
  #footer .nav .unav {
    justify-content: center;
  }
  #footer .nav .note {
    margin: 8px 0 0;
    font-size: 0.5625rem;
  }
  #footer .sponsor {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 18px auto 0;
    max-width: 375px;
    font-size: 0.875rem;
  }
  #footer .sponsor img {
    width: 181px;
    height: auto;
  }
  #footer .copyright {
    margin: 40px 0 0;
    font-size: 0.625rem;
  }
  #document.index #footer {
    background: url(/images/exhibition_nagoya/footer_bg.png) no-repeat 50% 100%/cover;
  }
}

.enHeading {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.01em;
}
.enHeading[data-en-label]::after {
  display: block;
  content: attr(data-en-label)/"";
  speak: none;
}
.enHeading .enLabel {
  display: block;
  speak: none;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .enHeading:after,
.enHeading .enLabel {
    margin-top: 21px;
    font-size: 2.75rem;
  }
}
@media screen and (max-width: 767px) {
  .enHeading:after {
    margin-top: 13px;
    font-size: 2rem;
  }
  .enHeading .enLabel {
    margin-top: 8px;
    font-size: 2rem;
  }
}

.ticketLink {
  margin: 50px auto 0;
  min-width: 310px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 4px;
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  box-shadow: inset 0 0 14px 0 rgba(255, 255, 255, 0.25);
  background-color: rgba(255, 255, 255, 0.15);
  font-size: 0.9375rem;
}
.ticketLink a {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 19px;
  padding: 9px 30px;
  border-radius: 4px;
  height: 60px;
  color: #ffffff;
  text-decoration: none;
}
.ticketLink a::before {
  height: 100%;
  content: "";
  border-left: 1px dashed currentColor;
}
.ticketLink a::after {
  order: -1;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00e";
  font-size: 24px;
  line-height: 24px;
  vertical-align: middle;
}
.ticketLink a {
  transition: color var(--transitionOption), background-color var(--transitionOption);
}
.ticketLink a:hover {
  color: #171922 !important;
  background-color: #ffffff;
}
.ticketLink a[data-disabled] {
  color: #848484 !important;
  pointer-events: none !important;
}
.moreButton {
  text-align: center;
}
.moreButton button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--whiteColor);
  cursor: pointer;
}
.moreButton button::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e003";
  vertical-align: middle;
  margin-left: 10px;
}
@media (min-width: 768px) {
  .moreButton button {
    width: 294px;
    height: 56px;
    font-size: 1.25rem;
  }
  .moreButton button::after {
    font-size: 24px;
    transform: translateY(1px);
  }
}
@media screen and (max-width: 767px) {
  .moreButton button {
    width: 257px;
    height: 44px;
    font-size: 0.9375rem;
  }
  .moreButton button::after {
    font-size: 12px;
    transform: translateY(2px);
  }
}

@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.js_anim.is_ready {
  transform: translateY(100px);
  opacity: 0;
}
.js_anim.is_anim {
  transition: transform 1s ease 0s, opacity 1s ease 0s;
}

.a_mainvisual {
  position: relative;
  box-sizing: border-box;
  z-index: 0;
  text-align: center;
}
.a_mainvisual .title {
  margin: auto;
}
.a_mainvisual .title .b {
  fill: var(--whiteColor);
}
.a_mainvisual .periodBox {
  position: absolute;
  right: 0;
  z-index: 10;
  text-align: center;
}
.a_mainvisual .periodBox::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  box-shadow: inset 0 0 14px 0 rgba(255, 255, 255, 0.25);
  background-color: rgba(255, 255, 255, 0.15);
}
.a_mainvisual .periodBox .holdingPeriod .span::before,
.a_mainvisual .periodBox .businessHours .span::before {
  content: "～";
  speak: none;
}
.a_mainvisual .periodBox .holdingPeriod .span > span,
.a_mainvisual .periodBox .businessHours .span > span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.a_mainvisual .periodBox .holdingPeriod {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 6px;
  line-height: 1;
}
.a_mainvisual .periodBox .holdingPeriod .place {
  letter-spacing: 0.1em;
}
.a_mainvisual .periodBox .holdingPeriod .period {
  display: flex;
  align-items: baseline;
  letter-spacing: 0.06em;
}
.a_mainvisual .periodBox .holdingPeriod .span {
  overflow: hidden;
  align-self: center;
  border-top: 1px solid currentColor;
  height: 0;
}
.a_mainvisual .periodBox .holdingPeriod .days {
  writing-mode: vertical-rl;
  letter-spacing: 0;
}
.a_mainvisual .periodBox .businessHours {
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.045em;
}
.a_mainvisual .periodBox .businessHours .span {
  overflow: hidden;
  align-self: center;
  height: 0;
  border-top: 1px solid currentColor;
}
.a_mainvisual .periodBox .place {
  margin: 0;
}
.a_mainvisual .bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.a_mainvisual .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .a_mainvisual {
    padding: max(29.1666666667vw, 420px) 0 max(1.6666666667vw, 24px);
    min-height: 800px;
  }
  .a_mainvisual .title {
    max-width: 971px;
    padding-inline: 20px;
  }
  .a_mainvisual .title img {
    width: 100%;
    height: auto;
  }
  .a_mainvisual .ticketLink {
    margin: 34px auto 0;
  }
  .a_mainvisual .note {
    margin: 10px 0 0;
    font-size: 0.875rem;
  }
  .a_mainvisual .periodBox {
    top: 116px;
    padding: 20px 40px 18px;
  }
  .a_mainvisual .periodBox .place {
    font-size: 1.375rem;
  }
  .a_mainvisual .periodBox .place span {
    font-size: 1.125rem;
  }
  .a_mainvisual .periodBox .holdingPeriod {
    margin: 6px 0 0;
  }
  .a_mainvisual .periodBox .holdingPeriod .period {
    font-size: 3.125rem;
  }
  .a_mainvisual .periodBox .holdingPeriod .span {
    width: 21px;
  }
  .a_mainvisual .periodBox .holdingPeriod .days {
    font-size: 0.625rem;
    margin-block-end: 10px;
  }
  .a_mainvisual .periodBox .businessHours {
    gap: 8px;
    margin: -7px 0 0;
    font-size: 1.3125rem;
  }
  .a_mainvisual .periodBox .businessHours .span {
    width: 11px;
  }
}
@media screen and (max-width: 767px) {
  .a_mainvisual {
    padding: max(111.4666666667vw, 418px) 0 max(10.4vw, 39px);
    min-height: 680px;
  }
  .a_mainvisual .title {
    width: min(100%, 375px);
  }
  .a_mainvisual .ticketLink {
    margin: 28px auto 0;
  }
  .a_mainvisual .note {
    margin: 8px 0 0;
    font-size: 0.75rem;
  }
  .a_mainvisual .periodBox {
    top: 60px;
    padding: 13px 21px 10px;
  }
  .a_mainvisual .periodBox .place {
    font-size: 0.8125rem;
  }
  .a_mainvisual .periodBox .place span {
    font-size: 0.6875rem;
  }
  .a_mainvisual .periodBox .holdingPeriod {
    margin: 1px 0 0;
  }
  .a_mainvisual .periodBox .holdingPeriod .period {
    font-size: 1.625rem;
  }
  .a_mainvisual .periodBox .holdingPeriod .span {
    width: 11px;
  }
  .a_mainvisual .periodBox .holdingPeriod .days {
    font-size: 0.375rem;
    margin-block-end: 5px;
  }
  .a_mainvisual .periodBox .businessHours {
    gap: 4px;
    margin: -4px 0 0;
    font-size: 0.6875rem;
  }
  .a_mainvisual .periodBox .businessHours .span {
    width: 6px;
  }
}

.a_news {
  position: relative;
  z-index: 0;
}
.a_news::before {
  position: absolute;
  content: "";
  filter: blur(194px);
  background-color: #2e3246;
  z-index: -1;
  will-change: filter;
}
.a_news .newsList {
  display: grid;
  grid-column: 2;
  margin: 0;
  color: var(--contentWidth);
}
.a_news .newsList a {
  color: var(--whiteColor);
  text-decoration: none;
}
.a_news .newsList > li {
  position: relative;
  grid-column: 2 span;
  display: grid;
  grid-template-columns: subgrid;
  grid-template-rows: auto 1fr;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}
.a_news .newsList .image {
  grid-column: 1;
  grid-row: 2 span;
  align-self: start;
}
.a_news .newsList .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.a_news .newsList .update {
  grid-column: 2;
  grid-row: 1;
  font-size: 0.8125rem;
}
.a_news .newsList .title {
  grid-column: 2;
  grid-row: 2;
  font-size: 0.9375rem;
}
.a_news .newsList .title a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 0;
}
html.is_run .a_news .newsList {
  overflow: hidden;
  transition: transform 1s ease 0s, opacity 1s ease 0s, height var(--transitionOption);
  will-change: transform, opacity, height;
  -webkit-perspective: 1000;
  -webkit-backface-visibility: hidden;
}
@media (min-width: 768px) {
  .a_news {
    padding: 138px 0 0;
  }
  .a_news::before {
    top: 91px;
    left: 50%;
    width: 493px;
    height: 493px;
    transform: translateX(-770px);
  }
  .a_news .inner {
    display: grid;
    grid-template-columns: auto 1fr;
    margin: auto;
    width: var(--contentWidth);
    gap: 0 96px;
  }
  .a_news .enHeading {
    grid-column: 1;
  }
  .a_news .newsList {
    grid-template-columns: 174px 1fr;
    gap: 40px;
  }
  .a_news .newsList > li {
    padding-bottom: 20px;
  }
  .a_news .newsList .image {
    height: 116px;
  }
  .a_news .newsList .update {
    margin: -4px 0 0;
  }
  .a_news .newsList .title {
    margin: 10px 0 0;
  }
  .a_news .moreButton {
    grid-column: 2;
    margin: 40px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .a_news {
    padding: 58px 20px 0;
  }
  .a_news::before {
    top: 3px;
    left: -75px;
    width: 343px;
    height: 343px;
  }
  .a_news .newsList {
    grid-template-columns: 26.6666666667vw 1fr;
    gap: 20px;
    margin: 43px 0 0;
  }
  .a_news .newsList > li {
    padding-bottom: 18px;
  }
  .a_news .newsList .image {
    height: 17.6vw;
  }
  .a_news .newsList .update {
    margin: -4px 0 0;
  }
  .a_news .newsList .title {
    margin: 10px 0 0;
    line-height: 1.54;
  }
  .a_news .moreButton {
    margin: 20px 0 0;
  }
}

.a_about {
  position: relative;
  z-index: 0;
}
.a_about::before {
  position: absolute;
  content: "";
  filter: blur(194px);
  background-color: #2e3246;
  z-index: -1;
  will-change: filter;
}
.a_about .images {
  margin: 0;
}
.a_about .subHeading {
  font-weight: 400;
  font-family: "EB Garamond", serif;
}
.a_about .images > li img {
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .a_about {
    padding: 140px 0 0;
  }
  .a_about::before {
    top: 332px;
    left: 50%;
    width: 493px;
    height: 493px;
    transform: translateX(265px);
  }
  .a_about .inner {
    display: grid;
    grid-template-columns: 1fr 222px 359px;
    grid-template-rows: auto auto 1fr;
    margin: auto;
    width: var(--contentWidth);
    gap: 0 44px;
  }
  .a_about .enHeading {
    grid-column: 1/3;
    grid-row: 1;
  }
  .a_about .subHeading {
    grid-column: 1/3;
    grid-row: 2;
    margin: 95px 0 0;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
  }
  .a_about .text {
    grid-column: 1/2;
    grid-row: 3;
    margin: 39px 0 0;
    font-size: 1rem;
    line-height: 2.375;
  }
  .a_about .images {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 2/4;
    grid-row: 1/4;
  }
  .a_about .images > li:nth-of-type(1) {
    grid-column: 1;
    margin-top: 334px;
  }
  .a_about .images > li:nth-of-type(2) {
    grid-column: 2;
    margin-top: 42px;
  }
}
@media screen and (max-width: 767px) {
  .a_about {
    padding: 80px 0 90px;
    text-align: center;
  }
  .a_about::before {
    top: 53px;
    right: 0;
    left: 0;
    margin: auto;
    width: 274px;
    height: 274px;
  }
  .a_about .inner {
    padding: 0 20px;
  }
  .a_about .subHeading {
    margin: 44px 0 0;
    font-size: 1.375rem;
    line-height: 1.3636363636;
    letter-spacing: 0.05em;
  }
  .a_about .text {
    position: relative;
    margin: 28px 0 0;
    font-size: 0.9375rem;
    line-height: 2.4;
    z-index: 1;
  }
  .a_about .images {
    position: relative;
    display: flex;
    margin: 50px -20px 0;
    justify-content: space-between;
    z-index: 0;
  }
  .a_about .images::before {
    position: absolute;
    top: -98px;
    right: -73px;
    width: 372px;
    height: 372px;
    content: "";
    filter: blur(174px);
    background-color: #2e3246;
    z-index: -1;
  }
  .a_about .images > li:nth-of-type(1) {
    margin: 85px 0 0;
    width: 34.4vw;
    order: 2;
  }
  .a_about .images > li:nth-of-type(2) {
    width: 58.9333333333vw;
    order: 1;
  }
}

.a_instagram {
  position: relative;
  z-index: 0;
}
.a_instagram::before {
  position: absolute;
  content: "";
  filter: blur(194px);
  background-color: #2e3246;
  z-index: -1;
  will-change: filter;
}
.a_instagram .heading {
  font-family: "EB Garamond", serif;
  text-align: center;
  font-weight: 400;
}
.a_instagram .social {
  display: flex;
  align-items: center;
  margin: auto;
  width: -moz-fit-content;
  width: fit-content;
  gap: 13px;
}
.a_instagram .social > li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  color: var(--whiteColor);
  text-decoration: none;
}
.a_instagram .social > li a::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  line-height: 32px;
}
.a_instagram .social > li a > span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.a_instagram .social > .x a::before {
  content: "\e011";
  font-size: 20px;
  line-height: 20px;
}
.a_instagram .social > .instagram a::before {
  content: "\e008";
  font-size: 24px;
  line-height: 24px;
}
.a_instagram .social > .tiktok a::before {
  content: "\e00f";
  font-size: 21px;
  line-height: 21px;
}
.a_instagram .social > .facebook a::before {
  content: "\e007";
  font-size: 32px;
  line-height: 32px;
}
@media (min-width: 768px) {
  .a_instagram {
    margin: 140px auto 0;
    width: var(--contentWidth);
  }
  .a_instagram::before {
    bottom: -176px;
    left: 50%;
    width: 493px;
    height: 493px;
    transform: translateX(360px);
  }
  .a_instagram .heading {
    font-size: 2.75rem;
  }
  .a_instagram .widget {
    margin: 80px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .a_instagram {
    padding: 0 20px;
  }
  .a_instagram .heading {
    font-size: 2rem;
  }
  .a_instagram .widget {
    margin: 50px 0 0;
  }
  .a_instagram .social {
    margin: 40px auto 0;
  }
}

.a_price {
  position: relative;
  z-index: 0;
}
.a_price::before {
  position: absolute;
  content: "";
  filter: blur(194px);
  background-color: #2e3246;
  z-index: -1;
}
.a_price .enHeading {
  text-align: center;
}
.a_price .priceList {
  display: grid;
}
.a_price .priceList > li {
  box-sizing: border-box;
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  box-shadow: inset 0 0 14px 0 rgba(255, 255, 255, 0.25);
  background-color: rgba(31, 20, 48, 0.6);
}
.a_price .priceList .label {
  border: solid var(--whiteColor);
  border-width: 1px 0;
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.a_price .priceList .subList {
  display: grid;
  grid-template-columns: 1fr auto;
  align-self: start;
  margin: 0;
}
.a_price .priceList .subList > div {
  display: grid;
  grid-column: 1/3;
  grid-template-columns: subgrid;
  align-items: center;
}
.a_price .priceList .subList > div:has(dt:nth-of-type(2)) dd {
  grid-row: 1/3;
}
.a_price .priceList .subList .itemName,
.a_price .priceList .subList .note {
  font-family: "Shippori Mincho", serif;
}
.a_price .priceList .subList .itemName {
  grid-column: 1;
}
.a_price .priceList .subList .price {
  grid-column: 2;
  margin: 0;
}
.a_price .businessHourList {
  display: grid;
  line-height: 1.3;
}
.a_price .businessHourList > div {
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  box-shadow: inset 0 0 14px 0 rgba(255, 255, 255, 0.25);
  background-color: rgba(31, 20, 48, 0.6);
}
.a_price .businessHourList dd {
  margin: 0;
}
.a_price .note {
  display: block;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.a_price .note::before {
  content: "※ ";
}
@media (min-width: 768px) {
  .a_price {
    margin: 0 0 116px;
    padding: 137px 0 0;
  }
  .a_price::before {
    top: 130px;
    left: 50%;
    width: 493px;
    height: 493px;
    transform: translateX(-787px);
  }
  .a_price .priceList {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: min-content 1fr;
    gap: 0 40px;
    width: var(--contentWidth);
    margin: 74px auto 80px;
  }
  .a_price .priceList > li {
    padding: 50px 20px 46px;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1/3;
  }
  .a_price .priceList .label {
    display: grid;
    align-items: center;
    height: 100%;
    padding: 8px 0;
    font-size: 1.75rem;
  }
  .a_price .priceList .label .sub {
    font-size: 1.25rem;
  }
  .a_price .priceList .subList {
    gap: 29px 0;
    margin: 32px 0 0;
    width: 100%;
    line-height: 1.6;
  }
  .a_price .priceList .subList > div {
    gap: 29px 0;
  }
  .a_price .priceList .subList .itemName {
    font-size: 1.25rem;
  }
  .a_price .priceList .subList .itemName .note {
    font-size: 0.75rem;
  }
  .a_price .priceList .subList .price {
    font-size: 1.625rem;
  }
  .a_price .priceList .subList .price .tax,
.a_price .priceList .subList .price .note {
    font-size: 0.75rem;
  }
  .a_price .priceList .text {
    margin: 32px 0 0;
    font-size: 1.3125rem;
  }
  .a_price .businessHourList {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin: 74px auto 0;
    width: var(--contentWidth);
  }
  .a_price .businessHourList > div {
    display: grid;
    grid-template-columns: 1fr 260px;
    box-sizing: border-box;
    align-items: center;
    padding: 44px 63px;
  }
  .a_price .businessHourList .label {
    grid-column: 1;
    justify-self: start;
    font-size: 1.375rem;
  }
  .a_price .businessHourList .data {
    grid-column: 2;
    justify-self: end;
    font-size: 1.625rem;
  }
  .a_price .businessHourList .text {
    grid-column: 2;
    justify-self: end;
    font-size: 1rem;
  }
  .a_price .businessHourList .note {
    font-size: 0.75rem;
  }
}
@media screen and (max-width: 767px) {
  .a_price {
    padding: 90px 20px;
  }
  .a_price .priceList {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 43px 0 76px;
  }
  .a_price .priceList > li {
    padding: 30px 18px 27px;
  }
  .a_price .priceList .label {
    display: block;
    padding: 10px 0;
    font-size: 1.25rem;
  }
  .a_price .priceList .subList {
    gap: 25px 0;
    margin: 29px 0 0;
    line-height: 1.6;
  }
  .a_price .priceList .subList > div {
    gap: 25px 0;
  }
  .a_price .priceList .subList .itemName {
    font-size: 1rem;
  }
  .a_price .priceList .subList .itemName .note {
    margin-top: 2px;
    font-size: 0.625rem;
  }
  .a_price .priceList .subList .price {
    font-size: 1.4375rem;
  }
  .a_price .priceList .subList .price .tax,
.a_price .priceList .subList .price .note {
    font-size: 0.625rem;
  }
  .a_price .priceList .text {
    margin: 29px 0 0;
    font-size: 1rem;
    text-align: center;
  }
  .a_price .businessHourList {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 44px 0 0;
    text-align: center;
  }
  .a_price .businessHourList > div {
    padding: 16px 20px;
  }
  .a_price .businessHourList .label,
.a_price .businessHourList .data,
.a_price .businessHourList .text {
    font-size: 1rem;
  }
  .a_price .businessHourList .data,
.a_price .businessHourList .text {
    margin-top: 10px;
  }
  .a_price .businessHourList .note {
    font-size: 0.625rem;
  }
}

.a_access .enHeading {
  text-align: center;
}
.a_access .map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.a_access .address {
  display: grid;
  margin: 0;
  font-family: "Shippori Mincho", serif;
}
.a_access .address .label {
  vertical-align: middle;
}
.a_access .address .label::after {
  content: ":";
  speak: none;
}
.a_access .how .heading {
  border: solid var(--whiteColor);
  border-width: 1px 0;
  font-weight: 400;
}
.a_access .how .heading::before {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e010";
  font-size: 20px;
  line-height: 20px;
  vertical-align: middle;
  margin-right: 10px;
}
.a_access .how .list {
  margin: 0;
}
.a_access .how .list > li {
  position: relative;
  padding-left: 1em;
}
.a_access .how .list > li::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 2px;
  margin: auto;
  border-radius: 50%;
  width: 4px;
  height: 4px;
  content: "";
  background-color: var(--whiteColor);
}
.a_access .parallax {
  overflow: hidden;
  position: relative;
  text-align: center;
}
.a_access .parallax .text {
  position: absolute;
  left: 0;
  z-index: 10;
  display: flex;
}
.a_access .parallax .text .b {
  fill: var(--whiteColor);
}
.a_access .parallax .text svg {
  animation: loop 15s linear infinite;
}
.a_access .parallax .images {
  margin: 0;
}
.a_access .parallax .images img {
  object-fit: cover;
}
.a_access .parallax .images > li {
  position: absolute;
}
@media (min-width: 768px) {
  .a_access {
    padding: 140px 0 74px;
    background: url(/images/exhibition_nagoya/index_bg_access.png) no-repeat 50% 0/100% auto;
  }
  .a_access .inner {
    display: grid;
    grid-template-columns: 620px 1fr;
    margin: 67px auto 0;
    width: var(--contentWidth);
    gap: 0 103px;
  }
  .a_access .address {
    grid-template-columns: 74px 1fr;
    grid-column: 2;
    grid-row: 1;
    align-self: end;
    font-size: 1.25rem;
    line-height: 1.7;
  }
  .a_access .address .label {
    font-size: 1.375rem;
  }
  .a_access .how {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 50px 0 36px;
    padding-left: 20px;
  }
  .a_access .how > .heading {
    margin: 0 0 0 -20px;
    padding: 9px 10px;
    font-size: 1rem;
  }
  .a_access .how .list {
    margin: 24px 0 0;
  }
  .a_access .how .text {
    margin: 5px 0 0;
  }
  .a_access .map {
    grid-column: 1;
    grid-row: 2 span;
    align-self: flex-start;
  }
  .a_access .parallax {
    margin: 77px 0 0;
    height: 538px;
  }
  .a_access .parallax .text {
    top: 223px;
    gap: 50px;
  }
  .a_access .parallax .text svg {
    width: 1682px;
    height: 84px;
  }
  .a_access .parallax .images > li:nth-of-type(1),
.a_access .parallax .images > li:nth-of-type(2) {
    left: 50%;
  }
  .a_access .parallax .images > li:nth-of-type(3),
.a_access .parallax .images > li:nth-of-type(4) {
    right: 50%;
  }
  .a_access .parallax .images > li:nth-of-type(1) {
    transform: translate(-720px, 13px);
  }
  .a_access .parallax .images > li:nth-of-type(2) {
    transform: translate(-294px, 190px);
  }
  .a_access .parallax .images > li:nth-of-type(3) {
    transform: translate(345px, 114px);
  }
  .a_access .parallax .images > li:nth-of-type(4) {
    transform: translate(720px, 0);
  }
}
@media screen and (max-width: 767px) {
  .a_access {
    margin: 50px 0 0;
    padding: 47px 0 74px;
    background: url(/images/exhibition_nagoya/index_bg_access_@2x.png) no-repeat 50% 0/cover;
  }
  .a_access .inner {
    margin: 58px 0 0;
    padding: 0 20px;
  }
  .a_access .address {
    grid-template-columns: 110px 1fr;
    font-size: 1.0625rem;
    line-height: 1.7;
  }
  .a_access .address .label {
    font-size: 1.125rem;
  }
  .a_access .how {
    margin: 65px 0 0;
    padding-left: 21px;
  }
  .a_access .how > .heading {
    margin: 0 0 0 -21px;
    padding: 8px 10px;
    font-size: 1.125rem;
  }
  .a_access .how .list {
    margin: 24px 0 0;
    font-size: 0.9375rem;
    line-height: 1.7;
  }
  .a_access .how .text {
    margin: 5px 0 0;
    font-size: 0.9375rem;
  }
  .a_access .map {
    margin: 24px 0 0;
  }
  .a_access .parallax {
    margin: 40px auto 0;
    max-width: 375px;
    height: 102.9333333333vw;
  }
  .a_access .parallax .text {
    top: 138px;
    gap: 30px;
  }
  .a_access .parallax .text svg {
    width: 853px;
    height: 42px;
  }
  .a_access .parallax .images img {
    width: 100%;
    height: 100%;
  }
  .a_access .parallax .images > li:nth-of-type(1) {
    top: 35px;
    left: 0;
    width: 50.9333333333vw;
  }
  .a_access .parallax .images > li:nth-of-type(2) {
    top: 204px;
    left: 67px;
    width: 36vw;
  }
  .a_access .parallax .images > li:nth-of-type(3) {
    top: 0;
    right: 20px;
    width: 34.1333333333vw;
  }
  .a_access .parallax .images > li:nth-of-type(4) {
    top: 127px;
    right: 0;
    width: 35.7333333333vw;
  }
}

.a_faq {
  position: relative;
  z-index: 0;
}
.a_faq::before {
  position: absolute;
  content: "";
  filter: blur(194px);
  background-color: #2e3246;
  z-index: -1;
  will-change: filter;
}
.a_faq .enHeading {
  text-align: center;
}
.a_faq .faqList {
  overflow: hidden;
  border-bottom: 1px solid var(--whiteColor);
  transition: height var(--transitionOption);
  will-change: height;
}
.a_faq .faqList .question {
  position: relative;
  border-top: 1px solid var(--whiteColor);
  font-family: "Shippori Mincho", serif;
  cursor: pointer;
}
.a_faq .faqList .question::before {
  position: absolute;
  content: "Q .";
  font-family: "EB Garamond", serif;
}
.a_faq .faqList .question > span::before, .a_faq .faqList .question > span::after {
  position: absolute;
  top: 50%;
  right: 6px;
  border-top: 1px solid currentColor;
  width: 20px;
  content: "";
}
.a_faq .faqList .question > span::after {
  rotate: 90deg;
}
.a_faq .faqList .question.is_open > span::after {
  rotate: 0deg;
}
.a_faq .faqList .answer {
  overflow: hidden;
  margin: 0;
  transition: height 0.6s ease;
}
.a_faq .faqList .answer a {
  text-decoration: underline;
}
.a_faq .faqList .m_notesList > li {
  color: currentColor;
  font-size: 1rem;
}
@media (min-width: 768px) {
  .a_faq {
    padding: 120px 0 130px;
  }
  .a_faq::before {
    top: -155px;
    left: 50%;
    width: 493px;
    height: 493px;
    transform: translateX(335px);
  }
  .a_faq .faqList {
    margin: 73px auto 0;
    width: 786px;
  }
  .a_faq .faqList .question {
    padding: 23px 50px;
    font-size: 1.25rem;
  }
  .a_faq .faqList .question::before {
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    font-size: 1.5rem;
  }
  .a_faq .faqList .answer .body {
    padding: 20px 0 30px;
  }
  .a_faq .faqList .answer .body .note {
    font-size: 0.75rem;
  }
  .a_faq .moreButton {
    margin: 80px 0 0;
  }
}
@media screen and (max-width: 767px) {
  .a_faq {
    padding: 80px 20px 0;
  }
  .a_faq .faqList {
    margin: 54px 0 0;
  }
  .a_faq .faqList .question {
    padding: 23px 50px;
    font-size: 1rem;
  }
  .a_faq .faqList .question::before {
    top: 21px;
    left: 2px;
    font-size: 1.125rem;
  }
  .a_faq .answer .body {
    padding: 20px 0 30px;
    font-size: 0.9375rem;
  }
  .a_faq .answer .body .note {
    font-size: 0.625rem;
  }
  .a_faq .moreButton {
    margin: 20px 0 0;
  }
}

.a_contact {
  position: relative;
  z-index: 0;
  text-align: center;
}
.a_contact .contactList {
  display: grid;
}
.a_contact .contactList > li {
  -webkit-backdrop-filter: blur(30px);
          backdrop-filter: blur(30px);
  box-shadow: inset 0 0 14px 0 rgba(255, 255, 255, 0.25);
  background-color: rgba(255, 255, 255, 0.1);
}
.a_contact .contactList .label {
  line-height: 1.7;
}
.a_contact .contactList .method a[href*="tel:"] {
  color: var(--whiteColor);
  text-decoration: none;
}
.a_contact .contactList .method.link a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  color: var(--baseColor);
  background-color: var(--whiteColor);
  text-decoration: none;
}
.a_contact .contactList .method.tel .number {
  font-size: 1.25rem;
}
.a_contact .contactList .method.tel .number a[href*="tel:"] {
  display: inline-block;
  margin-left: 4px;
  font-size: 2.75rem;
  line-height: 1.3636363636;
}
.a_contact .organizing {
  display: grid;
  font-size: 0.875rem;
}
.a_contact .organizing > div {
  display: grid;
  grid-template-columns: subgrid;
}
.a_contact .organizing dd {
  margin: 0;
}
@media (min-width: 768px) {
  .a_contact {
    margin: 120px 0 110px;
  }
  .a_contact::before {
    top: 380px;
    left: 50%;
    width: 493px;
    height: 493px;
    transform: translateX(-803px);
  }
  .a_contact .contactList {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin: 80px auto 0;
    width: var(--contentWidth);
  }
  .a_contact .contactList > li {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto auto 1fr;
    place-items: center;
    min-height: 322px;
    width: 580px;
  }
  .a_contact .contactList .label {
    grid-row: 2;
    margin: 0;
  }
  .a_contact .contactList .method {
    grid-row: 3;
    margin: 52px 0 0;
  }
  .a_contact .contactList .method.link a {
    width: 305px;
    height: 52px;
    transition: color var(--transitionOption), background-color var(--transitionOption);
  }
  .a_contact .contactList .method.link a:hover {
    color: var(--whiteColor);
    background-color: var(--baseColor);
  }
  .a_contact .organizing {
    grid-template-columns: auto 1fr;
    gap: 9px 20px;
    margin: 40px auto 0;
    width: -moz-fit-content;
    width: fit-content;
    text-align: left;
  }
  .a_contact .organizing > div {
    grid-column: 1/3;
  }
}
@media screen and (max-width: 767px) {
  .a_contact {
    margin: 80px 0 65px;
    padding: 0 20px;
  }
  .a_contact .contactList {
    grid-template-columns: 1fr;
    gap: 20px;
    margin: 55px 0 0;
  }
  .a_contact .contactList > li {
    padding: 53px 14px 60px;
  }
  .a_contact .contactList .label {
    font-size: 1rem;
  }
  .a_contact .contactList .method.link {
    margin: 32px 0 -6px;
    line-height: 1.4;
  }
  .a_contact .contactList .method.link a {
    width: max(81.8666666667vw, 307px);
    height: 52px;
  }
  .a_contact .contactList .method.tel {
    margin: 19px 0 0;
    font-size: 1rem;
  }
  .a_contact .organizing {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 42px 0 0;
  }
  .a_contact .organizing > div {
    gap: 5px;
  }
}

.a_close {
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: 1fr auto 1fr;
  height: 100vh;
}
.a_close .inner {
  grid-row: 2;
  text-align: center;
}
.a_close .logo {
  fill: #ffffff;
}
.a_close .ginza a::before {
  margin-right: 8px;
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e005";
  font-size: 14px;
  line-height: 14px;
  vertical-align: middle;
}
@media (min-width: 768px) {
  .a_close {
    margin: auto;
    max-width: var(--contentWidth);
  }
  .a_close svg {
    width: 173px;
    height: 138px;
  }
  .a_close .message {
    margin: 40px 0 50px;
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .a_close svg {
    width: 173px;
    height: 138px;
  }
  .a_close .message {
    margin: 25px 0 30px;
    font-size: 1.125rem;
  }
}