@charset "utf-8";

*{
        margin: 0;
         padding: 0;
         box-sizing:border-box;
}

ul,li{
    list-style: none;
}

a{
    text-decoration: none;
    color: inherit;
}

img{
    max-width: 100%;
    vertical-align: bottom;
}

/* 全体 */

body{
    color: #333333;
    font-size: 14px;
    font-family: 'Arial', sans-serif;
    line-height: 1.5;
}

.wrapper{
    max-width:1200px;
    margin: 0 auto;
    padding: 0 5%;
}
.section-title{
    margin-bottom: 20px;
    font-size: 24px;
    font-family: 'Arial', sans-serif;
    line-height: 1.0;
    text-align: center;
}
.btn{
    display: inline-block;
    margin-top: 30px;
    padding: 12px 36px;
    border: 1px solid #2a2a2a;
    color: #2a2a2a;
    font-size: 12px;
    text-align: center;
}

/* header */
.header{
    position: relative;
    height: 100vh;
    margin-bottom: 80px;
    background: url(../img/mainvisual.jpg) no-repeat center top;
    background-size:cover;
}

.header .site-title{
    position:absolute;
    top:30px;
   right:30px;
}

.header .site-title img{
    width:80px;
}

/* magazine */
.magazine{
    text-align: center;
    margin-bottom: 80px;
}

.magazine > .section-title{
    margin-bottom: 22px;
}

.magazine > .flex-item .item{
        position: relative;
        display: block;
}

.magazine > .flex-item .item:nth-of-type(1){
    margin-bottom:34px;
}
.text-block{
    position:absolute;
    top:40%;
    left:0;
    right:0;
    max-width:290px;
    margin:0 auto;
    padding: 11px 0 14px;
    background-color:rgba(0,0,0,0.5);
    color: #ffffff;
    font-weight: bold;
}

.text-block > .title{
    font-size: 20px;
}

@media screen and (min-width:768px){
    .magazine > .flex-item{
        display:grid;
        grid-template-columns: repeat(2,1fr);
        gap:20px
    }

    
    .magazine > .flex-item .item:nth-of-type(1){
        margin-bottom:0px;
    }
}

/* oirasekeiryu */
 .oirasekeiryu{
    height: 416px;
    background-color: #222222;
    margin-bottom: 60px;
    padding: 44px 0 60px;
    background-image: url(../img/oirasekeiryu.jpg);
    background-repeat:no-repeat;
    background-position: center center;
    background-size: cover;
    text-align: center;
}

.oirasekeiryu .section-title{
    margin-bottom: 22px;
}

/* streamfilter */

.streamfilter{
    background-color:#f5f5f5;
    padding: 30px 0 28px;
}

.item-text{
    text-align: center;
}

.item-text p{
    margin-bottom: 30px;
    text-align-last: left;
}

.item-text p:last-of-type{
    margin-bottom: 0;
}

.stream .section-title{
    margin: 60px 0 36px;
    line-height: 1.5;
}

@media screen and (min-width:768px){
    .streamfilter .flex-item{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }
}

.filter .section-title{
    margin: 0 0 36px;
    line-height: 1.5;
}

.filter p:last-of-type{
    margin-bottom: 30px;
}

.filter a{
    margin-bottom: 60px;
}

.footer img{
    width: 20px;
}

@media screen and (min-width:768px){
    .streamfilter{
        margin: 40px 20px;
    }
}

/*------------------------
 footer 
-------------------------*/

.footer {
    background-color:#333;
    color: #ffffff;
    
}

.footer-logo{
    padding: 30px 0;
    text-align: center;
}

.footer .footer-logo img{
    width:100px;
}


.footer-item .title{
    margin-bottom: 10px;
    font-size: 16.2px;
    font-weight: 700;
    line-height: 2;
}

.footer-item{
    margin-bottom: 30px;
    font-size: 12.2px;
    line-height: 1.91;
}

.footer-item:last-of-type{
    margin-bottom: 60px;
}

.footer li::before{
    content:"-";
    margin-right: 5px;
    color: #ffffff;
}

p.copyright{
    width:100%;
    padding: 28px 0;
    background-color: #ffffff;
    text-align: center;
    color: #333333;
    font-size: 12px;
}

@media screen and (min-width:768px){
    .footer .flex-item{
        display: grid;
        grid-template-columns: repeat(3,1fr);
        align-items: center;
        
    }
    .footer-item:last-of-type{
        margin-bottom: 20px;
    }
    .footer-item{
        margin-bottom: 0px;
    }
    .flex-item{
    padding: 80px 0 70px 0;   
    }
}