@charset "UTF-8";
@media (min-width: 768px) {
  .hidden-pc {
    display: none; } }

@media (max-width: 767px) {
  .hidden-sp {
    display: none; } }

.txtL {
  text-align: left !important; }

.txtC {
  text-align: center !important; }

.txtR {
  text-align: right !important; }

.mb5 {
  margin-bottom: 5px !important; }

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

.mb15 {
  margin-bottom: 15px !important; }

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

.mb25 {
  margin-bottom: 25px !important; }

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

.mb35 {
  margin-bottom: 35px !important; }

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

.mb45 {
  margin-bottom: 45px !important; }

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

.mb60 {
  margin-bottom: 60px !important; }

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

.mb80 {
  margin-bottom: 80px !important; }

.mt5 {
  margin-top: 5px !important; }

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

.mt15 {
  margin-top: 15px !important; }

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

.mt25 {
  margin-top: 25px !important; }

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

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

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

.cf::after, .clearfix::after {
  content: "";
  display: table;
  clear: both; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

.ttl_page {
  padding-top: 50px; }
  .ttl_page .jp {
    background: linear-gradient(118deg, transparent 30px, #3681B3 31px);
    box-shadow: 4px 8px 6px -4px rgba(0, 0, 0, 0.15);
    padding: 5px 30px 5px 55px;
    color: #fff;
    font-size: 4.0rem;
    font-weight: bold; }
  .ttl_page .en {
    background: url(../img/common/ttl_page_icon.png) no-repeat 0 center;
    font-size: 2.0rem;
    font-family: "Oswald", sans-serif;
    font-weight: 500;
    display: block;
    padding-left: 20px;
    margin-top: 10px; }
  @media (max-width: 767px) {
    .ttl_page {
      padding-top: 20px; }
      .ttl_page .jp {
        background: linear-gradient(118deg, transparent 19px, #3681B3 20px);
        padding: 5px 15px 5px 30px;
        font-size: 2.5rem; }
      .ttl_page .en {
        font-size: 1.8rem; } }

.eyecatch {
  background: linear-gradient(180deg, #001C39 50%, transparent 50%), linear-gradient(-90deg, #f1f1f1 68%, #DEDEDE 68%);
  height: 167px;
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .eyecatch {
      height: 100px; } }

.bg_pages {
  background: linear-gradient(90deg, #F1F1F1 32%, #fff 32%);
  padding-bottom: 100px;
  padding-top: 80px; }
  @media (max-width: 767px) {
    .bg_pages {
      padding-bottom: 10px; } }

#breadcrumbs {
  background: #dfeeff;
  padding: 5px 0; }
  #breadcrumbs ol li {
    display: inline-block;
    line-height: 1;
    margin-right: 5px; }
    #breadcrumbs ol li:before {
      content: "＞";
      display: inline-block;
      vertical-align: top;
      margin-right: 2px; }
    #breadcrumbs ol li:first-child:before {
      content: normal; }
  @media (max-width: 767px) {
    #breadcrumbs ol li {
      margin-right: 3px; }
      #breadcrumbs ol li:before {
        margin-right: 2px; } }

.section_shadow {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  margin-bottom: 40px; }

.section_box {
  padding: 60px;
  background: #fff; }
  @media (max-width: 767px) {
    .section_box {
      padding: 20px 10px; } }

.box_blue {
  background: #C8ECF8;
  padding: 20px 60px 60px 60px;
  text-align: center; }
  .box_blue .ttl_box_blue {
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: solid 2px #001C39;
    margin-bottom: 10px;
    position: relative; }
  .box_blue .ttl_box_blue:after {
    position: absolute;
    content: '';
    bottom: -10px;
    left: 50%;
    transform: translate(0, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 8px 0 8px;
    border-color: #001c39 transparent transparent transparent; }
  .box_blue .maker_name {
    font-size: 1.4rem;
    font-weight: bold;
    text-align: right;
    margin-bottom: 20px; }
  @media (max-width: 767px) {
    .box_blue {
      padding: 20px 10px; } }

.ttl_section {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 40px;
  position: relative;
  line-height: 1.48; }
  .ttl_section strong {
    color: #FC534C; }
  @media (max-width: 767px) {
    .ttl_section {
      font-size: 2rem;
      margin-bottom: 30px; } }

.ttl_section:before {
  position: absolute;
  content: '';
  top: 50%;
  transform: translate(0, -50%);
  left: -60px;
  width: 30px;
  height: 4px;
  background: #3681B3; }
  @media (max-width: 767px) {
    .ttl_section:before {
      bottom: -10px;
      left: 0;
      top: inherit; } }

.ttl_block {
  font-size: 2.0rem;
  font-weight: bold;
  padding: 10px 20px;
  margin-bottom: 20px;
  background: #F1F1F1;
  border-left: solid 4px #FC534C; }
  @media (max-width: 767px) {
    .ttl_block {
      font-size: 1.8rem;
      padding: 5px 15px; } }

.btn_more {
  background: url(../img/common/btn_red_icon.png) no-repeat 100% center, #FC534C;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  padding: 6px 44px;
  position: relative;
  display: inline-block; }

.btn_more:before {
  position: absolute;
  content: '';
  right: -15px;
  top: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 15px;
  border-color: transparent transparent transparent #fc524c; }

.btn_more_blue {
  background: url(../img/common/btn_bluebox_icon.png) no-repeat 90% center, #001C39;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  padding: 7px 44px;
  position: relative;
  display: inline-block; }

.btn_bordered {
  background: url(../img/common/btn_blue_icon.png) no-repeat 90% center;
  text-decoration: none;
  color: #001C39;
  border-bottom: solid 2px #001C39;
  padding: 7.5px 44px;
  position: relative;
  margin: 30px 0 40px; }

.col_2 {
  display: flex; }
  .col_2 .col {
    width: 50%; }
  .col_2 .txt {
    padding: 20px 0 20px 40px; }
  @media (max-width: 767px) {
    .col_2 {
      display: block; }
      .col_2 .col {
        width: auto; }
      .col_2 .txt {
        padding: 20px 0; } }

.pagination:empty {
  display: none; }

.pagination {
  background: #C8ECF8;
  padding: 20px 0;
  text-align: center; }
  .pagination .page-numbers {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    display: inline-block !important;
    /* border: solid 1px #4a6e92; */
    /* border-radius: 5px; */
    font-size: 1.6rem;
    font-weight: bold;
    background: #fff;
    width: 40px;
    height: 40px;
    padding: 12px 0;
    line-height: 1;
    text-align: center;
    letter-spacing: -1px;
    box-sizing: border-box; }
    .pagination .page-numbers.current {
      background: #001C39;
      color: #fff; }
  .pagination a {
    color: #001C39;
    text-decoration: none; }

table {
  width: 100%; }
  table tr {
    border-bottom: solid 1px #001C39; }
  table th, table td {
    padding: 15px;
    text-align: left;
    box-sizing: border-box;
    border: none; }
  table th {
    font-weight: bold; }
  table td {
    background: #fff; }
  @media (max-width: 767px) {
    table {
      display: block;
      margin-bottom: 20px; }
      table tbody, table tr, table th, table td {
        width: 100% !important;
        display: block; }
      table th {
        padding: 5px 2px 3px; }
        table th:before {
          margin-right: 1px; }
      table td {
        padding-top: 5px; } }

.table_default {
  border-top: solid 1px #001C39; }
  .table_default th {
    width: 280px;
    font-weight: bold;
    background: none; }
  .table_default th, .table_default td {
    padding: 20px 30px; }
  @media (max-width: 767px) {
    .table_default th {
      padding: 10px 10px 5px; }
    .table_default td {
      padding: 0px 10px 10px; } }

.table_blue th, .table_blue td {
  width: 293px; }

.table_blue thead th, .table_blue thead td {
  background: #001C39;
  color: #fff;
  border: none; }

.table_blue tbody th {
  width: 280px;
  font-weight: bold;
  padding: 20px 20px 10px;
  background: none; }

@media (max-width: 767px) {
  .table_blue thead {
    display: none; }
  .table_blue tr, .table_blue td {
    display: block;
    width: 100%;
    position: relative; }
  .table_blue tbody th {
    padding: 20px 10px 10px; }
  .table_blue tbody td {
    padding: 10px 10px 10px;
    background: none;
    border-bottom: solid 1px #0e3e61; }
    .table_blue tbody td:last-child {
      border-bottom: none; }
  .table_blue tbody td:before {
    content: attr(data-label);
    display: block;
    font-weight: bold;
    margin-bottom: 3px;
    /* border-bottom: solid; */ }
  .table_blue tbody td:empty {
    /* 空のセルは出さない*/
    display: none; }
  .table_blue tbody tr {
    border: solid 1px;
    margin-bottom: 40px; } }

.president {
  text-align: right;
  font-size: 1.8rem; }
  .president span {
    font-size: 2.5rem;
    font-weight: bold; }

@media (max-width: 767px) {
  .president {
    text-align: right;
    font-size: 1.6rem; }
    .president span {
      font-size: 2.2rem;
      font-weight: bold; } }

html {
  font-size: 62.5%; }

body {
  font-family: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', YuGothic, 'Yu Gothic Medium', Meiryo, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', sans-serif;
  font-size: 1.6em;
  line-height: 1.8;
  color: #001C39; }
  @media (max-width: 767px) {
    body {
      font-size: 1.5em; } }

.bold {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Segoe UI', YuGothic, 'Yu Gothic', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-weight: bold; }

#wrap {
  min-width: 1200px;
  margin: auto; }
  @media (max-width: 767px) {
    #wrap {
      width: 100%;
      min-width: auto;
      min-width: initial; } }

.container {
  width: 1000px;
  margin: auto; }
  @media (max-width: 767px) {
    .container {
      width: 100%;
      box-sizing: border-box;
      padding: 0 10px; } }

button#btn_nav {
  display: none; }
  @media (max-width: 767px) {
    button#btn_nav {
      display: block;
      position: absolute;
      top: 10px;
      right: 10px;
      background: transparent;
      border: none;
      width: 44px;
      height: 44px;
      cursor: pointer; }
      button#btn_nav span {
        display: block;
        width: 80%;
        background: #001C39;
        height: 5px;
        border-radius: 5px;
        margin: 5px;
        left: 4px; } }

header {
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  background-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  z-index: 1; }
  header .header_top {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 767px) {
      header .header_top {
        display: block; } }
  header .logo img {
    vertical-align: middle; }
  @media (max-width: 767px) {
    header .logo {
      padding: 20px 15px; } }
  header #gnav {
    width: 800px;
    display: block;
    padding: 28px 0; }
    header #gnav ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end; }
    header #gnav li {
      background: url(../img/common/nav_sperator.png) no-repeat 0 center;
      padding-left: 10px; }
      header #gnav li a {
        text-decoration: none;
        color: #001C39;
        font-weight: bold;
        padding: 0 18px;
        transition: 0.2s; }
      header #gnav li a:hover {
        color: #FC534C; }
      header #gnav li .active {
        color: #FC534C; }
      header #gnav li:first-child {
        background: none;
        padding-left: 0; }
      header #gnav li:last-child a {
        padding-right: 0; }
  @media (max-width: 767px) {
    header #gnav {
      display: none;
      padding: 0;
      width: auto; }
      header #gnav ul {
        display: block;
        padding: 10px 15px; }
      header #gnav li {
        background: none;
        display: block;
        border-left: 0;
        padding: 5px 10px;
        width: 100% !important;
        border-left: solid 1px;
        margin-bottom: 20px; }
        header #gnav li:first-child {
          border-top: 0;
          padding: 5px 10px; }
        header #gnav li br {
          display: none; }
        header #gnav li a {
          padding: 10px 0; } }

main {
  display: block; }

#totop {
  display: none;
  position: fixed;
  bottom: 10px;
  right: 10px;
  cursor: pointer; }
  @media (max-width: 767px) {
    #totop {
      width: 44px;
      height: 44px; } }

footer {
  font-size: 1.5rem;
  line-height: 1.8; }
  footer .footer_top {
    background: url(../img/common/footer_top_img.jpg) no-repeat;
    background-size: cover;
    padding: 80px 0; }
    footer .footer_top .contact_wrap {
      display: flex;
      justify-content: center;
      color: #fff;
      text-align: center;
      font-weight: bold; }
      footer .footer_top .contact_wrap p {
        font-size: 2.4rem; }
      footer .footer_top .contact_wrap .num {
        width: 500px;
        border-right: solid 1px #fff; }
        footer .footer_top .contact_wrap .num .tel {
          text-decoration: none;
          color: #fff;
          font-size: 5.0rem;
          font-family: "Oswald", sans-serif;
          background: url(../img/common/footer_tel_img.png) no-repeat 0 center;
          padding: 0 25px 0 40px; }
      footer .footer_top .contact_wrap .web {
        width: 500px; }
        footer .footer_top .contact_wrap .web .btn_mail {
          font-size: 1.8rem;
          background: url(../img/common/footer_mail_img.png) no-repeat 40px center, #FC534C;
          padding: 10px 50px 10px 80px;
          border-radius: 5px;
          margin-top: 17px;
          display: inline-block;
          text-decoration: none;
          color: #fff; }
    @media (max-width: 767px) {
      footer .footer_top {
        padding: 40px 0px; }
        footer .footer_top .contact_wrap {
          display: block; }
          footer .footer_top .contact_wrap .num {
            width: auto;
            border-right: none;
            border-bottom: solid 1px #fff;
            margin-bottom: 10px; }
            footer .footer_top .contact_wrap .num .tel {
              font-size: 3.4rem;
              font-family: "Oswald", sans-serif;
              background: url(../img/common/footer_tel_img.png) no-repeat 0 center;
              background-size: 27px;
              padding: 0 10px 0 35px; }
          footer .footer_top .contact_wrap .web {
            width: auto; }
            footer .footer_top .contact_wrap .web .btn_mail {
              background: url(../img/common/footer_mail_img.png) no-repeat 20px center, #FC534C;
              padding: 10px 30px 10px 60px;
              margin-top: 10px;
              font-size: 1.6rem; } }
  footer .footer_center {
    padding: 25px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    footer .footer_center .footer_logo .comp_name {
      margin: 22px 0 0px;
      font-size: 2.0rem;
      font-weight: bold; }
    footer .footer_center .footer_nav {
      padding-top: 15px;
      display: flex;
      flex-wrap: wrap;
      width: 400px; }
      footer .footer_center .footer_nav ul li {
        width: 185px;
        background-size: 5px; }
        footer .footer_center .footer_nav ul li a {
          background: url(../img/common/footer_nav_img.png) no-repeat 0 3px;
          text-decoration: none;
          padding-left: 15px;
          color: #001C39; }
        footer .footer_center .footer_nav ul li .lst_insider {
          background: none;
          padding-left: 20px; }
    @media (max-width: 767px) {
      footer .footer_center {
        width: auto; }
        footer .footer_center ul {
          margin-left: 10px; }
          footer .footer_center ul li {
            width: auto; } }
  footer .footer_bottom {
    color: #000;
    text-align: center;
    line-height: 1;
    padding: 10px; }

#top_mv {
  background: #001C39;
  position: relative; }
  #top_mv .inner_mv {
    max-width: 1280px;
    margin: auto;
    position: relative; }
  #top_mv .mv_txt_wrap {
    position: absolute;
    width: 100%;
    top: 0; }
    #top_mv .mv_txt_wrap .container {
      text-align: right;
      padding: 150px 0 95px; }
    #top_mv .mv_txt_wrap .mv_txt {
      margin-bottom: 25px; }
    #top_mv .mv_txt_wrap p {
      margin-bottom: 10px; }
      #top_mv .mv_txt_wrap p .sub_txt {
        font-size: 1.8rem;
        background: #fff;
        display: inline-block;
        margin-bottom: 10px;
        padding: 5px 10px; }
    #top_mv .mv_txt_wrap .mv_txt strong, #top_mv .mv_txt_wrap .sub_txt strong {
      color: #FC534C; }
  @media (max-width: 767px) {
    #top_mv .inner_mv {
      overflow: hidden;
      height: 100vh; }
      #top_mv .inner_mv img {
        max-width: initial;
        max-width: auto;
        width: auto;
        height: 100%; }
    #top_mv .mv_txt_wrap .container {
      padding: 50% 20px 0; }
    #top_mv .mv_txt_wrap p {
      margin-bottom: 10px; }
      #top_mv .mv_txt_wrap p .sub_txt {
        font-size: 1.5rem;
        padding: 5px 8px;
        margin-bottom: 25px; } }

.top_ttl {
  margin-bottom: 40px;
  line-height: 1;
  font-weight: bold; }
  .top_ttl .en {
    font-size: 7.0rem;
    font-family: "Oswald", sans-serif;
    margin-right: 20px; }
  .top_ttl .jp {
    font-size: 2.4rem; }
  @media (max-width: 767px) {
    .top_ttl {
      margin-bottom: 20px; }
      .top_ttl .en {
        font-size: 5.0rem; } }

.top_col_2 {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  @media (max-width: 767px) {
    .top_col_2 {
      display: block; } }

#top_company {
  background: url(../img/top/top_company_mv.jpg) no-repeat 0 center;
  background-size: cover;
  padding: 100px 0 296px; }
  #top_company .ttl {
    font-size: 7.0rem;
    font-weight: bold;
    font-family: "Oswald", sans-serif;
    color: #fff;
    margin-bottom: 25px; }
  #top_company .txt_detail {
    width: 592px;
    font-size: 1.6rem;
    color: #fff;
    line-height: 2; }
  @media (max-width: 767px) {
    #top_company {
      padding: 30px 0 30px; }
      #top_company .btn_wrap {
        margin-bottom: 20px; }
      #top_company .ttl {
        font-size: 5.0rem;
        margin-bottom: 15px; }
      #top_company .txt_detail {
        width: auto; } }

#top_nav_block {
  background: #f1f1f1;
  margin-bottom: 75px; }
  #top_nav_block .ttl {
    border-left: solid 6px #FC534C;
    height: 40px;
    font-weight: bold;
    margin-bottom: 42px;
    padding-left: 10px;
    line-height: 1; }
    #top_nav_block .ttl .en {
      font-size: 4.0rem;
      font-family: "Oswald", sans-serif;
      margin-right: 15px; }
    #top_nav_block .ttl .jp {
      font-size: 2.0rem; }
    @media (max-width: 767px) {
      #top_nav_block .ttl {
        height: auto;
        margin-bottom: 20px; }
        #top_nav_block .ttl .en {
          font-size: 3.2rem; }
        #top_nav_block .ttl .jp {
          margin-top: 10px;
          display: block; } }
  #top_nav_block .section_shadow {
    max-width: 480px;
    margin-top: -93px;
    background: #fff;
    position: relative; }
    #top_nav_block .section_shadow .detail {
      padding: 50px 50px 20px; }
    #top_nav_block .section_shadow .img .btn_wrap {
      position: absolute;
      bottom: 0;
      right: 0; }
  @media (max-width: 767px) {
    #top_nav_block .section_shadow {
      margin-top: 0px;
      background: #fff;
      margin: 0px auto 35px; }
      #top_nav_block .section_shadow .detail {
        padding: 30px 20px; }
      #top_nav_block .section_shadow .img {
        max-width: 480px;
        margin: auto; }
        #top_nav_block .section_shadow .img .btn_wrap {
          margin-top: -43px;
          text-align: right; } }

#top_recruit {
  margin-bottom: 140px; }
  #top_recruit .bordered_top_ttl {
    border-left: solid 4px;
    font-size: 1.8rem;
    font-weight: bold;
    padding-left: 15px;
    line-height: 1.5;
    margin-bottom: 20px; }
  #top_recruit .txt {
    width: 450px; }
  #top_recruit .btn_wrap {
    margin: 35px 0; }
  @media (max-width: 767px) {
    #top_recruit {
      margin-bottom: 70px; }
      #top_recruit .bordered_ttl_03 {
        border-left: solid 4px;
        font-size: 1.8rem;
        font-weight: bold;
        padding-left: 15px;
        line-height: 1.5;
        margin-bottom: 20px; }
      #top_recruit .txt {
        width: auto; }
      #top_recruit .img {
        text-align: center; } }

#top_info {
  margin-bottom: 150px; }
  #top_info .bordered {
    border-bottom: solid 2px;
    border-image: linear-gradient(to right, transparent 28%, #001c39 28%);
    border-image-slice: 1; }
  #top_info .section_shadow {
    margin-bottom: 5px; }
  #top_info a {
    text-decoration: none;
    color: #001C39; }
  #top_info a:hover {
    color: #0a60ba;
    border-bottom: solid 1px; }
  #top_info dl {
    margin-bottom: 31px; }
  #top_info dt {
    float: left;
    clear: left;
    padding: 20px 35px;
    font-weight: bold; }
  #top_info dd {
    padding-left: 10em;
    padding: 20px 30px; }
  #top_info .btn_wrap {
    text-align: right; }
  @media (max-width: 767px) {
    #top_info {
      margin-bottom: 90px; }
      #top_info .bordered {
        border-bottom: none; }
      #top_info dt {
        width: 100%;
        box-sizing: border-box;
        padding: 20px 15px 5px; }
      #top_info dd {
        padding-left: 10em;
        padding: 5px 15px 20px; }
      #top_info .section_shadow {
        margin-bottom: 5px; } }

/*　　ページ共通↓　　*/
.tokuchou {
  font-size: 2.0rem;
  font-weight: bold;
  color: #fff;
  background: #001C39;
  display: inline-block;
  padding: 0 13px;
  margin-bottom: 13px; }

.advantage_btn_wrap {
  text-align: right;
  padding-right: 16px; }

p strong {
  color: #FC534C; }

.system_img_block {
  text-align: center;
  margin-bottom: 60px; }
  .system_img_block .ttl {
    font-size: 2.0rem;
    font-weight: bold;
    color: #fff;
    background: #001C39;
    width: 610px;
    margin: 0 auto 30px;
    position: relative; }
  .system_img_block .ttl:after {
    position: absolute;
    content: '';
    bottom: -10px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #001c39 transparent transparent transparent; }
  @media (max-width: 767px) {
    .system_img_block {
      margin-bottom: 30px; }
      .system_img_block .ttl {
        font-size: 1.6rem;
        width: auto; } }

/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/* 
    Created on : 2019/07/16, 13:31:02
    Author     : santosh
*/
.to_google_map {
  background: url(../img/company/icon_pin.png) no-repeat 20px center, #001C39;
  color: #fff;
  font-weight: bold;
  padding: 10px 20px 10px 44px;
  border-radius: 5px;
  margin-top: 10px;
  display: inline-block;
  text-decoration: none; }

#company_nav {
  background: #C8ECF8; }

.wrap_company_nav {
  display: flex;
  justify-content: space-between; }
  .wrap_company_nav li {
    text-align: center; }
    .wrap_company_nav li a {
      background: url(../img/company/icon_company_nav.png) no-repeat 90% center, #fff;
      color: #001C39;
      padding: 10px 0;
      width: 200px;
      display: inline-block;
      border-radius: 5px;
      text-decoration: none; }
    .wrap_company_nav li a:hover, .wrap_company_nav li .active {
      background: url(../img/company/icon_company_active.png) no-repeat 90% center, #001C39;
      color: #fff; }
  @media (max-width: 767px) {
    .wrap_company_nav {
      display: block; }
      .wrap_company_nav li {
        margin-bottom: 10px; }
        .wrap_company_nav li a {
          width: auto;
          display: block; } }

.img_wrap {
  position: relative;
  margin: 0 auto 40px;
  padding-top: 1px; }
  .img_wrap .img_01 {
    width: 60%;
    text-align: left;
    position: absolute; }
  .img_wrap .img_02 {
    width: 45%;
    position: relative;
    margin-top: 80px;
    margin-right: 0;
    margin-left: auto; }

@media (max-width: 767px) {
  .img_wrap .img_01 {
    width: auto;
    text-align: center;
    position: initial; }
  .img_wrap .img_02 {
    width: auto;
    text-align: center;
    margin-top: 30px; } }

#greeting_page p {
  margin-bottom: 40px; }

@media (max-width: 767px) {
  #greeting_page p {
    margin-bottom: 20px; } }

.rinen {
  text-align: center;
  font-size: 2.3rem;
  font-weight: bold;
  font-family: Georgia, "游明朝体", YuMincho, "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
  .rinen li {
    border-bottom: solid 1px;
    margin-bottom: 30px; }
    .rinen li strong {
      color: #FC534C; }
  @media (max-width: 767px) {
    .rinen {
      font-size: 2.0rem; } }

#philosophy_page .txt_block {
  margin-bottom: 60px; }

#philosophy_page .col_2 .col {
  text-align: center; }

#philosophy_page .col_2 .txt {
  padding: 0 0 0 40px;
  text-align: left; }

@media (max-width: 767px) {
  #philosophy_page .txt_block {
    margin-bottom: 30px; }
  #philosophy_page .col_2 .txt {
    padding: 10px 0 0px; } }

#recruit_page p {
  margin-top: 40px; }

#recruit_page .president {
  margin-top: 60px; }

@media (max-width: 767px) {
  #recruit_page p {
    margin-top: 20px; }
  #recruit_page .president {
    margin-top: 30px; } }

.recruit_catch .ttl_section {
  margin-bottom: -60px; }

.recruit_catch p {
  text-align: center; }

@media (max-width: 767px) {
  .recruit_catch .ttl_section {
    margin-bottom: 0; } }

.recruit_syanai {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .recruit_syanai .img {
    width: 49%;
    margin-bottom: 20px; }
  @media (max-width: 767px) {
    .recruit_syanai {
      display: block; }
      .recruit_syanai .img {
        width: auto; } }

#facilities_page .col_2 {
  justify-content: space-around;
  align-items: center; }

.mold_link_wrap {
  border: solid 2px;
  border-radius: 5px;
  margin-bottom: 60px; }
  .mold_link_wrap h3 {
    font-size: 1.8rem;
    font-weight: bold;
    border-bottom: solid;
    display: inline-block; }
  .mold_link_wrap .btn_area {
    padding: 20px 30px 20px 0;
    text-align: right; }
  .mold_link_wrap .txt {
    float: left;
    clear: left;
    padding: 10px; }
    .mold_link_wrap .txt p {
      margin-bottom: 0; }
  @media (max-width: 767px) {
    .mold_link_wrap .btn_area {
      text-align: center; } }

@media (max-width: 767px) {
  .floors_block .img {
    text-align: center; } }

#mold-size_page .table_default {
  border: none; }
  #mold-size_page .table_default th {
    background: #001C39;
    color: #fff;
    border-bottom: solid 1px #fff;
    width: 300px; }
  #mold-size_page .table_default tr:last-child {
    border: none; }

#mold-size_page .col_2 {
  justify-content: space-between; }

#mold-size_page .img_01 {
  margin-bottom: 60px; }

@media (max-width: 767px) {
  #mold-size_page .table_default th {
    width: auto; }
  #mold-size_page .img_01 {
    max-width: 420px;
    margin: 0 auto 30px; } }

@media (max-width: 767px) {
  .kin_type {
    margin-bottom: 30px; }
    .kin_type .img {
      text-align: center; } }

.flow_box {
  position: relative;
  display: flex;
  border-bottom: solid 1px;
  box-sizing: border-box;
  margin-bottom: 40px;
  align-items: flex-start; }
  .flow_box .ttl {
    /* フローのアイコン */
    background: #001C39;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.2;
    font-weight: bold;
    text-align: center;
    width: 240px;
    padding: 30px 0; }
    .flow_box .ttl .small {
      font-size: 1.4rem; }
  .flow_box .txt {
    /* フローの説明文 */
    width: 640px;
    padding: 5px 10px 10px 20px;
    box-sizing: border-box; }
    .flow_box .txt .img {
      float: left;
      clear: left;
      margin-right: 20px; }
  .flow_box li:first-child .txt .img {
    padding: 10px 0; }
  @media (max-width: 767px) {
    .flow_box {
      display: block;
      border: none; }
      .flow_box .ttl {
        font-size: 1.8rem;
        padding: 10px 0;
        width: 100%; }
      .flow_box .txt {
        /* フローの説明文 */
        width: auto;
        padding: 10px;
        box-sizing: border-box;
        border: solid 1px; }
        .flow_box .txt .img {
          float: none;
          text-align: center;
          margin-right: 0;
          margin-bottom: 10px; }
      .flow_box li:first-child .txt .img {
        padding: 10px 0; } }

.flow_box:before {
  position: absolute;
  content: '';
  bottom: -15px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 14px 14px 0 14px;
  border-color: #001c39 transparent transparent transparent; }

@media (max-width: 767px) {
  .flow_box:before {
    bottom: -13px; } }

.delivery_goods {
  padding: 30px 10px; }
  .delivery_goods h3 {
    font-size: 2.2rem;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center; }
    .delivery_goods h3 img {
      margin-right: 10px; }
  .delivery_goods p {
    margin-bottom: 0; }
  @media (max-width: 767px) {
    .delivery_goods h3 {
      font-size: 1.8rem; }
      .delivery_goods h3 img {
        width: 50px; } }

.contact_top {
  border: solid 2px;
  border-radius: 5px;
  padding: 23px 20px; }
  .contact_top dt {
    float: left;
    clear: left;
    font-size: 3.0rem;
    font-family: "Oswald", sans-serif;
    line-height: 1;
    margin-right: 50px; }
    .contact_top dt span {
      background: #001C39;
      color: #fff;
      font-size: 2.5rem;
      font-weight: bold;
      padding: 2px 15px;
      margin-right: 10px; }
    .contact_top dt a {
      text-decoration: none;
      color: initial; }
  @media (max-width: 767px) {
    .contact_top {
      text-align: center;
      padding: 20px 10px; }
      .contact_top dt {
        width: 100%;
        font-size: 2.5rem;
        line-height: 1;
        margin-bottom: 15px;
        margin-left: 5px; }
        .contact_top dt span {
          font-size: 2.0rem; } }

#loading {
  display: none; }

.thanks {
  padding: 20px;
  font-size: 1.8rem; }

.table_form {
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  margin-top: 30px; }
  .table_form tr {
    border: none; }
  .table_form td {
    vertical-align: middle;
    padding: 10px; }
    @media (max-width: 767px) {
      .table_form td {
        padding: 10px 5px; } }
  .table_form th {
    width: 225px;
    text-align: left;
    vertical-align: top;
    position: relative;
    background-clip: padding-box !important;
    font-weight: bold; }
    @media (max-width: 767px) {
      .table_form th {
        padding: 5px; } }
    .table_form th:after {
      position: absolute;
      right: 15px;
      top: 17px;
      font-size: 65%;
      padding: 4px 5px;
      line-height: 1;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      border-radius: 2px;
      font-weight: normal; }
      @media (max-width: 767px) {
        .table_form th:after {
          top: 5px;
          right: 10px; } }
    .table_form th.required:after {
      content: "必須";
      color: #fff;
      background: #c90000; }
    .table_form th.option:after {
      content: "任意";
      color: #fff;
      background: #999999; }

.table_form input[type=text], .table_form input[type=email], .table_form input[type=tel], .table_form input[type=nmber], .table_form input[type=date], .table_form textarea {
  width: 100%;
  padding: 4px;
  font-size: 16px;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  border-radius: 4px;
  border: solid 1px #e6edf2;
  background: transparent;
  box-shadow: none;
  box-sizing: border-box;
  font-weight: normal;
  color: #333;
  border: solid 1px #B5BFC1; }
  .table_form input[type=text]:focus, .table_form input[type=email]:focus, .table_form input[type=tel]:focus, .table_form input[type=nmber]:focus, .table_form input[type=date]:focus, .table_form textarea:focus {
    outline: none;
    border: solid 1px #e6edf2;
    background: #fff; }

.table_form input[type="checkbox"]:checked + span, .table_form input[type="radio"]:checked + span {
  font-weight: bold; }

.table_form textarea {
  width: 100%;
  height: 130px; }

.table_form select {
  padding: 2px 0 4px 4px;
  border: solid 1px #345372;
  border-radius: 3px;
  margin-right: 2px; }
  .table_form select option {
    padding: 0; }

.table_form .mwform-tel-field input[type="text"], .table_form .mwform-zip-field input[type="text"] {
  width: 5em; }

.table_form .horizontal-item {
  width: 49%;
  display: inline-block; }
  .table_form .horizontal-item + .horizontal-item {
    margin-left: 0;
    margin-left: 0 !important; }
  @media (max-width: 767px) {
    .table_form .horizontal-item {
      width: auto;
      display: block; } }

.table_form .mwform-radio-field {
  width: auto;
  display: inline-block; }
  .table_form .mwform-radio-field + .horizontal-item {
    margin-left: 10px !important; }

.form_button {
  overflow: hidden;
  margin-top: 30px;
  text-align: center; }
  .form_button button[type=submit], .form_button button[type=button], .form_button button[type=submit] {
    height: 40px;
    width: 220px;
    border: none;
    font-weight: bold;
    margin: 10px;
    display: inline-block;
    cursor: pointer;
    transition: 0.3s;
    color: #fff;
    position: relative; }
    .form_button button[type=submit]:before, .form_button button[type=button]:before, .form_button button[type=submit]:before {
      position: absolute;
      content: '';
      right: -15px;
      top: 0;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 0 20px 15px;
      border-color: transparent transparent transparent #fc524c; }
    .form_button button[type=submit]:hover, .form_button button[type=button]:hover, .form_button button[type=submit]:hover {
      opacity: 0.8; }
    @media (max-width: 767px) {
      .form_button button[type=submit], .form_button button[type=button], .form_button button[type=submit] {
        max-width: 80%; } }
    .form_button button[type=submit][name=submitBack], .form_button button[type=button][name=submitBack], .form_button button[type=submit][name=submitBack] {
      background: #999; }
      .form_button button[type=submit][name=submitBack]:before, .form_button button[type=button][name=submitBack]:before, .form_button button[type=submit][name=submitBack]:before {
        content: none; }

.frm.danger {
  display: block;
  background: #c90000;
  padding: 5px 10px;
  position: relative;
  margin-top: 12px;
  clear: both;
  color: #fff !important;
  font-size: 1.2rem; }
  .frm.danger:before {
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    top: -20px;
    border: 10px solid #c90000;
    border-color: transparent;
    border-bottom-color: #c90000; }

#post_wrap .achieve_info {
  margin-bottom: 40px; }
  #post_wrap .achieve_info a {
    text-decoration: none;
    color: #001C39;
    transition: auto; }
  #post_wrap .achieve_info a:hover {
    color: #0a60ba;
    border-bottom: solid 1px; }
  #post_wrap .achieve_info dl:first-child {
    border-top: solid 1px #001C39; }
  #post_wrap .achieve_info dt {
    background: url(../img/common/ttl_page_icon.png) no-repeat 25px center;
    float: left;
    clear: left;
    padding: 20px 35px 20px 50px;
    font-weight: bold; }
  #post_wrap .achieve_info dd {
    padding-left: 10em;
    padding: 20px 30px;
    border-bottom: solid 1px #001C39; }
  @media (max-width: 767px) {
    #post_wrap .achieve_info {
      margin-bottom: 20px; }
      #post_wrap .achieve_info dt {
        background: url(../img/common/ttl_page_icon.png) no-repeat 18px 25px;
        width: 100%;
        box-sizing: border-box;
        padding: 20px 15px 5px 30px; }
      #post_wrap .achieve_info dd {
        padding-left: 10em;
        padding: 5px 15px 20px 30px; } }

.post h1, .post h2, .post h3, .post h4, .post h5, .post h6 {
  font-weight: bold;
  margin-bottom: 5px; }

.post h1 {
  font-size: 2.2rem; }

.post h2 {
  font-size: 2.0rem; }

.post h3 {
  font-size: 1.8rem; }

.post h4 {
  font-size: 1.7rem; }

.post p {
  margin-bottom: 1em; }

.post ul li {
  list-style: disc;
  margin-left: 1em; }

.post ol li {
  list-style: decimal;
  margin-left: 1em; }

.post blockquote {
  background: #eee;
  padding: 10px 20px; }
  .post blockquote *:last-child {
    margin-bottom: 0; }

.post .post_date {
  font-size: 2.0rem;
  font-weight: bold;
  color: #fff;
  background: #001C39;
  display: inline-block;
  padding: 0 13px;
  margin-bottom: 13px; }

.post img {
  margin: 40px 0; }

@media (max-width: 767px) {
  .post h1, .post h2, .post h3, .post h4, .post h5, .post h6 {
    font-weight: bold;
    margin-bottom: 5px; }
  .post h2 {
    font-size: 1.8rem; } }

#page_single .btn_wrap {
  text-align: right; }

.table_post th {
  background: url(../img/common/ttl_page_icon.png) no-repeat 0 center;
  width: 180px; }

.table_post td a {
  text-decoration: none;
  color: #001C39; }

.table_post td a:hover {
  color: #0a60ba;
  border-bottom: solid 1px; }
