* {
	font-family: "M PLUS 1p";
}
body {
	margin: 0;
	padding: 0;
}
#use-coupon {
	background-repeat: no-repeat;
	background-size: contain;
}
#use-coupon * {
	box-sizing: border-box;
	font-size: 0.9rem;
}
.message {
	display: flex;
	text-align: center;
	margin: 32px auto;
	font-weight: 800;
}
.message hr {
	width: 30%;
	border: none;
}
.message hr.right:before {
	content: "";
	display: block;
	height: 2px;
	background: linear-gradient(90deg,#cc9933,rgba(255,255,255,0));
}
.message hr.left:before {
	content: "";
	display: block;
	height: 2px;
	background: linear-gradient(90deg,rgba(255,255,255,0),#cc9933);
}
.message span {
	width: 60%;
}
form {
	width: 100%;
	text-align: center;
}
input {
	padding: 12px;
}

/**
 * クーポン利用ボタン（入力あり）
 */
.submit-btn {
	position: relative;
	width: 30%;
	margin-left: 8px;
	margin-right: 8px;
}
.submit-btn:before {
	content: "スタッフが押します";
	font-size: 0.6rem;
	position: absolute;
	bottom: 0.5rem;
	right: 0;
	left: 0;
}
.submit-btn span {
	position: absolute;
	top: 0.5rem;
	left: 0;
	right: 0;
}
.submit-btn input[type=submit] {
	border: 2px solid #fff;
	border-radius: 5px;
	width: 100%;
	background: #f0c990;
}

/**
 * クーポン利用ボタン（ボタンのみ）
 */
.submit-btn.only {
	position: relative;
	width: 80%;
}
.submit-btn.only span {
	position: absolute;
	top: 0.9rem;
	left: 0;
	right: 0;
	font-weight: 600;
}
.submit-btn.only:before {
	content: "";
}

input[type=text] {
	display: block;
	width: 53%;
	margin-right: 12px;
	border-radius: 5px;
	border: 2px solid #999;
}
.error {
	text-align: center;
	margin-top: 32px;
	color: #ff3c3c;
	padding: 8px 12px;
    border: 1px solid #ff3c3c;
    width: 90%;
    margin: 24px auto;
}
.part-01 {
	display: block;
	width: 90%;
	margin: 24px auto;
	padding: 8px 12px;
	text-align: center;
	color: #fff;
}
.limit-box {
	text-align: center;
}
.limit-dt {
	display: flex;
	justify-content: center;
	margin-top: 32px;
}
.limit-dt .title {
	width: 5rem;
	margin-right: 8px;
}
.limit-dt span {
	display: block;
	margin: 0 12px;
}
.limit-dt dl {
	margin: 0;
}
.limit-dt dl dt {
	text-align: left;
}
.limit-dt dl dd {
	text-align: right;
	font-size: 0.7rem !important;
}


.coupon-img img {
	width: 100%;
	margin-bottom: 24px;
}

.store-list {
	margin-bottom: 18px;
}
.store-list h3 {
	text-align: center;
}
.store-list ul {
	list-style-type: none;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
}
.store-list ul li {
	padding: 4px 8px;
}


.flex-box {
	display: flex;
	justify-content: center;
	align-items: center;
}
.annotation {
	width: 96%;
	font-size: 0.8rem;
	padding: 8px;
	text-align: left;
	margin: 18px auto;
	line-height: 1.15rem;
}
footer {
	text-align: center;
	font-size: 0.8rem;
	margin-top: 32px;
	padding-bottom: 48px;
}

#complete-area {
	padding-top: 24px;
}
#complete-area p {
	text-align: center;
	color: #654937;
	font-size: 1.2rem;
	font-weight: 600;
}
#complete-area img {
	margin-top: 24px;
	margin-bottom: 24px;
}


#error-page {
	font-size: 0.8rem;
	padding: 24px;
	background: linear-gradient(-30deg, #ffce93, #fff);
}
#error-page .box {
	position: relative;
	top: 1rem;
}
#error-page .inn {
	display: flex;
	align-items: end;
}
#error-page h2 {
	font-size: 2.5rem;
	display: block;
	text-align: center;
	margin: 0;
	padding: 6px;
	color: #ee732d;
}
#error-page p {
	text-align: left;
	padding: 6px;
	color: #ee732d;
}
#error-page ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#error-page ul li {
	padding: 6px;
	line-height: 1.3rem;
	color: #666;
}




/*-----------------------------------------------------
  クーポンページ（SP-Master）
-------------------------------------------------------*/
/*
  Common
---------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@1,300&display=swap');
.sp-coupon.el-spmst {
	box-sizing: border-box;
	min-height: 100vh;
	padding-top: 32px;
	position: relative;
}
.sp-coupon.el-index {
	padding-bottom: ;
}
.sp-coupon.el-spmst * {
	box-sizing: border-box;
	font-family: 'Noto Sans JP', sans-serif !important;
	font-weight: 300;
	margin: 0;
	padding: 0;
}
.sp-coupon.el-spmst ::placeholder {
	color: rgba(0, 0, 0, .3);
}
.sp-coupon.el-spmst input {
	appearance: none;
	-webkit-appearance: none;
}

/* タイトル */
.sp-coupon.el-spmst .message {
	margin: 0 auto 12px;
	text-align: center;
}
.sp-coupon.el-spmst .message span {
	color: rgba(255, 147, 33, 1);
	display: block;
	font-size: 17px;
	font-weight: bold;
	text-align: center;
	width: 100%;
}
.sp-coupon.el-spmst .message hr {
	display: none;
}

/* 有効期限 */
.sp-coupon.el-spmst .limit-box {
	margin-bottom: 16px;
}
.sp-coupon.el-spmst .limit-dt {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0;
}
.sp-coupon.el-spmst .limit-box .title {
	font-size: 12px !important;
	margin: 0;
	width: fit-content;
}
.sp-coupon.el-spmst .limit-box dl {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.sp-coupon.el-spmst .limit-box dt {
	font-size: 12px !important;
	font-weight: 500;
	margin-right: 4px;
}
.sp-coupon.el-spmst .limit-box dd {
	font-size: ;
	margin: 0;
	text-align: left;
}
.sp-coupon.el-spmst .limit-dt span {
	margin: 0 4px;
}

/* メッセージ */
.sp-coupon.el-spmst .c-note {
	background: rgba(255, 206, 46, 1);
	font-size: 13px !important;
	margin-bottom: 16px;
	padding: 13px 0;
	text-align: center;
}

/* 画像 */
.sp-coupon.el-spmst .coupon-img {
	margin-bottom: 16px;
	width: 100%;
}
.sp-coupon.el-spmst .coupon-img img {
	display: block;
	margin: 0 auto;
	width: 100%;
	/* 画像を原寸で表示する場合 */
	/* width: auto; */
}

/* エラーメッセージ */
.sp-coupon.el-spmst .error {
	background: rgba(255, 147, 33, 1);
	border: none;
	color: rgba(255, 255, 255, 1);
	font-size: 12px !important;
	font-weight: 500;
	margin-bottom: 16px;
	padding: 1em 25px;
	text-align: center;
	width: 100%;
}

/* コード入力 */
.sp-coupon.el-spmst .p-block_input {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	margin-bottom: 20px;
	padding: 0 25px;
}
.sp-coupon.el-spmst .p-block_input input[type=text] {
	background: rgba(255, 255, 255, 3);
	border: 1px solid rgba(0, 0, 0, .5);
	border-radius: 4px;
	height: 50px;
	font-size: 14px !important;
	padding: 0 1em;
	width: 54%;
}
.sp-coupon.el-spmst .p-block_input .submit-btn {
	align-items: center;
	background: rgba(216, 47, 17, 1);
	border: rgba(255, 37, 2, 1);
	border-radius: 4px;
	color: rgba(255, 255, 255, 1);
	display: inline-flex;
	flex-wrap: nowrap;
	font-size: 15px;
	font-weight: 500;
	height: 50px;
	justify-content: center;
	width: 40%;
}
.sp-coupon.el-spmst .p-block_input input[type=submit] {
	background: transparent;
	border: none;
	color: rgba(255, 255, 255, 1);
	font-size: 15px;
	font-weight: 500;
	transform: translateY(-7px);
}
.sp-coupon.el-spmst .p-block_input .submit-btn::before {
	content: "スタッフが押します";
	font-size: 0.6em;
	left: 0;
	position: absolute;
	right: 0;
	bottom: 8px;
}

/* SNSシェア */
.sp-coupon.el-spmst .friend-introduction {
	margin-bottom: 16px;
	padding: 0 25px;
	width: 100%;
}
.sp-coupon.el-spmst .friend-introduction .l-inner {
	align-items: center;
	border: 1px dashed rgba(0, 0, 0, .18);
	border-radius: 4px;
	display: flex;
	height: 50px;
	justify-content: center;
	width: 100%;
}
.sp-coupon.el-spmst .friend-introduction .c-btn_sns.el-line {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	height: 100%;
	text-decoration: none;
}
.sp-coupon.el-spmst .friend-introduction .c-btn_sns.el-line img {
	margin-right: 13px;
	width: 34px;
}
.sp-coupon.el-spmst .friend-introduction .c-btn_sns.el-line span {
	color: rgba(6, 199, 85, 1);
	font-size: 14px;
	font-weight: 500;
}

/* ご利用可能店舗 */
.sp-coupon.el-spmst .store-list {
	margin-bottom: 21px;
}
.sp-coupon.el-spmst .store-list h3 {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	font-size: 12px !important;
	font-weight: 500;
	justify-content: flex-start;
	margin-bottom: 6px;
	padding: 0 25px;
}
.sp-coupon.el-spmst .store-list h3 img {
	margin-right: 5px;
	width: 15px;
}
.sp-coupon.el-spmst .store-list .annotation {
	font-size: 11.5px !important;
	line-height: 1.6;
	padding: 0 25px;
}

/* フッター */
.sp-coupon.el-spmst footer,
#sp-error-page footer {
	background: rgba(255, 206, 46, 1);
	bottom: 0;
	box-sizing: border-box;
	margin-top: 0;
	padding: 21px 25px 40px;
	position: absolute;
	width: 100%;
}
.sp-coupon.el-spmst footer .text-annotation {
	font-size: 11.5px !important;
	line-height: 1.4;
	margin-bottom: 40px;
}
.sp-coupon.el-spmst footer small,
#sp-error-page footer small {
	color: rgba(255, 255, 255, 1);
	font-family: 'Roboto', sans-serif;
	font-size: 13px !important;
	text-align: center;
	width: 100$;
}

/*
  guide
---------------------------------*/
#complete-area.sp-coupon {
	padding-top: 32px;
}
.sp-coupon.el-spmst .submit-btn.only {
	margin: 0 auto 16px;
	padding: 0 25px;
	width: 100%;
}
.sp-coupon.el-spmst .submit-btn.el-get {
	align-items: center;
	background: rgba(216, 47, 17, 1);
	border: rgba(255, 37, 2, 1);
	border-radius: 4px;
	color: rgba(255, 255, 255, 1);
	display: inline-flex;
	flex-wrap: nowrap;
	font-size: 15px;
	font-weight: 500;
	height: 50px;
	justify-content: center;
	width: 100%;
}
.sp-coupon.el-spmst .submit-btn.el-get.el-disabled {
	background: rgba(0, 0, 0, .15);
}
.sp-coupon.el-spmst .submit-btn.el-get span {
	color: rgba(255, 255, 255, 1);
	font-size: 15px;
	font-weight: 500;
	text-align: center;
}
.sp-coupon.el-spmst .submit-btn.el-get::before {
	display: none;
}
.sp-coupon.el-spmst .submit-btn.el-get input[type=submit] {
	background: transparent;
	border: none;
}

/*
  complete
---------------------------------*/
#complete-area.sp-coupon .store-list img {
	margin: 0;
}
#complete-area.sp-coupon p.annotation {
	color: rgba(0,0,0,1);
	font-size: 11.5px;
	font-weight: 300;
	text-align: left;
}
#complete-area.sp-coupon footer {
	padding: 40px 25px;
}


/*
  404
---------------------------------*/
#sp-error-page .c-title {
	color: rgba(255, 147, 33, 1);
	font-family: 'Roboto', sans-serif;
	padding-top: 80px;
	text-align: center;
}
#sp-error-page .c-title h2 {
	font-size: 61px;
	font-weight: bold;
	margin: 0 0 16px;
}
#sp-error-page .c-title .c-note_em {
	display: block;
	font-size: 20px;
	margin-bottom: 35px;
}
#sp-error-page .c-title .c-note_large {
	font-family: 'Noto Sans JP', sans-serif !important;
	font-size: 17px;
	font-weight: 500;
	margin-bottom: 42px;
}
#sp-error-page .c-detail {
	font-family: 'Noto Sans JP', sans-serif !important;
}
#sp-error-page .c-detail .c-note_ja {
	font-size: 12px;
	line-height: 1.6;
	padding: 0 25px;
}




