@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:#D14A54;
	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;
}

/* -------------------------------------
common
------------------------------------- */
article {
	display:flex;
	/*align-items:center;*/
	justify-content:center;
	height:calc(100svh - 145px);
}
.sptel {
	cursor:pointer;
	pointer-events:none;
}

.nolink {
	cursor:pointer;
	pointer-events:none;
}

.message {
	font-size:20px;
	line-height:1.4;
	max-width:700px;
	width:90vw;
	padding-top:20vh
	
}
.message a {
	color:#004e9d;
}
.message span {
	display:inline-block;
}
.message span:not(:last-child) {
	margin-bottom:1em;
}
	
/* -------------------------------------
footer
------------------------------------- */

footer #cp {
	font-size:12px;
	text-align:center;
	line-height:1.2;
	color:#fff;
	padding:8px;
	background-color:#004E9D;
	box-sizing:border-box;
}



@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) {


.message {
	font-size:clamp(14px,2.6vw,20px);
}

	/* -------------------------------------
	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;
	}
}