@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Mincho&display=swap');
@import url('https://fonts.googleapis.com/css?family=Anton');
@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p');
@import url('https://fonts.googleapis.com/css2?family=Italianno&display=swap');


.pcHidden {
  display: none;
}
@media screen and (max-width: 768px) {
  .pcHidden {
    display: block;
  }
}

@media screen and (max-width: 768px) {
 .spHidden {
    display: none !important;
  }
}

/* 背景 ==================================================================*/
.gheader {
  background: #fff;
}
.xmas_main{
  font-family: 'Sawarabi Mincho', serif;
  color:#513f35;
}
.xmas_main::before {
content:"";
display:block;
position:fixed;
top:0;
left:0;
z-index:-100;
width:100%;
height:100%;
background-repeat:no-repeat;
background-position:50% 100%;
background-image:url("../img/bg.jpg");
background-size:cover;
}

@media screen and (max-width:767px){
.xmas_main::before {
content:"";
display:block;
position:fixed;
top:0;
left:0;
z-index:-100;
width:100%;
height:100%;
background-position:50% 100%;
background-image:url("../img/bg_sp.jpg");
background-size:cover;
background-repeat: repeat-y;
}
}
/* 共通  ==================================================================*/
.main__block{
	margin-bottom: 0;
}
.xmas_main nav,
.sec_flx,#regalo {
	margin-bottom: 6rem!important;
}
.font_s {
	font-size: 60%;
	font-weight: bold;
}
.font_L,.directCall__number {
	font-size: 170%!important;
}
h3 {
	text-align: center;
	font-size: 22px!important;
	font-weight: bold!important;
	color: #7f0000;
	margin: 2rem 0 1rem!important;
}
h4 {
	font-size: 120%!important;
	font-weight: bold!important;
}

@media screen and (max-width:767px){
.xmas_main nav, .sec_flx, #regalo, #chantilly {
    margin-bottom: 3rem !important;
}
.font_L,.directCall__number {
	font-size: 155%!important;
}
}

/* navスライダー ==================================================================*/
nav.slider {
	margin-top: 50%;
}
nav figcaption {
	text-align: center;
	margin-top: 1rem;
}

@media (min-width: 768px) and (max-width: 1024px){
nav.slider {
        margin-top: 43%;
        max-width: 100%;
    }
}
@media screen and (max-width:767px){
	nav.slider {
	margin-top: 130%;
	width: 82%;
}
}

/* メインタイトル ==================================================================*/
.main_title{
  width: 100%;
  position: absolute;
	top:50px;
}
.main_title img{
  width: 100%;
}
@media screen and (max-width:767px){
.main_title{
    width: 100%;
    position: absolute;
	}
}

/* 早期予約割引  ==================================================================*/
.earlySale {
    position: relative;
    max-width: 650px;
    top: 583px;
    left: 3%;
}
.earlySale img,
.earlySet img {
	width: 100%;
}
.earlySet,.info_inner {
	max-width: 800px;
	margin: 0 auto 2rem;
}

.earlySale a,.earlySet a {
	transition: 1s;
}
.earlySale a:hover,.earlySet a:hover {
	opacity: 0.7;
}
.set_info,.info_inner {
	padding-left: 45px;
	margin: auto;
}
.set_info dt,.set_info dd {
	margin-bottom: 1rem;
}
.set_info dd:last-child {
	text-align: center;
	/* margin: 2rem 0 4rem; */
}
.set_info dd img {
	max-width: 224px;
	text-align: center;
}

@media screen and (max-width:1280px){
.earlySale {
    position: relative;
    max-width: 650px;
    top: 430px;
    left: 3%;
}
}

@media (min-width: 768px) and (max-width: 1024px){
.earlySale {
    position: relative;
    max-width: 506px;
    top: 321px;
    left: 3%;
}
}
@media screen and (max-width:767px){
.earlySale {
    position: relative;
    width: 98%;
    top: 520px;
    left: 2px;
}
.earlySet {
    position: relative;
    width: 98%;
    left: 2px;
}
	.set_info, .info_inner {
		width: 98%;
		padding-left: 0;
		margin: 0 auto;
	}
}

/* ケーキ  ==================================================================*/
#cake {
	position: relative;
}
#regalo {
	position: relative;
	background:url("../img/cake01.jpg") no-repeat;
	background-size: cover;
	background-position: left;
	height: 1100px;
}
#regalo .ribon {
    position: relative;
    width: 100%;
    right: 122px;
    top: -96px;
}
#regalo .ribon img {
	width: 100%;
}
#regalo .pop {
    position: relative;
    right: -260px;
    top: 89px;
}
#regalo .cut {
    position: absolute;
    bottom: -46%;
    left: 19%;
}
#fete {
	position: relative;
	/* margin-top: 30%; */
}
/*-- ケーキ説明 --*/
#regalo .cake_box {
	width: 590px;
    display: inline-block;
    position: absolute;
    right: -2%;
    bottom: 40px;
}
#regalo h2 {
	display: flex;
	flex-direction: column;
	line-height: 2.4rem;
}
/*-- ケーキ名画像 --*/
#regalo h2:before {
	content: url("../img/regalo.png");
	position: relative;
	bottom: -11px;
}
/*-- 1200px幅 --*/
.sec_flx {
	width: 1200px;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	margin: 0 auto;
}
/*-- 1920px幅 --*/
#other .sec_flx {
	width: 100%;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	margin: 0 auto;
}
#other .cake_img img {
	width: 100%;
	margin-bottom: 2%;
}
/*-- ケーキ名画像 --*/
#fete h2:before {
	content: url("../img/fete.png");
	position: relative;
	bottom: -49px;
}
#ilneige h2:before {
	content: url("../img/ilneige.png");
	position: relative;
	bottom: -7px;
}
#noelmignon h2{
	display: flex;
	flex-direction: column;
}
#noelmignon h2:before {
	content: url("../img/noelmignon.png");
	position: relative;
	bottom: -7px;
}

#ilneige h2 {
	display: flex;
	flex-direction: column;
}
#chantilly{
	margin-bottom: 20rem;
}
#chantilly .cake_img {
	text-align: center;
}
#chantilly .cake_box {
	display: inline-block;
	position: absolute;
	left: 26%;
	bottom: -80px;
}
/*-- ケーキ名画像 --*/
#chantilly h2:before {
	content: url("../img/chantilly.png");
	position: relative;
	left: 21px;
	bottom: -48px;
}
.xmas_main h2 {
	display: inline-block;
	font-size: 2rem;
	line-height: 2rem;
	font-weight: bold!important;
	color: #7f0000;
	text-shadow: 0px 0px 10px rgba(255,255,255, 1),
		0px 0px 10px rgba(255,255,255, 1),
		0px 0px 10px rgba(255,255,255, 1);
}
.txt_box {
	max-width: 525px;
	padding:4%;
	background-color: rgba(255,255,255,0.70);
}
.txt_box img {
	width: 100%;
	margin: 5% 0;
}
.txt_box p{
	margin-top: 1rem;
}
.price {
	font-size: 28px;
	font-weight: bold;
	border-bottom: 1px solid #7f0000;
	color: #7f0000;
}

.sp_cake_box{
	display: none;
}


@media screen and (max-width:1280px){
	#regalo .cake_box {
	display: inline-block;
	position: absolute;
	right: -54%;
	bottom: 21px;
    }
	#regalo .cake_box {
		width: 390px;
		display: inline-block;
		position: absolute;
		right: 3%;
		bottom: 40px;
	}
	#regalo .ribon {
        position: relative;
        width: 141%;
        right: 185px;
        top: -132px;
    }
	#regalo .pop {
		position: relative;
		right: -232px;
		top: 90px;
	}
	#regalo .cut {
		position: absolute;
		bottom: -46%;
		left: 5%;
	}
	#regalo .cut img{
		width: 90%;
	}
	#regalo {
		background-position: 35% 50%;
	}
	#fete {
		position: relative;
		margin-top: 5%;
	}
	#chantilly .cake_box {
		display: inline-block;
		position: absolute;
		left: 14%;
		bottom: 40px;
	}
}

@media (min-width: 768px) and (max-width: 1024px){
	#fete {
			position: relative;
			/* margin-top: 40%; */
		}
	#fete .sec_flx,
	#ilneige .sec_flx {
		max-width: 900px;
		justify-content: space-between;
	}
#regalo .cut {
    position: absolute;
    bottom: -36%;
    left: 4%;
	}
#regalo .cut img {
		width: 95%;
	}
	#fete .cake_img {
		text-align: right;
	}
	#fete .cake_img img,
	#ilneige .cake_img img {
		width: 90%;
	}
	#chantilly .cake_box {
		display: inline-block;
		position: absolute;
		left: 4%;
		bottom: 40px;
	}
	#chantilly h2:before {
		content: url("../img/chantilly.png");
		position: relative;
		left: 11px;
		bottom: -35px;
	}
	.xmas_main h2 {
		/* font-size: 1.4rem; */
		/* line-height: 1.4rem; */
		/* margin-left: 1rem; */
	}
	.price {
		/* font-size: 1.4rem; */
	}
}
@media screen and (max-width: 767px) {
	.xmas_main h2 {
		font-size: 1.6rem;
		margin-left: 1rem;
	}
		#cake {
		position: relative;
		width: 95%;
		margin: 0 auto;
	}
	#cake img {
		width: 100%;
	}
	#regalo {
    position: relative;
    background: url(../img/cake01.jpg) no-repeat;
    background-size: 220%;
    background-position: 33% 11%;
    height: 1010px;
}
	#regalo .pop {
	position: relative;
	width: 130px;
	right: -248px;
	top: 100px;
	}
	#regalo .cut {
	position: absolute;
	bottom: -33%;
	left: 2px;
	width: 98%;
	}
	#regalo .cake_box {
	display: inline-block;
	position: absolute;
	right: -10px;
	bottom: 40px;
    }
	#regalo .txt_box {
	width: 392px;
	padding: 7%;
	background-color: rgba(255, 255, 255, 0.70);
	box-sizing: border-box;
	}
	#regalo .ribon {
	position: relative;
	width: 97%;
	right: 6px;
	top: -291px;
	}
	#fete {
    position: relative;
    margin-top: 10%;
	}
	#fete .fltImg {
	position: absolute;
	bottom: 26rem;
	right: 19px;
	width: 57%;
	}
	.sec_flx,#other .sec_flx {
		width: 100%;
		display: flex;
		flex-direction: column-reverse;
		justify-content: center;
		margin: 0 auto;
	}
	#ilneige .sec_flx,#other .sec_flx {
		flex-direction: column;
	}
	#chantilly {
		padding-bottom: 82%;
	}
	#chantilly .cake_box {
		display: inline-block;
		position: absolute;
		left: 0;
		bottom: 40px;
	}
	/*-- ケーキ名画像 --*/
	#regalo h2:before {
		content: url("../img/regalo.png");
		position: relative;
		bottom: -7px;
	}
	#ilneige h2:before {
		content: url("../img/ilneige.png");
		position: relative;
		bottom: -12px;
	}
	

	#pound h2:before {
		content: url("../img/pound.png");
		position: relative;
		bottom: 10px;
	}

	.sp_cake_box #pound h2{
		display: flex;
		flex-direction: column;
	}
	#lajoie h2:before {
		content: url("../img/lajoie.png");
		position: relative;
		bottom: -20px;
	}
	#sourire h2:before {
		content: url("../img/sourire.png");
		position: relative;
		bottom: -3px;
	
	}
	#chantilly h2:before {
		content: url("../img/chantilly.png");
		position: relative;
		left: 0;
		bottom: -40px;
	}
	.sp_cake_box{
		display: block;
	}
}

/* footer  ==================================================================*/
#footer {
	position: relative;
	background: url("../img/footer_bg.png") no-repeat;
	background-position: bottom;
	padding-bottom: 12rem;
}
.footer_inner {
	width: 1000px;
	margin: 0 auto;
}
.info_inner dl {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	margin-bottom: 1rem;
}
.info_inner dt {
	display: inline-block;
	background-color: #7f0000;
	color: #fff;
	font-weight: bold;
	font-size: 1.4rem;
	padding: 16px;
	margin-right: 10px;
	letter-spacing: 0.5rem;
}
.info_inner dd {
	display:  inline-block;
	vertical-align: middle;
}
.info_inner .btn,
.info_inner .tel_info,
.info_inner .cmt {
	width: 610px;
	margin: 0 auto;
}
.info_inner .btn,
.info_inner .tel_info {
	text-align: center;
}
.info_inner .btn,.tel_info {
	margin: 2rem auto;
}

/* WEB予約ボタンのスタイル */
.info_inner .btn a {
  display: inline-block;
  width: 460px;
  text-align: center;
  text-decoration: none;
  line-height: 60px;
  outline: none;
  color: #FFFFFF;
background: linear-gradient(164deg, rgb(95 2 2), rgb(145 0 0) 0%, rgb(179 171 171) 100%, rgb(155 148 148));
  background-size: 200% auto;
  transition: all 0.3s ease-out;
	border: 1px solid #6a0000;
	border-radius: 30px;
	margin: 2rem auto 0;
}
.info_inner .btn a:hover {
  color: rgba(175, 177, 95, 1);
  background: linear-gradient(164deg, rgba(4, 20, 109, 1), rgba(236, 238, 172, 1) 0%, rgba(255, 255, 255, 1) 100%, rgba(148, 155, 148, 1));
	border: 1px solid rgba(175, 177, 95, 1);
	transition: 0.5s;
}
.info_inner .cmt {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: 14px;
	color: #513f35;
	margin-top: 3rem;
}
@media screen and (max-width: 767px) {
	.footer_inner {
	width: 100%;
}

.info_inner dl{
	text-align: center;
}

	.info_inner .btn,
	.info_inner .tel_info,
	.info_inner .cmt {
		width: 98%;
		margin: 0 auto;
}
	.info_inner .btn,
	.info_inner .tel_info {
		margin-bottom: 2rem;
		font-size: 1.1rem!important;
	}
	.info_inner .btn a {
		width: 100%;
		font-size: 1.8rem;
	}
	.info_inner .cmt {
		margin-top: 3rem;
	}
	.info_inner dt {
		display: block;
		width: 45%;
		text-align: center;
		margin: 0 auto;
	}
	.info_inner dd {
	display: block;
	width: 98%;
	margin: 1rem auto 0;
	font-size: 120%;
	}



}



/* 星空の背景のスタイル*/
.stars {
  position: relative;
  width: 100%; /* 星空の横幅 */
  height: auto; /* 星空の縦幅 */
  overflow: hidden;  /*星が枠外にはみ出すのを防ぐ */
}

/* 星のスタイル */
.star {
  position: absolute;
  display: block;
  background-color: #fffedf; /* 星の色 */
  border-radius: 50%;
  box-shadow: 0 0 4px 2px #fdf972ba; /* 星の影 */
  opacity: 0;
  animation: twinkle 5s infinite;
}

/* 星がキラキラ光るアニメーション */
@keyframes twinkle {
  0% {
    opacity: 0;
  }

  50% {
    transform: scale(1.1);
    opacity: 0.6;
  }

  100% {
    opacity: 0;
    transform: scale(1);
  }
}

/*ふわっと現れる＝==========================================================================*/
.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:1.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger,
.fadeLeftTrigger,
.fadeRightTrigger{
    opacity: 0;
}

/*--------------------------------------goTOP------------------------------------------------*/
/*リンクの形状*/
#page-top a{
display: flex;
    justify-content: center;
    align-items: center;
    background: #b5aa18;
    border-radius: 5px;
    width: 50px;
    height: 50px;
    color: #fff;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    font-size: 0.6rem;
    transition: all 0.3s;
  z-index: 10;
  position: relative;
}

#page-top a:hover{
	opacity: 0.8;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}
@media screen and (max-width:767px){

}

/*==================================================
スライダーのためのcss
===================================*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
   max-width:1000px;
    margin:0 auto;
}

.slider img {
    width:100%;/*スライダー内の画像を横幅100%に*/
    height:auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/

.slider .slick-slide {
    margin:0 10px;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #666;/*矢印の色*/
    border-right: 2px solid #666;/*矢印の色*/
    height: 15px;
    width: 15px;
}
.slick-prev:before, .slick-next:before {
	    color: #9b8a78!important;
}
.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}
.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}
/*ドットナビゲーションの設定*/
.slick-dots {
	display: none!important;
}
.slick-dots {
    text-align:center;
  margin:20px 0 0 0;
}
.slick-dots li {
    display:inline-block;
  margin:0 5px;
}
.slick-dots button {
    color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#ccc;/*ドットボタンの色*/
}
.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}
@media screen and (max-width: 767px) {
	.slick-prev {/*戻る矢印の位置と形状*/
		left: -5px!important;
		z-index: 1;
	}
	.slick-next {/*次へ矢印の位置と形状*/
		right: -5px!important;
	}
}


/*  */
#pageTop{
	right: 2.5rem;
}
#pageTop.is-active {
    z-index: 10000;
}
@media screen and (max-width: 768px) and (max-width: 640px) {
#sp-nav {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    background: #7f0000;
    border-top: 3px ridge #fff;
    z-index: 1500;
    width: 100%;
  }

  .sp-nav-box {
    width: 70%;
    margin: 0 auto;
    text-align: center;
  }

  .sp-nav-box p {
		font-size: 1.6rem;
    padding: 9px;
    /* padding-left: 40px; */
    color: #fff;
    margin-top: 0;
    margin-bottom: 0;
  }
}












