:root {
  --color-main: #ff8d28;
  --color-bg: #fff;
  --color-text: #333;
  --color-gray: #999999;
  --color-red: #e03220;
  --color-green: #436f2e;
  --color-brown: #9d803d;
  --color-darkbrown: #ad7813;
  --color-emerald: #0080ab;
  --color-mossgreen: #8ea499;
  --color-purple: #915ca3;
  --color-orange: #e38e35;
  --color-beige: #f9f8ef;
  --color-yellow: #ffd166;
  --shadow-text: 0 0 10px color-mix(in srgb, #000 100%, transparent);
  --shadow-box: 0px 0px 10px color-mix(in srgb, #000 25%, transparent);
  --font-text: "Gantari", "Zen Kaku Gothic New", sans-serif;
  --font-en: font-family: "Gantari", sans-serif;
  /*
  .zen-kaku-gothic-new-bold {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
  }

  .zen-kaku-gothic-new-black {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 900;
    font-style: normal;
  }

  .gantari-<uniquifier> {
    font-family: "Gantari", sans-serif;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: italic;
  }

  */
  --duration-transition: 800ms;
  --base: 400;
}
@media screen and (min-width: 768px) {
  :root {
    --base: 732;
  }
}
@media screen and (min-width: 1024px) {
  :root {
    --base: 1440;
  }
}

html {
  scroll-behavior: smooth;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 80px;
  }
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-text);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  height: 100%;
}
body:has(article.windows) {
  overflow: hidden;
}
body.menu-open {
  overflow: clip;
}
@media screen and (min-width: 1024px) {
  body.menu-open {
    overflow-x: visible;
  }
}

@media screen and (min-width: 768px) {
  .xs-only {
    display: none;
  }
}

.md-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .md-only {
    display: inline;
  }
}

.ts-only {
  display: block;
}
@media screen and (min-width: 1024px) {
  .ts-only {
    display: none;
  }
}

.lg-only {
  display: none;
}
@media screen and (min-width: 1024px) {
  .lg-only {
    display: inline;
  }
}

.bg-stripe-gray {
  background-image: url(../images/common/stripe-gray.webp);
  background-size: 50px 50px;
}

.bg-stripe-yellow {
  background-image: url(../images/common/stripe-yellow.webp);
  background-size: 50px 50px;
}

p {
  margin: 0;
  font-size: clamp(0.875rem, 0.6964rem + 0.7143vw, 1.25rem);
  line-height: 1.8;
  font-weight: 400;
}
p:not(:last-of-type) {
  margin-bottom: 1em;
}
@media screen and (min-width: 768px) {
  p {
    font-size: 1rem;
  }
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

button {
  cursor: pointer;
}

.btn-menu {
  width: min(40px, calc(40 / var(--base) * 100vw));
  height: min(40px, calc(40 / var(--base) * 100vw));
  margin: 0;
  border-style: none;
  background-color: transparent;
  background-color: color-mix(in srgb, #fff 60%, transparent);
  position: fixed;
  inset: 20px 20px auto auto;
  z-index: 4110;
}
.btn-menu::before, .btn-menu::after,
.btn-menu i {
  display: block;
  content: "";
  background-color: var(--color-text);
  width: 80%;
  height: 1px;
  position: absolute;
  transition: var(--duration-transition);
  translate: -50% -50%;
}
.btn-menu::before {
  inset: 12px 0 auto 50%;
}
.btn-menu::after {
  inset: auto 0 12px 50%;
}
.btn-menu i {
  inset: 50% 0 0 50%;
}
.btn-menu[aria-expanded=true] {
  background-color: transparent;
}
.btn-menu[aria-expanded=true]::before, .btn-menu[aria-expanded=true]::after,
.btn-menu[aria-expanded=true] i {
  inset: 50% 0 0 50%;
  rotate: 45deg;
}
.btn-menu[aria-expanded=true]::before {
  rotate: 45deg;
}
.btn-menu[aria-expanded=true]::after {
  rotate: -45deg;
}
@media screen and (min-width: 768px) {
  .btn-menu {
    display: none;
  }
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 10;
  transition: var(--duration-transition);
}
.site-header .site-nav {
  margin: 0;
  position: fixed;
  height: 100%;
  inset: 0 0 auto 0;
  z-index: 30;
  pointer-events: none;
  opacity: 0;
  scale: 0.95;
  transition: var(--duration-transition);
  /* Style */
  background: #fff;
  overflow-y: scroll;
  box-sizing: border-box;
}
.site-header .site-nav.is-open {
  opacity: 1;
  pointer-events: all;
  scale: 1;
}
.site-header .site-nav .list-menu {
  margin: 0;
  padding: 60px 40px;
  line-height: 1;
  font-size: calc(16 / var(--base) * 100vw);
}
.site-header .site-nav .list-menu li {
  margin: 0;
  list-style-type: none;
}
.site-header .site-nav .list-menu li:not(:last-of-type) {
  margin-bottom: calc(12 / var(--base) * 100vw);
}
.site-header .site-nav .list-menu li.sns {
  display: flex;
  margin-top: 24px;
  gap: min(16px, calc(16 / var(--base) * 100vw));
}
.site-header .site-nav .list-menu li.sns a {
  display: block;
  width: 32px;
  height: 32px;
  mask-repeat: no-repeat;
  mask-size: cover;
}
.site-header .site-nav .list-menu li.sns a.link-x {
  background-color: #232323;
  mask-image: url(../images/common/icon-x.svg);
}
.site-header .site-nav .list-menu li.sns a.link-facebook {
  background-color: #1877f2;
  mask-image: url(../images/common/icon-facebook.svg);
}
.site-header .site-nav .list-menu button,
.site-header .site-nav .list-menu a {
  padding: 0;
  text-decoration: none;
  background-color: transparent;
  border-style: none;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-text);
  --color-base: var(--color-text);
  color: var(--color-base);
}
.site-header .site-nav .list-menu button .ts-only,
.site-header .site-nav .list-menu a .ts-only {
  display: inline;
}
.site-header .site-nav .list-program {
  padding: calc(8 / var(--base) * 100vw) 0;
  transition: opacity var(--duration-transition);
}
.site-header .site-nav .list-program li {
  text-align: left;
  margin-bottom: 8px;
  line-height: 1.5;
}
.site-header .site-nav .list-program li:not(:last-of-type) {
  margin-bottom: min(8px, calc(8 / var(--base) * 100vw));
}
.site-header .site-nav .list-program a {
  --color-base: var(--color-text);
  padding: 0.4em 0;
  color: var(--color-base);
}
.site-header .site-nav .list-program a.ic {
  --color-base: var(--color-red);
}
.site-header .site-nav .list-program a.nac {
  --color-base: var(--color-green);
}
.site-header .site-nav .list-program a.pl {
  --color-base: var(--color-brown);
}
.site-header .site-nav .list-program a.adc {
  --color-base: var(--color-emerald);
}
.site-header .site-nav .list-program a.hb {
  --color-base: var(--color-mossgreen);
}
.site-header .site-nav .list-program a.oh {
  --color-base: var(--color-purple);
}
.site-header .site-nav .list-program a.yid {
  --color-base: var(--color-orange);
}
.site-header .site-nav .list-program a.yrc {
  --color-base: var(--color-darkbrown);
}
@media screen and (min-width: 768px) {
  .site-header {
    display: block;
    position: sticky;
    inset: 0 0 auto 0;
    background-image: url(../images/common/stripe-yellow.webp);
    background-size: 50px 50px;
  }
  .site-header .site-nav {
    margin: 0;
    padding: 0;
    height: auto;
    background: transparent;
    pointer-events: all;
    opacity: 1;
    scale: 1;
    transition: var(--duration-transition);
    overflow-y: visible;
    position: static;
    z-index: 20;
  }
  .site-header .site-nav .list-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: min(12px, calc(12 / var(--base) * 100vw));
    margin: 0;
    padding: 10px 0;
    font-size: min(14px, calc(14 / var(--base) * 100vw));
    transition: opacity var(--duration-transition);
  }
  .site-header .site-nav .list-menu li {
    margin: 0;
    list-style-type: none;
    text-align: right;
    position: relative;
  }
  .site-header .site-nav .list-menu li:not(:last-of-type) {
    margin-bottom: 0;
  }
  .site-header .site-nav .list-menu li.sns {
    margin: 0 0 0 16px;
    gap: 8px;
  }
  .site-header .site-nav .list-menu li.sns a {
    padding: 0;
  }
  .site-header .site-nav .list-menu button,
  .site-header .site-nav .list-menu a {
    display: block;
    transition: color var(--duration-transition);
    text-decoration: none;
    color: var(--color-text);
    padding: 1em 0;
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .site-header .site-nav .list-menu button:hover,
  .site-header .site-nav .list-menu a:hover {
    color: var(--color-main);
  }
  .site-header .site-nav .list-program {
    padding: 10px 16px;
    position: absolute;
    inset: calc(100% + 2px) auto auto 0;
    background-color: #fff;
    border: 4px solid var(--color-yellow);
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--duration-transition);
  }
  .site-header .site-nav .list-program.is-visible {
    opacity: 1;
    pointer-events: all;
  }
  .site-header .site-nav .list-program::before, .site-header .site-nav .list-program::after {
    content: "";
    width: 16px;
    height: 12px;
    background-color: var(--color-yellow);
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
    position: absolute;
    inset: -16px auto auto 20px;
  }
  .site-header .site-nav .list-program::after {
    background-color: #fff;
    inset: -10px auto auto 20px;
  }
  .site-header .site-nav .list-program li {
    white-space: nowrap;
    text-align: left;
    margin-bottom: 8px;
  }
  .site-header .site-nav .list-program a {
    padding: 0.4em 0;
    color: var(--color-base);
  }
}
@media screen and (min-width: 1024px) {
  .site-header .site-nav .list-menu {
    gap: min(24px, calc(24 / var(--base) * 100vw));
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .site-header .site-nav .list-menu a,
  .site-header .site-nav .list-menu button {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
}

.site-footer {
  padding: calc(56 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
}
.site-footer .logo {
  margin: 0 0 10px 0;
}
.site-footer .date {
  margin-bottom: 10px;
}
.site-footer .billing {
  font-size: 12px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .site-footer {
    padding: 45px 0 40px 0;
  }
  .site-footer .logo {
    margin: 0 auto 10px auto;
    width: 570px;
  }
  .site-footer .date {
    margin: 0 auto 10px auto;
    width: 410px;
  }
  .site-footer .billing {
    font-size: 12px;
    text-align: center;
  }
}

main {
  padding: 0 0 0 0;
}
.title-mid {
  margin: 0 0 calc(16 / var(--base) * 100vw) 0;
  padding: 0;
  text-align: center;
  color: var(--color-main);
  font-weight: 900;
  font-size: calc(32 / var(--base) * 100vw);
}
.title-mid.center {
  color: var(--color-text);
}
@media screen and (min-width: 1024px) {
  .title-mid {
    margin: 0 auto min(24px, calc(24 / var(--base) * 100vw)) auto;
    font-size: min(48px, calc(48 / var(--base) * 100vw));
    width: min(1060px, calc(1060 / var(--base) * 100vw));
    text-align: left;
  }
  .title-mid.center {
    text-align: center;
  }
}

.title-small {
  margin: 0 0 calc(40 / var(--base) * 100vw) 0;
  padding: 0 0 0 0.2em;
  text-align: center;
  color: var(--color-text);
  font-weight: 400;
  font-size: calc(32 / var(--base) * 100vw);
  letter-spacing: 0.2em;
}
@media screen and (min-width: 1024px) {
  .title-small {
    margin: 0 auto min(24px, calc(24 / var(--base) * 100vw)) auto;
    font-size: min(40px, calc(40 / var(--base) * 100vw));
  }
}

.table-schedule {
  margin: 0;
  overflow-x: scroll;
}
.table-schedule .content {
  display: table;
  padding: calc(12 / var(--base) * 100vw) 0 calc(16 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
  margin-right: calc(24 / var(--base) * 100vw);
}
.table-schedule table {
  margin: 0;
  width: 100%;
  position: relative;
  border-collapse: collapse;
  color: var(--color-text);
  background-color: #fff;
}
.table-schedule th {
  padding: 10px 8px;
  white-space: nowrap;
  font-size: clamp(0.875rem, 0.8155rem + 0.2381vw, 1rem);
  color: var(--color-text);
  vertical-align: middle;
  border-top: 1px solid var(--color-yellow);
  font-weight: 500;
  text-align: left;
}
.table-schedule td {
  padding: 10px 8px;
  white-space: nowrap;
  font-size: clamp(0.875rem, 0.8155rem + 0.2381vw, 1rem);
  text-align: center;
  color: var(--color-text);
  vertical-align: middle;
  border-top: 1px solid var(--color-yellow);
  font-weight: 500;
  text-align: left;
}
.table-schedule .date {
  text-align: right;
  font-size: calc(14 / var(--base) * 100vw);
}
.table-schedule .date .date-unit {
  font-size: calc(10 / var(--base) * 100vw);
}
.table-schedule .time {
  font-family: var(--font-en);
  font-size: calc(14 / var(--base) * 100vw);
}
.table-schedule .venue span {
  padding: calc(4 / var(--base) * 100vw) calc(8 / var(--base) * 100vw) calc(6 / var(--base) * 100vw) calc(8 / var(--base) * 100vw);
  font-size: calc(12 / var(--base) * 100vw);
  background-color: #eee;
  border-radius: 30px;
  white-space: nowrap;
}
.table-schedule .venue span.af {
  padding: calc(4 / var(--base) * 100vw) calc(8 / var(--base) * 100vw) calc(4 / var(--base) * 100vw) calc(8 / var(--base) * 100vw);
  font-size: calc(10 / var(--base) * 100vw);
}
.table-schedule .title {
  font-size: calc(14 / var(--base) * 100vw);
}
.table-schedule .detail {
  font-size: calc(14 / var(--base) * 100vw);
}
.table-schedule:nth-of-type(3) {
  text-align: left;
}
.table-schedule p {
  line-height: 1.6;
  font-size: clamp(0.875rem, 0.8155rem + 0.2381vw, 1rem);
  font-weight: 400;
  border-top: 1px solid var(--color-yellow);
}
.table-schedule p:not(:last-of-type) {
  margin-bottom: 1em;
}
.table-schedule a {
  color: #fff;
  text-decoration: none;
}
.table-schedule a:hover {
  text-decoration: underline;
}
.table-schedule thead th {
  padding: 10px 20px 10px 20px;
  text-align: left;
  color: #fff;
}
.table-schedule tbody {
  border: 1px solid var(--color-yellow);
}
.table-schedule.program {
  --th-width: 90px;
}
.table-schedule.program .content {
  padding: calc(16 / var(--base) * 100vw) 0 calc(16 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
  margin-right: calc(24 / var(--base) * 100vw);
  min-width: 600px;
}
.table-schedule.program .content:has(td:nth-of-type(4)) {
  min-width: 750px;
}
.table-schedule.program a {
  color: var(--color-text);
}
.table-schedule.program tbody {
  border: 1px solid #ccc;
}
.table-schedule.program th {
  padding: 10px 5px 10px 10px;
  font-size: calc(14 / var(--base) * 100vw);
  font-weight: 700;
  text-align: center;
  width: var(--th-width);
  background-color: #fff;
  color: var(--color-text);
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-family: var(--font-en);
  font-size: min(24px, calc(24 / var(--base) * 100vw));
  letter-spacing: 0;
}
.table-schedule.program th .wday {
  display: block;
  font-family: var(--font-text);
  font-size: min(14px, calc(14 / var(--base) * 100vw));
  letter-spacing: 0;
}
.table-schedule.program td {
  --color-base: var(--color-beige);
  border-top: 1px solid #ccc;
  width: 127px;
  white-space: normal;
  vertical-align: top;
  background-color: color-mix(in srgb, var(--color-base) 10%, transparent);
  border-right: 1px solid color-mix(in srgb, var(--color-base) 30%, transparent);
  border-left: 1px solid color-mix(in srgb, var(--color-base) 30%, transparent);
  border-bottom: 1px solid #ddd;
  position: relative;
}
.table-schedule.program td.ic {
  --color-base: var(--color-red);
}
.table-schedule.program td.nac {
  --color-base: var(--color-green);
}
.table-schedule.program td.pl {
  --color-base: var(--color-brown);
}
.table-schedule.program td.adc {
  --color-base: var(--color-emerald);
}
.table-schedule.program td.hb {
  --color-base: var(--color-mossgreen);
}
.table-schedule.program td.oh {
  --color-base: var(--color-purple);
}
.table-schedule.program td.yid {
  --color-base: var(--color-orange);
}
.table-schedule.program td a {
  display: block;
  padding: 10px 5px 10px 10px;
  box-sizing: border-box;
  height: 100%;
  text-decoration: none;
  color: var(--color-text);
  cursor: pointer;
}
.table-schedule.program td a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.table-schedule.program td time {
  margin-bottom: calc(6 / var(--base) * 100vw);
  padding: 0.3em 0.8em;
  display: block;
  width: fit-content;
  font-family: var(--font-en);
  font-size: calc(14 / var(--base) * 100vw);
  font-weight: 700;
  background-color: #fff;
  border-radius: 30px;
}
.table-schedule.program td .title {
  margin-bottom: calc(6 / var(--base) * 100vw);
  display: block;
  font-weight: 700;
  font-size: calc(14 / var(--base) * 100vw);
}
.table-schedule.program td .title .plus {
  display: block;
  color: #999;
}
.table-schedule.program td .event {
  display: block;
  padding: 0.3em 0.4em 0.2em 0.4em;
  width: fit-content;
  font-size: min(10px, calc(10 / var(--base) * 100vw));
  font-weight: 700;
  background-color: var(--color-yellow);
}
@media screen and (min-width: 768px) {
  .table-schedule tbody {
    margin: calc(29 / var(--base) * 100vw) 0 0 0;
    padding: 0 calc(40 / var(--base) * 100vw) 20px calc(40 / var(--base) * 100vw);
  }
  .table-schedule tbody .content {
    margin-right: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .table-schedule tbody .content::after {
    display: none;
  }
  .table-schedule tbody table {
    width: 100%;
  }
  .table-schedule.program {
    --th-width: cwmin(90, 800);
  }
  .table-schedule.program .content {
    padding: calc(16 / var(--base) * 100vw) 0 calc(16 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
    margin-right: calc(24 / var(--base) * 100vw);
    min-width: calc(600 / 800 * 100vw);
  }
  .table-schedule.program .content:has(td:nth-of-type(4)) {
    min-width: calc(750 / 800 * 100vw);
  }
  .table-schedule.program a {
    color: var(--color-text);
  }
  .table-schedule.program td time {
    margin-bottom: calc(6 / var(--base) * 100vw);
    font-size: calc(14 / var(--base) * 100vw);
  }
  .table-schedule.program td .title {
    margin-bottom: calc(6 / var(--base) * 100vw);
    font-size: calc(14 / var(--base) * 100vw);
  }
  .table-schedule.program td .event {
    font-size: min(10px, calc(10 / var(--base) * 100vw));
  }
}
@media screen and (min-width: 1024px) {
  .table-schedule {
    margin: 0 auto;
    width: min(1060px, 1060 / 1200 * 100vw);
    overflow-x: hidden;
  }
  .table-schedule .content {
    display: block;
    padding: min(16px, calc(16 / var(--base) * 100vw)) 0 min(16px, calc(16 / var(--base) * 100vw)) 0;
    margin-right: calc(24 / var(--base) * 100vw);
    min-width: none;
  }
  .table-schedule table {
    display: table;
    width: 100%;
  }
  .table-schedule tbody {
    padding: 0;
  }
  .table-schedule tbody tbody th {
    width: 10%;
  }
  .table-schedule tbody tbody td:nth-of-type(1) {
    width: 10%;
  }
  .table-schedule tbody tbody td:nth-of-type(2) {
    width: 20%;
  }
  .table-schedule tbody p {
    font-size: 1rem;
  }
  .table-schedule th {
    padding: min(12px, calc(12 / var(--base) * 100vw)) min(16px, calc(16 / var(--base) * 100vw));
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .table-schedule td {
    padding: min(12px, calc(12 / var(--base) * 100vw)) min(12px, calc(12 / var(--base) * 100vw));
    font-size: min(16px, calc(16 / var(--base) * 100vw));
    white-space: normal;
  }
  .table-schedule .date {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .table-schedule .date .date-unit {
    font-size: min(12px, calc(12 / var(--base) * 100vw));
  }
  .table-schedule .time {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .table-schedule .venue span {
    padding: min(4px, calc(4 / var(--base) * 100vw)) min(8px, calc(8 / var(--base) * 100vw)) min(6px, calc(6 / var(--base) * 100vw)) min(8px, calc(8 / var(--base) * 100vw));
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .table-schedule .venue span.af {
    padding: min(4px, calc(4 / var(--base) * 100vw)) min(8px, calc(8 / var(--base) * 100vw)) min(4px, calc(4 / var(--base) * 100vw)) min(8px, calc(8 / var(--base) * 100vw));
    font-size: min(12px, calc(12 / var(--base) * 100vw));
  }
  .table-schedule .title {
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .table-schedule .detail {
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .table-schedule.program {
    margin: 0 auto;
    --th-width: cwmin(90, 800);
    width: min(1060px, calc(1060 / var(--base) * 100vw));
  }
  .table-schedule.program .content {
    display: block;
    padding: 0;
    margin-right: 0;
    min-width: 0;
  }
  .table-schedule.program .content:has(td:nth-of-type(4)) {
    min-width: 0;
    width: 100%;
  }
  .table-schedule.program .content:has(td:nth-of-type(4)) td {
    width: min(100px, calc(100 / var(--base) * 100vw));
  }
  .table-schedule.program table {
    display: table;
    width: 100%;
  }
  .table-schedule.program a {
    color: var(--color-text);
  }
  .table-schedule.program th {
    width: min(60px, calc(60 / var(--base) * 100vw));
    font-size: 16px;
  }
  .table-schedule.program td {
    width: min(170px, calc(170 / var(--base) * 100vw));
  }
  .table-schedule.program td time {
    margin-bottom: min(8px, calc(8 / var(--base) * 100vw));
    font-size: 16px;
  }
  .table-schedule.program td .title {
    margin-bottom: min(6px, calc(6 / var(--base) * 100vw));
    font-size: 16px;
  }
  .table-schedule.program td .event {
    font-size: 12px;
  }
}

/* youtube */
#overlay {
  background: rgba(0, 0, 0, 0.95);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  min-height: 700px;
  overflow: hidden;
}

.youtube_wrapper {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: none;
  z-index: 51;
}
.youtube_wrapper .youtube_stage {
  width: 100%;
  padding: 50px 10px;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.youtube_wrapper .youtube_inner {
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
  background: #000;
}
.youtube_wrapper .youtube_close {
  margin: 0;
  padding: 0;
  width: 30px;
  height: 30px;
  position: absolute;
  top: -30px;
  right: 0;
  white-space: nowrap;
}
.youtube_wrapper .youtube_close span {
  display: block;
  height: 100%;
  width: 100%;
  overflow: hidden;
  text-indent: 100%;
  cursor: pointer;
}
.youtube_wrapper .youtube_close span::before, .youtube_wrapper .youtube_close span::after {
  content: "";
  width: 80%;
  height: 1px;
  background: #fff;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
}
.youtube_wrapper .youtube_close span::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.youtube_wrapper .youtube_close span::after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.youtube_wrapper .youtube_player {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 640px) {
  .youtube_wrapper .youtube_close {
    width: 50px;
    height: 50px;
    top: -60px;
  }
}
@media screen and (min-width: 768px) {
  .youtube_wrapper .youtube_stage {
    max-width: 130vh;
    width: 100%;
  }
  .youtube_wrapper .youtube_close {
    width: 60px;
    height: 60px;
    top: -70px;
  }
}

.page-home .unit-fv {
  position: relative;
}
.page-home .unit-fv .bg {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
  width: 100%;
}
.page-home .unit-fv .bg img {
  vertical-align: bottom;
}
.page-home .unit-fv .logo {
  position: absolute;
  z-index: 2;
  width: calc(376 / var(--base) * 100vw);
  inset: calc(30 / var(--base) * 100vw) 0 auto auto;
  filter: drop-shadow(0 0 10px color-mix(in srgb, #000 20%, transparent));
}
.page-home .unit-fv .date {
  position: absolute;
  z-index: 2;
  width: calc(352 / var(--base) * 100vw);
  inset: calc(206 / var(--base) * 100vw) 0 auto calc(20 / var(--base) * 100vw);
}
.page-home .unit-fv .billing {
  font-size: calc(11 / var(--base) * 100vw);
  color: #fff;
  position: absolute;
  z-index: 2;
  inset: auto calc(16 / var(--base) * 100vw) calc(8 / var(--base) * 100vw) calc(16 / var(--base) * 100vw);
  text-shadow: var(--shadow-text);
}
.page-home .unit-intro {
  padding: calc(32 / var(--base) * 100vw) 0 calc(66 / var(--base) * 100vw) 0;
}
.page-home .unit-intro .content {
  margin: 0 calc(24 / var(--base) * 100vw);
}
.page-home .unit-intro .copy {
  margin: 0 auto calc(22 / var(--base) * 100vw) auto;
  width: calc(168 / var(--base) * 100vw);
}
.page-home .unit-programs {
  padding: calc(104 / var(--base) * 100vw) calc(12 / var(--base) * 100vw) calc(80 / var(--base) * 100vw) calc(12 / var(--base) * 100vw);
  position: relative;
}
.page-home .unit-programs .title-mid {
  margin: 0;
  padding: 0 0;
  position: absolute;
  inset: calc(-16 / var(--base) * 100vw) auto auto 50%;
  translate: -50% 0;
  white-space: nowrap;
}
.page-home .block-program {
  margin: 0 calc(12 / var(--base) * 100vw);
  padding: 0 0 calc(24 / var(--base) * 100vw) 0;
  background-color: #fff;
  box-shadow: var(--shadow-box);
}
.page-home .block-program:not(:last-of-type) {
  margin-bottom: calc(40 / var(--base) * 100vw);
}
.page-home .block-program--ic:not(:last-of-type) {
  margin-bottom: calc(80 / var(--base) * 100vw);
}
.page-home .block-program .photo-large {
  position: relative;
  margin: 0 calc(-12 / var(--base) * 100vw) calc(-16 / var(--base) * 100vw) calc(-12 / var(--base) * 100vw);
  top: calc(-26 / var(--base) * 100vw);
}
.page-home .block-program .photos {
  margin: 0 calc(20 / var(--base) * 100vw);
  padding: calc(24 / var(--base) * 100vw) 0 calc(8 / var(--base) * 100vw) 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(8 / var(--base) * 100vw);
}
.page-home .block-program .program-header {
  margin: 0 0 calc(17 / var(--base) * 100vw) 0;
  padding: calc(10 / var(--base) * 100vw) 0;
  background-color: var(--color-red);
}
.page-home .block-program .title {
  margin: 0;
  font-size: calc(28 / var(--base) * 100vw);
  line-height: 1.2;
  font-weight: 900;
  color: #fff;
  text-align: center;
}
.page-home .block-program .title .at {
  font-size: calc(16 / var(--base) * 100vw);
}
.page-home .block-program .title-en {
  margin: 0;
  font-family: var(--font-en);
  font-style: italic;
  color: #fff;
  line-height: 1.2;
  font-size: calc(24 / var(--base) * 100vw);
  font-weight: 700;
  text-align: center;
}
.page-home .block-program .comment {
  margin: 0 calc(24 / var(--base) * 100vw);
}
.page-home .block-program .para-more {
  margin: 2px 0 0 0;
  text-align: right;
}
.page-home .block-program .para-more .link-more {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: calc(16 / var(--base) * 100vw);
  color: var(--color-text);
  text-decoration: none;
}
.page-home .block-program .para-more .link-more i {
  width: calc(32 / var(--base) * 100vw);
  height: calc(32 / var(--base) * 100vw);
  background-image: url(../images/common/icon-more.svg);
  background-size: cover;
  background-repeat: no-repeat;
}
.page-home .block-program--nac .program-header {
  background-color: var(--color-green);
}
.page-home .block-program--pl .program-header {
  background-color: var(--color-brown);
}
.page-home .block-program--adc .program-header {
  background-color: var(--color-emerald);
}
.page-home .block-program--hb .program-header {
  background-color: var(--color-mossgreen);
}
.page-home .block-program--oh .program-header {
  background-color: var(--color-purple);
}
.page-home .block-program--yid .program-header {
  background-color: var(--color-orange);
}
.page-home .block-program--yrc .program-header {
  background-color: var(--color-darkbrown);
}
.page-home .unit-event {
  padding: calc(64 / var(--base) * 100vw) 0;
}
.page-home .unit-banners {
  padding: calc(64 / var(--base) * 100vw) 0;
}
.page-home .unit-banners ul {
  display: grid;
  gap: 24px;
  margin: 0 auto;
  padding: 0;
  list-style-type: none;
}
.page-home .unit-banners img {
  width: auto;
  height: auto;
}
.page-home .unit-banners li {
  margin: 0;
  padding: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page-home .unit-fv {
    --base: 1440;
  }
  .page-home .unit-fv .logo {
    width: min(633px, calc(633 / var(--base) * 100vw));
    inset: min(147px, calc(147 / var(--base) * 100vw)) auto auto min(175px, calc(175 / var(--base) * 100vw));
    margin: 0;
    padding: calc(10 / var(--base) * 100vw);
    background-color: color-mix(in srgb, #000 20%, transparent);
  }
  .page-home .unit-fv .logo img {
    vertical-align: middle;
  }
  .page-home .unit-fv .date {
    width: min(621px, calc(621 / var(--base) * 100vw));
    inset: min(447px, calc(447 / var(--base) * 100vw)) auto auto calc(189 / var(--base) * 100vw);
  }
  .page-home .unit-fv .billing {
    font-size: min(18px, calc(18 / var(--base) * 100vw));
    text-align: right;
    inset: auto min(16px, calc(16 / var(--base) * 100vw)) min(28px, calc(28 / var(--base) * 100vw)) auto;
  }
  .page-home .unit-intro {
    padding: min(72px, calc(72 / var(--base) * 100vw)) 0;
  }
  .page-home .unit-intro .content {
    display: grid;
    grid-template-columns: min(288px, 288 / 840 * 100vw) 1fr;
  }
  .page-home .unit-intro .copy {
    margin: 0;
    width: auto;
  }
  .page-home .unit-programs .block-program {
    margin-inline: auto;
    width: calc(900 / 1440 * 100vw);
  }
  .page-home .unit-banners ul {
    display: flex;
    justify-content: center;
    gap: min(40px, calc(40 / var(--base) * 100vw));
    margin: 0 auto;
  }
}
@media screen and (min-width: 1024px) {
  .page-home .unit-intro {
    padding: min(72px, calc(72 / var(--base) * 100vw)) 0 min(108px, calc(108 / var(--base) * 100vw)) 0;
  }
  .page-home .unit-intro .content {
    margin: 0 auto;
    width: 840px;
    gap: 40px;
    grid-template-columns: 288px 1fr;
  }
  .page-home .unit-programs .program-group {
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(64px, calc(64 / var(--base) * 100vw)) min(40px, calc(40 / var(--base) * 100vw));
    width: min(1140px, calc(1140 / var(--base) * 100vw));
  }
  .page-home .unit-programs .block-program {
    margin: 0;
    padding: min(32px, calc(32 / var(--base) * 100vw)) 0;
    display: grid;
    grid-row: span 4;
    grid-template-rows: subgrid;
    gap: 0;
    width: auto;
  }
  .page-home .unit-programs .block-program--ic:not(:last-of-type) {
    margin-bottom: 0;
  }
  .page-home .unit-programs .block-program .photo-large {
    position: relative;
    margin: 0 calc(-12 / var(--base) * 100vw) calc(-16 / var(--base) * 100vw) calc(-12 / var(--base) * 100vw);
    top: calc(-26 / var(--base) * 100vw);
  }
  .page-home .unit-programs .block-program .photos {
    margin: 0 min(32px, calc(32 / var(--base) * 100vw));
    padding: 0 0 min(20px, calc(20 / var(--base) * 100vw)) 0;
    gap: min(8px, calc(8 / var(--base) * 100vw));
  }
  .page-home .unit-programs .block-program .program-header {
    margin: 0 0 calc(17 / var(--base) * 100vw) 0;
    padding: calc(10 / var(--base) * 100vw) 0;
    display: grid;
    align-items: center;
    line-height: 1;
    gap: 0;
  }
  .page-home .unit-programs .block-program .title {
    margin: 0;
    padding: 0 0 0 min(32px, calc(32 / var(--base) * 100vw));
    font-size: min(32px, calc(32 / var(--base) * 100vw));
    text-align: left;
  }
  .page-home .unit-programs .block-program .title .at {
    font-size: min(24px, calc(24 / var(--base) * 100vw));
  }
  .page-home .unit-programs .block-program .title-en {
    margin: 0;
    padding: 0 0 0 min(32px, calc(32 / var(--base) * 100vw));
    text-align: left;
    font-size: min(32px, calc(32 / var(--base) * 100vw));
    line-height: 1;
  }
  .page-home .unit-programs .block-program .comment {
    display: grid;
    grid-template-rows: subgrid;
    gap: 0;
    grid-row: span 2;
    margin: 0 calc(24 / var(--base) * 100vw);
  }
  .page-home .unit-programs .block-program .comment p {
    font-size: 14px;
  }
  .page-home .unit-programs .block-program--ic {
    grid-column: span 2;
    grid-row: span 3;
    grid-template-columns: min(660px, 660 / 1440 * 100vw) 1fr;
    gap: 0 min(40px, calc(40 / var(--base) * 100vw));
    align-items: start;
  }
  .page-home .unit-programs .block-program--ic .program-header {
    grid-column: 1;
    grid-row: 1;
  }
  .page-home .unit-programs .block-program--ic .title {
    letter-spacing: -0.1em;
  }
  .page-home .unit-programs .block-program--ic .photo-large {
    margin: max(-22px, calc(-22 / var(--base) * 100vw)) max(-72px, calc(-72 / var(--base) * 100vw)) max(-60px, calc(-60 / var(--base) * 100vw)) 0;
    grid-column: 2;
    grid-row: 1/span 3;
  }
  .page-home .unit-programs .block-program--ic .comment {
    grid-column: 1;
    grid-row: 2/span 2;
  }
  .page-home .unit-programs .block-program--nac {
    grid-column: span 2;
    grid-row: span 3;
    grid-template-columns: 1fr min(660px, 660 / 1440 * 100vw);
    align-items: start;
    gap: 0 min(40px, calc(40 / var(--base) * 100vw));
  }
  .page-home .unit-programs .block-program--nac .program-header {
    grid-column: 2;
    grid-row: 1;
  }
  .page-home .unit-programs .block-program--nac .photo-large {
    margin: max(-44px, calc(-44 / var(--base) * 100vw)) max(-18px, calc(-18 / var(--base) * 100vw)) max(-90px, calc(-90 / var(--base) * 100vw)) max(-51px, calc(-51 / var(--base) * 100vw));
    grid-column: 1;
    grid-row: 1/span 3;
  }
  .page-home .unit-programs .block-program--nac .comment {
    grid-column: 2;
    grid-row: span 2;
  }
  .page-home .unit-programs .block-program {
    /*
    &--yid {
      grid-column: span 2;
      grid-row: span 3;
      grid-template-columns: cwmin(660, 1440) 1fr;
      grid-template-rows: auto 1fr auto;
      gap: 0 cwmin(40);
      align-items: start;
      .program-header {
        grid-column: 1;
        grid-row: 1;
      }

      .photo-large {
        margin: cwmin(-17) cwmin(10) cwmin(-92) 0;
        grid-column: 2;
        grid-row: 1 / span 3;
      }

      .comment {
        grid-column: 1;
        grid-row: 2 / span 2;
      }
    }
      */
  }
}

.page-program {
  background-image: url(../images/common/stripe-gray.webp);
  background-size: 50px 50px;
}
.page-program main {
  padding: calc(57 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
}
.page-program .program-header {
  margin-bottom: calc(29 / var(--base) * 100vw);
}
.page-program .program-header .program {
  font-size: calc(24 / var(--base) * 100vw);
  font-weight: 700;
  text-align: center;
  font-feature-settings: "palt";
}
.page-program .program-header h1 {
  margin: 0 0 calc(10 / var(--base) * 100vw) 0;
  padding: calc(6 / var(--base) * 100vw) 0 calc(4 / var(--base) * 100vw) 0;
  background-color: var(--color-red);
  color: #fff;
  line-height: 1.2;
  font-size: calc(32 / var(--base) * 100vw);
  text-align: center;
}
.page-program .program-header h1 .at {
  font-size: calc(24 / var(--base) * 100vw);
}
.page-program .program-header .en {
  line-height: 1;
  color: var(--color-gray);
  font-size: calc(24 / var(--base) * 100vw);
  font-weight: 700;
  font-style: italic;
  font-family: var(--font-en);
  text-align: center;
}
.page-program .program-header .supported {
  line-height: 1;
  color: var(--color-text);
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 700;
  text-align: center;
}
.page-program .program-header.nac h1 {
  background-color: var(--color-green);
}
.page-program .program-header.pl h1 {
  background-color: var(--color-brown);
}
.page-program .program-header.adc h1 {
  background-color: var(--color-emerald);
}
.page-program .program-header.hb h1 {
  background-color: var(--color-mossgreen);
}
.page-program .program-header.oh h1 {
  background-color: var(--color-purple);
}
.page-program .program-header.yid h1 {
  background-color: var(--color-orange);
}
.page-program .program-header.yrc h1 {
  background-color: var(--color-darkbrown);
  font-size: calc(28 / var(--base) * 100vw);
}
.page-program .intro {
  margin-bottom: calc(79 / var(--base) * 100vw);
}
.page-program .intro p {
  font-weight: 700;
}
.page-program .yrc-date {
  margin-top: min(24px, calc(24 / var(--base) * 100vw));
  display: grid;
  padding: min(16px, calc(16 / var(--base) * 100vw));
  grid-template-columns: auto 1fr;
  gap: min(24px, calc(24 / var(--base) * 100vw)) min(16px, calc(16 / var(--base) * 100vw));
  background-color: #fff;
  border: 1px solid var(--color-darkbrown);
}
.page-program .yrc-date dt {
  font-size: min(16px, calc(16 / var(--base) * 100vw));
}
.page-program .yrc-date dd {
  margin: min(2px, calc(2 / var(--base) * 100vw)) 0 0 0;
  padding: 0;
}
.page-program .yrc-date p {
  font-size: min(14px, calc(14 / var(--base) * 100vw));
  line-height: 1.5;
  font-weight: 400;
}
.page-program .yrc-date p .supported {
  font-size: min(12px, calc(12 / var(--base) * 100vw));
}
.page-program .fee {
  font-size: min(16px, calc(16 / var(--base) * 100vw));
}
.page-program .fee span {
  font-size: min(12px, calc(12 / var(--base) * 100vw));
}
.page-program .block-show {
  padding: calc(24 / var(--base) * 100vw);
  background-color: #fff;
  box-shadow: var(--shadow-box);
}
.page-program .block-show:not(:last-of-type) {
  margin-bottom: 40px;
}
.page-program .block-show .title-group {
  margin-bottom: calc(12 / var(--base) * 100vw);
  color: var(--color-emerald);
  font-weight: 900;
  font-size: calc(20 / var(--base) * 100vw);
  letter-spacing: 0;
  line-height: 1.2;
}
.page-program .block-show .block-work:not(:last-of-type) {
  margin-bottom: 30px;
}
.page-program .block-show .photo {
  margin: 0 0 calc(16 / var(--base) * 100vw) 0;
  padding: 0;
}
.page-program .block-show .awards {
  margin: 0 0 calc(10 / var(--base) * 100vw) 0;
  padding: calc(8 / var(--base) * 100vw) calc(8 / var(--base) * 100vw);
  background: #ff8d28;
  color: #fff;
  font-size: calc(10 / var(--base) * 100vw);
  font-weight: 700;
}
.page-program .block-show .title {
  margin: 0 0 calc(8 / var(--base) * 100vw) 0;
  font-weight: 900;
  font-size: calc(24 / var(--base) * 100vw);
  line-height: 1.4;
}
.page-program .block-show .title-en {
  line-height: 1;
  font-weight: 700;
  font-family: var(--font-en);
  font-style: italic;
  font-size: calc(16 / var(--base) * 100vw);
  letter-spacing: 0.1em;
  color: var(--color-gray);
}
.page-program .block-show .director,
.page-program .block-show .info {
  font-size: calc(12 / var(--base) * 100vw);
  line-height: 1.5;
}
.page-program .block-show .comment {
  margin: calc(13 / var(--base) * 100vw) 0 0 0;
  padding-top: calc(9 / var(--base) * 100vw);
  border-top: 1px solid var(--color-text);
}
.page-program .block-show .comment p {
  font-size: calc(14 / var(--base) * 100vw);
  line-height: 1.8;
}
.page-program .block-show .schedule {
  margin: calc(32 / var(--base) * 100vw) 0 0 0;
  padding: calc(20 / var(--base) * 100vw) calc(16 / var(--base) * 100vw);
  background-color: var(--color-beige);
  position: relative;
}
.page-program .block-show .schedule dt {
  position: absolute;
  inset: auto auto calc(100% - 16px) 50%;
  white-space: nowrap;
  translate: -50% 0;
}
.page-program .block-show .schedule dd {
  margin: 0;
  text-align: center;
  line-height: 1.4;
}
.page-program .block-show .schedule dd:not(:last-of-type) {
  padding-bottom: calc(16 / var(--base) * 100vw);
  margin-bottom: calc(16 / var(--base) * 100vw);
  border-bottom: 1px solid #cccbbe;
}
.page-program .block-show .schedule time {
  font-size: calc(24 / var(--base) * 100vw);
  font-weight: 600;
}
.page-program .block-show .schedule .date-unit {
  font-size: calc(16 / var(--base) * 100vw);
}
.page-program .block-show .schedule .venue {
  display: block;
  text-align: center;
  font-size: min(16px, calc(16 / var(--base) * 100vw));
  font-weight: 600;
}
.page-program .block-show .schedule .venue.ks {
  font-size: min(20px, calc(20 / var(--base) * 100vw));
}
.page-program .block-show .schedule .event {
  margin: calc(8 / var(--base) * 100vw) auto 0 auto;
}
.page-program .block-show .schedule .event .event-flg {
  margin: 0 auto calc(5 / var(--base) * 100vw) auto;
  padding: 0.3em 0.5em 0.1em 0.5em;
  width: fit-content;
  background-color: var(--color-main);
  color: #fff;
  font-size: calc(12 / var(--base) * 100vw);
  font-weight: 700;
}
.page-program .block-show .schedule .event .event-comment {
  font-size: calc(12 / var(--base) * 100vw);
  line-height: 1.5;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .page-program .yrc-date {
    width: fit-content;
    margin-inline: auto;
    padding: 24px;
    gap: 32px 24px;
  }
  .page-program .yrc-date dt {
    font-size: 16px;
  }
  .page-program .yrc-date dd {
    margin-top: 0;
  }
  .page-program .yrc-date dd p {
    font-size: 16px;
  }
  .page-program .yrc-date dd p span {
    font-size: 14px;
  }
  .page-program .program-header {
    margin-bottom: min(46px, calc(46 / var(--base) * 100vw));
  }
  .page-program .program-header .program {
    margin-bottom: min(8px, calc(8 / var(--base) * 100vw));
    font-size: min(24px, calc(24 / var(--base) * 100vw));
  }
  .page-program .program-header h1 {
    margin: 0 auto calc(10 / var(--base) * 100vw) auto;
    padding: 10px 16px 8px 16px;
    width: fit-content;
    font-size: min(40px, calc(40 / var(--base) * 100vw));
  }
  .page-program .program-header h1 .at {
    font-size: min(32px, calc(32 / var(--base) * 100vw));
  }
  .page-program .program-header .en {
    font-size: min(40px, calc(40 / var(--base) * 100vw));
  }
  .page-program .block-show .title-group {
    margin-bottom: min(20px, calc(20 / var(--base) * 100vw));
    font-size: min(24px, calc(24 / var(--base) * 100vw));
  }
  .page-program .block-show .block-work {
    margin-bottom: min(40px, calc(40 / var(--base) * 100vw));
    display: grid;
    grid-template-columns: min(400px, 400 / 1140 * 100vw) 1fr;
    gap: min(40px, 40 / 1140 * 100vw);
  }
  .page-program .block-show .schedule {
    margin: calc(32 / var(--base) * 100vw) 0 0 0;
    padding: calc(20 / var(--base) * 100vw) calc(16 / var(--base) * 100vw);
    display: grid;
    grid-template-columns: auto auto auto 1fr;
    grid-template-columns: auto auto 1fr;
  }
  .page-program .block-show .schedule dt {
    inset: auto auto calc(100% - 16px) 16px;
    translate: none;
    font-size: 16px;
  }
  .page-program .block-show .schedule dd {
    display: grid;
    grid-column: span 4;
    grid-template-columns: subgrid;
    gap: 8px 16px;
    align-items: center;
    justify-content: start;
    margin: 0;
    text-align: left;
    line-height: 1.4;
  }
  .page-program .block-show .schedule dd:not(:last-of-type) {
    padding-bottom: min(8px, calc(8 / var(--base) * 100vw));
    margin-bottom: min(8px, calc(8 / var(--base) * 100vw));
  }
  .page-program .block-show .schedule time {
    font-size: min(24px, calc(24 / var(--base) * 100vw));
  }
  .page-program .block-show .schedule .date-unit {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .page-program .block-show .schedule .venue {
    text-align: left;
  }
  .page-program .block-show .schedule .event {
    display: flex;
    align-items: center;
    margin: 0 0 0 8px;
    gap: 8px;
    justify-content: start;
    align-items: start;
    grid-row: 2;
    grid-column: 1/span 3;
  }
  .page-program .block-show .schedule .event .event-flg {
    margin: 0 0 8px 0;
    margin: 0;
    padding: 0.2em 0.5em 0em 0.5em;
    width: fit-content;
    font-size: min(12px, calc(12 / var(--base) * 100vw));
    font-weight: 700;
    white-space: nowrap;
  }
  .page-program .block-show .schedule .event .event-comment {
    padding: 0.2em 0 0 0;
    font-size: min(14px, calc(14 / var(--base) * 100vw));
    line-height: 1.5;
  }
}
@media screen and (min-width: 1024px) {
  .page-program .intro {
    margin: 0 auto min(56px, calc(56 / var(--base) * 100vw)) auto;
    width: 620px;
  }
  .page-program .block-show {
    margin: 0 auto;
    padding: min(40px, calc(40 / var(--base) * 100vw));
    width: min(1140px, calc(1140 / var(--base) * 100vw));
  }
  .page-program .block-show:not(:last-of-type) {
    margin-bottom: 64px;
  }
  .page-program .block-show .photo {
    margin: 0;
  }
  .page-program .block-show .awards {
    margin: 0 0 min(8px, calc(8 / var(--base) * 100vw)) 0;
    padding: min(8px, calc(8 / var(--base) * 100vw)) min(16px, calc(16 / var(--base) * 100vw));
    font-size: min(14px, calc(14 / var(--base) * 100vw));
    width: fit-content;
  }
  .page-program .block-show .title {
    margin: 0 0 min(4px, calc(4 / var(--base) * 100vw)) 0;
    font-size: min(32px, calc(32 / var(--base) * 100vw));
  }
  .page-program .block-show .title-en {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .page-program .block-show .director,
  .page-program .block-show .info {
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .page-program .block-show .comment {
    margin: min(17px, calc(17 / var(--base) * 100vw)) 0 0 0;
    padding-top: min(17px, calc(17 / var(--base) * 100vw));
  }
  .page-program .block-show .comment p {
    font-size: calc(14 / var(--base) * 100vw);
    line-height: 1.8;
  }
  .page-program .block-show .schedule {
    margin: calc(32 / var(--base) * 100vw) 0 0 0;
    padding: calc(20 / var(--base) * 100vw) calc(32 / var(--base) * 100vw);
  }
  .page-program .block-show .schedule dt {
    inset: auto auto calc(100% - 16px) 32px;
    translate: none;
    font-size: 16px;
  }
  .page-program .block-show .schedule dd {
    padding: min(16px, calc(16 / var(--base) * 100vw)) 0;
  }
  .page-program .block-show .schedule dd:not(:last-of-type) {
    padding-bottom: min(16px, calc(16 / var(--base) * 100vw));
    margin-bottom: 0;
  }
}

.page-schedule {
  background-image: url(../images/common/stripe-gray.webp);
  background-size: 50px 50px;
}
.page-schedule main {
  padding: calc(57 / var(--base) * 100vw) 0;
}
.page-schedule .unit {
  padding: calc(32 / var(--base) * 100vw) 0;
}
.page-schedule .title-venue {
  margin: 0 0 calc(8 / var(--base) * 100vw) 0;
  padding: 0;
  text-align: center;
  color: var(--color-text);
  font-weight: 900;
  font-size: calc(32 / var(--base) * 100vw);
  line-height: 1.3;
}
.page-schedule .title-date {
  margin-bottom: calc(16 / var(--base) * 100vw);
  line-height: 1.2;
  text-align: center;
  font-family: var(--font-en);
  font-size: calc(28 / var(--base) * 100vw);
  font-weight: 600;
}
.page-schedule .title-date .date-unit {
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 700;
}
@media screen and (min-width: 1024px) {
  .page-schedule .unit {
    padding: calc(64 / var(--base) * 100vw) 0;
  }
  .page-schedule .title-venue {
    margin: 0 auto min(24px, calc(24 / var(--base) * 100vw)) auto;
    font-size: min(48px, calc(48 / var(--base) * 100vw));
    width: min(1060px, calc(1060 / var(--base) * 100vw));
  }
  .page-schedule .title-date {
    margin: 0 auto min(24px, calc(24 / var(--base) * 100vw)) auto;
    font-size: min(40px, calc(40 / var(--base) * 100vw));
  }
  .page-schedule .title-date .date-unit {
    font-size: calc(24 / var(--base) * 100vw);
  }
}

.page-event {
  background-image: url(../images/common/stripe-gray.webp);
  background-size: 50px 50px;
}
.page-event main {
  padding: calc(57 / var(--base) * 100vw) 0;
}
.page-event .unit-event {
  padding: calc(16 / var(--base) * 100vw) 0;
}
@media screen and (min-width: 1024px) {
  .page-event .unit {
    padding: calc(64 / var(--base) * 100vw) 0;
  }
  .page-event .title-venue {
    margin: 0 auto min(24px, calc(24 / var(--base) * 100vw)) auto;
    font-size: min(48px, calc(48 / var(--base) * 100vw));
    width: min(1060px, calc(1060 / var(--base) * 100vw));
  }
  .page-event .title-date {
    margin: 0 auto min(24px, calc(24 / var(--base) * 100vw)) auto;
    font-size: min(40px, calc(40 / var(--base) * 100vw));
  }
  .page-event .title-date .date-unit {
    font-size: calc(24 / var(--base) * 100vw);
  }
}

.page-information main {
  padding: calc(57 / var(--base) * 100vw) 0;
}
.page-information .unit {
  padding: calc(32 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
}
.page-information .venue {
  margin: 0;
  padding: calc(24 / var(--base) * 100vw);
  background-color: #fff;
  box-shadow: var(--shadow-box);
}
.page-information .venue:not(:last-of-type) {
  margin-bottom: calc(32 / var(--base) * 100vw);
}
.page-information .venue .map {
  padding: 0;
  margin: 0;
}
.page-information .venue .title {
  margin: calc(18 / var(--base) * 100vw) 0 calc(18 / var(--base) * 100vw) 0;
  text-align: center;
  font-size: calc(24 / var(--base) * 100vw);
  line-height: 1.2;
}
.page-information .venue p {
  margin-top: 0;
  text-align: center;
  font-size: calc(14 / var(--base) * 100vw);
  line-height: 1.5;
}
.page-information .venue p:not(:last-of-type) {
  margin-bottom: 0.6em;
}
.page-information .venue p a {
  color: var(--color-text);
}
.page-information .table-price {
  margin: 0 0 calc(40 / var(--base) * 100vw) 0;
  border-bottom: 1px solid #ccc;
}
.page-information .table-price table {
  width: 100%;
  border-collapse: collapse;
}
.page-information .table-price th {
  padding: 13px 16px 13px 0;
  border-top: 1px solid #ccc;
  vertical-align: top;
  white-space: nowrap;
  font-size: calc(14 / var(--base) * 100vw);
  width: 30px;
  line-height: 1.2;
}
.page-information .table-price td {
  padding: 13px 0;
  border-top: 1px solid #ccc;
  vertical-align: top;
  font-size: calc(14 / var(--base) * 100vw);
  line-height: 1.2;
}
.page-information .table-price dl {
  margin: 0;
  display: grid;
  grid-template-columns: auto auto;
  gap: calc(10 / var(--base) * 100vw) 0;
  overflow: hidden;
  width: 100%;
}
.page-information .table-price dt {
  padding-right: 0.4em;
  background-color: #fff;
  position: relative;
  z-index: 2;
  width: fit-content;
  white-space: nowrap;
  line-height: 1.2;
  font-size: calc(12 / var(--base) * 100vw);
}
.page-information .table-price dt .small {
  font-size: calc(10 / var(--base) * 100vw);
}
.page-information .table-price dd {
  font-size: calc(12 / var(--base) * 100vw);
  padding-left: 0.4em;
  background-color: #fff;
  position: relative;
  white-space: nowrap;
  line-height: 1;
  justify-self: end;
}
.page-information .table-price dd::after {
  content: "";
  width: 100vh;
  height: 1px;
  border-bottom: 2px dotted #ccc;
  position: absolute;
  inset: calc(7 / var(--base) * 100vw) 0 auto auto;
  z-index: -1;
}
.page-information .table-price .note {
  margin-top: 0.6em;
  line-height: 1.4;
  font-size: calc(12 / var(--base) * 100vw);
}
.page-information .notice {
  margin: 0 0 calc(32 / var(--base) * 100vw) 0;
}
.page-information .notice dt {
  margin-bottom: calc(5 / var(--base) * 100vw);
}
.page-information .notice dd {
  margin: 0;
  padding: 0;
  font-size: calc(14 / var(--base) * 100vw);
  font-weight: 400;
  line-height: 1.5;
}
.page-information .contact dt {
  margin-bottom: calc(5 / var(--base) * 100vw);
}
.page-information .contact dd {
  margin: 0;
  padding: 0;
  font-size: calc(14 / var(--base) * 100vw);
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .page-information .unit {
    padding: calc(32 / var(--base) * 100vw) calc(120 / var(--base) * 100vw);
  }
  .page-information .table-price {
    margin: 0 0 min(40px, calc(40 / var(--base) * 100vw)) 0;
  }
  .page-information .table-price th {
    padding: min(16px, calc(16 / var(--base) * 100vw)) min(16px, calc(16 / var(--base) * 100vw)) min(16px, calc(16 / var(--base) * 100vw)) 0;
    font-size: min(16px, calc(16 / var(--base) * 100vw));
    width: 40px;
  }
  .page-information .table-price td {
    padding: min(16px, calc(16 / var(--base) * 100vw)) 0;
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .page-information .table-price dl {
    gap: min(16px, calc(16 / var(--base) * 100vw)) 0;
  }
  .page-information .table-price dt {
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .page-information .table-price dt .small {
    font-size: min(12px, calc(12 / var(--base) * 100vw));
  }
  .page-information .table-price dd {
    font-size: min(14px, calc(14 / var(--base) * 100vw));
    padding-left: 0.4em;
    background-color: #fff;
    position: relative;
    white-space: nowrap;
  }
  .page-information .table-price dd::after {
    width: 200vh;
    inset: min(7px, calc(7 / var(--base) * 100vw)) 0 auto auto;
  }
  .page-information .table-price .note {
    margin-top: 0.6em;
    line-height: 1.4;
    font-size: calc(12 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .page-information .unit {
    padding: min(64px, calc(64 / var(--base) * 100vw)) 0;
  }
  .page-information .venue {
    margin: 0 auto;
    padding: min(40px, calc(40 / var(--base) * 100vw));
    width: 840px;
  }
  .page-information .venue:not(:last-of-type) {
    margin-bottom: min(40px, calc(40 / var(--base) * 100vw));
  }
  .page-information .venue .map {
    padding: 0;
    margin: 0;
    text-align: center;
  }
  .page-information .venue .map img {
    width: auto;
    height: 290px;
  }
  .page-information .venue .title {
    margin: calc(18 / var(--base) * 100vw) 0 calc(18 / var(--base) * 100vw) 0;
    text-align: center;
    font-size: calc(24 / var(--base) * 100vw);
    line-height: 1.2;
  }
  .page-information .venue p {
    margin-top: 0;
    text-align: center;
    font-size: calc(14 / var(--base) * 100vw);
    line-height: 1.5;
  }
  .page-information .venue p:not(:last-of-type) {
    margin-bottom: 0.6em;
  }
  .page-information .venue p a {
    color: var(--color-text);
  }
  .page-information .table-price {
    margin: 0 auto min(40px, calc(40 / var(--base) * 100vw)) auto;
    width: 640px;
  }
  .page-information .notice,
  .page-information .contact {
    margin: 0 auto min(40px, calc(40 / var(--base) * 100vw)) auto;
    width: 640px;
  }
  .page-information .notice dt,
  .page-information .contact dt {
    margin-bottom: min(5px, calc(5 / var(--base) * 100vw));
  }
  .page-information .notice dd,
  .page-information .contact dd {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
}

body:has(.t) {
  background-color: #fff;
}

.t {
  display: grid;
  margin: 0 calc(16 / var(--base) * 100vw);
  align-items: center;
  justify-content: center;
  height: 100vh;
}
.t .banner {
  margin: 30px auto;
}
.t .banner img {
  width: auto;
  height: auto;
}
.t .banners {
  display: flex;
  justify-content: center;
  align-items: start;
  margin: 32px 0;
  gap: 8px 16px;
}
.t .banners img {
  width: auto;
  height: auto;
}
@media screen and (min-width: 768px) {
  .t {
    margin: calc(48 / var(--base) * 100vw);
  }
}
@media screen and (min-width: 1024px) {
  .t {
    margin: min(56px, calc(56 / var(--base) * 100vw));
  }
  .t .poster {
    margin: 0 auto;
    width: min(1200px, calc(1200 / var(--base) * 100vw));
  }
  .t .flyers {
    margin: 0 auto;
    width: min(1200px, calc(1200 / var(--base) * 100vw));
  }
  .t .banners {
    margin: 40px 0;
    padding-bottom: 40px;
    gap: 16px;
  }
}/*# sourceMappingURL=style.css.map */