@charset "utf-8";
/* バーガーアイコン */
#sp_icon {
    display: none;
}

/* =============================
================================
           タブレット
================================
================================ */
@media screen and (max-width: 768px) {
div {
    box-sizing: border-box;
}

div#wrapper {
    width: 98%;
    margin: 0 auto;
}

/* --------------
　　　  ヘッダ
---------------- */
div#head {
    width: 100%;
    height: 220px;
    overflow: hidden;
}

/* ユーティリティ */
ul#head_navi {
    width: 175px;
    left: auto;
    right: 0;
    top: 48px;
}

ul#head_navi li {
    float: none;
    margin-bottom: 5px;
}

/* ナビゲーション */
#gnavi {
    position: absolute;
    top: 135px;
    left: 0;
    width: 100%;
    height: auto;
}

div#gnavi ul {
    overflow: hidden;
    width: 100%;
    height: auto;
}

div#gnavi li {
    width: 25%;
    height: auto;
}

div#gnavi li a#gnavi_01,
div#gnavi li a#gnavi_02,
div#gnavi li a#gnavi_03,
div#gnavi li a#gnavi_04 {
    box-sizing: border-box;
    width: 100%;
    height: 75px;
    padding: 10px;
    background: url(../images/gnavi_arrow.png) no-repeat right 5px bottom 5px;
    text-indent: 0;
    color: #fff;
    text-align: center;
    font-size: 18px;
    text-decoration: none;
}

div#gnavi li a#gnavi_01 {
    background-color: #6eb92b;
}

div#gnavi li a#gnavi_01:hover {
    background-color: #93e945;
}

div#gnavi li a#gnavi_02 {
    background-color: #00a0e9;
}

div#gnavi li a#gnavi_02:hover {
    background-color: #4fc6fc;
}

div#gnavi li a#gnavi_03 {
    padding-top: 25px;
    background-color: #f6ab00;
}

div#gnavi li a#gnavi_03:hover {
    background-color: #fdcb5a;
}

div#gnavi li a#gnavi_04 {
    padding-top: 25px;
    background-color: #fb73c0;
}

div#gnavi li a#gnavi_04:hover {
    background-color: #fcafda;
}

/* 下階層メインイメージ */
div#main_img img{
    width: 100%;
    height: auto;
}

/*　-----------------------
      #left_wrapper
     ローカルナビゲーション
--------------------------*/
div#left_wrapper, div#lnavi {
    box-sizing: content-box;
}

/*　-----------------------
     #right_wrapper
        メイン領域
--------------------------*/
div#right_wrapper {
    width: 480px;
    overflow-x: scroll;  /* はみ出しへの処置 */
}

div#right_wrapper h2, div#right_wrapper h3, div.contents_set {
    box-sizing: border-box;
    width: 100%;
}

/* インデックス階層 */
div.index_set {
    width: 45%;
    padding-top: 10px;
    border: 1px solid #ccc;
    border-radius: 3px;
}

div.index_set:nth-of-type(2n) {
    margin-left: 15px;
}

div.index_set img {
    width: 100%;
    height: auto;
}

div.index_set p {
    box-sizing: border-box;
    width: 100%;
    padding: 0 5px;
}

div.index_set_middle {
    background: none;
}

.index_set_head, .index_set_bottom {
    display: none;
}

/* ---------
　　 下位層
----------- */
div.contents_set {
    margin-left: 0;
}

/* みんぐる一覧 */
.postid-58 div.contents_set table td img {
    width: 110px;
    height: auto;
}

/* 高校につながった子どもたちの声 */
.postid-2124 div#right_wrapper img {
    width: 100%;
    height: auto;
}

/*　-----------------------
       #left_wrapper
     トップページ メイン領域
--------------------------*/
.home div#left_wrapper {
    box-sizing: border-box;
    float: none;
    width: 100%;
    margin: 10px auto 30px auto;
}

.home #index_big_banner img {
    width: 100%;
    height: auto;
}

.home #index_small_banner_l {
    margin-left: 30px;
}

.home #index_small_banner_r {
    margin-right: 30px;
}

.home div#news {
    width: 100%;
}

.home .news_set {
    width: 32%;
    margin-right: 2%;
}

.home .news_set:last-child {
    margin-right: 0;
}

.home div#news h2 {
    width: 100%;
}

.home .news_set {
    padding: 10px 10px 20px 10px;
    height: auto;
    min-height: 200px;
}

.home .news_set img {
    width: 100%;
    height: auto;
}

/*　---------------------------
         #right_wrapper
     トップページ サブインフォ／バナー
-------------------------------*/
.home div#right_wrapper {
    float: none;
    width: 100%;
    margin: 0 auto;
}

.home #s_contents_01 {
    float: left;
}

.home #s_contents_01 img {
    width: 100%;
    height: auto;
}

.home div#main_banner {
    display: none;
}

.home div#sub_banner {
    width: 500px;
    float: right;
    margin: 0;
}

.home div#sub_banner ul {
    overflow: hidden;
}

.home div#sub_banner li {
    width: 49%;
    float: left;
    margin-left: 2%;
}

.home div#sub_banner li:nth-child(2n+1) {
    margin-left: 0;
    clear: left;
}

.home div#sub_banner li img {
    width: 100%;
}

/* フッタ */
div#foot_01, div#foot_02, div#foot_03 {
    width: 100%;
    padding-left: 2%;
}

div#foot_03 a:nth-of-type(2) {
    padding-left: 0;
    padding-right: 20px;
}

div#foot_01 ul.set_03 {
    width: 20%;
}

} /* end of mediaquery for Tablet */


/* =============================
================================
           スマートフォン
================================
================================ */
@media screen and (max-width: 480px) {

body {
    font-size: 14px;
}

div#wrapper {
    width: 100%;
    overflow: hidden;
}

/* --------------
　　　  ヘッダ
---------------- */
div#head {
    height: 120px;
    overflow: visible;
}

div#head h1 {
    width: 78%;
    height: 80px;
    margin-left: 5px;
    margin-top: 15px;
    background-image: url(../images/h1_nintei_sp.png);
    background-position: left bottom;
    background-size: contain;
}

div#head h1 a {
    width: 100%;
    height: 100%;
}

/* バーガーアイコン */
#sp_icon {
    display: block;
    width: 45px;
    height: 52px;
    background-image: url(../images/sp_icon.svg);
    background-repeat: no-repeat;
    position: absolute;
    top: 46px;
    right: 8px;
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    background-color: #fff;
}

ul#head_navi, div#gnavi {
    display: none;
}

.icon_open {
    background-position: 4px 2px;
}

.icon_close {
    background-position: -45px 2px;
}

/*　ナビゲーション　*/
ul#head_navi {
    width: 100%;
    height: auto;
    z-index: 1001;
    top: 350px;
}

ul#head_navi li {
    text-indent: 0;
    text-align: center;
    margin-bottom: 0;
}

ul#head_navi li a {
    background: none;
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    padding-top: 15px;
    border-bottom: 1px solid #838603;
    color: #fff;
    background: url(../images/gnavi_arrow.png) no-repeat right 5px bottom 5px;
    background-color: #939601;
    text-decoration: none;
    font-size: 16px;
}

ul#head_navi li:last-of-type a {
    border-bottom: none;
    box-shadow: 0 8px 5px rgba(0,0,0,0.3);
}

div#gnavi {
    z-index: 1000;
    top: 110px;
}

div#gnavi li {
    width: 100%;
    float: none;
}

div#gnavi li a#gnavi_01,
div#gnavi li a#gnavi_02,
div#gnavi li a#gnavi_03,
div#gnavi li a#gnavi_04  {
    height: 60px;
    padding-top: 15px;
}

/*　--------------　
       フッタ
-----------------　*/
div#foot {
    margin-top: 0;
}

div#foot_01 {
    display: none;
}

div#foot_02 {
    margin-top: 0;
}

div#foot_03 {
    padding-right: 2%;
}

div#foot_03 br {
    display: block;
}

div#foot_03 a:nth-of-type(2) {
    padding-right: 0;
}

/* -----------------
    トップページ　フッタ
-------------------　*/
.home div#foot_01 {
    display: block;
    padding-right: 2%;
}

.home div#foot_01 h1 {
    width: 90%;
    min-width: 300px;
    margin-left: auto;
    margin-right: auto;
    background-size: contain;
}

.home div#foot_01 ul#language {
    display: none;
}

.home div#foot_01 ul.set_01,
.home div#foot_01 ul.set_02,
.home div#foot_01 ul.set_03,
.home div#foot_01 ul.set_04,
.home div#foot_01 ul.set_05,
.home div#foot_01 ul.set_06 {
    float: none;
    width: 100%;
    margin-top: 0;
    margin-bottom: 10px;
}

/*　----------------　
       メイン領域
-------------------　*/
div#main_img {
    display: none;
}

ul#bread {
    padding: 12px 5px 10px 10px;
    /*background-color: #efefef;*/
    /*border-top: 2px solid #dddddd;*/
    margin-bottom: 15px;
}

ul#bread li a {
    background-position: right 5px;
}

/* #left_wrapperと#right_wrapperのを上下入替 */
.flex {
    display: flex;
    flex-direction: column-reverse;
}

div#right_wrapper {
    width: 100%;
    padding: 0 10px;
}

div#right_wrapper h2 {
    display: none;
}

div.index_set,
div.index_set:nth-of-type(2n) {
    margin-left: 0;
}

div.index_set {
    width: 100%;
    float: none;
}

div#left_wrapper {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10px;
    border: 10px solid #eee;
    margin-bottom: 0;
}

div#lnavi {
    width: 100%;
    border: none;
    padding: 20px 0;
    margin-bottom: 0;
}

div#lnavi li.lnavi_sub a {
    background-position: 0 5px;
}

div#main_banner,
div#rnavi,
div#sub_banner {
    display: none;
}

/*-----------------------
     トップページ メイン領域
-------------------------*/
.home div#left_wrapper {
    border: none;
    margin-bottom: 0;
}

.home #index_small_banner_l,
.home #index_small_banner_r {
    float: none;
    text-align: center;
    margin: 10px;
}

.home #index_small_banner_l img,
.home #index_small_banner_r img {
    width: 100%;
    height: auto;
}

.home div#news {
    width: 100%;
    padding: 0 2%;
}

.home div#news h2 {
    font-size: 16px;
    text-align: center;
    text-indent: 0;
    height: auto;
    line-height: 2;
    background: none;
}

.home .news_set {
    width: 100%;
    height: auto;
    min-height: auto;
    padding: 30px 5px 0 5px;
    margin-bottom: 20px;
    overflow: hidden;
    border: none;
}

.home .news_set > p:first-of-type {
    display: none;
}

.home .news_set > p:first-of-type img {
    width: 100%;
    height: auto;
}

.home  .news_cat {
    right: auto;
    left: 0;
    top: 0px;
    border-radius: 0;
}

.home .news_time {
    right: auto;
    bottom: auto;
    left: 70px;
    top: 5px;
}

.home #index_facebook {
    display: none;
}

.home div#rnavi {
    float: none !important;
}

.home #s_contents_01 {
    float: none;
    width: 100%;
}

.home .s_kakomi {
    width: 100%;
    border: none;
}

.home .s_kakomi p {
    text-align: center;
}

.home .s_kakomi p:nth-of-type(2) {
    width: 93%;
}

.home div#sub_banner {
    width: 100%;
}

.home div#sub_banner {
    display: block;
}

} /* end of mediaquery for Smart Phone */
