@charset "utf-8";

/* ==================================================
contents
================================================== */
.list_top_news .list_wrapper {
    list-style: none;
}
.list_top_news .list_wrapper>li {
    display: flex;
    align-items: flex-start;
}
.list_top_news .list_wrapper>li:not(:last-of-type) {
    margin-bottom: 18px;
    padding-bottom: 27px;
    border-bottom: 1px solid #DEDEDE;
}
.list_top_news .item_date {
    width: 137px;
    margin: 4px 5px 4px 0;
    font-size: 77.78%;
    line-height: 1.3;
    flex: 0 0 auto;
}
.list_top_news a {
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
}

.list_top_buttons {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 25px;
}
.list_top_buttons .button_common {
    width: calc((100% - 50px) / 3);
    display: table;
}
.list_top_buttons .button_common a {
    width: 100%;
    display: table-cell;
    vertical-align: middle;
}

.contents_top {
    padding: 30px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 45px 40px;
}
.contents_top .contents_wrapper {
    width: 100%;
}
.contents_top .contents_wrapper_navigation,
.contents_top .contents_wrapper_event {
    width: calc(50% - 20px);
}
.contents_top .contents_wrapper_navigation .block_top_contents .block_heading::after,
.contents_top .contents_wrapper_event .block_top_contents .block_heading::after {
    background-image: url(/shared/templates/library_kids_top_rn/images/icon/decoration_ribbon_02.png);
}
.contents_top .contents_wrapper_navigation {
    list-style: none;
}
.contents_top .contents_wrapper_navigation .block_top_contents {
    width: 100%;
    border-color: #F39800;
    display: table;
}
.contents_top .contents_wrapper_navigation .block_top_contents:not(:last-of-type) {
    margin-bottom: 35px;
}
.contents_top .contents_wrapper_navigation .block_top_contents:nth-child(even) {
    border-color: #8EC21F;
}
.contents_top .contents_wrapper_navigation .block_top_contents:nth-child(even) .block_heading {
    background-image: url(/shared/site_library_kids_rn/images/icon/icon_arrow_02.png)
}
.contents_top .contents_wrapper_navigation .block_top_contents:nth-child(even) .block_heading::after {
    background-image: url(/shared/templates/library_kids_top_rn/images/icon/decoration_ribbon_01.png);
}
.contents_top .contents_wrapper_navigation .block_top_contents .block_heading {
    width: 100%;
    height: 114px;
    display: table-cell;
    padding: 13px 160px 18px 69px;
    background: url(/shared/site_library_kids_rn/images/icon/icon_arrow_02_alt.png) 36px center no-repeat;
	background-size: 24px auto;
    vertical-align: middle;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-size: 155.56%;
    font-weight: 600;
    line-height: 1.2;
}
.contents_top .contents_wrapper_navigation .block_top_contents .block_heading::after {
    right: -1px;
}
.contents_top .contents_wrapper_navigation .block_top_contents .block_heading:hover .heading_wrapper::after,
.contents_top .contents_wrapper_navigation .block_top_contents .block_heading:focus .heading_wrapper::after {
    transform: scale(1, 1);
}
.contents_top .contents_wrapper_navigation .block_top_contents .block_heading .heading_wrapper {
    position: relative;
    display: inline-block;
}
.contents_top .contents_wrapper_navigation .block_top_contents .block_heading .heading_wrapper::after {
    content: "";
    border-bottom: 1px solid #222222;
    position: absolute;
    bottom: -3px;
    right: 0;
    left: 0;
    transform: scale(0, 1);
    transition: transform 0.3s ease-in-out;
    transform-origin: left bottom;
}
.contents_top .contents_wrapper_event .block_top_contents {
    border-color: #F39800;
}
.contents_top .contents_wrapper_event .block_top_contents::after {
    width: 75px;
    background-image: url(/shared/templates/library_kids_top_rn/images/icon/decoration_character_02.png);
    right: 17px;
    bottom: -24px;
}
.contents_top .contents_wrapper_event .block_top_contents .block_heading {
    padding-right: 36px;
}
.contents_top .contents_wrapper_event .block_top_contents .block_heading::after {
    right: 0;
}
.contents_top .contents_wrapper_event .block_top_contents .block_heading h2 {
    background-image: url(/shared/templates/library_kids_top_rn/images/icon/pattern_border_03.png);
    padding: 33px 60px 15px 0;
}
.contents_top .contents_wrapper_event .block_top_contents .block_wrapper {
    padding: 24px 36px 41px;
}
.contents_top .contents_wrapper_event .list_top_buttons {
    gap: 10px;
    flex-direction: column;
}
.contents_top .contents_wrapper_event .block_top_contents .block_footing {
    padding: 0 96px 20px 36px;
}

.card_top .card_wrapper {
    padding: 22px 48px 20px 22px;
    border: 2px solid #949494;
    border-radius: 16px;
    background: url(/shared/site_library_kids_rn/images/icon/icon_arrow_01_alt.png) calc(100% - 14px) center no-repeat;
    background-size: 20px auto;
    display: flex;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 500;
    flex-direction: column;
    align-items: flex-start;
}
.card_top .card_wrapper:has(.card_title:focus) {
    outline: solid;
}
.card_top .card_wrapper:hover .card_title::after,
.card_top .card_wrapper:has(.card_title:focus) .card_title::after {
    transform: scale(1, 1);
}
.card_top .card_wrapper:has(.card_title:focus) .card_title {
    outline: navajowhite;
}
.card_top .card_label {
    min-width: 114px;
    margin-bottom: 1px;
    padding: 1px 9px 2px;
    border: 1px solid #362E2B;
    border-radius: 15px;
    background-color: #362E2B;
    font-size: 77.78%;
    color: #FFFFFF;
    text-align: center;
}
.card_top .card_title {
    margin-bottom: 4px;
    position: relative;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-size: 111.11%;
    line-height: 1.5;
    font-weight: 600;
    color: inherit;
    text-decoration: none;
}
.card_top .card_title::after {
    content: "";
    border-bottom: 1px solid #222222;
    position: absolute;
    bottom: -3px;
    right: 0;
    left: 0;
    transform: scale(0, 1);
    transition: transform 0.3s ease-in-out;
    transform-origin: left bottom;
}
.card_top .card_detail {
    font-size: 88.89%;
}

.block_top_contents {
    border: 4px solid #8EC21F;
    border-top-right-radius: 64px;
    position: relative;
    box-sizing: border-box;
}
.block_top_contents:has(.block_icon)::after {
    display: none;
}
.block_top_contents::after,
.block_top_contents .block_heading::after {
    content: "";
    background-size: 100% auto;
    background-repeat: no-repeat;
    position: absolute;
    z-index: 1;
    pointer-events: none;
}
.block_top_contents::after {
    width: 69px;
    background-image: url(/shared/templates/library_kids_top_rn/images/icon/decoration_character_01.png);
    background-position: left bottom;
    top: 0;
    right: 12px;
    bottom: -8px;
}
.block_top_contents .block_heading {
    padding: 0 96px 0 36px;
    border-top-right-radius: inherit;
    display: block;
    position: relative;
    color: inherit;
    text-decoration: none;
    box-sizing: border-box;
}
.block_top_contents .block_heading::after {
    width: 57px;
    height: 79px;
    background-image: url(/shared/templates/library_kids_top_rn/images/icon/decoration_ribbon_01.png);
    top: -18px;
    right: 2px;
}
.block_top_contents .block_heading h2 {
    padding: 34px 0 15px;
    border-bottom: 4px solid transparent;
    border-top-right-radius: inherit;
    background: url(/shared/templates/library_kids_top_rn/images/icon/pattern_border_02.png) left calc(100% + 4px) repeat-x;
    background-size: auto 4px;
    display: block;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-size: 155.56%;
    font-weight: 600;
    box-sizing: border-box;
}
.block_top_contents .block_icon {
    width: 117px;
    position: absolute;
    right: 39px;
    bottom: -36px;
    z-index: 2;
}
.block_top_contents .block_icon img {
    width: 100%;
    height: auto;
    vertical-align: top;
}
.block_top_contents .block_wrapper {
    padding: 24px 96px 36px 36px;
}

.section_top_news {
    padding: 40px 0 51px;
    border-bottom: 6px solid transparent;
    background: url(/shared/templates/library_kids_top_rn/images/icon/pattern_border.png) left calc(100% + 6px) repeat-x;
    background-size: auto 6px;
    background-color: #B5E059;
}
.section_top_news .link_simple,
.contents_top .link_simple {
	display: flex;
}
.section_top_news .link_simple a,
.contents_top .link_simple a {
    padding: 0 0 3px 29px;
	background-image: url(/shared/site_library_kids_rn/images/icon/icon_arrow.png);
	background-size: 20px auto;
    background-position: left 7px;
	font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-size: 100%;
	font-weight: 600;
    letter-spacing: 0;
}
.section_top_news .link_simple a::after,
.contents_top .link_simple a::after {
    bottom: 3px;
    left: 29px;
}
.section_top_news .section_title {
    display: flex;
}
.section_top_news .section_title + .section_wrapper {
    margin-top: -27px;
}
.section_top_news .section_title h2 {
    margin: 0 1px;
    padding: 4px 42px 8px;
    border: 1px solid #59493F;
    border-radius: 30px;
    background-color: #59493F;
    display: block;
    position: relative;
    box-sizing: border-box;
    font-size: 133.33%;
    font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
    font-weight: 600;
    color: #FFFFFF;
}
.section_top_news .section_title h2::before {
    content: "";
    width: 27px;
    height: 41px;
    background: url(/shared/templates/library_kids_top_rn/images/icon/title_news.png) no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: -11px;
    left: -3px;
}
.section_top_news .section_wrapper {
    padding: 52px 39px 65px;
    border: 1px solid #FFFFFF;
    border-radius: 16px;
    background-color: #FFFFFF;
}
.section_top_news .section_navigation {
    margin-top: 17px;
    display: flex;
    justify-content: flex-end;
}
.section_top_news .section_navigation .link_simple {
    padding-left: 130px;
    position: relative;
}
.section_top_news .section_navigation .link_simple::before {
    content: "";
    width: 102px;
    height: 109px;
    background: url(/shared/templates/library_kids_top_rn/images/icon/decoration_news.png) no-repeat;
    background-size: 100% auto;
    position: absolute;
    top: -53px;
    left: 0;
}

.section_top_contents {
    padding: 73px 0 89px;
}

/* ==================================================
accessibility
================================================== */
.fsize_small #tmp_wrapper .section_top_news .link_simple a,
.fsize_small #tmp_wrapper .contents_top .link_simple a {
	padding-top: 5px;
	padding-bottom: 7px;
    background-position: left 7px;
}
.color_blue #tmp_wrapper .section_top_news .section_title h2::before,
.color_black #tmp_wrapper .section_top_news .section_title h2::before,
.color_yellow #tmp_wrapper .section_top_news .section_title h2::before,
.color_blue #tmp_wrapper .section_top_news .section_navigation .link_simple::before,
.color_black #tmp_wrapper .section_top_news .section_navigation .link_simple::before,
.color_yellow #tmp_wrapper .section_top_news .section_navigation .link_simple::before,
.color_blue #tmp_wrapper .block_top_contents::after,
.color_black #tmp_wrapper .block_top_contents::after,
.color_yellow #tmp_wrapper .block_top_contents::after,
.color_blue #tmp_wrapper .block_top_contents .block_heading::after,
.color_black #tmp_wrapper .block_top_contents .block_heading::after,
.color_yellow #tmp_wrapper .block_top_contents .block_heading::after,
.color_blue #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading .heading_wrapper::after,
.color_black #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading .heading_wrapper::after,
.color_yellow #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading .heading_wrapper::after,
.color_blue #tmp_wrapper .card_top .card_wrapper:hover .card_title::after,
.color_blue #tmp_wrapper .card_top .card_wrapper:focus .card_title::after,
.color_black #tmp_wrapper .card_top .card_wrapper:hover .card_title::after,
.color_black #tmp_wrapper .card_top .card_wrapper:focus .card_title::after,
.color_yellow #tmp_wrapper .card_top .card_wrapper:hover .card_title::after,
.color_yellow #tmp_wrapper .card_top .card_wrapper:focus .card_title::after,
.color_blue #tmp_wrapper .block_top_contents .block_icon,
.color_black #tmp_wrapper .block_top_contents .block_icon,
.color_yellow #tmp_wrapper .block_top_contents .block_icon {
	display: none !important;
}
.color_blue #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading:hover .heading_wrapper,
.color_blue #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading:focus .heading_wrapper,
.color_black #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading:hover .heading_wrapper,
.color_black #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading:focus .heading_wrapper,
.color_yellow #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading:hover .heading_wrapper,
.color_yellow #tmp_wrapper .contents_top .contents_wrapper_navigation .block_top_contents .block_heading:focus .heading_wrapper,
.color_blue #tmp_wrapper .card_top .card_wrapper:hover .card_title,
.color_blue #tmp_wrapper .card_top .card_wrapper:focus .card_title,
.color_black #tmp_wrapper .card_top .card_wrapper:hover .card_title,
.color_black #tmp_wrapper .card_top .card_wrapper:focus .card_title,
.color_yellow #tmp_wrapper .card_top .card_wrapper:hover .card_title,
.color_yellow #tmp_wrapper .card_top .card_wrapper:focus .card_title {
    text-decoration: underline;
}
.no_javascript #tmp_wrapper .card_top .card_wrapper:hover .card_title,
.no_javascript #tmp_wrapper .card_top .card_wrapper:focus .card_title {
    text-decoration: none;
}
.no_javascript #tmp_wrapper .card_top .card_wrapper .card_title:hover,
.no_javascript #tmp_wrapper .card_top .card_wrapper .card_title:focus {
    text-decoration: underline;
}