@charset "utf-8";
:root {
  --color-maroon: #e50012;
  --color-violet: #541b86;
  --color-golden: #a7923f;
  --color-grey: #c7c8c8;
  --font-noto-serif: "Noto Sans JP", sans-serif;
  --font-serif: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
main {
  background: #000;
  width: 750px;
  margin-inline: auto;
  padding-bottom: 1px;
  text-align: center;
  line-height: 1.333;
  color: #fff;
  font-size: 22px;
  font-weight: normal;
}
main p {
  line-height: 1.7;
}
main .serif {
  font-family: var(--font-serif);
}
main strong {
  font-weight: 900;
}
main em {
  font-style: normal;
}
main small {
  font-size: 0.85em;
}
main .palt {
  font-feature-settings: "palt";
}
main .underline {
  text-decoration-line: underline;
  text-decoration-thickness: 0.15em;
}
/*===================================================

Mainvisual
===================================================*/
#area-mainvisual > p {
  margin: 40px 25px 0;
  text-align: center;
  font-feature-settings: "palt";
}
#area-mainvisual nav ul {
  display: flex;
  flex-wrap: wrap;
  margin: 30px 25px 0;
  background: #FFF;
}
#area-mainvisual nav li {
  flex: 1 1 50%;
  height: 95px;
}
#area-mainvisual nav li a {
  display: grid;

  align-items: flex-end;
  justify-content: center;
  height: 100%;
  padding-bottom: 5px;
}
#area-mainvisual nav li:has(a[href*="kyoto"]) {
  background: var(--color-maroon);
}
#area-mainvisual nav li:has(a[href*="tokyo"]) {
  background: var(--color-violet);
}
#area-mainvisual nav li:has(a[href*="about"]) {
  background: var(--color-golden);
}
#area-mainvisual nav li:has(a[href*="pdf"]) {
  background: var(--color-grey);
}
#area-mainvisual nav li.disabled{
  pointer-events:none;
  opacity: .25;
}
/*===================================================

Item list
===================================================*/
.area-items {
  padding: 110px 25px;
}
.area-items + .area-items {
  padding-top: 0;
}
.items-list {
  margin-top: 30px;
}
.items-list li + li {
  margin-top: 10px;
}
.items-list button {
  padding: 0;
  margin: 0;
  display: block;
  appearance: none;
  background: none;
  border: none;
  position: relative;
  cursor: pointer;
}
.items-list button:after {
  content: "";
  width: 30px;
  height: 100%;
  position: absolute;
  right: 30px;
  top: 0;
}
.items-list .btn-open:after {
  background: url(/base/osaka/tozaimeisho/img/250806/top/ico-arrow.svg) no-repeat center center / contain;
  transition: transform 0.2s;
}
.items-list li.active .btn-open:after {
  transform: rotate(-180deg);
}
.items-list .btn-close {
  width: 600px;
  line-height: 70px;
  margin: 40px auto 0;
  background: #a2a2a2;
  text-align: center;
  color: #fff;
  font-family: var(--font-serif);
  font-size: 36px;
}
.items-list .btn-close:after {
  background: url(/base/osaka/tozaimeisho/img/250806/top/ico-close.svg) no-repeat center center/contain;
}
.items-list .item-body {
  display: grid;
  grid-template-rows: 0fr;
  background: #fff;
  transition: grid-template-rows 0.5s;
}
.items-list > li.active .item-body {
  grid-template-rows: 1fr;
  margin-bottom: 50px;
}
.items-list .item-body .overflow {
  overflow: hidden;
}
.items-list .item-body .inner {
  text-align: center;
  color: #000;
  padding: 30px 50px;
}
.items-list .item-body h3 {
  margin: 15px auto 10px;
  color: var(--color-maroon);
  font-family: var(--font-serif);
  font-size: 36px;
  font-feature-settings: "palt";
}
#area-tokyo .items-list .item-body h3 {
  color: var(--color-violet);
}
.items-list .item-body h3 + p {
  margin-bottom: 50px;
  font-family: var(--font-serif);
  font-feature-settings: "palt";
}
.items-list .item-body figure {
  margin-inline: auto;
}
.items-list .item-body figure + figure {
  margin-top: 60px;
}
.items-list .item-body figure img {
  max-width: 100%;
}
.items-list .item-body figcaption {
  max-width: 500px;
  margin: 20px auto 0;
  font-size: 20px;
  color: var(--color-golden);
  text-align: justify;
}
.items-list .item-body figcaption.center {
  font-size: 22px;
  text-align: center !important;
  color: #000;
}
.items-list .item-body .fig-cols {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
}
.items-list .item-body .fig-cols figure {
  margin: 0;
}
.items-list .item-body .sub-text {
  margin-top: 30px;
  font-family: var(--font-noto-serif);
  font-size: 20px;
  line-height: 1.3;
}
.items-list .item-body small {
  font-size: 80%;
}
.items-list .item-body em {
  font-size: 120%;
  font-style: normal;
  line-height: 1.2;
}
/*===================================================

About
===================================================*/
#area-about {
  padding: 0 75px 100px;
  color: #fff;
}
#area-about h2 {
  color: var(--color-golden);
  font-family: var(--font-serif);
  font-size: 38px;
}
#area-about p {
  margin-top: 10px;
  font-family: var(--font-serif);
  text-align: center;
  font-size: 23px;
}
#area-about figure {
  margin: 80px auto 30px;
}
#area-about figcaption {
  margin: 11px auto 0;
  font-size: 18px;
  color: var(--color-golden);
  text-align: left;
}
/*===================================================

Disney
===================================================*/
#area-disney {
  margin-inline: 25px;
  padding: 60px 20px;
  background: #fff;
  color: #000;
  text-align: center;
}
#area-disney h2 {
  font-size: 36px;
  font-family: var(--font-serif);
}
#area-disney h2 img {
  display: block;
  margin: 0 auto 70px;
}
#area-disney h2 + p {
  font-family: var(--font-serif);
  font-feature-settings: "palt";
}
#area-disney > p + p {
  margin-top: 40px;
  font-size: 20px;
  line-height: 1.5;
}
#area-disney figure {
  margin-top: 50px;
}
#area-disney figcaption {
  margin-top: 20px;
}
#area-disney small {
  font-size: 80%;
}
#area-disney em {
  font-size: 120%;
  font-style: normal;
  line-height: 1.2;
}
.notices {
  margin: 100px 25px;
  padding: 30px 50px;
  border-block: 2px solid #fff;
  text-align: left;
  font-size: 18px;
}
