@charset "utf-8";


/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #333;
	font-family:arial, Helvetica, "Hiragino Kaku Gothic ProN", "Meiryo", "MS PGothic", sans-serif;
	font-size: 16px;
	line-height: 1.7;
	background: #fff;
	-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 {width: 100%;}

/* マージン＆パディング ---------------------------------------------------------------------------*/
.mp0{
	margin: 0!important;
	padding: 0!important;
}
.mgTB40{
	margin: 40px 0!important;
}
.mgB30{ margin-bottom:30px!important; }
.mgB20{ margin-bottom: 20px!important; }
.center{ text-align: center!important; }
.pb15{ padding-bottom: 15px; }
.pb20{ padding-bottom: 20px; }

/*パンくず（共通）設定
---------------------------------------------------------------------------*/
ul.bread_list {
    display: flex;
    margin: 10px 0 0 0;
	font-size: 80%;
}
.bread_list li:not(:last-child):after {
    content: " ＞ ";
    margin: 0 5px;
}

/*リンク（共通）設定
---------------------------------------------------------------------------*/
a {
	color: #18786a;
	-webkit-transition: 0.2s;	/*マウスオン時の移り変わるまでの時間設定。●秒。*/
	transition: 0.2s;			/*同上*/
}
a:hover {
	color: #18786a;
	text-decoration: none;
}

a[target="_blank"] {
	padding-right:20px;
	background: url(../images/icon_link_blank.png) no-repeat right;
}
a.pdf {
	padding-right:30px;
    background: url(../images/icon_pdf.png) no-repeat right!important;
}
a.none{
	background:none;
	padding: 0;
}
/*inner共通
---------------------------------------------------------------------------*/
.inner {
	max-width: 1000px;	/*サイトの最大幅*/
	margin: 0 auto;
	padding: 0 2%;
}

/*ヘッダー（ロゴ）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	border-top: 0px solid #a7be42;
}
header .inner {
	height: 77px;
}
/*ロゴ画像*/
header #logo {
	width: 330px;
	float: left;
	margin-top: 15px;
}

/*ヘッダー（右側）
---------------------------------------------------------------------------*/
/*ブロック全体*/
#contact {
	float: right;
	margin-top: 0;
	width: 480px;
	text-align: right;
}
/*印刷させない*/
@media print{
	#contact{display:none;}
}

/*アイデアを見る・投稿する*/
#contact li {
	float: left;
	margin-top: 5px;
	margin-right: 20px;
}
#contact .homeLink{
	width: 480px;
	float:right;
	font-size: 80%;
}
#contact .homeLink a{
	color: #333;
}

/*メインメニュー
---------------------------------------------------------------------------*/
#menubar {
	clear: both;
	overflow: hidden;
	position: relative;z-index: 1;
	background-color: #f5f5f5;
	border-bottom: 1px solid #dcdcdc;	/*メニュー下の線の幅、線種、色*/
}

/*印刷させない*/
@media print{
	#menubar{display:none;}
}

/*メニュー１個あたりの設定（アイデアコンテスト）*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: 14.2%;	/*メニュー幅（100÷6個=16.6%）　もし４個にするなら100÷4=25%になる。*/
	font-size: 15px;
}
/*メニュー１個あたりの設定（イノベーション推進）*/
#menubar li.inv {
	float: left;	/*左に回り込み*/
	width: 16.6%;	/*メニュー幅（100÷6個=16.6%）　もし４個にするなら100÷4=25%になる。*/
	font-size: 15px;
}

#menubar li a {
	display:  block;
	color: #000;
	text-decoration: none;
	text-align: center;
	line-height: 50px;	/*メニューの高さ*/
	padding-top: 4px;	/*下のブロックの「border-bottom」と「bottom」の数字と合わせる。*/
}
/*下線のアニメーション設定*/
#menubar li::after {
	transition: 0.2s;	/*0.2秒かけてアニメーションを実行する。*/
	content: "";
	display: block;
	border-bottom: 4px solid #fddd06;	/*下線の幅、線種、色。上のブロックの「padding-top」と、下の行の「bottom」の数字と合わせる。*/
	position: relative;left: 0px;bottom: -4px;	/*bottomの数字は上のブロックの「padding-top」と、上の行の「border-bottom」の数字と合わせる。※マイナス記号は残したまま。*/
}
#menubar li:hover::after,#menubar li.current::after {
	bottom: 0px;
}
/*スマホ用メニューを表示させない*/
#menubar-s {
	display: none;
}
/*３本バーアイコンを表示させない*/
#menubar_hdr {
	display: none;
}

/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	clear: both;
	overflow: hidden;
	padding: 0 0 40px 0;
	background: #d8eced !important;
}
/*コンテンツのh2タグの設定*/

.contents h1 {
	clear: both;
	text-align: center;
	font-size: 200%;
	letter-spacing: 10px;
	line-height: 1.4;
	background-image: url(../idea/img/h2_line.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	margin: 20px 0;
	padding-bottom: 20px;
	color: #333;
}

/* 2019/02/21 ADD START */
.contents h1.long {
	clear: both;
	text-align: center;
	font-size: 200%;
	letter-spacing: 5px;
	line-height: 1.4;
	background-image: url(../idea/img/h2_line_long.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	margin: 20px 0;
	padding-bottom: 20px;
	color: #333;
}
/* 2019/02/21 ADD END */

.contents h2 {
	clear: both;
	text-align: center;
	font-size: 200%;
	line-height: 1.4;
	background-image: url(../idea/img/h2_line.png);
	background-position: center bottom;
	background-repeat: no-repeat;
	margin: 20px 0;
	padding-bottom: 20px;
	color: #333;
}

.contents h1.typeB{
    padding: 10px 0;
    border-top: 1px dotted #ABA7A7;
    border-bottom: 1px dotted #ABA7A7;
	background-image: none;
}
.contents h2.typeB{
    padding: 10px 0;
    border-top: 1px dotted #ABA7A7;
    border-bottom: 1px dotted #ABA7A7;
	background-image: none;
}
.contents h3.typeB{
    padding: 10px 0;
    border-top: 1px dotted #ABA7A7;
    border-bottom: 1px dotted #ABA7A7;
	background-image: none;
}
/*コンテンツのh3タグの設定*/
.contents h3 {
	clear: both;
	margin: 40px 15% 20px 15% ;
	font-size: 150%;
    display: flex;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
}

.contents h3:before,
.contents h3:after {
    border-top: 1px solid;
	border-color: #A6A3A3;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}

.contents h3:before {
    margin-right: 0.5em;
}

.contents h3:after {
    margin-left: 0.5em;
}


/*コンテンツの段落タグ設定*/
.contents p {
	padding: 0px 20px 15px;
}
.contents h2 + p,
.contents h3 + p {
	margin-top: -10px;
}

/*メインコンテンツ
---------------------------------------------------------------------------*/
.main {
	overflow: hidden;
	float: right;
	width: 72%;
}

/*コピーライト
---------------------------------------------------------------------------*/
.copyright {
	padding: 20px 0 40px 0;
	clear: both;
	text-align: center;
	background: #7d7d7d;
	color: #FFF;
}

.copyright p{
	margin-top: 20px;
	line-height: 1.6em;
}
.copyright a {
	color: #FFF;
}

/*テーブル
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 20px;
}
.ta1, .ta1 td, .ta1 th {
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px 15px;	/*ボックス内の余白*/
	word-break: break-all;
}

/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #f6f5f2;	/*背景色*/
	font-size: 18px;	/*文字サイズ*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: center;	/*センタリング*/
	font-weight: normal;
}
/*左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}

/*PAGE TOP設定
---------------------------------------------------------------------------*/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
}
/*印刷させない*/
@media print{
	#pageTop{display:none;}
}
#pageTop a {
  display: block;
  z-index: 999;
  padding: 8px;
  border-radius: 30px;
  width: 35px;
  height: 35px;
  background-color: #A1A6A5;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #e5e5e5;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 15px;list-style: disc;}
.color1, .color1 a {color: #a7be42;}
.bg1 {background: #f6f5f2;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
img.fr {float: right;margin-left: 10px;margin-bottom: 10px;}
img.fl {float: left;margin-right: 10px;margin-bottom: 10px;}
.big1 {font-size: 24px;letter-spacing: 0.2em;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}



/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width : 800px ){

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	width: auto;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	border-bottom: 1px solid #dcdcdc;	/*上の線の幅、線種、色*/
}

/*ヘッダー右側のブロック
---------------------------------------------------------------------------*/
/*ブロック全体を非表示にする*/
#contact {
	display: none;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*スマホ用メニューを非表示から表示に切り替える*/
#menubar-s {
	display: block;
}
/*メニュー１個あたりの設定*/
#menubar-s li {
	float: left;
	width: 50%;
}
#menubar-s li a {
	display: block;
	text-decoration: none;
	text-align: center;
	padding: 10px 0;
	font-size: 80%;
	border-bottom: 1px solid #dcdcdc;
	border-right: 1px solid #dcdcdc;
	background-image: none;
}
/*偶数番目のメニューの右側の線を消す*/
#menubar-s li:nth-child(even) a {
	border-right: none;
}
/*PC用メニューを非表示にする*/
#menubar {
	display: none;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: absolute;
	top: 20px;
	right: 2%;
	width: 30px;
	border: 0px solid #666;
	padding: 5px 10px 5px;
	background: #fff;
}
/*３本のバー（1本あたり）*/
#menubar_hdr span {
	display: block;
	border-top: 3px solid #666;
	margin-bottom: 7px;
}

/*その他
---------------------------------------------------------------------------*/
body.s-n .sub,body.s-n #footermenu,.m-n {display: none;}
.fl-half{float:left;width:45%;margin-left:3%;}
.sh {display:block;}
.pc {display:none;}
}






/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){


/*table設定
---------------------------------------------------------------------------*/
.ta1 th {
	width: 100px;
	padding: 5px;
}
.ta1 td {
	width: auto;
	padding: 5px;
}

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 16px;	/*文字サイズ*/
	line-height: 1.5;	/*行間*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo {
	width: 300px;	/*ロゴ画像の幅*/
	margin-top: 10px; /*ロゴの上にあける余白*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
.contents {
	padding: 5px 0;
}
/*コンテンツのh2タグの設定*/
.contents h2,h1 {
	font-size: 120%!important;
	letter-spacing: normal;
	padding: 5px 10px;
}
/*コンテンツの段落タグ設定*/
.contents p {
	padding: 0px 10px 15px;	/*上、左右、下への余白*/
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
img.fr,img.fl {float: none;margin: 0;width: 100%;}
.fl-half{float:none;width:100%;margin-left:0;}
.bread_list	{display:none!important;}

}






/*ログイン
--------------------------------------------------------------*/
#loginbox{
	width: 465px;
	height: 360px;
	padding: 40px;
	border: 1px solid #ccc;
	margin: 0 auto;
	border-radius: 4px;
	background: #FFF;
	box-sizing:border-box;
	margin: 100px auto;
}
#loginbox p{
	border: 1px solid #ccc;

}
#loginbox p:first-child{
	border-bottom: none;
}
.login_btn{
	padding: 10px 0 0 0;
}
.login_btn input{
	width: 100%;
}
.txt_frm{
	width: 100%;
	font-size: 15px;
	color: #32373C;
	padding:10px 15px;
	box-sizing:border-box;
	border: 1px solid #ccc;
	border-radius: 4px;
}
.select_frm{
	font-size: 15px;
	color: #32373C;
	padding:10px 15px;
	box-sizing:border-box;
	border: 1px solid #ccc;
	border-radius: 4px;
}
#loginbox h4{
	font-weight: bold;
	margin-bottom: 20px;
}
.error_box{
	padding: 50px 0 100px 0;
	text-align: center;
}
.error_box h1{
	font-weight: bold;
	font-size: 120%;
	padding-bottom:0.5em;
}
/*
共通スタイル
--------------------------------------------------------------*/
.center{ text-align: center}
.pt50{ padding-top: 50px; }
.error_msg{ padding: 20px 0;}
.pd10{padding: 10px;}
input.btn1{
	color: #FFF;
	text-align: center;
	display:inline-block;
	background: #2896CC;
	line-height: 1;
	font-size: 15px;
	padding: 14px 20px;
	border: none;
	border-radius: 3px;
	text-decoration: none;
	border-style: none;
	 outline: none;
}

#user_info{
	padding: 15px 0;
}
.entry_img{
	text-align: center;
	padding: 15px;
}
.entry_img img{
	width: 85%;
	height: auto;
}
.error{
	color: #D90000;
	font-size: 13px;
}
.count{
	text-align: right;
	color: #333;
}
.error_cell{
	background: #FBE5E5;
}
.memo{
	padding-top: 5px;
	font-size: 13px;
}
.commSize{
	margin: 0;
	padding: 0;
	text-align: right;
	color: #333;
	font-size: 90%;
}
.commSize strong{
	font-size: 140%;
}
.pb200{
	padding-bottom: 200px;
}
.info_text {
	padding: 2%;
}
.info_text p{
	margin: 0;
	padding: 0;
}

/* 2019/02/21 ADD START */
span.header_search {
  margin-top: -30px;
	float: right;
}
span.header_search img {
  padding-left: 10px;
}
/* 2019/02/21 ADD END   */
