@charset "UTF-8";


/* mainvisual
------------------------------------------------- */
.mainvisual {
    background: url("../img/message/mainvisual.jpg") center center no-repeat;
    background-size: cover;
    margin-bottom: 10em;
}
.mainvisual .ttl1 {
    bottom: 0.5em;
}
.mainvisual .ttl1 span {
    color: #2cdbec;
}
.mainvisual .ttl1 span::before {
    background-color: #2cdbec;
}
.mainvisual .ttl1 b {
    display: block;
    font-weight: 700;
    padding: 0.25em 0 0.5em;
}
.mainvisual .ttl {
    width: 45.185em;
    height: 29.25em;
    position: absolute;
    left: 50%;
    margin-left: 13.75em;
    bottom: -6.25em;
    color: #fff;
}
.mainvisual .ttl .bg1 {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    mix-blend-mode: multiply;
}
.mainvisual .ttl .bg2 {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
.mainvisual .ttl h2 {
    font-weight: 700;
    position: absolute;
    left: 7.42em;
    top: 6.45em;
    z-index: 3;
    opacity: 0;
}
.mainvisual .ttl.isAnimate10 h2 {
    animation: 1.5s slideLeft 0.6s ease forwards;
    transform: translate3d(0, 0, 0);
}
.mainvisual .ttl h2 span {
    display: block;
    font-weight: 700;
    line-height: 1.65;
    padding-bottom: 1.5em;
    position: relative;
}
.mainvisual .ttl h2 span::before {
    content: '';
    width: 0.85em;
    height: 1px;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 0.4em;
}
@media only screen and (min-width: 751px) and (max-width: 1440px) {
.mainvisual .ttl {
    margin-left: 10em;
}
.mainvisual .ttl h2 {
    left: 5em;
}
}
@media only screen and (min-width: 751px) and (max-width: 1300px) {
.mainvisual .ttl1 {
    bottom: 4em;
}
}
@media only screen and (max-width:750px){
.mainvisual {
    margin-bottom: 55vw;
}
.mainvisual .ttl1 {
    font-size: 5.33vw;
    bottom: 1em;
}
.mainvisual .ttl1 b {
    font-size: 4vw;
}
.mainvisual .ttl {
    width: 35em;
    height: 22.66em;
    margin-left: -8.5em;
    bottom: -14em;
}
.mainvisual .ttl h2 {
    font-size: 4vw;
    top: 9em;
}
.mainvisual .ttl h2 span {
    font-size: 3.2vw;
}
}


/* cont1
------------------------------------------------- */
.cont1 {
    padding-bottom: 12.5em;
    position: relative;
}
.cont1 .inner {
    z-index: 2;
}
.cont1 h3,
.cont2 h3 {
    font-weight: 700;
    line-height: 1.47;
    letter-spacing: 0.025em;
    padding-bottom: 0.75em;
}
.cont1 p {
    padding-bottom: 2em;
}
.cont1 .bg3 {
    width: 43em;
    position: absolute;
    right: 50%;
    margin-right: 13.75em;
    top: 0;
    z-index: 1;
}
@media only screen and (max-width:750px){
.cont1 {
    padding-bottom: 10vw;
}
.cont1 h3,
.cont2 h3 {
    font-size: 5.3vw;
}
.cont1 p {
    padding-bottom: 1.5em;
}
.cont1 .bg3 {
    width: 30em;
    margin-right: 3em;
    top: 20em;
}
.cont1 img {
    width: 100vw;
    max-width: inherit;
    margin: 0 0 5vw -6vw;
}
}


/* cont2
------------------------------------------------- */
.cont2 {
    padding-bottom: 10em;
    position: relative;
}
.cont2.bg {
    padding-bottom: 34.375em;
}
.cont2.bg::before {
    content: '';
    width: 100%;
    height: 26.875em;
    background-color: #eee;
    position: absolute;
    left: 0;
    top: 17.5em;
    z-index: 1;
}
.cont2.rev::before {
    content: '';
    width: 100%;
    height: 6.25em;
    background-color: #eee;
    position: absolute;
    left: 0;
    top: 22.5em;
    z-index: 1;
}
.cont2 .inner {
    display: flex;
    justify-content: space-between;
    z-index: 2;
}
.cont2 .con {
    width: 45.45%;
}
.cont2 .con p {
    letter-spacing: -0.03em;
}
.cont2 .con p span {
    letter-spacing: normal;
}
.cont2 .photo {
    width: 46.875em;
    margin-left: -12.5em;
    opacity: 0;
}
.cont2 .isAnimate .photo {
    animation: 1.5s slideLeft 0.5s ease forwards;
    transform: translate3d(0, 0, 0);
}
.cont2.rev .inner {
    flex-direction: row-reverse;
}
.cont2.rev .photo {
    margin: 8.5em -12.5em 0 0;
}
.cont2.rev .isAnimate .photo {
    animation: 1.5s slideRight 0.5s ease forwards;
    transform: translate3d(0, 0, 0);
}
.cont2 .whbox {
    width: 50em;
    background-color: #fff;
    box-shadow: 0.375em 0.375em 0.5625em 0 rgba(0,0,0,0.2);
    padding: 3em 3.5em 2em;
    box-sizing: border-box;
    position: absolute;
    left: 50%;
    margin-left: -25em;
    top: 25.375em;
}
.cont2 .whbox h4 {
    font-weight: 500;
    line-height: 1.75;
}
.cont2 .whbox h4 span {
    display: block;
    font-weight: 400;
    letter-spacing: 0.08em;
    color: #00ca41;
    padding-bottom: 3.5em;
    position: relative;
}
.cont2 .whbox h4 span::before {
    content: '';
    width: 1.75em;
    height: 0.15em;
    background-color: #00ca41;
    position: absolute;
    left: 0;
    bottom: 1.75em;
}
.cont2 .whbox ul li {
    font-weight: 700;
    line-height: 1.75;
    margin-bottom: 0.5em;
    padding-left: 1em;
    text-indent: -1em;
}
.cont2 .whbox ul li::before {
    content: '■';
    color: #17c778;
}
.cont2 .whbox.whbox2 {
    position: static;
    width: 100%;
    padding: 3em 2.5em;
    margin: 2.5em 0 0;
}
.cont2 .whbox.whbox2 h5 {
    font-weight: 700;
}
.cont2 .whbox.whbox2 h5 span {
    font-weight: 500;
    color: #00ca41;
}
.cont2 .bg4 {
    width: 43em;
    position: absolute;
    right: 50%;
    margin-right: 13.75em;
    top: 2em;
    z-index: 1;
}
@media only screen and (max-width:750px){
.cont2 {
    padding-bottom: 20vw;
}
.cont2.bg {
    padding-bottom: 20vw;
}
.cont2.bg::before {
    height: 25em;
    top: 28em;
}
.cont2.rev::before {
    height: 15em;
    top: 25em;
}
.cont2 .inner {
    display: block;
}
.cont2 .con {
    width: 100%;
}
.cont2 .con p {
    letter-spacing: normal;
}
.cont2 .photo {
    width: 100vw;
    max-width: inherit;
    margin: 0 0 5vw -6vw;
}
.cont2.rev .photo {
    margin: 0 0 5vw -6vw;
}
.cont2 .whbox {
    width: 100%;
    padding: 2.5em 6vw 2em;
    position: static;
    margin: 1.5em 0 0;
}
.cont2 .whbox h4 {
    font-size: 5vw;
    line-height: 1.45;
}
.cont2 .whbox h4 span {
    font-size: 3vw;
    padding: 0.5em 0 3.5em;
}
.cont2 .whbox ul li {
    font-weight: 700;
    line-height: 1.75;
    margin-bottom: 0.5em;
    padding-left: 1em;
    text-indent: -1em;
}
.cont2 .whbox ul li::before {
    content: '■';
    color: #17c778;
}
.cont2 .whbox.whbox2 {
    position: static;
    width: 100%;
    padding: 3em 2.5em;
    margin: 1.5em 0 0;
}
.cont2 .whbox.whbox2 h5 {
    font-weight: 700;
}
.cont2 .whbox.whbox2 h5 span {
    font-weight: 500;
    color: #00ca41;
}
.cont2 .bg4 {
    width: 30em;
    margin-right: 3em;
    top: 30em;
}
}


/* cont3
------------------------------------------------- */
.cont3 {
    padding-bottom: 8.75em;
    position: relative;
}
.cont3 p {
    padding-top: 2em;
}
@media only screen and (max-width:750px){
.cont3 {
    padding-bottom: 3em;
}
.cont3 p {
    padding-top: 0;
}
.cont3 img {
    width: 100vw;
    max-width: inherit;
    margin: 0 0 5vw -6vw;
}
}