@charset "utf-8";
/* CSS Document */
/* ---reset.css--- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
	/*background:url("../images/bg.png") repeat;*/
	scroll-behavior: smooth;
}
body{ position: relative;}
	@media screen and ( max-width: 640px ){
		body{ padding-bottom:0vw;}
	}

/* Public Version 公版顏色設定 */
:root {
	--PV-eslite: #a7212f; /* 誠品線上標準色 */
	--PV-font: #323232; /* 文字色-灰 */
}

/* PC */
.WRAPPER{ position:relative; width:100%; min-width:1200px; margin:0 auto; overflow:hidden;}
 	@media screen and ( max-width: 640px ){
		.WRAPPER{ min-width:100%;}
	}
.container { overflow: hidden; max-width:1920px !important; margin:0 auto; }
.topbox { position: relative; width: 1200px; margin:0 auto;}
.kv_pc { width: 100%;  position: relative; text-align:center; display: flex;justify-content: center;max-width: 1920px; margin: auto;flex-wrap: wrap-reverse;}
.kv_pc img { display: block; text-align: center; }
.kv_m { display: none; }
.kv_m img { display: block; }
.kv_m a {font-size: 0; display: block; }
.for_pc{ display: block; }
.for_m { display: none; }

.kv-title{ position:absolute; top:71px; left:380px;}
.kv-sp{ position:absolute; top: 354px; left: 500px;}

/* m */
@media screen and ( max-width: 640px ){
	.kv_m { display: block; width: 100%; }
	.kv_m img {  width: 100%; }
	.kv_pc { display: none; }
	.container {width: 100%; min-width: auto; }
	.for_pc{ display: none; }
	.for_m { display: block; }
}


 /* ----------------------CUSTOMERIZATION---------------------- */
h2 { color:#fff34e; margin:0 auto; font-weight:bold; width:100%; background:url("../images/bg_theme.png") no-repeat center center; letter-spacing:2px; }
h2 big { color:#fff34e;}
.titleC h2 p{ color:#fcfaf7; padding:2px 0; font-size: 2rem;}
.circle .font .price{ color: var(--PV-font);}

.titleC{ margin:40px auto 0px auto;}
.title-h2 h2{ background:url("../images/bg_theme-1.png") no-repeat center bottom;}

.hightlight { background:#fff; border-radius:0 0 100px 100px; padding:20px 0; margin:0 auto 20px auto; position:relative; }
.items3 { background:url("../images/mbg_01.png") repeat; border-radius:10px;}
.hightlight li { background: #fff;}
.hightlight .font h4 { background:#ef6a4a;}

.triple { margin: 20px auto;}
.triple li { margin: 6px; border-radius:10px;}
.triple big{ color:var(--PV-font);}
.triple .font h4 { background:#ef6a4a; }

.items3 img { width: 360px; height: 360px; margin:0 auto; }

	@media screen and (max-width: 640px){
		h2 { font-size:2.52rem; padding:2vw 0; letter-spacing:0px; position:initial; margin:0 auto; background:url("../images/mbg_theme.png") no-repeat center bottom/100%;}
		h2 p{ font-size:1rem; line-height:2rem; }
		
		.titleC{ margin:4vw auto 1vw auto;}
		.titleC h2 p{ font-size:1.8rem; padding:0; }
		.title-h2 h2{ background:url("../images/mbg_theme.png") no-repeat center center/100%;}

		.hightlight { padding:2vw 0; margin:0px auto; background: none; border-radius:0; }

		.triple li { border-radius:0px; padding: 2vw;}
		.triple .font { padding: 0 0 0 1vw;}
		.triple .font h4 { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 1vw;}
		.triple .font p { font-size: 0.9rem; letter-spacing: -0.8px;}

		.items3 li{ width: 46vw;}
		.items3 img { width: 40vw; height: 40vw; }
	}




 /* ----------------------BACKGROUND---------------------- */
 .container1200 { max-width:1160px; margin:10px auto; padding:10px 0; position:relative; }
 .container1920 { max-width:1920px; margin:10px auto; padding:5px 0; position:relative; }
	  @media screen and ( max-width: 640px ){
		 .container1200, .container1920{ max-width:100vw; min-width:320px; padding:2vw 0; text-align:center; }
	 }

.content{ padding:0; text-align:center; background:url("../images/bg_nido.png") no-repeat center top, url("../images/bg_deco.png") repeat-y center top, url("../images/bg.png") repeat;  }
.bg_img{ width:1920px; height:7900px; max-width:100%; position:absolute; /*background:url("../images/bg_deco.png") repeat-y center top;*/ background-size:1920px;}

.bg01{ padding:1px 0 10px 0; margin:40px auto 0px auto; background:url("../images/mbg_01.png") repeat;}

.bg_bnr{ margin:0 auto; background:url("../images/mbg_02.png") repeat-y; }
	.banner { padding:20px 0px; margin:0 auto; position:relative;}
	.banner li { margin:8px; }
	.bg_bnr .banner { margin: 0px auto; }
	@media screen and (max-width: 640px){
		header div{ margin:2.5vw 10px 0px 0px !important;}

		.content{ border-radius:0px; padding:0; margin:0 auto; }
		.bg_img{ display: none;}

		.bg01 { padding:2vw 0; margin:2vw auto 0 auto;  }

		.bg_bnr{ margin:0 auto; }
			.banner li { margin:1.5vw 2vw; }
			.bg_bnr .banner { margin: 0 auto; padding:4vw 1vw; }
			.banner img { width:96%; margin: 0 auto;}
	}
	@media screen and (max-width: 320px){
		header img{ width:62%;}
	}




 /* ---------------------- OTHERS ---------------------- */



/*--goto top--*/
#gotop {display: inline-block;background-color: #000;opacity:0.3;width: 40px;height: 40px;text-align: center;border-radius: 100%;position: fixed;bottom: 30px;right: 0px;transition: background-color .3s, opacity .5s, visibility .5s;opacity: 0;visibility: hidden;z-index: 1000;margin: 30px;}
#gotop::after {font-family: FontAwesome;content:'　';font-weight: normal;font-style: normal;font-size: 2em;line-height: 50px;color: #fff;  opacity:0.5;background: url(../images/top.png) center no-repeat; background-size:50%;background-position:50% 20%;}
#gotop:hover {cursor: pointer;background-color: #666;}
#gotop:active {background-color: #666;}
#gotop.show {opacity: 0.4;visibility: visible;}
	@media screen and ( max-width: 640px ){
	#gotop {bottom:18vw /*2vw*/;right: 0;margin: 2vw;	}
	}


.nav li:active, .nav li:focus, .nav li:hover, 
menu li:active, menu li:focus, menu li:hover{
		    transform:none !important;}
	@media screen and ( max-width: 640px ){
		.container li:active, .container li:focus, .container li:hover{
			-webkit-transform:translateY(0px);
					transform:translateY(0px);}
	}


/* -- sidemanu for pc -- */
.side-menu{
	position: fixed;
	width: 130px;
	top:20%;
	left:10px;
	padding:10px;
	border-radius:20px;
	box-sizing: border-box;
	background:#f27e7e;
	opacity:0.95; 
	display: flex;
	flex-direction: column;
	transform: translateX(0);
	transition: .3s;
	text-align:center;
	z-index:99;
	font-size:15px;
	
}
.side-menu label{
	position: fixed;
	width: 40px;
	height: 150px;
	background:#f27e7e;
	opacity:0.95; 
	color: #ffffff;
	right: -40px;
	top: 0%;
	line-height: 28px;
	text-align: center;
	font-size: 24px;
	border-radius: 0 10px 10px 0;
	padding:18px 8px 10px 8px;
	font-weight:500;
	
}
#side-menu-switch{
	position: absolute;
	opacity: 0;
	z-index: -1;
}
#side-menu-switch:checked + .side-menu{
	transform: translateX(0);
}
nav a{
	display: block;
	padding: 6px 5px;
	color: #ffffff;
	text-decoration: none;
	position: relative;
	font-size:14px;	
	font-weight: 300;
	line-height: 18px;
}
nav a:hover{
	color: #000;
	background-color:#fff150;
	border-radius:0;
}
nav p.name_menu{ padding:5% 0 3% 0; font-size:1.2em; line-height:1.2em; border-bottom:1px solid; color:#000; font-weight: bold;}
nav ul.area1{ margin-bottom:150px;}
nav ul.area1 li{ width:50%; float:left; border-bottom:1px dotted #000;}
nav ul.area1 li:nth-child(even){ border-right:1px dotted #000;}
nav ul.area2 li{ border-bottom:1px dotted #000;}
nav ul.area1 li:nth-last-child(1), nav ul.area1 li:nth-last-child(2), nav ul.area2 li:nth-last-child(1){ border-bottom:none;}
	@media screen and ( max-width: 640px ){
		.side-menu {display: none;}
	}



/*for mobile*/
menu{display:none;}
	@media screen and ( max-width: 640px ){
		menu{ display:block;}
		.deco_arrows{ width:1vw; }
	}
menu ul{
	position:fixed;
	bottom:0;
	left:0;
	margin:0;
	width:100%;
	display:flex;
	flex-wrap:wrap;
	list-style: none;
	background:#fff150;
	z-index:1000;
	padding:2px 0;
	border-top:none;
	font-weight: bold;
}
menu ul li{
	border-top:1px solid #000;
	border-right:1px solid #000;
	border-bottom:1px solid #000;
	padding:4px 0;
	width:25%;
	box-sizing:border-box;
	text-align:center;
	letter-spacing:0px;
	color:#ffffff;
}
menu ul li a{
	font-size:14px;
	line-height:12px;
}
menu ul li:nth-last-child(5), menu ul li:nth-last-child(1){
	border-right:none;
}
menu ul li:nth-last-child(4), menu ul li:nth-last-child(3), menu ul li:nth-last-child(2), menu ul li:nth-last-child(1){
	border-bottom:none;
}

menu a{
	color:#000 !important;
	text-decoration:none;


}