@charset "UTF-8";
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
html {
    height: 100%;
    overflow-y: scroll;
}
body {
    height: 100%;
    background-color: #fff;
    font-size: 13px;
    font-size: 1.3rem;
    font-family: 'ヒラギノ角ゴ ProN W3', "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Helvetica, Arial, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    text-rendering: optimizeLegibility;
    color: #333;
}
a {
    font-size: 1.5rem;
    color: #000;
    text-decoration: none;
}
a:hover .hover-img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: “alpha( opacity=70)”;
}
.br::before {
    content: "\A";
}
.br-all::before {
    content: "\A";
    white-space: pre;
}
@media screen and (max-width: 543px) {
    .br-xs::before {
        content: "\A";
        white-space: pre;
    }
}
@media screen and (max-width: 767px) {
    .br-sm::before {
        content: "\A";
        white-space: pre;
    }
}
@media screen and (max-width: 991px) {
    .br-md::before {
        content: "\A";
        white-space: pre;
    }
}
@media screen and (max-width: 1199px) {
    .br-lg::before {
        content: "\A";
        white-space: pre;
    }
}

/* wrapper */

.content-wrapper {
    min-height: 100%;
    margin: 0 auto;
    margin-bottom: -200px;
    width: 100%;
    height: auto !important;
    height: 100%;
    background-color: #F1F0EE;
    overflow: hidden;
}

/* header */

.header {
    border-top: 0.1rem solid #000;
    background-color: #fff
}
.header .col-sm-1 {
    padding: 0;
}
.header .header-left {
    margin-top: 2rem;
}
.logo {
    margin: 1em auto;
    display: block;
}
.header .tel {
    font-size: 2.6rem;
    font-weight: bold;
    display: block;
    text-align: right;
}
.header i {
    color: #157aea;
    margin-right: 0.5rem;
}
.header .privacy-policy span {
    font-size: 1.3rem;
    color: #333;
}
.header .privacy-policy a {
    display: block;
    text-align: right;
}
.header .privacy-policy i {
    font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
    .header .tel {
        display: inline-block;
        width: 100%;
        text-align: center;
    }
    .header .header-left {
        margin-top: 0;
    }
}
.img-resposive-overwrite {
    margin: 0 auto;
}

/********** navigation bar **********/


/* except sp*/

@media screen and (min-width: 768px) {
    .menu-area>.container-fluid>.row>.col-xs-12 {
        height: 6rem;
        background-color: #158aea;
    }
    .menu-area .menu-area-border {
        /*background: -moz-linear-gradient(left, #f44336 0%, #ff9800 17%, #ffeb3b 34%, #4caf50 50%, #2196f3 67%, #3f51b5 84%, #9c27b0 100%);
        background: -webkit-gradient(linear, left top, right top, color-stop(0%, #f44336), color-stop(17%, #ff9800), color-stop(34%, #ffeb3b), color-stop(50%, #4caf50), color-stop(67%, #2196f3), color-stop(84%, #3f51b5), color-stop(100%, #9c27b0));
        background: -webkit-linear-gradient(left, #f44336 0%, #ff9800 17%, #ffeb3b 34%, #4caf50 50%, #2196f3 67%, #3f51b5 84%, #9c27b0 100%);
        background: -o-linear-gradient(left, #f44336 0%, #ff9800 17%, #ffeb3b 34%, #4caf50 50%, #2196f3 67%, #3f51b5 84%, #9c27b0 100%);
        background: -ms-linear-gradient(left, #f44336 0%, #ff9800 17%, #ffeb3b 34%, #4caf50 50%, #2196f3 67%, #3f51b5 84%, #9c27b0 100%);
        background: linear-gradient(to right, #f44336 0%, #ff9800 17%, #ffeb3b 34%, #4caf50 50%, #2196f3 67%, #3f51b5 84%, #9c27b0 100%);*/
        background: #222;
        height: 2px;
        border: 0;
    }
    .navbar {
        border-radius: 0;
    }
}
.navbar-default {
    background-color: #158aea;
    margin-bottom: 0;
    border: 0;
}
.navbar-default .navbar-toggle {
    border-color: #158aea;
}
.navbar-default .navbar-toggle:hover {
    border-color: #444;
    background-color: #158aea;
}
.navbar-default .navbar-toggle:active {
    border-color: #444;
    background-color: #158aea;
}
.navbar-default .navbar-toggle .icon-bar {
    background-color: #444;
}
.navbar .navbar-inner {
    padding: 0;
}
.navbar .nav {
    margin: 0;
    display: table;
    width: 100%;
}
.navbar .nav li {
    display: table-cell;
    float: none;
}
@media screen and (min-width: 768px) {
    .navbar .nav li {
        width: 20%;
    }
}
.navbar .nav li a {
    font-weight: normal;
    text-align: center;
    color: #fff;
    /*border-right: 1px solid rgb(255, 255, 255);*/
    /*border-right: 1px solid rgba(0, 0, 0, .1);*/
}
.navbar .nav li:last-child a {
    /*border-right: 0;*/
    /*border-right: 1px solid rgba(255, 255, 255, .75);*/
}
.icon-info::before {
    content: "\f129\A";
    font-size: 1.5rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.icon-text::before {
    content: "\f0f6\A";
    font-size: 1.5rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.icon-map::before {
    content: "\f041\A";
    font-size: 1.5rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.icon-recruit::before {
    content: "\f040\A";
    font-size: 1.5rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.icon-contact::before {
    content: "\f0e0\A";
    font-size: 1.5rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.navbar-default .navbar-nav li a:hover {
    color: #00a;
}
@media screen and (min-width: 768px) {
    .navbar-default .current span {
        font-weight: bold;
        letter-spacing: 0.5rem;
    }
    .current .icon-info::before, .current .icon-text::before, .current .icon-map::before, .current .icon-recruit::before, .current .icon-contact::before {
        content: "\f054";
        font-size: 1.5rem;
        padding: 0 0.5rem;
        color: #000;
        font-weight: bold;
        font-family: FontAwesome;
    }
}
@media screen and (max-width: 767px) {
    .icon-info::before, .icon-text::before, .icon-map::before, .icon-recruit::before, .icon-contact::before {
        white-space: pre;
    }
    .navbar-nav li a {
        font-size: 1.2rem;
    }
    .navbar-nav li.current>a {
        color: #000;
    }
}

/********** top page **********/

ul.bxslider {
    padding: 0;
    margin: 0;
}
.img {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    /* 相対位置指定 */
}
.text {
    width: 100%;
    font-size: 150%;
    text-align: center;
    bottom: 40%;
    margin: 0;
    padding: 0;
    color: #fff;
    position: absolute;
    /* 絶対位置指定 */
}
.effect6 .img::after {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    border-right: 36px solid transparent;
    border-top: 36px solid #E51400;
    content: "";
}
.aspectwrapper {
    position: relative;
}
.aspectwrapper-half {
    position: relative;
}
.aspectwrapper-10 {
    position: relative;
}
.aspectwrapper:after {
    padding-top: 100%;
    display: block;
    content: "";
}
.aspectwrapper-half:after {
    padding-top: 50%;
    display: block;
    content: "";
}
.aspectwrapper-10:after {
    padding-top: 10%;
    display: block;
    content: "";
}
.aspectwrapper>.content {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
}
.aspectwrapper-10>.content {
    position: absolute;
    top: 0px;
    left: 0px;
    bottom: 0px;
    right: 0px;
}
@media screen and (min-width: 544px) {
    .top-page .col-sm-12, .top-page .col-sm-10, .top-page .col-sm-2, .top-page .col-sm-5, .top-page .col-sm-6 {
        padding: 10px 10px 5px 10px;
    }
    .top-page .col-sm-5 .col-sm-12 {
        padding: 0 15px 0 15px;
    }
    .top-page .col-sm-5 .col-left-1 {
        padding: 10px 10px 10px 15px;
    }
    .top-page .col-sm-5 .col-right-1 {
        padding: 10px 15px 10px 10px;
    }
    .top-page .col-sm-5 .col-left-2 {
        padding: 0 10px 0 0;
    }
    .top-page .col-sm-5 .col-right-2 {
        padding: 0 0 0 10px;
    }
}
@media screen and (max-width: 543px) {
    .top-page .col-sm-5 .col-left-2 {
        padding: 0;
    }
    .top-page .col-sm-5 .col-right-2 {
        padding: 0;
    }
}
.ca-menu span {
    color: #111;
    font-weight: bold;
}
.panel-orange .ca-menu li {
    background-color: #ffb326;
}
.ca-menu li::after {
    display: block;
    position: absolute;
    top: 6px;
    right: 6px;
    border-left: 30px solid transparent;
    border-top: 30px solid #f4f5f7;
    content: "";
}
.panel-purple .ca-menu li {
    background-color: #bf1dff;
}
.panel-blue .ca-menu li {
    background-color: #1ba1e2;
}
.panel-green .ca-menu li {
    background-color: #00a300;
}
.panel-gray .ca-menu li {
    background-color: #00ABA9;
}
.ca-menu li:hover {
    background-color: #f4f5f7;
}
.panel-orange .ca-menu li:hover .ca-icon, .panel-orange .ca-menu li:hover .ca-main span, .panel-orange .ca-menu li:hover .ca-sub span {
    color: #ffb326;
    opacity: 1;
}
.panel-orange .ca-menu li:hover .ca-main span {
    font-weight: bold;
}
.panel-orange .hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
    box-shadow: inset 0 0 0 5px #ffb326, 0 0 1px rgba(0, 0, 0, 0);
    /* Hack to improve aliasing on mobile/tablet devices */
}
.panel-purple .ca-menu li:hover .ca-icon, .panel-purple .ca-menu li:hover .ca-main span, .panel-purple .ca-menu li:hover .ca-sub span {
    color: #bf1dff;
    opacity: 1;
}
.panel-purple .ca-menu li:hover .ca-main span {
    font-weight: bold;
}
.panel-purple .hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
    box-shadow: inset 0 0 0 5px #bf1dff, 0 0 1px rgba(0, 0, 0, 0);
    /* Hack to improve aliasing on mobile/tablet devices */
}
.panel-blue .ca-menu li:hover .ca-icon, .panel-blue .ca-menu li:hover .ca-main span, .panel-blue .ca-menu li:hover .ca-sub span {
    color: #1ba1e2;
    opacity: 1;
}
.panel-blue .ca-menu li:hover .ca-main span {
    font-weight: bold;
}
.panel-blue .hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
    box-shadow: inset 0 0 0 5px #1ba1e2, 0 0 1px rgba(0, 0, 0, 0);
    /* Hack to improve aliasing on mobile/tablet devices */
}
.panel-green .ca-menu li:hover .ca-icon, .panel-green .ca-menu li:hover .ca-main span, .panel-green .ca-menu li:hover .ca-sub span {
    color: #00a300;
    opacity: 1;
}
.panel-green .ca-menu li:hover .ca-main span {
    font-weight: bold;
}
.panel-green .hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
    box-shadow: inset 0 0 0 5px #00a300, 0 0 1px rgba(0, 0, 0, 0);
    /* Hack to improve aliasing on mobile/tablet devices */
}
.panel-gray .ca-content {
    top: 0;
}
.panel-gray .ca-main {
    padding-top: 10px;
}
.panel-gray .ca-menu li:hover .ca-icon, .panel-gray .ca-menu li:hover .ca-main span, .panel-gray .ca-menu li:hover .ca-sub span {
    color: #00ABA9;
    opacity: 1;
}
.panel-gray .ca-menu li:hover .ca-main span {
    font-weight: bold;
}
.panel-gray .hvr-border-fade:hover, .hvr-border-fade:focus, .hvr-border-fade:active {
    box-shadow: inset 0 0 0 5px #00ABA9, 0 0 1px rgba(0, 0, 0, 0);
    /* Hack to improve aliasing on mobile/tablet devices */
}
@media screen and (max-width: 991px) {
    .ca-main span {
        font-size: 2rem;
    }
    .ca-icon {
        font-size: 4rem;
        top: -25px;
    }
    .aspectwrapper h2 {
        line-height: 1.6rem;
    }
    .ca-menu li:hover .ca-icon {
        font-size: 6rem;
    }
    .panel-gray .ca-main {
        padding-top: 0;
        line-height: 0;
    }
    .ih-item.square.effect6 .info p.subscript-smaller {
        font-size: 0.2rem;
        margin-top: -3rem;
    }
}

/********** main content area **********/

@media screen and (max-width: 767px) {
    .main-col-right {
        padding-left: 2rem;
    }
}
.main-content-area {
    margin-top: 2rem;
}
.main-content-area .main-content-title {
    height: 130px;
    background: url("../image/bg_dot.png") repeat 0 0;
    position: relative;
}
.main-content-area .main-content-title .title-under-line {
    position: absolute;
    width: 98%;
    height: 5px;
    bottom: 10%;
    left: 2%;
    background: #000;
    background-repeat: repeat-x;
}
.main-content-area .title-company .main-content-title .title-under-line2 {
    position: absolute;
    width: 26rem;
    height: 5px;
    bottom: 10%;
    left: 2%;
    background: #158aea;
    background-repeat: repeat-x;
}
.main-content-area .title-access .main-content-title .title-under-line2 {
    position: absolute;
    width: 21rem;
    height: 5px;
    bottom: 10%;
    left: 2%;
    background: #158aea;
    background-repeat: repeat-x;
}
.main-content-area .title-policy .main-content-title .title-under-line2 {
    position: absolute;
    width: 43rem;
    height: 5px;
    bottom: 10%;
    left: 2%;
    background: #158aea;
    background-repeat: repeat-x;
}
.main-content-area .title-recruit .main-content-title .title-under-line2 {
    position: absolute;
    width: 24rem;
    height: 5px;
    bottom: 10%;
    left: 2%;
    background: #158aea;
    background-repeat: repeat-x;
}
.main-content-area .title-business .main-content-title .title-under-line2 {
    position: absolute;
    width: 27rem;
    height: 5px;
    bottom: 10%;
    left: 2%;
    background: #158aea;
    background-repeat: repeat-x;
}
.main-content-area .title-contact .main-content-title .title-under-line2 {
    position: absolute;
    width: 25rem;
    height: 5px;
    bottom: 10%;
    left: 2%;
    background: #158aea;
    background-repeat: repeat-x;
}
@media screen and (max-width: 479px) {
    .main-content-area .title-policy .main-content-title .title-under-line2 {
        width: 35rem;
    }
}
.main-content-area .main-content-title .title-vertical-line {
    position: absolute;
    width: 7px;
    height: 100%;
    left: 2%;
    background: #ff8410;
    background-repeat: repeat-y;
}
.main-content-area .main-content-title .title-vertical-line2 {
    position: absolute;
    width: 7px;
    height: 100%;
    left: 0.5%;
    background: #02735f;
    background-repeat: repeat-y;
}
.main-content-title span {
    position: absolute;
    bottom: 10%;
    left: 2%;
    font-size: 5rem;
    font-weight: normal;
    ;
    color: #000;
    padding: 0 0 0 1rem;
}
@media screen and (max-width: 479px) {
    .main-content-area .title-policy .main-content-title span {
        font-size: 4rem;
    }
}
.main-content {
    margin-top: 3rem;
}

/********** side menu **********/

.main-content-area .side-menu .container-fluid {
    padding: 0;
}
@media screen and (min-width: 768px) {
    .main-content-area .side-menu ul li {
        width: 100%;
    }
}
@media screen and (max-width: 767px) {
    .main-content-area .side-menu ul li {
        width: 25%;
        padding: 0;
    }
}
.main-content-area .side-menu ul li {
    height: 6.5rem;
}
.main-content-area .side-menu ul {
    position: relative;
}
.main-content-area .side-menu ul li a {
    font-size: 1.6rem;
    text-decoration: none;
    height: 6.5rem;
    line-height: 6.5rem;
    letter-spacing: 0.2rem;
}
.main-content-area .side-menu ul li .list-short a {
    letter-spacing: 0;
}
.main-content-area .side-menu ul li a::before {
    content: "\f105";
    font-size: 1.6rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.main-content-area .side-menu ul li.current a::before {
    content: "\f101";
    font-size: 1.6rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.main-content-area .side-menu ul .side-menu-item {
    height: 100%;
    background: url("../image/border_02.png");
    background-repeat: repeat-x;
    background-position: top;
    position: relative;
}
.main-content-area .main-content-article {
    position: relative;
}
.main-content-area .main-content-article .main-article-title {
    height: 6rem;
    background: url("../image/border_01.png");
    background-repeat: repeat-x;
    background-position: top;
}
.main-article-title span {
    font-size: 2.4rem;
    height: 6rem;
    line-height: 6rem;
    padding-left: 2rem;
    font-weight: bold;
    letter-spacing: 0.3rem;
}
.main-content-area .main-content-article .title-under-line {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 5rem;
    background: url("../image/border_01.png");
    background-repeat: repeat-x;
    background-position: bottom;
}
.main-content table td {
    font-size: 1.5rem;
    letter-spacing: 0.2rem;
}
.visible-xs .side-menu {
    height: 4rem;
    position: relative;
    ;
}
.visible-xs .side-menu i {
    margin-right: 0.4rem;
}
.visible-xs .side-menu a {
    font-size: 1.6rem;
    line-height: 2rem;
    margin: 0 0.8rem 0 0.8rem;
}
.visible-xs .side-menu .current span {
    color: #0E6AD0;
    text-decoration: underline;
}
.title-business .visible-xs .side-menu {
    height: 8rem;
}
.title-business .visible-xs .side-menu a {
    line-height: 2.4rem;
}
.title-recruit .visible-xs .side-menu {
    height: 6rem;
}
.title-recruit .visible-xs .side-menu a {
    line-height: 2.4rem;
    margin: 0 0.2rem 0 0.8rem;
}

/********** google map **********/

.map-wrapper {
    padding: 40px;
    text-align: center;
}
.map-wrapper .map-canvas {
    padding: 4px;
    border: 1px solid #ddd;
    width: 100%;
    height: 500px;
}
@media screen and (max-width: 767px) {
    .map-wrapper .map-canvas {
        height: 300px;
    }
}

/********** greeting **********/

.greeting-image {
    width: 100%;
    background-image: url("../image/pict01.png");
    background-repeat: no-repeat;
}

/********** philosophy **********/

.title-philosophy .philosophy {
    margin: 2rem;
}

/********** privacy policy **********/

.policy-headline {
    font-size: 1.8rem;
    line-height: 3.6rem;
    font-weight: bold;
}
.policy-headline::before {
    content: "\f054";
    color: #aa4b00;
    font-size: 1.8rem;
    padding: 0 0.5rem;
    font-family: FontAwesome;
}
.policy-article {
    margin-bottom: 1.5rem;
}

/********** access **********/

.title-access .map-address-area {
    position: relative;
    height: 7rem;
}
.title-access .map-address-area .map-address {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    margin-left: 4rem;
}
.title-access .map-address-area .map-address span {
    font-size: 1.5rem;
}
.title-access .transport-info-area {
    position: relative;
    height: 20rem;
}
.title-access .transport-info-area .transport-info {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    margin-left: 4rem;
}
.title-access .transport-info-area .transport-info ul {
    height: auto;
    padding-left: 0;
    margin-bottom: 0;
}
.title-access .transport-info-area .transport-info ul li {
    list-style: none;
    margin-bottom: 0.5rem;
    font-size: 1.5rem;
}
@media screen and (max-width: 543px) {
    .title-access .transport-info-area {
        height: 25rem;
    }
}

/********** recruit **********/

.recruit-image {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.recruit-contact span {
    line-height: 2rem;
}
.title-recruit .table-recruit td {
    vertical-align: middle;
    padding: 1.3rem 0 1.3rem 0;
}

/********** business **********/

.article-title-business {
    margin-top: 1.5rem;
}
.article-title-business i {
    margin-right: 1rem;
}
.title-business dt {
    font-size: 1.7rem;
    background-color: #0257a0;
    color: #fff;
    line-height: 4rem;
    padding-left: 1rem;
}
.title-business dd {
    font-size: 1.5rem;
    margin: 1rem 0 1rem 2rem;
}
#table-device td {
    border: 0;
}
.table-device td span {
    font-weight: bold;
    color: #f30;
}
.device-supply>span {
    font-size: 1.7rem;
    line-height: 3rem;
}
.table-device-ic td {
    vertical-align: middle;
}
@media screen and (max-width:543px) {
    .title-business .main-content-article .list-short-support > span {
        letter-spacing: 0;
        font-size: 1.8rem;
    }
}
/********** contact **********/

@media screen and (max-width:543px) {
    .input-text {
        width: 320px;
    }
    .input-textarea {
        width: 320px;
    }
}
.title-contact a span {
    color: #38beff;
    font-weight: bold;
    font-size: 1.6rem;
}

/********** footer bottom **********/

.push, .footer-area {
    width: 100%;
    height: 240px;
}
footer {
    background-color: #fff;
    height: 100%;
}
footer>.footer-margin {
    height: 4px;
    width: 100%;
    background: url("../image/border_01.png");
    background-repeat: repeat;
    background-position: top;
}
footer img {
    padding-top: 2rem;
}
.footer-border {
    height: 1px;
    width: 100%;
    background-color: #aaa;
    margin-bottom: 2rem;
}
.copy-right {
    text-align: center;
    font-size: 1rem;
    color: #aaa;
    padding-bottom: 2rem;
}
.footer-content div dt, .footer-content div a {
    font-size: 1.3rem;
    color: #aaa;
}
.footer-content i {
    padding-right: 0.3rem;
}
@media screen and (max-width: 767px) {
    .footer-content div dt,
    .footer-content div a {
        font-size: 1.1rem;
    }

}
.footer-content td {
    vertical-align: top;
}
