@charset "utf-8";
/* ============================================
共通
===============================================*/
.p-breadcrumbs span {
  white-space: nowrap
}
/* ===========page title============ */
.co_pagett1 {
  margin-top: 60px;
  padding: 0.5em 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.6em;
  font-weight: bold;
  line-height: 1.3;
  text-align: center
}
.co_pagett1 span {
  margin-top: 0.5em;
  color: #231815;
  font-family: 'SourceHanSans-Regular';
  font-size: 0.5em;
  font-weight: 200;
  letter-spacing: 0.15em;
  display: block
}
.co_pagett1.certif:first-letter {
  color: #24A263
}
.co_pagett1.iso span {
  padding: 0 1.5em;
  text-align: left;
  display: flex;
  justify-content: center
}
.co_pagett1.iso:first-letter {
  color: #033E80
}
.co_pagett1.outline:first-letter {
  color: #E31C24
}
.co_pagett1.office:first-letter {
  color: #E88521
}
.co_pagett1.sdgs:first-letter {
  color: #0399D8
}
@media print, screen and (min-width: 480px) {
  .co_pagett1 {
    padding: 0.7em 0;
    font-size: 2.5em
  }
}
/* ===========概要============ */
.top {
  width: 85%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5em 0 0.5em 0;
  display: flex;
  flex-wrap: wrap
}
.top_left {
  width: 80%;
  max-width: 350px;
  margin: 0 auto
}
.top_left img {
  width: 100%
}
.top_right {
  line-height: 1.7em
}
.top_right p {
  margin: 1em 0;
  font-size: 1em;
  font-weight: 300;
  line-height: 1.6em
}
.top_right p span {
  font-weight: 500
}
.mini {
  margin-top: 1em;
  font-size: 1.15em;
  display: block
}
.col_certif {
  color: #24A263
}
.col_iso {
  color: #033E80
}
.col_sdgs {
  color: #0399D8
}
@media print, screen and (min-width: 990px) {
  .top {
    padding-top: 2em;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center
  }
  .top_left {
    width: 34%;
    margin: 0 2em 0 0
  }
  .top_right.certif {
    width: 45%
  }
  .top_right.iso {
    width: 56%
  }
  .top_right p {
    margin: 0;
    font-size: 1.4em;
    line-height: 1.9em;
    letter-spacing: 0.1em
  }
  .top_right.certif p {
    padding-bottom: 2.5em
  }
}
@media print, screen and (min-width: 1500px) {
  .top_right p {
    font-size: 1.6em;
    line-height: 1.9em
  }
}
/* ===========back botton============ */
.back {
  padding-bottom: 4em;
  text-align: center
}
.more_btn2 {
  text-align: center;
  background-color: #009380
}
@media print, screen and (min-width: 990px) {
  .back {
    padding-bottom: 7em
  }
}
/* ============================================
outline
===============================================*/
.pic_img {
  width: 85%;
  margin: 2em auto
}
.pic_img img {
  width: 100%;
  height: auto
}
@media print, screen and (min-width: 990px) {
  .pic_img {
    width: 75%;
    margin: 3em auto
  }
}
@media print, screen and (min-width: 1500px) {
  .pic_img {
    width: 1200px;
      margin: 4em auto 3em auto
  }
}
.outline_table {
  width: 85%;
  max-width: 1050px;
  margin: 0 auto
}
.outline_table tr th, .outline_table tr td {
  width: 100%;
  display: block
}
.outline_table tr th {
  padding: 0.5em 0;
  font-weight: 300;
  color: #707070;
  text-align: left;
  border-bottom: 1px solid #B6B6B6
}
.outline_table tr td {
  padding: 0.5em 0 0.5em;
  line-height: 1.6em;
  letter-spacing: 0
}
.outline_table tr td ol {
  counter-reset: item 0
}
.outline_table tr td ol li {
  margin-bottom: 0.4em;
  padding-left: 2em;
  text-indent: -2em
}
.outline_table tr td ol li:last-child {
  margin-bottom: 0
}
.outline_table tr td ol li::before {
  padding-right: 0.5em;
  counter-increment: item 1;
  content: '['counter(item)']'
}
@media print, screen and (min-width: 990px) {
  .outline_table {
    width: 70%
  }
  .outline_table tr {
    border-bottom: 1px solid #B6B6B6
  }
  .outline_table tr:last-child {
    border-bottom: none
  }
  .outline_table tr th, .outline_table tr td {
    padding: 1.5em 0;
    font-size: 1.1em;
    display: table-cell
  }
  .outline_table tr th {
    width: 18%;
    border-bottom: none
  }
  .outline_table tr td {
    width: 82%;
    line-height: 2em;
    letter-spacing: 0.1em
  }
  .outline_table tr td ol li {
    margin-bottom: 0
  }
}
/* ============================================
office
===============================================*/
.main_co {
  width: 85%;
  max-width: 1050px;
  margin: 0 auto 3em;
  padding-top: 1.5em;
  border-top: 3px solid #E8E3E3;
  position: relative;
  display: flex;
  flex-wrap: wrap
}
.main_co::before {
  width: 18%;
  height: 3px;
  background-color: #E88521;
  content: "";
  position: absolute;
  left: 0;
  top: -3px;
  display: block;
  z-index: 2
}
.main_h3 {
  font-weight: 300;
  font-size: 1.1em
}
.adress {
  margin: 1em 0;
  font-size: 0.95em;
  line-height: 1.7em
}
.adress a {
  color: #000;
  text-decoration: none
}
.main_map {
  width: 120px;
  padding: 8px 0px 8px 25px;
  font-size: 0.7em;
  letter-spacing: 0.02;
  color: #000;
  background: url(../images/company/office/map.svg) 5px center / 15px auto no-repeat;
  border: 1.5px solid #000;
  display: block;
  cursor: pointer
}
.main_map:hover {
  color: #fff;
  background: url("../images/company/office/map2.svg") 5px center / 15px auto no-repeat #E88521;
  border: 1.5px solid #E88521;
  transition: all .3s
}
.main_right {
  width: 100%;
  height: 220px;
  margin-top: 1em;
  border: 0
}
.sub_co {
  width: 85%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap
}
.co_box {
  width: 100%;
  margin-bottom: 2em;
  padding: 0 1em 1.5em 0;
  border-right: 1px solid #707070;
  border-bottom: 1px solid #707070
}
.co_box:last-child {
  margin-bottom: 0
}
.main_co span, .co_box span {
  white-space: nowrap
}
@media print, screen and (min-width: 990px) {
  .main_co {
    width: 70%;
    max-width: 1150px;
    margin-bottom: 5em;
    padding-top: 3em;
    flex-wrap: nowrap;
    justify-content: space-between
  }
  .main_co::before {
    width: 10%
  }
  .main_left {
    width: 50%
  }
  .main_h3 {
    font-size: 1.8em;
    letter-spacing: 0.15em
  }
  .adress {
    margin: 1em 0 1.5em;
    font-size: 1.1em;
    line-height: 2em
  }
  .main_right {
    width: 50%;
    height: 300px;
    margin: 0
  }
  .sub_co {
    width: 70%;
    max-width: 1150px;
    justify-content: space-between
  }
  .co_box {
    width: 47%;
    margin-bottom: 4em;
    padding: 0 1em 3em 0
  }
  .co_box.last_mar {
    margin-bottom: 0
  }
  .main_map {
    width: 140px;
    padding: 8px 0px 8px 30px;
    font-size: 0.8em;
    background: url(../images/company/office/map.svg) 10px center / 15px auto no-repeat;
    cursor: pointer
  }
  .main_map:hover {
    padding: 8px 0px 8px 30px;
    background: url(../images/company/office/map2.svg) 10px center / 15px auto no-repeat #E88521
  }
}
/* ============================================
certification
===============================================*/
.certif_list01, .certif_list02 {
  padding-top: 2em;
  background: #E8F1ED
}
.certif_inner {
  width: 85%;
  margin: 0 auto
}
/* =========== h3 ============ */
.certif_h3, .iso_h3 {
  padding-bottom: 0.5em;
  font-size: 1.1em;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.1em;
  position: relative
}
.iso_h3 span {
  margin-left: -8px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9em;
  font-weight: 500;
  letter-spacing: 0;
  display: inline-block
}
.certif_h3::before, .iso_h3::before {
  width: 50px;
  height: 2px;
  content: '';
  border-radius: 3px;
  position: absolute;
  bottom: 0;
  left: calc(50% - 23px)
}
.certif_h3::before {
  background: #009380
}
.certif_two, .certif_three {
  display: flex;
  flex-wrap: wrap
}
.certif_box {
  width: 100%;
  margin-top: 1.5em;
  padding: 1.5em;
  background: #fff;
  border-bottom: 3px solid #178F7F;
  box-shadow: rgba(95, 201, 187, 0.15) 2.4px 2.4px 3.2px
}
.certif_box h4 {
  width: 10em;
  margin: 0 auto 1em;
  padding: 0.2em 0.3em 0.4em 0.3em;
  font-size: 1em;
  color: #fff;
  font-weight: 300;
  text-align: center;
  letter-spacing: 0.2em;
  background: linear-gradient(to bottom, rgba(17, 122, 215, 1), rgba(5, 83, 153, 1))
}
.certif_flex {
  margin-bottom: 1em;
  display: flex;
  flex-wrap: wrap
}
.certif_only {
  margin-bottom: 1em
}
.certif_flex ul {
  width: 100%;
  display: block
}
.certif_flex ul li, .certif_only ul li, .ul_box li {
  margin-bottom: 0.3em;
  font-size: 1em;
    font-weight: 100;
}
.certif_flex ul:last-of-type li:last-of-type, .certif_only ul:last-of-type li:last-child {
  margin-bottom: 0
}
.regist_p {
  padding: 0.2em 0.5em;
  border: 1px solid #000;
  display: inline-block
}
.regist {
  padding: 1em 0.5em;
  margin-top: 0.5em;
  background: #F1F3F3
}
.regist_table {
  width: 100%;
  margin: 0.3em 0
}


.regist_table_bl a {
  color: #000;
  pointer-events: none
}
.regist_table tr th, .regist_table tr td, .regist_table_bl tr th, .regist_table_bl tr td {
  font-size: 1em;
  text-align: left;
  display: block
}
.regist_table tr th, .regist_table_bl tr th {
  padding-left: 1em;
    font-weight: 300;
  text-indent: -1em
}
.regist_table_bl tr th {
    font-weight: 300
}
.regist_table tr td, .regist_table_bl tr td {
  padding-left: 1em;
  padding-bottom: 0.7em;
    font-weight: 100;
}
.regist_table tr:last-child td, .regist_table_bl tr:last-child td {
  padding-bottom: 0
}
.ul_box li:last-child {
  margin-bottom: 0
}
@media print, screen and (min-width: 768px) {
  .certif_box h4 {
    margin: 0 auto 2em;
    font-size: 1.3em
  }
  .certif_flex, .certif_only {
    margin-bottom: 2em
  }
  .certif_flex {
    flex-wrap: nowrap;
    justify-content: space-between
  }
  .certif_flex ul {
    width: 50%
  }
  .certif_flex ul:first-child {
    margin-right: 0.5em
  }
  .certif_flex ul li, .certif_only ul li, .ul_box li {
    margin-bottom: 0.5em;
    font-size: 1em
  }
}
@media print, screen and (min-width: 990px) {
  .certif_list01 {
    margin-top: -4.5em;
    padding-top: 4em
  }
  .certif_list02 {
    padding-top: 4em
  }
  .certif_inner {
    width: 95%;
    max-width: 1300px
  }
  .certif_h3, .iso_h3 {
    padding-bottom: 0.6em;
    font-size: 1.8em
  }
  .certif_two, .certif_three {
    margin: 0 auto;
    display: flex;
    justify-content: space-between
  }
  .certif_box {
    margin: 2.5em 0 0 0;
    padding: 2.5em
  }
  .certif_two .certif_box {
    width: 48%
  }
  .certif_three .certif_box {
    width: 32%
  }
  .certif_only.padd_btm {
    height: 9em
  }
  .regist_table tr th, .regist_table tr td {
    padding-right: 1em;
    padding-bottom: 0.8em;
    display: table-cell
  }
  .regist_table tr th {
    width: 55%;
      font-weight: 300;
  }
  .regist_table tr td {
    width: 45%;
    padding-left: 0;
    vertical-align: top
  }
  .regist_table tr:last-child th, .regist_table tr:last-child td {
    padding-bottom: 0
  }
}
@media print, screen and (min-width: 1500px) {
  .certif_box {
    padding: 2.5em 4em
  }
}
/* ============================================
iso
===============================================*/
.wrapper {
  background: #F3F8FB
}
.iso_list {
  padding-top: 2em
}
.iso_h3::before {
  background: #033E80
}
.iso_box {
  width: 85%;
  max-width: 1200px;
  margin: 1em auto 0;
  padding: 1.5em;
  background: #fff;
  box-shadow: rgba(95, 201, 187, 0.5) 0px 2px 4px
}
.iso_leadbox {
  margin-bottom: 2em;
  font-size: 1em;
  line-height: 2em
}
@media print, screen and (min-width: 990px) {
  .iso_leadbox {
    margin-bottom: 2em;
    font-size: 1.1em;
    line-height: 2em
  }
}
.iso_box ul li, .iso_box p {
  line-height: 1.8em
}
.iso_box ul li {
  margin-bottom: 0.8em;
  padding-left: 2em;
  text-indent: -2em
}
.iso_box ul li::before {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 1.2em;
  font-weight: bold
}
.iso_box ul li:last-child {
  margin-bottom: 0
}
.iso_list .one, .iso_list .two {
  counter-reset: item 0
}
.iso_box ul li::before {
  counter-increment: item 1;
  content: '0'counter(item)'.'
}
.name {
  margin-top: 1.5em;
  text-align: right
}
@media print, screen and (min-width: 990px) {
  .iso_list {
    padding-top: 4.5em
  }
  .iso_box {
    margin-top: 2em;
    padding: 4em 5em 3em
  }
  .iso_box ul li, .iso_box p {
    font-size: 1.1em
  }
  .iso_box ul li {
    margin-bottom: 2em;
    padding-left: 3em;
    text-indent: -3em
  }
  .iso_box ul li::before {
    padding-right: 0.5em;
    font-size: 1.5em
  }
  .iso_box p {
    line-height: 2em
  }
  .name {
    margin-top: 2em
  }
}

/* ============================================
SDGsためのcss
===============================================*/
.sdgs_bg {
	  background: #EAF6FB
}
.sdgs_listbox {
	width: 85%;
	max-width: 1200px;
	margin: 1em auto 2em;
	padding: 1.5em;
	box-shadow: rgba(95, 201, 187, 0.5) 0px 2px 4px;
	background: #FFF;
	border-bottom: 3px solid #0399D8;
}
.under_long {
	position: relative;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
	font-size: 1.1em;
    font-weight: 300;
	letter-spacing: 0.1em;
	width: 100%;
	border-bottom: 3px solid #E8E3E3
}
.under_long::after {
	content: "";
	border-bottom: 3px solid #0399D8;
	width: 100px;
	padding-bottom: 0.5em;
	position: absolute;
	left: 0;
	bottom: -0.1em;
	z-index: 2
}
.sdgslist_co {
	padding-bottom: 2.5em;
	position: relative;
}
.list_header {
	padding-left: 2em;
	margin-bottom: 1em;
	font-size: 1.2em;
	font-weight: 500
}
.sdgs_listbox .sdgslist_co::before {
	counter-increment: item 1;
	content: '0'counter(item)'.';
	position: absolute;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 1.2em;
	top: 0.27em; 
	font-weight: bold;
}
.sdgs_listbox li:not(:nth-last-child(-n+2)) {
	border-bottom: 1px solid #000;
}
.sdgslist_co:not(:first-child) {
		margin-top: 2.5em
}
.sdgs_top p{
	margin: 3em auto 1em;
	width: 85%;
	font-size: 1.1em;
	line-height: 1.8;
	font-weight: 300
}
.sdgs_top figure {
	margin: auto;
	width: 85%
}
.sdgs_top figure img {
	display: block;
	width: 100%
}
.sdgs_top br {
	display: none;
}
.sdgs_fleximg {
	width: 100%
}
.sdgs_fleximg img {
	display: inline-block;
	width: 48%;
	margin: 0.25%;
}
/*.sdgs_fleximg img:nth-child(odd) {
	margin-right: 1%;
}
.sdgs_fleximg img:nth-child(even) {
	margin-left: 1%;
}
*/.sdgslist_co p {
	text-indent: 0;
		margin-top: 1.2em;
	margin-bottom: 1em;
	line-height: 1.8em;
	width: 100%;
}
.sdgs_co {
	width: 85%;
    max-width: 1050px;
    margin: 0 auto 3em;
    padding-top: 1.5em
}
.sdgs_co p {
	font-weight: 300;
	line-height: 1.8em;
	letter-spacing: 0.1em
}
@media print, screen and (min-width: 401px) {
	.sdgs_fleximg img {
		width: 110px;
		margin: 0.2em;
	}
}
@media print, screen and (min-width: 501px) {
/*	.sdgs_fleximg {
		width: 60%;
		max-width: 340px;
	}
	.sdgs_fleximg img {
		width: 47%;
		max-width: 110px;
	}
	.sdgs_fleximg img:not(:first-child) {
		margin: 0.1em 0.25em 0.1em 0.1em;
	}
	.sdgs_fleximg img:first-child {
		margin: 0.1em 0.25em 0.1em 0;
	}
*/}
@media print, screen and (min-width: 768px) {
/*	.sdgs_fleximg {
		max-width: none;
		width: 100%
	}
	.sdgs_fleximg img {
	width: 18%;
		margin: 0.5em
}
*/}
@media print, screen and (min-width: 990px) {
		.under_long {
		font-size: 1.8em;
	}
	.under_long::after {
		width: 17%;
	}
	.sdgslist_co {
		display: flex;
		justify-content: space-between;
		padding-bottom: 3em;
		margin-bottom: 3em;
	}
/*	.sdgs_fleximg {
		right: 0;
		top: 0;
		width: 40%;
	}
*/
	.sdgs_flexbox {
		width: 65%;
		margin-right: 2em;
	}
	.sdgs_fleximg {
		width: 28%;
	}
	.sdgs_fleximg img {
	width: 46%;
}
	.sdgs_fleximg img:nth-child(odd) {
		margin: 0 2% 2% 0;
	}
	.sdgs_fleximg img:nth-child(even) {
		margin: 0 0 2% 2%;
	}

	.sdgs_top br {
	display: block;
}
	.sdgs_top p{
	font-weight: 500;
	font-size: 1.6em;
	line-height: 1.9em;
		max-width: 1040px;
		text-align: center
	}
	.sdgs_top figure {
	margin: auto;
	max-width: 880px
	}
	.sdgs_listbox .sdgslist_co::before {
		font-size: 1.5em;
		top: 0.2em;
	}
	.sdgs_listbox {
		margin: 3em auto 4em;
		padding: 4em 5em 3em
	}
	.list_header {
		font-size: 1.5em
	}
	.sdgs_co p {
		font-size: 1.1em;
		line-height: 2em;
		margin: 1em auto 5em;
	}
	.sdgslist_co p {
	width: 100%;
	font-size: 1.1em;
	}
}
/*@media print, screen and (min-width: 1040px) {
	.sdgslist_co {
		height: 260px;
	}
}
*/@media print, screen and (min-width: 1500px) {
	.sdgs_co .sub_p {
		font-size: 1.6em;
		line-height: 1.9em;
	}
}

/* ============================================
PDFボタンのためのcss
===============================================*/
.pdf_btn {
	width: 243px;
	color: #fff;
	background-color: #0399D8;
	margin: 1em auto 2.5em;
	padding: 13px 10px;
	border-radius: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.85em;
	font-weight: 300;
}
.pdf_btn small {
	font-size: 0.8em;
	font-weight: 200;
}
.pdf_btn:hover {
	transition: all .3s;
	opacity: 0.5;
}
.pdf_btn::after {
	content: "";
	display: block;
	background: url("../assets/images/pdf-icon.svg") no-repeat;
	background-size: 100% auto;
	background-position: center;
	width: 1.4em;
	height: 1.4em;
	margin-left: 0.4em;
}
@media print, screen and (min-width: 480px) {
	.pdf_btn {
	font-size: 1em;
	}
}
@media print, screen and (min-width: 990px) {
	.pdf_btn {
	width: 277px;
	padding: 20px 15px;
	margin: 3em auto 5em;
	font-size: 1.1em;
	}
}

.regist_table tr.base-top th {
	vertical-align: baseline
}

