@charset "UTF-8";



/*======================================================================================================================
========================================================================================================================

contents.css

コンテンツ用

========================================================================================================================
======================================================================================================================*/





/*  タイトル指定 
-------------------------------------------------------------------------------------------------------- */

/*  サブタイトル 
--------------------------------*/

h2.sttl {
	font-size: 178.5%;
	margin: 0 0 30px;
	line-height: 1;
	font-weight: normal;
}





/* リスト指定
-------------------------------------------------------------------------------------------------------- */

/* 通常リスト
----------------------------- */
.list_disc li {
	margin:        0px 0px 5px 17px;
	padding:       0px;
	list-style:    disc outside;
	line-hight:    150%;
}

/* 通常ナンバリングリスト
----------------------------- */
.list_number li {
	margin:        0px 0px 5px 25px;
	padding:       0px;
	list-style:    decimal outside;
	line-hight:    150%;
}

/* MT記事内リスト
----------------------------- */
/* 通常リスト */
.entry_area ul li {
	margin:        0px 0px 5px 17px;
	padding:       0px;
	list-style:    disc outside;
	line-hight:    150%;
}

/* 通常ナンバリングリスト */
.entry_area ol li {
	margin:        0px 0px 5px 25px;
	padding:       0px;
	list-style:    decimal outside;
	line-hight:    150%;
}





/*  会社概要 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- */

.flex_box{
display: flex;
justify-content: space-between;
}

.area_img_eguchi{
width: 35%;
}

.area_img_eguchi img{
width: 100%;
height: auto;
}

.area_greeting_text{
width:75%;
margin: 0 0 0 20px;
}

.area_greeting_text span{
display: block;
margin-bottom: 10px;
}

.area_greeting_text .last_text{
text-align: right;
}

.tbl_default {
    background: url(../img/tbl_border.gif) left top repeat-x;
	padding: 2px 0 0;
}

.tbl_default table {
	border-collapse: collapse;
	text-align: left;
}

.tbl_default table th {
	border-bottom: 1px solid #FFF;
    background: url(../img/tbl_border_b.gif) left bottom repeat-x #EEE;
	padding: 5px;
	font-weight: normal;
}

.tbl_default table td {
    background: url(../img/tbl_border_b.gif) left bottom repeat-x #FFF;
	padding: 5px 5px 5px 10px;
}

.philosophy .logo_area{
width: 210px;
}

.philosophy .logo_area img{
width: 100%;
height: auto;
}

.flex_box.philosophy{
align-items: flex-end;
}

.flex_box.philosophy p{
padding-right: 20px
}




.flex_box.attempt{
border-bottom:#333333 dotted 1px;
align-items: center;
padding-bottom: 30px;
}

.area_img_attempt{
width: 120px;
margin: 0 70px;
}

.area_img_attempt img{
width: 100%;
height: auto;
}


.area_text_attempt{
width: 80%;
}




/*  お問い合わせエリア 
-------------------------------------------------------------------------------------------------------- */

.inquiry_area {
	border: 1px solid #DDDDDD;
	background: #EFEFEF;
	border-radius: 3px;
	width: 240px;
	float: right;
    padding: 20px;
	font-size: 80%;
	line-height: 1;
}
.inquiry_area .btn_contact {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 40px;
  background-color: #666;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 2px;
  font-weight: normal;
}
.inquiry_area .btn_contact:hover {
  opacity: .8;
}

.inquiry_area .btn_contact .icon {
  width: 18px;
  height: auto;
  margin-right: 10px;
  display: inline-block;
}



/*  プライバシーリスト
-------------------------------------------------------------------------------------------------------- */
.list_privacy li {
	margin:        0px 0px 25px 25px;
	padding:       0px;
	list-style:    decimal outside;
	line-height:    160%;
}





/*  お知らせ - イベント情報、コラム
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- */

.list_news {
	width: 610px;
	float: left;
	font-size: 93%;
}
.list_news dl {
	clear: both;
	border-bottom: 1px solid #EEE;
	padding: 0 0 10px;
	margin: 0 0 10px;
}
.list_news dl dt {
	float: left;
	width: 110px;
	display: block;
	font-weight: bold;
}
.list_news dl dd {
	/*padding: 0 0 0 145px;*/
    padding: 0 0 0 110px;
}
/*.list_news dl dd.info {
	background: url(../img/icon_news.gif) no-repeat 102px 4px;
}
.list_news dl dd.events {
	background: url(../img/icon_events.gif) no-repeat 102px 4px;
}*/

.list_news dl dd a:link,
.list_news dl dd a:visited {
	color: #444;
	text-decoration: none;
}
.list_news dl dd a:hover {
	text-decoration: underline;
}



/*  年別ナビ
--------------------------------*/
.sn_news, .sn_column {
	width: 280px;
	float: right;
}
.sn_news li, .sn_column li {
	background: url(../img/icon_sn_news.png) 10px 12px no-repeat;
}
.sn_news li a:link ,
.sn_news li a:visited,
.sn_column li a:link ,
.sn_column li a:visited {
	display: block;
	border: 1px solid #DDD;
	border-radius: 3px;
	margin: 0 0 8px;
	padding: 6px 6px 6px 37px;
	text-decoration: none;
	color: #555;
}
.sn_news li a:hover, .sn_column li a:hover {
	background:url(../img/icon_sn_news.png) 9px 11px no-repeat #EEE;
}
body#news.list_2021 .sn_news li.btn_2021 a,
body#news.list_2020 .sn_news li.btn_2020 a,
body#news.list_2019 .sn_news li.btn_2019 a,
body#news.list_2018 .sn_news li.btn_2018 a,
body#news.list_2017 .sn_news li.btn_2017 a,
body#news.list_2016 .sn_news li.btn_2016 a,
body#news.list_2015 .sn_news li.btn_2015 a,
body#news.list_info .sn_news li.btn_info a,
body#news.list_events .sn_news li.btn_events a {
	background:url(../img/icon_sn_news.png) 9px 11px no-repeat #EEE;
}

body#column.list_2021 .sn_column li.btn_2021 a,
body#column.list_2020 .sn_column li.btn_2020 a,
body#column.list_2019 .sn_column li.btn_2019 a,
body#column.list_2018 .sn_column li.btn_2018 a,
body#column.list_2017 .sn_column li.btn_2017 a,
body#column.list_2016 .sn_column li.btn_2016 a {
	background:url(../img/icon_sn_news.png) 9px 11px no-repeat #EEE;
}



/*  詳細ページ 
--------------------------------*/

.sttl_news, .sttl_column {
	font-size: 160%;
	font-weight: normal;
	line-height: 1.3;
}

.ttl_gray {
	height: 30px;
	margin: 0 0 1px 0;
	padding: 0 0 0 5px;
	background: #EEEEEE;
	font-size: 100%;
	font-weight: normal;
	line-height: 30px;
}

.icon_name{
	display: block;
	height: 22px;
	padding: 10px 0 0 32px;
	background: url(../../column/img/icon_colimn_name.gif) no-repeat left bottom;
	line-height: 22px;
}

.ttl_result {
	height: 20px;
	margin-bottom: 15px;
	padding-left: 10px;
	border-left: solid 5px #484CB0;
	font-size: 133.3%;
	font-weight: normal;
	line-height: 20px;
}
.tbl_events {
	text-align: left;
	background: url(../img/tbl_events_bg.gif) repeat-y center;
	border-spacing: 1px 1px;
}
.tbl_events th {
	border-bottom: 1px solid #FFF;
	height: 30px;
	padding-left: 5px;
	font-weight: normal;
	border: solid 1px #FFFFFF;
}
.tbl_events td {
	padding: 5px 5px 10px 10px;
	background: #FFFFFF;
	border: solid 1px #FFFFFF;
}

.entry_area p {
	margin-bottom: 20px;
}



/*  事業分野
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- */

.area_field {
    display: flex;
    justify-content: center;
}

.box_field {
	width: 280px;
    margin: 0 25px;
}
.box_field .box_inner {
	padding: 15px;
	border: 1px solid #DDDDDD;
	border-radius: 0 0 4px 4px;
}

.ttl_field {
	/* height: 33px; */
	padding: 13px 15px 11px 2px;;
	border-radius: 4px 4px 0 0;
	background: #0054A7;
	font-size: 146.7%;
	font-weight: normal;
	color: #FFF;
    text-align: center;
	line-height: 1.3;
	position: relative;
}
.ttl_field:after {
  content: "";
  position: absolute;
  right: 18px;
  top: calc(50% + 2px);
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 11px solid #fff; /* 矢印の色 */
}
.ttl_field_s {
	padding: 5px 15px;
	border-radius: 4px 4px 0 0;
	background: #0054A7;
	font-size:  100%;
	font-weight: normal;
	color: #FFF;
    text-align: center;
	position: relative;
}
.ttl_field_s:after {
	content: "";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 9px solid #fff; /* 矢印の色 */
}
.box_field .ttl_energy {
	background: #E09A10;
}
.box_field .ttl_trans {
	background: #337e26;
}
.box_field .ttl_tec {
	background: #AE2EAE;
}

a.btn_hover {
	text-decoration: none;
	cursor: pointer;
}
a.btn_hover:hover .box_field {
	opacity: 0.6;
}



/*  エネルギー・環境  */

body#energy .ttl {
	margin: 0 0 30px;
	border-bottom: solid 3px #E09A10;
	font-size: 160%;
	font-weight: normal;
}


/*  交通  */

body#trans .ttl {
	margin: 0 0 30px;
	border-bottom: solid 3px #337E26;
	font-size: 160%;
	font-weight: normal;
}
/*.list_trans_doc li{
	margin: 0 0 15px;
	padding: 0 0 0 30px;
}
.list_trans_doc li span {
	margin: 0 0 0 -30px;
}*/

/*  先進技術・その他  */

body#tec .ttl {
	margin: 0 0 30px;
	border-bottom: solid 3px #AE2EAE;
	font-size: 160%;
	font-weight: normal;
}



/*  顧客向けサービス
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- */

/*.box_service {
	border: 1px solid #DDDDDD;
	width: 280px;
	border-radius: 4px;
}
.box_service .ttl {
    padding: 10px 15px;
	border-bottom: 1px solid #DDDDDD;
	border-radius: 6px 6px 0 0;
	background: #0054A7;
	font-size: 133.3%;
	color: #FFF;
}
.box_service .box_inner {
	padding: 15px;
	border-radius: 3px;
}*/





/*  テクノバの役割
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- */

/*.box_feature {
	border: 1px solid #DDDDDD;
	border-radius: 6px;
	width: 280px;
}

.feature_inner {
	padding: 15px;
}

.feature_inner .ttl {
	font-size: 140%;
	color: #0052AA;
	line-height: 1.2;
	margin: 0 0 10px;
}*/





/*  実績
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- */

#tab ul {
	display: flex;
}
#tab li {
	min-width: 150px;
	padding: 0;
	margin: 0 20px 0 0;
	list-style: none;
	position: relative;
}
#tab li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	background-color: #555;
	color: #fff;
	padding: 10px 0px 9px 20px; /* 左に余白を増やす（▼分） */
	border-radius: 4px;
	text-decoration: none;
	position: relative;
	font-size: 14px;
	box-sizing: border-box;
}
#tab li.meeting a {
	padding: 10px 20px 9px 40px; /* 左に余白を増やす（▼分） */
}
#tab li a:hover {
	opacity: .8;
}
#tab li a::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 11px solid #fff; /* ▼の色 */
}

/* ▼ 調査ボタンの設定*/
#tab li.research {
  position: relative;
  display: block;
  width: 180px;
}

/* ▼ ドロップダウンメニュー */
#tab .dropdown-menu {
  overflow: hidden;
  width: calc(100% - 2px);
  max-height: 0;
  transition: max-height 0.3s ease;
  display: block; /* 必ず表示（見せる／隠すは max-height で） */
  position: absolute;
  top: 100%;
  left: 0;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  min-width: 150px;
  z-index: 1000;
  padding: 0;
  margin: 0;
  list-style: none;
}

/* 開いた状態（アニメーションで下がる） */
#tab .dropdown.show .dropdown-menu {
  max-height: 500px; /* 想定最大値に合わせておく（足りなければ増やす） */
}

#tab .dropdown-menu li {
  margin-right: 0;
}

#tab .dropdown-menu li a {
  display: block;
  padding: 10px 16px 10px 45px; /* 左に余白を追加し矢印と分離 */
  text-decoration: none;
  color: #333;
  background-color: #fff;
  border-bottom: 1px solid #ddd;
}

#tab .dropdown-menu li:last-child a {
  border-bottom: none;
}

#tab .dropdown-menu li a:hover {
  background-color: #f5f5f5;
}

/* ▼ 矢印（ドロップダウン左） */
#tab .dropdown-menu li a::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 11px solid #555; /* ボタンと同じ背景色 */
}


/*#tab  li.technology a { background: url(../img/tab_technology_btn.gif) 0 0 no-repeat;}
#tab  li.technology a:hover { background: url(../img/tab_technology_btn_over.gif) 0 0 no-repeat;}

#tab li.market { background: url(../img/tab_market_btn.gif) 0 0 no-repeat;}
#tab li.market a:hover { background: url(../img/tab_market_btn_over.gif) 0 0 no-repeat;}

#tab li.research { background: url(../img/tab_research_btn.gif) 0 0 no-repeat;}
#tab li.research a:hover { background: url(../img/tab_research_btn_over.gif) 0 0 no-repeat;}

#tab li.market { background: url(../img/tab_market_btn.gif) 0 0 no-repeat;}
#tab li.market a:hover { background: url(../img/tab_market_btn_over.gif) 0 0 no-repeat;}

#tab li.symposium { background: url(../img/tab_symposium_btn.gif) 0 0 no-repeat;}
#tab li.symposium a:hover { background: url(../img/tab_symposium_btn_over.gif) 0 0 no-repeat;}

#tab li.lecture { background: url(../img/tab_lecture_btn.gif) 0 0 no-repeat;}
#tab li.lecture a:hover { background: url(../img/tab_lecture_btn_over.gif) 0 0 no-repeat;}

#tab li.meeting { background: url(../img/tab_meeting_btn.gif) 0 0 no-repeat;}
#tab li.meeting a:hover { background: url(../img/tab_meeting_btn_over.gif) 0 0 no-repeat;}*/

.ttl_result {
	height: 20px;
	margin-bottom: 15px;
	padding-left: 10px;
	border-left: solid 5px #484CB0;
	font-size: 133.3%;
	font-weight: normal;
	line-height: 20px;
}

.tbl_result {
	text-align: left;
	background: url(../img/tbl_result_bg.gif) repeat-y center;
	border-spacing: 1px 1px;
}
.tbl_result th {
	border-bottom: 1px solid #FFF;
	height: 30px;
	padding-left: 5px;
	font-weight: normal;
	border: solid 1px #FFFFFF;
}
.tbl_result td {
	padding: 5px 5px 10px 10px;
	background: #FFFFFF;
	border: solid 1px #FFFFFF;
}





/*  先輩社員の声
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- 
-------------------------------------------------------------------------------------------------------- */

.ttl_voice {
	height: 30px;
	margin: 0 0 1px 0;
	padding: 0 0 0 10px;
	background: #ACBCDC;
	font-size: 100%;
	font-weight: normal;
	line-height: 30px;
}
.box_voice {
 padding: 0 10px;
}




