@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.pc { 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: 20px auto;
}
.navigation { 
	font-size: 12px;
	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{ 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 { width: 100%; }


.bg_img {
	position: relative;
	font-family: "Noto Sans Japanese", serif;
	color: #FFF;
	height: 280px;
	padding: 0 3%;
	text-align: center;
}
@media only screen and (max-width: 480px) {
	.bg_img { height: 210px; }
}
.bg_img i {
	display: inline-block;
	font-size: 40px;
	margin-bottom: 20px;
	padding-top: 80px;
}
@media only screen and (max-width: 480px) {
	.bg_img i {
		padding-top: 35px;
		margin-bottom: 15px;
	}
}
.bg_img h3 { 
	font-size: 16px;
	margin-bottom: 15px;
}
.bg_img h4 { 
	font-size: 16px;
	margin-bottom: 15px;
}
.bg_img p { font-size: 14px; }
.bg_img span {
	display: block;
	font-size: 12px;
}


/* タイトル
----------------------------------------------------------------------*/
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-family: 'Montserrat', sans-serif; 
	letter-spacing: 0.2em;
	padding: 20px 0;
	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 {
	background-color: #FFF;
	border-color: #CF000D;
	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 { 
	width: 96%;
	margin: 0 auto;
	padding-top: 10px; 
}
ul.search_btn li { 
	float: right;
	width: 48%;
	text-align: center;
}
ul.search_btn li:first-child { float: left; }
ul.search_btn li i { margin-right: 5px; }
ul.search_btn li a {
	display: block;
	color: #CF000D;
	border: 1px solid #CF000D;
	padding: 10px 0;
	text-decoration: none;
}
ul.search_btn li a:hover {
	color: #FFF;
	background: #CF000D;
}

/*  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: 100%;
	background: #CF000D;
	border: 2px solid #CF000D;
	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; }

/* シェアボタン */
.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;
}

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

/* 店舗一覧
----------------------------------------------------------------------*/
.store_list { width: 100%; }
.store_list ul { margin-bottom: 30px; }
.store_list ul li {
	position: relative;
	width: 88%;
	padding: 2% 8% 2% 4%;
	border-top: 1px solid #EBEBEB;
}
.store_list ul li:last-child { border-bottom: 1px solid #EBEBEB; }

.store_list ul li h4 {
	font-size: 16px;
	margin-bottom: 8px;
}
.store_list ul li h4 i.icon-noren{ margin-left: 20px; }
.store_list ul li h5 {
	font-size: 12px;
	margin-bottom: 8px;
}
.store_list ul li a span { display: none; }
.store_list ul li a.more {
	position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
.store_list ul li:after {
	position: absolute;
	top: 50%;
	right: 3%;
	display: block;
	content: "\e600";
	color: #CCC;
	font-family: "icomoon";
	font-size: 25px;
	margin-top: -15px;
}

.store_list ul li.empty { padding: 4% 8% 4% 4%; }
.store_list ul li.empty:after { display: none; }

.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 {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(223,21,0,0.8);
	opacity: 0;
	visibility: hidden;
	-webkit-transition: opacity 0.5s, visibility 0s 0.5s;
	transition: opacity 0.5s, visibility 0s 0.5s;
	z-index: 9999;
}
.overlay .btn_close {
	position: absolute;
	right: 20px;
	top: 20px;
	font-size: 25px;
	color: #FFF;
	cursor: pointer;
	z-index: 9999;
}
.overlay .container {
	position: relative;
	top: 50%;
	height: 80%;
	font-size: 14px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-perspective: 1200px;
	perspective: 1200px;
}
.overlay ul.spMenu  {
	position: relative;
	width: 96%;
	height: 100%;
	margin: 0 auto;
	opacity: 0.4;
	-webkit-transform: translateY(-25%) rotateX(35deg);
	transform: translateY(-25%) rotateX(35deg);
	-webkit-transition: -webkit-transform 0.5s, opacity 0.5s;
	transition: transform 0.5s, opacity 0.5s;
}
.overlay ul.spMenu  li {
	display: table;
	width: 90%;
	height: 11.11111%;
	height: calc(100% / 9);
	border-top: 1px solid rgba(255,255,255,0.6);
	padding: 0 5%;
}
.overlay ul.spMenu li a {
	display: table-cell;
	color: #FFF;
	text-align: left;
	vertical-align: middle;
	-webkit-transition: color 0.2s;
	transition: color 0.2s;
	text-decoration: none;
}

.overlay ul.spMenu li.stairs { border-top: 1px solid rgba(255,255,255,0.3); }
.overlay ul.spMenu li.stairs a { width: auto; }
.overlay ul.spMenu li.stairs a:before {
	font-family: "icomoon";
	content: "\e600";
	font-size: 10px;
	padding-right: 5px;
}

.overlay ul li.btn_sns {
	padding-top: 10px;
	text-align: center;
}
.overlay ul li.btn_sns a {
	display: inline-block;
	color: #FFF;
	font-size: 30px;
	margin: 0 15px;
	text-decoration: none;
}

.overlay.open {
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
}
.overlay.open ul.spMenu {
	opacity: 1;
	-webkit-transform: rotateX(0deg);
	transform: rotateX(0deg);
}
.overlay.close ul.spMenu  {
	-webkit-transform: translateY(25%) rotateX(-35deg);
	transform: translateY(25%) rotateX(-35deg);
}

.overlay.global .container {
	position: relative;
	height: 100%;
	overflow: auto;
	padding: 35px 0 20px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.overlay.global ul.spMenu li {
	display: table;
	height: 7.69230769%;
	height: calc(100% / 13);
	border-top: none;
	text-align: center;
}
.overlay.global ul.spMenu li a { 
	display: table-cell;
	vertical-align: middle;
	text-align: center;
}

/* セレクトボックス
----------------------------------------------------------------------*/
select {
	-webkit-appearance: button;
	-moz-appearance: none;
	appearance: button;
	font-size: 16px;
	position: relative;
	display: block;
	width: 100%;
	color: #CF000D;
	background: #FFF url(../images/common/triangle.svg) 97% center no-repeat;
	background-size: 14px 7px;
	border: 1px solid #CF000D;
	padding: 10px 3%;
	border-radius: 0;
	cursor: pointer;
}

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

/* 工事中
----------------------------------------------------------------------*/
.construction {
	width: 100%;
	height: 250px;
	background: url(../images/common/img_construction@2x.gif) center center no-repeat;
	background-size: 223px 83px;
}