@charset "UTF-8";


/*----------------------------------------
	基本設定
----------------------------------------*/

body,div,nav,section,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,input,textarea,p{
	margin: 0;
	padding: 0;
}

body{
	zoom: 1;
	color: #111;
	-webkit-text-size-adjust: none;
	line-height: 1.5;
	font-family: sans-serif;
	font-size: 12px;
	border-top: 3px solid #8cc329;
}

h1,h2,h3,h4,h5,h6 {
	font-weight: bold;
}

strong{
	font-weight: bold;
}

table{
	border-collapse: collapse;
	border-spacing: 0;
}

img{
	border: 0;
	vertical-align: top;
}

address,em,th,dt{
	font-style: normal;
	font-weight: normal;
}

nav,section {
	display: block;
}

li{
	list-style: none;
}

input, textarea, select{
	font-size: 100%;
}

input, select {
	vertical-align: middle;
}

a, a:visited {
	color: #008837;
	text-decoration: none;
}

.linkw a, .linkw a:visited {
	color: #fff;
}

.linkk a, .linkk a:visited {
	color: #111;
}

/*----------------------------------------
	header
----------------------------------------*/
header {
	
}

header p {
	background-color: #eeeeee;
	padding: 4px 5px;
}

header div {
	padding: 0 6px 10px 7px;
}

header h1,
header div#logo {
	float: left;
	padding: 10px 0 0;
}

header ul {
	float: right;
	width: 30%;
	display: table;
}

header ul li {
	display: table-cell;
	text-align: center;
}

header ul li a {
	display: block;
	-webkit-border-radius: 0 0 5px 5px;
	border-radius: 0 0 5px 5px;
	background: #232323; /* Old browsers */
	background: -moz-linear-gradient(top, #757575 0%, #232323 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#757575), color-stop(100%,#232323)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #757575 0%,#232323 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #757575 0%,#232323 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #757575 0%,#232323 100%); /* IE10+ */
	background: linear-gradient(top, #fff7575750%,#232323 100%); /* W3C */
	padding: 0 7px;
	margin-left: 3px;
	-webkit-box-shadow: 0 2px 10px 0 #cccccc;
	box-shadow: 0 2px 10px 0 #cccccc;
}

/*----------------------------------------
	menu
----------------------------------------*/

.menu {
	padding: 10px 4px 5px;
	background-color: #eeeeee;
	-webkit-box-shadow:inset 0 0 5px 0 #cccccc;
	box-shadow:inset 0 0 5px 0 #cccccc;
}

.menu ul {
	display: table;
	width: 100%;
	margin: 0 0 6px;
}

.menu ul li {
	display: table-cell;
	text-align: center;
	padding: 0 3px;
}

.menu ul li span {
	display: block;
	border: 2px solid #549901;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	background: #539801; /* Old browsers */
	background: -moz-linear-gradient(top, #7eba30 0%, #79b330 50%, #5aa202 50%, #539801 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7eba30), color-stop(50%,#79b330), color-stop(50%,#5aa202), color-stop(100%,#539801)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #7eba30 0%,#79b330 50%,#5aa202 50%,#539801 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #7eba30 0%,#79b330 50%,#5aa202 50%,#539801 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #7eba30 0%,#79b330 50%,#5aa202 50%,#539801 100%); /* IE10+ */
	background: linear-gradient(top, #7eba30 0%,#79b330 50%,#5aa202 50%,#539801 100%); /* W3C */
}

.menu ul li a {
	display: block;
	background: url(../../img/portal_sp/common/bg_menu_arrow.png) right bottom no-repeat;
	-webkit-background-size: 10px 11px;
	background-size: 10px 11px;
	padding: 9px 0px;
}

/*----------------------------------------
	メインコンテンツ 共通パーツ
----------------------------------------*/

/* 見出し */

.h1_block,
.top_h2_block {
	padding: 4px 8px;
	border-top: 1xp solid #222;
	border-bottom: 1xp solid #222;
	background: #333; /* Old browsers */
	background: -moz-linear-gradient(top, #444 0%, #444 50%, #333 50%, #333 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#444), color-stop(50%,#444), color-stop(50%,#333), color-stop(100%,#333)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #444 0%,#444 50%,#333 50%,#333 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #444 0%,#444 50%,#333 50%,#333 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #444 0%,#444 50%,#333 50%,#333 100%); /* IE10+ */
	background: linear-gradient(top, #444 0%,#444 50%,#333 50%,#333 100%); /* W3C */
	margin-bottom: 10px;
}

.h1_block h1,
.top_h2_block h2 {
	background: url(../../img/portal_sp/common/bg_ttl01.png) left center no-repeat;
	-webkit-background-size: 4px 25px;
	background-size: 4px 25px;
	padding: 4px 10px 4px 10px;
	font-size: 14px;
	color: #fff;
}

.h2_block,
.top_h3_block {
	border-bottom: 2px solid #ccc;
	margin-bottom: 10px;
}

.h2_block h2,
.top_h3_block h3 {
	background: url(../../img/portal_sp/common/bg_ttl01.png) left center no-repeat;
	-webkit-background-size: 4px 23px;
	background-size: 4px 23px;
	padding-left: 8px;
	font-size: 12px;
}

h4 {
	background: url(../../img/portal_sp/common/col3_ttl_bg.png) left center no-repeat;
	-webkit-background-size: 5px 5px;
	background-size: 5px 5px;
	padding-left: 10px;
	font-size: 12px;
	margin-bottom: 10px;
}

h5 {
	color: #8cc329;
	font-size: 12px;
}

/* 検索アコーディオン用 */

.top_h2_block span close {
	
}

.top_h2_block span {
	display:block;
	padding:3px 0;
	cursor:pointer;
	background:url(../../img/portal_sp/common/col2_open.png) right center no-repeat;
	background-size: 22px auto; 
	-webkit-background-size: 22px auto; /* Safari,Google Chrome用 */
	-moz-background-size: 22px auto; /* Firefox用 */
	-o-background-size: 22px auto; /* Opera用 */
}

.top_h2_block h2.close span {
	background:url(../../img/portal_sp/common/col2_close.png) right center no-repeat    !important;
	background-size: 22px auto !important; 
	-webkit-background-size: 22px auto !important; /* Safari,Google Chrome用 */
	-moz-background-size: 22px auto !important; /* Firefox用 */
	-o-background-size: 22px auto !important; /* Opera用 */
}

/* テキストブロック */

.txt_block {
	padding: 0 10px;
	margin-bottom: 25px;
}

.txt_block p {
	margin-bottom: 1em;
}

.txt_block p:last-child {
	margin-bottom: 0;
}

/* 汎用ボタンデザイン */

.bt_01 {
	text-align: center;
	margin-bottom: 20px;
}

.bt_01 a, .bt_01 input{
	display: block;
	background: #222; /* Old browsers */
	background: -moz-linear-gradient(top, #3d3d3d 0%, #3d3d3d 50%, #222 50%, #222 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3d3d3d), color-stop(50%,#3d3d3d), color-stop(50%,#222), color-stop(100%,#222)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #3d3d3d 0%,#3d3d3d 50%,#222 50%,#222 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #3d3d3d 0%,#3d3d3d 50%,#222 50%,#222 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #3d3d3d 0%,#3d3d3d 50%,#222 50%,#222 100%); /* IE10+ */
	background: linear-gradient(top, #3d3d3d 0%,#3d3d3d 50%,#222 50%,#222 100%); /* W3C */
	width: 40%;
	margin:0 auto;
	padding: 6px 0;
	-webkit-box-shadow: 0 3px 0 0 #e4e3e3;
	box-shadow: 0 3px 0 0 #e4e3e3;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	color: #fff !important;
	font-weight: bold;
}

.bt_01 input{
	border: 0;
}

.bt_02 {
	text-align: center;
	margin-bottom: 20px;
}

.bt_02 a,.bt_02 input {
	border: 1px solid #d3d2d2;
	display: block;
	background: #222; /* Old browsers */
	background: -moz-linear-gradient(top, #f3f3f3 0%, #f3f3f3 50%, #d3d2d2 50%, #d3d2d2 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f3f3f3), color-stop(50%,#f3f3f3), color-stop(50%,#d3d2d2), color-stop(100%,#d3d2d2)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* IE10+ */
	background: linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* W3C */
	width: 40%;
	margin:0 auto;
	padding: 6px 0;
	-webkit-box-shadow: 0 3px 0 0 #e4e3e3;
	box-shadow: 0 3px 0 0 #e4e3e3;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	color: #111 !important;
	font-weight: bold;
}

.bt_03 {
	text-align: center;
	margin-bottom: 20px;
}

.bt_03 a {
	border: 1px solid #d3d2d2;
	display: block;
	background: #222; /* Old browsers */
	background: -moz-linear-gradient(top, #f3f3f3 0%, #f3f3f3 50%, #d3d2d2 50%, #d3d2d2 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f3f3f3), color-stop(50%,#f3f3f3), color-stop(50%,#d3d2d2), color-stop(100%,#d3d2d2)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* IE10+ */
	background: linear-gradient(top, #f3f3f3 0%,#f3f3f3 50%,#d3d2d2 50%,#d3d2d2 100%); /* W3C */
	width: 70%;
	margin:0 auto;
	padding: 6px 0;
	-webkit-box-shadow: 0 3px 0 0 #e4e3e3;
	box-shadow: 0 3px 0 0 #e4e3e3;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	color: #111 !important;
	font-weight: bold;
}


/* 新着ブロック */

.topics_block {
	margin-bottom: 25px;
}

.topics_cap {
	background: url(../../img/portal_sp/common/bg_dot.png) repeat;
	-webkit-background-size: 4px 4px;
	background-size: 4px 4px;
	padding: 4px 10px;
}

.topics_block ul {
	margin-bottom: 15px;
}

.topics_block li {
	background: #e4e4e4; /* Old browsers */
	background: -moz-linear-gradient(top, #f8f8f8 0%, #e4e4e4 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f8f8f8), color-stop(100%,#e4e4e4)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #f8f8f8 0%,#e4e4e4 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #f8f8f8 0%,#e4e4e4 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #f8f8f8 0%,#e4e4e4 100%); /* IE10+ */
	background: linear-gradient(top, #f8f8f8 0%,#e4e4e4 100%); /* W3C */
}

.topics_block li a {
	display: block;
	padding: 10px 20px 10px 10px;
	background: url(../../img/portal_sp/common/icon_arrow02.png) 98% 50% no-repeat;
	-webkit-background-size: 9px 18px;
	background-size: 9px 18px;
}

.topics_block li img {
	float: left;
	margin-right: 10px;
}

.topics_block li p {
	flaot: left;
	overflow: hidden;
}

.topics_block a {
	color: #111111;
}

/* ページャー */

.pager {
	margin: 20px 0;
	text-align:center;
}

.pager li {
	display: inline-block;
	*display:inline; /* for IE6,7 */
	*zoom:1; /* for IE6,7 */
	margin: 0 2px;
	border:1px solid #ccc;
}

.pager li a,
.pager li span {
	display:block;
	padding: 3px 8px;
	color: #333;
	text-decoration:none;
}

.pager li span {
	background-color: #539801;
	color: #fff;
}

.pager li .hiden {
	display: hidden;
}

.pager .hidden {
	display: none;
}

/*----------------------------------------
	バナーブロック
----------------------------------------*/

.bnr_block {
	margin-bottom: 20px;
}

.bnr_block ul {
	text-align: center;
}

.bnr_block li {
	display: inline-block;
}

/*----------------------------------------
	入会リンク
----------------------------------------*/

.join_block {
	border: 4px solid #ff8000;
	margin: 0 10px 20px;
	-webkit-box-shadow: 0 3px 0 0 #e4e3e3;
	box-shadow: 0 3px 0 0 #e4e3e3;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	background: -moz-linear-gradient(top, #ff982e 0%, #ffa52e 50%, #ff8900 50%, #ff8000 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff982e), color-stop(50%,#ffa52e), color-stop(50%,#ff8900), color-stop(100%,#ff8000)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #ff982e 0%,#ffa52e 50%,#ff8900 50%,#ff8000 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #ff982e 0%,#ffa52e 50%,#ff8900 50%,#ff8000 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #ff982e 0%,#ffa52e 50%,#ff8900 50%,#ff8000 100%); /* IE10+ */
	background: linear-gradient(top, #ff982e 0%,#ffa52e 50%,#ff8900 50%,#ff8000 100%); /* W3C */
}

.join_block p {
	text-align: center;
	padding: 4px 0 12px;
}

.join_block .link02 {
	display: table;
	width: 98%;
	margin: 0 auto 5px;
}

.join_block .link02 li {
	display: table-cell;
	text-align: center;
	padding: 0 4px;
}

.join_block .link02 li span {
	display: block;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	background: #ededed; /* Old browsers */
	background: -moz-linear-gradient(top, #fff 0%, #fff 50%, #ededed 50%, #ededed 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(50%,#fff), color-stop(50%,#ededed), color-stop(100%,#ededed)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top, #fff 0%,#fff 50%,#ededed 50%,#ededed 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top, #fff 0%,#fff 50%,#ededed 50%,#ededed 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top, #fff 0%,#fff 50%,#ededed 50%,#ededed 100%); /* IE10+ */
	background: linear-gradient(top, #fff 0%,#fff 50%,#ededed 50%,#ededed 100%); /* W3C */
	-webkit-box-shadow: 0 0 6px 0 #ff8400;
	box-shadow: 0 0 6px 0 #ff8400;
}

.join_block .link02 li a {
	display: block;
	background: url(../../img/portal_sp/common/icon_arrow06.png) 98% center no-repeat;
	-webkit-background-size: 7px 13px;
	background-size: 7px 13px;
	padding: 9px 10px 4px;
}



/*----------------------------------------
	フッタリンク
----------------------------------------*/

.foot_link_block ul,
.news_back_block ul,
.page_link_block ul {
	border-top: 1px solid #ccc;
}

.foot_link_block li ,
.news_back_block li {
	border-bottom: 1px solid #ccc;
	background: url(../../img/portal_sp/common/icon_arrow01.png) 98% 50% no-repeat;
	-webkit-background-size: 8px 14px;
	background-size: 8px 14px;
	padding: 10px 20px 10px 10px;
}

.foot_link_block li a,
.news_back_block li a,
.page_link_block li a {
	color: #111;
	display:block;
}

/*----------------------------------------
	footer
----------------------------------------*/

footer {
	background-color: #dbdbdb;
	font-size: 9px;
	text-align: center;
	padding: 12px 0;
	margin-top: 20px;
}


/*----------------------------------------
	汎用クラス
----------------------------------------*/

/* clearfix */

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/* 汎用マージン */

.mb0{ margin-bottom: 0px !important; }
.mb05{ margin-bottom: 5px !important; }
.mb10{ margin-bottom: 10px !important; }
.mb15{ margin-bottom: 15px !important; }
.mb20{ margin-bottom: 20px !important; }
.mb1em{ margin-bottom: 1em !important; }

.mt05{ margin-top: 5px !important; }
.mt10{ margin-top: 10px !important; }
.mt15{ margin-top: 15px !important; }
.mt20{ margin-top: 20px !important; }

.mr05{ margin-right: 5px !important; }
.mr10{ margin-right: 10px !important; }
.mr15{ margin-right: 15px !important; }
.mr20{ margin-right: 20px !important; }

.ml05{ margin-left: 5px !important; }
.ml10{ margin-left: 10px !important; }
.ml15{ margin-left: 15px !important; }
.ml20{ margin-left: 20px !important; }


/* 汎用パディング */

.pa0{ padding: 0px !important; }
.pa05{ padding: 5px !important; }
.pa10{ padding: 10px !important; }
.pa15{ padding: 15px !important; }

.pa05w{ padding: 0 5px !important; }
.pa10w{ padding: 0 10px !important; }
.pa15w{ padding: 0 15px !important; }

/* フォントサイズ */

.f_red { color: #c00; }
.f_green { color: #008837; }

/* フォントサイズ */

.font_ll { font-size: 16px; }
.font_l { font-size: 14px; }
.font_s { font-size: 10px; }
.font_ss { font-size: 8px; }

/* 「※」つき文章 */

.asterisk {
	text-indent:-0.75em;
	padding-left:0.75em;
}

.asterisk2 {
	text-indent:-1.5em;
	padding-left:1.5em;
}

/* 行揃え */

.align_c { text-align: center !important; }
.align_l { text-align: left !important; }
.align_r { text-align: right !important; }


/*----------------------------------------
	ページ内リンク
----------------------------------------*/

.page_link_block li {
	border-bottom: 1px solid #ccc;
	background: url(../../img/portal_sp/common/icon_arrow07.png) 98% 50% no-repeat;
	-webkit-background-size: 8px 14px;
	background-size: 14px 14px;
	padding: 10px 20px 10px 10px;
}

/*@NSD様 以下のCSSを追加しております。*/
/*新着ブロック用*/
.news_view .news_day {
	font-size: 93%;
	font-weight: bold;
	margin-bottom: 10px;
	text-align: right;
}

.news_view .back_link {
	font-size: 13px;
	font-weight: bold;
	line-height: 15px;
	margin-left: 7px;
	text-align:center;
}

.news_view .back_link a{
	background-image: url("../img/ico_navi01.jpg");
	background-repeat: no-repeat;
	padding-left: 15px;
}

/*basic.css*/
div.error-message {
    clear: both;
    color: #c73e14;
    font-weight: bold;
}

/*pages.css*/
.contents_designer-wrapper .contents_designer-contents .image-area p.caption {
    margin: 0;
    padding: 5px 5px 0 5px;
    text-align: center;
}

.contents_designer-wrapper .contents_designer-contents p.headline {
    width: 100%;
    margin: 20px 0 5px 0;
    padding: 0 0 5px 0;
    background-color: transparent !important;
    border-bottom: solid 1px #000 !important;
    display: inline-block;
}

.contents_designer-wrapper .contents_designer-contents p.headline strong {
    margin: 0 !important;
    padding: 0 0 0 5px !important;
    color: #000000 !important;
    line-height: 1 !important;
    font-weight: bold !important;
    display: block !important;
    border-left: solid 15px #C00 !important;
}

.contents_designer-wrapper .contents_designer-contents .image-area p.image {
    margin: 0;
    padding: 15px 0 0 0;
    text-align: center;
    font-size: 2px;
    line-height: 0;
    position: relative;
}

.contents_designer-wrapper .contents_designer-contents .image-area p.image img.zoom {
    margin: 0 !important;
    position: absolute;
    bottom: 3px;
    right: 3px;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    opacity: 0.6;
    display: none;
    border: none !important;
}

.contents_designer-wrapper .contents_designer-contents .image-area p.image img.zoom.loaded {
    display: inline !important;
}

.contents_designer-wrapper .contents_designer-contents .text-area p {
    margin: 0;
    padding: 10px 0 0 0;
}