@charset "UTF-8";
/*変数定義*/
/*color*/
/*column*/
/** リセットCSSここから↓**/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/** リセットCSSここまで↑**/
/**共通レイアウトここから**/
@font-face {
  font-family: "Open Sans";
  src: url(../font/OpenSans-Regular.woff) format("woff");
  font-weight: 400;
}
@font-face {
  font-family: "Open Sans";
  src: url(../font/OpenSans-SemiBold.woff) format("woff");
  font-weight: 600;
}
@font-face {
  font-family: "Open Sans";
  src: url(../font/OpenSans-Bold.woff) format("woff");
  font-weight: 700;
}
body {
  font-size: 16px;
  line-height: 120%;
  color: #3d3d3d;
  background-color: #ffffff;
  font-family: "BIZ UDPGothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  position: relative;
  overflow-x: hidden;
}
.center {
  width: 985px;
  margin: 0 auto;
}
#ngmargin{
  margin
}
p {
  line-height: 160%;
}

a {
  text-decoration: none;
  color: #3d3d3d;
}
li {
  list-style-type: none;
}

.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 44px;
}
.btn a {
  background: #006d9c;
  display: block;
  height: 60px;
  text-align: center;
  border: 2px solid #006d9c;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  border-radius: 10px;
  font-weight: 600;
  padding: 20px 24px;
  position: relative;
  font-size: 18px;
  letter-spacing: 6%;
}
.btn a:hover {
  color: #006d9c;
  background: #fff;
  transition: all 0.3s;
}
.btn a img.disp,
.btn a img.disnon {
  margin-left: 24px;
}
.btn a img.disnon {
  display: none;
}
.btn a:hover img.disp {
  display: none;
}
.btn a:hover img.disnon {
  display: block;
}
figure img {
  width: 100%;
  display: block;
}

.bold {
  font-weight: bold;
}

article {
  margin-top: 135px;
}

header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 4;
}
header .hd_con {
  width: 100%;
  border-bottom: 1px solid #c3c3c3;
}
header .hd_con2 {
  border-bottom: 2px solid #bfbfbf;
}
header .sub_menu {
  width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 72px;
  padding: 0 50px;
}
header .sub_menu ul {
  display: flex;
  justify-content: flex-end;
}
header .sub_menu ul li {
  margin-right: 8px;
}
header .sub_menu ul li:last-child {
  margin-right: 0;
}
header .sub_menu ul .hd_btn {
  display: flex;
  justify-content: center;
  align-items: center;
}
header .sub_menu ul .hd_btn a {
  display: block;
  height: 48px;
  text-align: center;
  align-items: center;
  color: #fff;
  background-color: #c25400;
  border-radius: 50px;
  font-weight: 600;
  padding: 16px 28px;
  border: 2px solid #c25400;
  line-height: 0.9;
}
header .sub_menu ul .hd_btn a:hover {
  background: #fff;
  color: #c25400;
  transition: all 0.3s;
}
header nav {
  width: 985px;
  margin: 0 auto;
}
header nav ul {
  display: -ms-flexbox;
  display: -webkit-box;
  display: flex;
  flex-shrink: 0;
  -ms-flex-pack: justify;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -ms-flex-align: center;
  -webkit-box-align: center;
  align-items: center;
  height: 60px;
}
header nav ul li {
  font-weight: 600;
  margin-right: 2em;
}
header nav ul li a {
  position: relative;
  white-space: nowrap;
}
header nav ul li a:hover {
  color: #9a9a9a;
}
header nav ul li a:hover::after {
  position: absolute;
  content: "";
  bottom: -1.5em;
  left: 0;
  background: #006d9c;
  width: 100%;
  height: 12px;
  transition: all 0.2s;
}
header nav ul li:last-child {
  margin-right: 0;
}

.bread {
  margin-bottom: 20px;
  display: flex;
  flex-flow: wrap;
}
.bread li {
  margin-right: 16px;
  font-size: 14px;
  position: relative;
  color: #006d9c;
}
.bread li a {
  text-decoration: underline;
  color: #006d9c;
}
.bread li:last-child {
  margin-right: 0;
  color: #3d3d3d;
}

header .drawer-hamburger,
.drawer-nav {
  display: none;
}

.bk_gr2 {
  background: #eeeeee;
}

.bk_gr3 {
  background: #e9e9e9;
}

.bk_wh {
  background: #fff;
}

section.h4_hr h4 {
  font-size: 24px;
  font-weight: 600;
  border-bottom: 1px solid #bebebe;
  margin-bottom: 12px;
  padding-bottom: 12px;
  text-align: left;
}

.center {
  padding: 88px 0;
}
.center h2 {
  color: #3d3d3d;
  font-size: 40px;
  margin: 72px 0;
}
.center h2 span {
  display: block;
  margin-top: 1em;
  font-size: 24px;
  font-family: "Open Sans", "BIZ UDPGothic", "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
    "MS PGothic", "sans-serif";
}
.center h3 {
  font-size: 32px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 40px;
  line-height: 130%;
}
.center h3 span {
  display: block;
  font-size: 24px;
  font-weight: 600;
  font-family: "Open Sans", "BIZ UDPGothic", "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
    "MS PGothic", "sans-serif";
}
.center p {
  letter-spacing: 0.1em;
}
.center .ft18 {
  font-size: 18px;
  font-weight: 600;
}

.title {
  padding: 0;
  margin-top: 220px;
}

.pagenation {
  margin-top: 68px;
}
.pagenation ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagenation ul li {
  margin-right: 28px;
  font-size: 20px;
  font-weight: 600;
  font-family: "Open Sans", "BIZ UDPGothic", "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
    "MS PGothic", "sans-serif";
}
.pagenation ul li .current {
  color: #006d9c;
  border-bottom: 4px solid #006d9c;
}
.pagenation ul li:first-child {
}
.pagenation ul li:last-child {
  margin-right: 0;
}

footer {
  padding: 56px 0 0;
  background: #3d3d3d;
}
footer .center {
  padding: 0;
  padding-bottom: 56px;
}
footer .center h1 {
  text-align: left;
}
footer .center nav {
  display: flex;
  justify-content: space-between;
  margin-top: 48px;
  border-bottom: 1px solid #fff;
}
footer .center nav ul li {
  margin-bottom: 44px;
}
footer .center nav ul li a {
  color: #fff;
  font-weight: 600;
  font-size: 18px;
}
footer .center nav ul li a:hover {
  text-decoration: underline;
}
footer .center nav ul li .sub_menu li {
  margin-bottom: 28px;
}
footer .center nav ul li .sub_menu li a {
  font-weight: 500;
  font-size: 16px;
}
footer .center nav ul li .sub_menu li:first-child {
  margin-top: 20px;
}
footer .center .pplink {
  justify-content: center;
  margin-top: 10px;
  display: flex;
}
footer .center .pplink li:first-child {
  margin-right: 20px;
}
footer .center .pplink a {
  color: #fff;
  font-size: 14px;
}
footer .center .copy {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  margin: 32px 0 0;
}

/**共通レイアウトここまで**/
/**トップページここから**/
#top h3 {
  font-size: 32px;
  font-weight: 600;
  text-align: left;
}
#top .slide_wrap {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
}
#top .slide_wrap figure {
  width: 50vw;
  border-right: 1px solid #3d3d3d;
}
#top .slide_wrap figure img {
  display: block;
  width: 100%;
  height: 100%;
}
#top .slide_wrap .slide {
  width: 50vw;
}
#top .slide_wrap .slide .slick-prev {
  content: url(../img/arrow_env_l.png);
  position: absolute;
  right: 11em;
  bottom: 3.2em;
  z-index: 1;
  width: 52px;
  height: 52px;
  cursor: pointer;
}
#top .slide_wrap .slide .slick-next {
  content: url(../img/arrow_env_r.png);
  position: absolute;
  right: 2em;
  bottom: 3.2em;
  width: 52px;
  height: 52px;
  z-index: 1;
  cursor: pointer;
}
#top .slide_wrap .slide .dots-wrap {
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: 2em;
  right: 0;
  width: 258px;
  height: 92px;
  background-image: url(../img/top_slide_btnbk.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
}
#top .slide_wrap .slide .dots-wrap li {
  width: 8px;
  height: 8px;
  margin: 0 10px;
  background: #006d9c;
  border-radius: 50%;
  cursor: pointer;
}
#top .slide_wrap .slide .dots-wrap li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}
#top .slide_wrap .slide .dots-wrap li.slick-active {
  position: relative;
}
#top .slide_wrap .slide .dots-wrap li.slick-active::after {
  position: absolute;
  content: "";
  width: 20px;
  height: 20px;
  top: 50%;
  right: -80%;
  transform: translateY(-50%);
  border: 1px solid #006d9c;
  border-radius: 50%;
}
#top .top_news .center {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#top .top_news .center h3 + div {
  width: 74%;
}
#top .top_news .center .news_list li {
  padding: 32px 0 32px 0;
}
#top .top_news .center .news_list li a:hover p {
  color: #006d9c;
  text-decoration: underline;
  transition: all 0.3s;
}
#top .top_news .center .news_list li::after {
  content: none;
}
#top .top_news .center .btn {
  justify-content: flex-end;
}
#top .ceo_bk {
  width: 100%;
  height: 63px;
}
#top .ceo_bk img {
  display: block;
  object-fit: fill;
  width: 100%;
  height: 63px;
}
#top .top_ceo {
  background-image: url(../img/bk_top_ceo2.png);
  color: #fff;
}
#top .top_ceo .top_ceo_msg {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 60px;
  margin-bottom: 60px;
  border-bottom: 1px solid #fff;
}
#top .top_ceo .top_ceo_msg > div {
  width: 47%;
}
#top .top_ceo .top_ceo_msg h4 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 20px;
}
#top .top_ceo .top_ceo_msg .btn {
  justify-content: flex-start;
}
#top .top_ceo .top_ceo_msg .btn a {
  background: #fff;
  color: #006d9c;
  border: 2px solid #fff;
}

#top .top_ceo .top_ceo_msg .btn a:hover {
  background: #006d9c;
  color: #fff;
}

#top .top_ceo .top_ceo_msg figure {
  width: 40%;
}
#top .top_ceo .top_ceo_about h3,
#top .top_ceo .top_ceo_about p {
  text-align: center;
}
#top .top_ceo .top_ceo_about p {
  margin-bottom: 52px;
}
#top .top_job {
  background-image: url(../img/bk_top_job.png);
}
#top .top_job ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
#top .top_job ul li {
  width: 48%;
}
#top .top_job ul li figure {
  cursor: pointer;
  overflow: hidden;
}
#top .top_job ul li figure img {
  display: block;
  transition: transform 0.4s ease;
}
#top .top_job ul li figure:hover img {
  transform: scale(1.05);
}
#top .top_job ul li div {
  background: #fff;
  width: 100%;
  padding: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#top .top_job ul li div h4 {
  font-size: 24px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
}
#top .top_job ul li div h4 img {
  margin-left: 1em;
}
#top .top_job ul li:first-child {
  margin-right: 4%;
}
#top .top_job .btn {
  justify-content: flex-end;
}
#top .top_job .btn a {
  width: 280px;
}
#top .top_env {
  background-image: url(../img/bk_top_env.png);
}
#top .top_env ul {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
#top .top_env ul li {
  width: 32%;
  margin-right: 2.4%;
}
#top .top_env ul li figure {
  margin-bottom: 12px;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
#top .top_env ul li figure img {
  display: block;
  transition: transform 0.4s ease;
}
#top .top_env ul li figure h4 {
  position: absolute;
  right: 1em;
  bottom: 0.5em;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 2;
}
#top .top_env ul li figure h4 img {
  margin-left: 6px;
  width: 40px;
  height: 40px;
  display: inline-block;
}
#top .top_env ul li figure::after {
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 100%;
  height: 92px;
  background-image: url(../img/top_env_gr.jpg);
  background-repeat: repeat-x;
}
#top .top_env ul li figure:hover > img {
  transform: scale(1.1);
}
#top .top_env ul li p {
  font-weight: 600;
}
#top .top_env ul li:last-child {
  margin-right: 0;
}
#top .top_tra {
  background-image: url(../img/bk_top_tra.png);
  padding-bottom: 36px;
}
#top .top_tra .center {
  padding-bottom: 0;
}
#top .top_tra .center h3 {
  margin-bottom: 0;
}
#top .top_tra_img img {
  width: 100%;
  display: block;
}
#top .top_tra2 {
  background-image: url(../img/bk_top_tra.png);
}
#top .top_tra2 .center {
  padding-top: 40px;
}
#top .top_tra2 .center p {
  font-weight: 600;
  margin-bottom: 28px;
}
#top .top_tra2 .center .top_tra_list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: wrap;
}
#top .top_tra2 .center .top_tra_list li {
  width: 49%;
  height: 80px;
  margin-right: 2%;
  margin-bottom: 28px;
  border: 2px solid #006d9c;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  cursor: pointer;
  background: #fff;
}
#top .top_tra2 .center .top_tra_list li h4 {
  font-size: 18px;
  font-weight: 600;
}
#top .top_tra2 .center .top_tra_list li img.disnon {
  display: none;
}
#top .top_tra2 .center .top_tra_list li:hover {
  background: #006d9c;
  transition: all 0.3s;
}
#top .top_tra2 .center .top_tra_list li:hover img {
  display: none;
}
#top .top_tra2 .center .top_tra_list li:hover img.disnon {
  display: block;
}
#top .top_tra2 .center .top_tra_list li:hover h4 {
  color: #fff;
  text-decoration: underline;
}
#top .top_tra2 .center .top_tra_list li:hover h4 {
  color: #fff;
  text-decoration: underline;
}
#top .top_tra2 .center .top_tra_list li:nth-child(2n) {
  margin-right: 0;
}
#top .top_tra2 .center .top_tra_list li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

#top .top_tec {
  background-image: url(../img/bk_top_tec.png);
}
#top .top_tec .top_tec_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#top .top_tec .top_tec_wrap p {
  font-weight: 600;
  width: 75%;
}
#top .top_tec .top_tec_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#top .top_tec .top_tec_list li {
  width: 23.9%;
  margin-right: 1.3%;
  border: 2px solid #006d9c;
  border-radius: 50%;
  height: 236px;
  position: relative;
  text-align: center;
  overflow: hidden;
  cursor: pointer;
}
#top .top_tec .top_tec_list li a {
  display: block;
  height: 100%;
}
#top .top_tec .top_tec_list li a > img {
  display: block;
  width: 100%;
  transition: transform 0.4s ease;
}
#top .top_tec .top_tec_list li a div {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../img/top_tec_ttl.png);
  background-position: bottom;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 105px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#top .top_tec .top_tec_list li a div h4 {
  font-size: 17px;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
}
#top .top_tec .top_tec_list li a div h4 img {
  display: block;
  width: 40px;
  height: 40px;
  margin-top: 10px;
}
#top .top_tec .top_tec_list li:last-child {
  margin-right: 0;
}
#top .top_tec .top_tec_list li:nth-child(even) {
  margin-top: 60px;
}
#top .top_tec .top_tec_list li:hover a > img:first-of-type {
  transform: scale(1.1);
}
#top .top_emp {
  display: flex;
  justify-content: center;
  align-items: center;
}
#top .top_emp .top_emp_wrap {
  width: 50%;
  height: 568px;
  overflow: hidden;
  justify-content: center;
  align-items: center;
  /*padding-left: 75px;*/
  position: relative;
}
#top .top_emp .top_emp_wrap .top_emp_box {
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  display: flex;
  transition: transform 0.4s ease;
}
#top .top_emp .top_emp_wrap .top_emp_in {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  border: 1px solid #fff;
  text-align: center;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  height: 492px;
  width: 492px;
}
#top .top_emp .top_emp_wrap .top_emp_in h3 {
  font-size: 32px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  margin-bottom: 32px;
  line-height: 1.5;
}
#top .top_emp .top_emp_wrap .top_emp_in h3 span {
  font-family: "Open Sans", "BIZ UDPGothic", "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
    "MS PGothic", "sans-serif";
  font-size: 24px;
  font-weight: 600;
  display: block;
}
#top .top_emp .top_emp_wrap .top_emp_in .btn {
  justify-content: center;
  margin-top: 0;
}
#top .top_emp .top_emp_wrap .top_emp_in .btn a {
  background: #fff;
  color: #006d9c;
  width: inherit;
  padding: 20px 40px;
}
#top .top_emp .top_emp_wrap .top_emp_in .btn a img {
  margin-left: 24px;
}

#top .top_emp .top_emp_wrap:first-of-type .top_emp_box {
  background-image: url(../img/top_emp1.png);
}
#top .top_emp .top_emp_wrap:first-of-type {
  border-right: 1px solid #fff;
}
#top .top_emp .top_emp_wrap:last-of-type .top_emp_box {
  background-image: url(../img/top_emp2.png);
  padding-right: 75px;
  padding-left: 0;
}
#top .top_emp .top_emp_wrap:last-of-type .top_emp_box .top_emp_in {
  height: 492px;
}
#top .top_emp .top_emp_wrap:hover .top_emp_box {
  transform: scale(1.05);
}
#top .top_rec {
  background-image: url(../img/bk_top_youkou.png);
}
#top .top_rec .center {
  width: 93.7%;
  padding: 60px 0;
}
#top .top_rec .center .top_rec_innner {
  background: #c25400;
  color: #fff;
  width: 82%;
  margin: 0 auto;
}
#top .top_rec .center .top_rec_innner .top_rec_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 36px 108px;
}
#top .top_rec .center .top_rec_innner .top_rec_wrap > div {
  width: 45.5%;
  margin-right: 30px;
}
#top .top_rec .center .top_rec_innner .top_rec_wrap > div p {
  font-weight: 600;
}
#top .top_rec .center .top_rec_innner .top_rec_wrap .top_rec_list {
  background: #fff;
  padding: 32px;
  width: 45.5%;
}
#top .top_rec .center .top_rec_innner .top_rec_wrap .top_rec_list li {
  margin-bottom: 16px;
}
#top .top_rec .center .top_rec_innner .top_rec_wrap .top_rec_list li .btn {
  margin-top: 0;
}
#top .top_rec .center .top_rec_innner .top_rec_wrap .top_rec_list li .btn a {
  background: #c25400;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  width: 362px;
  display: flex;
  justify-content: space-between;
  border: 2px solid #c25400;
  text-align: left;
}

#top
  .top_rec
  .center
  .top_rec_innner
  .top_rec_wrap
  .top_rec_list
  li
  .btn
  a:hover {
  background: #fff;
  color: #c25400;
}

#top
  .top_rec
  .center
  .top_rec_innner
  .top_rec_wrap
  .top_rec_list
  li:last-child {
  margin-bottom: 0;
}
#top .top_rec .center .top_rec_innner figure img {
  display: block;
  width: 100%;
}
#top .top_rec .center .top_rec_innner figure img:last-of-type {
  display: none;
}

/**トップページここまで**/
/**下層ページ共通ここから**/
.blank a {
  position: relative;
}

.blank a::after {
  content: url(../images/blank.svg);
}

.return {
  margin-top: 1em;
  position: relative;
}

.return a::after {
  content: none;
}

.return a::before {
  content: url(../images/arrow_r.svg);
  position: absolute;
  left: 1em;
}

.org a {
  background-color: #006d9c;
}

/**下層ページ共通ここまで**/
/**news一覧ここから**/
.news_list li {
  border-bottom: 1px solid #bebebe;
  padding: 32px 160px 32px 0;
  position: relative;
}
.news_list li div {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.news_list li div .news_ctg {
  color: #006d9c;
  font-size: 14px;
  font-weight: 600;
  padding: 5px 12px;
  background: #c4d5dd;
  border: 1px solid #7db0c6;
  border-radius: 5px;
  margin-right: 12px;
}
.news_list li p {
  font-weight: 600;
}
.news_list li:hover p {
  color: #006d9c;
  text-decoration: underline;
  transition: all 0.3s;
}
.news_list li:first-child {
  border-top: 1px solid #bebebe;
}
.news_list li::after {
  content: "";
  background-image: url(../img/arrow.png);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 48px;
  height: 48px;
}

/**news一覧ここまで**/
/**news詳細ここから**/
#news .bk_gr3 {
  padding: 88px;
}

.news_wrap {
  padding: 40px;
  background: #fff;
}
.news_wrap > div {
  margin-bottom: 8px;
}
.news_wrap h3 {
  font-size: 20px;
  font-weight: 600;
  padding-bottom: 24px;
  border-bottom: 1px solid #bebebe;
  line-height: 160%;
  text-align: left;
}
.news_wrap p {
  line-height: 180%;
  margin-top: 24px;
}

.news_ctg {
  color: #006d9c;
  font-size: 14px;
  font-weight: 600;
  padding: 5px 12px;
  background: #c4d5dd;
  border: 1px solid #7db0c6;
  border-radius: 5px;
  margin-right: 12px;
}

/**news詳細ここまで**/
/**新卒要項ここから**/
.top_sec {
  padding-top: 230px;
  margin-top: 240px;
  position: relative;
}

.top_sec::after {
  position: absolute;
  /*left: 148px;*/
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_new.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 80%;
  height: 452px;
  right: 0;
  top: -230px;
  overflow: hidden;
}

#req .top_sec {
  background-image: url(../img/bk_new.webp);
}
#req .top_sec figure img:last-of-type {
  display: none;
}
#req .top_sec h3,
#req .top_sec span,
#req .top_sec p {
  color: #fff;
  font-weight: 500;
  text-align: center;
}
#req .top_sec p {
  margin-bottom: 24px;
}
#req .top_sec + section figure img:last-of-type {
  display: none;
}
#req .bk_gr3 p {
  text-align: center;
  margin-bottom: 24px;
}
#req .bk_gr3 figure {
  margin-bottom: 55px;
}
#req .entry {
  padding: 56px 41px;
}
#req .entry h3,
#req .entry p {
  color: #fff;
  text-align: center;
}
#req .entry p {
  margin-bottom: 24px;
}
#req .entry ul {
  display: flex;
  justify-content: space-between;
}
#req .entry ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 33px;
  width: 48.2%;
  height: 120px;
}
#req .entry ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  background: #fff;
  font-size: 24px;
  font-weight: 600;
  color: #c25400;
  padding: 46px 40px 48px;
  border: 2px solid #fff;
  font-family: "BIZ UDPGothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  letter-spacing: 4%;
}
#req .entry ul li a img {
  margin-right: 8px;
}
#req .entry ul li a .none {
  display: none;
}
#req .entry ul li:nth-child(3):hover a {
  background: #c25400;
  color: #fff;
  transition: all 0.3s;
}
#req .entry ul li:nth-child(3):hover a img:first-of-type {
  display: none;
}
#req .entry ul li:nth-child(3):hover a .none {
  display: inline-block;
}
#req .entry ul li:last-child {
  margin-right: 0;
}
#req .entry ul li:nth-child(3) img {
  margin-right: 0;
  margin-left: 8px;
}
#req .entry_mini {
  background-image: url(../img/bk_new2.jpg);
}
#req .entry_mini li:hover a {
  background: #c25400;
  color: #fff;
  transition: all 0.3s;
}
#req .entry_mini li:hover a img:first-of-type {
  display: none;
}
#req .entry_mini li:hover a .none {
  display: inline-block;
}
#req .entry_big {
  background-image: url(../img/bk_new3.jpg);
}
#req .entry_big.entry_new li:hover a {
  background: #c25400;
  color: #fff;
  transition: all 0.3s;
}
#req .entry_big.entry_new li:hover a img:first-of-type {
  display: none;
}
#req .entry_big.entry_new li:hover a .none {
  display: inline-block;
}
#req .faq_list li {
  margin-bottom: 60px;
}
#req .faq_list li dt {
  display: flex;
  align-items: center;
  font-size: 20px;
  font-weight: 600;
  padding: 0 48px;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 12px;
  margin-bottom: 16px;
}
#req .faq_list li dt img {
  margin-right: 12px;
}
#req .faq_list li dd {
  padding: 0 48px;
  line-height: 160%;
}
#req .faq_list li dd a {
  color: #006d9c;
  text-decoration: underline;
}
#req .table_wrap {
  background: #fff;
  padding: 60px 68px;
}
#req .table_wrap dl {
  display: flex;
  justify-content: space-between;
  text-align: left;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 24px;
  margin-bottom: 24px;
}
#req .table_wrap dl dt {
  font-weight: 600;
  width: 17%;
}
#req .table_wrap dl dd {
  width: 80%;
  line-height: 160%;
}
#req .table_wrap dl dd p {
  text-align: left;
}
#req .table_wrap dl dd a {
  color: #006d9c;
  text-decoration: underline;
}

/**新卒要項ここまで**/
/**中途要項ここから**/
.top_sec.mid::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_mid.webp);
  background-size: cover;
  background-repeat: no-repeat;
  height: 452px;
  right: 0;
}

#req .entry_mid ul {
  flex-flow: wrap;
}
#req .entry_mid ul li:nth-child(2) {
  margin-right: 0;
  margin-bottom: 33px;
}
#req .entry_mid ul li:last-child {
  width: 100%;
}

/**中途要項ここまで**/
/**期間要項ここから**/
.top_sec.fix::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_fix.webp);
  background-size: cover;
  background-repeat: no-repeat;
  height: 452px;
  right: 0;
}
#req .fix .faq_list,
#req .fix .faq_list li dd a {
  color: #fff;
}
#req .fix .faq_list li dt {
  border-color: #fff;
}

/**期間要項ここまで**/
/**内定インタビューここから**/
#pros .top_sec::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_pros.webp);
  background-size: cover;
  background-repeat: no-repeat;
  height: 452px;
  right: 0;
}

#pros {
  position: relative;
}
#pros section {
  background: url(../img/bk_pros.png);
}
#pros section.title,
#pros section.bk_wh {
  background: #fff;
}
#pros .top_sec {
  position: relative;
}
#pros .top_sec p {
  text-align: center;
}
#pros .top_sec::before {
  position: absolute;
  content: "";
  background-image: url(../img/eng_pros.png);
  background-size: cover;
  width: 100%;
  height: 97px;
  left: 0;
  bottom: -90px;
}
#pros .intro {
  /* background: url(../img/intro_pros.png), #fff;
  background-repeat: no-repeat; */
  /* background-position: center; */
  padding: 50px 60px 40px 60px;
  background-color: #fff;
}
#pros .intro ul h3 {
  background-color: #fff;
  width: 147px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -10px;
  font-size: 20px;
  margin: initial;
}
#pros .intro ul {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 43px 24px 43px 23px;
  border: 2px solid #3d3d3d;
  max-width: 864px;
  width: 100%;
  gap: initial;
}
#pros .intro ul li {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 125px;
  flex-shrink: 0;
}
#pros .intro ul li img {
  width: 120px;
}
#pros .intro ul li span {
  text-align: center;
  font-size: 14px;
  display: block;
  margin-top: 8px;
  white-space: nowrap;
}
/* #sp-only {
  display: block;
} */
#pros .intro ul li:last-child {
  margin-right: 0;
}
/* #pros .intro ul li::after {
  position: absolute;
  content: url(../img/kakeru.png);
  top: 3em;
  right: -3.2em;
} */
/* #pros .intro ul li:last-child::after {
  content: none;
} */
#pros .talk_list {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #bebebe;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
#pros .talk_list h3 {
  font-size: 24px;
  font-weight: 600;
  width: 25.8%;
  text-align: left;
}
#pros .talk_list ul {
  width: 68%;
}
#pros .talk_list ul li {
  margin-bottom: 20px;
  display: flex;
  justify-content: flex-end;
}
#pros .talk_list ul li img {
  height: 72px;
  margin-right: 16px;
}
#pros .talk_list ul li .fukidasi {
  background: #fff;
  padding: 16px 32px;
}
#pros .talk_list ul li .fukidasi h4 {
  font-size: 14px;
  margin-bottom: 6px;
}
#pros .int_wrap {
  display: flex;
  justify-content: space-between;
}
#pros .int_wrap li {
  width: 47%;
  margin-right: 6%;
}
#pros .int_wrap li figure {
  overflow: hidden;
}
#pros .int_wrap li figure img {
  transition: transform 0.4s ease;
}
#pros .int_wrap li h3 {
  font-size: 22px;
  font-weight: 600;
  position: relative;
  margin: 20px 0 0;
  text-align: left;
}
#pros .int_wrap li h3::after {
  position: absolute;
  content: url(../img/arrow.png);
  top: -0.3em;
  right: 0;
}
#pros .int_wrap li:hover figure img {
  transform: scale(1.1);
}
#pros .int_wrap li:last-child {
  margin-right: 0;
}
#pros .int_wrap + .btn {
  margin-top: 50px;
}
#pros .int_wrap + .btn a::after {
  right: 1em;
  left: inherit;
  top: 1.2em;
}

/**内定インタビューここまで**/
/**クロストークここから**/
#cross .top_sec {
  background-image: url(../img/bk_cross.png);
  padding-top: 0;
  margin-top: 0;
  position: relative;
}
#cross .top_sec + section {
  background-image: url(../img/bk_cross.png);
}
#cross .top_sec::before {
  position: absolute;
  content: "";
  background-image: url(../img/eng_cross.png);
  background-size: cover;
  width: 100%;
  height: 96px;
  left: 0;
  top: 80px;
}
#cross .intro {
  background: url(../img/intro_cross.png), #fff;
  background-repeat: no-repeat;
  background-position: center 40px;
  padding: 67px 60px 67px;
  margin-top: 5em;
  position: relative;
}
#cross .intro h3 {
  font-size: 20px;
  margin-bottom: 1em;
  position: absolute;
  top: 2em;
  left: 50%;
  transform: translateX(-50%);
}
#cross .intro ul {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1em;
}
#cross .intro ul li {
  text-align: center;
  width: 28%;
  margin-right: 8%;
  position: relative;
}
#cross .intro ul li img {
  margin-bottom: 2em;
}
#cross .intro ul li h4 {
  position: absolute;
  bottom: 3em;
  right: 0;
  background: #3d3d3d;
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  width: 100%;
  padding: 10px 24px;
}
#cross .intro ul li span {
  text-align: center;
  font-size: 14px;
  display: block;
  margin-top: 8px;
}
#cross .intro ul li:last-child {
  margin-right: 0;
}
#cross .intro ul li::after {
  position: absolute;
  content: url(../img/kakeru.png);
  top: 7em;
  right: -3.2em;
}
#cross .intro ul li:last-child::after {
  content: none;
}
#cross .intro::before {
  position: absolute;
  content: "設計と現場が協力してつくる、当社ならではのモノづくり";
  width: 100%;
  top: -0.5em;
  left: 50%;
  transform: translateX(-50%);
  font-size: 28px;
  font-weight: 600;
  text-align: center;
}
#cross .talk_list {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  border-bottom: 1px solid #bebebe;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
#cross .talk_list h3 {
  font-size: 24px;
  font-weight: 600;
  width: 25.8%;
  text-align: left;
}
#cross .talk_list ul {
  width: 68%;
}
#cross .talk_list ul li {
  margin-bottom: 20px;
  display: flex;
  justify-content: flex-end;
}
#cross .talk_list ul li img {
  height: 72px;
  margin-right: 16px;
}
#cross .talk_list ul li .fukidasi {
  background: #fff;
  padding: 16px 32px;
}
#cross .talk_list ul li .fukidasi h4 {
  font-size: 14px;
  margin-bottom: 6px;
}
#cross .talk_list figure {
  width: 100%;
}
#cross .talk_list figure img {
  width: 100%;
  display: block;
}
#cross .per_int_wrap {
  display: flex;
  flex-flow: wrap;
  justify-content: flex-start;
}
#cross .per_int_wrap li {
  width: 47%;
  margin-right: 6%;
  position: relative;
}
#cross .per_int_wrap li figure {
  position: relative;
  overflow: hidden;
}
#cross .per_int_wrap li figure img {
  transition: transform 0.4s ease;
}
#cross .per_int_wrap li figure span {
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  position: absolute;
  bottom: 1em;
  right: 0;
  left: 0;
  margin: auto;
  padding: 0 20px;
  line-height: 160%;
  z-index: 2;
  text-align: center;
}
#cross .per_int_wrap li figure:hover img {
  transform: scale(1.1);
}
#cross .per_int_wrap li figure::after {
  content: "";
  background-image: url(../img/per_int_sm_gr.jpg);
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-position: bottom;
  background-repeat: no-repeat;
}
#cross .per_int_wrap li .per_int_wrap2 {
  margin-top: 12px;
  position: relative;
}
#cross .per_int_wrap li .per_int_wrap2 h3 {
  font-weight: 400;
  font-size: 16px;
  text-align: left;
  margin-top: 12px;
}
#cross .per_int_wrap li .per_int_wrap2::after {
  position: absolute;
  content: url(../img/arrow.png);
  right: 0;
  bottom: 20%;
}
#cross .per_int_wrap li:nth-child(2n) {
  margin-right: 0;
}

#cross .top_sec::after {
  content: none;
}

/**クロストークここまで**/
/**個別インタビューここから**/
#personal .top_sec {
  background-image: url(../img/bk_per.webp);
  padding-top: 0;
  margin-top: 0;
  position: relative;
}
#personal .top_sec + section {
  background-image: url(../img/bk_per.webp);
}
#personal .top_sec .center .per_int_ttl {
  background: #fff;
  padding: 50px 290px 3em 83px;
  margin-top: 5.5em;
  position: relative;
}
#personal .top_sec .center .per_int_ttl h3 {
  font-size: 24px;
  text-align: left;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 1em;
}
#personal .top_sec .center .per_int_ttl h4 {
  font-weight: 400;
  margin-top: 12px;
}
#personal .top_sec .center .per_int_ttl figure {
  position: absolute;
  right: -60px;
  top: 50%;
  transform: translateY(-50%);
}
#personal .top_sec::after {
  content: none;
}
#personal .top_sec::before {
  position: absolute;
  content: "";
  background-image: url(../img/eng_per.png);
  background-size: cover;
  width: 100%;
  height: 96px;
  left: 0;
  top: 80px;
}
#personal .talk_list {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
  border-bottom: 1px solid #bebebe;
  margin-bottom: 40px;
  padding-bottom: 40px;
}
#personal .talk_list h3 {
  font-size: 24px;
  font-weight: 600;
  width: 25.8%;
  text-align: left;
}
#personal .talk_list ul {
  width: 68%;
}
#personal .talk_list ul li {
  margin-bottom: 20px;
  display: flex;
  justify-content: flex-end;
}
#personal .talk_list ul li img {
  height: 72px;
  margin-right: 16px;
}
#personal .talk_list ul li .fukidasi {
  background: #fff;
  padding: 16px 32px;
}
#personal .talk_list ul li .fukidasi h4 {
  font-size: 14px;
  margin-bottom: 6px;
}
#personal .talk_list figure {
  width: 100%;
  text-align: right;
}
#personal .time_line {
  background-image: url(../img/bk_per.webp);
}
#personal .time_line .time_line_wrap {
  background: #fff;
  padding: 40px 80px 40px 68px;
}
#personal .time_line .time_line_wrap ul li {
  padding-bottom: 60px;
  border-left: 1.5px dashed #3d3d3d;
  padding: 1em 0 60px 1.25em;
}
#personal .time_line .time_line_wrap ul li .per_time {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  background: #3d3d3d;
  border-radius: 50px;
  padding: 8px 16px;
  display: inline-block;
  margin-bottom: 8px;
  position: relative;
}
#personal .time_line .time_line_wrap ul li .per_time::after {
  position: absolute;
  content: "";
  left: -2em;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #3d3d3d;
  border-radius: 50%;
  width: 16px;
  height: 16px;
}
#personal .time_line .time_line_wrap ul li h4 {
  font-size: 24px;
  font-weight: 600;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 12px;
  margin-bottom: 12px;
}
#personal .time_line .time_line_wrap ul li:first-child,
#personal .time_line .time_line_wrap ul li:last-child {
  border: none;
}
#personal .time_line .time_line_wrap ul li:first-child .per_time::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 190px;
  /*background: url(../img/time_line.png);*/
  /*background-repeat: repeat-y;*/
  left: -1.5em;
  bottom: -13em;
  border-right: 1.5px dashed #3d3d3d;
}
#personal .time_line .time_line_wrap ul li:last-child .per_time::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 30px;
  /*background: url(../img/time_line.png);*/
  /*background-repeat: repeat-y;*/
  left: -1.5em;
  top: -1em;
  border-right: 1.5px dashed #3d3d3d;
}
#personal .per_int_wrap {
  display: flex;
  flex-flow: wrap;
  justify-content: flex-start;
}
#personal .per_int_wrap li {
  width: 47%;
  margin-right: 6%;
  position: relative;
}
#personal .per_int_wrap li figure {
  position: relative;
  overflow: hidden;
}
#personal .per_int_wrap li figure img {
  transition: transform 0.4s ease;
}
#personal .per_int_wrap li figure span {
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  position: absolute;
  bottom: 1em;
  right: 0;
  left: 0;
  margin: auto;
  padding: 0 20px;
  line-height: 160%;
  z-index: 2;
  text-align: center;
}
#personal .per_int_wrap li figure:hover img {
  transform: scale(1.1);
}
#personal .per_int_wrap li figure::after {
  content: "";
  background-image: url(../img/per_int_sm_gr.jpg);
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-position: bottom;
  background-repeat: repeat-x;
}
#personal .per_int_wrap li .per_int_wrap2 {
  margin-top: 12px;
  position: relative;
}
#personal .per_int_wrap li .per_int_wrap2 h3 {
  font-weight: 400;
  font-size: 16px;
  text-align: left;
  margin-top: 12px;
}
#personal .per_int_wrap li .per_int_wrap2::after {
  position: absolute;
  content: url(../img/arrow.png);
  right: 0;
  bottom: 20%;
}
#personal .per_int_wrap li:nth-child(2n) {
  margin-right: 0;
}
#personal .crs_mini {
  background: #e9e9e9;
}
#personal .crs_mini .per_crs_link {
  display: flex;
  justify-content: space-between;
  align-content: center;
}
#personal .crs_mini .per_crs_link h4 {
  font-size: 24px;
  margin-bottom: 12px;
  line-height: 140%;
}
#personal .crs_mini .per_crs_link span {
  display: block;
  margin-bottom: 12px;
}
#personal .crs_mini .per_crs_link span:last-of-type {
  padding-bottom: 12px;
  border-bottom: 1px solid #bebebe;
}
#personal .crs_mini .per_crs_link .btn a::after {
  left: inherit;
  right: 1em;
  /*top: 30%;*/
}

/**個別インタビューここまで**/
/**社員の声ここから**/
#emp .top_sec p {
  text-align: center;
}
#emp .top_sec::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_emp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 85%;
  height: 452px;
  right: 0;
  left: inherit;
}
#emp .per_int_wrap {
  display: flex;
  flex-flow: wrap;
  justify-content: flex-start;
}
#emp .per_int_wrap li {
  width: 47%;
  margin-right: 6%;
  position: relative;
}
#emp .per_int_wrap li figure {
  position: relative;
  overflow: hidden;
}
#emp .per_int_wrap li figure img {
  transition: transform 0.4s ease;
}
#emp .per_int_wrap li figure span {
  font-size: 22px;
  font-weight: 600;
  color: #fff;
  position: absolute;
  bottom: 1em;
  right: 0;
  left: 0;
  margin: auto;
  padding: 0 20px;
  line-height: 160%;
  z-index: 2;
  text-align: center;
}
#emp .per_int_wrap li figure:hover img {
  transform: scale(1.1);
}
#emp .per_int_wrap li figure::after {
  background-image: url(../img/per_int_sm_gr.jpg);
  position: absolute;
  content: "";
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-position: bottom;
  background-repeat: repeat-x;
}
#emp .per_int_wrap li .per_int_wrap2 {
  margin-top: 12px;
  position: relative;
}
#emp .per_int_wrap li .per_int_wrap2 h3 {
  font-weight: 400;
  font-size: 16px;
  text-align: left;
  margin-top: 12px;
}
#emp .per_int_wrap li .per_int_wrap2::after {
  position: absolute;
  content: url(../img/arrow.png);
  right: 0;
  bottom: 20%;
}
#emp .per_int_wrap li:nth-child(2n) {
  margin-right: 0;
}
#emp .crs_mini {
  background: #e9e9e9;
}
#emp .crs_mini .per_crs_link {
  display: flex;
  justify-content: space-between;
  align-content: center;
}
#emp .crs_mini .per_crs_link figure {
  margin-right: 20px;
}
#emp .crs_mini .per_crs_link h4 {
  font-size: 24px;
  margin-bottom: 12px;
  line-height: 140%;
}
#emp .crs_mini .per_crs_link span {
  display: block;
  margin-bottom: 12px;
}
#emp .crs_mini .per_crs_link span:last-of-type {
  padding-bottom: 12px;
  border-bottom: 1px solid #bebebe;
}
#emp .crs_mini .per_crs_link .btn a::after {
  left: inherit;
}

/**社員の声ここまで**/
/**技術ここから**/
#tec {
  /*モーダル*/
}
#tec .top_sec {
  background: url(../img/bk_tec.png);
}
#tec .top_sec ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 40px;
  margin-bottom: 40px;
}
#tec .top_sec ul li {
  width: 48%;
  margin-right: 4%;
}
#tec .top_sec ul li img {
  width: 100%;
}
#tec .top_sec ul li h5 {
  font-size: 20px;
  font-weight: 600;
  background: #fff;
  padding: 20px 0;
  text-align: center;
}
#tec .top_sec ul li:last-child {
  margin-right: 0;
}
#tec .top_sec ul + p {
  text-align: center;
}
#tec .top_sec h4 {
  line-height: 1.5;
}
#tec .top_sec .caption {
  font-size: 12px;
}
#tec .top_sec::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_tec.webp);
  background-size: cover;
  background-repeat: no-repeat;
  height: 452px;
  right: 0;
}
#tec h4 {
  font-size: 24px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 16px;
}
#tec p {
  margin-bottom: 24px;
}
#tec .flow {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#tec ul.flow li {
  width: 31%;
  margin-right: 3%;
}
#tec ul.flow li figure {
  height: 212px;
}
#tec ul.flow li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#tec ul.flow li p {
  font-size: 14px;
  font-weight: 600;
  background: #e9e9e9;
  padding: 16px 20px;
}
#tec ul.flow li:last-child {
  margin-right: 0;
}
#tec .h4_hr h4 {
  text-align: left;
}
#tec .h4_hr .flow div {
  width: 47%;
}
#tec .h4_hr .flow:first-of-type {
  margin-bottom: 68px;
}
#tec .h4_hr .flow:first-of-type div {
  margin-right: 3%;
}
#tec .h4_hr .flow:last-of-type div {
  margin-left: 3%;
}
#tec .tec_flow {
  display: flex;
  justify-content: flex-start;
  flex-flow: wrap;
}
#tec .tec_flow li {
  width: 20.7%;
  margin-right: 14.4%;
  margin-bottom: 36px;
  position: relative;
}
#tec .tec_flow li .flow_ttl {
  text-align: center;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#tec .tec_flow li .flow_ttl span {
  font-family: "Open Sans", "BIZ UDPGothic", "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
    "MS PGothic", "sans-serif";
  font-size: 32px;
  font-weight: 600;
  margin-right: 6px;
}
#tec .tec_flow li .flow_ttl h5 {
  font-size: 20px;
  font-weight: 600;
  border: 1px solid #3d3d3d;
  background: #fff;
  padding: 12px 16px;
  display: inline-block;
  width: inherit;
}
#tec .tec_flow li figure {
  margin-bottom: 8px;
}
#tec .tec_flow li .btn {
  margin-top: 0;
  cursor: pointer;
}
#tec .tec_flow li .btn a {
  width: 100%;
  height: inherit;
  text-align: left;
}

#tec .tec_flow li::after {
  position: absolute;
  content: url(../img/arrow_new.png);
  right: -5em;
  top: 50%;
  transform: translateY(-50%);
}
#tec .tec_flow li:nth-child(3) {
  margin-right: 9%;
}
#tec .tec_flow li:nth-child(4) {
  margin-left: 9%;
}
#tec .tec_flow li:last-child {
  margin-right: 0;
}
#tec .tec_flow li:last-child::after {
  content: none;
}
#tec .modal_wrap {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}
#tec .modal_wrap .modal_layer {
  height: 100%;
  background: rgba(61, 61, 61, 0.8);
}
#tec .modal_wrap .modal_container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  height: 90vh;
  padding: 60px 68px;
  background: #fff;
}
#tec .modal_wrap .modal_container .modal_inner {
  overflow-y: scroll;
  height: 100%;
  padding: 20px;
}
#tec .modal_wrap .modal_container .modal_inner .modal_content h4 {
  font-size: 24px;
  font-weight: 600;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 16px;
  margin-bottom: 16px;
  text-align: left;
}
#tec .modal_wrap .modal_container .modal_inner .modal_content .modal_list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-flow: wrap;
}
#tec .modal_wrap .modal_container .modal_inner .modal_content .modal_list li {
  width: 48.5%;
  margin-right: 3%;
  margin-bottom: 36px;
}
#tec
  .modal_wrap
  .modal_container
  .modal_inner
  .modal_content
  .modal_list
  li
  img {
  display: block;
  width: 100%;
}
#tec
  .modal_wrap
  .modal_container
  .modal_inner
  .modal_content
  .modal_list
  li
  h5 {
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  margin-top: 4px;
}
#tec
  .modal_wrap
  .modal_container
  .modal_inner
  .modal_content
  .modal_list
  li:nth-child(2n) {
  margin-right: 0;
}
#tec
  .modal_wrap
  .modal_container
  .modal_inner
  .modal_content
  .modal_list
  li:nth-child(3),
#tec
  .modal_wrap
  .modal_container
  .modal_inner
  .modal_content
  .modal_list
  li:nth-child(4) {
  margin-bottom: 0;
}
#tec .bt_52 {
  margin-bottom: 52px;
}

/**技術ここまで**/
/**教育ここから**/
#train .top_sec {
  background: url(../img/bk_tra.png);
}
#train .top_sec figure img:last-of-type {
  display: none;
}
#train .top_sec::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_train.webp);
  background-size: cover;
  background-repeat: no-repeat;
  height: 452px;
  right: 0;
}
#train p {
  margin-bottom: 24px;
}
#train .tra_list li {
  background: #fff;
  margin-bottom: 20px;
  padding: 28px 68px;
}
#train .tra_list li h4 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #bebebe;
}
#train .tra_list li p {
  margin-bottom: 0;
}
#train .tra_wrap {
  margin-bottom: 72px;
}
#train .tra_wrap .car {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  background: #3d3d3d;
  border-radius: 50px;
  padding: 6px 12px;
  display: inline-block;
  margin-bottom: 12px;
}
#train .tra_wrap h4 {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid #bebebe;
}
#train .tra_wrap h4 span {
  font-size: 18px;
  margin-left: 1em;
}

/**教育ここまで**/
/**環境ここから**/
#env .top_sec::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_env.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  /*width: 100%;*/
  height: 452px;
  right: 0;
}
#env p {
  margin-bottom: 24px;
  text-align: center;
}
#env .top_sec ul {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
}
#env .top_sec ul li {
  background: #fff;
  width: 49%;
  margin-right: 2%;
  margin-bottom: 18px;
  padding: 28px 36px;
  text-align: center;
}
#env .top_sec ul li .car {
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  background: #3d3d3d;
  border-radius: 50px;
  padding: 6px 12px;
  display: inline-block;
  margin-bottom: 12px;
}
#env .top_sec ul li .number {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
#env .top_sec ul li .mar_top {
  margin-top: 24px;
}
#env .top_sec ul li .number h4 {
  vertical-align: bottom;
  font-family: "Open Sans", "BIZ UDPGothic", "メイリオ", Meiryo,
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック",
    "MS PGothic", "sans-serif";
  font-size: 96px;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0;
}
#env .top_sec ul li .number h4 span {
  font-family: "BIZ UDPGothic", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 32px;
  display: inline-block;
}
#env .top_sec ul li .number .num_in {
  display: flex;
  justify-content: center;
  align-items: center;
}
#env .top_sec ul li .number .num_in h4 {
  font-size: 74px;
}
#env .top_sec ul li .number .num_in span:first-of-type {
  font-size: 24px;
  font-weight: 600;
  margin-right: 12px;
}
#env .top_sec ul li .number .num_in:first-of-type {
  border-right: 1px solid #bebebe;
  margin-right: 16px;
  padding-right: 16px;
}
#env .top_sec ul li .number.num_col {
  flex-flow: column;
  align-items: flex-start;
}
#env .top_sec ul li .number.num_col .num_in {
  border-right: none;
  border-bottom: 1px solid #bebebe;
  font-size: 60px;
  padding-bottom: 12px;
  margin-bottom: 12px;
  width: 100%;
  justify-content: space-between;
  padding: 12px 60px;
}
#env .top_sec ul li .number.num_col .num_in span span {
  font-size: 16px;
}
#env .top_sec .num_non {
  width: 100%;
}
#env .top_sec .num_non li {
  width: 100%;
  margin: 0;
}
#env .top_sec .num_non li p {
  margin-bottom: 0;
}
#env .top_sec ul li .num_wrap {
  margin-top: 32px;
  background: #e9e9e9;
  padding: 16px 20px;
}
#env .top_sec ul li:nth-child(2n) {
  margin-right: 0;
}
#env .wel_list_wrap {
  background: #e9e9e9;
  position: relative;
  padding: 44px 2em 24px 2em;
  margin: 52px 0;
}
#env .wel_list_wrap .car {
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  background: #3d3d3d;
  border-radius: 50px;
  padding: 12px 20px;
  display: inline-block;
  margin-bottom: 12px;
}
#env .wel_list_wrap .wel_list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: wrap;
}
#env .wel_list_wrap .wel_list li {
  width: 268px;
  height: 268px;
  margin-right: 1%;
  margin-bottom: 16px;
  background: #fff;
  border-radius: 50%;
  padding: 50px 28px;
  background-repeat: no-repeat;
  background-position: center;
}
#env .wel_list_wrap .wel_list li h4 {
  font-size: 20px;
  font-weight: 600;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 6px;
  margin-bottom: 12px;
  text-align: center;
}
#env .wel_list_wrap .wel_list li p {
  text-align: left;
  font-size: 14px;
}
#env .wel_list_wrap .wel_list li:nth-child(3n) {
  margin-right: 0;
}
#env .wel_list_wrap .wel_list li:first-child {
  background-image: url(../img/env_wel1.png);
}
#env .wel_list_wrap .wel_list li:nth-child(2) {
  background-image: url(../img/env_wel2.png);
}
#env .wel_list_wrap .wel_list li:nth-child(3) {
  background-image: url(../img/env_wel3.png);
}
#env .wel_list_wrap .wel_list li:nth-child(4) {
  background-image: url(../img/env_wel4.png);
}
#env .wel_list_wrap .wel_list li:nth-child(5) {
  background-image: url(../img/env_wel5.png);
}
#env .wel_list_wrap .wel_list li:nth-child(6) {
  background-image: url(../img/env_wel6.png);
}
#env .wel_list_wrap + h4 {
  text-align: center;
  border-top: 1px solid #bebebe;
  margin-bottom: 36px;
  padding-top: 56px;
  font-size: 20px;
}
#env .ot_list {
  display: flex;
  justify-content: space-between;
  flex-flow: wrap;
}
#env .ot_list li {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 24px;
}
#env .ot_list li figure {
  width: 100%;
  height: 192px;
}
#env .ot_list li figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#env .ot_list li .ot_wrap {
  background: #e9e9e9;
  padding: 28px;
}
#env .ot_list li .ot_wrap h5 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 8px;
}
#env .ot_list li .ot_wrap p {
  font-size: 14px;
  text-align: left;
  margin-bottom: 0;
}
#env .ot_list li:nth-child(even) {
  margin-right: 0;
}
#env .env_slide {
  position: relative;
}
#env .env_slide .slick-prev {
  padding: 0;
  border: none;
  font: inherit;
  color: inherit;
  background: none;
  background-image: url(../img/arrow_env_l.png);
  background-size: cover;
  position: absolute;
  left: -2em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
  width: 72px;
  height: 72px;
}
#env .env_slide .slick-next {
  padding: 0;
  border: none;
  font: inherit;
  color: inherit;
  background: none;
  background-image: url(../img/arrow_env_r.png);
  background-size: cover;
  position: absolute;
  right: -2em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  cursor: pointer;
  width: 72px;
  height: 72px;
}
#env .cha_list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-flow: wrap;
}
#env .cha_list li {
  width: 21%;
  margin-right: 5.3%;
}
#env .cha_list li .cha_wrap {
  position: relative;
}
#env .cha_list li .cha_wrap figure {
  margin-bottom: 3em;
}
#env .cha_list li .cha_wrap h4 {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  bottom: -2em;
  background: #3d3d3d;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  padding: 12px 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 62px;
  width: 100%;
  line-height: 1.2;
  white-space: nowrap;
}
#env .cha_list li p {
  text-align: left;
}
#env .cha_list li:nth-child(4n) {
  margin-right: 0;
}
#env .cha_list li:first-child,
#env .cha_list li:nth-child(2),
#env .cha_list li:nth-child(3),
#env .cha_list li:nth-child(4) {
  margin-bottom: 40px;
}

/**環境ここまで**/
/**仕事内容ここから**/
#job .top_sec {
  background: url(../img/bk_job.png);
}
#job .top_sec h4 {
  font-size: 28px;
  text-align: center;
  margin-bottom: 44px;
}
#job .top_sec .job_list li {
  background: #fff;
  margin-bottom: 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#job .top_sec .job_list li .job_int_wrap {
  padding: 44px 54px;
  width: 56.5%;
  text-align: left;
}
#job .top_sec .job_list li .job_int_wrap h4 {
  font-size: 22px;
  border-bottom: 1px solid #bebebe;
  padding-bottom: 16px;
  margin-bottom: 16px;
  text-align: left;
}
#job .top_sec .job_list li .job_int_wrap .btn {
  width: 274px;
  margin-top: 20px;
  display: block;
}
#job .top_sec .job_list li .job_int_wrap .btn a {
  height: 80px;
  text-align: left;

  font-size: 16px;
  padding: 16px 18px;
}
#job .top_sec .job_list li .job_int_wrap .btn a::after {
  left: inherit;
  right: 0.5em;
  top: 2em;
}
#job .top_sec .job_list li .job_int_wrap .btn a img {
  margin-left: 16px;
}
#job .top_sec .job_list li figure img {
  display: block;
}
#job .top_sec::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_job.webp);
  background-size: cover;
  background-repeat: no-repeat;
  height: 452px;
  right: 0;
}
#job .job_ot_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#job .job_ot_list li {
  width: 50%;
}
#job .job_ot_list li figure {
  margin-bottom: 20px;
}
#job .job_ot_list li h4 {
  font-size: 24px;
  text-align: left;
  margin-bottom: 12px;
}
#job .job_ot_list li p {
  font-weight: 600;
}
#job .job_ot_list li .btn {
  width: 260px;
}
#job .job_ot_list li .btn a::after {
  left: inherit;
}
#job .job_ot_list li:first-child {
  padding-right: 3.6%;
  border-right: 1px solid #bebebe;
}
#job .job_ot_list li:last-child {
  padding-left: 3.6%;
}
#job .job_btn {
  display: flex;
  justify-content: center;
}
#job .job_btn .btn:first-of-type {
  margin-right: 30px;
}

/**仕事内容ここまで**/
/**代表ここから**/
#ceo .top_sec {
  background: url(../img/bk_ceo.png);
  color: #fff;
  margin-top: 470px;
  padding-top: 0;
}
#ceo .top_sec h3 {
  text-align: left;
}
#ceo .top_sec p {
  margin-bottom: 44px;
}
#ceo .top_sec h4 {
  font-size: 24px;
  font-weight: 600;
}
#ceo .top_sec h4 span {
  font-size: 14px;
}
#ceo .top_sec::after {
  position: absolute;
  content: "";
  background-image: url(../img/ttl_img_ceo.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  width: 100%;
  height: 452px;
  left: 0;
  top: -452px;
}
#ceo .ceo_list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 88px;
}
#ceo .ceo_list li .ceo_wrap {
  width: 53.5%;
  margin-right: 4.8%;
}
#ceo .ceo_list li .ceo_wrap h4 {
  font-size: 24px;
  text-align: left;
  border-bottom: 1px solid #bebebe;
  margin-bottom: 28px;
  padding-bottom: 16px;
}
#ceo .ceo_list li .ceo_wrap p {
  font-weight: 600;
}
#ceo .ceo_list li:nth-child(2) .ceo_wrap {
  width: 53.5%;
  margin-right: 0;
  margin-left: 4.8%;
}
#ceo .ceo_list li:last-child {
  margin-bottom: 0;
}

/**代表ここまで**/
