@charset "utf-8";

.pc {
    display: block;
}

.sp {
    display: none;
}

img {
    width: 100%;
}

html {
    font-size: 62.5%;
    /* -> 10px */
}

body {
    color: #fff;
}

.main_color {
    color: #0051A4;
}

.corporate_color {
    color: #0092E5;
}


header {
    top: 28px;
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: 100%;
    z-index: 99;
    padding-right: 130px;
    padding-left: 50px;
}

.society_logomark {
    display: flex;
    justify-content: space-between;
    border: #FFF 1px solid;
    border-radius: 3px;
    height: 43px;
    width: 380px;
    background-color: #FFF;
    opacity: 0.8;
}

.society_logomark li:first-child {
    margin-left: 15px;
    padding-top: 2px;
    width: 86px;
}

.society_logomark li:nth-child(2) {
    /* padding-left: 4px; */
    padding-top: 8px;
    width: 108px;
}

.society_logomark li:nth-child(3) {
    padding-top: 4px;
    width: 36px;
}

.society_logomark li:last-child {
    padding-right: 10px;
    padding-top: 5px;
    width: 75px;
}

#logomark img {
    width: 256px;
}


@keyframes fadeinleft {
    0% {
        opacity: 1;
        transform: translateX(-500px);
    }

    80% {
        opacity: 1;
        transform: translateX(-500px);
    }

    100% {
        position: absolute;
        opacity: 1;
        transform: translateX(0%);
    }
}

@keyframes fadeinright {
    0% {
        transform: translateX(120px);
        opacity: 1;
    }

    80% {
        transform: translateX(120px);
        opacity: 1;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadeinright_elevator {
    0% {
        top: 50%;
        transform: translate(120px, -50%);
        opacity: 1;
    }

    80% {
        top: 50%;
        transform: translate(120px, -50%);
        opacity: 1;
    }

    100% {
        opacity: 1;
        top: 50%;
        transform: translateY(-50%);
    }
}


.top_ttl {
    position: absolute;
    margin-left: 10%;
    padding-top: 35vh;
    z-index: 10;
}

.top_ttl_en {
    font-size: 2rem;
    font-family: 'roboto', sans-serif;
    font-weight: 400;
    margin-bottom: 5px;
}

.top_ttl_jp {
    letter-spacing: 0.1em;
    font-size: 4.2rem;
    font-family: 'noto-sans-jp', sans-serif;
}

.top_morene_logo {
    position: relative;
}

.top_morene_logo img {
    position: absolute;
    width: 120px;
    left: 70%;
    bottom: 55%;
}

.top_p {
    font-size: 2rem;
    line-height: 40px;
    font-family: 'noto-sans-jp', sans-serif;
    margin-top: 14px;
}

.button_readmore p {
    text-align: left;
    font-family: 'roboto', sans-serif;
    font-weight: 400;
    font-size: 2rem;
    margin-top: 28px;
}

.arrow_icon::after {
    display: inline-block;
    width: 42px;
    height: 42px;
    vertical-align: middle;
    padding-top: 3px;
    padding-left: 10px;
    content: url(../img/readmore_arrow_btn.svg);
}


.button_readmore {
    vertical-align: middle;
    width: 240px;
    height: 50px;
}

/* ---　ビデオ背景　https://designsupply-web.com/media/programming/4190/　--- */
.bg-video-wrap {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    /* background: url(./sapmle.png) no-repeat center center/cover; */
    background-color: #000;

}

video {
    position: absolute;
    min-width: 100%;
    /* min-height: 100vh; */
    height: 100vh;
    z-index: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* ---　ビデオ背景　https://designsupply-web.com/media/programming/4190/　--- */


#top {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../img/mv_top_pc.jpg");
}

#service {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("/img/mv_service_pc.jpg");
}

#morene {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("/img/mv_morene_pc.jpg");
}

#works {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("/img/mv_works_pc.jpg");
}

#aboutus {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("/img/mv_aboutus_pc.jpg");
}

#recruit {
    height: 100vh;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../img/mv_recruit_pc.jpg");
}

/* ------------ top_poster pc start -------------- */
#damyImg {
    background-color: #000;
}

.top_description {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


.top_description img {
    width: 159px;
    margin: 0 auto;
    display: block;
}

.top_description figcaption {
    text-align: center;
    margin-top: 25px;
    line-height: 1.5;
}

.asterisk {
    font-size: 1.2rem;

}

.top_description #video-btn h1 {
    font-family: 'roboto';
    font-size: 2rem;
    font-weight: 700;
    padding-top: 210px;
    /* margin-bottom: 0px; */
}

.top_description ul {
    padding-top: 60px;
    margin-top: 40px;
    text-align: center;
    line-height: 1.6;
    font-size: 1.3rem;
}


#videoArea {
    width: 100%;
    height: 100vh;
    /* margin-top: 20px; */
    margin-left: auto;
    margin-right: auto;
    padding: 0;
    /* position: relative; */
}

#videoArea video:focus {
    outline: none;
}

#videoArea #damyImg {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 400;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* #videoArea #damyImg {
  width: 100%;
  height:100vh ;
  position: absolute;
  z-index: 90;
  top: 0;
  left: 0;
} */
#videoArea #video-btn {
    height: auto;
    position: absolute;
    z-index: 400;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
}

#video-btn img {
    width: 100%;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

/* ------------ top_poster pc end -------------- */
/* ------------ lastpage pc start -------------- */

#wrapper_lastpage {
    background: linear-gradient(-90deg, #1EA9C3, #155493);
    height: 100vh;
}

#lastpage {
    position: relative;
}

.lastpage_ttl {
    position: absolute;
    max-width: 550px;
    text-align: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.lastpage_ttl_btn li {
    border: 1px solid;
    padding: 10px;
    /* margin: 21px; */
    /* margin: 0; */
    width: 45%;
    /* display: inline; */
}

.lastpage_ttl p {
    text-align: left;
    font-size: 1.6rem;
    line-height: 3.2rem;
    margin-bottom: 15%;
}

/* @media (max-width: 999px) and (min-width: 770px){
.lastpage_ttl_btn li{
  border: 1px solid;
  padding: 10px 50px;
}
} */
.lastpage_ttl h1 {
    font-size: 2rem;
    margin-bottom: 60px;
}



.lastpage_ttl_btn {
    display: flex;
    justify-content: space-between;
}

.lastpage_ttl_btn li {
    border: 1px solid;
    /* padding: 10px 90px; */
    margin: 0;
}

.lastpage_ttl_btn li:hover {
    border: none;
    background-color: #ffffff80;

}

.btn_area {
    position: absolute;
    display: flex;
    justify-content: space-between;
    right: 10%;
    top: 39%;
    max-width: 624px;
    width: 100%;
}

.btn_area li {
    color: #000;
    font-size: 1.8rem;
    font-family: 'noto-sans-jp', sans-serif;
    background: #ffffff65;
    padding: 16px 10px 10px 16px;
    margin: 20px;
}

/* ------------ lastpage pc end -------------- */
/* ------------ elevator_menu circle start -------------- */
.elevator_menu ul {
    position: fixed;
    right: 56px;
    top: 50%;
    display: block;
    font-size: 1.2rem;
    text-align: center;
    line-height: 5rem;
    padding-right: 20px;
    letter-spacing: 0.2rem;
    z-index: 10;
    transform: translate(0%, -50%);
}

.elevator_menu .circle {
    display: inline-block;
    background-color: #fff;
    border-radius: 50%;
    width: 9px;
    height: 9px;
    margin-left: 10px;
}

.elevator_menu li:last-child:after {
    display: none;
}

/* .elevator_menu li:last-child {
  width: 42px;
  margin-right: -11px;
  display: inline-block;
} */
.elevator_menu .flash {
    z-index: 10;
    animation-name: flash_anim;
    animation-fill-mode: forwards;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    transition-timing-function: ease
}

.elevator_menu .flash:after {
    position: absolute;
    /* content:''; */
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    transform: translate(-5px, -5px);
    border-radius: 10px;
    /* filter: blur(3px); */
    z-index: -1;
}

.circle {
    background-color: #fff;
}

.circle:hover {
    animation-fill-mode: forwards;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}

@keyframes flash_anim {
    0% {
        opacity: 1;
        animation-fill-mode: forwards;
        transform: scale(1);
    }

    50% {
        opacity: 0.4;
        animation-fill-mode: forwards;
        transform: scale(2);
        filter: blur(3px);

    }

    100% {
        opacity: 1;
        animation-fill-mode: forwards;
        transform: scale(1);
    }
}

/* ------------ elevator_menu  circle end -------------- */
/* ------------ マウスオーバーテキスト表示　start -------------- */

.elevatormenu_area {
    position: relative;
    /* 指定した分だけ相対的に移動 */
}

.text1:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text2:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text3:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text4:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text5:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text6:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text7:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text8:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.text9:hover .elevatormenu_text {
    display: inline;
    /* インライン要素として表示 */
}

.elevatormenu_text {
    text-align: right;
    position: absolute;
    display: none;
    padding: 2px;
    width: 180px;
    right: 90%;
    font-size: 1.6rem;
}


/* ------------ マウスオーバーテキスト表示　end -------------- */

/* --------------- elevator_text ふわっと start ------------------- */
/* 右から */

.fadeRight {
    animation-name: fadeRightAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeRightAnime {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* --------------- elevator_text ふわっと end ------------------- */

.elevator_arrow_btn {
    position: absolute;
    width: 44px;
    bottom: 76px;
    right: 57px;
    z-index: 5;
}

#backtotop_text {
    position: absolute;
    font-family: 'noto-sans-jp', sans-serif;
    font-size: 2rem;
    display: block;
    bottom: 0px;
    left: 50%;
    transform: translate(-50%, 0%);
}

.v_line {
    margin-left: 15px;
    width: 2px;
    height: 30px;
    background-color: #fff;
}

#backtotop_text p:hover {
    animation-name: backtotop_anim;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;

}

@keyframes backtotop_anim {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


/* ----------------- motionotext start ----------------------------------- */

.motion_text p {
    position: absolute;
    font-size: 3rem;
    font-weight: 400;
    font-family: 'noto sans jp';
    top: 45%;
    left: 50%;
    transform: translate(-50%, -55%);
    z-index: 5;
    width: 100%;
}


.motion_text p.start_anim {
    color: transparent;
    text-align: center;
    animation-name: start_anim;
    animation-duration: 25s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

@keyframes start_anim {
    0% {
        text-shadow: 0 0 20px rgba(255, 255, 255, 0);
    }

    60% {
        text-shadow: 0 0 20px rgba(255, 255, 255, 0);
    }

    70% {
        text-shadow: 0 0 0 rgb(255, 255, 255);
    }

    80% {
        text-shadow: 0 0 0 rgb(255, 255, 255);
    }

    90% {
        text-shadow: 0 0 20px rgba(255, 255, 255, 0);
    }

    100% {
        text-shadow: 0 0 20px rgba(255, 255, 255, 0);
    }
}

/* .motion_text p{
position: absolute;
font-size: 3rem;
font-weight: 400;
font-family: 'noto sans jp';
top: 45%;
left: 50%;
transform: translate(-50%,-55%);
z-index: 5;
width: 100%;
  } 

  .jojo {
    color: transparent;
    text-align: center;
    animation-name:jojo;
    animation-duration:28s;
    animation-fill-mode:forwards;
    animation-iteration-count:1;
    }

    @keyframes jojo {
      0%  {text-shadow: 0 0 20px rgba(255, 255, 255, 0);}
      60%  {text-shadow: 0 0 20px rgba(255, 255, 255, 0);}
      70%  {text-shadow: 0 0 0 rgb(255, 255, 255);}
      80%  {text-shadow: 0 0 0 rgb(255, 255, 255);}
     90%  {text-shadow: 0 0 20px rgba(255, 255, 255, 0);}
     100%  {text-shadow: 0 0 20px rgba(255, 255, 255, 0);}
      } */

/* ----------------- motionotext end ----------------------------------- */
/* ------------------ サウンドコメント　start ------------------ */
.footer_soundarea_btn p {
    position: absolute;
    top: 90%;
    left: 50%;
    z-index: 10;
    transform: translate(-50%, -10%);
    font-family: 'noto sans jp';
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: .2rem;
}


/* ------------------ サウンドコメント　end ------------------ */


/* ---------- static_btn_area pc start ------------------ */

.footer_soundarea_btn ul {
    display: flex;
    justify-content: center;
    width: 300px;
    text-align: left;
    font-family: 'noto sans jp';
    bottom: 3%;
    left: 50%;
    transform: translateX(-50%);
    height: 22px;
}

.footer_soundarea_btn ul li:last-child {
    padding-left: 5px;
}

.footer_soundarea_btn ul:before {
    content: url(../img/speaker_icon.svg);
    max-width: 30px;
    width: 100%;
    /* margin-right: 20px; */
    /* transform: translateY(px); */
}

.footer_speakerbtn {
    position: absolute;
    letter-spacing: 3px;
    transform: translateX(0%);
    transform: translateY(-110%);
    z-index: 3;
}

.footer_speakerbtn li {
    font-size: 1.5rem;
    border-right: #fff 1px solid;

}

.footer_speakerbtn li:last-child {
    border-right: none;
}

/* ------------------- sound btn start ------------------------- */
.footer_speakerbtn {
    display: flex;
}

.footer_speakerbtn label {
    display: block;
    width: 50px;
    color: #FFF;
    /* margin: 0px auto 10px; */
    box-sizing: border-box;
    text-align: center;
    text-decoration: none;
    border-radius: 30px;
    cursor: pointer;
}

.footer_speakerbtn input:checked + label {
    color: rgba(128, 128, 128, 0.485);

}

.footer_speakerbtn input {
    display: none;
}

/* ------------------- sound btn end ------------------------- */
/* ---------- static_btn_area pc end ------------------ */

.index_aside {
    animation-name: index_staticbtn;
    animation-duration: 10s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
}

@keyframes index_staticbtn {
    0% {
        opacity: 0;
    }

    90% {
        opacity: 0;
    }

    99% {
        opacity: 1;
    }
}

.footer_static_btn_l {
    z-index: 10;
    display: block;
    position: fixed;
    left: 10px;
    bottom: 0px;
    padding-right: 50px;
}

.footer_static_btn {
    z-index: 10;
    display: block;
    position: fixed;
    right: 10px;
    bottom: 0px;
    padding-right: 50px;
}

.footer_btn {
    font-size: 1.3rem;
    display: flex;
}

.footer_btn_l li {
    display: block;
    font-weight: 400;
    color: #000;
    width: 170px;
    text-align: center;
    padding: 10px;
    margin-left: 60px;
    border-radius: 5px 5px 0 0;
    background-color: #ffffff;
    height: 45px;
    padding-top: 15px;
}

.footer_btn li {
    display: block;
    font-weight: 400;
    color: #000;
    width: 150px;
    text-align: center;
    padding: 10px;
    margin-left: 20px;
    border-radius: 5px 5px 0 0;
    background-color: #ffffff;
    height: 45px;
    padding-top: 16px;
}


.footer_btn li:hover {
    color: #ffffff;
    background-color: #ffffff79;
    transition: background-color 1s;
}

.footer_btn_l li:hover {
    color: #ffffff;
    background-color: #ffffff79;
    transition: background-color 1s;
}

.society_btn:before {
    content: '';
    background-image: url(../img/society_icon_top.svg);
    background-repeat: no-repeat;
    width: 25px;
    height: 20px;
    padding-right: 35px;
    vertical-align: middle;
    display: inline-block;
}

.society_btn {
    font-size: 1.3rem;
}

.top_contact_btn:before {
    content: url(../img/mail_icon_top.svg);
    width: 16px;
    padding-right: 5px;
    vertical-align: middle;
}

.top_download_btn:before {
    content: url(../img/download_icon_top.svg);
    width: 16px;
    padding-right: 5px;
    vertical-align: middle;
}

.contact_btn:before {
    content: url(../img/mail_icon_top.svg);
    width: 16px;
    padding-right: 5px;
    vertical-align: middle;
}

.download_btn:before {
    content: url(../img/download_icon_top.svg);
    width: 16px;
    padding-right: 5px;
    vertical-align: middle;
}

.footer_btn .download_btn {
    padding-top: 12px;
}

/* // Safari対応*/
::-webkit-full-page-media,
:future,
:root .download_btn {
    position: relative;
}

::-webkit-full-page-media,
:future,
:root .download_btn:before {
    padding-top: 5px;
    position: absolute;
    left: 8%;
}

::-webkit-full-page-media,
:future,
:root .download_btn a {
    position: absolute;
    width: 100%;
    top: 32%;
    left: 8%;
}

/* // FireFox対応 */
@-moz-document url-prefix() {
    .download_btn::before {
        content: url(../img/download_icon_top.svg);
        width: 16px;
        padding-right: 5px;
        /* vertical-align: -moz-middle-with-baseline; */
        padding-top: 10px;
    }
}


/* // Safari対応 */
::-webkit-full-page-media,
:future,
:root .footer_btn li:last-child {
    padding-top: 5px;
}

/* ---------- static_btn_area pc index_aside end ------------------ */


.fadein {
    animation: fadeIn 5s ease 0s 1 normal;
    -webkit-animation: fadeIn 5s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}


/* ---------- static_btn_area sp start ------------------ */
@media screen and (max-width:769px) {

    .footer_static_btn_sp {
        z-index: 1;
        display: block;
        position: fixed;
        width: 80%;
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
    }

    .footer_btn_sp {
        display: flex;
        justify-content: space-between;
        width: 100%;
        margin: 0 auto;
    }

    .footer_btn_sp {
        display: flex;
        justify-content: space-between;
    }

    .footer_btn_sp li:first-child img {
        width: 35px;
    }

    .footer_btn_sp li img {
        width: 30px;
    }

    .nextpage_btn_sp img {
        transform: translateY(-4px);
    }
}

/* ---------- static_btn_area sp end ------------------ */


/* -------------- ふわっと2  start ---------------- */
.box {
    /* width: 220px; */
    /* padding: 20px;
  margin:0 20px 20px 0; */
    /* background: #666; */
    /* color: #fff; */
    box-sizing: border-box;
}

/*==================================================
ふわっ
===================================*/
/* fadeUp */
.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 3s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(200px);
        /* transform: matrix(1, 0, 0, 1, 0, 0); */
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.fadeUpTrigger {
    /*opacity: 0;*/
}

/* -------------- ふわっと2  end ---------------- */
/*==================================================
アニメーション設定
===================================*/

/* アニメーション１回分の時間の長さを指定するCSS*/

.change-time1 {
    animation-duration: 1s;
}

.change-time2 {
    animation-duration: 2s;
}

.change-time3 {
    animation-duration: 3s;
}

.change-time4 {
    animation-duration: 4s;
}

/*==================================================
アニメーションをまとめて設定する
===================================*/

/* --------------- elevator_text ふわっと start ------------------- */
/* 右から */

.fadeleft {
    animation-name: fadeleftAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeleftAnime {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* --------------- elevator_text ふわっと end ------------------- */


/* -----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
-----------------------------------------------------------------
----------------------------------------------------------------- */

@media screen and (max-width:769px) {


    .sp {
        display: block;
    }

    .pc {
        display: none;
    }

    header {
        top: 20px;
        margin-left: 20px;
        padding-left: 0px;
        width: 0%;
    }

    #logomark img {
        width: 75px;
        margin: 0;
        z-index: 100;
    }

    .society_logomark {
        display: none;
    }

    .top_ttl {
        font-family: 'noto sans jp';
        margin-left: 5%;
        padding-top: 50%;
        /*transform: translateY(-50%);*/
        z-index: 10;
    }

    .morene_ttl_sp {
        top: 10%;
    }

    .top_ttl_morene {
        font-family: 'noto sans jp';
        margin-left: 5%;
        padding-top: 70%;
        transform: translateY(-50%);
        z-index: 10;
    }

    .top_ttl_jp {
        font-size: 3rem;
        font-family: 'noto-sans-jp', sans-serif;
    }

    .top_p {
        font-size: 1.6rem;
        line-height: 2.3rem;
        font-family: 'noto-sans-jp', sans-serif;
        margin-top: 10px;
    }

    video {
        position: absolute;
        width: auto;
        height: 100vh;
        z-index: 1;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }


    /* --------------------------------------------------------------- */
    /* --------------------------------------------------------------- */
    /* --------------------------------------------------------------- */


    .motion_text_sp p {
        position: absolute;
        font-size: 3rem;
        font-weight: 400;
        font-family: 'noto sans jp';
        top: 45%;
        left: 50%;
        transform: translate(-50%, -55%);
        z-index: 5;
        font-size: 2.5rem;
        width: 85%;
        line-height: 3.5rem;
    }

    .jojo_sp {
        color: transparent;
        text-align: center;
        animation-name: jojo_sp;
        animation-duration: 28s;
        animation-fill-mode: forwards;
        animation-iteration-count: 1;
    }

    @keyframes jojo_sp {
        0% {
            text-shadow: 0 0 20px rgba(255, 255, 255, 0);
        }

        60% {
            text-shadow: 0 0 20px rgba(255, 255, 255, 0);
        }

        70% {
            text-shadow: 0 0 0 rgb(255, 255, 255);
        }

        80% {
            text-shadow: 0 0 0 rgb(255, 255, 255);
        }

        90% {
            text-shadow: 0 0 20px rgba(255, 255, 255, 0);
        }

        100% {
            text-shadow: 0 0 20px rgba(255, 255, 255, 0);
        }
    }

    /* 
<div class="motion_text_sp">
<p class="jojo_sp">
    防水・塗装から、土木・建築まで、幅広く事業を行っています
</p>
</div> */


    /* --------------------------------------------------------------- */
    /* --------------------------------------------------------------- */
    /* --------------------------------------------------------------- */

    .button_readmore p {
        margin-top: 5px;
    }

    .footer_static_btn {
        z-index: 10;
        display: block;
        position: fixed;
        right: 0;
        bottom: 0px;
        margin: 0 auto;
        width: 100%;
        padding-right: 0 50px;
    }



    .top_morene_logo {
        position: relative;
    }

    .top_morene_logo img {
        position: absolute;
        width: 100px;
        left: 1%;
        margin-bottom: 10px;
    }

    #backtotop_text {
        position: absolute;
        font-family: 'noto-sans-jp', sans-serif;
        font-size: 2rem;
        display: block;
        bottom: -20px;
        left: 90%;
        transform: translate(-50%, 0%);
    }


    /* ------------ lastpage sp start -------------- */

    body {
        width: 100%;
        background: linear-gradient(-90deg, #1EA9C3, #155493);
    }

    .lastpage_ttl {
        position: absolute;
        width: 90%;
        padding-top: 30%;
        top: 75%;
        padding-bottom: 30%;
    }

    .lastpage_ttl h1 {
        font-size: 2rem;
        font-weight: 500;
        margin-bottom: 30px;
        line-height: 1.8;
    }

    .lastpage_ttl p {
        text-align: left;
        font-size: 1.6rem;
        line-height: 3.2rem;
        margin-bottom: 0%;
    }

    .lastpage_ttl h2 {
        font-size: 2rem;
    }

    .lastpage_ttl h2:before {
        content: url(../img/pagetop_arrow.svg);
        width: 16px;
        display: block;
        margin: 0 auto;
    }

    .btn_area {
        position: absolute;
        display: flex;
        justify-content: space-between;
        right: 10%;
        top: 39%;
        max-width: 624px;
        width: 100%;
    }

    .btn_area li {
        color: #000;
        font-size: 1.8rem;
        font-family: 'noto-sans-jp', sans-serif;
        background: #ffffff65;
        padding: 16px 10px 10px 16px;
        margin: 20px;
    }

    .lastpage_ttl_btn li {
        border: 1px solid;
        padding: 4% 10%;
        font-weight: 500;
        margin-top: 20px;
    }

    /* ------------ lastpage sp end -------------- */


}
