@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* ************************************
 *
 * SCSS Media Queries Mixins
 * 
 * Aauthor   : Ryuichi Nonaka
 * Version   : 0.4.0
 * Copyright : 2012 Ryuichi Nonaka
 * Date      : 2012/11/16
 *
 * Released under the MIT license
 *
 *********************************** */
/* ************************************
 *
 * Device Width 
 * Initialize variables
 *
 *********************************** */
/* ************************************
 *
 * Browser Prefix 
 * Initialize variables
 *
 *********************************** */
/* ************************************
 *
 * Return ratio
 * Initialize variables
 * @param $prefix prefix type
 * @param $ratio device ratio
 *
 *********************************** */
/* ************************************
 *
 * Mobile Device mixin
 * @param $orientation Direction of a device
 * @param $version [old|modern|future|any] The version of a device
 * @param $add_orientation boolean [true|false] add orientation attribute
 *
 * old    : iPhone 3G or 3GS.
 * modern : iPhone 4 or 4S.
 * future : iPhone 5.
 * any    : All version.
 *
 *********************************** */
/* ************************************
 *
 * Tablet Device mixin
 * @param $orientation Direction of a device
 * @param $version [old|modern|any] The version of a device
 * @param $add_orientation boolean [true|false] add orientation attribute
 *
 * old    : iPad 1 or 2 or mini.
 * modern : new iPad (3).
 * any    : All version.
 *
 *********************************** */
/* ************************************
 *
 * Desctop Device mixin
 * @param $size Direction of a device
 * @param $version [modern|future|any] The version of a device
 *
 * Version modern ---------------------
 * narrow  : max width 1024.
 * modern  : max width 1280.
 * wide    : max width 1600.
 * hd      : max width 1920.
 * over    : width 1920 over.
 * ratio   : 1.0
 *
 * Version future ---------------------
 * modern : max width 1280.
 * wide   : max width 1440.
 * ratio  : 2.0
 *
 *********************************** */
/* ************************************
 *
 * Custom Device mixin
 * @param $min_width number(px) Minimum device size
 * @param $max_width number(px) Maximum device size
 * @param $pixel_ratio number Device px ratio
 * @param $add_orientation boolean [true|false] add orientation attribute
 *
 *********************************** */
/* ハンバーガーメニュー全面表示
---------------------------------------------------------- */
.header {
  display: flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
  padding: 0 15px;
  height: 100%;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  height: 70px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

.header .logo {
  font-size: 20px; }

.nav-button {
  display: none; }

.navbox a {
  color: #000;
  text-decoration: none;
  font-size: 14px;
  color: #448aff; }

.navbox li {
  display: inline-block;
  margin: 0 8px; }

.nav-wrap.open {
  display: block; }

.nav-wrap.close {
  opacity: 1; }

@media screen and (max-width: 600px) {
  .header {
    height: 60px;
    padding: 0;
    margin: 0;
    width: 100%;
    max-width: 100%;
    background-color: #fff; }

  .nav-wrap {
    display: block;
    background-color: #0A2173; }

  .contact_button {
    display: none; }

  .nav-button {
    display: block;
    cursor: pointer; }

  .nav-wrap {
    position: fixed;
    left: 0;
    top: 60px;
    bottom: 0;
    display: none;
    z-index: 10;
    background-color: #0A2173;
    opacity: 0.95;
    filter: alpha(opacity=95);
    width: 100%;
    height: 100%; }

  .nav-wrap .navbox {
    height: calc(100vh - 80px);
    position: static;
    overflow-x: hidden;
    overflow-y: auto;
    width: 100%;
    padding-top: 1rem;
    box-sizing: border-box; }
    .nav-wrap .navbox .spmenu {
      -webkit-overflow-scrolling: touch; }

  .nav-wrap li {
    display: block; }

  .nav-wrap li a,
  .nav-wrap li #group {
    color: #fff;
    font-size: 18px; }

  /*メニューボタンのエフェクト*/
  .nav-button,
  .nav-button span {
    display: inline-block;
    transition: transform 0.2s linear;
    box-sizing: border-box; }

  .nav-button {
    box-sizing: border-box; }

  .nav-button .nav_wrap {
    z-index: 20;
    right: 0;
    position: relative;
    width: 60px;
    height: 60px; }

  .nav_wrap.active {
    background-color: transparent; }

  .nav_wrap:active {
    background-color: transparent; }

  .nav_wrap span {
    position: absolute;
    width: 47%;
    height: 3px;
    background-color: #fff;
    border-radius: 16px; }

  .nav_wrap span:nth-of-type(1) {
    top: 20px;
    left: 16px; }

  .nav_wrap span:nth-of-type(2) {
    top: 30px;
    left: 16px; }

  .nav_wrap span:nth-of-type(3) {
    bottom: 18px;
    left: 16px; }

  .nav_wrap.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg); }

  .nav_wrap.active span:nth-of-type(2) {
    opacity: 0; }

  .nav_wrap.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg); } }
/* ハンバーガーメニュードロップダウン
---------------------------------------------------------- */
/*ハンバーガーメニューボーダー開閉式
---------------------------------------------------------- */
/*PCのスタイル*/
#navmenu .nav_wrap_menu {
  margin-right: -16px; }

#navmenu .nav_wrap_menu ul {
  display: flex;
  align-items: center; }

#navmenu .nav_wrap_menu ul li a {
  color: #ccc;
  text-decoration: none;
  font-weight: bold;
  padding: 16px; }

#nav_toggle {
  display: none; }

/*メニュー部分*/
@media screen and (max-width: 600px) {
  #navmenu .nav_wrap_menu ul {
    display: block;
    margin: 0 auto;
    width: 90%; }

  #navmenu .nav_wrap_menu ul li {
    margin: 0 auto;
    text-align: center;
    border-bottom: 1px solid #fff; }

  #navmenu .nav_wrap_menu ul li:last-child {
    border: none; }

  #navmenu .nav_wrap_menu ul li a {
    display: block; }

  /*開閉ボタン*/
  #nav_toggle {
    display: block;
    width: 40px;
    height: 40px;
    position: relative;
    top: 4px;
    z-index: 1; }

  #nav_toggle div {
    position: relative; }

  #nav_toggle span {
    display: block;
    height: 3px;
    background: #ccc;
    position: absolute;
    width: 100%;
    left: 0;
    transition: transform 0.1s linear; }

  #nav_toggle span:nth-child(1) {
    top: 0px; }

  #nav_toggle span:nth-child(2) {
    top: 12px; }

  #nav_toggle span:nth-child(3) {
    top: 24px; }

  /*  開閉ボタンopen時*/
  .open #nav_toggle span:nth-child(1) {
    top: 12px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg); }

  .open #nav_toggle span:nth-child(2) {
    width: 0;
    left: 50%; }

  .open #nav_toggle span:nth-child(3) {
    top: 12px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg); }

  .navbox li {
    margin: 0;
    width: 100%; }

  .nav-button.active {
    position: fixed;
    right: 1rem; } }
/*ナビゲーション*/
.navigation {
  display: none; }
  .navigation.js_appear {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    z-index: 9999; }

.navigation_screen {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  /*  background-color: rgba(255, 255, 255, 0.96);*/
  z-index: 0;
  margin-top: 0px;
  padding-top: 0px;
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

.navigation_wrapper {
  padding: 80px 0 0 0;
  text-align: center; }

.navigation_item {
  font-ize: 18px;
  margin-bottom: 20px; }

.navigation_item > a {
  color: #000;
  text-decoration: none; }

.js_fixed {
  position: fixed;
  width: 100%;
  height: 100%; }

/*
============================================================================
COMMON
============================================================================
*/
* {
  box-sizing: border-box; }

.fixed {
  position: fixed; }

#nav.open {
  width: 100%;
  height: 90vh;
  position: fixed;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 100; }

html {
  font-size: 10px;
  font-family: 'Noto Sans JP', sans-serif;
  width: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth; }

input[type="text"] {
  box-sizing: border-box;
  width: 100%;
  font-size: 16px; }

select {
  box-sizing: border-box;
  width: 100%;
  font-size: 16px; }

:root {
  font-family: 'Noto Sans JP', sans-serif;
  --font-family-sans-serif: 'Roboto', sans-serif,'Noto Sans JP', sans-serif;
  --font-family-monospace: 'Roboto', sans-serif, sans-serif; }

body {
  line-height: 1.6;
  font-size: 1.5rem;
  font-weight: 400;
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  word-wrap: break-word;
  width: 100%;
  overflow-x: hidden; }

ol, ul {
  list-style: none; }

p {
  margin-bottom: 0; }

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, body {
    font-family: "メイリオ", Meiryo, "Noto Sans JP", sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro"; } }
img {
  max-width: 100%;
  vertical-align: bottom; }

a, input {
  display: block;
  outline: none;
  border-style: none; }
  a:hover, input:hover {
    color: #333; }
  a:focus, input:focus {
    outline: none;
    color: #333; }
  a a:active, input a:active {
    color: #333; }
  a a:visited, input a:visited {
    color: #333; }

button {
  outline: none;
  border-style: none; }

.tellink[href*="tel:"] {
  display: inline-block;
  color: #333;
  text-decoration: underline; }
  @media screen and (min-width: 601px) {
    .tellink[href*="tel:"] {
      pointer-events: none;
      cursor: default;
      text-decoration: none; } }

.simple_link {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  white-space: nowrap; }

.allwrapper {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: column;
  min-height: 100vh; }
  .allwrapper .bgb {
    margin-top: auto; }

.tal {
  text-align: left; }

.tar {
  text-align: right; }

.tac, #head_area .corporate {
  text-align: center; }

.pc {
  display: block; }

.sp {
  display: none; }

.pc_ipad {
  display: block; }

.sp_ipad {
  display: none; }

.vis_h {
  visibility: hidden; }

.po_stat {
  clear: both;
  height: 1px;
  width: 100%; }

@media screen and (max-width: 600px) {
  .pc {
    display: none; }

  .sp {
    display: block; } }
@media screen and (max-width: 1600px) {
  .pc_ipad {
    display: none; }

  .sp_ipad {
    display: block; } }
/* スマホのみ電話番号の有効 */
@media (min-width: 751px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none; } }
@media screen and (min-width: 601px) {
  .telbox {
    pointer-events: none;
    cursor: default;
    display: inline; } }
@media screen and (max-width: 600px) {
  #page-top {
    display: none; } }
iframe {
  display: none; }

/*==================================================
　ハンバーガーメニュー
===================================*/
.spmenu_wrap {
  overflow: hidden;
  line-height: .7;
  width: 60px;
  height: 60px;
  background-color: #0A2173; }

.spmenu_wrap .nav-wrap {
  padding: 0 3rem; }
  .spmenu_wrap .nav-wrap ul {
    padding-bottom: 3rem; }
  .spmenu_wrap .nav-wrap li {
    border-bottom: 1px solid #fff; }
    .spmenu_wrap .nav-wrap li a {
      text-align: center;
      line-height: 1.6;
      font-size: 2.6rem;
      color: #fff;
      display: block;
      padding: 3.5rem 0 3rem;
      line-height: 1;
      text-decoration: none; }
  .spmenu_wrap .nav-wrap .btn_corporate {
    padding-bottom: 10rem; }
    .spmenu_wrap .nav-wrap .btn_corporate a {
      line-height: 1.6;
      font-size: 1.6rem;
      color: #fff;
      text-align: center;
      background-color: #001976;
      padding: 2rem 0;
      border: 1px solid #fff;
      text-decoration: none; }

@media screen and (min-width: 601px) {
  .spmenu_wrap .nav-wrap .btn_corporate a {
    line-height: 1.6;
    font-size: 1.3rem; } }
/*
=============================================
top　グローバルナビ
=============================================
*/
.container_out_wrap {
  padding: 2rem 0; }

.content_wrap {
  max-width: 1600px;
  margin: 0 auto;
  padding-left: 5%;
  padding-right: 5%; }

#head_area {
  width: 100%;
  background-color: #fff;
  z-index: 10; }
  #head_area .header_in_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column; }
  #head_area #head_logo {
    padding-left: 5%; }
    #head_area #head_logo .logo_box {
      display: flex;
      text-decoration: none;
      align-items: center; }
      #head_area #head_logo .logo_box span {
        display: inline-block;
        height: 30px;
        padding-right: 1rem; }
        #head_area #head_logo .logo_box span img {
          height: 100%; }
    #head_area #head_logo .ttl01 {
      line-height: 1.6;
      font-size: 3rem;
      color: #333;
      padding-left: 3rem;
      width: 7rem; }
  #head_area .corporate {
    width: 21rem;
    height: 3.4rem;
    border-radius: 3px; }
    #head_area .corporate a {
      background-color: #0A2173;
      text-decoration: none;
      color: #fff;
      display: inline-block;
      vertical-align: middle;
      line-height: 3.4rem;
      font-size: 1.3rem; }

@media screen and (max-width: 600px) {
  #head_area .header_in_wrap.content_wrap {
    padding-left: 0;
    padding-right: 0;
    background-color: #fff; }

  #head_area,
  .fixed #head_area {
    position: fixed;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2); } }
#head_area #head_logo {
  display: flex;
  justify-content: space-between;
  width: 100%; }
  #head_area #head_logo .logo_box {
    width: calc(100% - (60px + 5%)); }
  #head_area #head_logo .ttl01 {
    padding-left: 0;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.4;
    margin-top: -.3rem; }

#top_01 {
  background: url(../images/bg_top_01_sp.png) no-repeat center top;
  background-size: cover;
  margin-top: 6rem; }

@media screen and (min-width: 601px) {
  #top_01 {
    background-image: url(../images/bg_top_03.png);
    margin-top: 0; }

  padding-left: 5%;
  padding-right: 5%;
  .header_in_wrap {
    max-width: 1600px;
    margin: 0 auto; }

  #head_area #head_logo {
    width: 100%;
    padding: 2.5rem 0 2rem;
    justify-content: flex-start; }
    #head_area #head_logo .logo_box {
      width: 100%; }
      #head_area #head_logo .logo_box span {
        width: auto;
        height: 4rem;
        display: inline-block; }
        #head_area #head_logo .logo_box span img {
          height: 100%; }
    #head_area #head_logo .ttl01 {
      font-size: 2rem;
      width: auto; }
  #head_area .corporate {
    width: auto; }
    #head_area .corporate a {
      padding: 1rem;
      line-height: 1;
      white-space: nowrap;
      transition: transform 0.3s linear; }
      #head_area .corporate a:hover {
        background-color: #1E9DD5; }

  #top_01 {
    background-position: center -2rem; } }
/* pc グロナビ　*/
@media screen and (min-width: 601px) {
  #global_nav {
    padding-top: 4rem; }
    #global_nav > ul {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
      align-items: center;
      border-left: 1px solid #656464;
      border-right: 1px solid #656464; }
      #global_nav > ul > li {
        border-left: 1px solid #656464;
        height: 9.5rem;
        transition: transform 0.2s linear; }
        #global_nav > ul > li:first-of-type {
          border-left: none; }
        #global_nav > ul > li:last-of-type {
          border-right: none; }
        #global_nav > ul > li a {
          display: flex;
          align-items: center;
          justify-content: center;
          text-align: center;
          text-decoration: none;
          color: #03134E;
          font-weight: 500;
          line-height: 1.6;
          font-size: 2.6rem;
          width: 100%;
          height: 100%;
          align-items: center; }
        #global_nav > ul > li a {
          cursor: text; }
      #global_nav > ul .single a {
        cursor: pointer; }
        #global_nav > ul .single a:hover {
          opacity: 0.6;
          filter: alpha(opacity=60);
          color: #0A2173; }
      #global_nav > ul .single.current a:hover {
        background-color: #7F8FCC; } }
@media screen and (min-width: 601px) {
  .submenu {
    visibility: hidden; }

  #global_nav li:hover .submenu {
    visibility: visible;
    background-color: #fff;
    position: relative;
    z-index: 10; }
    #global_nav li:hover .submenu li {
      width: 100%;
      height: 7rem;
      border-bottom: 1px solid #E6E6E6; }
      #global_nav li:hover .submenu li:nth-child(1) {
        border-top: 1px solid #E6E6E6; }
      #global_nav li:hover .submenu li a {
        line-height: 1.6;
        font-size: 1.8rem;
        font-weight: 400;
        background-color: rgba(255, 255, 255, 0.7);
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
        color: #333;
        cursor: pointer;
        font-weight: 400;
        display: flex;
        justify-content: space-between;
        padding-right: 1rem;
        padding-left: 1rem; }
        #global_nav li:hover .submenu li a span {
          text-align: left; }
        #global_nav li:hover .submenu li a:hover {
          color: #7F8FCC;
          background-color: white; } }
@media screen and (max-width: 1020px) {
  #global_nav ul li a {
    line-height: 1.6;
    font-size: 2rem; }

  #global_nav li:hover .submenu li a {
    line-height: 1.6;
    font-size: 1.5rem; } }
/*
=============================================
top　content バナー
=============================================
*/
.bana_recruits {
  padding: 3.5rem 0 3rem; }
  .bana_recruits a:hover {
    opacity: 0.7;
    filter: alpha(opacity=70); }
  .bana_recruits .bana_recruit.sp {
    text-align: center; }

@media screen and (min-width: 601px) {
  .bana_recruits {
    padding: 6rem 0 5.5rem; } }
/*
=============================================
top　content 募集職種
=============================================
*/
.content_in_wrap {
  background: url(../images/bg_top_02_sp.png) center top;
  background-size: cover; }

.content_in_wrap02 {
  background: url(../images/bg_top_03.png) center 25%;
  background-size: cover;
  padding-top: 3.5rem; }

.main_area {
  padding: 7rem 0 4rem; }
  .main_area .ttl02 {
    color: #fff;
    font-size: 2.8rem;
    font-weight: 900;
    text-align: center;
    letter-spacing: 1.5rem; }
  .main_area .ttl_area {
    padding-bottom: 4rem; }
    .main_area .ttl_area p {
      color: #fff;
      font-size: 1.7rem;
      text-align: center; }

@media screen and (min-width: 601px) {
  .content_in_wrap {
    background-image: url(../images/bg_top_02_pc.png); }

  .main_area {
    padding-top: 10rem; }
    .main_area .ttl02 {
      display: inline-block;
      font-size: 3.8rem; }
    .main_area .ttl_area {
      text-align: center;
      padding-bottom: 7rem; }
      .main_area .ttl_area p {
        font-size: 3.8rem;
        display: inline-block;
        padding-left: 1rem; } }
#application,
#application_pt {
  padding: 0 5%; }
  #application .application_box,
  #application_pt .application_box {
    border-radius: 8px;
    box-shadow: 0px 4px 0px rgba(0, 0, 0, 0.3);
    border: 1px solid #707070;
    background: #fff url(../images/bg_application_box.png) no-repeat right top;
    margin-bottom: 2rem; }
    #application .application_box:last-of-type,
    #application_pt .application_box:last-of-type {
      margin-bottom: 0; }
    #application .application_box a,
    #application_pt .application_box a {
      padding: 3rem 2rem 2.5rem;
      text-decoration: none;
      color: #333; }
      #application .application_box a:hover,
      #application_pt .application_box a:hover {
        background-color: #f1f1f1;
        border-radius: 8px;
        height: 100%; }
  #application .ttl03,
  #application_pt .ttl03 {
    color: #0A2173;
    line-height: 1.6;
    font-size: 2.1rem;
    padding-bottom: 2rem; }
  #application .application_detail,
  #application_pt .application_detail {
    font-weight: 700;
    line-height: 1.6;
    font-size: 1.5rem;
    padding-bottom: 2rem; }
  #application .salary,
  #application_pt .salary {
    line-height: 1.6;
    font-size: 1.5rem;
    padding-bottom: 2rem; }
  #application .cat_item,
  #application_pt .cat_item {
    display: grid;
    grid-template-columns: minmax(12rem, 1fr) minmax(12rem, 1fr); }
    #application .cat_item li,
    #application_pt .cat_item li {
      margin-left: .5rem;
      margin-bottom: 1rem;
      border-radius: .5rem;
      text-align: center;
      line-height: 1.6;
      font-size: 1.2rem;
      padding: 1rem 1.5rem;
      display: inline-block;
      color: #fff;
      text-decoration: none;
      width: 100%; }
      #application .cat_item li:nth-child(1), #application .cat_item li:nth-child(3),
      #application_pt .cat_item li:nth-child(1),
      #application_pt .cat_item li:nth-child(3) {
        margin-left: 0; }
      #application .cat_item li span,
      #application_pt .cat_item li span {
        white-space: nowrap; }
    #application .cat_item .place,
    #application_pt .cat_item .place {
      background: #1E9DD5 url(../images/ico_place.svg) no-repeat 1.5rem center;
      padding-left: 4rem;
      display: flex;
      justify-content: space-between; }
      #application .cat_item .place span:last-of-type,
      #application_pt .cat_item .place span:last-of-type {
        padding-left: 1rem; }
    #application .cat_item .type,
    #application_pt .cat_item .type {
      background-color: #C4AB0A; }

#application .cat_item .place a,
#application .cat_item .type a,
#application_pt .cat_item .place a,
#application_pt .cat_item .type a {
  transition: transform 0.3s linear; }
  #application .cat_item .place a:hover,
  #application .cat_item .type a:hover,
  #application_pt .cat_item .place a:hover,
  #application_pt .cat_item .type a:hover {
    opacity: 0.8;
    filter: alpha(opacity=80); }

@media screen and (min-width: 601px) {
  #recruit_top #application {
    margin-left: 0; }

  #application,
  #application_pt {
    display: grid;
    grid-template-columns: minmax(15rem, auto) minmax(15rem, auto);
    gap: 0rem 2rem; }
    #application .ttl03,
    #application_pt .ttl03 {
      line-height: 1.6;
      font-size: 3rem; }
    #application .application_detail,
    #application .salary,
    #application_pt .application_detail,
    #application_pt .salary {
      line-height: 1.6;
      font-size: 2.1rem; }
    #application .cat_item,
    #application_pt .cat_item {
      grid-template-columns: minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(10rem, 1fr) minmax(10rem, 1fr);
      gap: 1rem; }
      #application .cat_item li,
      #application_pt .cat_item li {
        margin-left: 1rem;
        line-height: 1.6;
        font-size: 1.4rem; }
        #application .cat_item li:nth-child(1), #application .cat_item li:nth-child(2), #application .cat_item li:nth-child(4),
        #application_pt .cat_item li:nth-child(1),
        #application_pt .cat_item li:nth-child(2),
        #application_pt .cat_item li:nth-child(4) {
          margin-left: 0; } }
.career_position #application_pt .cat_item {
  grid-template-columns: 1fr 1fr; }
  .career_position #application_pt .cat_item li {
    margin-bottom: .5rem; }

@media screen and (min-width: 601px) {
  .career_position #application_pt .cat_item {
    grid-template-columns: minmax(12rem, 16rem) minmax(12rem, 16rem) minmax(12rem, 16rem) minmax(12rem, 16rem); } }
#application_pt .cat_item {
  grid-template-columns: minmax(12rem, 16rem) minmax(12rem, 16rem) minmax(12rem, 16rem) minmax(12rem, 16rem); }

@media (min-width: 1300px) {
  #application .cat_item, #application_pt .cat_item {
    grid-template-columns: minmax(12rem, 16rem) minmax(12rem, 16rem) minmax(12rem, 16rem) minmax(12rem, 16rem); } }
@media (min-width: 601px) and (max-width: 1299px) {
  #application .cat_item {
    grid-template-columns: 1fr 1fr; }
    #application .cat_item li {
      margin-bottom: 0; } }
/*
=============================================
top　content カテゴリ
=============================================
*/
.cm_item {
  width: 100%; }

.content_in_wrap02 {
  padding-bottom: 3.5rem; }

@media screen and (min-width: 601px) {
  .content_in_wrap02 {
    padding-bottom: 13rem;
    padding-top: 12rem; } }
.content_in_wrap02 .cat_area .cat_box,
.content_in_wrap02 .cat_area .cat_box_s {
  margin-bottom: 3rem;
  border-radius: 10px;
  width: 100%;
  background-color: #fff; }
.content_in_wrap02 .cat_area .cat_box_s:last-of-type {
  margin-bottom: 0; }
.content_in_wrap02 .cat_area .cat_box {
  border: 1px solid #707070; }
  .content_in_wrap02 .cat_area .cat_box a {
    display: block;
    padding-top: 20rem;
    padding-left: 2rem;
    padding-bottom: 3rem;
    text-decoration: none;
    color: #0A2173; }
    .content_in_wrap02 .cat_area .cat_box a span {
      font-size: 1.7rem;
      color: #00114F; }
.content_in_wrap02 .cat_area .cat_box_s a {
  padding-left: 2rem;
  text-decoration: none;
  color: #0A2173;
  padding-top: 3rem;
  padding-bottom: 9rem; }
.content_in_wrap02 .cat_area .cat_box_s.c04 a {
  padding-bottom: 6rem; }
.content_in_wrap02 .cat_area .cat_ttl02 {
  color: #00114F;
  line-height: 1.6;
  font-size: 2.6rem;
  font-weight: 400; }
.content_in_wrap02 .cat_area .c01, .content_in_wrap02 .cat_area .c02, .content_in_wrap02 .cat_area .c03, .content_in_wrap02 .cat_area .g01, .content_in_wrap02 .cat_area .g02, .content_in_wrap02 .cat_area .g03, .content_in_wrap02 .cat_area .g04, .content_in_wrap02 .cat_area .b01, .content_in_wrap02 .cat_area .b02, .content_in_wrap02 .cat_area .a01, .content_in_wrap02 .cat_area .a02, .content_in_wrap02 .cat_area .a03, .content_in_wrap02 .cat_area .e01, .content_in_wrap02 .cat_area .e02 {
  background-repeat: no-repeat;
  background-position: right top;
  background-size: contain; }
.content_in_wrap02 .cat_area .c04, .content_in_wrap02 .cat_area .c05 {
  background-size: cover;
  border: 1px solid #9C9B9B;
  background-position-x: 85%; }
.content_in_wrap02 .cat_area .c01 {
  background-image: url(../images/thumb_company.png); }
.content_in_wrap02 .cat_area .c02 {
  background-image: url(../images/thumb_business.png); }
.content_in_wrap02 .cat_area .c03 {
  background-image: url(../images/thumb_working_environment.png); }
.content_in_wrap02 .cat_area .c04 {
  background-image: url(../images/thumb_faq.png); }
.content_in_wrap02 .cat_area .c05 {
  background-image: url(../images/thumb_system.png); }

.cat_box_s span {
  line-height: 1.6;
  font-size: 1.8rem;
  color: #00114F; }

@media screen and (min-width: 601px) {
  .content_in_wrap02 .cat_area .cat_box a, .content_in_wrap02 .cat_area .cat_box_s a {
    padding-left: 4rem;
    max-height: 13rem;
    padding-top: 3rem;
    padding-bottom: 9rem; }
  .content_in_wrap02 .cat_area .cat_ttl02 {
    line-height: 1.6;
    font-size: 3.4rem; }
  .content_in_wrap02 .cat_area .c01, .content_in_wrap02 .cat_area .c02, .content_in_wrap02 .cat_area .c03, .content_in_wrap02 .cat_area .c04, .content_in_wrap02 .cat_area .c05, .content_in_wrap02 .cat_area .g01, .content_in_wrap02 .cat_area .g02, .content_in_wrap02 .cat_area .g03, .content_in_wrap02 .cat_area .g04, .content_in_wrap02 .cat_area .b01, .content_in_wrap02 .cat_area .b02, .content_in_wrap02 .cat_area .a01, .content_in_wrap02 .cat_area .a02, .content_in_wrap02 .cat_area .a03, .content_in_wrap02 .cat_area .e01, .content_in_wrap02 .cat_area .e02 {
    background-repeat: no-repeat; }
  .content_in_wrap02 .cat_area .c01, .content_in_wrap02 .cat_area .c02, .content_in_wrap02 .cat_area .c03, .content_in_wrap02 .cat_area .g01, .content_in_wrap02 .cat_area .g02, .content_in_wrap02 .cat_area .g03, .content_in_wrap02 .cat_area .g04, .content_in_wrap02 .cat_area .b01, .content_in_wrap02 .cat_area .b02, .content_in_wrap02 .cat_area .a01, .content_in_wrap02 .cat_area .a02, .content_in_wrap02 .cat_area .a03, .content_in_wrap02 .cat_area .e01, .content_in_wrap02 .cat_area .e02 {
    background-image: none; }
    .content_in_wrap02 .cat_area .c01 .cat_ttl02, .content_in_wrap02 .cat_area .c02 .cat_ttl02, .content_in_wrap02 .cat_area .c03 .cat_ttl02, .content_in_wrap02 .cat_area .g01 .cat_ttl02, .content_in_wrap02 .cat_area .g02 .cat_ttl02, .content_in_wrap02 .cat_area .g03 .cat_ttl02, .content_in_wrap02 .cat_area .g04 .cat_ttl02, .content_in_wrap02 .cat_area .b01 .cat_ttl02, .content_in_wrap02 .cat_area .b02 .cat_ttl02, .content_in_wrap02 .cat_area .a01 .cat_ttl02, .content_in_wrap02 .cat_area .a02 .cat_ttl02, .content_in_wrap02 .cat_area .a03 .cat_ttl02, .content_in_wrap02 .cat_area .e01 .cat_ttl02, .content_in_wrap02 .cat_area .e02 .cat_ttl02 {
      display: none; }
  .content_in_wrap02 .cat_area .c04 {
    background-position: right center; }
  .content_in_wrap02 .cat_area .c05 {
    background-position: right top; }

  .content_in_wrap02 .cat_area .c01 {
    background-image: none; }
  .content_in_wrap02 .cat_area .c02 {
    background-image: none; }
  .content_in_wrap02 .cat_area .c03 {
    background-image: none; }
  .content_in_wrap02 .cat_area .c04 {
    background-image: url(../images/thumb_faq_pc.png); }
  .content_in_wrap02 .cat_area .c05 {
    background-image: url(../images/thumb_system_pc.png); }

  .content_in_wrap02 .cat_area {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .content_in_wrap02 .cat_area .cat_box_b {
      width: calc((100% - 6rem) / 3);
      margin-left: 3rem;
      overflow: hidden; }
      .content_in_wrap02 .cat_area .cat_box_b:hover {
        cursor: pointer;
        opacity: 0.7;
        filter: alpha(opacity=70); }
      .content_in_wrap02 .cat_area .cat_box_b a {
        width: 100%;
        height: 100%;
        display: block;
        transition: transform 0.2s linear; }
      .content_in_wrap02 .cat_area .cat_box_b:first-of-type {
        margin-left: 0; }
    .content_in_wrap02 .cat_area .c01, .content_in_wrap02 .cat_area .g01, .content_in_wrap02 .cat_area .b01, .content_in_wrap02 .cat_area .a01 {
      margin-left: 0; }
    .content_in_wrap02 .cat_area .cat_box_s {
      margin-top: 3rem; }
      .content_in_wrap02 .cat_area .cat_box_s:last-of-type {
        margin-bottom: 0; }
    .content_in_wrap02 .cat_area .c04, .content_in_wrap02 .cat_area .c05 {
      width: calc((100% - 3rem) / 2); }
      .content_in_wrap02 .cat_area .c04:hover, .content_in_wrap02 .cat_area .c05:hover {
        cursor: pointer;
        opacity: 0.7;
        filter: alpha(opacity=70); }
    .content_in_wrap02 .cat_area .c05 {
      margin-left: 3rem; }
    .content_in_wrap02 .cat_area .cat_ttl02 {
      color: #00114F;
      line-height: 1.6;
      font-size: 3rem;
      display: inline-block;
      padding-right: 2rem; }
    .content_in_wrap02 .cat_area .cat_box_s {
      margin-bottom: 0; }
      .content_in_wrap02 .cat_area .cat_box_s span {
        line-height: 1.6;
        font-size: 2.2rem; } }
@media screen and (max-width: 1300px) {
  .content_in_wrap02 .cat_area .cat_box_s span {
    line-height: 1.6;
    font-size: 1.8rem;
    display: block; } }
/*
=============================================
top　footer
=============================================
*/
#foot_area {
  padding: 5rem 0 4rem;
  background-color: #fff; }
  #foot_area .foot_box {
    width: 100%;
    display: block;
    text-align: center;
    text-decoration: none; }
    #foot_area .foot_box .foot_img {
      width: 13rem;
      display: inline-block;
      padding-bottom: .5rem; }
    #foot_area .foot_box .foot_txt {
      display: block;
      color: #333;
      line-height: 1.6;
      font-size: 2rem;
      font-weight: 700; }
  #foot_area .foot_logo {
    padding-bottom: 1.8rem;
    padding-top: 3rem; }
  #foot_area .copyright_box {
    line-height: 1.6;
    font-size: 1.2rem;
    color: #333;
    text-align: center; }

@media screen and (min-width: 601px) {
  #foot_area .foot_box .foot_img {
    padding-right: 2rem;
    width: 18rem; }
  #foot_area .foot_box .foot_txt {
    display: inline-block;
    line-height: 1.6;
    font-size: 3rem; } }
.addr {
  padding-left: 5%;
  padding-right: 5%;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-content: center; }
  .addr p {
    font-style: normal;
    padding-bottom: 1rem; }
    .addr p a {
      color: #03134E;
      text-decoration: none;
      display: inline-block; }
    .addr p span {
      display: inline-block;
      width: 7rem; }

@media screen and (min-width: 601px) {
  .addr {
    grid-template-columns: minmax(auto, 40rem) auto;
    gap: 2rem; }
    .addr p {
      padding-bottom: 0; }
      .addr p span {
        width: 6.5rem; }
    .addr .telarea a {
      color: #333; }

  .addrbox {
    border-left: 1px solid #ccc;
    padding-left: 2.5rem; } }
/*==================================================
　2階層目以下
===================================*/
.content_area {
  background-color: #F2F3F3;
  padding-top: 6rem; }

@media screen and (min-width: 601px) {
  .content_area {
    padding-top: 2rem; }

  #global_nav {
    padding-top: 0;
    margin-bottom: 4rem; } }
.ttl01_secondary h1 {
  padding: 4rem 0;
  width: 100%;
  background-color: #0C99D8;
  line-height: 1.6;
  font-size: 2.6rem;
  color: #fff;
  font-weight: 500;
  text-align: center; }
.ttl01_secondary .midashi-1 {
  padding: 4rem 0;
  width: 100%;
  background-color: #0C99D8;
  line-height: 1.6;
  font-size: 2.6rem;
  color: #fff;
  font-weight: 500;
  text-align: center; }

.ttl02_secondary h1,.ttl02_secondary h2  {
  background: url(../common/images/bg_ttl02.png) repeat-y;
  height: 3.5rem;
  padding-left: 2rem;
  line-height: 3.5rem;
  margin: 3rem 0 2.5rem;
  color: #03134E;
  line-height: 1.6;
  font-size: 2.2rem;
  font-weight: 500; }
.ttl02_secondary .midashi-1,.ttl02_secondary .midashi-2  {
  background: url(../common/images/bg_ttl02.png) repeat-y;
  height: 3.5rem;
  padding-left: 2rem;
  line-height: 3.5rem;
  margin: 3rem 0 2.5rem;
  color: #03134E;
  line-height: 1.6;
  font-size: 2.2rem;
  font-weight: 500; }

.ttl03_thirdly {
  padding-bottom: 2.5rem; }
  .ttl03_thirdly h3 {
    border-bottom: 3px solid;
    border-image: linear-gradient(to left, #66afe6 0%, #4cd2d2 51%, #00219a 100%);
    border-image-slice: 1;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
    line-height: 1.6;
    font-size: 2rem;
    color: #03134E;
    font-weight: 500; }
  .ttl03_thirdly .midashi-3 {
    border-bottom: 3px solid;
    border-image: linear-gradient(to left, #66afe6 0%, #4cd2d2 51%, #00219a 100%);
    border-image-slice: 1;
    padding-bottom: 1.5rem;
    padding-left: 2rem;
    line-height: 1.6;
    font-size: 2rem;
    color: #03134E;
    font-weight: 500; }

.content_box {
  padding-bottom: 5rem; }
  .content_box .txt_box {
    line-height: 2; }

.txt_box p {
  padding-left: 2rem;
  padding-right: 2rem; }

.content_in_wrap02 {
  background-color: #E6E6E6;
  padding-bottom: .5rem; }

@media screen and (min-width: 601px) {
  .content_box {
    padding-bottom: 13rem; }

  .ttl02_secondary h1, .ttl02_secondary h2 {
    line-height: 4.5rem;
    font-size: 4rem;
    height: 5rem;
    padding-left: 3rem;
    font-weight: 500;
    margin: 5rem 0; }
  .ttl02_secondary .midashi-1, .ttl02_secondary .midashi-2 {
    line-height: 4.5rem;
    font-size: 4rem;
    height: 5rem;
    padding-left: 3rem;
    font-weight: 500;
    margin: 5rem 0; }
	
  .ttl03_thirdly {
    padding-bottom: 4.5rem; }
    .ttl03_thirdly h3 {
      line-height: 6rem;
      font-size: 3.6rem;
      font-weight: 400;
      padding-left: 3rem; }
    .ttl03_thirdly .midashi-3 {
      line-height: 6rem;
      font-size: 3.6rem;
      font-weight: 400;
      padding-left: 3rem; }
	
  .content_in_wrap02 {
    padding-top: 13rem;
    padding-bottom: 13rem; }

  .txt_box p {
    line-height: 2;
    font-size: 2.1rem;
    padding-left: 3rem;
    padding-right: 3rem; }

  .cat_area .cat_ttl02 {
    display: none; } }
.pt10 {
  padding-top: 1rem; }

.pb10 {
  padding-bottom: 1rem; }

.pl10 {
  padding-left: 1rem; }

.pt10 {
  padding-top: 1rem; }

.pb00 {
  padding-bottom: 0; }

.pb20 {
  padding-bottom: 2rem; }

.pb30 {
  padding-bottom: 3rem; }

@media screen and (min-width: 601px) {
  #head_area #head_logo {
    padding-bottom: 5rem; }

  #global_nav ul .current > a {
    background-color: #1E9DD5;
    color: #fff;
    transition: transform 0.5s linear;
    cursor: text; }
    #global_nav ul .current > a:hover {
      color: #fff; } }
/*==================================================
　2階層目以下 フッターバナー
===================================*/
.business .content_in_wrap02 .cat_area, .company .content_in_wrap02 .cat_area, .graduate .content_in_wrap02 .cat_area, .environment .content_in_wrap02 .cat_area {
  justify-content: center; }
  .business .content_in_wrap02 .cat_area .cat_ttl02, .company .content_in_wrap02 .cat_area .cat_ttl02, .graduate .content_in_wrap02 .cat_area .cat_ttl02, .environment .content_in_wrap02 .cat_area .cat_ttl02 {
    line-height: 1.4;
    font-size: 2.1rem;
    color: #00A0E9;
    background: url(../common/images/ic_chevron_right_brue.svg) no-repeat right center; }
  .business .content_in_wrap02 .cat_area .cat_box a, .company .content_in_wrap02 .cat_area .cat_box a, .graduate .content_in_wrap02 .cat_area .cat_box a, .environment .content_in_wrap02 .cat_area .cat_box a {
    padding-right: 2rem; }
.business .content_in_wrap02, .company .content_in_wrap02, .graduate .content_in_wrap02, .environment .content_in_wrap02 {
  background-image: none; }

@media screen and (min-width: 601px) {
  .business .content_in_wrap02 .cat_area .cat_ttl02, .company .content_in_wrap02 .cat_area .cat_ttl02, .graduate .content_in_wrap02 .cat_area .cat_ttl02, .career .content_in_wrap02 .cat_area .cat_ttl02, .environment .content_in_wrap02 .cat_area .cat_ttl02 {
    background-image: none;
    line-height: 1.6;
    font-size: 4rem; } }
@media screen and (max-width: 600px) {
  .business .content_in_wrap02 .cat_area .cat_box, .company .content_in_wrap02 .cat_area .cat_box, .environment .content_in_wrap02 .cat_area .cat_box, .graduate .content_in_wrap02 .cat_area .cat_box {
    height: 15rem; }
    .business .content_in_wrap02 .cat_area .cat_box a, .company .content_in_wrap02 .cat_area .cat_box a, .environment .content_in_wrap02 .cat_area .cat_box a, .graduate .content_in_wrap02 .cat_area .cat_box a {
      padding-top: 9rem; }
  .business .content_in_wrap02 .cat_area .cat_ttl02, .company .content_in_wrap02 .cat_area .cat_ttl02, .environment .content_in_wrap02 .cat_area .cat_ttl02, .graduate .content_in_wrap02 .cat_area .cat_ttl02 {
    background-size: 1.3rem; } }
/*==================================================
　2階層目以下 320px以下の設定
===================================*/
.s_value {
  display: none; }

@media screen and (max-width: 375px) {
  .s_value {
    display: block; } }
/*==================================================
　2階層目以下 新卒採用
===================================*/
.graduate_entry_btn a,
.link_btn a {
  border-radius: 1rem;
  padding: 3rem 2rem 3rem 2.5rem;
  color: #fff;
  line-height: 1.6;
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  background: #00A0E9 url(../common/images/ic_chevron_right.svg) no-repeat 95% center;
  transition: transform 0.3s linear; }
  .graduate_entry_btn a span,
  .link_btn a span {
    display: inline-block; }
  .graduate_entry_btn a span:last-of-type,
  .link_btn a span:last-of-type {
    padding-left: 1rem;
    padding-right: 1rem; }
  .graduate_entry_btn a:hover,
  .link_btn a:hover {
    background: url(../common/images/ic_chevron_right.svg), linear-gradient(to left, #00A0E9 0%, #4cd2d2 40%, #00219a 100%);
    background-position: 95% center;
    background-repeat: no-repeat; }

@media screen and (min-width: 601px) {
  .graduate_entry_btn a,
  .link_btn a {
    padding: 3rem 2rem 3rem 3.5rem;
    line-height: 1.6;
    font-size: 3rem;
    width: 60rem;
    margin: 0 auto; }
    .graduate_entry_btn a span,
    .link_btn a span {
      text-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5); } }
.tablebox tr {
  display: grid;
  grid-template-columns: 100%; }
  .tablebox tr th {
    background-color: #ccc;
    text-align: left;
    font-weight: 500; }
  .tablebox tr td {
    background-color: #fff; }
  .tablebox tr th, .tablebox tr td {
    border: 1px solid #707070;
    padding: 1.5rem 2rem; }
  .tablebox tr td {
    border-top: none;
    border-bottom: none; }
  .tablebox tr:last-of-type td {
    border-bottom: 1px solid #707070; }
.tablebox .txtbox p span {
  display: inline-block;
  width: 8rem;
  padding-right: 1rem; }
.tablebox .txtbox .emphasis_block {
  font-weight: 700;
  padding-bottom: 1rem; }
  .tablebox .txtbox .emphasis_block em {
    font-style: normal; }
.tablebox .txtbox a {
  display: inline-block;
  color: #03134E; }

@media screen and (min-width: 601px) {
  .tablebox {
    width: 100%; }
    .tablebox .txtbox p span {
      width: 13rem; }
    .tablebox .txtbox p {
      line-height: 2; }
    .tablebox tr {
      grid-template-columns: 30% 1fr; }
      .tablebox tr td {
        border-top: 1px solid #707070;
        border-left: none; }
      .tablebox tr th {
        border-bottom: none; }
      .tablebox tr:last-of-type th {
        border-bottom: 1px solid #707070; }
      .tablebox tr th, .tablebox tr td {
        padding: 1.5rem 2rem 1.5rem 3rem;
        line-height: 2;
        font-size: 2.1rem; } }
.selection_flow {
  padding-left: 2rem;
  padding-right: 2rem; }

.flowbox {
  position: relative;
  padding-top: 4rem; }
  .flowbox:first-of-type {
    padding-top: 0; }
  .flowbox::after {
    position: absolute;
    content: url(../graduate/images/btm_arrow.svg);
    display: inline-block;
    width: 3rem;
    height: 1.3rem;
    padding-top: .5rem;
    left: 1.8rem; }
  .flowbox:last-of-type::after {
    content: none; }
  .flowbox dl {
    display: grid;
    grid-template-columns: minmax(6rem, 5%) 1fr; }
    .flowbox dl dt {
      background-color: #56C9FE;
      border-radius: .8rem 0 0 .8rem;
      font-weight: 700;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center; }
    .flowbox dl dd {
      border-radius: 0 .8rem .8rem 0;
      background-color: #fff;
      border: 1px solid #56C9FE; }
      .flowbox dl dd em {
        font-weight: 700;
        font-style: normal; }
    .flowbox dl dt, .flowbox dl dd {
      padding: 2rem 1.5rem; }

.flowtxt {
  padding: 3rem 0 4rem; }

@media screen and (min-width: 601px) {
  .selection_flow {
    padding-left: 3rem;
    padding-bottom: 7rem; }

  .flowbox dl {
    grid-template-columns: minmax(9rem, 10%) 1fr; }

  .flowbox::after {
    left: 4%; }
  .flowbox dt {
    line-height: 1.6;
    font-size: 2.4rem; }

  .flowbox dl dd em {
    line-height: 1.6;
    font-size: 2.4rem; }
  .flowbox dl dd .inlinebox {
    display: inline-block; }
  .flowbox dl dd .subtxt {
    padding-left: 3rem; }

  .flowtxt {
    line-height: 1.6;
    font-size: 1.8rem; } }
.breadcrumb {
  text-align: right; }
  .breadcrumb li {
    position: relative;
    display: inline-block;
    padding: 0 3rem;
    height: 3rem; }
    .breadcrumb li::after {
      position: absolute;
      content: '';
      display: inline-block;
      top: 0;
      right: 0;
      width: 1px;
      height: 100%;
      -webkit-transform: rotate(30deg);
      transform: rotate(30deg);
      background-color: #ccc; }
    .breadcrumb li a {
      color: #ccc;
      text-decoration: none; }
  .breadcrumb .current {
    padding-right: 0; }
    .breadcrumb .current::after {
      content: none; }

.section_box .ttl02_secondary {
  padding-bottom: 2rem; }

/*==================================================
　FAQアイコン
===================================*/
.faqbox dt {
  background: url(../common/images/ic_q.svg) no-repeat left 1.7rem;
  padding: 2rem 1.5rem 2rem 4.5rem;
  color: #0A2173;
  font-weight: 500;
  margin-bottom: .4rem;
  background-color: #fff; }
.faqbox dd {
  background: url(../common/images/ic_a.svg) no-repeat left 2.7rem;
  padding: 3rem 1.5rem 2rem 4.5rem;
  background-color: #DCEBF5; }
.faqbox dt, .faqbox dd {
  background-size: 4rem; }
  .faqbox dt p, .faqbox dd p {
    line-height: 2;
    font-size: 1.6rem; }

@media screen and (min-width: 601px) {
  .faqbox dt, .faqbox dd {
    background-size: 6rem;
    padding-left: 8rem; }
    .faqbox dt p, .faqbox dd p {
      line-height: 2;
      font-size: 2.4rem; }
  .faqbox dt {
    background-position: 1rem 1.7rem; }
  .faqbox dd {
    background-position: 1rem 2.7rem; } }
/*==================================================
　社員インタビュー
　内定後のサポート
===================================*/
.ttl03_t {
  position: relative;
  display: flex;
  align-items: center;
  padding-bottom: 2rem; }
  .ttl03_t::before {
    position: absolute;
    content: "";
    border-top: 3px solid #00A0E9;
    width: 1.5rem; }
  .ttl03_t h3, .ttl03_t h4 {
    padding-left: 2rem;
    color: #03134E;
    line-height: 1.6;
    font-size: 1.8rem;
    font-weight: 500; }
  .ttl03_t .midashi-3, .ttl03_t .midashi-4 {
    padding-left: 2rem;
    color: #03134E;
    line-height: 1.6;
    font-size: 1.8rem;
    font-weight: 500; }

@media screen and (min-width: 601px) {
  .ttl03_t::before {
    width: 5rem; }
  .ttl03_t h3, .ttl03_t h4 {
    padding-left: 6.5rem;
    color: #03134E;
    line-height: 1.6;
    font-size: 3.6rem;
    font-weight: 500; } }
  .ttl03_t .midashi-3, .ttl03_t .midashi-4 {
    padding-left: 6.5rem;
    color: #03134E;
    line-height: 1.6;
    font-size: 3.6rem;
    font-weight: 500; } }

/*==================================================
　リスト ---- ul li
===================================*/
.list li {
  position: relative;
  padding-left: 2rem;
  padding-bottom: 1.5rem; }
  .list li::before {
    position: absolute;
    left: 0;
    content: url("../career/images/ico_point.svg"); }

@media screen and (min-width: 601px) {
  .list li {
    padding-left: 6rem; }
    .list li::before {
      content: url("../career/images/ico_point_p.svg");
      top: 10%; } }
/*==================================================
　スマホ hover 停止 ※最後の方で記述する
===================================*/
@media screen and (max-width: 600px) {
  .graduate_entry_btn a:hover,
  .link_btn a:hover {
    background: #00A0E9 url(../common/images/ic_chevron_right.svg) no-repeat 95% center; } }
.b01 {
  background-image: url(../business/images/business01.png); }

.b02 {
  background-image: url(../business/images/business02.png); }

.occupation {
  padding: 0 2rem 6rem; }
  .occupation dt {
    position: relative;
    display: inline-block;
    line-height: 1.6;
    font-size: 1.8rem;
    color: #03134E; }
    .occupation dt::before {
      content: '';
      position: absolute;
      top: 50%;
      display: inline-block;
      width: 15px;
      height: 3px;
      background-color: #00A0E9; }
    .occupation dt span {
      display: inline-block;
      padding-left: 2.2rem;
      font-weight: 500; }
  .occupation dd {
    padding-top: 1.5rem; }

.occupation_box {
  padding: 7rem 0 0; }
  .occupation_box dl:last-of-type {
    padding-bottom: 0; }

@media screen and (min-width: 601px) {
  .occupation dt {
    line-height: 6rem;
    font-size: 3.2rem; }
    .occupation dt::before {
      width: 50px; }
    .occupation dt span {
      padding-left: 6.5rem; }
  .occupation dd {
    line-height: 1.6;
    font-size: 2.1rem; } }
/*==================================================
　事業を知る　フッター共通バナー
===================================*/
.business .content_in_wrap02 .cat_area .cat_box_b {
  width: calc((100rem - 3rem) / 2);
  max-width: 480px; }
.business .content_in_wrap02 .cat_area .b01 {
  margin-left: 0; }

@media screen and (min-width: 601px) {
  .business .content_in_wrap02 .cat_area .b01,
  .business .content_in_wrap02 .cat_area .b02 {
    margin: 0 0 0 auto; }

  .business .content_in_wrap02 .cat_area .cat_box_b {
    width: calc((100rem - 3rem) / 2);
    max-width: 42rem; }
  .business .content_in_wrap02 .cat_area {
    display: grid;
    grid-template-columns: minmax(auto, 42rem) minmax(auto, 42rem);
    align-items: center;
    justify-items: center;
    gap: 2rem; } }
@media (max-width: 1211px) and (min-width: 601px) {
  .business .content_in_wrap02 .cat_area .cat_box_b {
    background-position-x: center;
    width: calc(100% - 2rem);
    margin-bottom: 0; } }
@media (min-width: 1212px) {
  .business .content_in_wrap02 .cat_area {
    gap: 5rem; } }
/*==================================================
　事業を知る　部門紹介
===================================*/
.main_box {
  display: flex;
  flex-direction: column; }
  .main_box .main_pic {
    padding: 2rem 2rem;
    background-color: #fff; }
  .main_box .main_txt {
    padding-top: 2rem;
    text-align: left; }

.figure_area {
  text-align: center;
  background-color: #fff;
  padding: 2rem 1rem;
  width: 100%; }

@media screen and (min-width: 601px) {
  .figure_area {
    padding: 6rem 3rem; }

  .main_box {
    text-align: center; }
    .main_box .main_pic {
      padding: 4rem 2rem;
      margin: 0 3rem; }

  .main_box .main_txt {
    padding-top: 4rem; } }
@media screen and (max-width: 600px) {
  .business .ttl02_secondary h2 {
    margin-bottom: 2.5rem; } }
  .business .ttl02_secondary .midashi-2 {
    margin-bottom: 2.5rem; } }
