@charset "utf-8";
@media only screen and (max-width: 750px) {
    /*--------------------*/
    /*---- sp_cont.css ----*/
    /*--------------------*/

    /*----- common ------*/
    html {
        font-size: 620%;
        overflow: auto;
    }

    body {
        -webkit-text-size-adjust: 100%;
        font-size: .14em;
        overflow: hidden;
        background: #F7F8FA;
    }

    body * {
		letter-spacing: 0.05em;
	}
    
    img {
        width: 100%;
        max-width: 100%;
        height: auto;
        vertical-align: bottom;
    }

    a {
        text-decoration: none;
    }

    .spNone {
        display: none !important;
    }

    .container {
        padding: 0 20px;
    }

   .sectionTitleWrap {
       text-align: center;
   }

   .sectionTitle {
       display: inline-block;
       padding: 0 25px;
       position: relative;
       font-size: .3rem;
       font-weight: 700;
       line-height: 1.2;
       color: #333;
   }

   .companyWrap .sectionTitle,
   .qaWrap .sectionTitle,
   .contactWrap .sectionTitle,
   .pageContactWrap .sectionTitle {
       font-size: .25rem;
   }

   .sectionTitle::before,
   .sectionTitle::after {
       content: "";
       width: 16px;
       height: 16px;
       margin: auto;
       position: absolute;
       top: 3px;
       bottom: 0;
       background: url(../img/section_title_item.svg) no-repeat;
       background-size: 16px 16px;
   }

   .sectionTitle::before {
       left: 0;
   }

   .sectionTitle::after {
       right: 0;
   }


    /*----- ページトップボタン -----*/
    .pageTopBtn {
        position: fixed;
        right: 10px;
        bottom: 0;
        z-index: 100;
    }

    .pageTopBtn a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 50px;
        height: 50px;
        margin: 0 0 30px;
        background: url(../img/pagetop.svg) no-repeat;
        background-size: 50px;
    }


   /*----- header -----*/
   .header {
       margin: auto;
       padding: 20px 20px 0;
       position: absolute;
       top: 0;
       left: 0;
       z-index: 999;
   }

   .headerLogo {
        width: 184px;
   }

   .headerLogo img {
        width: 100%;
        height: auto;
   }


   /*----- main -----*/
   .mainWrap {
       min-height: 665px;
       /*! position: relative; */
       position: absolute;
       top: 0px;
       width: 100%;
       /*height: 100%;*/
   }

   .mainWrap.image_a::before {
       content: "";
       display: block;
       width: 100%;
       min-height: 171vw;
       position: absolute;
       top: 0;
       left: 0;
       background: url(../img/main_image_sp_1.jpg) no-repeat;
       background-size: cover;
       background-position: top center;
       z-index: -1;
   }
    .mainWrap.image_b::before {
       content: "";
       display: block;
       width: 100%;
       min-height: 171vw;
       position: absolute;
       top: 0;
       left: 0;
       background: url(../img/main_image_sp_2.jpg) no-repeat;
       background-size: cover;
       background-position: top center;
       z-index: -1;
   }
   .mainWrap.image_c::before {
    content: "";
    display: block;
    width: 100%;
    min-height: 171vw;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/main_image_sp_3.jpg) no-repeat;
    background-size: cover;
    background-position: top center;
    z-index: -1;
}
    
    #formCont .mainWrap.image_a::before {
       content: "";
       display: block;
       width: 100%;
       min-height: 84vw;
       position: absolute;
       top: 0;
       left: 0;
       background: url(../img/header_image_sp_1.jpg) no-repeat;
       background-size: cover;
       background-position: top center;
       z-index: -1;
   }
    #formCont .mainWrap.image_b::before {
       content: "";
       display: block;
       width: 100%;
       min-height: 84vw;
       position: absolute;
       top: 0;
       left: 0;
       background: url(../img/header_image_sp_2.jpg) no-repeat;
       background-size: cover;
       background-position: top center;
       z-index: -1;
   }
   #formCont .mainWrap.image_c::before {
    content: "";
    display: block;
    width: 100%;
    min-height: 84vw;
    position: absolute;
    top: 0;
    left: 0;
    background: url(../img/header_image_sp_3.jpg) no-repeat;
    background-size: cover;
    background-position: top center;
    z-index: -1;
}

   .mainCopy {
       padding: 100px 16px 0 0;
   }

   @keyframes scroll-right {
       from {
           transform: translateX(-100%);
       }

       to {
           transform: translateX(0);
       }
   }


      /*----- slider -----*/
   .mainBottomWrap {
       width: 100%;
       min-height: 62vw;
       /*margin: 585px 0 0;*/
       margin-top: 150%;
       position: relative;
       background: url(../img/main_sp.png) no-repeat;
       background-size: cover;
   }
    .mainBottomWrap::before {
        content: "";
        width: 100%;
        position: absolute;
        top: 100px;
        left: 0;
        background: #F7F8FA;
        z-index: -1;
    }

   .sliderWrap {
       display: flex;
       position: absolute;
       top: 46px;
       left: 0;
       overflow: hidden;
   }

   .slider {
       display: flex;
       animation: scroll-right 40s infinite linear 0.5s both;
   }

   .sliderItem {
       width: 135px;
       margin: 15px 15px 15px 0;
       box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.07);
   }

   .sliderItem img {
       width: 100%;
   }


   /*----- thought -----*/
   .thoughtWrap {
       padding-bottom: 56px;
       margin-top: -18vw;
       background: #F9F9F9;
   }

   .thoughtHead {
       position: relative;
       padding: 0 0 38px;
       font-size: .28rem;
       font-weight: 500;
       line-height: 1.3;
       text-align: left;
       color: #144987;
   }

   .thoughtHead span {
       font-size: .36rem;
       font-weight: 900;
   }

   .thoughtHead::after {
       content: "";
       width: 78px;
       height: 13px;
       margin: auto;
       position: absolute;
       bottom: 0;
       left: 0;
       right: 0;
       background: url(../img/thought_head_item.svg) no-repeat;
       background-size: 78px 13px;
   }

   .thoughtInner {
       margin: 18px 0 0;
   }

   .thoughtText {
       font-size: .18rem;
       line-height: 1.9;
   }

   .thoughtImage {
        max-width: 180px;
        margin: 17px auto 0;
   }


   /*----- cta -----*/
    .ctaWrap {
        background: #F9F9F9;
    }
    
   .ctaTop {
       width: 100%;
       /*min-height: 405px;*/
       padding: 18px 20px 280px;
       text-align: center;
       background: url(../img/cta_bg_sp.jpg) no-repeat;
       background-size: 100% 100%;
       border-radius: 13px;
   }

   .ctaHead {
       display: inline-block;
       margin: 0 auto 0 auto;
       padding: 4px 0 4px 60px;
       position: relative;
       font-size: .25rem;
       font-weight: 700;
       line-height: 1.4;
       text-align: left;
       color: #fff;
   }

   .ctaHead::before {
       content: "";
       width: 40px;
       height: 38px;
       margin: auto;
       position: absolute;
       top: 0;
       bottom: 0;
       left: 0;
       background: url(../img/icon_cta_sp.svg) no-repeat;
       background-size: 40px 38px;
   }

   .ctaText {
       margin: 16px 0 0;
       font-size: .17rem;
       line-height: 1.7;
       text-align: left;
       color: #fff;
   }

   .ctaBottom {
       margin: -255px 0 0;
       padding: 0 20px;
       position: relative;
       z-index: 1;
   }

   .ctaBox {
       width: 100%;
       margin: 0 0 20px;
       padding: 0 17px;
       background: #fff;
       text-align: center;
       border-radius: 15px;
       box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.05);
   }
   .ctaBox:last-child {
       margin-bottom: 0;
   }

   .ctaBoxTel {
    padding: 26px 0 24px;
   }

   .ctaMCopy {
        display: flex;
        justify-content:center;
        align-items: center;
        width: 100%;
        margin: 0px 0 0;
        font-size: .15rem;
        font-weight: 700;
        line-height: .21rem;
    }
    .ctaMCopy div {
        display: inline-block;
    }
    .ctaMCopy .decoration {
        color: #F94E00;
    }

   .ctaTel {
       display: inline-block;
       position: relative;
       margin-top: 12px;
       padding: 0 0 0 32px;
       font-size: .27rem;
       font-weight: 900;
   }

   .ctaTel a {
       color: #144987;
   }

   .ctaTel::before {
       content: "";
       width: 25px;
       height: 30px;
       margin: auto;
       position: absolute;
       top: 3px;
       bottom: 0;
       left: 0;
       background: url(../img/icon_tel.svg) no-repeat;
       background-size: 25px 30px;
   }

   .ctaTelTime {
        display: block;
       margin: 8px 0 0;
       font-size: .15rem;
       font-weight: 700;
       line-height: 1.6;
       color: #144987;
   }

   .ctaBoxButton {
        padding: 20px 20px 24px;
   }

   .ctaButton {
       display: flex;
       justify-content: center;
       width: 100%;
       height: 75px;
       margin-top: 15px;
       padding: 17px 0 0;
       background: #FF5E14;
       box-shadow: 0px 4px 0px #AA3500;
       border-radius: 10px;
   }

   .ctaButton .icon {
       display: block;
       width: 23px;
       height: 19px;
       margin: 0 10px 0 0;
       background: url(../img/icon_mail.svg) no-repeat;
       background-size: 23px 19px;
   }

   .ctaButton .text {
        margin: -3px 0 0;
       font-size: .18rem;
       font-weight: 700;
       line-height: 1.4;
       color: #fff;
   }

   .ctaButton .text span {
       display: block;
       margin-top: 2px;
       margin-left: -30px;
       font-size: .15rem;
       font-weight: 400;
   }


   /*----- feature -----*/
   .featureWrap {
       margin: 70px 0 0;
   }

   .featureContent {
       margin: 45px 0 0;
   }

   .featureItem {
       position: relative;
       margin: 0 0 36px;
   }
   .featureItem:last-child {
       margin-bottom: 0;
   }

   .featureImage {
       width: 170px;
       margin: 0 auto;
   }

   .featureImage img {
       display: inline-block;
   }

   .featureInner {
       margin: 48px 0 0;
       position: relative;
   }

   .featureInner::after {
        content: "";
       width: 1100px;
       height: 257px;
       position: absolute;
       top: -15px;
       left: -114px;
       background: url(../img/feature_bg_1.png) no-repeat;
       background-size: 1100px 257px;
       z-index: -1;
   }

   .featurePoint {
       width: 199px;
   }

   .featureTextWrap {
       margin: 20px 0 0;
   }

   .featureItem:nth-child(2) .featureTextWrap {
       margin: 26px auto 0 0;
   }

   .featureHead {
       font-size: .27rem;
       font-weight: 700;
       line-height: 1.4;
       color: #144987;
   }

   .featureText {
       margin: 20px 0 0;
       font-size: .17rem;
       line-height: 1.7;
   }

   .featureText span {
       font-weight: 700;
   }


   /*----- case -----*/
   .caseWrap {
       margin: 68px 0;
   }

   .caseContent {
       margin: 68px 0 0;
   }

   .case {
       margin: 0 0 50px;
       position: relative;
   }

   .caseItem {
       position: relative;
   }

   .caseTag {
       width: calc(100% - 46px);
       margin: 0 0 -27px;
       position: relative;
       left: 26px;
       background: #144987;
       font-size: .19rem;
       font-weight: 700;
       color: #fff;
       text-align: center;
       border-radius: 5px;
       z-index: 1;
   }

   .caseTag::before,
   .caseTag::after {
       content: "";
       width: 100%;
       height: 100%;
       position: absolute;
       top: -6px;
       left: -6px;
       border-radius: 5px;
   }

   .caseTag::before {
       background: transparent;
       border: solid 1px #8EB9EB;
       z-index: 1;
   }

   .caseTag::after {
       background: #fff;
       z-index: -1;
   }

    .caseTagText {
        display: block;
        padding: 10px 20px 16px 20px;
        background: #144987;
        font-size: .19rem;
        font-weight: 700;
        line-height: 1.5;
        color: #fff;
        text-align: center;
        border-radius: 5px;
    }

    .caseTagText span small {
        font-size: .17rem;
    }

   .caseInner {
       padding: 74px 20px 244px;
        background: url(../img/case_item_bg_sp.png) no-repeat;
        background-size: cover;
        background-position: center;
   }

   .caseHead {
       padding: 0 0 0 24px;
       position: relative;
       font-size: .27rem;
       font-weight: 700;
       line-height: 1.4;
       color: #F94E00;
   }

   .caseHead::before {
       content: "";
       width: 73px;
       height: 58px;
       position: absolute;
       top: -32px;
       left: -22px;
       background: url(../img/case_head_item_sp.svg) no-repeat;
       background-size: 73px 58px;
   }

   .caseText {
       margin: 18px 0 0;
       font-size: .17rem;
       line-height: 1.8;
   }

   .caseImageWrap {
        margin: -216px 0 0;
        padding: 0 20px;
   }

   .caseImageItem {
       width: 100%;
       min-height: 100%;
       background: #fff;
       box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.05);
       border-radius: 12px;
   }

   .caseImage {
       border-radius: 12px 12px 0 0;
       overflow: hidden;
   }

   .caseImage img {
       width: 100%;
       height: auto;
   }

   .caseImageInner {
       padding: 16px 20px 24px;
   }

   .caseImageHead {
       font-size: .18rem;
       font-weight: 700;
       line-height: 1.8;
   }

   .caseImageText {
       margin: 16px 0 0;
       font-size: .15rem;
       line-height: 1.6;
   }

   .caseBottom {
       margin: -25px 0 0;
       padding: 28px 20px 28px;
       background: url(../img/case_bottom_bg.png) no-repeat;
       background-size: cover;
       font-size: .19rem;
       font-weight: 700;
       line-height: 1.6;
       color: #144987;
   }

   .caseSlider {
        position: relative;
        box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.05);
   }

    /* Slider */
    .slick-slider {
        position: relative;
    }

    .slick-list {
        overflow: hidden;
    }

    .slick-track {
        display: flex;
    }

    /* Arrows */
    .slick-prev,
    .slick-next {
        display: block;
        width: 36px;
        height: 36px;
        padding: 0;
        position: absolute;
        top: 52%;
        color: transparent;
        border: none;
        transform: translateY(-50%);
        cursor: pointer;
        z-index: 1;
    }

    .slick-prev {
        left: -18px;
        background: url(../img/slider_prev_sp.svg) no-repeat;
        background-size: 36px;
    }

    .slick-next {
        right: -18px;
        background: url(../img/slider_next_sp.svg) no-repeat;
        background-size: 36px;
    }



   /*----- skill -----*/
   .skillWrap {
       margin: 76px 0 0;
   }

   .skillContent {
       margin: 30px 0 0;
   }

   .skillItem {
       margin: 0 0 25px;
       position: relative;
   }
   .skillItem:last-child {
       margin-bottom: 0;
   }

   .skillImage {
       width: 231px;
       height: 103px;
       margin: 0 0 0 5px;
       background-image: url(../img/skill_image_sp.svg);
       background-size: 231px 103px;
   }
    
    .skillItem:nth-child(1) .skillImage div {
        position: absolute;
        top: 21px;
        left: 88px;
    }
    .skillItem:nth-child(2) .skillImage div {
        position: absolute;
        top: 22px;
        left: 88px;
    }
    .skillItem:nth-child(3) .skillImage div {
        position: absolute;
        top: 21px;
        left: 88px;
    }
    .skillItem:nth-child(4) .skillImage div {
        position: absolute;
        top: 21px;
        left: 86px;
    }
    
    .icon_skil_1 {
        width: 65px;
        height: 55px;
        /*margin: 21px 0px 0px 88px;*/
    }
    .icon_skil_2 {
        width: 63px;
        height: 55px;
        /*margin: 22px 0px 0px 88px;*/
    }
    .icon_skil_3 {
        width: 66px;
        height: 55px;
        /*margin: 21px 0px 0px 88px;*/
    }
    .icon_skil_4 {
        width: 66px;
        height: 55px;
        /*margin: 21px 0px 0px 86px;*/
    }

   .skillInner {
       display: flex;
       margin: -13px 0 0;
       padding: 22px 25px;
       position: relative;
       background: #fff;
       box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.05);
       border-radius: 12px;
   }

   .skillInner div {
       flex: 1;
   }

   .skillHead {
       padding: 0 0 0 16px;
       position: relative;
       font-size: .22rem;
       font-weight: 700;
       line-height: 1.4;
       color: #144987;
   }

   .skillHead::before {
       content: "";
       width: 6px;
       height: 30px;
       position: absolute;
       top: 1px;
       left: 0;
       background: #F94E00;
   }

   .skillText {
       margin: 14px 0 0;
       font-size: .16rem;
       line-height: 1.7;
   }
   .skillText.leftBox {
       width: calc(100vw - 220px);
       min-height: 100px;
   }

   .skillPronet {
       position: absolute;
       top: 18px;
       right: 20px;
       width: 120px;
       margin: 54px 0 0 14px;
   }

   .skillPronet img {
       width: 120px;
       height: 96px;
   }


   /*----- actual -----*/
   .actualWrap {
       margin: 70px 0 0;
       padding: 55px 0 42px;
       position: relative;
       background: #fff;
   }

   .actualWrap::before,
   .actualWrap::after {
       content: "";
       width: 140px;
       height: 40px;
       position: absolute;
       top: 0;
       left: 0;
       background: url(../img/actual_item_sp_1.png) no-repeat;
       background-size: 140px 40px;
   }

   .actualWrap::after {
       left: auto;
       right: 0;
       background: url(../img/actual_item_sp_2.png) no-repeat;
       background-size: 140px 40px;
   }

   .actualTitle {
       width: 290px;
       height: 77px;
       margin: 0 auto;
       padding: 24px 0 0;
       background: url(../img/actual_title_bg.svg) no-repeat;
       background-size: 290px 77px;
       font-size: .25rem;
       font-weight: 700;
       color: #fff;
       text-align: center;
   }

   .actualText {
       margin: 20px 0 0;
       font-size: .18rem;
       line-height: 1.8;
   }

   .actualSliderWrap {
       margin: 28px 0 0;
       padding: 28px 0 25px;
       background: url(../img/actual_slider_bg_sp.png) no-repeat;
       background-size: cover;
       background-position: center;
   }

   .actualSlider {
       display: flex;
       overflow: hidden;
   }

   @keyframes actual-right {
       from {
           transform: translateX(-100%);
       }

       to {
           transform: translateX(0);
       }
   }

   @keyframes actual-left {
       from {
           transform: translateX(0);
       }

       to {
           transform: translateX(-100%);
       }
   }

   .actualSlider1 {
       display: flex;
       animation: actual-right 100s infinite linear 0.5s both;
   }

   .actualSlider2 {
       display: flex;
       animation: actual-left 100s infinite linear 0.5s both;
   }

   .actualSlider1>div,
   .actualSlider2>div {
       width: 230px;
   }

   .actualSlider img {
       width: 100%;
       height: auto;
   }

   .actualLogoWrap {
       display: flex;
       flex-wrap: wrap;
       justify-content: center;
       margin: 20px 0 -10px;
   }

   .actualLogo {
       width: 165px;
   }

   .actualLogo img {
       width: 100%;
       height: auto;
   }


   /*----- comment -----*/
   .commentWrap {
       margin: 68px 0 108px;
   }

   .commentBox {
       position: relative;
       background: #fff;
       border: solid 3px #144987;
   }

   .commentBox::after {
       content: "";
       width: 60px;
       height: 55px;
       position: absolute;
       bottom: -55px;
       right: 65px;
       background: url(../img/comment_arrow_1.png) no-repeat;
       background-size: 60px 55px;
   }

   .commentBoxBg {
       width: 100%;
       height: 100%;
       position: absolute;
       bottom: -8px;
       right: -8px;
       background: #144987;
       z-index: -1;
   }

   .commentBoxBg::after {
       content: "";
       width: 63px;
       height: 58px;
       position: absolute;
       right: 65px;
       bottom: -58px;
       background: url(../img/comment_arrow_2.png) no-repeat;
       background-size: 63px 58px;
   }

   .commentHead {
       width: 293px;
       height: 110px;
       margin: 0 auto;
       padding: 24px 0 0;
       background: url(../img/comment_head_bg_sp.svg) no-repeat;
       background-size: 293px 110px;
       font-size: .24rem;
       font-weight: 700;
       line-height: 1.3;
       color: #144987;
       text-align: center;
   }

   .commentTop {
       padding: 26px 20px;
       background: #E2F7FF;
       text-align: center;
   }

   .commentName {
       margin: 14px 0 0;
       font-size: .18rem;
       font-weight: 700;
       line-height: 1.4;
       color: #144987;
   }

   .commentName span {
       display: block;
   }

   .commentTextWrap {
       padding: 25px 20px 30px 20px;
   }

   .commentTextWrap p {
       margin: 0 0 26px;
       font-size: .18rem;
       line-height: 1.8;
   }

   .commentTextWrap p:last-of-type {
       margin-bottom: 0;
   }


   /*----- company -----*/
   .companyWrap {
       margin: 70px 0 0;
       padding: 54px 0;
       background-color: #fff;
   }

   .companyTableWrap {
       margin: 30px auto 0;
   }

   .companyTable tr {
        display: block;
        margin: 0 0 30px;
   }
   .companyTable tr:last-child {
        margin-bottom: 0;
   }

   .companyTable th,
   .companyTable td {
        display: block;
       font-size: .17rem;
       line-height: 1.5;
   }

   .companyTable th {
        margin: 0 0 4px;
       font-weight: 700;
       text-align: left;
   }

   .companyTable td:nth-child(2) {
        margin: 0 0 30px;
   }

   .companyTable tr:last-child td:nth-child(2) {
        margin: 0;
   }


   /*----- qa -----*/
   .qaWrap {
       margin: 70px 0 92px;
   }

   .qaContent {
       margin: 30px 0 0;
   }

   .qaItem {
       margin: 0 0 20px;
       background: #fff;
   }
   .qaItem:last-child {
       margin-bottom: 0;
   }

   .qItem {
       padding: 16px 20px 16px 50px;
       position: relative;
       background: #144987;
   }

   .qItem::before {
       content: "Q";
       position: absolute;
       top: 15px;
       left: 14px;
       font-size: .24rem;
       font-weight: 900;
       color: #fff;
   }

   .qText {
       font-size: .16rem;
       font-weight: 700;
       line-height: 1.6;
       color: #fff;
   }

   .aItem {
       padding: 16px 20px 16px 50px;
       position: relative;
   }

   .aItem::before {
       content: "A";
       position: absolute;
       top: 16px;
       left: 14px;
       font-size: .24rem;
       font-weight: 900;
       color: #144987;
   }

   .aText {
       font-size: .16rem;
       line-height: 1.6;
   }

   .aText span {
       color: #F94E00;
   }


   /*----- contact -----*/
   .contactWrap {
       padding: 58px 0 114px;
       background: #C6EFF4;
       z-index: 10000;
   }

   .contactText {
       margin: 36px 0 0;
       font-size: .17rem;
       line-height: 1.8;
   }

   .contactRequired {
       margin: 20px 0 0;
       font-size: .15rem;
       line-height: 1.6;
       color: #F94E00;
   }

   .contactForm {
       margin: 34px 0 0;
   }

   .formGroup {
       margin: 0 0 30px;
   }
   .formGroup:last-child {
       margin-bottom: 0;
   }

   .formHead {
        margin: 0 0 8px;
       font-size: .17rem;
       font-weight: 700;
       line-height: 1.8;
   }

   .formItem {
       width: 100%;
   }

   .formControl {
       width: 100%;
       padding: 14px 18px;
       background: #fff;
       font-size: .17rem;
       border: 2px solid #144987;
       border-radius: 6px;
   }

    ::placeholder {
        color: #AFAFAF;
    }
    ::-webkit-input-placeholder {
        color: #AFAFAF;
    }
    :-ms-input-placeholder {
        color: #AFAFAF;
    }

   .formTextarea {
       height: 208px;
       resize: vertical;
   }

    .formText {
        font-size: .17rem;
        line-height: 1.6;
    }

    .formError {
        position: relative;
        padding: 14px 18px 14px 50px;
        background: #FFEA92;
        font-size: .17rem;
        font-weight: 700;
        line-height: 1.4;
        color: #F94E00;
        border-radius: 6px;
    }

    .formError:before {
        content: "";
        width: 30px;
        height: 30px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 10px;
        background: url(../img/error_item.svg) no-repeat;
        background-size: 30px;
        animation: blink .5s ease-in-out infinite alternate;
    }

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

        100% {
            opacity: 1;
        }
    }

   .consentCheckbox {
       display: none;
   }

   .consentText {
        display: block;
       padding: 2px 0 2px 42px;
       position: relative;
       font-size: .18rem;
       line-height: 1.6;
   }

   .consentText::before {
       content: "";
       display: block;
       width: 28px;
       height: 28px;
       position: absolute;
       top: 0;
       left: 0;
       background: #fff;
       border: solid 2px #144987;
       border-radius: 5px;
       cursor: pointer;
   }

   .consentCheckbox:checked+.consentText:before {
       background: #144987;
       border-color: #144987;
   }

   .consentCheckbox:checked+.consentText:after {
       content: "";
       display: block;
       width: 20px;
       height: 17px;
       position: absolute;
       top: 7px;
       left: 6px;
       background: url(../img/form_check.svg) no-repeat;
       background-size: 20px 17px;
   }
    
    .consentText a {
       text-decoration: underline;
   }

   .formButtonWrap {
       display: flex;
       align-items: center;
       justify-content: center;
       width: 100%;
       margin: 38px 0 0;
   }

   .formButton {
       display: flex;
       align-items: center;
       justify-content: center;
       width: 270px;
       height: 60px;
       background: #FF5E14;
       font-size: .22rem;
       font-weight: 700;
       color: #fff;
       border: solid 1px #FF5E14;
       box-shadow: 0px 4px 0px #AA3500;
       border-radius: 200px;
       cursor: pointer;
   }

    .formButton.confirm {
        width: 180px;
    }

    .formButton.back {
        width: 140px;
        margin: 0 15px 0 0;
        background: #fff;
        font-weight: 400;
        color: #222;
        border: 1px solid #CBCBCB;
        box-shadow: 0px 3px 0px #C0C0C0;
    }


    /*----- page -----*/
    .pageMainWrap {
        min-height: 435px;
    }

   .pageMainWrap::before {
       min-height: 435px;
       background: url(../img/main_image_cont_sp_1.jpg) no-repeat;
       background-size: cover;
       background-position: top center;
   }

    .pageMainBottomWrap {
       width: 100%;
       min-height: 42vw;
       margin-top: 63%;
       position: relative;
       background: url(../img/cont_sp.png) no-repeat;
       background-size: cover;
    }

    .pageMainBottomWrap_2 {
        width: 100%;
        height: 195px;
        margin-top: 0px;
        position: relative;
        background: url(../img/header_image_sp_cont.jpg) no-repeat;
        background-size: cover;
        background-position: center;
     }
    
    #formCont .pageMainBottomWrap {
        margin-top: 300;
    }

    .pageMainBottomWrap::before {
        content: "";
        width: 100%;
        height: 100vh;
        position: absolute;
        top: 200px;
        left: 0;
        background: #F7F8FA;
        z-index: -1;
    }

    .pageContactWrap {
        margin: 0px 0 124px;
        /*margin-top: -18vw;*/
        position: relative;
        background: #F9F9F9;
    }
    .pageContactWrap.type2 {
        margin: -10px 0 124px;
    }

    .pageContactWrap .contactForm {
        margin: 44px 0 0;
    }

    .contactText.confirm {
        font-weight: 700;
        color: #144987;
    }

    .contactText.error {
        font-weight: 700;
        color: #F94E00;
    }

    .pageContactWrap .formButtonWrap {
        margin-top: 52px;
    }

    .pageButtonWrap {
        margin: 36px 0 226px;
    }

    .pageButton {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 270px;
        height: 50px;
        margin: 0 auto;
        background: #fff;
        font-size: .18rem;
        border: 1px solid #CBCBCB;
        box-shadow: 0px 4px 0px #C0C0C0;
        border-radius: 200px;
    }


   /*----- footer -----*/
   .footer {
       padding: 34px 0 20px;
       background: #144987;
       position: relative;
       text-align: center;
   }

   .footerLogo {
        width: 97px;
        margin: 0 auto;
   }

   .copyright {
       display: inline-block;
       margin: 58px 0 0;
       font-size: .13rem;
       color: #fff;
   }
}

   /* END */