    @charset "UTF-8";
    /*

	1)	初期設定
	2)	hover
	3)	header & nav
	4)	footer
	5)	contents
				└ main ※共通部分のみ

*/
    /*-------------------------------------------------------------------------------------------------------------- reset CSS
--------------------------------------------------------------------------------------------------------------*/

    html,
    body,
    div,
    span,
    object,
    iframe,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    blockquote,
    pre,
    abbr,
    address,
    cite,
    code,
    del,
    dfn,
    em,
    img,
    ins,
    kbd,
    q,
    samp,
    small,
    strong,
    sub,
    sup,
    var,
    b,
    i,
    dl,
    dt,
    dd,
    ol,
    ul,
    li,
    fieldset,
    form,
    label,
    legend,
    table,
    caption,
    tbody,
    tfoot,
    thead,
    tr,
    th,
    td,
    article,
    aside,
    canvas,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section,
    summary,
    time,
    mark,
    audio,
    video {
        margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        font-size: 100%;
        vertical-align: baseline;
    }

    body {
        line-height: 1;
    }

    article,
    aside,
    details,
    figcaption,
    figure,
    footer,
    header,
    hgroup,
    menu,
    nav,
    section {
        display: block;
    }

    nav,
    ul,
    ol {
        list-style: none;
    }

    blockquote,
    q {
        quotes: none;
    }

    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: '';
        content: none;
    }

    a {
        margin: 0;
        padding: 0;
        font-size: 100%;
        vertical-align: baseline;
    }

    ins {
        background-color: #ff9;
        color: #000;
        text-decoration: none;
    }

    mark {
        background-color: #ff9;
        color: #000;
        font-style: italic;
        font-weight: bold;
    }

    del {
        text-decoration: line-through;
    }

    abbr[title],
    dfn[title] {
        border-bottom: 1px dotted;
        cursor: help;
    }

    table {
        border-collapse: collapse;
        border-spacing: 0;
    }

    hr {
        display: block;
        height: 1px;
        border: 0;
        border-top: 1px solid #ccc;
        margin: 1em 0;
        padding: 0;
    }

    input,
    select {
        vertical-align: middle;
    }

    section.main a:hover {
        text-decoration: underline;
    }

    /*============================================================================================================
	初期設定
============================================================================================================*/

    body {
        color: #000;
        -webkit-text-size-adjust: 100%;
        line-height: 1.75;
        letter-spacing: 1px;
    }

    div {
        margin: 0 auto;
    }

    div,
    h1,
    h2,
    h3,
    h4,
    h5,
    p,
    li,
    dl,
    dt,
    dd,
    th,
    td,
    article,
    header,
    footer,
    nav,
    span,
    a {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    a {
        color: inherit;
        text-decoration: none;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    img {
        height: auto;
        width: auto;
        max-width: 100%;
        line-height: 100%;
        vertical-align: bottom;
    }

    em {
        font-style: normal;
    }

    h1,
    h2,
    h3,
    h4,
    h5 {
        line-height: 1.75;
        margin: 0;
    }

    p,
    li,
    td,
    th,
    dt,
    dd {
        font-size: 15px;
        line-height: 1.75;
        margin: 0;
        word-wrap: break-word;
    }

    .page-numbers li .page-numbers.current {
        background-color: #fff;
        padding: 14px 21px 14px 20px;
        color: #0058A2
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {

        p,
        li,
        td,
        th,
        dt,
        dd {
            font-size: 14px;
        }
    }

    table {
        width: 100%;
        border-collapse: collapse;
    }

    th,
    td {
        text-align: left;
        font-weight: normal;
        vertical-align: top;
        word-break: break-all;
    }

    ul,
    ol {
        padding: 0;
        margin: 0;
    }

    .cf:after {
        content: "";
        clear: both;
        display: block;
    }

    .bold {
        font-weight: bold;
    }

    /*@media screen and (max-width: 834px) and (orientation: portrait) {*/

    @media screen and (min-width: 835px) {
        body {
            /*min-width: 1160px;*/
            min-width: 835px;
            width: 100%;
        }

        .sp {
            display: none !important;
        }
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        body {
            min-width: 100%;
        }

        .pc {
            display: none !important;
        }
    }

    /*------------------------------------------
	フォント
------------------------------------------*/

    body {
        font-family: "Noto Sans Japanese", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    }

    /*------------------------------------------
	枠
------------------------------------------*/

    .inner {
        width: 1160px;
        max-width: 95%;
        margin: 0 auto;
        padding: 85px 0;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        body {
            min-width: 100%;
        }

        .inner {
            padding: 30px 10px;
        }
    }

    /*============================================================================================================
	hover
============================================================================================================*/

    @media screen and (min-width: 768px) {
        a:hover {
            filter: alpha(opacity=60);
            -moz-opacity: 0.6;
            opacity: 0.6;
        }
    }

    /*============================================================================================================
	header & nav
============================================================================================================*/
    /*------------------------------------------
	header
------------------------------------------*/

    #header {
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
        z-index: 9990;
    }

    #header .headerLogo {
        width: 27%;
        max-width: 296px;
        float: left;
        margin: 20px auto 0 30px;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    #header .headerLogo img {
        width: 296px;
        height: 80px;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    @media screen and (min-width: 768px) {
        #header {
            width: 100%;
            position: fixed;
            top: 0;
        }
    }

    @media screen and (min-width: 768px) and (max-width: 1200px) {
        #header .headerLogo {
            width: 14%;
        }

        #header .nav {
            width: 81%;
        }
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        #header .headerLogo {
            width: auto;
            margin: 10px auto 0 10px;
            position: relative;
            z-index: 10;
        }

        #header .headerLogo img {
            width: 120px;
            height: 32px;
        }
    }

    /*------------------------------------------ nav
------------------------------------------*/
    /* =========== common =========== */

    .nav a {
        display: block;
    }

    .nav .mainMenu li,
    .nav .mainMenu .parent {
        font-size: 14px;
    }

    /* =========== PC =========== */

    @media screen and (min-width: 835px) {
        #slideMenu {
            display: block !important;
        }

        .nav {
            color: #fff;
            float: right;
            width: 77%;
            max-width: 850px;
            padding-top: 31px;
            text-align: center;
            background: rgba(0, 0, 0, 0.3);
            border-left: 1px solid #fff;
        }

        .mainMenu .single,
        .mainMenu .family {
            float: left;
            width: 20%;
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
        }

        .mainMenu .single a,
        .mainMenu .family a {
            padding: 18px 0 20px;
            border-bottom: 5px solid #fff;
        }

        .mainMenu .single a:hover,
        .mainMenu .family a:hover {
            opacity: 1;
            background: #E50012;
        }

        .mainMenu>li:last-of-type {
            border-right: none;
        }

        .mainMenu .family {
            position: relative;
        }

        .mainMenu .family:hover {
            background: #E50012;
        }

        .mainMenu .family:hover a {
            border-bottom-color: #E50012;
        }

        .mainMenu .family .child {
            left: -100%;
            left: calc(-100% - 2px);
            right: -100%;
            right: calc(-100% - 2px);
            margin: auto;
            top: 100%;
            width: 0;
            opacity: 0;
            visibility: hidden;
            position: absolute;
            background: rgba(0, 0, 0, 0.3);
            border: 1px solid #fff;
            border-bottom: none;
            -webkit-transition: all 0.2s ease-in-out;
            -moz-transition: all 0.2s ease-in-out;
            -o-transition: all 0.2s ease-in-out;
            transition: all 0.2s ease-in-out;
            width: 100%;
        }

        .mainMenu .family .child a {
            border: none;
            padding: 5px 10px;
        }

        .mainMenu .family .child li {
            /*display: none;*/
            border-bottom: 1px solid #fff;
        }

        /*.mainMenu .family:hover .child {
            visibility: visible;
            opacity: 1;
            width: 300%;
            width: calc(300% + 2px);
        }*/
        .mainMenu .family:hover .child {
            visibility: visible;
            opacity: 1;
            width: 120%;
            width: calc(120% + 2px);
        }

        .mainMenu .family:hover .child a:hover {
            opacity: 1;
            background: #E50012;
        }

        .mainMenu .family:hover .child li {
            display: block;
        }

        .subMenu {
            max-width: 550px;
            margin: 0 0 0 auto;
            position: absolute;
            top: 0;
            right: 0;
        }

        .subMenu li {
            float: left;
            font-size: 12px;
            line-height: 1.3;
            padding: 9px 0 3px;
        }

        .subMenu li a {
            padding: 0 15px;
            border-right: 1px solid #fff;
        }

        .subMenu li:last-of-type a {
            border-right: none;
        }
    }

    /* =========== SP =========== */

    @media screen and (max-width: 834px) and (orientation: portrait) {
        nav {
            padding: 40px 15px;
        }

        .mainMenu a {
            padding: 10px 0 3px;
        }

        .mainMenu .child li {
            font-size: 12px;
            padding-left: 25px;
            position: relative;
        }

        .mainMenu .child li:before {
            content: "";
            display: block;
            width: 5px;
            height: 1px;
            background: #000;
            position: absolute;
            left: 10px;
            top: 0;
            bottom: 0;
            margin: auto;
        }

        .mainMenu .child li a {
            padding: 5px 0;
        }

        .subMenu a {
            padding: 10px 0 3px;
        }
    }

    /*------------------------------------------
	固定時 (PC)
------------------------------------------*/

    @media screen and (min-width: 835px) {
        #header.fixed {
            background: rgba(0, 0, 0, 0.3);
        }

        #header.fixed .headerLogo {
            margin-top: 5px;
        }

        #header.fixed .headerLogo img {
            width: 195px;
            height: 55px;
        }

        #header.fixed .nav {
            background: none;
            border-bottom: none;
        }

        #header.fixed .nav li,
        #header.fixed .nav p {
            font-size: 11px !important;
        }

        #header.fixed .nav .mainMenu a {
            padding-top: 7px;
            padding-bottom: 7px;
            border-bottom: none;
        }
    }

    /*============================================================================================================
	footer
============================================================================================================*/

    #footer .facebookBox {
        width: 440px;
        padding: 20px;
        float: right;
    }

    #footer .facebookBox .sns {
        width: 80%;
        display: block;
        margin: 0 auto;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        #footer .facebookBox .sns {
            width: 100%;
            margin: 0 auto 30px auto;
        }
    }

    #footer .facebookBox .sns li {
        display: block;
        margin: 4px 0;
        border: 1px solid #24579D;
    }

    #footer .facebookBox .sns a {
        display: block;
        padding: 16px;
    }

    #footer .facebookBox .sns a:hover {
        background-color: #24579D;
        opacity: 1;
    }

    #footer .facebookBox .sns a img {
        display: inline-block;
        vertical-align: middle;
        width: 30px;
        height: auto;
        margin-right: 16px;
    }

    #footer .facebookBox .sns li.inst a {
        color: #AA4171;
    }

    #footer .facebookBox .sns li.tik a {
        color: #000;
    }

    #footer .facebookBox .sns li.fb a {
        color: #3773E2;
    }

    #footer .facebookBox .sns li.tw a {
        color: #4794E1;
    }

    #footer .facebookBox .sns li.inst a:hover,
    #footer .facebookBox .sns li.tik a:hover,
    #footer .facebookBox .sns li.fb a:hover,
    #footer .facebookBox .sns li.tw a:hover {
        color: #fff
    }

    #footer .facebookBox .sns a span {
        display: inline-block;
        vertical-align: middle;
        text-align: center;
        width: 70%;
        font-size: 15px;
        font-weight: bold;
        letter-spacing: 1px;
    }

    #footer .facebookBox h5.img_md {
        width: 60%;
        height: auto;
        margin: 24px auto 40px auto;
    }

    #footer .facebookBox h5.txt {
        width: 80%;
        height: auto;
        position: relative;
        font-size: 40px;
        text-align: center;
        color: #24579D;
        margin: 24px auto;
    }

    #footer .facebookBox h5.txt::before,
    #footer .facebookBox h5.txt::after {
        position: absolute;
        content: '';
        top: 0;
        bottom: 0;
        margin: auto;
    }

    #footer .facebookBox h5.txt::before {
        width: 10%;
        height: 1px;
        background-color: #24579D;
        left: 0;
    }

    #footer .facebookBox h5.txt::after {
        width: 10%;
        height: 1px;
        background-color: #24579D;
        right: 0;
    }

    #footer .footerMain {
        color: #fff;
        float: left;
        width: calc(100% - 440px);
        background: #0058A2;
    }

    #footer .footerMain .footerMainIn {
        /*width: 90%;
        max-width: 1160px;*/
        width: 1160px;
        max-width: 100%;
        margin: 0 0 0 auto;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        #footer .footerMain .footerMainIn {
            width: 100%;
            margin: 0 auto;
        }
    }

    #footer .footerMain .footerMainTop {
        padding: 30px 20px 50px;
        border-bottom: 1px solid #fff;
    }

    #footer .footerMain .footerMainTop .footerLogo {
        margin-bottom: 35px;
    }

    #footer .footerMain .footerMainTop .footerLogo img {
        width: 453px;
        height: 122px;
    }

    #footer .footerMain .footerMainTop .address {
        float: left;
    }

    #footer .footerMain .footerMainTop .mark {
        display: block;
        width: 300px;
        float: right;
        border: 1px solid #ddd;
    }

    #footer .footerMain .footerMainBtm {
        padding: 25px 20px;
    }

    #footer .footerMain .footerMainBtm .list {
        width: 250px;
        float: left;
    }

    #footer .footerMain .footerMainBtm .item {
        color: #C8C8C8;
    }

    #footer .footerMain .footerMainBtm .item a {
        display: block;
        padding: 5px 0 4px;
        color: #fff;
    }

    #footer .footerMain .footerMainBtm .child {
        margin: 0 0 35px 15px;
    }

    #footer .footerMain .footerMainBtm .child .item {
        position: relative;
    }

    #footer .footerMain .footerMainBtm .child .item a {
        padding-left: 10px;
    }

    #footer .footerMain .footerMainBtm .child .item a:before {
        content: "";
        display: block;
        width: 3px;
        height: 1px;
        background: #C8C8C8;
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        #footer .facebookBox {
            float: none;
            padding: 20px 10px;
        }

        #footer .footerMain {
            float: none;
            width: 100%;
        }

        #footer .footerMain .footerMainIn {
            width: 100%;
            padding: 20px 30px;
            margin: 0 auto;
        }

        #footer .footerMain .footerMainTop {
            padding: 0;
        }

        #footer .footerMain .footerMainTop .footerLogo {
            margin-bottom: 20px;
        }

        #footer .footerMain .footerMainTop .footerLogo img {
            width: 200px;
            height: 54px;
        }

        #footer .footerMain .footerMainTop .address {
            float: none;
            font-size: 12px;
            margin-bottom: 20px;
        }

        #footer .footerMain .footerMainTop .mark {
            float: none;
            margin: 0 auto;
            width: 100%;
            max-width: 300px;
        }

        #footer .footerMain .footerMainBtm {
            padding: 0;
        }

        #footer .footerMain .footerMainBtm .list {
            float: none;
            width: auto;
        }

        #footer .footerMain .footerMainBtm .item {
            font-size: 12px;
        }

        #footer .footerMain .footerMainBtm .parent {
            font-size: 12px;
        }

        #footer .footerMain .footerMainBtm .child {
            margin: 0 0 5px 15px;
        }
    }

    @media screen and (max-width: 480px) {
        #footer .facebookBox {
            width: 290px;
        }
    }

    /*------------------------------------------
	footLogin
------------------------------------------*/

    .footLogin {
        padding: 30px 0;
        background: #A0B4E6;
    }

    /*------------------------------------------
	copyright
------------------------------------------*/

    .copyright {
        padding: 10px;
    }

    .copyright p {
        color: #0058A2;
        text-align: center;
        font-size: 11px;
        font-weight: 500;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .copyright p {
            font-size: 10px;
        }
    }

    /*------------------------------------------
	TOPへ戻る	
------------------------------------------*/

    .retop {
        z-index: 9990;
        right: 0;
        bottom: 0;
        position: fixed;
        width: 80px;
        height: 80px;
        font-size: 12px;
        text-align: center;
        color: #fff;
        display: none;
    }

    .retop a {
        height: 100%;
        padding-top: 40px;
        display: block;
        background: #E50012 url(../img/ico/ico_arrow03.png) no-repeat center 20px;
        background-size: 26px;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .retop {
            width: 40px;
            height: 40px;
            font-size: 10px;
        }

        .retop a {
            padding-top: 18px;
            background-size: 13px;
            background-position: center 8px;
        }
    }

    /*============================================================================================================
	contents
============================================================================================================*/

    @media screen and (max-width: 834px) and (orientation: portrait) {
        #contents {
            margin-top: -42px;
        }
    }

    /*==========================================
	main ※共通部分のみ
==========================================*/

    .txt+.txt {
        margin-top: 30px;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .txt+.txt {
            margin-top: 15px;
        }
    }

    /*------------------------------------------
	innerCmnSet
	見出しmargin-bottom、全体padding 調節
------------------------------------------*/

    .innerCmnSet {
        padding: 55px 0 100px;
    }

    .innerCmnSet .modTtl02 {
        margin-bottom: 0;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .innerCmnSet {
            padding: 30px 0 0;
        }
    }

    /*------------------------------------------
	kasouVisual ( mainVisual )
------------------------------------------*/

    .kasouVisual {
        width: 100%;
        height: 330px;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .kasouVisual {
            height: 200px;
            top: -42px;
            margin-bottom: -42px;
            position: relative;
        }
    }

    /*------------------------------------------
	cvBoxWrap
------------------------------------------*/

    #cvBoxWrap .cvBox {
        color: #fff;
        width: 50%;
        text-align: center;
        background: #A0B4E6;
    }

    #cvBoxWrap .cvBox .cvBoxIn {
        width: 100%;
        padding: 39px 10px 42px;
    }

    #cvBoxWrap .cvBox .ttl {
        font-size: 26px;
        font-weight: 500;
        letter-spacing: 3px;
        padding-top: 70px;
        background-position: center top;
        background-repeat: no-repeat;
        background-size: 61px;
        position: relative;
    }

    #cvBoxWrap .cvBox .ttl:before {
        content: "";
        display: block;
        width: 90px;
        height: 1px;
        background: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -15px;
        margin: auto;
    }

    #cvBoxWrap .cvTel {
        border-right: 1px solid #fff;
    }

    #cvBoxWrap .cvTel .ttl {
        margin-bottom: 30px;
        background-image: url(../img/ico/ico_tel01.png);
    }

    #cvBoxWrap .cvTel .number {
        font-size: 40px;
        font-weight: bold;
        line-height: 1.2;
    }

    @media screen and (min-width: 768px) {
        #cvBoxWrap .cvTel .number a {
            pointer-events: none;
        }
    }

    #cvBoxWrap .cvMail a {
        width: 100%;
        display: block;
    }

    #cvBoxWrap .cvMail a:hover {
        opacity: 1;
        background: #E50012;
    }

    #cvBoxWrap .cvMail .ttl {
        margin-bottom: 40px;
        background-image: url(../img/ico/ico_mail01.png);
    }

    #cvBoxWrap .cvMail .btnMail {
        max-width: 300px;
        font-size: 18px;
        padding: 12px 5px;
        border: 1px solid #fff;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        #cvBoxWrap {
            display: block;
        }

        #cvBoxWrap .cvBox {
            width: 100%;
        }

        #cvBoxWrap .cvBox .cvBoxIn {
            padding: 20px;
        }

        #cvBoxWrap .cvBox .ttl {
            font-size: 20px;
            padding-top: 45px;
            background-size: 40px;
        }

        #cvBoxWrap .cvBox .ttl:before {
            bottom: -10px;
        }

        #cvBoxWrap .cvTel {
            border-right: none;
            border-bottom: 1px solid #fff;
        }

        #cvBoxWrap .cvTel .ttl {
            margin-bottom: 20px;
        }

        #cvBoxWrap .cvTel .number {
            font-size: 33px;
        }

        #cvBoxWrap .cvMail .ttl {
            margin-bottom: 30px;
        }

        #cvBoxWrap .cvMail .btnMail {
            font-size: 16px;
        }
    }

    /*------------------------------------------
	footNav
------------------------------------------*/

    .footNav .list .item {
        color: #fff;
        float: left;
        height: 290px;
        text-align: center;
        position: relative;
        overflow: hidden;
        background: #3f6eb4;
        background: #002C60;
    }

    .footNav .list .item a:before {
        content: "";
        display: block;
        width: 90%;
        width: calc(100% - 40px);
        height: 90%;
        height: calc(100% - 40px);
        position: absolute;
        bottom: 100%;
        left: 0;
        right: 0;
        margin: auto;
        opacity: 0;
        background: #E50012;
        z-index: 2;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .footNav .list .item img {
        opacity: .4;
        z-index: 1;
    }

    .footNav .list.rec {
        margin: 16px auto 0 auto;
    }

    .footNav .list .item .txtWrap {
        display: table;
        width: 100%;
        position: absolute;
        top: 33%;
        padding: 0 25px;
        margin: auto;
        z-index: 3;
    }

    .footNav .list .item .txt {
        font-size: 28px;
        font-weight: 500;
        margin-bottom: 20px;
        position: relative;
    }

    .footNav .list .item .txt:before {
        content: "";
        display: block;
        width: 90px;
        height: 1px;
        background: #fff;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -10px;
        margin: auto;
    }

    .footNav .list .item .sub {
        font-size: 14px;
        position: relative;
    }

    .footNav .list .item .sub span {
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .footNav .list .item .sub span.s2 {
        top: 30px;
        opacity: 0;
    }

    @media screen and (min-width: 768px) {
        .footNav .list .item {
            width: 33.33%;
        }

        .footNav .list .item a:before {
            content: "";
            display: block;
            width: 90%;
            width: calc(100% - 40px);
            height: 90%;
            height: calc(100% - 40px);
            position: absolute;
            bottom: 100%;
            left: 0;
            right: 0;
            margin: auto;
            opacity: 0;
            background: #E50012;
            z-index: 2;
            -webkit-transition: all 0.3s ease-in-out;
            -moz-transition: all 0.3s ease-in-out;
            -o-transition: all 0.3s ease-in-out;
            transition: all 0.3s ease-in-out;
        }

        .footNav .list .item a:hover:before {
            top: 0;
            bottom: 0;
            opacity: 1;
        }

        .footNav .list .item a:hover img {
            opacity: 1;
        }

        .footNav .list .item a:hover .sub span.s1 {
            opacity: 0;
        }

        .footNav .list .item a:hover .sub span.s2 {
            top: 0;
            opacity: 1;
        }

        .ipad .footNav a:hover:before {
            content: none;
        }
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .footNav .list .item {
            width: 50%;
            height: 200px;
        }

        .footNav .list .item .txtWrap {
            padding: 0 10px;
        }

        .footNav .list .item .txt {
            font-size: 20px;
        }

        .footNav .list .item .sub span {
            font-size: 12px;
        }
    }

    @media screen and (max-width: 480px) {
        .footNav .list .item {
            width: 100%;
            float: none;
            height: 150px;
        }

        .footNav .list .item .txtWrap {
            top: 25%;
        }
    }

    /*------------------------------------------
	linkWrap
------------------------------------------*/

    #linkWrap {
        padding: 35px 0;
    }

    #linkWrap .list .item {
        text-align: center;
        margin: 0 10px;
    }

    #linkWrap .list .item img {
        max-height: 170px;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        #linkWrap {
            padding: 20px 10px;
        }

        #linkWrap .list {
            display: block;
        }

        #linkWrap .list .item {
            margin: 10px auto;
        }
    }

    /*------------------------------------------
	constructionRecordBox
------------------------------------------*/

    .constructionRecordBoxWrap {
        padding: 40px 30px;
        background: #0058A2;
    }

    .constructionRecordBoxWrap .constructionRecordBoxInner {
        max-width: 1750px;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .constructionRecordBoxWrap {
            padding: 20px 10px 30px;
        }

        .constructionRecordBoxWrap .constructionRecordBoxInner {
            margin-bottom: 30px;
        }
    }

    .constructionRecordBox {
        width: 32%;
        float: left;
        margin: 0 2% 100px 0;
    }

    .constructionRecordBox:nth-of-type(3n) {
        margin-right: 0;
    }

    .constructionRecordBox a {
        display: block;
    }

    .constructionRecordBox .imgBox {
        height: 330px;
        margin-bottom: 15px;
    }

    .constructionRecordBox .metaWrap {
        color: #fff;
        margin-bottom: 5px;
    }

    .constructionRecordBox .metaWrap>* {
        font-size: 13px;
        display: inline-block;
        line-height: 1.1;
    }

    .constructionRecordBox .metaWrap .tag {
        padding-right: 5px;
        margin-right: 5px;
        border-right: 1px solid #fff;
    }

    .constructionRecordBox .ttl {
        color: #fff;
        font-weight: bold;
    }

    .constructionRecordBox .txt {
        color: #fff;
        font-size: 13px;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .constructionRecordBox {
            width: 100%;
            margin: 0 auto 50px !important;
        }

        .constructionRecordBox:last-of-type {
            margin-bottom: 0 !important;
        }

        .constructionRecordBox .imgBox {
            height: 44vw;
        }

        .constructionRecordBox .ttl {
            font-size: 14px;
        }
    }

    .category {
        margin: 20px auto 15px;
        overflow: hidden;
    }

    .category .item {
        float: left;
        min-width: 100px;
        display: table;
        color: #fff;
        text-align: center;
        font-size: 13px;
        font-weight: bold;
        padding: 2px 10px;
        margin: 10px 10px 0 0;
        border: 1px solid #fff;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .category {
            margin: 5px auto 10px;
        }
    }

    /*------------------------------------------
	infoArchive
------------------------------------------*/

    .infoArchive {
        margin-bottom: 20px;
        border: 1px solid #0058A2;
    }

    .infoArchive a {
        display: block;
        padding: 10px;
        overflow: hidden;
    }

    .infoArchive .txtBox {
        width: 80%;
        width: calc(100% - 180px);
        float: left;
        padding: 5px;
    }

    .infoArchive .txtBox .time {
        font-size: 13px;
        margin-bottom: 5px;
    }

    .infoArchive .txtBox .ttl {
        font-weight: bold;
    }

    .infoArchive .imgBox {
        width: 170px;
        height: 130px;
        margin: 0 0 0 auto;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .infoArchive {
            margin-bottom: 10px;
        }

        .infoArchive .txtBox {
            padding: 0;
            width: calc(100% - 120px);
        }

        .infoArchive .txtBox .time {
            margin-bottom: 0;
        }

        .infoArchive .txtBox .ttl {
            font-size: 14px;
        }

        .infoArchive .imgBox {
            width: 100px;
            height: 80px;
        }
    }

    .answer {
        width: 100%;
        margin: 0 auto;
        position: relative;
        padding: 0 5%;
    }

    .answer::after {
        position: absolute;
        content: 'A';
        top: 0;
        left: -5px;
        font-weight: bold;
        font-size: 22px;
        color: #C43027;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {

        /*@media screen and (max-width:767px) {*/
        .answer {
            padding: 40px 0 0 0;
        }

        .answer::after {
            left: 0;
            right: 0;
            margin: auto;
            width: 100%;
            text-align: center;
        }
    }

    .answer ul {
        display: flex;
        width: 100%;
        padding: 0 0 0 30px;
        position: relative;
        border-bottom: 1px solid #efefef;
    }

    .answer ul:last-child {
        border-bottom: none
    }

    .answer ul li {
        padding: 12px;
        list-style-type: disc;
    }

    .answer ul li {
        width: 100%;
    }

    /*.answer ul li:last-child {
        width: 10%;
        text-align: right;
    }*/

    @media screen and (max-width: 834px) and (orientation: portrait) {

        /* @media screen and (max-width:767px) {*/
        .answer ul li {
            padding: 8px 8px 8px 12px;
        }

        /*.answer ul li:first-child {
            width: 80%;
        }
        .answer ul li:last-child {
            width: 20%;
        }*/
    }

    /*.answer ul:after {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        content: '・';
        font-weight: bold;
        font-size: 16px;
        color: #C43027;
    }*/
    /*------------------------------------------
	acordion
------------------------------------------*/

    .acordionBtn {
        cursor: pointer;
        position: relative;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .acordionBtn span.qs {
        font-size: 24px;
        font-weight: bold;
        margin-right: 16px;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {

        /*@media screen and (max-width:767px) {*/
        .acordionBtn span.qs {
            display: block;
            margin: 0 auto;
            text-align: center;
        }
    }

    .acordionBtn:hover {
        filter: alpha(opacity=60);
        -moz-opacity: 0.6;
        opacity: 0.6;
    }

    .acordionBtn .acordionBtnTxt {
        display: table;
        position: absolute;
        right: 15px;
        top: 17px;
        padding-right: 30px;
    }

    .acordionBtn .acordionBtnTxt p {
        font-size: 11px;
    }

    .acordionBtn .acordionBtnTxt span {
        position: absolute;
        right: 0;
        top: 8px;
        width: 20px;
        height: 2px;
        background: #000;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    .acordionBtn .acordionBtnTxt span:nth-of-type(1) {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    .acordionBtn .acordionBtnTxt span:nth-of-type(2) {
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    }

    .acordionBtn .acordionBtnTxt span:nth-of-type(1) {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    .acordionBtn.close .acordionBtnTxt span:nth-of-type(1) {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    .acordionBtn.close .acordionBtnTxt span:nth-of-type(2) {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .acordionBtn .acordionBtnTxt {
            right: 5px;
        }
    }

    .acordionBody {
        display: none;
    }

    /*# sourceMappingURL=common.css.map */
    /* フォーム送信ボタン修正 */

    div.wpcf7 .wpcf7-submit:disabled {
        cursor: not-allowed !important;
    }

    .btnSubmit input {
        width: 100% !important;
        color: #fff
    }

    .kosakagroup {
        width: 80%;
        margin: 100px auto;
        display: block;
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .kosakagroup {
            margin: 50px auto;
        }
    }

    /* トップページバナー調整 */

    .footNav.widenav .list .item {
        width: 100%;
    }

    .footNav.widenav .list .item .txtWrap {
        top: 25%;
    }

    .footNav.widenav .list .item a:after {
        content: "";
        display: block;
        width: calc(100% - 40px);
        height: calc(100% - 40px);
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        border: solid 1px #ffffff;
        z-index: 2;
    }

    .footNav .list .item a:before {
        content: "";
        display: block;
        width: 90%;
        width: calc(100% - 40px);
        height: 90%;
        height: calc(100% - 40px);
        position: absolute;
        bottom: 100%;
        left: 0;
        right: 0;
        margin: auto;
        opacity: 0;
        background: #E50012;
        z-index: 2;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }

    /* 協力企業募集ページここから */

    .table-bosyu {
        width: 1160px;
        margin: 100px auto 0 auto;
        text-align: center;
        height: auto;
    }

    .table-bosyu th,
    .table-bosyu td {
        border: solid 1px #c8c8c8;
        text-align: center;
    }

    .table-bosyu th {
        background-color: #0058A2;
        color: #ffffff;
        font-weight: 600;
        width: 100%;
        padding: 15px;
        font-size: 18px;
        letter-spacing: 2px;
    }

    .table-bosyu td {
        width: 25%;
        padding: 20px;
    }

    @media screen and (max-width: 1160px) {
        .table-bosyu {
            width: 90%;
        }
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .table-bosyu tr {
            display: flex;
            flex-wrap: wrap;
        }

        .table-bosyu td {
            width: 50%;
            display: inline-block;
        }
    }

    .footerMainBtm .bunner {
        width: 35%;
        max-width: 300px;
        display: inline-block;
        vertical-align: top;
        padding-left: 30px;
    }

    @media screen and (max-width: 1400px) {
        .footerMainBtm .bunner {
            width: 100%;
            max-width: 100%;
            padding-left: 0;
            margin: 30px auto 0 auto;
        }
    }

    @media screen and (min-width: 768px) and (max-width: 1024px) {
        .footerMainBtm .bunner {
            width: 100%;
            max-width: 100%;
            padding-left: 0;
            margin: 30px auto 0 auto;
        }
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .footerMainBtm .bunner {
            width: 100%;
            max-width: 100%;
            padding-left: 0;
            margin: 30px auto 0 auto;
        }
    }

    .footerMainBtm .bunner .btn a {
        display: block;
        padding: 16px 16px 16px 40px;
        background: url('../img/ico/data_dl.svg') no-repeat;
        background-position: 16px center;
        background-size: 15px auto;
        display: block;
        background-color: #003D71;
        color: #fff;
        border: 1px solid #fff;
        text-align: center;
    }

    @media screen and (max-width: 1400px) {
        .footerMainBtm .bunner .btn a {
            width: 70%;
            max-width: 400px;
            padding: 8px 8px 8px 24px;
            font-size: 12px;
            margin: 0 auto;
        }
    }

    @media screen and (min-width: 768px) and (max-width: 1024px) {
        .footerMainBtm .bunner .btn a {
            width: 70%;
            padding: 8px 8px 8px 24px;
            font-size: 12px;
            margin: 0 auto;
        }
    }

    @media screen and (max-width: 834px) and (orientation: portrait) {
        .footerMainBtm .bunner .btn a {
            width: 70%;
            padding: 8px 8px 8px 24px;
            font-size: 12px;
            margin: 0 auto;
        }
    }

    .aligncenter {
        clear: both;
        display: block;
        margin: 16px auto;
    }

    img.syojyo {
        width: 60%;
        margin: 0 auto 60px auto
    }

    .columns1 {
        display: block
    }

    .columns2 {
        display: flex;
    }

    .columns1 li,
    .columns2 li {
        border-top: 1px solid #24579D;
        border-left: 1px solid #24579D;
        padding: 16px
    }

    .columns2 {
        flex-wrap: wrap;
    }

    .columns2 li {
        width: 50%;
    }

    @media screen and (max-width: 767px) {
        ol {
            display: block;
            width: 90%;
            margin: 0 auto
        }

        img.syojyo {
            width: 90%;
            margin: 0 auto 30px auto
        }

        .columns2 {
            flex-direction: column
        }

        .columns2 li {
            width: 100%;
            border-right: 1px solid #24579D;
        }
    }

    .columns1 li {
        border-right: 1px solid #24579D;
    }

    .columns1 li:last-child {
        border-bottom: 1px solid #24579D;
    }

    .columns2 li:nth-child(2n) {
        border-right: 1px solid #24579D;
    }

    .submit_wrap input {
        font-size: 16px;
        width: 80%;
        margin: 0 auto;
        display: block;
        padding: 16px;
        background-color: #D22D25;
        color: #fff;
        border: none;
    }

    .flex {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .employees {
        width: 100%;
        padding: 30px 40px;
        background-color: #CFDEEC;
        margin: 0 auto 40px auto;
    }

    .employees_2 {
        width: 100%;
        padding: 30px 40px;
        margin: 40px auto;
        border: 1px solid #85C1A7;
    }


    .employees .left h4 {
        display: block;
        font-size: 22px;
        color: #24579D;
        margin-bottom: 30px;
        letter-spacing: 2px;
    }

    .employees .flex p,
    .employees_2 .flex p {
        font-size: 14px;
        line-height: 24px;
        margin-bottom: 30px;
    }

    .employees .flex p.r_txt,
    .employees_2 .flex p.r_txt {
        text-align: right;
        margin-bottom: 10px;
    }


    .employees .flex .left {
        width: 60%;
    }

    .employees .flex .right {
        width: 30%;
    }

    @media (max-width:767px) {

        .employees,
        .employees_2 {
            width: 100%;
            padding: 30px;

        }

        .flex {
            flex-direction: column;
        }

        .employees .flex .left,
        .employees .flex .right,
        .employees_2 .flex .left,
        .employees_2.flex .right {
            width: 100%;
        }

        .employees .flex .right {
            padding: 30px 0 0 0;
        }

        .employees .left h4 {
            text-align: center;
            font-size: 18px;
        }

        .employees .flex p.r_txt,
        .employees_2 .flex p.r_txt {
            font-size: 12px;
        }

       
    }

    .employees a,
    .employees_2 a {
        color: #68A984;

    }

    .employees_2 h4 img {
        width: 40%;
        display: block;
        margin: 0 auto 30px auto;

    }

    .employees_2 small {
        font-size: 12px;
    }

    .fun {
        margin: 30px auto 0 auto;
    }

    .fun .left h4 {
        display: block;
        padding: 0 0 10px 0;
        color: #68A984;
    }

    .fun .left {
        width: 30%;
        padding: 0 0 20px 0;

    }

    .fun .right {
        width: 65%;
    }


    @media (max-width:767px) {
        .fun .left h4 {
            font-size: 16px;
        }

        .fun .left,
        .fun .right {
            width: 100%;
        }

        .fun .right p {
            margin-bottom: 0;
        }

        .employees_2 h4 img{
            width: 90%;
            display: block;
           

            
        }
    }

.sbi_feedtheme_header_text{
        width: 90%;
}
.sbi_feedtheme_title_wrapper{
    width: 100%;
}

   