@charset "utf-8";

/*　***********************************************************************************　*/
/* グッズページ追加分 */
/*　***********************************************************************************　*/

/* --------------------------------------------------

グッズリスト系 ここから

-------------------------------------------------- */

#goods_itemcontainer ul{
  display: flex;
  justify-content: center;
	flex-wrap: wrap;
}
#goods_itemcontainer li{
  position: relative;
  margin-right: var(--goods_margin_right);
  margin-bottom: 1.5rem;
  float: left;
  /* border: #8cc367 solid 1px; */
  border: rgba(140, 195, 103, 0.3) 1px solid;
}
#goods_itemcontainer li.empty{
  position: relative;
  margin-right: var(--goods_margin_right);
  margin-bottom: 1.5rem;
  float: left;
  border: none;
}
#goods_itemcontainer li:nth-of-type(3n){
  margin-right: 0px;
}
#goods_itemcontainer li .item_box{
    width: var(--item_box_witdh);
    /* background-color: #b29966; */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    position: relative;
    box-shadow: 0px 0px 5px 0px rgba(158, 183, 142, 0.3);
  }
  #goods_itemcontainer li .item_box_empty{
      width: var(--item_box_witdh);
      /* background-color: #b29966; */
      overflow: hidden;
      display: flex;
      flex-direction: column;
      justify-content: start;
      align-items: center;
      position: relative;
    }
  #goods_itemcontainer li .item_box .item_thumb{
    background: url(../images/goods/frame.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: var(--item_thumb_witdh);
    height: calc(var(--item_thumb_witdh) / 475 *  498);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  }
  #goods_itemcontainer li .item_box .item_thumb > img{
    padding-top: 1.4rem;
    width: var(--item_thumb_img_witdh);
    opacity: 1;
    transform: scale(1);
    transition: transform 0.1s, opacity 0.1s;
  }
  #goods_itemcontainer li .item_box .item_thumb:hover > img{
    opacity: 0.7;
    transform: scale(1.02);
  }
  #goods_itemcontainer li .item_box .item_thumb .item_zoomicon{
    position: absolute;
    width: 30px;
    bottom: 8px;
    right: 8px;
    /* pointer-events: none; */
  }
  #goods_itemcontainer li .item_box .item_thumb:hover .item_zoomicon > img {
    transform: scale(1.02);
  }
  #goods_itemcontainer li .item_box .item_badge{
    width: var(--item_box_witdh);
    padding: 0.3rem 0 0.2rem;
    vertical-align: middle;
    text-align: center;
    background-color: #8cc367;
    color: #fff;
  }
  #goods_itemcontainer li .item_box .item_name{
    text-align: justify;
    width: var(--item_thumb_witdh);
    height: var(--item_name_hieght);
    font-size: 1em;
    font-weight: bold;
    margin-top: 10px;
  }
  #goods_itemcontainer li .item_box .item_price{
    margin-top: auto;
    margin-bottom: 0.5rem;
    width: var(--item_thumb_witdh);
    text-align: left;
    color: #8cc367;
    font-size: 1em;
    font-weight: bold;
  }

  .item_btn_buy{
    width: var(--item_thumb_witdh);
    height: 40px;
    position: relative;
    overflow: hidden;
    display: inline-block;
    background-color: #8cc367;
    text-align: center;
    outline: none;
    margin-bottom: 0.75rem;
  }
  .item_btn_buy a{
    text-decoration: none;
  }
  .item_btn_buy span{
    padding: 10px 30px;
    display: block;
    position: relative;
    z-index: 3;
    color: #fff;
    font-weight: bold;
    font-feature-settings: "pkna";
    letter-spacing: 0.3em;  
  }
  .item_btn_buy:hover span{
    opacity: 0.7;
  }


/* modal */
#goods_modal{
	position: fixed;
  display: none;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
	transition: opacity 0.4s, height 0s 0.4s;
  color: #604c3f;
}
		#goods_modal.show{
      display: flex;
      justify-content: center;
      align-items: center;
      overflow-y:hidden;
			z-index: 4;
			opacity: 1;
			transition: opacity 0.4s, height 0s 0s;
		}
		.modal_bg{
			position: fixed;
			top:0;
			left: 0;
			width: 100%;
			height: 100vh;
			background: rgba(0,0,0,0.7);
      z-index: auto;
		}
	
	#goods_modal .modal_inner{
    width: var(--goods-modal-witdh);
		/* height: calc(700px); */
		position: fixed;
    height: 80vh;
    top: 50%;
    right: 50vw;
    margin-top: -40vh;
    margin-right: calc( -1 * (var(--goods-modal-witdh) / 2));

		background-color: #FFFFFF;
		border-radius: 5px;
		display: flex;
		align-items: start;
		box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
		
		transform: scale(0.9);
		transition: transform 0.2s ease-out;
		flex-flow: column;
	}
			#goods_modal.show .modal_inner{
				transform: scale(1);
			}
			#goods_modal.show .modal_wrap{
				width: 100%;
				overflow-y: scroll;
				-ms-overflow-style: none; /* IE, Edge 対応 */
				scrollbar-width: none; /* Firefox 対応 */
			}
		#goods_modal .modal_inner .modal_images{
			/* width: 400px;
			height: 500px; */
			margin-top: 30px;
		}
			#goods_modal .modal_inner .modal_images .slider{
				width: 400px;
				height: 400px;
				margin: 0 auto;
			}
			#goods_modal .modal_inner .modal_images .thumbnail{
				width: 400px;
				height: 40px;
				margin: 0 auto;
			}

		#goods_modal .modal_inner .modal_texts{
			position: relative;
			/* height: 500px; */
			padding: 0 5% 5% 5%;
			display: flex;
			margin-top: 5em;
			flex-direction: column;
		}
			#goods_modal .modal_inner .modal_texts .item_name{
				font-size: 1.5em;
				font-weight: bold;
			}
			#goods_modal .modal_inner .modal_texts .item_spec{
				font-size: 0.8em;
        padding: 1em;
        margin: 0.5em;
				color: #000;
				/* color: #a99765; */
				font-weight: bold;
				/* margin-top: 10px; */
        background-color: #e1f1d7;
        border-radius: 10px;
			}
			#goods_modal .modal_inner .modal_texts .item_label{
				margin-top: 10px;
				display: flex;
				width: 100%;
			}
				/* #goods_modal .modal_inner .modal_texts .item_badge{
					width: auto;
					font-size: 0.7em;
					border: solid 1px #de6e00;
					border-radius: 18px;
					text-align: center;
					color: #de6e00;
					padding: 7px 16px;
					font-weight: bold;
				} */
				#goods_modal .modal_inner .modal_texts .item_price{
					width: auto;
					margin: auto;
					text-align: right;
					color: #8cc367;
					font-size: 1em;
					font-weight: bold;
					flex-grow: 1;
				}
			#goods_modal .modal_inner .modal_texts .item_detail{
				position: relative;
				margin-top: 20px;
				height: auto;
				overflow-y: auto;
				flex-grow: 1;
				text-align: justify;
			}
				.item_ex{
					font-size: 0.8em;
					color: #666666;
				}
        
  .item_btn_buy_modal{
    /* width: var(--item_thumb_witdh); */
    width: 100%;
    /* height: 40px; */
    position: relative;
    overflow: hidden;
    display: inline-block;
    border: 1px solid #8cc367;
    background-color: #8cc367;
    text-align: center;
    outline: none;
    margin: 0.75rem 0;
    /* margin: 0.25rem 0.25rem 0.75rem 0.25rem; */
  }
  .item_btn_buy_modal:hover{
    background-color: #fff;
  }
  .item_btn_buy_modal a{
    text-decoration: none !important;
    font-weight: bold;
  }
  .item_btn_buy_modal span{
    padding: 15px 30px;
    display: block;
    position: relative;
    z-index: 3;
    color: #fff;
    font-feature-settings: "pkna";
    letter-spacing: 0.3em;
  }
  .item_btn_buy_modal:hover span{
    color: #8cc367;
  }
	#goods_modal .modal_inner .btn_modal_close{
		position: fixed;
    top: 0;
    right: 0;
    background-color: #8cc367;
		/* top: -45px;
		right: -55px; */
		width: 50px;
		transform: rotate(0deg) scale(1);
		transition: transform 0.1s ease-out;
		cursor: pointer;
		line-height: 0;
	}
	#goods_modal .modal_inner .btn_modal_close:hover{
    opacity: 0.7;
		/* transform: rotate(90deg) scale(1.1); */
	}

.thumbnail .slick-track {
	transform: unset !important;
}
.thumbnail-img {
	opacity: 0.3;
	transition: opacity .3s linear;
	cursor: pointer;
	transform: scale(0.8);
}
	.thumbnail-img:hover {
		opacity: 0.7;
		transform: scale(1);
	}
.thumbnail .slick-current {
	opacity: 1;
}
.thumbnail-img img{
	border: solid 1px #CCCCCC;
}
#goods_modal ::-webkit-scrollbar {
  border-radius: 8px;
  width: 8px;  /* スクロールバーの幅 */
}
/* スクロールバーのツマミ部分 */
#goods_modal ::-webkit-scrollbar-thumb {
  background-color: #c1c1c1;  /* ツマミの色を変更 */
  border-radius: 10px;  /* 角を丸くする */
}

/* --------------------------------------------------

グッズリスト系 ここまで

-------------------------------------------------- */


:root{
  --detail-witdh: calc(1005px - (70px * 2) );

  --goods_margin_right: 1rem;
  --item_box_witdh: calc((var(--detail-witdh) - var(--goods_margin_right) * 4 ) / 3 - 0.8rem);
  --item_thumb_witdh: calc(var(--item_box_witdh) - 1rem);
  --item_thumb_img_witdh: calc(var(--item_thumb_witdh) - 2rem);

  --item_name_hieght: 5rem;

  --goods-modal-witdh: 750px;

  --goods-info-witdh: 450px;
}

#goodsMv{
  background: url(../images/bg_header.png);
  background-repeat: repeat-x;
  background-size: 100px;
  margin: 0 auto;
  text-align: center;
}
#goodsMv p.textLogo{
  display: block;
  text-align: center;
  margin: 0 auto;
  padding-top: 70px;
}
#goodsMv p.textLogo img{
  max-width: 500px;
}


div#goodsInfo{
  width: var(--goods-info-witdh);
  max-width: 95vw;
  margin: 0 auto;
  text-align: center;
  background-color: #b5db9c73;
  margin-bottom: 1rem;
  padding: 10px;
}


#goodsList.contentOutline{
  padding-top: 30px;
}

div.center{
  text-align: center;
}
p.naname {
  position: relative;
  display: inline;
  padding: 1rem 1.5rem;
  text-align: center;
}
p.naname::before,
p.naname::after {
    position: absolute;
    /* top: 0.8rem; */
    height: 1.2rem;
    content: '';
}

p.naname::before {
    border-left: solid 1.5px #8cc367;
    left: 0;
    transform: rotate(-30deg);
}

p.naname::after {
    border-right: solid 1.5px #8cc367;
    right: 0;
    transform: rotate(30deg);
}


p.logo{
  text-align: center;
}
p.logo img{
  max-width: 90px;
}

p.announce{
  text-align: center;
  margin: 0 auto;
  max-width: 95%;
    /* line-height: 270%; */
  line-height: 220%;
  font-size: 1.2rem;
  font-weight: bold;
  font-feature-settings: "pkna";
  }
span.highLight{
  text-decoration: underline;
  text-decoration-thickness: 0.4em;
  text-decoration-color: rgba(140, 195, 103, 0.4);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
  line-height: 220%;
  font-size: 1.2rem;
  font-weight: bold;
  font-feature-settings: "pkna";
}
span.dotline{
  border-bottom: #b1a49a 2px dotted;
}
h4.announce{
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  vertical-align:middle;
  padding: 0.3rem 0 0.1rem;
  color: #fff;
  background-color: #604c3f;
}


#goods_announce ul.announce{
  display: block;
  text-align: left;
  text-indent: -1em;
  margin-left: 1em;
}
#goods_announce ul.announce li{
  text-align: left;
  line-height: 1.3;
  margin-bottom: 0.5rem;
  font-size: 0.8rem;
  font-weight: normal;
}



/*　***********************************************************************************　*/

@media screen and (max-width: 1045px) {
  /*　画面サイズが999pxまではここを読み込む　*/
  
:root{
  /* --main-witdh: 90vw; */
  /* --detail-witdh: calc( var(--main-witdh) - 140px ); */
  --detail-witdh: calc( 90vw - 140px );

  --goods_margin_right: 0.5rem;
  --item_box_witdh: calc((var(--detail-witdh) - var(--goods_margin_right) * 3 ) / 2 );
  --item_thumb_witdh: calc(var(--item_box_witdh) - 1rem);
  --item_thumb_img_witdh: calc(var(--item_thumb_witdh) - 4rem);

  --goods-modal-witdh: 95vw
}

#goods_itemcontainer ul{
  justify-content: space-between;
}
#goods_itemcontainer li:nth-of-type(3n){
  margin-right: var(--goods_margin_right);
}

#goods_itemcontainer li:nth-of-type(2n){
  margin-right: 0;
}
/* 2列調整用！！ */
#goods_itemcontainer li:last-child{
  margin-right: auto;
}
#goods_itemcontainer li{
  margin-bottom: 2rem;
}


}

@media screen and (max-width: 828px) {
  /*　画面サイズが999pxまではここを読み込む　*/
  
:root{
  --main-witdh: 90vw;
  --detail-witdh: calc( var(--main-witdh) - 4rem );

  --goods_margin_right: 0.5rem;
  --item_box_witdh: calc((var(--detail-witdh) - var(--goods_margin_right) * 3 ) / 2 - 0.2rem);
  --item_thumb_witdh: calc(var(--item_box_witdh) - 1rem);
  --item_thumb_img_witdh: calc(var(--item_thumb_witdh) - 4rem);

  --goods-modal-witdh: 95vw
}

#goods_itemcontainer ul{
  justify-content: space-between;
}

#goods_itemcontainer li:nth-of-type(3n){
  margin-right: var(--goods_margin_right);
}

#goods_itemcontainer li:nth-of-type(2n){
  margin-right: 0;
}
/* 2列調整用！！ */
#goods_itemcontainer li:last-child{
  margin-right: auto;
}
.item_btn_buy{
  background-color: #8cc367;
}
.item_btn_buy span{
  color: #fff;
}
.item_btn_buy:hover span{
  color: #fff;
}
.item_btn_buy {
  padding: 10px 0;
}
.item_btn_buy span{
  font-size: 0.9em;
}

/* modal */
		#goods_modal.show{
			/* height: 100%; */
		}
	#goods_modal .modal_inner{
		width: var(--goods-modal-witdh);
		height: calc(84vh - 14vw);
		position: fixed;
    height: 80vh;
    top: 50%;
    right: 50vw;
    margin-top: -40vh;
    margin-right: calc( -1 * (var(--goods-modal-witdh) / 2));
		/* top: -3vh;
		left: 50%;
		margin-left: calc(90vw /-2); */
		border-radius: 1vw;
	}
		#goods_modal .modal_inner .modal_images{
			width: 84vw;
			height: 100vw;
			margin: 2.5em auto 0 auto;
		}
			#goods_modal .modal_inner .modal_images .slider{
				width: 84vw;
				height: 84vw;
			}
			#goods_modal .modal_inner .modal_images .thumbnail{
				width: 84vw;
				height: 16vw;
			}

		#goods_modal .modal_inner .modal_texts{
			height: auto;
			margin-top: 0;
		}
			#goods_modal .modal_inner .modal_texts .item_name{
				line-height: 1.3em;
				margin-top: 1em;
			}
			#goods_modal .modal_inner .modal_texts .item_spec{
				margin-top: 2vw;
			}
			#goods_modal .modal_inner .modal_texts .item_label{
				margin-top: 2vw;
				flex-direction: column;
			}
				/* #goods_modal .modal_inner .modal_texts .item_badge{
					width: auto;
					font-size: 0.7em;
					border: solid 1px #00a0e9;
					border-radius: 18px;
					text-align: center;
					color: #00a0e9;
					padding: 7px 16px;
					font-weight: bold;
				} */
				#goods_modal .modal_inner .modal_texts .item_price{
					margin-top: 5vw;
					font-size: 1.2em;
					font-weight: bold;
				}
	#goods_modal .modal_inner .btn_modal_close{
		top: 0;
		/* position: absolute;
		top: -12vw;
		right: -1vw;
		width: 12vw;
		line-height: 0;
		transition: transform 0.3s ease-out;
		line-height: 0; */
	}
	#goods_modal.show .btn_modal_close.sp{
		/* transform: rotate(0deg) scale(1); */
	}

.thumbnail-img {
	transform: scale(0.8) !important;
}
	.thumbnail-img:hover {
		opacity: 0.3;
		transform: scale(0.8);
	}


#announce p{
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 220%;
  font-feature-settings: "pkna";
  margin: 0 auto;
  max-width: 95%;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}


#footer{
  height: 100px;
}

  



.upper_goods{
  max-width: 95px;
	
	/*デフォルトで非表示にする*/
	opacity: 0;
	visibility: hidden;
  }

  /*このクラスが付与されると表示する*/
  .active{
	opacity: 1;
	visibility: visible;
  }




}

@media screen and (max-width: 768px) {
  /*　画面サイズが768pxまではここを読み込む　*/


  :root{
    --main-witdh: 90vw;
    --detail-witdh: calc( var(--main-witdh) - 3rem );
  
    --goods_margin_right: 0.5rem;
    --item_box_witdh: calc((var(--detail-witdh) - var(--goods_margin_right) * 3 ) / 2);
    --item_thumb_img_witdh: calc(var(--item_thumb_witdh) - 2.6rem);
  
    /* --item_name_hieght: 75px; */
  }
  #goods_itemcontainer ul{
    justify-content: space-between;
  }
  #goods_itemcontainer li{
    margin-bottom: 1rem;
  }
  /* 2列調整用！！ */
  #goods_itemcontainer li:last-child{
    margin-right: auto;
  }
  .contentDetail{
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .upper_goods{
    max-width: 75px;
    }

}

/*　***********************************************************************************　*/



/*　***********************************************************************************　*/


