/* ----------------------------------------------------------------------
common
---------------------------------------------------------------------- */

/*
common
-------------------------------------------------- */
* {
    box-sizing: border-box;
}

html {
    font-size: 62.5%;
}

body {
    margin: 0;
    padding: 0;
    line-height: 2.2em;
    color: #333;
    font-size: 10px;
    font-size: 1.0rem;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Trebuchet MS", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img {
    line-height: 0;
    max-width:100%;
    height:auto;
}

a {
    text-decoration: none;
    font-size: 1.4rem;
    color: #333;
}

p {
    font-size: 1.4rem;
}

li {
    list-style-type: none;
    font-size: 1.4rem;
}

p span,
a span,
li span {
    font-family:"Trebuchet MS";
}

em {
    font-style: normal;
}

.note {
    text-align:right;
}

small {
    font-size: 0.8rem;
    line-height: 1em;
    display: inline-block;
}

.spBr {
    display: none;
}

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

@media screen and (max-width: 400px) {
    .pcBr {
        display: none;
    }

    .spBr {
        display: block;
    }
}

/*
button
-------------------------------------------------- */
.bBtn {
    border: 1px solid #333;
    display: block;
    padding: 10px 40px 10px 20px;
    font-size: 1.3rem;
    position: relative;
    transition: 0.5s;
}

.bBtn {
    background: url(/special/meets/img/co_ar_01.png) no-repeat 96% center;
    background-size:7px auto;
    transition:0.5s;
}

.bBtn:hover {
    background:#e0d12d url(/special/meets/img/co_ar_02.png) no-repeat 96% center;
    background-size:7px auto;
    border:1px solid #e0d12d;
    color:#fff;
}

.bBtn:hover a {
    color:#fff;
}

.bBtn:hover:after {
    /*content: url(/special/meets/img/co_ar_02.png);*/
}

.wBtn {
    border: 1px solid #fff;
    color:#fff;
    display: block;
    padding: 5px 40px 5px 20px;
    font-size: 1.3rem;
    position: relative;
    transition: 0.5s;
}

.wBtn:after {
    content: url(/special/meets/img/co_ar_02.png);
    width: 11px;
    height: 11px;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -10px;
}

.wBtn:hover {
    background:#e0d12d;
}

@media screen and (max-width: 768px) {
    .bBtn {
        font-size:1.2rem;
        padding: 5px 27px 5px 20px;
    }

    .slicknav_nav ul a.bBtn {
        font-size:1.2rem;
    }
}



.popup-modal-dismiss {
    border: 1px solid #333;
    display: block;
    padding: 5px 20px 5px 20px;
    text-align:center;
    font-size: 1.3rem;
    position: relative;
    transition: 0.5s;
    width:150px;
    margin:0 auto 10px;
}

/*
layout
-------------------------------------------------- */
.container {
    margin: 0 auto;
    max-width: 1200px;
    width: 92%;
}

@media screen and ( max-width:1200px) {
    .container {
        max-width:90%;
    }
}

@media screen and ( max-width:440px) {
    .container {
        width:88%;
    }
}

@media screen and ( max-width:340px) {
    .container {
        width:94%;
    }
}

/*
header
-------------------------------------------------- */
header {
    border-top:7px solid #011135;
}

header .inner {
    padding-top:20px;
    position:relative;
}

header .container {
    padding: 7px 0 0;
}

header h1 {
    display: inline-block;
    line-height: 0;
    position: absolute;
    left: 10px;
    top:0;
}

header .navBox {
    float: right;
}

header .bBtn {
    padding: 3px 27px 3px 20px;
}

@media screen and ( max-width:768px) {
    header h1 {
        z-index:1100;
        width:270px;
    }
}

@media screen and ( max-width:500px) {
    header h1 {
        z-index:1100;
        width:230px;
    }
}

/*
gnav
------------------------------ */

header .gnav {
    display: inline-block;
}

header .gnav li {
    display: inline-block;
    margin:0 0 0 12px;
}


header .gnav li:last-child::after {
    content: "";
}

header .gnav a {
    display: inline-block;
    text-align: center;
    font-size: 1.1rem;
    line-height: 1.2em;
    margin: 0 6px;
    transition: 0.5s;
}

header .gnav a:hover {
    color: #e0d12d;
}

header .gnav li:last-child a {
    margin-right: 0;
}

header .gnav a span {
    font-size: 1.3rem;
    letter-spacing: 0.2em;
    display: block;
}

header .gnav p {
    display:none;
}

.slicknav_menu {
    display:none;
}


.pc .gnav .bBtn:hover {
    background:#e0d12d url(/special/meets/img/co_ar_02.png) no-repeat 96% center;
    border:1px solid #e0d12d;
    background-size: 7px auto;
    color:#fff;
}

.gnav .exbtn a:after {
    margin-top: -5px;
}

@media screen and ( max-width:960px) {
    .snav .bBtn {
        display:none;
    }
    .slicknav_menu {
        display:block;
        background:none;
        position:absolute;
        z-index:1000;
        width:100%;
        /*top:37px;*/
        padding:5px 0;
    }

    .slicknav_menu .slicknav_icon-bar {
        display: block;
        height: 2px;
        width:100%;
        background: #333;
        left: 0;
        -webkit-transition: .35s ease-in-out;
        -moz-transition: .35s ease-in-out;
        transition: .35s ease-in-out;
    }

    .slicknav_btn {
        background:#fff;
        margin-bottom:0;
        padding:2px 8px 0;
        width: 50px;
        height: 39px;
    }

    .slicknav_btn .slicknav_icon-bar + .slicknav_icon-bar {
        margin-top:5px;
    }

    .slicknav_menu .slicknav_menutxt {
        font-weight:normal;
        font-size:1.1rem;
        color:#333;
        text-shadow:none;
        position:absolute;
        bottom:0;
        left:10px;
    }


    .slicknav_nav {
        width:100%;
        background:#efefef;
    }

    .slicknav_nav .exbtn {
        text-align:center;
        background:#333;
    }

    .slicknav_nav .exbtn a {
        display:block;
        color:#fff;
        border:none;
        margin:0;
        padding:10px;
    }


    .slicknav_nav .exbtn a {
        background: url(/special/meets/img/co_ar_02.png) no-repeat 95% center;
        background-size:7px;
    }

    .slicknav_nav ul {
        margin:0;
        width:100%;
        background:#efefef;
    }

    .slicknav_nav ul li {
        border-bottom:1px solid #ddd;
    }

    .slicknav_nav ul li:first-child {
        border-top:1px solid #ddd;
    }

    .slicknav_nav ul a {
        color:#333;
        font-size:1.1rem;
        text-align:center;
        padding:7px 5px;
    }

    .slicknav_nav ul a span {
        font-size:1.3rem;
        margin-right:10px;
        letter-spacing:0.1em;
        padding-left:20px;
        background:url(/special/meets/img/co_ar_01.png) no-repeat left -3px;
        background-size:7px;
    }

    .slicknav_menu .slicknav_open .slicknav_icon-bar:nth-child(1) {
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
        margin-top:12px;
    }
    .slicknav_menu .slicknav_open .slicknav_icon-bar:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .slicknav_menu .slicknav_open .slicknav_icon-bar:nth-child(3) {
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
        margin-top:-8px;
    }

    .navBox {
        display:none;
    }

    .bBtn:after {
        margin-top:-11px;
    }

    .slicknav_nav ul a.bBtn {
        font-size:1.3rem;
    }

    .slicknav_nav ul a.bBtn span {
        display:none;
    }
}

/*
snav
------------------------------ */
header .snav {
    margin-bottom: 7px;
    text-align: right;
}

header .snav li {
    display: inline-block;
}

header .snav li:last-child {
    margin-left:5px;
}

@media screen and ( max-width:960px) {
    header .snav {
        padding-bottom:44px;
    }
}

/*
cocSec
-------------------------------------------------- */
#cocSec {
    text-align: center;
    padding:70px 0 70px;
}

#cocSec h3 {
    font-size: 2.2rem;
    margin-bottom: 30px;
    letter-spacing:0.1em;
}

.coclogo {
    width:230px;
    margin:0 auto 20px;
}

@media screen and ( max-width:400px) {
    #cocSec h3 {
        font-size:1.8rem;
    }

    #cocSec p {
        font-size:1.3rem;
        text-align:left;
    }

    #cocSec .coclogo {
        text-align:center;
    }

    #cocSec h3 {
        letter-spacing:0.07em;
    }
}


/*
articleSec
-------------------------------------------------- */
#articleSec {
    width:94%;
    margin:0 auto;
}

#articleSec .articleBox li {
    width: 33%;
    box-sizing: border-box;
    padding: 10px;
    margin-right:0.5%;
}

#articleSec .articleBox li:nth-child(3n){
    margin-right:0;
}

#articleSec .articleBox li article {
    position:relative;
}

#articleSec .articleBox li .thumb {
    line-height: 0;
    position: relative;
}

#articleSec .articleBox li .thumb p {
    line-height: 0.7em;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 20px;
    padding-top: 10px;
    font-weight: bold;
    font-size: 2rem;
}

#articleSec .articleBox li .thumb p em {
    font-size: 6rem;
    margin-right: 5px;
    /*font-style:italic;*/
    letter-spacing: -0.07em;
}

#articleSec .articleBox li.coc .thumb p {
    color:#004794;
}

#articleSec .articleBox li.school .thumb p {
    color:#3DD2CC;
}

#articleSec .articleBox li img {
    max-width: 100%;
    height: auto;
}

#articleSec .articleBox li.article-block {
    display: block;
    opacity: 1;
    -webkit-animation: show .5s linear 0s forwards;
    animation: show .5s linear 0s forwards;
}

#articleSec .articleBox li a {
    display: block;
}

.pc #articleSec .articleBox li a {
    transition:0.5s;
}

.pc #articleSec .articleBox li.coc a:hover {
    color: #0049bb;
}

.pc #articleSec .articleBox li.school a:hover {
    color:#3DD2CC;
}

#articleSec .articleBox li .txt {
    background: #fff;
    padding:12px 19px 15px;
    box-shadow: 0 3px 10px rgba(140,140,140,0.2);
    border-radius:0 0 5px 5px;
}

#articleSec .articleBox li .txt:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    border-width: 25px 25px 0 0; /* This trick side-steps a webkit bug */
    border-style: solid;
    border-color: #dfdfdf #efefef #efefef #dfdfdf; /* A bit more verbose to work with .rounded too */
    display: block;
    width: 0; /* Only for Firefox 3.0 damage limitation */
    /* Optional: shadow */
}

#articleSec .articleBox li.coc .txt {
    border-top: 4px solid #004794;
}

#articleSec .articleBox li.new .hd {
    padding-left:42px;
    position:relative;
}

#articleSec .articleBox li.new .hd:before {
    content:url(/special/meets/img/co_ic_02.png);
    width:37px;
    height:37px;
    display:inline-block;
    position:absolute;
    left:0;
    top:-10px;
}

#articleSec .articleBox li.school .txt {
    border-top: 4px solid #3DD2CC;
}

#articleSec .articleBox li a h2 em {
    font-size: 3rem;
    margin-right: 10px;
}

.articleDetail {
    text-align: center;
    margin-bottom: 30px;
    display: none;
}

.articleDetail.article-block {
    display: block;
}


.hd {
    padding-bottom:5px;
    margin-bottom:5px;
    border-bottom:1px dashed #ededed;
}

.articleBox .content p.update {
    color: #aaa;
    font-size: 1.1rem;
    line-height: 1em;
    margin-top:7px;
    letter-spacing:0.01em;
}

.articleBox article h2 {
    /*font-size: 1.3rem;*/
    font-size:1.5rem;
    display: inline-block;
}

.articleBox .coc article h2 {
    color: #004794;
}

.articleBox .school article h2 {
    color: #3DD2CC;
}

.articleBox .content p {
    font-size:1.3rem;
    line-height:1.5em;
}

.articleBox .content p.aBtn {
    font-size: 1.2rem;
    font-weight: normal;
    text-align: center;
    margin-top: 15px;
}

.articleBox .content p.aBtn em {
    position: relative;
    transition:0.5s;
    padding: 2px 20px 2px 10px;
    display: inline-block;
}

.articleBox .coc .content p.aBtn em {
    border: 1px solid #004794;
    color: #004794;
}

.articleBox .coc .content p.aBtn em:after {
    content: url(/special/meets/img/co_ar_04.png);
    width: 11px;
    height: 11px;
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -10px;
    transition: 0.5s;
}

.articleBox .school .content p.aBtn em {
    border: 1px solid #3DD2CC;
    color: #3DD2CC;
}

.articleBox .school .content p.aBtn em:after {
    content: url(/special/meets/img/co_ar_05.png);
    width: 11px;
    height: 11px;
    position: absolute;
    right: 5px;
    top: 50%;
    margin-top: -10px;
    transition: 0.5s;
}

.articleBox .content p.aBtn.reading em {
    padding:2px 10px;
}

.articleBox .content p.aBtn.reading em:after {
    content:"";
}

.articleBox .coc a:hover .content p.aBtn em {
    background: #004794;
}

.articleBox .school a:hover .content p.aBtn em {
    background: #3DD2CC;
}

#articleSec .articleBox li a:hover p.aBtn em {
    color: #fff;
}

#articleSec .articleBox li a:hover p.aBtn em:after {
    content: url(/special/meets/img/co_ar_02.png);
}

#articleSec .articleBox li .txt .content {
    padding:3px 25px 3px 0;
}

#articleSec .articleBox li.coc .txt .content {
    background:url(/special/meets/img/co_ar_04.png) no-repeat right center;
    background-size:13px;
}

#articleSec .articleBox li.school .txt .content {
    background:url(/special/meets/img/co_ar_05.png) no-repeat right center;
    background-size:13px;
}

#articleSec .articleBox li .txt:after {
    border: 0;
}

/*@media screen and ( max-width:1300px) {*/
    /*#articleSec .articleBox li {*/
        /*width:33.33333333%;*/
    /*}*/
/*}*/

@media screen and ( max-width:960px) {
    #articleSec .articleBox li {
        width: 49%;
        box-sizing: border-box;
        display: none;
        opacity: 0;
        padding: 10px;
        margin-right:2%;
    }

    #articleSec .articleBox li:nth-child(2n) {
        margin-right:0;
    }
}

@media screen and ( max-width:768px) {
    #articleSec .articleBox li {
        padding:5px 5px 10px;
    }
    #articleSec .articleBox li .thumb p {
        /*font-size:2.5rem;*/
    }
    #articleSec .articleBox li .thumb p em {
        /*font-size:4rem;*/
    }
    .articleBox .content p.aBtn {
        margin-top:5px;
    }

    #articleSec .articleBox li a .txt {
        padding-bottom:30px;
    }
}


@media screen and ( max-width:440px) {
    .articleBox .content p {
        font-size:1.4rem;
    }
}


@media screen and ( max-width:440px) {
    #articleSec .articleBox li {
        padding:0 0 10px;
        width:100%;
    }
    #articleSec .articleBox li .thumb p {
        /*font-size:2.5rem;*/
    }
    #articleSec .articleBox li .thumb p em {
        /*font-size:4.5rem;*/
    }

    .articleBox article h2 {
        font-size:1.2rem;
    }

    .articleBox .content p {
        font-size:1.4rem;
    }
}

/*
pageTop
-------------------------------------------------- */

/*
footer
-------------------------------------------------- */
footer {
    position: relative;
}

#pageTop {
    text-align: center;
    position: absolute;
    top: -35px;
    left: 50%;
    margin-left: -30px;
    width: 70px;
    height: 70px;
    border-radius: 35px;
    background: #011135;
    padding-top: 5px;
}

footer .schoolFt {
    background: #011135;
    width: 100%;
}

footer .schoolFt .ftNav {
    float:left;
}

footer .schoolFt .ftNav {
    float:right;
    padding-top:30px;

}

footer .schoolFt .container {
    padding: 20px 0;
}

footer .schoolFt .container p,
footer .schoolFt .container a {
    font-size: 1.3rem;
    color: #fff;
}

footer .ftNav li {
    display: inline-block;
    margin-left: 25px;
}

footer .ftNav li:first-child {
    margin-left:0;
}

footer .ftNav li a {
    padding:2px 0 2px 13px;
    position: relative;
}

footer .ftNav li a {
    background: url(/special/meets/img/co_ar_02.png) no-repeat left center;
    background-size:7px;
}

footer .rFt {
    padding:20px 0;
}

@media screen and ( max-width:1050px) {
    .schoolInfo {
        width:100%;
        float:none;
        text-align:center;
    }
    footer .schoolFt .ftNav {
        width:100%;
        float:none;
        text-align:center;
        padding-top:20px;
        margin-bottom:10px;
    }
    .schoolInfo img {
        width:250px;
        height:auto;
    }
}

@media screen and ( max-width:767px) {
    footer .ftNav li {
        display:block;
        padding:7px 0;
        border-bottom:1px dotted #777;
        margin-left:0 !important;
    }
}



.slick-arrow {
    position: absolute;
    top: 50%;
    margin-top: -35px;
    width:40px;
    height:47px;
    font-size: 0;
    line-height: 0;
    display: block;
    padding: 0;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index: 100;
    cursor:pointer;
}

.slick-arrow.slick-prev {
    background:url(/special/meets/img/co_bt_05_prev.png) no-repeat left center;
    left:20px;
}

.slick-arrow.slick-next {
    background:url(/special/meets/img/co_bt_05_next.png) no-repeat right center;
    right:20px;
}

.slick-dots {
    text-align:center;
    padding:10px 0 5px;
}

.slick-dots li {
    display:inline-block;
    margin:0 4px;
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background: #fff;
    border:1px solid #011135;
}

.slick-dots li.slick-active {
    background:#011135;
}

.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 20px;
    height: 20px;
    padding: 5px;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}

@media screen and ( max-width:400px) {
    .slick-arrow {
        width:15px;
        height:31px;
    }
    .slick-arrow.slick-prev {
        left:10px;
    }
    .slick-arrow.slick-next {
        right:10px;
    }
    .slick-arrow.slick-prev,
    .slick-arrow.slick-next {
        background-size:contain;
    }
}
