@charset "utf-8";
/* ===================================================
	Base CSS
====================================================== */
body {
	min-width: 1200px; min-height: 100vh; background: #fff; color: #222;
	font-size: 15px; font-weight: normal; line-height: 1.5;
	font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	-webkit-text-size-adjust: 100%; position: relative;

	font-feature-settings: "palt"; letter-spacing: 0.05em;
}

/* marcellus-regular - latin */
@font-face {
	font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: 'Marcellus';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/marcellus-v13-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
.font_en { font-family: 'Marcellus';}


input,
select,
textarea { font-size: 13px;}

div { box-sizing: border-box;}

a { color: #555; text-decoration: none;}
a img { transition: opacity .5s;}
a:hover { color: #555; text-decoration: underline;}
a:hover img { opacity: 0.75;}


#lineup-font-size-sampler { bottom: 0; left: 0;}
iframe[name="google_conversion_frame"] { position: absolute; bottom: 0; left: 0;}

.pos_fix { overflow: hidden;}

.ofi { object-fit: cover; width: 100%; height: 100%;}
.view_sp { display: none;}

@media screen and (max-width: 600px) {
	body,
	input,
	select,
	textarea { font-size: 16px;}

	body { min-width: 0;}
	.view_sp { display: block;}
	.view_pc { display: none !important;}


}

@media screen and (hover: hover) {
	a:hover { text-decoration: none;}
}

/* ---------------------------------------------------
	マウスストーカー
------------------------------------------------------ */

/* マウスストーカーのスタイル */
.stalker {
	border : 1px solid rgba(225, 151, 151, .6);
	border-radius: 50%;
	height: 30px;
	left: -15px;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: -15px;
	transition: all .3s ease-out;
	width: 30px;
	z-index: 999;
}
/* リンクにホバーした時のスタイル */
.stalker.js-hover {
	background-color: rgba(225, 151, 151, .6);
	height: 50px;
	left: -25px;
	top: -25px;
	width: 50px;
	border: none;
}
/* テキストにホバーした時のスタイル */
.stalker.js-hover2 {
	background-color: rgba(225, 151, 151, .6);
	left: -25px;
	top: -25px;
	border: none;
}


@media screen and (max-width: 600px) {
	.stalker { display: none;}
}


/* ---------------------------------------------------
	Base Layout
------------------------------------------------------ */
/* コンテンツ幅 */
.inner_lg {
	width: 1400px;
	max-width: 96%;
	margin: 0 auto;
}
.inner_md {
	width: 1300px;
	max-width: 94%;
	margin: 0 auto;
}
.inner_sm {
	width: 1100px;
	max-width: 92%;
	margin: 0 auto;
}

@media screen and (max-width: 600px) {
	.inner_lg,
	.inner_md,
	.inner_sm {
		max-width: 90%;
	}
}

a.link_btn { display: block; width: 230px; position: relative; padding: 17px 0; color: #ad9882; border: 1px solid #ad9882; text-align: center; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku GothicPro","Osaka","Verdana","Helvetica","Arial","ＭＳ Ｐゴシック", sans-serif;}
a.link_btn span.link_arrow {
	position: absolute;
	top: 50%;
	right: 8%;
	display: inline-block;
	vertical-align: middle;
	color: #ad9882;
	line-height: 1;
	width: 10px;
	height: 1px;
	background: currentColor;
	transition: right 0.5s ease-out;
}
a.link_btn span.link_arrow::after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	border: 1px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.05em;
	box-sizing: border-box;
}

a.link_btn2 { display: block; width: 230px; position: relative; padding: 17px 0; color: #fff; background-color: #e19797; text-align: center; font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3","Hiragino Kaku GothicPro","Osaka","Verdana","Helvetica","Arial","ＭＳ Ｐゴシック", sans-serif;}
a.link_btn2 span.link_arrow {
	position: absolute;
	top: 50%;
	right: 8%;
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	line-height: 1;
	width: 10px;
	height: 1px;
	background: currentColor;
	transition: right 0.5s ease-out;
}
a.link_btn2 span.link_arrow::after {
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	border: 1px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	transform: rotate(45deg);
	transform-origin: top right;
	position: absolute;
	top: 50%;
	right: -0.05em;
	box-sizing: border-box;
}


@media (hover: hover) {
	a.link_btn:hover span.link_arrow {
		right: 5%;
	}

	a.link_btn2:hover span.link_arrow {
		right: 5%;
	}
}

#main_tit {
	position: relative;
	width: 100%;
	min-height: 600px;
}
#main_tit h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 9;
	font-size: 30px;
	line-height: 1.5;
	color: #fff;
	text-align: center;
	text-shadow: 0 0 15px rgba(0, 0, 0, 0.8), 0 0 15px rgba(0, 0, 0, 0.8);
	transform: translate(-50%, -50%);
}
#main_tit span {
	display: block;
	font-size: 60px;
	letter-spacing: 7px;
}


@media screen and (max-width: 600px) {
	#main_tit { min-height: 350px;}
	#main_tit span { font-size: 30px;}
	#main_tit h1 { width: 100%; top: 56%; font-size: 15px;}
}


/* ---------------------------------------------------
	Header
------------------------------------------------------ */
@keyframes fade_nav {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

@keyframes fix_nav {
	0% { opacity: 0; transform:translateY(-100%);}
	25% { opacity: 1; }
	100% { transform: translateY(0);}
}
@keyframes close_nav {
	0% { transform: translateY(0);}
	100% { transform: translateY(-100%);}
}

#header_wrap { width: 100%; position: relative; z-index: 100;}
#g_header { width: 100%; min-width: 1200px; position: absolute; top: 0; left: 0; color: #fff; animation: fade_nav ease-in-out .7s;}
/* #g_header::before {
	content: ''; width: 100%; height: 140px; position: absolute; top: 0; left: 0; z-index: -1; pointer-events: none;
	background: -moz-linear-gradient(top, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#00000000',GradientType=0 );
} */

/* .pos_fix #g_header { z-index: inherit;} */

.fixed #g_header { color: #2f2f2f; transform: translateY(0);}
.fixed #g_header { animation: fix_nav 1s both; z-index: 10010;}
.pos_fix .fixed #g_header .hd_inner > * { display: none;}
.pos_fix .fixed #g_header .hd_inner #menu_btn { display: block; position: fixed; right: 0;}
.pos_fix .fixed #g_header .hd_btn { display: block;}
.pos_fix .fixed #g_header .hd_btn .btn_reserve { display: none;}
.pos_fix .fixed #g_header::before { content: none;}
.close_nav #g_header { animation: close_nav .7s both;}

.fixed #g_header .hd_inner { align-items: center; background: #fff;}
.fixed #g_header .logo_b { display: block;}
.fixed #g_header .logo_w { display: none;}
.fixed #g_header .hd_nav >ul li a { color: #222; }
.fixed #g_header .hd_h1 { position: static; padding: 0 0 0 40px;}
#g_header dl.hd_lang dd ul { border-right: 1px solid #fff; border-bottom: 1px solid #fff; border-left: 1px solid #fff;}
.fixed #g_header dl.hd_lang dd ul { border-right: 1px solid #505456; border-bottom: 1px solid #505456; border-left: 1px solid #505456;}

#g_header .hd_inner { display: flex; justify-content: space-between;}
#g_header .hd_h1 { padding: 0 0 0 70px; position: absolute; left: 0; top: 30px;}
#g_header .logo_b { display: none;}
#g_header .hd_nav { display: flex; font-size: 16px; height: 80px; align-items: center; margin: 0 0 0 auto;}
#g_header .hd_nav >ul { display: flex; align-items: center;}
#g_header .hd_nav >ul li { margin: 0 25px 0 0;}
#g_header .hd_nav >ul a { color: #fff;}
.pos_fix #g_header .hd_nav { padding: 0 80px 0 0;}
#g_header #menu_btn a { width: 80px; height: 80px; background: #fff; font-size: 15px; display: flex; flex-direction: column; justify-content: center; align-items: center; transition: opacity .3s; text-decoration: none;}
#g_header #menu_btn a .icon { font-size: 0; height: 15px; margin: 0 0 10px;}
#g_header #menu_btn a .icon span { width: 26px; height: 2px; background: #222; display: block; transition: margin .5s, transform .5s;}
#g_header #menu_btn a .icon span + span { margin-top: 6px;}
#g_header #menu_btn a .txt { position: relative; line-height: 1; font-size: 14px; color: #222;}
#g_header #menu_btn a .txt span { margin-top: 6px; display:block; transition: opacity .5s;}
#g_header #menu_btn a .txt span:nth-of-type(2) { position: absolute; opacity: 0; top: 0; left: 50%; transform: translateX(-50%);}
.active#header_wrap { position: fixed;}

#g_header .hd_btn { display: flex;}
#g_header .btn_reserve { text-align: center;}
#g_header .btn_reserve a { width: 110px; height: 80px; background: #e19797; font-size: 15px; display: flex; flex-direction: column; justify-content: center; align-items: center; transition: all .3s;}
#g_header .btn_reserve span { display: block; font-size: 14px; color: #fff; margin: 4px 0 0;}
.active#g_header .hd_nav { margin-right: 110px; }
.active .btn_reserve a { opacity: 0; pointer-events: none; }
.active .hd_btn { z-index: 1001; position: fixed; top: 0; right: 0;}
.pos_fix #g_header #menu_btn a .icon span:first-of-type { transform: rotate(45deg); margin-top: 7px;}
.pos_fix #g_header #menu_btn a .icon span:last-of-type { transform: rotate(-45deg); margin-top: -1px;}
.pos_fix #g_header #menu_btn a .icon span:nth-of-type(2) { display: none;}
.pos_fix #g_header #menu_btn a .txt span:first-of-type { opacity: 0;}
.pos_fix #g_header #menu_btn a .txt span:nth-of-type(2) { opacity: 1;}


@media screen and (hover: hover) {
	#g_header .btn_reserve a:hover { background-color: #cd7d7d;}
	#g_header #menu_btn a:hover { opacity: .75;}
}

/* lang */
header dl.hd_lang {
	margin-right: 15px;
	width: 140px;
	position: relative;
	z-index: 1;
}
header dl.hd_lang dt {
	border: solid 1px #fff;
	color: #ffffff;
	font-size: 14px;
	letter-spacing: 0.05em;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	width: 100%;
	height: 40px;
	cursor: pointer;
	box-sizing: border-box;
}
header dl.hd_lang dt:before {
	content: "";
	width: 20px;
	height: 20px;
	display: block;
	background: url(../img/common/icon_lang.svg) no-repeat center;
	background-size: contain;
	margin-right: 0.7em;
}
header dl.hd_lang dt:after {
	content: "";
	width: 0.4em;
	height: 0.4em;
	border: solid currentColor;
	border-width: 0 1px 1px 0;
	display: inline-block;
	-webkit-transform-origin: center;
			transform-origin: center;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
	margin-left: 0.4em;
	-webkit-transition: margin 0.5s, -webkit-transform 0.5s;
	transition: margin 0.5s, -webkit-transform 0.5s;
	transition: transform 0.5s, margin 0.5s;
	transition: transform 0.5s, margin 0.5s, -webkit-transform 0.5s;
	margin-top: -0.18em;
}
header dl.hd_lang dt.active:after {
	-webkit-transform: rotate(-135deg);
			transform: rotate(-135deg);
	margin-top: 0.18em;
}
header dl.hd_lang dd {
	position: absolute;
	width: 100%;
	display: none;
	font-size: 14px;
}

body.pos_fix header dl.hd_lang dd { display: none !important;}

header dl.hd_lang dd ul {
	width: 100%;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	border-left: 1px solid #fff;
	box-sizing: border-box;
}
header dl.hd_lang dd ul li {
	width: 100%;
	position: relative;
}
header dl.hd_lang dd ul li a {
	text-decoration: none;
	color: #000;
	font-size: calc(13 / 14 * 1em);
	letter-spacing: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
	-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
	width: 100%;
	height: 30px;
	background: rgba(255, 255, 255, 0.6);
	-webkit-transition: background 0.5s;
	transition: background 0.5s;
}
@media (hover: hover) {
	header dl.hd_lang dd ul li a:hover {
	opacity: 1;
	color: #ffffff;
	background: rgba(205, 125, 125, 0.8);
	}
}
header dl.hd_lang dd ul li + li:before {
	content: "";
	width: 100%;
	height: 1px;
	display: block;
	position: absolute;
	top: -0.5px;
	background-image: linear-gradient(to right, currentColor, currentColor 2px, transparent 2px);
	background-size: 4px 2px;
	background-position: left bottom;
	background-repeat: repeat-x;
}


.fixed header dl.hd_lang dt { border: 1px solid #505456; color: #505456;}
.fixed header dl.hd_lang dt:before { background: url(../img/common/icon_lang_b.svg)no-repeat;}


@media screen and (max-width: 600px) {
	#g_header { min-width: inherit; z-index: 1001;}
	#g_header.active .hd_h1 { display: none;}
	#g_header.active::before { display: none;}
	#g_header .hd_h1 { padding: 0 0 0 4%; top: 10px;}
	#g_header .hd_h1 img { width: 127px;}
	#g_header .hd_btn { position: fixed; right: 0; z-index: 5;}
	#g_header .hd_nav { height: 75px; }

	header dl.hd_lang { margin: 0; right: 185px;}
	.pos_fix header dl.hd_lang { display: none;}

	#g_header #menu_btn a { width: 75px; height: 75px;}
	#g_header .btn_reserve a { width: 100px; height: 75px;}
	#g_header .btn_reserve span,
	#g_header #menu_btn a .txt { font-size: 14px;}
	#g_header .btn_reserve img { width: 16px;}
}

@media screen and (max-width: 500px) {
	header dl.hd_lang { position: absolute; right: 20px; bottom: -75px; width: 130px;}
}



/* ---------------------------------------------------
	G-nav
------------------------------------------------------ */
#gnav_wrap {
	opacity: 0;
	pointer-events: none;
	-webkit-transition: opacity 0.6s ease-out;
	transition: opacity 0.6s ease-out;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	width: 100%;
	height: 100vh;
	overflow: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	background: #ffffff;
}
#gnav_wrap::before {
	content: "";
	display: block;
	width: 620px;
	height: 100vh;
	background: url(../img/common/gnav_bg.jpg) no-repeat center;
	background-size: cover;
	-webkit-box-flex: 1;
		-ms-flex: 1;
			flex: 1;
}
.pos_fix #gnav_wrap { pointer-events: auto; opacity: 1;}

#gnav_wrap > div { display: flex; justify-content: flex-end; width: calc(100% - 620px);}
/* #gnav_wrap > div::after {
	content: ''; display: block; width: 620px; height: 100%;
	background: url(../img/common/gnav_bg.jpg)no-repeat center right; background-size: cover; position: fixed; top: 0; left: 0;
} */
#gnav_inner { margin: 0 auto; padding: 80px 5% 50px; width: 950px; max-width: 100%; box-sizing: border-box;}
#gnav_inner .gnav_logo { display: table; margin: 10px auto 90px; width: 200px;}
#gnav_inner #main_list { display: flex; flex-wrap: wrap; width: 550px; margin: 0 auto;}
#gnav_inner #main_list > ul { width: 50%; font-size: 17px;}
#gnav_inner #main_list > ul li { margin: 0 0 35px;}
#gnav_inner #main_list > div { margin: 30px 0 0; padding: 0 0 45px; width: 100%; display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid #cdcdcd;}
#gnav_inner #main_list > div .gnav_reserve a { display: table; padding: 17px 0; text-align: center; color: #fff; width: 290px;background-color: #e19797; transition: opacity 0.5s;}
#gnav_inner #main_list > div .gnav_cancel { margin: 15px 0 0; text-align: center; font-size: 15px;}
#gnav_inner #main_list > div .gnav_cancel ::before { content: ">"; margin-right: 5px}
#gnav_inner #main_list > div .tel-link { margin: 10px 0 0; padding: 0 0 0 40px; background: url(../img/common/icon_tel.svg)no-repeat left center; background-size: 30px; font-size: 25px}

#gnav_inner #main_list > ul.gnav_sns { display: flex; width: 100%; margin: 10px 0 0; justify-content: right;}
#gnav_inner #main_list > ul.gnav_sns li { margin: 0 20px 0 0;}
#gnav_inner #main_list > ul.gnav_sns li:last-of-type { margin: 0;}
#gnav_inner #main_list > ul.gnav_sns img { height: 23px;}

@media screen and (hover: hover) {
	#gnav_inner #main_list > div .gnav_reserve a:hover { opacity: .7;}
}

@media screen and (max-width: 1200px) {
	#gnav_wrap > div { width: 700px;}
	#gnav_wrap::before { width: calc(100% - 950px);}
}

@media screen and (max-width: 600px) {
	#gnav_inner { width: 100%; padding: 50px 0 100px;}
	#gnav_inner .gnav_logo { width: 130px; margin: 0 auto 60px;}
	#gnav_inner #main_list { width: 90%; display: block;}
	#gnav_inner #main_list > ul { width: 100%; font-size: 16px;}
	#gnav_inner #main_list > ul li { margin: 20px 0; padding: 0 0 20px; border-bottom: 1px solid #d1d1d1;}
	#gnav_inner #main_list > ul li a { display: block;}
	#gnav_inner #main_list > ul li.sub_nav { margin: 10px 0; padding: 0 0 10px; border-bottom: none; font-size: 14px;}
	#gnav_inner #main_list > div { display: block;}
	#gnav_wrap { display: block;}
	#gnav_wrap::before { display: none;}
	#gnav_wrap > div { width: 100%;}
	#gnav_wrap > div::after { display: none;}

	#gnav_inner #main_list > div .gnav_reserve a { width: 100%;}

	.gnav_lang { display: flex; justify-content: center; margin: 25px 0;}
	.gnav_lang li { padding: 0 2%; border-right: 1px solid #222;}
	.gnav_lang li:last-of-type { border-right: none;}
	#gnav_inner #main_list > div { padding: 0; border-bottom: none;}
	#gnav_inner #main_list > div .tel-link { display: table; margin: 0 auto; padding: 0; background: none;}
	#gnav_inner #main_list > div .tel-link span:nth-of-type(1) { display: block; text-align: center; font-size: 14px;}
	#gnav_inner #main_list > div .tel-link span:nth-of-type(2) { display: inline-block; font-size: 15px;}
	#gnav_inner #main_list > ul.gnav_sns { justify-content: center;}
	#gnav_inner #main_list > ul.gnav_sns li { border-bottom: none;}
}

/* ---------------------------------------------------
	Link
------------------------------------------------------ */
.link-run {
	position: relative;
	text-decoration: none;
	color: inherit;
	padding: 0 0 5px;
}
.link-run::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: currentColor;
	position: absolute;
	bottom: 0;
	left: 0;
	-webkit-transform-origin: left center;
			transform-origin: left center;
	-webkit-transform: scaleX(0);
			transform: scaleX(0);
	-webkit-transition: -webkit-transform 0.5s;
	transition: -webkit-transform 0.5s;
	transition: transform 0.5s;
	transition: transform 0.5s, -webkit-transform 0.5s;
}
@media (hover: hover) {
	.link-run:hover {
	opacity: 1;
	text-decoration: none;
	}
	.link-run:hover::after {
	-webkit-transform: scaleX(1);
			transform: scaleX(1);
	}
}
.link-run.run-center::after {
	-webkit-transform-origin: center;
			transform-origin: center;
}
.link-run.run-right::after {
	-webkit-transform-origin: right center;
			transform-origin: right center;
}
.link-run.run-current::after {
	-webkit-transform: scaleX(1);
			transform: scaleX(1);
}
.link-run.run-revers::after {
	-webkit-transform: scaleX(1);
			transform: scaleX(1);
}
@media (hover: hover) {
	.link-run.run-revers:hover::after {
	-webkit-transform: scaleX(0);
			transform: scaleX(0);
	}
}


/* ---------------------------------------------------
	Main img
------------------------------------------------------ */
/* #main_img { width: 100%; padding: 65px 0; margin: 0 auto; background: #f5f5f5; text-align: center;}
#main_img h2 { font-size: 30px; font-weight: bold;} */


/* ---------------------------------------------------
	Contents
------------------------------------------------------ */
/* breadcrumb */
#contents_wrap #breadcrumb {
	width: 92%;
	margin: 5px auto 0;
	padding: 0 0 50px;
	font-size: 16px;
}
#contents_wrap #breadcrumb li {
	display: inline-block;
	line-height: 1.6;
}
#contents_wrap #breadcrumb li::before {
	margin: 0 5px 0 0;
	content: "/";
}
#contents_wrap #breadcrumb li:first-child::before {
	display: none;
}


/* ---------------------------------------------------
	Footer
------------------------------------------------------ */
#footer_wrap { border-top: 1px solid #ada29d; }
#footer { display: flex; justify-content: space-between; margin: 75px auto 0; padding-right: min(100px, calc(50vw - 650px)); line-height: 1.8; box-sizing: border-box; }
#f_logo { margin: 0 auto 0 0;}
#f_logo >img { margin: 0 0 30px;}
#f_logo address p span { display: inline-block; }

#f_nav { margin: 0 35px 0 20px; }
#f_nav .acc_tit { display: none;}
#f_nav >div { display: flex; width: 300px;}
#f_nav ul { width: 49%;}
#f_nav ul li { margin: 0 0 20px; font-size: 18px;}

#f_reserve { width: 330px;}
#f_reserve li:nth-of-type(1) { margin: 0 0 10px; }
#f_reserve li:nth-of-type(1) a { display: block; padding: 24px 0; font-size: 16px; background-color: #e19797; color: #fff; text-align: center; transition: opacity .3s;}
#f_reserve li:nth-of-type(2) a { display: block; padding: 14px 10px; background-color: #ebe6e6; text-align: center; transition: opacity .3s; line-height: 1.5; }

.copy { margin: 10px auto 120px; font-size: 14px; text-align: right;}

@media (hover: hover) {
	#f_reserve li a:hover { opacity: .75;}
}

@media screen and (max-width: 1382px) {
	#footer { padding-right: max(3vw, 36px); }
}
@media screen and (max-width: 600px) {
	#footer { display: block; margin: 50px auto 0; padding: 0; }
	#f_logo >img { display: table; margin: 0 auto 20px; width: 160px;}
	#footer address { text-align: center; line-height: 2;}

	#f_nav { display: block; width: 100%; max-width: none; margin: 20px 0 0; }
	#f_nav .acc_tit {
		display: block; width: 100%; padding: 10px 25px; margin: 0 0 15px;
		position: relative; border: 1px solid #222; text-align: center;
		-webkit-box-sizing: border-box; box-sizing: border-box; cursor: pointer;
	}
	#f_nav .acc_tit::before {
		display: inline-block; content: ''; background: url(../img/common/f_nav_icon.svg)no-repeat; width: 15px; height: 12px; margin: 0 10px 0 0;
	}
	#f_nav .acc_tit.active:after { transform: rotate(-135deg);}
	#f_nav >div { display: block; width: auto;}
	#f_nav ul {
		display: block; width: 100%; flex-wrap: wrap; justify-content: space-between;
		padding: 0 10px; text-align: left; box-sizing: border-box;
	}
	#f_nav ul li { box-sizing: border-box; font-size: 16px; }

	#f_reserve { width: 100%;}
	#f_reserve li:nth-of-type(1) a { padding: 20px 0;}
	.copy { margin: 40px auto 80px; text-align: center;}
}

.f_fixed { position:fixed; bottom: 15px; right: 15px; z-index:90; transition: 0.2s; opacity: 0;}
.f_fixed #pagetop { display: table; color: #222; margin: 0 auto 10px; transition: all .3s; cursor: pointer; }
.f_fixed #pagetop::before { content: ""; display: block; margin: 0 auto; width: 0;
	height: 0;
	border-style: solid;
	border-right: 7px solid transparent;
	border-left: 7px solid transparent;
	border-bottom: 13px solid #e19797;
	border-top: 0;}

@media (hover: hover) {
	.f_fixed #pagetop:hover { opacity: .75;}
}


@media screen and (max-width: 600px) {
	.f_fixed { display: none;}
}


/* ---------------------------------------------------
	clear
------------------------------------------------------ */


/* ---------------------------------------------------
	更新履歴
------------------------------------------------------

------------------------------------------------------ */
