@charset "utf-8";

/* common style
----------------------------------------------------------------------*/
.left { text-align: left; }
.right { text-align: right; }
.center { text-align: center; }
.none { display: none; }
.small { font-size: 11px; }

br.sp { display: none; } 

.mt0 { margin-top: 0!important; }
.mt5 { margin-top: 5px!important; }
.mt10 { margin-top: 10px!important; }
.mt15 { margin-top: 15px!important; }
.mt20 { margin-top: 20px!important; }
.mt25 { margin-top: 25px!important; }
.mt30 { margin-top: 30px!important; }
.mt40 { margin-top: 40px!important; }
.mt50 { margin-top: 50px!important; }
.mt60 { margin-top: 60px!important; }
.mt70 { margin-top: 70px!important; }
.mt80 { margin-top: 80px!important; }
.mt90 { margin-top: 90px!important; }
.mt100 { margin-top: 100px!important; }
.mb0 { margin-bottom: 0!important; }
.mb5 { margin-bottom: 5px!important; }
.mb10 { margin-bottom: 10px!important; }
.mb15 { margin-bottom: 15px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb25 { margin-bottom: 25px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb70 { margin-bottom: 70px!important; }
.mb80 { margin-bottom: 80px!important; }
.mb90 { margin-bottom: 90px!important; }
.mb100 { margin-bottom: 100px!important; }

/* WP共通 style
----------------------------------------------------------------------*/
.alignleft { float: left; margin-right: 15px; }
.alignright { float: right; margin-left: 15px; }
.aligncenter { 
	display: block;
	margin: 30px auto;
}

.navigation { 
	font-size: 13px;
	margin-bottom: 30px;
}
.navigation .pageprev {
	float: left;
	width: 40%;
	text-align: left;
}
.navigation .pagenext {
	float: right;
	width: 40%;
	text-align: right;
}

/* マウスオーバー
----------------------------------------------------------------------*/
a img.hover { 
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
}
a:hover img.hover{ 
	filter: alpha(opacity=60);
	-moz-opacity:0.6;
	opacity: 0.6;
}

a.ease {
	-webkit-transition: 0.3s ease;
	-moz-transition: 0.3s ease;
	-ms-transition: 0.3s ease;
	transition: 0.3s ease;
}

/* 背景
----------------------------------------------------------------------*/
.bg { background-color: #F3F3F3; }

.bg_img {
	color: #FFF;
	font-family: "Noto Sans Japanese", serif;
	width: 100%;
	height: 280px;
	margin-bottom: 40px;
	padding-top: 120px;
	text-align: center;
}
.bg_img i {
	display: inline-block;
	font-size: 50px;
	margin-bottom: 30px;
}
.bg_img h3 { 
	font-size: 24px;
	margin-bottom: 15px;
}
.bg_img h4 { 
	font-size: 24px;
	margin-bottom: 25px;
}
.bg_img p { font-size: 18px; }

/* タイトル
----------------------------------------------------------------------*/
h1,h2,h3,h4,h5,h6,dt,th { font-weight: 300; }

.title { 
	font-family: 'Montserrat', sans-serif; 
	letter-spacing: 0.2em;
}
.ja { font-family: "Noto Sans Japanese", serif; }

.title.center-top h2 {
	font-size: 36px;
	font-family: 'Montserrat', sans-serif; 
	letter-spacing: 0.1em;
	padding: 50px 0 30px;
	text-align: center;
}

/* ボタン
----------------------------------------------------------------------*/
a.button {
	position: relative;
	display: block;
	color: #FFF;
	font-family: 'Montserrat', sans-serif; 
	font-weight: bold;
	letter-spacing: 0.2em;
	background: #CF000D;
	border: 2px solid #CF000D;
	padding: 10px 0;
	text-align: center;
	text-decoration: none;
	z-index: 1;
}
a.button::before,
a.button::after {
	position: absolute;
	left: 0;
	display: block;
	content: ' ';
	width: 100%;
	height: 50%;
	z-index: -1;
	background-color: #CF000D;
}
a.button,
a.button::before,
a.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
a.button::before { top: 0; }
a.button::after { bottom: 0; }
a.button:hover::before,
a.button:hover::after {
	height: 0;
	background-color: #CF000D;
}
a.button:hover {
	color: #CF000D;
	background-color: #FFF;
	border-color: #CF000D;
	letter-spacing: 0.4em;
}
a.button.current {
	color: #CF000D;
	background: #FFF;
	letter-spacing: 0.4em;
}
a.button.current::before,
a.button.current::after { background: #FFF; }

/* 白ボタン */
a.button.white {
	color: #CF000D;
	background: #FFF;
}
a.button.white::before,
a.button.white::after { background-color: #FFF; }
a.button.white:hover::before,
a.button.white:hover::after { background-color: #FFF; }
a.button.white:hover {
	color: #FFF;
	background-color: #CF000D;
	border-color: #CF000D;
}
a.button.white.current {
	color: #FFF;
	background: #CF000D;
}
a.button.white.current::before,
a.button.white.current::after { background: #CF000D; }

a.button.ja {
	font-size: 12px;
	font-family: "Noto Sans Japanese", serif;
	font-weight: normal;
}
a.button.ja:hover { letter-spacing: 0.3em; }

/* SPのみ表示ボタン */
ul.search_btn { display: none; }

/*  Ajax Load More */
button.alm-load-more-btn {	
	position: relative;
	display: block;
	color: #FFF;
	font-size: 13px;
	font-family: 'Montserrat', sans-serif; 
	font-weight: bold;
	letter-spacing: 0.2em;
	width: 400px;
	background: #CF000D;
	border: 2px solid #CF000D;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
	text-decoration: none;
	z-index: 1;
	cursor: pointer;
	outline: none;
}
button.alm-load-more-btn::before,
button.alm-load-more-btn::after {
	position: absolute;
	left: 0;
	display: block;
	content: ' ';
	width: 100%;
	height: 50%;
	z-index: -1;
	background-color: #CF000D;
}
button.alm-load-more-btn,
button.alm-load-more-btn::before,
button.alm-load-more-btn::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
button.alm-load-more-btn::before { top: 0; }
button.alm-load-more-btn::after { bottom: 0; }
button.alm-load-more-btn:hover::before,
button.alm-load-more-btn:hover::after {
	height: 0;
	background-color: #CF000D;
}
button.alm-load-more-btn:hover {
	color: #CF000D;
	background-color: #FFF;
	border-color: #CF000D;
	letter-spacing: 0.4em;
}

button.alm-load-more-btn.loading {
	color: #FFF;
	background: #CF000D url(../images/common/loading.svg) right center no-repeat;
	background-size: 35px 35px;
	opacity: 0.6;
}
button.alm-load-more-btn.loading::before,
button.alm-load-more-btn.loading::after { display: none; }

button.alm-load-more-btn.done { display: none; }

	
/* テーブル
----------------------------------------------------------------------*/
table.list {
	width: 100%;
	border-collapse: collapse;
}
table.list th {
	width: 110px;
	background: #E6E6E6;
	border: 1px solid #808080;
	padding: 6px 10px;
}
table.list td {
	border: 1px solid #808080;
	padding: 6px 15px;
}


/* シェアボタン */
.post_contents .shareBtn { 
	position: relative;
	margin: 60px 0 -30px !important;
	text-align: right; 
	clear: both;
}
.post_contents .shareBtn li {
	display: inline-block;
	margin-left: 5px;
}

/* 店舗一覧
----------------------------------------------------------------------*/
.store_list ul li {
	float: left;
	width: 300px;
	margin: 0 30px 70px 0;
}
.store_list ul li:nth-child(3n) { margin-right: 0; }

.store_list ul li h4 {
	font-size: 16px;
	margin-bottom: 8px;
}
.store_list ul li h4 a { color: #000; }
.store_list ul li h4 i.icon-noren{ margin-left: 30px; }
.store_list ul li h5 {
	font-size: 12px;
	margin-bottom: 8px;
}
.store_list ul li p { margin-bottom: 8px; }
.store_list ul li a { color: #CF000D; }
.store_list ul li a span:before {
	display: inline-block;
	color: #CF000D;
	font-family: "icomoon";
	content: "\e600";
	font-size: 8px;
	margin-right: 10px;
}

.area_column { display: none; }
.area_column.active { display: block; }

/* アコーディオン
----------------------------------------------------------------------*/
dl.toggle > dt { 
	position: relative; 
	cursor: pointer;
}
dl.toggle > dt:after { 
	position: absolute;
	right: 3%;
	top: 50%;
	font-family: "icomoon";
	font-size: 20px;
	content: "\e601";
	margin-top: -15px;
}
dl.toggle > dt.open:after {  content: "\e602"; }

/* PDFリンク
----------------------------------------------------------------------*/

a.pdf:after { 
	content: url(../images/common/icon_pdf.png); 
	margin-left: 5px;
}

/* SPメニュー
----------------------------------------------------------------------*/
.overlay { display: none; }
.spMenu { display: none; }


/* Google Map
----------------------------------------------------------------------*/
#map_canvas {
	width: 100%;
	height: 365px;
	margin-bottom: 10px;
}

/* 工事中
----------------------------------------------------------------------*/
.construction {
	width: 100%;
	height: 400px;
	background: url(../images/common/img_construction.gif) center center no-repeat;
}