@charset "utf-8";

/* ===================================================
 Reset
=====================================================*/
html {overflow-y: scroll;}
div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, hgroup, header#headarea, address,
figure, figcaption, ul, ol {margin: 0; padding: 0;}
address, caption, cite, code, dfn, em, strong, th, var {font-style: normal; font-weight: normal;}
table{ border-collapse: collapse; border-spacing: 0;}
caption, th {text-align: left;}
q:before ,q:after {content: '';}
object, embed {vertical-align: top;}
hr, legend {display: none;}
h1, h2, h3, h4, h5, h6 {font-size: 100%; font-weight: normal;}
img, abbr, acronym, fieldset {border: 0;}
img {vertical-align: top; -ms-interpolation-mode: bicubic;}
ul li, ol li {list-style-type: none; margin: 0px; padding: 0px;}


/* ===================================================
 common
=====================================================*/
body{margin: 0; padding: 0;}
html {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", Meiryo, Osaka, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	color:#333333;
	background-color: #002b69;
}
	
/* Fluid-img----------------------------------- */
img {
max-width : 100%;
height: auto;/*IE8*/
width:auto;/*IE8*/
border: 0}

/* clearfix----------------------------------- */
.clearfix:after {content: ""; display: block; clear: both; visibility: hidden;}

/* 禁則処理の追加----------------------------------- */
p,li,dt,dd,th,td,pre{
-ms-line-break: strict;
line-break: strict;
-ms-word-break: break-strict;
word-break: break-strict}

a {outline: none; color: #333333;}
a:link {text-decoration: underline; color: #333333;}
a:hover {text-decoration: none; color: #333333;}
a:active {text-decoration: underline; color: #333333;}

/*フォント----------------------------------- */
h1 {font-size : 2.3em; font-weight: bold; } 
h2 {font-size : 1.8em; font-weight: bold;} 
h3 {font-size : 1.4em; line-height:1.5em; font-weight: bold;} 
h4 {font-size : 1em; line-height:1.5em; font-weight: bold;} 

.wrap{width:960px; margin-right:auto; margin-left:auto; padding:0 10px;}
.wrap:after {content: ""; display: block; clear: both; visibility: hidden;}


/* ===================================================
1024px　for PC
=====================================================*/
html{font-size:100%; line-height:1.7em; color:#333333} /*レスポンシブタイプセッティングの指定 (14px->14px)*/

/*----------------------------------------------------
header
------------------------------------------------------*/
header#headarea{margin: 0 auto; background-color: #FFFFFF; min-width: 980px; font-size: 87.5%;}
header#headarea #logoarea {text-align: left; margin: 0 auto; width: 980px;}
header#headarea #logoarea:after {content: ""; display: block; clear: both; visibility: hidden;}
header#headarea #logoarea h1.logo{ margin-top:0.5em; margin-bottom:0.5em;margin-left:5px; float:left;}

header#headarea #header_sub {float: right;}
header#headarea #bt_member,
header#headarea #bt_public,
header#headarea #bt_english,
header#headarea #bt_japanese {
	float: right;
	margin-left:10px;
}
header#headarea #header_sub a{
	display:block;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	background-color: #002b69;
	color: #FFFFFF;
	padding: 5px 10px 5px 25px;
	text-decoration: none;
	background-repeat: no-repeat;
	background-position: 10px center;
}
header#headarea #header_sub a:hover{background-color : #59bdd8}

header#headarea #bt_english a{
	background-image: url(../images/icon_official.png);
	padding-left: 35px;
}
header#headarea #bt_member a{
	background-image: url(../images/icon_member_pc.png);
	padding-left: 25px;
}
header#headarea #bt_public a{
	background-image: url(../images/icon_official.png);
	padding-left: 35px;
}
header#headarea #bt_japanese a{
	background-image: url(../images/icon_official.png);
	padding-left: 35px;
}

header#headarea #sp_menu{display:none;}

/*----------------------------------------------------
gnav
------------------------------------------------------*/
nav#gnav{
	margin : 0 auto;
	background-color: #002b69;
	width: 100%;
	border-top: 4px #59bdd8 solid;
}

nav#gnav ul.main {width:980px; margin : 0 auto;}
nav#gnav ul.main:after{content: ""; display: block; clear: both; visibility: hidden;}
nav#gnav ul.main{zoom:1;　/* IE7 */}

nav#gnav ul.main li {
/*	width : 19.9%;*/
	width : 169px;
	float : left;
	background-image: url(../images/gnav_bar.png);
	background-position: right center;
	background-repeat: no-repeat;
}
nav#gnav ul.main li.sl {
	width : 204px;
}
nav#gnav ul.main li.ss {
	width : 144px;
}

nav#gnav ul.main li:last-child {background-image: none;}

nav#gnav ul.main li a {
	display : block;
	color : #FFFFFF;
	padding : 0.8em 0;
	text-align: center;
	text-decoration: none;
	font-size : 1.3em;
}

nav#gnav li a:hover {color : #FFFFFF; background-color : #59bdd8}


nav#gnav ul.main li ul.sub {
	position:absolute;
}

nav#gnav ul.sub{
	display:none;
	z-index: 200;
}

*:first-child+html nav#gnav ul.sub {
	position:absolute;
	margin-top: -1px;
}

nav#gnav ul.sub li {
	float: none;
	width: 100%;
}

nav#gnav ul.sub li a,
nav#gnav ul.sub li a:visited {
	display: block;
	width: 169px;
	padding-left: 10px;
	padding-right: 10px;
	font-size : 1.1em;
	line-height: 1.3em;
	border-top: 1px solid #ffffff;
	background-color: #002b69;
	text-decoration:none;
	vertical-align: top;/*IE6:上部隙間対策*/
}
nav#gnav ul.main li.sl ul.sub li a,
nav#gnav ul.main li.sl ul.sub li a:visited {
	width: 184px;
}

nav#gnav ul.sub li a:hover {
	background-color: #59bdd8;
}


/*----------------------------------------------------
contents
------------------------------------------------------*/
#contenner{background-color:#FFFFFF; width:100%; min-width: 980px; margin: 0 auto;}
#contents {width: 960px; margin: 0 auto; padding-top:3em; padding-bottom:2em;}
#contents:after{content: ""; display: block; clear: both; visibility: hidden;}
#mainarea{width:700px; float:left}
#contents .entry-content {
	overflow-wrap: break-word;
	text-align: justify;
}

/*----------------------------------------------------
info
------------------------------------------------------*/
.info{
	margin-bottom:2em;	/*45px;*/
}
.info .ttl{
	font-size: 1.3em;
	font-weight: bold;
	color: #000000;
	background-image: url(../images/bar.png);
	background-repeat: no-repeat;
	background-position: left bottom;
}

.info .ttl:after {content: ""; display: block; clear: both; visibility: hidden;}
.info .ttl{zoom:1;　/* IE7 */}

.info .icon_news{
	float: left;
	background-image: url(../images/icon_news_PC.png);
	background-repeat: no-repeat;
	background-position: 10px center;
	padding-left: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size:1.2em;
	margin: 0;
}

.info .icon_info{
	float: left;
	background-image: url(../images/icon_info_PC.png);
	background-repeat: no-repeat;
	background-position: 10px center;
	padding-left: 40px;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size:1.2em;
	margin: 0;
}

.info .btn_list{float: right; font-weight: normal; font-size: 70%;}

.info .btn_list a{
	color: #FFFFFF;
	display: block;
	text-decoration: none;
	background-color: #59bdd8;
	padding: 5px 20px 5px 10px;
	background-image: url(../images/arrow_white_PC.png);
	background-repeat: no-repeat;
	background-position: 90% center;
}
.info .btn_list a:hover{background-color:#1c3469;}

.info dl{
	margin-top: 0.5em;
	border-bottom: 1px dotted #CCCCCC;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
}
.info dl:after {content: ""; display: block; clear: both; visibility: hidden;}
.info dl{zoom:1;　/* IE7 */}

.info dl dt{ font-weight:bold; margin-bottom:0.5em; margin-right:1.2em; float:left; color:#1c3469}
.info dl dt:after {content: ""; display: block; clear: both; visibility: hidden;}
.info dl dt{zoom:1;　/* IE7 */}
.info dl dd{margin-left:160px;/*float:left;*/}

.info dl span.date{display:block; float:left;}

.tag-new {
	margin-right: .5em;
	padding: 3px 6px 2px;
	vertical-align: top;
	font-size: 80%;
	font-weight: bold;
	color: #fff;/*#900;600;*/
	border-radius: 4px;
	background: #FF7F50;/*#FFD700; FFA500;*/
}
a .tag-new{
	display: inline-block;
	line-height: 120%;
	vertical-align: middle;
	margin-top: -4px;
	text-decoration: none;
}

/*----------------------------------------------------
side
------------------------------------------------------*/
nav#side{ width:240px; float:right; font-size:95%}
nav#side li a{
	border: 3px solid #CCCCCC;
	display: block;
	padding: 10px 25px 10px 8px;
	margin-bottom: 10px;
	text-decoration: none;
	background-image: url(../images/arrow_blue_PC.png);
	background-repeat: no-repeat;
	background-position: right center;
}
nav#side li a:hover{ background-color:#1c3469; color:#FFFFFF; border: 3px solid #1c3469;}

/*----------------------------------------------------
for PC CRコードエリアの設定
----------------------------------------------------*/
.qrcode_block {margin-top:4em;}
.qrcode_block dt {
	font-weight:bold;
	font-size: 120%;
	margin-bottom:1em;
	padding-bottom: 3px;
	background-repeat: no-repeat;
	background-position: left bottom;
	background-image: url(../images/bar.png);
	background-size: 100% 3px;
}

/*----------------------------------------------------
for PC toPageTopの設定
----------------------------------------------------*/
#toPageTop {position: fixed; bottom: 150px; right: 10%;}
#toPageTop a {display: block; width: 59px;}
#toPageTop a img{opacity: 0.4; filter: alpha(opacity=40); -moz-opacity: 0.4; -ms-filter: alpha(opacity=40);}
#toPageTop a:hover img{opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; -ms-filter: alpha(opacity=80);}

/*for SP pagetop*/
#pagetop{ display:none}


/*----------------------------------------------------
footerarea
------------------------------------------------------*/
#footerarea{margin-right: auto; margin-left: auto; background-color: #002b69;}
#footerarea nav#fnav{float: right; width:60%; margin-top:1.5em;}
#footerarea nav#fnav li{font-size: 0.85em; float: right; line-height:1.5em; border-right: 1px solid #CCCCCC; padding: 0em 0.75em  0em 0em; margin-right:0.75em;}
#footerarea nav#fnav li a{	display: block; text-decoration: underline; color: #FFFFFF;}
#footerarea nav#fnav li:first-child {border-right: none;}
#footerarea nav#fnav li a:hover{ text-decoration:none;}
#footerarea  p {
padding : 1em 0;
text-align : left;
float:left;
color: #FFFFFF;
width:40%;
}

#footerarea  footer p.copy{font-size:0.85em;}


/* ===================================================
 2階層目
=====================================================*/
#page_ttl{margin-right: auto; margin-left: auto; background-color: #FFFFFF;}

#page_ttl h1{
	background-image: url(../images/pagettl_blue.png);
	background-repeat: no-repeat;
	background-position: left center;
/*	text-indent:35px;*/
	padding:25px 0 25px 35px;
	font-size: 1.8em;
}
#page_ttl #pan{ background-color:#F0F0F0; padding-top:5px; padding-bottom:5px; font-size: 87.5%;}


article.basic h1{
	font-size: 1.8em;
	padding-bottom:0.5em;
	font-weight: bold;
	color: #000000;
	background-image: url(../images/bar.png);
	background-repeat: no-repeat;
	background-position: left bottom;
	margin-top:2em;
	margin-bottom:0.75em;

	line-height: 1.1em;
	text-align: start;
	letter-spacing:1px;
}
article.basic h2{
	background-color:#59bdd8;
	border-left:7px solid #1c3469;
	font-size: 1.4em;
	color:#FFFFFF;
	padding:5px 10px 5px 10px;
	margin-top:1.5em;
	margin-bottom:0.75em;
}
article.basic h3, section.form_design h3{font-size: 1.4em; color:#000000; border-bottom:1px dotted #CCCCCC; padding-bottom:0.1em; margin-top:1.5em; margin-bottom:0.75em;}
article.basic h4, section.form_design h4{font-size: 1.2em; color:#000000; margin-top:1em; margin-bottom:0.75em;}
article.basic p{ margin-top:1.5em}
article.basic table{ border-collapse:collapse; width:100%; margin-top:0.5em; /**** font-size:1.2em ****/}
article.basic th, article.basic td{ border:1px solid #CCCCCC; padding:0.7em 1em 0.7em 1em;}
article.basic th{ font-weight:bold; background-color:#f0f0f0; text-align:center;}
article.basic td img{display: block; margin-left: auto; margin-right: auto;}
article.basic table.tb01 th{text-align:left;}
article.basic a, article.infolist a, article.haisha footer a{ color:#2284d9; text-decoration:underline}
article.basic a:hover, article.infolist a:hover, article.haisha footer a:hover{text-decoration:none}
article.basic ol{ margin-top:1em; margin-bottom:1em}
article.basic ol li{ list-style:decimal; margin-left:20px; line-height:180%;}
article.basic ul{ margin-top:1em; margin-bottom:1em}
article.basic ul li{list-style: disc; margin-left: 20px; line-height: 180%;}


section.photo3col{margin-right:-40px; margin-top:2em}
section.photo3col div{ float:left; margin-right:40px; margin-bottom: 1em; width:300px;}
section.photo3col div img{ margin-bottom:0.25em}


nav#side02{ width:240px; float:right}
nav#side02 ul{ margin-bottom:2em}
nav#side02 li a{
	border: 1px solid #5abdd7;
	display: block;
	padding: 10px 15px 10px 10px;
	margin-bottom: 10px;
	text-decoration: none;
	background-image: url(../images/arrow_blue.png);
	background-repeat: no-repeat;
	background-position: 97% center;
	background-size: 8px 16px;
}
nav#side02 li a:hover{ background-color:#1c3469; color:#FFFFFF; border: 1px solid #1c3469;}
nav#side02 .ttl{background-color:#5abdd7; color:#FFFFFF; margin-bottom:10px; padding:0.3em 0.6em;}


article.infolist{
	border-left: 6px solid #CCCCCC;
	border-right: 1px solid #CCCCCC;
	border-bottom: 1px solid #CCCCCC;
	border-top: 1px solid #CCCCCC;
	padding:1em 1.5em 1.5em 1.5em;
	margin-bottom:2em;
}
article.infolist h1{
	font-size:1.2em;
	line-height:1.8em;
	background: none !important;
	margin: 0;
	padding: 0;
}
article.infolist h1 a{
	background-image: url(../images/arrow_black_PC.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left:1.2em;
}
article.infolist h1 span.ymd{ padding-left:1em; font-size:80%}

.pager{ margin-bottom:1.5em; font-size:85%;}
.pager:after {content: ""; display: block; clear: both; visibility: hidden;}
.pager .next{ float:right}
.pager .back{ float:right; margin-right:1em;}
.pager .next a, .pager .back a{ display:block; background-color:#999999; color:#FFFFFF; text-decoration:none; padding:0.2em 0.8em 0.2em 0.8em;}
.pager .next a:hover, .pager .back a:hover{background-color:#5abdd7;}


article.haisha{ border:1px solid #1c3469; margin-bottom:2em;}
article.haisha header:after {content: ""; display: block; clear: both; visibility: hidden;}
article.haisha section.details:after {content: ""; display: block; clear: both; visibility: hidden;}
article.haisha h1{ background-color:#1c3469; color:#FFFFFF; padding:0.2em 0.7em 0.2em 0.7em; font-size:1.8em;}
article.haisha h1 div.number{ color:#000000; background-color:#FFFFFF; padding:0.1em 0.5em 0.1em 0.5em; font-size:80%; float:left; margin-right:0.75em;}
article.haisha h2{font-size: 1em; color:#000000; border-bottom:1px dotted #CCCCCC; padding-bottom:0.1em; margin-bottom:0.75em;}
article.haisha section{ margin:25px; border:1px dotted #CCCCCC; padding:15px;}
article.haisha section.details{border:none; padding:0em;}
article.haisha section.details .photo{ float:left; width:330px;}
article.haisha section.details .txt{float:right; width:570px; font-size:1.2em; line-height:1.6em}
article.haisha section.details .txt table{ width:100%}
article.haisha section.details .txt th{
	width: 9em;
	background-image: url(../images/icon_shikaku.png);
	background-repeat: no-repeat;
	background-position: left center;
	text-indent:1.5em;
}
article.haisha footer{ text-align:right; margin:-20px 25px 20px 0px; font-size:85%}


/*----------------------------------------------------
フォームCSS
------------------------------------------------------*/
article.form_design, article.form_design table,
section.form_design, section.form_design table
{ font-size:14px; }

article.form_design table,
section.form_design table
{ border-collapse:collapse; margin-top:2em; width:100%; line-height:1.6em;}

article.form_design th, article.form_design td,
section.form_design th, section.form_design td
{ border:#CCCCCC 1px solid; padding:0.7em 1em 0.7em 1em; vertical-align:middle;}

article.form_design th,
section.form_design th
{ font-weight:bold; background:#F0F0F0; font-size:1.2em;}

article.form_design .btn_area,
section.form_design .btn_area
{ text-align:center; margin-top:2em;}
/*
article.form_design span,
section.form_design span
{ color:#FF0004; font-size:80%}
*/
/*
article.form_design input, article.form_design p,
section.form_design input, section.form_design p
{ margin-left:0.5em; margin-right:0.5em }
*/

article.form_design input,
section.form_design input
{ margin-top:0.5em; margin-bottom:0.5em; vertical-align:middle;}

article.form_design input[type=text],
article.form_design input[type=password],
section.form_design input[type=text],
article.form_design textarea,
section.form_design textarea
{ border:1px solid #CCCCCC; padding:0.7em; font-size:1em;}

article.form_design input[type=text]:focus,
section.form_design input[type=text]:focus,
article.form_design textarea:focus,
section.form_design textarea:focus
{border:1px solid #f08303}

article.form_design input[type=button],
section.form_design input[type=button]{
   border-radius: 5px;
   -moz-border-radius: 5px;
   -webkit-border-radius: 5px;
   -o-border-radius: 5px;
   -ms-border-radius: 5px;
   border:#CCCCCC 1px solid;
   -moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
   -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
   padding:0.7em 3em 0.7em 3em;
   cursor:pointer;
   color:#000000;
   font-weight:bold;
   background-color:#f5f5f5;
   font-size:1.4em;
   margin-top:1em;
}

article.form_design input[type=button]:hover,
section.form_design input[type=button]:hover
{background-color:#FFFFFF;}

article.form_design ul, article.form_design ol,
section.form_design ul, section.form_design ol
{ margin-top:0; margin-bottom:0; }

article.form_design ul li, article.form_design ol li,
section.form_design ul li, section.form_design ol li
{ list-style-type: none; margin: 0; padding: 0; }

article.form_design p,
section.form_design p {
    margin-top: 0;
}

article.form_design input[type=button].inline,
section.form_design input[type=button].inline{
    font-size:1em;
    margin-top: 0.5em;
}

/*----------------------------------------------------
追記
------------------------------------------------------*/
#contents > article:first-child > div:first-child     > h1:first-child,
#mainarea > article:first-child > div:first-child     > h1:first-child,
#contents > article:first-child > div:first-child     > header:first-child  > h1:first-child,
#contents > article:first-child > header:first-child  > h1:first-child,
#contents > section:first-child > article:first-child > div:first-child     > h1:first-child,
#contents > article:first-child > div:first-child     > section:first-child > h1:first-child,
#mainarea > article:first-child > header:first-child  > h1:first-child,

#contents > article:first-child > div:first-child     > h2:first-child,
#contents > article:first-child > div:first-child     > h3:first-child,

#contents > article.basic:first-child > div:first-child     > p:first-child,
#mainarea > article.basic:first-child > div:first-child     > p:first-child{
	margin-top: 0;
}

p + section > header {
	margin-top: 10px;
}

article.basic h2 a {
	color:#FFFFFF;
}
article.basic h1 span.ymd{ padding-left:1em; font-size:80%}

.info dl.meeting dt {
	float:none;
	background-image: url(../images/arrow_black_PC.png);
	background-repeat: no-repeat;
	background-position: left center;
	padding-left:1.5em;
}
.info dl.meeting dd {
	float:none;
}

section.attfiles{margin-top:2em;}
.input_error {
	color:#FF0000;
	margin: 0.5em 0 !important;
}
.input_message {
	color:#006633;
	margin: 0.5em 0 !important;
}


/* TOP banner */
header#headarea #bt_join{float: right;}
header#headarea #bt_join a{
	display: block;
	border-top-left-radius: 0px;
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	background-color: #ea6948;
	color: #FFFFFF;
	padding: 5px 10px 5px 33px;
	text-decoration: none;
	background-image: url(../images/bt_join_pc.png);
	background-repeat: no-repeat;
	background-position: 10px center;
}
header#headarea #bt_join a:hover{background-color : #ea8948}

#join_bnr{ margin-top:1.5em; margin-bottom:2.5em;}
#join_bnr #join_bt{ background-color:#cccccc; padding:0.7em; text-align:center}
#join_bnr a img:hover{ opacity:0.7}
#join_bnr .sp_bnr{ display:none}

/* RAILFAN */
article.railfanlist {
	display:inline-block;
	/display:inline;	/* IE7以下 */
	/zoom:1;
	vertical-align:top;
	width: 21%;		/* 228px; */
	margin: 0 1% 10px 0;	/*  10px; */
	border: 1px solid #CCCCCC;
	padding: 10px;
}
article.railfanlist div.thumb {
	max-height: 170px;
	text-align: center;
	margin: 0 auto 10px auto;
}

article.railfan div.cover {
	float: left;
	width: 130px;
	margin:0 20px 20px 0;
}
article.railfan h1.entry-title {
	margin-top : 0;
	margin-left: 150px;
}

article.railfan .entry-content p {
	overflow: hidden;
}

table td.break-all {
	word-break: break-all;
}

/* コメント */
article.haisyatai li.comment {
	border-bottom: 1px dotted #cccccc;
	margin-top: 1.5em;
}
article.haisyatai li.comment .comment-meta {
	text-align: right;
	font-size: 90%;
	color: #666;
}
article.haisyatai li.comment ul li{
	list-style-type: disc;
	margin-left: 1.5em;
}
article.haisyatai li.comment ol li{
	list-style-type: decimal;
	margin-left: 1.5em;
}

/* フォーム */
.form_design .val_set{background-color:#FFC;}

/* ボタン */
#contents .btn_s {
	font-weight: normal;
	margin: 10px 0;
}
#contents .btn_s a{
	color: #FFFFFF;
	display: block;
	text-decoration: none;
/*	font-weight: bold;*/
	background-color: #5f99b4;/*#59bdd8;*/
	padding: 5px 10px;
/*	background-image: url(../images/arrow_white_PC.png);
	background-repeat: no-repeat;
	background-position: 97% center;*/

	background-repeat: no-repeat;
	background-position: right center;
	float:left;
}
#contents .btn_s a:hover{
	background-color:#004b61;/*#1c3469;*/
}
#contents .btn_s a.up{
	padding-right: 25px;
	background-image: url(../images/arrow_white_up_PC.png);
}
#contents .btn_s a.down{
	padding-right: 25px;
	background-image: url(../images/arrow_white_down_PC.png);
}




/*----------------------------------------------------
旧システム互換設定
------------------------------------------------------*/
strong {
	font-weight: bold;
}
.alignleft {
	float: left;
	margin: 10px 30px 30px 0;
}
.alignright {
	float: right;
	margin: 10px 0 30px 30px;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 15px auto;
}
blockquote {
	border: 0 solid #666666;
	border-left-width: 3px;
	color: #444444;
	font-style: italic;
	margin: 0 1em 1.5em;
	padding: 0 0 0 1em;
}

article .center {

	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
article .right {
	text-align: right;
}

table .nowrap {
	white-space: nowrap;
}

table caption {
	caption-side: bottom;
	text-align: right;
	margin-bottom: 0.5em;
}
.strong {
	font-size: 110%;
	font-weight: bold;
}
.note {
	color: #060;
	font-size: 90%;
	line-height: 1.5em;
}

.s_red {
	color:#FF0004;
	font-size:80%;
}
#bt_area {
	margin: 1em 0;
}
input.input_middle {width:20em;}
input.input_short {width:6em;}
input.input_long {width:38em;}
textarea.input_textarea {width:40em;height:10em;}

/*----------------------------------------------------
画像
------------------------------------------------------*/
.wp-caption{
	margin: 1em 0;
}
article p.wp-caption-text{
	color: #686868;
	padding-top: 0.2em;
	margin:0;
	font-size: 90%;
	line-height: 1.6em;
	text-align: start;
}

/*----------------------------------------------------
ギャラリー
------------------------------------------------------*/
.gallery {
	margin: 0.5em 0;
	margin-right: -3%;
}

.gallery-item {
	display: inline-block;
	max-width: 32%;
	padding: 0 2% 2% 0;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 40%;
}

.gallery-columns-4 .gallery-item {
	max-width: 22.8%;
}

.gallery-columns-5 .gallery-item {
	max-width: 15%;
}

.gallery-columns-6 .gallery-item {
	max-width: 11.66%;
}

.gallery-columns-7 .gallery-item {
	max-width:  9.28%;
}

.gallery-columns-8 .gallery-item {
	max-width:  7.5%;
}

.gallery-columns-9 .gallery-item {
	max-width:  6.11%;
}

.gallery-icon img {
	margin: 0 auto;
}

.gallery-caption {
	color: #686868;
	display: block;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
	text-align: left;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}


/* ===================================================
767px for SP
=====================================================*/
@media screen and (max-width : 767px) {
	
html {font-size : 85%; }/*12px：レスポンシブタイプセッティングの指定*/
.wrap{width:auto;}

/*----------------------------------------------------
header#headarea
------------------------------------------------------*/
header#headarea {width : 100%; min-width: 100%;}
header#headarea  #logoarea {width : 100%;}
header#headarea  #logoarea h1.logo img { width:60%; margin-left:3%;}

header#headarea #header_sub{float:none; background-color: #002b69;}

header#headarea #bt_member,
header#headarea #bt_english,
header#headarea #bt_japanese,
header#headarea #bt_public{
	margin-left: 0;
}

header#headarea #header_sub:after {content: ""; display: block; clear: both; visibility: hidden;}
header#headarea #header_sub a{
	border-radius: 0px;
	padding: 3px 10px 3px 15px;
	font-size: 90%;
	text-align: right;
	background-position: 10px center;
	width: 7em;
	float: right;
}
header#headarea #header_sub a:hover{ background-color: #002b69;}

header#headarea #bt_public a{padding-left: 20px; background-size: 10px 8.5px;}
header#headarea #bt_member a{padding-left: 20px; background-size: 8px 11px;}
header#headarea #bt_english a{padding-left: 5px;  background-size: 10px 8.5px;}
header#headarea #bt_japanese a{padding-left: 12px;  background-size: 10px 8.5px;}

header#headarea #sp_menu {
	position: absolute;
	top: 35px;
	right: 3%;
	display: block;
	text-align:right;
}
header#headarea #sp_menu img {width: 50%;}

/*----------------------------------------------------
gnav
------------------------------------------------------*/
nav#gnav {display: none; border-top:none;}
nav#gnav.open_menu {display:block;}
nav#gnav ul.main {width:100%; overflow:hidden;}
nav#gnav ul.main>li {
	float:none;
	text-indent:1em;
	border-bottom: 1px solid #FFFFFF;
	width:100%;
	background-image: none;
}
nav#gnav ul.main li.sl,
nav#gnav ul.main li.ss {
	width : 100%;
}

nav#gnav ul.main li a {
	text-align:left;
	font-size:1.2em;
	padding : .4em 0.5em;
	background-image: url(../images/arrow_sp_navi.png);
	background-size: 8px 16px;
	-webkit-background-size: 8px 16px;
	-moz-background-size: 8px 16px;
	background-repeat: no-repeat;
	background-position: 97% center;
}

nav#gnav ul.main li ul.sub {
	position: static;
}
nav#gnav ul.sub{
	display: block;
}
nav#gnav ul.sub li{
	background-image: none;
	text-indent:2em;
}

nav#gnav ul.sub li a,
nav#gnav ul.sub li a:visited {
	display: block;
	padding : 0.5em 0;
	width: 100%;
	font-size: 1em;
	background: 96% center url(../images/arrow.png) no-repeat;
	background-size: 4px 8px;
	border-bottom: none;
	border-top-style: dotted;
	border-top-color: #99aac3;
/*	border-bottom: 1px solid #ffffff;
	border-top: none;*/
}
nav#gnav ul.main li.sl ul.sub li a,
nav#gnav ul.main li.sl ul.sub li a:visited {
	width: 100%;
}


/*----------------------------------------------------
gnav (展開版)
------------------------------------------------------*/
/*
nav#gnav {display: none; border-top:none;}
nav#gnav.open_menu {display:block;}
nav#gnav ul.main {width:100%; overflow:hidden;}
nav#gnav ul.main>li {
	float:none;
	text-indent:1em;
	border-bottom: 1px solid #FFFFFF;
	width:100%;
	background-image: none;
}

nav#gnav ul.main li a {
	text-align:left;
	font-size:1.3em;
	padding : 0.7em 0.5em;
	background-image: url(../images/arrow-lk_sp_navi.png);
	background-size: 16px 16px;
	-webkit-background-size: 16px 16px;
	-moz-background-size: 16px 16px;
	background-repeat: no-repeat;
	background-position: right 15px center;
}
nav#gnav ul.main li a.open {
	background-image: url(../images/arrow-op_sp_navi.png);
}
nav#gnav ul.main li a.close {
	background-image: url(../images/arrow-cl_sp_navi.png);
}

nav#gnav ul.main li ul.sub {
	position: static;
}
nav#gnav ul.sub{
	display: block;
}
nav#gnav ul.sub li{
	background-image: none;
	text-indent:2em;
}

nav#gnav ul.sub li a,
nav#gnav ul.sub li a:visited {
	display: block;
	padding : 0.7em 0.5em;
	width: auto;
	font-size: 1.1em;
	background: right 20px center url(../images/arrow.png) no-repeat;
	background-size: 4px 8px;
	border-bottom: none;
	border-top-style: dotted;
	border-top-color: #99aac3;
/ *	border-bottom: 1px solid #ffffff;
	border-top: none;* /
}

/*----------------------------------------------------
contenst
------------------------------------------------------*/
#contenner{min-width: 100%;}
#contents {width : 94%; padding-top:1.5em; padding-bottom:1.5em}
#mainarea {width:100%; float:none}


/*----------------------------------------------------
info
------------------------------------------------------*/
.info{ margin-bottom:2em;}
.info h1.icon_news{
	background-image: url(../images/icon_news.png);
	background-size: 25px 23px;
	-webkit-background-size: 25px 23px;
	-moz-background-size: 25px 23px;
	background-repeat: no-repeat;
	background-position: 5px center;
	padding-left: 35px;
	font-size:1.1em;
}

.info h1.icon_info{
	background-image: url(../images/icon_info.png);
	background-size: 23px 23px;
	-webkit-background-size: 23px 23px;
	-moz-background-size: 23px 23px;
	background-repeat: no-repeat;
	background-position: 5px center;
	padding-left: 35px;
	font-size:1.1em;
}

.info .btn_list a{
	padding: 0.3em 1.8em 0.3em .8em;
	background-image: url(../images/arrow_white.png);
	background-size: 6px 12px;
	-webkit-background-size: 6px 12px;
	-moz-background-size: 6px 12px;
	margin-top: 5px;
}

.info dl dt{float:none;}
.info dl dd{float:none;margin-left:0;}

.info dl span.icon_press, 
.info dl span.icon_event, 
.info dl span.icon_offer{
	padding:0.5em 0.5em 0.3em 0.5em;
}


/*----------------------------------------------------
side
------------------------------------------------------*/
nav#side{width:100%; float:none;}

nav#side li a{
	border: 1px solid #CCCCCC;
	display: block;
	padding: 10px 15px 10px 10px;
	margin-bottom: 0.5em;
	text-decoration: none;
	background-image: url(../images/arrow_blue.png);
	background-repeat: no-repeat;
	background-position: 95% center;
	background-size: 8px 16px;
	-webkit-background-size: 8px 16px;
	-moz-background-size: 8px 16px;
}
nav#side li a:hover{color:#FFFFFF; border: 1px solid #1c3469;}

aside#side li a:hover{color:#FFFFFF; border: 1px solid #1c3469;}

/*----------------------------------------------------
pagetop
------------------------------------------------------*/
#pagetop{ display:block}
#pagetop a{
	background-color: #CCCCCC;
	text-align:center;
	display:block;
	padding-top:0.8em;
	padding-bottom:0.8em;
}
#pagetop a:hover{background-color: #CCCCCC;}
#pagetop img{ width:50px; height:24px;}

/*for PC pagetop-----------------------------------*/
#toPageTop{ display:none}


/*----------------------------------------------------
footerarea
------------------------------------------------------*/
#footerarea{background-color: #666666;}
#footerarea .wrap{width:100%; padding:0;}
#footerarea nav#fnav{float: none; width:100%; margin-top:0em;}
#footerarea nav#fnav li{
	border-bottom: none;
	float: none;
	font-size:1em;
	border-right: none;
	margin-right:0em;
	padding-right:0em;
	text-align:right;
}

#footerarea nav#fnav li a{
	text-decoration: none;
	background-image: url(../images/common/arrow_fnavi.png);
	background-size: 8px 16px;
	-webkit-background-size: 8px 16px;
	-moz-background-size: 8px 16px;
	background-repeat: no-repeat;
	background-position: 97% center;
	padding: 0.75em;
}

#footerarea nav#fnav li a:hover{background-color: #666666;}

#footerarea p {
text-align : center;
background-color: #002b69;
float:none;
width:100%;
border-top: none;
}

/* ボタン */
#contents .btn_s a{
	padding: 0.3em 1em;
/*	background-image: url(../images/arrow_white.png);*/
	background-size: 22px 22px;
	-webkit-background-size: 22px 22px;
	-moz-background-size: 22px 22px;
	font-size: 85%;
}
#contents .btn_s a.up{
	padding-right: 2em;
	background-image: url(../images/arrow_white_up.png);
}
#contents .btn_s a.down{
	padding-right: 2em;
	background-image: url(../images/arrow_white_down.png);
}

/* ===================================================
 2階層目
=====================================================*/
#page_ttl #pan{font-size:85%; padding-left:0.5em; padding-right:0.5em;}

#page_ttl h1{
	background-image: url(../images/pagettl_blue.png);
	background-repeat: no-repeat;
	background-position: 0.2em center;
	text-indent:0;/*1.8em;*/
	padding-top:0.5em;
	padding-bottom:0.5em;
	border-top:1px solid #002b69;

	padding-left:38px;
	padding-right:12px;
	line-height: 1.2em;
	font-size: 1.6em;
}
article.basic h1{
	line-height: 1.2em;
	font-size: 1.5em;
}
article.basic h2{
	padding-left: 7px;
	font-size: 1.3em;
}


section.photo3col{margin-right:0px; margin-top:2em}
section.photo3col div{ float:none; margin-right:0px; width:100%;}

nav#side02{ width:100%; float:none}
nav#side02 li a{margin-bottom: 5px;}
nav#side02 .ttl{margin-bottom:5px;}

article.haisha h1 div.number{float:none; width:30%; margin-bottom:0.5em;}
article.haisha section{ margin:1.5em; padding:1em;;}
article.haisha section.details .photo{ float:none; width:100%;}
article.haisha section.details .txt{float:none; width:100%; margin-top:1em;}
article.haisha section.details .txt th{
	width: 7em;
	background-image:none;
	background-repeat: no-repeat;
	background-position: left center;
	text-indent:0em;
	vertical-align:top;
}

/* TOP banner */
header#headarea #bt_join{float:none;}
header#headarea #bt_join:after {content: ""; display: block; clear: both; visibility: hidden;}

header#headarea #bt_join a{
	border-radius: 0px;
	padding: 3px 10px 3px 15px;
	font-size: 90%;
	background-size: 12px 10px;
	text-align: right;
	background-position: 10px center;
	width:6em;
	float:right;
	background-color: #002b69;
}
header#headarea #bt_join a:hover{ background-color: #002b69;}

#join_bnr .pc_bnr{ display:none;}
#join_bnr .sp_bnr{ display: block; border:1px solid #CCCCCC; padding:1em 1em 1.5em 1em; font-size:115%;}
#join_bnr .sp_bnr .ribon{ width: 90%; max-width: 320px; margin: 0 auto;}
#join_bnr .sp_bnr span{font-weight:bold;}
#join_bnr .sp_bnr li{ margin-top:0.3em; margin-bottom:0.3em; list-style:decimal;}
#join_bnr .sp_bnr .tokutenlink{ text-align:right;}
#join_bnr #join_bt{padding:0.7em 5em 0.7em 5em;}

/* RAILFAN */
article.railfan .entry-content p {
	overflow: visible;
}

/*----------------------------------------------------
フォームCSS
------------------------------------------------------*/
article.form_design th, article.form_design td,
section.form_design th, section.form_design td
{ display:block;}

article.form_design td,
section.form_design td
{border-top: none;}

/* info */
.info h1.icon_news{
	background-image: url(../images/icon_info_m.png);
	background-size: 31px 25px;
	-webkit-background-size: 31px 25px;
	-moz-background-size: 31px 25px;
	background-repeat: no-repeat;
	background-position: 5px center;
	padding-left: 42px;
}
.info h1.icon_info{
	background-image: url(../images/icon_report_m.png);
	background-size: 22px 24px;
	-webkit-background-size: 22px 24px;
	-moz-background-size: 22px 24px;
	background-repeat: no-repeat;
	background-position: 5px center;
	padding-left: 35px;
}

/* 追記 for SP */
article.railfanlist { width: 19%;}

input.input_middle {width:80%;}
input.input_short {width:15%;}
input.input_long {width:80%;}
textarea.input_textarea {width:90%;height:10em;}
select {width:90%;}

article.form_design input[type=button].inline,
section.form_design input[type=button].inline{
    margin-left:  auto;
    margin-right: auto;
}
.spnone{display:none;}
}
