@charset "utf-8";
/* up date 2016-12-01 */

body { padding: 0; margin: 0; letter-spacing: 0.1em; line-height: 1.5; font-size: 88%;/*14px*/ color: #555; font-family: "メイリオ", Meiryo, Arial, Verdana, "ＭＳ Ｐゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif; text-align: left; min-width: 1300px; }
a, a:link, a:visited { text-decoration: underline; color: #453c30; }
a:hover { text-decoration: none !important; transition: 0.5s linear; }
/*==============================================================*/
/* helper class*/
/*==============================================================*/

/*asterisk*/

.asterisk {/*dl*/ font-size: 85%; padding-top: 10px; }
.asterisk dt, .asterisk dd { padding-bottom: 5px; }
.asterisk dt { float: left; }
.asterisk dd { margin-left: 1.5em; }
.clear { clear: both!important; }
.ls0 { letter-spacing: 0!important; }
.centerT { text-align: center!important; }
.leftT { text-align: left!important; }
.rightT { text-align: right!important; }
.leftF { float: left!important; }
.rightF { float: right!important; }
.mt5 { margin-top: 5px!important; }
.mt10 { margin-top: 10px!important; }
.mt15 { margin-top: 15px!important; }
.mt20 { margin-top: 20px!important; }
.mt30 { margin-top: 30px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb50 { margin-bottom: 50px!important; }
/*==============================================================*/
/* ローディング画面 */
/*==============================================================*/

#loader-bg { display: none; position: fixed; width: 100%; height: 100%; top: 0px; left: 0px; background: #fff; z-index: 9999; }
#loader { display: none; position: fixed; top: 50%; left: 50%; width: 150px; height: 150px; margin-top: -75px; margin-left: -75px; text-align: center; color: #00226f; z-index: 11; font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
#loader img { margin: 0 auto 10px; }
/* 点滅 */
.blinking { -webkit-animation: blink .5s ease-in-out infinite alternate; -moz-animation: blink .5s ease-in-out infinite alternate; animation: blink .5s ease-in-out infinite alternate; }
@-webkit-keyframes blink {
 0% {
opacity:0;
}
 100% {
opacity:1;
}
}
@-moz-keyframes blink {
 0% {
opacity:0;
}
 100% {
opacity:1;
}
}
@keyframes blink {
 0% {
opacity:0;
}
 100% {
opacity:1;
}
}
/*==============================================================*/
/* mainimg */
/*==============================================================*/
#mainimg { width: 100%; max-height: 860px; overflow: hidden; position: relative; }
#mainimg video { width: 100%; height: auto; position: relative; z-index: 0; }
#mainimgIn { width: 1195px; margin: 0 auto; }
/*==============================================================*/
/* header */
/*==============================================================*/
 
#header { background: url(../img/head-bg.png) no-repeat center bottom; background-size: 100% 90px; height: 135px; position: absolute; z-index: 1; top: 0; width: 100%; }
#headerIn { width: 1195px; margin: 0 auto; overflow: hidden; }
#headerIn .rightF p { float: right; width: 214px; height: 35px; font-size: 11px; }
#headerIn .rightF p i { margin: 0 15px 0 0; font-size: 12px; }
#headerIn .rightF p a { background: #00226f; color: #fff; font-weight: bold; text-align: center; text-decoration: none; display: block; padding: 14px 0; letter-spacing: 0; }
#headerIn .rightF p a:hover { background: #3157AF; }
#logo { text-align: center; float: left; width: 260px; margin-top: 25px; }
#logo span { display: block; margin: 10px 0 0; font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-size: 11px; letter-spacing: .05em; }
#logo a { text-decoration: none; color: #00226f; display: block; }
#logo a:hover { opacity: .6; }
/*==============================================================*/
/* gnavi */
/*==============================================================*/
#gnavi { float: right; width: 935px; background: #fff; letter-spacing: -.4em; margin: 10px 0 0; clear: both; }
#gnavi li { display: inline-block; letter-spacing: normal; vertical-align: top; }
#gnavi li a { background: #fff; height: 90px; display: block; width: 211px; text-align: center; text-decoration: none; border-right: 1px solid #eee; font-weight: bold; color: #00226f; padding: 25px 0 0; box-sizing: border-box; transform: rotate(0.028deg); }
#gnavi li a::after { content: attr(data-text); display: block; font-size: 11px; }
#gnavi li:last-child a { border: none; }
#gnavi li a:hover { background: #eee; }
#gnavi li:first-child a { background: #00226f; width: 90px; color: #fff; border: none; font-size: 13px; position: relative; }
#gnavi li:first-child a:after { content: '\f015'; font-family: FontAwesome; position: absolute; left: 0; right: 0; font-size: 15px; color: #fff; }
#gnavi li:first-child a:hover { background: #3157AF; }
/*==============================================================*/
/* 各ページ共通 */
/*==============================================================*/
h1 { height: 0; text-indent: -9999px; }
.strgred { color: #A6181A; }
.bgGray { background: #f2f2f2; }
.contentsWrap { clear: both; width: 1195px; margin: 0 auto; }

/*==============================================================*/
/* トップページ */
/*==============================================================*/
@media screen and (max-width: 767px) {
#header { position: fixed; }
}
/*メニューボタン*/
.top-service { position:relative;}
.top-service ul{ position: absolute; bottom: -35px; width: 1195px; margin: 0 auto; left: 0; right: 0; letter-spacing: -.4em; text-align: center; }
.top-service a { display: block; text-decoration: none; }
.top-service li { display: inline-block; letter-spacing: normal; margin: 0 95px 0 0; vertical-align: top; width: 288px; }
.top-service li:last-child { margin: 0; }
.top-service a:hover { opacity: .8; }
/**/
#top-contents { padding: 80px 0; }
#top-contents .contentsWrap { overflow: hidden; }
#top-contents .contentsWrap > div { float: left; margin-left: 30px; width: 530px; }
#top-contents .contentsWrap > p { float: right; margin: 0 10px 0 0; }
#top-contents .catch { font-size: 28px; margin: 0 0 20px; letter-spacing: 0; }
#top-contents .txt { line-height: 1.8; }
/*=====会社案内=====*/
#company { background: url(../../img/top/companybg.jpg) no-repeat; background-size: cover; background-attachment: fixed; padding: 90px 0; }
#company .contentsWrap { letter-spacing: -.4em; }
#company .company { background: #fff; width: 460px; display: inline-block; padding: 30px 40px 30px 50px; height: 266px; position: relative; overflow: hidden; letter-spacing: normal; margin: 0 50px 0 25px; }
#company .company h2 { font-size: 18px; margin: 0 0 20px; }
/*ロゴ*/
#company .logo { text-align: center; width: 110px; font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; font-size: 12px; letter-spacing: .05em; color: #00226f; line-height: 2; display: inline-block; }
#company .logo img { display: block; margin: 0 auto 15px; }
#company address { display: inline-block; }
#company address p:first-child, #company .map { display: inline-block; vertical-align: top; margin: 5px 0; }
/*MAP*/
#company .map a { background: #cdcdcd; color: #fff; text-decoration: none; padding: 10px 15px; font-size: 12px; border-radius: 5px; behavior: url(common/css/PIE.htc); margin: 0 0 0 55px; }
#company .map a:hover { background: #00226f; }
#company .map i { font-size: 30px; margin-right: 10px; vertical-align: middle; }
/*TEL・お問い合わせ*/
#company address p:last-child, #company address p:nth-last-child(2) { font-size: 16px; transform: rotate(0.028deg); letter-spacing: 0; padding: 10px 30px; }
#company address p:last-child span, #company address p:nth-last-child(2) span { display: inline-block; vertical-align: middle; }
#company address p:last-child span span, #company address p:nth-last-child(2) span span:nth-child(2) { display: block; font-size: 10px; }
/*TEL*/
#company address p:nth-last-child(2) { border-bottom: 1px dotted #ccc; }
#company address p:nth-last-child(2) img { margin: 0 15px 0 3px; }
/*お問い合わせ*/
#company address p:last-child { padding: 0; }
#company address p:last-child a { padding: 10px 30px; display: block; margin-top: 5px; }
#company address p:last-child a:hover { background: #eee; }
#company address p:last-child img { margin-right: 15px; }
/*会社案内ボタン*/
#company .btn { position: absolute; right: 0; bottom: 0; width: 100%; text-align: right; }
#company .btn a { background: #00226f; color: #fff; text-decoration: none; display: block; transform: skew(0deg, -7deg); padding: 0 20px 50px; margin-bottom: -45px; }
#company .btn a:hover { background: #666; }
#company .btn a span { transform: skew(0deg, 8deg); display: block; font-size: 16px; margin: 0 10px 20px; position: relative; }
#company .btn a span:after { display: block; position: absolute; content: '\f138'; font-family: FontAwesome; font-size: 12px; right: 80px; top: 3px; }
/*=====採用情報=====*/
#company .recruit { display: inline-block; vertical-align: top; width: 560px; letter-spacing: normal; }
#company .recruit a { background: url(../../img/top/recruit.jpg) no-repeat; display: block; padding: 210px 0 25px; }
#company .recruit p:first-child { background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0; display: inline-block; padding: 20px 45px 20px; margin: 0 0 20px; }
#company .recruit:hover a p:first-child { background: #2A4E9E; }
/*==============================================================*/
/* footer */
/*==============================================================*/
#footer { border-top: 5px solid #00226f; }
.footerIn { width: 1090px; margin: 0 auto; position: relative; }
#pagetop { position: absolute; right: 20px; top: -50px; width: 175px; z-index: 0; height: 50px; }
#pagetop a { background: #00226f; color: #fff; text-align: center; text-decoration: none; font-size: 12px; transform: skew(0deg, -8deg); display: block; padding: 25px 0 15px; }
#pagetop a:hover { background: #274FAA; }
#pagetop span { display: block; transform: skew(0deg, 8deg); position: relative; }
#pagetop span:after { display: block; content: '\f106'; font-family: FontAwesome; position: relative; top: -42px; font-size: 18px; }
/*フッターナビ*/
.footerIn ul { display: table; width: 100%; z-index: 5; position: relative; background: #fff; }
.footerIn ul li { display: table-cell; text-align: center; border-right: 1px dotted #ccc; width: 14%; }
.footerIn ul li:last-child { border: none; }
.footerIn ul li a { display: block; text-decoration: none; padding: 20px 0 35px; font-size: 14px; color: #00226f; transform: rotate(0.028deg); position: relative; }
.footerIn ul li a:after { position: absolute; content: '\f078'; display: block; font-family: FontAwesome; left: 0; right: 0; margin: 5px auto 0; font-size: 9px; }
.footerIn ul li a:hover { background: #eee; }
/*フッター最下部*/
#footer .bgGray { overflow: hidden; padding: 30px 0; }
.footerIn .copy { font-size: 10px; display: inline-block; margin-right: 20px; }
.footerIn .copy a { font-style: italic; text-decoration: none; }
.footerIn address { display: inline-block; }
.footerIn address p { display: inline-block; margin-right: 20px; }
.footerIn address p:last-child { margin-right: 0; }
.footerIn address p > span { display: inline-block; vertical-align: middle; }
.footerIn address p span span { display: block; font-size: 10px; }
.footerIn address img { margin: 0 10px 0 0; }
.footerIn address p:last-child { font-size: 16px; }
