@charset "UTF-8";
@import url(../font/NotoSerifCJKjp/load.css);

/*
e9580a
*/

body {
	min-width: 1200px;
	color: #333;
	font-size: 15px;
	line-height: 1.6;
	font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: "NotoSerifCJKjp", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", serif;
	background: url(../images/common/body_bg.jpg);
}

@media screen and (max-width: 768px) {
	body {
		min-width: 0;
	}
}

/* ==================================================
汎用クラス
================================================== */
/* 整列
-------------------------------------------------- */
.align-right {
	text-align: right;
}

.align-left {
	text-align: left;
}

.align-center {
	text-align: center;
}

/* フォント
-------------------------------------------------- */
.weight-bold {
	font-weight: bold;
}

/* クリア
-------------------------------------------------- */
.clear {
	clear: both;
}

.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

/* 改行
-------------------------------------------------- */
.app-br {
	display: block;
}

@media screen and (max-width: 768px) {
	.app-br {
		display: none;
	}
}


/* ==================================================
タグ
================================================== */
/* img
-------------------------------------------------- */
img {
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
}

/* a
-------------------------------------------------- */
a {
	color: #e9580a;
	text-decoration: none;
	transition: All 0.4s ease;
}

a:hover {
	color: #e9580a;
	text-decoration: underline;
}

a img {
	transition: All 0.4s ease;
}

a:hover > img:only-child {
	opacity: .8;
}

@media screen and (min-width: 768px) {
	a[href^="tel:"] {
		color: inherit;
		text-decoration: none;
		pointer-events: none;
	}
}


/* ==================================================
テーブル
================================================== */
/* スタイル1
-------------------------------------------------- */
.styled-table01 {
	width: 100%;
	margin: 1em 0;
	line-height: 1.7;
	border: 1px solid #6f5845;
}

.styled-table01:first-child {
	margin-top: 0;
}

.styled-table01 th,
.styled-table01 td {
	padding: 11px 12px;
	vertical-align: middle;
	border-bottom: 1px solid #442918;
	background: #fff;
}

.styled-table01 th {
	width: 35%;
	color: #fff;
	font-weight: normal;
	border-bottom: 1px solid #fff;
	background: #442918;
}

.styled-table01 tr:last-child th,
.styled-table01 tr:last-child td {
	border-bottom: none;
}

.styled-table01 thead th {
	background: #e6e6e6;
}

.styled-table01 caption {
	text-align: center;
	font-size: 20px;
}

/* その他オプション
-------------------------------------------------- */
/* セルの横幅を均等にする
------------------------- */
.cell-width-fix {
	table-layout: fixed;
}

.cell-width-fix th,
.cell-width-fix td {
	width: auto;
}

/* セルの横幅を指定しない
------------------------- */
.cell-width-fazzy th,
.cell-width-fazzy td {
	width: auto;
}

/* 縦向き
------------------------- */
.direction-vertical,
.direction-vertical thead,
.direction-vertical tbody,
.direction-vertical tfoot,
.direction-vertical tr,
.direction-vertical th,
.direction-vertical td {
	width: auto;
	display: block;
}

/* 大きいサイズのテーブルはスマホではスクロールさせる
------------------------- */
@media screen and (max-width: 768px) {
	.scroll-table-wrap {
		margin: 1em 0;
		overflow-x: scroll;
	}

	.scroll-table-wrap table {
		width: 700px;
		margin: 0;
	}
}


/* ==================================================
dl
================================================== */
.styled-dl01 {
	margin: 0 0 20px;
	padding: 15px;
	border-radius: 3px;
	background: #f4f4f4;
}

.styled-dl01:last-child {
	margin-bottom: 0;
}

.styled-dl01 dt {
	margin: 0 0 10px;
	font-size: 20px;
}


/* ==================================================
パンくずリスト
================================================== */
.breadcrumbs-list {
	max-width: 1200px;
	margin: 8px auto;
	line-height: 25px;
	font-size: 14px;
	white-space: nowrap;
	text-overflow: ellipsis;
	display: flex;
	justify-content: flex-start;
	overflow: hidden;
}

.breadcrumbs-list li:not(:last-child) {
	background: url(../images/common/icon_arrow03.png) right center no-repeat;
	margin: 0 7px 0 0;
	padding: 0 10px 0 0;
}

@media screen and (max-width: 768px) {
	.breadcrumbs-list {
		margin: 8px;
	}
}


/* ==================================================
ページネーション
================================================== */
.pagenation {
	margin: 0 0 20px;
	display: flex;
	justify-content: center;
}

.pagenation li {
	width: 26px;
	margin: 0 2px;
	line-height: 30px;
	text-align: center;
	background: #aaa;
}

.pagenation li > * {
	color: #fff;
	font-size: 13px;
	text-decoration: none;
	display: block;
}

.pagenation li:hover,
.pagenation li.current {
	background: #e9580a;
}


/* ==================================================
ヘッダー
================================================== */
/* レイアウト
-------------------------------------------------- */
.l-header {
	color: #fff;
	background: url(../images/common/bg_paper_brown.jpg) center top;
}

.l-header-inner {
	max-width: 1200px;
	height: 80px;
	margin: 0 auto;
	padding: 11px 0 16px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.l-header-description-area {
	width: 100%;
	margin: 0 0 6px;
}

.l-header-logo-area {
	margin: 0 93px 0 0;
}

.l-header-nav-area {
}

.l-header-contact-area {
	margin: 0 0 0 auto;
}

.l-header-visual-area {
	width: 100%;
	border-top: 2px solid #e9580a;
}

@media screen and (max-width: 768px) {
	.l-header-inner {
		height: auto;
		padding: 0;
		display: block;
	}

	.l-header-description-area,
	.l-header-nav-area,
	.l-header-contact-area {
		display: none;
	}

	.l-header-logo-area {
		margin: 0;
		padding: 16px;
	}
}

/* ページ説明文
-------------------------------------------------- */
.header-description {
	font-size: 11px;
}

/* ロゴ
-------------------------------------------------- */
.header-logo {
	text-align: center;
}

/* ナビ
-------------------------------------------------- */
.header-nav ul {
	display: flex;
}

.header-nav li {
	margin: 0 29px 0 0;
}

.header-nav a {
	padding: 4px;
	color: #fff;
	font-size: 14px;
	display: block;
	position: relative;
}

.header-nav a:hover {
	text-decoration: none;
}

.header-nav a:hover:after {
	content: '';
	width: 100%;
	border-top: 1px solid #e9580a;
	display: block;
	position: absolute;
	left: 0;
	bottom: 2px;
}

/* 問い合わせ
-------------------------------------------------- */
.header-contact {
	height: 25px;
	display: flex;
	align-items: center;
}

.header-contact li {
	margin: 0 0 0 16px;
}

/* 電話番号 */
.header-contact .tel {
	font-size: 16px;
	font-weight: 300;
	letter-spacing: .2em;
}

.header-contact .tel .num {
	font-size: 19px;
	font-weight: normal;
}

/* メール */
.header-contact .mail a {
	width: 160px;
	color: #fff;
	font-size: 14px;
	background: url(../images/common/icon_arrow04_white.png) right 23px center no-repeat #e9580a;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* メインビジュアル
-------------------------------------------------- */
.header-main-visual {
	position: relative;
}

/* キャッチコピー */
.header-main-visual .visual-catch {
	width: calc(100% - 16px);
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 200;
	transform: translateX(-50%) translateY(-50%);
}

/* 背景写真 */
.header-main-visual .visual-images-wrap {
	position: relative;
	z-index: 100;
}

.header-main-visual .visual-image {
	height: calc(100vh - 80px);
	background: center / cover;
}

@media screen and (max-width: 768px) {
	.header-main-visual .visual-image {
		height: 70vw;
	}
}

/* サブビジュアル
-------------------------------------------------- */
.header-sub-visual {
	height: 450px;
	text-align: center;
	background: url(../images/common/visual_bg.jpg) center / cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header-sub-visual .visual-catch {
	padding: 0 0 8px;
	color: #fff;
	font-size: 50px;
	font-weight: normal;
	text-shadow: 0 0 5px rgba(0,0,0,.3);
	background: url(../images/common/visual_catch_slash.png) center bottom no-repeat;
}

@media screen and (max-width: 768px) {
	.header-sub-visual {
		height: 40vw;
	}

	.header-sub-visual .visual-catch {
		font-size: 30px;
	}
}


/* ==================================================
フッター
================================================== */
.l-page-footer {
	color: #fff;
	text-align: center;
	background: url(../images/common/bg_paper_brown.jpg) center top;
}

.l-footer-inner {
	padding: 47px 0 48px;
}

.l-footer-logo-area {
	margin: 0 0 10px;
}

.l-footer-about-area {
	margin: 0 0 22px;
}

.l-footer-nav-area {
}

.l-footer-copyright-area {
}

@media screen and (max-width: 768px) {
	.l-footer-inner {
		padding: 24px 8px;
	}

	.l-footer-logo-area,
	.l-footer-about-area,
	.l-footer-nav-area {
		margin: 0 0 16px;
	}
}

/* 店舗概要
-------------------------------------------------- */
.footer-about .about-tel {
	font-size: 16px;
	font-weight: 300;
	letter-spacing: .1em;
}

.footer-about .about-tel a {
	color: inherit;
}

.footer-about .about-tel .num {
	font-size: 19px;
}

/* ナビ
-------------------------------------------------- */
.footer-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	position: relative;
}

.footer-nav li {
	padding: 0 17px;
	position: relative;
}

.footer-nav a {
	color: #fff;
}

/* セパレーター */
.footer-nav li:after,
.footer-nav li:first-child:before {
	content: '';
	height: 14px;
	border-right: 1px solid #fff;
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.footer-nav li:first-child:before {
	right: auto;
	left: 0;
}

@media screen and (max-width: 768px) {
	.footer-nav ul {
		justify-content: space-between;
	}

	.footer-nav li {
		width: calc((100% - 8px) / 2);
		padding: 0;
	}

	.footer-nav a {
		height: 45px;
		padding: 0 0 0 15px;
		line-height: 1.1;
		border-bottom: 1px dotted #fff;
		background: url(../images/common/icon_arrow04_white.png) left center no-repeat;
		display: flex;
		align-items: center;
	}

	.footer-nav li:nth-child(n):before,
	.footer-nav li:nth-child(n):after {
		display: none;
	}
}

/* コピーライト
-------------------------------------------------- */
.footer-copyright {
	padding: 9px;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	font-size: 11px;
	letter-spacing: .1em;
	background: #e9580a;
	display: block;
}

.footer-copyright a {
	color: inherit;
}

/* ==================================================
サイドバー
================================================== */
/* メニュー
-------------------------------------------------- */
.side-toggle-btn {
	position: fixed;
	top: 30px;
	right: 0;
	pointer-events: none;
	opacity: 0;
	transition: All 0.4s ease;
}

.side-toggle-btn.view {
	pointer-events: auto;
	opacity: 1;
}

@media screen and (min-width: 768px) {
	.side-toggle-btn {
		display: none;
	}
}

/* ==================================================
コンテンツ
================================================== */
.page-body {
}

.page-body-main {
}

/* セクションエリア
-------------------------------------------------- */
.section-area .area-inner {
	width: 1200px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	div.section-area {
		padding: 4px;
	}

	div.section-area div.area-inner {
		width: auto;
		padding: 4px;
	}
}

/* セクション
-------------------------------------------------- */
.section {
	margin: 0 0 80px;
}

.section-content:after {
	content: " ";
	display: block;
	clear: both;
}

.section-footer {
	padding: 24px 0 0;
	clear: both;
}

/* カラムセクション
-------------------------------------------------- */
.column-section {
	justify-content: space-between;
	display: flex;
}

.column-section .texts-column {
	width: 780px;
}

.column-section .thumb-column {
	width: 360px;
}

.column-section.thumb-right .texts-column,
.column-section.thumb-left .thumb-column {
	order: 1;
}

.column-section.thumb-left .texts-column,
.column-section.thumb-right .thumb-column {
	order: 2;
}

@media screen and (max-width: 768px) {
	.column-section {
		display: block;
	}

	.column-section .texts-column {
		width: auto;
		margin: 0 0 16px;
	}

	.column-section .thumb-column {
		width: auto;
		text-align: center;
	}
}

/* 見出し
------------------------- */
/* 01 */
.styled-title01 {
	margin: 0 0 28px;
	padding: 0 0 16px;
	line-height: 1.3;
	text-align: center;
	font-size: 26px;
	background: url(../images/common/title_slash.png) center bottom no-repeat;
}

/* 02 */
.styled-title02 {
	margin: 0 0 30px;
	line-height: 1.3;
	text-align: center;
	color: #543722;
	font-size: 35px;
	font-weight: normal;
	letter-spacing: .1em;
	display: flex;
	justify-content: center;
	align-items: center;
}

.styled-title02:before,
.styled-title02:after {
	content: '';
	width: 20px;
	border-top: 3px solid #e9580a;
	display: block;
}

.styled-title02:before {
	margin-right: 15px;
}

.styled-title02:after {
	margin-left: 15px;
}

@media screen and (max-width: 768px) {
	.styled-title02 {
		font-size: 22px;
	}
}

/* 03 */
.styled-title03 {
	margin: 0 0 16px;
	font-size: 18px;
	display: flex;
}

.styled-title03 span {
	display: inline-block;
	vertical-align: top;
}

.styled-title03 .icon {
	width: 1em;
	color: #e9580a;
}

.styled-title03 .text:first-letter {
	width: calc(100% - 1em);
	color: #e9580a;
}

/* 04 */
.styled-title04 {
	margin: 0 0 .5em;
	line-height: 1.3;
	color: #e9580a;
	font-size: 25px;
}

@media screen and (max-width: 768px) {
	.styled-title04 {
		font-size: 20px;
	}
}

/* 記事アイキャッチ
------------------------- */
.section-eyecatch-right {
	max-width: 40%;
	margin: 0 0 16px 16px;
	float: right;
}

.section-eyecatch-left {
	max-width: 40%;
	margin: 0 16px 16px 0;
	float: left;
}

.section-eyecatch-center {
	margin: 0 auto 16px;
	display: block;
}

/* 記事情報
------------------------- */
.post-info-wrap {
	margin: 0 0 16px;
	overflow: hidden;
}

.post-info-wrap .post-info-item {
	margin: 0 15px 0 0;
	padding: 0 0 0 20px;
	background: left top 4px no-repeat;
	float: left;
}

.post-info-wrap .post-info-item-date {
	background-image: url(../images/common/icon_calendar.png);
}

.post-info-wrap .post-info-item-tag {
	background-image: url(../images/common/icon_tag.png);
}

/* タグリスト */
.post-tag-list {
	overflow: hidden;
}

.post-tag-list li {
	margin: 0 5px 0 0;
	float: left;
}

.post-tag-list li:not(:last-child):after {
	content: ',';
}

/* SNSシェアボタン
------------------------- */
.share-btn-list {
	margin: 0 0 16px;
	text-align: right;
	font-size: 0;
	letter-spacing: 0;
	overflow: hidden;
}

.share-btn-list li {
	margin: 0 0 0 8px;
	vertical-align: top;
	display: inline-block;
}

/* 詳細ページ用　前後の記事
------------------------- */
.prev-next-post {
	display: flex;
	justify-content: space-between;
}

.prev-next-post div {
	width: calc(50% - 4px);
}

.prev-next-post a {
	padding: 0 20px;
	line-height: 96px;
	border: 1px solid #e6e6e6;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
	overflow: hidden;
}

.prev-next-post .prev-post a {
	padding-left: 47px;
	background: url(../images/common/icon_arrow02.png) left 20px center no-repeat;
}

.prev-next-post .next-post a {
	padding-right: 47px;
	background: url(../images/common/icon_arrow01.png) right 20px center no-repeat;
}

.prev-next-post a:hover {
	text-decoration: none;
	background-color: #fafafa;
}

/* その他
-------------------------------------------------- */
/* 投稿日 */
.post-date {
	margin: 0 0 15px;
	padding: 1px 0 0 12px;
	font-size: 13px;
	background: url(../images/common/icon_arrow03.png) left center no-repeat;
	display: block;
}

/* テキストボタン */
.text-btn {
	height: 25px;
	padding: 0 16px;
	line-height: 1.2;
	color: #fff;
	font-size: 14px;
	text-align: center;
	border: 1px solid #e9580a;
	background: url(../images/common/icon_arrow04_white.png) right 8px center no-repeat #e9580a;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
}

.text-btn:hover {
	color: #e9580a;
	text-decoration: none;
	background: url(../images/common/icon_arrow04_orange.png) right 8px center no-repeat #fff;
}


/* ==================================================
サイトマップ
================================================== */
.sitemap-list li {
	padding: 0 0 0 20px;
	line-height: 45px;
	border-bottom: 1px solid #aaa;
	background: url(../images/common/icon_arrow01.png) left 5px center no-repeat;
}

.sitemap-list a {
	color: inherit;
}


/* ==================================================
メニュー
================================================== */
/* アンカーリンク
-------------------------------------------------- */
.menu-anchor-links-wrap {
	margin: 0 0 70px;
	padding: 80px 0;
	background: url(../images/menu/anchor_links_bg.jpg) center / cover;
}

.menu-anchor-links-wrap .menu-anchor-links {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.menu-anchor-links-wrap .menu-anchor-links li {
	width: 310px;
	margin: 0 35px 0 0;
}

.menu-anchor-links-wrap .menu-anchor-links li:last-child,
.menu-anchor-links-wrap .menu-anchor-links li:nth-child(3n) {
	margin-right: 0;
}

.menu-anchor-links-wrap .menu-anchor-links a {
	height: 150px;
	line-height: 1.3;
	color: #fff;
	font-size: 24px;
	background: url(../images/menu/anchor_link_btn_bg.jpg) center / cover;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.menu-anchor-links-wrap {
		margin: 0 0 24px;
		padding: 16px 8px;
	}

	.menu-anchor-links-wrap .menu-anchor-links li {
		width: 100%;
		margin: 0 0 8px;
	}

	.menu-anchor-links-wrap .menu-anchor-links a {
		height: 45px;
		font-size: 20px;
	}
}

/* セクション
-------------------------------------------------- */
.menu-section .menu-lead-content {
	margin: 0 0 50px;
	display: flex;
	justify-content: space-between;
}

.menu-section .menu-lead-content .thumb-column {
	width: 360px;
	order: 2;
}

.menu-section .menu-lead-content .texts-column {
	width: 790px;
	order: 1;
}

.menu-section .menu-lead-content .sub-title {
	margin: 0 0 .2em;
	line-height: 1.3;
	color: #e9580a;
	font-size: 25px;
}

@media screen and (max-width: 768px) {
	.menu-section .menu-lead-content {
		margin: 0 0 16px;
		display: block;
	}

	.menu-section .menu-lead-content .thumb-column {
		width: auto;
		margin: 0 0 8px;
		text-align: center;
	}

	.menu-section .menu-lead-content .texts-column {
		width: auto;
	}
}

/* 記事
-------------------------------------------------- */
.menu-posts-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.menu-posts-wrap .post {
	width: 570px;
	margin: 0 0 30px;
	padding: 50px;
	background: rgba(255,255,255,.5);
	box-sizing: border-box;
}

@media screen and (max-width: 768px) {
	.menu-posts-wrap {
		display: block;
	}

	.menu-posts-wrap .post {
		width: auto;
		padding: 8px;
	}
}

/* テーブル
------------------------- */
.post-menu-list {
	width: 100%;
	border-top: 1px solid #543722;
}

.post-menu-list th,
.post-menu-list td {
	padding: 10px 8px;
	color: #543722;
	font-weight: 300;
	border-bottom: 1px solid #543722;
}

.post-menu-list th {
	text-align: left;
}

.post-menu-list td {
	width: 200px;
	text-align: right;
}

@media screen and (max-width: 768px) {
	.post-menu-list,
	.post-menu-list tbody,
	.post-menu-list tr,
	.post-menu-list th,
	.post-menu-list td {
		width: auto;
		display: block;
	}

	.post-menu-list th {
		padding-bottom: 0;
		border-bottom: none;
	}
}


/* ==================================================
店舗・メディア情報
================================================== */
/* リード
-------------------------------------------------- */
.about-lead-section .section-content {
	line-height: 2;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.about-lead-section .section-content {
		line-height: inherit;
		text-align: left;
	}
}

/* メディア情報
-------------------------------------------------- */
.about-medhia-area {
	padding: 65px 0;
}

/* 店舗概要
-------------------------------------------------- */
.about-about-section .area-inner {
	max-width: 1000px;
}

/* テーブル
------------------------- */
.about-table {
	margin: 0 0 35px;
}

.about-table th {
	width: 240px;
}

/* 写真
------------------------- */
.about-gallery-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.about-gallery-list li {
	width: 310px;
}

@media screen and (max-width: 768px) {
	.about-gallery-list li {
		width: calc((100% - 8px) / 2);
		margin: 0 0 8px;
	}
}

/* アクセスマップ
-------------------------------------------------- */
.about-map-area .area-inner {
	max-width: 1000px;
}

.about-map-wrap {
	border: 2px solid #fff;
}

.about-map-wrap iframe {
	display: block;
}

/* ==================================================
お知らせ
================================================== */
.news-more-btn {
	overflow: hidden;
	display: block;
}
.news-more-btn a {
	width: 150px;
	float: right;
}