@charset "UTF-8";
/*
Base
---------------------------------------------*/
body *, body *::before, body *::after {
  box-sizing: border-box;
}

html {
  margin: 0;
  padding: 0;
  font-size: 62.5%;
  font-feature-settings: "palt";
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  font-family: "Kosugi Maru", "Noto Sans JP", "游ゴシック Medium", "YuGothic Medium", "Yu Gothic Medium", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Roboto Regular", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "helvetica", "arial", sans-serif;
  background-color: #fffbef;
  color: #795548;
  font-size: 1.6rem;
  line-height: 1.88;
  min-width: 320px;
  letter-spacing: 0.01em;
}
body.js-no-scroll, body.no-scroll {
  overflow: hidden;
  height: 100%;
}

br.sp {
  display: block;
}
@media screen and (min-width: 1025px) {
  br.sp {
    display: none;
  }
}

br.pc {
  display: none;
}
@media screen and (min-width: 1025px) {
  br.pc {
    display: inline-block;
  }
}

@media screen and (min-width: 1025px) {
  .sp {
    display: none !important;
  }
}

.pc {
  display: none !important;
}
@media screen and (min-width: 1025px) {
  .pc {
    display: revert !important;
  }
}

a {
  transition: 0.6s;
  color: #0084DB;
  -webkit-text-decoration-line: underline;
          text-decoration-line: underline;
}
a:hover {
  transition: 0.6s;
  opacity: 0.7;
}
a.nolink {
  opacity: 0.25;
  pointer-events: none;
}

h1, h2, h3, h4, h5, th {
  font-size: 100%;
  font-weight: 700;
  padding: 0;
  margin: 0;
}

ul, li, ol {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}

ul li {
  line-height: 1.54;
  margin-bottom: 6px;
}

em {
  font-style: normal;
}

dl, dt, dd, p {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  text-align: center;
  transition: 0.4s;
}

a {
  color: #0077ff;
  text-decoration: none;
  transition: 0.35s;
}
a:visited {
  color: #A000A0;
  text-decoration: none;
}
a:hover, a:active, a:focus {
  color: #ff0077;
  text-decoration: none;
  transition: 0.35s;
  cursor: pointer;
}
a:hover img {
  opacity: 0.55;
  filter: alpha(opacity=70);
  transition: 0.35s;
}

a[target=_blank]::after {
  /* content: "\f08e";
  font-family: 'FontAwesome';
  vertical-align: middle;
  display: inline-block;
  padding: 0 0.2em 0.4em 0.6em;
  font-size: 85%; */
}

a.non[target=_blank]::after {
  content: "" !important;
  display: none !important;
  padding: 0;
}

.ctvTab div.pc img,
.ctvTab div.pc a:hover img,
.ctv_tab a *,
.ctv_tab a:hover * {
  transition: 0s;
  transition: none;
}

.fs-08 {
  font-size: 0.8rem !important;
}

.fs-09 {
  font-size: 0.9rem !important;
}

.fs-10 {
  font-size: 1rem !important;
}

.fs-11 {
  font-size: 1.1rem !important;
}

.fs-12 {
  font-size: 1.2rem !important;
}

.fs-14 {
  font-size: 1.4rem !important;
}

.fs-15 {
  font-size: 1.5rem !important;
}

.fs-16 {
  font-size: 1.6rem !important;
}

.fs-18 {
  font-size: 1.8rem !important;
}

.fs-20 {
  font-size: 2rem !important;
}

.fs-21 {
  font-size: 2.1rem !important;
}

.fs-22 {
  font-size: 2.2rem !important;
}

.fs-24 {
  font-size: 2.4rem !important;
}

.fs-26 {
  font-size: 2.6rem !important;
}

.fs-28 {
  font-size: 2.8rem !important;
}

.fs-30 {
  font-size: 3rem !important;
}

.fs-32 {
  font-size: 3.2rem !important;
}

.fs-36 {
  font-size: 3.6rem !important;
}

.fs-40 {
  font-size: 4rem !important;
}

.fs-60p {
  font-size: 60% !important;
}

.fs-70p {
  font-size: 70% !important;
}

.fs-80p {
  font-size: 80% !important;
}

.fs-90p {
  font-size: 90% !important;
}

.fs-110p {
  font-size: 110% !important;
}

.fs-120p {
  font-size: 120% !important;
}

.fs-140p {
  font-size: 140% !important;
}

.fs-160p {
  font-size: 160% !important;
}

.fs-180p {
  font-size: 180% !important;
}

.fs-200p {
  font-size: 200% !important;
}

.fs-210p {
  font-size: 210% !important;
}

.fs-220p {
  font-size: 220% !important;
}

.fs-240p {
  font-size: 240% !important;
}

.fs-250p {
  font-size: 250% !important;
}

.fs-300p {
  font-size: 300% !important;
}

.fs-320p {
  font-size: 320% !important;
}

@media screen and (max-width: 959px) {
  .fs-12_sp {
    font-size: 1.2rem !important;
  }
  .fs-14_sp {
    font-size: 1.4rem !important;
  }
  .fs-15_sp {
    font-size: 1.5rem !important;
  }
  .fs-16_sp {
    font-size: 1.6rem !important;
  }
  .fs-18_sp {
    font-size: 1.8rem !important;
  }
  .fs-20_sp {
    font-size: 2rem !important;
  }
  .fs-21_sp {
    font-size: 2.1rem !important;
  }
  .fs-22_sp {
    font-size: 2.2rem !important;
  }
  .fs-24_sp {
    font-size: 2.4rem !important;
  }
  .fs-26_sp {
    font-size: 2.6rem !important;
  }
  .fs-28_sp {
    font-size: 2.8rem !important;
  }
  .fs-30_sp {
    font-size: 3rem !important;
  }
  .fs-32_sp {
    font-size: 3.2rem !important;
  }
  .fs-36_sp {
    font-size: 3.6rem !important;
  }
  .fs-40_sp {
    font-size: 4.6rem !important;
  }
  .fs-20 {
    font-size: 1.6rem !important;
  }
  .fs-24 {
    font-size: 1.92rem !important;
  }
  .fs-28 {
    font-size: 2.24rem !important;
  }
  .fs-32 {
    font-size: 2.56rem !important;
  }
  .fs-36 {
    font-size: 2.88rem !important;
  }
}
.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-900 {
  font-weight: 900;
}

.fc-normal {
  color: #202020;
}

.fc-white {
  color: #FFF;
}

.fc-gray {
  color: #999;
}

.fc-red {
  color: #c80000;
}

.fc-blue {
  color: #0080b8;
}

.fc-green {
  color: #009030;
}

.fc-yellow {
  color: #fff030;
}

.fc-orange {
  color: #f88020;
}

.sat {
  color: #5da1ff;
}

.sun {
  color: #ff5da1;
}

.pda-0 {
  padding: 0px !important;
}

.pda-4 {
  padding: 4px !important;
}

.pda-8 {
  padding: 8px !important;
}

.pda-16 {
  padding: 16px !important;
}

.pda-20 {
  padding: 20px !important;
}

.pda-24 {
  padding: 24px !important;
}

.pda-32 {
  padding: 32px !important;
}

.pdt-0 {
  padding-top: 0px !important;
}

.pdt-8 {
  padding-top: 8px !important;
}

.pdt-16 {
  padding-top: 16px !important;
}

.pdt-24 {
  padding-top: 24px !important;
}

.pdt-32 {
  padding-top: 32px !important;
}

.pdt-40 {
  padding-top: 40px !important;
}

.pdt-48 {
  padding-top: 48px !important;
}

.pdt-64 {
  padding-top: 64px !important;
}

.pdt-80 {
  padding-top: 80px !important;
}

.mgt-0 {
  margin-top: 0px !important;
}

.mgt-12 {
  margin-top: 12px !important;
}

.mgt-16 {
  margin-top: 16px !important;
}

.mgt-24 {
  margin-top: 24px !important;
}

.mgt-32 {
  margin-top: 32px !important;
}

.mgt-36 {
  margin-top: 36px !important;
}

.mgt-40 {
  margin-top: 40px !important;
}

.mgt-48 {
  margin-top: 48px !important;
}

.mgt-64 {
  margin-top: 64px !important;
}

.mgt-80 {
  margin-top: 80px !important;
}

.mgb-8 {
  margin-bottom: 8px !important;
}

.mgb-12 {
  margin-bottom: 12px !important;
}

.mgb-16 {
  margin-bottom: 16px !important;
}

.mgb-24 {
  margin-bottom: 24px !important;
}

.mgb-32 {
  margin-bottom: 32px !important;
}

.mgb-36 {
  margin-bottom: 36px !important;
}

.mgb-40 {
  margin-bottom: 40px !important;
}

.mgb-48 {
  margin-bottom: 48px !important;
}

.mgb-64 {
  margin-bottom: 64px !important;
}

.mgb-80 {
  margin-bottom: 80px !important;
}

.mg_auto {
  margin-left: auto;
  margin-right: auto;
}

.mg-l0 {
  margin-left: 0;
}

.mg-r0 {
  margin-right: 0;
}

.lh-12 {
  line-height: 1.2;
}

.lh-14 {
  line-height: 1.4;
}

.lh-16 {
  line-height: 1.6;
}

.lh-18 {
  line-height: 1.8;
}

.lh-20 {
  line-height: 2;
}

.lh-22 {
  line-height: 2.2;
}

.lh-24 {
  line-height: 2.4;
}

.lh-28 {
  line-height: 2.8;
}

.lh-32 {
  line-height: 3.2;
}

@media screen and (max-width: 1024px) {
  .w70_sp {
    width: 70% !important;
  }
  .w75_sp {
    width: 75% !important;
  }
  .w80_sp {
    width: 80% !important;
  }
  .w85_sp {
    width: 85% !important;
  }
  .w90_sp {
    width: 90% !important;
  }
  .w92_sp {
    width: 92% !important;
  }
  .w94_sp {
    width: 94% !important;
  }
  .w96_sp {
    width: 96% !important;
  }
  .w98_sp {
    width: 98% !important;
  }
  .w100_sp {
    width: 100% !important;
  }
  .mw50_sp {
    min-width: 50%;
  }
  .mw60_sp {
    min-width: 60%;
  }
  .mw70_sp {
    min-width: 70%;
  }
  .mw75_sp {
    min-width: 75%;
  }
  .mw80_sp {
    min-width: 80%;
  }
  .mw85_sp {
    min-width: 85%;
  }
  .mw90_sp {
    min-width: 90%;
  }
  .mw92_sp {
    min-width: 92%;
  }
  .mw94_sp {
    min-width: 94%;
  }
  .mw96_sp {
    min-width: 96%;
  }
  .mw98_sp {
    min-width: 98%;
  }
}
@media screen and (min-width: 1025px) {
  .w50_pc {
    width: 50% !important;
  }
  .w60_pc {
    width: 40% !important;
  }
  .w70_pc {
    width: 70% !important;
  }
  .w75_pc {
    width: 75% !important;
  }
  .w80_pc {
    width: 80% !important;
  }
  .w85_pc {
    width: 85% !important;
  }
  .w90_pc {
    width: 90% !important;
  }
  .w92_pc {
    width: 92% !important;
  }
  .w94_pc {
    width: 94% !important;
  }
  .w96_pc {
    width: 96% !important;
  }
  .w98_pc {
    width: 98% !important;
  }
  .w100_pc {
    width: 100% !important;
  }
}
.w50 {
  width: 50% !important;
}

.w60 {
  width: 60% !important;
}

.w70 {
  width: 70% !important;
}

.w75 {
  width: 75% !important;
}

.w80 {
  width: 80% !important;
}

.w85 {
  width: 85% !important;
}

.w90 {
  width: 90% !important;
}

.w92 {
  width: 92% !important;
}

.w94 {
  width: 94% !important;
}

.w96 {
  width: 96% !important;
}

.w98 {
  width: 98% !important;
}

.w100 {
  width: 100% !important;
}

.mw70 {
  min-width: 70%;
}

.mw75 {
  min-width: 75%;
}

.mw80 {
  min-width: 80%;
}

.mw85 {
  min-width: 85%;
}

.mw90 {
  min-width: 90%;
}

.mw92 {
  min-width: 92%;
}

.mw94 {
  min-width: 94%;
}

.mw96 {
  min-width: 96%;
}

.mw98 {
  min-width: 98%;
}

.indent-l1 {
  padding-left: 1em;
  text-indent: -1em;
}

.t-center {
  text-align: center !important;
}

.t-right {
  text-align: right !important;
}

.t-left {
  text-align: left !important;
}

.br_sp {
  display: none;
}

@media screen and (max-width: 1024px) {
  .t-center_sp {
    text-align: center;
  }
  .t-right_sp {
    text-align: right;
  }
  .t-left_sp {
    text-align: left;
  }
}
.fl-left {
  float: left;
}

.fl-right {
  float: right;
}

.disp-in {
  display: inline !important;
}

.disp-inbk {
  display: inline-block !important;
}

.disp-bk {
  display: block !important;
}

/*
Section
---------------------------------------------*/
.bg-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  background-color: #fedf71;
  z-index: -1;
}

.wrap {
  overflow: hidden;
  width: 100%;
  height: auto;
}

main {
  width: 100%;
}

section {
  padding: 0;
}

/*
Navigation
---------------------------------------------*/
.site-nav {
  background: #fae3c3;
  text-align: center;
  padding: 0.2em 0;
}
.site-nav ul {
  display: flex;
  justify-content: center;
  max-width: 1280px;
  margin: 0 auto;
}
.site-nav li {
  margin: 0 20px;
  width: 16.6666666667%;
  position: relative;
}
.site-nav li.soon:before {
  content: "Coming soon";
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  font-size: 1.1rem;
  line-height: 1.2;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 10;
}
.site-nav a {
  font-size: 1.8rem;
  display: inline-block;
  padding: 16px 0;
  font-weight: bold;
  position: relative;
  color: #795548;
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.site-nav a:hover {
  color: #dc3933;
  z-index: 1;
  position: relative;
}
.site-nav a:hover:after {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}
.site-nav a:after {
  content: "●";
  position: absolute;
  left: 50%;
  bottom: -0.18em;
  bottom: -0.1em;
  bottom: -0.05em;
  transform: translateX(-50%);
  opacity: 0;
  color: #FFF;
  font-size: 40px;
  transition: opacity 0.5s ease, transform 0.5s ease;
  z-index: -1;
}
.site-nav a.official:before {
  content: "公式ＨＰ（外部サイト）";
  position: absolute;
  opacity: 0;
  top: 6px;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 13em;
  background: #e87d00;
  border-radius: 8px;
  color: #FFF;
  font-size: 0.68em;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  padding: 0.4em 0 0.4em 0.4em;
  transition: 0.3s ease 0s;
}
.site-nav a.official:hover:before {
  opacity: 1;
}
.site-nav.fixed {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  box-shadow: 0px 0px 6px 0px rgba(40, 40, 40, 0.35);
}

#nav-placeholder {
  display: none;
  width: 100%;
}

/* ハンバーガー */
.hamburger {
  display: block;
  position: fixed;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  cursor: pointer;
  z-index: 2000;
  transform: translateX(150%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.4s ease, opacity 0.4s ease;
  /* 表示時 */
}
@media screen and (min-width: 1025px) {
  .hamburger {
    display: none;
  }
}
.hamburger span {
  display: block;
  height: 4px;
  margin: 8px 0;
  background: #dc3933;
  background: #795548;
  border-radius: 4px;
  transition: 0.4s;
}
.hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(7px, 9px);
}
.hamburger.active span:nth-child(2) {
  opacity: 0;
}
.hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(8px, -10px);
}
.hamburger.is-visible {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

/* Nav-SP */
.mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 80vw;
  height: 100%;
  background: #ffc53b;
  transition: right 0.5s ease;
  z-index: 1500;
}
.mobile-menu ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.mobile-menu li {
  margin: 16px 0;
  min-width: 80%;
  position: relative;
}
.mobile-menu li.soon:before {
  content: "Coming soon";
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  font-size: 1.1rem;
  line-height: 1.2;
  font-weight: 700;
  display: flex;
  align-items: center;
  z-index: 10;
}
.mobile-menu li.sub {
  margin: 0 0 16px;
}
.mobile-menu li.sub a {
  font-size: 88%;
}
.mobile-menu a {
  display: inline-block;
  font-size: clamp(1.8rem, 1.4rem + 1.2vw, 3.6rem);
  font-weight: 700;
  color: #795548;
  transition: color 0.3s;
}
.mobile-menu a:hover {
  color: #fff;
}
.mobile-menu.open {
  right: 0;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(100, 70, 20, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s;
  z-index: 1400;
}
.overlay.show {
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 1024px) {
  .site-nav {
    display: none;
  }
  #nav-placeholder {
    display: none !important;
  }
}
.header_h1 {
  padding: 10px;
  text-align: center;
}

.header_h1 h1 {
  font-size: 1.2rem;
  line-height: 1.2;
  margin-top: 0px;
}

.disp-sp-only {
  display: none !important;
}

@media screen and (max-width: 1024px) {
  .disp-pc-only {
    display: none !important;
  }
  .disp-sp-only {
    display: block !important;
  }
}
/*
MainV
---------------------------------------------*/
#mainv {
  background-image: url(../img/mv-bg.webp);
  background-position: center top;
  background-size: contain;
}
@media screen and (min-width: 1025px) {
  #mainv {
    background-size: cover;
  }
}

.mainv-inner {
  padding: 4vw 0 3vw;
}
@media screen and (min-width: 1025px) {
  .mainv-inner {
    padding: 32px 0;
  }
}
@media screen and (min-width: 1025px) {
  .mainv-inner h1.mainv-title {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1400px;
    margin: 0 auto;
  }
}
.mainv-inner h1.mainv-title img.mv {
  display: block;
  width: 80%;
  margin: 2vw auto 0;
}
@media screen and (min-width: 1025px) {
  .mainv-inner h1.mainv-title img.mv {
    width: 50%;
    margin: 0 auto;
  }
}
.mainv-inner h1.mainv-title img.date {
  display: block;
  width: 70%;
  margin: -2vw auto 4vw;
}
@media screen and (min-width: 1025px) {
  .mainv-inner h1.mainv-title img.date {
    width: 42%;
    margin: 174px auto 0;
  }
}

/*
About
---------------------------------------------*/
section#about {
  background-color: #FFF;
  background-image: radial-gradient(#fffbe8 20%, transparent 10%), radial-gradient(#fffbe8 20%, transparent 10%);
  background-size: 120px 120px;
  background-position: 0 0, 60px 60px;
  padding: 8vw 0;
}
@media screen and (min-width: 1025px) {
  section#about {
    padding: 64px 0;
  }
}

.about-inner {
  width: 94%;
  max-width: 1020px;
  margin: 0 auto;
  padding-bottom: 10vw;
}
@media screen and (min-width: 1025px) {
  .about-inner {
    padding-bottom: 16px;
  }
}
.about-inner h2.about-title {
  color: #dc3933;
  font-size: clamp(1.8rem, 1.6rem + 1.2vw, 3.6rem);
  line-height: 1.6;
  text-align: center;
  margin: 0 0 6vw;
}
@media screen and (min-width: 1025px) {
  .about-inner h2.about-title {
    margin: 0 0 64px;
  }
}
.about-inner .about-header {
  margin: 0 0 8vw;
}
.about-inner .about-header h2.about-title img {
  display: block;
  width: 75vw;
  margin: 0 auto 3.2vw;
}
.about-inner .about-header p.quote {
  font-size: 1.6vw;
  text-align: center;
}
.about-inner p.lead {
  text-align: center;
  font-size: clamp(1.4rem, 1rem + 1.2vw, 3rem);
  line-height: 1.8;
  margin: 0 auto 12vw;
}
@media screen and (min-width: 1025px) {
  .about-inner p.lead {
    margin: 0 auto 48px;
    font-size: 2.6rem;
  }
}
.about-inner .profile-section {
  margin: 8vw auto 0;
  padding-top: 2vw;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section {
    margin: 64px auto 0;
    padding-top: 24px;
  }
}
.about-inner .profile-section h3.profile-title {
  font-weight: 800;
  background: #ffc53b;
  border-radius: 50px;
  padding: 4px 1em;
  width: 50%;
  display: block;
  margin: 0 auto -5vw;
  text-align: center;
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section h3.profile-title {
    font-size: 2rem;
    margin: 0 auto -20px;
  }
}
.about-inner .profile-section .profile-content {
  margin: 0 auto;
  background: #FFF;
  border: 1px solid #795548;
  border-radius: 16px;
  padding: 8vw 0 6vw;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section .profile-content {
    padding: 40px 0 32px;
  }
}
.about-inner .profile-section .profile-content p.name {
  font-size: 120%;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section .profile-content p.name {
    font-size: 140%;
  }
}
.about-inner .profile-section .profile-content .profile-inner {
  width: 90%;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section .profile-content .profile-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin: 16px auto 0;
  }
}
.about-inner .profile-section .profile-content .profile-inner figure.img {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section .profile-content .profile-inner figure.img {
    width: 20%;
    text-align: right;
  }
}
.about-inner .profile-section .profile-content .profile-inner figure.img img {
  border-radius: 8px;
  margin: 2vw auto 4vw;
  width: 80%;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section .profile-content .profile-inner figure.img img {
    margin: 0px 0 24px;
    width: 100%;
  }
}
.about-inner .profile-section .profile-content .profile-inner p.t-prof {
  font-size: clamp(1.4rem, 1rem + 1.2vw, 2.8rem);
  line-height: 1.64;
}
@media screen and (min-width: 1025px) {
  .about-inner .profile-section .profile-content .profile-inner p.t-prof {
    font-size: 1.8rem;
    width: 76%;
    margin-left: 4%;
  }
}
.about-inner .work-section {
  margin-top: 4vw;
  overflow: hidden;
}
.about-inner h3.imgs-title {
  font-weight: 800;
  background: #ffc53b;
  border-radius: 50px;
  padding: 4px 1em;
  width: 50%;
  display: block;
  margin: 4vw auto 4vw;
  text-align: center;
  z-index: 2;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .about-inner h3.imgs-title {
    font-size: 2rem;
    margin: 0 auto 40px;
  }
}
.about-inner .imgs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 84vw;
  margin: 0 auto 3vw;
  row-gap: 3.2vw;
  -moz-column-gap: 2.4vw;
       column-gap: 2.4vw;
}
@media screen and (min-width: 1025px) {
  .about-inner .imgs {
    max-width: 1020px;
    margin: 0 auto 24px;
    row-gap: 40px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
.about-inner figure.img:first-child, .about-inner figure.img:nth-child(2), .about-inner figure.img:nth-child(9) {
  grid-column: 1/-1;
}
@media screen and (min-width: 1025px) {
  .about-inner figure.img:first-child, .about-inner figure.img:nth-child(9) {
    grid-column: 1;
  }
  .about-inner figure.img:nth-child(2) {
    grid-column: 2;
  }
  .about-inner figure.img:last-child {
    grid-column: 1/-1;
    width: 50%;
    margin: 0 auto;
  }
}
.about-inner figure.img img.border {
  border: 1px solid #ab897d;
}
.about-inner figure.img figcaption.caption {
  font-size: 1.6vw;
}
@media screen and (min-width: 1025px) {
  .about-inner figure.img figcaption.caption {
    font-size: 1.46rem;
  }
}
.about-inner p.copyright {
  text-align: center;
  font-size: 1.6vw;
}
@media screen and (min-width: 1025px) {
  .about-inner p.copyright {
    font-size: 1.46rem;
  }
}

/*
Primary-section
---------------------------------------------*/
.primary-section-header {
  background-image: url(../img/mv-bg.webp);
  background-position: center top;
  background-size: cover;
  text-align: center;
  padding: 6vw 0;
  position: relative;
  z-index: -2;
}
@media screen and (min-width: 960px) {
  .primary-section-header {
    padding: 48px 0;
  }
}
.primary-section-header::after {
  content: "●";
  font-size: 50vw;
  color: #ffeb3b;
  position: absolute;
  left: 20%;
  right: 20%;
  top: -38vw;
  margin: auto;
  display: block;
  z-index: -1;
}
@media screen and (min-width: 1025px) {
  .primary-section-header::after {
    font-size: 32em;
    top: -410px;
  }
}
.primary-section-header .primary-section-title {
  font-size: clamp(2rem, 1.6rem + 2.4vw, 4rem);
  font-weight: 900;
  line-height: 1.2;
}
.primary-section-header .primary-section-title-en {
  font-size: clamp(0.88rem, 0.8rem + 1.4vw, 3.2rem);
}

.primary-section-content {
  background: #FFF;
  overflow: hidden;
}

.secondary-section {
  padding: 0;
}
.secondary-section dl {
  padding: 0;
  display: block;
  background-color: rgba(255, 255, 255, 0.85);
  align-items: center;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .secondary-section dl {
    display: flex;
    padding: 36px;
    align-items: flex-start;
    justify-content: center;
  }
}
.secondary-section dl:nth-child(2n) {
  background-color: rgba(255, 255, 255, 0.35);
}
.secondary-section dl dt {
  width: 100%;
  font-weight: 700;
  padding: 16px;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .secondary-section dl dt {
    width: 25%;
    width: 220px;
    position: relative;
    padding: 0 0 0;
    font-size: 1.8rem;
  }
}
.secondary-section dl dt::after {
  content: "";
  height: 2px;
  width: 10vw;
  background-color: #dc3933;
  border-radius: 4px;
  position: absolute;
  left: 40%;
  right: 40%;
  top: auto;
  margin: auto;
  display: block;
}
@media screen and (min-width: 1025px) {
  .secondary-section dl dt::after {
    height: 40px;
    width: 2px;
    right: 20px;
    left: auto;
    top: 0;
    background-repeat: no-repeat;
  }
}
.secondary-section dl dd {
  width: 100%;
  padding: 0 8px 32px;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .secondary-section dl dd {
    width: 75%;
    width: 800px;
    align-self: center;
    text-align: left;
    padding-left: 20px;
  }
}

/*
Outline
---------------------------------------------*/
.outline-content {
  background: #fae3c3;
}
.outline-content .logos {
  width: 100%;
  display: grid;
  place-items: center;
  align-items: center;
  grid-template-columns: repeat(4, 1fr);
  margin: 4vw auto 0;
  row-gap: 5vw;
  -moz-column-gap: 2vw;
       column-gap: 2vw;
}
@media screen and (min-width: 1025px) {
  .outline-content .logos {
    grid-template-columns: repeat(4, 1fr);
    margin: 36px auto 0;
    row-gap: 40px;
    -moz-column-gap: 24px;
         column-gap: 24px;
  }
}
.outline-content .logos .logo:nth-child(1) {
  width: 90%;
}
.outline-content .logos .logo:nth-child(2) {
  width: 70%;
}
.outline-content .logos .logo:nth-child(3) {
  width: 50%;
}
.outline-content .logos .logo:nth-child(4) {
  width: 50%;
}
.outline-content .logos .logo:nth-child(5) {
  width: 90%;
}
.outline-content .logos .logo:nth-child(6) {
  width: 90%;
}
.outline-content .logos .logo:nth-child(7) {
  width: 90%;
}

/*
Ticket
---------------------------------------------*/
.ticket-content {
  background: #fae3c3;
}

.fee-tbl {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .fee-tbl {
    margin: 0;
    max-width: 730px;
  }
}
.fee-tbl tr:first-child th,
.fee-tbl tr:first-child td {
  padding-top: 0;
}
.fee-tbl th {
  text-align: left;
}
.fee-tbl th,
.fee-tbl td {
  border-bottom: 1px solid #ab897d;
  font-size: min(4.4vw, 1.8rem);
  padding: 10px 4px;
  vertical-align: middle;
  font-weight: bold;
  width: auto;
}
@media screen and (min-width: 1025px) {
  .fee-tbl th,
.fee-tbl td {
    padding: 16px 10px;
    font-size: 2rem;
  }
}
.fee-tbl td {
  text-align: right;
}

dd.adv-ticket {
  font-size: 1.8rem;
}

@media screen and (min-width: 1025px) {
  dd.f-block {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.ticket-place {
  border: 1px solid #ab897d;
  margin: 0 0 1.4em;
  text-align: left;
  position: relative;
  border-radius: 4px;
}
@media screen and (min-width: 1025px) {
  .ticket-place {
    width: 49%;
  }
}
.ticket-place h3 {
  background: #795548;
  color: #FFF;
  font-weight: 700;
  font-size: 110%;
  padding: 4px 12px;
  border-radius: 4px 4px 0 0;
}
.ticket-place strong {
  color: #e87d00;
  font-weight: 700;
  font-size: 110%;
}
.ticket-place.over::before {
  position: absolute;
  content: "店頭販売";
  top: 0px;
  right: 0px;
  width: 80px;
  background: #ab897d;
  border-radius: 0 3px 0 8px;
  color: #FFF;
  text-align: center;
}
.ticket-place span.t-adv {
  display: inline-block;
  background: #ab897d;
  color: #FFF;
  font-size: 82%;
  padding: 2px 8px;
  margin: 6px 0 0 8px;
  border-radius: 12px;
}
.ticket-place p {
  padding: 8px 12px;
  word-break: break-all;
}
.ticket-place p span.div {
  background: #ab897d;
  border-radius: 4px;
  color: #FFF;
  display: inline-block;
  padding: 0px 6px;
  margin-bottom: 4px;
  min-width: 3em;
  text-align: center;
}

/*
Highlight
---------------------------------------------*/
.highlight-content .area-space {
  margin: 32px auto 64px;
}
@media screen and (min-width: 1025px) {
  .highlight-content .area-space {
    margin: 80px auto 100px;
  }
}
.highlight-content .area-space p.link a {
  padding: 4px 32px;
}
@media screen and (min-width: 1025px) {
  .highlight-content .area-space p.link a {
    width: 380px;
    margin: 0 auto;
    padding: 8px 32px;
  }
}

/*
Event
---------------------------------------------*/
h3.event-title {
  font-weight: 800;
  background: #795548;
  border-radius: 50px;
  color: #FFF;
  padding: 4px 1em;
  width: 80%;
  margin: 6vw auto -4.8vw;
  display: block;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 1025px) {
  h3.event-title {
    margin: 40px auto -26px;
    max-width: 640px;
    font-size: 2rem;
    padding: 6px 1em;
  }
}

.event-content {
  background: #fae3c3;
  border: 1px solid #795548;
  width: 96%;
  max-width: 960px;
  margin: 0 auto 10vw;
  padding: 0 0 4vw;
}
@media screen and (min-width: 1025px) {
  .event-content {
    margin: 0 auto 88px;
    padding: 0 0 32px;
  }
}
.event-content dl:first-child {
  padding-top: 4vw;
}

/*
Goods
---------------------------------------------*/
h3.goods-title {
  font-weight: 800;
  background: #795548;
  border-radius: 50px;
  color: #FFF;
  padding: 4px 1em;
  width: 80%;
  margin: 8vw auto 1em;
  display: block;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  h3.goods-title {
    margin: 48px auto 24px;
    display: block;
    max-width: 640px;
    font-size: 2rem;
    padding: 6px 1em;
  }
}

.goods-content {
  margin: 0 auto 12vw;
}
@media screen and (min-width: 1025px) {
  .goods-content {
    margin: 0 auto 88px;
  }
}
.goods-content .coming {
  color: #ab897d;
  margin: 12vw auto 16vw;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .goods-content .coming {
    margin: 64px auto 120px;
  }
}
.goods-content .imgs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 88vw;
  margin: 0 auto 2vw;
  row-gap: 3.2vw;
  -moz-column-gap: 2.2vw;
       column-gap: 2.2vw;
}
@media screen and (min-width: 1025px) {
  .goods-content .imgs {
    max-width: 1020px;
    margin: 0 auto 20px;
    row-gap: 40px;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
.goods-content figure.img {
  grid-column: 1/-1;
  margin: 0 auto 1em;
}
@media screen and (min-width: 1025px) {
  .goods-content figure.img {
    grid-column: auto;
  }
}
.goods-content figure.img img {
  border: 1px solid #ffeb3b;
}
.goods-content figure.img span.limited {
  float: right;
  background-color: #dc3933;
  border-radius: 2px;
  color: #FFF;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  padding: 2px 8px;
  margin-bottom: 0px;
  z-index: 10;
  position: relative;
}
.goods-content figure.img figcaption.caption {
  font-size: clamp(1.4rem, 1rem + 1.4vw, 2rem);
  line-height: 1.46;
  padding: 2px 0 0 2px;
}
.goods-content figure.img figcaption.caption strong {
  font-weight: 700;
}

/*
Links
---------------------------------------------*/
.links-content .area-space {
  margin: 24px auto 32px;
}
@media screen and (min-width: 1025px) {
  .links-content .area-space {
    margin: 40px auto 48px;
  }
}
.links-content .area-space p.link a {
  padding: 4px 32px;
}
@media screen and (min-width: 1025px) {
  .links-content .area-space p.link a {
    width: 380px;
    margin: 0 auto;
    padding: 8px 32px;
  }
}

/*
movie
---------------------------------------------*/
.movie {
  width: 94%;
  max-width: 960px;
  margin: 2.4vw auto 1vw;
  filter: drop-shadow(0px 0px 4px rgba(170, 108, 0, 0.5));
}
.movie p {
  font-size: 1.4rem;
  font-weight: bold;
  padding: 0px 0px 1vw;
}

.movie-embed {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  position: relative;
}
.movie-embed iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/*
Table non
---------------------------------------------*/
table.default-table {
  margin: 0 auto;
  font-size: 2.1rem;
  line-height: 1.6;
  width: 100%;
}

table.default-table tr {
  border-top: solid 1px #caaa36;
  border-bottom: solid 1px #caaa36;
}

table.default-table th {
  width: 22%;
  text-align: center;
  background-color: #ffeeaf;
  z-index: 3;
  vertical-align: middle;
  border-bottom: solid 1px #caaa36 !important;
}

table.default-table td {
  width: 78%;
  padding: 24px 24px;
  vertical-align: middle;
  border-top: solid 1px #caaa36;
  font-size: 1.8rem;
}

table.default-table td p {
  margin-top: 0px;
}

table.default-table td span.disp-pc-only {
  display: inline;
}

table.default-table td .date-kome {
  font-size: 1.6rem;
  text-align: left;
}

@media screen and (max-width: 959px) {
  table.default-table {
    border: none;
  }
  table.default-table th,
table.default-table td {
    display: block;
    width: 100%;
  }
  table.default-table th {
    border-right: none;
    border-bottom: none;
    margin-top: 36px;
    padding: 6px 0px;
  }
  table.default-table th:first-of-type {
    margin-top: 0;
  }
  table.default-table td {
    border-top: none;
    border-bottom: none;
    text-align: center;
    padding: 16px 12px 32px;
  }
}
@media screen and (max-width: 480px) {
  table.default-table td span.disp-pc-only {
    display: none;
  }
  table.default-table td {
    text-align: center;
  }
}
/*
YouTube non
---------------------------------------------*/
section#youtube {
  background: #000;
}

section#youtube .w_base {
  padding: 16px;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 959px) {
  section#youtube {
    padding-top: 0px;
    padding-bottom: 16px;
  }
  section#youtube .w_base {
    padding: 0px;
  }
}
#Movie {
  /* background-color: #f1f0f5; */
}

li.movie {
  display: flex;
  flex-direction: column;
  position: relative;
}

li.movie img.youtube_thumb {
  display: block;
  border-radius: 16px;
}

li.movie .thumb {
  order: 1;
  position: relative;
}

li.movie .thumb a {
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
}

li.movie .thumb a.thumb_link {
  display: flex;
  align-items: center;
  position: relative;
}

li.movie .thumb a.thumb_link div.icon_play {
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0.75;
  align-self: center;
  text-align: center;
  z-index: 5;
}

.youtube_thumb {
  display: block;
  margin: auto;
  text-align: center;
}

/*
Movie non
---------------------------------------------*/
section#CM {
  padding: 40px 0 80px;
  padding-top: 120px;
  margin-top: -120px;
}

section#CM .w_base {
  background-color: #FFF;
  border-radius: 16px;
  padding: 80px 0 64px;
}

.article-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 48px;
}

.article-container li {
  width: 100%;
  margin-bottom: 48px;
  padding-bottom: 16px;
  position: relative;
  transition: 0.2s;
}

.article-container li p.date {
  color: #8989a1;
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 16px;
}

.article-container li h3 {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-top: 16px;
  margin-bottom: 24px;
  text-align: center;
}

.article-container li p.caption {
  font-size: 1.4rem;
  line-height: 1.4;
  margin-top: 12px;
}

section#CM .article-container li > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

section#CM .article-container li a.btn {
  height: 40px;
  line-height: 36px !important;
  font-weight: 500;
  font-size: 1.4rem;
  background-color: #E0E0E0;
  border-color: #FFF;
  border-radius: 50px;
  color: #060102;
}

section#CM .article-container li a.btn::before {
  display: none;
}

section#CM .article-container li a.btn::after {
  width: 8px;
  height: 8px;
  border-color: #060102;
  border-width: 2px 2px 0 0;
}

section#CM .article-container li a.btn:hover {
  color: #ccc;
  opacity: 1;
}

section#CM .article-container li a.btn:hover::before {
  background-color: #ccc;
  border-color: #ccc;
}

section#CM .article-container li a.btn:hover::after {
  border-color: #ccc;
}

.article-container.cal2 li {
  width: 48%;
  margin-right: 4%;
}

.article-container.cal2 li:nth-of-type(2n) {
  margin-right: 0;
}

.article-container.cal2::after {
  content: "";
  width: 48%;
}

.article-container.cal3 li {
  width: 32%;
  margin-right: 2%;
}

.article-container.cal3 li:nth-of-type(3n) {
  margin-right: 0;
}

.article-container.cal3::after {
  content: "";
  width: 32%;
}

.cm_title {
  color: #060102;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.2 !important;
  margin-top: 24px;
  text-align: center;
}

.cm_title i {
  color: #e60012;
  font-size: 2rem;
  padding-right: 10px;
}

@media screen and (max-width: 959px) {
  .article-container.cal3 li {
    width: 48%;
    margin-right: 4%;
  }
  .article-container.cal3 li:nth-of-type(2n) {
    margin-right: 0;
  }
  .article-container.cal3::after {
    content: "";
    width: 48%;
  }
}
@media screen and (max-width: 959px) {
  .article-container.cal2 li,
.article-container.cal3 li {
    width: 100%;
    margin-right: 0;
    margin: auto;
    margin-bottom: 48px;
  }
  .article-container.cal2 li:nth-of-type(2n),
.article-container.cal3 li:nth-of-type(2n) {
    margin-right: 0;
  }
  li.movie {
    display: flex;
    flex-direction: column;
  }
  li.movie a.thumb_link div.icon_play {
    display: none;
  }
  li.movie a.thumb_link div.icon_play img {
    width: 80px;
    height: 80px;
  }
}
/*
Goods non
---------------------------------------------*/
section#Goods {
  padding-top: 120px;
  margin-top: -120px;
}

.goods-menu {
  display: flex;
  justify-content: center;
  position: relative;
  text-align: center;
  overflow: hidden;
  width: 100%;
  height: auto;
  padding: 36px 0;
}

.goods-menu a {
  width: 200px;
  height: 46px !important;
  font-size: 1.8rem !important;
  line-height: 36px !important;
}

.goods-menu a:nth-child(2) {
  margin-top: 0;
}

.goods-list {
  display: flex;
  justify-content: center;
  position: relative;
  text-align: center;
  overflow: hidden;
  width: 100%;
  height: auto;
  padding: 36px 0;
  margin-bottom: -100px;
}

.goods-list a {
  width: 200px;
  height: 46px !important;
  font-size: 1.8rem !important;
  line-height: 36px !important;
  min-height: 46px !important;
}

.goods-list a:nth-child(-n+5) {
  margin-top: 0;
}

.goods-item {
  margin: 140px 0 -60px;
}

section#Goods h3 {
  font-size: 2rem;
  line-height: 1.46;
  background: #ffeeaf;
  border-bottom: none;
  margin-bottom: 12px;
  padding: 8px 12px;
  text-align: left;
  font-size: 2.2rem;
  line-height: 1.64;
  margin-bottom: 12px;
  text-align: left;
}

p.good-txt {
  padding: 0 12px 0px;
}

.column {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin-top: 32px;
}

.goods-item-detail {
  margin-top: 0;
  width: 48%;
}

.goods-item-detail img {
  border: solid 1px #ffd748;
}

.goods-item-detail p {
  padding: 0 4px;
}

p.goods_name {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 4px;
}

p.goods_name span.fs-min {
  font-size: 1.4rem;
}

.line-c {
  text-decoration: line-through;
}

/* ガイドブック */
.column-guide {
  width: 70%;
  margin: 0 auto;
}

.column-guide p {
  width: 97%;
  margin: 0 auto;
}

.column-guide img.noborder {
  border: none;
}

div.goods-notice {
  width: 98%;
  margin: 140px auto 0;
}

div.goods-notice ul {
  margin: 8px 0 0;
}

div.goods-notice ul li {
  position: relative;
  padding-left: 1em;
  line-height: 1.46;
  margin-bottom: 8px;
}

div.goods-notice ul li::before {
  content: "※";
  position: absolute;
  left: 0;
}

#audioguide-area {
  padding-top: 160px;
}

.audioguide-prof {
  width: 98%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

.prof-img {
  width: 44%;
  margin-right: 2%;
}

.prof-txt {
  width: 54%;
}

.prof-txt-inner {
  border: 1px solid #888;
  padding: 10px 16px;
}

ul.audioguide-movie {
  width: 97.8%;
  margin: 0 auto;
}

ul.audioguide-movie li {
  margin-bottom: 12px;
  font-size: 1.8rem;
}

img.ico-movie {
  width: 24px;
  height: 18px;
  vertical-align: sub;
  border-radius: 3px;
}

h4.audioguide-ttl {
  /* display: inline-block; */
  background: #ffeeaf;
  font-size: 2rem;
  line-height: 1.64;
  margin-bottom: 8px;
  padding: 8px 12px;
  font-feature-settings: "palt";
  letter-spacing: 0.025em;
}

h4.audioguide-ttl span {
  font-size: 1.6rem;
}

.audioguide-app {
  width: 98%;
  /* background: #fef5d5;
  padding: 24px 32px; */
  margin: 0 auto;
}

.audioguide-app-inner {
  display: flex;
  flex-wrap: wrap;
}

img.app-ico {
  width: 133px;
  margin-right: 20px;
  border: 1px solid #CCC;
  border-radius: 8px;
}

img.app-qr {
  border: 8px solid #FFF;
  width: 140px;
  height: 140px;
}

.audioguide-app-link {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}

.audioguide-app-link a {
  vertical-align: top;
}

.audioguide-app-link img {
  height: 48px;
  width: auto;
  margin-right: 16px;
}

p.audio-inquiry {
  background: #FFF;
  border: solid 1px #ffd748;
  padding: 12px 16px;
  text-align: center;
  width: 47%;
  /* margin-left: 1%; */
}

@media screen and (max-width: 959px) {
  .goods-menu {
    /* display: block; */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    text-align: center;
    overflow: hidden;
    width: 100%;
    height: auto;
    padding: 0px 0 24px;
    margin-left: 0px;
  }
  .goods-menu a {
    width: 46% !important;
    height: 40px !important;
    font-size: 1.46rem !important;
    line-height: 32px !important;
    margin-bottom: 24px !important;
  }
  .goods-list {
    /* display: block; */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    text-align: center;
    overflow: hidden;
    width: 100%;
    height: auto;
    padding: 36px 0 24px;
    margin-left: 0px;
    margin-bottom: -100px;
  }
  .goods-list a {
    width: 46% !important;
    height: 40px !important;
    font-size: 1.46rem !important;
    line-height: 32px !important;
    margin-bottom: 24px !important;
  }
  .goods-item {
    /* margin: 140px 0 -60px; */
  }
  section#Goods h3 {
    font-size: 2rem;
    line-height: 1.46;
    padding: 6px 12px;
    margin-bottom: 12px;
  }
  p.good-txt {
    padding: 0 12px 0px;
  }
  .column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    margin-top: 0px;
  }
  .goods-item-detail {
    margin-top: 40px;
    width: 98%;
  }
  .goods-item-detail p {
    padding: 0 4px;
  }
  p.goods_name {
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 2px;
  }
  /* ガイドブック */
  .column-guide {
    width: 96%;
    margin: 0 auto;
  }
  .column-guide .goods-item-detail {
    max-width: 540px;
  }
  .column-guide .goods-item-detail:nth-child(2) {
    margin-top: 4px;
  }
  .column-guide p {
    /* width: 97%;
    margin: 0 auto; */
    max-width: 540px;
  }
  div.goods-notice {
    width: 100%;
    margin: 140px auto 0;
  }
  div.goods-notice ul li {
    line-height: 1.6;
    margin-bottom: 12px;
  }
  #audioguide-area {
    padding-top: 120px;
  }
  .audioguide-prof {
    width: 98%;
    margin: 0 auto;
    display: flex;
  }
  .prof-img {
    width: 100%;
    margin-right: 0;
  }
  .prof-txt {
    margin: 8px 0 0;
    width: 100%;
  }
  .prof-txt-inner {
    padding: 12px;
  }
  p.prof-txt-detail {
    margin-top: 6px;
    line-height: 1.64;
  }
  ul.audioguide-movie {
    width: 96%;
  }
  ul.audioguide-movie li {
    margin-bottom: 10px;
    font-size: 1.6rem;
    line-height: 1.7;
    text-indent: -2em;
    margin-left: 2em;
  }
  img.ico-movie {
    width: 20px;
    height: 15px;
    border-radius: 2px;
  }
  .audioguide-app {
    width: 100%;
    /* padding: 16px 8px; */
  }
  .audioguide-app-inner {
    justify-content: center;
  }
  img.app-ico {
    width: 120px;
    margin-right: 20px;
  }
  img.app-qr {
    border: 8px solid #FFF;
    width: 120px;
    height: 120px;
  }
  .audioguide-app-link {
    justify-content: center;
    margin-top: 20px;
  }
  .audioguide-app-link img {
    height: 40px;
    width: auto;
    margin-right: 16px;
  }
  img.googleplay {
    margin-right: 0px;
  }
  p.audio-inquiry {
    width: auto;
    margin-left: auto;
  }
}
/*
Event non
---------------------------------------------*/
section#Event .event-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 0px;
  align-items: flex-start;
}

div.ev_info {
  position: relative;
  width: 46%;
  background: #FFF;
  border: solid 1px #ffd748;
  /* border-radius: 8px; */
  font-size: 1.6rem;
  margin: 0 2% 48px;
  padding: 20px 16px;
  text-align: center;
}

section#Event h3 {
  font-size: 2rem;
  line-height: 1.46;
  background: #ffeeaf;
  border-bottom: none;
  margin-bottom: 12px;
  padding: 8px 12px;
  text-align: left;
  font-size: 2.2rem;
  line-height: 1.64;
  margin-bottom: 12px;
  text-align: left;
}

p.ev_date {
  padding: 8px;
  text-align: left;
}

span.ev_date_h {
  display: inline-block;
  /* background: #EFA050;
  color: #FFF; */
  background: #fff1c0;
  padding: 2px 8px;
  margin: 0.5em 1em 0 0;
}

@media screen and (max-width: 959px) {
  section#Event .btn-tt .btn {
    max-width: 90%;
    min-height: 72px;
    line-height: 32px;
  }
  div.ev_info {
    width: 100%;
    flex-direction: column;
    margin: 0 0 48px;
    padding: 16px 12px;
  }
  div.ev_info:last-child {
    /* margin-bottom: 0; */
  }
  section#Event h3 {
    font-size: 2rem;
    line-height: 1.46;
    padding: 6px 12px;
    margin-bottom: 12px;
  }
  span.ev_date_h {
    padding: 1px 8px;
    margin: 1em 0.6em 0.2em -0.1em;
  }
}
/*
Collabo non
---------------------------------------------*/
section#Collabo {
  padding-top: 120px;
  margin-top: -120px;
}

section#Collabo .collabo-container {
  width: 98%;
  margin: 0 auto;
}

.collabo-item {
  margin: 60px 0 0px;
}

section#Collabo h3 {
  font-size: 2.2rem;
  line-height: 1.46;
  background: #ffeeaf;
  border-bottom: none;
  padding: 8px 12px;
  text-align: left;
  margin-bottom: 8px;
}

.column-menu {
  margin-top: 4px;
}

.column-menu .goods-item-detail {
  margin: 12px auto 20px;
  width: 24%;
}

p.menu_info {
  font-size: 1.6rem;
  line-height: 1.48;
  margin-bottom: 2px;
}

div.collabo-notice {
  width: 98%;
  margin: 40px auto 0;
}

@media screen and (max-width: 959px) {
  .collabo-item {
    margin: 40px 0 0px;
  }
  section#Collabo h3 {
    font-size: 2rem;
    line-height: 1.46;
    padding: 6px 12px;
    margin-bottom: 8px;
  }
  .column-menu .goods-item-detail {
    margin: 12px auto 20px;
    width: 48%;
  }
  p.menu_info {
    font-size: 1.6rem;
    line-height: 1.48;
    margin-bottom: 2px;
  }
  div.collabo-notice {
    width: 100%;
  }
}
/*
Access non
---------------------------------------------*/
section#Access {
  margin-top: -120px;
  padding-top: 120px;
}

section#Access h3 {
  margin-bottom: 12px;
  /* border-bottom: none; */
}

section#Access a.btn {
  margin-left: 0;
  margin-right: 0;
}

.map_flex_cal2 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 24px;
}

.map_flex_cal2 .map_iframe {
  width: 50%;
}

.map_flex_cal2 .map_iframe .map_iframe_wrap {
  width: 100%;
  padding: 75% 0 0;
  position: relative;
}

.map_flex_cal2 .map_iframe .map_iframe_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.map_flex_cal2 .map_txt {
  width: 45%;
  margin-top: 0px;
}

.map_flex_cal2 .map_txt p {
  margin-left: 1%;
}

.contact_add_box {
  margin-bottom: 32px;
  margin-top: 32px;
}

.contact_add_box dl {
  display: flex;
  margin-bottom: 8px;
}

.contact_add_box dl dt,
.contact_add_box dl dd {
  padding: 8px 12px;
}

.contact_add_box dl dt {
  width: 25%;
  text-align: center;
}

.contact_add_box dl dd {
  width: 75%;
}

@media screen and (max-width: 959px) {
  .map_flex_cal2 {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 24px;
  }
  .map_flex_cal2 .map_iframe {
    width: 100%;
    margin-bottom: 16px;
  }
  .map_flex_cal2 .map_txt {
    width: 100%;
  }
}
/*
Ticket
---------------------------------------------*/
section#Ticket {
  margin: 0 0 80px;
  padding-top: 120px;
  /* margin-top: -120px; */
}

.playguide_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.playguide {
  width: 46%;
  background: #FFF;
  border: solid 1px #ffd748;
  /* border-radius: 8px; */
  font-size: 1.6rem;
  margin: 0 2% 0;
  padding: 20px 16px;
  text-align: center;
  position: relative;
}

.playguide h3 {
  font-size: 2rem;
  line-height: 1.46;
  background: #ffeeaf;
  border-bottom: none;
  margin-bottom: 12px;
  padding: 8px 12px;
  text-align: left;
}

a.ticket_hover_link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  mix-blend-mode: multiply;
}

a.ticket_hover_link:hover {
  background-color: #fff8db;
}

.t-info {
  padding: 8px;
}

.playguide-code {
  font-size: 2.1rem;
  font-weight: 600;
}

.playguide-code span {
  color: #E94736;
}

.ticketBtn a.btn {
  background-color: #FFF;
  border: 2px solid #e60012;
  color: #e60012;
  font-size: 1.8rem;
  line-height: 54px;
  height: 60px;
  margin: 16px auto 0;
  max-width: 360px;
}

.ticketBtn a.btn::after {
  border-color: #e60012;
}

.ticketBtn a.btn:hover {
  background-color: #e60012;
  border-color: #e60012;
  color: #FFF;
}

.ticketBtn a.btn:hover::after {
  border-color: #FFF;
}

.yellow_marker {
  background-color: #fff000;
}

@media screen and (max-width: 959px) {
  section#Ticket {
    /* margin: 0 0 88px; */
  }
  section#Ticket .w_base {
    /* border: solid 2px #231815; */
    /* padding: 64px 0.5%; */
  }
  .playguide {
    width: 100%;
    flex-direction: column;
    margin: 0;
    padding: 16px 12px;
  }
  .playguide > div:nth-of-type(1),
.playguide > div:nth-of-type(2) {
    width: 100%;
  }
  .playguide > div:nth-of-type(1) {
    margin-bottom: 24px;
  }
  .playguide-code {
    text-align: center;
    margin-top: 16px;
  }
  .playguide_list {
    flex-direction: column;
  }
}
/*
Footer
---------------------------------------------*/
footer {
  background: #ffeb3b;
  background-image: url(../img/mv-bg.webp);
  background-position: center top;
  background-size: cover;
  padding: 2em 0;
  position: relative;
}
footer .footer-inner {
  text-align: center;
}
footer .footer-inner p.copyright {
  font-size: 88%;
}

#btn-ticket {
  position: fixed;
  z-index: 20;
  display: block !important;
  opacity: 0;
  transform: translateX(100px);
  pointer-events: none;
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 1000;
  bottom: 48px;
  right: 4px;
}
@media screen and (min-width: 1025px) {
  #btn-ticket {
    bottom: 60px;
    right: 6px;
  }
}
#btn-ticket a {
  display: block;
  background: url(../img/btn-ticket.png) center top no-repeat;
  background-size: contain;
  filter: drop-shadow(1px 2px 3px rgba(0, 0, 0, 0.5));
  width: 80px;
  height: 80px;
  text-indent: -9999px;
  transition: 0.4s;
}
@media screen and (min-width: 1025px) {
  #btn-ticket a {
    width: 120px;
    height: 120px;
  }
}
#btn-ticket a:hover {
  background: url(../img/btn-ticket.png) center top no-repeat;
  background-size: contain;
  transition: 0.4s;
  opacity: 0.5;
}
#btn-ticket.show {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

#page-top {
  position: fixed;
  bottom: 6px;
  right: 6px;
  z-index: 20;
  display: block !important;
  opacity: 0;
  transform: translateY(100px);
  pointer-events: none;
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 1000;
}
#page-top a {
  display: block;
  background: url(../img/top.png) center top no-repeat;
  background-size: contain;
  width: 36px;
  height: 36px;
  text-indent: -9999px;
  transition: 0.4s;
}
#page-top a:hover {
  background: url(../img/top.png) center top no-repeat;
  background-size: contain;
  transition: 0.4s;
  opacity: 0.5;
}
#page-top.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.contact-box {
  position: relative;
  /* display: flex;
  justify-content: space-between;
  align-items: center; */
  max-width: 1280px;
  border: solid 1px #808080;
  background-color: #FFF;
  border: solid 5px #FFF;
  margin: 80px auto;
  padding: 40px;
}

.contact-title {
  display: block;
  /* width: 16%; */
  /* border-right: solid 1px #333; */
  border-bottom: solid 1px #808080;
  font-size: 2rem;
  font-weight: 600;
  margin: 0;
  padding: 0 0 8px;
  /* padding-right: 16px; */
  text-align: center;
}

h2.contact-title::after {
  display: none;
}

.contact-txt {
  /* display: flex;
  align-items: center;
  justify-content: space-between; */
  line-height: 1.64;
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.contact-add {
  text-align: left;
  margin-left: 16px;
}

.contact-add p.contact-email span {
  color: #0080E0;
  font-size: 2.1rem;
}

.contact-add .tel-link {
  font-size: 2.2rem;
  font-weight: 600;
}

.contact-add .tel-link a {
  font-size: 2.2rem;
}

.contact-logo {
  text-align: center;
  /* margin-left: 16px; */
}

.contact-logo img {
  width: auto;
  max-width: 180px;
}

div.f_ctv {
  position: relative;
  text-align: center;
}

div.f_ctv a img {
  max-width: 100px;
  height: auto;
}

@media screen and (max-width: 959px) {
  div.f_ctv a img {
    max-width: 64px;
  }
}
/*
PAGE TOP
---------------------------------------*/
#PageTop {
  position: fixed;
  bottom: 16px;
  right: 12px;
  z-index: 200;
  scroll-behavior: auto;
  /* filter: drop-shadow(0 4px 6px rgba(64, 48, 32, 0.25)); */
}

#PageTop a {
  content: "";
  display: block;
  width: 74px;
  height: 80px;
  background: url("../img/totop.png");
  background-size: contain;
  background-repeat: no-repeat;
  opacity: 1;
  position: relative;
  transition: 0.7s;
}

@media screen and (min-width: 960px) {
  #PageTop a:hover {
    height: 88px;
    transition: 0.5s;
    opacity: 0.75;
  }
}
@media screen and (max-width: 959px) {
  #PageTop a {
    content: "";
    display: block;
    position: relative;
    width: 42px;
    height: 45px;
    background: url("../img/totop.png");
    background-size: contain;
    background-repeat: no-repeat;
  }
  .contact-box {
    flex-direction: column;
    padding: 24px;
  }
  .contact-title {
    display: block;
    width: 100%;
    border-right: none;
    font-size: 2rem;
    margin: 0;
    padding: 0 0 8px;
    padding-right: 0;
  }
  .contact-txt {
    width: 100%;
    flex-direction: column;
    /* align-items: flex-start; */
    align-items: center;
    margin-top: 16px;
    padding: 0;
    text-align: center;
  }
  .contact-add {
    margin-top: 16px;
    margin-left: 0px !important;
  }
  .contact-txt .contact-add {
    align-items: center;
    text-align: center;
  }
}
/*
ボタン
---------------------------------------------*/
p.link {
  padding: 2vw;
}
@media screen and (min-width: 1025px) {
  p.link {
    padding: 16px 0;
  }
}
p.link a {
  margin: 0 auto;
  display: inline-block;
  background-color: #FFF;
  border-style: solid;
  border-color: #795548;
  border-width: 1px;
  border-radius: 12px;
  padding: 4px 24px;
  filter: drop-shadow(1px 1px 2px #ab897d);
  transition: 0.4s;
}
p.link a:hover {
  background-color: #795548;
  color: #FFF;
  filter: none;
}

a.btn {
  max-width: 360px;
  display: block;
  background: #FFF;
  border: solid 2px #333;
  border-radius: 100px;
  color: #333;
  font-size: 2rem;
  font-weight: 600;
  line-height: 56px;
  min-height: 64px;
  margin: auto;
  text-align: center;
  -webkit-text-decoration-line: none;
          text-decoration-line: none;
  position: relative;
}

a.btn:hover {
  background: #d68f0b;
  border-color: #a66c00;
  color: #FFF;
  opacity: 1;
  filter: none;
  transform: translate(4px, 4px);
}

.btn_shadow {
  filter: drop-shadow(4px 4px 0px rgba(0, 0, 0, 0.2));
}

.triangle {
  position: absolute;
  bottom: 8px;
  right: 8px;
  display: block;
  height: 0;
  width: 0;
  border-left: 16px solid transparent;
  border-bottom: 16px solid #e60012;
  transition: 0.5s;
}

a:hover .triangle {
  border-left: 16px solid transparent;
  border-bottom: 16px solid #FFF;
  transition: 0.5s;
}

.l-blank:after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  display: inline-block;
  background: url(../img/l-blank.svg) no-repeat center;
  background-size: contain;
  margin: 0 0 0.4rem 0.4rem;
  position: relative;
  vertical-align: middle;
  filter: invert(47%) sepia(70%) saturate(6564%) hue-rotate(185deg) brightness(98%) contrast(101%);
  aspect-ratio: 1/1;
}
.l-blank:hover:after {
  filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(27deg) brightness(102%) contrast(103%);
}

.l-blank-c:after {
  filter: invert(50%) sepia(50%) saturate(50%) hue-rotate(50deg) brightness(50%) contrast(30%);
}
.l-blank-c:hover:after {
  filter: invert(50%) sepia(50%) saturate(50%) hue-rotate(50deg) brightness(50%) contrast(30%);
}

/*
Animation
---------------------------------------------*/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s;
}
.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

.trigger {
  opacity: 0;
  transition: 1s ease 0s;
}
.trigger.delay-05 {
  transition: 1s ease 0.5s;
}
.trigger.delay-10 {
  transition: 1s ease 1s;
}
.trigger.delay-15 {
  transition: 1s ease 1.5s;
}
.trigger.delay-20 {
  transition: 1s ease 2s;
}
.trigger.delay-25 {
  transition: 1s ease 2.5s;
}
.trigger.delay-30 {
  transition: 1s ease 3s;
}
.trigger.opa.is-trigger {
  opacity: 1;
}
.trigger.slideright {
  transform: translateX(-10%);
}
.trigger.slideright.is-trigger {
  opacity: 1;
  transform: revert;
}
.trigger.fall {
  transform: scale(1.2);
}
.trigger.fall.is-trigger {
  opacity: 1;
  transform: revert;
}
/*# sourceMappingURL=main.css.map */