body{
    width: 100%;
    margin:0 auto;
}

a{
    text-decoration: none;
    transition: all .3s;
}

a:hover{
    opacity: .6;
}

.border{
    max-width: 1440px;
    width:90%;
    margin:50px auto;
    border-bottom:solid 3px #4269b2;
}

/* header */
.header-logo-wrapper{
    width: 100%;
    display: flex;
}

.header-logo-wrapper a{
    width: 250px;
    margin: 0 auto;
}

.header-logo{
    width:250px;
    margin:0 auto;
    display: block;
    margin-top:50px;
    margin-bottom:20px;
}

.header{
    background-image: url(img/chosakuken/header-bg-img.jpg);
    background-size: cover;
    background-position: bottom;
    width: 100%;
    height: 640px;
    text-align: center;
}

.header img{
    max-width: 1080px;
    width: 90%;
    margin: 0 auto;
}

h1{
    text-align: center;
    font-size: 1em;
}

.headline{
    text-align: center;
    font-size: 2em;
    line-height:1.5em;
    color:#516db0;
    letter-spacing: 0.5em;
    font-weight: bold;
}

@import url('https://fonts.googleapis.com/css?family=Sawarabi+Gothic');

.headline {
    font-family: 'Sawarabi Gothic', sans-serif;
}

/* movie */
.wrapper-1{
    max-width: 720px;
    width: 90%;
    height:505px;
    margin:0 auto;
    text-align: center;
    padding:50px 0;
}

/* contents */
.wrapper-2{
    width:100%;
    margin:0 auto;
    padding:50px 0;
}

.contents{
    max-width: 1200px;
    width:90%;
    margin:0 auto;
    padding:70px 0;
    display:flex;
    align-items: center;
    gap:80px;
}

.contents h2{
    font-size: 2em;
}

.contents .contents-txt{
    width:40em;
}

.contents-img{
    width:360px;
}

.contents-img img{
    max-width:100%;
    height:auto;
}

.contents-1 .contents-wrapper{
    background: linear-gradient(90deg, #fff 0%, #fff 45%, #e5ecfa 45%, #e5ecfa 100%);
}

.contents-1 h2{
    color:#4269b2;
}

.contents-1 h2 span{
    background:linear-gradient(transparent 60%, #fff3a6 60%);
}

.contents-2 .contents{
    flex-direction: row-reverse;
}

.contents-2 .contents-wrapper{
    background: linear-gradient(90deg, #eef5fb 0%, #eef5fb 55%, #fff 55%, #fff 100%);
}

.contents-2 h2{
    color:#3485a7;
}

.contents-2 h2 span{
    background:linear-gradient(transparent 60%, #fff3a6 60%);
}

.contents-3 .contents-wrapper{
    background: linear-gradient(90deg, #fff 0%, #fff 45%, #f2e8f8 45%, #f2e8f8 100%);
}

.contents-3 h2{
    color:#875ca6;
}

.contents-3 h2 span{
    background:linear-gradient(transparent 60%, #fff3a6 60%);
}

.contents-button-2{
    background: #3485a7;
    color:#fff;
    font-weight: bold;
    text-align: center;
    padding:0.75em 0.5em;
    margin-top:3em;
    position:relative;
    top:0;
    box-shadow: 0 7px 0 0 #1f566c;
    transition: all .3s;
}

.contents-button-2:hover{
    box-shadow: 0 2px 0 0 #1f566c;
    top:5px;
}

.contents-2 .annotation{
    font-size: 50%;
    margin-top:20px;
    text-align: right;
    color:rgb(118, 118, 118);
}

.slider{
    max-width: 360px;
}

.contents-button-3{
    background: #875ca6;
    color:#fff;
    font-weight: bold;
    text-align: center;
    padding:0.75em 0.5em;
    margin-top:3em;
    position:relative;
    top:0;
    box-shadow: 0 7px 0 0 #583a70;
    transition: all .3s;
}

.contents-button-3:hover{
    box-shadow: 0 2px 0 0 #583a70;
    top:5px;
}

/* footer */
.offer-wrapper{
    text-align: center;
    margin-bottom:100px;
}

.offer-wrapper h2{
    width: 90%;
    margin:0 auto;
    color:#4269b2;
}

.offer-button{
    font-size:1.25em;
    max-width:40em;
    width:90%;
    padding:0.75em 0;
    margin:2em auto 0;
    background:#4269b2;
    color:#fff;
    box-shadow: 0 7px 0 0 #294477;
    font-weight: bold;
    position: relative;
    top:8px;
    transition: all .3s;
}

.offer-button:hover{
    box-shadow: 0 2px 0 0 #294477;
    top:13px;
}

.border{
    border-bottom: solid 3px #4269b2;
}

.series-wrapper h2{
    color:#4269b2;
}

.c-padding_normal>.g-column,
.c-padding_normal>.column,
.c-padding_normal>nav {
    padding: 0;
}

@media screen and (max-width: 1020px){
    .header{
        height: 460px;
    }

    .contents{
        gap:40px;
    }
}

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

    h2{
        line-height: 1.5em;
    }

    .header{
        height: 350px;
        margin-top: 2em;
    }

    .headline{
        font-size: 1em;
        letter-spacing: 0.4em;
    }

    .header-logo{
        width: 150px;
        margin-top: 20px;
    }

    .wrapper-2{
        padding:0;
    }

    .contents{
        flex-direction: column;
        padding:30px 0;
    }

    .contents .contents-txt{
        width: 90%;
    }

    .border{
        margin:20px auto;
    }

    .contents-2 .contents{
        flex-direction: column;
    }
}

@media screen and (max-width: 540px){
    .header{
        height: 250px;
    }

    .wrapper-1{
        height: 360px;
    }
}
