@charset "utf-8";
/* CSS Document */


/* ゆっくり遷移する */
html {
	scroll-behavior: smooth;
}


.scroll-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}

.scroll-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.scroll-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}


/* =========================== .container =========================== */

#container_23xmas {
	background-image: url(../images/bg.webp);
	background-attachment:fixed;
	background-size: cover;
	overflow-x: clip;
}




#container_23xmas img{
	vertical-align: bottom;	/*フッター画像下の余白を消す*/
}

#container_23xmas img[src$="gaufres.webp"],
#container_23xmas img[src$="goute.webp"],
#container_23xmas img[src$="duo.webp"],
#container_23xmas img[src$="mini_pc.webp"],
#container_23xmas img[src$="mini_sp.webp"],
#container_23xmas img[src$="wrapping_pc.webp"],
#container_23xmas img[src$="wrapping_sp.webp"] {
	border-radius: 12px;
}

@media screen and (max-width: 768px) {
#container_23xmas img{
	margin-top: 50px;
	
}

#container_23xmas .product-section-red .grid-item-set > img {
	margin-top: 20px;
}

#container_23xmas > img[src*="line_"] {
	margin-top: 0;
}
}

/* ===========================  .wrapper =========================== */

.wrapper_23xmas{
	width:65%;  /*コンテンツの幅設定*/
	margin: 0 auto;
	margin-top: 2em;
	text-align: center;
	color: #ffffff;
	font-size: 1.5em;
}



@media screen and (max-width: 768px) {
	.wrapper_23xmas{
		width:90%;  /*コンテンツの幅設定*/
		margin: 0 auto;
		text-align: center;
		color: #ffffff;
		font-size: 1em;
	}
}


/* =========================== .intro =========================== */

section.intro{
	position: relative;
	isolation: isolate;
	height: auto; /*最後に消す*/
	color: #ffffff;
	text-align: center;
	padding-bottom: 3em;
	margin-top: 2em;

}

.product-section::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 100vw;
	transform: translateX(-50%);
}

.merryxmas{
	width: 43%;
}

.tree{
	width: 53%;
}

@media screen and (max-width: 768px) {
	section.intro {
		margin-top: 0px;
	}

	.merryxmas{
		width: 90%;
	}
	
	.tree{
		width: 100%;
	}	

	#container_23xmas img.tree{
		margin-top: 0;
	}
}

/* =========================== .period =========================== */


.period_l-text {
	font-size: 1.5em;
	font-weight: 600;
	line-height: 120%;
}

.period_s-text {
	font-size: 0.7em;
}

@media screen and (max-width: 768px) {
	.period_l-text {
		font-size: 1.5em;
	}
}

/* =========================== 販売期間 括弧CSS=========================== */

.period {
	padding: 0 3em 0 3em;
	position: relative;
    text-align:center;
	color: #fff;
	width: 60%;  /*括弧の幅*/
	margin: 0 auto;
	margin-top: 3em;
	font-size: 0.9em; /*括弧内のフォントサイズ*/
	line-height: 105%;
}
.period::before, .period::after {
	content: '';
	width: 20px;
	height: 100%;
	position: absolute;
}
.period::before {
	border-left: solid 1px #fff;
	border-top: solid 1px #fff;
	border-bottom: solid 2px #fff;
	top: 0;
	left: 0;
}
.period::after {
	border-right: solid 1px #fff;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	top: 0;
	right: 0;
}

@media screen and (max-width: 768px) {
	.period {
		padding: 0 2em 0 2em;
		position: relative;
		text-align:center;
		color: #fff;
		width: 80vw;  /*括弧の幅*/
		margin: 0 auto;
		margin-top: 3em;
		font-size: 1em; /*括弧内のフォントサイズ*/
	}
}

@media screen and (min-width:769px) and ( max-width:1080px) {
	.period {
		padding: 0 2em 0 2em;
		position: relative;
		text-align:center;
		color: #fff;
		width: 65vw;  /*括弧の幅*/
		margin: 0 auto;
		margin-top: 3em;
		font-size: 0.9em; /*括弧内のフォントサイズ*/
	}	
}



/* =========================== アンカーリンクのスタイル =========================== */

.grid-link{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px;
	width:80%;
	margin:0 auto;
	margin-top: 3em;
}


.btn_link a {
	margin: 0 auto;
	text-align: center;
	/*background: #BA8A31;*/
	background: #BA8A31;
	border-radius: 60px;
	color: #fff;
	display: block;
	max-width: 300px;
	padding: 15px 0 25px 0;
	text-align: center;
	transition: .3s;
	margin-top: 2em;
	line-height: 1.1em;
	width:100%;
	font-size:0.8em;  /*アンカーリンクのフォントサイズ*/
	background-image: url(../images/23xmas_arrow.png);
	background-repeat: no-repeat;
	background-position: 50% 85%;  /*下矢印の位置調整*/
	background-size: 4%; /*下矢印のサイズ*/
}


.btn_link a:hover {
	background: #6D0313;
	background-image: url(../images/23xmas_arrow.png);
	background-repeat: no-repeat;
	background-position: 50% 84%;  /*下矢印の位置調整*/
	background-size: 4%; /*下矢印のサイズ*/
}




@media screen and (max-width: 768px) {
	.grid-link{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width:100%;
    	gap: 5px;
		margin:0 auto;
		margin-top: 3em; 
	}

	.grid-link .btn_link:last-child {
		grid-column: 1 / -1;
		width: 80%;
		margin: 0 auto;
	}

	.grid-link .btn_link:last-child a {
		background-size: 5%;
	}

	.btn_link a {
		text-align: center;
		background: #BA8A31;
		border-radius: 60px;
		color: #fff;
		display: block;
		max-width: 300px;
		padding: 15px 0 25px 0;
		margin-top: 2em;
		line-height: 1.1em;
		width:100%;
		font-size:1.02em;  /*アンカーリンクのフォントサイズ*/
		background-image: url(../images/23xmas_arrow.png);
		background-repeat: no-repeat;
		background-position: 50% 85%;  /*下矢印の位置調整*/
		background-size: 8%; /*下矢印のサイズ*/
	}
	
	
	.btn_link a:hover {
		background: #BA8A31;
		background-image: url(../images/23xmas_arrow.png);
		background-repeat: no-repeat;
		background-position: 50% 84%;  /*下矢印の位置調整*/
		background-size: 8%; /*下矢印のサイズ*/
	}	
}




@media screen and (min-width:769px) and ( max-width:1080px) {
	.grid-link{
	width:90%;
}

}


/* ===========================  見出し =========================== */


.petitgift{
	width: 40%;
	display: block;
	margin: 0 auto;
	margin-bottom: 1em;
}

h1.ttl{
	padding: 5px;
	width: 70%;
	margin: 0 auto;
	color: #c2a25c;
	font-size: 5em;
	/*font-family: 'Dancing Script', cursive;*/
	letter-spacing: -0.01em;
	margin-top: 0.5em;
}



@media screen and (max-width: 768px) {
	h1.ttl{
		width: 100%;
		margin-top: 0.2em;
	}

	h1.ttl img{
		width: 100%;
	}

}



/* フレーバー1列 */
.midashi-pg {
  display: grid;
  grid-template-columns: 1fr;
  justify-items: center;
}

.midashi-pg img {
  width: 100%;
  max-width: 600px;
}

#container_23xmas .midashi-pg .mini-main-image {
  max-width: 1000px;
  margin: 50px 0 70px 0;
}

@media screen and (max-width: 768px) {
  #container_23xmas .midashi-pg .mini-main-image {
    margin: 20px 0 0 0;
  }
}
/* フレーバー2列 */
.midashi-gaufres {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .midashi-gaufres {
    grid-template-columns: repeat(2, 1fr);
  }


}




/* =========================== section =========================== */

section.article{
	height: auto;
	/*background-color: #B90013;*/
	color: #ffffff;
	text-align: center;
	/*border-radius: 40px;*/
	padding: 0 0 3em 0 ;
	margin-bottom: 10em;
	width: 100%;
	margin: 0 auto;

}

.product-section {
	display: flow-root;
	position: relative;
	isolation: isolate;
}

.product-section-red::before {
	background-color: #6d0313;
	background-image: linear-gradient(rgba(109, 3, 19, 0.35), rgba(109, 3, 19, 0.35)), url(../images/bg.webp);
	background-size: cover;
	background-position: center;
}

.product-section-red > .article {
	padding-bottom: 0;
}

.product-section-green::before {
	background-color: #6d0313;
	background-image: linear-gradient(rgba(109, 3, 19, 0.45), rgba(109, 3, 19, 0.45)), url(../images/bg.webp);
	background-size: cover;
	background-position: center;
}

/* =========================== グリッド =========================== */

.grid-3{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 30px;
	width:100%;
	margin:0 auto;
	margin-top: 2em;
}


.grid-2{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 50px;
	width:70%;
	margin:0 auto;
	margin-top: 2em;
}

.grid-1 {
  display: grid;
  grid-template-columns: 1fr;
  width: 70%;
  margin: 0 auto;
  justify-items: center;
}


.grid-set{
    display: grid;
    grid-template-columns: 1fr 1fr;
	gap:30px;
	width:90%;
	margin:0 auto;
	/*border-bottom: 1px solid rgba(255,255, 255, 0.5); */ /*半透明の区切り線*/
	padding: 2em 0;
	place-items: center; /*item内のテキストを縦中央揃えにする*/
}



.grid-set .flavor-image img {
	display: block;
	width: 90%;
	margin: 0 auto;
}

.grid-set .flavor-image-12s {
	margin-block: -10px;
}

@media screen and (min-width: 769px) {
	.grid-set .flavor-image {
		width: 100%;
	}

	.grid-set > .grid-item-set {
		align-self: start;
	}
}


.grid-item-set{
	color: #fff;
	padding: 0px 0px 1em 0px;
	height: auto;
	font-family: 'Shippori Mincho', serif;
	line-height: 1.5em;
	font-size: 0.7em;
}


 @media screen and (max-width: 768px) {
.grid-3{	 
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    gap: 25px;
	width:90%;
	 }
	 
.grid-2{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		gap: 50px;
		width:90%;
		margin:0 auto;
		margin-top: 2em;
	}
	
.grid-set{
		display: grid;
		grid-template-columns: 1fr;
		gap:10px;
		width:100%;
		margin:0 auto;
		/*border-bottom: 1px solid rgba(255,255, 255, 0.5); */ /*半透明の区切り線*/
		padding: 2em 0;
		place-items: center; /*item内のテキストを縦中央揃えにする*/
	}

	#container_23xmas .grid-set .flavor-image-12s img {
		margin-top: 20px;
	}

	#container_23xmas .grid-set .flavor-goute-image img {
		margin-top: 0px;
	}

	#container_23xmas .grid-set .flavor-gaufres-image img {
		margin-top: 0px;
	}

	.grid-item-set{
		font-size: 1.1em;
	}

	.grid-3iri {
		width: 100%;
	}

	.grid-3iri img[src$="3iri.webp"] {
		width: 80%;
	}

	.grid-duo {
		width: 100%;
	}

	.grid-duo .name {
		white-space: nowrap;
	}

	.grid-a {
		order:1;
	  }
		  
	  .grid-b {
		order:3;
	  }	 
		   
	  .grid-c {
		order:2;
	  }	 
		   
	  .grid-d {
		order:4;
	  }	

}


/* =========================== wrapping =========================== */

.wrapping{
	width: 80%;
	margin: 0 auto;
	margin-bottom: 6em;
}






/* =========================== グリッド　item =========================== */


.grid-item-link{
	font-size: 1.8em;
}


.grid-item img{
	margin-bottom: 0.5em;
}








/* =========================== フォント =========================== */



.bold_text{
	font-weight: bold;
	font-size: 1.3em;
	letter-spacing: -0.1em;
}

.mini_text{
	font-size: 0.8em;
}

.price_text{
	font-size: 1em;
}


.name{
	font-size: 1.8em;
	line-height: 120%;
	font-weight: 900;
	color: #c2a25c;
	letter-spacing: -0.03em;
}

 @media screen and (max-width: 768px) {
.name{
	font-size: 1.5em;
}
	 }


/* =========================== 購入ボタンのスタイル =========================== */

.btn_buy a{
	margin: 0 auto;
	text-align: center;
	background: #00492e;
	border-radius: 60px;
	color: #ffffff;
	display: block;
	max-width: 250px;
	padding: 18px;
	transition: .3s;
	margin-top: 1em;
	font-size: 1.3em;
}

.btn_buy a:hover {
	background: #BA8A31;
	transform: translateY(-7px);
}

 @media screen and (max-width: 768px) {
.btn_buy a{
	font-size: 1.05em;
}
	 }





/* =========================== pagetop =========================== */

.pagetop {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 15px;
	text-decoration:none !important;
	outline: none !important;
}

.pagetop a focus{
	outline: none !important;
}

.pagetop a {
	outline: none;
	display: block;
    background-color: #ccc;
    text-align: center;
    color: #222;
    font-size: 12px;
    text-decoration:none !important;
    padding: 5px 13px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}
.pagetop a:hover {
	display: block;
    background-color: #c70026;
    text-align: center;
    color: #fff;
    font-size: 12px;
    padding:5px 13px;
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
	text-decoration:none !important;
	outline: none;
}

.pagetop a:visited {
	outline: none;
	text-decoration:none !important;
}


/* =========================== campaign =========================== */

.campaign{
	width: 80%;
	margin: 0 auto;
	margin-top: 5em;
}

@media screen and (max-width: 768px) {
.campaign{
	width: 95%;
	font-size: 0.9em;
}
	
}


.product-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.product-image img {
  display: block;
  max-width: 100%;
  height: auto;
}
