@charset "UTF-8";

/*-----------------------------------------*/
/* reset
/*-----------------------------------------*/
html {
  font-size: 62.5%;
}

h1, h2, h3, p, dl, dt, dd {
    margin: 0;
    padding: 0;
}

ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

img {vertical-align: top;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

label {
	cursor: pointer;
	margin-bottom: 10px;
}

textarea, input, select {
    border: 1px solid #ccc;
    padding: 2px;
}

hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

*, *: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;
}


/*-----------------------------------------*/
/* layout
/*-----------------------------------------*/
body{
 font-family: Verdana, Roboto, 'Droid Sans', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
 font-size: 1.6rem;
 line-height: 1.6;
 color: #333;
 background-color:#E50012;
}

img{
	width: auto;
	max-width: 100%;
}

#wrapper {
	padding: 0 0 64px;
}

.textIndent{
	padding-left: 1em;
	text-indent: -1em;
}


.pcNone{display: none !important;}
@media screen and (max-width:600px) {
	.pcNone{display: block !important;}
}

/*----------------------------*/
/*ボタン
/*----------------------------*/

.btn {
	position: relative;
	text-align: center;
	display: block;
	color: #ffffff;
	background-color: white;
	padding: 15px 40px;
	text-decoration: none;
	line-height: 1.0;
	vertical-align: middle;
	box-sizing: border-box;
	border-radius: 4px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #d0c8c8;
	text-shadow: 0 1px 1px rgba(0, 0, 0, 0.4);
	margin: auto;
}

.btn input {
	cursor: pointer;
	color: #fff;
	line-height: 1.0;
	border: none;
	padding: 0;
	background: transparent;
}

.btn:hover {
	top: -4px;
	box-shadow: 0 7px 0 #d0c8c8;
}
.btn:active {
	top: 3px;
	box-shadow: none;
}

.btn:before {
	position: absolute;
	content: "";
	vertical-align: middle;
	right: 32px;
	top: 50%;
	margin-top: -8px;
	width: 16px;
	height: 16px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);

}
.btn.btn_entry {
	background-color: #E60012;
	border-radius: 50px;
	font-weight: bold;
	font-size: 2.6rem;
	font-kerning: normal;
	letter-spacing: 0.1em;
	box-shadow: 0 3px 0 #9a000c;
	cursor: pointer;
}
.btn.btn_entry:hover {
	top: -4px;
	color: #E60012 !important;
	background-color: #FFF100;
	box-shadow: 0 7px 0 #b3a900;
}
.btn.btn_entry:hover input{color: #E60012;}
.btn.btn_entry:hover:before {
	color: #E60012;
	border-color: #E60012;
}
.btn.btn_entry:active {
	top: 4px;
	box-shadow: none;
}

.btn.btn_entry:before {right: 32px;}
.btn.btn_entry input {
	font-weight: bold;
	font-size: 2.6rem;
	font-kerning: normal;
	letter-spacing: 0.1em;
}
.btn.btn_entry input:hover {
	color: #E60012;
}

.btn.btn_back {
	background-color: #9a9a9a;
	border-radius: 50px;
	font-weight: bold;
	font-size: 2.6rem;
	font-kerning: normal;
	letter-spacing: 0.1em;
}
.btn.btn_back:before {
	left: 32px;
	margin-top: -8px;
	-webkit-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.btn.btn_back input {
	font-weight: bold;
	font-size: 2.6rem;
	font-kerning: normal;
	letter-spacing: 0.1em;
}

/*ボタン横並び2*/
.btnWrap.column2{
	text-align: center;
}

.btnWrap.column2{
	display: flex;
	display: -webkit-flex;
	width: 100%;
}
.btnWrap.column2 li{
	width: 50%;
	padding: 0 16px;
}

@media screen and (max-width:600px) {
	.btnWrap.column2 {
		display: block;
		padding-bottom: 16px;
	}
	.btnWrap.column2 li{
		width: 100%;
		margin: 16px 0 0;
	}
}

/*-----------------------------------------*/
/* header
/*-----------------------------------------*/
#headerWrap {
	background-repeat: no-repeat;
	background-size: cover;
}
#header{
	max-width: 980px;
	margin: 0 auto;
	padding-bottom: 10px;
}
#header h1{
 margin-bottom: 10px;
}
#header .Header-notes {
  text-align: center;
  font-weight: bold;
  border-radius: 100px;
  font-size: 2.4rem;
  color: #fff;
  width: 980px;
  max-width: 100%;
  margin: 0 auto 10px;
}

@media screen and (max-width:600px) {
	#header{
	padding: 0 10px 10px;
	box-sizing: border-box;
	}
	#header .Header-notes {
		margin: 0 auto 20px;
		font-size: 1.5rem; padding: 0 12px;
	}
}


/*--------------------------------------------*/
/* box
/*--------------------------------------------*/
.contentsBox{
	max-width: 980px;
	margin: 0 auto;
	background: #fff;
	padding: 24px 20px 20px;
	border-radius: 20px;
}

.contentsBox.red{
 background-color: #003894;
}

.boxWhite{
	width: 100%;
	background: #fff;
	padding: 20px 20px 40px;
}

@media screen and (max-width:600px) {
	.contentsBox{
		padding: 12px;
		margin: 0 12px;
	}
	.boxWhite{
		padding: 12px;
	}
}


/*--------------------------------------------*/
/* 表組みレイアウト
/*--------------------------------------------*/
.tableLayout{
	width: 100%;
	border: 1px solid #E60012;
}

.tableLayout th{
	width: 240px;
	text-align: left;
	padding: 16px;
	background: #f3f1f1;
	border: 1px solid #E60012;
}

.tableLayout td{
	padding: 16px;
	border: 1px solid #E60012;
}

.tableLayout td label{padding: 0 8px 0 4px;}
.tableLayout td input[type="text"]{
	width: 100%;
	height: 30px;
	padding: 4px;
	vertical-align: middle;
}
.tableLayout td input[type="radio"]{
	vertical-align: -2px;
	margin-right:0.5rem;
}
.tableLayout td input[type="checkbox"]{
	margin-right:0.5rem;
}
.tableLayout td div:not(:first-child){padding-top: 12px;}
.tableLayout td .careTxt{color: #717171; font-size: 1.5rem;}

.tableLayout td.name input{width: 240px;}

.tableLayout td.zip input,
.tableLayout td.age input,
.tableLayout td.tel input{width: 70px;}
.tableLayout td.zip button{
	display: inline-block;
	height: 32px;
	line-height: 32px;
	padding: 0 8px;
	background: #000;
	text-align: center;
	color: #fff;
	font-size: 1.4rem;
	margin-left: 8px;
}


.tableLayout td.sex ul li{
	display: inline-block;
	width: 100px;
}
.tableLayout td.sex ul li label{
	padding-left: 8px;
}
.tableLayout th span{
	display: inline-block;
	width: 40px;
	height: 24px;
	line-height: 24px;
	text-align: center;
	color: #fff;
	font-size: 1.2rem;
	font-weight: bold;
}
.tableLayout th span.require{
	background: #E60012;
	margin-left:1rem;
}

.tableLayout th span.any{
	background:#0b7c10;
	padding: 0;
	text-indent: 0;
	margin-left:1rem;
}

#err{
	color: #E60012;
	font-size: 1.3rem;
}

@media screen and (max-width:600px) {
	.tableLayout{border-bottom: none;}
	.tableLayout tr,
	.tableLayout th,
	.tableLayout td{
		width: 100%;
		display: block;
		border: none;
	}
	.tableLayout th,
	.tableLayout td{
		border-bottom: 1px solid #E60012;
	}
	.tableLayout td.name input{width: 90%;}
	.tableLayout td .careTxt{
		display: block;
		font-size: 1.3rem;
	}
	.tableLayout td.zip input,
	.tableLayout td.age input,
	.tableLayout td.tel input{margin-bottom: 4px;}
	.tableLayout td label{font-size: 1.4rem;}
	.tableLayout td.zip button{
		width: 100%;
		margin: 8px 0;
	}
}

/*--------------------------------------------*/
/* leadTitle & leadTxt
/*--------------------------------------------*/
h2.leadTitle{
	font-size: 2.8rem;
	color: #fff;
	text-align: center;
	margin-bottom: 5px;
}

.leadTxt{
 font-size: 2rem;
 font-weight: bold;
 text-align: center;
 color: #003894;
 background: #fff;
 border-radius: 25px;
 padding: 6px 16px;
 margin-bottom: 24px;
}
.leadTxt span.small{font-size: 1.3rem;}


.leadBox{
	padding: 14px;
	background: #f3f1f1;
	margin-bottom: 16px;
}

.leadBox h3{
	font-size: 2.2rem;
	font-weight: bold;
}
@media screen and (max-width:600px) {
	h2.leadTitle{font-size: 2rem;}
	.leadTxt{font-size: 1.6rem; margin-bottom: 12px;}
	.leadBox{padding: 10px;}
	.leadBox h3{font-size: 1.8rem;}
}


/*--------------------------------------------*/
/* マーク関係
/*--------------------------------------------*/
.mark{position: relative;}
.mark::before{
	display: block;
	content: "";
	position: absolute;
}

.square{
	padding-left: 26px;
}
.square::before{
	width: 20px;
	height: 20px;
	border: 5px solid #E60012;
	top:7px;
	left:0;
}


@media screen and (max-width:600px) {
	.square::before{
		width: 16px;
		height: 16px;
		border: 4px solid #E60012;
		top:7px;
		left:0;
	}
}

/*--------------------------------------------*/
/* フォーム入力部分
/*--------------------------------------------*/
.receiptTitle p{
	padding-left: 26px;
}

/*--レシート入力画面--*/
.receiptInput{
	font-size: 0;
}
.receiptInput:not(:first-child){
	padding-top: 16px;
}
.receiptInput dl{
	display: inline-block;
	width: 168px;
	font-size: 1.4rem;
	margin: 0 8px 8px 0;
	vertical-align: top;
}

.receiptInput dl.totalLast{
	margin-right: 0;
	width: 196px;
}
.receiptInput dl.totalLast input{
	width: 140px;
	margin-right: 4px;
}
.receiptInput dl dt{
	position: relative;
	padding-left: 20px;
	min-height: 42px;
}

.receiptInput dl dt::before{
	display: block;
	content: "1";
	position: absolute;
	width: 16px;
	height: 16px;
	font-size: 1.2rem;
	line-height: 16px;
	color: #fff;
	text-align: center;
	border-radius: 25px;
	background: #E60012;
	top: 2px;
	left: 0;
}

.receiptInput dl:nth-child(2) dt::before{content: "2";}
.receiptInput dl:nth-child(3) dt::before{content: "3";}
.receiptInput dl:nth-child(4) dt::before{content: "4";}
.receiptInput dl:nth-child(5) dt::before{content: "5";}
.receiptInput dl dt span{
	font-size: 1.0rem;
	display: block;
	text-indent: -20px;
}


.receiptInput dl dd input,
.receiptInput dl dd select{
	width: 100%;
	height: 36px;
	padding: 4px;
}

.receiptInput dl dd .receipt-remove{
	display: inline-block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	color: #fff;
	font-weight: bold;
	border-radius: 25px;
	background: #E60012;
	margin-left: 6px;
}

.btnWrap.add{
	text-align: center;
	padding: 24px 0;
}

.btnWrap.add p{
	font-size: 1.2rem;
	color: #E60012;
	padding: 10px;
}

span.prefix_char{
	margin-right:1rem;
}

span.postfix_char{
	margin-left:1rem;
}

span.careTxt{
	margin-left:1rem;
}

@media screen and (max-width:600px) {
	span.careTxt{
		margin-left:0rem;
	}
}

/*エラー*/
.receipt-err-all ul{
	font-size: 1.2rem;
	color: #E60012;
	border: 1px solid #E60012;
	padding: 10px;
	margin-bottom: 16px;
}

.receipt-err-row ul{
	font-size: 1.2rem;
	color: #E60012;
}


@media screen and (max-width:600px) {
	.receiptImg dt{
		text-align: center;
		background: #f3f1f1;
		border: 1px solid #e4e0da;
		font-size: 1.4rem;
		padding: 8px;
	}
	.receiptImg dd{
		border: 1px solid #e4e0da;
		padding: 24px;
	}
	.receiptInput dl{width: 100%; margin-bottom: 12px;}
	.receiptInput dl.totalLast {width: 100%;}
	.receiptInput dl.totalLast input{width: 90%;}
	.receiptInput dl dt{min-height:initial; padding-bottom: 8px;}
	.receiptInput dl dd .receipt-remove{
		display: block;
		width: 100%;
		font-size: 2rem;
		height: 32px;
		border-radius: 5px;
		margin: 10px 0 0 0;
	}

  /*-----------------------------------------*/
  /* tooltip
  /*-----------------------------------------*/
  #tooltip {
    display: none;
  }

}

/*--------------------------------------------*/
/* 賞品セレクト
/*--------------------------------------------*/
#prize-block{
	border: 2px solid #E60012;
	margin-bottom: 40px;
}

#prize-block h3{
	background: #E60012;
	color: #fff;
	font-weight: bold;
	padding: 4px 0 8px 16px;
}

#prize-block #total{
	margin: 16px;
	background: #f5f4f1;
	border: 2px solid #e4e0da;
	padding: 24px;
}

.totalBtn{
	display: inline-block;
	font-size: 0;
	width: 100%;
	text-align: center;
}

.totalBtn p{
	font-size: 2.4rem;
	font-weight: bold;
	display: inline-block;
	vertical-align: middle;
	padding: 0 8px;
}
.totalBtn > div{
	display: inline-block;
	font-size: 2.7rem;
	vertical-align: middle;
	padding: 0 8px;
  white-space: nowrap;
}

.totalBtn > div input {
	width: 100%;
	max-width: 416px;
	height: 72px;
	line-height: 72px;
	font-size: 4.5rem;
	vertical-align: middle;
	text-align: center;
	margin-right: 16px;
	background: #fff;
}

.prizeWrap{
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	padding: 24px;
}
p.prizeSelect{
	font-size: 2rem;
	font-weight: bold;
	padding: 16px 0;
	text-align: center;
}
.prizeWrap .prize{
	width: 50%;
	display: table;
}
.prizeWrap .prize img {width: 100%;}
.prizeWrap .prize > p{
	display: table-cell;
	vertical-align: top;
	padding: 16px 12px;
}
.prizeWrap .prize > div{
	display: table-cell;
	width: 200px;
	vertical-align: top;
	padding: 16px 12px;
	font-size: 1.4rem;
}
.prizeWrap .prize label{
	display: table;
}
.prizeWrap .prize label span{
	display: table-cell;
}
.prizeWrap .prize label span:first-child{
	width: 20px;
}

.prizeWrap .prize label span:first-child input{
	vertical-align: -2px;
}

.prizeWrap .prize.full{
	width: 100%;
}

.prizeWrap .prize.full > div{
	width: 65%;
}

.user,
.inquiry{
	margin-bottom: 40px;
}

.inquiry .leadTxt{
	font-weight: initial;
	font-size: initial;
	color: initial;
}

.inquiry td li{
	display: inline-block;
	margin: 4px 8px 4px 0;
}

.inquiry td li label{padding-left: 8px;}
.inquiry td li input[type="text"]{width: 300px;margin-left:0.5rem;}

@media screen and (max-width:600px) {
	#prize-block #total{
		margin: 12px;
		padding: 12px 8px;
	}
	.totalBtn p{
		font-size: 1.8rem;
		padding-bottom: 8px;
	}
	.totalBtn > div{font-size: 1.8rem;}
	.totalBtn > div input {
		width: 88%;
		height: 40px;
		line-height: 40px;
		font-size: 2.4rem;
		padding: 8px;
		margin-right: 8px;
	}

	.prizeWrap{
		flex-flow: column;
		-webkit-flex-flow: column;
		padding: 0 8px;
	}
	.prizeWrap .prize{width: 100%; padding: 10px 0; border-bottom: 1px solid #ccc;}
	.prizeWrap .prize > p{width: 40%; padding: 10px;}
	.prizeWrap .prize > div{padding: 10px;}
	.prizeWrap .prize.full,
	.prizeWrap .prize.full> p,
	.prizeWrap .prize.full> div{
		display: block;
		width: 100%;
	}
	.inquiry td li{margin: 4px 0;}
	.inquiry td li input[type="text"],
  .inquiry td li textarea{width: 100%;}

}

/*-----------------------------------------*/
/* 確認画面
/*-----------------------------------------*/
.confirm h2.leadTitle{
	margin-bottom: 20px;
}

.confirm .leadTxt{
	font-weight: normal;
	font-size: 1.6rem;
	text-align: left;
	color: #E60012;
}
.confirm .receiptInput dl dt{
	position: static;
	padding-left: 0;
	text-align: center;
}
.confirm .receiptInput dl dt span{text-indent: initial;}
.confirm .receiptInput dl dt::before{
	display:none;
}
.confirm .receiptInput dl dd span{
	display: inline-block;
	width: 100%;
	border-bottom: 1px solid #ccc;
	padding: 0 4px 4px;
	font-weight: bold;
	font-size: 2rem;
	text-align: center;
}

.confirm .receiptInput dl dd.last span{
	width: 80%;
}
.confirm .receiptInput dl dd.last span.none{
	width: auto;
	border: none;
	font-weight: normal;
	font-size: 1.4rem;
}
#prize-block p.prizeSelectItem{
	text-align: center;
	font-size: 2rem;
	padding: 12px 0 40px;
}


@media screen and (max-width:600px) {
	.confirm .receiptInput dl{
		border-bottom: 1px solid #ccc;
		padding-bottom: 12px;
	}
	.confirm .receiptInput dl dt{text-align: left;}
	.confirm .receiptInput dl dd span{
		display: inline;
		border: none;
		font-weight: normal;
		font-size: 1.4rem;
	}
	.inquiry .tableLayout td li{display: block;}

}

/*-----------------------------------------*/
/* 完了画面
/*-----------------------------------------*/
.finish h2.leadTitle{
	margin-bottom: 20px;
}
.finishTxt p:first-child {
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
}
.finishTxt p:first-child span{
	display: inline-block;
	border-bottom: 2px solid #E60012;
}

.finishTxt p:last-child{
	text-align: center;
	padding: 20px;
	font-weight: bold;
}

@media screen and (max-width:600px) {

	.finish .btn{
		font-size: 2rem;
		padding: 15px 40px;
	}

	.finish .btn.btn_back:before{
		left: 20px;
	}
	.finish .btn.btn_entry:before{
		right: 20px;
	}

}
/*-----------------------------------------*/
/* 公開前画面
/*-----------------------------------------*/
.suspend h2.leadTitle{
	margin-bottom: 20px;
}
.suspendTxt p:first-child {
	text-align: center;
	font-size: 2.8rem;
	font-weight: bold;
}
.suspendTxt p:first-child span{
	display: inline-block;
	border-bottom: 2px solid #E60012;
}

.suspendTxt p:last-child{
	text-align: center;
	padding: 20px;
	font-weight: bold;
}

@media screen and (max-width:600px) {

.suspendTxt p:first-child {
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
}
.suspendTxt p:last-child{
	text-align: center;
	font-size: 1.4rem;
}
}
/*-----------------------------------------*/
/* footer
/*-----------------------------------------*/

.footer{
 text-align: center;
 font-size: 1.2rem;
 color: #fff;
 padding: 16px;
 background-color: #003894;
}

/*-----------------------------------------*/
/* clearfix
/*-----------------------------------------*/
.clear{clear: both;}
.cl:after {
    content: "";
    display: block;
    clear: both;
}


/*-----------------------------------------*/
/* 汎用エラー
/*-----------------------------------------*/

.err {
  font-size: 1.2rem;
  color: #E60012;
}

#tooltip {
  width: 450px;
}


/*入力画面制御*/
[name=entry] .receiptInput {
  display: none;
}


.store-name {
  display: none;
}

#total-price,
.hidden {
  display: none;
}


/*確認画面*/

.confirm #total-price-confirm {
  max-width:416px;
  width: 100%;
  background: #fff;
  display: inline-block;
  border: 1px solid #ccc;
  line-height: 72px;
  font-size: 4.5rem;
  overflow: hidden;
  margin-right: 0px;
  color: rgb(84, 84, 84);
}

.confirm .totalBtn {
  width: 100%;
}

.confirm .totalBtn .unit {
  padding-left: 0;
  display: inline;
}

@media screen and (max-width:600px) {
  .totalBtn > div {
    width: 100%;
  }
  .confirm #total-price-confirm {
    width: 90%;
    font-size: 2.4rem;
  }

  #total .totalBtn > div {
    width: 100%;
    overflow: hidden;
  }
}


.clearfix::after{
  content: "";
  display: block;
  clear: both;
}


.btnWrap.column2 li {
  float: left;
}

.prizeWrap .prize{
  float:left;
}
#wchanceBlock {
	margin-bottom: 20px;
}
#wchanceImg {
	width: 362px;
	float: left;
}
#wchanceText {
	width: calc(100% - 362px);
	padding: 20px 20px 0 0;
	float: right;
}
@media screen and (max-width:600px) {
	#wchanceImg {
	width: 100%;
	max-width: 362px;
	margin: 0 auto;
	float: none;
}
	#wchanceImg img {
	width: 100%;
}
	#wchanceText {
	width: 100%;
	padding: 20px 20px 0;
	float: none;
	}
}
/*
2018/05/10追加
*/
textarea {
  height: 5em;
  width: 380px;
}