@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : subpage.css
Description : 下層
===================================================================== */
/* =====================================================================
    共通
======================================================================*/
@media screen and (max-width: 767px) {
  .btn-menu {
    display: block !important;
    opacity: 1 !important;
  }
}
.main > section {
  padding: 10rem 0 20rem;
}
.main > section > section {
  padding: 10rem 0;
}
.main > section > section:first-of-type {
  padding-top: 0;
}
.main > section > section:last-of-type {
  padding-bottom: 20rem;
}

.page-ttl {
  margin: 0 0 8rem calc(-22 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .page-ttl {
    margin: 0 0 5rem calc(-18 / 1200 * 100%);
    width: calc(650 / 1200 * 100%);
  }
}

/* =====================================================================
    submv
======================================================================*/
#outline .submv {
  background: url(../images/outline/img_submv-sp.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  #outline .submv {
    background-image: url(../images/outline/img_submv-pc.jpg);
  }
}

#ticket .submv {
  background: url(../images/ticket/img_submv-sp.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  #ticket .submv {
    background-image: url(../images/ticket/img_submv-pc.jpg);
  }
}

#highlight .submv {
  background: url(../images/highlight/img_submv-sp.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  #highlight .submv {
    background-image: url(../images/highlight/img_submv-pc.jpg);
  }
}

#special .submv {
  background: url(../images/special/img_submv-sp.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  #special .submv {
    background-image: url(../images/special/img_submv-pc.jpg);
  }
}

#goods .submv {
  background: url(../images/goods/img_submv-sp.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  #goods .submv {
    background-image: url(../images/goods/img_submv-pc.jpg);
  }
}

#ambassador .submv {
  background: url(../images/ambassador/img_submv-sp.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  #ambassador .submv {
    background-image: url(../images/ambassador/img_submv-pc.jpg);
  }
}

#en .submv {
  background: url(../images/en/img_submv-sp.jpg) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  #en .submv {
    background-image: url(../images/en/img_submv-pc.jpg);
  }
}

.submv {
  width: 100%;
  height: calc(340 / 750 * 100vw);
}
@media screen and (min-width: 768px) {
  .submv {
    height: calc(400 / 1920 * 100vw);
  }
}
.submv-hokusai {
  position: absolute;
  top: 0;
  left: 0;
  margin: calc(24 / 750 * 100%) 0 0 calc(21 / 750 * 100%);
  width: calc(518 / 750 * 100%);
}
@media screen and (min-width: 768px) {
  .submv-hokusai {
    margin: calc(157 / 1920 * 100%) 0 0 calc(1301 / 1920 * 100%);
    width: calc(518 / 1920 * 100%);
  }
}
.submv > a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* =====================================================================
    outline
======================================================================*/
.outline .outline-list {
  position: relative;
  padding: calc(50 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .outline .outline-list {
    padding: 8rem calc(100 / 1200 * 100%);
  }
}
.outline .outline-list::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #292931;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .outline .outline-list::before {
    width: calc(50vw + 45rem);
  }
}

.googleMap {
  width: 100%;
  border-radius: 0.6rem;
  overflow: hidden;
}
.googleMap iframe {
  width: 100%;
}

a.btn-map {
  position: relative;
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 9em;
  padding: 0.4em;
  font-weight: 900;
  border-radius: 2em;
  letter-spacing: 0;
  color: #ffffff;
  background-color: #00547b;
}
a.btn-map::after {
  content: "";
  display: inline-block;
  margin-left: 0.8em;
  width: 1em;
  height: 0.8em;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.7 25.4"><polygon points="14 0 12.6 1.4 19.9 8.7 0 8.7 0 10.7 21.9 10.7 23.9 12.7 21.9 14.7 0 14.7 0 16.7 19.9 16.7 12.6 24 14 25.5 26.7 12.7 14 0"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.7 25.4"><polygon points="14 0 12.6 1.4 19.9 8.7 0 8.7 0 10.7 21.9 10.7 23.9 12.7 21.9 14.7 0 14.7 0 16.7 19.9 16.7 12.6 24 14 25.5 26.7 12.7 14 0"/></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: currentColor;
}
@media screen and (min-width: 768px) {
  a.btn-map {
    margin-left: 0;
    transition-property: background-color, color;
  }
  a.btn-map:hover {
    opacity: 1;
    color: #292931;
    background-color: #96ffff;
  }
}

/* =====================================================================
    ticket
======================================================================*/
.ticket {
  padding-bottom: 0 !important;
}
.ticket-anchor, .goods-anchor {
  margin: 0 0 8rem calc(50 / 650 * 100%);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .ticket-anchor, .goods-anchor {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 0 6rem;
  }
}
.ticket-anchor li, .goods-anchor li {
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  .ticket-anchor li, .goods-anchor li {
    margin: 0 0.2em 0.4em;
    font-size: 111%;
  }
}
.ticket-anchor li a, .goods-anchor li a {
  position: relative;
  display: flex;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  color: #ffffff;
  background-color: #fb008c;
}
@media screen and (min-width: 768px) {
  .ticket-anchor li a, .goods-anchor li a {
    transition: background-color 0.3s ease;
  }
  .ticket-anchor li a:hover, .goods-anchor li a:hover {
    opacity: 1;
    background-color: #292931;
  }
}
.ticket-anchor li a::after, .goods-anchor li a::after {
  content: "";
  position: relative;
  display: inline-block;
  top: 0;
  right: 0;
  width: 4em;
  height: 3.333em;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.7 25.4"><polygon points="14 0 12.6 1.4 19.9 8.7 0 8.7 0 10.7 21.9 10.7 23.9 12.7 21.9 14.7 0 14.7 0 16.7 19.9 16.7 12.6 24 14 25.5 26.7 12.7 14 0"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 26.7 25.4"><polygon points="14 0 12.6 1.4 19.9 8.7 0 8.7 0 10.7 21.9 10.7 23.9 12.7 21.9 14.7 0 14.7 0 16.7 19.9 16.7 12.6 24 14 25.5 26.7 12.7 14 0"/></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: currentColor;
  -webkit-mask-size: 20%;
          mask-size: 20%;
  transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  .ticket-anchor li a::after, .goods-anchor li a::after {
    width: 3em;
    -webkit-mask-size: 35%;
            mask-size: 35%;
  }
}
.ticket-anchor li a span, .goods-anchor li a span {
  flex-grow: 1;
  padding: 1.2em 1.666em;
  border-right: 0.066em solid #e3ded8;
}
.ticket-ttl, .ambassador-head-right h4, .goods-ttl {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 4rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 120%;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .ticket-ttl, .ambassador-head-right h4, .goods-ttl {
    margin-bottom: 1rem;
    font-size: 166%;
  }
}
.ticket-ttl::before, .ambassador-head-right h4::before, .goods-ttl::before {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  top: 0;
  left: 0;
  margin-right: 0.5em;
  width: 3.2rem;
  height: 6rem;
  background: url(../images/common/icon_triangle.svg) no-repeat center/contain;
}
.ticket-box {
  padding: calc(50 / 650 * 100%);
  color: #ffffff;
  background-color: #292931;
}
@media screen and (min-width: 768px) {
  .ticket-box {
    padding: 4rem calc(80 / 1200 * 100%);
  }
}
.ticket-box:not(:last-child) {
  margin-bottom: 5rem;
}
.ticket-box h4 {
  position: relative;
  margin: 0 0 6rem -9.0909090909%;
  padding: 0.5em;
  padding-left: 9.0909090909%;
  font-size: 128%;
  color: #96ffff;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .ticket-box h4 {
    margin: 0 0 4rem -7.6923076923%;
    padding: 0 0 4rem;
    padding-left: 7.6923076923%;
    font-size: 166%;
  }
}
.ticket-box h4::before {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
  border-bottom: 1px solid currentColor;
}
.ticket-box-inner > *:not(:last-child), .ticket-box-right > *:not(:last-child) {
  margin-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .ticket-box-inner > *:not(:last-child), .ticket-box-right > *:not(:last-child) {
    margin-bottom: 4rem;
  }
}
@media screen and (min-width: 768px) {
  .ticket-box-inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}
.ticket-box figure {
  margin-left: auto;
  margin-right: auto;
  width: 90.9090909091%;
}
@media screen and (min-width: 768px) {
  .ticket-box figure {
    flex-shrink: 0;
    margin: 0 5.7692307692% 0 0;
    width: 36.5384615385%;
  }
}
.ticket-box figure img {
  border-radius: 1.2rem;
}
.ticket-box p a {
  position: relative;
  display: inline-block;
  padding-left: 1.5em;
  color: #fb008c;
}
.ticket-box p a::before {
  content: "";
  position: absolute;
  display: block;
  top: 0.4em;
  left: 0;
  width: 1.2em;
  height: 1.2em;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25"><g><path d="M12.5,25C5.6,25,0,19.4,0,12.5S1.3,6,3.7,3.6C6,1.3,9.2,0,12.5,0h0c3.3,0,6.5,1.3,8.8,3.7,2.4,2.4,3.7,5.5,3.7,8.8,0,6.9-5.6,12.5-12.5,12.5ZM12.5,1c-3.1,0-5.9,1.2-8.1,3.4-2.2,2.2-3.4,5.1-3.4,8.1,0,6.3,5.2,11.5,11.5,11.5s11.5-5.2,11.5-11.5c0-3.1-1.2-5.9-3.4-8.1-2.2-2.2-5.1-3.4-8.1-3.4h0Z"/><path d="M10.9,17c-.2,0-.3,0-.4-.2-.2-.2-.1-.5,0-.7l4.2-3.2-4.2-3.2c-.2-.2-.3-.5,0-.7.2-.2.5-.3.7,0l4.7,3.6c.1,0,.2.2.2.4s0,.3-.2.4l-4.7,3.6c0,0-.2.1-.3.1Z"/></g></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 25"><g><path d="M12.5,25C5.6,25,0,19.4,0,12.5S1.3,6,3.7,3.6C6,1.3,9.2,0,12.5,0h0c3.3,0,6.5,1.3,8.8,3.7,2.4,2.4,3.7,5.5,3.7,8.8,0,6.9-5.6,12.5-12.5,12.5ZM12.5,1c-3.1,0-5.9,1.2-8.1,3.4-2.2,2.2-3.4,5.1-3.4,8.1,0,6.3,5.2,11.5,11.5,11.5s11.5-5.2,11.5-11.5c0-3.1-1.2-5.9-3.4-8.1-2.2-2.2-5.1-3.4-8.1-3.4h0Z"/><path d="M10.9,17c-.2,0-.3,0-.4-.2-.2-.2-.1-.5,0-.7l4.2-3.2-4.2-3.2c-.2-.2-.3-.5,0-.7.2-.2.5-.3.7,0l4.7,3.6c.1,0,.2.2.2.4s0,.3-.2.4l-4.7,3.6c0,0-.2.1-.3.1Z"/></g></svg>');
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: currentColor;
}
@media screen and (min-width: 768px) {
  .ticket-box-left {
    flex-shrink: 0;
    margin-right: 5.7692307692%;
    width: 47.1153846154%;
  }
  .ticket-box-right {
    flex: 1;
  }
}
.ticket-box-fee dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6em 1em;
  font-weight: 700;
  font-size: 107%;
  line-height: 1.3;
  background-color: #31313d;
}
@media screen and (min-width: 768px) {
  .ticket-box-fee dl {
    font-size: 133%;
  }
}
.ticket-box-fee dl:not(:last-child) {
  margin-bottom: 0.3em;
}
.ticket-box-fee dl dt {
  min-width: 7em;
  color: #a2a2ab;
}
.ticket-box-fee dl dd {
  line-height: initial;
  color: #fb008c;
  font-size: 128%;
}
.ticket-box-fee dl dd small {
  font-size: 50%;
}
.ticket-box .text-link {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .ticket-box .text-link {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 2rem 4%;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .ticket-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .ticket-wrap .ticket-subttl {
    flex-shrink: 0;
  }
  .ticket-wrap-right {
    width: calc(860 / 1200 * 100%);
  }
}
.ticket-fee {
  background-color: #ecebe9;
}

/* fee
-----------------------------------------*/
.fee-table {
  font-size: 107%;
}
@media screen and (min-width: 768px) {
  .fee-table {
    font-size: 2.6rem;
  }
}
.fee-table-head dt {
  background-color: #e2dfdc;
}
.fee-table dl {
  display: flex;
  text-align: center;
  font-weight: 700;
}
.fee-table dl > * {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1em 0;
  width: 33.3333333333%;
  line-height: 1.333;
  border-bottom: 1px solid #292931;
}
.fee-table dl > *:not(:last-child) {
  border-right: 1px solid #292931;
}
.fee-table dl > * small {
  font-size: 75%;
}
@media screen and (min-width: 768px) {
  .fee-table dl > * {
    flex-grow: 1;
  }
  .fee-table dl > *:first-child {
    width: 23%;
  }
}
.fee-table dl dt {
  flex-shrink: 0;
  text-align: center;
  letter-spacing: 0.05em;
  color: #87817a;
}
.fee-table dl dd {
  flex-grow: 1;
}

.notice {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .notice {
    margin-top: 2rem;
  }
}
.notice li {
  position: relative;
  padding-left: 1.2em;
  font-size: 92%;
  color: #87817a;
  line-height: 2.142;
}
.notice li::before {
  content: "※";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
}

/* guide
-----------------------------------------*/
.guide-list {
  padding: 10rem calc(50 / 650 * 100%);
  background-color: #ffffff;
  border-radius: 1.2rem;
}
@media screen and (min-width: 768px) {
  .guide-list {
    padding: 4rem 5.8139534884%;
  }
}
.guide-list > li {
  display: flex;
  justify-content: space-between;
}
.guide-list > li:not(:last-child) {
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .guide-list > li:not(:last-child) {
    margin-bottom: 1rem;
  }
}
.guide-list > li h4,
.guide-list > li .guide-list-inner > * {
  padding: 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .guide-list > li h4,
  .guide-list > li .guide-list-inner > * {
    padding: 2.5rem 0;
  }
}
.guide-list > li h4 {
  flex-shrink: 0;
  display: grid;
  align-items: center;
  margin-right: 5.4545454545%;
  padding-right: 5.4545454545%;
  width: 36.3636363636%;
  border-right: 1px solid;
}
@media screen and (min-width: 768px) {
  .guide-list > li h4 {
    margin-right: 3.9473684211%;
    padding-right: 3.9473684211%;
    width: 26.3157894737%;
  }
}
.guide-list-inner {
  display: grid;
  align-items: center;
  flex-grow: 1;
  font-size: 92%;
}
.guide-list-inner p {
  line-height: 1.461;
}
.guide-list-inner a {
  color: #fb008c;
}

/* =====================================================================
    highlight
======================================================================*/
.article-content figure figcaption, .highlight figure figcaption {
  margin-top: 0.5em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 78%;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .article-content figure figcaption, .highlight figure figcaption {
    font-size: 88%;
  }
}
.article-content figure figcaption span, .highlight figure figcaption span {
  background-color: #96ffff;
}

.highlight {
  padding-bottom: 0 !important;
}
@media screen and (min-width: 768px) {
  .highlight .page-ttl {
    margin-bottom: 10rem;
  }
}
.highlight-ttl {
  position: absolute;
  top: -0.15em;
  left: 0;
  margin-left: -8%;
  display: flex;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 120%;
  line-height: 1.3;
  writing-mode: vertical-lr;
}
@media screen and (min-width: 768px) {
  .highlight-ttl {
    margin-left: 0;
    font-size: 3.6rem;
  }
}
.highlight-ttl::before {
  content: "";
  display: inline-block;
  top: 0;
  left: 0;
  margin-bottom: 0.2em;
  width: 0.5em;
  height: 0.944em;
  background: url(../images/common/icon_triangle.svg) no-repeat center/contain;
  transform: rotate(90deg);
}
.highlight-outline-right {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10rem;
  padding: 10rem calc(50 / 650 * 100%);
  width: calc(700 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .highlight-outline-right {
    gap: 8rem;
    margin-left: auto;
    padding: 9rem calc(80 / 1200 * 100%);
    padding-right: 0;
    width: calc(1130 / 1200 * 100%);
  }
}
.highlight-outline-right::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #292931;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .highlight-outline-right::before {
    width: calc(50vw + 38rem);
  }
}
.highlight-outline p {
  color: #ffffff;
}
.highlight-outline figure {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  margin-left: -25%;
  width: calc(750 / 600 * 100%);
}
@media screen and (min-width: 768px) {
  .highlight-outline figure {
    justify-content: space-between;
    margin-left: -14.2857142857%;
    width: calc(1200 / 1050 * 100%);
  }
}
.highlight-outline figure img {
  width: calc(670 / 750 * 100%);
}
@media screen and (min-width: 768px) {
  .highlight-outline figure img {
    width: calc(1100 / 1200 * 100%);
  }
}
.highlight-outline figure figcaption {
  margin-top: 0;
  writing-mode: vertical-rl;
}
.highlight-contents {
  margin-top: 14rem;
  padding-top: 0 !important;
  background-color: #d9d5d1;
}
@media screen and (min-width: 768px) {
  .highlight-contents {
    margin-top: 12rem;
  }
}
.highlight-contents::before {
  content: "";
  position: absolute;
  display: block;
  top: -12rem;
  right: 0;
  width: 100vw;
  height: calc(374 / 750 * 100vw);
  background: url(../images/highlight/bg_wave.svg) no-repeat top center/cover;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .highlight-contents::before {
    height: calc(550 / 1920 * 100vw);
  }
}
.highlight-subttl {
  font-size: 114%;
}
@media screen and (min-width: 768px) {
  .highlight-subttl {
    display: flex;
    align-items: center;
    font-size: 144%;
  }
}
.highlight-subttl img {
  margin-bottom: 0.6em;
  width: 2.093em;
}
@media screen and (min-width: 768px) {
  .highlight-subttl img {
    margin: 0 0.692em 0 0;
    width: 2.346em;
  }
}
.highlight-subttl h4 {
  padding-bottom: 3rem;
  width: 100%;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  line-height: 1.875;
  border-bottom: 1px solid;
}
@media screen and (min-width: 768px) {
  .highlight-list {
    padding-top: 8.5rem;
  }
}
.highlight-list > li {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
.highlight-list > li:not(:last-child) {
  margin-bottom: 8rem;
}
.highlight-list > li .highlight-subttl,
.highlight-list > li p,
.highlight-list > li .highlight-list-img {
  margin-left: calc(50 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .highlight-list > li .highlight-subttl,
  .highlight-list > li p,
  .highlight-list > li .highlight-list-img {
    margin-left: calc(5.8% + 4.4em);
  }
}
@media screen and (min-width: 768px) {
  .highlight-list > li .highlight-subttl {
    margin-left: calc(70 / 1200 * 100%);
  }
}
.highlight-list-img {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem calc(20 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .highlight-list-img {
    gap: 2.4rem calc(24 / 1200 * 100%);
  }
}
.highlight-list-img li {
  width: 48.3333333333%;
}
.highlight-list-img li[data-popup] {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .highlight-list-img li {
    width: calc(282 / 1200 * 100%);
  }
}
.highlight-list .theme {
  text-align: center;
}
.highlight-list .theme > span {
  background-color: #96ffff;
  margin-bottom: 0;
}

.popup-list > li figure {
  margin-bottom: 4rem;
}
.popup-list > li figure img {
  margin: auto;
  width: auto;
  max-width: 100%;
  max-height: 65rem;
}
@media screen and (min-width: 768px) {
  .popup-list > li figure img {
    max-width: 72.7272727273%;
    max-height: 80rem;
  }
}

/* =====================================================================
    special
======================================================================*/
.special-tab {
  margin-bottom: 10rem;
  padding: 4rem calc(50 / 650 * 100%);
  background-color: #d9d5d1;
}
@media screen and (max-width: 767px) {
  .special-tab {
    margin-left: calc(-50 / 650 * 100%);
    width: calc(750 / 650 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .special-tab {
    display: flex;
    align-items: center;
    margin-bottom: 6rem;
    padding: 5rem calc(70 / 1200 * 100%);
  }
}
.special-tab-ttl {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 114%;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .special-tab-ttl {
    flex-shrink: 0;
    margin: 0 2em 0 0;
    font-size: 122%;
  }
}
.special-tab .tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem calc(16 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .special-tab .tab-list {
    flex-grow: 1;
    gap: 0.8rem 0.7547169811%;
  }
}
.special-tab .tab-list li {
  text-align: center;
  width: calc(206 / 650 * 100%);
  padding: 2.5rem 0;
  line-height: 1.3;
  font-weight: 700;
  background-color: #c5c2be;
}
@media screen and (min-width: 768px) {
  .special-tab .tab-list li {
    min-width: 7em;
    width: auto;
    padding: 0.4em;
    font-size: 111%;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }
  .special-tab .tab-list li:hover {
    background-color: #a4a09b;
  }
}

@media screen and (max-width: 767px) {
  .article {
    width: calc(700 / 650 * 100%);
  }
}
.article:not(:last-child) {
  margin-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  .article:not(:last-child) {
    margin-bottom: 8rem;
  }
}
.article-header {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  background-color: #292931;
}
.article-header-cat {
  display: inline-grid;
  align-items: center;
  flex-shrink: 0;
  padding: 0.2em 1em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  background-color: #96ffff;
}
.article-header time {
  flex-grow: 1;
  margin-left: 0.4rem;
  padding: 0.4em 0 0.4em 1em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  color: #96ffff;
  border-bottom: 1px solid;
}
.article-header h3 {
  padding: 5rem calc(50 / 650 * 100%);
  width: 100%;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 114%;
  color: #ffffff;
  line-height: 1.437;
}
@media screen and (min-width: 768px) {
  .article-header h3 {
    padding: 4rem calc(50 / 1200 * 100%);
    font-size: 144%;
  }
}
.article-content {
  padding: 5rem calc(65 / 650 * 100%);
  line-height: 2.142;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .article-content {
    padding: 5rem calc(50 / 1200 * 100%);
  }
}
.article-content > *:not(:last-child) {
  margin-bottom: 4rem;
}
.article-content p strong {
  font-weight: normal;
  color: #96ffff;
  background-color: #292931;
}
.article-content .btn01 {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .article-content .btn01 {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    -moz-column-gap: 3.6363636364%;
         column-gap: 3.6363636364%;
  }
}
.article-content .btn01 a {
  color: #fb008c;
}
@media screen and (min-width: 768px) {
  .article-content .btn01 a {
    width: 41.8181818182%;
  }
  .article-content .btn01 a:hover {
    color: #292931;
    background-color: #fb008c;
  }
}
.article-content-img {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .article-content-img {
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap;
    -moz-column-gap: 5.4545454545%;
         column-gap: 5.4545454545%;
  }
}
.article-content-img li {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .article-content-img li {
    width: 47.2727272727%;
  }
}

/* =====================================================================
    goods
======================================================================*/
.goods {
  padding-bottom: 0 !important;
}
.goods-anchor {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .goods-anchor li {
    font-size: 100%;
  }
}
.goods-head {
  padding: 6rem 0 10rem !important;
  color: #ffffff;
  background-color: #292931;
}
@media screen and (min-width: 768px) {
  .goods-head {
    padding: 3rem 0 7rem !important;
  }
  .goods-head-wrap {
    display: flex;
    justify-content: space-between;
  }
}
.goods-head .goods-ttl {
  padding-bottom: 0;
  border-bottom: 0;
}
@media screen and (min-width: 768px) {
  .goods-head .goods-ttl {
    margin-bottom: 2rem;
  }
}
.goods-head figure {
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .goods-head figure {
    margin: 0;
    width: calc(380 / 1200 * 100%);
  }
}
@media screen and (min-width: 768px) {
  .goods-head-right {
    width: calc(760 / 1200 * 100%);
  }
}
.goods-head dl dt {
  font-size: 128%;
  line-height: 1.555;
  color: #96ffff;
  margin-bottom: 4rem;
  padding-bottom: 4rem;
  border-bottom: 1px solid currentColor;
}
.goods-note {
  color: #87817a;
  margin-top: 8rem;
}
.goods-ttl {
  font-size: 164%;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #96ffff;
}
.goods-ttl + p {
  margin-bottom: 6rem;
}
.goods-sub {
  margin: 6rem 0;
}
@media screen and (min-width: 768px) {
  .goods-sub {
    margin: 4rem 0;
  }
}
.goods-sub-ttl {
  display: inline-block;
  padding: 0 0.5em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 154%;
  line-height: 1.4;
  color: #ffffff;
  background-color: #fb008c;
}
.goods-sub p {
  margin-top: 0.8em;
}
.goods-list {
  display: flex;
  flex-direction: column;
  gap: 5rem 0;
}
@media screen and (min-width: 768px) {
  .goods-list {
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
    gap: 3rem calc(30 / 1200 * 100%);
  }
}
.goods-list-slider .slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 1em;
  font-size: 57%;
}
.goods-list-slider .slick-dots li {
  display: inline-block;
  margin: 0 0.5em;
  width: 1em;
  height: 1em;
}
.goods-list-slider .slick-dots li button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: transparent;
}
.goods-list-slider .slick-dots li button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #d2ceca;
  border-radius: 50%;
  transition: background-color 0.5s ease;
}
@media screen and (min-width: 768px) {
  .goods-list-slider .slick-dots li button:hover {
    opacity: 1;
  }
  .goods-list-slider .slick-dots li button:hover::before {
    background-color: #292931;
  }
}
.goods-list-slider .slick-dots li.slick-active button::before {
  background-color: #292931;
}
.goods-list > li {
  width: 100%;
  line-height: 2.142;
  background-color: #ecebe9;
}
@media screen and (min-width: 768px) {
  .goods-list > li {
    width: calc(380 / 1200 * 100%);
  }
}
.goods-list > li figure {
  margin-bottom: 1.3em;
}
.goods-list > li h4 {
  font-size: 125%;
  font-weight: 700;
  line-height: 1.571;
}
.goods-list > li .price {
  margin-top: 0.2em;
  font-size: 125%;
  font-weight: 700;
  line-height: 1.3;
  color: #fb008c;
}
.goods-list > li .price small {
  font-size: 70%;
}
.goods-list > li p:not(.price) {
  margin-top: 1em;
  padding-top: 0.8em;
  border-top: 1px solid #d2ceca;
}
@media screen and (min-width: 768px) {
  .goods-list > li p:not(.price) {
    font-size: 88%;
  }
}
.goods-list-text {
  padding: calc(30 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .goods-list-text {
    padding: 5.2631578947%;
  }
}

/* =====================================================================
    ambassador
======================================================================*/
.ambassador-subttl {
  position: relative;
  text-align: center;
  margin-bottom: 5rem;
  padding: 1em 0;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 142%;
  line-height: 1.5;
  color: #fb008c;
}
@media screen and (min-width: 768px) {
  .ambassador-subttl {
    margin-bottom: 4rem;
    padding: 0.4em 0;
    font-size: 200%;
  }
}
.ambassador-subttl::before, .ambassador-subttl::after {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  border-top: 1px solid currentColor;
}
.ambassador-subttl::after {
  top: auto;
  bottom: 0;
}
.ambassador-group:not(:last-child) {
  margin-bottom: 16rem;
}
@media screen and (min-width: 768px) {
  .ambassador-group:not(:last-child) {
    margin-bottom: 10rem;
  }
}
.ambassador-group-content {
  position: relative;
  padding-bottom: 8rem;
  color: #ffffff;
  background-color: #292931;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .ambassador-group-content {
    padding-bottom: 6rem;
  }
}
.ambassador-group-content::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: calc(120 / 650 * 100%);
  height: 100%;
  background: url(../images/ambassador/text_AMBASSADOR.svg) no-repeat top center/contain;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .ambassador-group-content::before {
    width: calc(76 / 1200 * 100%);
  }
}
.ambassador-group.audio_guide .ambassador-group-content {
  min-height: 80rem;
}
.ambassador-group.audio_guide .ambassador-group-content::before {
  background-image: url(../images/ambassador/text_AUDIOGUIDE.svg);
}
.ambassador-head {
  padding: calc(30 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .ambassador-head {
    display: flex;
    justify-content: space-between;
    padding: 4rem calc(100 / 1200 * 100%);
  }
  .ambassador-head figure {
    width: 38%;
  }
}
.ambassador-head-right {
  margin-top: 9rem;
  padding: 0 3.3898305085%;
}
@media screen and (min-width: 768px) {
  .ambassador-head-right {
    margin-top: 5rem;
    padding: 0;
    width: 56%;
  }
}
@media screen and (min-width: 768px) {
  .ambassador-head-right h4 {
    font-size: 200%;
  }
}
.ambassador-head-right h4::before {
  background-image: url(../images/common/icon_triangle_pink.svg);
}
.ambassador-comment dt, .ambassador-profile dt {
  padding-bottom: 0.8em;
}
.ambassador-comment {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .ambassador-comment {
    margin-top: 5rem;
  }
}
.ambassador-comment dt {
  margin-bottom: 0.8em;
  border-bottom: 1px solid #96ffff;
}
.ambassador-comment dt img {
  width: 5.28em;
}
.ambassador-profile {
  margin-top: 6rem;
  padding: 8rem calc(50 / 650 * 100%);
  background-color: rgba(75, 74, 86, 0.5);
}
@media screen and (min-width: 768px) {
  .ambassador-profile {
    margin-top: 0;
    padding: 5rem calc(100 / 1200 * 100%);
  }
}
.ambassador-profile > * {
  padding-left: 3rem;
  border-left: 1px solid #96ffff;
}
.ambassador-profile dt img {
  width: 4.28em;
}
.ambassador-table {
  margin-top: 8rem;
  padding: 0 calc(50 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .ambassador-table {
    margin-top: 6rem;
    padding: 0 calc(100 / 1200 * 100%);
  }
}
.ambassador-table dl {
  display: flex;
  border-top: 1px solid #87859a;
  border-bottom: 1px solid #87859a;
}
.ambassador-table dl:not(:first-child) {
  border-top: 0;
}
.ambassador-table dl > * {
  padding: 2rem;
  font-size: 107%;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.533;
}
.ambassador-table dl > * small {
  font-size: 70%;
}
@media screen and (min-width: 768px) {
  .ambassador-table dl > * {
    padding: 3rem 4rem;
  }
}
.ambassador-table dl dt {
  flex-shrink: 0;
  display: grid;
  align-items: center;
  justify-content: center;
  width: 7.5em;
  color: #96ffff;
  background-color: #3a3a44;
  border-right: 1px solid #87859a;
}
@media screen and (min-width: 768px) {
  .ambassador-table dl dt {
    text-align: center;
    flex-shrink: 0;
    width: 13em;
  }
}
.ambassador-table dl dd {
  flex-grow: 1;
}

/* =====================================================================
    en
======================================================================*/
.en {
  padding-bottom: 0 !important;
}
.en .page-ttl {
  margin: 0 0 6rem 0;
}
@media screen and (min-width: 768px) {
  .en-head {
    display: flex;
    align-items: center;
  }
}
.en-head-deco {
  margin: 4rem calc(50% - 50vw) 0;
}
@media screen and (min-width: 768px) {
  .en-head-deco {
    flex-shrink: 0;
    width: calc(780 / 1200 * 100%);
    margin: 0 calc(-260 / 1200 * 100%) 0 calc(60 / 1200 * 100%);
  }
}
.en-outline {
  padding: 5rem 0 !important;
}
@media screen and (min-width: 768px) {
  .en-outline {
    padding: 12rem 0 !important;
  }
}
.en-outline > .inner {
  position: relative;
  padding: calc(50 / 650 * 100%);
}
@media screen and (min-width: 768px) {
  .en-outline > .inner {
    padding: 8rem calc(100 / 1200 * 100%);
  }
}
.en-outline > .inner::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #292931;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .en-outline > .inner::before {
    width: calc(50vw + 45rem);
  }
}
.en-outline h2 {
  margin-bottom: 7rem;
  width: 33.4rem;
}
@media screen and (min-width: 768px) {
  .en-outline h2 {
    margin-bottom: 3rem;
  }
}
.en-admission {
  background-color: #ecebe9;
}
.en-admission h2 {
  margin-bottom: 6rem;
  width: 49.3rem;
}
@media screen and (min-width: 768px) {
  .en-admission h2 {
    margin: 0 calc(40 / 1200 * 100%) 0 0;
    width: 34.1rem;
  }
}/*# sourceMappingURL=subpage.css.map */