@charset "UTF-8";


/* contents
------------------------------------------------- */
#contents {
    height: 215em;
    margin: 11.125em 0 12.5em;
}
@media only screen and (max-width:750px){
#contents {
    height: auto;
    margin: 0 0 25vw;
}
}


/* mainvisual
------------------------------------------------- */
.mainvisual {
    padding-bottom: 12.5em;
    position: sticky;
    top: 15em;
    z-index: 1;
}
.mainvisual .inner {
    max-width: inherit;
    padding: 0;
}
.mainvisual h1 {
    background: url("../common-new/img/icon_tit3.svg") -0.75em 0.6em no-repeat;
    background-size: auto 0.45em;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.45;
    padding-left: 2.375em;
    margin-bottom: 1.1em;
    position: relative;
    z-index: 2;
}
.mainvisual h1 span {
    display: block;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.05em;
    color: #2A51C3;
}
.mainvisual .box {
    padding: 3.25em 0 0 6.6875em;
}
.mainvisual h2 {
    font-weight: 700;
    color: #2A51C3;
    line-height: 1.45;
    padding-bottom: 0.35em;
}
.mainvisual p {
    font-weight: 700;
    line-height: 1.875;
}
@media only screen and (max-width:750px){
.mainvisual {
    padding-bottom: 25vw;
    top: 26.5vw;
}
.mainvisual .inner {
    width: 100%;
    padding: 0;
}
.mainvisual h1 {
    font-size: 8.4vw;
    background-position: -0.8em 0.5em;
    line-height: 1.2;
    margin-bottom: 1em;
}
.mainvisual h1 span {
    font-size: 3.466vw;
    line-height: 1.75;
    padding-top: 0.25em;
}
.mainvisual .box {
    padding: 0 6vw;
}
.mainvisual h2 {
    font-size: 5.33vw;
    padding-bottom: 0.35em;
}
.mainvisual p {
    line-height: 1.75;
}
}


/* .cont1
------------------------------------------------- */
.cont1,
.cont2,
.cont3,
.cont4 {
    width: 100%;
    height: 52em;
    background-color: #aaddf8;
    border-radius: 2.5em 2.5em 0 0;
    padding-top: 6.875em;
    position: sticky;
    top: 8em;
    box-sizing: border-box;
    z-index: 2;
}
.cont1 h3,
.cont2 h3,
.cont3 h3,
.cont4 h3 {
    font-weight: 400;
    letter-spacing: 0.05em;
    color: #fff;
    position: absolute;
    left: 3.5em;
    top: 0.75em;
}
.cont1 h3 span,
.cont2 h3 span,
.cont3 h3 span,
.cont4 h3 span {
    padding-left: 0.3em;
}
.cont1 .inner,
.cont2 .inner,
.cont3 .inner,
.cont4 .inner {
    padding: 0 8.3125em;
}
.cont1 .box,
.cont2 .box,
.cont3 .box,
.cont4 .box {
    width: 31em;
}
.cont1 .box h4,
.cont2 .box h4,
.cont3 .box h4,
.cont4 .box h4 {
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.45;
    color: #fff;
    padding-bottom: 3.8em;
    position: relative;
}
.cont1 .box h4::before,
.cont2 .box h4::before,
.cont3 .box h4::before,
.cont4 .box h4::before {
    content: '';
    width: 1px;
    height: 2.15em;
    background-color: #fff;
    position: absolute;
    left: 0.285em;
    bottom: 0.715em;
}
.cont1 .box h4 span,
.cont2 .box h4 span,
.cont3 .box h4 span,
.cont4 .box h4 span {
    display: block;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.285;
    color: #fff;
}
.cont1 .box h5,
.cont2 .box h5,
.cont3 .box h5,
.cont4 .box h5 {
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.5;
    padding-bottom: 1.2em;
}
.cont1 .box p,
.cont2 .box p,
.cont3 .box p,
.cont4 .box p {
    line-height: 1.715;
}
.cont1 .photo,
.cont2 .photo,
.cont3 .photo,
.cont4 .photo {
    width: 34.375em;
    position: absolute;
    right: 8.3125em;
    top: 0.9375em;
}
@media only screen and (max-width:750px){
.whbox {
    background-color: #fff;
    border-radius: 2.5em 2.5em 0 0;
    position: relative;
    z-index: 3;
}
.cont1,
.cont2,
.cont3,
.cont4 {
    width: 100%;
    height: auto;
    border-radius: 2em;
    padding-top: 7.5em;
    margin-bottom: 10vw;
    position: relative;
    top: auto !important;
}
.cont1 h3,
.cont2 h3,
.cont3 h3,
.cont4 h3 {
    left: 6vw;
    top: 3em;
}
.cont1 h3 span,
.cont2 h3 span,
.cont3 h3 span,
.cont4 h3 span {
    font-size: 6.4vw;
    padding-left: 0.3em;
}
.cont1 .inner,
.cont2 .inner,
.cont3 .inner,
.cont4 .inner {
    padding: 0;
}
.cont1 .box,
.cont2 .box,
.cont3 .box,
.cont4 .box {
    width: 100%;
}
.cont1 .box h4,
.cont2 .box h4,
.cont3 .box h4,
.cont4 .box h4 {
    font-size: 4.533vw;
}
.cont1 .box h4 span,
.cont2 .box h4 span,
.cont3 .box h4 span,
.cont4 .box h4 span {
    font-size: 13.5vw;
}
.cont1 .box h5,
.cont2 .box h5,
.cont3 .box h5,
.cont4 .box h5 {
    font-size: 4.266vw;
}
.cont1 .box p,
.cont2 .box p,
.cont3 .box p,
.cont4 .box p {
    font-size: 3.733vw;
    line-height: 1.75;
}
.cont1 .photo,
.cont2 .photo,
.cont3 .photo,
.cont4 .photo {
    width: 100%;
    position: static;
    padding: 5vw 0 10vw;
}
}


/* .cont2
------------------------------------------------- */
.cont2 {
    height: 48em;
    background-color: #2ABAF6;
    top: 12em;
}
@media only screen and (max-width:750px){
.cont2 {
    height: auto;
}
}


/* .cont3
------------------------------------------------- */
.cont3 {
    height: 44em;
    background-color: #1B83F4;
    top: 16em;
}
@media only screen and (max-width:750px){
.cont3 {
    height: auto;
}
}


/* .cont4
------------------------------------------------- */
.cont4 {
    height: 40em;
    background-color: #0D6FD9;
    top: 20em;
}
@media only screen and (max-width:750px){
.cont4 {
    height: auto;
}
}