@charset "utf-8";
/* 2026 136号～ 新蕎麦お月見 */
:where(.lp-daichi) {
	--point-sum-bg: #f16c00;
	--point-reserve-bg: #a50000;
	--point-balloon-color: #a50000;
	--balloon-bg: #f5f0ec;
	--balloon-sp-bg: #ffffff;
	--intro-tit-color: #003261;
	--point-gap: 2px;
	--cv-btn-reserve-color: #000;
	--cv-btn-shadow: #00000024;

	/* https://min-max-calculator.9elements.com/ 480px-960px幅 */
	--min1max3: clamp(0.063rem, -0.063rem + 0.42vw, 0.188rem);
	--min4max5: clamp(0.25rem, 0.188rem + 0.21vw, 0.313rem);
	--min8max10: clamp(0.5rem, 0.376rem + 0.42vw, 0.625rem);
	--min10max13: clamp(0.625rem, 0.438rem + 0.63vw, 0.813rem);
	--min10max15: clamp(0.625rem, 0.313rem + 1.04vw, 0.938rem);
	--min10max20: clamp(0.625rem, 2.08vw, 1.25rem);
	--min10max25: clamp(0.625rem, -0.313rem + 3.13vw, 1.563rem);
	--min12max15: clamp(0.75rem, 0.563rem + 0.63vw, 0.938rem);
	--min13max14: clamp(0.813rem, 0.75rem + 0.21vw, 0.875rem);
	--min13max15: clamp(0.813rem, 0.688rem + 0.42vw, 0.938rem);
	--min14max20: clamp(0.875rem, 0.5rem + 1.25vw, 1.25rem);
	--min15max30: clamp(0.938rem, 3.13vw, 1.875rem);
	--min16max18: clamp(1rem, 0.875rem + 0.42vw, 1.125rem);
	--min17max21: clamp(1.063rem, 0.813rem + 0.83vw, 1.313rem);
	--min18max20: clamp(1.125rem, 1rem + 0.42vw, 1.25rem);
	--min18max21: clamp(1.125rem, 0.938rem + 0.62vw, 1.313rem);
	--min18max22: clamp(1.125rem, 0.875rem + 0.83vw, 1.375rem);
	--min18max24: clamp(1.125rem, 0.75rem + 1.25vw, 1.5rem);
	--min20max25: clamp(1.25rem, 0.938rem + 1.04vw, 1.563rem);
	--min20max28: clamp(1.25rem, 1.068rem + 0.91vw, 1.75rem);
	--min20max30: clamp(1.25rem, 0.625rem + 2.08vw, 1.875rem);
	--min25max30: clamp(1.563rem, 1.25rem + 1.04vw, 1.875rem);
	--min25max40: clamp(1.563rem, 0.625rem + 3.13vw, 2.5rem);
	--min65max130: clamp(4.063rem, 13.54vw, 8.125rem);
	--min160max180: clamp(10rem, 8.75rem + 4.17vw, 11.25rem);

}
.lp-daichi.-sobaTsukimi {
	background: url(/external/category/image/2026/soba-tsukimi/sobaTsukimi_bg.jpg);
	background-size: 100%;
}
.block-grid.-reverse {
	grid-template-areas: "image text";
}
.block-grid.-reverse .textwrap {
	grid-area: text;
}
.block-grid.-reverse .image {
	grid-area: image;
}
.js-item-sales {
	--point-color: var(--point-sum-bg);
}
.area-head {
	width: calc(100% + 2 * var(--min10max20));
	transform: translateX(calc(-1 * var(--min10max20)));
}
.area-head:not(:first-child) {
	margin-top: var(--min15max20);
}

/* どこでもカート */
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .price ~ .cart {
	margin-top: 8px;
	width: min(340px, 100%);
	margin-right: auto;
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart .button, .js-item-sales .item-summary .info .cart p.routine-only > a {
	border-radius: 10px;
	box-shadow: 4px var(--min4max5) var(--cv-btn-shadow);
	padding: 12px 17px 12px 12px;
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart .button:hover, .js-item-sales .item-summary .info .cart p.routine-only > a:hover {
	box-shadow: 3px 3px var(--cv-btn-shadow);
	transform: translate(1px, 2px);
}
.cv-btn[class*="deli"] > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart .button span {
	gap: 6px;
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart:not(:has(:disabled)) .button span {
	background-image: none;
	padding: 0;
	font-size: var(--min18max21);
	line-height: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart:not(:has(:disabled)) .button:not(.button-cart)::after {
	background: var(--cv-btn-reserve-color);
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart .button:not(.button-cart)::after {
	content: "";
	display: inline-block;
	width: var(--min13max15);
	aspect-ratio: 3 / 4;
	mask: url(/external/category/image/common/icon/icon_arrow_R.svg) no-repeat;
	-webkit-mask: url(/external/category/image/common/icon/icon_arrow_R.svg) no-repeat;
	mask-size: contain;
	-webkit-mask-size: contain;
	position: absolute;
	right: 4%;
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart:not(:has(:disabled)) .button span::before {
	content: "9/14週お届け" !important;
}
.cv-btn.-deli21:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart:not(:has(:disabled)) .button span::before {
	content: "9/21週お届け" !important;
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart:not(:has(:disabled)) .button span::before {
	font-size: var(--min13max14);
	background-color: #fff;
	border-radius: 30px;
	height: var(--min18max22);
	display: grid;
	align-items: center;
	padding-inline: 8px;
	box-sizing: border-box;
	line-height: var(--min20max25);
}
.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart .button span::before {
	background-image: none;
	position: unset;
	width: auto;
	height: auto;
	transform: none;
}
.cv-btn.-sale:has(.saleSetPoint) .js-item-sales.-cart6 .item-summary > .info > .point, .cv-btn .js-item-sales.-cart6 .item-summary > .info > .point, .cv-btn .js-item-sales.-cart6 .item-summary > .info > .special-note {
	display: none;
}

/* リード */
.lead-area {
	font-family: var(--font-minchou);
	padding: var(--min20max30) var(--min10max20) 0;
}
.lead-area .text {
	font-size: var(--min18max24);
	letter-spacing: 0.2rem;
	line-height: 1.6;
	color: #010000;
	font-weight: bold;
}

/* スケジュール */
.schedule-area {
	background: url(/external/category/image/2026/soba-tsukimi/schedule_bg.jpg) no-repeat center / 100%;
	background-size: cover;
	box-sizing: border-box;
	padding: var(--min15max20) var(--min10max20);
	color: #fff;
	text-align: center;
}
.schedule-title {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5%;
	color: #fffc00;
	font-size: var(--min18max22);
	font-family: var(--font-minchou);
}
.schedule-title::before,
.schedule-title::after {
	content: "";
	display: block;
	width: var(--min20max30);
	height: 1px;
	background: #fffc00;
}
.schedule-text + .schedule-title {
	padding-top: var(--min10max15);
}
.schedule-text {
	font-size: var(--min20max25);
	font-family: var(--font-minchou);
}
.schedule-text > .small {
	font-size: var(--min18max22);
}
.schedule-area > .note {
	padding-top: var(--min10max20);
}

/* アンカーボタン */
.anchor-area {
	padding: var(--min10max20) var(--min10max20) var(--min20max30);
}
.block-grid.-anc {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 0px;
	max-width: 815px;
	margin-inline: auto;
	gap: 7.5%;
	filter: drop-shadow(5px 9px 5px rgba(40, 40, 40, 0.3));
}

/* コンテンツ */
.contents-area {
	margin-top: 0;
	padding: 0 var(--min10max20) var(--min10max20);
}

.contents-area .block-grid.-item:not(.-col2) {
	background: #fff;
}
.block-grid.-item2 {
	column-gap: 15px;
}
.block-grid.-item + .-item {
	margin-top: 2%;
}
.block-grid.-item + .block-grid.-col1 {
	margin-top: 2%;
	padding-top: 0;
}
.block-grid.-item .specwrap {
	padding: 0 5%;
}
.block-grid.-item .specwrap.-kodawari {
	padding: 0;
}
:is(.block-grid.-item.-col1, .block-grid.-item + .block-grid.-item.-col1) .specwrap {
	padding: var(--min10max25) var(--min15max30);
}
:is(.block-grid.-item.-col1, .block-grid.-item + .block-grid.-item.-col1) .specwrap:has(.text.-push) {
	padding-top: 10px;
}
:is(.block-grid.-item.-col1.-spec) {
	padding-top: 0!important;
}
:is(.block-grid.-item.-col1.-spec) .specwrap {
	padding-top: 0!important;
	margin-top: 0!important;
}
.block-grid.-item + .block-grid.-bond {
	margin-top: 0;
}
.contents-area .catch {
	margin-top: var(--min15max20);
	font-family: var(--font-minchou);
}
.block-grid.-item .catch + .point-unit {
	margin-top: 2.5%;
}
.block-grid.-item .specwrap .text.-push + .point-unit {
	margin-top: 10px;
}
.block-grid.-col1 .point-unit:has(.balloon) {
	flex-wrap: nowrap;
	column-gap: 10px;
	align-items: center;
}
.point-unit {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
	justify-content: right;
}
.point-unit .balloon {
	width: 100%;
	padding: 1% 2% 0;
	color: var(--point-balloon-color);
	border: 2px solid var(--point-balloon-color);
	position: relative;
	text-align: center;
}
.block-grid.-col1 .balloon {
	padding-top: .2%;
	line-height: 1;
	width: auto;
	white-space: nowrap;
}
.block-grid.-col1 .balloon::before,
.block-grid.-col1 .balloon::after {
	bottom: var(--min1max3);
	transform: rotate(30deg);
	left: auto;
}
.block-grid.-col1 .balloon::before {
	right: -11px;
}
.block-grid.-col1 .balloon::after {
	right: -7px;
}
.point-unit .balloon::before,
.point-unit .balloon::after {
	content: "";
	display: inline-block;
	position: absolute;
	left: calc(47% - 7px);
	width: 15px;
	aspect-ratio: 15/13;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.point-unit .balloon::before {
	background-color: var(--point-balloon-color);
	bottom: -13px;
}
.point-unit .balloon::after {
	bottom: -9px;
	background-color: #fff;
}
.point-unit .balloon .text.-off {
	margin: 0;
	font-weight: bold;
	font-size: var(--min18max20);
	line-height: 1;
}
.point-unit .balloon .text.-off .pt {
	font-size: calc(var(--min16max18) - 3px);
	margin-left: var(--point-gap);
}
.point-unit:not(.-sale) .balloon .text.-off::before {
	content: "予約だけ! ";
	font-size: var(--min16max18);
}
.block-grid.-col1 .point-unit .balloon + .pointwrap {
	margin-top: 0;
}
.point-unit .balloon + .pointwrap {
	margin-top: 10px;
}
.point-unit .pointwrap {
	width: 100%;
	font-size: var(--min18max20);
	display: grid;
	grid-template-columns: 47% auto;
}
.point-unit.-sale .pointwrap {
	max-width: 400px;
}
.point-unit.-sale:has(.sum:empty) {
	display: none;
}
.point-unit .sum {
	background: var(--point-sum-bg);
	color: #fff;
	font-weight: bold;
	text-align: right;
	padding: 2% 2% 1px;
	box-sizing: border-box;
	line-height: 1;
}
.block-grid.-col1 .point-unit:has(.balloon) .sum {
	padding: 2% 2% 1px;
}
.block-grid.-item.-col1 .point-unit:not(.-sale) .pointwrap {
	margin-top: 0;
	width: min(400px, 100%);
}
.point-unit .sum::before {
	content: "合計";
	display: inline-block;
	font-size: var(--min12max15);
	font-weight: 100;
	transform: translateY(-1px);
	margin-right: var(--point-gap);
}
.point-unit .sum::after {
	content: "ポイント";
	display: inline-block;
	font-size: var(--min12max15);
	font-weight: 100;
	margin-left: var(--point-gap);
}
.point-unit :is(.reserve,.reserveOnly) {
	background: var(--point-reserve-bg);
	color: #fff;
	font-weight: bold;
	text-align: right;
	padding: 2% 2% 1px;
	box-sizing: border-box;
	line-height: 1;
}
.block-grid.-col1 .point-unit:has(.balloon) .reserve {
	padding: 2% 2% 1px;
}
.point-unit .reserve::before {
	content: "うち予約特典";
	display: inline-block;
	font-size: var(--min12max15);
	font-weight: 100;
	margin-right: var(--point-gap);
	transform:translateY(-1px);
}
.point-unit.-sale:not(:has(.sum)) .reserve::before {
	display: none;
}
.point-unit.-sale .pointwrap {
	grid-template-columns: 40% auto;
}
.point-unit.-sale:not(:has(.sum)) .pointwrap {
	width: min(120px, 100%);
	grid-template-columns: 100%;
}
.point-unit.-sale:not(:has(.sum)) .pointwrap .reserve {
	padding: 3.5% 2% 1px;
	text-align: center;
}
.point-unit .reserve::after,
.point-unit .reserveOnly::after {
	content: "ポイント";
	display: inline-block;
	font-size: var(--min12max15);
	font-weight: 100;
	margin-left: var(--point-gap);
}
.point-unit .reserveOnly::before {
	content: "予約のみ特典";
	display: inline-block;
	font-size: var(--min12max15);
	font-weight: 100;
	margin-right: var(--point-gap);
	transform:translateY(-1px);
}
.point-unit.-sale .reserve::before {
	content: "うちセット特典";
}
.block-grid.-item .block-grid.-appeal + .point-unit {
	margin-top: var(--min25max30);
}
.contents-area .inside {
	padding: var(--min10max25) var(--min15max30);
}
.block-grid.-col2 .inside .title {
	padding: 0;
	justify-content: start;
	text-align: left;
	font-size: var(--min17max21);
	line-height: 1.3;
}
.block-grid.-col2 .inside .title + .text {
	margin-top: 2%;
}
.block-grid.-col2 .inside .textwrap + .image {
	margin-top: 2%;
}

.contents-area :is(.block-grid, .block-grid+.block-grid.-item):has(.inside) .specwrap {
	padding: 0;
}
.block-grid.-appeal {
	gap: var(--min10max20);
	align-items: center;
}
.block-grid.-appeal + .block-grid.-appeal {
	margin-top: 20px;
}
.block-grid.-appeal + .specwrap {
	margin-top: var(--min10max25);
}
.block-grid.-appeal .title {
	padding: 0;
	justify-content: start;
	text-align: left;
	font-size: var(--min17max21);
	line-height: 1.3;
}
.block-grid.-appeal .title + .text {
	margin-top: 2%;
}

.dialog-opener:has(.balloon-unit) {
	color: inherit;
	width: min(700px, 100%);
	margin: auto;
	display: block;
}
.dialog-opener:has(.balloon-unit) + .specwrap {
	margin-top: 2%;
}
.balloon-unit {
	margin-bottom: 0;
	background-color: var(--balloon-bg);
	padding: 13px 20px 13px;
}
.balloon-unit:not(:has(.inner)) {
	margin-bottom: 0;
}
.balloon-unit::before,
.balloon-unit:not(:has(.inner))::before {
	content: none;
}
.block-grid.-item .balloon-unit .text {
	margin: 0;
}
.dialog-opener:has(.balloon-unit) .text.-more {
	margin-top: 1%;
	margin-right: 6px;
	text-align: right;
}
.dialog-opener:has(.balloon-unit) + .point-unit {
	margin-top: 20px;
}

.textwrap .text + .dialog-opener {
	margin-top: 6%;
}

:is(.block-grid[class*="item"], .block-bg) + [class*="item"]:not(:has( > .specwrap)) {
	margin-top: 0;
}
:is(.block-grid[class*="item"], .block-bg) + .catch {
	margin-top: var(--min15max20);
}

.block-grid.-flex > * {
	width: 50%;
}

.block-grid[class*="item"] + .block-grid[class*="item"]:not(:has(.grid > .image)) {
	margin-top: 0;
	gap: 0;
	/* padding-bottom: 1.5%; */
}
.block-grid[class*="item"]:not(:has(.grid > .image)) > .grid > .specwrap {
	padding-bottom: 20px;
}
.block-grid.-spec {
	padding-top: 2%;
}

.block-grid[class*="item"] .specwrap {
	padding-block: var(--min10max13) var(--min15max20);
}
.block-grid[class*="item"] .specwrap .text.-push {
	margin-top: 0;
}

.push-wrap .cv-btn {
	padding: var(--min10max13) var(--min10max13) 0;
}
:is(.block-grid.-col1.-item .specwrap .detail,.dialog-opener) + .cv-btn {
	margin-top: 15px;
}
.cv-btn .js-item-sales.-cart6 .item-summary .info .brand-name {
	margin-top: var(--min8max10);
}

/* 売切商品 非表示 */
.-soldOut, .-soldOut + div.-item {
	display: none;
}

@media (max-width:480px) {

	/* アンカーボタン */
	.block-grid.-anc {
		gap: 3%;
	}

	/* コンテンツ */
	.block-grid.-reverse {
		padding: 0 3%;
		grid-template-areas:
			"text"
			"image";
	}
	.block-grid .textwrap + .image {
		margin-top: 0;
	}
	.block-grid.-item2 > :is(.grid, .card) + :is(.grid, .card) {
		margin-top: 0;
	}
	.block-grid.-col1.-item .catch.-bg {
		padding: 3% 2% 2%;
		box-sizing: border-box;
	}
	.block-grid.-item + .-item {
		margin-top: 5%;
	}
	.block-grid.-item + .block-grid.-col1 {
		margin-top: 5%;
		background-color: transparent;
	}
	.block-grid.-item + .block-grid.-col1.-bond {
		margin-top: 0;
	}
	:is(.block-grid.-item.-col1, .block-grid.-item + .block-grid.-item.-col1) .specwrap {
		padding: 3%;
	}
	.block-grid.-item + .block-grid.-item.-col1 .specwrap {
		margin-top: 2.5%;
	}
	.contents-area :is(.block-grid, .block-grid+.block-grid.-item):has(.inside) .specwrap {
		padding: var(--min15max20) 3%;
	}
	.contents-area :is(.block-grid, .block-grid+.block-grid.-item):has(.inside) .dialog-opener + .specwrap {
		margin-top: 2%;
	}
	.block-grid.-item.-col1 .point-unit + .js-item-sales.-cart6:not(.-sale) {
		margin-top: 4%;
	}
	.block-grid.-item.-col1 .specwrap .text.-border + .text.-push {
		margin-top: 6%;
	}
	.block-grid.-item.-col1 .text.-push + .js-item-sales.-cart6 {
		margin-top: 3%;
	}
	.block-grid.-item .specwrap .text.-push {
		margin-top: 6%;
		width: min(100%, 380px);
		margin: auto;
	}
	.block-grid.-cap {
		padding: 0;
	}
	.block-grid.-cap :is(.textwrap, .inside) {
		margin-top: 3.5%;
		padding: 0;
	}
	.block-grid.-cap .textwrap .image {
		margin-top: 3%;
	}
	.js-item-sales.-cart6 .item-summary .info .count {
		margin-top: 1%;
	}
	.js-item-sales.-cart6 .item-summary .info .special-note {
		margin-top: 1%;
	}
	.block-grid.-col1.-item .balloon-unit:not(:has(.inner)) {
		width: 94%;
    margin-inline: auto;
	}
	.point-unit {
		width: 100%;
	}
	.block-grid.-item[class*="col"] .point-unit {
		width: min(100%, 380px);
		margin: auto;
		flex-wrap: wrap;
	}
	.block-grid.-item .block-grid.-appeal + .point-unit {
		margin-top: 6%;
	}
	.point-unit.-sale .pointwrap {
		grid-template-columns: 49% auto;
	}
	.point-unit.-sale:not(:has(.sum)) .pointwrap .reserve {
    padding: 4% 2% 2px;
	}
	.block-grid.-col1 .balloon {
		width: 100%;
		padding: 1% 2% 0;
		line-height: inherit;
	}
	.block-grid.-col1:not(:has(.sum)) .balloon {
		width: unset;
	}
	.block-grid.-item.-col1:not(:has(.sum)) .point-unit:has(.balloon) .pointwrap {
		margin-top: 0;
	}
	.block-grid.-col1:has(.sum) .balloon::before,
	.block-grid.-col1:has(.sum) .balloon::after {
		right: 0;
		transform: rotate(0deg);
		left: 0;
	}
	.block-grid.-col1:has(.sum) .balloon::before {
		bottom: -13px;
	}
	.block-grid.-col1:has(.sum) .balloon::after {
		bottom: -9px;
	}
	.point-unit .balloon::before,
	.point-unit .balloon::after {
		left: 0;
		right: 0;
		margin: auto;
	}
	.block-grid.-item.-col1 .point-unit:has(.balloon) .pointwrap {
		margin-top: 10px;
	}
	.block-grid.-item.-col1 .point-unit:not(.-sale) .pointwrap {
		width: 100%;
	}
	.point-unit .pointwrap {
		grid-template-columns: 1fr 60%;
	}
	.point-unit .sum,
	.block-grid.-col1 .point-unit:has(.balloon) .sum {
		padding: 3% 2% 1px;
	}
	.point-unit .reserve,
	.block-grid.-col1 .point-unit:has(.balloon) .reserve { 
		padding: 3% 2% 1px;
	}
	.point-unit + .js-item-sales.-cart6:not(.-sale) {
		margin-top: 4%;
	}
	.balloon-unit {
		background-color: var(--balloon-sp-bg);
		margin: 0 2% 1%;
	}

}