@charset "UTF-8";

/* html5doctor.com Reset v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/) - http://cssreset.com */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
body{line-height:1}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
table{border-collapse:collapse;border-spacing:0}
ol,ul {list-style:none;}

body{font-family: 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; color:#111; font-weight:400; line-height:1;}
html{font-size: 62.5%;}
ul{list-style: none; }
a, input{outline:none;}

/**** Start of "Micro cf" ****/

.cf { zoom: 1; }
.cf:before,
.cf:after { content: ""; display: table; }
.cf:after { clear: both; }

/* --------------------------------------------------------
	site setting
-------------------------------------------------------- */
.ds-inline {
  display: inline;
}
.ds-inlineblock {
  display: inline-block;
}
.ds-block {
  display: block;
}
.fc-white {
  color:#fff;
}
.fc-black {
  color:#111;
}
.fs-54 {
  font-size: clamp(4.8rem, 2.694rem + 1.5vw, 5.4rem); /*1680-1281 54-48*/
}
.fs-42 {
  font-size: clamp(3.8rem, 2.5152rem + 1vw, 4.2rem); /*1680-1281 42-38*/
}
.fs-40 {
  font-size: clamp(3.6rem, 1.447rem + 1vw, 4.0rem); /*1680-1281 40-36*/
}
.fs-32 {
  font-size: clamp(2.8rem, 1.5152rem + 1vw, 3.2rem); /*1680-1281 32-28*/
}
.fs-28 {
  font-size: clamp(2.4rem, 1.1152rem + 1vw, 2.8rem); /*1680-1281 28-24*/
}
.fs-24 {
  font-size: clamp(2.0rem, 0.7152rem + 1vw, 2.4rem); /*1680-1281 24-20*/
}
.fs-22 {
  font-size: clamp(2.0rem, 1.3584rem + 0.5vw, 2.2rem); /*1680-1281 22-20*/
}
.fs-20 {
  font-size: clamp(1.8rem, 1.1584rem + 0.5vw, 2.0rem); /*1680-1281 20-18*/
}
.fs-18 {
  font-size: 1.8rem;
}
.fs-16 {
  font-size: 1.6rem;
}
.fs-14 {
  font-size: 1.4rem;
}
.fs-12 {
  font-size: 1.2rem;
}
.fw-900 {
  font-weight:900;
}
.fw-700 {
  font-weight:700;
}
.fw-500 {
  font-weight:500;
}
.fw-400 {
  font-weight:400;
}
.lh-200 {
  line-height:2.0;
}
.lh-150 {
  line-height:1.5;
}
.lh-140 {
  line-height:1.4;
}
.lh-130 {
  line-height:1.3;
}
.lh-120 {
  line-height:1.2;
}
.ta-center {
  text-align: center;
}
.ta-left {
  text-align: left;
}
.mt-100 {
  margin-top:5.9523vw;
}
.mt-80 {
  margin-top:4.7619vw;
}
.mt-60 {
  margin-top:3.5714vw;
}
.mt-50 {
  margin-top:2.9761vw;
}
.mt-40 {
  margin-top:2.3809vw;
}
.mt-30 {
  margin-top:1.7857vw;
}
.mt-20 {
  margin-top:1.1904vw;
}
.mt-10 {
  margin-top:0.5952vw;
}
.mb-60 {
  margin-bottom:3.5714vw;
}
.mb-40 {
  margin-bottom:2.3809vw;
}
.mb-20 {
  margin-bottom:1.1904vw;
}

/* --------------------------------------------------------
	style
-------------------------------------------------------- */

html {
  height: 100%;
}
body {
  position: relative;
  background-size: 100% auto;
}
a {
  color:#0D98BA;
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
.body__inner {
  width:100%;
  overflow: hidden;
}
.loader {
  pointer-events: none;
  position: absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:#fff;
  z-index: 1000;
}
.loaded .loader {
  opacity: 0;
  transition: 2.0s;
  transition-delay: 0.5s;
}
.loader__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height:100vh;
}
.loader__inner img {
  width: 2.5%;
  height: auto;
}
figure img {
  width:100%;
  height:auto;
}
.note__list {
  list-style-type: none;
}
.note__list > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height:1.4;
  text-align: left;
}
.note__list li:before {
  content:'※';
  margin-right:5px;
}
body.en .note__list li:before {
  content:'*';
}
.note__list li + li {
  margin-top:8px;
}
.disk__list {
  list-style-type: disc;
  margin-left:20px;
}
.disk__list li {
  line-height:1.5;
}
.disk__list li + li {
  margin-top:10px;
}
.decimal__list {
  list-style-type:decimal;
  margin-left:20px;
}
.decimal__list li {
  line-height:1.5;
}
.decimal__list li + li {
  margin-top:10px;
}
/* --------------------------------------------------------
	global navi
-------------------------------------------------------- */
header {
  position: relative;
  width:100%;
  background:rgba(255,255,255,0.95);
  transform: translate(0,-100%);
  z-index: 9;
}
.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left:3%;
  width:calc(100% - (3vw + 40px));
  height: 60px;
  box-sizing: border-box;
}
.loaded header {
  transform: translate(0,0);
  transition: 1.25s;
  transition-delay: 0.5s;
}
header.fixed {
  position: fixed;
  top: 0;
  transition: 1.5s;
}
.sitelogo {
  height:32px;
}
.sitelogo img {
  width:auto;
  height:100%;
}
.language__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  position: relative;
}
.language__wrapper:before {
  content: "\f0ac";
  pointer-events: none;
  font-family: "Font Awesome 6 Free";
  -webkit-font-smoothing: antialiased;
  display: inline;
  font-size: 1.8rem;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 0;
}
select[name="language"] {
  appearance: none;
  outline: none;
  padding:5px 15px 5px 10px;
  font-size:1.6rem;
  border:none;
  background:none;
  box-sizing: border-box;
}
select[name="language"]::-ms-expand {
  display: none;
}
/* --------------------------------------------------------
	hero
-------------------------------------------------------- */
.hero {
  width:100%;
}
.hero img {
  width:100%;
  height:auto;
}
.contents__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  margin:0 auto;
  padding-top:1.1904vw;
  width:88.0952%;
}
.contents__head .inner__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  width: 56%;
}
.contents__head .inner__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  position: relative;
  width: 42%;
}
.section__title {
  width:auto;
  height:36px;
}
#illustrator .section__title, #robots .section__title {
  height:auto;
  line-height:1.3;
}
.section__title img {
  width:auto;
  height:100%;
}
#about {
  width:100%;
  letter-spacing: -0.02em;
}
#about > div {
  position: relative;
}
/*#about > div > * {
  clip-path: inset(0 0 0 100%);
}
#about > div.onScreen > * {
  animation-name: anime-effect02;
  animation-duration: 1.0s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}
#about > div.onScreen:after {
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
  clip-path: inset(0 100% 0 0);
  animation-name: anime-effect01;
  animation-duration: 1.0s;
  animation-iteration-count: 1;
}*/
body.en #about > p:nth-of-type(1) {
  width:80%;
}
#about .highlight {
  margin-right:5px;
  padding:4px 0;
  font-weight: 700;
  background:#A9E9ED;
}
#info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
#info > * {
  margin-right:-4vw;
  clip-path: inset(0 0 0 100%);
  /*transform: translate(200%,0);*/
}
#info > *.onScreen {
  clip-path: inset(0 0 0 0);
  /*transform: translate(0%,0);*/
  transition: 1.5s;
}
#info .info__schedule {
  width:48.5119vw;
  padding:10px;
  background:#A9E9ED;
  box-sizing: border-box;
}
#info .info__venue {
  display: inline-block;
  margin-top:10px;
  padding:10px;
  background:#A9E9ED;
  box-sizing: border-box;
}
#info .info__venue .head {
  padding-left:10px;
  color:#111;
  font-weight: 700;
  border-left: 6px solid #111;
}
#info .info__venue .text {
  margin-top:10px;
  color:#111;
  font-weight: 700;
}
#news {
  margin-top:5.9523vw;
  padding:20px;
  background:#eee;
  /*transform: translate(200%,0);*/
  box-sizing: border-box;
}
/*#news.onScreen {
  transform: translate(0%,0);
  transition: 1.5s;
}*/
.news__list {
}
.news__list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.news__list li + li {
  margin-top:30px;
}
.news__list .news__date {  
}
.news__list .news__text {
  margin-left:30px;
}
/* --------------------------------------------------------
	contents
-------------------------------------------------------- */
main > section {
  padding:5.9523vw 0;
  width:100%;
  box-sizing: border-box;
}
#access, #faq, #sns, #contact {
  padding:0 0 5.9523vw;
}
.section__inner {
  margin:0 auto;
  width:71.4285%;
}
/*.section__inner > *:not(.artist__list--wrapper):not(.faq__list) {
  opacity: 0;
  transform: translate(0,50%);
}
.section__inner > *:not(.artist__list--wrapper):not(.faq__list).onScreen {
  opacity: 1.0;
  transform: translate(0,0);
  transition: 0.5s;
}*/
#illustrator {
  background:#A9E9ED;
}
.illustrator__kv {
  margin-right:auto;
  margin-left:auto;
  width:100%;
}
#illustrator table {
  width:80%;
}
#illustrator .note__list {
  display: inline-flex;
}
#illustrator .illustrator__list {
  padding:40px;
  width:100%;
  background:#fff;
  box-sizing: border-box;
}
#illustrator .illustrator__list .list__data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top:-30px;
}
#illustrator .illustrator__list .list__data li {
  margin-top:30px;
}
#illustrator .illustrator__list .list__data li:after {
  content:'/';
  margin-right:15px;
  margin-left:15px;
}
#robots .flex__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content:space-between;
}
#robots .flex__wrapper .inner__left {
  width:52%;
}
#robots .flex__wrapper .inner__right {
  width:46%;
}
#robots .flex__wrapper .inner__right figure {
  position: relative;
  width: 100%;
  height: 100%;
}
#robots .flex__wrapper .inner__right figure img {
  position: absolute;
  top:50%;
  left:50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%,-50%);
}
#robots table {
  width:100%;
}
.works__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.works__list li {
  position: relative;
}
.works__list li:last-child {
  flex-grow: 1;
}
.works__list li + li {
  margin-left:1%;
}
.works__list li:not(:last-child) img {
  width:auto;
  height:13.5vw;
}
.works__list li:last-child img {
  position: absolute;
  bottom:0;
  width:100%;
  height:auto;
}
.subtitle__wrapper {
  position: relative;
  width:100%;
}
.subtitle__wrapper:before {
  content: '';
  position: absolute;
  top:50%;
  left:0;
  width:100%;
  height:2px;
  transform: translate(0,-50%);
}
.subtitle__wrapper .section__subtitle {
  display: inline-flex;
  flex-wrap: wrap;
  align-content: center;
  position: relative;
  padding:20px 20px 20px 10px;
  color:#111;
  box-sizing: border-box;
}
#robots .subtitle__wrapper:before {
  background:#A9E9ED;
}
#robots .subtitle__wrapper .section__subtitle {
  background:#A9E9ED;
}
#special .subtitle__wrapper:before {
  background:#fff;
}
#special .subtitle__wrapper .section__subtitle {
  color:#111;
  background:#fff;
}
#ticket .subtitle__wrapper:before, #contact .subtitle__wrapper:before {
  background:#111;
}
#ticket .subtitle__wrapper .section__subtitle, #contact .subtitle__wrapper .section__subtitle {
  color:#fff;
  background:#111;
}
.subtitle__wrapper .section__subtitle span {
  margin-left:5px;
}
.artist__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top:-30px;
  width:100%;
}
.artist__list li {
  margin-top:30px;
  width:32%;
  background:#eee;
}
.artist__list li {
  margin-right:2%;
  /*opacity: 0;
  transform: translate(0,50%);*/
}
/*.artist__list li.onScreen {
  opacity: 1.0;
  transform: translate(0,0);
  transition: 0.5s;
}*/
.artist__list li:nth-last-child(3n), .artist__list li:last-child {
  margin-right:0;
}
.artist__list li .inner__top {
  width:100%;
}
.artist__list li .inner__top img {
  width:100%;
  height:auto;
}
.artist__list li .inner__bottom {
  padding:20px 15px;
  width:100%;
  box-sizing: border-box;
}
.curator {
  margin-top:40px;
  padding-top:40px;
  width:100%;
  border-top:1px dashed #999;
  box-sizing: border-box;
}
#special {
  color:#111;
  background:#A9E9ED;
}
.urune-nokuto {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  padding:30px 20px;
  color:#111;
  background:#fff;
  box-sizing: border-box;
}
.urune-nokuto .inner__left {
  width:18%;
}
.urune-nokuto .inner__left img {
  width:100%;
  height:auto;
}
.urune-nokuto .inner__right {
  width:calc(100% - 20%);
}
.special__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.special__info .inner__left {
  width:calc(100% - 43%);
}
.special__info table {
  width:100%;
}
.special__info .inner__right {
  position: relative;
  width:41.6666%;
}
.special__info .inner__right img {
  position: absolute;
  top:50%;
  left:50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%,-50%);
}
#ticket table {
  margin-left:0;
  width:80%;
}
#ticket .subtitle__wrapper .section__subtitle {
  padding: 20px;
}
.map__wrapper {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}
.map__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.faq__list li + li {
  margin-top:5px;
}
.faq__list li.open + li {
  margin-top:20px;
}
.faq__list li .question {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  position:relative;
  padding:10px 40px 10px 10px;
  color:#fff;
  background:#111;
  box-sizing: border-box
}
.faq__list li .question:before {
  content: "\51";
  pointer-events: none;
  font-family: "Font Awesome 6 Free";
  -webkit-font-smoothing: antialiased;
  display: inline;
  margin-right: 30px;
  font-size: 1.8rem;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
}
.faq__list li .question:after {
  content: "\2b";
  pointer-events: none;
  font-family: "Font Awesome 6 Free";
  -webkit-font-smoothing: antialiased;
  position: absolute;
  top:50%;
  right:20px;
  display: inline;
  font-size: 1.8rem;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 0;
  transform: translate(0,-50%);
}
.faq__list li.open .question:after {
  content: "\f068";
}
.faq__list li .answer {
  display: none;
  overflow: hidden;
  position:relative;
  padding:15px;
  color:#111;
  background:#eee;
  box-sizing: border-box;
}
.faq__list li.open > .answer {
  display: block;
}
.faq__list li .answer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.faq__list li .answer__inner:before {
  content: "\41";
  pointer-events: none;
  font-family: "Font Awesome 6 Free";
  -webkit-font-smoothing: antialiased;
  display: inline;
  margin-right: 30px;
  font-size: 1.8rem;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
}
.faq__list li .answer .category {
  padding-left:10px;
  font-weight: 700;
  border-left:3px solid #111;
}
#sns .flex__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
#sns .flex__wrapper .inner__left {
  width:30%;
}
#sns .flex__wrapper .inner__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  width:68%;
}
#sns .flex__wrapper .title {
  width:100%;
  padding:20px;
  color:#111;
  text-align: center;
  background:#A9E9ED;
  box-sizing: border-box;
}
#sns .flex__wrapper .title a {
  color:#111;
  text-decoration: underline;
}
#sns .flex__wrapper .inner__right .instagram__wrapper {
  flex-grow: 1;
}
.btn__inquiry {
  display: block;
  margin-right:auto;
  margin-left:auto;
  padding:20px;
  width:60%;
  color:#fff;
  text-align: center;
  text-decoration: none;
  background:#A9E9ED;
  border-radius: 999px;
  box-sizing: border-box;
  transition: 0.2s;
}
.btn__inquiry:hover {
  background:#111;
  transition: 0.2s;
}
.inquiry__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
  padding:40px 20px;
  width: 100%;
  background:#eee;
  box-sizing: border-box;
}
.inquiry__list > li {
  padding:0;
  width:32%;
  text-align: center;
  box-sizing: border-box;
}
.inquiry__list > li:nth-child(2) {
  margin-right:1%;
  padding-right:1%;
  margin-left:1%;
  padding-left:1%;
  width:34%;
  border-right:1px solid #ccc;
  border-left:1px solid #ccc;
}
.inquiry__list .inquiry__title {
  padding:10px;
  width:100%;
  color:#111;
  background:#A9E9ED;
  box-sizing: border-box;
}
.inquiry__list .note__list {
  display: inline-flex;
  flex-direction: column;
}
.img__expo2025 {
  margin-right:auto;
  margin-left:auto;
  width:500px;
}
.musashino-kairo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.musashino-kairo .inner__left {
  width:10%;
}
.musashino-kairo .inner__left img {
  width:100%;
  height:auto;
}
.musashino-kairo .inner__right {
  width:88%;
}
.seibu-railway figure {
  margin:0 auto;
  width:400px;
}
footer {
  padding:5.9523vw 20px;
  width:100%;
  line-height:1.2;
  box-sizing: border-box;
}
/* --------------------------------------------------------
	table
-------------------------------------------------------- */
table {
  table-layout: fixed;
  margin-right:auto;
  margin-left:auto;
  border-collapse: separate;
  border-spacing: 1px;
}
th, td {
  padding:30px 15px;
  box-sizing: border-box;
}
th {
  width:150px;
  vertical-align: middle;
}
body.en th {
  width:200px;
}
.table__header--blackBg th {
  color:#fff;
  background:#111;
}
.table__header--blackBg td {
  color:#111;
  background:#fff;
}
.table__header--blueBg th {
  color:#111;
  background:#A9E9ED;
}
.table__header--blueBg td {
  color:#111;
  background:#eeeeee;
}
.table__header--blackBg2 th {
  color:#fff;
  background:#111;
}
.table__header--blackBg2 td {
  color:#111;
  background:#eee;
}
.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
}
.buy-btn {
  display: inline-block;
  position: relative;
  padding:10px;
  color:#fff;
  text-decoration: none;
  border-radius: 3px;
  background:#0D98BA;
  box-sizing: border-box;
}
.buy-btn:before {
  content: "\f145";
  pointer-events: none;
  font-family: "Font Awesome 6 Free";
  -webkit-font-smoothing: antialiased;
  display: inline;
  margin-right:10px;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 0;
}
.table__header--blackBg2 .buy-btn {
  margin-left:20px;
}
/* --------------------------------------------------------
  ハンバーガーナビ
-------------------------------------------------------- */
#nav-tgl {
  display: none;
}
.nav__bg {
  position: absolute;
  top:50%;
  right:0;
  width:100%;
  height:80%;
  background:none;
  border-radius: 999px;
  transform: translate(0,-50%);
}
.scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.nav-tgl-btn {
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0;
  margin: 0;
}
.drawer-open {
  right:3vw;
  z-index: 999;
  width:35px;
  height:60px;
  transition: background .6s, transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.drawer-open::before,
.drawer-open::after {
  content: "";
}
.drawer-open span,
.drawer-open::before,
.drawer-open::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 100%;
  border-bottom: 4px solid #111;
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
  z-index: 1;
}
.drawer-open::before {
  transform: translateY(-12px);
}
.drawer-open::after {
  transform: translateY(12px);
}
.drawer-close {
  z-index: 998;
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: background .6s;
}
#nav-tgl:checked+.drawer-open {
  transform: translateX(0);
}
#nav-tgl:checked+.drawer-open span {
  transform: scaleX(0);
}
#nav-tgl:checked+.drawer-open::before {
  border-color: #fff;
  transform: rotate(45deg);
}
#nav-tgl:checked+.drawer-open::after {
  border-color: #fff;
  transform: rotate(-45deg);
}
#nav-tgl:checked~.drawer-close {
  pointer-events: auto;
  background: rgba(0, 0, 0, .75);
}
.content-wrapper {
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#nav-tgl:checked~.content-wrapper {
  transform: translateX(-250px);
}
.drawer-menu {
  z-index: 999;
  position: fixed;
  top: 60px;
  right: 0;
  width:40%;
  height:calc(100vh - (60px));
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  background:#A9E9ED;
  transform: translateX(100%);
  transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
#nav-tgl:checked~.drawer-menu {
  transform: none;
}
.drawer-menu > ul {
  padding-bottom:60px;
  box-sizing: border-box;
}
.drawer-menu > ul > li {
  width: 100%;
  border-bottom: 1px solid #eee;
  box-sizing: border-box;
}
.drawer-menu > ul > li a {
  display: block;
  position: relative;
  padding:20px;
  color:#111;
  text-decoration: none;
  font-size: 1.6rem;
  box-sizing: border-box;
}
.drawer-menu > ul > li a:after {
  pointer-events: none;
  font-family: "Font Awesome 6 Free";
  content: "\f054";
  -webkit-font-smoothing: antialiased;
  display: block;
  position: absolute;
  top:50%;
  right:0;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  transform: translate(-20px,-50%);
}

/* --------------------------------------------------------
  ページTOP
-------------------------------------------------------- */
#page-top {
  position: fixed;
  bottom: 100px;
  right: 60px;
  z-index:1;
}
#page-top a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor:pointer;
  width:80px;
  height:80px;
  color:#111;
  font-size:1.4rem;
  line-height:110%;
  font-weight: bold;
  background:#A9E9ED;
  border-radius: 999px;
  text-align: center;
  text-decoration: none;
  transition: 0.5s;
}
#page-top a:before {
  pointer-events: none;
  font-family: "Font Awesome 5 Free";
  content: "\f077";
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  margin-top:-8px;
  margin-bottom: 2px;
  font-weight: bold;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
}
#page-top a:hover {
  text-decoration: none;
}
@media screen and (max-width: 540px) {
  #page-top {
    bottom: 20px;
    right: 20px;
  }
  #page-top a {
    width:60px;
    height:60px;
    font-size:1.2rem;
  }
}
/* --------------------------------------------------------
	responsive
-------------------------------------------------------- */
@media screen and (max-width: 1680px) {
}
@media screen and (max-width: 1440px) {
  .mt-20 {
    margin-top:20px;
  }
  .mt-10 {
    margin-top:10px;
  }
  .mb-20 {
    margin-bottom:20px;
  }
  .section__inner {
    width: 82%;
  }
  .works__list li:not(:last-child) img {
    width: auto;
    height: 15vw;
  }
}
@media screen and (max-width: 1280px) {
  .contents__head {
    width: 94%;
  }
  #info > * {
    margin-right: -1.5vw;
  }
  #sns .flex__wrapper {
    flex-direction: column;
  }
  #sns .flex__wrapper .inner__left {
    width: 100%;
  }
  #sns .flex__wrapper .inner__right {
    margin-top:40px;
    width: 100%;
  }
  #sns .flex__wrapper .inner__right iframe {
    height:500px !important;
  }
}
@media screen and (max-width: 1279px) {
  .fs-54 {
    font-size: clamp(3.8rem, 1.92rem + 2.25vw, 4.8rem) /*1279-835 48-38*/
  }
  .fs-42 {
    font-size: clamp(2.8rem, 0.92rem + 2.25vw, 3.8rem); /*1279-835 38-28*/
  }
  .contents__head {
    flex-direction: column;
    justify-content:flex-start;
    align-items: center;
    padding-top: 40px;
    width: 100%;
  }
  .contents__head .inner__left {
    order: 1;
    margin-top:5.9523vw;
    width:60%;
  }
  .contents__head .inner__right {
    display: contents;
    width: 100%;
  }
  #info {
    align-items: center;
    order: 0;
  }
  #info > * {
    margin-right: 0;
  }
  #info .info__venue {
    display: block;
    width:100%;
    text-align: center;
  }
  #info .info__venue .head {
    border-left: none;
  }
  body.en #about > p:nth-of-type(1) {
    width:100%;
  }
  #news {
    order: 2;
    margin-top:5.9523vw;
    padding-top:5.9523vw;
    padding-bottom:5.9523vw;
    width:100%;
    background:#eee;
  }
  .news__list {
    margin-right:auto;
    margin-left:auto;
    width:50%;
  }
  .contents__head .section__title, #about p {
    text-align: center;
  }
  main {
    margin-top:0 !important;
  }
  .section__inner {
    width: 94%;
  }
  #illustrator table {
    width:100%;
  }
  .works__list li:not(:last-child) img {
    height: 17vw;
  }
}
@media screen and (max-width: 834px) {
  .fs-54 {
    font-size: clamp(2.8rem, 1.7312rem + 2.48vw, 3.8rem); /*834-431 38-28*/
  }
  .fs-40 {
    font-size: clamp(2.8rem, 1.944rem + 1.99vw, 3.6rem); /*834-431 36-28*/
  }
  .fs-32 {
    font-size: clamp(2.4rem, 1.9568rem + 0.99vw, 2.8rem); /*834-431 28-24*/
  }
  .fs-28 {
    font-size: clamp(2.0rem, 1.5728rem + 0.99vw, 2.4rem); /*834-431 24-20*/
  }
  .fs-24 {
    font-size: clamp(1.8rem, 1.5856rem + 0.5vw, 2.0rem); /*834-431 20-18*/
  }
  .fs-22 {
    font-size: clamp(1.8rem, 1.5856rem + 0.5vw, 2.0rem); /*834-431 20-18*/
  }
  .fs-20 {
    font-size: clamp(1.6rem, 1.3856rem + 0.5vw, 1.8rem); /*834-431 18-16*/
  }
  .fs-18 {
    font-size: clamp(1.4rem, 1.1856rem + 0.5vw, 1.6rem); /*834-431 16-14*/
  }
  .fs-16 {
    font-size: clamp(1.4rem, 1.1856rem + 0.5vw, 1.6rem); /*834-431 16-14*/
  }
  .fs-14 {
    font-size: clamp(1.2rem, 0.9856rem + 0.5vw, 1.4rem); /*834-431 14-12*/
  }
  .mt-100 {
    margin-top:40px;
  }
  .mt-80 {
    margin-top:40px;
  }
  .mt-60 {
    margin-top:40px;
  }
  .mt-50 {
    margin-top:30px;
  }
  .mt-40 {
    margin-top:30px;
  }
  .mt-30 {
    margin-top:20px;
  }
  .mb-40 {
    margin-bottom:30px;
  }
  .lh-200 {
    line-height:1.5;
  }
  .loader__inner img {
    width: 60px;
    height: auto;
  }
  .drawer-menu {
    width: 80%;
  }
  .contents__head {
    width: 100%;
  }
  .contents__head .inner__left {
    margin-top: 40px;
    width: 94%;
  }
  #news {
    margin-top: 40px;
    padding:40px 0;
    width: 100%;
  }
  .news__list {
    width: 94%;
  }
  .section__title {
    height: 6vw;
  }
  main > section {
    padding: 40px 0;
  }
  #access, #faq, #sns, #contact {
    padding: 0 0 40px;
  }
  tr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
  }
  th, td {
    padding:15px;
    width: 100%;
  }
  body.en th {
    width: 100%;
  }
  #about p {
    line-height:2.0;
  }
  #info {
    width:94%;
  }
  #info .info__schedule {
    width: 100%;
  }
  #illustrator .illustrator__list {
    padding: 20px;
  }
  #illustrator .illustrator__list .list__data {
    margin-top: -20px;
  }
  #illustrator .illustrator__list .list__data li {
    margin-top: 20px;
  }
  #illustrator .illustrator__list .list__data li:after {
    margin-right: 5px;
    margin-left: 5px;
  }
  #robots .flex__wrapper {
    flex-direction: column;
    justify-content: flex-start;
  }
  #robots .flex__wrapper .inner__left {
    display: contents;
  }
  #robots .flex__wrapper .inner__left p {
    order:0;
  }
  #robots table {
    order:2;
  }
  #robots .flex__wrapper .inner__right {
    order:1;
    margin-top:30px;
    width: 100%;
  }
  #robots .flex__wrapper .inner__right figure {
    height: auto;
  }
  #robots .flex__wrapper .inner__right figure img {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: auto;
    object-fit:unset;
    transform: translate(0, 0);
  }
  .works__list li:last-child img {
    position: relative;
    bottom: auto;
  }
  .artist__list {
    flex-wrap: wrap;
    margin-top:-15px;
  }
  .artist__list li {
    margin-top:15px;
    width: 49%;
  }
  .artist__list li:nth-child(even) {
    margin-right:0;
  }
  .artist__list li:nth-last-child(3n) {
    margin-right: 2%;
  }
  .curator {
    margin-top: 20px;
    padding-top: 20px;
  }
  .urune-nokuto .inner__left {
    width: 32%;
  }
  .urune-nokuto .inner__right {
    width: calc(100% - 34%);
  }
  .special__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  .special__info .inner__left {
    width: 100%;
  }
  .special__info .inner__right {
    margin-top:30px;
    width: 100%;
  }
  .special__info .inner__right img {
    position: relative;
    top: auto;
    left: auto;
    height: auto;
    object-fit: unset;
    transform: translate(0, 0);
  }
  .inquiry__list {
    flex-wrap: wrap;
    padding:20px;
  }
  .inquiry__list > li {
    width: 100%;
  }
  .inquiry__list > li + li {
    margin-top:20px;
    padding-top:20px;
    border-top:1px solid #ccc;
  }
  .inquiry__list > li:nth-child(2) {
    margin-right:0;
    padding-right:0;
    margin-left:0;
    padding-left:0;
    width:100%;
    border-right: none;
    border-left: none;
  }
  .btn__inquiry {
    width: 100%;
  }
  #sns .flex__wrapper .inner__right .instagram__wrapper {
    aspect-ratio: 675 / 458;
  }
  .musashino-kairo {
    margin-top:40px;
    padding-top:40px;
    border-top:1px solid #ccc;
  }
  .seibu-railway {
    margin-top:40px;
    padding-top:40px;
    border-top:1px solid #ccc;
  }
  .musashino-kairo .inner__left {
    width: 20%;
  }
  .musashino-kairo .inner__right {
    width: 78%;
  }
  footer {
    padding: 40px 20px;
  }
}
@media screen and (max-width: 768px) {
  #sns .flex__wrapper .inner__right iframe {
    height: 60vw !important;
  }
}
@media screen and (max-width: 640px) {
  .works__list {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .works__list li {
    width: 49% !important;
  }
  .works__list li:nth-child(3) {
    margin-top:10px;
  }
  .works__list li:last-child {
    flex-grow: 0;
    margin-top:10px;
  }
  .works__list li + li {
    margin-left: 0;
  }
  .works__list li img {
    width:100% !important;
    height:auto !important;
  }
  .works__list li:last-child img {
    position: relative;
    bottom: auto;
  }
  .urune-nokuto .inner__left {
    width: 44%;
  }
  .urune-nokuto .inner__right {
    width: calc(100% - 46%);
  }
}
@media screen and (max-width: 540px) {
  .fs-54 {
    font-size: 2.4rem;
  }
  .fs-42 {
    font-size: 2.4rem;
  }
  .fs-40 {
    font-size: 2.4rem;
  }
  .fs-32 {
    font-size: 2.2rem;
  }
  .mt-80 {
    margin-top: 40px;
  }
  .section__title + .mt-60 {
    margin-top:30px;
  }
  .subtitle__wrapper .section__subtitle {
    padding: 15px 15px 15px 10px;
  }
  body.en .subtitle__wrapper .section__subtitle {
    flex-direction: column;
    align-content: flex-start;
    line-height: 1.5;
    text-align: left;
  }
  #ticket .subtitle__wrapper .section__subtitle {
    padding: 15px;
  }
  #about p.mt-50 {
    margin-top:20px;
  }
  #about p br {
    display: none;
  }
  #about .highlight {
    padding: 0;
  }
  .works__list li {
    width: 100% !important;
  }
  .works__list li + li {
    margin-top: 10px;
  }
  table, #ticket table {
    width: 100%;
  }
  td {
    text-align: center;
  }
  .table__header--blackBg2 td.flex-container {
    flex-direction: column;
  }
  .table__header--blackBg2 .buy-btn {
    margin-top:10px;
    margin-left: 0;
  }
  .artist__list li {
    width: 100%;
  }
  .artist__list li {
    margin-right:0;
  }
  .urune-nokuto {
    flex-wrap: wrap;
    justify-content:flex-start;
    padding: 15px;
  }
  .urune-nokuto .inner__left {
    width: 100%;
  }
  .urune-nokuto .inner__right {
    margin-top:20px;
    width: 100%;
  }
  .map__wrapper {
    padding-top: 100%;
  }
  .img__expo2025 {
    width: 100%;
  }
  #sns .flex__wrapper .inner__right {
    margin-top: 30px;
  }
  .musashino-kairo {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }
  .musashino-kairo .inner__left {
    width: 50%;
  }
  .musashino-kairo .inner__right {
    margin-top:20px;
    width: 100%;
  }
}
@media screen and (max-width: 434px) {
  .sitelogo {
    height:28px;
  }
  .seibu-railway figure {
    width: 100%;
  }
}
@media screen and (max-width: 375px) {
  .sitelogo {
    height:24px;
  }
}
/* --------------------------------------------------------
	animation
-------------------------------------------------------- */
@keyframes opacity {
  0% {
    opacity: 0.1;
  }
  50% {
    opacity: 1.0;
  }
  100% {
    opacity: 0.1;
  }
}
@keyframes scaleUp {
  0% {
    transform: translate(-50%, 0) scale(1.0);
  }
  50% {
    transform: translate(-50%, 0) scale(1.2);
  }
  100% {
    transform: translate(-50%, 0) scale(1.0);
  }
}
@keyframes fadeInFromTop {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.animated {
  animation-duration: 0.5s;
  animation-fill-mode: both;
  animation-timing-function: ease-in-out;
}
.fadeInFromTop {
  animation-name: fadeInFromTop;
}
@keyframes anime-effect01 {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  50% {
    clip-path: inset(0 0 0 0);
    background:#A9E9ED;
  }
  100% {
    clip-path: inset(0 100% 0 0);
    background:#fff;
  }
}
@keyframes anime-effect02 {
  0% {
    clip-path: inset(0 0 0 100%);
  }
  50% {
    clip-path: inset(0 0 0 100%);
  }
  100% {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes anime-effect03 {
  0% {
    clip-path: inset(0 0 0 100%);
  }
  50% {
    clip-path: inset(0 0 0 0);
    background:#A9E9ED;
  }
  100% {
    clip-path: inset(0 0 0 100%);
    background:#fff;
  }
}