*,*::before,*::after {
	box-sizing: border-box
}

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
	background: rgba(0,0,0,0)
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block
}

blockquote,q {
	quotes: none
}

blockquote:before,blockquote:after,q:before,q:after {
	content: "";
	content: none
}

* {
	-webkit-text-size-adjust: none
}

a {
	text-decoration: none
}

em {
	font-style: normal
}

fieldset,img {
	border: 0
}

ol,ul {
	list-style: none
}

abbr,acronym {
	border: 0
}

.CLEAR {
	clear: both;
	height: 0;
	font-size: 0px;
	line-height: 0
}

.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden
}

.hidden {
	display: none !important
}

* html .clearfix {
	height: 1%
}

*:first-child+html .clearfix {
	min-height: 1%
}

.scrollHint,.slick-slider .slick-dots li button::before,.controlBox .slick-dots li button::before,.slick-slider .slick-arrow::before,.controlBox .slick-arrow::before,.slick-slider .slick-arrow,.controlBox .slick-arrow,.imh_opacity img,.pageBox .pageList a.prevBtn::before,.pageBox .pageList a.nextBtn::before,.classBox a,.classBox span,.bookingArea .bookingCountDropDown .countBox .btnCount i,.bookingArea .bookingCountDropDown .countBox .btnCount,.privacyArea,footer .infoBox .contactBtnBox .icon svg,footer .infoBox .contactBtnBox .icon,footer .infoBox .contactBtnBox a,.slideMenuArea .menuBox .nav .submenu .submenuItemTitle.hasThirdMenu::before,.slideMenuArea .menuBox .nav .submenu .submenuItemTitle.hasThirdMenu::after,.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span>a::before,.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span>a::after,.slideMenuTrigger .line::before,.slideMenuTrigger .line::after,.slideMenuTrigger,header .menu dl.list dd a,header .menu .subMenu,header .menu>li,header,.topFunctionBox .languageBox .languageList,.moduleMask,.moduleBox.cart .cartList .del,.moduleBox.privacy .customList .topBox .trigger label span::before,.moduleBox.privacy .customList .topBox .trigger label span,.moduleBox.privacy .customList .topBox .subtitle,.moduleBox.privacy .customList .topBox::before,.moduleBox.privacy .btnBox .btn.textLink::before,.moduleBox .moduleClose,.btnBox .btn.animation::after,.btnBox .btn,button,a,.formBox .columnCheckBox .columnCheckLabel .columnCheck::after,.formBox .columnCheckBox .columnCheckLabel .columnCheck::before {
	transition: all .5s ease-in-out
}

.formBox.changePassword {
	max-width: 640px;
	margin: 0 auto
}

.formBox .formList {
	align-items: flex-start;
	color: #2f2f2f;
	display: flex;
	flex-wrap: wrap;
	font-size: 16px;
	margin-left: -10px;
	margin-right: -10px;
	position: relative
}

.formBox .formRow {
	display: flex;
	flex-wrap: wrap
}

.formBox .formColumn {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	padding: 15px 10px;
	position: relative
}

.formBox .formColumn.select {
	position: relative
}

.formBox .formColumn.select::before {
	content: "";
	width: 8px;
	height: 8px;
	border-right: 2px solid #626262;
	border-bottom: 2px solid #626262;
	pointer-events: none;
	position: absolute;
	bottom: 35px;
	right: 20px;
	z-index: 1;
	transform: rotate(45deg)
}

.formBox .formColumn.pt0 {
	padding-top: 0
}

.formBox .formColumn.pb0 {
	padding-bottom: 0
}

@media(max-width: 1180px) {
	.formBox .formColumn {
		padding: 10px
	}
}

.formBox .columnTitle {
	width: 100%;
	font-weight: 500;
	letter-spacing: .02rem;
	line-height: 1.25;
	margin-bottom: 12px;
	position: relative
}

.formBox .columnTitle.withCheckBox {
	width: auto
}

.formBox .columnTitle.withCheckBox+.columnCheckBox {
	margin-left: 10px;
	margin-bottom: 12px
}

.formBox .columnTitle.requireStyle {
	padding-left: 10px
}

.formBox .columnTitle.requireStyle::before {
	content: "*";
	color: red;
	font-size: 18px;
	font-weight: 700;
	position: absolute;
	top: 3px;
	left: 0;
	z-index: 1
}

.formBox .columnCheckBox {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	margin: 0 -5px
}

.formBox .columnCheckBox .columnCheckLabel {
	align-items: center;
	cursor: pointer;
	display: flex;
	padding: 2px 5px
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck {
	width: 16px;
	height: 16px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	background: rgba(0,0,0,0);
	border: none;
	cursor: pointer;
	display: inline-block;
	margin: 0;
	outline: 0;
	position: relative
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0);
	border-radius: 50%;
	border: 1px solid #cecece;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, -50%)
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck::after {
	content: "";
	width: 50%;
	height: 50%;
	background-color: #333;
	border-radius: 50%;
	display: inline-block;
	opacity: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	transform: translate(-50%, -50%)
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck:checked::after {
	opacity: 1
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck:disabled::before {
	background-color: #e5e5e5 !important
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck:disabled::after {
	background-color: #b5b5b5 !important
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck:disabled+span {
	color: #737373 !important
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck.square::before,.formBox .columnCheckBox .columnCheckLabel .columnCheck.square::after {
	border-radius: 0
}

.formBox .columnCheckBox .columnCheckLabel .columnCheck.error::before {
	border-color: #c4252b
}

.formBox .columnCheckBox .columnCheckBoxTitle {
	display: inline-block;
	font-size: 15px;
	line-height: 1;
	letter-spacing: .02rem;
	margin-left: 4px
}

.formBox .columnSelect {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: rgba(0,0,0,0);
	border: none;
	border-radius: 0;
	font-size: 16px;
	font-family: "Noto Sans TC","Microsoft JhengHei",sans-serif;
	outline: none;
	padding: 5px 25px 5px 10px;
	margin: 0
}

.formBox .columnSelect:disabled {
	background-color: #e5e5e5 !important;
	color: #737373 !important
}

.formBox .columnInput {
	padding: 5px 10px
}

.formBox .columnInput::-moz-placeholder {
	color: #a6a6a6
}

.formBox .columnInput::placeholder {
	color: #a6a6a6
}

.formBox .columnInput:disabled {
	background-color: #e5e5e5 !important;
	color: #737373 !important
}

.formBox .columnArea {
	height: 200px;
	padding: 10px
}

@media(max-width: 1180px) {
	.formBox .columnArea {
		height: 120px;
		padding: 5px 10px
	}
}

.formBox .columnInput,.formBox .columnSelect,.formBox .columnArea {
	width: 100%;
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 3px;
	color: #737373;
	font-weight: 500
}

.formBox .columnInput,.formBox .columnSelect {
	height: 45px
}

.formBox .btnBox {
	width: 100%
}

.formBox .noteTxt {
	width: 100%;
	color: #999;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: .02rem;
	margin-top: 10px
}

.formBox .noteTxt.red {
	color: red
}

@media(max-width: 1180px) {
	.formBox .noteTxt {
		font-size: 14px
	}
}

.formBox .error {
	border-color: red !important
}

@keyframes btnAni {
	20% {
		background-color: rgba(196,37,43,.3)
	}

	100% {
		transform: scale(1.3);
		background-color: rgba(0,0,0,0)
	}
}

@keyframes imgLoading {
	0% {
		background-position: 100% 50%
	}

	100% {
		background-position: 0% 50%
	}
}

@keyframes slideLeftAnimation {
	0% {
		opacity: 0;
		transform: translateX(10px)
	}

	100% {
		opacity: 1;
		transform: translateX(0)
	}
}

@keyframes slideDownAnimation {
	0% {
		opacity: 0;
		transform: translateY(-10px)
	}

	100% {
		opacity: 1;
		transform: translateY(0)
	}
}

@keyframes slideUpAnimation {
	0% {
		opacity: 0;
		transform: translateY(10px)
	}

	100% {
		opacity: 1;
		transform: translateY(0)
	}
}

@keyframes rotate {
	to {
		transform: rotate(360deg)
	}
}

@keyframes aniSlideLeft {
	0% {
		transform: translateX(10px);
		opacity: 0
	}

	100% {
		transform: translateX(0);
		opacity: 1
	}
}

@keyframes aniSlideDown {
	0% {
		transform: translateY(-10px);
		opacity: 0
	}

	100% {
		transform: translateY(0);
		opacity: 1
	}
}

@keyframes bannerScrollAnimation {
	0% {
		height: 0
	}

	50% {
		height: 100%;
		transform: translateY(0)
	}

	100% {
		transform: translateY(100%)
	}
}

@keyframes scrollHorizontal {
	100% {
		transform: translateX(-30px);
		opacity: 0
	}
}

@keyframes scrollVertical {
	100% {
		transform: translateY(-20px);
		opacity: 0
	}
}

@keyframes textSlideRightAnimation {
	0% {
		opacity: 0;
		transform: translateX(10px)
	}

	100% {
		opacity: 1;
		transform: translateX(0)
	}
}

@keyframes textSlideDownAnimation {
	0% {
		opacity: 0;
		transform: translateY(-10px)
	}

	100% {
		opacity: 1;
		transform: translateY(0)
	}
}

@keyframes circularMotion {
	0% {
		transform: translate(0, 0)
	}

	25% {
		transform: translate(40px, -30px)
	}

	50% {
		transform: translate(0, -60px)
	}

	75% {
		transform: translate(-40px, -30px)
	}

	100% {
		transform: translate(0, 0)
	}
}

@keyframes verticalMove {
	0% {
		transform: translateY(0)
	}

	50% {
		transform: translateY(-20px)
	}

	100% {
		transform: translateY(0)
	}
}

@keyframes horizontalMove {
	0% {
		transform: translateX(0)
	}

	50% {
		transform: translateX(15px)
	}

	100% {
		transform: translateX(0)
	}
}

@keyframes scrollLeft {
	0% {
		transform: translateX(0)
	}

	100% {
		transform: translateX(-50%)
	}
}

@keyframes scrollRight {
	0% {
		transform: translateX(-50%)
	}

	100% {
		transform: translateX(0)
	}
}

@keyframes aiTextLight {
	0% {
		width: calc(100% + 0px);
		height: calc(100% + 0px);
		opacity: .75;
		border-radius: 22px
	}

	100% {
		border-radius: 32px;
		width: calc(100% + 20px);
		height: calc(100% + 20px);
		opacity: 0
	}
}

@keyframes bannerFadeIn {
	from {
		opacity: 0
	}

	to {
		opacity: 1
	}
}

@keyframes bannerFloat {
	0%,100% {
		transform: translateY(0)
	}

	50% {
		transform: translateY(-12px)
	}
}

@keyframes bannerRise {
	from {
		opacity: 0;
		transform: translateY(24px)
	}

	to {
		opacity: 1;
		transform: translateY(0)
	}
}

@keyframes bannerRiseSolid {
	from {
		transform: translateY(24px)
	}

	to {
		transform: translateY(0)
	}
}

@keyframes lineCtaGlow {
	0%,100% {
		box-shadow: 0 4px 16px rgba(76,199,100,.45)
	}

	50% {
		box-shadow: 0 4px 24px rgba(76,199,100,.65)
	}
}

body {
	background-color: #fff;
	font-size: 16px;
	font-family: "Lato","Noto Sans TC","Microsoft JhengHei",sans-serif
}

@media(max-width: 1180px) {
	body {
		font-size: 15px
	}
}

@media(max-width: 768px) {
	body {
		font-size: 14px
	}
}

body.overflow,body.disableScroll {
	overflow: hidden
}

@media(max-width: 640px) {
	body:not(.WebSiteHome) .bannerArea .bannerItem .Img {
		padding-bottom: 56.25%
	}
}

body.errorPage .mainArea {
	width: 100%;
	min-height: calc(100vh - 300px);
	min-height: calc(100dvh - 300px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10vh 0
}

body.errorPage .mainArea .top {
	color: #c4252b;
	margin: 0 auto;
	text-align: center
}

body.errorPage .mainArea .errorTitle {
	font-size: 32px;
	font-weight: 500
}

@media(max-width: 1180px) {
	body.errorPage .mainArea .errorTitle {
		font-size: 26px
	}
}

body.errorPage .mainArea .errorCode {
	font-size: 50px
}

@media(max-width: 1180px) {
	body.errorPage .mainArea .errorCode {
		font-size: 40px;
		display: block
	}
}

body.errorPage .mainArea .errorText {
	font-size: 24px;
	font-weight: 400;
	line-height: 1.5
}

body.errorPage .mainArea .errorText a {
	padding: 0 5px
}

@media(max-width: 1180px) {
	body.errorPage .mainArea .errorText {
		font-size: 20px
	}
}



button {
	cursor: pointer
}

select {
	cursor: pointer
}

textarea {
	resize: vertical
}

input[type=file],input[type=file]::-webkit-file-upload-button {
	cursor: pointer
}

.Img img {
	height: auto
}

div.titan {
	display: none
}

.titleBox {
	margin-bottom: 10px;
	position: relative
}

.titleBox.textLeft {
	text-align: left
}

.titleBox .decoTitle {
	color: #202020;
	font-size: 16px;
	line-height: normal;
	padding-bottom: 4px
}

@media(max-width: 1180px) {
	.titleBox .decoTitle {
		font-size: 14px
	}
}

@media(max-width: 768px) {
	.titleBox .decoTitle {
		font-size: 12px;
		padding-bottom: 0
	}
}

.titleBox .title {
	color: #c4252b;
	font-size: 36px;
	font-weight: 700;
	line-height: normal
}

@media(max-width: 1180px) {
	.titleBox .title {
		font-size: 32px
	}
}

@media(max-width: 768px) {
	.titleBox{margin-bottom: 10px;}
	.titleBox .title {
		font-size: 20px
	}
}

.titleBox .subtitle {
	color: #202020;
	font-size: 28px;
	font-weight: 700;
	line-height: normal;
	padding-top: 4px
}

@media(max-width: 1180px) {
	.titleBox .subtitle {
		font-size: 24px
	}
}

@media(max-width: 768px) {
	.titleBox .subtitle {
		font-size: 22px;
		padding-top: 0
	}
}

.titleBox .text {
	color: #343434;
	font-size: 16px;
	line-height: normal;
	padding-top: 15px;
}

@media(max-width: 1180px) {
	.titleBox .text {
		font-size: 15px;
		padding-top: 20px
	}
}

@media(max-width: 768px) {
	.titleBox .text {
		font-size: 14px;
		padding-top: 10px;
		line-height: 1.6;
	}
}

.btnBox {
	margin-top: 20px
}

.btnBox.flex {
	align-items: center;
	display: flex;
	justify-content: center;
	margin-left: -6px;
	margin-right: -6px
}

.btnBox.flex.left {
	justify-content: flex-start
}

.btnBox.flex.right {
	justify-content: flex-end
}

.btnBox.flex .btn {
	min-width: auto;
	max-width: 200px;
	flex: 1;
	margin: 0 6px
}

.btnBox.single.center {
	text-align: center
}

.btnBox.single .btn {
	width: 100%;
	max-width: 200px
}

@media(max-width: 480px) {
	.btnBox.single .btn {
		max-width: 100%
	}
}

.btnBox.full .btn {
	width: 100%
}

.btnBox .btn {
	width: 240px;
	height: 50px;
	background-color: #cf253e;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(14px,1.5vw,16px);
	color: #fff;
	border-radius: 10px;
	letter-spacing: 1px
}

.btnBox .btn .btnText {
	display: inline-block
}

@media(max-width: 768px) {
	.btnBox .btn {
		padding: 13px
	}
}

@media(min-width: 1181px) {
	.btnBox .btn:hover {
		background-color: #fff;
		border-color: #c4252b;
		color: #c4252b
	}
}

.btnBox .btn.small {
	font-size: 13px;
	padding: 10px 15px
}

.btnBox .btn.animation {
	overflow: hidden
}

.btnBox .btn.animation::after {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
	width: 0;
	height: 100%;
	background-color: #fff
}

@media(min-width: 1181px) {
	.btnBox .btn.animation:hover::after {
		width: 100%;
		left: 0;
		right: auto
	}
}

.btnBox .btn.bgMain {
	background-color: #c4252b;
	border: 1px solid #c4252b;
	color: #fff
}

@media(min-width: 1181px) {
	.btnBox .btn.bgMain:hover {
		border-color: #202020;
		background-color: #202020
	}
}

.btnBox .btn.bgSecond {
	background-color: #202020;
	border: 1px solid #202020;
	color: #fff
}

@media(min-width: 1181px) {
	.btnBox .btn.bgSecond:hover {
		color: #202020
	}

	.btnBox .btn.bgSecond:hover:not(.animation) {
		background-color: #fff
	}
}

.btnBox .btn.colorMain {
	background-color: #fff;
	border: 1px solid #c4252b;
	color: #c4252b
}

.btnBox .btn.colorMain.animation::after {
	background-color: #c4252b
}

@media(min-width: 1181px) {
	.btnBox .btn.colorMain:hover {
		color: #fff
	}

	.btnBox .btn.colorMain:hover:not(.animation) {
		background-color: #c4252b
	}
}

.btnBox .btn.colorSecond {
	background-color: #fff;
	border: 1px solid #202020;
	color: #202020
}

.btnBox .btn.colorSecond.animation::after {
	background-color: #202020
}

@media(min-width: 1181px) {
	.btnBox .btn.colorSecond:hover {
		color: #fff
	}

	.btnBox .btn.colorSecond:hover:not(.animation) {
		background-color: #202020
	}
}

.btnBox .btn.rounded {
	border-radius: 24.5px
}

.btnBox .btn.roundedSlightly {
	border-radius: 4px
}

.outerWrap {
	max-width: 1920px;
	margin: 0 auto;
	padding-top:50px;
	position: relative
}

@media(max-width: 1180px) {
	.outerWrap {
		padding-bottom: env(safe-area-inset-bottom);	
	}
	.outerWrap{padding-top: 20px;}
}

.wrap {
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	padding-left: 50px;
	padding-right: 50px
}

@media(max-width: 1180px) {
	.wrap {
		padding-left: 30px;
		padding-right: 30px
	}
}

@media(max-width: 768px) {
	.wrap {
		padding-left: 20px;
		padding-right: 20px
	}
}

@media(min-width: 1181px)and (max-width: 1536px) {
	.wrap {
		max-width: 90vw
	}
}

.moduleBox {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 1005;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding-left: 20px;
	padding-right: 20px;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition-property: top,opacity,visibility;
	transition-duration: .5s;
	transition-timing-function: ease-in-out
}

.moduleBox.show {
	opacity: 1;
	visibility: visible
}

.moduleBox.show .moduleWrap {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto
}

.moduleBox .moduleWrap {
	position: relative;
	width: 100%;
	max-width: 960px;
	background-color: #fff;
	pointer-events: none;
	padding-top: 60px;
	opacity: 0;
	transform: translateY(30px);
	transition: all .5s
}

.moduleBox .moduleTitle {
	color: #000;
	font-weight: 400;
	font-size: 24px;
	letter-spacing: .05em;
	padding-bottom: 10px;
	text-align: center
}

.moduleBox .moduleContent {
	width: 100%;
	padding-left: 30px;
	padding-right: 30px;
	padding-bottom: 30px
}

.moduleBox .moduleContent::-webkit-scrollbar-track {
	box-shadow: inset 0 0 5px rgba(0,0,0,.15);
	background-color: #f1f1f1
}

.moduleBox .moduleContent::-webkit-scrollbar {
	width: 5px;
	height: 5px;
	background-color: #f1f1f1
}

.moduleBox .moduleContent::-webkit-scrollbar-thumb {
	background: #c4252b
}

.moduleBox .moduleClose {
	width: 50px;
	height: 50px;
	background: none;
	background-color: #c4252b;
	border: none;
	cursor: pointer;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1
}

.moduleBox .moduleClose::before,.moduleBox .moduleClose::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -15px;
	margin-top: -0.5px;
	width: 30px;
	height: 1px;
	background-color: #fff
}

.moduleBox .moduleClose::before {
	transform: rotate(45deg)
}

.moduleBox .moduleClose::after {
	transform: rotate(-45deg)
}

@media(min-width: 1181px) {
	.moduleBox .moduleClose:hover {
		background-color: #000
	}
}

.moduleBox.privacy .moduleWrap {
	max-width: 700px;
	padding-top: 50px;
	position: relative;
	z-index: 1004
}

.moduleBox.privacy .moduleTitle {
	font-size: 20px;
	font-weight: 600;
	padding-bottom: 15px;
	text-align: left
}

@media(max-width: 640px) {
	.moduleBox.privacy .moduleTitle {
		font-size: 18px;
		padding-bottom: 10px
	}
}

.moduleBox.privacy .moduleContent {
	max-height: calc(90vh - 50px);
	overflow-y: auto
}

.moduleBox.privacy .settingBox+.settingBox {
	margin-top: 25px
}

.moduleBox.privacy .text {
	font-size: 15px;
	line-height: 1.35
}

@media(max-width: 640px) {
	.moduleBox.privacy .text {
		font-size: 14px
	}
}

.moduleBox.privacy .btnBox {
	justify-content: space-between;
	margin-top: 20px
}

.moduleBox.privacy .btnBox .btn:not(.textLink) {
	padding: 10px 15px
}

.moduleBox.privacy .btnBox .btn.textLink {
	display: inline-block;
	font-size: 15px;
	font-weight: 500;
	position: relative
}

.moduleBox.privacy .btnBox .btn.textLink::before {
	content: "";
	width: 0;
	height: 1px;
	background-color: #c4252b;
	position: absolute;
	bottom: -3px;
	left: 50%
}

@media(min-width: 1181px) {
	.moduleBox.privacy .btnBox .btn.textLink:hover::before {
		width: 100%;
		left: 0
	}
}

.moduleBox.privacy .customList .customItem:not(:last-child) {
	padding-bottom: 10px
}

.moduleBox.privacy .customList .topBox {
	align-items: center;
	display: flex;
	justify-content: space-between;
	margin-bottom: 15px;
	position: relative
}

.moduleBox.privacy .customList .topBox::before {
	content: "";
	width: 9px;
	height: 9px;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	pointer-events: none;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-80%) rotate(-45deg)
}

.moduleBox.privacy .customList .topBox.open::before {
	transform: translateY(-100%) rotate(45deg)
}

.moduleBox.privacy .customList .topBox .subtitle {
	width: 100%;
	cursor: pointer;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	padding: 10px 20px 10px 0
}

.moduleBox.privacy .customList .topBox .trigger {
	font-size: 15px;
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 20px;
	z-index: 2;
	transform: translateY(-50%)
}

.moduleBox.privacy .customList .topBox .trigger .alwaysOn {
	color: #c4252b;
	font-size: 15px;
	font-weight: 500;
	display: inline-block;
	line-height: 1.35;
	padding-bottom: 3px
}

.moduleBox.privacy .customList .topBox .trigger label {
	cursor: pointer;
	display: inline-block
}

.moduleBox.privacy .customList .topBox .trigger label[for=cookie_necessary] {
	cursor: not-allowed
}

.moduleBox.privacy .customList .topBox .trigger label input[type=checkbox] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	opacity: 0;
	width: 100%;
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0
}

.moduleBox.privacy .customList .topBox .trigger label input[type=checkbox]:checked+span {
	background-color: rgb(225.5905579399,99.2094420601,103.9785407725)
}

.moduleBox.privacy .customList .topBox .trigger label input[type=checkbox]:checked+span::before {
	background-color: rgb(215.0622317597,43.4377682403,49.9141630901);
	transform: translate(75%, -50%)
}

.moduleBox.privacy .customList .topBox .trigger label span {
	width: 38px;
	height: 14px;
	border-radius: 30px;
	background-color: #d9d9d9;
	display: block;
	margin-left: auto;
	position: relative
}

.moduleBox.privacy .customList .topBox .trigger label span::before {
	content: "";
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background-color: #b5b5b5;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
	transform: translateY(-50%)
}

@media(min-width: 1181px) {
	.moduleBox.privacy .customList .topBox:hover .subtitle {
		color: #c4252b
	}
}

@media(max-width: 640px) {
	.moduleBox.privacy .customList .topBox {
		margin-bottom: 5px
	}
}

.moduleBox.privacy .customList .text {
	background-color: #e1e1e1;
	padding: 18px 15px
}

@media(max-width: 640px) {
	.moduleBox.privacy .customList .text {
		padding: 15px 12px
	}
}

.moduleBox.cart .moduleWrap {
	max-width: 480px
}

.moduleBox.cart .text {
	color: #373737;
	font-size: 14px;
	letter-spacing: .05em;
	text-align: center
}

.moduleBox.cart .text b {
	padding-left: 4px;
	padding-right: 4px;
	font-weight: 400;
	font-size: 18px;
	color: #c4252b
}

.moduleBox.cart .cartBox {
	max-height: 50vh;
	border-top: 2px solid #c4252b;
	border-bottom: 2px solid rgba(0,0,0,.1);
	margin-top: 20px;
	margin-bottom: 20px;
	overflow-y: auto;
	padding-top: 15px;
	padding-bottom: 15px
}

.moduleBox.cart .cartList .cartItem {
	width: 100%;
	display: flex
}

.moduleBox.cart .cartList .cartItem:not(:first-child) {
	border-top: 1px solid rgba(0,0,0,.1);
	margin-top: 12px;
	padding-top: 12px
}

.moduleBox.cart .cartList .Img {
	width: 100px;
	padding-right: 10px
}

.moduleBox.cart .cartList .Img img {
	width: 100%;
	height: auto;
	display: block;
	backface-visibility: hidden
}

.moduleBox.cart .cartList .Txt {
	min-width: 0;
	flex: 1;
	padding-right: 10px;
	position: relative
}

.moduleBox.cart .cartList .title {
	min-width: 0;
	flex: 1;
	padding-right: 5px
}

.moduleBox.cart .cartList .title a {
	color: #000;
	display: block;
	font-size: 15px;
	font-weight: 400;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

@media(min-width: 1181px) {
	.moduleBox.cart .cartList .title a:hover {
		color: #c4252b
	}
}

.moduleBox.cart .cartList .spec {
	color: #6a6a6a;
	font-size: 14px;
	margin-bottom: 3px
}

.moduleBox.cart .cartList .num {
	color: #6a6a6a;
	font-size: 14px;
	line-height: 1
}

.moduleBox.cart .cartList .del {
	width: 35px;
	height: 35px;
	border: none;
	background-color: #eee;
	border-radius: 50%;
	color: #5f5f5f;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center
}

@media(min-width: 1181px) {
	.moduleBox.cart .cartList .del:hover {
		background-color: #c4252b;
		color: #fff
	}
}

.moduleBox.cart .cartList .del svg {
	width: 15px;
	height: 18px;
	display: inline-block;
	vertical-align: middle
}

@media(max-width: 400px) {
	.moduleBox.cart .cartList .Img {
		width: 85px
	}
}

.moduleBox.orderCheck .moduleWrap {
	max-width: 480px
}

.moduleBox.orderCheck .formBox {
	max-height: 50vh;
	overflow-x: hidden;
	overflow-y: auto
}

.moduleBox.search .moduleWrap {
	max-width: 480px
}

.moduleBox.search .moduleContent {
	max-height: calc(90vh - 50px);
	overflow-y: auto
}

.moduleBox.search .searchBox {
	margin: 30px 0;
	position: relative
}

.moduleBox.search .searchBox input[type=text] {
	width: 100%;
	display: block;
	border: 1px solid #e1e1e1;
	padding: 12px 55px 12px 15px
}

.moduleBox.search .searchBox button {
	width: 50px;
	height: 50px;
	background-color: #c4252b;
	color: #fff;
	display: block;
	font-size: 16px;
	flex-shrink: 0;
	line-height: 50px;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translateY(-50%);
	text-align: center
}

@media(min-width: 1181px) {
	.moduleBox.search .searchBox button:hover {
		background-color: #000
	}
}

.moduleBox.cookie .moduleWrap {
	max-width: 480px
}

.moduleBox.cookie .text {
	font-size: 14px;
	letter-spacing: .5px;
	line-height: 1.6
}

.moduleMask {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1003;
	background-color: rgba(0,0,0,.7);
	opacity: 0;
	visibility: hidden;
	pointer-events: none
}

.moduleMask.show {
	opacity: 1;
	visibility: visible;
	pointer-events: auto
}

.topFunctionBox {
	display: flex;
	justify-content: flex-end;
	width: 100%;
	background-color: #f7f7f7
}

@media(max-width: 1180px) {
	.topFunctionBox {
		display: none
	}
}

.topFunctionBox .wrap {
	width: 100%;
	display: flex;
	justify-content: flex-end;
	padding-bottom: 5px;
	padding-top: 5px
}

.topFunctionBox .wrap>a {
	font-size: 14px;
	letter-spacing: .5px
}

.topFunctionBox .wrap>a:before {
	content: "��";
	display: inline-block;
	vertical-align: top;
	margin: 0 5px
}

.topFunctionBox .loginBox {
	position: relative;
	z-index: 1
}

.topFunctionBox .loginBox>a {
	display: inline-block;
	font-size: 14px;
	letter-spacing: .5px
}

.topFunctionBox .loginBox>a:before {
	content: "��";
	display: inline-block;
	vertical-align: top;
	margin: 0 5px
}

.topFunctionBox .loginBox .submenu {
	position: absolute;
	left: 50%;
	margin-left: -80px;
	top: 130%;
	width: 160px;
	padding-top: 10px;
	opacity: 0;
	pointer-events: none;
	transition: all .5s
}

.topFunctionBox .loginBox .submenu a {
	display: block;
	text-align: center;
	padding: 10px;
	background-color: #fff
}

.topFunctionBox .loginBox .submenu a:not(:last-child) {
	border-bottom: 1px solid #eee
}

@media(min-width: 1181px) {
	.topFunctionBox .loginBox:hover .submenu {
		top: 100%;
		opacity: 1;
		pointer-events: auto
	}
}

.topFunctionBox .searchBox {
	display: flex
}

.topFunctionBox .searchBox input[type=text] {
	width: 100%;
	height: 45px;
	padding: 0 15px;
	border: none;
	background-color: #fafafa
}

.topFunctionBox .searchBox button {
	flex-shrink: 0;
	display: block;
	width: 45px;
	height: 45px;
	line-height: 45px;
	font-size: 16px;
	color: #fff;
	text-align: center;
	background-color: #c4252b
}

.topFunctionBox .languageBox {
	margin: 0 15px 0 10px;
	position: relative;
	z-index: 2;
	font-size: 14px
}

.topFunctionBox .languageBox .languageCurrent {
	cursor: pointer;
	padding-right: 10px;
	position: relative
}

.topFunctionBox .languageBox .languageCurrent::before {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 1px solid #232323;
	border-bottom: 1px solid #232323;
	position: absolute;
	top: 50%;
	right: 0;
	z-index: 1;
	transform: translate(100%, -50%) rotate(45deg)
}

.topFunctionBox .languageBox .languageList {
	width: 100%;
	background-color: #fff;
	box-shadow: 0 3px 6px rgba(0,0,0,.1);
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 1
}

.topFunctionBox .languageBox .languageList.show {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(10px)
}

.topFunctionBox .languageBox .languageList li:not(:first-child) {
	border-top: 1px solid rgba(0,0,0,.1)
}

.topFunctionBox .languageBox .languageList li a {
	display: block;
	font-size: 14px;
	line-height: 1;
	letter-spacing: .5px;
	padding: 10px 10px;
	text-align: center
}

@media(min-width: 1181px) {
	.topFunctionBox .languageBox .languageList li a:hover {
		background-color: #c4252b;
		color: #fff
	}
}

.topFunctionBox .languageBox .languageList li a.current {
	background-color: #c4252b;
	color: #fff
}

header {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 78px;
	z-index: 99;
	background-color: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.08)
}

header .wrap {
	height: 100%;
	align-items: center;
	display: flex;
	align-items: stretch;
	position: relative
}

@media(max-width: 1024px) {
	header .wrap {
		justify-content: space-between;
		align-items: center;
		border-top: 3px solid #c4252b
	}
}

@media(max-width: 640px) {
	header .wrap {
		align-items: center
	}
	
header {

	height: 58px;
	
}
	
}

header .logo {
	display: flex;
	align-items: center;
	border-top: 3px solid #c4252b;
	font-size: 0;
	max-width: 150px;
	padding-right: 0px
}

@media(max-width: 1180px) {
	header .logo {
		height: 100%;
		border-top: none
	}
}

header .logo img {
	width: 100%;
	height: auto;
	display: block;
	backface-visibility: hidden
}

header .menuBox {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: stretch;
	border-top: 3px solid #c4252b
}

@media(max-width: 1024px) {
	header .menuBox {
		display: none
	}
}

header .menu {
	width: 80%;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	list-style: none;
	padding: 0;
	margin: 0;
	margin-left: 20%;
}

header .menu>li {
	height: 100%;
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	letter-spacing: .45px
}

header .menu>li>a,header .menu>li>span>a {
	position: relative;
	display: block;
	font-size:1rem;
	color: #343434;
	padding: 0 20px;
	white-space: nowrap;
}

@media(min-width: 1181px) {
	header .menu>li>a:hover,header .menu>li>span>a:hover {
		color: #c4252b
	}
}

@media(max-width: 1400px) {
	header .menu>li>a,header .menu>li>span>a {
		font-size: 14px;
		padding: 0 14px
	}
}

@media(max-width: 1280px) {
	header .menu>li>a,header .menu>li>span>a {
		font-size: 13px;
		padding: 0 10px
	}
}

@media(max-width: 1180px) {
	header .menu>li>a,header .menu>li>span>a {
		font-size: 12px;
		padding: 0 8px
	}
}

header .menu>li>a.current,header .menu>li>span>a.current {
	color: #c4252b
}

header .menu>li.dropDown:hover>.subMenu,header .menu>li.dropDown.open>.subMenu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto
}

header .menu>li.dropDown:hover>span>a,header .menu>li.dropDown:hover>a,header .menu>li.dropDown.open>span>a,header .menu>li.dropDown.open>a {
	color: #c4252b
}

header .menu>li.special {
	max-width: 168px;
	background-color: #c4252b;
	position: relative
}

header .menu>li.special::before {
	content: "";
	position: absolute;
	width: 80%;
	height: 70%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border: 1px solid hsla(0,0%,100%,.3)
}

@media(min-width: 1181px) {
	header .menu>li.special:hover {
		background-color: #343434
	}
}

header .menu>li.special a {
	color: #fff
}

header .menu .subMenu {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	background-color: rgba(0,0,0,0)
}

header .menu .subMenu.large {
	width: 100%;
	max-width: 1400px;
	left: 50px;
	transform: translateX(0);
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 36px 20px 50px 30px
}

header .menu .subMenu.large::before {
	content: "";
	position: absolute;
	width: 100%;
	height: calc(100% - 10px);
	background-color: #fff;
	border: 1px solid #e9e9e9;
	top: 10px;
	left: 0;
	z-index: -1
}

header .menu .introMenu {
	width: 22%;
	display: flex;
	flex-direction: column;
	position: relative
}

header .menu .introMenu .listTitle {
	margin-bottom: 20px
}

header .menu .introMenu .listTitle a {
	font-size: 14px;
	color: #c4252b
}

header .menu .listWrap {
	flex-grow: 1;
	max-width: 26%;
	display: flex;
	justify-content: left;
	padding: 5px 20px
}

header .menu .largeLink {
	display: block;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.75;
	padding: 5px 0
}

header .menu .bottomLinkBox {
	margin-top: auto
}

header .menu dl.list {
	margin: 0;
	padding: 0;
	width: auto;
	flex: unset
}

header .menu dl.list dt {
	color: #c4252b;
	font-size: 14px;
	padding: 0 0 8px;
	border-bottom: 1px solid rgba(196,37,43,.2);
	margin-bottom: 4px
}

header .menu dl.list dt a {
	color: currentColor
}

header .menu dl.list dd {
	margin: 0;
	padding: 0
}

header .menu dl.list dd a {
	color: #3b3b3b;
	display: block;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 20px;
	padding: 5px 0
}

@media(min-width: 1181px) {
	header .menu dl.list dd a:hover {
		color: #c4252b
	}
}

.slideMenuTrigger {
	width: 50px;
	height: 50px;
	align-items: center;
	background-color: rgba(0,0,0,0);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	justify-content: center;
	position: relative
}

@media(min-width: 1025px) {
	.slideMenuTrigger {
		display: none
	}
}

.slideMenuTrigger .line {
	width: 50%;
	height: 1px;
	background-color: #c4252b;
	display: inline-block;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	transition: background-color .3s .3s ease-in-out
}

.slideMenuTrigger .line::before,.slideMenuTrigger .line::after {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #c4252b;
	position: absolute;
	z-index: 1;
	transition: background-color .3s 0s ease-in-out,transform .3s .3s ease-in-out
}

.slideMenuTrigger .line::before {
	top: 0;
	left: 0;
	transform: translateY(-8px)
}

.slideMenuTrigger .line::after {
	bottom: 0;
	right: 0;
	transform: translateY(8px)
}

.slideMenuTrigger.close {
	margin-left: 0
}

.slideMenuTrigger.close .line {
	background-color: rgba(0,0,0,0);
	transition: background-color .5s 0s ease-in-out,transform .5s 0s ease-in-out
}

.slideMenuTrigger.close .line::before,.slideMenuTrigger.close .line::after {
	transition: background-color .5s 0s ease-in-out,transform .5s 0s ease-in-out
}

.slideMenuTrigger.close .line::before {
	top: 0;
	left: 0;
	transform: translateY(0) rotate(45deg)
}

.slideMenuTrigger.close .line::after {
	bottom: 0;
	right: 0;
	transform: translateY(0) rotate(-45deg)
}

@media(min-width: 1181px) {
	.slideMenuTrigger.close:hover span {
		transform: rotate(180deg)
	}
}

@media(min-width: 1181px) {
	.slideMenuTrigger:hover {
		background-color: #fff
	}

	.slideMenuTrigger:hover span {
		background-color: rgba(0,0,0,0);
		transition: background-color .3s 0s ease-in-out,transform .3s .6s ease-in-out
	}

	.slideMenuTrigger:hover span::before,.slideMenuTrigger:hover span::after {
		background-color: #c4252b;
		transition: background-color .3s 0s ease-in-out,transform .3s .3s ease-in-out
	}

	.slideMenuTrigger:hover span::before {
		transform: translateY(0) rotate(45deg)
	}

	.slideMenuTrigger:hover span::after {
		transform: translateY(0) rotate(-45deg)
	}
}

.slideMenuArea {
	width: 100%;
	height: calc(100vh - 78px);
	height: calc(100dvh - 78px);
	background-color: #c4252b;
	opacity: 0;
	overflow-x: hidden;
	padding-bottom: calc(40px + env(safe-area-inset-bottom));
	pointer-events: none;
	position: fixed;
	bottom: 0;
	right: 0;
	z-index: 99;
	transform: translateY(100%);
	transition: all .6s ease-in-out;
	-webkit-overflow-scrolling: touch
}

.slideMenuArea::-webkit-scrollbar-track {
	box-shadow: inset 0 0 5px rgba(0,0,0,.15);
	background-color: #fff
}

.slideMenuArea::-webkit-scrollbar {
	width: 5px;
	height: 5px;
	background-color: #fff
}

.slideMenuArea::-webkit-scrollbar-thumb {
	background: #c4252b
}

.slideMenuArea.show {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0)
}

.slideMenuArea .menuBox {
	width: 100%;
	padding: 15px 0
}

.slideMenuArea .menuBox .nav>.menuItem {
	position: relative
}

.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span {
	cursor: pointer
}

.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span>a::before,.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span>a::after {
	content: "";
	width: 12px;
	height: 1px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translate(-50%, 0);
	z-index: 1
}

.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span>a::after {
	transform: translate(-50%, 0) rotate(90deg)
}

.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span>a.current::before,.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu>span>a.current::after {
	background-color: #fff
}

.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu.open>span>a::after {
	transform: translate(-50%, 0) rotate(0)
}

.slideMenuArea .menuBox .nav>.menuItem.dropDown.hasSubMenu.open .submenu {
	animation: slideDownAnimation .4s .3s ease-in-out both
}

.slideMenuArea .menuBox .nav>.menuItem a {
	padding: 8px 15px;
	min-height: auto;
	font-size:16px;
	color: #fff;
	display: block;
	position: relative
}

.slideMenuArea .menuBox .nav .submenu {
	width: 100%;
	background-color: #000;
	display: none;
	padding: 15px
}

.slideMenuArea .menuBox .nav .submenu.fullSubmenu .wrap {
	padding: 0
}

.slideMenuArea .menuBox .nav .submenu .submenuTitle {
	color: #fff;
	font-size: 14px;

}

.slideMenuArea .menuBox .nav .submenu .submenuTitle a{font-size: 14px; }

.slideMenuArea .menuBox .nav .submenu .submenuTitle.second {
	position: relative;
	margin-top: 5px;
	padding-top: 11px
}

.slideMenuArea .menuBox .nav .submenu .submenuTitle.second::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: hsla(0,0%,100%,.25);
	left: -15px;
	top: 0;
	width: calc(100% + 30px)
}

.slideMenuArea .menuBox .nav .submenu .submenuItem a {
	color: #fff;
	font-size: 14px;
	padding: 5px 0
}

.slideMenuArea .menuBox .nav .submenu .submenuItem a.current {
	color: #c4252b
}

@media(min-width: 1181px) {
	.slideMenuArea .menuBox .nav .submenu .submenuItem a:hover {
		color: #c4252b
	}
}

.slideMenuArea .menuBox .nav .submenu .submenuItem.open .submenuItemTitle.hasThirdMenu::after {
	transform: translate(-50%, 0) rotate(0deg)
}

.slideMenuArea .menuBox .nav .submenu .submenuItemTitle {
	position: relative
}

.slideMenuArea .menuBox .nav .submenu .submenuItemTitle.hasThirdMenu::before,.slideMenuArea .menuBox .nav .submenu .submenuItemTitle.hasThirdMenu::after {
	content: "";
	width: 12px;
	height: 1px;
	background-color: #c4252b;
	position: absolute;
	top: 50%;
	right: 5px;
	transform: translate(-50%, 0);
	z-index: 1
}

.slideMenuArea .menuBox .nav .submenu .submenuItemTitle.hasThirdMenu::after {
	transform: translate(-50%, 0) rotate(90deg)
}

.slideMenuArea .menuBox .nav .submenu .submenuItemTitle.current::before,.slideMenuArea .menuBox .nav .submenu .submenuItemTitle.current::after {
	background-color: #c4252b
}

.slideMenuArea .menuBox .nav .submenu .thirdMenu {
	padding: 5px 0px 5px 15px;
	display: none
}

.slideMenuArea .socialBox {
	padding: 15px 0
}

.slideMenuArea .socialBox .socialList {
	align-items: center;
	display: flex
}

.slideMenuArea .socialBox .socialList li:not(:last-child) {
	margin-right: 7px
}

.slideMenuArea .socialBox .socialList li a {
	width: 40px;
	height: 40px;
	background-color: #fff;
	border-radius: 50%;
	background-color: #c4252b;
	color: #fff;
	display: block;
	font-size: 16px;
	line-height: 40px;
	text-align: center
}

.slideMenuArea .socialBox .socialList li a svg {
	width: 16px;
	height: 16px;
	display: inline-block;
	fill: #c4252b;
	vertical-align: middle
}

@media(min-width: 1181px) {
	.slideMenuArea .socialBox .socialList li a:hover {
		background-color: #fff;
		box-shadow: 0 0 5px rgba(0,0,0,.15);
		color: #c4252b
	}

	.slideMenuArea .socialBox .socialList li a:hover svg {
		fill: #fff
	}
}

.slideMenuMask {
	position: fixed;
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 98;
	background-color: rgba(0,0,0,.7);
	opacity: 0;
	pointer-events: none;
	transition: all .5s
}

.slideMenuMask.show {
	opacity: 1;
	pointer-events: auto
}

footer {
	padding-top: 50px
}

footer .footerGrid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
	grid-template-areas: "leftTop center right" "leftBottom center right";
	grid-template-rows: auto auto;
	align-items: start;
	-moz-column-gap: 40px;
	column-gap: 40px
}

footer .footerGrid>.center {
	grid-area: center
}

@media(max-width: 1024px) {
	footer .footerGrid>.center {
		margin-bottom: 20px
	}
}

footer .footerGrid>.right {
	grid-area: right
}

@media(max-width: 1024px) {
	footer .footerGrid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas: "leftTop leftTop" "center center" "right right" "leftBottom leftBottom"
	}
}

@media(max-width: 767px) {
	footer .footerGrid {
		row-gap: 24px
	}
}

footer .leftTop {
	width: 100%;
	max-width: 466px;
	flex-shrink: 0;
	grid-area: leftTop
}

@media(max-width: 1024px) {
	footer .leftTop {
		max-width: 100%;
		margin-bottom: 20px
	}
}

footer .leftTop .logo {
	margin-bottom: 16px;
	font-size: 0
}

footer .leftTop .logo img {
	width: 100%;
	height: auto;
	display: block;
	backface-visibility: hidden;
	max-width: 187px
}

@media(max-width: 1024px) {
	footer .leftTop .logo img {
		max-width: 240px
	}
}

footer .leftTop .note {
	padding-right: 25px;
	padding-top: 25px;
	margin-top: 25px;
	font-size: 14px;
	letter-spacing: .02em;
	line-height: 1.8;
	position: relative
}

@media(max-width: 640px) {
	footer .leftTop .note {
		padding-right: 0
	}
}

footer .leftTop .note::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: calc(100% - 25px);
	height: 1px;
	background-color: #f3d3d5
}

footer .leftBottom {
	grid-area: leftBottom
}

@media(min-width: 768px)and (max-width: 1024px) {
	footer .leftBottom {
		margin-top: -40px
	}
}

footer .leftBottom .text {
	font-size: 13px;
	letter-spacing: .02em;
	color: #343434;
	line-height: 1.7;
	margin-bottom: 40px
}

@media(max-width: 1180px) {
	footer .leftBottom .text {
		margin-bottom: 0
	}
}

@media(max-width: 480px) {
	footer .leftBottom .text {
		margin-bottom: 15px
	}
}

footer .leftBottom .copyright {
	font-size: 12px;
	color: #555
}

footer .socialList {
	list-style: none;
	padding: 0;
	margin: 20px 0;
	display: flex;
	align-items: center;
	gap: 16px
}

footer .infoBox .title,footer .footArticleList .link a,footer .footArticleList .title {
	color: #323232;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6
}

footer .footArticleList {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	-moz-column-gap: 40px;
	column-gap: 40px;
	row-gap: 40px
}

@media(max-width: 767px) {
	footer .footArticleList {
		-moz-column-gap: 24px;
		column-gap: 24px
	}
}

footer .footArticleList .left,footer .footArticleList .right {
	display: flex;
	flex-direction: column;
	row-gap: 40px
}

@media(min-width: 768px)and (max-width: 1024px) {
	footer .footArticleList .left,footer .footArticleList .right {
		row-gap: 20px
	}
}

footer .footArticleList .title {
	margin-bottom: 20px
}

@media(min-width: 768px)and (max-width: 1024px) {
	footer .footArticleList .title {
		margin-bottom: 10px
	}
}

footer .footArticleList .box {
	display: flex;
	flex-direction: column;
	gap: 10px
}

footer .footArticleList .box a {
	color: #555;
	font-size: 15px
}

@media(min-width: 1181px) {
	footer .footArticleList .box a:hover {
		color: #c4252b
	}
}

footer .footArticleList .link {
	display: flex;
	flex-direction: column;
	gap: 20px
}

@media(min-width: 1181px) {
	footer .footArticleList .link a:hover {
		color: #c4252b
	}
}

footer .footBtnBox {
	display: flex;
	justify-content: center;
	padding-top: 80px;
	padding-bottom: 50px
}

@media(min-width: 1181px) {
	footer .footBtnBox {
		padding-bottom: 120px
	}
}

@media(max-width: 640px) {
	footer .footBtnBox {
		padding-top: 30px;
		padding-bottom: 10px
	}
}

footer .footBtnBox .backToTop {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-top: 60px;
	font-size: 12px;
	letter-spacing: .07em;
	color: #c4252b;
	text-transform: uppercase;
	background: none;
	border: none;
	cursor: pointer;
	transition: transform .25s cubic-bezier(0.34, 1.5, 0.64, 1)
}

footer .footBtnBox .backToTop::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 50%;
	margin-left: -4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #bb1b21;
	box-shadow: 0 0 0 20px #fff,0 0 0 21px rgba(196,37,43,.2);
	transition: transform .35s cubic-bezier(0.34, 1.6, 0.64, 1),box-shadow .35s ease
}

@media(min-width: 1181px) {
	footer .footBtnBox .backToTop:hover::before {
		transform: translateY(-7px);
		box-shadow: 0 0 0 20px #fff,0 0 0 21px rgba(196,37,43,.5)
	}
}

footer .footBtnBox .backToTop:active {
	transform: scale(0.94)
}

footer .footBtnBox .backToTop:active::before {
	transform: translateY(-12px);
	transition-duration: .15s
}

@media(min-width: 768px)and (max-width: 1024px) {
	footer .infoBox {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-areas: "title contact" "list contact";
		grid-template-rows: auto auto;
		align-items: start
	}
}

footer .infoBox .title {
	margin-bottom: 20px;
	grid-area: title
}

footer .infoBox .infoList {
	display: flex;
	flex-direction: column;
	gap: 16px;
	grid-area: list
}

@media(min-width: 768px)and (max-width: 1024px) {
	footer .infoBox .infoList {
		grid-row: span 2
	}
}

footer .infoBox .infoList li {
	display: flex;
	align-items: center;
	gap: 35px;
	font-size: 15px
}

footer .infoBox .infoList li .label {
	font-weight: 500;
	position: relative;
	flex-shrink: 0
}

footer .infoBox .infoList li .label::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -16.5px;
	width: 1px;
	height: 80%;
	background-color: #ffc2c2;
	transform: translateY(-50%)
}

footer .infoBox .infoList li .tel {
	font-family: "roboto",sans-serif;
	font-size: 32px;
	font-weight: 700
}

footer .infoBox .infoList li .tel a {
	color: #d42742
}

footer .infoBox .contactBtnBox {
	margin-top: 60px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	grid-area: contact
}

@media(max-width: 1024px) {
	footer .infoBox .contactBtnBox {
		margin-top: 0
	}
}

@media(max-width: 767px) {
	footer .infoBox .contactBtnBox {
		margin-top: 30px
	}
}

footer .infoBox .contactBtnBox a {
	border-radius: 10px;
	border: 1px solid #f0f0f0;
	background: #fff;
	box-shadow: 0 4px 25px 0 rgba(0,0,0,.06);
	padding: 20px 15px;
	display: flex;
	align-items: center;
	gap: 15px
}

@media(min-width: 1181px) {
	footer .infoBox .contactBtnBox a:hover {
		background-color: #c4252b
	}

	footer .infoBox .contactBtnBox a:hover .icon {
		background-color: hsla(0,0%,100%,.15)
	}

	footer .infoBox .contactBtnBox a:hover svg {
		filter: brightness(0) invert(1)
	}

	footer .infoBox .contactBtnBox a:hover .text {
		color: #fff
	}
}

footer .infoBox .contactBtnBox .icon {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f5f5f5;
	border-radius: 50%
}

footer .infoBox .contactBtnBox .icon svg {
	width: 30px;
	height: 30px
}

footer .infoBox .contactBtnBox .text {
	display: flex;
	flex-direction: column;
	color: #3a3a3a;
	font-size: 17px;
	font-weight: 700
}

footer .infoBox .contactBtnBox .text .label {
	line-height: 1.7
}

footer .infoBox .contactBtnBox .text span:not(.label) {
	font-family: "roboto",sans-serif
}

.privacyArea {
	width: 100%;
	max-width: 800px;
	background-color: rgba(0,0,0,.8);
	box-shadow: 0 -2px 6px rgba(0,0,0,.1);
	padding: 20px 0;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 50;
	transform: translateY(100%)
}

.privacyArea.show {
	transform: translateY(0%)
}

.privacyArea.check {
	opacity: 0;
	transform: translateY(100%)
}

.privacyArea .wrap {
	align-items: center;
	display: flex;
	flex-direction: column
}

.privacyArea .text {
	width: 100%;
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: .5px;
	text-align: center
}

.privacyArea .text a {
	color: #c4252b;
	display: inline-block;
	margin-top: 8px;
	text-decoration: underline
}

@media(min-width: 1181px) {
	.privacyArea .text a:hover {
		color: #c4252b
	}
}

.privacyArea .btnBox {
	width: 100%;
	max-width: 360px;
	align-items: center;
	display: flex;
	justify-content: center;
	margin-top: 15px
}

@media(max-width: 480px) {
	.privacyArea .btnBox {
		max-width: 100%
	}
}

.lineContactWidget {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 1002;
	font-family: "Noto Sans TC","Microsoft JhengHei",sans-serif;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(calc(100% + 72px));
	transition: opacity .38s ease,visibility .38s ease,transform .85s cubic-bezier(0.34, 1.42, 0.64, 1)
}

.lineContactWidget.is-ready {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(0)
}

.lineContactWidget.is-open .lineContactPanel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0) scale(1) rotate(0)
}

.lineContactWidget.is-open .lineContactButton {
	transform: translateY(-2px) scale(1.03)
}

@media(max-width: 1180px) {
	.lineContactWidget {
		display: none
	}
}

.lineContactPanel {
	width: 320px;
	max-width: calc(100vw - 40px);
	background-color: #fff;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 16px;
	box-shadow: 0 18px 45px rgba(0,0,0,.18);
	padding: 18px;
	position: absolute;
	right: 0;
	bottom: calc(100% + 14px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(14px) scale(0.88) rotate(-2deg);
	transform-origin: right bottom;
	transition: opacity .28s ease,visibility .28s ease,transform .5s cubic-bezier(0.2, 1.35, 0.34, 1)
}

.lineContactPanel::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	background-color: #fff;
	border-right: 1px solid rgba(0,0,0,.08);
	border-bottom: 1px solid rgba(0,0,0,.08);
	right: 24px;
	bottom: -8px;
	transform: rotate(45deg)
}

.lineContactList li:not(:first-child) {
	border-top: 1px solid rgba(0,0,0,.08);
	margin-top: 14px;
	padding-top: 14px
}

.lineContactText {
	color: #343434;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.5;
	margin-bottom: 8px
}

.lineContactLink {
	background-color: rgba(6,199,85,.08);
	border: 1px solid rgba(6,199,85,.28);
	border-radius: 8px;
	color: #05a648;
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	padding: 10px 12px;
	word-break: break-all
}

@media(min-width: 1181px) {
	.lineContactLink:hover {
		background-color: #06c755;
		border-color: #06c755;
		color: #fff
	}
}

.lineContactButton {
	height: 57px;
	align-items: center;
	background-color: #4cc764;
	border: none;
	border-radius: 24px;
	box-shadow: 0 4px 16px rgba(76,199,100,.45);
	color: #fff;
	cursor: pointer;
	display: flex;
	gap: 8px;
	justify-content: center;
	line-height: 1;
	padding: 0 22px 0 19px;
	transition: transform .32s cubic-bezier(0.2, 1.25, 0.34, 1);
	animation: lineCtaGlow 2.6s ease-in-out infinite
}

@media(min-width: 1181px) {
	.lineContactButton:hover {
		color: #fff;
		transform: translateY(-2px)
	}
}

.lineContactButton svg {
	width: 19px;
	height: 18px;
	flex: none
}

.lineContactButton .text {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .28px;
	white-space: nowrap
}

@media(prefers-reduced-motion: reduce) {
	.lineContactButton {
		animation: none
	}
}

.fixMenu {
	width: 100%;
	font-family: "Noto Sans TC","Microsoft JhengHei",sans-serif;
	padding-bottom: env(safe-area-inset-bottom);
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 100
}

@media(min-width: 1181px) {
	.fixMenu {
		display: none
	}
}

.fixMenu .menuBg {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	filter: drop-shadow(0 -5px 15px rgba(0, 0, 0, 0.06))
}

.fixMenu .menuBg::before {
	content: "";
	position: absolute;
	width: 87px;
	height: 87px;
	background-color: #fff;
	border-radius: 50%;
	top: -25px;
	left: 50%;
	transform: translateX(-50%)
}

.fixMenu .menuBg::after {
	content: "";
	position: absolute;
	background-color: #fff;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0
}

.fixMenu .menuList {
	height: 68px;
	align-items: center;
	display: flex;
	padding: 0 4%;
	position: relative
}

.fixMenu .item {
	flex: 1;
	align-items: center;
	color: #202020;
	display: flex;
	flex-direction: column
}

.fixMenu .item .iconBox {
	height: 22px;
	align-items: center;
	display: flex;
	justify-content: center;
	margin-bottom: 4px
}

.fixMenu .item .iconBox svg {
	display: block
}

.fixMenu .item .iconBox .iconHome {
	width: 19px;
	height: 18px
}

.fixMenu .item .iconBox .iconWork {
	width: 20px;
	height: 17px
}

.fixMenu .item .iconBox .iconSale {
	width: 15px;
	height: 22px
}

.fixMenu .item .iconBox .iconContact {
	width: 22px;
	height: 18px
}

.fixMenu .item .text {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 3px;
	text-indent: 3px;
	text-align: center;
	white-space: nowrap
}

@media(max-width: 400px) {
	.fixMenu .item .text {
		letter-spacing: 2px;
		text-indent: 2px
	}
}

.fixMenu .lineBox {
	width: 87px;
	flex-shrink: 0
}

.fixMenu .lineBtn {
	width: 57px;
	height: 57px;
	background: none;
	border: none;
	border-radius: 50%;
	box-shadow: 0 4px 22px rgba(76,199,100,.37);
	cursor: pointer;
	display: block;
	padding: 0;
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%)
}

.fixMenu .lineBtn svg {
	width: 100%;
	height: 100%;
	display: block
}

.fixMenu .linePanel {
	width: 320px;
	max-width: calc(100vw - 30px);
	background-color: #fff;
	border: 1px solid rgba(0,0,0,.08);
	border-radius: 16px;
	box-shadow: 0 18px 45px rgba(0,0,0,.18);
	padding: 18px;
	position: absolute;
	left: 50%;
	bottom: calc(100% + 36px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translate(-50%, 14px) scale(0.88);
	transform-origin: center bottom;
	transition: opacity .28s ease,visibility .28s ease,transform .5s cubic-bezier(0.2, 1.35, 0.34, 1)
}

.fixMenu .linePanel::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	background-color: #fff;
	border-right: 1px solid rgba(0,0,0,.08);
	border-bottom: 1px solid rgba(0,0,0,.08);
	left: 50%;
	margin-left: -7px;
	bottom: -8px;
	transform: rotate(45deg)
}

.fixMenu.is-open .linePanel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-50%, 0) scale(1)
}

@media(max-width: 1180px) {
	body {
		padding-bottom: calc(98px + env(safe-area-inset-bottom))
	}
}

.adminPreviewArea {
	max-width: 320px;
	border: 4px solid #ffe2e2;
	border-radius: 5px;
	background: #fdc9c9;
	color: #000;
	padding: 20px;
	position: fixed;
	top: 15px;
	right: 0;
	z-index: 99999
}

.adminPreviewArea button {
	text-decoration: underline
}

.adminLoginArea {
	width: 100%;
	background-color: rgba(180,0,0,.85);
	color: #fff;
	font-size: 15px;
	line-height: 1;
	letter-spacing: .5px;
	padding-bottom: env(safe-area-inset-bottom);
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 99999;
	text-align: center
}

.adminLoginArea p {
	padding: 20px 15px
}

.marqueeArea {
	padding: 15px 0;
	background-color: #061540
}

.marqueeArea .title {
	float: left;
	margin-right: 20px;
	font-weight: 400;
	font-size: 15px;
	color: #fff
}

@media(max-width: 640px) {
	.marqueeArea .title {
		display: none
	}
}

.marqueeArea .title em {
	margin-left: 5px
}

.marqueeArea .marqueeBox {
	max-height: 30px;
	overflow: hidden
}

.marqueeArea .marqueeBox .marqueeTxtList {
	overflow: hidden
}

.marqueeArea .marqueeBox .marqueeTxtItem {
	line-height: 20px
}

.marqueeArea .marqueeBox .marqueeTxtItem .item {
	display: flex
}

.marqueeArea .marqueeBox .marqueeTxtItem .date {
	display: inline-block;
	vertical-align: top;
	margin-right: 10px;
	font-size: 13px;
	color: #dbdbdb
}

@media(max-width: 640px) {
	.marqueeArea .marqueeBox .marqueeTxtItem .date {
		display: none
	}
}

.marqueeArea .marqueeBox .marqueeTxtItem .title {
	color: #fff;
	font-size: 16px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

.marqueeArea .marqueeBox .marqueeTxtItem .title a {
	color: #fff;
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

@media(min-width: 1181px) {
	.marqueeArea .marqueeBox .marqueeTxtItem .title a:hover {
		color: #c4252b
	}
}

.bookingArea {
	margin-top: -85px;
	position: relative;
	z-index: 2
}

@media(max-width: 960px) {
	.bookingArea {
		margin-top: 0
	}
}

.bookingArea .wrap {
	display: flex;
	padding: 0;
	background-color: #fff
}

@media(max-width: 960px) {
	.bookingArea .wrap {
		flex-direction: column;
		padding: 15px 20px
	}
}

.bookingArea .title {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 2;
	font-size: 15px;
	border-right: 1px solid #e6e6e6
}

@media(max-width: 1440px) {
	.bookingArea .title {
		flex: 2
	}
}

@media(max-width: 960px) {
	.bookingArea .title {
		display: none
	}
}

.bookingArea .title i {
	margin-right: 15px;
	font-size: 20px
}

.bookingArea .bookingList {
	align-items: center;
	display: flex;
	flex: 6;
	padding: 20px;
	gap: 12px
}

@media(max-width: 768px) {
	.bookingArea .bookingList {
		padding: 0;
		margin-bottom: 12px
	}
}

@media(max-width: 640px) {
	.bookingArea .bookingList {
		flex: 1;
		flex-direction: column;
		margin-bottom: 12px
	}
}

@media(max-width: 960px) {
	.bookingArea .bookingList li {
		margin-bottom: 15px
	}
}

.bookingArea .bookingList li:not(:first-child) {
	margin-left: 10px
}

@media(max-width: 960px) {
	.bookingArea .bookingList li:not(:first-child) {
		margin-left: 0
	}
}

.bookingArea .dateRange,.bookingArea .bookingCount {
	align-items: center;
	display: flex;
	gap: 24px
}

@media(max-width: 640px) {
	.bookingArea .dateRange,.bookingArea .bookingCount {
		width: 100%
	}
}

.bookingArea .bookingDate {
	text-align: center;
	flex-shrink: 0
}

@media(max-width: 640px) {
	.bookingArea .bookingDate {
		flex: 1
	}
}

.bookingArea .bookingCount {
	position: relative;
	height: 45px;
	min-height: 45px;
	padding: 5px 10px;
	border: 1px solid #e6e6e6;
	flex-grow: 1;
	flex-shrink: 1;
	justify-content: center;
	cursor: pointer
}

.bookingArea .bookingCount::after {
	content: "";
	position: absolute;
	content: "�⏚";
	font-family: "bootstrap-icons";
	width: 16px;
	height: 16px;
	right: 15px;
	top: 50%;
	transform: translateY(-50%)
}

.bookingArea .bookingCountDropDown {
	display: none;
	position: absolute;
	left: 0;
	top: calc(100% + 24px);
	width: 100%;
	padding: 20px;
	background-color: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 5px;
	box-shadow: 1px 0 0 #e6e6e6,-1px 0 0 #e6e6e6,0 1px 0 #e6e6e6,0 -1px 0 #e6e6e6,0 3px 13px rgba(0,0,0,.08);
	z-index: 5
}

.bookingArea .bookingCountDropDown .bookingCountItems {
	display: flex;
	flex-direction: column;
	gap: 12px
}

.bookingArea .bookingCountDropDown .bookingCountItem {
	display: flex;
	align-items: center;
	justify-content: space-between
}

.bookingArea .bookingCountDropDown .countBox {
	display: flex;
	align-items: center;
	gap: 8px
}

.bookingArea .bookingCountDropDown .countBox .countNum {
	padding: 0 24px
}

.bookingArea .bookingCountDropDown .countBox .btnCount {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid #e6e6e6;
	color: #000;
	display: flex;
	justify-content: center;
	align-items: center
}

.bookingArea .bookingCountDropDown .countBox .btnCount i {
	color: currentColor
}

@media(min-width: 1181px) {
	.bookingArea .bookingCountDropDown .countBox .btnCount:hover {
		color: #fff;
		background-color: #c4252b
	}
}

.bookingArea .btnBox {
	flex: 3;
	margin: 0
}

@media(max-width: 1440px) {
	.bookingArea .btnBox {
		flex: 2
	}
}

.bookingArea .btnBox .btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #c4252b;
	color: #fff;
	font-size: 16px;
	letter-spacing: .2rem
}

@media(min-width: 1181px) {
	.bookingArea .btnBox .btn:hover {
		background-color: #c4252b
	}
}

@media(max-width: 960px) {
	.bookingArea .btnBox {
		flex: 1
	}

	.bookingArea .btnBox button {
		padding: 12px
	}
}

.bookingArea input,.bookingArea select {
	height: 45px;
	padding: 5px 10px;
	border: 1px solid #e6e6e6;
	font-size: 16px
}

.mainArea {
	padding-bottom: 100px;
	min-height: 80dvh;
	min-height: 80vh
}

@media(max-width: 1180px) {
	.mainArea {
		padding-bottom: 60px
	}
}

@media(max-width: 768px) {
	.mainArea {
		padding-top: 30px;
		padding-bottom: 40px
	}
}

.mainArea .contentBox {
	clear: both
}

.bread {
	margin-bottom: 25px;
	text-align: right
}

.bread a {
	font-size: 14px;
	letter-spacing: .05em;
	color: #666
}

@media(min-width: 1181px) {
	.bread a:hover {
		color: #c4252b
	}
}

.bread a:not(:first-child) {
	position: relative;
	padding-left: 12px;
	margin-left: 12px
}

.bread a:not(:first-child)::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -7.5px;
	width: 1px;
	height: 15px;
	background-color: #7f7f7f
}

.bread .home {
	color: #000
}

.articleTitle {
	color: #202020;
	font-size: 24px;
	font-weight: 500;
	margin-bottom: 20px;
	padding: 12px 0;
	position: relative
}

.articleTitle::before {
	content: "";
	width: 100%;
	height: 2px;
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	background-image: linear-gradient(to right, rgba(0, 0, 0, 0.1) 0%, rgba(0, 0, 0, 0.1) 50%, transparent 50%, transparent 100%);
	background-size: 10px 100%;
	background-repeat: repeat-x
}

.sectionTitle {
	border-bottom: 1px solid #d6d6d6;
	color: #232323;
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 30px;
	padding: 15px 0
}

.sectionTitle strong {
	display: block;
	position: relative;
	font-weight: 400
}

.sectionTitle a {
	display: block;
	width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

table.breakpoint>tbody>tr>td.expand {
	background: url("../images/plus.png") no-repeat 5px center;
	cursor: pointer;
	padding-left: 40px
}

.classNote {
	padding: 20px 0
}

.classNote.thankInfo {
	margin-bottom: 25px;
	border-bottom: 1px solid rgba(0,0,0,.1)
}

.classNote img {
	max-width: 100%
}

.classBox {
	position: relative;
	z-index: 4
}

@media(max-width: 1180px) {
	.classBox {
		margin: 20px auto
	}
}

.classBox .classCurrent {
	background-color: #c4252b;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	letter-spacing: 1px;
	padding: 10px 30px 10px 10px;
	position: relative
}

.classBox .classCurrent::before {
	content: "�⏚";
	color: #fff;
	font-size: 15px;
	font-family: bootstrap-icons;
	line-height: 1;
	margin-top: -6px;
	position: absolute;
	right: 15px;
	top: 50%;
	z-index: 1
}

@media(min-width: 1181px) {
	.classBox .classCurrent {
		display: none;
		opacity: 0;
		pointer-events: none;
		visibility: hidden
	}
}

.classBox a,.classBox span {
	cursor: pointer
}

.classBoxRow {
	margin-top: 20px;
	margin-bottom: 50px
}

@media(min-width: 1181px) {
	.classBoxRow .classLink {
		justify-content: center;
		flex-wrap: wrap;
		display: flex
	}

	.classBoxRow .classLink li,.classBoxRow .classLink .classItem {
		margin-bottom: 10px;
		margin-right: 15px
	}

	.classBoxRow .classLink a,.classBoxRow .classLink span {
		background-color: #f0f0f0;
		color: #000;
		display: block;
		padding: 10px 15px;
		line-height: 1.5;
		letter-spacing: .3px;
		text-align: center;
		transition: all .4s ease-in-out
	}

	.classBoxRow .classLink a.current,.classBoxRow .classLink span.current {
		background-color: #c4252b;
		color: #fff
	}
}

@media(min-width: 1181px)and (min-width: 1181px) {
	.classBoxRow .classLink a:hover,.classBoxRow .classLink span:hover {
		background-color: #c4252b;
		color: #fff
	}
}

.classBoxColumn {
	margin-bottom: 30px
}

.classBoxColumn .classLink .linkHasItems::before,.classBoxColumn .classLink .linkHasItems::after {
	content: "";
	width: 13px;
	height: 1px;
	background-color: #2f2f2f;
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	z-index: 1;
	transition: all .5s
}

.classBoxColumn .classLink .linkHasItems::before {
	transform: translateY(-50%)
}

.classBoxColumn .classLink .linkHasItems::after {
	transform: translateY(-50%) rotate(90deg)
}

.classBoxColumn .classLink .linkHasItems.open {
	background-color: #c4252b;
	color: #fff
}

.classBoxColumn .classLink .linkHasItems.open::before,.classBoxColumn .classLink .linkHasItems.open::after {
	background-color: #fff
}

.classBoxColumn .classLink .linkHasItems.open::after {
	transform: translateY(-50%) rotate(0)
}

.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem a,.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem span {
	padding-left: 25px;
	background-color: #f1f1f1
}

.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem a.current,.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem span.current {
	background-color: rgba(196,37,43,.75);
	color: #fff
}

.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem a.open,.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem span.open {
	background-color: rgba(196,37,43,.75);
	color: #fff
}

@media(min-width: 1181px) {
	.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem a:hover,.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem span:hover {
		background-color: rgba(196,37,43,.75)
	}
}

.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem .dataList a {
	padding-left: 35px
}

.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem .dataList a.current {
	background-color: rgba(196,37,43,.5);
	color: #fff
}

@media(min-width: 1181px) {
	.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem .dataList a:hover {
		background-color: rgba(196,37,43,.5)
	}
}

@media(min-width: 1181px) {
	.classBoxColumn .classLink .linkHasItems.open+.dataList>.dataItem {
		animation: aniSlideLeft .5s .3s ease-out both
	}
}

@media(min-width: 1181px) {
	.classBoxColumn .classLink>.classItem:not(:first-child) {
		border-top: 1px solid rgba(0,0,0,.1)
	}

	.classBoxColumn .classLink .dataList {
		display: none
	}

	.classBoxColumn .classLink .dataList .dataItem:not(:first-child) {
		border-top: 1px solid rgba(0,0,0,.1)
	}

	.classBoxColumn .classLink a,.classBoxColumn .classLink span {
		color: #202020;
		display: block;
		line-height: 1.2;
		letter-spacing: .2rem;
		padding: 18px 15px;
		position: relative;
		transition: all .4s ease-in-out
	}

	.classBoxColumn .classLink a.current,.classBoxColumn .classLink span.current {
		background-color: #c4252b;
		color: #fff
	}

	.classBoxColumn .classLink a.current::before,.classBoxColumn .classLink a.current::after,.classBoxColumn .classLink span.current::before,.classBoxColumn .classLink span.current::after {
		background-color: #fff
	}
}

@media(min-width: 1181px)and (min-width: 1181px) {
	.classBoxColumn .classLink a:hover,.classBoxColumn .classLink span:hover {
		background-color: #c4252b;
		color: #fff
	}

	.classBoxColumn .classLink a:hover::before,.classBoxColumn .classLink a:hover::after,.classBoxColumn .classLink span:hover::before,.classBoxColumn .classLink span:hover::after {
		background-color: #fff
	}
}

@media(max-width: 1180px) {
	.classBoxRow .classLink,.classBoxColumn .classLink {
		width: 100%;
		max-height: 65dvh;
		background-color: #fff;
		box-shadow: 0 5px 15px rgba(0,0,0,.1);
		display: none;
		overflow-y: auto;
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 1
	}

	.classBoxRow .classLink.open,.classBoxColumn .classLink.open {
		display: block
	}

	.classBoxRow .classLink>li:not(:first-child),.classBoxRow .classLink .classItem:not(:first-child),.classBoxColumn .classLink>li:not(:first-child),.classBoxColumn .classLink .classItem:not(:first-child) {
		border-top: 1px solid rgba(0,0,0,.1)
	}

	.classBoxRow .classLink>li>a.current,.classBoxRow .classLink>li span.current,.classBoxRow .classLink .classItem>a.current,.classBoxRow .classLink .classItem span.current,.classBoxColumn .classLink>li>a.current,.classBoxColumn .classLink>li span.current,.classBoxColumn .classLink .classItem>a.current,.classBoxColumn .classLink .classItem span.current {
		color: #fff
	}

	.classBoxRow .classLink>li ul,.classBoxRow .classLink>li .dataList,.classBoxRow .classLink .classItem ul,.classBoxRow .classLink .classItem .dataList,.classBoxColumn .classLink>li ul,.classBoxColumn .classLink>li .dataList,.classBoxColumn .classLink .classItem ul,.classBoxColumn .classLink .classItem .dataList {
		display: none
	}

	.classBoxRow .classLink a,.classBoxRow .classLink span,.classBoxColumn .classLink a,.classBoxColumn .classLink span {
		color: #202020;
		background-color: #fff;
		display: block;
		padding: 14px 15px;
		position: relative
	}

	.classBoxRow .classLink a.current,.classBoxRow .classLink span.current,.classBoxColumn .classLink a.current,.classBoxColumn .classLink span.current {
		background-color: #c4252b;
		color: #fff
	}
}

.pageBox .pageList {
	align-items: center;
	border-top: 1px solid #cecece;
	padding: 40px 0;
	display: flex;
	flex-wrap: wrap
}

@media(max-width: 1180px) {
	.pageBox .pageList {
		padding: 30px 0
	}
}

.pageBox .pageList a {
	border: 1px solid #c2c2c2;
	color: #666;
	display: block;
	font-size: 15px
}

.pageBox .pageList a.prevBtn::before,.pageBox .pageList a.nextBtn::before {
	content: "";
	width: 10px;
	height: 10px;
	border-left: 1px solid #9e9e9e;
	border-bottom: 1px solid #9e9e9e;
	display: block;
	position: absolute
}

.pageBox .pageList a.prevBtn::before {
	transform: rotate(45deg)
}

.pageBox .pageList a.nextBtn::before {
	transform: rotate(-135deg)
}

@media(min-width: 1181px) {
	.pageBox .pageList a:hover {
		border: 1px solid #c4252b;
		background-color: #c4252b;
		color: #fff
	}

	.pageBox .pageList a:hover.prevBtn::before,.pageBox .pageList a:hover.nextBtn::before {
		border-left: 1px solid #fff;
		border-bottom: 1px solid #fff
	}
}

.pageBox .pageList.number {
	margin-top: 40px;
	justify-content: center
}

.pageBox .pageList.number.oval a {
	width: 50px
}

.pageBox .pageList.number a {
	width: 30px;
	height: 30px;
	font-weight: 400;
	line-height: 28px;
	position: relative;
	text-align: center;
	margin: 5px
}

.pageBox .pageList.number a.prevBtn::before,.pageBox .pageList.number a.nextBtn::before {
	margin: auto;
	top: 0;
	bottom: 0
}

.pageBox .pageList.number a.prevBtn::before {
	left: 5px;
	right: 0
}

.pageBox .pageList.number a.nextBtn::before {
	left: 0;
	right: 5px
}

.pageBox .pageList.number a.firstBtn,.pageBox .pageList.number a.lastBtn {
	width: auto;
	height: auto;
	border: none;
	padding: 5px 10px;
	margin: 0
}

@media(min-width: 1181px) {
	.pageBox .pageList.number a.firstBtn:hover,.pageBox .pageList.number a.lastBtn:hover {
		background-color: rgba(0,0,0,0);
		color: #c4252b
	}
}

.pageBox .pageList.number a.current {
	border: 1px solid #c4252b;
	background-color: #c4252b;
	color: #fff
}

@media(min-width: 1181px) {
	.pageBox .pageList.number a:hover.firstBtn::before,.pageBox .pageList.number a:hover.firstBtn::after,.pageBox .pageList.number a:hover.lastBtn::before,.pageBox .pageList.number a:hover.lastBtn::after {
		border-left: 1px solid #fff;
		border-bottom: 1px solid #fff
	}
}

@media(max-width: 1180px) {
	.pageBox .pageList.number .pageNumberBtnBox {
		display: none
	}
}

.pageBox .pageList.number .pageNumberSelect {
	width: 30px;
	height: 30px;
	font-weight: 400;
	line-height: 28px;
	position: relative;
	text-align: center;
	margin: 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #c2c2c2;
	color: #666;
	display: block;
	font-size: 15px
}

@media(min-width: 1180px) {
	.pageBox .pageList.number .pageNumberSelect {
		display: none
	}
}

@media(max-width: 768px) {
	.pageBox .pageList.number {
		margin-top: 30px
	}
}

.pageBox .pageList.prevnext {
	margin-top: 60px
}

.pageBox .pageList.prevnext li.prev {
	margin-right: auto
}

.pageBox .pageList.prevnext li.next {
	margin-left: auto
}

.pageBox .pageList.prevnext a {
	width: 180px;
	height: 45px;
	font-weight: 300;
	line-height: 43px;
	padding: 0 20px;
	position: relative
}

.pageBox .pageList.prevnext a.prevBtn::before,.pageBox .pageList.prevnext a.nextBtn::before {
	top: calc(50% - 5px)
}

.pageBox .pageList.prevnext a.prevBtn {
	text-align: right
}

.pageBox .pageList.prevnext a.prevBtn::before {
	left: 15px
}

.pageBox .pageList.prevnext a.nextBtn {
	margin-left: auto;
	text-align: left
}

.pageBox .pageList.prevnext a.nextBtn::before {
	right: 15px
}

@media(max-width: 768px) {
	.pageBox .pageList.prevnext {
		margin-top: 40px
	}

	.pageBox .pageList.prevnext a {
		width: 125px;
		padding: 0 15px
	}
}

@media(max-width: 640px) {
	.pageBox .pageList.prevnext li {
		width: calc(50% - 15px)
	}

	.pageBox .pageList.prevnext a {
		width: 100%
	}
}

@media(max-width: 480px) {
	.pageBox .pageList.prevnext li {
		width: calc(50% - 10px)
	}
}

.pageBox .pageList.prevnext.circle a {
	width: 45px;
	padding: 0
}

.pageBox .pageList.prevnext.circle a span {
	display: none
}

.pageBox .pageList.prevnext.circle a.prevBtn::before {
	left: calc(50% - 3px)
}

.pageBox .pageList.prevnext.circle a.nextBtn::before {
	right: calc(50% - 3px)
}

.pageBox .pageList.circle a {
	border-radius: 50%;
	overflow: hidden
}

.pageBox .pageList.oval a {
	border-radius: 30px;
	overflow: hidden
}

.tagBox {
	padding: 20px 0
}

.tagBox b {
	display: inline-block;
	margin-right: 10px
}

.tagBox ul {
	display: inline-block
}

.tagBox li {
	display: inline-block;
	margin-bottom: 5px
}

.tagBox a {
	position: relative;
	display: block;
	margin: 0 3px;
	padding: 5px 10px;
	border: 1px solid #c4252b;
	font-size: 13px;
	color: #c4252b
}

@media(min-width: 1181px) {
	.tagBox a:hover {
		color: #fff;
		background-color: #c4252b
	}
}

.tagBox a.current {
	color: #fff;
	background-color: #c4252b
}

.tagBox a.current:before {
	content: "��";
	margin-right: 5px;
	font-family: FontAwesome;
	font-size: 12px
}

.tab {
	border-top: 1px solid #d6d6d6;
	display: flex;
	margin-top: 40px
}

@media(max-width: 1180px) {
	.tab {
		margin-top: 20px
	}
}

.tab .tabItem {
	flex: 1
}

.tab a {
	height: 100%;
	align-items: center;
	color: #202020;
	display: flex;
	justify-content: center;
	padding: 15px 10px;
	position: relative;
	text-align: center;
	word-break: break-word;
	z-index: 2
}

.tab a.current {
	background-color: #c4252b;
	color: #fff
}

.tabContent {
	margin-top: -1px;
	padding: 20px 5px;
	border-top: 1px solid #d6d6d6
}

.tabContent .tabContentItem {
	display: none
}

.albumBox {
	width: 50%;
	margin-right: 30px
}

@media(max-width: 767px) {
	.albumBox {
		width: 100%;
		margin-right: 0;
		margin-bottom: 30px
	}
}

.albumBox .albumList .albumItem {
	cursor: pointer
}

.albumBox .albumList .albumItem img {
	width: 100%;
	height: auto;
	display: block;
	backface-visibility: hidden;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover
}

.albumBox .albumListMain .albumItem {
	height: 400px
}

.albumBox .albumListNav {
	margin: 15px -5px 0
}

.albumBox .albumListNav .albumItem {
	aspect-ratio: 4/3;
	padding: 0 5px
}

.sideShare {
	align-items: center;
	display: flex;
	margin: 20px 0
}

.sideShare .shareList {
	align-items: center;
	display: flex
}

.sideShare .shareList .shareTitle {
	display: inline-block;
	font-size: 13px;
	font-weight: 400;
	color: #343434
}

.sideShare .shareList .shareItem a,.sideShare .shareList .shareItem button {
	color: #343434;
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	padding: 5px 6px;
	text-align: center
}

@media(min-width: 1181px) {
	.sideShare .shareList .shareItem a:hover,.sideShare .shareList .shareItem button:hover {
		opacity: .8
	}
}

.sideShare .shareList .shareItem a svg,.sideShare .shareList .shareItem button svg {
	width: 16px;
	height: 16px;
	display: inline-block;
	margin-top: -3px;
	vertical-align: middle;
	fill: #343434
}

.sideShare .shareList .shareItem a.twitter svg,.sideShare .shareList .shareItem button.twitter svg {
	width: 14px;
	height: 14px
}

.imh_opacity {
	background-color: #000;
	overflow: hidden
}

.imh_opacity img {
	backface-visibility: hidden
}

@media(min-width: 1181px) {
	.imh_opacity:hover img {
		opacity: .8;
		transform: scale(1.05)
	}
}

.slick-slider .slick-arrow,.controlBox .slick-arrow {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-color: #fff !important;
	cursor: pointer;
	overflow: hidden;
	position: absolute;
	z-index: 2;
	margin: 10px 5px
}

.slick-slider .slick-arrow::before,.controlBox .slick-arrow::before {
	content: "";
	border-style: solid;
	display: block;
	opacity: 1;
	pointer-events: none;
	z-index: 2;
	width: 0;
	height: 0;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0
}

.slick-slider .slick-arrow.slick-prev::before,.controlBox .slick-arrow.slick-prev::before {
	border-width: 5px 9px 5px 0;
	border-color: rgba(0,0,0,0) #c4252b rgba(0,0,0,0) rgba(0,0,0,0);
	transform: translateX(-2px)
}

.slick-slider .slick-arrow.slick-next::before,.controlBox .slick-arrow.slick-next::before {
	border-width: 5px 0 5px 9px;
	border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #c4252b;
	transform: translateX(2px)
}

@media(min-width: 1181px) {
	.slick-slider .slick-arrow:hover,.controlBox .slick-arrow:hover {
		background-color: #c4252b !important
	}

	.slick-slider .slick-arrow:hover.slick-prev::before,.controlBox .slick-arrow:hover.slick-prev::before {
		border-color: rgba(0,0,0,0) #fff rgba(0,0,0,0) rgba(0,0,0,0)
	}

	.slick-slider .slick-arrow:hover.slick-next::before,.controlBox .slick-arrow:hover.slick-next::before {
		border-color: rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) #fff
	}
}

.slick-slider .slick-dots,.controlBox .slick-dots {
	display: flex;
	flex-wrap: wrap;
	margin: 0
}

.slick-slider .slick-dots.center,.controlBox .slick-dots.center {
	justify-content: center
}

.slick-slider .slick-dots.vertical,.controlBox .slick-dots.vertical {
	width: 16px;
	flex-direction: column;
	position: absolute
}

.slick-slider .slick-dots.vertical li,.controlBox .slick-dots.vertical li {
	margin: 8px 0
}

.slick-slider .slick-dots:not(.vertical) li,.controlBox .slick-dots:not(.vertical) li {
	margin: 0 8px
}

.slick-slider .slick-dots.large li,.controlBox .slick-dots.large li {
	width: 16px;
	height: 16px
}

.slick-slider .slick-dots.white li button::before,.controlBox .slick-dots.white li button::before {
	background-color: #fff
}

.slick-slider .slick-dots li,.controlBox .slick-dots li {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	overflow: hidden
}

.slick-slider .slick-dots li button,.controlBox .slick-dots li button {
	width: 100%;
	height: 100%;
	border: none;
	color: rgba(0,0,0,0);
	display: block;
	padding: 0;
	position: relative
}

.slick-slider .slick-dots li button::before,.controlBox .slick-dots li button::before {
	content: "";
	width: 100%;
	height: 100%;
	background-color: #f0f0f0;
	border: none;
	border-radius: 50%;
	color: rgba(0,0,0,0);
	font-size: 0;
	opacity: 1;
	position: absolute;
	top: 0;
	left: 0
}

.slick-slider .slick-dots li.slick-active button::before,.controlBox .slick-dots li.slick-active button::before {
	background-color: #c4252b;
	opacity: 1
}

@media(min-width: 1181px) {
	.slick-slider .slick-dots li:hover button::before,.controlBox .slick-dots li:hover button::before {
		background-color: #c4252b;
		opacity: 1
	}
}

.slickClsList:not(.slick-slider) {
	overflow: hidden
}

.slickClsList:not(.slick-slider) .slickClsItem:not(:first-child) {
	display: none
}

.Img {
	position: relative
}

.Img.observer:not(.loaded),.Img.observerSlick:not(.loaded) {
	animation: imgLoading .9s ease infinite;
	background-size: 400% 100%;
	background-image: linear-gradient(135deg, rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225), rgb(246, 246, 246), rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225), rgb(225, 225, 225));
	background-color: #f0f0f0
}

.Img.observer:not(.loaded) img,.Img.observerSlick:not(.loaded) img {
	opacity: 0 !important;
	transition: all 1.2s ease !important
}

.lg-outer.lg-thumb-open .lg .lg-img-wrap {
	padding-bottom: 138px
}

.lg-outer .lg .lg-img-wrap {
	padding-top: 47px;
	padding-bottom: 38px
}

.scrollHint {
	width: 120px;
	height: 100px;
	background-color: rgba(0,0,0,.5);
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5
}

.scrollHint.hide {
	opacity: 0
}

.scrollHint.horizontal .scrollIcon {
	animation: scrollHorizontal 1.25s ease-out infinite
}

.scrollHint.vertical .scrollIcon {
	animation: scrollVertical 1.25s ease-out infinite
}

.scrollHint .scrollIcon {
	position: relative;
	content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32"><path fill="currentColor" d="M13 2c-1.645 0-3 1.355-3 3v11.813l-.656-.688l-.25-.219a2.968 2.968 0 0 0-4.188 0a2.968 2.968 0 0 0 0 4.188v.031l8.188 8.094l.062.031l.031.063a8.307 8.307 0 0 0 5 1.687h1.72a8.17 8.17 0 0 0 8.187-8.188V14c0-1.645-1.356-3-3-3c-.426 0-.82.117-1.188.281C23.578 9.981 22.395 9 21 9c-.766 0-1.469.3-2 .781A2.984 2.984 0 0 0 17 9a2.95 2.95 0 0 0-1 .188V5c0-1.645-1.355-3-3-3m0 2c.555 0 1 .445 1 1v11h2v-4c0-.555.445-1 1-1c.555 0 1 .445 1 1v4h2v-4c0-.555.445-1 1-1c.555 0 1 .445 1 1v4h2.094v-2c0-.555.445-1 1-1c.554 0 1 .445 1 1v7.813c0 3.464-2.723 6.187-6.188 6.187h-1.718c-1.465 0-2.731-.523-3.782-1.313l-8.094-8c-.445-.445-.445-.93 0-1.375c.446-.445.93-.445 1.375 0L12 21.625V5c0-.555.445-1 1-1"/></svg>');
	width: 32px;
	height: 32px;
	filter: invert(1);
	z-index: 2
}

.scrollHint .scrollText {
	margin-top: 10px;
	color: #fff
}

.toastMessageBox {
	position: fixed;
	z-index: 1005
}

.toastMessageBox.top {
	top: 40px
}

@media(max-width: 640px) {
	.toastMessageBox.top {
		top: 10px
	}
}

.toastMessageBox.right {
	right: 40px
}

@media(max-width: 640px) {
	.toastMessageBox.right {
		right: 10px
	}
}

.toastMessageBox.bottom {
	bottom: 40px
}

@media(max-width: 640px) {
	.toastMessageBox.bottom {
		bottom: 10px
	}
}

.toastMessageBox.left {
	left: 40px
}

@media(max-width: 640px) {
	.toastMessageBox.left {
		left: 10px
	}
}

.toastMessageBox .toastMessage {
	cursor: pointer;
	color: #fff;
	display: block;
	margin: 10px;
	padding: 10px 20px;
	border-radius: 5px;
	opacity: 0;
	transform: translateY(-20px);
	transition: all .3s linear
}

.toastMessageBox .toastMessage.show {
	opacity: 1;
	transform: translateY(0)
}

.toastMessageBox .toastMessageText {
	align-items: center;
	display: flex
}

.toastMessageBox .toastMessageText i {
	font-size: 24px;
	margin-right: 10px
}

.beforeReveal {
	visibility: hidden
}

.reviewArea {
	padding: 100px 0;
	position: relative
}

@media(max-width: 820px) {
	.reviewArea {
		padding: 60px 0
	}
}

.reviewArea .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	transform-origin: center;
	background-image: url("../images/reviewBg.png");
	background-size: cover;
	background-position: center top
}

.reviewArea .wrap {
	position: relative;
	z-index: 2;
	width: 100vw;
	margin: 0 auto;
	padding: 0;
}

.reviewArea .titleBox {
	margin-bottom: 65px
}

.reviewArea .titleBox .title,.reviewArea .titleBox p {
	color: #fff
}

.reviewArea .titleBox .title+p,.reviewArea .titleBox p+p {
	font-size: clamp(26px,2.08vw,40px)
}

@media(max-width: 640px) {
	.reviewArea .titleBox {
		margin-bottom: 20px
	}
}

.reviewArea .reviewBox {
	position: relative
}

.reviewArea .arrow {
	position: absolute;
	width: 52px;
	height: 100px;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer
}

@media(max-width: 820px) {
	.reviewArea .arrow {
		display: none
	}
}

.reviewArea .arrow.prev {
	left: 0
}

.reviewArea .arrow.next {
	right: 0
}

.reviewArea .arrow svg {
	width: 100%;
	height: 100%;
	color: #fff
}

.reviewArea .reviewList {
	max-width: 1120px;
	margin: 0 auto
}

.reviewArea .reviewList .slick-list {
	padding: 45px 0;
	margin: 0 -30px
}

@media(max-width: 640px) {
	.reviewArea .reviewList .slick-list {
		margin: 0;
		overflow: visible
	}
}

.reviewArea .reviewList .slick-track {
	display: flex
}

.reviewArea .reviewList .slick-slide {
	padding: 0 15px;
	display: flex !important;
	height: auto
}

.reviewArea .reviewList .slick-slide>div {
	display: flex;
	width: 100%
}

.reviewArea .slick-slider {
	height: auto
}

.reviewArea .slick-slider .slick-dots .slick-active button::before {
	background-color: #fff;
	opacity: 1
}

.reviewArea .slick-slider .slick-dots li:not(.slick-active) button::before {
	background-color: hsla(0,0%,100%,.5);
	opacity: 1
}

.reviewItem {
	border-radius: 45px;
	background-color: #fff;
	border: 1px solid #fff;
	box-shadow: 0px 4px 45px 0px rgba(0,0,0,.04);
	display: flex;
	flex: 1
}

@media(max-width: 1180px) {
	.reviewItem {
		border-radius: 30px
	}
}

.reviewItem .item {
	padding: 60px 45px 45px;
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1
}

.reviewItem .item::before {
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	border-top: 2px solid #d12542;
	border-right: 2px solid #d12542;
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%) rotate(135deg)
}

@media(max-width: 1180px) {
	.reviewItem .item {
		padding: 50px 30px 30px
	}
}

.reviewItem .item .avatar {
	position: absolute;
	top: -42.5px;
	right: 45px;
	width: 85px;
	height: 85px
}

@media(max-width: 640px) {
	.reviewItem .item .avatar {
		top: -30px;
		width: 60px;
		height: 60px
	}
}

.reviewItem .item .avatar img {
	width: 100%;
	height: auto;
	display: block;
	backface-visibility: hidden
}

.reviewItem .item .subtitle {
	font-family: "Noto Sans TC","Microsoft JhengHei",sans-serif;
	font-weight: 700;
	font-size: clamp(18px,2vw,21px);
	margin-bottom: 14px;
	letter-spacing: 0.84px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap
}

@media(max-width: 992px) {
	.reviewItem .item .subtitle {
		margin-bottom: 15px
	}
}

.reviewItem .item .star {
	margin-bottom: 20px
}

.reviewItem .item .title {
	box-sizing: content-box;
	font-family: "Noto Sans TC","Microsoft JhengHei",sans-serif;
	font-size: 16px;
	font-weight: 500;
	padding-bottom: 16px;
	margin-bottom: 15px;
	border-bottom: 1px solid #dedede;
	max-height: 46px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	letter-spacing: 0.72px
}

@media(max-width: 1280px) {
	.reviewItem .item .title {
		padding-bottom: 19px;
		margin-bottom: 20px
	}
}

.reviewItem .item .text {
	font-family: "Noto Sans TC","Microsoft JhengHei",sans-serif;
	font-size: 14px;
	line-height: 1.7;
	color: #343434;
	letter-spacing: 0.17px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden
}

.faqArea {
	padding: 70px 0;
	color: #fff;
	background-color: #262626
}

@media(max-width: 1180px) {
	.faqArea {
		padding: 50px 0
	}
}

@media(max-width: 820px) {
	.faqArea {
		padding: 40px 0
	}
}

@media(max-width: 640px) {
	.faqArea {
		padding: 20px 0
	}
}

.faqArea .blockTitle {
	margin-bottom: 50px;
	text-align: center;
	font-family: Poppins,sans-serif;
	font-size: clamp(26px,2.1vw,40px);
	font-weight: 700
}

@media(max-width: 640px) {
	.faqArea .blockTitle {
		margin-bottom: 20px
	}
}

.faqArea .faqItem {
	color: #000;
	background-color: #fff;
	padding: 20px 60px;

	cursor: pointer;
	box-shadow: 0 1px 28px 0 rgba(0,0,0,.1);
	transition: .3s;
	float: left;
	width: 46%;
	margin: 1% 2%;
}

@media(max-width: 640px) {
	.faqArea .faqItem {
		padding: 10px 50px;
		width: 100%;
		margin: 1% 0;
	}
}

.faqArea .faqItem:last-child {
	margin-bottom: 0
}

.faqArea .faqItem.open .faqItemTitle::after {
	content: "";
	position: absolute;
	content: "-";
	transform: rotate(180deg)
}

.faqArea .faqItemTitle {
	position: relative;
	font-size: clamp(14px,1.1vw,20px);
	font-weight: 700;
	letter-spacing: 0;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	line-height: 1.6;
}

.faqArea .faqItemTitle::before {
	content: "";
	position: absolute;
	content: "Q";
	color: #c4252b;
	font-size: clamp(30px,4vw,40px);
	font-weight: 500;
	font-family: Poppins;
	left: -50px;
	top: 50%;
	transform: translateY(-50%);
	text-box-edge: cap alphabetic;
	text-box-trim: trim-both
}

@media(max-width: 640px) {
	.faqArea .faqItemTitle::before {
		font-size: 26px;
		left: -45px
	}
}

.faqArea .faqItemTitle::after {
	content: "";
	position: absolute;
	content: "+";
	color: #c4252b;
	font-size: 30px;
	font-family: Poppins,sans-serif;
	right: -50px;
	top: 50%;
	transform: translateY(-50%) rotate(0);
	transition: transform .6s ease-in-out
}

@media(max-width: 640px) {
	.faqArea .faqItemTitle::after {
		font-size: 30px;
		right: -40px
	}
}

.faqArea .faqItemContent {
	max-height: 0;
	overflow: hidden;
	transition: max-height .6s ease-in-out
}

.faqArea .faqItemAnswer {
	color: #444;
	font-size: clamp(14px,1.4vw,17px);
	line-height:1.6;
	padding: 10px 0
}

.faqArea .faqItemAnswer a {
	color: #c4252b;
	text-decoration: none
}