/*
Theme Name: kyowa-cargo
Template: law_tcd031
*/

@charset "utf-8";


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
a:hover {
  text-decoration: none;
}

body {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 17px;
}

h1,
h2,
h3,
h4 {
  font-family: 'Noto Sans JP', sans-serif !important;
}

#main_contents3 {
  padding: 0 0 60px 0;
}

/* ロゴ */
#logo_image {
  left: 2.14% !important;
  top: 40px !important;
}

/* 電話番号 */
#header_tel_contact #header_contact a:hover {
  opacity: 0.6;
}

/* メイン画像 */
#main_image img {
  height: 21.4vw;
  object-fit: cover;
}

#main_image.recruit_image img {
  height: auto;
}

.slick-next.slick-arrow,
.slick-prev.slick-arrow {
  display: none !important;
}

.page-id-11 #main_image_headline {
  display: flex !important;
  height: 100%;
  align-items: center;
  text-align: center;
  font-size: 35px;
  font-family: unset;
}

#main_image h1 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background: rgba(0, 0, 0, 0.35);
  color: white;
  font-size: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */

/* スライダー */
#top_slider {
  width: 100%;
  height: auto;
  margin: 0;
  position: relative;
  background: #fff;
}

#top_slider.slick-initialized {
  margin-top: -1px;
}

#top_slider p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  color: white;
  width: 100%;
  font-size: 34px;
  line-height: 50px;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  background: rgba(0, 0, 0, 0.4)
}

#index_content1_top {
  width: unset;
  top: 0;
}

/* スライダーの下のコンテンツ */
#index_content1_top .headline {
  text-align: center;
  font-size: 24px;
  color: white;
  margin: 0;
  font-weight: bold;
}

#index_content1_top .box {
  width: 33.33333%;
  height: 450px;
}

#index_content1_top .box:hover {
  background: white;
  letter-spacing: 0.15em;
  transition: 0.5s;
}

#index_content1_top .box:hover .vertical_writing,
#index_content1_top .box:hover .headline,
#index_content1_top .box:hover .desc {
  color: #3B9383;
}

#index_content1_top .box2 {
  border-left: 1px solid white;
  border-right: 1px solid white;
}

#index_content1_top .box .vertical_writing {
  color: white;
  text-orientation: mixed;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin-left: 25px;
  padding-top: 20px;
  font-size: 15px;
  font-weight: bold;
  height: 69px;
}

#index_staff_list .title {
  font-size: 24px;
  text-align: center;
  margin: 30px 0;
}

#index_staff_list .desc {
  display: none;
}

#index_content1_top .mask {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  -webkit-transform: scale(1.5);
  -moz-transform: scale(1.5);
  -o-transform: scale(1.5);
  -ms-transform: scale(1.5);
  transform: scale(1.5);
  -webkit-transition: all .45s ease-out;
  -moz-transition: all .45s ease-out;
  -o-transition: all .45s ease-out;
  -ms-transition: all .45s ease-out;
  transition: all .45s ease-out;
  -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: alpha(opacity=0);
  opacity: 0;
}

@-webkit-keyframes fadein {
  0% {
    opacity: 0;
    margin-top: 0;
    margin-left: -10%;
    height: 0;
  }

  25% {
    opacity: .5;
    height: 100%;
  }

  100% {
    opacity: 1;
  }
}

@-moz-keyframes fadein {
  0% {
    opacity: 0;
    margin-top: -30%;
    margin-left: -10%;
    height: 0;
  }

  25% {
    opacity: .5;
    height: 100%;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadein {
  0% {
    opacity: 0;
    margin-top: -30%;
    margin-left: -10%;
    height: 0;
  }

  25% {
    opacity: .5;
    height: 100%;
  }

  100% {
    opacity: 1;
  }
}

#index_content1_bottom {
  margin: 0 auto 30px;
}

/* 弁護士一覧 */
#index_staff_head,
#index_head {
  width: 100%;
  height: 70px;
  background: #222439;
}

#index_staff_head_inner,
#index_head_inner {
  width: 1200px;
  margin: 0 auto;
  position: relative;
}

#index_staff_headline,
#index_headline {
  font-size: 30px;
  display: inline-block;
  font-weight: 400;
  padding: 20px 0;
  margin: 0;
  color: #fff;
  vertical-align: middle;
}

#index_staff {
  background: #E6EDE8;
  display: flex;
  justify-content: center;
  padding: 100px 0;
}

#index_staff .title {
  margin-right: 100px;
  margin-top: 20px;
  width: 190px;
}

#index_staff .title h2 {
  color: #3B9383;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: center;
  margin: 0 auto 70px;
  font-weight: 500;
}

#index_staff .title a {
  color: #3B9383;
  width: 160px;
  padding: 10px;
  text-align: center;
  display: block;
  background: white;
  border-radius: 50px;
  font-size: 17px;
  margin: auto;
}

#index_staff #index_staff_inner {
  width: 940px;
  margin: 0;
}

#index_staff_list a.link {
  position: relative;
  width: 95%;
  margin: 0 auto;
  overflow: hidden;
  padding: 0;
  background: #fff;
  border: none;
  height: unset;
}

#index_staff_list .image {
  display: block;
  margin: 0;
  background: white url(img/common/loader.gif) no-repeat center;
  width: unset;
  height: unset;
}

#index_staff_list .recruit_box {
  padding: 20px;
}

#index_staff_list .recruit_box .category {
  font-size: 15px;
  background: #3B9383;
  color: white;
  padding: 5px;
  width: fit-content;
}

#index_staff_list .recruit_box .heading_title {
  color: #3B9383;
  margin-top: 10px;
  font-size: 17px;
  line-height: 150%;
}

#index_staff_list .image img {
  height: unset;
  display: block;
  width: 100%;
}

#index_staff_list .link:hover .recruit_box .category {
  color: #3B9383;
  background: white;
  transition: 1.0s;
}

#index_staff_list .link:hover .recruit_box .heading_title {
  color: white;
  transition: 1.0s;
}

/* ----------------------------------------------------------------------
 弁護士
---------------------------------------------------------------------- */
#staff_archive .desc_area .desc,
#interview_archive .desc_area .desc {
  margin: 0 0 60px 0;
}

#staff_archive .desc_area .desc p,
#interview_archive .desc_area .desc p {
  line-height: 220%;
  font-size: 14px;
  text-align: center;
}

#archive_staff_list {
  margin: 0 0 150px 0;
}

#archive_staff_list .link,
#archive_interview_list .link {
  padding: 15px;
  background: #EEEEEE;
  display: block;
  text-decoration: none;
  color: #333;
}

#archive_staff_list .link:hover,
#archive_interview_list .link:hover {
  background: #3B9383;
  color: #fff;
}

#archive_staff_list .title,
#archive_interview_list .title {
  font-size: 18px;
  margin: 18px 0 28px 3px;
  display: block;
  font-weight: bold;
}

#archive_staff_list .desc,
#archive_interview_list .desc {
  height: 65px;
  margin-left: 3px;
  overflow: hidden;
}

#archive_staff_list .desc p,
#archive_interview_list .desc p {
  line-height: 180%;
  font-size: 11px;
}

/* ----------------------------------------------------------------------
 CSSカスタマイズ
---------------------------------------------------------------------- */
/* スマートフォンクラス非表示 */
.sp-disp {
  display: none;
}

h2.top_title {
  font-size: 30px;
  line-height: 150%;
  text-align: center;
  margin-top: 70px;
}

.top_image {
  width: 200px;
  margin: 80px auto 0;
  display: block;
}

#index_content1_top .image {
  margin: 0 auto 40px;
}

#index_content1_top .box1 .image {
  background: url(/wp-content/uploads/2023/01/company.png) no-repeat center !important;
  background-size: contain !important;
  width: 120px;
}

#index_content1_top .box2 .image {
  background: url(/wp-content/uploads/2023/01/recruit.png) no-repeat center !important;
  background-size: contain !important;
  width: 90px;
}

#index_content1_top .box3 .image {
  background: url(/wp-content/uploads/2023/01/service.png) no-repeat center !important;
  background-size: contain !important;
  width: 120px;
}

#index_content1_top a {
  width: 75%;
  margin: auto;
}

#index_content1_top .desc {
  line-height: 180%;
  margin: 0;
  font-size: 15px;
  max-height: none;
  color: white;
  margin-top: 20px;
}

#index_news {
  padding: 60px 0 0;
  width: 72.5%;
}

#index_news div.title {
  text-align: center;
}

#index_news div.title p {
  color: #3B9383;
  font-weight: bold;
}

#index_news div.title h2 {
  font-size: 35px;
  margin-bottom: 60px;
  margin-top: 20px;
  color: #333333;
}

#index_news li {
  float: unset;
  width: unset;
  background-image: linear-gradient(to right, #3B9383, #3B9383 5px, transparent 5px, transparent 8px);
  background-size: 8px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  padding: 20px;
  margin: 0;
}

#index_news li:first-child {
  background-image:
    linear-gradient(to right, #3B9383, #3B9383 5px, transparent 5px, transparent 8px),
    /* 上の線 */
    linear-gradient(to left, #3B9383, #3B9383 5px, transparent 5px, transparent 8px);
  /* 下の線 */
  background-size:
    8px 1px,
    /* 上の線 */
    8px 1px;
  /* 下の線 */
  background-position:
    left top,
    /* 上の線 */
    right bottom;
  /* 下の線 */
  background-repeat:
    repeat-x,
    /* 上の線 */
    repeat-x;
  /* 下の線 */
}

#index_news li a.image {
  width: 110px;
  height: 110px;
}

#index_news li .date {
  margin-top: 20px;
  color: #3B9383;
  margin-bottom: 10px;
}

#index_news li .date .entry-date {
  font-size: 17px;
  font-weight: 500;
}

#index_news li .title {
  color: #333333;
  font-size: 17px;
}

#index_news a.link {
  margin: 60px auto;
  width: 155px;
  color: white;
  border-radius: 50px;
  background: #3B9383;
  text-align: center;
  padding: 15px;
  display: block;
  font-size: 17px;
}

#index_staff_list .slick-prev,
#index_staff_list .slick-next {
  display: none !important;
}

.job_offer {
  background: #3B9383;
}

.job_offer h3 {
  text-align: center;
  padding-top: 100px;
  padding-bottom: 60px;
  font-size: 35px;
  color: white;
}

.footer_menu {
  width: 200px;
  margin-bottom: 0;
}

#footer_menu {
  display: flex;
  justify-content: space-between;
  padding: 60px;
  margin: 0;
  padding-bottom: 0;
}

#footer_menu .footer_menu_address {
  position: relative;
}

#footer_menu .footer_menu_address p {
  line-height: 24px;
  font-size: 14px;
  margin-top: 20px;
}

#footer_menu .footer_menu_address img {
  margin-left: -10px;
  width: 345px;
}

#footer_menu .footer_menu_link {
  display: flex;
  font-size: 16px;
  font-weight: bold;
}

#footer_menu .footer_menu_link div {
  margin-right: 60px;
}

#footer_menu .footer_menu_link div:last-child {
  margin: 0;
}

#footer_menu .footer_menu_link div a {
  display: block;
  color: #333333;
}

#footer_menu .footer_menu_link div a:not(:first-child) {
  margin-top: 40px;
}

#footer_menu .footer_menu_link div ul {
  margin-top: 20px;
}

#footer_menu .footer_menu_link div ul li {
  font-size: 14px;
  margin-top: 15px;
  font-weight: normal;
}

#footer_menu .footer_menu_link div ul li a span {
  color: #acacad;
  font-size: 11px;
  margin-right: 5px;
}

#footer_menu .footer_menu_address .certification_mark {
	margin-top: 16px;
}

#footer_menu .footer_menu_address .certification_mark img {
	width: auto;
  height: 80px;
  margin: 0;
  margin-right: 10px;
}

body .copyright {
  margin: 60px 0;
  text-align: center;
}

body #footer_top {
  background: white !important;
  border-bottom: 0.5px solid #3B9383;
  font-weight: bold;
  display: none;
}

.footer_menu a {
  font-size: 15px;
  color: #333333 !important;
}

#footer_top_inner {
  width: unset;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 35px 0;
}

#footer_bottom,
#index_content1_top .mask,
#footer_top_inner .clearfix::after,
#footer_top_inner .clearfix::before {
  display: none;
}

#footer_menu .footer_menu_address .footer_sns_icon {
  display: flex;
  margin-top: 35px;
}

#footer_menu .footer_menu_address .footer_sns_icon img {
  margin: 0 5px;
  width: 30px;
}

.footer_menu li#menu-item-76 {
  margin-bottom: 5px;
}

#header {
  border-bottom: none;
}

#header_inner {
  width: unset;
  height: 200px;
}

#logo_image {
  left: 4%;
}

.header_sns {
  display: flex;
}

.header_sns img {
  margin: 0 5px;
  width: 50px;
}

#header_contact a {
  background: #ED1C23;
  padding: 0px 20px 0;
  font-size: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  font-weight: bold;
}

#header_tel_contact li {
  margin: 0;
}

#header_tel_contact li#header_contact {
  margin-left: 30px;
  margin-right: 10px;
}

#header_tel p {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 10px;
}

#header_tel span {
  font-size: 14px;
  letter-spacing: 0.5px;
}

#header_tel span.label img {
  width: 20px;
}

#header_tel span.number {
  font-size: 32px;
  font-family: unset;
  margin-left: 5px;
  font-weight: bold;
  letter-spacing: unset;
}

#header_tel_contact {
  display: flex;
  align-items: center;
  right: 2.42%;
  top: 35px;
}

/* プラグイン調整 */
#mysticky-nav {
  opacity: 0;
}

#mysticky-wrap {
  height: unset !important;
}

.global_menu_fade .d_flex {
  height: 75px;
  background: #3B9383;
  justify-content: space-between;
  align-items: center;
  width: 95% !important;
  margin: auto;
}

.global_menu_fade .logo img {
  width: 270px;
}

.global_menu_fade .link {
  display: flex;
  align-items: center;
}

.global_menu_fade .link ul.first_block {
  display: flex;
  align-items: center;
}

.global_menu_fade .link ul {
  height: 75px;
}

.global_menu_fade .link ul li {
  width: 120px;
  position: relative;
}

.global_menu_fade .link ul li a:hover ul {
  display: block;
}

.global_menu_fade .link ul li ul.sub-menu a {
  width: 120px;
  font-size: 13px;
  text-align: center;
}

.global_menu_fade .link a {
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 15px;
  font-weight: bold;
  font-family: 'Noto Sans JP', sans-serif !important;
  height: 75px;
}

.global_menu_fade .link div.contact a {
  width: 173px;
  height: 40px;
  font-size: 13px;
  background: #ed1c23;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 0;
}

.global_menu_fade .link div.contact a:hover {
  background: #282C45;
  opacity: 0.6;
}

.global_menu {
  width: 100%;
}

.global_menu>ul {
  background: #3B9383;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 75px;
}

body .global_menu ul li a:hover {
  background-color: white !important;
  color: #265B4B !important;
}

.global_menu>ul>li {
  width: 200px;
}

.global_menu>ul>li a {
  color: white;
  font-size: 15px;
  font-weight: bold;
  height: 75px;
  line-height: 75px;
}

.global_menu ul ul,
.global_menu ul ul li {
  width: 100%;
}

.global_menu ul ul {
  top: 75px;
}

.global_menu ul ul a {
  height: 75px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
}

body #index_staff_head,
#index_head {
  background: #F87478 !important;
  position: relative;
  width: 99%;
}

body #index_staff_head.index_staff_head_footer {
  background: linear-gradient(#338475, #265B4B) !important;
  width: 100%;
}

#index_head .index_head_shadow,
#index_staff_head .index_head_shadow {
  width: 100%;
  background: #833838;
  position: absolute;
  height: 70px;
  top: 6px;
  right: -1%;
  z-index: -1;
}

#index_staff_head_inner,
#index_head_inner {
  width: 88.8%;
  padding: 0 20px;
  font-family: unset !important;
  /* background: #0199A0; */
  margin: auto;
  margin-bottom: 50px;
}

#index_staff_head_inner .link_button {
  background: #F87478;
  color: white;
  padding-right: 0;
  padding-left: 20px;
  font-size: 16px;
  line-height: 35px;
  height: 35px;
  width: 230px;
  text-align: left;
  top: 17.5px;
  right: 20px;
  border: 1px solid white;
  overflow: hidden;
}

#index_staff_head_inner .link_button::before {
  content: "";
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-color: white !important;
  transition: 0.5s;
}

#index_staff_head #index_staff_head_inner .link_button:hover {
  color: #F87478;
  background-color: unset !important;
  background: unset !important;
  z-index: 1;
}

#index_staff_head_inner .link_button:hover::before {
  left: 0;
  background-color: white;
}

#index_staff_head_inner .blog_link {
  display: flex;
  justify-content: space-between;
  padding-right: 2px;
}

.home #index_staff_head_inner .blog_link p {
  font-size: 16px;
}

.recruit_top,
.interview_top {
  margin-top: 60px;
}

.recruit_top_content {
  display: flex;
  text-align: center;
  justify-content: center;
  margin-top: 60px;
  font-size: 18px;
}

.recruit_top_content div {
  width: 450px;
  padding: 0 30px;
}

.recruit_top_content div:nth-child(1) {
  margin-right: 25px;
}

.recruit_top_content div:nth-child(2) {
  margin-left: 25px;
}

.recruit_content div h4 {
  font-size: 19px;
}

.recruit_content {
  display: flex;
  text-align: center;
  margin: auto;
  justify-content: center;
  padding-bottom: 120px;
}

.recruit_content p {
  font-size: 16px;
}

.recruit_content div {
  background: white;
  width: 460px;
  padding: 30px 50px;
}

.recruit_content div:first-child {
  margin-right: 40px;
}

.recruit_content .box {
  margin: 30px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.recruit_content .box img {
  width: 27px;
  margin-right: 5px;
}

.recruit_content .box_right img {
  width: 23px;
  margin-right: 20px;
}

.recruit_content .box:hover {
  text-decoration: none;
  opacity: 0.8;
}

.recruit_content .box div {
  font-size: 40px;
  color: #265B4B;
}

.recruit_content .box_right div {
  padding-top: 30px;
  font-size: 32px;
  font-weight: 500;
}

.recruit_content .box_right p {
  color: white;
}

.recruit_content .box_left p {
  font-size: 42px;
  color: #333333;
  font-weight: bold;
}

.recruit_content .box_right {
  border-radius: 50px;
  background: #F18B00;
  width: 380px;
  margin: 30px auto 25px;
  padding: 15px;
}

/* ----------------------------------------------------------------------
 固定ページのCSS
---------------------------------------------------------------------- */
.d_flex {
  display: flex;
}

.justify_content_between {
  justify-content: space-between;
}

.justify_content_around {
  justify-content: space-around;
}

.justify_content_center {
  justify-content: center;
}

.sub_title {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 80px;
  margin-top: 60px;
}

.sub_title .box {
  width: 30px;
  height: 30px;
  background-color: #01A08D;
  z-index: 1;
  margin-top: -10px;
  margin-right: -5px;
  margin-left: 20px;
}

.sub_title .box_shadow {
  width: 30px;
  height: 30px;
  background-color: #00715C;
  margin-left: -10px;
  margin-bottom: -10px;
  margin-right: 20px;
}

.w_40 {
  width: 40% !important;
}

.w_45 {
  width: 45% !important;
}

.w_50 {
  width: 50% !important;
}

.w_30 {
  width: 30%;
}

.mt_30 {
  margin-top: 30px;
}

.ml_30 {
  margin-left: 30px;
}

.mb_30 {
  margin-bottom: 30px;
}

.mt_50 {
  margin-top: 50px;
}

.mb_50 {
  margin-bottom: 50px;
}

.ml_50 {
  margin-left: 50px;
}

.pt_30 {
  padding-top: 30px;
}

.pb_30 {
  padding-bottom: 30px;
}

.pt_50 {
  padding-top: 50px;
}

.pb_50 {
  padding-bottom: 50px;
}

.obj_right {
  object-position: right;
}

.text_right {
  text-align: right;
}

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

.weight_normal {
  font-weight: normal !important;
}

.font_18 {
  font-size: 18px !important;
  line-height: 22px;
}

img {
  width: 100%;
  object-fit: cover;
}

.position_relative {
  position: relative;
}

.text_center {
  text-align: center;
}

.breadcrumb {
  width: 90%;
  margin: 25px auto 50px;
  min-width: 1200px;
  font-weight: bold;
}

.page-id-15 .breadcrumb {
  display: none;
}

.breadcrumb a {
  color: #333333;
}

.main_contents {
  width: 1200px;
  margin: auto;
}

.home .main_contents {
  width: unset;
}

.main_contents div h1 {
  text-align: center;
  font-size: 48px;
  color: #347D66;
  margin-top: 50px;
  margin-bottom: 50px;
}

.main_contents div h2 {
  text-align: center;
  font-size: 40px;
  color: #347D66;
  margin-top: 30px;
  margin-bottom: 30px;
}

.main_contents div div h3 {
  font-size: 32px;
  color: #347D66;
}

.main_contents div p {
  font-size: 17px;
  letter-spacing: 1px;
  line-height: 120%;
}

/* サービス紹介 */
.business,
.works {
  width: 100% !important;
}

.business h1,
.business h2,
.business h3 {
  font-family: "Noto Sans JP";
}

.business h2 {
  margin-top: 0 !important;
  text-align: left !important;
  font-size: 50px !important;
}

.business h3 {
  text-align: center;
  margin: 30px 0;
}

.business div p {
  font-size: 17px !important;
  text-align: center;
  margin-top: 30px;
}

.business .contents_top .page_top {
  width: 1200px;
  margin: auto;
  margin-bottom: 100px;
}

.business .contents_top .page_top .service_introduction {
  margin: 0px 120px !important;
  justify-content: space-between;
}

.business .contents_top .page_top .service_introduction a {
  width: 100% !important;
  position: relative;
  display: block;
}

.business .contents_top .page_top .service_introduction a:hover {
  opacity: 0.6;
}

.business .contents_top .page_top .service_introduction a img.scroll_img {
  border-radius: 50%;
  width: 286.2146px;
  height: 286.2146px !important;
  border: dashed 1px #3b9383;
  padding: 10px;
}

.business .contents_top .page_top .service_introduction div p {
  font-size: 25px !important;
}

.business .contents_top .service_introduction_color {
  background-color: #E6EDE8;
  padding: 88px 0px 170px;
  width: 100%;
  margin-top: 30px;
}

.business .contents_top .service_introduction_color .service_introductio_area {
  width: 1100px;
  margin-top: 80px !important;
  background-color: #fff;
  margin: auto;
  padding: 30px 30px;
  border-radius: 42px;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_title {
  width: 142px;
  writing-mode: vertical-rl;
  font-size: 50px;
  float: left;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_title .introductio_english_title {
  font-size: 25px !important;
  font-weight: normal;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main {
  width: 783px;
  margin-left: 278px;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main h3.sub_title {
  padding-left: 30px;
  font-size: 25px !important;
  padding-left: 30px;
  height: 64px;
  background-color: #3B9383;
  color: #ffffff !important;
  justify-content: left;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main .warehouse_main_img {
  width: 583px;
  height: 443px;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main .warehouse_img {
  width: 180px;
  height: 137px;
  margin-bottom: 14px;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main .introductio_cmt {
  margin-top: 100px;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main p.introductio_text {
  text-align: left !important;
  font-size: 17px !important;
  line-height: 30px !important;
  margin-bottom: 60px;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main .table_title {
  color: #333333 !important;
  font-size: 25px !important;
  text-align: left !important;
  background-image: linear-gradient(to right, #3B9383, #3B9383 5px, transparent 5px, transparent 8px);
  background-size: 8px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  padding-bottom: 30px;
  margin-top: -20px !important;
  font-weight: normal !important;
  margin-bottom: 0 !important;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main table {
  margin-bottom: 70px;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main table .table_col {
  line-height: normal;
  background-image: linear-gradient(to right, #3B9383, #3B9383 5px, transparent 5px, transparent 8px);
  background-size: 8px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main table .table_col th,
.business .contents_top .service_introduction_color .service_introductio_area .introductio_main table .table_col td {
  font-size: 17px;
  padding: 25px;
  vertical-align: middle;
  font-weight: normal;
}

.business .contents_top .service_introduction_color .service_introductio_area .introductio_main table .table_col th {
  width: 150px;
  box-sizing: border-box;
}

.business .contents_top .d_flex {
  margin: 50px 0;
}


.business .contents_top .car_introduction {
  justify-content: space-between;
}

.business .contents_top .car_introduction div {
  width: 32%;
  margin-bottom: 10px;
}

.business .contents_top .car_introduction div span {
  font-weight: bold;
}

.business .contents_top .car_introduction div p {
  line-height: 30px;
  margin-top: 10px;
}

.business .contents_top .car_introduction div p.car_underline {
  border-bottom: solid 2px #3B9383;
  padding-bottom: 12px;
}

.business .contents_top .car_introduction div img.car_img {
  width: 246px;
  height: 183px;
}

.business .past_products h2 {
  margin-bottom: 20px;
}

.business .past_products .past_products_food {
  margin: 0;
  padding-top: 10px
}

.business .past_products .past_products_food div {
  text-align: center;
  width: 23%;
}

.business .past_products .past_products_food div img {
  width: 176px;
  height: 176px !important;
}

.business .past_products .past_products_food p {
  margin: 20px 0;
  font-size: 18px;
}

.warehouse_image {
  margin: 100px 0 100px;
}

.business .contents_top .business_text {
  font-size: 17px;
  margin: 50px auto;
  width: 53%;
  text-align: left;
  line-height: 150%;
}

/* 採用情報 */
.recruit .message .content {
  padding: 80px 0;
  display: flex;
  margin-top: -2px;
  justify-content: center;
}

.recruit .message .content:nth-of-type(2) {
  background: #E6EDE8;
}

.recruit .message .content:nth-of-type(3) {
  background: #FDF2E5;
}

.recruit .message .content:nth-of-type(4) {
  background: #F6EAF0;
}

.recruit .message .content .text {
  width: 600px;
}

.recruit .message .content .text h2 {
  font-size: 30px;
  width: 65%;
  margin: 30px auto;
  color: #333333;
}

.recruit .message .content:nth-of-type(2) .text h2 {
  text-align: left;
  line-height: 150%;
}

.recruit .message .content .text p {
  width: 65%;
  line-height: 160%;
  margin: auto;
}

.recruit .message .content .image {
  width: 600px;
  background: white;
  position: relative;
  min-height: 430px;
}

.recruit .message .content .image:nth-child(1) {
  margin-left: 80px;
}

.recruit .message .content .image:nth-child(2) {
  margin-right: 80px;
}

.recruit .message .content .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 93%;
  height: 90%;
}

.recruit_menu {
  margin-top: 100px;
  margin-bottom: 100px;
}

.recruit_menu .title p {
  color: #3B9383;
  text-align: center;
  font-weight: bold;
}

.recruit_menu .title h2 {
  font-size: 35px;
  text-align: center;
  color: #333333;
  margin-top: 20px;
}

.recruit_menu div .box {
  display: block;
  width: 460px;
  margin: 50px 0;
}

.recruit_menu div .box:hover {
  text-decoration: none;
}

.recruit_menu div .box h3 {
  text-align: center;
  color: #333333;
  margin: auto;
  margin-bottom: 10px;
  padding: 20px 0;
  margin-top: 10px;
  width: 400px;
  font-size: 25px;
}

.recruit_menu div .box img {
  width: 400px;
  height: 400px;
  margin: auto;
  display: block;
}

.recruit_menu div .box p {
  width: 400px;
  margin: auto;
  line-height: 30px;
}

.recruit_menu div .box .link_bt {
  background: #3B9383;
  border-radius: 50px;
  width: 150px;
  margin: 20px auto 0;
  display: block;
  padding: 15px;
  color: white;
  text-align: center;
  font-size: 17px;
}

.recruit_menu div .box .link_bt img,
.works .pc-disp .tab-list .tab-list-item img {
  width: 30px;
  height: 30px;
  margin: unset;
  margin-left: 20px;
}

.recruit_menu div .box .link_bt p,
.job_description .link_bt p {
  width: unset;
  margin: unset;
  padding: 0;
}

.recruit h3 {
  margin: 30px 0;
}

.recruit_message h2 {
  margin: 50px 0;
}

.recruit_message span {
  font-weight: bold;
  font-size: 24px;
}

/* 仕事紹介 */
.works .tab-list {
  display: flex;
  justify-content: space-between;
  max-width: 1250px;
  min-width: 1200px;
  width: 95%;
  margin: auto;
}

.works .tab-list .tab-list-item {
  height: 103px;
  width: 300px;
  background: #3B9383;
  color: white;
  padding: 0px;
  margin-bottom: 13px;
  font-size: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  position: relative;
}

.works .tab-list .tab-list-item.active {
  margin-bottom: 0;
  padding-bottom: 13px;
  background-color: #E6EDE8;
  color: #333333;
  border-bottom-right-radius: unset;
  border-bottom-left-radius: unset;
}

.works .tab-list .tab-list-item p {
  font-size: 23px;
}

.works .contents_color {
  background-color: #E6EDE8;
  padding: 88px 0px 190px;
  width: 100%;
  margin-top: 0px !important;
}

.works .contents_color .contents_area {
  width: 1160px;
  box-sizing: border-box;
  margin-top: 15px !important;
  background-color: #fff;
  margin: auto;
  padding: 30px 60px 100px;
  border-radius: 42px;
}

.works .contents_color .contents_area .tab-contents-item {
  display: none;
}

.works .contents_color .contents_area .tab-contents-item.show {
  display: block;
}

.works .contents_color .contents_area .tab-contents-item .contents_title {
  text-align: center;
  color: #3B9383;
  margin: 50px 0 80px;
}

.works .contents_color .contents_area .tab-contents-item .contents_title h3 {
  font-size: 40px !important;
  font-weight: 500;
}

.works .contents_color .contents_area .tab-contents-item .works_main {
  width: 1029px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .works_cmt {
  margin-left: 38px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .works_cmt .works_text {
  text-align: left !important;
  font-size: 17px !important;
  line-height: 30px !important;
  width: 469px !important;
  letter-spacing: 0px !important;
}

.works .contents_color .contents_area .tab-contents-item .works_main .works_cmt .works_text_interview {
  height: 71px;
  width: 421px;
  margin-right: 0px !important;
}

.works .contents_color .contents_area .tab-contents-item .works_main .works_cmt .works_text_interview p {
  font-size: 17px !important;
  color: #3B9383;
}

.works .contents_color .contents_area .tab-contents-item .works_main .works_cmt .works_text_interview a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff !important;
  color: #3B9383;
  border: solid 2px #3B9383;
  box-shadow: 5px 5px 0 0 #3b9383;
  height: 71px;
  width: 421px;
  margin-top: 30px;
  margin-left: 16px;
  position: relative;
}

.works .contents_color .contents_area .tab-contents-item .works_main .works_cmt .works_text_interview img {
  height: 28px;
  width: 28px;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.works .contents_color .contents_area .tab-contents-item .works_main #daily_flow_title {
  padding-bottom: 10px;
  border-bottom: solid 1px #3B9383;
  margin-bottom: 70px;
}

.works .contents_color .contents_area .tab-contents-item .works_main #daily_flow_title h3 {
  font-weight: bold !important;
  color: #333333 !important;
  font-size: 30px !important;
  margin-top: 60px;
  margin-bottom: 40px;
}

.works .contents_color .contents_area .tab-contents-item .works_main #daily_flow_title .daily_line {
  width: 72px;
  border-bottom: 3px solid #3B9383;
  margin-bottom: -12px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_time h3 {
  font-size: 22px !important;
  border: solid 7px #3B9383;
  height: 88px;
  width: 88px;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0px !important;
}

.works .contents_color .contents_area .tab-contents-item .works_main .timelineber {
  position: relative;
  border-left: 2px solid #3B9383;
  margin-left: -53px;
  margin-top: 100px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .timelineber .daily_flow_body {
  width: 516px;
  margin-top: -70px;
  margin-left: 100px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .timelineber .daily_flow_body .daily_flow_sub_title,
.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_body_last .daily_flow_sub_title {
  height: 48px;
  font-size: 20px;
  padding-left: 25px;
  border-radius: 24px;
  background-color: #3B9383;
  color: #fff;
  display: flex;
  align-items: center;
  width: 498px;
  box-sizing: border-box;
}

.works .contents_color .contents_area .tab-contents-item .works_main .timelineber .daily_flow_body .daily_flow_cmt,
.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_body_last .daily_flow_cmt {
  font-size: 17px;
  line-height: 20px;
  padding-left: 10px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .timelineber .daily_flow_body .daily_flow_cmt p,
.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_body_last .daily_flow_cmt p {
  line-height: 30px !important;
  margin-top: 18px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_img {
  margin-left: 30px;
  margin-top: 30px;
  margin-bottom: 20px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_img img {
  height: 244px;
  width: 312px;
}

.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_body_last {
  margin-left: 48px !important;
  margin-top: 30px !important;
}

.works .contents_color .contents_area .tab-contents-item .works_main .daily_flow_body_last .daily_flow_cmt p {
  width: 506px;
}

.tab-contents-item .justify_content_center {
  padding-bottom: 50px;
}

.works .recruit_top p {
  margin-bottom: 150px;
}

.daily_flow_time_not {
  border-left: solid 2px #3B9383;
  height: 110px;
  width: 51px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0px !important;
}

.time_not .d_flex {
  margin-left: 49px;
}

.recruit_top p,
.privacy_policy .contents_top h2 {
  font-size: 30px !important;
  color: #333333;
  text-align: center;
}

.recruit_top p {
  font-weight: bold;
}

.top_text {
  font-size: 17px !important;
  font-weight: normal;
}

.title_img {
  height: 516px;
  width: 516px;
}

.tab-list-item img {
  height: 13px;
  width: 13px;
  position: absolute;
  bottom: 20px;
}

/* 社員インタビュー */
.archive_interview .interview_top p {
  width: 55%;
  margin: 0 auto 80px;
  line-height: 150%;

}

.archive_interview #interview_archive {
  background: #E6EDE8;
}

#archive_interview_list {
  margin: 50px auto 0;
  padding-bottom: 120px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1200px;
}

.interview #archive_interview_list::before {
  display: none;
}

.interview #archive_interview_list::after {
  width: 49%;
}

.interview_archive #archive_interview_list::after {
  width: unset;
}

#archive_interview_list li {
  width: 23%;
  margin: 20px 0;
}

.interview #archive_interview_list .link {
  padding: 30px;
  text-align: center;
  background: white;
}

.interview #archive_interview_list .link:hover {
  background: #3B9383;
}

.interview_archive #index_head {
  margin: 30px 0;
}

.interview #archive_interview_list .image img {
  height: 200px;
  width: 200px;
  display: block;
  margin: auto;
  border-radius: 50%;
}

#interview_archive #archive_interview_list .job,
#interview_single #interview_image #staff_info .job {
  margin: 20px auto 0;
  background: #231815;
  color: white;
  border-radius: 50px;
  padding: 5px 10px;
  width: 160px;
  font-size: 13px;
}

#interview_single #interview_image #staff_info .jpb {
  width: 220px;
}

#interview_archive #archive_interview_list .name,
#interview_single #interview_image #staff_info .job {
  font-size: 28px;
  margin: 15px 0;
}

#interview_archive #archive_interview_list .name {
  font-weight: bold;
}

#interview_single #interview_image #staff_info .job {
  font-size: 39px;
}

#interview_archive #archive_interview_list .joining_year {
  font-size: 15px;
}

#interview_single #interview_image #staff_info .joining_year {
  font-size: 21px;
}

#interview_archive #archive_interview_list a.link .arrow {
  margin: 10px 0 0 auto;
  background: #3B9383;
  color: white;
  width: 20px;
  border-radius: 50%;
  padding: 10px;

}

#interview_archive #archive_interview_list a.link:hover .arrow {
  background: white;
  color: #3B9383;
}

.interview_archive #interview_single .w_90 {
  width: 90%;
  margin: auto;
}

/* 社員インタビュー詳細 */
#interview_single #interview_image {
  margin-bottom: 50px;
  position: relative;
  display: flex;
}

#interview_single #interview_image .image {
  width: 81%;
}

#interview_single #interview_image .image img {
  height: 610px;
}

#interview_single #interview_image .staff_info {
  width: 29.3%;
  position: absolute;
  right: 0;
  bottom: -50px;
  background: white;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
  text-align: center;
  padding: 94px 45px;
  aspect-ratio: 1 / 1;
  box-sizing: border-box;
}

#interview_single .short_comment {
  font-size: 30px;
  line-height: 150%;
  margin-bottom: 40px;
  margin-top: 20px;
  font-weight: bold;
}

#interview_single #interview_image .staff_info .name {
  font-size: 39px;
  margin: 30px 0;
  font-weight: bold;
}

#interview_single .staff_info .job {
  font-size: 18px;
  line-height: 24px;
  background: #231815;
  color: white;
  border-radius: 50px;
  padding: 8px;
  width: 220px;
  margin: auto;
}

#interview_single .staff_info .joining_year {
  font-size: 21px;
}

#interview_single .interview_content {
  background: #fdf2e5;
  margin-top: -300px;
  padding-top: 400px;
  padding-bottom: 150px;
}

#interview_single .interview_content .question_area {
  width: 1150px;
  margin: auto;
}

#interview_single .interview_content .question_area .question {
  display: flex;
  align-items: center;
  margin: 55px 0 35px;
  width: 73%;
}

#interview_single .interview_content .question_area .question .interviewer p {
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: -0.5px;
}

#interview_single .interview_content .question_area .question .interviewer img {
  width: 130px;
}

#interview_single .interview_content .question_area .question .content {
  width: 100%;
  background: white;
  padding: 40px;
  position: relative;
  font-size: 25px;
  font-weight: bold;
  height: 105px;
  box-sizing: border-box;
  margin-left: 50px;
}

#interview_single .interview_content .question_area .question .content::before {
  content: "";
  position: absolute;
  right: 100%;
  margin-top: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-right: 30px solid white;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#interview_single .interview_content .question_area .answer {
  display: flex;
  align-items: center;
  width: 73%;
  margin: 0 0 0 auto;
}

#interview_single .interview_content .question_area .answer .content {
  width: 100%;
  background: white;
  padding: 40px;
  position: relative;
  font-size: 17px;
  box-sizing: border-box;
  margin-right: 50px;
  line-height: 150%;
}

#interview_single .interview_content .question_area .answer .content::before {
  content: "";
  position: absolute;
  margin-top: 0;
  right: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 30px solid white;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

#interview_single .interview_content .question_area .answer .image img {
  width: 130px;
  height: 130px;
  border-radius: 50%;
}

#interview_archive h3 {
  font-size: 25px;
}

.main_contents #interview_single #index_staff_head_inner {
  margin-top: 50px;
}

.interview_archive #interview_archive {
  background: #e6ede8;
  padding-top: 80px;
}

/* 会社概要 */
.company #page_template4 {
  margin-top: 50px;
}

.company .post_content span.sales_office {
  display: block;
  margin: 30px 0 5px;
}

.company .post_content a {
  color: #3B9383;
}

.company .post_content a span {
  /* color: #F18B00; */
}

.pt_layout5.right .desc_area {
  width: 100%;
  margin-top: 100px;
}

.pt_layout6 h2.headline,
.pt_layout4 h2.headline,
.pt_layout5 h2.headline {
  font-size: 30px;
  font-family: unset !important;
  color: #333333;
  font-weight: bold;
}

.pt_layout5 h2.headline,
.company_history h2.headline {
  margin: 30px 0;
  text-align: left;
  font-weight: 500;
  color: #333333;
  font-size: 30px;
}

.pt_layout6 h3.headline,
.pt_layout5 h3.headline,
.post_content h3 {
  font-size: 25px;
  color: #333333;
  text-align: center;
  font-family: unset !important;
}

.pt_layout5.left h3.headline,
.pt_layout5.right h3.headline {
  text-align: left;
  font-weight: bold;
}

.pt_layout5 .headline.mt_30 {
  margin-top: 30px;
}

.pt_layout5.left .desc_area {
  position: absolute;
  right: 0;
  background: #E6EDE8;
  width: 640px;
  padding: 80px 80px 50px;
  top: 80px;
  padding-left: 120px;
}

.pt_layout5 .desc_area .post_content p {
  font-size: 17px;
  line-height: 180%;
}

.pt_layout5 .desc_area .post_content p.ceo {
  margin-top: 30px;
  text-align: end;
}

.company_history h3 {
  font-size: 40px;
  color: #265B4B;
}

.company_overview table,
.company_history table {
  font-size: 17px;
}

.company_overview table th,
.company_overview table td,
.single_job_description table th,
.single_job_description table td {
  border: 0.5px solid #9fa0a0;
  padding: 25px;
  line-height: 1.5;
}

.archive_job_description th,
.archive_job_description td {
  padding: 15px;
  vertical-align: middle;
}

.archive_job_description th {
  width: 25%;
  text-align: center;
}

.single_job_description table th {
  width: 200px;
  box-sizing: border-box;
  font-weight: 500;
  background: #efefef;
  text-align: center;
  font-size: 17px;
}

.single_job_description table td {
  padding-left: 60px !important;
  font-size: 17px;
}

.company_overview table th {
  background: #efefef;
  width: 25%;
  text-align: center;
  font-weight: 500;
}

.company_overview a {
  text-decoration: underline;
}

.company_overview table th {
  width: 190px;
  box-sizing: border-box;
}

.company_history td,
.job_description td {
  width: 75%;
}

.single_job_description td {
  width: unset;
}

.company_overview table td {
  width: 1000px;
  box-sizing: border-box;
  padding-left: 60px;
}

.company_history h3 .company_overview a {
  color: #347D66;
}

.company_history {
  margin-bottom: 100px;
  margin-top: 100px;
}

.company .ceo p {
  font-size: 18px;
  text-align: end;
  margin-top: 20px;
  margin-bottom: 100px;
}

.company .ceo span {
  font-size: 20px;
  margin-left: 20px;
  padding: 0;
}

.company .contents_top h2 {
  font-size: 32px;
  margin: 80px 0;
}

.sub_title h1 {
  font-size: 55px;
  font-weight: 400;
  color: #265B4B;
  padding: 0 10px;
}

.pt_layout5 {
  display: flex;
  position: relative;
}

.pt_layout5 .image {
  float: unset;
  width: 440px;
  height: 440px;
  position: relative;
  z-index: 1;
}

.pt_layout5 .represent_name p {
  text-align: end;
  margin-top: 20px;
  font-size: 18px;
}

.pt_layout5 p span {
  font-size: 25px;
  display: inline-block;
  padding-left: 20px;
}

.timeline {
  width: 97%;
  margin: 28px auto;
}

.company .timeline-list {
  margin-left: 30px;
}

.timeline-list-item {
  line-height: 1.5;
  font-size: 17px;
  position: relative;
  border-left: 1px solid #3B9383;
  padding-bottom: 40px;
}

.timeline-list-item:last-child {
  border-left: unset;
}

.timeline-list-item .date {
  padding: 0 0 0 30px;
  color: #333333;
  font-size: 20px;
}

.timeline-list-item .content {
  padding: 25px;
  border: 1px solid #3B9383;
  box-shadow: 5px 5px 0 0 #3B9383;
  margin-top: 20px;
  margin-left: 50px;
}

.welfare .timeline-list-item .content {
  background: #E6EDE8;
  display: flex;
  border: unset;
  box-shadow: unset;
  padding: 50px;
  width: 92%;
  box-sizing: border-box;
  margin: 0 0 0 auto;
  padding-left: 80px;
}

.timeline-list-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: -12px;
  width: 18px;
  height: 18px;
  background-color: white;
  border-radius: 50px;
  border: 3px solid #3B9383;
}

/* 設備・研修・福利厚生 */
#main_image.welfare_image img,
#main_image.single_interview_image img {
  object-position: 0 -250px;
}

.welfare p {
  line-height: 150% !important;
}

.welfare .welfare_top p {
  text-align: center;
  margin-top: 80px;
  font-size: 30px !important;
  color: #333333;
  line-height: 36px;
  font-weight: bold;
}

.welfare .welfare_title {
  width: 100%;
  padding-bottom: 0px !important;
  border-bottom: solid 1px #3B9383;
  margin-top: 30px;
}

.welfare .welfare_title h3 {
  color: #333333 !important;
  height: unset;
  font-size: 32px !important;
  padding-bottom: 35px !important;
}

.welfare .welfare_title .welfare_line {
  width: 85px;
  border-bottom: 3px solid #3B9383;
  margin-bottom: -2px;
}

.welfare .timeline {
  width: 95%;
  margin: 50px 0 0 auto;
}

.welfare .timeline .step {
  font-size: 28px;
  color: #3B9383;
  margin-bottom: 15px;
  margin-left: -32px;
}

.welfare .timeline .timeline-list {
  position: relative;
}

.welfare .timeline .timeline-list::before {
  content: "";
  position: absolute;
  top: 0;
  left: -15px;
  width: 30px;
  height: 30px;
  background-color: #3B9383;
  border-radius: 50px;
}

.welfare .timeline .timeline-list::after {
  content: "";
  position: absolute;
  bottom: -40px;
  left: -25px;
  display: inline-block;
  border-style: solid;
  border-width: 44px 25px 0 25px;
  border-color: #3B9383 transparent transparent transparent;
}


.welfare .timeline .timeline-list .timeline-list-item {
  padding-bottom: 35px;
}

.welfare .timeline .timeline-list .timeline-list-item:last-child {
  border-left: 1px solid #3B9383;
  padding-bottom: 15px;
}

.welfare .timeline .timeline-list .timeline-list-item::before {
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  width: 12px;
  height: 12px;
  left: -9px;
}

.welfare .timeline .timeline-list .timeline-list-item .content::before {
  content: "";
  position: absolute;
  left: 60px;
  margin-top: 0;
  border-top: 23px solid transparent;
  border-bottom: 23px solid transparent;
  border-right: 40px solid #E6EDE8;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}


.welfare .timeline .timeline-list .timeline-list-item .content .text {
  width: 50%;
}

.welfare .timeline .timeline-list .timeline-list-item .content .text h4 {
  color: #3B9383;
  font-size: 33px;
  margin-bottom: 30px;
}

.welfare .timeline .timeline-list .timeline-list-item .content .text h4 span {
  font-size: 74px;
  font-weight: 300;
  margin-right: 20px;
}

.welfare .timeline .timeline-list .timeline-list-item .content .image {
  width: 45%;
  background: white;
  position: relative;
  margin-left: 50px;
  min-height: 300px;
}

.welfare .timeline .timeline-list .timeline-list-item .content .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 95%;
  height: 93%;
}

.welfare .event_content {
  margin-top: 80px;
}

.welfare .event_content h3 {
  font-size: 23px !important;
  font-weight: bold;
  padding: 30px 0px;
  color: #3B9383 !important;
}

.welfare .event_content img {
  height: 263px;
  width: 371px;
}

.welfare .event_content:last-child {
  margin-top: 50px;
  margin-bottom: 80px;
}

.welfare .event_content .event_content_top h3 {
  background-image: linear-gradient(to right, #3B9383, #3B9383 4px, transparent 0px) !important;
  background-size: 7px 1px !important;
  background-position: left bottom !important;
  background-repeat: repeat-x !important;
  font-size: 23px !important;
  font-weight: bold;
  color: #3B9383 !important;
}

.welfare .event_content .event_content_body .rice {
  overflow: hidden;
  height: 263px;
  width: 371px;
}

.event_content .event_content_body .rice img {
  transform: scale(1.5);
}

.welfare .event_content .event_content_top p {
  padding-top: 20px;
}

.welfare .event_content .event_content_top img {
  height: 433px !important;
  width: 794px !important;
}

.welfare .follow_system_pt {
  padding-top: 100px;
}

.welfare .follow_system_pt .follow_system {
  margin-top: 70px;
}

.welfare .follow_system_pt .follow_system .follow_system_body img {
  height: 263px;
  width: 371px;
}

.welfare .follow_system_pt .follow_system .follow_system_body h3 {
  font-size: 23px !important;
  font-weight: bold;
  padding: 30px 0px !important;
  margin-bottom: 0px !important;
  background-image: linear-gradient(to right, #3B9383, #3B9383 4px, transparent 0px) !important;
  background-size: 7px 1px !important;
  background-position: left bottom !important;
  background-repeat: repeat-x !important;
  color: #3B9383 !important;
}

.welfare .follow_system_pt .follow_system .follow_system_body p {
  font-size: 17px !important;
  padding-top: 20px;
}

.welfare .follow_system_pt .follow_system .follow_system_body .g_mark {
  height: 263px;
  width: 371px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.welfare .follow_system_pt .follow_system .follow_system_body .g_mark img {
  object-fit: contain;
  height: 220px;
  width: 198px;
}

.welfare h3:nth-child(-n+4) {
  margin-top: 0;
}

.welfare h3 {
  padding: 20px 0px !important;
}

.welfare .dli-arrow-down {
  display: inline-block;
  vertical-align: middle;
  color: #ED9C00;
  line-height: 1;
  position: relative;
  width: 15px;
  background: currentColor;
  margin: 50px 0;
}

.welfare .dli-arrow-down::before {
  content: '';
  position: absolute;
  left: -7.5px;
  bottom: -0.5em;
  box-sizing: border-box;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 15px solid #ED9C00;
}


/* 募集要項詳細 */
.job_description p {
  line-height: 180% !important;
}

.job_description .feature div {
  width: 32%;
}

.single_job_description .heading,
.company .heading,
.contact .heading {
  border-bottom: 0.5px solid #3B9383;
  margin-bottom: 70px;
}

.contact .heading {
  margin-bottom: 40px;
}

.single_job_description .heading h2 {
  font-size: 30px;
  text-align: left;
  color: #333333;
}

.single_job_description .heading div,
.company .heading div,
.contact .heading div {
  width: 100px;
  border-bottom: 3px solid #3B9383;
  margin-bottom: -2px;
}

.single_job_description h3.sub_heading {
  margin-top: 70px;
  color: #3B9383;
  font-size: 28px;
  margin-bottom: 50px;
}

.job_description .feature p {
  padding: 30px 0 0;
}

.single_job_description .link_bt {
  background: #F18B00;
  margin: 100px auto 150px;
  color: white;
  border-radius: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 500px;
  padding: 25px 0;
}

.single_job_description .message .link_bt {
  margin-bottom: 50px;
}

.single_job_description .link_bt img {
  width: 27px;
  margin-right: 15px;
}

.job_description #index_head {
  margin-top: 50px;
  margin-bottom: 50px;
}

.job_description .feature img {
  height: 250px;
}

.job_description .voice h4 {
  font-size: 24px;
  font-weight: 500;
  margin: 30px 0;
}

.single_job_description .job_content h4 {
  font-size: 20px !important;
  background: #3B9383;
  color: white;
  padding: 20px;
  margin-bottom: 30px;
  margin-top: 50px;
}

.single_job_description .job_content h4:first-child {
  margin-top: 0;
}

.single_job_description .job_content a {
  /* font-weight: bold; */
  color: #333333;
}

.single_job_description .feature span {
  display: block;
  font-size: 20px;
  color: #3B9383;
  background-image: linear-gradient(to right, #3B9383, #3B9383 5px, transparent 5px, transparent 8px);
  background-size: 8px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
  padding-bottom: 20px;
  font-weight: bold;
}

.single_job_description .job_content .w_45 img {
  width: 540px;
  height: 360px;
}

.single_job_description .contact_form {
  width: unset;
  font-size: unset;
  margin: unset;
}

.single_job_description .contact_form .frame_title,
.single_job_description .contact_form .frame_area,
.single_job_description .contact_form input,
.single_job_description .contact_form textarea,
.single_job_description .contact_form table {
  border: 1px solid #CCCCCC;
}

.single_job_description #form {
  margin-top: 150px;
}

.single_job_description .message,
.recruit .message,
.archive_interview #interview_archive,
#interview_single .interview_content,
.interview_archive #interview_archive {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-width: 1200px;
}

.single_job_description .message .title,
.recruit .message .title {
  font-size: 130px;
  text-align: end;
  color: #FDF2E5;
  line-height: 85%;
  margin-right: 10px;
  font-weight: bold;
  width: 1200px;
  margin: auto;
  font-family: system-ui !important;
  margin-bottom: -7px;
}

.recruit .message .title {
  color: #E6EDE8;
  margin-top: 120px;
}

.single_job_description .message .content {
  background: #FDF2E5;
  padding: 100px 70px;
}

.single_job_description .message .content .employee_message {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: auto;
}

.single_job_description .message .content .employee_message:nth-child(2) {
  margin-top: 50px;
  margin-bottom: 50px;
}

.single_job_description .message .content .employee_message .image {
  width: 20%;
  text-align: center;
}

.single_job_description .message .content .employee_message .voice {
  width: 75%;
  background: white;
  border-radius: 50px;
  position: relative;
}

.single_job_description .message .content .employee_message:first-child .voice::before {
  content: "";
  position: absolute;
  right: 100%;
  margin-top: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-right: 30px solid white;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.single_job_description .message .content .employee_message:nth-child(2) .voice::before {
  content: "";
  position: absolute;
  margin-top: 0;
  right: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 30px solid white;
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.single_job_description .message .content .employee_message .voice p {
  padding: 50px;
}

.single_job_description .message .content .employee_message .voice p span {
  font-size: 25px;
  color: #F18B00;
  font-weight: bold;
}

.single_job_description .message .content .employee_message .image div {
  position: relative;
  padding: 0 30px;
  width: fit-content;
  margin: 0 auto 30px;
  font-weight: bold;
}

.single_job_description .message .content .employee_message .image div::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 1px;
  height: 150%;
  background: #333;
  border-radius: 3px;
  transform: rotate(-25deg);
}

.single_job_description .message .content .employee_message .image div::after {
  position: absolute;
  content: "";
  right: 0;
  top: 0;
  width: 1px;
  height: 150%;
  background: #333;
  border-radius: 3px;
  transform: rotate(25deg);
}

.single_job_description .message .content .employee_message .image img {
  width: 190px;
  height: 190px;
  border-radius: 100px;
}

/* 募集要項一覧 */
#main_image.archive_job_description_image img,
#main_image.single_job_description_image img {
  object-position: 0 -100px;
}

.archive_job_description .filter {
  background: #e6ede8;
  padding: 95px 0 125px;
  width: 100vw;
  margin-left: min(0px, calc(50% - 50vw));
  margin-right: min(0px, calc(50% - 50vw));
  min-width: 1200px;
}

.archive_job_description .filter .job-description-tab-list {
  display: flex;
  justify-content: center;
  width: 1150px;
  margin: auto;
}

.archive_job_description .filter .job-description-tab-list .job-description-tab-list-item {
  width: 363px;
  height: 66px;
  box-sizing: border-box;
  color: #3b9383;
  border: 2px solid #3b9383;
  box-shadow: 5px 5px 0 #3b9383;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 25px;
  margin-left: 30px;
  margin-top: 30px;
  font-size: 17px;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, rgba(59, 147, 131, 1) 50%), linear-gradient(135deg, rgba(59, 147, 131, 1) 50%, transparent 50%);
  background-size: 10px 10px, 10px 10px;
  background-position: calc(100% - 20px) 50%, calc(100% - 10px) 50%;
  background-repeat: no-repeat;
  outline: none;
}

.archive_job_description .filter .job-description-tab-list .job-description-tab-list-item:first-child {
  margin-left: 0px;
}

.archive_job_description .heading {
  font-size: 25px;
  margin-top: 70px;
  text-align: center;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item {
  display: none;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item.show {
  display: block;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff {
  width: 1120px;
  margin: 50px auto;
  border: 2px solid #3B9383;
  border-bottom: 7px solid #3B9383;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .staff_heading {
  position: relative;
  background: #3B9383;
  padding: 45px;
  padding-right: 30px;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .staff_heading h3 {
  color: white;
  width: fit-content;
  font-size: 25px;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .staff_heading div {
  position: absolute;
  background: white;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-size: 15px;
  width: 220px;
  box-sizing: border-box;
  padding: 10px 20px;
  color: #3B9383;
  text-align: center;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .w_30 img {
  width: 290px;
  height: 193px;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content {
  margin: 40px auto;
  width: 95%;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info {
  width: 65%;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info h3 {
  font-size: 24px;
  padding-left: 15px;
  margin-bottom: 10px;
  border-left: 5px solid #333333;
  color: #333333;
  line-height: 36px;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info table {
  width: 100%;
  margin-bottom: 0;
  font-size: 17px;
  line-height: 150%;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info table tr {
  background-image: linear-gradient(to right, #3B9383, #3B9383 5px, transparent 5px, transparent 8px);
  background-size: 8px 1px;
  background-position: left top;
  background-repeat: repeat-x;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info table tr:last-child {
  background-image:
    linear-gradient(to right, #3B9383, #3B9383 5px, transparent 5px, transparent 8px),
    /* 上の線 */
    linear-gradient(to left, #3B9383, #3B9383 5px, transparent 5px, transparent 8px);
  background-size: 8px 1px,
    /* 上の線 */
    8px 1px;
  background-position: left top,
    /* 上の線 */
    right bottom;
  background-repeat: repeat-x,
    /* 上の線 */
    repeat-x;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info table th,
.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info table td {
  border: unset;
  background: unset;
  font-weight: 500;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info .link_bt {
  margin-top: 30px;
  color: white;
  padding: 20px;
  text-align: center;
  width: 300px;
  height: 95px;
  border-radius: 50px;
  box-sizing: border-box;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info .link_bt:first-child {
  background: #3B9383;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info .link_bt:last-child {
  background: #F18B00;
  margin-left: 15px;
}

.archive_job_description #staff_archive .job-description-tab-contents .job-description-tab-contents-item .archive_staff .archive_job_description_content .recruit_info .link_bt img {
  width: 25px;
  margin-bottom: 5px;
}

/* プライバシーポリシー */
.privacy_policy p {
  line-height: 150% !important;
}

.privacy_policy .contents .mb_30 h3 {
  font-size: 22px;
  margin: 70px 0px 40px;
  color: #333333;
  font-weight: bold;
}

.privacy_policy .contents .mb_30:first-of-type h3 {
  margin-top: 90px;
}

.privacy_policy .contents_top .privacy_policy_title {
  border-bottom: solid 1px #3B9383;
}

.privacy_policy .contents_top .privacy_policy_title h2 {
  text-align: left !important;
  margin-top: 80px;
  margin-bottom: 30px !important;
}

.privacy_policy .contents_top .privacy_policy_title .privacy_policy_line {
  width: 88px;
  border-bottom: 3px solid #3B9383;
  margin-bottom: -2px;
}

.privacy_policy .contents {
  margin-bottom: 160px;
  margin-top: 50px;
}

.privacy_policy .contents .space_none {
  letter-spacing: 0 !important;
}

.privacy_policy .contents .box {
  background-color: #e6ede8;
  padding: 40px;
  position: relative;
  border-radius: 10px;
}

.privacy_policy .contents .box::before {
  content: "";
  position: absolute;
  left: 20px;
  top: -30px;
  border: 12px solid transparent;
  border-bottom: 20px solid #E6EDE8;
}

.privacy_policy .contents .box p,
.privacy_policy .contents .box li {
  line-height: 180% !important;
  font-size: 17px;
}

.privacy_policy .contents .box li {
  display: flex;
}

/* 問い合わせ */
.contact .content_top .heading h2 {
  text-align: left;
  font-size: 30px;
  color: #333333;
}

.contact .content_top .contact_tel,
.contact .content_top .contact_application_form {
  margin-top: 80px;
}

.contact .content_top .contact_application_form {
  margin-bottom: 150px;
}

.contact .content_top .contact_tel h3,
.contact .content_top .contact_application_form h3 {
  font-size: 23px;
  color: #333333;
}

.contact .content_top .contact_tel .box,
.contact .content_top .contact_application_form .box {
  background: #E6EDE8;
  border-radius: 50px;
  padding: 70px 0;
  text-align: center;
  position: relative;
  margin-top: 20px;
}

.contact .content_top .contact_application_form .box {
  text-align: left;
}

.contact .content_top .contact_application_form .box p {
  width: 1000px;
  margin: 0 auto 40px;
}

.contact .content_top .contact_tel .box .tel {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.contact .content_top .contact_tel .box .tel img {
  width: 31px;
  margin-right: 10px;
}

.contact .content_top .contact_tel .box .tel p {
  font-size: 48px;
  color: #333333;
}

.contact .content_top .contact_tel .box .blank {
  border-radius: 50px;
  width: 340px;
  padding: 40px;
  margin: auto;
  display: block;
  background: white;
  text-align: center;
  font-size: 20px;
}

.contact .content_top .contact_tel .box .image {
  position: absolute;
  right: 70px;
  bottom: 0;
  width: 135px;
}

.contact .content_top .contact_application_form .box .mw_wp_form {
  width: 920px;
  margin: auto;
  font-size: 24px;
  background: white;
  border: unset;
  border-radius: 50px;
  padding: 50px 60px;
}

.main_contents.contact p {
  font-size: 17px;
}

.contact_form {
  width: 1000px;
  margin: auto;
  font-size: 24px;
}

.contact .contact_form {
  width: unset;
}

.contact_form table {
  table-layout: fixed;
  font-size: 18px;
  border: 1px solid #CCCCCC;
}

.contact .contact_form table {
  border: unset;
  font-size: 20px;
}

.contact_form .frame_title {
  width: 300px !important;
  padding: 10px 20px;
  vertical-align: middle;
  font-weight: 500;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.contact .contact_form .frame_title {
  color: #3B9383;
}

.contact_form .frame_title span {
  background: #F04D52;
  color: white;
  font-size: 14px;
  padding: 10px;
  border-radius: 30px;
}

.contact_form .frame_area {
  width: 70% !important;
  padding: 20px;
}

.contact .contact_form .frame_area {
  background: #EFEFEF;
  padding: 25px;
  border-radius: 10px;
}

.contact .contact_form .mw_wp_form_preview .frame_area {
  background: unset;
}

.contact .contact_form .frame_tr:nth-of-type(5) .frame_area.telephone {
  padding: 23.5px 25px;
}

.contact .contact_form .frame_tr:nth-of-type(5) .frame_area.telephone select {
  border: none;
  width: 100%;
  font-size: 20px;
  background-color: #EFEFEF;
  font-family: "Noto Sans JP";
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, rgba(59, 147, 131, 1) 50%), linear-gradient(135deg, rgba(59, 147, 131, 1) 50%, transparent 50%);
  background-size: 10px 10px, 10px 10px;
  background-position: calc(100% - 20px) 50%, calc(100% - 10px) 50%;
  background-repeat: no-repeat;
}

.contact .contact_form .frame_tr:nth-of-type(6) .frame_area {
  background: unset;
  display: flex;
  align-items: center;
  padding-left: 0;
  line-height: 35px;
}

.contact .contact_form .mw_wp_form_preview .frame_tr:nth-of-type(5) .frame_area {
  padding-left: 25px;
}

.contact .contact_form .frame_tr {
  padding-bottom: 25px;
  padding-top: 25px;
  border-bottom: 1px dashed #3B9383;
}

.contact .contact_form .frame_area input,
.contact .contact_form .frame_area textarea {
  border: unset;
  background: unset;
}

/* ラジオボタンを隠す */
.radio-btns input[type=radio].radio-btns__item {
  display: none;
}

.radio-btns label {
  display: inline-block;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio-btns .radio-btns__item+span {
  padding-left: 50px;
  display: inline-block;
  position: relative;
}

/* 各パーツを作成 */
.radio-btns .radio-btns__item+span::after,
.radio-btns .radio-btns__item+span::before {
  content: '';
  display: block;
  position: absolute;
  background: #EFEFEF;
  border-radius: 50%;
  width: 35px;
  height: 35px;
  top: 0;
  left: 0;
}

/* after上書き */
.radio-btns .radio-btns__item+span::after {
  opacity: 0;
  width: 18px;
  height: 18px;
  top: 8.5px;
  left: 8.5px;
  border: none;
  background: #3B9383;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio-btns .radio-btns__item:checked+span::after {
  opacity: 1;
  transition: 0.5s;
}

.mw_wp_form .horizontal-item+.horizontal-item {
  margin-left: 30px !important;
}

.contact_form .frame_tr {
  display: flex;
}

.contact_form textarea {
  width: 100%;
  border: 1px solid #CCCCCC;
}

.contact_form .frame_area input {
  width: 100%;
}

.send_confirmation input {
  font-size: 18px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #F18B00;
  border-radius: 50px;
  width: 500px;
  margin: 70px auto 0;
  padding: 35px;
  border: unset;
  color: white;
}


.footer_menu li:first-child {
  margin: 0;
  text-align: center;
}

.mw_wp_form_preview .required_entry {
  display: none;
}

/* ブログ */
.blog #main_col {
  width: auto;
  float: none;
  display: flex;
  justify-content: center;
}

.blog #archive_post_list {
  margin: 0;
  padding: 0;
  width: 1117px;
}

.blog #main_col #archive_post_list .post_item {
  padding: 25px;
  margin: 0 0 30px;
  height: 280px;
  border: solid 2px #3B9383;
  box-shadow: 0px 3px 0 0 #3b9383;
  display: flex;
  justify-content: center;
  align-items: center;
  background: white;
}

.blog #main_col #archive_post_list .post_item .image {
  width: 241px;
  height: 241px;
  display: block;
  position: relative;
}

.blog #main_col #archive_post_list .post_item .image img {
  width: 241px;
  height: 241px;
  display: block;
  object-fit: cover;
}

.blog #main_col #archive_post_list a.image:after {
  content: "";
  box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.blog #main_col #archive_post_list a.image:hover:after {
  box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.3);
}

.blog #main_col #archive_post_list .post_item .right_content {
  margin-top: 15px;
  width: 707px;
  height: 241px;
  margin-left: 48px;
}

.blog #main_col #archive_post_list .post_item .right_content ul {
  margin: 0 0 15px 0;
}

.blog #main_col #archive_post_list .post_item .right_content ul li {
  border: none;
  margin: 0 10px 0 0;
  padding: 0;
  display: inline;
  font-size: 12px;
  font-weight: bold;
  line-height: 100%;
}

.blog #main_col #archive_post_list .post_item .right_content ul li .entry-date {
  font-family: "Noto Sans JP";
  font-size: 17px !important;
  font-weight: normal;
  line-height: 120%;
  color: #3B9383;
}

.blog #main_col #archive_post_list .post_item .right_content .title {
  line-height: unset;
  font-size: 30px;
  margin: 25px 0 5px 0;
  font-weight: bold;
  max-height: 120px;
  overflow: hidden;
}

.blog #main_col #archive_post_list .post_item .right_content .title a {
  color: #333333;
}

.blog #main_col #archive_post_list .post_item .right_content .excerpt {
  margin-top: 20px;
  line-height: 220%;
  font-size: 17px;
}

.blog #archive_headline {
  /* background: #222439;
  color: #fff;
  height: 50px;
  line-height: 50px;
  padding: 0 15px;
  font-size: 16px;
  margin: 0 0 30px 0; */
}

.blog #archive_post_list .separate {
  /* font-size: 11px;
  color: #aaa;
  vertical-align: 1px; */
}

/* ローディング画像 */
#infscr-loading img {
  width: 16px;
}

/* ブログ詳細 */
.blog_article_detail #main_col {
  margin-top: 50px;
  width: 100%;
  text-align: center;
}

.blog_article_detail #main_col #single_post #post_title {
  font-size: 30px;
  padding-bottom: 20px;
  text-align: left;
  font-weight: bold;
  line-height: 140%;
  margin: 0;
  padding-left: 20px;
  border-bottom: solid 1px #3B9383;
}

.blog_article_detail #main_col #single_post ul.post_meta {
  margin: 0 0 60px 0;
  line-height: 180%;
  position: relative;
  border-bottom: solid 1px #3B9383;
  margin-top: 4px;
}

.blog_article_detail #main_col #single_post ul.post_meta li {
  display: inline;
  font-size: 12px;
  padding: 0 15px 0 0;
  margin: 0 10px 0 0;
  line-height: 100%;
  border-right: 1px solid #888;
}

.blog_article_detail #main_col #single_post ul.post_meta li:last-child {
  border: none;
  margin: 0;
  padding: 0;
}

.blog_article_detail #main_col #single_post ul.post_meta li .entry-date {
  font-family: "Noto Sans JP";
  right: 15px;
  font-size: 17px !important;
  color: #3B9383;
  font-weight: normal;
  line-height: 120%;
  position: absolute;
  padding: 20px 0px;
}

.blog_article_detail #main_col #single_post .post_content {
  margin: 0 0 50px 0;
  padding-top: 50px;
  border-top: solid 1px #3B9383;
}

.blog_article_detail #main_col #single_post .post_content p {
  font-size: 17px;
  line-height: 180%;
  margin: 0px;
  text-align: left;
}

.blog_article_detail #main_col #single_post .post_image {
  margin: 0 0 40px 0;
  text-align: center;
}


.previous_next_btn {
  margin-bottom: 170px;
  margin-top: 150px;
}

.previous_next_btn #previous_next_post {
  display: flex;
  justify-content: center;
  align-items: center;
}

.previous_next_btn #previous_next_post .show_btn {
  margin: 0 40px;
}

.previous_next_btn #previous_next_post .show_btn #previous_post,
.previous_next_btn #previous_next_post .show_btn #all_post,
.previous_next_btn #previous_next_post .show_btn #next_post {
  float: unset;
  line-height: unset;
  position: relative;
}

.previous_next_btn #previous_next_post .show_btn #previous_post a,
.previous_next_btn #previous_next_post .show_btn #next_post a,
.previous_next_btn #previous_next_post .show_btn #all_post a {
  text-decoration: none;
  padding: 40px 40px;
  color: #fff;
  border-radius: 50%;
  height: 80px;
  width: 80px;
  display: block;
}

.previous_next_btn #previous_next_post .show_btn #previous_post a {
  background: #3B9383 url(/wp-content/uploads/2023/02/arrow_left.png) no-repeat center;
  background-size: 17px;
}

.previous_next_btn #previous_next_post .show_btn #next_post a {
  background: #3B9383 url(/wp-content/uploads/2023/02/arrow_right.png) no-repeat center;
  background-size: 17px;
}

.previous_next_btn #previous_next_post .show_btn #all_post a {
  background: #3B9383 url(/wp-content/uploads/2023/02/arrow_all.png) no-repeat center;
  background-size: 21px;
}

.previous_next_btn #previous_next_post .show_btn #previous_post a .btn_text,
.previous_next_btn #previous_next_post .show_btn #next_post a .btn_text,
.previous_next_btn #previous_next_post .show_btn #all_post a .btn_text {
  color: #333333;
  position: absolute;
  width: inherit;
  bottom: -30px;
  left: 3px;
}

.blog_article_detail #related_post,
.blog_article_detail #comments,
.blog_article_detail #comment_header,
.blog_article_detail #comment_headline {
  display: none;
}


/* ----------------------------------------------------------------------
 for tablet
---------------------------------------------------------------------- */
@media screen and (max-width:1200px) {

  /* front page */
  #index_news {
    box-sizing: border-box;
    padding: 60px 20px 100px;
  }

  #index_news ol {
    width: 100%;
  }

  #index_news li {
    width: 100%;
  }

  #index_staff_head_inner {
    padding: 0 !important;
  }

  /* staff */
  #archive_staff_list li {
    width: calc(20% - 12px);
  }

  body #index_staff_head,
  #index_head {
    margin: 0;
  }

  .business .contents_top {
    margin: 30px 0 30px;
  }

  .single_job_description .message,
  .recruit .message,
  .archive_interview #interview_archive,
  .interview_archive #interview_archive {
    margin: 0;
  }

  #interview_single .interview_content {
    margin-left: 0;
    margin-right: 0;
    padding-top: 300px;
  }

}

.works .contents_color .contents_area .tab-contents-item .works_main .works_cmt .works_text_interview.not_offer.hover a {
  background-color: #c3c3c3 !important;
}

.mw_wp_form .error {
  margin: auto;
}