@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,700');/*'Noto Serif JP'*/
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700');/*'Noto Sans JP'*/
/* 〜479px：SP縦
------------------------------ */

.offer {
	clear: both;
	padding-bottom: 32px;
}
.offer .recruit {
	padding: 5px 0;
	color: #333333;
	font-weight: 600;
	text-align: center;
}
.offerBtn a {
	padding: 15px 0;
	text-align: center;
	background: url(../images/offer_arr.png),linear-gradient(0deg, #008000, #005700);
	background-repeat: no-repeat;
	background-position: 95% 50%;
	border-radius: 10px;
	display: block;
	font-size: 153%;
	line-height: 1.3em;
	color: #FFF !important;
	font-weight: 600;
	box-shadow:0px 3px 0px -1px #002300;
	text-decoration: none !important;
}
.offerBtn a:hover {
	color: #FFF !important;
	text-decoration: none !important;
}
.special .specialbox{
	margin-bottom: 20px;
 padding-bottom: 20px;
	border: solid 1px #f5c64e;
}
.special h3{
	margin-bottom: 20px;
	padding: 0.7em 4% 1.3em;
	background: url(../images/special_arr.png) center bottom no-repeat,#f5c64e;
	background-size: 100% 30px;
	font-size: 129%;
	font-weight: bold;
	text-align: center;
	color: #FFF;
}
.special h4{
	margin: 0 auto 20px;
	font-size: 125%;
	font-weight: bold;
}
.special .flex_pc{
	margin: 0 auto;
	width: 92%;
}
.special p.txt{
	margin: 0 0 10px;
}
.special p.txt strong{
 color: #941e23;
}
.special .sml{
	font-size: 79%;
}
.recSec {
	background: url(../images/rec_bg.jpg) no-repeat center center;
	background-size: cover;
}
.recSec h2 {
	margin: 0px auto 20px auto;
	padding: 30px 0 20px 0;
	font-weight: 600;
	color: #FFF;
	font-size: 135%;
	text-align: center;
	border-bottom: 2px solid #FFF;
}
.recSec ul {
	margin: 0px auto;
	padding: 0px;
	color: #FFF;
}
.recSec ul li {
	padding-bottom: 20px;
}
.recSec ul li:before {
	margin-right: 10px;
	content: '';
	display: inline-block;
	width: 27.5px;
	height: 22.5px;
	background-image: url(../images/check.png);
	background-size: contain;
	vertical-align: middle;
}
.deliySec {
	margin: 20px 0;
	padding: 20px 0;
	background: #efefef;
}
.deliySec .deliBlock {
	margin: 0px auto;
	padding: 20px 5%;
	width: 80%;
	background: #FFF;
}
.deliySec .deliBlock .text_02 {
 margin: 0px auto;
 padding: 1.0em 0;
}
.journeySec .cheeseBox {

 padding-bottom: 20px;
 width: 100%;
}	
.mi .cheeseBox {
	padding-bottom: 20px;
	width: 100%;
}	
.deliySec .deli_mi {
 margin-bottom: 10px;
	padding: 5px 0;
	border: 1.5px solid #333333;
	font-size: 121%;
	font-weight: 600;
	color: #333333;
	text-align: center;
}
.deliySec h3 {
	padding-bottom: 10px;
	font-weight: 600;
	color: #333333;
	text-align: center;
}
.deliySec .regularPrice {
	font-weight: 600;
	font-size: 85%;
	text-align: center;
}
.deliySec .specialPrice {
	margin-top: 5px;
	padding: 10px 0;
	font-size: 136%;
	text-align: center;
	color: #FFF;
	background: #f5c64e;
	line-height: 1.5em;
}
.deliySec .specialPrice span {
	font-size: 143%;
	font-weight: 700;
	font-family: "Noto Serif JP","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
}
.deliySec .plus {
	margin: 0px auto;
	padding: 10px 0;
	width: 8%;
}

.deliySec .offerPrice {
	font-size: 185%;
	text-align: center;
}
.deliySec h2 {
	padding-bottom: 10px;
	font-size: 132%;
	font-weight: 600;
	text-align: center;
	border-bottom: 2px solid #231815;
	line-height: 1.5em;
}
.deliySec .offerPrice {
	margin: 20px auto;
	font-size: 185%;
	text-align: center;
}
.deliySec .offerPrice strong {
	font-size: 128%;
	font-weight: 700;
	font-family: "Noto Serif JP","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
	color: #941e23;
}
.deliySec .offerPrice .yen {
	font-size: 73%;
}
.deliySec .offerPrice .tax {
	font-size: 38%;
}
.deliySec .offerPrice .putOn {
	font-size: 113%;
	font-weight: 600;
}
.deliySec .offerPrice .couse {
	font-size: 80%;
	font-weight: 600;
}
.deliySec .offerPrice .end {
	font-size: 63%;
}
.deliySec .att {
	text-align: center;
	font-size: 78%;
}
.profileSec .profile {
	float: right;
	vertical-align: top;
	color: #545454;
}
.profileSec .introduction strong {
	color: #333333;
}
.profileSec .introduction img {
	padding-left: 10px;
	padding-bottom: 10px;
	float: right;
	width: 35% !important;
}
.profileSec .profile {
	margin: 10px auto;
	padding: 10px 0;
	width: 100%;
	clear: both;
	background: #efefef;
}
.profileSec .profile h3 {
	margin-bottom: 10px;
	padding-bottom: 5px;
	font-size: 107%;
	text-align: center;
	color: #231815;
	font-weight: 600;
	border-bottom: 2px solid #231815;	
}
.profileSec .profile strong {
	color: #231815;
}
.journeySec .txt_01 {
	padding-bottom: 10px;
	color: #545454;
}
.journeySec .cheeseList {
	margin-bottom: 10px;
}
.journeySec .cheeseList>.flex {
	padding: 2% 5%;
	border-top: 1.5px solid #f5c64e;
	border-left: 1.5px solid #f5c64e;
	border-right: 1.5px solid #f5c64e;
	box-sizing: border-box;
 display: block;
}
.journeySec .cheeseList .num {
 margin-bottom: 10px;
	padding: 5px 10px 6px 10px !important;
	color: #FFF;
	text-align: center;
	background: #f5c64e;
	display: inline-block;
}
.journeySec .cheeseList .cheeseText {
	width: 100%;
}
.journeySec .cheeseList .cheeseText:after {
 content: "";
 display: block;
 clear: both;
}
.journeySec .cheeseList .cheeseText h3 {
	padding: 10px 0;
	font-weight: 600;
	color: #f5c64e;
}
.journeySec .cheeseList .cheeseText .item {
 width: 100%;
}
.journeySec .cheeseList .cheeseText .item > li {
 padding: 0 0 1em 1em;
 width: 100%;
 text-indent: -1em;
}
.journeySec .cheeseList .cheeseText p {
	padding-bottom: 10px;
}
.journeySec .cheeseList .item_ph {
 margin-top: 42px;
 padding-left: 4%;
	width: 40%;
 float: right;
}
.journeySec .details {
	padding: 10px 0;
	text-align: center;
	color: #FFF;
	background: #f5c64e;
	cursor: pointer;
}
.journeySec .deteailText {
	padding: 3% 5%;
	background: #efefef;
	/*display: none;*/
	border-left: 1.5px solid #f5c64e;
	border-right: 1.5px solid #f5c64e;
	/* border-bottom: 1.5px solid #f5c64e; */
	box-sizing: border-box;
}
.journeySec .deteailText h3 {
	margin-bottom: 10px;
	padding: 5px 0;
	font-weight: 600;
	color: #333333;
	border-top: 1px solid #f5c64e;
	border-bottom: 1px solid #f5c64e;
}
.journeySec .supplement {
	margin-bottom: 10px;
	padding: 2% 5%;
	font-size: 78%;
	background: #efefef;
}
.withPhoho .text_01 {
	padding-bottom: 30px;
}
.withPhoho .note {
	margin: 0px auto;
	width: 90%;
}
 #voiceSlider {
  padding: 0em 0 3em;
 }
 #voiceSlider .slideInner {
  padding: 30px 2% 60px;
  box-sizing: border-box;
 }
#voiceSlider .slideInner .voice{
 padding: 1.5em 8%;
 border: 1px solid #000;
 border-radius: 30px;
 position: relative;
}
#voiceSlider .slideInner .fukidashi{
 position: absolute;
 width: 60px;
 bottom:-41px;
 right: 30px;
}
#voiceSlider .swiper-container-horizontal > .swiper-pagination-bullets, 
#voiceSlider .swiper-pagination-custom, .swiper-pagination-fraction {
 bottom: 0px;
}
#voiceSlider .swiper-pagination-bullet {
 width: 10px;
 height: 10px;
 display: inline-block;
 background: none;
 opacity: 1;
 border-radius: 50%;
 border: 1px solid #999;
}
#voiceSlider .swiper-pagination-bullet-active {
 opacity: 1;
 background: #9e0000;
 border: 1px solid #9e0000;
}
.faq dt{
	margin-bottom: 20px;
	padding: 20px 8% 20px 11%;
	position: relative;
	border: solid 2px #333333;
	background: url(../images/trl_dwn.png) right 10px center no-repeat;
	background-size: 10px 6px;
	font-weight: bold;
	color: #333333;
	cursor: pointer;
}
.faq dt:before{
	content: "Ｑ";
	position: absolute;
	left: 4%;
	top: 20px;
	display: inline-block;
	padding-right: 0.3em;
}
.faq dt.active{
	background: url(../images/trl_up.png) right 10px center no-repeat;
	background-size: 10px 6px;
}
.faq dd{
	margin-bottom: 20px;
	padding: 20px 4% 20px 11%;
	display: none;
	position: relative;
	background: #efefef;
}
.faq dd:before{
	content: "Ａ";
	padding-right: 0.3em;
	position: absolute;
	left: 4%;
	top: 20px;
	display: inline-block;
	font-weight: bold;
	color: #333333;
}
.discount{
	padding: 3em 5% 2em;
	position: relative;
	border-top: solid 2px #ffca4c;
	background: url(	../images/discount_bg.jpg) center bottom no-repeat, #ffebba;
	background-size: 100% 1.8em, auto;
	text-align: left !important;
	color: #941e23;
	box-sizing: border-box;
}
.discount h2{
	text-align: center;
	padding-bottom: 10px;
	font-weight: 600;
	font-size: 128%;
}
.discount:before{
	content: "";
	display: block;
	width: 50%;
	height: 80px;
	position: absolute;
	background: url(../images/sarani.png) left top no-repeat;
	background-size: contain;
	z-index: 2;
	left: 0;
	top: 0;
}
#mapSlider .swiper-wrapper {
	display: block !important;
}
#mapSlider .swiper-button-prev,#mapSlider .swiper-button-next {
	display: none;
}
#content iframe {
	margin: 0px auto;
	width: 90% !important;
	display: block;
}
.form_inner{
 margin: 0 auto;
 padding-bottom: 30px;
 width: 92%;
 font-weight: bold;
}
.form_inner .att{
 padding: 20px 4%;
 color: #941e23;
 background: #fff389;
}
.form_inner .ico{
 margin: 0 auto;
 padding-bottom: 20px;
 width: 20%;
}


/* 480px〜599px：SP横
------------------------------ */
@media screen and (min-width:480px) and (max-width:599px) { 
}

/* 600px〜959px：タブレット
------------------------------ */
@media screen and (min-width:600px) and (max-width:959px) {
}

/* 960px〜1279px：小型PC
------------------------------ */
@media screen and (min-width:960px) and (max-width:1279px) {	
}

/* 1280px〜：大型PC
------------------------------ */
@media screen and (min-width:768px) {
#mainView {
  padding-bottom: 0;
  height: calc(100vh - 70px) !important; /* ←ここ重要 */
  background-size: cover; /* ←変更 */
  background-position: center;
  position: relative;
}
}
@media screen and (max-width:767px) {
#mainView {
  height: calc(100vh - 60px) !important;
  background-size: cover;
  background-position: center;
}
}

/*  
#mainView .inner {
	width: 550px;
	padding: 30px 0;
	border: double 4px #f5c64e;
	background: rgba( 1, 196, 202, 0.5);
	position: absolute;
	top: 45%;
	left: 50%;
	-webkit-transform: translate(-50%, -45%); /* Safari用 */
	/* transform: translate(-50%, -45%);
}	
*/


#mainView h2 {
	margin: 0px auto;
	width: 90%;
}
#mainView .catch {
 padding-top: 0px;
	padding-bottom: 26px;
	font-size: 100%;
	font-weight: 600;
	text-align: center;
 text-shadow: none;
 text-shadow: 1px 1px 10px rgba(80, 80, 80, 0.5) , -1px -1px 10px rgba(80, 80, 80, 0.5); 
}
#mainView .suBcatch {
	margin-bottom: 10px;
	padding-top: 20px;
	text-align: center;
 text-shadow: 1px 1px 10px rgba(80, 80, 80, 0.8) , -1px -1px 10px rgba(80, 80, 80, 0.8); 
}
#mainView .suBcatch span {
	padding: 15px 0;
	font-size: 160%;
	line-height: 140%;
}
#mainView .current {
	padding-top: 5px;
	font-size: 118%;
	text-align: center;
}
.offer .recruit {
	padding: 30px 0;
	color: #333333;
	font-weight: 600;
	text-align: center;
	font-size: 142%;
}
.offerBtn {
	margin: 0px auto;
	max-width: 800px;
}
.offerBtn a {
	padding: 30px 0;
}
 .special .specialbox{
  margin-bottom: 60px;
 }
.special .flex_pc{
 display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.special h3{
 margin-bottom: 30px;
}
.special .txtbox{
 width: 52%;
}
.special p.ph{
	margin: 0 0 10px;
	width: 44%;
} 
.recSec {
	padding: 30px 0 60px 0;
}
.recSec h2 {
	margin-bottom: 30px;
	padding: 30px 0px;
}
.recSec ul {
	max-width: 550px;
}
.aboutSec {
	align-items: center;
	}
.aboutSec .text_01 {
	line-height: 2.0;
	}
.aboutSec .mi {
	margin: 0 0 0 0;
	padding: 80px 1% 80px 0;
	width: 29%;
	border: none;
	background: #f5c64e;
	color: #FFF;
	text-align: right;
}	
	.aboutSec .inner {
		margin: 0 0 0 0;
		padding: 0 5% 0 1%;
		width: 74%;
	}	
.deliySec {
	margin: 0px auto;
	padding: 60px 0 ;
}	
.deliySec .specialPrice span {
	font-size: 114%;
}	
	.deliySec>.pcFlex {
		margin: 0px auto;
		max-width: 1200px;
	}
 .deliySec .deliBlock {
  margin: 0px auto;
  padding: 20px;
  box-sizing: border-box;
 }
 .pcDeli {
  width: 33% !important;
 }
 .deliySec .plus {
  margin: 0px auto;
  padding: 40% 2% 0 2%;
  width: 3%;
 }	
 .cheeseBox {
  width: 48%;
 }	
	.phBox {
		width: 48%;
	}
	.profileSec {
		margin-bottom: 30px;
		padding-top: 60px;
		height: 800px;
		background: url(../images/bg_prof.jpg) no-repeat center center;
		background-size: cover;
	}	
.profileSec .introduction {
	line-height: 2.0;
	font-size: 111%;
	}
.profileSec .introduction strong {
	font-size: 134%;
}
.profile .inner {
	padding: 20px;
	box-sizing: border-box;
}	
.profileSec .introduction img {
	padding-left: 20px;
	padding-bottom: 20px;
	float: right;
	width: 20% !important;
}
	.withPhoho {
		margin-bottom: 60px;
	}	
	.withPhoho>p {
		width: 50%;
	}	
	.withPhoho>p,.withPhoho .note {
		width: 36%;
	}
	.enjoySec .text {
		width: 60%;
	}
	.journeySec {
		margin-bottom: 30px;
	}
	.journeySec .inner>.txt_01 {
		line-height: 2.0;
	}
	.journeySec .deteailText {
		display: block !important;
	}
	.journeySec .map {
		width: 55%;
	}
	.journeySec .cheeseBox {
		width: 100%;
	}
/*
	.journeySec .more {
		display: none;
	}
*/
	.journeySec .cheeseList {
		border-bottom: 1.5px solid #f5c64e;
	}
	#mapSlider .swiper-button-next, #mapSlider .swiper-button-prev {
		width: 30px;
		height: 30px;
		background-color: rgba(0,0,0,0.3);
		border-radius: 50%;
}
	#mapSlider .swiper-button-next, #mapSlider .swiper-container-rtl .swiper-button-prev {
		background-image: url("../images/next.png");
		background-size: 10px auto;
}
#mapSlider .swiper-button-prev {
		left: 0;
}
	#mapSlider .swiper-button-next {
		right: 0;
}
#mapSlider .swiper-button-prev, #mapSlider .swiper-container-rtl .swiper-button-next {
		background-image: url("../images/prev.png");
		background-size: 10px auto;
}
	.withPhoho .text_01 {
		line-height: 2.0;
	}	
	.discount {
		margin: 60px auto;
		padding: 2em 11% 2em;
		text-align: center;
		max-width: 1200px;
	}
#mapSlider .swiper-wrapper {
	display: flex!important;
}
#mapSlider .swiper-button-prev,#mapSlider .swiper-button-next {
	display: block;
}
#content iframe {
	width: 100% !important;
	height: 2850px;
}
.form_inner{
 margin: 0 auto;
 padding-bottom: 30px;
 width: 750px;
 font-weight: bold;
 text-align: center;
}
.form_inner .ico{
 width: 15%;
}
}
@media screen and (min-width:800px) {	
.deliySec .plus {
	padding: 18% 2% 0 2%;
}	
}

/* =====================
   共通
===================== */

.inner {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* =====================
   FV
===================== */

#mainView {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: url("../images/img_catch_260429.png") center center / cover no-repeat;
  overflow: hidden;
}

#mainView::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
}

.fvHeader {
  position: absolute;
  top: 20px;
  left: 0;
  width: 100%;
  z-index: 3;
  text-align: center;
}

.fvHeader .logo img {
  width: 160px;
}

.fvInner {
  position: relative;
  z-index: 2;
  color: #fff;
}

.fvTitle {
  margin: 0 0 20px;
  font-size: clamp(30px, 5vw, 60px);
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 12px rgba(0,0,0,0.35);
}

.fvText {
  margin: 0;
  font-size: clamp(15px, 2vw, 20px);
  line-height: 1.9;
  font-weight: 600;
  text-shadow: 0 2px 10px rgba(0,0,0,0.35);
}

/* =====================
   CTA共通
===================== */

.deliyOffer {
  margin: 0 auto;
  padding: 24px 0;
  width: 100%;
  background: #fff;
  border-top: 2px solid #f5c64e;
  border-bottom: 2px solid #f5c64e;
  box-sizing: border-box;
}

.deliyOffer .details {
  max-width: 800px;
  margin: 0 auto;
}

.deliyOffer h2 {
  margin: 0 0 18px;
  padding-bottom: 12px;
  font-size: 132%;
  font-weight: 700;
  text-align: center;
  border-bottom: 2px solid #231815;
  line-height: 1.5;
}

.deliyOffer .offerPrice {
  margin: 0 auto 20px;
  font-size: 185%;
  text-align: center;
  line-height: 1.45;
  font-weight: 600;
}

.deliyOffer .offerPrice strong {
  font-size: 128%;
  font-weight: 700;
  color: #941e23;
  font-family: "Noto Serif JP","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","ＭＳ Ｐ明朝",serif;
}

.deliyOffer .offerPrice .yen {
  font-size: 73%;
}

.deliyOffer .offerPrice .tax {
  font-size: 38%;
  vertical-align: middle;
}

.deliyOffer .offerPrice .subTxt {
  display: block;
  margin-top: 8px;
  font-size: 45%;
  line-height: 1.7;
  font-weight: 400;
  color: #231815;
}

.offerBtn {
  margin: 0 auto;
  max-width: 800px;
}

.offerBtn a {
  display: block;
  padding: 22px 10px;
  text-align: center;
  background: linear-gradient(0deg, #008000, #005700);
  border-radius: 10px;
  font-size: 153%;
  line-height: 1.35;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0 3px 0 -1px #002300;
  text-decoration: none !important;
}

.offerBtn a:hover {
  color: #fff !important;
  text-decoration: none !important;
  opacity: 0.9;
}

/* =====================
   毎月お届けするもの
===================== */

.deliySec {
  margin: 0 auto;
  padding: 60px 0;
  background: #efefef;
}

.deliySec .deliBlock {
  margin: 0 auto;
  padding: 30px;
  background: #fff;
  box-sizing: border-box;
}

.deliySec .deli_mi {
  margin: 0 0 30px;
  padding: 10px 0;
  border: 1.5px solid #333;
  font-size: 140%;
  font-weight: 700;
  color: #333;
  text-align: center;
}

.deliveryItems {
  display: flex;
  gap: 24px;
  justify-content: space-between;
}

.deliveryItem {
  width: 33.333%;
}

.deliveryImg {
  margin: 0 0 16px;
}

.deliveryItem h3 {
  margin: 0 0 10px;
  padding-bottom: 10px;
  font-size: 115%;
  font-weight: 700;
  color: #333;
  text-align: center;
  border-bottom: 1px solid #f5c64e;
}

.deliveryItem .text_01 {
  margin: 0;
  font-size: 95%;
  line-height: 1.8;
  color: #333;
}


/* =====================
   スマホ調整
===================== */

@media screen and (max-width: 767px) {

  #mainView {
    min-height: 520px;
    padding: 60px 0;
  }

  .fvTitle {
    font-size: 32px;
  }

  .fvText {
    font-size: 15px;
    line-height: 1.8;
  }

  .deliyOffer {
    padding: 22px 0;
  }

  .deliyOffer h2 {
    font-size: 118%;
  }

  .deliyOffer .offerPrice {
    font-size: 155%;
  }

  .offerBtn a {
    padding: 18px 10px;
    font-size: 125%;
  }

  .deliySec {
    padding: 40px 0;
  }

  .deliySec .deliBlock {
    padding: 22px 5%;
  }

  .deliySec .deli_mi {
    font-size: 125%;
  }

  .deliveryItems {
    display: block;
  }

  .deliveryItem {
    width: 100%;
    margin-bottom: 28px;
  }

  .deliveryItem:last-child {
    margin-bottom: 0;
  }
}
/* =====================
   SP：FV画像をCTAまでつなげる
===================== */
@media screen and (max-width: 767px) {

  #mainView {
    min-height: 560px;
    padding: 60px 0 40px;
    background-image: url("../images/img_catch_260429.png");
    background-position: center top;
    background-size: cover;
  }

  /* FV画像を明るくする */
#mainView::before {
  background: rgba(255,255,255,0.12);
}

#mainView {
  filter: brightness(1.05);
 }
}

/* =====================
   SP：FV＋CTAを1画面に収める
===================== */
@media screen and (max-width: 767px){

  /* FVを画面いっぱいに */
  #mainView{
    height: 100vh;
    min-height: unset;
    padding: 60px 0 120px; /* 下にCTAスペース確保 */
    box-sizing: border-box;
  }

  /* CTAを少し上に引き上げる */
  #mainView + .deliyOffer{
    margin-top: -100px;
    position: relative;
    z-index: 5;
  }

  /* CTAを見やすく */
  #mainView + .deliyOffer .details{
    background: rgba(255,255,255,0.92);
    border-radius: 12px;
    padding: 16px;
  }
}

@media screen and (max-width: 767px){

  #mainView{
    height: 100vh;
    min-height: unset;
  }

}

/* =====================
   SP：FV＋直下CTAを1画面に収める
===================== */
@media screen and (max-width: 767px){

  #mainView{
    height: 72svh;
    min-height: unset;
    padding: 40px 0 30px;
    box-sizing: border-box;
    background-position: center top;
  }

  .fvTitle{
    font-size: 32px;
    line-height: 1.45;
    margin-bottom: 18px;
  }

  .fvText{
    font-size: 15px;
    line-height: 1.8;
  }

  #mainView + .deliyOffer{
    padding: 18px 0 22px;
  }

  #mainView + .deliyOffer h2{
    font-size: 118%;
    margin-bottom: 14px;
    padding-bottom: 12px;
  }

  #mainView + .deliyOffer .offerPrice{
    font-size: 145%;
    margin-bottom: 16px;
  }

  #mainView + .deliyOffer .offerBtn a{
    padding: 16px 8px;
    font-size: 120%;
  }
}


/* =====================
   お届けチーズを①風に整える
===================== */

/* カード全体 */
.special .specialbox{
  max-width: 1000px;
  margin: 0 auto 40px;
  padding: 30px 20px;
  background: #fff;
  border: 1px solid #f5c64e;
  box-sizing: border-box;
}

/* タイトル中央 */
.lineupTitle{
  text-align: center;
  max-width: 800px;
  margin: 0 auto 25px;
  font-size: 22px;
  line-height: 1.6;
  font-weight: 700;
}

/* 2カラム整え */
.special .flex_pc{
  display: flex;
  align-items: flex-start;
  gap: 30px;
}

/* 画像 */
.special .ph{
  width: 45%;
}

.special .ph img{
  width: 100%;
  border-radius: 6px;
}

/* テキスト */
.special .txtbox{
  width: 55%;
}

/* 説明文を①っぽく */
.special .txt{
  line-height: 1.9;
  font-size: 15px;
}

/* =====================
   SP対応（①と同じ挙動）
===================== */

@media screen and (max-width:767px){

  .special .flex_pc{
    display: block;
  }

  .special .ph,
  .special .txtbox{
    width: 100%;
  }

  .special .ph{
    margin-bottom: 15px;
  }

  .lineupTitle{
    font-size: 18px;
  }
}

/* 黄色帯を外枠にくっつける：安全版 */
.special .specialbox{
  padding: 0 20px 30px;
  overflow: hidden;
}

.special .specialbox h3{
  margin: 0 -20px 30px;
  padding: 22px 4% 34px;
  background: url(../images/special_arr.png) center bottom no-repeat, #f5c64e;
  background-size: 100% 30px;
  color: #fff;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
}

.special .specialbox .lineupTitle{
  margin: 0 auto 30px !important;
  text-align: center !important;
  max-width: 900px;
  font-size: 22px;
  line-height: 1.6;
}

.special .specialbox h3{
  background: url(../images/special_arr.png) center bottom no-repeat, #f5c64e;
  background-size: 100% 30px;
}

.leadTxt{
  max-width: 800px;
  margin: 0 auto 25px;
  text-align: center;
  font-size: 16px;
  line-height: 1.9;
  color: #941e23;
  font-weight: 600;
}

/* 右カラムの文字崩れ防止 */
.special .txtbox .txt{
  line-height: 1.9;
  font-size: 16px;
  word-break: normal;
}

.special .txtbox b{
  display: block;
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  white-space: normal;
}

#mainView::before {
  content: "";
  position: absolute;
  inset: 0;
  background: transparent;
}

#mainView {
  filter: none;
}

/* FV文字を右上へ */
.fvInner{
  position: absolute;
  top: 70px;
  right: 6%;
  left: auto;
  width: 42%;
  max-width: 520px;
  text-align: left;
  z-index: 2;
}

/* FV文字サイズ調整 */
.fvTitle{
  font-size: clamp(30px, 3.8vw, 52px);
  line-height: 1.45;
}

.fvText{
  font-size: clamp(14px, 1.4vw, 18px);
  line-height: 1.9;
}

/* スマホは中央寄せのままでもOK */
@media screen and (max-width:767px){
  .fvInner{
    position: relative;
    top: auto;
    right: auto;
    width: 90%;
    max-width: none;
    margin: 0 auto;
    text-align: center;
  }
}
@media screen and (min-width:768px){

  .fvInner{
    position: absolute;
    top: 80px;
    right: 6%;
    width: 40%;
    max-width: 520px;
    text-align: left;

    /* これが重要👇 */
    background: rgba(255,255,255,0.55);
    padding: 24px 28px;
    border-radius: 12px;
    backdrop-filter: blur(6px);
  }

  .fvTitle{
    font-size: 42px;
    line-height: 1.4;
    color: #231815;
    text-shadow: none;
  }

  .fvText{
    font-size: 16px;
    line-height: 1.9;
    color: #231815;
    text-shadow: none;
  }
}

@media screen and (max-width:767px){

 .fvInner{
    background: rgba(0,0,0,0.35);
    padding: 16px;
    border-radius: 10px;
  } 

  .fvTitle{
    font-size: 30px;
  }

  .fvText{
    font-size: 14px;
  }
}
@media screen and (min-width:768px){
  .fvTitle{
    line-height: 1.3;
  }
}

.fvInner{
  background: rgba(255,255,255,0.75); /* 少し濃く */
  backdrop-filter: blur(3px); /* ぼかし弱める */
  border: 1px solid rgba(0,0,0,0.08); /* 輪郭つける */
}

.fvCatch{
  font-size: 18px;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  color: #7a5c3a;
}

.fvTitle{
  font-size: 42px;
  font-weight: 700;
}

.fvInner{
  position: relative;
}

.fvInner::after{
  content: "";
  position: absolute;
  bottom: -40px;
  left: 20px;
  width: 60%;
  height: 2px;
  background: linear-gradient(to right, #caa45c, transparent);
  display: none;
}

.fvInner{
  background: none;
  backdrop-filter: none;
}

.fvTitle{
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}

/* =====================
   FV 最終上書き
===================== */

#mainView {
  position: relative;
  min-height: 600px;
  background: url("../images/img_catch_260429.png") center center / cover no-repeat !important;
  filter: none !important;
}

#mainView::before {
  background: transparent !important;
}

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

  .fvInner{
    position: absolute !important;
    top: 80px !important;
    right: 6% !important;
    left: auto !important;
    width: 40% !important;
    max-width: 520px !important;
    margin: 0 !important;
    text-align: left !important;

    background: rgba(255,255,255,0.75) !important;
    padding: 24px 28px !important;
    border-radius: 12px !important;
    border: 1px solid rgba(0,0,0,0.08) !important;
    backdrop-filter: blur(3px);
  }

  .fvTitle{
    font-size: 42px !important;
    line-height: 1.4 !important;
    color: #231815 !important;
    text-shadow: none !important;
  }

  .fvText{
    font-size: 16px !important;
    line-height: 1.9 !important;
    color: #231815 !important;
    text-shadow: none !important;
  }
}

@media screen and (max-width:767px){

  #mainView{
    min-height: 520px !important;
    height: auto !important;
    padding: 60px 0 !important;
    background-position: center top !important;
  }

  .fvInner{
    position: relative !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    width: 90% !important;
    max-width: none !important;
    margin: 0 auto !important;
    text-align: center !important;

    background: rgba(0,0,0,0.35) !important;
    padding: 16px !important;
    border-radius: 10px !important;
    border: none !important;
    backdrop-filter: none !important;
  }

  .fvTitle{
    font-size: 30px !important;
    color: #fff !important;
    text-shadow: none !important;
  }

  .fvText{
    font-size: 14px !important;
    color: #fff !important;
    text-shadow: none !important;
  }
}

.fvInner{
  background: none !important;
  backdrop-filter: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.fvTitle,
.fvText{
  color: #fff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

/* =====================
   FV 最終調整：PC/SP共通
   右上・左寄せ・白文字・太字
===================== */

.fvInner{
  position: absolute !important;
  top: 70px !important;
  right: 6% !important;
  left: auto !important;
  width: 42% !important;
  max-width: 560px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  z-index: 2 !important;
}

.fvCatch,
.fvTitle,
.fvText{
  color: #fff !important;
  font-weight: 800 !important;
  text-shadow:
    0 3px 8px rgba(0,0,0,0.55),
    0 0 18px rgba(0,0,0,0.35) !important;
}

.fvTitle{
  font-size: clamp(34px, 4vw, 56px) !important;
  line-height: 1.35 !important;
  letter-spacing: 0.04em !important;
}

.fvText{
  font-size: clamp(15px, 1.5vw, 19px) !important;
  line-height: 1.9 !important;
}

/* SPも右上・左寄せ */
@media screen and (max-width:767px){

  .fvInner{
    top: 70px !important;
    right: 6% !important;
    width: 82% !important;
    max-width: none !important;
    text-align: left !important;
  }

  .fvTitle{
    font-size: 34px !important;
    line-height: 1.35 !important;
  }

  .fvText{
    font-size: 15px !important;
    line-height: 1.8 !important;
  }
}

/* =====================
   FV 最終調整
===================== */

/* 黄色い謎の線を消す */
.fvInner::after{
  display: none !important;
}

/* PC：便が回り込まないように幅を広げる */
@media screen and (min-width:768px){

  .fvInner{
    right: 4% !important;
    width: 58% !important;
    max-width: 860px !important;
    text-align: left !important;
  }

  .fvTitle{
    font-size: clamp(40px, 4.2vw, 64px) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  .fvText{
    white-space: normal !important;
  }
}

/* SP：中央寄せ */
@media screen and (max-width:767px){

  .fvInner{
    right: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 88% !important;
    text-align: center !important;
  }

  .fvTitle,
  .fvText{
    text-align: center !important;
  }
}
.fvHeader{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background: rgba(40, 25, 10, 0.85);
  display: flex;
  align-items: center;
  padding: 0 5%;
  z-index: 100;
}
#mainView{
  height: calc(100vh - 70px) !important;
  margin-top: 70px;
}
@media screen and (max-width:767px){

  .fvHeader{
    height: 60px;
  }

  #mainView{
    height: calc(100vh - 60px) !important;
    margin-top: 60px;
  }
}
/* =====================
   ロゴ帯 最終上書き
===================== */

.fvHeader{
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: 70px !important;
  background: rgba(40, 25, 10, 0.85) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  z-index: 10 !important;
  box-sizing: border-box !important;
}

.fvHeader .logo{
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
}

.fvHeader .logo img{
  display: block !important;
  width: auto !important;
  height: 34px !important;
  max-width: 220px !important;
}

/* FVはロゴ帯の下に普通に表示 */
#mainView{
  margin-top: 0 !important;
}

/* SP */
@media screen and (max-width:767px){

  .fvHeader{
    height: 56px !important;
  }

  .fvHeader .logo img{
    height: 26px !important;
    max-width: 180px !important;
  }
}
/* FV画像：PC用 */
#mainView{
  background-image: url("../images/img_catch_260429.png") !important;
  background-position: center center !important;
  background-size: cover !important;
}

/* FV画像：SP用 */
@media screen and (max-width:767px){
  #mainView{
    background-image: url("../images/img_catch_260429.png") !important;
    background-position: center top !important;
    background-size: cover !important;
  }
}
@media screen and (max-width:767px){
  #mainView{
    height: 64svh !important;
    min-height: unset !important;
  }

  #mainView + .deliyOffer{
    padding: 16px 0 20px !important;
  }
}

@media screen and (min-width:768px){
  #mainView{
    height: calc(100vh - 70px) !important;
  }
}

@media screen and (max-width:767px){
  #mainView{
    height: 62svh !important;
  }
}
/* =====================
   SP：FV文字の改行調整
===================== */
@media screen and (max-width:767px){

  .fvInner{
    width: 92% !important;
    text-align: center !important;
  }

  .fvCatch{
    font-size: 22px !important;
    line-height: 1.4 !important;
    margin-bottom: 8px !important;
  }

  .fvTitle{
    font-size: 34px !important;
    line-height: 1.35 !important;
    letter-spacing: 0.02em !important;
    white-space: normal !important;
  }

  .fvText{
    font-size: 17px !important;
    line-height: 1.65 !important;
    letter-spacing: 0 !important;
  }

  .fvText br{
    display: none !important;
  }
}
.sp_only{
  display: none;
}

@media screen and (max-width:767px){
  .sp_only{
    display: block;
  }
}
/* デフォルト（PC）→ 改行しない */
.sp_only{
  display: none;
}

/* SPだけ改行を有効化 */
@media screen and (max-width:767px){
  .sp_only{
    display: inline;
  }
}

/* お届けチーズ・ワイン画像を大きく表示 */
.special .lineupVisual{
  width: 100% !important;
  max-width: 780px !important;
  margin: 0 auto 30px !important;
  text-align: center;
}

.special .lineupVisual img{
  width: 100% !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width:768px){
  .special .lineupVisual{
    max-width: 900px !important;
  }
}

/* タイトル（少し締める） */
.special .lineupTitle{
  font-size: 20px;
  line-height: 1.5;
  margin-bottom: 15px;
}

/* 赤リード文（間延び解消） */
.special .leadTxt{
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 25px;
}

/* 本文（ここが一番効く） */
.special .txt{
  font-size: 14px;
  line-height: 1.7;
}

/* 商品名（強調しつつ詰める） */
.special .txt b{
  display: block;
  font-size: 15px;
  margin-bottom: 6px;
}

/* 商品説明をコンパクトに */
.special .txt{
  font-size: 14px;
  line-height: 1.65; /* ←ここ重要（今より締める） */
}

/* 商品名（見出し） */
.special .txt b{
  display: block;
  font-size: 15px;
  margin-bottom: 4px; /* ←余白を詰める */
}

/* 各ブロック間の余白を整理 */
.special .txt br + br{
  display: none; /* ←無駄な2行改行を削除 */
}

/* 商品ごとの区切り（適度な余白だけ残す） */
.special .txt b + *{
  margin-bottom: 12px;
}

.special .item{
  margin-bottom: 16px;
}

/* 今後のお届けチーズ：縦並び */
#lineup .flex_pc{
  display: block !important;
}

#lineup .lineupVisual{
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto 24px !important;
}

#lineup .lineupVisual img{
  width: 100% !important;
  height: auto !important;
  display: block;
}

#lineup .txtbox{
  width: 100% !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}

#lineup .item{
  margin-bottom: 14px;
  font-size: 14px;
  line-height: 1.65;
}

#lineup .item b{
  display: block;
  margin-bottom: 4px;
  font-size: 15px;
}

/* SPはさらに横幅いっぱい */
@media screen and (max-width:767px){
  #lineup.inner,
  #lineup .inner{
    width: 100% !important;
  }

  #lineup .specialbox{
    width: 94% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #lineup .lineupVisual{
    max-width: none !important;
  }
}
/* =====================
   お届けチーズ：幅統一
===================== */

/* 画像の幅を制御 */
#lineup .lineupVisual{
  width: 100%;
  max-width: 820px; /* ←ここでサイズ調整 */
  margin: 0 auto 24px;
}

#lineup .lineupVisual img{
  width: 100%;
  height: auto;
  display: block;
}

/* 説明も同じ幅に揃える */
#lineup .txtbox{
  width: 100%;
  max-width: 820px; /* ←画像と同じにする */
  margin: 0 auto;
}

/* タイトルとリードも揃えると綺麗 */
#lineup .lineupTitle,
#lineup .leadTxt{
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
/* =====================
   FV：PC/SPとも中央配置
===================== */

.fvInner{
  left: 50% !important;
  right: auto !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  width: 90% !important;
  max-width: 900px !important;
  text-align: center !important;
}

.fvTitle,
.fvText,
.fvCatch{
  text-align: center !important;
}

/* PC：FVの高さを短く */
@media screen and (min-width:768px){
  #mainView{
    height: 520px !important;
    min-height: unset !important;
  }

  .fvTitle{
    font-size: 46px !important;
  }

  .fvText{
    font-size: 18px !important;
  }
}

/* SP：FVの高さを短く */
@media screen and (max-width:767px){
  #mainView{
    height: 430px !important;
    min-height: unset !important;
    padding: 0 !important;
  }

  .fvTitle{
    font-size: 32px !important;
  }

  .fvText{
    font-size: 15px !important;
  }
}

/* =====================
   サービス説明と特典の余白
===================== */

.recSec{
  padding-bottom: 60px !important;
}

.recSec + .special{
  margin-top: 50px !important;
}

@media screen and (max-width:767px){
  .recSec{
    padding-bottom: 40px !important;
  }

  .recSec + .special{
    margin-top: 35px !important;
  }
}
/* =====================
   サービス説明のサブコピー
===================== */

.recSec h3{
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  text-align: center !important;
  margin: 10px auto 25px !important;
  max-width: 720px;
}
/* タイトル */
.recSec h2{
  text-align: center;
  margin-bottom: 10px;
}

/* サブタイトル */
.recLead{
  text-align: center;
  font-size: 15px;
  line-height: 1.8;
  color: #666;
  max-width: 720px;
  margin: 0 auto 20px;
}

/* 区切り線をタイトル下に入れる */
.recSec h2::after{
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: #333;
  margin: 15px auto 0;
}
/* サービス説明：黒線削除＆白文字に戻す */
.recSec h2::after{
  display: none !important;
}

.recSec h2,
.recSec .recLead,
.recSec h3,
.recSec ul,
.recSec li{
  color: #fff !important;
}

.recLead{
  text-align: center;
  font-size: 15px;
  line-height: 1.8;
  max-width: 780px;
  margin: 0 auto 28px;
  font-weight: 500;
}
/* タイトル */
.recTitle{
  text-align: center;
  color: #fff;
  margin-bottom: 12px;
}

/* サブタイトル */
.recLead{
  text-align: center;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.85);
  max-width: 760px;
  margin: 0 auto 20px;
}

/* 中央ライン */
/*.recLine{
  width: 60px;
  height: 2px;
  background: rgba(255,255,255,0.7);
  margin: 0 auto 25px;
} */

/* リスト */
.recList{
  max-width: 700px;
  margin: 0 auto;
  color: #fff;
  line-height: 1.9;
}

.recList li{
  margin-bottom: 10px;
}
/* タイトル */
.recTitle{
  text-align: center;
  color: #fff;
  margin-bottom: 20px;
}

/* サブタイトル（←ここがキモ） */
.recLead{
  text-align: center;
  font-size: 15px;
  line-height: 1.8;
  color: rgba(255,255,255,0.85);
  max-width: 760px;

  /* ここで位置調整 */
  margin: -40px auto 20px;
}

/* リスト */
.recList{
  max-width: 700px;
  margin: 0 auto;
  color: #fff;
  line-height: 1.9;
}

/* フォーム注意事項 */
.formNotice{
  max-width: 900px;
  margin: 0 auto 30px;
  padding: 18px 20px;
  border: 1px solid #d9b24c;
  background: rgba(255,255,255,0.6);
  box-sizing: border-box;
}

.formNotice p{
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
  color: #3a2a2a;
}

/* SP */
@media screen and (max-width:767px){

  .formNotice{
    padding: 14px 16px;
    margin-bottom: 20px;
  }

  .formNotice p{
    font-size: 14px;
    line-height: 1.8;
  }

}

.fvLineup {
  padding: 40px 0;
  background: #fffaf0;
}

.fvLineupTitle {
  text-align: center;
  font-size: 28px;
  margin-bottom: 25px;
}

.lineupSwiper {
  position: relative;
  overflow: hidden;
}

.lineupSwiper .swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

.lineupSwiper .swiper-button-prev,
.lineupSwiper .swiper-button-next {
  color: #7a4b2a;
}

.lineupSwiper .swiper-pagination {
  position: relative;
  margin-top: 18px;
}

@media (max-width: 768px) {
  .fvLineup {
    padding: 30px 0;
  }

  .fvLineupTitle {
    font-size: 22px;
  }
}

