﻿@charset "utf-8";

/* ------------------------------------------------------------

	corporate style

------------------------------------------------------------ */

/* ------------------------------------------------------------
	index style
------------------------------------------------------------ */

/* ----------mainIMG---------- */

@media only screen and (min-width:768px) {
.mainimgArea .mainimg_txt img {
	margin-top: 32px;
}
}
/* ----------index_grid---------- */

/* ----------index_grid---------- */

#index_grid1 {
	padding: 24px 0;
}

.img-area {
	text-align: center;
	line-height: 0;
}

/* ------------------------------------------------------------
	strength style
------------------------------------------------------------ */

/* ----------strength_grid---------- */

.strength_grid3 {
	width: 660px;
	overflow: hidden;
}

.strength_grid3 .box {
	float: left;
	width: 210px;
	margin-right: 10px;
}

.strength_grid3 .box1 {
	float: left;
	width: 420px;
}

.strength_grid3 .box2 {
	float: right;
	width: 230px;
}

/* ----------strength_column---------- */

.strength_column {
	width: 100%;
	padding-top: 3px;
}

.strength_column .column_base {
	border: 1px solid #00aaff;
	border-radius: 4px;
	padding-bottom: 21px;
}

.strength_column .column_head {
	background-color: #4BA5D7;
	padding: 5px 0 8px;
	color: #FFF;
	font-size: 117%;
	text-align: center;
}

/* ------------------------------------------------------------
	outline style
------------------------------------------------------------ */


#contents.outline .grid2 {
	width: 100%;
}

#contents.outline .grid2 .box.box1 {
	width: 200px;
}

#contents.outline .grid2 .box.box2 {
	width: calc(100% - 220px);
}
@media only screen and (max-width:767px) {
	#contents.outline .grid2 {
		flex-direction: column;
	}
	#contents.outline .grid2 .box.box1 {
		width: 100%;
	}
	#contents.outline .grid2 .box.box2 {
		width: 100%;
	}
}
/* ----------tb1---------- */

.outline #tb1 th {
	word-wrap: break-word;
	padding-right: 5px;
}


/* ----------ntn_logo---------- */

.outline .ntn_logo_head {
	position: absolute;
	top: 6px;
	right: 150px;
	background-color: #FFF;
	padding: 0 3px;
	z-index: 20;
}
.outline .ntn_logo {
	position: absolute;
	width: 200px;
	top: 15px;
	right: 0px;
	background-color: #FFF;
	border: 1px solid #DDD;
	padding: 19px 14px 14px;
	z-index: 10;
}


/* ------------------------------------------------------------
	idea style
------------------------------------------------------------ */

/* ----------idea style---------- */

#contents.idea .idea_block_01 {
	background: #d7e9f2;
	padding: 0 25px 15px;
	box-sizing: border-box;
	margin-bottom: 15px;
}
#contents.idea .idea_block_01 .idea_title {
	background: #d7e9f2;
	text-align: center;
	font-size: 125%;
	font-weight: 400;
	margin-bottom: 10px;
}
#contents.idea .idea_block_01 .idea_title span {
	display: inline-block;
	vertical-align: middle;
	background: #0067b3;
	color: #fff;
	padding: 5px 30px;
	min-width: 8em;
}
#contents.idea .idea_block_01 .idea_lead {
	text-align: center;
	font-size: 125%;
	letter-spacing: .06em;
}
#contents.idea .idea_block_01 .idea_txt {
	color: #005BAC;
	text-align: center;
	font-size: 184%;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 5px;
}
#contents.idea .idea_block_01 .idea_txt_cap {
	text-align: center;
	font-size: 125%;
	margin-top: 2px;
}
#contents.idea .idea_block_01 .idea_list {
	margin-top: 5px;
}
#contents.idea .idea_block_01 .idea_list li {
	margin-bottom: 5px;
	overflow: hidden;
}
#contents.idea .idea_block_01 .idea_list i {
	font-style: normal;
	font-weight: 700;
	display: block;
	background: #0067b3;
	color: #fff;
	padding: 4px 6px;
	line-height: 1.1;
	float: left;
	margin-right: 10px;
}
#contents.idea .idea_block_01 .idea_list span {
	overflow: hidden;
	display: block;
}
#contents.idea .idea_block_02 {
	border: 3px solid #d7e9f2;
	padding: 0 20px 5px;
	box-sizing: border-box;
	margin-bottom: 10px;
}
#contents.idea .idea_block_02 .idea_title {
	text-align: center;
	font-size: 125%;
	font-weight: 400;
	margin-bottom: 20px;
	margin-top: -2px;
}
#contents.idea .idea_block_02 .idea_title span {
	display: inline-block;
	vertical-align: middle;
	background: #0067b3;
	color: #fff;
	padding: 5px 30px;
	min-width: 8em;
}
#contents.idea .idea_block_arrw {
	text-align: center;
	margin-bottom: 10px;
}
#contents.idea .idea_block_arrw span {
	display: inline-block;
	width: 0;
	height: 0;
	border: 59px solid transparent;
	border-top-width: 27px;
	border-top-color: #00adee;
	border-bottom: none;
}
.idea_goal {
	text-align: center;
}
.idea_goal span {
	display: inline-block;
	min-width: 16em;
	background: #0067b3;
	color: #fff;
	font-weight: 700;
	font-size: 184%;
	padding: 10px 30px;
	letter-spacing: .04em;
}
@media only screen and (max-width:767px) {
	.idea_goal span {
		font-size: 1.2rem;
	}
}

#contents.idea ul.credos_list > li {
	display: flex;
	border-bottom:1px solid #00A63C;
	margin-bottom:10px;
	padding-bottom:10px;
}
#contents.idea ul.credos_list .credos_block-1 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 50%;
}
#contents.idea ul.credos_list .credos_block-1 > .credos_img {
	margin-right:15px;
}
#contents.idea ul.credos_list .credos_block-1 > .credos_txt {
	width:130px;
	color:#00A63C;
	font-weight:bold;
	padding-top:10px;
}
#contents.idea ul.credos_list .credos_block-2 {
	width: 50%;
}
#contents.idea ul.credos_list .credos_block-2 > ul {
	margin-left:15px;
	margin-top:10px;
}
#contents.idea ul.credos_list .credos_block-2 > ul > li {
	padding-left:20px;
	background-image: url(../corporate/idea/images/index/list_icon.gif);
	background-repeat: no-repeat;
	background-position: 0px 2px;
	line-height:120%;
	margin-bottom:8px;
}
@media only screen and (max-width:599px) {
	#contents.idea ul.credos_list .credos_block-1 {
		flex-direction: column;
	}
	#contents.idea ul.credos_list .credos_block-1 > .credos_txt {
		width: 100%;
	}
}
#contents.idea .title_list{
	display: flex;
	justify-content: space-between;
	margin-bottom:10px;
}
#contents.idea .title_list li{
	background: #20b14a;
	color: #fff;
	text-align:center;
	padding:5px;
}
#contents.idea .title_list li:nth-child(1){
	width: 43.5%;
}
#contents.idea .title_list li:nth-child(2){
	width: 51%;
}
/* ------------------------------------------------------------
	management_policy style
------------------------------------------------------------ */
#contents.idea .anchor-rwd-box {
	margin-top: 10px;
	margin-bottom: 20px;
}
#contents.idea .anchor-rwd-box .lineDot{
	border-bottom: dotted 1px lightgray;
}
cellLast
#contents.idea .management_policy .section{
	max-width: 660px;
}
#contents.idea .management_policy .section h3.head2{
	font-size: 125%;
}
#contents.idea .management_policy .idea_block_01+dl.hoshin{
	margin-top: 20px;
}

#contents.idea .management_policy table.hoshin{
	width: 100%;
	border: 2px solid #B0CDEB;
}
#contents.idea .management_policy table.hoshin th{
	padding: 5px 5px;
	font-size: 110%;
	border: 1px solid #B0CDEB;
	vertical-align: middle;
	width: 29%;
	background-color: #F0F8FE;
	font-weight: bold;
	text-align: left;
}
#contents.idea .management_policy table.hoshin th.full{
	width: auto;
}
#contents.idea .management_policy table.hoshin td{
	padding: 5px 5px;
	font-size: 115%;
	border: 1px solid #B0CDEB;
	vertical-align: middle;
}
#contents.idea .management_policy table.hoshin td.ttl{
	width: 29%;
	vertical-align: top;
}
#contents.idea .management_policy table.hoshin th p{
	position: relative;
	padding: 0 0 0 1.25em;
}
#contents.idea .management_policy table.hoshin th p span{
	display: inline-block;
}
#contents.idea .management_policy table.hoshin th p span:first-child{
	position: absolute;
	top: 0;
	left: 0;
}
#contents.idea .management_policy table.hoshin td.ttl p{
	position: relative;
	padding: 0 0 0 2.3em;
}
#contents.idea .management_policy table.hoshin td.ttl p span{
	display: inline-block;
}
#contents.idea .management_policy table.hoshin td.ttl p span:first-child{
	position: absolute;
	top: 0;
	left: 0;
}
#contents.idea .management_policy table.hoshin td li{
	margin: 0 0 0 1.5em;
	list-style: disc;
	font-size: 95%;
}
@media only screen and (max-width:959px) {
#contents.idea .anchor-rwd-box .cellLast{
	display: none;
}
#contents.idea .anchor-rwd-box .lineDotLast{
	border-bottom: none;
}
#contents.idea .management_policy .section{
	max-width: 100%;
}
#contents.idea .management_policy table.hoshin th{
	width: auto;
	display: block;
}
#contents.idea .management_policy table.hoshin td.ttl{
	width: auto;
	display: block;
	border-bottom: none;
	background-color: #eee;
}
#contents.idea .management_policy table.hoshin td{
	width: auto;
	display: block;
	border-top: none;
}
}
#contents.idea .carbon_neutral .objective_list>.objective {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	border: 2px solid #2d722d;
}
#contents.idea .carbon_neutral .objective_list>.objective:not(:last-child) {
	border-bottom: 0px solid transparent;
}
#contents.idea .carbon_neutral .objective_list>.objective>.when {
	font-size: 0.9rem;
    font-weight: bold;
    background: #99ff66;
	padding: 5px;
}
#contents.idea .carbon_neutral .objective_list>.objective>.content {
	font-size: 0.9rem;
	padding: 5px;
}
/* ------------------------------------------------------------
	policy style
------------------------------------------------------------ */

#contents.policy #tb1 {
	margin-bottom: 10px;
}

#contents.policy #tb1 th {
	width: 210px;
}


/* ------------------------------------------------------------
	staff_action style
------------------------------------------------------------ */

#contents.staff_action ol.list_basic li {
	margin-bottom: 10px;
}
/* ------------------------------------------------------------
	action style
------------------------------------------------------------ */

#contents.action #tb1 .cell1 {
	width: 240px;
}

#contents.action #tb1 .cate_head {
	background-color: #EDF7FE;
	font-weight: bold;
}


/* ------------------------------------------------------------
	distributor
------------------------------------------------------------ */

/* ----------#tb1---------- */

#contents.distributor #tb1 th {
	width: 200px;
}

/* ----------list_area---------- */

#contents.distributor .list_area li {
	float: left;
	padding-right: 1em;
}

/* ------------------------------------------------------------
	message
------------------------------------------------------------ */

#contents.message .topmessage-grid {
	display: grid;
	display: -ms-grid;
	grid-template-columns: 360px 240px;
	grid-template-rows: auto auto;
	-ms-grid-columns: 360px 240px;
	-ms-grid-rows: auto auto;
}
#contents.message .topmessage-grid .top-cont {
	grid-column: 1 / 2;
	grid-row: 1;
	-ms-grid-column: 1;
	-ms-grid-row: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
#contents.message .topmessage-grid .top-cont h1 {
	margin-bottom: 0;
}
#contents.message .topmessage-grid .sub-cont {
	grid-column: 1 / 2;
	grid-row: 2;
	-ms-grid-column: 1;
	-ms-grid-row: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#contents.message .topmessage-grid .side-cont {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
	-ms-grid-column: 2;
	-ms-grid-row: 1;
	-ms-grid-row-span: 2;
}

@media only screen and (max-width:599px) {
	#contents.message .topmessage-grid {
		grid-template-columns: 100%;
		grid-template-rows: auto auto auto;
		-ms-grid-columns: 100%;
		-ms-grid-rows: auto auto auto;
	}
	#contents.message .topmessage-grid .top-cont {
		grid-column: 1;
		grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-row: 1;
	}
	#contents.message .topmessage-grid .sub-cont {
		grid-column: 1;
		grid-row: 3;
		-ms-grid-column: 1;
		-ms-grid-row: 3;
		margin-top: 10px;
	}
	#contents.message .topmessage-grid .side-cont {
		grid-column: 1;
		grid-row: 2;
		-ms-grid-column: 1;
		-ms-grid-row: 2;
		-ms-grid-row-span: 1;
	}
}

/* ----------list_banner---------- */

.list_banner {
	display: flex;
	flex-wrap: wrap;
    padding-top: 11px;
    padding-bottom: 6px;
    background: #bcdeff;
	border-radius: 4px;
	margin-bottom: 20px;
}

.list_banner li {
	line-height: 0;
	margin-bottom: 5px;
}

.list_banner li span {
    background: url(../images/icon_arrow_01.gif) no-repeat left 0.5em;
    padding-left: 9px;
    display: block;
}

.list_banner li a:hover img {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

.list_banner.type1 {
	padding-left: 10px;
}

.list_banner.type2 {
	justify-content: flex-start;
}

.list_banner.type2 > li {
	margin: 2px 5px;
}

.list_banner.type3 {
	padding-left: 10px;
    background: #ddd;
}
@media only screen and (max-width:599px) {
	.list_banner.type2, .list_banner.type3 {
		padding-left: 0;
		justify-content: space-around;
	}
}
.list_banner.type3 li {
	padding-left: 2px;
	padding-right: 2px;
}

.list_banner_cover {
    padding-top: 11px;
    padding-bottom: 8px;
	padding-left: 10px;
	padding-right: 10px;
    background: #bcdeff;
	border-radius: 4px;
	margin-bottom: 20px;
}

.list_banner_cover h3 {
	margin-bottom: 10px;
	margin-left: 10px;
}

.list_banner_cover.type1 {
	border: 1px solid #79b8f0;
}

.list_banner.type-inner-1 {
	background: transparent;
	justify-content: space-around;
    padding: 0;
	border-radius: 0;
}
.list_banner.type-inner-1 li {
	width: 124px;
	margin-left: 2px;
	margin-right: 2px;
	line-height: 135%;
}
.list_banner.type-inner-1 li a {
	display: flex;
	flex-direction: column;
}

.network_section a.newwin {
	padding-right: 18px;
}
/* ------------------------------------------------------------
	map style
------------------------------------------------------------ */

/* ----------section---------- */

#contents.map .section {
	width: 534px;
	margin-left: 63px;
}

/* ----------iframe---------- */

#contents.map .section iframe {
	width: 532px;
	height: 418px;
	border: 1px solid #DDD;
	margin-bottom: 20px;
}

/* ----------btn_print---------- */

#contents.map .btn_print {
	margin-bottom: 15px;
}

/* ----------btn_google---------- */

#contents.map .btn_google {
	margin-top: 5px;
}

/* ----------#tb1---------- */

#contents.map #tb1 th {
	width: 90px;
}


/* ------------------------------------------------------------
	history style
------------------------------------------------------------ */

/* ----------#tb1---------- */

#contents.history #tb1 th {
	width: 80px;
}


/* ------------------------------------------------------------
	business style
------------------------------------------------------------ */

#contents.business .column3_head1 span {
	float: left;
	width: 77%;
}
#contents.business .column3_head1 .boxBtn {
	float: left;
	width: 23%;
}
#contents.business #businessTtl .boxBtn a:hover img {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}


/* ----------business_grid2---------- */

#contents.business .business_grid2 {
	width: 622px;
	margin-left: 18px;
	overflow: hidden;
}

#contents.business .business_grid2 .box1 {
	float: left;
	width: 298px;
}

#contents.business .business_grid2 .box2 {
	float: right;
	width: 312px;
}

#contents.business .business_grid2 ul.list_icon {
	width: 272px;
	margin-left: 17px;
}

#contents.business .business_grid2 ul.list_icon li {
	background: url(../images/dotline_01.gif) repeat-x left top;
	padding: 6px 0 5px;
}

#contents.business .business_grid2 ul.list_icon li:first-child {
	background-image: none;
}

#contents.business .business_grid2 ul.list_icon li span {
	display: block;
	background: url(../corporate/business/images/list_icon.gif) no-repeat left 0.5em;
	padding-left: 11px;
}



/* ------------------------------------------------------------
	message style
------------------------------------------------------------ */

#contents.message .grid2 .box1 {
	float: left;
	width: 355px;
}

#contents.message .grid2 .box2 {
	float: right;
	width: 285px;
	overflow: hidden;
}

#contents.message .grid2 .box2 .name1,
#contents.message .grid2 .box2 .name2 {
	float: left;
	width: 122px;
	padding-left: 20px;
}

/* ------------------------------------------------------------
	distributor style
------------------------------------------------------------ */

#contents.distributor .tb_data3 th,
#contents.distributor .tb_data3 td {
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
}


/* ------------------------------------------------------------
	digest style
------------------------------------------------------------ */

.linkArea {
	border: 1px solid #CCC;
	padding: 10px;
}

.linkArea dl dt {
	width: 80px;
}
.linkArea dl dt img {
	vertical-align: bottom;
}
.linkArea dl dd {
	margin: -29px 0 6px 90px;
	background: url(../images/icon_arrow_01.gif) no-repeat left 18px;
	padding-left: 8px;
}

.linkArea dl dd:last-child {
	margin-bottom: 0;
}

.linkArea a {
	padding: 10px 0;
	display: block;
	font-size: 110%;
}

/* ------------------------------------------------------------
	showcase style
------------------------------------------------------------ */

#contents.showcase dl {
	clear: both;
	overflow: hidden;
	margin-bottom: 30px;
}
#contents.showcase dl dt {
	width: 200px;
	float: left;
	display: block;
}
#contents.showcase dl dt img {
	width: 100%;
}
#contents.showcase dl dd {
	width: 440px;
	float: right;
	display: block;
}

@media only screen and (max-width:599px) {
	#contents.showcase dl dt {
		width: 100%;
	}
	#contents.showcase dl dd {
		width: 100%;
	}
}

/* ------------------------------------------------------------
	technical_services style
------------------------------------------------------------ */

#technical_services_area .tech_layout1-1 {
	margin: 0 auto;
	text-align: center;
	clear: both;
}
#technical_services_area .tech_layout1-1 .pic1 {
	float: left;
	text-align: center;
}
#technical_services_area .tech_layout1-1 .pic1 img {
	margin-bottom: 5px;
}
#technical_services_area .tech_layout1-1 .pic2 {
	float: left;
}
#technical_services_area .tech_layout1-1 .pic2 img {
	margin-bottom: 5px;
}

#technical_services_area .tech_layout1-2 {
	margin: 0 auto;
}
#technical_services_area .tech_layout1-2 .pic1 {
	float: left;
	margin-top: 15px;
	text-align: center;
}
#technical_services_area .tech_layout1-2 .pic2 {
	float: left;
	margin-top: 15px;
	text-align: center;
}
.w680 {
	width: 680px;
}
.w620 {
	width: 620px;
}
.w530 {
	width: 530px;
}
.w470 {
	width: 470px;
}
.w190 {
	width: 190px;
}
.w170 {
	width: 170px;
}
.w150 {
	width: 150px;
}


/* clearFix */

.clearFix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearFix {
	display: inline-table;
}

/*Hides from IE-mac \*/

* html .clearFix {
	height: 1%;
}

.clearFix {
	display: block;
}

/*End hide from IE-mac */