@charset 'utf-8';

/*-----

   company_sp

-----------------------------*/

@media screen and (max-width: 799px) {
	
	.activity_charter .content_fl {
		margin-bottom: 32px;
	}
	.content_toppage_box {
		font-size: 0;
		display: flex;
		width: calc(100% - 24px);
		margin: 24px auto;
		flex-wrap: wrap;
	}
	.content_toppage_box li {
		position: relative;
		float: none;
		overflow: hidden;
		width: calc(50% - 6px);
		margin: 0 6px 20px 0;
	}
	.content_toppage_box li::after,
	.content_toppage_box li:hover::after{
		position: absolute;
		z-index: -1;
		top: 0;
		display: block;
		width: 100%;
		content: '';
		border-top: 3px solid #3e7086;
	}
	.content_toppage_box li:nth-child(2n) {
		margin: 0 0 20px 6px;
	}
	.content_toppage_box a {
		font-size: 0;
		box-sizing: border-box;
		width: 100%;
		height: calc(100% - 3px);
		padding: 12px;
	}
	.content_toppage_box a::after {
		position: absolute;
		right: -1px;
		bottom: -1px;
		display: block;
		width: 0;
		height: 0;
		content: '';
		border-width: 0 0 10px 10px;
		border-style: solid;
		border-color: transparent transparent #3e7086 transparent;
		background-image: none;
	}
	.content_toppage_img, .content_toppage_ttl, .content_toppage_txt {
		font-size: 14px;
		vertical-align: middle;
	}
	.content_toppage_img {
		position: relative;
		display: table-cell;
		overflow: hidden;
		width: 64px;
		height: 48px;
	}
	.content_toppage_img img:nth-child(1) {
		display: none;
	}
	.content_toppage_img img:nth-child(2) {
		display: block;
	}
	.content_toppage_ttl {
		display: table-cell;
		width: auto;
		height: 48px;
		margin: 0;
		padding: 0;
		border-bottom: none;
	}
	.content_toppage_ttl em {
		font-size: 17px;
		font-weight: 900;
		font-style: normal;
		line-height: 1.235;
		display: block;
		margin-left: 16px;
		vertical-align: middle;
	}
	.content_toppage_ttl img {
		display: none;
	}
	.content_toppage_txt {
		line-height: 1.429;
		display: block;
		width: 100%;
		margin: 12px 0 0 0;
		padding-top: 12px;
		border-top: solid 1px #3e7085;
	}
	.sp_hidden {
		display: none;
	}
	.pc_hidden {
		display: block;
	}
	/*--  company_topmessage
---------------------------------------------------- */
	.company_topmessage_box {
		overflow: hidden;
		width: 100%;
	}
	.company_topmessage_box .president {
		right: calc(33vw - 211px);
	}
	.company_topmessage_copy {
		left: calc(18vw - 74px);
	}
	.topmessage_left, .topmessage_right {
		float: none;
		margin: 0 auto;
	}
	.topmessage_left {
		margin-bottom: 24px;
	}
	.topmessage_left img {
		margin-left: 6px;
	}
	.topmessage_right {
		width: auto;
	}
	.headding_inline {
		display: inline-block;
	}
	/*--  company_outline
---------------------------------------------------- */
	.content_link_anchor {
		margin-bottom: 20px;
	}
	.content_link_anchor li {
		float: none;
		margin: 0;
		padding: 0;
		border: none;
	}
	.content_link_anchor li+li {
		margin-top: -1px;
	}
	.content_link_anchor li a {
		display: block;
		margin: 0;
		padding: 11px 10px 10px 36px;
		border: 1px solid #c9cbce;
		background-position: 10px 10px;
	}
	.company_outline_table_01 {
		margin-bottom: 24px;
	}
	.company_outline_table_01 tr {
		display: block;
	}
	.company_outline_table_01 td, .company_outline_table_01 th {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}
	.company_outline_table_01 th {
		padding: 6px 12px;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
	}
	.company_outline_table_01 td {
		line-height: 1.467;
		padding: 14px 12px 14px 12px;
		border: 0;
	}
	.link_disclosure span {
		display: inline-block;
		line-height: 1;
		background-position: 5px 0;
	}
	.company_outline_table_01 td .company_en {
		font-size: 13px;
	}
	.company_outline_table_01 .ul_customers:first-child, .company_outline_table_01 .ul_customers {
		font-size: 15px;
		line-height: 1.467;
		width: auto;
	}
	.company_outline_table_01 .ul_customers li {
		position: relative;
		margin-bottom: 5px;
		list-style-type: none;
	}
	.company_outline_table_01 .ul_customers li::before {
		position: absolute;
		top: 7px;
		left: -15px;
		display: block;
		width: 8px;
		height: 8px;
		content: '';
		background: #000;
	}
	.company_outline_table_01 .ul_customers.fl {
		float: none;
	}
	#officer.content_headline, #chart.content_headline, #charter.content_headline, #iso.content_headline,
	#officer.content_heading, #chart.content_heading, #charter.content_heading, #iso.content_heading {
		position: relative;
		margin-bottom: 62px;
	}
	#officer.content_headline>span a, #chart.content_headline>span a, #charter.content_headline>span a, #iso.content_headline>span a,
	#officer.content_heading>span a, #chart.content_heading>span a, #charter.content_heading>span a, #iso.content_heading>span a {
		font-size: 14px;
		position: absolute;
		bottom: -50px;
		left: calc(50% - 128px - 12px);
		float: none;
		box-sizing: border-box;
		width: 256px;
		padding: 8px 10px 8px 28px;
		border: 1px solid #d0d0d0;
		border-radius: 4px;
		background-position: 13px 13px;
	}
	.content_headline>span a span,
	.content_heading>span a span {
		background-position: 0 2px;
	}
	.company_outline_table_02>tbody>tr:first-child {
		display: none;
	}
	.company_outline_table_02>tbody>tr {
		display: block;
		overflow: hidden;
		border-bottom: 1px solid #d3d5d8;
	}
	.company_outline_table_02>tbody>tr:nth-child(2), .company_outline_table_02>tbody>tr:nth-child(16) {
		border: 0;
	}
	.company_outline_table_02>tbody>tr>th[class*=”th_01”] {
		border: 0;
	}
	.company_outline_table_02 th.th_01 {
		font-weight: bold;
		display: block;
		box-sizing: border-box;
		width: 100%;
		margin-top: 24px;
		padding: 11px 13px 11px 7px;
		border: 0;
		border-left: 5px solid #3e7085;
		background-color: #f5f6f8;
	}
	.company_outline_table_02 tr:nth-child(2) th.th_01 {
		margin-top: 0;
	}
	.company_outline_table_02 th {
		font-size: 14px;
		display: inline-block;
		float: left;
		width: 64%;
		padding-left: 0;
		border: 0;
		background-color: #fff;
	}
	.company_outline_table_02 td {
		font-size: 14px;
		display: inline-block;
		float: left;
		width: 6.5em;
		padding-left: 15px;
		padding-right: 0;
		border: 0;
	}
	.organization_chart {
		width: 100%;
		padding: 8px 0 32px 0;
	}
	.organization_chart::before {
		font-size: 12px;
		display: block;
		margin-bottom: 10px;
		content: '※ 横にスワイプして閲覧してください。';
	}
	.organization_chart>span {
		display: block;
		overflow: hidden;
		overflow-x: scroll;
	}
	.organization_chart>span>img {
		width: 579px;
		height: auto;
	}

	/*--  company_outline
---------------------------------------------------- */
	
	.company_locations_table_01 {
		margin-bottom: 40px;
	}
	.company_locations_table_01 th {
		width: 58px;
		padding: 12px 0 12px 11px;
		font-size: 14px;
	}
	.company_locations_table_01 th span {
		display: block;
		height: 0;
		width: 0;
		overflow: hidden;
	}
	.company_locations_table_01 td {
		border: solid 1px #bfc1c4;
		padding: 12px 10px 12px 10px;
		font-size: 14px;
	}
	.company_locations_table_01 td span {
		display: block;
		height: 0;
		width: 0;
		overflow: hidden;
	}
	.company_locations_table_01 td.center {
		vertical-align: middle;
	}
	.company_locations_set_list {
		margin-top: -5px;
		margin-bottom: 16px;
	}
	.company_locations_set_list li {
		font-size: 14px;
		margin: 0 0 8px 0;
	}
	.company_locations_set_list li::before {
		position: absolute;
		font-family: 'FontAwesome';
		display: inline-block;
		content: '\f111';
		font-size: 1em;
		font-weight: 900;
		color: #3e7085;
		top: -1px;
		left: -2px;
		transform: scale(.35);
	}



/*--  company_vision
---------------------------------------------------- */
	
	
	.vision_space {
		padding: 0 12px 60px 12px;
	}
	.vision_base {
		margin-top: 20px;
	}
	.vision_base__inner > .cont {
		padding-top: 20px;
		padding-left: 12px;
		padding-right: 12px;
	}
	.vision_basic_principle__set > dl {
		width: calc( 50% - 8px );
	}
	.vision_basic_principle__set > dl:first-child {
		margin-right: 16px;
	}
	.vision_management_vision__set > dt > img {
		display: none;
	}
	.vision_management_vision__set > dt > img + img {
		display: inline-block;
		width: 100%;
		max-width: 299px;
	}
	
	/*--  company_history
---------------------------------------------------- */
	.content_txt {
		line-height: 1.733;
	}
	.company_history .content_txt.mb40 {
		margin-bottom: 20px !important;
	}
	.company_history_table.fl {
		float: none;
	}
	.company_history_table {
		width: auto;
		margin-bottom: 40px;
		border-bottom: solid 1px #bfc1c4;
	}
	.company_history_table tr, .company_history_table tr:first-child {
		display: block;
		padding: 0;
		border: 0;
	}
	.company_history_table td, .company_history_table th {
		display: block;
		box-sizing: border-box;
		width: 100%;
	}
	.company_history_table td {
		padding-right: 12px;
	}
	.company_history_table th {
		padding: 6px 12px;
		border: solid 1px #bfc1c4;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		background: #f5f5f5;
	}
	.company_history_table dl {
		padding: 10px 0 10px 0;
	}
	.company_history_table dt:first-child {
		margin: -1px 0 0 0;
	}
	.company_history_table dt {
		line-height: 1.467;
		margin: 7px 0 0 0;
	}
	.company_history_table dd {
		line-height: 1.467;
		width: calc(100% - 60px);
	}
	.company_history_table dd .company_history_photo {
		margin: 6px 0 6px 0;
	}
	/*--  activity_diversity
---------------------------------------------------- */
	.business_foreign_2column {
		display: flex;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		justify-content: center;
		flex-wrap: wrap;
	}
	.activity_diversity .business_foreign_2column li:first-child, .business_foreign_2column li {
		margin: 0 10px 15px 10px;
	}
	.business_foreign_2column li img {
		width: 100%;
		height: auto;
	}
	.activity_diversity .content_txt.mb40, .activity_diversity .business_foreign_2column.mb48 {
		margin-bottom: 24px !important;
	}
	.activity_diversity .content_txt.mb24 {
		margin-bottom: 20px !important;
	}
	

	.activity_diversity .diversity_phase > div {
		display: block;
		overflow: hidden;
		overflow-x: scroll;
	}

	.activity_diversity .diversity_phase div dl {
		margin: 0;
	}
	.library_list_warp {
		font-size: 14px;
		margin: 12px 0 32px 0;
	}
	.library_list_warp li {
		margin: 0 0 10px 0;
		padding: 0 0 10px 0;
		border-bottom: solid 1px #ccc;
	}
	.library_link {
		padding: 0 18px 0 0;
		background-position: calc(100% - 6px) center;
	}
	.library_link span {
		display: inline;
		float: none;
	}
	.library_link span.library_pdf {
		position: static;
		display: inline-block;
		padding: 0 0 0 12px;
		background-position: 0 2px;
	}
	.company_charter_dl {
		padding: 0;
	}
	.company_charter_dl dt {
		font-size: 15px;
		margin-top: 24px;
	}
	.company_charter_dl dd {
		margin-top: 10px;
		background-position: 16px calc(1em - 4px);
	}
	.company_charter .content_fl, .company_qualified .content_fl, .company_affiliated .content_fl {
		float: none;
		width: 100%;
		margin-bottom: 40px;
	}
	
	.company_charter .content_txt.mb40 {
		margin-bottom: 20px !important;
	}
	/*--  company_iso
---------------------------------------------------- */
	.company_iso_table {
		border-bottom: 1px solid #d3d3d3;
	}
	.company_iso_table tr {
		display: block;
	}
	.company_iso_table tr th, .company_iso_table tr td {
		position: relative;
		display: block;
		box-sizing: border-box;
		width: 100%;
		padding: 10px 12px 10px 12px;
		background: #fff;
		border: 0;
	}
	.company_iso_table tr th.th_1,
	.company_iso_table tr th.th_2,
	.company_iso_table tr th.th_3{
		width: 100%;
		display: block;
		border-top: solid 1px #bfc1c4;
	}

	.company_iso_dl {
		padding-left: 0;
	}
	.company_iso_number li {
		background-position: 0 calc(1em - 4px);
	}
	.company_iso_dt {
		font-size: 15px;
		margin-bottom: 12px;
	}
	.company_iso .content_txt.mb40 {
		margin-bottom: 20px !important;
	}
	.company_iso .company_iso_dd .content_txt.content_alin_right.mb48 {
		text-align: right;
	}
	#license-holder, #license_vertical {
		display: block;
	}
	#license-holder thead {
		display: none;
	}
	#license_vertical tr {
		line-height: 1.4;
		display: flex;
		border-bottom: 1px solid #c9c9c9;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	#license_vertical th {
		font-size: 16px;
		display: block;
		box-sizing: border-box;
		width: 100%;
		padding: 24px 0 8px 0;
		text-align: left;
		border-bottom: 2px solid #5ab4b4;
		background: #fff;
	}
	#license_vertical tr:first-of-type th {
		padding-top: 0;
	}
	#license_vertical td {
		display: inline-block;
		width: calc(100% - 70px);
		padding: 12px 12px 12px 0;
		border-right: 1px dotted #c9c9c9;
	}
	#license_vertical td:last-child {
		display: inline-block;
		width: 44px;
		padding: 12px 0 12px 12px;
		text-align: right;
		border: 0;
	}
	tr.license_terminal {
		border-bottom: 1px solid #c9c9c9 !important;
	}
	
	.company_governance .content_txt.mb20 {
		margin-bottom: 8px !important;
	}
	.company_governance .content_txt.mb40 {
		margin-bottom: 20px !important;
	}
	.company_affiliated_box {
		display: flex;
		flex-direction: column;
	}
	.company_affiliated_box_img {
		position: relative;
		top: inherit;
		right: inherit;
		margin-top: 16px;
		align-self: center;
		order: 2;
	}
	.company_affiliated_box h3 {
		padding: 16px 16px 14px 13px;
		order: 1;
	}
	.company_affiliated_box dl {
		padding: 16px;
		order: 3;
	}
	.company_affiliated_box dl dt {
		float: none;
	}
	.company_affiliated_box dl dd {
		line-height: 1.4em;
		width: auto;
		margin-top: 0;
		margin-bottom: 20px;
	}
	.company_affiliated_box li:last-child, .company_affiliated_box dl dd:last-child {
		margin-bottom: 0;
	}
	.company_affiliated_box_phone {
		display: inline-block;
		margin-top: 6px;
	}
	
	

	.quality_management__flow_cont > .ttl > ._jp {
		width: 179px;
	}
	.quality_management__flow_cont > .ttl > ._en {
		width: 100%;
		max-width: 249px;
		margin-top: 8px;
		margin-left: 0;
	}
	
	.activity_scroll_set {
		width: 100%;
		padding: 8px 0 32px 0;
	}
	.activity_scroll_set::before {
		font-size: 12px;
		display: block;
		margin-bottom: 10px;
		content: '※ 横にスワイプして閲覧してください。';
	}
	.activity_scroll_set>span {
		display: block;
		overflow: hidden;
		overflow-x: scroll;
	}
	.activity_scroll_set>span>img {
		height: auto;
	}
	
	
	.safety_organizational_chart>span>img {
		idth: 540px;
	}
	.safety_process_chart>span>img {
		width: 540px;
	}
	.quality_organizational_chart > span > img {
		width: 540px;
	}


	
	.environment_energy_recycle__list > li:first-child {
		margin-right: 1.6666%;
	}
	.environment_energy_recycle__list > li > img {
		height: 26vw;
	}
	
	.environment_action > div {
		padding: 26px 0 0 74px;
	}
	.environment_action__cont.cont_e {
		padding: 26px 0 0 64px;
	}

	.environment_action__cont > .ttl {
		position: absolute;
		top: 52%;
		left: 28px;
		width: 37px;
		text-align: center;
		transform: translateY(-50%);
	}
	.environment_action__cont.cont_e  > .ttl {
		left: 14px;
	}
	.environment_action__cont > .ttl > .en {
		height: 23px;
	}
	.environment_action__cont > dd {
		width: 80%;
	}


	.environment_low_carbon__top > .left {
		width: calc( 100% - 42vw - 20px );
	}
	.environment_low_carbon__top > .right {
		width: 42vw;
	}
	.environment_low_carbon__photo > img{
		width: 42vw;
	}
	.environment_low_carbon__graf {
		margin: 0 0 32px 0;
	}

	.environment_cogeneration {
		margin-bottom: 32px;
	}
	.environment_cogeneration > .left {
		float: left;
		width: calc( 100% - 307px - 20px );
	}
	.environment_cogeneration > .right {
		float: right;
		width: 307px;
	}
	.environment_cogeneration > .right > img {
		width: 100%;
		box-sizing: border-box;
	}
	
}
@media screen and (max-width: 700px) {
	
	.quality_management__flow_ttl_cont > img {
		height: 19px;
	}
	.quality_management__flow_cont > .card_set > img {
		position: inherit;
		left: inherit;
		top: inherit;
		display: none;
		transform: none
	}
	.quality_management__flow_cont > .card_1 {
		width: 100%;
		height: auto;
		padding: 22px 0 20px;
	}
	.quality_management__flow_cont > .card_1:nth-child(3) {
		margin: 6px 0;
	}

	.quality_management__flow_cont > .card_1 > img  + img {
		display: inline-block;
	}
	.quality_management__flow_cont > .card_1:nth-child(2)> img {
		width: 169px;
	}
	.quality_management__flow_cont > .card_1:nth-child(3)> img {
		width: 219px;
	}
	.quality_management__flow_cont > .card_1:nth-child(4)> img {
		width: 228px;
	}
	
	.quality_management__flow_cont > .card_2 {
		margin-top: 6px;
		padding: 22px 0 20px;
		height: auto;
	}
	.quality_management__flow_cont > .card_2 > img {
		display: inline-block;
		width: 219px;
	}
	



}
@media screen and (max-width: 639px) {
	.company_topmessage_box .company_topmessage_copy {
		position: relative;
		top: 0;
		left: 0;
		display: flex;
		width: 54%;
		height: 210px;
		margin-top: 30px;
		margin-left: calc(18vw - 74px);
		flex-wrap: wrap;
		align-items: center;
	}
	.company_topmessage_copy .copy_02 {
		margin-right: 12px;
	}
	.company_topmessage_copy .copy_03 {
		top: 0;
		margin-right: 3px;
	}
	.company_topmessage_copy .copy_04 {}
	.company_topmessage_box .company_topmessage_img_name {
		margin-top: 12px;
		margin-right: 30px;
		margin-bottom: 30px;
		align-self: flex-end;
	}
	.company_topmessage_img_name {
		height: 43px;
	}
	.company_topmessage_box .company_topmessage_copy img {
		position: relative;
		top: 0;
		left: 0;
	}
	
	
	/*--  company_vision
	---------------------------------------------------- */
	.company_vision .sp_view {
		display: block;
	}
	.vision_space {
		padding: 0 0 60px 0;
	}
	
	.top_pyramid img {
		display: none;
	}
	.top_pyramid img + img {
		display: inline-block;
	}
	.top_pyramid {
		position: relative;
		height: 190px;
		margin-top: 0;
	}
	.top_pyramid.under {
		height: 261px;
		padding: 20px 0 20px 0;
		margin-top: 20px;
	}
	
	.animation .top_pyramid__ttl {
		top: 20px;
		transform: translateX(50%);
		animation-name: ttl_frame_sp;
	}
	.top_pyramid__ttl > img {
		width: 244px
	}
	
	.animation .top_pyramid__cont {
		top: 84px;
		animation-name: cont_frame_sp;
	}
	.top_pyramid__cont_no_animation {
		position: absolute;
		transform: translateX(-50%);
		margin-top: 0;
	}
	.animation .top_pyramid__cont > li {
		animation-name: pyramid_frame_sp;
	}
	.top_pyramid__cont_no_animation > li:nth-child(1) > img,
	.top_pyramid__cont > li:nth-child(1) > img {
		width: 75px;
	}
	.top_pyramid__cont_no_animation > li:nth-child(2) > img,
	.top_pyramid__cont > li:nth-child(2) > img {
		width: 132px;
	}
	.top_pyramid__cont_no_animation > li:nth-child(3) > img,
	.top_pyramid__cont > li:nth-child(3) > img {
		width: 184px;
	}
	.top_pyramid__cont_no_animation > li:nth-child(4) > img,
	.top_pyramid__cont > li:nth-child(4) > img {
		width: 184px;
	}

	.top_pyramid__link {
		transform: translateX(148px);
	}
	.top_pyramid__link > li:not(:first-child) {
		margin-top: 6px;
	}
	.animation .top_pyramid__link > li > div > a {
		animation-name: bounceIn_sp;
	}
	.top_pyramid__link > li > div > a > img {
		width: 96px;
	}
	.animation .top_pyramid__link > li::before {
		left: -100px;
		width: 100px;
		animation-name: link_line_frame_sp;
	}

	.vision_base__inner > .ttl img {
		height: 16px;
	}
	.vision_basic_principle__set > dl {
		width: 100%;
	}
	.vision_basic_principle__set > dl:first-child {
		margin-bottom: 20px;
		margin-right: 0;
	}
	.vision_basic_principle__set > dl > dd {
		height: auto;
	}
	.vision_management_vision__link > a {
		width: 282px;
		float: inherit;
		background-position: 20px 14px;
		border: solid 1px #d0d0d0;
		padding: 7px 12px 7px 32px;
		margin: 10px auto 0;
		box-sizing: border-box;
		border-radius: 3px;
	}
	.vision_management_vision__link > a > span {
		margin-left: 0;
	}
	.vision_management_plan__hr {
		margin-top: 6px;
	}
	.vision_management_plan__results > dd > img {
		display: none;
	}
	.vision_management_plan__results > dd > img + img {
		display: inline-block;
		max-width: 313px;
		margin-bottom: 24px;
	}
	
	.vision_management_plan__table {
		/*font-size: 13px;*/
		font-size: 12px;
		max-width: 312px;
	}
	.vision_management_plan__table::before {
		bottom: 43px;
		right: calc( 50% - 50px );
		width: 30px;
		height: 90px;
	}
	.vision_management_plan__table_thead {
		display: table-header-group;
	}
	.vision_management_plan__table_thead > tr > th:not(:last-child) {
		border-right: solid 2px #f1f6fb;
	}
	.vision_management_plan__table_thead > tr > th.adj_bg_w {
		background: #f1f6fb;
		width: 105px;
	}
	.vision_management_plan__table_thead > tr > th.adj_bg {
		background: #49a4a7;
		padding: 6px 0 5px 0;
		color: #fff;
		line-height: 1.308;
	}


	.vision_management_plan__table_tbody > tr:first-child > td::before {
		content: none;
	}
	.vision_management_plan__table_tbody > tr > td.adj_bg_w {
		display: none;
	}
	
	
	.activity_diversity .business_foreign_2column li:first-child {
		margin: 0 0 15px 0;
	}
	.activity_diversity .diversity_phase > div {
		height: 340px;
	}
	.activity_diversity .diversity_phase > div > div {
		transform: scale(0.75);
		transform-origin: 0 0;
	}
	.business_foreign_2column li {
		margin: 0 0 0 0;
	}
	.activity_diversity .content_block {
		flex-direction: column;
		margin: 0;
	}
	.activity_diversity .content_block .content_block_txt {
		width: 100%;
	}
	.activity_diversity .content_block .content_block_img {
		max-width: 100%;
		width: 335px;
		margin: 0 auto 20px;
	}
	
	
	.safety_top .left {
		float: inherit;
		width: 100%;
	}
	.safety_top .right {
		float: inherit;
		width: 100%;
	}
	
	.safety_health_goals__olist {
		padding: 16px 25px 16px 36px;
	}
	
	.safety_effort_warp > .left {
		float: inherit;
		width: 100%;
	}
	.safety_effort_warp > .right {
		float: inherit;
		width: 100%;
	}
	
	
	.environment_cogeneration > .left {
		float: left;
		width: 100%;
	}
	.environment_cogeneration > .right {
		float: right;
		width: 100%;
		text-align: center;
	}
	.environment_cogeneration > .right > img {
		width: 100%;
		max-width: 307px;
		box-sizing: border-box;
	}
	
	
	.environment_action__cont.cont_e,
	.environment_action__cont.cont_p,
	.environment_action__cont.cont_c {
		width: 100%;
		padding: 24px 0 0 112px;
	}
	.environment_action__cont.cont_e {
		height: 64px;
	}
	.environment_action__cont.cont_p {
		height: 64px;
		margin: 6px 0;
	}
	.environment_action__cont.cont_c {
		height: 85px;
		padding-top: 20px;
	}
	.environment_action__cont.cont_e > .ttl,
	.environment_action__cont.cont_p > .ttl,
	.environment_action__cont.cont_c > .ttl {
		left: 25px;
	}
	.environment_action__cont > .ttl {
		width: 66px;
	}
	.environment_action__cont > .ttl > .jp {
		margin-top: 4px;
		margin-left: 15px;
		vertical-align: top;
	}
	.environment_action__cont > dd {
		font-size: 15px;
		width: 100%;
		box-sizing: border-box;
	}


	.environment_action__cont.cont_e::before,
	.environment_action__cont.cont_e::after,
	.environment_action__cont.cont_p::before,
	.environment_action__cont.cont_p::after {
		border-right: 16px solid transparent;
		border-bottom: 0 solid transparent;
		border-left: 16px solid transparent;
		right: 50%;
		transform: translateX(50%);
	}
	.environment_action__cont.cont_e::before,
	.environment_action__cont.cont_p::before {
		border-top: 16px solid  #fff;
		box-shadow: 0px 0px 0px 0px #fff;
		top: 70px;
	}
	.environment_action__cont.cont_e::after {
		border-top: 16px solid #f8f8f4;
		top: 64px;
	}
	.environment_action__cont.cont_p::after {
		border-top: 16px solid #eef5f3;
		top: 64px;
	}
	.environment_energy_recycle__list > li {
		width: 100%;
		text-align: center;
	}
	.environment_energy_recycle__list > li:first-child {
		margin-right: 0;
		margin-bottom: 10px;
	}
	.environment_energy_recycle__list > li > img {
		width: 100%;
		max-width: 340px;
		height: auto;
	}
	
	.environment_low_carbon__top {
		margin-bottom: 40px;
	}
	.environment_low_carbon__top > .left {
		float: inherit;
		width: 100%;
	}
	.environment_low_carbon__top > .right {
		float: inherit;
		width: 100%;
	}
	.environment_low_carbon__photo {
		width: 100%;
	}
	.environment_low_carbon__photo > figcaption {
		font-size: 12px;
		margin-top: 10px;
	}
	.environment_low_carbon__photo > img{
		width: 100%;
		max-width: 340px;
	}
	
	.environment_low_carbon__graf > div {
		width: 100%;
	}
	.environment_low_carbon__graf > div:nth-child(2n+2){
		margin-left: 0;
	}
	.environment_low_carbon__graf > div:not(:first-child){
		margin-top: 25px;
	}
	.environment_low_carbon__graf_cont > dd > img {
		display: none;
	}
	.environment_low_carbon__graf_cont > dd > img + img {
		display: inline-block;
	}

	

}

@media screen and (max-width: 540px) {
	.content_toppage_box li {
		display: inline-block;
		overflow: hidden;
		width: 100%;
		margin: 0 0 20px 0;
	}
	.content_toppage_box li:nth-child(2n) {
		margin: 0 0 20px 0;
	}
	.company_topmessage_box .company_topmessage_copy {
		height: 210px;
		margin-top: 25px;
		margin-left: 16px;
	}
	.company_topmessage_copy .copy_01, .company_topmessage_copy .copy_02, .company_topmessage_copy .copy_03, .company_topmessage_copy .copy_04 {
		width: auto;
		height: 6vw;
		min-height: 20px;
		max-height: 24px;
	}
	.company_topmessage_box .president {
		top: 12px;
		right: calc(10vw - 80px);
		width: calc(100% - 34vw);
		max-width: 281px;
	}
	.company_topmessage_img_name {
		width: auto;
		height: 6vw;
		min-height: 36px;
		max-height: 23px;
		margin-bottom: 30px;
	}
	.company_governance .top_visual .sp_view img {
		height: 40px;
	}



}
@media screen and (max-width: 560px) {

	.environment_low_carbon__result > li {
		display: inline-block;
		vertical-align: top;
		font-size: 17px;
		font-weight: bold;
		box-sizing: border-box;
	}

	.environment_low_carbon__result > li:first-child {
		width: 33.2%;
		padding: 14px 0 12px;
		font-size: 16px;
	}
	.environment_low_carbon__result > li > span {
		display: inline-block;
		margin-top: 6px;
	}
	.environment_low_carbon__result > li:first-child::before {
		border-width: 32px 0 32px 20px;
	}
	.environment_low_carbon__result > li:last-child {
		width: 66.8%;
		padding: 23px 0 24px 34px;
	}

}

@media screen and (max-width: 400px) {
	.quality_organizational_chart {
		width: 100%;
		padding: 8px 0 32px 0;
	}
	.quality_organizational_chart::before {
		content: none;
	}
	.quality_organizational_chart>span {
		display: block;
		overflow: hidden;
		overflow-x: scroll;
	}
	.quality_organizational_chart>span>img {
		display: none;
		height: auto;
		width: 100%;
	}
	.quality_organizational_chart>span>img + img {
		display: block;
	}

}


@media screen and (max-width: 360px) {
	.environment_low_carbon__result > li:first-child {
		width: 120px;
	}
	.environment_low_carbon__result > li:last-child {
		width: calc(100% - 120px);
	}
	
	.environment_action__cont.cont_e,
	.environment_action__cont.cont_p,
	.environment_action__cont.cont_c {
		padding-left: 84px;
	}
	.environment_action__cont > .ttl > .jp {
		margin-left: 8px;
	}
	.environment_action__cont.cont_e > .ttl,
	.environment_action__cont.cont_p > .ttl,
	.environment_action__cont.cont_c > .ttl {
		left: 10px;
	}
	
}

@media screen and (max-width: 350px) {
	.vision_management_plan__medium_term > dt {
		font-size: 14px;
	}
	.vision_management_plan__results > dt {
		font-size: 14px;
	}
	.vision_management_plan__olist > li {
		font-size: 13px;
	}
	.vision_charter__olist > li {
		font-size: 13px;
	}

}
@media screen and (max-width: 320px) {
	.company_topmessage_box .president {
		top: 12px;
		width: 65%;
	}
	.company_topmessage_copy .copy_01 {
		width: 175px;
	}
	.company_topmessage_copy .copy_02 {
		width: 67px;
	}
	.company_topmessage_copy .copy_03 {
		display: block;
		width: 121px;
	}
	.company_topmessage_copy .copy_04 {
		width: 98px;
	}
	.company_topmessage_img_name {
		width: 137px;
	}
	
	/*--  company_vision
	---------------------------------------------------- */
	.vision_base__inner > .ttl img {
		height: 15px;
	}
	.vision_management_vision__ulist > li {
		font-size: 13px;
	}
}