@charset "utf-8";

/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	common

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,800');

html { font-family:"Open Sans", "sans-serif", "游ゴシック Medium","游ゴシック体","Yu Gothic Medium","YuGothic","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic","sans-serif"; font-size:16px; line-height:1.75; text-align:center; -webkit-font-smoothing:subpixel-antialiased; }

body { position:relative; margin:0 auto; padding:0; word-wrap:normal; width:100%; overflow:hidden; }
section { overflow:hidden; }
article { overflow:hidden; }
sup { font-size:70%; vertical-align:top; position:relative; top:-0.1em; }

.clear { clear:both; }
.spBr { display:none; }
.spNoBr { display:block; }
.caution,
.caution_list li { padding-left:1em; text-indent:-1em; }

a,
a:visited { text-decoration:none; }
a:hover { text-decoration:underline; }

a[href^="tel:"] { cursor:default; pointer-events:none; }



/*==============================================================================================
	header
==============================================================================================*/
header { position:relative; z-index:1; }
header h1 { position:absolute; top:30px; left:30px; }



/*==============================================================================================
	nav
==============================================================================================*/
nav { position:relative;  height:100px; line-height:1; border-bottom:10px solid #0546a0; }
nav #spNavLogo { display:none; }
nav a:hover { text-decoration:none; }
nav::after { position:absolute; content:''; width:110px; height:10px; bottom:0; right:0; background:#0546a0; z-index:-1; }
nav ul { position:absolute; top:0; right:100px; }
nav li { text-align:left; float:left; margin-left:-20px; }
nav li:first-child { margin-left:0; }
nav li:last-child { display:none; }
nav li a { color:#000; display:block; font-size:16px; font-weight:bold; letter-spacing:0.05em; 
	width:135px; padding:47px 0 20px 25px; background:url(../img/nav_bg.png) no-repeat left bottom -10px; }
nav li span { display:block; font-size:12px; font-weight:700; color:#0546a0; margin-top:5px; }
nav li a:hover,
nav li.active a { color:#0546a0; margin:10px -4px 0 0; background:url(../img/nav_bg_o.png) no-repeat left bottom; padding-right:4px; }


#but_contact { position:absolute; top:0; right:0;  display:block; width:70px; padding:40px 0 15px 0; font-size:11px; border:1px solid #0546a0; box-sizing:border-box; margin:10px;
 	 color:#fff; background:url(../img/icon_mail_w.png) no-repeat top 20px center #0546a0; }
#but_contact:hover { color:#0546a0; background:url(../img/icon_mail_b.png) no-repeat top 20px center #fff; }


/*==============================================================================================
	contents
==============================================================================================*/
.container { width:1076px; margin:0 auto; overflow:visible; }

.line_top { position:relative; }
.line_top::before { position:absolute; content:''; top:0; left:0; width:100%; height:12px; border-top:10px solid #0546a0; 
	background:url(../img/line.png) no-repeat center bottom; }

/* pageTop */
#pageTop { font-size:10px; font-weight:700; color:#01509d; padding-top:40px; background:url(../img/but_top.png) no-repeat top center;
	display:none; position:fixed; right:50px; bottom:20px; z-index:1000; cursor:pointer; }
#pageTop.stop { position:absolute; right:50px; bottom:320px; }


/* pageTop_about */
#pageTop_about { font-size:10px; font-weight:700; color:#01509d; padding-top:40px; background:url(../img/but_top.png) no-repeat top center;
	display:none; position:fixed; right:50px; bottom:20px; z-index:1000; cursor:pointer; }
#pageTop_about.stop { position:absolute; right:50px; bottom:720px; }



/* title */
#titleBlock { color:#fff; padding:170px 0 160px 0; line-height:1; }
#titleBlock h2 { font-size:50px; font-weight:700; margin-bottom:20px; }
#titleBlock h3 { font-size:16px; }

/* パンくず */
#breadcrumbList { background:#f4f7fe; font-size:12px; padding:10px 0; overflow:hidden; }
#breadcrumbList li { float:left; position:relative; padding-right:20px; }
#breadcrumbList li::after { position:absolute; content:'>'; right:5px; }
#breadcrumbList li:last-child::after { content:''; }
#breadcrumbList li a { font-size:12px; color:#000; text-decoration:underline; }
#breadcrumbList li a:hover { color:#0546a0; text-decoration:none; }

/* リード */
#leadBlock { padding:150px 0 80px 0; }
#leadBlock h3 { position:relative; font-size:40px; font-family:YuMincho,'Yu Mincho', serif; color:#0546a0; 
	padding-bottom:30px; margin-bottom:60px; background:url(../img/line.png) no-repeat bottom center; }
#leadBlock h3::after { position:absolute; content:''; bottom:12px; left:0; width:100%; height:1px; background:#0546a0; }
#leadBlock h4 { font-size:30px; font-family:YuMincho,'Yu Mincho', serif; margin-bottom:30px; }
#leadBlock p { font-size:16px; }





.see_fu {
	opacity:0;
	transition: 0.7s ease-out;
	transform:translate(0,50px);
}
.see_fu_in {
	opacity:1;
	transform:translate(0,0);
}


.see_fr {
	opacity:0;
	transition: 0.7s;
	transform:translate(-50px,0);
}
.see_fr_in {
	opacity:1;
	transform:translate(0,0);
}



/*==============================================================================================
	footer
==============================================================================================*/
footer { position:relative; color:#fff; background:#1a2836; text-align:left; font-size:14px; padding:50px; clear:both; }
footer address { overflow:hidden; }
footer h1 { float:left; font-size:30px; font-weight:bold; line-height:1; }
footer h1 span { display:block; font-size:14px; font-weight:bold; margin-bottom:10px; }
footer h2 { float:left; position:relative; font-size:12px; color:#b0b3b6; padding:0 30px; margin:30px 0 0 10px; }
footer h2::before,
footer h2::after { position:absolute; content:''; width:20px; height:1px; top:10px; background:#b0b3b6;  }
footer h2::before { left:0; }
footer h2::after { right:0; }
footer .tel { clear:both; float:left; font-size:20px; font-weight:bold; margin:20px 0; }
footer .tel a { color:#fff; }
footer .time { float:left; font-size:12px; margin:30px 0 20px 20px; }
footer .other { clear:both; }

#but_privacy { position:absolute; top:50px; right:50px; color:#fff; font-size:13px; padding-left:15px; }
#but_privacy::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 1px #fff; border-right:solid 1px #fff;
    -ms-transform:rotate(45deg); -webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; left:0; margin-top:-3px; }
#but_privacy:hover {  }

#copyright { position:absolute; bottom:50px; right:50px; font-size:12px; letter-spacing:0.05em; }






/*--------------------------------------------------------------
	SP　表示領域が1076px以下
--------------------------------------------------------------*/
@media (max-width:1076px) {
		/*//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

			common

		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////*/
		html { font-size:14px; }
		.spBr { display:block; }
		.spNoBr { display:none; }
		
		a[href^="tel:"] { cursor:pointer; pointer-events:auto; }



		/*==============================================================================================
			header
		==============================================================================================*/
		header { height:50px; background:#fff; border-bottom:10px solid #0546a0; }
		header h1 { top:10px; left:15px; }
		header h1 img { width:114px; }


		/*==============================================================================================
			nav
		==============================================================================================*/
		nav { position:static; background:#0546a0; height:auto; border-bottom:none; }
		nav #spNavLogo { display:block; }
		nav #spNavLogo img { width:114px; padding:25px 0 50px 0; }
		nav a:hover { }
		nav::after { display:none; }
		nav ul { position:static; }
		nav li, nav li.active { float:none; margin:0; border-bottom:1px solid #00275d; }
		nav li:first-child { border-top:1px solid #00275d; }
		nav li:last-child { display:block; }
		nav li a,
		nav li.active a { position:relative; width:100%; font-size:14px; color:#fff !important; padding:20px; box-sizing:border-box; background:none; margin:0; }
		nav li a::before { position:absolute; content:''; width:6px; height:6px; border-top:solid 1px #fff; border-right:solid 1px #fff;
			-ms-transform:rotate(45deg); -webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; right:30px; margin-top:-3px; }
		nav li a:hover { color:#0546a0 !important; margin:0; background:#fff; }
		nav li a:hover::before { border-top:solid 1px #0546a0; border-right:solid 1px #0546a0; }
		nav li span { display:none; }
				
		#but_contact { display:none; }
		#but_contact:hover { }


		/*==============================================================================================
			contents
		==============================================================================================*/
		.container { width:calc(100% - 30px); }
		
		.line_top { }
		.line_top::before { height:6px; border-top:5px solid #0546a0; background-size:180px; }
		
		/* pageTop */
		#pageTop { padding-top:25px; background-size:40px; display:block; position:absolute; right:0 !important; left:0; bottom:320px; }
		#pageTop.stop { }

	
	/* pageTop_About */
		#pageTop_about { padding-top:25px; background-size:40px; display:block; position:absolute; right:0 !important; left:0; bottom:520px; }
		#pageTop_about.stop {}

	
	
		/* title */
		#titleBlock { margin-top:60px; padding:80px 0 70px 0; }
		#titleBlock h2 { font-size:25px; margin-bottom:10px; }
		#titleBlock h3 { font-size:14px; }

		/* パンくず */
		#breadcrumbList { padding:5px 0; }
		#breadcrumbList li { font-size:10px; }
		#breadcrumbList li::after { }
		#breadcrumbList li:last-child::after { }
		#breadcrumbList li a { font-size:10px; }
		#breadcrumbList li a:hover { }

		/* リード */
		#leadBlock { padding:70px 0 40px 0; }
		#leadBlock h3 { font-size:20px;
			padding-bottom:20px; margin-bottom:30px; background-size:180px; }
		#leadBlock h3::after { bottom:6px; }
		#leadBlock h4 { font-size:16px; margin-bottom:15px; }
		#leadBlock p { font-size:14px; margin:0 15px; }


		/*==============================================================================================
			footer
		==============================================================================================*/
		footer { position:static; font-size:14px; padding:0; background:none; }
		footer address { padding:25px 15px; background:#1a2836; }
		footer h1 { font-size:20px; margin-bottom:20px; }
		footer h1 span { font-size:10px; }
		footer h2 { font-size:10px; padding:0 30px; margin:23px 0 0 10px; }
		footer h2::before,
		footer h2::after { top:8px; }
		footer h2::before { }
		footer h2::after { }
		footer .tel { float:none; font-size:13px; margin:0; }
		footer .tel a { }
		footer .time { float:none; font-size:9px; margin:0 0 15px 0; }
		footer .other { font-size:10px; }

		#but_privacy { position:relative; top:0; right:0; display:block; width:100%; color:#000; font-size:10px; font-weight:bold; padding:15px 0 15px 25px; }
		#but_privacy::before { position:absolute; content:''; width:4px; height:4px; border-top:solid 1px #000; border-right:solid 1px #000;
			-ms-transform:rotate(45deg); -webkit-transform:rotate(45deg); transform:rotate(45deg); top:50%; left:15px; margin-top:-2px; }
		#but_privacy:hover {  }
		
		#copyright { position:static; text-align:center; font-size:9px; color:#000; padding:10px; border-top:1px solid #1a2836; }
			


			
}




@media (max-width:320px) {
	#pageTop { margin-bottom:40px; }
}


