/* Contact page (scoped, rebuilt for 326-835) */
main.contact .contact-scope .tabs { margin-top:0; margin-bottom:0; }
main.contact .contact-scope .tabs .btn {
  display:inline-flex; align-items:center; justify-content:center; height:56px; padding:12px 24px;
  border-radius:0; font-weight:400; font-size:16px; text-align:center; box-shadow:none; margin-bottom:0;
}
main.contact .contact-scope .contact-tabs .btn { min-height: initial; min-width: 0; max-width: none; width: auto; }
/* Default(PC/Tablet): 2ボタンを横並び、間は8px（左だけマージン） */
main.contact .contact-scope .contact-tabs .btn-group { display:inline-flex; gap:0; }
main.contact .contact-scope .contact-tabs .btn-group > .btn:first-child { margin-right:8px; }
main.contact .contact-scope .tabs .btn.btn-success { background:#4C9D2A; border-color:#4C9D2A; color:#fff; border-width:1px; border-bottom:0; font-weight:700; }
main.contact .contact-scope .tabs .btn.btn-default { background:#F3F4F6; border-color:#E5E7EB; color:#111827; border-width:1px; border-bottom:0; font-weight:400; }
main.contact .contact-scope hr { border:0; border-top:2px solid #4C9D2A; height:0; margin:0 0 40px; }
main.contact .contact-scope .text { margin-bottom:24px; }
main.contact .contact-scope .note-12 { font-size:12px; color:#6B7280; }
main.contact .contact-scope .email-note { margin-top:0; }
main.contact .contact-scope .email-note + .email-note { margin-top:0; }
/* email input bottom spacing */
main.contact .contact-scope td .form-group.full_size.mb20 { margin-bottom:10px; }

/* utilities for labels */
main.contact .contact-scope .label-16 { font-size:16px; font-weight:400; }
main.contact .contact-scope .label-14 { font-size:14px; font-weight:400; }

/* PC: 安定レイアウト（collapse + 一体型の枠） */
main.contact .contact-scope table.contact { width:1100px; border-collapse:collapse; border-spacing:0; margin-top:0; margin-bottom:40px; }
main.contact .contact-scope table.contact th { width:266px; background:#F6F6F6; border:1px solid #CCCCCC; padding:16px 24px; vertical-align:middle; border-radius:0; box-sizing:border-box; }
main.contact .contact-scope table.contact td { width:835px; border:1px solid #CCCCCC; padding:24px; background:#FFFFFF; border-radius:0; box-sizing:border-box; }
/* ラベル(必須)のビジュアルをFigma寄りに */
main.contact .contact-scope table.contact th { color:#111827; font-size:16px; font-weight:400; text-align:left; }
main.contact .contact-scope table.contact th .req {
  display:inline-block; margin-left:8px; padding:2px 6px; line-height:1; font-size:12px;
  color:#fff; background:#A90201; border-radius:0; vertical-align:middle;
}
main.contact .contact-scope .form-control { border-radius:8px; border:1px solid #CCCCCC; padding:16px; box-shadow:none; }
/* email input visual */
main.contact .contact-scope input[type="email"].form-control { background:#fff; color:#111827; }
main.contact .contact-scope input.form-control::placeholder { color:#9CA3AF; }
main.contact .contact-scope input.form-control { font-size:16px; line-height:1.2; }
main.contact .contact-scope select.form-control { font-size:16px; line-height:1.2; }
main.contact .contact-scope textarea.form-control { font-size:16px; line-height:1.5; width:100%; }
main.contact .contact-scope input[name="organization"].form-control,
main.contact .contact-scope input[name="email"].form-control { width:787px; }
main.contact .contact-scope input[name="name"].form-control,
main.contact .contact-scope input[name="tell"].form-control { width:400px; }
/* Height */
main.contact .contact-scope input.form-control, main.contact .contact-scope select.form-control { height:50px; }
main.contact .contact-scope textarea.form-control { height:240px; }

/* Form active (focus) state */
main.contact .contact-scope input.form-control:focus,
main.contact .contact-scope select.form-control:focus,
main.contact .contact-scope textarea.form-control:focus {
  border-color:#4C9D2A;
  outline:0;
  box-shadow:0 0 0 2px rgba(76,157,42,0.2);
}

/* Accordion */
main.contact .contact-scope .accordion .acc-item { margin-bottom:8px; }
main.contact .contact-scope .accordion .acc-header { display:flex; justify-content:space-between; align-items:center; padding:8px 16px; border:1px solid #CCCCCC; border-radius:8px; background:#FFFFFF; cursor:pointer; min-height:50px; }
main.contact .contact-scope .accordion .acc-header .radio-inline { font-size:16px; line-height:1.5; display:flex; align-items:center; gap:8px; padding-left:0; }
main.contact .contact-scope .accordion .acc-header .radio-inline input[type="radio"] { position:static; width:20px; height:20px; margin:0 10px 0 0; flex:0 0 auto; }
main.contact .contact-scope .accordion .acc-item.is-open .acc-header { background:#F6F6F6; border-radius:8px 8px 0 0; }
main.contact .contact-scope .accordion .acc-panel { border:1px solid #CCCCCC; border-top:none; border-radius:0 0 8px 8px; padding:16px 24px; }
main.contact .contact-scope .accordion .acc-item.is-open .acc-panel { border:0; }
main.contact .contact-scope .accordion .acc-item .acc-panel[hidden] { display:none; }
main.contact .contact-scope .accordion .acc-caret svg { transition:transform .2s ease; }
main.contact .contact-scope .accordion .acc-item.is-open .acc-caret svg { transform: rotate(90deg); }
main.contact .contact-scope input[type="radio"] { accent-color:#145B54; }
main.contact .contact-scope .radio-group { display:flex; flex-direction:column; gap:16px; }
main.contact .contact-scope .radio-group .radio-inline { display:flex; align-items:flex-start; gap:8px; padding:0; margin:0; cursor:pointer; }
main.contact .contact-scope .radio-group .radio-inline input[type="radio"] { width:20px; height:20px; margin:0; flex:0 0 auto; margin-top:2px; }
main.contact .contact-scope .radio-group .radio-label { display:flex; flex-direction:column; gap:4px; }
main.contact .contact-scope .radio-group .service-name { font-size:16px; line-height:1.5; color:#111827; }
main.contact .contact-scope .radio-group .service-desc { font-size:14px; line-height:1.5; color:#6B7280; }

/* SP: ラジオグループのレイアウト調整 */
@media (max-width: 767px) {
  main.contact .contact-scope .radio-group { gap:12px; }
  main.contact .contact-scope .radio-group .radio-inline { padding:16px; border:1px solid #CCCCCC; border-radius:8px; }
  main.contact .contact-scope .radio-group .radio-inline input[type="radio"] { margin-top:2px; }
}

main.contact .contact-scope .accordion input[type="radio"] { accent-color:#145B54; }
main.contact .contact-scope .accordion .acc-header label { min-height:44px; display:flex; align-items:center; }

/* セクションタイトル */
main.contact .contact-scope .section-title {
  font-size: 16px;
  color: #111827;
  margin: 0 0 24px;
  padding: 8px 0 8px 16px;
  border-left: 4px solid #4C9D2A;
  line-height: 1;
}

main.contact .contact-scope .section-title-large {
  font-size: 24px;
}

main.contact .title-medium {
  font-size: 20px;
}

/* 必須ラベル */
main.contact .contact-scope .req {
  background: #A90201;
  color: #FFFFFF;
  font-size: 12px;
  padding: 1px 4px;
  margin-left: 8px;
  border-radius: 0;
}

/* タブレットサイズのテーブルレイアウト */
@media (min-width: 769px) and (max-width: 1100px) {
  main.contact .contact-scope table.contact {
    width: 100%;
    table-layout: fixed;
  }
  main.contact .contact-scope table.contact th {
    width: 266px;
  }
}

@media (max-width: 767px) {
  main.contact .contact-scope table.contact th,
  main.contact .contact-scope table.contact td {
    display: block;
    width: 100%;
  }
}

/* セレクトボックスのカスタマイズ */
main.contact .contact-scope select.form-control {
  width: 100%;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7.37502 10.3433C7.71682 10.6851 8.2719 10.6851 8.61369 10.3433L12.1137 6.84326C12.3653 6.5917 12.4391 6.21709 12.3024 5.88896C12.1656 5.56084 11.8485 5.34756 11.493 5.34756L4.49299 5.34756C4.14026 5.34756 3.82033 5.56084 3.68362 5.88896C3.5469 6.21709 3.62346 6.5917 3.87229 6.84326L7.37229 10.3433L7.37502 10.3433Z' fill='%23222222'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  padding-right: 32px;
}

/* フォームグループのレイアウト */
main.contact .form-inline .form-group {
  display: inline-grid;
}

/* アコーディオン矢印の回転 */
main.contact .contact-scope .acc-item.is-open .acc-caret svg {
  transform: rotate(-90deg);
}

/* チェックボックススタイル */
main.contact .contact-scope .checkbox {
  margin: 0;
}

main.contact .contact-scope .checkbox label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  min-height: 24px;
  font-size: 16px;
}

main.contact .contact-scope .checkbox input[type="checkbox"] {
  margin: 0;
  position: static;
  width: 16px;
  height: 16px;
  flex: none;
}

/* サービス選択グリッド */
main.contact .contact-scope .service-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  margin-bottom: 40px;
  width: 100%;
}

main.contact .contact-scope .service-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
}

main.contact .contact-scope .service-item {
  background: #FFFFFF;
  border: 1px solid #CCCCCC;
  border-radius: 8px;
  padding: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  height: 130px;
}

main.contact .contact-scope .service-name {
  text-align: left;
  margin-top: 16px;
  font-size: 16px;
  color: #111827;
}

main.contact .contact-scope .service-logo {
  height: 48px;
  width: auto;
  object-fit: contain;
}

main.contact .contact-scope .service-item img[alt="MedPeer"] {
  width: 180px;
  height: auto;
}

main.contact .contact-scope .service-item img[alt="MedPeer Career"] {
  height: 32px;
}

main.contact .contact-scope .service-item img[alt="ClinPeer"],
main.contact .contact-scope .service-item img[alt="やくばと"],
main.contact .contact-scope .service-item img[alt="kakari"] {
  max-height: 50px;
  width: auto;
}

main.contact .contact-scope .service-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #4C9D2A;
  font-size: 16px;
  text-decoration: none;
  margin-top: 0;
  text-align: left;
}

main.contact .contact-scope .service-link:hover {
  text-decoration: underline;
}

main.contact .contact-scope .arrow-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

/* SP: サービスグリッドのレイアウト調整 */
@media (max-width: 767px) {
  main.contact .contact-scope .service-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  main.contact .contact-scope .service-item {
    padding: 16px;
  }

  main.contact .contact-scope .service-logo {
    margin-bottom: 0;
  }
}

/* Tabs visibility */
main.contact .contact-scope[data-tab="corp"] .corp-only { display: block; }
main.contact .contact-scope[data-tab="corp"] tr.corp-only { display: table-row; }
main.contact .contact-scope[data-tab="corp"] .personal-only { display: none; }
main.contact .contact-scope[data-tab="personal"] .corp-only { display: none; }
main.contact .contact-scope[data-tab="personal"] .personal-only { display: block; }

/* removed duplicate 768px block to avoid conflicting 1-column rules */

/* SP: 767px以下 タブは等分で横並び（gap:8px）・フォームは1カラム */
@media (max-width: 767px) {
  main.contact .contact-scope .contact-tabs .btn-group { display:flex; width:50%; gap:4px; }
  main.contact .contact-scope .contact-tabs .btn-group > .btn { flex:1; min-width:0; }
  main.contact .contact-scope table.contact {
    width:100%;
    margin-bottom: 32px;
  }
  main.contact .contact-scope table.contact th,
  main.contact .contact-scope table.contact td { width:100%; display:block; }
  main.contact .contact-scope table.contact th { border-bottom:none; border-radius:0; }
  main.contact .contact-scope table.contact td {
    border-top: 1px solid #CCCCCC;
    border-bottom: 0;
    border-radius: 0;
    padding: 16px;
    margin-bottom: 0;
  }
  main.contact .contact-scope table.contact tr:last-child td {
    border-bottom: 1px solid #CCCCCC;
  }
  main.contact .contact-scope input[name="organization"].form-control,
  main.contact .contact-scope input[name="email"].form-control,
  main.contact .contact-scope input[name="name"].form-control,
  main.contact .contact-scope input[name="tell"].form-control { width:100%; }
  main.contact .contact-scope .form-group { margin-bottom:0; }
}

/* 1100px以下〜769px以上のはみ出し対策（PC配置維持） */
@media (max-width: 1100px) and (min-width: 769px) {
  /* テーブルレイアウト */
  main.contact .contact-scope table.contact { width:100%; table-layout:fixed; }
  main.contact .contact-scope table.contact th { width:266px; }

  /* サービスグリッドを2カラムに */
  main.contact .contact-scope .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* ロゴサイズを親要素に合わせて調整 */
  main.contact .contact-scope .service-logo {
    max-width: 100%;
  }

  main.contact .contact-scope .service-item img[alt="MedPeer"] {
    width: 100%;
    max-width: 180px;
  }

  main.contact .contact-scope .service-item img[alt="MedPeer Career"] {
    width: auto;
    max-height: 32px;
  }

  /* フォーム入力欄 */
  main.contact .contact-scope input[name="organization"].form-control,
  main.contact .contact-scope input[name="email"].form-control,
  main.contact .contact-scope input[name="name"].form-control,
  main.contact .contact-scope input[name="tell"].form-control { width:100%; }
}

/* Desktop: タブ幅を固定してレイアウトのズレを防止 */
@media (min-width: 769px) {
  main.contact .contact-scope .contact-tabs .btn { width:178px; }
}

/* Tablet (revert SP work) */
@media (max-width: 768px) {
  main.contact .contact-scope .tabs .btn { height:48px; font-size:14px; }
}

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

main {
  line-height: 1.7;
}

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

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

img, a img {
  border: none;
}

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

a {
  color: #000;
}

wbr + span {
  display: inline-block;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mt80 {
  margin-top: 80px !important;
}

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

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

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

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

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

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

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

.mr10 {
  margin-right: 10px;
}

.mr20 {
  margin-right: 20px;
}

.mr30 {
  margin-right: 30px;
}

.mr40 {
  margin-right: 40px;
}

.bold {
  font-weight: bold;
}

.blue {
  color: #23b5ba;
}

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

.center {
  text-align: center;
}

.center_img {
  text-align: center;
}

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

.right_text {
  text-align: right;
}

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

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

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

.under_sp {
  margin-bottom: 2%;
}

.link_black {
  color: #505050;
}

.error {
  color: #ff0000;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.req {
  color: #fff;
  background: #A90201;
  border-radius: 0;
}

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

label {
  font-weight: normal;
}

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

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

.small {
  font-size: 90%;
}

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

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

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

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

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

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

.adjust-header {
  padding-top: 70px;
  margin-top: -70px;
}

.pc-break {
  display: block;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

header.top {
  height: 527px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

header nav.navbar.navbar-default .h_english {
  background: url("../images/common/h_icon05.png") no-repeat left center;
  padding: 0 6px 0 18px;
  display: inline;
}

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

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

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

header nav.navbar.navbar-default .h_x img {
  width: 100%;
}
.h_btn {
  color: #fff;
  font-size: 17px;
  line-height: 1.33333;
  padding: 5px 20px 5px 10px;
  border-radius: 0px;
  font-size: 12px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.not_found_text {
  padding-bottom: 70px;
}

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

@media (max-width: 1030px) {
  header.recruit nav.navbar.navbar-default .rec_pc_gnav li {
    padding: 2.9% 12px 0;
  }

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

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

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

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

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

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

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

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

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

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

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

  .pc-break {
    display: none;
  }
}

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.service_nav_1 {
  width: 260px !important;
}

.service_nav_2 {
  width: 250px !important;
}

.service_nav_3 {
  width: 120px !important;
}

.m-gnavsub.ir .m-gnavsub__menu {
  align-items: stretch;
}

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

.m-gnavsub.ir .m-gnavsub__menu li:first-child {
  width: 21%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.m-gnavsub.ir .m-gnavsub__menu > li:not(:first-child) {
  margin-top: 10px;
}
.m-gnavsub__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 980px;
}

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

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

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

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

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

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

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

main {
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main .workplace_lead {
  max-width: 820px;
  margin: 0 auto;
}

main ul.workplace_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 333px));
  gap: 50px;
  justify-content: center;
}

main ul.workplace_list li {
  font-size: 15px;
  line-height: 1.6;
}

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

main ul.workplace_list li img {
  width: 100%;
  height: auto;
  margin-bottom: 12px;
}

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

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

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

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

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

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

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

main .sub_nav_rec li a {
  display: block;
}

main .sub_nav_rec li:not(:first-child) {
  border-left: 1px solid #d4d5d3;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main ul.job_flow {
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

main ul.job_flow li {
  width: calc(100% / 4 - 49px);
  margin: 0 65px 30px 0;
  position: relative;
}

main ul.job_flow li.end {
  margin-right: 0;
}

main ul.job_flow li:not(:last-child)::after {
  content: '';
  border-style: solid;
  border-width: 10px 0 10px 14px;
  border-color: transparent transparent transparent #959595;
  position: absolute;
  top: 83px;
  right: -38px;
}

main ul.job_flow li .flow_title {
  border: 2px solid #959595;
  border-radius: 50%;
  margin: 0 auto 28px;
  width: 180px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
}

main ul.job_flow li .flow_title p {
  font-size: 20px;
}

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

main ul.job_flow li.end .flow_title {
  background: #f79d01;
  border-color: #f79d01;
  color: #fff;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main.recruit.message.message_top .container-fluid.sub_vis_wrap {
  background: url(../images/recruit/message/sub_vis.png?20241218)no-repeat top center/auto 100%;
  height: 340px;
  display: flex;
  align-items: center;
  justify-content: center;
}

main.recruit.message.message_top .container-fluid.sub_vis_wrap h2.title {
  padding-bottom: 0;
  margin: 0 0 38px;
}

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

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

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

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

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

main.recruit.message .container-fluid.message_bg section:not(:last-of-type) {
  margin-bottom: 83px;
}

main.recruit.message .container-fluid.message_bg .content {
  background: transparent;
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
}

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

main.recruit.message .container-fluid.message_bg>section .content.message .text section:not(:last-of-type) {
  margin-bottom: 50px;
}

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

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

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

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

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

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

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

main.recruit.message .container-fluid.message_bg .content .text p:last-child {
  margin-bottom: 0;
}

main.recruit.message .container-fluid.message_bg .content .message_img {
  width: 50%;
  max-width: 550px;
}

main.recruit.message .container-fluid.message_bg .content .message_video {
  width: 80%;
  max-width: 800px;
  aspect-ratio: 16 / 9;
  margin: 0 auto 24px;
}

main.recruit.message .container-fluid.message_bg .content .message_video iframe {
  width: 100%;
  height: 100%;
}

main.recruit.message .container-fluid.message_bg section:nth-of-type(odd) .content .message_img {
  float: left;
  margin: 0 40px 20px 0;
}

main.recruit.message .container-fluid.message_bg section:nth-of-type(even) .content .message_img {
  float: right;
  margin: 0 0 20px 40px;
}

main.recruit.message .container-fluid.message_bg .content .message_img .message_img-md {
  display: none;
}

main.recruit.message .container-fluid.message_bg .content .message_img img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  margin-bottom: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main.recruit .rec_workplace #slider li img {
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

main.recruit .rec_message .sub_title span:before,
main.recruit .rec_message .sub_title span:after {
  width: 26%;
}

main.recruit .rec_message .rec_message_btn_area {
  margin-top: 120px;
  display: flex;
  justify-content: center;
}

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

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

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

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

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

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

main.recruit.top .rec_people .rec_banner_list {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 257px);
  gap: 24px;
  justify-content: center;
}

main.recruit.top .rec_people .rec_banner_list li img {
  width: 100%;
}

main.recruit.top .rec_people .rec_banner_list li img.banner-sp {
  display: none;
}

main.recruit.top .rec_message {
  background: url(../images/recruit/top/topic_bg.png?20241218)no-repeat top center/auto 100%;
  height: 484px;
}

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

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

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

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

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

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

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

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

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

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

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

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

main.press .nav-tabs li {
  min-width: 154px;
  margin-right: 1%;
}

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

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

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

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

main.ir .irtop_content .irtop_message {
  display: block;
  width: 100%;
}

main.ir .irtop_content .irtop_message img {
  width: 100%;
  height: auto;
}

main.ir .main_content.message .section:not(:last-of-type) {
  margin-bottom: 80px;
}

main.ir .main_content.message .section .message_img {
  width: 265px;
}

main.ir .main_content.message .section .message_img img {
  width: 100%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main.message section.content .section:not(:last-of-type) {
  margin-bottom: 80px;
}

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

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

main.message .sub_img h3.title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border-left: none;
  font-size: 22px;
  font-weight: normal;
  margin-bottom: 0;
  padding: 0;
}

main.message section.content .section:nth-of-type(odd) .sub_img h3.title {
  text-align: right;
  right: 40px;
}

main.message section.content .section:nth-of-type(even) .sub_img h3.title {
  left: 40px;
}

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

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

main.message.introduction section.content .statement_text {
  padding-top: 4%;
}

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

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

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

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

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

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

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

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

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

main .sub_vis_wrap .sub_vis h2.title.title_en {
  padding-top: 60px;
}
main .contact .policy_text {
  background: #f6f6f6;
  border: 1px solid #cccccc;
  padding: 24px;
  margin-top: 16px;
  margin-bottom: 24px;
  font-size: 14px;
  line-height: 1.6;
  color: #111827;
  overflow-y: auto;
  max-height: 200px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main ul.img_l_list {
  display: flex;
  justify-content: center;
}

main ul.img_l_list li {
  width: 30%;
  font-size: 15px;
}

main ul.img_l_list li:not(:last-child) {
  margin-right: 5%;
}

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

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

main ul.img_list {
  overflow: hidden;
}

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

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

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

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

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

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

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

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

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

main div.box p#gMapGinza,
p#gMapTogeki,
p#gMapColbo,
p#gMapMiforce {
  height: 300px;
  margin: 0 0 16px;
  width: 100%;
}

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

main .company_list {
  overflow: hidden;
}

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

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

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

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

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

main .company_list.profile dl.management dd p span {
  width: 100%;
  max-width: 375px;
  display: block;
  float: left;
}

main .company_list.profile dl.subsidiary dd p a,
main .company_list.profile dl.affiliates dd p a {
  margin-top: 0;
}

main .company_list.profile dl.subsidiary dd p,
main .company_list.profile dl.affiliates dd p {
  margin-bottom: 0;
}

main .company_list.profile dl.subsidiary dd p:not(:last-child),
main .company_list.profile dl.affiliates dd p:not(:last-child) {
  margin-bottom: 20px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main .sub_nav.press li {
  width: 33.3%;
}

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

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

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

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

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

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

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

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

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

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

main ul.financial_list {
  overflow: hidden;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main .main_content.message {
  line-height: 1.8;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main aside.side_ir .side_banner {
  margin-top: 30px;
}

main aside.side_ir .side_banner .list-banner li img {
  width: 100%;
}

main aside.side_ir .side_banner .list-banner li:not(:last-child) {
  margin-bottom: 20px;
}

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

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

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

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

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

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

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

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

main ul.nav-tabs li {
  text-align: center;
  border-bottom: 0px;
}
main ul.nav-tabs li.active > a,
main ul.nav-tabs li.active > a:focus,
main ul.nav-tabs li.active > a:hover {
  background: #4c9d2a;
  color: #fff;
  border-left: none;
  border-right: none;
  border-bottom: 1px solid #4c9d2a;
}
main ul.nav-tabs li a {
  width: 100%;
  background: #f4f2f2;
  border-radius: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main .container-fluid.news {
  background: #f2f2f2;
  padding: 0;
}

main .container-fluid.message {
  background: #fff url(../images/top/mes.png?20241218) no-repeat center top/auto 485px;
  height: 485px;
  padding-bottom: 10px;
  margin-bottom: 22px;
}

main .container-fluid.message section.message_content h2.title {
  max-width: 335px;
  margin: 0 auto;
}

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

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

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

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

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

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

main .container-fluid.mission {
  background: #fff url(../images/top/mis_bg.jpg) no-repeat calc(50% - 90px) 50%/auto 540px;
  height: 540px;
  padding-bottom: 10px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main section.box .ir_governance-img {
  width: 100%;
  max-width: 605px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main.recruit section .flex_btn {
  display: flex;
  justify-content: center;
  align-items: center;
}

main.recruit section .flex_btn .btn {
  margin: 0;
}

main.recruit section .flex_btn .btn:not(:last-child) {
  margin-right: 40px;
}

main section.content.privacy:not(:last-child) {
  margin-bottom: 9%;
}

main section.content.privacy .section-title {
  font-size: 28px;
  margin-bottom: 3%;
}

main section.content.privacy .internal_links {
  margin: 10px 0 45px;
}

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

main section.content.privacy dl dt {
  font-weight: normal;
  margin-bottom: 10px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

main section.content.service_low ul.flow li.arw {
  background: none;
  width: 66px;
}

main section.content.service_low ul.flow li.long {
  padding-top: 35px;
}

main section.content.service_low .topic {
  position: relative;
  font-size: 14px;
  margin: 30px 0 50px;
}

main section.content.service_low .topic img {
  width: 100%;
  height: auto;
}

main section.content.service_low .topic h4.title {
  color: #1c8c42;
  font-size: 18px;
  margin-bottom: 0;
  font-weight: normal;
}

main section.content.service_low .topic .topic01 {
  width: 250px;
  position: absolute;
  left: 0;
  top: 55%;
}

main section.content.service_low .topic .topic02 {
  width: 250px;
  position: absolute;
  left: 8%;
  top: 8%;
}

main section.content.service_low .topic .topic03 {
  width: 250px;
  position: absolute;
  left: 39%;
  top: 0%;
}

main section.content.service_low .topic .topic04 {
  width: 260px;
  position: absolute;
  left: 69%;
  top: 8%;
}

main section.content.service_low .topic .topic05 {
  width: 250px;
  position: absolute;
  left: 77%;
  top: 55%;
}

main section.content.service_low .sub_nav {
  margin-top: 40px;
}

main section.content.interview {
  margin-bottom: 30px;
}

main section.content.interview .text {
  font-size: 14px;
}

main section.content.interview img {
  margin-bottom: 30px;
}

main section.content.interview p {
  margin-bottom: 50px;
  line-height: 1.9;
}

main section.content.interview p a {
  text-decoration: underline;
}

main section.content.interview p a:hover {
  text-decoration: none;
}

main section.content.interview p span {
  color: #4c9d2a;
  padding-right: 15px;
}

main section.content.interview ul.interview_img {
  overflow: hidden;
}

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

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

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

main section.content.interview p.interview_en {
  font-size: 14px;
  color: #666;
}

main section.content.interview p.title {
  color: #4c9d2a;
  margin-bottom: 12px;
  font-size: 18px;
  padding-left: 30px;
  background: url(../images/common/interview_title_bg.jpg) left 17px no-repeat;
}

main section.content.interview h3.title {
  font-size: 17px;
  border-left: none;
  line-height: 1.7;
  margin-bottom: 15px;
  padding-left: 0;
  font-weight: bold;
}
main section.content.interview h3.title.sp {
  font-size: 24px;
  border-left: 2px solid #4c9d2a;
  padding: 5px 0 5px 4%;
  margin-bottom: 4%;
}
main section.content.interview h3.title.sp span {
  display: block;
  width: 60%;
  font-size: 15px;
  border-top: 1px solid #c1bfbf;
  margin-top: 10px;
  padding-top: 15px;
}

main section.content.interview .profile {
  background: #f6f6f6;
  padding: 20px;
  font-size: 13px;
  overflow: hidden;
  margin-bottom: 60px;
}

main section.content.interview .profile p {
  margin-bottom: 0;
}

main section.content.interview .profile.interview_simple {
  padding: 0;
  margin-bottom: 30px;
  float: right;
  max-width: 30%;
  margin-left: 50px;
}

main section.content.interview .profile.interview_simple img {
  float: none;
  margin: 0;
  width: 100%;
}

main section.content.interview .profile.interview_simple .data {
  padding: 20px 25px;
}

main section.content.interview .profile.interview_simple .data p {
  margin-bottom: 3px;
  line-height: 1.6;
}

main section.content.interview .profile.interview_simple .data p.name {
  margin-bottom: 10px;
}

main section.content.interview .profile.interview_simple .data p.sp {
  margin-top: 20px;
}

main section.content.interview .profile.interview_simple p.text {
  font-size: 14px;
}

main section.content.interview .profile.interview_simple .data th {
  width: 70px;
  padding: 3px 0;
  vertical-align: top;
  font-weight: normal;
}

main section.content.interview .profile.interview_simple .data td {
  padding: 3px 0;
}

main section.content.interview .profile.interview_simple .data li {
  padding: 3px 0;
}

main section.content.interview .profile img {
  float: left;
  margin-bottom: 5px;
  margin-right: 15px;
}

main section.content.interview .profile .name {
  font-size: 15px;
  margin-bottom: 10px;
}

main section.content.member {
  margin-bottom: 0;
  padding: 70px 0 60px;
  background: none;
}

main section.content.blog_banner {
  margin-bottom: 0;
  padding: 40px 0 70px;
  background: none;
}

main section.content.member.talk {
  padding: 0;
  margin-bottom: 90px;
}

main section.content.member.talk .sub_nav {
  padding-top: 35px;
}

main section.content.member.work {
  margin: 0 auto 20px;
}

main section.content.member.service {
  padding-bottom: 0;
  margin-bottom: 90px;
}

main section.content.member.service .text {
  margin-bottom: 2%;
  line-height: 1.7;
}

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

main section.content.member.service ul.work_list li {
  margin-bottom: 50px;
}

main section.content.member ul.list {
  overflow: hidden;
  margin-bottom: 45px;
}

main section.content.member ul.list li {
  width: 31%;
  float: left;
  margin-right: 3.5%;
}

main section.content.member ul.list li img {
  max-width: 100%;
  height: auto;
}

main section.content.member ul.list li:nth-child(3n) {
  margin-right: 0;
}

main section.content.member ul.list a.mask {
  position: relative;
  display: block;
  height: 40%;
  margin-bottom: 10px;
}

main section.content.member ul.list a.mask .text {
  display: none;
}

main section.content.member ul.list a.mask .text_wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  /* 絶対位置指定 */
  top: 0;
  left: 0;
  opacity: 0;
  background: rgba(0, 0, 0, 0.6);
  -webkit-transform: rotateX(-180deg);
  transform: rotateX(-180deg);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

main section.content.member ul.list a.mask:hover .text_wrap {
  -webkit-transform: rotateX(0);
  transform: rotateX(0);
  opacity: 1;
}

main section.content.member ul.list a.mask:hover .text_wrap .text {
  text-align: center;
  display: block;
  overflow: hidden;
  height: 40%;
  width: 100%;
  padding: 0 15px;
  margin: 0 auto;
  position: absolute;
  top: 42%;
  left: 0;
}

main section.content.member ul.list a.mask:hover .text_wrap .text p {
  color: #fff;
  font-size: 100%;
}

main section.message_content {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

main section.message_content .text {
  max-width: 565px;
  margin-bottom: 30px;
  line-height: 1.7;
  font-size: 15px;
}

main section.message_content h2.title {
  padding-top: 70px;
  margin-bottom: 40px;
}

main section.news_content {
  margin: 65px auto 55px;
  max-width: 1100px;
}

main section.blog_content_top {
  margin: 65px auto 70px;
  max-width: 1100px;
}

main section.news_content h2.title {
  margin-bottom: 0;
}

main section.news_content .col-md-6.col-xs-12 {
  padding-left: 15px;
  padding-right: 0px;
  max-height: 165px;
  margin-bottom: 30px;
}

main section.news_content .col-md-6.col-xs-12:nth-child(odd) {
  padding-right: 15px;
  padding-left: 0px;
}

main section.news_content a {
  display: block;
}

main section.news_content table {
  background: #fff;
  width: 100%;
}

main section.news_content table .news_img {
  width: 30%;
  position: relative;
  max-width: 180px;
  max-height: 165px;
}

main section.news_content table .information_news_img {
  max-width: 180px;
  max-height: 165px;
  position: relative;
  overflow: hidden;
}

main section.news_content .blog_contents {
  margin-top: 30px;
}

main section.news_content .blog_article_img {
  position: relative;
  overflow: hidden;
}

main section.news_content .is_cate {
  padding: 3px 8px;
  background: #4c9d2a;
  color: #fff;
  font-size: 12px;
  position: absolute;
  top: 0;
  left: 16px;
  z-index: 1;
}

main section.news_content table .news_img .cate {
  position: absolute;
  top: 0;
  left: 0;
  width: 50px;
}

main section.news_content .blog-title {
  color: #4c9d2a;
  font-size: 18px;
  line-height: 1.5;
}

main section.news_content .blog-title:after {
  content: '';
  width: 18px;
  height: 18px;
  background: url(../images/common/icon_next_grn.png) left center no-repeat;
  background-size: 18px;
  padding-left: 24px;
  margin-left: 3px;
}

main section.news_content table td {
  width: 70%;
  padding: 0 18px;
  vertical-align: middle;
  font-size: 16px;
  position: relative;
}

main section.news_content table td .text {
  background: #fff;
  overflow: hidden;
  width: 100%;
  /*height: 70px;*/
  padding-bottom: 25px;
  line-height: 1.6;
  font-size: 15px;
}

main section.news_content table td .data {
  border-top: 1px solid #e0dfdf;
  width: 92%;
  position: absolute;
  bottom: 10px;
  font-size: 12px;
  padding-top: 10px;
  margin-top: 10px;
}

main section.news_content table td .data span {
  margin-right: 10px;
}

main section .content {
  max-width: 870px;
  margin: 30px auto 110px;
}

main section .content span {
  margin-right: 30px;
}

main h2.title {
  font-family: "futura-pt";
  font-size: 54px;
  margin-bottom: 50px;
  background: url(../images/common/h2_title_bg.jpg) left bottom no-repeat;
}

main h2.blog-title {
  margin-bottom: 25px;
}

main h2.title span {
  font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
  display: block;
  font-size: 13px;
  margin-top: 20px;
  padding-bottom: 30px;
}

main h3.title {
  font-size: 22px;
  color: #010101;
  padding: 5px 0 5px 20px;
  margin-bottom: 22px;
  font-weight: normal;
  border-left: 2px solid #4c9d2a;
}

main h4 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
}

main h5 {
  font-size: 16px;
  margin-bottom: 8px;
  font-weight: bold;
}

main h4.title {
  font-weight: bold;
  margin-bottom: 20px;
  font-size: 16px;
}

main .center_form,
main .confirm_btn {
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}

main .confirm_btn {
  clear: both;
  overflow: hidden;
  text-align: left;
}

main .breadcrumb {
  background: none;
  max-width: 1100px;
  margin: 30px auto;
  font-size: 11px;
  padding-left: 0;
  padding-right: 0;
}

main .breadcrumb.rec {
  background: #f6f6f6;
  max-width: 100%;
  padding: 15px 0 15px;
  margin: 0 auto 45px;
  text-align: center;
  font-size: 14px;
}

main .breadcrumb.rec li {
  position: relative;
}

main .breadcrumb.rec .active {
  color: #050505;
}

main .breadcrumb.rec a span {
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  width: 12px;
  height: 2px;
  background-color: #4c9d2a;
  display: block;
  opacity: 0;
}

main .breadcrumb.rec .active a span {
  opacity: 1;
}

main .breadcrumb.rec a {
  padding-bottom: 3px;
  color: #050505;
  border-bottom: 0;
  margin-right: 0px;
  margin-left: 0px;
  padding-left: 25px;
  padding-right: 25px;
  position: relative;
}

main .breadcrumb.rec a:hover,
main .breadcrumb.rec a:focus {
  opacity: 1;
}

main .breadcrumb.rec a:hover span,
main .breadcrumb.rec a:focus span {
  opacity: 1;
  transition: all 1.5s cubic-bezier(0.25, 0.1, 0.25, 1) 0s;
}

main .breadcrumb.rec li + li::before {
  content: "/";
  color: #050505;
}

main .breadcrumb .active {
  color: #020202;
}

main .breadcrumb a {
  color: #020202;
  text-decoration: underline;
  margin-right: 5px;
  margin-left: 5px;
}

main .breadcrumb.rec a {
  text-decoration: none;
}

main .breadcrumb a:hover,
main .breadcrumb a:focus {
  text-decoration: none;
}

main .breadcrumb li + li::before {
  content: "> ";
  color: #020202;
}

main .contact_title {
  font-size: 24px;
  margin-bottom: 30px;
}

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

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

@media (max-width: 1500px) {
  main section.message_content .text {
    max-width: 565px;
    margin-bottom: 30px;
    line-height: 1.7;
    font-size: 15px;
  }
}

@media (max-width: 1350px) {
  main.recruit.people.interview10 .sub_vis_wrap {
    background-position: 20% center;
  }

  main.recruit.people.interview11 .sub_vis_wrap {
    background-position: 20% center;
  }
}

@media (max-width: 1140px) {
  main.recruit.top .sub_vis_wrap .sub_vis {
    height: 0;
    padding-bottom: 54%;
  }
  main.recruit.top .rec_people {
    height: auto;
  }
  main.recruit.top .rec_people .rec_banner_list {
    grid-template-columns: repeat(2, 257px);
  }
  main.recruit.top .rec_message .topic dt {
    font-size: 15px;
    margin-bottom: 5px;
  }
  main .breadcrumb {
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
  main .container-fluid,
  main .container,
  main .sub_vis {
    padding-left: 15px;
    padding-right: 15px;
  }
  main .container-fluid.news,
  main .container.news,
  main .sub_vis.news {
    padding-left: 20px;
    padding-right: 20px;
  }
  main.message .sub_img h3.title {
    font-size: 20px;
  }
  main.message section.content .statement_text ul.list li {
    width: 100%;
    float: none;
    margin-bottom: 15px;
  }
  main.message section.content .statement_text ul.list li img {
    /*margin-bottom: 0;*/
  }
  main.message section.content .statement_text ul.list li:first-child {
    border: none;
  }
  main .library dl {
    padding-left: 0;
  }
  main .library dl dt {
    font-size: 14px;
  }
  main .main_content {
    width: 75%;
  }
  main aside {
    width: 22%;
    font-size: 12px;
  }
  main aside.side_blog {
    font-size: 12px;
  }
  main aside.side_blog h3.title {
    font-size: 14px;
  }
  main aside.side_blog .search {
    font-size: 14px;
    padding: 5%;
  }
  main aside.side_blog .profile {
    padding: 6% 5%;
  }
  main aside.side_blog .list {
    padding: 5%;
  }
  main .right_img,
  main .left_img {
    width: 40%;
    height: auto;
  }
  main section.message_content .text {
    max-width: 500px;
    margin-bottom: 30px;
    line-height: 1.7;
    font-size: 16px;
  }

  main ul.job_list li a,
  main ul.job_list li.job_list_02 a {
    min-height: auto;
    padding: 20px 40px 20px 20px;
    font-size: 18px;
  }

  main ul.job_list li span.job_list_name {
    width: auto;
    display: inline;
    float: none;
  }

  main ul.job_list li span.new_icon {
    display: inline-black;
    float: none;
    margin: 0 0 0 10px;
  }

  main ul.job_list li {
    width: 100%;
    float: none;
  }

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

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

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

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

  main.message .container-fluid section.content .statement_text03 {
    width: 100%;
  }

  main.message .container-fluid section.content .statement_text04 {
    width: 100%;
  }
  main.message section.content .statement_text ul.list li:last-child {
    border-left: none;
  }
  header.recruit nav.navbar.navbar-default .h_logo h1 {
    padding-left: 10px;
  }
  main.recruit.message .container-fluid.message_bg .content .text {
    padding: 40px 3.509vw;
  }
  main.recruit.message .container-fluid.message_bg section:nth-of-type(odd) .content .message_img {
    margin: 0 3.509vw 1.754vw 0;
  }
  main.recruit.message .container-fluid.message_bg section:nth-of-type(even) .content .message_img {
    margin: 0 0 1.754vw 3.509vw;
  }
  main .message_img {
    width: 30%;
  }
  main .message_img img {
    width: 100%;
  }
  main.recruit.people.interview10 .sub_vis_wrap {
    background-position: 20% center;
  }
  main.ir .main_content.message .section .message_img {
    width: 33%;
    max-width: 360px;
  }
}
@media (max-width: 991px) {
  main .container-fluid.mission {
    background-position: 70% 50%;
  }
  main ul.work_list li .text {
    padding-top: 4%;
    font-size: 86%;
  }
  main section.message_content .text {
    max-width: 50%;
  }
  main section.news_content .col-md-6.col-xs-12 {
    padding-left: 0px;
    padding-right: 0px;
    max-height: auto;
    margin-bottom: 30px;
  }
  main section.news_content .col-md-6.col-xs-12:nth-child(odd) {
    padding-right: 0px;
    padding-left: 0px;
  }
  main section.news_content table .news_img {
    width: 19%;
  }
  main section.news_content table td {
    width: 81%;
  }
  main.recruit.top .sub_vis_wrap {
    background: url(../images/recruit/top/sub_vis.jpg) top center/cover no-repeat;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding-top: 21%;
  }
  main.recruit.people.interview01 .sub_vis_wrap {
    background-position: 80% center;
  }
  main.recruit.people.interview02 .sub_vis_wrap {
    background-position: 85% center;
  }

  main.recruit.people.interview04 .sub_vis_wrap {
    background-position: 65% center;
  }
  main.recruit.people.interview05 .sub_vis_wrap {
    background-position: 85% center;
  }
  main.recruit.people.interview06 .sub_vis_wrap {
    background-position: 85% center;
  }
  main.recruit.people.interview07 .sub_vis_wrap {
    background-position: 65% center;
  }
  main.recruit.people.interview08 .sub_vis_wrap {
    background-position: 75% center;
  }
  main.recruit.people.interview10 .sub_vis_wrap {
    background-position: 30% center;
  }
  main.recruit.people.interview12 .sub_vis_wrap {
    background-position: 65% center;
  }
  main.recruit.people.interview .sub_vis_wrap .sub_vis dl {
    padding-top: 150px;
    width: 49%;
  }
  main.recruit.message.message_top .container-fluid.sub_vis_wrap {
    height: 280px;
  }
  main ul.work_list li .text {
    float: left;
    width: 50%;
    padding: 0% 4% 0;
    font-size: 92%;
  }

  main ul.work_list li .text01 {
    padding-top: 2%;
  }
  main section.content.member.work {
    padding-top: 0;
  }
  main section.content.member.work .title {
    margin-bottom: 0;
  }
  main section.content.interview .profile {
    margin-bottom: 30px;
  }
  main section.content.interview p {
    margin-bottom: 20px;
  }
  main section.content.member ul.list a.mask .text_wrap {
    display: none;
  }

  main ul.job_list {
    margin-bottom: 12px;
  }
  main ul.job_list li {
    width: 100%;
    float: none;
  }

  main ul.job_flow li {
    margin-right: 40px;
    min-width: 150px;
  }

  main ul.job_flow li:not(:last-child)::after {
    top: 66px;
    right: -30px;
  }

  main ul.job_flow li .flow_title {
    width: 150px;
    height: 150px;
  }
}

@media (max-width: 896px) {
  main .container-fluid.message {
    background-size: auto 440px;
    height: 440px;
  }

  main.message .sub_img h3.title {
    font-size: 18px;
  }

  main.recruit.top .rec_message,
  main.recruit.message_top .rec_message {
    background: url(../images/recruit/top/topic_bg.png?20241218)no-repeat top center/auto 100%;
    height: 400px;
  }

  main.recruit .rec_message .rec_message_btn_area {
    margin-top: 80px;
  }
}

@media (max-width: 767px) {
  main {
    font-size: 14px;
  }
  main a.text_link {
    position: static;
    transition: 0;
  }
  main a.text_link::after {
    display: none;
  }
  main nav.sitemap ul li a {
    position: static;
  }
  main nav.sitemap ul li a:after {
    display: none;
  }
  main nav.sitemap {
    margin-bottom: 0;
  }
  main nav.sitemap ul {
    width: 100%;
    float: none;
    border-bottom: 1px solid #ccc;
    padding-bottom: 4%;
    margin-bottom: 4%;
  }
  main nav.sitemap ul.sp {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  main nav.sitemap ul.end {
    margin-bottom: 0;
    border: none;
  }
  main nav.sitemap ul li {
    padding: 3% 1% 3% 32px;
    font-size: 12px;
  }
  main nav.sitemap ul li.sp {
    margin-top: 0;
  }
  main nav.sitemap ul li.title {
    font-size: 13px;
    padding-left: 10px;
    padding-right: 10px;
  }
  main section.content.detail h3.title .sns li.tw {
    margin-top: 0;
  }
  main .talk_title_sp .sub_title {
    overflow: hidden;
    padding-top: 4%;
    font-size: 16px;
    text-align: center;
    padding-left: 26%;
  }
  main .talk_title_sp .sub_title .left {
    float: left;
    padding-right: 12%;
    margin-right: 8%;
    text-align: left;
    background: url(../images/company/talk_title_bg_sp.jpg) no-repeat right 80%;
    background-size: 12px;
  }
  main .talk_title_sp .sub_title .left span {
    font-size: 12px;
  }
  main .talk_title_sp .sub_title .right {
    text-align: left;
    float: left;
  }
  main .talk_title_sp .sub_title .right span {
    font-size: 12px;
  }
  main .main_content {
    width: 100%;
    margin-bottom: 7%;
    float: none;
  }
  main aside {
    width: 100%;
    max-width: 100%;
    float: none;
  }
  main .stock_table {
    margin-top: 3%;
  }
  main .stock_table .table th {
    display: block;
    width: 100%;
    background: none;
    padding: 0;
    font-weight: bold;
    padding-top: 2%;
    padding-bottom: 1%;
  }
  main .stock_table .table td {
    padding: 0;
    display: block;
    padding-bottom: 2%;
  }
  main .sub_nav_rec {
    padding: 0;
    border-top: 1px solid #ccc;
  }
  main .sub_nav_rec.under li {
    width: 100%;
  }
  main .sub_nav_rec li {
    float: none;
    width: 100%;
    padding: 10px 30px 10px 10px !important;
    border-bottom: 1px solid #ccc !important;
    font-size: 11px;
  }
  main .sub_nav_rec li span {
    font-size: 14px;
  }
  main .entry_detail {
    border-bottom: 1px solid #ccc;
    margin-bottom: 5%;
  }
  main .entry_detail th,
  main .entry_detail td {
    display: block;
    width: 100%;
    padding: 15px;
  }
  main .entry_detail th {
    padding: 10px 15px;
  }
  main .entry_detail td {
    padding: 15px;
    border-top: none;
    border-bottom: none;
  }
  main .entry_detail td a {
    color: #4c9d2a;
  }
  main ul.workplace_list {
    grid-template-columns: repeat(auto-fit, minmax(0, 345px));
    gap: 30px 40px;
  }
  main ul.job_list {
    margin-bottom: 0;
  }
  main ul.job_list li {
    width: 100%;
    float: none;
  }
  main ul.job_list li:nth-child(2n) {
    float: none;
  }
  main ul.job_flow_sp li {
    margin-bottom: 40px;
    position: relative;
  }
  main ul.job_flow_sp li:not(:last-child)::after {
    content: '';
    border-style: solid;
    border-width: 12px 9px 0 9px;
    border-color: #959595 transparent transparent transparent;
    position: absolute;
    bottom: -28px;
    left: 50%;
    transform: translateX(-50%);
  }
  main ul.job_flow_sp li .flow_title {
    color: #4c9d2a;
  }
  main ul.job_flow_sp li.end {
    background: none;
  }
  main .entry_lead {
    text-align: left;
    margin-bottom: 12px;
  }

  main .entry_lead p + p {
    padding-top: 12px;
  }
  main .entry_lead br {
    display: none;
  }
  main.recruit h3.title span:before,
  main.recruit h3.title span:after {
    border-top: none;
  }
  main.blog .sub_vis_wrap {
    background: #fbfbfb url(../images/blog/sub_vis_sp.jpg) no-repeat center top;
    height: auto;
    background-size: 100%;
  }
  main.blog .sub_vis_wrap .sub_vis h2.title {
    font-size: 180%;
    padding-top: 0;
    position: absolute;
    top: 18%;
  }
  main.blog .sub_vis_wrap .sub_vis h2.title span {
    font-size: 12px;
  }
  main.blog section.content.detail .sns li.cate {
    width: 100%;
    padding-top: 4%;
  }
  main.blog section.content.detail .main_content {
    margin-bottom: 8%;
  }
  main.blog section.content.detail h3.title {
    font-size: 15px;
  }
  main.blog section.content.detail h3.title .cate {
    font-size: 11px;
  }
  main.blog ul.blog_list li {
    padding: 4% 0;
  }
  main.blog ul.blog_list li h3.title {
    font-size: 16px;
    margin-bottom: 3%;
  }
  main.blog ul.blog_list li .data_wrap .data,
  main.blog ul.blog_list li .data_wrap .link {
    float: none;
  }
  main.recruit.message .container-fluid.message_bg {
    background: none;
    padding-top: 43px;
    padding-bottom: 43px;
  }
  main.recruit.message .container-fluid.message_bg section:not(:last-of-type) {
    margin-bottom: 56px;
  }
  main.recruit.message .container-fluid.message_bg .content {
    display: block;
    margin-bottom: 4%;
  }
  main.recruit.message .container-fluid.message_bg .content .message_img {
    width: 32vw;
  }
  main.recruit.message .container-fluid.message_bg .content .message_img .message_img-pc {
    display: none;
  }
  main.recruit.message .container-fluid.message_bg .content .message_img .message_img-md {
    display: block;
  }
  main.recruit.message .container-fluid.message_bg section:nth-of-type(odd) .content .message_img,
  main.recruit.message .container-fluid.message_bg section:nth-of-type(even) .content .message_img {
    margin: 0 4.267vw 4.267vw 0;
  }
  main.recruit.message .container-fluid.message_bg section:nth-of-type(even) .content .message_img {
    float: left;
  }
  main.recruit.message .container-fluid.message_bg .content .message_video {
    width: 100%;
    margin-bottom: 6%;
  }
  main.recruit.message .container-fluid.message_bg .content.career {
    padding: 3%;
    background: #f6f6f6;
  }
  main.recruit.message .container-fluid.message_bg .content .text {
    width: 100%;
    padding: 0;
    margin-bottom: 6%;
  }
  main.recruit.message .container-fluid.message_bg .content .text h3 {
    font-size: 18px;
    margin-bottom: 3%;
  }
  main.recruit.message .container-fluid.message_bg .content .text p {
    margin-bottom: 6%;
  }
  main.recruit h3.title {
    margin-bottom: 2%;
    font-size: 18px;
  }
  main.recruit .sub_vis_wrap {
    margin-bottom: 4%;
  }
  main.recruit .sub_vis_wrap .sub_vis {
    padding-left: 0;
    padding-right: 0;
  }
  main.recruit .sub_vis_wrap .sub_vis h2.title {
    font-size: 30px;
    width: 100%;
    margin: 0 auto;
    padding-top: 0;
    top: 68%;
    line-height: 1;
    margin-top: -2em;
    /*（line-height）×（行数）/2 */
    transform: none;
  }
  main.recruit .sub_vis_wrap .sub_vis h2.title .sub_title span {
    display: inline-block;
    padding: 0 1em;
    position: relative;
    font-family: "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, sans-serif;
    font-size: 10px;
  }
  main.recruit.message.message_top .container-fluid.sub_vis_wrap {
    background: url(../images/recruit/message/sub_vis_sp.png?20241218) no-repeat top 97px center/100% auto;
    height: 434px;
    align-items: flex-start;
  }
  main.recruit.message.message_top .container-fluid.sub_vis_wrap .sub_vis_contents {
    padding-top: 15px;
  }
  main.recruit.message.message_top .container-fluid.sub_vis_wrap h2.title {
    margin-bottom: 12px;
  }
  main.recruit.message.message_top .container-fluid.message_bg {
    padding-top: 40px;
  }
  main.recruit.message .sub_vis_wrap {
    margin-bottom: 0;
  }
  main.recruit.message .vis_text_sp dt {
    font-size: 15px;
    font-weight: normal;
    padding: 3% 10px 2%;
  }
  main.recruit.message .vis_text_sp dt .ruby {
    background: url(../images/recruit/message/sub_vis_title_bg.jpg) no-repeat
      scroll right center;
    background-size: 20px 1px;
    display: inline;
    font-family: Arial;
    font-size: 11px;
    font-weight: bold;
    padding-right: 30px;
  }
  main.recruit.message .vis_text_sp dd {
    padding: 0 10px 3%;
    font-size: 11px;
  }
  main.recruit.message
    .container-fluid.message_bg
    .content.career
    table
    th,
  main.recruit.message
    .container-fluid.message_bg
    .content.career
    table
    td {
    display: block;
    padding: 0;
  }
  main.recruit.message
    .container-fluid.message_bg
    .content.career
    table
    th {
    width: 100%;
    border-right: none;
    text-align: left;
    font-size: 13px;
    font-weight: normal;
    padding-bottom: 2%;
  }
  main.recruit.message.message_top
    .sub_vis_wrap
    .sub_vis
    dl.title
    dt
    .sub_title {
    font-size: 14px;
  }
  main.recruit.people.interview .sub_vis_wrap {
    margin-bottom: 0;
  }
  main.recruit.people.interview .vis_text_sp dt {
    background: #4ca630;
    color: #fff;
    font-size: 17px;
    font-weight: normal;
    padding: 8px 10px;
  }
  main.recruit.people.interview .vis_text_sp dt .ruby {
    background: url(../images/recruit/people/sub_vis_title_bg.jpg) no-repeat
      scroll right center;
    background-size: 20px 1px;
    display: inline;
    font-family: Arial;
    font-size: 10px;
    font-weight: bold;
    padding-right: 30px;
  }
  main.recruit.people.interview .vis_text_sp dd {
    padding: 4% 10px 5%;
  }
  main.recruit.people.interview .vis_text_sp dd .name {
    font-size: 14px;
    margin-top: 5px;
  }
  main.recruit.people.interview .vis_text_sp dd .name span {
    font-size: 10px;
    margin-left: 2%;
  }
  main.recruit.people.interview section.content.interview_rec {
    background-image: none;
    padding-left: 0;
    padding-right: 0;
    line-height: 1.7;
    margin-bottom: 8%;
  }
  main.recruit.people.interview section.content.interview_rec p.supplemental {
    font-size: 11px;
  }
  main.recruit.people.interview section.content.interview_rec .ask {
    font-size: 11px;
    margin: 0 0 1.5%;
  }
  main.recruit.people.interview section.content.interview_rec h3 {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 2%;
  }
  main.recruit.people.interview .container-fluid.comment section.content {
    padding: 2% 0;
  }
  main.recruit.people.interview .container-fluid.comment section.content .comment_img {
    width: 20%;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl {
    width: 78%;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl dt {
    margin: 1% 0;
    font-size: 11px;
    font-weight: bold;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl dd {
    font-size: 13px;
  }
  main.recruit.people.interview .container-fluid.comment section.content dl dd .text {
    padding: 3%;
  }
  main.recruit.people.interview01 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people01_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview01 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview02 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people02_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview02 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview03 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people03_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview03 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview04 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people04_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview04 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview05 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people05_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview05 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview06 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people06_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview06 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview07 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people07_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview07 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview08 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people08_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview08 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview09 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people09_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview09 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview10 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people10_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview10 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview11 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people11_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview11 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people.interview12 .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_people12_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people.interview12 .sub_vis_wrap .sub_vis {
    padding-top: 45%;
  }
  main.recruit.people .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/people/sub_vis_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.people .sub_vis_wrap .sub_vis .sub_title span::before,
  main.recruit.people .sub_vis_wrap .sub_vis .sub_title span::after {
    width: 34%;
  }
  main.recruit.people section.content.jobinfo {
    margin-top: 6%;
  }
  main.recruit.workplace .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/workplace/sub_vis_sp.jpg) no-repeat center top;
    background-size: 100%;
    margin-bottom: 5%;
  }
  main.recruit.workplace .sub_vis_wrap .sub_vis .sub_title span::before,
  main.recruit.workplace .sub_vis_wrap .sub_vis .sub_title span::after {
    width: 90%;
  }
  main.recruit.workplace section.content .text {
    line-height: 1.5;
    text-align: left;
  }
  main.recruit.entry section.content .text {
    margin-bottom: 3%;
  }
  main.recruit.entry.contact .sub_vis_wrap {
    height: auto;
    background: url(../images/recruit/entry/sub_vis_contact_sp.jpg) no-repeat center top;
    background-size: 100%;
  }
  main.recruit.entry.contact table.contact td .form-group select.hope {
    width: 100%;
  }
  main.recruit.entry.contact table.contact td.age .form-group {
    display: inline-block;
    width: 42%;
  }
  main.recruit.entry.contact table.contact td.age .form-group.mr10 {
    margin-right: 0 !important;
  }
  main.recruit.entry.contact table.contact td.age .form-group.min_size {
    width: 26%;
  }
  main.recruit.entry.contact table.contact td.age .form-group.min_size select {
    width: 60%;
  }
  main.recruit.entry.contact table.contact td.age .form-group select {
    width: 80%;
    float: left;
    padding-left: 3%;
    padding-right: 3%;
  }
  main.recruit.entry.contact table.contact td.age .form-group span {
    line-height: 34px;
    padding-left: 8%;
  }
  main.recruit.entry .sub_vis_wrap {
    margin-bottom: 5%;
  }
  main.recruit.top .sub_vis_wrap {
    background: url(../images/recruit/top/sub_vis_sp.jpg) center top no-repeat;
    background-size: cover;
    height: 0;
    padding-bottom: 60%;
    margin-bottom: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis {
    height: auto;
    text-align: center;
    padding-top: 0;
    padding-bottom: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding: 0;
    margin: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis img {
    width: 100%;
  }
  main.recruit.top .rec_people .rec_banner_list {
    grid-template-columns: repeat(auto-fit, minmax(auto, 345px));
  }
  main.recruit.top .rec_people .rec_banner_list li img.banner-pc {
    display: none;
  }
  main.recruit.top .rec_people .rec_banner_list li img.banner-sp {
    display: block;
  }
  main.recruit.top .rec_message {
    height: auto;
    background: none;
    position: relative;
    margin-bottom: 0;
  }
  main.recruit .rec_message .rec_message_btn_area {
    height: 400px;
    display: flex;
    align-items: flex-end;
    margin-top: 0;
    padding-bottom: 10px;
    position: relative;
  }
  main.recruit .rec_message .rec_message_btn_area::before {
    display: block;
    content: '';
    width: calc(100% + 30px);;
    height: 100%;
    background: url(../images/recruit/top/topic_bg_sp.png?20241218) no-repeat center top/cover;
    position: absolute;
    left: -15px;
    bottom: 0;
    z-index: -1;
  }
  main.recruit .rec_message .rec_message_btn {
    width: 100%;
  }
  main.recruit.top .rec_people {
    height: auto;
  }
  main.recruit.top .rec_workplace {
    background: url(../images/recruit/top/office_bg_sp02.jpg) center top no-repeat;
    background-size: 100%;
  }
  main.recruit h2.title {
    font-size: 28px;
    line-height: 1.1;
  }
  main.recruit .sub_title span {
    font-size: 11px;
  }
  main.recruit .sub_title span::before,
  main.recruit .sub_title span::after {
    width: 24%;
  }
  main.recruit .rec_workplace h2.title {
    margin-top: 4%;
    margin-bottom: 2%;
  }
  main.recruit .rec_workplace h2.title .sub_title span::before,
  main.recruit .rec_workplace h2.title .sub_title span::after {
    width: 70%;
  }
  main.recruit .rec_workplace section.content {
    padding-right: 15px;
    padding-left: 15px;
  }
  main.recruit .rec_workplace section.content .title_text {
    font-size: 16px;
    text-align: center;
  }
  main.recruit .rec_workplace section.content .center_btn {
    margin-top: 3%;
    margin-bottom: 3%;
  }
  main.recruit .rec_workplace .text {
    text-align: left;
  }
  main.recruit .rec_workplace .dev_text {
    margin-top: 4%;
    text-align: left;
  }
  main.recruit .rec_workplace ul.dev_list {
    padding: 2% 2%;
  }
  main.recruit .rec_workplace ul.dev_list li img {
    max-width: 60%;
  }
  main.recruit .rec_people h2.title {
    margin-bottom: 3%;
  }
  main.recruit .rec_people h2.title .sub_title span::before,
  main.recruit .rec_people h2.title .sub_title span::after {
    width: 20%;
  }
  main.recruit .rec_people section.content {
    margin-top: 4%;
  }
  main.recruit .rec_people section.content.member ul.list a.mask {
    margin-bottom: 6%;
  }
  main.recruit .rec_people section.content.member ul.list a.mask div.job {
    font-size: 10px;
    padding: 5px 6px;
  }
  main.recruit .rec_people section.content.member .left_content,
  main.recruit .rec_people section.content.member .right_content {
    float: none;
    width: 100%;
    max-width: 540px;
    margin-left: auto;
    margin-right: auto;
  }
  main.recruit .rec_people section.content.member .text {
    margin-bottom: 6%;
    text-align: left;
  }
  main.recruit .rec_message h2.title {
    margin: 0 0 15px;
    padding: 0;
  }
  main section.content {
    margin-bottom: 2%;
  }
  main .contact table.contact th,
  main .contact table.contact td {
    width: 100%;
    border: none;
    background: none;
    padding: 0;
    float: left;
  }
  main .contact table.contact th {
    padding-bottom: 5px;
  }
  main .contact table.contact th .req {
    float: none;
    padding-left: 5px;
  }
  main .contact table.contact td .form-group input.xs_size {
    min-width: 50px;
    display: inline;
  }
  main .contact table.contact td .form-group input.s_size {
    min-width: 70px;
    display: inline;
  }
  main .contact table.contact td .form-group input.m_size,
  main .contact table.contact td .form-group input.l_size {
    width: 100%;
  }
  main.press .library dl {
    padding-bottom: 1%;
  }
  main.press .library dl dt {
    display: inline;
    width: auto;
    padding-right: 3%;
  }
  main.press .library dl dd.label {
    display: inline;
    padding: 2px 2%;
    width: auto;
  }
  main.press .library dl dd.txt {
    width: 100%;
  }
  main .library dl dd.txt a {
    position: static;
    transition: 0;
  }
  main .library dl dd.txt a::after {
    display: none;
  }
  main ul.img_l_list li {
    width: 100%;
    float: none;
    margin-right: 0;
    margin-bottom: 8%;
    font-size: 12px;
  }
  main ul.img_l_list li img {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
  }
  main ul.img_l_list li .sub_title {
    font-size: 15px;
    margin-bottom: 0;
  }
  main ul.img_list li {
    width: 100%;
    margin-right: 0;
    float: none;
    padding: 0 0 5%;
    margin-bottom: 4%;
    background: url(../images/common/line.png) left bottom repeat-x;
  }
  main ul.img_list li img {
    width: 100px;
    height: 100px;
    margin-right: 10px;
  }
  main ul.img_list li .text {
    padding: 0;
    font-size: 12px;
  }
  main ul.img_list li .text .sub_title {
    font-size: 11px;
  }
  main ul.img_list li .text h4.title {
    font-size: 16px;
  }
  main .company_list.profile {
    margin-bottom: 0;
  }
  main .company_list.profile.mem dl {
    padding-bottom: 4%;
  }
  main .company_list.profile.mem dl.no_line {
    padding-bottom: 5%;
  }
  main .company_list.profile.mem dl dt {
    width: 30%;
    float: left;
    margin-right: 2%;
    padding-right: 0;
  }
  main .company_list.profile.mem dl dd {
    width: 68%;
    float: left;
  }
  main .company_list.profile.mem dl dd.sp_title {
    width: 100%;
    float: none;
    margin-bottom: 10px;
  }
  main .company_list.profile.mem dl dd .job {
    font-size: 10px;
  }
  main .company_list.profile.mem dl dd .name {
    font-size: 15px;
  }
  main .company_list.profile.mem dl dd .name span {
    font-size: 10px;
  }
  main .company_list.profile dl {
    padding: 4% 0;
  }
  main .company_list.profile dl dt,
  main .company_list.profile dl dd {
    width: 100%;
    float: none;
  }
  main .company_list.profile dl dt {
    font-weight: bold;
    margin-bottom: 1%;
  }
  main .company_list.profile dl dd li {
    width: 100%;
    float: none;
  }
  main .company_list.profile dl dd p {
    display: block;
    padding-bottom: 8px;
  }
  main .company_list.profile dl dd p span {
    float: none;
    width: auto;
  }
  main .company_list.profile dl.subsidiary dd,
  main .company_list.profile dl.affiliates dd {
    margin-top: 15px;
  }

  main .company_list.profile dl.subsidiary dd p:not(:last-child),
  main .company_list.profile dl.affiliates dd p:not(:last-child) {
    padding-bottom: 0;
  }

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

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

  main .company_list_top.f_nav_sp li {
    padding-top: 2%;
    padding-bottom: 2%;
    overflow: hidden;
  }
  main .company_list_top.f_nav_sp li img {
    float: left;
    margin-right: 3%;
    max-width: 110px;
  }
  main .company_list_top.f_nav_sp li .text {
    padding-right: 5%;
  }
  main .company_list_top.f_nav_sp li p.title {
    font-size: 16px;
    margin-bottom: 5px;
  }
  main .f_nav_sp {
    margin-bottom: 8%;
    background: #fff;
  }
  main section.content {
    margin-bottom: 7%;
  }
  main section.content.jobinfo {
    margin-top: 4%;
    margin-bottom: 9%;
  }
  main section.content.jobinfo h2.title {
    margin-bottom: 3%;
  }
  main section.content.jobinfo h2.title .sub_title span::before,
  main section.content.jobinfo h2.title .sub_title span::after {
    width: 40%;
  }
  main section.content.jobinfo .text {
    text-align: left;
    margin-bottom: 3%;
  }
  main section.content.detail h3.title {
    font-size: 15px;
  }
  main section.content.detail h3.title .data {
    font-size: 10px;
  }
  main section.content.detail h3.title .sub_title {
    font-size: 11px;
  }
  main section.content.detail h4.title {
    font-size: 14px;
  }
  main section.content.detail .center_btn {
    padding-top: 8%;
  }
  main section.content.service_low .nav-tabs {
    margin-bottom: 4%;
  }
  main section.content.service_low .nav-tabs.company {
    margin-top: 6%;
  }
  main section.content.service_low .nav-tabs.company li {
    font-size: 1.2rem;
  }
  main section.content.service_low .nav-tabs li {
    font-size: 0.8rem;
  }
  main section.content.service_low .nav-tabs li a {
    padding: 2% 0 1%;
  }
  main section.content.service_low .nav-tabs li span {
    font-size: 0.6rem;
  }
  main section.content.service_low h3.title.sp {
    font-size: 16px;
  }
  main section.content.service_low ul.flow {
    margin-bottom: 3%;
  }
  main section.content.service_low ul.flow li {
    margin-bottom: 3%;
    max-width: 60px;
    height: 60px;
    background-size: 100%;
    padding-top: 24px;
    font-size: 88%;
  }
  main section.content.service_low ul.flow li.arw {
    width: 33px;
  }
  main section.content.service_low ul.flow li.arw img {
    width: 70%;
  }
  main section.content.service_low ul.flow li.long {
    padding-top: 18px;
  }
  main section.content.member.service .confirm_btn .btn {
    margin-bottom: 5%;
  }
  main section.content.member.service ul.work_list {
    margin-bottom: 0;
  }
  main section.content.member.service ul.work_list li {
    margin-bottom: 3%;
  }
  main section.content.interview h3.title.sp {
    font-size: 16px;
  }
  main section.content.interview h3.title.sp span {
    width: 100%;
    font-size: 12px;
    margin-top: 1.5%;
    padding-top: 2%;
  }
  main section.content.interview .profile {
    margin-top: 4%;
    padding: 10px;
  }
  main section.content.interview .profile.interview_simple {
    width: 30%;
    margin-left: 2%;
    margin-top: 0;
  }
  main section.content.interview .profile.interview_simple img {
    width: 100%;
    height: auto;
  }
  main section.content.interview .profile.interview_simple .sp_text {
    padding: 4%;
    width: 100%;
    float: none;
  }
  main section.content.interview .profile.interview_simple .sp_text p.name {
    margin-bottom: 0;
    font-size: 12px;
  }
  main section.content.interview .profile.interview_simple .sp_text .collapse {
    position: absolute;
    left: 0px;
    width: 100%;
    margin: 0 auto;
  }
  main section.content.interview .profile.interview_simple .sp_text .collapse .data {
    background: #f6f6f6;
  }
  main section.content.interview .profile.interview_simple .sp_text a.active {
    display: inline-block;
  }
  main section.content.interview .profile.interview_simple .sp_text a.active span {
    background: url(../images/common/icon_close_grn.png) center right no-repeat;
  }
  main section.content.interview .profile p {
    margin-bottom: 0;
  }
  main section.content.interview .profile p span {
    /*padding-right: 30px;*/
    background: none;
  }
  main section.content.interview .profile img {
    width: 20%;
    margin-right: 2%;
  }
  main section.content.interview .profile .sp_text {
    width: 78%;
    float: left;
    padding: 10px 0;
  }
  main section.content.interview .profile .sp_text.active a.icon_open {
    display: none;
  }
  /*main section.content.interview .profile a.active {
    display: none;
  }*/
  main section.content.interview .profile a.collapsed {
    display: inline-block;
  }

  main.message .sub_vis_wrap {
    background: url(../images/message/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.message section.content .section:not(:last-of-type) {
    margin-bottom: 50px;
  }
  main.message .sub_img {
    margin-bottom: 5%;
  }
  main.message .sub_img h3.title {
    border-left: 2px solid #4c9d2a;
    position: static;
    font-size: 16px;
    padding-top: 5px;
    transform: none;
    padding: 8px 0 8px 20px;
    margin-bottom: 20px;
  }
  main.message section.content .section:nth-of-type(odd) .sub_img h3.title {
    text-align: left;
  }
  main.message section.content .statement_text {
    padding-top: 0;
    line-height: 1.5;
  }

  main.message.introduction section.content .statement_text {
    padding-top: 7.5%;
  }

  main.message section.content .statement_text p {
    text-align: left;
    font-size: 12px;
    line-height: 1.6;
  }
  main.message section.content .statement_text img {
    margin-bottom: 10%;
  }
  main.message section.content .statement_text ul.list li img {
    margin-bottom: 7%;
  }
  main.ir .sub_vis_wrap {
    background: url(../images/ir/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.ir section.content {
    margin-bottom: 0;
  }
  main.privacy .sub_vis_wrap {
    background: url(../images/privacy/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main section.content.privacy .section-title {
    font-size: 20px;
    margin-bottom: 4%;
  }
  main section.content.privacy .internal_links {
    margin: 0 0 20px;
  }
  main.sitemap .sub_vis_wrap {
    background: url(../images/sitemap/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.sitemap .container-fluid {
    padding: 0;
  }
  main.sitemap section.content {
    margin-bottom: 0;
  }
  main.contact .sub_vis_wrap {
    background: url(../images/contact/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.contact .sub_vis_wrap h2.title span {
    font-size: 10px;
  }
  main.press .sub_vis_wrap {
    background: url(../images/press/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.press ul.nav-tabs {
    border-bottom: none;
  }
  main.press ul.nav-tabs.sp {
    margin-top: 3%;
  }
  main.press ul.nav-tabs.sp li {
    width: 19.2%;
    min-width: 19.2%;
    font-size: 75%;
  }
  main.press ul.nav-tabs.sp li a {
    padding-left: 0;
    padding-right: 0;
  }
  main.press ul.nav-tabs.sp li:nth-child(2n) {
    margin-right: 1%;
  }
  main.press ul.nav-tabs.sp li:last-child {
    margin-right: 0;
  }
  main.press ul.nav-tabs li {
    width: 49%;
    margin-bottom: 10px;
    min-width: 49%;
  }
  main.press ul.nav-tabs li:nth-child(2n) {
    margin-right: 0;
  }
  main.company .sub_vis_wrap {
    height: auto;
    background: url(../images/company/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
  }
  main.service .sub_vis_wrap {
    background: url(../images/service/sub_vis_sp.jpg) top right no-repeat;
    background-size: 100%;
    height: auto;
  }
  main .sub_vis_wrap {
    margin-bottom: 30px;
  }
  main .sub_vis_wrap .sub_vis {
    height: 0;
    padding-top: 31%;
    position: relative;
  }
  main .sub_vis_wrap .sub_vis h2.title {
    font-size: 220%;
    line-height: 0.9;
    position: absolute;
    top: 20%;
    padding-top: 0;
    background-size: 35px 2px;

    top: calc(50% - 2px);
    transform: translateY(-50%);
  }

  main .sub_vis_wrap .sub_vis h2.title.title_en {
    padding: 0 0 14px;
  }
  main .sub_vis_wrap .sub_vis h2.title span {
    margin-top: 12px;
    padding-bottom: 17px;
  }
  main ul.financial_list li {
    float: none;
    width: 100%;
  }
  main aside.side_blog .profile,
  main aside.side_blog .search,
  main aside.side_blog .list {
    padding: 3%;
  }
  main aside.side_blog .search .form-group button {
    padding: 0;
    width: 24%;
  }
  main aside.side_blog .profile h3.title {
    margin-bottom: 10px;
  }
  main aside.side_blog .profile img {
    max-width: 40%;
    height: auto;
    float: right;
    margin: 0 0 3% 3%;
  }
  main aside.side_ir {
    margin-bottom: 8%;
  }
  main aside.side_ir .side_panel {
    background: none;
    padding: 0;
  }
  main aside.side_ir ul.list {
    border-bottom: 1px solid #ddd;
  }
  main aside.side_ir ul.list li {
    padding: 5% 15px;
    border: 1px solid #ddd;
    border-bottom: none;
    background: #fff;
  }
  main aside.side_ir ul.list li a {
    font-size: 16px;
    padding: 0;
    background: url("../images/common/icon_next.png") no-repeat scroll right
      center;
    background-size: 9px 18px;
  }
  main aside.side_ir ul.list li a::after {
    display: none;
  }
  main aside.side_ir ul.list li a:hover,
  main aside.side_ir ul.list li a:active {
    background-color: #fff;
  }
  main aside.side_ir ul.list li.sp a.child:hover,
  main aside.side_ir ul.list li.sp a.child:active {
    background-color: #fff;
  }
  main aside.side_ir .side_banner {
    padding: 0 10px;
  }
  main aside.side_ir .side_banner .list-banner {
    width: 50%;
    margin: 0 auto;
  }
  main ul.nav.nav-tabs.news_top {
    border-bottom: none;
  }
  main ul.nav.nav-tabs.news_top li:first-child {
    width: 100%;
  }
  main ul.nav.nav-tabs.news_top li {
    width: 49%;
    float: left;
    margin-right: 0;
    margin-bottom: 10px;
  }
  main ul.nav.nav-tabs.news_top li:nth-child(odd) {
    float: right;
  }
  main ul.year {
    padding: 3% 0 0;
  }
  main .library.calender dl {
    padding: 2% 0;
  }
  main .library.calender dt {
    width: 100%;
    margin-right: 0;
    float: none;
    font-weight: bold;
    margin-bottom: 1%;
    font-size: 12px;
  }
  main .library.calender dd.calender_text {
    float: none;
    width: 100%;
  }
  main .library dl {
    padding: 3% 0;
    font-size: 14px;
  }
  main .library dl dt {
    width: auto;
    margin-right: 3%;
  }
  main .library dl dd.txt {
    width: 100%;
    padding: 2% 0;
    line-height: 1.6 !important;
  }
  main .library dl dd.pdf {
    width: 100%;
    float: left;
  }
  main .breadcrumb {
    display: none;
  }
  main .icon_link span {
    background-size: 16px;
    padding-right: 24px;
  }
  main .right_img,
  main .left_img {
    width: 100%;
  }
  main ul.work_list {
    padding-bottom: 0;
  }
  main ul.work_list li {
    margin-bottom: 20px;
  }
  main ul.work_list li .work_img,
  main ul.work_list li .text {
    float: none;
    width: 100%;
    min-width: 100%;
  }
  main ul.work_list li .text {
    padding: 4% 2% 3%;
    font-size: 100%;
  }
  main ul.work_list li .text img {
    margin-bottom: 3%;
  }
  main ul.work_list li .text .icon_link {
    margin-top: 10px;
  }
  /*main .container-fluid,
  main .container,
  main .sub_vis {
    padding-left: 10px;
    padding-right: 10px;
  }*/
  main .container-fluid.news,
  main .container.news,
  main .sub_vis.news {
    padding-left: 15px;
    padding-right: 15px;
  }
  main .container-fluid.message {
    height: auto;
    background: none;
    position: relative;
    margin-bottom: 0;
  }
  main .container-fluid.message .message_btn_area {
    height: 400px;
    display: flex;
    align-items: flex-end;
    margin-top: 16px;
    position: relative;
  }
  main .container-fluid.message .message_btn_area::before {
    display: block;
    content: '';
    width: calc(100% + 30px);;
    height: calc(100% + 12px);
    background: url(../images/top/mes_sp.png?20241218) no-repeat center top/cover;
    position: absolute;
    left: -15px;
    bottom: -10px;
    z-index: -1;
  }
  main .container-fluid.message .message_btn {
    width: 100%;
  }
  main .container-fluid.message section.message_content h2.title {
    max-width: none;
  }
  main .container.message,
  main .sub_vis.message {
    background: #f2f2f2 url(../images/top/mes_sp.png?20241218) right 20% no-repeat;
    background-size: 100%;
    height: auto;
  }
  main .container-fluid.recruit,
  main .container.message.recruit,
  main .sub_vis.message.recruit {
    background: #f2f2f2 url(../images/top/rec_bg_sp.jpg) center center no-repeat;
    background-size: cover;
    height: auto;
    margin-bottom: 8%;
    overflow: hidden;
  }

  main .container-fluid.recruit .filter,
  main .container.message.recruit .filter,
  main .sub_vis.message.recruit .filter {
    padding-bottom: 100%;
  }
  main .container-fluid.recruit section.message_content h2.title,
  main .container.message.recruit section.message_content h2.title,
  main .sub_vis.message.recruit section.message_content h2.title {
    padding-top: 6%;
  }
  main .container-fluid.recruit section.message_content h2.title .want,
  main .container.message.recruit section.message_content h2.title .want,
  main .sub_vis.message.recruit section.message_content h2.title .want {
    width: 60px;
    top: 0px;
    left: 45px;
  }
  main .container-fluid.recruit section.message_content .text,
  main .container.message.recruit section.message_content .text,
  main .sub_vis.message.recruit section.message_content .text {
    max-width: 46%;
    margin-bottom: 3%;
  }
  main .container-fluid.mission,
  main .container.message.mission,
  main .sub_vis.message.mission {
    background-position: 70% top;
    background-size: cover;
    height: auto;
  }
  main .container-fluid.mission section.message_content .mis_top_img {
    top: 10px;
    width: 36.506vw;
  }
  main .container-fluid.mission section.message_content .mis_title {
    width: 76.923vw;
    max-width: 500px;
    padding-top: 11.604vw;
  }
  main h2.title {
    font-size: 180%;
    margin-bottom: 4%;
  }
  main h2.title span {
    margin-top: 1%;
    padding-bottom: 4%;
  }
  main h3.title {
    font-size: 16px;
    padding-left: 10px;
    margin-bottom: 4%;
  }
  main .req,
  main .yet {
    margin-left: 10px;
  }
  main .form_input {
    padding-left: 0;
  }
  main .form-group {
    margin-bottom: 20px;
  }
  main .form_radio .checkbox {
    width: 50%;
    text-align: left;
  }
  main .form_radio .checkbox label {
    text-align: left;
  }
  main section.faq .faq_list {
    padding: 3% 3% 1%;
  }
  main section.faq .faq_list li {
    margin-bottom: 10px;
  }
  main section.faq .faq_list li a {
    position: static;
  }
  main section.faq .faq_list li a:after {
    display: none;
  }
  main section.box ul.num li span {
    width: 8%;
  }
  main section.box ul.num li p {
    width: 92%;
  }
  main section.list .library dl dd.txt {
    width: 100%;
    padding: 2% 0;
  }
  main section.content.member {
    padding: 4% 0 10%;
  }

  .member-area {
    margin-bottom: 0 !important;
  }
  main section.content.member.talk {
    margin-bottom: 6%;
    font-size: 11px;
  }
  main section.content.member.talk02 ul.list li {
    font-size: 11px;
  }
  main section.content.member.work {
    margin-bottom: 1%;
  }
  main section.content.member ul.list {
    margin-bottom: 3%;
  }
  main section.content.member ul.list a.mask:hover .text_wrap .text p {
    font-size: 75%;
  }
  main section.message_content {
    background: none;
    height: auto;
  }
  main section.message_content h2.title {
    padding-top: 5%;
    margin-bottom: 4%;
  }
  main section.message_content h3.title {
    font-size: 120%;
    margin-bottom: 3%;
  }
  main section.message_content p {
    font-size: 12px;
  }
  main section.news_content {
    margin: 6% auto 2%;
  }
  main section.blog_content_top {
    margin: 6% auto 2%;
  }
  main section.news_content .col-md-6.col-xs-12 {
    margin-bottom: 3%;
  }
  main section.news_content h2.title {
    margin-bottom: 3%;
  }
  main section.news_content table th.news_img {
    width: 25%;
  }
  main section.news_content table th.news_img img.cate {
    width: 48px;
    min-width: 48px;
  }
  main section.news_content table th.news_img img {
    width: 100%;
    min-width: 114px;
  }
  main section.news_content table td {
    width: 75%;
    padding: 2% 2% 0 3%;
  }
  main section.news_content table td .text {
    font-size: 75%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    word-wrap: break-word;
    height: 60px;
  }
  main section.news_content table td .data {
    width: 98%;
    position: static;
    font-size: 10px;
    padding-top: 1%;
  }
  main .btn {
    padding: 15px 0;
  }
  main .btn,
  main .btn.btn-lg {
    max-width: 100% !important;
    min-width: 100% !important;
    font-size: 100% !important;
  }
  main .confirm_btn {
    max-width: 96%;
  }
  main img {
    max-width: 100%;
    height: auto;
  }
  main .right_img,
  main .left_img {
    float: none;
    margin: 0 auto 20px;
  }
  main section.content {
    margin-bottom: 2%;
  }
  main section.content {
    margin-bottom: 2%;
  }
  main.message .container-fluid section.content .statement_text01 {
    margin: 0 0 5%;
  }

  main.message .container-fluid section.content .statement_text02 {
    margin: 0 0 5%;
  }

  main.message .container-fluid section.content .cred {
    margin: 0 11% 5%;
  }

  main.message .container-fluid section.content .statement_text03 {
    margin: 0 0 10%;
  }

  main.message .container-fluid section.content .statement_text04 {
    margin: 0 0 10%;
    padding: 0;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding: 22% 10%;
  }

  main section.content.member.work {
    padding-top: 0;
  }
  main section.content.member.work .title {
    margin: 25px 0 30px;
  }
  main.press .nav-tabs li a {
    padding: 10px 6px !important;
    font-size: 80%;
  }
  .not_found_title {
    padding-bottom: 20px;
    font-size: 18px;
  }
  .not_found_text {
    padding-bottom: 30px;
    font-size: 13px;
  }
  main .pagination span,
  main .pagination a {
    margin: 0 5px;
  }
  main .company_list.profile dl dd ul.transaction01,
  main .company_list.profile dl dd ul.transaction02 {
    width: 100%;
    float: none;
  }
  main.ir .main_content.message .section .message_img {
    width: 40%;
    margin-left: 20px;
  }
  main.recruit section .flex_btn {
    display: block;
  }
  main.recruit section .flex_btn .btn {
    margin: 0 auto;
  }
  main.recruit section .flex_btn .btn:not(:last-child) {
    margin: 0 0 15px;
  }
}

@media (max-width: 600px) {
  main .container-fluid.message,
  main .container.message,
  main .sub_vis.message {
    background-size: 100%;
    height: auto;
  }
  main ul.work_list li .work_logo01 {
    width: 137px;
  }

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

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

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

@media (max-width: 550px) {
  main .container-fluid.message .message_btn_area {
    height: 333px;
  }
  main aside.side_ir .side_banner .list-banner {
    width: 100%;
  }
  main.ir .main_content.message .section .message_img {
    margin-left: 6.364vw;
  }
  main.recruit.message.message_top .container-fluid.sub_vis_wrap {
    height: 78.909vw;
  }
}

@media (max-width: 430px) {
  main section.faq span.faq {
    float: left;
    width: 6%;
  }
  main section.faq .text {
    width: 90%;
    float: right;
    padding-top: 2.5%;
  }
  main.recruit.message.message_top .container-fluid.sub_vis_wrap {
    height: 327px;
  }
  main.recruit.top .sub_vis_wrap .sub_vis h2.title {
    padding: 22% 20px;
  }
  main.recruit .rec_message .rec_message_btn_area {
    height: 296px;
  }
  main section.content.member ul.list li {
    font-size: 80%;
  }
  main h2.title span {
    font-size: 11px;
  }
  main .container-fluid.mission section.message_content .mis_top_img {
    width: 39.467vw;
  }
}

@media (max-width: 375px) {
  main.recruit.message.message_top .container-fluid.sub_vis_wrap {
    height: 87.2vw;
  }
}

/* footer */
footer {
  background: #f6f6f6;
  font-size: 11px;
}

footer img {
  width: 100%;
  height: auto;
}

footer .f_logo {
  max-width: 151px;
}

footer .f_logo img {
  width: 100%;
}

footer .f_logo a:hover {
  background: none;
}

footer .f_nav nav ul {
  margin-left: 50px;
}

footer .f_content {
  padding: 40px 0;
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}

footer .f_content ul.f_bn {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 35px 2.5%;
  justify-content: center;
}

footer .f_content ul.f_bn li {
  width: calc(100% / 3 - 1.7%);
}

footer .f_content ul.f_bn li img {
  margin-bottom: 5px;
  max-width: 100%;
  height: auto;
}

footer .f_content ul.f_bn li p {
  font-size: 12px;
}

footer .f_nav {
  border-top: 1px solid #fff;
  padding: 40px 0 30px;
  overflow: hidden;
}

footer .f_nav ul li a {
  position: relative;
  display: inline-block;
  transition: .3s;
  text-decoration: none;
}

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

footer .f_nav a:hover::after {
  width: 100%;
}

footer .f_nav a:hover,
footer .f_nav a:active {
  text-decoration: none;
  color: #000;
  opacity: 1;
}

footer .f_nav nav {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
}

footer .f_nav nav ul.fb {
  float: right;
  width: 24.5%;
  border: 1px solid #bfbfbf;
  position: relative;
  font-size: 13px;
  text-align: center;
}

footer .f_nav nav ul.fb li {
  margin-bottom: 0;
}

footer .f_nav nav ul.fb .text {
  padding: 20px 5% 0;
}

footer .f_nav nav ul.fb .text p {
  padding-bottom: 10px;
  text-align: left;
}

footer .f_nav nav ul.fb .text .link {
  overflow: hidden;
}

footer .f_nav nav ul.fb .text .link a {
  float: right;
  width: 49%;
}

footer .f_nav nav ul.fb .text .link a.official {
  float: left;
}

footer .f_nav nav ul.fb .text .link a img {
  max-width: 198px;
  width: auto;
  height: auto;
  margin-bottom: 10px;
}

footer .f_nav nav ul.fb .text .link a:hover,
footer .f_nav nav ul.fb .text .link a:active {
  opacity: .8;
}

footer .f_nav nav ul.fb .text .link a::after {
  display: none;
}

footer .f_nav nav ul.fb h3.title {
  position: absolute;
  top: -24px;
  left: 22%;
  padding: 0 5%;
  background: #f6f6f6;
  display: inline;
  color: #3b5998;
  font-weight: bold;
}

footer .f_nav nav ul li {
  margin-bottom: 10px;
}

footer .f_nav nav ul li.title {
  font-size: 14px;
  margin-bottom: 20px;
}

@media (max-width: 1140px) {
  footer .f_content,
  footer .f_nav {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media (max-width: 991px) {
  footer .f_nav {
    font-size: 9px;
  }
  footer .f_nav nav ul li.title {
    font-size: 11px;
  }
  footer .f_content ul.f_bn {
    gap: 20px 3%;
  }
  footer .f_content ul.f_bn li {
    width: calc(100% / 3 - 2%);
  }
}

@media (max-width: 767px) {
  footer .f_content {
    padding: 50px 15px 0;
    border-bottom: none;
  }
  footer .f_content ul.f_bn {
    display: block;
  }
  footer .f_content ul.f_bn li {
    width: 100%;
    max-width: 370px;
    margin: 0 auto 5% !important;
  }
  footer .f_content ul.f_bn li a {
    width: 100%;
  }
  footer .f_nav {
    font-size: 13px;
    border-top: none;
    padding: 20px 20px 30px;
  }
  footer .f_nav div.f_logo {
    display: none;
  }
  footer .f_nav nav ul.fb {
    width: 100%;
  }
  footer .f_nav nav ul.fb .text {
    padding-left: 4%;
    padding-right: 4%;
    padding-bottom: 2%;
  }
  footer .f_nav nav ul.fb .text .link {
    text-align: center;
  }
  footer .f_nav nav ul.fb .text .link a img {
    max-width: 96%;
  }
  footer .f_nav nav ul.fb h3.title {
    left: 30%;
    top: -20px;
  }
}

/* footer recruit */
footer.recruit .f_content {
  padding-top: 25px;
}

footer.recruit .f_nav_recruit {
  padding: 40px 0 30px;
}

footer.recruit .f_nav_recruit nav {
  max-width: 1100px;
  padding: 0 20px;
  box-sizing: content-box;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

footer.recruit .f_logo_recruit {
  width: 240px;
  margin-right: 4%;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit {
  flex: 1 1 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit > li {
  margin-bottom: 50px;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit > li:not(:first-child) {
  margin-left: 32px;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit_child li:not(:last-child) {
  margin-bottom: 10px;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit .title_recruit .title_recruit_en {
  font-size: 15px;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit .title_recruit .title_recruit_jp {
  font-size: 11px;
  padding-top: 15px;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit .title_recruit a span {
  position: relative;
  display: inline-block;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit .title_recruit a span::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #000;
  transition: .3s;
}

footer.recruit .f_nav_recruit nav .f_menu_recruit .title_recruit a:hover span::after {
  width: 100%;
}

footer.recruit .f_nav_recruit a:hover,
footer.recruit .f_nav_recruit a:active {
  text-decoration: none;
  color: #000;
  opacity: 1;
}


@media (max-width: 840px) {
  footer.recruit .f_logo_recruit {
    width: 200px;
  }
}

.f_nav_sp {
  margin-bottom: 0;
  background: #f6f6f6;
}

.f_nav_sp li {
  background: url("../images/common/icon_next.png") no-repeat 98% center;
  background-size: 9px 18px;
  padding-top: 5%;
  padding-bottom: 5%;
  border-radius: 0 !important;
}

.f_nav_sp li a {
  display: block;
}

.copy_wrap {
  background: #4c9d2a;
  color: #fff;
  clear: both;
}

.copy_wrap .copy {
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
  text-align: right;
  font-size: 12px;
  padding: 10px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

.copy_wrap .copy ul.list {
  text-align: left;
  width: 50%;
}

.copy_wrap .copy ul.list li {
  display: inline;
  padding-right: 20px;
}

.copy_wrap .copy ul.list a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #fff;
}

.copy_wrap .copy ul.list a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #fff;
  transition: .3s;
}

.copy_wrap .copy ul.list a:hover::after {
  width: 100%;
}

.copy_wrap .copy ul.list a:hover,
.copy_wrap .copy ul.list a:active {
  text-decoration: none;
  color: #fff;
  opacity: 1;
}

.copy_wrap .copy .copyright {
  font-size: 12px;
}
@media (max-width: 1120px) {
  .copy_wrap .copy ul.list li {
    display: inline;
    padding-left: 20px;
  }

  .copy_wrap .copy .copyright {
    padding-right: 20px;
  }

  .copy_wrap .copy .pagetop {
    padding-right: 20px;
  }
}

@media (max-width: 767px) {
  .copy_wrap .copy {
    justify-content: center;
  }
  .copy_wrap .copy .copyright {
    font-size: 9px;
  }
}
@media (max-width: 550px) {
  footer .f_content ul.f_bn li {
    max-width: none;
    margin: 0 0 5% !important;
    float: none;
  }
}

@media print {
  .h_menu,
  .gnav02,
  .gnav03,
  .gnav04,
  .gnav05,
  .gnav06,
  .gnav07,
  .gnav08,
  footer,
  .side_ir,
  .breadcrumb,
  .rec_pc_gnav,
  .list-group-item {
    display: none;
  }
}

.blog_content p {
  margin-bottom: 30px;
  line-height: 1.8;
}

.blog_content a {
  color: #4c9d2a;
  text-decoration: underline;
}

.blog_content a:hover {
  text-decoration: none;
}

blockquote {
  margin-top: 40px;
}

.side_blog p {
  line-height: 1.6;
}

main section.content.detail h4 {
  background: #f6f6f6 none repeat scroll 0 0;
  color: #000;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  padding: 1% 2%;
}
optgroup {
  padding-bottom: 10px;
  font-style: normal;
  color: #000;
}

/*20180221 追記*/

main.recruit .transfer-txt {
  margin: 50px 0 0;
  text-align: center;
  font-size: 18px;
}

.fz-s {
  font-size: 84%;
  line-height: 1.4 !important;
}

.block {
  display: block;
}

.entry_box {
  width: 31%;
  float: left;
  margin-right: 3.5%;
}

main .entry_title {
  font-size: 17px;
  background: #4c9d2a;
  color: #fff;
  padding: 9px 0 7px 12px;
}

.entry_box ul {
  padding: 20px 10px 0 3px;
}

.entry_box li {
  margin-bottom: 18px;
  line-height: 1.4;
  color: #4c9d2a;
}

.entry_box li:last-child {
  margin-bottom: 0;
}

.entry_box li a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #4c9d2a;
}

.entry_box li a span.link_icon {
  background: url(../images/common/icon_next_grn.png) left 8px no-repeat;
  background-size: 13px;
  padding: 2px 0 2px 20px;
  display: block;
}

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

.entry_box li a:hover::after {
  width: 100%;
}

.entry_box li a:hover,
.entry_box li a:active {
  text-decoration: none;
  color: #4c9d2a;
}

.entry_box:last-child {
  margin-right: 0;
}

.entry_attention {
  margin: 15px 0 40px;
  font-size: 13px;
}

.indent-list li {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.5;
  margin-bottom: 5px;
}

.indent {
  text-indent: -1em;
  padding-left: 1em;
}

.mb3 {
  margin-bottom: 3%;
}

.text_link {
  color: #4c9d2a;
}

@media (max-width: 767px) {
  main.recruit .transfer-txt {
    margin: 30px 0;
    font-size: 18px;
  }

  .entry_box {
    float: none;
    width: 100%;
    padding-bottom: 25px;
  }
}

/* 英語ナビ対応 */
header nav.navbar.navbar-default.en {
  display: none;
}

.en-title {
  width: 198px;
}

.en-header nav.gnav .gnav_inner {
  height: 100%;
}

.en-header nav.gnav ul.gnav_list {
  width: 354px;
  flex: none;
}

.en-header .en-m-gnav .gnav_inner > ul {
  margin: 0;
}

.en-header nav.gnav ul.gnav_list .gnav01 {
  width: 29%;
}

.en-header nav.gnav ul.gnav_list .gnav02 {
  width: 33%;
}

.en-header nav.gnav ul.gnav_list li .gnav_title,
.en-header nav.gnav ul.gnav_list li .gnav_title_jp {
  display: flex;
  align-items: center;
  justify-content: center;
}

.en-header nav.gnav ul.gnav_list li .gnav_title_jp {
  height: 100%;
  color: #4c9d2a;
  font-weight: 500;
  font-size: 16px;
  padding: 15px 0 11px;
}

.en-header .m-gnavsub.ir .m-gnavsub_title {
  margin-top: 0;
}

.en-header .m-gnavsub.ir .m-gnavsub__menu li:first-child {
  width: 17%;
}

.en-header .m-gnavsub .m-gnavsub__menu li.fir {
  width: 24% !important;
}
.en-header .m-gnavsub .m-gnavsub__menu li.sec {
  width: 13% !important;
}
.en-header .m-gnavsub .m-gnavsub__menu li.thr {
  width: 17% !important;
}
.en-header .m-gnavsub .m-gnavsub__menu li.for {
  width: 21% !important;
}

.copy_wrap .en-copyright {
  text-align: center;
}

@media (max-width: 767px) {
  header nav.navbar.navbar-default.en {
    display: block;
  }
}

/* 事業内容改定
======================================================= */

/*　事業内容トップ */
.top .work {
  padding-bottom: 30px;
  background: url(../images/top/work_bg_pc.jpg) top center no-repeat;
}

.work_txt {
  margin-bottom: 40px;
}

.service_feature img,
.service_box img,
.service_work img,
.work_logo img,
.service_sns img {
  width: 100%;
}

.service_details_link {
  text-align: center;
}

.service_details_link:hover {
  opacity: .8;
}

.service_details_link a {
  padding-bottom: 20px;
  color: #4c9d2a;
  background: url(/images/common/icon_bottom.png) center bottom no-repeat;
  background-size: 16px 8px;
}

.work_logo {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.work_logo_pf {
  width: 67%;
  margin-right: 30px;
}

.work_logo_group {
  font-size: 22px;
  color: #4c9d2a;
  font-weight: bold;
  text-align: center;
  border-bottom: 2px solid #4c9d2a;
  margin-bottom: 25px;
  padding-bottom: 10px;
}

.work_logo_group span {
  font-size: 14px;
}

.work_logo h3 {
  font-size: 20px;
  color: #4c9d2a;
  font-weight: bold;
  text-align: center;
  margin-bottom: 25px;
}

.work_logo_item {
  padding: 0 30px;
  margin-bottom: 30px;
}

.work_logo_pf .work_logo_contents .work_logo_item:not(:last-child) {
  border-bottom: 1px solid #dddddd;
}

.work_logo .work_logo_list li {
  margin-bottom: 42px;
}

.work_logo_pf .work_logo_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.work_logo_pf .work_logo_list.content-center {
  justify-content: center;
}

.work_logo_pf .work_logo_list li {
  width: 50%;
}

.work_logo .logo {
  margin: 0 auto;
}

.work_logo .logo_medpeer {
  width: 170px;
}

.work_logo .logo_clinpeer {
  width: 175px;
}

.work_logo .logo_career {
  width: 244px;
}

.work_logo .logo_yakuchie {
  width: 175px;
}

.work_logo .logo_kakari {
  width: 140px;
}

.work_logo .logo_yakubatoforclinic {
  width: 233px;
}

.work_logo .logo_yakubato {
  width: 175px;
}

.work_area {
  width: 1100px;
  margin: 0 auto;
}

.service_lead {
  margin-bottom: 20px;
}

.service_feature {
  margin-bottom: 60px;
}

.service_feature_box {
  width: 33%;
  border-right: 1px solid #ddd;
  float: left;
  line-height: 1.5;
  font-size: 15px;
}

.feature_box_1 {
  padding-right: 30px;
}

.feature_box_2 {
  padding: 0 30px;
}

.feature_box_3 {
  padding-left: 30px;
}

.service_feature_img {
  height: 230px;
}

.feature_box_1 .service_feature_img {
  padding: 50px 60px 0;
}

.feature_box_2 .service_feature_img {
  padding-top: 40px;
}

.feature_box_3 {
  border: none;
}

.service_btn_title {
  text-align: center;
  font-size: 18px;
}

.service_btn_area {
  text-align: center;
}

.service_btn {
  padding-top: 10px;
  width: 370px;
  margin: 0 15px;
  max-width: none;
  min-width: none;
}

.service_btn a {
  min-width: 370px;
}

.service_btn p {
  width: 370px;
  padding-top: 8px;
  color: #000;
  font-size: 13px;
  white-space: normal;
  text-align: left;
}

#service_area .service_contents {
  margin: 30px 0 60px;
}

@media (max-width: 1150px) {
  #service_area .service_contents {
    margin: 10px 0 30px;
  }
}

.service_list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));
  gap: 50px 37px;
  margin-bottom: 50px;
}

.service_logo {
  height: 130px;
  width: 100%;
  border: 2px solid #f3f3f3;
  margin-bottom: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service_logo_medpeer img {
  width: 198px;
}

.service_logo_clinpeer img {
  width: 200px;
}

.service_logo_career img {
  width: 288px;
}

.service_logo_yakuchie img {
  width: 210px;
}

.service_logo_kakari img {
  width: 198px;
}

.service_logo_yakubatoforclinic img {
  width: 265px;
}

.service_logo_yakubato img {
  width: 230px;
}

@media screen and (min-width:750px) and ( max-width:1000px) {
  .service_logo_medpeer img {
    width: 158px;
  }

  .service_logo_clinpeer img {
    width: 160px;
  }

  .service_logo_career img {
    width: 200px;
  }

  .service_logo_yakuchie img {
    width: 160px;
  }

  .service_logo_kakari img {
    width: 148px;
  }

  .service_logo_yakubatoforclinic img {
    width: 200px;
  }

  .service_logo_yakubato img {
    width: 160px;
  }
}

.service_box {
  display: flex;
  flex-direction: column;
}

.service_box dt {
  font-size: 18px;
  margin-bottom: 7px;
  font-weight: normal;
}

.service_box dd {
  font-size: 15px;
  line-height: 1.5;
}

.service_box a.text_link {
  font-size: 15px;
}

.service_logo a:hover {
  opacity: .8;
}

.service_link {
  padding-bottom: 5px;
}

.service_sns {
  display: flex;
  gap: 0 20px;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}

.service_sns:not(:has(.service_app_list)):has(.service_sns_list) {
  justify-content: flex-end;
}

.service_sns_list, .service_app_list {
  display: flex;
  gap: 10px;
}

.service_app_list {
  flex-wrap: wrap;
  gap: 5px 10px;
}

.service_sns .icon_x,
.service_sns .icon_facebook,
.service_sns .icon_instagram {
  width: 20px;
}

.service_sns .icon_x {
  width: 19px;
}

.icon_sns {
  margin-top: -6px;
}

.icon_sugi {
  margin-top: 10px;
}

.service_sns .btn_app {
  width: 93px;
}

.service_sns .btn_google {
  width: 115px;
}

.service_offer {
  padding-top: 6px;
  font-size: 13px;
}

@media (max-width: 1150px) {
  .work_area {
    width: 100%;
  }

  .service_feature_img {
    height: 200px;
  }

  .service_work {
    padding: 0 15px;
  }

  .feature_box_2 .service_feature_img {
    padding-top: 40px;
  }

  .feature_box_3 {
    border: none;
  }
}

@media (max-width: 1024px) {
  .work_logo_pf {
    width: 80%;
    margin-right: 0;
  }
}

@media (max-width: 950px) {
  .work_area {
    width: 100%;
  }

  .service_feature_img {
    height: 150px;
  }

  .feature_box_1 .service_feature_img {
    padding: 25px 35px 0;
  }

  .feature_box_2 .service_feature_img {
    padding-top: 25px;
  }

  .work_logo_pf {
    width: 100%;
  }

  .work_logo_item {
    margin: 0 auto 30px;
  }
}
@media (max-width: 768px) {
  .top .work {
    padding-bottom: 0px;
    background: url(../images/top/work_bg_sp.jpg) top center no-repeat;
  }

  .service_work {
    padding: 0 10px 10px;
  }

  .work_txt {
    margin-bottom: 20px;
  }

  .work_logo {
    padding-bottom: 10px;
    display: block;
  }

  .work_logo_pf {
    margin-bottom: 0;
  }

  .work_logo_pf {
    width: 100%;
  }

  .work_logo_item {
    width: 100%;
    margin-bottom: 30px;
    padding: 0;
  }

  .work_logo_group {
    font-size: 18px;
    padding-bottom: 8px;
  }

  .work_logo h3 {
    font-size: 18px;
  }

  .work_area {
    width: 100%;
    margin: 0 auto;
  }

  .service_lead {
    margin: 0 0 20px;
  }

  .service_feature {
    margin-bottom: 20px;
  }

  .service_feature_box {
    width: 100%;
    border-right: none;
    border-bottom: 1px solid #ddd;
    float: none;
  }

  .service_btn_title {
    font-size: 16px;
  }

  .service_feature_box:last-child {
    border: none;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .feature_box_1,
  .feature_box_2,
  .feature_box_3 {
    padding: 0 0 20px;
    margin-bottom: 20px;
  }

  .feature_box_1 .service_feature_img {
    padding: 0 35% 10px;
  }

  .feature_box_2 .service_feature_img,
  .feature_box_3 .service_feature_img {
    padding: 0 25% 10px;
  }

  .service_feature_img {
    height: auto;
    padding: 0 30px 10px;
  }

  .feature_box_1 .service_feature_img {
    width: 100%;
    margin: 0 auto;
    padding-top: 0;
  }

  .feature_box_2 .service_feature_img {
    padding-top: 0;
  }

  .work_logo_1 h3 {
    width: 265px;
  }

  .work_logo_2 h3 {
    width: 225px;
  }

  .work_logo img {
    width: 100%;
  }

  .work_logo_1 {
    width: 100%;
    float: none;
    border-right: none;
    margin-bottom: 20px;
    border-bottom: 1px solid #ddd;
  }

  .work_logo_2 {
    width: 100%;
    float: none;
  }

  .service_btn {
    padding: 0 0 20px !important;
    width: auto;
    margin: 0;
  }

  .service_btn p {
    width: auto;
  }

  .work_logo .logo_medpeer {
    width: 136px;
  }

  .work_logo .logo_clinpeer {
    width: 150px;
  }

  .work_logo .logo_career {
    width: 195px;
  }

  .work_logo .logo_yakuchie {
    width: 166px;
  }

  .service_logo {
    height: 110px;
    border: 2px solid #f3f3f3;
    margin-bottom: 8px;
  }

  .service_box dt {
    font-size: 18px;
    margin-bottom: 3px;
    font-weight: normal;
  }

  .service_box dd {
    font-size: 15px;
    line-height: 1.5;
  }

  main section.content.member.service {
    padding: 0;
    margin-bottom: 0;
  }
}

@media (max-width: 500px) {
  .service_list {
    grid-template-columns: repeat(1, 1fr);
  }

  .feature_box_1 .service_feature_img {
    padding: 0 75px 10px;
  }

  .service_feature_img {
    height: auto;
    padding-bottom: 10px;
  }

  .feature_box_2 .service_feature_img {
    padding: 0 30px 10px;
  }

  .feature_box_3 .service_feature_img {
    padding: 0 30px 10px;
  }

  .work_logo .work_logo_list li {
    width: 100%;
  }
}

/*製薬/医療関連企業の方 トップ*/

.service_company_box {
  width: 47%;
  float: left;
  margin: 0 6% 30px 0;
}

.service_company_box:nth-child(2n) {
  margin-right: 0;
}

.service_company_box:nth-child(2n + 1) {
  clear: both;
}

.service_company_img {
  margin-bottom: 3px;
}

.service_company_img img {
  width: 100%;
}

.service_company_box dt {
  font-weight: normal;
  margin-bottom: 5px;
}

.service_company_box dt a {
  font-size: 18px;
}

@media (max-width: 600px) {
  .service_company_box {
    width: 100%;
    float: none;
    margin: 0 0 25px;
  }
}

/*マーケティング支援*/

.service h3.title {
  margin-bottom: 10px;
}

.marketing_target {
  margin-bottom: 50px;
}

.marketing_target p {
  float: left;
  width: 70%;
}

.marketing_target_img {
  float: right;
  width: 26%;
}

.marketing_target_img img {
  width: 100%;
}

.marketing_flow {
  margin-bottom: 60px;
}

.marketing_service {
  margin-bottom: 15px;
}

.marketing_service_txt {
  margin-bottom: 12px;
}

main.service ul.job_flow li.end .flow_title {
  border: 2px solid #4c9d2a;
  text-align: center;
  padding: 26px 0;
  font-size: 20px;
  line-height: 1.5;
  background: #fff;
  color: #000;
}

.service .flow_text {
  font-size: 15px;
  line-height: 1.5;
}

.service .job_flow {
  margin-bottom: 40px;
}

.marketing_service_box {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}
.marketing_service_box:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.marketing_service_img {
  width: 20%;
  float: left;
}

.marketing_service_img img {
  width: 100%;
}

.marketing_service_box h4 {
  padding-left: 23%;
  margin-bottom: 8px;
  color: #4c9d2a;
}

.marketing_service_box p {
  padding-left: 23%;
}

.service_btn_contact {
  margin-bottom: 25px;
}

@media (max-width: 600px) {
  .marketing_target {
    margin-bottom: 20px;
  }

  .marketing_target p {
    float: none;
    width: 100%;
    margin-bottom: 10px;
  }

  .marketing_target_img {
    float: none;
    width: 50%;
    margin: 0 auto;
  }

  .marketing_flow {
    margin-bottom: 30px;
  }

  .marketing_service {
    margin-bottom: 0;
  }

  .marketing_service_box {
    margin-bottom: 20px;
    padding-bottom: 20px;
  }
  .marketing_service_box:last-child {
    border-bottom: none;
    margin-bottom: 0;
  }

  .marketing_service_img {
    width: 40%;
    float: left;
  }

  .marketing_service_img img {
    width: 100%;
  }

  .marketing_service_box h4 {
    padding-left: 46%;
    padding-top: 32px;
    margin-bottom: 8px;
    font-size: 16px;
  }

  .marketing_service_box p {
    padding: 10px 0 0;
    clear: both;
  }

  .service .job_flow {
    margin-bottom: 20px;
  }

  .flow_title {
    font-size: 16px;
    font-weight: bold;
  }
}

@media (max-width: 600px) {
  .marketing_target_img {
    width: 80%;
  }
}

/*リサーチ*/

.research_feature {
  margin-bottom: 35px;
}

.research_feature_lead {
  margin-bottom: 15px;
}

.research_lead_txt span {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 13px;
  line-height: 1.4;
  padding-top: 12px;
}

.research_lead_txt span a {
  padding-left: 1em;
}

.research_feature_box {
  margin-bottom: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}

.research_feature_box.last {
  border-bottom: none;
  margin-bottom: 25px;
}

.research_feature_img {
  float: left;
  width: 9%;
  padding: 5px 2.2% 0;
}

.research_feature_img img {
  width: 100%;
}

.research_feature_txt {
  float: right;
  width: 91%;
}

.research_feature_txt dt {
  font-size: 17px;
  font-weight: bold;
  padding-top: 5px;
  margin-bottom: 5px;
}

.research_feature_txt dd {
  font-size: 15px;
}

.research_panel_txt {
  margin-bottom: 17px;
}

.research_panel dt {
  font-weight: bold;
  padding-bottom: 8px;
}

.research_panel dd {
  margin-bottom: 17px;
}

.research_panel dd:last-child {
  margin-bottom: 5px;
}

.research_panel table {
  width: 32%;
  float: left;
  margin-right: 2%;
}

.research_panel table:last-child {
  margin-right: 0;
}

.research_panel table th {
  background: #a4a4a4;
  color: #fff;
  padding: 10px;
  font-weight: normal;
}

.research_panel table th:nth-child(even) {
  text-align: center;
  border-left: 2px solid #fff;
}

.research_panel table td {
  padding: 12px 15px;
  background: #efefef;
  border-bottom: 2px solid #fff;
}

.research_panel table td:nth-child(even) {
  text-align: right;
  border-left: 2px solid #fff;
}

.research_attention {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 45px;
}

.research_attention li {
  padding-left: 1em;
  text-indent: -1em;
}

@media (max-width: 800px) {
  .research_feature {
    margin-bottom: 25px;
  }

  .research_feature_box {
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .research_feature_box.last {
    border-bottom: none;
    margin-bottom: 10px;
    padding-bottom: 0;
  }

  .research_feature_img {
    display: none;
  }

  .research_feature_txt {
    width: 100%;
  }

  .research_feature_txt dt {
    font-size: 16px;
    font-weight: bold;
    padding-top: 0px;
    margin-bottom: 5px;
  }

  .research_feature_txt dd {
    font-size: 15px;
  }

  .research_panel table {
    width: 100%;
    float: none;
    margin: 0 0 20px;
  }

  .research_panel table:last-child {
    margin: 0 0 5px;
  }

  .research_attention {
    margin-bottom: 20px;
  }
}

@media (max-width: 500px) {
  .research_title_01 {
    padding-top: 25px !important;
  }

  .research_title_03 {
    padding-top: 15px !important;
  }
}

/* 医師のキャリア支援/開業支援マッチング支援 */

.career_service_list_link {
  padding-top: 8px;
  text-align: center;
  cursor: pointer;
}

.career_service_list_link a {
  padding-bottom: 20px;
  color: #4c9d2a;
  background: url(/images/common/icon_bottom.png) center bottom no-repeat;
  background-size: 16px 8px;
}

.career_txt {
  margin-bottom: 30px;
}

.career_img {
  padding: 0 50px 20px;
  text-align: center;
}

.career_img img {
  max-width: 100%;
}

.career_3column {
  margin-bottom: 50px;
}

.career_2column {
  margin-bottom: 30px;
}

.career_2column.career_agent {
  margin-bottom: 50px;
}

.career_3column .career_column {
  width: 32%;
  margin-right: 2%;
  float: left;
}

.career_3column .career_column:last-child {
  margin-right: 0;
}

.career_2column .career_column {
  width: 49%;
  margin-right: 2%;
  float: left;
}

.career_2column .career_column:last-child {
  margin-right: 0;
}

.career_column_title {
  background: #54a13d;
  color: #fff;
  padding: 6px 0;
  text-align: center;
}

.career_column_box {
  background: #f7f7f7;
  padding: 20px;
}

.career_column:last-child .career_column_box {
  height: 290px;
}

.career_column_img {
  margin-bottom: 15px;
  text-align: center;
  height: 190px;
}

.career_column_img img {
  width: auto;
  height: 190px;
}

.career_column_txt {
  font-size: 15px;
  line-height: 1.5;
}

.career_sub_title {
  margin-bottom: 12px;
}

.career_btn {
  margin-bottom: 50px;
}

.career_flow {
  margin-bottom: 50px;
}

.career_img_sp {
  display: none;
}

@media (max-width: 1000px) {
  .career_column_img {
    height: auto;
    width: auto;
  }

  .career_column_img img {
    width: 100%;
    height: 100%;
  }

  .career_column_img_04 {
    padding: 0 10%;
  }

  .career_column_img_05 {
    padding: 0 18%;
  }

  .career_btn {
    margin-bottom: 30px;
  }

}

@media (max-width: 950px) {
  .career_service_list {
    display: none;
  }
}

@media (max-width: 700px) {
  .career_txt {
    margin-bottom: 20px;
  }

  .career_img {
    padding: 0 0 15px;
  }

  .career_column {
    margin-bottom: 0px;
  }

  .career_3column,
  .career_2column {
    margin-bottom: 25px;
  }

  .career_flow {
    margin-bottom: 25px;
  }

  .career_3column .career_column {
    width: 100%;
    margin-right: 0;
    float: auto;
  }

  .career_2column .career_column {
    width: 100%;
    margin-right: 0;
    float: none;
  }

  .career_column_title {
    padding: 4px 0;
  }

  .career_column_box {
    padding: 20px;
  }

  .career_column:last-child .career_column_box {
    height: auto;
  }

  .career_column_img {
    margin-bottom: 8px;
    padding: 0 22%;
  }

  .career_column_img_03 {
    margin-bottom: 0 !important;
  }

  .career_img_pc {
    display: none;
  }

  .career_img_sp {
    display: block;
  }

  .career_btn {
    margin-bottom: 30px;
  }
}

@media (max-width: 400px) {
  .career_column_img {
    padding: 0 14%;
  }
}
/*life style*/

.lifestyle_txt {
  font-size: 14px;
}

/* 製薬/医療関連企業の方 */

.health_service_box {
  width: 48%;
  float: left;
  margin-right: 4%;
}

.health_service_box img {
  width: 100%;
}

.health_service_box:last-child {
  margin-right: 0;
}

.health_service_img {
  margin-bottom: 10px;
}

.health_service_box dt {
  font-weight: normal;
  margin-bottom: 6px;
  font-size: 18px;
}

.health_service_box dd {
  font-size: 15px;
  line-height: 1.6;
}

.health_service_box dd span {
  font-size: 13px;
}

.health_feature_box {
  margin-bottom: 12px;
  padding-bottom: 15px;
  border-bottom: 1px solid #ddd;
}

.health_feature_box.last {
  border-bottom: none;
  margin-bottom: 25px;
}

.health_feature_img {
  float: left;
  width: 8.5%;
}

.health_feature_img img {
  width: 100%;
}

.health_feature_txt {
  float: right;
  width: 91%;
}

.health_feature_txt dt {
  font-size: 17px;
  font-weight: bold;
  padding-top: 5px;
  margin-bottom: 5px;
}

.healthh_feature_txt dd {
  font-size: 15px;
}

.health_panel_txt {
  margin-bottom: 17px;
}

@media (max-width: 800px) {
  .health_feature {
    margin-bottom: 25px;
  }

  .health_feature_box {
    margin-bottom: 10px;
    padding-bottom: 10px;
  }

  .health_feature_box.last {
    border-bottom: none;
    margin-bottom: 10px;
    padding-bottom: 0;
  }

  .health_feature_img {
    display: none;
  }

  .health_feature_txt {
    width: 100%;
  }

  .health_feature_txt dt {
    font-size: 16px;
    font-weight: bold;
    padding-top: 0px;
    margin-bottom: 5px;
  }

  .health_feature_txt dd {
    font-size: 15px;
  }
}

@media (max-width: 600px) {
  .health_service_box {
    width: 100%;
    float: none;
    margin: 0 0 25px;
  }
}

/* 採用メンバーページ */

.member-box {
  width: 30%;
  margin: 0 5% 40px 0;
  float: left;
}

.member-box:nth-child(3n) {
  margin-right: 0;
}

.member-box:nth-child(4) {
  clear: both;
}

.member-img {
  margin-bottom: 12px;
  position: relative;
}

.member-img img {
  width: 100%;
}

.member-img span {
  background: #4c9d2a;
  min-width: 90px;
  font-size: 12px;
  color: #fff;
  padding: 5px 8px;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
}

.member-title {
  margin-bottom: 3px;
}

.member-title span:after {
  content: '';
  width: 18px;
  height: 18px;
  background: url(../images/common/icon_next_grn.png) left center no-repeat;
  background-size: 18px;
  padding-left: 24px;
  margin-left: 3px;
}

.member-title a {
  color: #4c9d2a;
  font-size: 18px;
  line-height: 1.5;
}

.member-title a:hover {
  text-decoration: underline;
}

.member-day {
  font-size: 14px;
}

@media (max-width: 780px) {
  .member-box {
    width: 48%;
    margin: 0 4% 20px 0;
    float: left;
  }

  .member-box:nth-child(4) {
    clear: none;
  }

  .member-box:nth-child(3n) {
    margin-right: 4%;
  }

  .member-box:nth-child(2n) {
    margin-right: 0;
  }

  .member-box:nth-child(3),
  .member-box:nth-child(5) {
    clear: both;
  }
}

@media (max-width: 500px) {
  .member-box {
    width: 100%;
    margin: 0 0 20px 0;
    float: none;
  }

  .member-box:nth-child(3n) {
    margin-right: 0;
  }

  .member-box:nth-child(3),
  .member-box:nth-child(5) {
    clear: both;
  }
}

/* Sustainability サステナビリティ ページ */
main.sustainability .sub_vis_wrap {
  background: url(../images/sustainability/sub_vis.jpg) top right no-repeat #fbfbfb;
}

main.sustainability .message_title {
  color: #4c9d2a;
  font-size: 30px;
  margin-bottom: 12px;
}

main.sustainability .message-content {
  display: flex;
}

main.sustainability .message_img {
  order: 2;
  margin-left: 40px;
  width: 33%;
  max-width: 360px;
}

main.sustainability .message_img img {
  width: 100%;
  height: auto;
}

main.sustainability .message_text {
  order: 1;
  flex: 1;
}

main.sustainability .message_text p:not(:last-child) {
  margin-bottom: 30px;
}

main.sustainability .materiality_step {
  margin-bottom: 60px;
}

main.sustainability .materiality_step li {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

main.sustainability .materiality_step li .materiality_step_number {
  font-size: 16px;
  background: #4c9d2a;
  color: #fff;
  font-weight: 600;
  width: 120px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 41px 8px 0;
  position: relative;
}

main.sustainability .materiality_step li .materiality_step_number::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 8px 9px 0 9px;
  border-color: #4c9d2a transparent transparent transparent;
}

main.sustainability .materiality_step li .materiality_step_number .number {
  font-size: 24px;
}

main.sustainability .materiality_step li .materiality_step_text {
  flex: 1;
}

main.sustainability .materiality_step li .materiality_step_text .materiality_step_title {
  color: #4c9d2a;
  font-size: 17px;
  margin-bottom: 3px;
}

main.sustainability .materiality_step li .materiality_step_text .materiality_step_detail {
  font-size: 15px;
  line-height: 24px;
}

main.sustainability .materiality_img img {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 20px;
  display: block;
}

main.sustainability .materiality_check {
  display: flex;
  flex-wrap: wrap;
}

main.sustainability .materiality_check > li {
  background: #f8f8f8;
  padding: 25px 19px;
  border-radius: 10px;
  width: calc(100% / 3 - 7px);
}

main.sustainability .materiality_check > li:not(:last-child) {
  margin-right: 10px;
}

main.sustainability .materiality_check .materiality_check_title {
  font-size: 16px;
  font-weight: 600;
  color: #4c9d2a;
  margin-bottom: 12px;
  text-align: center;
}

main.sustainability .materiality_check .materiality_check_list {
  padding: 0 16px;
}

main.sustainability .materiality_check .materiality_check_list li {
  font-size: 14px;
  line-height: 18px;
  position: relative;
  padding-left: 25px;
}

main.sustainability .materiality_check .materiality_check_list li:not(:last-child) {
  margin-bottom: 10px;
}

main.sustainability .materiality_check .materiality_check_list li::before {
  content: '';
  background: url(../images/sustainability/icon_check.png) no-repeat center/contain;
  width: 18px;
  height: 15px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}

main.sustainability .value_statement {
  margin-top: 70px;
  text-align: center;
  margin-bottom: 40px;
}

main.sustainability .value_statement .value_statement_title {
  font-size: 18px;
  margin-bottom: 5px;
}

main.sustainability .value_statement .value_statement_text {
  font-size: 24px;
  line-height: 40px;
  color: #329824;
  margin-bottom: 35px;
}

main.sustainability .value_img img {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 50px;
}

main .sub_nav.sustainability {
  display: flex;
}

main .sub_nav.sustainability li {
  width: 20%;
  text-align: left;
}

main .sub_nav.sustainability li a {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

main.sustainability .officer {
  margin-top: 25px;
}

main.sustainability .system_img {
  margin-top: 25px;
}

main.sustainability .system_img figcaption {
  color: #4c9d2a;
  font-size: 17px;
  margin-bottom: 20px;
}

main.sustainability .system_img img {
  width: 100%;
  max-width: 480px;
}

main.sustainability .health_and_productivity_img {
  margin-top: 18px;
}

main.sustainability .health_and_productivity_img p {
  font-size: 12px;
  margin-top: 10px;
}

main.sustainability .health_and_productivity_img img {
  width: 100%;
  max-width: 327px;
}

main.sustainability .health_and_productivity_about {
  background: #f7f7f7;
  padding: 18px 19px;
  margin-top: 18px;
}

main.sustainability .health_and_productivity_about_title {
  font-weight: bold;
  margin-bottom: 3px;
}

main.sustainability .social_item:not(:last-child) {
  margin-bottom: 25px;
}

main.sustainability .social_item h4 {
  margin-bottom: 5px;
}

/* サステナビリティ - 環境 */
main.sustainability .tcfd_img img {
  margin-top: 16px;
}

main.sustainability .tcfd_img img {
  width: 100%;
  max-width: 300px;
}

main.sustainability .promotion_img img {
  width: 480px;
}

main.sustainability .environment_item {
  margin-top: 18px;
}

main.sustainability .environment_item .fs-small {
  font-size: 15px;
  line-height: 1.6;
}

main.sustainability .environment_item .fc-green {
  color: #329824;
}

main.sustainability .environment_item h4 {
  margin-bottom: 5px;
}


/* table */
main.sustainability p.table_title {
  font-size: 13px;
  font-weight: bold;
}

main.sustainability .table_title {
  margin-bottom: 5px;
}

main.sustainability .table-sustainability,
main.sustainability .table-sustainability-scenario,
.table-privacy {
  border-collapse: collapse;
  border: solid 1px #ccc;
  border-right: none;
  margin-bottom: 10px;
}

main.sustainability .table-sustainability th, main.sustainability .table-sustainability td,
main.sustainability .table-sustainability-scenario th, main.sustainability .table-sustainability-scenario td,
.table-privacy th, .table-privacy td {
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  font-size: 14px;
  line-height: 1.2;
}

main.sustainability .table-sustainability th,
.table-privacy th {
  font-weight: 500;
  background: #51a70e;
  color: #fff;
  text-align: center;
  padding: 5px 14px;
}

main.sustainability .table-sustainability tbody td:first-child,
.table-privacy tbody td:first-child {
  background: #f6f6f6;
}

main.sustainability .table-sustainability td {
  padding: 9px 14px;
  font-weight: 600;
}

main.sustainability .table-sustainability tr.bg-gray td,
.table-privacy tr.bg-gray td {
  background: #f6f6f6;
}

main.sustainability .table-sustainability tr.bg-gray_02 td {
  background: #e9e9e9;
}

main.sustainability .table-sustainability tr.bg-green td {
  background: #dfeed9;
}

main.sustainability .table-sustainability tr.bb-dashed td {
  border-bottom: dashed 1px #d2d2d2;
}

main.sustainability .table-sustainability tr.bb-gray td {
  border-bottom-color: #d2d2d2;
}

/* 役員一覧 */
main.sustainability .table-sustainability.officer_table.en {
  width: auto;
}

main.sustainability .table-sustainability.officer_table th:first-child {
  background: #f6f6f6;
}

main.sustainability .table-sustainability.officer_table thead td {
  padding: 6px 14px;
}

main.sustainability .table-sustainability.officer_table.en thead td {
  padding: 6px 12px;
}

main.sustainability .table-sustainability.officer_table tbody td {
  padding: 3px 14px;
}

main.sustainability .table-sustainability.officer_table tbody td:first-child {
  width: 212px;
}

main.sustainability .table-sustainability.officer_table.en tbody td:first-child {
  width: auto;
}

main.sustainability .table-sustainability.officer_table td:not(:first-child) {
  text-align: center;
}

main.sustainability .table-sustainability.officer_table td .icon-circle {
  font-size: 23px;
  color: #51a70e;
  display: block;
}

/* 環境 */
main.sustainability .table-sustainability.environment_table tbody td:first-child {
  text-align: center;
  padding: 9px 10px;
}

main.sustainability .table-sustainability.environment_table tbody tr.category td:first-child {
  font-size: 12px;
  text-align: right;
  background: #fff;
}

main.sustainability .table-sustainability.environment_table tbody td:nth-child(n+3) {
  text-align: right;
  padding: 8px 18px;
}

main.sustainability .calculation_info li {
  font-size: 13px;
  display: flex;
}

main.sustainability .calculation_info li .info_title {
  width: auto;
}

main.sustainability .calculation_info li .info_detail {
  flex: 1 1 0%;
}

main.sustainability .calculation_info li .info_detail .info_coefficient {
  width: 50px;
  margin-right: 4px;
}

main.sustainability .calculation_info li .info_detail .info_coefficient_detail {
  flex: 1 1 0%;
}


/* 社会 */
main.sustainability .table-sustainability.society_table td:first-child {
  width: 200px;
}

main.sustainability .table-sustainability.society_table.en td:first-child {
  width: auto;
}

main.sustainability .table-sustainability.society_table td:not(:first-child) {
  text-align: right;
  padding: 9px 25px;
}

/* 制度利用/福利厚生 */
main.sustainability .table-sustainability.benefit_table td:not(:first-child) {
  text-align: right;
  padding: 9px 25px;
}

main.sustainability .table-sustainability.benefit_table td:first-child {
  width: 310px;
}

main.sustainability .table-sustainability.benefit_table.en td:first-child {
  width: auto;
}

/* ガバナンス */
main.sustainability .table-sustainability.governance_table td.title {
  padding: 6px 14px;
  text-align: center;
}

main.sustainability .table-sustainability.governance_table td.sub_title {
  padding: 3px 14px;
  text-align: center;
}

main.sustainability .table-sustainability.governance_table td:first-child {
  width: 198px;
}

main.sustainability .table-sustainability.governance_table.en td:first-child {
  width: auto;
}

main.sustainability .table-sustainability.governance_table td:not(:first-child) {
  text-align: right;
  padding: 9px 26px;
}

main.sustainability .table-sustainability.governance_table td .outside {
  display: inline-block;
  width: 70px;
  text-align: right;
}

main.sustainability .table-sustainability.governance_table.en td .outside {
  width: auto;
}

main.sustainability .table-sustainability.governance_table.en td.notes {
  background: #fff;
}

/* シナリオ */
main.sustainability .table-sustainability-scenario thead th {
  background: #f2f2f2;
  padding: 8px 10px;
  text-align: center;
}

main.sustainability .table-sustainability-scenario thead th span {
  display: block;
  font-size: 13px;
  margin-top: 3px;
}

main.sustainability .table-sustainability-scenario tbody th,
main.sustainability .table-sustainability-scenario tbody td {
  padding: 17px 12px;
  text-align: center;
}

main.sustainability .table-sustainability-scenario tbody td {
  font-weight: 600;
}

main.sustainability .table-sustainability-scenario .bg-green,
main.sustainability .table-sustainability-scenario-result .bg-green {
  background: #d6ead3;
}

main.sustainability .table-sustainability-scenario .bg-blue,
main.sustainability .table-sustainability-scenario-result .bg-blue {
  background: #cce3f1;
}

main.sustainability .table-sustainability-scenario-result .bg-red {
  background: #f2d4d5;
}

/* シナリオ結果 */
main.sustainability .table-sustainability-scenario-result {
  border-collapse: collapse;
  table-layout: fixed;
  margin-bottom: 10px;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
}

main.sustainability .table-sustainability-scenario-result th,
main.sustainability .table-sustainability-scenario-result td {
  font-size: 12px;
  position: relative;
}

main.sustainability .table-sustainability-scenario-result thead {
  border-bottom: 2px solid #666;
}

main.sustainability .table-sustainability-scenario-result thead th {
  font-size: 13px;
  padding: 4px 5px;
  line-height: 1.3;
  text-align: center;
}

main.sustainability .table-sustainability-scenario-result th::after,
main.sustainability .table-sustainability-scenario-result td::after {
  content: '';
  background: #cfcfcf;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
}

main.sustainability .table-sustainability-scenario-result .br-none::after {
  display: none;
}

main.sustainability .table-sustainability-scenario-result tbody td:last-child::after {
  display: none;
}
main.sustainability .table-sustainability-scenario-result .bb-none {
  border-bottom: none;
}

main.sustainability .table-sustainability-scenario-result tbody th {
  font-weight: 600;
  line-height: 1.6;
}

main.sustainability .table-sustainability-scenario-result tbody th,
main.sustainability .table-sustainability-scenario-result tbody td {
  border-bottom: 1px solid #cfcfcf;
  padding: 10px 15px;
}

main.sustainability .table-sustainability-scenario-result tbody td {
  line-height: 1.3;
}

main.sustainability .table-sustainability-scenario-result tbody td p:not(:last-child) {
  margin-bottom: 8px;
}

main.sustainability .table-sustainability-scenario-result .text-scenario span {
  font-size: 11px;
  letter-spacing: -1px;
  display: block;
}

main.sustainability .table-sustainability-scenario-result .bbw-2,
main.sustainability .table-sustainability-scenario-result .bbw-2 th,
main.sustainability .table-sustainability-scenario-result .bbw-2 td {
  border-bottom-width: 2px;
}

main.sustainability .table-sustainability-scenario-result .bb-darkgray,
main.sustainability .table-sustainability-scenario-result .bb-darkgray th,
main.sustainability .table-sustainability-scenario-result .bb-darkgray td {
  border-bottom-color: #666;
}

main.sustainability .table-sustainability-scenario-result .bb-black,
main.sustainability .table-sustainability-scenario-result .bb-black th,
main.sustainability .table-sustainability-scenario-result .bb-black td {
  border-bottom-color: #000;
}

main.sustainability .table-sustainability-scenario-result .w230 {
  width: 230px;
}

main.sustainability .table-sustainability-scenario-result .w100 {
  width: 100px;
}

main.sustainability .table-sustainability-scenario-result .w130 {
  width: 130px;
}

main.sustainability .table-sustainability-scenario-result .w185 {
  width: 185px;
}

main.sustainability .table-sustainability-scenario-result .h140 {
  height: 140px;
}

main.sustainability .table-sustainability-scenario-result .bg-gray {
  background: #f2f2f2;
}

.notes-scroll {
  display: none;
}

/* 個人情報保護方針 - 利用者に関する情報の外部送信について */
.table-privacy td {
  padding: 9px 14px;
}
.table-privacy.table-external_transmission td:nth-child(4), .table-privacy.table-external_transmission td:nth-child(5) {
  word-break: break-all;
}

.table-privacy.table-external_transmission th:nth-child(1) {
  width: 13%;
}
.table-privacy.table-external_transmission th:nth-child(2) {
  width: 13%;
}
.table-privacy.table-external_transmission th:nth-child(3) {
  width: 21%;
}
.table-privacy.table-external_transmission th:nth-child(4) {
  width: 30%;
}

@media (max-width: 767px) {
  main.sustainability section.content:not(:last-child) {
    margin-bottom: 25px;
  }
  main.sustainability .sub_vis_wrap {
    background: url(../images/sustainability/sub_vis_sp.png) top right no-repeat;
    background-size: 100%;
  }

  main.sustainability .message-content {
    display: block;
  }

  main.sustainability .message_title {
    font-size: 22px;
  }

  main.sustainability .message_img {
    width: 40%;
    margin-left: 20px;
  }

  main.sustainability .materiality_step {
    margin-bottom: 0;
  }

  main.sustainability .materiality_step li {
    display: block;
  }

  main.sustainability .materiality_step li .materiality_step_number {
    font-size: 14px;
    width: 100%;
    margin-bottom: 20px;
    height: 50px;
  }

  main.sustainability .materiality_step li .materiality_step_number .number {
    font-size: 21px;
  }

  main.sustainability .materiality_check {
    display: block;
  }

  main.sustainability .materiality_check > li {
    width: 100%;
    padding: 25px 12px;
  }

  main.sustainability .materiality_check > li:not(:last-child) {
    margin-bottom: 10px;
  }

  main.sustainability .materiality_check .materiality_check_list {
    padding: 0 10px;
  }

  main.sustainability .value_statement .value_statement_text {
    font-size: 22px;
  }

  main.sustainability .value_img {
    width: 100%;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  main.sustainability .value_img img {
    max-width: none;
    width: 900px;
  }

  main.sustainability .officer_img figcaption {
    font-size: 15px;
  }

  main.sustainability .system_img figcaption {
    font-size: 15px;
    margin-bottom: 15px;
  }

  .table_scroll {
    width: 100%;
    display: block;
    overflow-x: scroll;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .notes-scroll {
    display: block;
    margin-bottom: 5px;
  }
}
