@import url('/css/fontawesome-all.css');
@import url('/css/font-awesome.min.css');
@import url('/css/fontawesome.min.css');
@import url('/css/SeoJump.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@100;300;400;500;700;900&family=Noto+Sans+TC:wght@100;300;400;500;700;900&family=Noto+Sans:wght@100;200;300;400;500;600;700;800;900&family=Noto+Serif+SC:wght@200;300;400;500;600;700;900&family=Noto+Serif+TC:wght@200;300;400;500;600;700;900&family=Noto+Serif:wght@400;700&family=Allura&family=Marcellus&family=Marcellus+SC&display=swap');

</style>*:focus {
	outline: none;
}

header,
footer,
nav,
article,
h2,
h3,
h4,
h5,
h6,
hr,
p,
form,
label,
input,
textarea,
ul,
li,
img,
svg,
span,
font,
strong,
b,
a,
i {
	text-align: left;
	vertical-align: middle;
	word-wrap: break-word;
	word-break: break-word;
	line-height: 170%;
	border-width: 0;
	font-family: var(--font-family), sans-serif;
	font-size: max(1.1 * (1vw + 1vh) / 2, 16px);
	color: var(--info);
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
	margin: 0;
}

.aos-init {
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

ul,
ol {
	list-style: none;
}

fieldset {
	border: 0;
}

input[type=text],
input[type=number],
input[type=tel],
input[type=password],
button,
select,
textarea {
	padding: .3rem 1rem;
	width: 100%;
	background-color: #fff;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: .2rem;
	box-shadow: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

input[type=number] {
	-moz-appearance: textfield;
}

input[type="password"] {
	font-family: auto;
}

select {
	padding: .3rem 1rem;
}

input,
button,
select,
textarea {
	border-radius: 0;
	box-shadow: none;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

select {
	background: url(/images/00/icon-triangle.png) no-repeat calc(100% - 10px) 50%;
}

/* img */
img {
	max-width: 100%;
}

.img_cover {
	object-fit: cover;
}

.img_contain {
	object-fit: contain;
}

a,
a:link,
a:visited,
a:hover {
	text-decoration: none;
	white-space: pre-wrap;
}

/* general class set */
.txt_clamp {
	overflow: hidden;
	height: 27px;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
}

.d_inblock.txt_clamp {
	display: -webkit-inline-box;
}

.atag_item {
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

.nowrap_box {
	font-size: 0;
}

.flex_direction {
	flex-direction: column;
}

.flex_wrap {
	flex-wrap: wrap;
}

.text_uppercase {
	text-transform: uppercase;
}

.text_en {
	font-family: 'Allura', cursive;
}

.text_en2 {
	font-family: 'Marcellus', serif;
}

.text_serif {
	font-family: 'Noto Serif TC', 'Noto Serif SC', 'Noto Serif', serif;
}

.writing {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
}

.text_stroke {
	color: transparent;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	-webkit-text-stroke: 2px #000;
	text-stroke: 2px #000;
}

.select_none {
	-webkit-user-select: none;
	-moz-user-select: none;
	-o-user-select: none;
	user-select: none;
}

/* btn */
.btn,
.btn_outline {
	padding: 2px 10px;
	display: inline-block;
}

.btn_pill {
	padding: .6rem 4rem;
}

/* badge  */
.badge {
	padding: 2px 10px;
	box-shadow: none;
}

.badge_lighten {
	padding: 0 4px;
	min-width: 22px;
	border-radius: 3px;
	font-weight: 400;
	text-align: center;
	font-size: 12px;
	vertical-align: text-bottom;
}

/* photo , bg_box */
a.photo,
.bg_box {
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}

/* fancybox */
[class^="fancybox-"],
[class^="fancybox-"] *,
.slick-track,
.fa,
.fas,
.fa:before,
.fas:before,
.fa:after,
.fas:after,
.trans_none_box {
	-webkit-transition: none;
	-moz-transition: none;
	-ms-transition: none;
	-o-transition: none;
	transition: none;
}

.fancybox-infobar__body span {
	font-size: inherit;
	color: currentcolor;
	vertical-align: initial;
}

/* webBox */
.webBox {
	overflow: hidden;
	position: relative;
	width: 100vw;
	min-height: 100vh;
}

.webBox .pageh1 {
	position: absolute;
	top: 0;
	z-index: 1;
}

.webBox .wrapper {
	overflow: hidden;
	position: relative;
	background: #fff;
	z-index: 2;
}

.webBox .slick-slider {
	margin-bottom: 0;
	min-width: 100%;
}

/* workframe */
.workframe,
.workframe_s {
	margin: 0 auto;
	width: 95vw;
}

/* header */
header {
	position: fixed;
	padding: 10px 5vw;
	width: 100vw;
	display: grid;
	grid-template-columns: 180px 1fr 255px;
	grid-template-areas:
		"logo menu btns";
	align-items: center;
	z-index: 9999;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

header #cis {
	position: relative;
	grid-area: logo;
	z-index: 1000;
}

header #cis a {
	display: block;
}

header #cis a svg {
	height: 70px;
}

header #cis a svg use {
	fill: #fff;
}

header #webmenu {
	position: relative;
	display: block;
	grid-area: menu;
}

header #webmenu * {
	color: #fff;
}

header #webmenu nav a {
	margin: 0 10px;
	padding: 10px;
	font-size: 17px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

header #webmenu nav a:before {
	content: "";
	width: 70%;
	height: 1px;
	background: white;
	position: absolute;
	bottom: 0;
	-moz-transform-origin: center;
	-moz-transform: scaleX(0);
	-webkit-transform-origin: center;
	-webkit-transform: scaleX(0);
	-o-transform-origin: center;
	-o-transform: scaleX(0);
	-ms-transform-origin: center;
	-ms-transform: scaleX(0);
	transform-origin: center;
	transform: scaleX(0);
	-webkit-transition: all .3s ease-out;
	-moz-transition: all .3s ease-out;
	-ms-transition: all .3s ease-out;
	-o-transition: all .3s ease-out;
	transition: all .3s ease-out;
}

header #webmenu nav a:hover::before {
	-moz-transform-origin: center;
	-moz-transform: scaleX(1);
	-webkit-transform-origin: center;
	-webkit-transform: scaleX(1);
	-o-transform-origin: center;
	-o-transform: scaleX(1);
	-ms-transform-origin: center;
	-ms-transform: scaleX(1);
	transform-origin: center;
	transform: scaleX(1);
}

header #topbtns {
	position: relative;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	grid-area: btns;
	z-index: 1000;
}

header #topbtns a {
	color: white;
}

header #topbtns .btn svg {
	width: 22px;
	height: 25px;
	fill: #fff;
}

header #topbtns #openshop {
	position: relative;
}

header #topbtns #openshop b {
	position: absolute;
	width: 18px;
	height: 18px;
	background: var(--sixth);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 400;
	font-size: 12px;
	color: #fff;
	top: -2px;
	left: 23px;
}

header #topbtns #openshop font {
	display: inline-flex;
	color: #fff;
}

header #topbtns #openshop font:before {
	margin: 0 10px 0 13px;
	display: inline-block;
	content: "/";
}

header.scroll {
	padding: 5px 5vw;
}

header.scroll #cis a svg {}

/* hSearch */
#hSearch {
	margin-top: 1rem;
	padding-right: 1rem;
	width: 240px;
	background-color: #f9f9f9;
	box-shadow: 0 0 0.875rem 0 rgb(53 64 82 / 30%);
	display: flex;
	align-items: center;
	top: 90px;
	right: -300px;
	opacity: 0;
	z-index: -1;
}

#hSearch[data-type="2"] {
	right: 5vw;
	opacity: 1;
	z-index: 10;
}

#hSearch input {
	background-color: #f9f9f9;
	border: 0;
}

#hSearch a {
	line-height: 1;
}

#hSearch svg {
	width: 18px;
	height: 18px;
	fill: #6190aa;
}

/* footer */
footer {
	position: relative;
	padding: 90px 0 20px;
	margin-top: -460px;
	z-index: 0;
}

footer:before {
	content: "";
	position: absolute;
	width: 61%;
	height: 100%;
	background: #deae35;
	right: 0;
	bottom: 0;
	z-index: 0;
	border-radius: 520px 0 0 0;

}

footer .workframe {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: flex-end;
	z-index: 1;
}

footer .workframe * {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

footer .melist {
	margin-bottom: 20px;
	display: flex;
	flex-direction: column;
}

footer .melist-cu {
	display: flex;
	align-items: center;
}

footer .melist-cu a {
	margin-right: 12px;
}

footer .melist .metitle {
	margin-bottom: 14px;
}

footer .melist .metitle h3 {
	font-weight: 500;
}

footer .melist .foonav {
	display: flex;
	flex-wrap: wrap;
	width: 70%;
	width: min(90%, 340px);
}

footer .melist .foonav a {
	margin-right: 18px;
	display: flex;
}

footer .rightm_box {
	width: 46%;
	display: flex;
	align-items: center;
}

footer .rightm_box .mrow_box {
	display: flex;
	flex-direction: column;
	width: 55%;
}

footer .meinfo {
	display: flex;
	flex-direction: column;
}

footer .rightm_box .mrow_box a {
	font-size: max(1.1 * (1vw + 1vh) / 2, 14px);
}

footer .rightm_box .mrow_box2 {
	display: flex;
	flex-direction: column;
	width: 35%;
	margin-right: 12%;
}

footer * {
	color: #fff;
	font-weight: 300;
}

footer .left_down_box {
	position: absolute;
	left: 6%;
	bottom: 4px;
}

footer .left_down_box img {
	margin-bottom: 20px;
}

footer .left_down_box * {
	font-size: max(1 * (1vw + 1vh) / 2, 14px);
	color: #595656;
}

footer .top_box {
	margin-bottom: 40px;
	padding: 0 20px 12px;
	border-bottom: 1px var(--light_gary) solid;
}

footer #f_logo svg {
	width: 121px;
	height: 78px;
}

footer #f_logo svg use {
	fill: #fff;
}

footer #community_box {
	margin-left: 5%;
	width: 1%;
	flex: auto 1;
}

footer #community_box a {
	position: relative;
	margin: 0 0 10px 15px;
	width: 38px;
	height: 38px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}

footer #community_box a:before {
	position: absolute;
	width: 100%;
	height: 100%;
	border: 1px #fff solid;
	border-radius: 50%;
	top: 4px;
	left: 4px;
	content: "";
}

footer #community_box a svg {
	position: relative;
	width: 65%;
	height: 100%;
	fill: #9ab8c9;
}

footer #community_box a.fb svg {
	height: 50%;
}

footer #community_box a.ig svg {
	width: 50%;
}

footer .bottom_box {
	padding: 0 20px;
}

footer .bottom_box h3 {
	font-weight: 400;
	font-size: 19px;
}

footer .bottom_box p {
	font-weight: 300;
	font-size: 14px;
}

footer #f_nav {
	width: 310px;
}

footer #f_nav a {
	margin: .2rem 1rem;
}

footer #f_info a {
	letter-spacing: .05rem;
	font-weight: 400;
	font-size: 18px;
}

footer #f_copy {
	width: 220px;
}

footer #f_copy .line_contact {
	padding: 0 15px;
	width: 200px;
	display: grid;
	grid-template-columns: 29px 1fr 15px;
	grid-template-rows: 55px;
	align-items: center;
	border: 1px #fff solid;
}

footer #f_copy .line_contact {
	margin-bottom: .5rem;
}

footer #f_copy .line_contact svg {
	width: 100%;
	height: 100%;
	fill: #fff;
}

footer #f_copy .line_contact svg.arrow {
	-webkit-transform: scaleX(-1);
	transform: scaleX(-1);
}

footer #f_copy p,
footer #f_copy p a {
	font-weight: 300;
	font-size: 13px;
	color: #c7e2f1;
}

/* webSeo */
#webSeo {
	white-space: nowrap;
	box-sizing: border-box;
	grid-area: webseo;
}

#webSeo .seo {
	padding-left: 100%;
	font-weight: 100;
	line-height: 1;
	font-size: 13px;
	color: #b1888a;
}

/* gotop */
#gotop {}

@media screen and (min-width: 1501px) {
	.workframe {
		width: 1460px;
	}
}

@media screen and (min-width: 1441px) {
	.workframe_s {
		width: 1280px;
	}
}

@media screen and (max-width: 1470px) {
	header {
		grid-template-columns: 180px 1fr 240px;
	}

	header #webmenu nav a {
		padding: 6px;
		margin: 0 5px;
	}

	footer {
		margin-top: -250px;
	}

	footer:before {
		border-radius: 411px 0 0 0;
	}
}

@media screen and (max-width: 1280px) {
	header {
		grid-template-columns: 150px 1fr 255px;
	}

	header #webmenu nav a {
		padding: 10px 5px;
	}

	footer .workframe {
		width: 90%;

	}
}


@media screen and (min-width: 1161px) {
	header #webmenu nav>ul {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	header #webmenu nav ul li {
		position: relative;
	}

	header #webmenu nav ul li b {
		display: none;
	}

	header #webmenu li .menu_body * {
		color: #6190aa;
	}

	header #webmenu li .menu_body,
	header #webmenu li .subOption ul {
		position: absolute;
		width: 160px;
		right: calc((100% - 160px) / 2);
		z-index: -1;
		opacity: 0;
		pointer-events: none;
	}

	header #webmenu li .menu_body {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
	}

	header #webmenu li .menu_body ul {
		background: #fff;
		box-shadow: 0px 0px 30px 0.4px rgb(149 149 149 / 12%);
	}

	header #webmenu li .subOption li {
		overflow: hidden;
	}

	header #webmenu li .subOption li>div a {
		margin: 0;
		padding: 5px 10px;
		display: block;
		border-bottom: 1px rgba(0, 0, 0, .1) solid;
	}

	header #webmenu li .subOption .sub2Option,
	header #webmenu li .subOption .sub3Option {
		top: 0;
		right: -160px;
		-webkit-transform: translateX(-30px);
		transform: translateX(-30px);
	}

	header #webmenu li .subOption .sub4Option {
		-webkit-transform: translateY(-30px);
		transform: translateY(-30px);
	}

	header #webmenu nav>ul>li:hover,
	header #webmenu li .subOption li:hover {
		overflow: visible;
	}

	header #webmenu nav>ul>li:hover .menu_body {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	header #webmenu li .subOption li:hover .sub2Option,
	header #webmenu li .subOption li:hover .sub3Option {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}

	header #webmenu li .subOption li:hover .sub4Option {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}

	header #webmenu nav>ul>li:hover .menu_body,
	header #webmenu li .subOption li:hover>ul {
		z-index: 2;
		opacity: 1;
		pointer-events: auto;
	}

	header #webmenu li:last-child .subOption .sub2Option,
	header #webmenu li:last-child .subOption .sub3Option {
		right: auto;
		left: -170px;
	}

	header #menu_btn {
		display: none;
	}

	header.scroll {
		background: rgb(0 0 0 / 30%);
		box-shadow: 0 0 20px rgb(0 0 0 / 30%);
	}
}

@media screen and (max-width: 1160px) {
	header {
		background: #fff;
		grid-template-columns: 167px 1fr;
		grid-template-areas:
			"logo btns";
	}

	header:before {
		position: absolute;
		width: 100%;
		height: 100%;
		background: #deae35;
		box-shadow: 0 0 20px rgb(0 0 0 / 30%);
		display: block;
		top: 0;
		left: 0;
		z-index: 999;
		content: "";
	}

	header #cis a svg {
		width: 100%;
		height: 60px;
		fill: #6190aa;
	}

	header #cis a svg use,
	header #topbtns .btn svg {
		fill: #ffffff;
	}

	header #cis a svg use:nth-child(2) {
		fill: #7d7d7d;
	}

	header #topbtns #openshop font {
		color: #ffffff;
	}

	header #webmenu {
		overflow-y: scroll;
		position: fixed;
		padding: 120px 10vw 10vh;
		width: 100vw;
		height: 100vh;
		background: #fff;
		top: 0;
		left: 0;
		opacity: 0;
		z-index: 998;
		pointer-events: none;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
	}

	header #webmenu::-webkit-scrollbar {
		width: 0;
	}

	header #webmenu * {
		color: #424242;
	}

	header #webmenu nav {
		opacity: 0;
		-webkit-transform: translateY(-50px);
		transform: translateY(-50px);
	}

	header #webmenu nav a {
		margin: 0;
		padding: 10px 50px 8px 10px;
		border-bottom: 1px rgba(0, 0, 0, .1) solid;
	}

	header #webmenu nav p,
	header #webmenu nav ul li .bo {
		position: relative;
	}

	header #webmenu nav b {
		position: absolute;
		width: 50px;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		top: 0;
		right: 0;
	}

	header #webmenu li .menu_body,
	header #webmenu li .subOption ul {
		display: none;
		-webkit-transition: none;
		-moz-transition: none;
		-ms-transition: none;
		-o-transition: none;
		transition: none;
	}

	header #webmenu li .menu_body ul {
		margin: 0 0 0 .5em;
	}

	header #webmenu nav .menu_body .subOption a {
		font-size: 16px;
		color: #6c6c6c;
	}

	header #webmenu[data-type="2"] {
		opacity: 1;
		pointer-events: auto;
	}

	header #webmenu[data-type="2"] nav {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
		-webkit-transition-delay: .2s;
		transition-delay: .2s;
	}

	header #menu_btn {
		margin-left: 10px;
		width: 25px;
		height: 25px;
		display: flex;
		flex-direction: column;
		justify-content: space-evenly;
		align-items: flex-end;
		transition: transform .35s ease, height .35s ease;
	}

	header #menu_btn span {
		margin-bottom: 5px;
		width: 95%;
		height: 2px;
		background-color: #ffffff;
		display: block;
		transition: all .35s ease;
	}

	header #menu_btn span:nth-child(2) {
		width: 60%;
		background-color: #ffffff;
	}

	header #menu_btn span:last-child {
		margin-bottom: 0;
	}

	header #menu_btn[data-type="2"] span:nth-child(1) {
		-webkit-transform: translate(0, 10px) rotate(45deg);
		transform: translate(0, 10px) rotate(45deg);
	}

	header #menu_btn[data-type="2"] span:nth-child(2) {
		opacity: 0;
	}

	header #menu_btn[data-type="2"] span:nth-child(3) {
		-webkit-transform: translate(0, -8px) rotate(-45deg);
		transform: translate(0, -8px) rotate(-45deg);
	}

	header.scroll #cis a svg {}

	footer {
		margin-top: 0;
		background: #deae35;
	}

	footer #f_copy {
		margin-top: 1rem;
		width: 100%;
		flex-direction: row;
		align-items: center;
	}

	footer #f_copy .other {
		width: 1%;
		flex: auto 1;
	}

	footer #f_copy .other p {
		margin-left: .5rem;
	}

	footer:before,
	footer .rightm_box .mrow_box2 {
		display: none;
	}

	footer .left_down_box {
		position: relative;
		left: 0;
	}

	footer .workframe {
		display: flex;
		flex-direction: column;
	}

	footer .rightm_box {
		width: 100%;
	}

	footer .rightm_box .mrow_box {
		width: 100%;
		display: flex;
		flex-direction: unset;
	}

	footer .melist {
		width: 40%;
	}

	footer .melist-cu {
		width: 20%;
	}
}

@media screen and (max-width: 768px) {
	footer #f_nav {
		margin: 1rem 0;
		width: 100%;
	}

	footer #f_nav a {
		margin-left: 0;
	}
}

@media screen and (max-width: 640px) {
	footer {
		padding: 0 0;
	}

	footer .left_down_box {
		display: flex;
		flex-direction: column;
		order: 2;
		padding: 20px;
		background: white;
		align-items: center;
	}

	footer .rightm_box .mrow_box {
		display: flex;
		flex-direction: column;
	}

	footer .melist {
		width: 100%;
	}

	footer .left_down_box img {
		width: 199px;
	}

	footer .rightm_box {
		padding: 45px 20px;
	}

	footer .workframe {
		width: 100%;
	}
}

@media screen and (max-width: 550px) {
	header {
		grid-template-columns: 167px 1fr;
	}

	header #topbtns #openshop font {
		display: none;
	}

	header #webmenu {
		padding: 120px 5vw 10vh;
	}

	footer .top_box {
		padding: 0 5px 12px;
	}

	footer #f_business_time,
	footer #f_info {
		margin-bottom: 1rem;
		width: 100%;
	}

	footer #f_copy {
		flex-wrap: wrap;
	}

	footer #f_copy .other {
		width: 100%;
		justify-content: flex-start;
	}

	footer #f_copy .other p:nth-child(1) {
		margin-left: 0;
	}
}