/*
Last Updated: 2020-08-18
Author: minoura
*/

/*----------------------------------------
	全体
----------------------------------------*/

html{
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	font-size:62.5%;
	color: #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
}
body{ font-size:1.4rem; font-size: 1.4em; }
img{ vertical-align: bottom; }

a{
	color:#1f589d;
	transition: all 0.4s ease-out;
}
a:hover{
	color:#1970da;
	transition: all 0.4s ease-out;
}


/*----------------------------------------
	text
----------------------------------------*/

p{ line-height:1.8; }
.text_yu_go{ font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.lh_16{ line-height: 1.6 !important; }
.lh_20{ line-height: 2 !important; }
.ls_1{ letter-spacing: 1px; }
.ls_2{ letter-spacing: 2px; }

@media print, screen and (min-width: 769px) {

	.text_16{ font-size:1.6rem !important; }
	.text_22{ font-size:2.2rem !important; }
	.text_26{ font-size:2.6rem !important; }

}/*END*/

@media screen and (max-width: 768px){

	.text_16{ font-size: 1.5rem !important; }
	.text_22{ font-size: 1.8rem !important; }
	.text_26{ font-size: 2rem !important; }
	.lh_20{ line-height: 1.8 !important; }

}/*END*/

@media screen and (max-width: 599px){

	.text_16{ font-size: 1.4rem !important; }
	.text_22{ font-size: 1.6rem !important; }
	.text_26{ font-size: 1.7rem !important; }

}/*END*/


/*----------------------------------------
	loading
----------------------------------------*/

#loading_wrap{
	width: 100%;
	height: 100vh;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}
#loading{
	width: 40px;
	height: 40px;
	border-top: 5px solid rgba(0, 0, 0, 0.15);
	border-right: 5px solid rgba(0, 0, 0, 0.15);
	border-bottom: 5px solid rgba(0, 0, 0, 0.15);
	border-left: 5px solid rgba(0, 0, 0, 0.6);
	animation: loader_animation 1s infinite linear;
	border-radius: 50%;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	z-index: 11;
}
@keyframes loader_animation{
	0%{
		transform: rotate(0deg);
	}
	100%{
		transform: rotate(360deg);
	}
}
.loading_none #loading{
	display: none;
	transition: all 1s;
}
.loading_none{ animation: loading_animation 1s forwards; }
@keyframes loading_animation{
	0%{
		opacity: 1;
	}
	99%{
		opacity: 0;
	}
	100%{
		opacity: 0;
		display: none;
		z-index: -1;
	}
}


/*----------------------------------------
	iframe比率維持
----------------------------------------*/

.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 35% 0 0;
	text-align: center;
}
.map iframe{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none) {
.map iframe{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

@media screen and (max-width: 599px){

	.map{ padding: 70% 0 0; }

}/*END*/


/*----------------------------------------
	layout
----------------------------------------*/

.inner_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
}
.box_l{
	float: left;
	width: 48.27%;
}
.box_r{
	float: right;
	width: 48.27%;
}

@media print, screen and (min-width: 769px) {

	.inner_frame{
		padding-right: 1.72%;
		padding-left: 1.72%;
	}

}/*END*/

@media print, screen and (min-width: 1220px) {

	.inner_frame{
		width: 1200px;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}

}/*END*/

@media screen and (max-width: 768px){

	.inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}

}/*END*/

@media screen and (max-width: 599px){

	.inner_frame{
		padding-right: 4.5%;
		padding-left: 4.5%;
	}
	.box_l,
	.box_r{
		float: none;
		width: 100%;
	}

}/*END*/



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

header a{
	display: block;
	text-decoration: none;
}
.head_inner{ padding: 30px; }
.head_logo{
	float: left;
	width: 280px;
}
.official_link{
	background: #004986;
	color: #fff;
	border: 1px solid #cdcdcd;
	padding: 7px 10px;
	font-size: 1.1rem;
	letter-spacing: 1px;
}
.official_link:hover{
	background: #82d8ca;
	color: #111;
	border-color: #111;
}

@media print, screen and (min-width: 769px) {

	.head_official{
		float: right;
		margin-left: 20px;
	}
	.head_tel{
		float: right;
		width: 230px;
	}
	#sd{
		border-top: 1px solid #222;
		border-bottom: 1px solid #222;
	}
	#sd ul{
		border-left: 1px solid #222;
		width: 100%;
		max-width: 1160px;
		box-sizing: border-box;
		margin-left: auto;
		margin-right: auto;
	}
	#sd li{
		float: left;
		border-right: 1px solid #222;
		box-sizing: border-box;
	}
	#sd li:nth-child(odd){ width: 14.32%; }
	#sd li:nth-child(even){ width: 14.23%; }
	#sd li img{
		width: 100%;
		transition: all 0.6s ease-out;
	}
	#sd li a{ transition: all 0.6s ease-out; }

	#sd li:nth-child(1) a{
		background-image: url("../images/nav01_on.png");
		background-size: cover;
	}
	#sd li:nth-child(2) a{
		background-image: url("../images/nav02_on.png");
		background-size: cover;
	}
	#sd li:nth-child(3) a{
		background-image: url("../images/nav03_on.png");
		background-size: cover;
	}
	#sd li:nth-child(4) a{
		background-image: url("../images/nav04_on.png");
		background-size: cover;
	}
	#sd li:nth-child(5) a{
		background-image: url("../images/nav05_on.png");
		background-size: cover;
	}
	#sd li:nth-child(6) a{
		background-image: url("../images/nav06_on.png");
		background-size: cover;
	}
	#sd li:nth-child(7) a{
		background-image: url("../images/nav07_on.png");
		background-color:  #82d8ca;
		background-size: cover;
	}
	#sd li a:hover img{
		opacity: 0;
		transition: all 0.6s ease-out;
	}
	#sd li:nth-child(1) a:hover{
		background-image: url("../images/nav01_on.png");
		background-size: cover;
	}
	#sd li:nth-child(2) a:hover{
		background-image: url("../images/nav02_on.png");
		background-size: cover;
	}
	#sd li:nth-child(3) a:hover{
		background-image: url("../images/nav03_on.png");
		background-size: cover;
	}
	#sd li:nth-child(4) a:hover{
		background-image: url("../images/nav04_on.png");
		background-size: cover;
	}
	#sd li:nth-child(5) a:hover{
		background-image: url("../images/nav05_on.png");
		background-size: cover;
	}
	#sd li:nth-child(6) a:hover{
		background-image: url("../images/nav06_on.png");
		background-size: cover;
	}
	#sd li:nth-child(7) a:hover{
		background-image: url("../images/nav07_on.png");
		background-size: cover;
	}
	#sd li a:hover{
		background-color: #222;
		transition: all 0.6s ease-out;
	}

}/*END*/

@media print, screen and (min-width: 769px) and ( max-width: 1019px) {

	.head_inner{ padding: 30px 2%; }
	.head_logo{ width: 28%; }
	.head_tel{ width: 23%; }
	.head_official.official_link{
		padding: 5px 8px;
		margin-left: 15px;
	}

}/*END*/

@media screen and (max-width: 768px){

	.head_inner{ padding: 15px 3% 15px 4%; }
	.head_logo{
		padding-top: 10px;
		width: 80%;
		max-width: 280px;
	}
	.sd-trigger{
		float: right;
		position: relative;
		width: 54px;
		height: 45px;
		background: #1f589d;
		cursor: pointer;
	}
	.sd-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		width: 28px;
		background-color: #fff;
	}
	.sd-trigger span:nth-of-type(1) { top: 14px; left: 13px; }
	.sd-trigger span:nth-of-type(2) { top: 22px; left: 13px; }
	.sd-trigger span:nth-of-type(3) { top: 30px; left: 13px; }
	#sd{ box-sizing: border-box; }
	#sd ul{ margin-bottom: 20px; }
	#sd li{ position: relative; }
	#sd li a{
		display: block;
		text-decoration: none;
		border-bottom: 1px solid #444;
		text-align: center;
	}
	#sd li img{ width: 76%; }

}/*END*/

@media screen and (max-width: 599px){

	.head_logo{
		padding-top: 9px;
	}

}/*END*/


/*----------------------------------------
	共通
----------------------------------------*/

#container{ overflow: hidden; }
.respon{ width: 100%; }
li{ list-style:none; }
.center{ text-align:center; }
.left{ float:left; }
.right{ float:right; }
.op:hover{
	filter: alpha(opacity=60);
	-moz-opacity:060;
	opacity:0.60;
}

@media print, screen and (min-width: 600px) {

	.sp_only{ display: none; }

}/*END*/

@media screen and (max-width: 599px){

	.left,
	.right{
		float: none;
	}

}/*END*/


/*----------------------------------------
	MV
----------------------------------------*/

.mv{
	background: url("../images/mv_bg.jpg") center top no-repeat;
	background-size: 100%;
	text-align: center;
	max-height: 700px;
	position:relative
}
.mv_ttl{
	width: 37.62%;
	max-width: 508px;
	margin-top: 6%;
	position:absolute;
	right: 8%;
}

@media screen and (max-width: 599px){

	.mv{
		background-size: 150%;
		background-position: left center;
		height: 260px !important;
	}
	.mv_ttl{
		width: 220px;
		right: 3%;
		bottom: 10px;
		margin-top: auto;
	}

}/*END*/


/*----------------------------------------
	intro
----------------------------------------*/

.intro_bg01{
	background: url("../images/intro_bg01.gif") center top no-repeat #f7fdd8;
	background-size: 100%;
	text-align: center;
}
.intro_bg02{
	background: url("../images/intro_bg02.gif") center bottom no-repeat #f7fdd8;
	background-size: 100%;
}
.intro_ttl{
	width: 43.1%;
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
}
.intro_text{ width: 39.65%; }
.intro_img{ width: 56.89%; }
.point_bg{
	background: url("../images/point_bg.gif") center bottom;
	background-size: cover;
}

@media print, screen and (min-width: 769px){

	.point{
		padding-left: 5.86%;
		padding-right: 5.86%;
	}

}/*END*/

@media print, screen and (min-width: 600px){

	.point li{
		float: left;
		width: 25%;
	}

}/*END*/

@media screen and (max-width: 599px){

	.point_bg{
		background: url("../images/point_bg.gif") center bottom no-repeat #eaf7a5;
		background-size: 100%;
	}
	.point li{
		float: left;
		width: 50%;
	}
	.point li:nth-child(1),
	.point li:nth-child(2){
		margin-bottom: 10px;
	}
	.intro_ttl{ width: 80%; }
	.intro_text,
	.intro_img{
		width: 100%;
	}
	.intro_bg02{ padding-top: 20px; }

}/*END*/


/*----------------------------------------
	location
----------------------------------------*/

.location_ttl{
	width: 43.1%;
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
}
.location_bg{ background: #f4f2f8; }

@media print, screen and (min-width: 769px){

	.location_list4{
		width: 90%;
		margin-left: 5%;
	}
	.location_list3{
		width: 67.5%;
		margin-left: 16.25%;
	}

}/*END*/

@media print, screen and (min-width: 600px){

	.location_list4 li{
		float: left;
		width: 21.64%;
		margin-left: 3.35%;
		margin-bottom: 30px;
	}
	.location_list3 li{
		float: left;
		width: 28.86%;
		margin-left: 4.46%;
		margin-bottom: 30px;
	}

}/*END*/

@media print, screen and (min-width: 600px) and ( max-width: 768px) {

	.location_list4{ margin-left: -3.35%; }
	.location_list3{
		width: 78%;
		margin-left: 10%;
	}

}/*END*/

@media screen and (max-width: 768px){

	.location_list4 li p,
	.location_list3 li p{
		font-size: 1.2rem;
		line-height: 1.2;
	}

}/*END*/

@media screen and (max-width: 599px){

	.location_ttl{ width: 100%; }
	h3.location_ttl{ width: 75%; }
	.location_list4,
	.location_list3{
		margin-left: -5%;
	}
	.location_list4 li,
	.location_list3 li{
		float: left;
		width: 45%;
		margin-left: 5%;
		margin-bottom: 25px;
	}
	.location_list4 li:nth-child(2n+1),
	.location_list3 li:nth-child(2n+1){
		clear: both;
	}

}/*END*/


/*----------------------------------------
	landplan
----------------------------------------*/

.land_ttl{
	width: 43.1%;
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
}

@media print, screen and (min-width: 769px){

	.land_frame{
		width: 79.31%;
		max-width: 920px;
		margin-left: auto;
		margin-right: auto;
	}

}/*END*/

@media print, screen and (min-width: 600px){

	.land_img01{ width: 27.17%; }
	.land_img02{ width: 72.82%; }
	.land_img01_sp{ display: none; }

}/*END*/

@media screen and (max-width: 599px){

	.land_ttl{ width: 100%; }
	.land_img02{ width: 100%; }
	.land_img01_sp{ padding-top: 30px; }

}/*END*/


/*----------------------------------------
	access
----------------------------------------*/

.access_ttl{
	width: 54.31%;
	margin-left: auto;
	margin-right: auto;
	max-width: 630px;
	margin-bottom: 30px;
}

@media screen and (max-width: 599px){

	.access_ttl{
		width: 140%;
		margin-left: -20%;
		margin-bottom: 35px;
	}
	#access .box_l,
	#access .box_r{
		margin-bottom: 15px;
	}

}/*END*/


/*----------------------------------------
	outline
----------------------------------------*/

.outline_ttl{
	width: 43.1%;
	margin-left: auto;
	margin-right: auto;
	max-width: 500px;
}
table{
	width: 100%;
	line-height: 2;
}
th,
td{
	padding: 26px 2%;
	border-bottom: 1px solid #ccc;
	text-align: left;
}
th{
	color: #4287dc;
	width: 10em;
}
.no_border{ border-bottom: none; }

@media screen and (max-width: 768px){

	.outline .box_l,
	.outline .box_r{
		float: none;
		width: 100%;
	}
	th,
	td{
		padding: 16px 2%;
	}

}/*END*/

@media screen and (max-width: 599px){

	.outline_ttl{ width: 100%; }
	th,
	td{
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	th{
		border-bottom: none;
		padding: 10px 2% 0 2%;
	}
	td{ padding: 0 2% 10px 2%; }

}/*END*/


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

.bnr_contact{
	display: block;
	max-width: 360px;
	width: 31.03%;
	margin: 110px auto 120px auto;
}
footer{ border-top: 1px solid #adb5bd; }
footer a{
	display: block;
	color: inherit;
	text-decoration: none;
}
.foot_l p{
	line-height: 1.5;
	font-size: 1.2rem;
	color: #999;
	margin-bottom: 15px;
}
.foot_official{ display: inline-block; }
.foot_r a{ color: #333; }
.copyright{
	background: #1e457d;
	text-align: center;
	color: #fff;
	font-size: 1rem;
	padding-top: 15px;
	padding-bottom: 15px;
}

@media print, screen and (min-width: 769px){

	footer .inner_frame{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.foot_l{
		float: left;
		width: 49.13%;
	}
	.foot_r{
		float: right;
		width: 49%;
		font-size: 1.3rem;
	}
	.foot_logo{
		float: left;
		width: 41.05%;
		margin-bottom: 15px;
	}
	.foot_tel{
		float: left;
		width: 49.12%;
		margin-left: 2.63%;
		padding-top: 5px;
		margin-bottom: 15px;
	}
	.foot_r li{
		float: left;
		margin-right: 3%;
		margin-bottom: 25px;
	}
	.foot_r li a:before{ content: "・"; }
	.foot_r li a:hover{ color: #1f589d; }

}/*END*/

@media print, screen and (min-width: 769px) and ( max-width: 1119px) {

	.bnr_contact{ margin: 80px auto 90px auto; }

}/*END*/

@media screen and (max-width: 768px){

	.bnr_contact{
		margin: 40px auto 50px auto;
		width: 280px;
	}
	footer .inner_frame{
		padding-right: 0;
		padding-left: 0;
	}
	.foot_l{
		text-align: center;
		margin: 25px auto;
	}
	.foot_logo{
		width: 20%;
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 20px;
	}
	.foot_tel{
		width: 45%;
		margin-bottom: 15px;
	}
	.foot_l p{ margin-bottom: 20px; }
	.official_link.foot_official{
		padding: 15px 25px;
		font-size: 1.2rem;
	}
	.foot_r a{
		padding: 15px 4%;
		text-align: center;
		border-bottom: 1px solid #adb5bd;
		font-size: 1.2rem;
	}

}/*END*/

@media screen and (max-width: 599px){

	.bnr_contact{
		margin: 25px auto;
		width: 240px;
	}
	.foot_logo{ width: 35%; }
	.foot_tel{ width: 70%; }

}/*END*/