body{
    width: 100%;
    margin:0 auto;
    overflow-x: hidden;
}

a{
    text-decoration: none;
    transition: all .3s;
}
a:hover{
    opacity: .6;
}
.border{
    max-width: 1440px;
    width:90%;
    margin:50px auto;
    border-bottom:solid 3px #4B7D89;
}

/* 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{
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    height: 605px;
    text-align: center;
    overflow: visible;
}

/* 色帯＋柄だけを背景として表示。
   60px ÷ 1920px = 3.125vw なので、横幅100%表示時に
   画像を3.125vw上へずらすと、元画像の白場だけを除外できる。 */
/* 人物＋タイトル画像は背景とは別に前面へ。
   背景帯は25px下から始まるため、頭部が帯の上に少し出る。 */
.header-bg{
    position: absolute;
    z-index: 1;
    top: 25px;
    left: 0;
    width: 100%;
    height: 580px;

    background-image: url(img/mentalhealth/header-bg-img.png);
    background-size: 100% auto;
    background-position: center -60px;
    background-repeat: no-repeat;
}

.header img{
    position: relative;
    z-index: 2;
    display: block;
    max-width: 1080px;
    width: 90%;
    height: auto;
    margin: 0 auto;
}

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

.headline{
    text-align: center;
    font-size: 2em;
    line-height:1.5em;
    color:#4B7D89;
    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-1 .contents-wrapper{
    background: linear-gradient(90deg, #fff 0%, #fff 45%, #DCECF1 45%, #DCECF1 100%);
}
.contents-1 h2{
    color:#4B7D89; 
}
.contents-1 h2 span{
background:linear-gradient(transparent 60%, #F4D36A 60%);
}
.contents-2 .contents{
    flex-direction: row-reverse;
}
.contents-2 .contents-wrapper{
    background: linear-gradient(90deg, #F5E5C8 0%, #F5E5C8 55%, #fff 55%, #fff 100%);
}
.contents-2 h2{
    color:#E58A45; 
}
.contents-2 h2 span{
background:linear-gradient(transparent 60%, #F4D36A 60%);
}
.contents-3 .contents-wrapper{
    background: linear-gradient(90deg, #fff 0%, #fff 45%, #E5F0D9 45%, #E5F0D9 100%);
}
.contents-3 h2{    
    color:#58A95C;
}
.contents-3 h2 span{
background:linear-gradient(transparent 60%, #F4D36A 60%);
}
.contents-2 .button-wrapper,.contents-3 .button-wrapper{
    display: flex;
    flex-wrap: wrap;
    gap:20px;
    width: 100%;
}
.contents-2 .button-wrapper a{
	width:100%;
    margin:0 auto;
}
.contents-3 .button-wrapper a{
    width:45%;
    margin:0 auto;
}
.contents-button-2{
    background: #E58A45;
    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 #B96B32;
    transition: all .3s;
}
.contents-button-2:hover{
    box-shadow: 0 2px 0 0 #B96B32;
    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: #58A95C;
    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 #3E7D43;
    transition: all .3s;
}
.contents-button-3:hover{
    box-shadow: 0 2px 0 0 #3E7D43;
    top:5px;
}


/* footer */
.offer-wrapper{
    text-align: center;
    margin-bottom:100px;
}
.offer-wrapper h2{
    width: 90%;
    margin:0 auto;
    color:#4B7D89;
}
.offer-button{
    font-size:1.25em;
    max-width:40em;
    width:90%;
    padding:0.75em 0;
    margin:2em auto 0;
    background:#4B7D89;
    color:#fff;
    box-shadow: 0 7px 0 0 #365F69;
    font-weight: bold;
    position: relative;
    top:8px;
    transition: all .3s;
}
.offer-button:hover{
    box-shadow: 0 2px 0 0 #365F69;
    top:13px;
}

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

@media screen and (max-width: 1020px){
    .header{
        height: calc(30.2083vw + 22px);
        min-height: 0;
    }
    .header-bg{
        top: 22px;
        height: 30.2083vw;
        background-position: center -3.125vw;
    }
    .contents{
        gap:40px;
    }
}
@media screen and (max-width: 910px){
    .contents-button-2,.contents-button-3{
        height:5em;
    }
}
@media screen and (max-width: 767px){
    .header{
        height: calc(30.2083vw + 18px);
        margin-top: 0;
    }
    .header-bg{
        top: 18px;
        height: 30.2083vw;
        background-position: center -3.125vw;
    }
    .br{
        display: none;
    }
    h2{
        line-height: 1.5em;
    }
    
    .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: calc(30.2083vw + 14px);
    }
    .header-bg{
        top: 14px;
        height: 30.2083vw;
        background-position: center -3.125vw;
    }
    
    .wrapper-1{
        height: 360px;
    }
}