@charset "UTF-8";

/*------------------------------------------------------------
ブラウザ固有のCSSをリセット
-------------------------------------------------------------*/

* { letter-spacing: 0; }

html { overflow-y: scroll; }

body,div,ol,ul,li,
h1,h2,h3,h4,h5,h6,pre,form,fieldset,
input,p,blockquote {
  margin: 0;
  padding: 0;
}

address,caption,cite,code,dfn,var,h1,h2,h3,h4,h5,h6 {
  font-style: normal;
  font-weight: normal;
}

h1,h2,h3,h4,h5,h6,small {
  font-size: 100%;
  font-weight: normal;
}

fieldset,img,abbr { border: 0; }

caption { text-align: left; }

q { quotes: none; }

q:before,q:after {
  content: '';
  content: none;
}

a { text-decoration: none; }

a:hover,
a:active { outline: 0; }

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

b,strong { font-weight: bold; }

div { word-wrap: break-word; }

sub,sup {
  position: relative;
  line-height: 0;
  vertical-align: baseline;
  font-size: 75%;
}
sup { top: -0.5em; }
sub { bottom: -0.25em; }

pre,code {
  font-size: 1em;
  font-family: sans-serif;
}

pre {
  overflow: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
}

form { margin: 0; }

button,input,select,textarea,optgroup,option {
  margin: 0;
  font-family: sans-serif;
  font-size: 100%;
  vertical-align: baseline;
}

button,input { line-height: normal; }

textarea {
  overflow: auto;
  vertical-align: top;
}

input[type="text"],textarea { padding: 2px; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"] { -webkit-appearance: button; }

button::-moz-focus-inner,
input::-moz-focus-inner {
  margin: 0;
  padding: 0;
  border: 0;
}

/*--------------------------------------------------------
レイアウトの初期設定
-------------------------------------------------------*/
body {
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  font-size: 62.5%;
  font-style: normal;
  line-height: 1.5;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  word-break: break-all;
  word-wrap: break-word;
}

hr {
  clear: both;
  height: 1px;
  margin: 0 0 1.5em;
  padding: 0;
  border: 0;
  border-top: 1px solid #ccc;
  color: #ccc;
  font-size: 1.0em;
  line-height: 1.0em;
}


/*------------------------------------------------------------
レイアウト
-------------------------------------------------------------*/

html,body{ width: 100%; }


/*--------------------------------------------------------
1カラムレイアウト
--------------------------------------------------------*/

.col1 #container,
.col1 #top,
.col1 #header,
.col1 #global-nav,
.col1 #main,
.col1 #main-image,
.col1 #footer,
.col1 .copyright{
	width: 100%;
	min-width: 900px;
	margin: 0;
	padding: 0;
}

.col1 #main-in,
.col1 #footer-in,
.col1 .copyright p{
	width: 860px;
	margin: auto;
	padding: 20px;
	margin: auto;
	background: #fff; 
}

.col1 #global-nav-in{
	width: 860px;
	margin: auto;
	padding: 0 20px;
	margin: auto;
	background: #fff
	}
	

.col1 #top-in{
	width: 860px;
	margin: auto;
	padding: 0 20px;
	margin: auto;
	background: #fff; 
}

.col1 #header-in{
	width: 900px;
	margin: auto;
	padding: 0;
	margin: auto;
	background: #fff; 
}


.col1 #main-image-in {
		width: 900px;
	margin: auto;
	padding: 0;
	margin: auto;
	background: #fff; 
}

#container{
	background: #fff!important;
		}
		


.col1 #top-in{
	padding: 0 20px;
}

.col1 #header-in{
	padding-top: 0;
}

.col1 #global-nav{
	border-bottom: 0;
}

.col1 #global-nav-in{
	padding-bottom: 0;
	border-bottom: 4px solid #000;
}

.col1 #footer,
.col1 .copyright{
	background: none;
	background-color: #CCC;
}


.col1 #footer-in{
	background: #003399;
}

.col1 .copyright p{
	background: #003399;
	}


.col1 #global-nav-in{
	background: #003399;
}


.col1 #main-contents{ width: 100%; }




/*--------------------------------------------------------
2カラムレイアウト
--------------------------------------------------------*/

.col2 #container,
.col2 #top,
.col2 #header,
.col2 #global-nav,
.col2 #main,
.col2 #main-image,
.col2 #footer,
.col2 .copyright,
.col2r #container,
.col2r #top,
.col2r #header,
.col2r #global-nav,
.col2r #main,
.col2r #main-image,
.col2r #footer,
.col2r .copyright{
	width: 100%;
	min-width: 900px;
}

.col2 #top-in,
.col2 #header-in,
.col2 #global-nav-in,
.col2 #main-in,
.col2 #main-image-in,
.col2 #footer-in,
.col2 .copyright p,
.col2r #top-in,
.col2r #header-in,
.col2r #global-nav-in,
.col2r #main-in,
.col2r #main-image-in,
.col2r #footer-in,
.col2r .copyright p{
	width: 900px;
	margin: auto;
}

.col2 #sidebar,
.col2r #sidebar{ width: 29.5%; }

.col2 #main-and-sub,
.col2r #main-and-sub{ width: 66.8%; }


/*コンテンツ配置*/
.col2 #main-and-sub{ float: left; }
.col2 #sidebar{ float: right; }

.col2r #main-and-sub{ float: right; }
.col2r #sidebar{ float: left; }


/*--------------------------------------------------------
3カラムレイアウト
--------------------------------------------------------*/

.col3 #container,
.col3 #top,
.col3 #header,
.col3 #global-nav,
.col3 #main,
.col3 #main-image,
.col3 #footer,
.col3 .copyright,
.col3r #container,
.col3r #top,
.col3r #header,
.col3r #global-nav,
.col3r #main,
.col3r #main-image,
.col3r #footer,
.col3r .copyright{
	width: 100%;
	min-width: 900px;
}

.col3 #top-in,
.col3 #header-in,
.col3 #global-nav-in,
.col3 #main-in,
.col3 #main-image-in,
.col3 #footer-in,
.col3 .copyright p,
.col3r #top-in,
.col3r #header-in,
.col3r #global-nav-in,
.col3r #main-in,
.col3r #main-image-in,
.col3r #footer-in,
.col3r .copyright p{
	width: 900px;
	margin: auto;
}

.col3 #sidebar,
.col3r #sidebar{ width: 20%; }

.col3 #main-and-sub,
.col3r #main-and-sub{ width: 78.5%; }

.col3 #main-contents,
.col3r #main-contents{ width: 72.5%; }

.col3 #sub-contents,
.col3r #sub-contents{ width: 25.45%; }


/*コンテンツ配置*/
.col3 #main-and-sub{ float: left; }
.col3 #main-contents{ float: right; }
.col3 #sub-contents{ float: left; }
.col3 #sidebar{ float: right; }

.col3r #main-and-sub{ float: left; }
.col3r #main-contents{ float: left; }
.col3r #sub-contents{ float: right; }
.col3r #sidebar{ float: right; }


/*--------------------------------------------------------
モバイル用レイアウト
------------------------------------------------------*/

@media
only screen and (max-width : 640px){
	
	.col1 #top-in,
.col1 #header-in,
.col1 #global-nav-in,
.col1 #main-in,
.col1 #main-image-in,
.col1 #footer-in,
.col1 .copyright p{
	padding: 0;
	}



#container,
#top,
#header,
#global-nav,
#breadcrumbs,
#main-image,
#main,
#footer,
#footer-banner,
.copyright{
	width: 100%!important;
	min-width: 100%!important;
}

#top-in,
#header-in,
#breadcrumbs ol,
#global-nav-in,
#main-image-in,
#main-in,
#footer-in,
#footer-banner ul,
.copyright p{
	width: 98%!important;
	margin: 0 1%!important;
}

#sub-contents,
#sidebar,
#main-and-sub,
#main-contents{
	float: none!important;
	width: 100%!important;
}

#main-image img{ width: 100%!important; }

}


/*--------------------------------------------------------
1、サイト全体の背景設定
------------------------------------------------------*/

#container{ background: url(../images/common/bg-dot.png) #003399; } /*背景色の上に透過された小さなドットを配置*/
* html #container{ background: #003399; } /* IE6 */

/*--------------------------------------------------------
2、サイト全体の共通設定
-------------------------------------------------------*/

body{ color: #333; }

/*●リンク文字*/
a{ text-decoration: underline; }

a:link,
a:visited{ color: #00b; }
a:hover,
a:active{ color: #f60; }


/*--------------------------------------------------------
3、エリアの設定
--------------------------------------------------------*/

#container{
	position: relative;
	padding-top: 25px;
}


/*--------------------------------------------------------
トップ
--------------------------------------------------------*/

#top{ 
	position: absolute;
	top: 0;
	font-size: 1.2em;
}

#top-in{
	position: relative;
	padding: 5px 0;
}

#top-menu{ text-align: right; }

#top-menu li{
	display: inline;
	margin-left: 1em;
	list-style: none;
}

#top-menu li a{
	padding-left: 12px;
	background: url(../images/icon/icon-arrow03.png) left center no-repeat;
}

#top-menu li a:link,
#top-menu li a:visited{ color: #fff; }
#top-menu li a:hover,
#top-menu li a:active{ color: #f60; }


/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/

#header{
	border-bottom: 1px solid #fff;
	color: #ccc;
	font-size: 1.2em;
}

#header-in{ padding: 1em 0; }


/*●ヘッダーテキスト・右上の文章*/
#header-in #header-text{
	float: right;
	width: 40%; /*・1行の幅はwidthの値を変更*/
}

#header h1{
	margin-bottom: 0;
	font-size: 1.2em;
	}

.h1-compact{
	font-size: 0.75em;
	font-weight: normal;
	color: #333;
	letter-spacing: 0.02em;
}

@media only screen and (max-width : 640px){
	#header h1.h1-compact{
		font-size: 0.5em;
	}
}


/*--------------------------------------------------------
グローバルナビ
--------------------------------------------------------*/

#global-nav{
	border-top: 1px solid #fff; /*メニュー上のラインの設定*/
	border-bottom: 3px solid #0066ff; /*メニュー下のラインの設定*/
}

#global-nav dl{
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

#global-nav dt,
#global-nav dd{ 
	margin: 0;
	padding: 0;
}


/*●メニューボタンを非表示*/
#global-nav .btn-gnav{ display:none; }


/*●グローバルメニュー*/
#global-nav .menu-wrap{ display: block; }

#global-nav #menu{
	font-size: 1.8em;
}

#global-nav #menu li{
	position: relative;
	float: left;
	margin: 0;
	list-style: none;
	font-weight: bold;
}

#global-nav #menu li{ white-space: nowrap; }

/*メニューのデザイン*/
#global-nav #menu li a{
	display: block;
	padding: 0.7em 1em 0.5em 2em;
	background: url(../images/icon/icon-gnav.png) 0.5em center no-repeat;
	color: #fff;
	text-decoration: none;
}

#global-nav #menu li a:hover,
#global-nav #menu li a:active{
	background-color: #757575; /*マウスカーソルを乗せた時、クリック時の背景色*/
	filter: alpha(opacity=70); /* ie8以下用の透明度を設定 */
	-moz-opacity: 0.7; /* Firefox用の透明度を設定 */
	opacity: 0.7; /* 透明度を設定 */
}

/*ドロップダウンメニューのデザイン*/
#global-nav #menu li ul{
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	width: 12em;
}

#global-nav #menu li ul li{
	margin: 0;
	padding: 0;
	width: 12em;
	background-color: #003399;
	border-top: 0;
	border-right: 0;
	white-space: normal;
}

#global-nav #menu li ul li a{
	display: block;
	padding: 0.8em 2em;
}

#global-nav #menu li ul li a:link,
#global-nav #menu li ul li a:visited{ color: #555; } /*標準時と既に訪れたリンクの背景色*/
#global-nav #menu li ul li a:hover,
#global-nav #menu li ul li a:active{
	color: #fff;
	filter: alpha(opacity=100); /* ie8以下用の透明度を設定 */
	-moz-opacity: 1.0; /* Firefox用の透明度を設定 */
	opacity: 1.0; /* 透明度を設定 */
}

#global-nav #menu li ul ul{
	top: 0;
	left: 100%;
}

#global-nav .showMenu{ display: block!important; }


/*--------------------------------------------------------
コンテンツ全体
--------------------------------------------------------*/

#main{
	background-color: #f0f0f0; /*背景を指定*/
}

#main-in{
	padding-top: 1em;
	padding-bottom: 1em;
}


/*●メイン画像*/
#main-image{
	border-bottom: 1px solid #c8c8c8;
	background: url(../images/common/bg-main-image.gif) center bottom repeat-x #fff;
}

#main-image-in{
	position: relative;
	padding: 1em 0;
}

#main-image img{
	width: 100%;
	height: auto;
}

#main-image .catch-copy{
	position: absolute;
	top: 1em;
	left: 1em;
	color: #fff;
	font-size: 3em;
}


/*●パン屑ナビ*/
#breadcrumbs{
	clear: both;
	margin-bottom: 1.5em;
	font-size: 1.2em;
}

#breadcrumbs li{
	display: inline;
	margin-right: 0.5em;
	line-height: 1.8;
	text-align: right;
	list-style: none;
}

#breadcrumbs li a{
	padding-right: 15px;
	background: url(../images/icon/icon-brc.gif) center right no-repeat;
}


/*--------------------------------------------------------
メインコンテンツ（本文）
--------------------------------------------------------*/

#main-contents{ font-size: 1.8em; }

#main-contents .contents{
	margin-bottom: 3.5em;
	padding: 0 10px;
}

#main-contents img{
	height: auto;
}


/*●H2タグ*/
#main-contents h2{
	margin: 0 0 1.5em;
	padding: 0.3em 0.5em;
	border-left: 28px solid #0066ff;
	background: url(../images/common/bg-dot.png) #333;
	color: #fff;
	font-size: 1.429em;
}

* html #main-contents h2{ background: #333; } /* IE6 */

#main-contents h2 a:link,
#main-contents h2 a:visited{ color: #fff; }

#main-contents h2 a:hover,
#main-contents h2 a:active{ color: #f60; }

#main-contents h2.img-title{
	margin: 0 0 1.5em;
	padding: 0;
	border: 0;
	background: none;
}


/*●H3タグ*/
#main-contents h3{
	margin: 0 0 1.5em;
	padding: 0.8em;
	border: 2px solid #414141;
	font-size: 1.143em;
	font-weight: bold;
}

#main-contents h3 a:link,
#main-contents h3 a:visited{ color: #333; }

#main-contents h3 a:hover,
#main-contents h3 a:active{ color: #f60; }

#main-contents h3.img-title{
	margin: 0 0 1.5em;
	padding: 0;
	border: 0;
	background: none;
}


/*●H4タグ*/
#main-contents h4{
	margin: 0 0 1.5em;
	padding: 0.8em;
	border: 1px solid #8e8e8e;
	font-weight: bold;
}

#main-contents h4 a:link,
#main-contents h4 a:visited{ color: #333; }

#main-contents h4 a:hover,
#main-contents h4 a:active{ color: #f60; }

#main-contents h4.img-title{
	margin: 0 0 1.5em;
	padding: 0;
	border: 0;
	background: none;
}


/*●H5タグ*/
#main-contents h5{
	margin: 0 0 1.5em;
	padding: 0 0.8em 0.5em;
	border-bottom: 2px solid #414141;
	font-weight: bold;
}

#main-contents h5.img-title{
	margin: 0 0 1.5em;
	padding: 0;
	border: 0;
	background: none;
}

#main-contents h5 a:link,
#main-contents h5 a:visited{ color: #333; }

#main-contents h5 a:hover,
#main-contents h5 a:active{ color: #f60; }


/*●段落タグ*/
#main-contents p{ margin-bottom: 1.5em; }


/*●リストタグ*/
#main-contents ul,
#main-contents ol{
	margin: 0 0.8em 1.5em 1.7em;
	padding: 0;
}

#main-contents li{
	margin-bottom: 0.5em;
	line-height: 1.5em;
}


/*●引用タグ*/
#main-contents q{
	margin: 0 2px;
	padding: 0 8px;
	background: #efefef;
}

#main-contents blockquote{
	overflow: auto;
	margin: 0 1em 1.5em;
	padding: 1em;
	border: 3px solid #d7d7d7;
	background: url(../images/common/bg-blockquote.png) 3px 3px no-repeat #e0e0e0;
	color: #444;
}


/*●テーブルタグ*/
#main-contents table{
	margin-bottom: 1.5em;
	padding: 0;
	border-top: 1px solid #959595;
	border-left: 1px solid #959595;
}

/*「table」の1行目に「colspan」を利用する場合は「auto」を指定する*/
/*#main-contents table{ table-layout: auto; }*/

#main-contents th,
#main-contents td{
	padding: 0.5em;
	border-right: 1px solid #959595;
	border-bottom: 1px solid #959595;
}

#main-contents th{
	background-color: #a6a6a6;
	color: #fff;
	font-weight: bold;
	text-align: left;
}


/*●テーブルタグ スタイル01*/
#main-contents table.table-style01 th,
#main-contents table.table-style01 td{
	text-align: left;
	vertical-align: top;
}


/*●最新情報（リストタグ）*/
#main-contents ul.news{
	margin: 0 0 3.5em;
	padding: 0;
	padding-bottom: 0;
}

#main-contents ul.news li{
	margin-bottom: 1em;
	padding: 0 1em 1em;
	border-bottom: 1px dotted #414141;
	line-height: 1.4em;
	list-style: none;
}


/*●最新情報（定義タグ）*/
#main-contents dl.news{
	margin: 0;
	margin-bottom: 3.5em;
	padding: 0;
}

#main-contents dl.news dt{
	float: left;
	width: 9em;
	margin: 0;
	padding: 0;
	padding-left: 1em;
}

/*最新情報のアイコン設定*/
#main-contents dl.news dd.cat{
	float: left;
	overflow: hidden;
	width: 6em;
	height: 1.5em;
	padding: 0.1em 0.3em 0;
	border-bottom: none;
	background: #333;
	color: #fff;
	font-size: 0.858em;
	text-align: center;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

#main-contents dl.news dd{
	margin: 0 0 10px 0;
	padding: 0 1em 0.8em 16.5em;
	border-bottom: 1px dotted #414141;
}

/*●最新情報2（定義タグ）*/
#main-contents dl.news02{
	margin: 0;
	margin-bottom: 3.5em;
	padding: 0;
}

#main-contents dl.news02 dt{
	display: block;
	margin: 0 0 0.5em 0;
	padding: 0;
	padding-left: 1em;
	font-weight: bold;
}

#main-contents dl.news02 dd{
	margin: 0 0 0.5em 0;
	padding: 0 1em 0.8em 1em;
	border-bottom: 1px dotted #414141;
}

#main-contents dl.news02 dd.cat{
	margin: 0;
	padding: 0 1em 0.5em 1em;
	border: 0;
}

#main-contents dl.news02 dd.cat ul{
	margin: 0;
	padding: 0;
	/zoom : 1;
}

#main-contents dl.news02 dd.cat ul:after{ content : ''; display : block; clear : both; height:0; }

#main-contents dl.news02 dd.cat li{
	clear: none;
	overflow: hidden;
	float: left;
	height: 1.5em;
	margin-right: 0.5em;
	padding: 0.1em 0.3em 0;
	background: #333;
	color: #fff;
	font-size: 0.858em;
	text-align: center;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}

/*カテゴリの文字数が多い場合はコメントアウトを解除*/
/*#main-contents dl.news dd.cat{
	clear: none;
	width: auto;
}

#main-contents dl.news dd{
	clear: both;
	padding: 0 1em 0.8em 1em;
}*/

#main-contents dl.news dd.cat,
#main-contents dl.news02 dd.cat{ font-weight: bold; }
#main-contents dl.news dd.cat.color01,
#main-contents dl.news02 dd.cat .color01{ background: #4784bf; }
#main-contents dl.news dd.cat.color02,
#main-contents dl.news02 dd.cat .color02{ background: #dd6673; }
#main-contents dl.news dd.cat.color03,
#main-contents dl.news02 dd.cat .color03{ background: #39a869; }
#main-contents dl.news dd.cat.color04,
#main-contents dl.news02 dd.cat .color04{ background: #e8ac51; }
#main-contents dl.news dd.cat.color05,
#main-contents dl.news02 dd.cat .color05{ background: #a55b9a; }
#main-contents dl.news dd.cat.color06,
#main-contents dl.news02 dd.cat .color06{ background: #aac863; }


/*●定義タグ スタイル01*/
#main-contents dl.dl-style01{
	margin: 0 0 3.5em;
	padding: 0;
}

#main-contents dl.dl-style01 dt{
	float: left;
	width: 9em;
	margin: 0;
	padding: 0 0 0 1em;
}

#main-contents dl.dl-style01 dd{
	margin: 0 0 10px 0;
	padding: 0 1em 0.8em 10em;
	border-bottom: 1px dotted #414141;
}


/*●定義タグ スタイル02*/
#main-contents  dl.dl-style02{
	margin-bottom: 1.2em;
	padding: 0;
	border: 1px solid #777;
	border-top: 0;
	background-color: #ddd;
}

#main-contents dl.dl-style02 dt{
	margin: 0;
	padding: 0.5em;
	border-top: 1px solid #777;
	border-bottom: 1px solid #777;
	font-weight: bold;
}

#main-contents dl.dl-style02 dd{
	margin: 0;
	padding: 0.8em 1.0em;
	background-color: #fff;
}


/*●チェックリスト（リストタグ）*/
#main-contents ul.checklist{
	margin: 0 0 1.5em;
	padding: 1em;
	padding-bottom: 0;
	border: 1px solid #414141;
}

#main-contents ul.checklist li{
	margin-bottom: 1.5em;
	padding-top: 5px;
	padding-left: 24px;
	background: url(../images/icon/icon-check01-red.png) left top no-repeat;
	list-style-type: none;
}


/*●戻る＆進むリンク*/
.link-next,
.link-back,
.link-next02,
.link-back02{ clear: both; }

.link-next,
.link-next02{ text-align: right; }

.link-back,
.link-back02{ text-align: left; }

.link-next a{
	padding: 3px 0 3px 15px;
	background: url(../images/icon/icon-arrow_r.png) 0 7px no-repeat;
}
.link-back a{
	padding: 3px 0 3px 15px;
	background: url(../images/icon/icon-arrow_l.png) 0 7px no-repeat;
}

.link-next02 a{
	padding: 3px 0 3px 15px;
	background: url(../images/icon/icon-arrow_r-yellow.png) 0 7px no-repeat;
}
.link-back02 a{
	padding: 3px 0 3px 15px;
	background: url(../images/icon/icon-arrow_l-yellow.png) 0 7px no-repeat;
}


/*●段組み*/
.box-wrap .box-l{
	float: left;
	width: 48%;
	margin: 0 0 1.5em;
	border: 1px solid #aaa; /*boxの枠線の指示*/
}

.box-wrap .box-r{
	float: right;
	width: 48%;
	margin: 0 0 1.5em;
	border: 1px solid #aaa;
}

#main-contents .box-wrap .title{
	margin-bottom: 1.5em;
	background-color: #999; /*boxのタイトルの背景色*/
}

#main-contents .box-wrap .title p{
	margin: 0 10px;
	padding: 5px 0;
	color: #fff;
	font-weight: bold;
}


/*●ランキング（リストタグ）*/
#main-contents .box-wrap .ranking{
	margin: 0 0 15px;
}

#main-contents .ranking li{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px dotted #aaa; /*区切り線の指示*/
	background: none;
	list-style: none;
}

#main-contents .ranking li.end{
	padding-bottom: 0;
	border-bottom: none;
}

#main-contents .ranking p{ margin: 0 0 10px; }


/*●ページネーション スタイル01*/
#main-contents .cont-menu01{
	position: relative;
	overflow: hidden;
	width: 100%;
}

#main-contents .cont-menu01 ul{
	position: relative;
	left: 50%;
	float: left;
	margin-left: 10px;
}

#main-contents .cont-menu01 li{
	position: relative;
	left: -50%;
	float: left;
	margin-right: 10px;
	list-style: none;
}

#main-contents .cont-menu01 li:last-child{ margin-right: 0; }

#main-contents .cont-menu01 li.cur{
	padding: 3px 10px;
	border: 1px solid #ccc;
	background-color: #959595;
	color: #fff;
	font-weight: bold;
}

#main-contents .cont-menu01 li a{
	display: block;
	padding: 3px 10px;
	border: 1px solid #ccc;
}

#main-contents .cont-menu01 li a:link,
#main-contents .cont-menu01 li a:visited{ background-color: transparent; }

#main-contents .cont-menu01 li a:hover,
#main-contents .cont-menu01 li a:active{
	background-color: #959595;
	color: #fff;
}

#main-contents .text-field{ width: 90%; }


/*●ページネーション スタイル02*/
#main-contents .cont-menu02{
	position: relative;
	overflow: hidden;
	width: 100%;
}

#main-contents .cont-menu02 ul{
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
}

#main-contents .cont-menu02 li{
	max-width: 50%;
	list-style: none;
}

* html #main-contents .cont-menu02 li{ white-space: nowrap; } /* IE6 */

#main-contents .cont-menu02 li.prev{ float: left; }

#main-contents .cont-menu02 li.next{ float: right; }

#main-contents .cont-menu02 li a{
	display: block;
	padding: 3px 10px;
	border: 1px solid #ccc;
}

#main-contents .cont-menu02 li a:link,
#main-contents .cont-menu02 li a:visited{ background-color: transparent; }

#main-contents .cont-menu02 li a:hover,
#main-contents .cont-menu02 li a:active{
	background-color: #959595;
	color: #fff;
}


/*●サイトマップ*/
#main-contents .sitemap li{ list-style: none; }

#main-contents .sitemap li a{
	display: block;
	padding: 3px 0 3px 20px;
	background: url(../images/icon/icon-arrow_r.png) 0 6px no-repeat;
}

#main-contents .sitemap ul{ margin-top: 1em; }

#main-contents .sitemap li li a{
	padding: 0 0 0 15px;
	border-left: none;
	background: url(../images/icon/icon-menu02.png) 0 6px no-repeat;
}


/*--------------------------------------------------------
サブコンテンツ / サイドバー
--------------------------------------------------------*/

#sub-contents,
#sidebar,
#sidebar-in,
#sub-contents-in{
	margin: 0;
	padding: 0;
}

* html #sub-contents,
* html #sidebar{ overflow: hidden; }

#sub-contents .sub-contents-btn,
#sidebar .sidebar-btn{ display: none; }

.sub-column{ font-size: 1.2em; }

.sub-column li{ list-style: none; }


/*●コンテンツ*/
.sub-column .contents{
	margin-bottom: 1.5em;
	padding: 0.5em;
}

.sub-column hr{ clear: both; }

.sub-column h3{
	padding: 0.7em;
	border: 1px solid #959595; /*サイドバー見出しの枠線*/
	border-bottom: 4px solid #0066ff; /*見出しの上部の線*/
	background: url(../images/common/bg-dot.png) #333; /*背景にドットの透過画像*/
	color: #fff;
	font-weight: bold;
}

* html .sub-column h3{ background: #333; } /* IE6 */

.sub-column .contents h3{
	margin: -0.5em;
	margin-bottom: 0.8em;
}


/*●プロフィール*/
.sub-column .profile-img img{
	display: block;
	margin: auto;
	margin-bottom: 10px;
}

.sub-column .profile-txt p{ margin-bottom: 1em; }

.col1 .sub-column .profile-img,
.col2 #sub-contents .profile-img,
.col2r #sub-contents .profile-img{
	float: left;
	padding-right: 20px;
}


/*●テーブルタグ*/
.sub-column table caption{
	font-weight: bold;
	text-align: center;
}

.sub-column table{
	width: 90%;
	margin: auto;
	margin-bottom: 1.5em;
	padding: 0;
	border-top: 1px solid #959595;
	border-left: 1px solid #959595;
}

.sub-column table th,
.sub-column table td{
	padding: 0.5em 0.2em;
	border-right: 1px solid #959595;
	border-bottom: 1px solid #959595;
}

.sub-column table th{
	background: #a6a6a6;
	color: #fff;
	font-weight: bold;
	text-align: center;
}


/*●カレンダー*/
.sub-column table.calendar tbody td{ text-align: center; }

.sub-column table.calendar tfoot td{ border-right: none; }

.sub-column table.calendar tfoot td.next{
	border-right: 1px solid #959595;
	text-align: right;
}

.sub-column table.calendar tbody td a{ display: block; }


/*●検索ボックス*/
.sub-column dl.search-box{
	margin: 0 0 16px;
	width: 100%;
}

.sub-column dl.search-box dt{
	display: block;
	float: left;
	width: 63%;
	margin: 0;
	padding: 0;
	padding-right: 5px;
}

.sub-column dl.search-box dt input{
	width: 95%;
	height: 1.4em;
	padding: 2px;
	border: 1px solid #aaa;
	color: #aaa;
	line-height: 1.4em;
}

.sub-column dl.search-box dt input.onfocus{ color: #333; }

.sub-column dl.search-box dd{
	float: left;
	margin: 0;
	padding: 0;
}

.sub-column dl.search-box dd input{
	height: 2em;
	padding: 0.1em 1em;
	line-height: 1.4em;
}


/*●お問い合わせ*/
.sub-column .contact .icon-contact{
	float: left;
	padding: 0 10px 10px 0;
}

.sub-column .contact .text-contact{ overflow: hidden; }


/*●サイドメニュー*/
.sub-column .side-menu{ margin: 0; }

.sub-column .side-menu li{ list-style: none; }

.sub-column .side-menu li a{
	display: block;
	padding: 12px 10px 12px 20px;
	background: url(../images/icon/icon-arrow_r.png) 2px 15px no-repeat;
}

.sub-column .side-menu li a:active,
.sub-column .side-menu li a:hover{
	background-color: #fc6;
	color: #fff;
}

.sub-column .side-menu ul{
	padding: 0;
	margin: 0;
}

.sub-column .side-menu ul ul{ padding: 0; }

.sub-column .side-menu li li{
	width: 95%;
	margin-bottom: 0;
	padding-left: 5%;
	border: 0;
}

.sub-column .side-menu li li a:link,
.sub-column .side-menu li li a:visited{
	padding: 6px 10px 6px 15px;
	border-left: none;
	background: url(../images/icon/icon-menu02.png) 2px 12px no-repeat;
}

.sub-column .side-menu li li a:active,
.sub-column .side-menu li li a:hover{ background: url(../images/icon/icon-menu02.png) 2px 12px no-repeat #fc6; }


/*●ランキング*/
.ranking{
	margin: 0;
	padding: 5px 8px;
}

.ranking li{
	margin-bottom: 10px;
	padding: 0;
	border-bottom: 1px dotted #7070ba;
	background: none;
	font-weight: normal;
}

.ranking li p{ margin-bottom: 10px; }
.ranking li.end{ border-bottom: none; }

.ranking .no01 .item-name,
.ranking .no02 .item-name,
.ranking .no03 .item-name{
	color: #fe8528;
	font-size: 1.167em;
}

.ranking .no01 .item-name, .ranking .no02 .item-name,
.ranking .no03 .item-name, .ranking .no04 .item-name,
.ranking .no05 .item-name, .ranking .no06 .item-name,
.ranking .no07 .item-name, .ranking .no08 .item-name,
.ranking .no09 .item-name, .ranking .no10 .item-name{
	padding: 4px 0 4px 30px;
	font-weight: bold;
}

.no01 .item-name{ background: url(../images/icon/icon-rank01-01.png) left top no-repeat; }
.no02 .item-name{ background: url(../images/icon/icon-rank01-02.png) left top no-repeat; }
.no03 .item-name{ background: url(../images/icon/icon-rank01-03.png) left top no-repeat; }
.no04 .item-name{ background: url(../images/icon/icon-rank01-04.png) left top no-repeat; }
.no05 .item-name{ background: url(../images/icon/icon-rank01-05.png) left top no-repeat; }
.no06 .item-name{ background: url(../images/icon/icon-rank01-06.png) left top no-repeat; }
.no07 .item-name{ background: url(../images/icon/icon-rank01-07.png) left top no-repeat; }
.no08 .item-name{ background: url(../images/icon/icon-rank01-08.png) left top no-repeat; }
.no09 .item-name{ background: url(../images/icon/icon-rank01-09.png) left top no-repeat; }
.no10 .item-name{ background: url(../images/icon/icon-rank01-10.png) left top no-repeat; }

.ranking .no01 .item-name{ background: url(../images/icon/icon-rank01-01.png) left top no-repeat; }
.ranking .no02 .item-name{ background: url(../images/icon/icon-rank01-02.png) left top no-repeat; }
.ranking .no03 .item-name{ background: url(../images/icon/icon-rank01-03.png) left top no-repeat; }
.ranking .no04 .item-name{ background: url(../images/icon/icon-rank01-04.png) left top no-repeat; }
.ranking .no05 .item-name{ background: url(../images/icon/icon-rank01-05.png) left top no-repeat; }
.ranking .no06 .item-name{ background: url(../images/icon/icon-rank01-06.png) left top no-repeat; }
.ranking .no07 .item-name{ background: url(../images/icon/icon-rank01-07.png) left top no-repeat; }
.ranking .no08 .item-name{ background: url(../images/icon/icon-rank01-08.png) left top no-repeat; }
.ranking .no09 .item-name{ background: url(../images/icon/icon-rank01-09.png) left top no-repeat; }
.ranking .no10 .item-name{ background: url(../images/icon/icon-rank01-10.png) left top no-repeat; }

.ranking .item-img{ text-align: center; }


.col1 .ranking .item-img,
.col2 #sub-contents .ranking .item-img,
.col2r #sub-contents .ranking .item-img{
	float: left;
	padding-right: 20px;
}


/*●バナーエリア*/
.sub-column .banner{ margin-bottom: 10px; }

.sub-column .banner li{
	margin-bottom: 18px;
	list-style: none;
	text-align: center;
}

.col1 .sub-column .banner li,
.col2 #sub-contents .banner li,
.col2r #sub-contents .banner li{
	display: inline;
	margin-right: 8px;
}


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/

#footer{
	clear: both;
	padding-top: 30px;
	border-bottom: 1px solid #ccc; /*フッターの最下部のボーダーの指示*/
	color: #fff; /*文字色の指定*/
	background: url(../images/common/bg-dot.png) #003399; /*フッター全体の背景を指定*/
	font-size: 1.2em;
}

* html #footer{ background: #003399; } /* IE6 */

#footer a:link,
#footer a:visited{ color: #fff; }
#footer a:hover,
#footer a:active{ color: #f60; }

#footer h3{
	margin-bottom: 1em;
	padding: 0.8em;
	border-left: 21px solid #0066ff;
	background: url(../images/title/bg-footer-h3.gif) #e0e0e0;
	color: #333;
	font-weight: bold;
}

* html #footer h3{ background: #e0e0e0; } /* IE6 */

#footer-in li{ list-style: none; }

#footer .area01{
	float: left;
	width: 39%;
	padding-bottom: 20px;
}

#footer .area02{
	float: right;
	width: 60%;
	padding-bottom: 20px;
}

/*●アクセス情報*/
#footer .access{ padding: 0 1em; }

#footer .access p{ margin-bottom: 1em; }

p.accessmap{
	padding: 0px 0 3px;
	padding-left: 25px;
	background: url(../images/icon/icon-arrow02.png) left center no-repeat;
}


/*●フッターメニュー*/
#footer .footer-menu{
	overflow: hidden;
	width: 100%;
	padding: 0;
}

#footer .footer-menu ul{
	float: left;
	width: 42%;
	margin-right: 5%;
	padding: 1%;
}

#footer .footer-menu ul ul{
	float: none;
	width: auto;
	margin-top: 1em;
	margin-right: 0;
}

.footer-menu li{
	margin-bottom: 5px;
	padding: 0px 0 3px;
	padding-left: 25px;
	background: url(../images/icon/icon-arrow02.png) left top no-repeat;
}

.footer-menu li li{
	padding-left: 15px;
	padding-top: 0;
	background: url(../images/icon/icon-arrow03.png) left 5px no-repeat;
}


/*●フッターバナー*/
#footer-banner{
	clear: both;
	border-top: 1px solid #000;
}

#footer-banner ul{
	padding: 20px 0;
	border-top: 1px solid #555;
}

#footer-banner li{
	display: inline;
	list-style: none;
}


/*●コピーライト*/
.copyright{
	padding: 15px 0;
	border-top: 1px solid #ccc;
	background: url(../images/common/bg-dot.png) #003399;
	color: #fff;
	font-size: 1.2em;
	text-align: center;
}

* html .copyright{ background: #003399; } /* IE6 */


/*--------------------------------------------------------
ページトップ
--------------------------------------------------------*/

.page-top{
	position: fixed;
	right: 0;
	bottom: 20px;
	z-index: 99;
	width: 182px;
	color: #fff;
	font-size: 1.2em;
	font-weight: bold;
	text-align: left;
}

* html .page-top{ display: none; }

.page-top a{
	display: block;
	padding: 10px;
	padding-left: 42px;
	border: 1px solid #fff;
	border-right: 0;
	text-decoration: none;
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
	-webkit-border-top-left-radius: 8px;
	-webkit-border-bottom-left-radius: 8px;
	-moz-border-radius-topleft: 8px;
	-moz-border-radius-bottomleft: 8px;
}

.page-top a:link,
.page-top a:visited{
	background: url(../images/common/bg-pagetop.gif) 14px center no-repeat #333;
	color: #fff;
}

.page-top a:hover,
.page-top a:active{
	background: url(../images/common/bg-pagetop.gif) 14px center no-repeat #fc6;
	color: #f60;
}


/*------------------------------------------------------------
ソーシャルボタン
-------------------------------------------------------------*/

#main-contents .sb{
	width:100%;
	margin: 0;
	padding: 0;
}

#main-contents .sb li{
	display: inline-block;
	margin-right: 5px;
	vertical-align: top;
	list-style: none;
}

* html #main-contents .sb li{
	float: left;
	width: 130px;
	list-style: none;
} /* IE6 */

*+html #main-contents .sb li{
	display: inline;
	list-style: none;
} /* IE7 */

#main iframe.twitter-share-button{ width: 100px!important; }


/*コメントナビ*/
.navigation .alignright{
	float: right;
}
.navigation .alignleft{
	float: left;
}

.navigation:after{ content : ''; display : block; clear : both; height:0; }
.navigation{
	margin-bottom: 30px;
	/zoom : 1;
}


/*------------------------------------------------------------
floatの回り込みを解除
-------------------------------------------------------------*/

#top-in:after,
#header-in:after,
#global-nav-in #menu:after,
#main-in:after,
#main-and-sub:after,
.contents:after,
#main-contents dl.dl-style01:after,
.box-wrap:after,
dl.search-box:after,
#footer-in:after,
#main-contents .sb:after,
.contact:after,
#main-contents .cont-menu01:after,
#main-contents .cont-menu02:after,
.clearfix:after{ content : ''; display : block; clear : both; height:0; }

#top-in,
#header-in,
#global-nav-in #menu,
#main-in,
#main-and-sub,
.contents,
#main-contents dl.dl-style01,
.box-wrap,
dl.search-box,
#footer-in,
#main-contents .sb,
.contact,
#main-contents .cont-menu01,
#main-contents .cont-menu02,
.clearfix{ /zoom : 1; }


/*------------------------------------------------------------
　template created by web-rider
-------------------------------------------------------------*/


/*--------------------------------------------------------
モバイル用レイアウト（640px以下の解像度のスクリーン含む）
--------------------------------------------------------*/

@media
only screen and (max-width : 640px){


/*--------------------------------------------------------
サイト全体の共通設定
-------------------------------------------------------*/

html{
	overflow-y: scroll;
	overflow-x: hidden;
}

html,body{
	width: 100%;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

textarea,input{ max-width: 95%; }

input[type="submit"],input[type="image"],
input[type="reset"],input[type="button"],
input[type="file"]{ max-width: none; }


/*●画像サイズの調整*/
img {
	height: auto;
	max-width: 100%;
}

/* 画像の回り込み解除（align属性対策） */
img[align="left"],
img[align="right"]{
	float: none !important;
	display: block;
	margin: 0 auto 12px !important;
}

a{
	color: #39f;
	-webkit-tap-highlight-color: #fc6;
}


/*--------------------------------------------------------
エリアの設定
--------------------------------------------------------*/

#container{
	padding-top: 0;
	padding-bottom: 1.5em;
}

/* 固定幅レイアウトの解除（スマホ最適化） */
.col1 #container,
.col1 #top,
.col1 #header,
.col1 #global-nav,
.col1 #main,
.col1 #main-image,
.col1 #footer,
.col1 .copyright{
	min-width: 0;
}

.col1 #main-in,
.col1 #footer-in,
.col1 .copyright p,
.col1 #global-nav-in,
.col1 #top-in,
.col1 #header-in,
.col1 #main-image-in{
	width: 100%;
	box-sizing: border-box;
}


/*--------------------------------------------------------
トップ
--------------------------------------------------------*/

#top{
	position: relative;
	top: 0;
	height: auto;
	padding: 1em 0;
	border-top: 1px solid #555;
	border-bottom: 1px solid #000;
	font-size: 1.2em;
}

#top-menu{
	float: none;
}

#top-menu li{
	text-align: left;
	display: block;
}


/*--------------------------------------------------------
ヘッダー
--------------------------------------------------------*/

/*●ヘッダの回り込み解除*/
#header #header-title,
#header-in #header-text{
	float: none;
	width: 100%;
}

#header .header-logo{ font-size: 2em; }


/*--------------------------------------------------------
グローバルナビ
--------------------------------------------------------*/

#global-nav { border-bottom: 0; position: relative; }

#global-nav dt{
	color: #fff;
}

#global-nav #global-nav-in .menu-wrap{
	display:none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 999;
	background: rgba(234, 234, 234, 0.96);
}

#global-nav #global-nav-in #menu{
	margin-bottom: 5px;
	background-color: #eaeaea;
	font-size: 0.9em !important;
}

#global-nav #global-nav-in #menu,
#global-nav #global-nav-in #menu li{
	width: 100%;
	border: 0;
}

#global-nav #global-nav-in #menu li{
	border-bottom: 1px solid #fff;
	background-color: #eaeaea;
	white-space: normal;
}

#global-nav #global-nav-in #menu ul{
	position: static;
	width: auto;
	padding-left: 10%;
}

#global-nav #global-nav-in #menu ul li{ width: 100%; }

#global-nav #global-nav-in #menu ul li:last-child{ border-bottom: 0; }

/*メニューのデザイン*/
#global-nav #global-nav-in #menu li a:link,
#global-nav #global-nav-in #menu li a:visited,
#global-nav #global-nav-in #menu li a:hover,
#global-nav #global-nav-in #menu li a:active{
	background: url(../images/icon/icon-gnav.png) 1em center no-repeat #eaeaea;
	color: #555;
	font-size: 0.9em !important;
}

#global-nav #global-nav-in #menu li a{
	font-size: 0.9em !important;
}

#global-nav #global-nav-in #menu ul li a{ width: auto; }

#global-nav .btn-gnav{
	display:block;
	padding: 1em;
	cursor: pointer;
	position: relative;
	padding-left: 1em;
	padding-right: 3em;
	text-indent: -9999px;
}

#global-nav .btn-gnav::before{
	content: "";
	position: absolute;
	right: 1em;
	top: 50%;
	width: 18px;
	height: 2px;
	background: #fff;
	box-shadow: 0 -6px 0 #fff, 0 6px 0 #fff;
	transform: translateY(-50%);
}


/*--------------------------------------------------------
コンテンツ全体
--------------------------------------------------------*/

#main-image .catch-copy{ font-size: 1.4em; }

/*--------------------------------------------------------
本文の文字バランス
--------------------------------------------------------*/

body{
	font-size: 16px;
	line-height: 1.75;
}

#main-contents{
	font-size: 1em;
}

#main-contents h2{
	font-size: 1.1em;
	padding: 0.5em 0.6em;
	border-left-width: 14px;
}

#main-contents h3{
	font-size: 1.0em;
	padding: 0.7em;
}

#main-contents p{
	margin-bottom: 1.1em;
}

.cta-btn{
	box-sizing: border-box;
}

.cta-wide{
	width: 100%;
}


/*--------------------------------------------------------
メインコンテンツ（本文）
--------------------------------------------------------*/

/*●最新情報の回り込みを解除*/
#main-contents dl.news dt,
#main-contents dl.news dd.cat,
#main-contents dl.dl-style01 dt{ float: none; }

#main-contents dl.news dt{ margin-bottom: 0.4em; }

#main-contents dl.news dt,
#main-contents dl.dl-style01 dt{
	padding-right: 1em;
	padding-left: 1em;
}

#main-contents dl.news dd.cat{
	display: inline-block;
	width: auto;
	margin: 0 1em 0.5em;
	padding: 0.3em 1em;
}

#main-contents dl.news dd,
#main-contents dl.dl-style01 dd{ 
	margin: 0 0 10px 0;
	padding: 0 1em 0.8em 1em;
}

/*●Tableをブロック表示に*/
#main-contents .table-style01,
#main-contents .table-style01 thead,
#main-contents .table-style01 tbody,
#main-contents .table-style01 tfoot,
#main-contents .table-style01 tr,
#main-contents .table-style01 th,
#main-contents .table-style01 td{ display: block; }

#main-contents .table-style01 th,
#main-contents .table-style01 td{
	float: left;
	width: 100%!important;
	box-sizing: border-box;
	-moz-box-sizing: padding-box;
}

#main-contents .table-style01{ /zoom : 1; }
#main-contents .table-style01:after{ content : ''; display : block; clear : both; height:0; }


.box-wrap .box-l,
.box-wrap .box-r{
	float: none;
	width: 100%;
}


/*Youtube動画*/
#main-contents .v-wrap{
	position: relative;
	overflow: hidden;
	height: 0;
	padding-bottom: 56.25%;
	padding-top: 30px;
}

#main-contents .v-wrap iframe,
#main-contents .v-wrap object,
#main-contents .v-wrap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*--------------------------------------------------------
サブコンテンツ / サイドバー
--------------------------------------------------------*/

/*折り畳み*/
#sub-contents .sub-contents-btn,
#sidebar .sidebar-btn{
	display: block;
	margin-bottom: 1em;
	padding: 1em;
	padding-left: 2.5em!important;
	background: url(../images/icon/icon-arrow05.png) 1em center no-repeat #000000;
	color: #fff;
	cursor: pointer;
}

.sub-column #sub-contents-in,
.sub-column #sidebar-in{ display: none; }

.sub-column .showSubConts,
.sub-column .showSidebar{
	display: block!important;
}

.col1 .sub-column .ranking .item-img,
.col2 #sub-contents .ranking .item-img,
.col2r #sub-contents .ranking .item-img,
.col1 .sub-column .profile-img,
.col2 #sub-contents .profile-img,
.col2r #sub-contents .profile-img{
	float: none;
	padding-right: 0;
}

.col1 .sub-column .banner li,
.col2 #sub-contents .banner li,
.col2r #sub-contents .banner li{
	display: block;
	margin-right: 0;
}

.sub-column dl.search-box{ width: 100%; }

.sub-column dl.search-box dt{
	margin-right: 0;
	margin-bottom: 0.4em;;
	width: 100%;
}

.sub-column dl.search-box dt,
.sub-column dl.search-box dd{ float: none; }


/*--------------------------------------------------------
フッター
--------------------------------------------------------*/

#footer .footer-menu a{
	font-size: 0.82em;
}

#footer .footer-menu ul{
	float: none;
	width: 100%;
}

#footer .area01,
#footer .area02{
	float: none;
	width: 100%;
	margin-bottom: 2em;
}

.copyright{
	padding: 10px 0 70px;
	background: #003399;
	color: #fff;
	text-align: center;
}

.copyright small{
	font-size: 0.78em;
}

.copyright span{ display: inline; }


/*--------------------------------------------------------
ページトップ
--------------------------------------------------------*/

.page-top{
	right: 0;
	bottom: 0;
	width: 100%;
	text-align: center;
}

.page-top a{
	display: block;
	border: 0;
	border-top: 1px solid #fff;
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
}

.page-top a:link,
.page-top a:visited,
.page-top a:hover,
.page-top a:active{
	background: url(../images/common/bg-pagetop.gif) 14px center no-repeat #333;
	color: #fff;
}

.page-top:not(\*|*){ position: static; }/* Opera9以下 */



}

@media not screen and (1) { .page-top { position: static; } }/* Opera10以上 */


/*------------------------------------------------------------
　template created by web-rider
-------------------------------------------------------------*/


/*------------------------------------------------------------
t：上（top）、r：右（right）、b：下（bottom）、l：左（left）
c：左右の中央（center）、m：上下の中間（middle）
-------------------------------------------------------------*/

/*------------------------------------------------------------
1、align・・・文字の横位置
-------------------------------------------------------------*/

.al-c {
	text-align: center;
}

/*中央寄せ*/
.al-r {
	text-align: right;
}

/*右寄せ*/
.al-l {
	text-align: left;
}

/*左寄せ*/


/*------------------------------------------------------------
2、valign・・・文字の縦位置
-------------------------------------------------------------*/

.vl-t {
	vertical-align: top !important;
}

/*上寄せ*/
.vl-m {
	vertical-align: middle !important;
}

/*中央寄せ*/
.vl-b {
	vertical-align: bottom !important;
}

/*下寄せ*/


/*------------------------------------------------------------
3、float・・・左右の回り込み
-------------------------------------------------------------*/

.fl-r {
	float: right;
}

/*右に回り込み*/
.fl-l {
	float: left;
}

/*左に回り込み*/
.fl-c {
	clear: both;
}


/*640px以下では回り込み解除*/
@media only screen and (max-width : 640px) {

	.fl-r,
	.fl-l {
		float: none;
	}
}


/*------------------------------------------------------------
4、margin・・・周りのブロックからの距離
-------------------------------------------------------------*/

.m0 {
	margin: 0 !important;
}

/*周りからのmarginを0に*/
.m0-t {
	margin-top: 0 !important;
}

/*上からのmarginを0に*/
.m0-r {
	margin-right: 0 !important;
}

/*右からのmarginを0に*/
.m0-b {
	margin-bottom: 0 !important;
}

/*下からのmarginを0に*/
.m0-l {
	margin-left: 0 !important;
}

/*左からのmarginを0に*/

.m5 {
	margin: 5px !important;
}

.m5-t {
	margin-top: 5px !important;
}

.m5-r {
	margin-right: 5px !important;
}

.m5-b {
	margin-bottom: 5px !important;
}

.m5-l {
	margin-left: 5px !important;
}

.m10 {
	margin: 10px !important;
}

.m10-t {
	margin-top: 10px !important;
}

.m10-r {
	margin-right: 10px !important;
}

.m10-b {
	margin-bottom: 10px !important;
}

.m10-l {
	margin-left: 10px !important;
}

.m15 {
	margin: 15px !important;
}

.m15-t {
	margin-top: 15px !important;
}

.m15-r {
	margin-right: 15px !important;
}

.m15-b {
	margin-bottom: 15px !important;
}

.m15-l {
	margin-left: 15px !important;
}

.m20 {
	margin: 20px !important;
}

.m20-t {
	margin-top: 20px !important;
}

.m20-r {
	margin-right: 20px !important;
}

.m20-b {
	margin-bottom: 20px !important;
}

.m20-l {
	margin-left: 20px !important;
}

.m25 {
	margin: 25px !important;
}

.m25-t {
	margin-top: 25px !important;
}

.m25-r {
	margin-right: 25px !important;
}

.m25-b {
	margin-bottom: 25px !important;
}

.m25-l {
	margin-left: 25px !important;
}

.m30 {
	margin: 30px !important;
}

.m30-t {
	margin-top: 30px !important;
}

.m30-r {
	margin-right: 30px !important;
}

.m30-b {
	margin-bottom: 30px !important;
}

.m30-l {
	margin-left: 30px !important;
}

.m40 {
	margin: 40px !important;
}

.m40-t {
	margin-top: 40px !important;
}

.m40-r {
	margin-right: 40px !important;
}

.m40-b {
	margin-bottom: 40px !important;
}

.m40-l {
	margin-left: 40px !important;
}

.m50 {
	margin: 50px !important;
}

.m50-t {
	margin-top: 50px !important;
}

.m50-r {
	margin-right: 50px !important;
}

.m50-b {
	margin-bottom: 50px !important;
}

.m50-l {
	margin-left: 50px !important;
}

.m60 {
	margin: 60px !important;
}

.m60-t {
	margin-top: 60px !important;
}

.m60-r {
	margin-right: 60px !important;
}

.m60-b {
	margin-bottom: 60px !important;
}

.m60-l {
	margin-left: 60px !important;
}

.m70 {
	margin: 70px !important;
}

.m70-t {
	margin-top: 70px !important;
}

.m70-r {
	margin-right: 70px !important;
}

.m70-b {
	margin-bottom: 70px !important;
}

.m70-l {
	margin-left: 70px !important;
}

.m80 {
	margin: 80px !important;
}

.m80-t {
	margin-top: 80px !important;
}

.m80-r {
	margin-right: 80px !important;
}

.m80-b {
	margin-bottom: 80px !important;
}

.m80-l {
	margin-left: 80px !important;
}

.m90 {
	margin: 90px !important;
}

.m90-t {
	margin-top: 90px !important;
}

.m90-r {
	margin-right: 90px !important;
}

.m90-b {
	margin-bottom: 90px !important;
}

.m90-l {
	margin-left: 90px !important;
}

.m100 {
	margin: 100px !important;
}

.m100-t {
	margin-top: 100px !important;
}

.m100-r {
	margin-right: 100px !important;
}

.m100-b {
	margin-bottom: 100px !important;
}

.m100-l {
	margin-left: 100px !important;
}


/*------------------------------------------------------------
5、padding・・・周りのブロックからの距離（padding）
-------------------------------------------------------------*/

.p0 {
	padding: 0 !important;
}

.p0-t {
	padding-top: 0 !important;
}

.p0-r {
	padding-right: 0 !important;
}

.p0-b {
	padding-bottom: 0 !important;
}

.p0-l {
	padding-left: 0 !important;
}

.p5 {
	padding: 5px !important;
}

.p5-t {
	padding-top: 5px !important;
}

.p5-r {
	padding-right: 5px !important;
}

.p5-b {
	padding-bottom: 5px !important;
}

.p5-l {
	padding-left: 5px !important;
}

.p10 {
	padding: 10px !important;
}

.p10-t {
	padding-top: 10px !important;
}

.p10-r {
	padding-right: 10px !important;
}

.p10-b {
	padding-bottom: 10px !important;
}

.p10-l {
	padding-left: 10px !important;
}

.p15 {
	padding: 15px !important;
}

.p15-t {
	padding-top: 15px !important;
}

.p15-r {
	padding-right: 15px !important;
}

.p15-b {
	padding-bottom: 15px !important;
}

.p15-l {
	padding-left: 15px !important;
}

.p20 {
	padding: 20px !important;
}

.p20-t {
	padding-top: 20px !important;
}

.p20-r {
	padding-right: 20px !important;
}

.p20-b {
	padding-bottom: 20px !important;
}

.p20-l {
	padding-left: 20px !important;
}

.p25 {
	padding: 25px !important;
}

.p25-t {
	padding-top: 25px !important;
}

.p25-r {
	padding-right: 25px !important;
}

.p25-b {
	padding-bottom: 25px !important;
}

.p25-l {
	padding-left: 25px !important;
}

.p30 {
	padding: 30px !important;
}

.p30-t {
	padding-top: 30px !important;
}

.p30-r {
	padding-right: 30px !important;
}

.p30-b {
	padding-bottom: 30px !important;
}

.p30-l {
	padding-left: 30px !important;
}

.p40 {
	padding: 40px !important;
}

.p40-t {
	padding-top: 40px !important;
}

.p40-r {
	padding-right: 40px !important;
}

.p40-b {
	padding-bottom: 40px !important;
}

.p40-l {
	padding-left: 40px !important;
}

.p50 {
	padding: 50px !important;
}

.p50-t {
	padding-top: 50px !important;
}

.p50-r {
	padding-right: 50px !important;
}

.p50-b {
	padding-bottom: 50px !important;
}

.p50-l {
	padding-left: 50px !important;
}

.p60 {
	padding: 60px !important;
}

.p60-t {
	padding-top: 60px !important;
}

.p60-r {
	padding-right: 60px !important;
}

.p60-b {
	padding-bottom: 60px !important;
}

.p60-l {
	padding-left: 60px !important;
}

.p70 {
	padding: 70px !important;
}

.p70-t {
	padding-top: 70px !important;
}

.p70-r {
	padding-right: 70px !important;
}

.p70-b {
	padding-bottom: 70px !important;
}

.p70-l {
	padding-left: 70px !important;
}

.p80 {
	padding: 80px !important;
}

.p80-t {
	padding-top: 80px !important;
}

.p80-r {
	padding-right: 80px !important;
}

.p80-b {
	padding-bottom: 80px !important;
}

.p80-l {
	padding-left: 80px !important;
}

.p90 {
	padding: 90px !important;
}

.p90-t {
	padding-top: 90px !important;
}

.p90-r {
	padding-right: 90px !important;
}

.p90-b {
	padding-bottom: 90px !important;
}

.p90-l {
	padding-left: 90px !important;
}

.p100 {
	padding: 100px !important;
}

.p100-t {
	padding-top: 100px !important;
}

.p100-r {
	padding-right: 100px !important;
}

.p100-b {
	padding-bottom: 100px !important;
}

.p100-l {
	padding-left: 100px !important;
}


/*------------------------------------------------------------
6、font-size・・・フォントサイズの設定
-------------------------------------------------------------*/

.b {
	font-weight: bold !important;
}

/*太字*/
.normal {
	font-weight: normal !important;
}

/*太字を解除*/

.big {
	font-size: 1.2em !important;
}

.big2 {
	font-size: 1.5em !important;
}

.big3 {
	font-size: 1.8em !important;
}

.small {
	font-size: 0.8em !important;
}

.f08em {
	font-size: 0.8em;
}

.f09em {
	font-size: 0.9em;
}

.f10em {
	font-size: 1.0em;
}

.f11em {
	font-size: 1.1em;
}

.f12em {
	font-size: 1.2em;
}

.f13em {
	font-size: 1.3em;
}

.f14em {
	font-size: 1.4em;
}

.f15em {
	font-size: 1.5em;
}

.f16em {
	font-size: 1.6em;
}

.f17em {
	font-size: 1.7em;
}

.f18em {
	font-size: 1.8em;
}

.f19em {
	font-size: 1.9em;
}

.f20em {
	font-size: 2.0em;
}

.f21em {
	font-size: 2.1em;
}

.f22em {
	font-size: 2.2em;
}

.f23em {
	font-size: 2.3em;
}

.f24em {
	font-size: 2.4em;
}

.f8pt {
	font-size: 8.5pt !important;
}

.f9pt {
	font-size: 9.0pt !important;
}

.f10pt {
	font-size: 10pt !important;
}

.f11pt {
	font-size: 11pt !important;
}

.f12pt {
	font-size: 12pt !important;
}

.f13pt {
	font-size: 13pt !important;
}

.f14pt {
	font-size: 14pt !important;
}

.f15pt {
	font-size: 15pt !important;
}

.f16pt {
	font-size: 16pt !important;
}

.f17pt {
	font-size: 17pt !important;
}

.f18pt {
	font-size: 18pt !important;
}

.f19pt {
	font-size: 19pt !important;
}

.f20pt {
	font-size: 20pt !important;
}

.f21pt {
	font-size: 21pt !important;
}

.f22pt {
	font-size: 22pt !important;
}

.f23pt {
	font-size: 23pt !important;
}

.f24pt {
	font-size: 24pt !important;
}


/*------------------------------------------------------------
7、color・・・フォントカラーの設定
-------------------------------------------------------------*/

.red {
	color: #ff0000 !important;
}

/*赤*/
.blue {
	color: #0000dd !important;
}

/*青*/
.green {
	color: #008000 !important;
}

/*緑*/
.yellow {
	color: #ffff00 !important;
}

/*黄*/
.navy {
	color: #1F26A9 !important;
}

/*紺*/
.orange {
	color: #ff6600 !important;
}

/*橙*/
.pink {
	color: #cc6699 !important;
}

/*ピンク*/
.purple {
	color: #660099 !important;
}

/*紫*/
.olive {
	color: #808000 !important;
}

/*黄土色*/
.lime {
	color: #00ff00 !important;
}

/*黄緑*/
.aqua {
	color: #167FA6 !important;
}

/*水色*/
.black {
	color: #000 !important;
}

/*黒*/
.gray {
	color: #ccc !important;
}

/*灰*/
.white {
	color: #fff !important;
}

/*白*/


/*------------------------------------------------------------
8、line-height・・・行間の設定
-------------------------------------------------------------*/

.lh10 {
	line-height: 1.0 !important;
}

.lh11 {
	line-height: 1.1 !important;
}

.lh12 {
	line-height: 1.2 !important;
}

.lh13 {
	line-height: 1.3 !important;
}

.lh14 {
	line-height: 1.4 !important;
}

.lh15 {
	line-height: 1.5 !important;
}

.lh20 {
	line-height: 2.0 !important;
}


/*------------------------------------------------------------
9、width・・・テーブル・セルの横幅
-------------------------------------------------------------*/

#main table .w05 {
	width: 5%;
}

#main table .w10 {
	width: 10%;
}

#main table .w15 {
	width: 15%;
}

#main table .w20 {
	width: 20%;
}

#main table .w25 {
	width: 25%;
}

#main table .w30 {
	width: 30%;
}

#main table .w35 {
	width: 35%;
}

#main table .w40 {
	width: 40%;
}

#main table .w45 {
	width: 45%;
}

#main table .w50 {
	width: 50%;
}

#main table .w55 {
	width: 55%;
}

#main table .w60 {
	width: 60%;
}

#main table .w65 {
	width: 65%;
}

#main table .w70 {
	width: 70%;
}

#main table .w75 {
	width: 75%;
}

#main table .w80 {
	width: 80%;
}

#main table .w85 {
	width: 85%;
}

#main table .w90 {
	width: 90%;
}

#main table .w95 {
	width: 95%;
}


/*------------------------------------------------------------
10、下線や取消線の設定
-------------------------------------------------------------*/

.underline {
	text-decoration: underline !important;
}

.del {
	text-decoration: line-through;
}

.noborder {
	border: 0 !important;
}

/*枠線を無くす*/


/*------------------------------------------------------------
11、zindex・・・重なりの優先度
-------------------------------------------------------------*/

.z1 {
	z-index: 1 !important;
}

.z2 {
	z-index: 2 !important;
}

.z3 {
	z-index: 3 !important;
}

.z4 {
	z-index: 4 !important;
}

.z5 {
	z-index: 5 !important;
}


/*------------------------------------------------------------
12、ul.none・・・リスト先頭のアイコンを無くす
-------------------------------------------------------------*/

ul.none li {
	list-style-type: none;
}


/*------------------------------------------------------------
13、box・・・蛍光ペンのようなボックスの設定
-------------------------------------------------------------*/

.box-yellow {
	padding: 2px;
	background-color: #ff9 !important;
}

/*黄色*/
.box-aqua {
	padding: 2px;
	background-color: #9ff !important;
}

/*水色*/
.box-gray {
	padding: 2px;
	background-color: #eee !important;
}

/*灰色*/
.box-red {
	padding: 2px;
	background-color: #fcc !important;
}

/*赤色*/


/*------------------------------------------------------------
14、round・・・ボックスを角丸にする（IE8以前には適用されません）
-------------------------------------------------------------*/

.round {
	border-radius: 8px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
}


/*------------------------------------------------------------
14、input:focus・・・入力フォームをハイライトする
-------------------------------------------------------------*/

input:focus,
textarea:focus,
input.focus,
textarea.focus {
	background-color: #ffffe4 !important;
}


/*------------------------------------------------------------
15、left、right・・・画像を簡単に回り込ませる設定
-------------------------------------------------------------*/

/*左に画像、右に文章*/
.left {
	float: left;
	margin: 0 15px 20px 0 !important;
}


/*右に画像、左に画像*/
.right {
	float: right;
	margin: 0 0 20px 15px !important;
}

.no-float {
	float: none !important;
	margin: 0 0 20px 0 !important;
}


/*640pxでは回り込み解除*/
@media only screen and (max-width : 640px) {

	.left,
	.right {
		float: none;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}


/*------------------------------------------------------------
16、文字列の前にアイコン
-------------------------------------------------------------*/

.caution1 {
	padding: 10px 0 10px 60px !important;
	background: url(../images/icon/icon-check01.png) left top no-repeat;
}

.caution2 {
	padding: 10px 0 10px 60px !important;
	background: url(../images/icon/icon-check02.png) left top no-repeat;
}

.caution3 {
	padding: 10px 0 10px 60px !important;
	background: url(../images/icon/icon-point01.png) left top no-repeat;
}

.caution4 {
	padding: 10px 0 10px 60px !important;
	background: url(../images/icon/icon-point02.png) left top no-repeat;
}

.caution5 {
	padding: 7px 0 7px 45px !important;
	background: url(../images/icon/icon-check03.png) left top no-repeat;
}

.caution6 {
	padding: 7px 0 7px 45px !important;
	background: url(../images/icon/icon-point03.png) left top no-repeat;
}

.caution7 {
	padding: 10px 0 10px 60px !important;
	background: url(../images/icon/icon-check07.png) left top no-repeat;
}

.caution8 {
	padding: 10px 0 10px 60px !important;
	background: url(../images/icon/icon-check08.png) left top no-repeat;
}

/*初心者マーク*/
.wakaba {
	padding: 7px 0 7px 36px !important;
	background: url(../images/icon/icon-wakaba.png) left top no-repeat;
}

/*メールアイコン*/
.mail {
	padding: 0 0 0 36px !important;
	background: url(../images/icon/icon-mail.png) left top no-repeat;
}

/*PDFアイコン*/
.pdf {
	padding: 7px 0 7px 36px !important;
	background: url(../images/icon/icon-pdf.png) left top no-repeat;
}

/*ZIPアイコン*/
.zip {
	padding: 7px 0 7px 36px !important;
	background: url(../images/icon/icon-zip.png) left top no-repeat;
}

/*RSSアイコン*/
.rss {
	padding: 5px 0 5px 36px !important;
	background: url(../images/icon/icon-rss02.png) left top no-repeat;
}

/*小さいRSSアイコン*/
.rss-mini {
	padding-left: 16px !important;
	background: url(../images/icon/icon-rss-orange.png) left 5px no-repeat;
}

/*後ろにメールアイコン*/
.mail-back {
	padding: 0 34px 0 0 !important;
	background: url(../images/icon/icon-mail.png) right top no-repeat;
}

/*後ろにPDFアイコン*/
.pdf-back {
	padding: 10px 34px 10px 0 !important;
	background: url(../images/icon/icon-pdf.png) right top no-repeat;
}

/*後ろにZIPアイコン*/
.zip-back {
	padding: 10px 34px 10px 0 !important;
	background: url(../images/icon/icon-zip.png) right top no-repeat;
}

/*後ろにRSSアイコン*/
.rss-back {
	padding: 5px 26px 5px 0 !important;
	background: url(../images/icon/icon-rss02.png) right top no-repeat;
}


/*------------------------------------------------------------
17、ノートのような線を引く
-------------------------------------------------------------*/

.noteline {
	display: inline !important;
	padding-bottom: 0.3em !important;
	border-bottom: 1px dashed #7070ba !important;
	line-height: 2.1em !important;
}


/*------------------------------------------------------------
18、テキストボックスのIME制御（IE＆Firefox）
-------------------------------------------------------------*/

.ime-active {
	ime-mode: active;
}

.ime-inactive {
	ime-mode: inactive;
}

.ime-disabled {
	ime-mode: disabled;
}


.box1 {
	padding: 10px;
	border: 1px #000000 solid;
}

/*------------------------------------------------------------
19、CTAボタン
-------------------------------------------------------------*/

.cta-btn,
.cta-btn:link,
.cta-btn:visited {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	padding: 20px 26px;
	border-radius: 18px;
	text-decoration: none;
	text-align: center;
	color: #ffffff;
	letter-spacing: 0.03em;
	font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
	background: linear-gradient(180deg, #2aa06a 0%, #1a7a50 100%);
	border: 1px solid rgba(255, 255, 255, 0.22);
	box-shadow: 0 10px 24px rgba(14, 20, 24, 0.22);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.cta-btn::before {
	content: "";
	position: absolute;
	inset: 1px;
	border-radius: 17px;
	border: 1px solid rgba(255, 255, 255, 0.35);
	pointer-events: none;
}

.cta-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 30px rgba(14, 20, 24, 0.26);
	filter: brightness(1.02);
	color: #ffffff;
}

.cta-btn .cta-title,
.cta-btn .cta-sub {
	color: inherit;
}

.cta-btn:focus-visible {
	outline: 2px solid #ffd24a;
	outline-offset: 3px;
}

.cta-title {
	font-size: 24px;
	font-weight: 800;
	line-height: 1.1;
	color: #ffe58a;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.cta-sub {
	font-size: 14px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: 0.05em;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.cta-btn.cta-contact {
	background: linear-gradient(180deg, #2fb070 0%, #1c864f 100%);
	border-color: rgba(255, 255, 255, 0.25);
}

.cta-btn.cta-contact .cta-title {
	color: #ffe58a;
}

.cta-btn.cta-phone {
	background: linear-gradient(180deg, #ff8a2a 0%, #e85c00 100%);
	border-color: #c65100;
	box-shadow: 0 12px 26px rgba(14, 20, 24, 0.28);
}

.cta-phone .cta-title {
	color: #ffe58a;
}

.cta-phone .cta-sub {
	color: rgba(255, 255, 255, 0.9);
}

.cta-wide {
	width: 540px;
	max-width: 100%;
	margin: 0 auto;
}

@media only screen and (max-width: 600px) {
	.cta-btn {
		padding: 16px 18px;
		border-radius: 10px;
	}

	.cta-title {
		font-size: 18px;
	}

	.cta-sub {
		font-size: 12px;
	}
}

@media only screen and (min-width: 1024px) {
	.cta-btn.cta-phone {
		display: none;
	}
}

/*------------------------------------------------------------
　template created by web-rider
-------------------------------------------------------------*/
