@charset "UTF-8";
/* ---------------------------- */
/* ベース
/* ---------------------------- */
html{
    font-size: 62.5%;  
   }
body{
    font-size: 1.5rem;
    color: #000;
    line-height: 1.33;
    font-weight: 400;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    display: block;
    font-family:'meiryo';
}
*{
    outline: none;
}

@font-face{
	font-family: 'meiryo';
	src: url(../font/meiryo.ttc);
}
@font-face{
	font-family: 'meiryob';
	src: url(../font/meiryob.ttc);
}

img{
    vertical-align: bottom;
    width: 100%;
    height: auto;
}
a{
    text-decoration: none;
}
main{
    overflow: hidden;
}

/* ---------------------------- */
/* 共通のコンテンツサイズ・余白等
/* ---------------------------- */
.section_wrapper{
    max-width: 1040px;
    margin: 0 auto;
    padding: 0 20px 30px;
    box-sizing: border-box;
}
.section_wrapper:last-of-type{
    padding-bottom: 0;
}
.top_ttl{
    padding: 50px 0 38px;
    font-size: 3.1rem;
    text-align: center;
    line-height: 1.515;
}
.top_dsc{
    padding-bottom: 50px;
    font-size: 2rem;
    text-align: center;
    line-height: 1.8;
}
.section_wrapper .desc{
    padding-top: 10px;
    color: #5B5B5B;
    font-size: 1.4rem;
    line-height: 1.6;
}
.desc span{
    font-size: 2.4rem;
}
h2{
    margin-bottom: 40px;
    padding: 8.5px 20px 2.6px;
    background: #5678C4;
    font-size: 2.4rem;
    color: #fff;
    text-align: center;
}
h3{
    border-left: #5678C4 solid 5px;
    padding: 3px 15px 0;
    font-size: 2.4rem;
    margin-bottom: 20px;
    box-sizing: border-box;
}
.table-cell a{
    color: #004E92;
}

.section_wrapper > div,
.section_wrapper > p{
    padding-bottom: 30px;
}
.section_wrapper p{
    display: inline-block;
}
.section_wrapper p:not(:last-child),
.section_wrapper img:not(:last-child){
    padding-bottom: 20px;
}
.txt_img_flx, .flx_c2, .flx_c3, .flx_c4{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.flx_c2{
    padding-bottom: 30px;
}
.flx_c3, .flx_c4{
    max-width: 801px;
    margin: 0 auto;
    padding-bottom: 30px;
}
.flx_c4{
    max-width: 771.61px;
}
.flx_c2 img, .flx_c3 img, .flx_c4 img{
    padding-bottom: 0;
}
.flx_item{
    box-sizing: border-box;
    text-align: center;
}
.flx_c2 .flx_item{
    padding-bottom: 30px;
    text-align: left;
}
.flx_c2 .flx_item img{
    display: block;
    margin: 0 auto;
    max-width: 300px;
}
.flx_item p{
    padding: 8px 0 0;
    font-size: 1.4rem;
}
.flx_c2 .flx_item p{
    padding: 0 50px 20px 0;
}
.txt_img_flx img:last-child{
    padding-bottom: 0;
}

.external_link_wraper{
    display: flex;
    justify-content: center;
}
.external_link{
    position: relative;
    display: inline-block;
    max-width: 450px;
    margin: 0 auto;
    padding-left: 41px;
    color: #000;
    word-break: break-all;
}
.external_link::before{
    content: "";
    position: absolute;
    left: 0;
    top: -2px;
    display: inline-block;
    width: 28px;
    height: 21.31px;
    background-image: url(../images/link_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 17px;
}
.ext_link{
    position: relative;
    padding-right: 38px!important;
}
.ext_link::after{
    content: "";
    position: absolute;
    right: 17px;
    bottom: 2px;
    display: inline-block;
    width: 19px;
    height: 18px;
    background-image: url(../images/icon_shop.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.header1 .ext_link::after{
    content: "";
    position: absolute;
    bottom: 3px;
}
.current{
    position: relative;
}
.current::after{
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    width: 75%;
    height: 1px;
    background: #004E92;
}

/* ---------------------------- */
/* モーダル
/* ---------------------------- */
.modal_click{
    position: relative;
}
.modal_click::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: -29px;
    display: block;
    width: 22px;
    height: 22px;
    background-image: url(../images/zoom_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    z-index: 15;
}
.modal__bg{
    background: rgba(0, 104, 164, 0.83);
    height: 100vh;
    position: absolute;
    width: 100vw;
}
.modal__content{
    left: 50%;
    position: absolute;
    top: 52%;
    padding-top: 61.71px;
    transform: translate(-50%,-50%);
    width: calc(100% - 60px);
    max-width: 640px;
    box-sizing: border-box;
}
.modal__content_inner{
    overflow: scroll;
    max-height: 70vh;
}
.modal_close{
    position: absolute;
    width: 43.71px;
    height: 43.71px;
    top: 0;
    right: 0;
    box-sizing: border-box;
    border-radius: 22px;
    transition: .3s;
}

/* ---------------------------- */
/* ヘッダー
/* ---------------------------- */
header{
    position: fixed;
    box-sizing: border-box;
    display: block;
    width: 100%;
    z-index: 10;
    background: #fff;
}
.header_inner{
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
}
.header_top .header_inner{
    max-width: 997px;
    margin: 0 auto;
}
.header_l,
.header_r{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.header_logo1{
    width: 50px;
    max-width: 115px;
    margin-right: 20px;
}
.header_txt{
    font-size: 2.4rem;
    color: #231815;
    line-height: 1.7;
}
.header_txt_small{
    font-size: 1.4rem;
    color: #231815;
    line-height: 1.7;
}
.header_icon{
    width: 36px;
}
.header_icon:first-child{
    margin-right: 20px;
}
.cart_icon{
    width: 42px;
}
nav ul a{
    color: #004E92;
    padding: 0 16px;
}

/* ---------------------------- */
/* fv
/* ---------------------------- */
.fv{
    padding-top: 161px;
    background: #5678C4;
    border-bottom: #0069A4 solid 3px;
}
.fv img{
    display: block;
    max-width: 1000px;
    margin: 0 auto;
}

/* ---------------------------- */
/* 下層ページ FV
/* ---------------------------- */
.fv2{
    margin-bottom: 50px;
}
.fv2 h1{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 94px;
	padding-top: 2px;
    background-image: url(../images/fv2.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    font-size: 2.4rem;
    line-height: 1;
    color: #fff;
	box-sizing: border-box;
}


/* ---------------------------- */
/* 項目1
/* ---------------------------- */
.activitie .flx_c3 .flx_item{
    height: 100%;
}
.activitie .external_link{
    margin: 0 auto;
}

/* ---------------------------- */
/* 項目2
/* ---------------------------- */
.quality .flx_text_item{
    width: calc(100% - 350px);
    margin-right: 50px;
}
.quality .txt_img_flx2 .flx_text_item{
    width: calc(100% - 362px);
    margin-right: 0;
}
.quality .txt_img_flx2 .flx_img_item{
    width: 306px;
    margin-right: 56px;
}
.quality .table_flx {
    width: 100%;
    max-width: 252px;
    font-size: 1.4rem;
}
.quality .table_flx tbody{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.quality .table_flx tr:first-child{
    width: 70%;
}
.quality .table_flx tr:last-child{
    width: 30%;
    margin-top: 19px;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: flex-end;
}
.quality .table_flx th,
.quality .table_flx td{
    display: block;
}
.quality .table_flx tr:first-child th:first-child{
    font-family: 'meiryob';
}
.quality .txt_img_flx2 img{
    margin-top: -16px;
}

/* ---------------------------- */
/* 項目2
/* ---------------------------- */
.quality1_img{
    display: block;
    margin: 0 auto;
    max-width: 397.26px;
}

/* ---------------------------- */
/* 項目3
/* ---------------------------- */
.package_dtl{
    padding: 0 0 0 5px;
    font-size: 1.2rem;
}
.section_wrapper p.border_p{
    width: 100%;
    padding: 20px 20px 18px;
    border: #5678C4 solid 1px;
    font-size: 1.8rem;
    text-align: center;
    box-sizing: border-box;
}
.border_p:not(:last-child){
    margin-bottom: 15px;
}
.border_p span{
    background: linear-gradient(transparent 50%, #D4F3FF 50%);
}

/* ---------------------------- */
/* 項目
/* ---------------------------- */
.section_wrapper p.pr_ttl{
    display: block;
    font-size: 2.4rem;
    text-align: center;
    padding-bottom: 38px;
}

/* ---------------------------- */
/* 項目
/* ---------------------------- */
.requirement .flx_c2 .flx_item img{
    margin: 20px 0 0;
    max-width: 399px;
}
.requirement .flx_c2 .flx_item p{
    padding: 0 50px 0 0;
}

/* ---------------------------- */
/* 会社概要
/* ---------------------------- */
.company .table1{
    margin-bottom: 80px;
}
.section_wrapper .table1{
    width: 100%;
    display: table;
    padding-bottom: 0;
    vertical-align: middle;
    border-left: 1px solid #58583D;
    border-right: 1px solid #58583D;
    border-bottom: 1px solid #58583D;
    box-sizing: border-box;
    font-size: 14px;
}
.section_wrapper .table1 .table-row{
    display: table-row;
}
.section_wrapper .table1 .table-cell{
    display: table-cell;
    padding: 16px 15px 13px;
    background: #fff;
    box-sizing: border-box;
    border-top: 1px solid #58583D;
}
.section_wrapper .table1 .table-cell-th{
    width: 230px;
    background: #DBE1EE;
    vertical-align: middle;
}

/* ---------------------------- */
/* お問い合わせページ
/* ---------------------------- */
.section_wrapper.contact p{
    display: block;
}
.contact .flx_img_item{
    max-width: 139px;
}
.contact_wrapper{
    max-width: 585px;
    margin: 0 auto;
    padding-bottom: 30px;
    font-size: 1.4rem;
}
.section_wrapper.contact:last-of-type{
    padding-bottom: 50px;
}
.contact form{
    position: relative;
}
.contact form p:first-of-type,
.contact form p:last-of-type{
    padding-bottom: 0;
}
.contact_required{
    position: absolute;
    right: 0;
    top: 0;
}
input[type="text"], input[type="password"], input[type="datetime"], input[type="date"], input[type="month"], input[type="time"], input[type="week"], input[type="number"], input[type="email"], input[type="url"], input[type="search"], input[type="tel"], input[type="color"], .Prefectures select, textarea, .field {
    -webkit-appearance: none!important;
    border-radius: 0!important;
    width: 100%;
    height: 30px;
    box-sizing: border-box;
    padding: 5px;
    margin: 5px 0 0;
    border: 1px #CCC solid;
}
.contact_page textarea{
    height: 100px;
}
.wpcf7-submit{
    display: flex;
    justify-content: center;
    align-items: center;
    border: #9FCCE5 solid 2px;
    margin: 15px auto 0;
    padding-top: 3px;
    width: 100%;
    max-width: 335px;
    min-height: 50px;
    font-size: 2rem;
    color: #004E92;
    letter-spacing: .1em;
    text-align: center;
    box-sizing: border-box;
	-webkit-appearance: none;
    border-radius: 0!important;
}
.wpcf7 form .wpcf7-response-output{
    margin: 50px 0 0!important;
    padding: 5px;
    border: 2px solid #9FCCE5!important;
    color: #004E92;
    text-align: center;
    font-size: 1.4rem;
}
.wpcf7-spinner{
    display: none!important;
}
.contact_page .contact_link{
    display: none;
}

/* ---------------------------- */
/* お問い合わせリンク
/* ---------------------------- */
.contact_link{
    display: flex;
    justify-content: center;
    align-items: center;
    border: #9FCCE5 solid 2px;
    margin: 50px auto 46px;
    padding-top: 4px;
    width: 100%;
    max-width: 335px;
    min-height: 50px;
    font-size: 2rem;
    color: #004E92;
    letter-spacing: .1em;
    text-align: center;
    box-sizing: border-box;
}

/* ---------------------------- */
/* TOPへ戻るボタン
/* ---------------------------- */
.page_top{
    position: fixed;
    bottom: 0;
    right: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 103px;
    height: 50px;
    padding-left: 16px;
    background: #EBEFF9;
    box-sizing: border-box;
    color: #004E92;
    font-size: 2rem;
    opacity: 0;
    transition: .3s;
}
.page_top.page_top_active {
    opacity: 1;
    transition: .3s;
}
.page_top img{
    width: 16.6px;
    margin-right: 15px;
}

/* ---------------------------- */
/* フッター
/* ---------------------------- */
.footer_btm_inner{
    max-width: 1078px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px 15px;
    min-height: 110px;
    box-sizing: border-box;
}
.footer_l,
.footer_icon_wrapper{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
.footer_l{
    justify-content: space-between;
    width: calc(80% - 36px);
    box-sizing: border-box;
}
.footer_logo{
    width: 32px;
}
.footer_icon{
    width: 100%;
    max-width: 36px;
}
.footer_icon:first-child{
    margin-right: 20px;
}
.footer_r .cart_icon{
    width: 100%;
    max-width: 42px;
}

.footer_r{
    width: 30%;
    font-size: 1.4rem;
}

@media (max-width: 819px) {

    /* ---------------------------- */
    /* ベース
    /* ---------------------------- */
    .pc{
        display: none!important;
    }
    
    /* ---------------------------- */
    /* 共通のコンテンツサイズ・余白等
    /* ---------------------------- */
    .section_wrapper:last-of-type{
        padding-bottom: 50px;
    }
    .top_dsc{
        font-size: 1.6rem;
    }
    h2{
        margin-bottom: 30px;
        padding: 14px 5px 9px;
        font-size: 1.8rem;
        line-height: 1.44;
    }
    h3{
        padding: 2px 13px 0;
        font-size: 2rem;
    }
    .border_p{
        padding: 7.6px 20px 4.6px!important;
    }
    .txt_img_flx img{
        padding-bottom: 0;
    }
    .flx_c2 .flx_item{
        width: 100%;
    }
    .flx_c3 .flx_item{
        width: calc(100% - 35px);
        margin: 0 auto;
    }
    .flx_c2 .flx_item:last-child{
        padding-bottom: 0;
    }
	.requirement .flx_c2 .flx_item p{
        padding: 0;
    }	
    .flx_c3 .flx_item:not(:last-child){
        padding-bottom: 20px;
    }
    .flx_c4 .flx_item{
        width: calc(50% - 13px);
        margin-top: 20px;
    }
    .flx_c4 .flx_item:nth-of-type(-n+2){
        margin-top: 0;
    }
    .flx_c4 .flx_item:nth-child(odd){
        margin-right: 26px;
    }

    .flx_text_item{
        width: 100%;
        padding-bottom: 20px;
    }
    .flx_img_item{
        width: calc(100% - 35px);
        max-width: 300px;
        box-sizing: border-box;
    }
    .header1 .ext_link::after{
        content: "";
        position: absolute;
        bottom: -1px;
    }

    /* ---------------------------- */
    /* モーダル
    /* ---------------------------- */
    .modal_click::before{
        content: "";
        display: none;
    }
    .modal__content{
        max-width: 420px;
    } 

    /* ---------------------------- */
    /* ヘッダー
    /* ---------------------------- */
    .header_top{
        border-bottom: #0069A4 solid 3px;
        height: 71px;
        box-sizing: border-box;
    }
    .header_top .header_inner{
        height: 72px;
    }
    .header_logo1{
        max-width: 87.58px;
    }
    .header_icon{
        width: 100%;
        max-width: 29.87px;
    }
    .header_icon:first-child{
        margin-right: 12px;
    }
    .cart_icon{
        max-width: 34.93px;
    }
    .header_inner{
        padding: 0 85px 0 7.5px;
    }

    nav{
        visibility: hidden;
        position: fixed;
        display: flex;
        align-items: center;
        flex-direction: column;
        text-align: center;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        background: rgba(219, 225, 238, 0.95);
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transition: all .5s;
        z-index: 11;
        opacity: 0;
    }

    .open nav{
        visibility: unset;
        opacity: 1;
    }
    nav a{
        line-height: 1;
    }
    nav ul{
        width: 100%;
        max-width: 270px;
        margin-top: 107px;
        flex-direction: column;
    }
    nav ul li{
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 40px;
    }
    
    .toggle_btn{
        position: absolute;
        display: block;
        top: 0;
        right: 0;
        width: 64px;
        height: 68px;
        transition: all .5s;
        cursor: pointer;
        z-index: 15;
        background: #DBE1EE;
    }
    .toggle_btn span{
        display: block;
        position: absolute;
        left: 16.5px;
        width: 31px;
        height: 3px;
        background: #0069A4;
        transition: all .5s;
    }
    .toggle_btn span:nth-child(1){
        top: 21px;
    }
    .toggle_btn span:nth-child(2){
        top: 32px;
    }
    .toggle_btn span:nth-child(3){
        bottom: 21px;
    }
    .open .toggle_btn{
        background: none;
    }
    .open .toggle_btn span{
        display: block;
        position: absolute;
        left: unset;
        right: 20px;
        transition: all .5s;
    }

    .open .toggle_btn span:nth-child(1){
        border-radius: 3px;
        -webkit-transform: translateY(10px) rotate(-45deg);
        transform: translateY(10px) rotate(-45deg);
    }
    .open .toggle_btn span:nth-child(2){
        bottom: 8px;
        opacity: 0;
    }
    .open .toggle_btn span:nth-child(3){
        border-radius: 3px;
        -webkit-transform: translateY(-13px) rotate(45deg);
        transform: translateY(-13px) rotate(45deg);
    }
    .header_btm{
        height: 0;
    }

    /* ---------------------------- */
    /* fv
    /* ---------------------------- */ 
    .fv{
        padding-top: 71px;
    }

    /* ---------------------------- */
    /* 下層ページ FV
    /* ---------------------------- */
    .fv2{
        margin-bottom: 40px;
    }


    /* ---------------------------- */
    /* 項目1
    /* ---------------------------- */
    .section_wrapper.activitie{
        padding-bottom: 50px;
    }
    .activitie p{
        padding-bottom: 0;
    }
    .activitie .flx_item:{
        width: 100%;
        margin: 0 auto;
        padding-bottom: 0;
    }
    .activitie .flx_c3{
        padding-bottom: 0;
    }
    .activitie .external_link{
        margin: 20px auto 0;
    }

    /* ---------------------------- */
    /* 項目2
    /* ---------------------------- */
    .quality .flx_text_item{
        width: 100%;
        margin-right: 0;
    }
    .quality .txt_img_flx2 .flx_img_item{
        max-width: 300px;
    }
    .quality .txt_img_flx2 .flx_img_item{
        width: 100%;
        margin-right: 0;
    }
    .quality .txt_img_flx2 .flx_text_item{
        width: 100%;
        padding-bottom: 0;
    }

    /* ---------------------------- */
    /* 項目3
    /* ---------------------------- */
    .package .flx_text_item{
        padding-bottom: 30px;
    }
	
	/* ---------------------------- */
    /* 項目4　手順
    /* ---------------------------- */
	.scene .flx_c2 .flx_item p{
        padding: 0 0 20px 0;
    }

    /* ---------------------------- */
    /* 項目5
    /* ---------------------------- */
    .organization .txt_img_flx{
        flex-direction: column-reverse;
    }
    .organization .flx_img_item{
        margin: 0 auto 20px;
    }
    .organization .flx_text_item{
        padding-bottom: 0;
    }
    .organization .flx_c3{
        justify-content: space-around;
    }
	.organization .flx_img_item.organization1_1{
		max-width: 147px;
		margin: 0 auto 20px;
	}
    .organization .flx_c3 .flx_item:nth-child(1){
        width: calc(52.84% - 18px);
    }
    .organization .flx_c3 .flx_item:nth-child(2){
        width: calc(49.556% - 18px);
    }
    .organization .flx_c3 .flx_item:nth-child(3){
        width: calc(40.9% - 18px);
    }
    .organization2_1{
        max-width: 203px;
    }
    .section_wrapper img.organization2_2{
        display: block;
        max-width: 216px;
        margin: 0 auto;
        padding-bottom: 30px;
    }
    .organization3{
        display: block;
        max-width: 220px;
    }

    /* ---------------------------- */
    /* 企業
    /* ---------------------------- */
    .company1{
        max-width: 110.3px;
    }
    .company2{
        max-width: 259px;
    }

    /* ---------------------------- */
    /* 項目
    /* ---------------------------- */
    .event1{
        max-width: 212px;
    }
    .event .flx_c2{
        justify-content: space-around;
    }
    .event .flx_c2 .flx_item{
        width: calc(50% - 18px);
    }
    



    /* ---------------------------- */
    /* 会社概要
    /* ---------------------------- */
    .company .table1{
        margin-bottom: 30px;
    }
    .section_wrapper .table1{
        width: 100%;
        display: block;
    }
    .section_wrapper .table1 .table-row{
        width: 100%;
        display: block;
    }
    .section_wrapper .table1 .table-cell{
        width: 100%;
        display: block;
        padding: 11px 10px 9px;
    }
    .section_wrapper .table1 .table-cell-th{
        width: 100%;
        padding: 3px 10px 0;
        text-align: center;
    }
	.company .txt_img_flx{
		align-items: center;
		flex-direction: column-reverse;
	}
	.company .txt_img_flx .flx_text_item{
		padding-bottom: 0;
		padding-top: 20px;
	}
	
    /* ---------------------------- */
    /* お問い合わせリンク
    /* ---------------------------- */
    .contact_link{
        margin: 0 auto 100px;
    }

    /* ---------------------------- */
    /* フッター
    /* ---------------------------- */
    .footer_btm{
        border-top: 3px solid #0069A4;
        background: #EBEFF9;
    }
    .footer_btm_inner{
        flex-wrap: wrap;
        padding: 22px 35px 76px 16px;
    }
    .footer_l{
        width: 100%;
    }
    .footer_r{
        width: 100%;
        padding-top: 33px;
        font-size: 1.4rem;
        text-align: center;
    }
    .footer_r .cart_icon{
        max-width: 42px;
    }

}

@media (min-width: 820px) {

    /* ---------------------------- */
    /* ベース
    /* ---------------------------- */    
    .sp{
        display: none!important;
    }
    a{
        transition: .5s;
    }
    a:hover{
        opacity: .65;
        transition: .5s;
    }
    .page_top{
        cursor: pointer;
        transition: .5s;
    }
    .page_top:hover{
        opacity: .65;
        transition: .5s;
    }
	.wpcf7-submit{
        cursor: pointer;
        transition: .5s;
	}
	.wpcf7-submit:hover{
        opacity: .65;
        transition: .5s;
	}

    /* ---------------------------- */
    /* 共通のコンテンツサイズ・余白等
    /* ---------------------------- */
    .flx_c2 .flx_item{
        width: calc(50% - 9px);
        margin: 0 4.5px;
    }
    .flx_c3 .flx_item{
        width: calc(100% / 3 - 9px);
        margin: 0 4.5px;
    }
    .flx_c3 img.flx_item{
        padding-bottom: 0;
    }
    .activitie .flx_c3 .flx_item{
        width: calc(100% / 3 + 36px);
        margin: 0 4.5px;
    }
    .activitie .flx_c3 .flx_item:first-child{
        width: 80%;
        margin: 0 13px 0 0;
    }
    .flx_c4 .flx_item{
        width: calc(25% - 30px);
        margin: 0 15px;
    }
    .flx_c2 .flx_item:nth-last-of-type(-n+2) {
        padding-bottom: 0;
    }

    .flx_text_item{
        width: calc(100% - 325px);
        margin-right: 25px;
        box-sizing: border-box;
    }
    .flx_img_item{
        width: 300px;
        box-sizing: border-box;
    }

    /* ---------------------------- */
    /* モーダル
    /* ---------------------------- */
    .modal_click{
        opacity: 1;
        transition: .3s;
    }
    .modal_click:hover{
        opacity: .8;
        transition: .3s;
    }    

    /* ---------------------------- */
    /* ヘッダー
    /* ---------------------------- */
    .header_logo2{
        width: 55px;
    }
    .is_active .header1{
        display: none;
    }
    .header_top .header_inner{
        height: 113px;
    }
    .header2{
        position: fixed;
        display: none;
        background: #EBEFF9;
        border-bottom: 2px solid #0069A4;
    }
    .header2 .header_inner{
        min-height: 48px;
        max-width: 997px;
        margin: 0 auto;
    }
    .is_active .header2{
        display: flex!important;
        width: 100%;
    }
    .header2 .header_l{
        margin-right: 10px;
    }
    .header2 .header_r{
        flex-wrap: nowrap;
        margin-left: 10px;
    }
    .header2 nav ul{
        display: flex;
        flex-wrap: wrap;
    }
    .header_logo2{
        width: 55px;
    }
    .header_btm{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 12.54px 20px;
        border-top: #9FCCE5 1px solid;
        border-bottom: 2px solid #0069A4;
        background: #EBEFF9;
        width: 100%;
        z-index: 10;
    }
    .header_btm ul{
        display: flex;
        align-items: center;
        box-sizing: border-box;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
    }
    .header2 nav ul{
        padding-bottom: 10px;
    }
    .header2 nav ul a{
        display: inline-block;
        padding: 10px 16px 0;
    }





    /* ---------------------------- */
    /* 企業
    /* ---------------------------- */
    .company .txt_img_flx{
        justify-content: space-between;
    }  
    .company1{
        width: 110.3px;
        margin-top: -50px;
        z-index: 2;
    }
    .company2{
        width: 259px;
        margin-top: -50px;
        z-index: 2;
    }



    /* ---------------------------- */
    /* フッター
    /* ---------------------------- */
    .footer_top{
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 12.54px 20px;
        border-top: 3px solid #0069A4;
        border-bottom: #9FCCE5 1px solid;
        background: #EBEFF9;
        width: 100%;
        z-index: 10;
    }
    .footer_top{
        display: flex;
        align-items: center;
        box-sizing: border-box;
        justify-content: center;
        flex-wrap: wrap;
        width: 100%;
        padding-bottom: 10px;
    }
    .footer_top a{
        display: inline-block;
        padding: 0 16px;
        color: #004E92;
    }

}