/* ------------------------------------------------------------------------------------------
共通設定
------------------------------------------------------------------------------------------ */

#syokuiku {
    margin: 0 auto;
    overflow: hidden;
    font-family: 'メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;

}

#syokuiku a {
    display: inline-block;
    text-decoration: none;
    font-size: 16px;
}

#syokuiku .wrap {
    margin: 25px 0 0;
}

#syokuiku .main h1 {
    width: 1000px;
    font-size: 34px;
    border-left: #c30d23 2px solid;
    padding: 13px 0 9px 15px;
    margin: 0 auto 30px;
    color: #000;
}

.wrap .main p,
.wrap .main ul,
.wrap .main ol,
.wrap .main dl {
    color: #333;
    font-size: 16px;
    line-height: 1.6;
}

.wrap .main .tit {
    width: 1024px;
    text-align: left;
    margin: 0 auto 30px;
}

/* ---------------ぱんくず--------------- */

#syokuiku .pankuzu {
    width: 1024px;
    margin: 20px auto 0;
    text-align: left;
}

#syokuiku .pankuzu li,
#syokuiku .pankuzu li a,
#syokuiku_top .pankuzu li,
#syokuiku_top .pankuzu li a {
    display: inline-block;
    color: #333333;
    font-size: 14px;
    text-decoration: none;
    position: relative;
    padding: 0 20px 0 0;
}

#syokuiku .pankuzu li a::after,
#syokuiku_top .pankuzuli a::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 1px #333333;
    border-right: solid 1px #333333;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 3px;
    right: -20px;
    margin: 0 20px;
}

#syokuiku .pankuzu li:last-child:after,
#syokuiku_top .pankuzu li:last-child:after {
    content: none;
}

#syokuiku .pankuzu li a:hover,
#syokuiku_top .pankuzu li a:hover {
    text-decoration: underline;
}


/* ---------------メインメニュー--------------- */

#syokuiku .main img {
    width: 100%;
    text-align: center;
    display: block;
}

/* --赤いエリア-- */
#syokuiku .main .wrap {
    background: #fff5f5;
    padding: 40px 0 30px;
}

#syokuiku .main .wrap .title_area {
    width: 1024px;
    margin: 0 auto;
    padding: 20px 0;
    overflow: hidden;
}

#syokuiku .main .wrap .title_area .txt {
    text-align: center;
    width: 520px;
    float: left;
    margin: 20px 0 0;
}

#syokuiku .main .wrap .title_area h2 {
    font-size: 34px;
    margin: 0 0 30px;
    position: relative;
    display: inline-block;
    padding: 0 25px;
}

h2:before,
h2:after {
    content: '';
    position: absolute;
    top: 40%;
    display: inline-block;
    width: 35px;
    height: 1px;
    background-color: black;
}

h2:before {
    left: 0;
}

h2:after {
    right: 0;
}

#syokuiku .main .wrap .title_area .img {
    width: 470px;
    float: right;
}

#syokuiku .main .wrap .title_area .img img {
    width: 100%;
}

#syokuiku .main .wrap .title_area p {
    line-height: 2.0;
}

/* --コンテンツエリア-- */

#syokuiku .main .contents {
    overflow: hidden;
    width: 1024px;
    margin: 20px auto;
}

#syokuiku .main .contents > li {
    background: #fff;
    width: 512px;
    float: left;
    border: 1px dashed #f98a9c;
    padding: 20px;
    box-sizing: border-box;
    height: 1100px;
}

#syokuiku .main .contents > li:last-child {
    border-left: none;
}

#syokuiku .main .contents > li {
    background: #fff;
    width: 512px;
    float: left;
    border: 1px dashed #f98a9c;
    padding: 20px;
    box-sizing: border-box;
}

#syokuiku .main .contents .num {
    color: #c30d23;
    text-align: center;
    margin: 10px 0;
}

#syokuiku .main .contents .tit {
    background: #c30d23;
    color: #fff;
    width: 100%;
    padding: 4px 0;
    margin: 5px 0 20px;
    border-radius: 50px;
    text-align: center;
}

#syokuiku .main .contents .txt {
    height: 180px;
}

#syokuiku .main .contents .border {
    border-top: 2px solid #c30d23;
    border-bottom: 1px solid #c30d23;
    color: #c30d23;
    text-align: center;
    padding: 10px 0;
    margin: 20px 0 25px;
}

#syokuiku .main .dotto {
    height: 320px;
}

#syokuiku .main .dotto li {
    position: relative;
    padding: 0 20px 0 1.5em;
    margin: 0 0 10px;
}

#syokuiku .main .dotto li:last-child {
    margin: 0;
}

#syokuiku .main .dotto li::after {
    position: absolute;
    top: 10px;
    left: 0;
    background: #ffdcdc;
    transform: translateY(-50%);
    content: '';
    width: 10px;
    height: 10px;
    border: solid 1px #c30d23;
    border-radius: 100%;
}

#syokuiku .main .contents li:first-child img {
    width: 280px;
    margin: 0 auto;
}

#syokuiku .main .contents li:last-child img {
    width: 410px;
    margin: 0 auto;
}


#syokuiku .demo{
    width:984px;
    margin:50px auto;
    padding:20px;
    text-align:center;
    font-size:16px;
    border: 1px solid #bf2121;
    
}


/* --戻るボタン-- */
#syokuiku .main .back {
    width: 710px;
    margin: 30px auto;
    overflow: hidden;
}

#syokuiku .main .back li a {
    width: 300px;
    display: block;
    background: #8BA0AD;
    color: #fff;
    border-radius: 50px;
    padding: 20px;
    text-align: center;
    float: left;
    position: relative;
}

#syokuiku .main .back li a:before {
    content: '';
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 26px;
    left: 0px;
    margin: 0 20px;
}

#syokuiku .main .back li:first-child a {
    margin: 0 30px 0 0;
}

#syokuiku .main .back a:hover {
    text-decoration: none;
    opacity: 0.6;
    transition: 0.5s;
}

/* ------------------------------------------------------------------------------------------
SP
------------------------------------------------------------------------------------------ */

@media only screen and (max-width: 767px) {
    #syokuiku {
        width: 100%;
    }

    #header {
        border-bottom: 1px solid #D51E13;
    }

    #syokuiku .wrap {
        margin: 20px 0 0;
    }

    #syokuiku .pankuzu li,
    #syokuiku .pankuzu li a,
    #syokuiku_top .pankuzu li,
    #syokuiku_top .pankuzu li a {
        padding: 0 10px 0 0;
    }

    /* ---------------メインカラム--------------- */

    #syokuiku .main {
        width: 100%;
        margin: 0 auto 30px;
        float: none;
    }

    #syokuiku .main h1 {
        width: 90%;
        margin: 0 auto 20px;
    }

    #syokuiku .main img {
        width: 100%;
    }

    .wrap .main .tit {
        width: 90%;
    }


    /* --赤いエリア-- */
    #syokuiku .main .wrap {
        margin: 0 0 50px;
        padding: 20px 0 30px;
    }

    #syokuiku .main .wrap .title_area {
        width: 100%;
    }

    #syokuiku .main .wrap .title_area .txt {
        width: 100%;
        float: none;
    }

    #syokuiku .main .wrap .title_area h2 {
        font-size: 24px;
        letter-spacing: -1px;
    }

    h2:before,
    h2:after {
        content: '';
        position: absolute;
        top: 40%;
        display: inline-block;
        width: 20px;
        height: 1px;
        background-color: black;
    }


    #syokuiku .main .wrap .title_area .img {
        width: 100%;
        float: none;
    }

    #syokuiku .main .wrap .title_area .img img {
        width: 90%;
        margin: 20px auto 0;
    }

    /* --コンテンツエリア-- */

    #syokuiku .main .contents {
        width: 90%;
    }

    #syokuiku .main .contents > li {
        width: 100%;
        float: left;
        height: auto;
    }

    #syokuiku .main .contents > li:first-child {
        margin: 0 0 30px;
    }

    #syokuiku .main .contents > li:last-child {
        border: 1px dashed #f98a9c;
    }


    #syokuiku .main .contents > li {
        width: 100%;
        float: none;
    }

    #syokuiku .main .contents .txt {
        height: auto;
    }

    #syokuiku .main .dotto {
        height: auto;
    }

    #syokuiku .main .contents li:first-child img {
        width: 60%;
        margin: 20px auto;
    }

    #syokuiku .main .contents li:last-child img {
        width: 100%;
        margin: 0 auto;
    }
    
    #syokuiku .demo{
    width:80%;
    margin:10px auto 20px auto;
    padding:5%;
    text-align:left;
    font-size:16px;
    border: 1px solid #bf2121;
    
}

    /* --ホームページリンク-- */
    #syokuiku .main .page {
        width: 80%;
        margin: 20px auto 50px;
    }

    /* --戻るボタン-- */
    #syokuiku .main .back {
        width: 100%;
        margin: 0 auto;
        overflow: hidden;
    }

    #syokuiku .main .back li {
        margin: 0 0 30px;
    }

    #syokuiku .main .back li a {
        width: 80%;
        margin: 0 auto;
        float: none;
    }

    #syokuiku .main .back li:first-child a {
        margin: 0 auto;
    }

    /* ---------------ぱんくず--------------- */

    #syokuiku .pankuzu {
        text-align: left;
        margin: 20px 0 0 10px;
    }

    #syokuiku .pankuzu li,
    #syokuiku .pankuzu li a {
        font-size: 14px;
    }

    #syokuiku .pankuzu li a::after,
    #syokuiku_top .pankuzuli a::after {
        content: '';
        width: 6px;
        height: 6px;
        border: 0px;
        border-top: solid 1px #333333;
        border-right: solid 1px #333333;
        -ms-transform: rotate(45deg);
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        position: absolute;
        top: 5px;
        right: -20px;
        margin: 0 20px;
    }

}

@media print {
    @page {
        margin: 19.05mm;
    }

    body {
        width: 1500px;
        transform: scale(0.5, 0.5);
        transform-origin: left top;
        overflow: visible !important;
        -webkit-print-color-adjust: exact;
    }
}