@charset "utf-8";
/* ------------------------------------------------------------ common */
body { font-family: "Lato","游ゴシック体","Noto Sans Japanese","ヒラギノ角ゴ Pro w3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", "Arial", sans-serif; }
 
.SP { display: none; }
h2 { font-size: 16px; text-align: center; color: #fc862a; line-height: 270%; padding: 0 0 50px; font-family:Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',Meiryo, メイリオ, sans-serif; }
h2 span { display: block; font-size: 30px; color: #000; line-height: 180%; background: url(../images/common/border_orange.jpg) center bottom no-repeat; font-weight: bold; }
/*------------------------------------------------------------------------------------------------- header */
#header { padding: 30px 0; }
#header .left { }
#header .left h1,
#header .left img { float: left; }
#header .left h1 { font-size: 14px; padding: 10px 0 0 20px; }
#header .right { float: right; display: block; width: 350px; margin: -10px 0 0; }
#header .right p {line-height: 120%; float: left; font-size: 14px; background: #fc862a; color: #fff; padding: 10px; display: block; text-align: center; width: 110px; }
#header .right a { width: 200px; display: block; padding: 0 0 0 20px; float: left; font-size: 28px; }
#header .right a span { font-size: 12px; line-height: 120%; display: block; font-size: 12px; }
/*------------------------------------------------------------------------------------------------- fv */

#fv { background: url(../images/common/fv_01.jpg) center center no-repeat; background-size: cover; height: 564px; width: 100%; }  
#fv img { margin: 0 auto; display: block; padding: 135px 0 0; } 
/*------------------------------------------------------------------------------------------------- map */

#map { padding: 0 0 100px 0; }
#map div iframe { width: 100%; }
#map div a { display: block; margin: 10px 0 0 auto; text-align: center; font-size: 14px; text-decoration: underline; background: url(../images/common/map_icon.png) left center no-repeat; width: 165px; }
/*------------------------------------------------------------------------------------------------- nav */
#nav { width: 1100px; margin: 0 auto; text-align: center; padding: 30px 0; }
#nav li { float: left; width: 182px; font-size: 16px; line-height: 1.2em; border-right: 1px solid #dcdcdc; }
#nav li:first-child {border-left: 1px solid #dcdcdc; }
#nav li a { }
#nav li span { display: block; font-size: 12px; color: #fc862a; font-weight: bold; font-family:Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',Meiryo, メイリオ, sans-serif; }


/* ------------------------------------------------------------ contact */

#contact { background: url(../images/common/contact_bg.jpg) center bottom no-repeat; background-size: cover; padding: 100px 0 100px;  margin: 0 20px; }
.contact-inner { background: #fff; width: 850px; margin: 0 auto; }
.contact-inner .contact-no { padding: 18px 0 28px; border-bottom: 1px solid #99bbee; }
.contact-inner .contact-no div { float: left; padding: 15px 0; text-align: center; }
.contact-inner .contact-no div h4 { font-size: 18px; font-weight: bold; }
.contact-inner .contact-no div p.num { font-size: 25px; font-weight: bold; font-family: 'Helvetica'; }
.contact-inner .contact-no div p.num a, 
.contact-inner .contact-no div p.num span { font-size: 38px; font-weight: bold; }
.contact-inner .contact-no div p.hours { font-weight: bold; font-size: 14px; color: #412111; }
.contact-inner .contact-no div.tel { width: 424px; border-right: 1px solid #aaaaaa; }
.contact-inner .contact-no div.fax { width: 425px; }
.contact-inner .form { text-align: center; padding: 35px 82px 45px; font-family:"ヒラギノ角ゴ Pro w3","Hiragino Kaku Gothic Pro","Meiryo","メイリオ","Osaka","ＭＳ Ｐゴシック","MS P Gothic","Arial",sans-serif; }
.contact-inner .form span { color: #f0000e; }
.contact-inner .form p.caution { text-align: center; font-size: 14px; background: #f3f3f3; padding: 25px 0 30px; }
.contact-inner .form form { padding: 60px 0 0; }
.contact-inner .form table { width: 100%; font-size: 14px; text-align: left; }
.contact-inner .form table tr th { width: 30%; font-weight: bold; vertical-align: text-top; padding: 12px 0 0; text-align: left; }
.contact-inner .form table tr td { width: 70%; padding: 11px 0; }
.contact-inner .form table tr td input[type="text"],
.contact-inner .form table tr textarea { border: none; width: 94%; padding: 8px 3%; background: #f3f3f3; }
.contact-inner .form table tr textarea { resize: vertical; }
.contact-inner .form p.btn { padding: 35px 0; }
.contact-inner .form p.btn input[type="submit"] { background: #dd0016; color: #fff; line-height: 48px; height: 48px; width: 260px; font-size: 14px; border: none; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px;} 
.contact-inner .form p.btn a { background: #ababab; color: #fff; line-height: 48px; height: 48px; width: 260px; vertical-align: top; font-size: 14px; display: block; margin: 0 auto 30px;
	border-radius: 3px; 
	-moz-border-radius: 3px; 
	-webkit-border-radius: 3px;
}
.contact-inner .form p.alert { padding: 30px 0 0; }
.contact-inner .form p.alert span { display: block; }
.contact-inner .form h4 { color: #00a8e7; font-size: 26px; font-weight: bold; padding: 0 0 20px;  }

/* ------------------------------------------------------------ footer */

#footer { padding: 65px 0 0; background: #fafafa; text-align: center;  margin: 0 20px; }
#footer p { padding: 18px 0 10px; line-height: 200%; font-size: 14px; }
#footer address { font-size: 12px; padding: 30px 0; }


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

.SP { display: block; }
.PC { display: none; }

h2 { font-size: 12px; line-height: 270%; letter-spacing: 1px; padding: 0; }
h2 span { font-size: 24px; padding: 0 0 5px; }

/*------------------------------------------------------------------------------------------------- header */

#header { padding: 10px 0 0; position: fixed; background: #fff; width: 100%; z-index: 2000; }
#header .left { }
#header .left h1,
#header .left img { float: none; margin: 0 auto; width: 180px; height: auto; display: block; }
#header .left h1 { font-size: 12px; padding: 10px 0; text-align: center; }
#header .right { float: right; display: none; width: 350px; margin: 0; }
#header .right p {line-height: 120%; float: none; font-size: 14px; background: #183c83; color: #fff; padding: 10px; display: block; text-align: center; width: 110px; }
#header .right a { width: 200px; display: none; padding: 0 0 0 20px; float: left; font-size: 28px; }
#header .right a span { font-size: 12px; line-height: 120%; display: block; font-size: 12px; }
.sub-right { width: 100%; margin: 0 auto; box-sizing: border-box; padding: 15px; } 
.sub-right p { line-height: 120%; float: left; font-size: 16px; background: #fc862a; color: #fff; padding: 3%; display: block; text-align: center; width: 35%; }
.sub-right a { width: 56%; display: block; padding: 2% 0 0 3%; float: left; font-size: 22px; text-align: center; }
.sub-right a span { font-size: 12px; line-height: 120%; display: block; font-size: 12px; }
/*------------------------------------------------------------------------------------------------- fv */
#fv-wrapper { padding: 70px 0 0; } 
#fv { background: url(../images/common/fv_01.jpg) center center no-repeat; background-size: cover; height: auto; width: 100%; padding: 0; }  
#fv img { margin: 0 auto; display: block; padding: 50px 0; width: 50%; height: auto;} 
/*------------------------------------------------------------------------------------------------- map */

#map { padding: 40px 0 0; }
#map div iframe { width: 94%; margin: 0 auto; display: block; }
#map div a { display: block; margin: 10px 0 0 auto; text-align: center; font-size: 14px; text-decoration: underline; background: url(../images/common/map_icon.png) left center no-repeat; width: 165px; }

/* ------------------------------------------------------------ contact */

#contact { padding: 40px 0 20px; background: url(../images/common/contact_bg.jpg) center center no-repeat; background-size: cover; margin: 0;}
#contact h3 { font-size: 16px; text-align: center; color: #fff; padding: 0 0 30px; }
#contact h3 span { display: block; font-size: 24px; background: url(../images/common/border_white.jpg) center bottom no-repeat; font-weight: bold; }
.contact-inner { width: 94%; }
.contact-inner .contact-no { padding: 0; }
.contact-inner .contact-no div { width: 80% !important; float: none; margin: 0 auto; padding: 20px 0; }
.contact-inner .contact-no div.tel { border-right: none; border-bottom: 1px solid #aaaaaa; }
.contact-inner .contact-no div h4 { font-size: 14px; line-height: 120%; }
.contact-inner .contact-no div p.num { font-size: 16px; }
.contact-inner .contact-no div p.num a, 
.contact-inner .contact-no div p.num span { font-size: 25px; }
.contact-inner .contact-no div p.hours { font-size: 12px; line-height: 120%; }
.contact-inner .form { padding: 20px 6%; }
.contact-inner .form form { padding: 30px 0 0; }
.contact-inner .form p.caution { padding: 15px 6%; text-align: left; font-size: 12px; }
.contact-inner .form table tr th { width: 100%; display: block; }
.contact-inner .form table tr td { width: 100%; display: block; padding: 8px 0 11px; }
.contact-inner .form p.btn input[type="submit"] { margin: 0 auto; }
.contact-inner .form p.btn input[type="submit"],
.contact-inner .form p.btn a { height: 40px; line-height: 40px; width: 80%; max-width: 240px;  margin-bottom: 10px; display: block; }
.contact-inner .form h4 { padding: 20px 0; font-size: 24px; }
.contact-inner .form p.alert span { font-size: 14px; text-align: center; }
.contact-inner .form p.alert { font-size: 14px;  text-align: left; }

/* ------------------------------------------------------------ footer */

#footer { padding: 30px 0 0; margin: 0; }
#footer p { font-size: 12px; padding: 15px 0 25px; }
#footer address  { font-size: 10px; padding: 15px 0; }
#footer a img { width: 120px; height: auto; }

/* ------------------------------------------------------------ global nav */

#menu-btn { display: block; position: absolute;  bottom: 15px; z-index: 999; right: 0; padding: 0 10px 0; }
#menu-btn img { width: 40px !important; height: auto; display: inline !important; }

#open_modal					{ cursor: pointer; display: block;}

.fixed 						{ position: fixed; }
#mask 						{ display: none; height: 100%; width: 100%; height: 100%; min-height: 100%; background: #acacac; position: fixed; opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.70; top: 0; left: 0; right: 0; bottom: 0; z-index: 1; }

						
/* #open_modal 				{ cursor: pointer; right: 10px; top: 10px; z-index: 999; position: fixed; } */
#navigation 				{ text-align: center; margin: 0 auto; top: 0; right: 0; left: 0; margin: 0; z-index: 100; position: relative; display: none; background: #ffffff; }
#menu-header				{ padding: 30px 0; background: url(../images/fv_00.jpg) no-repeat center center; background-size: 100% auto; }
#navigation #menu-header a img { height: auto; padding: 0 0 5px; width: 80%; height: auto; }
#navigation #menu-header a { color: #000; }
#navigation ul 				{ font-size: 14px; z-index: 999; width: 100%; padding: 68px 0 0;}
#navigation ul li 			{ width: inherit; border-bottom: 1px solid #00a8e7; text-align: left;  }
#navigation ul li a 		{ font-family: 'Helvetica Neue'; color: #000; text-align: left; display: block; padding: 12px 20px; font-size: 18px; font-weight: bold; }
#navigation ul li a span 	{ font-size: 12px; padding: 0 10px 0;  }

#navigation p#close 		{ background: #000; color: #fff; padding: 15px 0; cursor: pointer; }
#header-close 				{ position: absolute; top: 20px; right: 10px;  }

}

@media only screen and (orientation : portrait) { 
	#navigation 			{ position: fixed; top:0; margin: 0 0 0; right: 0; left: 0; }
}





/*-------------------------------------------------------------------------------------------------  */

}