/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
reset
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*resetここまで*/


/*html5未対応ブラウザ用*/

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }



/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
common
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

body#home {
	height:100%;
	font-family:Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333;
	font-size:87%;
	line-height:160%;
	background: url(../images/bg_body.png) left top repeat-x, #F3EEDE;
}
body {
	height:100%;
	font-family:Avenir, Helvetica, Arial, Verdana, Roboto, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color: #333;
	font-size:87%;
	line-height:160%;
	background: url(../images/bg_body.png) left top repeat-x, #F3EEDE;
}


* html body {  
	font-size:87%;  
}
/**/
*:first-child+html body {  
	font-size:87%;  
}

img {
	vertical-align:bottom;
	border:none;
	display:block;
}

/* IE6 base font */
* html body {
	font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

.center {
	text-align:center;
}
.left {
	text-align:left;
}
.right {
	text-align:right;
}

.fleft {
	float:left;	
}
.fright {
	float:right;	
}

.center00 {
	margin:0px auto;
}
.center20 {
	margin:20px auto;
}

.clear {
	clear:both;
}
.clearLeft {
	clear:left;
}
.clearRight {
	clear:right;
}

.h10 {
	height:10px;
}
.all5 {
	padding: 5px;
}
.all10 {
	padding: 10px;
}
.t5 {
	padding-top:5px;
}
.t10 {
	padding-top:10px;
}
.t20 {
	padding-top:20px;
}
.t30 {
	padding-top:30px;
}
.t40 {
	padding-top:40px;
}
.t50 {
	padding-top:50px;
}
.t70 {
	padding-top:70px;
}
.t100 {
	padding-top:100px;
}
.b10 {
	padding-bottom:10px;
}
.b20 {
	padding-bottom:20px;
}
.b50 {
	padding-bottom:50px;
}
.r10 {
	padding-right:10px;
}
.r20 {
	padding-right:20px;
}
.r30 {
	padding-right:30px;
}
.r40 {
	padding-right:40px;
}
.l10 {
	padding-left:10px;
}
.l20 {
	padding-left:20px;
}
.l30 {
	padding-left:30px;
}
.l40 {
	padding-left:40px;
}
.lr10 {
	padding:0 10px;
}
.l1em {
	padding-left:1em;
}
.b {
	font-weight:bold;
}
.underline {
	text-decoration:underline;
}


.t5 {padding-top:5px;}
.t10 {padding-top:10px;}
.t15 {padding-top:15px;}
.t20 {padding-top:20px;}
.b5 {padding-bottom:5px;}
.b10 {padding-bottom:10px;}
.b15 {padding-bottom:10px;}
.b20 {padding-bottom:20px;}
.r10 {padding-right:10px;}
.l10 {padding-left:10px;}

.mb5 {margin-bottom:5px;}
.mb10 {margin-bottom:10px;}
.mb15 {margin-bottom:15px;}
.mb20 {margin-bottom:20px;}
.mb25 {margin-bottom:25px;}
.mb30 {margin-bottom:30px;}
.mb35 {margin-bottom:35px;}
.mb40 {margin-bottom:40px;}
.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}
.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}
.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}
.mt35 {margin-top:35px;}
.mt40 {margin-top:40px;}

.mr10 {margin-right:10px;}
.mr20 {margin-right:20px;}
.ml10 {margin-left:10px;}
.ml20 {margin-left:20px;}

.ssText {
	font-size:0.8em;
	line-height:135%;
}
.sText {
	font-size:0.9em;
	line-height:150%;
}
.lText {
	font-size:1.1em;
}
.llText {
	font-size:1.2em;
}
.XlText {
	font-size:1.3em;
}

.indent1em {
	padding-left:1em;
	text-indent:-1em;
}
.indent5em {
	padding-left:5em;
	text-indent:-5em;
}
.indent7em {
	padding-left:7em;
	text-indent:-7em;
}
.indent9em {
	padding-left:9em;
	text-indent:-9em;
}
.indent15em {
	padding-left:15em;
	text-indent:-15em;
}
.indent16em {
	padding-left:16em;
	text-indent:-16em;
}
.indent19em {
	padding-left:19em;
	text-indent:-19em;
}

.color_red {
	color:#e50012;
}

.color_darkblue {color:#004286;}
.color_green {
	color:#94d303;
}
.color_orange {
	color:#EC6C00;	
}
.color_blue {
	color: #0071B8;
}
.color_black {
	color: #000000;
}
.color_white {
	color: #ffffff;
}
.fs15 {
	font-size: 1.5em;
}
.fs13 {
	font-size: 1.3em;
}
.fs11 {
	font-size: 1.1em;
}
.fs10 {
	font-size: 1.0em;
}
.fs09 {
	font-size: 0.9em;
}
.fs08 {
	font-size: 0.8em;
}
.fs07 {
	font-size: 0.7em;
}
.fs06 {
	font-size: 0.6em;
}
.caution {
	color:#c50018;
}
.bg01 {
	background-color: #e0e0e0;
}
.bg02 {
	background-color: #09F;
}
.border1 {
	border: #09F solid 1px;
}
.border2 {
	border: #09F solid 2px;
	padding: 10px;
}
.border_bottom {
	border-bottom: #999 dotted 1px;
}
a {
	color:#004286;
	text-decoration: underline;
	outline:0;
}
a:hover {
	color:#e50012;
	text-decoration: none;
}


.clearfix:after{
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:".";
	zoom:1;
}
.clearFix:after{
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:".";
	zoom:1;
}





/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
layout
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

/*ページベース
------------------------------------------------------*/
html, body {
	height: 100%;
}


#wrapper {
	width:960px;
	margin:0 auto;
	min-height:770px;
	height:auto !important;
	height:100%;
	position:relative;
	text-align:left;
	/*background:url(../images/bg_y.png) repeat-y;*/
	/*padding:0 10px;*/
}

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

#mainVisual {
	display: inline;
	width:705px;
	height: auto;
	background:url(../images/mainVisual.png) center top no-repeat;
}
header#headerHome {
	width:960px;
	height: 101px;
	background:url(../images/bg_header.png) left center repeat-x;
}
header {
	width:705px;
	height: 100px;
	background:url(../images/bg_header.png) center top no-repeat;
}
.hederin {
	width:705px;
	margin:0 auto;
}
#logoHome {
	display:block;
	position:absolute;
	top:40px;
	left:30px;
	width:660px;
	height:252px;
	background:url(../images/logo.png) no-repeat;
	text-indent:-9999px;
}
#logo {
	display:block;
	width:705px;
	height:100px;
	background:url(../images/logo.png) no-repeat;
	text-indent:-9999px;
}

#english_page a {
	display:block;
	width: 144px;
	height: 44px;
	background: url(../images/btn_en.png) left center no-repeat;
	text-indent:-9999px;
}

.header_a_home a {
	font-size: 0.8em;
	padding-left:10px;
	margin-left:10px;
	text-decoration:none;
	background: url(../images/header_a_home.png) left center no-repeat;
}


/*contentWrap
------------------------------------------------------*/

#contentsWrap {
	width:950px;
	height: auto;
	padding:5px;
	background-color:#fff;
}



/*コンテンツエリア
------------------------------------------------------*/

#contentsAreaHome {
	width:950px;
	height:auto;
	padding: 5px;
	background: #FFFFFF;
}

#contentsAreaHome02 {
	width:960px;
	height:auto;
	margin:0 auto;
}

#contentsArea100 {
	width:100%;
	background: url(../images/footer2.png) left center repeat-x;
}

#contentsArea {
	display: inline;
	width:705px;
	padding-bottom:10px;
}

.contents {
	display: inline;
	width:655px;
	margin: 0 auto;
	padding:30px 20px 50px;
	height: auto !important;  /* IE6対策 */
  	height: 100%;             /* IE6対策：擬似的min-height */
	min-height:600px;         /* サイドに合わせる */
}


/*サイドエリア
------------------------------------------------------*/
#sideAreaHome {
	display: inline; /*ie6*/
	float: right;
	width: 240px;
	margin-left: 5px;
	background: url(../images/bg_side.png) left top repeat-x;
}
#sideArea {
	display: inline; /*ie6*/
	float: right;
	width: 240px;
	height: auto !important;
	min-height:730px;
	margin-left: 5px;
	background: url(../images/bg_side.png) left top repeat-x;
	
}

	

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

#topDate {
	width:500px;
	height:185px;
	position:absolute;
	top:300px;
	left:30px;
	background:url(../images/topDate.png) no-repeat;
	text-indent:-9999px;
}

#counter {
	display:block;
	width:240px;
	height:132px;
	position:absolute;
	top:420px;
	left:460px;
	z-index:100;
}

#topslide {
	width: 1000px;
	height: 500px;
	margin:5px auto 0;
	position:absolute;
	top:0;
	left:0;
	z-index: -100 !important;
}
.c_ttl_type03_type02 {
	background: #a1884a;
	padding: 5px 5px 8px 45px;
	border-bottom: none;
	color: #fff;
	position: relative;
	font-weight: bold;
	margin-bottom: 15px;
	font-size: 1.2rem;
}
.c_ttl_type03_type02.is_first::before {
    content: "";
    background: url("../images/icon_poster.gif") no-repeat;
		background-size: auto;
    display: inline-block;
    height: 24px;
    width: 30px;
    position: absolute;
    left: 10px;
    top: 5px;
    background-size: 100%;
}
.c_ttl_type03_type02.is_second::before {
    content: "";
    background: url("../images/icon_poster.gif") no-repeat;
		background-size: auto;
    display: inline-block;
    height: 24px;
    width: 30px;
    position: absolute;
    left: 10px;
    top: 5px;
    background-size: 100%;
}
.c_ttl_type03_type02::after {
    content: "";
    height: 1px;
    width: 100%;
    position: absolute;
    background: #fff;
    bottom: 3px;
    left: 0;
}
.c_ttl_type03_type02::after {
    content: "";
    height: 1px;
    width: 100%;
    position: absolute;
    background: #fff;
    bottom: 3px;
    left: 0;
}

/* .viewer（スライド用）
------------------------- */
.viewer {
    margin: 0 auto;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.viewer ul {
    width: 100%;
    overflow: hidden;
    position: relative;
}
.viewer ul li {
    top: 0;
    left: 0;
    width: 100%;
    position: absolute;
}
.viewer ul li img {
    width: 100%;
}
 
/* sideNavi
------------------------- */
.viewer .btnPrev,
.viewer .btnNext {
    margin-top: -25px;
    top: 50%;
    width: 50px;
    height: 50px;
    position: absolute;
    z-index: 101;
}
.viewer .btnPrev {
    left: 10px;
    background: #ccc url(../img/btnPrev.jpg) no-repeat center center;
}
.viewer .btnNext {
    right: 10px;
    background: #ccc url(../img/btnNext.jpg) no-repeat center center;
}
 
 
/* =======================================
    ClearFixElements
======================================= */
.viewer ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}
 
.viewer ul {
    display: inline-block;
    overflow: hidden;
}


/*TOPメインメニュー
------------------------------------------------------*/
#topMenu {
	margin-top: 5px;
}
.menu {
	padding:0px 0;
}
.menu {
    position: relative;
    width: 100%;
    height: 60px;
    max-width: 960px;
    margin: 0 auto;
}

.menu > li {
    float: left;
    width: 20%; /* グローバルナビ4つの場合 */
    height: 60px;
    line-height: 60px;
    background: url("../images/menu.png") bottom center no-repeat;
}

.menu > li a {
    display: block;
    color: #780000;
	text-decoration:none;
	text-align:center;
	font-weight:600;
	font-size:1.1em;
}

.menu > li a:hover,
.menu > li a.crt {
    color: #fff;
	background: url("../images/menu.png") top center no-repeat;
}





/* 下矢印 */
.init-bottom:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

.dropdown00 ul li {
	font-size: 0.9em;
}


/*サイドエリア
------------------------------------------------------*/

#sideArea {
	display: inline; /*ie6*/
	float:left;
	width:230px;
	height:auto;
	min-height:600px;
}
#sideArea.sideTop {
	display: inline; /*ie6*/
	float:left;
	width:230px;
	height: auto !important;
	min-height:700px;

}

.english {
	padding:20px;
}
	.english a {
		color:#00dcff;
		font-weight:bold;
	}

.ul_sideBanner {
	width: 210px;
	margin: 5px auto 0;
}
/*
	.ul_sideBanner li img:hover {
		filter:alpha(opacity=85);
		-moz-opacity:0.85;
		-khtml-opacity: 0.85;
		opacity:0.85;
	}
*/

/*動画*/
.movieBox {
	width: 210px;
	margin: 20px auto 20px;
}

/*
#sideFreehome {
	display:block;
	width:240px;
	height:115px;
	background-color:#ff9a00;
}
#sideFreemess {
	display:block;
	width:240px;
	height:125px;
	background-color:#ff9a00;
}
#sideFreecall {
	display:block;
	width:240px;
	height:3255px;
	background-color:#ff9a00;
}
*/

/*サイドメニュー
------------------------------------------------------*/

#gNavi {
	display:block;
	width:240px;
	/*height:895px;*/
	margin:0px auto;
}
#gNavi li {
	display: block;
	width:240px;
	margin-bottom: 2px;
}
#gNavi li a {
	display:table-cell;
	width:240px;
	text-decoration: none;
	vertical-align: middle;
     font-family: 'Noto Sans JP', sans-serif;
	font-size: 100%;
	font-weight: 500;
	line-height:1.2;
}




#gNavi li .btn {
	height: 48px;
	color: #fff;
	font-size: 14px;
	background: url(../images/gNavi.png) no-repeat;
}
	#gNavi li .btn span {
		display: block;
		padding:5px 10px;
	}
	#gNavi li .btn:hover {
		background: url(../images/gNavi_hover.png) no-repeat;
		color: #fff;
	}
	
#gNavi li .btn_crt {
	height: 48px;
	color: #fff;
	font-size: 14px;
	background: url(../images/gNavi_hover.png) no-repeat;
}	
	#gNavi li .btn_crt span {
		display: block;
		padding:5px 10px;
	}
	
	
#gNavi li .ico_new {
	display: inline-block;
	vertical-align: baseline;
}




/*サブメニュー
------------------------------------------------------*/

#gNavi li.dropdown:hover  > ul > li {/*子・孫*/
  overflow: visible;
  height: 40px;
	transition: 1s;
}
#gNavi li.dropdown ul li {/*子・孫*/
  overflow: hidden;
  height: 0;
  list-style: none;
  transition: 1s;
}
#gNavi li ul li a {
	background-image: none;
  background-color: #335E7D;
	text-indent: 0;
	height: 40px;
	color: #FFFFFF;
  transition: 1s;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	font-family: 'Noto Sans JP', sans-serif;
}
#gNavi li ul li a:hover {
	background: #780000;
	color: #FFFFFF;	
}





	/*english→japanese切り替えボタン[start]
	------------------------------------------------------*/
#lng {
	display:block;
	width:240px;
	height:50px;
	padding:0;
}

#lng li a {
	display:block;
	width:120px;
	text-indent:-9999px;
	/*padding-bottom:2px;*/
}

a#lngEn {
	display:block;
	width:120px;
	background-image:url(../images/langEn_on.png);
	background-position:-120px 0;
	height:50px;
	text-indent:-9999px;
	/*padding-bottom:2px;*/
}
a#lngEn:hover,
a#lngEn_crt {
	display:block;
	width:120px;
	background-image:url(../images/langEn_off.png);
	background-position:0 0;
	height:50px;
	text-indent:-9999px;
	/*padding-bottom:2px;*/
}



a#lngJp {
	display:block;
	width:120px;
	background-image:url(../images/langJp_on.png);
	background-position:-120px 0;
	height:50px;
	text-indent:-9999px;
}
a#lngJp:hover,
a#lngJp_crt {
	display:block;
	width:120px;
	background-image:url(../images/langJp_off.png);
	background-position:0 0;
	height:50px;
	text-indent:-9999px;
}



	/*english→japanese切り替えボタン[end]
	------------------------------------------------------*/


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

footer {
	clear: both;
	width:100%;
	height:70px;
	background: url("../images/bg_footer.png") left top repeat-x;
}

#footerInner {
	width:960px;
	margin:0 auto;
	
}
	#footerInner p {
		color:#fff;
	}
	#footerInner p a {
		color:#fff;
	}
	#footerInner p a:hover {
		color:#e50012;
		text-decoration: none;
	}
	.lNavi {
		font-size: 0.8em;
	}
	.copyright {
		clear:both;
		width:930px;
		padding-left: 30px;
		margin:0 auto;
		line-height:3.0;
		color:#fff;
	}





/*flexbox*/

.flex {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-row-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row-reverse;
    /* Safari */
    flex-direction: row-reverse;
}

.flex-column {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column;
    /* Safari */
    flex-direction: column;
}

.flex-column-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column-reverse;
    /* Safari */
    flex-direction: column-reverse;
}

.inline-flex {
    display: -webkit-inline-flex;
    /* Safari */
    display: inline-flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-start {
    -webkit-justify-content: flex-start;
    /* Safari */
    justify-content: flex-start;
}

.flex-center {
    -webkit-justify-content: center;
    /* Safari */
    justify-content: center;
}

.flex-end {
    -webkit-justify-content: flex-end;
    /* Safari */
    justify-content: flex-end;
}

.flex-space-around {
    -webkit-justify-content: space-around;
    /* Safari */
    justify-content: space-around;
}

.flex-space-between {
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
}

.flex-align-center {
    -webkit-align-items: center;
    /* Safari */
    align-items: center;
}

.flex-align-end {
    -webkit-align-items: flex-end;
    /* Safari */
    align-items: flex-end;
}

/* バナー */
.ul_sideBanner2{
	width:705px;
	overflow: hidden;
}
.ul_sideBanner2 li{
	float: left;
}
.ul_sideBanner2 img {
	max-width: 310px;
}
#counter img:hover {
	filter:alpha(opacity=75);
	-moz-opacity:0.75;
	-khtml-opacity: 0.75;
	opacity:0.75;
}
.web_img{
	display:inline;
	margin-right:5px;
	vertical-align: -3px;
}
.tbl td{
	padding:10px 5px;
}
