/*==============================================
*	parts（各ページ共通のデザイン）
==============================================*/
/* フォーム確認
------------------------------ */
.form_confirm_block {
  background: #F8F9FA;
}
.form_confirm {
  width: 600px;
  padding: 80px 0 115px;
  margin: 0 auto;
}
.form_confirm_title {
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  color: #0057B8;
}
.form_confirm_heading {
  font-weight: bold;
  font-size: 14px;
  line-height: 14px;
  color: #232323;
  margin-top: 40px;
}
.form_confirm_txt {
  font-weight: 500;
  font-size: 14px;
  line-height: 30px;
  color: #232323;
}
.form_confirm_btn a {
  width: 225px;
}


/*==============================================
*	layout（レイアウト用style）
==============================================*/
.recruit_page_wrapper {
  overflow: hidden;
}
.main_contents_block {
  background: #F8F9FA;
  padding-top: 189px;
  padding-bottom: 50px;
}
.news_block {
  padding-top: 0;
}
.news_box {
  margin-top: 41px;
  align-items: baseline;
}
.news_menu_box {
  position: sticky;
  top: 100px;
  align-self: baseline;
}
.works_inner {
  width: 1349px;
  display: flex;
  justify-content: space-between;
  margin: auto;
}
.works_navi {
  width: 300px;
}
.works_contents {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.post_archive_box {
  width: 487px;
  margin-bottom: 56px;
}
.post_img {
  width: 487px;
  height: 326px;
}
.post_img img {
  width: 487px;
  height: 326px;
  object-fit: cover;
}
/* 事例ナビ
------------------------------ */
.works_list {
  position: sticky;
  top: 100px;
  align-self: baseline;
	width: 100%;
	margin: 0 auto;
}
.w_list_title:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 45%;
	right: 30px;
	width: 10px;
	height: 10px;
	border-right: 3px solid #0057B8;
	border-bottom: 3px solid #0057B8;
	transform: translateY(-50%) rotate(45deg);
	transition: .3s;
}
.w_list_title.open:after {
	transform: rotate(225deg);
}
/* QA
------------------------------ */
.qa_list {
	margin: 0 auto;
}
.qa_list_title {
  height: auto;
  font-weight: bold;
  font-size: 14px;
  line-height:1.6;
  letter-spacing: 1.8;
  text-align: left;
  color: #0057B8;
	background: #FFFFFF;
	box-shadow: 0px 15px 30px rgba(22, 24, 67, 0.15);
  padding: 16px;
  padding-left: 34px;
  padding-right: 86px;
	margin-bottom: 14px;
}
.qa_list_title.open {
  background-color: transparent;
  border-bottom: 1px solid #0057B8;
  box-shadow: none;
}
.qa_list_title:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 31px;
	width: 18px;
	height: 2px;
	background: #0057B8;
	transform: translateY(-50%);
}
.qa_list_title:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 39px;
	width: 2px;
	height: 18px;
	background: #0057B8;
	transform: translateY(-50%);
	transition: .3s;
}
.qa_list_title.open:after {
	top: 25%;
	opacity: 0;
	transform: rotate(90deg);
}
.qa_box {
  width: 600px;
  margin: 0 auto 80px;
}
.qa_title {
  font-weight: bold;
  font-size: 20px;
  color: #0057B8;
  margin-bottom: 33px;
}
.answer_box {
  padding-top: 24px;
}
.qa_list .answer_box {
  padding-bottom: 20px;
}
.answer_txt {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.8;
  color: #232323;
}
.answer_btn {
  margin-top: 40px;
}
.answer_btn a {
  display: inline-block;
  width: auto;
  height: 88px;
  font-weight: bold;
  font-size: 15px;
  line-height: 15px;
  letter-spacing: 0.1em;
  color: #0057B8;
  border: 2px solid #0057B8;
  filter: drop-shadow(0px 15px 30px rgba(22, 24, 67, 0.15));
  padding: 36px 47px 36px 27px;
  position: relative;
}
.answer_btn a::before {
  position: absolute;
  top: 36px;
  right: -46px;
  content: '';
  width: 72px;
  height: 13px;
  background-image: url(../img/answer_arrow.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.pa_wait {
  font-weight: bold;
  font-size: 14px;
  line-height: 16px;
  color: #0057B8;
}

/* タグ一覧
------------------------------ */
.tag_title_block {
  width: 100%;
  background: #E5EAEF;
}
.tag_title_inner {
  width: 1000px;
  display: flex;
  align-items: baseline;
  padding: 183px 0 99px;
  margin: 0 auto;
}
.tag_title {
  font-weight: bold;
  font-size: 24px;
  line-height: 160%;
  letter-spacing: 0.1em;
  color: #0057B8;
}
.tag_page {
  padding-top: 73px;
  margin-top: 0;
}
.tag_title_sub {
  font-weight: bold;
  font-size: 18px;
  line-height: 180%;
  color: #0057B8;
}

/* サービス内容
------------------------------ */
.service_page {
  background-color: #FFFFFF;
}
.service_title {
  font-weight: bold;
  font-size: 24px;
  line-height: 160%;
  text-align: center;
  letter-spacing: 0.1em;
  color: #0057B8;
}
.service_list {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  padding: 0 6px;
  margin: 56px auto 80px;
}
.works_menu_list {
  width: 156px;
  filter: drop-shadow(0px 15px 30px rgba(22, 24, 67, 0.15));
  position: relative;
}
.works_menu_list_img {
  width: 156px;
  height: 157px;
}
.works_menu_list_img img {
  width: 156px;
  height: 157px;
  object-fit: cover;
}
.works_menu_list_txt {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 156px;
  height: 76px;
  font-weight: bold;
  font-size: 14px;
  line-height: 160%;
  text-align: center;
  color: #0057B8;
  background: #F8F9FA;
}
a.works_menu_list_link {
	position: absolute;
	top: 0;
	left: 0;
	height:100%;
	width: 100%;
	background-color: #000000;
	opacity: 0;
}
a.works_menu_list_link:hover {
	opacity: 0.1;
}
.section_service_block {
  background: #F8F9FA;
  background-repeat: no-repeat;
  background-size: 1000px 1000px;
}
.section_header {
  height: 400px;
  background-repeat: no-repeat;
  background-size: cover;
}
#document.section_service_block {
  background-image: url(../img/section_service_bg01.png);
  background-position: bottom -72px center;
}
#document .section_header {
  background-image: url(../img/section_title_bg01.jpg);
}
#workplace.section_service_block {
  background-image: url(../img/section_service_bg02.png);
  background-position: bottom -72px center;
}
#workplace .section_header {
  background-image: url(../img/section_title_bg02.jpg);
}
#ict.section_service_block {
  background-image: url(../img/section_service_bg03.png);
  background-position: bottom -72px center;
}
#ict .section_header {
  background-image: url(../img/section_title_bg03.jpg);
}
#security.section_service_block {
  background-image: url(../img/section_service_bg04.png);
  background-position: bottom -268px center;
}
#security .section_header {
  background-image: url(../img/section_title_bg04.png);
}
#space.section_service_block {
  background-image: url(../img/section_service_bg05.png);
  background-position: bottom -268px center;
}
#space .section_header {
  background-image: url(../img/section_title_bg05.jpg);
}
#infection.section_service_block {
  background-image: url(../img/section_service_bg06.png);
  background-position: bottom -187px center;
}
#infection .section_header {
  background-image: url(../img/section_title_bg06.jpg);
}
.section_header_inner {
  width: 1166px;
  padding-top: 128px;
  text-align: center;
  margin: auto;
}
.section_header_title {
  font-size: 40px;
  line-height: 180%;
  color: #FFFFFF;
  letter-spacing: 0.1em;
}
.section_header_sub {
  display: inline-block;
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  color: #FFFFFF;
  letter-spacing: 0.1em;
  border-bottom: 3px solid #FFFFFF;
  padding: 7px 15px 16px 15px;
}
.section_contents_inner {
  width: 1166px;
  padding-bottom: 80px;
  margin: auto;
  margin-top: 84px;
}
.service_contents {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service_text_box {
  width: 567px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0px 15px 30px rgba(22, 24, 67, 0.15);
  padding: 60px 64px;
  margin-bottom: 32px;
}
.service_boxtitle {
  font-size: 22px;
  line-height: 18px;
  color: #0057B8;
  padding-bottom: 24px;
  margin-bottom: 24px;
  position: relative;
}
.service_boxtitle::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 35px;
  border-bottom: 1px solid #FA723D;
}
.service_box_txt {
  font-size: 16px;
  line-height: 200%;
  color: #232323;
}
#infection .section_contents {
  padding-bottom: 158px;
}

/* 私たちについて
------------------------------ */
.about_page {
  padding-bottom: 0;
}
.about_wrapper {
  padding-bottom: 0;
}
.tab_area {
  width: 999px;
  display: flex;
  cursor: pointer;
  margin: auto;
}
.tab_area .tab a {
  display: block;
  width: 333px;
  height: 78px;
  font-size: 16px;
  line-height: 78px;
  text-align: center;
  color: #232323;
  background: #E5EAEF;
  border-bottom: 2px solid #9EB0C1;
  border-right: 2px solid #FFFFFF;
}
.tab_area .tab a.active {
  background: #FFFFFF;
  color: #232323;
  border-bottom: 2px solid #FA723D;
}

.panel {
  margin-top: 80px;
  display: block;
}

.company_profile_block {
  width: 770px;
  border-top: 1px solid #E5EAEF;
  padding-bottom: 148px;
  margin: auto;
}
.profile_box {
  display: flex;
  border-bottom: 1px solid #E5EAEF;
}
.profile_title {
  width: 150px;
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  color: #232323;
  padding-left: 13px;
  padding-top: 32px;
  padding-bottom: 32px;
}
.profile_txt {
  font-size: 16px;
  line-height: 23px;
  color: #232323;
  padding-top: 32px;
  padding-bottom: 32px;
}
.profile_txt a {
  color: #232323;
}
.profile_txt_long {
  max-width: 590px;
  font-size: 14px;
  line-height: 23px;
  color: #232323;
  padding-top: 32px;
  padding-bottom: 32px;
}
.business_overview {
  padding-top: 32px;
  padding-bottom: 32px;
}
.business_overview li {
  font-size: 14px;
  line-height: 23px;
  color: #232323;
  list-style-type: none;
  position: relative;
  padding-left: 1em;
}
.business_overview li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: '・';
  color: #0057B8;
  display: block;
}
.greeting_block {
  width: 1000px;
  margin: auto;
}
.greeting_photo {
  width: 449px;
  height: 585px;
}
.greeting_photo img {
  width: 449px;
  height: 585px;
  object-fit: cover;
}
.greeting_txt_wrapper {
  padding: 80px 0 190px;
}
.greeting_img_box {
  width: 470px;
  margin: auto;
  position: relative;
}
.greeting_namebox {
  position: absolute;
  top: 551px;
  left: 150px;
  width: 339px;
  height: 154px;
  background: #FFFFFF;
  box-shadow: 0px 15px 30px rgba(22, 24, 67, 0.15);
  padding: 30px 0;
}
.greeting_txt_box {
  width: 643px;
  margin: auto;
  margin-top: 160px;
}
.greeting_txt {
  font-weight: 500;
  font-size: 16px;
  line-height: 200%;
  color: #232323;
  margin-bottom: 24px;
}
.greeting_companyname {
  font-weight: 500;
  font-size: 14px;
  line-height: 180%;
  text-align: center;
  color: #232323;
}
.greeting_name {
  font-weight: bold;
  font-size: 24px;
  line-height: 20px;
  letter-spacing: 0.2em;
  text-align: center;
  color: #0057B8;
  margin-top: 16px;
}
.greeting_name_en {
  font-weight: normal;
  font-size: 14px;
  line-height: 14px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #0057B8;
  margin-top: 16px;
}
.greeting_title {
  font-size: 20px;
  letter-spacing: 0.2em;
  margin-bottom: 26px;
  text-align: center;
}
.greeting_companyname2 {
  font-size:18px;
}
.greeting_degree {
  font-size: 14px;
  margin-top:10px;
}
.greeting_name2 {
  font-size:18px;
  padding-left:16px;
}
.greeting_date {
  font-size:14px;
  opacity:0.5;
  display: block;
  padding-top:20px;
}
.greeting_name_box {
  display: inline-block;
  float: right;
}
.company_greeting_block {
  background-image: url(../img/company_greeting_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 80px 0 130px;
}
.company_greeting {
  width: 830px;
  background: #FFFFFF;
  padding: 30px;
  margin: 0 auto 22px;
}
.company_greeting_title {
  font-weight: bold;
  font-size: 24px;
  text-align: center;
  color: #0057B8;
}
.company_greeting_txt2 {
  width: 90%;
  font-weight: 500;
  font-size: 18px;
  line-height: 180%;
  text-align: center;
  color: #232323;
  margin: 22px auto 0;
}
.company_greeting_txt {
  width: 670px;
  font-weight: 500;
  font-size: 20px;
  line-height: 180%;
  text-align: center;
  color: #232323;
  margin: 22px auto 0;
}
.motto {
  font-size: 27px;
  font-weight: bold;
  line-height: 21px;
}
.purpose {
  text-align: left;
}
.company_greeting_list {
  width: 213px;
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
  margin: 22px auto 0;
}
.company_greeting_li{
  font-weight: bold;
  font-size: 20px;
  line-height: 14px;
  color: #232323;
  padding-left: 1.3em;
  margin-bottom: 20px;
  padding: 24px;
  border-bottom: 2px solid #0057B8;
}
.company_greeting_li:before {
  counter-increment: item;
  content: counter(item);
  padding-right: 1em;
  font-weight: bold;
  font-size: 14px;
  color: #0057B8;
}
.company_greeting_syaze_pc{
  width: 100%;
  max-width: 450px;
  height: 54px;
  margin: 24px auto 0;
}
.company_greeting_rinen_pc{
  width: 100%;
  max-width: 530px;
  height: 90px;
  margin: 24px auto 0;
}
.company_greeting_igi_pc {
  width: 100%;
  max-width: 529px;
  height: 135px;
  margin: 24px auto 0;
}
.company_greeting_syaze_pc img,
.company_greeting_rinen_pc img,
.company_greeting_igi_pc img {
  width: 100%;
  object-fit: contain;
}
.history_box {
  width: 1000px;
  display: flex;
  margin: auto;
  position: relative;
}
.history_year {
  width: 185px;
  border-right: 2px solid #0057B8;
  padding-right: 66px;
}
.history_year_seireki {
  font-size: 44px;
  line-height: 44px;
  text-align: center;
  color: #0057B8;
}
.history_year_wareki {
  font-size: 14px;
  line-height: 14px;
  text-align: center;
  color: #FA723D;
  margin-top: 10px;
}
.history_day {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 150px;
  width: 73px;
  height: 41px;
  font-size: 14px;
  line-height: 24px;
  text-align: center;
  color: #FFFFFF;
  background: #0057B8;
}
.history_contents {
  width: calc(100% - 185px);
  padding-left: 66px;
  padding-bottom: 90px;
}
.history_contents_txt {
  width: 100%;
  font-size: 16px;
  line-height: 24px;
  color: #232323;
  margin-bottom: 18px;
}
.no_day {
  position: relative;
}
.no_day::before {
  position: absolute;
  top: 0;
  right: -10px;
  content: '';
  width: 16px;
  height: 16px;
  background: #0057B8;
}
.history_img_box {
  display: flex;
  flex-wrap: wrap;
}
.history_contents_img {
  width: 48%;
  /* height: 147px; */
  margin-right: 10px;
  margin-top: 10px;
}
.history_contents_img img {
  width: 100%;
  /* height: 147px; */
  object-fit: contain;
}
.history_contents_img2 {
  width: 48%;
  height: auto;
  margin-right: 10px;
}
.history_contents_img2 img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.history_contents_img_h {
  width: 230px;
  height: 400px;
}
.history_contents_img_h img {
  width: 230px;
  height: 400px;
  object-fit: contain;
}
.history_contents_img_h2 {
  width: 28%;
  margin-top: 10px;
  margin-right: 10px;
}
.history_contents_img_h2 img {
  width: 100%;
  object-fit: contain;
}
.history_contents_img_h3 {
  width: 28%;
  margin-top: 10px;
  margin-right: 10px;
}
.history_contents_img_h3 img {
  width: 100%;
  object-fit: contain;
}
.history_contents_img_hh {
  width: 260px;
  height: auto;
}
.history_contents_img_hh img {
  width: 260px;
  height: 400px;
  object-fit: contain;
}
.history_last {
  padding-bottom: 210px;
}
.history_bold {
  font-weight: bold;
}
.history_img_txt {
  margin-top: 16px;
}

/* 採用情報
------------------------------ */
.recruit_title_block {
  width: 100%;
  height: 974px;
  background-image: url(../img/section_top_bg.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 70px;
  position: relative;
}
.recruit_title_inner {
  width: 740px;
  height: 403px;
  background-image: url(../img/section_title_bg.png);
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: contain;
  box-shadow: none;
  padding-top: 90px;
  margin: auto;
  margin-top: 53px;
}
.recruit_section_title {
  font-size: 66px;
  line-height: 160%;
  text-align: center;
  color: #FFFFFF;
}
.recruit_section_title_sub {
  font-weight: bold;
  font-size: 24px;
  line-height: 120%;
  letter-spacing: 0.25em;
  text-align: center;
  color: #FFFFFF;
}
.recruit_stitle_bottom {
  position: relative;
}
.title_under_img {
  height: 340px;
}
.title_under_img img {
  width: 100%;
  height: 340px;
  object-fit: cover;
}
.recruit_eyechach {
  position: absolute;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 1119px;
  height: 235px;
  background-image: url(../img/section_eyechach_bg.png);
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: contain;
  font-weight: bold;
  font-size: 16px;
  line-height: 200%;
  text-align: center;
  color: #232323;
  padding-top: 57px;
  margin: -60px auto 0;
}
.title_right_img {
  position: absolute;
  right: 38px;
  top: 358px;
  width: 80px;
  height: 350px;
}
.title_right_img img {
  width: 80px;
  height: 350px;
}
.recruit_page {
  background: #FFFFFF;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: -130px;
}
.recruit_wrapper {
  width: 100%;
  background-image: url(../img/recruit_main_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 128px;
}
.recruit_interview {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  margin: auto;
}
.interview_title {
  font-size: 66px;
  line-height: 140%;
  color: #0057B8;
}
.interview_title_sub {
  font-weight: bold;
  font-size: 22px;
  line-height: 180%;
  color: #0057B8;
}
.interview_department {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 47px;
  font-weight: bold;
  font-size: 18px;
  line-height: 180%;
  color: #0057B8;
  background-image: url(../img/interview_department_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  margin-top: 80px;
}
.interview_flex {
  width: 264px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
}
.interview_name {
  font-weight: bold;
  font-size: 36px;
  line-height: 180%;
  color: #FFFFFF;
}
.interview_name_en {
  font-size: 16px;
  line-height: 180%;
  color: #FFFFFF;
}
.interview_enter {
  font-weight: bold;
  font-size: 17px;
  line-height: 180%;
  color: #FFFFFF;
  margin-bottom: 48px;
}
.interview_hand {
  width: 424px;
  height: 164px;
}
.interview_hand img {
  width: 424px;
  height: 164px;
  object-fit: contain;
}
.interview_voice01,
.interview_voice02 {
  display: inline-block;
  font-weight: bold;
  font-size: 36px;
  line-height: 199%;
  color: #0057B8;
  background: rgba(255, 255, 255, 0.9);
  padding: 5px 16px;
  margin-bottom: 10px;
}
.interview_img {
  width: 535px;
  height: 667px;
}
.interview_img img {
  width: 535px;
  height: 667px;
  object-fit: contain;
}
.recruit_img_box {
  width: 1432px;
  display: flex;
  margin: auto;
  margin-top: 80px;
}
.recruit_img_list {
  width: 531px;
  height: 264px;
  margin-left: -50px;
}
.recruit_img_list img {
  width: 531px;
  height: 264px;
  object-fit: cover;
}
.interview_comment_box {
  width: 964px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.7);
  padding: 50px;
  margin: 126px auto 140px;
  position: relative;
}
.interview_comment {
  width: 400px;
  margin-bottom: 80px;
}
.interview_comment_q {
  font-weight: bold;
  font-size: 16px;
  line-height: 180%;
  color: #0057B8;
}
.interview_comment_a {
  font-size: 14px;
  line-height: 200%;
  color: #000000;
  margin-top: 16px;
}
.interview_comment2 {
  position: absolute;
  bottom: -140px;
  left: -335px;
  z-index: 99;
}
.interview_comment_img {
  width: 817px;
  height: 434px;
}
.interview_comment_img img {
  width: 817px;
  height: 434px;
  object-fit: cover;
}
.box_2nd {
  margin-top: 60px;
}
.txtbox_2nd {
  margin-top: 150px;
}
.flex_2nd {
  width: 303px;
}
.resources_required {
  background-image: url(../img/recruit_block_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 152px;
  padding-bottom: 160px;
  margin-top: -93px;
  position: relative;
  z-index: 9;
}
.resources_required::before {
  position: absolute;
  top: 0;
  left: calc(50% - 1px);
  content: '';
  width: 2px;
  height: 142px;
  background: #0057B8;
}
.resources_required_title {
  font-weight: bold;
  font-size: 24px;
  line-height: 180%;
  text-align: center;
  color: #0057B8;
}
.resources_required_box {
  width: 1125px;
  height: 344px;
  background-image: url(../img/resources_required_box.png);
  background-repeat: no-repeat;
  background-size: cover;
  margin: auto;
  margin-top: 40px;
}
.resources_required_01 {
  font-weight: bold;
  font-size: 32px;
  line-height: 180%;
  text-align: center;
  color: #0057B8;
  padding-top: 40px;
  margin-bottom: 16px;
}
.resources_required_02 {
  width: 600px;
  font-size: 14px;
  line-height: 200%;
  color: #000000;
  margin: auto;
}
.recruit_img_section {
  padding-top: 40px;
  padding-bottom: 120px;
}
.recruiting_block {
  background: #0057B8;
  padding: 66px 0 84px;
}
.recruit_heading {
  width: 198px;
  height: 60px;
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  text-align: center;
  color: #FFFFFF;
  background-image: url(../img/recruit_heading_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 18px;
  margin: auto;
}
.recruit_menu {
  width: 682px;
  display: flex;
  justify-content: space-between;
  padding-top: 32px;
  margin: auto;
}
.recruit_list {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 335px;
  height: 96px;
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  color: #0057B8;
  background: #FFFFFF;
  box-shadow: 0px 15px 30px rgba(22, 24, 67, 0.15);
}
.recruitment {
  padding-bottom: 120px;
  background: #F8F9FA;
}
.recruitment_title {
  font-weight: bold;
  font-size: 24px;
  line-height: 160%;
  letter-spacing: 0.1em;
  text-align: center;
  color: #0057B8;
}
.recruitment_box {
  width: 1000px;
  border-top: 6px solid#0057B8;
  background: #FFFFFF;
  padding: 66px 83px 80px;
  margin: auto;
  margin-top: 80px;
}
.recruitment_title {
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  text-align: center;
  color: #232323;
}
.recruitment_inner {
  border-top: 1px solid #E5EAEF;
  margin-top: 60px;
}
.entry_form_block {
  background-image: url(../img/entry_form_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 143px 0 1px;
}
.entry_form {
  width: 600px;
  margin: auto;
}
.entry_submit_btn input {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 448px;
  height: 102px;
  font-size: 35px;
  line-height: 48px;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  background: #0057B8;
  box-shadow: 0px 15px 30px rgba(22, 24, 67, 0.15);
  margin: 70px auto 132px;
}
.form_item .contact_radio input {
  width: auto;
  height: 40px;
  background: none;
  border: none;
  padding: 15px 20px;
  margin: 5px 0 10px;
}
.form_item .contact_radio label {
  line-height: 135%;
  position: relative;
  margin: 0.5rem;
  cursor: pointer;
}
.form_item .contact_radio .option-input {
  position: relative;
  margin: 0;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form_item .contact_radio .option-input:before {
  position: absolute;
  z-index: 1;
  top: 13px;
  left: 10px;
  width: 0.75rem;
  height: 0.75rem;
  content: "";
  -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  transition: transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75), -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
  -webkit-transform: scale(0, 0);
          transform: scale(0, 0);
  border-radius: 50%;
  background: #0057B8;
}
.form_item .contact_radio .option-input:checked:before {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}
.form_item .contact_radio .option-input:after {
  position: absolute;
  top: 8px;
  left: 5px;
  width: 22px;
  height: 22px;
  content: "";
  border: 2px solid #DBDBDB;
  border-radius: 50%;
  background: #ffffff;
}
.contact_radio {
  display: flex;
  flex-direction: column;
}
.mw_wp_form .contact_radio .horizontal-item + .horizontal-item {
  margin-left: 0;
}


/* プライバシーポリシー
------------------------------ */
.policy_page {
  padding-top: 100px;
  padding-bottom: 130px;
}
.policy_box {
  width: 1000px;
  background: #FFFFFF;
  padding: 100px 96px;
  margin: auto;
}
.policy_inner h1 {
  font-size: 20px;
  line-height: 24px;
  color: #232323;
  margin-top: 70px;
}
.m_b_32 {
  margin-bottom: 32px;
}
.policy_inner h2 {
  font-size: 18px;
  line-height: 24px;
  color: #0057B8;
  margin-top: 60px;
  margin-bottom: 24px;
}
.policy_inner h3 {
  font-size: 14px;
  line-height: 24px;
  color: #232323;
  margin-top: 30px;
}
.policy_inner p {
  font-size: 14px;
  line-height: 24px;
  color: #232323;
}
.policy_inner ol{
  counter-reset: item;
  list-style-type: none;
  padding-left: 0;
  margin-top: 40px;
}
.policy_inner ol li{
  font-size: 14px;
  line-height: 24px;
  color: #0057B8;
  text-indent: -1.3em;
  padding-left: 1.3em;
  margin-bottom: 20px;
}
.policy_inner ol li:before {
  counter-increment: item;
  content: counter(item);
  padding-right: 1em;
  font-weight: bold;
  font-size: 14px;
  color: #0057B8;
}
.policy_contact {
  text-align: center;
  background: #F8F9FA;
  padding: 30px 0 50px;
  margin-top: 40px;
}
.policy_contact_txt {
  font-size: 14px;
  line-height: 14px;
  color: #232323;
  margin-bottom: 30px;
}
.policy_contact_name {
  font-weight: bold;
  font-size: 14px;
  line-height: 14px;
  color: #232323;
  margin-bottom: 14px;
}
.policy_contact_no {
  font-size: 30px;
  line-height: 24px;
  color: #0057B8;
  margin-bottom: 18px;
}
.policy_contact_no a {
  color: #0057B8;
}
.policy_contact_no2 {
  font-size: 30px;
  line-height: 24px;
  color: #0057B8;
}
.policy_contact_no2 a {
  color: #0057B8;
}
.policy_inner ul{
  list-style-type: none;
  padding-left: 0;
  margin-top: 6px;
}
.policy_inner ul li{
  font-size: 14px;
  line-height: 24px;
  color: #232323;
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.policy_contact_txt2 {
  font-weight: bold;
  font-size: 14px;
  line-height: 180%;
  text-align: center;
  color: #0057B8;
  margin-top: 20px;
}
/* お問い合わせ
------------------------------ */
.contact_box {
  width: 600px;
  margin: auto;
}
.tel_fax {
  display: flex;
  align-items: center;
  justify-content: space-around;
  border-top: 2px solid #0057B8;
  border-bottom: 2px solid #0057B8;
  padding: 35px 0;
  position: relative;
}
.tel_fax_title {
  position: absolute;
  top: -10px;
  left: 50%;
  width: 310px;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  color: #0057B8;
  background: #F8F9FA;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
.tel_fax_txt {
  font-size: 28px;
  line-height: 39px;
  color: #0057B8;
}
.form_title {
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  color: #0057B8;
  margin-top: 70px;
}
.form_heading {
  font-weight: bold;
  font-size: 14px;
  line-height: 30px;
  color: #232323;
  margin-top: 25px;
}
.required {
  display: inline-block;
  width: 50px;
  height: 20px;
  font-weight: bold;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  color: #FFFFFF;
  background: #0057B8;
  margin-left: 6px;
}
.form_example {
  font-size: 12px;
  line-height: 14px;
  color: #232323;
}
.form_example a {
  color: #232323;
}
.form_item input {
  width: 100%;
  height: 60px;
  background: #FFFFFF;
  border: 1px solid #9EB0C1;
  padding: 15px 20px;
  margin: 5px 0 10px;
}
.form_item textarea {
  width: 100%;
  height: 250px;
  background: #FFFFFF;
  border: 1px solid #9EB0C1;
  padding: 15px 20px;
  margin: 5px 0 10px;
}
.form_bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  padding-top: 10px;
}
.form_bottom .checkbox input[type=checkbox] {
  appearance: none;
  display: none;
}
.form_bottom .checkbox input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
}
.form_bottom .checkbox input[type=checkbox] + span:before {
  content: "";
  flex-shrink: 0;
  display: inline-block;
  width: 1.05em;
  height: 1.05em;
  margin-right: 0.5em;
  vertical-align: -0.15em;
  box-sizing: border-box;
  border: 2px solid #0057b8;
  border-radius: 2px;
  background: #fff;
}
.form_bottom .checkbox input[type=checkbox]:checked + span:before {
  background: #0057b8 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-width='2.2' d='M3 8.2 6.4 11.5 13 4.5'/></svg>") center / 0.9em 0.9em no-repeat;
}
.form_bottom .checkbox input[type=checkbox]:focus-visible + span:before {
  outline: 2px solid #0057b8;
  outline-offset: 2px;
}
.form_bottom .checkbox .checkbox_txt {
  margin-left: 12px;
  display: block;
  font-weight: bold;
  font-size: 14px;
  line-height: 30px;
  color: #232323;
}
.form_bottom .checkbox .checkbox_txt a {
  font-weight: bold;
  font-size: 15px;
  line-height: 18px;
  color: #0057B8;
  border-bottom: 2px solid #0057B8;
  margin-right: 6px;
}
.form_submit_btn {
  width: 143px;
  display: block;
  height: 63px;
  font-weight: bold;
  font-size: 15px;
  line-height: 63px;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  background: #0057B8;
  margin-top: 40px;
  margin-bottom: 133px;
}

/* エントリー・お問い合わせ完了
------------------------------ */
.contact_thx_bg {
  background: #FFFFFF;
}
.contact_thx {
  width: 600px;
  margin: auto;
}
.contact_thx_heading {
  font-weight: bold;
  font-size: 24px;
  line-height: 28px;
  color: #0057B8;
}
.contact_thx_txtbox {
  margin-top: 36px;
}
.contact_thx_txt {
  font-size: 14px;
  line-height: 24px;
  color: #232323;
  margin-bottom: 24px;
}
.tel_fax_txt a {
  color: #0057B8;
}
.contact_thx_logo {
  width: 322px;
  height: 35px;
  margin-top: 60px;
}
.contact_thx_logo img {
  width: 322px;
  height: 35px;
  object-fit: contain;
}
.advantage_box {
  width: 1175px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #FFFFFF;
  border: 2px solid #0057B8;
  padding: 40px 48px;
  margin: 0 auto 80px;
}
.advantage_reverse {
  flex-direction: row-reverse;
}
.advantage_img {
  width: 568px;
  height: 420px;
}
.advantage_img img {
  width: 568px;
  height: 420px;
}
.advantage_txt {
  width: 431px;
}
.advantage_no {
  font-size: 18px;
  line-height: 20px;
  letter-spacing: 0.05em;
  color: #0057B8;
  margin-bottom: 20px;
}
.advantage_title {
  display: inline-block;
  font-weight: bold;
  font-size: 26px;
  letter-spacing: 0.05em;
  color: #0057B8;
  margin-bottom: 40px;
}
.advantage_text {
  font-size: 16px;
  line-height: 200%;
  color: #232323;
}
/*==============================================
*	レスポンシブ対応
==============================================*/
/* 1400px〜：PC
------------------------------ */
@media screen and (min-width:1400px) {
  .resources_required_02 {
    text-align: center;
  }
  .form_title {
  font-size: 24px;
  }
  .company_greeting_txt2{
        width: 500px;
  }
}


/* 1024px〜1399px：PC
------------------------------ */
@media screen and (min-width:1024px) and (max-width:1399px) {
  .recruit_title_block {
    height: 69.571vw;
  }
  .recruit_title_inner {
    height: 28.786vw;
  }
  .resources_required_02 {
    text-align: center;
  }
  .form_title {
  font-size: 24px;
  }
  .company_greeting_txt2{
        width: 500px;
  }
}


/* 601px〜1023px：タブレット
------------------------------ */
@media screen and (min-width:601px) and (max-width:1023px) {
  .main_contents_block {
    padding-top: 102px;
  }
  .archive_page {
    padding: 102px 16px 0;
  }
  .news_menu_archive a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 170px;
    height: 60px;
    font-size: 14px;
    line-height: 180%;
    padding: 10px;
  }
  .works_inner {
    width: 100%;
    flex-direction: column;
    align-items: center;
  }
  .works_contents {
    width: 100%;
    padding: 0 16px;
  }
  .post_archive_box {
    width: 50%;
  }
  .post_img{
    width: 343px;
    height: 229px;
    filter: drop-shadow(0px 8.65709px 17.3142px rgba(22, 24, 67, 0.15));
  }
  .post_img img {
    width: 343px;
    height: 229px;
  }
  .qa_box {
    width: 100%;
    padding: 0 16px;
  }
  .qa_list_title {
    padding: 16px 58px 16px 16px;
  }
  .answer_btn a {
    width: 242px;
    height: 82px;
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0;
    padding: 16px 24px 16px 16px;
  }
  .policy_page {
    background: #FFFFFF;
  }
  .policy_box {
    width: 100%;
    padding: 0 16px;
  }
  .policy_contact_txt {
    line-height: 160%;
  }
  .contact_thx {
    width: 100%;
    padding: 0 16px;
  }
  .contact_thx_heading {
    font-size: 18px;
  }
  .form_confirm {
    width: 100%;
    padding: 48px 16px 112px;
  }
  .tab_area {
    width: 600px;
    margin: auto;
  }
  .tab_area .tab a {
    width: 200px;
    height: 59px;
    font-size: 14px;
    line-height: 59px;
  }
  .panel {
    margin-top: 48px;
    padding: 0 16px;
  }
  .company_profile_block {
    width: 80%;
    margin: auto;
  }
  .profile_title {
    width: 89px;
    font-size: 12px;
    padding: 21px 0;
  }
  .profile_txt {
    width: auto;
    font-size: 14px;
    padding: 21px 0;
  }
  .profile_txt_long {
    width: auto;
    font-size: 14px;
    padding: 21px 0;
  }
  .business_overview {
    padding: 21px 0;
  }
  .business_overview li {
    width: auto;
  }
  .greeting_block {
    width: 100%;
    padding: 0 16px;
  }
  .greeting_photo {
    width: 100%;
  }
  .greeting_photo img {
    width: 100%;
    object-fit: cover;
  }
  .greeting_txt_wrapper {
    padding: 40px 0 190px;
  }
  .greeting_txt_box {
    width: 100%;
  }
  .company_greeting_block {
    padding: 48px 16px;
  }
  .company_greeting {
    width: 100%;
  }
  .company_greeting_txt {
    width: 100%;
  }
  .history_block {
    width: 100%;
    padding: 0 16px;
  }
  .history_box {
    width: 100%;
    flex-direction: column;
  }
  .history_year {
    width: 120px;
    border-right: none;
    padding-right: 30px;
  }
  .history_year::after {
    position: absolute;
    top: 21px;
    left: 100px;
    content: '';
    width: 600px;
    height: 2px;
    background: #0057B8;
  }
  .history_year_seireki {
    font-size: 34px;
    line-height: 34px;
  }
  .history_year_wareki {
    margin-top: 3px;
  }
  .history_day {
    left: 100px;
  }
  .history_contents {
    width: 100%;
    padding: 24px 0 64px;
  }
  .history_contents_txt {
    width: 100%;
  }
  .history_img_box {
    flex-direction: column;
  }
  .history_contents_img {
    margin-bottom: 24px;
  }
  .no_day::before {
    top: 14px;
    right: 5px;
  }
  .contact_box {
    width: 100%;
    padding: 48px 16px 92px;
  }
  .tel_fax {
    flex-direction: column;
    padding-bottom: 0;
  }
  .tel_fax_txt {
    margin-bottom: 24px;
  }
  .form_bottom {
    padding-top: 0;
  }
  .form_submit_btn {
    margin: 49px auto 0;
  }
  #document .section_header {
    background-image: url(../img/bg_service01_sp.jpg);
  }
  #workplace .section_header {
    background-image: url(../img/bg_service02_sp.jpg);
  }
  #ict .section_header {
    background-image: url(../img/bg_service03_sp.jpg);
  }
  #security .section_header {
    background-image: url(../img/bg_service04_sp.jpg);
  }
  #space .section_header {
    background-image: url(../img/bg_service05_sp.jpg);
  }
  #infection .section_header {
    background-image: url(../img/bg_service06_sp.jpg);
  }
  #document.section_service_block,
  #workplace.section_service_block,
  #ict.section_service_block {
    background-position: center center;
  }
  #security.section_service_block,
  #space.section_service_block {
    background-position: bottom -113px center;
  }
  #infection.section_service_block {
    background-position: bottom -290px center;
  }
  .section_header_inner {
    width: 100%;
    padding: 150px 16px;
  }
  .section_header_title {
    font-size: 24px;
    line-height: 160%;
    letter-spacing: 0.1em;
    margin-top: 16px;
  }
  .section_header {
    background-position: right;
  }
  .service_contents {
    padding: 0 16px;
  }
  .service_text_box {
    width: 100%;
    padding: 36px 39px;
  }
  .service_boxtitle {
    font-size: 18px;
    line-height: 180%;
  }
  .section_contents_inner .answer_btn {
    margin-left: 16px;
  }
  .service_list {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    padding: 0 6px;
    margin: 0;
  }
  .works_menu_list {
    flex-basis: 156px;
    margin: 50px 6px;
  }
  .service_page {
    padding-bottom: 0;
  }
  .section_contents_inner {
    width: 100%;
    margin-top: 25px;
  }
  .recruit_title_block {
    height: auto;
    background-size: 450%;
  }
  .recruit_title_inner {
    width: 100%;
    height: 450px;
    padding-top: 23px;
  }
  .title_right_img {
    top: 407px;
    right: 0;
  }
  .recruit_eyechach {
    top: -163px;
    left: 0;
    right: auto;
    width: 488px;
    height: 337px;
    font-size: 16px;
    line-height: 200%;
    text-align: left;
    background-size: 488px 337px;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    background-image: url(../img/section_eyechach_bg_sp.png);
    padding-top: 50px;
    padding-right: 95px;
    padding-bottom: 33px;
    padding-left: 35px;
  }
  .recruit_interview {
    width: 100%;
    flex-direction: column-reverse;
    padding: 0 16px;
  }
  .recruit_interview_txt {
    margin: auto;
  }
  .recruit_page {
    padding-top: 0;
  }
  .interview_title_sub {
    margin-bottom: 48px;
  }
  .interview_img {
    width: 342px;
    height: 426px;
    margin: auto;
  }
  .interview_img img {
    width: 342px;
    height: 426px;
  }
  .interview_department {
    margin-top: 48px;
  }
  .interview_hand,
  .interview_hand img {
    width: 333px;
    height: auto;
  }
  .recruit_img_box {
    width: 100%;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
  }
  .recruit_img_list {
    width: 100%;
    margin-bottom: 10px;
    text-align: center;
  }
  .interview_comment_img {
    width: 100%;
    height: 260px;
    text-align: center;
    margin-top: 50px;
  }
  .recruit_img_list img {
    width: 478px;
    height: 237px;
    object-fit: contain;
  }
  .interview_comment_img img {
    width: 510px;
    height: 260px;
    object-fit: contain;
  }
  .interview_comment_wrapper {
    width: 100%;
  }
  .interview_comment_box {
    width: 100%;
    flex-direction: column;
    padding: 0 16px;
    margin-top: 0;
  }
  .interview_comment {
    width: 343px;
    margin: auto;
    margin-bottom: 40px;
  }
  .interview_comment2 {
    position: relative;
    bottom: 0;
    left: -60px;
  }
  .resources_required_box {
    width: 100%;
    height: 570px;
    background-image: url(../img/resources_required_box_sp.png);
    background-position: bottom right 37%;
    padding: 30px 36px 89px;
  }
  .resources_required_02 {
    width: 50%;
  }
  .recruiting_block {
    padding: 48px 0;
  }
  .recruit_menu {
    width: 100%;
    flex-direction: column;
    padding-top: 0;
  }
  .recruit_list {
    margin: auto;
    margin-top: 24px;
  }
  .recruitment {
    padding: 48px 16px;
  }
  .recruitment_box {
    width: 100%;
    padding: 48px 16px;
  }
  .entry_form {
    width: 100%;
  }
  .txtbox_2nd {
    margin-top: 0;
  }
  .interview_comment_box2 .interview_comment {
    margin-left: 16px;
    margin-bottom: 88px;
  }
  .resources_required {
    padding-top: 193px;
    margin-top: -126px;
  }
  .resources_required::before {
    height: 183px;
  }
  .entry_form_block {
    padding: 80px 16px 127px;
  }
  .entry_submit_btn input {
    width: 100%;
    margin-bottom: 0;
  }
  .advantage_wrapper {
    padding: 0 16px;
  }
  .advantage_box {
    width: 100%;
    flex-direction: column;
  }
  .works_navi {
    margin-bottom: 50px;
  }
  .greeting_namebox {
		top: 370px;
		left: 36.667vw;
	}
	.greeting_txt_box {
		margin-top: 50px;
	}
  .tag_title_inner {
    width: 100%;
  }
  .company_greeting_txt2{
        width: 500px;
  }
}

/* 〜600px：SP
------------------------------ */
@media screen and (max-width:600px) {
  .main_contents_block {
    padding-top: 102px;
  }
  .archive_page {
    padding: 102px 16px 0;
  }
  .news_menu_archive a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 60px;
    font-size: 14px;
    line-height: 180%;
    padding: 10px;
  }
  .works_inner {
    width: 100%;
    flex-direction: column;
    align-items: center;
  }
  .works_navi {
    margin-bottom: 80px;
  }
  .works_contents {
    width: 100%;
    padding: 0 16px;
  }
  .post_archive_box {
    width: 100%;
  }
  .post_img{
    width: 100%;
    height: 229px;
    filter: drop-shadow(0px 8.65709px 17.3142px rgba(22, 24, 67, 0.15));
  }
  .post_img img {
    width: 100%;
    height: 229px;
    object-fit: cover;
  }
  .qa_box {
    width: 100%;
    padding: 0 16px;
  }
  .qa_list_title {
    padding: 16px 58px 16px 16px;
  }
  .answer_btn a {
    width: 242px;
    height: 82px;
    font-size: 14px;
    line-height: 180%;
    letter-spacing: 0;
    padding: 16px 24px 16px 16px;
  }
  .policy_page {
    background: #FFFFFF;
  }
  .policy_box {
    width: 100%;
    padding: 0 16px;
  }
  .policy_contact {
    padding: 30px 16px 50px;
  }
  .policy_contact_txt {
    line-height: 160%;
  }
  .contact_thx {
    width: 100%;
    padding: 0 16px;
  }
  .contact_thx_heading {
    font-size: 18px;
  }
  .form_confirm {
    width: 100%;
    padding: 48px 16px 112px;
  }
  .tab_area {
    width: 343px;
    margin: auto;
  }
  .tab_area .tab a {
    width: 113px;
    height: 59px;
    font-size: 14px;
    line-height: 59px;
  }
  .panel {
    margin-top: 48px;
  }
  .company_profile_block {
    width: 343px;
    margin: auto;
  }
  .profile_title {
    width: 89px;
    font-size: 12px;
    padding: 21px 0;
  }
  .profile_txt {
    width: 254px;
    font-size: 14px;
    padding: 21px 0;
  }
  .profile_txt_long {
    width: 254px;
    font-size: 14px;
    padding: 21px 0;
  }
  .business_overview {
    padding: 21px 0;
  }
  .business_overview li {
    width: 240px;
  }
  .greeting_block {
    width: 100%;
    padding: 0 16px;
  }
  .greeting_img_box {
    width: 100%;
  }
  .greeting_photo {
    width: 100%;
    height: auto;
  }
  .greeting_photo img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .greeting_namebox {
    top: 85%;
    left: 0;
    right: 0;
    width: 291px;
    height: 132px;
    padding: 18px 0;
    margin: 0 0 0 auto;
  }
  .greeting_txt_wrapper {
    padding: 40px 0 120px 0;
  }
  .greeting_txt_box {
    width: 100%;
    margin-top: 120px;
  }
  .greeting_txt {
    font-size: 14px;
  }
  .company_greeting_block {
    padding: 48px 16px;
  }
  .company_greeting {
    width: 100%;
  }
  .company_greeting_txt {
    width: 100%;
  }
  .company_greeting_syaze_sp {
    width: 100%;
    max-width: 240px;
    height: 110px;
    margin: 24px auto 0;
  }
  .company_greeting_rinen_sp {
    width: 100%;
    max-width: 298px;
    height: 164px;
    margin: 24px auto 0;
  }
  .company_greeting_igi_sp {
    width: 100%;
    max-width: 280px;
    height: 214px;
    margin: 24px auto 0;
  }
  .company_greeting_syaze_sp img,
  .company_greeting_rinen_sp img,
  .company_greeting_igi_sp img {
    width: 100%;
    object-fit: contain;
  }
  .history_block {
    width: 100%;
    padding: 0 16px;
  }
  .history_box {
    width: 100%;
    flex-direction: column;
  }
  .history_year {
    width: 120px;
    border-right: none;
    padding-right: 30px;
  }
  .history_year::after {
    position: absolute;
    top: 21px;
    left: 100px;
    content: '';
    width: 243px;
    height: 2px;
    background: #0057B8;
  }
  .history_year_seireki {
    font-size: 34px;
    line-height: 34px;
  }
  .history_year_wareki {
    margin-top: 3px;
  }
  .history_day {
    left: 100px;
  }
  .history_contents {
    width: 100%;
    padding: 24px 0 64px;
  }
  .history_contents_txt {
    width: 100%;
  }
  .history_img_box {
    flex-direction: column;
  }
  .history_contents_img {
    width: 100%;
    height: auto;
    margin-right: 10px;
    margin-bottom: 24px;
  }
  .history_contents_img img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .history_contents_img2 {
    width: 100%;
    height: auto;
    margin-right: 10px;
    margin-bottom: 24px;
  }
  .history_contents_img2 img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .history_contents_img_h {
    width: 172px;
    height: 257px;
    margin: auto;
  }
  .history_contents_img_h img {
    width: 172px;
    height: 257px;
    object-fit: cover;
  }
  .history_contents_img_hh {
    width: 172px;
    height: 245px;
    margin: auto;
  }
  .history_contents_img_hh img {
    width: 172px;
    height: 245px;
    object-fit: cover;
  }
  .history_contents_img_h3 {
    width: 100%;
    margin-top: 10px;
    margin-right: 0;
  }
  .history_contents_img_h2 {
    width: 172px;
    height: 257px;
    margin: auto;
  }
  .no_day::before {
    top: 14px;
    right: 5px;
  }
  .contact_box {
    width: 100%;
    padding: 48px 16px 92px;
  }
  .tel_fax {
    flex-direction: column;
    padding-bottom: 0;
  }
  .tel_fax_txt {
    margin-bottom: 24px;
  }
  .form_bottom {
    padding-top: 0;
  }
  .form_submit_btn {
    margin: 49px auto 0;
  }
  #document .section_header {
    background-image: url(../img/bg_service01_sp.jpg);
  }
  #workplace .section_header {
    background-image: url(../img/bg_service02_sp.jpg);
  }
  #ict .section_header {
    background-image: url(../img/bg_service03_sp.jpg);
  }
  #security .section_header {
    background-image: url(../img/bg_service04_sp.jpg);
  }
  #space .section_header {
    background-image: url(../img/bg_service05_sp.jpg);
  }
  #infection .section_header {
    background-image: url(../img/bg_service06_sp.jpg);
  }
  #document.section_service_block,
  #workplace.section_service_block,
  #ict.section_service_block {
    background-position: center center;
  }
  #security.section_service_block,
  #space.section_service_block {
    background-position: bottom -113px center;
  }
  #infection.section_service_block {
    background-position: bottom -290px center;
  }
  .section_header_inner {
    width: 100%;
    padding: 133px 16px;
  }
  .section_header_title {
    font-size: 24px;
    line-height: 160%;
    letter-spacing: 0.1em;
    margin-top: 16px;
  }
  .section_contents_inner {
    width: 100%;
    margin-top: 30px;
  }
  .section_header {
    background-position: right;
  }
  .service_contents {
    padding: 0 16px;
  }
  .service_text_box {
    width: 100%;
    padding: 36px 39px;
  }
  .service_boxtitle {
    font-size: 18px;
    line-height: 180%;
    padding-bottom: 14px;
    margin-bottom: 14px;
  }
  .service_box_txt {
    font-size: 14px;
  }
  .section_contents_inner .answer_btn {
    margin-left: 16px;
  }
  #infection .section_contents {
    padding-bottom: 0;
  }
  .service_list {
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    padding: 0 20px;
    margin: 0;
  }
  .works_menu_list {
    flex-basis: 156px;
    margin: 50px 6px;
  }
  .works_menu_list:last-child {
    margin-right: 10px;
  }
  .service_page {
    padding-bottom: 0;
  }
  .recruit_title_block {
    height: auto;
    background-size: 450%;
  }
  .recruit_title_inner {
    width: 100%;
    height: 450px;
    padding-top: 0;
  }
  .title_right_img {
    top: 407px;
    right: 0;
  }
  .recruit_eyechach {
    top: -163px;
    left: auto;
    right: 0;
    width: 488px;
    height: 337px;
    font-size: 16px;
    line-height: 200%;
    text-align: left;
    background-size: 488px 337px;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    background-image: url(../img/section_eyechach_bg_sp.png);
    padding-top: 23px;
    padding-right: 95px;
    padding-bottom: 33px;
    padding-left: 135px;
  }
  .recruit_interview {
    width: 100%;
    flex-direction: column-reverse;
    padding: 0 16px;
  }
  .recruit_page {
    padding-top: 0;
  }
  .interview_title_sub {
    margin-bottom: 48px;
  }
  .interview_title {
    margin-top: 40px;
  }
  .interview_img {
    width: 100%;
    height: auto;
    margin: auto;
  }
  .interview_img img {
    width: 100%;
    height: auto;
  }
  .interview_department {
    margin-top: 48px;
  }
  .interview_hand,
  .interview_hand img {
    width: 333px;
    height: auto;
  }
  .interview_voice01, .interview_voice02 {
    font-size: 24px;
  }
  .recruit_img_box {
    width: 100%;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
  }
  .recruit_img_box {
    width: 100%;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
  }
  .recruit_img_list {
    width: 100%;
    margin-bottom: 10px;
    margin-left: -90px;
  }
  .interview_comment_img {
    width: 100%;
    height: 260px;
    margin-left: -50px;
  }
  .recruit_img_list img {
    width: 478px;
    height: 237px;
    object-fit: contain;
  }
  .interview_comment_img img {
    width: 510px;
    height: 260px;
    object-fit: contain;
  }
  .interview_comment_wrapper {
    width: 100%;
  }
  .interview_comment_box {
    width: 100%;
    flex-direction: column;
    padding: 48px 16px;
    margin-top: 0;
    margin-bottom: 0;
  }
  .interview_comment {
    width: 100%;
    margin-bottom: 40px;
  }
  .interview_comment2 {
    position: relative;
    bottom: 0;
    left: -60px;
  }
  .resources_required_box {
    width: 100%;
    height: 570px;
    background-image: url(../img/resources_required_box_sp.png);
    background-position: bottom right 37%;
    padding: 0 36px 89px;
  }
  .resources_required_02 {
    width: 100%;
  }
  .recruiting_block {
    padding: 48px 0;
  }
  .recruit_menu {
    width: 100%;
    flex-direction: column;
    padding-top: 0;
  }
  .recruit_list {
    margin: auto;
    margin-top: 24px;
  }
  .recruitment {
    padding: 0 16px;
    padding-top: 56px;
  }
  .recruitment_box {
    width: 100%;
    padding: 48px 16px;
  }
  .entry_form {
    width: 100%;
  }
  .txtbox_2nd {
    margin-top: 0;
  }
  .interview_comment_box2 .interview_comment {
    margin-left: 16px;
    margin-bottom: 88px;
  }
  .resources_required {
    padding-top: 193px;
    margin-top: -160px;
  }
  .resources_required::before {
    height: 183px;
  }
  .entry_form_block {
    padding: 80px 16px 127px;
  }
  .entry_submit_btn input {
    width: 100%;
    margin-bottom: 0;
  }
  .advantage_wrapper {
    padding: 16px;
  }
  .advantage_box {
    width: 100%;
    flex-direction: column;
    padding: 16px;
  }
  .advantage_img {
    width: 100%;
    height: auto;
    margin-bottom: 40px;
  }
  .advantage_img img {
    width: 100%;
    height: auto;
  }
  .advantage_txt {
    width: 100%;
  }
  .advantage_no {
    font-size: 14px;
  }
  .advantage_title {
    font-size: 20px;
  }
  .advantage_text {
    font-size: 14px;
  }
  .tag_title_inner {
    width: 90%;
    flex-wrap: wrap;
  }
}

/*追加css*/
.f-14{
  font-size: 13px;
}
@media screen and (max-width:600px) {
  .f-14{
    font-size: 12px;
  }
}