.loading{ position:fixed; width:100%; min-width:100vw; height:100%; min-height:100vh; top:0; left:0; background:#EDEEEE; z-index:100; display:flex; justify-content:center; align-items:center; }
.loading img{ width:80px; margin:16px auto; animation:loadingAni 2s infinite alternate; }
@keyframes loadingAni{from{ transform:scale(.9); } to{ transform:scale(1); } }
picture,img{ display:block; }
picture img{ width:100%; height:auto;}
.wrap{ color:#333; overflow:clip; background:#FDF3ED;}
.wrap picture,
.wrap img{ width:100%; height:auto; }
.wrap section{ position:relative; }
.wrap a.btn{ transition:all .6s ease; font-size:clamp(1.4rem, 4.1vw, 1.8rem); line-height:1.2; padding:.3em .8em .3em 1em; border-radius:2em; border:solid 1px; color:#fff; border:unset;}
.wrap a.btn_border{ border:solid 1px;}
.wrap a.more{ background:#9C2832; }
.wrap a.more:after{ content:'\f101'; display:inline-block; margin-left:.2em; }

.wrap h2{ font-size:clamp(3.6rem, 9.2vw, 4.8rem); line-height:1.4; letter-spacing:.1em; font-weight:500; }
.wrap h2.title{ position:relative; margin-bottom:.6em;}
.wrap h2.dark.title:after{ content:''; position:absolute; transform:translate(-40%, -36%); width:1.27em; height:1em; background:url(../images/title_after.svg) no-repeat top; background-size:100% auto; }
.wrap h2.light.title:before{ content:''; position:absolute; transform:translate(-60%, -36%); width:1.27em; height:1em; background:url(../images/title_before.svg) no-repeat top; background-size:100% auto; }
.wrap h3{ font-size:clamp(2rem, 5.1vw, 2.2rem); line-height:1.4; letter-spacing:.05em;  font-weight:500; }
.wrap h4{ font-size:clamp(1.2rem, 4.2vw, 1.8rem); letter-spacing:0; font-family:'SoDoSans'; }
.wrap h6{ font-size:1.4rem;  }
.wrap p ,.wrap li{ font-size:clamp(1.4rem, 4.1vw, 1.8rem); text-align:justify; line-height:1.6;}
.wrap p.small{ font-size:.87em; }
.wrap .title{ display:flex; flex-wrap:wrap; align-items:baseline; gap:8px; margin-bottom:12px; }

.wrap .sp h3{ font-size:clamp(2.8rem, 8.2vw, 3.1rem);  }
.wrap .sp h4{ font-size:clamp(2rem, 6.1vw, 2.4rem); text-align:left; }

.wrap .slick-list{ z-index:1; }
.wrap .slick-dotted .slick-dots{ display:flex; justify-content:center; flex-wrap:wrap; gap:0 16px; width:calc(100% - 80px); margin:16px auto 0; padding-bottom:24px; position:relative;}
.wrap .slick-dotted .slick-dots li{ width:12px; height:12px; border-radius:12px; background:#935E83b3; transition:all 1s ease; cursor:pointer; } 
.wrap .slick-dotted .slick-dots li.slick-active{ width:30px; background:#935E83; } 
.wrap .slick-dotted .slick-dots li button{ font-size:0; }
.wrap .slick-slider figure{ cursor:grab; }


.wrap .event{ padding:60px 0; background-image:url(../images/event_bg.jpg); background-repeat:no-repeat; background-size:cover;}
.wrap .event h2{ width:100%; max-width:656px; margin:0 auto; }
.wrap .event h3{ background:#C24A7A; color:#FFF; border-radius:4px; font-size:clamp(1.8rem, 5vw, 2.4rem); line-height:1.4; display:inline-block; padding:.2em .8em; margin:36px 0 16px;}
.wrap .event .images_block img{ border-radius:16px; overflow:hidden; }
.wrap .event .text_block{ max-width:900px; margin:0 auto; text-align:left; }
.wrap .event .text_block b{ color:#EA616F; font-weight:500; }
.wrap .event .text_block strong{ color:#EA616F; font-weight:500; font-size:1.4em; line-height:1; }
.wrap .event .text_block ol{ list-style:decimal; margin-left:1.4em; }
.wrap .event .text_block p,
.wrap .event .text_block li{ margin-bottom:8px; letter-spacing:.025em;}
.wrap .event .text_block .btn{ color:#EA616F; margin-top:16px; background:transparent; border:solid 1px;}
.wrap .event figure{ display:flex; flex-direction:column; gap:8px; align-items:center; }
.wrap .event figure img{ width:75vw; max-width:282px; }

.wrap .product_bg{ background:#EED1CB; border-radius:30px 30px 130px 30px; overflow:hidden; margin-bottom:24px; }
.wrap .product_bg .products_kv{ background:#B7535C; border-radius:0 0 130px 30px; color:#fff; }
.wrap .product_bg .products_kv .text_block{ padding:48px 24px; }
.wrap .product_bg .products_kv .text_block h2.title{ display:inline-block; }
.wrap .product_bg .products_kv .text_block h3{ color:#FFEAE5; font-weight:400; }
.wrap .product_bg .product_list{ display:flex; flex-wrap:wrap; justify-content:center; color:#9C2832; gap:36px 10px; padding:36px 10px 60px;} 
.wrap .product_bg .product_list figure{ flex:1 1 calc(50% - 8px); display:flex; flex-direction:column;}
.wrap .product_bg .product_list figure .images_block{ width:85%; margin:0 auto; flex:0 0; }
.wrap .product_bg .product_list figure figcaption{ display:flex; flex-direction:column; align-items:center; flex:1 2 100%; justify-content:space-between;} 
.wrap .product_bg .product_list figure figcaption .title{ flex-direction:column; align-items:center; }
.wrap .product_bg .product_list figure figcaption p{ color:#333; }

.wrap .gift_bg{ padding:80px 0; background:url(../images/gift_bg_top.png), url(../images/gift_bg_bottom.png); background-repeat:no-repeat; background-position:15% 4%, 72% 97%; background-size:20% auto, 30% auto;} 
.wrap .gift_bg h2.title{ display:inline-block; color:#A14850;}
.wrap .gift_bg .slick-dotted .slick-dots li{ background:#A14850; } 
.wrap .gift_bg .slick-dotted .slick-dots li.slick-active{ background:#A14850; } 
.wrap .gift_list{ color:#A14850; max-width:1300px; margin:0 auto;}
.wrap .gift_list .images_block{ border-radius:16px; width:85%; height:auto; margin:0 auto 12px; overflow:hidden;}
.wrap .gift_list figure{ padding:0 64px; }
.wrap .gift_list figure figcaption{ display:flex; flex-direction:column; align-items:center; } 
.wrap .gift_list figure figcaption .title{ flex-direction:column; align-items:center; }
.wrap .gift_list figure a.btn{ background:#A14850; margin-top:12px;} 
.wrap .gift_list figure figcaption p{ color:#333; }

.wrap .cake_bg{ position:relative; color:#A14850; padding:80px 10px; }
.wrap .cake_bg .deco{ pointer-events:none; position:absolute; width:100%; height:100%; top:0; left:0; background:url(../images/cake_deco_topL.png), url(../images/cake_deco_topR.png), url(../images/cake_deco_bottom.png); background-position:9% 3%, 94% 8%, 80% 100%; background-repeat:no-repeat; background-size:20%, 11%, 17%; } .wrap .cake_bg h2.title{ display:inline-block; color:#A14850;}
.wrap .cake_list figure{ display:flex; background:linear-gradient(90deg, #FDF3ED 0%, #F8E0D2 18%, #FDF3ED 100%) 0% 0%; border-radius:164px 0 0 164px; padding:20px 12px; gap:16px; align-items:flex-start;} 
.wrap .cake_list figure:nth-of-type(even){ background:transparent; flex-direction:row-reverse; }
.wrap .cake_list figure .images_block{ border-radius:150px 16px 16px 150px; flex:0 0 40%; overflow:hidden;}
.wrap .cake_list figure figcaption{ text-align:left;  } 
.wrap .cake_list figure figcaption .title{ flex-direction:column; } 
.wrap .cake_list figure a.btn{ background:#A14850; margin-top:8px;} 

.wrap .minor_list_bg{ background:url(../images/minor_list_bg.svg) center no-repeat; background-size:200%;  }
.wrap .minor_list_bg .container{ padding:0 30px; }
.wrap .minor_list{ color:#9C2832; display:flex; flex-direction:column; gap:64px;} 
.wrap .minor_list p{ color:#333; }
.wrap .minor_list figure .images_block{ border-radius:16px; width:90%; overflow:hidden; margin-bottom:12px;}
.wrap .minor_list figure figcaption{ display:flex; flex-direction:column; gap:16px; align-items:flex-start; } 
.wrap .minor_list figure figcaption .title{ flex-direction:column; }

.wrap .major_list{ color:#9C2832; padding:60px 16px; display:flex; flex-direction:column; gap:80px; max-width:1200px; margin:0 auto;} 
.wrap .major_list p{ color:#333; }
.wrap .major_list .images_block{ position:relative; margin-bottom:16px; }
.wrap .major_list .images_block:after{ position:absolute; top:0; left:50%; transform:translate(-50%, -15%); content:''; width:36%; height:24%; background:url(../images/major_img_deco.svg) no-repeat center top; background-size:cover; } 
.wrap .major_list .images_block img{ mask-image:url(../images/major_img_mask.svg); mask-repeat:no-repeat; mask-size:contain; mask-position:center center; aspect-ratio:610 / 500; max-height:100vh;} 
.wrap .major_list figure{ display:flex; flex-direction:column; }
.wrap .major_list figure figcaption{ position:relative; display:flex; flex-direction:column; gap:16px; align-items:flex-start; padding:0 36px; }
.wrap .major_list figure figcaption .title{ flex-direction:column; margin:0;}
.wrap .major_list figure figcaption .title h3{ text-align:left; }
.wrap .major_list figure figcaption .deco{ position:absolute; pointer-events:none; }
.wrap .major_list figure:nth-of-type(1) figcaption .deco{ top:0; right:0; width:20%; transform:translate(30%, -50%); }
.wrap .major_list figure:nth-of-type(2) figcaption .deco{ bottom:0; right:0; width:54%; transform:translate(14%, 50%); }
.wrap .major_list figure:nth-of-type(3) figcaption .deco{ bottom:0; left:0; width:20%; transform:translate(-14%, 100%); }

.anchor_box{ display:flex; justify-content:space-between; padding:16px; max-width:1200px; margin:auto;}
.anchor_box a{ font-size:clamp(1.4rem, 3.6vw, 2.4rem); color:#C24A7A; flex:1; }
.anchor_box a h3{ font-size:inherit; transition:all .8s;}
.anchor_box a:after{ content:'\f107'; }
.anchor_box a img{ font-size:inherit; transition:all .8s; aspect-ratio:1/1; object-fit:scale-down; width:50%; margin:12px auto;}
.anchor_box a:hover img{ transform:translateY(-10px); }
.anchor_box a:hover h3{ transform:translateY(5px); }

.wrap .kv{ filter:drop-shadow(0 13px 0 #FAD9C7); }
.wrap .kv img{ mask-image:url(../images/kv_mask.svg); mask-repeat:no-repeat; mask-size:cover; mask-position:center center; aspect-ratio:390 / 356; width:100%; object-fit:cover;} 

.wrap .intro{ width:100%; position:relative; }
.wrap .intro .text_block{ position:absolute; }
.wrap .intro .deco{ position:absolute; width:100%; height:100%;}
.wrap .intro .deco img{ position:absolute; }
.wrap .intro .ani{ position:absolute; aspect-ratio:508 / 414; }

.wrap .fixed{ position:fixed; right:0; bottom:60px; z-index:91; background:#ffffffb3; border-radius:12px 0 0 12px; padding:16px; display:flex; flex-direction:column; gap:12px; transition:transform 1s ease-out; }
.wrap .fixed .btn.toggle{ position:absolute; left:0; top:50%; transform:translate(-100%, -50%); background:#ffffffb3; border-radius:12px 0 0 12px; width:24px; height:46px; display:flex; justify-content:center; align-items:center;} 
.wrap .fixed .btn.toggle img{ width:13px; height:auto; transition:transform 0s 1s ease-in; }
.wrap .fixed .btn.jump{ width:125px; height:101px; padding:0; }
.wrap .fixed.close{ transform:translateX(98%); }
.wrap .fixed.close .btn.toggle img{ transform:rotateY(180deg); }


/* 直式 */
@media (orientation:portrait){ 
.other_box{ display:flex; flex-direction:column-reverse; }
.wrap .kv img{  aspect-ratio:390 / 356;  } 
.wrap .intro{ aspect-ratio:390 / 570; }
.wrap .intro .text_block{ width:70%; top:13%; left:21%; } 
.wrap .intro .deco img:nth-of-type(1){ width:12%; top:14%; left:11.5%; }
.wrap .intro .deco img:nth-of-type(2){ width:38%; top:-3%; left:-19%; }
.wrap .intro .deco img:nth-of-type(3){ width:19%; top:24%; left:-7.5%; }
.wrap .intro .deco img:nth-of-type(4){ width:14%; top:1%; right:7.5%; }
.wrap .intro .deco img:nth-of-type(n+5){ display:none; }
.wrap .intro .ani{ width:100%; left:0; bottom:0; transform:scale(1.3) translateY(2%); }



}


/* 橫式 */
@media (orientation:landscape){ 
.other_box a{ width:50%;  }
.other_box picture{  width:100%; height:400px;  }
.other_box picture.online{ background-color:#F4F2EE; background-image:url(../images/beverage-and-online_bgL_pc.png) ,url(../images/beverage-and-online_bgR_pc.png); background-repeat:no-repeat; background-position:0% 0% ,100% 100%; background-size:fill;}
.other_box picture.beverage{ background:#F8E0D2 url(../images/beverage_bg_pc.jpg) right no-repeat;}
.other_box img{ width:100%; height:100%; object-fit:scale-down; object-position:center; }
.wrap .kv img{ aspect-ratio:1366 / 700;  } 
.wrap .intro{ aspect-ratio:1366 / 446; }
.wrap .intro .text_block{ width:22%; left:62%; top:34%; } 
.wrap .intro .deco img:nth-of-type(1){ width:3.5%; top:34.2%; left:10.5%; }
.wrap .intro .deco img:nth-of-type(2){ width:11%; top:14%; left:1%; } 
.wrap .intro .deco img:nth-of-type(3){ width:4.8%; top:75%; left:6.3%; } 
.wrap .intro .deco img:nth-of-type(4){ width:4%; top:14%; left:49.5%; } 
.wrap .intro .deco img:nth-of-type(5){ width:5.3%; top:15.6%; left:88.3%; } 
.wrap .intro .deco img:nth-of-type(6){ width:5%; top:36%; left:92.8%; } 
.wrap .intro .deco img:nth-of-type(7){ width:25%; top:7%; left:60%; }

.wrap .intro .ani{ width:44.5%; left:13.5%; bottom:-19%; }

}

@media (min-width: 819.98px) {
.wrap .event figure{ flex-direction:row-reverse; gap:24px; align-items:flex-start; }
.wrap .product_bg .products_kv{ display:flex; }
.wrap .product_bg .products_kv .images_block{ flex:1 2 auto; }
.wrap .product_bg .products_kv .text_block{ flex:2 1 440px; display:flex; flex-direction:column; justify-content:center; align-items:center;}

.wrap .product_bg .product_list{ gap: 36px 24px; padding:64px 0 80px;}
.wrap .product_bg .product_list figure{ flex:0 0 30%; }
.wrap .product_bg .product_list figure .images_block{ width:100%; max-width:160px; }
.wrap .product_bg .product_list figure figcaption .title br{ display:none; }

.wrap .gift_bg{ background-size: 13% auto, 10% auto; padding:100px 0 80px;}
.wrap .gift_list figure{ padding:0 24px; }

.other_box{ display:flex; flex-direction:row; }

.wrap .cake_bg .deco{ background-position:9% 3%, 89% 19%, 85% 96%; background-size:20%, 7%, 11%;} 
.wrap .cake_bg h2.title{ display:inline-block; color:#A14850;}
.wrap .cake_list{ width:75%; margin:0 auto; } 
.wrap .cake_list figure{ padding:12px; align-items:center; }
.wrap .cake_list figure:nth-of-type(even){ flex-direction:row; }
.wrap .cake_list figure .images_block{ flex:0 0 160px;}
.wrap .cake_list figure figcaption{ align-items:center;} 

.wrap .minor_list_bg{ background-image:url(../images/minor_list_bg_pc.svg); background-size:130%; padding:60px 0 120px; }
.wrap .minor_list{ flex-direction:row; align-items:center; justify-content:center; } 
.wrap .minor_list_bg .container{ padding:0 60px; }
.wrap .minor_list figure{ flex:1; max-width:460px;}

.wrap .major_list figure{ flex-direction:row-reverse; align-items:center;} 
.wrap .major_list figure:nth-of-type(even){ flex-direction:row;} 
.wrap .major_list figure figcaption .title h3 br{ display:none;}

.anchor_box a img{ width:48px; }



}
@media (min-width: 991.98px){ 


}

@media (min-width: 1199.98px) {
.wrap .event{ padding:120px 0; background-image:url(../images/event_bg_flower_top.png) ,url(../images/event_bg_flower_bottom.png) ,url(../images/event_bg.jpg); background-position:3% 2%, center 110%, center; background-size:13%, 120%, cover; } 
.wrap .event .text_block{ padding-left:24px; }
.wrap .event h3{ transform:translateX(-24px); }

.wrap .product_bg{ border-radius:30px 30px 230px 30px; background-image:url(../images/product_bg.png); background-size:96% auto; background-repeat:no-repeat; background-position:center 90%;} 
.wrap .product_bg .products_kv{ border-radius:0 0 230px 30px; }
.wrap .product_bg .products_kv .images_block,.wrap .product_bg .products_kv .text_block{ flex:0 0 50%; }
.wrap .product_bg .product_list{ max-width:900px; margin:auto; } 
.wrap .product_bg .product_list figure .images_block{ max-width:200px; }

.wrap .gift_bg{ background-position:29% 4%, 72% 97%; background-size:8% auto, 6% auto; }

.wrap .cake_bg .deco{ background-position:16% 12%, 86% 10%, 92% 93%; background-size:10%, 3%, 7%;} 
.wrap .cake_list{ width:100%; max-width:1100px; display:flex; flex-wrap:wrap; }
.wrap .cake_list figure{ flex:1 1 50%; background:unset; padding:24px;}
.wrap .cake_list figure:nth-of-type(4n),.wrap .cake_list figure:nth-of-type(4n+1){ background:linear-gradient(90deg, #FDF3ED 0%, #F8E0D2 18%, #FDF3ED 100%) 0% 0%;  }

.wrap .minor_list_bg { background-size:auto 100%; background-repeat:repeat; }
.wrap .major_list figure{ gap:80px; }
.wrap .minor_list figure .images_block{ width:80%; }
.wrap .major_list figure figcaption{ flex:0 0 400px; }

.wrap .major_list figure:nth-of-type(1) figcaption .deco{ width:25%;}
.wrap .major_list figure:nth-of-type(2) figcaption .deco{ width:64%; transform:translate(40%, 65%);}
.wrap .major_list figure:nth-of-type(3) figcaption .deco{ bottom:50%; transform:translate(-100%, 160%); }

.anchor_box a img{ width:90px; }

}

@media (min-width:1399.98px) { 
.wrap .event{ background-position:10% 5%, center 120%, center; background-size:10%, 110%, cover; }
.wrap .gift_bg{ background-position:38% 4%, 72% 97%; background-size: 5% auto, 4.5% auto; padding:120px 0 80px; }
.wrap .cake_list{ max-width:1300px; }
.wrap .cake_bg .deco{ background-position:35% 12%, 72% 10%, 85% 90%; background-size:170px, 50px, 98px; }
}