/*----------------------
 sp
 ----------------------*/

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

@media screen and (max-width:768px) {

  /*----------------------
 common
 ----------------------*/
  .pc {
    display: none !important;
  }

  img {
    width: 100%;
    height: auto;
  }

  html {
    font-size: 62.5%;
    min-width: 100%;
  }

  body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #fff;
    font-size: 3.733vw;
    line-height: 1.7;
  }

  a:hover {
    opacity: 0.75;
  }

  .inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 8.3vw;
  }

  .btn_entry a {
    display: block;
    font-size: 4vw;
    text-align: center;
    line-height: 2.2;
    letter-spacing: 0.08em;
    padding: 1.067vw 6.4vw;
    border: 0.533vw solid #fff;
    margin-top: 5.267vw;
  }

  .btn_entry a::before {
    display: none;
  }

  .btn_entry a:hover {
    color: #fff;
    opacity: 0.75;
  }

  .section_ttl {
    width: 100%;
    font-size: 5.333vw;
    line-height: 2;
    letter-spacing: 0.08em;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 0.3em;
    text-decoration-thickness: 0.267vw;
    display: inline-block;
  }

  /* menu
------------------------------------- */
  /* menu_btn close */
  .menu_btn {
    position: fixed;
    top: 3vw;
    left: 85.067vw;
    transform: translateY(0);
    z-index: 999999;
    width: 10.667vw;
    height: 10.667vw;
    cursor: pointer;
    background: none;
  }

  .menu_btn:hover {
    opacity: 0.75;
  }

  .menu_btn .line {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 9.6vw;
    height: 0.533vw;
    background: #fff;
  }

  .menu_btn .line_01 {
    top: 6.133vw;
    left: 0;
  }

  .menu_btn .line_02 {
    top: 3.2vw;
    left: 0;
  }

  .menu_btn .line_03 {
    top: 9.333vw;
    left: 0;
  }

  /* menu_btn open */
  .menu_btn_nav {
    width: calc(25 / 375 * 100vw);
    height: calc(25 / 375 * 100vw);
    position: absolute;
    top: calc(25 / 375 * 100vw);
    left: calc(32 / 375 * 100vw);
    transform: translateY(0);
  }

  .menu_btn_nav .line {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 0.267vw;
    background: #fff;
  }

  .menu_btn_nav .line {
    box-shadow: none;
    mix-blend-mode: normal;
  }

  .menu_btn_nav .line_01 {
    top: 50%;
    left: 50%;
    transform: rotate(45deg) translate(-50%, -50%);
    transform-origin: left top;
  }

  .menu_btn_nav .line_02 {
    opacity: 0;
  }

  .menu_btn_nav .line_03 {
    top: 50%;
    left: 50%;
    transform: rotate(-45deg) translate(-50%, -50%);
    transform-origin: left top;
  }

  .mv_logo {
    width: 9.067vw;
    position: fixed;
    top: 4.533vw;
    left: 6.4vw;
  }

  .mv_logo a {
    display: block;
  }

  /* nav
------------------------------------- */
  header {
    z-index: 1000;
  }

  .nav {
    width: 100%;
    background: rgba(0, 0, 0, 0.8);
    position: fixed;
    left: -100%;
    padding: 0;
    font-size: 6.933vw;
    line-height: 1.75;
    letter-spacing: 0.08em;
  }

  .nav_inner {
    display: block;
    padding: calc(114 / 375 * 100vw) calc(32 / 375 * 100vw);
  }

  .nav_list a {
    color: #fff;
  }

  .nav_link {
    font-size: calc(26 / 375 * 100vw);
    line-height: 1.73;
  }

  .link_website {
    padding-top: 11.267vw;
    font-size: calc(26 / 375 * 100vw);
    text-decoration: underline;
    text-underline-offset: 0.2em;
    text-decoration-thickness: 0.267vw;
  }

  /* mv
------------------------------------- */
  .mv {
    width: 100%;
    min-height: 100vh;
    height: 100vh;
    min-height: calc(var(--vh, 1vh)*100);
    height: calc(var(--vh, 1vh)*100);
    position: relative;
  }

  .mv_ttl {
    width: 83.2vw;
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .mv_ttl img {
    width: 100%;
    height: auto;
  }

  .mv_txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 6.4vw;
    letter-spacing: 0.02em;
    padding-top: 44.467vw;
  }

  .btn_lang {
    position: relative;
    bottom: 0;
    right: 0;
    display: flex;
    align-items: center;
    font-size: 4.8vw;
    padding-top: 22.533vw;
    font-weight: 500;
    letter-spacing: 0.1em;
  }

  .btn_lang span {
    padding: 0 1.333vw;
  }

  .btn_lang .active {
    opacity: 0.3;
  }

  .scroll {
    width: 14.667vw;
    position: absolute;
    bottom: -3%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* concept
------------------------------------- */
  .concept {
    display: block;
    flex-direction: column;
    align-items: center;
    margin: 0;
  }

  .concept_place {
    padding-top: 4vw;
  }

  .concept_txt {
    text-align: justify;
    margin-top: 12.333vw;
    font-size: 4.2vw;
    letter-spacing: 0.08em;
    line-height: 1.8;
  }

  .concept_txt span {
    display: inline;
  }

  .concept_txt::before,
  .concept_txt::after {
    content: "";
    display: inline-block;
    width: 30.4vw;
    height: 0.267vw;
    background-color: #fff;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  .concept_txt::before {
    margin-bottom: 10.933vw;
  }

  .concept_txt::after {
    margin-top: 11.467vw;
  }

  /* about
------------------------------------- */
  .about {
    margin-top: 11.667vw;
    display: block;
    width: 100%;
    margin-left: 0;
  }

  .about_box {
    width: 100%;
    letter-spacing: 0.1em;
  }

  .about_box_txt {
    text-align: justify;
    margin-top: 8vw;
    line-height: 1.71;
  }

  .about_box_link {
    text-decoration: underline;
    padding-top: 5.333vw;
  }

  .about_box_list {
    display: flex;
    padding-top: 6.467vw
  }

  .about_box_list li:not(:last-child) {
    padding-right: 3.333vw;
  }

  .about_box_member {
    font-size: 3.733vw;
    letter-spacing: 0.08em;
    line-height: 1.71;
    padding-top: 4.333vw;
  }

  /* gallery
------------------------------------- */
  .section {
    margin-top: 12.667vw;
    display: block;
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
    align-items: flex-start;
  }

  .gallery_box {
    width: 100%;
    font-weight: 500;
    letter-spacing: 0.1em;
  }

  .gallery_box_txt {
    font-size: 4.267vw;
    line-height: 1.625;
    padding-top: 5vw;
  }

  .gallery_box_txt span {
    font-weight: 300;
    font-size: 3.733vw;
    line-height: 2.2;
  }

  .gallery_box_date {
    font-size: 5.333vw;
    line-height: 1.75;
    padding-top: 3vw;
    letter-spacing: 0.08em;
  }

  .gallery_box_caption {
    font-size: 3.733vw;
    line-height: 2;
    padding-top: 5vw;
  }

  .gallery_box_caption span {
    font-weight: 300;
  }

  /* talk
------------------------------------- */
  .talk {
    margin-top: 12.867vw;
  }

  .talk_wrapper {
    width: 100%;
  }

  .talk_box::after {
    content: "";
    display: inline-block;
    width: 106%;
    height: 0.267vw;
    min-height: 1px;
    background-color: #fff;
    position: relative;
    top: -6.5vw;
    left: -3%;
  }

  .talk_box_txt {
    font-size: 4.267vw;
    padding-top: 5vw;
    line-height: 1.8;
    font-weight: 500;
  }

  .info_box {
    padding-bottom: 21.333vw;
  }

  .info_box:not(:last-child)::after {
    content: "";
    display: inline-block;
    width: 106%;
    height: 0.267vw;
    min-height: 1px;
    background-color: #fff;
    position: relative;
    top: 15vw;
    left: -3%;
  }

  .info_box_number {
    font-size: 6.133vw;
    line-height: 2.3;
    margin-top: 10.6vw;
    letter-spacing: 0.12em;
  }

  .info_box_ttl {
    font-weight: 300;
    font-size: 8vw;
    line-height: 1.3;
    text-indent: -0.6em;
    margin-top: 0.4vw;
    letter-spacing: 0.1em;
  }

  .info_box_ttl .mgl {
    margin-left: 0.5em;
  }

  .info_box_date {
    font-weight: 300;
    font-size: 6.4vw;
    padding-top: 2vw;
  }

  .info_box_guest {
    margin-top: 4vw;
    text-align: justify;
  }

  .info_box02 .info_box_number {
    margin-top: 5.067vw;
  }

  .info_box02 .info_box_number {
    margin-top: 6.067vw;
  }

  .info_box02_2 .info_box_number {
    margin-top: 6.067vw;
  }

  .info_box03 .info_box_number {
    margin-top: 6.067vw;
  }

  .info_box02_2 .overview_box {
    flex-direction: row;
  }

  .info_box02_2 .overview_box_img {
    display: block;
    width: 38.4vw;
    padding-top: 1vw;
  }

  .info_box02_2 .overview_box_txt {
    padding: 6vw 0 0 0;
    font-size: 3.733vw;
    letter-spacing: 0;
  }

  .info_box03 .info_box_number {
    margin-top: 6.067vw;
  }

  .info_box03 .info_box_guest .mgl {
    margin-left: 0;
  }

  .info_box04 .info_box_number {
    margin-top: 6.067vw;
  }

  .info_box04 .overview_box_txt {
    font-size: 3.467vw;
    line-height: 1.84;
    padding-top: 6vw;
  }

  /* overview
------------------------------------- */
  .overview_box {
    width: 100%;
    margin-top: 7.733vw;
    display: block;
    justify-content: space-between;
    flex-direction: column;
  }

  .overview_box_img {
    display: flex;
    width: 100%;
    padding-top: 1vw;
    justify-content: space-between;
  }

  .overview_box_img li {
    width: 38.4vw;
    padding-right: 0;
  }

  .overview_box_txt {
    font-weight: 300;
    font-size: 3.733vw;
    line-height: 1.71;
    text-align: justify;
    letter-spacing: 0.08em;
    padding-top: 4.7vw;
  }

  .info_box01 .overview_box_img {
    display: block;
    width: 38.4vw;
    padding-top: 1vw;
  }

  .info_box01 .overview_box {
    flex-direction: row;
  }

  .info_box01 .overview_box_txt {
    padding: 6vw 0 0 0;
  }

  /* exhibition
------------------------------------- */
  .exhibition {
    margin: 5.8vw 0 0 0;
    display: block;
    flex-direction: column;
    align-items: center;
  }

  .exhibition_ttl {
    display: inline-block;
  }

  .exhibition_list01 {
    width: 100%;
    display: block;
    flex-flow: row wrap;
    align-items: center;
    margin: 0;
    font-size: 4.267vw;
  }

  .exhibition_list01 dt {
    flex-basis: auto;
    padding: 9vw 0 0 0;
    text-align: left;
    font-size: 4.267vw;
    line-height: 1.3;
  }

  .exhibition_list01 .event_ttl {
    font-size: 5.333vw;
  }

  .event_place_l01 {
    font-size: 4.8vw;
  }

  .exhibition_list01 .event_place {
    font-size: 3.733vw;
    padding-left: 0;
  }

  .exhibition_list01 dd {
    flex-basis: auto;
    padding: 1.6vw 0 0;
    line-height: 1.3;
  }

  .exhibition_list01 .date {
    font-size: 4.8vw;
  }

  .map {
    margin: 6.4vw 0 0 0;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    filter: grayscale(100%);
    overflow: hidden;
    padding-bottom: 60%;
    position: relative;
    width: 100%;
    height: auto;
  }

  .map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }

  .exhibition_list02 {
    width: 100%;
    margin: 13.3vw 0 0 0;
    line-height: 1.85;
  }

  .exhibition_list02 p+p {
    text-indent: 0;
    padding-left: 0;
  }

  .exhibition_list03 {
    width: 100%;
    margin: 7.2vw 0 0 0;
    line-height: 1.85;
  }

  /* footer
------------------------------------- */
  footer {
    background-color: #000;
    margin-top: 66.667vw;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
  }

  .footer_inner {
    max-width: 100%;
    padding: 0 5.333vw;
    height: 37vw;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
  }

  .footer_inner small {
    font-size: 4.3vw;
    padding-bottom: 1.5em;
  }

  .footer_inner .copy {
    font-size: 3.9vw;
  }

  .link_target {
    top: calc(60 / 375 * -100vw);
  }

  .concept_txt p.lang_en,
  .about_box_txt.lang_en,
  .info_box_guest.lang_en,
  .overview_box_txt.lang_en {
    text-align: left;
  }

  .info_box_ttl.lang_en {
    text-indent: 0;
  }
}