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

a:hover img{
    opacity: unset;
}

.pc_view{
	display: none !important;
}

.header_right .universal_block{
	display: none;
}

.header_right {
    flex-direction: column;
    align-items: flex-end;
}

.header_sns_block {
    display: none;
}

body.menu_open .header_right .universal_block {
    display: block;
    order: 2;
    margin-top: 24px;
}

.gnav__menu_right .sab_nav .sns_block li {
    margin-right: 0;
    margin-bottom: 12px;
    width: auto;
}

.gnav__menu_right .sab_nav .sns_block li img {
    height: 32px;
}

.header_right .button_menu {
    order: 1;
    width: 64px;
}

.header_right_inner {
    order: 2;
}

.header_right .universal_block .color_size_block {
    display: none;
}

.gnav__menu_right .main_nav ul li {
    font-size: 1.8rem;
    margin-left: 0;
}

.nav_list_accessibility{
    display: block;
}

.nav_list_accessibility a {
    background-color: #004d39;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    width: 100%;
    display: block;
    padding: 20px;
    margin: 0 auto;
    border-radius: 32px;
    box-sizing: border-box;
}

.gnav__menu_right .sab_nav {
    flex-wrap: nowrap;
    display: flex;
    width: 100%;
    flex-direction: row;
    align-items: flex-end;
    justify-content: flex-start;
}

.gnav__menu_right .sab_nav .sns_block h3 {
    font-size: 2rem;
    margin-bottom: 20px;
}

.gnav__menu_right .sab_nav .sns_block ul {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 16px;
}

.gnav__menu_right .sab_nav .text_nav{
}

.gnav__menu_right .main_nav {
    padding-bottom: 20px;
    margin-bottom: 32px;
}

.gnav__menu_right .sab_nav .text_nav ul li {
    margin-left: 20px;
}

.button_reserve {
    width: 88px;
    bottom: 8px;
    left: 8px;
    z-index: 99;
}

.main_visual .main_news_block dl{
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
}

.main_visual .main_news_block h2 {
}

.main_visual .main_news_block dl dt {
    margin-bottom: 4px;
    font-size: 1.2rem;
}

.main_visual .main_news_block dl dd {
    font-size: 1.4rem;
    font-weight: 500;
}

.main_visual .main_news_block {
    padding: 12px 24px;
    max-width: 60%;
}

.main_visual .main_news_block h2 {
    font-size: 1.6rem;
}

body.menu_open .main_visual .main_news_block {
    position: fixed;
    z-index: 99;
}

.main_visual .sabnavigation {
    display: none;
}

.main_visual {
    background-size: 200%;
    height: auto;
    padding-bottom: 80px;
}

.main_visual .main_visual_inner {
    width: 100%;
    left: 0;
    right: 0;
    background-image: none;
    position: unset;
}

.swiper-slide {
    
    padding-top: calc(961 / 601 * 100%);
}

.swiper-slide:nth-of-type(1) {
background-image: url(../images/top/main_visual_slide01_sp.jpg);
}

.swiper-slide:nth-of-type(2) {
  background-image: url(../images/top/main_visual_slide02_sp.jpg);
}

.swiper-slide:nth-of-type(3) {
  background-image: url(../images/top/main_visual_slide03_sp.jpg);
}

.swiper-slide:nth-of-type(4) {
  background-image: url(../images/top/main_visual_slide04_sp.jpg);
}

.main_visual .main_visual_inner .main_visual_book {
    transform: unset;
    width: 88%;
    position: unset;
    margin: 0 auto;
    padding-top: 120px;
}

.gnav__wrap {
    width: 100%;
    left: 0;
    right: 0;
    background-image: unset;
    overflow-y: scroll;
}

.gnav__wrap .gnav__menu {
    height: 100%;
    width: 100%;
    display: unset;
}

.gnav__menu_left {
    display: none;
}

.gnav__menu_right {
    width: 80%;
    margin-top: 180px;
    margin: 160px auto 80px;
}

.gnav__menu_right .sab_nav .sns_block {
    margin-right: 4%;
}

.gnav__menu_left h1 {
    display: none;
}

.gnav__menu_left .nav_news_block {
    display: none;
}

.main_visual_inner_top {
    height: 72vh;
    position: unset;
    height: 0;
    width: 100%;
}

.header_inner h1 {
    position: relative;
    z-index: 101;
    width: 140px;
}

.scroll-header h1 {
    width: 100px !important;
}

.home .header_inner h1,
.menu_open .header_inner h1{
    margin-left: 8%;
}

.home .header_inner h1,
.menu_open .header_inner h1 {
    margin-left: 0;
}

.gnav {
    background-color: #fff;
}

.gnav__menu_right .main_nav ul {
    writing-mode: unset;
    -ms-writing-mode: unset;
    -webkit-writing-mode: unset;
    display: flex;
    gap: 32px;
    flex-direction: column;
}

.gnav__menu_right .main_nav ul li:lang(en) {
    font-size: 1.4rem !important;
    height: auto;
}

.header_inner {
    width: 92%;
    padding: 8px 0;
}

.top_news_inner_block {
    flex-direction: column;
}

.top_news_inner .headline{
    margin-bottom: 40px;
    margin-right: 0;
}

.top_news .top_news_block dl dt {
    float: unset;
    clear: unset;
    width: auto;
    font-size: 1.4rem;
}

.top_news .top_news_block dl dd {
    padding-left: 0;
    font-size: 1.6rem;
    margin-top: 4px;
    line-height: 1.6;
    font-weight: 500;
    margin-right: 0;
}

.top_news .button_block {
    position: relative;
    margin-top: 24px;
}

.top_news,
.top_about,
.top_event,
.top_access,
.top_donations {
    padding: 56px 0;
}

.headline h2 {
    font-size: 2.8rem;
    margin-bottom: 8px;
}

.headline p {
    font-size: 1.4rem;
}

.button a {
    font-size: 1.6rem;
}

.top_about .top_about_block {
    flex-direction: column;
}

.top_about .top_about_block_left {
    width: 100%;
    margin-bottom: 8px;
}

.top_about .top_about_block_right{
    width: 100%;
}

.top_about .top_about_block_right h3 {
    font-size: 2.4rem;
}

.top_about .top_about_block_right p.text {
    font-size: 1.6rem;
    line-height: 2;
}

.top_event .middle_block {
    flex-direction: column;
    margin-bottom: 8px;
}

.top_event .small_block {
    width: 100%;
    margin-bottom: 48px;
}

.top_event .small_block figure {
    width: 80%;
    margin: 0 auto;
    padding-top: 80%;
}

.top_event .small_block .detail {
    width: 80%;
    margin: 20px auto 0;
}

.top_event .small_block .detail .event_date{
    width: 100%;
    min-width: auto;
    font-size: 1.6rem;
    margin-bottom: 12px;
    line-height: 1.4;
}

.top_event .small_block .detail h3 {
    width: 100%;
    font-size: 1.6rem;
}

.calendar_responsive {
    padding-bottom: 160%;
}

.top_calendar {
    width: 92%;
}

.top_access_block {
    display: flex;
    flex-direction: column;
}

.top_access_block_left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 32px;
}

.top_access_block_left .text {
    margin-bottom: 24px;
    font-size: 1.6rem;
}

.top_access_block_left .text a{
    color: #fff;
    text-decoration: underline;
}

.top_access_block_right {
    width: 100%;
}

.top_donations_block {
    text-align: left;
}

.top_donations_block .text {
    font-size: 1.6rem;
    line-height: 2;
}

.top_about .headline {
    margin-bottom: 40px;
}

.top_event .headline {
    margin-bottom: 40px;
}

.top_access .headline {
    margin-bottom: 40px;
}

.gmap {
    padding-bottom: 80%;
}

.footer_inner {
    flex-direction: column;
}

.footer_inner_left {
    flex-direction: column;
    width: 100%;
    margin-bottom: 32px;
}

.footer_inner_left .sitemap_block {
    align-items: flex-start;
    margin-bottom: 24px;
    justify-content: space-between;
}

.footer_inner_right {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.footer_inner_right .information_block {
    width: 100%;
    margin-bottom: 24px;
}

.footer_inner_right .logo_block {
    display: none;
}

.footer_inner_right .information_block h3 {
    font-size: 2rem;
}

.footer_inner_right .information_block p {
    font-size: 1.6rem;
}

.otherfacility_list_block {
    margin-top: 32px;
}

.otherfacility_list_block .small_block {
    width: 30%;
}

.otherfacility_list_block .copyright {
    text-align: right;
}

.top_donations_block .button {
    text-align: center;
}

.footer_inner_left .sitemap_block ul {
    width: 48% !important;
    margin-right: 0;
}

.top_news p.button,
.top_about .top_about_block_right p.button,
.top_access p.button,
.top_about p.button{
    text-align: center;
}

.footer_inner_left .sitemap_block ul li {
    font-size: 1.4rem;
}

.footer_inner_right .information_block p a{
    text-decoration: underline;
}

.top_donations_block h3 {
    font-size: 1.8rem;
}

footer .other_block .sns_block h3 {
    text-align: left;
}

footer .other_block .sns_block ul{
    justify-content: flex-start;
}

footer .other_block .sns_block ul li{
    margin-left: 0;
    margin-right: 16px;
    height: 24px;
}

footer .information_block_inner{
    width: 100%;
}

.otherfacility_list_block .middle_block {
    gap: 32px;
    margin: 0 auto 48px;
}

.top_news .top_news_block {
    max-width: unset;
    width: 100%;
}

/* 下層ページ */

.pankuzu ul {
    display: flex;
    justify-content: flex-start;
}

.pankuzu {
    width: 88%;
    display: none;
}

.otherpage_contents{
    margin-bottom: 80px;
}

.otherpage_contents .headline {
    margin-bottom: 56px;
}

.otherpage_contents .headline h2 {
}

/* 記事一覧ページ */

.archivespost_block_inner{
    width: 46%;
    margin-right: 8%;
    margin-bottom: 48px;
}

.archivespost_block_inner:nth-of-type(3n){
    margin-right: 8%;
}

.archivespost_block_inner:nth-of-type(2n){
    margin-right: 0;
}

.archivespost_block .archivespost_title {
    font-size: 1.4rem;
}

#news .archivespost_block_inner {
    padding-bottom: 24px;
    margin-bottom: 24px;
}

/* 記事詳細ページ */

.singlepost_block{
    max-width: 880px;
    width: 88%;
}

/* Aboutページ */

.tadaoando_block .small_block {
    flex-direction: column;
}

.tadaoando_block .profile_detail {
    width: 100%;
}

.tadaoando_block .profile_img {
    width: 100%;
}

.modalwind{
    width: 88%;
}

.about_subnavigation {
    display: none;
}

.aboutpage_concept_inner {
    flex-direction: column;
    margin-bottom: 24px;
}

.aboutpage_concept_inner figure {
    width: 100%;
    margin-bottom: 24px;
}

.aboutpage_concept {
    margin-bottom: 40px;
}

.aboutpage_concept_detail {
    width: 100%;
}

.aboutpage_concept_inner_bottom{
    flex-direction: column;
    flex-wrap: nowrap;
}

.aboutpage_concept_inner_bottom figure {
    width: 100%;
    order: 1;
    margin-bottom: 24px;
}

.aboutpage_concept_inner_bottom_detail {
    width: 100%;
    order: 2;
}

.aboutpage_message {
    padding: 40px 0;
}

.aboutpage_future {
    padding: 40px 0;
}

.aboutpage_future_inner .middle_block {
    flex-direction: column;
}

.aboutpage_future_inner .middle_block .movie_block {
    width: 100%;
    margin-bottom: 24px;
}

.aboutpage_future_inner .middle_block .detail_block {
    width: 100%;
}

.aboutpage_history {
    padding: 40px 0;
}

.aboutpage_history .small_block {
    flex-direction: column;
}

.bg_history {
    height: 180px;
}

.aboutpage_history .middle_block {
    padding: 24px 4% 16px;
}

.aboutpage_message_inner .small_block .profile_detail_s {
    flex-direction: column;
    flex-wrap: nowrap;
}

.aboutpage_message_inner .small_block .profile_detail_s img {
    width: 48%;
    margin-bottom: 20px;
}

.aboutpage_message_inner .small_block .profile_detail_s .text{
    width: 100%;
}

.history_year {
    width: 100%;
    margin-bottom: 12px;
}

.history_month_detail {
    width: 100%;
}

.history_detail {
    width: 84%;
    margin-left: 4%;
}

.history_month {
    width: 16%;
}

.aboutpage_staff {
    padding-top: 40px;
}

.aboutpage_buildingoutline {
    padding-top: 40px;
}

/* 協力・支援についてページ */

.donationspage_list {
    flex-direction: column;
    margin-top: 48px;
    align-items: flex-start;
}

.donationspage_list .small_block {
    width: 88%;
    margin-right: 0;
    margin-bottom: 24px;
    padding: 6%;
}

.donationspage_list .small_block h3 {
    margin-bottom: 8px;
}


/* アクセスページ */

.accesspage_detail .gmap {
    padding-bottom: 80%;
}

.accesspage_detail_inner {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
}

.accesspage_detail_inner .accesspage_address {
    width: 100%;
}

.accesspage_detail_inner .button{
    width: 100%;
    margin-top: 16px;
}

.accesspage_detail_inner .button a{
    width: 80%;
}

.accesspage_detail {
    margin-bottom: 48px;
}

.accesspage_directions dt {
    clear: unset;
    float: unset;
    width: 100%;
    margin-bottom: 4px;
}

.accesspage_directions dd {
    padding-left: 0;
}

/* ご利用方法/予約システム */

.reservationpage_block_inner{
    width: 88%;
}

.reservationpage_block_inner .button a{
    width: 100%;
}

/* お問合せページ */

.contactpage_block_inner {
    margin: 0 auto;
    width: 88%;
}

/* 施設概要ページ */

.facilitypage_detail {
    margin-bottom: 40px;
}

.facilitypage_highlights {
    margin-bottom: 40px;
    padding: 40px 0;
}

.facilitypage_highlights .large_block {
    display: block;
}

.facilitypage_highlights .middle_block {
    width: 100%;
    margin-right: 0;
}

.facilitypage_barrierfree .middle_block {
    display: flex;
    flex-direction: column;
}

.facilitypage_barrierfree .small_block {
    width: 100%;
    margin-right: 0;
}

.facilitypage_highlights .middle_block:last-child{
    margin-bottom: 0;
}

.facilitypage_barrierfree .small_block:last-child {
    margin-bottom: 0;
}

/* 選書についてページ */

.bookselectionpage_list {
    justify-content: space-around;
}

.bookselectionpage_detail {
    margin-bottom: 40px;
}

.bookselectionpage_list .middle_block {
    width: 33.3%;
    margin-bottom: 32px;
}

.bookselectionpage_list .middle_block h3 {
    margin: 0 auto 16px;
    width: 88%;
}

.bookselectionpage_list .middle_block h3 span {
    font-size: 1.4rem;
}

.bookselectionpage_list .modalwind {
    padding: 8%;
    width: 72%;
    height: 48%;
}

/* 文字サイズ・背景色変更ページ */

.accessibilitypage_block_inner {
    max-width: 880px;
    width: 88%;
}


.otherpage_contents_inner{
    max-width: 880px;
    margin: 0 auto 80px;
    width: 88%;
}

/* グッズについてページ */

.goodspage_list .middle_block{
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
}

.goodspage_detail {
    margin-bottom: 32px;
}

.goodspage_list .small_block{
    margin-right: 8%;
    width: 46%;
    margin-bottom: 40px;
}

.goodspage_list .small_block:nth-of-type(3n){
    margin-right: 8%;
}

.goodspage_list .small_block:nth-of-type(2n){
    margin-right: 0;
}

.goodspage_list .modalwind_small_block{
    width: 45%;
    margin-right: 10%;
}

.goodspage_list .modalwind_small_block:nth-of-type(4n){
    margin-right: 0;
}

.goodspage_list .modalwind_small_block:nth-of-type(2n){
    margin-right: 0;
}

.goodspage_block .modalwind {
    height: 64%;
}

.goodspage_list .modalwind_middle_block {
    padding: 48px 32px 0;
}

#reservation .about_subnavigation {
    display: block;
    width: 88%;
}

.reservationpage_block_inner dt {
    clear: unset;
    float: unset;
    width: 100%;
    line-height: 1.6;
    margin-bottom: 12px;
}

.reservationpage_block_inner dd {
    padding-left: 0;
    line-height: 1.6;
}

.reservationpage_block_inner table {
    width: 100%;
}

.reservationpage_block_inner td{
    text-align: left;
}

#accepting_grouptours .small_block .button a{
    width: 100%;
    font-size: 1.4rem;
}

#accepting_grouptours h2{
    font-size: 2rem;
    text-align: left;
    width: 88%;
    margin: 0 auto;
    line-height: 1.4;
}

.admission_wrapper .tab {
    flex-wrap: wrap;
    align-items: stretch;
    height: 56px;
}

.admission_wrapper .tab li a {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 8px 16px;
}

.admission_wrapper .area {
    padding: 40px 6%;
}

.js_modalContInner {
    width: 88%;
    padding: 48px 8%;
}

.js_modalCont p.title {
    font-size: 1.6rem;
    line-height: 1.4;
    margin-bottom: 40px;
}

.js_modalCont dt {
    clear: unset;
    float: unset;
    width: 100%;
    font-size: 1.4rem;
}

.js_modalCont dd {
    padding-left: 0;
    margin-top: 8px;
    font-size: 1.4rem;
    padding-bottom: 16px;
    margin-bottom: 16px;
}
    








/* Avoid Chrome to see Safari hack */
@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}





}







































