@charset "UTF-8";
/*濃い黄#FCDC43/薄い黄：#FFF5C1*/
/*----------------------------------------- 動き -----------------------------------------*/
/* フェードイン(初期値) */
.js-fadeUp {
  opacity: 0; /* 最初は非表示 */
  transform: translateY(80px); /* 下に30pxの位置から */
  transition: opacity .8s, transform .8s; /* 透過率と縦方向の移動を0.8秒 */
}
/* フェードイン(スクロールした後) */
.js-fadeUp.is-inview {
  opacity: 1; /* 表示領域に入ったら表示 */
  transform: translateY(0); /* 30px上に移動する */
  transition-delay: .5s; /* フェード開始を0.5秒遅らせる */
}
/*----------------------------------------- 共通 -----------------------------------------*/
body{
	
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
	line-height: 1.8;
	letter-spacing:0.06em;

}
h1{
	font-size: 24px;
	font-weight: 800;
  font-style: normal;
}
h2{
	font-size: 20px;
	font-weight: 700;
  font-style: normal;
	padding-bottom: 8px;
}
span99{
	display: inline-block;
}
span{
	font-size: 20px;
}
.small-text{
	font-size: 12px;
}
/*----------------------------------------- ボタン -----------------------------------------*/
/*.btn{
	text-align: center;
  margin-top: 1em; 
}

.btn a{
	border: solid 1.5px #000000;
	padding: 1em 3em;
	display: inline-block; 
	color: #000;
	text-decoration: none;
}*/

/*----------------------------------------- 横幅 -----------------------------------------*/

.inner{
	max-width: 1200px;
	margin: 0 auto;
}
.inner2{
	max-width: 1200px;
	margin: 0 auto;
}
/*----------------------------------------- top -----------------------------------------*/

/*---------------  非表示  ---------------*/
.mv-sp {
    display: none;
}
/*slider*/
	.pc-slider{
		display: block;
		
	}
	.m-slider{
		display: none;
	}

/*---------------  TOP画像  ---------------*/
.mv {
    width: 100%;
}

.mv img{
    display: block;
	width: 100%;
	position: relative;
	object-fit: cover;
	
}
/*----------------------------------------- top終了 -----------------------------------------*/
/*---------------------------右下固定ボタン---------------------------*/
/*.box {
  width: 150px;
  height: 150px;
	border-radius: 50%;
  background: #1B5A5B;
  position: fixed;
  bottom: 50px;
  right: 50px; 
}*/
.fixed_btn{
  position: fixed;
  bottom: 20px; 
  right: 20px;
  padding: 30px 40px;
	z-index: 9999;
	border-radius: 50%;
  background-color: rgba( 252, 220, 67, 0.8 );
	box-shadow: 0 8px 32px 0 rgba( 179, 149, 3, 0.3 );
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
	border: 1px solid rgba( 255, 255, 255, 0.18 );
}
.fixed_btn p{
	color: #fff;
	line-height: 1.2em;
	letter-spacing: 0.2em;
	font-weight: 500;
	font-style: normal;
}
.cart img{
	width: 36px;
	padding-top: 5px;
	margin: auto;
    display: block;
}
/*---------*/
/*----------------------------------------- ページ内ボタン -----------------------------------------*/
.nav-flex{
	display: flex;
	margin: 24px auto;
}
.nav-flex a{
	text-decoration: none;
	color: #000;
}

/*----------------------------------------- fair -----------------------------------------*/
#fair{
	padding: 0 16px;
}
.fair-flex{
	margin: 16px auto 40px;
	display: flex;
	align-items: center;
}
.fair-waku{
	padding: 20px;
	border: solid 1.5px #000000;
}
.fair-font{
	width: 60%;
}
.fair-photo{
	width: 40%;
}
.fair-photo img{
	padding-left: 16px;
	max-height:  260px;
	width: auto;
	display: block;
}

/*----------------------------------------- fair終了 -----------------------------------------*/

/*----------------------------------------- QT-text -----------------------------------------*/
#QT-text{
	padding: 0 56px;
	background-color: #FFF5C1;
	
}
.QT-text-flex{
	margin: 16px auto 40px;
	display: flex;
	align-items: center;
	padding: 56px 0;
}

.QT-text-font{
	width: 60%;
}
.QT-text-photo{
	width: 40%;
}
.QT-text-photo img{
	padding-left: 16px;
	max-width: 100%;
}




/*----------------------------------------- 商品一覧前 -----------------------------------------*/
#product{
	margin:64px 0 0;
}

.product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 370px);
  gap: 10px 16px;
  justify-content: center;
  align-items: stretch; /* 高さを統一 */
}

.product-detail {
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* 上と下を引き離す */
  border: 1px solid #000;
  padding: 16px;
  box-sizing: border-box;
}

.product-top {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.product-bottom {
  margin-top: 16px;
  text-align: center;
}

img.product-photo {
  height: 300px;
  display: block;
  margin: 0 auto;
  width: auto;
}

img.product-meter {
  width: 100%;
  height: auto; /* ★統一したい高さ */
  object-fit: contain; /* 画像を縮小して全体表示 */
  margin: 0 auto 64px;
}

.recommend {
  padding: 24px 0 0;
  font-weight: 700;
	text-align: left;
	min-height: 10em; /* 必要に応じて調整（例: 3〜6emくらい） */
	font-size: 15px;
}
.product-meter{
	padding: 0;
}
.btn {
  display: flex;
  justify-content: center;
margin-top: 64px;
}
.btn a{
	border: solid 1.5px #000000;
	display: inline-block;
  padding: 8px 64px;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  transition: background-color 0.5s;
}
.btn a:hover {
  background-color: #ececec;
}
.under-line{
	position: relative;
  display: block;
  margin: 0 auto 32px;
	text-align: center;
}
.under-line::after {
  content: "";
  display: block;
  width: 100px;
  height: 4px;
  background-color: #FCDC43;
	position: absolute;
	bottom: -8px;
	left: 50%;
  transform: translateX(-50%);
}

/*----------------------------------------- 商品一覧終了-----------------------------------------*/

/*----------------------------------------- Quinteassential特長 -----------------------------------------*/
#feature{
	margin: 64px 0 0;
	background-image: url("../img/back.jpg");
	background-size: cover;        /* 要素の大きさに合わせて拡大縮小 */
    background-position: center;   /* 中央配置 */
    background-repeat: no-repeat;  /* 繰り返しなし */
}
.feature {
	padding: 64px 0;
}
.feature-flex{
	display: flex;
	align-items: center;
	padding: 24px 20px;
}
.feature-flex-detail-photo{
	width: 40%;
}
.feature-flex-detail-photo img{
	max-width:  345px;
	display: block;
	margin: 0 auto;
}
.feature-flex-detail-text{
	width: 60%;
}
.under-line2{
	position: relative;
  display: block;
  margin: 0 auto 32px;
	text-align: center;
}
.under-line2::after {
  content: "";
  width: 100px;
  height: 4px;
  background-color: #fff;
	position: absolute;
	bottom: -8px;
	left: 50%;
  transform: translateX(-50%);
}

/*----------------------------------------- Quinteassentialとは -----------------------------------------*/
#company{
	background-color: #FFF5C1;
	/*margin: 0 0 64px;*/
}
.company{
	padding: 64px 16px;
}

.company-flex{
	display: flex;
	align-items: center;
	justify-content: center;
}
.company-text{
	width: 60%;
}
.company-photo{
	width: 30%;
	margin: 0 auto;
}
.company-photo img{
	max-width:330px;
	height: auto;
}


/*----------------------------------------- おいしい紅茶のいれ方 -----------------------------------------*/
.visual {
  background-color: #9f9f9f;
  margin-bottom: 60px;
}
.tea-detail-slider{
	padding: 30px 0;
}
.tea-detail-slider h2{
	text-align: center;
}
.tea-detail p{
	max-width: 800px;
	margin: 0 auto;
}
/**/

.slider{
	max-width: 700px;
	margin: 0 auto;
}
.slider-2 .slick-slide {
  width: 600px;
  height: 400px;
  margin: 0 40px;
  position: relative;
  overflow: hidden;
}
.slider-2 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-2 .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #FCDC43;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 200px;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slider-2 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #fff;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}
.slider-2 .slick-next {
  right: 0;
}
.slider-2 .slick-prev {
  left: 0;
}
.slider-2 .slick-next::before {
  left: 20px;
}
.slider-2 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 22px;
}
.dots-2 .slick-dots {
  text-align: center;
}
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots-2 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots-2 .slick-dots .slick-active button {
  background: #0a467d;
}
/*----------------------------------------- よくあるご質問 -----------------------------------------*/
#question{
	/*margin: 30px 0 0;*/
	background-color: #ececec;
}
.question{
	padding: 64px 0;
}
.question-text{
	width: 70%;
	margin: 24px auto;
}
.thinunder-line{
	position: relative;
  margin: 0 auto 8px;
}
.thinunder-line::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #000;
	position: absolute;
	bottom: -8px;
}
/*----------------------------------------- footer -----------------------------------------*/
.footer{
	margin-top: 16px;
	text-align: center;
	padding: 16px 0;
}
.footer img{
	width: 150px;
}
.footer p{
	font-size: 14px;
}
/*---------------------------レスポンシブ959px---------------------------*/
@media screen and (max-width: 959px) {
    /* 959px以下に適用されるCSS（タブレット用） */
/*共通*/
	.inner{
	max-width: 750px;
	margin: 0 auto;
}
	.inner2{
	max-width: 95%;
	margin: 0 auto;
}
/*---------------------------右下固定ボタン---------------------------*/
.fixed_btn{
  position: fixed;
  bottom: 10px; 
  right: 10px;
  padding: 25px 32px;
	z-index: 9999;
	border-radius: 50%;
  background-color: rgba( 252, 220, 67, 0.8 );
	box-shadow: 0 8px 32px 0 rgba( 179, 149, 3, 0.3 );
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
	border: 1px solid rgba( 255, 255, 255, 0.18 );
}
.fixed_btn p{
	color: #fff;
	line-height: 1.1em;
	letter-spacing: 0.1em;
	font-size: 15px;
}
.cart img{
	width: 25px;
	padding-top: 5px;
	margin: auto;
    display: block;
}
/*----------------------------------------- ページ内ボタン -----------------------------------------*/
.nav-flex{
	display: flex;
	margin: 12px auto 0;
}
.nav-flex a{
	text-decoration: none;
	color: #000;
}
/*----------------------------------------- fair -----------------------------------------*/
.fair-flex{
	margin: 10px auto 40px;
	display: flex;
	align-items: center;
	flex-direction:column-reverse;

}
.fair-waku{
	padding: 20px;
	border: solid 1.5px #000000;
}
.fair-font{
	width: 100%;
}
.fair-photo{
	width: 100%;
}
.fair-photo img{
	padding-left: 0px;
	max-height:  300px;
	width: auto;
	display: block;
	margin: 0 auto;
}
/*----------------------------------------- QT-text -----------------------------------------*/
#QT-text{
	padding: 0 16px;
	background-color: #FFF5C1;
	
}
/*----------------------------------------- 商品一覧 -----------------------------------------*/
#product{
	margin:64px 0 0;
}
	.product-grid{

  display: grid;
  grid-template-columns: repeat(auto-fit, 350px);
  gap: 10px 12px;
  justify-content: center;

}
.product-detail{
	display: flex;
  flex-direction: column;
  justify-content: space-between; /* 上下を引き離す */
  height: 100%; /* 明示的に高さを揃える */
  min-height: 700px; /* 必要に応じて調整：商品の内容量に応じて増やす */
  padding: 16px;
  border: solid 1px #000000;
  box-sizing: border-box;
}

img.product-photo{
	height: 300px;
	display: block;
  margin: 0 auto;
  width: auto;
}
.product-meter{
	padding: 24px 0;
}
img.product-meter{
	width: 100%;
	display: block;
  margin: 0 auto 64px;
  height: auto;
}
.recommend{
	padding: 8px 0;
	font-weight: 700;
}
.btn{
	margin-top: auto; 
  display: flex;
  justify-content: center;
	margin-top: 48px;
}

.btn a{
	border: solid 1.5px #000000;
	display: inline-block;
  padding: 8px 64px;
  background-color: #fff;
  color: #000;
  text-decoration: none;
  transition: background-color 0.5s;
}
.btn a:hover {
  background-color: #ececec;
}
.under-line{
	position: relative;
  display: block;
  margin: 0 auto 32px;
	text-align: center;
}
.under-line::after {
  content: "";
  display: block;
  width: 100px;
  height: 4px;
  background-color: #FCDC43;
	position: absolute;
	bottom: -8px;
	left: 50%;
  transform: translateX(-50%);
}
/**/
#feature{
	margin: 64px 0 0;
	background-image: url("../img/back.jpg");
}
.feature {
	padding: 64px 0;
}
.feature-flex{
	display: flex;
	align-items: center;
	padding: 24px 10px;
}
.feature-flex-detail-photo{
	width: 40%;
}
.feature-flex-detail-photo img{
	max-width:  260px;
	display: block;
	margin: 0 auto;
}	
.feature-flex-detail-text{
	width: 60%;
	padding-left: 16px;
}
/*----------------------------------------- Quinteassentialとは -----------------------------------------*/
#company{
	background-color: #FFF5C1;
	/*margin: 0 0 64px;*/
}
.company{
	padding: 48px 16px;
}
.company-flex{
	display: flex;
	align-items: center;
	justify-content: center;
}
.company-text{
	width: 60%;
}
.company-photo{
	width: 40%;
	margin: 0 auto;
	padding-left: 16px;
}
.company-photo img{
height: auto;
	max-width:270px;
}
/*----------------------------------------- おいしい紅茶のいれ方 -----------------------------------------*/
.visual {
  background-color: #9f9f9f;
  margin-bottom: 60px;
}
.tea-detail-slider{
	padding: 30px 0;
}
.tea-detail-slider h2{
	text-align: center;
}
.tea-detail p{
	max-width: 720px;
	margin: 0 auto;
}
	
	
	




/*----------------------------------------- よくあるご質問 -----------------------------------------*/
.question-text{
	max-width:min(90%, 600px);
	margin: 24px auto;
}

}

@media screen and (max-width:767px) {
/*----------------------------------------- 横幅・共通 -----------------------------------------*/
.inner{
	max-width: 90%;
	margin: 0 auto;
}
	.inner2{
	max-width: 100%;
	margin: 0 auto;
}
h1{
	font-size: 20px;
	font-weight: 800;
  font-style: normal;
}
h2{
	font-size: 18px;
	font-weight: 700;
  font-style: normal;
	padding-bottom: 8px;
}
/*----------------------------------------- 非表示 -----------------------------------------*/
/* PCとモバイルの表示切り替え */
	.mv {
        display: none;
    }
    .mv-sp {
        display: block;
		width: 100%;
    }
	.mv-sp img{
		width: 100%;
	}
	/*slider*/
	.pc-slider{
		display: none;
	}
	.m-slider{
		display: block;
	}
/*---------------------------右下固定ボタン---------------------------*/
.fixed_btn{
  position: fixed;
  bottom: 10px; 
  right: 10px;
  padding: 18px 25px;
	z-index: 9999;
	border-radius: 50%;
  background-color: rgba( 252, 220, 67, 0.8 );
	box-shadow: 0 8px 32px 0 rgba( 179, 149, 3, 0.3 );
	backdrop-filter: blur( 5.5px );
	-webkit-backdrop-filter: blur( 5.5px );
	border: 1px solid rgba( 255, 255, 255, 0.18 );
}
.fixed_btn p{
	color: #fff;
	line-height: 1.1em;
	letter-spacing: 0.1em;
	font-size: 13px;
}
.cart img{
	width: 25px;
	padding-top: 5px;
	margin: auto;
    display: block;
}
/*----------------------------------------- ページ内ボタン -----------------------------------------*/
.nav-flex{
	display: flex;
	margin: 12px auto 0;
}
.nav-flex a{
	text-decoration: none;
	color: #000;
}
/*共通*/
.under-line2::after {
  content: "";
  width: 50px;
  height: 4px;
  background-color: #fff;
	position: absolute;
	bottom: -8px;
	left: 50%;
  transform: translateX(-50%);
}
.under-line::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  background-color: #FCDC43;
	position: absolute;
	bottom: -8px;
	left: 50%;
  transform: translateX(-50%);
}
/*----------------------------------------- fair -----------------------------------------*/
#fair{
	padding: 0px;
}
.fair-flex{
	margin: 0px auto 40px;
	display: flex;
	align-items: center;
	flex-direction:column-reverse;
}
.fair-waku{
	padding: 16px;
	border: solid 1.5px #000000;
}
.fair-font{
	width: 100%;
}
.fair-photo{
	width: 100%;
}
.fair-photo img{
	padding-left: 0px;
	max-height:  100%;
	max-width:  300px;
	display: block;
	margin: 0 auto;
}

/*----------------------------------------- fair終了 -----------------------------------------*/
/*----------------------------------------- 商品一覧 -----------------------------------------*/
#product{
	margin:48px 0 0;
}
	.recommend {
  padding: 8px 0;
  font-weight: 700;
	text-align: left;
	min-height: 6em; /* 必要に応じて調整（例: 3〜6emくらい） */
	font-size: 15px;
}
/*----------------------------------------- Quinteassential特長 -----------------------------------------*/
#feature{
	margin: 64px 0 0;
	background-image: url("../img/back.jpg");
}
.feature {
	padding: 48px 0;
}

.feature-flex{
	display: flex;
	align-items: center;
	flex-direction:column;
	padding: 16px 10px 16px;
}
.feature-flex-detail-photo{
	width: 100%;
	
}
.feature-flex-detail-photo img{
	max-width:  350px;
	width: 90%;
	display: block;
	margin: 0 auto;
	padding-bottom: 12px;
}
.feature-flex-detail-text{
	width: 100%;
}
.feature-flex.reverse{
		flex-direction:column-reverse;
	}
/*----------------------------------------- QT-text -----------------------------------------*/
#QT-text{
	padding: 0 16px;
	background-color: #FFF5C1;
	
}
.QT-text-flex{
	margin: 0 auto;
	flex-direction:column;
	align-items: center;
	justify-content: center;
	padding: 48px 0;
}

.QT-text-font{
	width: 100%;
}
.QT-text-photo{
	width: 100%;
}
.QT-text-photo img{
	padding-left: 0px;
	margin: 32px auto 0;
	display: block;
	max-width: 100%;
}
	
/*----------------------------------------- QTとは -----------------------------------------*/
#company{
	background-color: #FFF5C1;
	/*margin: 0 0 48px;*/
}
.company{
	padding: 48px 16px;
}

.company-flex{
	display: flex;
	flex-direction:column;
	align-items: center;
	justify-content: center;
}
.company-text{
	width: 100%;
}
.company-photo{
	width: 100%;
	padding-top: 32px;
	padding-left: 0;
}
.company-photo img{
	height: auto;
	max-width:350px;
	width: 90%;
	display: block;
	margin: 0 auto;
}
/*----------------------------------------- おいしい紅茶のいれ方 -----------------------------------------*/
.visual {
  background-color: #9f9f9f;
  margin-bottom: 60px;
}
.tea-detail-slider{
	padding: 16px 0 0;
}
.tea-detail-slider h2{
	text-align: center;
}
.tea-detail p{
	max-width: 720px;
	margin: 0 auto;
}

/**/
.slider{
	max-width: 400px;
	margin: 0 auto;
}
.slider-2 .slick-slide {
  width: 400px;
  height: 400px;
  margin: 0 40px;
  position: relative;
  overflow: hidden;
}
.slider-2 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider-2 .slick-arrow {
  width: 40px;
  height:40px;
  border-radius: 50%;
  background-color: #FCDC43;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 200px;
  z-index: 1;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
}
.slider-2 .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #fff;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 14px;
  transform: rotate(45deg);
}
.slider-2 .slick-next {
  right: 0;
}
.slider-2 .slick-prev {
  left: 0;
}
.slider-2 .slick-next::before {
  left: 13px;
}
.slider-2 .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 13px;
}
.dots-2 .slick-dots {
  text-align: center;
}
.dots-2 .slick-dots li {
  display: inline-block;
}
.dots-2 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots-2 .slick-dots .slick-active button {
  background: #0a467d;
}	
/*----------------------------------------- よくあるご質問 -----------------------------------------*/
#question{
	/*margin: 48px 0 0;*/
	background-color: #ececec;
}
.question-text{
	margin: 24px auto;
}
.question{
	padding: 48px 0;
}
}