﻿@charset "utf-8";
/*==========================================
 共通設定
===========================================*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*** Cakeのログは画面上非表示 ***/
.cake-sql-log {
	display: none;
}

/*=== mobile ===*/
.pc_none {
  display: none;
}

@media screen and (min-width: 0px) and (max-width:768px) {
.pc_none {
  display: block;
}
.sp_none {
  display: none;
}
.sp_block {
  display: block;
}
}
/*=== clearfix ===*/
.cf {
  zoom: 1;
}
.cf:before, .cf:after {
  content: "";
  display: table;
}
.cf:after {
  clear: both;
}
/*=== 構造 ===*/
body {
  font-family: メイリオ, Meiryo, "ＭＳ ゴシック", sans-serif;
  color: #222;
  line-height: 1.5;
}
/*=== スマホ　タップハイライトカラー無効化 ===*/
a, label {
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}
/*==========================================
 header
===========================================*/

/*=== キャンペーン開催中 ===*/
header {
  width: 100%;
  height: auto;
  background: url(../images/bg-header.gif) no-repeat top center;
  background-size: cover;
  text-align: center;
  padding: 44px 0;
  margin: 0 auto 52px;
}
.header-state {
  width: 100px;
  height: 100px;
  margin: 0 auto 28px;
}
.header-state {
  background: url(../images/header-state-open.png) no-repeat top center;
}
.header-state p {
  font-size: 24px;
  line-height: 1.5;
  color: #fff;
}
header h1 {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size: 60px;
  font-weight: 900;
  color: #fc5454;
  line-height: 1.2;
  text-align: center;
  text-shadow: 0 7px 0 #ffffff;
  margin: 0 auto 0;
}
header h2 {
  font-family: 'Noto Sans Japanese', sans-serif;
  font-size: 60px;
  font-weight: 900;
  color: #fc5454;
  line-height: 1.2;
  text-align: center;
  text-shadow: 0 7px 0 #ffffff;
  margin: 0 auto 28px;
}
header p {
  font-size: 18px;
  color: #2b2b2b;
  font-weight: bold;
  line-height: 1.5;
}
header h1 span {
  display: inline-block;
  font-weight: 900;
}
header h1 img {
  max-width: 940px;
  padding: 0 20px;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 768px) {
header {
  height: auto;
  padding: 44px 20px;
  margin-bottom: 1em;
}
header h1 {
  font-size: 2em;
  line-height: 1.5;
  text-shadow: 0 4px 0 #ffffff;
}
header h1 img {
  padding: 0;
}
header h2 {
  font-size: 1.5em;
  line-height: 1.5;
  text-shadow: 0 4px 0 #ffffff;
  margin-bottom: 0.5em;
}
header p {
  font-size: 16px;
}
}
/*=== キャンペーン終了 ===*/
header.close {
  width: 100%;
  height: auto;
  background: #fbfbfb;
  background-size: cover;
  text-align: center;
  padding: 44px 0;
  margin: 0 auto 52px;
}
header.close .header-state {
  width: 100px;
  height: 100px;
  margin: 0 auto 28px;
  background: url(../images/header-state-close.png) no-repeat top center;
}
header.close h1 {
  color: #7b7b7b;
  text-shadow: none;
}
/*==========================================
 campaign-info
===========================================*/
.campaign-info {
	font-size: 20px;
	width: 100%;
	max-width: 804px;
	height: auto;
	padding: 0 0 48px;
	margin: 0 auto;
	text-align: center;
}
.campaign-info p.campaign-subtitle {
	font-weight: bold;
	display: inline-block;
	margin-bottom: 0.5em;
	border-bottom: 1px solid #4a4a4a;
}
.campaign-info p {
	margin-bottom: 1em;
}
/*==========================================
 progress
===========================================*/
.progress {
  width: 100%;
  max-width: 588px;
  height: 76px;
  margin: 0 auto 40px;
}
.progress ul {
  position: relative;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-around;
  height: 64px;
  overflow: hidden;
}
.progress-step1 {
  z-index: 3;
}
.progress-step2 {
  z-index: 2;
}
.progress-step3 {
  z-index: 1;
}
.progress-step1, .progress-step2, .progress-step3, .progress-step1.active, .progress-step2.active, .progress-step3.active {
  width: 33%;
  height: 64px;
  background: #eaeaea;
  color: #6f6f6f;
  padding: 10px 0;
  position: relative;
  left: 0;
}
.progress-step1.active, .progress-step2.active, .progress-step3.active {
  background: #fc5454;
  color: #fff;
}
.progress-step1:before, .progress-step2:before, .progress-step1:after, .progress-step2:after, .progress-step1.active:before, .progress-step2.active:before, .progress-step1.active:after, .progress-step2.active:after {
  top: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(136, 183, 213, 0);
  border-width: 40px;
  margin-top: -40px;
  border-left-width: 20px;
}
.progress-step1:before, .progress-step2:before {
  left: 102%;
  border-left-color: #fff;
}
.progress-step1:after, .progress-step2:after {
  left: 100%;
  border-left-color: #eaeaea;
}
.progress-step1.active:before, .progress-step2.active:before {
  left: 102%;
  border-left-color: #fff;
}
.progress-step1.active:after, .progress-step2.active:after {
  left: 100%;
  border-left-color: #fc5454;
}
.progress-step1 p {
  display: block;
  text-align: center;
  font-size: 16px;
}
.progress-step2 p, .progress-step3 p {
  display: block;
  text-align: center;
  font-size: 16px;
  position: relative;
  left: 10px;
}
.progress-step1.active p, .progress-step2.active p, .progress-step3.active p {
  font-weight: bold;
}
.progress-step1 p span, .progress-step2 p span, .progress-step3 p span {
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
}

@media screen and (max-width: 768px) {
.campaign-info {
  font-size: 1em;
  width: 92%;
  height: auto;
}
.progress {
  width: 92%;
  height: auto;
}
}

@media screen and (max-width: 450px) {
.progress-step1 p, .progress-step2 p, .progress-step3 p, .progress-step1 p span, .progress-step2 p span, .progress-step3 p span {
  font-size: 12px;
  position: relative;
  top: 3px;
}
.progress-step2 p, .progress-step3 p {
  left: 8px;
}
.progress-step1:before, .progress-step2:before, .progress-step1:after, .progress-step2:after, .progress-step1.active:before, .progress-step2.active:before, .progress-step1.active:after, .progress-step2.active:after {
  border-left-width: 16px;
}
}
/*==========================================
 form
===========================================*/
.form-input {
  width: 100%;
  margin: 0 auto;
}
.form-input h2 {
  background: #999999;
  width: 100%;
  max-width: 900px;
  height: 60px;
  margin: 0 auto 44px;
  padding: 22px 0;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 768px) {
.form-input h2 {
  width: 100%;
  margin-bottom: 1em;
}
}
/*=== 必須、任意 ===*/
.cond {
  border-radius: 5px;
  width: 50px;
  height: 28px;
  font-size: 14px;
  color: #fff;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  padding: 8px;
  margin: 0 14px 0 0;
  line-height: 1;
}
.cond.required {
  background: #fc5454;
}
.cond.optional {
  background: #0d80ec;
}
.cond.auto {
  background: transparent;
}
@media screen and (max-width: 768px) {
.cond.auto {
  display: none;
}
}
/*お客様情報入力*/
.form-input dl {
  width: 100%;
  max-width: 654px;
  margin: 0 auto 24px;
  display: flex;
  justify-content: start;
  align-items: baseline;
}
.form-input dl dt {
  width: 100%;
  max-width: 214px;
  font-size: 18px;
}
.form-input dl dd {
  width: 100%;
  max-width: 440px;
  position: relative;
}
.form-input input[type="text"] {
  width: 404px;
  height: 56px;
  border: 1px solid #dadada;
  border-radius: 5px;
  background: #fffff1;
  font-size: 18px;
  padding: 10px 15px;
  margin: 8px auto;
}
.form-input input[type="text"].readonly {
	background: #eaeaea;
	cursor: default;
}
.form-input input[type="number"] {
    width: 100px;
    height: 56px;
    border: 1px solid #dadada;
    border-radius: 5px;
    background: #fffff1;
    font-size: 18px;
    padding: 10px 15px;
    margin: 8px auto;
}
.form-input input.input-width-half {
  width: 200px;
}
.form-input input#zip,
.form-input input#chance-zip {
  width: 170px;
  margin: 8px;
}
.add-note {
  font-size: 14px;
}
.form-input input.age,
.form-input input.w_age {
  width: 68px;
  margin: 8px 8px 8px 0;
}
label.input-age {
  position: relative;
}
label.input-age:before {
  content: "歳";
  position: relative;
  color: #222;
  font-size: 15px;
  position: absolute;
  right: -20px;
  top: 4px;
}
:placeholder-shown {
 color: #9b9b9b;
}
::-webkit-input-placeholder {
 color: #9b9b9b;
}
:-moz-placeholder {
 color: #9b9b9b;
opacity: 1;
}
::-moz-placeholder {
 color: #9b9b9b;
opacity: 1;
}
:-ms-input-placeholder {
 color: #9b9b9b;
}
.form-input label {
  cursor: pointer;
}

@media screen and (max-width: 768px) {
.form-input dl {
  width: 92%;
  display: block;
  margin: 0 auto 28px;
}
.form-input dl dt {
  width: 100%;
  font-size: 16px;
}
.form-input dl dd {
  width: 100%;
  margin: 8px 0;
}
.form-input input[type="text"] {
  width: 100%;
  height: 52px;
  font-size: 16px;
  padding: 8px 12px;
}
.form-input input.input-width-half {
  width: 48%;
}
.form-input input#zip,
.form-input input#chance-zip {
	width: 140px;
}
.form-input input.age,
.form-input input.w_age {
  width: 140px;
}
}

@media screen and (max-width: 400px) {
.form-input input.add1 {
  margin: 8px 4px 8px 8px;
}
dd.address span {
  font-size: 14px;
}
}
/*チェックボックス カスタマイズ*/
.check1-input, .check2-input {
  display: none;
}
.check1-parts, .check2-parts {
  display: inline-block;
  padding: 4px 0 0 44px;
  position: relative;
  margin: 6px 20px 6px 0;
}
.check1-parts::before, .check2-parts::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border: 3px solid #c5c5c5;
  border-radius: 4px;
  background: #fffff1;
}
.check1-input:checked + .check1-parts::after, .check2-input:checked + .check2-parts::after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 10px;
  width: 10px;
  height: 15px;
  transform: rotate(40deg);
  border-bottom: 4px solid #fc5454;
  border-right: 4px solid #fc5454;
}
/*ラジオボタン カスタマイズ*/
.radio1-input {
  display: none;
}
.radio1-parts {
  display: inline-block;
  padding: 4px 0 0 44px;
  position: relative;
  margin: 6px 20px 6px 0;
}
.radio1-parts::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border: 4px solid #c5c5c5;
  border-radius: 50%;
  background: #fffff1;
}
.radio1-input:checked + .radio1-parts::after {
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  left: 7px;
  width: 16px;
  height: 16px;
  background: #fc5454;
  border-radius: 50%;
}
/*セレクトボックス*/
.form-input select {
  width: 328px;
  height: 56px;
  border: 1px solid #dadada;
  border-radius: 5px;
  background: #fffff1;
  font-size: 18px;
  padding: 10px 15px;
  margin: 8px auto;
  cursor: pointer;
}
.select-store-ph {
  color: #9b9b9b;
}
.form-input .label-select1-wrapper {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-start;
}
.form-input .label-select1 {
  position: relative;
}
.form-input select::-ms-expand {
 display: none;
}
.form-input select.birth-year {
  width: 172px;
  margin: 8px 5px 8px 0;
}
.form-input select.birth-month, .form-input select.birth-day {
  width: 68px;
  margin: 8px 8px 8px 16px;
  padding: 10px 8px;
}
.label-select1.select-day:before {
  content: "日";
  position: relative;
  color: #222;
  font-size: 15px;
  position: absolute;
  right: -20px;
  top: 24px;
}
@media screen and (max-width: 768px) {
.label-select1.select-day:before {
  right: -14px !important;
  top: 2px !important;
}
}

/*エラー表示*/
.error {
  display: block;
  font-size: 14px;
  color: #f00;
}
/*** エラー項目の背景色 ***/
.errorItem {
	background: #ffdddd !important;
}

@media screen and (max-width: 768px) {
.form-input select {
  width: 100%;
}
.form-input .label-select1-wrapper {
  display: block;
}
.form-input select.birth-month, .form-input select.birth-day {
  margin: 8px 8px 8px 0;
}
}
@media screen and (min-width: 0px) and (max-width:460px) {
.form-input label.sp_block-style1 {
  display: block;
}
.form-input .label-select1:last-child {
  margin-left: 18px;
}
}

/*バリデート　ツールチップ*/
label#mail-error,
label#tel-error,
label#zip-error,
label#chance-tel-error,
label#chance-zip-error {
  position: absolute;
  background: #efefeb;
  font-size: 14px;
  width: 220px;
  padding: 10px 15px;
  right: -207px;
  top: 0;
  border-radius: 5px;
  box-shadow: 0px 1px 2px 0 #C1BCB9;
  z-index: 10000;
  line-height: 22px;
  cursor: default;
}
label#age-error,
label#chance-age-error {
  position: absolute;
  background: #efefeb;
  font-size: 14px;
  width: 240px;
  padding: 10px 15px;
  right: -290px;
  top: -23px;
  border-radius: 5px;
  box-shadow: 0px 1px 2px 0 #C1BCB9;
  z-index: 10000;
  line-height: 22px;
  cursor: default;
}
label#birth-day-error {
  position: absolute;
  background: #efefeb;
  font-size: 14px;
  width: auto;
  padding: 10px 15px;
  right: -250px;
  top: 15px;
  border-radius: 5px;
  box-shadow: 0px 1px 2px 0 #C1BCB9;
  z-index: 10000;
  line-height: 22px;
  cursor: default;
}
label#mail-error:before,
label#tel-error:before,
label#zip-error:before,
label#chance-tel-error:before,
label#chance-zip-error:before {
  content: '';
  position: absolute;
  top: 30px;
  left: -14px;
  border-top: solid 7px transparent;
  border-bottom: solid 7px transparent;
  border-right: solid 13px #efefeb;
}
label#age-error:before,
label#chance-age-error:before {
  content: '';
  position: absolute;
  top: 26px;
  left: -14px;
  border-top: solid 7px transparent;
  border-bottom: solid 7px transparent;
  border-right: solid 13px #efefeb;
}
label#birth-day-error:before {
  content: '';
  position: absolute;
  top: 16px;
  left: -14px;
  border-top: solid 7px transparent;
  border-bottom: solid 7px transparent;
  border-right: solid 13px #efefeb;
}
@media screen and (max-width: 768px) {
label#mail-error,
label#age-error,
label#tel-error,
label#zip-error,
label#chance-age-error,
label#chance-tel-error,
label#chance-zip-error,
label#birth-day-error {
  position: static;
  display: block;
  width: 100%;
}
label#birth-day-error:before,
label#mail-error:before,
label#age-error:before,
label#tel-error:before,
label#zip-error:before,
label#chance-tel-error:before,
label#chance-age-error:before,
label#chance-zip-error:before,
label#birth-day-error:before {
  display: none;
}
}

/*Wチャンス*/
dl.double_chance {
  display: block;
  text-align: left;
  margin: 48px auto 40px;
}
dl.double_chance dt {
  width: 100%;
}
dl.double_chance dd {
  width: 100%;
}
dl.double_chance dd p {
  font-size: 15px;
}
/*Wチャンス　非表示部分*/
.double_chance-hide {
  display: none;
  width: 664px;
  height: auto;
  border: 1px solid #dadada;
  border-radius: 5px;
  background-color: #fafafa;
  margin: 0 auto 44px;
  padding: 0;
}
.double_chance-hide h3 {
  background: #999999;
  height: 60px;
  margin: 0 auto;
  padding: 22px 0;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1;
}
.double_chance-hide-inner {
  padding: 20px 20px 0px 20px;
}
.double_chance-hide2 {
  display: none;
  margin-top: 12px;
}

@media screen and (max-width: 768px) {
.double_chance-hide {
  display: none;
  width: 92%;
}
.double_chance-hide h3 {
  height: auto;
  font-size: 16px;
  line-height: 1.4;
  padding: 16px;
}
.double_chance-hide-inner {
  padding: 20px 10px 0px 10px;
}
}

@media screen and (max-width: 400px) {
.double_chance-hide2 .add1 {
  width: 116px !important;
  padding: 8px !important;
}
.double_chance-hide2 span {
  font-size: 12px;
  position: relative;
  left: -2px;
}
}
/*希望賞品入力*/
.prize {
  border: 1px solid #dadada;
  border-radius: 10px;
  background: #fafafa;
  width: 100%;
  max-width: 804px;
  height: auto;
  padding: 48px 28px;
  margin: 0 auto;
}
.prize hr {
  border-top: 1px dashed #c1c1c1;
  margin: 20px 0;
}
.prize label {
  display: block;
}
.prize-txt {
  text-align: center;
  margin: 0 0 16px 0;
}
.prize-name {
  text-align: center;
  margin: 0 0 20px 0;
}
.prize-name p {
  color: #4a4a4a;
  font-size: 20px;
  font-weight: bold;
  display: inline-block;
  border-bottom: 1px solid #4a4a4a;
  padding-bottom: 4px;
}
.prize-name span {
  font-size: 16px;
  font-weight: bold;
  margin-left: 8px;
  display: inline-block;
}
.subprize {
  margin: 40px auto;
  text-align: center;
  width: 100%;
  max-width: 804px;
}
.subprize-name p {
  color: #4a4a4a;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  border-bottom: 1px solid #4a4a4a;
  margin-bottom: 12px;
}

@media screen and (max-width: 768px) {
.prize {
  width: 92%;
  padding: 1em;
}
.prize-txt {
  width: 88%;
  margin: 0 auto 16px;
}
.prize-name p {
  font-size: 18px;
}
.subprize {
  width: 88%;
}
}
/*備考をtableタグで記載する場合用*/
.remark-table {
	margin: 0 auto;
	text-align: center;
	font-size: 16px;
}
.remark-table.right {
	text-align: right;
}
.remark-table td {
	padding: 0 0.5em;
}
.remark-table td.left {
	text-align: left;
}
.remark-table td.right {
	text-align: right;
}
/*キャンペーン参加規約*/
.agreement {
  background: url(../images/bg-agreement.gif);
}
.agreement-inner {
  width: 790px;
  margin: 0 auto;
  padding: 56px 0;
}
.agreement-inner h3 {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  text-align: left;
  margin-bottom: 8px;
}
.agreement-txt {
  width: 790px;
  height: 296px;
  overflow: auto;
  border: 3px solid #dadada;
  padding: 16px 14px;
  background: #fff;
  margin: 0 0 32px 0;
}
.agreement-txt p {
  font-size: 16px;
}
.agreement-label-wrapper {
  text-align: center;
}
.agreement-label-wrapper span {
  color: #fff;
}
.agreement-label-wrapper span.error {
  color: #f09090;
}

@media screen and (max-width: 768px) {
.agreement-inner {
  width: 92%;
  padding: 1em 0 3em;
}
.agreement-inner h3 {
  font-size: 18px;
}
.agreement-txt {
  width: 100%;
}
}
/*dm*/
.dm {
  margin: 88px auto 0;
  text-align: center;
}
.dm-label-wrapper {
  text-align: center;
  margin: 16px 0 0 0;
}

@media screen and (max-width: 768px) {
.dm {
  width: 88%;
  margin: 2em auto 0;
}
}
/*送信ボタン*/
.send {
  text-align: center;
  margin: 60px 0 84px 0
}
.send button {
  width: 320px;
  height: 64px;
  background: #fc5454;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  border: none;
  border-radius: 8px;
  line-height: 1;
  cursor: pointer;
  transition: all .3s;
  color: #fff;
}
.send button:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
.send {
  margin: 3em auto 5em;
}
.send button {
  width: 80%;
  max-width: 320px;
}
}
/*==========================================
 確認画面
===========================================*/
.form-confirm {
  width: 100%;
  margin: 0 auto;
}
.form-confirm h2 {
  background: #999999;
  width: 900px;
  height: 60px;
  margin: 0 auto 44px;
  padding: 22px 0;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1;
}
.form-confirm dl {
  width: 670px;
  margin: 0 auto;
  padding: 18px 0;
  display: flex;
  justify-content: start;
  align-items: center;
  border-bottom: 1px dashed #c1c1c1;
}
.form-confirm dl:last-of-type {
  border-bottom: none;
  margin-bottom: 68px;
}
.form-confirm dl dt {
  width: 200px;
  font-size: 18px;
  margin-right: 44px;
}
.form-confirm dl dd {
  width: 470px;
}
.form-confirm dl dt span.mark-chance {
  border-radius: 8px;
  background: #fd9b9b;
  width: 70px;
  height: 22px;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 6px;
  margin-right: 10px;
  position: relative;
  top: -3px;
}
.form-confirm .send {
  width: 520px;
  margin: 0px auto 84px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.send a {
  color: #3b82e2;
  transition: all .3s;
  text-decoration: underline;
  cursor: pointer;
}
.form-confirm .send button {
  color: #fff;
}
.send a:hover {
  opacity: 0.7;
}
.send a.sp_block-style2 {
  display: none;
}

@media screen and (max-width: 768px) {
.form-confirm h2 {
  background: #999999;
  width: 100%;
  height: 60px;
  margin: 0 auto 44px;
  padding: 22px 0;
  color: #fff;
  font-size: 20px;
  text-align: center;
  line-height: 1;
}
.form-confirm dl {
  width: 92%;
}
.form-confirm dl dt span {
  display: inline-block;
  font-weight: bold;
}
.form-confirm .send {
  width: 88%;
  justify-content: space-evenly;
  align-items: center;
}
.send a {
  margin-right: 20px;
}
}

@media screen and (max-width: 690px) {
.form-confirm dl dt span.mark-chance-txt {
  display: block;
}
}

@media screen and (max-width: 600px) {
.form-confirm .send {
  display: block;
}
.send a.sp_none-style1 {
  display: none;
}
.send a.sp_block-style2 {
  display: block;
  margin-top: 44px;
}
}

@media screen and (max-width: 460px) {
.form-confirm dl {
  display: block;
}
.form-confirm dl dt {
  width: 100%;
  font-weight: bold;
  color: #4a4a4a;
  margin-bottom: 8px;
}
.form-confirm dl dd {
  width: 100%;
}
.form-confirm dl dt span.mark-chance-txt {
  display: inline-block;
}
}
/*==========================================
 完了画面
===========================================*/
.form-finish {
  width: 100%;
  margin: 0 auto;
}
.form-finish-inner {
  width: 960px;
  margin: 0 auto;
  text-align: center;
}
.form-finish-inner h2 {
  font-size: 32px;
  margin: 88px auto 48px;
}
.form-finish-inner p {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 148px;
}

@media screen and (max-width: 768px) {
.form-finish-inner {
  width: 88%;
}
.form-finish-inner h2 {
  font-size: 28px;
}
}
/*==========================================
 キャンペーン終了
===========================================*/
.form-close {
  width: 100%;
  margin: 0 auto;
}
.form-close-inner {
  width: 960px;
  margin: 0 auto;
  text-align: center;
}

.form-close-inner p {
  font-size: 18px;
  line-height: 1.5;
  margin: 60px auto 80px;
}
.form-close-inner a {
  color: #3b82e2;
  transition: all .3s;
  margin-bottom: 148px;
  display: inline-block;
}
.form-close-inner a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
.form-close-inner {
  width: 88%;
}
}
/*==========================================
 footer
===========================================*/
footer {
  width: 100%;
  max-width: 900px;
  height: 40px;
  margin: 0 auto;
  padding: 12px 0;
  border-top: 1px solid #000;
  line-height: 1;
}
footer p {
  text-align: right;
}
footer p a {
  text-decoration: none;
  color: #eaeaea;
  font-size: 14px;
}
footer p a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
footer {
  width: 92%;
}
}

/*==========================================
 terms
===========================================*/
.p-terms .agreement-txt {
	height: unset;
}

/*==========================================
 receipt
===========================================*/
.p-receipt .warning {
	font-weight: bold;
	color: #f00;
}
.p-receipt #preview {
	max-width: 400px;
	text-align: center;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
.p-receipt #preview {
	max-width: 90%;
}
}

.p-receipt #preview img {
	width: 100%;
	height: auto;
}

.p-receipt .upload-label-wrapper {
  width: 320px;
  margin: 0 auto;
}
.p-receipt .upload-label {
  user-select: none;
  display: table-cell;
  width: 320px;
  height: 64px;
  background: #fc5454;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 2px;
  border: none;
  border-radius: 8px;
  line-height: 1;
  cursor: pointer;
  transition: all .3s;
  color: #fff;
  text-align: center;
  vertical-align: middle;
}
.p-receipt .upload-label:hover {
  opacity: 0.7;
}

@media screen and (max-width: 768px) {
.p-receipt .upload-label-wrapper {
  width: 80%;
  max-width: 320px;
}
}

.accordion {
  width: 900px;
  text-align: center;
  margin: 1em auto 0;
}
@media screen and (max-width: 768px) {
.accordion {
  width: 90%;
}
}
.accordion_header p{
  color: #3b82e2;
  transition: all .3s;
  text-decoration: underline;
  cursor: pointer;
}
.accordion .box {
	text-align: left;
	padding: 2em;
	border: solid 1px #999999;
	background: #eaeaea;
}
.accordion .box h3 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 0.5em;
}
.accordion .box ul {
	margin-bottom: 1em;
}
.accordion .box li {
	list-style-type: disc;
	margin-left: 1.5em;
}
.accordion .box .receipt_image ul {
	display: inline-block;
	width: 100%;
	margin-bottom: 0;
}
.accordion .box .receipt_image li {
	list-style: none;
	float: left;
	width: 25%;
	text-align: center;
	margin: 0;
	padding: 1em;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.accordion .box .receipt_image li {
		width: 50%;
	}
}
.accordion .box img {
	width: 100%;
	height: auto;
}
