@charset "UTF-8";

html {
	scroll-behavior: smooth;
}
section{
	scroll-margin-top: 90px;
}


/* pc sc dispalay */
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}


/***************************************
	c-title
***************************************/
.c-title {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: normal;
	font-size: 50px;
	text-align: center;
	line-height: 1;
}
@media screen and (max-width: 768px) {
	.c-title {
		font-size: 42px;
	}
}

/***************************************
	mv
***************************************/
.p-mv{
	position: relative;
	width:100%;
	height: auto;
	aspect-ratio: 1280 / 771;
	background :url(../images/bg_mv.jpg) center / cover;
}

.p-mv__text h1 {
	position: absolute;
	top: 86px;
	left: 65px;
	width: 350px;
	height: 85px;
	background-image: url(../images/title_mv.png);
	background-repeat: no-repeat;
	background-size: contain;
	font-size: 0;
	text-indent: -9999px;
}

@media screen and (max-width: 768px) {	
	.p-mv__text h1 {
		position: absolute;
		top: 28px;
		left: 21px;
		width: 108px;
		height: 26px;
	}
}

/***************************************
	icoRakuten
***************************************/
.icoRakuten{
  position: fixed;
	bottom: 10px;
  right: 10px;
  z-index: 9999;
  filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
}
.icoRakuten p{
	margin-bottom: 5px;
}
@media screen and (max-width: 480px) {
  .icoRakuten{
		width: 55px;
    height: 55px;
		right: 5px;
    bottom: 130px;
  }
  .icoRakuten img{
    width: 100%;
    height: 100%;
  }
}/* @media screen and (max-width: 480px) */


/***************************************
	page_seasonalItem
***************************************/
#page_seasonalItem{

}
#page_seasonalItem .pageWrap{
	background: #cadb2a;
}

#page_toparea h2 p.en,
#page_seasonalItem h2 p.en{
	margin-bottom: 0;
	line-height: 1.2;
}
#page_toparea h2 p.jp,
#page_seasonalItem h2 p.jp{
	font-size: 22px;
}
#page_seasonalItem .contentsArea{
	margin: 0 auto;
	padding: 80px 0;
}
/* モーダル部分
-------------------------- */
.modalArea{
    margin: 0 auto;
    padding: 40px;
}
.modalArea ul{
	display: flex;
	flex-wrap: wrap;
}
.modalArea ul li{
	width: 25%;
	text-align: center;
	padding: 0 5px;
  margin-bottom: 20px;
}
.modalArea ul li:hover{
	cursor: pointer;
}
.modalArea ul li p{
	font-size: 13px;
  margin-bottom: 1em;
}
.modalArea ul li p img{
	width: 100%;
}
.modalCont{
  display: none;
  height: 100vh;
  position: fixed;
	top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
	z-index: 9999;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
}
.modal__content dl dt{
	margin-bottom: 10px;
}
.modal__content dl dt img{
	width: 100%;
}
.modal__content dl dd{
  font-size: 13px;
	margin-bottom: 2px;
}
.modal__content dl dd.modalTitle{
  font-size: 18px;
}
.modal__content dl dd.modalDesc{

}
.modal__content dl dd.modalPrice{

}
.modal__content dl dd.modalQuantity{

}
.modal__content .js-modal-close{
	margin-bottom: 0;
	text-align: center;
	margin-top: 30px;
}

@media screen and (max-width: 480px) {
#page_seasonalItem h2{
  font-size: 24px;
}
#page_seasonalItem h3{
  font-size: 18px;
	margin-bottom: 30px;
}
#page_seasonalItem .contentsArea{
  width: 95%;
	padding: 50px 0;
}
#page_seasonalItem .contentsArea p{
	margin-bottom: 0;
}
#page_seasonalItem .contentsArea .productsBox h2{
	text-align: left;
}
.modalArea{
	padding: 0;
}
.modalArea ul li{
  width: 33%;
}
.modalArea ul li p{
	font-size: 10px;
	line-height: 1.5;
	text-align: left;
}
.modal__content{
  width: 90%;
}

}/* @media screen and (max-width: 480px) */



/***************************************
	about
***************************************/
.p-about {
	padding: 140px 0;
	background: #CADB2A;
}

.p-about__inner{
	max-width: 1080px;
	padding: 0 40px;
	margin: 0 auto;
	text-align: center;
}

.p-about__image {
	width: 463px;
	height: auto;
	aspect-ratio: 463/310;
	margin: 0 auto;
}

.p-about__image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.p-about__title {
	margin-top: 76px;
	font-weight: 500;
	font-size: 45px;
	line-height: 1.1333;
}

.p-about__text {
	margin-top: 20px;
	font-weight: 500;
	font-size: 28px;
	line-height: 1.3214;
}

.p-about__article-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	margin-top: 76px;
}

.p-about__article-item {
	cursor: pointer;
}

.p-about__article-item:hover .p-about__article-image img {
	scale: 1.05;
}

.p-about__article-title {
	font-weight: 500;
	font-size: 28px;
	line-height: 1.3214;
}

.p-about__article-image {
	margin-top: 13px;
	width: 100%;
	height: auto;
	aspect-ratio: 485 / 316;
	overflow: hidden;
}

.p-about__article-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .6s ease;
}

.p-about__article-text {
	text-align: left;
	margin-top: 13px;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.4;
}

.p-about__button {
	margin-top: 40px;
}

.p-about__button a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F3F8C0;
	width: 240px;
	margin: 0 auto;
	padding: 13px;
	font-size: 18px;
	border-radius: 30px;
	font-weight: bold;
	transition: all  0.3s ease;
}

.p-about__button a::after {
	content: "▶︎";
	position: absolute;
	right: 30px;
	font-size: 13px;
	vertical-align: middle;
	margin-left: 10px;
}

.p-about__button a:hover {
	opacity: 0.75;
}


@media (max-width: 768px) {
	.p-about {
		padding: 60px 0;
		background: #CADB2A;
	}

	.p-about__inner{
		padding: 0 8.8vw;
	}
	
	.p-about__image {
		width: 271px;
	}
	
	.p-about__title {
		margin-top: 30px;
		font-size: 42px;
	}
	
	.p-about__text {
		padding: 0 19px;
		font-size: 20px;
	}
	
	.p-about__article-list {
		display: grid;
		grid-template-columns: 1fr;
		margin-top: 40px;
	}
}

/***************************************
	footer
***************************************/
footer{
	padding-bottom:40px;
}
#footerBottom{
	position: relative;
	text-align: center;
}
#footerBottom:after{
	content:"";
	display: block;
	width:100%;
	height: 155px;
	background:#aebe15;
	position: absolute;
	top:0;
	left: 0;
	z-index: -1;
}
#footerBottom .pageTop{
	padding:34px 0 20px;
}
#footerBottom .pageTop a{
	display: inline-block;
	font-weight: bold;
	letter-spacing: 4px;
	padding-top:20px;
	background-image: url(../images/icon_toTop.png);
	background-repeat: no-repeat;
	background-position: top center;
}
#footerBottom address{
	display: inline-block;
	font-weight: bold;
	letter-spacing: 4px;
	padding-top:132px;
	font-style: normal;
	background-image: url(../images/../images/footer_icon.png);
	background-repeat: no-repeat;
	background-position: top center;
}
@media (max-width: 640px) {
	#footerBottom address{
		background-size: 120px auto;
		padding-top: 84px;
	}
	#footerBottom:after {
		height: 125px;
	}
}

/***************************************
	float btn
***************************************/
#floatBtn{
	position: fixed;
	top:0;
	right: 0;
	z-index: 10;
	/* width:210px; */
	/* height: 77px; */
	width: 110px;
	height: 105px;
	background-image: url(../images/float_shop.png);
	background-repeat: no-repeat;
	background-position: center;
	background-color:rgba(247,251,208,0.9);
}
#floatBtn a{
	display: block;
	width:100%;
	height: 100%;
	font-size:0;
	text-indent:-9999px;
	position: relative;
}
#floatBtn a:after{
	content:"";
	display: block;
	width:32px;
	height: 70px;
	background-color: #32400b;
	background-image:url(../images/icon_down.png);
	background-repeat: no-repeat;
	background-position: 13px center;
	position: absolute;
	top:22px;
	right: 0;
	z-index: 11;
}
#floatBtn a:after{
	display: none;
}
@media (max-width: 640px) {
	#floatBtn{
		width: 65px;
    height: 70px;
		background-size: auto 12px;
	}
	#floatBtn a:after{
		width:24px;
		height: 50px;
		background-position: 13px center;
		background-size: 7px auto;
		top:28px;
	}
}

/***************************************
	fade in
***************************************/
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all 1s;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0)!important;
}
.mainText.fadein{
    transform : translate(0, 0);
    transition : all 1.5s;
}
@media (min-width: 641px) {
	a,
	.instaBtn dl{
    	transition : all .6s;
	}
	.instaBtn dl:hover{
		background:#aebe15;
		color:#FFF;
	}
	.mapArea .btn a:hover{
		opacity:.6;
    	transform : translate( 5px ,0);
	}
	.pageTop a:hover{
    	transform : translate(0, -5px);
	}
	#floatBtn a:hover{
    	transform : translate(0,5px);
	}
}









/***************************************
	products
***************************************/

.p-products {
	margin-top: 140px;
}

.p-products__list {
	/* margin-top: 80px; */
	display: flex;
	/* justify-content: center; */
	flex-wrap: wrap;
	gap: 40px;
	max-width: 950px;
    padding: 0 40px;
	margin: 80px auto 0;
}

.p-products__item {
	/* width: 560px; */
	width: calc(50% - 20px);
}

.p-products__item a {
	display: block;
	width: 100%;
	height: 100%;
}

.p-products__item a:hover .p-products__image img {
	scale: 1.05;
}

.p-products__image {
	overflow: hidden;
	width: 100%;
	height: auto;
	aspect-ratio: 560 / 367;
	margin-bottom: 20px;
}

.p-products__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all .6s ease;
}

.p-products__limited {
	display: inline-block;
	border-radius: 3px;
	/* margin-top: 20px; */
	padding: 3px 6px;
	background: #AEBE15;
	color: #fff;
	font-weight: 500;
	font-size: 12px;
	line-height: 1;
}

.p-products__name {
	margin-top: 6px;
	font-weight: 500;
	font-size: 24px;
	line-height: 1;
}

@media (max-width: 768px) {
	.p-products {
		margin-top: 60px;
	}
	
	.p-products__list {
		display: flex;
		flex-direction: column;
		margin-top: 50px;
		padding: 0 8.8vw;
	}
	
	.p-products__item {
		max-width: 560px;
		width: 100%;
	}
}

/***************************************
	shoplists
***************************************/

.p-shoplists {
	padding: 120px 0;
}

.p-shoplists__inner {
	max-width: 950px;
	padding: 0 40px;
	margin: 0 auto;
}

.p-shoplists__imageArea {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-top: 70px;
}

.p-shoplists__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-shoplists__info {
	padding: 50px 0;
	border-bottom: solid 1px #666666;
}

.p-shoplists__name {
	font-size: 20px;
	line-height: 1.2;
	font-weight: 500;
}

.p-shoplists__info dl {
	font-size: 15px;
	line-height: 1.7;
	font-weight: 500;
}

.p-shoplists__info dt {
	margin-top: 20px;
}

.p-shoplists__info dd + dd {
	margin-top: 16px;
}

.p-shoplists__info dd span {
	color: #FF0000;
}

.p-shoplists__button {
	margin-top: 15px;
	margin-bottom: 28px;
	width: 180px;
}

.p-shoplists__button a {
	display: flex;
	justify-content: center;
	width: 180px;
	padding: 12px 0;
	background:#FFF;
	border: 1px #231815 solid;
	border-radius: 10px;
}

.p-shoplists__button span {
	display: block;
	width: 135px;
	height: 22px;
}

.p-shoplists__caution{
	margin-top: 30px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.7;
}

@media (max-width: 768px) {
	.p-shoplists {
		padding: 60px 0;
	}
	
	.p-shoplists__inner {
		padding: 0 8.8vw;
	}
	
	.p-shoplists__imageArea {
		grid-template-columns: 1fr;
		margin-top: 50px;
	}
	
	.p-shoplists__button {
		width: 100%;
	}
	
	.p-shoplists__button a {
		width: 100%;
	}
}

/* eventInfo */
#eventInfo{
  padding: 71px 36px;
  background: #faf8ee;
}
#eventInfo .eventInfo_inner{
  max-width: 1200px;
  margin: 0 auto;
  font-size: 13px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 1.5px;
}
#eventInfo .eventInfo_inner .eventTtl{
  text-align: center;
  margin-bottom: 50px;
}
#eventInfo .eventInfo_inner .eventTtl h2{
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1em;
}
#eventInfo .eventInfo_inner .eventTtl p{

}
#eventInfo .eventInfo_inner .eventSchedule{
  width: 810px;
  margin: 0 auto;
}
#eventInfo .eventInfo_inner .eventSchedule dl{
  display: flex;
  border-bottom: solid 1px #666;
  padding: 20px 40px 25px;
  margin-bottom: 10px;
}
#eventInfo .eventInfo_inner .eventSchedule dl dt{
  font-weight: bold;
  margin-right: 2em;
  width: 5em;
}
#eventInfo .eventInfo_inner .eventSchedule dl dd{

}
#eventInfo .eventInfo_inner .eventSchedule dl dd.place{
  width: 380px;
  margin-right: 2em;
}
#eventInfo .eventInfo_inner .eventSchedule dl dd.date{

}
#eventInfo .eventInfo_inner .eventSchedule dl dd.date::before{
  margin:0 8px 0 0;
  content:" ";
  display:inline-block;
  width:16px;
  height:16px;
  background:url(../images/ico_cal.png);
  background-size:contain;
  vertical-align:text-bottom;
}
#eventInfo .eventInfo_inner .eventSchedule dl dd span{
  display: block;
}
#eventInfo .eventInfo_inner .eventSchedule dl dd span.place01{
  margin-bottom: 5px;
  font-weight: bold;
}
#eventInfo .eventInfo_inner .eventSchedule dl dd span.place02{
  font-size: .9em;
  line-height: 1.4;
}

@media screen and (max-width: 480px) {
  #eventInfo{
    padding: 50px 25px 20px;
  }
  #eventInfo .eventInfo_inner .eventTtl{
    margin-bottom: 50px;
  }
  #eventInfo .eventInfo_inner .eventSchedule{
    font-size: 14px;
    width: 100%;
  }
  #eventInfo .eventInfo_inner .eventSchedule dl{
    display: block;
    padding: 0px 10px 30px;
    margin-bottom: 30px;
  }
  #eventInfo .eventInfo_inner .eventSchedule dl dd.place{
    margin-bottom: 10px;
    width: 100%;
  }

}/* @media screen and (max-width: 480px) */



/***************************************
	products-detail
***************************************/

.p-products-detail {
	padding: 120px 0;
}

.p-products-detail__inner {
	max-width: 1232px;
	margin: 0 auto;
	padding: 0 40px;
}

.p-products-detail__wrapper {
	margin-top: 60px;
	padding: 120px;
	background: rgba(245, 243, 230, 0.9);
}

.p-products-detail__image {
	width: 100%;
	height: auto;
	aspect-ratio: 912 / 580;
}

.p-products-detail__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-products-detail__discription {
	margin-top: 60px;
}

.p-products-detail__limited {
	display: inline-block;
	border-radius: 3px;
	padding: 3px 6px;
	background: #AEBE15;
	color: #fff;
	font-weight: 500;
	font-size: 14px;
	line-height: 1;
}

.p-products-detail__name {
	margin-top: 25px;
	font-weight: 500;
	font-size: 30px;
	line-height: 1.2;
}

.p-products-detail__text {
	margin-top: 25px;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.7;
}

.p-products-detail dl {
	border-radius: 7px;
	background: #fff;
	margin-top: 60px;
	padding: 30px;
}

.p-products-detail dt {
	font-weight: 500;
	font-size: 22px;
	line-height: 1;
}

.p-products-detail dd {
	margin-top: 4px;
	font-weight: 500;
	font-size: 13px;
	line-height: 1;
}

.p-products-detail dd + dt {
	margin-top: 14px;
}

@media screen and (max-width: 768px) {
	.p-products-detail {
		padding: 60px 0;
	}

	.p-products-detail__inner {
		padding: 0 8.8vw;
	}
	
	.p-products-detail__wrapper {
		margin-top: 50px;
		padding: 30px;
	}
	
	.p-products-detail__image {
		width: 100%;
		height: auto;
		aspect-ratio: 912 / 580;
	}
	
	.p-products-detail__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	.p-products-detail__discription {
		margin-top: 50px;
	}
	
	.p-products-detail dl {
		margin-top: 50px;
	}
}