@charset "UTF-8";

body {
    width: 100%;
    /*overflow-x: hidden;*/
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    margin: 0;
    text-align: justify;
    line-break: strict;
    overflow-wrap: break-word;
    word-wrap: break-word;
}
html, body {
    color: #221714;
}


/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    
    
    .header__bg {
        background: #EFEFEF;
        box-sizing: border-box;
    }
    .header__wrap {
        box-sizing: border-box;
        height: 14.5vw;
        margin: 0 auto;
        max-width: 945px;
        padding-right: 12%;
        position: relative;
        text-align: center;
        width: 100%;
    }
    .header__logo.xtech {
        margin-left: 5vw;
    }
    .header__logo {
        display: inline-block;
        height: 100%;
        position: relative;
        width: 27.84vw;
    }
    .header_logo img {
        width: 100%;
    }
    .header__pr {
        display: inline-block;
        font-size: 0;
        position: absolute;
        right: 15px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 8.585%;
    }
    .header__logo.govtech {
        width: 43.5vw;
        position: relative;
    }
    .header__logo.govtech::before {
        content: "";
        position: absolute;
        width: 1px;
        height: 40%;
        background: #251E1C;
        right: -8%;
        top: 50%;
    	transform: translateY(-50%);
    	-webkit-transform: translateY(-50%);
    	-ms-transform: translateY(-50%);
    }
    .header__logo img {
        left: 0;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 100%;
    }
    
    
    @media screen and (min-width: 440px) {
        .header__wrap {
            height: 66px;
        }
        .header__logo.govtech {
            width: 180px;
        }
        .header__logo.xtech {
            margin-left: 30px;
            width: 115px;
        }
        .header__pr {
            width: 40px;
        }
        .header__logo.govtech::before {
            right: -18px;
        }
    }
    
    
    @media screen and (min-width: 680px) {
        .header__wrap {
            padding-right: 11%;
        }
        .header__logo.govtech {
            width: 270px;
        }
        .header__logo.xtech {
            margin-left: 80px;
            width: 176px;
        }
        .header__logo.govtech::before {
            right: -42px;
        }
    }
    
    
    img {
        max-width: 100%;
        height: auto;
    }
    
    
    .spfv_wrap {
        font-size: 0;
        position: relative;
        z-index: 5;
        margin-bottom: -17%;
    }
    .fv_txt {
        background: #F4F4F4;
        padding: 12px 8%;
    }
    .fv_txt p {
        font-size: 12px;
        font-weight: 600;
        line-height: 1.706;
        margin: 0;
        color: #221714;
    }
    @media screen and (max-width: 639px) {
        .pcfv_cts {
            display: none;
        }
    }
    
    @media screen and (min-width: 640px) {
        .spfv_wrap {
            display: none;
        }
        .pcfv_wrap {
            text-align: center;
            overflow: hidden;
            position: relative;
            padding: 0 0 60px;
            z-index: 10;
        }
        .pcfv_wrap2 {
            background: #EAF3DD;
        }
        .pcfv_wrap::before {
            content: "";
            position: absolute;
            width: 50%;
            height: calc(100% - 60px);
            top: 0;
            left: -620px;
        	transform: translateX(0%) skew(13deg, 0deg);
        	-webkit-transform: translateX(0%) skew(13deg, 0deg);
        	-ms-transform: translateX(0%) skew(13deg, 0deg);
        	background: #ECFFF3;
        	z-index: 2;
        }
        .pcfv_wrap::after {
            content: "";
            position: absolute;
            width: 50%;
            height: calc(100% - 60px);
            top: 0;
            right: -600px;
        	transform: translateX(0%) skew(13deg, 0deg);
        	-webkit-transform: translateX(0%) skew(13deg, 0deg);
        	-ms-transform: translateX(0%) skew(13deg, 0deg);
        	background: #ECFFF3;
        	z-index: 8;
        }
        .pcfv_bar {
            position: absolute;
            width: 30px;
            height: 100%;
            background: linear-gradient(180deg, #378244 0%, #9DC138 90%, rgba(255,255,255,0) 100%);
            top: 0;
            left: calc(50% - 645px);
        	transform: translateX(-50%);
        	-webkit-transform: translateX(-50%);
        	-ms-transform: translateX(-50%);
        	z-index: 10;
        }
        .pcfv_cts {
            display: block;
            position: relative;
            margin: 0 auto 1%;
            max-width: 1176px;
            padding: 0 0 6.5em;
        }
        .pcfv_mv {
            font-size: 0;
        }
        .pcfv_img1 {
            position: absolute;
            z-index: 5;
            font-size: 0;
            width: 114.54%;
            max-width: 114.54%;
            bottom: 0;
            right: 8.5%;
            animation: 3s pcfv_img1_anime;
        }
        @keyframes pcfv_img1_anime {
            0% {
                right: 14%;
                opacity: 0;
            }
            100% {
                right: 8.5%;
                opacity: 1;
            }
        }
        .fv_txt {
            padding: 28px 20px;
            position: relative;
            z-index: 6;
        }
        .fv_txt p {
            font-size: 17px;
            max-width: 900px;
            text-align: left;
            margin: 0 auto;
            animation: 3s fv_txt_anime;
        }
        @keyframes fv_txt_anime {
            0% {
                opacity: 0;
                transform: translateX(-60px);
            	-webkit-transform: translateX(-60px);
            	-ms-transform: translateX(-60px);
            }
            100% {
                opacity: 1;
                transform: translateX(0);
            	-webkit-transform: translateX(0);
            	-ms-transform: translateX(0);
            }
        }
        
    }
    @media screen and (max-width: 768px) {
        .pcfv_cts {
            padding: 0 0 3.5em;
        }
    }
    
    .content_wrap {
        overflow: hidden;
        padding: 36px 0 0;
    }
    .content_block {
        padding: 0 16px;
        margin: 0 auto;
        max-width: 960px;
    }
    .lv2_wrap {
        position: relative;
        text-align: center;
        padding: 0 20px;
        margin: 0 0 36px;
    }
    .lv2 {
        color: #008D3F;
        font-size: 22px;
        line-height: 1.17647;
        position: relative;
        margin: 0;
    }
    .lv2_left {
        display: inline-block;
        position: absolute;
        width: 100vw;
        height: 100%;
        background: linear-gradient(-180deg, #E7F1DB 0%, #E7F1DB 50%, #ECFFF3 50%, #ECFFF3 100%);
        left: -20px;
        top: 0;
        transform: translateX(-100%) skew(13deg, 0deg);
    	-webkit-transform: translateX(-100%) skew(13deg, 0deg);
    	-ms-transform: translateX(-100%) skew(13deg, 0deg);
    	opacity: 0;
    }
    .lv2_right {
        display: inline-block;
        position: absolute;
        width: 100vw;
        height: 100%;
        background: linear-gradient(-180deg, #E7F1DB 0%, #E7F1DB 50%, #ECFFF3 50%, #ECFFF3 100%);
        right: -20px;
        top: 0;
        transform: translateX(100%) skew(13deg, 0deg);
    	-webkit-transform: translateX(100%) skew(13deg, 0deg);
    	-ms-transform: translateX(100%) skew(13deg, 0deg);
    	opacity: 0;
    }
    .lv2_left.lv2_anime_on {
        animation: 2s lv2_anime_left;
        opacity: 1;
        left: 0;
    }
    @keyframes lv2_anime_left {
        0% {
            opacity: 0;
            left: -20px;
        }
        100% {
            opacity: 1;
            left: 0;
        }
    }
    .lv2_right.lv2_anime_on {
        animation: 2s lv2_anime_right;
        opacity: 1;
        right: 0;
    }
    @keyframes lv2_anime_right {
        0% {
            opacity: 0;
            right: -20px;
        }
        100% {
            opacity: 1;
            right: 0;
        }
    }
    
    
    
    @media screen and (min-width: 640px) {
        .br-sp {
            display: none;
        }
        .content_wrap {
            padding: 0;
            margin-top: -30px;
            position: relative;
            z-index: 5;
        }
        .lv2 {
            font-size: 34px;
            padding: 1.35em 1em;
        }
        .lv2_wrap {
            margin-bottom: 40px;
        }
        .lv2_left {
            left: -80px;
        }
        @keyframes lv2_anime_left {
            0% {
                opacity: 0;
                left: -80px;
            }
            100% {
                opacity: 1;
                left: 0;
            }
        }
        .lv2_right {
            right: -80px;
        }
        @keyframes lv2_anime_right {
            0% {
                opacity: 0;
                right: -80px;
            }
            100% {
                opacity: 1;
                right: 0;
            }
        }
    }
    
    
    .flexcontent_left {
        padding: 28px 0 0;
        margin: 0 0 24px;
    }
    .prof_wrap {
        margin: 0 auto;
        max-width: 300px;
        background: #EAF3DD;
    }
    .prof_img {
        font-size: 0;
        margin: -30px 0 0 -14px;
        display: inline-block;
        width: 100%;
    }
    .prof_img img {
        width: 290px;
    }
    .prof_cts {
        padding: 14px 10px 24px;
        text-align: center;
    }
    .prof_cts_in {
        display: inline-block;
        text-align: left;
    }
    .prof_txt1 {
        font-size: 18px;
        line-height: 1.38888;
        font-weight: 600;
        margin: 0;
    }
    .prof_txt2 {
        font-size: 14px;
        line-height: 1.2857;
        font-weight: 500;
        margin: 5px 0;
    }
    .prof_txt3 {
        font-size: 25px;
        font-weight: 600;
        line-height: 1.13;
        margin: 0;
    }
    .prof_txt3 > span {
        font-size: .68em;
    }
    .textstyle1 {
        font-size: 16px;
        line-height: 1.72222;
        font-weight: 500;
        color: #221714;
        margin: 0;
    }
    .flexcontent_right {
        padding: 0 0 24px;
    }
    
    @media screen and (min-width: 640px) {
        .textstyle1 {
            font-size: 18px;
        }
        .flexcontent {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            margin: 0 auto 42px;
            max-width: 940px;
        }
        .flexcontent_left {
            width: 312px;
            padding: 0;
            margin: 0;
        }
        .flexcontent_right {
            width: calc(100% - 312px - 45px);
            margin: 0;
        }
    }
    
    
    .bnrsec1_bg {
        position: relative;
        margin-bottom: 40px;
    }
    .bnrsec1_bg::before {
        content: "";
        width: 100vw;
        height: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: repeat-x;
        background-image: url(bg1.png);
        position: absolute;
        left: 50%;
        top: 0;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
    }
    .bnrsec1_wrap {
        position: relative;
        text-align: center;
        padding: 16px 0 0;
    }
    .bnrsec1_bnr {
        font-size: 0;
    }
    .bnrsec1_bnr img {
        width: 902px;
    }
    
    @media screen and (min-width: 640px) {
        .bnrsec1_wrap {
            padding-top: 40px;
        }
        .bar_wrap {
            position: relative;
        }
        .sidebar {
            display: inline-block;
            width: 30px;
            background: linear-gradient(180deg, #378244 0%, #9DC138 90%, rgba(255,255,255,0) 100%);
            position: absolute;
            left: -180px;
            top: 0;
            z-index: 7;
            opacity: 0;
        }
        .sidebar1 {
            height: calc(100% - 30px);
        }
        .flexcontent_re {
            flex-direction: row-reverse;
        }
        .flexcontent_re .flexcontent_left {
            padding-top: 36px;
        }
        .sidebar2 {
            height: calc(100% + 140px);
            top: -40px;
        }
        .sidebar_on {
            opacity: 1;
            animation: 4s sidebar_anime;
        }
        @keyframes sidebar_anime {
            0% {
                opacity: 0;
            }
            100% {
                opacity: 1;
            }
        }
        
    }
    
    
    .textblock {
        margin: 0 auto 50px;
        max-width: 920px;
    }
    .bnrsec2_wrap {
        text-align: center;
        padding: 0 0 50px;
    }
    .bnrsec2_h {
        color: #CB5520;
        font-size: 18px;
        line-height: 1.4;
        margin: 0 0 28px;
    }
    .bnrsec2_h > span {
        background: linear-gradient(transparent 40%, #EAF3DD 40%);
    }
    .bnrsec2_img {
        font-size: 0;
        margin: 0;
    }
    .bnrsec2_img img {
        width: 850px;
    }
    .atxt {
        text-align: center;
        font-size: 12px;
        margin: 100px 0 60px;
    }
    
    @media screen and (min-width: 640px) {
        .bnrsec2_h {
            font-size: 25px;
        }
        .bnrsec2_h > span {
            display: inline-block;
            padding: 0 1.2em;
        }
        .sidebar3 {
            height: calc(100% + 40px);
        }
    }
    
    
    .bt_bgwrap {
        overflow: hidden;
    }
    .bt1_wrap {
        padding: 0 36px;
        position: relative;
        z-index: 5;
        text-align: center;
    }
    .bt1_img {
        font-size: 0;
        position: relative;
        margin: 0 auto;
        max-width: 499px;
    }
    .bt1_img_d {
        height: 30%;
        content: "";
        position: absolute;
        width: 100vw;
        top: 25%;
        display: inline-block;
        opacity: 0;
    }
    .bt1_img_left {
        background: linear-gradient(-180deg, #E7F1DB 0%, #E7F1DB 50%, #ECFFF3 50%, #ECFFF3 100%);
        left: 0;
        transform: translateX(-100%) skew(13deg, 0deg);
    	-webkit-transform: translateX(-100%) skew(13deg, 0deg);
    	-ms-transform: translateX(-100%) skew(13deg, 0deg);
    }
    .bt1_img_right {
        background: linear-gradient(0deg, #E7F1DB 0%, #E7F1DB 50%, #ECFFF3 50%, #ECFFF3 100%);
        right: 0;
        transform: translateX(100%) skew(13deg, 0deg);
    	-webkit-transform: translateX(100%) skew(13deg, 0deg);
    	-ms-transform: translateX(100%) skew(13deg, 0deg);
    }
    .bt1_img_left.bt1_img_don {
        animation: 2s bt1_img_left_anime;
        opacity: 1;
        left: 0;
    }
    @keyframes bt1_img_left_anime {
        0% {
            opacity: 0;
            left: -20px;
        }
        100% {
            opacity: 1;
            left: 0;
        }
    }
    .bt1_img_right.bt1_img_don {
        animation: 2s bt1_img_right_anime;
        opacity: 1;
        right: 0;
    }
    @keyframes bt1_img_right_anime {
        0% {
            opacity: 0;
            right: -20px;
        }
        100% {
            opacity: 1;
            right: 0;
        }
    }
    .bnrsec2_link {
        display: inline-block;
        position: absolute;
        z-index: 5;
        left: 50%;
    	transform: translateX(-50%);
    	-webkit-transform: translateX(-50%);
    	-ms-transform: translateX(-50%);
    	top: 59%;
        width: 57%;
        height: 17%;
    }
    .bt2_bg {
        background: #F4F4F4;
        position: relative;
        z-index: 3;
        margin: -22% 0 0;
        border-bottom: 1px solid #C6C7C8;
    }
    .bt2_wrap {
        text-align: center;
        padding: 36% 15px 70px;
    }
    .bt2_logo {
        font-size: 0;
        margin: 0 0 20px;
    }
    .bt2_logo img {
        width: 92px;
    }
    .bt2_txt1 {
        font-weight: 600;
        font-size: 18px;
        margin: 0 0 5px;
    }
    .bt2_txt2 {
        font-weight: 500;
        font-size: 16px;
        margin: 0 0 30px;
    }
    .bt2_btn img {
        width: 306px;
    }
    
    @media screen and (min-width: 640px) {
        .bt1_img_d {
            height: 97px;
        }
        .bt1_img_left {
            left: -90px;
        }
        .bt1_img_right {
            right: -90px;
        }
        .bt1_img_left.bt1_img_don {
            left: -90px;
        }
        @keyframes bt1_img_left_anime {
            0% {
                opacity: 0;
                left: -170px;
            }
            100% {
                opacity: 1;
                left: -90px;
            }
        }
        .bt1_img_right.bt1_img_don {
            right: -90px;
        }
        @keyframes bt1_img_right_anime {
            0% {
                opacity: 0;
                right: -170px;
            }
            100% {
                opacity: 1;
                right: -90px;
            }
        }
        .bt2_bg {
            margin: -160px 0 0;
        }
        .bt2_wrap {
            padding: 224px 15px 70px;
        }
    }
    
    
    .lv2 .inview_fade {
        display: inline-block;
    }
    .inview_fade {
        opacity: 0;
        transform: translateY(60px);
    	-webkit-transform: translateY(60px);
    	-ms-transform: translateY(60px);
    }
    .inview_fade_on {
        animation: 2s inview_fade_anime;
        opacity: 1;
        transform: translateY(0);
    	-webkit-transform: translateY(0);
    	-ms-transform: translateY(0);
    }
    @keyframes inview_fade_anime {
        0% {
            opacity: 0;
            transform: translateY(60px);
        	-webkit-transform: translateY(60px);
        	-ms-transform: translateY(60px);
        }
        100% {
            opacity: 1;
            transform: translateY(0);
        	-webkit-transform: translateY(0);
        	-ms-transform: translateY(0);
        }
    }
    
    
    
    





















