@charset "UTF-8";
/* +++++++++++++++++++++++++++++++++++++++++++++++
 * PC テーマスタイル
 * +++++++++++++++++++++++++++++++++++++++++++++++ */
/* config
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* +++++++++++++++++++++++++++++++++++++++++++++++
 *  全体調整用style
 * +++++++++++++++++++++++++++++++++++++++++++++++ */
html,
body {
  color: #212b36;
  font-size: inherit;
}
html a,
body a {
  text-decoration: none;
}
.contents_container {
  position: relative;
  overflow-x: hidden;
}
[id="contents"] {
  overflow: hidden;
}
.contents_wrap {
  position: relative;
  padding: 0 40px;
  max-width: 1200px;
  margin: auto;
  overflow: visible;
}
[id="body_shade"] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 9999;
  background-color: #fff;
}
[id="body_shade"]::before {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("../assets/images/loaders/rings.svg");
  background-size: contain;
  background-position: center;
  width: 100px;
  height: 100px;
  display: block;
  content: "";
}
[id="body_wrap"].is-loading {
  pointer-events: none;
  overflow: hidden;
  height: 100vh;
}
.home [id="main"],
.shop [id="main"] {
  min-height: inherit;
}
/* header
–––––––––––––––––––––––––––––––––––––––––––––––––– */
[id="header"] {
  z-index: 999;
}
.hd-logo {
  margin: 20px auto 0;
}
.hd-logo a {
  display: block;
  width: 220px;
}
.hd-logo img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
/* footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */
[id="footer"] {
  margin-top: 40px;
}
.ft {
  overflow: hidden;
  padding: 80px 0 0;
}
.ft a {
  color: #202121;
  text-decoration: none;
}
.ft-title {
  display: flex;
  align-items: center;
  margin: 0;
  width: 620px;
}
.ft-title_icon {
  margin-right: 10px;
}
.ft-title_name {
  font-size: 14px;
  letter-spacing: -0.1em;
}
.ft-title_name img {
  margin-left: 10px;
  margin-bottom: 6px;
}
.ft-office {
  display: flex;
  align-items: center;
  margin: 10px 0;
}
.ft-office_label {
  border: solid 1px #202121;
  height: 2.2em;
  line-height: 2.2em;
  padding: 0 20px;
  margin-right: 20px;
}
.ft-office_name {
  margin-right: 40px;
}
.ft-office_name h4 {
  font-size: 18px;
  margin: 0;
}
.ft-office_name span {
  font-size: 14px;
  font-weight: normal;
}
.ft-office_tel {
  font-weight: bold;
  font-size: 2rem;
}
.ft-office_wrap {
  padding: 0 20px;
}
.ft-office_address {
  font-size: 0.8rem;
}
.ft .copyright {
  text-align: center;
  margin: 0;
  padding: 30px 0;
  font-size: 10px;
  text-align: center;
  color: #666;
}
/* ページ上部へ */
.pageTop {
  position: fixed;
  bottom: 30px;
  right: 30px;
  font-size: 0;
  z-index: 999;
}
.pageTop a {
  position: relative;
  display: block;
  width: 70px;
  height: 70px;
  background-color: #e72835;
  border-radius: 50%;
}
.pageTop a::after {
  position: absolute;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-left: solid 4px #fff;
  border-top: solid 4px #fff;
  top: calc(50% - 8px);
  left: calc(50% - 12px);
  transform: rotate(45deg);
}
/* top
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.hr-block {
  padding: 80px 0;
}
.hr-block.theme {
  background-color: #2a5298;
}
.hr-block.theme_sub {
  background-color: #1e3c72;
}
.hr-block.theme_accent {
  background-color: #e72835;
}
.hr-block.bg-gray {
  background-color: #eee;
}
.top-visual {
  position: relative;
  overflow: hidden;
  display: block;
  padding-top: 660px;
  margin-bottom: 140px;
}
.top-visual_copy {
  position: absolute;
  height: 100%;
  width: 50%;
  top: 0;
  left: 0;
  background-color: #2a5298;
  color: #fff;
  z-index: 99;
}
.top-visual_copy-box {
  float: right;
  display: block;
  width: 500px;
  padding-right: 100px;
  margin-top: 30px;
  margin-right: 20px;
}
.top-visual_copy h2 {
  font-size: 4rem;
  line-height: 1.6;
}
.top-visual_img {
  position: absolute;
  top: 50%;
  right: -25%;
  transform: translate(0%, -50%);
  margin: auto;
  width: 100%;
}
.top-visual_img img {
  width: 100%;
  height: auto;
}
.top-visual .top-visual-slide {
  width: 100%;
  height: 100%;
  text-align: center;
}
.top-visual .top-visual-slide .swiper-slide {
  max-width: 1200px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-visual .top-visual-slide .swiper-wrapper {
  position: absolute;
  top: 0;
}
.modal-head {
  text-align: center;
  font-size: 2rem;
  line-height: 1.2;
  margin-top: 20px;
}
.modal-head span {
  display: block;
}
.modal-head span:last-child {
  font-size: 1rem;
}
.modal-body {
  padding: 20px;
  box-sizing: border-box;
  width: 600px;
}
.present {
  display: flex;
  flex-wrap: wrap;
  padding-right: 80px;
  margin-top: 40px;
}
.present-box {
  width: 33.33%;
  border: solid 4px #ea6172;
  margin-right: 40px;
}
.present-box:nth-of-type(3n) {
  margin-right: -80px;
}
.present-box_img img {
  width: 100%;
  height: auto;
}
.present-box_body {
  position: relative;
  padding-top: 80px;
}
.present-box_body .label {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  background-color: #ea6172;
  color: #fff;
  font-size: 3rem;
  width: 100px;
  height: 100px;
  line-height: 100px;
  border-radius: 50%;
}
.present-box_body .label span:last-child {
  font-size: 1.5rem;
}
.present-box_body .winner {
  text-align: right;
  margin: 20px;
}
.present-box_body .winner span {
  display: inline-block;
  color: #1f2c5c;
  vertical-align: text-bottom;
  line-height: 1;
}
.present-box_body .winner span:nth-of-type(1) {
  background-color: #1f2c5c;
  color: #fff;
  padding: 10px 30px;
  margin-right: 6px;
}
.present-box_body .winner span:nth-of-type(2) {
  font-size: 4rem;
  font-weight: bold;
  margin-right: 6px;
  vertical-align: baseline;
}
.present-box_body h3 {
  margin: 0;
  text-align: center;
  line-height: 1;
  font-size: 1.8rem;
}
.present-box_body h3 span {
  display: block;
  font-size: 1rem;
  margin-top: 10px;
}
.extra.present {
  padding: 0;
  margin-top: 40px;
}
.extra.present .present-box {
  display: flex;
  width: 100%;
  margin: 0;
  border-color: #04af7a;
}
.extra.present .present-box_img {
  width: 340px;
}
.extra.present .present-box_body {
  width: calc(100% - 340px);
}
.extra.present .present-box_body h3 {
  text-align: left;
  padding-left: 160px;
}
.extra.present .present-box_body .label {
  left: 80px;
  top: 20px;
  background-color: #04af7a;
}
.extra.present .present-box_body .label span {
  display: block;
  line-height: 1;
}
.extra.present .present-box_body .label span:first-child {
  margin-top: 16px;
}
.extra.present .present-box_body .label span:last-child {
  font-size: 1rem;
}
.extra.present .present-box .winner {
  position: absolute;
  bottom: 0;
  right: 0;
}
.point-text {
  color: #ea6172;
  font-weight: bold;
}
.simple-head {
  color: #1f2c5c;
  font-weight: bold;
  font-size: 1.2rem;
  margin: 40px auto 10px;
}
.ribbon-head {
  position: relative;
  color: #fff;
  background-color: #1f2c5c;
  text-align: center;
  font-size: 2rem;
  padding: 14px;
  margin: 80px auto 20px;
}
.ribbon-head::before,
.ribbon-head::after {
  position: absolute;
  display: block;
  content: "";
  background-image: url("../images/ribbon.svg");
  background-size: contain;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  width: 40px;
  height: 100%;
}
.ribbon-head::after {
  right: 0;
  top: 0;
  left: inherit;
  transform: scale(-1, 1);
}
.mybottle-link a {
  position: relative;
  display: block;
  width: 720px;
  background-color: #00a33e;
  color: #fff;
  border-radius: 10px;
  margin: 40px auto;
  text-align: center;
  padding: 10px 60px;
  transition: 0.3s;
}
.mybottle-link a:hover {
  opacity: 0.7;
}
.mybottle-link a::after {
  position: absolute;
  content: "";
  display: block;
  right: 1em;
  top: 50%;
  width: 20px;
  height: 20px;
  border-top: solid 4px #fff;
  border-right: solid 4px #fff;
  transform: translateY(-50%) rotate(45deg) skew(20deg, 20deg);
}
.mybottle-link_icon {
  width: 80px;
  height: 80px;
  text-align: center;
  margin-right: 20px;
  margin-left: -80px;
}
.mybottle-link_icon img {
  max-height: 100%;
}
.mybottle-link_icon,
.mybottle-link_txt {
  display: inline-block;
  vertical-align: middle;
}
.mybottle-link_icon span,
.mybottle-link_txt span {
  display: block;
  line-height: 1.2;
}
.mybottle-link_icon .main,
.mybottle-link_txt .main {
  font-size: 2rem;
}
.largepoint-list {
  list-style: none;
  padding: 0;
}
.largepoint-list li {
  position: relative;
  padding-left: 1.5em;
}
.largepoint-list li::before {
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  background-color: #202121;
  top: 0.5em;
  left: 0.5em;
  border-radius: 50%;
  content: "";
  display: block;
}
.largepoint-list ul {
  list-style: none;
  padding: 0;
}
.largepoint-list ul li::before {
  top: 0.75em;
  left: 0.75em;
  width: 0.25em;
  height: 0.25em;
}
.mybag-movies {
  border: solid 4px #bbb;
  padding: 20px;
  margin-top: 80px;
}
.mybag-movies h2 {
  background-color: #ea6172;
  color: #fff;
  text-align: center;
  border-radius: 30px;
  padding: 16px;
  font-size: 1.6rem;
  margin: 0 0 20px;
}
.mybag-movies .title {
  text-align: center;
  line-height: 1.4;
  margin-top: 10px;
}
.mybag-movies_wrap {
  display: flex;
  padding-right: 60px;
  margin-top: 40px;
}
.mybag-movies_box {
  width: 33.33%;
  margin-right: 30px;
}
.mybag-movies_box:last-child {
  margin-right: -60px;
}
.mybag-movies_thum a {
  position: relative;
  display: block;
}
.mybag-movies_thum a::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.3);
  transition: 0.3s;
}
.mybag-movies_thum a::after {
  position: absolute;
  content: url("../images/common/icon_play.png");
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}
.mybag-movies_thum a:hover::before,
.mybag-movies_thum a:hover::after {
  opacity: 0.5;
}
/* top グループ企業バナー */
.group-banner ul {
  display: flex;
  padding: 0 90px 0 0;
  list-style: none;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.group-banner ul li {
  width: 33.33%;
  margin-right: 40px;
}
.group-banner ul li:only-of-type {
  margin-right: -90px;
}
.group-banner ul li:nth-of-type(3n) {
  margin-right: -90px;
}
.group-banner ul li:nth-of-type(n+5) {
  margin-top: 20px;
}
.group-banner ul li a {
  display: block;
  border: solid 1px #9fa0a0;
  transition: opacity 0.3s;
}
.group-banner ul li a img {
  width: 100%;
  height: auto;
}
.group-banner ul li a:hover {
  opacity: 0.7;
}
/* contents
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* コンテンツパーツマージン */
.box {
  margin: 30px auto;
}
.theme-btn {
  margin: 80px auto;
  text-align: center;
}
.theme-btn a {
  display: inline-block;
  color: #2a5298;
  padding: 20px 40px;
  background-position: center center;
  text-decoration: none;
  transition: opacity 0.3s;
  background-color: #fff;
  border: solid 2px #2a5298;
  overflow: hidden;
  text-align: center;
  z-index: 99;
  border-radius: 6px;
  transition: 0.3s;
}
.theme-btn a:hover {
  color: #fff;
  background-color: #2a5298;
}
.bg-theme {
  position: relative;
  padding: 100px 0;
}
.bg-theme::after {
  position: absolute;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
  top: 0;
  background-color: #2a5298;
  z-index: -1;
}
.bg-theme_left::after {
  left: 0;
}
.bg-theme_right::after {
  right: 0;
}
.bg-sub {
  padding: 100px 0;
  background-color: #d2e0c7;
}
.bg-gray {
  padding: 100px 0;
  background-color: #f5f5f5;
}
.bg-white {
  padding: 100px 0;
  background-color: #fff;
}
.bg-white .head-a {
  color: #2a5298;
}
/* +++++++++++++++++++++++++++++++++++++++++++++++
 *  コンテンツパーツ
 * +++++++++++++++++++++++++++++++++++++++++++++++ */
/* 見出し系
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.head-a {
  position: relative;
  font-size: 2.2rem;
  text-align: center;
  padding-bottom: 20px;
  margin: 40px auto;
  color: #212b36;
}
.head-a span {
  display: block;
}
.head-a .accent {
  margin-top: 0.2rem;
  font-size: 1.4rem;
}
.head-a a {
  color: #212b36;
}
.head-b {
  margin: 0 auto 30px;
  font-size: 1.8rem;
  color: #212b36;
  text-align: left;
  padding: 10px 20px;
  border-bottom: solid 4px;
  background-color: #eaf6ff;
}
.head-c {
  margin: 40px auto;
  display: block;
  font-size: 1.4rem;
  padding: 10px;
  border-radius: 6px;
  text-align: center;
  background-color: #eaf6ff;
  color: #2a5298;
}
.head-d {
  font-size: 1.6rem;
  color: #2a5298;
}
.head-e {
  font-size: 1.4rem;
  color: #2a5298;
}
/* 各ページビジュアル */
.page-visual {
  position: relative;
  margin: 0 auto 60px;
  margin-left: -200%;
  margin-right: -200%;
  height: 340px;
  overflow: hidden;
}
.page-visual_img img {
  position: absolute;
  display: block;
  width: 100vw;
  min-width: 1220px;
  height: auto;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.page-visual_title {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
  padding: 10px 10px;
  z-index: 99;
}
.page-visual_title h1,
.page-visual_title h2 {
  color: #fff;
  font-size: 3rem;
  vertical-align: bottom;
  margin: 0;
}
.page-visual_title div {
  display: block;
  font-size: 2rem;
  margin-top: 0;
  color: #fff;
}
/* 各ページタイトル */
.page-border {
  position: relative;
  margin: 0 auto 60px;
  height: 140px;
  overflow: hidden;
  background-color: #1e3c72;
  background-image: url("../../images/common/page-border.jpg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.page-border_title {
  position: absolute;
  bottom: 50%;
  transform: translateY(50%);
  width: 100%;
  text-align: center;
  padding: 10px;
  z-index: 99;
}
.page-border_title .cms-easy-edit {
  max-width: 1200px;
  margin: 0 auto;
}
.page-border_title h1,
.page-border_title h2 {
  color: #2a5298;
  font-size: 28px;
  vertical-align: bottom;
  margin: 0;
}
.content-link {
  margin-bottom: 40px;
}
.content-link img {
  display: block;
  border: solid 1px #bbb;
}
.content-link h2 {
  text-align: center;
  font-size: 1.3em;
  color: #666;
}
.content-link a {
  color: #666;
  display: block;
  transition: 0.3s;
}
.content-link a:hover {
  opacity: 0.7;
}
.content-link.blank h2::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin: 0 5px;
  content: url("../assets/images/icon-blank_b.svg");
}
.content-link .attention {
  text-align: center;
  font-size: large;
  color: #2a5298;
}
.half-visuallink {
  display: flex;
  flex-wrap: wrap;
  padding-right: 60px;
  margin: 80px 0;
}
.half-visuallink_box {
  position: relative;
  width: 50%;
  margin-right: 60px;
}
.half-visuallink_box:nth-of-type(even) {
  margin-right: -60px;
}
.half-visuallink_text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
}
.half-visuallink_img img {
  width: 100%;
  height: auto;
}
.chart-box {
  margin: 60px auto;
  text-align: center;
}
.chart-box img {
  width: 600px;
  height: auto;
}
.merit-box {
  margin: 60px auto;
  padding: 40px;
  box-sizing: border-box;
  display: flex;
  border-radius: 40px;
  box-shadow: 0.2rem 0.6rem 2rem -1.2rem #000;
}
.merit-box_img {
  width: 35%;
}
.merit-box_body {
  padding-left: 40px;
}
.merit-box_body h3 {
  display: inline-block;
  color: #2a5298;
  font-size: 1.4rem;
  padding: 0 6px 6px;
  margin-top: 0;
  border-bottom: solid 6px #fff369;
}
.flow-list {
  margin: 40px auto 60px;
  padding: 40px;
  box-sizing: border-box;
  border-radius: 40px;
  box-shadow: 0.2rem 0.6rem 2rem -1.2rem #000;
}
.flow-list ol {
  list-style: none;
  padding: 0;
  margin: 0;
}
.flow-list ol li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
.flow-list ol li .circle {
  display: flex;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background-color: #2a5298;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0px;
  color: #fff;
  font-size: 1rem;
}
.flow-list ol li .text {
  width: calc(100% - 200px);
  padding-left: 60px;
}
.flow-list ol li:nth-of-type(odd) .circle {
  background-color: #0081cc;
}
.flow-list ol li::after {
  position: absolute;
  content: "";
  display: block;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 20px 20px 0 20px;
  border-color: #bbb transparent transparent transparent;
}
.flow-list ol li:last-child::after {
  display: none;
}
.flow-list .flow-list_link {
  margin: 20px 0;
  position: relative;
  display: inline-block;
  padding-right: 1em;
}
.flow-list .flow-list_link::after {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  border-right: solid 2px #0081cc;
  border-top: solid 2px #0081cc;
}
.features {
  margin-bottom: 140px;
}
.features .features01 .head-b {
  border-color: #008ec3;
  background-color: transparent;
}
.features .features01 .head-c {
  color: #008ec3;
  background-color: transparent;
}
.features .features02 .head-b {
  border-color: #0099a0;
  background-color: transparent;
}
.features .features02 .head-c {
  color: #0099a0;
  background-color: transparent;
}
.flavor-txt {
  margin: 40px 0;
  color: #00519e;
  font-size: 1.5rem;
  font-weight: bold;
}
/* 表組み系
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* デフォルトテーブル */
table {
  width: 100%;
  border-top: solid 1px #2a5298;
  border-right: solid 1px #2a5298;
}
table th,
table td {
  padding: 15px;
  background-color: #fff;
}
table th {
  background-color: #2a5298;
  color: #fff;
  border-left: solid 1px #2a5298;
  border-bottom: solid 1px #fff;
}
table td {
  text-align: left;
  border-left: solid 1px #2a5298;
  border-bottom: solid 1px #2a5298;
}
table tr:last-child th,
table tr:last-child td {
  border-bottom: solid 1px #2a5298;
}
/* 製品紹介テーブル */
.product-item {
  margin: 40px auto;
}
.product-item th,
.product-item td {
  padding-top: 10px;
  padding-bottom: 10px;
}
.product-item_name {
  margin: 0;
}
.product-item_name th {
  font-weight: normal;
  text-align: left;
  width: 200px;
}
.product-item_name th,
.product-item_name td {
  border-bottom: none;
}
.product-item_name a {
  color: #202121;
}
.product-item_icon {
  width: 400px;
}
.product-item_icon ul {
  margin: 0;
  padding: 0 10px;
  list-style: none;
}
.product-item_icon li {
  display: inline-block;
  width: 60px;
}
.product-item_icon li:nth-of-type(n+2) {
  margin-left: 0.5em;
}
.product-item_wrap {
  display: flex;
  margin: 0;
}
.product-item_detail {
  width: 720px;
}
.product-item_detail table {
  margin: 0;
  border-right: solid 1px #9fa0a0;
}
.product-item_detail th {
  font-weight: normal;
  text-align: left;
  width: 200px;
}
.product-item_detail td {
  border-right: none;
}
.product-item_detail .pdf-list {
  margin: 0;
}
.product-item_img {
  display: flex;
  border: solid 1px #9fa0a0;
  border-left: none;
  width: 400px;
  align-items: center;
  align-content: center;
  justify-content: center;
  text-align: center;
}
.product-item_img div {
  width: 100%;
  height: auto;
}
.product-item_img p {
  margin: 4px;
}
/* PDFダウンロードリスト */
.pdf-list ul {
  margin: 20px auto;
  padding: 0;
  list-style: none;
}
.pdf-list li:nth-of-type(n+2) {
  margin-top: 10px;
}
.pdf-list a {
  position: relative;
  display: block;
  text-decoration: none;
  color: #666;
  padding-left: 110px;
  transition: 0.3s;
}
.pdf-list a::before {
  position: absolute;
  left: 0;
  display: block;
  content: "";
  width: 100px;
  height: 22px;
  background: url("../../../images/common/pdf-list_icon.png");
  background-position: center center;
  background-size: cover;
}
.english .pdf-list a::before {
  background: url("../../../images/common/pdf-list_icon_en.png");
}
.pdf-list a:hover {
  opacity: 0.7;
}
/* 求人情報テーブル */
.recruitbord {
  display: inline-block;
  width: 50%;
  margin: 0 -0.3em 0 0;
  vertical-align: top;
}
.recruitbord_wrap {
  display: block;
  padding: 40px 15px 80px;
}
.recruitbord .head-a {
  margin-top: 0;
}
.recruitbord_box {
  padding: 20px;
  border: solid 1px #9fa0a0;
}
.recruitbord_box table {
  margin-top: 0;
  border: none;
  table-layout: fixed;
}
.recruitbord_box td,
.recruitbord_box th {
  border: none;
  border-bottom: solid 1px #9fa0a0;
  text-align: center;
}
.recruitbord_box td:nth-of-type(1),
.recruitbord_box th:nth-of-type(1) {
  width: 40%;
  text-align: left;
}
.recruitbord_box td:nth-of-type(2),
.recruitbord_box th:nth-of-type(2) {
  width: 15%;
}
.recruitbord_box td:nth-of-type(3),
.recruitbord_box th:nth-of-type(3) {
  width: 20%;
}
.recruitbord_box td:nth-of-type(4),
.recruitbord_box th:nth-of-type(4) {
  width: 25%;
}
.recruitbord_box a {
  position: relative;
  display: block;
  text-align: center;
  text-decoration: none;
  color: #666;
  transition: 0.3s;
}
.recruitbord_box a::after {
  position: absolute;
  content: "";
  width: 0.5em;
  height: 0.5em;
  display: block;
  border-top: solid 2px #e72835;
  border-right: solid 2px #e72835;
  top: calc(50% - 2px);
  right: 6px;
  transform: rotate(45deg) translateY(-50%);
  transition: 0.3s;
}
.recruitbord_box a:hover {
  color: #e72835;
}
.recruitbord_box a:hover::after {
  right: 0;
}
/* テーブル下線 */
.table_underborder {
  margin: 20px auto;
}
.table_underborder table {
  width: 100%;
}
.table_underborder th,
.table_underborder td {
  text-align: left;
  vertical-align: top;
  padding: 1em 0;
}
.table_underborder tr {
  border-bottom: solid 1px #9fa0a0;
}
/* 見出し＋テキスト（画像） */
.cont-image {
  display: block;
  margin: 80px auto;
}
.cont-image_head,
.cont-image_txt {
  width: 40%;
}
.cont-image_head {
  margin-top: 0;
}
.ct_right .cont-image_head {
  float: left;
}
.ct_left .cont-image_head {
  float: right;
}
.ct_left .cont-image_txt {
  float: right;
}
.cont-image_img {
  width: 60%;
}
.ct_right .cont-image_img {
  float: right;
  padding-left: 40px;
}
.ct_left .cont-image_img {
  float: left;
  padding-right: 40px;
}
.cont-image_img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
/* リンク系
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 各扉ページ用リンク（リストタイプ） */
.category-list {
  margin: 40px auto;
}
.category-list ul {
  display: flex;
  flex-wrap: wrap;
  padding: 0 80px 0 0;
  margin: 0;
  list-style: none;
}
.category-list ul li {
  width: 33.33%;
  margin-right: 40px;
}
.category-list ul li:nth-of-type(3n) {
  margin-right: -80px;
}
.category-list ul li:nth-of-type(n+4) {
  margin-top: 20px;
}
.category-list ul li a {
  position: relative;
  display: block;
  color: #202121;
  background-color: #1e3c72;
  text-decoration: none;
  padding: 6px;
  padding-right: 2em;
  border-bottom: solid 1px #9fa0a0;
}
.category-list ul li a::after {
  position: absolute;
  top: 50%;
  right: 10px;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px #e72835;
  border-right: solid 2px #e72835;
  transform: rotate(45deg) translate(-50%, 0%);
  transition: 0.3s;
}
.category-list ul li a:hover::after {
  right: 2px;
}
/* 各扉ページ用リンク（詳細タイプ） */
.detail-list_box {
  display: inline-block;
  width: 350px;
  vertical-align: top;
  margin: 20px 13px;
}
.detail-list_head {
  display: block;
  color: #202121;
  background-color: #1e3c72;
  text-decoration: none;
  padding: 6px 6px 6px 6px;
  border-bottom: solid 1px #9fa0a0;
}
.detail-list_body {
  padding: 10px;
}
.detail-list_body ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
.detail-list_body li {
  border-bottom: solid 1px #9fa0a0;
  margin-top: 10px;
}
.detail-list_body li:first-child {
  margin-top: 0;
}
.detail-list_body a {
  position: relative;
  display: block;
  padding: 4px 6px;
  text-decoration: none;
  color: #666;
  font-size: 0.8em;
}
.detail-list_body a::after {
  position: absolute;
  top: 50%;
  right: 10px;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px #e72835;
  border-right: solid 2px #e72835;
  transform: rotate(45deg) translate(-50%, 0%);
  transition: 0.3s;
}
.detail-list_body a:hover::after {
  right: 2px;
}
/* 各扉ページ用リンク（画像） */
.category-links {
  display: block;
  margin: 80px auto;
}
.category-links_head,
.category-links_txt {
  width: 40%;
}
.category-links_head {
  margin: 0 auto 30px;
  color: #2a5298;
  border-bottom: solid 1px #2a5298;
}
.category-links_head * {
  margin: 15px 0;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
  font-size: 30px;
}
.ct_right .category-links_head {
  float: left;
}
.ct_left .category-links_head {
  float: right;
}
.ct_left .category-links_txt {
  float: right;
}
.category-links_img {
  width: 60%;
}
.ct_right .category-links_img {
  float: right;
  padding-left: 60px;
}
.ct_left .category-links_img {
  float: left;
  padding-right: 60px;
}
.category-links_img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.category-links ul {
  list-style: none;
  padding: 0 30px;
}
.category-links li a {
  position: relative;
  display: inline-block;
  padding: 10px 30px;
  text-decoration: none;
  color: #666;
  width: 100%;
  transition: 0.3s;
  font-size: large;
}
.category-links li a::before {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 10px;
  border-right: solid 1px #666;
  border-bottom: solid 1px #666;
  width: 6px;
  height: 6px;
  transform: rotate(-45deg) translateY(-50%);
}
.category-links li a:hover {
  background-color: #c05486;
  color: #fff;
}
.category-links li a:hover::before {
  border-color: #fff;
}
.category-links li a[target="_blank"]::after {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 10px;
  content: url("../assets/images/icon-blank_b.svg");
}
.category-links li a[target="_blank"]:hover::after {
  content: url("../assets/images/icon-blank_w.svg");
}
.linkbtn a {
  border: solid 1px #212b36;
  background-color: #212b36;
  color: #fff;
  padding: 20px 100px;
  border-radius: 0;
}
.linkbtn a:hover {
  background-color: #fff;
  color: #212b36;
}
/* コンテンツパーツ系
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 全幅背景 */
.full-bg {
  margin: 0 auto 60px;
  padding: 20px 0 80px;
  margin-left: -200%;
  margin-right: -200%;
  background-color: #eee;
}
/* googlemap */
.g-maparea iframe {
  width: 100%;
  height: 600px;
  vertical-align: bottom;
}
/* EINS オリジナル共通パーツ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* 区切り線 */
.separater {
  padding: 30px 0;
  margin: 30px 0;
}
.separater:after {
  display: block;
  content: "";
  clear: both;
}
.separater .style1 {
  border: none;
  border-top: solid 1px #9fa0a0;
}
/* キャッチ文章 */
.textcopy {
  text-align: center;
  margin: 40px auto;
  color: #202121;
  font-size: 22px;
}
.textcopy-big {
  font-size: 26px;
}
.textcopy-theme {
  color: #2a5298;
}
.textcopy p {
  margin-top: 0.5em;
}
/* 画像原寸表示 */
.noattach-images {
  margin: 40px 0;
  text-align: center;
}
.noattach-images img {
  height: auto;
  max-width: 100%;
}
/* 横幅100%画像 */
.attached-images {
  margin: 40px 0;
  text-align: center;
}
.attached-images img {
  width: 100%;
  height: auto;
}
/* 画像 横並び */
.sbys-images {
  display: block;
  width: 100%;
  letter-spacing: -0.5em;
  margin: 40px 0;
}
.sbys-images.block2 {
  padding-right: 40px;
}
.sbys-images.block3 {
  padding-right: 80px;
}
.sbys-images.block4 {
  padding-right: 120px;
}
.sbys-images_box {
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
}
.block2 .sbys-images_box {
  width: 50%;
  margin-right: 40px;
}
.block2 .sbys-images_box:nth-of-type(2n) {
  margin-right: -40px;
}
.block3 .sbys-images_box {
  width: 33.33%;
  margin-right: 40px;
}
.block3 .sbys-images_box:nth-of-type(3n) {
  margin-right: -80px;
}
.block4 .sbys-images_box {
  width: 25%;
  margin-right: 40px;
}
.block4 .sbys-images_box:nth-of-type(4n) {
  margin-right: -120px;
}
.sbys-images_img {
  text-align: center;
}
.sbys-images_img img {
  height: auto;
  max-width: 100%;
  vertical-align: bottom;
}
.sbys-images_txt {
  letter-spacing: normal;
  text-align: center;
  margin-top: 0.5em;
}
/* 画像 横並び（1パーツ） */
.imgbox {
  display: inline-block;
  vertical-align: top;
  margin: 0 -0.3em 0 0;
}
.imgbox.block2 {
  width: 50%;
}
.imgbox.block3 {
  width: 33.33%;
}
.imgbox.block4 {
  width: 25%;
}
.imgbox_wrap {
  padding: 15px;
}
.imgbox_img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.imgbox_txt {
  margin-top: 0.5em;
  font-size: medium;
}
.imgbox_txt p ~ p {
  margin-top: 0;
}
.imgbox a {
  color: #666;
  text-decoration: none;
}
/* 画像3列余白無し */
.set3images {
  display: flex;
  margin: 60px auto;
}
.set3images_box {
  width: 33.33%;
}
.set3images_img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
/* 通常テキスト */
.normal-txt {
  margin: 20px 0 40px;
}
/* テキストインデント */
.text-indent {
  text-align: justify;
  padding-left: 1em;
  text-indent: -1em;
}
/* リンクボタン（増減可） */
.linkbutton {
  display: inline-block;
  width: 50%;
  margin: 0 -0.3em 0 0;
}
.linkbutton_wrap {
  padding: 20px;
}
.linkbutton a {
  position: relative;
  display: block;
  font-size: 18px;
  text-align: center;
  color: #666;
  border: solid 1px #666;
  background-color: #fff;
  text-decoration: none;
  padding: 20px 15px;
  border-radius: 10px;
  transition: 0.3s;
}
.linkbutton a:hover {
  background-color: #f6f6f6;
  border-color: #212b36;
  color: #212b36;
}
.linkbutton a:after {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  display: block;
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
}
.blank.linkbutton a:after {
  border: none;
  background-image: url("../assets/images/icon-blank_b.svg");
  width: 1em;
  height: 1em;
  background-size: contain;
  background-repeat: no-repeat;
  transform: translateY(-50%);
}
.linkbutton.gray a {
  color: #fff;
  border: solid 1px #666;
  background-color: #666;
}
.linkbutton.gray a:hover {
  background-color: #fff;
  border-color: #666;
  color: #666;
}
/* リンクボタン ベベルタイプ（赤・緑） */
.linkbutton_ledge {
  margin: 40px auto;
}
.linkbutton_ledge a {
  position: relative;
  display: block;
  margin: 0 auto;
  height: 60px;
  text-align: center;
  text-decoration: none;
  transform: translateY(-4px);
  margin-top: 4px;
  font-size: 18px;
  color: #fff;
  border-radius: 6px;
}
.linkbutton_ledge a span {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 15px;
  border-radius: 6px;
  z-index: 1;
}
.linkbutton_ledge a::before {
  position: absolute;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 4px #fff;
  border-right: solid 4px #fff;
  z-index: 10;
  top: calc(50% - 9px);
  right: 20px;
  transform: rotate(45deg);
}
.linkbutton_ledge a::after {
  position: absolute;
  display: block;
  content: "";
  bottom: -4px;
  width: 100%;
  height: 100%;
  border-radius: 6px;
}
.linkbutton_ledge a:active {
  transform: translateY(0);
  background-color: #fff;
}
.linkbutton_ledge a:active::after {
  bottom: 0;
}
.linkbutton_ledge .pdf-icon::before {
  border: none;
  width: 26px;
  height: 30px;
  background-image: url("images/pdf-icon_w.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  top: calc(50% - 16px);
  transform: rotate(0deg);
}
.linkbutton_ledge .middle {
  width: 260px;
}
.linkbutton_ledge .large {
  width: 360px;
}
.linkbutton_ledge .red span {
  background-color: #d84914;
}
.linkbutton_ledge .red::after {
  background-color: #ab3707;
}
.linkbutton_ledge .green span {
  background-color: #3c7639;
}
.linkbutton_ledge .green::after {
  background-color: #275423;
}
