@charset "UTF-8";
/* #############################################################

[ ページ ] 各ページ用のスタイルを定義

 [note]
 *デスクトップファースト
 *メジャーブレークポイントは以下の通り
  ・スマホ: 42.5em //680px
  ・タブレット: 52.5em //840px
  ・デスクトップ（小）: 67.5em //1080px

############################################################# */
/** -------------------------------- **
	SERVICE 2nd
*** ----------------------------------------------------------------- ***/
/*
 * メイン
--------------------------------------- **/
.service-cat-main {
  margin-bottom: 35px;
  position: relative; }

.service-lead {
  font-size: 1.75rem;
  padding: 40px;
  margin-bottom: 0;
  background: #fff;
  position: absolute;
  right: 0;
  bottom: -10px; }

@media screen and (max-width: 42.5em) {
  .service-cat-main {
    margin-bottom: 14%; }
  .service-lead {
    font-size: calc( ( 18 * 100vw ) / 380);
    padding: 4%;
    position: absolute;
    right: 0;
    bottom: -20%; } }

/*
 * Card menu
--------------------------------------- **/
.service-card-list li {
  margin-bottom: 3%; }

.service-card-link {
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative; }

.service-card-link::after {
  width: 180px;
  height: 2rem;
  display: inline-block;
  content: '';
  color: #fff;
  padding: .25rem .5rem;
  -webkit-transform: skew(-30deg);
          transform: skew(-30deg);
  position: absolute;
  top: 0;
  left: -10px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff; }

.service-card {
  color: #2c2c2c;
  height: 100%;
  margin-bottom: 0;
  -webkit-transition: all .3s;
  transition: all .3s;
  border: 1px solid #b7b7b7; }

.service-card-label {
  color: #fff;
  font-size: 0.812rem;
  padding: .25rem .5rem;
  position: relative;
  z-index: 1; }

.service-card-contents {
  padding: 15px;
  margin-bottom: 0; }

.service-card-name {
  font-size: 1.25rem; }

.service-card-txt {
  font-size: 0.875rem;
  margin-bottom: 0; }

/* カテゴリー毎のカラー設定 */
.service-network::after {
  background: #0061dc; }

.service-network:hover .service-card {
  color: #fff;
  background: #0061dc;
  border: 1px solid #0061dc; }

.service-disaster::after {
  background: #08ab87; }

.service-disaster:hover .service-card {
  color: #fff;
  background: #08ab87;
  border: 1px solid #08ab87; }

.service-education::after {
  background: #ee6464; }

.service-education:hover .service-card {
  color: #fff;
  background: #ee6464;
  border: 1px solid #ee6464; }

.service-electrical::after {
  background: #b08111; }

.service-electrical:hover .service-card {
  color: #fff;
  background: #b08111;
  border: 1px solid #b08111; }

@media screen and (max-width: 67.5em) {
  .service-card-wrap {
    padding: 0 3%; }
  .service-card-name {
    font-size: 1.125rem; }
  .service-card-txt {
    font-size: 0.812rem; } }

@media screen and (max-width: 42.5em) {
  .service-card-link::after {
    width: 96%; }
  .service-card-contents {
    padding: 5% 4% 4%; }
  .service-card-label {
    font-size: calc( ( 12 * 100vw ) / 380); }
  .service-card-name {
    font-size: calc( ( 16 * 100vw ) / 380); }
  .service-card-txt {
    font-size: calc( ( 14 * 100vw ) / 380); } }

/** -------------------------------- **
	SERVICE 3rd
*** ----------------------------------------------------------------- ***/
/*
 * メイン
--------------------------------------- **/
.service-page-main-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
	max-width: 900px;
	margin: 0 auto; }

.service-page-main-img {
  -ms-flex-preferred-size: 587px;
      flex-basis: 587px;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.service-page-main {
  -ms-flex-preferred-size: 445px;
      flex-basis: 445px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding-right: 2%; }

.service-page-main-lead {
  font-size: 1.5rem; }

.service-page-main-txt {
  max-width: 80%;
  margin-bottom: 0; }

@media screen and (max-width: 67.5em) {
  .service-page-main-lead {
    font-size: calc( ( 26 * 100vw ) / 1040); } }

@media screen and (max-width: 42.5em) {
  .service-page-main-wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 4%; }
  .service-page-main-img {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .service-page-main {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    padding-right: 0; }
  .service-page-main-lead {
    font-size: calc( ( 34 * 100vw ) / 680); }
  .service-page-main-txt {
    max-width: 100%; } }

/*
 * 特徴
--------------------------------------- **/
.service-feature-list {
  padding: 0;
  margin-bottom: 40px;
  counter-reset: section; }

.service-feature-conts {
  margin-bottom: 3%; }

.service-feature-inner {
  padding: 20px 40px;height:100%; }

.service-feature-inner::before {
  display: inline-block;
  width: 2rem;
  counter-increment: section;
  content: counter(section);
  font-size: 2.125rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 1rem;
  border-bottom: 1px solid #0077e6; }

.service-feature-ttl {
  font-size: 1.375rem;
  color: #0077e6; }

/*
 * ニーズ
--------------------------------------- **/
.service-point-list {
  margin-bottom: 40px; }

.service-point-list li {
  margin-bottom: 1.5%; }

.service-point-inner {
	padding: 1rem;
	height:100%;
	display: flex;
	/* align-items: center; */
}

.service-point-inner::before {
  display: inline-block;
  content: '・';
  font-weight: 700;
  margin-right: .5rem; }

.service-page-copy {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1.5rem; }
.service-page-copy span {
	font-size: 1rem;
	font-weight: 400; }

@media screen and (max-width: 42.5em) {
  .service-page-copy {
    font-size: calc( ( 30 * 100vw ) / 680); }
	.service-page-copy span {
		font-size: calc( ( 20 * 100vw ) / 680); }
  .service-detail-img .c-grid-items-mgn {
    margin-bottom: 3%;
    text-align: center; } }

/*
 * お問い合わせ
--------------------------------------- **/
.service-contact-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 930px;
  margin: 40px auto 20px;
  padding: 20px 45px;
  border: 1px solid #b7b7b7; }

.service-contact-ttl {
  font-size: 1rem;
  font-weight: 500;
  padding-right: 2rem;
  margin-bottom: 0; }

.service-contact-tel {
  color: #0077e6;
  font-size: 2.25rem;
  padding-right: 2rem; }

.service-contact-tel p {
  margin-bottom: 0; }

.service-contact-tel .icon-svg {
  width: 43px;
  height: 42px;
  margin-right: 1rem; }

.service-contact-btn {
  margin-bottom: 0; }

.service-contact-btn .btn-contact {
  padding: 1rem 2rem; }

@media screen and (max-width: 42.5em) {
  .service-contact-wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 4% 6%; }
  .service-contact-ttl {
    padding-right: 0; }
  .service-contact-tel {
    padding-right: 0;
    margin-bottom: 1rem; } }

/*
 * 市町村向けITシステムの企画設計・提案・販売・フォロー
--------------------------------------- **/
.municipality .service-feature-txt {
	list-style:disc;
}
.municipality .service-feature-inner {
	height:100%;
}
@media screen and (max-width: 42.5em) {
	.municipality .service-page-main-txt {
		padding-left:0px;
	}
	.municipality .service-page-main-lead {
		width:100%;
	}
}
/*
 * 設定、修理サービスネットワーク保守
--------------------------------------- **/
.maintenance .service-feature-txt {
	list-style:disc;
}
.maintenance .service-feature-inner {
	height:100%;
}
@media screen and (max-width: 42.5em) {
	.maintenance .service-page-main-txt {
		padding-left:0px;
	}
	.maintenance .service-page-main-lead {
		width:100%;
	}
}
/*
 * 民需向け無線通信管理システムの企画設計・提案・販売・フォロー
--------------------------------------- **/
.private .service-feature-txt {
	list-style:disc;
}
.private .service-feature-inner {
	height:100%;
}
@media screen and (max-width: 42.5em) {
	.private .service-page-main-txt {
		padding-left:0px;
	}
	.private .service-page-main-lead {
		width:100%;
	}
}
/*
 * コミュニティFM放送システムのシステム設計・提案・構築・フォロー
--------------------------------------- **/
.broadcast .service-feature-txt {
	list-style:disc;
}
.broadcast .service-feature-inner {
	height:100%;
}
.broadcast .service-point-list {
	margin-bottom:40px;
}
.broadcast-short-text {margin-bottom:40px;}
@media screen and (max-width: 42.5em) {
	.broadcast .service-page-main-txt {
		padding-left:0px;
	}
	.broadcast .service-page-main-lead {
		width:100%;
	}
}
/*
 * 消防/緊急司令システムの企画提案・設計支援・販売提供
--------------------------------------- **/
.fire-fighting .service-feature-txt {
	list-style:disc;
}
.fire-fighting .service-feature-inner {
	height:100%;
}
.fire-fighting .service-title-bold {font-weight:bold;font-size:1rem;}
@media screen and (max-width: 42.5em) {
	.fire-fighting .service-page-main-txt {
		padding-left:0px;
	}
	.fire-fighting .service-page-main-lead {
		width:100%;
	}
}
/*
 * 総合防災システムの企画提案・設計支援・販売提供
--------------------------------------- **/
.comprehensive .service-feature-txt {
	list-style:disc;
}
.comprehensive .service-feature-inner {
	height:100%;
}
.comprehensive .service-title-bold {font-weight:bold;font-size:1rem;}
@media screen and (max-width: 42.5em) {
	.comprehensive .service-page-main-txt {
		padding-left:0px;
	}
	.comprehensive .service-page-main-lead {
		width:100%;
	}
}
/*
 * ICT支援員委託
--------------------------------------- **/
.ict-support .service-feature-txt {
	list-style:disc;
}
.ict-support .service-feature-inner {
	height:100%;
}
.ict-support .service-title-bold {font-weight:bold;font-size:1rem;}
@media screen and (max-width: 42.5em) {
	.ict-support .service-page-main-txt {
		padding-left:0px;
	}
	.ict-support .service-page-main-lead {
		width:100%;
	}
}

/*
 * 無線点検・保守・修理・修繕消防指令システム・防災関連システム・各種車載システム
--------------------------------------- **/
.inspection .c-conts-header-child::before {
	margin-right: 2.6rem;
}
.inspection .c-conts-header-child::after {
	margin-left: 2.6rem;
}
@media screen and (max-width: 42.5em) {
	.inspection .c-conts-header-child::before {
		margin-right: 1rem;
	}
	.inspection .c-conts-header-child::after {
		margin-left: 1rem;
	}
}



/*
 * 会社案内
--------------------------------------- **/
.company-wrap {
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.company .company-items {
	width: 260px;
	position: relative;
	margin: 0 2% 40px;
}
.company .company-items .items-img {width: 100%;}
.company .caption-text {
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 10px 23px 5px;
	background: #fff;
}
.company-link-color:hover::before {
	visibility: visible;
	transition: .5s ease;
}
.company-link-color::before {
	position: absolute;
	content: "";
	background: #0077e6;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	visibility: hidden;
	transition: .3s ease;
}
@media screen and (max-width: 67.5em){
	/* .company-wrap {
		justify-content: space-around;
	} */
	.company .company-items {
		width: 30%;
		margin: 0 1% 40px;
	}
}
@media screen and (max-width: 42.5em){
	.company-wrap {
		justify-content: space-between;
		padding: 10px;
	}
	.company .company-items {
		width: 49%;
		margin: 0;
		margin-bottom: 10px;
	}
	.company .caption-text {
		padding: 8px 10px 5px;
	}
}
@media screen and (max-width: 67.5em) {
  .quality-policy {
        padding: 3%;} }

@media screen and (max-width: 42.5em) {
  .c-conts-header{ margin-bottom: 3%;}
}
/*
 * 会社概要
--------------------------------------- **/
.profile {padding:3%;}
.profile .profile-container {
	width:900px;
	margin:0 auto;
}
.profile .profile-column2-flex {
	display:flex;
	border-bottom:1px solid #929292;
}
.profile .profile-column2-flex:last-child {
	border-bottom:none;
}
.profile .profile-column3-flex {
	display:flex;
	flex-wrap:wrap;
	border-bottom:1px solid #929292;
}
.profile .items01,
.profile .items02 {margin-bottom:0;padding:15px 0 15px 10px;}
.profile .items01 {width:120px;}
.profile .items02 {
	padding-left:30px;
}
.profile .items02-margintop {
	margin-top:30px;
}
.profile .column3-right {
	position:relative;
	list-style:none;
	padding:0;
}
.profile .column3-right {
	width:700px;
}
.profile .column3-right .items02 {
	 display: flex;
    justify-content: flex-start;
    align-items: center;
	flex-wrap:wrap;
	border-bottom:1px solid #929292;
}
.profile .column3-right .items02:last-child {
	border:none;
}
.profile .column3-right-access {
    padding: 10px;
    background: #0077e6;
    color: #fff;
    text-align: center;
    width: 114px;
    font-size: .8rem;
    position: absolute;
    right: 50px;
}
.profile .items04-flex-list {
	padding: 0;
	list-style: none;
}
.profile .items04-flex-list:first-of-type {
	margin-right: 70px;
}
.profile-items01 {
	padding:20px 0 0 30px;
}
.profile .items02-flex {
	display:flex;
	padding:15px 0 15px 30px;
	gap: 40px;
}
.profile .items02-flex-list {padding:0;list-style:none;margin:0;}
.profile .items02-flex-plaicelist {
	 display: flex;
    padding: 0;
    list-style: none;
}
.profile .detail-data .items02 {
	padding: 0;
}
.profile .places {padding:15px 0 15px 30px;}
.profile .places-space {width:140px;}
.profile .places-space2 {width:200px;}
.profile .items03 {
	width:825px;
	padding:15px 0 0px 30px;
}
.profile .img-flex {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	margin:20px 0 15px;
	gap: 2%;
}
.profile .img-flex > *{
width: 23%;
}
.profile .right-space {width:700px;}

.profile .items03-flex {
	display:flex;
	padding:15px 0 15px 30px;
}
.profile .items03-flex-list {
	padding:0;
	list-style:none;
	width:380px;
}
@media screen and (max-width: 67.5em) {
	.profile .profile-container,
	.profile .column3-right{
		width:100%;
	}
	.profile .profile-column2-flex {
		flex-wrap:wrap;
	}
	.profile .items02-flex {width:100%;}
	.profile .items03-flex {padding-left:0;flex-wrap:wrap;}
	.profile .column3-right .items02 {padding-left:0;}
	.profile .items02-flex {padding-left:0;}
	.profile .places {padding-left:0;}
	.items03-flex-list {width:100%;}
	.profile .items03-flex-list {width:100%;margin:0;}
}
@media screen and (max-width: 42.5em) {
	.profile .img-flex > *{width: 32%;}
	.profile .items02-flex {display: block;}
	.profile .column3-right-access {position:initial;display: block;}
	.profile .items02-flex-plaicelist {display:block;margin-bottom:20px;}
	.profile .items02-flex {flex-wrap:wrap;}
	.profile .column3-right .items02 {display: block;}
	.profile .profile-column2-flex {flex-wrap: wrap;}
	.profile .items01 {width: 100%;padding: 20px 0 0;}
	.profile .profile-items01 {padding: 0;}
	.profile .items03,
	.profile .items02-flex,
	.profile .profile-items01{padding-left:10px;padding-top: 15px;}
	.profile .items04-flex-list,
	.profile .items03-flex-list {padding-left: 10px;}
	.profile .items04-flex-list:first-of-type {margin-right: 0;}
}
/*
 * 品質管理　
--------------------------------------- **/
.quality-policy-p-margin {
	margin-bottom:60px;
}
/*
 * 環境方針
--------------------------------------- **/
.environment-policy-width {
	width:900px;
	margin:0 auto;
}
.environment-policy .u-line-block {
	list-style:none;
	padding:0;
}
.environment-policy  .u-line-block-text {
	margin-bottom:20px;
}
.environment-policy .u-h3-line {
	border-bottom:1px solid #0077e6;
	margin-bottom:30px;
}
.environment-policy-p-margin {
	margin-bottom:60px;
}
.u-environment-policy-img {
	margin-bottom:30px;
}
.u-environment-link {
	color:#0077e6;
}
.environment-policy .environment-titleBlock {
	position:relative;
	margin-bottom:80px;
}
.environment-policy .environment-h3 {
    position: absolute;
    bottom: -20px;
    right: 0;
    line-height: 150%;
    padding: 40px 50px ;
    background: #fff;
    font-size: 2rem;
    width: 516px;
}
@media screen and (max-width: 67.5em) {
  .environment-policy {
        padding: 3%}
	.environment-policy-width {
		width:100%;
		margin:0 auto;
	}
	.environment-policy .environment-titleBlock {
		margin-bottom:30px;
	}
	.environment-policy .environment-h3 {
	 position: initial;
    width: 100%;
    font-size: 1.4rem;
		padding:0px;
	}

}
/*
 * 情報セキュリティ方針
--------------------------------------- **/
.security-policy .u-h3-line {
	border-bottom:1px solid #0077e6;
	margin-bottom:30px;
}
.security-policy .c-security-textBlock {
	padding:10px 0 0px;
}
.security-policy .u-h4-bg {
    background: #dfeaf6;
    padding: 12px 10px;
}
.u-security-right {
	text-align:right;
	padding:60px 0;
}
.u-security-right-tleft{
	display: flex;
	justify-content: flex-end;
	padding:60px 0;
}
@media screen and (max-width: 67.5em) {
  .security-policy {padding: 3%}
  .u-security-right {padding:30px 0;}
  .u-security-right-tleft {padding:30px 0;}
}
/*
 * 個人情報保護方針
--------------------------------------- **/
.privacy-policy-read:nth-of-type(1) {
	margin-bottom:0;
}
.privacy-policy-read:nth-of-type(2) {
	margin-bottom:1.5em;
}
.privacy-policy .u-h4-bg {
    background: #dfeaf6;
    padding: 12px 10px;
}
.privacy-policy .c-privacy-textBlock {
	padding:10px 0 0px;
	margin-bottom:20px;
}
.privacy-policy-bottom-text {
	padding:30px 0 60px;
}
.privacy-policy .u-privacy-right {
	text-align:right;
	padding:20px 0;
}
.privacy-policy .u-privacy-right:nth-of-type(2) {
	padding-top:0;
}

.privacy-policy-measure {
	border-top: 1px solid #b7b7b7;
	padding-top: 50px;
	margin-bottom: 100px;
}
.privacy-policy-measure-title {
	text-align: center;
	font-size: 1.25rem;
  font-weight: 600;
	margin-bottom: 30px;
}
.privacy-policy-measure-title02 {
	margin-bottom: 0;
	font-weight: 600;
}
.privacy-policy-measure-sentence {
	margin-bottom: 20px;
}
.privacy-policy-measure-list {
	margin-bottom: 20px;
}


@media screen and (max-width: 67.5em) {
  .privacy-policy {
        padding: 3%}
	.privacy-policy-bottom-text {
		padding:30px 0;
	}
	.privacy-policy .u-privacy-right {
		text-align:right;
		padding:0px 0;
	}

	.company .privacy-policy-measure-title {
    font-size: 20px;
	}

}
/*
 * 社長あいさつ
--------------------------------------- **/
.message,
.message2,
.message3 {
	padding:3%;
}
.message-width {
	width:900px;
	margin:0 auto;
}
.message-titleBlock {
	position:relative;
	margin-bottom:40px;
}
.message-h3 {
    position: absolute;
		bottom: -1rem;
		right: 0;
    line-height: 150%;
		padding:25px 40px;
		margin-bottom: 0;
    background: #fff;
    font-size: 2rem;
    width: 490px;
}

.img-size {
	text-align:right;
}
.message-text-space.mgn {
	margin-bottom:40px;
	margin-top:40px;
}
.message-center-img {
	margin:20px 0 65px;
}
@media screen and (max-width: 67.5em) {
	.message-width {
		width:100%;
}
	.message-h3 {
		position:initial;
		width:100%;
		font-size:1.4rem;
		padding:0;
	}
	.img-size {
		width:100%;
	}
	.img-size img {width:100%;}
	.message-text-space {
		margin-bottom:20px;
	}
	.message-center-img {
		margin:10px 0 45px;
	}
}
@media screen and (max-width: 42.5em) {
	.message-h3 {
		font-size: 1.2rem;
	}
}

/*
 * 組織図
--------------------------------------- **/
.organization .service-page-main-img {padding:3%;}

/*
 * 会社沿革
--------------------------------------- **/
.history {
	padding: 3%;
}
.history-width {
	width: 980px;
	margin: 0 auto;
}
.history .title-h3blue {
	background: #d9e7f6;
	color: #353636;
	text-align: center;
	margin: 0;
}
.history .textblock-inner {
	list-style: none;
    width: 740px;
    margin: 0 auto;
    padding: 15px 0 0px 20px;
    display: flex;
    border-left: 3px solid #faccbd;
}
.history .textblock-inner .circle {
	width: 115px;
	position: relative;
}
.history .conte-space:last-child {
	padding-bottom: 15px;
}
.history .textblock-inner .circle::before {
	position: absolute;
    content: "";
    width: 13px;
    height: 13px;
    background: #f63b00;
    border-radius: 50%;
    top: 7px;
    left: -28px;
}
@media screen and (max-width: 67.5em){
	.history-width,
	.history .textblock-inner {width: 100%;}
}
@media screen and (max-width: 42.5em){
	.history .textblock-inner {
		display: block;
	}
}

/*
 * 採用情報
--------------------------------------- **/
.recruitment .recruitment-wrap {
    width: 1120px;
    margin: 0 auto;
}
.recruitment .recruitment-titleBlock {
    position: relative;
    margin-bottom: 80px;
}

.recruitment .recruitment-h3 {
    position: absolute;
    bottom: -20px;
    right: 0;
    line-height: 150%;
    padding: 40px 50px;
    background: #fff;
    font-size: 2rem;
    width: 516px;
}

.recruitment .u-recruitment-centertxt {
    text-align: center;
}

.recruitment .c-recruitment-centertxt {
    margin-bottom: 45px;
}
.recruitment .column-right-btn,
.recruitment .column-left-btn {
    padding: 10px;
    background: #0077e6;
    color: #fff;
    text-align: center;
    width: 160px;
    font-size: .8rem;
    display: block;
    float: left;
}

.recruitment .column-left-btn {
    margin-left: 10px;
}

.recruitment .recruitment-btn-column-block {
    width: 330px;
    margin: auto;
    margin-bottom: 65px;
}

.recruitment .c-contents-subhead-h2 {
    color: #0f72d1;
    font-size: 1.625rem;
    font-weight: 600;
    position: relative;
    border-top: 1px solid #b7b7b7;
    border-bottom: 1px solid #b7b7b7;
    margin-bottom: 40px;
    padding: 20px 0;
    text-align: center;
}

.recruitment .u-recruitment-personimages-block {
    display: flex;
    justify-content: center;
    padding: 0 50px;
    text-align: center;
    margin-bottom: 160px;
    margin-top: 60px;
		gap: 20px;
}
.recruitment .u-recruitment-personimages-block:after {display: none;}
.recruitment .u-recruitment-personimages {
    margin:0 5px;
}
.recruitment .u-recruitment-personimages-block .voice-box {
    position: relative;
}
.recruitment .c-recruitment-person-number-block {
    position: relative;
}

.recruitment .c-recruitment-person-number {
    position: absolute;
    bottom: -90px;
    left: 14px;
}

.recruitment .c-recruitment-person-number-txt {
    position: absolute;
    bottom: 0px;
    width: 165px;
    text-align: left;
    left: 77px;
    line-height: 1.4rem;
    font-size: 90%;
}

.recruitment .u-recruitment-person-number-txtcolor {
    color: #f00;
    font-weight: bold;
}

.recruitment .c-recruitment-infomation-listblock {
    display: block;
    margin: auto;
    width: 450px;
}

.recruitment .c-recruitment-infomation-list {
    border-bottom: 1px solid #dfdfdf;
    list-style: none;
    width: 450px;
    padding: 15px 0;
}

.recruitment .c-recruitment-infomation-listdate {
    margin-left: 10px;
}

.recruitment .c-recruitment-infomation-listtxt {
    margin-left: 10px;
}
.recruitment .recruitment-titleBlock .service-page-main-img {margin-bottom:0;}
@media screen and (max-width: 67.5em){
    .recruitment .recruitment-h3 {
        position: initial;
        font-size: 1.4rem;
        padding: 0px 0 0 20px;
        width: 100%;
    }
    .recruitment .c-recruitment-centertxt {
        padding: 0 10px;
    }
    .recruitment .recruitment-wrap {width: 100%;}
    .history-width,
    .history .textblock-inner {width: 100%;}
    .recruitment .u-recruitment-personimages-block {
        padding: 0 20px;
        flex-wrap: wrap;
        margin-bottom: 60px;
    }
    .recruitment .u-recruitment-personimages-block .voice-box {margin-bottom: 120px;}
}
@media screen and (max-width: 42.5em){
    .recruitment .recruitment-h3 {font-size: 1.2rem;padding: 0 0 0 10px;}
    .recruitment .c-recruitment-infomation-list {width: 100%;}
    .recruitment .c-conts-header {margin-bottom: 20px;}
    .recruitment .recruitment-titleBlock {
        margin-bottom: 40px;
    }
    .recruitment .u-recruitment-personimages-block {
        justify-content: space-around;
    }
    .history .textblock-inner {
        display: block;
    }
	.recruitment .c-recruitment-infomation-listblock {width:100%;padding:0;}
}
/*
 * 先輩の声
--------------------------------------- **/
.voice-page-main-wrap {
	width: 900px;
	margin: 0 auto;
}
.voice .voice-titleBlock {
    position: relative;
    margin-bottom: 80px;
}
.voice .service-page-main-img {margin: 0;}
.voice .voice-h3 {
    position: absolute;
    bottom: 0px;
    right: 0;
    line-height: 150%;
    padding: 30px 27px 15px;
    margin: 0;
    background: #fff;
    width: 58%;
    font-size: 36px;
    line-height: 130%;
    letter-spacing: 2px;
}
.voice-h3-small {
	font-size: 18px;
	line-height: 150%;
	display: block;
	margin-top: 20px;
	padding-top:20px;
	border-top: 1px solid #999999;
}

.voice .voice-h3-left {
    position: absolute;
    bottom: 0px;
    left: 0;
    line-height: 150%;
    padding: 30px 27px 15px;
    margin: 0;
    background: #fff;
    width: 58%;
    font-size: 36px;
    line-height: 130%;
    letter-spacing: 2px;
}

@media screen and (max-width: 42.5em){
	.voice .voice-h3-left {
			position: static;
			line-height: 150%;
			padding: 30px 27px 15px;
			width:100%;
			font-size: 28px;
	}
}


.voice .voice-main {margin-bottom: 50px;}
.voice .voice-block {
	margin-bottom: 90px;
}
.voice .title-space {
	margin-bottom: 45px;
	font-size: 24px;
}
.voice .voice-span-text {
	color: #f63b00;
}
.voice .voice-text-black {
	font-size: 18px
}
.voice-text {
	padding-left: 68px;
}
.voice .voice-img-flex {
	display: flex;
}
.voice .voice-img-flex-img{
	width: 45%;
}
.voice .max-width-none {
	max-width: none;
	padding-left: 30px;
}
.voice .other-flex {
	display: flex;
	justify-content: center;
	padding: 40px 70px 0;
	gap: 30px;
}
.voice .voice-list {
	width: 1120px;
	margin: 0 auto;
}
.voice .other-flex::after {
	display: none;
}
.voice .caption-height {line-height: 150%;}
.voice .other-block {
	position: relative;
	font-weight: bold;
	color: #505050;
	width: 280px;
}
.voice .other-block::before {
	position: absolute;
	content: "";
	width: 50%;
	height: 1px;
	top: 25px;
	left: -50px;
	background: #0f72d1;
	transform:rotate(-55deg);
}
.voice-span-text-big {
	color: #f63b00;
	font-size: 22px;
}


@media screen and (max-width: 67.5em){
	.voice .voice-page-main-wrap,
	.voice .voice-list {
		width: 100%;
	}
	.voice-block {padding: 0 20px;}
	.voice .voice-text {
		padding-left: 0;
	}
	.voice .voice-img-flex-img {width: 100%;text-align: center;}
	.voice .voice .max-width-none {max-width: 100%;}
	.voice .other-block {width: 28%;}
	.voice .other-block::before {
		left: -20%;
	}
	.voice .voice-h3 {
		width: 100%;
		position: initial;
		padding: 20px;
	}
	.voice .other-flex {
		padding: 20px;
	}

}
@media screen and (max-width: 42.5em){
	.voice .voice-img-flex {
		display: block;
	}
	.voice .other-block {margin-bottom: 50px;}
	.voice .voice .max-width-none {max-width: 100%;padding-left: 0;}

	.voice .voice-h3 {
		font-size:calc( ( 18 * 100vw ) / 380);
	}
	.voice-h3-small {
		padding-top: 10px;
		margin-top: 10px;
		font-size:calc( ( 12 * 100vw ) / 380);
	}
	.voice .other-flex {
		padding: 40px 0;
	}

}

@media screen and (max-width: 480px){
	.voice .other-flex {display: block;width: 60%;margin: 0 auto;}
	.voice .other-block {width: 100%;}
	.voice .voice-block {margin-bottom:60px;}
	.voice .other-block::before {
		width: 30%;
		left: -10%;
		top: 6%;
	}
	.voice .other-flex {
		width:80%;
	}
	.voice .title-space {font-size:18px;margin-bottom:20px;}
	.voice .other-block img {width:100%;}
	.voice .voice-titleBlock {margin-bottom:40px;}
}
/*
 * 事業所案内
--------------------------------------- **/
.office {
	width: 1120px;
	margin: 0 auto;
}
.company .office-wrap {
	margin-bottom: 120px;
}
.company .office-info {
	display: flex;
}
.company .info-space {
	padding: 0;
	list-style: none;
	margin-bottom: 30px;
}
.company .info-space-border {
	border-bottom: 1px solid #a2a2a2;
	padding: 0 0 15px 30px;
	margin-bottom: 20px;
}
.company .info-space-border:last-child {
	border: none;
}
.office-info-left {margin-right: 40px;}
.office-info-right {width: 480px;}
.company .company-map {
	width: 600px;
	height: 380px;
}
.company .info-map {height: 100%;}
.company .office-wrap2 {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.company .info-block {width: calc(50% - 20px);}
.company .info-item {padding-left: 30px;list-style: none;margin-bottom: 100px;}
.company .info-block:after,
.company .office-wrap2:after {display: none;}

@media screen and (max-width: 67.5em){
	.office {
		width: 100%;
	}
	.company .office-wrap {padding: 0 10px;}
	.company .office-info,
	.company .office-wrap2{padding:0 10px;}
	.company .office-info-left {width: 50%;}
	.company .company-map {
		width: 100%;
		height: 245px;
	}
}
@media screen and (max-width: 42.5em){
	.company h2 {font-size: 3.5vw;}
	.company h3 {font-size: 14px;}
	.company .office-wrap {margin-bottom: 60px;}
	.company .info-space-border {padding: 0;}
	.company .office-info {
		flex-wrap: wrap;
	}
	.company .office-info-left {width: 100%;margin-right: 0px;}
	.company .info-map {width: 100%;}
	.company .office-info-right {width: 100%;text-align: center;margin-top: 40px;}
	.company .office-wrap2 {flex-wrap: wrap;}
	.company .info-block {width: 100%;}
	.company .info-item {margin-bottom: 40px;}
	.company .company-map {height:300px;}
	.company .info-item {padding-left:0;}
}

/** -------------------------------- **
	サイトマップ
*** ----------------------------------------------------------------- ***/
.sitemap .p-conts-wrap-large {
	margin-bottom: 2rem;
}

/*
 * SDGs
--------------------------------------- **/
.sdgs-conts-wrap {
  margin: 6% auto; }

.sdgs-conts-lead {
  font-size: 1.125rem; }

.sdgs-conts-link a {
  font-size: 1.125rem;
  color: #00adef;
  border-bottom: 1px solid #00adef; }

.sdgs-conts-main-img {
  margin: 4% auto; }

.sdgs-effort-inner {
  width: 750px;
  margin: 4% auto; }
  .sdgs-effort-inner:first-of-type {
    margin-top: 2%; }

.sdgs-effort-img {
  -ms-flex-preferred-size: 18%;
      flex-basis: 18%;
  max-width: 18%;
  margin: 0 auto 0 0; }

.sdgs-effort-textarea {
  -ms-flex-preferred-size: 77%;
      flex-basis: 77%;
  max-width: 77%; }

.sdgs-effort-title {
  font-size: 1.125rem;
  font-weight: 500;
  margin: 0; }

@media screen and (max-width: 52.5em) {
  .sdgs-effor-inner {
    max-width: 100%; } }

@media screen and (max-width: 42.5em) {
  .sdgs-conts-lead,
  .sdgs-conts-link a {
    font-size: 1rem; }
  .sdgs-conts-main-img {
    margin: 8% auto; }
  .sdgs-effort-inner {
    width: 100%; }
  .sdgs-effort-img {
    -ms-flex-preferred-size: 50%;
        flex-basis: 50%;
    max-width: 50%;
    margin: 2% auto; }
  .sdgs-effort-textarea {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    max-width: 100%; } }
