@charset "utf-8";

/* ==================================================
contents
================================================== */
.layout_top {
    padding: 54px 0 203px;
}
.layout_top>.container {
    display: flex;
}
.layout_top .layout_container {
    width: calc(880 / 1200 * 100% - 40px)
}

.navigation_top {
    width: calc(320 / 1200 * 100%);
    margin-right: 40px;
    flex: 0 0 auto;
}

.list_top_navigation {
    list-style: none;
}
.list_top_navigation>li:not(:last-of-type) {
    margin-bottom: 8px;
}
.list_top_navigation>li.is_bordered>a {
    border: 2px solid #DEDEDE;
}
.list_top_navigation>li.is_bordered>a::after {
    right: 8px;
	bottom: 8px;
}
.list_top_navigation>li.is_bordered.is_icon_bordered {
    right: 7px;
    bottom: 7px;
}
.list_top_navigation>li.is_icon_bordered>a::after {
    width: 22px;
	height: 22px;
    border: 1px solid #BBDEB8;
}
.list_top_navigation>li.is_icon_reversed>a::after {
    width: 17px;
    height: 17px;
    background-image: url(/shared/site_library_rn/images/icon/icon_arrow_02.png);
    background-color: #362E2B;
    background-size: 6px auto;
}
.list_top_navigation>li>a {
    border-radius: 10px;
    background-color: #FFFFFF;
    display: block;
    position: relative;
}
.list_top_navigation>li>a:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border: 2px solid #362e2b;
    border-radius: 10px;
    pointer-events: none;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}
.list_top_navigation>li>a::after {
	content: "";
	width: 20px;
	height: 20px;
	margin: auto 0;
	border-radius: 50%;
	background: url(/shared/site_library_rn/images/icon/icon_arrow_01.png) center no-repeat;
	background-color: #FFFFFF;
	background-size: 6px auto;
	position: absolute;
    right: 10px;
	bottom: 10px;
}
.list_top_navigation>li>a:hover:before,
.list_top_navigation>li>a:focus:before {
    opacity: 1;
}
.list_top_navigation .item_banner {
    display: block;
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.list_top_navigation .item_banner img {
    width: 100%;
    height: auto;
    vertical-align: top;
    border-radius: 10px;
}
.list_top_navigation>li.is_bordered>a:before{
    top: -2px;
    left: -2px;
    bottom: -2px;
    right: -2px;
}
.list_top_navigation>li.is_bordered>a .item_banner img{
    border-radius: 8px;
}
.list_top_news>ul {
    list-style: none;
}
.list_top_news>ul>li {
    padding-bottom: 23px;
    border-bottom: 1px solid #DEDEDE;
    display: flex;
    line-height: 1.7;
}
.list_top_news>ul>li:not(:last-of-type) {
    margin-bottom: 17px;
}
.list_top_news .item_wrapper {
    display: flex;
}
.list_top_news .item_wrapper a {
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
}
.list_top_news .item_date {
    max-width: 80%;
    min-width: 136px;
    padding: 5px 5px 5px 0;
    font-size: 77.78%;
    flex: 0 0 auto;
}

.list_top_device {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 42px;
}
.list_top_device .list_item {
    width: calc(50% - 21px);
    min-height: 132px;
    border: 0 solid #EADFCE;
    display: flex;
    position: relative;
}
.list_top_device .list_item:nth-child(2n)::after {
    display: none;
}
.list_top_device .list_item::after {
    content: "";
    border-right: 1px solid;
    border-right-color: inherit;
    position: absolute;
    top: 0;
    right: -19px;
    bottom: 10px;
}
.list_top_device .item_qr {
    width: calc(132 / 360 * 100%);
    margin-right: 21px;
    flex: 0 0 auto;
}
.list_top_device .item_qr img {
    width: 100%;
    height: auto;
    vertical-align: top;
}
.list_top_device .item_wrapper {
    padding-top: 4px;
    display: flex;
    flex-wrap: wrap;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
}
.list_top_device .link_common {
    min-height: 35px;
    max-width: 100%;
    margin-bottom: 9px;
}
.list_top_device .link_common a {
    padding-left: 30px;
    background-position: 30px bottom;
    font-size: 100%;
}
.list_top_device .link_common a::before {
    width: 20px;
    height: 20px;
    background-image: url(/shared/site_library_rn/images/icon/icon_arrow_01_white.png);
    background-size: 6px auto;
    top: 3px;
}
.list_top_device .item_button {
    display: flex;
    justify-content: center;
    width: calc(100% - 1px);
    margin-left: 1px;
    border: 1px solid #D6BF9D;
    border-radius: 40px;
    background-color: #D6BF9D;
    text-align: center;
    position: relative;
}
.list_top_device .item_button a {
	width: fit-content;
	padding: 18px 19px 21px;
	display: block;
    align-items: center;
	text-decoration: none;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 600;
    color: inherit;
}
.list_top_device .item_button a::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	outline: inherit;
    border-radius: 40px;
}
.list_top_device .item_button a::after {
    content: '';
    position: relative;
	display: block;
    left: 0;
    border-bottom: 1px solid #222222;
    transform: scaleX(0);
    transition: transform 0.3s ease-in-out;
    transform-origin: left center;
}
.list_top_device .item_button a:hover::after,
.list_top_device .item_button a:focus::after {
    transform: scale(1, 1);
}
.list_top_device .item_button a:focus-visible {
    outline-style: none;
}
.list_top_device .item_button a:focus-visible {
    outline-style: none;
}
.list_top_device .item_button a:focus-visible::before {
    z-index: 11;
    outline-style: auto;
}

.button_top_login {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.button_top_login a {
	width: 100%;
	height: 56px;
	border: 2px solid #7E6B5A;
	border-radius: 8px;
	background-color: #7E6B5A;
	padding: 6px 18px 8px;
	display: table-cell;
	position: relative;
    font-size: 111.11%;
	line-height: 1.3;
    text-align: center;
	vertical-align: middle;
	color: #FFFFFF;
	text-decoration: none;
}
.button_top_login a:hover .button_wrapper,
.button_top_login a:focus .button_wrapper {
    background-size: 100% 1px;
}
.button_top_login a:link,
.button_top_login a:active {
    color: #FFFFFF;
}
.button_top_login .button_wrapper {
    background-image: -webkit-linear-gradient(to right, #FFFFFF, #FFFFFF);
	background-image: -moz-linear-gradient(to right, #FFFFFF, #FFFFFF);
	background-image: -o-linear-gradient(to right, #FFFFFF, #FFFFFF);
	background-image: linear-gradient(to right, #FFFFFF, #FFFFFF);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 0 1px;
	transition: background 0.3s ease-in-out;
}

.link_top_rss a {
    padding: 0 0 3px 32px;
	box-sizing: border-box;
    background-image: -webkit-linear-gradient(to right, #222222, #222222);
	background-image: -moz-linear-gradient(to right, #222222, #222222);
	background-image: -o-linear-gradient(to right, #222222, #222222);
	background-image: linear-gradient(to right, #222222, #222222);
	background-position: 32px bottom;
	background-repeat: no-repeat;
	background-size: 0 1px;
	display: block;
    position: relative;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-weight: 600;
	line-height: 1.3;
	color: inherit;
	text-decoration: none;
    transition: background 0.3s ease-in-out;
}
.link_top_rss a:link,
.link_top_rss a[href]:active {
    color: inherit;
}
.link_top_rss a:hover,
.link_top_rss a:focus {
    background-size: 100% 1px;
}
.link_top_rss a::before {
    content: "";
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: url(/shared/templates/library_top_rn/images/icon/icon_rss.png) center no-repeat;
    background-color: #362E2B;
    background-size: 12px auto;
	position: absolute;
    top: 1px;
    left: 0;
}

.section_top_schedule .section_heading select {
    width: 360px;
    flex: 0 0 auto;
    max-width: 100%;
    height: 64px;
    border: 2px solid #8EC21F;
    border-radius: 10px;
    padding: 0 78px 4px 21px;
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_arrow_03.png), -webkit-linear-gradient(#8EC21F, #8EC21F);
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_arrow_03.png), -moz-linear-gradient(#8EC21F, #8EC21F);
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_arrow_03.png), -o-linear-gradient(#8EC21F, #8EC21F);
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_arrow_03.png), linear-gradient(#8EC21F, #8EC21F);
    background-position: calc(100% - 19px) center, center right;
    background-size: 18px auto, 58px 100%;
    background-repeat: no-repeat;
    background-color: #FFFFFF;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-size: 111.11%;
    font-weight: 600;
    color: #412f00;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;     
}

.tabs_top_news {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.tabs_top_news .tabs_top_news_ttl:first-child {
    border-radius: 50px 0 0 50px;
}
.tabs_top_news .tabs_top_news_ttl:first-child>p::before,
.tabs_top_news .tabs_top_news_ttl:first-child>p::after {
    left: 2px;
}
.tabs_top_news .tabs_top_news_ttl:first-child>p::after {
    right: 2px;
}
.tabs_top_news .tabs_top_news_ttl:nth-child(5) {
    border-radius: 0 50px 50px 0;
}
.tabs_top_news .tabs_top_news_ttl:nth-child(5)>p::before,
.tabs_top_news .tabs_top_news_ttl:nth-child(5)>p::after {
    right: 2px;
}
.tabs_top_news .tabs_top_news_ttl:nth-child(5)>p::after {
    left: 2px;
}

.tabs_top_news_ttl {
    width: calc((100% - 4px) / 3);
    margin-bottom: 32px;
}
.tabs_top_news_ttl.active>p>a {
    border-color: #597b14;
    background-color: #597b14;
    color: #FFFFFF;
}
.tabs_top_news_ttl.active>p::before,
.tabs_top_news_ttl.active>p::after {
    opacity: 1;
}
.tabs_top_news_ttl:not(.active)>p>a:hover,
.tabs_top_news_ttl:not(.active)>p>a:focus {
    border-color: #597B14;
    background-color: #597B14;
    color: #FFFFFF;
    text-decoration: none;
}
.tabs_top_news_ttl>p {
    width: 100%;
    height: 100%;
    border-radius: inherit;
    display: table;
    table-layout: fixed;
    position: relative;
}
.tabs_top_news_ttl:not(.active)>p:has(a:hover)::before,
.tabs_top_news_ttl:not(.active)>p:has(a:focus)::before {
    opacity: 1;
}
.tabs_top_news_ttl>p::before,
.tabs_top_news_ttl>p::after {
    content: "";
    background-color: #597b14;
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: -2px;
    right: -2px;
    opacity: 0;
}
.tabs_top_news_ttl>p::before {
    border-radius: inherit;
    bottom: 0;
    z-index: 0;
    transition: opacity 0.3s ease;
}
.tabs_top_news_ttl>p::after {
    width: 17px;
    height: 13px;
    top: calc(100% - 1px);
    z-index: 2;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.tabs_top_news_ttl>p>a {
    width: 100%;
    padding: 22px 9px 25px;
    border: 1px solid #E2EFC7;
    border-radius: inherit;
    background-color: #E2EFC7;
    display: table-cell;
    position: relative;
    z-index: 1;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 600;
    color: inherit;
    transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}
.tabs_top_news_ttl>p>a:hover,
.tabs_top_news_ttl>p>a:focus {
    text-decoration: none;
}
.tabs_top_news_ttl .show_sp {
    display: none;
}

.tabs_top_news_cnt {
    width: 100%;
    padding: 31px 38px 38px;
    border: 2px solid #DEDEDE;
    border-radius: 10px;
}
.tabs_top_news_cnt .list_common_buttons {
    margin-top: 39px;
    align-items: center;
    gap: 14px 20px;
}
.tabs_top_news_cnt .list_common_buttons .button_common_simple {
    width: auto;
    max-width: 100%;
}

.section_top_information {
    margin-bottom: 37px;
}
.section_top_information .block_common_library .block_wrapper.is_search,
.section_top_information .block_common_library .block_wrapper.is_service {
    width: 50%;
    padding: 36px 40px 12px;
}
.section_top_information .block_common_library .block_wrapper.is_search {
    border-right: 4px solid #33312F;
}
.section_top_information .block_common_library .block_wrapper.is_search::before {
    clip-path: polygon(18px 0, 100% 0, 100% 100%, 0 100%, 0% calc(100% - 8px));
}
.section_top_information .block_common_library .block_wrapper.is_search .heading_title::before {
    width: 48px;
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_title_search.png);
}
.section_top_information .block_common_library .block_wrapper.is_service {
    border-left: 4px solid #33312F;
}
.section_top_information .block_common_library .block_wrapper.is_service::before {
    clip-path: polygon(calc(100% - 18px) 0, 100% calc(100% - 8px), 100% 100%, 0 100%, 0 0);
}
.section_top_information .block_common_library .block_wrapper.is_service .heading_title::before {
    width: 40px;
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_title_service.png);
}
.section_top_information .block_common_library .block_wrapper.is_electronic {
    padding: 28px 40px 24px;
}
.section_top_information .block_common_library .block_wrapper.is_electronic .block_heading {
    min-height: unset;
    margin-bottom: 11px;
}
.section_top_information .block_common_library .block_wrapper.is_electronic .heading_title::before {
    width: 45px;
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_title_electronic.png);
}
.section_top_information .block_common_library .block_wrapper.is_electronic .list_common_buttons {
    flex-flow: row wrap;
}
.section_top_information .block_common_library .block_wrapper.is_electronic .list_common_buttons>li:first-child {
    width: calc(260 / 726 * 100%);
    flex: 0 0 auto;
}
.section_top_information .block_common_library .block_wrapper.is_electronic .list_common_buttons>li:nth-child(2) {
    width: calc(466 / 726 * 100% - 20px);
    flex: 0 0 auto;
}
.section_top_information .block_common_library .block_heading {
    min-height: 68px;
    margin-bottom: 8px;
}
.section_top_information .block_common_library .heading_title {
    display: flex;
    justify-content: center;
    align-items: center;
}
.section_top_information .block_common_library .heading_title::before {
    content: "";
    background: no-repeat;
    background-size: auto 100%;
    margin: 0 12px 0 2px;
    height: 45px;
    flex: 0 0 auto;
}
.section_top_information .block_common_library .heading_title h2 {
    padding-bottom: 2px;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-size: 122.22%;
    font-weight: 600;
}
.section_top_information .block_common_library .heading_detail {
    font-size: 88.89%;
    line-height: 1.3;
    text-align: center;
}

.section_top_schedule {
    margin-bottom: 60px;
}
.section_top_schedule .section_heading {
    padding: 47px 148px 37px 38px;
    border: 2px solid #362E2B;
    border-bottom-color: transparent;
    border-radius: 10px 10px 0 0;
    background: url(/shared/templates/library_top_rn/images/icon/icon_title_schedule.png) calc(100% - 12px) calc(100% + 2px) no-repeat;
    background-color: #362E2B;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    color: #FFFFFF;
}
.section_top_schedule .section_heading .title_common_primary {
    margin: 10px 10px 10px 0;
}
.section_top_schedule .section_wrapper {
    padding: 28px 38px 24px;
    border: solid #362E2B;
    border-width: 0 2px 2px;
    border-radius: 0 0 10px 10px;
}
.section_top_schedule .list_common_buttons {
    flex-flow: row wrap;
}
.section_top_schedule .list_common_buttons>li {
    width: calc((100% - 40px) / 3);
}

.section_top_notice {
    margin-bottom: 51px;
    padding: 22px 22px 38px;
    border: 2px solid #DEDEDE;
    border-radius: 10px;
}
.section_top_notice .section_title {
    margin-bottom: 32px;
    border-left: 12px solid #8EC21F;
}
.section_top_notice .section_title h2 {
    padding: 9px 24px 15px;
    border: solid #362E2B;
    border-width: 1px 1px 1px 0;
    background-color: #362E2B;
    font-size: 122.22%;
    font-weight: 400;
    color: #FFFFFF;
}
.section_top_notice .section_wrapper {
    padding-left: 31px;
}
.section_top_notice .section_wrapper ul {
    list-style-image: url(/shared/templates/library_top_rn/images/icon/icon_dots.gif);
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
}
.section_top_notice .section_wrapper ul:not(:last-of-type) {
    margin-bottom: 3px;
}
.section_top_notice .section_wrapper ul>li {
    line-height: 1.7;
}
.section_top_notice .section_wrapper ul>li:not(:last-of-type) {
    margin-bottom: 6px;
}
.section_top_notice .section_wrapper ul:has(.txt_big)>li:not(:last-of-type) {
    margin-bottom: 22px;
}
.section_top_notice .section_wrapper p {
    line-height: 1.7;
}
.section_top_notice .section_wrapper p:not(:last-of-type) {
    margin-bottom: 0;
}
.section_top_notice .section_wrapper p + ul {
    margin-top: 15px;
}
.section_top_notice .section_wrapper .txt_red {
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
    color: #990000;
}
.section_top_notice .section_wrapper .txt_big {
    font-size: 122.22%;
    line-height: 1.6;
}

.block_top_device {
    margin-top: 50px;
    padding: 30px 32px 37px 38px;
    border: 4px solid #D6BF9D;
    border-radius: 10px;
}
.block_top_device.show_sp {
    display: none;
}
.block_top_device .block_heading {
    margin-bottom: 31px;
    display: flex;
    flex-wrap: wrap;
}
.block_top_device .title_common_primary {
    margin-right: 44px;
}
.block_top_device .title_common_primary h2,
.block_top_device .title_common_primary>span {
    padding: 0 0 5px 26px;
    border-left-color: #D6BF9D;
    font-size: 122.22%;
    color: #362E2B;
}
.block_top_device .title_common_primary h2::before,
.block_top_device .title_common_primary>span::before {
    top: 6px;
    bottom: 6px;
}
.block_top_device .heading_detail {
    margin-top: 2px;
    position: relative;
}

/* ==================================================
accessibility
================================================== */
.color_blue #tmp_wrapper .button_top_login a:hover .button_wrapper,
.color_blue #tmp_wrapper .button_top_login a:focus .button_wrapper,
.color_black #tmp_wrapper .button_top_login a:hover .button_wrapper,
.color_black #tmp_wrapper .button_top_login a:focus .button_wrapper,
.color_yellow #tmp_wrapper .button_top_login a:hover .button_wrapper,
.color_yellow #tmp_wrapper .button_top_login a:focus .button_wrapper,
.color_blue #tmp_wrapper .link_top_rss a:hover,
.color_blue #tmp_wrapper .link_top_rss a:focus,
.color_black #tmp_wrapper .link_top_rss a:hover,
.color_black #tmp_wrapper .link_top_rss a:focus,
.color_yellow #tmp_wrapper .link_top_rss a:hover,
.color_yellow #tmp_wrapper .link_top_rss a:focus {
    text-decoration: underline;
}
.color_blue #tmp_wrapper .list_top_navigation>li>a::after,
.color_black #tmp_wrapper .list_top_navigation>li>a::after,
.color_yellow #tmp_wrapper .list_top_navigation>li>a::after,
.color_blue #tmp_wrapper .tabs_top_news_ttl>p::before,
.color_black #tmp_wrapper .tabs_top_news_ttl>p::before,
.color_yellow #tmp_wrapper .tabs_top_news_ttl>p::before,
.color_blue #tmp_wrapper .link_top_rss a::before,
.color_black #tmp_wrapper .link_top_rss a::before,
.color_yellow #tmp_wrapper .link_top_rss a::before {
    display: none !important;
}
.color_blue #tmp_wrapper .list_top_device .item_button a:hover,
.color_blue #tmp_wrapper .list_top_device .item_button a:focus,
.color_black #tmp_wrapper .list_top_device .item_button a:hover,
.color_black #tmp_wrapper .list_top_device .item_button a:focus,
.color_yellow #tmp_wrapper .list_top_device .item_button a:hover,
.color_yellow #tmp_wrapper .list_top_device .item_button a:focus {
    text-decoration: underline;
}
.color_blue #tmp_wrapper .list_top_device .item_button a::after,
.color_black #tmp_wrapper .list_top_device .item_button a::after,
.color_yellow #tmp_wrapper .list_top_device .item_button a::after {
    display: none;
}
.color_blue #tmp_wrapper .tabs_top_news_ttl>p::after,
.color_black #tmp_wrapper .tabs_top_news_ttl>p::after {
    background-color: #FFFF00;
}
.color_yellow #tmp_wrapper .tabs_top_news_ttl>p::after {
    background-color: #000000;
}
.no_javascript .tabs_top_news_ttl {
    width: 100%;
}
.no_javascript .tabs_top_news_ttl>p::before {
    display: none !important;
}
.no_javascript .tabs_top_news_ttl>p::after {
    opacity: 1;
}
.no_javascript .tabs_top_news_ttl>p>a {
    border-radius: 50px;
    border-color: #597B14;
    background-color: #597B14;
    color: #FFFFFF;
}
.no_javascript .tabs_top_news_cnt + .tabs_top_news_ttl {
    margin-top: 50px;
}
.color_blue #tmp_wrapper .section_top_schedule .section_heading select,
.color_black #tmp_wrapper .section_top_schedule .section_heading select {
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_arrow_03_yellow.png) !important;
}
.color_yellow #tmp_wrapper .section_top_schedule .section_heading select {
    background-image: url(/shared/templates/library_top_rn/images/icon/icon_arrow_03_black.png) !important;
}
.color_blue #tmp_wrapper .section_top_information .block_common_library .block_wrapper .heading_title::before,
.color_black #tmp_wrapper .section_top_information .block_common_library .block_wrapper .heading_title::before,
.color_yellow #tmp_wrapper .section_top_information .block_common_library .block_wrapper .heading_title::before {
    background: none !important;
}
.color_black #tmp_wrapper .list_top_navigation>li>a:before,
.color_blue #tmp_wrapper .list_top_navigation>li>a:before,
.color_yellow #tmp_wrapper .list_top_navigation>li>a:before{
    border-color: inherit;
}
.furigana_on .list_top_device .item_button a {
    overflow-wrap: anywhere;
}

