@charset "UTF-8";


 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
general
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media only screen and (min-width: 717px){
	.sp {
		display: none !important;
	}
}
.clearfix:after{
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.clearfix{
	display: block;
}


 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
common
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#wrapper {
	overflow: hidden;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  /*background: linear-gradient(to right, #D1D3D4 0%, #D1D3D4 50%, #CEDE9B 50%, #CEDE9B 100%);*/
  background: #CEDE9B;
	font-size: 14px;
	line-height: 2.0em;
}

.fb { font-weight: bold;}
.fs11 { font-size: 11px;}
.fs14 { font-size: 14px;}
.fs16 { font-size: 16px;}
.fs18 { font-size: 18px;}
.fs20 { font-size: 20px;}

#wrapper > h1 {
	position: fixed;
	bottom: 50px;
	right: 50px;
	z-index: 999;
}
#wrapper > h1 img {
	min-height: 377px;
	height: calc(50vh - 12px);
	transition-duration: 1s;
	transition-property: height;
}
#wrapper > h1.scroll img {
	height: 377px;
}


.header {
	background-color: #CEDE9B;
	position: relative;
}
.header_image_icon {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 125px;
	height: 171px;
	z-index: 999;
}


.header__container {
	position: relative;
	width: 100%;
	min-height: 100vh;
	display: flex;
}



/*====== 縦線スクロール =======*/

/*スクロールダウン全体の場所*/
.header__container .scrolldown {
	position:absolute;
	bottom: 0;
	left: 50%;
	margin: auto;
	width: 15px;
	height: 50px;/*全体の高さ*/
	margin-left: 15px;
	z-index: 999;
}

/*Scrollテキストの描写*/
.header__container .scrolldown span {
	/*描画位置*/
	position: absolute;
	left: 0;
	top: -30px;
}

/* 線の描写 */
.header__container .scrolldown::after{
	content: "";
	/*描画位置*/
	position: absolute;
	top: 0;
	/*線の形状*/
	width: 1px;
	height: 50px;
	background: #000;
	/*線の動き1.4秒かけて動く。永遠にループ*/
	animation: pathmove 2.0s ease-in-out infinite;
	opacity:0;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 0;
	}
	30%{
		height:30px;
		opacity: 1;
	}
	100%{
		height:0;
		top:50px;
		opacity: 0;
	}
}




/*==================================================
スライダーcss
===================================*/

.main_left {
	width: 50%;
	position: fixed;
}

.main_left .slider {
	position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	width: 100%;
	height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	/*background-color: #CCC;*/
}

.slider-item {
	width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
	height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	background-repeat: no-repeat;/*背景画像をリピートしない*/
	background-position: center;/*背景画像の位置を中央に*/
	background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
	/*background-attachment: fixed;*/
}


/*ドットナビゲーションの設定*/

.slick-dots {
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	width: 370px;
	height: 70px;
}

.slick-dots li {
	display: inline-block;
}
.slick-dots li:nth-child(1) {
	width: 47px;
}
.slick-dots li:nth-child(2) {
	width: 22px;
	margin: 0 3px 0 -2px;
}
.slick-dots li:nth-child(3) {
	width: 35px;
}
.slick-dots li:nth-child(4) {
	width: 46px;
}
.slick-dots li:nth-child(5) {
	width: 57px;
	margin: 0 0 0 -10px;
}
.slick-dots li:nth-child(6) {
	width: 48px;
	margin: 0 0 0 -8px;
}
.slick-dots li:nth-child(7) {
	width: 54px;
	margin: 0 3px 0 0;
}
.slick-dots li:nth-child(8) {
	width: 22px;
}
.slick-dots li:nth-child(9) {
	width: 53px;
}




.slick-dots li button {
	position: relative;
	text-indent: -9999px;
}
.slick-dots li button::before {
	content: "";
	cursor: pointer;
	height: 91px;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: no-repeat center top;
	background-size: 100% 200%;
}
.slick-dots li:nth-child(1) button::before {
	width: 47px;
	background-image: url(../image/pistachio_p.png);
}
.slick-dots li:nth-child(2) button::before {
	width: 22px;
	background-image: url(../image/pistachio_i.png);
}
.slick-dots li:nth-child(3) button::before {
	width: 35px;
	background-image: url(../image/pistachio_s.png);
}
.slick-dots li:nth-child(4) button::before {
	width: 46px;
	background-image: url(../image/pistachio_t.png);
}
.slick-dots li:nth-child(5) button::before {
	width: 57px;
	background-image: url(../image/pistachio_a.png);
	background-position: 0 -1px;
}
.slick-dots li:nth-child(6) button::before {
	width: 48px;
	background-image: url(../image/pistachio_c.png);
}
.slick-dots li:nth-child(7) button::before {
	width: 54px;
	background-image: url(../image/pistachio_h.png);
}
.slick-dots li:nth-child(8) button::before {
	width: 22px;
	background-image: url(../image/pistachio_i.png);
}
.slick-dots li:nth-child(9) button::before {
	width: 53px;
	background-image: url(../image/pistachio_o.png);
}

.slick-dots li.slick-active button::before {
	background-position: center bottom;
}
button {
  background: none;
  border: none;
  outline: none;
  padding: 0 7px;
}




/*===================================*/



.main_right {
	width: 50%;
	margin: 0 0 0 auto;
}





/*========= スマホナビゲーション ===============*/

#g-nav{
	position:fixed;
	z-index: 999;
	top: 0;
	right: -300px;
	width: 300px;
	height: 100vh;/*ナビの高さ*/
	background: #FFF;
	background-color: rgba(255,255,255,0.8);
	/*動き*/
	transition: all 0.8s;
	overflow: auto;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
	right: 0;
}

/*ナビゲーション*/
#g-nav .nav_logo {
	width: 100%;
	margin: 60px auto;
	text-align: center;
}
#g-nav ul {
	margin: 20px 30px 30px 35px;
	position: relative;
}
#g-nav ul li {
	margin-bottom: 20px;
}
#g-nav .nav_box {
	display: flex;
}
#g-nav .nav_box .nav_icon {
	width: 32px;
	text-align: right;
	padding-top: 5px;
}
#g-nav .nav_box .nav_tt {
	padding-left: 10px;
	line-height: 1.2em;
}
#g-nav .nav_box .nav_tt p {
	font-size: 11px;
}

#g-nav .nav_sns {
	margin-bottom: 15px;
}
#g-nav .nav_mark {
	width: 54px;
	position: absolute;
	bottom: 0;
	right: 0;
}
#g-nav .nav_mark img {
	max-width: 100%;
}

#g-nav ul li a:hover {
	color: #E84D3F;
}
#g-nav ul li img {
	filter: brightness(0) invert(0);
}
#g-nav ul li a:hover img {
	filter: none;
}



/*========= ボタン ===============*/
.openbtn{
	position:fixed;
	z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
	width: 50px;
	height:50px;
}
  
/*×に変化*/  
.openbtn span{
	display: inline-block;
	transition: all .4s;
	position: absolute;
	background-color: #E84D3F;
	width: 3px;
	height: 3px;
  }

.openbtn span:nth-of-type(1) {
	top: 15px; 
	left: 14px;
}
.openbtn span:nth-of-type(2) {
	top: 23px;
	left: 14px;
}
.openbtn span:nth-of-type(3) {
	top: 31px;
	left: 14px;
}
.openbtn span:nth-of-type(4) {
	top: 15px; 
	left: 22px;
}
.openbtn span:nth-of-type(5) {
	top: 23px;
	left: 22px;
}
.openbtn span:nth-of-type(6) {
	top: 31px;
	left: 22px;
}
.openbtn span:nth-of-type(7) {
	top: 15px; 
	left: 30px;
}
.openbtn span:nth-of-type(8) {
	top: 23px;
	left: 30px;
}
.openbtn span:nth-of-type(9) {
	top: 31px;
	left: 30px;
}


.openbtn.active span:nth-of-type(2) {
	top: 18px;
	left: 18px;
	transform: translateY(6px) rotate(-45deg);
	width: 30%;
	z-index: 999;
}

.openbtn.active span:nth-of-type(5) {
	top: 13px;
	left: 13px;
	width: 20px;
	height: 20px;
	background-color: #FFF;
	border: 2px solid #E84D3F;
	z-index: 998;
}

.openbtn.active span:nth-of-type(8){
	top: 30px;
	left: 18px;
	transform: translateY(-6px) rotate(45deg);
	width: 30%;
	z-index: 999;
}



/*========= コンテンツレイアウト ===============*/



.contents {
	width: 100%;
	margin: 300px 0 0 0;
	padding: 100px 0 0 0;
	display: flex;
}
.cont_box_left {
	height: 0;
	width: 50%;
	position: relative;
	pointer-events: none;
}
.cont_box_left h2 {
	position: absolute;
	top: 6px;
	right: 27px;
	margin: auto;
}


.cont_box_right {
	width: 50%;
	position: relative;
}
.cont_box_right h3 {
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	border-top: 1px solid #000;
	padding: 17px 0 0 17px;
}


.cont_box_right .cont_txt {
	margin: 0 0 20px 85px;
}

#about .cont_box_right .cont_txt {
	margin-top: 75px;
	line-height: 2.3em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 16px;
	position: relative;
}
#about .cont_box_right .cont_txt::before {
	position: absolute;
	content: url(../image/stamp_01.svg);
	display: inline-block;
	top: -75px;
	right: -20px;
	margin: auto;
	width: 72px;
	height: 82px;
}
#about .cont_box_right .cont_txt::after {
	position: absolute;
	content: url(../image/stamp_02.svg);
	display: inline-block;
	bottom: -30px;
	right: -20px;
	margin: auto;
	width: 73px;
	height: 68px;
}
#about .cont_box_right .cont_txt .about_txtarea {
	position: relative;
	z-index: 2;
}




#product .cont_box_left {

}

#product .widget--sticky {
	/*position: -webkit-sticky;
	position: sticky;
	top: 0;*/
}

#product .cont_box_right .cont_txt {
	margin: 0 0 20px 0;
}





/*==== アコーディオン ===*/



.showmore_wrap {
	position: relative;
	margin-bottom: 30px;
}
.showmore_list {
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	transition: all .8s ease-in;
	}

.list_toggle {
	display: flex;
	align-items: flex-end;
	background: linear-gradient(to bottom, rgba(206,222,155,0) 0%, rgba(206,222,155,1) 80%);
	background-color: transparent;
	width: 100%;
	height: 100px;
	position: absolute;
	bottom: 0;
	z-index: 2;
}

.list_toggle.close_area {
	background: none;
	position: static;
}



.list_toggle a {
	width: 500px;
	height: 45px;
	margin-left: 110px;
	padding: 0 0 0 40px;
	transition: all .3s ease-in;
	position: relative;
}
.list_toggle a.open_link {
	position: absolute;
	content: "";
	background: url(../image/btn_viewall.svg) no-repeat;
	background-position: 60px 12px;
	background-size: 79.5px auto;
}
.list_toggle a.open_link::before {
	position: absolute;
	content: "";
	display: inline;
	border: 1px solid #000;
	top: 0;
	left: 0;
	width: 45px;
	height: 45px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.list_toggle a.open_link:after {
	position: absolute;
	content: "";
	top: 1px;
	left: 23px;
	width: 1px;
	height: 27px;
	background: #000;
}
.list_toggle a.open_link .arrow::before {
	position: absolute;
	content: "";
	top: 20px;
	left: 20px;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
}
.list_toggle a.open_link:hover .arrow::after {
	position: absolute;
	content: "";
	top: 25px;
	left: 20px;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
	transition: all .2s;
	animation: arrow03 0.3s forwards ease-in-out;
}

@keyframes arrow03{
	0%{top: 20px; opacity:1}
	100%{top: 25px; opacity:1}
}




.list_toggle a.close_link {
	position: absolute;
	content: "";
	background: url(../image/btn_close.svg) no-repeat;
	background-position: 60px 12px;
	background-size: 49.2px auto;
}
.list_toggle a.close_link::before {
	position: absolute;
	content: "";
	display: inline;
	border: 1px solid #000;
	top: 0;
	left: 0;
	width: 45px;
	height: 45px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.list_toggle a.close_link:after {
	position: absolute;
	content: "";
	top: 20px;
	left: 23px;
	width: 1px;
	height: 27px;
	background: #000;
}
.list_toggle a.close_link .arrow::before {
	position: absolute;
	content: "";
	top: 20px;
	left: 20px;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(-135deg);
}
.list_toggle a.close_link:hover .arrow::after {
	position: absolute;
	content: "";
	top: 25px;
	left: 20px;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(-135deg);
	transition: all .2s;
	animation: arrow04 0.3s forwards ease-in-out;
}

@keyframes arrow04{
	0%{top: 20px; opacity:1}
	100%{top: 15px; opacity:1}
}












/*==== 商品画像マウスオーバー切替 ===*/

/* slide */

.item_slide {
	width: 100%;
	height: 0;
	background-color: #CEDE9B;
	position: relative;
}
.item_slide .item_more {
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	width: 50%;
	height: 100vh;
	pointer-events: none;
	background-size: cover;
	transition-duration: .3s;
	transition-property: opacity;
}
.item_slide .item_more.current {
	opacity: 1;
}
.item_slide .item_more.more01 {
	background-image: url(../image/item_s01a.jpg);
}
.item_slide .item_more.more02 {
	background-image: url(../image/item_s02.jpg);
}
.item_slide .item_more.more03 {
	background-image: url(../image/item_s03.jpg);
}
.item_slide .item_more.more04 {
	background-image: url(../image/item_s04.jpg);
}
.item_slide .item_more.more05 {
	background-image: url(../image/item_s05.jpg);
}
.item_slide .item_more.more06 {
	background-image: url(../image/item_s06.jpg);
}
.item_slide .item_more.more07 {
	background-image: url(../image/item_s07.jpg);
}
.item_slide .item_more.more08 {
	background-image: url(../image/item_s08.jpg);
}
.item_slide .item_more.more09 {
	background-image: url(../image/item_s09.jpg);
}
.item_slide .item_more.more10 {
	background-image: url(../image/item_s10.jpg);
}
.item_slide .item_more.more11 {
	background-image: url(../image/item_s11.jpg);
}
.item_slide .item_more.more12 {
	background-image: url(../image/item_s12.jpg);
}

/*.item_slide .item_more.current {
	opacity: 1;
}*/









/*==== モーダルウィンドウ ===*/

.modal {
	display: none;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	z-index: 9999;
}
.modal__bg{
	background: rgba(206,222,155,0.8);
	height: 100vh;
	position: absolute;
	width: 100vw;
}
.modal__content{
	background: #fff;
	position: fixed;
	top: 150px;
	right: 0;
/*	min-width: 990px;*/
	width: calc(100vw - 300px);
	min-height: 530px;
	max-height: calc(100vh - 300px);
	transition: 1s all;
	transform:translateX(100%) ;
}
.modal__content.on{
	transform:translateX(0) ;
}

.modal_wd {
	width: 100%;
	height: 530px;
	max-height: calc(100vh - 300px);
	padding: 12px;
	background-color: #FFF;
	display: flex;
	position: relative;
}


/* prev nextボタン　*/
.modal_wd .pnbtn a {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	margin: auto;
	width: 48px;
	height: 80px;
	font-size: 24px;
	transition: all .2s;
}
.modal_wd .pnbtn a::before {
	position: absolute;
	content: "";
	border: 1px solid #000;
	left: 0;
	width: 45px;
	height: 45px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.modal_wd .pnbtn a::after {
	position: absolute;
	content: "";
	left: 23px;
	width: 1px;
	height: 27px;
	background: #000;
}
.modal_wd .pnbtn span::before {
  position: absolute;
  content: "";
	left: 20px;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
}
.modal_wd .pnbtn a:hover span::after {
	position: absolute;
	content: "";
	left: 20px;
	width: 6px;
	height: 6px;
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
}




/* prevボタン　*/
.modal_wd .pnbtn.prev_btn a {
	top: -100px;
}
.modal_wd .pnbtn.prev_btn a::before {
	top: 35px;
}
.modal_wd .pnbtn.prev_btn a::after {
	top: 55px;
}
.modal_wd .pnbtn.prev_btn span::before {
	top: 52px;
	transform: rotate(-135deg);
}
.modal_wd .pnbtn.prev_btn a:hover span::after {
	top: 52px;
	transform: rotate(-135deg);
	transition: all .2s;
	animation: arrow06 0.3s forwards ease-in-out;
}
@keyframes arrow06{
	0%{top: 52px; opacity:1}
	100%{top: 47px; opacity:1}
}


/* nextボタン　*/
.modal_wd .pnbtn.next_btn a {
	bottom: -150px;
}
.modal_wd .pnbtn.next_btn a::before {
	top: -45px;
}
.modal_wd .pnbtn.next_btn a::after {
	top: -45px;
}
.modal_wd .pnbtn.next_btn span::before {
	top: -22px;
	transform: rotate(45deg);
}
.modal_wd .pnbtn.next_btn a:hover span::after {
	top: -22px;
	transform: rotate(45deg);
	transition: all .2s;
	animation: arrow07 0.3s forwards ease-in-out;
}
@keyframes arrow07{
	0%{top: -22px; opacity:1}
	100%{top: -17px; opacity:1}
}







.modal_wd .gallery {
/*	min-width: 530px;*/
	width: calc(100% - 530px);
/*	width: calc(100vw - 745px);*/
	max-width: calc(100vh - 396px);
}
.modal_wd .gallery .slick-track {
/*	width: 100% !important;*/
	margin-left: 0;
}
.modal_wd .gallery .slick-slide {
/*	width: 100% !important;*/
}
.modal_wd .gallery img{
	width: 100%;
	aspect-ratio: 1;
	min-width: 100%;
/*	min-width: calc(100vh - 300px);*/
/*	height: calc(100vw - 745px);*/
/*	min-height: 530px;*/
/*	max-height: calc(100vh - 300px);*/
	object-fit: cover;
}
.modal_wd .modal_item_more {
	width: 380px;
	padding: 30px 0 0 40px;
	display: flex;
}
.modal_wd .modal_item_more .morebox {
	padding: 0 0 0 30px;
	position: relative;
}
.modal_wd .modal_item_more .close_btn a {
	position: absolute;
	bottom: 40px;
	left: 30px;
	padding: 0 0 0 40px;
	font-size: 24px;
	color: #E84D3F;
}

.modal_wd .modal_item_more .close_btn a::after {
	position: absolute;
	content: "";
	bottom: 0;
	left: 0;
	width: 25px;
	height: 25px;
	border: 1px solid #E84D3F;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.modal_wd .modal_item_more .close_btn span::after {
	content: "";
	position: absolute;
	top: 14px;
	left: 6px;
	width: 14px;
	border-top: 1px solid #E84D3F;
	transform: rotate(45deg);
}
.modal_wd .modal_item_more .close_btn span::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 13px;
	height: 14px;
	border-right: 1px solid #E84D3F;
	transform: rotate(45deg);
}




.modal_wd .modal_item_more .item_tt {
	font-size: 18px;
	margin-bottom: 10px;
}
.modal_wd .modal_item_more ul {
	line-height: 1.2em;
	margin-bottom: 20px;
}
.modal_wd .modal_item_more li {
	display: flex;
}
.modal_wd .modal_item_more li p {
	height: 1.4em;
	border: 1px solid #000;
	padding: 1px 5px 0;
	font-size: 12px;
	margin: -2px 10px 0 0;
	white-space: nowrap;
}
.modal_wd .modal_item_more .price {
	font-size: 12px;
	color: #E84D3F;
	margin: 3px 0 17px;
}
.modal_wd .modal_item_more .onlineShop {
	margin-top: 20px;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
	display: none;
}

.choice-btn li{
	cursor: pointer;
	width: 60px!important;
	margin-bottom: 5px;
}
.choice-btn li img{
	width: 60px;
	height: 60px;
	object-fit: cover;
	opacity: 0.4;/*選択されていないものは透過40%*/
}
.choice-btn li.slick-current img{
	opacity: 1;/*選択されているものは透過しない*/
}
.choice-btn .slick-track {
	transform: unset !important;/*画面幅サイズ変更に伴うサムネイル固定*/
	width:100% !important;
}
.modal_wd .slick-slide {
	height: auto;
}
.modal_wd .choice-btn .slick-list {
	width: 60px;
}









#product .cont_box_right .item_box {
	margin: 0 0 30px 85px;
}
#product .cont_box_right .item_box_inner {
	display: flex;
}
#product .cont_box_right .item_box_inner .item_right {
	margin-left: 15px;
}
#product .cont_box_right .item_right .item_tt {
	font-size: 18px;
	margin-bottom: 3px;
}
#product .cont_box_right .item_right .item_txt {
	line-height: 1.5em;
}
#product .cont_box_right .item_right .item_price {
	color: #E84D3F;
	position: relative;
	padding: 3px 0 0 25px;
}
#product .cont_box_right .item_right .item_price::before {
	position: absolute;
	content: "";
	display: inline-block;
	background: url(../image/item_icon.svg) no-repeat;
	top: 8px;
	left: 5px;
	margin: auto;
	width: 19px;
	height: 19px;
}
#product .cont_box_right .item_right .reizo_icon {
	border: 1px solid #000;
	padding: 0 8px;
	line-height: 1.5em;
	margin: 8px 0 8px 5px;
	display: inline-block;
}



#product .cont_box_right .item_right .item_btn {
	position: relative;
	font-size: 16px;
	margin: 0 0 0 5px;
}
#product .cont_box_right .item_right .item_btn::before {
	content: "";
	position: absolute;
	top: 18px;
	left: 0;
	width: 80px;
	height: 1px;
	background: #000;
}
#product .cont_box_right .item_right .item_btn::after {
	content: "";
	position: absolute;
	top: 14px;
	left: 70px;
	width: 8px;
	height: 6px;
	border-top: 1px solid #000;
	transform: rotate(45deg);
}
#product .cont_box_right .item_right .item_btn img {
	vertical-align: bottom;
	position: relative;
	top: 10px;
}


#product .cont_box_right .item_box a:hover img {
	opacity: 0.8;
}

#product .cont_box_right .item_box a:hover .item_btn::before {
	animation: arrow01 0.3s forwards ease-in-out;
}
#product .cont_box_right .item_box a:hover .item_btn::after {
	animation: arrow02 0.3s forwards ease-in-out;
}
@keyframes arrow01{
	0%{width: 80px; opacity:1}
	100%{width: 100px; opacity:1}
}
@keyframes arrow02{
	0%{left: 70px; opacity:1}
	100%{left: 90px; opacity:1}
}






#prof .cont_box_right .cont_txt {
	width: 300px;
	position: relative;
}
#prof .cont_box_right .cont_txt::before {
	position: absolute;
	content: url(../image/prof_illu.svg);
	display: inline-block;
	top: 0;
	right: 0;
	margin: auto;
	width: 77px;
	height: 138px;
}
#prof .cont_box_right .cont_txt .prof_txt01 {
	font-size: 16px;
	margin: 15px 0 0;
}
#prof .cont_box_right .cont_txt .prof_txt02 img {
	width: 193.3px;
}
#prof .cont_box_right .cont_txt .prof_txt03 {
	font-size: 11px;
}
#prof .cont_box_right .cont_txt .prof_txtbox {
	margin-top: 35px;
}
#prof .cont_box_right .cont_txt .prof_txtbox h4 {
	margin-bottom: 23px;
}









#shop .cont_box_right .shop_tt {
	font-size: 18px;
	padding: 5px 0 0 35px;
	margin-bottom: 20px;
	position: relative;
}
#shop .cont_box_right .shop_tt::before {
	position: absolute;
	content: url(../image/shop_icon.svg);
	display: inline-block;
	top: 0;
	left: 0;
	margin: auto;
	width: 32px;
	height: 30px;
}
#shop .cont_box_right .shop_tt img {
	width: 119px;
}
#shop .cont_box_right ul {
	display: flex;
	flex-wrap: wrap;
}
#shop .cont_box_right li {
	width: calc(100% - 100px);
}
#shop .cont_box_right li.list_tt {
	width: 90px;
	padding-right: 10px;
	text-align:justify;
	text-align-last:justify;
}
#shop .cont_box_right li:nth-child(1) {
	padding-top: 2px;
}


/*== 矢印の線伸縮 */

#shop .cont_box_right .shop_btn {
	position: relative;
	display: inline-block;
	height: 45px;
	margin: 6px 0 40px 8px;
}
#shop .circle {
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	content: "";
	box-sizing: border-box;
	width: 45px;
	height: 45px;
	border: 1px solid #E84D3F;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
#shop .btnlinestretches5 {
	position:relative;
	color: #E84D3F;
	width: 22px;
	padding: 10px 0;
	display:inline-block;
}
#shop .btnlinestretches5 img {
	padding: 13px 0 0 60px;
}

/*線の設定*/
#shop .circle::before {
	content: "";
	position: absolute;
	top: 22px;
	left: 0;
	width: 22px;
	height: 1px;
	background: #E84D3F;
}

/*矢印の設定*/
#shop .circle::after {
	content: "";
	position: absolute;
	top: 19px;
	left: 18px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #E84D3F;
	border-right: 1px solid #E84D3F;
	transform: rotate(45deg);
}

#shop .shop_btn a:hover .btnlinestretches5::after {
	content: "";
	position: absolute;
	top: 20px;
	left: 25px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #E84D3F;
	border-right: 1px solid #E84D3F;
	transform: rotate(45deg);
	animation: arrowlong01 0.3s ease;
}

@keyframes arrowlong01{
	0%{left: 18px;opacity:0}
	100%{left: 25px;opacity:1}
}



#shop .cont_box_right .shop_tt02 {
	font-size: 29px;
	margin: 20px 0;
}
#shop .cont_box_right .shop_tt02 img {
	width: 81px;
}
#shop .cont_box_right .shop_online_btn {
	margin: 20px 0;
}
#shop .cont_box_right .shop_online_btn a:hover {
	opacity: 0.8;
}





#contact .cont_box_right .cont_tel {
	margin: 20px 0 10px;
}
#contact .cont_box_right p {
	margin-top: 20px;
	font-size: 12px;
	line-height: 1.8em;
	color: #E84D3F;
}



footer {
	padding: 500px 0 100px;
	position: relative;
	z-index: 999px;
}
footer .footer_icon {
	width: 128px;
	margin: 0 auto;
}
footer .contents {
	margin: 0;
}
footer .cont_box_right .ft_box {
	margin: 30px 0 0 35px;
}


footer .cont_box_right .ft_box ul {
	margin-bottom: 70px;
}
footer .cont_box_right .ft_box ul li {
	height: 50px;
}
footer .cont_box_right .ft_box .ft_nav_box {
	display: flex;
}
footer .cont_box_right .ft_box .ft_nav_box .ft_nav_icon {
	width: 32px;
	text-align: right;
	padding-top: 2px;
}
footer .cont_box_right .ft_box .ft_nav_box .ft_nav_tt {
	padding-left: 10px;
}
footer .cont_box_right .ft_box a:hover {
	color: #E84D3F;
}
footer .cont_box_right .ft_box img {
	filter: brightness(0) invert(0);
}
footer .cont_box_right .ft_box a:hover img {
	filter: none;
}



footer .cont_box_right .ft_tt {
	font-size: 18px;
	margin-bottom: 5px;
}
footer .cont_box_right p {
	line-height: 1.8em;
}
footer .cont_box_right .ft_tel {
	margin: 15px 0 70px;
}
footer .cont_box_right .ft_tel img {
	width: 156px;
}
footer .cont_box_right .ft_sns {
	display: flex;
}
footer .cont_box_right .ft_sns .sns_box {
	margin-right: 15px;
}
footer .cont_box_right .copy {
	margin-top: 90px;
}




#page_top{
  width: 38px;
  height: 195px;
  position: fixed;
  left: 28px;
  bottom: 25px;
}






 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SP
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

@media only screen and (max-width: 716px) {
	.pc {
		display: none !important;
	}
	
	
	
	
	/* 共通 */
	
	#wrapper {
		background-image: none;
		background-color: #CEDE9B;
	}
	.header_image_icon {
		width: 82px;
		height: 409px;
		z-index: 999;
	}


	.header__container {
		display: block;
	}
	
	
	
/*====== 縦線スクロール =======*/

	/*スクロールダウン全体の場所*/
	.header__container .scrolldown {
		left: 0;
	}




/*==================================================
スライダーcss
===================================*/
	

	.main_left {
		width: 100%;
		/*position: static;*/
	}

	/*ドットナビゲーションの設定*/

	.slick-dots {
		right: auto;
		left: -17px;
		width: 61px;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.slick-dots li {
		width: 61px !important;
		height: 37.6px !important;
		margin-left: 0 !important;
		margin: -12% 0;
	}
	.slick-dots li:nth-child(2),
	.slick-dots li:nth-child(5),
	.slick-dots li:nth-child(8) {
		margin: -14% 0;
	}
	.slick-dots li:nth-child(3) {
		margin-bottom: 0;
	}
	.slick-dots li:nth-child(4) {
		margin: -14% 0 -10%;
	}
	.slick-dots li:nth-child(7) {
		margin-bottom: -5%;
	}
	.slick-dots li:nth-child(9) {
		margin-top: -5%;
	}


	.slick-dots li button::before {
		width: 61px !important;
		height: 37.6px !important;
		background-size: 200% auto;
		background-position: center right !important;
		background-repeat: no-repeat;
	}
	.slick-dots li:nth-child(1) button::before {
		background-image: url(../image/sp/pistachio_p.png);
	}
	.slick-dots li:nth-child(2) button::before,
	.slick-dots li:nth-child(8) button::before {
		background-image: url(../image/sp/pistachio_i.png);
	}
	.slick-dots li:nth-child(3) button::before {
		background-image: url(../image/sp/pistachio_s.png);
	}
	.slick-dots li:nth-child(4) button::before {
		background-image: url(../image/sp/pistachio_t.png);
	}
	.slick-dots li:nth-child(5) button::before {
		background-image: url(../image/sp/pistachio_a.png);
	}
	.slick-dots li:nth-child(6) button::before {
		background-image: url(../image/sp/pistachio_c.png);
	}
	.slick-dots li:nth-child(7) button::before {
		background-image: url(../image/sp/pistachio_h.png);
	}
	.slick-dots li:nth-child(9) button::before {
		background-image: url(../image/sp/pistachio_o.png);
	}

	.slick-dots li.slick-active button::before {
		background-position: center left !important;
	}



/*===================================*/







/*========= コンテンツレイアウト ===============*/



	.contents {
		width: 100%;
		margin: 0;
		padding: 0;
		display: block;
		background-color: #CEDE9B;
	}
	.cont_box_right {
		width: 100%;
		padding-top: 350px;
		padding-bottom: 200px;
		position: relative;
		background-color: #CEDE9B;
	}
	.cont_box_right h3 {
		top: 100px;
	}
	.cont_box_right h3 img {
		max-width: 14px;
	}
	#contact .cont_box_right h3 img {
		max-width: 27.4px;
	}
	.cont_box_right .cont_tt02 {
		position: absolute;
		top: 100px;
		left: 65px;
		margin: auto;
		padding: 17px 0 0 0;
	}
	.cont_box_right .cont_tt03 {
		position: absolute;
		top: 120px;
		right: 20px;
		margin: auto;
	}


	.cont_box_right .cont_txt {
		margin: 0 auto;
	}
	#about .cont_box_right .cont_txt {
		width: 240px;
		margin: 0 auto;
		line-height: 2.2em;
	}
	#about .cont_box_right .cont_txt .about_txtarea {
		font-size: 12px;
		line-height: 30px;
		white-space: nowrap;
		word-break: keep-all;
	}



/*==== モーダルウィンドウ ===*/
	


	.modal__content{
		position: static;
		width: calc(100vw - 40px);
		min-width: 0;
		min-height: 0;
		max-width: 100vw;
		max-height: 100vh;
		margin: 80px 0 0 40px;
		height: calc(100vh - 80px);
		overflow: auto;
	}
	.modal_wd {
		width: auto;
		height: auto;
		display: block;
		max-height: 9999px;
	}

	.modal_wd .gallery {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		overflow: hidden;
		max-height: calc(100vw - 64px);
	}
	.modal_wd .gallery img{
		width: 100%;
		height: auto;
		min-height: 0;
	}
	.modal_wd .modal_item_more {
		width: auto;
		padding: 10px 0 0 0;
		display: block;
	}
	.modal_wd .modal_item_more .slick-track {
		display: flex;
		overflow: auto;
	}
	.modal_wd .modal_item_more .morebox {
		padding: 0 0 25px 10px;
		position: relative;
	}

	.modal_wd .modal_item_more .close_btn a {
		position: static;
		bottom: 40px;
		left: 0;
		padding: 0 0 0 40px;
		font-size: 24px;
		color: #E84D3F;
	}
	.modal_wd .modal_item_more .close_btn {
		position: relative;
		margin: 20px 0;
	}




	.modal_wd .modal_item_more .item_tt {
		margin-bottom: 10px;
	}
	.modal_wd .modal_item_more ul {
		margin-bottom: 20px;
	}
	/*矢印の設定*/

	.choice-btn li{
		width: auto!important;
		margin: 0 5px 5px 0;
	}
	.modal_wd .choice-btn .slick-list {
		width: auto;
	}

	.showmore_wrap {
		margin-bottom: 0;
	}
	#product .showmore_list {}
  #product .cont_box_right {
		padding-bottom: 0;
	}
	
	#product .cont_box_right .modal_window {
		height: 100vh;
		min-height: 100vw;
		position: relative;
	}
	#product .cont_box_right .modal_window .js-modal-open {
		z-index: 1;
		position: relative;
	}
  #product .cont_box_right .item_box{
  	top: 0;
  	left: 0;
	  margin: 0;
	  width: 100%;
	  height: 100%;
	  display: flex;
	  position: absolute;
  	clip: rect(auto, auto, auto, auto);
  }
  #product .cont_box_right .item_box::before {
  	top: 0;
  	left: 0;
  	z-index: 0;
  	content: "";
  	width: 100%;
  	height: 100%;
  	display: block;
  	position: fixed;
/*	  background-attachment: fixed;*/
	  background-size: cover;
	  background-repeat: no-repeat;
	  background-position: center center;
  }
	.img_bg_01::before{
	  background-image: url(../image/item_s01a.jpg);
	}
	.img_bg_02::before{
	  background-image: url(../image/item_s02.jpg);
	}
	.img_bg_03::before{
	  background-image: url(../image/item_s03.jpg);
	}
	.img_bg_04::before{
	  background-image: url(../image/item_s04.jpg);
	}
	.img_bg_05::before{
	  background-image: url(../image/item_s05.jpg);
	}
	.img_bg_06::before{
	  background-image: url(../image/item_s06.jpg);
	}
	.img_bg_07::before{
	  background-image: url(../image/item_s07.jpg);
	}
	.img_bg_08::before{
	  background-image: url(../image/item_s08.jpg);
	}
	.img_bg_09::before{
	  background-image: url(../image/item_s09.jpg);
	}
	.img_bg_10::before{
	  background-image: url(../image/item_s10.jpg);
	}
	.img_bg_11::before{
	  background-image: url(../image/item_s11.jpg);
	}
	.img_bg_12::before{
	  background-image: url(../image/item_s12.jpg);
	}

	
	
	#product .cont_box_right .item_box a.js-modal-open {
	   width: 100%;
	}
	

	#product .cont_box_right .item_box_inner {
		padding: 20px;
		background-color: rgba(206,222,155,0.8);
	}
	


	#product .cont_box_right .item_right .item_tt {
		font-size: 14px;
	}
	#product .cont_box_right .item_right .item_txt {
		line-height: 1.2em;
		font-size: 12px;
	}
	#product .cont_box_right .item_right .item_price {
		font-size: 12px;
		padding: 3px 0 0 20px;
	}
	#product .cont_box_right .item_right .item_price::before {
		position: absolute;
		content: "";
		display: inline-block;
		background: url(../image/item_icon.png) no-repeat;
		background-size: 12px 12px;
		background-position: 2px 2px;
		top: 8px;
		left: 5px;
		margin: auto;
		width: 14px;
		height: 14px;
	}

	.list_toggle {
		height: 200px;
		align-items: center;
		background: linear-gradient(to bottom, rgba(206,222,155,0) 0%, rgba(206,222,155,1) 50%);
	}
	.list_toggle a {
		margin-left: 16px;
	}


	#prof .cont_box_right .cont_txt {
		width: auto;
		padding: 0 25px;
	}
	#prof .cont_box_right .cont_txt::before {
		right: 25px;
	}
	#prof .cont_box_right .cont_txt .prof_txt02 {
		margin: ;
	}
	#prof .cont_box_right .cont_txt .prof_txt02 img {
		width: 165.7px;
	}




	#shop .cont_box_right .cont_txt {
		margin: 0 20px;
	}
	#shop .cont_box_right .shop_tt {
		font-size: 13.5px;
		letter-spacing: -0.05em;
		padding-left: 28px;
	}
	#shop .cont_box_right .shop_tt::before {
		top: -7px;
	}
	#shop .cont_box_right .shop_tt img {
		width: 89.5px;
	}
	#shop .cont_box_right .shop_tt span {
		font-size: 10.5px;
	}
	#shop .cont_box_right .shop_tt02 img {
		width: 61px;
	}
	#shop .cont_box_right ul {
		font-size: 12px;
	}
	#shop .cont_box_right .shop_txt,
	#shop .cont_box_right .shop_txt span {
		font-size: 12px !important;
		line-height: 18.75px;
	}
	#shop .cont_box_right .shop_txt .ttl {
		font-size: 10.5px !important;
	}


	#contact .cont_box_right .cont_txt {
		margin: 0 20px;
	}




	footer {
		padding: 100px 0 0;
		background-color: #CEDE9B;
	}
	footer .footer_icon {
		width: 216px;
		margin: 0 auto;
	}
	footer .footer_icon img {
		width: 216px;
	}
	footer .cont_box_right {
		padding-top: 50px;
		padding-bottom: 100px;
	}
	footer .cont_box_right .ft_box {
		margin: 0 30px 0 30px;
	}
	footer .cont_box_right .ft_tt {
		font-size: 4vw;
	}
	footer .cont_box_right .ft_tt span {
		font-size: 3vw;
	}
	footer .cont_box_right .ft_tt + p {
		font-size: 3vw;
	}

}


@media (min-aspect-ratio: 1361/1236) and (min-width: 717px) {
	.modal_wd .gallery {
		max-width: 530px;
	}
}



