@charset "utf-8";
@media only screen and (min-width: 751px) {
    /*--------------------*/
    /*---- pc_cont.css ----*/
    /*--------------------*/

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

    body {
        -webkit-text-size-adjust: 100%;
        font-size: .16em;
        background: #F7F8FA;
        overflow: hidden;
    }
    body * {
		letter-spacing: 0.05em;
	}

    img {
        height: auto;
        vertical-align: bottom;
    }

    .pcNone {
        display: none !important;
    }

    .container {
        width: 1200px;
        margin: 0 auto;
    }

    .sectionTitleWrap {
        text-align: center;
    }

    .sectionTitle {
        display: inline-block;
        position: relative;
        font-size: .4rem;
        font-weight: 700;
        line-height: 1.2;
        color: #333;
    }

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

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


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

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

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


    /*----- main -----*/
    .mainWrap {
        position: relative;
    }

    .mainWrap.image_a::before {
        content: "";
        display: block;
        width: 100%;
        min-height: 930px;
        position: absolute;
        top: 0;
        left: 0;
        background: url(../img/main_image_pc_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: 930px;
        position: absolute;
        top: 0;
        left: 0;
        background: url(../img/main_image_pc_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: 930px;
        position: absolute;
        top: 0;
        left: 0;
        background: url(../img/main_image_pc_3.jpg) no-repeat;
        background-size: cover;
        background-position: top center;
        z-index: -1;
    }
    
    .pageMainWrap.image_a::before {
        min-height: 572px;
        background: url(../img/header_image_pc_1.jpg) no-repeat;
        background-size: cover;
        background-position: top center;
    }
    .pageMainWrap.image_b::before {
        min-height: 572px;
        background: url(../img/header_image_pc_2.jpg) no-repeat;
        background-size: cover;
        background-position: top center;
    }
    .pageMainWrap.image_c::before {
        min-height: 572px;
        background: url(../img/header_image_pc_3.jpg) no-repeat;
        background-size: cover;
        background-position: top center;
    }

    .mainCopy {
        margin: 0 0 0 -22px;
        padding: 195px 0 0;
    }
    @keyframes scroll-right {
        from {
            transform: translateX(-100%);
        }

        to {
            transform: translateX(0);
        }
    }


    /*----- slider -----*/
    .mainBottomWrap {
        width: 100%;
        min-height: 820px;
        margin: -32px 0 0;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        background: url(../img/main_pc.png) no-repeat;
        background-size: cover;
        background-position: center;
    }

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

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

    .sliderItem {
        width: 206px;
        margin: 0 30px 0 0;
        box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.05);
    }

    .sliderItem img {
        width: 100%;
    }


    /*----- thought -----*/
    .thoughtWrap {
        margin: -352px 0 115px;
        position: relative;
    }

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

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

    .thoughtHead span {
        font-size: .54rem;
        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 {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        width: 860px;
        margin: 30px auto 0;
    }

    .thoughtText {
        flex: 1;
        margin: 0 auto 0 0;
        font-size: .2rem;
        line-height: 2.1;
    }


    /*----- cta -----*/
    .ctaTop {
        width: 100%;
        padding: 32px 20px 140px;
        background: url(../img/cta_bg.jpg) no-repeat;
        background-size: cover;
        border-radius: 15px;
    }

    .ctaHead {
        width: 593px;
        margin: 0 auto;
        padding: 4px 0 4px 76px;
        position: relative;
        font-size: .35rem;
        font-weight: 700;
        line-height: 1.2;
        color: #fff;
    }

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

    .ctaText {
        margin: 20px 0 0;
        font-size: .2rem;
        line-height: 1.6;
        color: #fff;
        text-align: center;
    }

    .ctaBottom {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: -105px 0 0;
        position: relative;
        z-index: 1;
    }

    .ctaBox {
        width: 520px;
        height: 210px;
        margin: 0 25px;
        background: #fff;
        text-align: center;
        border-radius: 15px;
        box-shadow: 4px 4px 15px rgba(0, 0, 0, 0.05);
    }

    .ctaMCopy {
        display: flex;
        justify-content:center;
        align-items: center;
        margin: 38px auto 0 auto;
        font-size: .19rem;
        font-weight: 700;
    }
    .ctaMCopy div {
        display: inline-block;
    }
    .ctaMCopy .decoration {
        color: #F94E00;
    }

    .ctaTel {
        display: inline-block;
        margin: 25px 0 0;
        position: relative;
        padding: 0 0 0 46px;
        font-size: .45rem;
        font-weight: 900;
    }

    .ctaTel a {
        color: #144987;
    }

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

    .ctaTelTime {
        margin: 10px 0 0;
        font-size: .2rem;
        font-weight: 700;
        line-height: 1.6;
        color: #144987;
    }

    .ctaButton {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 420px;
        height: 85px;
        margin: 23px auto 0;
        background: #FF5E14;
        box-shadow: 0px 4px 0px #AA3500;
        border-radius: 200px;
        transition: 0.3s;
    }

    .ctaButton:hover {
        background: #FFA800;
    }

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

    .ctaButton .text {
        font-size: .26rem;
        font-weight: 700;
        line-height: 1.4;
        color: #fff;
    }

    .ctaButton .text span {
        display: block;
        font-size: .19rem;
        font-weight: 400;
    }


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

    .featureContent {
        margin: 68px 0 0;
    }

    .featureItem {
        display: flex;
        position: relative;
        margin: 0 0 20px;
        padding: 20px 0 0;
    }
    .featureItem:nth-child(2) {
        flex-direction: row-reverse;
    }
    .featureItem:last-child {
        margin-bottom: 0;
    }

    .featureImage {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 585px;
        height: 330px;
        margin: -20px 0 0;
    }

    .featureImage img {
        display: inline-block;
        margin: 0 0 0 36px;
    }

    .featureItem:nth-child(2) .featureImage img {
        margin: 0 36px 0 0;
    }

    .featureInner {
        flex: 1;
    }

    .featurePoint {
        width: 255px;
    }

    .featureItem:nth-child(2) .featurePoint {
        margin: 0 0 0 auto;
    }

    .featureTextWrap {
        width: 550px;
        margin: 26px 0 0 auto;
    }

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

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

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

    .featureText span {
        font-weight: 700;
    }

    .featureBg {
        width: 1410px;
        height: 330px;
        position: absolute;
        top: 0;
        left: 440px;
        background: url(../img/feature_bg_1.png) no-repeat;
        background-size: 1410px 330px;
        z-index: -1;
    }

    .featureItem:nth-child(2) .featureBg {
        left: auto;
        right: 440px;
        background: url(../img/feature_bg_2.png) no-repeat;
        background-size: 1410px 330px;
    }


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

    .caseContent {
        margin: 94px 0 0;
    }

    .case {
        margin: 0 0 250px;
        position: relative;
        background: url(../img/case_item_bg.png) no-repeat;
        background-size: 2500px 375px;
        background-position: center;
    }
    .case:last-child {
        margin-bottom: 0;
        position: relative;
        background: url(../img/case_item_bg.png) no-repeat;
        background-size: 2500px 375px;
        background-position: center;
    }

    .case::after {
        content: "";
        width: 2500px;
        height: 720px;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
        background: url(../img/case_bg.png) no-repeat;
        background-size: 2500px 720px;
        z-index: -1;
    }

    .caseItem {
        display: flex;
        width: 1200px;
        margin: 0 auto;
        position: relative;
    }

    .caseTag {
        position: absolute;
        top: -18px;
        left: 18px;
        transform: skewX(-35deg);
        z-index: 1;
    }
    .caseTag::before,
    .caseTag::after {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: -7px;
        left: -9px;
        border-radius: 4px 10px 4px 10px;
    }
    .caseTag::before {
        background: transparent;
        border: solid 1px #8EB9EB;
        z-index: 1;
    }
    .caseTag::after {
        background: #fff;
        z-index: -1;
    }

    .caseTagText {
        display: block;
        padding: 15px 42px 21px 34px;
        background: #144987;
        font-size: .21rem;
        font-weight: 700;
        color: #fff;
        border-radius: 4px 10px 4px 10px;
    }

    .caseTagText span {
        display: block;
        transform: skewX(35deg);
    }

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

    .caseInner {
        width: 600px;
        height: 375px;
        padding: 110px 0 0;
    }

    .caseHead {
        position: relative;
        font-size: .32rem;
        font-weight: 700;
        line-height: 1.4;
        color: #F94E00;
    }

    .caseHead::before {
        content: "";
        width: 75px;
        height: 71px;
        position: absolute;
        top: -38px;
        left: -50px;
        background: url(../img/case_head_item.svg) no-repeat;
        background-size: 75px 71px;
    }

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

    .caseImageWrap {
        width: 500px;
        min-height: 500px;
        background: #fff;
        box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.05);
        border-radius: 12px;
        position: absolute;
        top: 55px;
        right: 0;
    }

    .case:last-child .caseImageWrap {
        min-height: auto;
    }

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

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

    .caseImageInner {
        padding: 26px 30px 30px;
    }

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

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

    .caseBottom {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 90px;
        margin: 150px 0 0;
        background: url(../img/case_bottom_bg.png) no-repeat;
        background-size: cover;
        font-size: .2rem;
        font-weight: 700;
        color: #144987;
        text-align: center;
    }

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

    .slick-list {
        overflow: hidden;
    }

    .slick-track {
        display: flex;
    }

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

    .slick-prev {
        left: -55px;
        background: url(../img/slider_prev.svg) no-repeat;
        background-size: 40px;
    }

    .slick-next {
        right: -55px;
        background: url(../img/slider_next.svg) no-repeat;
        background-size: 40px;
    }


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

    .skillContent {
        margin: 65px 0 0;
    }

    .skillItem {
        margin: 0 0 44px;
        padding: 45px 0 0;
        position: relative;
    }
    .skillItem:last-child {
        margin-bottom: 0;
    }

    .skillImage {
        position: absolute;
        top: 0;
        left: 0;
        width: 399px;
        height: 152px;
        background-image: url(../img/skill_image.svg);
        background-size: 399px 152px;
        z-index: -1;
    }
    .skillItem:nth-child(1) .skillImage div {
        position: absolute;
        top: 31px;
        left: 120px;
    }
    .skillItem:nth-child(2) .skillImage div {
        position: absolute;
        top: 32px;
        left: 120px;
    }
    .skillItem:nth-child(3) .skillImage div {
        position: absolute;
        top: 32px;
        left: 120px;
    }
    .skillItem:nth-child(4) .skillImage div {
        position: absolute;
        top: 29px;
        left: 115px;
    }
    
    .icon_skil_1 {
        width: 110px;
        height: 93px;
        /*margin: 31px 0px 0px 120px;*/
    }
    .icon_skil_2 {
        width: 106px;
        height: 93px;
        /*margin: 32px 0px 0px 120px;*/
    }
    .icon_skil_3 {
        width: 111px;
        height: 92px;
        /*margin: 32px 0px 0px 120px;*/
    }
    .icon_skil_4 {
        width: 115px;
        height: 95px;
        /*margin: 29px 0px 0px 115px;*/
    }

    .skillInner {
        width: 930px;
        margin: 0 0 0 auto;
        padding: 36px 54px;
        position: relative;
        background: #fff;
        box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.05);
        border-radius: 12px;
    }

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

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

    .skillText {
        margin: 14px 0 0;
        font-size: .17rem;
        line-height: 1.7;
    }
    
    .skillText.leftBox {
        width: 670px;
    }

    .skillPronet {
        width: 120px;
        height: 96px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 54px;
    }

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


    /*----- actual -----*/
    .actualWrap {
        margin: 150px 0 0;
        padding: 85px 0 65px;
        position: relative;
        background: #fff;
    }

    .actualWrap::before {
        content: "";
        width: 2720px;
        height: 208px;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: url(../img/actual_item.png) no-repeat;
        background-size: 2720px 208px;
    }
    
    .actualTitle {
        width: 352px;
        height: 94px;
        margin: 0 auto;
        padding: 29px 0 0;
        background: url(../img/actual_title_bg.svg) no-repeat;
        background-size: 352px 94px;
        font-size: .31rem;
        font-weight: 700;
        color: #fff;
        text-align: center;
    }

    .actualText {
        margin: 36px 0 0;
        font-size: .2rem;
        line-height: 1.6;
        text-align: center;
    }

    .actualSliderWrap {
        margin: 50px 0 0;
        padding: 50px 0 40px;
        background: url(../img/actual_slider_bg.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 70s infinite linear 0.5s both;
    }

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

    .actualSlider1 > div,
    .actualSlider2 > div {
        width: 290px;
        padding: 1px 3px 1px 3px;
    }

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

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

    .actualLogo {
        width: 206px;
        margin: 0 15px 10px;
    }

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


    /*----- comment -----*/
    .commentWrap {
        margin: 140px 0 165px;
    }

    .commentHead {
        width: 527px;
        height: 108px;
        margin: 0 auto;
        padding: 36px 0 0;
        background: url(../img/comment_head_bg.svg) no-repeat;
        background-size: 527px 108px;
        font-size: .3rem;
        font-weight: 700;
        color: #144987;
        text-align: center;
    }

    .commentBox {
        width: 1000px;
        margin: 0 auto;
        position: relative;
        background: #fff;
        border: solid 4px #144987;
    }

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

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

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

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

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

    .commentTextWrap {
        padding: 46px 80px 72px;
    }

    .commentTextWrap p {
        margin: 0 0 34px;
        font-size: .18rem;
        line-height: 1.8;
    }
    .commentTextWrap p:last-of-type {
        margin-bottom: 0;
    }


    /*----- company -----*/
    .companyWrap {
        margin: 120px 0 0;
        padding: 95px 0 55px;
        background-color: #fff;
    }

    .companyTableWrap {
        width: 1080px;
        margin: 56px auto 0;
    }

    .companyTable th,
    .companyTable td {
        padding: 0 0 36px;
        font-size: .18rem;
        line-height: 1.6;
    }

    .companyTable th {
        width: 140px;
        font-weight: 700;
        text-align: left;
    }

    .companyTable td:nth-child(2) {
        padding-right: 66px;
    }


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

    .qaContent {
        margin: 56px 0 0;
    }

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

    .qItem {
        padding: 20px 44px 20px 90px;
        position: relative;
        background: #144987;
    }

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

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

    .aItem {
        padding: 20px 44px 20px 90px;
        position: relative;
    }

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

    .aText {
        font-size: .18rem;
        line-height: 1.5;
    }

    .aText span {
        color: #F94E00;
    }


    /*----- contact -----*/
    .contactWrap {
        margin: 134px 0 0;
        padding: 94px 0 114px;
        background: #C6EFF4;
    }

    .contactText {
        margin: 50px 0 0;
        font-size: .18rem;
        line-height: 1.8;
        text-align: center;
    }

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

    .contactForm {
        width: 775px;
        margin: 46px auto 0;
    }

    .formGroup {
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 40px;
    }
    .formGroup:last-child {
        margin-bottom: 0;
    }

    .formHead {
        width: 175px;
        padding: 18px 0;
        font-size: .18rem;
        font-weight: 700;
        line-height: 1.6;
    }

    .formItem {
        flex: 1;
        width: 100%;
    }

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

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

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

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

    .formError {
        position: relative;
        margin: 0 0 -16px;
        padding: 16px 20px 16px 54px;
        position: relative;
        top: -8px;
        background: #FFEA92;
        font-size: .18rem;
        font-weight: 700;
        color: #F94E00;
        border-radius: 6px;
    }

    .formError:before {
        content: "";
        width: 30px;
        height: 30px;
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 13px;
        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;
        }
    }

    .consent {
        padding: 0 0 0 175px;
    }

    .consentCheckbox {
        display: none;
    }

    .consentText {
        padding: 2px 0 2px 50px;
        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: 20px 0 0;
    }

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

    .formButton:hover {
        background: #FFA800;
        border-color: #FFA800;
    }

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

    .formButton.back + .formButton {
        margin: 0 0 0 24px;
    }


    /*----- page -----*/
    .pageMainBottomWrap {
        width: 100%;
        min-height: 670px;
        position: relative;
        top: 58px;
        left: 50%;
        transform: translateX(-50%);
        background: url(../img/cont_pc.png) no-repeat;
        background-size: cover;
        background-position: center;
    }
    .pageMainBottomWrap::before {
        content: "";
        width: 100%;
        height: 100vh;
        position: absolute;
        top: 670px;
        left: 0;
        background: #F7F8FA;
        z-index: -1;
    }

    .pageContactWrap {
        margin: -242px 0 145px;
        position: relative;
    }
    .pageContactWrap.type2 {
        margin: -200px 0 145px;
        position: relative;
    }

    .pageMainBottomWrap_2 {
        width: 100%;
        height: 525px;
        position: relative;
        top: 0px;
        left: 50%;
        transform: translateX(-50%);
        background: url(../img/header_image_pc_cont.jpg) no-repeat;
        background-size: cover;
        background-position: center;
    }

    .pageContactWrap .contactForm {
        width: 725px;
        margin: 66px auto 0;
    }

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

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

    .pageContactWrap .formHead {
        padding: 0;
    }

    .pageButtonWrap {
        margin: 112px 0 0;
    }

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


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

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

/* END */