@charset "UTF-8";

/* common */
/* ----------------------------------- */
html {
  background-color: #f3f3f3;
}

/* section_title */
.section_title {
  background-size: cover;
  background-position: center;
  padding: 70px 20px;
  color: #878787;
}
.section_title h1.category_title {
  font-size: 71px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 30px;
  line-height: 1;
  letter-spacing: 0.2em;
}
.section_title h1.category_title:after {
  content: "";
  display: block;
  width: 56px;
  margin: 30px auto;
  border-top: 2px solid #878787;
}
.section_title .category_text {
  font-size: 17px;
  text-align: center;
	letter-spacing: 0.5em;
}
@media (max-width: 870px) {
  .section_title {
    padding: 50px 20px;
  }
  .section_title h1.category_title,
  .section_title h1.category_title.guide {
    font-size: 27px;
  }
}

/* section_content */
.section_content {
  max-width: 1000px;
  margin: 0 auto;
}

/* btn_readmor btns */
.btn_readmore.btn_middle a {
  width: 260px;
}
.section_content .btn_readmore {
  margin: 30px 0 80px;
  text-align: center;
}
.section_content .btn_readmore a {
  font-size: 15px;
}
.section_content .btn_readmore a {
  width: 260px;
}
@media (max-width: 870px) {
  .btn_readmore.btn_middle a,
  .btn_readmore.btn_large a {
    width: 100%;
  }
}

/* company */
/* ----------------------------------- *
/* profile */
.section_head.company {
  height: 480px;
  margin: 0 auto;
  padding: 80px 140px 0;
  background-color: #ddd;
  color: #fff;
  text-align: center;
}
.section_head.company .section_read__text {
  padding-bottom: 2em;
  line-height: 2;
}
.section_list {
  max-width: 900px;
  margin: 30px auto 0px;
}
.list_wrap {
  display: flex;
  justify-content: flex-start;
  padding: 30px 0;
  border-top: 1px solid #878787;
}
.list_wrap:last-child {
  border-bottom: 1px solid #878787;
}
.list_title {
  width: 290px;
  text-align: center;
}
.list_detail {
  width: 610px;
}
.list_title_item {
  width: 215px;
  padding: 6px;
  background-color: #a6a6a6;
  color: #fff;
}
.list_detail_item {
  padding: 6px;
}
.item_col .list_detail_item {
  display: flex;
  justify-content: space-between;
}
.list_detail_item_btn a.btn {
  position: relative;
  display: inline-block;
  margin-top: 10px;
  border: 1px solid #505050;
  text-align: center;
}
.list_detail_item_btn a.btn:after {
  position: absolute;
  right: 10px;
  content: "";
  width: 6px;
  height: 6px;
  border-right: 1px solid #505050;
  border-top: 1px solid #505050;
  transform: rotate(45deg);
}
.list_detail_item_btn a.btn_small {
  width: 120px;
  height: 22px;
  line-height: 22px;
}
.list_detail_item_btn a.btn_middle {
  width: 170px;
  height: 30px;
  line-height: 30px;
}
.item_col .list_detail_item_btn a.btn {
  margin-top: 20px;
}
.list_detail_item_btn a.btn_small:after {
  top: 7px;
}
.list_detail_item_btn a.btn_middle:after {
  top: 11px;
}
.list_detail_item_dl{
  display:block;
  position:relative;
  padding-bottom:0.25rem;
}
.list_detail_item_dt{
  display:block;
  position:absolute;
  top:0;
  left:0;
}
.list_detail_item_dd{
  display:block;
  padding-left:8em;
  text-align:left;
}
.list_detail_item_dd > span{
  display:inline-block;
}
@media (max-width: 870px) {
  .section_list {
    width: auto;
    margin-top: 0;
    margin-bottom: 0px;
    padding: 0 20px;
  }
  .list_wrap {
    display: flex;
    flex-direction: column;
  }
  .list_wrap:first-child {
    border-top: 0;
    padding-top: 0;
  }

  .list_title,
  .list_detail,
  .list_title_item {
    width: auto;
  }
  .list_title_item {
    margin-bottom: 20px;
  }
  .list_detail_item {
    text-align: center;
  }

  .item_col .list_detail_item {
    display: block;
  }
  .item_col .list_detail_item_btn a.btn {
    margin-top: 10px;
  }
 }

/* access */
.address_text,
.tel_num,
.to_access {
  text-align: center;
}
.address_text {
  padding-bottom: 30px;
  font-size: 20px;
}
.tel_num {
  margin: 0 auto;
  padding-bottom: 50px;
}
.tel_num .number {
  position: relative;
  display: inline-block;
  padding-left: 60px;
  font-size: 30px;
  text-align: center;
}
.tel_num .number:before {
  position: absolute;
  left: 0;
  content: "";
  display: inline-block;
  width: 52px;
  height: 52px;
  border-radius: 100%;
  border: 1px solid #878787;
}
.tel_num .number:after {
  position: absolute;
  top: 15px;
  left: 14px;
  content: "";
  display: block;
  width: 22px;
  height: 21px;
  background: url(/assets/img/company/icon_tel.png) no-repeat;
  background-size: 22px 21px;
  color: #000;
}
.to_access {
  position: relative;
  padding: 40px 0 100px;
  font-size: 20px;
}
.to_access:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "\30A2\30AF\30BB\30B9";
  width: 100%;
  text-align: center;
}
.map {
  margin-bottom: 50px;
}
.map iframe,
.map object,
.map embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

/* guide */
.section_title h1.category_title.guide {
  margin-bottom: 0;
  padding-top: 30px;
  padding-bottom: 30px;
  font-size: 38px;
}
.section_title h1.category_title.guide:after {
  display: none;
}
.list_container.num_title_reset {
  counter-increment: item;
}
h2.no_border {
  font-size: 22px;
  text-align: center;
}
h2.no_border.num_title {
  position: relative;
  margin-bottom: 30px;
  padding-left: 3em;
  font-size: 22px;
  line-height: 1.4;
  text-align: left;
  letter-spacing: 0.2em;
}
h2.no_border.num_title:before {
  position: absolute;
  left: 0;
  content: counter(item);
}
h2.no_border.num_title:after {
  content: "";
  position: absolute;
  left: 1.8em;
  width: 1px;
  height: 30px;
  background-color: #505050;
}
h2.no_border.multi_line {
  line-height: 2;
}
h2.gray_border {
	padding: 15px;
	border-top: 1px solid #878787;
	border-bottom: 1px solid #878787;
	font-size: 22px;
	line-height: 26px;
	text-align: center;
}
.section_content.content_guide {
  width: 900px;
  padding-bottom: 100px;
}
.section_content h2 {
    margin-bottom: 50px;
	font-weight: normal;
}
.section_content.content_guide h2 {
  margin-bottom: 0;
  padding-bottom: 30px;
}
.section_content.content_guide h3 {
  padding-bottom: 15px;
  font-size: 20px;
}
.section_content.content_guide .table_wrap {
  padding-bottom: 20px;
}
.section_content.content_guide table td,
.section_content.content_guide table th {
  padding: 15px;
}
@media (max-width: 870px) {
  .section_content {
    max-width: none;
    padding: 0 20px;
  }
  .section_content,
  .section_content.content_guide {
    width: auto;
  }
  .border_list_wrap,
  .section_other {
    width: auto;
  }
}

/* tables */
.table_wrap {
  padding-bottom: 80px;
}
.table_wrap table {
  width: 100%;
  border-collapse: collapse;
}
.table_wrap th {
  padding: 15px 3px;
  background-color: #a6a6a6;
  border-right: 1px solid #fff;
  color: #fff;
  font-weight: normal;
  text-align: center;
}
.table_wrap td {
  padding: 10px;
  border-right: 1px solid #878787;
  border-bottom: 1px solid #878787;
  text-align: center;
}
.table_wrap th:last-child,
.table_wrap tr td:last-child {
  border-right: 0;
}
.table_wrap tbody {
  border-top: 1px solid #878787;
}
.table_wrap thead + tbody {
  border-top: 0;
}
.table_wrap .table_align_left th,
.table_wrap .table_align_left td {
  text-align: left;
}
.table_wrap .table_side_border {
  border-left: 1px solid #a6a6a6;
  border-right: 1px solid #a6a6a6;
}
.table_wrap .table_no_border tbody {
  border-top: 0;
}
.table_wrap .table_no_border tr:last-child th,
.table_wrap .table_no_border tr:last-child td {
  border-bottom: 0;
}
.table_wrap .td_white td {
  background-color: #fff;
}
.table_wrap .th_white_border th {
  border-bottom: 1px solid #fff;
}

/* other */
.pb20 {
  padding-bottom: 20px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pt20 {
  padding-top: 20px;
}
.pt10 {
  padding-top: 10px;
}
.text_link {
  color: #0071b6;
  text-decoration: underline;
}
.read_text {
  font-size: 18px;
}
.center {
  text-align: center !important;
}
.text_right {
  text-align: right !important;
}
.text_left {
  text-align: left !important;
}
.text_center {
    text-align: center;
}
.mb80 {
    margin-bottom: 80px;
}
.mb50 {
    margin-bottom: 50px;
}

.mr20 {
	margin-right: 20px;
}

/* history */
.section_news.border_gray.history {
  padding-bottom: 100px;
}
.section_news.border_gray.history .section_news__list {
  border-top: 1px solid #878787;
}
.section_news.border_gray.history .section_news__item {
  display: flex;
  align-items: flex-start;
  padding: 30px 0;
}
.section_news.border_gray.history .section_news__item .date {
  width: 135px;
  line-height: 1.5;
 }
.section_news.border_gray.history .section_news__item .title {
  white-space: normal;
  line-height: 1.5;
}

.section_news.border_gray {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 30px;
}
.section_news.border_gray .section_news__item {
  /* display: flex; */
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #878787;
}
.section_news.border_gray.last_no_boder .section_news__item:last-child {
  border-bottom: 0;
}
.section_news.border_gray .section_news__list {
  margin-top: 0;
  margin-bottom: 0;
}

.section_news.border_gray.history {
  padding-bottom: 100px;
}
.section_news.border_gray.history .section_news__list {
  border-top: 1px solid #878787;
}
.section_news.border_gray.history .section_news__item {
  display: flex;
  align-items: flex-start;
  padding: 30px 0;
}
.section_news.border_gray.history .section_news__item .date {
  width: 135px;
  line-height: 1.5;
 }
.section_news.border_gray.history .section_news__item .title {
  white-space: normal;
  line-height: 1.5;
}
.section_content.news_list .section_news.border_gray {
  padding-bottom: 80px;
}
.section_news.border_gray .section_news__item {
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #878787;
}
.border_list_wrap {
  width: 900px;
  margin: 0 auto;
}
@media (max-width: 870px) {
  .border_list_wrap {
    width: auto;
  }
}

/* リンクエリア */
.section_other {
	padding:100px 20px
}

@media (max-width:490px) {
	.section_other {
		padding:50px 20px 90px
	}
}
.section_other__list {
	max-width:1000px;
	margin:auto;
	display:-webkit-box;
	display:-webkit-flex;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	-ms-flex-pack:justify;
	justify-content:space-between
}
@media (max-width:660px) {
	.section_other__list {
		display:block
	}
}
.section_other__item {
	position:relative;
	z-index:0;
	color:#fff;
	width:48%
}
@media (max-width:660px) {
	.section_other__item {
		width:100%;
		margin-bottom:20px
	}
	.section_other__item:last-child {
		margin-bottom:0
	}
}
.section_other__item::before {
	content:"";
	display:block;
	padding-top:47%
}
.section_other__item a,
.section_other__item--img {
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:100%
}
.section_other__item--img {
	object-fit:cover;
	opacity:1;
	-webkit-transition:opacity .2s;
	transition:opacity .2s
}
a:hover+.section_other__item--img {
	opacity:.5
}
.section_other__item a {
	z-index:1;
	background:-webkit-linear-gradient(top,transparent 0,#000 100%);
	background:linear-gradient(to bottom,transparent 0,#000 100%)
}
.section_other__item--title {
	font-size:25px;
	line-height:1;
	letter-spacing:.2em;
	text-align:center;
	position:absolute;
	top:0;
	bottom:0;
	width:100%;
	height:1em;
	margin:auto
}
@media (max-width:480px) {
	.section_other__item--title {
		font-size:16px
	}
}
.section_other .btn_readmore {
	text-align:center;
	position:absolute;
	bottom:.5em;
	width:100%
}
@media (max-width:480px) {
	.section_other .btn_readmore {
		font-size:10px
	}
}
.section_other .btn_readmore span {
	width:180px;
	border:none
}
@media (max-width:480px) {
	.section_other .btn_readmore span {
		width:150px
	}
}
.section_other__item {
  margin-bottom: 30px;
}

/* contact */
.list_group.icon_square .square_list_item::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 0;
    width: 8px;
    height: 8px;
    background: #505050;
}
.list_group.icon_square .square_list_item {
    position: relative;
    padding-left: 15px;
    padding-bottom: 10px;
}

/* recruit */

.btn_large {
    width: 660px;
    margin: 0 auto;
}
@media (max-width: 870px) {
	.btn_readmore.btn_large {
		width: 100%;
	}
}
.btn_center {
    text-align: center;
}
.btn_readmore.btn_large a {
    width: 380px;
    margin: 0 auto;
    padding: 24px 30px;
    height: auto;
    font-size: 15px;
}

input[type=radio], input[type=checkbox] {
  display: none;
}

.radio {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  margin: 0 20px 8px 0;
  padding: 12px 12px 12px 42px;
  vertical-align: middle;
  cursor: pointer;
}

.radio:after {
  position: absolute;
  top: 50%;
  left: 0px;
  display: block;
  margin-top: -15px;
  width: 30px;
  height: 30px;
  border: 3px solid #d8d8d8;
	background-color: #fff;
  border-radius: 50px;
  content: '';
}

.radio:before {
    position: absolute;
    top: 50%;
    left: 6px;
    display: block;
    margin-top: -9px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: #7F878C;
    content: '';
    opacity: 0;
	z-index: 1;
}

input[type=radio]:checked + .radio:before {
  opacity: 1;
}

.checkbox {
    box-sizing: border-box;
    position: relative;
    display: inline-block;
    margin: 0 0px 8px 0;
    padding: 12px 12px 12px 42px;
    vertical-align: middle;
    cursor: pointer;
}

.checkbox:before {
	content:"";
	display:block;
	position:absolute;
	border-left:4px solid #7F878C;
	border-bottom:4px solid #7F878C;
    width: 22px;
    height: 12px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
    top: 50%;
    left: 4px;
    margin-top: -9px;
	position: absolute;
	border-radius: 0%;
	background-color: transparent;
	opacity: 0;
	z-index: 1;
}

.checkbox:after{
	content:"";
	display:block;
	position:absolute;
	border-radius: 20%;
	width: 30px;
	height: 30px;
	background:#ffffff;
	border: 3px solid #d8d8d8;
	background-color: #fff;	
    top: 50%;
    left: 0px;
    margin-top: -15px;	
}

input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}

.form_table_row.gray_border {
	border-top: 1px solid #d8d8d8;
	margin-top: 20px;
	padding-top: 30px;
}







