#slider { overflow: hidden; }
#slider .swiper-container { width: 100%; max-width: 1000px; margin: 0 auto !important; overflow: visible !important; }
@media only screen and (max-width: 1280px) { #slider .swiper-container { max-width: 800px; } }
#slider .swiper-container .swiper-pagination-bullet-active { background: #568e1b; }

#bookSearch { margin-bottom: 50px; }
#bookSearch p { font-size: 1.8em; font-weight: bold; text-align: center; }
@media only screen and (max-width: 1024px) { #bookSearch p { font-size: 1.5em; } }
@media only screen and (max-width: 576px) { #bookSearch p { font-size: 1.2em; } }
#bookSearch p a { padding: 1.2em 0; background: #f8ecce; color: #333; display: block; text-decoration: none; }
#bookSearch p a:hover { background: #f5e3b8; }
@media only screen and (max-width: 768px) { #bookSearch p a:hover { background: #f8ecce; } }
#bookSearch p a span.icon-blank01 { font-size: 0.7em; margin-left: 0.5em; color: #666; }
@media only screen and (max-width: 576px) { #bookSearch p a span.icon-blank01 { font-size: 0.8em; } }
#bookSearch p a img { width: 80px; margin-right: 30px; }
@media only screen and (max-width: 1024px) { #bookSearch p a img { width: 70px; } }
@media only screen and (max-width: 576px) { #bookSearch p a img { width: 60px; margin-right: 20px; } }

#contentsTop { display: flex; justify-content: space-between; }
@media only screen and (max-width: 768px) { #contentsTop { display: inherit; } }
#contentsTop #areaNews { width: calc(60% - 25px); }
@media only screen and (max-width: 1280px) { #contentsTop #areaNews { width: calc(55% - 20px); } }
@media only screen and (max-width: 768px) { #contentsTop #areaNews { width: 100%; } }
#contentsTop #areaCal { width: calc(40% - 25px); }
@media only screen and (max-width: 1280px) { #contentsTop #areaCal { width: calc(45% - 20px); } }
@media only screen and (max-width: 768px) { #contentsTop #areaCal { width: 100%; margin-top: 5em !important; } }
#contentsTop #areaCal p.closed::before { content: ""; background: #FFDDDD; margin-right: 0.5em; border: 1px solid #ccc; width: 1em; height: 1em; display: inline-block; }
#contentsTop #areaCal p.open span { display: inline-block; vertical-align: middle; }
#contentsTop #areaCal p.open span:first-child { background: #568e1b; vertical-align: middle; color: #fff; padding: 0 0.5em; border-radius: 5px; margin-right: 0.5em; }
#contentsTop #areaCal ul.bnr { margin: 2em auto 0; }
@media only screen and (max-width: 768px) { #contentsTop #areaCal ul.bnr { margin-top: 4em; max-width: 500px; } }
#contentsTop #areaCal ul.bnr li + li { margin-top: 1em; }
#contentsTop #areaNews, #contentsTop #areaCal { margin-top: 2em; }
#contentsTop #areaNews .title, #contentsTop #areaCal .title { width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; margin-bottom: 1.5em; border-bottom: 4px solid #568e1b; }
@media only screen and (max-width: 1280px) { #contentsTop #areaNews .title, #contentsTop #areaCal .title { flex-direction: column; padding-bottom: 1em; } }
#contentsTop #areaNews .title h1, #contentsTop #areaCal .title h1 { font-size: 2em; font-weight: bold; }
@media only screen and (max-width: 1280px) { #contentsTop #areaNews .title h1, #contentsTop #areaCal .title h1 { text-align: center; padding-bottom: 0.5em; } }
@media only screen and (max-width: 576px) { #contentsTop #areaNews .title h1, #contentsTop #areaCal .title h1 { font-size: 1.7em; } }
#contentsTop #areaNews .title ul, #contentsTop #areaCal .title ul { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; }
#contentsTop #areaNews .title ul li, #contentsTop #areaCal .title ul li { margin-left: 10px; }
#contentsTop #areaNews .title ul li a, #contentsTop #areaCal .title ul li a { font-size: 0.9em; display: block; padding: 0 0.5em 0 1em; color: #333; border-radius: 2em; text-decoration: none; background: #fff; border: 1px solid; }
#contentsTop #areaNews .title ul li a::after, #contentsTop #areaCal .title ul li a::after { font-family: lib; font-weight: normal; display: inline-block !important; color: #333; content: "\e900"; font-size: 0.8em; padding-left: 0.2em; }
#contentsTop #areaNews .title ul li:nth-child(1) a, #contentsTop #areaCal .title ul li:nth-child(1) a { border-color: #D5D5D5; }
#contentsTop #areaNews .title ul li:nth-child(1) a:hover, #contentsTop #areaCal .title ul li:nth-child(1) a:hover { background: #D5D5D5; }
#contentsTop #areaNews .title ul li:nth-child(2) a, #contentsTop #areaCal .title ul li:nth-child(2) a { border-color: #bee569; }
#contentsTop #areaNews .title ul li:nth-child(2) a:hover, #contentsTop #areaCal .title ul li:nth-child(2) a:hover { background: #bee569; }
#contentsTop #areaNews .title ul li:nth-child(3) a, #contentsTop #areaCal .title ul li:nth-child(3) a { border-color: #9adff7; }
#contentsTop #areaNews .title ul li:nth-child(3) a:hover, #contentsTop #areaCal .title ul li:nth-child(3) a:hover { background: #9adff7; }
#contentsTop #areaNews .title ul li:nth-child(4) a, #contentsTop #areaCal .title ul li:nth-child(4) a { border-color: #ffa5a5; }
#contentsTop #areaNews .title ul li:nth-child(4) a:hover, #contentsTop #areaCal .title ul li:nth-child(4) a:hover { background: #ffa5a5; }
#contentsTop #areaNews .title p a, #contentsTop #areaCal .title p a { font-size: 0.9em; display: block; padding: 0 0.5em 0 1em; color: #333; border-radius: 2em; text-decoration: none; background: #fff; border: 1px solid #568e1b; }
#contentsTop #areaNews .title p a::after, #contentsTop #areaCal .title p a::after { font-family: lib; font-weight: normal; display: inline-block !important; color: #333; content: "\e900"; font-size: 0.8em; padding-left: 0.2em; }
#contentsTop #areaNews .title p a:hover, #contentsTop #areaCal .title p a:hover { background: #568e1b; color: #fff; }
#contentsTop #areaNews .title p a:hover::after, #contentsTop #areaCal .title p a:hover::after { color: #fff; }

#contentsBottom { background: #EEF4CC; margin-top: 5em; padding: 50px 0 30px; }
#contentsBottom .sec01 { display: flex; justify-content: space-between; flex-wrap: wrap; }
#contentsBottom .sec01 .sec01__01 { width: calc((100% - 90px) / 3); }
@media only screen and (max-width: 1024px) { #contentsBottom .sec01 .sec01__01 { width: calc((100% - 50px) / 3); } }
@media only screen and (max-width: 768px) { #contentsBottom .sec01 .sec01__01 { width: calc((100% - 20px) / 2); margin-bottom: 2em; } }
#contentsBottom .sec01 .sec01__01 p { text-align: center; font-size: 1.1em; margin-top: 1em; }
@media only screen and (max-width: 1024px) { #contentsBottom .sec01 .sec01__01 p { font-size: 1em; } }
@media only screen and (max-width: 576px) { #contentsBottom .sec01 .sec01__01 p { text-align: left; } }
#contentsBottom .sec01 .sec01__01 figure { background: #fff; }

footer { margin-top: 0; }
