@charset "utf-8";
:root {
	--theme-color: #f00;/*テーマカラー　今回は設定なし*/
	--font-color: #1a1a1a;/*フォント色*/
	--link-color: #00f;/*リンク　今回は設定なし*/
	--footer-bg-color: #f2f2ea;/*フッター背景色*/
	--footer-border-color: #cfcfcf;/*フッターボーダー色*/
	--bg-color: #f2f2ea;/*背景色*/
	--main-font: "Shippori Mincho", serif;/*メインフォント ress.cssでデって済みですが、予備的に設定*/
	--heading-font-jp: "Shippori Mincho", serif;/*見出しフォント*/

	--heading-font-en: "Poppins", sans-serif;
	--heading-color: #1a1a1a;
	--section-padding-pc: 110px 0;/*PC時のセクション内部余白*/
	--section-padding-sp: 50px 0;
	--header-color: transparent;/*ヘッダー背景色*/
	--header-active-color: rgba(2,172,243,.9);/*スクロールした後のヘッダー背景色*/
	--header-height: 80px;/*アンカーリンクの調整*/
	--boder-color: #cfcfcf;
}

/*リキャプチャ設定*/
.grecaptcha-badge { visibility: hidden; }

.recaptcha_description {
	text-align: center;
}

body {
	color: var(--font-color);
	background-color: var(--bg-color);
	font-family: var(--main-font);
	font-weight: 400;
}

body.is_fixed {
	overflow: hidden;
}

h2 {
	color: var(--heading-color);
}

.heading_h2_en h2 {
	font-family: var(--heading-font-en);
	letter-spacing: 0.3rem;
}

.heading_h2_jp {
	margin-bottom: 60px;
}

.heading_h2_jp h2 {
	font-family: var(--heading-font-jp);
	font-weight: 600;
}

.heading_h2_jp h2 span {
	display: inline-block;
}

.heading_h2_jp > span {
	font-family: var(--heading-font-en);
	color: #dc422e;
	font-weight: 600;
	font-size: 1.8rem;
}


.anchor {
	
	padding-top: 82px;
	margin-top: -82px;
}

.row_reverse {
	flex-direction: row-reverse;
}

.top_section {
	overflow: hidden;
}

.top_section,
.subpage_section,
.slider2_wrap,
.shop_banner {
	/* margin-bottom: 150px; */
	margin-bottom: 100px;
}

.inner {
	max-width: 1235px;
	padding: 0 17.5px;
	margin: 0 auto;
}



/* .wrapper.is-active {
	overflow: auto;
	scrollbar-gutter: stable;
} */


/*header*/
header.open::after {
	transform: translateX(-100%);
}

/* haeder::after {
	content: '';
	display: block;
	width: 100%;
	height: 102px;
	background: rgba(255,255,255, .8);
	position: fixed;
	right: -100%;
	top: 0;
	transition: .3s;
	z-index: 30;
} */

.header_top {
	position: sticky;
	top: 0;
	z-index: 50;
}

.header_inner,
.gnav_header {
	width: 95%;
	margin: 0 auto;
	/* padding: 20px 0; */
	padding: 10px 0;
	display: flex;
	justify-content: space-between;
}

.header_inner {
	align-items: center;
}

.logo {
	/* width: 160px; */
	width: 120px;
	line-height: 1;
}

.header_right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	row-gap: 10px;
	font-size: 1.4rem;
	font-weight: 600;
	position: relative;
}

.header_right a {
	text-decoration: none;
	color: var(--font-color);
}

.uppercase {
	text-transform: uppercase;
}

.header_tel {
	letter-spacing: 0.18rem;
}


.header_right_bottom,
.hader_sns {
	display: flex;
	align-items: center;
}

.header_right_bottom nav {
	display: none;
}

.header_right_bottom,
.header_right_bottom nav ul {
	/* column-gap: 40px; */
	column-gap: 20px;
}

.header_right_bottom nav ul {
	align-items: center;
}

.hader_sns {
	column-gap: 15px;
	margin-right: 45px;
}

.hader_sns img {
	width: 30px;
}

.logo a,
.hader_sns a {
	transition: .3s;
	display: inline-block;
}

.logo a:hover,
.logo a:focus-visible,
.hader_sns a:hover,
.hader_sns a:focus-visible {
	opacity: .8;
}

/*ハンバーガー*/
main {
	/* position: relative;
	z-index: 1;
	background: var(--bg-color); */
	padding-bottom: 50px;
	margin-top: max(60px, min(80px, 4.2vw));
}



/*メイン画像スライドショー（SP）*/
.mv {
	position: relative;
}

.slider1 img {
	width: 100%;
}

.swiper_slide a:hover,
.swiper_slide a:focus-visible {
	opacity: .8;
}

.swiper-pagination-fraction, .swiper-pagination-custom, .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
	top: auto;
	bottom: 25px;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: #dc422e;
	opacity: 1;
}

.swiper-pagination-bullet {
	background: #dddddd;
	opacity: 1;
}
/*top about*/
.about_container {
	width: 95%;
	max-width: 610px;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.top_about .inner {
	position: relative;
	padding-bottom: 140px;
}

.top_about .inner::before {
	content: '';
	width: 180px;
	height: 137px;
	background: url(../img/top_section1_img.webp) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 5vw;
	margin-top: 30px;
}

.rl_mode_wrapper {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	margin: 0 auto;
}


.eyecatch,
.about_description {
	
	margin: 0 auto;
	letter-spacing: 0.2em;
}

.eyecatch > span,
.about_description span {
	display: block;
}

.eyecatch {
	margin-bottom: 60px;
	font-size: clamp(26px, 2.5vw,44px);
}

.about_description {
	line-height: 2;
	opacity: 0;
	font-size: 1.4rem
}

.about_description.active {
	animation-name:blurAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
}

@keyframes blurAnime{
	from {
	filter: blur(10px);
	transform: scale(1.02);
	opacity: 0;
	}

	to {
	filter: blur(0);
	transform: scale(1);
	opacity: 1;
	}
}

.about_link_btn {
	margin-top: 30px;
	text-align: center;
}

.link_btn a,
.link_btn p {
	color: var(--font-color);
	text-decoration: none;
	display: inline-block;
	font-size: 1.6rem;
	font-weight: 600;
}

.link_btn a > div,
.feature_link_btn a > div,
.link_btn p  {
	display: flex;
	align-items: center;
	column-gap: 10px;
}



.about_link_btn a,
.feature_link_btn a {
	justify-content: center;
}

/*button*/
.arrow_right_white,
.arrow_right_red{
	position: relative;
	display: inline-block;
	width: 35px;
	height: 35px;
	overflow: hidden;
}

.arrow_right_white::after,
.arrow_right_red::after {
	content: '';
	width: 100%;
	height: 100%;
	border-radius: 50%;
	position: absolute;
	/* top: 50%;
	transform: translateY(-50%);
	left: 0; */
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	z-index: 1;
}

.arrow_right_white::after {
	background: #dc422e;
}

.arrow_right_red::after {
	background: #fff;
}

.arrow_right_white::before,
.arrow_right_red::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 50%;
	transform: translate(50%, -50%);
	background-size: contain;
	z-index: 2;
}

.submit_btn .arrow_right_red::before {
	top: 13px;
	right: 12px;
	transform: translate(0, 0);
}

.arrow_right_white::before {
	width: 10px;
	height: 8px;
	background: url(../img/link_arrow_white.svg) no-repeat center/contain;
}

.arrow_right_red::before {
	width: 11px;
	height: 9px;
	background: url(../img/link_arrow_red.svg) no-repeat center/contain;
}

.subpage_section .arrow_right_white.news_arrow {
	width: 25px;
	height: 25px;
}

.subpage_section .arrow_right_white.news_arrow::before {
	width: 8px;
	height: 6.4px;
}


.link_btn a:hover .arrow_right_white::before,
.shop_banner a:hover .arrow_right_red::before,
.news_list a:hover .arrow_right_white::before,
.contact_banner_inner a:hover .arrow_right_white::before,
.link_btn a:focus-visible .arrow_right_white::before,
.shop_banner a:focus-visible .arrow_right_red::before,
.news_list a:focus-visible .arrow_right_white::before,
.contact_banner_inner a:focus-visible .arrow_right_white::before,
.modal_link:hover .arrow_right_red::before {
	animation: arrow_right .5s ease-out 1 normal forwards;
}

.submit_btn button:hover .arrow_right_red::before,
.submit_btn button:focus-visible .arrow_right_red::before  {
	animation: arrow_right_submit .5s ease-out 1 normal forwards;
}

.back_btn a:hover .arrow_left_white::before,
.back_btn a:focus-visible .arrow_left_white::before {
	animation: arrow_left .5s ease-out 1 normal forwards;
}

@keyframes arrow_right {
	0% {
		right: 50%;
	}

	50% {
		right: -100%;
		opacity: 0;
	}

	51% {
		right: 100%;
		opacity: 0;
	}

	100% {
		right: 50%;
		opacity: 1;
	}
}

@keyframes arrow_right_submit {
	0% {
		right: 12px;
	}

	50% {
		right: -100%;
		opacity: 0;
	}

	51% {
		right: 100%;
		opacity: 0;
	}

	100% {
		right: 12px;
		opacity: 1;
	}
}

@keyframes arrow_left {
	0% {
		left: 50%;
	}
	50% {
		left: -100%;
		opacity: 0;
	}

	51% {
		left: 100%;
		opacity: 0;
	}

	100% {
		left: 50%;
		opacity: 1;
	}
}

/*line*/
.link_underline,
.link_underline_contact {
	background: linear-gradient(to top, #1a1a1a 0px, #1a1a1a 1.1px, transparent 1px) no-repeat right bottom;
	background-size: 100% auto;
}

.link_underline.white {
	background: linear-gradient(to top, #fff 0px, #fff 1.1px, transparent 1px) no-repeat right bottom;
	background-size: 100% auto;
}

.link_btn a:hover .link_underline,
.shop_banner a:hover .link_underline.white,
.contact_banner_inner ul li a:hover .link_underline_contact,
.back_btn a:hover .link_underline,
.prize_2col a:hover .link_underline,
.pize_1col a:hover .link_underline,
.submit_btn button:hover .link_underline
.link_btn a:focus-visible .link_underline,
.shop_banner a:focus-visible .link_underline.white,
.contact_banner_inner ul li a:focus-visible .link_underline_contact,
.back_btn a:focus-visible .link_underline,
.prize_2col a:focus-visible .link_underline,
.pize_1col a:focus-visible .link_underline,
.submit_btn button:focus-visible .link_underline {
	animation: line .5s ease-out 1 normal forwards;
}

@keyframes line {
	0% {
		background-position:  right bottom;
		background-size:  100% auto;
	}
	50% {
		background-size: 0%;
		background-position: right bottom;
	}
	50.1% {
		background-position:  left bottom;
		background-size: 0% auto;
	}
	100% {
		background-position: left bottom;
		background-size: 100% auto;
	}
}

/*TOPこだわり*/
.feature {
	display: flex;
	flex-direction: column;
	row-gap: 50px;
	width: 98%;
	margin: 0 auto;
	container-name: feature;
}

.feature figure {
	text-align: center;
}

.feature_img_wrap {
	display: inline-block;
	position: relative;
}

.feature_number {
	position: absolute;
	top: -14px;
	left: -14px;
	width: 50px;
	height: 50px;
}

.feature_number::after {
	content: '';
	width: 100%;
	height: 100%;
	background: #dc422e;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.feature_number::before {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-family: var(--heading-font-en);
	font-size: 26px;
	color: #fff;
	z-index: 2;
	font-weight: 600;
}

.num1::before {
	content: '01';
}

.num2::before {
	content: '02';
}

.num3::before {
	content: '03';
}

.feature figure,
.feature h3 {
	margin-bottom: 30px;
}

.feature h3 {
	text-align: center;
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.feature h3 span {
	display: block;
}

.feature_link_btn {
	margin-top: 60px;
	text-align: center;
}


/*swiper*/
.slider2_wrap {
	overflow: hidden;
}

.slider2 {
	overflow: hidden;
}

.slider2 .swiper-wrapper{
    transition-timing-function: linear;
}

.swiper_container_wrap {
	/* overflow: hidden; */
	width: 100%;
	display: flex;
	margin-top: 30px;
    max-width: 1200px;
}

.swiper-slide {
	width: 100%;
	/* margin-bottom: 30px; */
	text-decoration: none;
}


.slide_content img {
	width: 100%;
	aspect-ratio: 270/450;
	object-fit: cover;
	overflow: hidden;
}

[class*=swiper]:focus {
	outline: none;
}

.all_slide_controls {
	display: flex;
	align-items: center;
	column-gap: 20px;
}

.swiper-scrollbar.swiper-scrollbar-horizontal {
	position: relative !important;
	width: calc(100% - 100px) !important;
	left: 0 !important;
	bottom: auto !important;
}

.prev_next_button {
	display: flex;
	width: 100px;
	column-gap: 20px;
	justify-content: center;
	margin-left: auto;
	margin-top: 30px;
}

.swiper-button-prev,
.swiper-button-next {
	height: 50px !important;
	width: 50px !important;
	position: relative;
}

.pc-tab {
	display: none !important;
}


.swiper-button-prev::before,
.swiper-button-next::before {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: "";
	-webkit-box-shadow:#ddd;
	box-shadow: #ddd;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "" !important;
  height: 40px;
  margin: auto;
  width: 40px;
}

/* .swiper-button-prev:after {
	background: url(../img/slide_left_arrow.svg);
} */

/* .swiper-button-next:after {
	background: url(../img/slide_right_arrow.svg);
} */

/* .swiper-button-prev:hover:after {
	background: url(../img/slide_left_arrow_hov.svg);
} */

/* .swiper-button-next:hover:after {
	background: url(../img/slide_right_arrow_hov.svg);
} */

/* .swiper-button-prev::after,
.swiper-button-next::after {
	transform: rotate(0);
	border: none;
} */

/* .prev_next_button .swiper-button-prev,
.prev_next_button .swiper-button-next {
	position: relative;
	-webkit-flex-shrink: 0;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	margin: 0;
}

.prev_next_button .swiper-button-prev:hover,
.prev_next_button .swiper-button-next:hover {
	opacity: 0.8;
} */



/*商品紹介*/
.item_wrap:not(:last-child) {
	margin-bottom: max(60px, min(90px, 4.7vw));
}

.item_wrap h3 {
	font-size: 1.8rem; /*pc 22px*/
	padding-left: 35px;/*pc 45px*/
	margin-bottom: 30px;/*pc 40px*/
	position: relative;
}

.item_list {
	display: grid;
	grid-template-columns: 1fr;/*375以上 2,1fr 600px以上 3 1fr 1024px以上 5 1fr*/
	row-gap: 45px;
	column-gap: 20px; /*1280px以上 35px*/
}


.item_img {
	text-align: center;
	max-width: 600px; 
	margin: 0 auto 15px;
	border-radius: 20px;
	overflow: hidden;
}

.item_img img {
	transition: .3s;
}

.item_label,
.news_cat,
.tag {
	background: #99872e;
	display: inline-block;
	border-radius: 50px;
	padding: 2px 15px;
	color: #fff;
	font-size: 1.2rem;
}

.item_label {
	margin-bottom: 10px; /*pc 15px*/
}

.item_name_area {
	max-width: 600px;
	margin: 0 auto;
}

.modal_btn .item_name_area {
	text-align: left;
}

.item_name {
	font-weight: 800;
	font-size: 1.6rem;
	color: var(--font-color);
}

.product .item_name {
	line-height: 1.75;
}

.item_name span {
	display: block;
}

.item_list a {
	text-decoration: none;
}

.item_list a:hover img,
.item_list a:focus-visible img,
.item_list .modal_btn:hover img {
	transform: scale(1.1);
	overflow: hidden;
}

.item_list a:hover .item_name,
.item_list a:focus-visible .item_name,
.item_list .modal_btn:hover .item_name {
	color: #dc422e;
}

.item_wrap h3::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.new_item::before {
	width: 30px;
	height: 30px;
	background: url(../img/new_icon.svg) no-repeat center/contain;
}

.regular_item::before {
	width: 30px;
	height: 30px;
	background: url(../img/icon_regular.svg) no-repeat center/ contain;
}

.award_item::before {
	width: 30px;
	height: 35px;
	background: url(../img/ribbon_icon.svg) no-repeat center/ contain;
}

.gift_item::before {
	width: 30px;
	height: 30px;
	background: url(../img/gift_icon.svg) no-repeat center/contain;
}

.skin_care_item::before {
	width: 30px;
	height: 35px;
	background: url(../img/bottle_icon.svg) no-repeat center/contain;
}

/*生産者の声*/
.producer {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
	padding: 25px 0;
}

.producer li {
	width: calc(100% - 20px);
	max-width: 530px;
	padding: 40px 20px;
	position: relative;
	background: #efede1;
	border-radius: 40px;
	/* box-shadow: 0 0 10px rgba(204, 204, 204, .8); */
	box-shadow: 0px 0px 21px -5px rgba(0,0,0,0.6);
}

.producer figure {
	margin-bottom: 15px;/*pc 25px*/
	text-align: center;
}

.producer .tag {
	margin-bottom: 10px; /*pc 20px*/
}
.producer_name {
	margin-bottom: 20px; /*pc 30px*/
	font-size: 2rem; /*pc 2.4rem*/
	font-weight: 600;
	display: flex;
	flex-wrap: wrap;
	column-gap: 1.6rem;
	flex-direction: column;
}

.producer_name .role {
	font-size: 15px; /*pc 16px*/
}

.producer h3 {
	color: #dc422e;
	font-size: 2.2rem; /*pc 2.6rem*/
	margin-bottom: 20px; /*pc 40px*/
	border-bottom: 1px solid #dc422e;
	padding-left: 35px;
	background: url(../img/voice_icon.svg) no-repeat left center/ 25px;
}

.producer_wrap {
	max-width: 350px;
	margin: 0 auto;
}

.p_comment {
	font-size: 14px;
}

/*banner*/
.shop_banner a {
	display: block;
	position: relative;
	text-decoration: none;
}

.banner_link_txt {
	/* display: inline-block; */
	display: none;
	background: #dc422e;
	border-radius: 30px 0 0 0;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 10px 30px;
}

.banner_link_txt p {
	color: #fff;
	display: flex;
	column-gap: 15px;
	align-items: center;
	font-weight: 600;
}

.banner_wrap {
	overflow: hidden;
	
}

.shop_banner .banner_wrap img {
	transition: .3s;
}

.shop_banner a:hover .banner_wrap img,
.shop_banner a:focus-visible .banner_wrap img {
	transform: scale(1.1);
}


/*お知らせ*/
.news_list a {
	display: flex;
	width: 100%;
	column-gap: 10px;
	color: var(--font-color);
	text-decoration: none;
	padding: 20px 0;
}

.news_list a:hover,
.news_list a:focus-visible {
	background: rgba(239,239,239,.8);
}

.news_list a:hover .post_ttl,
.news_list a:focus-visible .post_ttl {
	color: #dc422e;
}

.news_list li:not(:last-child) a {
	border-bottom: 1px solid #d8d5c3;
}

.news_list a figure {
	display: none;
}

.news_list a figure img {
	border-radius: 10px;
}

.news_title_area {
	
	padding-right: 40px;
	position: relative;
	flex-basis: 100%;
}

.news_title_area > div {
	display: flex;
	column-gap: 10px;
	align-items: center;
	margin-bottom: 10px;/*pc 16px*/
}

.news_title_area time {
	font-size: 1.4rem;
}

.news_arrow {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	/* display: none; */
}

.top_news_left {
	display: contents;
}

.top_news .inner {
	display: grid;
	grid-template-columns: 1fr;
}

.top_news_left .heading_h2_jp {
	order: 1;
}

.top_news_left .news_link_btn {
	order: 3;
}

.top_news .news_list {
	order: 2;
	margin-bottom: 30px;
}

.news_link_btn a {
	justify-content: center;
}

.text_line_anime::after {
	content: '';
	display: inline-block;
	width: 100%;
	height: 1px;
	background: #dc422e;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	position: absolute;
	top: 100%;
	left: 0;
}

a:hover .text_line_anime::after,
a:focus-visible .text_line_anime::after {
	transform: scale(1, 1);
	transform-origin: left top;
}


/*トップ SNS*/
.text_line_anime {
	display: inline-block;
	position: relative;
}

.sns_left {
	display: contents;
}

.sns_left .heading_h2_jp {
	width: 100%;
}

.sns_description {
	width: 100%;
}

.top_sns .inner {
	/* display: grid; */
	grid-template-columns: 1fr;
	display: flex;
	flex-wrap: wrap;
}

.sns_left .heading_h2_jp {
	order: 1;
}

.facebook_wrapper {
	order: 3;
	max-width: 480px;
	width: 100%;
	text-align: center;
	margin: 0 auto;
}

.facebook_wrapper iframe {
	width: 100%;
}

.sns_description {
	order: 2;
	margin-bottom: 50px;
}

.sns_link_btn {
	order: 4;
	margin-top: 40px;
	display: inline-block;
}

.sns_link_btn .link_underline {
	/* flex-basis: calc(100% - 45px); */
	display: inline-block;
	max-width: calc(100% - 45px);
}


.facebook_wrapper > div {
	display: none;
}

.sns_link_btn .arrow_right_white {
	width: 35px;
	height: 35px;
}


/*お問い合わせバナー*/
.contact_ttl {
	padding-top: 40px;/*pc 50px*/
}

.contact_tell_ttl {
	background: url(../img/tel_icon.svg) no-repeat center top/ 25px/*pc 30px*/;
}

.contact_mail_ttl {
	background: url(../img/mail_icon.svg) no-repeat center top/ 25px/*pc 30px*/;
}

.contact_banner {
	overflow: hidden;
}

.contact_banner_bg {
	background: url(../img/contact_bg.webp) no-repeat center/ cover;
	position: relative;
	overflow: hidden;
	padding: min(230px, 18.62vw) 0 min(290px, 23.48vw);
}

.contact_banner_bg::before {
	content: '';
	width: 1920px;
	height: 239px;
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	background: url(../img/contact_mask.png) no-repeat center/ contain;
	overflow: hidden;
}

.contact_banner_inner {
	max-width: 935px;
	margin: 0 auto;
	padding: 0 17.5px;
}

.contact_banner_inner ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px
}

.contact_banner_inner ul li {
	width: 100%;
	margin: 0 auto;
	max-width: 400px;
	text-align: center;
	display: grid;
}

.contact_banner_inner ul li a {
	display: block;
	width: 100%;
	padding: 20px;
	background: rgba(255, 255, 255, .8);
	border-radius: 20px;
	color: var(--font-color);
	text-decoration: none;
	
}

/* .contact_banner_inner ul li a {
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 3;
} */

.contact_banner .heading_h2_jp {
	text-align: center;
	margin-bottom: min(190px, 15.83vw);
}

.contact_banner .heading_h2_jp h2,
.contact_banner .heading_h2_jp span {
	color: #fff;
}

.contact_ttl {
	font-weight: 600;
	letter-spacing: 2px;
	font-size: 1.8rem;
	margin-bottom: 15px; /*pc 30px*/
}

.contact_tel_num {
	text-decoration: none;
	color: var(--font-color);
	display: inline-block;
	margin-bottom: 5px;
	letter-spacing: 2px;
}

.contact_banner_inner p {
	line-height: 1.3;
}

.contact_banner_inner p small {
	font-size: 1.2rem;
	
}

.contact_link_btn.link_btn {
	font-size: 16px;
}

.contact_link_btn {
	justify-content: center;
	display: flex;
	align-items: center;
	column-gap: 10px;
}


/*---------------------------
	下層ページ
----------------------------*/
.inline_block {
	display: inline-block;
}

._inline_block_pc {
	display: inline;
}
/*美味しさへのこだわり*/
.article_h3 {
	text-align: center;
	margin-bottom: 40px; /*pc 80px*/
}

.article_h3 h3,
.prize_link_h3 h3 {
	display: inline-block;
	color: #dc422e;
	font-size: 1.8rem;/*pc 2.2rem*/
	position: relative;
	padding: 0 75px;
	line-height: 1.3;
	letter-spacing: 0.2rem;
}


.article_h3 h3::before,
.prize_link_h3 h3::before {
	content: '';
	display: inline-block;
	width: 50px;
	height: 1px;
	background: #dc422e;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}

.article_h3 h3::after,
.prize_link_h3 h3::after {
	content: '';
	display: inline-block;
	width: 50px;
	height: 1px;
	background: #dc422e;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 0;
}

.features_article .article_h3 {
	padding-top: 35px; /*pc 50px*/
	background: url(../img/crown_icon.svg) no-repeat center top/ 30px/*pc 40px*/;
}

.nutrients_article .article_h3 {
	padding-top: 35px;
	background: url(../img/nutrients_icon.svg) no-repeat center top/ 30px/*pc 40px*/;
}

.about_article .article_h3 {
	padding-top: 35px;
	background: url(../img/about_icon.svg) no-repeat center top/ 22.5px/*pc 40px*/;
}

.rl_mode_wrapper {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	margin: 0 auto;
	white-space: nowrap;
}

.feature_h4 {
	margin-bottom: 45px; /*pc 90px*/
	display: flex;
	
}

.feature_h4 h4 {
	letter-spacing: 0.2em;
	font-size: 2rem; /*pc 2.4rem*/
	font-weight: 600;
}

/* // 最新のsafari用 */
/* _::-webkit-full-page-media, _:future, :root .feature_h4 h4 {
	height: fit-content;
} */
/* // 古いsafari用 */
/* @media screen and (-webkit-min-device-pixel-ratio:0) {
	::i-block-chrome, .feature_h4 h4 {
		height: fit-content;
	}
} */

.feature_h4 h4 span {
	display: block;
}

.feature_section {
	display: grid;
	row-gap: 50px;
}

.feature_section:not(:last-child) {
	margin-bottom: 80px;
}

/* .subp_fearure_number {
	padding-top: 100px;
	position: relative;
} */

.subp_fearure_number {
	display: block;
	width: 60px;/* 80px*/
	height: 60px;/* 80px*/
	position: relative;
	color: #fff;
	margin: 0 auto 10px;
}

.subp_fearure_number::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	background: #dc422e;
	position: absolute;
	/* top: 0;
	left: 0; */
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	z-index: 2;
}

.subp_fearure_number::before {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: calc(50% + 2px);
	transform: translate(-50%, -50%);
	
	z-index: 3;
	writing-mode: horizontal-tb;
	font-size: 26px; /*pc 40px*/
	font-weight: 600;
	font-family: var(--heading-font-en);
	line-height: 1.1;
	letter-spacing: .2rem;
}

.feature_txt h5 {
	padding-bottom: 10px; /*pc 20px*/
	border-bottom: 1px solid #d8d5c3;
	margin-bottom: 25px; /*40px*/
	font-size: 18px; /*20px*/
	font-weight: 600;
}

.feature_txt p {
	margin-bottom: 25px;/* pc 30px*/
	font-size: 1.4rem; /*pc 1.6rem*/
	line-height: 1.8;
}

.feature_txt p:not(:first-child) {
	margin-bottom: 0;
}

.features_article {
	margin-bottom: 120px; /*pc 200px*/
}

.feature_img {
	text-align: center;
}

/*ダチョウの栄養素*/
.subpage_container {
	display: flex;
	flex-direction: column;
	row-gap: 50px;
	justify-content: center;
}

.nutrients_txt p {
	font-size: 1.4rem;
}

.feature_txt p:not(:first-child),
.nutrients_txt p:not(:first-child) {
	margin-top: 30px;
}

.nutrients_table {
	margin-top: 60px; /*pc 100px*/
	display: grid;
	row-gap: 20px;
	background: #efede1;
	border-radius: 20px;
	box-shadow: 0px 0px 21px -5px rgba(0,0,0,0.6);
	padding: 20px 10px;
	margin-bottom: 20px;
}

.table_heading {
	display: none;
}

.animal {
	padding-top: 150px; /*pc 210px*/
}

.nutrients_table dt {
	/* padding: 15px 15px 30px; */
	padding: 15px 0 30px;
	text-align: center;
}

.animal p {
	padding: 4px 15px 5px;
	margin: 0 auto;
	font-size: 1rem; /*pc 1.6rem*/
	color: #fff;
	border-radius: 50px;
	max-width: 130px;
	font-weight: 800;
}

.table1 .animal {
	background: url(../img/feature/table_icon1.png) no-repeat center top/ 82px;
}

.table2 .animal {
	background: url(../img/feature/table_icon2.png) no-repeat center top 50px/ 129px;
}

.table3 .animal {
	background: url(../img/feature/table_icon3.png) no-repeat center top 41px/ 69px;
}

.table4 .animal {
	background: url(../img/feature/table_icon4.png) no-repeat center top 72px/ 124px;
}

.table1 .animal p {
	background: #dc422e;
}

.animal p:not(.table1 .animal p) {
	background: #aaa797;
}

.animal .parts {
	font-size: 1.2rem; /*pc 1.4rem*/
}

.nutrients_value {
	display: grid;
	/* column-gap: 20px;
	row-gap: 20px; */
	grid-template-columns: repeat(2, 1fr);
}

.nutrients_value dd {
	font-size: 1.4rem;
	padding: 15px 10px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}

.nutrients_value dd:not(:last-child) {
	border-bottom: 1px solid #fff;
}

.nutrients_value dd:first-child,
.nutrients_value dd:nth-child(3) {
	border-right: 1px solid #fff;
}

.nutrients_value dd span {
	display: inline-block;
	text-align: center;
}

.table1 .nutrients_value dd {
	color: #fff;
}

.table1 .nutrients_value dd {
	background: #e86a60;
}

.nutrients_value:not(.table1 .nutrients_value, .table_heading .nutrients_value) dd {
	background: #e2dec7;
}



.nutrients_value dd::before {
	/* padding: 4px 15px 5px;
	border-radius: 50px; */
/* 	background: #99872e; */
	font-size: 1.2rem;
	/* color: #fff; */
	display: inline-block;
	/* width: 100%;
	max-width: 140px;
	margin: 0 auto 3px; */
	text-align: center;
}

.table1 .nutrients_value dd::before {
	color: #fff;
}

.cal::before {
	content: attr(data-cal);
}

.protein::before {
	content: attr(data-protein);
}

.fat::before {
	content: attr(data-fat);
}

.choleste::before {
	content: attr(data-choleste);
}

.fe::before {
	content: attr(data-fe);
}


/*下層・ロイフェンについて
---------------------------*/
.company_outline {
	max-width: 1000px;
	margin: 0 auto;
}

.outline_table {
	margin-bottom: 50px; /*90px*/
}

.outline_table dl {
	font-size: 1.4rem;
	display: flex;
	/* column-gap: 15px; */
}

.outline_table dl:not(:last-child) {
	border-bottom: 1px solid #d8d5c3;
}

.outline_table dl dt {
	font-weight: 600;
	flex-basis: 90px;
}

.outline_table dl dd {
	flex-basis: calc(100% - 90px);
}

.outline_table dl dt,
.outline_table dl dd {
	padding: 20px 10px;
}

.outline_tel a {
	text-decoration: none;
	color: var(--font-color);
}

.outline_tel a:hover,
.outline_tel a:focus-visible {
	opacity: 0.8;
}

/*下層 受賞
---------------------------*/
.prize_mv {
	width: 100%;
	aspect-ratio: 750/ 1280;
	margin-bottom: 60px;/*100px*/
}


.prize_article h3 {
	font-size: 2rem;/*2.4rem*/
	font-weight: 600;
	letter-spacing: 0.2rem;
	margin-bottom: 30px;/*40px*/
}

.prize_article h3::before {
	content: '●';
	color: #dc422e;
}

.prize_1col,
.prize_2col {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 20px;
	margin-bottom: 70px;
}

.prize_1col li {
	max-width: 570px;
	margin: 0 auto;
	width: 100%;
}

/* .prize_anchor_link_btn {
	max-width: 450px;
	margin: 0 auto;
} */

.prize_anchor_link_btn .link_underline {
	width: calc(100% - 45px);
	background: linear-gradient(to top, #fff 0px, #fff 1.1px, transparent 1px) no-repeat right bottom;
}

.prize_1col a,
.prize_2col a {
	text-decoration: none;
}

.prize_anchor_link_btn p {
	background: #dc422e;
	color: #fff;
	padding: 10px 10px 10px 20px ;
	border-radius: 50px;
	font-size: 1.5rem;/*2rem*/
}

.arrow_bottom {
	width: 30px;
	height: 30px;
	position: relative;
	display: block;
}

.arrow_bottom::before {
	content: '';
	display: inline-block;
	width: 10px;
	height: 12px;
	background: url(../img/link_arrow_red.svg) no-repeat center/contain;
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(90deg);
}

.arrow_bottom::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #fff;
	border-radius: 50%;
}

.prize_link_img {
	display: none;
	column-gap: 10px;
	align-items: flex-end;
	margin-bottom: 10px;/*20px*/
}

.prize_link_img figure {
	text-align: center;
	width: 40%;
}


.prize_link_img p {
	color: #99872e;
	font-size: 1.2rem;/*1.4rem*/
	width: calc(60% - 10px);
	margin-bottom: 10px;
}

.prize_item_img_name {
	display: flex;
	flex-direction: column;
	column-gap: 10px;
	row-gap: 20px;
}

.prize_item_img_name figure {
	text-align: center;
}

.prize_item_img_name figure img {
	width: 60%;
}

.prize_item_name p {
	color: #99872e;
	font-size: 1.2rem;
	margin-bottom: 5px;/*20px*/
}

.prize_item_name h4 {
	font-size: 18px;/*2.4rem*/
	display: flex;
	align-items: center;
	column-gap: 1.6rem;
	font-weight: 600;
}

.prize_item_name h4 a:hover,
.prize_item_name h4 a:focus-visible {
	opacity: .8;
}

.prize_item_name h4 a img {
	width: 30px;/*35px*/
}

.item_description_heading {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
	width: 100%;
	padding-bottom: 15px;/*30px*/
	border-bottom: 3px solid #d8d5c3;
	margin-bottom: 65px;/*70px*/
}

.item_detail {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 30px;
	margin-bottom: 50px;/*100px*/
}

.item_txt h5 {
	border-bottom: 1px solid #d8d5c3;
	padding-bottom: 1.4rem;/*1.6rem*/
	margin-bottom: 20px;/*50px*/
	font-size: 16px;/*20px*/
	font-weight: 600;
}

.item_txt p {
	font-size: 1.4rem;
	line-height: 2;
}

.item_txt p:not(:first-child),
.item_txt dl:first-of-type  {
	margin-top: 30px;/*40px*/
}


.item_txt dl dt {
	display: inline-block;
}

.item_txt dl dd {
	display: inline;
}

.item_detail figure {
	text-align: center;
}

.item_description,
.prize_article {
	margin-bottom: 100px;/*200px*/
}

.item_description.idaten {
	margin-bottom: 80px; /*150px*/
}

.producer_comment h5 {
	font-size: 1.7rem;/*2rem*/
	color: #dc422e;
	font-weight: 600;
	padding-left: 28px;/*34px*/
	background: url(../img/voice_icon.svg) no-repeat left center/20px ;/*24px*/
	margin-bottom: 30px;/*44px*/
}

.comment_area {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 30px;
	margin-bottom: 50px; /*80px*/
}

.comment_area li {
	background: #efede1;
	border-radius: 20px;
	box-shadow: 0px 0px 21px -5px rgba(102,102,102,0.6);
	padding: 25px 15px;
	display: flex;
	align-items: center;
}

.comment_area li p {
	padding-left: 80px;
	position: relative;
	font-size: 1.2rem;
}

.comment_area li p::before {
	content: '';
	display: block;
	width: 60px;
	height: 60px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.comment_area li:first-child p::before {
	background: url(../img/prize/producer1.png) no-repeat center/ contain;
}

.comment_area li:nth-child(2) p::before {
	background: url(../img/prize/producer2.png) no-repeat center/ contain;
}

.shop_link_btn {
	text-align: center;
}

.shop_link_btn a {
	display: inline-block;
}

.shop_link_btn a > div {
	display: flex;
	align-items: center;
	column-gap: 20px;
}

.prize_link_h3 {
	text-align: center;
	margin-bottom: 50px;/*80px*/
	padding-top: 35px;/*50px*/
	background: url(../img/ribbon_icon.svg) no-repeat center top/ 25px;/*40px*/
}


/*第1回 IFFA 2019*/
.iffa_mv {
	background: url(../img/prize/prize01_main_sp.png) no-repeat center/cover;
}

.prize_iffa .prize_wrapper_main {
	margin-bottom: 50px;/*80px*/
}

.prize_iffa .about_prize {
	font-size: 1.5rem;/*2rem*/
	line-height: 2;
	font-weight: 600;
	margin-bottom: 60px;/*100px*/
}

.iffa_certificate {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 10px;
	row-gap: 30px;
	margin-bottom: 30px;/*50px*/
}

.iffa_certificate figcaption,
.iffa_medal figcaption {
	margin-top: 15px;/*25px*/
	font-size: 1.2rem;/*1.4rem*/
	text-align: left;
}

.iffa_certificate figure,
.iffa_medal figure {
	text-align: center;
}

.iffa_medal figure {
	max-width: 400px;
	margin: 0 auto;
}

/*PC時調整必要*/
.prize_contact_btn.link_btn a {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	column-gap: 10px;/*20px*/
	font-size: 1.5rem;/*1.8rem*/
}

.prize_contact_btn .arrow_right_white {
	width: 25px;/*35px*/
	height: 25px;/*35px*/
}

/*うまいもの ファインフードコンテスト*/
.ffc1_mv {
	background: url(../img/prize/prize02_main_sp.png) no-repeat center/cover;
}

.col2 {
	display: flex;
	row-gap: 30px;
	margin-bottom: 50px;/*100px*/
}

.col2 figure {
	text-align: center;
}

.col2.reverse {
	flex-direction: column-reverse;
}

.col2 .txt p {
	line-height: 2;
	font-weight: 600;
	font-size: 1.5rem; /*2rem*/
}

.use_wbr {
	white-space: pre-wrap;
	/* word-break: keep-all; */
}

.prize_wrapper .txt p:not(:first-child) {
	margin-top: 40px;/*50px*/
}

.ffc_gallery {
	display: flex;
	flex-direction: column;
	row-gap: 30px;
}

.ffc_gallery li {
	margin: 0 auto;
}

.ffc_gallery figcaption {
	font-size: 1.2rem;/*1.4rem*/
	margin-top: 12px;/*25px*/
}

/*buyer's room Award*/
.buyers-award_mv {
	background: url(../img/prize/prize03_main_sp.png) no-repeat center/cover;
}

.buyers-award_gallery {
	display: flex;
	flex-direction: column;
	/* justify-content: center; */
	row-gap: 30px;
}

.buyers-award_gallery figure {
	text-align: center;
}

.buyers-award_gallery li {
	width: 100%;
}

.buyers-award_gallery li:nth-child(2) figure {
	text-align: center;
}


.buyers-award_gallery li:nth-child(2) figure img {
	aspect-ratio: 670/450;
	overflow: hidden;
	object-fit: cover;
	object-position: center 65%;
	width: 100%;
	max-width: 450px;
}

/*マップ*/
.map_section {
	display: grid;
	row-gap: 30px;
	grid-template-columns: 1fr;
}

.map {
	order: 2;
	position: relative;
	width: 100%;
	padding-top: 80%;
}

.map iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.access {
	order: 1;
	padding: 0 17.5px;
}

address,
.edit_area {
	line-height: 2;
}

.access .heading_h2 {
	margin-bottom: 30px;
}

.access address {
	margin-bottom: 20px;
}


/*下層 お問い合わせ*/
.contact_form {
	max-width: 800px;
	margin: 0 auto;
}

.contact_form > p:first-child {
	display: grid;
	justify-content: center;
	margin-bottom: 40px;/*60*/
}

.contact_form dl dt {
	font-weight: 600;
	font-size: 1.4rem;/*1.6rem*/
	margin-bottom: 10px;
}

.contact_form dl dt label {
	display: flex;
	column-gap: 7px;
	align-items: center;
}

.contact_form dl dt label .require {
	font-size: 1.2rem;
	color: #fff;
	background: #99872e;
	border-radius: 5px;
	padding: 0 5px 1px;
}

.contact_form dl dd {
	margin-bottom: 30px;/*50px*/
}

.contact_form dl dd input,
.contact_form dl dd textarea {
	background: #fff;
	line-height: 1.6;
	padding: 15px;
	width: 100%;
}

.contact_form dl dd input:focus-visible,
.contact_form dl dd textarea:focus-visible {
	border: 1px solid var(--font-color);
}

.contact_form dl dd textarea {
	height: 24rem;
}

.contact_form dl:last-of-type {
	margin-bottom: 50px;/*98px*/
}

::placeholder {
	color: #a9a8a8;
	font-size: 1.4rem;/*1.6rem*/
}


.submit_btn button {
	display: flex;
	align-items: center;
	background: #dc422e;
	color: #fff;
	column-gap: 15px;
	margin: 0 auto;
	width: 100%;
	max-width: 250px;
	border-radius: 50px;
	text-align: left;
	justify-content: space-between;
	padding: 10px 20px 10px 30px;
	font-size: 1.8rem;/*2rem*/
	font-weight: 600;
}

.submit_btn button .link_underline {
	background: linear-gradient(to top, #fff 0px, #fff 1.1px, transparent 1px) no-repeat right bottom;
	width: calc(100% - 50px);
}

.confirm_privacy {
	display: grid;
	justify-content: center;
	margin-bottom: 30px;/*60px*/
}

.confirm_privacy p small {
	font-size: 100%;
}

/* .confirm_privacy p:nth-child(2) {
	text-align: center;
} */

.confirm_privacy p:nth-child(3) {
	text-align: center;
	margin-top: 20px;/*45px*/
}

.confirm_privacy a {
	color: #dc422e;
	text-decoration: none;
}

.confirm_privacy a:hover,
.confirm_privacy a:focus-visible {
	text-decoration: underline;
}

/*送信完了画面*/
.send_section .heading_h2_jp {
	text-align: center;
}

.completion_message {
	text-align: center;
	display: grid;
	row-gap: 15px;
}

.send_link_btn {
	margin-top: 40px;
}

.send_link_btn a {
	justify-content: center;
}

/*プライバシーポリシー*/
.privacy_wrapper {
	max-width: 1000px;
	margin: 0 auto;
}

.privacy_wrapper > p {
	margin-bottom: 60px;/*80px*/
}

.privacy_wrapper section {
	margin-bottom: 50px;/*70px*/
}

.privacy_wrapper section h3 {
	padding-bottom: 10px;/*20px*/
	border-bottom: 1px solid #d8d5c3;
	margin-bottom: 30px;/*40px*/
}

.privacy_wrapper section ul {
	margin-top: 30px;/*40px*/
	padding-left: 1.6rem;
}

.privacy_wrapper section ul li::marker {
	content: '・'
}

.privacy_link_btn {
	margin-top: 40px;/*55px*/
}

.privacy_link_btn a {
	display: flex;
	align-items: center;
	column-gap: 10px;
}

/*フッター*/
footer {
	background: var(--footer-bg-color);
	position: relative;
	z-index: 5;
}

.company_name span {
	display: block;
}


/*下層・お知らせ一覧*/
.news_list.subpage_news_list {
	margin-bottom: 40px;
}

/*下層・お知らせ記事ページ*/
.post_page_cat {
	display: flex;
	column-gap: 10px;
	align-items: center;
}

.post_page_cat p {
	background: #99872e;
	color: #fff;
	font-size: 1.2rem;
	border-radius: 50px;
	padding: 1px 10px 2px;
	font-weight: 800;
}

.article_container {
	margin-bottom: 70px; /*150px*/
}

.article_container p {
	margin-bottom: 20px;/*30px*/
}

.article_container figure {
	margin-top: 40px;/*70px*/
	max-width: 600px;
}

.back_btn {
	text-align: center;
}

.back_btn a {
	display: inline-block;
	text-decoration: none;
	color: var(--font-color);
	font-size: 2rem;
	font-weight: 600;
}

.back_btn a > div {
	display: flex;
	column-gap: 20px;
	align-items: center;
	justify-content: center;
}

.arrow_left {
	width: 35px;
	height: 35px;
	position: relative;
	overflow: hidden;
}

.arrow_left::after {
	content: '';
	background: #dc422e;
	border-radius: 50%;
	width: 100%;
	height: 100%;
	display: block;
	z-index: 1;
}

.arrow_left::before {
	content: '';
	display: block;
	width: 12px;
	height: 10px;
	background: url(../img/arrow_left_white.svg) no-repeat center/ contain;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	margin: auto;
	z-index: 2;
}

/*取り扱い商品一覧*/

.overlay {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, .65);
	z-index: 100;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	transition: opacity .3s linear, visibility .3s linear;
}

.overlay.is-open {
	opacity: 1;
	visibility: visible;
	/* animation: modal .3s linear 1 forwards normal; */
}

/* 閉じるとき */
/* .overlay.is-closing {
	animation: modalClose .3s linear forwards;
} */

@keyframes modal {
	0%{
		opacity: 0;
		visibility: hidden;
	}
	100% {
		opacity: 1;
		visibility: visible;
	}
}

@keyframes modalClose {
	0%{
		opacity: 1;
		visibility: visible;
	}
	100% {

		opacity: 0;
		visibility: hidden;
	}
}


.modal-content_wrapper {
	background: #fff;
	width: 90%;
	max-width: 1000px;
	height: 80dvh;
	position: absolute;
	/* left: 50%;
	top: 10vh; */
	/* transform: translateX(-50%); */
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	overflow: hidden;
	/* padding: 60px 60px; */
	padding: 0 35px 0;
	border-radius: 10px;
	
}

.modal_close_icon {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.modal-close.top {
	position: absolute;
	right: 10px;
	top: 10px;
	display: inline-block;
	width: 15px;/*pc 25px*/
	height: 15px;/*pc 25px*/
}



.modal_content {
	overflow-y: scroll;
	height: 100%;
	max-width: 750px;
	margin: 0 auto;
	-ms-overflow-style: none;
    scrollbar-width: none;
	padding-top: 25px;
	padding-bottom: 25px;
}

.modal_content::-webkit-scrollbar {
	display: none;
}

.modal_main_img {
	margin-bottom: 18px;/*pc 27px*/
}

.modal_product_name_area {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 20px;
	flex-wrap: wrap;
	padding-bottom: 18px;/*26px*/
	border-bottom: 1px solid #e7d9b7;
	margin-bottom: 25px; /*50px*/
	color: #4B411F;
}

.modal_product_name_area figure {
	/* width: 50%; */
	width: 120px;
	/* max-width: 186px; */
	margin-bottom: 5px;
}

.modal_product_name_wrapper {
	display: flex;
	flex-direction: column;
	row-gap: 18px;
	/* width: calc(100% - 90px); */
}

.modal_product_prize p {
	font-size: 12px; /*pc 16px*/
	line-height: 1.4;
	padding-left: 30px;
	position: relative;
	
	font-weight: bold;
}

.modal_product_prize p::before {
	content: '';
	display: inline-block;
	/* width: 28px;
	height: 40px; */
	width: 22px;
	height: 31px;
	background: url(../img/product_modal/prize_icon.png) no-repeat  center/ contain;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.modal_product_name h2 {
	font-size: 18px; /*pc 24px*/
	display: flex;
	flex-wrap: wrap;
	column-gap: 15px;
	row-gap: 5px;
	align-items: center;
}

.modal_product_name .item_label {
	margin-bottom: 0;
}

.modal_product_description {
	color: #4b411f;
}


.modal_product_description p {
	font-weight: 500;
	font-size: 14px;/*16px*/
	line-height: 1.6;
}

.modal_txt_block:not(:first-of-type) {
	margin-top: 15px;/*30px*/
}

.modal_btn_area {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	row-gap: 15px;/*30px*/
	margin-top: 30px;/*60px*/
	font-weight: 600;
	font-size: 16px;/*20px*/
}

.modal_link,
.modal-close.bottom {
	width: 100%;
	max-width: 300px;
	border-radius: 10px;
	height: 60px;
	display: inline-flex;
	text-align: center;
	justify-content: center;
	align-items: center;
}

.modal_link {
	background: #dc422e;
	color: #fff;
	text-decoration: none;
	position: relative;
}

.modal_link .arrow_right {
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}

.modal-close.bottom {
	color: #Fff;
	background: #1a1a1a;
}

.modal-close.top:hover,
.modal-close.bottom:hover {
	cursor: pointer;
}

.modal-close.bottom:hover {
	opacity: .8;
}

.product_section .page_nav {
	margin-top: 20px;
}


@media screen and (min-width: 375px) {
	.link_btn a,
	.link_btn p {
		font-size: 1.8rem;
	}

	/*商品紹介*/
	.item_list {
		grid-template-columns: repeat(2, 1fr);
	}

	/*ダチョウの栄養素*/
	.nutrients_table {
		row-gap: 30px;
	}

	.nutrients_value {
		grid-template-columns: 1fr 1fr;
	}

	.table_column dl {
		display: grid;
		/* grid-template-columns: max(120px, min(250px, 32vw)) auto; */
		grid-template-columns: max(76px, min(250px, 24vw)) auto;;
		column-gap: 8px;
		align-items: center;
	}

	.nutrients_value dd {
		column-gap: 2rem;
		justify-content: center;
		align-items: center;
		/* flex-direction: row; */
	}


	.table1 .animal {
		padding-top: 100px;
		background: url(../img/feature/table_icon1.png) no-repeat center top/ 54px;
	}
	
	.table2 .animal {
		padding-top: 70px;
		background: url(../img/feature/table_icon2.png) no-repeat center top / 90px;
	}
	
	.table3 .animal {
		padding-top: 78px;
		background: url(../img/feature/table_icon3.png) no-repeat center top / 45px;
	}
	
	.table4 .animal {
		padding-top: 57px;
		background: url(../img/feature/table_icon4.png) no-repeat center top / 81px;
	}



	/* .nutrients_value dd:nth-child(odd) {
		border-right: none;
	} */
}


@media screen and (min-width: 600px) {
	.gallery {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 20px;
	}

	.feature {
		flex-direction: row;
		column-gap: 20px;
		justify-content: center;
		flex-wrap: wrap;
	}

	.feature li {
		flex: 0 1 calc(50% - 10px);
	}

	/*商品紹介*/
	.item_list {
		grid-template-columns: repeat(3, 1fr);
	}

	/*美味しさへのこだわり*/
	/* .nutrients_table {
		grid-template-columns: repeat(2, 1fr);
	} */


	.animal p {
		font-size: 1.4rem; /*pc 1.6rem*/
	}

	.nutrients_table dt {
		/* padding: 15px 15px 30px; */
		padding: 15px;
	}

	.animal {
		padding-top: 150px; /*pc 210px*/
	}
	
	
	.table1 .animal {
		padding-top: 144px;
		background: url(../img/feature/table_icon1.png) no-repeat center top/ 82px;
	}
	
	.table2 .animal {
		padding-top: 94px;
		/* background: url(../img/feature/table_icon2.png) no-repeat center top 50px/ 129px; */
		background: url(../img/feature/table_icon2.png) no-repeat center top / 129px;
	}
	
	.table3 .animal {
		padding-top: 111px;
		/* background: url(../img/feature/table_icon3.png) no-repeat center top 41px/ 69px; */
		background: url(../img/feature/table_icon3.png) no-repeat center top / 69px;
	}
	
	.table4 .animal {
		padding-top: 80px;
		/* background: url(../img/feature/table_icon4.png) no-repeat center top 72px/ 124px; */
		background: url(../img/feature/table_icon4.png) no-repeat center top / 124px;
	}

	.nutrients_value dd:nth-child(4) {
		border-bottom: none;
	}

	/*buyer's room Award*/
	.buyers-award_gallery {
		flex-direction: row;
		justify-content: space-between;
	}

	.buyers-award_gallery li:first-child {
		width: 55.83%;
	}

	.buyers-award_gallery li:nth-child(2) {
		width: 37.5%;
	}

	.buyers-award_gallery li:nth-child(2) figure img {
		aspect-ratio: 450/670;
		overflow: auto;
	}
	
}

@media screen and (min-width: 768px) {
	._inline_block_pc {
		display: inline-block;
	}

	._block_pc {
		display: block;
	}
	.heading_h2_jp {
		margin-bottom: 90px;
	}

	.heading_h2_jp h2 {
		font-size: 3.4rem;
	}

	/* .anchor {
	
		padding-top: 88px;
		margin-top: -88px;
	}
 */

	main {
		padding-bottom: min(110px, 5.8%);
	}
	.section {
		padding-top: min(110px, 5.8%);
		padding-bottom: min(110px, 5.8%);
	}

	.top_section,
	.slider2_wrap,
	.shop_banner {
		margin-bottom: max(120px, min(200px, 10.5vw));
	}

	.logo,
	.logo img {
		width: 137px;
	}

	.link_btn a {
		font-size: 2rem;
	}
	/*header*/
	.header_top {
		height: 109px;
	}
	
	.gnav_sp {
		height: calc(100% - 109px);
	}

	/*メインビジュアル*/
	.hero {
		height: 100vh;
	}

	.slide_image {
		height: 427vw;
	}

	/*メイン画像スライドショー*/
	.slide_image1 {
		width: 100%;
		/* height: 42.7vw; */
		height: 52.83vw;
		/* background: url(../img/top_slide1.jpg) no-repeat center/cover; */
	}

	.slider_wrap {
		/* height: 42.7vw; */
		height: 52.83vw;
		/* top: 180px; */
		top: 0;
	}

	/* .slide_image2 {
		width: 100%;
		height: 100vh;
		background: url(../img/top_slide2.jpg) no-repeat center/cover;
	} */

	/*About*/
	/* .about_section {
		padding: var(--section-padding-pc);
		padding-top: 220px;
	}

	.about_inner {
		flex-direction: row;
		gap: 2em 0;
		align-items: center;
	}

	.about_inner img {
		width: min(950px,49.5%);
	}

	.about_inner .txt {
		padding: 17.5px;
		width: 50.5%;
		display: flex;
		justify-content: center;
	}

	.about_inner .txt div {
		max-width: 450px;
	}

	.about_inner .txt h2 {
		font-size: 2.2rem;
		margin-bottom: 20px;
	} */

	/*about*/

	.about_container {
		display: flex;
		flex-direction: row-reverse;
		justify-content: center;
	}

	.top_about .inner {
		padding-bottom: 45px;
		margin-bottom: 80px;
	}

	.eyecatch, .about_description {
		margin: 0;
	}

	.eyecatch {
		margin-left: max(50px, min(100px, 8.4vw));
		line-height: 2;
	}

	.about_description {
		line-height: 3;
		font-size: 1.6rem;
	}

	.top_about .inner::before {
		margin-top: 0;
		width: 278px;
		height: 212px;
	}

	/*TOPこだわり*/
	.feature_number {
		width: 60px;
		height: 60px;
		top: -18px;
		left: -18px;
	}

	.feature_number::before {
		font-size: 30px;
	}

	.feature_link_btn {
		margin-top: 120px;
	}
	/*季節限定メニュー*/
	.gallery {
		column-gap: 55px;
	}


	/*shopバナー*/
	.banner_link_txt {
		display: inline-block;
	}

	/*商品紹介*/
	.item_wrap h3 {
		font-size: 2.2rem;
		margin-bottom: 40px;
	}

	.item_img {
		margin-bottom: 20px;
	}

	.item_label {
		margin-bottom: 15px;
	}

	.product .item_label {
		margin-bottom: 10px;
	}

	.item_wrap h3 {
		padding-left: 45px;
	}
	
	.new_item::before {
		width: 40px;
		height: 40px;
	}
	
	.regular_item::before {
		width: 40px;
		height: 40px;
	}
	
	.award_item::before {
		width: 30px;
		height: 40px;
	}
	
	.gift_item::before {
		width: 35px;
		height: 35px;
	}
	
	.skin_care_item::before {
		width: 30px;
		height: 40px;
	}

	/*新着情報*/
	.top_news_left {
		display: block;
	}

	.top_news .inner {
		grid-template-columns: 40% auto;
		column-gap: 20px;
	}

	.news_link_btn a {
		justify-content: flex-start;
	}

	.news_list {
		margin-top: 25px;
	}
	
	.news_list a {
		padding: 30px 0;
		column-gap: 30px;
		align-items: center;
	}

	.news_list a figure {
		display: block;
		width: 130px;
	}

	.news_title_area time {
		font-size: 1.6rem;
	}

	.top_news_left .heading_h2_jp {
		margin-bottom: 55px;
	}

	/*sns*/
	.facebook_wrapper > div {
		display: block;
	}
	

	/*生産者の声*/
	.producer {
		column-gap: 78px;
	}

	.producer li {
		padding: 50px;
	}

	.producer figure {
		margin-bottom: 25px;
	}

	.producer .tag {
		margin-bottom: 20px;
	}
	.producer_name {
		margin-bottom: 30px;
		font-size: 2.4rem;
		flex-direction: row;
		align-items: flex-end;
	}

	.producer_name .role {
		font-size: 16px;
		display: inline-block;
		margin-bottom: 3px;
	}

	.producer h3 {
		color: #dc422e;
		font-size: 2.6rem;
		margin-bottom: 40px;
		background: url(../img/voice_icon.svg) no-repeat left center/ 30px;
	}

	/*お問い合わせバナー*/
	.contact_ttl {
		padding-top: 50px;
		font-size: 24px;
	}

	.contact_tell_ttl {
		background: url(../img/tel_icon.svg) no-repeat center top/ 30px;
	}

	.contact_mail_ttl {
		background: url(../img/mail_icon.svg) no-repeat center top 10px/ 30px;
	}

	.contact_link_btn.link_btn a {
		font-size: 20px;
	}
	

	.contact_banner_inner ul {
		gap: 50px
	}

	.contact_banner_inner ul li a {
		padding: 40px 15px;
	}

	.contact_banner .heading_h2_jp {
		text-align: center;
		margin-bottom: min(190px, 15.83vw);
	}


	.contact_ttl {
		font-weight: 600;
		letter-spacing: 2px;
		font-size: 2.4rem;
		margin-bottom: 30px; /*pc 30px*/
	}


	.contact_link_btn.link_btn,
	.contact_tel_num {
		font-size: 20px;
	}

	.contact_link_btn  {
		justify-content: center;
	}

	/*プライバシーポリシー*/
	.privacy_wrapper > p {
		margin-bottom: 80px;
	}

	.privacy_wrapper section {
		margin-bottom: 70px;
	}

	.privacy_wrapper section h3 {
		padding-bottom: 20px;
		margin-bottom: 4%;
	}

	.privacy_wrapper section ul {
		margin-top: 4%;
	}

	.privacy_link_btn {
		margin-top: 55px;
	}

	/*フッター*/
	footer {
		/* padding: min(185px,9.7vw) 0 min(200px,10.5vw); */
		padding: min(120px, 6.25vw) 0 min(110px, 5.73vw);
	}

	.footer_top,
	.footer_bottom {
		padding-left: min(55px, 4%);
		padding-right: min(55px, 4%);
	}

	

	/*下層・お知らせ一覧 768px*/
/* 	.news_list.subpage_news_list {
		margin-bottom: 60px;
	}

	.news_list.subpage_news_list li {
		display: grid;
		grid-template-columns: 8rem auto;
		column-gap: 5%;
		padding: 30px min(90px,8%);
	} */

	.news_list.subpage_news_list {
		margin-bottom: 80px;
	}

	.news_list.subpage_news_list a figure {
		width: 130px;
	}

	.subpage_news_list .news_title_area {
		flex-basis: calc(100% - 160px);
	}

	/*下層・お知らせ記事ページ 768px*/
	.article_container {
		margin-bottom: 150px; /*150px*/
	}

	.article_container p {
		margin-bottom: 30px;/*30px*/
	}

	.article_container figure {
		margin-top: 70px;/*70px*/
	}

	/*美味しさへのこだわり 768px*/
	.article_h3 {
		margin-bottom: 80px;
	}

	.article_h3 h3,
	.prize_link_h3 h3 {
		font-size: 2.2rem;
	}

	.features_article .article_h3 {
		padding-top: 50px;
		background: url(../img/crown_icon.svg) no-repeat center top/ 40px;
	}

	.nutrients_article .article_h3 {
		padding-top: 50px;
		background: url(../img/nutrients_icon.svg) no-repeat center top/ 40px;
	}

	.about_article .article_h3 {
		padding-top: 50px;
		background: url(../img/about_icon.svg) no-repeat center top/ 30px;
	}
	

	.feature_h4 {
		margin-bottom: 90px; 
	}

	.feature_h4 h4 {
		font-size: 2.4rem; 
	}

	.feature_section {
		display: flex;
		justify-content: space-between;
	}
	
	.feature_section.reverse {
		flex-direction: row-reverse;
	}

	.feature_txt {
		width: 50%;
	}

	.feature_img {
		width: 41.6667%;
		
	}

	.feature_section .feature_img {
		position: sticky;
		top: 100px;
		height: fit-content;
	}

	.feature_section:not(:last-child) {
		margin-bottom: 150px;
	}


	.subp_fearure_number {
		width: 80px;/* 80px*/
		height: 80px;/* 80px*/
		margin-bottom: 30px;
	}

	.subp_fearure_number::before {
		font-size: 40px; /*pc 40px*/
	}

	.feature_txt h5 {
		padding-bottom: 20px; /*pc 20px*/
		border-bottom: 1px solid #d8d5c3;
		margin-bottom: 40px; /*40px*/
		font-size: 20px; /*20px*/
	}

	.feature_txt p {
		margin-bottom: 30px;/* pc 30px*/
		font-size: 1.6rem; /*pc 1.6rem*/
	}

	.feature_txt p:not(:first-child) {
		margin-bottom: 0;
	}

	.features_article {
		margin-bottom: 200px; /*pc 200px*/
	}


	/*ダチョウの栄養素*/
	.subpage_container {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
	}

	.feature_txt p,
	.nutrients_txt p {
		font-size: 1.6rem;
	}

	.feature_txt p:not(:first-child),
	.nutrients_txt p:not(:first-child) {
		margin-top: 50px;
	}

	.nutrients_article .feature_img {
		width: 33.3333%;
	}

	.nutrients_txt {
		width: 54.1667%;
	}
	

	.nutrients_table {
		margin-top: 100px;
		border-radius: 40px;
		padding: 50px 35px;
		margin-bottom: 30px;
		/* grid-template-columns: repeat(2, 1fr); */
	}

	.table_heading {
		display: none;
	}


	.nutrients_table dt {
		padding: 15px 15px 30px;
		text-align: center;
	}

	.animal p {
		font-size: 1.6rem;
	}

	.table1 .animal,
	.table2 .animal,
	.table3 .animal,
	.table4 .animal {
		padding-top: 150px;
	}

	.table1 .animal {
		background: url(../img/feature/table_icon1.png) no-repeat center top/ 82px;
	}
	
	.table2 .animal {
		background: url(../img/feature/table_icon2.png) no-repeat center top 50px/ 129px;
	}
	
	.table3 .animal {
		background: url(../img/feature/table_icon3.png) no-repeat center top 41px/ 69px;
	}
	
	.table4 .animal {
		background: url(../img/feature/table_icon4.png) no-repeat center top 72px/ 124px;
	}


	.animal p:not(.table1 .animal p) {
		background: #aaa797;
	}

	.nutrients_value dd {
		font-size: 1.6rem;
		padding: 30px 10px;
	}

	/*下層・ロイフェンについて 768px
	---------------------------*/
	.outline_table {
		margin-bottom: 90px; 
	}

	.outline_table dl {
		font-size: 1.6rem;
	}


	.outline_table dl dt {
		flex-basis: 200px;
	}

	.outline_table dl dd {
		flex-basis: calc(100% - 200px);
	}

	.outline_table dl dt {
		padding: 25px 65px;
	}

	.outline_table dl dd {
		padding: 25px 65px 25px 40px;
	}

	.outline_tel {
		margin-bottom: 7px;
	}

	/* .outline_table dl dt,
	.outline_table dl dd {
		padding: 20px 10px;
	} */

	.map {
		padding-top: 50%;
	}

	/*下層 受賞 768px
	---------------------------*/
	.prize_mv {
		aspect-ratio: 1200/ 625;
		margin-bottom: 100px;
	}

	.prize_article h3 {
		font-size: 2.4rem;
		margin-bottom: 40px;
	}

	/* .prize_2col {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 60px;
		margin-bottom: 150px;
		align-items: flex-end;
	}

	.prize_anchor_link_btn .link_underline {
		width: calc(100% - 50px);
	}

	.prize_anchor_link_btn p {
		padding: 15px 12px 15px 25px ;
		font-size: 2rem;/
	}

	.arrow_bottom {
		width: 35px;
		height: 35px;
	}
	.prize_link_img {
		display: flex;
		margin-bottom: 20px;
	}

	.prize_link_img figure {
		text-align: left;
		width: auto;
	}

	.prize_2col .prize_link_img figure img {
		height: 147px;
	}


	.prize_link_img p {
		font-size: 1.4rem;
		width: calc(60% - 20px);
	}

	.prize_item_img_name {
		display: flex;
		flex-direction: row;
		column-gap: 20px;
		row-gap: 20px;
		align-items: flex-end;
		width: 50%;
	}

	
	.prize_item_img_name figure {
		text-align: left;
		width: 40%;
		max-width: 158px;
	}

	.prize_item_img_name figure img {
		width: 100%;
	}

	.prize_item_name p {
		font-size: 1.4rem;
		margin-bottom: 20px;
	} */

	.prize_item_name h4 {
		font-size: 2.4rem;
	}

	.prize_item_name h4 a img {
		width: 35px;
	}

	.prize_item_name p {
		margin-bottom: 10px;
	}

	.item_description_heading {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: flex-end;
		padding-bottom: 30px;
		margin-bottom: 70px;
	}

	.item_detail {
		display: flex;
		/*column-gap: 40px;*//*85px*/
		margin-bottom: 100px;
		justify-content: space-between;
		align-items: center;
	}

	.item_detail.reverse {
		flex-direction: row-reverse;
	}

	.item_txt {
		width: 50%;
	}

	.item_detail .item_img {
		width: 41.6%;
	}

	.item_detail figure {
		margin: 0;
	}

	.item_txt h5 {
		padding-bottom: 1.6rem;
		margin-bottom: 50px;
		font-size: 20px;
	}

	.item_txt p {
		font-size: 1.6rem;
	}

	.item_txt p:not(:first-child),
	.item_txt dl:first-of-type  {
		margin-top: 40px;
	}

	
	.prize_article {
		margin-bottom: 200px;
	}

	.item_description.idaten {
		margin-bottom: 150px; 
	}

	.producer_comment h5 {
		font-size: 2rem;
		padding-left: 34px;
		background: url(../img/voice_icon.svg) no-repeat left center/24px ;
		margin-bottom: 44px;
	}

	.comment_area {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 45px;
		margin-bottom: 80px;
	}

	/*30px 25px*/
	/* .comment_area li {
		padding: 25px 15px;
	} */

	/*padding-top: 0; padding-left: 100px;*/
	/* .comment_area li p {
		padding-top: 100px;
	} */

	.shop_link_btn a {
		justify-content: center;
		text-align: left;
	}

	.prize_link_h3 {
		text-align: center;
		margin-bottom: 80px;
		padding-top: 50px;
		background: url(../img/ribbon_icon.svg) no-repeat center top/ 40px;
	}

	/*PC時調整必要*/
	.prize_contact_btn.link_btn a {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		column-gap: 20px;/*20px*/
		font-size: 1.8rem;/*1.8rem*/
	}

	.prize_contact_btn .arrow_right_white {
		width: 35px;/*35px*/
		height: 35px;/*35px*/
	}


	/*第1回 IFFA 2019*/
	.iffa_mv {
		background: url(../img/prize/prize01_main_pc.png) no-repeat center/cover;
		aspect-ratio: 1200/ 625;
	}

	.prize_iffa .prize_wrapper_main {
		margin-bottom: 80px;
	}

	.prize_iffa .about_prize {
		font-size: 2rem;
		font-weight: 600;
		margin-bottom: 100px;
		text-align: center;
		line-height: 2.3;
	}

	.prize_iffa .about_prize span {
		display: block;
	}

	.iffa_certificate {
		grid-template-columns: repeat(4, 1fr);
		row-gap: 30px;
		margin-bottom: 50px;
	}

	.iffa_certificate figcaption,
	.iffa_medal figcaption {
		margin-top: 25px;/*25px*/
		font-size: 1.4rem;/*1.4rem*/
		text-align: left;
	}


	/* .iffa_medal figure {
		text-align: center;
	} */


	/*うまいもの ファインフードコンテスト*/
	.ffc1_mv {
		background: url(../img/prize/prize02_main_pc.png) no-repeat center/cover;
		aspect-ratio: 1200/ 625;
	}

	.col2 {
		margin-bottom: 100px;
		justify-content: space-between;
		align-items: center;
	}
	
	.col2 figure {
		text-align: left;
		width: 42.5%;
	}

	.col2 .txt {
		width: 50%;
	}
	.col2 .txt p {
		font-size: 2rem; /*2rem*/
	}
	
	.col2.reverse {
		flex-direction: row-reverse;
	}
	
	.prize_wrapper .txt p:not(:first-child) {
		margin-top: 50px;
	}
	
	.ffc_gallery {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		column-gap: 25px;
	}
	
	.ffc_gallery li {
		margin: 0;
	}

	.ffc_gallery li:first-child,
	.ffc_gallery li:nth-child(3) {
		aspect-ratio: 450/250;
	}

	.ffc_gallery li:nth-child(2) {
		aspect-ratio: 250/250;
	}
	
	.ffc_gallery figcaption {
		font-size: 1.4rem;
		margin-top: 25px;
	}

	/*buyer's room Award*/
	.buyers-award_mv {
		background: url(../img/prize/prize03_main_pc.png) no-repeat center/cover;
	}

	/*下層 お問い合わせ 768px*/
	.contact_form > p:first-child {
		margin-bottom: 60px;
	}

	.contact_form dl dt {
		font-size: 1.6rem;
	}


	.contact_form dl dt label .require {
		font-size: 1.4rem;
	}

	.contact_form dl dd {
		margin-bottom: 50px;
	}

	.contact_form dl dd input,
	.contact_form dl dd textarea {
		padding: min(24px, 3.125%) min(45px, 5.625%);
	}

	.contact_form dl dd textarea {
		height: 27rem;
	}

	.contact_form dl:last-of-type {
		margin-bottom: 98px;
	}

	::placeholder {
		font-size: 1.6rem;
		letter-spacing: 0.05rem;
	}


	.submit_btn button {
		padding: 10px 20px 10px 30px;
		font-size: 2rem;/*2rem*/
	}

	.confirm_privacy {
		margin-bottom: 60px;
	}

	.confirm_privacy p:nth-child(2) {
		text-align: center;
	}

	.confirm_privacy p:nth-child(3) {
		margin-top: 45px;
	}

	/*送信完了画面*/
	.send_link_btn {
		justify-content: center;
		margin-top: 80px;
	}

	/*取り扱い商品一覧*/
	.modal-content_wrapper {
		padding: 0 60px 0;
		border-radius: 20px;
	}

	.modal_close_icon {
		width: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	.modal-close.top {
		right: 30px;
		top: 20px;
		width: 25px;
		height: 25px;
	}

	.modal_content {
		padding-top: 60px;
		padding-bottom: 60px;
	}

	.modal_main_img {
		margin-bottom: 27px;
	}
	
	.modal_product_name_area {
		padding-bottom: 26px;
		margin-bottom: 50px; 
	}

	.modal_product_name_area figure {
		width: 186px;
		margin-bottom: 0;
	}

	/* .modal_product_name_wrapper {
		width: calc(100% - 206px);
	} */

	.modal_product_prize p {
		font-size: 16px; 
		padding-left: 40px;
	}

	.modal_product_prize p::before {
		width: 28px;
		height: 40px;
	}

	.modal_product_name h2 {
		font-size: 24px; /*pc 24px*/
	}

	.modal_product_description p {
		font-size: 16px;
	}

	.modal_txt_block:not(:first-of-type) {
		margin-top: 30px;
	}

	.modal_btn_area {
		row-gap: 30px;
		margin-top: 60px;
		font-size: 20px;
	}

}

@media screen and (min-width: 769px) {
	.prize_link_img {
		display: flex;
		margin-bottom: 20px;
		padding-left: 15px;
	}

	.prize_2col {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 15px;
	}

	.prize_2col .prize_link_img figure img {
		height: 144px;
	}

	.subpage_section .arrow_right_white.news_arrow {
		width: 35px;
		height: 35px;
	}
	
	.subpage_section .arrow_right_white.news_arrow::before {
		width: 10px;
		height: 8px;
	}


}

@media screen and (min-width: 1024px) {
	/* .anchor {
		padding-top: 100px;
		margin-top: -100px;
	} */
	


	.flogo img {
		width: 160px;
	}

	.heading_h2_wrap {
		margin-bottom: min(120px, 8.6%);
		display: flex;
		column-gap: 80px;
		justify-content: space-between;
	}

	.heading_h2_wrap .heading_h2 {
		width: 30%;
	}

	.heading_right {
		width: calc(70% - 30px);
		max-width: 950px;
	}

	/*About,map*/
	/* .about_inner .txt,
	.access {
		padding: 0 max(17.5px,calc((100% - 1400px) / 2)) 0 max(17.5px,min(200px,10.4vw));
		width: calc(50.5% - 2em);
	} */

	/*gallery*/
	.item_img,
	.name_wrap {
		margin-bottom: 30px;
	}

	/*TOPこだわり*/
	.feature {
		column-gap: 3.8vw;
	}

	.feature li {
		flex: 0 1 calc((100% - 7.6vw) / 3)
	}
	

	/*swiper*/
	.prev_next_button {
		margin-top: min(80px, 6.7%);
	}

	/*商品紹介*/
	.item_list {
		grid-template-columns: repeat(4, 1fr);
	}

	/*トップSNS*/
	.sns_left {
		display: block;
		max-width: 500px;
	}

	.top_sns .inner {
		display: grid;
		grid-template-columns: 50% 480px;
		column-gap: 20px;
		justify-content: space-between;
	}

	.facebook_wrapper {
		margin-left: auto;
		width: 100%;
		
	}

	/*美味しさへのこだわり*/
	/*要調整*/
	.table_column dl {
		grid-template-columns: 1fr;
	}

	.nutrients_table {
		grid-template-columns: 159px repeat(4, 1fr);
	}

	.table_heading {
		display: block;
	}

	.table_heading > div,
	.table_column dl {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 2;
	}

	.nutrients_value {
		grid-template-columns: 1fr;
	}


	.nutrients_value div {
		font-size: 1.6rem;
		padding: 30px 10px;
		text-align: right;
		font-weight: 800;
	}

	.table1 .nutrients_value,
	.table3 .nutrients_value {
		border-right: 1px solid #fff;
	}

	.nutrients_value div:not(:last-child) {
		border-bottom: 1px solid #fff;
	}

	.nutrients_value dd:nth-child(odd) {
		border-right: none;
	}

	.nutrients_value dd:nth-child(4) {
		border-bottom: 1px solid #fff;
	}
	
	.table2 .nutrients_value {
		border-right: 1px solid #fff;
	}

	.nutrients_table dt,
	.nutrients_table .corner {
		height: 256px;
	}


	.nutrients_value dd::before {
		content: none;
	}


	.table2 .nutrients_value {
		border-right: #fff 1px solid;
	}

	/*受賞*/
	/* .prize_2col .prize_link_img figure img {
		height: 216px;
	}

	.prize_link_img figure {
		margin-bottom: -80px;
		width: 40%;
	}

	.prize_link_img {
		padding-left: 15px;
	}

	.prize_anchor_link_btn p {
		padding-left: calc(40% + 20px);
	} */

	.comment_area li {
		padding: 35px;
	}

	.comment_area li p {
		padding-left: 100px;
		display: flex;
		align-items: center;
		column-gap: 20px;
		line-height: 2;
		font-size: 1.4rem;
	}

	.comment_area li p::before {
		width: 80px;
		height: 80px;
	}

	/* .comment_area li p span {
		width: calc(100% - 100px);
	} */

	.use_wbr {
		/* white-space: pre-wrap; */
		word-break: keep-all;
	}

	
}


@media screen and (min-width: 1141px) {
	

	.prize_2col {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 60px;
		margin-bottom: 150px;
		align-items: flex-end;
	}

	.prize_anchor_link_btn .link_underline {
		width: calc(100% - 50px);
	}

	.prize_anchor_link_btn p {
		/* padding: 15px 12px 15px 25px ; */
		padding-left: calc(40% + 20px);
		font-size: 2rem;
	}

	.arrow_bottom {
		width: 35px;
		height: 35px;
	}
	

	/*********/
	/* .prize_2col .prize_link_img figure img {
		height: 216px;
	}

	.prize_link_img figure {
		margin-bottom: -80px;
		width: 40%;
	}

	.prize_link_img {
		padding-left: 15px;
	}

	.prize_anchor_link_btn p {
		padding-left: calc(40% + 20px);
	} */


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

	.prize_link_img figure {
		text-align: left;
		width: auto;
		
	}

	.prize_2col .prize_link_img figure img {
		/* height: 147px; */
		height: 216px;
	}

	.prize_link_img figure {
		margin-bottom: -80px;
		width: 40%;
	}


	.prize_link_img p {
		font-size: 1.4rem;
		width: calc(60% - 20px);
		margin-bottom: 5px;
	}

	.prize_item_img_name {
		display: flex;
		flex-direction: row;
		column-gap: 20px;
		row-gap: 20px;
		align-items: flex-end;
		width: 50%;
	}

	
	.prize_item_img_name figure {
		text-align: left;
		width: 40%;
		max-width: 158px;
	}

	.prize_item_img_name figure img {
		width: 100%;
	}

	.prize_item_name p {
		font-size: 1.4rem;
		margin-bottom: 10px;
	}
}

@media screen and (min-width: 1200px) {
	/*header navigation*/
	.header_right_bottom nav {
		display: block;
	}

	.header_right_bottom nav ul {
		display: flex;
		align-items: center;
	}

	.header_right_bottom nav ul li a {
		position: relative;
	}

	.header_right_bottom nav ul li a:hover,
	.header_right_bottom nav ul li a:focus-visible {
		color: #dc422e;
	}

	.header_right_bottom nav ul li a::before {
		content: '';
		display: inline-block;
		background: #dc422e;
		height: 1px;
		width: 100%;
		position: absolute;
		transform: scale(0, 1);
		transform-origin: right top;
		top: 100%;
		left: 0;
		transition: transform .3s;
	}

	.header_right_bottom nav ul li a:hover::before,
	.header_right_bottom nav ul li a:focus-visible::before {
			transform: scale(1, 1);
			transform-origin: left top;
	}
	
	.hader_sns {
		margin-right: 0;
	}

	.logo {
		width: 160px;
	}

	.logo img {
		width: 160px;
	}

	

	.Toggle {
		display: none;
	}

	/*header navigation*/

	.company_name span {
		display: inline-block;
	}
}

@media screen and (min-width: 1280px) {
	/*header*/
	.header_right_bottom,
	.header_right_bottom nav ul {
		column-gap: 40px;
	}

	/*商品紹介*/
	.item_list {
		column-gap: 35px;
	}

	.item_list.product {
		grid-template-columns: repeat(5, 1fr);
	}

	/*お問い合わせ*/
	.contact_banner_inner ul {
		gap: 100px
	}

	/*美味しさへのこだわり*/
	.nutrients_value div {
		padding: 30px 30px 30px 10px;
	}

	.table1 .animal,
	.table2 .animal,
	.table3 .animal,
	.table4 .animal {
		padding-top: 210px; /*pc 210px*/
	}

	.table1 .animal {
		background: url(../img/feature/table_icon1.png) no-repeat center top 10px/ 116px;
	}

	.table2 .animal {
		background: url(../img/feature/table_icon2.png) no-repeat center top 71px/ 182px;
	}

	.table3 .animal {
		background: url(../img/feature/table_icon3.png) no-repeat center top 48px/ 97px;
	}

	.table4 .animal {
		background: url(../img/feature/table_icon4.png) no-repeat center top 90px/ 174px;
	}

	.nutrients_table dt,
	.nutrients_table .corner {
		height: 316px;
	}
}
