@charset "utf-8";
/*================================
*
*基本設定
*
================================*/

/*================================
　ここから全サイズ適用
================================*/

/*CSS Variable
================================*/
:root {
	/*茶*/
	--theme-color01: #81511c;
	/*オレンジ*/
	--theme-color02: #ef7a00;
	/*黄*/
	--theme-color03: #f7ff15;
}

/*html基本設定
================================*/
html {
	overflow-y: scroll;
	scroll-behavior: smooth;
	font-size: 10px;
	font-size: 62.5%;
}
body {
	overflow: hidden;
	/*↓文字の基本設定*/
	font-family: "Zen Maru Gothic", serif;
	font-size: 18px;
	font-size: 1.8em;
	font-weight: 400;
	text-align: justify;
	color: #333;
	/* ↓iPhoneの文字サイズ自動調整を無効化 */
	-webkit-text-size-adjust: 100%;
}
h1 ,h2 ,h3 ,h4 ,h5 ,h6 {
	/*↓文字の行の高さ設定*/
	line-height: 1.7;
	/*↓文字の字間を設定*/
	letter-spacing: 0.05em;
}
p, dl, dt, dd, ol, ul, li {
	/*↓文字の行の高さ設定*/
	line-height: 1.7;
	/*↓文字の字間を設定*/
	letter-spacing: 0.05em;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
a {
	text-decoration: none;
}
a:link {
	text-decoration: none;
}
a:visited {
	/*text-decoration: none;*/
}
a:hover {}
a:active {
	/*color: #999;*/
	/*text-decoration: none;*/
}
/*margin-bottom
================================*/
.mb0 {
	margin-bottom:0 !important;
}
.mb10 {
	margin-bottom:1rem !important;
}
.mb20 {
	margin-bottom:2rem !important;
}
.mb30 {
	margin-bottom:3rem !important;
}
.mb40 {
	margin-bottom:4rem !important;
}
.mb50 {
	margin-bottom:5rem !important;
}
.mb60 {
	margin-bottom:6rem !important;
}
.mb70 {
	margin-bottom:7rem !important;
}
.mb80 {
	margin-bottom:8rem !important;
}
.mb90 {
	margin-bottom:9rem !important;
}
.mb100 {
	margin-bottom:10rem !important;
}

/* コンテナ類、幅制御
================================*/
.inner {
	margin: 0 auto;
	max-width: calc(120rem + 14rem);
	padding-left: 7rem;
	padding-right: 7rem;
}

/* ページ内リンク位置調整
================================*/
.anchor-link {
	display: block;
	transform: translateY(-12rem);
}

/* ブロック要素、インライン要素
================================*/
.block,
.blk {
	display: block;
}
.inline,
.inl {
	display: inline;
}
.inline-block,
.inl-blk {
	display: inline-block;
}

/* ブロック要素の揃え方向
================================*/
.block-center,
.b-cen,
.blk-c {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.block-left,
.b-lef,
.blk-l {
	display: block;
	margin-right: auto;
}
.block-right,
.b-rig,
.blk-r {
	display: block;
	margin-left: auto;
}

/* フォント読み込み
================================*/
.ShipporiMincho {
	font-family: "Shippori Mincho", serif;
}

/* 文字、インライン要素の揃え方向
================================*/
.text-center,
.t-cen,
.ta-c {
	text-align: center !important;
}
.text-left,
.t-lef,
.ta-l {
	text-align: left !important;
}
.text-right,
.t-rig,
.ta-r {
	text-align: right !important;
}
.text-justify,
.t-just,
.ta-j {
	text-align: justify!important;
}

/* 文字ウェイト
================================*/
/*Regular（ZEN丸ゴシック、しっぽり明朝）*/
.fw400 {
	font-weight: 400;
	vertical-align: baseline;
}
/*Medium（しっぽり明朝のみ）*/
.fw500 {
	font-weight: 500;
	vertical-align: baseline;
}
/*SemiBold（しっぽり明朝のみ）*/
.fw600 {
	font-weight: 600;
	vertical-align: baseline;
}
/*Bold（ZEN丸ゴシック、しっぽり明朝）*/
.fw700 {
	font-weight: 700;
	vertical-align: baseline;
}

/*文字カラー
================================*/
/*茶*/
.fc-theme01 {
	color: var(--theme-color01)!important;
	vertical-align: baseline;
}
/*オレンジ*/
.fc-theme02 {
	color: var(--theme-color02)!important;
	vertical-align: baseline;
}
/*黄*/
.fc-theme03 {
	color: var(--theme-color03)!important;
	vertical-align: baseline;
}
.fc-fff {
	color: #fff!important;
	vertical-align: baseline;
}
.fc-333 {
	color: #333!important;
	vertical-align: baseline;
}
.fc-b67d26 {
	color: #b67d26!important;
	vertical-align: baseline;
}
.fc-9e5413 {
	color: #9e5413!important;
	vertical-align: baseline;
}
.fc-75bc32 {
	color: #75bc32!important;
	vertical-align: baseline;
}
.fc-329bda {
	color: #329bda!important;
	vertical-align: baseline;
}
.fc-ec72a0 {
	color: #ec72a0!important;
	vertical-align: baseline;
}

/* 注釈、脚注
================================*/
.kome {
	padding-left: 1em;
	text-indent: -1em;
}
.footnote {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 0.5em;
	text-align: left;
}
.footnote_head {
	min-width: 1.5em;
}
.footnote_text {}


/*================================
ノートPC 1366px～0px
================================*/
@media (max-width: 1366px) {}


/*================================
TABLET横 1080px～0px
================================*/
@media (max-width: 1080px) {

	/* font size設定 */
	/*--------------------------
	ベースとなるhtmlのfont sizeを10pxから8pxに変更することで、
	10px = 1remだったのが8px = 1remとなり、サイト全体の文字をサイズダウンする。
	ベースのfont sizeを変更したことで、bodyに設定した基本のfont sizeが
	1.8em = 18pxだったのが1.8em = 14.4pxになってしまうので、
	bodyのfont sizeを2em（16px相当）に変更する
	--------------------------
	※chrome対策のため、body要素のみemを使用、他の要素ではremを使用すること
	--------------------------
	※文字サイズ一覧※
	12.8px = 1.6rem
	14px = 1.75rem
	16px = 2rem
	18px = 2.25rem
	20px = 2.5rem
	24px = 3rem
	26px = 3.25rem
	28px = 3.5rem
	32px = 4rem
	--------------------------*/


	/*html基本設定
	================================*/
	html {
		font-size: 8px;
		font-size: 50%;
	}
	body {
		/*16px = 2em*/
		font-size: 2em;
	}

}


/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {

	/*margin-bottom
	================================*/
	.mb0-tab {
		margin-bottom: 0 !important;
	}
	.mb10-tab {
		margin-bottom: 1rem !important;
	}
	.mb20-tab {
		margin-bottom: 2rem !important;
	}
	.mb30-tab {
		margin-bottom: 3rem !important;
	}
	.mb40-tab {
		margin-bottom: 4rem !important;
	}
	.mb50-tab {
		margin-bottom: 5rem !important;
	}
	.mb60-tab {
		margin-bottom: 6rem !important;
	}
	.mb70-tab {
		margin-bottom: 7rem !important;
	}
	.mb80-tab {
		margin-bottom: 8rem !important;
	}
	.mb90-tab {
		margin-bottom: 9rem !important;
	}
	.mb100-tab {
		margin-bottom: 10rem !important;
	}

	/* コンテナ類、幅制御
	================================*/
	.inner {
		padding-left: 40px;
		padding-right: 40px;
	}

	/* 文字、インライン要素の揃え方向
	================================*/
	.text-center-tab,
	.t-cen-tab,
	.ta-c-tab {
		text-align: center !important;
	}
	.text-left-tab,
	.t-lef-tab,
	.ta-l-tab {
		text-align: left !important;
	}
	.text-right-tab,
	.t-rig-tab,
	.ta-r-tab {
		text-align: right !important;
	}
	.text-justify-tab,
	.t-just-tab,
	.ta-j-tab {
		text-align: justify!important;
	}

	/* ページ内リンク位置調整
	================================*/
	.anchor-link {}

}



/*================================
SP表示 667px～0px
================================*/
@media (max-width: 667px) {

	/*margin-bottom
	================================*/
	.mb0-sp {
		margin-bottom: 0 !important;
	}
	.mb10-sp {
		margin-bottom: 1rem !important;
	}
	.mb20-sp {
		margin-bottom: 2rem !important;
	}
	.mb30-sp {
		margin-bottom: 3rem !important;
	}
	.mb40-sp {
		margin-bottom: 4rem !important;
	}
	.mb50-sp {
		margin-bottom: 5rem !important;
	}
	.mb60-sp {
		margin-bottom: 6rem !important;
	}
	.mb70-sp {
		margin-bottom: 7rem !important;
	}
	.mb80-sp {
		margin-bottom: 8rem !important;
	}
	.mb90-sp {
		margin-bottom: 9rem !important;
	}
	.mb100-sp {
		margin-bottom: 10rem !important;
	}

	/* コンテナ類、幅制御
	================================*/
	.inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	/* 文字、インライン要素の揃え方向
	================================*/
	.text-center-sp,
	.t-cen-sp,
	.ta-c-sp {
		text-align: center !important;
	}
	.text-left-sp,
	.t-lef-sp,
	.ta-l-sp {
		text-align: left !important;
	}
	.text-right-sp,
	.t-rig-sp,
	.ta-r-sp {
		text-align: right !important;
	}
	.text-justify-sp,
	.t-just-sp,
	.ta-j-sp {
		text-align: justify!important;
	}


}




/*================================
*
*共通パーツ（ヘッダー、フッターなど）
*
================================*/

/*================================
ここから全サイズ適用
================================*/

/*バナー
================================*/
.bnr_group {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 2rem 4rem;
}
.bnr_item {}
.bnr_link {
	display: block;
	width: fit-content;
	margin-inline: auto;
	transition: 0.3s;
}
.bnr_item a:hover {
	filter: brightness(110%);
}

/* リンクボタン
================================*/
/*link_btn01*/
/*-----------------------------*/
.link_btn01 {
	position: relative;
	z-index: 1;
	top: 0;
	transition: top 0.4s;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	width: 100%;
	/*max-width: 64rem;*/
	max-width: 480px;
	margin-inline: auto;
	padding: 0.48em 1em;
	background: #f18d32;
	border-radius: 4rem;
	/*font-size: 2.4rem;*/
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
	color: #fff;
}
.link_btn01.-color01 {
	background: #58cebc;
}
.link_btn01.-color02 {
	background: #b1d355;
}
.link_btn01 .small {
	font-size: 1.6rem;
}
/*hover*/
.link_btn01:hover {
	top: -4px;
}
/*nolink*/
.link_btn01.-nolink {}
/*link_btn02*/
/*-----------------------------*/
.link_btn02 {
	position: relative;
	z-index: 1;
	top: 0;
	transition: top 0.4s;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	width: 100%;
	/*max-width: 64rem;*/
	max-width: 480px;
	margin-inline: auto;
	padding: 0.48em 1em;
	background: #fff;
	border-radius: 4rem;
	/*font-size: 2.4rem;*/
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.7;
	text-align: center;
	color: #f18d32;
}
.link_btn02 .small {
	font-size: 1.6rem;
}
/*hover*/
.link_btn02:hover {
	top: -4px;
}
/*nolink*/
.link_btn02.-nolink {}

/*================================
ヘッダー
================================*/
.seo-message_wrapper {
	position: absolute;
	z-index: 10;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: calc(120rem + 14rem);
	padding-top: 1rem;
	padding-left: 7rem;
	padding-right: 7rem;
}
.seo-message {
	overflow: hidden;
	font-size: 1.4rem;
	text-align: left;
	/*line-height: 1.4;*/
	line-height: 0;
}

/*================================
メインコンテンツ
================================*/
.main {}

/*================================
フッター
================================*/
.footer {
	background: #554738;
}
.footer .inner {
	padding-top: 5rem;
	padding-bottom: 1rem;
}

/*リンクメニュー
------------------------*/
.footer_menu_group {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-flow: row wrap;
	gap: 0 4rem;
}
.footer_menu_item {
	width: 34rem;
}
.footer_menu {}
.footer_menu a {
	color: #fff;
}

/*ロゴ
------------------------*/
.ft_logo {
	margin-bottom: 1rem;
}
.ft_logo_link {
	display: block;
	width: fit-content;
	margin-left: auto;
}
.ft_logo_img {}

/* コピーライト表記
------------------------*/
.copyright {
	font-size: 1.4rem;
	line-height: 1.4;
	text-align: right;
	color: #fff;
}

/* WEB予約はこちら
------------------------*/
.bottom_web {
	transition: .4s;
	position: fixed;
	z-index: 6;
	right: 3rem;
	bottom: 12rem;
	width: 11rem;
	height: 11rem;
	border: none;
	background: url(../img/bottom_web.png?02)center/contain no-repeat;
	cursor: pointer;
}
.bottom_web:hover {
	filter: brightness(110%);
}

/* ページTOPへ戻る
------------------------*/
.pagetop {
	opacity: 0;
	transition: .4s;
	position: fixed;
	z-index: 6;
	right: 3rem;
	bottom: 3rem;
	width: 8rem;
	height: 8rem;
	border: none;
	background: url(../img/pagetop.png)center/contain no-repeat;
	cursor: pointer;
}
.pagetop:hover {
	filter: brightness(110%);
}



/*================================
ノートPC 1366px～0px
================================*/
@media (max-width: 1366px) {}


/*================================
TABLET横 1080px～0px
================================*/
@media (max-width: 1080px) {}


/*================================
TABLET縦 834px～0px
================================*/
@media (max-width: 834px) {

	/* 画面下固定タブ
	================================*/
	.bottom_fix {
		display: flex;
		position: fixed;
		z-index: 8;
		left: 0;
		bottom: 0;
		width: 100%;
		box-shadow: 0 0 10px rgba(0,0,0,0.2);
		/*anime*/
		/*animation: fadeInUp 1.6s 2s ease both;*/
	}
	.bottom_tab {
		display: flex;
		justify-content: center;
		align-items: stretch;
		transition: 0.4s;
	}
	.bottom_link {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 5.8rem;
		width: 100%;
		padding: 6px 10px;
	}
	.bottom_text {
		padding-left: 1.6em;
		padding-top: 0.15em;
		background-position: left top 0.2em;
		background-size: 1.25em auto;
		background-repeat: no-repeat;
		min-height: calc(2.4rem*1.4);
		font-size: 2.4rem;
		font-weight: 500;
		line-height: 1.4;
		color: #fff;
	}
	/*tel*/
	/*
	.bottom_tab.-tel {
		width: 50%;
		background: #f19ec2;
	}
	.bottom_tab.-tel .bottom_text {
		background-image: url(../img/bottom_tab_tel.png);
	}
	*/
	/*rsv*/
	.bottom_tab.-rsv {
		width: 100%;
		background: #f18d31;
	}
	.bottom_tab.-rsv .bottom_text {
		background-image: url(../img/bottom_tab_rsv.png);
	}
	/*------------------------------*/



	/*バナー
	================================*/
	.bnr_group {}
	.bnr_item {}
	.bnr_link {}

	/* リンクボタン
	================================*/
	.link_btn01 {}
	.link_btn02 {}

	/*================================
	メインコンテンツ
	================================*/
	.main {}

	/*================================
	フッター
	================================*/
	.footer {}
	.footer .inner {
		padding-bottom: 60px;
	}

	/*リンクメニュー
	------------------------*/
	.footer_menu_group {}
	.footer_menu_item {}
	.footer_menu {}
	.footer_menu a {}

	/*ロゴ
	------------------------*/
	.ft_logo {}
	.ft_logo_link {}
	.ft_logo_img {}

	/* コピーライト表記
	------------------------*/
	.copyright {}

	/* WEB予約はこちら
	------------------------*/
	.bottom_web {}

	/* ページTOPへ戻る
	------------------------*/
	.pagetop {
		bottom: 60px;
	}

	
	
}



/*================================
SP表示 667px～0px
================================*/
@media (max-width: 667px) {

	/* 画面下固定タブ
	================================*/
	.bottom_fix {}
	.bottom_tab {}
	.bottom_link {}
	.bottom_text {
		font-size: 2rem;
	}
	/*------------------------------*/

	/*バナー
	================================*/
	.bnr_group {}
	.bnr_item {}
	.bnr_link {}

	/* リンクボタン
	================================*/
	/*link_btn01*/
	/*-----------------------------*/
	.link_btn01 {
		padding: 6px 10px;
	}
	/*link_btn02*/
	/*-----------------------------*/
	.link_btn02 {
		padding: 6px 10px;
	}

	/*================================
	メインコンテンツ
	================================*/
	.main {}

	/*================================
	フッター
	================================*/
	.footer {}
	.footer .inner {}

	/*リンクメニュー
	------------------------*/
	.footer_menu_group {
		margin-bottom: 40px;
	}
	.footer_menu_item {
		width: 100%;
	}
	.footer_menu {}
	.footer_menu a {}

	/*ロゴ
	------------------------*/
	.ft_logo {}
	.ft_logo_link {
		margin: auto;
	}
	.ft_logo_img {}

	/* コピーライト表記
	------------------------*/
	.copyright {
		text-align: center;
	}

	/* WEB予約はこちら
	------------------------*/
	.bottom_web {
		right: 10px;
		bottom: 80px;
		width: 50px;
		height: 50px;
	}

	/* ページTOPへ戻る
	------------------------*/
	.pagetop {
		right: 10px;
		width: 50px;
		height: 50px;
	}

}
















