@charset "utf-8";
@media screen and (max-width: 767px){
	.scroll-hint-icon-wrap{
		padding-left: 0;
	}
	.scroll-hint-icon{
		left: 0;
	}
}
.freepage-ttl{
	font-weight: 700;
	background: url(http://kamp.design/fs/newsmikan/asset2024/images/common/top_icon_mikan.png) no-repeat;
	border-bottom: 1px solid var(--TXT_COLOR);
}
.fp-txt{
	display: grid;
}
.btm-bg{
	background: url(http://kamp.design/fs/newsmikan/asset2024/images/common/bg_company.jpg) no-repeat bottom center / 100%;
}
@media screen and (min-width: 768px){
	.freepage-top-txt{
		font-size: 18px;
		text-align: center;
		margin: 50px 0 80px;
	}
	.btm-bg{
		padding-bottom: 700px;
	}
	.freepage-ttl{
		font-size: 30px;
		line-height: 1;
		padding: 0 0 25px 70px;
		background-position: left top 3px;
		background-size: 50px;
		margin-bottom: 80px;
	}
	.fp-txt{
		gap: 20px;
	}
}
@media screen and (max-width: 767px){
	.freepage-top-txt{
		margin-bottom: 40px;
		text-align: center;
		font-size: 13px;
	}
	.btm-bg{
		padding-bottom: 400px;
		background-size: 1000px;
	}
	.freepage-ttl{
		font-size: 20px;
		line-height: 1;
		padding: 0 0 15px 40px;
		background-position: left top 2px;
		background-size: 30px;
		margin-bottom: 40px;
	}
	.fp-txt{
		gap: 15px;
	}
}
/* ■■■■■■■■■■ニュウズについて■■■■■■■■■■ */
/* 経営理念 */
.ab-idea-sec{
	border-bottom: 1px solid var(--GRAY02);
	padding-bottom: var(--GENERALSEC);
}
.about-ttl{
	font-family: var(--FF_MINCHO);
	text-align: center;
}
@media screen and (min-width: 768px){
	.about-ttl{
		font-size: 30px;
		margin-bottom: 50px;
	}
}
@media screen and (max-width: 767px){
	.about-ttl{
		font-size: 20px;
		margin-bottom: 30px;
	}
}
/* ニュウズのこだわり */
.ab-commit-bg{
	background: url(http://kamp.design/fs/newsmikan/asset2024/images/about/bg_kodawari.jpg) no-repeat bottom center / 100%;
}
.ab-commit-list{
	display: grid;
}
.ab-commit-ttl{
	aspect-ratio: 1/1;
	background: url(http://kamp.design/fs/newsmikan/asset2024/images/about/kodawari.svg) no-repeat center center / 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: var(--WHITE);
	font-weight: 500;
	line-height: 1.6;
}
@media screen and (min-width: 768px){
	.ab-commit-bg{
		padding-bottom: 500px;
	}
	.ab-commit-list{
		gap: 60px;
	}
	.ab-commit-list li{
		display: grid;
		grid-template-columns: 200px 1fr;
		gap: 40px;
	}
	.ab-commit-ttl{
		font-size: 18px;
	}
}
@media screen and (max-width: 767px){
	.ab-commit-bg{
		padding-bottom: 200px;
		background-size: 1000px;
	}
	.ab-commit-list{
		gap: 50px;
	}
	.ab-commit-ttl{
		font-size: 16px;
		width: 200px;
		margin: 0 auto 20px;
	}
	.ab-commit-txt{
		font-size: 13px;
	}
}
/* ニュウズの歴史 */
.ab-history-sec{
	background-color: var(--ORANGE01_OP20);
}
.youtube-list{
	display: grid;
}
.youtube-list li{
	text-align: center;
	font-weight: 700;
	color: var(--ORANGE02);
}
@media screen and (min-width: 768px){
	.youtube-list{
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
		margin-top: 50px;
	}
	.youtube-list li{
		font-size: 18px;
	}
	.youtube-list iframe{
		margin-top: 5px;
		border-radius: 10px;
		overflow: hidden;
	}
}
@media screen and (max-width: 767px){
	.youtube-list{
		gap: 20px;
		margin-top: 30px;
	}
	.youtube-list li{
		font-size: 17px;
	}
	.youtube-list iframe{
		margin-top: 5px;
		border-radius: 5px;
		overflow: hidden;
	}
}
/* ⽣産者紹介 */
.ab-staff-img{
	display: grid;
}
@media screen and (min-width: 768px){
	.ab-staff-img{
		grid-template-columns: repeat(2, 1fr);
		gap: 30px;
		margin-bottom: 30px;
	}
}
@media screen and (max-width: 767px){
	.ab-staff-img{
		gap: 20px;
		margin-bottom: 10px;
	}
}
/* 会社概要 */
.ab-company-sec{
	background-color: var(--ORANGE01_OP20);
}
.ab-company-ttl{
	font-weight: 500;
	border-bottom: 1px solid var(--TXT_COLOR);
}
@media screen and (min-width: 768px){
	.shop-access-sec .gmap{
		margin-bottom: 50px;
	}
	.ab-company-sec{
		padding-left: clamp( 40px, 8vw, 100px);
		padding-right: clamp( 40px, 8vw, 100px);
	}
	.ab-company-flex{
		display: grid;
		grid-template-columns: 1fr 400px;
	}
	.ab-company-ttl{
		font-size: 20px;
		padding-bottom: 10px;
		margin-bottom: 20px;
	}
	.ab-company-txt{
		padding-right: 20px;
	}
}
@media screen and (max-width: 767px){
	.shop-access-sec .gmap{
		margin-bottom: 30px;
	}
	.ab-company-flex{
		display: flex;
		flex-direction: column-reverse;
	}
	.ab-company-ttl{
		font-size: 18px;
		padding: 15px 0 10px;
		margin-bottom: 10px;
	}
}
/* ■■■■■■■■■■実店舗紹介■■■■■■■■■■ */
/* ギャラリー */
@media screen and (min-width: 768px){
	.shop-gallery-list{
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}
@media screen and (max-width: 767px){
	.shop-gallery-list{
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.shop-gallery-list li:last-child{
		grid-column: 1 / 3;
	}
}
/* 特徴 */
.shop-feature{
	width: var(--INNER_WIDTH);
	margin-left: auto;
	margin-right: auto;
	display: grid;
}
.shop-feature-ttl{
	font-weight: 700;
}
@media screen and (min-width: 768px){
	.shop-feature{
		max-width: 1000px;
		gap: 50px;
	}
	.shop-feature li{
		display: flex;
		align-items: center;
		gap: 40px;
	}
	.shop-feature li:nth-child(even){
		flex-direction: row-reverse;
	}
	.shop-feature-img{
		width: 50%;
	}
	.shop-feature-txtarea{
		flex: 1;
		padding-top: 20px;
	}
	.shop-feature-ttl{
		font-size: 20px;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 767px){
	.shop-feature{
		gap: 50px;
	}
	.shop-feature-txtarea{
		padding-top: 15px;
	}
	.shop-feature-ttl{
		font-size: 18px;
		margin-bottom: 10px;
	}
}
/* 取扱い店舗 */
.shop-list-sec{
	background-color: var(--ORANGE01_OP20);
	padding: calc(var(--GENERALSEC) / 2) 0;
}
.shop-list{
	display: grid;
}
.shop-name{
	font-weight: 700;
	border-bottom: 1px solid var(--TXT_COLOR);
}
@media screen and (min-width: 768px){
	.shop-list-sec{
		padding-left: 40px;
		padding-right: 40px;
	}
	.shop-list-sec .sec-ttl .ja{
		font-size: 20px;
	}
	.shop-list-top-txt {
		width: 600px;
		margin: 0 auto 50px;
	}
	.shop-list{
		grid-template-columns: repeat(2,1fr);
		gap: 50px 80px;
	}
	.shop-name{
		font-size: 17px;
		padding-bottom: 5px;
		margin-bottom: 5px;
	}
}
@media screen and (max-width: 767px){
	.shop-list-top-txt {
		margin-bottom: 30px;
	}
	.shop-list{
		gap: 40px;
	}
	.shop-name{
		font-size: 16px;
		padding-bottom: 5px;
		margin-bottom: 5px;
	}
}
/* アクセス */
.gmap iframe{
	width: 100%;
}
@media screen and (min-width: 768px){
	.gmap iframe{
		height: 500px;
	}
	.shop-access-sec .ab-company-flex{
		width: 95%;
		max-width: 1000px;
		margin: 0 auto;
	}
	.shop-access-txt{
		margin: 30px 0;
	}
}
@media screen and (max-width: 767px){
	.gmap iframe{
		height: 200px;
	}
	.shop-access-txt{
		margin: 20px 0;
	}
}
/* 姉妹店紹介 */
.shop-other-ttl{
	font-weight: 700;
}
.shop-other-list .slick-dots li.slick-active button:before{
  opacity: 1;
  color: var(--ORANGE02);
}
@media screen and (min-width: 768px){
	.shop-other-flex{
		display: grid;
		grid-template-columns: clamp( 200px, 35vw, 500px) 1fr;
		gap: 50px;
	}
	.shop-other-ttl{
		font-size: 20px;
		margin-bottom: 10px;
	}
	.shop-other-list .slick-dots{
    bottom: -40px;
  }
  .shop-other-list .slick-dots li button:before{
    font-size: 10px;
  }
  .shop-other-list .slick-dots li.slick-active button:before{
    font-size: 15px;
  }
}
@media screen and (max-width: 767px){
	.shop-other-ttl{
		font-size: 17px;
		margin: 20px 0 10px;
	}
	.shop-other-list.slick-dotted.slick-slider{
    margin-bottom: 30px;
  }
  .shop-other-list .slick-dots li button:before{
    font-size: 8px;
  }
  .shop-other-list .slick-dots li.slick-active button:before{
    font-size: 12px;
  }
}
/* ■■■■■■■■■■ギフト＆熨斗■■■■■■■■■■ */
.gift-noshi-list{
	display: grid;
}
.gift-noshi-list li{
	font-weight: 700;
}
@media screen and (min-width: 768px){
	.gift-noshi-list.three-column{
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
	.gift-noshi-list.four-column{
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}
	.gift-list-sec h3.sec-ttl{
		margin-bottom: 30px;
	}
	.gift-list-sec h3.sec-ttl .ja{
		font-size: 22px;
	}
	.gift-list-sec .fp-txt{
		margin-top: 10px;
	}
}
@media screen and (max-width: 767px){
	.gift-noshi-list{
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.gift-list-sec h3.sec-ttl{
		margin-bottom: 20px;
	}
	.gift-list-sec h3.sec-ttl .ja{
		font-size: 18px;
	}
	.gift-list-sec .fp-txt{
		margin-top: 8px;
	}
}
/* のしテーブル */
.noshi-table{
	width: 100%;
	min-width: 600px;
	border-collapse: collapse;
}
.noshi-table th,
.noshi-table td{
	border: 1px solid var(--GRAY01);
	padding: 10px;
}
.noshi-table th{
	font-weight: normal;
}
/* メッセージカードについて */
.gift-card-ttl{
	font-weight: 700;
}
@media screen and (min-width: 768px){
	.gift-card-flex{
		display: grid;
		grid-template-columns: clamp( 200px, 35vw, 500px) 1fr;
		gap: 50px;
	}
	.gift-card-ttl{
		font-size: 20px;
		margin-bottom: 10px;
	}
}
@media screen and (max-width: 767px){
	.gift-card-ttl{
		font-size: 18px;
		margin: 10px 0;
	}
}
/* ■■■■■■■■■■404■■■■■■■■■■ */
.not-found-ttl{
	font-weight: 700;
	color: var(--ORANGE02);
	text-align: center;
}
@media screen and (min-width: 768px){
	.not-found-ttl{
		font-size: 40px;
	}
	.not-found-img{
		width: 600px;
		margin: 0 auto;
		padding: 80px 0 360px;
	}
}
@media screen and (max-width: 767px){
	.not-found-ttl{
		font-size: 18px;
	}
	.not-found-img{
		width: 80%;
		margin: 0 auto;
		padding: 40px 0 200px;
	}
	.not-found-ttl + .freepage-top-txt{
		text-align: left;
		font-size: 12px;
		margin-top: 10px;
	}
}
/* ■■■■■■■■■■会員登録■■■■■■■■■■ */
.register-top-txt{
	text-align: center;
	font-weight: 700;
}
.register-top-txt strong{
	display: block;
	color: var(--ORANGE02);
}
.register-list{
	counter-reset: original-counter;
	display: grid;
}
.register-ttl{
	font-weight: 700;
	border-bottom: 1px solid var(--TXT_COLOR);
}
.register-ttl::before{
	display: inline-block;
	content: '特典'counter(original-counter);
	counter-increment: original-counter;
	color: var(--ORANGE02);
}
.register-list-area{
	margin-bottom: var(--GENERALSEC);
}
@media screen and (min-width: 768px){
	.register-top-txt{
		font-size: 30px;
		line-height: 1.6;
		margin: 120px 0;
	}
	.register-list-area{
		border: 1px solid var(--TXT_COLOR);
		border-left: none;
		border-right: none;
		padding: 80px 0;
	}
	.register-list{
		width: 95%;
		max-width: 1000px;
		margin: 0 auto;
		gap: 50px;
	}
	.register-ttl{
		font-size: 25px;
		padding-bottom: 5px;
		margin-bottom: 10px;
	}
	.register-ttl::before{
		margin-right: 20px;
	}
	.register-txt{
		font-size: 18px;
	}
}
@media screen and (max-width: 767px){
	.register-top-txt{
		font-size: 17px;
		line-height: 1.6;
		margin-bottom: 70px;
	}
	.register-list{
		gap: 30px;
	}
	.register-ttl{
		font-size: 14px;
		padding-bottom: 5px;
		margin-bottom: 8px;
		display: flex;
	}
	.register-ttl::before{
		margin-right: 10px;
		white-space: nowrap;
	}
	.register-txt{
		font-size: 12px;
	}
}
/* ■■■■■■■■■■定期便■■■■■■■■■■ */
.subsc-link a{
	display: block;
	background-color: var(--ORANGE03);
	color: var(--WHITE);
	text-align: center;
	font-weight: 500;
}
.subsc-link.green a{
	background-color: var(--GREEN01);
}
@media screen and (min-width: 768px){
	.subsc-link{
		width: 400px;
		margin: 50px auto 0;
	}
	.subsc-link a{
		font-size: 17px;
		padding: 20px 0;
	}
}
@media screen and (max-width: 767px){
	.subsc-link{
		width: 100%;
		max-width: 350px;
		margin: 30px auto 0;
	}
	.subsc-link a{
		font-size: 14px;
		padding: 15px 0;
	}
}
/* お申し込み前にご確認ください */
.subsc-desc-area{
	border: 1px solid var(--TXT_COLOR);
}
.subsc-desc-ttl{
	font-weight: 700;
	width: fit-content;
	border-bottom: 1px solid var(--TXT_COLOR);
}
.subsc-contents{
	background-color: var(--ORANGE01_OP20);
	display: grid;
}
.subsc-contents li{
	position: relative;
}
.subsc-contents li::before{
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
}
.subsc-subttl::before{
	content: '<<';
}
.subsc-subttl::after{
	content: '>>';
}
.subsc-list-dots li{
	position: relative;
}
.subsc-list-dots li::before{
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.subsc-list-notice li{
	position: relative;
}
.subsc-list-notice li::before{
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}
.subsc-txtarea strong{
	color: var(--RED01);
}
@media screen and (min-width: 768px){
	.subsc-desc-area{
		width: 95%;
		max-width: 1000px;
		margin: 0 auto;
		padding: 60px 50px;
	}
	.subsc-desc-ttl{
		font-size: 20px;
		padding-bottom: 5px;
		margin-bottom: 25px;
	}
	.subsc-txtarea{
		font-size: 14px;
	}
	.subsc-contents{
		width: fit-content;
		margin: 20px 0;
		padding: 20px;
		gap: 2px;
		font-size: 14px;
	}
	.subsc-contents li{
		padding-left: 20px;
	}
	.subsc-subttl{
		font-size: 14px;
		margin-top: 30px;
	}
	.subsc-timetable{
		margin: 5px 0;
	}
	.subsc-list-dots li{
		padding-left: 15px;
	}
	.subsc-list-notice li{
		padding-left: 15px;
	}
}
@media screen and (max-width: 767px){
	.subsc-desc-area{
		padding: 20px 15px;
	}
	.subsc-desc-ttl{
		font-size: 16px;
		padding-bottom: 5px;
		margin-bottom: 15px;
	}
	.subsc-txtarea{
		font-size: 12px;
	}
	.subsc-contents{
		width: fit-content;
		margin: 10px 0;
		padding: 10px;
		gap: 2px;
		font-size: 12px;
	}
	.subsc-contents li{
		padding-left: 15px;
	}
	.subsc-subttl{
		font-size: 12px;
		margin-top: 30px;
	}
	.subsc-timetable{
		margin: 5px 0;
	}
	.subsc-list-dots li{
		padding-left: 12px;
	}
	.subsc-list-notice li{
		padding-left: 12px;
	}
}
/* ニュウズの定期便が選ばれる5つの理由 */
.subsc-reason-sec{
	background-color: var(--ORANGE01_OP20);
}
.subsc-reason-list{
	counter-reset: original-counter;
	display: grid;
}
.subsc-reason-list li{
	background-color: var(--WHITE);
}
.subsc-reason-ttl{
	background: no-repeat top center;
	font-weight: 700;
	color: var(--ORANGE03);
	position: relative;
	text-align: center;
}
.subsc-reason-ttl::before{
	content: 'POINT 'counter(original-counter);
	color: var(--TXT_COLOR);
	counter-increment: original-counter;
	display: block;
	width: fit-content;
	font-weight: 700;
	border-bottom: 1px solid var(--ORANGE02);
	position: absolute;

	white-space: nowrap;
}
@media screen and (min-width: 768px){
	.subsc-reason-list{
		grid-template-columns: repeat(3,1fr);
		gap: 50px 20px;
		max-width: 900px;
		width: 95%;
		margin: 0 auto;
	}
	.subsc-reason-list li{
		padding: 70px 20px 20px 20px;
	}
	.subsc-reason-ttl{
    padding-top: 38px;
    background-size: 55px;
    font-size: 35px;
		margin-bottom: 10px;
	}
	.subsc-reason-ttl::before{
		left: 50%;
		transform: translateX(-50%);
		bottom: calc(100% + 25px);
		font-size: 18px;
		letter-spacing: 0.1em;
	}
}
@media screen and (max-width: 767px){
	.subsc-reason-list{
		gap: 10px;
	}
	.subsc-reason-list li{
		padding: 47px 20px 14px 20px;
		display: flex;
		gap: 20px;
	}
	.subsc-reason-ttl{
		width: 80px;
		padding-top: 29px;
    background-size: 36px;
    font-size: 21px;
	}
	.subsc-reason-txt{
		flex: 1;
		position: relative;
		top: -9px;
	}
	.subsc-reason-ttl::before{
		left: 50%;
		transform: translateX(-50%);
    bottom: calc(100% + 11px);
    font-size: 12px;
    letter-spacing: 0.1em;
	}
}
/* お客様の声 */
.subsc-voice-list .slick-slide > div > li{
	background-color: var(--YELLOW01);
}
.subsc-voice-txt{
	border-bottom: 1px solid var(--ORANGE02);
}
@media (hover: hover){
  [class*="subsc-voice-arrow"]:hover{
    cursor: pointer;
    background-color: var(--ORANGE02);
  }
}
@media screen and (min-width: 768px) and (max-width: 1350px){
	.subsc-voice-list{
		width: 90%;
		margin: 0 auto;
	}
}
@media screen and (min-width: 768px){
	.subsc-voice-list .slick-slide{
		margin: 0 8px;
	}
	.subsc-voice-list .slick-slide > div > li{
		padding: 30px 20px;
	}
	.subsc-voice-txt{
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
	[class*="subsc-voice-arrow"]{
    background: url(http://kamp.design/fs/newsmikan/asset2024/images/common/slide-arrow-bk.svg) no-repeat center center / 100%;
    aspect-ratio: 1/1;
   	width: 30px;
    position: absolute;
    top: 45%;
    z-index: 2;
    transition: .3s;
  }
  .subsc-voice-arrow-prev{
    right: 100%;
    transform: rotate(180deg);
  }
  .subsc-voice-arrow-next{
   left: 100%;
  }
}
@media screen and (max-width: 767px){
	.subsc-voice-sec{
		overflow: hidden;
	}
	.subsc-voice-list{
		overflow: visible;
	}
	.subsc-voice-list .slick-list{
		padding: 0 20px;
	}
	.subsc-voice-list .slick-slide{
		margin: 0 5px;
	}
	.subsc-voice-list .slick-slide > div > li{
		padding: 20px 15px;
	}
	.subsc-voice-txt{
		padding-bottom: 8px;
		margin-bottom: 8px;
		font-size: 12px;
	}
	.subsc-voice-name{
		font-size: 12px;
	}
}
/* 定期便申込の流れ */
.subsc-flow-sec{
	background-color: var(--ORANGE01_OP20);
}
.subsc-flow-list{
	display: grid;
	counter-reset: original-counter;
}
.subsc-flow-img{
	background: no-repeat center center / 100%;
	border-radius: 50%;
	aspect-ratio: 1/1;
}
.subsc-flow-ttl{
	font-weight: 700;
	border-bottom: 1px solid var(--ORANGE02);
	width: fit-content;
}
.subsc-flow-ttl::before{
	content: 'POINT 'counter(original-counter);
	counter-increment: original-counter;
	display: inline-block;
}
@media screen and (min-width: 768px){
	.subsc-flow-list{
		width: 95%;
		max-width: 900px;
		margin: 0 auto;
		gap: 60px;
	}
	.subsc-faq-sec{
		width: 95%;
		max-width: 900px;
		margin: 0 auto;
	}
	.subsc-flow-list li{
		display: grid;
		grid-template-columns: 180px 1fr;
		align-items: center;
		gap: 50px;
	}
	.subsc-flow-img{
		position: relative;
	}
	.subsc-flow-list li:not(:last-child)	.subsc-flow-img::after{
		content: "";
		display: inline-block;
		background: url(http://kamp.design/fs/newsmikan/asset2024/images/subsc/arrow-down.svg) no-repeat center center / 100%;
		aspect-ratio: 1/1;
		width: 25px;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: calc(100% + 20px);
	}

	.subsc-flow-ttl{
		font-size: 18px;
		margin-bottom: 10px;
	}
	.subsc-flow-ttl::before{
		margin-right: 20px;
	}
}
@media screen and (max-width: 767px){
	.subsc-flow-list{
		gap: 50px;
	}
	.subsc-flow-list li{
		position: relative;
	}
	.subsc-flow-list li{
		display: grid;
		grid-template-columns: 120px 1fr;
		align-items: center;
		gap: 20px 20px;
	}
	.subsc-flow-txtarea{
		display: contents;
	}
	.subsc-flow-ttl{
		font-size: 17px;
	}
	.subsc-flow-ttl::before{
		margin-right: 15px;
	}
	.subsc-flow-txt{
		grid-column: 1 / 3;
		font-size: 13px;
	}
}
/* ■■■■■■■■■■よくある質問■■■■■■■■■■ */
.faq-nav{
	display: grid;
  width: var(--INNER_WIDTH);
  max-width: var(--MAX_WIDTH);
  margin: 0 auto var(--GENERALSEC);
}
.faq-nav li a{
	display: block;
	text-align: center;
	border: 1px solid var(--TXT_COLOR);
}
.faq-nav.guide li a{
	background-color: var(--ORANGE01_OP20);
	border: 1px solid var(--ORANGE01_OP20);
}
.faq-sec,
.guide-sec{
  width: var(--INNER_WIDTH);
  max-width: var(--MAX_WIDTH);
	padding-bottom: var(--GENERALSEC);
  margin: 0 auto var(--GENERALSEC);

}
.faq-sec:not(:last-child),
.guide-sec:not(:last-child){
	border-bottom: 1px solid var(--GRAY02);
}
.faq dt{
	border-bottom: 1px solid var(--GRAY02);
}
.faq dt,
.faq dd{
	position: relative;
}
.faq:last-child dd{
	padding-bottom: 0;
}
.faq dt::before,
.faq dd::before{
	position: absolute;
}
.faq dt::before{
	content: 'Q.';
  color: var(--ORANGE02);
}
.faq dd::before{
	content: 'A.';
  color: var(--FS_BTN_COLOR_2);
}
.faq dd a{
	text-decoration: underline;
	font-weight: bold;
	color: var(--ORANGE03);
}
@media screen and (min-width: 768px){
	.faq-sec{
		display: grid;
		grid-template-columns: clamp( 180px, 22vw, 250px) 1fr;
		align-items: flex-start;
		gap: clamp( 30px, 5vw, 80px);
	}
	.faq-nav{
		max-width: 900px;
		grid-template-columns: repeat(3, 1fr);
		gap: 15px;
	}
	.faq-nav li a{
		padding: 20px;
	}
	.faq-nav li a:hover{
		background-color: var(--ORANGE01_OP20);
		opacity: 1;
	}
	.faq-nav.guide li a:hover{
		background-color: var(--ORANGE01);
		opacity: 1;
	}
	.faq-ttl,
  .guide-ttl{
		font-size: 20px;
		position: sticky;
		top: 150px;
		left: 0;
	}
	.faq:not(:last-child){
		margin-bottom: 50px;
	}
	.faq dt{
		font-size: 18px;
		padding: 0 0 20px 60px;
	}
	.faq dd{
		padding: 20px 0 50px 60px;
	}
	.faq dt::before,
	.faq dd::before{
		font-size: 30px;
	}
	.faq dt::before{
		left: 20px;
		top: -15px;
	}
	.faq dd::before{
		left: 20px;
		top: 8px;
	}
}
@media screen and (max-width: 767px){
	.faq-nav{
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.faq-nav li a{
		padding: 10px;
		font-size: 12px;
	}
	.faq:not(:last-child){
		margin-bottom: 20px;
	}
	.faq dt{
		font-size: 17px;
		padding: 0 10px 10px 40px;
	}
	.faq dd{
		padding: 12px 10px 20px 40px;
	}
	.faq dt::before,
	.faq dd::before{
		font-size: 25px;
	}
	.faq dt::before{
		left: 5px;
		top: -10px;
	}
	.faq dd::before{
    left: 6px;
    top: 2px;
	}
	.faq-ttl,
  .guide-ttl{
		font-size: 18px;
		margin-bottom: 30px;
		position: sticky;
		top: 0;
		left: 0;
		background-color: var(--WHITE);
		z-index: 99;
		padding: 10px 0;
	}
}
/* アコーディオン プラスマイナス */

/* .faq.acc dt{
	position: relative;
}
.faq.acc dt span{
	display: inline-block;
	position: relative;
	aspect-ratio: 1/1;
	position: absolute;

}
.faq.acc dt span::before,
.faq.acc dt span::after{
	content: "";
	display: inline-block;
	background: var(--TXT_COLOR);
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.faq.acc dt span::after{
	transition: .3s;
	transform: translate(-50%, -50%) rotate(90deg);
}
.faq.acc dt.active span::after{
	transform: translate(-50%, -50%) rotate(180deg);
}
.faq.acc dd{
	display: none;
}
@media screen and (min-width: 768px){
	.faq.acc dt:hover{
		cursor: pointer;
	}
	.faq.acc dt span{
		width: 20px;
		right: 10px;
		top: 10px;
	}
}
@media screen and (max-width: 767px){
	.faq dt{
		padding-right: 30px;
	}
	.faq.acc dt span{
		width: 15px;
		right: 5px;
		top: 8px;
	}
} */

/* アコーディオン 矢印 */
/* .faq.acc dt{
	position: relative;
}
.faq.acc dt span{
	display: inline-block;
	position: relative;
	aspect-ratio: 1/1;
	position: absolute;
}
.faq.acc dt span::before{
	font-family: 'Font Awesome 5 Pro';
	font-weight: 500;
	content: '\f107';
	font-size: 20px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: .3s;
}
.faq.acc dt.active span::before{
	transform: translate(-50%, -50%) rotate(180deg);
}
.faq.acc dd{
	display: none;
}
@media screen and (min-width: 768px){
	.faq.acc dt:hover{
		cursor: pointer;
	}
	.faq.acc dt span{
		width: 30px;
		right: 10px;
		top: 10px;
	}
}
@media screen and (max-width: 767px){
	.faq dt{
		padding-right: 30px;
	}
	.faq.acc dt span{
		width: 20px;
		right: 5px;
		top: 5px;
	}
} */
/* ■■■■■■■■■■お買い物ガイド■■■■■■■■■■ */
.guide-txt p{
	line-height: 2;
}
.guide-subttl{
	position: relative;
	font-weight: bold;
	letter-spacing: 0.05em;
}
.guide-subttl::before{
	content: "";
	display: inline-block;
	background: var(--BLACK);
	height: 2px;
	position: absolute;
}
.guide-list > li{
	line-height: 2;
	position: relative;
}
.guide-list > li::before{
	content: "";
	display: inline-block;
	background: var(--BLACK);
	border-radius: 50%;
	width: var(--MARU_SIZE);
	height: var(--MARU_SIZE);
	position: absolute;
	left: 0;
}
.credit-list{
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
}
.guide-notes li{
	position: relative;
	color: var(--GRAY03);
}
.guide-notes li::before{
	content: '※';
	left: 0;
	position: absolute;
}
.rakuten-howto p{
	font-weight: bold;
	line-height: 2;
}
.rakuten-howto ul{
	counter-reset: original-counter;
}
.rakuten-howto li{
	line-height: 2;
	position: relative;
}
.rakuten-howto li::before{
	content: counter(original-counter)'.';
  counter-increment: original-counter;
	position: absolute;
	left: 0;
	top: 0;
}
.delivery-area{
	background-color: var(--GRAY01);
}
.delivery-ttl{
	font-weight: bold;
}
.delivery-ttl::before{
	content: '【';
}
.delivery-ttl::after{
	content: '】';
}
.delivery-free{
  width: 100%;
  background: #fff;
  border-collapse: collapse;
  border: 1px solid #000;
  border-bottom: none;
  border-right: none;
  text-align: center;
  margin-bottom: 20px;
}
.delivery-free tbody tr td:nth-of-type(1){
  text-align: left;
}
.delivery-free th,
.delivery-free td{
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
	font-size: 13px;
}
.guide-txt a{
	font-weight: bold;
	text-decoration: underline;
}
.guide-bank{
	width: 100%;
	max-width: 500px;
	border-collapse: collapse;
	font-size: 14px;
}
.guide-bank thead th{
	background: #eee;
	font-weight: 500;
	padding: 8px 0;
	border-right: 2px solid #fff;
}
.guide-bank tbody th,
.guide-bank tbody td{
	padding: 10px;
	text-align: center;
	border-bottom: 1px dotted #cfcfcf;
	background: #f8f8f8;
	border-right: 1px solid #fff;
}
.guide-bank tbody th{
	white-space: nowrap;
	padding: 0 10px;
}
.hwt-order-step{
	counter-reset: original-counter;
}
.hwt-order-step-ttl{
	font-weight: bold;
}
.hwt-order-step-ttl::before{
	content: counter(original-counter)'.';
	counter-increment: original-counter;
}
.guide-bg{
	background-color: var(--GRAY01);
}
.red{
	color: var(--RED01);
}
.faq-sec .more-btn{
	margin-top: 0;
}
.faq-sec .more-btn a{
	font-weight: normal;
	text-decoration: none;
}
.more-btn-list{
	display: grid;
}
.faq-sec .more-btn-list .more-btn{
	margin: 0;
}
.guide-num-list{
	display: grid;
	gap: 10px;
	margin-top: 10px;
	counter-reset: original-counter;
}
.guide-num-ttl{
	font-weight: bold;
	position: relative;
}
.guide-num-ttl::before{
	content: counter(original-counter)'';
	counter-increment: original-counter;
	position: absolute;
	aspect-ratio: 1/1;
	border-radius: 50%;
	border: 1px solid var(--TXT_COLOR);
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.hwt-order-flow{
	display: grid;
	grid-template-columns: repeat(4,1fr);
}
.hwt-order-flow li{
	display: flex;
	justify-content: center;
	text-align: center;
	align-items: center;
	position: relative;
	line-height: 1.6;
}
.hwt-order-flow li:not(:last-child)::after{
	content: "";
	display: inline-block;
	background: url(https://kamp.design/fs/newsmikan/asset2024/images/guide/guide_arrow.svg) no-repeat center center / 100%;
	aspect-ratio: 1/1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.delivery-box{
	background-color: var(--ORANGE01_OP20);
}
.delivery-box dl{
	display: grid;
	grid-template-columns: auto 1fr;
}
.delivery-box dt{
	font-weight: 700;
}
@media screen and (min-width: 768px){
	.guide-flex{
		display: flex;
		align-items: flex-start;
		gap: 30px;
		width: 97%;
		max-width: 1500px;
		margin: 0 auto;
	}
	.guide-nav-sp-box{
		width: 250px;
		position: sticky;
		top: 20px;
		left: 0;
	}
	.guide-nav li a{
		display: block;
		padding: 5px 0;
	}
	.guide-nav li a::before{
		content: '#';
		color: var(--FS_BTN_COLOR_1);
		margin-right: 5px;
	}
	.guide-sec-area{
		flex: 1;
	}
	.guide-sec{
		width: 100%;
	}
	.guide-inner{
		margin: 0 20px;
	}
	.guide-txt{
		margin-bottom: 40px;
	}
	.guide-subttl{
		font-size: 18px;
		margin-bottom: 10px;
	}
	.guide-subttl::before{
		width: 12px;
		left: -20px;
		top: 15px;
	}
	.guide-list{
		margin-bottom: 20px;
	}
	.guide-list > li{
		padding-left: 18px;
	}
	.guide-list > li::before{
		--MARU_SIZE: 10px;
		top: 10px;
	}
	.credit-list{
    width: 400px;
    gap: 10px;
		margin: 20px 0;
  }
	.guide-notes li{
		font-size: 12px;
		padding-left: 16px;
	}
	.guide-notes li::before{
		top: 0;
	}
	.payment{
		width: 200px;
		margin: 20px 0;
	}
	.rakuten-howto{
		margin-bottom: 40px;
	}
	.rakuten-howto li{
		padding-left: 15px;
	}
	.delivery-area{
		padding: 30px 30px 1px 20px;
		margin-bottom: 40px;
	}
	.delivery-free th,
  .delivery-free td{
    padding: 10px 20px;
  }
	.hwt-order-step{
		margin-top: 30px;
	}
	.hwt-order-step-ttl{
		font-size: 18px;
	}
	.guide-bg{
		padding: 30px;
	}
	.delivery-img{
		margin-bottom: 30px;
	}
	.faq-sec .more-btn{
		margin: 20px auto 20px 0;
	}
	.more-btn-list{
		gap: 20px;
		margin-top: 20px;
	}
	.guide-num-list{
		padding-left: 41px;
	}
	.guide-num-ttl::before{
		font-size: 12px;
    top: 6px;
    left: -27px;
		width: 20px;
	}
	.hwt-order-flow{
		gap: 70px;
	}
	.hwt-order-flow li{
		padding: 15px 0;
	}
	.hwt-order-flow li:not(:last-child)::after{
		width: 30px;
		right: -50px;
	}
	.delivery-box{
		padding: 20px 30px;
		margin-bottom: 30px;
	}
	.delivery-box dl{
		gap: 10px;
		margin-bottom: 30px;
	}
	.delivery-box img{
		width: 70%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px){
	.guide-nav-sp-box{
		--GUIDE_NAV_SP_BOX: 300px;
		--GUIDE_NAV_SP_BOX_TRIGGER: 40px;
		position: fixed;
		right: calc(0px - var(--GUIDE_NAV_SP_BOX) + var(--GUIDE_NAV_SP_BOX_TRIGGER));
		top: 150px;
		display: flex;
		width: var(--GUIDE_NAV_SP_BOX);
		transition: .5s;
		z-index: 99;
		opacity: 0;
	}
	body.scroll .guide-nav-sp-box{
		opacity: 0;
		animation: var(--ANIME_FADEIN);
	}
	.guide-nav-sp-box.active{
		right: 0;
	}
	.guide-nav-sp-box-trigger{
		width: var(--GUIDE_NAV_SP_BOX_TRIGGER);
		height: 200px;
		background-color: var(--GRAY01);
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 5px 0 0 5px;
		border: 1px solid var(--GRAY03);
		border-right: none;
	}
	.guide-nav-sp-box-trigger::after{
		content: '目次';
		writing-mode: vertical-rl;
	}
	.guide-nav-sp-box.active .guide-nav-sp-box-trigger::after{
		content: '閉じる';
	}
	.guide-nav{
		flex: 1;
		background-color: var(--WHITE);
		border: 1px solid var(--GRAY03);
	}
	.guide-nav li:not(:last-child){
		border-bottom: 1px solid var(--GRAY03);
	}
	.guide-nav li a{
		display: block;
		padding: 8px 15px;
		font-size: 13px;
	}
	.guide-inner{
		margin: 0 15px;
	}
	.guide-txt{
		margin-bottom: 30px;
	}
	.guide-subttl{
		font-size: 17px;
		margin-bottom: 8px;
	}
	.guide-subttl::before{
		width: 10px;
		left: -15px;
		top: 13px;
	}
	.guide-list{
		margin-bottom: 30px;
	}
	.guide-list > li{
		padding-left: 15px;
	}
	.guide-list > li::before{
		--MARU_SIZE: 8px;
		top: 10px;
	}
	.credit-list{
    width: 100%;
		max-width: 400px;
    gap: 8px;
		margin: 15px 0;
  }
	.guide-notes li{
		font-size: 11px;
		padding-left: 13px;
	}
	.guide-notes li::before{
		top: 0;
	}
	.payment{
		width: 150px;
		margin: 15px 0;
	}
	.rakuten-howto{
		margin-bottom: 30px;
	}
	.rakuten-howto li{
		padding-left: 13px;
	}
	.delivery-area{
		padding: 20px 20px 1px 20px;
		margin-bottom: 30px;
	}
  .delivery-free th,
  .delivery-free td{
    padding: 5px 10px;
  }
	.hwt-order-step{
		margin-top: 20px;
	}
	.hwt-order-step-ttl{
		font-size: 17px;
	}
	.guide-bg{
		padding: 20px 10px;
	}
	.delivery-img{
		margin-bottom: 20px;
	}
	.faq-sec .more-btn{
		margin: 20px auto;
	}
	.more-btn-list{
		gap: 20px;
		margin-top: 20px;
	}
	.guide-num-list{
		padding-left: 41px;
	}
	.guide-num-ttl::before{
		font-size: 12px;
    top: 6px;
    left: -27px;
		width: 20px;
	}
	.hwt-order-flow{
		gap: 20px;
	}
	.hwt-order-flow li{
		padding: 8px 0;
		font-size: 10px;
	}
	.hwt-order-flow li:not(:last-child)::after{
		width: 12px;
		right: -15px;
	}
	.delivery-box{
		padding: 15px;
		margin: -20px 0 20px;
	}
	.delivery-box dl{
		gap: 5px;
		margin-bottom: 20px;
		font-size: 11px;
	}
}

/* ------------------subscDesc-------------------- */
.subscDesc{
	border: 1px solid var(--BLACK);
	letter-spacing: 0.1em;
}
.subscDesc__confirm__heading{
	font-weight: 700;
	width: fit-content;
	border-bottom: 1px solid var(--BLACK);
	letter-spacing: 0.1em;
}
.subscDesc__txt p a{
	text-decoration: underline;
}
.subscDesc__txt__list--dots li{
	position: relative;
}
.subscDesc__txt__list--dots li::before{
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.subscDesc__confirm__info__box{
	background-color: var(--ORANGE01_OP20);
}
.subscDesc__confirm__info__box .subscDesc__txt{
	margin-top: 0;
}
.subscDesc__confirm__info__ttl{
	text-align: center;
}
.subscDesc__txt__list--square li{
	position: relative;
}
.subscDesc__txt__list--square li::before{
	content: '■';
	position: absolute;
	top: 0;
	left: 0;
}
.subscDesc__detail dt{
	background-color: var(--ORANGE03);
	color: var(--WHITE);
}
.subscDesc__txt__list--dots li strong{
	color: #a40000;
	text-decoration: underline;
}
.subscDesc__txt__btn{
	width: fit-content;
}
.subscDesc__txt__btn a{
	font-weight: 700;
	background-color: var(--ORANGE01);
	text-decoration: underline;
}
.subscDesc__txt__ttl{
	color: var(--ORANGE03);
	font-weight: 700;
}
@media screen and (min-width: 768px){
	.subscDesc{
		padding: 50px clamp( 50px, 7vw, 80px);
	}
	.subscDesc__confirm{
		display: grid;
		grid-template-columns: repeat(2,1fr);
	}
	.subscDesc__confirm__heading{
		grid-column: span 2;
		margin-bottom: 20px;
		font-size: 25px;
	}
	.subscDesc__txt__list--dots li{
		padding-left: 15px;
	}
	.subscDesc__confirm__info__ttl{
		margin-bottom: 10px;
	}
	.subscDesc__confirm__info__box{
		padding: 20px 30px;
	}
	.subscDesc__txt__list--square li{
		padding-left: 20px;
	}
	.subscDesc__detail dt{
		font-size: 20px;
		padding: 5px 20px;
		margin-top: 60px;
	}
	.subscDesc__txt{
		margin-top: 20px;
	}
	.subscDesc__txt__listContainer{
		margin-top: 20px;
	}
	.subscDesc__txt__btn{
		margin: 20px 0;
	}
	.subscDesc__txt__btn a{
		padding: 10px 30px;
	}
	.subscDesc__txt__cart{
		max-width: 500px;
		margin-top: 30px;
	}
	.subscDesc__txt__ttl{
		font-size: 17px;
	}
	.subscDesc__hasOrderForm{
		display: grid;
		grid-template-columns: 1fr 200px;
		align-items: flex-end;
		gap: 30px;
	}
}
@media screen and (max-width: 767px){
	.subscDesc{
		padding: 30px 15px;
		font-size: 13px;
	}
	.subscDesc__confirm__heading{
		margin: 0 auto;
		font-size: 18px;
	}
	.subscDesc__txt__list--dots li{
		padding-left: 10px;
	}
	.subscDesc__confirm__info{
		margin-top: 30px;
	}
	.subscDesc__confirm__info__ttl{
		margin-bottom: 10px;
	}
	.subscDesc__confirm__info__box{
		padding: 20px 15px;
	}
	.subscDesc__txt__list--square li{
		padding-left: 18px;
	}
	.subscDesc__detail dt{
		font-size: 16px;
		padding: 5px 15px;
		margin-top: 40px;
	}
	.subscDesc__txt{
		margin-top: 15px;
	}
	.subscDesc__txt__listContainer{
		margin-top: 20px;
	}
	.subscDesc__txt__btn{
		margin: 20px 0;
	}
	.subscDesc__txt__btn a{
		padding: 10px 15px;
	}
	.subscDesc__txt__cart{
		max-width: 500px;
		margin-top: 30px;
	}
	.subscDesc__txt__ttl{
		font-size: 17px;
	}
	.subscDesc__hasOrderForm{
		display: grid;
		gap: 30px;
	}
}