body, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, caption, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	font-style: normal;
	font-weight: 400;
	font-size: 1.4rem;
	list-style-type: none;
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.1em;
	line-height: 1;
}

figure{
    margin: 0;
    padding: 0;
}

textarea{
	font-size: 100%;
}

*:focus {
outline: none;
}

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

html{
	min-height: 620px;
	height: 100%;
	overflow-y: scroll;
	font-size: 62.5%;
}

iframe[name="google_conversion_frame"] {
	position: absolute; top: 0;
}

input, button, textarea, select {
	-webkit-appearance: none;
	appearance: none;
}

body{
	height: 100%;
	background: #fff;
	color: #000;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
    overscroll-behavior: none;
}

body.menu_open {
    overflow: hidden;
}

a{text-decoration: none; color: #000;}
a:hover{text-decoration: none; color: #444;}

a:hover img{
}
 
a img{
	-webkit-transition: opacity 1s ease-out;
	-moz-transition: opacity 1s ease-out;
	-ms-transition: opacity 1s ease-out;
	transition: opacity 1s ease-out;
}

.s_text{
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    -moz-font-feature-settings: "palt";
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-variant-ligatures: no-common-ligatures;
    text-align: justify;
}

.sp_view{
	display: none !important;
}

.colorgreen{
    color: #009f4d;
}

header{
	position: fixed;
    width: 100%;
    z-index: 100;
    transition: all ease .5s;
}

.header_inner{
	max-width: 1000px;
    width: 84%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
    padding: 16px 0;
}

.scroll-header{
    background-color: #fff;
}

.scroll-header h1{
    width: 140px !important;
    transition: all ease .5s;
}

.header_inner h1{
	width: 200px;
}

.header_right_inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

.header_right {
    display: flex;
    align-items: center;
}

.header_right .universal_block {
    position: relative;
    z-index: 100;
    display: flex;
    align-items: center;
    gap: 16px;
}

.header_right .universal_block .language_block{
}

.header_right .universal_block .color_size_block{
}

.header_right .universal_block .color_size_block p{
	font-size: 1.2rem;
}

.header_right .universal_block .color_size_block p a {
    text-decoration: underline;
    color: #004d39;
}

.header_right .button_menu {
    width: 60px;
    margin-left: 24px;
}

.header_sns_block {
}

.nav_list_accessibility{
    display: none;
}

.header_sns_block ul {
    display: flex;
    gap: 22px;
}

.header_sns_block ul li {
    height: 24px;
}

.header_sns_block ul li img {
    height: 100%;
    width: auto;
}

header .menu {
    position: relative;
    z-index: 100;
}

body.menu_open header .menu{
    background-image: url(../images/common/button_menu_close.png);
    background-repeat: no-repeat;
    display: block;
    width: 62px;
    height: 62px;
    background-size: cover;
}

body.menu_open header .menu img{
    display: none;
}

.gnav{
    background-color: #004d39;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    height: 100vh;
    width: 100%;
    background-image: url(../images/common/bg_icon_wh.png);
    animation: bgiLoop 160s linear infinite;
    background-size: 72%;
}

.gnav__wrap{
	width: 88%;
    margin: 0 auto;
    max-width: 1060px;
    height: 100%;
    background-image: url(../images/top/bg_book.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom 6vh center;
    position: absolute;
    left: 6%;
    right: 6%;
}

.gnav__wrap .gnav__menu{
	display: flex;
    align-items: center;
    justify-content: space-between;
    height: 80%;
    width: 88%;
    margin: 0 auto;
    flex-direction: row;
    flex-wrap: nowrap;
}

.gnav__menu_left {
    width: 36%;
}

.gnav__menu_left h1 {
    max-width: 320px;
    margin-bottom: 64px;
}

.gnav__menu_left h1 img{
	width: 100%;
}

.gnav__menu_left .nav_news_block{
}

.gnav__menu_left .nav_news_block h2{
	color: #004d39;
	font-weight: 700;
	font-size: 2rem;
	margin-bottom: 16px;
}

.gnav__menu_left .nav_news_block dl{
}

.gnav__menu_left .nav_news_block dl dt{
    font-size: 1.2rem;
    clear: left;
    float: left;
    width: 100px;
    line-height: 1.6;
}

.gnav__menu_left .nav_news_block dl dd{
    font-size: 1.2rem;
    margin-bottom: 16px;
    padding-left: 100px;
    line-height: 1.6;
    font-weight: 700;
}

.gnav__menu_left .nav_news_block dl dd:last-child{
	margin-bottom: 0;
}

.gnav__menu_left .nav_news_block dl dd a{
	text-decoration: underline;
}

.gnav__menu_right {
    width: 56%;
}

.gnav__menu_right .main_nav {
    text-align: right;
    margin-bottom: 48px;
}

.gnav__menu_right .main_nav ul{
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    display: inline-block;
    text-align: left;
}

.gnav__menu_right .main_nav ul li{
	font-size: 1.6rem;
    font-weight: 700;
    margin-left: 28px;
    line-height: 1.4;
}

.gnav__menu_right .main_nav ul li small {
    color: #004d39;
    font-size: 1.2rem;
    letter-spacing: 0.01em;
}

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

.gnav__menu_right .sab_nav .text_nav{
	order: 2;
    margin-left: 8px;
    width: 100%;
    text-align: right;
}

.gnav__menu_right .sab_nav .text_nav ul{
	writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;

    display: inline-block;
    text-align: left;
}

.gnav__menu_right .sab_nav .text_nav ul li{
    font-weight: 700;
    margin-left: 24px;
}

.gnav__menu_right .sab_nav .sns_block{
	order: 1;
}

.gnav__menu_right .sab_nav .sns_block h3 {
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 16px;
    letter-spacing: 0.05em;
    text-align: center;
}

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

.gnav__menu_right .sab_nav .sns_block li{
    width: 24px;
    text-align: center;
}

.gnav__menu_right .sab_nav .sns_block li img{
	height: 24px;
    width: auto;
}

.main_visual{
	height: 100vh;
	width: 100%;
	position: relative;
	background: url(../images/top/bg_icon.png);
	animation: bgiLoop 160s linear infinite;
    background-size: 68%;
}

@keyframes bgiLoop {
	0% { background-position: 0 0;}
	100% { background-position: -1000px -1000px;}
}

.main_visual_inner_top{
	background-color: #fff;
    position: absolute;
    top: 0;
    left: 6%;
    right: 6%;
    height: 56vh;
    width: 88%;
    margin: 0 auto;
    max-width: 1060px;
}

.main_visual .main_visual_inner{
	width: 88%;
    margin: 0 auto;
    max-width: 1060px;
    height: 100%;
    background-image: url(../images/top/bg_book.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom 6vh center;
    position: absolute;
    left: 6%;
    right: 6%;
}

.main_visual .main_visual_inner .main_visual_book{
	position: absolute;
    top: 44%;
    left: 50%;
    transform: translateY(-44%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 72%;
}

.swiper--wrapper {
  width: 100%;
  height: 300px;
}

.swiper-slide {
    padding-top: calc(620 / 1000 * 100%);
    background: center center / cover no-repeat;
}

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

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

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

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

.main_visual .main_news_block {
    position: absolute;
    bottom: 0;
    right: 0;
    background-color: #fff;
    border-radius: 20px 0 0;
    padding: 24px 40px;
    max-width: 640px;
    z-index: 1;
    border: solid 1px #004d39;
}

.main_visual .main_news_block h2{
	color: #004d39;
	font-weight: 700;
	font-size: 2rem;
	margin-bottom: 16px;
    letter-spacing: 0.05em;
}

.main_visual .main_news_block dl{
	display: flex;
    align-items: center;
}

.main_visual .main_news_block dl dt{
	font-size: 1.2rem;
    margin-right: 16px;
    line-height: 1.4;
    font-weight: bold;
}

.main_visual .main_news_block dl dd {
    line-height: 1.4;
    font-weight: bold;
}


.main_visual .main_news_block dl dt.text_red,
.main_visual .main_news_block dl dd.text_red a{
    color: #e50f0f;
}

.main_visual .main_news_block dl dd a{
	text-decoration: underline;
}

.main_visual .sabnavigation{
	position: absolute;
    right: 44px;
    top: 108px;
}

.main_visual .sabnavigation ul{
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.main_visual .sabnavigation ul li{
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.button a{
	display: inline-block;
    width: 160px;
    text-align: center;
    text-decoration: none;
    outline: none;
    background-color: #fff;
    border: 1px solid #004d39;
    color: #004d39;
    border-radius: 24px;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 12px;
}

.button a::before,
.button a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}

.button a,
.button a::before,
.button a::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.button a:hover {
	background-color: #004d39;
	border-color: #004d39;
	color: #fff;
}

.headline h2{
	font-size: 3.2rem;
    font-weight: 700;
    margin-bottom: 12px;
    color: #004d39;
}

.headline p{
	font-size: 1.2rem;
    font-weight: 700;
}

.top_news{
	background-color: #004d39;
    width: 100%;
    padding: 64px 0;
}

.top_news_inner{
	max-width: 880px;
    width: 88%;
    margin: 0 auto;
    position: relative;
}

.top_news_inner_block{
    display: flex;
    align-items: stretch;
    flex-direction: row;
    flex-wrap: nowrap;
}

.top_news_inner .headline{
	color: #fff;
	margin-right: 56px;
}

.top_news_inner .headline h2{
    color: #fff;
}

.top_news .top_news_block{
    max-width: 520px;
    width: 90%;
}

.top_news .top_news_block dl dt{
	color: #fff;
    font-size: 1.2rem;
    clear: left;
    float: left;
    width: 100px;
    line-height: 1.6;
}

.top_news .top_news_block dl dd{
	color: #fff;
    margin-right: 24px;
    margin-bottom: 24px;
    padding-left: 100px;
    line-height: 1.6;
}

.top_news .top_news_block dl dd:last-child{
	margin-bottom: 0;
}

.top_news .top_news_block dl dd a{
	color: #fff;
	text-decoration: underline;
}

.top_news .button_block{
	position: absolute;
    right: 0;
    bottom: 0;
}

.top_news .button_block .button a:hover {
	border-color: #fff;
}

.button_reserve{
	position: fixed;
    bottom: 12px;
    left: 12px;
    width: 140px;
    z-index: 102;
    transition: 0.5s;
}

.top_about {
    padding: 80px 0;
    background-color: #f5f5f5;
}

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

.top_about .headline{
	text-align: center;
    margin-bottom: 48px;
}

.top_about .top_about_block{
	display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.top_about .top_about_block_left{
	width: 52%;
}

.top_about .top_about_block_right{
	width: 44%;
}

.top_about .top_about_block_right h3{
	margin: 16px 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.8;
}

.top_about .top_about_block_right p.text{
	line-height: 2;
    margin-bottom: 16px;
}

.top_about .top_about_block_right p.button{
	margin-top: 16px;
}

.top_event{
	background-color: #fff;
    padding: 80px 0;
}

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

.top_event .headline{
	text-align: center;
    margin-bottom: 48px;
}

.top_event .middle_block{
	display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin-bottom: 48px;
}

.top_event .small_block{
	width: 31%;
    margin: 0 3%;
}

.top_event .small_block figure {
    width: 100%;
    height: 0;
    padding-top: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-bottom: 16px;
    position: relative;
    padding-top: 100%;
}

.top_event .small_block figure a {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
}

.top_event .small_block .detail .event_date{
	line-height: 1.4;
    margin-bottom: 8px;
}

.top_event .small_block .detail h3{
    line-height: 1.4;
    font-weight: 700;
}

.top_event .small_block .detail h3 a{
    color: #004d39;
}

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

.top_calendar{
    margin: 80px auto;
    width: 72%;
}

.top_calendar .headline {
    text-align: center;
    margin-bottom: 48px;
}

.top_calendar_inner {
  max-width: 800px; /* 最大幅 */
  min-width: 300px; /* 最小幅 */
  margin: 2.0833% auto;
}
 
.calendar_responsive {
    position: relative;
    padding-bottom: 80%;
    height: 0;
    overflow: hidden;
}

.calendar_responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.top_access{
	background-color: #004d39;
    padding: 80px 0;
}

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

.top_access .headline{
	color: #fff;
	text-align: center;
	margin-bottom: 48px;
}

.top_access .headline h2{
	color: #fff;
}

.top_access_block{
	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
}

.top_access_block_left{
	width: 40%;
    margin-right: 4%;
}

.top_access_block_left .text{
	line-height: 1.8;
    color: #fff;
    margin-bottom: 48px;
}

.top_access_block_left .text a{
    color: #fff;
}

.top_access_block_left .button a:hover {
	border-color: #fff;
}

.top_access_block_right{
	width: 56%;
}

.gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
}
.gmap iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

.top_donations{
	background-color: #f5f5f5;
    padding: 80px 0;
}

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

.top_donations .headline{
	text-align: center;
    margin-bottom: 48px;
}

.top_donations_block{
	text-align: center;
}

.top_donations_block h3{
	font-size: 2rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.top_donations_block .text{
	line-height: 1.8;
    margin-bottom: 24px;
}

footer{
    padding-bottom: 16px;
}

.footer_inner {
    padding: 48px 0 16px;
    width: 88%;
    margin: 0 auto;
    max-width: 1000px;
    border-top: solid 2px #004d39;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
}

.footer_inner_left{
	width: 52%;
}

.footer_inner_left .sitemap_block{
	display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 24px;
}

.footer_inner_left .sitemap_block ul{
	width: 48%;
}

.footer_inner_left .sitemap_block ul:last-child{
    width: 48%;
}

.footer_inner_left .sitemap_block ul li{
	margin-bottom: 16px;
    line-height: 1.4;
}

footer .other_block .sns_block{
	margin-bottom: 24px;
}

footer .other_block .sns_block h3{
	font-size: 1.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    margin-bottom: 16px;
}

footer .other_block .sns_block ul{
	display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}

footer .other_block .sns_block ul li{
	margin-right: 20px;
    height: 20px;
}

footer .other_block .sns_block ul li img{
	width: auto;
	height: 100%;
}

.footer_inner_left .other_block .universal_block{
	margin-bottom: 16px;
}

.footer_inner_left .other_block .universal_block .language_block{
}

.footer_inner_left .other_block .universal_block .language_block p{
	font-size: 1.2rem;
	text-decoration: underline;
}

.footer_inner_left .other_block .universal_block .color_size_block p{
    line-height: 1.6;
    text-decoration: underline;
}

.footer_inner_right{
    width: 40%;
}

.footer_inner_right .information_block {
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-end;
    margin-bottom: 32px;
}

footer .information_block_inner{
}

footer .copyright{
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}

.footer_inner_right .information_block h3{
	font-size: 1.6rem;
    margin-bottom: 16px;
    font-weight: 700;
}

.footer_inner_right .information_block p{
	line-height: 1.8;
    font-size: 1.2rem;
}

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

.footer_inner_right .logo_block{
	width: 32%;
}

.logo_white{
    display: none;
}

.otherfacility_list_block{
    position: relative;
}

.otherfacility_list_block .middle_block {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 40px;
    width: 88%;
    margin: 0 auto 64px;
    max-width: 1000px;
}

.otherfacility_list_block .small_block {
    width: 120px;
}

.otherfacility_list_block .small_block img{
	width: 100%;
    margin-bottom: 16px;
}

.otherfacility_list_block .small_block h4{
	font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

p:lang(en){
  font-size: 1.2rem;
}

.gnav__menu_right .main_nav ul li:lang(en){
    font-size: 1.2rem !important;
    margin-left: 24px;
    height: 100px;
    line-height: 1.4;
}

/* 下層ページ共通 */

.otherpage_contents{
    padding-top: 140px;
    margin-bottom: 140px;
}

.pankuzu{
    max-width: 880px;
    margin: 0 auto 48px;
    width: 84%;
}

.pankuzu ul{
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
}

.pankuzu ul li{
    font-size: 1.2rem;
}

.pankuzu ul li::after {
  content: "/";
  margin-left: .5em;
  margin-right: .5em; 
}

.pankuzu ul li:last-child::after {
  content: none;
}

.otherpage_contents .headline{
    text-align: center;
    margin-bottom: 72px;
}

.post_subnavigation{
    max-width: 880px;
    margin: 0 auto 48px;
    width: 84%;
    border-bottom: solid 2px #222;
    padding-bottom: 16px;
}

.post_subnavigation ul{
    display: flex; 
}

.post_subnavigation li{
    font-weight: bold;
    margin-right: 24px;
}

.pagenav {
    max-width: 880px;
    margin: 0 auto;
    width: 84%;
}

/* 記事詳細ページ */

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

h3.singlepost_title{
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 16px;
    color: #004d39;
    letter-spacing: 0.1em;
}

.singlepost_block .date{
    font-size: 1.2rem;
    margin-bottom: 48px;
    font-weight: 700;
}

.singlepost_block .thumbnail img{
    margin: 0 auto 40px;
    display: block;
}

.singlepost_block .thumbnail {
}

.gallery-columns-2 ul,
.gallery-columns-3 ul{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
}

.gallery-columns-2 ul li{
    width: 48%;
}

.gallery-columns-3 ul li{
    
}

.singlepost_block_detail p{
    line-height: 1.8;
    margin-bottom: 16px;
}

.singlepost_block_detail img.aligncenter {
    display: block;
    text-align: center;
    margin: 0 auto;
}

.singlepost_block_detail h4 {
    line-height: 1.6;
    font-size: 1.6rem;
}

.post_navigation {
    border-top: solid 1px #111;
    width: 88%;
    margin: 0 auto;
    max-width: 880px;
    padding: 48px 0 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}

.post_navigation_prev{
    width: 40%;
    line-height: 1.6;
    text-decoration: underline;
}

.post_navigation_next{
    width: 40%;
    line-height: 1.6;
    text-decoration: underline;
}

.wp-pagenavi a, .wp-pagenavi span{
    border: none !important;
    padding: 0 !important;
    margin: 0 12px !important;
}

.wp-pagenavi span.current {
    font-weight: bold;
    border-bottom: solid 2px #111 !important;
    color: #004d39;
}

/* 記事一覧ページ */

.archivespost_block{
    margin: 0 auto;
    max-width: 880px;
    width: 88%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
}

.archivespost_block_inner{
    width: 29.3%;
    margin-right: 6%;
    margin-bottom: 48px;
}

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

.archivespost_block .archivespost_title{
    font-weight: 700;
    line-height: 1.4;
    margin-top: 16px;
    letter-spacing: 0.1em;
    font-size: 1.6rem;
}

.archivespost_block .archivespost_title a{
    color: #004d39;
}

.archivespost_block .date{
    font-size: 1.2rem;
    font-weight: 700;
}

.archivespost_block .thumbnail{
    width: 100%;
    height: 0;
    padding-top: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-bottom: 24px;
    position: relative;
}

.archivespost_block .no_thumbnail{
    margin-bottom: 24px;
}

.archivespost_block .thumbnail a{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 1;
    top: 0;
}

.post_subnavigation .current {
    border-bottom: solid 4px #009f4d;
    padding-bottom: 9px;
    pointer-events: none;
}

#event .archivespost_block .thumbnail {
    padding-top: 100%;
    background-size: contain;
}

#event .archivespost_block .event_date{
    line-height: 1.4;
}

#news .archivespost_block_inner{
    width: 100%;
    border-bottom: solid 1px #ccc;
    padding-bottom: 48px;
}

#news .archivespost_block{
    flex-direction: column;
}

#news .archivespost_block_inner figure{
    display: none;
}

/* 個人情報保護方針ページ */

.privacypolicypage_block_block_inner {
    max-width: 880px;
    margin: 0 auto;
    width: 84%;
}

.privacypolicypage_block_block_inner p{
    line-height: 1.8;
    margin-bottom: 12px;
}

.privacypolicypage_block_block_inner a{
    text-decoration: underline;
}

.otherpage_contents a{
    word-break: break-word;
}

/* お問合せページ */

.contactpage_block_inner {
    max-width: 640px;
    margin: 0 auto;
    width: 64%;
}

.contactpage_annotation{
    margin-bottom: 48px;
}

.contactpage_annotation p{
    line-height: 1.8;
    margin-bottom: 16px;  
}

.contactpage_annotation p a{
    text-decoration: underline;
}

.contactpage_form{
    margin-bottom: 48px;
}

.contactpage_form dl{
    margin-bottom: 24px;
}

.contactpage_form dl dt{
    font-size: 1.4rem;
    margin-bottom: 12px;
    letter-spacing: 0.05em;
}

.contactpage_form dd input {
    border: none;
    background-color: #f5f5f5;
    height: 32px;
    padding: 4px 8px;
    font-size: 1.6rem;
    width: 100%;
}

.contactpage_form dl dt small{
    color: red;
}

.contactpage_form dl dd{
    margin-bottom: 24px;
}

.contactpage_form dl textarea {
    border: none;
    background-color: #f5f5f5;
    width: 100%;
    padding: 4px 8px;
    font-size: 1.6rem;
    color: #111;
    font-weight: normal;
}

.wpcf7-acceptance .wpcf7-list-item label{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: row;
}

.contactpage_form .wpcf7-list-item{
    margin-left: 0;
}

input.acceptance-privacypolicy {
    height: 24px;
    width: 24px;
    -webkit-appearance: auto;
    appearance: auto;
}

.checkbox_privacypolicy{
    text-align: center;
}

.submit_button{
    margin: 40px auto 0;
    width: 320px;
}

.submit_button input{
    display: inline-block;
    width: 320px;
    text-align: center;
    text-decoration: none;
    outline: none;
    background-color: #fff;
    border: 1px solid #004d39;
    color: #004d39;
    border-radius: 24px;
    font-size: 1.2rem;
    font-weight: 700;
    padding: 12px;
}

.submit_button input::before,
.submit_button input::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}

.submit_button input,
.submit_button input::before,
.submit_button input::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.submit_button input:hover {
    background-color: #004d39;
    border-color: #004d39;
    color: #fff;
}

.contactpage_block .wpcf7 .wpcf7-submit:disabled {
    opacity: 0.8;
}

.contactpage_means ul{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row;
}

.contactpage_block .contactpage_means li{
    line-height: 1.8;
    border: solid 1px #111;
    border-radius: 32px;
    padding: 24px 16px;
    width: 240px;
    text-align: center;
    margin: 0 24px;
}

.contactpage_block .contactpage_means span{
    color: #004d39;
    font-size: 2.4rem;
    font-weight: bold;
}

.contactpage_block .contactpage_means span a{
    text-decoration: none;
}

/* お問合せページ 修正後 */

.contactpage_block_inner .middle_block{
    margin-bottom: 48px;
}

.contactpage_block_inner .middle_block h3{
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 32px;

    border-bottom: solid 4px #004d39;
    padding-bottom: 8px;
    display: inline-block;
}

.contactpage_block_inner .middle_block p{
    line-height: 1.8;
}

.contactpage_block_inner .middle_block p.button {
    margin-top: 16px;
}

.contactpage_block_inner .small_block{
    margin-bottom: 24px;
}

.contactpage_block_inner .small_block h4{
    font-weight: bold;
    margin-bottom: 8px;
}

.contactpage_block_inner .small_block p a{
    color: #004d39;
    text-decoration: underline;
}

.contactpage_block_inner .small_block span{
    font-weight: bold;
    color: #004d39;
}

/* Aboutページ */

.about_subnavigation{
    max-width: 880px;
    margin: 0 auto 48px;
    width: 84%;
    border-bottom: solid 2px #222;
    padding-bottom: 16px;
}

.about_subnavigation ul{
    display: flex; 
}

.about_subnavigation li{
    font-weight: bold;
}

.about_subnavigation li::before {
    content: "/";
    margin-left: 16px;
    margin-right: 16px;
}

.about_subnavigation li:first-child::before {
    content: none;
}

.aboutpage_concept {
    margin-bottom: 80px;
}

.aboutpage_concept_inner {
    max-width: 880px;
    margin: 0 auto 48px;
    width: 88%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.aboutpage_concept_detail{
    width: 48%;
}

.aboutpage_concept_detail h3{
    margin-bottom: 16px;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.8;
    color: #004d39;
}

.aboutpage_concept_detail p{
    line-height: 1.8;
    font-size: 1.4rem;
    margin-bottom: 16px;
}

.aboutpage_concept_inner figure{
    width: 48%;   
}

.aboutpage_concept_inner_bottom{
    max-width: 880px;
    margin: 0 auto;
    width: 88%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}

.aboutpage_concept_inner_bottom_detail{
    width: 48%;
    order: 1;
}

.aboutpage_concept_inner_bottom_detail h3{
    margin-bottom: 16px;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.8;
    color: #004d39;

    border-bottom: solid #004d39 4px;
    display: inline-block;
}

.aboutpage_concept_inner_bottom_detail p{
    line-height: 1.8;
    font-size: 1.4rem;
    margin-bottom: 24px;
}

.aboutpage_concept_inner_bottom_detail ol{
  counter-reset:list;
  list-style-type:none;
  padding:0;
}

.aboutpage_concept_inner_bottom_detail ol li{
    position: relative;
    padding: 0 0 0 34px;
    font-weight: bold;
    line-height: 32px;
    margin-bottom: 8px;
}

.aboutpage_concept_inner_bottom_detail ol li:before{
    counter-increment: list;
    content: counter(list);
    position: absolute;
    left: 0;
    width: 24px;
    height: 24px;
    text-align: center;
    color: #111;
    line-height: 24px;
    background: #fff;
    border-radius: 50%;
    top: 50%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border: solid 1px #111;
}

.aboutpage_concept_inner_bottom figure{
    width: 48%;  
    order: 2; 
}

.headline_s h3{
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 64px;
    position: relative;
    line-height: 1.6;
    border-bottom: solid 4px #004d39;
    padding-bottom: 8px;
    display: inline-block;
}

.aboutpage_message{
    background-color: #f5f5f5;
    width: 100%;
    padding: 80px 0;
}

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

.aboutpage_message_inner h4{
    border-bottom: solid 2px #000;
    padding-bottom: 12px;
    margin-bottom: 40px;
    font-weight: bold;
    font-size: 1.6rem;
}

.aboutpage_message_inner h5{
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 24px;
}

.aboutpage_message_inner p.text{
    line-height: 1.8;
    margin-bottom: 16px;  
}

.tadaoando_block{
    margin-bottom: 64px;
}

.tadaoando_block .small_block{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
}

.tadaoando_block .profile_detail{
    width: 60%;
}

.tadaoando_block .profile_detail .message_copy{
    color: #1e4c3a;
    font-weight: bold;
    font-size: 2.4rem;
    margin-bottom: 48px;
}

.tadaoando_block .profile_img{
    width: 32%;
}

.tadaoando_block .movie_block{
    margin-top: 40px;
}

.tadaoando_block .profile_img img{
    margin-bottom: 16px;
}

.tadaoando_block .profile_img .button{
    text-align: center;
}

.tadaoando_block .profile_img .button a{
    width: 280px;
}

.aboutpage_message_inner .small_block{
    margin-bottom: 48px;
}

.aboutpage_message_inner .small_block .profile_detail_s{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}

.aboutpage_message_inner .small_block .profile_detail_s img{
    width: 24%;
}

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

.aboutpage_future{
    padding: 80px 0;
}

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

.aboutpage_future_inner .middle_block{
}

.aboutpage_future_inner .middle_block .movie_block{
    width: 48%;
}

.frame-wrapper__video {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
  margin-bottom: 16px;
}

.frame-wrapper__video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.aboutpage_future_inner .middle_block .movie_block p{
    font-size: 1.2rem;
}

.aboutpage_future_inner .middle_block .movie_block p a{
    text-decoration: underline;
}

.aboutpage_future_inner .middle_block .detail_block{
}

.aboutpage_future_inner .middle_block .detail_block p{
    line-height: 1.8;
    margin-bottom: 16px;
}

.aboutpage_future_inner .middle_block .detail_block p a{
    text-decoration: underline;
}

.aboutpage_future_inner .middle_block .detail_block p:last-child{
    margin-bottom: 0;
}

.aboutpage_history{
    background-color: #f5f5f5;
    padding: 80px 0;
    width: 100%;
}

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

.bg_history{
    background-image: url(../images/about/bg_history.jpg);
    background-size: cover;
    height: 320px;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.aboutpage_history .middle_block{
    background-color: #fff;
    border: solid 1px #111;
    padding: 48px 4%;
    width: 84%;
    margin: -48px auto 0;
}

.aboutpage_history .small_block{
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 24px;
    border-bottom: solid 1px #aaa;
    margin-bottom: 40px;
}

.aboutpage_history .small_block:last-child{
    padding-bottom: 0;
    border-bottom: none;
    margin-bottom: 0;
}

.history_year{
    width: 20%;
    min-width: 160px;
}

.history_year p{
    font-weight: bold;
    line-height: 1.8;
}

.history_month_detail{
    width: 72%;
}

.history_month_detail_inner{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-direction: row;
    margin-bottom: 16px;
}

.history_month{
    width: 8%;
}

.history_month p{
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.8;
}

.history_detail{
    width: 88%;
}

.history_detail p{
    line-height: 1.8;
    margin-bottom: 8px;
}

.aboutpage_staff{
    padding: 80px 0;
}

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

.aboutpage_staff_inner .small_block p{
    line-height: 1.8;
}

.aboutpage_buildingoutline {
    background-color: #f5f5f5;
    padding: 80px 0;
}

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

.aboutpage_buildingoutline_inner p{
    line-height: 1.8;
}

/* モーダル */
#lean_overlay{
    position: fixed;
    z-index:100; 
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #444;
    display: none;
}

.modalwind{
    background: none repeat scroll 0 0 #fff;
    box-shadow: 0 0 4px rgb(0 0 0 / 70%);
    display: none;
    padding: 0;
    width: 40%;
    top: 50% !important;
    left: 50% !important;
    transform: translateY(-50%) translateX(-50%) !important;
    -webkit- transform: translateY(-50%) translateX(-50%) !important;
    margin-left: auto !important;
 }

.modal_close{ 
    z-index: 2;
}

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

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

.donationspage_detail p{
    line-height: 1.8;
}

.donationspage_list{
    display: flex;
    margin: 48px 0;
    align-items: stretch;
    flex-direction: row;
}

.donationspage_list .small_block{
    width: 30%;
    margin-right: 5%;
    border: solid 1px #111;
    border-radius: 12px;
    padding: 24px;
}

.donationspage_list .small_block:last-child{
    margin-right: 0;
}

.donationspage_list .small_block h3{
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 16px;
}

.donationspage_list .small_block p{
    line-height: 1.8;
}

.donationspage_list .small_block p.button {
    text-align: center;
    margin-top: 16px;
}

/* アクセスページ */

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

.accesspage_detail{
    margin-bottom: 80px;
}

.accesspage_detail .gmap{
    padding-bottom: 40%;
    margin-bottom: 24px;
}

.accesspage_detail_inner{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-direction: row;
}

.accesspage_detail_inner .accesspage_address p{
    line-height: 1.8;
}

.accesspage_directions dt{
    font-weight: 700;
    margin-bottom: 16px;
    clear: left;
    float: left;
    width: 240px;
    line-height: 1.8;
}

.accesspage_directions dd{
    line-height: 1.8;
    padding-left: 240px;
    vertical-align: bottom;
    border-bottom: solid 1px #ccc;
    margin-bottom: 24px;
    padding-bottom: 24px;
}

.accesspage_directions dd:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

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

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

.reservationpage_block_inner h3{
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 24px;

    border-bottom: solid 4px #004d39;
    padding-bottom: 8px;
    display: inline-block;
}

.reservationpage_block_inner p {
    line-height: 1.8;
    margin-bottom: 20px;
}

.reservationpage_block_inner p:last-child {
    margin-bottom: 0;
}

.reservationpage_block_inner p.acf-reservation{
    line-height: 2.4;
}

.reservationpage_block_inner p a{
    text-decoration: underline;
}

.reservationpage_block_inner p.button a {
    width: 220px;
    text-decoration: none;
}

.reservationpage_block_inner p small{
    font-size: 1.2rem;
    font-weight: bold;
}

.reservationpage_block_inner p span{
    background:linear-gradient(transparent 60%, #ff6 60%);
}

.reservationpage_block_inner .reservepost p span{
    background:unset;
}

.reservationpage_block_inner .button{
    margin-top: 16px;
}

.reservationpage_block_inner .middle_block{
    margin-bottom: 80px;
}

.reservationpage_block_inner .small_block{
    margin-bottom: 48px;
}

.reservationpage_block_inner .small_block_inner{
}

.reservationpage_block_inner .small_block_inner .right-text{
    color: red;
}

.reservationpage_block_inner .small_block h4{
    border-bottom: solid 2px #000;
    padding-bottom: 12px;
    margin-bottom: 16px;
    font-weight: bold;
    font-size: 1.6rem;
    line-height: 1.6;
}

.reservationpage_block_inner .small_block small{
    font-weight: bold;
}

.reservationpage_block_inner .small_block a{
    text-decoration: underline;
}

.reservationpage_block_inner .small_block .annotation{
    margin-bottom: 16px;
}

#reservation .button_reserve{
    display: none;
}

.reserve_form_block{
    margin-top: 16px;
    margin-bottom: 24px;
}

.reserve_form_block .submitbutton{
    display: inline-block;
    width: 240px;
    text-align: center;
    text-decoration: none;
    outline: none;
    background-color: #0A4D42;
    border: 1px solid #004d39;
    color: #fff;
    border-radius: 32px;
    font-size: 1.6rem;
    font-weight: 700;
    padding: 20px;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.reserve_form_block .submitbutton:hover{
    background-color: #fff;
    border: 1px solid #004d39;
    color: #0A4D42;
}

.reservationpage_block_inner dl{
    margin-top: 32px;
}

.reservationpage_block_inner dt {
    font-weight: 700;
    margin-bottom: 16px;
    clear: left;
    float: left;
    width: 240px;
    line-height: 1.8;
}

.reservationpage_block_inner dd{
    line-height: 1.8;
    padding-left: 240px;
    vertical-align: bottom;
    margin-bottom: 24px;
}

.border_bottom{
    border-bottom: solid 1px #ccc;
    padding-bottom: 48px;
}

.reservationpage_block_inner dd:last-child{
    margin-bottom: 8px;
}

.reservationpage_block_inner table{
    margin-top: 16px;
    width: 640px;
}

.reservationpage_block_inner table,
.reservationpage_block_inner td,
.reservationpage_block_inner th{
    border: 1px solid #595959;
    border-collapse: collapse;
}

.reservationpage_block_inner td,
.reservationpage_block_inner th{
    padding: 4px;
    width: 32px;
    height: 24px;
    text-align: center;
}

.reservationpage_block_inner th{
    background: #004d3945;
    font-weight: bold;
}

.reservationpage_block_inner th:nth-child(1){
    background: #49CFAB;
}

.reservationpage_block_inner th:nth-child(2){
    background: #3DAD8F;
}

.reservationpage_block_inner th:nth-child(3){
    background: #9eddcd;
}

.reservationpage_block_inner th:nth-child(4){
    background: #318B73;
}

/* 施設概要ページ */

.facilitypage_block_inner p{
    line-height: 1.8;
}

.facilitypage_detail{
    max-width: 800px;
    margin: 0 auto 80px;
    width: 80%;
}

.facilitypage_highlights{
    margin-bottom: 80px;
    background-color: #f5f5f5;
    padding: 80px 0;
}

.facilitypage_highlights_inner{
    max-width: 800px;
    margin: 0 auto;
    width: 80%;
}

.facilitypage_highlights .large_block{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: flex-start;
}

.facilitypage_highlights .middle_block{
    margin-bottom: 48px;
    width: 47%;
    margin-right: 6%;
}

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

.facilitypage_highlights .middle_block h4{
    font-size: 1.6rem;
    font-weight: bold;
    color: #004d39;
    margin-bottom: 16px;
    line-height: 1.6;
}

.facilitypage_highlights .middle_block img{
    margin-bottom: 16px;
}

.facilitypage_barrierfree .middle_block{
    max-width: 800px;
    margin: 0 auto;
    width: 80%;
}

.facilitypage_barrierfree .small_block{
    margin-bottom: 48px;
}

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

.facilitypage_barrierfree .small_block h4{
    font-size: 1.6rem;
    font-weight: bold;
    color: #004d39;
    margin-bottom: 8px;
    line-height: 1.6;
}

.facilitypage_barrierfree .small_block span{
    background: linear-gradient(transparent 60%, #ff6 60%);
}

.reservationpage_block_inner .small_block ul{
    margin-top: 32px;
}

.reservationpage_block_inner .small_block ul li{
    margin-bottom: 12px;
    line-height: 1.6;
}

.reservationpage_block_inner .small_block ul li span{
    color: red;
}

.facilitypage_highlights.floormap{
    background-color: #f2f2f2;
    margin-top: 80px;
}

.facilitypage_highlights.floormap .modalwind {
    width: 64%;
    max-width: 820px;
}

.facilitypage_highlights.floormap .annotation {
    margin-bottom: 24px;
}

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

.bookselectionpage_block p{
    line-height: 1.8;
}

.bookselectionpage_block p span{
    font-weight: bold;
    font-size: 1.2rem;
}

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

.bookselectionpage_detail{
    margin-bottom: 64px;
}

.bookselectionpage_list{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: stretch;
}

.bookselectionpage_list .middle_block{
    width: 20%;
    text-align: center;
    margin-bottom: 48px;
}

.bookselectionpage_list .middle_block figure{
    padding: 16%;
}

.bookselectionpage_list .middle_block figure a{
    padding: 10%;
    transition-duration: 0.5s;
    display: block;
    background-color: #004d39;
    border-radius: 100%;
}

.bookselectionpage_list .middle_block a img{
    filter: invert();
}

.bookselectionpage_list .middle_block figure a:hover{
    transform:scale(1.1,1.1);
    transition-duration: 0.5s;
}

.bookselectionpage_list .middle_block h3{
    color: #004d39;
    font-weight: bold;
    margin-top: -8px;
    line-height: 1.4;
    font-size: 1.2rem;
}

.bookselectionpage_list .middle_block h3 span{
    margin-right: 4px;
}

.bookselectionpage_list .small_block{
}

.bookselectionpage_list .small_block p{
}

.bookselectionpage_list .modalwind{
    padding: 4%;
    height: 64%;
    overflow-y: scroll;
}

.bookselectionpage_list .modalwind::-webkit-scrollbar {
    width: 8px;
}
 
.bookselectionpage_list .modalwind::-webkit-scrollbar-track {
    border-radius: 100px;
}
 
.bookselectionpage_list .modalwind::-webkit-scrollbar-thumb {
    background-color: #004d39;
    border-radius: 100px;
}


.bookselectionpage_list .modalwind figure{
    display: block;
    width: 64%;
    margin: 0 auto;
}

.bookselectionpage_list .modalwind figure img{    
}

.bookselectionpage_list .modalwind h3{
    margin-bottom: 16px;
    font-size: 1.6rem;
}

.bookselectionpage_list .modalwind p{
    text-align: left;
}

.bookselectionpage_list .shizenno_block img{
    margin-right: -6px;
}

.bookselectionpage_list .kangaeru_block img{
    margin-left: -8px;
}

.bookselectionpage_list .kobeno_block img{
    margin-left: 2px;
}

.bookselectionpage_list .ohanashino_block img{
    margin-right: -4px;
}

.bookselectionpage_list .kurashino_block img{
    margin-left: 2px;
}



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

#bgchenge input{
    -webkit-appearance: auto;
    appearance: auto;
}

.accessibilitypage_block{

}

.accessibilitypage_block_inner{
    max-width: 640px;
    margin: 0 auto 80px;
    width: 64%;
}

.accessibilitypage_block_inner p{
    line-height: 1.8;
}

.accessibilitypage_block_inner .middle_block{
    margin-bottom: 40px;
}

.accessibilitypage_block_inner .middle_block h3{
    font-weight: bold;
    font-size: 1.6rem;
    margin-bottom: 12px;
}

.accessibilitypage_block_inner .small_block{

}

.accessibilitypage_block_inner #bgchenge {
    margin-top: 24px;
}

.accessibilitypage_block_inner #bgchenge label{
    border: solid 5px #eee;
    padding: 8px;
    display: block;
    vertical-align: middle;
    line-height: 1.8;
    margin-bottom: 20px;
}

.accessibilitypage_block_inner #bgchenge label:hover{
}

.accessibilitypage_block_inner #bgchenge input[type=radio]:checked+label::before{
    box-sizing: border-box;
}

.accessibilitypage_block_inner #bgchenge input[type=radio]{
    display: none;
} 

.accessibilitypage_block_inner #bgchenge label.white{
    background-color: #fff;
    color: #000;
}

.accessibilitypage_block_inner #bgchenge label.blue{
    background-color: #00008b;
    color: #ffff00;
}

.accessibilitypage_block_inner #bgchenge label.yellow{
    background-color: #ff0;
    color: #000;
}

.accessibilitypage_block_inner #bgchenge label.black{
    background-color: #000;
    color: #fff;
}

.accessibilitypage_block_inner #fontSize{
}

.accessibilitypage_block_inner .notranslate{
}

.accessibilitypage_block_inner .notranslate li{
    border: solid 5px #eee;
    padding: 8px;
    line-height: 1.8;
    margin-bottom: 20px;
    background-color: #fff;
}

.accessibilitypage_block_inner .notranslate li.small{
    font-size: 1.4rem;
}

.accessibilitypage_block_inner .notranslate li.middle{ 
    font-size: 1.8rem;  
}

.accessibilitypage_block_inner .notranslate li.large{
    font-size: 2.4rem;
}

.accessibilitypage_block_inner .notranslate li.current{
    border: #111 solid 5px;
}

/* 背景白 */
.bgwhite{
    background-color: #fff;
}

/* 背景青 */
.bgblue{
    background-color: #00008b;
}

.bgblue a{
    color: #fff !important;
}

.bgblue p,
.bgblue li,
.bgblue dt,
.bgblue dd,
.bgblue h1,
.bgblue h2,
.bgblue h3,
.bgblue h4,
.bgblue h5,
.bgblue h6,
.bgblue caption{
    color: #ffff00 !important;
}

.bgblue .main_visual {
    background-color: #fff;
}

.bgblue .main_visual .main_news_block {
    background-color: #00008b;
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
}

.bgblue .top_news {
    background-color: #00008b;
}

.bgblue .button a {
    color: #00008b !important;
}

.bgblue .top_event {
    background-color: #00008b;
}

.bgblue .top_access {
    background-color: #00008b;
}

.bgblue .top_donations {
    background-color: #00008b;
}

.bgblue .scroll-header {
    background-color: #00008b;
}

.bgblue .aboutpage_message {
    background-color: #00008b;
}

.bgblue button#openModal {
    border: 1px solid #fff;
    color: #00008b;
}

.bgblue .aboutpage_message_inner h4 {
    border-bottom: solid 2px #ffff00;
}

.bgblue .headline_s h3:before {
    background-color: #ffff00;
}

.bgblue .aboutpage_history {
    background-color: #00008b;
}

.bgblue .aboutpage_history .middle_block {
    background-color: #00008b;
    border: solid 1px #fff;
}

.bgblue .goog-te-menu-value {
    color: #00008b !important;
}

.bgblue .post_subnavigation {
    border-bottom: solid 2px #ffff00;
}

.bgblue .contactpage_block_inner .small_block span {
    color: #fff;
}

.bgblue .reservationpage_block_inner h3:before {
    background-color: #ffff00;
}

.bgblue .reserve_form_block .submitbutton {
    border: 1px solid #fff;
    color: #00008b;
}

.bgblue .contactpage_block_inner .middle_block h3:before {
    background-color: #ffff00;
}

.bgblue .donationspage_list .small_block {
    border: solid 1px #ffff00;
}

.bgblue .main_visual .main_visual_inner,
.bgblue .gnav__wrap{
    background-image: url(../images/top/bg_book_blue.png);
}

.bgblue .gnav {
    background-color: #fff;
}

.bgblue .main_visual_inner_top {
    background-color: #00008b;
}

.bgblue .about_subnavigation {
    border-bottom: solid 2px #ffff00;
}

.bgblue .logo_black{
    display: none;
}

.bgblue .logo_white{
    display: block;
}

.bgblue .footer_inner_left .other_block .sns_block ul li img {
    filter: invert();
}

.bgblue .bookselectionpage_list .middle_block figure img {
    filter: invert();
}

.bgblue .bookselectionpage_list .modalwind{
    background-color: #00008b;
    border: solid 1px #fff;
}

.bgblue .bookselectionpage_list .modalwind img{
    filter: invert();
}

.bgblue .gnav__menu_right .sab_nav .sns_block li img{
    filter: invert();
}

.bgblue .facilitypage_highlights {
    background-color: #00008b;
}

.bgblue .facilitypage_barrierfree .small_block span {
    background: none;
}

.bgblue .accessibilitypage_block_inner .notranslate li{
    background-color: #00008b;
    color: #ffff00;
}

/* 背景黄色 */
.bgyellow{
    background-color: #ff0;
}

.bgyellow p,
.bgyellow li,
.bgyellow dt,
.bgyellow dd,
.bgyellow h1,
.bgyellow h2,
.bgyellow h3,
.bgyellow h4,
.bgyellow h5,
.bgyellow h6,
.bgyellow caption{
    color: #000 !important;
}

.bgyellow a{
    color: #1e00ff !important;
}

.bgyellow .main_visual .main_visual_inner,
.bgyellow .gnav__wrap{
    background-image: url(../images/top/bg_book_yellow.png);
}

.bgyellow .main_visual_inner_top{
    background-color: #ff0;
}

.bgyellow .main_visual{
    background-color: #fff;
}

.bgyellow .scroll-header {
    background-color: #ff0;
}

.bgyellow .main_visual .main_news_block {
    border-top: solid 1px #000;
    border-left: solid 1px #000;
    background-color: #ff0;
}

.bgyellow .top_news{
    background-color: #ff0;
}

.bgyellow .top_event {
    background-color: #ff0;
}

.bgyellow .top_access {
    background-color: #ff0;
}

.bgyellow .top_donations {
    background-color: #ff0;
}

.bgyellow .aboutpage_message{
    background-color: #ff0;
}

.bgyellow .aboutpage_history{
    background-color: #ff0;
}

.bgyellow .aboutpage_history .middle_block {
    background-color: #ff0;
}

.bgyellow .facilitypage_highlights {
    background-color: #ff0;
}

.bgyellow .bookselectionpage_list .modalwind{
    background-color: #ff0;
}

.bgyellow .accessibilitypage_block_inner .notranslate li{
    background-color: #ff0;
    color: #000;
}

/* 背景黒 */
.bgblack{
    background-color: #000;
}

.bgblack p,
.bgblack li,
.bgblack dt,
.bgblack dd,
.bgblack h1,
.bgblack h2,
.bgblack h3,
.bgblack h4,
.bgblack h5,
.bgblack h6,
.bgblack caption{
    color: #fff !important;
}

.bgblack a{
    color: #ff0 !important;
}

.bgblack .logo_black{
    display: none;
}

.bgblack .logo_white{
    display: block;
}

.bgblack .goog-te-gadget-simple .goog-te-menu-value{
    color: #000 !important;
}

.bgblack .main_visual {
    background-color: #fff;
}

.bgblack .main_visual .main_visual_inner,
.bgblack .gnav__wrap{
    background-image: url(../images/top/bg_book_black.png);
}

.bgblack .main_visual_inner_top {
    background-color: #000;
}

.bgblack .main_visual .main_news_block {
    background-color: #000;
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
}

.bgblack .top_news {
    background-color: #000;
}

.bgblack .button a{
    color: #000 !important;
}

.bgblack .top_event{
    background-color: #000;
}

.bgblack .top_access {
    background-color: #000;
}

.bgblack .top_donations {
    background-color: #000;
}

.bgblack .scroll-header {
    background-color: #000;
}

.bgblack .footer_inner_left .other_block .sns_block ul li img,
.bgblack .gnav__menu_right .sab_nav .sns_block li img{
    filter: invert();
}

.bgblack .aboutpage_message {
    background-color: #000;
}

.bgblack .aboutpage_history {
    background-color: #000;
}

.bgblack .aboutpage_history .middle_block {
    background-color: #000;
    border: solid 1px #111;
}

.bgblack .facilitypage_highlights {
    background-color: #000;
}

.bgblack .facilitypage_barrierfree .small_block span {
    background: no-repeat;
}

.bgblack .contactpage_block_inner .middle_block h3:before {
    background-color: #ff0;
}

.bgblack .bookselectionpage_list .middle_block figure img,
.bgblack .bookselectionpage_list .modalwind img{
    filter: invert();
}

.bgblack .bookselectionpage_list .modalwind {
    background-color: #000;
}

.bgblack .accessibilitypage_block_inner .notranslate li{
    background-color: #000;
    color: #fff;
}

.otherpage_contents_inner{
    max-width: 640px;
    margin: 0 auto 80px;
    width: 64%;
}

.otherpage_contents .headline h2{
    font-size: 2.4rem;
}

.otherpage_contents_inner p{
    line-height: 1.8;
}

.otherpage_contents_inner a{
    text-decoration: underline;
}

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

.goodspage_block p{
    line-height: 1.8;
}

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

.goodspage_detail{
    margin-bottom: 64px;
}

.goodspage_list{
}

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

.goodspage_list .small_block{
    margin-right: 6.5%;
    width: 29%;
    margin-bottom: 48px;
}

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

.goodspage_list .small_block figure{
    margin-bottom: 24px;
}

.goodspage_list .small_block h3{
    font-weight: bold;
    margin-bottom: 12px;
}

.goodspage_list .small_block .goods_text{
}

.goodspage_list .small_block .goods_text small{
    font-weight: bold;
    line-height: 1.6;
    display: block;
    margin-top: 4px;
}

.goodspage_list .small_block .goods_price{
    font-weight: bold;
    color: #004d39;
    margin-top: 8px;
}

.goodspage_list .modalwind_middle_block{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    padding: 48px 48px 0;
}

.goodspage_list .modalwind_small_block{
    width: 21.4%;
    margin-bottom: 48px;
    margin-right: 4.8%;
}

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

.goodspage_list .modalwind_small_block figure{
    
}

.goodspage_list .modalwind_small_block h3{
    
}

.goodspage_list .modalwind_small_block p{
    margin-top: 8px;
    font-size: 1.2rem;
}

.goodspage_list .small_block h3 small {
    text-align: left;
    display: block;
    margin-top: 8px;
    color: #004d39;
    text-decoration: underline;
    line-height: 1.4;
}

.goodspage_list .modalwind_small_block a{
    text-decoration: underline;
}

.goodspage_block .modalwind {
    width: 80%;
    height: 80%;
    overflow-y: scroll;
}

.goodspage_block .modalwind::-webkit-scrollbar {
    width: 8px;
}
 
.goodspage_block .modalwind::-webkit-scrollbar-track {
    border-radius: 100px;
}
 
.goodspage_block .modalwind::-webkit-scrollbar-thumb {
    background-color: #004d39;
    border-radius: 100px;
}

#modal_close p{
    font-size: 3.2rem;
    position: absolute;
    top: -12px;
    right: 0;
}

#accepting_grouptours .small_block{
    margin-bottom: 32px;
}

#accepting_grouptours .small_block h3{
    font-weight: bold;
    margin-bottom: 4px;
}

#accepting_grouptours .small_block .button {
    margin-top: 12px;
}

#accepting_grouptours .small_block .button a{
    text-decoration: none;
    width: 280px;
}

#accepting_grouptours .small_block .button a:hover small{
    color: #fff;
}

#accepting_grouptours .small_block .button a small{
    display: unset;
}

#accepting_grouptours .small_block .button:nth-child(2n) {
    margin-top: 12px;
}

#accepting_grouptours .small_block small{
    color: #004d39;
    line-height: 1.6;
    display: block;
    font-weight: bold;
}

/* トップページgoogleカレンダー部分 */
.top_calendar{
}

.top_calendar_inner{
}

.top_calendar_inner iframe{  
}

/* 入館についてページ タブ部分 */

.admission_wrapper{
    padding-top: 40px;
}

.admission_wrapper .tab {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.admission_wrapper .tab li {
    width: 49%;
    text-align: center;
}

.admission_wrapper .tab li a {
    display: block;
    background: #004d3929;
    padding: 24px 16px;
    box-sizing: border-box;
    border: solid 1px #004d39;
    font-weight: 600;
    color: #004d39;
    border-radius: 40px 40px 0px 0px;
}

.admission_wrapper .tab li.active a {
    background: #004d39;
    color: #fff;
}

.admission_wrapper .area {
    display: none;
    opacity: 0;
    background: #fff;
    padding: 48px;
    border: solid 4px #004d39;
    box-sizing: border-box;
    margin-bottom: 64px;
}

.admission_wrapper .area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

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




/* ==========================
  モーダル（ポップアップ）
========================== */
.js_modalBtnWrap {
  width: 300px;
  max-width: 100%;
  margin: 0 auto;
  text-align: center;
}

.js_modalWrap {
  opacity: 0;
  z-index: -1;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.js_modalWrap.active {
  animation: modalOpen 0.3s ease forwards;
}

.js_modalWrap.active2 {
  animation: modalClose 0.3s ease forwards;
}

.js_modalBG {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

.js_modalContInner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 800px;
    max-width: 100%;
    background-color: #fff;
    padding: 120px 48px 80px;
    border: solid 4px #004d39;
    border-radius: 32px;
    box-sizing: border-box;
}

.js_modalCont {
  overflow-y: scroll;
  max-height: 520px;
}

.js_modalCont > * + * {
  margin-top: 10px;
}

.js_modalContInner > .js_modalClose + * {
  margin-top: 0;
}

.js_modalClose {
    display: block;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 20px;
    height: 20px;
    overflow: hidden;
    cursor: pointer;
    z-index: 1001;
}

.js_modalClose::before,
.js_modalClose::after {
  content: "";
  background-color: #222;
  position: absolute;
  top: -5px;
  right: 10px;
  width: 1px;
  height: 30px;
}

.js_modalClose::before {
  transform: rotate(45deg);
}

.js_modalClose::after {
  transform: rotate(-45deg);
}

@keyframes modalOpen {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    z-index: 1000;
  }
}

@keyframes modalClose {
  0% {
    opacity: 1;
    z-index: 1000;
  }
  100% {
    opacity: 0;
  }
}

.js_modalCont p{

}

.js_modalCont p.title {
    color: #004d39;
    margin-bottom: 64px;
    font-size: 2rem;
    font-weight: 600;
}

.js_modalCont p.button{
    margin-top: 40px;
}

.js_modalCont dl{  
}

.js_modalCont dt {
    clear: left;
    float: left;
    width: 100px;
    font-size: 1.6rem;
    line-height: 1.4;
    font-weight: 600;
}

.js_modalCont dd {
    padding-left: 100px;
    line-height: 1.4;
    font-size: 1.6rem;
    margin-bottom: 24px;
    border-bottom: dashed 1px #ccc;
    padding-bottom: 24px;
}

.js_modalCont dd span{
    background: linear-gradient(transparent 60%, #ff6 60%);   
}

/*footerまでスクロールしたら消す*/
.is-hidden {
  visibility: hidden;
  opacity: 0;
}












/* 幅1280px以上 */
@media screen and (min-width: 1280px){

body{
}

.gnav__wrap,
.main_visual_inner_top,
.header_inner,
.main_visual .main_visual_inner{
    padding: 16px 40px;
}

.main_visual .sabnavigation {
    right: 64px;
    top: 160px;
}

.main_visual .sabnavigation ul li {
    font-size: 1.4rem;
}

.gnav__menu_left .nav_news_block dl dt {
    font-size: 1.4rem;
}

.gnav__menu_left .nav_news_block dl dd {
    font-size: 1.4rem;
    margin-bottom: 20px;
}






}



/* 幅744px以上 */
@media screen and (min-width: 744px){
    
.admission_wrapper .tab li a br{
    display: none;
}

}




/* 幅1060px以下 */
@media screen and (max-width: 1060px){

.gnav__menu_left {
    width: 0;
}

.gnav__menu_left h1 {
    position: absolute;
    top: 16px;
    left: 4%;
}

.gnav__menu_left .nav_news_block {
    display: none;
}

.gnav__menu_right {
    width: 100%;
    margin-top: 16vh;
}

.gnav__menu_right .main_nav {
    text-align: center;
}

.gnav__menu_right .sab_nav{
    display: flex;
    justify-content: center;
}




}





/* 幅900px以下 */
@media screen and (min-width: 744px) and (max-width: 900px) {

.button_block {
    position: relative !important;
    margin-top: 24px;
    text-align: right;
}

}





/* 高さ520px以上 */
@media screen and (max-height: 640px){

.main_visual .sabnavigation {
    display: none;
}

body.menu_open .main_visual .main_news_block {
    display: none;
}

}















































