@charset "utf-8";
body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #2F2F2F;
	margin: 0;
	padding: 0;
	letter-spacing: 0.02em;
	font-feature-settings: "palt";
}
.pc{ display: block; }
.sp{ display: none; }

#kv {
	width: 100%;
	text-align: center;
}
	#kv h1 {
		margin: 0 auto;
        width: 100%;
        font-size: 0;
	}
	#kv .kvcopy {
		width: 100%;
		background: linear-gradient(180deg, #007A4D -2.54%, #00613E 20.03%, #00613E 81.7%, #007A4D 104.72%);
		color: #FFF;
		text-align: center;
		font-size: 24px;
		font-style: normal;
		line-height: 38px;
		padding: 20px 0;
	}
	#kv h1 picture {
        width: 100%;
        position: relative;
	}
	#kv h1 img {
		width: 100%;
		height: auto;
	}

#content {
	background-color:#E6F1D0;
	padding: 0;
	width: 100%;
}
	.contents__inner {
		max-width: 1100px;
		margin: 0 auto;
		padding: 1px 20px 50px 20px;
	}

.section-nav {
    padding: 40px 0;
    text-align: center;
	max-width: 1100px;
    margin: 0 auto;
}
.section-title {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 30px;
}
.nav-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}
.nav-item-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
    color: inherit;
    min-width: 0;
}
	.nav-item-wrap:hover {
		text-decoration: none;
		color: #028848;
	}

.nav-box {
    border: 4px solid #55C500;
    border-radius: 10px;
    padding: 20px;
    text-align: left;
    position: relative;
    background: #F7F8F9;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}
	.nav-box h3 {
		font-size: 1.05rem;
		margin-bottom: 10px;
		font-weight: bold;
		text-align: center;
		white-space: nowrap;
		overflow: hidden;
		color: #1B1B1B;
	}
	.nav-box p {
		font-size: 0.85rem;
		color: #666;
		text-align: left;
		margin: 0;
		line-height: 1.5;
	}
		.nav-box p.img {
			margin: 10px 0 0 0;
		}
			.nav-box p.img img {
				width: 100%;
			}

.nav-arrow {
    margin-top: 10px;
    text-align: center;
    position: relative;
    width: 35px;
    height: 20px;
    margin-left: auto;
    margin-right: auto;
    transition: transform 0.3s ease;
}
	.nav-arrow::before,
	.nav-arrow::after {
		content: "";
		display: block;
		position: absolute;
		width: 25px;
		height: 4px;
		background: #55C500;
		border-radius: 4px;
		bottom: 5px;
	}
	.nav-arrow::before {
		transform: rotate(35deg);
		right: 50%;
		transform-origin: right center;
		margin-right: -1px;
	}
	.nav-arrow::after {
		transform: rotate(-35deg);
		left: 50%;
		transform-origin: left center;
		margin-left: -1px;
	}

/* Hover Animation */
.nav-item-wrap:hover .nav-arrow {
    transform: translateY(5px);
}
.nav-item-wrap:hover .nav-box {
    opacity: 0.8;
}

/* Category Sections */
.section-category {
    padding: 60px 0 20px 0;
}
.category-header {
    text-align: center;
    margin-bottom: 30px;
}
	.category-header p.fb {
		font-weight: 600;
	}
	.category-header p:first-child {
		font-size: 20px;
		line-height: 30px;
		margin-top: 5px;
	}
	.category-header p:nth-child(2) {
		font-size: 20px;
		line-height: 30px;
		margin-top: 15px;
	}

.imageillust {
	margin: 0 auto 40px auto;
    text-align: center;
	max-width: 640px;
	filter: drop-shadow(0 0 2.999px rgba(0, 0, 0, 0.25));
}
.ribbon{
    margin: 10px auto;
    background: #028848;
    display: table;
    -webkit-clip-path: polygon(0% 0%, 100% 0%, calc(100% - 50px) 50%, 100% 100%, 0% 100%, 50px 50%);
    clip-path: polygon(0% 0%, 100% 0%, calc(100% - 30px) 50%, 100% 100%, 0% 100%, 30px 50%);
    padding: 15px 100px;
}

.goods-cont {
	background-color: #fff;
	max-width: 1100px;
	margin: 0 auto;
	border-radius: 10px;
}
.subsection-title {
    background: #2E8B57;
    color: #fff;
    padding: 15px 20px 12px 20px;
    margin-bottom: 30px;
    font-size: 1.2rem;
    text-align: center;
	border-radius: 10px 10px 0 0;
}

/* Products */
.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
	padding: 10px 40px 40px 40px;
    margin-bottom: 40px;
}
.product-grid2{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    padding: 10px 40px 40px 40px;
    margin-bottom: 40px;
}
@media (min-width: 769px){
  .product-grid.product-grid--2top3bottom{
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-auto-flow: row;
  }
  .product-grid.product-grid--2top3bottom > .product-card{
    grid-column: span 2;
  }
  .product-grid.product-grid--2top3bottom > .product-card:nth-child(1){
    grid-column: 2 / span 2;
  }
  .product-grid.product-grid--2top3bottom > .product-card:nth-child(2){
    grid-column: 4 / span 2;
  }
}

.product-card-pickup {
    background: #fff;
    border-radius: 15px;
    overflow: visible;
    display: flex;
    flex-direction: column;
    height: 100%;
	position: relative;
}
.product-card {
    background: #fff;
    border-radius: 15px;
    overflow: visible;
    display: flex;
    flex-direction: column;
    height: 100%;
	position: relative;
}
.product-card2{
	background: #E6F1D0;
	border-radius: 15px;
	padding: 26px;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: 35% 1fr;
	gap: 22px;
	align-items: stretch;
	position: relative;
}
	.product-card .balloon,
	.product-card2 .balloon,
	.product-card-pickup .balloon {
		position: absolute;
		z-index: 5;
		width: auto;
		pointer-events: none;

		opacity: 0;
		transform: translateY(12px);
		transition: opacity .65s ease, transform .65s ease;
		will-change: opacity, transform;
		filter: drop-shadow(2px 4px 4px rgba(0, 0, 0, 0.25));
	}
		.product-card .balloon img,
		.product-card2 .balloon img,
		.product-card-pickup .balloon img {
			display: block;
			width: auto;
			height: 70px;
		}

	.product-card.is-inview .balloon,
	.product-card2.is-inview .balloon,
	.product-card-pickup.is-inview .balloon {
	  opacity: 1;
	  transform: translateY(0);
	}
	@media (prefers-reduced-motion: reduce){
	  .product-card .balloon,
	  .product-card2 .balloon,
	  .product-card-pickup .balloon {
		transition: none;
		opacity: 1;
		transform: none;
	  }
	}

	.product-card .balloon.ps01 {
		top: -40px;
		left: -30px;
	}
	.product-card .balloon.ps02 {
		top: -40px;
		right: -30px;
	}
	.product-card2 .balloon.ps01 {
		top: -40px;
		left: -30px;
	}
	.product-card-pickup .balloon.ps01 {
		top: -55px;
		left: -30px;
	}
	@media (max-width: 768px){
		.product-card .balloon img, .product-card2 .balloon img, .product-card-pickup .balloon img {
			height: 2.8rem;
			width: auto;
			display: inline-block;
		}
		.product-card .balloon.ps01 {
			top: -2.2rem;
			right: -0.8rem;
			left: inherit;
			width: auto;
		}
		.product-card .balloon.ps02 {
			top: -1.5rem;
			right: -0.8rem;
			width: auto;
		}
		.product-card2 .balloon.ps01 {
			top: -2rem;
			right: -0.8rem;
			left: inherit;
			width: auto;
		}
		.product-card-pickup .balloon.ps01 {
			top: -2rem;
			right: -0.8rem;
			left: inherit;
			width: auto;
		}
	}

	.product-card-pickup .product-img {
		display: flex;
		align-items: center;
		justify-content: center;
		color: #999;
		padding: 20px 20px 0 20px;
		background: #053490;
		border-radius: 15px 15px 0 0;
	}
	.product-card .product-img {
		display: flex;
		align-items: center;
		justify-content: center;
		color: #999;
		padding: 20px 20px 0 20px;
		background: #E6F1D0;
		border-radius: 15px 15px 0 0;
	}
		.product-img img {
			width: 100%;
		}
		.product-card2 .product-img img{
			max-width: 100%;
			max-height: 100%;
			height: auto;
			object-fit: contain;
			display: block;
		}
	.product-card-pickup .product-info {
		padding: 10px 20px 45px 20px;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		background: #053490;
		position: relative;
		border-radius: 0 0 15px 15px;
	}
	.product-card-pickup .product-info.pb20 {
		padding: 10px 20px 20px 20px;
	}
		.product-card-pickup .product-info .catch {
			font-size: 0.8rem;
			margin-bottom: 5px;
			min-height: 2.4em;
			background: #053490;
			color: #fff;
			padding: 5px 10px;
			display: flex;
			align-items: center;
		}
		.product-card-pickup .product-info h4 {
			font-size: 1rem;
			margin-bottom: 10px;
			min-height: 2em;
		}

	.product-card .product-info {
		padding: 0 20px 45px 20px;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		background: #E6F1D0;
		position: relative;
		border-radius: 0 0 15px 15px;
	}
	.product-card2 .product-info {
		padding: 0 0 30px 0;
		flex-grow: 1;
		display: flex;
		flex-direction: column;
		background: #E6F1D0;
		position: relative;
	}
		.product-card .product-img .catch,
		.product-card2 .product-img .catch,
		.product-card .product-info .catch,
		.product-card2 .product-info .catch {
			font-size: 0.9rem;
			margin-bottom: 5px;
			min-height: 2.4em;
			background: #028848;
			color: #fff;
			padding: 5px 10px;
			display: flex;
			align-items: center;
		}

		.product-card .product-info .catch.mh {
			min-height: 4.2em;
		}
		.product-card .product-img .catch.sp,
		.product-card2 .product-img .catch.sp {
			display: none;
		}
		.product-card .product-info h4,
		.product-card2 .product-info h4 {
			font-size: 1rem;
			margin-bottom: 10px;
			min-height: 2em;
		}
	.product-card-pickup .price,
	.product-card .price,
	.product-card2 .price {
		font-size: 1rem;
		font-weight: bold;
		text-align: right;
		margin-bottom: 2px;
		margin-top: auto;
	}
	.product-card-pickup .price-val {
		font-size: 2.5rem;
		color: #333;
		font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, 'sans-serif';
		font-weight: 900;
	}
	.product-card-pickup a.btn-detail {
		display: block;
		text-align: center;
		color: #053490;
		font-size: 20px;
		padding: 5px 10px 8px 10px;
		border-radius: 4px;
		font-weight: bold;
		background: #fff;
	}
		.product-card-pickup a.btn-detail:hover {
			text-decoration: none;
		}
	.product-card-pickup a.btn-mov,
	.product-card-pickup a.btn-mov2 {
		display: inline;
		margin: 0 auto;
		text-align: center;
		font-size: 13px;
		color: #fff;
		border-bottom: 1px solid #fff;
		position: absolute;
		left: 50%;
		bottom: 15px;
		transform: translateX(-50%);
		padding: 0 0 1px 0;
		width: auto;
	}
		.product-card-pickup a.btn-mov:hover,
		.product-card-pickup a.btn-mov2:hover {
			text-decoration: none;
			color: #CCD6EC;
			border-bottom: 1px solid #CCD6EC;
		}

	.product-card .price-val,
	.product-card2 .price-val {
		font-size: 1.8rem;
		color: #333;
		font-family: 'Helvetica Neue', Helvetica, Roboto, Arial, 'sans-serif';
		font-weight: 900;
	}
	.product-card a.btn-detail,
	.product-card2 a.btn-detail {
		display: block;
		text-align: center;
		color: #fff;
		font-size: 20px;
		padding: 5px 10px 8px 10px;
		border-radius: 4px;
		font-weight: bold;
		background: #028848;
	}
		.product-card a.btn-detail:hover,
		.product-card2 a.btn-detail:hover {
			text-decoration: none;
		}

	.product-card a.btn-mov,
	.product-card a.btn-mov2 {
		display: inline;
		margin: 0 auto;
		text-align: center;
		font-size: 13px;
		color: #333;
		border-bottom: 1px solid #333;
		position: absolute;
		left: 50%;
		bottom: 15px;
		transform: translateX(-50%);
		padding: 0 0 1px 0;
		width: auto;
		white-space: nowrap;
	}
	.product-card2 a.btn-mov {
		display: inline;
		margin: 0 auto;
		text-align: center;
		font-size: 13px;
		color: #333;
		border-bottom: 1px solid #333;
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(-50%);
		padding: 0 0 1px 0;
		width: auto;
		white-space: nowrap;
	}
	.product-card a.btn-mov span, .product-card2 a.btn-mov span, .product-card-pickup a.btn-mov span {
		display: inline;
	}
	.product-card a.btn-mov span img, .product-card2 a.btn-mov span img, .product-card-pickup a.btn-mov span img {
		display: none;
	}
		.product-card a.btn-mov:hover,
		.product-card a.btn-mov2:hover,
		.product-card2 a.btn-mov:hover {
			text-decoration: none;
			color: #028848;
			border-bottom: 1px solid #028848;
		}

.store-search-banner {
    text-align: center;
    margin-top: 40px;
}
.btn-store-search {
	display: inline-block;
    color: #fff;
    font-size: 1.5rem;
    border-radius: 50px;
    font-weight: bold;
    filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.25));
}
	.btn-store-search img {
		width: 88%;
	}

#bnr {
    padding: 40px 0;
    text-align: center;
    background: #fff;
	color: #000;
}
	#bnr .bnr-ttl {
		position: relative;
		display: inline-block;
	}
	#bnr .bnr-ttl p {
		position: relative;
		font-size: 35px;
		font-weight: 600;
		z-index: 1;
		padding: 0 10px;
	}
	#bnr .bnr-ttl::after {
		content: "";
		border-bottom: 10px solid #48CBFF;
		width: 100%;
		height: 10px;
		display: block;
		position: absolute;
		bottom: 0;
		z-index: 0;
	}
	#bnr .bnr-btn {
		max-width: 1100px;
		margin: 35px auto 0 auto;
	}
		#bnr .bnr-btn img {
			width: 100%;
			height: auto;
			border-radius: 10px;
			box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.25);
		}


@media only screen and (max-width: 1160px) {
	.ribbon img {
		width: 100%;
	}
}

/* Responsive */
@media (max-width: 768px) {
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	#kv .kvcopy {
		font-size: 1.1rem;
		line-height: 1.8rem;
		padding: 0.8rem 0;
	}
	.contents__inner {
		padding: 0 0.5rem 2rem 0.5rem;
	}
	.section-nav {
		padding: 1.6rem 0.6rem 0.8rem;
	}
	.category-header p:first-child {
		font-size: 1.0rem;
		line-height: 1.6rem;
		font-weight: 400;
	}
	.category-header p.fb {
		font-size: 1.1rem;
		font-weight: 600;
	}
	.category-header p:nth-child(2) {
		font-size: 1.0rem;
		line-height: 1.6rem;
		font-weight: 400;
		margin-top: 0.4rem;
	}
    .section-title {
        font-size: 1.5rem;
		margin-bottom: 0.6rem;
    }
		.section-title picture {
			width: 100%;
		}
		.section-title img {
			width: 60%;
			height: auto;
		}
	.nav-box {
		padding: 0.8rem 1rem 0.6rem 1rem;
	}
	.nav-box h3 {
		white-space: initial;
		min-height: calc(1.3em * 2);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.nav-box p.img {
		margin: 10px 0px 0px;
		margin-top: auto;
		padding-top: 10px;
	}
    .nav-grid {
        grid-template-columns: 1fr 1fr;
		gap: 0.5rem;
    }
	
	.ribbon {
		margin: 0.5rem auto 1.2rem auto;
		-webkit-clip-path: polygon(0% 0%, 100% 0%, calc(100% - 50px) 50%, 100% 100%, 0% 100%, 50px 50%);
		clip-path: polygon(0% 0%, 100% 0%, calc(100% - 1rem) 50%, 100% 100%, 0% 100%, 1rem 50%);
		padding: 0.6rem 1.6rem 0.2rem;
	}
	.section-category {
		padding: 1.2rem 0 1rem 0;
	}
	.category-header {
		margin-bottom: 1rem;
	}
	.imageillust {
		margin: 0 auto 1.4rem auto;
	}
		.imageillust img {
			width: 80%;
			height: auto;
		}
	.subsection-title {
		padding: 0.6rem 0 0.4rem 0;
		margin-bottom: 1.5rem;
		font-size: 1.2rem;
	}
		.subsection-title img {
			height: 1.2rem;
		}
	
    .product-grid {
        grid-template-columns: 1fr 1fr;
        gap: 1.5rem 0.6rem;
        /*gap: 10px;*/
		padding: 0 0.7rem 1rem 0.7rem;
		margin-bottom: 1.6rem;
    }
		.product-grid > .product-card.one {
			grid-column: 1 / -1;
		}
		.product-grid > .product-card-pickup {
			grid-column: 1 / -1;
		}
		.product-card.one {
			flex-direction: initial;
		}
		.product-card.one .product-img,
		.product-card2.one .product-img{
			width: 50%;
			border-radius: 15px 0 0 15px;
			padding: 0.8rem 0 0.8rem 0.8rem;
			display: block;
			font-size: 0;
		}
		.product-card.one .product-info,
		.product-card2.one .product-info{
			width: 50%;
			padding: 0.8rem 0.8rem 0.8rem 0.8rem;
			border-radius: 0 15px 15px 0;
		}
	.product-grid2 {
		grid-template-columns: 1fr 1fr;
        gap: 1.5rem 0.6rem;
        /*gap: 10px;*/
		padding: 0 0.7rem 1rem 0.7rem;
		margin-bottom: 1.6rem;
	}
		.product-grid2 > .product-card-pickup {
			grid-column: 1 / -1;
		}
		.product-grid2 > .product-card2.one {
			grid-column: 1 / -1;
			padding: 0;
			display: inline-flex;
		}
	.product-card2 {
		grid-template-columns: initial;
		padding: 0.8rem;
		gap: 0;
	}
    .product-card .price-val {
		font-size: 2.5rem;
		color: #333;
    }
    .btn-store-search {
        width: 100%;
        padding: 0;
        font-size: 1.2rem;
    }
	.product-card .product-img {
		padding: 0.6rem 0.6rem 0 0.6rem;
	}
	.product-card .product-img .catch,
	.product-card2 .product-img .catch {
		font-size: 0.65rem;
		min-height: 2.4em;
		padding: 5px 7px;
	}
	.product-card .product-info {
		padding: 0 0.6rem 0.6rem 0.6rem;
	}
		.product-card .product-info.btm0 {
			padding: 0 0.6rem 0.6rem 0.6rem;
		}
	.product-card .product-info .catch,
	.product-card2 .product-info .catch {
		font-size: 0.65rem;
		min-height: 2.4em;
		padding: 5px 7px;
		display: flex;
		align-items: center;
	}
		.product-card .product-info .catch.pc,
		.product-card2 .product-info .catch.pc {
			display: none;
		}
		.product-card .product-img .catch.sp,
		.product-card2 .product-img .catch.sp {
			display: inline-block;
		}
	.product-card .product-info .catch.mh {
		min-height: auto;
	}
	.product-card2 .product-info {
		padding: 0;
	}
	.product-card .product-info h4,
	.product-card2 .product-info h4 {
		font-size: 0.8rem;
		margin-bottom: 0;
		min-height: initial;
		font-weight: 600;
	}
	.product-card a.btn-detail,
	.product-card2 a.btn-detail {
		font-size: 0.8rem;
		padding: 0.5rem 0 0.4rem 0;
	}
	.product-card-pickup .price,
	.product-card .price,
	.product-card2 .price {
		font-size: 0.6rem;
	}
	.product-card a.btn-mov,
	.product-card2 a.btn-mov {
		border-radius: 4px;
		font-weight: bold;
		background: #028848;
		color: #fff;
		font-size: 0.8rem;
		padding: 0.5rem 0 0.4rem 0;
		left: initial;
		position: relative;
		border: initial;
		transform: initial;
		bottom: initial;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin: 0.3rem auto 0 auto;
	}
	.product-card a.btn-mov2 {
		position: relative;
		left: initial;
		bottom: initial;
		transform: initial;
		font-size: 0.75rem;
		padding: 0.6rem 0 0 0;
	}
	.product-card a.btn-mov span.pc,
	.product-card2 a.btn-mov span.pc,
	.product-card-pickup a.btn-mov span.pc{
		display: none;
	}
	.product-card a.btn-mov span, .product-card2 a.btn-mov span, .product-card-pickup a.btn-mov span {
		display: inline;
	}
	.product-card a.btn-mov span img, .product-card2 a.btn-mov span img, .product-card-pickup a.btn-mov span img {
		display: inline;
	}
	.product-card a.btn-mov .arrow img,
	.product-card2 a.btn-mov .arrow img,
	.product-card-pickup a.btn-mov .arrow img {
		width: 105%;
		margin-left: 0.3rem;
	}
	.product-card-pickup a.btn-mov .arrow {
		line-height: 0;
	}
		.product-card a.btn-mov:hover,
		.product-card2 a.btn-mov:hover {
			color: #fff;
			border-bottom: none;
		}
	.product-card .price-val {
		font-size: 1.8rem;
	}
	.product-card-pickup .product-info {
		padding: 10px 20px 20px 20px;
	}
	.product-card-pickup a.btn-mov {
		text-align: center;
		color: #053490;
		font-size: 20px;
		padding: 5px 0 8px 0;
		border-radius: 4px;
		font-weight: bold;
		background: #fff;
		border-bottom: none;
		position: relative;
		left: initial;
		bottom: initial;
		transform: initial;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0.3rem auto 0 auto;
	}
		.product-card-pickup a.btn-mov:hover {
			border-bottom: none;
			color: #053490;
		}
	.store-search-banner {
		margin-top: 0;
	}
	
	#bnr {
		padding: 1.2rem 0 1.5rem 0;
	}
		#bnr .bnr-ttl p {
			font-size: 1.2rem;
		}
		#bnr .bnr-btn {
			width: 90%;
			margin: 1.4rem auto 0 auto;
		}
}

/*@media (max-width: 480px) {
    .product-grid {
        grid-template-columns: 1fr;
    }
}*/