@charset "utf-8";

/***************************************************************************************
------------------------------
header
------------------------------
*****************************/

header {
    padding-top: 0px;
    padding-bottom: 20px;
    overflow: hidden;
}
header .inner {
	width: 1000px;
	padding: 0;
}
header .logo_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin-top: 0px;
}
header .logo_area .logo {
    width: 200px;
}
header .logo_area .logo img {
    width: 100%;
}

/***************************************************************************************
------------------------------
nav
------------------------------
*****************************/

nav {
    min-width: 1000px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
kidsnet_nav
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

nav.js_nav_area .inner {
	width: 1000px;
	padding: 0;
}
nav .kidsnet_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
	width: 1000px;
	margin: auto;
}
nav .kidsnet_nav li {
    line-height: 27px;
}
nav .kidsnet_nav a {
    padding-left: 31px;
    font-weight: bold;
    text-decoration: none;
    color: #00aadc;
    background: url(/jiyuu/common/images/nav_icon01.gif) left center no-repeat;
    background-size: 25px 25px;
    position: relative;
}
nav .kidsnet_nav li:nth-of-type(2) a {
    color: #00b41e;
    background-image: url(/jiyuu/common/images/nav_icon02.gif);
}
nav .kidsnet_nav li:nth-of-type(3) a {
    color: #f5910a;
    background-image: url(/jiyuu/common/images/nav_icon03.gif);
}
nav .kidsnet_nav li:nth-of-type(4) a {
    color: #e66e5f;
    background-image: url(/jiyuu/common/images/nav_icon04.gif);
}
nav .kidsnet_nav li:nth-of-type(5) a {
    color: #aa69c3;
    background-image: url(/jiyuu/common/images/nav_icon05.gif);
}
nav .kidsnet_nav li:nth-of-type(6) a {
    color: #4b5fd2;
    background-image: url(/jiyuu/common/images/nav_icon06.gif);
}
nav .kidsnet_nav li:nth-of-type(7) a {
    color: #f091aa;
    background-image: url(/jiyuu/common/images/nav_icon07.gif);
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
main_nav
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

nav .main_nav {
    background: #1ea0dc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    min-width: 1240px;
    padding: 0px 3%;
    margin-top: 18px;
}
nav .main_nav > li {
    text-align: center;
    line-height: 1.3;
    height: 100px;
}
nav .main_nav > li:nth-of-type(3) {
    width: 33%;
    align-self: flex-end;
    height: auto;
}
nav .main_nav a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    height: 100%;
    position: relative;
}
nav .main_nav a:before {
    position: absolute;
    content: "";
    height: 10px;
    width: 100%;
    background: #fff;
    left: 0;
    bottom: 0;
    opacity: 0;
    transition: 0.5s ease;
    -webkit-transition: 0.5s ease;
}

/*夏休みおうえんスペシャル非リンク*/

.main_nav > li.off a {
    pointer-events: none;
    opacity: 0.5;
}
nav .main_nav > li ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
nav .main_nav > li ul li {
    height: 50px
}
nav .main_nav > li ul li a {
    align-items: baseline;
}
nav .main_nav .cat {
    position: relative;
    font-size: 1.1rem;
    line-height: 1;
    overflow: hidden;
    margin-bottom: 7px;
    text-align: center;
}
nav .main_nav .cat:before {
    content: "";
    position: absolute;
    border: 1px solid #fff;
    width: 100%;
    height: 60px;
    left: 0;
    top: 50%;
}
nav .main_nav .cat span {
    color: #1fa0dc;
    padding: 3px 5px 2px 5px;
    font-weight: bold;
    border-left: 10px solid #1fa0dc;
    border-right: 10px solid #1fa0dc;
    display: inline-block;
    position: relative;
    background: #fff;
}

/***************************************************************************************
------------------------------
main
------------------------------
*****************************/


/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TOP
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.frontpage .husen {
    position: absolute;
}
.frontpage .husen + .inner {
    position: relative;
}

/*++++++++++++++++++++++++++++
mv
++++++++++++++++++++++++++++*/

.frontpage .mv {
    position: relative;
    overflow: hidden;
}
.frontpage .mv h1 {
    overflow: hidden;
    position: relative;
    height: 615px;
    width: 73%;
    width: -webkit-calc(100% - 375px);
    width: calc(100% - 375px);
    float: right;
    text-align: center;
}
.frontpage .mv h1:before {
    background: url(/jiyuu/common/images/mv_bg.jpg) center -125px repeat;
    background-size: 961.5px auto;
    width: 150vw;
    height: 100%;
    position: absolute;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.frontpage .mv h1 img {
    width: auto;
    max-width: inherit;
    height: 798px;
    margin-top: -125px;
    position: relative;
}
.frontpage .mv .side {
    margin-left: 25px;
    width: 350px;
    padding-top: 25px;
    position: absolute;
    left: 0;
    top: 0;
}
.frontpage .mv .side li {
    width: 100%;
}
.frontpage .mv .side li + li {
    margin-top: 10px;
}
.frontpage .mv .side li + li:last-child {
    margin-top: 25px;
}
.frontpage .mv .side li a {
    width: 100%;
    padding: 22px 5px 22px 90px;
    background-image: none !important;
}
.frontpage .mv .side p {
    line-height: 1.4;
}
.frontpage .mv .side .img {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translate(0%, -50%);
    transform: translate(10%, -50%);
}
.frontpage .mv .side .img img {
    width: 82px;
}
.frontpage .mv .side .sub {
    font-size: 1.6rem;
}
.frontpage .mv .side .txt {
    font-size: 2rem;
}
.frontpage .mv .side .comment {
    font-size: 1.6rem;
    font-weight: normal;
    padding-top: 5px;
}

/*++++++++++++++++++++++++++++
sec_kansobun
++++++++++++++++++++++++++++*/

.frontpage .sec_kansobun {
    padding-top: 100px;
    padding-bottom: 150px;
}
.frontpage .sec_kansobun .husen.husen01 {
    background: url(/jiyuu/common/images/deco_07.png) center bottom repeat-x;
    position: absolute;
    left: 0;
    top: 0;
    width: 390px;
    height: 184px;
    background-size: contain;
}
.frontpage .sec_kansobun .husen.husen02 {
    background: url(/jiyuu/common/images/deco_09.png) center bottom no-repeat;
    position: absolute;
    right: 0;
    bottom: 10%;
    width: 194px;
    height: 445px;
    background-size: contain;
}
.frontpage .sec_kansobun .husen.husen03 {
    background: url(/jiyuu/common/images/deco_08.gif) right bottom repeat;
    position: absolute;
    right: 0;
    top: 0;
    width: 75px;
    height: 100%;
    background-size: 10px 5px;
}
.frontpage .sec_kansobun .level_01 {
    margin-left: 112px;
    position: relative;
    margin-bottom: 20px;
    background: url(/jiyuu/common/images/shape_fukidashi.png) left top no-repeat;
    background-size: 180px 160px;
}
.frontpage .sec_kansobun .level_01 span {
    vertical-align: middle;
    height: 160px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}
.frontpage .sec_kansobun .level_01 .fukidashi {
    font-size: 1.6rem;
    width: 160px;
    position: absolute;
    justify-content: center;
}
.frontpage .sec_kansobun .level_01 .tl {
    padding-left: 195px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sec_special
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.sec_special {
    position: relative;
    padding-top: 75px;
    padding-bottom: 150px;
    overflow: hidden;
}
.sec_special .husen01 {
    background: url(/jiyuu/common/images/deco_01.gif) right center repeat;
    position: absolute;
    left: 0;
    top: 0;
    width: 25px;
    height: 100%;
    background-size: 5px 10px;
}
.sec_special .husen02 {
    background: url(/jiyuu/common/images/deco_02.png) right center no-repeat;
    position: absolute;
    right: 50px;
    top: -10px;
    width: 204px;
    height: 333px;
    background-size: cover;
}
.sec_special .husen03 {
    background: url(/jiyuu/common/images/deco_03.png) right center no-repeat;
    position: absolute;
    right: -10px;
    top: -35px;
    width: 323px;
    height: 271px;
    background-size: cover;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
special_detail02
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.special_detail02 .eye_catching {
    height: 100%;
    margin-bottom: 40px;
}
.special_detail02 .eye_catching img {
    position: relative;
}
.special_detail02 .page_lead {
    margin-bottom: 40px;
}
.special_detail02 .related {
    padding-top: 60px;
    padding-bottom: 60px;
}
.special_detail02 .related .mod_label_panel .col_in a {
    position: relative;
    overflow: inherit !important;
    padding-bottom: 60px;
}
.special_detail02 .related .cat {
    position: absolute;
    z-index: 10;
    color: #20a0dc;
    font-size: 1.6rem;
    font-weight: bold;
    background: #fff;
    border: 2px solid #20a0dc;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    line-height: 1;
    padding: 10px 10px;
    left: 10px;
    top: -20px;
}
.special_detail02 .related .mod_label_panel.col_fit {
    overflow: inherit !important;
}
.special_detail02 .related .special_class {
    padding: 0 8px 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.special_detail02 .related .special_class dl {
    width: 100%;
}
.special_detail02 .related .special_class dd {
    border: 2px solid #20a0dc;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    color: #20a0dc;
    font-weight: bold;
    font-size: 1.4rem;
    padding: 3px 5px;
    margin-top: 4px;
}
.special_detail02 .related .special_class .special_grade dd {
    letter-spacing: -0.5px;
}
.special_detail02 .related .special_class .special_grade {
    -webkit-flex: 1;
    flex: 1;
}
.special_detail02 .related .special_class .special_grade dt img {
    width: 70px;
    display: block;
    letter-spacing: -0.5px;
}
.special_detail02 .related .special_class .special_day {
    padding-left: 8px;
    width: 65px;
}
.special_detail02 .related .special_class .special_day dt img {
    width: 53px;
    display: block;
}
.special_detail02 .related .special_class .special_day dd {
    text-align: center;
}

/*++++++++++++++++++++++++++++
special_con 
++++++++++++++++++++++++++++*/

.limg_centering_nomawarikomi_pcsp {
    display: table;
    margin-left: auto;
    margin-right: auto;
}
.limg_centering_nomawarikomi_pcsp figure {
    width: 220px;
    ;
    display: table-cell;
    vertical-align: top;
}
.limg_centering_nomawarikomi_pcsp figure img {
    width: 100%;
}
.limg_centering_nomawarikomi_pcsp .txt_block {
    display: table-cell;
    font-size: 2rem;
    padding-left: 15px;
    vertical-align: top;
}
.special_con .btn_detail a {
    border: 2px solid #20a0dc;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    color: #20a0dc;
    font-weight: bold;
    padding: 10px;
    margin-top: 4px;
    background: #ffff00;
    text-decoration: none;
    font-size: 2.6rem;
    position: relative;
    width: 100%;
    text-align: center;
    line-height: 1.5;
}
.special_con .btn_detail a .txt {
    position: relative;
    display: block;
    padding-right: 40px;
    margin-bottom: 5px;
    line-height: 1.4;
}
.special_con .btn_detail a .txt:before {
    border: 2px solid #20a0dc;
    -webkit-border-radius: 34px;
    -moz-border-radius: 34px;
    border-radius: 34px;
    color: #20a0dc;
    position: absolute;
    top: 50%;
    right: 0px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    width: 34px;
    height: 34px;
    content: "";
    background: #ffff00;
}
.special_con .btn_detail a .txt:after {
    color: #20a0dc;
    position: absolute;
    top: 50%;
    right: 5px;
    -webkit-transform: translate(0%, -50%);
    transform: translate(0%, -50%);
    content: "→";
    line-height: 1;
}
.special_con .btn_logo {
    display: block;
    text-align: right;
}
.special_con .btn_detail a:hover {
    opacity: 1;
    background: #ffff00;
}
.special_con .btn_detail.logo_narabi a span:before,
.special_con .btn_detail.logo_narabi a span:after {
    display: none;
}
.special_con .btn_detail.logo_narabi a .txt {
    text-align: left;
    padding-right: 1%;
}
.special_con .btn_detail.logo_narabi a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.special_con .btn_detail.logo_narabi .btn_logo img {
    vertical-align: baseline;
}
.special_con .btn_detail.logo_narabi.btn_logo {
    width: 19%;
}
.special_con .btn_detail.logo_narabi a .txt {
    -webkit-flex: 1;
    flex: 1;
}

/*++++++++++++++++++++++++++++
page_s100yen
++++++++++++++++++++++++++++*/

.page_s100yen_bnr {
    margin: 50px auto 0;
    display: block;
    width: 50%;
}
.page_s100yen_lead {
    text-align: center;
    margin-bottom: 3px;
}
.page_s100yen_btn {
    text-align: center;
}
p.page_s100yen_btn a {
    overflow: hidden;
    border: 1px solid #1e2586;
    display: inline-block;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
}
.page_s100yen_btn img {
    display: block;
}
.page_s100yen_txt {
    text-align: center;
    margin-top: 9px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sec_search_category
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.sec_search_category {
    position: relative;
    padding-top: 140px;
    padding-bottom: 150px;
    background: #e1f3f6;
    overflow: hidden;
}
.sec_search_category .husen.husen01 {
    background: url(/jiyuu/common/images/deco_04_bg.gif) right center repeat;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 135px;
    background-size: 40px;
}
.sec_search_category .husen.husen02 {
    background: url(/jiyuu/common/images/deco_04.png) right top no-repeat;
    position: absolute;
    right: 0;
    top: 0;
    width: 250px;
    height: 180px;
    background-size: contain;
}
.sec_search_category .husen.husen03 {
    background: #e1f3f6;
    position: absolute;
    left: 0;
    top: 0;
    height: 180px;
    background-size: contain;
    width: 98%;
    width: -webkit-calc(100% - 250px);
    width: calc(100% - 250px);
}
.sec_search_category .husen.husen04 {
    background: url(/jiyuu/common/images/deco_05.png) right top no-repeat;
    position: absolute;
    right: 0;
    top: 35%;
    width: 100%;
    height: 100%;
    background-size: contain;
}
.sec_search_category .husen.husen05 {
    background: url(/jiyuu/common/images/deco_06.png) center bottom repeat-x;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 640px;
    background-size: 1300px auto;
}
.sec_search_category .level_01 {
    margin-left: 140px;
    position: relative;
    margin-bottom: 20px;
    background: url(/jiyuu/common/images/shape_fukidashi.png) left top no-repeat;
    background-size: 180px 160px;
}
.sec_search_category .level_01 span {
    vertical-align: middle;
    height: 160px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}
.sec_search_category .level_01 .fukidashi {
    font-size: 1.6rem;
    width: 160px;
    position: absolute;
    justify-content: center;
}
.sec_search_category .level_01 .tl {
    padding-left: 195px;
}
.sec_search_category .level_01 + .col_02 h3 {
    margin-top: 0;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
}
.sec_search_category .col_02 > .col_in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-align-items: stretch;
    align-items: stretch;
    justify-content: space-between;
}
.sec_search_category .col_02 .btn {
    position: absolute;
    width: 100%;
    margin-top: 20px;
    bottom: 0;
    left: 0;
}
.sec_search_category .col_02 .btn a {
    height: 62px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sec_kansobun
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.sec_kansobun {
    position: relative;
    overflow: hidden;
}
.sec_kansobun .flow > li dl:first-of-type dd {
    background: url(/jiyuu/common/images/bookr_step01.png) right center no-repeat;
    background-size: contain;
}
.sec_kansobun .flow > li:nth-child(2) dl:first-of-type dd {
    background-image: url(/jiyuu/common/images/bookr_step02.png);
}
.sec_kansobun .flow > li:nth-child(3) dl:first-of-type dd {
    background-image: url(/jiyuu/common/images/bookr_step03.png);
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
sec_other
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.sec_other {
    position: relative;
    padding-top: 150px;
    padding-bottom: 150px;
    background: #e1f3f6;
    overflow: hidden;
}
.sec_other .husen.husen01 {
    background: url(/jiyuu/common/images/deco_10.png) center bottom no-repeat;
    position: absolute;
    left: 0;
    top: -60px;
    width: 100%;
    height: 289px;
    background-size: contain;
}
.sec_other .mod_label_panel figure {
    height: 250px;
}
.sec_other .mod_label_panel figure + dl > dt {
    background: none;
    color: #000;
    padding: 20px 17px 0px 17px;
}
.sec_other .mod_label_panel figure + dl > dd {
    padding-top: 5px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
side_nav
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.side_nav_wrap {
    overflow: hidden;
}
.side_nav_con {
	width: 100%;
    /*float: left;
    width: 850px;*/
}
.side_nav_side {
    float: right;
    width: 264px;
}
.side_nav_wrap .level_03 {
    text-align: center;
    margin-top: 40px;
}
.side_nav_wrap .mod_img_panel li + li {
    margin-top: 30px;
}
.side_nav_wrap aside {
    margin-top: 150px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
search_layout
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.search_layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.search_layout dt {
    color: #1fa0dc;
    font-weight: bold;
    font-size: 3rem;
    line-height: 1.6;
    text-align: right;
    width: 180px;
}
.search_layout dd {
    width: 1000px;
}
.search_layout ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}
.search_layout li {
    width: 24%;
}
.search_layout + .search_layout {
    margin-top: 50px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
search_word
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.search_word .level_02_big {
    margin-bottom: 40px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
howto_step
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.howto_step {
    margin-top: 75px;
    position: relative;
    height: 104px;
}
.howto_step li {
    position: absolute;
    top: 0;
    left: 0;
    width: 305px;
}
.howto_step li:nth-child(2) {
    left: 290px;
    width: 316px;
}
.howto_step li:nth-child(3) {
    left: 592px;
    width: 316px;
}
.howto_step li:nth-child(4) {
    left: 895px;
    width: 305px;
}
.howto_step a:hover {
    opacity: 1;
}
.howto_step li img {
    width: 100%;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
404
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.page_404 .lead_404 {
    text-align: center;
    margin-bottom: 35px;
}
.page_404 .form_404_block .form_404_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.page_404 .form_404_block input[type=text] {
    font-size: 3rem;
    padding: 7px 20px;
    flex: 1;
    margin-right: 20px;
}
.page_404 .form_404_block input[type="submit"] {
    width: 225px;
}
.page_404 .sitemap_404 a {
    text-decoration: none;
}
.page_404 .sitemap_404 .level_02 {
    margin-top: 0;
    margin-bottom: 25px;
}
.page_404 .sitemap_404 h2 + section .level_03:first-child {
    margin-top: 0;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
space_page 
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.space_page {
    background: url(/jiyuu/common/images/space_bg.jpg) center top repeat #001031;
    padding-bottom: 150px;
    background-size: 1500px;
}
.space_page .space_lead {
    font-size: 2rem;
    color: #1ea0dc;
    margin-top: 0;
    margin-bottom: 40px;
}
.space_page .space_lead .btn a {
    background-image: none !important;
    padding: 11px 20px;
}
.space_page .cat_btn_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.space_page .cat_btn_area li {
    width: 47.5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.space_page .cat_btn_area li:nth-child(2n) {
    margin-left: 5%;
}
.space_page .cat_btn_area li + li:not(:nth-child(1)):not(:nth-child(2)) {
    margin-top: 50px;
}
.space_page .cat_btn_area li a {
    width: 100%;
    font-size: 2.5rem;
    line-height: 1.4;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    min-height: 125px;
    padding: 15px 20px;
}
.space_page .cat_btn_area li a:before {
    position: absolute;
    content: "";
    right: 0px;
    top: 0;
    width: 100%;
    height: 100%
}
.space_page .cat_btn_area li.space_btn_bg01 a:before {
    background: url(/jiyuu/common/images/space_icon01.png) right 20px center no-repeat;
    background-size: 121px auto;
}
.space_page .cat_btn_area li.space_btn_bg02 a:before {
    background: url(/jiyuu/common/images/space_icon02.png) right 20px center no-repeat;
    background-size: 121px auto;
}
.space_page .cat_btn_area li.space_btn_bg03 a:before {
    background: url(/jiyuu/common/images/space_icon03.png) right 20px center no-repeat;
    background-size: 121px auto;
}
.space_page .cat_btn_area li a p {
    display: block;
    width: 100%;
    position: relative;
}
.space_page .space_btn {
    text-align: center;
}
.space_page .space_btn a {
    border: 1px solid #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding-bottom: 5px;
    padding: 27px 26px;
    background: none;
    display: inline-block;
}
.space_page .space_btn img {
    width: 271px;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
event_map_area 
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.event_map_area .eventmap_tiiki dt {
    color: #20a0dc;
    font-weight: bold;
    font-size: 3rem;
}

/***************************************************************************************
------------------------------
pagetop / footer
------------------------------
*****************************/
.pagetop {
    z-index: 1000;
    position: fixed;
    right: 0;
    bottom: 72px;
    width: 126px;
    height: 112px;
    background: url("../img/pagetop_bg.png") left top no-repeat;
    background-size: contain;
    padding: 26px 27px;
}
.pagetop img {
    width: 61px;
    transition: transform 1.5s;
}

.pagetop img:hover {
    -webkit-transform: rotate(720deg);
    transform: rotate(720deg);
}

footer {
    border-top: 10px solid #1ea0dc;
    margin-top: 20px;
    padding: 0 0 15px;
}
footer .inner {
	width: 1000px;
	padding: 0;
}
footer .pr.pr_con_txt {
    margin-top: 50px;
}
footer .nav {
    margin-top: 40px;
}
footer .nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}
footer .nav ul li {
    width: 33%;
    width: -webkit-calc(100% / 3);
    width: calc(100% / 3);
    margin-bottom: 3px;
}
footer .nav a {
    color: #000;
    text-decoration: none;
}
footer .copyright {
    border-top: 1px solid #000;
    margin-top: 17px;
    padding-top: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    align-items: center;
}
footer .copyright .small {
    margin-right: auto;
}
footer .copyright .gakken {
    line-height: 1;
    margin-left: 10px;
}
footer .copyright .gakken img {
    width: 120px;
}