﻿@charset 'utf-8';
/*--------------------------------------------------------------------------------
  general
--------------------------------------------------------------------------------*/
body {
  margin: 0 auto;
  min-width: 980px;
  width: 100%;
  font-size: 100%;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", sans-serif;
  line-height: 1.2;
  -webkit-text-size-adjust: 100%;
  -webkit-print-color-adjust: exact;
  -webkit-font-smoothing: antialiased;
}
a {
  outline: none;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.touch a:hover {
  opacity: 1!important;
  -webkit-transition: none!important;
  transition: none!important;
}
/*--------------------------------------------------------------------------------
  content
--------------------------------------------------------------------------------*/
#content {
  color: #333;
}
/*--------------------------------------------------------------------------------
  header
--------------------------------------------------------------------------------*/
.header {
  position: relative;
  z-index: 10;
  height: 100px;
}
.header-body.fixed {
  position: fixed;
  top: -100px;
  right: auto;
  bottom: auto;
  left: 0;
  z-index: 1000;
  margin-top: 100px;
  width: 100%;
  background: rgba(255, 255, 255, 0.9);
  -webkit-transition: all 1500ms;
  transition: all 1500ms;
}
.header-inner {
  display: table;
  margin: 0 auto;
  width: 980px;
  height: 61px;
}
.header-primary {
  display: table-cell;
  padding: 0 20px;
  height: 60px;
  vertical-align: middle;
}
.header-secondary {
  display: table-cell;
  width: 425px;
  vertical-align: top;
}
/***** siteroot *****/
.header-siteroot > a {
  display: inline-block;
  vertical-align: bottom;
}
.header-siteroot > a:before {
  display: inline-block;
  width: 348px;
  height: 23px;
  content: url(../img/common/logo_recruitroot.png);
  vertical-align: bottom;
}
/***** utils *****/
.utils-link {
  display: table;
  overflow: hidden;
}
.utils-link-item {
  display: table-cell;
  padding: 0 1px;
}
.utils-link-item > a {
  display: table-cell;
  width: 160px;
  height: 60px;
  vertical-align: middle;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  -webkit-transition: all 500ms;
  transition: all 500ms;
}
.utils-link-item > a:hover {
  text-decoration: none;
  -webkit-transition: all 500ms;
  transition: all 500ms;
}
.utils-link-item > a > span {
  display: block;
  font-size: 11px;
}
.utils-link-item--root > a {
  color: #fff;
  background: #3d5883;
}
.utils-link-item--root > a:hover {
  background: #193560;
}
.utils-link-item--shop > a {
  color: #fff;
  background: #71a651;
}
.utils-link-item--shop > a:hover {
  background: #4b8f22;
}
.utils-link-item--entry > a {
  background: #ff6d15;
  color: #fff;
}
.utils-link-item--entry > a:hover {
  background: #e35500;
}
/***** global navigation *****/
.globalnav {
  background: #2373af;
}
.globalnav-inner {
  width: 980px;
  margin: 0 auto;
}
.globalnav-body {
  margin: 0 auto;
  width: 100%;
}
.globalnav-items {
  display: table;
  width: 100%;
  table-layout: auto;
}
.globalnav-item {
  position: relative;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
.globalnav-item:before {
  position: absolute;
  top: 13px;
  left: 0;
  display: block;
  width: 1px;
  height: 18px;
  background: #82b9e1;
  content: '';
}
.globalnav-item:first-child:before {
  display: none;
}
.globalnav-item > a {
  position: relative;
  display: block;
  padding: 15px;
  color: #FFFFFF;
  font-size: 14px;
  line-height: 1;
}
.globalnav-item > a:hover,
.globalnav-item > a.active {
  text-decoration: none;
  background: #075185;
}
.globalnav-item > a:hover:after,
.globalnav-item > a.active:after {
  -webkit-transition: all 250ms;
  transition: all 250ms;
}
.globalnav-subcategory {
  position: absolute;
  top: 100%;
  z-index: 10;
  display: none;
  width: 100%;
}
.globalnav-subcategory > div {
  position: relative;
  margin: 0 auto;
  text-align: left;
}
.globalnav-subcategory-cols {
  display: block;
  background: rgba(7, 81, 133, 0.9);
  vertical-align: top;
  width: 100%;
}
.globalnav-subcategory-heading {
  margin: 0 auto 20px;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}
.globalnav-subcategory-heading a {
  color: #fff;
}
.globalnav-subcategory-item {
  line-height: 0;
  border-bottom: 1px solid #82b9e1;
  padding: 20px;
}
.globalnav-subcategory-item:last-child {
  border-bottom: none;
}
.globalnav-subcategory-item a {
  display: inline-block;
  color: #fff;
  vertical-align: middle;
  font-size: 12px;
  line-height: 1;
}
/*--------------------------------------------------------------------------------
  hero
--------------------------------------------------------------------------------*/
.hero {
  position: relative;
  height: 150px;
}
.hero:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  display: block;
  margin: 0 0 0 auto;
  width: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: '';
  line-height: 0;
}
.hero[data-category="recruit"]:before {
  background-image: url(../img/common/kv.png);
}
.hero[data-category="newgraduates"]:before {
  background-image: url(../img/newgraduates/kv.png);
}
.hero-inner {
  display: table;
  margin: 0 auto;
  width: 980px;
  height: 150px;
}
.hero-heading {
  display: table-cell;
  color: #006ebb;
  vertical-align: middle;
  text-align: center;
  letter-spacing: 4px;
  font-weight: bold;
  font-size: 28px;
  line-height: 1.2;
}
/*--------------------------------------------------------------------------------
  breadcrumbs
--------------------------------------------------------------------------------*/
.breadcrumbs-inner {
  margin: 0 auto;
  padding: 20px 0 40px;
  width: 980px;
}
.breadcrumbs-items {
  font-size: 0;
}
.breadcrumbs-item {
  display: inline-block;
  vertical-align: bottom;
  letter-spacing: normal;
}
.breadcrumbs-item a {
  display: inline-block;
  color: #3a3a3a;
  vertical-align: bottom;
  font-size: 12px;
  line-height: 1;
}
.breadcrumbs-item span {
  display: inline-block;
  color: #3a3a3a;
  vertical-align: bottom;
  font-size: 12px;
  line-height: 1;
}
.breadcrumbs-item:before {
  display: inline-block;
  margin: 0 8px;
  content: '\003e';
  vertical-align: bottom;
  font-size: 12px;
}
.breadcrumbs-item:first-child:before {
  display: none;
}
/*--------------------------------------------------------------------------------
  main
--------------------------------------------------------------------------------*/
.main {
  display: table;
  margin: 0 auto;
}
.main-full {
  display: block;
}
/*--------------------------------------------------------------------------------
  main-container
--------------------------------------------------------------------------------*/
.main-container {
  display: table-cell;
  margin: 0 auto;
  padding: 0 0 100px;
  width: 720px;
}
.main-full .main-container {
  display: block;
  padding: 0;
  width: 100%;
}
/*--------------------------------------------------------------------------------
  side-container
--------------------------------------------------------------------------------*/
.side-container {
  display: table-cell;
  padding: 0 30px 95px 0;
  min-width: 230px;
  width: 230px;
  vertical-align: top;
}
/*--------------------------------------------------------------------------------
  localnav
--------------------------------------------------------------------------------*/
.localnav {
  display: table-cell;
  padding: 0 30px 95px 0;
  min-width: 230px;
  width: 230px;
  vertical-align: top;
}
.localnav-body {
  margin: 0 0 40px;
}
.localnav-body dt {
  border-bottom: 1px solid #d5d5d5;
  padding: 0 0 10px 15px;
  margin: 0 0 20px;
  background: url(../img/common/arrow_blue_right.png) left 4px no-repeat;
}
.localnav-body dt a {
  color: #006ebb;
}
.localnav-body dd {
  padding: 10px 0 10px 15px;
}
.localnav-body dd a {
  position: relative;
  color: #3a3a3a;
  font-size: 14px;
}
.localnav-body dd a.active {
  font-weight: bold;
}
.localnav-body dd a:before {
  position: absolute;
  top: -1px;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto auto auto -13px;
  width: 4px;
  height: 5px;
  background: url(../img/common/arrow_blue_right_s.png) no-repeat center;
  background-size: 100% auto;
  content: '';
}
/*--------------------------------------------------------------------------------
  sideInfo
--------------------------------------------------------------------------------*/
.sideInfo {
  margin: 20px 0 0;
  padding: 20px 15px;
  background: #f6f6f6;
  font-size: 13px;
}
.sideInfo a {
  color: #3a3a3a;
}
.sideInfo-header {
  margin: 0 0 10px;
  color: #006ebb;
  font-weight: bold;
}
.sideInfo-detail {
  line-height: 1.6;
}
/*--------------------------------------------------------------------------------
  backtotop
--------------------------------------------------------------------------------*/
.backtotop {
  text-align: center;
  width: 100%;
}
.backtotop a {
  display: block;
  width: 100%;
  height: 70px;
  -webkit-transition: all 500ms;
  transition: all 500ms;
  background: #338bc9 url(../../recruit/img/common/icon_backtotop.png) center center no-repeat;
}
.backtotop a:hover {
  -webkit-transition: all 500ms;
  transition: all 500ms;
  background: #0069b2 url(../../recruit/img/common/icon_backtotop.png) center center no-repeat;
}
/*--------------------------------------------------------------------------------
  footer
--------------------------------------------------------------------------------*/
#tmpl-footer {
  position: relative;
}
.footer-primary {
  background: #f6f6f6;
}
.footer-primary > div {
  margin: 0 auto;
  padding: 62px 0 40px;
  width: 980px;
}
.footer-secondary {
  background: #f6f6f6;
}
.footer-secondary > div {
  margin: 0 auto;
  padding: 25px 0 20px;
  width: 980px;
}
.footer-tertiary {
  background: #040d35;
}
.footer-tertiary > div {
  margin: 0 auto;
  padding: 0 0 25px 0;
  width: 980px;
}
/***** sitemap *****/
.sitemap {
  overflow: hidden;
}
.sitemap-category {
  display: table;
  width: 100%;
  table-layout: fixed;
}
.sitemap-items {
  margin: 0 auto 40px;
  line-height: 0;
}
.sitemap-item {
  position: relative;
  margin: 10px auto 20px;
  font-size: 14px;
  line-height: 1;
}
.sitemap-item:first-child {
  margin-top: 0;
}
.sitemap-item a {
  display: block;
  padding: 0 0 0 15px;
  color: #222;
  font-size: 14px;
}
.sitemap-item:before {
  position: absolute;
  top: 3px;
  left: 1px;
  display: block;
  width: 4px;
  height: 7px;
  content: url(../img/common/arrow_blue_right_s.png);
  vertical-align: middle;
  line-height: 0;
}
.sitemap-category-cols {
  display: table-cell;
  margin: 0 15px;
  vertical-align: top;
  letter-spacing: normal;
}
.sitemap-category-cols[data-col-id="0"] {
  width: 420px;
}
.sitemap-category-cols[data-col-id="1"],
.sitemap-category-cols[data-col-id="2"] {
  width: 245px;
}
.sitemap-category-rows {
  margin: 0 0 35px;
}
.sitemap-category-heading {
  margin: 0 75px 25px 0;
  padding: 10px;
  border-bottom: 1px solid #cfcfcf;
  font-size: 18px;
  line-height: 1;
  background: url(../img/common/arrow_blue_right.png) left center no-repeat;
}
.sitemap-category-heading a {
  color: #006ebb;
}
.sitemap-subcategory-cols {
  display: inline-block;
  margin: 0 20px 0 0;
  vertical-align: top;
  letter-spacing: normal;
}
/***** sitemapV2 *****/
.sitemapV2-category {
  overflow: hidden;
}
.sitemapV2-items {
  text-align: center;
  font-size: 0;
  line-height: 0;
}
.sitemapV2-item {
  display: inline-block;
  vertical-align: bottom;
  letter-spacing: normal;
  font-size: 12px;
  line-height: 1.3;
}
.sitemapV2-item a {
  color: #fff;
}
.sitemapV2-item.sitemapV2-item--line {
  padding: 0 10px;
  border-left: 1px solid #4b578b;
}
.sitemapV2-item.sitemapV2-item--line:first-child {
  padding-left: 0;
  border-left: none;
}
/***** information (copyright) *****/
.information-copyright small {
  display: block;
  color: #333;
  text-align: center;
  font-size: 11px;
  line-height: 1;
}
