@charset "UTF-8";
html {
  overflow-x: hidden;
}
html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}
body {
  background: #fff;
  /*overflow-x: hidden; nav固定表示のためコメントアウト*/
  color: #000;
  font-size: 16px;
  line-height: 1.5;
  width: 100%;
  /*font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, "futura-pt";*/
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
}

main {
  line-height: 1.7;
}

div, h1, h2, h3, h4, h5, h6, p, dl, dt, dd, ul, ol, li, form {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.5;
}

img, a img {
  border: none;
}

ul, ol, li {
  list-style: none;
}

a {
  color: #000;
}

a:hover {
  color: #000;
  text-decoration: none;
}

a.text_link {
  position: relative;
  display: inline-block;
  transition: .3s;
}

a.text_link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #000;
  transition: .3s;
}

a.text_link:hover::after {
  width: 100%;
}

a.text_link:hover, a.text_link:active {
  text-decoration: none;
  color: #000;
}

a.text_link.bk{
  color: #000 !important;
}
a.text_link.bk::after{
  background-color: #000 !important;
}

/*a:hover, a:active img {
  outline: 0;
  opacity: 0.8;
  color: #000;
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}*/

a:hover img {
  opacity: 0.75;
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.clear {
  clear: both;
  visibility: hidden;
}

.pt0 {
  padding-top: 0px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mr10 {
  margin-right: 10px;
}

.mr20 {
  margin-right: 20px;
}

.mr30 {
  margin-right: 30px;
}

.mr40 {
  margin-right: 40px;
}

.bold {
  font-weight: bold;
}

.blue {
  color: #23b5ba;
}

.row {
  margin-left: 0;
  margin-right: 0;
}

.center {
  text-align: center;
}

.center_img {
  text-align: center;
}

.center_img img {
  width: 100%;
  height: auto;
}

.right_text {
  text-align: right;
}

.left_img {
  float: left;
  margin-right: 20px;
}

.right_img {
  float: right;
  margin-left: 20px;
}

.btn.small {
  font-size: 100%;
}

.under_sp {
  margin-bottom: 2%;
}

.link_black {
  color: #505050;
}

.error {
  color: #ff0000;
}

.btn {
  max-width: 310px;
  min-width: 300px;
  margin-right: auto;
  margin-left: auto;
  color: #fff;
  font-size: 17px;
  line-height: 1.33333;
  padding: 18px 0;
  border-radius: 0px;
  padding-right: 15px;
}

.btn i {
  padding-right: 20px;
}

.btn.btn-lg {
  max-width: 45%;
}

.btn.btn-l {
  max-width: 400px;
}

.btn.focus,
.btn:focus,
.btn:hover {
  color: #fff;
  transition: all 200ms ease 0s;
  opacity: 1;
}

.btn-primary {
  background: #4c9d2a url("../images/common/btn_icon.png") no-repeat 95% center;
  border: none;
  background-size: 19px 19px;
}

.btn-primary.focus,
.btn-primary:focus,
.btn-primary:hover {
  background: #3a8d18 url("../images/common/btn_icon.png") no-repeat 96% center;
  border: none;
  background-size: 19px 19px;
}

.btn-primary.active,
.btn-primary:active, .open > .dropdown-toggle.btn-primary {
  transition: all 200ms ease 0s;
  border: none;
  background-size: 19px 19px;
  background: #3a8d18 url("../images/common/btn_icon.png") no-repeat 96% center;
}

.btn-primary.active.focus,
.btn-primary.active:focus,
.btn-primary.active:hover,
.btn-primary.focus:active,
.btn-primary:active:focus,
.btn-primary:active:hover,
.open > .dropdown-toggle.btn-primary.focus,
.open > .dropdown-toggle.btn-primary:focus,
.open > .dropdown-toggle.btn-primary:hover {
  background: #3a8d18 url("../images/common/btn_icon.png") no-repeat 96% center;
  transition: all 200ms ease 0s;
  border: none;
  background-size: 19px 19px;
}

.btn-default,
.btn-default.focus,
.btn-default:focus,
.btn-default:hover {
  background: #fff;
  color: #13b585;
  border: none;
}

.btn-default.active,
.btn-default:active,
.open > .dropdown-toggle.btn-default {
  background-color: #fff;
  color: #13b585;
  border: none;
}

.btn-default.active.focus,
.btn-default.active:focus,
.btn-default.active:hover,
.btn-default.focus:active,
.btn-default:active:focus,
.btn-default:active:hover,
.open > .dropdown-toggle.btn-default.focus,
.open > .dropdown-toggle.btn-default:focus,
.open > .dropdown-toggle.btn-default:hover {
  background-color: #fff;
  color: #13b585;
  border: none;
}

.btn.grn,
.btn.grn:hover {
  background: #fff;
  color: #13b585;
  border: 2px solid #13b585;
}

.btn.white,
.btn.white:hover {
  color: #fff;
  border: 2px solid #fff;
}

.btn.ore,
.btn.ore:hover {
  background-color: #f79d01;
}

.btn-block + .btn-block {
  margin-top: 0;
}

.btn.target {
  background: #4c9d2a url("../images/common/icon_target.png") no-repeat 96% center;
  max-width: 400px;
  min-width: 400px;
}

.btn.target:focus,
.btn.target:hover {
  background: #3a8d18 url("../images/common/icon_target.png") no-repeat 96% center;
}

.blog_btn {
  max-width: 310px!important;
  min-width: 300px!important;
}

.req {
  color: #fff;
  background: #a90101;
}

.yet {
  color: #fff;
  background: #bfbfbf;
}

label {
  font-weight: normal;
}

.left_btn {
  float: left;
  width: 48%;
}

.right_btn {
  float: right;
  width: 48%;
}

.small {
  font-size: 90%;
}

.form-horizontal .form-group {
  margin-left: 0px;
  margin-right: 0px;
}

.checkbox.skill input[type="checkbox"] {
  top: 40%;
}

.form-group {
  margin-bottom: 20px;
}

.nav-tabs > li {
  margin-bottom: 0;
}

.link_out {
  background: url("../images/common/icon_link_out.png") no-repeat right center;
  padding-right: 20px;
}

.pagetop {
  position: absolute;
  right: 0px;
  top: -25px;
}

/* font */
.tk-skolar-sans-latincss {
  font-family: "skolar-sans-latin",sans-serif !important;
}

.tk-futura-pt {
  font-family: "futura-pt";
}

/* header */
header {
  width: 100%;
}

header.recruit {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
  background: #fff;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.1);
}

header.recruit .navbar {
  min-height: 98px;
}

header.recruit nav.navbar.navbar-default {
  max-width: 1100px;
  padding-top: 0;
}

header.recruit nav.navbar.navbar-default .navbar-header {
  max-width: 1100px;
}

header.recruit nav.navbar.navbar-default .h_logo h1 {
  float: left;
  text-align: left;
  width: 25%;
  padding: 31px 0 0;
  line-height: 1;
}

header.recruit nav.navbar.navbar-default .h_logo h1 img {
  max-width: 100%;
  height: auto;
}

header.recruit nav.navbar.navbar-default .h_logo a:hover {
  opacity: 1;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav {
  text-align: right;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li {
  display: inline-block;
  text-align: center;
  position: relative;
  padding: 2.9% 19px 0;
  margin-right: 0;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li:nth-child(4) {
  padding-right: 20px;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp {
  padding: 0;
  width: 123px;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp a {
  height: 98px;
  padding: 32px 19px 30px;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp a.active {
  background-image: none;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp a:hover {
  transition: all 0.2s ease-in-out .3s;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp.career a {
  color: #fff;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp.newgrad {
  background: #ffd66a;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp.career {
  background: #f79d01;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp.newgrad a:hover {
  background: #bbd8a9;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp.career a:hover {
  background: #4c9d2a;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li a {
  padding-right: 0;
  padding-left: 0;
  color: #020202;
  font-size: 17px;
  text-decoration: none;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li a.active {
  background: url("../images/common/gnav_rec_bg.jpg") no-repeat center 95%;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li a:hover {
  opacity: 1;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li a:hover span.rec_nav_border {
  position: absolute;
  bottom: 5px;
  left: 41%;
  width: 20px;
  height: 2px;
  background-color: #4c9d2a;
  display: block;
  transition: all 0.7s cubic-bezier(0.25, 0.1, 0.25, 1) 0s;
}

header.recruit nav.navbar.navbar-default .rec_pc_gnav li a.active:hover span.rec_nav_border {
  width: 0;
  height: 0;
}

.rec_nav_txt {
  font-size: 11px;
  padding-top: 2px;
  line-height: 0.8;
}

header.top {
  height: 527px;
}

header.top .pogoSlider_wrap {
  height: 527px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

header.top .pogoSlider_wrap .pogoSlider .pogoSlider-slide {
  height: 527px;
  background-size: cover 527px;
  background-repeat: no-repeat;
  background-position: center center;
}

header.top .main_vis h2 {
  opacity: 0;
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  margin: auto;
  width: 1100px;
  transform: scale(1.1, 1.1);
  transition: all 1.5s ease 0s;
}

header.top .main_vis h2.non {
  opacity: 1;
  transform: scale(1, 1);
}

header.top .main_vis h2 {
  width: 1000px;
  margin: 240px auto 0;
}

header.top nav.navbar.navbar-default {
  z-index: 100;
}

header nav.navbar.navbar-default {
  max-width: 1080px;
  background: none;
  margin: 0 auto;
  border: none;
  text-align: right;
  margin-bottom: 0;
  padding-top: 6px;
}

header nav.navbar.navbar-default .container-fluid {
  padding: 0;
}

header nav.navbar.navbar-default .navbar-header {
  width: 100%;
  max-width: 1080px;
}

header nav.navbar.navbar-default .nav.navbar-nav {
  position: absolute;
  top: 0px;
  right: 0px;
}

header nav.navbar.navbar-default .h_menu {
  font-size: 13px;
  padding-top: 10px;
  padding-bottom: 10px;
}

header nav.navbar.navbar-default .h_doctor {
  display: inline;
  padding-left: 5px;
}

header nav.navbar.navbar-default .h_contact {
  background: url("../images/common/h_icon02.png") no-repeat left center;
  padding: 0px 5px 0 20px;
  display: inline;
}

header nav.navbar.navbar-default .text_link {
  color: #000;
}

header nav.navbar.navbar-default .h_lang,
header nav.navbar.navbar-default .h_fb {
  display: inline;
  padding-top: 10px;
}

header nav.navbar.navbar-default .h_twi {
  width: 19px;
  display: inline-block;
  margin-left: 5px;
}

header nav.navbar.navbar-default .h_twi img {
  width: 100%;
}

.h_btn {
  color: #fff;
  font-size: 17px;
  line-height: 1.33333;
  padding: 5px 20px 5px 10px;
  border-radius: 0px;
  font-size: 12px;
}

.h_btn.focus,
.h_btn:focus,
.h_btn:hover {
  color: #fff;
  transition: all 200ms ease 0s;
  opacity: 1;
}

.h_btn {
  background: #4c9d2a url("../images/common/btn_icon.png") no-repeat 95% center;
  border: none;
  background-size: 10px 10px;
}

.h_btn.focus,
.h_btn:focus,
.h_btn:hover {
  background: #3a8d18 url("../images/common/btn_icon.png") no-repeat 96% center;
  border: none;
  background-size: 10px 10px;
}

header nav.navbar.navbar-default .h_search {
  padding: 10px 3px;
  margin-right: 5px;
  display: inline;
}

header nav.navbar.navbar-default .h_search.open {
  background: #fff;
  animation-duration: 0.6s;
  animation-name: fade-in;
  -moz-animation-duration: 0.6s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.6s;
  -webkit-animation-name: fade-in;
}

header nav.navbar.navbar-default .h_search.open .dropdown-menu {
  opacity: 1;
  display: inline;
  animation-duration: 0.6s;
  animation-name: fade-in;
  -moz-animation-duration: 0.6s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.6s;
  -webkit-animation-name: fade-in;
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: inline;
    opacity: 0;
  }
  100% {
    display: inline;
    opacity: 1;
  }
}

@-moz-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: inline;
    opacity: 0;
  }
  100% {
    display: inline;
    opacity: 1;
  }
}

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: inline;
    opacity: 0;
  }
  100% {
    display: inline;
    opacity: 1;
  }
}

header nav.navbar.navbar-default .h_search.open button.dropdown-toggle {
  background: url("../images/common/h_icon03_close.png") no-repeat top center;
}

header nav.navbar.navbar-default .h_search.open .form-group {
  width: 100%;
}

header nav.navbar.navbar-default .h_search.open .form-group input.form-control {
  width: 85%;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid #c2c2c2;
  font-size: 12px;
  box-shadow: none;
  padding: 6px 0;
}

header nav.navbar.navbar-default .h_search.open .form-group button {
  margin-top: 5px;
  background: none;
  border: none;
  float: right;
}

header nav.navbar.navbar-default .h_search button.dropdown-toggle {
  background: url("../images/common/h_icon03.png") no-repeat center top;
  cursor: pointer;
  border: none;
  width: 17px;
  height: 17px;
  padding: 0;
  margin: 0;
  vertical-align: middle;
}

header nav.navbar.navbar-default .h_search .dropdown-menu {
  opacity: 0;
  top: 40px;
  right: 28px;
  left: auto;
  float: right;
  border: none;
  border-radius: 0;
  padding: 10px 10px 4px;
  width: 250px;
  box-shadow: none;
}

header .h_menu .text_link {
  color: #000;
}

input.gsc-search-button,
input.gsc-search-button:hover,
input.gsc-search-button:focus {
  background: #4c9d2a !important;
  border: none !important;
}

.cse input.gsc-search-button,
input.gsc-search-button {
  border-radius: 0 !important;
}

.cse .gsc-search-button input.gsc-search-button-v2,
input.gsc-search-button-v2 {
  padding: 6px !important;
}

.gsc-input-box {
  height: 30px !important;
  padding: 2px !important;
}

.gsib_a {
  padding: 0 !important;
  box-sizing: content-box !important;
}

.gsib_a input,
.gsc-search-button input {
  box-sizing: content-box !important;
}

header nav.navbar.navbar-default .h_search input.gsc-input {
  padding: 0 !important;
}

header nav.navbar.navbar-default .h_lang {
  padding-right: 12px;
}

header nav.navbar.navbar-default .h_lang i {
  padding: 0 10px;
}

.not_found_title {
  padding-bottom: 20px;
  font-size: 24px;
}

.not_found_text {
  padding-bottom: 70px;
}

@media (max-width: 1140px) {
  header.top {
    height: 0;
    padding-bottom: 48%;
  }
  header.top .main_vis h2 {
    height: 0;
    padding: 0 40px;
    /*padding-bottom: 48%;*/
    width: 100%;
    margin-top: 20%;
  }
  header.top .main_vis h2 img {
    max-width: 100%;
    height: auto;
  }
  header.top .pogoSlider_wrap {
    height: 0;
    padding-bottom: 48%;
  }
  header.top .pogoSlider_wrap .pogoSlider {
    height: 0;
    padding-bottom: 48%;
  }
  header.top .pogoSlider_wrap .pogoSlider .pogoSlider-slide {
    height: 0;
    padding-bottom: 48%;
    background-size: cover;
  }
}

@media (max-width: 990px) {
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li a {
    font-size: 14px;
  }

  header.recruit nav.navbar.navbar-default .rec_pc_gnav li {
    padding: 2.8% 11px 0;
  }

  header.recruit nav.navbar.navbar-default .rec_pc_gnav li:nth-child(4) {
    padding-right: 20px;
  }

  header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp {
    width: 100px;
  }

  header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp a {
    padding: 32px 11px 30px;
  }
}

@media (max-width: 860px) {
  header.recruit nav.navbar.navbar-default .h_logo h1 {
    width: 23%;
  }
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li a {
    font-size: 12px;
  }
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li {
    padding: 2.8% 9px 0;
  }
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li:nth-child(4) {
    padding-right: 15px;
  }
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp {
    width: 95px;
  }
}

@media (max-width: 800px) {
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li {
    padding: 2.8% 6px 0;
  }
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li:nth-child(4) {
    padding-right: 12px;
  }
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li.sp {
    width: 82px;
  }
}

@media (max-width: 767px) {
  header.recruit nav.navbar.navbar-default {
    min-height: 46px;
  }
  header.recruit nav.navbar.navbar-default .h_logo h1 {
    padding: 1% 0 0.5% 2%;
  }
  header.recruit nav.navbar.navbar-default .h_logo h1 img {
    min-width: 190px;
  }
  header.recruit .h_menu_btn {
    background: url("../images/common/h_menu_rec_close.jpg") no-repeat center top/100% auto;
  }
  header.recruit .h_menu_btn.collapsed {
    background: url("../images/common/h_menu_rec.jpg") no-repeat center top/100% auto;
  }
  header .sp_menu {
    width: 100%;
    background: #fff;
  }
  header .sp_menu .navbar-nav {
    margin-top: 0;
    margin-bottom: 0;
  }
  header .sp_menu ul.nav {
    margin-top: 0;
  }
  header .sp_menu .h_search {
    padding: 25px 0 30px;
    background: #fff;
  }
  header .sp_menu .h_search label {
    font-size: 13px;
    margin-right: 2%;
    display: inline;
    width: 10%;
  }
  header .sp_menu .h_search input {
    display: inline;
    border: none;
    border-bottom: 1px solid #c2c2c2;
  }
  header .sp_menu .h_search button {
    background: none;
    border: none;
    display: inline;
    width: 10%;
  }
  header .sp_menu .h_lang {
    text-align: center;
    padding-bottom: 30px;
  }
  header .sp_menu .h_lang i {
    margin: 0 10px;
  }
  header .navbar {
    min-height: 46px;
  }
  header nav.navbar.navbar-default {
    padding-top: 0;
    background: #fff;
  }
  header.top {
    background: #f2f2f2;
    height: 0;
    padding-bottom: 65%;
    min-height: 190px;
  }
  header.top .pogoSlider_wrap {
    height: 0;
    padding-bottom: 56%;
    top: 43px;
  }
  header.top .pogoSlider_wrap .pogoSlider {
    height: 0;
    padding-bottom: 56%;
  }
  header.top .pogoSlider_wrap .pogoSlider .pogoSlider-slide {
    height: 0;
    padding-bottom: 56%;
    background-size: cover;
  }
  header.top .main_vis h2 {
    padding: 12% 0 0;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  header.top .main_vis h2 img {
    max-width: 100%;
    height: auto;
  }
  header .h_logo_sp {
    text-align: left;
    padding: 15px 0 0 10px;
    float: left;
    width: 260px;
  }
  header .visible-xs-block .want {
    display: none;
  }
  header .h_logo_sp h1 {
    font-size: 11px;
  }
  header .h_logo_sp h1 a {
    color: #020202;
    text-decoration: none;
  }
  header .h_logo_sp h1 span {
    padding-left: 2%;
    margin-top: 5px;
    padding-top: 3px;
    display: block;
    float: left;
  }

  header .h_logo_sp h1 img {
    width: 110px;
    height: auto;
    display: block;
    float: left;
  }
  header .h_menu_btn {
    float: none;
    position: absolute;
    background: url("../images/common/h_menu_close.jpg") top center no-repeat;
    background-size: 100%;
    width: 46px;
    height: 46px;
    right: 0;
    padding: 0;
    border: none;
    margin: 0;
    border-radius: 0;
    line-height: 1;
    text-align: center;
  }
  header .h_menu_btn.collapsed {
    background: url("../images/common/h_menu.jpg") top center no-repeat;
    background-size: 100%;
  }
  header .h_menu_btn img {
    width: 100%;
    height: auto;
    max-height: 42px;
  }
  header .container-fluid > .navbar-collapse,
  header .container-fluid > .navbar-header,
  header .container > .navbar-collapse,
  header .container > .navbar-header {
    margin-right: 0;
    margin-left: 0;
  }
  header .navbar-nav > li > a {
    line-height: 30px;
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 1px solid #ccc;
    background: url("../images/common/icon_next.png") no-repeat 98% center;
    background-size: 9px 18px;
  }
  header li.want_line a {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  header .sp_menu {
    position: relative;
    z-index: 100;
  }
  header .nav.navbar-nav {
    position: static;
  }
  header .nav.navbar-nav a.want {
    width: 12%;
  }
  header .h_menu_close li {
    text-align: center;
  }
  header .h_menu_close li a {
    background: #4c9d2a;
    background-image: none;
    display: block;
    color: #fff;
  }
  header .h_menu_close li a i {
    margin-right: 2.5%;
  }
  header .h_menu_close li a i img {
    width: 16px;
    height: 16px;
  }
}

/* gnav */
nav.gnav {
  border-bottom: 2px solid #4c9d2a;
  background: #fff;
  height: 70px;
  z-index: 1;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 100;
}

nav.gnav .gnav_inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

nav.gnav .gnav_logo {
  width: 168px;
  display: flex;
  align-items: center;
  margin-right: 40px;
}

nav.gnav .gnav_logo a {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

nav.gnav .gnav_logo img {
  width: 100%;
}

nav.gnav ul.gnav_list {
  flex: 1 1 0%;
  display: flex;
  justify-content: flex-end;
}

nav.gnav ul.gnav_list li .gnav_title {
  font-family: "futura-pt";
  font-weight: normal;
  font-size: 18px;
  color: #020202;
  padding-top: 15px;
  padding-bottom: 11px;
  letter-spacing: 0.5px;
  display: block;
  text-align: center;
  height: 100%;
}

nav.gnav ul.gnav_list li .gnav_title span {
  letter-spacing: 0px;
  display: block;
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
  font-size: 11px;
}

nav.gnav ul.gnav_list li a.gnav_title:hover,
nav.gnav ul.gnav_list li a.gnav_title:active,
nav.gnav ul.gnav_list li a.gnav_title.active {
  background: #4c9d2a;
  opacity: 1;
  color: #fff;
}


nav.gnav ul.gnav_list .gnav02 {
  width: 20.5%;
  height: 70px;
}

nav.gnav ul.gnav_list .gnav03 {
  width: 18%;
}

nav.gnav ul.gnav_list .gnav04 {
  width: 18%;
}

nav.gnav ul.gnav_list .gnav05 {
  width: 19%;
}

nav.gnav ul.gnav_list .gnav06 {
  width: 13.5%;
}

nav.gnav ul.gnav_list .gnav07 {
  width: 13.5%;
}

nav.gnav ul.gnav_list .gnav08 {
  width: 13%;
}

@media (max-width: 1200px) {
}

@media (max-width: 1140px) {
  nav.gnav .gnav_inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media (max-width: 1023px) {
  nav.gnav .gnav_logo {
    width: 15%;
    margin-right: 30px;
  }
  nav.gnav ul.gnav_list li .gnav_title {
    font-size: 16px;
  }
  nav.gnav ul.gnav_list li .gnav_title span {
    font-size: 10px;
  }
}

@media (max-width: 900px) {
  nav.gnav .gnav_logo {
    margin-right: 20px;
  }
  nav.gnav ul.gnav_list .gnav02 {
    width: 22%;
  }
}

@media (max-width: 860px) {
  nav.gnav .gnav_logo {
    margin-right: 15px;
  }
  nav.gnav ul.gnav_list li .gnav_title {
    font-size: 15px;
  }
}

.m-gnav .gnav_inner > ul {
  -moz-box-align: stretch;
  align-items: stretch;
  box-sizing: border-box;
  display: flex;
  margin-left: auto;
  margin-right: auto;
}

.m-gnav .gnav_inner > ul .m-gnav-news {
  -moz-box-flex: 1.2;
  flex-grow: 1.2;
}

.m-gnav .gnav_inner > ul > li:not(:first-child) {
  -moz-box-flex: 1;
  flex-grow: 1;
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
}

.m-gnav .gnav_inner > ul > li > a {
  color: #fff;
  display: block;
  text-decoration: none;
  transition: all .3s ease 0s;
}

.m-gnav .gnav_inner > ul > li > a > div {
  display: table;
  width: 100%;
}

.m-gnav .gnav_inner > ul > li > a > div > span {
  display: table-cell;
  vertical-align: middle;
}

.m-gnavsub {
  background-color: #4c9d2a;
  display: none;
  font-weight: normal;
  left: 0;
  padding: 15px 0 20px;
  position: absolute;
  text-align: left;
  width: 100%;
  z-index: 901;
}

.m-gnavsub a {
  color: #fff !important;
  text-decoration: none;
}

.m-gnavsub .m-gnavsub__menu {
  display: flex;
  align-items: center;
}

.m-gnavsub .m-gnavsub__menu li {
  width: 17%;
  padding: 10px 0 6px 2%;
}

.m-gnavsub .m-gnavsub__menu li.fir {
  width: 13% !important;
}

.m-gnavsub .m-gnavsub__menu li.sec {
  width: 23% !important;
}

.m-gnavsub .m-gnavsub__menu li.thr {
  width: 13% !important;
}

.m-gnavsub .m-gnavsub__menu li.for {
  width: 25% !important;
}

.m-gnavsub .m-gnavsub__menu li.fiv {
  width: 13% !important;
}

.m-gnavsub .m-gnavsub_title {
  text-align: center;
  font-family: "futura-pt";
  font-weight: normal;
  font-size: 26px;
  letter-spacing: 0.5px;
}

.m-gnavsub .m-gnavsub_title span {
  letter-spacing: 0px;
  display: block;
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
  font-size: 11px;
}

.m-gnavsub .m-gnavsub__menu li.news {
  width: 23%;
}

.m-gnavsub .m-gnavsub__menu li:first-child {
  width: 24%;
  margin-right: 2%;
  padding-left: 0;
}

.service_nav_1 {
  width: 260px!important;
}

.service_nav_2 {
  width: 250px!important;
}

.service_nav_3 {
  width: 120px!important;
}

.m-gnavsub.ir .m-gnavsub_title {
  margin-top: 35px;
}

.m-gnavsub.ir .m-gnavsub__menu li {
  width: 18%;
  padding-right: 0;
  padding-top: 6px;
}

.m-gnavsub.ir .m-gnavsub__menu li:first-child {
  width: 24%;
}

.m-gnavsub__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
}

.m-gnavsub ul {
  background: #4c9d2a;
}

.m-gnavsub__menu > li .m-linklist li {
  text-align: center;
  min-width: 100%;
}

.m-gnavsub__menu > li .m-linklist a {
  font-size: 15px;
  line-height: 1;
  position: relative;
  display: inline-block;
  transition: .3s;
  padding-bottom: 5px !important;
}

.m-gnavsub__menu > li .m-linklist a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: .3s;
}

.m-gnavsub__menu > li .m-linklist a:hover::after {
  width: 100%;
}

.m-gnavsub__menu > li .m-linklist a:hover,
.m-gnavsub__menu > li .m-linklist a:active {
  text-decoration: none;
  color: #fff;
  opacity: 1;
}

@media (max-width: 991px) {
  .m-gnavsub__menu > li .m-linklist a {
    font-size: 13px;
  }
}

main {
  width: 100%;
}

main .pagination {
  clear: both;
  margin-top: 45px;
  padding: 0;
  position: relative;
  font-size: 18px;
  line-height: 20px;
}

main .pagination span, main .pagination a {
  display: block;
  float: left;
  margin: 0px 15px 0px 15px;
  padding: 6px 9px 5px 9px;
  text-decoration: none;
  width: auto;
  color: #020202;
  background: #fff;
  border: 1px solid #c4c2c2;
}

main .pagination a:hover {
  color: #020202;
  background: #f1f1f1;
}

main .pagination .current {
  padding: 6px 9px 5px 9px;
  background: #f1f1f1;
  color: #020202;
}

main .pagination .next::after {
  content: ">";
}

main .pagination .prev::before {
  content: "<";
}

main nav.sitemap {
  overflow: hidden;
  margin-bottom: 60px;
}

main nav.sitemap ul {
  width: 25%;
  float: left;
}

main nav.sitemap ul li {
  font-size: 13px;
  padding: 10px 0;
}

main nav.sitemap ul li.title {
  font-size: 16px;
}

main nav.sitemap ul li.sp {
  margin-top: 44px;
}

main nav.sitemap ul li a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #010101;
}

main nav.sitemap ul li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #010101;
  transition: .3s;
}

main nav.sitemap ul li a:hover::after {
  width: 100%;
}

main nav.sitemap ul li a:hover, main nav.sitemap ul li a:active {
  opacity: 1;
  text-decoration: none;
  color: #010101;
}

main .blog_content {
  margin-bottom: 5%;
  overflow: hidden;
}

main ul.dev_img_list {
  overflow: hidden;
  margin-bottom: 20px;
}

main ul.dev_img_list.sp {
  margin-bottom: 35px;
}

main ul.dev_img_list.sp img {
  float: none;
  margin-right: 0;
  padding: 0;
  background: #fff;
}

main ul.dev_img_list.sp p {
  font-size: 18px;
  margin-bottom: 10px;
}

main ul.dev_img_list.sp table {
  border: 2px solid #f2f2f2;
  height: 230px;
  width: 100%;
}

main ul.dev_img_list.sp table td {
  vertical-align: middle;
  padding: 0 3%;
  text-align: center;
}

main ul.dev_img_list.sp table td.right {
  text-align: right;
}

main ul.dev_img_list.sp table td.left {
  text-align: left;
}

main ul.dev_img_list.sp table td img {
  max-width: 100%;
  height: auto;
  margin-bottom: 0;
}

main ul.dev_img_list li {
  width: 48%;
  float: left;
  overflow: hidden;
  font-size: 15px;
  line-height: 1.5;
}

main ul.dev_img_list li span {
  display: block;
  font-size: 18px;
  padding: 0 0 4px;
}

main ul.dev_img_list li small {
  padding-top: 3px;
  line-height: 1.5;
  display: block;
}

main ul.dev_img_list li img {
  float: left;
  margin: 0 3% 30px 0;
  padding: 2px;
  background: #f2f2f2;
}

main ul.dev_img_list li:nth-child(2n) {
  float: right;
}

main ul.workplace_list {
  overflow: hidden;
  margin-bottom: 50px;
}

main ul.workplace_list:last-child {
  margin-bottom: 0;
}

main ul.workplace_list li {
  width: 30.3%;
  float: left;
  margin-right: 4.5%;
  font-size: 15px;
  line-height: 1.6;
}

main ul.workplace_list li .title {
  font-size: 18px;
  margin: 12px 0 2px;
}

main ul.workplace_list li img {
  width: 100%;
  height: auto;
}

main ul.workplace_list li:nth-child(3n) {
  margin-right: 0;
}

main .sub_nav_rec {
  overflow: hidden;
  background: #f6f6f6;
  padding: 20px;
}

main .sub_nav_rec.under li {
  width: 33.3%;
  border-bottom: none;
}

main .sub_nav_rec li {
  overflow: hidden;
  width: 50%;
  float: left;
  border-bottom: 1px solid #d4d5d3;
  padding: 20px 40px 20px 20px;
  font-size: 13px;
  background: url("../images/common/icon_next.png") no-repeat 98% center;
  background-size: 10px;
}

main .sub_nav_rec li.nosp_top {
  padding-top: 0;
}

main .sub_nav_rec li.nosp_under {
  padding-bottom: 0;
  border-bottom: none;
}

main .sub_nav_rec li img {
  float: left;
  margin-right: 15px;
}

main .sub_nav_rec li span {
  display: block;
  font-size: 16px;
  padding: 5px 0 10px;
}

main .sub_nav_rec li a {
  display: block;
}

main .sub_nav_rec li:nth-child(2n) {
  border-left: 1px solid #d4d5d3;
}

main .company_list {
  width: 100%;
  max-width: 100%;
}

main .company_list th {
  background: url("../images/recruit/company/company_th_bg.jpg") repeat-y left top;
  background-size: 100%;
  width: 12%;
  vertical-align: top;
}

main .company_list th .age {
  background: url("../images/recruit/company/company_title_bg.jpg") no-repeat left bottom;
  background-size: 100%;
  font-size: 18px;
  font-weight: normal;
  padding: 15px 0 5px;
}

main .company_list th .age02 {
  background: url("../images/recruit/company/company_title_bg02.jpg") no-repeat left bottom;
  background-size: 100%;
  font-size: 18px;
  font-weight: normal;
  padding: 47px 0 5px;
}

main .company_list td {
  width: 80%;
  max-width: 100%;
  padding: 28px 0 60px 4%;
}

main .company_list td img {
  max-width: 100%;
  height: auto;
}

main .company_list td .title {
  font-size: 22px;
  font-weight: normal;
}

main .company_list td p {
  margin-bottom: 2%;
}

main .company_list td p:last-child {
  margin-bottom: 0;
}

main .entry_detail {
  margin-bottom: 5%;
}

main .entry_detail th,
main .entry_detail td {
  border: 1px solid #ccc;
  padding: 25px 15px 25px 25px;
}

main .entry_detail th {
  width: 23%;
  background: #f6f6f6;
  vertical-align: top;
  font-weight: normal;
}

main .entry_detail td p {
  margin-bottom: 3%;
  line-height: 1.7;
}

main .entry_detail td p:last-child {
  margin-bottom: 0;
}

main .rec_faq {
  margin: 50px 0 60px;
}

main .qa dl {
  overflow: hidden;
  border-bottom: 1px solid #dad8d8;
  padding: 45px 0;
}

main .qa dl dt {
  width: 34%;
  float: left;
  margin-right: 3%;
  position: relative;
  padding-left: 25px;
}

main .qa dl dt span {
  font-size: 18px;
  color: #4c9d2a;
  position: absolute;
  top: -2px;
  left: 0px;
  display: block;
}

main .qa dl dd {
  width: 63%;
  float: left;
}

main .qa dl dd a {
  color: #4c9d2a;
}

main .qa dl dd a:hover {
  color: #4c9d2a;
}

main .qa dl dd a::after {
  background-color: #4c9d2a;
}

main ul.job_list {
  overflow: hidden;
  margin-bottom: 50px;
}

main ul.job_list li {
  width: 49%;
  float: left;
  margin-bottom: 20px;
  font-size: 20px;
}

main ul.job_list li span.new_icon {
  display: inline-block;
  float:right;
  line-height: 1;
  float: right;
  margin-top: 7px;
  padding: 3px 6px;
  font-size: 11px;
  background: #bd1a21;
  color: #fff;
}

main ul.job_list li span.job_list_sub {
  font-size: 15px;
}

main ul.job_list li span.job_list_name {
  width: 88%;
  display: block;
  float: left;
}

main ul.job_list li a {
  min-height: 94px;
  padding: 30px 45px 30px 30px;
  display: block;
  background: #f6f6f6 url("../images/common/icon_next.png") no-repeat 97% center;
  background-size: 10px 18px;
}

main ul.job_list li a:hover {
  color: #fff;
  background: #f79d01 url("../images/common/icon_next_w.png") no-repeat 97% center;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

main ul.job_list li.job_list_02 a {
  min-height: 94px;
  padding: 15px 45px 0 30px;
}

main ul.job_list li:nth-child(2n) {
  float: right;
}

main ul.job_flow {
  overflow: hidden;
  margin-bottom: 60px;
}

main ul.job_flow li {
  background: url("../images/common/arw_r.jpg") no-repeat right 26%;
  background-size: 18%;
  width: 26%;
  float: left;
  padding-right: 4.5%;
}

main ul.job_flow li.end {
  width: 22%;
  background: none;
  padding-right: 0;
}

main ul.job_flow li.end .flow_title {
  background: #4c9d2a;
  color: #fff;
}

main ul.job_flow li .flow_title {
  border: 2px solid #4c9d2a;
  text-align: center;
  padding: 40px 0;
  margin-bottom: 10px;
  font-size: 20px;
}

main ul.job_flow li .flow_title span {
  font-size: 14px;
}

main ul.job_flow li .flow_text {
  text-align: left;
}

main .entry_job {
  margin-bottom: 5px;
}

main .entry_sub_title {
  text-align: center;
  font-size: 12px;
}

main .entry_lead {
  margin-bottom: 30px;
  text-align: center;
}

main .entry_lead p + p {
  padding-top: 20px;
}

main.blog .sub_vis_wrap {
  background: url(../images/blog/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.blog .sub_vis_wrap .sub_vis h2.title {
  font-size: 28px;
  font-family: Meiryo,メイリオ, sans-serif;
  padding-top: 80px;
  background: none;
}

main.blog .sub_vis_wrap .sub_vis h2.title span.small_text {
  display: inline;
  font-size: 20px;
}

main.blog ul.blog_list {
  margin-bottom: 45px;
}

main.blog ul.blog_list li {
  border-bottom: 1px solid #c1bfbf;
  padding: 30px 0;
  overflow: hidden;
  font-size: 14px;
}

main.blog ul.blog_list li a.text_link {
  color: #4c9d2a;
}

main.blog ul.blog_list li a.text_link::after {
  background-color: #4c9d2a;
}

main.blog ul.blog_list li a.text_link:hover, main.blog ul.blog_list li a.text_link:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main.blog ul.blog_list li h3.title {
  padding-left: 0;
  border-left: none;
  font-size: 22px;
  margin-bottom: 20px;
}

main.blog ul.blog_list li .text {
  margin-bottom: 15px;
}

main.blog ul.blog_list li .data_wrap {
  overflow: hidden;
}

main.blog ul.blog_list li .data_wrap .link {
  float: left;
}

main.blog ul.blog_list li .data_wrap .data {
  float: right;
}

main.blog ul.blog_list li .data_wrap .cate {
  padding-left: 25px;
  display: inline;
}

main.blog ul.blog_list li .data_wrap .cate a {
  margin-left: 5px;
}

main.blog ul.blog_list li:first-child {
  padding-top: 0;
}

main.blog section.content.detail .main_content {
  margin-bottom: 100px;
}

main.blog section.content.detail h3.title {
  font-size: 22px;
}

main.blog section.content.detail h3.title .data_wrap {
  overflow: hidden;
  padding: 10px 0 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid #c1bfbf;
}

main.blog section.content.detail h3.title .data {
  float: left;
}

main.blog section.content.detail h3.title .cate {
  font-size: 14px;
  float: left;
  padding-left: 20px;
}

main.blog section.content.detail .text p {
  text-indent: 0;
}

main.recruit .sub_vis_wrap .sub_vis h2.title {
  font-size: 54px;
  line-height: 1;
  background: none;
  color: #fff;
  padding-top: 45px;
  transform: none;
}

main.recruit .sub_vis_wrap .sub_vis .sub_title span {
  font-size: 16px;
}

main.recruit .sub_vis_wrap .sub_vis .sub_title span:before,
main.recruit .sub_vis_wrap .sub_vis .sub_title span:after {
  border-top: 1px solid #fff;
  width: 20%;
}

main.recruit.message .message_img {
  float: none;
  margin: 0;
}

main.recruit.message .container-fluid.rec_message h2.title {
  margin-top: 40px;
}

/*main.recruit.message .container-fluid.rec_message .rec_message_text {
  background: url(../images/recruit/message/sub_message.jpg) no-repeat center top;
  margin: 0 auto 30px;
  width: 1100px;
  height: 321px;
}

main.recruit.message .container-fluid.rec_message .rec_message_text a {
  display: block;
  width: 1100px;
  height: 321px;
  padding-left: 50px;
}*/

main.recruit.message .container-fluid.rec_message .rec_message_text h3.title {
  font-size: 26px;
  text-align: left;
  padding-top: 110px;
}

main.recruit.message .container-fluid.rec_message .rec_message_text p {
  font-size: 13px;
}

main.recruit.message .container-fluid.message_bg {
  padding-top: 80px;
  background: url(../images/recruit/top/member_bg.jpg) repeat center top;
}

main.recruit.message .container-fluid.message_bg section.content {
  background: transparent;
  position: relative;
}

main.recruit.message .container-fluid.message_bg section.content.career {
  background: #fff;
  padding: 20px 0;
}

main.recruit.message .container-fluid.message_bg section.content.career p {
  margin-bottom: 0;
}

main.recruit.message .container-fluid.message_bg section.content.career th {
  border-right: 1px solid #bdbdbd;
  width: 14%;
  padding: 0 35px;
  text-align: center;
  vertical-align: middle;
  font-size: 16px;
}

main.recruit.message .container-fluid.message_bg section.content.career td {
  font-size: 13px;
  padding: 0 35px;
}

main.recruit.message .container-fluid.message_bg section.content .text {
  background: #fff;
  padding: 40px 30px 5px;
}

main.recruit.message .container-fluid.message_bg section.content .text h3 {
  color: #4c9d2a;
  font-size: 22px;
  margin-bottom: 30px;
}

main.recruit.message .container-fluid.message_bg section.content .text p {
  margin-bottom: 35px;
  line-height: 1.7;
}

main.recruit.message .container-fluid.message_bg section.content .text dl {
  margin-bottom: 20px;
}

main.recruit.message .container-fluid.message_bg section.content .text dt {
  margin-bottom: 10px;
}

main.recruit.message .container-fluid.message_bg section.content .text dd {
  text-indent: -1em;
  padding: 0 0 12px 1em;
}

main.recruit.message.message01 .sub_vis_wrap {
  background: url(../images/recruit/message/sub_vis_message01.jpg) no-repeat center top;
  background-size: cover;
  height: 400px;
}

main.recruit.message.message02 .sub_vis_wrap {
  background: url(../images/recruit/message/sub_vis_message02.jpg) no-repeat center top;
  background-size: cover;
  height: 400px;
}

main.recruit.message .sub_vis_wrap .sub_vis {
  padding-top: 75px;
}

main.recruit.company .sub_vis_wrap .sub_vis {
  padding-top: 0px;
}

main.recruit.message .sub_vis_wrap .sub_vis dl.title {
  width: 50%;
  padding: 50px 50px 30px;
  background-color: rgba(255, 255, 255, 0.85);
}

main.recruit.message .sub_vis_wrap .sub_vis dl.title_bottom {
  margin-left: 50%;
}

main.recruit.message .sub_vis_wrap .sub_vis dl.title dt {
  font-size: 24px;
  font-weight: normal;
}

main.recruit.message .sub_vis_wrap .sub_vis dl.title dt .sub_title {
  padding-top: 20px;
}

main.recruit.message .sub_vis_wrap .sub_vis dl.title dt .ruby {
  background: url(../images/recruit/message/sub_vis_title_bg.jpg) no-repeat scroll right center;
  display: inline;
  font-family: Arial;
  font-size: 18px;
  font-weight: bold;
  padding-right: 45px;
}

main.recruit.message .sub_vis_wrap .sub_vis dl.title dd {
  margin-top: 20px;
  font-size: 15px;
}

main.recruit.message section.content.message_text01 .message_img {
  float: right;
  width: 50%;
  margin-top: 160px;
}

main.recruit.message section.content.message_text01 .text {
  width: 50%;
  float: left;
}

main.recruit.message section.content.message_text02 .message_img {
  position: absolute;
  z-index: 1;
  top: 0px;
  left: 0px;
  width: 45%;
}

main.recruit.message section.content.message_text02 .text {
  position: relative;
  z-index: 10;
  float: right;
  margin-top: 50px;
  width: 60%;
}

main.recruit.message section.content.message_text03 .message_img {
  float: right;
  width: 50%;
  margin-top: 50px;
}

main.recruit.message section.content.message_text03 .text {
  width: 50%;
  float: left;
}

main.recruit.message.message_top .sub_vis_wrap {
  background: url(../images/recruit/message/sub_vis.jpg) no-repeat center top;
  background-size: cover;
  height: 550px;
}

main.recruit.message.message_top .sub_vis_wrap .sub_vis {
  padding-top: 150px;
}

main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title {
  width: 50%;
  padding: 50px 50px 40px;
  background-color: rgba(255, 255, 255, 0.85);
}

main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title dt {
  font-size: 24px;
  font-weight: normal;
}

main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title dt .sub_title {
  padding-top: 20px;
}

main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title dt .ruby {
  background: url(../images/recruit/message/sub_vis_title_bg.jpg) no-repeat scroll right center;
  display: inline;
  font-family: Arial;
  font-size: 18px;
  font-weight: bold;
  padding-right: 45px;
}

main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title dd {
  margin-top: 20px;
  font-size: 15px;
}

main.recruit.message.message_top .container-fluid.message_bg {
  padding-top: 120px;
}

main.recruit.message.message_top section.content.message_text01 .message_img {
  float: left;
  margin-top: 60px;
  width: 50%;
}

main.recruit.message.message_top section.content.message_text01 .text {
  width: 50%;
  float: right;
}

main.recruit.message.message_top section.content.message_text02 .message_img,
main.recruit.message.message_top section.content.message_text02 .message_img02 {
  float: right;
  width: 43%;
  margin-top: 60px;
}

main.recruit.message.message_top section.content.message_text02 .text {
  width: 57%;
  float: left;
}

main.recruit.message.message_top section.content.message_text03 .message_img {
  width: 62%;
  position: absolute;
  z-index: 1;
  top: 70px;
  left: 0;
}

main.recruit.message.message_top section.content.message_text03 .text {
  width: 63.5%;
  float: right;
  position: relative;
  z-index: 10;
}

main.recruit.people.interview .sub_vis_wrap {
  height: 500px;
  margin-bottom: 40px;
}

main.recruit.people.interview .sub_vis_wrap .sub_vis dl {
  padding-top: 150px;
  width: 52%;
}

main.recruit.people.interview.interview10 .sub_vis_wrap .sub_vis dl,
main.recruit.people.interview.interview11 .sub_vis_wrap .sub_vis dl {
  float: right;
}

main.recruit.people.interview .sub_vis_wrap .sub_vis dl dt {
  background-color: rgba(76, 157, 42, 0.85);
  color: #fff;
  display: block;
  font-size: 26px;
  font-weight: normal;
  padding: 4.5% 25px 3.5% 25px;
}

main.recruit.people.interview .sub_vis_wrap .sub_vis dl dt .ruby {
  font-weight: bold;
  font-family: Arial;
  display: inline;
  padding-right: 45px;
  font-size: 18px;
  background: url(../images/recruit/people/sub_vis_title_bg.jpg) no-repeat right center;
}

main.recruit.people.interview .sub_vis_wrap .sub_vis dl dd {
  background-color: rgba(255, 255, 255, 0.85);
  font-size: 15px;
  padding: 3% 10px 2% 25px;
}

main.recruit.people.interview .sub_vis_wrap .sub_vis dl dd .name {
  font-size: 22px;
  margin-top: 5px;
}

main.recruit.people.interview .sub_vis_wrap .sub_vis dl dd .name span {
  font-size: 13px;
  margin-left: 20px;
}

main.recruit.people.interview section.content.interview_rec {
  max-width: 1240px;
  padding-left: 70px;
  padding-right: 70px;
  line-height: 1.9;
  margin-bottom: 50px;
  background: url(../images/recruit/people/people_bg.png) no-repeat left top;
}

main.recruit.people.interview section.content.interview_rec p.supplemental {
  font-size: 13px;
}

main.recruit.people.interview section.content.interview_rec .ask {
  font-size: 14px;
  margin: 15px 0 5px;
}

main.recruit.people.interview section.content.interview_rec h3 {
  color: #4c9d2a;
  font-size: 22px;
  margin-bottom: 20px;
}

main.recruit.people.interview ul.interview_img {
  overflow: hidden;
}

main.recruit.people.interview ul.interview_img li {
  width: 48%;
  float: left;
  margin-right: 4%;
}

main.recruit.people.interview ul.interview_img li img {
  max-width: 100%;
  height: auto;
}

main.recruit.people.interview ul.interview_img li:nth-child(2n) {
  margin-right: 0;
}

main.recruit.people.interview .container-fluid.comment {
  background: #f6f6f6;
}

main.recruit.people.interview .container-fluid.comment section.content {
  background: transparent;
  margin: 0 auto;
  padding: 20px 0;
}

main.recruit.people.interview .container-fluid.comment section.content .comment_img {
  float: left;
  width: 10%;
}

main.recruit.people.interview .container-fluid.comment section.content dl {
  float: right;
  width: 88%;
}

main.recruit.people.interview .container-fluid.comment section.content dl dt {
  color: #4c9d2a;
  font-size: 16px;
  margin: 10px 0;
  padding-left: 25px;
  font-weight: normal;
}

main.recruit.people.interview .container-fluid.comment section.content dl dd {
  color: #fff;
  padding-left: 25px;
  font-size: 18px;
  background: url("../images/recruit/people/people_arw.png") no-repeat left center;
}

main.recruit.people.interview .container-fluid.comment section.content dl dd .text {
  background: #4c9d2a;
  padding: 20px;
}

main.recruit.people.interview01 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people01.jpg") no-repeat top right;
  background-size: cover;
}

main.recruit.people.interview01 .sub_vis_wrap .sub_vis dl {
  padding-top: 150px;
  width: 50%;
}

main.recruit.people.interview02 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people02.jpg") no-repeat top right;
  background-size: cover;
}

main.recruit.people.interview03 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people03.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people.interview04 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people04.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people.interview05 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people05.jpg") no-repeat top right;
  background-size: cover;
}

main.recruit.people.interview06 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people06.jpg") no-repeat top right;
  background-size: cover;
}

main.recruit.people.interview07 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people07.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people.interview08 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people08.jpg") no-repeat top right;
  background-size: cover;
}

main.recruit.people.interview09 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people09.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people.interview10 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people10.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people.interview11 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people11.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people.interview12 .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis_people12.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people .sub_vis_wrap {
  background: url("../images/recruit/people/sub_vis.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.people .sub_vis_wrap .sub_vis .sub_title span:before,
main.recruit.people .sub_vis_wrap .sub_vis .sub_title span:after {
  width: 42%;
}

main.recruit.people .container-fluid.rec_people {
  background: none;
}

main.recruit.people .container-fluid.rec_people section.content.member {
  padding-bottom: 0;
}

main.recruit.people section.content.jobinfo {
  margin-top: 40px;
}

main.recruit.workplace .sub_vis_wrap {
  background: url("../images/recruit/workplace/sub_vis.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.workplace .sub_vis_wrap .sub_vis .sub_title span:before,
main.recruit.workplace .sub_vis_wrap .sub_vis .sub_title span:after {
  width: 106%;
}

main.recruit.workplace section.content .text {
  text-align: center;
  line-height: 1.8;
  margin-bottom: 3%;
}

main.recruit.entry .sub_vis_wrap {
  background: url("../images/recruit/entry/sub_vis.jpg") no-repeat top center;
  background-size: cover;
  margin-bottom: 50px;
}

main.recruit.entry .sub_vis_wrap .sub_vis .sub_title span:before,
main.recruit.entry .sub_vis_wrap .sub_vis .sub_title span:after {
  width: 60%;
}

main.recruit.entry section.content .text {
  text-align: center;
  margin-bottom: 30px;
}

main.recruit.entry.contact .sub_vis_wrap {
  background: url("../images/recruit/entry/sub_vis_contact.jpg") no-repeat top center;
  background-size: cover;
}

main.recruit.entry.contact .sub_vis_wrap .sub_vis .sub_title span:before,
main.recruit.entry.contact .sub_vis_wrap .sub_vis .sub_title span:after {
  width: 20%;
}

main.recruit h2.title {
  overflow: hidden;
  text-align: center;
  font-size: 44px;
  padding-bottom: 12px;
  line-height: 1.2;
  background: none;
}

main.recruit .sub_title span {
  display: inline-block;
  padding: 0 1em;
  position: relative;
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
  font-size: 12px;
}

main.recruit .sub_title span:before,
main.recruit .sub_title span:after {
  border-top: 1px solid #939393;
  content: "";
  position: absolute;
  top: 50%;
  width: 60%;
}

main.recruit .blog_title span:before,
main.recruit .blog_title span:after {
  width: 38%;
}

main.recruit .sub_title span:before {
  right: 100%;
}

main.recruit .sub_title span:after {
  left: 100%;
}

main.recruit h3.title {
  text-align: center;
  font-size: 22px;
  padding-left: 0;
  border-left: none;
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
}

main.recruit h3.title span {
  display: inline-block;
  padding: 0 1em;
  position: relative;
}

main.recruit h3.title span:before,
main.recruit h3.title span:after {
  border-top: 1px solid #000;
  content: "";
  position: absolute;
  top: 50%;
  width: 15%;
}

main.recruit h3.title span:before {
  right: 96%;
}

main.recruit h3.title span:after {
  left: 96%;
}

main.recruit .rec_workplace {
  color: #fff;
}

main.recruit .rec_workplace h2.title {
  margin-top: 40px;
  color: #fff;
  margin-bottom: 20px;
}

main.recruit .rec_workplace .sub_title span:before,
main.recruit .rec_workplace .sub_title span:after {
  border-top: 1px solid #fff;
  width: 114%;
}

main.recruit .rec_workplace .text {
  text-align: center;
}

main.recruit .rec_workplace ul.dev_list {
  background: #fff;
  overflow: hidden;
  padding: 44px 22px;
}

main.recruit .rec_workplace ul.dev_list li {
  width: 16.6%;
  text-align: center;
  float: left;
}

main.recruit .rec_workplace .dev_text {
  text-align: center;
  margin-top: 70px;
  margin-bottom: 10px;
}

main.recruit .rec_workplace .title_text {
  font-size: 22px;
  margin-bottom: 10px;
}

main.recruit .rec_workplace section.content {
  background: transparent;
  margin-bottom: 10px;
}

main.recruit .rec_workplace section.content .center_btn {
  margin-top: 30px;
}

main.recruit .rec_blog {
  background: url(../images/recruit/top/member_bg.jpg) top center repeat;
}

main.recruit .rec_people h2.title {
  margin-bottom: 15px;
}

main.recruit .rec_people section.content.member {
  padding-top: 0px;
}

main.recruit .rec_people section.content.member .text {
  text-align: center;
  margin-bottom: 35px;
}

main.recruit .rec_people section.content.member .left_content,
main.recruit .rec_people section.content.member .right_content {
  width: 50%;
  float: left;
}

main.recruit .rec_people section.content.member ul.list {
  width: 100%;
  margin-bottom: 0;
  overflow: hidden;
}

main.recruit .rec_people section.content.member ul.list a.mask {
  margin-bottom: 20px;
}

main.recruit .rec_people section.content.member ul.list li {
  width: 47.1%;
  margin-right: 0;
}

main.recruit .rec_people section.content.member ul.list li.right_sp {
  margin-right: 2.8%;
}

main.recruit .rec_people section.content.member ul.list li .job {
  background: #249302;
  font-size: 11px;
  color: #fff;
  padding: 5px 8px;
  position: absolute;
  top: 0px;
  left: 0px;
}

main.recruit .rec_people section.content.member ul.list li.long {
  width: 47.6%;
}

main.recruit .rec_people section.content.member ul.list li.wide {
  width: 97.4%;
  margin-right: 0;
}

main.recruit .rec_message h2.title {
  margin-top: 55px;
  margin-bottom: 50px;
}

main.recruit .rec_message h3.title {
  border-left: none;
  padding-left: 0;
  font-size: 28px;
}

main.recruit .rec_message h3.top_message_title {
  text-align: left;
  color: #000;
}

main.recruit .rec_message p {
  color: #000;
}

main.recruit .rec_message a.btn {
  margin: 0;
}

main.recruit .rec_message .rec_message_text {
  width: 48%;
  margin-bottom: 4%;
}

main.recruit .rec_message .rec_message_text .text {
  margin-bottom: 4%;
}

main.recruit .rec_message .topic {
  overflow: hidden;
}

main.recruit .rec_message .topic dt {
  font-size: 18px;
  font-weight: normal;
  margin-bottom: 10px;
}

main.recruit .rec_message .topic dd {
  font-size: 13px;
}

main.recruit .rec_message .topic .topic01_img,
main.recruit .rec_message .topic .topic02_img {
  max-width: 100%;
  height: auto;
}

main.recruit .rec_message .topic .topic01 .on,
main.recruit .rec_message .topic .topic02 .on,
main.recruit .rec_message .topic .topic01.topic01_on .off,
main.recruit .rec_message .topic .topic02.topic02_on .off {
  display: none;
}

main.recruit .rec_message .topic .topic01 .off,
main.recruit .rec_message .topic .topic02 .off,
main.recruit .rec_message .topic .topic01.topic01_on .on,
main.recruit .rec_message .topic .topic02.topic02_on .on {
  display: block;
}

main.recruit .rec_message .topic .topic01 dl.off {
  width: 230px;
  position: absolute;
  top: 35%;
  left: 50%;
}

main.recruit .rec_message .topic .topic02 dl.off {
  width: 230px;
  position: absolute;
  top: 35%;
  left: 4%;
}

main.recruit .rec_message .topic .topic01 dl.on {
  width: 250px;
  position: absolute;
  top: 24%;
  left: 4%;
}

main.recruit .rec_message .topic .topic02 dl.on {
  width: 190px;
  position: absolute;
  top: 24%;
  left: 50%;
}

main.recruit .rec_message .topic .topic01 {
  float: left;
  position: relative;
  width: 47%;
  background: #fff;
}

main.recruit .rec_message .topic .topic01 a {
  display: block;
}

main.recruit .rec_message .topic .topic02 {
  float: right;
  position: relative;
  width: 47%;
  background: #fff;
}

main.recruit .rec_message .topic .topic02 a {
  display: block;
}

main.recruit .rec_people h2.title .sub_title span:before,
main.recruit .rec_people h2.title .sub_title span:after {
  width: 45%;
}

main.recruit .rec_people section.content {
  margin-top: 35px;
}

main.recruit.top .sub_vis_wrap {
  background: url(../images/recruit/top/sub_vis.jpg) top center/cover no-repeat;
}

main.recruit.top .sub_vis_wrap .sub_vis {
  max-width: 1400px;
  margin: 0 auto;
  height: 550px;
}

main.recruit.top .sub_vis_wrap .sub_vis h2.title {
  padding-top: 16%;
  max-width: 750px;
  margin: 0 auto;
}

main.recruit.top .sub_vis_wrap .sub_vis h2.title img {
  max-width: 100%;
  height: auto;
}

main.recruit.top .rec_message,
main.recruit.message_top .rec_message {
  background: url(../images/recruit/top/topic_bg.jpg) top center/cover no-repeat;
  height: 840px;
}

main.recruit.top .rec_message section.content {
  background-color: transparent;
}

main.recruit.top .rec_workplace {
  background: url(../images/recruit/top/office_bg02.jpg) top center/cover no-repeat;
  height: 1127px;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 600px) {
  main.recruit.top .rec_workplace {
    padding-bottom: 0px;
  }
}

main.service .sub_vis_wrap {
  background: url(../images/service/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.contact .sub_vis_wrap {
  background: url(../images/contact/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.privacy .sub_vis_wrap {
  background: url(../images/privacy/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.sitemap .sub_vis_wrap {
  background: url(../images/sitemap/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.press .sub_vis_wrap {
  background: url(../images/press/sub_vis.jpg) top right no-repeat #fbfbfb;
}
main.privacy li{
  margin-bottom: 5px;
}
main.press .nav-tabs.sp {
  margin-top: 25px;
  border-bottom: none;
}

main.press .nav-tabs.sp li {
  min-width: 118px;
}

main.press .nav-tabs.sp li.active {
  background: url(../images/common/triangle_b.jpg) bottom center no-repeat;
  padding-bottom: 8px;
}

main.press .nav-tabs.sp li.active a:hover,
main.press .nav-tabs.sp li.active a:focus {
  padding-bottom: 11px;
  background: #4c9d2a;
  border-bottom: none;
}

main.press .nav-tabs.sp li a:hover,
main.press .nav-tabs.sp li a:focus {
  background: url(../images/common/triangle_b.jpg) bottom center no-repeat #4c9d2a;
  padding-bottom: 18px;
  border-bottom: none;
}

main.press .nav-tabs li {
  max-width: 154px;
  width: calc(100% / 5 - 0.8%);
}

main.press .nav-tabs li:not(:last-child) {
  margin-right: 1%;
}

main.press .library dl dt {
  width: 12%;
}

main.press .library dl dd.label,
main.ir dl dd.label
 {
  width: 11%;
  padding: 5px 0;
  display: block;
  font-weight: normal;
  font-size: 11px;
}

main.press .library dl dd.txt {
  width: 74%;
}

main.ir .sub_vis_wrap {
  background: url(../images/ir/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.company.recruit.service .sub_vis_wrap .sub_vis .sub_title span::before,
main.company.recruit.service .sub_vis_wrap .sub_vis .sub_title span::after {
  width: 140%;
}

main.company.recruit.service section.content.member.service ul.work_list {
  margin-bottom: 20px;
}

main.company.recruit.message .sub_vis_wrap .sub_vis .sub_title span::before,
main.company.recruit.message .sub_vis_wrap .sub_vis .sub_title span::after {
  width: 140%;
}

main.company.recruit.message .breadcrumb.rec {
  margin-bottom: 0;
}

main.company.recruit.message .container-fluid.statement {
  background: url(../images/recruit/company/statement_bg.jpg) bottom center no-repeat;
  background-size: cover;
}

main.company.recruit.message .container-fluid.statement section.content {
  background: transparent;
  margin-bottom: 3%;
}

main.company.recruit.message .container-fluid.statement section.content .statement_text {
  padding-top: 7.5%;
}

main.message .container-fluid section.content .statement_text01 {
  margin: 0 230px 80px;
}

main.message .container-fluid section.content .statement_text02 {
  margin: 0 230px 80px;
}

main.message .container-fluid section.content .cred {
  margin: 0 330px 30px;
}

main.company.recruit.message .container-fluid.statement section.content .statement_text ul.list {
  margin-bottom: 0;
}

main.company.recruit .sub_vis_wrap {
  background: url(../images/recruit/company/sub_vis.jpg) top center no-repeat;
  background-size: cover;
}

main.company.recruit .sub_vis_wrap .sub_vis .sub_title span::before,
main.company.recruit .sub_vis_wrap .sub_vis .sub_title span::after {
  width: 34%;
}


main.recruit .sub_vis_wrap .sub_vis .sub_title_companydoctor span::before,
main.recruit .sub_vis_wrap .sub_vis .sub_title_companydoctor span::after {
  width: 25%!important;
}

main.company.recruit .sub_vis_wrap .sub_vis .sub_title_companyprofile span:before,
main.company.recruit .sub_vis_wrap .sub_vis .sub_title_companyprofile span:after {
  width: 70%!important;
}

main.company.talk .sub_vis {
  height: 400px;
}

main.company.talk .sub_vis h2.title {
  text-align: center;
  background-position: bottom center;
  padding-top: 110px;
  font-size: 46px;
  margin-bottom: 25px;
}

main.company.talk .sub_vis h2.title span {
  margin-top: 0px;
  padding-bottom: 15px;
  font-size: 11px;
}

main.company.talk .sub_vis .sub_title {
  overflow: hidden;
  width: 280px;
  margin: 0 auto;
  font-size: 26px;
  color: #000;
}

main.company.talk .sub_vis .sub_title span {
  display: block;
  font-size: 13px;
}

main.company.talk .sub_vis .sub_title .left {
  width: 33%;
  float: left;
  margin-right: 33%;
}

main.company.talk .sub_vis .sub_title .right {
  float: left;
  width: 33%;
}

main.company.talk01 .sub_vis_wrap {
  background: url(../images/company/sub_vis_talk01.jpg) top center no-repeat;
  background-size: cover;
}

main.company.talk01 .sub_vis_wrap .sub_vis {
  background: url(../images/company/sub_vis_talk_title.png) center center no-repeat;
}

main.company.talk02 .sub_vis_wrap {
  background: url(../images/company/sub_vis_talk02.jpg) top center no-repeat;
  background-size: cover;
}

main.company.talk02 .sub_vis_wrap .sub_vis {
  background: url(../images/company/sub_vis_talk_title.png) center center no-repeat;
  margin-left: 736px;
}

main.company.talk02 .sub_vis_wrap .sub_vis .sub_title {
  overflow: hidden;
  width: 320px;
  margin: 0 auto;
  font-size: 25px;
  color: #000;
}

main.company.talk02 .sub_vis_wrap .sub_vis .sub_title span {
  display: block;
  font-size: 13px;
}

main.company.talk02 .sub_vis_wrap .sub_vis .sub_title .left {
  width: 45%;
  float: left;
  margin-right: 15%;
}

main.company.talk02 .sub_vis_wrap .sub_vis .sub_title .right {
  float: left;
  width: 33%;
}

main.company.talk03 .talk03_title {
  width: 1100px;
  margin: 0 auto;
}

main.company.talk03 .talk03_title h2.title {
  text-align: left;
  padding-left: 140px;
  background-position: 160px bottom;
}

main.company.talk03 .talk03_title h2.title {
  text-align: left;
  padding-left: 140px;
  background-position: 160px bottom;
}

main.company.talk03 .talk03_title h2.title span {
  padding-left: 15px;
}

main.company.talk03 .talk03_title div.sub_title {
  text-align: left;
  margin: 0 0 0 40px;
}

main.company.talk03 .talk03_title div.sub_title .left {
  margin-right: 24%;
  width: 42%;
}

main.company.talk03 .sub_vis_wrap {
  background: url(../images/company/sub_vis_talk03.jpg) top center no-repeat;
  background-size: cover;
}

main.company.talk03 .sub_vis_wrap .sub_vis {
  background: url(../images/company/sub_vis_talk_title.png) center left no-repeat;
}

main.company .sub_vis_wrap {
  background: url(../images/company/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.message .sub_vis_wrap {
  background: url(../images/message/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.message .sub_img {
  position: relative;
  margin-bottom: 50px;
}

main.message .sub_img img {
  max-width: 100%;
  height: auto;
}

main.message .sub_img h3.title {
  position: absolute;
  top: 46%;
  left: 50%;
  border-left: none;
  font-size: 28px;
  font-weight: normal;
}

main.message .sub_img h3.title span {
  font-size: 14px;
  display: block;
  margin-top: 10px;
}

main.message section.content p {
  margin-bottom: 4%;
  line-height: 1.8;
}

main.message section.content .statement_text {
  text-align: center;
  padding-top: 3%;
  line-height: 2;
}

main.message section.content .statement_text p {
  margin-bottom: 5%;
}

main.message section.content .statement_text img {
  margin-bottom: 7%;
}

main.message section.content .statement_text .top_border {
  border-top: 1px solid #d4d5d3;
  padding-top: 7%;
  padding-bottom: 2%;
}

main.message section.content .statement_text .top_border.no_border {
  padding-top: 7%;
  border: none;
}

main.message section.content .statement_text ul.list {
  overflow: hidden;
  padding-bottom: 3%;
  text-align: center;
}

main.message section.content .statement_text ul.list li {
  float: left;
  width: 50%;
}

main.message section.content .statement_text ul.list li:last-child {
  border-left: 1px solid #d4d5d3;
  padding: 0 10px;
}

main .sub_vis_wrap .sub_vis {
  max-width: 1100px;
  margin: 0 auto;
  height: 220px;
}

main .sub_vis_wrap .sub_vis h2.title {
  padding-top: 35px;
}

main .sub_vis_wrap .sub_vis h2.title.title_en {
  padding-top: 60px;
}

main .recruit_news {
  width: 100%;
  background: #4c9d2a;
}

main .recruit_news dl {
  max-width: 1100px;
  margin: 0 auto;
  padding: 18px 0;
}

main .recruit_news dl dt, main .recruit_news dl dd {
  font-weight: normal;
  font-size: 15px;
  color: #fff;
}

main .recruit_news dl dd a {
  color: #fff;
  position: relative;
  display: inline-block;
  transition: .3s;
  text-decoration: none;
}

main .recruit_news dl dd a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: .3s;
}

main .recruit_news dl dd a:hover::after {
  width: 100%;
}

main .recruit_news dl dt {
  padding-right: 5px;
  float: left;
  width: 6em;
  clear: both;
}

main .recruit_news dl dd {
  margin-left: 6em;
}

main .contact .policy_text {
  margin: 10px auto 6%;
  height: 140px;
  overflow-y: auto;
  padding: 10px 2%;
  border: 1px solid #ccc;
}

main .contact .policy_text p {
  margin-bottom: 2%;
}

main .contact table.contact {
  margin: 4% auto 5%;
  width: 100%;
}

main .contact table.contact th, main .contact table.contact td {
  padding: 1.5% 2%;
  border: 1px solid #ccc;
}

main .contact table.contact th {
  width: 24%;
  font-weight: normal;
  background: #f6f6f6;
}

main .contact table.contact th .req {
  font-size: 11px;
  float: right;
  padding: 0 5px;
}

main .contact table.contact td {
  width: 76%;
  font-size: 13px;
}

main .contact table.contact td .form-group.full_size {
  display: block;
}

main .contact table.contact td .form-group.full_size textarea {
  width: 100%;
}

main .contact table.contact td .form-group select.hope {
  width: 116%;
}

main .contact table.contact td .form-group input {
  width: 100%;
}

main .contact table.contact td .form-group input.xs_size {
  width: 6%;
}

main .contact table.contact td .form-group input.s_size {
  width: 10%;
}

main .contact table.contact td .form-group input.m_size {
  width: 30%;
}

main .contact table.contact td .form-group input.l_size {
  width: 50%;
}

main ul.img_l_list {
  overflow: hidden;
}

main ul.img_l_list li {
  width: 30%;
  margin-right: 5%;
  float: left;
  font-size: 15px;
}

main ul.img_l_list li img {
  margin-bottom: 20px;
  max-width: 332px;
  width: 100%;
}

main ul.img_l_list li .sub_title {
  font-size: 18px;
  margin-bottom: 10px;
}

main ul.img_l_list li:nth-child(3n) {
  margin-right: 0;
}

main ul.img_list {
  overflow: hidden;
}

main ul.img_list li {
  width: 49%;
  float: left;
  overflow: hidden;
  margin-bottom: 50px;
  margin-right: 2%;
}

main ul.img_list li img {
  float: left;
  width: 180px;
  height: 180px;
  margin-right: 20px;
}

main ul.img_list li .text {
  font-size: 15px;
  padding-right: 10px;
}

main ul.img_list li .text .sub_title {
  font-size: 14px;
  margin-bottom: 5px;
}

main ul.img_list li .text h4.title {
  margin-bottom: 5px;
  color: #1c8c42;
  font-size: 18px;
  font-weight: normal;
}

main ul.img_list li .text a:hover {
  color: #4c9d2a;
}

main ul.img_list li .text a:hover, main .company_list a.text_link:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main ul.img_list li .text a::after {
  background-color: #4c9d2a;;
}

main ul.img_list li:nth-child(2n) {
  margin-right: 0;
}


main div.box p#gMap {
  height: 300px;
  margin: 0 0 16px;
  width: 100%;
}

main .map_wrap #gmap {
  height: 300px;
  width: 100%;
}

main .company_list {
  overflow: hidden;
}

main .company_list.profile {
  margin-bottom: 8%;
}

main .company_list.profile dl {
  overflow: hidden;
  background: url(../images/common/line.png) bottom left repeat-x;
  padding: 30px 0 25px 0px;
}

main .company_list.profile dl dt {
  width: 16%;
  float: left;
  font-weight: normal;
}

main .company_list.profile dl dd {
  width: 84%;
  float: left;
}

main .company_list.profile dl dd p {
  margin-bottom: 3px;
}

main .company_list.profile dl dd p span {
  min-width: 150px;
  display: block;
  float: left;
}

main .company_list.profile dl.management dd p span {
  min-width: 180px;
}

main .company_list.profile dl dd ul.transaction01 {
  width: 50%;
  float: left;
}

main .company_list.profile dl dd ul.transaction01 li,
main .company_list.profile dl dd ul.transaction02 li {
  width: 100%;
  float: none;
  padding-bottom: 8px;
}

main .company_list.profile dl dd ul.transaction02 {
  width: 50%;
  float: right;
}

main .company_list.profile dl dd p.transactiontxt {
  clear: both;
  text-align: right;
  padding-top: 10px;
}

main .company_list.profile.mem {
  margin-bottom: 3%;
}

main .company_list.profile.mem dl {
  padding-bottom: 30px;
}

main .company_list.profile.mem dl.no_line {
  background-image: none;
  padding-bottom: 60px;
}

main .company_list.profile.mem dl dt {
  width: 26%;
  padding-right: 20px;
}

main .company_list.profile.mem dl dt img {
  max-width: 100%;
  height: auto;
}

main .company_list.profile.mem dl dd {
  width: 74%;
  line-height: 1.7;
}

main .company_list.profile.mem dl dd .job {
  font-size: 13px;
}

main .company_list.profile.mem dl dd .name {
  font-size: 24px;
  margin-bottom: 10px;
}

main .company_list.profile.mem dl dd .name span {
  font-size: 15px;
  padding-left: 20px;
}

main .company_list a.text_link {
  color: #4c9d2a;
}

main a.text_link::after {
  background-color: #4c9d2a;
}

main a.text_link:hover, main a.text_link:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main a.text_link:hover, main a.text_link:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main .company_list li {
  width: 22.5%;
  margin-right: 3.3%;
  float: left;
}

main .company_list li img {
  margin-bottom: 14px;
  max-width: 100%;
  height: auto;
}

main .company_list li .text {
  margin-top: 10px;
  font-size: 14px;
}

main .company_list li p.title {
  margin: 0;
  padding-bottom: 0;
}

main .company_list li p.title span {
  background: url(../images/common/icon_next_grn.png) right center no-repeat;
  padding-right: 30px;
  background-size: 16px;
}

main .company_list li:nth-child(4n) {
  margin-right: 0;
}

main .sub_nav {
  overflow: hidden;
  width: 100%;
}

main .sub_nav.press {
  margin-top: 30px;
}

main .sub_nav.press.blog a.pre {
  background: url(../images/common/icon_pre_grn.png) 5% center no-repeat;
}

main .sub_nav.press.blog a.next {
  background: url(../images/common/icon_next_grn.png) 95% center no-repeat;
  background-size: 16px;
}

main .sub_nav.press.blog a.no_icon {
  background-image: none;
}

main .sub_nav.press.blog a.pre:hover, main .sub_nav.press.blog a.pre:active,
main .sub_nav.press.blog a.next:hover, main .sub_nav.press.blog a.next:active {
  background-color: #f6f6f6;
}

main .sub_nav.press li {
  width: calc(100% / 4);
}

main .sub_nav.company li {
  width: 25%;
}

main .sub_nav li:first-child {
  border-left: 1px solid #dbdbdb;
}

main .sub_nav li {
  width: 50%;
  float: left;
  border-right: 1px solid #dbdbdb;
  text-align: center;
}

main .sub_nav li a {
  display: block;
  color: #4c9d2a;
  background: url(../images/common/icon_next_grn.png) 95% center no-repeat;
  background-size: 16px;
  padding: 18px 28px 18px 10px;
}

main .sub_nav li a:hover, main .sub_nav li a:active {
  background-color: #f6f6f6;
  -webkit-transition: background-color 0.8s ease;
  -moz-transition: background-color 0.8s ease;
  -o-transition: background-color 0.8s ease;
  transition: background-color 0.8s ease;
}

main .stock_table {
  margin-bottom: 30px;
}

main .stock_table .table th,
main .stock_table .table td {
  background: url(../images/common/line.png) bottom left repeat-x;
  padding: 30px 15px 30px 25px;
  text-align: left;
  border: none;
}

main .stock_table .table th {
  font-weight: normal;
  width: 28%;
}

main .stock_table .table td a:hover,
main .stock_table .table td a:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main .stock_table .table td a::after {
  background-color: #4c9d2a;
}

main ul.financial_list {
  overflow: hidden;
}

main ul.financial_list li {
  width: 50%;
  text-align: center;
  margin-bottom: 30px;
  float: left;
}

main ul.financial_list li .XJSImage_Table {
  margin: 0 auto;
  text-align: center;
}

main ul.financial_list li .XJSImage_Title {
  background: transparent none repeat scroll 0 0;
  font-weight: bold;
  text-align: center;
}

main ul.financial_list li .XJSImage_UnitL {
  color: #666;
  font-size: 75%;
  text-align: left;
  padding: 10px 0;
}

main ul.financial_list li .xj_chart_table_caption {
  background: #f8f8f8 none repeat scroll 0 0;
  font-size: 86%;
  margin: 0 auto;
  width: 90%;
}

main ul.financial_list li .xj_chart_table {
  font-size: 75%;
  margin: 0 auto 1.6em;
  width: 90%;
}

main ul.financial_list li .xj_chart_table th, main ul.financial_list li .xj_chart_table td {
  border: 1px solid #f8f8f8;
  padding: 2px 3px;
  text-align: center;
}

main .message_img {
  float: right;
  margin-left: 35px;
  margin-bottom: 20px;
}

main .message_img img {
  margin-bottom: 10px;
}

main .message_img p {
  font-size: 13px;
}

main .message_img p.name {
  font-size: 18px;
}

main .library.calender dt {
  width: 28%;
}

main .library dl {
  overflow: hidden;
  padding: 30px 0 25px 30px;
  background: url("../images/common/line.png") repeat-x left bottom;
}

main .library dl dt {
  float: left;
  width: 16%;
  font-weight: normal;
}

main .library dl dd.calender_text {
  width: 72%;
  float: left;
}

main .library dl dd.label {
  background: #eee;
  color: #2f2e2e;
  font-size: 12px;
  float: left;
}

main .library dl dd.pdf {
  float: right;
  width: 20%;
}

main .library dl dd.pdf img {
  margin-right: 5px;
}

main .library dl dd.txt {
  float: left;
  width: 50%;
  padding-left: 4%;
}

main .library dl dd.txt a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #4c9d2a;
}

main .library dl dd.txt a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #4c9d2a;
  transition: .3s;
}

main .library dl dd.txt a:hover::after {
  width: 100%;
}

main .library dl dd.txt a:hover, main .library dl dd.txt a:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main .main_content {
  max-width: 767px;
  width: 100%;
  float: left;
  overflow: hidden;
}

main .main_content.message {
  font-size: 16px;
  line-height: 1.8;
}

main aside {
  float: right;
  width: 100%;
  max-width: 280px;
}

main aside.side_blog {
  font-size: 14px;
}

main aside.side_blog h3.title {
  padding-left: 0;
  border-left: none;
  border-bottom: 1px solid #c1bfbf;
  color: #000;
  font-size: 16px;
  padding-bottom: 10px;
  margin-bottom: 0;
}

main aside.side_blog .list {
  padding: 20px;
  background: #f7f7f7;
  margin-bottom: 20px;
}

main aside.side_blog .list ul.list {
  padding: 0px;
  margin-bottom: 0;
}

main aside.side_blog .list ul.list li {
  background: url("../images/common/line.png") repeat-x left bottom;
  padding-bottom: 1px;
}

main aside.side_blog .list ul.list li a {
  background: url("../images/common/icon_next.png") no-repeat 98% center;
  background-size: 10px 14px;
  padding: 20px 10% 20px 10px;
  display: block;
}

main aside.side_blog .list ul.list li a:hover, main aside.side_blog .list ul.list li a:focus {
  background-color: #EBEBEB;
  text-decoration: none;
  opacity: 1;
  transition: all 0.3s ease 0s;
}

main aside.side_blog .list ul.list.sp li:first-child{
  display: none;
}

main aside.side_blog .search {
  background: #f7f7f7;
  padding: 20px;
  margin-bottom: 20px;
  font-size: 16px;
  overflow: hidden;
}

main aside.side_blog .search .form-group {
  width: 100%;
  margin-bottom: 0;
  position: relative;
}

main aside.side_blog .search .form-group input.form-control {
  width: 70%;
  border: none;
  border-radius: 0;
  border: 1px solid #ccc;
  font-size: 12px;
  box-shadow: none;
  padding: 6px 0;
}

main aside.side_blog .search .form-group button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 0 5%;
  color: #fff;
  background: #4c9d2a;
  border: none;
  line-height: 34px;
}

main aside.side_blog .profile {
  margin-bottom: 20px;
  background: #f7f7f7;
  padding: 30px 20px 20px;
}

main aside.side_blog .profile img {
  margin: 15px auto 10px;
  width: 100%;
  height: auto;
}

main aside.side_ir {
  background: #F7F7F7;
  padding: 30px 15px 15px;
}

main aside.side_ir h3.title {
  font-size: 18px;
  border-bottom: 1px solid #c1bfbf;
  padding-bottom: 10px;
  border-left: none;
  padding-left: 0;
  margin-bottom: 0;
}

main aside.side_ir ul.list li {
  background: url("../images/common/line.png") repeat-x left bottom;
  padding-bottom: 1px;
}

main aside.side_ir ul.list li a {
  background: url("../images/common/icon_next.png") no-repeat 96% center;
  background-size: 10px 14px;
  padding: 20px 10% 20px 10px;
  display: block;
}

main aside.side_ir ul.list li a:hover, main aside.side_ir ul.list li a:active {
  background-color: #EBEBEB;
  text-decoration: none;
  opacity: 1;
  transition: all 0.3s ease 0s;
}

main aside.side_ir ul.list li.sp {
  padding-bottom: 10px;
}

main aside.side_ir ul.list li.sp a {
  background-image: none;
  padding-bottom: 15px;
}

main aside.side_ir ul.list li.sp a.child {
  background: url("../images/common/side_link_sp.jpg") no-repeat left center;
  padding: 6px 0 6px 16px;
}

main aside.side_ir ul.list li.sp a.child:hover, main aside.side_ir ul.list li.sp a.child:active {
  background-color: #EBEBEB;
}

main ul.year {
  padding: 30px 0;
}

main ul.year li {
  display: inline;
  padding: 0 20px;
  border-left: 1px solid #b5b4b4;
}

main ul.year li.active a,
main ul.year li a.active {
  color: #4c9d2a;
  font-weight: bold;
  text-decoration: none;
}

main ul.year li:last-child {
  border-right: 1px solid #b5b4b4;
}

main ul.nav-tabs {
  border-bottom: 2px solid #4c9d2a;
  width: 100%;
}

main ul.nav-tabs.news_top li {
  width: 19.2%;
  margin-right: 1%;
}

main ul.nav-tabs.news_top li a {
  padding-left: 0;
  padding-right: 0;
}

main ul.nav-tabs.news_top li:last-child {
  margin-right: 0;
}

main ul.nav-tabs li {
  text-align: center;
  border-bottom: 0px;
}

main ul.nav-tabs li.active > a, main ul.nav-tabs li.active > a:focus, main ul.nav-tabs li.active > a:hover {
  background: #4c9d2a;
  color: #fff;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #4c9d2a;
}

main ul.nav-tabs li a {
  width: 100%;
  background: #f4f2f2;
  border-radius: 0;
}

main ul.nav-tabs li a:focus,
main ul.nav-tabs li a:hover {
  background: #4c9d2a;
  color: #fff;
  opacity: 1;
  border-bottom: 1px solid #4c9d2a;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

main .icon_link {
  color: #4c9d2a;
  margin-top: 6px;
}

main .icon_link.target span {
  background: url(../images/common/icon_target_grn.png) right center no-repeat;
  background-size: 11px;
  padding-right: 18px;
}

main .icon_link span {
  background: url(../images/common/icon_next_grn.png) 99.5% center no-repeat;
  background-size: 16px;
  padding: 3px 26px 3px 0;
}

main .icon_open {
  color: #4c9d2a;
  margin-top: 6px;
}

main .icon_open span {
  padding-right: 30px;
  background: url(../images/common/icon_open_grn.png) right center no-repeat;
  background-size: 16px;
}

main .icon_close {
  color: #4c9d2a;
  margin-top: 6px;
}

main .icon_close span {
  padding-right: 30px;
  background: url(../images/common/icon_close_grn.png) right center no-repeat;
  background-size: 16px;
}

main ul.work_list {
  padding-bottom: 30px;
}

main ul.work_list li {
  margin-bottom: 30px;
  background: #fff;
  overflow: hidden;
}

main ul.work_list li .work_img {
  float: left;
  width: 50%;
  max-width: 552px;
}

main ul.work_list li .work_logo01 {
  width: 167px;
}

main ul.work_list li .work_logo02 {
  width: 255px;
}

main ul.work_list li .work_logo03 {
  width: 160px;
}

main ul.work_list li .work_logo04 {
  width: 180px;
}

main ul.work_list li .text {
  float: left;
  width: 50%;
  padding: 3.5% 4% 0;
}

main ul.work_list li .text01 {
  padding-top: 4%;
}

main ul.work_list li .text04 {
  padding-top: 3%;
}

main ul.work_list li .text05 {
  padding-top: 2%;
}

main ul.work_list li .text img {
  margin-bottom: 20px;
}

main ul.work_list a.text_link::after {
  background-color: #4c9d2a;
}

main ul.work_list a.text_link:hover, main .company_list a.text_link:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main ul.work_list a.text_link span {
  min-width: 100px;
  display: inline-block;
}

main .container-fluid.company_top {
  background: url(../images/recruit/company/company_bg.jpg) top center no-repeat;
  background-size: cover;
  height: 600px;
  margin-bottom: 80px;
}

main .container-fluid.company_top section.content.company_top_text {
  background-color: rgba(255, 255, 255, 0.9);
  text-align: center;
  padding: 70px 0 30px;
  line-height: 1.8;
  margin: 60px auto 0;
}

main .container-fluid.company_top section.content.company_top_text p {
  margin-bottom: 2%;
}
main .container-fluid.company_top section.content.company_top_text .company_top_title {
  width: 560px;
  margin: 0 auto 50px;
}
main .container-fluid.news {
  background: #f2f2f2;
  padding: 0;
}

main .container-fluid.message {
  background: #f2f2f2 url(../images/top/mes.jpg) no-repeat;
  background-position: right bottom;
  background-size: cover;
  height: 705px;
}

main .container-fluid.message.recruit {
  background: url(../images/top/rec_bg.jpg) top center no-repeat;
  background-size: 100%;
  height: 536px;
  /*margin-bottom: 140px;*/
  position: relative;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  -o-background-size: cover;
}

main .container-fluid.message.recruit .filter {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 50%;
  background-color: rgba(255, 255, 255, 0.8);
  height: 536px;
}

main .container-fluid.message.recruit section.message_content {
  position: relative;
}

main .container-fluid.message.recruit section.message_content h2.title {
  position: relative;
}

main .container-fluid.message.recruit section.message_content h2.title .want {
  position: absolute;
  top: 20%;
  left: 8%;
}

main .container-fluid.message.recruit section.message_content .text {
  max-width: 42%;
}

main .container-fluid.message.mission {
  background: #fff url(../images/top/mis_bg.jpg) top center no-repeat;
  background-size: cover;
  height: 540px;
}

main .container-fluid.message.mission section.message_content .mis_title {
  width: 600px;
}

main .container-fluid.message.mission section.message_content {
  position: relative;
}

main .container-fluid.message.mission section.message_content .top_mission_text {
  position: relative;
  z-index: 10;
}

main .container-fluid.message.mission section.message_content .mis_top_img {
  width: 43%;
  position: absolute;
  top: 40px;
  right: 0;
  z-index: 1;
}

main section.faq li {
  overflow: hidden;
  position: relative;;
}

main section.faq span.faq {
  font-family: "futura-pt";
  font-weight: bold;
  color: #040404;
  font-size: 18px;
  position: absolute;
  top: -2px;
  left: 0;
}

main section.faq .faq_list li {
  padding-left: 30px;
}

main section.faq .text {
  display: inline;
}

main section.faq .faqbox {
  background: url(../images/common/line.png) bottom left repeat-x;
  margin-bottom: 30px;
  padding-bottom: 30px;
}

main section.faq .faqbox h3 {
  color: #4c9d2a;
  font-weight: bold;
  padding-left: 30px;
  margin-bottom: 20px;
  font-size: 18px;
  position: relative;
}

main section.faq .faqbox h3 span.faq {
  position: absolute;
  top: 0;
  left: 0;
}

main section.faq .faqbox h3 .faq_title {
  padding-left: 30px;
}

main section.faq .faqbox p.answer {
  position: relative;
  margin-left: 30px;
}

main section.faq .faqbox p.answer span.faq {
  position: absolute;
  top: -4px;
  left: -30px;
}

main section.faq a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #4c9d2a;
}

main section.faq a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #4c9d2a;
  transition: .3s;
}

main section.faq a:hover::after {
  width: 100%;
}

main section.faq a:hover, main section.faq a:active {
  text-decoration: none;
  color: #4c9d2a;
  opacity: 1;
}

main section.faq .faq_list {
  border: 5px solid #f2f2f2;
  padding: 50px 50px 20px;
  margin-bottom: 30px;
}

main section.faq .faq_list li {
  margin-bottom: 30px;
}

main section.box {
  margin-bottom: 50px;
  overflow: hidden;
  line-height: 1.7;
}

main section.box .governance_table {
  margin-bottom: 40px;
}

main section.box .governance_table .table {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}

main section.box .governance_table .table th {
  background: #f1f0f0;
  padding: 18px;
  font-weight: bold;
}

main section.box .governance_table .table td {
  background: #fff;
  border-bottom: 1px solid #ddd;
  padding: 18px 30px;
}

main section.box .governance_table .table td.line {
  border-right: 1px solid #ddd;
  width: 60%;
}

main section.box ul.num {
  padding-bottom: 10px;
}

main section.box ul.num li {
  overflow: hidden;
  margin-bottom: 20px;
}

main section.box ul.num li span {
  float: left;
  width: 6%;
}

main section.box ul.num li p {
  float: left;
  width: 94%;
}

main section.box dl.grey {
  margin-bottom: 30px;
}

main section.box dl.grey dt {
  background: #f1f0f0;
  padding: 18px;
  font-weight: bold;
}

main section.box dl.grey dd {
  padding: 18px;
}

main section.box dl.sp_box {
  border: 5px solid #f2f2f2;
  padding: 30px;
}

main section.box dl.sp_box dt {
  margin-bottom: 20px;
}

main section.list {
  margin-bottom: 50px;
}

main section.list h3.title {
  margin-bottom: 0;
}

main section.list .library {
  margin-bottom: 40px;
}

main section.list .library dl dd.txt {
  width: 60%;
  padding-left: 2%;
}

main section.list:last-child {
  margin-bottom: 0;
}

main section.content {
  max-width: 1100px;
  margin: 0 auto 50px;
  background: #fff;
  overflow: hidden;
}

main section.content.nosp_under {
  margin-bottom: 0 !important;
}

main section.content.jobinfo {
  margin-top: 50px;
}

main section.content.jobinfo.low_entry .sub_title span::before,
main section.content.jobinfo.low_entry .sub_title span::after {
  width: 80%;
}

main section.content.jobinfo h2.title {
  padding-bottom: 5px;
  margin-bottom: 30px;
}

main section.content.jobinfo .text {
  text-align: center;
  margin-bottom: 30px;
}

main section.content.jobinfo .text p {
  margin-bottom: 0;
}

main section.content.privacy .text {
  margin-bottom: 4%;
}

main section.content.privacy dl dt {
  font-weight: normal;
}

main section.content.privacy dl dd {
  margin: 0 0 3% 1em;
}

main section.content.privacy a.text_link {
  color: #4c9d2a;
}

main section.content.privacy a.text_link:hover,
main section.content.privacy a.text_link:focus {
  opacity: 1;
}

main section.content.privacy a.text_link::after {
  background-color: #4c9d2a;
}

main section.content.detail h3.title {
  padding: 1% 0 1% 4%;
  color: #000;
  font-size: 26px;
}

main section.content.detail h3.title .data {
  font-size: 15px;
}

main section.content.detail h3.title .sub_title {
  font-size: 16px;
  border-bottom: 1px solid #c1bfbf;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

main section.content.detail h3.title .sns li.tw {
  margin-top: 0.6%;
}

main section.content.detail h3.title .sns li.tw p {
  display: none;
}

main section.content.detail h4.title {
  padding: 1% 2%;
  color: #000;
  background: #f6f6f6;
}

main section.content.detail a.text_link {
  color: #4c9d2a;
}

main section.content.detail a.text_link:hover,
main section.content.detail a.text_link:focus {
  opacity: 1;
}

main section.content.detail a.text_link::after {
  background-color: #4c9d2a;
}

main section.content.detail .text {
  margin-bottom: 3%;
}

main section.content.detail .text p {
  text-indent: 1em;
}

main section.content.detail .pdf {
  margin-bottom: 20px;
}

main section.content.detail .pdf a {
  margin-left: 10px;
}

main section.content.detail .sns {
  overflow: hidden;
}

main section.content.detail .sns li {
  float: left;
  margin-right: 25px;
  line-height: 1;
}

main section.content.detail .sns li.cate {
  line-height: 1.5;
}

main section.content.detail .center_btn {
  padding: 5% 0 2%;
}

main section.content.service_low .nav-tabs {
  margin-bottom: 40px;
}

main section.content.service_low .nav-tabs.company {
  margin-top: 60px;
}

main section.content.service_low .nav-tabs li {
  width: 33%;
  margin-right: 0.5%;
  font-size: 96%;
}

main section.content.service_low .nav-tabs-02 li {
  width: 49.5%;
  margin-right: 1%;
  font-size: 96%;
}

main section.content.service_low .nav-tabs li a {
  padding: 18px 0 15px;
}

main section.content.service_low .nav-tabs li a span {
  margin-right: 2%;
}

main section.content.service_low .nav-tabs li a:active, main section.content.service_low .nav-tabs li a:hover {
  background: #4c9d2a;
  color: #fff;
  opacity: 1;
  border-bottom: 1px solid #4c9d2a;
}

main section.content.service_low .nav-tabs li:last-child {
  margin-right: 0;
}

main section.content.service_low .text {
  margin-bottom: 6%;
}

main section.content.service_low .text a:hover {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main section.content.service_low .text a::after {
  background-color: #4c9d2a;;
}

main section.content.service_low h3.title.sp {
  color: #020202;
  font-size: 18px;
  font-weight: bold;
  border-left: none;
  padding-left: 0;
}

main section.content.service_low ul.flow {
  overflow: hidden;
  margin-bottom: 30px;
}

main section.content.service_low ul.flow li {
  background: url(../images/service/flow_bg.png) top center no-repeat;
  width: 100px;
  height: 100px;
  float: left;
  text-align: center;
  color: #fff;
  padding-top: 40px;
  line-height: 1.3;
  margin-bottom: 15px;
}

main section.content.service_low ul.flow li.arw {
  background: none;
  width: 66px;
}

main section.content.service_low ul.flow li.long {
  padding-top: 35px;
}

main section.content.service_low .topic {
  position: relative;
  font-size: 14px;
  margin: 30px 0 50px;
}

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

main section.content.service_low .topic h4.title {
  color: #1c8c42;
  font-size: 18px;
  margin-bottom: 0;
  font-weight: normal;
}

main section.content.service_low .topic .topic01 {
  width: 250px;
  position: absolute;
  left: 0;
  top: 55%;
}

main section.content.service_low .topic .topic02 {
  width: 250px;
  position: absolute;
  left: 8%;
  top: 8%;
}

main section.content.service_low .topic .topic03 {
  width: 250px;
  position: absolute;
  left: 39%;
  top: 0%;
}

main section.content.service_low .topic .topic04 {
  width: 260px;
  position: absolute;
  left: 69%;
  top: 8%;
}

main section.content.service_low .topic .topic05 {
  width: 250px;
  position: absolute;
  left: 77%;
  top: 55%;
}

main section.content.service_low .sub_nav {
  margin-top: 40px;
}

main section.content.interview {
  margin-bottom: 30px;
}

main section.content.interview .text {
  font-size: 14px;
}

main section.content.interview img {
  margin-bottom: 30px;
}

main section.content.interview p {
  margin-bottom: 50px;
  line-height: 1.9;
}

main section.content.interview p a {
  text-decoration: underline;
}

main section.content.interview p a:hover {
  text-decoration: none;
}

main section.content.interview p span {
  color: #4c9d2a;
  padding-right: 15px;
}

main section.content.interview ul.interview_img {
  overflow: hidden;
}

main section.content.interview ul.interview_img li {
  width: 48%;
  float: left;
  margin-right: 4%;
}

main section.content.interview ul.interview_img li img {
  max-width: 100%;
  height: auto;
}

main section.content.interview ul.interview_img li:nth-child(2n) {
  margin-right: 0;
}

main section.content.interview p.interview_en {
  font-size: 14px;
  color: #666;
}

main section.content.interview p.title {
  color: #4c9d2a;
  margin-bottom: 12px;
  font-size: 16px;
  padding-left: 30px;
  background: url(../images/common/interview_title_bg.jpg) left 10px no-repeat;
}

main section.content.interview h3.title {
  font-size: 17px;
  border-left: none;
  line-height: 1.7;
  margin-bottom: 15px;
  padding-left: 0;
  font-weight: bold;
}

main section.content.interview h3.title.sp {
  font-size: 24px;
  border-left: 2px solid #4c9d2a;
  padding: 5px 0 5px 4%;
  margin-bottom: 4%;
}

main section.content.interview h3.title.sp span {
  display: block;
  width: 60%;
  font-size: 15px;
  border-top: 1px solid #c1bfbf;
  margin-top: 10px;
  padding-top: 15px;
}

main section.content.interview .profile {
  background: #f6f6f6;
  padding: 20px;
  font-size: 13px;
  overflow: hidden;
  margin-bottom: 60px;
}

main section.content.interview .profile p {
  margin-bottom: 0;
}

main section.content.interview .profile.interview_simple {
  padding: 0;
  margin-bottom: 30px;
  float: right;
  max-width: 30%;
  margin-left: 50px;
}

main section.content.interview .profile.interview_simple img {
  float: none;
  margin: 0;
  width: 100%;
}

main section.content.interview .profile.interview_simple .data {
  padding: 20px 25px;
}

main section.content.interview .profile.interview_simple .data p {
  margin-bottom: 3px;
  line-height: 1.6;
}

main section.content.interview .profile.interview_simple .data p.name {
  margin-bottom: 10px;
}

main section.content.interview .profile.interview_simple .data p.sp {
  margin-top: 20px;
}

main section.content.interview .profile.interview_simple p.text {
  font-size: 14px;
}

main section.content.interview .profile.interview_simple .data th {
  width: 70px;
  padding: 3px 0;
  vertical-align: top;
  font-weight: normal;
}

main section.content.interview .profile.interview_simple .data td {
  padding: 3px 0;
}

main section.content.interview .profile.interview_simple .data li {
  padding: 3px 0;
}

main section.content.interview .profile img {
  float: left;
  margin-bottom: 5px;
  margin-right: 15px;
}

main section.content.interview .profile .name {
  font-size: 15px;
  margin-bottom: 10px;
}

main section.content.member {
  margin-bottom: 0;
  padding: 70px 0 60px;
  background: none;
}

main section.content.blog_banner {
  margin-bottom: 0;
  padding: 40px 0 70px;
  background: none;
}

main section.content.member.talk {
  padding: 0;
  margin-bottom: 90px;
}

main section.content.member.talk .sub_nav {
  padding-top: 35px;
}

main section.content.member.work {
  margin: 0 auto 20px;
}

main section.content.member.service {
  padding: 0;
  margin-bottom: 90px;
}

main section.content.member.service .text {
  margin-bottom: 2%;
  line-height: 1.7;
}

main section.content.member.service ul.work_list {
  margin-bottom: 40px;
}

main section.content.member.service ul.work_list li {
  margin-bottom: 50px;
}

main section.content.member ul.list {
  overflow: hidden;
  margin-bottom: 45px;
}

main section.content.member ul.list li {
  width: 31%;
  float: left;
  margin-right: 3.5%;
}

main section.content.member ul.list li img {
  max-width: 100%;
  height: auto;
}

main section.content.member ul.list li:nth-child(3n) {
  margin-right: 0;
}

main section.content.member ul.list a.mask {
  position: relative;
  display: block;
  height: 40%;
  margin-bottom: 10px;
}

main section.content.member ul.list a.mask .text {
  display: none;
}

main section.content.member ul.list a.mask .text_wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  /* 絶対位置指定 */
  top: 0;
  left: 0;
  opacity: 0;
  background: rgba(0,0,0,.6);
  -webkit-transform: rotateX(-180deg);
  transform: rotateX(-180deg);
  -webkit-transition: .5s;
  transition: .5s;
}

main section.content.member ul.list a.mask:hover .text_wrap {
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  opacity: 1;
}

main section.content.member ul.list a.mask:hover .text_wrap .text {
  text-align: center;
  display: block;
  overflow: hidden;
  height: 40%;
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
  position: absolute;
  top: 42%;
  left: 0;
}

main section.content.member ul.list a.mask:hover .text_wrap .text p {
  color: #fff;
  font-size: 100%;
}

main section.message_content {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

main section.message_content .text {
  max-width: 650px;
  margin-bottom: 30px;
  line-height: 1.7;
  font-size: 15px;
}

main section.message_content h2.title {
  padding-top: 70px;
  margin-bottom: 40px;
}

main section.message_content h3.title {
  color: #000;
  font-size: 28px;
  padding-left: 0;
  border: none;
}

main section.news_content {
  margin: 65px auto 55px;
  max-width: 1100px;
}

main section.news_content h2.title {
  margin-bottom: 0;
}

main section.news_content .col-md-6.col-xs-12 {
  padding-left: 15px;
  padding-right: 0px;
  max-height: 165px;
  margin-bottom: 30px;
}

main section.news_content .col-md-6.col-xs-12:nth-child(odd) {
  padding-right: 15px;
  padding-left: 0px;
}

main section.news_content a {
  display: block;
}

main section.news_content table {
  background: #fff;
  width: 100%;
}

main section.news_content table .news_img {
  width: 30%;
  position: relative;
  max-width: 180px;
  max-height: 165px;
}

main section.news_content table .information_news_img {
  max-width: 180px;
  max-height: 165px;
  position: relative;
  overflow: hidden;
}

main section.news_content table .news_img .cate {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
}

main section.news_content table td {
  width: 70%;
  padding: 0 18px;
  vertical-align: middle;
  font-size: 16px;
  position: relative;
}

main section.news_content table td .text {
  background: #fff;
  overflow: hidden;
  width: 100%;
  /*height: 70px;*/
  padding-bottom: 25px;
  line-height: 1.6;
  font-size: 15px;
}

main section.news_content table td .data {
  border-top: 1px solid #e0dfdf;
  width: 92%;
  position: absolute;
  bottom: 10px;
  font-size: 12px;
  padding-top: 10px;
  margin-top: 10px;
}

main section.news_content table td .data span {
  margin-right: 10px;
}

main section .content {
  max-width: 870px;
  margin: 30px auto 110px;
}

main section .content span {
  margin-right: 30px;
}

main h2.title {
  font-family: "futura-pt";
  font-size: 54px;
  margin-bottom: 50px;
  background: url(../images/common/h2_title_bg.jpg) left bottom no-repeat;
}

main h2.blog-title {
  margin-bottom: 25px;
}

main h2.title span {
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
  display: block;
  font-size: 13px;
  margin-top: 20px;
  padding-bottom: 30px;
}

main h3.title {
  font-size: 18px;
  color: #010101;
  padding: 5px 0 5px 20px;
  margin-bottom: 22px;
  font-weight: normal;
  border-left: 2px solid #4c9d2a;
}

main h4.title {
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 16px;
}

main .center_form,
main .confirm_btn {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

main .confirm_btn {
  clear: both;
  overflow: hidden;
  text-align: left;
}

main .breadcrumb {
  background: none;
  max-width: 1100px;
  margin: 30px auto;
  font-size: 11px;
  padding-left: 0;
  padding-right: 0;
}

main .breadcrumb.rec {
  background: #f6f6f6;
  max-width: 100%;
  padding: 15px 0 15px;
  margin: 0 auto 45px;
  text-align: center;
  font-size: 14px;
}

main .breadcrumb.rec li {
  position: relative;
}

main .breadcrumb.rec .active {
  color: #050505;
}

main .breadcrumb.rec .active a span {
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: #4c9d2a;
  display: block;
}

main .breadcrumb.rec a {
  padding-bottom: 3px;
  color: #050505;
  border-bottom: 0;
  margin-right: 0px;
  margin-left: 0px;
  padding-left: 25px;
  padding-right: 25px;
}

main .breadcrumb.rec a:hover,
main .breadcrumb.rec a:focus {
  opacity: 1;
}

main .breadcrumb.rec a:hover span,
main .breadcrumb.rec a:focus span {
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 12px;
  height: 2px;
  background-color: #4c9d2a;
  display: block;
  transition: all 1.5s cubic-bezier(0.25, 0.1, 0.25, 1) 0s;
}

main .breadcrumb.rec li + li::before {
  content: "/";
  color: #050505;
}

main .breadcrumb .active {
  color: #020202;
}

main .breadcrumb a {
  color: #020202;
  text-decoration: underline;
  margin-right: 5px;
  margin-left: 5px;
}

main .breadcrumb.rec a {
  text-decoration: none;
}

main .breadcrumb a:hover,
main .breadcrumb a:focus {
  text-decoration: none;
}

main .breadcrumb li + li::before {
  content: "> ";
  color: #020202;
}

main .contact_title {
  font-size: 24px;
  margin-bottom: 30px;
}

main .contact_link a:hover,
main .contact_link a:active {
  opacity: 1;
  color: #4c9d2a;
  text-decoration: none;
}

main .contact_link a::after {
  background-color: #4c9d2a;
}

@media (max-width: 1500px) {
  main section.message_content .text {
    max-width: 600px;
    margin-bottom: 30px;
    line-height: 1.7;
    font-size: 15px;
  }

  main .container-fluid.message {
    background-position: 80% bottom;
    height: 705px;
  }
}

@media (max-width: 1140px) {
  main .container-fluid.message.mission section.message_content .mis_top_img {
    width: 40%;
  }
  main.recruit.top .sub_vis_wrap .sub_vis {
    height: 0;
    padding-bottom: 54%;
  }
  main.recruit.top .rec_people {
    height: auto;
  }
  main.recruit.top .rec_message .topic dt {
    font-size: 15px;
    margin-bottom: 5px;
  }
  main .breadcrumb {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  main .container-fluid,
  main .container,
  main .sub_vis {
    padding-left: 15px;
    padding-right: 15px;
  }
  main .container-fluid.news,
  main .container.news,
  main .sub_vis.news {
    padding-left: 20px;
    padding-right: 20px;
  }
  main.message .sub_img h3.title {
    font-size: 22px;
  }
  main.message section.content .statement_text ul.list li {
    width: 100%;
    float: none;
    margin-bottom: 15px;
  }
  main.message section.content .statement_text ul.list li img {
    /*margin-bottom: 0;*/
  }
  main.message section.content .statement_text ul.list li:first-child {
    border: none;
  }
  main .library dl {
    padding-left: 0;
  }
  main .library dl dt {
    font-size: 14px;
  }
  main .main_content {
    width: 75%;
  }
  main aside {
    width: 22%;
    font-size: 12px;
  }
  main aside.side_blog {
    font-size: 12px;
  }
  main aside.side_blog h3.title {
    font-size: 14px;
  }
  main aside.side_blog .search {
    font-size: 14px;
    padding: 5%;
  }
  main aside.side_blog .profile {
    padding: 6% 5%;
  }
  main aside.side_blog .list {
    padding: 5%;
  }
  main .right_img,
  main .left_img {
    width: 40%;
    height: auto;
  }
  main section.message_content .text {
    max-width: 500px;
    margin-bottom: 30px;
    line-height: 1.7;
    font-size: 16px;
  }

  main .container-fluid.message {
    background-position: 70% bottom;
    height: 705px;
  }

  main ul.job_list li a,
  main ul.job_list li.job_list_02 a {
    min-height: auto;
    padding: 20px 40px 20px 20px;
    font-size: 18px;
  }

  main ul.job_list li span.job_list_name {
    width: auto;
    display: inline;
    float: none;
  }

  main ul.job_list li span.new_icon {
    display: inline-black;
    float: none;
    margin: 0 0 0 10px;
  }

  main ul.job_list li {
    width: 100%;
    float: none;
  }

  main ul.job_list li:nth-child(2n) {
    float: none;
  }
}

@media (max-width: 1350px){
  main.recruit.people.interview10 .sub_vis_wrap {
    background-position: 20% center;
  }

  main.recruit.people.interview11 .sub_vis_wrap {
    background-position: 20% center;
  }
}

@media (max-width: 1140px){
  main.message .container-fluid section.content .statement_text01 {
    margin: 0 100px 80px;
  }

  main.message .container-fluid section.content .statement_text02 {
    margin: 0 100px 80px;
  }

  main.message .container-fluid section.content .cred {
    margin: 0 200px 30px;
  }

  main.message .container-fluid section.content .statement_text03 {
    width: 100%;
  }

  main.message .container-fluid section.content .statement_text04 {
    width: 100%;
  }
  main.message section.content .statement_text ul.list li:last-child {
    border-left: none;
  }
  main .recruit_news dl {
    padding-left: 20px;
  }
  header.recruit nav.navbar.navbar-default .h_logo h1 {
    padding-left: 10px;
  }
  main .message_img {
    width: 30%;
  }
  main .message_img img {
    width: 100%;
  }

  main.recruit.people.interview10 .sub_vis_wrap {
    background-position: 20% center;
  }
}


@media (max-width: 991px) {
  main.recruit.top .sub_vis_wrap {
    background: url(../images/recruit/top/sub_vis.jpg) top center/cover no-repeat;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding-top: 21%;
  }
  main ul.work_list li .text {
    padding-top: 4%;
    font-size: 86%;
  }
  main section.message_content .text {
    max-width: 50%;
  }
  main section.news_content .col-md-6.col-xs-12 {
    padding-left: 0px;
    padding-right: 0px;
    max-height: auto;
    margin-bottom: 30px;
  }
  main section.news_content .col-md-6.col-xs-12:nth-child(odd) {
    padding-right: 0px;
    padding-left: 0px;
  }
  main section.news_content table .news_img {
    width: 19%;
  }
  main section.news_content table td {
    width: 81%;
  }
  main.recruit .rec_message .topic .topic01 dl.off {
  width: 160px;
  position: absolute;
  top: 30%;
  left: 50%;
  }
  main.recruit .rec_message .topic .topic02 dl.off {
  width: 160px;
  position: absolute;
  top: 30%;
  }

  main.recruit.people.interview01 .sub_vis_wrap {
    background-position: 80% center;
  }
  main.recruit.people.interview02 .sub_vis_wrap {
    background-position: 85% center;
  }

  main.recruit.people.interview04 .sub_vis_wrap {
    background-position: 65% center;
  }
  main.recruit.people.interview05 .sub_vis_wrap {
    background-position: 85% center;
  }
  main.recruit.people.interview06 .sub_vis_wrap {
    background-position: 85% center;
  }
  main.recruit.people.interview07 .sub_vis_wrap {
    background-position: 65% center;
  }
  main.recruit.people.interview08 .sub_vis_wrap {
    background-position: 75% center;
  }
  main.recruit.people.interview10 .sub_vis_wrap {
    background-position: 30% center;
  }
  main.recruit.people.interview12 .sub_vis_wrap {
    background-position: 65% center;
  }
  main.recruit.message.message01 .sub_vis_wrap {
    background-position: 40% center;
  }
  main.recruit.people.interview .sub_vis_wrap .sub_vis dl {
  padding-top: 150px;
  width: 49%;
  }

  main ul.work_list li .text {
  float: left;
  width: 50%;
  padding: 0% 4% 0;
  font-size: 92%;
  }

  main ul.work_list li .text01 {
    padding-top: 2%;
  }
  main section.content.member.work {
    padding-top: 0;
  }
  main section.content.member.work .title {
    margin-bottom: 0;
  }
  main section.content.interview .profile {
    margin-bottom: 30px;
  }
  main section.content.interview p {
    margin-bottom: 20px;
  }
  main section.content.member ul.list a.mask .text_wrap {
    display: none;
  }

  main ul.job_list {
    margin-bottom: 12px;
  }
  main ul.job_list li {
    width: 100%;
    float: none;
  }
}

@media (max-width: 767px) {
  main {
    font-size: 14px;
  }
  main a.text_link {
    position: static;
    transition: 0;
  }
  main a.text_link::after {
    display: none;
  }
  main nav.sitemap ul li a {
    position: static;
  }
  main nav.sitemap ul li a:after {
    display: none;
  }
  main nav.sitemap {
    margin-bottom: 0;
  }
  main nav.sitemap ul {
    width: 100%;
    float: none;
    border-bottom: 1px solid #ccc;
    padding-bottom: 4%;
    margin-bottom: 4%;
  }
  main nav.sitemap ul.sp {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  main nav.sitemap ul.end {
    margin-bottom: 0;
    border: none;
  }
  main nav.sitemap ul li {
    padding: 3% 1% 3% 32px;
    font-size: 12px;
  }
  main nav.sitemap ul li.sp {
    margin-top: 0;
  }
  main nav.sitemap ul li.title {
    font-size: 13px;
    padding-left: 10px;
    padding-right: 10px;
  }
  main section.content.detail h3.title .sns li.tw {
    margin-top: 0;
  }
  main .talk_title_sp .sub_title {
    overflow: hidden;
    padding-top: 4%;
    font-size: 16px;
    text-align: center;
    padding-left: 26%;
  }
  main .talk_title_sp .sub_title .left {
    float: left;
    padding-right: 12%;
    margin-right: 8%;
    text-align: left;
    background: url(../images/company/talk_title_bg_sp.jpg) no-repeat right 80%;
    background-size: 12px;
  }
  main .talk_title_sp .sub_title .left span {
    font-size: 12px;
  }
  main .talk_title_sp .sub_title .right {
    text-align: left;
    float: left;
  }
  main .talk_title_sp .sub_title .right span {
    font-size: 12px;
  }
  main .main_content {
    width: 100%;
    margin-bottom: 7%;
    float: none;
  }
  main aside {
    width: 100%;
    max-width: 100%;
    float: none;
  }
  main .stock_table {
    margin-top: 3%;
  }
  main .stock_table .table th {
    display: block;
    width: 100%;
    background: none;
    padding: 0;
    font-weight: bold;
    padding-top: 2%;
    padding-bottom: 1%;
  }
  main .stock_table .table td {
    padding: 0;
    display: block;
    padding-bottom: 2%;
  }
  main ul.dev_img_list {
    margin-bottom: 0;
  }
  main ul.dev_img_list.sp_under {
    margin-bottom: 2%;
  }
  main ul.dev_img_list.sp li {
    border-bottom: none;
    padding-bottom: 0;
  }
  main ul.dev_img_list.sp p {
    font-size: 14px;
    margin-bottom: 5px;
  }
  main ul.dev_img_list.sp table {
    height: 110px;
  }
  main ul.dev_img_list.sp table img {
    width: 75%;
  }
  main ul.dev_img_list li {
    width: 100%;
    float: none;
    margin-right: 0;
    font-size: 12px;
    border-bottom: 1px solid #d4d5d3;
    padding-bottom: 4%;
    margin-bottom: 4%;
  }
  main ul.dev_img_list li span {
    font-size: 14px;
    padding: 0 0 5px;
  }
  main ul.dev_img_list li:nth-child(2n) {
    float: none;
  }
  main .sub_nav_rec {
    padding: 0;
    border-top: 1px solid #ccc;
  }
  main .sub_nav_rec.under li {
    width: 100%;
  }
  main .sub_nav_rec li {
    float: none;
    width: 100%;
    padding: 10px 30px 10px 10px !important;
    border-bottom: 1px solid #ccc !important;
    font-size: 11px;
  }
  main .sub_nav_rec li span {
    font-size: 14px;
  }
  main .company_list th,
  main .company_list td {
    display: block;
    width: 100%;
    background: #f6f6f6;
  }
  main .company_list th {
    padding: 10px 10px 0;
  }
  main .company_list th .age,
  main .company_list th .age02 {
    background: #f6f6f6;
    font-size: 14px;
    padding: 0;
  }
  main .company_list td {
    padding: 0 10px 10px;
  }
  main .company_list td .title {
    font-size: 16px;
  }
  main .company_list td.arw {
    background: #fff;
    text-align: center;
    padding-top: 10px;
  }
  main .entry_detail {
    border-bottom: 1px solid #ccc;
    margin-bottom: 5%;
  }
  main .entry_detail th,
  main .entry_detail td {
    display: block;
    width: 100%;
    padding: 15px;
  }
  main .entry_detail th {
    padding: 10px 15px;
  }
  main .entry_detail td {
    padding: 15px;
    border-top: none;
    border-bottom: none;
  }
  main .entry_detail td a {
    color: #4c9d2a;
  }
  main .recruit_news dl {
    padding: 8px 10px;
  }
  main .recruit_news dl dd {
    display: block;
  }
  main ul.workplace_list {
    margin-bottom: 0;
  }
  main ul.workplace_list li {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 9%;
  }
  main ul.job_list {
    margin-bottom: 0;
  }
  main ul.job_list li {
    width: 100%;
    float: none;
  }
  main ul.job_list li:nth-child(2n) {
    float: none;
  }
  main ul.job_flow_sp li {
    background: url(../images/common/arw_b.jpg) no-repeat center bottom;
    background-size: 2%;
    padding-bottom: 7%;
  }
  main ul.job_flow_sp li .flow_title {
    color: #4c9d2a;
  }
  main ul.job_flow_sp li.end {
    background: none;
    padding-bottom: 4%;
  }
  main .entry_lead {
    text-align: left;
    margin-bottom: 12px;
  }

  main .entry_lead p + p {
  padding-top: 12px;
}
  main .entry_lead br {
    display: none;
  }
  main.recruit h3.title span:before,
  main.recruit h3.title span:after {
    border-top: none;
  }
  main .rec_faq {
  margin: 25px 0 20px;
}
  main .qa dl {
    padding: 3% 0;
  }
  main .qa dl dt, main .qa dl dd {
    width: 100%;
    float: none;
  }
  main .qa dl dt {
    margin-bottom: 10px;
  }
  main.blog .sub_vis_wrap {
    background: #fbfbfb url(../images/blog/sub_vis_sp.jpg) no-repeat center top;
    height: auto;
    background-size: 100%;
  }
  main.blog .sub_vis_wrap .sub_vis h2.title {
    font-size: 180%;
    padding-top: 0;
    position: absolute;
    top: 25%;
    transform: none;
  }
  main.blog .sub_vis_wrap .sub_vis h2.title span {
    font-size: 12px;
  }
  main.blog section.content.detail .sns li.cate {
    width: 100%;
    padding-top: 4%;
  }
  main.blog section.content.detail .main_content {
    margin-bottom: 8%;
  }
  main.blog section.content.detail h3.title {
    font-size: 15px;
  }
  main.blog section.content.detail h3.title .cate {
    font-size: 11px;
  }
  main.blog ul.blog_list li {
    padding: 4% 0;
  }
  main.blog ul.blog_list li h3.title {
    font-size: 16px;
    margin-bottom: 3%;
  }
  main.blog ul.blog_list li .data_wrap .data, main.blog ul.blog_list li .data_wrap .link {
    float: none;
  }
  main.recruit.message .message_img {
    float: none !important;
    margin: 0 !important;
  }
  main.recruit.message .container-fluid.message_bg section.content {
    margin-bottom: 4%;
  }
  main.recruit.message .container-fluid.message_bg section.content .text {
    float: none !important;
    position: static !important;
    width: 100% !important;
    padding: 0 !important;
    margin-top: 0 !important;
  }
  main.recruit.message .container-fluid.message_bg section.content .text h3 {
    font-size: 18px;
    margin-bottom: 3%;
  }
  main.recruit.message .container-fluid.message_bg section.content .text p {
    margin-bottom: 6%;
  }
  main.recruit h3.title {
    margin-bottom: 2%;
    font-size: 18px;
  }
  main.recruit .sub_vis_wrap {
    margin-bottom: 4%;
  }
  main.recruit .sub_vis_wrap .sub_vis {
    padding-left: 0;
    padding-right: 0;
  }
  main.recruit .sub_vis_wrap .sub_vis h2.title {
    font-size: 30px;
    width: 100%;
    margin: 0 auto;
    padding-top: 0;
    top: 68%;
    line-height: 1;
    margin-top: -2em;
    /*（line-height）×（行数）/2 */
  }
  main.recruit .sub_vis_wrap .sub_vis h2.title .sub_title span {
    display: inline-block;
    padding: 0 1em;
    position: relative;
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
    font-size: 10px;
  }
  main.recruit.message .sub_vis_wrap {
    margin-bottom: 0;
  }
  main.recruit.message .vis_text_sp dt {
    font-size: 15px;
    font-weight: normal;
    padding: 3% 10px 2%;
  }
  main.recruit.message .vis_text_sp dt .ruby {
    background: url(../images/recruit/message/sub_vis_title_bg.jpg) no-repeat scroll right center;
    background-size: 20px 1px;
    display: inline;
    font-family: Arial;
    font-size: 11px;
    font-weight: bold;
    padding-right: 30px;
  }
  main.recruit.message .vis_text_sp dd {
    padding: 0 10px 3%;
    font-size: 11px;
  }
  main.recruit.message .container-fluid.message_bg {
    background: none;
    padding-top: 0 !important;
  }
  main.recruit.message .container-fluid.message_bg section.content .message_img,
  main.recruit.message.message_top section.content.message_text02 .message_img02 {
    float: none !important;
    width: 100% !important;
    position: static !important;
    margin-top: 0;
  }
  main.recruit.message .container-fluid.message_bg section.content.career {
    padding: 3%;
    background: #f6f6f6;
  }
  main.recruit.message .container-fluid.message_bg section.content.career table th, main.recruit.message .container-fluid.message_bg section.content.career table td {
    display: block;
    padding: 0;
  }
  main.recruit.message .container-fluid.message_bg section.content.career table th {
    width: 100%;
    border-right: none;
    text-align: left;
    font-size: 13px;
    font-weight: normal;
    padding-bottom: 2%;
  }
  main.recruit.message.message01 .sub_vis_wrap {
    background: url(../images/recruit/message/sub_vis_message01_sp.jpg) no-repeat center top;
    background-size: 100%;
    height: auto;
  }
  main.recruit.message.message01 .sub_vis_wrap .sub_vis {
    padding-top: 47%;
  }
  main.recruit.message.message02 .sub_vis_wrap {
    background: url(../images/recruit/message/sub_vis_message02_sp.jpg) no-repeat center top;
    background-size: 100%;
    height: auto;
  }
  main.recruit.message.message02 .sub_vis_wrap .sub_vis {
    padding-top: 47%;
  }
  main.recruit.message.message_top .sub_vis_wrap {
    background: url(../images/recruit/message/sub_vis_sp.jpg) no-repeat center top;
    background-size: cover;
    height: auto;
    margin-bottom: 4%;
  }
  main.recruit.message.message_top .sub_vis_wrap .sub_vis {
    padding-top: 86%;
  }
  main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title {
    background: none;
    position: absolute;
    padding: 0;
    top: 35%;
    line-height: 1;
    margin-top: -2em;
    /*（line-height）×（行数）/2 */
    width: 49%;
    padding-left: 2%;
  }
  main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title dt .ruby {
    font-size: 10px;
    background-size: 20px 1px;
    padding-right: 30px;
  }
  main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title dt .sub_title {
    font-size: 14px;
  }
  main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title dd {
    font-size: 10px;
  }
  main.recruit.people.interview .sub_vis_wrap {
    margin-bottom: 0;
  }
  main.recruit.people.interview .vis_text_sp dt {
    background: #4ca630;
    color: #fff;
    font-size: 17px;
    font-weight: normal;
    padding: 8px 10px;
  }
  main.recruit.people.interview .vis_text_sp dt .ruby {
    background: url(../images/recruit/people/sub_vis_title_bg.jpg) no-repeat scroll right center;
    background-size: 20px 1px;
    display: inline;
    font-family: Arial;
    font-size: 10px;
    font-weight: bold;
    padding-right: 30px;
  }
  main.recruit.people.interview .vis_text_sp dd {
    padding: 4% 10px 5%;
  }
  main.recruit.people.interview .vis_text_sp dd .name {
    font-size: 14px;
    margin-top: 5px;
  }
  main.recruit.people.interview .vis_text_sp dd .name span {
    font-size: 10px;
    margin-left: 2%;
  }
  main.recruit.people.interview section.content.interview_rec {
    background-image: none;
    padding-left: 0;
    padding-right: 0;
    line-height: 1.7;
    margin-bottom: 8%;
  }
  main.recruit.people.interview section.content.interview_rec p.supplemental {
  font-size: 11px;
}
  main.recruit.people.interview section.content.interview_rec .ask {
    font-size: 11px;
    margin: 0 0 1.5%;
  }
  main.recruit.people.interview section.content.interview_rec h3 {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 2%;
  }
  main.recruit.people.interview .container-fluid.comment section.content {
    padding: 2% 0;
  }
  main.recruit.people.interview .container-fluid.comment section.content .comment_img {
    width: 20%;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl {
    width: 78%;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl dt {
    margin: 1% 0;
    font-size: 11px;
    font-weight: bold;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl dd {
    font-size: 13px;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl dd .text {
    padding: 3%;
  }
  main.recruit.people.interview01 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people01_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview01 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview02 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people02_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview02 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview03 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people03_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview03 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview04 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people04_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview04 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview05 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people05_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview05 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview06 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people06_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview06 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview07 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people07_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview07 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview08 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people08_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview08 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview09 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people09_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview09 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview10 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people10_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview10 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview11 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people11_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview11 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview12 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people12_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview12 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people .sub_vis_wrap .sub_vis .sub_title span::before,
  main.recruit.people .sub_vis_wrap .sub_vis .sub_title span::after {
    width: 34%;
  }
  main.recruit.people section.content.jobinfo {
    margin-top: 6%;
  }
  main.recruit.workplace .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/workplace/sub_vis_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.workplace .sub_vis_wrap .sub_vis .sub_title span::before,
  main.recruit.workplace .sub_vis_wrap .sub_vis .sub_title span::after {
    width: 90%;
  }
  main.recruit.workplace section.content .text {
    line-height: 1.5;
    text-align: left;
  }
  main.recruit.entry section.content .text {
    margin-bottom: 3%;
  }
  main.recruit.entry.contact .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/entry/sub_vis_contact_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.entry.contact table.contact td .form-group select.hope {
    width: 100%;
  }
  main.recruit.entry.contact table.contact td.age .form-group {
    display: inline-block;
    width: 42%;
  }
  main.recruit.entry.contact table.contact td.age .form-group.mr10 {
    margin-right: 0 !important;
  }
  main.recruit.entry.contact table.contact td.age .form-group.min_size {
    width: 26%;
  }
  main.recruit.entry.contact table.contact td.age .form-group.min_size select {
    width: 60%;
  }
  main.recruit.entry.contact table.contact td.age .form-group select {
    width: 80%;
    float: left;
    padding-left: 3%;
    padding-right: 3%;
  }
  main.recruit.entry.contact table.contact td.age .form-group span {
    line-height: 34px;
    padding-left: 8%;
  }
  main.recruit.entry .sub_vis_wrap {
    margin-bottom: 5%;
  }
  main.recruit.top .sub_vis_wrap {
    background: url(../images/recruit/top/sub_vis_sp.jpg) center top no-repeat;
    background-size: cover;
    height: 0;
    padding-bottom: 60%;
    margin-bottom: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis {
    height: auto;
    text-align: center;
    padding-top: 0;
    padding-bottom: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding: 0;
    margin: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis img {
    width: 100%;
  }
  main.recruit.top .rec_message {
    background: url(../images/recruit/top/topic_bg_sp.jpg) center top no-repeat;
    background-size: cover;
    height: auto;
  }
  main.recruit.top .rec_people {
    height: auto;
  }
  main.recruit.top .rec_workplace {
    background: url(../images/recruit/top/office_bg_sp02.jpg) center top no-repeat;
    background-size: 100%;
    height: auto;
  }
  main.recruit h2.title {
    font-size: 28px;
    line-height: 1.1;
  }
  main.recruit .sub_title span {
    font-size: 11px;
  }
  main.recruit .sub_title span::before,
  main.recruit .sub_title span::after {
    width: 24%;
  }
  main.recruit .rec_workplace h2.title {
    margin-top: 4%;
    margin-bottom: 2%;
  }
  main.recruit .rec_workplace h2.title .sub_title span::before,
  main.recruit .rec_workplace h2.title .sub_title span::after {
    width: 70%;
  }
  main.recruit .rec_workplace section.content {
    padding-right: 10px;
    padding-left: 10px;
  }
  main.recruit .rec_workplace section.content .title_text {
    font-size: 16px;
    text-align: center;
  }
  main.recruit .rec_workplace section.content .center_btn {
    margin-top: 3%;
    margin-bottom: 3%;
  }
  main.recruit .rec_workplace .text {
    text-align: left;
  }
  main.recruit .rec_workplace .dev_text {
    margin-top: 4%;
    text-align: left;
  }
  main.recruit .rec_workplace ul.dev_list {
    padding: 2% 2%;
  }
  main.recruit .rec_workplace ul.dev_list li img {
    max-width: 60%;
  }
  main.recruit .rec_people h2.title {
    margin-bottom: 3%;
  }
  main.recruit .rec_people h2.title .sub_title span::before,
  main.recruit .rec_people h2.title .sub_title span::after {
    width: 20%;
  }
  main.recruit .rec_people section.content {
    margin-top: 4%;
  }
  main.recruit .rec_people section.content.member ul.list a.mask {
    margin-bottom: 6%;
  }
  main.recruit .rec_people section.content.member ul.list a.mask div.job {
    font-size: 10px;
    padding: 5px 6px;
  }
  main.recruit .rec_people section.content.member .left_content,
  main.recruit .rec_people section.content.member .right_content {
    float: none;
    width: 100%;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }
  main.recruit .rec_people section.content.member .text {
    margin-bottom: 3%;
    text-align: left;
  }
  main.recruit .rec_message h2.title {
    margin: 10% 0;
  }
  main.recruit .rec_message .rec_message_text {
    margin-bottom: 8%;
  }
  main section.content {
    margin-bottom: 2%;
  }
  main.recruit .rec_message .rec_message_text {
    width: 60%;
  }
  main.recruit .rec_message .rec_message_text h3.title {
    font-size: 16px;
  }
  main.recruit .rec_message .topic_sp .topic01,
  main.recruit .rec_message .topic_sp .topic02 {
    overflow: hidden;
    background: #fff;
    margin-bottom: 10px;
  }
  main.recruit .rec_message .topic_sp .topic01 img,
  main.recruit .rec_message .topic_sp .topic02 img {
    float: left;
    margin-right: 2%;
    max-width: 30%;
    height: auto;
  }
  main.recruit .rec_message .topic_sp .topic01 dl,
  main.recruit .rec_message .topic_sp .topic02 dl {
    padding: 2% 2%;
  }
  main.recruit .rec_message .topic_sp .topic01 dl dt,
  main.recruit .rec_message .topic_sp .topic02 dl dt {
    font-size: 13px;
    line-height: 1.3;
    margin: 3px 0;
  }
  main.recruit .rec_message .topic_sp .topic01 dl dd,
  main.recruit .rec_message .topic_sp .topic02 dl dd {
    font-size: 10px;
  }
  main .contact table.contact th,
  main .contact table.contact td {
    width: 100%;
    border: none;
    background: none;
    padding: 0;
    float: left;
  }
  main .contact table.contact th {
    padding-bottom: 5px;
  }
  main .contact table.contact th .req {
    float: none;
    padding-left: 5px;
  }
  main .contact table.contact td .form-group input.xs_size {
    min-width: 50px;
    display: inline;
  }
  main .contact table.contact td .form-group input.s_size {
    min-width: 70px;
    display: inline;
  }
  main .contact table.contact td .form-group input.m_size,
  main .contact table.contact td .form-group input.l_size {
    width: 100%;
  }
  main.press .library dl {
    padding-bottom: 1%;
  }
  main.press .library dl dt {
    display: inline;
    width: auto;
    padding-right: 3%;
  }
  main.press .library dl dd.label {
    display: inline;
    padding: 2px 2%;
    width: auto;
  }
  main.press .library dl dd.txt {
    width: 100%;
  }
  main .library dl dd.txt a {
    position: static;
    transition: 0;
  }
  main .library dl dd.txt a::after {
    display: none;
  }
  main ul.img_l_list li {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 8%;
    font-size: 12px;
  }
  main ul.img_l_list li img {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
  main ul.img_l_list li .sub_title {
    font-size: 15px;
    margin-bottom: 0;
  }
  main ul.img_list li {
    width: 100%;
    margin-right: 0;
    float: none;
    padding: 0 0 5%;
    margin-bottom: 4%;
    background: url(../images/common/line.png) left bottom repeat-x;
  }
  main ul.img_list li img {
    width: 100px;
    height: 100px;
    margin-right: 10px;
  }
  main ul.img_list li .text {
    padding: 0;
    font-size: 12px;
  }
  main ul.img_list li .text .sub_title {
    font-size: 11px;
  }
  main ul.img_list li .text h4.title {
    font-size: 16px;
  }
  main .company_list.profile {
    margin-bottom: 0;
  }
  main .company_list.profile.mem dl {
    padding-bottom: 4%;
  }
  main .company_list.profile.mem dl.no_line {
    padding-bottom: 5%;
  }
  main .company_list.profile.mem dl dt {
    width: 30%;
    float: left;
    margin-right: 2%;
    padding-right: 0;
  }
  main .company_list.profile.mem dl dd {
    width: 68%;
    float: left;
  }
  main .company_list.profile.mem dl dd.sp_title {
    width: 100%;
    float: none;
    margin-bottom: 10px;
  }
  main .company_list.profile.mem dl dd .job {
    font-size: 10px;
  }
  main .company_list.profile.mem dl dd .name {
    font-size: 15px;
  }
  main .company_list.profile.mem dl dd .name span {
    font-size: 10px;
  }
  main .company_list.profile dl {
    padding: 4% 0;
  }
  main .company_list.profile dl dt,
  main .company_list.profile dl dd {
    width: 100%;
    float: none;
  }
  main .company_list.profile dl dt {
    font-weight: bold;
    margin-bottom: 1%;
  }
  main .company_list.profile dl dd li {
    width: 100%;
    float: none;
  }
  main .company_list.profile dl dd p {
    padding-bottom: 8px;
  }
  main .company_list.profile dl dd p span {
    float: none;
    width: auto;
  }
  main .company_list_top.f_nav_sp li {
    padding-top: 2%;
    padding-bottom: 2%;
    overflow: hidden;
  }
  main .company_list_top.f_nav_sp li img {
    float: left;
    margin-right: 3%;
    max-width: 110px;
  }
  main .company_list_top.f_nav_sp li .text {
    padding-right: 5%;
  }
  main .company_list_top.f_nav_sp li p.title {
    font-size: 16px;
    margin-bottom: 5px;
  }
  main .f_nav_sp {
    margin-bottom: 8%;
    background: #fff;
  }
  main section.content {
    margin-bottom: 7%;
  }
  main section.content.jobinfo {
    margin-top: 4%;
    margin-bottom: 9%;
  }
  main section.content.jobinfo h2.title {
    margin-bottom: 3%;
  }
  main section.content.jobinfo h2.title .sub_title span::before,
  main section.content.jobinfo h2.title .sub_title span::after {
    width: 40%;
  }
  main section.content.jobinfo .text {
    text-align: left;
    margin-bottom: 3%;
  }
  main section.content.detail h3.title {
    font-size: 15px;
  }
  main section.content.detail h3.title .data {
    font-size: 10px;
  }
  main section.content.detail h3.title .sub_title {
    font-size: 11px;
  }
  main section.content.detail h4.title {
    font-size: 14px;
  }
  main section.content.detail .center_btn {
    padding-top: 8%;
  }
  main section.content.service_low .nav-tabs {
    margin-bottom: 4%;
  }
  main section.content.service_low .nav-tabs.company {
    margin-top: 6%;
  }
  main section.content.service_low .nav-tabs.company li {
    font-size: 1.2rem;
  }
  main section.content.service_low .nav-tabs li {
    font-size: 0.8rem;
  }
  main section.content.service_low .nav-tabs li a {
    padding: 2% 0 1%;
  }
  main section.content.service_low .nav-tabs li span {
    font-size: 0.6rem;
  }
  main section.content.service_low h3.title.sp {
    font-size: 16px;
  }
  main section.content.service_low ul.flow {
    margin-bottom: 3%;
  }
  main section.content.service_low ul.flow li {
    margin-bottom: 3%;
    max-width: 60px;
    height: 60px;
    background-size: 100%;
    padding-top: 24px;
    font-size: 88%;
  }
  main section.content.service_low ul.flow li.arw {
    width: 33px;
  }
  main section.content.service_low ul.flow li.arw img {
    width: 70%;
  }
  main section.content.service_low ul.flow li.long {
    padding-top: 18px;
  }
  main section.content.member.service .confirm_btn .btn {
    margin-bottom: 5%;
  }
  main section.content.member.service ul.work_list {
    margin-bottom: 0;
  }
  main section.content.member.service ul.work_list li {
    margin-bottom: 3%;
  }
  main section.content.interview h3.title.sp {
    font-size: 16px;
  }
  main section.content.interview h3.title.sp span {
    width: 100%;
    font-size: 12px;
    margin-top: 1.5%;
    padding-top: 2%;
  }
  main section.content.interview .profile {
    margin-top: 4%;
    padding: 10px;
  }
  main section.content.interview .profile.interview_simple {
    width: 30%;
    margin-left: 2%;
    margin-top: 0;
  }
  main section.content.interview .profile.interview_simple img {
    width: 100%;
    height: auto;
  }
  main section.content.interview .profile.interview_simple .sp_text {
    padding: 4%;
    width: 100%;
    float: none;
  }
  main section.content.interview .profile.interview_simple .sp_text p.name {
    margin-bottom: 0;
    font-size: 12px;
  }
  main section.content.interview .profile.interview_simple .sp_text .collapse {
    position: absolute;
    left: 0px;
    width: 100%;
    margin: 0 auto;
  }
  main section.content.interview .profile.interview_simple .sp_text .collapse .data {
    background: #f6f6f6;
  }
  main section.content.interview .profile.interview_simple .sp_text a.active {
    display: inline-block;
  }
  main section.content.interview .profile.interview_simple .sp_text a.active span {
    background: url(../images/common/icon_close_grn.png) center right no-repeat;
  }
  main section.content.interview .profile p {
    margin-bottom: 0;
  }
  main section.content.interview .profile p span {
    /*padding-right: 30px;*/
    background: none;
  }
  main section.content.interview .profile img {
    width: 20%;
    margin-right: 2%;
  }
  main section.content.interview .profile .sp_text {
    width: 78%;
    float: left;
    padding: 10px 0;
  }
   main section.content.interview .profile .sp_text.active a.icon_open {
    display: none;
   }
  /*main section.content.interview .profile a.active {
    display: none;
  }*/
  main section.content.interview .profile a.collapsed {
    display: inline-block;
  }

  main.message .sub_vis_wrap {
    background: url(../images/message/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.message .sub_img {
    margin-bottom: 5%;
  }
  main.message .sub_img h3.title {
    border-left: 2px solid #4c9d2a;
    position: static;
    font-size: 16px;
    padding-top: 5px;
  }
  main.message .sub_img h3.title span {
    font-size: 12px;
    border-top: 1px solid #c1bfbf;
    margin-top: 5px;
    padding-top: 10px;
    padding-bottom: 5px;
  }
  main.message section.content .statement_text {
    padding-top: 0;
    line-height: 1.5;
  }
  main.message section.content .statement_text p {
    text-align: left;
    font-size: 12px;
    line-height: 1.6;
  }
  main.message section.content .statement_text img {
    margin-bottom: 10%;
  }
  main.message section.content .statement_text ul.list li img {
    margin-bottom: 7%;
  }
  main.ir .sub_vis_wrap {
    background: url(../images/ir/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.ir section.content {
    margin-bottom: 0;
  }
  main.privacy .sub_vis_wrap {
    background: url(../images/privacy/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.sitemap .sub_vis_wrap {
    background: url(../images/sitemap/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.sitemap .container-fluid {
    padding: 0;
  }
  main.sitemap section.content {
    margin-bottom: 0;
  }
  main.contact .sub_vis_wrap {
    background: url(../images/contact/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.contact .sub_vis_wrap h2.title span {
    font-size: 10px;
  }
  main.press .sub_vis_wrap {
    background: url(../images/press/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.press ul.nav-tabs {
    border-bottom: none;
  }
  main.press ul.nav-tabs.sp {
    margin-top: 3%;
  }
  main.press ul.nav-tabs.sp li {
    width: 19.2%;
    min-width: 19.2%;
    font-size: 75%;
  }
  main.press ul.nav-tabs.sp li a {
    padding-left: 0;
    padding-right: 0;
  }
  main.press ul.nav-tabs.sp li:nth-child(2n) {
    margin-right: 1%;
  }
  main.press ul.nav-tabs.sp li:last-child {
    margin-right: 0;
  }
  main.press ul.nav-tabs li {
    width: 49%;
    margin-bottom: 10px;
    min-width: 49%;
  }
  main.press ul.nav-tabs li:nth-child(2n) {
    margin-right: 0;
  }
  main.company.recruit.message .sub_vis_wrap {
    margin-bottom: 0;
  }
  main.company.recruit.message .container-fluid.statement {
    background: url(../images/recruit/company/statement_bg_sp.jpg) no-repeat bottom center;
    background-size: cover;
  }
  main.company.recruit .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/company/sub_vis_sp.jpg) top center no-repeat;
    background-size: 100%;
  }
  main.company.recruit .sub_vis_wrap .sub_vis .sub_title span::before,
  main.company.recruit .sub_vis_wrap .sub_vis .sub_title span::after {
    width: 26%;
  }
  main.company .sub_vis_wrap {
    height: auto;
    background: url(../images/company/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;

  }
  main.service .sub_vis_wrap {
    background: url(../images/service/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
    height: auto;
  }
  main .sub_vis_wrap {
    margin-bottom: 30px;
  }
  main .sub_vis_wrap .sub_vis {
    height: 0;
    padding-top: 31%;
    position: relative;
  }
  main.company.recruit .sub_vis_wrap .sub_vis {
    height: 0;
    padding-top: 31%!important;
    position: relative;
  }
  main .sub_vis_wrap .sub_vis h2.title {
    font-size: 220%;
    line-height: 0.9;
    position: absolute;
    padding-top: 0;
    background-size: 35px 2px;
    top: calc(50% - 2px);
    transform: translateY(-50%);
  }

  main .sub_vis_wrap .sub_vis h2.title.title_en {
    padding: 0 0 14px;
  }
  main .sub_vis_wrap .sub_vis h2.title span {
    margin-top: 12px;
    padding-bottom: 17px;
  }
  main ul.financial_list li {
    float: none;
    width: 100%;
  }
  main aside.side_blog .profile,
  main aside.side_blog .search,
  main aside.side_blog .list {
    padding: 3%;
  }
  main aside.side_blog .search .form-group button {
    padding: 0;
    width: 24%;
  }
  main aside.side_blog .profile h3.title {
    margin-bottom: 10px;
  }
  main aside.side_blog .profile img {
    max-width: 40%;
    height: auto;
    float: right;
    margin: 0 0 3% 3%;
  }
  main aside.side_ir {
    background: none;
    padding: 0;
    margin-bottom: 8%;
  }
  main aside.side_ir ul.list {
    border-bottom: 1px solid #ddd;
  }
  main aside.side_ir ul.list li {
    padding: 5% 15px;
    border: 1px solid #ddd;
    border-bottom: none;
    background: #fff;
  }
  main aside.side_ir ul.list li a {
    font-size: 16px;
    padding: 0;
    background: url("../images/common/icon_next.png") no-repeat scroll right center;
    background-size: 9px 18px;
  }
  main aside.side_ir ul.list li a::after {
    display: none;
  }
  main aside.side_ir ul.list li a:hover, main aside.side_ir ul.list li a:active {
    background-color: #fff;
  }
  main aside.side_ir ul.list li.sp a.child:hover,
  main aside.side_ir ul.list li.sp a.child:active {
    background-color: #fff;
  }
  main ul.nav.nav-tabs.news_top {
    border-bottom: none;
  }
  main ul.nav.nav-tabs.news_top li:first-child {
    width: 100%;
  }
  main ul.nav.nav-tabs.news_top li {
    width: 49%;
    float: left;
    margin-right: 0;
    margin-bottom: 10px;
  }
  main ul.nav.nav-tabs.news_top li:nth-child(odd) {
    float: right;
  }
  main ul.year {
    padding: 3% 0 0;
  }
  main .library.calender dl {
    padding: 2% 0;
  }
  main .library.calender dt {
    width: 100%;
    margin-right: 0;
    float: none;
    font-weight: bold;
    margin-bottom: 1%;
    font-size: 12px;
  }
  main .library.calender dd.calender_text {
    float: none;
    width: 100%;
  }
  main .library dl {
    padding: 3% 0;
    font-size: 14px;
  }
  main .library dl dt {
    width: auto;
    margin-right: 3%;
  }
  main .library dl dd.txt {
    width: 100%;
    padding: 2% 0;
    line-height: 1.6!important;
  }
  main .library dl dd.pdf {
    width: 100%;
    float: left;
  }
  main .breadcrumb {
    display: none;
  }
  main .icon_link span {
    background-size: 16px;
    padding-right: 24px;
  }
  main .right_img,
  main .left_img {
    width: 100%;
  }
  main ul.work_list {
    padding-bottom: 0;
  }
  main ul.work_list li {
    margin-bottom: 20px;
  }
  main ul.work_list li .work_img,
  main ul.work_list li .text {
    float: none;
    width: 100%;
    min-width: 100%;
  }
  main ul.work_list li .text {
    padding: 4% 2% 3%;
    font-size: 100%;
  }
  main ul.work_list li .text img {
    margin-bottom: 3%;
  }
  main ul.work_list li .text .icon_link {
    margin-top: 10px;
  }
  /*main .container-fluid,
  main .container,
  main .sub_vis {
    padding-left: 10px;
    padding-right: 10px;
  }*/
  main .container-fluid.news,
  main .container.news,
  main .sub_vis.news {
    padding-left: 10px;
    padding-right: 10px;
  }
  main .container-fluid.company_top,
  main .container.company_top,
  main .sub_vis.company_top {
    background: #fff;
    height: auto;
    margin-bottom: 0%;
  }
  main .container-fluid.company_top section.content.company_top_text,
  main .container.company_top section.content.company_top_text,
  main .sub_vis.company_top section.content.company_top_text {
    background: #f6f6f6;
    padding: 20px 10px 10px;
    text-align: left;
    margin: 0 auto 7%;
  }
  main .container-fluid.company_top section.content.company_top_text .company_top_title {
    width: 380px;
    margin: 0 auto 20px;
  }
  main .container-fluid.message,
  main .container.message,
  main .sub_vis.message {
    background: #f2f2f2 url(../images/top/mes_sp.jpg) right 80% no-repeat;
    background-size: 100%;
    height: auto;
  }
  main .container-fluid.message.recruit,
  main .container.message.recruit,
  main .sub_vis.message.recruit {
    background: #f2f2f2 url(../images/top/rec_bg_sp.jpg) center center no-repeat;
    background-size: cover;
    height: auto;
    margin-bottom: 8%;
    overflow: hidden;
  }
  main .container-fluid.message.recruit .filter,
  main .container.message.recruit .filter,
  main .sub_vis.message.recruit .filter {
    padding-bottom: 100%;
  }
  main .container-fluid.message.recruit section.message_content h2.title,
  main .container.message.recruit section.message_content h2.title,
  main .sub_vis.message.recruit section.message_content h2.title {
    padding-top: 6%;
  }
  main .container-fluid.message.recruit section.message_content h2.title .want,
  main .container.message.recruit section.message_content h2.title .want,
  main .sub_vis.message.recruit section.message_content h2.title .want {
    width: 60px;
    top: 0px;
    left: 45px;
  }
  main .container-fluid.message.recruit section.message_content .text,
  main .container.message.recruit section.message_content .text,
  main .sub_vis.message.recruit section.message_content .text {
    max-width: 46%;
    margin-bottom: 3%;
  }
  main .container-fluid.message.mission,
  main .container.message.mission,
  main .sub_vis.message.mission {
    background: #fff url(../images/top/mis_bg_sp.jpg) top center no-repeat;
    background-size: 100%;
    height: auto;
  }
  main .container-fluid.message.mission section.message_content .mis_top_img,
  main .container.message.mission section.message_content .mis_top_img,
  main .sub_vis.message.mission section.message_content .mis_top_img {
    top: 10px;
    width: 36%;
  }
  main .container-fluid.message.mission section.message_content .mis_title,
  main .container.message.mission section.message_content .mis_title,
  main .sub_vis.message.mission section.message_content .mis_title {
    max-width: 95%;
    padding-top: 2%;
  }
  main h2.title {
    font-size: 220%;
    margin-bottom: 4%;
  }
  main h2.title span {
    margin-top: 2%;
    padding-bottom: 3%;
  }
  main h3.title {
    font-size: 16px;
    padding-left: 10px;
    margin-bottom: 4%;
  }
  main .req, main .yet {
    margin-left: 10px;
  }
  main .form_input {
    padding-left: 0;
  }
  main .form-group {
    margin-bottom: 20px;
  }
  main .form_radio .checkbox {
    width: 50%;
    text-align: left;
  }
  main .form_radio .checkbox label {
    text-align: left;
  }
  main section.faq .faq_list {
    padding: 3% 3% 1%;
  }
  main section.faq .faq_list li {
    margin-bottom: 10px;
  }
  main section.faq .faq_list li a {
    position: static;
  }
  main section.faq .faq_list li a:after {
    display: none;
  }
  main section.box ul.num li span {
    width: 8%;
  }
  main section.box ul.num li p {
    width: 92%;
  }
  main section.list .library dl dd.txt {
    width: 100%;
    padding: 2% 0;
  }
  main section.content.member {
    padding: 4% 0 10%;
  }

  .member-area {
    margin-bottom: 0!important;
  }
  main section.content.member.talk {
    margin-bottom: 6%;
    font-size: 11px;
  }
  main section.content.member.talk02 ul.list li {
    font-size: 11px;
  }
  main section.content.member.work {
    margin-bottom: 1%;
  }
  main section.content.member ul.list {
    margin-bottom: 3%;
  }
  main section.content.member ul.list a.mask:hover .text_wrap .text p {
    font-size: 75%;
  }
  main section.message_content {
    background: none;
    height: auto;
  }
  main section.message_content h2.title {
    padding-top: 5%;
    margin-bottom: 4%;
  }
  main section.message_content h3.title {
    font-size: 120%;
    margin-bottom: 3%;
  }
  main section.message_content p {
    font-size: 12px;
  }
  main section.news_content {
    margin: 6% auto 2%;
  }
  main section.news_content .col-md-6.col-xs-12 {
    margin-bottom: 3%;
  }
  main section.news_content h2.title {
    margin-bottom: 3%;
  }
  main section.news_content table th.news_img {
    width: 25%;
  }
  main section.news_content table th.news_img img.cate {
    width: 48px;
    min-width: 48px;
  }
  main section.news_content table th.news_img img {
    width: 100%;
    min-width: 114px;
  }
  main section.news_content table td {
    width: 75%;
    padding: 2% 2% 0 3%;
  }
  main section.news_content table td .text {
    font-size: 75%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    word-wrap: break-word;
    height: 60px;
  }
  main section.news_content table td .data {
    width: 98%;
    position: static;
    font-size: 10px;
    padding-top: 1%;
  }
  main .btn {
    padding: 15px 0;
  }
  main .btn,
  main .btn.btn-lg {
    max-width: 100% !important;
    min-width: 100% !important;
    font-size: 100% !important;
  }
  main .confirm_btn {
    max-width: 96%;
  }
  main img {
    max-width: 100%;
    height: auto;
  }
  main .right_img,
  main .left_img {
    float: none;
    margin: 0 auto 20px;
  }
  main.recruit .rec_message .rec_message_text {
    margin-bottom: 8%;
  }
  main section.content {
    margin-bottom: 2%;
  }
  main.recruit .rec_message .rec_message_text {
    margin-bottom: 8%;
  }
  main section.content {
    margin-bottom: 2%;
  }
  main.message .container-fluid section.content .statement_text01 {
    margin: 0 0 5%;
  }

  main.message .container-fluid section.content .statement_text02 {
    margin: 0 0 5%;
  }

  main.message .container-fluid section.content .cred {
    margin: 0 11% 5%;
  }

  main.message .container-fluid section.content .statement_text03 {
    margin: 0 0 10%;
  }

  main.message .container-fluid section.content .statement_text04 {
    margin: 0 0 10%;
    padding: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding: 22% 10%;
  }

  main section.content.member.work {
    padding-top: 0;
  }
  main section.content.member.work .title {
    margin: 25px 0 30px;
  }
  main .recruit_news dl dt, main .recruit_news dl dd {
  display: block;
  font-weight: normal;
  font-size: 12px;
  color: #fff;
  float: none;
  margin-left: 0;
  }
  main .rec_message_text {
    font-size: 12px;
  }
  main.press .nav-tabs li a {
    padding: 10px 6px!important;
    font-size: 80%;
  }
  .not_found_title {
  padding-bottom: 20px;
  font-size: 18px;
  }
  .not_found_text {
    padding-bottom: 30px;
    font-size: 13px;
  }
  main .pagination span, main .pagination a {
    margin: 0 5px;
  }
  main .company_list.profile dl dd ul.transaction01,
  main .company_list.profile dl dd ul.transaction02 {
  width: 100%;
  float: none;
  }
}

@media (max-width: 600px) {
  main .container-fluid.company_top section.content.company_top_text .company_top_title {
    width: 100%;
    margin-bottom: 4%;
  }
  main .container-fluid.message,
  main .container.message,
  main .sub_vis.message {
    background: #f2f2f2 url(../images/top/mes_sp.jpg) right bottom no-repeat;
    background-size: 100%;
    height: auto;
  }
  main ul.work_list li .work_logo01 {
  width: 137px;
}

main ul.work_list li .work_logo02 {
  width: 210px;
}

main ul.work_list li .work_logo03 {
  width: 130px;
}

main ul.work_list li .work_logo04 {
  width: 120px;
}
}

@media (max-width: 430px) {
  main section.faq span.faq {
    float: left;
    width: 6%;
  }
  main section.faq .text {
    width: 90%;
    float: right;
    padding-top: 2.5%;
  }
  main.recruit.message.message_top .sub_vis_wrap .sub_vis dl.title {
    background: none;
    position: absolute;
    padding: 0;
    top: 22%;
    line-height: 1;
    margin-top: -2em;
    /*（line-height）×（行数）/2 */
    width: 48%;
    padding-left: 2%;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding: 22% 20px;
  }
  main section.content.member ul.list li {
    font-size: 80%;
  }

  main h2.title span {
    font-size: 12px;
  }
}

/* footer */
footer {
  background: #f6f6f6;
  font-size: 11px;
}

footer img {
  width: 100%;
  height: auto;
}

footer.recruit .f_content {
  padding-top: 25px;
}

footer .f_logo {
  max-width: 151px;
}

footer.recruit .f_logo {
  width: 300px;
  max-width: none;
  float: left;
  padding-right: 50px;
}

footer .f_logo img {
  width: 100%;
}

footer .f_logo a:hover {
  background: none;
}

footer .f_nav nav ul {
  margin-left: 50px;
}

footer.recruit .f_nav nav ul li.title {
  font-size: 17px;
}

footer.recruit .f_nav nav ul.fb h3.title {
  color: #00a4bb;
}

footer.recruit .f_nav nav ul.fb .text .link a {
  width: 100%;
  float: none;
}

footer.recruit .f_nav nav ul.fb .text .link a img {
  margin-bottom: 15px;
}

footer .f_content {
  padding: 40px 0;
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}

footer .f_content ul.f_bn {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 35px 2.5%;
  justify-content: center;
}

footer .f_content ul.f_bn li {
  width: calc(100% / 3 - 1.7%);
}

footer .f_content ul.f_bn li img {
  margin-bottom: 5px;
  max-width: 100%;
  height: auto;
}

footer .f_content ul.f_bn li p {
  font-size: 12px;
}

footer .f_nav {
  border-top: 1px solid #fff;
  padding: 40px 0 30px;
  overflow: hidden;
}

footer .f_nav ul li a  {
  position: relative;
  display: inline-block;
  transition: .3s;
  text-decoration: none;
}

footer .f_nav li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #000;
  transition: .3s;
}

footer .f_nav a:hover::after {
  width: 100%;
}

footer .f_nav a:hover, footer .f_nav a:active {
  text-decoration: none;
  color: #000;
  opacity: 1;
}

footer .f_nav nav {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

footer .f_nav nav ul.fb {
  float: right;
  width: 24.5%;
  border: 1px solid #bfbfbf;
  position: relative;
  font-size: 13px;
  text-align: center;
}

footer .f_nav nav ul.fb li {
  margin-bottom: 0;
}

footer .f_nav nav ul.fb .text {
  padding: 20px 5% 0;
}

footer .f_nav nav ul.fb .text p {
  padding-bottom: 10px;
  text-align: left;
}

footer .f_nav nav ul.fb .text .link {
  overflow: hidden;
}

footer .f_nav nav ul.fb .text .link a {
  float: right;
  width: 49%;
}

footer .f_nav nav ul.fb .text .link a.official {
  float: left;
}

footer .f_nav nav ul.fb .text .link a img {
  max-width: 198px;
  width: auto;
  height: auto;
  margin-bottom: 10px;
}

footer .f_nav nav ul.fb .text .link a:hover, footer .f_nav nav ul.fb .text .link a:active {
  opacity: 0.8;
}

footer .f_nav nav ul.fb .text .link a::after {
  display: none;
}

footer .f_nav nav ul.fb h3.title {
  position: absolute;
  top: -24px;
  left: 22%;
  padding: 0 5%;
  background: #f6f6f6;
  display: inline;
  color: #3b5998;
  font-weight: bold;
}

footer .f_nav nav ul li {
  margin-bottom: 10px;
}

footer .f_nav nav ul li.title {
  font-size: 14px;
  margin-bottom: 20px;
}

@media (max-width: 1140px) {
  footer .f_content,
  footer .f_nav {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 991px) {
  footer .f_nav {
    font-size: 9px;
  }
  footer .f_nav nav ul li.title {
    font-size: 11px;
  }
  footer.recruit .f_logo {
    display: none;
  }
  footer.recruit .f_nav nav ul {
    width: 16%;
  }
  footer .f_content ul.f_bn {
    gap: 20px 3%;
  }
}

@media (max-width: 767px) {
  footer .f_content {
    padding: 50px 10px 0;
    border-bottom: none;
  }
  footer .f_content ul.f_bn {
    display: block;
  }
  footer .f_content ul.f_bn li {
    width: 100%;
    max-width: 370px;
    margin: 0 auto 5% !important;
  }
  footer .f_content ul.f_bn li a {
    width: 100%;
  }
  footer .f_nav {
    font-size: 13px;
    border-top: none;
    padding: 20px 20px 30px;
  }
  footer .f_nav div.f_logo {
    display: none;
  }
  footer .f_nav nav ul.fb {
    width: 100%;
  }
  footer .f_nav nav ul.fb .text {
    padding-left: 4%;
    padding-right: 4%;
    padding-bottom: 2%;
  }
  footer .f_nav nav ul.fb .text .link {
    text-align: center;
  }
  footer .f_nav nav ul.fb .text .link a img {
    max-width: 96%;
  }
  footer .f_nav nav ul.fb h3.title {
    left: 30%;
    top: -20px;
  }
}

@media (max-width: 550px) {
  footer .f_content ul.f_bn li {
    max-width: none;
    margin: 0 0 5% !important;
    float: none;
  }
}

.f_nav_sp {
  margin-bottom: 0;
  background: #f6f6f6;
}

.f_nav_sp li {
  background: url("../images/common/icon_next.png") no-repeat 98% center;
  background-size: 9px 18px;
  padding-top: 5%;
  padding-bottom: 5%;
  border-radius: 0 !important;
}

.f_nav_sp li a {
  display: block;
}

.copy_wrap {
  background: #4c9d2a;
  color: #fff;
  clear: both;
}

.copy_wrap .copy {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  text-align: right;
  font-size: 12px;
  padding: 10px 0;
}

.copy_wrap .copy ul.list {
  text-align: left;
  width: 50%;
  float: left;
}

.copy_wrap .copy ul.list li {
  display: inline;
  padding-right: 20px;
}

.copy_wrap .copy ul.list a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #fff;
}

.copy_wrap .copy ul.list a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: .3s;
}

.copy_wrap .copy ul.list a:hover::after {
  width: 100%;
}

.copy_wrap .copy ul.list a:hover, .copy_wrap .copy ul.list a:active {
  text-decoration: none;
  color: #fff;
  opacity: 1;
}

.copy_wrap .copy .copyright {
  font-size: 12px;
}
@media (max-width: 1120px) {
  .copy_wrap .copy ul.list li {
    display: inline;
    padding-left: 20px;
  }

  .copy_wrap .copy .copyright {
    padding-right: 20px;
  }

  .copy_wrap .copy .pagetop {
    padding-right: 20px;
  }

}

@media (max-width: 767px) {
  .copy_wrap .copy {
    text-align: center;
  }
  .copy_wrap .copy .copyright {
    font-size: 9px;
  }
}

@media print {
  .h_menu,
  .gnav02,
  .gnav03,
  .gnav04,
  .gnav05,
  .gnav06,
  .gnav07,
  .gnav08,
  footer,
  .side_ir,
  .breadcrumb,
  .rec_pc_gnav,
  .list-group-item {
    display: none;
  }
}

.blog_content p {
  margin-bottom: 30px;
  line-height: 1.8;
}

.blog_content a {
  color: #4c9d2a;
  text-decoration: underline;
}

.blog_content a:hover {
  text-decoration: none;
}

blockquote {
  margin-top: 40px;
}

.side_blog p {
  line-height: 1.6;
}

main section.content.detail h4 {
    background: #f6f6f6 none repeat scroll 0 0;
    color: #000;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 20px;
    padding: 1% 2%;
}

optgroup {
  padding-bottom: 10px;
  font-style:normal;
  color: #000;
}

/*20180221 追記*/

main.recruit .transfer-txt {
  margin: 50px 0 0;
  text-align: center;
  font-size: 18px;
}

.fz-s {
  font-size: 84%;
  line-height: 1.4!important;
}

.block {
  display: block;
}

.entry_box {
  width: 31%;
  float: left;
  margin-right: 3.5%;
}

main .entry_title {
  font-size: 17px;
  background: #4c9d2a;
  color: #fff;
  padding: 9px 0 7px 12px;
}

.entry_box ul {
  padding: 20px 10px 0 3px;
}

.entry_box li {
  margin-bottom: 18px;
  line-height: 1.4;
  color: #4c9d2a;
}

.entry_box li:last-child {
  margin-bottom: 0;
}

.entry_box li a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #4c9d2a;
}

.entry_box li a span.link_icon {
  background: url(../images/common/icon_next_grn.png) left 8px no-repeat;
  background-size: 13px;
  padding: 2px 0 2px 20px;
  display: block;
}

.entry_box li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #4c9d2a;
  transition: .3s;
}

.entry_box li a:hover::after {
  width: 100%;
}

.entry_box li a:hover,
.entry_box li a:active {
  text-decoration: none;
  color: #4c9d2a;
}

.entry_box:last-child {
  margin-right: 0;
}

.entry_attention {
  margin: 15px 0 40px;
  font-size: 13px;
}

.indent-list li {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.5;
  margin-bottom: 5px;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.mb3 {
  margin-bottom: 3%;
}

.text_link {
  color: #4c9d2a;
}

@media (max-width: 767px) {
  main.recruit .transfer-txt {
    margin: 30px 0;
    font-size: 18px;
  }

  .entry_box {
    float: none;
    width: 100%;
    padding-bottom: 25px;
  }
}


/* 英語ナビ対応 */

.en-header {
  padding: 20px 0 10px;
  border-bottom: 2px solid #4c9d2a;
}

.en-header-inner {
  width: 1100px;
  margin: 0 auto;
}

.en-title {
  float: left;
  width: 198px;
}

.en-link {
  padding-top: 20px;
  float: right;
}

.en-link a {
  color: #4c9d2a;
}

.en-link a:hover,
.en-link a:active {
  color: #4c9d2a;
}

.en-link a.text_link::after {
  background-color: #4c9d2a;
}

.copy_wrap .en-copyright {
  text-align: center;
}

@media (max-width: 1100px) {
  .en-header-inner {
    width: auto;
    margin: 0;
    padding: 0 15px;
  }
}

@media (max-width: 768px) {
  .en-header {
    padding: 5px 0;
  }

  .en-title {
    width: 120px;
  }
}

/* 事業内容改定
======================================================= */

/*　事業内容トップ */
.top .work {
  padding-bottom: 30px;
  background: url(../images/top/work_bg_pc.jpg) top center no-repeat;
}

.service_work {
  padding-bottom: 45px;
  background: url(../images/service/work_bg_pc.jpg) top center no-repeat;
}

.work_txt {
  margin-bottom: 40px;
}

.work_logo {
  padding-bottom: 45px;
}

.service_feature img,
.service_box img,
.service_work img,
.work_logo img,
.service_sns img {
  width: 100%;
}

.service_details_link {
  text-align: center;
}

.service_details_link:hover {
  opacity: .8;
}

.service_details_link a {
  padding-bottom: 20px;
  color: #4c9d2a;
  background: url(/images/common/icon_bottom.png) center bottom no-repeat;
  background-size: 16px 8px;
}

.work_logo_1 {
  width: 50%;
  float: left;
  border-right: 1px solid #ddd;
}

.work_logo_2 {
  width: 50%;
  float: right;
}

.work_logo h3 {
  text-align: center;
  margin: 0 auto 30px;
}

.work_logo_1 h3 {
  width: 332px;
}

.work_logo_2 h3 {
  width: 282px;
}

.work_logo li {
  margin: 0 auto 35px;
}

.work_logo .logo_1 {
  width: 170px;
}

.work_logo .logo_2 {
  width: 281px;
}

.work_logo .logo_3 {
  width: 250px;
}

.work_logo .logo_4 {
  width: 244px;
}

.work_logo .logo_5 {
  width: 208px;
}

.work_logo .logo_6 {
  width: 175px;
}

.work_logo .logo_7 {
  width: 190px;
}

.work_logo .logo_8 {
  width: 140px;
}

.work_logo .logo_9 {
  width: 155px;
}

.work_logo .logo_10 {
  width: 140px;
}

.work_area {
  width: 1100px;
  margin: 0 auto;
}

.service_lead {
  margin-bottom: 50px;
}

.service_feature {
  margin-bottom: 60px;
}

.service_feature_box {
  width: 33%;
  border-right: 1px solid #ddd;
  float: left;
  line-height: 1.5;
  font-size: 15px;
}

.feature_box_1 {
  padding-right: 30px;
}

.feature_box_2 {
  padding: 0 30px;
}

.feature_box_3 {
  padding-left: 30px;
}

.service_feature_img {
  height: 230px;
}

.feature_box_1 .service_feature_img {
  padding: 50px 60px 0;
}

.feature_box_2 .service_feature_img {
  padding-top: 40px;
}

.feature_box_3 {
  border: none;
}

.service_btn_title {
  text-align: center;
  font-size: 18px;
}

.service_btn_area {
  text-align: center;
}

.service_btn {
  padding-top: 10px;
  width: 370px;
  margin: 0 15px;
  max-width: none;
  min-width: none;
}

.service_btn a {
  min-width: 370px;
}

.service_btn p {
  width: 370px;
  padding-top: 8px;
  color: #000;
  font-size: 13px;
  white-space: normal;
  text-align: left;
}

.service_list {
  clear: both;
  margin-bottom: 50px;
}

.service_list_last {
  margin-bottom: 80px;
}

.service_list h4 {
  font-size: 16px;
  margin-bottom: 8px;
  font-weight: bold;
  padding-top: 30px!important;
}

.service_list h4:first-child {
  padding-top: 0!important;
}

.service_box {
  width: 342px;
  float: left;
  margin-right: 37px;
}

.service_list .service_box:last-child {
  margin-right: 0;
}

.service_logo {
  height: 130px;
  border: 2px solid #f3f3f3;
  margin-bottom: 12px;
}

.service_logo_1 {
  padding: 45px 70px 0;
}

.service_logo_2 {
  padding: 50px 25px 0;
}

.service_logo_3 {
  padding: 50px 30px 0;
}

.service_logo_4 {
  padding: 50px 35px 0;
}

.service_logo_5 {
  padding: 43px 46px 0;
}

.service_logo_6 {
  padding: 30px 65px 0 ;
}

.service_logo_7 {
  padding: 38px 57px 0;
}

.service_logo_8 {
  padding: 45px 60px 0;
}

.service_logo_9 {
  padding: 45px 55px 0;
}

.service_logo_10 {
  padding: 45px 50px 0;
}

.service_logo_11 {
  padding: 45px 62px 0;
}

.service_logo_12 {
  padding: 37px 70px 0;
}

.service_box dt {
  font-size: 18px;
  margin-bottom: 7px;
  font-weight: normal;
}

.service_box dd {
  font-size: 15px;
  line-height: 1.5;
}

.service_box a.text_link {
  font-size: 15px;
}

.service_logo a:hover {
  opacity: .8;
}

.service_link {
  padding-bottom: 5px;
}

.service_sns li {
  display: inline-block;
}

.service_sns .icon_twitter,
.service_sns .icon_facebook,
.service_sns .icon_instagram {
  width: 20px;
  margin-right: 5px;
}

.icon_sns {
  margin-top: -6px;
}

.icon_sugi {
  margin-top: 10px;
}

.service_sns .btn_app {
  width: 93px;
  margin-right: 5px;
}

.service_sns .btn_google {
  width: 115px;
}

.service_offer {
  padding-top: 6px;
  font-size: 13px;
}

@media (max-width: 1150px) {
  .work_area {
    width: 100%;
  }

  .service_feature_img {
  height: 200px;
  }

  .feature_box_2 .service_feature_img {
    padding-top: 40px;
  }

  .feature_box_3 {
    border: none;
  }

  .service_box {
    width: 32%;
    margin-right: 2%;
  }

  .service_box:last-child {
    margin-right: 0;
  }
}

@media (max-width: 950px) {
  .work_area {
    width: 100%;
  }

  .service_feature_img {
    height: 150px;
  }

  .feature_box_1 .service_feature_img {
    padding: 25px 35px 0;
  }

  .feature_box_2 .service_feature_img {
    padding-top: 25px;
  }

  .service_box {
    width: 32%;
    margin-right: 2%;
  }

  .service_box:last-child {
    margin-right: 0;
  }
}


@media (max-width: 768px) {
  .top .work {
    padding-bottom: 0px;
    background: url(../images/top/work_bg_sp.jpg) top center no-repeat;
  }

  .service_work {
    padding: 0 10px 10px;
    background: url(../images/service/work_bg_sp.jpg) center center no-repeat;
  }

  .work_txt {
    margin-bottom: 20px;
  }

  .work_logo {
    padding-bottom: 10px;
  }

  .work_logo h3 {
    text-align: center;
    margin: 0 auto 20px;
  }

  .work_area {
    width: 100%;
    margin: 0 auto;
  }

  .service_lead {
    margin: 0 0 20px;
  }

  .service_feature {
    margin-bottom: 20px;
  }

  .service_feature_box {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #ddd;
    float: none;
  }

  .service_btn_title {
     font-size: 16px;
  }

  .service_feature_box:last-child {
    border: none;
    margin-bottom: 0!important;
    padding-bottom: 0!important;
  }

  .feature_box_1,
  .feature_box_2,
  .feature_box_3 {
    padding: 0 0 20px;
    margin-bottom: 20px;
  }

  .feature_box_1 .service_feature_img {
    padding: 0 35% 10px;
  }

  .feature_box_2 .service_feature_img,
  .feature_box_3 .service_feature_img {
    padding: 0 25% 10px;
  }

  .service_feature_img {
    height: auto;
    padding: 0 30px 10px;
  }

  .feature_box_1 .service_feature_img {
    width: 100%;
    margin: 0 auto;
    padding-top: 0;
  }

  .feature_box_2 .service_feature_img {
    padding-top: 0;
  }

  .work_logo_1 h3 {
    width: 265px;
  }

  .work_logo_2 h3 {
    width: 225px;
  }

  .work_logo img {
    width: 100%;
  }

  .work_logo li {
    margin: 0 auto 20px;
  }

  .work_logo_1 {
    width: 100%;
    float: none;
    border-right: none;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
  }

  .work_logo_2 {
    width: 100%;
    float: none;
  }

  .service_btn {
    padding: 0 0 20px!important;
    width: auto;
    margin: 0;
  }

  .service_btn p {
    width: auto;
  }

  .work_logo .logo_1 {
    width: 136px;
  }

  .work_logo .logo_2 {
    width: 225px;
  }

  .work_logo .logo_3 {
    width: 200px;
  }

  .work_logo .logo_4 {
    width: 195px;
  }

  .work_logo .logo_5 {
    width: 166px;
  }

  .work_logo .logo_6 {
    width: 150px;
  }

  .work_logo .logo_7 {
    width: 160px;
  }

  .work_logo .logo_8 {
    width: 112px;
  }

  .service_box {
    width: auto;
    float: none;
    margin: 0 0 30px;
  }

  .service_list .service_box:last-child {
    margin-right: 0;
  }

  .service_list_last {
    margin-bottom: 0;
  }

  .service_logo {
    height: auto;
    border: 2px solid #f3f3f3;
    margin-bottom: 8px;
  }

  .service_list {
    margin-bottom: 0;
  }

  .service_logo_1 {
    padding: 40px 30%!important;
  }

  .service_logo_2 {
    padding: 40px 30%!important;
  }

  .service_logo_3 {
    padding: 40px 30%!important;
  }

  .service_logo_4 {
    padding: 40px 30%!important;
  }

  .service_logo_5 {
    padding: 40px 30%!important;
  }

  .service_logo_6 {
    padding: 40px 30%!important;
  }

  .service_logo_7 {
    padding: 40px 30%!important;
  }

  .service_logo_8 {
    padding: 40px 30%!important;
  }

  .service_logo_9 {
    padding: 40px 32%!important;
  }

  .service_logo_10 {
    padding: 40px 32%!important;
  }

  .service_logo_11 {
    padding: 40px 32%!important;
  }

  .service_logo_12 {
    padding: 40px 34%!important;
  }

  .service_box dt {
    font-size: 18px;
    margin-bottom: 3px;
    font-weight: normal;
  }

  .service_box dd {
    font-size: 15px;
    line-height: 1.5;
  }

  main section.content.member.service {
    padding: 0;
    margin-bottom: 0;
  }
}

@media (max-width: 500px) {
  .feature_box_1 .service_feature_img {
    padding: 0 75px 10px;
  }

  .service_feature_img {
    height: auto;
    padding-bottom: 10px;
  }

  .feature_box_2 .service_feature_img {
    padding: 0 30px 10px;
  }

  .feature_box_3 .service_feature_img {
    padding: 0 30px 10px;
  }

  .service_logo_1 {
    padding: 30px 60px!important;
  }

  .service_logo_2 {
    padding: 30px 28px!important;
  }

  .service_logo_3 {
    padding: 36px 28px 32px!important;
  }

  .service_logo_4 {
    padding: 36px 28px 32px!important;
  }

  .service_logo_5 {
    padding: 25px 45px!important;
  }

  .service_logo_6 {
    padding: 14px 60px!important;
  }

  .service_logo_7 {
    padding: 25px 55px!important;
  }

  .service_logo_8 {
    padding: 30px 50px!important;
  }

  .service_logo_9 {
    padding: 30px 50px!important;
  }

  .service_logo_10 {
    padding: 30px 50px!important;
  }

  .service_logo_11 {
    padding: 28px 60px 22px!important;
  }

  .service_logo_12 {
    padding: 22px 65px 22px!important;
  }
}

/*製薬/医療関連企業の方 トップ*/

.service_company_box {
  width: 48%;
  float: left;
  margin: 0 4% 30px 0;
}

.service_company_box:nth-child(2n) {
  margin-right: 0;
}

.service_company_box:nth-child(2n+1) {
  clear: both;
}

.service_company_img {
  margin-bottom: 3px;
}

.service_company_img img {
  width: 100%;
}

.service_company_box dt {
  font-weight: normal;
  margin-bottom: 5px;
}

.service_company_box dt a {
  font-size: 18px;
}

@media (max-width: 600px) {
  .service_company_box {
    width: 100%;
    float: none;
    margin: 0 0 25px;
  }
}

/*マーケティング支援*/

.service h3.title {
  margin-bottom: 10px;
}

.marketing_target {
  margin-bottom: 50px;
}

.marketing_target p {
  float: left;
  width: 70%;
}

.marketing_target_img {
  float: right;
  width: 26%;
}

.marketing_target_img img {
  width: 100%;
}

.marketing_flow {
  margin-bottom: 60px;
}

.marketing_service {
  margin-bottom: 15px;
}

.marketing_service_txt {
  margin-bottom: 12px;
}

main.service ul.job_flow li.end .flow_title  {
  border: 2px solid #4c9d2a;
  text-align: center;
  padding: 26px 0;
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1.5;
  background: #fff;
  color: #000;
}

.service .flow_text {
  font-size: 15px;
  line-height: 1.5;
}

.service .job_flow {
  margin-bottom: 40px;
}

.marketing_service_box {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}
.marketing_service_box:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.marketing_service_img {
  width: 20%;
  float: left;
}

.marketing_service_img img {
  width: 100%;
}

.marketing_service_box h4 {
  padding-left: 23%;
  margin-bottom: 8px;
  color: #4c9d2a;
}

.marketing_service_box p {
  padding-left: 23%;
}

.service_btn_contact {
  margin-bottom: 25px;
}

@media (max-width: 600px) {
  .marketing_target {
    margin-bottom: 20px;
  }

  .marketing_target p {
    float: none;
    width: 100%;
    margin-bottom: 10px;
  }

  .marketing_target_img {
    float: none;
    width: 50%;
    margin: 0 auto;
  }

  .marketing_flow {
    margin-bottom: 30px;
  }

  .marketing_service {
    margin-bottom: 0;
  }

  .marketing_service_box {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .marketing_service_box:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }

  .marketing_service_img {
    width: 40%;
    float: left;
  }

  .marketing_service_img img {
    width: 100%;
  }

  .marketing_service_box h4 {
    padding-left: 46%;
    padding-top: 32px;
    margin-bottom: 8px;
    font-size: 16px;
  }

  .marketing_service_box p {
    padding: 10px 0 0;
    clear: both;
  }

  .service .job_flow {
    margin-bottom: 20px;
  }

  .flow_title {
    font-size: 16px;
    font-weight: bold;
  }
}

@media (max-width: 600px) {
  .marketing_target_img {
    width: 80%;
  }
}

/*リサーチ*/

.research_feature {
  margin-bottom: 35px;
}

.research_feature_lead {
  margin-bottom: 15px;
}

.research_lead_txt span {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 13px;
  line-height: 1.4;
  padding-top: 12px;
}

.research_lead_txt span a {
  padding-left: 1em;
}

.research_feature_box {
  margin-bottom: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}

.research_feature_box.last {
  border-bottom: none;
  margin-bottom: 25px;
}

.research_feature_img {
  float: left;
  width: 9%;
  padding: 5px 2.2% 0;
}

.research_feature_img img {
  width: 100%;
}

.research_feature_txt {
  float: right;
  width: 91%;
}

.research_feature_txt dt {
  font-size: 17px;
  font-weight: bold;
  padding-top: 5px;
  margin-bottom: 5px;
}

.research_feature_txt dd {
  font-size: 15px;
}

.research_panel_txt {
  margin-bottom: 17px;
}

.research_panel dt {
  font-weight: bold;
  padding-bottom: 8px;
}

.research_panel dd {
  margin-bottom: 17px;
}

.research_panel dd:last-child {
  margin-bottom: 5px;
}

.research_panel table {
  width: 32%;
  float: left;
  margin-right: 2%;
}

.research_panel table:last-child {
  margin-right: 0;
}

.research_panel table th {
  background: #a4a4a4;
  color: #fff;
  padding: 10px;
  font-weight: normal;
}

.research_panel table th:nth-child(even) {
  text-align: center;
  border-left: 2px solid #fff;
}

.research_panel table td {
  padding: 12px 15px;
  background: #efefef;
  border-bottom: 2px solid #fff;
}

.research_panel table td:nth-child(even) {
  text-align: right;
  border-left: 2px solid #fff;
}

.research_attention {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 45px;
}

.research_attention li {
  padding-left: 1em;
  text-indent: -1em;
}

@media (max-width: 800px) {
  .research_feature {
    margin-bottom: 25px;
  }

  .research_feature_box {
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .research_feature_box.last {
    border-bottom: none;
    margin-bottom: 10px;
    padding-bottom: 0;
  }

  .research_feature_img {
    display: none;
  }

  .research_feature_txt {
    width: 100%;
  }

  .research_feature_txt dt {
    font-size: 16px;
    font-weight: bold;
    padding-top: 0px;
    margin-bottom: 5px;
  }

  .research_feature_txt dd {
    font-size: 15px;
  }

  .research_panel table {
    width: 100%;
    float: none;
    margin: 0 0 20px;
  }

  .research_panel table:last-child {
    margin: 0 0 5px;
  }

  .research_attention {
    margin-bottom: 20px;
  }
}

@media (max-width: 500px) {
  .research_title_01 {
    padding-top: 25px!important;
  }

  .research_title_03 {
    padding-top: 15px!important;
  }
}


/* 医師のキャリア支援/開業支援マッチング支援 */

.career_service img {
  width: 100%;
}

.career_service_list_link {
  padding-top: 8px;
  text-align: center;
  cursor: pointer;
}

.career_service_list_link a {
  padding-bottom: 20px;
  color: #4c9d2a;
  background: url(/images/common/icon_bottom.png) center bottom no-repeat;
  background-size: 16px 8px;

}

.career_txt {
  margin-bottom: 30px;
}

.career_img {
  padding: 0 50px 20px;
  text-align: center;
}

.career_3column {
  margin-bottom: 50px;
}

.career_2column {
  margin-bottom: 30px;
}

.career_3column .career_column {
  width: 32%;
  margin-right: 2%;
  float: left;
}

.career_3column .career_column:last-child {
  margin-right: 0;
}

.career_2column .career_column {
  width: 49%;
  margin-right: 2%;
  float: left;
}

.career_2column .career_column:last-child {
  margin-right: 0;
}

.career_column_title {
  background: #54a13d;
  color: #fff;
  padding: 6px 0;
  text-align: center;
}

.career_column_box {
  background: #f7f7f7;
  padding: 20px;
}

.career_column_img {
  margin-bottom: 15px;
  text-align: center;
  height: 190px;
}

.career_column_img img {
  width: auto;
  height: 190px;
}

.career_column_txt {
  font-size: 15px;
  line-height: 1.5;
}

.career_sub_title {
  margin-bottom: 12px;
}

.career_btn {
  margin-bottom: 50px;
}

.career_flow {
  margin-bottom: 50px;
}

.career_img_sp {
  display: none;
}

@media (max-width: 1000px) {
  .career_column_img {
    height: auto;
    width: auto;
  }

  .career_column_img img {
    width: 100%;
    height: 100%;
  }

  .career_column_img_04 {
    padding: 0 10%;
  }

  .career_column_img_05 {
    padding: 0 18%;
  }

  .career_btn {
    margin-bottom: 30px;
  }
}

@media (max-width: 950px) {
  .career_service_list {
    display: none;
  }
}

@media (max-width: 700px) {
  .career_txt {
    margin-bottom: 20px;
  }

  .career_img {
    padding: 0 0 15px;
  }

  .career_column {
    margin-bottom: 0px;
  }

  .career_3column,
  .career_2column {
    margin-bottom: 25px;
  }

  .career_flow {
    margin-bottom: 25px;
  }

  .career_3column .career_column {
    width: 100%;
    margin-right: 0;
    float: auto;
  }

  .career_2column .career_column {
    width: 100%;
    margin-right: 0;
    float: none;
  }

  .career_column_title {
    padding: 4px 0;
  }

  .career_column_box {
    padding: 20px;
  }

  .career_column_img {
    margin-bottom: 8px;
    padding: 0 22%;
  }

  .career_column_img_03 {
    margin-bottom: 0!important;
  }

  .career_img_pc {
    display: none;
  }

  .career_img_sp {
    display: block;
  }

  .career_btn {
    margin-bottom: 30px;
  }
}

@media (max-width: 400px) {
  .career_column_img {
    padding: 0 14%;
  }
}
/*life style*/

.lifestyle_txt {
  font-size: 14px;
}

/* 製薬/医療関連企業の方 */

.health_service_box {
  width: 48%;
  float: left;
  margin-right: 4%;
}

.health_service_box img {
  width: 100%;
}

.health_service_box:last-child {
  margin-right: 0;
}

.health_service_img {
  margin-bottom: 10px;
}


.health_service_box dt {
  font-weight: normal;
  margin-bottom: 6px;
  font-size: 18px;
}

.health_service_box dd {
  font-size: 15px;
  line-height: 1.6;
}

.health_service_box dd span {
  font-size: 13px;
}

.health_feature_box {
  margin-bottom: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}

.health_feature_box.last {
  border-bottom: none;
  margin-bottom: 25px;
}

.health_feature_img {
  float: left;
  width: 8.5%;
}

.health_feature_img img {
  width: 100%;
}

.health_feature_txt {
  float: right;
  width: 91%;
}

.health_feature_txt dt {
  font-size: 17px;
  font-weight: bold;
  padding-top: 5px;
  margin-bottom: 5px;
}

.healthh_feature_txt dd {
  font-size: 15px;
}

.health_panel_txt {
  margin-bottom: 17px;
}

@media (max-width: 800px) {
  .health_feature {
    margin-bottom: 25px;
  }

  .health_feature_box {
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .health_feature_box.last {
    border-bottom: none;
    margin-bottom: 10px;
    padding-bottom: 0;
  }

  .health_feature_img {
    display: none;
  }

  .health_feature_txt {
    width: 100%;
  }

  .health_feature_txt dt {
    font-size: 16px;
    font-weight: bold;
    padding-top: 0px;
    margin-bottom: 5px;
  }

  .health_feature_txt dd {
    font-size: 15px;
  }
}

@media (max-width: 600px) {
  .health_service_box {
    width: 100%;
    float: none;
    margin: 0 0 25px;
  }
}

/* 採用メンバーページ */

.member-area {
  margin-bottom: 10px;
}

.member-box {
  width: 30%;
  margin: 0 5% 30px 0;
  float: left;
}

.member-box:nth-child(3n) {
  margin-right: 0;
}

.member-box:nth-child(4) {
  clear: both;
}

.member-img {
  margin-bottom: 12px;
  position: relative;
}

.member-img img {
  width: 100%;
}

.member-img span {
  background: #4c9d2a;
  width: 80px;
  font-size: 12px;
  color: #fff;
  padding: 5px 0;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
}

.member-title {
  margin-bottom: 3px;
}

.member-title span:after {
  content: "";
  width: 18px;
  height: 18px;
  background: url(../images/common/icon_next_grn.png) left center no-repeat;
  background-size: 18px;
  padding-left: 24px;
  margin-left: 3px;
}

.member-title a {
  color: #4c9d2a;
  font-size: 18px;
  line-height: 1.5;
}

.member-title a:hover {
  text-decoration: underline;
}

.member-day {
  font-size: 14px;
}

.rec_blog li {
  float: left;
  margin-right: 5%;
  width: 30%;
}

.rec_blog li img {
  width: 100%;
}

.rec_blog li:last-child {
  margin-right: 0;
}

@media (max-width: 780px) {
  .member-box {
    width: 48%;
    margin: 0 4% 20px 0;
    float: left;
  }

  .member-box:nth-child(4) {
    clear: none;
  }

  .member-box:nth-child(3n) {
    margin-right: 4%;
  }

  .member-box:nth-child(2n) {
    margin-right: 0;
  }

  .member-box:nth-child(3),
  .member-box:nth-child(5) {
    clear: both;
  }

  .rec_blog {
    display: none;
  }
}

@media (max-width: 500px) {
  .member-box {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
  }

  .member-box:nth-child(3n) {
    margin-right: 0;
  }

  .member-box:nth-child(3),
  .member-box:nth-child(5) {
    clear: both;
  }
}
