@charset "UTF-8";
/* Varuables
========================================= */
/* --- Color --- */
/* --- Font --- */
/* ---  Layout --- */
.mgt20 {
  margin-top: 20px;
}

.mgt50 {
  margin-top: 50px;
}

.mgt100 {
  margin-top: 100px !important;
}

.mgt120 {
  margin-top: 120px !important;
}

.mgb20 {
  margin-bottom: 20px;
}

.mgb50 {
  margin-bottom: 50px;
}

.mgb100 {
  margin-bottom: 100px !important;
}

.mgb130 {
  margin-bottom: 130px;
}

.mgt30 {
  margin-top: 30px;
}

.pdb120 {
  padding-bottom: 120px;
}

.pd20 {
  padding: 20px;
}

/* --- Responsive --- */
@media screen and (max-width: 1000px) {
  ._pc {
    display: none !important;
  }
}
@media screen and (min-width: 1001px) {
  ._sp {
    display: none !important;
  }
}
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

section {
  width: 100%;
}

span {
  display: inline;
  white-space: nowrap !important;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
  margin: 0px !important;
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: normal;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: inherit; /* 1 */
  font-size: inherit; /* 2 */
  white-space: -moz-pre-wrap;
  white-space: -pre-wrap;
  white-space: -o-pre-wrap;
  white-space: pre-wrap;
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
  display: block;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* common class
======================================= */
body {
  width: 100%;
  overflow-x: hidden;
}

main {
  margin: 0px;
}

.lg-inner {
  width: min(95%, 1000px);
  margin: 0px auto;
}

.bold {
  font-weight: bold;
}

/* Parts
======================================== */
/* header
======================================== */
header {
  position: relative;
  z-index: 99999;
}

#header {
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 99999 !important;
}

.header-wrap {
  width: 100%;
  height: 120px;
}

.lg-inner_hf {
  width: min(95%, 1200px);
  margin: 0px auto;
}

.logo {
  display: block;
  width: 89px;
  height: auto;
}

.header-wrap {
  position: sticky;
  top: 0;
  left: 0;
}

.global_container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 100%;
}
.global_container .logo_box {
  width: 134px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(18px, 2.3vw, 24px);
  font-weight: bold;
  display: flex;
  flex-direction: row;
  height: 120px;
  align-items: center;
  gap: 0;
}
@media (min-width: 1001px) {
  .global_container .logo_box {
    width: 196px;
  }
}
.global_container .global_menu {
  height: 120px;
  display: flex;
  flex-direction: row;
  gap: 40px;
  justify-content: space-between;
  align-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}
.global_container .global_menu .blue_btn {
  background-image: 90deg, #1808b2 0%, #040e66;
  padding: 10px 25px;
  color: #fff;
}

.logo_box {
  width: 134px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(18px, 2.3vw, 24px);
  font-weight: bold;
  display: flex;
  flex-direction: row;
  height: 120px;
  align-items: center;
  gap: 0;
}
@media (min-width: 1001px) {
  .logo_box {
    width: 196px;
  }
}

/* global_nav スマホ対応 */
.openbtn {
  position: fixed;
  top: 35px;
  right: 10px;
  z-index: 9999; /* ボタンを最前面に */
  cursor: pointer;
  width: 50px;
  height: 50px;
}

/* ×に変化 */
.openbtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #666;
  width: 45%;
}

.openbtn span:nth-of-type(1) {
  top: 15px;
}

.openbtn span:nth-of-type(2) {
  top: 23px;
}

.openbtn span:nth-of-type(3) {
  top: 31px;
}

.openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}

/* ナビゲーションのためのcss 縦スクロール */
#g-nav.panelactive #g-nav-list {
  /* ナビの数が増えた場合縦スクロール */
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* ナビゲーション */
#g-nav ul {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.h_container {
  position: sticky;
  top: 100px;
  background: #fff;
  padding: 20px;
}

nav ul {
  list-style: none;
  text-align: center;
}

nav ul li a {
  display: inline-block;
  text-decoration: none;
  color: #000;
  padding: 20px;
  cursor: pointer;
}

#g-nav {
  /* position:fixed;にしz-indexの数値を大きくして前面へ */
  position: fixed;
  z-index: -1;
  /* ナビのスタート位置と形状 */
  top: -120%;
  left: 0;
  width: 100%;
  height: 100vh; /* ナビの高さ */
  background-image: url(../img/hamburger_back.jpg);
  /* 動き */
  transition: all 0.6s;
}

/* アクティブクラスがついたら位置を0に */
#g-nav.panelactive {
  top: 0;
  z-index: 3;
}

#header {
  height: 120px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  color: #000;
  text-align: center;
  padding: 20px;
}

#header.fixed {
  position: fixed;
  z-index: 9999999;
  top: 0;
  left: 0;
}

.blue_btn {
  background-image: linear-gradient(90deg, #1808b2 0%, #040e66);
  padding: 10px 25px;
  color: #fff;
}

/* footer
======================================== */
.footer_sec {
  width: 100%;
  height: 400px;
  background: linear-gradient(to top, #0B2A9C 15%, #1E82DB 85%, transparent 85%);
}
@media (min-width: 1600px) {
  .footer_sec {
    background: linear-gradient(to left, #0B2A9C 25%, #1E82DB 70%, transparent 70%) !important;
  }
}
@media (min-width: 1001px) {
  .footer_sec {
    height: 187px;
    background: linear-gradient(to left, #0B2A9C 25%, #1E82DB 75%, transparent 75%);
  }
}
.footer_sec .footer_container {
  width: min(95%, 1200px);
  height: 287px;
  margin: 50px auto;
}
@media (min-width: 1600px) {
  .footer_sec .footer_container {
    width: 1400px;
  }
}
@media (min-width: 1001px) {
  .footer_sec .footer_container {
    height: 187px;
  }
}
.footer_sec .footer_container .footer_box {
  width: min(95%, 1200px);
  height: 287px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 1001px) {
  .footer_sec .footer_container .footer_box {
    flex-direction: row;
    height: 187px;
  }
}
.footer_sec .footer_container .footer_box .logo_box {
  margin-right: 50px;
}
@media (max-width: 1000px) {
  .footer_sec .footer_container .footer_box .logo_box {
    height: 0px;
    margin-right: auto;
  }
}
.footer_sec .footer_container .footer_box .footer_nav .footer_ul {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  font-size: 15px;
  color: #fff;
  gap: 0px;
}
@media (min-width: 1001px) {
  .footer_sec .footer_container .footer_box .footer_nav .footer_ul {
    flex-direction: row;
    gap: 20px;
  }
}
.footer_sec .footer_container .footer_box .footer_nav .footer_ul .footer_li {
  padding: 0px !important;
  width: 150px;
}
.footer_sec .footer_container .footer_box .footer_nav .footer_ul .footer_li a {
  color: #fff !important;
}

.footer_ul {
  margin-left: 0px;
  margin-top: 85px;
}
@media (min-width: 1001px) {
  .footer_ul {
    margin-left: 40px;
    margin-top: 0px;
  }
}

/* slide_show
======================================== */
#slideshow {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 529px;
}
@media (min-width: 1001px) {
  #slideshow {
    height: 515px;
  }
}
@media (min-width: 1268px) {
  #slideshow {
    height: 600px;
  }
}

#slideshow img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease-in-out;
}

#slideshow img.active {
  opacity: 1;
}

/* sub_MV section
======================================== */
.sub_MV1 {
  background: url(../img/sub_MV_business_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_MV1 {
    background: url(../img/sub_MV_business.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV1 {
    height: 460px !important;
  }
}

.sub_MV2 {
  background: url(../img/sub_MV_service_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_MV2 {
    background: url(../img/sub_MV_service.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV2 {
    height: 460px !important;
  }
}

.sub_MV3 {
  background: url(../img/sub_MV_company_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_MV3 {
    background: url(../img/sub_MV_company.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV3 {
    height: 460px !important;
  }
}

.sub_MV4 {
  background: url(../img/sub_MV_recruit_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1600px) {
  .sub_MV4 {
    background: url(../img/sub_MV_recruit.jpg);
    height: 420px;
    background-size: cover;
    background-position: 50% 25% !important;
    background-repeat: no-repeat;
  }
}
@media (min-width: 1001px) {
  .sub_MV4 {
    background: url(../img/sub_MV_recruit.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV4 {
    height: 460px !important;
  }
}

.sub_MV5 {
  background: url(../img/sub2_MV_policy_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_MV5 {
    background: url(../img/sub2_MV_policy.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV5 {
    height: 460px !important;
  }
}

.sub_MV6 {
  background: url(../img/sub2_MV_history_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_MV6 {
    background: url(../img/sub2_MV_history.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV6 {
    height: 460px !important;
  }
}

.sub_MV7 {
  background: url(../img/sub2_MV_overview_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_MV7 {
    background: url(../img/sub2_MV_overview.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV7 {
    height: 460px !important;
  }
}

.sub_MV8 {
  background: url(../img/sub2_MV_base_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_MV8 {
    background: url(../img/sub2_MV_base.jpg);
    height: 420px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
@media (max-width: 1000px) {
  .sub_MV8 {
    height: 460px !important;
  }
}

.sub_MV_container {
  width: 100%;
}
@media (min-width: 1001px) {
  .sub_MV_container {
    height: 420px;
  }
}
@media (max-width: 1000px) {
  .sub_MV_container {
    height: 460px;
  }
}
.sub_MV_container .sub_MV_txtbox {
  width: min(95%, 1020px);
  margin: 0px auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
}
@media (min-width: 1001px) {
  .sub_MV_container .sub_MV_txtbox {
    height: 420px;
    justify-content: center;
  }
}
@media (max-width: 1000px) {
  .sub_MV_container .sub_MV_txtbox {
    height: 460px;
    padding-bottom: 15px;
  }
}
.sub_MV_container .sub_MV_txtbox .sub_MV_h2 {
  width: 281px;
  padding: 15px;
  font-size: clamp(25px, 3.2vw, 30px);
  font-weight: bold;
  background: #141090;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}
.sub_MV_container .sub_MV_txtbox .sub_MV_p {
  width: 205px;
  padding: 15px;
  border: solid 1px #141090;
  font-size: clamp(18px, 2.3vw, 22px);
  font-weight: bold;
  background: #fff;
  color: #141090;
  font-family: "Figtree", sans-serif;
}

/* ---- 共通して使用するクラス ---- */
.flexbox {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}
@media (min-width: 1001px) {
  .flexbox {
    flex-direction: row;
  }
}

.flexbox_fixed {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
  text-align: center;
}

.font_blue {
  color: #141090;
}

.font_white {
  color: #fff;
}

.left_ttl2 {
  margin-top: 40px;
}
@media (min-width: 1001px) {
  .left_ttl2 {
    margin-top: 50px;
  }
}
.left_ttl2 .lc_center {
  justify-content: center;
}
.left_ttl2 .lc_center .line2 {
  display: block;
  width: 36px;
  height: 5.8px;
}
@media (min-width: 1001px) {
  .left_ttl2 .lc_center .line2 {
    width: 76px;
    height: 8.5px;
  }
}
.left_ttl2 .lc_center h3 {
  font-family: "Figtree", sans-serif;
  font-weight: bold;
  font-size: clamp(28px, 3.6vw, 48px);
}
.left_ttl2 .center_p {
  text-align: center;
  font-size: clamp(15px, 1.9vw, 25px);
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}

.sec {
  width: 100%;
}
.sec .left_ttl {
  display: flex;
  flex-direction: column;
  padding-top: 86px;
}
.sec .left_ttl .flexbox {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
}
.sec .left_ttl .flexbox .line {
  display: block;
  width: 36px;
  height: 5.8px;
}
@media (min-width: 1001px) {
  .sec .left_ttl .flexbox .line {
    width: 236px;
    height: 8.1px;
  }
}
.sec .left_ttl .flexbox h3 {
  font-family: "Figtree", sans-serif;
  font-weight: bold;
  font-size: clamp(28px, 3.6vw, 48px);
}
.sec .left_ttl p {
  font-family: "Figtree", sans-serif;
  font-weight: bold;
  font-size: clamp(15px, 1.9vw, 25px);
  margin-left: 50px;
}
@media (min-width: 1001px) {
  .sec .left_ttl p {
    margin-left: 251px;
  }
}
.sec .sec_content_middle {
  text-align: center;
}
.sec .sec_content_middle .lg-inner {
  width: min(95%, 1000px);
  margin: 0px auto;
}
.sec .sec_content_middle .lg-inner p {
  font-size: 17px;
  line-height: 2.5rem;
  padding-top: 50px;
  padding-bottom: 50px;
}
.sec .sec_content_middle .aboutus_bottomback {
  width: 100%;
  height: auto;
}
.sec .circle_btn {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 180px;
  margin: 0 0 0 auto;
  cursor: pointer;
}
.sec .circle_btn p {
  font-family: "Figtree", sans-serif;
  font-size: 15px;
  color: #141090;
  margin-right: 10px;
}
.sec .circle_btn span {
  display: block;
  width: 73px;
  height: 73px;
  background-image: url(../img/c_arrow.png);
  background-size: cover;
  background-position: center;
}
.sec .circle_btn:hover span {
  background-image: url(../img/cl_btn_hover.png);
}
.sec .circle_btn2 {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 180px;
  margin: 0 0 0 auto;
  cursor: pointer;
}
.sec .circle_btn2 p.white_p {
  font-family: "Figtree", sans-serif;
  font-size: 15px;
  color: #fff;
  margin-right: 10px;
}
.sec .circle_btn2 span.white_span {
  display: block;
  width: 73px;
  height: 73px;
  background-image: url(../img/c_arrow2.png);
  background-size: cover;
  background-position: center;
}
.sec .circle_btn2:hover span {
  background-image: url(../img/cl_btn_hover2.png);
}

/* ---- aboutUs section ---- */
.back_aboutUs {
  background-image: url(../img/aboutus_back.jpg);
}

/* ---- product section ---- */
.product_sec {
  height: 750px;
  margin-bottom: 180px;
}
@media (min-width: 1001px) {
  .product_sec {
    height: 1100px;
    margin-bottom: 150px;
  }
}
.product_sec p.product_p {
  font-size: clamp(15px, 1.9vw, 17px);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2rem;
  margin-top: 45px;
}
.product_sec .product_back {
  background-image: url(../img/productinfo_back_sp.png);
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 600px;
  position: relative;
  z-index: -1;
  margin-top: 50px;
}
@media (min-width: 1001px) {
  .product_sec .product_back {
    background-image: url(../img/productinfo_back.png);
    height: 1058px;
    margin-top: 0px;
  }
}
.product_sec .product_p_blue {
  position: absolute;
  left: 22%;
  top: 70%;
  background: linear-gradient(90deg, #1808b2, #030d67);
  background-size: 200% 100%;
  color: #fff;
  padding: 18px;
  margin-bottom: 20px;
  font-size: clamp(15px, 1.9vw, 17px);
  background-size: 200% 100%; /* 背景の横幅を2倍に広げる */
  background-position: 100% 0;
}
.product_sec .product_p_1 {
  position: absolute;
  left: 22%;
  top: 70%;
  line-height: 2rem;
}
@media (max-width: 1000px) {
  .product_sec .product_p_1 {
    left: 10%;
  }
}
.product_sec .product_p_2 {
  position: absolute;
  left: 22%;
  top: 76%;
  line-height: 2rem;
  margin-top: 20px;
}
@media (max-width: 1000px) {
  .product_sec .product_p_2 {
    margin-top: 110px;
    left: 10%;
  }
}

/* ---- lineup section ---- */
.back_lineup {
  background: #F7F7F7;
}
.back_lineup .back_letter {
  display: block;
  width: 274px;
  height: auto;
}
@media (min-width: 1001px) {
  .back_lineup .back_letter {
    width: 490px;
    height: auto;
  }
}
.back_lineup .lg-inner .product_grid {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px;
}
@media (min-width: 1001px) {
  .back_lineup .lg-inner .product_grid {
    margin-top: 50px;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
  }
}
.back_lineup .lg-inner .product_grid .grid1 {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
}
@media (min-width: 1001px) {
  .back_lineup .lg-inner .product_grid .grid1 {
    width: 501px;
    grid-column: span 3;
  }
}
.back_lineup .lg-inner .product_grid .grid2 {
  display: block;
  width: 100%;
  height: auto;
  cursor: pointer;
}
@media (min-width: 1001px) {
  .back_lineup .lg-inner .product_grid .grid2 {
    width: 325px;
    grid-column: span 2;
  }
}
.back_lineup .lg-inner .circle_btn_box {
  margin-top: 50px;
  padding-bottom: 100px;
}

/*------ ふわっとした動きのcss ------*/
.img_item {
  display: block;
  width: 100%;
  opacity: 0;
}

/* ---- business section ---- */
.back_business {
  background-image: url(../img/business_back_sp.jpg);
  background-size: cover;
  background-position: center;
  height: 1000px;
  position: relative;
}
.back_business .left_ttl .float1 {
  display: block;
  width: 150px;
  height: auto;
  position: absolute;
  top: 50px;
  right: 10px;
}
@media (min-width: 1001px) {
  .back_business .left_ttl .float1 {
    width: 207px;
    top: 40px;
    right: 70px;
  }
}
.back_business .left_ttl .float2 {
  display: block;
  width: 250px;
  height: auto;
  position: absolute;
  bottom: 50px;
  left: 10px;
}
@media (min-width: 1001px) {
  .back_business .left_ttl .float2 {
    width: 380px;
    bottom: 70px;
    left: 70px;
  }
}
@media (min-width: 1001px) {
  .back_business {
    background-image: url(../img/business_back.jpg);
  }
}
.back_business .lg-inner2 {
  width: min(95%, 1000px);
  margin: 100px auto 0px;
}
.back_business .lg-inner2 .business_p {
  font-size: clamp(15px, 2vw, 17px);
  line-height: 2rem;
}

.cloud-layer {
  /* JavaScriptから渡される--scroll変数を元に移動させる */
  transform: translateY(calc(var(--scroll) * 1px));
  /* 動きを滑らかにするための設定 */
  will-change: transform;
}

/* ---- service section ---- */
.back_service {
  background: #2A8896;
  padding-top: 80px;
  padding-bottom: 150px;
}
.back_service .lg-inner {
  margin-top: 40px;
}
.back_service .lg-inner .service_box {
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: center;
}
@media (min-width: 1001px) {
  .back_service .lg-inner .service_box {
    flex-direction: row;
  }
}
.back_service .lg-inner .service_box .service_img {
  display: block;
  height: auto;
}
@media (min-width: 1001px) {
  .back_service .lg-inner .service_box .service_img {
    width: 312px;
  }
}
@media (min-width: 769px) and (max-width: 1000px) {
  .back_service .lg-inner .service_box .service_img {
    width: calc((100vw - 64px) / 3 * 0.95);
    margin: 0px auto;
  }
}
@media (max-width: 768px) {
  .back_service .lg-inner .service_box .service_img {
    width: 95%;
    margin: 0px auto;
  }
}

/* ---- news section ---- */
.back_news {
  background: #E6F0F8;
}
.back_news .flex_news {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1001px) {
  .back_news .flex_news {
    flex-direction: row;
  }
}
.back_news .flex_news .inner_news {
  width: min(95%, 600px);
  margin: 0px auto;
}
.back_news .flex_news .inner_news .news_ul {
  padding-bottom: 20px;
  font-size: 15px;
}
.back_news .flex_news .inner_news .news_ul li {
  padding-top: 40px;
  padding-bottom: 20px;
}
.back_news .flex_news .inner_news .news_ul li .date {
  font-weight: bold;
  color: #7F7EA8;
  display: inline-block;
  width: 170px;
  padding-bottom: 15px;
}
.back_news .flex_news .inner_news .news_ul li .title_sp {
  font-weight: bold;
  color: #000;
}
.back_news .flex_news .news_img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1001px) {
  .back_news .flex_news .news_img {
    width: 400px;
    height: auto;
  }
}

/* ---- sustainability section ---- */
.sus_grid_container {
  display: grid;
  gap: 25px;
  justify-items: center;
  margin-top: 50px;
  margin-bottom: 120px;
}
@media (min-width: 1001px) {
  .sus_grid_container {
    margin-top: 100px;
    margin-bottom: 150px;
  }
}
.sus_grid_container .sus_img {
  display: block;
  width: 318px;
  height: auto;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto auto;
  gap: 25px;
}
.sus_grid_container .sus_img2 {
  display: block;
  width: 669px;
  height: auto;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto auto;
  gap: 0px;
}
.sus_grid_container .imgA {
  grid-column: 1;
  grid-row: 1;
}
.sus_grid_container .imgB {
  grid-column: 2;
  grid-row: 1;
}
.sus_grid_container .imgC {
  grid-column: 3;
  grid-row: 1/4;
}
.sus_grid_container .imgD {
  grid-column: 1;
  grid-row: 2/4;
}
.sus_grid_container .imgE {
  grid-column: 2;
  grid-row: 2;
}
.sus_grid_container .imgF {
  grid-column: 2/4;
  grid-row: 3;
}
.sus_grid_container .sus_img_sp {
  display: block;
  width: 100%;
  height: auto;
}

/* ---- recruit section ---- */
.back_recruit {
  width: 100%;
  background: url(../img/recruit_back.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
  z-index: 1;
}
.back_recruit .recruit_img {
  position: absolute;
  top: 150px;
  right: 0px;
  z-index: 10;
  display: block;
  width: min(95%, 1150px);
}
@media (min-width: 1001px) {
  .back_recruit .recruit_img {
    top: 200px;
  }
}
.back_recruit .lg-inner .recruit_ttl {
  background: #fff;
  color: #141090;
  font-weight: bold;
  font-size: clamp(20px, 2.6vw, 50px);
  padding: 10px 15px;
  margin-top: 30px;
  position: relative;
  z-index: 100;
}
@media (min-width: 1001px) {
  .back_recruit .lg-inner .recruit_ttl {
    margin-top: 100px;
  }
}
.back_recruit .lg-inner .recruit_textbox {
  background-image: radial-gradient(#385ca5, #0b1936);
  color: #fff;
  font-size: clamp(15px, 1.9vw, 17px);
  padding: 38px;
  margin-top: 47px;
}
@media (min-width: 1001px) {
  .back_recruit .lg-inner .recruit_textbox {
    margin-top: 215px;
  }
}

@media (min-width: 1001px) {
  .mgb_50 {
    margin-bottom: -50px;
  }
}

/*------ 横方向に画像をオートで流すslickのcss ------*/
/* Top aboutUsの複数画像を流して見せる部分 */
/* slick全体の左右はみ出しを許可して、端で角が切れるのを防ぐ */
.slider-wrapper {
  width: 100%;
  overflow: hidden; /* これで予期せぬ余白や横スクロールが消えます */
}

.slider {
  width: 100%;
}

.slider .slick-list {
  overflow: visible !important;
}

/* スライドの土台 */
.slider .slide {
  /* 画像同士が重なれるようにレイアウト空間を整える */
  position: relative;
  /* 
    左右の隙間の調整です。
    画像が重なりすぎて角が消える場合は、このマイナス値を -20px や -10px などに緩めてください。
    逆に隙間が空きすぎる場合は、-40px などに増やしてください。
  */
  margin: 0 -100px;
}

/* 画像そのものの設定 */
.slider .slide img {
  width: 100%;
  height: 390px;
  object-fit: cover;
  display: block;
  /* 
    ★最重要：これがないと、隣の画像の「透明な四角い枠」が上に被さったときに、
    下の画像の角が消されて（打ち消されて）しまいます。
  */
  position: relative;
  z-index: 1;
}

/* sub_business_desc section
======================================== */
.sub_business_desc {
  width: 100%;
}
.sub_business_desc .sub_business_desc_txtbox {
  width: 95%;
  margin: 0px auto;
}
@media (min-width: 1001px) {
  .sub_business_desc .sub_business_desc_txtbox {
    width: 860px;
  }
}
.sub_business_desc .sub_business_desc_txtbox .sub_business_p {
  font-size: clamp(20px, 2.6vw, 25px);
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  color: #141090;
  padding: 0px;
  text-align: center;
  line-height: 2.6rem;
}
@media (min-width: 1001px) {
  .sub_business_desc .sub_business_desc_txtbox .sub_business_p {
    padding: 47px;
  }
}
@media (max-width: 1000px) {
  .sub_business_desc .sub_business_desc_txtbox .sub_business_p {
    padding-top: 40px;
    padding-bottom: 50px;
  }
}
.sub_business_desc .sub_business_desc_txtbox .sub_business_p .large_yellowline {
  font-size: clamp(25px, 3.2vw, 30px);
  background: linear-gradient(transparent 60%, #F2EED2 60%);
}

/* sub_business_activities
======================================== */
.sub_business_activities .business_ac1 {
  width: 100%;
  height: 462px;
  background: url(../img/business_ac1_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_business_activities .business_ac1 {
    background: url(../img/business_ac1.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 353px;
  }
}
.sub_business_activities .business_ac2 {
  width: 100%;
  height: 462px;
  background: url(../img/business_ac2_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_business_activities .business_ac2 {
    background: url(../img/business_ac2.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 353px;
  }
}
.sub_business_activities .business_ac3 {
  width: 100%;
  height: 462px;
  background: url(../img/business_ac3_sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .sub_business_activities .business_ac3 {
    background: url(../img/business_ac3.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    height: 353px;
  }
}

@media (min-width: 1001px) {
  .business_dl {
    width: 470px;
  }
}
@media (max-width: 1000px) {
  .business_dl {
    width: 95%;
    margin: 0px auto;
  }
}
.business_dl .business_dt {
  font-size: clamp(20px, 2.6vw, 24px);
  font-weight: bold;
  padding-top: 40px;
  margin-bottom: 10px;
  color: #fff;
  line-height: 2.3rem;
}
.business_dl .business_dd {
  color: #fff;
  font-size: clamp(15px, 1.9vw, 17px);
  line-height: 2rem;
}

.mgl-auto {
  margin-left: auto;
}

.mgr-auto {
  margin-right: auto;
}

/* sub_product_cg
======================================== */
.sub_product_cg {
  padding-top: 120px;
  background: #E2EEF1;
}

.product_cg_container {
  margin-top: 40px;
  padding-bottom: 130px;
}
.product_cg_container .sub_pd_list {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0px;
}
@media (min-width: 1001px) {
  .product_cg_container .sub_pd_list {
    flex-direction: row;
    gap: 15px;
  }
}
.product_cg_container .sub_pd_list .sub_pd_a {
  display: block;
  width: 331px;
  height: 400px;
  cursor: pointer;
}
@media (max-width: 1000px) {
  .product_cg_container .sub_pd_list .sub_pd_a {
    margin: 0px auto;
  }
}
.product_cg_container .sub_pd_list .sub_pd_a .sub_pd_li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 331px;
  height: 400px;
}
.product_cg_container .sub_pd_list .sub_pd_a .sub_pd_li .sub_pd_p {
  color: #fff;
  font-size: clamp(20px, 2.6vw, 25px);
  font-weight: bold;
  line-height: 2rem;
  text-align: center;
}
.product_cg_container .sub_pd_list .sub_pd_a .sub_pd_li .pd_icon {
  display: block;
  width: 162px;
  height: auto;
  margin: 10px auto;
}
.product_cg_container .sub_pd_list .sub_pd_a .pd_back1 {
  background: url(../img/pd_back1.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.product_cg_container .sub_pd_list .sub_pd_a .pd_back2 {
  background: url(../img/pd_back2.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.product_cg_container .sub_pd_list .sub_pd_a .pd_back3 {
  background: url(../img/pd_back3.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.product_cg_container .sub_pd_list .sub_pd_a .pd_back4 {
  background: url(../img/pd_back4.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.product_cg_container .sub_pd_list .sub_pd_a .pd_back5 {
  background: url(../img/pd_back5.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

/* sub_strengths
======================================== */
.sub_strengths {
  margin-bottom: 150px;
}
.sub_strengths .sub_strengths_container {
  margin-top: 40px;
}
.sub_strengths .sub_strengths_container .sub_strengths_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 30px;
}
@media (min-width: 1001px) {
  .sub_strengths .sub_strengths_container .sub_strengths_box {
    flex-direction: row;
    margin-top: 50px;
  }
}
.sub_strengths .sub_strengths_container .sub_strengths_box .sub_strengths_li {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.sub_strengths .sub_strengths_container .sub_strengths_box .sub_strengths_li .strength_img {
  display: block;
  width: min(95%, 487px);
  height: auto;
}
.sub_strengths .sub_strengths_container .sub_strengths_box .sub_strengths_li .strength_p {
  font-size: clamp(17px, 2.2vw, 25px);
  font-weight: bold;
  text-align: center;
  line-height: 1.8rem;
}
@media (min-width: 1001px) {
  .sub_strengths .sub_strengths_container .sub_strengths_box .sub_strengths_li .strength_p {
    line-height: 2.2rem;
  }
}

/* sub_product_desc section
======================================== */
.sub_product_desc .sub_pd_container .sb_pd_ttlback1 {
  background: url(../img/sub_product_ttl.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sub_product_desc .sub_pd_container .sb_pd_ttlback2 {
  background: url(../img/sub_product_ttl2.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sub_product_desc .sub_pd_container .sb_pd_ttlback3 {
  background: url(../img/sub_product_ttl3.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sub_product_desc .sub_pd_container .sb_pd_ttlback4 {
  background: url(../img/sub_product_ttl4.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sub_product_desc .sub_pd_container .sb_pd_ttlback5 {
  background: url(../img/sub_product_ttl5.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.sub_product_desc .sub_pd_container .sub_product_ttl {
  width: 100%;
  height: 125px;
  display: grid;
  align-items: center;
}
@media (min-width: 1001px) {
  .sub_product_desc .sub_pd_container .sub_product_ttl {
    height: 244px;
  }
}
.sub_product_desc .sub_pd_container .sub_product_ttl .sub_pd_h4 {
  font-size: clamp(20px, 2.6vw, 30px);
  font-weight: bold;
  color: #fff;
}
.sub_product_desc .sub_pd_container .sub_pd_desc_box {
  margin-top: 78px;
  margin-bottom: 120px;
}
.sub_product_desc .sub_pd_container .sub_pd_desc_box .sub_pd_desc_dl {
  margin-top: 30px;
}
.sub_product_desc .sub_pd_container .sub_pd_desc_box .sub_pd_desc_dl .sub_pd_desc_dt {
  font-size: clamp(20px, 2.6vw, 25px);
  font-weight: bold;
  color: #008DA2;
  position: relative;
  padding-left: 35px;
  line-height: 2.2rem;
}
.sub_product_desc .sub_pd_container .sub_pd_desc_box .sub_pd_desc_dl .sub_pd_desc_dt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 26px;
  height: 7px;
  background: #008DA2;
}
.sub_product_desc .sub_pd_container .sub_pd_desc_box .sub_pd_desc_dl .sub_pd_desc_dd {
  font-size: clamp(15px, 1.9vw, 17px);
  line-height: 1.6rem;
  margin-top: 15px;
}

/* sub_service section
======================================== */
.sub_service {
  background: #F2F2F2;
  padding-bottom: 130px;
}

.sb_service_container {
  margin-top: 45px;
}
@media (min-width: 1001px) {
  .sb_service_container {
    width: 90%;
    height: 530px;
    padding: 40px;
  }
}
@media (min-width: 500px) and (max-width: 1000px) {
  .sb_service_container {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    height: 640px;
    padding: 10px;
  }
}
@media (max-width: 499px) {
  .sb_service_container {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    height: 720px;
    padding: 10px;
  }
}
.sb_service_container .sb_service_box {
  margin-top: 34px;
}
.sb_service_container .sb_service_box .sb_service_h4 {
  font-size: clamp(20px, 2.6vw, 30px);
  font-weight: bold;
  color: #141090;
  margin-bottom: 15px;
}
.sb_service_container .sb_service_box .sb_service_h4::before {
  content: "";
  background: url(../img/arrow_right.png);
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  width: 23px;
  height: 20px;
}
.sb_service_container .sb_service_box .sb_service_p {
  font-size: clamp(15px, 1.9vw, 16px);
  line-height: 1.6rem;
  margin-bottom: 30px;
}
.sb_service_container .sb_service_box2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
}
@media (min-width: 1001px) {
  .sb_service_container .sb_service_box2 {
    flex-direction: row;
    justify-content: space-between;
    gap: 30px;
  }
}
.sb_service_container .sb_service_box2 .sb_merit_leftbox .sb_service_h5 {
  font-size: clamp(20px, 2.6vw, 25px);
  font-weight: bold;
  color: #fff;
  background: #000;
  padding: 10px 20px;
}
.sb_service_container .sb_service_box2 .sb_merit_leftbox .sb_service_ul {
  list-style: none;
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.7rem;
  font-size: clamp(15px, 1.9vw, 16px);
  margin-top: 15px;
}
.sb_service_container .sb_merit_rightbox .merit_img {
  display: block;
  height: auto;
}
@media (min-width: 1001px) {
  .sb_service_container .sb_merit_rightbox .merit_img {
    width: 487px;
  }
}
@media (min-width: 500px) and (max-width: 1000px) {
  .sb_service_container .sb_merit_rightbox .merit_img {
    width: 335px;
  }
}
@media (max-width: 499px) {
  .sb_service_container .sb_merit_rightbox .merit_img {
    width: 100%;
  }
}

.back1 {
  background: url(../img/sub_service_img1.jpg);
  background-position: center;
  background-size: cover;
}

.back2 {
  background: url(../img/sub_service_img2.jpg);
  background-position: center;
  background-size: cover;
}

.back3 {
  background: url(../img/sub_service_img3.jpg);
  background-position: center;
  background-size: cover;
}

.right {
  margin-left: auto;
}

.left {
  margin-right: auto;
}

/* sub_service_merit
======================================== */
.sb_advantage_imgbox {
  display: grid;
  place-items: center;
  margin-top: 57px;
  margin-bottom: 120px;
}
.sb_advantage_imgbox .sb_advantage_img {
  display: block;
  width: min(95%, 1000px);
  height: auto;
  margin: 0px auto;
}

.sb_advantage_imgbox2 .sb_advantage_ul {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 30px;
}
.sb_advantage_imgbox2 .sb_advantage_ul .sb_advantage_img2 {
  display: block;
  width: 95%;
  height: auto;
  margin: 0px auto;
}

/* sub_message
======================================== */
.sub_message {
  width: 100%;
  height: 553px;
  background: url(../img/message_back_sp.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  padding-top: 60px;
  margin-top: 100px;
  margin-bottom: 0px;
}
@media (min-width: 1001px) {
  .sub_message {
    background: url(../img/message_back.jpg);
    height: 439px;
    margin-bottom: -50px;
  }
}
.sub_message .sb_service_message {
  background: rgba(255, 255, 255, 0.78);
  padding: 20px 10px;
}
@media (min-width: 1001px) {
  .sub_message .sb_service_message {
    padding: 89px 58px;
  }
}
.sub_message .sb_service_message .sb_service_message_h5 {
  font-size: clamp(25px, 3.2vw, 28px);
  font-weight: bold;
  color: #000;
  line-height: 4.3rem;
}
.sub_message .sb_service_message .sb_service_message_h5 .blue_g {
  font-size: clamp(30px, 3.9vw, 35px);
  font-weight: bold;
  color: #fff;
  background: linear-gradient(90deg, #141090 1%, #110e73);
  padding: 10px;
}
.sub_message .sb_service_message .businessperson {
  position: absolute;
  bottom: 0px;
  right: 20px;
  z-index: 1;
  display: block;
  width: 265px;
  height: auto;
}
@media (min-width: 1001px) {
  .sub_message .sb_service_message .businessperson {
    width: 351px;
    bottom: 0px;
    right: 100px;
  }
}

.sub_pd_container::before {
  content: "";
  display: block;
  padding-top: 120px;
  margin-top: -120px;
}

/* sub_TopMessage
======================================== */
.sub_TopMessage {
  padding-top: 70px;
  padding-bottom: 70px;
  position: relative;
  background: #F5F5F5;
  z-index: -1;
}

.grayblue_wave_img {
  position: absolute;
  bottom: 0px;
  right: 0px;
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1001px) {
  .grayblue_wave_img {
    width: 659px;
  }
}

.TopMessage_container {
  gap: 30px;
}

.president_img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0px auto;
}
@media (min-width: 1001px) {
  .president_img {
    width: 499px;
    height: auto;
  }
}

.sub_Topmessage_box .sub_Topmessage_h3 {
  font-family: "Figtree", sans-serif;
  font-weight: bold;
  color: #141090;
  font-size: clamp(25px, 3.2vw, 30px);
  margin-bottom: 15px;
}
.sub_Topmessage_box .sub_Topmessage_p {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-size: clamp(15px, 1.9vw, 17px);
  line-height: 1.8rem;
}
.sub_Topmessage_box .name_box {
  margin-top: 33px;
}
.sub_Topmessage_box .name_box .name_p {
  font-size: 15px;
  line-height: 1.7rem;
}

/* sub_CompanyMenu
======================================== */
.company_menu_container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 100px;
  margin-bottom: 100px;
}
@media (min-width: 1001px) {
  .company_menu_container {
    grid-template-columns: 1fr 1fr;
  }
}
.company_menu_container .company_menu_box {
  border: solid 1px #141090;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  cursor: pointer;
}
.company_menu_container .company_menu_box .company_menu_txtbox {
  display: flex;
  flex-direction: row;
  gap: 10px;
  justify-content: center !important;
  align-items: center;
  padding-left: 20px;
  font-size: clamp(17px, 2.2vw, 20px);
  color: #141090;
  font-weight: bold;
}
.company_menu_container .company_menu_box .company_menu_txtbox .black_arrow_img {
  display: block;
  width: 10px;
  height: 20px;
}
.company_menu_container .company_menu_box .company_imgbox .com_menu_img {
  display: block;
  width: 165px;
  height: auto;
}
@media (min-width: 1001px) {
  .company_menu_container .company_menu_box .company_imgbox .com_menu_img {
    width: 242px;
  }
}
.company_menu_container .company_info_box {
  display: flex;
  flex-direction: column;
  margin-top: 30px;
}
.company_menu_container .company_info_box .com_info_img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1001px) {
  .company_menu_container .company_info_box .com_info_img {
    width: 491px;
  }
}
.company_menu_container .company_info_box .info_ttl {
  font-size: clamp(17px, 2.2vw, 20px);
  color: #141090;
  font-weight: bold;
  margin-top: 5px;
  margin-bottom: 5px;
}
.company_menu_container .company_info_box ul {
  list-style-image: url(../img/list_square.jpg);
  margin-left: 1.3em;
  line-height: 1.5rem;
}
.company_menu_container .company_info_box ul li {
  font-size: 15px;
}
.company_menu_container .company_info_box ul li a {
  cursor: pointer;
}

/* sub_recruit_slogan section
======================================== */
.sub_recruit_slogan {
  background: url(../img/sb_recruit_slogan.jpg);
  width: 100%;
  height: 475px;
  color: #fff;
  display: grid;
  place-items: center;
}
.sub_recruit_slogan .recruit_slogan_h3 {
  font-size: clamp(25px, 3.2vw, 40px);
  font-weight: bold;
  margin-bottom: 20px;
  position: relative;
  z-index: 0;
}
.sub_recruit_slogan .recruit_slogan_h3::before {
  content: "";
  width: 47px;
  height: 3px;
  background: #fff;
  position: absolute;
  top: 45px;
  border-radius: 1.5px;
  z-index: -1;
}
@media (min-width: 1001px) {
  .sub_recruit_slogan .recruit_slogan_h3::before {
    top: 60px;
  }
}
.sub_recruit_slogan .recruit_slogan_p {
  font-size: 15px;
  margin-top: 30px;
  line-height: 1.6rem;
}

.sub_recruit_company {
  margin-bottom: 100px;
}
.sub_recruit_company .company_feature_box {
  margin-bottom: 60px;
}
.sub_recruit_company .company_feature_box .company_feature_ttl {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  position: relative;
}
.sub_recruit_company .company_feature_box .company_feature_ttl .company_feature_h4 {
  font-size: clamp(20px, 2.6vw, 27px);
  color: #1808B2;
  position: absolute;
  top: 25px;
  left: 40px;
}
.sub_recruit_company .company_feature_box .company_feature_ttl .feature_underline {
  position: absolute;
  top: 20px;
  left: 0px;
  display: block;
  width: 350px;
  height: auto;
}
@media (min-width: 1001px) {
  .sub_recruit_company .company_feature_box .company_feature_ttl .feature_underline {
    position: absolute;
    top: 15px;
    left: 0px;
    display: block;
    width: 1020px;
    height: auto;
  }
}
.sub_recruit_company .company_feature_box .company_feature_desc {
  margin-top: 100px;
  display: flex;
  justify-content: space-between;
}
.sub_recruit_company .company_feature_box .company_feature_desc p {
  width: 100%;
  font-size: 15px;
  line-height: 1.6rem;
}
@media (min-width: 1001px) {
  .sub_recruit_company .company_feature_box .company_feature_desc p {
    width: 588px;
  }
}
.sub_recruit_company .company_feature_box .company_feature_desc .recruit_feature_img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1001px) {
  .sub_recruit_company .company_feature_box .company_feature_desc .recruit_feature_img {
    width: 411px;
  }
}

.pc_row {
  flex-direction: column;
}
@media (min-width: 1001px) {
  .pc_row {
    flex-direction: row;
  }
}

.pc_reverse {
  flex-direction: column;
}
@media (min-width: 1001px) {
  .pc_reverse {
    flex-direction: row-reverse;
  }
}

.left_ttl {
  margin-top: 0px;
  margin-bottom: 60px;
}
.left_ttl .flexbox .line {
  display: block;
  width: 76px;
  height: auto;
}
.left_ttl .flexbox .font_blue {
  font-weight: bold;
  font-size: clamp(28px, 3.6vw, 45px);
}

.sub_recruit_workstyle {
  padding-top: 60px;
  padding-bottom: 130px;
  background: url(../img/recruit3_back.jpg);
  background-size: cover;
  background-position: center;
  margin-bottom: 0px;
}
@media (min-width: 1001px) {
  .sub_recruit_workstyle {
    margin-bottom: -50px;
  }
}
.sub_recruit_workstyle .sb_workstyle_container .recruit_feature_img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1001px) {
  .sub_recruit_workstyle .sb_workstyle_container .recruit_feature_img {
    width: 1150px;
  }
}
.sub_recruit_workstyle .sb_workstyle_container .sb_workstyle_box {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 30px;
  margin-bottom: 40px;
}
@media (min-width: 1001px) {
  .sub_recruit_workstyle .sb_workstyle_container .sb_workstyle_box {
    flex-direction: row;
  }
}
.sub_recruit_workstyle .sb_workstyle_container .sb_workstyle_box .workstyle_p {
  width: 100%;
  line-height: 1.8rem;
  font-size: 15px;
  color: #000;
}
@media (min-width: 1001px) {
  .sub_recruit_workstyle .sb_workstyle_container .sb_workstyle_box .workstyle_p {
    width: 544px;
  }
}
.sub_recruit_workstyle .sb_workstyle_container .sb_workstyle_box .workstyle_img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1001px) {
  .sub_recruit_workstyle .sb_workstyle_container .sb_workstyle_box .workstyle_img {
    width: 440px;
  }
}
.sub_recruit_workstyle .left_ttl .flexbox_fixed .line {
  display: block;
  width: 36px;
  height: auto;
}
@media (min-width: 1001px) {
  .sub_recruit_workstyle .left_ttl .flexbox_fixed .line {
    width: 76px;
  }
}
.sub_recruit_workstyle .left_ttl .flexbox_fixed .font_blue {
  font-size: clamp(28px, 3.6vw, 45px);
  text-align: left;
  font-weight: bold;
  line-height: 2.8rem;
}
.sub_recruit_workstyle .entry_btn_div {
  background-image: linear-gradient(90deg, #1e82db, #0b2a9c);
  width: 95%;
  height: 80px;
  border-radius: 59px;
  text-align: center;
  color: #fff;
  font-size: clamp(16px, 2.1vw, 28px);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0px auto;
  margin-top: 80px;
  cursor: pointer;
}
@media (min-width: 1001px) {
  .sub_recruit_workstyle .entry_btn_div {
    width: 569px;
    height: 118px;
  }
}
.sub_recruit_workstyle .entry_btn_div:hover {
  background-image: linear-gradient(90deg, #186FBC, #0B227A);
}

.mgr {
  margin-right: auto;
}

.mgl {
  margin-left: auto;
}

/* sb_contact_form section
======================================== */
.sb_contact_form .lg-inner .form_ul {
  margin-top: 35px;
  line-height: 2rem;
  list-style-image: url(../img/list_square.jpg) !important;
  margin-left: 1em;
}
.sb_contact_form .lg-inner .form_ul .form_li {
  line-height: 2rem;
}
.sb_contact_form .lg-inner .form_p {
  color: #FF1C1C;
  line-height: 2rem;
  margin-bottom: 120px;
}

.wpcf7 {
  width: 100%;
  margin: 0px auto;
  box-sizing: border-box;
}
@media (min-width: 1001px) {
  .wpcf7 {
    width: 900px;
  }
}

.wpcf7-form {
  width: 100%;
  margin: 0px auto;
  box-sizing: border-box;
}
@media (min-width: 1001px) {
  .wpcf7-form {
    width: 900px;
  }
}

.cf7_table {
  width: 100%;
  margin: 0px auto;
  box-sizing: border-box;
}
@media (min-width: 1001px) {
  .cf7_table {
    width: 900px;
  }
}
.cf7_table .cf7_tr {
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  line-height: 55px;
}
.cf7_table .cf7_tr .cf7_th {
  font-size: clamp(17px, 2.2vw, 25px);
  font-weight: bold;
  margin-bottom: 9px;
}
.cf7_table .cf7_tr .cf7_td {
  height: 55px;
  background: #EFEFEF;
  border: solid 1px #AEAEAE;
  padding-left: 5px;
}
.cf7_table .cf7_tr .cf7_td-txtarea {
  width: 100%;
  height: 335px;
  background: #EFEFEF;
  border: solid 1px #AEAEAE;
  padding-left: 5px;
}
.cf7_table .cf7_tr .td-textarea {
  width: 100%;
  height: 335px;
  background: #EFEFEF;
}

.privacy_box {
  width: min(95%, 900px);
  margin: 0px auto;
  overflow-wrap: break-word;
  line-height: 1.5rem;
  text-indent: -1em;
  margin-left: 1em;
}

.send_btn_div {
  width: min(95%, 569px);
  background-image: linear-gradient(90deg, #1e82db, #0b2a9c);
  border-radius: 110px;
  font-size: clamp(18px, 2.3vw, 28px);
  font-weight: bold;
  color: #ffffff;
  vertical-align: middle;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  margin-top: 54px;
  margin-bottom: 109px;
}
.send_btn_div .cf7_send {
  width: min(95%, 569px);
  height: 65px;
  text-align: center;
  padding: 40px;
  line-height: 1rem;
  vertical-align: center;
}

.wpcf7-list-item-label {
  overflow-wrap: break-word;
  width: min(100%, 900px);
  margin: 0px auto;
}

span.wpcf7-acceptance input,
span.wpcf7-acceptance .wpcf7-list-item-label {
  white-space: normal;
}

.wpcf7-text {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 1001px) {
  .wpcf7-text {
    width: 900px;
  }
}

.redspan {
  color: red;
}

.policy_desc {
  margin-top: 65px;
  margin-bottom: 65px;
  width: min(95%, 1020px);
  margin-left: auto;
  margin-right: auto;
}
.policy_desc .policy_desc_p {
  font-size: clamp(20px, 2.6vw, 27px);
  font-weight: bold;
  color: #141090;
  text-align: center;
  line-height: 2.7rem;
}

.policy_item {
  margin-top: 120px;
  margin-bottom: 122px;
}
.policy_item .policy_item_container .policy_item_box {
  width: 335px;
  height: 394px;
  position: relative;
  margin: 0px auto 30px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box {
    width: 1020px;
    height: 293px;
  }
}
.policy_item .policy_item_container .policy_item_box .policy_item_h3 {
  font-size: 20px;
  font-weight: bold;
  line-height: 2rem;
  position: absolute;
  top: 110px;
  left: 15px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box .policy_item_h3 {
    top: 70px;
    left: 320px;
  }
}
.policy_item .policy_item_container .policy_item_box .policy_item_p {
  font-size: 15px;
  line-height: 1.5rem;
  position: absolute;
  top: 220px;
  left: 15px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box .policy_item_p {
    top: 150px;
    left: 320px;
  }
}
.policy_item .policy_item_container .policy_item_box2 {
  width: 335px;
  height: 470px;
  position: relative;
  margin: 0px auto 30px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box2 {
    width: 1020px;
    height: 293px;
  }
}
.policy_item .policy_item_container .policy_item_box2 .policy_item_h3 {
  font-size: 20px;
  font-weight: bold;
  line-height: 2rem;
  position: absolute;
  top: 110px;
  left: 15px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box2 .policy_item_h3 {
    top: 70px;
    left: 320px;
  }
}
.policy_item .policy_item_container .policy_item_box2 .policy_item_p {
  font-size: 15px;
  line-height: 1.5rem;
  position: absolute;
  top: 220px;
  left: 15px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box2 .policy_item_p {
    top: 150px;
    left: 320px;
  }
}
.policy_item .policy_item_container .policy_item_box2 .policy_item_h3_2 {
  font-size: 20px;
  font-weight: bold;
  line-height: 2rem;
  position: absolute;
  top: 110px;
  left: 15px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box2 .policy_item_h3_2 {
    top: 50px;
    left: 320px;
  }
}
.policy_item .policy_item_container .policy_item_box2 .policy_item_ul_2 {
  font-size: 15px;
  line-height: 1.5rem;
  position: absolute;
  top: 200px;
  left: 15px;
  text-indent: -1em;
  margin-left: 1em;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box2 .policy_item_ul_2 {
    top: 100px;
    left: 320px;
  }
}
.policy_item .policy_item_container .policy_item_box2 .policy_item_p_2 {
  font-size: 15px;
  line-height: 1.5rem;
  position: absolute;
  top: 340px;
  left: 15px;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_item_box2 .policy_item_p_2 {
    top: 190px;
    left: 320px;
  }
}
.policy_item .policy_item_container .policy_back1 {
  background: url(../img/policy_itemback1_sp.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_back1 {
    background: url(../img/policy_itemback1.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.policy_item .policy_item_container .policy_back2 {
  background: url(../img/policy_itemback3_sp.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_back2 {
    background: url(../img/policy_itemback3.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.policy_item .policy_item_container .policy_back3 {
  background: url(../img/policy_itemback2_sp.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 1001px) {
  .policy_item .policy_item_container .policy_back3 {
    background: url(../img/policy_itemback2.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}

.subttl {
  width: 100%;
  height: 234px;
  display: flex;
  align-items: center;
}
.subttl .subttl_h3 {
  font-weight: bold;
  font-family: "Figtree", sans-serif;
  font-size: 30px;
  color: #fff;
  width: min(95%, 1020px);
  vertical-align: middle;
  margin: 0px auto;
}

.ms_back {
  background: url(../img/mission_ttl_back.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.vs_back {
  background: url(../img/vision_ttl_back.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.vl_back {
  background: url(../img/value_ttl_back.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.mission_container {
  width: min(95%, 1020px);
  margin: 50px auto;
  display: grid;
  gap: 25px 45px;
  grid-template-columns: 1fr;
}
@media (min-width: 1001px) {
  .mission_container {
    grid-template-columns: auto auto;
  }
}
.mission_container .mission_box {
  width: 100%;
  margin-top: 30px;
  margin-bottom: 45px;
}
.mission_container .mission_box .subttl2 {
  display: flex;
  flex-direction: row;
}
.mission_container .mission_box .subttl2 .arrow_right {
  display: block;
  width: 24px;
  height: auto;
}
.mission_container .mission_box .subttl2 h4 {
  font-weight: bold;
  color: #141090;
  font-size: clamp(20px, 2.6vw, 25px);
  padding-left: 8px;
}
.mission_container .mission_box p {
  font-size: 15px;
  line-height: 1.7rem;
  padding-top: 5px;
}
.mission_container .vs_box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center !important;
  gap: 60px;
}
@media (min-width: 1001px) {
  .mission_container .vs_box {
    flex-direction: row;
  }
}
.mission_container .vs_box .vs_txtbox {
  width: 100%;
  height: 134px;
}
@media (min-width: 1001px) {
  .mission_container .vs_box .vs_txtbox {
    width: 542px;
  }
}
.mission_container .vs_box .vs_txtbox h4 {
  font-weight: bold;
  font-size: 20px;
  padding-bottom: 30px;
}
.mission_container .vs_box .vs_txtbox p {
  font-size: 15px;
  line-height: 1.7rem;
}
.mission_container .vs_box .vs_imgbox {
  width: 100%;
  height: 322px;
}
@media (min-width: 1001px) {
  .mission_container .vs_box .vs_imgbox {
    width: 322px;
  }
}
.mission_container .vs_box .vs_imgbox .sub_vision_img {
  display: block;
  width: 322px;
  height: auto;
}
.mission_container .vl_box {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-bottom: 45px;
}
@media (min-width: 1001px) {
  .mission_container .vl_box {
    flex-direction: row;
    gap: 24px;
  }
}
.mission_container .vl_box .sub_vision_img {
  display: block;
  width: 100%;
  height: auto;
}
@media (min-width: 1001px) {
  .mission_container .vl_box .sub_vision_img {
    width: 177px;
  }
}
.mission_container .vl_box .vl_txtbox {
  width: 311px;
}
.mission_container .vl_box .vl_txtbox h4 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}
.mission_container .vl_box .vl_txtbox p {
  font-size: 15px;
  line-height: 1.5rem;
}

.history_summary .ht_h5 {
  font-size: clamp(20px, 2.6vw, 25px);
  color: #141090;
  font-weight: bold;
  margin-bottom: 15px;
}
.history_summary .vertical_bar1 {
  display: block;
  width: 6px;
  height: auto;
}
.history_summary .ht_dl .aifs {
  align-items: flex-start;
}
@media (max-width: 1000px) {
  .history_summary .ht_dl .aifs {
    margin-bottom: 40px;
  }
}
.history_summary .ht_dl .aifs dt {
  font-size: clamp(15px, 1.9vw, 20px);
  font-weight: bold;
  width: 120px;
  text-align: left !important;
}
.history_summary .ht_dl .aifs dd {
  font-size: clamp(15px, 1.9vw, 17px);
  text-align: left;
  flex-grow: 1;
  line-height: 1.7rem;
}

.overview_tablebox {
  width: min(95%, 816px);
  margin: 0px auto;
}
.overview_tablebox .overview_table {
  border-collapse: separate !important;
  border-spacing: 5px;
  border: solid 1px #141090;
  margin-bottom: 130px;
}
@media (max-width: 1000px) {
  .overview_tablebox .overview_table {
    border-spacing: 3px;
  }
}
.overview_tablebox .overview_table .overview_tr {
  height: 62px;
}
@media (min-width: 1001px) {
  .overview_tablebox .overview_table .overview_tr {
    height: 100px;
  }
}
.overview_tablebox .overview_table .overview_tr .overview_th {
  width: 71px;
  background: #141090;
  color: #fff;
  font-size: clamp(15px, 1.9vw, 20px);
  font-weight: bold;
  text-align: center;
  vertical-align: middle;
}
@media (min-width: 1001px) {
  .overview_tablebox .overview_table .overview_tr .overview_th {
    width: 200px;
  }
}
.overview_tablebox .overview_table .overview_tr .overview_td {
  vertical-align: middle;
  padding-left: 15px;
  font-size: clamp(15px, 1.9vw, 16px);
  padding-right: 15px;
  /*border-bottom: solid 2px #AFA8CD;*/
  position: relative;
  line-height: 1.5rem;
}
@media (min-width: 1001px) {
  .overview_tablebox .overview_table .overview_tr .overview_td {
    padding-left: 35px;
  }
}
@media (max-width: 1000px) {
  .overview_tablebox .overview_table .overview_tr .overview_td {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
.overview_tablebox .overview_table .overview_tr .overview_td::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background-color: #AFA8CD;
}
@media (max-width: 1000px) {
  .overview_tablebox .overview_table .overview_tr .overview_td::after {
    width: 100%;
  }
}

.border_n::after {
  content: none !important;
}

@media (min-width: 1001px) {
  .base_content {
    margin-bottom: -50px;
  }
}
.base_content .base_container1 .base_box {
  padding-bottom: 100px;
}
.base_content .base_container1 .base_box .basettl_box {
  display: flex;
  flex-direction: row;
}
.base_content .base_container1 .base_box .basettl_box .base_line {
  display: block;
  width: 7px;
  height: auto;
}
.base_content .base_container1 .base_box .basettl_box h4 {
  font-weight: bold;
  font-size: clamp(20px, 2.6vw, 28px);
  color: #000;
  line-height: 2.4rem;
  padding-left: 10px;
}
.base_content .base_container1 .base_box p {
  font-size: clamp(15px, 1.9vw, 20px);
  line-height: 2rem;
  margin-top: 10px;
  margin-bottom: 15px;
}
.base_content .base_container1 .base_box .base_map {
  display: block;
  width: 100%;
  height: auto;
  margin: 0px auto;
  margin-top: 10px;
  margin-bottom: 20px;
}
@media (min-width: 1001px) {
  .base_content .base_container1 .base_box .base_map {
    width: 489px;
  }
}

.baseback2 {
  background: #F7F7F7;
}