/*------------------------------------
汎用
------------------------------------*/
html,
body {
	overscroll-behavior: none;
}
body {
	min-width: 100%;
	min-height: 100%;
}
::-webkit-scrollbar {
	width: 5px;
	background: #eee;
}
::-webkit-scrollbar:horizontal {
	height: 5px;
}
::-webkit-scrollbar-piece {
	background: #eee;
}
::-webkit-scrollbar-piece:start {
	background: #eee;
}
::-webkit-scrollbar-thumb {
	background: #000;
}
::-webkit-scrollbar-corner {
	background: #000;
}

/*コンティナ*/
.container {
	width: 940px;
	margin: 0 auto;
}

/*汎用flex*/
.flex {
	display: flex;
	flex: wrap;
}
.flex-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
}
.justify-center {
	justify-content: center;
}

.margin-center {
	margin: 0 auto;
}
.text-center {
	text-align: center;
}

.tb {
	display: none;
}
.sp {
	display: none;
}
.pc {
	display: block;
}

/* 店舗移転のため一時的にモーダルのようなスクロール禁止表示 */
.relocation-modal {
	position: fixed;
	z-index: 9999;
	top: 74px;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.85);
}
.relocation-modal .txt {
	position: fixed;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #f2f2f2;
	padding: 35px;
}

/*------------------------------------
共通
------------------------------------*/
/* ローディング画面の背景 */
#loading {
	position: fixed;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	background: #000;
	z-index: 9999;
}
#loading .animation {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	animation: loadinganimation 2500ms ease-out forwards;
}
@keyframes loadinganimation {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/*汎用見出し*/
.arrow-heading {
	text-align: center;
	padding: 0 0 120px;
}
.arrow-heading span {
	display: inline-block;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 30px;
	line-height: 1;
	white-space: nowrap;
}
.arrow-heading div {
	position: relative;
	width: 100%;
	height: 40px;
}
.arrow-heading div:before,
.arrow-heading div:after {
	content: "";
	position: absolute;
	display: block;
	background: #888;
	width: 60px;
	height: 1px;
}
.arrow-heading div:before {
	bottom: 0px;
	left: calc(50% - 25px);
	transform: translate(-50%, 0) rotate(30deg);
}
.arrow-heading div:after {
	bottom: 0px;
	left: calc(50% + 25px);
	transform: translate(-50%, 0) rotate(-30deg);
}
.arrow-heading.title {
	margin: 0;
	padding: 120px 0;
	background: #fff url("../img/bg-fly-gray.png") bottom 20px right -135px no-repeat;
}

.arrow-heading.en span {
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
	font-size: 36px;
}
.arrow-heading.en div:before,
.arrow-heading.en div:after {
	width: 42px;
}
.arrow-heading.en div:before {
	left: calc(50% - 18px);
}
.arrow-heading.en div:after {
	left: calc(50% + 18px);
}

/*汎用見出し2*/
.flower {
	font-size: 28px;
	margin-bottom: 10px;
}
.flower:before {
	content: "";
	background: url("../img/flower.png");
	display: inline-block;
	margin: 0 5px -3px 0;
	width: 28px;
	height: 27px;
}
.flower span {
	display: inline-block;
	font-size: 16px;
	margin-left: 1rem;
}

/* ボタン */
.btn {
	text-align: center;
	margin: 40px 0;
}
.btn-cross {
	display: inline-block;
	position: relative;
	padding: 0.5em 10em;
	border-top: solid 1px #473111;
	border-bottom: solid 1px #473111;
	font-weight: 700;
	font-size: 15px;
}
.btn-cross:before,
.btn-cross:after {
	content: "";
	position: absolute;
	top: -15%;
	width: 1px;
	height: 130%;
	background-color: #473111;
	transform: rotate(0deg);
	transition: 0.3s ease;
}
.btn-cross:before {
	left: 7px;
}
.btn-cross:after {
	right: 7px;
}
.btn-cross:hover {
	opacity: 1;
}
.btn-cross:hover:before {
	top: 0;
	left: 0;
	height: 100%;
}
.btn-cross:hover:after {
	top: 0;
	right: 0;
	height: 100%;
}

/*GOTOトラベルボタン*/
#single .single-item .btn-flat-logo {
	position: relative;
	display: inline-block;
	font-weight: bold;
	padding: 0.5em 5em;
	color: #fff;
	background: #333;
	transition: 0.4s;
	text-decoration: none;
}

/* ページの先頭へ */
#page_top {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 30px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: 0.5s ease;
	z-index: 8000;
}
#page_top img {
	width: 22px;
}
#page_top.active {
	opacity: 1;
	visibility: visible;
}

/* back-img */
.back-img {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
}
.back-img .img,
.back-img .dot {
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}
.back-img .img {
	position: fixed;
	background: url(../img/front/front_top.jpg) 50% / cover;
	z-index: 1;
}
.back-img .dot {
	position: absolute;
	background-color: rgba(255, 255, 255, 0.1);
	background-image: radial-gradient(#000000 1%, transparent 18%),
		radial-gradient(#000000 1%, transparent 18%);
	background-position: 0 0, 3px 3px;
	background-repeat: repeat;
	background-size: 3px 3px;
	z-index: 2;
}
.back-img-mg {
	margin-top: 100vh;
} /* マージン */
.back-img-mg-under {
	margin-top: 70vh;
} /* マージン(下層ページ) */

/* slider不要部分 */
img.n2-ow.nextend-shadow-image {
	display: none !important;
}
/* 20211227フロントページ追加 */
.back-img .page-heading .inner .top-slider {
	width: 100%;
	height: 100vh;
}
.back-img .page-heading .inner .top-slider li {
	width: 100%;
	height: 100vh;
}
.back-img .page-heading .inner .top-slider li img {
	width: 100%;
	height: 100vh;
	object-fit: cover;
}
.n2-ss-slider .n2-ss-slider-controls-above,
.n2-ss-slider .n2-ss-slider-controls-below {
	flex-flow: inherit !important;
}
/*------------------------------------
ヘッダー
------------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #000 url("../img/front/front-comment-bg.jpg") no-repeat top
		left/100%;
	padding: 0 30px;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.15);
	z-index: 9000;
}
header .logo {
	display: inline-flex;
	align-items: center;
	padding: 15px 0;
}
header .logo .h-logo {
	display: block;
	width: 45px;
	margin-right: 22px;
}
header .logo .h-title {
	display: block;
	width: 149px;
}
header #g-navi {
	align-items: center;
}
header #g-navi a {
	position: relative;
	display: inline-block;
	color: #fff;
	line-height: 1;
	margin: 0 25px;
	padding: 0 5px;
}
header #g-navi a:hover {
	opacity: 1;
}
header #g-navi a:after {
	position: absolute;
	bottom: -10px;
	left: 0;
	content: "";
	width: 100%;
	height: 2px;
	background: #fff;
	opacity: 0;
	visibility: hidden;
	transition: 0.3s;
}
header #g-navi a:hover:after {
	bottom: -4px;
	opacity: 1;
	visibility: visible;
}
header #g-navi a span {
	display: block;
	color: #fff;
	text-align: center;
	white-space: nowrap;
}
header #g-navi a span.jp {
	font-size: 16px;
	line-height: 1.5;
}
header #g-navi a span.en {
	font-size: 10px;
	letter-spacing: 2px;
}
header #nav-toggle {
	display: none;
}

#overlay {
	display: none;
}

/*-------------------------------------
フッター
--------------------------------------*/
footer {
	background: #fff;
	padding: 30px 0 60px;
}

footer .reserve {
	background: #fff;
	padding: 120px 0;
	text-align: center;
}
footer .reserve .tel {
	display: inline-flex;
	justify-content: center;
	align-items: center;
}
footer .reserve .tel img {
	margin: 0 10px 5px 0;
}
footer .reserve .tel span {
	font-size: 30px;
}
footer .reserve .time {
	font-size: 18px;
}

footer .info .footer-title {
	display: inline-block;
	font-size: 18px;
}
footer .info .icon {
	display: block;
	margin: 0 auto 15px;
}
footer .info address {
	font-size: 14px;
	margin: 0 0 20px;
}
footer .info .copy {
	font-size: 10px;
}

/*-------------------------------------
トップページ
--------------------------------------*/
/* comment */
#front .comment {
	background: url("../img/bg-fly.png") bottom 10% right -100px no-repeat,
		#fff url("../img/front/front-comment-bg.jpg") center/cover repeat;
	padding: 120px 0;
	text-align: center;
}
#front .comment h1 img {
	display: block;
	margin: 0 auto 55px;
}
#front .comment p {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-align: left;
	vertical-align: middle;
	display: inline-block;
	margin: 0 auto;
	font-size: 18px;
	color: #fff;
}

/* menu */
#front .menu {
	background: #fff url("../img/front/front-menu-bg.jpg") center center/cover;
	padding: 120px 0 60px;
}
#front .menu > .flex {
	margin-bottom: 80px;
}
#front .menu .circle {
	font-size: 28px;
	display: inline-block;
	width: 150px;
	height: 150px;
	border: 1px solid #000;
	border-radius: 50%;
	text-align: center;
	line-height: 152px;
}
#front .menu .lunch,
#front .menu .dinner {
	align-items: center;
}
#front .menu .lunch .circle {
	background: none;
	color: #000;
	margin: 10px 35px 0 0;
}
#front .menu .dinner .circle {
	background: #000;
	color: #fff;
	margin: 10px 35px 0 70px;
}
#front .menu .menu-text p {
	font-size: 24px;
	line-height: 1.5;
}
#front .menu .menu-text p:nth-child(2) {
	margin-bottom: 10px;
}
#front .menu .menu-text .menu-details {
	font-size: 16px;
}
#front .menu .menu-text .indent {
	text-indent: -1rem;
}

/* open
#front .open {text-align: center; background: #fff; padding: 60px 0 60px;}
#front .open h2 {font-size: 22px;}
#front .open h2:before {margin:0 5px -5px 0;}
#front .open p {font-size: 16px; line-height: 1.5;color: #5E3819;}
*/

/* room */
#front .room {
	text-align: center;
	background: #fff;
	padding: 120px 0 60px;
}
#front .room .room-about {
	display: inline-block;
	margin-bottom: 10px;
}
#front .room .room-about dl {
	display: flex;
}
#front .room .room-about dl dt {
	margin-right: 15px;
}
#front .room .room-about dl dt,
#front .room .room-about dl dd {
	font-size: 18px;
}
#front .room .room-img {
	width: 100%;
	height: 370px;
	margin: 0 0 60px;
}
#front .room .room-img img {
	margin: 0 auto;
	width: 25%;
	height: auto;
	display: block;
	object-fit: cover;
	object-position: 50%;
	font-family: "object-fit: cover; object-position: 50% 50%;";
}

/* newly */
#front .newly {
	background: #fff url("../img/front/front-news-bg.jpg") top left/auto;
	text-align: center;
	padding: 120px 0 60px;
}
#front .newly .newly-box {
	width: 768px;
	margin: 0 auto;
	padding-bottom: 50px;
}
#front .newly .newly-box dl {
	border-bottom: 1px solid #aaa;
	padding: 8px 12px;
}
#front .newly .newly-box dl:last-of-type {
	border-bottom: none;
}
#front .newly .newly-box dl dt {
	margin-right: 20px;
}
#front .newly .newly-box dl dt,
#front .newly .newly-box dl dd {
	font-size: 18px;
}
#front .newly .newly-more {
	display: inline-flex;
	align-items: center;
	margin: 10px 0 0 0;
	float: right;
}
#front .newly .newly-more span {
	display: block;
	font-size: 16px;
	line-height: 1;
}
#front .newly .newly-more img {
	margin-left: 8px;
	width: 16px;
}

/* slider-img */
#front .slider-img {
	background: #fff;
}
#front .slider-img .img-big {
	height: 100%;
}
#front .slider-img .img-big img {
	margin: 0 auto;
	width: 100%;
	max-height: 100vh;
	display: block;
	object-fit: cover;
	object-position: 50%;
	font-family: "object-fit: cover; object-position: 50% 50%;";
}
#front .slider-img .img-item-nav {
	height: 100%;
	cursor: pointer;
	cursor: hand;
}
#front .slider-img .img-item-nav img {
	margin: 0 auto;
	width: 100%;
	max-height: 100vh;
	display: block;
	object-fit: cover;
	object-position: 50%;
	font-family: "object-fit: cover; object-position: 50% 50%;";
}

/*-------------------------------------
お品書きページ　menu
--------------------------------------*/
#nemu-img .back-img .img {
	position: fixed;
	background-image: url(../img/menu/menu_top.jpg);
	z-index: 1;
}

#menu .container {
	padding: 120px 0;
}

#menu .menu-box .menu-item {
	height: 470px;
}
#menu .menu-box .menu-item:nth-child(odd) {
	flex-direction: row-reverse;
}
#menu .menu-box .menu-item:nth-child(even) {
	flex-direction: row;
}
#menu .menu-box .menu-item .flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50%;
}
#menu .menu-box .menu-item .menu-img {
	width: 50%;
	height: 100%;
}
#menu .menu-box .menu-item .menu-img img {
	margin: 0 auto;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: 50%;
	font-family: "object-fit: cover; object-position: 50% 50%;";
}
#menu .menu-box .menu-item .menu-text {
	max-width: 390px;
}
#menu .menu-box .menu-item .menu-text h3 {
	display: inline-block;
	font-size: 24px;
	line-height: 1.5;
	margin-right: 1rem;
}
#menu .menu-box .menu-item .menu-text h3 span {
	display: block;
	line-height: 1.5;
	margin-bottom: 5px;
}
#menu .menu-box .menu-item .menu-text .price {
	display: inline-block;
	font-size: 21px;
	margin-bottom: 10px;
}
#menu .menu-box .menu-item .menu-text .course {
	font-size: 14px;
	margin-bottom: 20px;
	line-height: 1.5;
}
#menu .menu-box .menu-item .menu-text .tax {
	min-width: 350px;
	color: #5e3819;
	font-size: 12px;
	line-height: 1.5;
	border: 1px solid #5e3819;
	text-align: center;
	padding: 4px 0;
}
#menu .menu-box .menu-item .menu-text .an-image {
	font-size: 12px;
	text-align: right;
}

/* lunch */
#menu .lunch {
	background: #f2f2f2;
}
#menu .lunch .menu-box .menu-item .menu-text {
	background: url("../img/rhombus.png") center top no-repeat;
	padding-top: 55px;
}
#menu .lunch .menu-box .menu-item .menu-text .price {
	color: #4d4d4d;
}

/* dinner */
#menu .dinner {
	background: #000 url("../img/front/front-comment-bg.jpg");
}
#menu .dinner small,
#menu .dinner .menu-box h3,
#menu .dinner .menu-box h3 span,
#menu .dinner .menu-box .menu-item p {
	color: #fff;
}
#menu .dinner .menu-box .menu-item .menu-text {
	background: url("../img/wave.png") center top no-repeat;
	padding-top: 40px;
}
#menu .dinner .menu-box .menu-item .menu-text .tax {
	border-color: #fff;
	color: #fff;
}

#menu small {
	display: block;
}
#menu small.explan {
	margin: -20px 33px 20px;
}
#menu .notice {
	margin-top: 25px;
}

#menu.en .menu-box .menu-item .menu-text h3 {
	font-size: 23px;
}
#menu.en .menu-box .menu-item .menu-text .price {
	font-size: 20px;
}

/*-------------------------------------
お部屋ページ　room
--------------------------------------*/
#room-img .back-img .img {
	position: fixed;
	background-image: url(../img/room/counter_03.jpg);
	z-index: 1;
	object-fit: contain;
	top: -252px;
}

#room {
	background: #fff url("../img/room/room_bg.jpg") top left;
}
#room .container_room {
	width: 90%;
	margin: auto;
}
#room .box {
	margin-bottom: 80px;
}
#room .box figure {
	display: block;
	width: 100%;
	margin-bottom: 40px;
}
#room .box figure:last-child {
	margin-bottom: 0;
}
#room .box figure img {
	display: block;
	width: 100%;
	height: 470px;
	object-fit: cover;
	object-position: 50%;
	font-family: "object-fit: cover; object-position: 50% 50%;";
}
#room .box figcaption {
	font-size: 16px;
	background: #fff;
	padding: 5px 20px;
}

#room .btn {
	margin: 60px auto;
}
#room .btn-cross {
	padding: 0.5em 10em;
}
#room .btn-cross:hover:before {
	top: -15%;
	left: 7px;
	height: 130%;
}
#room .btn-cross:hover:after {
	top: -15%;
	right: 7px;
	height: 130%;
}
/*-------------------------------------
メインスライダー　room
--------------------------------------*/
#room.room {
	position: relative;
}
#room.room .container_room {
	padding: 40px 0;
}
#room.room .container_room h3 {
	width: 66%;
	margin: auto;
	margin-bottom: 10px;
}
#room.room .container_room figcaption {
	width: 66%;
	margin: auto;
	font-size: 16px;
	padding: 20px 0 5px;
}
#room.room .heading-box {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 60rem;
}
#room.room .heading-box .text-treat {
	position: absolute;
}
#room.room .heading-box h2 {
	position: absolute;
	height: auto;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	font-size: 3.6rem;
	padding: 9.4rem 0 4.1rem 3.6rem;
	margin-left: 35.4%;
}
#room.room .heading-box h2 span {
	color: #fff;
	display: inline-block;
	margin-left: 4rem;
}
#room.room .heading-box h2:before {
	content: "";
	height: 0;
	display: block;
	position: absolute;
	left: 0;
	background: #988061;
	transition: all 0.5s cubic-bezier(0.05, 0.54, 0.6, 0.94);
	transition-delay: 0.1s;
	width: 0.2rem;
	top: -3.4rem;
	background: linear-gradient(180deg, #988061 19%, #fff 19%);
}
#room.room .heading-box h2.effect_on:before {
	height: 17.9rem;
}
#room.room .slick-wrap {
	padding: 0 0 0 80px;
	justify-content: center;
}
#room.room .desc-wrap {
	padding: 9rem 17.7% 24rem;
}
#room.room .slick-wrap .room-slider {
	width: 55%;
}
#room.room .slick-wrap .room-thumb-list {
	width: 18%;
	margin-left: 7px;
}
#room.room .slick-wrap .room-thumb-list li {
	height: 100px;
	width: 168px;
}
#room.room .slick-wrap .room-thumb-list li:not(:first-child) {
	margin-top: 7px;
}
#room.room .slick-wrap .room-slider .slick-list,
#room.room .slick-wrap .room-slider .slick-list .slick-track,
#room.room .slick-wrap .room-slider .slick-list .slick-track,
#room.room .slick-wrap .room-slider .slick-list .slick-track .slick-slide,
#room.room .slick-wrap .room-slider .slick-list .slick-track .slick-slide div,
#room.room
	.slick-wrap
	.room-slider
	.slick-list
	.slick-track
	.slick-slide
	div
	li,
#room.room
	.slick-wrap
	.room-slider
	.slick-list
	.slick-track
	.slick-slide
	div
	li,
#room.room
	.slick-wrap
	.room-slider
	.slick-list
	.slick-track
	.slick-slide
	div
	li
	img {
	height: 100%;
	margin: auto;
}
#room.room
	.slick-wrap
	.room-slider
	.slick-list
	.slick-track
	.slick-slide
	div
	li
	.img {
	position: relative;
	background: #fff;
}
#room.room
	.slick-wrap
	.room-slider
	.slick-list
	.slick-track
	.slick-slide
	div
	li
	.img
	img {
	object-fit: cover;
	object-position: 50%;
	font-family: "object-fit: cover; object-position: 50%;";
}
#room.room
	.slick-wrap
	.room-slider
	.slick-list
	.slick-track
	.slick-slide
	div
	li:last-child
	.img
	img {
	max-width: 75rem;
}
#room.room
	.slick-wrap
	.room-slider
	.slick-list
	.slick-track
	.slick-slide
	div
	li:last-child
	.img
	img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: contain;
	font-family: "object-fit: contain;";
}
#room.room .slick-wrap .room-thumb-list li {
	cursor: pointer;
	position: relative;
	transition: 0.2s ease;
}
#room.room .slick-wrap .room-thumb-list li:hover {
	opacity: 0.6;
	cursor: pointer;
}
#room.room .slick-wrap .room-thumb-list li img {
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	font-family: "object-fit: cover; object-position: 50% 50%;";
}
#room.room .desc-wrap .desc-text {
	border-bottom: 1px solid #988061;
}
#room.room .facility_link {
	color: #988061;
	float: right;
}
#room.room .facility_link:hover {
	opacity: 1;
	color: #ec6e03;
}
#room.room dl {
	flex-wrap: wrap;
	padding: 7.5rem 0 11rem;
}
#room.room dl dt {
	width: 22%;
}
#room.room dl dd {
	width: 78%;
}
#room.room .slick-slide img {
	height: 618px;
	object-fit: cover;
}
#room.room:nth-of-type(2) .heading-box .text-treat {
	top: -1rem;
	left: -5rem;
	width: 26.7rem;
}
#room.room:nth-of-type(3) .heading-box .text-treat {
	top: -2rem;
	left: 0;
	width: 20.6rem;
}
#room.room:nth-of-type(4) .heading-box .text-treat {
	top: -3.5rem;
	left: -1rem;
	width: 21.2rem;
}
#room.room:nth-of-type(5) .heading-box .text-treat {
	top: -1rem;
	left: -0.8rem;
	width: 21.2rem;
}
#room.room .desc-wrap .desc-text {
	padding-bottom: 8rem;
}
/*-------------------------------------
アクセスページ　access
--------------------------------------*/
#access-img .back-img .img {
	position: fixed;
	background: url(../img/access/access_top.jpg) 50% 40% / cover;
	z-index: 1;
}

#access {
	background: #000 url("../img/front/front-comment-bg.jpg") 0/100%;
}
#access .container {
	padding: 60px 0;
}
#access h2 {
	color: #fff;
	margin-bottom: 15px;
}
#access .access-img {
	display: flex;
	height: 285px;
	margin-bottom: 40px;
	justify-content: space-between;
}
#access .access-img img {
	display: block;
	width: 285px;
	height: 100%;
	object-fit: cover;
	object-position: 50%;
	font-family: "object-fit: cover; object-position: 50% 50%;";
}
#access dl {
	display: flex;
	align-items: center;
	margin-bottom: 35px;
}
#access dl:last-of-type {
	margin-bottom: 45px;
}
#access dl dt {
	width: 104px;
	padding: 5px 8px;
	border: #fff solid 1px;
	font-size: 18px;
	color: #fff;
	display: flex;
	justify-content: space-around;
}
#access dl dt span {
	color: #fff;
	font-size: 18px;
}
#access dl dd {
	color: #fff;
	padding: 5px 8px;
	font-size: 18px;
	margin-left: 1rem;
}
#access dl dd a {
	color: #fff;
}
#access .access-map {
	width: 100%;
	height: 560px;
	background: #fff;
	margin-bottom: 40px;
}
#access .access h3 {
	align-items: baseline;
	color: #fff;
	font-size: 22px;
}
#access .access h3 img {
	display: block;
	width: 16px;
	margin-right: 10px;
}
#access .access p {
	color: #fff;
	font-size: 18px;
}
#access .notice {
	margin-top: 20px;
}
#access .notice p {
	color: #fff;
}
#access .notice a {
	color: #fff;
	text-decoration: underline;
}
#access .about {
	margin: 20px 0 50px;
}
#access .about .logo {
	justify-content: center;
	align-items: center;
}
#access .about .logo .h-logo {
	margin-right: 32px;
}
#access .about p {
	color: #fff;
	text-align: center;
	margin-top: 10px;
}

/*------\-------------------------------
ご予約ページ　reserve
--------------------------------------*/
#reserve {
	background: #f2f2f2;
	position: relative;
}
#reserve .container {
	padding: 60px 0;
}

/* aikou  反映済*/
#reserve .container > .note{
	margin: 0 auto;
	width: 540px;
}
#reserve .container > .note p:first-child{
	margin-bottom: 8px;
}


#reserve .reserve-form {
	background: #f2f2f2;
	padding: 60px 0;
}
#reserve .reserve-form dl {
	display: flex;
	width: 650px;
	margin: 0 auto 30px;
}

/* aikou  反映済*/
#reserve .reserve-form .cource {
	margin-bottom: 0;
	padding-bottom: 15px;
}
#reserve .reserve-form .caption {
	margin-bottom: 0;
}
#reserve .reserve-form .caption dd {
	margin-bottom: 30px;
	padding-left: 18px;
}
#reserve .reserve-form .group-lunch {
	margin-bottom: 10px;
}
#reserve .reserve-form .group-dinner {
	margin: 0 auto;
}
#reserve .reserve-form .selectable dd {
	margin-top: -20px;
}


#reserve .reserve-form dl dt {
	width: 40%;
	justify-content: flex-start;
}
#reserve .reserve-form dl dt span {
	color: #ff0000;
	font-size: 12px;
	margin-left: 0.5rem;
}
#reserve .reserve-form dl dt .requ {
	color: #fff;
	background: #f30;
	margin-right: 1rem;
	padding: 3px 5px;
}
#reserve .reserve-form dl dd {
	width: 60%;
}

/* aikou  反映済み*/
#reserve
	.reserve-form
	dl
	dd
	p
	.wpcf7-form-control-wrap
	.wpcf7-form-control
	.wpcf7-list-item
	label
	input {
	margin-bottom: 2px;
}

#reserve .reserve-form input[type="text"],
#reserve .reserve-form input[type="email"],
#reserve .reserve-form input[type="tel"],
#reserve .reserve-form input[type="date"],
#reserve .reserve-form input[type="number"],
#reserve .reserve-form select {
	border: #ccc solid 1px;
	padding: 3px 10px;
	background: #fff;
}
#reserve .reserve-form input[type="text"],
#reserve .reserve-form input[type="email"],
#reserve .reserve-form input[type="tel"] {
	width: 100%;
}
#reserve .reserve-form select {
	cursor: pointer;
}

#reserve .reserve-form input[type="submit"] {
	display: block;
	width: 30%;
	margin: 60px auto 0;
	padding: 15px;
	border-radius: 10px;
	box-shadow: 0 3px 0 #000;
	background: #333;
	color: #fff;
}
#reserve .reserve-form input[type="submit"]:active {
	box-shadow: none;
	transform: translate3d(0px, 3px, 1px);
}

.wpcf7-validation-errors {
	border: none !important;
	text-align: center;
	color: #f30;
}

/*-------------------------------------
新着情報アーカイブ
--------------------------------------*/
#news {
	background: #f2f2f2;
}
#news .container {
	padding: 60px 0;
}
#news .news-item {
	justify-content: space-between;
	background: #fff;
	margin-bottom: 20px;
	padding: 15px;
	box-sizing: border-box;
}
#news .news-item .news-img {
	width: 160px;
	height: 120px;
	border: 1px solid #f2f2f2;
}
#news .news-item .news-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	font-family: "object-fit: cover; object-position: center;";
}
#news .news-item .news-text {
	width: calc(100% - 180px);
}
#news .news-item .news-text h2 {
	font-size: 20px;
	line-height: 1.5;
}
#news .news-item .news-text time {
	align-items: center;
	font-size: 15px;
	margin-bottom: 4px;
}
#news .news-item .news-text time img {
	width: 15px;
	margin-right: 5px;
}
#news .news-item .news-text p {
	font-size: 14px;
}

#news .pager {
	justify-content: center;
	margin-top: 60px;
}
#news .pager span,
#news .pager a {
	margin-left: -1px;
}
#news .pager a {
	display: block;
}
#news .pager a:hover {
	background: #000;
	color: #fff;
	opacity: 1;
}
#news .pager .current {
	background: #000;
	color: #fff;
}
#news .pager .page-numbers {
	border: 1px solid #000;
	padding: 12px 16px;
}

/*-------------------------------------
新着情報シングルページ
--------------------------------------*/
#single {
	background: #f2f2f2 url("../img/bg-fly-gray.png") bottom 20px right -135px no-repeat;
}
#single .container {
	padding: 80px 0;
}
#single h1.title {
	padding-top: 193px;
}
#single h1.head {
	font-size: 30px;
	line-height: 1.5;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
}
#single time {
	align-items: center;
	margin: 0 0 40px 5px;
}
#single time img {
	width: 14px;
	margin-right: 5px;
}
#single .single-item .single-img {
	margin-bottom: 30px;
	width: 100%;
	height: 400px;
}
#single .single-item .single-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	font-family: "object-fit: cover; object-position: center;";
}

#single .post-link {
	display: flex;
	justify-content: center;
	margin-top: 80px;
}

#single .post-link a {
	position: relative;
	display: inline-block;
	padding: 0.9em 4em;
	background-color: #333;
	border: 2px solid #333;
	color: #fff;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s;
}
#single .post-link .previous a::after {
	position: absolute;
	top: 50%;
	right: 0.2em;
	content: "";
	margin-top: -5px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #fff;
	transition: all 0.3s;
}
#single .post-link .home a {
	margin: 0 -2px;
}
#single .post-link .next a:after {
	position: absolute;
	top: 50%;
	left: 0.2em;
	content: "";
	margin-top: -5px;
	border: 7px solid transparent;
	border-top-width: 5px;
	border-bottom-width: 5px;
	border-left-color: #fff;
	transition: all 0.3s;
	transform: rotate(180deg);
}
#single .post-link a:hover {
	background-color: #fff;
	color: #000;
}
#single .post-link a:hover:after {
	border-left-color: #333;
}

#single .single-item {
	font-size: 16px;
}
#single .single-item p {
	margin-bottom: 30px;
}
#single .single-item h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 30px;
}
#single .single-item h3 {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 30px;
}
#single .single-item h4 {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 30px;
}

#single .single-item a {
	text-decoration: underline;
}
#single .single-item strong {
	font-weight: 700;
}
#single .single-item em {
	font-style: italic;
}
#single .single-item ul,
#single .single-item ol {
	margin-bottom: 30px;
	padding-left: 1.5rem;
}
#single .single-item ul li {
	list-style-type: disc;
}
#single .single-item ol li {
	list-style-type: decimal;
}
#single .single-item blockquote {
	background: #fff;
	padding: 1.25rem 1.75rem;
	margin-bottom: 30px;
}
#single .single-item blockquote p:last-child {
	margin-bottom: 0;
}
#single .single-item hr {
	border-color: #000;
	margin: 30px 0;
}

#single .single-item img {
	display: block;
}
#single .single-item .alignleft {
	margin-right: auto;
	float: none;
}
#single .single-item .aligncenter {
	margin: 0 auto;
	float: none;
}
#single .single-item .alignright {
	margin-left: auto;
	float: none;
}
#single .single-item .wp-caption {
	max-width: 100%;
	margin: 0 0 30px;
	float: none;
}
#single .single-item .wp-caption img {
	width: 100%;
	height: auto;
}
#single .single-item .wp-caption .wp-caption-text {
	background: #fff;
	margin: 0;
	padding: 5px 10px;
	box-sizing: border-box;
}

/*-------------------------------------
404ページ
--------------------------------------*/
#no-page {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #f2f2f2 url("../img/bg-fly-gray.png") bottom 20px right -135px no-repeat;
	width: 100%;
	height: 100vh;
}
#no-page h1 {
	font-size: 42px;
	font-weight: 700;
	line-height: 1;
	margin-top: 40px;
}
#no-page p {
	font-size: 16px;
}
#no-page p.small {
	font-size: 14px;
	margin: 10px 0 30px;
}

/*-------------------------------------
店舗移転前ご予約ページ修正 aikou 反映済み
--------------------------------------*/

#reserve .reserve-form input[type="text"],
#reserve .reserve-form input[type="email"],
#reserve .reserve-form input[type="tel"] {
	width: 100%;
	box-sizing: border-box;
}

#reserve .reserve-form dl {
	width: 740px;
}

#reserve .reserve-form dl.group-lunch dd select,
#reserve .reserve-form dl.group-dinner dd select {
	width: 100%;
	cursor: pointer;
}

#reserve .reserve-form dl.group-dinner {
	position: relative;
	top: -10px;
}

.reserve-page .btn.opac {
	position: relative;
}
.reserve-page .btn.opac .external-icon {
	width: 12px;
	height: 12px;
	object-fit: contain;
	position: absolute;
	top: 50%;
	left: 54%;
	transform: translate(-50%, -50%);
}
