@charset "UTF-8";

/* リセット */
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,table,caption,tr,td,th,address,header,footer,nav,article,section,aside,figure,figcaption {margin:0; padding:0;}
body,div,p,blockquote,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,address,header,footer,nav,article,section,aside,figure,figcaption {display:block;}
ul,ol {list-style-type:none;}
img {border:none; vertical-align:middle;}

/* ユーティリティー */
a {zoom:1; text-decoration:none; color:#333; transition: opacity 0.7s; -webkit-transition: opacity 0.7s; -ms-transition: opacity 0.7s; -o-transition: opacity 0.7s;}
a:hover, a.active, a.np {opacity: 0.8; filter: alpha(opacity=80); -ms-filter: "alpha(opacity=80)";}
a.nohover {opacity: 1.0; filter: alpha(opacity=100); -ms-filter: "alpha(opacity=100)";	}
.fgo {font-family:"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, "平成ゴシック", "メイリオ", "Meiryo", Helvetica, Arial, Verdana, "ＭＳ Ｐゴシック", "MS UI Gothic", sans-serif;}
.fmin {	font-family: "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "平成明朝", "細明朝", "ＭＳ Ｐ明朝", Times, serif;}
.flt-l {float: left;}
.flt-r {float: right;}
.clearfix:after {
	content:"";
	clear:both;
	display:block;
}
.page {margin:0 auto; width:1080px;}

.boxshadow {box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px; -webkit-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px; -moz-box-shadow:rgba(000, 000, 000, 0.120000) 0px 0px 3px 2px;zoom: 1;position:relative;

}
table {border-collapse:collapse;}


body {
	color:#333;
	font-family:"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, "平成ゴシック", "メイリオ", "Meiryo", Helvetica, Arial, Verdana, "ＭＳ Ｐゴシック", "MS UI Gothic", sans-serif;
	font-size:14px; /* 絶対指定 */
	line-height:1.4;
}
body p {
	line-height:1.8;
}


/* -------------------------------------
header
------------------------------------- */
header {
	padding:0 0 15px 0;
	margin-bottom:40px;
	overflow:hidden;
}
header #hdrtop {
	position:relative;
}
header #logo {
	width:40.5%;
	float:left;
	padding-top:15px;
}
header #logo a {
	display:block;
}
header #logo a img {
	width:100%;
	height:auto;
	display:block;
}
header #logo a img.splogo {
	display:none;
}
header #hdr_tel {
	font-size:0;
	text-align:right;
	width:55.5%;
	float:right;
	padding:5px 0;
	background:url(../imgs/common/header_tel_bg.png) no-repeat center center;
	background-size:100% 100%;
	box-sizing:border-box;
	position:relative;
}
header #hdr_tel:after {
	content:"";
	width:200%;
	height:100%;
	display:block;
	background-color:#004E9D;
	position:absolute;
	left:100%;
	top:0;
	z-index:-1;
}
header #hdr_tel dt, header #hdr_tel dd {
	color:#fff;
	line-height:30px;
	display:inline-block;
	vertical-align:middle;
}
header #hdr_tel dt {
	font-size:12px;
	margin-right:10px;
}
header #hdr_tel dd {
	font-size:24px;
	font-weight:bold;
}
header #hdr_tel dd a {
	color:#fff;
	display:inline-block;
}
header #hdr_tel_sp {
	display:none;
}
header a#menu_btn,
header a#menu_btn span {
	display:inline-block;
	transition:all .4s;
	box-sizing:border-box;
}
header a#menu_btn {
	width:50px;
	height:45px;
	padding:0;
	display:none;
	background-color:#004E9D;
	box-sizing:border-box;
	position:absolute;
	top:50%;
	right:20px;
	z-index:1000;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
header a#menu_btn span {
	width:30px;
	height:5px;
	margin:0 auto;
	background-color:#fff;
	position:absolute;
	left:0;
	right:0;
}
header a#menu_btn span:nth-of-type(1) {
	top:10px;
}
header a#menu_btn span:nth-of-type(2) {
	top:20px;
}
header a#menu_btn span:nth-of-type(3) {
	top:30px;
}
header a#menu_btn.active {
	background-color:#004E9D;
	opacity:1.0;
}
header a#menu_btn.active span {
	background-color:#fff;
}
header a#menu_btn.active span:nth-of-type(1) {
	-webkit-transform:translateY(10px) rotate(-315deg);
	transform:translateY(10px) rotate(-315deg);
}
header a#menu_btn.active span:nth-of-type(2) {
	opacity:0;
}
header a#menu_btn.active span:nth-of-type(3) {
	-webkit-transform:translateY(-10px) rotate(315deg);
	transform:translateY(-10px) rotate(315deg);
}
header nav {
	margin-top:20px;
}
header nav ul {
	border-left:1px solid #CCCCCC;
	box-sizing:border-box;
}
header nav li {
	width:14.2%;
	float:left;
	border-right:1px solid #CCCCCC;
	box-sizing:border-box;
	position:relative;
}
header nav li:after {
	content:"";
	width:100%;
	height:6px;
	display:block;
	background-color:#0495F2;
	opacity:0;
	position:absolute;
	top:100%;
	left:0;
	z-index:0;
	transition: opacity 0.7s; -webkit-transition: opacity 0.7s; -ms-transition: opacity 0.7s; -o-transition: opacity 0.7s;
}
header nav li.active:after, header nav li:hover:after {
	opacity:1.0;
}
header nav li a {
	font-size:16px;
	text-align:center;
	display:block;
	padding:10px;
	box-sizing:border-box;
}

/* -------------------------------------
common
------------------------------------- */
article {
	margin-bottom:50px;
}
.sptel {
	cursor:pointer;
	pointer-events:none;
}
.blk {
	margin-bottom:60px;
}
.ttl {
	font-size:21px;
	font-weight:bold;
	color:#004E9D;
	text-align:center;
	margin-bottom:28px;
}
.ttl img {
	height:auto;
	display:block;
	margin:0 auto 13px auto;
}
.icon_car {
	font-size:16px;
	font-weight:bold;
	line-height:1.0;
	color:#004E9D;
	position:relative;
}
.icon_car:after {
	content:"";
	display:block;
	width:100%;
	height:1px;
	background-color:#ccc;
	position:absolute;
	top:50%;
	left:0;
	z-index:-1;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
}
.icon_car span {
	display:inline-block;
	padding:0 20px 0 0;
	background-color:#fff;
	box-sizing:border-box;
}
.icon_car img {
	vertical-align:bottom;
	height:auto;
	display:inline-block;
	margin-right:15px;
}

#pankuzu {
	margin-top:25px;
	padding:10px 0;
	background-color:#F2F2F2;
}
#pankuzu ul {
	font-size:0;
}
#pankuzu ul li {
	font-size:12px;
	display:inline-block;
	padding-right:27px;
	margin-right:20px;
	position:relative;
}
#pankuzu ul li:after {
	content:"";
	width:7px;
	height:7px;
	display:block;
	background:url(../imgs/common/pankuzu_arrow.png) no-repeat center center;
	position:absolute;
	right:0;
	top:5px;
	z-index:1;
}
#pankuzu ul li:last-child:after {
	content:none;
}
#pankuzu ul li a {
	text-decoration:underline;
	display:block;
}

.moviebnr {
	display:block;
	max-width:778px;
	margin:0 auto 30px auto;
}
.moviebnr img {
	width:100%;
	height:auto;
}

	
/* -------------------------------------
footer
------------------------------------- */
footer #footer_body {
	padding:30px 0 20px 0;
	border-top:1px solid #ccc;
	position:relative;
}
footer #footer_body p#flogo {
	width:21.1%;
	float:left;
}
footer #footer_body p#flogo a {
	display:block;
}
footer #footer_body p#flogo a img {
	width:100%;
	height:auto;
}
footer #footer_body ul {
	font-size:0;
	width:62.9%;
	float:right;
}
footer #footer_body ul li {
	font-size:14px;
	font-weight:bold;
	display:inline-block;
	margin-right:25px;
	margin-bottom:10px;
}
footer #footer_body ul li a {
	display:block;
	padding-left:20px;
	background:url(../imgs/common/arrow_rgt.png) no-repeat left center;
	background-size:14px auto;
	box-sizing:border-box;
}
footer #footer_body ul li a:hover {
	text-decoration:underline;
}
footer #footer_body #address {
	font-size:13px;
	font-weight:bold;
}
footer #footer_body #telfax {
	font-size:0;
	margin-bottom:27px;
}
footer #footer_body #telfax dt, footer #footer_body #telfax dd {
	font-size:13px;
	font-weight:bold;
	display:inline-block;
}
footer #footer_body #telfax dt {
	margin-right:10px;
}
footer #footer_body #telfax dd:nth-child(2) {
	padding-right:10px;
	margin-right:10px;
	position:relative;
}
footer #footer_body #telfax dd:nth-child(2):after {
	content:"/";
	display:inline-block;
	position:absolute;
	top:0;
	right:-3px;
	z-index:1;
}
footer #footer_body #telfax dd:last-child:after {
    content:none;
}
footer #footer_body .sslimg {
	position:absolute;
	top:35%;
	right:0;
}

#group_footer {
	border-top:1px solid #ccc;
	padding-top:30px;
}
#group_footer dt {
    font-size:18px;
	font-weight:bold;
	text-align:center;
	color:#004E9D;
	margin-bottom:20px;
}
#group_footer dd {
	text-align:left;
}
#group_footer dd ul {
	font-size:0;
	width:100%;
	float:none;
}
#group_footer dd ul li {
    text-align:center;
    width:20%;
	display:inline-block;
	margin:0 0 15px 0;
}
#group_footer dd ul li a {
    font-size:14px;
    text-decoration:underline;
	background-image:none;
    display:inline-block;
	padding:0;
}
#group_footer dd ul li a:before {
	content:"■";
}
#group_footer dd ul li.nolink:before {
	content:"■";
}

footer #cp {
	font-size:12px;
	text-align:center;
	line-height:1.2;
	color:#fff;
	padding:8px;
	background-color:#004E9D;
	box-sizing:border-box;
}
#totop {
	width:57px;
	height:57px;
	display:none;
	position:fixed;
	bottom:30px;
	right:30px;
	z-index:20;
}
#totop a {
	display:block;
}
#totop a img {
	width:100%;
	height:auto;
}



@media screen and (max-width:1440px) {
	
}
@media screen and (max-width:1120px) {
	.page {
		width:100%;
		padding:0 20px;
		box-sizing:border-box;
	}
	
	
	/* -------------------------------------
	header
	------------------------------------- */
	header #hdr_tel {
		padding:4px 0;
	}
	header #hdr_tel dt {
		font-size:11px;
		margin-right:8px;
	}
	header #hdr_tel dd {
		font-size:21px;
	}
	header nav li a {
		font-size:15px;
		padding:8px;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
	.blk {
		margin-bottom:50px;
	}
	.ttl {
		font-size:19px;
	}
	.ttl img {
		width:52px;
	}
	.icon_car span {
		padding:0 18px 0 0;
	}
	.icon_car img {
		width:39px;
		margin-right:13px;
	}
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	footer #footer_body ul li {
		font-size:13px;
	}
	footer #footer_body ul li a {
		padding-left:19px;
		background-size:13px auto;
	}
    
    #group_footer dt {
        font-size:17px;
    }
    #group_footer dd ul li {
        width:25%;
        margin:0 0 13px 0;
    }
    #group_footer dd ul li a {
        padding-left:0!important;
    }
    
	#totop {
		width:52px;
		height:52px;
		bottom:20px;
		right:20px;
	}
		
}
@media screen and (max-width:980px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header #hdr_tel {
		width:57.9%;
		padding:3px 0;
	}
	header #hdr_tel dt {
		font-size:11px;
		margin-right:6px;
	}
	header #hdr_tel dd {
		font-size:18px;
	}
	header nav li:nth-child(1) {
		width:17.5%;
	}
	header nav li:nth-child(2) {
		width:11.1%;
	}
	header nav li a {
		font-size:14px;
		padding:5px;
	}

}
@media screen and (max-width:768px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header {
		padding:0;
	}
	header .page {
		padding:0;
	}
	header #hdrtop {
		padding:15px 20px;
	}
	header #logo {
		min-width:210px;
		padding-top:0;
	}
	header #logo a img.pclogo {
		display:none;
	}
	header #logo a img.splogo {
		display:block;
	}
	header #hdr_tel {
		display:none;
	}
	header a#menu_btn {
		display:inline-block;
		position:absolute;
		z-index:1001;
	}
	header nav {
		display:none;
		margin-top:0;
	}
	header nav ul {
		border-left:none;
	}
	header nav li {
		width:100%!important;
		float:none;
		border-right:none;
		border-top:1px solid #ccc;
		background-color:#004E9D;
	}
	header nav li:after {
		content:none;
	}
	header nav li a {
		font-weight:bold;
		color:#fff;
		padding:20px 10px;
	}
	header #hdr_tel_sp {
		text-align:center;
		display:block;
		padding:20px 15px;
		box-sizing:border-box;
		border-top:1px solid #ccc;
		background-color:#004E9D;
	}
	header #hdr_tel_sp dt {
		font-size:12px;
		font-weight:bold;
		color:#fff;
	}
	header #hdr_tel_sp dd a {
		font-size:18px;
		font-weight:bold;
		color:#fff;
		display:inline-block;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
	.blk {
		margin-bottom:40px;
	}
	.ttl {
		font-size:18px;
	}
	.ttl img {
		width:50px;
	}
	.icon_car span {
		padding:0 16px 0 0;
	}
	.icon_car img {
		width:37px;
		margin-right:10px;
	}
	#pankuzu {
		margin-top:0;
		padding:10px 20px;
		box-sizing:border-box;
	}
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	footer #footer_body {
		padding:30px 0 0px 0;
	}
	footer #footer_body p#flogo {
		width:240px;
		float:none;
		margin:0 auto 20px auto;
	}
	footer #footer_body ul {
		text-align:center;
		width:100%;
		float:none;
		margin-bottom:20px;
	}
	footer #footer_body ul li a {
		padding-left:18px;
		background-size:12px auto;
	}
	footer #footer_body #address {
		text-align:center;
	}
	footer #footer_body #telfax {
		text-align:center;
	}
	footer #footer_body .sslimg {
		text-align:center;
		margin-bottom:30px;
		position:static;
	}
    
    #group_footer dt {
        font-size:16px;
    }
    #group_footer dd ul li {
        width:auto;
        margin:0 7px 10px 7px;
    }
    #group_footer dd ul li a {
        font-size:13px;
    }
    
	footer #cp {
		font-size:11px;
	}
	#totop {
		width:47px;
		height:47px;
		bottom:18px;
		right:18px;
	}

}
@media screen and (max-width:640px) {
	body {
		font-size:13px;
	}
	
	
	/* -------------------------------------
	common
	------------------------------------- */
	.sptel {
		cursor:default;
		pointer-events:auto;
	}
	.blk {
		margin-bottom:30px;
	}
	.ttl {
		font-size:17px;
	}
	.ttl img {
		width:46px;
	}
	.icon_car {
		font-size:15px;
	}
	.icon_car span {
		padding:0 14px 0 0;
	}
	.icon_car img {
		width:35px;
	}
	
	
	/* -------------------------------------
	header
	------------------------------------- */
	header a#menu_btn {
		width:45px;
		height:40px;
	}
	header a#menu_btn span {
		width:27px;
		height:4px;
	}
	header a#menu_btn span:nth-of-type(1) {
		top:9px;
	}
	header a#menu_btn span:nth-of-type(2) {
		top:18px;
	}
	header a#menu_btn span:nth-of-type(3) {
		top:27px;
	}
	header a#menu_btn.active span:nth-of-type(1) {
		-webkit-transform:translateY(9px) rotate(-315deg);
		transform:translateY(9px) rotate(-315deg);
	}
	header a#menu_btn.active span:nth-of-type(3) {
		-webkit-transform:translateY(-9px) rotate(315deg);
		transform:translateY(-9px) rotate(315deg);
	}
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	footer #footer_body p#flogo {
		width:230px;
	}
	footer #footer_body ul li {
		font-size:12px;
		margin-bottom:8px;
	}
	footer #footer_body ul li a {
		padding-left:16px;
		background-size:10px auto;
	}
	footer #footer_body #address {
		font-size:12px;
	}
    
    #group_footer dt {
        font-size:14px;
    }
    #group_footer dd ul li a {
        font-size:12px;
    }
    
	#totop {
		width:42px;
		height:42px;
		bottom:15px;
		right:15px;
	}

}
@media screen and (max-width:480px) {
	/* -------------------------------------
	header
	------------------------------------- */
	header a#menu_btn {
		width:40px;
		height:35px;
	}
	header a#menu_btn span {
		width:24px;
		height:4px;
	}
	header a#menu_btn span:nth-of-type(1) {
		top:8px;
	}
	header a#menu_btn span:nth-of-type(2) {
		top:16px;
	}
	header a#menu_btn span:nth-of-type(3) {
		top:24px;
	}
	header a#menu_btn.active span:nth-of-type(1) {
		-webkit-transform:translateY(8px) rotate(-315deg);
		transform:translateY(8px) rotate(-315deg);
	}
	header a#menu_btn.active span:nth-of-type(3) {
		-webkit-transform:translateY(-8px) rotate(315deg);
		transform:translateY(-8px) rotate(315deg);
	}
	
	
	/* -------------------------------------
	footer
	------------------------------------- */
	footer #footer_body p#flogo {
		width:220px;
	}
}
@media screen and (max-width:320px) {
	header #hdrtop {
		padding:15px 15px;
	}
	header a#menu_btn {
		right:15px;
	}
	.page {
		padding:0 15px;
	}
	
	footer #footer_body p#flogo {
		width:200px;
	}
}
@media screen and (min-width:769px) {
	header nav {
		display:block!important;
	}
}