.shop-map-flame{
	margin-top: 20px;
	border: solid 1px #ccc;
}

.kitchen-img{
	width: 700px;
	display: block;
	margin: 20px auto 0;
}

.kitchen-img-sp{ display: none;}

.top-movie{
	position: relative;
	margin: 146px auto -100px;
	aspect-ratio: 1/0.4864;
	/* aspect-ratio: 1/0.5625; */
	max-height: calc(100vh - 146px);
	max-width: 1920px;
	z-index: 2;
}

.top-movie video{
	object-fit: cover;
	object-position: bottom;
	width: 100%;
	height: 100%;
}

.movie-btn{
	position: absolute;
	right: 4%;
	/* left: 4%; */
	/* top: 0; */
	bottom: 0;
	width: 15%;
}

.top-movie2{
	position: relative;
	margin: 146px auto -100px;
	aspect-ratio: 1/0.5625;
	max-height: calc(100vh - 146px);
	max-width: 1920px;
	z-index: 2;
}

.top-movie2 video{
	object-fit: cover;
	object-position: bottom;
	width: 100%;
	height: 100%;
}

.movie-btn2{
	position: absolute;
	left: 1%;
	bottom: 0;
	width: 15%;
}

.movie-ex { animation: korokoro 2.5s linear 0s infinite;}

.h-txt18{
    font-size: 24px;
    margin-bottom: 0.9em;
}

.h-txt18::before{
    content: "";
    display: inline-block;
    height: 1.2em;
    margin-right: 0.3em;
	margin-bottom: 0.2em;
    width: 11em;
    vertical-align: middle;
    background: url(https://www.fressay.co.jp/uploads/2023/07/img-footer01.png)no-repeat center / contain;
}

.h-txt18::after{
    display: block;
    content: "";
    height: 1px;
    margin: 0.5em auto 0;
    width: 100%;
    background: linear-gradient(to right, rgba(219,54,74,0.85) 0%, rgba(64,177,93,0.85) 40%, rgba(48,113,171,0.85) 100%);
}

@keyframes korokoro {
  0%   { transform: translate(0%, 0%); }
  5%   { transform: translate(10%, 0%) rotate(10deg); }
  25%  { transform: translate(20%, 0%) rotate(20deg); }
  30%  { transform: translate(-10%, 0%) rotate(-10deg); }
  35%  { transform: translate(-15%, 0%) rotate(-15deg); }
  45%  { transform: translate(10%, 0%) rotate(10deg); }
  50%  { transform: translate(15%, 0%) rotate(15deg); }
  60%  { transform: translate(-5%, 0%) rotate(-5deg); }
  65%  { transform: translate(-7%, 0%) rotate(-7deg); }
  75%  { transform: translate(0%, 0%) rotate(0deg); }
  100% { transform: translate(0%, 0%) rotate(0deg); }
}

.mb4{
	margin-bottom: 4em;
}


@media screen and (max-width: 640px){
	.kitchen-img{
		display: none;
	}
	
	.kitchen-img-sp{
		display: block;
		margin-top: 20px;
	}
	
	.top-movie{
		margin: 0 auto -8vw;
		z-index: 2;
		aspect-ratio: auto;
		max-height: none;
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		max-height: 175vw;
		/* margin: 14.3vw auto -8vw; */
	}
	
	.top-movie video{ object-position: center;}
	
	.movie-btn{
		left: 5%;
		right: auto;
		width: 28%;
	}
	
	.top-obi-sp{
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 3rem;
		background: #40b15d;
	}

	.top-movie2{
		margin: 0 auto -8vw;
		z-index: 2;
		aspect-ratio: auto;
		max-height: none;
		margin: 14.3vw auto -8vw;
	}
	
	.top-movie2 video{ object-position: center;}
	
	.movie-btn2{
		left: 1%;
        right: auto;
	}

	.h-txt18{font-size: 18px;}
}

.btn07{
	width: 19em;
}


/* オープニングバナー追加 */
.opening-wrap{
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: +101;
	opacity: 0;
	display: none;
}

.opening-wrap.opened{
	display: block;
	animation: 1s 0.5s opening ease forwards;
}

@keyframes opening {
	0%   { opacity: 0; }
	100% { opacity: 1; }
  }

.opening-wrap-back{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.7;
    z-index: -1;
}

.opening-wrap-img{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 65vw;
	max-width: 1000px;
}

.opening-wrap-img img{
	width: 100%;
	height: auto;
}

.opening-close{
	position: absolute;
	right: -0.1em;
	top: -1.2em;
	padding: 0;
	background: none;
	width: auto;
	height: auto;
	border: none;
	color: #fff;
	font-size: 40px;
	line-height: 1;
	pointer-events: none;
}

@media screen and (max-width: 640px){
	.opening-wrap-img{width: 90vw;}
}

/* マルチステークホルダーページ用 */
.msh{
	letter-spacing: 0.05em;
}

.msh h1{margin-top: 3em; margin-bottom: 1em;}
.msh h2{padding-bottom: 0.8em; padding-left: 0.1em; border-bottom:solid 4px #40b15d; margin-bottom: 1em; margin-top: 1em;}
.msh p{text-align: justify; line-height: 2;}
.msh a{margin-left: 1em; color: #40b15d; text-decoration: underline;}
.msh .msh-boxtext{
	background: #40b15d;
	color: #fff;
	display: block;
	text-align: center;
	padding: 0.5em 0 0.4em;
}










/*********************************************************

					ここからnew-csr

**********************************************************/

.csr2-readtext{
	font-size: 16px;
	font-feature-settings: "palt";
	line-height: 2;
	letter-spacing: 0.05em;
	margin-top: 1em;
	text-align: justify;
}

.csr2-readtext.fs18{
	font-size: 18px;
}
.csr2-readtext.fs20{font-size: 20px;}

.csr2-readtext span{
	font-size: 70%;
	display: inline-block;
	transform: translateY(-25%);
}

.csr2-readtext02{
	font-size: 20px;
	margin: 0 0 1em;
	text-align: justify;
}

.ht{
	width: 100%;
	border-bottom: 1px solid #333;
	font-size: 24px;
	line-height: 1;
	padding-bottom: 0.6em;
	margin-bottom: 1em;
}

.fs16{font-size: 16px;}
.fs18{font-size: 18px;}
.fs20{font-size: 20px;}

.mt0{margin-top: 0;}
.mt2{margin-top: 2em;}
.mt3{margin-top: 3em;}

.mb0{margin-bottom: 0;}
.mb2{margin-bottom: 2em;}
.mb3{margin-bottom: 3em;}
.mb4{margin-bottom: 4em;}


.inner1000{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
}

.inner1000 a{
	text-decoration: none!important ;
}

.csr2-flex,.csr2-flex-menu{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	font-size: 22px;
}

.csr2-flex-menu{
	font-size: 20px;
	margin-bottom: 4em;
}

.csr2-flex li,
.csr2-flex-menu li{
	position: relative;
	background: #ccc;
	border-radius: 1em;
	box-sizing: border-box;
	transition: ease 0.2s;
}

.csr2-flex-menu li{
	width: 32%;
	aspect-ratio: 5/3.5;
	padding: 0.5em;
}

.csr2-flex li a,
.csr2-flex-menu li a{
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0.5em;
	box-sizing: border-box;
}

.csr2-flex li p,
.csr2-flex-menu li p{
	position: absolute;
	left: 1em;
	bottom: 0.5em;
	width: calc(100% - 2em);
	background: #fff;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	text-align: center;
	font-weight: 500;
	line-height: 1!important;
	padding: 0.3em 0 0.4em;
	border-radius: 2.1em;
	transition: ease 0.2s;
}
.csr2-flex-menu li p{
	width: calc(100% - 1em);
	left: 0.5em;
	bottom: 0.5em;
	border-radius: 0.8em;
	text-align: left;
	padding-left: 1em;
	box-sizing: border-box;
}

.csr2-flex-menu li.active:hover p{
	background: #fff!important;
}

.csr2-flex li p::after,.csr2-flex-menu li p::after{
	content: "";
	position: absolute;
	right: 0.5em;
	top: 50%;
	width: 1.2em;
	aspect-ratio: 1/1;
	border-radius: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.csr2-flex li:nth-of-type(1) p::after,.csr2-flex-menu li:nth-of-type(1) p::after,
.csr2-flex-menu li.active:nth-of-type(1):hover p::after{ background:#83bd56 url(../img/csr-arrow.svg)no-repeat center / contain;}
.csr2-flex li:nth-of-type(2) p::after,.csr2-flex-menu li:nth-of-type(2) p::after,
.csr2-flex-menu li.active:nth-of-type(2):hover p::after{ background:#efa73d url(../img/csr-arrow.svg)no-repeat center / contain;}
.csr2-flex li:nth-of-type(3) p::after,.csr2-flex-menu li:nth-of-type(3) p::after,
.csr2-flex-menu li.active:nth-of-type(3):hover p::after{ background:#77b3be url(../img/csr-arrow.svg)no-repeat center / contain;}
.csr2-flex li:nth-of-type(4) p::after,.csr2-flex-menu li:nth-of-type(4) p::after,
.csr2-flex-menu li.active:nth-of-type(4):hover p::after{ background:#ee9c98 url(../img/csr-arrow.svg)no-repeat center / contain;}
.csr2-flex li:nth-of-type(5) p::after,.csr2-flex-menu li:nth-of-type(5) p::after,
.csr2-flex-menu li.active:nth-of-type(5):hover p::after{ background:#9d8bc1 url(../img/csr-arrow.svg)no-repeat center / contain;}

.csr2-flex li{
	width: calc(50% - 0.5em);
	aspect-ratio: 2.5/1;
	margin-bottom: 1em;
}

.csr2-flex li:nth-of-type(1),.csr2-flex-menu li:nth-of-type(1),
.csr2-flex-menu li.active:nth-of-type(1):hover{ background: #83bd56; color: #83bd56; border: 0.3em solid #83bd56;}
.csr2-flex li:nth-of-type(2),.csr2-flex-menu li:nth-of-type(2),
.csr2-flex-menu li.active:nth-of-type(2):hover{ background: #efa73d; color: #efa73d; border: 0.3em solid #efa73d;}
.csr2-flex li:nth-of-type(3),.csr2-flex-menu li:nth-of-type(3),
.csr2-flex-menu li.active:nth-of-type(3):hover{ background: #77b3be; color: #77b3be; border: 0.3em solid #77b3be;}
.csr2-flex li:nth-of-type(4),.csr2-flex-menu li:nth-of-type(4),
.csr2-flex-menu li.active:nth-of-type(4):hover{ background: #ee9c98; color: #ee9c98; border: 0.3em solid #ee9c98;}
.csr2-flex li:nth-of-type(5),.csr2-flex-menu li:nth-of-type(5),
.csr2-flex-menu li.active:nth-of-type(5):hover{ background: #9d8bc1; color: #9d8bc1; border: 0.3em solid #9d8bc1;}

.csr2-flex li:nth-of-type(1) p,.csr2-flex-menu li:nth-of-type(1) p,.csr2-flex-menu li.active:nth-of-type(1):hover p{ color: #83bd56; }
.csr2-flex li:nth-of-type(2) p,.csr2-flex-menu li:nth-of-type(2) p,.csr2-flex-menu li.active:nth-of-type(2):hover p{ color: #efa73d; }
.csr2-flex li:nth-of-type(3) p,.csr2-flex-menu li:nth-of-type(3) p,.csr2-flex-menu li.active:nth-of-type(3):hover p{ color: #77b3be; }
.csr2-flex li:nth-of-type(4) p,.csr2-flex-menu li:nth-of-type(4) p,.csr2-flex-menu li.active:nth-of-type(4):hover p{ color: #ee9c98; }
.csr2-flex li:nth-of-type(5) p,.csr2-flex-menu li:nth-of-type(5) p,.csr2-flex-menu li.active:nth-of-type(5):hover p{ color: #9d8bc1; }

.csr2-flex li:hover,
.csr2-flex-menu li:hover,.csr2-flex-menu li.active{ background: #fff;}

.csr2-flex li:nth-of-type(1):hover p,.csr2-flex-menu li:nth-of-type(1):hover p,.csr2-flex-menu li.active:nth-of-type(1) p{ background: #83bd56; color:#fff}
.csr2-flex li:nth-of-type(2):hover p,.csr2-flex-menu li:nth-of-type(2):hover p,.csr2-flex-menu li.active:nth-of-type(2) p{ background: #efa73d; color:#fff}
.csr2-flex li:nth-of-type(3):hover p,.csr2-flex-menu li:nth-of-type(3):hover p,.csr2-flex-menu li.active:nth-of-type(3) p{ background: #77b3be; color:#fff}
.csr2-flex li:nth-of-type(4):hover p,.csr2-flex-menu li:nth-of-type(4):hover p,.csr2-flex-menu li.active:nth-of-type(4) p{ background: #ee9c98; color:#fff}
.csr2-flex li:nth-of-type(5):hover p,.csr2-flex-menu li:nth-of-type(5):hover p,.csr2-flex-menu li.active:nth-of-type(5) p{ background: #9d8bc1; color:#fff}

.csr2-imgbox { width: 100%; aspect-ratio: 4.2/1; transition: ease-in-out 0.3s;}
.csr2-flex-menu .csr2-imgbox { 
	height: 60%;
	transform: translateY(10%);
}


.csr2-flex li:nth-of-type(1) .csr2-imgbox,.csr2-flex-menu li:nth-of-type(1) .csr2-imgbox,.csr2-flex-menu li.active:nth-of-type(1):hover .csr2-imgbox{ 
	background: url(../img/csr-icon01-a.svg)no-repeat center center,url(../img/csr-icon01-b.svg)no-repeat center center; 
	background-size: contain,0 0;
}
.csr2-flex li:nth-of-type(2) .csr2-imgbox,.csr2-flex-menu li:nth-of-type(2) .csr2-imgbox,.csr2-flex-menu li.active:nth-of-type(2):hover .csr2-imgbox{ 
	background: url(../img/csr-icon02-a.svg)no-repeat center center,url(../img/csr-icon02-b.svg)no-repeat center center; 
	background-size: contain,0 0;
}
.csr2-flex li:nth-of-type(3) .csr2-imgbox,.csr2-flex-menu li:nth-of-type(3) .csr2-imgbox,.csr2-flex-menu li.active:nth-of-type(3):hover .csr2-imgbox{ 
	background: url(../img/csr-icon03-a.svg)no-repeat center center,url(../img/csr-icon03-b.svg)no-repeat center center; 
	background-size: contain,0 0;
}
.csr2-flex li:nth-of-type(4) .csr2-imgbox,.csr2-flex-menu li:nth-of-type(4) .csr2-imgbox,.csr2-flex-menu li.active:nth-of-type(4):hover .csr2-imgbox{ 
	background: url(../img/csr-icon05-a.svg)no-repeat center center,url(../img/csr-icon05-b.svg)no-repeat center center; 
	background-size: contain,0 0;
}

.csr2-flex li:nth-of-type(1):hover .csr2-imgbox,.csr2-flex-menu li:nth-of-type(1):hover .csr2-imgbox,.csr2-flex-menu li.active .csr2-imgbox,
.csr2-flex li:nth-of-type(2):hover .csr2-imgbox,.csr2-flex-menu li:nth-of-type(2):hover .csr2-imgbox,
.csr2-flex li:nth-of-type(3):hover .csr2-imgbox,.csr2-flex-menu li:nth-of-type(3):hover .csr2-imgbox,
.csr2-flex li:nth-of-type(4):hover .csr2-imgbox,.csr2-flex-menu li:nth-of-type(4):hover .csr2-imgbox,
.csr2-flex li:nth-of-type(5):hover .csr2-imgbox,.csr2-flex-menu li:nth-of-type(5):hover .csr2-imgbox{ background-size: 0 0,contain;}





.csr2-wrap{
	position: relative;
	width: 100%;
	font-size: 18px;
	line-height: 1.8;
	padding: 4em;
	box-sizing: border-box;
	background: #fff;
	margin-top: 6em;
}

.csr2-wrap-flex{
	display: flex;
	justify-content: space-between;
	align-items: end;
}

.csr2-wrap-flex-text{
	width: 60%;
	margin-right: 3%;
	margin-top: 7em;
}

.csr2-linkbtn{
	position: relative;
	font-size: 1.2em;
	font-weight: 500;
	line-height: 1;
	width: 80%;
	background: #d71f2c;
	color: #fff;
	outline: 0.2em solid #d71f2c;
  	outline-offset: -0.2em;
	text-align: center;
	padding: 1em;
	box-sizing: border-box;
	border-radius: 1.6em;
	margin: 2em auto 0;
	text-decoration: none;
	display: block;
}

.csr2-linkbtn.mt{
	margin-top: 1em;
}

.csr2-linkbtn::after{
	content: "";
	position: absolute;
	width: 1.3em;
	aspect-ratio: 1/1;
	top: 0.85em;
	right: 1em;
	background: #fff url(../img/csr-arrow-red.svg)no-repeat center / contain;
	border-radius: 50%;
}

.csr2-linkbtn:hover{
	background: #fff;
	color: #d71f2c!important;
}

.csr2-wrap-flex img{width: 37%;}

.csr2-wrap-ch{
	position: absolute;
	top: 0;
	width: 23%;
	height: auto;
}

.csr2-wrap h2{
	font-size: 32px;
	line-height: 1;
	font-weight: 600;
	text-align: center;
	margin-bottom: 1.5em;
}

.csr2-wrap h3{
	font-size: 28px;
	line-height: 1;
	font-weight: 600;
	text-align: center;
	margin-bottom: 1.5em;
}

.csr2-flex02{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	line-height: 1.3;
}

.csr2-flexbox48{
	position: relative;
	width: calc(50% - 1em);
	padding: 1.8em 1em 1.5em;
	box-sizing: border-box;
	background: #fffcdb;
	text-align: center;
	margin-bottom: 1em;
}

.csr2-flex02 .csr2-flexbox48:nth-of-type(-n+2){ margin-bottom: 2em;}

.csr2-flex02 .big{
	font-size: 220%;
	font-weight: 600;
}

.csr2-img{
	position: absolute;
	right: -0.3em;
	top: -0.3em;
	width: 28%;
	height: auto;
}

.csr2-flex02 .single{
	padding: 1.3em 0;
}

.csr2-table{
	width: 100%;
	text-align: center;
	border-collapse: collapse;
}

.csr2-table tr:nth-of-type(even){
	background: #fffcdb;
}

.csr2-table th,.csr2-table td{
	padding: 0.5em 1em;
	border: solid 1px #333;
	width: 20%;
}

.csr2-table td span{
	font-size: 165%;
	font-weight: 500;
}

.csr2-table .type{
	position: relative;
	text-align: left;
	vertical-align: middle;
	border-left: 0px;
	width: 24%;
}

.csr2-table .type::after{
	content: "";
	position: absolute;
	top: 0.4em;
	right: 0.5em;
	width: 3.5em;
	aspect-ratio: 11/9;
}

.csr2-table .type.t1::after{background: url(../img/colletc-img05.svg)no-repeat center / contain;}
.csr2-table .type.t2::after{background: url(../img/colletc-img06.svg)no-repeat center / contain;}
.csr2-table .type.t3::after{background: url(../img/colletc-img07.svg)no-repeat center / contain;}
.csr2-table .type.t4::after{background: url(../img/colletc-img08.svg)no-repeat center / contain;}
.csr2-table .type.t5::after{background: url(../img/colletc-img09.svg)no-repeat center / contain;}

.csr2-table .sub{
	font-size: 12px;
	vertical-align: middle;
}

.csr2-table tr:first-of-type th:last-of-type,
.csr2-table tr td:last-of-type{
	/* border: 0; */
	border-right: 0;
	width: 14%;
}

.csr2-table tr th:nth-of-type(4),
.csr2-table tr td:nth-of-type(3){
	border-right: 0;
}

.graph01{
	margin-top: 0.5em;
	width: 100%;
	height: auto;
}

.food .csr2-flex02 div{
	width: 45%;
	aspect-ratio: 3/2;
}

.food .csr2-flex02 div:nth-of-type(-n+6){
	margin-bottom: 2em;
}

.food .csr2-flex02 div img{
	width: 100%;
	height: 100%!important;
	object-fit: cover;
}

.neko01::before{
	content: "";
	position: absolute;
	left: -2em;
	bottom: 0;
	width: 7em;
	aspect-ratio: 1/1;
	background: url(../img/chara03.svg)no-repeat left / contain;
}

.neko02::before{
	content: "";
	position: absolute;
	right: -2em;
	bottom: 0;
	width: 7em;
	aspect-ratio: 1/1;
	background: url(../img/chara02.svg)no-repeat right / contain;
	transform-origin: center bottom;
	transform: rotate(-30deg);
	animation: metoro 3s linear 0s infinite;
}

@keyframes metoro {
	0% ,100%  { transform:rotate(-10deg); }
	50% { transform:rotate(10deg); }
}

.neko03::before{
	content: "";
	position: absolute;
	left: -2em;
	bottom: 0;
	width: 7em;
	aspect-ratio: 1/1;
	background: url(../img/chara01.svg)no-repeat left / contain;
}

.neko04::before{
	content: "";
	position: absolute;
	right: 0;
	top: 3em;
	width: 8em;
	aspect-ratio: 1/1;
	background: url(../img/chara04b.svg)no-repeat left / contain;
	transform: translateX(67%);
}

.neko04::after{
	content: "";
	position: absolute;
	right: 0;
	top: 3em;
	width: 8em;
	aspect-ratio: 1/1;
	background: url(../img/chara04a.svg)no-repeat left / contain;
	transform: translateX(0);
	z-index: -1;
	animation: nozoki 5s linear 0s infinite;
}

@keyframes nozoki {
	0% ,93%,100%  { transform: translateX(0); }
	2%,15%,33%,40% { transform: translateX(15%); }
	17%,21%,25%,29% { transform: translate(15%,2%); scale: (1.05,0.95); }
	19%,23%,27%,31% { transform: translate(15%,-2%); scale: (0.95,1.05);}
	45%,90% { transform: translateX(66%); }
}

.neko06::before{
	content: "";
	position: absolute;
	right: -2em;
	bottom: 0;
	width: 7em;
	aspect-ratio: 1/1;
	background: url(../img/chara06.svg)no-repeat left / contain;
}

.neko05::before{
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 7em;
	aspect-ratio: 1/1;
	background: url(../img/chara05.svg)no-repeat left / contain;
}

.csr2-bar{
	width: 100%;
	height: 1px;
	background: #ccc;
	display: block;
	margin: 40px 0 0;
}

.csr2-wrap.mt0{margin-top: 0;}

.photo-name{
	font-size: 16px;
	font-weight: 600;
	line-height: 1.8;
	margin-bottom: 0.6em;
	border-left: 4px solid #77b3be;
	padding-left: 0.5em;
}

.courier-table01 tr td br{
	display: none;
}

	
/*********************************************************

			   ここからメディアクエリ(SP）

**********************************************************/

@media screen and (max-width: 639px){
	
	.inner1000 .sp{display: block;}
	.pc{display: none;}

	.inner1000{width: 100%;}

	.csr2-menu-sp{
		width: 90%;
		max-width: 500px;
		font-size: min(4.57vw,24px);
		margin: 0 auto;
	}

	/* .csr2-linkbtn.pc{display: block;} */

	.csr2-menu-sp li{
		position: relative;
		margin-top: 1.2em;
		background: #eee;
		border-radius: 1.1em;
	}
	.csr2-menu-sp li::after{
		content: "";
		position: absolute;
		right: 1em;
		top: 50%;
		transform: translateY(-50%);
		width: 1.1em;
		aspect-ratio: 1/1;
		background: url(../img/csr-arrow.svg)no-repeat center / contain;
	}

	.csr2-menu-sp li::before{
		content: "";
		position: absolute;
		right: 2.3em;
		top: 30%;
		transform: translateY(-50%);
		width: 5.5em;
		aspect-ratio: 1/1;
		pointer-events: none;
	}

	.csr2-menu-sp li:nth-of-type(1):before{ background: url(../img/csr-icon01-c.svg)no-repeat center / contain;}
	.csr2-menu-sp li:nth-of-type(2):before{ background: url(../img/csr-icon02-c.svg)no-repeat center / contain;}
	.csr2-menu-sp li:nth-of-type(3):before{ background: url(../img/csr-icon03-c.svg)no-repeat center / contain;}
	.csr2-menu-sp li:nth-of-type(4):before{ background: url(../img/csr-icon05-c.svg)no-repeat center / contain;}
	/* .csr2-menu-sp li:nth-of-type(5):before{ background: url(../img/csr-icon05-c.svg)no-repeat center / contain;} */

	.csr2-menu-sp p{
		font-weight: 500;
		line-height: 1!important;
		padding: 0.5em 1em 0.6em;
		box-sizing: border-box;
		color: #fff;
	}

	.csr2-menu-sp li:nth-of-type(1){background: #83bd56;}
	.csr2-menu-sp li:nth-of-type(2){background: #efa73d;}
	.csr2-menu-sp li:nth-of-type(3){background: #77b3be;}
	.csr2-menu-sp li:nth-of-type(4){background: #ee9c98;}
	.csr2-menu-sp li:nth-of-type(5){background: #9d8bc1;}

	.csr2-menu-sp .active{display: none;}

	.csr2-wrap{
		font-size: 1.8vw;
		margin-top: 10vw!important;
	}

	.food .csr2-wrap.mb3{
		z-index: -1;
	}

	.csr2-wrap .csr2-wrap-ch{
		width: 50%;
		left: 25%;
		margin-top: 0!important;
	}
	.csr2-wrap-flex{ display: block;}
	
	.csr2-wrap-flex-text{
		width: 100%;
		margin: 0 auto;
	}

	.csr2-wrap-flex img{
		width: 60%;
		margin: 0 auto;
		display: block;
	}

	.csr2-readtext.fs18{
		font-size: min(4vw,20px);
		margin-top: 7vw;
		margin-bottom: 3vw;
	}

	.neko01::before{ width: 25%; z-index: 2;}
	.neko02::before{ width: 25%; bottom: -16vw; right: 1em;}
	.neko03::before{ width: 25%; left: 1em;}
	.neko05::before{ width: 25%; bottom: 0; right: -3vw;}
	.neko06::before{ width: 25%; bottom: 0; right: -3vw;}
	.neko04::before{ width: 25%; transform: rotate(-90deg); top: -15vw;}
	.neko04::after { width: 25%; transform: rotate(-90deg); top: 0;}


	@keyframes nozoki {
		0% ,93%,100%  { transform: rotate(-90deg) translateX(0); }
		2%,15%,33%,40% { transform: rotate(-90deg)  translateX(15%); }
		17%,21%,25%,29% { transform: rotate(-90deg)  translate(15%,2%); scale: (1.05,0.95); }
		19%,23%,27%,31% { transform: rotate(-90deg)  translate(15%,-2%); scale: (0.95,1.05);}
		45%,90% { transform: rotate(-90deg)  translateX(66%); }
	}

	.csr2-linkbtn{ font-size: min(4vw,20px); margin: 4vw auto 0;}

	.csr2-wrap h2{ font-size: min(7vw,32px); margin-bottom: 1em;}

	.csr2-readtext{ font-size: min(4vw,16px);}

	.csr2-flex02.fs20{
		display: block;
		font-size: min(4.6vw,20px);
	}

	.ht{ font-size: min(5.7vw,24px);}

	.csr2-flex02 .csr2-flexbox48{ width: 100%; margin-bottom:3vw!important; padding: 1.5em 1em;}

	.csr2-flex02 .big{font-size: 200%;}

	.csr2-flex02 .single{ padding: 0;}

	.csr2-img{ right: -5vw; top: 1em;}

	.scroll-wrap-sp{
		position: relative;
		width: 100%;
		overflow: scroll;
	}
	.scroll-nav{
		content: "";
		position: absolute;
		width: 15vw;
		aspect-ratio: 1/1;
		left: 50%;
		top: 60%;
		transform: translate(-50%,-50%);
		background: url(../img/scroll-nav-sp.svg)no-repeat center / contain;
		opacity: 0.5;
		transition: ease 0.5s;
	}
	.scroll-nav.active{ opacity: 0;}


	.scroll-wrap-sp .csr2-table{
		font-size: min(4vw,16px);
		width: 50em;
	}

	.csr2-table .sub{
		font-size: 12px;
		white-space: nowrap;
	}

	.csr2-bar{ margin: 6vw 0 0;}

	.recycle .mt2{ font-size: min(4vw,24px);}

	.csr2-flex02{ display: block;}

	.food .csr2-flex02 div{width: 100%; margin-bottom: 5vw!important;}


	.courier-table01 tr,
	.courier-table01 tr th,
	.courier-table01 tr td{
		display: block;
	}

	table.courier-table01:not(.table-styleNone):not(.is-original):not(.table-form) > tbody > tr > th{
		width: 100%!important;
	}

	.courier-table01 tr td{
		border-top: none!important;
		text-align: center;
	}

	.courier-table01 tr td br{
		display: block;
	}

}


/* 食の安全追加 */

.l-footer__nav li:nth-of-type(3) ul.sub-menu{
	margin-top: 20px;
}

.food_safety h2{
	font-size: 40px;
	letter-spacing: 0.1em;
	line-height: 1.2;
	background: #40b15e;
	color: #fff;
	text-align: center;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 0.5em 0 0.6em;
	margin-bottom: 0.8em;
}

.food_safety h3{
	font-size: 24px;
	color: #40b15e;
	border-top: 2px solid #40b15e;
	border-bottom: 2px solid #40b15e;
	padding: 0.6em 0.7em 0.65em;
	background: rgba(255, 255, 255, 0.7);
	margin-top: 3em;
}

.food_safety h3:first-of-type{
	margin-top: 0;
}

.food_safety h4{
	font-size: 20px;
	margin-top: 2em;
	border-left: 4px solid #40b15e;
	padding-left: 0.5em;
	padding-bottom: 0.1em;
	line-height: 1.5;
}

.food_safety p{
	margin-top: 0.7em;
}

.food_safety .linkbtn01{
	font-size: 16px;
	font-weight: 600;
	background: #40b15e;
	color: #fff;
	padding: 0.7em 1em 0.8em;
	display: block;
	text-align: center;
	width: 7em;
	margin-left: auto;
	margin-bottom: 1em;
	border-radius: 0.3em;
}

.food_safety .wrap{
	border: solid #999 1px;
	display: inline-block;
	padding: 1em 1.2em;
	margin-top: 1em;
}

.food_safety .wrap p{
	margin-top: 0.3em;
}

.food_safety .wrap p:first-of-type{
	margin-top: 0;
}

.food_safety .wrap p a{
	color: #40b15e;
}

.food_safety .flex{
	width: 90%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 30px auto 0;
}

.food_safety .flex img{
	width: 50%;
	padding: 0 5%;
}

.food_safety .linkbtn02{
	font-size: 16px;
	font-weight: 600;
	background: #40b15e;
	color: #fff;
	padding: 0.7em 1em 0.8em;
	display: block;
	text-align: center;
	width: 12em;
	margin: 0 auto;
	margin-top: 1.5em;
	border-radius: 0.3em;
}

.food_safety .flow-img{
	width: 80%;
	height: auto;
	margin-top: 20px;
	display: block;
	margin: 30px auto 0;
}

.food_safety .flex{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: normal;
}

.food_safety .flex .imgbox{
	width: 50%;
	height: auto;
	background: url(../img/food_safety-img02.webp)no-repeat center / cover;
}

.food_safety .flex p{
	width: 46%;
	margin: 1em 0;
	line-height: 1.8;
	text-align: justify;
}

@media screen and (max-width: 639px){
	.food_safety h2{
		font-size: 24px;
	}

	.food_safety h3{
		font-size: 20px;
	}
	.food_safety .flex{
		flex-wrap: wrap;
		margin: 0 auto;
	}

	.food_safety .flex img{
		width: 100%;
		margin-top: 2em!important;
	}

	.food_safety .flex .imgbox{
		width: 100%;
		height: 56vw;
		margin-top: 1em;
	}

	.food_safety .flex p{
		width: 100%;
		margin: 1em 0 0 0;
	}
}

.sub-menu li a {
  white-space: pre-line;
}