@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Sedan&family=Shippori+Mincho:wght@500;600&family=Zen+Kaku+Gothic+New:wght@400;500&display=swap');
html { 
	font-size: 62.5%;
}
body {
	min-width: 1000px;
	font-family: "Zen Kaku Gothic New", sans-serif;
    font-optical-sizing: auto;
	font-style: normal;
    font-size: 1.6rem;
    color: var(--black);
    letter-spacing: 0.1em;
    line-height: 1.8;
}
li{
	list-style: none;
}
a{
	text-decoration: none;
    transition: all 0.3s ease-in-out;
	color: #333639;
}
img{
	width: 100%;
    vertical-align: bottom;
}

.flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.s-flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.f-r_reverse{
    flex-direction: row-reverse;
}
.inner1200{
    max-width: 1200px;
    width: 90%;
	margin: 150px auto 0;
}
 /*スマホ～改行する*/
    .sp{
        display:none;
    }
/*========= 配色設定===============*/

:root {
    --black: #132C23;
    --gray: #D1D2BE;
    --white: #FFFFFF;
    --accentgreen: #C9E5D3;
    --lightGreen: #EFF6EA;
}

/*========= スクロールすると下からふわっとでてくる ===============*/
.inview {
	 /* 30px下げる */
	transform: translateY(30px);
	/* 要素を透明にする */
	opacity: 0;
	/* 2秒かけて、変化させる */
	transition: transform 1s, opacity 1s;
}
.inview.show {
	transform: translateY(0);
	opacity: 1;
}

/*========= 上に戻るボタン ===============*/
.top{
	position: fixed;
	right: 10px;
    bottom: 10px;
    width: 50px;
    height: 50px;
	border-radius: 50%;
    background: #F9F9FC;
    border: solid 1px #92928a;
    z-index: 100;
}
.top a{
	postion: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}
.top a::before{
	font-family:'Material Symbols Outlined';
	content: '\e5d8';
	font-size: 2.4rem;
	color: #92928a;
	position: absolute;
	top: 5%;
	right: 10px;
	margin: auto;
}

/*========= セクションタイトル ===============*/
.sec-title_ja{
    font-family: "Shippori Mincho", serif;
	font-size: 1.6rem;    
    font-weight: 600;
    margin-bottom: 32px;
    display: inline-block;
	white-space: nowrap;
}
.sec-title_en{
    color: var(--accentgreen);
	font-family: "Sedan", serif;
	font-size: 7rem;
    font-weight: 400;
	display: block;
    line-height: 1;
}

/*========= 小見出し ===============*/
.subheading{
	font-family: "Shippori Mincho", serif;  
    font-weight: 600;
	font-size: 3.2rem;
}

/*========= 基本の文字 ===============*/
.basic-txt{
    padding-top: 16px;
}

/*========= ヘッダー ===============*/
.header {
	width: 100%;
    height: 110px;
    padding: 0px 32px 0px 0px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 500;
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.header_logo{
	width: 80px;
	visibility: hidden;
	transition: visibility 0s, opacity 0.3s ease;
	opacity: 0;
}
/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
.header.HeightMin{
	padding: 0px 32px;
	position: fixed;
    z-index: 300;/*最前面へ*/
	height: 100px;
	animation: DownAnime 0.7s forwards;
	background: var(--white);
	box-shadow: 0px 5px 13px #e9e9e9a3;
}
/*HeightMinというクラス名がついたらロゴを表示（TOPのみ）*/
.header.HeightMin .header_logo {
  visibility: visible;
  opacity: 1;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}
/*下層ページヘッダー*/
#lower .header_logo{
	width: 100px;
	height: 100%;
	visibility: visible;
    opacity: 1;
    background: #fff;
    padding: 26px 12px 12px 12px;
}
/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#lower .header.HeightMin .header_logo{
	width: 80px;
	height: auto;
    padding: 0;
}

/*========= ナビゲーションのためのCSS ===============*/
/*ナビゲーション*/
#g-nav ul {
    display: inline-flex;
    margin-top: 16px;
}
/*HeightMinというクラス名がついた後*/
.header.HeightMin #g-nav ul{
	margin-top: 8px;
}
/*リストのレイアウト設定*/
#g-nav li a{
    font-size: 1.4rem;
    font-weight: 500;
	text-decoration: none;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
    margin-left: 35px;
	color: var(--white);
	text-shadow: 0px 0px 5px #000;
}
/*HeightMinというクラス名がついた後*/
.header.HeightMin #g-nav li a{
	color: var(--black);
	text-shadow: none;
}
#g-nav li a:hover{
	color: #BBD5C5;
    font-weight: 700;
	text-shadow: none;
}
.sp_logo{
	display: none;
	width: 200px;
}
/*ハンバーガーボタンのためのCSS*/
.openbtn{
	display:none;
}
.law #g-nav li a,.company #g-nav li a,.contact #g-nav li a{
	color: var(--black);
	text-shadow: none;
}
/*========= 下層ページFV ===============*/
.subfv-area{
	height: 500px;
}
.subfv-area h1{
	font-family: "Shippori Mincho", serif;
	font-size: 4rem;
	max-width: 1200px;
	margin: 0 auto;
    padding-top: 200px;
    width: 90%;
    color: #fff;
	letter-spacing: 0.2em;
}
.law .subfv-area h1,.company .subfv-area h1,.contact .subfv-area h1{
	color: var(--black);
	padding-top: 120px;
	font-size: 3.2rem;
}
.about .subfv-area{
	background: url("../images/about_fv.jpg") no-repeat center center / cover;
}
.product .subfv-area{
	background: url("../images/product_fv.jpg") no-repeat center center / cover;
}
.store .subfv-area{
	background: url("../images/store_fv.jpg") no-repeat center center / cover;
}
.business .subfv-area{
	background: url("../images/business_fv.jpg") no-repeat center center / cover;
}
.news .subfv-area,.news_detail .subfv-area{
	background: url("../images/news_fv.jpg") no-repeat center center / cover;
}
.law .subfv-area,.company .subfv-area,.contact .subfv-area{
	height: 200px;
}
/*========= パンくずリスト ===============*/
.breadcrumbs-area{
    width: 100%;
    border-bottom: 1px solid #CBC8C8;
}
.breadcrumbs{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 10px 0;
	background-color: transparent;
	max-width: 1200px;
	margin: 0 auto;
	width: 90%;
}
.breadcrumbs_items:first-child{
	margin-left: 0px;
}
.breadcrumbs_items{
	font-size: 1.4rem;
	font-weight: 400;
    margin-left: 4px;
}
.breadcrumbs_items::after{
	content:"\e315";
	font-family: "Material Symbols Outlined";
	color: #A6A5A5;
	display: inline-block;
	transform: translateY(2px);
	padding-left: 4px;
}
.breadcrumbs_items:last-child::after{
	display: none;
}

/*========= ボタンコンポ―ネント ===============*/
.btn{
    display: inline-flex;
	background: transparent;
    justify-content: center;
    align-items: center;
    padding: 15px 24px;
    border-radius: 50px;
    text-align: center;
    height: 50px;
    letter-spacing: 0.05em;
    overflow: hidden;
    position: relative;
    z-index: 100;
    white-space: nowrap;
	border: solid 1px var(--black);
	margin-top: 32px;
}
.btn:hover{
	background: var(--lightGreen);
}
.btn::after{
    content: "";
    display: inline-block;
    background-image: url(../images/icon.png);
    background-size: cover;
    background-position: center;
    width: 25px;
    height: 25px;
    margin-left: 16px;
	transition: all 0.2s ease-in-out;
}
.btn:hover::after{
    transform: translateX(5px);
}

/*========= フッター ===============*/
.footer{
	background: var(--accentgreen);
    padding: 64px 0 0;
	margin-top: 150px;
}
.footer_company{
	text-align: center;
	font-weight: 500;
}
.footer_company img{
	width: 120px;
	padding-bottom: 16px;
}
.footer_nav{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	max-width: 1200px;
    margin: 40px auto;
    width: 90%;
}
.footer_nav li{
	width: 150px;
    text-align: center;
}
.footer_nav li a{
	padding: 24px 0;
    display: block;
	font-weight: 500;
}
.copyright{
	font-size: 1.252rem;
	padding: 24px 0;
	border-top: 1px solid #A4A4A4;
	color: #48514B;
	line-height: 3;
	text-align: center;
	height: 10%;
}

/*========= FV ===============*/
/*FVスライドショーCSSのみで実装*/
.fv_slider {
    width: 100%;
    height: 700px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    display: block;
}
.fv_slider_sp{
	display: none;
}
.fv_slider ul{
	margin: 0;
	padding: 0;
}
.fv_slider ul li{
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	animation-iteration-count: infinite;
	animation-duration: 24s;
}
.sp_img{
	display: none;
}
.fv_slider ul li img{
	height: 700px;
	object-fit: cover;
}
.fv_slider ul li:nth-child(1){
	animation-name: slider;
	animation-delay: -3s;
}
.fv_slider ul li:nth-child(2){
	animation-name : slider;
	animation-delay: 5s;
	opacity: 0;
}
.fv_slider ul li:nth-child(3){
	animation-name: slider;
	animation-delay: 13s;
	opacity: 0;
}
@keyframes slider{
	0%{
		opacity: 0;
	}
	20.83%{
		opacity: 1;
	}
	33.33%{
		opacity: 1;	
	}
	45.83%{
		opacity: 0;	
	}
	100%{
		opacity: 0;
		transform: scale(1.1) ;
	}	
}
.fv-text_area{
	background: rgba(255, 255, 255, 0.7); /* 半透明白 */
	width: 400px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	backdrop-filter: blur(10px);
}
.fv_logo{
	width: 200px;
	margin: 0px 20px 0 50px;
	display: block;
}
.fv_text{
	width: 80%;
	height: 500px;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	text-align: center;
	font-family: "Shippori Mincho", serif;
}
.fv_copy{
	font-size: 2.4rem;
	line-height: 1.5;
	margin-top: 32px;
}

.osaka_new{
	font-size: 2rem;
	margin-top: 32px;
}
.osaka_new span{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 0.4em;
	vertical-align: top;
}
.osaka_new::before, .osaka_new::after{
	content:"";
	background: var(--black);
	width: 30px;
	height: 1px;
	display: inline-block;
	transform: translateY(-5px);
}
.osaka_new::before{
	margin-right: 8px;
}
.osaka_new::after{
	margin-left: -3px;
}
.cm{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-size: 1.0rem;
	color: #848484;
	text-align: right;
	display: block;
}

/*========= オープンバナー ===============*/
.banner_area{
	position: relative;
}
.banner_wrap{
	max-width: 1500px;
	width: 70%;
    height: 200px;
    z-index: 200;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
}
.open_banner img{
    border-radius: 20px;
}

/*========= product ===============*/
.product_area{
	margin-top: 250px;
}
.product_copy{
	font-family: "Shippori Mincho", serif;
	font-size: 4rem;
	font-weight: 500;
	text-align: center;
	margin-top: 20px;
	letter-spacing: 0.1em;
}
.product_wrap{
	width: 100%;
	height: 1050px;
	background: url("../images/osaka_bg.png");
	background-position: 60% 0;
	background-size: contain;
	background-repeat: no-repeat;
	position: relative;
	overflow: hidden;
}
.product_img01{
	width: 95%;
	max-width: 1100px;
	position: absolute;
	top: 13%;
	right: 0;
	left: 0;
	bottom: 0;
	margin: auto;
	z-index: 2;
}
.product_img02{
	width: 40%;
	max-width: 650px;
	position: absolute;
	top: 60%;
	left: 0;
}
.product-text_content{
	max-width: 1200px;
    width: 90%;
	margin: 0 auto;
	padding-top: 500px;
}
.product_text{
	width: 330px;
	margin-left: auto;
}
/*流れる文字CSSのみで実装*/
.text-slide {
    display: flex;
    width: 100vw;
    margin-inline: calc(50% - 50vw);
    position: absolute;
    top: -5%;
    z-index: 1;
}
.text-item {
    flex-shrink: 0;
    white-space: nowrap;
    font-size: 180px;
	font-family: "Sedan", serif;
	letter-spacing: 0.01em;
    color: #EFF6EA;
}
.text-item:nth-child(odd) {
    animation: MoveLeft 48s -24s infinite linear; /*//48秒かけて-24秒後に無限ループさせる*/
  }

.text-item:nth-child(even) {
    animation: MoveLeft2 48s infinite linear; /*//48秒かけて無限ループさせる*/
  }
@keyframes MoveLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes MoveLeft2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

/*========= まこもについて ===============*/
.about_area{
	width: 100%;
	overflow: hidden;
	position: relative;
	padding-bottom: 100px;
}
.about_area .inner1200{
	margin: 100px auto 0;
}
.about_text{
    width: 35%;
}
.about_img{
    width: 50%;
    height: 450px;
    position: relative;
}
.about_img::before{
	content: "";
	display: inline-block;
    background-image: url(../images/kamo.png);
    background-size: cover;
    background-position: center;
    width: 150px;
    height: 90px;
	position: absolute;
    top: 0;
    left: -100px;
    z-index: 100;
    transform: rotateY(180deg);
}
.about_area::after{
	content: "";
	display: inline-block;
    background-image: url(../images/top_fish.png);
    background-size: cover;
    background-position: center;
    width: 420px;
    height: 95px;
    position: absolute;
    top: 78%;
    right: 2%;
    z-index: 100;
    transform: rotate(-10deg);
}
.about_img img{
    width: 160%;
    height: 450px;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    border-radius: 15px;
}

/*========= まこも３つの効能 ===============*/
.effects_area {
    text-align: center;
}
.effects_area h2{
    text-align: center;
	font-family: "Shippori Mincho", serif;
	font-size: 4rem;
	font-weight: 500;
	margin-bottom: 24px;
	letter-spacing: 0.1em;
}
.effects_list li{
	width: 19%;
	height: 300px;
	text-align: center;
}
.effects_list li h3{
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-size: 2.4rem;
	white-space: nowrap;
}
.effects_list.flex{
	justify-content: center;
	gap: 32px;
}
.effects_icon{
	background: var(--lightGreen);
	width: 130px;
	height: 130px;
	border-radius: 50%;
	display: flex;
    align-items: center;
    justify-content: center;
	margin: 20px auto 24px;
}
.effects_icon img{
	width: 40%;
}

/*========= お客様の声 ===============*/
.voices_area h2{
	text-align: center;
}
.voices_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px;
}
.voices_list li{
	width: 45%;
	display: flex;
	background: var(--lightGreen);
	padding: 40px 24px;
    border-radius: 12px;
}
.voices_list li img{
	width: 90px;
	height: 100px;
	object-fit: cover;
	margin-right: 24px;
}
.voices_list li h3{
	font-size: 2.4rem;
	font-weight: 500;
}

/*========= 生産背景 ===============*/
.process_area{
	width: 100%;
	overflow: hidden;
}
.process_img{
	width: 50%;
	height: 650px;
	position: relative;
}
.process_img img{
    width: 160%;
    height: 650px;
    position: absolute;
    top: 0;
    right: 0;
    object-fit: contain;
}
.process_text{
	width: 45%;
}
.process_text p{
	width: 80%;
}
/*すべて自社で完結*/
.process_flow{
	border:solid 1px #B9C8B6;
	border-radius: 12px;
	max-width: 1200px;
	width: 90%;
	margin: 32px auto 0;
}
.process_flow h4{
	text-align: center;
	font-size: 2rem;
	background: #88B484;
	color: #fff;
	width: 60%;
	margin: -25px auto;
	padding: 8px;
	border-radius: 12px;
}
.process-flow_list{
	display: flex;
	justify-content: center;
}
.process-flow_list li{
	width: 25%;
	text-align: center;
	padding: 56px 0px 40px;
	display: flex;
    align-items: center;
}
.process-flow_list li img{
	width: 150px;
    height: 100px;
    object-fit: contain;
}
.process-flow_list li p{
	font-size: 2rem;
	font-weight: 500;
	white-space: nowrap;
}
.process-flow_list li::after{
	content: "";
	display: block;
    background-image: url(../images/arrow.png);
    background-size: contain;
    background-position: center;
    width: 60px;
    height: 20px;
    margin-left: 30px;
}
.process-flow_list li:last-child{
	display: block;
	width: 12%;
}
.process-flow_list li:last-child::after{
	display: none;
}

/*========= ご購入について ===============*/
.buy_area{
	width: 100%;
	height: 600px;
	background: var(--lightGreen);
	overflow: hidden;
	margin-top: 150px;
}
.buy_wrap{
	max-width: 1200px;
    width: 90%;
	margin: 0 auto 0;
}
.buy_img{
	width: 50%;
    height: 600px;
    position: relative;
}
.buy_img img{
	width: 160%;
   	height: 600px;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}
.buy_text{
	width: 40%;
}

/*========= 店舗紹介・法人のお客様へ ===============*/
.shop-business_wrap{
	width: 45%;
}
.shop-business_img{
	width: 100%;
    height: 280px;
	border-radius: 12px;
	margin-bottom: 24px;
}
.shop_pic{
	background: url("../images/shop_img.jpg") no-repeat center center / cover;
}
.business_pic{
	background: url("../images/business_img.jpg") no-repeat center center / cover;
}
.shop-business_text{
    height: 250px;
}

/*========= News ===============*/
.news_area{
	background: var(--lightGreen);
	border-radius:12px;
	padding: 40px 56px;
}
.news_title{
	width: 30%;
}
.news_title .btn{
	margin-top: 0px;
}
.news-content{
	width: 70%;
}
.news_wrap{
	display: flex;
}

/*========= お知らせ詳細ページ ===============*/
#up_ymd{
	text-align: left;
    padding-top: 8px;
    padding-bottom: 24px;
}
.detailUpfile{
	margin: 32px 0 35px;
	text-align: center;
}
.backORcloseBtn{
	text-align: center;
	line-height: 100%;
	margin-top: 40px;
}
.backORcloseBtn a{
	display:inline-block;
    background: #f5f2de;
    width: 250px;
    padding: 16px; 
}
.detailText{
    font-size: 1.6rem;
}
.detailUpfile img{
	max-width: 80%;
	height: auto;
}

/*========= まこもについてページ ===============*/
.about_zone{
	position: relative;
	width: 100%;
	overflow: hidden;
}
.about_zone .flex{
	justify-content: flex-start;
}
.about_zone .about_text{
	margin-left: 80px;
}
.about_zone::before{
	content: "";
	display: inline-block;
    background-image: url(../images/makomo_cut.png);
    background-size: cover;
    background-position: center;
    width: 550px;
    height: 600px;
	position: absolute;
    top: -200px;
    right: -240px;
    z-index: 100;
    transform: rotate(-130deg);
}
.about_img02{
	width: 90%;
	margin-left: auto;
	margin-top: 80px;
}
.about_img02 img{
	border-top-left-radius: 12px;
	border-bottom-left-radius: 12px;
}
.farm_zone{
	width: 100%;
	overflow: hidden;
}
.farm_zone .flex{
	justify-content: flex-start;
	align-items: flex-start;
}
.farm_img{
	width: 50%;
	height: 650px;
	position: relative;
}
.farm_img img{
	position: absolute;
	border-radius: 12px;
	object-fit: cover;
}
.farm01{
    top: 20%;
    right: 50%;
	width: 120%;
    height: 500px;
}
.farm02{
    top: 0;
    right: 0%;
	width: 60%;
    height: 450px;
}
.farm_text{
	margin-left: 80px;
	width: 35%;
	position: relative;
}
.farm_text h2{
	white-space: nowrap;
}
.farm_text::after{
	content: "";
	display: inline-block;
    background-image: url(../images/river.png);
    background-size: cover;
    background-position: center;
    width: 780px;
    height: 450px;
	position: absolute;
    top: 230px;
    right: -350px;
	opacity: 0.2;
}
.farm_text::before{
	content: "";
	display: inline-block;
    background-image: url("../images/kamo.png");
    background-size: cover;
    background-position: center;
    width: 130px;
    height: 80px;
	position: absolute;
    top: 150%;
    right: 150px;
	transform: rotateY(180deg);
}

/*========= まこもの特徴・効能 ===============*/
.pe_zone h2{
	text-align: center;
}
.pe_diagram {
	position: relative;
	max-width: 1000px;
	margin: auto;
	height: 800px;
}
.diagram_img {
	width: 28%;
    display: block;
    position: absolute;
    top: -10%;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
}
.pe_item {
	position: absolute;
	padding: 0.5em;
	width: 30%;
	text-align: center;
}
.pe_item img{
	width: 180px;
}
.pe_item h3{
	font-family: "Shippori Mincho", serif;
	font-size: 2.4rem; 
	white-space: nowrap;
}
.item-left-top   { top: 0; left: 5%; }
.item-left-bottom{ bottom: 8%; left: 5%;}
.item-right      { top: 40%; right: -3%; }

.item-left-top::after, .item-left-bottom::after, .item-right::after{
	content:"";
	width: 90px;
	height: 70px;
	display: inline-block;
	position: absolute;
}
.item-left-top::after{
	background: url("../images/effect_line01.png");
	background-size: contain;
	background-repeat: no-repeat;
	top: 130px;
    left: 280px;
}
.item-left-bottom::after{
	background: url("../images/effect_line02.png");
	background-size: contain;
	background-repeat: no-repeat;
	bottom: 100px;
    left: 300px;
}
.item-right::after{
	background: url("../images/effect_line03.png");
	background-size: contain;
	background-repeat: no-repeat;
	bottom: 120px;
    right: 300px;
}

/*========= 生産背景 ===============*/
.process_zone{
	width: 100%;
	overflow: hidden;
	margin-top: 120px;
	position: relative;
	padding: 80px 0;
}
.process_zone h2{
	max-width: 1200px;
    margin: 0 auto;
    width: 70%;
}
.process_bg{
	position: absolute;
	right: 0;
  	top: 0;
  	width: 90%;
  	height: 100%;
  	background: var(--lightGreen);
  	border-radius: 50px 0 0 50px;
  	z-index: -1;
}
.process_wrap{
    width: 100%;
    height: auto;
	counter-reset: num;
}
.process_content{
	max-width: 1200px;
	margin: 40px auto 0;
	width: 70%;
}
.process_content:nth-child(2) .process_pic img {
    left: auto;
    right: 0;
}
.process_writing{
    width: 40%;
	z-index: 100;
	position: relative;
	counter-increment: num;
}
.process_writing::before{
	content: counter(num, decimal-leading-zero);
    position: absolute;
    top: -75px;
    left: 0;
    color: var(--accentgreen);
	font-family: "Sedan", serif;
	font-size: 6rem;
	line-height: 1;
}
.process_writing h3{
	font-family: "Shippori Mincho", serif;
	font-size: 2.4rem;
	position: relative;
}
.process_writing p{
    padding-top: 24px;
    line-height: 1.8;
}
.process_pic{
    width: 50%;
    height: 400px;
    position: relative;
}
.process_pic img{
    width: 160%;
    height: 400px;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    border-radius: 15px;
}

/*========= 商品紹介ページ ===============*/
.quality_zone{
	width: 100%;
	overflow: hidden;
}
.quality_zone .flex{
	justify-content: flex-start;
	align-items: flex-start;
}
.quality_img{
	width: 50%;
	height: 450px;
	position: relative;
}
.quality_img img{
	width: 130%;
	height: 450px;
	position: absolute;
	top: 0;
	right: 0;
	border-radius: 12px;
	object-fit: cover;
}
.quality_text{
	margin-left: 80px;
	width: 35%;
	position: relative;
}
.quality_text h2{
	white-space: nowrap;
}
.product_list{
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
}
.product_item{
	width: 28%;
	padding: 24px 0;
}
.item_name{
	font-size: 1.8rem;
	font-weight: 500;
}
.price{
	color: #7B7B7B;
}
/*モーダルウィンドゥ*/
.modal_wrap{
	display: flex;
}
.modal_img{
	width: 50%;
}
.modal_text{
	width: 50%;
	margin-left: 32px;
}
.modal_price{
	font-size: 2rem;
	padding: 8px 0;
}
.modal_detail{
	font-size: 1.4rem;
}
.modal-img_s{
	display: flex;
	justify-content: space-between;
    padding-top: 16px;
}
.modal-img_s img{
	width: 48%;    
	height: 150px;
    object-fit: cover;
}
.modal_table{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-top: 24px;
}
.modal_table dt{
	width: 30%;
	background: var(--lightGreen);
	border-bottom: solid 1px var(--gray);
    padding: 12px;
    font-weight: 500;
    font-size: 1.4rem;
}
.modal_table dd {
    width: 70%;
    border-bottom: solid 1px var(--gray);
    padding: 12px 0px 12px 12px;
    font-size: 1.4rem;
}
/*========= まこも枕の使用効果 ===============*/
.pillow-ef_bg{
	width: 100%;
	height: auto;
	background: url("../images/effects.jpg") no-repeat center center / cover;
	padding: 80px 0;
}
.pillow-ef_list{
    max-width: 1200px;
	width: 90%;
	margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.pillow-ef_list li{
    width: 48%;
    height: 200px;
    background: rgba(255, 255, 255, 0.6);
    padding: 32px;
    border-radius: 15px;
	position: relative;
}
.pillow-ef_list li:nth-child(n+3){
    margin-top: 24px;
}
.pillow-ef_title{
	display: flex;
	align-items: center;
	margin-bottom: 16px;
}
.pillow-ef_title img{
	width: 50px;
}
.pillow-ef_title h3{
	font-family: "Shippori Mincho", serif;
	font-size: 2.4rem;
    font-weight: 500;
	margin-left: 12px;
}
/*========= 調節機能 ===============*/
.adjust_img{
	width: 50%;
	height: 400px;
	background: url("../images/adjust.jpg") no-repeat center center / cover;
	border-top-left-radius: 12px;
	border-bottom-left-radius: 12px;
}
.adjust_text{
	width: 50%;
	height: 400px;
	background: #E2E3CE;
	padding: 80px 40px;
	border-top-right-radius: 12px;
	border-bottom-right-radius: 12px;
}
.adjust_text h2{
	font-family: "Shippori Mincho", serif;
	font-size: 2.4rem;
    font-weight: 500;
	padding-bottom: 12px;
}
/*========= お取り扱いについて ===============*/
.information_area.flex{
	align-items: flex-start;
}
.information_area{
	padding-top: 80px;
	border-top: solid 1px var(--gray);
}
.information_text{
	width: 45%;
}
.information_text h2{
	font-family: "Shippori Mincho", serif;
	font-size: 2.4rem;
    font-weight: 500;
	padding-bottom: 14px;
}
.list_style li{
	position: relative;
	padding-left: 20px;
}
.list_style li::before{
	content:"・";
	position: absolute;
	left: 0;
}
.information_text h3{
    text-indent: -1em;
	padding-left: 16px;
	padding-top: 24px;
	font-weight: 500;
}
.information_text h3::before{
	content:"";
	background: var(--black);
    width: 12px;
    height: 12px;
    display: inline-block;
    margin-right: 8px;
}

/*========= 店舗紹介ページ ===============*/
.store_zone.flex{
	align-items: flex-start;
}
.store_text{
	width: 50%;
}
.store_text h2{
	font-family: "Shippori Mincho", serif;
    font-weight: 500;
	font-size: 2.4rem;
}
.dldt_table{
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-top: 24px;
}
.dldt_table dt{
	width: 30%;
	border-bottom: solid 1px var(--gray);
    padding: 24px 24px 24px 0px;
    font-weight: 500;
}
.dldt_table dd {
    width: 70%;
    border-bottom: solid 1px var(--gray);
    padding: 24px 0px 24px 24px;
}
.store_img{
	width: 45%;
}
.store_map{
	padding: 24px;
}
.store_pic{
	height: 300px;
	object-fit: cover;
}
/*========= 店舗写真ギャラリー ===============*/
.gallery_zone{
	margin-top: 120px;
}
.gallery-img_l{
	width: 100%;
	height: 600px;
}
.gallery-img_l img{
	object-fit: cover;
	height: 600px;
}
.gallery-img_s{
	display: flex;
	height: 400px;
}
.gallery-img_s img{
	width: 50%;
	height: 400px;
	object-fit: cover;
}

/*========= 法人のお客様へページ ===============*/
.business_zone p{
	width: 50%;
	line-height: 2.5;
}
.care_zone .flex{
	align-items: flex-start;	
}
.care_wrap:last-child{
	margin-top: 80px;
}
.care_img{
	width: 45%;
	height: 450px;
}
.care_img img{
	border-radius: 12px;
	height: 450px;
	object-fit: cover;
}
.care_text{
	width: 48%;
}
.care_text h2{
	font-family: "Shippori Mincho", serif;
    font-weight: 500;
	font-size: 2.4rem;
}
.accordion-area {
    background: var(--lightGreen);
    padding: 16px 18px;
    border-radius: 24px;
    margin-top: 24px;
}
/*アコーディオンタイトル*/
.a_title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    transition: all .5s ease;
	padding-bottom: 12px;
}
/*アイコンの＋と×*/
.ac_btn{
	display: inline-block;
    position: relative;
  	width: 30px;
  	height: 30px;
  	border-radius: 50px;
  	background: var(--black);
	margin-right: 12px;
	transform: translateY(10px);
}
.ac_btn::before,
.ac_btn::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background: var(--white);
	transition: transform 0.3s ease;
}
.ac_btn::before{
    top:48%;
    left: 8px;
    transform: rotate(0deg);
}
.ac_btn::after{    
    top:48%;
    left: 8px;
    transform: rotate(90deg);
}
/* closeがついたら形状変化 */
.a_title.close .ac_btn::before {
	transform: rotate(45deg);
}

.a_title.close .ac_btn::after {
	transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: var(--white);
    padding: 24px;
}
.flow_zone{
	background: var(--lightGreen);
	border-radius: 12px;
	padding: 80px;
}
.flow_zone h2{
	font-family: "Shippori Mincho", serif;
    font-weight: 500;
	font-size: 2.4rem;
}
.flow_list li{
	width: 100%;
    height: 100px;
    display: flex;
    align-items: center;
    counter-increment: flowcount;
    position: relative;
    padding-left: 60px;
}
.flow_list li::before {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    content: counter(flowcount);
    background: var(--white);
	font-weight: 600;
}
.flow_list li::after {
    content: "";
    display: block;
	background-image: radial-gradient(circle, var(--gray) 2px, transparent 2px), radial-gradient(circle, var(--gray) 2px, transparent 2px), radial-gradient(circle, var(--gray) 2px, transparent 2px), radial-gradient(circle, var(--gray) 2px, transparent 2px);
  	background-position: left top, right top, left bottom, left top;
  	background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
  	background-size: 13px 4px, 4px 13px, 13px 4px, 4px 13px;
    width: 4px;
    height: 50px;
    position: absolute;
    top: 75%;
    left: 17px;
}
.flow_list li:last-child::after {
    display: none;
}

/*========= お知らせ一覧ページ ===============*/
.news_zone{
	padding-top: 80px;
    padding-bottom: 40px;
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
}
ul#newsList li{
    display: flex;
    align-items: center;
	margin: 0;
	padding: 32px 0;
	border-bottom: 1px dotted #ccc;
	line-height: 120%;
	list-style-type: none;
}
ul#newsList li::after{
	content: "";
    display: inline-block;
    background-image: url(../images/icon.png);
    background-size: contain;
    background-position: center;
    width: 25px;
    height: 25px;
    margin-left: auto;
}
ul#newsList li:hover{
    opacity: 0.5;
}
.news-wrap{
    display: flex;
}
.title{
    display: block;
	margin-left: 24px;
}
.ymd-cat{
    display: flex;
    align-items: center;
}
.ti-new{
    display: flex;
    align-items: center;
	margin-left: 24px;
}

.newMark{
	display: inline-block;
    font-size: 1.252rem;
    line-height: 100%;
    font-weight: 700;
    color: #bca81f;
    padding: 0px 24px;
}
.comment{
	display: block;
	padding: 3px 0;
	float: left;
	overflow: hidden;
	width: 500px;/* 本文部分の幅。ここは特に設置ページ合わせて変更下さい */
}
.thumbNailWrap{
	display: block;
	width: 110px;
	float: left;
	height: 80px;
	overflow: hidden;
}

/* Pager style（外部化可） */
.pager{
	text-align: right;
	padding: 10px;
	clear: both;
}
/*ページャーボタン*/
.pager a{
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    font-size: 12px;
    padding: 3px 7px 2px;
    text-decoration: none;
	margin: 0 1px;
}

/*現在のページのボタン*/
.pager a.current{
    background: #999;
    border: 1px solid #999;
    border-radius: 5px 5px 5px 5px;
    color: #fff;
    font-size: 12px;
    padding: 3px 7px 2px;
	margin: 0 1px;
    text-decoration: none;
}
.pager a:hover{
    background: #999;
    color: #fff;
}

/*========= お知らせ詳細ページ ===============*/
.news-detail-zone{
	max-width: 1200px;
	width: 90%;
	margin: 40px auto;
}
/*========= フォーム ===============*/
.form_tel {
    padding: 0 0 80px;
}
.form_tel a{
    font-size: 6rem;
    font-weight: 600;
    letter-spacing: 0.05em;
}
.form_tel a::before{
    content: "\e7ba";
    display: inline-block;
    font-family: "Material Symbols Outlined";
    font-size: 5rem;
    font-weight: 400;
    color: #799082;
    padding-right: 8px;
    transform: translateY(4px);
}
.open-hours{
	font-size: 1.4rem;
}
.form-wrap{
	width: 60%;
}
.form-table{
    width: 100%;
}
.form-table tr{
	width: 100%;
	border-bottom: 1px solid #DDDDDD;
	padding: 25px 0px;
	display: flex;
}
.form-table tr:last-child{
	border-bottom: none;
}
.form-table th{
	width: 30%;
	text-align: left;
	padding-left: 5px;
	display: flex;
	align-items: center;
    justify-content: space-between;
	line-height: 1.2;
}
.form-table td{
	width: 70%;
	text-align: left;
}
.form-table textarea:focus, .form-table input:focus {
	outline: #DCDCDC solid 4px;
}
.form-table input{
	width: 100%;
	height: 40px;
    background: #f2f2f2;
	padding-left: 15px;
	border-radius: 5px;
	font-size: 1.6rem;
}
.form-table textarea{
	width: 100%;
	height: 180px;
    background: #f2f2f2;
	border-radius: 5px;
	padding: 10px 15px;
	font-size: 1.6rem;
}
.essential,.any{
	font-size: 1.2rem;
	padding: 2px 4px;
	border-radius: 3px;
	margin-right: 24px;
	white-space: nowrap;
	font-weight: 500;
	color: #fff;
	line-height: 1.2;
}
.essential{
	background: #DE6A7F;
}
.any{
	background: #939597;
}
.privacypolicy{
	width: 60%;
    padding: 16px 40px;
    border-radius: 12px;
    height: 200px;
    overflow-y: scroll;
    border: solid 1px #D0D0D0;
    margin: 20px auto 0;
}
.privacypolicy h3{
    font-size: 1.6rem;
    font-weight: 600;
    text-align: center;
}
.privacypolicy p{
    font-size: 1.3rem;
    line-height: 1.8;
    text-align: left;
    padding-top: 8px;
}
.check_content{
	text-align: center;
}
.check_content label{
    width: 60%;
	background: #d3d6d5;
	padding: 20px;
	margin: 40px auto;
	display: inline-block;
    cursor: pointer;
    border-radius: 12px;
    text-align: center;
	white-space: nowrap;
}
.check_content input[name="個人情報保護方針"]{
	margin-right: 8px;
}
.submit_btn{
    text-align: center;
}
.submit_btn input[type="submit"]{
	background: var(--black);
	color: #fff;
	display: inline-block;
	width: 300px;
	padding: 20px;
	border-radius: 12px;
	transition: 0.3s;
}
.submit_btn input[type="submit"]:hover{
	opacity: 0.5;
}

/*========= 確認画面・エラーページ ===============*/
#formWrap {
	max-width: 900px;
	width: 90%;
	margin: 40px auto;
	color: #555;
	line-height: 120%;
	font-size: 90%;
}
#formWrap h3,#formWrap h4{
	font-size: 2rem;
	padding: 24px 0;
	text-align: center;
	line-height: 2;
}
.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
.formTable td, .formTable th{
	border:1px solid #ccc;
	padding:10px;
}
.formTable th{
	width:30%;
	font-weight:normal;
	background:var(--lightGreen);
	text-align:left;
}
.back{
	background: #8B8686;
    padding: 10px 50px;
    color: #fff;
	margin-top: 24px;
	border-radius: 8px;
}
.send{
    background: var(--black);
    padding: 10px 50px;
    color: #fff;
	border-radius: 8px;
}
.error_messe{
	margin: 32px 0;
	color: red;
}

@media (max-width: 959px){
    body {
        min-width: 650px;
        font-size: 1.4rem;
    }
    .flex{
        flex-direction: column;
        align-items: flex-start;
    }
	.t_flex{
		display: flex;
		align-items: center;
		justify-content: center;
	}
    .flex-re{
        flex-direction: column-reverse;
    }
    .inner1200{
        width: 100%;
        padding: 0 24px;
		margin: 120px auto 0;
    }
     /*タブレット～スマホ改行なし*/
    .tb{
        display: none;
    }
	
    /*========= セクションタイトル ===============*/
    .sec-title_en{
	    font-size: 5rem;
    }
	
    /*========= 小見出し ===============*/
    .subheading{
        font-size: 2.4rem;
    }
	
    /*========= ヘッダー ===============*/
    .header {
        height: 60px;
		background: var(--white);
		box-shadow: 0px 5px 13px #e9e9e9a3;
		padding: 0px;
    }
	.header_logo{
		width: 80px;
		visibility: visible;
		opacity: 1;
		margin-left: 16px;
	}
    .header_logo img{
        width: 60%;
    }
	/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
	.header.HeightMin{
		height: 60px;
	}
	/*下層ページヘッダー*/
	#lower .header_logo{
		width: 80px;
		height: auto;
		padding: 0;
	}
    /*========= ナビゲーションのためのCSS ===============*/
	/*ナビゲーション*/
	#g-nav{
		/*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
		position:fixed;
		z-index: -1;
		opacity: 0;/*はじめは透過0*/
		/*ナビの位置と形状*/
		top:0;
		width:100%;
		height: 100%;/*ナビの高さ*/
		background: url("../images/nav_bg.jpg");
		background-size: cover;
		pointer-events: none;
		/*動き*/
		transition: all 0.3s;
	}

	/*アクティブクラスがついたら透過なしにして最前面へ*/
	#g-nav.panelactive{
		opacity: 1;
		z-index:999;
		pointer-events: auto; /* ← 開いたときだけ操作可能に */
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list{
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999; 
		width: 100%;
		height: 100vh;/*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	/*ナビゲーション*/
	#g-nav ul {
		display: none;
		/*ナビゲーション天地中央揃え*/
		position: absolute;
		z-index: 999;
		top:50%;
		left:50%;
		transform: translate(-50%,-50%);
	}

	#g-nav.panelactive ul {
		display: block;
		text-align: center;
	}
	/*リストのレイアウト設定*/
    #g-nav li a{
		color: var(--black);
		text-shadow: none;
		margin-left: 0px;
		margin-bottom: 24px;
    }
	.sp_logo{
		display: block;
		width: 120px;
        margin: 40px auto;
        padding-right: 24px;
	}
	
    /*========= ボタンのためのCSS ===============*/
    .openbtn{
        display: block;
        position:fixed;
        z-index: 9999;/*ボタンを最前面に*/
        top:10px;
        right: 10px;
        cursor: pointer;
        width: 50px;
        height:50px;
    }
    /*×に変化*/	
    .openbtn span{
        display: inline-block;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 1px;
        border-radius: 2px;
        background-color: #666;
        width: 45%;
    }
    .openbtn span:nth-of-type(1) {
        top:15px;	
    }
    .openbtn span:nth-of-type(2) {
        top:23px;
    }
    .openbtn span:nth-of-type(3) {
        top:31px;
    }
    .openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        transform: translateY(6px) rotate(-45deg);
        width: 30%;
    }
    .openbtn.active span:nth-of-type(2) {
        opacity: 0;
    }
    .openbtn.active span:nth-of-type(3){
        top: 30px;
        left: 18px;
        transform: translateY(-6px) rotate(45deg);
        width: 30%;
    }
	
	 /*========= 下層ページFV ===============*/
	.law .subfv-area h1,.company .subfv-area h1,.contact .subfv-area h1{
		font-size: 2.8rem;
		padding-top: 80px;
	}
	
	/*========= パンくずリスト ===============*/
    .breadcrumbs{
	    padding-top: 8px;
        padding-bottom: 8px;
    }
	
	/*========= ボタンコンポ―ネント ===============*/
	.btn:hover,.btn:active {
		background: transparent;
	  }
	
	/*========= フッター ===============*/
	.footer_company img{
		padding-right: 8px;
	}
	.footer_nav li a {
		padding: 12px 0;
	}
   
    /*========= FV ===============*/
	/*FVスライドショーCSSのみで実装*/
	.fv_slider {
		height: 500px;
	}
	.fv_slider ul li img{
		height: 500px;
	}
	.fv-text_area{
		background: rgba(255, 255, 255, 0.3);
		width: 300px;
		backdrop-filter: blur(15px);
	}
	.fv_text{
		height: 420px;
	}
	.fv_logo {
		width: 120px;
		margin: 0px auto;
	}
	.fv_copy{
		margin-top: 24px;
	}
	
	 /*========= main ===============*/
    main{
        padding-top: 60px;
    }
	
	/*========= オープンバナー ===============*/
	.banner_wrap{
		width: 80%;
		top: 10px;
	}
	
	/*========= product ===============*/
	.product_area {
		margin-top: 120px;
	}
	.product_copy{
		font-size: 3.2rem;
	}
	.text-item {
		font-size: 120px;
	}
	.product_wrap {
    	height: 750px;
	}
	.product_img01{
		top: 5%;
	}
	.product-text_content {
		padding-top: 330px;
	}
	
    /*========= まこもについて ===============*/
	.about_area .inner1200 {
		margin: 0px auto 0;
	}
	.about_text{
		width: 100%;
		margin-top: 40px;
	}
	.about_img{
		width: 100%;
		height: 250px;
		margin-top: 40px;
	}
	.about_img img{
		width: 130%;
		height: 250px;
	}
    
	/*========= まこも３つの効能 ===============*/
	.effects_area h2{
		font-size: 3.2rem;
		margin-bottom: 64px;
	}
	.effects_list li{
		width: 100%;
		height: auto;
		display: flex;
		text-align: left;
		align-items: center;
	}
	.effects_icon{
		margin: 0 auto;
	}
	.effects_text {
		width: 70%;
	}
	
	/*========= お客様の声 ===============*/
	.voices_list li{
		padding: 32px 20px;
	}
	.voices_list li img {
		width: 70px;
		height: 80px;
		margin-right: 15px;
	}
	.voices_list li h3 {
		font-size: 2rem;
	}
	
	/*========= 生産背景 ===============*/
	.process_img {
		width: 100%;
		height: 500px;
	}
	.process_img img{
		width: 100%;
		height: 500px;
		right: 5%;
	}
	.process_text{
		width: 100%;
	}
	.process_text p {
		width: 100%;
	}
	.process_flow h4{
		width: 100%;
	}
	.process-flow_list li {
    	width: 35%;
	}
	.process-flow_list li::after{
		width: 30px;
	}
	.process-flow_list li img {
		width: 80px;
		height: 80px;
	}
	.process-flow_list li p{
		font-size: 1.8rem;
	}
	
	/*========= ご購入について ===============*/
	.buy_area{
		height: auto;
		margin-top: 100px;
	}
	.buy_wrap{
		width: 100%;
	}
	.buy_text {
		width: 100%;
		padding: 32px 24px;
	}
	.buy_img {
		width: 100%;
		height: 200px;
	}
	.buy_img img {
		width: 100%;
		height: 200px;
	}
	
	/*========= 店舗紹介・法人のお客様へ ===============*/
	.shop-business_wrap {
		width: 100%;
	}
	.shop-business_wrap:last-child {
		margin-top: 56px;
	}
	.shop{
		background: url(../images/map.png) no-repeat center center / contain;
	}
	.shop-business_img {
		width: 100%;
		height: 250px;
	}
	
	/*========= News ===============*/
	.news_area.inner1200{
		padding: 40px 24px;
	}
	.news-content {
		width: 100%;
	}
	.ti-new{
		margin-top: 16px;
		margin-left: 0px;
	}
	ul#newsList li::after{
		width: 16px;
    	height: 16px;
	}
	ul#newsList li:hover,ul#newsList li:active{
    opacity: 1;
	}
	
	/*========= まこもについてページ ===============*/
	.about_zone .about_text{
		margin-left: 0px;
	}
	.about_zone::before{
		width: 450px;
		height: 500px;
		top: -230px;
		right: -100px;
	}
	.farm_text {
		margin-left: 0px;
		width: 100%;
	}
	.farm_text p{
		margin-top: 40px;
	}
	.farm_text::before {
		top: 110%;
		right: 150px;
	}
	.farm_text::after {
		width: 580px;
		height: 250px;
		top: 100px;
		right: -90px;
		opacity: 0.1;
	}
	.farm_img {
		width: 100%;
		height: 500px;
		margin-top: 80px;
	}
	.farm01 {
		top: 50%;
		right: auto;
		left: -5%;
		width: 80%;
		height: 200px;
	}
	.farm02 {
		top: 0;
		right: -5%;
		width: 80%;
		height: 200px;
	}
	
	/*========= まこもの特徴・効能 ===============*/
	.pe_diagram {
		height: auto;
	}
	.diagram_img {
		width: 24%;
		margin: 32px auto;
		position: static;
	}
	.pe_item {
		position: static;
		width: 100%;
		text-align: left;
		padding: 32px 0;
	}
	.pe_item p{
		width: 60%;
		margin: 0 auto;
	}
	.pe_title {
		margin-bottom: 16px;
		gap: 5%;
	}
	.item-left-top::after, .item-left-bottom::after, .item-right::after{
		display: none;
	}
	
	/*========= 生産背景 ===============*/
	.process_bg{
		width: 95%;
	}
	.process_pic {
		width: 100%;
		height: 230px;
	}
	.process_pic img {
		height: 230px;
	}
	.process_writing {
		width: 100%;
		padding-top: 40px;
	}
	.process_writing::before {
		top: -40px;
	}
	
	/*========= 商品紹介ページ ===============*/
	.quality_text {
		margin-left: 0px;
		width: 100%;
	}
	.quality_img {
		width: 100%;
		height: 300px;
		margin-top: 24px;
	}
	.quality_img img{
		width: 130%;
		height: 300px;
		right: -30px;
	}
	.product_item {
		width: 48%;
	}
	.item_name{
		font-size: 1.4rem;
	}
	/*モーダルウィンドゥ*/
	.modal_table dt{
		width: 40%;
		padding: 12px;
	}
	.modal_table dd {
		width: 60%;
		padding: 12px 0px 12px 12px;
	}
	/*========= まこも枕の使用効果 ===============*/
	.pillow-ef_list li {
		height: auto;
	}
	/*========= 調節機能 ===============*/
	.adjust_img{
		width: 100%;
		height: 200px;
		border-top-left-radius: 0px;
		border-bottom-left-radius: 12px;
		border-bottom-right-radius: 12px;
	}
	.adjust_text{
		width: 100%;
		height: auto;
		border-top-left-radius: 12px;
		border-bottom-right-radius: 0px;
	}
	/*========= お取り扱いについて ===============*/
	.information_area{
		padding-top: 0px;
	}
	.information_text {
		width: 100%;
		padding-top: 40px;
	}
	
	/*========= 店舗紹介ページ ===============*/
	.store_text {
		width: 100%;
	}
	.store_img {
		width: 100%;
	}
	.store_map {
		padding: 80px;
	}
	/*========= 店舗写真ギャラリー ===============*/
	.gallery-img_l{
		height: 300px;
	}
	.gallery-img_l img{
		height: 300px;
	}
	.gallery-img_s{
		height: 200px;
	}
	.gallery-img_s img{
		height: 200px;
	}
	/*========= 法人のお客様へページ ===============*/
	.business_zone p {
		width: 100%;
	}
	.care_img,.care_img img {
		width: 100%;
		height: 250px;
		object-position: top;
	}
	.care_text {
    	width: 100%;
		padding-top: 24px;
	}
	.flow_zone{
		padding: 80px 40px;
	}
	
	/*========= お知らせ一覧ページ ===============*/
	.news_zone{
		padding: 40px 24px;
		width: 100%;
	}

    /*========= フォーム ===============*/
    .form-table tr{
        flex-direction: column;
    }
    .form-table th{
        width: 100%;
        padding-bottom: 15px;
        justify-content: flex-start;
    }
    .form-table td{
        width: 100%;
    }
    .form-table input{
        width: 100%;
    }
    .essential, .any {
        margin-left: 8px;
    }
	.privacypolicy {
		width: 80%;
	}
	.check_content label {
		width: 80%;
	}
}
@media (max-width: 560px){
     body{
        min-width: 360px;
        font-size: 1.4rem;
    }
	.sp_img{
		display: block;
	}
	.pc_img{
		display: none;
	}
    .s-flex{
        flex-direction: column;
        align-items: flex-start;
    }
    .fc-reverse{
        flex-direction: column-reverse;
    }
	 /*スマホ～改行する*/
    .sp{
        display:block;
    }
	.inner1200{
		margin: 80px auto 0;
    }
	
    /*========= セクションタイトル ===============*/
    .sec-title_ja{
        font-size: 1.6rem;
		margin-bottom: 24px;
    }
    .sec-title_en{
        font-size: 3.2rem;
        line-height: 1;
		margin-bottom: 8px;
    }
   
    /*========= ナビゲーションのためのCSS ===============*/
     /*リストのレイアウト設定*/
    #g-nav li a{
        margin-bottom: 20px;
        margin-left: 0px;
        font-size: 1.3rem;
    }
	.sp_logo{
		width: 130px;
	}
    
	/*========= 下層ページFV ===============*/
	.subfv-area{
		height: 180px;
	}
	.law .subfv-area,.company .subfv-area,.contact .subfv-area{
		height: 180px;
	}
	.subfv-area h1{
		font-size: 2.4rem;
		padding-top: 80px;
		width: 90%;
	}
	.law .subfv-area h1,.company .subfv-area h1,.contact .subfv-area h1{
		font-size: 2.4rem;
	}
	
	/*========= パンくずリスト ===============*/
	.breadcrumbs{
	    width: 100%;
		padding: 8px 12px;
    }
	
	/*========= フッター ===============*/
   .footer {
    margin-top: 100px;
	}
	
    /*========= FV ===============*/
	/*FVスライドショーCSSのみで実装*/
	.fv_slider {
		height: 550px;
	}
	.fv_slider ul li img{
		height: 550px;
	}
	.fv_slider ul li img:nth-child(2){
		object-position: right;
	}
	.fv_logo{
        width: 150px;
        padding-right: 20px;
    }
	.fv_slider ul li:nth-child(2) img{
		object-position: right;
	}
	.fv-text_area{
		background: rgba(0, 0, 0, 0.3);
        width: 100%;
        backdrop-filter: blur(0px);
    }
	.fv_text{
		color: #fff;
		height: 430px;
	}
	.osaka_new::before, .osaka_new::after{
		background: var(--white);
	}
	/*========= オープンバナー ===============*/
	.banner_wrap {
		width: 90%;
	}
	/*========= product ===============*/
	.product_area{
		margin-top: 30%;
	}
	.product_copy{
		font-size: 2rem;
		padding: 0 24px;
	}
	.product_wrap{
        height: 680px;
    }
	.text-item {
        font-size: 80px;
    }
	.product_img01{
		min-width: 450px;
    }
	.product_img02{
		width: 30%;
		top: 200px;
    }
	.product-text_content {
        padding-top: 290px;
    }
    /*========= まこもについて ===============*/
    .about_area .inner1200{
        margin: 8px auto 0;
    }
	.about_area::after {
		width: 250px;
		height: 60px;
		background-size: contain;
		top: 88%;
		right: -5%;
	}
    .about_img{
		height: 180px;
	}
	.about_img::before{
		width: 80px;
		height: 50px;
		top: 0;
		left: 10px;
	}
	.about_img img{
		height: 180px;
		left: 20%;
	}
	/*========= まこも３つの効能 ===============*/
	.effects_area h2{
		font-size: 2.4rem;
		margin-bottom: 40px;
	}
	.effects_icon {
		width: 60px;
		height: 60px;
		margin: 20px auto 24px;
	}
	.effects_list li h3 {
		font-size: 2rem;
	}
	.effects_list.flex {
		gap: 8px;
	}
	.effects_text {
        width: 80%;
		margin-left: 10px;
    }
	/*========= お客様の声 ===============*/
	.voices_list {
		gap: 16px;
		margin-top: 0px;
	}
	.voices_list li{
		width: 100%;
		padding: 20px;
	}
	.voices_list li h3 {
        font-size: 1.8rem;
    }
	/*========= 生産背景 ===============*/
	.process_img{
		 height: 250px;
		 margin-top: 24px;
    }
	.process_img img{
        height: 250px;
    }
	.process_flow h4 {
		font-size: 1.8rem;
		line-height: 1.5;
	}
	.process-flow_list li img {
        width: 50px;
        height: 50px;
	}
	 .process-flow_list li p {
        letter-spacing: 0.001em;
        font-size: 1.4rem;
    }
	.process-flow_list li::after {
		width: 20px;
		margin-left: 2px;
	}
	.process-flow_list li:last-child{
		width: 15%;
	}
	/*========= 店舗紹介・法人のお客様へ ===============*/
	.shop-business_img {
		height: 180px;
	}
	
	/*========= まこもについてページ ===============*/
	.about_zone::before {
        width: 250px;
        height: 300px;
        top: -130px;
        right: -80px;
    }
	/*========= まこもの特徴・効能 ===============*/
	.diagram_img {
		width: 40%;
		margin: 24px auto;
	}
	.farm_img{
        height: 300px;
    }
	.farm01 {
        left: -10%;
        width: 100%;
        height: 120px;
    }
	.farm02{
        right: -10%;
        width: 100%;
        height: 120px;
    }
	.farm_text::before {
		width: 90px;
		height: 60px;
		top: 113%;
		right: 40px;
	}
	.pe_item img{
		width: 120px;
	}
	.pe_item p{
		width: 100%;
	}
	
	/*========= 商品紹介ページ ===============*/
	/*モーダルウィンドゥ*/
	.modal_wrap{
		flex-direction: column;
	}
	.modal_img{
		width: 100%;
	}
	.modal_text{
		width: 100%;
		margin-left: 0px;
		margin-top: 24px;
	}
	.modal_price{
		font-size: 1.6rem;
	}
	.modal-img_l{
		height: 180px;
		object-fit: cover;
	}
	.modal-img_s{
		padding-top: 10px;
	}
	.modal-img_s img{
		height: 120px;
	}
	.modal_table dt{
		width: 30%;
		padding: 8px;
	}
	.modal_table dd {
		width: 70%;
		padding: 8px 0px 8px 8px;
	}
	.modaal-close {
		width: 45px;
		height: 45px;
	}
	.modaal-close:before, .modaal-close:after {
		background: var(--black);
		width: 2px;
		top: 10px;
		left: 20px;
	}
	.modaal-wrapper .modaal-close {
		background: var(--white);
		border: solid 1px var(--black);
	}
	/*========= まこも枕の使用効果 ===============*/
	.pillow-ef_list{
		flex-direction: column;
	}
	.pillow-ef_list li {
		width: 100%;
		padding: 16px 24px;
	}
	.pillow-ef_list li:nth-child(n+3){
		margin-top: 8px;
	}
	.pillow-ef_list li:nth-child(2){
		margin-top: 8px;
	}
	.pillow-ef_title h3{
		font-size: 2rem;
	}
	.pillow-ef_title img {
		width: 30px;
	}
	.adjust_text{
		padding: 40px 24px;
	}
	/*========= 調節機能 ===============*/
	.adjust_text h2{
		font-size: 2rem;
	}
	/*========= お取り扱いについて ===============*/
	.information_text h2{
		font-size: 2rem;
	}
	
	/*========= 店舗紹介ページ ===============*/
	.dldt_table{
		flex-direction: column;
	}
	.store_text h2{
		font-size: 2rem;
	}
	.dldt_table dt{
		width: 100%;
		border-bottom: none;
		padding: 24px 0px 0px 0px;
		font-weight: 500;
	}
	.dldt_table dd {
		width: 100%;
		border-bottom: solid 1px var(--gray);
		padding: 8px 0 24px;
	}
	.store_map {
        padding: 24px;
    }
	.store_pic{
		height: 180px;
	}
	/*========= 店舗写真ギャラリー ===============*/
	.gallery-img_l{
		height: 200px;
	}
	.gallery-img_l img {
        height: 250px;
    }
	
	/*========= 法人のお客様へページ ===============*/
	.care_img,.care_img img {
		height: 180px;
	}
	.flow_zone {
        padding: 40px 16px;
    }
	.flow_zone h2{
		padding-bottom: 16px;
	}
	.flow_list li{
		padding-left: 50px;
	}
	.flow_list li::before{
		width: 30px;
		height: 30px;
	}
	.flow_list li::after{
		left: 13px;
	}
	
	/*========= お知らせ一覧ページ ===============*/
	ul#newsList li{
		padding: 24px 0;
	}
	.news-wrap{
		flex-direction: column;
	}
	.title{
		margin-left: 0px;
		padding-top: 16px;
	}
	.newMark{
		padding: 8px 0 0 0;
	}

    /*========= フォーム ===============*/
	.form_tel {
    	padding: 0 0 40px;
	}
	.form_tel a{
		font-size: 3.8rem;
		letter-spacing: 0.05em;
	}
	.form_tel a::before{
		content: "\e7ba";
		display: inline-block;
		font-family: "Material Symbols Outlined";
		font-size: 3.2rem;
		font-weight: 400;
		color: #799082;
		padding-right: 2px;
		transform: translateY(3px);
	}
	.open-hours{
		font-size: 1.6rem;
	}
    .form-table{
        padding: 16px 0;
    }
    .form-table textarea{
		width: 100%;
    }
	.privacypolicy {
		width: 100%;
		padding: 16px;
		height: 180px;
	}
	.check_content label {
		width: 100%;
	}
	.submit_btn input[type="submit"]{
		padding: 24px;
		height: auto;
	}
	.submit_btn input[type="submit"]:hover,.submit_btn input[type="submit"]:active{
		opacity: 1;
	}
	/*========= 確認画面・エラーページ ===============*/
	#formWrap {
		width:95%;
		margin: 40px auto 80px;
	}
	.formTable th, .formTable td {
		width:auto;
		display:block;
	}
	.formTable th {
		margin-top:5px;
		border-bottom:0;
	}
	#formWrap h3,#formWrap h4{
		font-size: 1.6rem;
		padding: 24px;
		line-height: 1.5;
	}
	form input[type="submit"], form input[type="button"] {
		display:block;
		width:100%;
		height:40px;
	}
	.send{
		margin-top: 8px;
	}
 
}