@charset "utf-8";
/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

Layout CSS
KeyColor : #c7000b

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/

@import "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css";

.preload * {
-webkit-transition: none !important;
-moz-transition: none !important;
-ms-transition: none !important;
transition: none !important;
}

* {
  outline: none;
}

/* clearfix */
.clearfix:after {
content: ".";
display: block;
clear: both;
height: 0;
visibility: hidden;
}

.clearfix {
min-height: 1px;
}

html .clearfix {
height: 1px;
/*\*//*/
height: auto;
overflow: hidden;
/**/
}

#header {
    width: 100%;
    height: 80px;
    box-sizing: border-box;
    background-color: #FFF;
    border-bottom: solid 1px #CCC;
    position: relative;
    margin: 0;
    z-index: 9999998;
}

.logo img { /*margin: 22px 0;*/margin: 0; height: 72px; width: auto; }
.logo_en img { /*margin: 22px 0;*/margin: 0; height: 72px; width: auto; }
@media (max-width: 767px) { .header-bar { height: 60px; }
.logo { background-image: url("/00cmn/img/common/logo-ja-sp.svg"); width: 210px; background-size: auto 60px; background-position: left center; background-repeat: no-repeat; height: 60px; /*margin-top: 19px; */}
.logo_en { background-image: url("/00cmn/img/common/logo-en-sp.svg"); width: 210px; background-size: auto 60px; background-position: left center; background-repeat: no-repeat; height: 60px; /*margin-top: 19px; */}

div#page {
position:relative;
padding: 0 0 50px;
font-size: 2.2rem;
}

/*#page ul {
list-style-type: none;
}*/

#page a {
text-decoration: none;
}

#page h4 {
margin: 20px 0 10px;
}

#page hr {
margin: 40px 0 0;
}

#page .icon-list {
margin: 0 0 25px;
padding: 0 0 0 1.5em;
list-style: disc;
}
#page .icon-list li {
margin: 0 0 5px;
}



.lnavi {
padding: 0;
background-color: #EFEFEF;
height: auto !important;
border-bottom: 1px solid #CCC;
}
.lnavi .inner,
.bnavi .inner {
position: static !important;
max-width: 1230px;
padding: 0 15px;
margin: 0 auto;
}
.bnavi .inner {
position: relative;
}
.lnavi h1 {
display: inline-block;
margin: 0;
padding: 20px 0;
font-size: 2.4rem;
font-family: "FP-ヒラギノUD角ゴ StdN W6", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
}

.lnavi nav {
float: right;
}

.lnavi ul.menu {
margin: 0 -17px 0 0;
padding: 0;
list-style-type: none;
text-align: right;
font-size: 0;
}
.lnavi ul.menu > li {
display: inline-block;
position: relative;
}
.lnavi ul.menu > li:nth-child(1),
.lnavi ul.menu > li:nth-child(2){
display: none;
}
.aboutus.home .lnavi ul.menu > li:nth-child(1),
.aboutus.home .lnavi ul.menu > li:nth-child(2),
.inquiry .lnavi ul.menu > li:nth-child(1),
.inquiry .lnavi ul.menu > li:nth-child(2),
.privacy .lnavi ul.menu > li:nth-child(1),
.privacy .lnavi ul.menu > li:nth-child(2),
.sitemap .lnavi ul.menu > li:nth-child(1),
.sitemap .lnavi ul.menu > li:nth-child(2),
.top_message .lnavi ul.menu > li:nth-child(1),
.top_message .lnavi ul.menu > li:nth-child(2) {
display: inline-block;
}
.aboutus.home .lnavi ul.menu > li:nth-child(6),
.aboutus.home .lnavi ul.menu > li:nth-child(7),
.new.home .lnavi ul.menu > li:nth-child(10),
.new.home .lnavi ul.menu > li:nth-child(11),
.career.home .lnavi ul.menu > li:nth-child(10),
.career.home .lnavi ul.menu > li:nth-child(11),
.handicap.home .lnavi ul.menu > li:nth-child(9),
.handicap.home .lnavi ul.menu > li:nth-child(10) {
display: none;
}

.lnavi ul.menu > li a,
.lnavi ul.menu > li span {
font-size: 1.5rem;
line-height: 2.6rem;
display: block;
padding: 20px 17px;
cursor: pointer;
}
.lnavi ul.menu > li:last-child {
margin-right: 0;
}
.lnavi ul.menu > li .pulldown {
display: block !important;
position: absolute;
width: 340px;
top: 100%;
left: 0;
background: #FFF;
text-align: center;
z-index: 2;
border: 1px solid #CCC;
overflow: hidden;
opacity: 0;
}
.lnavi ul.menu > li.sub.recruit .pulldown,
.lnavi ul.menu > li.sub.mypage .pulldown {
left: auto;
right: 0;
background: #FFF;
text-align: center;
z-index: 2;
display: none;
}
.lnavi ul.menu > li .pulldown ul {
width: 100%;
padding: 10px 0;
margin: 0 auto;
font-size: 0;
text-align: right;
}
.lnavi ul.menu > li .pulldown ul li {
display: block;
width: 100%;
font-size: 1.5rem;
}
.lnavi ul.menu > li .pulldown ul li a {
display: block;
padding: 8px 35px 8px 20px;
text-align: left;
position: relative;
}
.lnavi ul.menu > li .pulldown ul li a .fa {
display: none;
}
.lnavi ul.menu > li.mypage .pulldown ul li a .fa {
display: inline-block;
}
.lnavi ul.menu > li .pulldown ul li a::after {
content: "";
position: absolute;
top: 50%;
right: 20px;
margin: -6px 0 0;
display: block;
width: 10px;
height: 10px;
border-top: #000 2px solid;
border-right: #000 2px solid;
transform: rotate(45deg);
}
.lnavi ul.menu > li .pulldown ul li a.blank::before {
position: absolute;
content: "\f08e";
display: inline-block;
top: 0.5em;
left: 11em;
font-family: FontAwesome;
}
.lnavi ul.menu > li.recruit .pulldown ul li a.blank::before {
left:9em;
}

.bnavi {
background-color: #EFEFEF;
}
.bnavi ul {
list-style-type: none;
margin:0;
height:56px;
}
.bnavi ul li {
font-size:1.5rem;
margin-right:42px;
float:left;
line-height: 56px;
}
.bnavi ul li:first-child {
position: relative;
background-color: #CCC;
padding-left:30px;
}
.bnavi ul li:first-child::before {
position: absolute;
content:"";
background-color: #CCC;
width:100vw;
height:100%;
top:0;
left:-100vw;
}
.bnavi ul li:first-child::after {
position: absolute;
content:"";
width: 0;
height: 0;
top:0;
left:100%;
border-top: 28px solid transparent;
border-right: 28px solid transparent;
border-bottom: 28px solid transparent;
border-left: 28px solid #CCC;
}

/*.btn--submenu-open {
display:none;
}*/

section.main img {
width: 100%;
height: auto;
}

/* 分割キービジュアルギャラリー */
.split_gallery {
width: 100%;
position: relative;
background: #FFF url(../img/common/loading.gif) no-repeat center center;
background-size: 40px 40px;
}
.split_gallery ul {
width: 50%;
float: left;
position: relative;
}
.split_gallery ul li {
width: 100%;
position: absolute;
top: 0;
left: 0;
opacity: 0;
z-index: 1;

-webkit-transition: opacity 1.5s;
-moz-transition: opacity 1.5s;
-ms-transition: opacity 1.5s;
-o-transition: opacity 1.5s;
transition: opacity 1.5s;
}
.split_gallery ul li:first-child {
position: relative;
}
.split_gallery ul li.select {
opacity: 1;
}
.split_gallery ul li img {
display: block;
width: 100%;
height: auto;
}

#page .mainWidth {
width:100%;
max-width:1230px;
padding:0 15px;
margin:0 auto;
}
#page .mainWidth .txtWrap {
padding: 0 0 50px;
}

#page .mainWidth .txtWrap .lead_txt {
margin: 50px auto 30px;
font-size: 2rem;
}

#page .mainWidth .txtWrap h3 {
position: relative;
margin: 50px auto 30px;
padding: 0;
font-size: 3.4rem;
line-height: 1.5;
font-family: "FP-ヒラギノUD角ゴ StdN W6", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-weight: bold;
text-align: left;
}
#page .mainWidth .txtWrap > p {
line-height: 1.8;
margin: 0;
}
#page .mainWidth .txtWrap > p + p {
margin: 1em 0 0;
}
#page .mainWidth .txtWrap .idt {
text-indent: -1em;
padding: 10px 0 0 1em;
}
#page .mainWidth .txtWrap .sml {
font-size: .8em;
}

#page .txt_content_width {
max-width: 900px;
margin: 0 auto;
padding: 0;
}

section.category {
position: relative;
padding:30px 0;
font-size:4.0rem;
line-height: 1;
text-align: center;
background-color: #FFF;
}
section.category h2 {
margin: 0;
}


/* 他の社員紹介を見る */

section .linkBox {
position: relative;
margin-top:50px;
margin-bottom:50px;
padding-top:50px;
border-top:1px solid #CCC;
}
section .linkBox h4 {
font-size: 2.2rem;
margin-bottom:50px !important;
text-align: center;
}
section .linkBox .return {
position: absolute;
top:50px;
left:0;
padding-left:30px;
background: url(../new/job/persons/img/common/icon_all.png) left center no-repeat;
background-size: 18px auto;
}
#page section .linkBox ul {
padding: 0;
margin: 0;
}
section .linkBox ul li {
float: left;
width: 50%;
min-height: 1px;
border-right: 1px solid #FFF;
border-bottom: 1px solid #FFF;
}
section .linkBox ul li a {
display: block;
width:100%;
height:100%;
}
section .linkBox ul li .back {
text-align: left;
font-size:1.6rem;
margin-bottom:5px;
}
section .linkBox ul li .next {
text-align: right;
font-size:1.6rem;
margin-bottom:5px;
}
section .linkBox ul li a.person {
background-color: #EFEFEF;
}
section .linkBox ul li .imgBox {
float:left;
width:40%;
}
section .linkBox ul li .imgBox img {
width:100%;
height:100%;
}
section .linkBox ul li .txtBox {
float:left;
width:60%;
padding:20px;
position: relative;
}
section .linkBox ul li .txtBox .category {
display:inline-block;
margin-bottom: 6px !important;
font-size:1.4rem;
/*
color: #FFF;
padding: 2px 4px !important;
background: #000;
*/
}
section .linkBox ul li .txtBox .name {
font-size:2.0rem;
font-weight:bold !important;
line-height: 1.3;
font-family: "FP-ヒラギノUD角ゴ StdN W6";
}
section .linkBox ul li .txtBox .dept {
font-size:1.6rem;
}
section .linkBox ul li .txtBox .year {
font-size:1.2rem;
}

/* その他のコンテンツを見る */

section.other {
padding-top:50px;
border-top:1px solid #CCC;
}
section.other h4 {
font-size: 2.2rem;
margin-bottom: 60px !important;
text-align: center;
font-weight: normal;
}
section.other .inner {
width: 100%;
max-width: 1240px;
margin: 0 auto;
padding: 0 20px;
}
#page section.other .inner ul {
margin: 0;
padding: 0;
}
section.other .inner ul li {float:left;width:calc(33.3% - 10px);margin-right:15px;font-size: 1.6rem !important;}
section.other .inner ul li:last-child {
margin-right:0;
}
body.news section.other .inner ul li:nth-child(3n) {
margin-right:0;
}
section.other .inner ul li p {
font-size: 2.2rem;
font-weight: bold !important;
margin-bottom: 15px !important;
}
section.other .inner ul li img {
width: 100%;
height: auto;
padding: 0 0 15px;
}
section.other .inner ul li a {
position: relative;
display: inline-block;
font-size:1.6rem;
margin-top: 10px;
}
section.other .inner ul li span {display: inline-block;margin-top: 10px;}
section.other .inner ul li a:hover {
text-decoration:underline !important;
}
section a.blank {
display: inline-block;
position: relative;
padding-right:25px;
}
section a.blank::after {
content: "\f08e";
display: none; /* inline-block */
position: absolute;
top: 1px;
right: 0;
font-family: FontAwesome;
}

/* sideNavi */
.nextBtm,
.backBtm,
.listBtm {
display: block;
width: 73px;
height: 73px;
z-index: 5;
right: 0;
}
.staffNaviTop {
position: absolute;
top: 55px;
right: 0;
z-index: 100;
}
.staffNaviTop .nextBtm {
position: absolute;
top: 74px;
background: #EEE;
}
.staffNaviTop .backBtm {
position: absolute;
top: 148px;
background: #EEE;
}
.staffNaviTop .listBtm {
position: absolute;
top: 0;
}
.staff.detail.staff01 .backBtm,
.staff.detail.staff016 .nextBtm {
display: none;
}
.staff.detail.staff01 .staffNaviTop .listBtm {
top: 74px;
}
.staff.detail.staff016 .listBtm {
top: 74px;
}
.staff.detail.staff016 .backBtm {
top: 0;
}

.listBtm a .menuBox,
.nextBtm a .menuBox,
.backBtm a .menuBox {
display: block;
width: 73px;
height: 73px;
background: #000;
position: relative;
z-index: 10;
}
.nextBtm a .menuBox::after,
.backBtm a .menuBox::after {
position: absolute;
top: 0;
bottom: 0;
left: 32px;
margin: auto;
content: "";
vertical-align: middle;
width: 12px;
height: 12px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(225deg);
transform: rotate(225deg);
}
.nextBtm a .menuBox::after {
left: 25px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.info1,
.info2,
.staffList {
width: 333px;
height: 73px;
background: #000;
position: absolute;
z-index: -1;
top: 0;
}
.staffList p {
width: 260px;
margin: 0;
padding: 0;
text-align: center;
font-size: 18px;
line-height: 73px;
}
.info1 ul,
.info2 ul {
margin: 0;
padding: 0;
}
.info1 ul li,
.info2 ul li {
width: 100%;
display: inline-block;
color: #FFF;
}
.info1 ul li:first-child,
.info2 ul li:first-child {
width: 73px;
height: auto;
}
.info1 ul li:first-child img,
.info2 ul li:first-child img {
width: 100%;
height: auto;
}
.info1 ul li:first-child + li,
.info2 ul li:first-child + li {
width: calc(100% - 85px);
height: auto;
margin: 0 0 0 3%;
padding: 5px 0 0 0;
vertical-align: top;
font-size: 12px;
word-break: break-all;
}
.info1 ul li:first-child + li span,
.info2 ul li:first-child + li span {
display: inline-block;
padding: 5px 0;
margin-right: 8px;
font-size: 16px;
}
.staffList {
font-size: 21px;
line-height: 73px;
padding: 0 0 0 40px;
color: #FFF;
}
.listBtm a span.menuBox {
background: url(../new/job/persons/img/common/sideNavi_list.png) left top no-repeat #000;
}


.btn {
  background-color: transparent; /* Remove the gray background on active links in IE 10 */
  -webkit-text-decoration-skip: objects; /* Remove gaps in links underline in iOS 8+ and Safari 8+ */
text-decoration: none;
opacity: 1;
cursor: pointer;

-webkit-transition: all .3s;
-moz-transition: all .3s;
-ms-transition: all .3s;
-o-transition: all .3s;
transition: all .3s;
}

.btn:active,
.btn:hover {
outline-width: 0; /* Remove the outline when hovering in all browsers */
opacity: .5;
}


a.btn {
display: table;
border: #000 solid 1px;
padding: 10px 40px;
text-align: center;
}


.txt_red {
color: #C7000B;
font-style: normal;
}


/* 汎用表組みスタイル */
.table_box {
width: 100%;
margin: 30px 0;
}
.table_box.mt-15 {
margin: 15px 0 0;
}
.table_box th {
width: 200px;
padding: 25px 20px 25px 0;
vertical-align: top;
text-align: left;
font-weight: bold;
position: relative;
}
.table_box td {
padding: 25px 0 25px 20px;
position: relative;
}
.table_box td::before {
content: "";
display: block;
position: absolute;
top: 20px;
bottom: 20px;
left: 0;
width: 1px;
height: calc(100% - 40px);
background: #CCC;
}
.table_box td .table_cell_content {
padding: 40px 0 0;
}
.table_box td .table_cell_content:first-child {
padding: 0;
}
.table_box td .table_cell_content h3 {
font-size: 2rem;
margin: 0 0 15px;
}
.table_box td .table_cell_content h4 {
font-size: 1.6rem;
margin: 0 0 10px;
}
.table_box td .table_cell_content p {
margin: 0 0 25px;
}
.table_box td .table_cell_content p a.part {
text-decoration:underline !important;
}
.table_box td .table_cell_content .idt {
text-indent: -1em;
padding: 0 0 0 1em;
margin: -20px 0 25px;
font-size: .8em;
}
.table_box td .table_cell_content .fa {
text-indent: 0;
margin: 0 5px;
}
.table_box td .table_cell_content > :last-child {
margin-bottom: 0;
padding-bottom: 0;
}

.table_box td .table_cell_content > :last-child {
margin-bottom: 0;
padding-bottom: 0;
}


/*文字小さめのテーブル*/
.table1 {
    width: 100%;
    border-top: 4px solid #555;
}

.table1 th {
    color: #000;
    background: #ddd;
    padding: 5px;
    font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
}

.table1 td {
    background: #f3f3f3;
    padding: 5px;
    border-bottom: 1px dotted #888;
}

.table1 tr:nth-child(odd) td {
    background: #fefefe;
}

.table1.noStripe tr:nth-child(odd) td {
    background: #f3f3f3;
}

.table1 td.padr20, .table0 td.padr20 {
    padding: 5px 20px 5px 5px;
}

.table1 th, .table1 td {
    font-size: 18px;
    border: 1px solid #ccc;
}

/*オレンジのテーブル*/
.table-or {
    width: 100%;
    border-top: 4px solid #d07100; 
}

.table-or th {
    color: #000;
    background: #edccbc;
    padding: 5px;
    font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
}

.table-or td {
    background: #ecd5cl;
    padding: 5px;
    border-bottom: 1px dotted #888;
}

.table-or tr:nth-child(odd) td {
    background: #fefefe;
}

.table-or.noStripe tr:nth-child(odd) td {
    background: #f3f3f3;
}

.table-or td.padr20, .table0 td.padr20 {
    padding: 5px 20px 5px 5px;
}

.table-or th, .table-or td {
    font-size: 18px;
    border: 1px solid #d07100;
}

.notice_txt  p {
margin: 0 0 25px;
}
.notice_txt  .idt {
text-indent: -1em;
padding: 0 0 0 1em;
margin: -20px 0 25px;
font-size: .8em;
}

/* お問い合わせボックス */
.contact_box {
padding: 25px 25px 20px;
margin: 0 0 50px;
border: #CCC 1px solid;
background: #FCFCFC;
}
#page .contact_box h3 {
margin: 0 0 20px;
padding: 0;
border: none;
}
.contact_box em {
display: block;
margin: 0 0 10px;
font-style: normal;
font-weight: bold;
}
.contact_box .idt {
text-indent: -1em;
padding: 0 0 0 1em;
margin: 0 0 5px;
font-size: .8em;
}

#page .contact_box ul {
padding: 0;
margin: 0;
}


/* -- メインビジュアル 400 --*/
.new.top_message #page section.main,
.new.work-program #page section.main,
.new.requirements #page section.main,
.new.work-welfare #page section.main,
.new.top-woman #page section.main,
.new.office #page section.main,
.new.news.index #page section.main,
.guide.index #page section.main,
.career.welfare.index #page section.main,
.career.requirements #page section.main,
.career.news.index #page section.main,
.career.job-persons #page section.main,
.handicap.requirements.index #page section.main,
.handicap.news.index #page section.main,
.handicap.welfare.index #page section.main,
.handicap.group.index #page section.main,
.handicap.requirements #page section.main,
.handicap.job-persons #page section.main {
width: 100%;
height: 400px;
overflow: hidden;
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}

/*-- new --*/
.new.top_message #page section.main {
background: url(../img/news/bg-mian.jpg) center top no-repeat;
background-size: cover;
}
.new.work-program #page section.main {
background: url(../img/employ/work-program/bg-work-program.jpg) center top no-repeat;
background-size: cover;
}
.new.requirements #page section.main {
background: url(../img/employ/requirements/bg-main.jpg) center top no-repeat;
background-size: cover;
}
.new.work-welfare #page section.main {
background: url(../img/employ/work-welfare/welfare-visual.jpg) center center no-repeat;
background-size: cover;
}
.new.top-woman #page section.main {
background: url(../img/employ/top-woman/vivid-visual.jpg) center top no-repeat;
background-size: cover;
}
.new.office #page section.main {
background: url(../img/employ/office/office-visual.jpg) center top no-repeat;
background-size: cover;
}
.new.news.index #page section.main  {
background: url(../img/news/bg-main.jpg) center top no-repeat;
background-size: cover;
}
.guide.index #page section.main {
height: 500px;
background: url(../new/guide/img/index/index-main.jpg) center top no-repeat;
background-size: cover;
}

/*-- career --*/
.career.welfare.index #page section.main {
background: url(../img/employ/work-welfare/welfare-visual.jpg) center top no-repeat;
background-size: cover;
}
.career.requirements #page section.main {
background: url(../img/employ/requirements/bg-main.jpg) center top no-repeat;
background-size: cover;
}
.career.news.index #page section.main {
background: url(../img/news/bg-main.jpg) center top no-repeat;
background-size: cover;
}


/*-- handicap --*/
.handicap.welfare.index #page section.main {
background: url(../img/employ/work-welfare/welfare-visual.jpg) center top no-repeat;
background-size: cover;
}
.handicap.group.index #page section.main {
background: url(../handicap/info/img/group/bg-main.jpg) center top no-repeat;
background-size: cover;
}
.handicap.requirements #page section.main {
background: url(../img/employ/requirements/bg-main.jpg) center top no-repeat;
background-size: cover;
}
.handicap.news.index #page section.main {
background: url(../img/news/bg-main.jpg) center top no-repeat;
background-size: cover;
}


/*-- spmenu --*/
#cover {
position: absolute;
width: 100%;
height: 100%;
top: 0;
background: rgba(0,0,0,0.7);
z-index: 2;
opacity:0;
display:none;
transition:opacity 0.5s;
}
.btn-localmenu {
white-space: nowrap;
overflow: hidden;
text-indent: 100%;
background: url(../../../00cmn/img/common/btn-spmenu.png) no-repeat left top;
width: 32px;
height: 32px;
background-size: 32px auto;
position: absolute;
top: 23px;
right: 13px;
display: none;
}
.subOn,
.subOn body {
overflow: hidden;
height: 100%;
}
.subOn body #cover {
opacity: 1;
display: block;
}

/* slide */
.handicap.requirements.index section.main {
position:relative;
}
.handicap.requirements.index section.main::after {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
width: 100%;
height: 100%;
background: #FFF;
transition: width 1s;
}
.handicap.requirements.index section.main.loaded::after {
width: 0;
}
.home .globalBanner {
width: 100%;
max-width: 1220px;
padding: 0 13px;
margin: 30px auto;
}
.globalBanner {
width: 100%;
max-width: 1220px;
padding: 0 13px;
margin: 0 auto 50px;
}
.globalBanner ul {
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
border: #CCC solid 3px;
margin: 0;
padding: 0;
align-items: stretch;
}
.globalBanner ul li  {
list-style: none;
width: 50%;
}
.globalBanner ul li a {
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
padding: 60px 20px;
text-align: center;
font-size: 1.5rem;
text-decoration: none;
justify-content: center;
opacity: 1;

-webkit-transition: all .3s;
-moz-transition: all .3s;
-o-transition: all .3s;
transition: all .3s;
}
.globalBanner ul li a:hover {
opacity: 0.6;
}
.globalBanner ul li span {
display: block;
color: #BF1A20;
font-weight: bold;
font-size: 2rem;
}
.globalBanner ul li:last-child span {
margin-bottom: 5px;
}
.globalBanner ul li span br {
display: none;
}
.globalBanner ul li:last-child {
border-left: #CCC solid 3px;
}
small {
display: block;
font-size: 12px;
}

.otherLinksOuter {
width:calc(100% - 40px);
max-width:1440px;
margin:30px auto !important;
}

ul.otherLinks {
display: -webkit-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
align-items: center;
border: #CCC solid 1px;
list-style-type: none;
}
ul.otherLinks li {
width: 50%;
text-align: center;
}
ul.otherLinks li:first-child {
border-right: #CCC solid 1px;
}
ul.otherLinks li a {
display: block;
padding: 30px 0;
text-decoration: none;
opacity: 1;

-webkit-transition: all .3s;
-moz-transition: all .3s;
-o-transition: all .3s;
transition: all .3s;
}
ul.otherLinks li a:hover {
opacity: 0.6;
}
.handicap.home .otherLinksOuter,
.career.home .otherLinksOuter,
.new.home .otherLinksOuter {
width: 100%;
padding: 0 13px;
max-width: 1220px;
margin: 30px auto;
}
.handicap.home ul.otherLinks,
.career.home ul.otherLinks,
.new.home ul.otherLinks {
}
@media screen and (max-width: 1331px) {

div#page {
font-size: 2rem;
}

.lnavi .inner {
width: calc(100% - 100px);
margin:0 50px;
}
#page .mainWidth {
width: calc(100% - 100px);
margin:0 50px;
}
}
@media screen and (max-width: 1270px) {
.lnavi ul.menu > li a,
.lnavi ul.menu > li span {
font-size: 1.3rem;
padding: 20px 8px;
}
}
@media screen and (max-width: 1100px) {
/*.lnavi ul.menu > li a,
.lnavi ul.menu > li span {
font-size: 1.4rem;
line-height: 2.6rem;
display: block;
padding: 20px 12px;
cursor: pointer;
}*/

div#page {
font-size: 1.8rem;
}
}
@media screen and (max-width: 1035px) {
.lnavi .inner {
width: calc(100% - 30px);
margin:0 15px;
}
#page .mainWidth {
margin:0;
width: 100%;
/*width: calc(100% - 30px);
margin:0 15px;
padding: 0;*/
}
.lnavi ul {
top:1px;
}
.lnavi ul li {
font-size:1.4rem;
/*margin-right:20px;*/
}
.lnavi ul.menu > li a,
.lnavi ul.menu > li span {
font-size: 1.3rem;
padding: 20px 10px;
}

.lnavi,
#submenu.mm-menu.mm-offcanvas.mm-current, #smp-navigationList {
display:block !important;
}
.lnavi .inner {
padding:0;
}
.lnavi .inner h1 {
display: block;
text-align: center;
}
.bnavi {
display:none;
}
#secnd-navi .cg-wrap .btn-localmenu {
display:block;
top: 16px;
}
/*spmenu*/
.btn-localmenu {
display:block;
}
.lnavi nav {
position: fixed;
top: 0;
right: -100%;
width: 80%;
height: 100vh;
background-color: #FFF;
z-index: 3;
transition:right 0.5s;
}
.lnavi nav ul {
width:100%;
display:block;
padding: 0 !important;
}
.lnavi nav ul li {
float:none;
width:100%;
border-bottom:1px solid #CCC;
}
.lnavi ul.menu > li:nth-child(1),
.lnavi ul.menu > li:nth-child(2){
display: block;
}
.aboutus.home .lnavi ul.menu > li:nth-child(6),
.aboutus.home .lnavi ul.menu > li:nth-child(7),
.new.home .lnavi ul.menu > li:nth-child(10),
.new.home .lnavi ul.menu > li:nth-child(11),
.career.home .lnavi ul.menu > li:nth-child(10),
.career.home .lnavi ul.menu > li:nth-child(11),
.handicap.home .lnavi ul.menu > li:nth-child(9),
.handicap.home .lnavi ul.menu > li:nth-child(10) {
display: block;
}
.lnavi nav li.sub,
.lnavi nav ul li:last-child {
border:none !important;
}
.lnavi nav ul li:last-child {
display: none;
}
.lnavi nav ul li a,
.lnavi nav ul li span {
display:block;
position:relative;
padding: 12px 35px 12px 17px !important;
text-align: left;
}
.lnavi nav ul li a {
font-weight: bold;
}
.lnavi nav ul li span + div.pulldown {
display: block !important;
position: relative !important;
width: 100% !important;
height: auto !important;
}
.lnavi nav ul li span + div.pulldown a {
padding-left:40px !important;
}
.lnavi nav ul li a::after {
position: absolute;
content: "";
top: 50%;
right: 20px;
width: 10px;
height: 10px;
margin-top: -6px;
border-top: 2px solid #000;
border-right: 2px solid #000;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.lnavi ul.menu > li .pulldown ul li a.blank::before {
    left: calc(11em + 20px);
    top:calc(0.5em + 5px);
}
.lnavi ul.menu > li.recruit .pulldown ul li a.blank::before {
left: calc(9em + 20px);
}
.subOn .lnavi nav {
right:0;
overflow:auto;
}
}

@media screen and (max-width: 960px) {
section.other .inner ul li:nth-child(2) {
margin-right:0;
}

section.other .inner ul li {
width:calc(50% - 8px);
margin-top: 20px;
}
section.other .inner ul li:nth-child(2) {
margin-right:0;
}
section.other .inner ul li:nth-child(3) {clear: both;margin-right: 15px !important;}

section.other .inner ul li p {
font-size:2.0rem;
}
section.other .inner ul li img {
  padding: 0 0 10px;
}
section.other .inner ul li a,
section.other .inner ul li span {
font-size:1.4rem;
}

.lnavi ul.menu > li .pulldown {
border: 1px solid #CCC !important;
}

}

@media screen and (max-width: 900px) {
.lnavi,
#submenu.mm-menu.mm-offcanvas.mm-current, #smp-navigationList {
display:block !important;
}
.lnavi .inner {
padding:0;
}
.lnavi .inner h1 {
display: block;
text-align: center;
}
.bnavi {
display:none;
}
#secnd-navi .cg-wrap .btn-localmenu {
display:block;
top: 16px;
}
/*spmenu*/
.btn-localmenu {
display:block;
}
.lnavi nav {
position: fixed;
top: 0;
right: -100%;
width: 80%;
height: 100vh;
background-color: #FFF;
z-index: 3;
transition:right 0.5s;
}
.lnavi nav ul {
width:100%;
display:block;
padding: 0 !important;
}
.lnavi nav ul li {
float:none;
width:100%;
border-bottom:1px solid #CCC;
}
.lnavi ul.menu > li:nth-child(1),
.lnavi ul.menu > li:nth-child(2){
display: block;
}
.lnavi nav li.sub,
.lnavi nav ul li:last-child {
border:none !important;
}
.lnavi nav ul li:last-child {
display: none;
}
.lnavi nav ul li a,
.lnavi nav ul li span {
display:block;
position:relative;
padding: 12px 35px 12px 17px !important;
text-align: left;
}
.lnavi nav ul li a {
font-weight: bold;
}
.lnavi nav ul li span + div.pulldown {
display: block !important;
position: relative !important;
width: 100% !important;
height: auto !important;
}
.lnavi nav ul li span + div.pulldown a {
padding-left:40px !important;
}
.lnavi nav ul li a::after {
position: absolute;
content: "";
top: 50%;
right: 20px;
width: 10px;
height: 10px;
margin-top: -6px;
border-top: 2px solid #000;
border-right: 2px solid #000;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.lnavi ul.menu > li .pulldown ul li a.blank::before {
    left: calc(11em + 20px);
    top:calc(0.5em + 5px);
}
.lnavi ul.menu > li.recruit .pulldown ul li a.blank::before {
left: calc(9em + 20px);
}
.subOn .lnavi nav {
right:0;
overflow:auto;
}
#footer-link {
display:none;
}

.new.news.index #page section.main  {
background: url(../img/news/bg-main-sp.jpg) center top no-repeat;
background-size: cover;
}
.career.news.index #page section.main {
background: url(../img/news/bg-main-sp.jpg) center top no-repeat;
background-size: cover;
}
.new.work-program #page section.main {
background: url(../img/employ/work-program/bg-work-program-sp.jpg) center top no-repeat;
background-size: cover;
}
.new.work-welfare #page section.main {
background: url(../img/employ/work-welfare/welfare-visual-sp.jpg) center center no-repeat;
background-size: cover;
}
.new.top-woman #page section.main {
background: url(../img/employ/top-woman/vivid-visual-sp.jpg) center top no-repeat;
background-size: cover;
}
.new.office #page section.main {
background: url(../img/employ/office/office-visual-sp.jpg) center top no-repeat;
background-size: cover;
}
.handicap.requirements #page section.main {
background: url(../img/employ/requirements/bg-main-sp.jpg) center top no-repeat;
background-size: cover;
}
.handicap.welfare.index #page section.main {
background: url(../img/employ/work-welfare/welfare-visual-sp.jpg) center top no-repeat;
background-size: cover;
}
}

@media screen and (max-width: 768px) {
section.category h2 {
font-size: 22px;
}
div#page {
padding: 0;
font-size: 1.6rem;
}
#secnd-navi .cg-wrap .btn-localmenu {
width: 26px;
height: 26px;
top: 20px;
right: 15px;
background-size: 26px auto;
}
section.category {
padding: 5vw 20px;
font-size: 5.2vw;
}

/* -- メインビジュアル 400 --*/
.new.top_message #page section.main,
.new.work-program #page section.main,
.new.requirements #page section.main,
.new.work-welfare #page section.main,
.new.top-woman #page section.main,
.new.office #page section.main,
.new.news.index #page section.main,
.guide.index #page section.main,
.career.welfare.index #page section.main,
.career.requirements #page section.main,
.career.news.index #page section.main,
.career.job-persons #page section.main,
.handicap.requirements.index #page section.main,
.handicap.news.index #page section.main,
.handicap.welfare.index #page section.main,
.handicap.group.index #page section.main,
.handicap.requirements #page section.main,
.handicap.job-persons #page section.main {
height: auto;
min-height:300px;
}

.globalBanner {
margin: 50px auto;
}
.home .globalBanner {
margin: 30px auto;
}
}

@media screen and (max-width: 767px) {

.globalBanner {
margin: 55px auto 0;
}
.home .globalBanner {
margin: 30px auto 0;
}
}

@media screen and (max-width: 640px) {
section .linkBox ul li {
float:none;
width:100%;
margin: 20px 0 0;
}
section .linkBox ul li:first-child {
margin: 0;
}
section .linkBox ul li .txtBox .category {
font-size: 1.4rem;
}
section .linkBox ul li .txtBox .name {
font-size:2.0rem;
}
section .linkBox ul li .txtBox .dept {
font-size:1.5rem;
}
section .linkBox ul li .txtBox .year {
font-size:1.2rem;
}

section.other h4 {
margin-bottom: 40px !important;
}

section.other .inner ul li {
width:100%;
margin-right:0;
margin-top:30px;
margin-bottom: 0;
float: none;
}
section.other .inner ul li:first-child {
margin-top:0;
}


#page .mainWidth .txtWrap .lead_txt {
font-size: 1.6rem;
}

#page .mainWidth .txtWrap h3 {
font-size: 2.2rem;
}


/* 汎用表組みスタイル */
.table_box {
margin: 50px 0 0;
}
.table_box th {
display: block;
width: 100%;
padding: 0 0 10px;
border-bottom: #CCC 1px solid;
}
.table_box td {
display: block;
padding: 15px 0 50px;
}
.table_box td::before {
display: none;
}

.table1 {
    width: 100%;
    border-top: 4px solid #555;
}

.table1 th {
    color: #000;
    background: #ddd;
    padding: 5px;
    font-family: "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
}

.table1 td {
    background: #f3f3f3;
    padding: 5px;
    border-bottom: 1px dotted #888;
}

.table1 tr:nth-child(odd) td {
    background: #fefefe;
}

.table1.noStripe tr:nth-child(odd) td {
    background: #f3f3f3;
}

.table1 td.padr20, .table0 td.padr20 {
    padding: 5px 20px 5px 5px;
}

.table1 th, .table1 td {
    font-size: 18px;
    border: 1px solid #ccc;
}

	
	
/* フッター前バナースタイル */
.globalBanner ul li span br {
display: block;
}
}
@media screen and (max-width: 560px) {
section .linkBox h4 {
margin-bottom:30px !important;
}
section .linkBox .return {
position: relative;
display: inline-block;
top: 0;
left: 50%;
margin: 0 auto 40px;
transform: translateX(-50%);
}
}

@media screen and (max-width: 480px) {
a.btn {
width: 100%;
}

section .linkBox ul li .imgBox {
width:30%;
}
section .linkBox ul li .txtBox {
width: 70%;
padding:10px 9px 0;
}
section .linkBox ul li .txtBox .category {
font-size: 1.1rem;
}
section .linkBox ul li .txtBox .name {
font-size:1.6rem;
}
section .linkBox ul li .txtBox .dept {
font-size:1.3rem;
line-height:1.2;
}
section .linkBox ul li .txtBox .year {
font-size:1.2rem;
}
section .linkBox ul li .back,
section .linkBox ul li .next {
font-size:1.4rem;
}

.globalBanner ul li {
width: 100%;
}
.globalBanner ul li a {
height: 140px;
padding: 0 5px;
font-size: 1.4rem;
}
.globalBanner ul li span {
font-size: 1.8rem;
}
.globalBanner ul li span br {
display: none;
}
.globalBanner ul li:last-child {
border-left: none;
border-top: #CCC solid 3px;
}

.globalBanner.other ul li a {
height: 100px;
}




/*ボックスボタン*/
.contWrap.information {
overflow: hidden;
}
.contWrap.information ul {
width: 100%;
max-width: 1240px;
margin: 0 auto;
padding: 0 13px;
}
.contWrap.information ul li {
display: block;
width: 50%;
padding: 0 7px 14px;
float: left;
}

.contWrap.information ul lia {
display: block;
}
.contWrap.information ul li p {
display:block;
width:100%;
height:180px;
margin:0;
padding: 0;
text-align:center;
background-color:#FFF;
position: relative;
}
.contWrap.information ul li p span {
display:inline-block;
width: 100%;
padding: 0 10px;
font-size: 2rem;
text-align: center;
vertical-align: middle;
margin: auto;
position:absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: all .5s;
}
.contWrap.information ul li a:hover p span {
color:#AAA;
}
}

#page a.link-line{
	text-decoration: underline;
}

/*リスト行間調整*/
ul, ol.post span{
	font-weight:bold;
}
ul, ol.post li {
	font-weight:normal;
  margin-top: 0;
  margin-bottom: 0.8em
}

/*テキスト関係*/
span.txt-small{
	font-size: 80%;
	font-weight: normal;
}
.txt_color_blue{
	color: #006bae;
}