@charset "UTF-8";

br.br-sp {
    display: none;
}

.main h2 {
    text-align: center;
    background: url("../img/recruit/outline-decoration@1x.png") no-repeat center bottom/427px auto;
    margin: 5rem 0;
    padding-bottom: 22px; }
    .main h2 .ja {
        font-size: 3rem;
        color: #333;
        display: block;
        letter-spacing: 0.3em; }
    .main h2 .en {
        margin-top: 1rem;
        font-family: "Marvel", sans-serif;
        font-weight: bold;
        font-size: 1.8rem;
        display: block;
        color: #2F419E; }

.internal-link-list {
    overflow: hidden;
    width: 100%;
    text-align: center;
    margin-bottom: 10rem; }
    .internal-link-list li {
        float: left;
        height: 7.5rem;
        font-weight: bold;
        font-size: 1.7rem;
        border-radius: 5px;
        color: white;
        vertical-align: middle;
        width: 16.25%;
        margin-left: .5%;
        background: #2F419E; }
    .internal-link-list li:first-child {
        margin-left: 0; }
        .internal-link-list li a {
            color: white;
            display: block;
            width: 100%;
            height: 100%; }
        .internal-link-list li a:before {
            content: "";
            display: inline-block;
            vertical-align: middle;
            width: 12%;
            min-width: 25px;
            height: 100%;
            margin-right: 10px;
            background: url("../img/product/ico_internal_link@1x.png") no-repeat right center/25px auto; }
        .internal-link-list li a span {
            display: inline-block;
            width: 62%;
            vertical-align: middle; }
        .internal-link-list li:nth-child(3) a .inner-text {
            margin-top: -1.5em; }
        .internal-link-list li:nth-child(4) a .inner-text {
            margin-top: -1.5em; }

.outline-list {
    display: table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0 8px;
    height: 100%; }
    .outline-list dl {
        display: table-row;
        min-height: 66px;
        height: 100%; }
        .outline-list dl dt, .outline-list dl dd {
            display: table-cell;
            background-color: white;
            color: #333;
            height: 100%; }
        .outline-list dl dt {
            width: 200px;
            font-size: 1.6rem;
            font-weight: 500;
            text-align: center;
            vertical-align: text-top;
            padding: 12px 0; }
            .outline-list dl dt .text-center-outer {
                border-right: 1px dotted #2F419E;
                height: 85%;
                position: relative; }
            .outline-list dl dt .text-center-outer .text-center-inner {
                /*position: absolute;
                top: 25%;
                left: 0;
                right: 0;*/ }
        .outline-list dl dd {
            font-size: 1.6rem;
            padding: 12px 65px 12px 65px;
            line-height: 2; }

.sec-contents-policy, .sec-contents-company, .sec-contents-history  {
    background: #eaecf5; }

.sec-contents-policy {
    padding: 5rem 0; }
    .sec-contents-policy p {
        font-size: 1.6rem;
        line-height: 200%; }

.sec-contents-greetings {
    padding: 0 0 5rem; }
    .sec-contents-greetings .clearfix {
        max-width: 911px;
        margin: 0 auto; }
        .sec-contents-greetings .float-left {
            width: 35.2%;
            max-width: 320px; }
            .sec-contents-greetings .float-left img {
                width: 100%; }
        .sec-contents-greetings .float-right {
            width: 61.8%;
            max-width: 563px;
            font-size: 1.6rem;
            line-height: 200%;
            padding: 1rem 0; }
            .sec-contents-greetings .float-right .text-right{
                margin-bottom: 2rem; }
                .sec-contents-greetings .float-right .text-right span {
                    vertical-align: bottom; }
                .sec-contents-greetings .float-right .text-right span.name {
                    padding-left: 1rem; }

.sec-contents-company {
    padding: 2rem 0 5rem; }

.sec-contents-access {
    padding: 2rem 0 6rem; }
    .sec-contents-access .float-left {
        width: 50%;
        max-width: 610px; }
    .sec-contents-access .float-right {
        width: 48%;
        max-width: 564px;
        margin-left: 2%; }
        .sec-contents-access .float-right p {
            margin-bottom: 3rem; }
        .sec-contents-access .float-right .add, .sec-contents-access .float-right ul {
            font-size: 1.6rem; }
        .sec-contents-access .float-right ul p {
            font-size: 1.4rem; }

.sec-contents-history {
    padding: 2rem 0 5rem; }
    .sec-contents-history .contents-limit-wrapper {
        max-width: 1017px; }
    .sec-contents-history .float-left {
        width: 75%;
        max-width: 762px; }
        .sec-contents-history .hatsudenki {
            margin-bottom: 4rem; }
            .sec-contents-history .hatsudenki .float-left {
                width: 38%;
                max-width: 284px; }
                .sec-contents-history .hatsudenki .float-left img {
                    width: 100%; }
            .sec-contents-history .hatsudenki .float-right {
                width: 62%;
                max-width: 464px;
                font-size: 1.4rem;
                margin: 2rem 0 0; }
            .sec-contents-history .hatsudenki .float-right span {
                font-size: 3rem; }
            .sec-contents-history .hatsudenki .float-right p {
                line-height: 200%; }
        .sec-contents-history .outline-list dl dt, .sec-contents-history .outline-list dl dd {
            font-size: 1.4rem; }
        .sec-contents-history .outline-list dl dt {
            width: 82px; }
        .sec-contents-history .outline-list dl dt .text-center-outer .text-center-inner {
            top: 19%; }
        .sec-contents-history .outline-list dl dd {
            padding: 12px 30px;
            line-height: 1.9; }
    .sec-contents-history .float-right {
        width: 23%;
        max-width: 206px;
        margin-left: 1%; }
        .sec-contents-history .float-right ul li {
            margin-top: 5rem; }
            .sec-contents-history .float-right ul li img {
                max-width: 100%; }
        .sec-contents-history .float-right ul li.en-img span {
            display: block;
            color: #5854AB;
            font-size: 1.3em;
            text-align: center;
            margin-top: .3em;
        }

.sec-contents-affiliatedCompany {}
    .sec-contents-affiliatedCompany .map-block {
        width: 100%;
        position: relative; }
        .sec-contents-affiliatedCompany .map-block img {
            width: 100%; }
        .sec-contents-affiliatedCompany .map-block ul {
            width: 100%;
            max-width: 1080px;
            margin: 0 auto;
            position: absolute;
            bottom: 5.5%;
            left: 0;
            right: 0;
            text-align: center; }
            .sec-contents-affiliatedCompany .map-block ul li {
                display: inline-block;
                vertical-align: bottom;
                width: 22.5%;
                margin-left: 2.4%;
                background-color: white;
                border: solid 1px #2f419e;
                border-radius: 5px;
                font-size: 2.3rem;
                -moz-transition: all 0.2s ease 0s;
                -webkit-transition: all 0.2s ease 0s;
                -ms-transition: all 0.2s ease 0s; }
                .sec-contents-affiliatedCompany .map-block ul li:first-child {
                    margin-left: 0; }
            .sec-contents-affiliatedCompany .map-block ul li a {
                display: block;
                color: #2f419e;
                padding: 1rem 0; }
                .sec-contents-affiliatedCompany .map-block ul li a span {
                    display: block;
                    font-size: 1.8rem; }
            .sec-contents-affiliatedCompany .map-block ul li:hover,
            .sec-contents-affiliatedCompany .map-block ul li:hover a {
                    background-color: #2f419e;
                    color: white;
                    -moz-transition: all 0.2s ease 0s;
                    -webkit-transition: all 0.2s ease 0s;
                    -ms-transition: all 0.2s ease 0s; }

/********************************
 * Tablet & Small Display
 ********************************/
@media (max-width: 1020px) {
    .contents-limit-wrapper {
        padding: 0 10px; }
    .internal-link-list {
        margin: 0; }
        .internal-link-list li {
            height: 5.5rem;
            font-size: 1.6rem;
            width: 49.5%;
            margin-bottom: 1%;
            margin-left: 1%; }
        .internal-link-list li:first-child {
            margin-left: 0; }
        .internal-link-list li:nth-child(3) {
            margin-left: 0; }
        .internal-link-list li:nth-child(5) {
            margin-left: 0; }
            .internal-link-list li a:before {
                width: auto;
                min-width: 25px;
                margin-right: 0;
                margin-left: 1%;
                background: url("../img/product/ico_internal_link@2x.png") no-repeat right center/25px auto; }
            .internal-link-list li a span {
                display: inline-block;
                width: 76%;
                vertical-align: middle; }

    .sec-contents-affiliatedCompany .map-block ul li {
        font-size: 2.0rem; }
        .sec-contents-affiliatedCompany .map-block ul li a span {
            font-size: 1.6rem; }
}


/********************************
 * Smart Phone
 ********************************/
@media (max-width: 767px) {

    br.br-sp {
        display: block;
    }

    .main h2 {
        margin: 3rem 0; }

    .internal-link-list li a:before {
        width: 10%;
        min-width: 20px;
        background: url("../img/product/ico_internal_link@2x.png") no-repeat right center/20px auto; }
    .internal-link-list li a span {
        width: 82%; }

    .outline-list {}
            .outline-list dl dt {
                width: 30%; }
                .outline-list dl dt .text-center-outer .text-center-inner {
                    top: 20%; }
            .outline-list dl dd {
                padding: 6px 20px; }


    .outline-list-en {

    }

    .outline-list-en dl {
        display: block;
        height: auto;
        margin-bottom: 5%;
    }

    .outline-list-en dl dt {
        width: 100%;
        display: block;
        /*padding: 2% 0 8%;*/
        border-bottom: 1px dashed #2F419E;
        font-weight: bold;
    }

    .outline-list-en dl dd {
        width: 100%;
        display: block;
    }

    .sec-contents-policy {
        padding: 3rem 0; }

    .sec-contents-greetings {
        padding: 0 0 3rem; }
        .sec-contents-greetings .clearfix {
            max-width: 911px;
            margin: 0 auto; }
            .sec-contents-greetings .float-left {
                float: none;
                width: 100%;
                margin: 0 auto; }
                .sec-contents-greetings .float-left img {
                    width: 100%; }
            .sec-contents-greetings .float-right {
                float: none;
                width: 100%;
                max-width: none;
                font-size: 1.6rem;
                padding: 1rem 0; }
                .sec-contents-greetings .float-right .text-right{
                    margin: 2rem 0 0; }
                    .sec-contents-greetings .float-right .text-right span {
                        vertical-align: bottom; }
                    .sec-contents-greetings .float-right .text-right span.name {
                        padding-left: 1rem; }

    .sec-contents-company {
        padding: 2rem 0 3rem; }

    .sec-contents-access {
        padding: 2rem 0 3rem; }
        .sec-contents-access .float-left {
            float: none;
            width: 100%; }
        .sec-contents-access .float-right {
            float: none;
            width: 100%;
            margin-left: 0; }
            .sec-contents-access .float-right p {
                margin-bottom: 2rem; }

    .sec-contents-history {
        padding: 2rem 0 3rem; }
        .sec-contents-history .float-left {
            float: none;
            width: 100%; }
            .sec-contents-history .hatsudenki {
                margin-bottom: 2rem; }
                .sec-contents-history .hatsudenki .float-left {
                    float: none;
                    display: block;
                    width: 100%;
                    max-width: 284px;
                    margin: 0 auto; }
                    .sec-contents-history .hatsudenki .float-left img {
                        width: 100%; }
                .sec-contents-history .hatsudenki .float-right {
                    float: none;
                    width: 100%;
                    max-width: none;
                    margin-top: 2rem;
                    text-align: center; }
            .sec-contents-history .outline-list dl dd {
                padding: 12px 20px; }
        .sec-contents-history .float-right {
            float: none;
            width: 100%;
            max-width: none;
            text-align: center; }
            .sec-contents-history .float-right ul li {
                margin-top: 2rem; }

    .sec-contents-affiliatedCompany {
        margin-bottom: 3rem; }
            .sec-contents-affiliatedCompany .map-block ul {
                margin: 0 auto; }
                .sec-contents-affiliatedCompany .map-block ul li {
                    width: 23.5%;
                    margin-left: 1%;
                    font-size: 1.4rem; }
                    .sec-contents-affiliatedCompany .map-block ul li a span {
                        font-size: 1rem; }
    
    .sec-contents-history .float-right ul li.en-img span {
            font-size: 2em;
        }
}

/********************************
 * Background Image for Retina Display
 ********************************/
@media only screen and (-webkit-min-device-pixel-ratio: 2) {
    .main h2 {
        background: url("../img/recruit/outline-decoration@2x.png") no-repeat center bottom/427px auto; }
}
