@charset "UTF-8";
/* ---------------------------------------------------
	header
---------------------------------------------------- */
.header {
	background: #fff;
	position: relative;
}

.header .logo {
	display: flex;
	justify-content: space-between;
	align-items: center;
		width: 96%;
	/*width: 140px;*/
	height: 60px;
		margin: auto;
	/*margin-left: auto;
	margin-right: 20px;*/
}
.header .logo div {
	height: 38px;
}
.header .logo div img {
	width: auto;
	height: 100%;
}

.header h1 {
	background: #fbf5e7;
}

@media screen and (max-width: 768px) {
	.header .logo {
		/*width: 110px;*/
		height: 50px;
	}
	.header .logo div {
		height: 30px;
	}
}

/* ---------------------------------------------------
	footer
---------------------------------------------------- */
.footer {
	padding-top: 75px;
}

.footer .container {
	max-width: 906px;
}

.footer .copy {
	font-size: 12px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.footer {
		padding-top: 7.2vw;
	}
	.footer .copy {
		font-size: 10px;
	}
}

/*
	note
------------------------------ */
.footer .note {
	margin-bottom: 80px;
}

@media screen and (max-width: 768px) {
	.footer .note {
		margin-bottom: 9.33333vw;
	}
}

/*
	reserve
------------------------------ */
.footer__info,
.reserve {
	margin: 0 auto 80px;
	max-width: 593px;
	color: #763b1e;
	text-align: center;
}

.footer__info,
.reserve .reserve__title {
	margin-bottom: 30px;
	color: #763b1e;
	font-size: 26px;
	border-bottom: solid 1px #763b1e;
}

.reserve .reserve__list {
	line-height: 1.5;
}

.reserve .reserve__list dt {
	font-size: 29px;
}

.reserve .reserve__list dd {
	margin-bottom: 50px;
	font-size: 43px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.reserve .reserve__list dd .title {
	font-size: 29px;
}

.reserve .reserve__list dd .tel {
	color: #e8380d;
	font-weight: bold;
	text-decoration: none;
	position: relative;
}

.reserve .reserve__list dd .tel.representative::after {
	color: #763b1e;
	font-size: 23px;
	content: "（代表）";
	position: absolute;
	right: -4em;
	bottom: 15%;
}

.reserve .reserve__list dd small {
	font-size: 23px;
}

.reserve .reserve__list dd .time {
	width: 100%;
	font-size: 22px;
	display: block;
}

@media screen and (max-width: 768px) {

	.footer__info,
	.reserve {
		margin-bottom: 3vw;
	}

	.footer__info,
	.reserve .reserve__title {
		margin-bottom: 5.73333vw;
		font-size: 3.46667vw;
	}

	.reserve .reserve__list dt {
		font-size: 3.46667vw;
	}

	.reserve .reserve__list dd {
		margin-bottom: 3.5vw;
		font-size: 5.73333vw;
	}

	.reserve .reserve__list dd .title {
		font-size: 3.46667vw;
	}

	.reserve .reserve__list dd .tel.representative::after {
		font-size: 3.06667vw;
		right: -4em;
		bottom: 15%;
	}

	.reserve .reserve__list dd small {
		font-size: 3.06667vw;
	}

	.reserve .reserve__list dd .time {
		font-size: 2.93333vw;
	}
}

/*
	line
------------------------------ */
.line {
	margin-bottom: 70px;
	text-align: center;
}

.line dt {
	margin-bottom: 20px;
	color: #00a65a;
	font-size: 25px;
	font-weight: bold;
}

.line dt small {
	line-height: 1;
	font-size: 20px;
	display: block;
}

.line dd .icon svg .cls-1 {
	fill: #fff;
}

.line dd .icon svg {
	width: 91px;
	height: auto;
}

.line dd .icon svg .cls-2 {
	fill: #00a65a;
}

.line dd .text {
	margin: 1em 0;
	font-size: 20px;
}

.line dd .keyword {
	background: #fff url(../img/icon1.svg) right 0.5em center no-repeat;
	margin: 0 auto;
	max-width: 311px;
	height: 33px;
	color: #4c4948;
	font-size: 20px;
	border: solid 1px #949495;
	border-radius: 33px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 768px) {
	.line {
		margin-bottom: 4.5vw;
	}

	.line dt {
		margin-bottom: 2vw;
		font-size: 3.2vw;
	}

	.line dt small {
		font-size: 2.66667vw;
	}

	.line dd {
		margin-bottom: 4vw;
	}

	.line dd .icon svg {
		width: 12.13333vw;
	}

	.line dd .text {
		font-size: 2.66667vw;
	}

	.line dd .keyword {
		background-size: auto 70%;
		max-width: 70%;
		height: 8.8vw;
		font-size: 2.66667vw;
		border-radius: 8.8vw;
	}
}

/*
	.address
------------------------------ */
.address {
	margin-bottom: 30px;
	color: #763b1e;
	text-align: center;
}

.address dt {
	margin: 0 auto 1em;
	max-width: 372px;
}

.address dt:first-child {
	margin: 0 auto 3em;
	max-width: 212px;
}

.address dd {
	font-size: 20px;
}

.address dd a {
	color: #763b1e;
	text-decoration: none;
}

.address dd .official {
	font-size: 24px;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	.address {
		margin-bottom: 6vw;
	}

	.address dt {
		max-width: 100%;
	}

	.address dt img {
		width: 49.6%;
	}

	.address dd {
		font-size: 2.66667vw;
	}

	.address dd .official {
		font-size: 3.2vw;
	}
}

/*
	.address
------------------------------ */
.sns {
	display: flex;
	justify-content: center;
	align-items: center;
}

.sns li {
	margin: 0 1em;
}

@media screen and (max-width: 768px) {
	.sns li a img {
		width: auto;
		height: 7.6vw;
	}
}

/*
	hotelNav
------------------------------ */
.footer__hotelNav {
	padding: 55px 0;
	line-height: 1;
	color: #333;
	display: flex;
	justify-content: center;
}

.footer__hotelNav::before {
	content: "｜";
}

.footer__hotelNav li {
	margin: 0;
	text-indent: 0;
}

.footer__hotelNav li::before {
	content: "";
}

.footer__hotelNav li::after {
	content: "｜";
}

.footer__hotelNav li a {
	padding: 0 1em;
	color: #333;
	text-decoration: none;
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.footer {
		padding-top: 13.02083vw;
	}

	.footer__hotelNav {
		padding: 7.8125vw 0 13.02083vw;
		line-height: 3;
		text-align: center;
		display: block;
	}

	.footer__hotelNav::before {
		content: "";
	}

	.footer__hotelNav li::before {
		content: "｜";
	}

	.footer__hotelNav li a {
		padding: 0 0.5em;
	}
}

/* ---------------------------------------------------
	main
---------------------------------------------------- */
.main .main__title {
	background: #e8380d;
	padding: 0.75em 0;
	color: #fff;
	font-size: 43px;
	text-align: center;
}

.main .main__title small {
	font-size: 21px;
	display: block;
}

@media screen and (max-width: 768px) {
	.main .main__title {
		font-size: 5.73333vw;
	}

	.main .main__title small {
		font-size: 3.3vw;
	}
}

/* ---------------------------------------------------
	option
---------------------------------------------------- */
.option {
	background: url(../img/bg.jpg) repeat;
	padding: 42px 0;
	color: #fff;
}

.option .container {
	max-width: 700px;
	line-height: 1.5;
}

.option .option__title {
	margin-bottom: 10px;
	line-height: 1;
	font-size: 31px;
	text-align: center;
}

.option .option__title small {
	font-size: 21px;
}

@media screen and (max-width: 768px) {
	.option {
		padding: 8.4vw 0;
	}

	.option .container {
		max-width: 100%;
	}

	.option .option__title {
		margin-bottom: 2vw;
		font-size: 4.13333vw;
	}

	.option .option__title small {
		font-size: 2.8vw;
	}
}

.option .option__picture {
	display: flex;
}

.option .option__picture dt {
	background: #fff;
	width: 23%;
	color: #e8380d;
	font-size: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.option .option__picture dd {
	margin-left: 2%;
	width: 75%;
	display: flex;
}

.option .option__list {
	width: 100%;
	justify-content: space-between;
}

.option .option__list li {
	display: flex;
	justify-content: space-between;
}

.option .option__list li .plan {
	width: 80%;
	font-size: 18px;
}

.option .option__list li .plan::before {
	content: "◆";
}

.option .option__list li .price {
	width: 20%;
	font-size: 21px;
	text-align: right;
}

@media screen and (max-width: 768px) {
	.option .option__picture dt {
		font-size: 2.66667vw;
	}

	.option .option__list li .plan {
		font-size: 2.4vw;
	}

	.option .option__list li .price {
		font-size: 2.8vw;
	}
}

.option .option__dressing {
	margin-top: 0.5em;
}

.option .option__dressing dt {
	background: #fff;
	color: #e8380d;
	font-size: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.option .option__dressing dd {
	margin-top: 0.5em;
	display: flex;
	justify-content: space-between;
}

.option .option__dressing dd table {
	width: 48%;
}

.option .option__dressing dd table th,
.option .option__dressing dd table td {
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 20px;
	vertical-align: top;
}

.option .option__dressing dd table .menu {
	font-size: 18px;
}

.option .option__dressing dd table .menu span::before {
	content: "◆";
}

.option .option__dressing dd table .price {
	text-align: right;
}

@media screen and (max-width: 768px) {
	.option .option__dressing dt {
		font-size: 2.8vw;
	}

	.option .option__dressing dd table th,
	.option .option__dressing dd table td {
		font-size: 2.66667vw;
	}

	.option .option__dressing dd table .menu {
		font-size: 2.4vw;
	}
}

.option .list.note {
	margin-top: 0.5em;
	font-size: 14px;
	display: flex;
	flex-wrap: wrap;
}

.option .list.note li {
	margin-right: 1em;
}

.option .list.note li:last-of-type {
	margin-right: 0;
}

@media screen and (max-width: 768px) {
	.option .list.note {
		font-size: 1.86667vw;
	}
}

/* ---------------------------------------------------
	privilege
---------------------------------------------------- */
.privilege {
	padding: 0 20px 100px;
}

.privilege .container {
	background: #fff;
	padding: 0;
	box-shadow: 5px 5px 5px rgba(158, 153, 94, 0.5);
	padding: 1.5em;
	max-width: 880px;
	border-right: solid 18px #bf9c46;
	border-left: solid 18px #bf9c46;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.privilege .container dl {
	text-align: center;
}

.privilege .container dt {
	color: #e8380d;
	font-size: 31px;
	letter-spacing: 1em;
}

.privilege .container dd {
	font-size: 20px;
}

.privilege .container .decoration {
	max-width: 190px;
	width: 22.61905%;
	position: absolute;
	top: -20%;
	right: 5%;
}

@media screen and (max-width: 768px) {
	.privilege {
		padding: 0 6.4vw 11.90476vw;
	}

	.privilege .container {
		border-right: solid 2.14286vw #bf9c46;
		border-left: solid 2.14286vw #bf9c46;
	}

	.privilege .container dt {
		font-size: 4.03646vw;
	}

	.privilege .container dd {
		font-size: 3.25521vw;
	}

	.privilege .container .decoration {
		max-width: 190px;
		width: 22.61905%;
		position: absolute;
		top: -20%;
		right: 5%;
	}
}

/* ---------------------------------------------------
	shop
---------------------------------------------------- */
.shop {
	margin: 0 auto;
	padding: 80px 20px 100px;
}

.shop .container {
	background: #fff;
	box-shadow: 5px 5px 5px rgba(158, 153, 94, 0.5);
	padding: 68px 90px;
	max-width: 880px;
	position: relative;
}

@media screen and (max-width: 768px) {
	.shop {
		padding: 11.90476vw 6.4vw;
	}

	.shop.cn {
		padding-top: 0;
	}

	.shop .container {
		padding: 5.46667vw 5.33333vw;
	}
}

.shop .container .decoration1,
.shop .container .decoration2 {
	position: absolute;
}

.shop .container .decoration1 {
	max-width: 168px;
	width: 19.39954%;
	top: -60px;
	left: -9.93072%;
}

.shop .container .decoration2 {
	max-width: 151px;
	width: 17.43649%;
	right: -8.77598%;
	bottom: 20px;
}

@media screen and (max-width: 768px) {
	.shop .container .decoration1 {
		max-width: 119px;
		width: 15.86667%;
		top: -8vw;
		left: -6vw;
	}


	.shop .container .decoration2 {
		max-width: 118px;
		width: 15.73333%;
		right: -6vw;
		bottom: -8vw;
	}
}

/*
	shop__title
------------------------------ */
.shop .shop__title {
	margin-bottom: 1em;
	display: flex;
	justify-content: center;
	align-items: center;
}

.shop .shop__title .text {
	margin-left: 1em;
}

.shop .shop__title .text span {
	line-height: 1;
	font-size: 25px;
	display: block;
}

.shop .shop__title .text small {
	margin: 0.5em 0 0 0.25em;
	padding: 0.025em 0.5em;
	color: #c4664a;
	font-size: 18px;
	border: solid 1px #c4664a;
	display: inline-block;
}

.shop .shop__title .text small.ppl {
	color: #a32963;
	border: solid 1px #a32963;
}

@media screen and (max-width: 768px) {
	.shop .shop__title .text span {
		font-size: 3.33333vw;
	}

	.shop .shop__title .text small {
		font-size: 2.4vw;
	}
}

/* img */
.shop.jp .shop__title img {
	width: 118px;
}

.shop.cn .shop__title img {
	width: 162px;
}

@media screen and (max-width: 768px) {
	.shop.jp .shop__title img {
		width: 18.84984%;
	}

	.shop.cn .shop__title img {
		width: 25.87859%;
	}
}

/*
	shop__time
------------------------------ */
.shop .shop__time {
	margin: 0 auto 2em;
}

.shop .shop__time th,
.shop .shop__time td {
	font-size: 18px;
	vertical-align: top;
}

.shop .shop__time th {
	width: 16%;
	color: #c4664a;
	text-align: right;
	white-space: nowrap;
}

.shop .shop__time th.ppl {
	color: #a32963;
}

.shop .shop__time th span {
	padding-right: 1em;
	display: block;
	position: relative;
}

.shop .shop__time th span::after {
	position: absolute;
	top: 0;
	right: 0;
	content: "／";
}

@media screen and (max-width: 768px) {
	.shop .shop__time {
		width: 90%;
	}

	.shop .shop__time th,
	.shop .shop__time td {
		font-size: 3.2vw;
	}
}

/*
	course
------------------------------ */
.shop .course {
	margin: 0 auto 4em;
	width: 100%;
}

.shop .course .image {
	margin: 0 auto 10px;
	/* max-width: 490px; */
}

.shop .course .course__title {
	margin-bottom: 10px;
	font-size: 31px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.shop .course .course__title b {
	font-size: 52px;
}

@media screen and (max-width: 768px) {
	.shop .course {
		margin: 0 auto 2em;
	}

	.shop .course .image {
		margin: 0 auto 1.33333vw;
	}

	.shop .course .course__title {
		margin-bottom: 1.33333vw;
		font-size: 4.13333vw;
	}

	.shop .course .course__title b {
		font-size: 6.93333vw;
	}
}

/* price */
.shop .course .price {
	margin: 0 auto 10px;
}

.shop .course .price th,
.shop .course .price td {
	line-height: 1.2;
}

.shop .course .price th {
	padding-right: 1em;
}

.shop .course .price td {
	font-size: 32px;
}

@media screen and (max-width: 768px) {
	.shop .course .price {
		margin: 0 auto 1.33333vw;
	}

	.shop .course .price th {
		font-size: 3.2vw;
	}

	.shop .course .price td {
		font-size: 4.26667vw;
	}
}

/* menu */
.shop .course table.menu {
	width: 100%;
}

.shop .course div.menu,
.shop .course div.menu h5 {
	font-size: 18px;
	/* display: flex;
	justify-content: center; */
}

.shop .course .menu th,
.shop .course .menu td,
.shop .course p.menu,
.shop .course div.menu h5 {
	font-size: 18px;
	vertical-align: top;
}

.shop .course div.menu h5 {
	width: 100%;
}

.shop .course .menu th {
	width: 17.5%;
	width: 16%;
}

.shop .course .menu th.ls2 span {
	letter-spacing: 1.75em;
}

.shop .course .menu th.ls3 span {
	letter-spacing: 0.35em;
}

@media screen and (max-width: 768px) {

	.shop .course .menu th,
	.shop .course .menu td,
	.shop .course .menu p,
	.shop .course div.menu h5 {
		font-size: 3.2vw;
	}

	.shop .course .menu th {
		width: 22.5%;
	}
}

/*
	color
------------------------------ */
.shop.jp .course .course__title,
.shop.jp .course .price td,
.shop.jp .course .menu th {
	color: #c4664a;
}

.shop.cn .course .course__title,
.shop.cn .course .price td {
	color: #894176;
}

.shop.cn .linkBtn a {
	background: #894176;
}

/*
	course(child)
------------------------------ */
.shop .course.child {
	margin: 0 auto 4em;
	padding: 34px 42px;
	width: 100%;
	border-radius: 20px;
	position: relative;
}

.shop.jp .course.child {
	background: #f8ede2;
}

.shop.cn .course.child {
	background: #faeff4;
}

.shop .course.child .course__title {
	margin-bottom: 10px;
	font-size: 31px;
}

@media screen and (max-width: 768px) {
	.shop .course.child {
		margin: 0 auto 2em;
		padding: 4.53333vw 2.93333vw;
	}

	.shop .course.child .image {
		margin: 0 auto 1.33333vw;
	}

	.shop .course.child .course__title {
		margin-bottom: 1.33333vw;
		font-size: 4.13333vw;
	}
}

/* price */
.shop .course.child .price {
	margin: 0 auto 10px;
}

.shop .course.child .price th,
.shop .course.child .price td {
	line-height: 1.2;
}

.shop .course.child .price th {
	padding-right: 1em;
}

.shop .course.child .price td {
	font-size: 32px;
}

@media screen and (max-width: 768px) {
	.shop .course.child .price {
		margin: 0 auto 1.33333vw;
	}

	.shop .course.child .price th {
		/* font-size: 2.13333vw; */
		font-size: 2.93333vw;
	}

	.shop .course.child .price td {
		font-size: 4.26667vw;
	}
}

/* menu */
.shop .course.child table.menu {
	width: 100%;
}

.shop .course.child div.menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.shop .course.child div.menu h5 {
	width: 100%;
}

.shop .course.child .menu th,
.shop .course.child .menu td,
.shop .course.child p.menu,
.shop .course.child div.menu h5 {
	font-size: 18px;
	vertical-align: top;
}

.shop .course.child .menu th {
	width: 17.5%;
}

.shop .course.child .menu th.ls2 {
	letter-spacing: 1.75em;
}

.shop .course.child .menu th.ls3 {
	letter-spacing: 0.35em;
}

@media screen and (max-width: 768px) {

	.shop .course.child .menu th,
	.shop .course.child .menu td,
	.shop .course.child div.menu h5 {
		font-size: 2.93333vw;
		font-size: 3.2vw;
	}

	.shop .course.child div.menu h5 {
		width: 100%;
	}

	.shop .course.child .menu th {
		width: 25.5%;
	}
}

/* svg */
.shop .course.child svg {
	position: absolute;
	top: 1.5em;
	right: 1.5em;
}

.shop .course.child svg .cls-2 {
	isolation: isolate;
}

.shop .course.child svg .cls-3 {
	mix-blend-mode: multiply;
	opacity: .3;
}

@media screen and (max-width: 768px) {
	.shop .course.child svg {
		width: 7.2vw;
		height: auto;
		top: 4vw;
		right: 15vw;
	}
}

/*
	color
------------------------------ */
.shop.jp .course .course__title,
.shop.jp .course .price td,
.shop.jp .course .menu th {
	color: #e8380d;
}

.shop.cn .course .course__title,
.shop.cn .course .price td {
	color: #a32963;
}

.shop.jp .course.child svg .cls-1 {
	fill: #d0863f;
}

.shop.cn .course.child svg .cls-1 {
	fill: #ca5c8e;
}