@charset "UTF-8";

/*PC-TOPページだけ位置調整している*/
header{
    top: 70px;
    max-width: 1320px;
}
header h1 span{
    font-size: 1.8em;
}
#mainbox{
    width: 100%;
    height: 100dvh;
    margin: -78px auto 5%;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    position: relative;
}
#mainbox:after{
    content: "";
    background: url(../images/mv_bg.png);
    background-repeat:no-repeat;
    background-size: cover;
    background-position: center top;
    width: 100%;
    height: 100%;
    z-index: -1;
}
#mainbox .inner{
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all ease 0.5s;
    width: 90%;
    max-width: 700px;
}
#mainbox p.catch{
    color: #fff;
    font-family: "Allura", cursive;
    font-weight: 400;
    font-style: normal;
    font-size: 6.7em;
    font-weight: 300;
    text-align: center;
    width: 100%;
    position: relative;
    margin: 0 auto 0;
    padding: 7% 0;
}
#mainbox p.catch:before{
    content: "";
    border-top: 1px solid #eee;
    border-left: 1px solid #eee;
    width: 85%;
    height: 40%;
    position: absolute;
    top: 0;
    left: 0;
}
#mainbox p.catch:after{
    content: "";
    border-right: 1px solid #eee;
    border-bottom: 1px solid #eee;
    width: 85%;
    height: 40%;
    position: absolute;
    bottom: 0;
    right: 0;
}

#mainbox h1 a{
    max-width:84px;
    width:10%;
}
#mainbox h1 span{
    font-size: 4.0em;
    padding: 0 0 0 2rem;
}
.content{
    width:100%;
    margin: 0 auto 5%;
    padding:0;
    overflow:hidden;
}
main.content{
    margin: 0 auto 0%;
}
main h2{
    width:100%;
    text-align:center;
    padding:2% 0;
}
main #newsWrap{
    border-top:1px solid #999;
    border-bottom:1px solid #999;
    margin: 0 auto 2%;
}
main #newsWrap #newsList{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    max-width:780px;
    width:100%;
    margin:0 auto;
}
main #newsWrap .newsList_date{
    box-sizing:border-box;
    width:25%;
    padding:10px 20px;
}
main #newsWrap .newsList_text{
    border-left:1px solid #999;
    width:75%;
    padding: 10px 0px 10px 30px;
}
main #newsWrap .title{
    line-height: 1.6em;
    margin:0 0;
    position:relative;
    font-size: 0.9em;
}
main #newsWrap .title .newMark{
    background: #fff;
    color: #333;
    font-size: 0.7em;
    padding: 0 10px 1px;
}
main #newsWrap .comment{
    font-size: 0.8em;
}
#cover {
    height: 100vh;
    background-image: url(../images/corporate_bg.png);
    background-size: 50%;
    background-position: center; 
    background-repeat: no-repeat; 
    position: relative; 
    transition: background-size 0.5s ease; 
}
#cover h2{
    color:#fff;
    font-size:5.0em;
    font-family: "Cardo", serif;
    font-weight: 400;
    text-align:center;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
}
#cover p.caption{
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.5em;
    font-weight: 300;
    line-height: 1.6em;
    text-align: center;
    width: 100%;
    margin: auto auto 0;
    position: absolute;
    top: 16%;
    left: 50%;
    transform: translate(-50%, 0);
}
.content .more{
    display:block;
    border:1px solid #000;
    font-weight:300;
    text-align:center;
    margin:0 auto;
    padding:5px 30px;
    width:fit-content;
    position:relative;
    overflow:hidden;
}
.content .more:hover{
    color:#fff;
}
.content .more:before{
    content:"";
    background:#000;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:-20px;
    opacity:0;
    transition: all ease 0.8s;
    z-index:-1;
}
.content .more:hover:before{
    left:0;
    opacity:1;
}

@media all and (min-width:769px){

}
@media all and (max-width:768px){
    /*PC-TOPページだけ位置調整している*/
    header{
        top: unset;
        max-width: unset;
    }
    header h1 span{
        font-size: 1.3em;
    }
    #mainbox{
        top: 47%;
    }
    #mainbox p.catch{
        font-size: 4.5em;
    }
    p.caption{
        width: 90%;
        font-size: 1.3em;
    }
    main.content {
        margin: 0 auto 20%;
    }
    main h2{
        padding: 2% 0 5%;
    }
    main #newsWrap{
        margin: 0 auto 5%;
    }
    main #newsWrap .newsList_date{
        box-sizing:border-box;
        width:100%;
        padding:20px;
    }
    main #newsWrap .newsList_text{
        border-top:1px solid #999;
        border-left:unset;
        width:100%;
        padding: 20px 20px;
    }
    #cover {
        height: 100vh;
    }
    #cover h2{
        font-size: 2.8em;
        width: 95%;
        top: 54%;
    }
    .content .more{
        margin: 0 auto 10%;
    }
    #cover p.caption{
        font-size: 1.1em;
        bottom: 2%;
    }
}