@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,input,textarea,p,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}img{border:0;}li{list-style:none;}h1,h2,h3,h4,h5,h6{font-size:100%;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;}html,body {margin:0;padding:0;height: 100%;width: 100%;}a{ text-decoration:none; }
/*	clearfix */
.clearfix:after {
content: "."; 
display: block; 
height: 0; 
font-size:0;	
clear: both; 
visibility:hidden;
}
.clearfix {display:inline-block;}
/* Hides from IE-mac \*/
* html .clearfix { height: 1%;}
.clearfix {display: block;}
/* End hide from IE-mac */
img{
max-width:100%;
height:auto;
image-rendering: auto;
}
body {
color:#333333;
letter-spacing:0.04em;
line-height:1.7em;
font-family:"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN W3", HiraKakuProN-W3, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic,"メイリオ", Meiryo, Osaka, sans-serif;
text-align: justify;
text-justify: inter-ideograph;
position:relative;
}
@media print, screen and (min-width:961px){
	.link_img:hover{opacity:0.7;filter:alpha(opacity=70);-ms-filter:"alpha(opacity=80)";-moz-opacity:0.7;-khtml-opacity:0.7;}
	body {font-size:1rem;}
}
@media print, screen and (max-width:960px) and (min-width:761px){
	body {font-size:.95rem;}
}
@media print, screen and (max-width:760px){
	body {font-size:.9rem;}
}
/* header
-------------------------------- */
.header{
background-color:rgba(0,0,0,.85);
color:#fff;
width:100%;
position:fixed;
top:0;
z-index:999;
border-bottom:1px solid rgba(255,255,255,.3);
}
.header_con{
margin:auto;
font-weight:bold;
}
.header_con .logo{ display:block; }
.plus_btn{
display:block;
cursor:pointer;
}
.gnav > ul > li{
line-height:1.5em;
}
.gnav > ul > li > ul > li > a{
display:block;
line-height:1.5em;
}
.gnav .tel .tel-link{
background-image:url(../images/common/phone.png);
background-repeat:no-repeat;
background-size:10px auto;
background-position:0 50%;
}
@media print, screen and (min-width:1301px){
	.header_con{font-size:1.15rem;}
	.header_con .logo{ width:30%; }
	.header_con .gnav{ width:70%; }	
	.header_con .gnav > ul > li{padding:8px 11px 8px 0;}
}
@media print, screen and (max-width:1300px) and (min-width:961px){
	.header_con{font-size:1rem;}
	.header_con .logo{ width:20%; }
	.header_con .gnav{ width:80%; }
	.header_con .gnav > ul > li{padding:8px 3px 8px 0;}
}
@media print, screen and (min-width:961px){
	.header{padding:15px 0;}
	.menu-trigger,.gnav .sub_menu{display:none;}
	.header_con{
	width:97%;
	max-width:1920px;
	line-height:1em;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	align-items: center;
	}
	.header_con a{color:#fff; }
	.header_con .logo{ margin-left:5px; }
	.header_con .gnav{ text-align:right; }
	.header_con .gnav > ul > li{ display:inline-block; }
	.header_con .gnav > ul > li.tel{
	padding:5px 18px 5px 20px;
	border:1px solid #acacac;
	margin-left:7px;
	}
	.header_con .gnav > ul > li.tel .tel-link{
	padding-left:22px;
	}
	.header_con .gnav > ul > li:hover > a,
	.header_con .gnav > ul > li:hover > .plus_btn{
	color:#aecff0;
	}
	.gnav > ul > li{ position:relative; }
	.gnav > ul > li > ul{
	position: absolute;
	z-index:10;
	top:-1000px;
	left:-80px;
	text-align:center;
	box-shadow:1px 2px 3px 0px rgba(0,0,0,.4);
	}
	.gnav > ul > li:hover ul{
	transform: translateY(1034px);
	-ms-transform: translateY(1034px);
	}
	.gnav > ul > li > ul > li{
	border-bottom:1px dotted #aeaeae;
	}
	.gnav > ul > li > ul > li:last-child{
	border:none;
	}
	.gnav > ul > li > ul > li > a{
	font-size:.9rem;
	background:rgba(255,255,255,.95);
	color:#000;
	width:220px;
	padding:10px 15px;
	}
	.gnav > ul > li > ul > li > a:hover{
	background:#0062B2;
	color:#fff;
	}
}
@media print, screen and (max-width:960px){
	.header{
	position: fixed;
	width:100%;
	top: 0;
	overflow-y: auto;
	z-index:999;
	box-shadow:0px 2px 2px 0px rgba(0,0,0,.4);
	}
	.gnav,.menu-trigger-c,.plus_menu{display:none;}
	.menu-trigger{
	position:absolute;
	text-align:center;
	top:0;
	right:0;
	font-size:0.6rem;
	letter-spacing:0.1em;
	line-height:1em;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	align-items: center;
	justify-content: center;
	}
	.menu-trigger-o span{
	display:block;
	background-color:#fff;
	width:32px;
	height:3px;
	margin:0 auto 6px;
	}
	.menu-trigger-c span{
	display: block;
    width:25px;
    height:25px;
    position: relative;
	margin:0 auto 1px;
	}
	.menu-trigger-c span::before,.menu-trigger-c span::after{
	content: "";
	display: block;
	width: 100%;
	height:3px;
	background-color:#fff;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top:0;
	left: 14%;
	}
	.menu-trigger-c span::after{
	transform: rotate(-45deg);
	transform-origin:100% 50%;
	left: auto;
	right: 14%;
	}
	.header_con .logo{
	width:60%;
	}
	.header_con .gnav{
	background-color:#fff;
	width:100%;
	text-align:center;
	color:#000;
	}
	.header_con .gnav li{
	border-bottom:1px dotted #9a9a9a;
	font-size:1rem;
	}
	.header_con .gnav ul li:last-child{
	border:none;
	}
	.header_con .gnav a,.plus_btn{
	display:block;
	padding:15px;
	color:#000;
	}
	.header_con .gnav li.tel{
	background-color:#0C5591;
	color:#fff;
	font-size:1.1rem;
	}
	.header_con .gnav li.tel .tel-link{
	display:inline-block;
	padding:10px 10px 10px 20px;
	}
	.header_con .gnav li.tel a{
	color:#fff;
	padding:0;
	}
	.gnav .plus_btn{
	position: relative;
	padding:10px 30px;
	}
	.gnav .plus_btn .icon{
	display:block;
	position: absolute;
	background-color:#0756A0;
	right:3%;
	top:12px;
	width:20px;
	height:20px;
	text-align:center;
	}
	.gnav .plus_btn .icon::before,
	.gnav .plus_btn .icon::after{
	content:'';
	display:inline-block;
	width:13px;
	height:2px;
	background: #fff;
	position:absolute;
	top:50%;
	left:4px;
	transform: translateY(-50%);
	}
	.gnav .plus_btn .icon::after{
	transform: translateY(-50%) rotate(90deg);
	transition: 0.5s;
	}
	.active .icon::after{
	transform: rotate(0) !important;
	transition: 0.5s;
	}
	.header_con .gnav > ul > li > ul > li > a{
	display:block;
	color:#000;
	background-color:#f1f1f1;
	font-size:.9rem;
	}
	.gnav .sub_menu{
	background-color:#f3f3f3;
	padding:12px 0;
	
	}
	.gnav .sub_menu li{
	display:inline-block;
	border:none;
	
	}
	.gnav .sub_menu a{
	display:inline-block;
	font-size:.75rem;
	line-height:1.5em;
	padding:7px 15px;
	font-weight:normal;
	background-color:#fff;
	border-radius:50px;
	-webkit-border-radius: 50px;
	-moz-border-radius:50px;
	margin:3px 1px;
	min-width:135px;
	}
}
@media print, screen and (max-width:960px) and (min-width:761px){
	.header_con .logo{
	max-width:220px;
	padding:13px 0 8px 17px;
	}
	.menu-trigger{
	width:62px;
	height:57px;
	}
}
@media print, screen and (max-width:760px){
	.header_con .logo{
	max-width:180px;
	padding:16px 0 10px 4%;
	}
	.menu-trigger{
	width:53px;
	height:53px;
	}
	
}
@media print, screen and (max-width:340px){
	.gnav .sub_menu a{min-width:100px;}
}
/* footer
-------------------------------- */
.footer{
width:100%;
text-align:center;
border-top:1px solid #D8D8D8;
}
.map{
border-top:3px solid #D8D8D8;
background:url(../images/top/gray_bg.png) repeat 50% 50%;
}
.map a{
color:#333333;
text-decoration:underline;
}
.map a:hover{ color:#898989; }
.map iframe{ vertical-align:bottom; }
.map h1,.map p{
width:90%;
line-height:1.6em;
margin:auto;
}
.map p{margin:15px auto;}
.map iframe{ margin:30px auto 0; }
.map .link{
display:inline-block;
color:#fff;
background-color:#000;
font-size:.9rem;
font-weight:bold;
padding:5px 25px 5px 15px;
margin:0 auto 20px;
position: relative;
text-decoration:none;
}
.map .link:hover{background-color:#333333;}
.map .link::before{
position: absolute;
top: 0;
bottom: 0;
right:7px;
margin: auto;
content: "";
vertical-align: middle;
width: 4px;
height: 4px;
border-top: 1px solid #fff;
border-right: 1px solid #fff;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.footer_menu .box2 a{
display:inline-block;
margin:1px;
}
.contact{ font-weight:bold; }
.contact h1,.contact p,.contact .link{
width:85%;
}
.contact h1{ margin:auto; }
.contact p{ line-height:1.5em; }
.contact .link{
color:#333333;
display:block;
border:1px solid #545454;
position: relative;
-webkit-box-sizing: border-box;
box-sizing: border-box;
line-height:1.4em;
max-width:500px;
width:80%;
box-shadow:1px 2px 0px 0px rgba(0,0,0,.3);
}
.contact .link::after{
position: absolute;
top: 0;
bottom: 0;
margin: auto;
content: "";
vertical-align: middle;
right:10px;
width:6px;
height:6px;
border-top: 2px solid #545454;
border-right: 2px solid #545454;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
.contact .link:hover{
box-shadow:1px 1px 0px 0px rgba(0,0,0,.9);
transform: translate(0, 2px);
}
.contact .tel-link img{
width:100%;
display:block;
margin:auto;
}
.copy{
background-color:#000;
color:#fff;
font-size:.7rem;
line-height:1.3em;
padding:7px 10px;
}
@media print, screen and (min-width:961px){
	.footer{margin:120px auto 0;}
	.contact{ margin:80px auto; }
	.contact h1{ font-size:2.5rem; }
	.contact p{ font-size:.95rem;margin:20px auto; }
	.contact .tel-link img{ max-width:495px; }
	.contact .link{
	font-size:1.2rem;
	padding:16px 40px 18px 18px;
	margin:30px auto 0;
	}
	.map{ padding:40px 0 0; }
	.footer_menu .box{ margin:0 30px 30px; }
	.footer_menu .box2{margin:10px;}
}
@media print, screen and (max-width:960px){
	.contact p{ margin:15px auto; }
}
@media print, screen and (max-width:960px) and (min-width:761px){
	.footer{margin:100px auto 0;}
	.contact{ margin:50px auto 60px; }
	.contact h1{ font-size:1.7rem; }
	.contact p{ font-size:.9rem; }
	.contact .link{
	font-size:1.1rem;
	padding:13px 40px 15px 15px;
	margin:25px auto 0;
	}
	.contact .tel-link img{ max-width:420px; }
	.map{ padding:30px 0 0; }
	.map h1{ max-width:200px; }
	.footer_menu .box{
	width:45%;
	margin:0 2.5% 3%;
	}
	.footer_menu .box2{margin-top:2%;}
}
@media print, screen and (min-width:761px){
	.footer_menu{
	background-color:#000;
	color:#fff;
	border-bottom:1px solid #3F3F3F;
	padding:30px 0 10px;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: center;
	}
	.footer_menu .box{ text-align:left; }
	.footer_menu .box ul{
	border-top:1px solid #6D6D6D;
	margin-top:5px;
	padding-top:5px;
	}
	.footer_menu .box a{
	display:block;
	color:#fff;
	font-size:.9rem;
	line-height:1.5em;
	margin:5px 0;
	position: relative;
	padding-left:15px;
	}
	.footer_menu .box a::before{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	left:0;
	width: 4px;
	height: 4px;
	border-top: 1px solid #D3D3D3;
	border-right: 1px solid #D3D3D3;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	}
	.footer_menu .box a:hover{ color:#aecff0; }
}
@media print, screen and (max-width:760px){
	.footer_menu .box{display:none;}
	.footer{margin:25% auto 0;}
	.footer_menu .box2{
	background:url(../images/top/gray_bg.png) repeat 50% 50%;
	padding-bottom:10px;
	}
	.contact{ margin:9% auto 10%; }
	.contact h1{ font-size:1.7rem; }
	.contact p{ font-size:.85rem; }
	.contact .link{
	font-size:.95rem;
	padding:10px 15px 11px 5px;
	margin:25px auto 0;
	}
	.contact .tel-link img{
	width:85%;
	max-width:300px;
	}
	.map{ padding:7% 0 0; }
	.map h1{ max-width:160px; }
}
/* content
------------------------------------*/
.content{
width:92%;
max-width:1080px;
margin:auto;
}
.content2{
width:90%;
max-width:1200px;
margin:auto;
}
/* spacer
------------------------------------*/
.mt05 { margin-top:5px; }.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }.mt40 { margin-top: 40px; }
.mt80 { margin-top: 80px; }
.mb05 { margin-bottom:5px; }.mb10 { margin-bottom: 10px; }.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }.mb40 { margin-bottom: 40px; }.mb60 { margin-bottom:60px; }
.mb80 { margin-bottom: 80px; }
.mtb10 { margin: 10px 0px; }.mtb20 { margin: 20px 0px; }.mtb30 { margin:30px 0px; }
.mtb40 { margin: 40px 0px; }.mtb50 { margin: 50px 0px; }.mtb60 { margin: 60px 0px; }
.pt15 { padding-top:15px; }
/*	text lifter
------------------------------------*/
.t_red{color:#ff0000;}
.t_blue{color:#506286;}
.t_bold { font-weight: bold; }
.t_left { text-align: left; }
.t_right { text-align: right; }
.t_center { text-align: center; }
.inline{display:inline-block;vertical-align:middle;}
.s_txt{font-size:80%;line-height:1em;}
.b_txt{font-size:150%;line-height:1em;}