@charset 'UTF-8';

/* customfield press & topics */
/*@import url("/common/css/common/custom_field.css");*/


/* ----------------Common---------------------- */
a{ color:#000;}
/*a:visited {color:#0068B7;}*/
a:link{ color:#000;}
a:hover{ color:#2D98D0 /*!important*/; text-decoration:none;}
a:visited{ color:#000;}

main{display: block;}

/* common化したい */
.sp{
	display: none;
}
.sp-only {display:none;}

.sp_480_only{display: inline;}

.navigation-sitemap .category-list .parent a{
	color: #000;
}
.sidenav {
    max-width: 960px !important;
    margin: 0 auto;
    background-color:white;
}

.sidenav .inner-wrap{width: 245px;}


.header-g-nav-wrap{display:none;}
.sidenav {
	padding:20px 0 0 0;
	background-color: white;
}

/*  --------------------- 間隔調整 -------------------- */
.main-content .pb0{padding-bottom: 0;}
.main-content .pb5{padding-bottom: 5px;}
.main-content .pb10{padding-bottom: 10px;}
.main-content .pb15{padding-bottom: 15px;}
.main-content .pb20{padding-bottom: 20px;}
.main-content .pb30{padding-bottom: 30px;}

/* ---------------- 下margin 調整 ---------------------- */
.main-content .mb0{margin-bottom: 0;}
.main-content .mb5{margin-bottom: 5px;}
.main-content .mb10{margin-bottom: 10px;}
.main-content .mb15{margin-bottom: 15px;}

/* SP専用追加 */
@media screen and (max-width: 750px){
  .main-content .SpOnly-mb10{margin-bottom: 10px;}
  .main-content .SpOnly-mb15{margin-bottom: 15px;}
}


/* ---------------- END 下margin 調整 ---------------------- */
@media screen and (min-width: 751px){
/*  ---------------------追随メニュー-------------------- */
  #portamento_container {
    float:right; 
    position:relative;
    width: 240px!important;
  }
  
  .navigation-side ul .parent a {
    box-sizing: border-box;
    width: 100%;
  }
  
  
  #portamento_container .about.active {
    float:none; 
    /*position:absolute;*/
    position: static;/* 100%以下でスクロールバーが表示されるバグフィックス */
    max-width: 220px;
  }
  #portamento_container .about.active.fixed {position:fixed;}

}

/*  ---------------------750px以下の処理------------------- */
@media screen and (max-width: 750px){

	.pc	{
		display: none;
	}
	.sp{
		display: block;
	}
	.sp-only {display:block;}
	.new-line{
		display: block;
	}
}

/*  ---------------------END 750px以下の処理------------------- */


/* ----------------KeyVisual---------------------- */
.contents-img,
.product-contents-img {
	position:relative;
	height:405px;
}


@media only screen and (max-width: 750px) {

  .contents-img, .product-contents-img {
    /*height: calc(100vw / 1.8);*/
    height: calc(40vw + 10px);
  }
}




.kv-catch{
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto 10%; 
}
.kv-catch-title{
  color: #fff;
	display: block;
	font-size: 26px;
	font-weight: bold;
	padding: 10px;
	text-align: left;
}
.kv-catch-text{
  color: #fff;
	display: block;
	font-size: 26px;
	font-weight: bold;
	padding: 10px;
	text-align: left;
/*	text-shadow: 1px 1px 8px #000;*/
	width: 940px;
	line-height:1.4;
}

.kv-comment-text{
  position: absolute;
  bottom: 15px;
  right: 15px;
  color: #fff;
  text-shadow: 0px 0px 1px #000;
}

.kv-catch-text.black{color: #000;}

.kv-comment-text.black-white{
  background-color: rgba(0,0,0,0.9);
  font-size: 75%;
  padding: 1ex;
}


.clearText{display:none;}
/* ----------------sidenav---------------------- */
.contents.sidenav .main-content{
	display: block;
	width: auto;
	/*min-height: 700px;*/
	margin-left: 250px;
}
.contents .main-content{
	width: auto;
	min-width: 590px;
}

.sidenav .main-content-innerwrap{
	/**/
	max-width:700px;
	padding: 65px 0px;
}

.navigation-side {
  font-size: 14px;
  float: left;
  max-width: 245px;
  margin:59px 5px 0 0;
  /*overflow-x: hidden;*/
}

.sidenav .main-content-innerwrap.pb0{
	padding-bottom: 0;
	border-bottom: none;
}

/*  ----------------------コンテンツ部分----------------------  */
.main-content-innerwrap{
	padding: 65px 0;
}
.main-content-innerwrap.pb0{
	padding-bottom: 0;
	border-bottom: none;
}
.contents .main-content.top{
	width: 100%;
	min-width: 0;
}
.main-content-lead{
	font-size: 21px;
	font-weight: bold;
	line-height: 1.5;
	margin: 0 0 55px;
	padding: 35px 30px;
	text-align: center;
	letter-spacing: 1px;
	color: #4c4c4c;
	border-top: 1px solid #cecece;
	border-bottom: 1px solid #cecece;
}


/* ---------------- title上部のナビ ---------------------- */


.page-nav-block{margin-bottom: 40px;}

#page-navi nav > ul{ padding: 0; }

.page-nav-block ul{
  display:flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: 100%;
  height: auto;
  padding: 0;
}

.page-nav-block ul .page-nav-list{
  display: block;
  box-sizing: border-box;
  background-color: #eee;
  width: 25%;
  height: 70px;
  border-right: solid 1px #FFF;
  border-bottom: solid 1px #FFF;
  margin-bottom: 0;
}

.page-nav-block ul .page-nav-list.small-text span{font-size: 10px; max-width: 86%;}



.page-nav-block.column-6 ul .page-nav-list{width: 16.6%;}
.page-nav-block.column-5 ul .page-nav-list{width: 20%;}
.page-nav-block.column-4 ul .page-nav-list{width: 25%;}
.page-nav-block.column-3 ul .page-nav-list{width: 33.3%;}
.page-nav-block.column-2 ul .page-nav-list{width: 50%;}
.page-nav-block.column-1 ul .page-nav-list{width: 100%;}

#page-navi .page-nav-list{margin-bottom: 0;}

.page-nav-block ul .page-nav-list:last-child{
  border-right: solid 1px rgba(255,255,255,0.00);
}

.page-nav-block ul .page-nav-list a{
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  padding: 5px;
  text-decoration: none;
  color: #0367b3;
  background-color: #eff4f8;
  box-sizing: border-box;
}

.page-nav-block ul .page-nav-list a:hover{
  background-color: #E2F2FF;
  text-decoration: underline;
  color: #0367b3!important;
}

.page-nav-block ul .page-nav-list a span {
    display: flex;
    padding: 10px 15px;
    position: relative;
    align-items: center;
    line-height: 1.4;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
}



.page-nav-block ul .page-nav-list a span::before {
    font-family: FontAwesome;
    content: "\f04b ";
    font-size: 0.5em;
    position: absolute;
    top: 50%;
    left: 0;
    padding-right: 5px;
    display: block;
    padding-top: inherit;
    padding-bottom: inherit;
    transform: translateY(-50%);
    height: 14px;
}

.page-nav-block .page-nav-list.current a{
  /*color: #2D98D0;*/
  pointer-events: none;
  background-color: #E2F2FF;
}

.page-nav-block ul .page-nav-list.current a span::before { display: none;}

@media screen and (max-width: 750px){
  #page-navi ul{margin-left: 0; margin-right: 0;}
  #page-navi.page-nav-block ul .page-nav-list{width: 50%; height: 50px;}
  .page-nav-block ul .page-nav-list a span { line-height: 1.1; }
  
  body.en-entransmission.bd-relay .bread_menu_content{ margin-bottom: 0; }
  
  .main-content-innerwrap .page-nav-block { margin-bottom: 15px; }
}


/* ---------------- END title上部のナビ ---------------------- */





/* ----------------title---------------------- */
#about-title {
	max-width:960px;
	width:100%;
	margin:0px auto;
	padding:20px 0;
	text-align:center;
	font-size:25px;
	line-height:1.5em;
	border-top:1px solid #231815;
	border-bottom:1px solid #231815;
}

.about-read-txt {
	max-width:960px;
	width:100%;
	margin:30px auto;
	line-height:1.5em;
	text-align: left;
  font-size:16px;
}
.about-read-txt br{
	display:none;
}

.about-read-txt.tc {
	max-width:960px;
	width:100%;
	margin:30px auto;
	line-height:1.5em;
	text-align: center;
  font-size:16px;
}

.about-read-txt.tc br{
	display: inline;
}


.title-l{
	font-size: 24px;
	font-weight: bold;
	padding-bottom: 25px;
	letter-spacing: .05em;
	color: #4c4c4c;
	border-bottom: 1px solid #d1d1d1;
	line-height:1.4;
  text-align: left;
}

.title-l + :not(.slide):first-of-type{margin-top: 28px;}








@media screen and (min-width: 751px){
  .title-l + :not(.slide):first-of-type p {margin-left: 0!important;}
}

.title-m{
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5em;
	padding-left: 26px;
	letter-spacing: .05em;
	color: #0068B7;
	border-left: 4px solid #0068B7;
	margin-top: 40px;
  text-align: left;
}
.title-s{
	font-size: 18px;
	font-weight: bold;
	color:#0068B7;
	margin: 10px 0;
  text-align: left;
}
.title-m,
.section table{
	margin: 25px 0 10px;
}
/* 追加 */
.nav-parent-title{padding: 0.5em 1em;}

.figure.imgC{
  margin-left: 0;
  margin-right: 0;
}
.word-break{
word-break: break-all;
}
/* youtube用 */
.video_tube{
  width: 100%;
  height: 395px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  border: none;
  background-color: transparent;
  
}



/* ----------------fontstyle---------------------- */
.fw_b{
    font-weight: bold;
}
/* 20200611 追加*/
span.blue-text{
    color: #0068B7;
}
/***使用ページなし***/
.lists-definition{
	font-size: 16px;
	line-height: 1.75;
	color: #555;
}
.lists-definition > *:first-child{
	margin-top: 0;
}
.lists-definition.small dt{
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: 5px;
	color: #4c4c4c;
}
.lists-definition.small dd{
	font-size: 14px;
	line-height: 1.5;
}
.lists-definition.small dd ul{
	font-size: 14px;
	line-height: 1.5;
}
.lists-definition.small dd ul li{
	padding-left: 15px;
}
.lists-definition.small dd ul li ul{
	font-size: 12px;
}
.lists-definition.small dd ul li ul li{
	padding-left: 0;
}
.lists-definition dt{
	margin-top: 25px;
	/** color: #0068B7; **/
	font-weight: bold;
}
.lists-definition dd{
	margin-bottom: 10px;
	margin-left: 1em;
}
/****ここまで****/


/***/
	.lists-definition.small dt{
		font-size: 14px;
	}
	.lists-definition.small dd{
		font-size: 14px;
	}
	.lists-definition.small dd ul li ul{
		font-size: 12px;
	}
	.lists-definition.small dd ul{
		font-size: 14px;
	}
	.lists-definition.small .lists-disc li:before{
		top: 6px;
	}
	.lists-definition{
		font-size: 14px;
	}



/* ----------------3段カラム---------------------- */
.underpages-lists.underpages-lists__arrow .thumbnail{
	height: 190px;
	background-position: center;
	background-size: cover;
}
.underpages-lists .list .thumbnail{
	background-color: #006eb8;
}

.underpages-lists.underpages-lists__arrow{
	padding: 0;
}
.underpages-lists.underpages-lists__arrow .list{
	width: 32%;
}
.underpages-lists.underpages-lists__arrow .list:nth-child(3n+1){
	clear: both;
	margin: 0;
}
.underpages-lists.underpages-lists__arrow .list:nth-child(3n+2){
	clear: none;
	margin: 0 2%;
}
.underpages-lists.underpages-lists__arrow .list:nth-child(3n){
	clear: none;
	margin: 0;
}
.underpages-lists .list{
	float: left;
	box-sizing: border-box;
}
.underpages-lists .list a{
	display: block;
	margin-bottom: 1px;
	text-decoration: none;
	color: #004e99;
}
.underpages-lists .list a .content .hover-white{
	transition: all 250ms;
}
.underpages-lists .list a:hover img{
	opacity: .75;
}
.underpages-lists .list a:hover .content .hover-white{
	color: #fff;
}
.underpages-lists .list .thumbnail{
	background-color: #006eb8;
}
.underpages-lists .list img{
	width: 100%;
	max-width: 100%;
	transition: all 250ms;
}
.underpages-lists .list .content{
	line-height: 1.25;
	position: relative;
	transition: all 250ms;
}
.underpages-lists .list .content i{
	position: absolute;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	width: 1em;
	height: 1em;
	margin: auto auto auto -14px;
}
.underpages-lists .list .content i.icon{
	margin: auto auto auto 5px;
}
.underpages-lists.underpages-lists__arrow .content .memo{
	font-size: 14px;
	transition: all 250ms;
	color: #000;
}




/**************** flex layout ******************/

/* 製品LP用追加レイアウト */
.main-content .flex-layout{ display: flex; }
.main-content .flex-layout.flex-wrap{ flex-wrap: wrap;}
.main-content .flex-layout.justify-between{ justify-content:space-between;}
.main-content .flex-layout.align-stretch{ align-items:stretch;}
.main-content .flex-layout.align-stretch{ align-content:flex-start;}
.main-content .flex-layout.flex-3column > *{
  box-sizing: border-box;
  width: calc( 33.3% - 13.3px);
  margin-bottom: 20px;
}
.main-content .flex-layout.flex-2column > *{
  box-sizing: border-box;
  width: calc( 50% - 10px);
  margin-bottom: 20px;
}
p.blue-box{
  height: 60px;
  background-color: #00a0e9;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
}

html[lang="en"] p.blue-box{
  height: auto;
  min-height: 75px;
  font-size: 18px;
  line-height: 1.3;
  padding: 3px 3px 8px;
}



.flex-layout p.blue-box{
  display: flex;
  align-content:center;
  align-items: center;
  justify-content:center;
  margin-left: 0!important;
  margin-right: 0!important;
}



/****************カラムテキスト＋写真******************/

.column_1,
.column_2,
.column_3{
  overflow-y: hidden;
}

.column.bg-none{
	background: none;
}

@media screen and (max-width: 750px){
.column .content-img img{height: auto;}
}

.column.content-img .column{
	padding: 0;
	border: none;
}
.column_1{
	width: 100%;
	box-sizing:border-box;
}
.column_1.content-img .column{
	padding: 0;
	border: none;
}
.column_2:after{
	display: table;
	clear: both;
	content: '';
}
.column_2 .column{
  float: left;
  /* width: 49.166666666666664%; */
  width: calc( 50% - 10px );
  
}
.column_2 .column.ml{
	margin-left: 1.6666666666666667%;
}
.column_2 .column img{
	width: 100%;
}
.column_2.no_mb .column{
	margin-bottom: 0;
}
.column_2.content-img.margin-l .column{
	width: 47%;
}
.column_2.content-img.margin-l .column img{
	width: 100%;
	height:auto;
}
.column_2.content-img.margin-l .column.ml{
	margin-left: 6%;
}
.column_2.content-img .column{
	padding: 0;
	border: none;
}
.column_3.content-img .column{
	padding: 0;
	border: none;
}
.column_3:after{
	display: table;
	clear: both;
	content: '';
}
.column_3 .column{
	float: left;
	width: 32.2%;
}

.column_3 .column.ml{
	margin-left: 1.6666666666666667%;
}
.column_4:after{
	display: table;
	clear: both;
	content: '';
}
.column_4 .column{
	float: left;
	width: 23.75%;
}
.column_4 .column.ml{
	margin-left: 1.6666666666666667%;
}
.column_flex{
	display: -webkit-flex;
	/* Safari */
	display: -ms-flexbox;
	display:		 flex;
	-webkit-justify-content: space-between;
	/* Safari */
	-ms-flex-pack: justify;
			justify-content: space-between;
}

.column_flex .item{
	display: block;
	padding: 10px;
	background-color: #f2f2f2;
}




/* カスタムフィールド　共通 */


table.normal-table {
	width: 100%;
	border-top: 1px solid #CCCCCC;
	border-left: 1px solid #CCCCCC;
	border-spacing: 0;
	border-collapse: collapse;
	line-height: 1.6;
}
table.normal-table.auto {
	width: auto;
}
table.normal-table thead th {
	background: #E1EAF5;
}
table.normal-table th {
	background: #F1F1F1;
}
table.normal-table thead th,
table.normal-table th,
table.normal-table td {
	padding: 5px;
}
table.normal-table th,
table.normal-table td {
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
}
table caption{
  display: none;
}

/*

年表崩れ防止

*/

table tr .cell-year{width: 5em; text-align: center;}



/*
  募集要項で仕様する「：」対応のフォーマット
　疑似テーブル

*/
.mock-table{display: table; table-layout: fixed}
.mock-table .mock-tb-row{display: table-row;}
.mock-table .tb-cell{
  display: table-cell;
  box-sizing: border-box;
  padding: 0.5em;
}
          
.requirements{
  overflow: hidden;
}
          
.mock-table .tb-column-left{
  position: relative;
  padding-right: 2em;
  width: 100px;
}

/* 左が長い場合 */
.mock-table.lc-150 .tb-column-left{
  position: relative;
  padding-right: 1em;
  width: 150px;
}

.mock-table.disc .tb-column-left::before{
  content:"●" ;
  margin-right: 1ex;
}

         
.tb-column-left::after{
  content: "：";
  position: absolute;
  right: 0;
}

.mock-table .tb-column-right{
  text-align: justify;
}



/*
　END
  募集要項で仕様する「：」対応のフォーマット
　疑似テーブル

*/



/* END カスタムフィールド共通 */


/* トピックス・プレスリリースの関連記事 */
#related-post-block .bx-wrapper {
  /* 余計な効果を外す */
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
}

#related-post-block .bx-wrapper li{
  width: calc( (268px * 3) / 3 )!important  ;
  margin-right: 10px;
}

#related-post-block .bx-wrapper li:last-child{
  margin-right: 0;
}

#related-post-block .bx-wrapper li a{display: block;}

#related-post-block .bx-wrapper li .related-post-contents{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 15px;
  box-sizing: border-box;
  background: linear-gradient(to bottom,rgba(48,48,48,0.9),rgba(48,48,48,0.7),rgba(48,48,48,0.2),rgba(0,0,0,0));
  /*
  background-color: rgba(0,0,0,0.50);
  color: #FFF;
  display: block;
  font-weight: bold;
  width: 100%;
  height: 70px;
  overflow: hidden;
  box-sizing: border-box;
  padding: 10px;
  */
  
}
@media screen and (min-width: 751px){
  #related-post-block .bx-wrapper li a:hover .related-post-contents{
    /*background-color: rgba(0,0,0,0.5);*/
    background: linear-gradient(to bottom,rgba(48,48,48,0.5),rgba(48,48,48,0.3),rgba(48,48,48,0.1),rgba(0,0,0,0));
    background-color: rgba(255,255,255,0.3);
    transition: all 500ms;
  }
}

.related-post-caption {
  color: #FFF;
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 1.6em;
  /*font-weight: bold;*/
  text-shadow: 1px 1px 4px #000;
}

#related-post-block .bx-wrapper li a{text-decoration: none;}

@media screen and (max-width: 750px){
  #related-post-block{text-align: center;}
  #related-post-block .art-text{text-align: left;}
  #related-post-block .bx-wrapper{display: inline-block; text-align: left;}
  #related-post-block .bx-wrapper li a{text-decoration: none!important;}
  #related-post-block .bx-wrapper li a:hover{text-decoration: none!important;}
  
}




@media screen and (min-width: 751px){
.main-content-innerwrap > p{margin-left: 30px;}
.main-content .slide + p:first-of-type{margin: auto 0!important;}
.main-content .column{text-align: justify;}
/*.main-content .column span{text-align: left;}*/

.main-content .main-content-innerwrap > div[class^="ml-"]{margin-left: 0;}
.main-content > .ml-s:not(.column) {margin-left: 0!important;}
.main-content .main-content-innerwrap div:not([class^="column"]) p{margin-left: 30px;}
.main-content .main-content-innerwrap .tag-area p{margin-left: 0!important;}
.main-content .main-content-innerwrap div:not([class^="column"]) .title-s{margin-left: 30px!important;}
.main-content .main-content-innerwrap div:not([class^="column"]) .title-xs{margin-left: 30px!important;}
 
.main-content .main-content-innerwrap div:not([class^="column"]) .title-s{margin-left: 30px!important;}
  
.main-content .main-content-innerwrap div[class^="column"] div:not([class^="column"]) .title-s{margin-left: 0!important;}
.main-content .column p{margin-left: 0!important;}
.main-content .column .title-s{margin-left: 0!important;}
.main-content [class^="column_"] > p{margin-bottom: 10px;}
.main-content [class^="column_"] :not([class^="column"]) p{margin-bottom: 10px;}
.main-content [class^="column_"] :not([class^="column"]) p:last-child{margin-bottom: 20px;}
.main-content .main-content-innerwrap :not([class^="column"]) .imgC{margin-left: 30px;}
.main-content li p{margin-left: 0!important;}
.main-content ul {padding-left: 1em;}
.main-content ol {padding-left: 1em;}
.main-content .main-content-innerwrap > figure {margin-left: 30px;}
.main-content .main-content-innerwrap .nav-btn{padding-left: 0!important;}
/*.main-content .main-content-innerwrap ul.fa-ul{padding-left:0; margin-left: 0;}*/
.main-content .main-content-innerwrap .no_mb > p{margin-left: 0;}
.main-content .main-content-innerwrap :not([class^="column"]) > ul:not([class^="lists"]) li {margin-bottom: 15px;}
.main-content .main-content-innerwrap :not([class^="column"]) > ul li p{padding-left: 1em;}
body:not(.bd-archives) .main-content .main-content-innerwrap :not([class^="column"]) > ul li p::first-letter{margin-left: -1em!important;}
.main-content .main-content-innerwrap :not([class^="column_"]) .column{margin-left: 0;}
.main-content .column_3 .column:nth-of-type(3n-1),
.main-content .column_3 .column:nth-of-type(3n){margin-left: 10px;}
.main-content .column_2 .column:nth-of-type(2n){margin-left: 20px;}
  
  .main-content .column_1,
  .main-content .column_2,
  .main-content .column_3{margin-bottom: 30px!important}
  
  .main-content .main-content-innerwrap > .column_1,
  .main-content .main-content-innerwrap > .column_2,
  .main-content .main-content-innerwrap > .column_3{
    margin-left: 30px;
    width: calc(100% - 30px);
    overflow: hidden;
  }
  

  
  
  .main-content .main-content-innerwrap > .title-m{margin: 50px 0 30px!important ;}
  .main-content .main-content-innerwrap div[class^="column_"] .title-m{margin: 0 0 30px!important ;}
  
  
.main-content [class^="column_"] > .title-s:first-child{margin: 0 0 15px!important;}
.main-content [class^="column_"] > .title-s:not(:first-child){margin: 30px 0 15px!important;}
  
  .main-content [class^="column_"] > .title-s:not(:first-child){margin: 30px 0 15px!important;}
  
  .main-content .main-content-innerwrap .column_2 .column > .title-s{margin-left: 0!important;}

  
  
  
/* 共通 */
.main-content [class^="column_"] .scroll{margin-left: 0!important;}
.main-content [class^="column_"] ul.fa-ul li > p{margin-bottom: 0!important;} 
.main-content [class^="column_"] ul.fa-ul > li {
  padding-left: 20px;
  margin-bottom: 0!important;
  } 
/** ボタン **/
.gray_btn{
  background-color:#CCCCCC;
  padding:10px 20px;
  font-weight: bold;
}
.gray_btn:link{
  text-decoration: none;
  color: #000;
}
.gray_btn:hover{
  opacity:0.8;
}

  
  /* 研究開発 */
.main-content [class^="column_"]{margin-left:30px;}
.main-content [class^="column_"] > .title-s{margin-left:0;}
.main-content [class^="column_"] > p{margin-left:0;}
.main-content [class^="column_"] .column > p{margin-bottom:20px;}
  
.main-content [class^="column_"] > p{margin-bottom:20px;}  
  

body.bd-rd .main-content [class^="column_"] > p:last-of-type{margin-bottom: 0!important;} 
.main-content [class^="column_"] > p.normal{margin-bottom: 15px!important;} 

.contents.sidenav .contents-full [class^="column_"]{
  margin-left:30px;
  width: calc(100% - 30px);
}
  
  .contents.sidenav .contents-full:last-of-type{padding-bottom: 65px;}
  
  
body.bd-rd .main-content .main-content-innerwrap div:not([class^="column"]){margin-left: 25px;}
.page .main-content .main-content-innerwrap .slide{margin-left:0px!important;}

  /* 共通UL */
  .main-content .left-fit-space{margin-left: 0!important; padding-left: -5px!important;}
  .main-content .bracketNumber{
    margin-left: 0;
    margin-bottom: 5px !important;
    padding-left: 25px;
    counter-increment: section;
    box-sizing: padding-box;
    position: relative;
    line-height: 1.7;
    font-size: 93%;
  }
  .main-content .bracketNumber::before {
    content: "（" counter(section) "）";
    position: absolute;
    left:-5px;
  }
  

  body.bd-rd .main-content .main-content-innerwrap :not([class^="column"]) > div,
  body.bd-rd .main-content .main-content-innerwrap :not([class^="column"]) > .title-s,
  body.bd-rd .main-content .main-content-innerwrap :not([class^="column"]) > .title-xs,
  body.bd-rd .main-content .main-content-innerwrap :not([class^="column"]) > ul,
  body.bd-rd .main-content .main-content-innerwrap :not([class^="column"]) > p{margin-left: 0!important;}
  body.bd-rd .main-content .main-content-innerwrap :not([class^="column"]) > div p{margin-left: 0!important;}
  
  
  /* 実績 */
  body.en .g_base_image_area .g_base_status {
    padding: 10px 10px;
    line-height: 1em;
    font-size: 1em;
    min-width: 50px;
    width: auto;
    height: auto;
    text-align: left;
  }
  
  
  /* トピックス */
  body.topics .main-content .title-s,body.topics .main-content .title-xs{margin-left:30px;}
  body.topics .main-content .section_fix figure{margin-left:0;}
  body.topics .main-content .section_fix figure figcaption{margin-left:0;}
  body.topics .main-content .section_fix p{margin-left:0;}
  body.topics .main-content .section_fix img{margin-left:0;}
  body.topics .main-content .column_2{margin-left:30px;}
  body.topics .main-content .column_2 > .title-s,
  body.topics .main-content .column_2 > .title-xs{margin-left:0;}
  body.topics .main-content .column_2 > .title-m{margin-left:-30px;}
  body.topics .main-content .section_fix{margin-left: 30px;}
  body.topics .main-content .section_fix div{margin-left: 0!important;} 
  body.topics .main-content .section_fix .has_frame iframe{max-width: 100%!important;}
  
  

  /* CSR FIX */
  .main-content .main-content-innerwrap .img-box,
  .main-content .main-content-innerwrap .img-box02,
  .main-content .main-content-innerwrap .img-box03{
    margin-left: 30px;
    width: calc( 100% - 30px );
    overflow: hidden;
  }
  
  /* press */
  body.bd-info-document .main-content .section_fix{margin-left: 30px; width: calc( 100% - 30px ); overflow: hidden;}
  body.bd-info-document .main-content .section_fix figure figcaption{margin-left:0;}
  body.bd-info-document .main-content .section_fix p{margin-left:0;}
  body.bd-info-document .main-content .section_fix img{margin-left:0;}
  body.bd-info-document .main-content .main-content-innerwrap #articleArea > h4{margin-left: 30px!important;}
  body.bd-info-document .main-content .section_fix .video_tube { width: 100%;}
  
  /* 社長メッセージ */
  body.bd-msg .main-content .message-box > p{margin-left: 0;}
  
  
  /* 環境活動 FIX */
  .main-content .message-box > table,
  .main-content .message-box > figure{margin-left: 30px;}
  .main-content .basis{margin-left: 30px;}
  .main-content .basis .basis-inner .basis-text{padding-left: 10px;}
  body.bd-env .main-content .message-box > ol {margin-left: 30px;}
  
  /* 拠点情報 */
  .main-content .cell-list{margin-left: 30px; width: calc( 100% - 30px );}
  .main-content .cell-list .list > p{margin-left: 10px!important;}
}


/* トピックスの追加 2019-01-21 */

.main-view-area{margin: 0; padding: 0; display: block;}


#post .contents-outer-wrap.full-screen-mode .fix-view{
  position: static;
}

.fix-info-block a.bt-info-pagelink,
.info-block a.bt-info-pagelink{
  display: block;
  box-sizing: border-box;
  margin: auto;
  padding: 0.8em 15px;
  border-radius: 40px;
  text-align: center;
  background-color: rgba(0,160,233,0.85);
  color: #FFF!important;
  font-weight: normal;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 3px 3px 10px -4px rgba(0,0,0,0.8);
  border: solid 1px rgba(236,236,236,0.7);
}
  
  
@media screen and (min-width: 751px){
  
  .fix-info-block.fix:not(.no-fix) .fix-view{
    width: 960px;
    position: fixed;
    z-index: 99999;
    bottom: 12.5px;
  }
  
  .page .fix-view{
    display: block;
    box-sizing: border-box;
    padding-left: 240px;
  }
 
   .fix-view a.bt-info-pagelink{
    font-size: 22px;
    width: 100%;
  }
  
   .fix-view a.bt-info-pagelink:hover{
    background-color: rgba(0,160,233,1.0);
    color: #FFF!important;
  }
  
}
  
@media screen and (max-width: 750px){
  .fix-view a.bt-info-pagelink {
    width: calc(100% - 80px);
    margin-left: 10px;
     background-color: rgba(0,160,233,1.0);
  }
  
  /*.fix-info-block.no-fix{display: none;}*/
  .fix-info-block.no-fix .fix-view a.bt-info-pagelink{width: calc(100% - 20px);}
  
  .fix-info-block.fix:not(.no-fix) .fix-view{
    position: fixed;
    width: 100%;
    bottom: 5px;
  }
  

  
  .info-block .fix-view{ display: none; }
  
  .info-block.visible .fix-view{
    display: block;
    width: 100%;
  }
  
  .info-block.visible .fix-view a.bt-info-pagelink{
    margin: auto;
  }
  
  
  
}

/* END トピックスの追加 2019-01-21 */

/*  ---------------------750px以下の処理------------------- */
@media screen and (max-width: 750px){
	.top-kv-block{
		height: 210px;
	}
	 .kv-catch{
		width: 90%;
		height: 145px;
		margin: auto 5%;
	}
   .kv-catch-title{
	  font-size: 24px;
	  padding: 20px 10px 10px;
  }
   .kv-catch-text{
	  font-size: 20px;
	  padding: 5px;
	  width:calc(100% - 10px);
  }
	.kv-catch img{
		width:100%;
	}

 	.tag-area {
		width:96%;
		margin:0px auto 16px;
	}
	.tag-text{
		margin:0
	}

	/* ----------------sidenav---------------------- */
	.navigation-side {
	    font-size: 14px;
	    float:none!important;
	    max-width:none;
	    width:100%;
	    /*margin: 59px 0 0 0;*/
	}
	.navigation-side{
		display: none !important;
	}
	.sidenav {
    padding: 15px 0 0 0;
	}

  
	/* ----------------slider---------------------- */
  .bx-wrapper .bx-pager.bx-default-pager,
  .slide .slide-nav {display: none;}
  
  
/*  ----------------------コンテンツ部分----------------------  */
	.contents.sidenav .main-content{
		min-width: 100%;
		min-height: auto;
		margin-left: 0;
		border-left: none;
	}
	.contents .main-content{
		min-width: auto;
	}
	.contents.etc.sidenav .main-content{
		padding-top: 33px;
	}

  .main-content-innerwrap,
	.sidenav .main-content-innerwrap{
		padding: 0 0 30px 0;
    max-width: initial;
	}
	.main-content-lead{
		font-size: 16px;
		margin: 0 0 0;
		padding: 15px;
	}
	.main-content-lead br{
		display: none;
	}

/* ----------------title---------------------- */
	#about-title,
	.about-read-txt {
		font-size:20px;
		width:96%;
		text-align: left;
	}

	.about-read-txt {
		font-size:16px;
	}
	.title-m,
	.text-m,
	.section tabl{
		margin: 12px 0;
	}
	.title-m.ml-m{
		margin-left: 15px;
	}
	.title-l{
		font-size: 20px;
		font-weight: bold;
		padding:20px 0;
		color: #4c4c4c;
		width:96%;
		margin:0 auto;
	}
	.title-m{
		font-size: 18px;
		padding-left: 6px;
    padding-right: 10px;
		margin:20px 0;
	}
	.title-s{
		font-size: 16px;
		margin-left:10px;
    margin-right: 10px;
    }
  
  /* youtube用 */
  .video_tube{
    width: 100% !important;
    height: 56.25vw!important;

  }


/*  ----------------------コンテンツ部分----------------------  */

  
  .slide + p{
    margin-left:10px;
    margin-right:10px;
  }
  
  .title-l + :not(.slide):first-of-type p {
    margin-left: 10px !important;
    margin-right: 10px !important;
    width: calc( 100% -20px );
  }
  
  .main-content-innerwrap p{
    margin-left:10px;
    margin-right:10px;
  }
  
  .contents p{
    margin-left:10px;
    margin-right:10px;
  }
  
  .column_1 p,.column_2 p,.column_3 p{
    margin-left:10px;
    margin-right:10px;
  }

  .column p{
	margin-left:10px;
	margin-right:10px;
  }  

  .bxslider-top{margin: 0!important;}
  
  .column_2 > .title-s{
    margin-left:10px;
    margin-right:10px;
  }
  
.article-sec ul li {
	width: 278px;
	position: relative;
}
.article-sec ul li p{
	position: absolute;
	left: 0;
	bottom: 0em;
	color: #fff;
	margin: 0;
	padding: 5px 0 5px 3%;
	width: 97%;
	background: #000;
	background-color: rgba( 0, 0, 0, 0.5 );
}
.article-sec ul li a {
	text-decoration: none;
}
.article-sec ul li a:hover p{
	text-decoration: underline;
}


  /* 共通UL */
  .main-content .left-fit-space{margin-left: 0!important; padding-left:1em; box-sizing: border-box; margin-bottom: 10px;}
  .main-content .bracketNumber{
    margin-left: 0;
    margin-bottom: 5px !important;
    padding-left: 25px;
    counter-increment: section;
    box-sizing: padding-box;
    position: relative;
    line-height: 1.7;
    font-size: 93%;
  }
  
    .main-content .bracketNumber::before {
    content: "（" counter(section) "）";
    position: absolute;
    left:-5px;
  }  
  
  
  
  
  
/* ----------------3段カラム---------------------- */
	.underpages-lists.underpages-lists__arrow .thumbnail{
		display: table-cell;
		width: 140px;
		height: 140px;
	}
	.underpages-lists.underpages-lists__arrow .list{
		clear: both;
		width: 100%;
		margin: 0 0 10px 0 !important;
	}
	.underpages-lists.underpages-lists__arrow .list a{
		display: table;
		width: 100%;
		height: 100px;
	}
	.underpages-lists.underpages-lists__arrow .list .thumbnail{
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
	}
	.underpages-lists.underpages-lists__arrow .list:hover .memo{
		color: #000;
	}
	.underpages-lists .list{
		float: none;
		margin: auto;
		margin-bottom: 15px;
	}
	.underpages-lists .list a:hover img{
		opacity: 1;
	}
	.underpages-lists .list a:hover .content{
		color: #006eb8;
		background-color: #fff;
	}
	.underpages-lists.underpages-lists__arrow .content .memo{
		font-size: 11px;
		transition: all 250ms;
		color: #000;
	}
	.underpages-lists .list .content{
		margin-left:10px;
	}

/****************カラムテキスト＋写真******************/
	.column{
		margin-bottom: 15px;
	}
  
  /*
  .main-content .column_1 p:last-child,
  .main-content .column_2 p:last-child,
  .main-content .column_3 p:last-child{margin-bottom: 10px!important;}
  */
  
	.column_2.content-img.margin-l .column{
		width: 100%;
	}
	.column_2.content-img.margin-l .column.ml{
		margin-left: 0;
	}
	.column_2.content-img .column{
		width: 100%;
	}
	.column_2.content-img .column.ml{
		margin-left: 0;
	}
  


	.main-content .column_1 .column,
  .main-content .column_2 .column,
  .main-content .column_3 .column,
  .main-content .column_4 .column,
  .main-content .column_4 .ml{
	    float: none;
	    width: 100%!important;
	    margin:0 auto!important
	}
  
  .main-content .column_2 .column.ml{margin-top: 10px!important;}
  
  
	.column_2 .column img{
		width: 100%;
		/*max-width:379px;*/
		margin:0 auto;
	}
	.column_2 {
	    margin-left: 0px;
	}
  
  
  .main-content .column ol,
  .main-content .column ul {padding-left: 20px;}
  .main-content .column li p{margin-left: 0;}
  
  
  /* csr */
  .main-content .csr-imgbox{width: 100%;}
  
  /* 環境活動 */
  .main-content .message-box table{}
  
  
  

  
  
  
  
  
  

	/* -----------ナビゲーションは非表示-------------- */
	#foot-wrap {
		display:none;
	}
	
	/* -----------ローカルナビゲーション-------------- */
	.page-nav-2nd{
		width: 100%;
		background-color:#EEF4F7;
		margin-bottom:-40px;
	}
	.page-nav-2nd h3 {
	  font-size: 16px;
	  font-weight: bold;
	  line-height: 1.5em;
	  padding-left: 10px;
	  letter-spacing: .05em;
	  color: #0068B7;
	  border-left: 4px solid #0068B7;
	  padding-top: 10px;
		margin-bottom:10px;
	}
	.page-nav-2nd ul{
		padding-left:10px;
	}
	.page-nav-2nd ul li{
	}
	.page-nav-2nd ul li span .fa-li ,
	.page-nav-2nd ul li a .fa-li {
    top: calc(0.14285714em + 10px);
   }
	.page-nav-2nd ul li a{
		padding:10px;
		display:block;
		text-decoration:none;
	}
	.page-nav-2nd ul li span{
		display:block;
		padding:10px;
	}
	.page-nav-2nd ul li.active{
		color:#0068B7;
		font-weight:bold;
	}

}

@media screen and (max-width: 480px){
  .sp_480_only{ display: inline-block; width: 100%;}
}


@media print{
  .main-content .column_2{overflow-y: hidden!important;}
  .main-content .column_2 .column{height: auto!important;}
  
  .main-content .left-fit-space{padding-left: 20px;}
}

/* 20200722 追加 */
a.gray_btnlink{
	padding: 10px 20px;
	display: block;
	background-color: #cccccc;
}
figure.pc-w50{
	width: 50%;
	margin: 0 auto;
}
figure.pc-w75{
	width: 75%;
	margin: 0 auto;
}
@media screen and (max-width: 750px){
	figure.pc-w50,
	figure.pc-w75{
		width: 100%;
	}
}
figcaption.link-external::after{
  position: relative;
  content: url(/common/image/icon_otherwindow_s.png);
  display: inline;
  margin-left: 5px;
  vertical-align: middle;
}
figcaption.tc{
	text-align: center;
}