@charset "UTF-8";
/* CSS Document */
body{
	text-align: justify;
	text-justify: inter-ideograph;
}

/*------------------
header
------------------*/
header{
	z-index: 99;
}
.header_logo button{
	padding: 0;
	border: none;
}
.header_logo h1{
	margin-bottom: 0;
}
@media (max-width: 768px){
	.header_logo{
		display: flex;
		justify-content: space-between;
		height: 63px;
		width: 100%;
		border-top: 1px solid #E1E1E1;
		border-bottom: 1px solid #E1E1E1;
	}
	.header_logo h1{
		padding:0 30px;
		text-align: center;
		height: 63px;
	}
	.gnavi_pc{
		display: none;
	}
	.gnavi_sp{
		max-width: 1200px;
		margin: 0 auto;
		display: none;
	}
	.gnavi_sp img{
		display: none;
	}
	.gnavi_sp a,.gnavi_sp dt{
		display: block;
		padding: 10px;
		padding: 10px;

	}
	.gnavi_sp >li{
		margin-bottom: 0;
		border-bottom: 1px solid #ccc;
	}
	.gnavi_sp dl{
		margin-bottom: 0;
	}
	.gnavi_sp dt.open{
		background-color: #2B72BC;
		color:#fff;
	}
	.gnavi_sp dt, .gnv_close{
		padding: 10px;
		font-weight: normal;
	}
	.gnavi_sp dd a{
		display: block;
		padding:10px 10px 10px 30px;
	}
	.gnv_close{
		background-color: #666;
		color:#fff;
	}
}
@media (min-width: 769px){
	.header_logo{
		position: absolute;
		top: 20px;
		left: 20px;
		background-color: #fff;
	}
	.header_logo h1 a{
		display: block;
		padding:15px 20px 20px 3px;
		background-color: #fff;
	}
	.tel{
		position: absolute;
		bottom: calc(100% + 20px);
		right: 20px;
	}
	nav{
		position: relative;
		z-index: 99;
		border-bottom: 1px solid #ccc;
	}
	.gnavi_sp{
		display: none;
	}
	.gnavi_pc{
		max-width: 1200px;
		margin: 0 auto;
		padding:0 10px;
		display: flex;
	}
	.gnavi_pc > li{
		display: flex;
		align-items: center;
	}
	.gnavi_pc > li:after{
		display: block;
		content: url(../images/common/menu_line.svg);
		width: 19px;
		height: 38px;
		margin-left: 6%;
	}
	.gnavi_pc > li:nth-child(5):after{
		content: "";
	}
/*	.gnavi_pc span{
		display: none;
	}*/
	.gnavi_pc dl{
		padding: 40px 6%;
		position: relative;
	}
	.gnavi_pc dd{
		display: none;
		position: absolute;
		top: calc(100% - 30px);
		left: 0;
		width: 100%;
		background-color: #fff;
		border: 1px solid #ccc;
	}
	.gnavi_pc dd a{
		display: block;
		padding: 10px;
	}
}

header a,
header a:link,
header a:visited,
header a:hover,
header a:active,
header a:focus
{
	color:#666;
}

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





/*------------------
共通パーツ
------------------*/
/*背景グレー*/
.bg_gray{
	background-color: #F8F8F8;
}

/*青文字*/
.text_blue{
	color:#246EBA;
}
/*青囲み*/
.border_blue{
	border: 3px solid #246EBA;
}
.bgc_lightblue{
	background-color: #ECF2F4;
}
/*見出しブルーアイコン付き*/
.headding_01{
	color:#246EBA;
	font-size: 30px;
}
.headding_01:before{
	content:url(/images/common/arrow_right_large.svg);
	margin-right: 10px;
	vertical-align: middle;
}


.text_underline{
	display: inline;
	padding: 10px 0;
	border-bottom: 1px dashed #ccc;
	line-height: 3;
}
/*下層ページ メニュー*/
.page_menu li a{
	padding:0 10px ;
	font-size: 16px;
}
.page_menu li:after{
	content:"　／　";
}
.page_menu li:last-child:after{
	content:none;
}
.page_menu a,
.page_menu a:link,
.page_menu a:visited,
.page_menu a:active,
.page_menu a:focus
{color:#666;}
.page_menu a:hover{
	color:#246EBA;
}

.page_menu .is_current,
.page_menu .is_current:link,
.page_menu .is_current:visited,
.page_menu .is_current:hover,
.page_menu .is_current:active,
.page_menu .is_current:focus
{color:#246EBA;}

.rel_pagelinks li{
	position: relative;
	padding-top: 34.9%;
	background-size: cover;
	background-position: center center;
	font-size: 16px;
}
.rel_pagelinks a{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;

}
@media (min-width: 769px){
	.rel_pagelinks li{
	padding-top: 17.45%;

	}
}

/*リンクボタン*/
.rel_btn{
	display: block;
	margin:0 auto;
	width: 212px;
	line-height: 44px;
	text-align: center;
	border: 1px solid #000;
	background-color: #fff;
}
.rel_btn,
.rel_btn:link,
.rel_btn:visited,
.rel_btn:hover,
.rel_btn:active,
.rel_btn:focus{
	color:#000;
}
.rel_btn:hover{
	background-color: #eee;
	text-decoration: none;
}

.opening_hours table{
	width: 100%;
	text-align: center;
}
.opening_hours caption{
	caption-side: top;
	color:#666;
}

.opening_hours th,
.opening_hours td{
	padding: 5px;
	border: 1px solid #666;
}


/*------------------
トップページ
------------------*/
/*スライダー 下層ページトップキャッチ*/
.slider_wrap,.catch_wrap{
	position: relative;
	padding: 20px;
}
.slider_wrap p,.catch_wrap p{
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
@media (max-width: 768px){
	.slider li,.catch_top{
		width: 100%;
		padding-top: 104%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}

}
@media (min-width: 769px){
	.slider li,.catch_top{
		width: 100%;
		padding-top: 31.9%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}
}

/*画像を画面幅いっぱいに表示する bx-wrapperのスタイルを上書き*/
.bx-wrapper {
	width: 100%;
	max-width: initial !important;
margin: 0 !important;
-moz-box-shadow: none !important;
-webkit-box-shadow: none !important;
box-shadow: none !important;
border: none !important;
background: none !important;
}
.bx-wrapper img{
	width: 100%;
}

/*各店舗紹介*/

.rel_links a,
.rel_links a:link,
.rel_links a:visited,
.rel_links a:hover,
.rel_links a:active,
.rel_links a:focus
{
	color:#666;
}

.rel_links dl{
	border: 1px solid #ccc;
}
@media (min-width: 769px){
	.rel_links dl{
		margin:20px 1%;
	}
	.rel_links .col-pc-6{
		width: 48% ;
		flex: 0 0 48%;
	}
	.rel_links .col-pc-4{
		width: 31% ;
		flex: 0 0 31%;
	}
}

/*私たちの願い*/
@media (min-width: 769px){
	.ourvision{
		padding: 70px 0;
		background: #fff url(/images/home/bg_vision.jpg) center center no-repeat;
		background-size: cover;
	}
}

/*アクセスgooglemap*/
@media (min-width: 769px){
	.access{
		margin: 100px 0;
	}
}
.googlemap{
	position: relative;
	padding-top: 44.9%;
}
.googlemap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


@media all and (-ms-high-contrast: none){
  .img100{width: 100%;}
}
