@charset "UTF-8";

.forpc { display: block; }
.forsp { display: none; }
.forpcinline { display: inline; }
.forspinline { display: none; }

.subContents {
	width: 88vw;
	min-width: 1130px;
	text-align: left;
	margin: 0 auto;
}

.h-type1 {
	font-size: 1.357rem;
	font-weight: bold;
	line-height: 1.1;
	margin: 0 0 2.3vw;
	position: relative;
}
.h-type1 span {
	font-size: 547%;
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
}
.h-type1 span em {
	font-size: 125%;
	font-style: normal;
}
.h-type1 span i {
	font-size: 75%;
	font-style: normal;
}
.h-type1::after {
	content: "";
	width: 130px;
	height: 3px;
	background: #174e90;
	position: absolute;
	bottom: 2.2rem;
	left: 0;
}
#totop {
	width: 25px;
	position: fixed;
	bottom: 10px;
	right: 10px;
	cursor: pointer;
}
#totop img {
	width: 100%;
}


header {
	display: flex;
}
header .logo {
	width: 150px;
	height: 45px;
	background-image: url(../images/s_logo_bk.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: 6vw;
	left: 4vw;
	z-index: 2;
}
header .logo a {
	width: 150px;
	height: 45px;
	display: block;
}
header nav {
	margin-left: auto;
}
header nav .nav1,
header .nav2 {
	display: flex;
}
header nav .nav1 li {
	font-family: 'Cormorant Garamond', serif;
	letter-spacing: .1em;
	position: relative;
}
header nav .nav1 li + li {
	margin-left: 1.5vw;
}
header nav .nav1 li a,
header nav .nav1 li span {
	padding-left: 1em;
	padding-right: 1em;
}
header .nav2 li {
	font-size: 1.4rem;
	margin-left: 3.5vw;
}
header .nav2 li + li {
	margin-left: 1.5vw;
}
header nav .nav1 li ul {
	width: 12em;
	background: rgba(255,255,255,.8);
	position: absolute;
	top: 2em;
	left: 0;
	z-index: 2;
	display: none;
}
header nav .nav1 li ul li {
	line-height: 1.5;
	padding: 5px 15px;
}
header nav .nav1 li ul li + li {
	margin-left: 0;
}
#mainv header nav .nav1 li ul li a {
	color: #000;
	padding: 0;
}


footer {
	color: #fff;
	background: radial-gradient(ellipse at center,  rgba(27,99,161,1) 0%,rgba(29,73,140,1) 100%);
	padding: 4.37vw 0;
}
footer a {
	color: #fff!important;
	text-decoration: none;
}
footer .subContents > div {
	display: flex;
	justify-content: space-between;
}
footer .subContents > div .shopinfo {
	width: 40%;
}
footer .subContents > div .shopinfo .name {
	margin: 0 0 40px;
}
footer .subContents > div .shopinfo .name img {
	width: 200px;
	margin-right: 20px;
}
footer .subContents > div .menus {
	width: 28%;
	position: relative;
}
footer .subContents > div .menus::before {
	content: "CONTENTS";
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
	position: absolute;
	top: 0;
	left: 0;
}
footer .subContents > div .menus > ul {
	font-family: 'Cormorant Garamond', serif;
	font-weight: 400;
}
footer .subContents > div .menus > ul > li {
	border-bottom: solid 1px #fff;
	margin: 0 0 5px;
	padding: 0 0 5px 50%;
}
footer .subContents > div .menus > ul > li ul {
	margin-left: 1em;
}
footer .subContents > div div.address {
	width: 18%;
}
footer .subContents > div div.address p.address {
	border-bottom: dotted 1px #fff;
	margin: 0 0 10px;
	padding: 0 0 10px;
}
footer .subContents > div div.address .tel {
	font-size: 1.64rem;
	border-bottom: dotted 1px #fff;
	margin: 0 0 10px;
	padding: 0 0 10px;
}
footer .subContents > div div.address .tel i {
	font-size: 1.25rem;
}
footer .subContents > div div.address .contact {
	font-size: 1.3rem;
	border-bottom: dotted 1px #fff;
	margin: 0 0 10px;
	padding: 0 0 10px;
}
footer .subContents > div div.address .contact i {
	font-size: 1.15rem;
}
footer .subContents > div div.address .snss {
	display: flex;
	justify-content: flex-end;
}
footer .subContents > div div.address .snss li {
	font-size: 1.25rem;
	margin-left: 1em;
}


#contact {
	padding: 4.7vw 0;
}
#contact ul {
	display: flex;
	justify-content: center;
}
#contact ul li {
	text-align: center;
	margin: 0 80px;
}
#contact ul li h3 {
	font-size: 2.64rem;
}
#contact ul li figure {
	margin: 0 0 5px;
}
#contact ul li p {
	font-size: 1.07rem;
}
#contact ul li .btn {
	margin: 85px 0 0 0;
	position: relative;
}
#contact ul li .btn::before {
	content: "";
	width: 41px;
	height: 46px;
	background: url(../images/reserve_s_arrow.gif) no-repeat;
	position: absolute;
	top: -75px;
	left: 50%;
	transform: translateX(-50%);
}

#flmenu {
	display: none;
}
#headerSp {
	display: none;
}
#spMenu {
	display: none;
}

#headerPc {
	width: 100%;
	color: #fff;
	background: radial-gradient(ellipse at center,  rgba(27,99,161,1) 0%,rgba(29,73,140,1) 80%);
	padding: 25px 4vw;
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: fixed;
	top: -150px;
	left: 0;
	z-index: 10000;
	transition: all .3s;
}
#headerPc.active {
	top: 0;
}

#headerPc .logo img {
	width: 150px;
}
#headerPc nav {
	margin-left: auto;
}
#headerPc .nav1 {
	display: flex;
}
#headerPc nav .nav1 li {
	font-family: 'Cormorant Garamond', serif;
	letter-spacing: .1em;
	position: relative;
}
#headerPc nav .nav1 li + li {
	margin-left: 1.5vw;
}
#headerPc nav .nav1 li a,
#headerPc nav .nav1 li span {
	color: #fff;
	text-decoration: none;
	padding-left: 1em;
	padding-right: 1em;
}
#headerPc nav .nav1 li ul {
	width: 12em;
	background: rgba(255,255,255,.8);
	position: absolute;
	top: 2em;
	left: 0;
	z-index: 2;
	display: none;
}
#headerPc nav .nav1 li ul li {
	line-height: 1.5;
	padding: 5px 15px;
}
#headerPc nav .nav1 li ul li + li {
	margin-left: 0;
}
#headerPc nav .nav1 li ul li a {
	color: #000;
	padding: 0;
}

/* FOR smartphone landscape
***************************************************************************/
@media screen and (max-width:756px) {

	.forpc { display: none; }
	.forsp { display: block; }
	.forpcinline { display: none; }
	.forspinline { display: inline; }
	img { width: 100%; }

	body {
		padding-top: calc(28px + 6vw);
	}
	.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
	.subContents {
		width: 100vw;
		min-width: 100vw;
		padding: 0 4vw;
	}

	.h-type1 {
		font-size: 4vw;
		margin: 0 0 4vw;
	}
	.h-type1 span {
		font-size: 400%;
	}
	.h-type1 span em {
	}
	.h-type1 span i {
	}
	.h-type1::after {
		content: "";
		width: 22vw;
		bottom: 1.6rem;
		left: 0;
	}
	#totop {
		width: 25px;
		bottom: 20vw;
		right: 1vw;
	}


	header {
		display: block;
	}
	header .logo {
		display: none;
		width: 26vw;
		height: 7.8vw;
	}
	header nav .nav1,
	header .nav2 {
		display: none;
	}

	footer {
		padding-bottom: 0;
	}
	footer a {
	}
	footer .subContents > div {
		display: block;
	}
	footer .subContents > div .shopinfo {
		width: 100%;
		text-align: center;
	}
	footer .subContents > div .shopinfo .name {
		margin: 0;
	}
	footer .subContents > div .shopinfo .name img {
		width: 200px;
	}
	footer .subContents > div .shopinfo p {
		display: none;
	}
	footer .subContents > div .menus {
		display: none;
	}
	footer .subContents > div div.address {
		width: 100%;
	}
	footer .subContents > div div.address p.address {
		display: none;
	}
	footer .subContents > div div.address .tel {
		display: none;
	}
	footer .subContents > div div.address .contact {
		display: none;
	}
	footer .subContents > div div.address .snss {
		justify-content: center;
	}
	footer .subContents > div div.address .snss li {
		font-size: 1.5rem;
		margin: 0 .5em;
	}
	footer .subContents .copyright {
		color: #1c5091;
		text-align: center;
		background: #fff;
		margin: 0 -4vw;
	}

	#contact {
		display: none;
	}

	#flmenu {
		width: 100vw;
		background: #fff;
		display: block;
		position: sticky;
		bottom: 0;
		left: 0;
	}
	#flmenu ul {
		border-top: solid 1px #ddd;
		border-left: solid 1px #ddd;
		display: flex;
		justify-content: space-between;
	}
	#flmenu ul li {
		border-right: solid 1px #ddd;
		width: calc(100% / 3);
		padding: 2vw 0;
	}
	#flmenu ul li a {
		display: block;
	}
	#flmenu ul li img {
		width: 52%;
	}

	#headerPc {
		display: none;
	}
	#headerSp {
		width: 100%;
		color: #fff;
		background: radial-gradient(ellipse at center,  rgba(27,99,161,1) 0%,rgba(29,73,140,1) 80%);
		padding: 3vw 4vw;
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 10000;
	}
	#headerSp .logo {
		width: 100px;
	}
	#headerSp #menuBtn {
		width: 29px;
		height: 20px;
		background: url(../images/b_menubtn.png) no-repeat;
		background-size: 100% auto;
	}
	#spMenu {
		color: #fff;
		background: #003e64;
		width: 100vw;
		height: 100vh;
		padding: 5vw 4vw;
		position: fixed;
		top: 0;
		left: 0;
		display: none;
		z-index: 10000;
	}
	#spMenu a {
		color: #fff;
		text-decoration: none;
	}
	#spMenu .heading {
		margin: 0 0 5vw;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	#spMenu .logo {
		width: 100px;
	}
	#spMenu #menuClose {
		width: 27px;
		height: 27px;
		background: url(../images/b_menuclose.png) no-repeat;
		background-size: 100% auto;
	}
	#spMenu .spMenuBody .inner {
		text-align: left;
		line-height: 1.6;
		margin: 0 8vw;
	}
	#spMenu .spMenuBody .inner > ul {
		font-family: 'Cormorant Garamond', serif;
		font-weight: 400;
		position: relative;
		margin: 0 0 20px;
	}
	#spMenu .spMenuBody .inner ul::before {
		content: "CONTENTS";
		font-family: 'Cormorant Garamond', serif;
		font-weight: 400;
		position: absolute;
		top: 0;
		left: 0;
	}
	#spMenu .spMenuBody .inner > ul > li {
		border-bottom: solid 1px #fff;
		margin: 0 0 5px;
		padding: 0 0 5px 50%;
	}
	#spMenu .spMenuBody .inner > li ul {
		margin-left: 1em;
	}
	#spMenu .spMenuBody .inner .address {
		border-bottom: dotted 1px #fff;
		padding: 10px 0;
	}
	#spMenu .spMenuBody .inner .tel {
		font-size: 1.25rem;
		border-bottom: dotted 1px #fff;
		padding: 10px 0;
	}
	#spMenu .spMenuBody .inner .contact {
		font-size: 1.25rem;
		border-bottom: dotted 1px #fff;
		padding: 10px 0;
	}
	#spMenu .spMenuBody .inner > ul.snss {
		margin: 15px 0 0 0;
		display: flex;
		justify-content: flex-end;
	}
	#spMenu .spMenuBody .inner ul.snss::before {
		content: none;
	}
	#spMenu .spMenuBody .inner ul.snss li {
		font-size: 1.5rem;
		border-bottom: none;
		margin: 0 0 0 1em;
		padding: 0;
	}
}



ul.disclist li {
	list-style: disc;
	margin-left: 20px;
}
ul.indent-1 li,
p.indent-1 {
	text-indent: -1em;
	padding-left: 1em;
}

