@charset "UTF-8";
/* ==================================================
　全体
===================================================*/
*{
	padding: 0;
	margin: 0;
	text-decoration: none;
	list-style: none;
	box-sizing:border-box;
}
body{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	color: #6E6E6E;
	font-weight: 300;
	background-color: #f2f2f2;
}
.m-plus-rounded-1c-regular {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/* ==================================================
　レイアウト
===================================================*/
div#wrapper{
	width: 100%;
	position: relative; 
}
div#header_inner,div#container,div#footer_inner{
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}
/* ==================================================
　ヘッダー
===================================================*/
header{
	width: 100%;
	background-color: #f2f2f2;
	border-bottom: 5px solid #769871;
	position: relative;
	z-index: 10;
}

div#header_inner{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 10px 20px;
	flex-wrap: wrap;
}
div#header_inner h1{
	margin: 0;
}
div#header_inner h1 a img{
	max-width: 192px;
	width: 80%;
	height: auto;
	display: block;
}
div#nav_icon{
	width: 196px;
}
div#nav_icon ul{
	display: flex;
	gap: 15px;
}
.icon img{
	width: 40px;
	height: auto;
	opacity: 1;
}
.icon img:hover{
	opacity: 0.5;
}

div#nav{
	max-width: 50%;
	margin: 0 auto;
}
div#nav nav ul{
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
}
div#nav nav ul li a{
	color: #6e6e6e;
}
div#nav nav ul li a:hover{
	color: #d96f93;
}

/* ==================================================
　コンテナ
===================================================*/
div#container{
	max-width: 900px;
	padding: 0 20px;
	margin: 0 auto;
}
/* ==================================================
　パンクズリスト
===================================================*/
.breadcrumbs{
	font-size: 13px;
}
.breadcrumbs a{
	color: #6E6E6E;
}

/* ==================================================
　見出し
===================================================*/
h3{
	margin-top: 60px;
	font-weight: 400;
	font-size: 38px;
	text-align: center;
}
h4#products_h4{
	color: #385a59;
	font-size: 30px;
	font-weight: 300;
	text-align: left;
	margin-top: 60px;
	line-height: 1;
}

.Products_category h5{
	color: #87ac81;
	font-size: 22px;
	font-weight: 300;
	text-align: left;
	line-height: 1;
	margin-top: 70px;
}
h6{
	font-weight: 400;
	font-size: 26px;
}

/* ==================================================
　プロダクト_カテゴリー
===================================================*/
div#Products_list{
	width: 100%;
}

.Products_category ul{
	display: flex;
	flex-wrap: wrap;
	gap:30px;
	list-style: none;
	margin-top: 20px;
	margin-left: 20px;
}
.Products_category ul li{
	width:20%;
	padding: 20px;
	background-color: #fff;
	box-shadow: 0 0 5px rgba(0,0,0,0.1);
	align-items: center;
}
.category_card{
	display:block;
}
.category_card img{
	width: 100%;
	height: auto;
	display:block;
	opacity: 1;
}
.category_card p{
	width:100%;
	display: flex;
	justify-content: space-between;
	color: #6e6e6e;
	padding-top: 20px;
	font-size: 16px;
	line-height: 1;
	font-weight: 300;
}
.category_card p span{
	color: #87ac81;
	font-size: 22px;
	font-weight: 200;
	text-align: right;
	margin-left:10px;
}
.Products_category p{
	text-align: left;
	font-size: 16px;
}

a#Products_Gift{
	color: #6e6e6e;
	width: 190px;
	line-height: 2;
	background-color: #fff;
	margin-top: 30px;
	margin-left: 30px;
	margin-bottom: 70px;
	box-shadow: 0 0 5px rgba(0,0,0,0.1);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 20px;
}

a#Products_Gift span{
	color: #87ac81;
	font-size: 22px;
	font-weight: 200;
	text-align: right;
}
/* ==================================================
　プロダクト_商品詳細
===================================================*/
.mezame_main_wrapper, .mezame_left, .mezame_right {
    outline: 2px solid red;
}
.mezame_container {
    max-width: 1000px;
    padding: 0 20px;
    margin: 0 auto;
}
.mezame_wrapper{
	display: flex;
    gap: 5%;
    margin-bottom: 80px;
    width: 100%;
}
.mezame_left{
    width: 35%;
}
.mezame_title img{
	max-width: 100%;
	width: 80%;
}

.mezame_right{
    width: 60%;
}
.mezame_use{
	display: flex;
	max-width: 100%;
	width: 30%;
}
.product_description {
    display: flex;
    justify-content: center;
    gap: 40px;
    max-width: 1000px;
    margin: 40px auto;
}

.desc_group {
    flex: 1;
}

.row {
    display: flex;
}

.row dt {
    font-weight: bold;
    min-width: 100px;
}
.row dd {
    margin: 0;
}
.eye_catch,.Infographic{
    width: 100%;
    margin-bottom: 80px;
}

/* ==================================================
　キャンペーン
===================================================*/
.campaign_wrapper{
	background-color: #f6f4ea;
}
.campaign_container{
	max-width: 900px;
	padding: 0 20px;
	margin: 0 auto;
}
.campaign{
	position: relative;
}
.campaign_bg{
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 80px;
}
.campaign_inner{
	position: absolute; 
	text-align: center; 
	width: 100%;
	top: 3%;
	
}
.campaign_inner h3{
	top: 0;
	margin: 0;
}
.campaign section h4{
	color: #385a59;
	font-weight: 400;
	font-size: 25px;
	text-shadow: 2px 2px 2px #fff;
	line-height: 1.2;
	text-align: center;
	margin-top:20px;
}
.campaign section h4 span{
	color: #385a59;
	font-size: 20.5px;
}
.campaign_box{
	display: inline-block;
	max-width: 680px;
	background-color: rgba(255,255,255,0.8);
	border-radius: 0 25px 0 25px;
	padding:18px 22px;
	margin-top:80px;
	text-align: center;
}
.campaign_box p{
	font-size:16px;
	color: #6E6E6E;
	line-height: 1.6;
	text-align: left;
	font-weight: 200;
}
.subheading{
	margin-top: 90px;
	margin-bottom: 30px;
}
.campaign_category{
	width: 100%;
	display: flex;
	background-color: rgba(255,255,255,0.5);
	margin-bottom: 80px;
}
.campaign_category img{
	width: 50%;
	object-fit:cover;
}
.campaign_category p{
	width: 48%;
	font-weight: 200;
	line-height: 1.8;
	letter-spacing: 0.05em;
	margin: 10px 15px 10px 15px;
	text-align: justify;
}
.campaign_category p span{
	font-weight: bold;
}
.campaign_list{
	width: 48%;
	margin:15px;
	line-height:1.8;
	font-weight:200;
	padding-left: 0;
}
.campaign_button{
	margin: 0 auto;
	max-width: 250px;
	align-items: center;
	justify-content: center;
	position: relative;
}
.campaign_button img{
	width: 100%;
}
.campaign_button p{
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	top:25%;
	position: absolute;
	left:5%;
	text-shadow: 2px 2px 2px #385a59;
}
/* ==================================================
　about usページ
===================================================*/
.aboutus_wrapper{
	background-color: #dee9dd;
}
.aboutus_container{
	max-width: 1000px;
	padding: 0 ;
	margin: 0 auto;
}
.aboutus{
	max-width: 900px;
	width: 100%;
	background: url("../images/about_bg.png")no-repeat center top;
	background-size:900px auto;
	margin: 0 auto;
	padding-top:60px;
}

.a_story{
	background-color: rgba(255,255,255,0.5);
	border-radius: 20px;
	max-width:600px;
	margin:0 auto;
	padding: 20px;
}
.a_story_box{
	width: 100%;
	max-height: auto;
	margin: 0 auto;
	padding: 0px;
}
.a_story_box h3{
	display: block;
	width: 100%;
	max-width: 600px;
	text-align: center;
	margin-top: 0;
	margin-bottom: 50px;
}
.a_story_box h4{
	color: #385a59;
	font-weight: 400;
	font-size: 25px;
	text-shadow: 2px 2px #fff;
	line-height: 1.2;
	text-align: center;
	margin-top:10px;
	margin-bottom:40px;
}
.a_story_box p{
	color: #385a59;
	font-weight: 300;
	font-size: 20px;
	text-shadow: 2px 2px #fff;
	line-height: 2;
	text-align: justify;
}
.a_company{
	max-width: 600px;
	width: 100%;
	padding-top: 60px;
	text-align: right;
	margin: 0 auto;
}
.a_company h3,.a_joinus h3{
	padding-bottom: 30px;
}
.a_company a{
	color: #6e6e6e;
	display: inline-block;
	text-align: right;
	margin-top: 10px;
}
.a_company a:hover{
	color: #d96f93;
}
.a_company_list{
	display:flex;
	flex-wrap:wrap;
	max-width:500px;
	margin:40px auto 0;
}
.a_company_list dt{
	width:30%;
	font-weight:600;
	padding:10px 0;
	background-color: #7da676;
	color: #FFFFFF;
	text-align: center;
	margin-bottom: 20px;
}

.a_company_list dd{
	width:70%;
	margin:0;
	padding:10px 10px;
	border-bottom:1px solid #7da676;
	background-color: rgba(255,255,255,0.5);
	margin-bottom: 20px;
}
.a_farms{
	max-width: 600px;
	width: 100%;
	margin: 0 auto;
	clear: both;
}

.a_farms h3{
	display: block;
	width: 100%;
	max-width:600px;
	margin:60px auto 30px;
	text-align:center;
}
.a_farms p{
	width: 100%;
	max-width:600px;
	text-align:justify;
}
.a_farms_box{
	display:flex;
	gap:30px;
	justify-content:center;
	margin-top:40px;
}

.a_farms_box img{
	width:30%;
	border-radius:10px;
	object-fit:cover;
}
.aboutus .a_joinus{
	max-width: 600px;
	width: 100%;
	margin: 80px auto;
	clear: both;
}
.a_joinus p{
	width: 100%;
	max-width:600px;
	text-align:justify;
}
.a_joinus a{
	color: #6e6e6e;
	display: inline-block;
	text-align: right;
	float: right; 
	padding-bottom: 30px;
}
.a_joinus a:hover{
	color: #d96f93;
}

/* ==================================================
　ガイド
===================================================*/
.guide_container{
	max-width: 1000px;
	padding: 0 ;
	margin: 0 auto;
}
.guide_wrapper {
    display: flex;
    gap: 10%;
    align-items: flex-start;
}
.guide_left {
    width: 250px;
    flex-shrink: 0;
	position:sticky;
    top: 20px;
	background-color: #FFFFFF;
	padding: 10px;
	align-self: flex-start;
	margin-top: 62px;
}
.page_link{
	border-left: 3px solid #96b690;
	padding-left: 5px;
	text-decoration: none;
	color: #96b690;
	opacity: 1;
	line-height: 2;
}
.page_link:hover{
	opacity: 0.5;
}
.guide_main {
    flex-grow: 1;
	width: 100%;
}
.guide_category {
    font-size: 16px;
    font-weight: 200;
    line-height: 1.8;
    margin-bottom: 60px;
}

.guide_category:last-of-type {
    margin-bottom: 0;
}
h3.guide_title{
	color: #385a59;
    font-size: 1.5em;
    margin-bottom: 20px;
    font-weight: 400;  
	text-align: left;
	border-left: 5px solid #4e8482;
	border-bottom: 1px solid #4e8482;
	padding-left: 10px;
	background-color: #FFFFFF;
}
ul .g_list_style{
	list-style-type:none;
	padding-left: 0;
}
.g_list_style li{
	position: relative;
	padding-left: 40px;
	margin-bottom: 10px;
}
.g_list_style li::before{
    content: "●";
    position: absolute;
    left: 15px;
    font-size: 15px;
    color: #4e8482;
}
.g_list_img img{
	display: block;
	height: auto;
	max-width: 350px;
	width: 100%;
	padding-left: 0;
	padding-bottom: 20px;
}
.g_list_style li.g_list_img::before {
    content: none;
}
.delivery_list{
    display: block;
    margin-bottom: 20px;
	left: 15px;
	margin: 0;
	padding: 0;
}
.delivery_list dt{
	display: inline;
    width: 30%;
	margin: 0;
	padding: 0;
	text-align: justify;
}
.delivery_list dd{
	display: inline;
    width: 70%;
    margin: 0;
	padding: 0;
	text-align: left;
}
.delivery_list dd::after {
    display: block;
    content: "";
}
/* ==================================================
　トップページへのボタン
===================================================*/
div#TOP_button a img{
	width: 55px;
	position: fixed;
	bottom: 100px;
	right: 100px;
	opacity: 1;
	z-index: 999;
}
div#TOP_button a img:hover{
	opacity: 0.8;
}

/* ==================================================
　フッター
===================================================*/
footer{
	width: 100%;
	background-color:#7DA676;
	color: #fff;
	margin-top:60px;
}
div#footer_inner{
	padding: 40px 20px 0;
	margin: 0 auto;
}

div#footer_up{
	display:flex;
	flex-wrap:wrap;
	gap:40px;
	justify-content: space-between;
}
div#footer_up nav ul{
	display: flex;
	gap: 20px;
}
.access{
	width: 110px;
	height: 130px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align:center;
	border-radius: 5px;
	background-color: rgba(255,255,255,0.3);
	opacity: 1;
}
.access:hover{
	opacity: 0.5;
}
.access a {
	width: 100%;
	aspect-ratio:1/1;
}
.access a img{
	width: 60px;
	height: 60px;
	object-fit: contain;
	margin-top: 8px;
	margin-bottom: 8px;
}
.access a p{
	color: #FFFFFF;
	font-size:12px;
	margin-top: 5px;
	line-height: 1.2;
}
div#site_map{
	display: flex;
	gap: 60px;
}
.map_list{
	text-align: left;
	line-height: 2;
}
.map_list ul li a{
	color: #FFFFFF;
	opacity: 1;
}
.map_list ul li a:hover{
	opacity: 0.5;
}
.map_list ul li a span{
	margin-left: 1.3rem;
}
div#footer_low{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top:30px;
	padding-bottom: 20px;
}
div#Copyright{
	max-width: 260px;
	text-align: left;
}
div#Copyright a img{
	max-width: 200px;
	display: block;
	opacity: 1;
}
div#Copyright a img:hover{
	opacity: 0.5;
}
div#Copyright small{
	display: block;
	left: 0;
}
div#SNS_contact{
	display: flex;
	gap: 15px;
}
div#SNS_contact a img{
	height: 40px;
	opacity: 1;
}
div#SNS_contact a img:hover{
	opacity: 0.5;
}

/* ==================================================
　タブレット用
===================================================*/

@media (max-width:768px){

.Products_category li{
	width:50%;
}
div#footer_up{
	flex-direction:column;
}
div#site_map{
	flex-wrap:wrap;
	gap:30px;
}
.map_list{
	width:45%;
}
body{
	font-size:14px;
}

h3{
	font-size:32px;
}

h4#products_h4{
	font-size:24px;
}

.Products_category h5{
	font-size:18px;
}

.category_card p{
	font-size:14px;
}
.campaign_inner h3{
	margin-top: 0px;
}
.campaign_inner h4{
	margin-top: 0px;
	}
.campaign_box{
	display: none;
}
.campaign_box p{
	display: none;
}
div#TOP_button a img{
	right: 20px;
	width: 8%;
}
.a_farms h3{
	display: block;
	width: 100%;
	max-width:600px;
	margin:60px auto 30px;
	text-align:center;
}
.a_story_box p{
line-height: 1.5;
}
}
/* ==================================================
　スマホ用
===================================================*/

@media (max-width:480px){
div#nav_icon{
	width: 40px;
}
#nav_icon ul li:not(:last-child){
		display: none;
}
div#nav{
		display: none;
}
.Products_category ul li{
	width:100%;
}
div#footer_up nav ul{
	flex-wrap:wrap;
	gap:10px;
	justify-content:center; 
}
div#nav nav ul li{
	gap:10px;
}
div#site_map{
	flex-direction:column;
	gap:20px;
}
.map_list{
	width:100%;
}
div#footer_low{
	flex-direction:column;
	gap:20px;
	align-items:flex-start;
}
body{
	font-size:13px;
}

h3{
	font-size:26px;
}

h4#products_h4{
	font-size:20px;
}

.Products_category h5{
	font-size:16px;
}
.category_card img{
	width:100%;
	aspect-ratio:1/1;
	object-fit:cover;
}
div#TOP_button a img{
	right: 20px;
	width: 10%;
}
.campaign{
	position: relative;
	margin-bottom: 80px;
}
.campaign_inner{
	position: absolute;
	padding-top: 0;
	top:0;
	margin:0;
}	
.campaign_inner h3 {
	margin:0;
	padding: 10px 0 0;
}
.campaign_inner h4 {
	font-size: 18px;
}
.campaign_inner h4 span{
	font-size: 16px;
}
.campaign_box{
	max-width: 100%;
	margin:0;
}
.campaign_box p{
	display: none;
}
.campaign_category{
	flex-direction:column;
}
.campaign_bg{
	margin-bottom: 80px;
}
.campaign_category img{
	width:100%;
}
.campaign_category p,.campaign_list{
	width: 100%;
	margin: 0;
	padding: 10px;
	box-sizing: border-box;
	text-align: justify;
	line-height: 1.8;
	font-weight: 200;
	letter-spacing: 0.05em;
  }
.subheading span,.campaign_inner h4 span{
	display:block;
}
.a_story_box p{
	font-size: 16px;
	line-height: 1.5;
}
.a_farms_box{
	flex-direction:column;
	align-items:center;
}

.a_farms_box img{
	width:100%;
	max-width:400px;
}
.a_company_list dt,.a_company_list dd{
	width: 100%; 
	text-align: left;
}
.a_company_list dt{
	margin-bottom: 0; 
}
.a_joinus a {
	float: none;
	display: block;
	text-align: right;
	margin-top: 10px;
}
.guide_wrapper{
	flex-direction: column;
}
.guide_left{
width: 100%;
position: static;
margin-bottom: 20px;
}
.mezame_main_wrapper{
    flex-direction: column;
}
.mezame_left,.mezame_right{
	width: 100%;
}
.Infographic{
	display: flex;
	flex-direction: column;
	align-items: center;
}
}
