/* =========================================
   商品引換券をもらった方へ SP版CSS
   対象：/sp/hikikaeflow/
========================================= */

#hikikae.hikikae-page {
	box-sizing: border-box;
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 12px 10px 82px;
	color: #333;
	font-size: 14px;
	line-height: 1.75;
	background: #fffaf0;
}

#hikikae *,
#hikikae *::before,
#hikikae *::after {
	box-sizing: border-box;
}

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

#hikikae p,
#hikikae ul,
#hikikae ol,
#hikikae li,
#hikikae h1,
#hikikae h2,
#hikikae h3 {
	margin-top: 0;
}

.hikikae-hero,
.hikikae-section {
	position: relative;
	overflow: hidden;
	margin: 0 0 16px;
	padding: 18px 14px;
	background: #fff;
	border: 1px solid #eadfca;
	border-radius: 16px;
	box-shadow: 0 3px 12px rgba(47, 42, 34, 0.08);
}

.hikikae-hero {
	padding-top: 20px;
	background:
		radial-gradient(circle at 100% 0%, rgba(243, 207, 84, 0.32) 0, rgba(243, 207, 84, 0) 34%),
		linear-gradient(180deg, #fffdf7 0%, #fff 62%);
}

.hikikae-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 6px;
	background: linear-gradient(90deg, #f3cf54 0%, #e5b92e 48%, #c99814 100%);
}

.hikikae-hero__badge {
	display: inline-block;
	margin: 0 0 10px;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	color: #3b2f14;
	background: #f7dc79;
	border: 1px solid #e5b92e;
	border-radius: 999px;
}

.hikikae-hero__title,
.hikikae-section__head {
	display: flex;
	align-items: center;
	gap: 8px;
}

.hikikae-hero__title {
	align-items: flex-start;
	margin-bottom: 12px;
}

.hikikae-hero__icon {
	flex: 0 0 42px;
	width: 42px;
}

.hikikae-hero__title h1 {
	margin: 0;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: 0.02em;
	color: #2f2a22;
}

.hikikae-hero__lead {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.8;
	color: #5c5344;
}

.hikikae-hero__image {
	margin: 0 0 15px;
	text-align: center;
}

.hikikae-hero__image img {
	border: 1px solid #ebe2cc;
	border-radius: 12px;
	box-shadow: 0 5px 14px rgba(47, 42, 34, 0.12);
}

.hikikae-hero__cta {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}

.hikikae-btn,
.hikikae-btn:link,
.hikikae-btn:visited,
.hikikae-btn:hover,
.hikikae-btn:active {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.45;
	text-align: center;
	text-decoration: none;
}

.hikikae-btn--primary,
.hikikae-btn--primary:link,
.hikikae-btn--primary:visited,
.hikikae-btn--primary:hover,
.hikikae-btn--primary:active {
	color: #2b2110;
	background: linear-gradient(180deg, #f3cf54 0%, #d5a928 100%);
	border: 1px solid #c89a13;
	box-shadow: 0 3px 0 #b48306;
}

.hikikae-btn--secondary,
.hikikae-btn--secondary:link,
.hikikae-btn--secondary:visited,
.hikikae-btn--secondary:hover,
.hikikae-btn--secondary:active {
	color: #fff;
	background: #3d3a34;
	border: 1px solid #3d3a34;
	box-shadow: 0 3px 0 #24221f;
}

.hikikae-section__head {
	align-items: flex-start;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 14px;
}

.hikikae-section__label {
	display: inline-block;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.08em;
	color: #3b2f14;
	background: #f3cf54;
	border-radius: 999px;
}

.hikikae-section__head h2 {
	margin: 0;
	padding-left: 10px;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.35;
	color: #2f2a22;
	border-left: 4px solid #d5a928;
}

.hikikae-flow {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 0;
}

.hikikae-flow__arrow {
	display: none;
}

.hikikae-flow__item {
	position: relative;
	width: 100%;
	padding: 14px 12px 14px 14px;
	background: #fcfaf5;
	border: 1px solid #ebe2cc;
	border-radius: 14px;
}

.hikikae-flow__item::after {
	content: "";
	position: absolute;
	left: 28px;
	bottom: -10px;
	width: 2px;
	height: 10px;
	background: #e5b92e;
}

.hikikae-flow__item:last-child::after {
	display: none;
}

.hikikae-flow__step {
	display: inline-block;
	margin: 0 0 8px;
	padding: 3px 10px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.45;
	color: #fff;
	background: #3d3a34;
	border-radius: 999px;
}

.hikikae-flow__content {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.hikikae-flow__icon {
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	font-size: 24px;
	line-height: 36px;
	text-align: center;
	background: #fff;
	border: 1px solid #efe3c6;
	border-radius: 50%;
}

.hikikae-flow__item h3 {
	margin: 0 0 4px;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.4;
	color: #2f2a22;
}

.hikikae-flow__item p {
	margin: 0;
	font-size: 13px;
	line-height: 1.65;
	color: #5d5648;
}

.hikikae-apply {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 0;
}

.hikikae-apply__box,
.hikikae-method__box {
	padding: 14px;
	background: #fcfaf5;
	border: 1px solid #ebe2cc;
	border-radius: 14px;
}

.hikikae-apply__box h3,
.hikikae-method__box h3 {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.4;
	color: #2f2a22;
}

.hikikae-apply__box p,
.hikikae-method__box p {
	margin: 0;
	font-size: 13px;
	line-height: 1.75;
	color: #5d5648;
}

.hikikae-apply__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hikikae-apply__list li {
	position: relative;
	margin: 0;
	padding: 7px 8px 7px 24px;
	font-size: 13px;
	line-height: 1.45;
	background: #fff;
	border: 1px solid #efe3c6;
	border-radius: 10px;
}

.hikikae-apply__list li::before {
	content: "✓";
	position: absolute;
	left: 8px;
	top: 7px;
	font-weight: 800;
	color: #b48a11;
}

.hikikae-apply__note {
	margin-top: 10px !important;
	padding: 10px;
	font-size: 13px;
	color: #5d4b12 !important;
	background: #fff7dc;
	border-left: 4px solid #e5b92e;
	border-radius: 8px;
}

.hikikae-method {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 0;
}

.hikikae-method__box {
	width: 100%;
}

.hikikae-textlink,
.hikikae-textlink:link,
.hikikae-textlink:visited,
.hikikae-textlink:hover,
.hikikae-textlink:active {
	display: block;
	margin-top: 10px;
	padding: 10px 12px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.45;
	color: #2b2110;
	text-align: center;
	text-decoration: none;
	background: #f3cf54;
	border: 1px solid #d5a928;
	border-radius: 999px;
}

.hikikae-faq {
	display: grid;
	grid-template-columns: 1fr;
	gap: 8px;
	margin-top: 0;
}

.hikikae-faq__item {
	margin: 0;
	overflow: hidden;
	background: #fffdfa;
	border: 1px solid #e8e0d1;
	border-radius: 12px;
}

.hikikae-faq__item summary {
	position: relative;
	list-style: none;
	padding: 13px 42px 13px 14px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.55;
	color: #2f2a22;
	cursor: pointer;
}

.hikikae-faq__item summary::-webkit-details-marker {
	display: none;
}

.hikikae-faq__item summary::before {
	content: "Q";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	margin-right: 7px;
	font-size: 12px;
	font-weight: 800;
	color: #fff;
	background: #3d3a34;
	border-radius: 50%;
}

.hikikae-faq__item summary::after {
	content: "＋";
	position: absolute;
	right: 14px;
	top: 50%;
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	color: #b48a11;
	transform: translateY(-50%);
}

.hikikae-faq__item[open] summary::after {
	content: "－";
}

.hikikae-faq__body {
	padding: 0 14px 14px;
	background: #fff;
}

.hikikae-faq__body p {
	margin: 0;
	font-size: 13px;
	line-height: 1.75;
	color: #5d5648;
}

.hikikae-apply__attention {
	margin-top: 12px;
	padding: 14px;
	background: #fff3cd;
	border: 1px solid #f1d28a;
	border-radius: 12px;
}

.hikikae-apply__attention-title {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.45;
	color: #7a5d00;
}

.hikikae-apply__attention-list {
	margin: 0 0 10px 20px;
	padding: 0;
}

.hikikae-apply__attention-list li {
	margin: 0 0 4px;
	font-size: 13px;
	line-height: 1.6;
	color: #5d4b12;
}

.hikikae-apply__attention-note {
	margin: 0;
	font-size: 12px;
	line-height: 1.7;
	color: #6b5a2b;
}

.hikikae-fixed-cta {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
	background: rgba(255, 255, 255, 0.96);
	border-top: 1px solid #e8dcc6;
	box-shadow: 0 -4px 14px rgba(47, 42, 34, 0.14);
}

.hikikae-fixed-cta__btn,
.hikikae-fixed-cta__btn:link,
.hikikae-fixed-cta__btn:visited,
.hikikae-fixed-cta__btn:hover,
.hikikae-fixed-cta__btn:active {
	display: block;
	padding: 10px 6px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	text-align: center;
	text-decoration: none;
	border-radius: 999px;
}

.hikikae-fixed-cta__btn--web,
.hikikae-fixed-cta__btn--web:link,
.hikikae-fixed-cta__btn--web:visited,
.hikikae-fixed-cta__btn--web:hover,
.hikikae-fixed-cta__btn--web:active {
	color: #2b2110;
	background: #f3cf54;
	border: 1px solid #d5a928;
}

.hikikae-fixed-cta__btn--fax,
.hikikae-fixed-cta__btn--fax:link,
.hikikae-fixed-cta__btn--fax:visited,
.hikikae-fixed-cta__btn--fax:hover,
.hikikae-fixed-cta__btn--fax:active {
	color: #fff;
	background: #3d3a34;
	border: 1px solid #3d3a34;
}

@media screen and (max-width: 360px) {
	#hikikae.hikikae-page {
		padding-right: 8px;
		padding-left: 8px;
	}

	.hikikae-hero,
	.hikikae-section {
		padding-right: 12px;
		padding-left: 12px;
	}

	.hikikae-hero__title h1 {
		font-size: 23px;
	}

	.hikikae-apply__list {
		grid-template-columns: 1fr;
	}
}
