@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@700&display=swap');
/* 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.jpg") top center repeat fixed;
}



/* PC */
.WRAPPER{ position:relative; width:100%; min-width:1200px; margin:0 auto; overflow:hidden;}
 	@media screen and ( max-width: 991px ){
		.WRAPPER{ min-width:100%;}
		
	}
.container { overflow: hidden; }
.topbox { position: relative; width: 1200px; margin: 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; }

/* m */
@media screen and ( max-width: 991px ){
	.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; }
}





/* -----------------COMMON----------------- */


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

/* ---------BACKGROUND-------- */

.bg01-02{
    background: url("../images/kv_bt.jpg") top center no-repeat ,url("../images/bg01.png") top center repeat ,url("../images/bg01-p.jpg") center repeat;
}

.bg04, .bg07-08{
    background: url("../images/bg01.png") top center repeat ,url("../images/bg01-p.jpg") center repeat;
    padding: 40px 0 0;
}

@media screen and ( max-width: 991px ){
    .bg01-02{
        background: url("../images/bg01.png") top center repeat ,url("../images/bg01-p.jpg") center repeat;
    }
}

@media screen and ( max-width: 640px ){
    .bg04, .bg07-08{
        padding: 5vw 0 ;
    }
}

/* -----------BLOCK----------- */

.bg04-4 li:nth-child(2) {
    margin-left: 386px;
}

.rectangle_3p{
    margin: 20px auto 0;
    padding: 0 0 40px;
}

.banner{
    margin: 20px auto 0;
}

.circle{
    margin: 20px auto 0;
    padding: 0 0 40px;
}

.bg01box, .bg02box{
    background: url("../images/bgbox-p.jpg") repeat;
    max-width: 1160px;
    border-radius: 60px;
    border: #fff solid 2px;
    margin: 0 auto;
    padding: 70px 0 10px;
}

.bg03box, .bg05box, .bg06box{
    background: url("../images/bgbox-y.jpg") repeat;
    max-width: 1160px;
    border-radius: 60px;
    border: #fff solid 2px;
    margin: 0 auto;
    padding: 70px 0 10px;
}

.bg07box, .bg08box{
    margin: -200px auto 0;
}

@media screen and (max-width: 991px) {
    .bg04-4 {
        margin-left: 0px;
        width: 100%;
    }
    .bg04-4 li:nth-child(2) {
        margin: 0 auto;
    }
    .crosswise_3p .bg04-4 ul li {
        width: 96vw;
        display: inline-block;
    }
    .broadwise .crosswise_3p .bg04-4 li {
        width: 97vw;
    }
    .broadwise .crosswise_3p .bg04-4 li img {
        width: 40vw;
        height: 40vw;
        padding: 0;
    }
    .broadwise .crosswise_3p .bg04-4 li .font {
        width: 40vw;
    }

    .bg07box, .bg08box{
        margin: 0 auto ;
    }
}

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

    .bg01box, .bg02box{
        border-radius: 0;
        margin: 0 auto;
        padding: 5vw 0;
    }

    .bg03box, .bg05box, .bg06box{
        border-radius: 0;
        margin: 0 auto;
        padding: 5vw 0;
    }    
}

/* ------------FONT----------- */

h2, h3, #navbar a{
	font-family: 'Noto Serif TC' ,serif;
    font-weight: 900;
}

.bg01 .titleR h2, .bg02 .titleR h2{
    background: url("../images/h2bg-y.png") top center no-repeat;
    padding: 63px 0 39px;
    color: #b9374c;
    position: relative;
    top: 60px;
}

.bg03 .titleR h2, .bg05 .titleR h2, .bg06 .titleR h2{
    background: url("../images/h2bg-p.png") top center no-repeat;
    padding: 63px 0 39px;
    color: #fff4ad;
    position: relative;
    top: 60px;
}

.bg07 .titleR h2, .bg08 .titleR h2{
    background: url("../images/h2bg-square.png") top center no-repeat;
    padding: 62px 0;
    color: #fff;
}

.bg07 h2 big, .bg08 h2 big{
    color: #ffeb64;
    font-size: 2.8rem;
}

.rectangle .font h4{
    color: #a7212f;
}

.crosswise_3p .font h4{
    color: #a7212f;
}

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

    .bg01 .titleR h2, .bg02 .titleR h2{
        padding: 72px 0 45px;
    }

    .bg03 .titleR h2, .bg05 .titleR h2, .bg06 .titleR h2{
        padding: 72px 0 45px;
    }

    .bg07 .titleR h2, .bg08 .titleR h2{
        background-size: 35vw;
        padding: 76px 0;
    }

    .bg07 h2 big, .bg08 h2 big{
        font-size: 2.2rem;
    }
}
@media screen and ( max-width: 640px ){
    .bg01 .titleR h2, .bg02 .titleR h2{
        background-size: 108vw;
        padding: 8.5vw 0;
        top: 7vw;
    }
    .bg03 .titleR h2, .bg05 .titleR h2, .bg06 .titleR h2{
        background-size: 108vw;
        padding: 8.5vw 0;
        top: 7vw;
    }

    .bg07 .titleR h2, .bg08 .titleR h2{
        background-size: 60vw;
        padding: 12vw 0;
    }
}


/* -----------------COMMON----------------- */



/* ------------------bg01------------------ */



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


/* ------------------bg02------------------ */



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


/* ------------------bg03------------------ */

.bg03{
    background: url("../images/bg01bt.png") top center no-repeat ,url("../images/bg02bt.png") bottom center no-repeat;
    padding: 70px 0 0 ;
}


@media screen and ( max-width: 640px ){
    .bg03{
        padding: 0 ;
    }
    
}


/* ------------------bg04------------------ */

.bg04 .titleR h2{
    background: url("../images/h2bg-y.png") top center no-repeat;
    padding: 63px 0 39px;
    color: #b9374c;
}

.bg04 .bg04box .box_01{
    background: url("../images/bgbox-p.jpg") repeat;
    max-width: 1160px;
    border-radius: 60px;
    border: #fff solid 2px;
    margin: 40px auto;
    padding: 20px 0;
}

.bg04 .bg04box .box_02{
    background: url("../images/bgbox-b.jpg") repeat;
    max-width: 1160px;
    border-radius: 60px;
    border: #fff solid 2px;
    margin: 40px auto;
    padding: 20px 0;
}

.bg04 .bg04box .box_03{
    background: url("../images/bgbox-y.jpg") repeat;
    max-width: 1160px;
    border-radius: 60px;
    border: #fff solid 2px;
    margin: 40px auto 0;
    padding: 20px 0;
}

.bg04 .bg04box .box_01 .subtitle h3{
    background: url("../images/h3bg-p.png") top center no-repeat;
    padding: 11px 0 11px 105px;
    border-left: none;
    display: block;
    color: #fff;
}

.bg04 .bg04box .box_02 .subtitle h3{
    background: url("../images/h3bg-b.png") top center no-repeat;
    padding: 11px 0 11px 105px;
    border-left: none;
    display: block;
    color: #fff;
}

.bg04 .bg04box .box_03 .subtitle h3{
    background: url("../images/h3bg-o.png") top center no-repeat;
    padding: 11px 0 11px 105px;
    border-left: none;
    display: block;
    color: #fff;
}

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

    .bg04 .titleR h2{
        padding: 72px 0 45px;
    }

    .bg04 .bg04box .box_01 .subtitle h3{
        background: #b42a3f;
        padding: 3vw 0 3vw 2vw;
        border-radius: 10vw;
    }
    
    .bg04 .bg04box .box_02 .subtitle h3{
        background: #3988a2;
        padding: 3vw 0 3vw 1vw;
        border-radius: 10vw;
    }
    
    .bg04 .bg04box .box_03 .subtitle h3{
        background: #e47d0f;
        padding: 3vw 0 3vw 1vw;
        border-radius: 10vw;
    }
}

@media screen and ( max-width: 640px ){
    .bg04 .titleR h2{
        background-size: 108vw;
        padding: 8.5vw 0;
    }
    .bg04 .bg04box .box_01{
        border-radius: 0;
        margin: 0 auto;
        padding: 3vw 0;
        border: none;
    }
    
    .bg04 .bg04box .box_02{
        border-radius: 0;
        margin: 0 auto;
        padding: 3vw 0;
        border: none;
    }
    
    .bg04 .bg04box .box_03{
        border-radius: 0;
        margin: 0 auto;
        padding: 3vw 0;
        border: none;
    }
    
    .bg04 .bg04box .box_01 .subtitle h3, .bg04 .bg04box .box_02 .subtitle h3, .bg04 .bg04box .box_03 .subtitle h3{
        font-size: 2rem;
    }
}


/* ------------------bg05------------------ */

.bg05{
    background: url("../images/bg01bt.png") top center no-repeat;
    padding: 70px 0 0;
}


@media screen and ( max-width:640px ){
    .bg05{
        padding: 0;
    }
}

/* ------------------bg06------------------ */

.bg06{
    background: url("../images/bg02bt.png") bottom center no-repeat;
}

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


/* ------------------bg07------------------ */


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


/* ------------------bg08------------------ */

.bg08{
    margin: 75px auto 0;
}


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



/* ------------------版頭------------------ */

.title{
    position: absolute;
    top: 113px;
    left: 268px;
}

.sale{
    position: absolute;
    top: 228px;
    left: 200px;
}

.giftbox01open{
    position: absolute;
    top: 380px;
    left: 12px;
}

.giftbox02{
    background: url("../images/giftbox02.png");
    position: absolute;
    width: 233px;
    height: 372px;
    top: 520px;
    left: 268px;
}

.giftbox02:hover{
    background: url("../images/giftbox02open.png");
}


.giftbox03{
    background: url("../images/giftbox03.png");
    position: absolute;
    width: 233px;
    height: 372px;
    top: 385px;
    left: 488px;
}

.giftbox03:hover{
    background: url("../images/giftbox03open.png");
    position: absolute;
    width: 233px;
    height: 372px;
    top: 385px;
    left: 488px;
}

.giftbox04open{
    position: absolute;
    top: 520px;
    right: 260px;
}

.giftbox05{
    background: url("../images/giftbox05.png");
    position: absolute;
    width: 275px;
    height: 382px;
    top: 383px;
    right: 3px;
}

.giftbox05:hover{
    background: url("../images/giftbox05open.png");
    position: absolute;
    width: 275px;
    height: 382px;
    top: 383px;
    right: 3px;
}

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






/* -- sidemanu for pc -- */
.side-menu2{
	position: fixed;
	width: 145px;
	top:10%;
	right:1%;
	padding:10px;
	border-radius:20px;
	box-sizing: border-box;
	background:#fff3b5dd;
	opacity:0.95; 
	display: flex;
	flex-direction: column;
	transform: translateX(0);
	transition: .3s;
	text-align:center;
	z-index:99;
	font-size:15px;
	overflow:hidden;
	border:1.5px solid #f7edcd;
}
.side-menu2 label{
	position: fixed;
	width: 130px;
	height: 150px;
	background:#3752a3;
	opacity:0.95; 
	color: #f6f5e5;
	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-switch2{
	position: absolute;
	opacity: 0;
	z-index: -1;
}
#side-menu-switch2:checked + .side-menu{
	transform: translateX(0);
}
.side-menu2 nav a{
	display: block;
	padding: 10px 4px;
	color: #4b0416;
	text-decoration: none;
	position: relative;
	font-size:14px;	
	font-weight: 500;
}
.side-menu2 nav p.name_menu {
    padding: 10px 0;
    font-size: 1.5em;
    line-height: 1em;
    border-bottom: 3px solid;
    border-color: #b61d23;
    color: #e6575d;
    font-weight: bold;
}
.side-menu2 nav ul.area1 {
    margin-bottom: 150px;
}
.side-menu2 nav ul.area1 li {
    width: 50%;
    float: left;
    border-bottom: 1px dotted #04414b;
}

.side-menu2 nav ul.area1 li {
    width: 50%;
    float: left;
    border-bottom: 1px dotted #04414b;
}
.side-menu2 nav ul.area1 li:nth-child(even) {
    border-right: 1px dotted #04414b;
}

.side-menu2 nav ul.area2 li {
    border-bottom: 1px dotted #04414b;
}
.side-menu2 nav ul.area1 li:nth-last-child(1),
nav ul.area1 li:nth-last-child(1),
nav ul.area2 li:nth-last-child(1) {
    border-bottom: none;
}
.side-menu2 nav ul.area1 li:nth-child(14) {
    width: 100%;
    border-right: none;
}

.side-menu2 nav a:hover{
    background-color: #e6575d;
}

@media screen and (max-width: 640px) {
    .side-menu2 {
        display: none;
    }
}






/*Plugin*/
.side-menu2 .nav {
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.side-menu2 .nav-pills>li.active>a, .side-menu2 .nav-pills>li.active>a:focus, .side-menu2 .nav-pills>li.active>a:hover {
    color: #fff;
    background-color: #e6575d!important;
}

.side-menu2 .nav-pills>li>a {
    border-radius: 0px;
}
.side-menu2 .nav>li>a {
    position: relative;
    display: block;
}


/* navigation bar for mobile */
menu{display:none;}
	@media screen and ( max-width: 991px ){
		menu{ display:block;}

		menu ul{
			position:fixed;
			bottom:0;
			left:0;
			margin:0;
			width:100%;
			display:flex;
			flex-wrap:wrap;
			list-style: none;
			background: #333;
			z-index:990;
			padding:4px 0;
			border-top:none;
		}
		menu ul li{
			border-right:1px dotted #f9f0ee;
			border-top:1px dotted #f9f0ee;
			padding:4px;
			width:33.3333333%;
			box-sizing:border-box;
			text-align:center;
			font-size:13px;
			letter-spacing:1px;
		}

		menu ul li a{
				font-size:12px;
		}
		menu ul li:nth-child(3){
			border-right:none;
		}
		menu ul li:nth-child(1), menu ul li:nth-child(2), menu ul li:nth-child(3){
			border-top:none;
		}
		menu a{
			color:#f9f0ee !important;
			text-decoration:none;
		
		}

	}














/*--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: 0px;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: 991px ){
	#gotop {bottom: 2vw;right: 0;margin: 2vw;	}
	}