@charset "utf-8";
/* 2026 102号～ 節分LP */
:where(.lp-daichi) {
		--font-color01: #232323;
		--font-color02: #ac2328;
		--cv-btn-shadow: #00000024;
		--cv-btn-reserve-color: #000;
		--point-sum-bg: #85070c;
    --point-reserve-bg: #c1272d;
    --point-balloon-color: var(--point-reserve-bg);
		--point-gap: 2px;
		--qa-color: #d4a912;

		/* https://min-max-calculator.9elements.com/ */
		/* 480px-960px幅 */
		--min1max3: clamp(0.063rem, -0.063rem + 0.42vw, 0.188rem);
		--min2max5: clamp(0.125rem, -0.063rem + 0.63vw, 0.313rem);
		--min4max5: clamp(0.25rem, 0.188rem + 0.21vw, 0.313rem);
		--min5max10: clamp(0.313rem, 1.04vw, 0.625rem);
		--min10max15: clamp(0.625rem, 0.313rem + 1.04vw, 0.938rem);
		--min12max15: clamp(0.75rem, 0.563rem + 0.63vw, 0.938rem);
		--min12max24: clamp(0.75rem, 2.5vw, 1.5rem);
		--min13max14: clamp(0.813rem, 0.75rem + 0.21vw, 0.875rem);
		--min13max18: clamp(0.813rem, 0.5rem + 1.04vw, 1.125rem);
		--min15max18: clamp(0.938rem, 0.75rem + 0.63vw, 1.125rem);
		--min15max24: clamp(0.938rem, 0.375rem + 1.88vw, 1.5rem);
		--min15max40: clamp(0.938rem, -0.625rem + 5.21vw, 2.5rem);
		--min15max45: clamp(0.938rem, -0.938rem + 6.25vw, 2.813rem);
		--min16max18: clamp(1rem, 0.875rem + 0.42vw, 1.125rem);
		--min17max27: clamp(1.063rem, 0.438rem + 2.08vw, 1.688rem);
		--min17max30: clamp(1.063rem, 0.25rem + 2.71vw, 1.875rem);
		--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);
		--min18max23: clamp(1.125rem, 0.813rem + 1.04vw, 1.438rem);
		--min18max24: clamp(1.125rem, 0.75rem + 1.25vw, 1.5rem);
		--min18max30: clamp(1.125rem, 0.378rem + 2.49vw, 1.875rem);
		--min19max28: clamp(1.188rem, 0.625rem + 1.88vw, 1.75rem);
		--min20max24: clamp(1.25rem, 1rem + 0.83vw, 1.5rem);
		--min20max25: clamp(1.25rem, 0.938rem + 1.04vw, 1.563rem);
		--min20max28: clamp(1.25rem, 0.75rem + 1.67vw, 1.75rem);
		--min22max30: clamp(1.375rem, 0.875rem + 1.67vw, 1.875rem);
		--min22max35: clamp(1.375rem, 0.563rem + 2.71vw, 2.188rem);
		--min23max35: clamp(1.438rem, 0.688rem + 2.5vw, 2.188rem);
		--min25max50: clamp(1.563rem, 0.006rem + 5.2vw, 3.125rem);
		--min30max50: clamp(1.875rem, 0.625rem + 4.17vw, 3.125rem);
		--min120max175: clamp(7.5rem, 4.063rem + 11.46vw, 10.938rem);
	}

	.lp-daichi.-setsubun {
		background: url(/external/category/image/2026/setsubun/ehou_bg.jpg);
		background-size: 100%;
	}

	.contents-area.-setsubun > .body {
		padding-top: var(--min30max50);
	}

	.contents-area.-setsubun {
		padding: 0 var(--min15max20) var(--min30max40);
	}
	.dsc-area {
		width: calc(100% + (2 * var(--min15max20)));
    transform: translateX(calc(-1 * (var(--min15max20))));
		background: url(/external/category/image/2026/setsubun/lead_bg.jpg);
		background-size: 101%;
		padding: 0 var(--min15max20) var(--min20max30);
    box-sizing: border-box;
	}
	.lead-area > .text {
		position: relative;
		padding: var(--min20max30) 0 0;
		font-size: var(--min15max20);
		font-family: var(--font-minchou);
		letter-spacing: .05em;
		line-height: 1.6;
		text-align: center;
	}
	
	.schedule-area {
		width: min(855px, 100%);
		margin: var(--min15max20) auto 0;
		padding: var(--min20max25) var(--min15max20) var(--min18max24);
		border: var(--font-color02) 3px solid;
		background: #fff;
		box-sizing: border-box;
		font-size: var(--min22max30);
		letter-spacing: .02em;
		text-align: center;
	}
	.block-grid.-schedule {
		max-width: 700px;
		margin: 8px auto 0;
		grid-template-columns: 24.5% auto;
		gap: 2.2%;
	}
	.schedule-area > .title {
		display: flex;
		justify-content: center;
		align-items: center;
		margin-top: var(--min20max28);
		font-size: var(--min18max23);
		line-height: 1;
		letter-spacing: .02em;
		color: var(--font-color02);
	}
	.schedule-area > .title:first-child {
		margin-top: 0;
	}
	.schedule-area > .title::before,
	.schedule-area > .title::after {
		content: "";
		display: block;
		width: min(25px, 50%);
		margin-inline: min(10px, 50%);
		height: 1px;
		background: var(--font-color02);
	}
	.schedule-area > .text,
	.block-grid.-schedule > .text {
		margin-top: 10px;
		letter-spacing: .02em;
		line-height: 1.25;
	}
	.block-grid.-schedule > .number {
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 2.9%;
    background: #ebc654;
    aspect-ratio: 170 / 31;
    border-radius: var(--min5max10);
		color: var(--font-color02);
		font-size: 80%;
		font-weight: bold;
    line-height: 1;
	}
	.schedule-time {
		font-size: 80%;
	}

	.block-grid.-type {
		grid-template-columns: repeat(2, 1fr);
		max-width: 627px;
		margin-inline: auto;
		padding-top: var(--min20max30);
		gap: var(--min20max40);
	}
	.cat-btn {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		color: #fff;
    font-size: var(--min22max35);
    text-decoration: unset;
    font-family: var(--font-minchou);
    text-align: center;
    font-weight: bold;
    line-height: 1.05;
    letter-spacing: .05em;
	}
	.cat-btn:hover {
		color: #fff;
	}
	.cat-btn > .str {
		padding-top: 13.5%;
	}
	.cat-btn .small {
		font-size: 69%;
	}
	.cat-btn.-first {
		background: url(/external/category/image/2026/setsubun/ehoumaki_btn.png);
		background-size: 100%;
		background-repeat: no-repeat;
		aspect-ratio: 297 / 213;
	}
	.cat-btn.-second {
		background: url(/external/category/image/2026/setsubun/fuku_btn.png);
		background-size: 100%;
		background-repeat: no-repeat;
		aspect-ratio: 297 / 213;
	}
	
	[class*="-area"] .headwrap {
    width: min(750px, 100%);
    margin: 0 auto var(--min20max30);
	}
	[class*="-area"] .headwrap > .head {
    background: url(/external/category/image/2026/setsubun/area_head_waku_middle.png) center / contain;
    font-family: var(--font-minchou);
    font-size: var(--min23max35);
    color: #fff;
    line-height: 1.25;
    text-align: center;
	}
	[class*="-area"] .headwrap > .head::before, [class*="-area"] .headwrap > .head::after {
    content: "";
    display: block;
    aspect-ratio: 125 / 7;
    background-repeat: no-repeat;
    background-size: 100%;
	}
	[class*="-area"] .headwrap > .head::before {
    background-image: url(/external/category/image/2026/setsubun/area_head_waku_top.png);
	}
	[class*="-area"] .headwrap > .head::after {
    background-image: url(/external/category/image/2026/setsubun/area_head_waku_bottom.png);
    transform: translateY(1px);
	}

	.block-grid:where([class*="item"]) .catch.-bg.-small {
		font-size: var(--min17max27);
	}
	.block-grid.-catch > .grid:nth-child(n+3) {
		margin-top: var(--min30max40);
	}
	.block-grid.-item > .kodawari {
		padding-inline: 3%;
		padding-top: 3%;
		background: #fff;
	}
	.block-grid.-item.-col1 .text + .cv-btn:not(.-sale) {
    margin-top: 3%;
	}
	.block-grid.-item.-col1 .text.-push + .cv-btn:not(.-sale) {
    margin-top: 1.5%;
	}
	.push-wrap > .text {
		font-size: var(--min15max18);
		margin-top: var(--min10max15);
	}
	.push-wrap > .image {
		margin-bottom: var(--min10max15);
		width: calc(100% + (2 * var(--min10max13)));
    transform: translateX(calc(-1 * (var(--min10max13))));
	}

	.block-grid.-item.-col1 .point-unit + .cv-btn {
    margin-top: 1.25%;
	}
	.point-unit + .cv-btn {
    margin-top: 2.5%;
	}

	.contents-area .catch {
    font-family: var(--font-minchou);
    line-height: 1.3;
    font-size: var(--min19max28);
	}
	.point-unit {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    margin-left: auto;
    justify-content: right;
	}
	.block-grid.-col1 .point-unit:has(.balloon) {
    flex-wrap: nowrap;
    column-gap: 10px;
    align-items: center;
	}
	.block-grid.-col1 .balloon {
		padding-top: .5%;
		line-height: 1;
		width: auto;
		white-space: nowrap;
	}
	.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;
	}
	.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%);
}
	.block-grid.-col1 .balloon::before, 
	.block-grid.-col1 .balloon::after {
		bottom: var(--min1max3);
		transform: rotate(30deg);
		left: auto;
	}
	.point-unit .balloon::before {
    background-color: var(--point-balloon-color);
    bottom: -13px;
	}
	.block-grid.-col1 .balloon::before {
		right: -11px;
	}
	.block-grid.-col1 .balloon::after {
		right: -7px;
	}
	.point-unit .balloon::after {
    bottom: -9px;
    background-color: #fff;
	}
	.point-unit .balloon .text.-off {
		margin: 0;
		font-weight: bold;
		font-size: var(--min16max18);
	}
	.point-unit .balloon .text.-off .pt {
		font-size: calc(var(--min16max18) - 3px);
		margin-left: var(--point-gap);
	}
	.point-unit .pointwrap {
    width: 100%;
    font-size: var(--min18max20);
    display: grid;
    grid-template-columns: 47% auto;
	}
	.point-unit .balloon + .pointwrap {
    margin-top: 10px;
	}
	.block-grid.-col1 .point-unit .balloon + .pointwrap {
    margin-top: 0;
	}
	.block-grid.-item.-col1 .point-unit .pointwrap {
    margin-top: 0;
    width: min(400px, 100%);
	}
	.block-grid.-item.-col1 .point-unit.-sale .pointwrap,
	.point-unit.-sale > .pointwrap {
		width: min(178px, 100%);
		grid-template-columns: 100%;
	}
	.point-unit.-sale .reserve {
		text-align: center;
	}
	.point-unit.-sale .reserve::before{
		display: none;
	}
	.js-item-sales.-cart6.-sale .item-summary .info .point {
		display: none!important;
	}
	.block-grid.-col1 .point-unit:has(.balloon) .sum {
		padding: 2% 2% 1px;
	}
	.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;
	}
	.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 .reserve {
    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 .reserve::after {
    content: "ポイント";
    display: inline-block;
    font-size: var(--min12max15);
    font-weight: 100;
    margin-left: var(--point-gap);
	}


	.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:not(.-sale)[class*="reserve"] > .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;
	}
	.cv-btn:not(.-sale) > .js-item-sales > .item-summary > .info > .cart > .add-to-cart > .add-to-cart:not(:has(:disabled)) .button::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::after {
    content: "";
    display: inline-block;
    width: var(--min13max15);
    aspect-ratio: 3 / 4;
    mask: url(/external/category/image/2025/xmas/icon_arrow_R.svg) no-repeat;
    -webkit-mask: url(/external/category/image/2025/xmas/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: "1/26週お届け" !important;
	}
	.cv-btn:not(.-sale)[class*="reserve"] > .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;
	}

	.qa-area .inner {
		margin-inline: auto ;
		width: min(700px, 100%);
		padding: var(--min15max40);
		box-sizing: border-box;
	}
	.qa-area .head {
		text-align: center;
		font-size: var(--min30max40);
		color: var(--qa-color);
		border-bottom: 2px solid var(--qa-color);
	}
	.qa-area .head + .accordion-group {
		margin-top: var(--min30max40);
	}
	/* アコーディオン */
	#content .lp-daichi .accordion {
		margin-top: 0;
	}
	#content .lp-daichi .accordion-group.-tango {
		display: none;
		text-align: center;
		margin-top: 2%;
		position: relative;
	}
	#content .lp-daichi .accordion-toggle.-tango {
		width: 100%;
		border: 3px solid;
		font-weight: bold;
		box-sizing: border-box;
	}
	#content .lp-daichi .accordion .accordion-toggle {
		font-weight: bold;
		padding: 2%;
		font-size: 22px;
		position: relative;
		transition: all 0s;
	}
	#content .lp-daichi .accordion .accordion-toggle:hover {
		transition: all 0s;
	}
	#content .lp-daichi .accordion .accordion-toggle::before {
		content:none;
	}
	#content .lp-daichi .accordion .accordion-toggle::after {
		content: "";
		display: inline-block;
		mask: url(/external/category/image/2024/creampuff/icon_arrow.svg) no-repeat;
		-webkit-mask: url(/external/category/image/2024/creampuff/icon_arrow.svg) no-repeat;
		mask-size: contain;
		-webkit-mask-size: contain;
		width: 20px;
		height: 16px;
		background-size: contain;
		position: absolute;
		right: 2%;
		top: 0;
		bottom: 0;
		margin: auto;
		transform: scale(1, -1);
	}
	#content .lp-daichi .accordion.pseudo-opened .accordion-toggle::after {
		transform: rotate(180deg);
		top: -8px;
		transform: scale(-1, 1);
	}
	#content .lp-daichi .accordion.pseudo-opened .accordion-toggle {
		border-bottom-width: 0;
	}
	#content .lp-daichi .accordion.pseudo-opened .accordion-body {
		color: #fff;
	}
	#content .qa-area .accordion-group .title a {
		font-size: var(--min20max24);
		color: #23211d;
		background-color: var(--qa-color);
		text-align: left;
		padding-block: 15px 10px;
		padding-inline: 20px 50px;;
		display: flex;
	}
	#content .qa-area .accordion-group .accordion .title a::before {
		content: "Q.";
		font-size: 100%;
		color: inherit;
		margin-right: 10px;
	}
	#content .qa-area .accordion-group .accordion .title a::after {
		background-color: #23211d;
		right: 25px;
	}
	#content .qa-area .accordion-group + .accordion-group {
		margin-top: var(--min25max30);
	}
	#content .qa-area .accordion-group .text {
		padding: 3%;
	}
	#content .lp-daichi .accordion.pseudo-opened .accordion-toggle .accordion-toggle-label {
		display: block;
	}

	@media (max-width: 480px) {
		.dsc-area {
			background: url(/external/category/image/2026/setsubun/lead_bg_sp.jpg);
			background-size: 100%;
		}
		.lead-area > .text {
			letter-spacing: 0;
		}
		.lead-area::after {
			display: none;
		}
		.block-grid.-schedule {
			display: block;
		}
		.block-grid.-schedule > .number {
			display: inline-block;
			padding: 2% 2% 0;
		}
		.schedule-area > .text, 
		.block-grid.-schedule > .text {
			font-size: 82%;
		}

		.cat-btn {
			font-size: clamp(1.063rem, 0.221rem + 3.85vw, 1.375rem);
		}
			
		.block-grid[class*="item"] + .block-grid.-col1 .specwrap > .text.-push {
			margin-top: 3%;
		}
		.push-wrap > .image {
			width: 100%;
			transform: unset;
		}

		.block-grid.-item[class*="col"] .point-unit {
			width: min(100%, 380px);
			margin: auto;
			flex-wrap: wrap;
    }
		.block-grid.-col1 .balloon {
			width: 100%;
			padding: 1% 2% 0;
			line-height: inherit;
    }
		.point-unit .balloon::before, 
		.point-unit .balloon::after {
			left: 0;
			right: 0;
			margin: auto;
    }
		.block-grid.-col1 .balloon::before, 
		.block-grid.-col1 .balloon::after {
			right: 0;
			transform: rotate(0deg);
			left: 0;
    }
		.block-grid.-col1 .balloon::before {
			bottom: -13px;
    }
		.block-grid.-col1 .balloon::after {
			bottom: -9px;
    }
		.block-grid.-item.-col1 .point-unit .pointwrap {
			width: 100%;
    }
		.block-grid.-item.-col1 .point-unit:has(.balloon) .pointwrap {
			margin-top: 10px;
    }
		.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;
    }

		.block-grid.-item.-col1 .point-unit + .cv-btn,
		.point-unit + .cv-btn {
			margin-top: 4%;
		}
	}