@charset "UTF-8";

/* CSS Document */

html,
body {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	margin: 0px;
	line-height: 0px;
	overflow-x: hidden;
}

main {
	text-align: center;
}

img {
	width: 100%;
}

p {
	font-weight: 600;
	line-height: 1.5em;
	color: #525252;
}

/* --- 1. 親要素（.top）の設定 --- */
.top {
	position: relative;
	/* 子要素（波の屋根）を絶対配置するための基準 */
	width: 100%;
}

/* --- 2. 波の屋根（影あり）の基本位置・重ね順設定 --- */
.top-wave.wave-shadow {
	width: 100% !important;
	display: block !important;
	position: absolute;
	/* 絶対配置にしてメインビジュアル画像の上に重ねる */
	top: 0;
	/* 💡親要素（.top）の一番上にぴったりくっつける */
	left: 0;
	z-index: 20;
	/* 💡メインビジュアル画像よりも手前に表示する */
}


@media screen and (min-width: 751px) and (max-width: 1280px) {
	.sp {
		display: none;
	}

	.pc {
		display: block;
	}

	.top {
		position: relative;
		width: 100%;
		height: 0px;
		padding-top: 87.5%;
	}

	.top img {
		position: absolute;
		top: 0px;
		/* 垂直中央 */
		left: 50%;
		/* 水平中央 */
		transform: translateX(-50%);
		/* 要素自身の中心を中央に調整 */
		width: 110%;
		max-width: 1400px;
		z-index: 30;
	}

	.top_chara {
		margin-top: 28.5%;
	}

	/* 📐 751〜1280px可変：最大幅1280pxに合わせて最適化した最終確定版 */
	.top-wave.wave-shadow {
		aspect-ratio: 1280 / 440 !important;
		width: 100% !important;
		height: auto !important;
		display: block !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 440' width='100%25' height='440'%3E%3Cdefs%3E%3Cpattern id='p-wave-pc-perfect-height-1280' width='71.55' height='440' patternUnits='userSpaceOnUse'%3E%3Cg transform='translate(12, 12)'%3E%3Crect width='71.55' height='387' fill='%23ffffff'/%3E%3Ccircle cx='0' cy='387' r='41' fill='%23ffffff'/%3E%3Ccircle cx='71.55' cy='387' r='41' fill='%23ffffff'/%3E%3C/g%3E%3Cg%3E%3Crect width='71.55' height='387' fill='%23EA5964'/%3E%3Ccircle cx='0' cy='387' r='41' fill='%23EA5964'/%3E%3Ccircle cx='71.55' cy='387' r='41' fill='%23EA5964'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='1280' height='440' fill='url(%23p-wave-pc-perfect-height-1280)'/%3E%3C/svg%3E") !important;
		background-size: 100% auto !important;
		background-repeat: no-repeat !important;
	}

}

@media screen and (min-width: 1281px) {
	.sp {
		display: none;
	}

	.pc {
		display: block;
	}

	.top {
		position: relative;
		width: 100%;
		height: 0px;
		padding-top: 1113.6px;
		background-image:
			linear-gradient(to bottom,
				#f5bcbf 0%,
				#f5bcbf 50.1%,
				/* 100% - 49.9% (約48.2%) */
				#f5c0c1 53.0%,
				/* 100% - 48.0% */
				#f9d7d1 62.8%,
				/* 100% - 38.2% */
				#fce8dd 72.6%,
				/* 100% - 28.4% */
				#fef2e3 82.3%,
				/* 100% - 17.7% */
				#fff6e6 100%),
			linear-gradient(to bottom,
				#f8b62d 0%,
				#f8b62d 48%,
				/* 100% - 52% */
				#f8bc3f 51%,
				/* 100% - 49% */
				#facb6b 56%,
				/* 100% - 44% */
				#fbd891 63%,
				/* 100% - 37% */
				#fce3b0 69%,
				/* 100% - 31% */
				#fdebc7 76%,
				/* 100% - 24% */
				#fef1d8 83%,
				/* 100% - 17% */
				#fef4e2 90%,
				/* 100% - 10% */
				#fff6e6 100%);

		/* 2枚のグラデーションを左右に並べる（50%ずつ割り当てる） */
		background-size: 50% 100%, 100% 100%;
		background-position: left, right;
		background-repeat: no-repeat;
	}

	.top-wave.wave-shadow {
		width: 100% !important;
		height: 440px !important;
		display: block !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1280 440' width='100%25' height='440'%3E%3Cdefs%3E%3Cpattern id='p-wave-pc-perfect-height-wide' width='71.55' height='440' patternUnits='userSpaceOnUse'%3E%3Cg transform='translate(12, 12)'%3E%3Crect width='71.55' height='387' fill='%23ffffff'/%3E%3Ccircle cx='0' cy='387' r='41' fill='%23ffffff'/%3E%3Ccircle cx='71.55' cy='387' r='41' fill='%23ffffff'/%3E%3C/g%3E%3Cg%3E%3Crect width='71.55' height='387' fill='%23EA5964'/%3E%3Ccircle cx='0' cy='387' r='41' fill='%23EA5964'/%3E%3Ccircle cx='71.55' cy='387' r='41' fill='%23EA5964'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='1280' height='440' fill='url(%23p-wave-pc-perfect-height-wide)'/%3E%3C/svg%3E") !important;
		background-size: auto 100% !important;
		background-repeat: repeat-x !important;
	}


	.top img {
		position: absolute;
		top: 0px;
		/* 垂直中央 */
		left: 50%;
		/* 水平中央 */
		transform: translateX(-50%);
		/* 要素自身の中心を中央に調整 */
		width: 1400px;
		z-index: 30;
	}

	.top_chara {
		margin-top: 365px;
	}
}


@media screen and (min-width: 751px) {
	html {
		font-size: 20px;
		font-family: YakuHanRP, "M PLUS Rounded 1c", sans-serif;
		font-weight: 400;
		font-style: normal;
		font-feature-settings: "palt" 1, "halt" 1, "kern" 1;
	}

	body {
		overflow-x: hidden;
		font-size: 1em;
		container-type: inline-size;
		animation: width-calc 0s linear infinite;
		animation-timeline: allow-end;
	}

	/* 💡 画面幅表示（デバッグ用：本番公開時に不要であれば body::before ごと削除してください） */
	body::before {
		display: block !important;
		position: fixed !important;
		top: 10px !important;
		left: 10px !important;
		background: #000000 !important;
		color: #ffffff !important;
		padding: 8px 15px !important;
		font-size: 14px !important;
		font-family: sans-serif !important;
		font-weight: bold !important;
		z-index: 999999 !important;
		border-radius: 5px !important;
		pointer-events: none !important;
	}

	.top {
		background-image:
			linear-gradient(to bottom,
				#f5bcbf 0%,
				#f5bcbf 50.1%,
				/* 100% - 49.9% (約48.2%) */
				#f5c0c1 53.0%,
				/* 100% - 48.0% */
				#f9d7d1 62.8%,
				/* 100% - 38.2% */
				#fce8dd 72.6%,
				/* 100% - 28.4% */
				#fef2e3 82.3%,
				/* 100% - 17.7% */
				#fff6e6 100%),
			linear-gradient(to bottom,
				#f8b62d 0%,
				#f8b62d 48%,
				/* 100% - 52% */
				#f8bc3f 51%,
				/* 100% - 49% */
				#facb6b 56%,
				/* 100% - 44% */
				#fbd891 63%,
				/* 100% - 37% */
				#fce3b0 69%,
				/* 100% - 31% */
				#fdebc7 76%,
				/* 100% - 24% */
				#fef1d8 83%,
				/* 100% - 17% */
				#fef4e2 90%,
				/* 100% - 10% */
				#fff6e6 100%);
		background-size: 50% 100%, 100% 100%;
		background-position: left, right;
		background-repeat: no-repeat;
	}



	main {
		overflow-x: hidden;
		overflow-y: hidden;
		background-color: #ffa0af;
	}

	/* --- TOPへ戻るボタン --- */
	.top_btn {
		position: fixed;
		bottom: 10px;
		right: 10px;
		width: 120px;
		z-index: 100;
		border: none;
		background: none;
		opacity: 0;
		/* 初期状態は非表示（JSで制御） */
		transition: opacity 0.3s ease;
	}

	/* --- TOPヘッダー・波背景 --- */
	.top {
		width: 100%;
	}

	.top::after{
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(50, 50, 50, 0.8); /* 黒の半透明（不透明度50%） */
		z-index: 30; /* 画像より上に配置 */
}
.top img.comingsoon{
	position: absolute;
	z-index: 40 !important;
	top: 42%;
	left: 50%;
    transform: translateX(-50%);
	width: 70% !important;

}

	.title {
		width: 100%;
		height: 80px;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 750 110' width='100%25' height='110'%3E%3Cdefs%3E%3Cpattern id='p-title-perfect' width='41.76' height='110' patternUnits='userSpaceOnUse'%3E%3Cg%3E%3Crect width='41.76' height='86' fill='%23EA5964'/%3E%3Ccircle cx='0' cy='86' r='24' fill='%23EA5964'/%3E%3Ccircle cx='41.76' cy='86' r='24' fill='%23EA5964'/%3E%3C/g%3E%3C/pattern%3E%3C/defs%3E%3Crect width='750' height='110' fill='url(%23p-title-perfect)'/%3E%3C/svg%3E");
		background-repeat: repeat-x;
		background-size: auto 80px;
		background-position: center top;
		margin-bottom: 30px;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		z-index: 30;
		position: relative;
	}

	/* 中身のロゴ画像（全体の高さ80pxに合わせて綺麗に中央配置されるよう微調整） */
	.title img {
		width: auto;
		height: 44px;
	}

	/* 中身のロゴ画像（全体の高さ70pxに合わせて綺麗に中央配置されるよう微調整） */
	.title img {
		width: auto;
		height: 38px;
	}

	/* 中身のロゴ画像（全体の高さが低くなったので、はみ出さないように少し縮小して中央配置） */
	.title img {
		width: auto;
		height: 50px;
	}

	.title img {
		height: 55px;
		width: auto;
	}

	/* --- キャンペーンフレーム情報 --- */
	.CpFrame {
		position: relative;
		background: #FFF0F2;
	}

	.cpframe_in_01 {
		width: 90%;
		margin: auto;
		text-align: right;
		max-width: 750px;
	}

	.cpframe_in_01 .m-logo {
		width: 40%;
		margin: 0px -1em 0.5em auto;
	}

	.cpframe_in_02 {
		margin: 0px auto;
		color: #9C2B00;
	}

	.cpfr_in_02 {
		position: relative;
	}

	.cpframe_in_in {
		position: relative;
		margin: 2.5em auto auto auto;
		background-color: #FFFFE6;
		padding: 0px 0px 1em 0px;
	}

	.CpFrame-title {
		width: 90%;
		max-width: 584px;
	}

	.date {
		color: #9C2B00;
		text-decoration: solid 3px #fff;
		font-size: 24px;
		font-feature-settings: "palt" 1;
		margin: 0px auto 0.5em;
		text-align: center;
		padding-bottom: 1em;
		font-weight: 700;
	}

	.date_num {
		font-size: 40px;
		font-weight: 800;
	}

	p.CpFrame_text {
		color: #9C2B00;
		font-size: 24px;
		line-height: 1.7em;
	}

	.CpFrame_text span:not([class]) {
		font-size: 1.5em;
	}

	.CpFrame_text .marker {
		background-color: #F7C2CE;
		padding: 0px 0.2em;
		margin-right: 0.1em;
		font-weight: 700;
		font-weight: 800;
	}

	.cpframe_in_title {
		width: 100%;
		margin: auto;
		background-color: #FFD800;
		font-size: 1.5em;
	}

	.cpframe_in_title p {
		color: #652116;
		padding: 0.2em 0px;
		font-weight: 700;
	}

	/* --- オブジェクト・スタンプ等のフレックスレイアウト --- */
	.CpFrame_flex {
		width: 90%;
		max-width: 584px;
		margin: 2em auto 1em auto;
		display: flex;
		text-align: center;
		justify-content: space-between;
	}

	.CpFrame_flex_in {
		width: 33%;
		text-align: center;
	}

	.CpFrame_flex_in img {
		width: 85%;
	}

	.cpframe_in_in .CpFrame_flex_in p {
		color: #9C2B00;
		font-size: 1em;
		line-height: 1.4em;
		width: 108%;
		letter-spacing: -0.05em;
		margin-left: -4%;
	}

	.CpFrame_flex .CpFrame_flex_in p span:not([class]),
	.method .CpFrame_flex_in p span:not([class]) {
		font-size: 0.8em !important;
		display: inline-block !important;
		line-height: 1.1 !important;
	}

	.CpFrame_flex_in .red {
		color: #E60044;
		font-size: 1em;
	}

	/* --- 注意書き見出し（下三角付き） --- */
	.cpframe_att_title {
		background-color: #FFD800;
		width: 75%;
		max-width: 578px;
		margin: auto auto 1em auto;
		color: #652116;
		font-size: 1.6em;
		text-align: center;
		position: relative;
		padding-top: 0.3em;
		padding-bottom: 0.3em;
	}

	.cpframe_att_title>* {
		margin: 0;
		padding: 0;
	}

	.cpframe_att_title::after {
		content: "";
		position: absolute;
		bottom: -0.9em;
		left: 50%;
		transform: translateX(-50%);
		width: 1.08em;
		height: 0.9em;
		background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12' preserveAspectRatio='none'><polygon points='0,0 24,0 12,12' fill='%23FFD800'/></svg>");
		background-size: 100% 100%;
		background-repeat: no-repeat;
	}

	.cpframe_att_title p {
		color: #652116;
		font-weight: 700;
		letter-spacing: 0.15em;
	}

	/* --- 注記テキスト・装飾キャラクター（浮遊） --- */
	.cpframe_att_text {
		color: #E60044;
		font-size: 1em;
		font-weight: 600;
		margin: 1em auto 0.5em auto;
		line-height: 1.3em;
	}

	.cpframe_att_text:nth-of-type(1) {
		font-size: 1.25em;
		margin-bottom: 0.8em;
		margin-top: 1.5em;
	}

	.cpframe_att {
		position: relative;
		max-width: 730px;
		margin: auto;
	}

	.chara_float {
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		width: 100%;
	}

	.cpframe_att .chara_float img:nth-of-type(1) {
		position: absolute;
		width: 210px;
		height: auto;
		top: 2em;
		left: -1em;
	}

	.cpframe_att .chara_float img:nth-of-type(2) {
		position: absolute;
		width: 210px;
		height: auto;
		top: 3.5em;
		right: -1em;
	}

	.cpframe_att .chara_float img:nth-of-type(3) {
		position: absolute;
		width: 66px;
		top: 32.5em;
		left: 2em;
	}

	.cpframe_att .chara_float img:nth-of-type(4) {
		position: absolute;
		width: 63px;
		top: 30.5em;
		right: 1.5em;
	}

	.cpframe_att .chara_float img:nth-of-type(5) {
		position: absolute;
		width: 215px;
		height: auto;
		bottom: -0.7em;
		left: -0.7em;
	}

	.cpframe_att .chara_float img:nth-of-type(6) {
		position: absolute;
		width: 215px;
		height: auto;
		bottom: -0.5em;
		right: -1em;
	}

	.cpfr_in_02_img {
		width: 80%;

		margin: 1.5em auto 0px;
	}

	/* --- 対象商品ブロック --- */
	.item {
		width: 100%;
		margin: auto;

	}

	.item .max-width {
		max-width: 1120px;
		margin: auto;
		background-color: #FFF0F2;
	}

	.item_inner {
		width: 90%;
		max-width: 584px;
		margin: 0px auto;
		padding-bottom: 3em;
	}

	.item .item_text {
		width: 100%;
		background-color: #fff;
		border: solid 2px #EA5964;
		border-radius: 15px;
		margin: 1.5em auto 1.5em;
		text-align: center;
		padding: 1em 0px;
	}

	.item .item_text p {
		color: #EA5964;
		width: 88%;
		margin: auto;
		line-height: 2;
		text-align: left;
	}

	.item .item_text p span {
		font-size: 1.5em;
	}

	.item .item_text p:nth-of-type(2) {
		margin-bottom: 0.7em;
	}

	.item .item_text .att {
		color: #808080;
		line-height: 1.5;
	}

	.item .item_text .att span {
		font-size: 0.85em;
	}

	/* --- パッケージ共通装飾テキスト類 --- */
	.pkg_title {
		margin-bottom: -1em;
	}

	.pkg_in_st .drink_title_st {
		background-color: #f06c84;
		color: #fff !important;
		width: 80%;
		border-radius: 1em;
		padding: 0;
		margin: 2em auto 0em;
		font-size: 1.3em;
	}

	.drink_title_houji {
		background-color: #d3a12a;
		color: #fff !important;
		width: 80%;
		border-radius: 1em;
		padding: 0;
		margin: 2em auto 0em;
		font-size: 1.3em;
	}

	.drink_name {
		font-size: 1.1em;
		margin: 1em auto 1em;
		line-height: 1.2em;
	}

	.pkg_inner_01 .pkg_in_st p,
	.pkg_inner_02 .pkg_in_st p {
		color: #E73656;
	}

	.pkg_inner_01 .pkg_in_hou p,
	.pkg_inner_02 .pkg_in_hou p {
		color: #9C2B00;
	}

	.pkg_open_text {
		font-size: 1em !important;
		margin: 1em auto 2em;
		line-height: 1.2em;
	}

	/* --- パッケージ全体（大枠） --- */
	.pkg_inner_01,
	.pkg_inner_02 {
		position: relative;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: 751px;
		margin: 5em auto;
		border-radius: 20px;
		padding-top: 0px;
	}

	.pkg_inner_01 .pkg_in_title,
	.pkg_inner_02 .pkg_in_title {
		position: absolute;
		width: 31%;
		top: -3.5em;
		left: -5%;
	}

	.pkg_inner_01 img,
	.pkg_inner_02 img {
		width: 90%;
	}

	/* 初期状態で表示されている商品画像 */
	.pkg_in_pkg {
		margin-top: 6em;
	}

	/* ★★★ パッケージ開閉コンテンツ（アコーディオン領域） ★★★ */
	.pkg_in_open {
		width: 90%;
		max-height: 0px;
		/* 初期状態は閉じる */
		margin: auto;
		opacity: 0;
		overflow: hidden;
		transition: max-height 0.5s ease-out, opacity 0.5s ease-out;
		text-align: center;
		background-color: #fff;
		border-radius: 15px;
	}

	.pkg_in_open.is-visible {
		max-height: none;
		opacity: 1;
		padding-bottom: 2em;
	}

	.pkg_in_open img {
		width: 80%;
	}

	.pkg_open {
		width: 60%;
		margin: auto;
	}

	.pkg_open img {
		width: 100%;
	}

	.pkg_in_text {
		opacity: 0;
		display: none;

		/* ふわっと表示・非表示を切り替えるアニメーション */
		transition: opacity 0.5s ease, visibility 0.5s ease;
	}

	.pkg_in_text.is-visible {
		opacity: 1 !important;
		display: block;
		!important;
		margin-top: 2.5em;
		width: 70%;
		display: block;
	}

	.pkg_in_pkg.is-visible {
		margin-top: 1em;
	}


	/* --- 第1弾：ピンクパッケージ背景（PC版・28px固定） --- */
	.pkg_inner_01 {
		border: solid 0.5em #F0919B;
		box-shadow: 0.5em 0.5em 0px #f5b6c2;
		background-image:
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 694 3500'%3E%3Cpath d='M-11,0 A32,32 0 0,0 45,0 A32,32 0 0,0 101,0 A32,32 0 0,0 157,0 A32,32 0 0,0 213,0 A32,32 0 0,0 269,0 A32,32 0 0,0 325,0 A32,32 0 0,0 381,0 A32,32 0 0,0 437,0 A32,32 0 0,0 493,0 A32,32 0 0,0 549,0 A32,32 0 0,0 605,0 A32,32 0 0,0 661,0 A32,32 0 0,0 717,0 L694,3500 L0,3500 Z' fill='%23f9d2d4'/%3E%3C/svg%3E"),
			repeating-linear-gradient(-251deg, #FDF0F2, #FDF0F2 28px, #fff 28px, #fff 56px);

		background-position: left 8em, center;
		background-size: 100% auto, 100% auto;
		background-repeat: no-repeat, repeat;
		position: relative;
		z-index: 0;
		border-radius: 20px;
	}

	/* --- 第2弾：水色パッケージ背景（PC版新建造） --- */
	.pkg_inner_02 {
		margin: 0 auto;
		border: solid 0.5em #ADDCFA;
		box-shadow: 0.5em 0.5em 0px #e5e5f0;
		background-image:
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 694 3500'%3E%3Cpath d='M-11,0 A32,32 0 0,0 45,0 A32,32 0 0,0 101,0 A32,32 0 0,0 157,0 A32,32 0 0,0 213,0 A32,32 0 0,0 269,0 A32,32 0 0,0 325,0 A32,32 0 0,0 381,0 A32,32 0 0,0 437,0 A32,32 0 0,0 493,0 A32,32 0 0,0 549,0 A32,32 0 0,0 605,0 A32,32 0 0,0 661,0 A32,32 0 0,0 717,0 L694,3500 L0,3500 Z' fill='%23E9F8FF'/%3E%3C/svg%3E"),
			repeating-linear-gradient(-251deg, #D6EDFD, #D6EDFD 28px, #fff 28px, #fff 56px);

		background-position: left 8em, center;
		background-size: 100% auto, 100% auto;
		background-repeat: no-repeat, repeat;

		position: relative;
		z-index: 0;
		border-radius: 20px;
	}

	.pkg_inner_01.is-visible,
	.pkg_inner_02.is-visible {
		position: relative;
		width: 100%;
		max-width: 751px;
		background-position: left 12.5em, center;
	}

	/* --- パッケージ用開閉ボタン共通ベース --- */
	.pkg_btn-01,
	.pkg_btn-02 {
		z-index: 1;
		position: relative;
		margin: 1.5em auto;
		background-size: contain;
		border: none;
		background-color: transparent;
		background-repeat: no-repeat;
		width: 80%;
		height: 5em;
		background-position: center;
		cursor: pointer;
	}

	/* 各種ボタンの画像切り替え背景 */
	.pkg_inner_01 .pkg_btn-01 {
		background-image: url("../img/pkg_btn_open-01.png");
	}

	.pkg_inner_02 .pkg_btn-02 {
		background-image: url("../img/pkg_btn_open-02.png");
	}

	.pkg_inner_01 .pkg_btn-01.is-clicked {
		background-image: url("../img/pkg_btn_close-01.png");
	}

	.pkg_inner_02 .pkg_btn-02.is-clicked {
		background-image: url("../img/pkg_btn_close-02.png");
	}

	/* 内蔵用のバツ印閉じるボタン */
	.pkg_btn_close {
		position: absolute;
		top: 10px;
		right: 10px;
		background: none;
		border: none;
		cursor: pointer;
		padding: 0;
	}

	.pkg_btn_close img {
		width: 30px;
		height: auto;
	}

	.pkg_att {
		color: #9C2B00;
		margin-top: 2em;
	}

	.item .max-width {
		margin: -38px auto auto;
		padding-top: 38px;
		z-index: 2;
		position: relative;
	}

	/* --- 賞品（景品）セクション --- */
	.prize .max-width {
		max-width: 1120px;
		background-color: #FCE7EC;
		background-image: repeating-linear-gradient(289deg, #fce7ec, #fce7ec 28px, #fad9e0 28px, #fad9e0 56px);
		margin: -38px auto auto;
		padding-top: 38px;
		padding-bottom: 3em;
		z-index: 2;
		position: relative;
	}

	.prize_inner {
		max-width: 750px;
		margin: auto;
	}

	.prize_img {
		width: 87%;
		max-width: 574px;
		margin-bottom: 3em;
		margin-left: -3.4%;
	}

	.prize_text {
		margin-top: -3em;
	}

	.prize_text_title {
		background-color: #9C2B00;
		width: 55%;
		margin: 2.5em auto auto;
		color: #FFF;
		font-size: 1.5em;
		border-radius: 1.1em;
		padding: 0.1em;
	}

	.prize_text_text {
    color: #9C2B00; /* 文字の色（茶色） */
    font-size: 1.8em;
    font-weight: 800;
    line-height: 0.7em;
    -webkit-text-stroke: 0.3em #FFF;
    paint-order: stroke fill;
}

	.prize_text_text span {
		font-size: 1.3em;
		font-weight: 900;
	}

	.prize_text p:nth-of-type(7) {
		color: #9C2B00;
		background-color: #FFF;
		width: 82%;
		margin: 2em auto auto;
		padding: 1em 0px;
		font-size: 1.2em;
		border: solid 2px #9C2B00;
		border-radius: 12px;
		font-weight: 500;
	}


	/* ★★★ method（応募方法）アコーディオンセクション ★★★ */
	.method {
		width: 100%;
		margin: auto;
		background-color: #FFFFE6;
		padding-bottom: 2em;
	}

	.method .step {
		width: 80%;
		max-width: 570px;
		margin: auto;
	}

	.method .step img {
		width: 100%;
	}

	.method .step p {
		font-size: 1.2em;
		font-weight: 500;
		color: #9C2B00;
	}

	.method .step p span {
		font-size: 0.9em;
		line-height: 1.3em !important;
		text-align: left;
		margin-top: 0.7em;
		display: inline-block;
	}

	.method .method_arrow {
		width: 8%;
		max-width: 60px;
		margin: 0.5em auto 2em auto;
	}

	/* 応募方法用開閉ボタン */
	.method_btn {
		background-image: url("../img/method_btn_open.png");
		width: 80%;
		height: 100px;
		background-color: transparent;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		border: none;
		cursor: pointer;
		z-index: 1;
		position: relative;
		font-size: 0;
		line-height: 0;
		text-indent: -9999px;
		transition: background-image 0.3s ease;
	}

	/* 【整理】クリックされた状態（is-clicked）をすぐ下に配置 */
	.method_btn.is-clicked {
		background-image: url("../img/method_btn_close.png");
	}

	/* 応募方法の内包アコーディオン領域 */
	.method_inner {
		width: 90%;
		max-width: 584px;
		border: solid 3px #E60044;
		border-radius: 20px;
		padding-bottom: 20px;
		box-sizing: border-box;
		margin: 2em auto;
		display: none;
		text-align: center;
		/* 初期状態は非表示 */
	}

	/* 【整理】開いた状態（is-visible）をすぐ下に配置 */
	.method_inner.is-visible {
		display: block;
	}

	.method_in_title {
		background-color: #E60044;
		margin: 0px auto 2em;
		padding: 0.1em 0px;
		font-size: 1.7em !important;
		color: #fff !important;
		border-radius: 15px 15px 0px 0px;
	}

	.method_inner p {
		font-size: 1.2em;
		color: #9C2B00;
		font-weight: 500;
	}

	.method_inner_att {
		color: #E60044 !important;
		margin: 2em auto 0px auto;
		font-size: 1.3em !important;
		font-weight: 500 !important;
	}

	.method_inner .CpFrame_flex_in {
		width: 60%;
		margin: 3em auto 0px auto;
		text-align: center;
	}
	.method_inner .CpFrame_flex_in img{
		margin: auto;
	}

	.method_inner .CpFrame_flex_in p {
		font-size: 1.25em;
		font-weight: 500;
		width: 100%;
		margin: 1em auto;
	}

	.method_inner .cpframe_att_title {
		margin-top: 2em;
		width: 85%;
	}



	/* --- レシート・注意画像セクション --- */
	.receipt {
		background-color: #FFF0F2;
		padding-bottom: 4em;
	}

	.receipt_inner {
		width: 76%;
		max-width: 575px;
		background-color: #FFF;
		margin: 1.5em auto;
		padding: 3em 0px 0.5em;
		border-radius: 15px;
	}

	.receipt_img {
		width: 95%;
		margin: auto;
		display: block;
	}

	.receipt .receipt_inner p {
		font-size: 1em;
		font-weight: 500;
		color: #9C2B00;
		margin-bottom: 2em;
	}

	.receipt_NG_title {
		font-size: 1.3em;
		color: #E60044;
		margin: 2em auto auto;
	}

	.NG_flex {
		display: flex;
		width: 85%;
		max-width: 650px;
		margin: auto auto 0px auto;
		flex-wrap: wrap;
		justify-content: space-around;
	}

	.NG_flex img {
		width: 33%;
		margin-bottom: 0.2em;
	}

	.NG_flex img:nth-of-type(5) {
		margin-bottom: 0px;
	}

	/* --- フッターエリア・応募規約遷移など --- */
	.go_btn {
		display: block;
		max-width: 400px;
		margin: 1.5em auto 0px;
	}

	.go_btn img {
		width: 100%;
	}

	footer {
		background-color: #FFF0F2;
		padding-bottom: 1.5em;
		text-align: center;
		padding-top: 2em;
		border-bottom: solid 1.5em #007130;
		padding-bottom: env(safe-area-inset-bottom);
	}

	.chara_footer {
		width: 95%;
		max-width: 584px;
		margin: auto;
	}

	.footer_in {
		width: 90%;
		max-width: 584px;
		margin: auto;
		justify-content: space-around;
		text-align: center;
	}

	.footer_in img {
		display: block;
		width: 95%;

		margin: auto;
	}

	.footer_in p {
		color: #007130;
		line-height: 0em;
		margin-top: 2em;
		font-size: 13px;
	}

	.sns_flex {
		display: flex;
		justify-content: space-around;
	}

	.sns_flex a {
		margin: 0px;
	}

	.Mlogo {
		width: 40%;
		display: block;
		margin: 0.8em auto 0.5em 0px;
	}

	.Mlogo img {
		width: 100%;
	}

	.footer_other {
		width: 90%;
		text-align: left;
	}

	.num {
		display: block;
		width: 60% !important;
		margin-left: 0px !important;
	}

}