@charset "UTF-8";

/* ----------------------------------------------------
	lead
---------------------------------------------------- */
.lead {
	background: url(../img/bgLead.jpg) center no-repeat;
	background-size: cover;
	padding: 100px 0;
	color: rgb(var(--wht));
}

.lead .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.lead {
		background: rgb(var(--dark-blue));
		padding: 16vw 0 8vw;
	}

	.lead .container {
		display: block;
	}
}

/*
	lead__section1
------------------------------ */
.lead__title {
	width: 44.70450%;
	text-align: center;
}

.lead__title figure img {
	width: 63.99453%;
}

.lead__title figcaption {
	margin-top: 2rem;
	font-family: var(--mrs-eaves);
	font-size: 20px;
}

@media screen and (max-width: 1000px) {
	.lead__title figcaption {
		font-size: 2vw;
	}
}

@media screen and (max-width: 768px) {
	.lead__title {
		margin-bottom: 2rem;
		width: 100%;
	}

	.lead__title figure img {
		width: 47.90832%;
	}

	.lead__title figcaption {
		font-size: 4.26667vw;
		letter-spacing: -0.005em;
	}
}

/*
	lead__section2
------------------------------ */
.lead__text {
	width: 51.39573%;
	line-height: 1.5;
}

.lead__text .linkText {
	margin-top: 2rem;
}

.lead__text .linkText a {
	color: rgb(var(--wht));
	font-family: var(--mincho);
}

@media screen and (max-width: 1000px) {
	.lead__text {
		font-size: 1.6vw;
	}
}

@media screen and (max-width: 768px) {
	.lead__text {
		width: 100%;
	}

	.lead__text {
		font-size: 3.2vw;
	}
}

/* ----------------------------------------------------
	dinner
---------------------------------------------------- */
.dinner {
	background: url(../img/bg.jpg) center top no-repeat;
	background-size: cover;
	padding-top: 100px;
	color: rgb(var(--wht));
}

@media screen and (max-width: 768px) {
	.dinner {
		background: rgb(var(--dark-blue));
		padding-top: 16vw;
	}
}

/*
	dinner__title
------------------------------ */
.dinner__title {
	margin: 0 auto 5rem;
	width: 29.07522%;
}

@media screen and (max-width: 768px) {
	.dinner__title {
		margin-bottom: 2rem;
		width: calc(29.07522% * 2.5);
	}
}

/*
	dinner__menu
------------------------------ */
.dinner__menu {
	margin: 0 auto 4rem;
	max-width: 1000px;
	line-height: 1.5;
	font-size: 18px;
	display: flex;
}

.dinner__menu.sp {
	padding: 2.5rem 0;
	border-top: solid 1px rgb(var(--green));
	border-bottom: solid 1px rgb(var(--green));
}

.dinner__menu:last-of-type {
	margin-bottom: 100px;
}

.dinner__menu dt {
	width: 28%;
	font-family: var(--mincho);
}

.dinner__menu dt span {
	font-family: var(--gothic);
	display: block;
}

.dinner__menu dt span.type1 {
	color: rgb(var(--red));
}

.dinner__menu dt span.type2 {
	color: rgb(var(--green));
}

.dinner__menu dd {
	width: 72%;
}

.dinner__menu dd .text small {
	font-size: 14px;
}

.dinner__menu .note {
	margin-top: 1rem;
}

.dinner__menu .note li {
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	.dinner__menu {
		margin-bottom: 2.5rem;
		font-size: 4.26667vw;
		display: block;
	}

	.dinner__menu:last-of-type {
		margin-bottom: 16vw;
	}

	.dinner__menu dt,
	.dinner__menu dd {
		width: 100%;
	}

	.dinner__menu dt {
		margin-bottom: 1rem;
	}

	.dinner__menu dd .text small,
	.dinner__menu .note li {
		font-size: 3.2vw;
	}
}

/* ----------------------------------------------------
	special
---------------------------------------------------- */
.special {
	background: url(../img/bg.jpg) center top no-repeat;
	background-size: cover;
	padding: 100px 0;
	color: rgb(var(--wht));
}

@media screen and (max-width: 768px) {
	.special {
		background: rgb(var(--dark-blue));
		padding: 16vw 0;
	}
}

/*
	detail__title
------------------------------ */
.special .detail .detail__title {
	margin-bottom: 2rem;
	text-align: center;
}

.special .detail .detail__title span {
	margin-bottom: 1rem;
	line-height: 1;
	font-family: var(--mrs-eaves);
}

.special .detail .detail__title .category {
	background: rgb(var(--green));
	padding: 0.25rem 1rem;
	font-size: 20px;
	border-radius: 30px;
	display: inline-block;
}

.special .detail .detail__title .main {
	font-size: 28px;
	display: block;
}

.special .detail .detail__title small {
	display: block;
}

.special .detail .detail__contents .list {
	margin-top: 2rem;
}

@media screen and (max-width: 768px) {
	.special .detail .detail__title .category {
		font-size: 4.26667vw;
	}

	.special .detail .detail__title .main {
		font-size: 5.33333vw;
	}

	.special .detail .detail__title small {
		font-size: 3.2vw;
	}
}

/*
	special__presentation
------------------------------ */
.special__presentation {
	margin-bottom: 5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.special__presentation .image {
	width: 50.81156%;
}

.special__presentation .detail {
	width: calc(100% - 50.81156%);
	padding-left: 3rem;
}

@media screen and (max-width: 768px) {
	.special__presentation {
		flex-direction: column-reverse;
	}

	.special__presentation .image {
		width: 38.56%;
	}

	.special__presentation .detail {
		margin-bottom: 2rem;
		width: 100%;
		padding-left: 0;
	}
}

/*
	special__wine
------------------------------ */
.special__wine .detail {
	margin-bottom: 4rem;
	text-align: center;
}

.special__wine .detail__title .main i {
	padding-bottom: 80px;
	display: block;
	position: relative;
}

.special__wine .detail__title .main i::before,
.special__wine .detail__title .main i::after {
	background: rgb(var(--wht));
	width: 70px;
	height: 1px;
	display: block;
	position: absolute;
	bottom: 40px;
	left: 50%;
	content: "";
}

.special__wine .detail__title .main i::before {
	transform: translateX(-50%) rotate(45deg);
}

.special__wine .detail__title .main i::after {
	transform: translateX(-50%) rotate(-45deg);
}

@media screen and (max-width: 768px) {
	.special__wine .detail__title .main i {
		padding-bottom: 16vw;
	}

	.special__wine .detail__title .main i::before,
	.special__wine .detail__title .main i::after {
		width: 9.11458vw;
		bottom: 7.81250vw;
	}
}

/*
	special__wine--list
------------------------------ */
.special__wine--list {
	margin: 0 auto;
	max-width: 1000px;
	display: flex;
	flex-wrap: wrap;
}

.special__wine--list li {
	margin-bottom: 3rem;
	width: 48%;
	display: flex;
	justify-content: space-between;
}

.special__wine--list li:not(:nth-child(even)) {
	margin-right: 4%;
}

@media screen and (max-width: 768px) {
	.special__wine--list {
		flex-wrap: wrap;
	}

	.special__wine--list li {
		margin-bottom: 2rem;
		width: 100%;
	}

	.special__wine--list li:not(:nth-child(even)) {
		margin-right: 0;
	}
}

/* image */
.special__wine--list li .wineImage {
	width: 16.22062%;
}

/* detail */
.special__wine--list li .wineDetail {
	line-height: 1.5;
	width: calc(100% - 16.22062% - 2rem);
}

.special__wine--list li .wineDetail dt span {
	margin-bottom: 1rem;
	color: rgb(var(--red));
	display: flex;
}

.special__wine--list li .wineDetail dt span::before {
	content: "●";
}

.special__wine--list li .wineDetail dd {
	margin-top: 1rem;
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	.special__wine--list li .wineDetail dd {
		font-size: 3.2vw;
	}
}

/* ----------------------------------------------------
	chef
---------------------------------------------------- */
.chef {
	background: #CDCECF;
	padding: 100px 0;
}

@media screen and (max-width: 768px) {
	.chef {
		padding: 16vw 0;
	}

	.chef .container {
		padding: 0;
	}
}

/*
	reservation__title
------------------------------ */
.chef__title {
	margin: 0 auto 2rem;
	width: 38.98179%;
}

@media screen and (max-width: 768px) {
	.chef__title {
		width: calc(45.5535% * 2);
	}
}

/*
	reservation__kv
------------------------------ */
.chef__kv {
	margin-bottom: 4rem;
}

/*
	reservation__movie
------------------------------ */
.chef__movie {
	margin: 0 auto 4rem;
	max-width: 640px;
	width: 100%;
}

@media screen and (max-width: 768px) {
	.chef__movie {
		padding: 0 4.8vw;
		max-width: 100%;
	}
}

/*
	reservation__profile
------------------------------ */
.chef__profile:not(:last-of-type) {
	margin-bottom: 6rem;
}

@media screen and (max-width: 768px) {
	.chef__profile {
		padding: 0 4.8vw;
	}
}

/* image */
.chef__profile .image {
	margin: 0 auto 2rem;
	width: 49.24513%
}

@media screen and (max-width: 768px) {
	.chef__profile .image {
		width: 55%
	}
}

/* detail */
.chef__profile .detail {
	/* padding-bottom: 1rem; */
	font-size: 14px;
	display: flex;
	justify-content: space-between;
}

.chef__profile .detail:not(:first-of-type) {
	padding-top: 2rem;
}

.chef__profile .detail__name {
	width: 46.36329%;
}

.chef__profile.ja .detail__name {
	width: 47.49726%;
}

.chef__profile .detail__name dt {
	margin-bottom: 1rem;
	line-height: 1;
	font-family: var(--mincho);
	font-size: 26px;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
}

.chef__profile .detail__name dt span {
	margin-bottom: 0.5em;
	width: 100%;
	font-size: 23px;
	display: block;
}

.chef__profile .detail__name dt small {
	margin-left: 0.5rem;
	font-size: 19px;
}

.chef__profile .detail__name dd {
	margin-bottom: 2rem;
}

.chef__profile .detail__prof {
	width: 47.55063%;
}

@media screen and (max-width: 768px) {
	.chef__profile .detail {
		margin-bottom: 2rem;
		font-size: 3.2vw;
		letter-spacing: -0.005em;
		display: block;
	}

	.chef__profile .detail__name {
		width: 100%;
	}

	.chef__profile.ja .detail__name {
		width: 100%;
	}

	.chef__profile .detail__name dt {
		font-size: 4.26667vw;
	}

	.chef__profile .detail__name dt span {
		font-size: 3.73333vw;
	}

	.chef__profile .detail__name dt small {
		font-size: 3.73333vw;
	}

	.chef__profile .detail__prof {
		width: 100%;
	}
}

/*
	reservation__message
------------------------------ */
.reservation__message {
	margin-top: 2rem;
	padding: 3rem;
	font-size: 14px;
	border: solid 2px rgb(var(--wht));
}

.reservation__message dt {
	margin-bottom: 1rem;
	line-height: 1;
	color: rgb(var(--red));
	font-family: var(--mrs-eaves);
	font-size: 28px;
}

.reservation__message dd .sign {
	text-align: right;
}

.reservation__message dd .sign img {
	width: 51.04127%
}

.reservation__message dd.ja .sign img {
	width: 34.794%
}

@media screen and (max-width: 768px) {
	.reservation__message {
		padding: 1.5rem;
		font-size: 3.2vw;
	}

	.reservation__message dt {
		font-size: 6.4vw;
		;
	}

	.reservation__message dd .sign {
		margin-top: 1rem;
		text-align: center;
	}

	.reservation__message dd .sign img {
		width: calc(51.04127% * 1.8);
	}

	.reservation__message dd.ja .sign img {
		width: calc(34.794% * 1.8)
	}
}

/* ----------------------------------------------------
	hotel
---------------------------------------------------- */
.hotel {
	background: rgb(var(--wht));
	display: flex;
}

@media screen and (max-width: 768px) {
	.hotel {
		padding-top: 16vw;
		display: block;
	}
}

/*
	hotel__detail
------------------------------ */
.hotel__detail {
	width: calc(100% - 56.0469%);
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
}

.hotel__detail dl {
	margin-right: 3em;
	width: 70%;
	font-size: 14px;
}

.hotel__detail dl .hotel__detail--title {
	margin-bottom: 1em;
	line-height: 1.5;
	font-family: var(--mincho);
	font-size: 24px;
	font-weight: bold;
}

@media screen and (max-width: 1380px) {
	.hotel__detail dl {
		font-size: 1.01449vw;
	}

	.hotel__detail dl .hotel__detail--title {
		font-size: 1.73913vw;
	}
}

@media screen and (max-width: 768px) {
	.hotel__detail {
		padding: 0 4.8vw;
		width: 100%;
	}

	.hotel__detail dl {
		margin-right: 0;
		margin-bottom: 16vw;
		width: 100%;
		font-size: 3.2vw;
	}

	.hotel__detail dl .hotel__detail--title {
		font-size: 4.8vw;
	}
}

/*
	hotel__image
------------------------------ */
.hotel__image {
	width: 56.0469%;
}

@media screen and (max-width: 768px) {
	.hotel__image {
		width: 100%;
	}
}

/* ----------------------------------------------------
	reservation
---------------------------------------------------- */
.reservation {
	background: url(../img/bg.jpg) center top no-repeat;
	background-size: cover;
	padding-top: 100px;
	color: rgb(var(--wht));
}

@media screen and (max-width: 768px) {
	.reservation {
		background: rgb(var(--dark-blue));
		padding-top: 16vw;
	}
}

/*
	reservation__title
------------------------------ */
.reservation__title {
	margin: 0 auto 2rem;
	width: 43.24353%;
}

@media screen and (max-width: 768px) {
	.reservation__title {
		width: calc(43.24353% * 2);
	}
}

/*
	reservation__menu
------------------------------ */
.reservation__menu--item {
	text-align: center;
}

.reservation__menu--item:not(:last-of-type) {
	margin-bottom: 4rem;
}

.reservation__menu--item .menuTitle {
	margin-bottom: 0.4rem;
	line-height: 1;
	color: rgb(var(--red));
	font-family: var(--mrs-eaves);
	font-size: 28px;
}

.reservation__menu--item .menuTitle small {
	margin: 0.5rem 0 1rem;
	font-family: var(--gothic);
	font-weight: 500;
	font-size: 16px;
	display: block;
}

.reservation__menu--item .menuText {
	font-size: 20px;
}

.reservation__menu--item .menuText small {
	font-size: 16px;
	display: block;
}

@media screen and (max-width: 768px) {
	.reservation__menu--item:not(:last-of-type) {
		margin-bottom: 2.5rem;
	}

	.reservation__menu--item .menuTitle {
		font-size: 6.4vw;
	}

	.reservation__menu--item .menuText {
		font-size: 4.26667vw;
	}

	.reservation__menu--item .menuText small {
		font-size: 3.2vw;
	}
}

/* price-list */
.reservation__menu--item ul.price-list {
	margin-bottom: 4rem;
}

.reservation__menu--item .price-list .price {
	font-size: 25px;
	display: block;
}

.reservation__menu--item .price-list dt {
	margin-bottom: 1rem;
	line-height: 1;
	color: #B19984;
	font-family: var(--mrs-eaves);
	font-size: 28px;
}

.reservation__menu--item .price-list dd {
	margin-bottom: 4rem;
}

.reservation__menu--item .price-list dd .note {
	margin-top: 1rem;
}

.reservation__menu--item .price-list dd .note li {
	font-size: 18px;
	justify-content: center;
}

@media screen and (max-width: 768px) {
	.reservation__menu--item .price-list .price {
		font-size: 5.6vw;
	}

	.reservation__menu--item .price-list dt {
		font-size: 6.4vw;
		letter-spacing: -0.005em;
	}

	.reservation__menu--item .price-list dd .note li {
		font-size: 2.93333vw;
	}
}

/*
	linkBtn
------------------------------ */
.reservation .linkBtn {
	margin: 4rem 0;
	text-align: center;
}

.reservation .linkBtn a {
	background: rgb(var(--red));
	margin: 0 auto;
	max-width: 630px;
	height: 100px;
	font-family: var(--mrs-eaves);
	font-size: 28px;
}

@media screen and (max-width: 768px) {
	.reservation .linkBtn a {
		max-width: 100%;
		height: 16vw;
		font-size: 6.4vw;
	}
}

/*
	reservationRoom
------------------------------ */
.reservationRoom {
	margin-bottom: 4rem;
	display: flex;
}

.reservationRoom li {
	width: calc((100% - 1%) / 3);
}

.reservationRoom li:not(:last-of-type) {
	margin-right: 1%;
}

@media screen and (max-width: 768px) {
	.reservationRoom {
		display: block;
	}

	.reservationRoom li {
		width: 100%;
	}

	.reservationRoom li:not(:last-of-type) {
		margin-right: 0;
		margin-bottom: 0.5rem;
	}
}

/*
	telNumber
------------------------------ */
.telNumber {
	padding-bottom: 100px;
	text-align: center;
}

.telNumber__tilte {
	margin-bottom: 2rem;
	font-size: 20px;
	font-weight: 500;
}

.telNumber a {
	line-height: 1.5;
	color: var(--wht);
	font-family: var(--mincho);
	font-size: 44px;
	text-decoration: none;
}

@media screen and (max-width: 768px) {
	.telNumber {
		padding-bottom: 16vw;
	}

	.telNumber__tilte {
		font-size: 4.26667vw;
	}

	.telNumber a {
		font-size: 6.4vw;
	}
}

/* ----------------------------------------------------
	corporation
---------------------------------------------------- */
.corporation {
	background: url(../img/bg.jpg) center top no-repeat;
	background-size: cover;
	color: rgb(var(--wht));
	padding: 100px 0;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.corporation {
		background: rgb(var(--dark-blue));
		padding: 16vw 0;
	}
}

/*
	corporation__title
------------------------------ */
.corporation__title {
	margin-bottom: 2rem;
	line-height: 1;
	font-family: var(--mrs-eaves);
	font-size: 28px;
}

@media screen and (max-width: 768px) {
	.corporation__title {
		font-size: 6.4vw;
	}
}

/*
	corporation__text
------------------------------ */
.corporation__text {
	margin-bottom: 2rem;
	font-size: 14px;
}

@media screen and (max-width: 768px) {
	.corporation__text {
		font-size: 3.2vw;
	}
}

/*
	corporation__logo
------------------------------ */
.corporation__logo {
	margin: 0 auto 4rem;
	max-width: 860px;
}

/*
	note
------------------------------ */
.corporation .note {
	margin-bottom: 1rem;
	font-size: 12px;
	text-align: left;
}

@media screen and (max-width: 768px) {
	.corporation .note {
		font-size: 2.93333vw;
	}
}

/* ----------------------------------------------------
	milan
---------------------------------------------------- */
.milan {
	background: rgb(var(--wht));
	padding: 100px 0;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.milan {
		padding: 16vw 0;
	}
}

/*
	milan__title
------------------------------ */
.milan__title {
	margin: 0 auto 2rem;
	max-width: 380px;
}

@media screen and (max-width: 768px) {
	.milan__title {
		max-width: 75%;
	}
}

/*
	milan__text
	linkText
------------------------------ */
.milan__text,
.milan .linkText {
	margin-bottom: 2rem;
	font-size: 18px;
}

.milan .linkText a {
	color: var(--blk);
	font-family: var(--mincho);
}

@media screen and (max-width: 768px) {

	.milan__text,
	.milan .linkText {
		font-size: 4.26667vw;
	}
}

/*
	milan__image
------------------------------ */
.milan__image {
	display: flex;
}

.milan__image li {
	width: calc((100% - 1%) / 3);
}

.milan__image li:not(:last-of-type) {
	margin-right: 1%;
}

@media screen and (max-width: 768px) {
	.milan__image {
		display: block;
	}

	.milan__image li {
		width: 100%;
	}

	.milan__image li:not(:last-of-type) {
		margin-right: 0;
		margin-bottom: 0.5rem;
	}
}