@charset "UTF-8";
/* CSS Document */
/* ========================
 * Base CSS
 * ======================== */
html {
	overflow-y: scroll;
}

/* body - general settings */
body {
	background: #fff;
	color: #283446;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-text-size-adjust: 100%;
	-webkit-print-color-adjust: exact;
}

p {
	font-size: 14px;
}

a {
	color: #283446;
	text-decoration: none;
}

/* to top */
#totop {
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 50px;
	height: 50px;
}

#totop img {
	display: block;
	width: 100%;
	height: 100%;
}

/* ========================
 * break point control CSS
 * ======================== */
.vis_pc,
.vis_tab,
.hide_sp {
	display: none!important;
}

.vis_sp {
	display: block!important;
}

.break_pc,
.break_tab {
	display: none;
}

.break_sp {
	display: inline;
}

/* ========================
 * Disable Float side class
 * ======================== */
.fl_left,
.fl_right {
	float: none;
}

/* ========================
 * header CSS
 * ======================== */
header {
	height: 64px;
}

.inner_header {
	height: 64px;
}

/* logo box */
h1 {
	padding: 16px 20px;
}
h1 a {
	display: block;
	width: 116px;
	height: 32px;
}

h1 img {
	width: auto;
	height: 32px;
}

.subNav {
	display: none;
}

.subNav img {
	width: 262px;
	height: auto;
}

/* navigation trigger */
header .trigger,
header .trigger span {
	display: inline-block;
	box-sizing: border-box;
	transition: all 400ms;
}

header .trigger {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 1000;
	width: 24px;
	height: 24px;
}

header .trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #283446;
}

header .trigger span:nth-of-type(1) {
	top: 4px;
}

header .trigger span:nth-of-type(2) {
	top: 11px;
}

header .trigger span:nth-of-type(3) {
	bottom: 5px;
}

header .open .trigger span {
	/*background-color: #c0cddc;*/
}

/* navigation panel */
#navPanel {
	position: fixed;
	top: 0;
	right: 0;
	visibility: hidden;
	opacity: 0;
	z-index: 980;
	padding: 80px 20px;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	box-sizing: border-box;
	background: #fff;
	transition: all 500ms 0s ease;
}

nav#mainNav.open #navPanel {
	right: 0;
	visibility: visible;
	opacity: 1;
}

#navPanel ul {
	margin: 0 auto;
	width: 100%;
}

#navPanel ul li {
	position: relative;
	display: block;
	text-align: center;
}

#navPanel ul li a {
	color: #333;
	font-size: 20px;
	line-height: 48px;
	transition: 300ms;
}

#navPanel .reserve a {
	display: block;
	margin-top: 16px;
	border: solid 1px #283446;
	border-radius: 8px;
	color: #283446;
	line-height: 42px;
	text-align: center;
	text-decoration: none;
}

#navPanel .web_reserve a:hover {
	background: #283446;
	color: #fff;
}

/* ========================
 * footer
 * ======================== */
/* ------------------------
 * corporate info
 * ------------------------ */
footer .inner_footer {
	display: flex;
	flex-direction: column-reverse;
	padding: 24px 20px;
}

footer .inner_footer .address {
	font-size: 12px;
	line-height: 18px;
}

footer .inner_footer .address>img {
	display: block;
	margin-bottom: 20px;
}

footer .inner_footer .address div.shop {
	margin-bottom: 20px;
}

footer .inner_footer .sns {
	margin-top: 20px;
}

footer .inner_footer .sns ul {
	display: flex;
	list-style: none;
}

footer .inner_footer .sns ul li {
	margin-right: 20px;
}


/* ------------------------
 * footer navigation
 * ------------------------ */
footer .footer_nav {
	margin-bottom: 16px;
}

footer .nav_content {
	display: none;
}

footer .web_reserve a {
	display: block;
	border: solid 1px #283446;
	border-radius: 8px;
	color: #283446;
	font-size: 20px;
	line-height: 46px;
	text-align: center;
	text-decoration: none;
	transition: 300ms;
}

footer .web_reserve a:hover {
	background: #283446;
	color: #fff;
}

/* ------------------------
 * copyright
 * ------------------------ */
footer .copyright {
	padding: 18px 20px 48px;
	background: #c0cddc;
	font-size: 10px;
	text-align: center;
}

/* ========================
 * TOP page
 * ======================== */
/* ------------------------
 * hero
 * ------------------------ */
.hero img {
	display: block;
}

.hero .vis_sp {
	width: 100%;
	height: auto;
}

/* ------------------------
 * web reserve button
 * ------------------------ */
article .web_reserve_btn {
	padding: 32px 20px 0;
}

article .web_reserve_btn a {
	display: block;
	margin: 0 auto;
	max-width: 320px;
	border: solid 1px #283446;
	border-radius: 8px;
	color: #283446;
	font-size: 20px;
	line-height: 46px;
	text-align: center;
	text-decoration: none;
	transition: 300ms;
}

article .web_reserve_btn a:hover {
	background: #283446;
	color: #fff;
}


/* ------------------------
 * feature
 * ------------------------ */
.feature {
	padding: 32px 20px;
	color: #333;
	font-size: 16px;
	line-height: 20px;
	text-align: center;
}

/* ------------------------
 * access
 * ------------------------ */
.access {
	background: #f1f1f1;
	padding: 16px 20px;
}

.access h2 {
	margin-bottom: 16px;
	font-size: 28px;
	font-weight: normal;
	text-align: center;
}

.access h2::after {
	display: block;
	margin: 0 auto;
	width: 112px;
	border-bottom: solid 2px #283446;
	content: '';
}

.access .map {
	margin-bottom: 16px;
}

.access .map iframe {
	width: 100%;
	max-width: 100%;
	height: 160px;
}

.access dl dt {
	margin: 0 auto 8px;
	padding: 6px 0;
	width: 160px;
	border: solid 1px #283446;
	font-size: 18px;
	text-align: center;
}

.access dl dd {
	margin-bottom: 8px;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
}

.access dl dd:last-child {
	margin-bottom: 0;
}

.access dl dd ul {
	list-style: none;
}

.access dl dd ul li {
	/*margin-bottom: 12px;*/
}
