@charset "utf-8";


/***********************************

以下、通常のcustom.cssにしたいcss

************************************/

/***********************************

全体カラー

************************************/
body {
	font-family: "Century Gothic",Arial,sans-serif;
}


/*----------------------------------
ヘッダロゴ背景
----------------------------------*/
#header_wrap {
	background: #fff;}

@media screen and (max-width: 640px) {
  body {/*　指定箇所が無いのでbodyに挿入　*/
		background: #f5f5f5;
	}

}


/*----------------------------------
ヘッダーロゴ　640×100の画像を使用した場合
----------------------------------*/
#logo img{/**　ＰＣロゴ調整　**/
	margin: 19px 0 0 0;
	width: 67%;}

@media screen and (min-width: 641px) {
  #header_logo_wrap {
    height: 140px;
	}
}

@media screen and (max-width: 640px){/**　スマホロゴ調整　**/
  #logo_sm {
    width: 85%;
	  margin: 0 auto;
    padding: 20px 0 0 0;}
}


/*----------------------------------
フッダーロゴ
----------------------------------*/
#footer .footer_logo img {/** フッダーロゴ調整 1 **/
  width: 400px;}

#footer .header_banner{/** フッダーロゴ調整 2 **/
  margin-top: 10px;}


/*----------------------------------
フッダーメニュー（項目が多いので、PC時のみ2列にレイアウト）
----------------------------------*/
@media screen and (min-width: 641px) {
  #footer .footer_menu {
    width: 490px;
	}
  #footer .footer_menu ul {
    column-count: 2;
	}
}



/*----------------------------------
サイト説明文部分
----------------------------------*/
#desc_wrap {
	background: #ddd;/*説明文背景*/}  

#site_description {
  color: #333;/*説明文テキスト*/}

@media screen and (min-width: 641px) {
  #site_description {
    color: #333;/*説明文テキスト*/
	  width: 75%;
  }
}


@media screen and (max-width: 640px) {/*スマホ*/
#header{
	background: #999;/*説明文背景*/}

.title_text{
	color: #fff;/*説明文テキスト*/}
}


/*----------------------------------
グローバルメニュー
----------------------------------*/
#menu_wrap {
	background: #d01220;/*全体背景色*/
	border-color: #fff;/*区切り線*/}

#global_menu {
  border-right: 1px solid #fff;/*区切り線右*/}

#global_menu li a {
  border-left: 1px solid #fff;/*区切り線左*/
	background: #d01220;/*ボタン背景色*/
	color: #fff;/*文字色*/}

#global_menu li a:hover {
  background: #b81b26;/*ボタンロールオーバー色*/
	color: #fff;/*ボタンロールオーバー文字色*/}


/**** 背景を白にした場合にできる下部の隙間の調整 ****/
/*
@media screen and (min-width: 641px) {
	#global_menu {
		height: 48px;}
  #global_menu li a {
    height: 48px;
		line-height: 48px;}
}
*/



@media screen and (max-width: 640px) {
/**** 折りたたみメニュー ****/

/**** メニューボタン ****/
#header a.menu_button {
	color: #fff;
	border: 1px solid #fff;
	background: #111;}

#header a.menu_button:hover,
#header a.menu_button:active {
	background: #333;}


/**** グローバルメニュー ****/

#global_menu li a {
	border-color: #999;
	background: #fff url(./img/arrow4.png) no-repeat 20px;
	color: #333;}

#global_menu li a:hover {
	color: #666;
	background: #EFF4F5 url(./img/arrow4.png) no-repeat 20px;}

}

/*----------------------------------
電話番号・お問い合わせ・住所
----------------------------------*/
.header_banner.pc.clearfix {
    padding-top: 5px;
}

/*----------------------------------
パンくずリスト
----------------------------------*/
#breadcrumb {
	margin-bottom: 1.5em;
}

/*----------------------------------
イメージロールオーバー
----------------------------------*/
/** index　メインビジュアル1枚でロールオーバー（リンク）なし**/　
#recommend_gallery a:hover img,
.rs-slider > li > a:hover img{
	opacity: 1.0;
	cursor: default;}



/*----------------------------------
ピックアップ
----------------------------------*/
#index_pickup .headline1 {/*ピックアップヘッダ*/
  color: #ccc;
  background: #222;}



/*----------------------------------
ページタイトルヘッダー　※下層も含む
----------------------------------*/
#main_col .headline1,
.headline2,
.headline3{
  background: #fff;
  color: #2b2b2b;}

#main_col .headline1,
.headline2{
	border-left: 7px solid #666;
	border-bottom: 2px solid #999;}

.headline3{
	border-left: 7px solid #666;
	border-bottom: 2px solid #999;
	border-top: none;}


@media screen and (max-width: 640px) {
  #main_col .headline1,
  .headline2,
  .headline3{/*トップ・他　調整*/
	  border-left: none;/*左線の削除*/}

  #main_col .headline1,
  .headline2,
  .headline3{
	  border-left: none;/*左線の削除*/}


}


/*----------------------------------
サイドナビ
----------------------------------*/

/*　余白なしのカテゴリメニュー　*/
#side_col .barb_side_widget:nth-child(1),
#side_col .barb_side_widget:nth-child(2),
#side_col .barb_side_widget:nth-child(3),
#side_col .barb_side_widget:nth-child(10),
#side_col .barb_side_widget:nth-child(11),
#side_col .barb_side_widget:nth-child(12),
#side_col .barb_side_widget:nth-child(13),
#side_col .barb_side_widget:nth-child(14),
#side_col .barb_side_widget:nth-child(15),
#side_col .barb_side_widget:nth-child(25),
#side_col .barb_side_widget:nth-child(26),
#side_col .barb_side_widget:nth-child(27),
#side_col .barb_side_widget:nth-child(33),
#side_col .barb_side_widget:nth-child(34),
#side_col .barb_side_widget:nth-child(35),
#side_col .barb_side_widget:nth-child(36),
#side_col .barb_side_widget:nth-child(37) {
  margin-bottom: 0;
}

@media screen and (max-width: 640px) {
  #side_col{/*　スマホでサイドナビを表示しない場合　*/
	  display: none;}
}
#side_col .barb_side_widget {
	margin-bottom: 10px;
}
/*----------------------------------
フッダー
----------------------------------*/
#footer_wrap {
   background: #eee;/*フッダー背景色*/}

#footer {
    color: #333;/*フッダーテキストカラー*/}

/*.footer_headline {
    background: #0985E5;
    color: #333;}*/

#footer li a,
#footer li a:visited {
    color: #333;
	border-bottom: 1px dotted #666;}

#footer li a:hover{
    color: #999;}

#copyright {
    background:#999;/*コピーライト背景*/
    color: #f5f5f5;/*コピーライトテキスト*/}

#copyright a {
    color: #f5f5f5;/*コピーライトリンクテキスト*/}

/*　スマホの時だけ背景を変える場合　*/
/*
@media screen and (max-width: 640px) {
  #footer_wrap {
	  background: #fdf7ed;
	  border-top: none;}
}
*/



/*----------------------------------
テキストリンクカラー
----------------------------------*/
a, a:visited {
  color: #3F7985;}

a:hover {
  color: #24434A;}

/*----------------------------------
ページナビ
----------------------------------*/
.page_navi a{/*** テキスト、ボタン色 **/
	color: #fff;
	background: #333;}

.page_navi a:hover{/*** ロールオーバーボタン色 **/
	background: #990000;}


/*----------------------------------
記事一覧
----------------------------------*/
#featured_post .post1,
#featured_post ul.post2,
#featured_post ul.post3 {
  border: none;
}

#featured_post ul.post2 {
  padding-bottom: 0;
}

.barb_cont_wrap.iso {
  padding-top: 15px;
}
.barb_cont_wrap.iso .flex-box1 img {
	margin-bottom: 5px;
}

@media only screen and (min-width:641px) {

/** 広告バナーと見出し間の余白調整 **/
	/*
  #main_col #featured_post h3.headline1 {
    margin-top: 40px;
  }
	*/

/** タイトル改行防止 **/
	#recent_post .title {
		font-size: 13.8px;
	}

/** 参加団体バナー **/
	.barb_cont_wrap.iso .flex-box1 {
	  margin: 15px auto 0 auto;
		text-align: center;
		font-size: .9em;
  }
	.barb_cont_wrap.iso .flex-box1 li {
		width: 25%;
  }

  #post_list .image_area {
	margin: 0 0 0 0;
  }
  #post_list a.image img {
    /* width: 100%;
    height: auto; */
  }
}
@media screen and (max-width: 640px) {
	#post_list a.image img {
        width: 100%;
        height: auto;
        width: auto;
        max-height: 360px;
        max-width: 100%;
	}

}


@media screen and (max-width: 640px) {
	#footer_banner li img {
		width: 80%;
		height: auto;
	}
	.barb_cont_wrap.iso .flex-box1 {
	  width: 100%;
	  margin: 15px auto 0 auto;
  	}
  	.barb_cont_wrap.iso .flex-box1 li {
  	  text-align: center;
  	}
	.barb_cont_wrap.iso img {
		width: 90%;
		height: auto;
	}
	.barb_cont_wrap.iso a span {
    font-size: .8em;
  }
}


/*----------------------------------
トップ中央の製品情報
----------------------------------*/
.top-item {
  display: flex;
  display: -ms-flexbox;/*--- IE10 ---*/
  display: -webkit-flex;/*--- safari ---*/
  justify-content: space-between;
	-ms-justify-content: space-between;/*--- IE10 ---*/
  -webkit-justify-content: space-between;/*--- safari ---*/
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

@media only screen and (min-width:641px) {
  .top-item {
	  width: 720px;
		margin: 15px auto 28px auto;
  }
	.top-item > div {
		width: 232px;
		margin-bottom: 12px;
	}
	.top-item img {
		width: 232px;
		height: auto;
	}
}

@media screen and (max-width: 640px) {
  .top-item {
	  width: 94%;
    margin: 15px auto -10px auto;
  }
	.top-item > div {
		width: 48.5%;
	}
	.top-item img {
		width: 100%;
		height: auto;
		margin-bottom: 10px;
	}
	/*
  .top-item {
	  width: 100%;
	  flex-direction: column;
		-ms-flex-direction: column;
		-webkit-flex-direction: column;
		padding: 15px 0 0 0;
  }
	.top-item > div {
		padding: 0 15px 15px 15px;
	}
	.top-item img {
		width: 100%;
		height: auto;
	}
	*/
}


/***********************************

下層レイアウト

************************************/
/*----------------------------------
下層段落枠　※変更不可
----------------------------------*/
@media only screen and (min-width:641px) {
  #under{
	  overflow:hidden;
	  margin: 0 0 -40px 0;}/*下層の空調整*/
  }


@media only screen and (max-width:640px) {
  #under{
	  overflow:hidden;
	  margin: 10px 0 0 0;}/*下層の空調整*/
  }

.under_contents{
	width: 100%;
	margin: 0 0 50px 0;
	clear: both;
	overflow: hidden;
	line-height: 1.7;}


p{/*下層　汎用*/
  margin: 0;
	padding: 0;
	line-height: 1.7;}



/*----------------------------------
テーブル設定　※変更不可　色とthの％は変更又は上書き可
----------------------------------*/
/*** table 元スタイル打消し ****/
.post table {
	border: none;
	margin: 0;}

.post td,
.post th {
	border: none;
	padding: 0;}

.post th {
  background: #eee;
  font-weight:/*normal*/bold;}

@media only screen and (max-width:480px) {
  tbody tr{
	  display: table-row;/******/
	  margin-bottom: 0;}

  tbody th,
  tbody td{
	  display: table-cell;
	  list-style-type: none;
	  border: none;}
}


/*******  テーブル再設定　*******/
.under_contents table{
	width: 100%;
	border-collapse: inherit;
	border-spacing: 0;
	border-top: 1px solid #c1c1c1;
	border-left: 1px solid #c1c1c1;
	margin-bottom: 20px;}

.under_contents table td,
.under_contents table th{
	border-right: 1px solid #c1c1c1;
	border-bottom: 1px solid #c1c1c1;
	padding: 10px;
	/*white-space: nowrap;*/}

.under_contents table th{
	width: 30%;}

.under_contents table td span{
	padding: 0 0 0 0;}

@media only screen and (max-width:480px) {
  .under_contents table{
	  font-size: 12px;
	  line-height: 1.7;}

}

.under_contents .media_archive {
	text-align: right;
}

caption {
  text-align: left;
  font-weight: bold;
  color: #004BA8;
	margin: .2em 0 .3em .1em;
  font-size: 1.1em;
}

/* th幅40%の時 */
.under_contents table.w40 th {
	width: 40%;}


/* 下線のみのバージョン */
.under_contents table.only-bottom,
.under_contents table.only-bottom th,
.under_contents table.only-bottom td {
	border: none;
}
.under_contents table.only-bottom th,
.under_contents table.only-bottom td {
  border-bottom :1px solid #999;
}
.under_contents table.only-bottom th {
  background: none;
  font-weight: normal;
  text-align: left;
}


/*----------------------------------
テーブル設定　レスポンシブ基本ソース
----------------------------------*/
/****
レスポンシブしたいtableの外側に
<div class="ph_responsive">を入れてください
****/

@media only screen and (max-width:640px) {
	/*
  .ph_responsive{
	  margin: 0 0 -20px 0;}
	  */

  .ph_responsive table{
  	border: none;}

  .ph_responsive table th,
  .ph_responsive table td {
	  width: 100%;
	  display: inline-block;
	  border-right: none;
	  text-align: left;}

  .ph_responsive table th{
  	border-bottom: 1px dotted #8aa8b9;
	  padding: 4px 0 2px 6px;
    font-weight: bold;
    background: #e7eff3;
	}

  .ph_responsive table th:before {/*** アイコンが必要な場合　***/
	  /*content: "\f00c";*/
		content: "\f13a";
	  font-family: FontAwesome;
	  color: #0081e3;
	  padding: 0 5px 0 2px;}

  .ph_responsive table td {
	  border-bottom: none;
	  padding: 10px 0 20px 0;}

  .ph_responsive table.w40 th,
  .ph_responsive table.w40 td,
	.ph_responsive table.only-bottom th,
	.ph_responsive table.only-bottom td {
		width: 100%;
	}
  .ph_responsive table.w40 th,
	.ph_responsive table.only-bottom th {
		background: #e7eff3;
		border-bottom: 1px dotted #999;
	}
  .ph_responsive table.w40 td,
	.ph_responsive table.only-bottom td {
		border: none;
	}
}





/***********************************

ここからページレイアウト雛形

************************************/

/*----------------------------------
コンテンツ共通
----------------------------------*/
.post *, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.map iframe {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 464px;
}
.comment-box {
	background: #ebf9fb;
  /*color: #1d499e;*/
  padding: 15px 15px 15px 18px;
  margin-bottom: 15px;
  border-radius: 10px;
}
#content .post img.p0 {/*元スタイル：画像下の余白打ち消し*/
	padding: 0;
}


/*----------------------------------
固定ページ 下層hタイトル　及びpタグ
----------------------------------*/
/*h3装飾*/
#base .under_contents h3 {
  position: relative;
  padding: .5em .5em .1em 1.8em;
  border-bottom: double 3px #004BA8;
  margin: 0 0 15px 0;
}
#base .under_contents h3:before {
  font-family: FontAwesome;
  /*content: "\f13a";*/
	content: "\f1eb";
  position: absolute;
  font-size: 1.1em;
  left: .1em;
  top: .41em;
  color: #004BA8;
  font-weight: normal;
}
#base .smile .under_contents h3 {
  border-bottom: double 3px #F2D068;
}
#base .smile .under_contents h3:before {
	content: "\f118";
  font-weight: bold;
  left: .25em;
	color: #F2D068;
}

@media only screen and (min-width:641px) {
  #base .smile .under_contents h3 {
	  margin-top: .5em;
	}
}

#pattern1 .under_contents h3,
#pattern2 .under_contents h3 {
  padding: 0.4em 0.25em;
  border-top: solid 2px;
  border-bottom: solid 2px;
  line-height: 1.5;
}
#pattern1 .under_contents h3 {
  color: #B3000C;
}
#pattern2 .under_contents h3 {
  color: #004BA8;
}

.under_contents .privacy h3 {
  margin-bottom: .8em;
}
.under_contents .privacy p {
  margin-bottom: 3em;
}

/*h4装飾*/
.under_contents h4 {
	/*border-bottom: 2px dotted #5C86B2;*/
	margin: 1em 0 0.75em 0;
	border-left: 4px solid #0081E3;
  padding-left: .9em;
  line-height: 2;
}

.under_contents .service h4 {
  color: #fff;
  display: inline-block;
  position: absolute;
  top: -3.4em;
  font-size: 1.2em;
  margin: 1.33em 0;
  border: none;
	padding-left: 0;
}

.under_contents .smile h4 {
	position: relative;
	padding: .5em .5em .1em 1.8em;
  margin: 15px 0 10px 0;
	color: #0081E3;
	border-left: none;
  border-bottom: 2px dotted;
}
.under_contents .smile h4:before {
  font-family: FontAwesome;
  content: "\f118";
  position: absolute;
  font-size: 1.1em;
  left: .2em;
  top: .44em;
}




/*----------------------------------
Ａテキスト　Ｂ画像1列＋テキスト
----------------------------------*/

/*　下層　汎用　pタグ使用　*/



/*----------------------------------
Ｃ画像2列＋テキスト
----------------------------------*/
.column_wrap_01 .left,
.column_wrap_01 .right{
	width: 49%;}

.column_wrap_01 .left{
	float: left;}

.column_wrap_01 .right{
	float: right;}

.column_wrap_01 .left p.wrap01-name,
.column_wrap_01 .right p.wrap01-name {
	text-align: center;
	margin-bottom: 5px;
}

.column_wrap_01 .left p.wrap01-txt,
.column_wrap_01 .right p.wrap01-txt {
	text-align: center;
	margin-top: -5px;
}


@media only screen and (max-width:640px) {
  .column_wrap_01 .left,
  .column_wrap_01 .right{
	  width: 100%;
	  float: none;
		text-align: center;}
  .column_wrap_01 .right p.wrap01-name {
		margin-top: 10px;
	}
	.column_wrap_01 .left p.wrap01-txt {
		margin-bottom: 20px;
	}
	/* スマホの時も2カラム */
	.sp-float .column_wrap_01 .left {
		width: 49%;
		float: left;
	}
	.sp-float .column_wrap_01 .right {
		width: 49%;
		float: right;
	}
}


/*----------------------------------
Ｄ左画像＋右テキスト
----------------------------------*/
.column_wrap_02{
	clear: both;
}

.column_wrap_02 .leftimg{
	float: left;
	width: 49%;
	padding: 0;}

.column_wrap_02 .righttxt{
	float: right;
	width: 48%;}


@media only screen and (min-width:641px) {
  #content .post .column_wrap_02 .leftimg img{
	  padding-bottom: 0;}
}

@media only screen and (max-width:640px) {
  .column_wrap_02 .leftimg,
  .column_wrap_02 .righttxt{
	  float: none;
	  width: 100%;}

}


/* 横幅30％バージョン（※スマホの時も） */
.column_wrap_02 .l30-r70 .leftimg{
	float: left;
	width: 29%;
	padding: 0;}
.column_wrap_02 .l30-r70 .righttxt{
	float: right;
	width: 68%;}
#content .post .column_wrap_02 .l30-r70 .leftimg img{
	padding-bottom: 0;}


/* スマホ時に画像とテキストの左右表示を解除 */
@media only screen and (max-width:640px) {
	.column_wrap_02 .l30-r70 .leftimg{
		float: none;
		width: 100%;
		margin: 10px 0;
	}
	.column_wrap_02 .l30-r70 .righttxt{
		float: none;
		width: 100%;
	}
}

/*----------------------------------
Ｅ左テキスト＋右画像
----------------------------------*/
.column_wrap_03{
	clear: both;}

.column_wrap_03 .lefttxt{
	float: left;
	width: 48%;}

.column_wrap_03 .rightimg{
	float: right;
	width: 49%;
	padding: 0;}

@media only screen and (min-width:641px) {
  #content .post .column_wrap_03 .rightimg img{
	  padding-bottom: 0;}
}

@media only screen and (max-width:640px) {
  .column_wrap_03 .lefttxt,
  .column_wrap_03 .rightimg{
   	float: none;
	  width: 100%;}

}


/*----------------------------------
Ｆ左画像＋右テキスト回り込み
----------------------------------*/
@media only screen and (min-width:641px) {
  #content .post .around_right img{
	  float: left;
	  margin: 0 18px 0 0;
	  padding: 0;
	  width: 49%;}
}

@media only screen and (max-width:640px) {
  .around_right img{
  	margin: 0 0 0 0;
	  float: none;
	  width: 100%;}


}



/*----------------------------------
Ｇ左テキスト回り込み＋右画像
----------------------------------*/
@media only screen and (min-width:641px) {
  #content .post .around_left img{
  	float: right;
	  margin: 0 0 0 18px;
	  padding: 0;
	  width: 49%;}
}

@media only screen and (max-width:640px) {
  .around_left img{
  	margin: 0 0 0 0;
	  float: none;
	  width: 100%;}

}

/* ※スマホの時も横並び */
#content .post .around_left img.right30,  /* 横幅30％ */
#content .post .around_left img.right40 { /* 横幅40％ */
  float: right;
	margin: 0 3px 0 15px;
	padding: 0;
}
#content .post .around_left img.right30 {
	width: 30%;
}
#content .post .around_left img.right40 {
	width: 40%;
}

@media only screen and (max-width:640px) {
	#content .post .around_left img.right30,
	#content .post .around_left img.right40 {
		margin: 3px 5px 0 10px;
	}
}

/*----------------------------------
Ｈ画像3列＋下段テキスト
----------------------------------*/
.column_wrap_04{
	clear: both;}

.column_wrap_04 .columns div {
	background: #ccc;
	overflow: hidden;}

.column_wrap_04 .columns div span {
  display: block;
	text-align: center;
  font-weight: bold;
  color: #000;
	padding: 10px 5px;
	line-height: 1.3;}

.column_wrap_04 .columns img {
  width: 100%;
  height: auto;}

.column_wrap_04 .columns p {
  text-align: justify;}


@media only screen and (min-width:641px) {
  .column_wrap_04 .three.columns {
    width: 30.6666666667%;}

  .column_wrap_04 .columns {
	  width: 100%;
	  float: left;
	  box-sizing: border-box;
	  margin-left: 4%;}

  .column_wrap_04 .columns:first-child {
    margin-left: 0;}

  .column_wrap_04 .columns p.space{
    margin: -5px 0 0 0;}

}

.column_wrap_04 .columns p.wrap01-txt {
	font-size: 0.9em;
	text-align: center;
	margin-top: -5px;
	margin-bottom: 15px;
	line-height:1.2em;
}

@media only screen and (max-width:640px) {
  .column_wrap_04{
    margin: 0 0 -40px 0;}

  .column_wrap_04 .three.columns {
    margin: 0 0 40px 0;}

  .column_wrap_04 .columns p {
    margin: 0;}

  .clean .column_wrap_04 {
    margin: 0 0 -15px 0;
	}
  #content .post .clean .column_wrap_04 img {
		padding: 0;
		margin-bottom: -5px;
	}
	.column_wrap_04 .columns p.wrap01-txt {
		margin-bottom: 20px;
	}

	.column_wrap_04 .columns img.t20 {
		margin-top: 40px;
	}
}


/*----------------------------------
flexbox
----------------------------------*/
/*--- 両端余白なし ---*/
.flex-box1 {
	width: 100%;
  display: flex;
  display: -ms-flexbox;/*--- IE10 ---*/
  display: -webkit-flex;/*--- safari ---*/
  justify-content: space-between;
	-ms-justify-content: space-between;/*--- IE10 ---*/
  -webkit-justify-content: space-between;/*--- safari ---*/
	/*--- 折り返す場合 ---*/
	/*
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
	*/
}

/*--- 縦並び ---*/
.flex-box2 {
  display: flex;
  display: -ms-flexbox;/*--- IE10 ---*/
  display: -webkit-flex;/*--- safari ---*/
  flex-direction: column;
　-ms-flex-direction: column;/*--- IE10 ---*/
	-webkit-flex-direction: column;/*--- safari ---*/
  flex-wrap: wrap;
　-ms-flex-wrap: wrap;/*--- IE10 ---*/
	-webkit-flex-wrap: wrap;/*--- safari ---*/
}

/*--- 折り返す場合 ---*/
.flex-box3 {
	width: 100%;
  display: flex;
  display: -ms-flexbox;/*--- IE10 ---*/
  display: -webkit-flex;/*--- safari ---*/
  justify-content: space-between;
	-ms-justify-content: space-between;/*--- IE10 ---*/
  -webkit-justify-content: space-between;/*--- safari ---*/
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
}

/*----------------------------------
flexbox　レスポンシブする場合
----------------------------------*/
/****
レスポンシブしたいflexboxの外側に
<div class="flexbox_responsive">を入れてください
****/

@media only screen and (max-width:640px) {
/*--- スマホ時：1カラム ---*/
	.flexbox_responsive .flex-box1,
	.flexbox_responsive .flex-box3 {
	  flex-direction: column;
		-ms-flex-direction: column;/*--- IE10 ---*/
		-webkit-flex-direction: column;/*--- safari ---*/
	}
}



/*----------------------------------
配置・フロート解除
----------------------------------*/
.center {
  text-align: center;
}
.t-left {
	text-align: left;
}
.t-right {
	text-align: right;
}
.f-left {
	float: left;
}
.f-right {
	float: right;
}
.clear {
	clear: both;
}

.column_wrap_01:after,
.column_wrap_02:after,
.column_wrap_03:after,
.staff {
	clear: both;
	display: block;
	content: "";
}

/*----------------------------------
余白
----------------------------------*/
.m-0 {
	margin-bottom: 0;
}
.m-05 {
	margin-bottom: 5px;
}
.m-top1 {
	margin-top: 10px;
}
.m-top2 {
	margin-top: 20px;
}
.m-top3 {
	margin-top: 30px;
}
.m-top4 {
	margin-top: 40px;
}
.m-top5 {
	margin-top: 50px;
}
.m-bottom1 {
  margin-bottom: 10px;
}
.m-bottom2 {
  margin-bottom: 20px;
}
.m-bottom3 {
  margin-bottom: 30px;
}
.m-bottom4 {
  margin-bottom: 40px;
}
.m-bottom5 {
  margin-bottom: 50px;
}
.m-left1 {
  margin-left: 10px;
}
.m-top-10 {
	margin-top: -10px;
}

/*----------------------------------
PCのみ表示
----------------------------------*/
@media only screen and (max-width:640px) {
  .pc-only {
		display: none;
	}
}

/*----------------------------------
スマホのみ表示、スマホのみ改行
----------------------------------*/
.sp2-only {/* 481px以上は非表示 */
  display: none;
}

@media only screen and (min-width:641px) {
  .sp-only {/* 641px以上は非表示 */
		display: none;
	}
}

@media only screen and (max-width:480px) {
  .sp2-only {
    display: block;
  }
}


/*----------------------------------
リスト
----------------------------------*/
.post ul li {
  background: none;
  padding: 0;
  line-height: 1.7;
  margin-bottom: .5em;
}
.post ul:not(.flex-box1) li:last-child {
  margin-bottom: 0;
}
ul.check {/* チェックマーク */
	margin-bottom: -.5em;
}
ul.check li {
	position: relative;
	margin-left: 1.7em;
	line-height: 1.7;
}
ul.check li:not(last-child) {
  margin-bottom: .5em;
}
ul.check li:before {
	font-family: FontAwesome;
  content: "\f00C";
  position: absolute;
  font-size: 1.1em;
  left: -1.5em;
  top: -.05em;
	color: #C5151E;
}
.right-mark ul.check li {/* 左画像＋右テキストの場合 */
	display: inline-block;
}

ul.dotte li {
  border-bottom: 1px dotted;
  padding-bottom: 1em;
}
ul.dotte li:not(last-child) {
  margin-bottom: 1em;
}
ul.dotte li:first-child:not(.dotte-none) {
  border-top: 1px dotted;
  padding-top: 1em;
}

@media only screen and (max-width:640px) {
  ul.check li:not(last-child) {
		margin-bottom: .5em;
  }
}



/*----------------------------------
フォント（サイズ・カラー・装飾）
----------------------------------*/
.u-line {
	text-decoration: underline;
}
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
.big1 {
	font-size: 1.1em;
}
.big2 {
	font-size: 1.2em;
}
.small1 {
	font-size: 0.9em;
}
.small2 {
	font-size: 0.8em;
}
.red {
	color: #B3000C;
}
.blue {
	color: #004BA8;
}
.green {
	color: #0fe300;
}
.orange {
	color: #e36200;
}
.l-hiegt1 {
	line-height: 1.3;
}
.l-space1 {
	letter-spacing: -.01em;
}
.l-space2 {
	letter-spacing: -.05em;
}
.bg-red {
	background: #B3000C;
  color: #f5f5f5;
  padding: 2px 6px;
  display: inline-block;
}
.marker {
  background: linear-gradient(transparent 70%, #FDFAC1 70%);
	display: inline-block;
}

/* ボーダー下部のスタイルを二重線で指定する */
.double{
border-bottom: double 3px #004BA8;
}

/* 文頭が記号の時の位置調整 */
.first-mark {
	margin-left: -.5em;
}
/* 最初の文字だけ大きくする */
p.first-big:first-letter {
	color: #990000;
	font-size: 150%;
}
p.first-big-b:first-letter {
	color: #004BA8;
	font-size: 150%;
}
/* 強調コメント枠（背景ブルー） */
.comment-box1 {
	background: #effbfd;
  padding: 15px 15px 15px 18px;
  margin-bottom: 15px;
  border-radius: 10px;
}
/* 強調コメント枠（背景イエロー） */
.comment-box2 {
	background: #fff7e0;
  padding: 15px 15px 15px 18px;
  margin-bottom: 15px;
  border-radius: 10px;
}
/* 強調コメント枠（背景イエロー） */
.comment-box3 {
	background: #ffe3e0;
  padding: 15px 15px 15px 18px;
  margin-bottom: 15px;
  border-radius: 10px;
}


/***********************************

固定ページ

************************************/

/*----------------------------------
納品後の保守システム
----------------------------------*/
.service {
	width: 49%;
  border: 3px solid #2d5793;
  border-top: 40px solid;
  border-radius: 5px;
  padding: 12px 12px 12px 15px;
  position: relative;
}
.service:nth-of-type(1),
.service:nth-of-type(2) {
  border-color: #2d5793;
}
.service:after {
	clear: both;
	display: block;
	content: "";
}
.service-space {/* 画像を右下に配置するための空白スペース */
  float: right;
  height: 7.5em;
}
.service-img {
  float: right;
  clear: both;/* .spaceのfloat解除 */
  margin: 10px 0 0 12px;
}

@media only screen and (min-width: 641px) {
  /*
	.service:nth-of-type(2) > .service-space {
    height: 6.5em;
  }
	*/
}


@media only screen and (max-width:640px) {
  .service {
		width: 100%;
  }
  .service:nth-of-type(1) {
    margin-bottom: 15px;
  }
  .service-space {
    height: 2em;
	}
}


/*----------------------------------
日本初の実用化した製品・システム
----------------------------------*/
.system th {
  background: #d9e7f0;
}
.system-image {
	text-align: center;
	margin-top: 20px;
}

.system .under_contents h4 {
	font-size: 1.1em;
}
.system .under_contents .service h4 {
	color: #3d4f6b;
}
.system .service:nth-of-type(1),
.system .service:nth-of-type(2) {
  border-color: #d9e7f0;
}

.system .flex-box1.box-top {
	margin-bottom: 15px;
}

@media only screen and (min-width: 641px) {
  #content .post .system-image img {
	  width: 90%;
		margin: 0 auto;
  }
}

/*----------------------------------
未来創りへの研究投資
----------------------------------*/
.name-dotte {
	font-weight: bold;
	padding: .8em 0;
	margin-bottom: 1em;
	border-top: 1px dotted #999;
	border-bottom: 1px dotted #999;
}
@media only screen and (max-width:640px) {
  .name-dotte {
		border:none;
		padding: 0;
		margin-bottom: 0;
  }
}


/*----------------------------------
会社沿革
----------------------------------*/
.under_contents table.history th {
	width: 20%;
}
.under_contents table.history td {
	width: 80%;
}

@media only screen and (min-width: 641px) {
	.under_contents table.history th {
	  text-align: right;
    padding-right: 1em;
		background: #e7f2f5;
  }
}

@media only screen and (max-width: 640px) {
	.under_contents table.history th,
	.under_contents table.history td {
	  width: 100%;
  }
}




/*----------------------------------
採用情報
----------------------------------*/
.voice-btn {
	width: 30%;
	padding: 10px;
	background: #2d5793;
	margin: 0 auto 20px auto;
	border-radius: 5px;
}
.voice-btn a {
	color: #fff;
	text-decoration: none;
}
.voice-btn:hover,
.voice-btn:active {
	background: #4184BA;
}

@media only screen and (max-width: 640px) {
	.voice-btn {
	  width: 50%;
		padding: 5px;
  }
}

/*----------------------------------
先輩社員の声
----------------------------------*/
.break {
	margin-bottom: 60px;
	padding-bottom: 10px;
	border-bottom: 3px double #ccc;
}

.profimg {
	width: 29%;
}
.proftxt {
	background: #f5fbff;
	width: 68.5%;
	margin-left: 2.5%;
  display: flex;
  display: -ms-flexbox;/*--- IE10 ---*/
  display: -webkit-flex;/*--- safari ---*/
  flex-direction: column;
　-ms-flex-direction: column;/*--- IE10 ---*/
	-webkit-flex-direction: column;/*--- safari ---*/
	/*
  flex-wrap: wrap;
　-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	*/
}
.proftxt1,
.proftxt2 {
	flex: 1;
}
.proftxt2 {/*先輩の声　メッセージ*/
  display: flex;
  display: -ms-flexbox;/*--- IE10 ---*/
  display: -webkit-flex;/*--- safari ---*/
	padding: 7px 5px 5px 10px;
  color: #37709D;
	align-items: center;
	background: #ebf6fd;
	font-weight: bold;
}

.name {
	padding: 7px 5px 5px 10px;
  border-top: 2px solid #4184BA;
  border-bottom: 2px solid #4184BA;
  font-size: 1.15em;
  font-weight: bold;
}
.school {
	padding: 7px 5px 5px 10px;
}

p.subhead {/*先輩の声　サブタイトル*/
  color: #0081E3;
  font-weight: bold;
  font-size: 1.1em;
  border-bottom: 2px dotted #0081E3;
  margin-bottom: 10px;
  padding: 0 .5em .1em 1.5em;
  position: relative;
}
p.subhead:before {
  font-family: FontAwesome;
  content: '\f103';
  color: #0081E3;
  font-size: 1.3em;
	font-weight: normal;
  position: absolute;
  top: -.15em;
  left: .1em;
}

dl.schedule dt {
	float: left;
	width: 22%;
	font-weight: normal;
	text-align: right;
	padding-top: .2em;
}
dl.schedule dd {
	border-bottom: 1px dotted #999;
	padding-left: 30%;
	padding-top: .4em;
	padding-bottom: .4em;
	padding-right: .5em;
	line-height: 1.5;
}

#content .post .around_left img.prof {/* PCの時は横幅25％、スマホの時は横幅40% */
  float: right;
	margin: 0 3px 0 15px;
	padding: 0;
}
#content .post .around_left img.prof {
	width: 25%;
}

@media only screen and (min-width: 641px) {
	.proftxt2 span {
		font-weight: bold;
		font-size: 1.1em;
  }
}

@media only screen and (max-width: 640px) {
	dl.schedule dt {
	  width: 28%;
  }
	dl.schedule dd {
	  padding-left: 34%;
  }
	#content .post .around_left img.prof {
		margin: 3px 5px 0 10px;
		width: 40%;
	}
}

@media only screen and (max-width:480px) {
	.name {
	  padding: 7px 5px 5px 7px;
    font-size: 1em;
		line-height: 1.3;
  }
  .school {
		font-size: .9em;
		line-height: 1.5;
  }
	.proftxt2 {
		font-size: .9em;
		line-height: 1.5;
  }
	dl.schedule dt {
		font-size: .9em;
		width: 33%;
  }
	dl.schedule dd {
		padding-left: 37%;
  }
}


/*----------------------------------
社員紹介・福利厚生
----------------------------------*/
/*各部署へのアンカーリンク装飾*/
.staff ul.flex-box1 {
	flex-wrap: wrap;
  -ms-flex-wrap: wrap; /*IE10*/
  -webkit-flex-wrap: wrap; /* Safari6.1以降 */
	align-items: center;
	-ms-flex-align: center; /*IE10*/
  -webkit-box-align: center; /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center; /* Safari6.1以降 */
	margin-bottom: 0;
}
.staff ul.flex-box1 li {
	width: 32.5%;
  text-align: center;
  border-radius: 5px;
	padding: 10px;
	border: 2px solid #F2D068;
}
.staff ul.flex-box1 li:hover,
.staff ul.flex-box1 li:active {
	background: #fffcef;
}
.staff ul.flex-box1 li a {
	text-decoration: none;
}


/*スタッフプロフィール、及び、福利厚生*/
.staff p {
	line-height: 1.5;
}
.staff-left,
.staff-right {
	width: 49%;
	border: 1px solid #ccc;
	padding: 10px 8px 2px 8px;
}
.staff-left:not(.last),
.staff-right:not(.last) {
	margin-bottom: 20px;
}
.staff-left {
	float: left;
}
.staff-right {
	float: right;
}
.staff .name {
  font-size: 1em;
  padding: 5px;
  margin-bottom: 7px;
}
.staff .column_wrap_02 {
  margin-bottom: 10px;
}
.staff .column_wrap_02 .l30-r70 .righttxt {
  color: #333;
	font-size: .9em;
}
.pr p:nth-child(2n+1) {/*アンケート項目*/
	color: #3E75AF;
  font-weight: bold;
  font-size: .95em;
  border-bottom: 1px dotted #3E75AF;
	margin-bottom: .2em;
}
.pr p:nth-child(2n) {/*アンケート答え*/
  font-size: .9em;
	margin-bottom: .5em;
}


/*福利厚生のみ*/
.benefits .bene-title {
  font-size: 1.1em;
  padding: 10px;
  text-align: center;
  background: #0081e3;
  color: #fff;
  margin-bottom: 25px;
  position: relative;
}
.benefits .bene-title:after {
  position: absolute;
  content: '';
  top: 100%;
  left: 46%;
  border: 20px solid transparent;
  border-top: 13px solid #0081e3;
  width: 0;
  height: 0;
}
.benefits .column_wrap_02 {
  margin-bottom: 15px;
  border-bottom: 1px dotted #999;
  padding-bottom: 10px;
}
.benefits .column_wrap_02.bene-last {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 8px;
}
.benefits .column_wrap_02 .l30-r70 .leftimg {
	padding: 0 3px;;/* 社員画像の余白調整 */
	text-align: center;
}
.benefits .column_wrap_02 .l30-r70 .leftimg img {
  margin-bottom: 3px;/* 社員画像と名前の余白調整 */
}
#content .post .bene-img {/* 枠内に挿入画像を配置した場合の調整 */
	text-align: center;
	border: none;
	padding: 0;
}
.benefits .comment-box1 {
	margin-top: 22px;
  margin-bottom: 6px;
}
.tennis_img p{
	text-align:center;
	float:right;
	
}
.kosodate_img p{
	text-align:center;
	float:right;
}
.smile .st_sankaku {
    color: #333;
	font-weight: bold;
	font-size: 13px;
	margin-bottom: 5px;
}
.smile .st_sankaku::before {
    content: "▼ ";
}
@media only screen and (min-width: 641px) {
	.adjust {
		padding-bottom: 1.45em;/* アンケートの左右高さ（空白）調整 */
  }
	.adjust2 {
		padding-bottom: .55em;/* 福利厚生の左右高さ（空白）調整 */
  }
		.tennis_img img{
			width:25% !important; 
			margin-left:15px;
			margin-top: -13px;
			float:left;
	}
	
		.tennis_img p{
			width:23%;
			float:right;
			margin-top:50px;
		}
		.kosodate_img img{
			width:30% !important;
			margin-left:15px;
			margin-top: -13px;
			float:left;
		}
		.kosodate_img p{
			width:18%;
			float:right;
			margin-top:80px;
		}
}
@media only screen and (max-width: 640px) {
	.staff ul.flex-box1 li {
		width: 49%;
		padding: 7px 0;
	}
	.staff-left,
	.staff-right {
		float: none;
		width: 100%;
		border: none;
		padding: 0;
	}
	.staff-left:not(.last),
	.staff-right:not(.last) {
		margin-bottom: 40px;
	}
	.staff .column_wrap_02 .l30-r70 .righttxt {
		font-size: 1em;
	}
	

	/*福利厚生のみ*/
  .benefits .staff-left,
  .benefits .staff-right {
	  border: 1px solid #ccc;
  }
	.benefits .column_wrap_02 .l30-r70 .leftimg {
	  padding: 0 3px 0 10px;/* 社員画像の余白調整 */
  }
  .column_wrap_04.benefits .three.columns {
    margin: 0 0 10px 0;
  }
		.tennis_img img{
			width:100% !important; 
		}
	.kosodate_img img{
		max-width: 300px !important; 
		width:100%; 
	}
	.kosodate_img2 img{
		max-width: 400px !important; 
		width:100%; 
	}
	.kosodate_img p{
		width:100% !important; 
		text-align: center;
	}
}


@media only screen and (max-width: 480px) {
	.staff ul.flex-box1 li:last-child {
		letter-spacing: -.01em;
	}
	.staff .column_wrap_02 .l30-r70 .righttxt {
		font-size: .9em;
	}
}


/*----------------------------------
講演会のご案内
----------------------------------*/
.seminar p {
	line-height: 1.5;
}
.seminar-left,
.seminar-right {
	width: 49.1%;
	border: 2px solid #ccc;
	padding: 10px 5px 8px 8px;
	position: relative;
}
.seminar-left:not(.last),
.seminar-right:not(.last) {
	margin-bottom: 15px;
}
.seminar-left {
	float: left;
}
.seminar-right {
	float: right;
}
.guest {
	position: absolute;
	right: .5em;
  bottom: .1em;
}
.case1 {
	border-color: #E3D400;
}
.case2 {
	border-color: #81E300;
}
.case3 {
	border-color: #00E3D4;
}
.case4 {
	border-color: #0081E3;
}
.case5 {
	border-color: #8944E3;
}



@media only screen and (max-width: 640px) {
	.seminar-left,
	.seminar-right {
		float: none;
		width: 100%;
	}
	.seminar-left:not(.last),
	.seminar-right:not(.last) {
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 480px) {
	.seminar .column_wrap_02 .l30-r70 .righttxt {
		font-size: .9em;
	}
}

.list-box {/*講演先ご紹介*/
	border: 1px solid #99dce2;
  padding: 10px 10px 10px 15px;
}

@media only screen and (min-width: 641px) {
	.list-box span {
	  display: inline-block;
  }
  .list-box span:not(.no-comma):after {
 	  content: "、\00a0";
  }
}

@media only screen and (max-width: 640px) {
	.list-box span {
	  display: block;
  }
}


/*----------------------------------
講演会のご案内
----------------------------------*/

@media only screen and (min-width: 641px) {
	.detail-bottom {
	  position: relative;
  }
	.detail-bottom > .t-right {
 	  position: absolute;
    bottom: 0;
    right: 0;
  }
}


/*----------------------------------
会社紹介用動画
----------------------------------*/
/*
.movie {
  position: relative;
  height: 0;
  padding: 30px 0 56.25%;
  overflow: hidden;
}

.movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
*/
@media only screen and (max-width: 640px) {
  .movie {
    position: relative;
    height: 0;
    padding: 30px 0 56.25%;
    overflow: hidden;
  }

  .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}




/*----------------------------------
Q&A
----------------------------------*/

ul.q-a {
  margin-bottom: 10px;
}
ul.q-a li {
  margin-bottom: 1.7em;
  line-height: 1.7;
}
ul.q-a li:nth-child(2n+1) {
  color: #004BA8;
  border-bottom: 2px dotted #004BA8;
  margin-bottom: 5px;
  padding: 0;
  font-weight: bold;
  letter-spacing: .1em;
}
ul.q-a li:nth-child(2n+1):before {
  content: "Q.";
  font-weight: bold;
  font-size: 17px;
  margin-right: .5em;
}


/*----------------------------------
サイトマップ
----------------------------------*/
.sitemap ul li {
	background: none;
}
.sitemap ul li ul {
  margin-top: .5em;
  margin-bottom: .75em;
  margin-left: 48px;
}

.sitemap ul li ul li {
  margin-bottom: .25em;
  position: relative;
  background: none;
  padding-left: .5em;
}

.sitemap ul li ul li::before {
  content: "";
  position: absolute;
  top: -0.5em;
  left: -12px;
  width: 10px;
  height: calc(100% + .75em);
  border-left: 1px solid #999;
}

.sitemap ul li ul li:last-child::before {
  height: calc(1em + .25em);
}

.sitemap ul li ul li::after {
  content: "";
  position: absolute;
  top: .75em;
  left: -12px;
  width: 10px;
  border-bottom: 1px solid #999;
}

@media only screen and (min-width: 641px) {
　.sitemap {
    max-width: 500px;
    margin-left: 30%;
  }
}

@media only screen and (max-width: 640px) {
　.sitemap {
    margin-left: 20%;
  }
}

@media only screen and (max-width:480px) {
　.sitemap {
    margin-left: 0;
  }
}


/*----------------------------------
お問合せ
----------------------------------*/
#contact > div:not(:last-child) {
	border: none !important;
  margin-bottom: 5px;
}
#contact > div > div {
	margin-bottom: 5px;
}
span.wpcf7-list-item {
	margin: 0 3em 0 1em;
}


/*----------------------------------
製品情報
----------------------------------*/
.itemname {
	font-size: 1.2em;
	padding: 4px 0;
	border-top: 1px solid;
	border-bottom: 1px solid;
	margin-bottom: 20px;
}
.itembtn {
	width: 80%;
	margin: 0 auto;
}
.itembtn > .column_wrap_01 > .left,
.itembtn > .column_wrap_01 > .right {
	padding: 12px 0;
	border-radius: 5px;
	background: #3E75AF;
}
.itembtn > .column_wrap_01 > .left:hover,
.itembtn > .column_wrap_01 > .left:active,
.itembtn > .column_wrap_01 > .right:hover,
.itembtn > .column_wrap_01 > .left:active {
	background: #5689bf;
}
.itembtn > .column_wrap_01 > .left a,
.itembtn > .column_wrap_01 > .right a {
	color: #fff;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
}

ul.itemcategory li {
  text-align: center;
  border-radius: 5px;
  padding: 10px;
  border: 2px solid #1BA8BF;
}
ul.itemcategory li:hover,
ul.itemcategory li:active {
	background: #F5F9F8;
}
ul.itemcategory li a {
	text-decoration: none;
}

@media only screen and (min-width: 641px) {
	#base .link {
    font-size: 12px;
    display: block;
    background: url( '../../uploads/2018/10/arrow-icon.gif' ) no-repeat left top;
    padding: 0 0 0 30px;
    height: 13px;
    line-height: 13px;
    margin: 0 0 20px 0;
  }
	ul.itemcategory {
		width: 100%;
	}
	ul.itemcategory li {
		float: left;
    width: 32.3%;
    margin-right: 1.3%;
	}
	ul.itemcategory li:nth-child(3) {
	  margin-right: 0;
	}
	.itembtn > .column_wrap_01 > .left,
    .itembtn > .column_wrap_01 > .right {
		width:47%
	}
}

@media only screen and (max-width: 640px) {
	.itemname {
		margin-top: 20px;
	}
	#base .link {
    font-size: 12px;
    display: block;
    background: url( '../../uploads/2018/10/arrow-icon.gif' ) no-repeat left top;
    padding: 0 0 0 30px;
    height: 13px;
    line-height: 13px;
    margin: 0 0 20px 0;
  }
	ul.itemcategory {
		width: 80%;
		margin: 0 auto;
	}
	ul.itemcategory li {
		float: none;
	}
	.itembtn > .column_wrap_01 > .left {
		margin-bottom: 15px;
	}

}

@media screen and (min-width: 641px) {
	#contents.items .under_contents ul {
		display: flex;
		flex-wrap: wrap;
	}
	#contents.items .under_contents li {
		width: 173px;
		margin: 0 2px 0 5px;
		padding: 0 0 0 0;
		min-height: 270px;
		float: left;
		background: #fff;
	}

	#contents.items .under_contents li a {
		width: 160px;
		height: 160px;
		margin: 0 auto;
	}
	#contents.items .under_contents li a.image {
		margin: 0 auto;
	}

	#contents.items .under_contents li a.image img {
		display: block;
		opacity: 1;
		border: none;
	}

	#contents.items .under_contents li .info .title {
		border-top: none;
		padding: 0 0 0 0;
		margin: 7px 14px 5px 14px;
	}

	#contents.items .under_contents li .info .excerpt {
		margin: 0 15px;
		text-align: justify;
		font-size: 12px;
	}
}

@media screen and (max-width: 640px) {
	#contents.items .under_contents li {
		border-bottom: 1px dotted #999;
		margin: 0;
		border: none;
		padding: 15px;
	}
	#contents.items .under_contents li a.image img {
		border: 0;
		padding: 0;
		width: 32%;
		height: auto;
		float: left;
	}
	#contents.items .under_contents li .info {
		width: 62%;
		float: right;
		margin: 0 5px 0 0;
		line-height: 1.6;
		font-size: 12px;
	}
	#contents.items .under_contents li .info .title {
		border-top: none;
		padding: 0 0 0 0;
		margin-bottom: 8px;
	}
	#contents.items .under_contents li .info .excerpt {
		margin: 0 10px 0 0;
		text-align: justify;
		font-size: 12px;
	}
}


.line22 {line-height: 2.2;}
.line18 {line-height: 1.8;}
.line13 {line-height: 1.3;}
.l_text{font-size: 1.05em;}
.bgreen {color: #3F7985;}

.sub_p {
  position: relative;
  display: inline-block;
  padding: 0 55px;
    margin: 0 0 15px 0;
    line-height: 1.6;
    font-size: 1.5em;
    color: #B3000C;
}

.sub_p:before, .sub_p:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #B3000C;
}

.sub_p.sub_p:before {
  left:0;
}
.sub_p:after {
  right: 0;
}
.red_txt{
    color: #B3000C;
    font-size: 1.2em;	
}
@media only screen and (max-width: 640px) {
	.sub_p {
		font-size: 1.3em;
	}	
.red_txt{
    font-size: 1.15em;	
}
}

/*----------------------------------
メディア掲載
----------------------------------*/
/* 過去の記事ページ */
.under_contents table.past,
.under_contents table.past th,
.under_contents table.past td {
	border: none;
}
.under_contents table.past th {
	width: 22%;
}
.under_contents table.past td {
	width: 78%;
}
.past a {
  text-decoration: none;
}
.past a:hover {
  text-decoration: underline;
}


@media only screen and (min-width: 641px) {
	.under_contents table.past th {
	  text-align: left;
    padding-right: 1em;
    background: none;
    border: none;
    font-weight: normal;
		vertical-align: top;
  }
	.blog_entry p {
		margin-top: 1.4em;
		margin-bottom: 1.3em;

	}
}

@media only screen and (max-width: 640px) {
	.under_contents table.past th,
	.under_contents table.past td {
	  width: 100%;
  }
}


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

.videos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
	width: 100%;
}
.videos .video iframe {
	width: 100%;

}
.videos .video {
	width: 100%;
	margin-top: 20px;
}
.videos .video iframe {
	height: calc((100vw - 30px) * .56);
}
@media screen and (min-width: 641px) {
	.videos .video {
		width: 48%;
	}

	.videos .video iframe {
		height: 194px;
	}

}

#side_col .barb_side_widget #searchform {
	background: #fff;
	border: 1px solid #ddd;
	position: relative;
	height: 56px;

}
#side_col .barb_side_widget #searchform #search_button {
	float: right;
	margin: 10px 10px 0 0;
}
#side_col .barb_side_widget #searchform #search_input {
	float: left;
	margin: 11px 0 0 11px;
	border: 1px solid #ccc;
	background: #f2f2f2;
	width: 75px;
	height: 33px;
	position: relative;
	padding: 0 10px;
	box-shadow: 2px 2px 3px 0px #ddd inset;
}

/*外部リンクへ*/
.linkb  a::after {
	content: " \f08e";
	font-family: FontAwesome;
}
.linkb a:hover {
    background: #eee;
    color: #3F7985;
}
/*クリックで詳細表示*/
.hidden_box {
    margin: 0;
    padding: 0;
}
.hidden_box label {
    cursor :pointer;
	border-bottom:  solid #3F7985 1px;
    color: #3F7985;
}
.hidden_box label:hover{
    background: #eee;
}

.hidden_box input {
    display: none;
}

.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.8s;
}
.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}
/*----------------------------------
google-maps
----------------------------------*/
.google-maps {
position: relative;
padding-bottom: 50%;
height: 0;
overflow: hidden;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

/*----------------------------------
大日電子の列車無線の特徴
----------------------------------*/
.solid_box {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 0.5em 1.0em;
  text-decoration: none;
  color: #FFF;
  background: #2D5793;
  border-radius: 3px;
  transition: .4s;
}

.marker_b {
  background: linear-gradient(transparent 70%, #D9E7F0 70%);
  display: inline-block;
}

.diff_icon {
  font-family: FontAwesome;
  display:inline-block;
  vertical-align:top
}

.solid_box2 {
  display: inline-block;
  padding: 0.3em 1.5em;
  text-decoration: none;
  color: #2D5793;
  border: solid 2px #2D5793;
  border-radius: 30px;
  transition: .4s;
}

.solid_box2:hover {
  border: solid 2px #6E8EBB;
  background: #F7F9E5;
}

.solid_box2 a{
  color: #2D5793;
  text-decoration: none;
}

.solid_box2 a:hover{
  color: #FCB319;
  text-decoration: none;
}
.difference .big2 {
	font-size: 16px;
	line-height: 1.6;
}

/*----------------------------------
フランス語・英語ページ用 フォント指定
----------------------------------*/
body.fr #main_col,
body.en #main_col {
	font-family: Lato,Verdana,Segoe UI,SegoeUI,"Helvetica Neue",Helvetica,Arial,sans-serif;
}

#desc_fit .lang-switcher {
	display: flex;
	justify-content: flex-end;
    top: -8px;
    position: relative;
	line-height: 1.3;
}
#desc_fit .lang-switcher .earth {
	width: 48px;
	height: 24px;
	background: no-repeat center url("/wp-content/themes/gorgeous_tcd013_barbpack/img/global-icon.png");
}
#desc_fit .lang-switcher .sec {
    width: 80px;
	padding: 4px 0;
	display: flex;
	align-items: center;
}
#desc_fit .lang-switcher .sec:before {
	content: '';
	width: 3px;
	background-color: #666;
	height: 16px;
	display: block;
}
#desc_fit .lang-switcher .sec.current:before {
	background-color: #d01220;
	width: 5px;
}
#desc_fit .lang-switcher .sec a {
	text-decoration: none;
	display: block;
	width: 100%;
}
#desc_fit .lang-switcher .sec .lang-label {
	font-family: Lato;
	font-size: 13px;
	font-weight: bold;
	color: #666;
	letter-spacing: 1px;
	display: block;
	text-align: center;
	width: 100%;
}
#desc_fit .lang-switcher .sec.current .lang-label {
	color: #354f76;
}
#desc_fit .switch-wrap {
    border: 1px solid #666;
    background-color: #fff;
    display: flex;
    height: 26px;
    align-items: center;
}

/* Ｈ画像3列＋下段テキスト 二段目用 ---*/
.column_wrap_041{
	clear: both;}

.column_wrap_041 .columns div {
	background: #ccc;
	overflow: hidden;}

.column_wrap_041 .columns div span {
  display: block;
	text-align: center;
  font-weight: bold;
  color: #000;
	padding: 10px 5px;
	line-height: 1.3;}

.column_wrap_041 .columns img {
  width: 100%;
  height: auto;}

.column_wrap_041 .columns p {
  text-align: justify;}


@media only screen and (min-width:641px) {
  .column_wrap_041 .three.columns {
    width: 30.6666666667%;}

  .column_wrap_041 .columns {
	  width: 100%;
	  float: left;
	  box-sizing: border-box;
	  margin-left: 4%;}

  .column_wrap_041 .columns:first-child {
    margin-left: 0;}

  .column_wrap_041 .columns p.space{
    margin: -5px 0 0 0;}

}

.column_wrap_041 .columns p.wrap01-txt {
	font-size: 0.9em;
	text-align: center;
	margin-top: -5px;
	margin-bottom: 15px;
	line-height:1.2em;
}

@media only screen and (max-width:640px) {
  .column_wrap_041{
    margin: 0 0 -20px 0;}

   .column_wrap_041 .three.columns {
    margin: 0 0 20px 0;}

   .column_wrap_041 .columns p {
    margin: 0;}

  .clean .column_wrap_041 {
    margin: 0 0 -15px 0;
	}
  #content .post .clean .column_wrap_041 img {
		padding: 0;
		margin-bottom: -5px;
	}
	.column_wrap_041 .columns p.wrap01-txt {
		margin-bottom: 20px;
	}

	.column_wrap_041 .columns img.t20 {
		margin-top: 40px;
	}
}

/* 製品情報 ---*/
#base .under_contents .item_info h3 {
	position: relative;
	padding: .5em .5em .1em 1.8em;
	border-bottom: double 3px #004BA8;
	margin: 0 0 20px 0;
}

#base .under_contents .item_info h4 {
	margin: 1em 0 0.75em 0;
	border-left: 4px solid #0081E3;
	padding-left: .9em;
	line-height: 2;
}
	
#base .under_contents .item_info h5 {
	padding: 0.3em 0.8em;
    margin: 0.5em 0 10px;
    border: solid 1px #325A8C;
    color: #325A8C;
    font-weight: bold;
    font-size: 14px;
}

#base .under_contents .txt {
	margin-bottom: 40px;
}
#base .under_contents .txt_m {
	margin-bottom: 15px;
}
#base .under_contents .txt_n {
	margin-bottom: 10px;
}
#base .under_contents .c_img {
	text-align: center;
	margin-bottom: 30px;
}
#base .under_contents .subt {
    font-size: 1.1em;
    font-weight: bold;
	margin-bottom: 5px;
	margin-left: -7px;
}
#base .under_contents .subt-n {
    font-size: 1.1em;
    font-weight: bold;
	margin-bottom: 5px;
}
.under_contents .item_table table {
    width: auto;
    border-collapse: inherit;
    border-spacing: 0;
    border-top: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1;
    margin-bottom: 20px;
}
.under_contents .item_table table th {
	text-align: left;
	padding: 5px 10px;
	width: 200px;
}
.under_contents .item_table table td {
	line-height: 2;
	padding: 5px 10px;
	vertical-align: top;
}
.under_contents .item_table .tbl_t{
	margin-bottom: 5px;
	margin-left: 3px;
}
#base .under_contents .t_contact {
	position: relative;
	display: inline-block;
	padding: 0 55px;
    font-size: 1.2em;
    font-weight: bold;
    color: #B3000C;
	margin-top: 40px;
	margin-bottom: 1px;
}
  
#base .under_contents .t_contact:before,
#base .under_contents .t_contact:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 45px;
	height: 1px;
	background-color: #B3000C;
}
  
#base .under_contents .t_contact:before {
	left:0;
}
#base .under_contents .t_contact:after {
	right: 0;
}

#shiyou ul li {
    background: none;
    padding: 0;
    line-height: 1.7;
    margin-bottom: 10px;
}
#shiyou .p02 li {
    line-height: 1.8;
    margin-bottom: 20px;
}

#shiyou .tb_b {
    border: 1px solid #e1e1e1;
}

#shiyou table {
  border: 1px solid #e1e1e1;
	border-collapse: collapse;
}

#shiyou td,
th {
    padding: 8px;
	white-space: nowrap;
}

#shiyou td.norm {
	white-space: normal;
}


.list-box_gray {
	border: 1px solid #e1e1e1;
  padding: 10px 10px 10px 15px;
}
.uwatuki {
vertical-align: super;
}

/* ▲（キャプション用） ---*/
.caption {
	color: #3F7985;
	font-size: 14px;
}

#base .blue1 { 
	margin: 8px 0 8px 10px;
	/*font-weight: bold;*/
	color: #004BA8;
	font-size: 1.2em;
}
/*----------------------------------
製品詳細ページ 追記 22025/03
----------------------------------*/
/*ダムテレメーター・放流警報装置*/
.products-contents h3 {
	margin-top: 2rem !important;
}
.products-contents h4 {
	font-size: 15px;
}
.products-contents p {
	margin-bottom: 1rem;
}
.products-contents .b {
	font-weight: bold;
}
.products-contents .mt0 {
	margin-top: 0 !important;
}
.products-contents .mb0 {
	margin-bottom: 0 !important;
}
.products-contents .mbsp {
	margin-bottom: 2rem !important;
}
.products-contents .kome {
	padding-left: 1em;
	text-indent: -1em;
}
.products-contents .kome::before {
	content: "※";
}
.products-contents a.to-link {
	text-decoration: none;
}
.products-contents a.to-link::before {
    font-family: FontAwesome;
    content: "\f138";
    margin-right: 3px;
}
.products-contents a.to-link:hover {
	background: #F7F9E5;
}
.products-contents .single-img,
.products-contents .single-img-500,
.products-contents .single-img-tall {
	text-align: center;
}
.products-contents .single-img img {
	max-width: 400px;
	width: 100%;
}
.products-contents .single-img-500 img {
	max-width: 500px;
	width: 100%;
}
.products-contents .single-img-tall img {
	max-height: 600px;
	width: auto;
}
.products-contents ul {
	list-style-type: disc;
    margin-left: 1rem;
    margin-bottom: 0;
}
.products-contents ul li {
	margin-bottom: 0;
}
.products-contents .intro-list li {
	margin-bottom: .5rem;
}
.products-contents .two-column,
.products-contents .in-two-column {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.products-contents .under-img-txt {
	text-align: center;
	margin-bottom: 2rem;
}
.products-contents .procedure {
	margin-bottom: 2rem;
}
.products-contents .procedure p {
	margin-left: .5rem;
}
.products-contents .procedure .colon-txt {
	margin-bottom: 1rem;
}
.products-contents .procedure .colon-txt p {
	margin-bottom: .2rem;
	/* padding-left: 1em;
	text-indent: -1em; */
}
.products-contents .procedure .colon-txt p.example-ind {
	margin-left: 5rem;
}
.products-contents p.num-line {
	border: #2D5793 1px solid;
    color: #2D5793;
	font-weight: bold;
	border-radius: .5rem;
	padding: 0 .5rem;
	margin-bottom: .3rem;
	margin-left: 0;
}
.products-contents table td p {
	margin-bottom: 0;
}
.products-contents table td ul:not(:last-child) {
	margin-bottom: 1rem;
}
.products-contents .box-yellow {
	padding: 1rem;
	background: #fff7d2;
}
.products-contents .box-yellow .line-text {
	font-size: .9rem;
	font-weight: bold;
}
.products-contents .box-yellow h5 {
	font-size: .9rem;
	font-weight: bold;
	background: #fff;
	padding: .2rem .5rem;
    margin: .75rem auto;
}
.products-contents .box-yellow h5::before {
    font-family: FontAwesome;
    content: "\f0c8";
    margin-right: 3px;
}
.products-contents .page-link-box {
	border: #d9e7f0 2px solid;
	margin-bottom: 2rem;
}
.products-contents .page-link-box .two-column {
	gap: 0;
}
.products-contents .page-link-box .in-two-column {
	border: #d9e7f0 2px solid;
	gap: 0;
}
.products-contents .page-link-box span {
	display: block;
	background: #d9e7f0;
	color: #2D5793;
	font-weight: bold;
	font-size: 1rem;
}
.products-contents .page-link-box img {
	padding-bottom: 0 !important;
}
.products-contents .page-link-box .left-inner>a {
	display: block;
	margin: .5rem;
}
.products-contents .box-list {
	border: #d9e7f0 4px solid;
    padding: .75rem 1rem;
	margin-bottom: 1rem;
}
.products-contents .box-list ul {
	margin: 0;
}
.products-contents .box-list li {
	display: inline-block;
	margin-right: .5rem;
}
.products-contents .box-list li::before {
    font-family: FontAwesome;
    content: "\f111";
    margin-right: 3px;
	color: #6c9aa5;
}
.products-contents .keihou-column div,
.products-contents .gamen-column div {
	text-align: center;
}
.products-contents .keihou-column strong {
	font-size: .95rem;	
}
.products-contents .gamen-column strong {
	font-size: .95rem;	
	display: block;
	margin-bottom: .5rem;
}
@media only screen and (min-width:641px) {

}
@media only screen and (max-width:640px) {
	.products-contents .two-column{
        grid-template-columns: 1fr;
	}
	.products-contents .under-img-txt {
		text-align: left;
	}
	.products-contents .page-link-box {
		max-width: 400px;
		width: 100%;
		margin: auto;
	}
	.products-contents .procedure .colon-txt p {
		padding-left: 5em;
		text-indent: -5em;
	}
	.products-contents .procedure .colon-txt p.example-ind {
        margin-left: 1rem;
        padding-left: 2em;
        text-indent: -2em;
	}

}
/*----------------------------------
「新スプリアス規格」 追記 2021/01/13～
----------------------------------*/

#case-box{
  margin: 1em 0;
  padding: 1.5em 1em 1em;
  position: relative;
  border: 1px solid #0081E3;
  background-color: #e1f5fe;
}

#case-box .title{
  position: absolute;
  top: -0.8em;
  left: 20px;
  font-weight: bold;
  font-size: 1.1em;
  background-color: #0081E3;
  color: #fff;
  padding: 0 0.5em;
}

#case-box p{
  margin: 0;
  padding: 0;
}

#case-box .txt1{
	font-size: 1.2em;
  font-weight: bold;
	margin-bottom: 10px;
}

#case-box .txt2{
	margin: 0 10px;
}

@media only screen and (max-width:640px) {
#case-box .txt1{
	font-size: 1.1em;
}	
}

.arr01{
  position: relative;/*相対位置*/
  padding: 0.5em 0.5em 0.5em 1.5em;/*アイコン分のスペース*/
  line-height: 1.9;/*行高*/
  /*color: #ff6a6a;文字色*/
  background: #fffff4;
}
.arr01::before{
  font-family: "FontAwesome";/*忘れずに*/
  content: "\f138";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.1em;/*サイズ*/
  left: 0.25em;/*アイコンの位置*/
  top: 0em;/*アイコンの位置*/
  color: #0081E3; /*アイコン色*/
}

.arr02{
  position: relative;/*相対位置*/
  padding: 0.5em 0.5em 0.5em 1.5em;/*アイコン分のスペース*/
  line-height: 1.9;/*行高*/
  /*color: #ff6a6a;文字色*/
  /*background: #fffff4;*/
}
.arr02::before{
  font-family: "FontAwesome";/*忘れずに*/
  content: "\f103";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.1em;/*サイズ*/
  left: 0.25em;/*アイコンの位置*/
  top: 0.1em;/*アイコンの位置*/
  color: #004BA8; /*アイコン色*/
}

.arr03{
  position: relative;/*相対位置*/
  padding: 0.5em 0.5em 0.5em 2.2em;/*アイコン分のスペース*/
  line-height: 1.9;/*行高*/
  /*color: #ff6a6a;文字色*/
}
.arr03::before{
  font-family: "FontAwesome";/*忘れずに*/
  content: "\f138";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.1em;/*サイズ*/
  left: 0.7em;/*アイコンの位置*/
  top: 0.05em;/*アイコンの位置*/
  color: #3F7985; /*アイコン色*/
}

.arr04{
	position: relative;/*相対位置*/
	padding: 0.5em 0.5em 0.5em 1.5em;/*アイコン分のスペース*/
	line-height: 1.9;/*行高*/
	/*color: #ff6a6a;文字色
	background: #fffff4;*/
}
.arr04::before{
	font-family: "FontAwesome";/*忘れずに*/
	content: "\f13a";/*アイコンのユニコード*/
	font-weight: 900;
	position: absolute;/*絶対位置*/
	font-size: 1.1em;/*サイズ*/
	left: 0.25em;/*アイコンの位置*/
	top: 2px;/*アイコンの位置*/
	color: #0081E3; /*アイコン色*/
}
#hr01 hr {
  border: 1px dashed #ccc;
}
#hr02 hr {
	border-top: 1px #ccc dashed ;
	border-bottom: 0px ;
	margin: 20px 0;
}

.s_txt {font-size: 0.9em}


/*----------------------------------
トップスマホナビ用 2021/01/18～
----------------------------------*/
.sp_navi {
	margin:  0 !important;
	padding: 0 !important;
	max-width:100%;
}
.sp_nb01 {
border-top:#aaaaaa 0.5px dotted;
border-left:#aaaaaa 0.5px dotted;
border-right:#aaaaaa 0.5px dotted;
}
.sp_nb02 {
border-left:#aaaaaa 0.5px dotted;
border-right:#aaaaaa 0.5px dotted;
}
.sp_nb03 {
border-bottom:#aaaaaa 0.5px dotted;
border-left:#aaaaaa 0.5px dotted;
border-right:#aaaaaa 0.5px dotted;
}
/*----------------------------------
flexbox
----------------------------------*/

.f_box {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.f_box .f_item{ 
	text-align:center;
	border-top:#aaaaaa 0.5px dotted;
	border-bottom:#aaaaaa 0.5px dotted;
	border-left:#aaaaaa 0.5px dotted;
	padding-top:10px;
}
.f_box .f_item:last-child{ 
	border-right:#aaaaaa 0.5px dotted;
}

@media only screen and (max-width:640px) {
.f_box {
	flex-wrap: wrap;
}
.f_box .f_item{ 
	border-bottom:none;
	border-left:none;
	padding-top:20px;
}
.f_box .f_item:last-child{ 
	border-bottom:#aaaaaa 0.5px dotted;
	border-right:none;
	margin-bottom:50px;
}
}

/*----------------------------------
製品情報
----------------------------------*/
.h_center {
	position: relative;
	display: inline-block;
	padding: 0 55px;
	margin-bottom: 20px;
}

.h_center_l {
	position: relative;
	display: inline-block;
	padding: 0 110px;
	margin-bottom: 5px;
	font-size: 1.15em;
}

.h_center:before, .h_center:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 45px;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
}
.h_center_l:before, .h_center_l:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 100px;
	border-top: 1px solid black;
	border-bottom: 1px solid black;
}
.h_center:before, .h_center_l:before {
	left:0;
}
.h_center:after, .h_center_l:after {
	right: 0;
}

@media only screen and (max-width:640px) {
.h_center_l {
	font-size: 1.1em;
}
}
.kome_txt{ 
	font-size: 0.9em;
	margin: -25px 5px 40px;
}
/* ページリンク ---*/
.btn{
	display: inline-block;
	width: 450px;
  padding: 1rem 4rem;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
	margin-bottom: 10px;
}
.btn-link,
a.btn-link {
  color: #fff;
  background-color: #2D5793;
}
.btn-link:hover,
a.btn-link:hover {
  color: #fff;
  background: #3662A2;
}

@media only screen and (max-width:640px) {
	.btn{
		width: 100%;
	}
}
/* 青いテーブル ---*/
.bl_tbl{ width: 100% }
.bl_tbl tbody th, .bl_tbl tbody td{
	padding: 8px;
	width: auto;
	vertical-align: top;
}

.bl_tbl th {
	padding: 5px;
	background-color: #2D5793;
	color: #fff;
}

.bl_tbl tbody .b {
	font-weight: bold;
}
.bl_tbl tbody .nw {
	white-space: nowrap
}
.bl_tbl tbody .b_tr01{
	background-color: #C5E0F9
}
.bl_tbl tbody .b_tr02{
	background-color: #E1F0FF;
}
.bl_tbl tr .h_td {
	width: 80px;
}

#kinou h2 {
	font-weight: bold;
	text-align:center;
    font-size: 1.3em;
	margin-bottom:30px;
}
@media only screen and (max-width:640px) {
    #kinou h2 {
		font-size: 1.2em;
	}
}
#kinou h5 {
    padding: 0.3em 0.8em;
    margin: 0.5em 0 10px;
    border: solid 1px #325A8C;
    color: #325A8C;
    font-weight: bold;
    font-size: 14px;
}
#kinou div {
    margin: 0 5px 10px;
}
#kinou .righttxt{
	width:60%;
	padding-top: 20px;
}
#kinou .leftimg{
	width:38%;
	padding: 0 10px;
}
@media only screen and (max-width:640px) {
	#kinou .righttxt,   #kinou .leftimg{
	   width:100%;
		margin: 0;
	}
}

.box_sub{
	background: #325A8C;
	color: #fff;
	font-size: 1.1em;
	text-align: center;
	padding: 5px 10px;
	border-radius: 6px;
}

@media only screen and (max-width:640px) {
	.box_sub{
	text-align: left;
	}
}

#hr02 div .d_link {
	margin-left:auto;
	margin-right:auto;
	line-height: 1.8;
	width: 500px;
}
@media only screen and (max-width:640px) {
	#hr02 div .d_link{
		width: 90%;
	}
}

#hr03 hr {
	border-top: 1px #ccc dotted ;
	border-bottom: 0px ;
	margin: 20px 0;
}
/*----------------------------------
「製品情報」新規追加ページ作成に伴う追記
　2022/05/20～ "product_items"
----------------------------------*/
.product_items h3{
	margin-top: 40px !important;
}
.product_items h4{
	font-size: 15px;
}
.product_items h5{
	padding: 0.3em 0.8em;
    margin: 0.5em 0 10px;
    border: solid 1px #325A8C;
    color: #325A8C;
    font-weight: bold;
    font-size: 14px;
}
.product_items p {
	margin-bottom: 20px;
}
.product_items table {
    margin-bottom: 40px;
}
.product_items table th {
    width: 25%;
}
.product_items table td,
.product_items table th {
    border-right: 1px solid #c1c1c1;
    border-bottom: 1px solid #c1c1c1;
    padding: 8px;
}
.product_items .column_wrap_03 .leftimg{
	float: left;
	width: 48%;
}
.product_items .column_wrap_03 .righttxt{
	float: right;
	width: 49%;
	padding: 0;
}
.product_items ul li {
	text-indent: -1em;
	padding-left: 1em;
}
.product_items ul li.kakko {
	text-indent: -0.5em;
	padding-left: 0.5em;
}
.product_items ul li:before{ 
    content:'•';
	font-weight: bold;
    padding-right: 5px;
}
@media only screen and (max-width:640px) {
	.product_items .column_wrap_03 .leftimg,
	.product_items .column_wrap_03 .righttxt{
		float: none;
		width: 100%;
	}
	.product_items br.pc {
		display: none;
	}
	.products_img img {
		margin-top: 5px;
	}
}
.products_img {
	text-align: center;
}
.product_items .products_img .type_wide {
	width: 85%;
	height: auto;
}
.product_items .products_img .type_long,
.product_items .products_img .type_long_w {
	width: auto;
	height: 500px;
}
.product_items .products_img .type_square {
	width: 350px;
	height: auto;
}
.product_items .products_img .type_square2 {
	width: 450px;
	height: auto;
}
.product_items .sankaku {
	margin: 0 10px 40px;
	text-indent: -1em;
	padding-left: 1em;
	font-size: 12px;
}
.product_items .sankaku::before {
    content: "▲";
	color: #004BA8;
}
@media only screen and (max-width:640px) {
	.product_items .products_img .type_wide {
		width: 100%;
	}
	.product_items .products_img .type_square,
	.product_items .products_img .type_square2{
		max-width: 350px;
		width: 90%;
	}
	.product_items .products_img .type_long {
		width: auto;
		height: 450px;
	}
	.product_items .products_img .type_long_w {
		max-width: 300px;
		width: 90%;
		height: auto;
	}
	.product_items .sankaku br{
		display: none;
	}
}
.product_items .columns-two {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
	margin-bottom: 40px;
}
.product_items .columns-two span {
	font-weight: bold;
	display: block;
}
.product_items .columns-two img,
.product_items .columns-button img {
	padding: 0 !important;
	margin: 0;
}
.product_items .waku {
    border: solid 1px #c1c1c1;
}
.product_items .page_link_four {
    display: grid;
    grid-template-columns: auto auto auto auto;
    gap: 10px;
}
.product_items .columns-button {
    display: grid;
    grid-template-columns: auto auto auto auto auto;
    gap: 10px;
	margin-bottom: 20px;
    border: solid 1px #c1c1c1;
	padding: 20px;
}
.product_items .columns-button .columns-inner{
	text-align: center;
}
.product_items .columns-button .arrow {
    display: flex;
    align-items: center;
	justify-content: center;
}
.product_items .columns-button .arrow img{
	width: 40px;
	height: 40px;
}
.product_items .columns-button img.sp {
	display: none;
}
.product_items .t_kakaku {
	width: 100%;
	max-width: 500px;
	margin-bottom: 5px;
}

.product_items .t_m-button {
	border: none;
	margin-bottom: 30px;
}
.product_items .t_m-button th,
.product_items .t_m-button td {
	text-align: center;
	width: auto;
}
.product_items .t_m-button .top {
	border-top: solid 1px #c1c1c1;
}
.product_items .t_m-button .corner1 {
	border-top: none;
	border-bottom: none;
}
.product_items .t_m-button .corner2 {
	border-top: none;
}
.product_items .t_m-button .corner3 {
	border-left: solid 1px #c1c1c1;
}
.product_items .t_m-button .col01 {
	width: 22%;
}
.product_items .t_m-button .col02 {
	width: 15%;
}
.product_items .t_m-button .col03 {
	width: 21%;
}
.product_items .top_img img,
.product_items .in_img img {
	margin: 0;
}
.product_items .bd_img img  {
	margin: 0;
	border: solid 1px #c1c1c1;
}
.product_items ol {
	margin-left: 30px;
}
.product_items .banner_contact {
	text-align: center;
}
.product_items a.anchor {
    display: block;
    padding-top: 5px;
    margin-top: -5px;
}
@media screen and (max-width: 639px) {
    .product_items .page_link_four {
        grid-template-columns: 1fr 1fr;
		gap: 5px;
    }
	.product_items .columns-two,
	.product_items .columns-button {
        grid-template-columns: 1fr;
	}
	.product_items .columns-button {
		max-width: 340px;
		width: 100%;
		margin: 0 auto 20px;
		gap: 0px;
		padding: 5px 20px;
	}
	.product_items .columns-button .arrow img{
		width: 80px;
		height: auto;
	}
	.product_items .columns-button img.pc {
		display: none;
	}
	.product_items .columns-button img.sp {
		display: block;
	}
	.product_items .t_m-button .col01,
	.product_items .t_m-button .col02 {
		width: auto;
	}
	.product_items .t_m-button .col03 {
		width: 24%;
	}
	.product_items .t_m-button .corner3 {
		writing-mode:vertical-rl;
		width: 45px;
	}
	.product_items .bd_img img  {
		max-width: 400px;
		width: 100%;
	}
}
@media screen and (min-width: 360px) {
	.product_items .t_m-button br {
		display: none;
	}
}
@media screen and (max-width: 479px) {
    .product_items .page_link_four {
        grid-template-columns: 1fr;
		gap: 0px;
    }

}
@media screen and (min-width: 480px) {
    .product_items .page_link_four sm{
		display: none;
	}

}
/*--「保守無線」"maintenance-radio" --*/
.maintenance-radio .products_img{
	margin: auto;
	width: 75%;
}
.maintenance-radio .column_wrap_03 .leftimg,
.maintenance-radio .column_wrap_03 .rightimg{
	text-align: center;
	color: #004BA8;
	line-height: 1.5;
	border-bottom: #ccc dotted 1px;
	padding: 10px 0;
	background-color: #f4fcff;
}
.maintenance-radio .column_wrap_03 .leftimg img,
.maintenance-radio .column_wrap_03 .rightimg img {
	width: 330px;
	height: auto;
	padding-bottom: 10px !important;
}
.maintenance-radio .column_wrap_03 .non {
	border: none !important;
	background-color: #fff;
}
@media only screen and (max-width:640px) {
	.maintenance-radio .products_img{
		width: auto;
	}
	.maintenance-radio .column_wrap_03 .leftimg,
	.maintenance-radio .column_wrap_03 .rightimg{
		background-color: #fff;
	}
	.maintenance-radio .column_wrap_03 .leftimg img,
	.maintenance-radio .column_wrap_03 .rightimg img {
		max-width: 350px;
		width:100%;
	}
}
/*--「緊急地震速報装置」"eew_souchi" --*/
.eew_souchi .righttxt span{
	display: block;
	margin-bottom: -10px;
	margin-top: 5px;
}
.eew_souchi .leftimg{
	text-align: center;
}
.eew_souchi .leftimg img{
	width: 65%;
}
.eew_souchi .arrow span{
	display: block;
	margin: 0px 25px 5px
}
@media only screen and (max-width:640px) {
	.eew_souchi .leftimg img{
		max-width: 220px;
	}
}

/*--「アナログ列⾞無線システム」 "analog_train" --*/
@media only screen and (min-width:500px){
	.analog_train .column_wrap_03 .leftimg {
		float: left;
		width: 20%;
		padding: 0;
		text-align: center;
		margin: 0 10px;
	}
	.analog_train .column_wrap_03 .righttxt {
		float: right;
		width: 70%;
		margin: 10px;
	}
}
@media only screen and (max-width:499px) {
	.analog_train .column_wrap_03 .leftimg,
	.analog_train .column_wrap_03 .righttxt {
		float: none;
		width: 100%;
		margin: 0;
	}
	.analog_train .column_wrap_03 .leftimg {
		text-align: center;
	}
	.analog_train .column_wrap_03 .leftimg .in_img {
		width: 100%;
		max-width: 160px;
		margin-bottom: 10px;
	}
}

/*--「デジタル列⾞無線システム」 "digita_train" --*/
.digita_train .column_wrap_03 .lefttxt{
	float: left;
	width: 56%;
	margin-left: 8px;
}

.digita_train .column_wrap_03 .rightimg{
	float: right;
	width: 40%;
	padding: 0;
	text-align: center;
	margin-bottom: 10px;
}
.digita_train .comment-box2 b {
	font-size: 110%;
}
@media only screen and (max-width:640px) {
	.digita_train .column_wrap_03 .lefttxt,
	.digita_train .column_wrap_03 .rightimg {
		float: none;
		width: 100%;
	}	
	.digita_train .column_wrap_03 .lefttxt {
		margin: 0;
	}	
	.digita_train .column_wrap_03 .rightimg {
		padding-left: 10px;
		padding-right: 10px;
		margin-bottom: 0;
	}
	.digita_train .column_wrap_03 .rightimg img {
		width: 100%;
	}
}
.digita_train div.box_ip{
    padding: 5px;
    margin: 60px 0 20px;
    border: 1px solid #99dce2;
}
.digita_train div.box_ip p{
    margin: 5px 15px 10px; 
    padding: 0;
	text-align: center;
}
.digita_train div.box_ip p.text_ue{
	text-align: left;
	margin-bottom: 5px;
}
.digita_train div.box_ip p.text_shita{
    font-size: 15px;
}
.digita_train div.box_ip p.text_kome{
	text-align: left;
	font-size: 12px;
	color: #555;
}
.digita_train div.box_ip span {
	display: block;
	color: #fff;
	background-color: #4ec4d3;	
	padding: 2px 5px;
	margin-bottom: 5px;
	font-size: 16px;
	text-align: center;
	font-weight: bold;
}
.digita_train div.box_ip hr {
	border-top: 1px #ccc dashed ;
	border-bottom: 0px ;
	margin: 15px 10px;
}
/*--「鋼索鉄道用無線システム」 "cable_railway" --*/
.cable_railway .box {
    position: relative;
    margin: 15px 0 20px;
    padding: 25px 10px 7px;
    border: dotted 2px #325A8C;
}
.cable_railway .box .box-title {
    position: absolute;
    display: inline-block;
    top: -2px;
    left: -2px;
    padding: 0 12px;
    height: 25px;
    line-height: 25px;
    font-size: 15px;
    background: #325A8C;
    color: #ffffff;
    margin-top: 1px;
}
.cable_railway .box p {
    margin: 0; 
    padding: 0;
}
/*--「IP変換装置」"ip_henkan" --*/
.ip_henkan div.box_ip{
    padding: 5px;
    margin: 60px 0 20px;
    border: 1px solid #99dce2;
}
.ip_henkan div.box_ip p{
    margin: 5px 15px 10px; 
    padding: 0;
	text-align: center;
}
.ip_henkan div.box_ip p.text_ue{
	text-align: left;
	margin-bottom: 5px;
}
.ip_henkan div.box_ip p.text_shita{
    font-size: 15px;
}
.ip_henkan div.box_ip p.text_kome{
	text-align: left;
	font-size: 12px;
	color: #555;
}
.ip_henkan div.box_ip span {
	display: block;
	color: #fff;
	background-color: #4ec4d3;	
	padding: 2px 5px;
	margin-bottom: 5px;
	font-size: 16px;
	text-align: center;
	font-weight: bold;
}
.ip_henkan div.box_ip hr {
	border-top: 1px #ccc dashed ;
	border-bottom: 0px ;
	margin: 15px 10px;
}
.ip_henkan .img_caption{
	margin-top: -20px;
	margin-bottom: 20px;
    font-size: 12px;
	text-align: center;
}
/*----------------------------------
トップカタログ請求バナー 220912追加
----------------------------------*/
.catalog_bnr {
	text-align: center;
}
.catalog_bnr img{
	width: 100%;
	height: auto;
	margin: 0 auto;
}

@media only screen and (max-width:640px) {
	.catalog_bnr img{
		max-width: calc(100% - 10px);
	}
}
/*--「鉄道各社様からの各種ご相談・対応事例」"various_cases" --*/
.various_cases .box_case {
    position: relative;
    padding: 0 1em;
    margin: 2em 0;
    border: solid 1px #0081E3;
    border-radius: 15px;
}
.various_cases .box_case:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 45%;
    border: 40px solid transparent;
    border-top: 15px solid #0081E3;
    width: 0;
    height: 0;
}
.various_cases .box_taisaku {
    position: relative;
    padding: 0 1em;
    margin: 2em 0 4em;
    border: solid 1px #d01220;
    border-radius: 15px;
}
.various_cases h4 {
    border-right: 1px solid #0081E3;
    border-bottom: 1px dashed #0081E3;
    border-top: 1px dashed #0081E3;
	margin-bottom: 5px;
}
.various_cases h4.taisaku {
    border-left: 4px solid #d01220;
    border-right: 1px solid #d01220;
    border-bottom: 1px dashed #d01220;
    border-top: 1px dashed #d01220;
	margin-bottom: 12px;
}
.various_cases .box_taisaku p {
	padding: 0 5px;
}
.various_cases .box_case p {
	padding: 7px 10px 10px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	background: #eaf6ff;
	margin-bottom: 15px;
}
.various_cases .box_taisaku div.hosoku {
	padding: 5px 10px;
	background: #fff;
	font-size: 13px;
    border: solid 3px #fce3e3;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	margin-bottom: 16px;
}
.various_cases .box_taisaku div.hosoku p {
	margin-bottom: 5px;
}
.various_cases .box_taisaku p.hosoku {
	font-size: 14px;
	font-weight: bold;
	display: block;
	margin-bottom: 3px;
	text-align: center;
    background: #fef0f0;
}
.various_cases .arr01 {
	padding: 2px 10px 2px 24px !important;
	margin-top: -5px;
	margin-bottom: 10px;
}
@media only screen and (max-width:640px) {
	.under_contents table.past th, 
	.under_contents table.past td {
		width: auto;
		background: #fff;
		vertical-align:top;
		font-weight: 100;
	}
}
.ceo_name {
	margin-top: 40px;
	text-align: right;
	font-size: 18px;
}
td.lh_yakuin{
	padding-top: 16px !important;
}