@charset "utf-8";

section:nth-of-type(2n){
    background-color: #bcd8d9;
}
/*--Large screens--*/
@media print, screen and (min-width: 768px){
    /*.head-group{
        border-bottom: 30px solid #bcd8d9;
    }*/
    h2{
        position: relative;
        margin-bottom: 30px;
        font-size: 1.6em;
        font-weight: bold;
        text-align: center;
        line-height: 1.2;
    }
    h2 span{
        font-size: 0.6em;
        font-weight: bold;
    }
    h2::before,
    h2::after{
        position: absolute;
        content: "";
        top: 15px;
        width: 400px;
        border: 1px solid #333;
    }
    h2::before{
        left: 0;    
    }
    h2::after{
        right: 0;    
    }
}
/*--Medium screens--*/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    h2{
        margin-bottom: 20px;
    }
    h2::before,
    h2::after{
        content: none;
    }
}
/*--Small screens--*/
@media only screen and (max-width: 767px){
    h2{
        margin-bottom: 15px;
        font-size: 1.3em;
        font-weight: bold;
        text-align: center;
        line-height: 1.2;
    }
    h2 span{
        font-size: 0.6em;
        font-weight: bold;
    }
}

/*-----------------------------------
main
-----------------------------------*/
h1 img{
    width: 24px;
    margin-right: 6px;
    vertical-align: -6px;
}
h1 span{
    padding: 0 3px 3px;
    background-image: url(/image/common/line.png);
    background-position: 0 bottom;
    background-repeat: no-repeat;
    background-size: auto 1px;
    font-weight: bold;
}
.main .freeword{
    width: 100%;
    margin-bottom: 30px;
    /*padding: 20px;
    background-color: rgba(0, 0, 0, 0.6);*/
}
.main .freeword form,
.main .freeword input[type="text"]{
    width: 460px;
}
.main .freeword form{
    position: relative;
    z-index: 10000;
    margin: 0 auto;
}
.main .freeword input[type="text"]{
    padding: 10px 60px 10px 30px;
    background-color: #FFF;
    border: none;
    border-radius: 50px;
    font-family: "游ゴシック","YuGothic","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN","メイリオ","Meiryo","sans-serif";
    font-size: 1.1em;
    outline: none;
}
.main .freeword input[type="image"]{
    position: absolute;
    content: "";
    width: 26px;
    top: 50%;
    right: 15px;
    margin-top: -13px;
}
input::-webkit-input-placeholder,
input:-ms-input-placeholder,
input::-moz-placeholder{
    color: #777;
}
.main li a span{
    margin-left: 2px;
    font-size: 0.8em;
}
/*--Large screens--*/
@media print, screen and (min-width: 768px){
    section.main{
        padding: 0;
        background-image: url(/image/top/main-bkg.jpg);
        background-position: bottom center;
        background-size: cover;
        background-repeat: repeat-x;
        text-align: center;
    }
    .over{
        width: 100%;
        height: 100%;
        background-color: rgba(187, 216, 217, 0.4);
    }
    .main .wrap{
        position: relative;
        padding: 80px 0 30px;
    }
    h1{
        position: absolute;
        top: 0;
        left: 50%;
        width: 360px;
        margin-left: -180px;
        padding: 8px;
        background-color: #2d3e3f;
        font-size: 1.1em;
        font-weight: bold;
        text-align: center;
        color: #FFF;
    }
    .main dl{
        width: 100%;
        overflow: hidden;
    }
    .main dt{
        float: left;
        width: 50px;
        padding: 4px 5px;
        text-align: center;
    }
    .main dt div{
        width: 30px;
        background-color: #547c7d;
        border-radius: 50%;
        font-weight: bold;
        color: #FFF;
    }
    .main dd{
        float: left;
        width: 100%;
        margin-left: -50px;
    }
    .main dd ul{
        margin-left: 50px;
    }
    .main li{
        float: left;
        width: calc((100% - 50px) / 6);
        margin: 0 10px 10px 0;
        background-color: rgba(255, 255, 255, 0.95);
        border-radius: 5px;
    }
    .main li:nth-child(6n){
        margin-right: 0;
    }
    .main li a{
        display: block;
        height: auto;
        padding: 4px 5px;
        font-weight: bold;
        color: #333;
        text-decoration: none;
    }
}
/*--Medium screens--*/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .main .wrap{
        padding: 80px 30px 30px;
    }
    .main .freeword input[type="text"]{
        padding: 10px 60px 10px 30px;
    }
}
/*--Small screens--*/
@media only screen and (max-width: 767px){
    section.main{
        padding: 0;
        background-color: #edf7f7;
        background-image: url(/image/top/main-bkg.jpg);
        background-position: bottom right;
        background-size: 1500px auto;
        background-repeat: no-repeat;
    }
    .over{
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0.7);
    }
    .main .wrap{
        padding: 0;
    }
    .main h1{
        padding: 7px 10px;
        background-color: #2d3e3f;
        font-weight: bold;
        color: #FFF;
        text-align: center;
    }
    h1 img{
        width: 20px;
        margin-right: 6px;
        vertical-align: -6px;
    }
    .main .freeword{
        margin-bottom: 0;
        padding: 20px 0;
        background-color: rgba(187, 216, 217, 0.5);
    }
    .main .freeword form,
    .main .freeword input[type="text"]{
        width: 300px;
    }
    .main .freeword form{
        margin: 0 auto;
    }
    .main .freeword input[type="text"]{
        padding: 10px 40px 10px 20px;
        font-size: 1em;
    }
    .main .freeword input[type="image"]{
        width: 20px;
        right: 15px;
        margin-top: -10px;
    }
    .main dt{
        width: 100%;
        padding: 2px 15px;
        background-color: rgba(84, 124, 125, 0.8);
    }
    .main dt div{
        font-size: 0.8em;
        font-weight: bold;
        color: #FFF;
    }
    .main ul{
        border-top: 1px solid #FFF;
        border-bottom: 1px solid #FFF;
        background-color: rgba(187, 216, 217, 0.4);
    }
    .main li{
        float: left;
        width: calc(100% / 3);
        border-right: 1px solid #FFF;
        border-bottom: 1px solid #FFF;
    }
    .main li:nth-child(3n){
        border-right: none
    }
    .main li:last-child,
    .main li:nth-last-child(2):nth-child(even),
    .main li:not(:nth-child(3n)):nth-child(odd):nth-last-child(2),
    .main li:not(:nth-child(3n)):nth-child(odd):nth-last-child(3),
    .main li:nth-last-child(3):nth-last-child(odd):nth-child(3n+1){
        border-bottom: none;
    }
    .main li a{
        display: block;
        padding: 3px 5px;
        font-weight: bold;
        text-align: center;
        color: #333;
    }
}

/*-----------------------------------
news
-----------------------------------*/
.news li{
    position: relative;
    background-color: #dbeff0;
}
.news li:nth-of-type(even){
    background-color: #edf7f7;
}
.news .cate{
    position: absolute;
    top: 22px;
    right: 20px;
    width: 150px;
    padding: 3px 10px;
    background-color: #2d3e3f;
    font-size: 0.7em;
    font-weight: bold;
    color: #FFF;
    text-align: center;
}

/*--Large screens--*/
@media print, screen and (min-width: 768px){
    .news .date,
    .news .ttl{
        float: left;
    }
    .news .date{
        width: 15%;
        padding: 20px;
        text-align: center;
    }
    .news .ttl{
        position: relative;
        width: 85%;
    }
    .news .ttl::before{
        position: absolute;
        content: "";
        top: 26px;
        left: 0;
        width: 2px;
        height: 16px;
        background-color: #FFF;
    }
    .news .ttl a{
        display: block;
        padding: 20px 190px 20px 20px;
    }
}
/*--Medium screens--*/
@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .news .date{
        width: 20%;
    }
    .news .ttl{
        width: 80%;
    }
}
/*--Small screens--*/
@media only screen and (max-width: 767px){
    .news li{
        position: relative;
        padding: 20px;
    }
    .news .date{
        font-weight: bold;
    }
    .news .ttl a{
        display: block;
    }
    .news .cate{
        top: 15px;
        right: 15px;
        width: 100px;
    }
}

/*-----------------------------------
clear
-----------------------------------*/
.main dl,
.main ul,
.news li{
    display: block;
    min-height: 1%;
}
.main dl:after,
.main ul:after,
.news li:after{
    clear: both;
    content:".";
    display: block;
    height: 0;
    visibility: hidden;
}
