@charset "utf-8";

/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #000E20;	/*全体の文字色*/
	font-family: "Yu Gothic" ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 18px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #F3F6F9;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe.gmap {width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #333;		/*リンクテキストの色*/
	color: #005ddb;			/*マウスオン時の文字色*/
	transition: 0.2s;	/*マウスオン時の移り変わるまでの時間設定。0.2秒。*/
}
a:hover {
	color: #2b3f7f;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*コンテナー（ホームページを囲むブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1500px;	/*slide.cssの「#mainimg, #subimg」と設定と合わせる*/
	margin: 0 auto;
	border-top: 4px solid #001C42;	/*一番上に入っているアクセントライン。幅、線種、色。*/
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: relative;z-index: 1;
	height: 140px;	/*ヘッダーの高さ*/
	background: #fff;	/*背景色*/
}
/*ロゴ画像*/
header #logo img {
	width: 300px;	/*画像幅*/
	width: 20%;	/*画像幅*/
	min-width:250px ;
	position: absolute;
	left: 3%;		/*ヘッダーに対して左から3%の場所に配置*/
	top: 38px;	/*ヘッダーに対して上から38pxの場所に配置*/
}

/*ヘッダー内メニュー（「資料請求・お問い合わせ」と「見学のお申し込み」ボタン）
色などの他の指定は下の方の「a.btn1」で指定しています。
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#headermenu2 {
	position: absolute;
	right: 3%;		/*headerに対して右から3%の場所に配置*/
	bottom: 15px;	/*headerに対して下から15pxの場所に配置*/
}
/*メニュー１個あたり*/
#headermenu2 li {
	float: left;	/*左に回り込み*/
	margin-left: 10px;	/*メニュー同士の余白*/
}
#headermenu2 li a.btn1 {
	padding: 0px 15px 0px 30px;	/*上、右、下、左へのボックス内の余白*/
}

/*btn1
---------------------------------------------------------------------------*/
/*btn1共通*/
a.btn1 {
	text-decoration: none;display: inline-block;
	background: #004097 url(../images/arrow1.png) no-repeat 15px center;	/*古いブラウザ用*/
	background: #004097 url(../images/arrow1.png) no-repeat 15px center / 6px;	/*背景色、背景の矢印画像の読み込み、左から15pxの場所に配置。幅を6pxに。*/
	color: #FFF !important;
	border: 1px solid #004097;	/*枠線の幅、線種、色*/
	border-radius: 2px;			/*角丸のサイズ。ほんの少しだけ角を丸くしています。*/
}
/*マウスオン時*/
a.btn1:hover{
	background: #3d59b4 url(../images/arrow1.png) no-repeat 15px center / 6px;
}
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 0px 35px 0px 50px;	/*上、右、下、左へのボックス内の余白*/
	letter-spacing: 0.2em;		/*文字間隔を広くとる設定*/
}
/*ISOマークと電話番号
---------------------------------------------------------------------------*/
/*ボタンブロック全体*/
#headermenu {
	position: absolute;
	right: 3%;		/*headerに対して右から3%の場所に配置*/
	bottom: 5px;	/*headerに対して下から15pxの場所に配置*/
	width:400px ;
	width:auto ;
}
/*ISOマーク・事業継続力強化計画マーク*/
#headermenu .iso{
	width:140px ;
	float:right;
	margin-left :10px ;
	margin-top: 10px;
}
#headermenu .keizokuryoku{
	width:100px ;
	float:right;
	margin-left :10px ;
	margin-top: 7px;
}
/**/
#headermenu ul{
	float:left ;
	margin-top: 10px;
}
#headermenu li{
	margin:10px 10px 5px;
	text-align:center ;
	color:#004097 ;
	font-weight:bold ;
}
#headermenu .tel{
	font-family: "Yu Gothic" ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	background:#004097 ;
	color:#FFF ;
	font-size:120% ;
	padding:10px 20px 7px;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	clear: both;position: relative;z-index: 1;
	margin-left: 5%;	/*左に空けるスペース*/
	margin-top: 8%;		/*上に空けるスペース。この部分にイメージ画像が表示されます。*/
}
/*トップページのメニューブロック*/
body.home #menubar {
	margin-top: 35%;	/*上に空けるスペース。この部分にスライドショーが表示されます。*/
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: 18%;		/*メニュー幅*/
	margin: 0 0.4%;	/*0.4%はメニュー同士の左右間の余白。*/
}
#menubar li a {
	display:  block;text-decoration: none;position: relative;
	text-align: center;	/*内容をセンタリング*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
	background: #fff;	/*背景色（古いブラウザ用）*/
	background: rgba(255,255,255,0.85);	/*背景色。255,255,255は白の事で0.85は85%色がついた状態の事。*/
	color: #333;

	font-weight:bold ;
}
/*飾り文字*/
#menubar li span {
	display: block;
	font-size: 60%;		/*文字サイズ*/
	color: #004097;		/*文字色*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
}
/*飾り文字のマウスオン時、現在表示中(current)時*/
#menubar li a:hover span,
#menubar li.current a span {
	color: #fff;		/*文字色*/
}
/*マウスオン時と、現在表示中(current)メニューの設定*/
#menubar li a:hover,
#menubar li.current a {
	background: #004097;	/*背景色*/
	color: #fff;		/*文字色*/
	padding: 15px 0;	/*上下、左右へのボックス内の余白*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
#contents {
	clear: both;overflow: hidden;position: relative;
	background: #fff;	/*背景色*/
	padding: 5% 3%;		/*上下、左右へのボックス内の余白*/
	margin: 0 3% 50px;	/*上、左右、下へのボックスの外側への余白*/
}
/*h2タグ*/
#contents h2 {
	clear: both;
	margin-bottom: 40px;	/*下に空けるボックスの外側への余白*/
	font-size: 250%;		/*文字サイズ*/
	text-align: center;		/*文字を中央に*/
	line-height: 1.5;		/*行間を基準より少し狭くする*/

	font-weight:bold ;
}
/*h2タグ内のspanタグ（英語の飾り文字）*/
#contents h2 span.mini {
	display: block;
	font-size: 40%;	/*文字サイズ*/
	color: #004097;	/*文字色*/
	letter-spacing: 0.2em;	/*文字間隔を少し広くとる設定*/
}
/*h3タグ*/
#contents h3 {
	clear: both;
	margin-bottom: 30px;	/*下に空けるボックスの外側への余白*/
	text-align: center;		/*文字を中央に*/
	font-size: 130%;		/*文字サイズ*/
	font-weight:bold ;
	color:#FFF ;
	background:#001C42 ;
	border-radius: 50px;	/*角丸のサイズ。この行を削除すれば通常の長方形になります。*/
	border: 1px solid #001C42;	/*枠線の幅、線種、色*/
	padding: 0 50px;	/*上下、左右へのボックス内の余白*/
}
/*段落タグ*/
#contents p {
	padding: 0 20px 40px;
}
#contents p + p {
	margin-top: -10px;
}
/*section同士の余白*/
#contents section + section {
	margin-top: 40px;
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツ*/
.contents {
	padding:50px 0 50px;
}

/*お問い合わせボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.contact_box {
	background:#001C42 ;
	color:#FFF ;
	padding:50px 10px 30px;
}
.contact_box p span.tel{
	font-size:180% ;
	font-weight:bold ;
}
#contents .contact_box h2 span{
	color:#64a6ff ;
}
.contact_box h2{
	/*color:#FFF ;*/
}

/*各コンテンツブロックの背景設定
---------------------------------------------------------------------------*/
/*背景：ブルー*/
.bg_blue {
	background: #F3F6F9 ;
}

/*ページ内専用メニュー（service.htmlの見出しの下で使っています）
---------------------------------------------------------------------------*/
.nav {
	text-align: center;
	margin-bottom: 40px;
	background: #eee;
	padding: 10px;
}
.nav li {
	display: inline-block;
	padding: 0 10px;
}
.nav li::before {
	content: "> ";
	color: #004097;
}

/*list2（3つ並びボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list2 {
	position: relative;
	width: 28%;		/*ボックス幅*/
	margin: 0 1.5% 50px;	/*上、左右、下へ、ボックスの外側に空けるスペース*/
	text-align: center;		/*内容を中央よせ*/
	display:inline-block ;
}
/*ボックス内の画像*/
.list2 figure {
	margin-bottom: 0;	/*画像の下に空けるスペース*/
}
.list2 figure a:hover{
	opacity: 0.8;	/*マウスオン時。透明度80%にする。*/
}
/*ボックス内のh4（見出し）タグ*/
.list2 h4 {
	color:#FFF ;
	background:#004097 ;
	font-weight:bold ;
	position: absolute;
	bottom: -35px;	/*list2ボックスの上から0pxの場所に配置*/
	width: 100%;	/*幅*/
	padding:10px 0 ;
	margin-bottom:0 ;
}
/*ボックス内のp（段落）タグ*/
.list2 p {
	padding: 0px !important;
}
/*list3（トップページの「選ばれ続けて50年」のアイコンブロック）
---------------------------------------------------------------------------*/
/*各ブロックの設定*/
.list3 {
	width: 15%;		/*ブロック幅*/
	margin-left: 1%;	/*ボックスの外側(左側)に空けるスペース*/
	padding: 2% ;		/*ボックス内の余白*/
	display:inline-block ;
}
/*h4見出し*/
.list3 h4 {
	font-weight:bold ;
	text-align: center;	/*文字を中央に*/
	color: #005DDB;		/*文字色*/
	margin-bottom:0.5em ;
}
/*figure画像*/
.list3 figure {
	margin:0 auto 1em;
	border-radius: 6%;	/*角丸のサイズ。50%にすると円形になる。*/
	background: #F3F6F9;	/*背景色*/
	padding: 30px;		/*余白*/
}
/*figure画像*/
.list3 a:hover figure {
	background: #c6e5f4;	/*背景色*/
}
.list3 a:hover figure img{
	transform:translateY(-10px) ;
}

/*ニュース一覧ページ　各ニュースブロック
---------------------------------------------------------------------------*/
/*各記事ブロックの設定*/
#news article{
	padding:30px 0 ;
}
/*h5設定*/
#news article h5{
	font-weight:bold ;
	font-size:120% ;
	line-height:1.5 ;
	border-top:2px solid #004097 ;
	border-bottom:2px solid #004097 ;
	padding:10px 0 ;
	margin-bottom:30px ;
	color:#004097 ;
}
#news article h5 .day{
	font-weight:normal;
	font-size:90% ;
	color:#202020 ;
}
/*カテゴリーアイコン*/
.news-cate {
	display:inline-block ;
	width: 6em;			/*幅*/
	padding:2px 3px ;
	padding:0 3px ;
	/*margin-right:1em ;*/
	margin-left:0.5em ;
	background: #005ddb;	/*ブルー*/
	color: #fff;			/*文字色*/
	font-size:75% ;
	font-size: 14px ;
	font-weight:bold ;
	text-align:center ;
	font-family: "Yu Gothic" ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
}
h5 .news-cate {
	padding:2px 3px 0 ;
	font-size:75% ;
}
p  .news-cate {
	font-size:16px ;
	margin: 0 1em 1em;
}
.news-cate-all {background: #004097;	/*ネイビー*/}
.news-cate-event {background: #66cc00;	/*グリーン*/}
.news-cate-media {background: #00cccc;	/*エメラルドグリーン*/}
.news-cate-etc {background: #999;	/*グレー*/}
/*マウスオン時*/
a:hover .news-cate , .news-cate-current {	opacity: 0.5;}

/*NAVI ナビゲーション*/
.navi {
	clear:both ;
	font-weight:bold ;
	text-align:center ;
	margin:30px auto ;
	/*letter-spacing:10px ;*/
}
.navi a{
	font-weight:normal ;
	/*padding:0 10px 0 10px ;*/
	text-decoration:none ;
	/*letter-spacing:normal ;*/
}


/*トップページ内「ニュース」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#news dl {
	padding: 0px 20px;	/*上下、左右へのブロック内の余白*/
	margin-bottom: 20px;	/*ブロックの下(外側)に空ける余白*/
}
/*日付設定*/
#news dt {
	float: left;
	width: 9em;
	width: 12em;
	letter-spacing: 0.1em;
	margin-bottom:0.5em ;
}
/*記事設定*/
#news dd {
	padding-left: 9em;
	padding-left: 13em;
	border-bottom: 2px dotted #ccc;	/*下線の幅、線種、色*/
	margin-bottom:0.5em ;
	font-weight:bold ;
}
/*（technology.htmlで利用している文字飾り）
---------------------------------------------------------------------------*/
.bg_possible {
	width: 90%;						/* 幅指定 */
  	left: 0;
  	right: 0;
  	margin: auto;
    padding:  0.1em 20px 1.5em 20px;                 /* 余白指定 */
    background-color: #f4f4f4;   /* 背景色指定 */
	border: double 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);

}
.bg_possible h1 {
  padding: 1em 0.50em 0 0.5em;/*上下 左右の余白*/
  color: #004097;/*文字色*/
  font-size: 1.2em;		/*文字サイズ*/
  font-weight:bold ;
  background: transparent;/*背景透明に*/
  /*border-left: solid 7px #001C42;*/
  border-bottom: dashed 1px #5d627b	;

}

.bg_possible strong {
  font-weight:bold ;
  color: #001C42;/*文字色*/
}

/*（reason.htmlで利用している画像に文字を載せる）
---------------------------------------------------------------------------*/
.mojiover {/*親div*/
  position: relative;/*相対配置*/
  }

.mojiover p {
  position: absolute;/*絶対配置*/
  top: 45%;
  left: 50%;
  -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  margin:0;
  padding:0;
  color: #996600;
  font-weight: bold!important;
  font-size: 1.3em;/*サイズ2倍*/
  font-family :cursive,serif, sans-serif;
  line-height: 1.2em;		/*行間*/
}

/*うまくいかない    .mojiover p mini{
　letter-spacing: 0.05em;
}---*/


.mojiover img {
  width: 70%;
  }

.box_reason{
	padding: 0.5em 1em 2em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    /*border-top: solid 5px #5d627b;*/
	border: double 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
	background: #f4f4f4;
}
.box_reason p {
    margin: 0;
    padding: 0.7em!important;
	border-bottom: dashed 1px #5d627b;

}

/*アイコン設定
---------------------------------------------------------------------------*/
.icon_hammer::before {
	content:"\f6e3";
	font-family:"Font Awesome 5 Free";
	font-weight:900;
}
.icon_pen::before {
	content:"\f303";
	font-family:"Font Awesome 5 Free";
	font-weight:900;
}
.icon_dumbbell::before {
	content:"\f44b";
	font-family:"Font Awesome 5 Free";
	font-weight:900;
}

/*YouTube設定
---------------------------------------------------------------------------*/
.youtube {
  margin-bottom:1em ;
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;		/*文字を中央に*/
	font-size: 80%;			/*文字サイズ*/
	background: #004097;	/*背景色*/
	color:#FFF ;
}
/*リンクテキスト*/
footer a {color: #fff;}
footer a:hover {color: #fff;}
/*著作部分*/
footer .pr {display: block;}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	padding: 20px 3%;	/*上下、左右へのボックス内の余白*/
	background: url(../images/icon_logo.png) no-repeat right center / auto 80%;	/*フッター右側のロゴマークの設定。*/
	background: url(../images/icon_logo.png) no-repeat right -30px bottom -50px / auto 120%;	/*フッター右側のロゴマークの設定。*/
}
/*リンクテキストの設定*/
#footermenu a {
	opacity: 0.7;	/*透明度。70%の色がついた状態。*/
	display:inline-block ;
}
/*リンクのマウスオン時*/
#footermenu a:hover {
	opacity: 1;		/*透明度。100%の色がついた状態。*/
}
/*ロゴと住所の設定*/
footer #footermenu1{
	padding: 20px 10% 20px 10% ; /*上、右、下、左への余白*/
	text-align:left ;
	float:left ;
}
footer #footermenu1 img{
	width:300px ;
	margin-bottom:1em ;
}
/*フッターメニューの設定*/
footer #footermenu2{
	padding: 20px 10% 20px 0 ; /*上、右、下、左への余白*/
	text-align:left ;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #000E20;	/*背景色*/
	color: #fff;		/*文字色*/
}
#copyright a {text-decoration: none;}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption, .ta2 caption {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: #cce6f6;	/*背景色*/
	font-weight: bold;		/*太字に*/
	padding: 10px;	/*ボックス内の余白*/
}
/*ta1,ta2共通設定*/
.ta1,
.ta2 {
	width: 96%;
	table-layout: fixed;
	margin: 0 2% 30px;
}
.ta1, .ta1 td, .ta1 th,
.ta2, .ta2 td, .ta2 th {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	line-height: 2;
	padding: 10px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 150px;	/*幅*/
	text-align: center;	/*センタリング*/
	background: #e8e8e8;	/*背景色*/
	font-weight: normal;
}
/*ta2の左側ボックス*/
.ta2 th {
	background: #fffeba;	/*背景色*/
}
/*ta2の右側ボックス*/
.ta2 td {
	text-align: center;	/*センタリング*/
}
/*料金ページの追加設定（CMS用）*/
.ta1.price td {
	text-align: right;
}
.ta1.price tr.total th {
	background: #b7e0ee;
	font-size: 150%;
}
.ta1.price tr.total td {
	background: #deeff4;
	font-weight: bold;
	font-size: 150%;
}

/*ta3の左側ボックス*/
.ta3 th {
	width: auto ;
}
/*大「リンクボタン」設定
---------------------------------------------------------------------------*/
p.link {
}
p.link a {
	width:300px ;
	display: block;
	margin:30px auto 20px ;
	color: #FFF;		/*文字色*/
	background:#004097 ;
	border-radius:6px ;
	font-size: 110% ;	/*文字サイズ*/
	text-decoration: none;
	text-align: center;
	line-height:60px ;
}
/*マウスオン時*/
p.link a:hover {
	opacity:0.7;
}

/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	padding: 5px 10px;		/*上下、左右へのボックス内の余白*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	font-size: 20px;		/*文字サイズ*/
	border-radius: 3px;		/*角丸のサイズ*/
	background: #eee;		/*背景色*/
}
/*マウスオン時の設定*/
#contents input[type="submit"].btn:hover,
#contents input[type="button"].btn:hover,
#contents input[type="reset"].btn:hover {
	border: 1px solid #999;	/*枠線の幅、線種、色*/
	background: #fff;		/*背景色*/
}

/*ページの上部へボタン「↑」設定
---------------------------------------------------------------------------*/
@keyframes scroll {0% {opacity: 0;}100% {opacity: 1;}}
body .nav-fix-pos-pagetop a {display: none;}
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	z-index: 3;
	position: fixed;
	bottom: 20px;	/*下から20pxの場所に配置*/
	right: 3%;		/*右から3%の場所に配置*/
	background: #666;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒の事。0.6は60%色がついた状態。*/
	color: #fff;	/*文字色*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;	/*背景色*/
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #ccc;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.ml30 {margin-left: 30px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {margin-left :1em ;list-style: disc;}
.color1, .color1 a {color: #004097 !important;}
.b{font-weight:bold ;}
.color_y {color: #FFB511 !important;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.w50 {overflow: hidden;width: 50%;}
.fl {float: left;}
img.fl {float: left;width:30%;margin-right: 20px;margin-bottom: 20px;}
.fr {float: right;}
img.fr {float: right;width:35%;margin-left: 20px;margin-bottom: 20px;}
img.border {border:1px solid #DDD;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}
.ofh {overflow: hidden;}
.border_btm{border-bottom:1px solid #DDD ;}
.bgcolor_g{background:#f8f8f8 ;}



/*画面幅1040px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1040px){

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	font-size: 80%;	/*メニューのテキストが段落ちするので、文字サイズを縮小する。*/
}
/*list3（トップページの「選ばれ続けて50年」のアイコンブロック）
---------------------------------------------------------------------------*/
/*各ブロックの設定*/
.list3 {
	width: 25%;		/*ブロック幅*/
}
.list3 h4 {
	font-size:90% ;
}
}

/*画面幅942px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:942px){

}

/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

/*ヘッダー
---------------------------------------------------------------------------*/
	/*ヘッダーブロック*/
	header {
		position: relative;z-index: 1;
		height: 100px;	/*ヘッダーの高さ*/
		background: #fff;	/*背景色*/
	}
	/*ロゴ画像*/
	header #logo img {
		top: 20px;	/*上から20pxの場所に配置*/

		width:210px ;
		min-width: initial; /* 初期状態にリセット */
		min-width: auto; /* 初期状態にリセット */
	}
/*ISOマークと電話番号
---------------------------------------------------------------------------*/
	/*ボタンブロック全体*/
	#headermenu {
		right: 70px ;		/*headerに対して右から3%の場所に配置*/
		top:15px ;
		width:310px ;
		width:auto ;
	}
	/*ISOマーク・事業継続力強化計画マーク*/
	/*
	#headermenu .iso{
		width:100px ;
	}
	#headermenu .keizokuryoku{
		width:60px ;
	}
	*/
	/**/
	#headermenu li{
		margin:10px 10px 0;
		font-size:80% ;
	}
	#headermenu .tel{
		font-size:110% ;
	}

/*btn1
---------------------------------------------------------------------------*/
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
	#contents a.btn1 {
		padding: 0px 20px;	/*上、右、下、左へのボックス内の余白*/
		letter-spacing: normal;		/*文字間隔を初期設定に戻す*/
		background: #004097 url(none);
	}

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。
透明(opacity: 0;)から色をつける(opacity: 1;)までの指定。*/
	@keyframes menubar {
		0% {opacity: 0;}
		100% {opacity: 1;}
	}
/*スマホ用メニューブロック*/
	#menubar-s {
		display: block;overflow: hidden;
		position: absolute;z-index: 2;
		top: 0px;
		width: 100%;
		background: rgba(0,0,0,0.8);	/*背景色*/
		border-top: 1px solid #fff;		/*上の線の幅、線種、色*/
		animation-name: menubar;		/*上のkeyframesの名前*/
		animation-duration: 0.5s;	/*アニメーションの実行時間。0.5秒。*/
		animation-fill-mode: both;	/*待機中は最初のキーフレームを、完了後は最後のキーフレームを維持*/
	}
/*メニュー１個あたりの設定*/
	#menubar-s li a {
		display: block;text-decoration: none;
		padding: 15px;	/*メニュー内の余白*/
		border-bottom: 1px solid #fff;	/*下の線の幅、線種、色*/
		color: #fff;	/*文字色*/
		font-size: 20px;
	}
/*説明表記（飾り文字）*/
	#menubar-s li a span {
		display: block;
		font-size: 12px;	/*文字サイズ*/
		color: #999;	/*文字色*/
	}
/*PC用メニューを非表示にする*/
	#menubar {display: none;}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
	#menubar_hdr {
		display: block;
		position: absolute;z-index: 2;
		top: 20px;		/*上から20pxの場所に配置*/
		right: 2%;	/*右から2%の場所に配置*/
		border: 1px solid #fff;	/*枠線の幅、線種、色*/
	}
/*アイコン共通設定*/
	#menubar_hdr.close,
	#menubar_hdr.open {
		width: 40px;	/*幅*/
		height: 40px;	/*高さ*/
	}
/*三本バーアイコン*/
	#menubar_hdr.close {
		background: #004097 url(../images/icon_menu.png) no-repeat center top/40px;	/*背景色、背景画像の読み込み、画像の上半分（３本マーク）を表示。幅は40px。*/
	}
/*閉じるアイコン*/
	#menubar_hdr.open {
		background: #004097 url(../images/icon_menu.png) no-repeat center bottom/40px;	/*背景色、背景画像の読み込み、画像の下半分（×マーク）を表示。幅は40px。*/
	}

/*コンテンツ
---------------------------------------------------------------------------*/
	#contents {
		margin-top: 8%;	/*上に空けるスペース。この部分にイメージ画像が表示されます。*/
	}
	body.home #contents {
		margin-top: 40%;	/*上に空けるスペース。この部分にスライドショーが表示されます。*/
	}

/*コンテンツ。メニューの下にある白い背景色のブロック。
---------------------------------------------------------------------------*/
/*h2タグ*/
	#contents h2 {
		font-size: 200%;		/*文字サイズ*/
	}

/*list3（トップページの「選ばれ続けて50年」のアイコンブロック）
---------------------------------------------------------------------------*/
/*各ブロックの設定*/
	.list3 {
		width: 28%;		/*ブロック幅*/
		margin-left: 0.5%;	/*ボックスの外側(左側)に空けるスペース*/
		padding: 0.5% ;		/*ボックス内の余白*/
		display:inline-block ;
	}
	/*figure画像*/
	.list3 figure {
		padding: 20px;		/*余白*/
	}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}
.big1 {font-size: 20px;}
.w50 {overflow: hidden;width: auto;}
.fl {float: none;}
.fr {float: none;}
.sh {display:block;}
.pc {display:none;}

}



/*画面幅1000px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1000px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	/*font-size: 15px;	/*文字サイズ*/
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: static;
	height: auto;

	text-align:center ;
}
/*ロゴ画像*/
header #logo img {
	width: 240px;	/*画像幅*/
	position: static;
	padding: 20px 3%;
}

/*ISOマークと電話番号
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#headermenu {
	position: static;
	overflow: hidden;
	padding-bottom: 10px;
	text-align:center ;
	width:auto ;
}
/*ISOマーク・事業継続力強化計画マーク*/
#headermenu .iso{
	float:none ;
	margin-right:10px ;
}
#headermenu .keizokuryoku{
	float:none ;
	margin-right:20px ;
	margin-left: 0px;
}
/**/
#headermenu ul{
	float:none ;
}
#headermenu li{
	font-size:100% ;
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*h3タグ*/
#contents h3 {
	padding: 0 20px;	/*上下、左右へのボックス内の余白*/
	font-size: 110%;
}
/*お問い合わせボックス
---------------------------------------------------------------------------*/
.contact_box p span.tel{
	font-size:150% ;
}
/*コンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツ*/
.contents {
	padding:50px 0 0px;
}
/*フッターメニュー
---------------------------------------------------------------------------*/
/*ロゴと住所の設定*/
footer #footermenu1{
	padding: 20px 0% 20px 0 ; /*上、右、下、左への余白*/
	float:none ;
	text-align:center ;
}
footer #footermenu1 img{
	width:250px ;
}
/*フッターメニューの設定*/
footer #footermenu2{
	text-align:center ;
}
/*list2（3つ並びボックス）
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
.list2 {
	float:none ;
	width:100% ;
	margin:0 0 40px;
}
/*ボックス内のh4（見出し）タグ*/
.list2 h4 {
	bottom: 0px;	/*list2ボックスの上から0pxの場所に配置*/
}

/*list3（トップページの「選ばれ続けて50年」のアイコンブロック）
---------------------------------------------------------------------------*/
/*各ブロックの設定*/
.list3 {
	width: 40%;		/*ブロック幅*/
	margin-left: 1%;	/*ボックスの外側(左側)に空けるスペース*/
	padding: 1% ;		/*ボックス内の余白*/
	display:inline-block ;
}
/*figure画像*/
.list3 figure {
	padding: 30px;		/*余白*/
}
/*ニュース一覧ページ　各ニュースブロック
---------------------------------------------------------------------------*/
/*写真の設定*/
#news img.fr{
	float:none ;
	width:94% ;
	margin:0 3% 15px;
}

/*トップページ内「ニュース」ブロック
---------------------------------------------------------------------------*/
/*日付設定*/
#news dt {
	float:none ;
	margin-bottom:0 ;
}
/*記事設定*/
#news dd {
	padding-left: 0;
	padding-bottom:0.5em ;
}
/*YouTube設定
---------------------------------------------------------------------------*/
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom:2em ;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta3設定*/
.ta3 th,
.ta3 td{
	font-size:90% ;
}
.ta3 td{
	text-align:left ;
}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	/*font-size: 12px;	/*文字サイズ*/
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: static;
	height: auto;
}
/*ロゴ画像*/
header #logo img {
	width: 240px;	/*画像幅*/
	position: static;
	padding: 20px 3%;
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*h2タグ*/
#contents h2 {
	font-size: 150%;	/*文字サイズ*/
	margin-bottom: 20px;	/*下に空けるボックスの外側への余白*/
}
/*h3タグ*/
#contents h3 {
	font-size: 100%;	/*文字サイズ*/
	margin-bottom: 20px;/*下に空けるボックスの外側への余白*/
	/*line-height: 1.5;	/*行間を少し狭くする*/
}
/*段落タグ*/
#contents p {
	padding: 0px 0px 20px;	/*上、左右、下への段落タグ内の余白*/
	line-height: 1.5;		/*行間を少し狭くする*/
}
/*section同士の余白*/
#contents section + section {
	margin-top: 20px;
}

/*btn1
---------------------------------------------------------------------------*/
/*contents内のbtn1。主にinfo.htmlやservice.htmlで使っています。*/
#contents a.btn1 {
	padding: 0px 10px;	/*上、右、下、左へのボックス内の余白*/
}
/*コンテンツ
---------------------------------------------------------------------------*/
/*メインコンテンツ*/
.contents {
	padding:0px 0 0px;
}
/*お問い合わせボックス
---------------------------------------------------------------------------*/
/*コンテンツボックス*/
.contact_box {
	padding:20px 0px 10px;
}
/*トップページ内「ニュース」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#news dl {
	padding: 0px 10px;	/*上下、左右へのブロック内の余白*/
}
/*日付設定*/
#news dt {
	float:none ;
}
/*記事設定*/
#news dd {
	padding-left: 0;
	padding-bottom:0.5em ;
	margin-bottom:1em ;
}
/*カテゴリーアイコン*/
p .news-cate {
	padding:4px 3px ;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption, .ta2 caption {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1,ta2共通設定*/
.ta1,
.ta2 {
	width: 100%;
	margin: 0 0 30px;
}
.ta1, .ta1 td, .ta1 th,
.ta2, .ta2 td, .ta2 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*inputボタンにclass="btn"をつけた場合の設定
---------------------------------------------------------------------------*/
#contents input[type="submit"].btn,
#contents input[type="button"].btn,
#contents input[type="reset"].btn {
	font-size: 12px;		/*文字サイズ*/
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}

img.fr,img.fl {width:100% ;float: none;margin:0 0% 10px ;}
/*ul.disc {padding: 0em 0px 20px 18px;}*/

}
