@charset "UTF-8";

/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)){
	all: unset;
	display: revert;
}
*,*::before,*::after{
	box-sizing: border-box;
}
a, button{
	cursor: revert;
}
ol, ul, menu{
	list-style: none;
}
img{
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea{
	-webkit-user-select: auto;
	user-select: auto;
}
textarea{
	white-space: revert;
}
meter{
	-webkit-appearance: revert;
	appearance: revert;
}
::placeholder{
	color: unset;
}
:where([hidden]){
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])){
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	line-break: after-white-space;
	-webkit-user-select: auto;
	user-select: auto;
}
:where([draggable="true"]){
	-webkit-user-drag: element;
}

/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html{
	font-size: 62.5%;
}
body{
	font-family: YakuHanJP, 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', 'Meiryo', 'Hiragino Kaku Gothic ProN', sans-serif;
	font-size: 1.6em;
	font-weight: 400;
	letter-spacing: 0.2rem;
	font-feature-settings: 'palt';
	overflow-wrap: break-word;
	background-color: var(--colorCream);
}
p{
	line-height: 1.7;
}
a{
	color: #000;
	text-decoration: none;
	transition: all 0.3s;
}
a:link{
	color: #000;
}
a:visited{
	color: #000;
}
a:hover{
	text-decoration: none;
}
@media (any-hover: hover)
	a:hover {
		text-decoration: none;
		opacity: 0.7;
	}	
}

@media print, screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events: none;
	}
}

/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}


/*
	common
-----------------------------------------------------------------------------------------------*/
/* 変数 */
:root{
	/* color */
	--colorBrown:#6A1800;
	--colorOcher:#E3C17F;
	--colorCream:#FFFAEC;
	--colorNblue:#004097;

	/* width */
	--widthBase: 1200px;

	/* font-family */
	--ffSerif: 'Noto Serif JP', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', 'MS PMincho', serif;
}

/* box
============================== */
/* wrapper */
#wrapper{
	position:relative;
}

/* ctsWrapper */
#ctsWrapper{
	overflow: hidden;
}

/* ctsArea */
.ctsArea{
	width: var(--widthBase);
	margin: 0 auto;
	padding-inline: 30px;
}

/* サブナビゲーション
============================== */
[class^="subNavArea"]{
	display: flex;
	position: absolute;
	right: 30px;
}
.subNavAreaTop{
	top: 0;
	right: 120px;
}
.subNavAreaBtm{
	top: -37px;
}
a[class^="subNavBtn"]{
	display: inline-block;
	padding: 12px 25px 12px 12px;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0;
	color: #fff;
	line-height: 1.0;
	border-radius: 0 0 5px 5px;
	position: relative;
	transition: opacity 0.3s;
}
@media (any-hover: hover){
    a[class^="subNavBtn"]:hover{
        opacity: 0.7;
    }
}
.subNavAreaBtm a[class^="subNavBtn"]{
	border-radius: 5px 5px 0 0;
}
a[class^="subNavBtn"]::after{
	content:' ';
	display:block;
	width:6px;
	height:6px;
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	transform:translateY(-50%) rotate(45deg);
	transform-origin:0 0;
	position:absolute;
	top:45%;
	right:8px;
}
a.subNavBtnBusiness{
	background-color: var(--colorNblue)
}

/* タイトル
============================== */
.titCmnArea{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding-bottom: 80px;
}
.titCmnImg{
	transform: rotate(-2deg);
}
.titCmnSub{
	margin-top: -40px;
	font-family: var(--ffSerif);
	font-size: 2.4rem;
	font-weight: 600;
	color: var(--colorBrown);
	letter-spacing: 0.5rem;
	z-index: 1;
}

/* ボタン
============================== */
.btnArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px;
}
a.btnBase{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 340px;
	min-height: 70px;
	padding: 15px 30px;
	padding-right: 60px;
	font-family: var(--ffSerif);
	font-size: 1.6rem;
	font-weight: 600;
	color: #fff;
	background-color: var(--colorNblue);
	border-radius: 35px;
	position: relative;
}
.icoArrow{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	aspect-ratio: 1/1;
	background-color: var(--colorCream);
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	transition: all 0.3s;
}
.icoArrow::before,
.icoArrow::after{
	content: " ";
}
.icoArrow::before{
	width: 10px;
	height: 1px;
	background-color: var(--colorNblue);
}
.icoArrow::after{
	width: 6px;
	height: 6px;
	border-top: 1px solid var(--colorNblue);
	border-right: 1px solid var(--colorNblue);
	color: transparent;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%) rotate(45deg);
}
@media (any-hover: hover){
	a.btnBase:hover .icoArrow{
		right: 10px;
	}
}
/* small */
a.btnBase.small{
	width: 250px;
	min-height: 70px;
	padding: 15px 20px;
	font-family: var(--ffSerif);
	font-size: 1.4rem;
	color: var(--colorBrown);
	letter-spacing: 0;
	background-color: var(--colorCream);
	border-radius: 35px;
	position: relative;
	transition: opacity 0.3s;
}
@media (any-hover: hover){
	a.btnBase.small:hover{
		opacity: 0.7;
	}
}

/* 注釈
============================== */
.listCation{
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-size: 1.1rem;
	font-weight: 600;
}
.listCation > li{
	padding-left: 13px;
	position: relative;
}
.listCation > li::before{
	content: "※";
	position: absolute;
	top: 0;
	left: 0;
}

/* テキストリンク
============================== */
a.txtLink{
	display: inline-block;
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--colorBrown);
	text-decoration: underline;
	word-break: break-all;
}
a.txtLink:hover{
	text-decoration: none;
}
.txtLink span{
	padding-left: 28px;
	position: relative;
}
.txtLink span::before{
	content: "";
	width: 20px;
	aspect-ratio: 1/1;
	background: url("../images/ico_pdf.svg") no-repeat center center / cover;
	position: absolute;
	top: 1px;
	left: 0;
}

/* リスト
============================== */
.listBase{
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-size: 1.4rem;
}
.listBase > li{
	padding-left: 15px;
	position: relative;
}
.listBase > li::before{
	content: "";
	position: absolute;
}
/* 丸リスト */
.listDots > li::before{
	width: 3px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: var(--colorBrown);
	top: 10px;
	left: 0;
}
/* 数字リスト */
.olistNum{
	counter-reset: list-counter;
}
.olistNum > li{
	counter-increment: list-counter;
	padding-left: 20px;
}
.olistNum > li::before{
	content: counter(list-counter);
	width: 15px;
	height: 15px;
	font-size: 1.0rem;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	background-color: var(--colorBrown);
	top: 3px;
	left: 0;
}

/* お問い合わせ
============================== */
.bnrContact{
	position: fixed;
	right: 30px;
	bottom: 30px;
	transition: opacity 0.3s;
	z-index: 100;
}
.bnrContact::before{
	content: "";
	width: 100%;
	aspect-ratio: 1/1;
	background-color: var(--colorCream);
	border-radius: 50%;
	position: absolute;
	z-index: -1;
	filter: blur(15px);
}
@media (any-hover: hover){
	.bnrContact a:hover{
		opacity: 0.7;
	}
}


/*
	header
-----------------------------------------------------------------------------------------------*/
#header{
	display: flex;
	align-items: center;
	width: 100%;
	min-width: var(--widthBase);
	height: 80px;
	padding-left: 30px;
	background-color: var(--colorBrown);
	position: relative;
	z-index: 1000;
}

/* ロゴ
============================== */
.headerLogo{
	width: 160px;
}

/* メニューボタン
============================== */
.btnMenu{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 8px 0;
	width: 100px;
	height: 80px;
	background-color: var(--colorBrown);
	position: fixed;
	top: 0;
	right: 0;
	transition: all 0.3s;
	z-index: 1000;
}
.btnMenu span{
	display: block;
	width: 40px;
	height: 1px;
	background-color: #fff;
	transition: all 0.3s;
}
@media (any-hover: hover){
	.btnMenu:hover{
		background-color: #420800;
		cursor: pointer;
	}
}
/* 展開時 */
.btnMenu.jsOpen{
	gap: 0;
	background-color: var(--colorCream);
}
.btnMenu.jsOpen span{
	background-color: var(--colorBrown);
	position: absolute;
	top: 50%;
}
.btnMenu.jsOpen span:nth-of-type(1){
	transform:rotate(30deg);
}
.btnMenu.jsOpen span:nth-of-type(2){
	display: none;
}
.btnMenu.jsOpen span:nth-of-type(3){
	transform:rotate(-30deg);
}

/* gNav
============================== */
.gNavWrapper{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 70px;
	width: 650px;
	height: 100vh;
	padding: 100px;
	background-color: var(--colorBrown);
	position: fixed;
	top: 0;
	right: 0;
	opacity: 0;
	transition: all 0.3s;
	pointer-events: none;
	overflow-y: scroll;
	z-index: 0;
}
.gNavWrapper.jsOpen{
	opacity: 1;
	pointer-events: all;
}
/* リストボタン */
.listGnav{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
}
.listGnav > li a{
	display: inline-block;
	font-family: var(--ffSerif);
	font-size: 2.0rem;
	font-weight: 500;
	letter-spacing: 0.5rem;
	color: var(--colorCream);
	transition: opacity 0.3s;
}
@media (any-hover: hover){
    .listGnav > li a:hover{
        opacity: 0.7;
    }
}


/*
	kv
-----------------------------------------------------------------------------------------------*/
#kvWrapper{
	margin-bottom: -60px;
	position: relative;
}
.kvInner{
	display: flex;
	gap: 50px;
	max-width: 1440px;
	min-width: var(--widthBase);
	height: 100%;
	padding-top: 60px;
	padding-inline: 30px;
	margin-inline: auto;
	position: relative;
}

/* item
============================== */
/* parts */
[class^="itemKvParts"]{
	position: absolute;
	z-index: -1;
}
.itemKvParts01{
	top: -12%;
	right: 0;
}
.itemKvParts02{
	left: -5%;
	bottom: -25%;
}
/* blob */
[class^="itemKvBlob"]{
	position: absolute;
	z-index: -1;
	filter: blur(50px);
}
.itemKvBlob01{
	top: -85%;
	left: -50%;
}
.itemKvBlob02{
	top: 15%;
	right: -5%;
}
.itemKvBlob03{
	left: -20%;
	bottom: -50%;
}


/* テキストエリア
============================== */
.kvTxtArea{
	display: flex;
	flex-direction: column;
	gap: 30px;
	width: 550px;
	margin-top: 120px;
	font-family: var(--ffSerif);
	font-weight: 600;
	color: var(--colorBrown);
	position: relative;
}
.kvTxtArea .tit{
	font-size: 4.0rem;
	letter-spacing: 0.8rem;
}
.kvTxtArea .txt{
	line-height: 2.2;
}
.kvTxtArea .img{
	max-width: 230px;
	position: absolute;
	top: -170px;
	right: -120px;
}

/* video
============================== */
.listKv{
	display: flex;
	gap: 30px;
}
.listKv > li{
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc((100% - 30px)/2);
	max-width: 330px;
	height: 500px;
	border-radius: 30px;
	overflow: hidden;
}
.listKv > li:first-of-type{
	margin-top: 90px;
}
.listKv > li video{
	width: 100%;
}


/*
	research
-----------------------------------------------------------------------------------------------*/
#researchWrapper{
	font-family: var(--ffSerif);
	color: var(--colorBrown);
}
#researchWrapper .ctsAreaWrapper{
	background-color: #fff;
}

/* 背景
============================== */
.researchBg{
	width: 100%;
	min-width: 1200px;
	object-fit: cover;
	object-position: top center;
}

/* リサーチ
============================== */
.researchAreaWrapper{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 80px;
	padding-bottom: 50px;
}
.researchArea{
	width: 380px;
}
/* タイトル */
.researchQArea{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 15px;
}
.researchQArea .tit{
	width: 60px;
	font-size: 4.0rem;
	color: var(--colorOcher);
}
.researchQArea .txt{
	width: calc(100% - 80px);
	font-weight: 700;
}

/* リスト
============================== */
.listResearch{
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-bottom: 10px;
}
.listResearch > li{
	display: flex;
	align-items: center;
	padding: 5px 30px;
	font-weight: 500;
	border: 2px solid var(--colorBrown);
	position: relative;
}
.listResearch > li .num{
	width: 40px;
}
.listResearch > li .num span{
	font-size: 2.0rem;
}
.listResearch > li .txt{
	width: calc(100% - 40px);
	text-align: center;
}
/* 強調 */
.listResearch > li.em{
	font-weight: 700;
	background-color: var(--colorCream);
	transform: scale(1.1);
}
.listResearch > li.em::before{
	content: "";
	display: block;
	width: 50px;
	height: 50px;
	background: url("../images/ico_kirakira.svg") no-repeat center center / 100%;
	position: absolute;
	top: -20px;
	left: -60px;
}
/* コメント */
.listResearch > li.comment{
	margin-top: 30px;
	padding: 20px 30px;
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: justify;
}
.listResearch > li.comment::before,
.listResearch > li.comment::after{
	content: "";
	position: absolute;
}
.listResearch > li.comment::before{
	width: 20px;
	height: 10px;
	background-color: #fff;
	right: 100px;
	top: -6px;
	z-index: 2;
}
.listResearch > li.comment::after{
	width: 30px;
	height: 2px;
	background-color: var(--colorBrown);
	top: -13px;
	right: 95px;
	transform: rotate(45deg);
	z-index: 3;
}


/*
	how to
-----------------------------------------------------------------------------------------------*/
#howtoWrapper{
	padding-bottom: 120px;
}
#howtoWrapper .ctsArea{
	position: relative;
}

/* リスト
============================== */
.olistHowto{
	display: flex;
	flex-wrap: wrap;
	gap: 25px;
}
.olistHowto li{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: calc((100% - 75px)/4);
	padding: 0 30px 25px 30px;
	background-color: #fff;
	border: 2px solid var(--colorBrown);
	border-radius: 15px;
	position: relative;
	filter: drop-shadow(0 0 5px rgba(0,0,0,.25));
}
.olistHowto li::before,
.olistHowto li::after{
	content: "";
	width: 120px;
	height: 60px;
	background-color: #fff;
	position: absolute;
	left: 50%;
	transform: translate(-50%);
}
.olistHowto li::before{
	border: 2px solid var(--colorBrown);
	border-radius: 60px 60px 0 0;
	border-bottom: 0;
	top: -30px;
	z-index: 1;
}
.olistHowto li::after{
	top: 0;
	z-index: 2;
}
.olistHowto li .num{
	display: inline-block;
	margin-top: -10px;
	z-index: 3;
}
.olistHowto li .txt{
	font-family: var(--ffSerif);
	font-weight: 500;
	color: var(--colorBrown);
	text-align: center;
	z-index: 3;
}
.olistHowto li .pic{
	width: 100%;
	aspect-ratio: 1/1;
	background-color: var(--colorOcher);
	border-radius: 50%;
}
.olistHowto li .pic img{
	width: 100%;
}

/* item
============================== */
[class^="itemHowto"]{
	width: 880px;
	position: absolute;
	z-index: -1;
	filter: blur(50px);
}
.itemHowto01{
	top: -50%;
	right: -50%;
}
.itemHowto02{
	left: -30%;
	bottom: -30%;
}
.itemHowto03{
	display: none;
}


/*
	line up
-----------------------------------------------------------------------------------------------*/
#lineupWrapper{
	padding-bottom: 120px;
}

/* リスト
============================== */
.listLineup{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
}
.listLineup > li{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	flex-direction: row-reverse;
	gap: 80px;
	color: var(--colorBrown);
}
.listLineup > li:nth-of-type(odd){
	flex-direction: row;
	z-index: 1;
}
.listLineup > li .txtArea{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: start;
	gap: 20px;
	width: 470px;
}
.listLineup > li .txtArea .tit{
	font-family: var(--ffSerif);
	font-size: 3.2rem;
	font-weight: 600;
	letter-spacing: 0.6rem;
}
.listLineup > li .txtArea .tit span{
	font-size: 2.6rem;
}
.listLineup > li .txtArea .lead{
	font-family: var(--ffSerif);
	font-size: 1.8rem;
	font-weight: 600;
}
.listLineup > li .txtArea .txt{
	font-size: 1.4rem;
	text-align: justify;
	line-height: 2.3;
}
.listLineup > li .photoArea{
	position: relative;
	overflow: visible;
}
.listLineup > li .photoArea .img{
	position: relative;
}
.listLineup > li .photoArea .bg{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	/* filter: blur(100px); */
}


/*
	craft shake
-----------------------------------------------------------------------------------------------*/
#craftShakeWrapper{
	padding-bottom: 120px;
	color: var(--colorBrown);
}

/* about
============================== */
.aboutWrapper{
	margin-bottom: 100px;
}
/* タイトル */
.titAboutArea{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 30px;
	padding-bottom: 30px;
}
.titAboutArea .txt{
	font-family: var(--ffSerif);
	font-size: 2.0rem;
	letter-spacing: 0.5rem;
	text-align: center;
}
/* 画像 */
.imgAboutArea{
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
}
.imgAboutArea .bg{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
	filter: blur(100px);
}
.imgAboutArea .item{
	position: absolute;
	left: -240px;
	bottom: 0;
	z-index: -2;
}

/* アピール
============================== */
/* コンテンツ */
.appealWrapper{
	position: relative;
}
.appeaArea{
	position: relative;
}
.appeaArea:nth-of-type(1){
	margin-bottom: 150px;
}
.appeaArea:nth-of-type(2){
	margin-bottom: -100px;
}
.appeaArea:nth-of-type(3){
	margin-bottom: 150px;
}
/* 背景 */
.appealBg{
	width: 100%;
	min-width: 1200px;
	object-fit: cover;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.7;
	z-index: -2;
}
/* item */
[class^="itemAppeal"]{
	width: 880px;
	position: absolute;
	z-index: -1;
	filter: blur(50px);
}
.itemAppeal01{
	top: -10%;
	right: -50%;
}
.itemAppeal02{
	left: -50%;
	bottom: -30%;
}

/* リード文 */
.appeaLeadArea .tit{
	transform: rotate(-10deg);
}
.appeaLeadArea .lead{
	padding-left: 150px;
	font-family: var(--ffSerif);
	font-size: 3.2rem;
	font-weight: 600;
	letter-spacing: 0.5rem;
	line-height: 1.8;
	color: var(--colorBrown);
}
.appeaLeadArea .lead span{
	background: linear-gradient(transparent 75%, var(--colorOcher) 75%);
}

/* マテリアル
============================== */
.materialWrapper{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 120px;
	position: relative;
}
.listMaterial{
	display: flex;
	flex-direction: column;
	gap: 35px;
	font-family: var(--ffSerif);
	font-size: 2.6rem;
	font-weight: 700;
}
.listMaterial > li{
	padding-left: 35px;
	color: #480000;
	position: relative;
}
.listMaterial > li::before{
	content: "";
	width: 24px;
	aspect-ratio: 1/1;
	background: url("../images/ico_check.svg") no-repeat center center / 100%;
	position: absolute;
	top: 10px;
	left: 0;
}
.materialNotes{
	display: block;
	font-size: 1.5rem;
	text-align: right;
}
.materialBg{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

/* セールスプロモーション
============================== */
.salesPromotionWrapper{
	display: flex;
	justify-content: flex-end;
	margin: -160px 80px 0 0;
}

/* メソッド
============================== */
.listMethod{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	flex-direction: row-reverse;
	margin-top: 30px;
}
.listMethod > li{
	position: relative;
}
.listMethod > li .txt{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 210px;
	aspect-ratio: 1/1;
	padding-top: 10px;
	font-family: var(--ffSerif);
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	border: 1px solid var(--colorBrown);
	border-radius: 50%;
	position: absolute;
}
.listMethod > li:nth-of-type(1) .txt{
	top: 0;
	left: -150px;
}
.listMethod > li:nth-of-type(2){
	margin-top: 180px;
}
.listMethod > li:nth-of-type(2) .txt{
	left: 50px;
	bottom: -135px;
}
.listMethod > li:nth-of-type(3){
	margin-top: -80px;
	margin-left: 100px;
}
.listMethod > li:nth-of-type(3) .txt{
	top: -30px;
	right: -80px;
}

/* アレンジレシピ
============================== */
.listarrAngeRecipe > li{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 470px;
	height: auto;
	padding: 40px 60px 0 60px;
	color: var(--colorBrown);
	background-color: #fff;
	border: 1px solid var(--colorBrown);
	border-radius: 20px;
	box-shadow: 7px 7px 0 var(--colorOcher);
	position: relative;
}
.recipeName{
	margin-bottom: 20px;
	font-family: var(--ffSerif);
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.4rem;
	text-align: center;
}
.recipeName span{
	font-size: 1.6rem;
}
.recipeCtsArea:has(+.recipeCtsArea){
	margin-bottom: 30px;
}
.recipeCtsArea .tit{
	margin-bottom: 15px;
	padding-bottom: 10px;
	font-size: 1.5rem;
	font-weight: 700;
	border-bottom: 1px solid var(--colorBrown);
}
.recipeCtsArea .txt{
	margin-top: 15px;
	font-size: 1.4rem;
	text-align: justify;
}
.recipeImg{
	display: block;
	margin: 20px auto 0;
}
.recipeIco{
	position: absolute;
	top: -30px;
	right: 10px;
}

/* swiper
============================== */
.swiperRecipe{
	margin: 50px 0 0 150px;
	position: relative;
	overflow: visible;
}
.swiperBtnWrapper{
	display: flex;
	justify-content: end;
	gap: 20px;
	margin-top: 30px;
}
[class^="swiper-button-"]{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	background-color: var(--colorBrown);
	position: relative;
	transition: opacity 0.3s;
	cursor: pointer;
}
@media (any-hover: hover){
	[class^="swiper-button-"]:hover{
		opacity: 0.7;
	}
}
[class^="swiper-button-"]::before,
[class^="swiper-button-"]::after{
	content: " ";
	transform: translateY(-50%);
}
[class^="swiper-button-"]::before{
	width: 10px;
	height: 1px;
	background-color: #fff;
}
[class^="swiper-button-"]::after{
	width: 6px;
	height: 6px;
	right: 20px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	color: transparent;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%) rotate(45deg);
}
.swiper-button-prev{
	transform: rotate(180deg);
}


/*
	pick up
-----------------------------------------------------------------------------------------------*/
#pickupWrapper{
	padding-bottom: 120px;
	background-color: var(--colorOcher);
	position: relative;
	z-index: 1;
}

/* 背景
============================== */
.pickupBg{
	width: 100%;
	min-width: 1200px;
	height: 600px;
	object-fit: cover;
	margin-bottom: -30px;
}

/* ピックアップ
============================== */
.pickupArea{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 100px;
	font-family: var(--ffSerif);
	color: var(--colorBrown);
}
.pickupTxtArea{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 30px;
	width: calc(100% - 590px);
}
.pickupLead{
	font-size: 2.7rem;
	font-weight: 600;
	line-height: 1.8;
}
.pickupAddress{
	font-weight: 500;
}
.pickupAddress span{
	font-size: 2.5rem;
	font-weight: 600;
}
.pickupImg{
	width: 560px;
}

/* リスト
============================== */
.listPickup{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 70px;
	padding-inline: 30px;
}
.listPickup > li{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
	gap: 60px;
	width: 100%;
}
.listPickup > li:nth-of-type(odd){
	flex-direction: row-reverse;
}
.listPickup > li img{
	width: 520px;
}
.listPickup > li .txtArea{
	width: calc(100% - 580px);
	color: var(--colorBrown);
	text-align: justify;
}
.listPickup > li .txtArea .lead{
	font-family: var(--ffSerif);
	font-weight: 600;
	font-size: 2.2rem;
	margin-bottom: 20px;
}
.listPickup > li .txtArea .txt{
	line-height: 2.0;
}


/*
	infoArea
-----------------------------------------------------------------------------------------------*/
#infoAreaWrapper{
	padding-block: 80px;
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footerWrapper{
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 30px;
	font-size: 1.4rem;
	color: #fff;
	background-color: var(--colorBrown);
	position: relative;
}

/* コンテンツエリア
============================== */
[class^="footerCtsArea"]{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}
.footerCtsAreaBtm{
	flex-direction: row-reverse;
}

/* テキストリンク
============================== */
a.footerTxtLink{
	padding-left: 20px;
	color: #fff;
	position: relative;
}
a.footerTxtLink::before{
	content: "";
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
a.footerTxtLink::after{
	content: "";
	width: 4px;
	height: 4px;
	border-top: 1px solid var(--colorBrown);
	border-right: 1px solid var(--colorBrown);
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%) rotate(45deg);
}

/* リスト
============================== */
.listFooter{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
}
.listFooter > li{
	position: relative;
}
.listFooter > li:has(+li)::after{
	content: "";
	width: 1px;
	height: 70%;
	background-color: #fff;
	position: absolute;
	top: 50%;
	right: -15px;
	transform: translateY(-50%);
}
.listFooter > li a{
	color: #fff;
	text-decoration: underline;
}
@media (any-hover: hover){
	.listFooter > li a:hover{
		text-decoration: none;
	}
}

/* コピーライト
============================== */
.copyright{
	font-size: 1.2rem;
}

@media screen and (max-width:812px){
	body{
		-webkit-text-size-adjust: 100%;
	}
	img{
		width:100%;
	}
	p{
		line-height: 1.5;
	}	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}


	/*
		common
	-----------------------------------------------------------------------------------------------*/
	/* 変数 */
	:root{
		/* width */
		--widthBase: 100%;
	}

	/* box
	============================== */
	/* ctsArea */
	.ctsArea{
		max-width: 500px;
		padding-inline: 25px;
	}

	/* サブナビゲーション
	============================== */
	[class^="subNavArea"]{
		display: none;
	}

	/* タイトル
	============================== */
	.titCmnArea{
		padding-bottom: 30px;
	}
	.titCmnImg{
		display: block;
		width: 80%;
		margin: 0 auto;
	}
	.titCmnSub{
		margin-top: -20px;
		font-size: 1.8rem;
	}

	/* ボタン
	============================== */
	a.btnBase{
		width: 100%;
		max-width: 320px;
		min-height: 60px;
		padding: 15px 30px;
		padding-right: 60px;
		font-size: 1.4rem;
		border-radius: 30px;
	}
	.icoArrow{
		width: 33px;
	}
	.icoArrow::after{
		width: 5px;
		height: 5px;
		right: 12px;
	}
	/* small */
	a.btnBase.small{
		width: 100%;
		max-width: 250px;
		min-height: 60px;
		border-radius: 30px;
	}

	/* 注釈
	============================== */
	.listCation{
		display: flex;
		flex-direction: column;
		gap: 5px;
		font-size: 1.1rem;
		font-weight: 600;
	}
	.listCation > li{
		padding-left: 13px;
		position: relative;
	}
	.listCation > li::before{
		content: "※";
		position: absolute;
		top: 0;
		left: 0;
	}

	/* テキストリンク
	============================== */
	a.txtLink{
		font-size: 1.4rem;
		font-weight: 500;
		color: var(--colorBrown);
		text-decoration: underline;
		word-break: break-all;
	}
	a.txtLink:hover{
		text-decoration: none;
	}
	.txtLink span{
		padding-left: 28px;
		position: relative;
	}
	.txtLink span::before{
		content: "";
		width: 20px;
		aspect-ratio: 1/1;
		background: url("../images/ico_pdf.svg") no-repeat center center / cover;
		position: absolute;
		top: 1px;
		left: 0;
	}

	/* リスト
	============================== */
	.listBase{
		display: flex;
		flex-direction: column;
		gap: 8px;
		font-size: 1.4rem;
	}
	.listBase > li{
		padding-left: 15px;
		position: relative;
	}
	.listBase > li::before{
		content: "";
		position: absolute;
	}
	/* 丸リスト */
	.listDots > li::before{
		width: 3px;
		aspect-ratio: 1/1;
		border-radius: 50%;
		background-color: var(--colorBrown);
		top: 10px;
		left: 0;
	}
	/* 数字リスト */
	.olistNum{
		counter-reset: list-counter;
	}
	.olistNum > li{
		counter-increment: list-counter;
		padding-left: 20px;
	}
	.olistNum > li::before{
		content: counter(list-counter);
		width: 15px;
		height: 15px;
		padding-left: 2px;
		font-size: 1.0rem;
		color: #fff;
		text-align: center;
		border-radius: 50%;
		background-color: var(--colorBrown);
		top: 3px;
		left: 0;
	}

	/* お問い合わせ
	============================== */
	.bnrContact{
		position: absolute;
		right: 20px;
		bottom: -10%;
	}
	.bnrContact img{
		width: 130px;
	}


	/*
		header
	-----------------------------------------------------------------------------------------------*/
	#header{
		height: 60px;
		padding-left: 25px;
	}

	/* ロゴ
	============================== */
	.headerLogo{
		width: 140px;
	}

	/* メニューボタン
	============================== */
	.btnMenu{
		width: 80px;
		height: 60px;
	}
	.btnMenu span{
		width: 30px;
	}

	/* gNav
	============================== */
	.gNavWrapper{
		gap: 60px;
		width: 100%;
		padding: 90px 30px;
	}
	/* ロゴ */
	.craftShakeLogo{
		max-width: 200px;
	}


	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	#kvWrapper{
		margin-bottom: 50px;
	}
	.kvInner{
		flex-direction: column;
		gap: 30px;
		min-width: auto;
		max-width: 500px;
		padding-top: 50px;
		padding-inline: 25px;
	}

	/* item
	============================== */
	/* parts */
	.itemKvParts01{
		display: none;
	}
	.itemKvParts02{
		width: 150%;
		max-width: 600px;
		left: 50%;
		bottom: 50%;
		transform: translate(-50%,50%);
	}
	/* blob */
	[class^="itemKvBlob"]{
		position: absolute;
		z-index: -1;
		filter: blur(50px);
	}
	.itemKvBlob01{
		width: 250px;
		top: -20%;
		left: -50%;
	}
	.itemKvBlob02{
		width: 280px;
		top: 50%;
		right: 50%;
		transform: translate(50%, -50%);
	}
	.itemKvBlob03{
		width: 280px;
		left: -20%;
		bottom: -20%;
	}


	/* テキストエリア
	============================== */
	.kvTxtArea{
		gap: 20px;
		width: 100%;
		margin-top: 0;
	}
	.kvTxtArea .tit{
		font-size: 2.0rem;
		font-weight: 700;
		letter-spacing: 0.6rem;
	}
	.kvTxtArea .txt{
		font-size: 1.4rem;
		line-height: 2.0;
	}
	.kvTxtArea .img{
		max-width: 140px;
		top: -20px;
		right: -40px;
	}

	/* video
	============================== */
	.listKv{
		gap: 10px;
	}
	.listKv > li{
		width: calc((100% - 10px)/2);
		max-width: 100%;
		height: 280px;
		border-radius: 15px;
	}
	.listKv > li:first-of-type{
		margin-top: 50px;
	}
	.listKv > li video{
		width: 100%;
	}


	/*
		research
	-----------------------------------------------------------------------------------------------*/
	#researchWrapper .titCmnImg{
		width: 250px;
	}
	
	/* 背景
	============================== */
	.researchBg{
		min-width: 100%;
	}

	/* リサーチ
	============================== */
	.researchAreaWrapper{
		gap: 40px;
	}
	.researchArea{
		width: 100%;
		max-width: 280px;
	}
	/* タイトル */
	.researchQArea{
		margin-bottom: 20px;
	}
	.researchQArea .tit{
		width: 50px;
		font-size: 3.0rem;
	}
	.researchQArea .txt{
		width: calc(100% - 60px);
		font-size: 1.4rem;
	}

	/* リスト
	============================== */
	.listResearch{
		gap: 10px;
		margin-bottom: 15px;
	}
	.listResearch > li{
		padding: 5px 20px;
	}
	.listResearch > li .num{
		width: 30px;
		font-size: 1.2rem;
	}
	.listResearch > li .num span{
		font-size: 1.5rem;
	}
	.listResearch > li .txt{
		width: calc(100% - 30px);
		font-size: 1.4rem;
	}
	/* 強調 */
	.listResearch > li.em::before{
		width: 25px;
		height: 25px;
		top: -10px;
		left: -30px;
	}
	/* コメント */
	.listResearch > li.comment{
		padding: 15px 20px;
		font-size: 1.2rem;
	}


	/*
		how to
	-----------------------------------------------------------------------------------------------*/
	#howtoWrapper{
		padding-bottom: 120px;
	}
	#howtoWrapper .titCmnImg{
		width: 215px;
	}

	/* リスト
	============================== */
	.olistHowto{
		flex-direction: column;
		align-items: center;
		gap: 50px;
		margin-top: 20px;
	}
	.olistHowto li{
		width: 80%;
		max-width: 250px;
		padding: 0 25px 20px 25px;
	}
	.olistHowto li .num{
		width: 40px;
	}
	.olistHowto li .txt{
		font-size: 1.4rem;
	}
	.olistHowto li .pic{
		width: 100%;
		aspect-ratio: 1/1;
		background-color: var(--colorOcher);
		border-radius: 50%;
	}
	.olistHowto li .pic img{
		width: 100%;
	}

	/* item
	============================== */
	.itemHowto01{
		width: 250px;
		top: -5%;
		right: -30%;
	}
	.itemHowto02{
		width: 550px;
		top: 30%;
		left: -50%;
		bottom: auto;
	}
	.itemHowto03{
		display: block;
		width: 550px;
		right: -50%;
		bottom: 10%;
	}


	/*
		line up
	-----------------------------------------------------------------------------------------------*/
	#lineupWrapper{
		padding-bottom: 120px;
	}
	#lineupWrapper .titCmnImg{
		width: 220px;
	}

	/* リスト
	============================== */
	.listLineup{
		gap: 100px;
	}
	.listLineup > li{
		flex-direction: column;
		gap: 20px;
	}
	.listLineup > li:nth-of-type(odd){
		flex-direction: column;
	}
	.listLineup > li .txtArea{
		width: 100%;
	}
	.listLineup > li .txtArea .tit{
		font-size: 2.2rem;
		letter-spacing: 0.6rem;
	}
	.listLineup > li .txtArea .tit span{
		font-size: 2.2rem;
	}
	.listLineup > li .txtArea .lead{
		font-size: 1.6rem;
		line-height: 2.0;
	}
	.listLineup > li .photoArea .img{
		max-width: 300px;
	}
	.listLineup > li .photoArea .bg{
		width: 550px;
		/* filter: blur(80px); */
	}


	/*
		craft shake
	-----------------------------------------------------------------------------------------------*/
	#craftShakeWrapper{
		padding-bottom: 60px;
	}

	/* about
	============================== */
	.aboutWrapper{
		margin-bottom: 50px;
	}
	/* タイトル */
	.titAboutArea{
		gap: 20px;
	}
	.titAboutArea .txt{
		font-size: 1.6rem;
		line-height: 1.8;
	}
	/* 画像 */
	.imgAboutArea .bg{
		width: 200%;
	}
	.imgAboutArea .item{
		width: 165%;
		left: -45%;
		bottom: 30%;
	}

	/* アピール
	============================== */
	/* コンテンツ */
	.appeaArea:nth-of-type(1){
		margin-bottom: 40px;
	}
	.appeaArea:nth-of-type(2){
		margin-bottom: 40px;
	}
	.appeaArea:nth-of-type(3){
		margin-bottom: 60px;
	}
	/* 背景 */
	.appealBg{
		min-width: 375px;
	}
	/* item */
	[class^="itemAppeal"]{
		display: none;
	}

	/* リード文 */
	.appeaLeadArea .lead{
		padding-left: 25px;
		font-size: 1.7rem;
		font-weight: 700;
		letter-spacing: 0.3rem;
		line-height: 1.8;
	}
	.appeaLeadArea .tit{
		margin: auto;
	}
	.appeaArea:nth-of-type(1) .appeaLeadArea .tit{
		width: 200px;
	}
	.appeaArea:nth-of-type(2) .appeaLeadArea .tit{
		width: 270px;
	}
	.appeaArea:nth-of-type(3) .appeaLeadArea .tit{
		width: 155px;
	}
	.appeaArea:nth-of-type(4) .appeaLeadArea .tit{
		width: 250px;
	}

	/* マテリアル
	============================== */
	.materialWrapper{
		padding-block: 90px;
	}
	.listMaterial{
		gap: 15px;
		padding-top: 10px;
		font-size: 1.4rem;
	}
	.listMaterial > li{
		padding-left: 20px;
	}
	.listMaterial > li::before{
		width: 15px;
		top: 3px;
	}
	.materialNotes{
		font-size: 1.0rem;
	}
	.materialBg{
		width: 143%;
		max-width: 500px;
	}

	/* セールスプロモーション
	============================== */
	.salesPromotionWrapper{
		margin: 0;
	}
	.salesPromotionImg{
		display: block;
		width: 80%;
		max-width: 300px;
		margin: 30px auto 0;
	}

	/* メソッド
	============================== */
	.listMethod{
		flex-direction: column;
		margin-top: 30px;
	}
	.listMethod > li{
		display: flex;
		justify-content: end;
		position: relative;
	}
	.listMethod > li::before{
		content: "";
		width: 100%;
		height: 100%;
		background-color: var(--colorCream);
		border-radius: 50%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		filter: blur(30px);
	}
	.listMethod > li .txt{
		width: 30%;
		min-width: 125px;
		max-width: 150px;
		padding-top: 5px;
		font-size: 1.0rem;
		font-weight: 800;
	}
	.listMethod > li:nth-of-type(1) .txt{
		top: 5%;
		left: 0;
	}
	.listMethod > li:nth-of-type(2){
		justify-content: start;
		margin-top: -10px;
	}
	.listMethod > li:nth-of-type(2) .txt{
		left: auto;
		right: 10px;
		bottom: 0;
	}
	.listMethod > li:nth-of-type(3){
		margin-top: 40px;
		margin-left: 0;
	}
	.listMethod > li:nth-of-type(3) .txt{
		top: -30px;
		right: auto;
		left: 0;
	}
	.listMethod > li:nth-of-type(3) .img{
		width: 90%;
	}
	.listMethod > li .img{
		width: 70%;
	}

	/* アレンジレシピ
	============================== */
	.listarrAngeRecipe > li{
		width: 300px;
		padding: 20px 25px 0 25px;
		border-radius: 15px;
		box-shadow: 5px 5px 0 var(--colorOcher);
	}
	.recipeName{
		margin-bottom: 15px;
		font-size: 1.6rem;
		line-height: 1.6;
	}
	.recipeName span{
		font-size: 1.4rem;
	}
	.recipeCtsArea:has(+.recipeCtsArea){
		margin-bottom: 20px;
	}
	.recipeCtsArea .tit{
		margin-bottom: 10px;
		padding-bottom: 5px;
		font-size: 1.4rem;
	}
	.recipeCtsArea .txt{
		margin-top: 10px;
	}
	.recipeImg{
		width: 200px;
		margin: 15px auto 0;
	}
	.recipeIco{
		width: 30%;
		top: -35px;
		right: 5px;
	}

	/* swiper
	============================== */
	.swiperRecipe{
		margin: 30px 0 0 0;
		position: relative;
	}
	/* .swiperBtnWrapper{
		gap: 15px;
		margin-top: 20px;
	} */
	[class^="swiper-button-"]{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 100;
	}
	.swiper-button-prev{
		left: -20px;
		transform: translateY(-50%) rotate(180deg);
	}
	.swiper-button-next{
		right: -20px;
	}


	/*
		pick up
	-----------------------------------------------------------------------------------------------*/
	#pickupWrapper{
		padding-bottom: 60px;
	}
	#pickupWrapper .titCmnImg{
		width: 260px;
	} 

	/* 背景
	============================== */
	.pickupBg{
		min-width: 375px;
		height: 260px;
		margin-bottom: -20px;
	}

	/* ピックアップ
	============================== */
	.pickupArea{
		flex-direction: column;
		gap: 20px;
		margin-bottom: 50px;
	}
	.pickupTxtArea{
		gap: 20px;
		width: 100%;
	}
	.pickupLead{
		font-size: 1.7rem;
	}
	.pickupAddress{
		font-size: 1.4rem;
	}
	.pickupAddress span{
		font-size: 1.6rem;
	}
	.pickupImg{
		width: 100%;
		max-width: 350px;
		margin: 0 auto;
	}

	/* リスト
	============================== */
	.listPickup{
		gap: 50px;
		padding-inline: 0;
	}
	.listPickup > li{
		flex-direction: column;
		gap: 30px;
	}
	.listPickup > li:nth-of-type(odd),
	.listPickup > li:nth-of-type(even){
		flex-direction: column-reverse;
	}
	.listPickup > li img{
		width: 100%;
		max-width: 350px;
		margin: 0 auto;
	}
	.listPickup > li .txtArea{
		width: 100%;
	}
	.listPickup > li .txtArea .lead{
		font-size: 1.6rem;
		line-height: 2.0;
	}
	.listPickup > li .txtArea .txt{
		font-size: 1.4rem;
	}


	/*
		infoArea
	-----------------------------------------------------------------------------------------------*/
	#infoAreaWrapper{
		padding-block: 60px;
	}


	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	#footerWrapper{
		gap: 15px;
		padding: 25px;
	}

	/* コンテンツエリア
	============================== */
	[class^="footerCtsArea"]{
		flex-direction: column;
		gap: 15px;
	}

	/* リスト
	============================== */
	.listFooter{
		justify-content: center;
		gap: 10px 30px;
	}
	.listFooter > li:has(+li)::after{
		right: -15px;
	}
	.listFooter > li a{
		font-size: 1.2rem;
	}

	/* コピーライト
	============================== */
	.copyright{
		letter-spacing: 0;
	}
}