@charset "utf-8";
/* CSS Document */



html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video{
	margin: 0;
	padding: 0;
	font-size: 100%;
}


html{
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	background-color:#03427b;
}

body{
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	color: #333;
	line-height: 1.75;
	background-color:#f8f8f8;

}

img{
	max-width:100%;
	height:auto;
	border: none;
	vertical-align: bottom;
}

a{
	color:#004ea2;
}

a:hover{
	color:#0086cd;
}

video{
	cursor:pointer;
}

.t_center{
	text-align:center;
}


.m_top{
	margin-top:8% !important;
}

.url_link{
	word-break:break-all;
}

/*clearfix
---------------------------------------------------------------*/
.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}


/*btn
-----------------------------------------------------------------------*/

/*-------btn01------------------*/
.btn01{
	text-align:right;
	position:relative;
	z-index:10;
}

.btn01 a{
	display:inline-block;
	position:relative;
	background-color:#004da0;
	color:#fff !important;
	padding:7px 40px 7px 10px;
	text-align:center;
	text-decoration:none !important;
	vertical-align:middle;
}



.btn01 a:after{
	content:" ";
	display:block !important;
	width:32px !important;
	height:1.75em !important;
	position:absolute;
	top:50%;
	right:0;
	margin:-0.875em 0 0!important;
	background:url(../img/common/arrow01.png) no-repeat 50% 50%;
	background-size:7px;
}

.btn01 a[target="_blank"]:after{
	width:32px !important;
	right:6px;
	background:url(../img/common/linkTargetBlank2.png) no-repeat 50% 50% !important;
	background-size:17px !important;

}

.btn01 a:hover{
	opacity:0.8;
}

/*-------btn02------------------*/
.btn02{
	position:relative;
	z-index:10;
}

.btn02 > a{
	display:inline-block;
	position:relative;
	background-color:#e78100;
	color:#fff;
	padding:7px 40px 7px 10px;
	text-align:center;
	text-decoration:none;
	vertical-align:middle;
	font-size:112.5%;
	font-weight:bold;
}


.btn02 > a:after{
	content:" ";
	display:block;
	width:32px !important;
	height:32px !important;
	position:absolute;
	top:50%;
	right:0;
	margin:-16px 0 0 !important;
	background:url(../img/common/arrow01.png) no-repeat 50% 50%;
	background-size:7px;
}

.btn02 > a[target="_blank"]:after{
	width:32px !important;
	right:6px;
	background:url(../img/common/linkTargetBlank2.png) no-repeat 50% 50% !important;
	background-size:17px !important;

}

.btn02 > a:hover{
	opacity:0.8;
}


.btn02 > a span{
	display:block;
	font-size:83.33%;
	font-weight:normal;
	line-height:1.1;
	padding:0 0 0.3em;
}



/*header
-----------------------------------------------------------------------*/
header{
	background-color:#fff;
	height:100px;
}

header div{
	max-width:1280px;
	width:98%;
	margin:0 auto;
	padding:63px 0 0;
	position:relative;
}

@media print{
	header div{
		width:1280px;
	}
}

header #site_lead{
	position:absolute;
	top:18px;
	left:0;
	font-size:87.5%;
	width:76%;
	line-height:1.2;

}

header #title,
header h1{
	width:29%;
	line-height:1;
}

#nav_btn{
	display:none;
}

/*nav
-----------------------------------------------------------------------*/
nav{
	background-color:#f0f3f6;
	border-top:#dcdcdc 8px solid;
	width:100%;
	z-index:9999;
	height:62px;
}


nav.nav_fixed{
	position:fixed;
	top:0;
	left:0;
	opacity:0.95;
}

@media print{
	nav.nav_fixed{
		position:static;
	}
}

nav #nav_cont{
	max-width:1280px;
	width:98%;
	margin:0 auto;
	position:relative;
}

@media print{
	nav #nav_cont{
		width:1280px;
	}
}

nav #nav_cont #nav_search{
	position:absolute;
	top:-47px;
	right:25%;
	width:17.5%;
	z-index:999;
}

nav #nav_cont #nav_search:before{
	content:" ";
	display:block;
	width:38px;
	height:38px;
	position:absolute;
	top:0;
	right:0;
	background:url(../img/common/search.png) no-repeat center;
	background-size:23px;
}

nav #nav_cont #nav_search form{
	border:#ccc 1px solid;
	display:block;
	min-height:38px;
	z-index:10;
	position:relative;
}

nav #nav_cont #nav_search form input[type="text"]{
	border:none;
	padding:10px;
}

nav #nav_cont #nav_search form input[type="submit"]{
	position:absolute;
	top:0;
	right:0;
	width:38px;
	height:38px;
	opacity:0;
}

nav #nav_cont #nav_search form input[type="submit"]:hover{
	background-color:#fff;
	color:#fff;
	opacity:0.2;
	border:none;
}


nav #menu_m{
	display:none;
}

nav #nav_cont p.inquiry_btn{
	position:absolute;
	top:-47px;
	right:0;
	width:23.5%;
}

nav #nav_cont p.inquiry_btn a{
	display:block;
	background-color:#6b6b6b;
	color:#fff;
	font-size:93.75%;
	padding:7px 7px 0;
	min-height:33px;
	position:relative;
	text-align:center;
	text-decoration:none;
	letter-spacing:0.15em;
}

nav #nav_cont p.inquiry_btn a img{
	position:absolute;
	width:7px;
	top:50%;
	right:8%;
	margin:-6px 0 0;

}

nav #nav_cont p.inquiry_btn a:hover{
	background-color:#777;
}


nav #nav_cont p.head_banner{
	position:absolute;
	top:-92px;
	right:0;
	width:23.5%;
}

nav #nav_cont p.head_banner a{
	display:block;
	padding:5px 25px;
	text-align:center;
	background-color:#f0f3f6;
}

nav #nav_cont p.head_banner a:hover{
	opacity:0.8;
}

nav #nav_cont #sub_nav{
	position:absolute;
	top:-37px;
	right:42.5%;
	list-style:none;
	font-size:87.5%;
	width:15.4%;
	text-align:right;
}

nav #nav_cont #sub_nav li{
	display:inline-block;
	padding-right:2em;
}

nav #nav_cont #sub_nav li a{
	text-decoration:none;
	color:#333;
}


nav #nav_cont #sub_nav li a:hover{
	text-decoration:underline;
	color:#555;
}


nav #nav_cont #main_nav{
	list-style:none;
	margin:-8px 0 0;
	position:relative;
}



nav #nav_cont #main_nav li{
	float:left;
	width:14.28%
}

.english nav #nav_cont #main_nav li{
	width:auto;
	min-width:14.28%;
}

nav #nav_cont #main_nav li a{
	display:block;
	color:#333;
	text-align:center;
	padding:17px 10px 0;
	border-top:#dcdcdc 8px solid;
	text-decoration:none;
	font-weight:bold;
	height:45px;
}

nav #nav_cont #main_nav li a img{
	width:17px;
	margin-left:10px;
	vertical-align:middle;
}

nav #nav_cont #main_nav li a:hover,
nav #nav_cont #main_nav li.mn_current a{
	color:#004da0;
	background-color:#fff;
	border-top-color:#1a8ed0;
}


#nav_bg_close{
	display:none;
	opacity:0;
	z-index:1;
}



/*crumb
-----------------------------------------------------------------------*/
#crumb{
	background-color:#fff;
}

#crumb ul{
	width:98%;
	max-width:1280px;
	margin:0 auto;
	list-style:none;
	padding:3px 0;
}

@media print{
	#crumb ul{
		width:1280px;
	}
}

#crumb ul li{
	display:inline;
	font-size:81.25%;
	padding:0 1em 0 0;
}

#crumb ul li:after{
	content:">";
	margin-left:1em;
}


#crumb ul li.this:after{
	display:none;
}

#crumb ul li a{
	color:#004da0;
}


/*content_wrapper
-----------------------------------------------------------------------*/
#content_wrapper{
	width:98%;
	max-width:1280px;
	margin:0 auto 18px;
	position:relative;
	z-index:0;
}

 @media print{
	 #content_wrapper{
		width:1280px;
	 }
 }

/*main_column
-----------------------------------------------------------------------*/

#main_column{
	float:right;
	width:71.8%;
	margin:2.5% 0 0;
	padding:0 0 1px;
	background-color:#fff;
	z-index:0;
}



#main_column .internal{
	padding-top:170px !important;
	margin-top:-170px !important;
	display:block !important;
	position:relative;
}

#main_column .internal_nohead{
	padding-top:100px !important;
	margin-top:-100px !important;
}

#main_column h1,
#main_column p.h1_ttl{
	font-size:250%;
	font-weight:normal;
	margin:2.5% 3.48% 3.48%;
	border-bottom:#ccc 1px solid;
	line-height:1.4;
	padding:7px 0;
}

#main_column h1 span{
	font-size:55.55%;
	margin-left:0.5em;
	display:inline-block;
}

#main_column p.h1_ttl + h1{
	font-size:175%;
	margin:-2.17% 3.48% 2.8%;
	padding:0 0 0.8em;
	border:none;
	position:relative;
}


#main_column h2{
	margin:0 3.48% 0.8em;
	font-size:120%;
}

#main_column h1 + h2,
#main_column table + h2{
	margin-top:6.5%;
}

#main_column h2.big_h2{
	font-size:250%;
	text-align:center;
	font-weight:normal;
	line-height:1.2;
}

#main_column p.imagination + h2.big_h2{
	margin-top:4.8%;
}

#main_column h2.mid_h2{
	margin:0 3.48% 1.5em;
	font-size:156.25%;
	font-weight:normal;
}

#main_column h2.line_h2{
	margin:6.96% 3.48% 0.88em;
	padding:0 0 0 3.48%;
	font-size:156.25%;
	font-weight:normal;
	position:relative;

}

#main_column h2.line_h2:after{
	content:" ";
	position:absolute;
	display:block;
	width:4px;
	height:64%;
	top:18%;
	left:0;
	background-color:#1a8ed0;
}





#main_column h2 img{
	margin-right:1em;
	vertical-align:middle;
}

#main_column h3{
	margin:3.48% 3.48% 0 6.96%;
}



#main_column > h3,
#main_column > .line01 > h3{
	margin:4.8% 3.48% 0.8em;
}

#main_column > h3.s_h3{
	margin:3.48% 3.48% 0.8em 6.96%;
}

#main_column h3 img{
	margin:-0.2em 1em 0.8em 0;
	vertical-align:middle;
	float:left;
	max-width:15%;
	position:relative;
}

#main_column > h3.orange_ttl{
	color:#f26642;
	margin:0 3.48% 1.75em;

}

#main_column h2:before,
#main_column h3:before,
#main_column h2:after,
#main_column h3:after {
    content:"";
    display:table;
}
 
#main_column h2:after,
#main_column h3:after {
    clear:both;
}



#main_column > h4{
	margin:0 3.48%;

}



/*cat_column
-----------------------------------------------------------------------*/
#cat_column{
	margin:2.5% 0 0;
	background-color:#fff;
	padding:0 0 1px

}

#cat_column ul{
	padding:2.5% 0 0;
	list-style:none;
}

#cat_column ul li{
	float:left;
	width:26.95%;
	padding:0 3.76% 4.7% 0;
}

#cat_column ul li:nth-child(3n+1){
	clear:left;
	float:left;
	padding:0 3.76% 4.7% 5.8%;
}

#cat_column ul li a{
	color:#333;
	text-decoration:none;
}

#cat_column > ul > li > a > img{
	display:block;
}

#cat_column ul li h2{
	font-size:125%;
	margin:12px 0 6px;
}

#cat_column ul li a[target="_blank"] h2{
	padding:0 20px 0 0;
	position:relative;
}

#cat_column ul li a[target="_blank"] h2 img{
	position:absolute;
	right:0;
	top:0.375em;
}

#cat_column ul li a:hover,
#cat_column ul li a:hover *{
	opacity:0.8;
}

/*menu
-----------------------------------------------------------------------*/
#menu{
	float:left;
	margin:2.5% 0 0;
	width:26.95%;
}

#menu ul li{
	list-style:none;
	background-color:#fff;
}

#menu > ul > li{
	border-bottom:#ccc 1px solid;
}

#menu > ul > li > ul > li{
	border-bottom:none;
	border-top:#f0f3f6 1px solid;
}

#menu > ul > li > a{
	display:block;
	padding:10px 10px 10px 40px;
	background:url(../img/common/arrow02.png) no-repeat 16px 16px;
	background-size:7px;
	color:#333;
	text-decoration:none;
}

#menu > ul > li > ul > li > a{
	display:block;
	padding:10px 10px 10px 60px;
	color:#333;
	text-decoration:none;
	position:relative;
}

#menu > ul > li > ul > li > a:before{
	content:" ";
	position:absolute;
	display:block;
	width:0.7em;
	height:0.5em;
	top:24px;
	left:26px;
	border-top:#1b8ed0 1px solid;
}

#menu ul li.m_current > a,
#menu ul li a:hover{
	background-color:#f0f3f6;
}

#menu ul li img{
	vertical-align:middle;
	margin-left:5px;
}

#menu ul li.m_calendar{
	margin-top:3em;
}

/*pagetop
-----------------------------------------------------------------------*/
#pagetop{
	position:fixed;
	bottom:70px;
	right:50px;
	width:22px;
	padding:11px;
	line-height:1;
	background-color:#1a8ed0;
	z-index:999999;
	cursor:pointer;
}



#pagetop:hover{
	opacity:0.8;
}


/*footer
-----------------------------------------------------------------------*/
#footer_wrapper{
	background-color:#05538e;
	padding-bottom:50px;
}

#footer_nav{
	width:98%;
	max-width:1280px;
	margin:0 auto;
	color:#fff;
	font-size:0;
}

 @media print{
	 #footer_nav{
		 width:1280px;
	 }
 }
 
#footer_nav section{
	display:inline-block;
	vertical-align:top;
	min-width:137px;
	padding:2.5% 0 2.5% 1.8%;
	font-size:1rem;
}

.english #footer_nav section{
	min-width:21%;
	padding:2.5% 0 2.5% 3%;

}


#footer_nav section:first-child{
	padding-left:0;
}



#footer_nav section h3{
	font-weight:normal;
	border-bottom:#fff 1px dotted;
	margin-bottom:1em;
	padding-bottom:8px;
	font-size:93.75%;
}


#footer_nav section li{
	list-style:none;
	padding:0 0 10px;
	font-size:81.25%;
	line-height:1.4;
}

.english #footer_nav section > li{
	padding:0 10px 10px 0;
}



#footer_nav section > ul > li > ul > li{
	font-size:100%;
	margin:10px 0 0;
	padding:0 0 0 1.5em;
	position:relative;
}

#footer_nav section > ul > li > ul > li:before{
	content:" ";
	position:absolute;
	display:block;
	width:1em;
	height:0.5em;
	top:0.5em;
	left:0;
	border-top:#fff 1px solid;
}


#footer_nav section h3 a,
#footer_nav section li a{
	color:#fff;
	text-decoration:none;
}

#footer_nav section h3 a:hover,
#footer_nav section li a:hover{
	text-decoration:underline;
}

#footer_nav section img{
	width:15px;
	margin-left:5px;
	vertical-align: text-top;
}

#footer_nav section h3 img{
	margin-left:10px;
}

footer{
	background-color:#03427b;
}

footer div{
	width:98%;
	max-width:1280px;
	margin:0 auto;
	padding:18px 0;
	font-size:93.75%;	
}
 @media print{
	 footer div{
		 width:1280px;
	 }
 }

footer ul{
	list-style:none;
	float:left;
}

footer ul li{
	display:inline-block;
	padding:0 40px 0 18px;
	background:url(../img/common/arrow04.png) no-repeat left center;
	background-size:5px;
}

footer ul li a{
	color:#fff;
	text-decoration:none;
}

footer ul li a:hover{
	color:#fff;
	text-decoration:underline;
}

footer p{
	float:right;
	color:#a4b1c4;
}