@charset "UTF-8";
/**
* Table of Contntens:
*
*  1.0 - リセット
*  2.0 - 基本構造
*  3.0 - ヘッダー
*  4.0 - 全ページ共通
*  5.0 - トップページ
*  6.0 - 下層ページ共通
*  7.0 - ごあいさつ
*  8.0 - 会社情報
*  9.0 - トピックス
*  10.0 - 採用情報
*  11.0 - プライバシーポリシー
*  12.0 - お問い合わせ
*  13.0 - フッター
* -----------------------------------------------------------------------------
*/
/**
* 1.0 - リセット
* -----------------------------------------------------------------------------
*/
/* image */
img {
  border: none;
  vertical-align: bottom; }

/* list */
ul {
  margin: 0;
  padding: 0;
  list-style: none; }

dt, dd {
  margin: 0; }

/* link */
a {
  text-decoration: none; }

/* table */
table {
  width: 100%;
  border-collapse: collapse; }

/* typography */
body {
  font-size: 1em;
  line-height: 1.8;
  color: #595757;
  font-family: "游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif; }

h1, h2, h3, h4 {
  margin: 0; }

.mincho {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif; }

@media (max-width: 768px) {
  body {
    font-size: 0.85em; } }
/* construction */
main {
  display: block; }

/* visibility */
.sponly {
  display: none !important; }

@media (max-width: 768px) {
  .pconly {
    display: none !important; }

  .sponly {
    display: block !important; } }
/* align */
.center {
  text-align: center; }

/**
* 2.0 - 基本構造
* -----------------------------------------------------------------------------
*/
body {
  margin: 0; }

.inner {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 10px;
  padding-right: 10px; }

/**
* 3.0 - ヘッダー
* -----------------------------------------------------------------------------
*/
header {
  padding-top: 10px;
  padding-bottom: 20px; }
  header .inner {
    display: flex;
    justify-content: space-between; }
    header .inner .header_l {
      flex-basis: 22%; }
      header .inner .header_l h1 {
        line-height: 1; }
        header .inner .header_l h1 img {
          width: 100%; }
    header .inner .header_r {
      padding-top: 24px; }
      header .inner .header_r .header_r_top {
        font-size: 1.25vw;
        color: #595757; }
        @media (min-width: 1280px) {
          header .inner .header_r .header_r_top {
            font-size: 16px; } }
        header .inner .header_r .header_r_top span {
          border: 1px solid #595757;
          display: inline-block;
          padding: 1px 10px;
          margin-left: 8px;
          cursor: pointer; }
        header .inner .header_r .header_r_top .normal {
          background-color: #3d6a87;
          color: #fff; }
        header .inner .header_r .header_r_top .large {
          background-color: #fff;
          margin-right: 15px; }
        header .inner .header_r .header_r_top .contact {
          background-color: #3d6a87;
          display: inline-block;
          padding: 1px 2vw;
          border-radius: 6px;
          color: #fff; }
          header .inner .header_r .header_r_top .contact:hover {
            background-color: #27495f; }

@media (max-width: 768px) {
  header {
    padding-top: 3px;
    padding-bottom: 5px;
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff !important;
    border-bottom: 1px solid #eee;
    z-index: 1; }
    header .inner .header_l h1 img {
      width: 120px; } }
/* nav_main */
.nav_main {
  margin-top: 18px; }
  .nav_main ul {
    display: flex;
    justify-content: space-between; }
    .nav_main ul li {
      flex-grow: 1; }
      .nav_main ul li a {
        font-size: 1.313rem;
        color: #3e3a39;
        display: block;
        width: 100%;
        height: 100%;
        text-align: center; }
        .nav_main ul li a:hover {
          text-decoration: underline; }
      .nav_main ul li:not(:last-child) {
        border-right: 1px solid #3e3a39; }

/* Drawer menu */
.drawer-nav {
  background-color: #036eb7; }
  .drawer-nav ul li {
    border-bottom: 1px solid #1785d0; }

.drawer-menu-item {
  color: #fff; }

.drawer-hamburger {
  top: -2px; }

/**
* 4.0 - 全ページ共通
* -----------------------------------------------------------------------------
*/
main {
  margin-bottom: 45px; }

.sec {
  display: flex; }
  .sec h2 {
    font-size: 2.15rem;
    border-bottom: 4px solid #3e3a39;
    margin-bottom: 20px; }

.sec_l {
  flex-basis: 11.44%; }
  .sec_l img {
    width: 100%; }

.sec_r {
  flex-basis: 88.56%;
  padding-left: 3.81%;
  box-sizing: border-box; }

@media (max-width: 768px) {
  .sec {
    display: block; }
    .sec h2 {
      font-size: 6.93vw; }

  .sec_l {
    display: none; }

  .sec_r {
    padding-left: 0; } }
.catch_blue {
  font-size: 2rem;
  color: #036eb7;
  margin-bottom: 20px; }

@media (max-width: 768px) {
  .catch_blue {
    font-size: 1.25rem;
    margin-bottom: 20px; } }
.blue {
  color: #036eb7; }

/**
* 5.0 - トップページ
* -----------------------------------------------------------------------------
*/
.home header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-color: transparent;
  z-index: 1; }
.home .main_visual {
  height: 378px;
  background-image: url("../images/main_visual_home.jpg");
  background-size: cover;
  background-position: center; }
  .home .main_visual .inner {
    position: relative;
    height: 100%; }
    .home .main_visual .inner .catch1,
    .home .main_visual .inner .catch2 {
      position: absolute;
      font-size: 3.1rem; }
    .home .main_visual .inner .catch1 {
      top: 60px;
      right: 20px; }
      .home .main_visual .inner .catch1 img {
        max-width: 467px;
        width: 100%; }
    .home .main_visual .inner .catch2 {
      color: #fff;
      bottom: 20px;
      left: 0px; }
      .home .main_visual .inner .catch2 img {
        max-width: 528px;
        width: 100%; }
.home .sec {
  margin-top: 45px; }

@media (max-width: 768px) {
  .home .main_visual {
    height: 278px; }
    .home .main_visual .inner .catch1,
    .home .main_visual .inner .catch2 {
      font-size: 6.13vw; }
    .home .main_visual .inner .catch1 {
      top: 80px; }
    .home .main_visual .inner .catch2 {
      bottom: 20px; } }
#home_business ul {
  margin-bottom: 20px; }
  #home_business ul li {
    font-size: 1.313rem; }
#home_business dl {
  margin-bottom: 80px; }
#home_business dd {
  margin-bottom: 20px; }

@media (max-width: 768px) {
  #home_business ul li {
    font-size: 1rem; }
  #home_business dl {
    margin-bottom: 40px; }
  #home_business dd {
    margin-bottom: 20px; } }
@media (max-width: 768px) {
  #home_business h2,
  #home_car h2 {
    position: relative;
    padding-left: 13vw; }
    #home_business h2:before,
    #home_car h2:before {
      content: "";
      display: block;
      width: 12vw;
      height: 100%;
      background-repeat: no-repeat;
      background-size: contain;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      left: 0; }

  #home_business .sec_r h2:before {
    background-image: url("../images/icon_business.svg"); }

  #home_car .sec_r h2:before {
    background-image: url("../images/icon_car.svg"); } }
/**
* 6.0 - 下層ページ共通
* -----------------------------------------------------------------------------
*/
.page header {
  border-bottom: 13px solid #3e3a39; }
.page p {
  margin-bottom: 40px; }

@media (max-width: 768px) {
  .page {
    margin-top: 60px; }
    .page header {
      border-bottom: none; }
    .page p {
      margin-bottom: 20px; } }
.breadcrumb {
  margin-top: 40px;
  margin-bottom: 20px; }
  .breadcrumb ul li {
    display: inline; }
    .breadcrumb ul li:not(:last-child):after {
      content: ">";
      display: inline;
      margin: 0 10px; }
    .breadcrumb ul li a {
      color: inherit; }
      .breadcrumb ul li a:hover {
        text-decoration: underline; }

.tb_default {
  border: 1px solid #595757;
  margin-bottom: 60px; }
  .tb_default tr {
    border-bottom: 1px solid #595757; }
  .tb_default th, .tb_default td {
    padding: 7px 20px; }
  .tb_default th {
    background-color: #efefef;
    font-weight: normal;
    text-align: left;
    vertical-align: top;
    white-space: nowrap;
    padding-right: 30px; }

/**
* 7.0 - ごあいさつ
* -----------------------------------------------------------------------------
*/
.ceo_wrap {
  display: flex;
  justify-content: space-between; }

.ceo_l {
  flex-basis: 75%;
  max-width: 75%;
  padding-right: 6.81%; }

.ceo_r {
  flex-basis: 25%;
  max-width: 25%; }
  .ceo_r img {
    width: 100%; }

@media (max-width: 768px) {
  .ceo_wrap {
    display: block; }

  .ceo_l {
    padding-right: 0;
    max-width: 100%; }

  .ceo_r {
    max-width: 100%;
    text-align: right; }
    .ceo_r img {
      max-width: 160px;
      display: block;
      margin-left: auto; } }
/**
* 8.0 - 会社情報
* -----------------------------------------------------------------------------
*/
.tb_default td .license {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px; }
  .tb_default td .license li {
    flex-basis: 33%;
    font-size: 0.75rem; }

@media (max-width: 768px) {
  .tb_default th, .tb_default td {
    display: block; } }
.gmap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden; }
  .gmap iframe,
  .gmap object,
  .gmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

/**
* 9.0 - トピックス
* -----------------------------------------------------------------------------
*/
/**
* 10.0 - 採用情報
* -----------------------------------------------------------------------------
*/
.page_recruit dl dt:not(:first-of-type) {
  margin-top: 30px; }

/**
* 11.0 - プライバシーポリシー
* -----------------------------------------------------------------------------
*/
.page_policy dl dt {
  color: #3d6a88; }
  .page_policy dl dt:not(:first-of-type) {
    margin-top: 30px; }

/**
* 12.0 - お問い合わせ
* -----------------------------------------------------------------------------
*/
.tb_info th, .tb_info td {
  padding: 15px; }
.tb_info th {
  padding-right: 100px;
  position: relative;
  vertical-align: middle; }
  .tb_info th .required {
    color: #e60012;
    font-size: 0.875rem;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%); }
.tb_info td input[type="text"],
.tb_info td textarea {
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  font-size: 1rem; }
.tb_info td textarea {
  height: 118px; }
.tb_info td label {
  display: inline-block;
  width: 48%;
  vertical-align: top;
  cursor: pointer; }
.tb_info .td_zip {
  padding-left: 50px;
  position: relative; }
  .tb_info .td_zip span {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%); }

@media (max-width: 768px) {
  .tb_info th, .tb_info td {
    padding: 10px; }
  .tb_info td input[type="text"],
  .tb_info td textarea {
    border: 1px solid #ccc; }
  .tb_info td label {
    display: block;
    width: 100%; } }
.submit_area {
  text-align: center; }
  .submit_area input {
    color: #fff;
    width: 292px;
    font-size: 1.313rem;
    padding: 10px 0;
    text-align: center;
    cursor: pointer; }
  .submit_area input[type="reset"] {
    background-color: #9e9e9f;
    margin-right: 20px; }
  .submit_area input[type="submit"] {
    background-color: #3d6a88; }

@media (max-width: 768px) {
  .submit_area {
    display: flex; }
    .submit_area input {
      font-size: 0.875rem; }
    .submit_area input[type="reset"] {
      margin-right: 10px; } }
#formWrap input {
  margin-right: 20px;
  color: #fff;
  width: 292px;
  font-size: 1.313rem;
  padding: 10px 0;
  text-align: center;
  cursor: pointer; }
#formWrap input[type="button"] {
  background-color: #9e9e9f; }
#formWrap input[type="submit"] {
  background-color: #3d6a88; }

.formTable {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto; }

/**
* 13.0 - フッター
* -----------------------------------------------------------------------------
*/
footer {
  background-color: #3e3a39;
  color: #fff;
  padding-top: 18px;
  font-size: 0.875rem; }

@media (max-width: 768px) {
  footer {
    font-size: 12px; }
    footer .name {
      font-size: 0.75rem; } }
.nav_footer {
  margin-bottom: 55px; }
  .nav_footer ul li {
    display: inline; }
    .nav_footer ul li:not(:last-child):after {
      content: "／";
      margin: 0 10px;
      display: inline-block; }
    .nav_footer ul li a {
      color: #fff; }
      .nav_footer ul li a:hover {
        text-decoration: underline; }

.copyright {
  text-align: center; }

@media (max-width: 768px) {
  .copyright {
    margin-top: 20px;
    font-size: 0.68rem; } }

/*# sourceMappingURL=style.css.map */
