@charset "utf-8";


/*全体の設定
---------------------------------------------------------------------------*/
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure{
	margin: 0px;
	padding: 0px;
}
ul{
	list-style-type: none;
}
img {
	border: none;
}
form {
	margin: 0px;
}
table {
	border-collapse:collapse;
	font-size: 100%;
	border-spacing: 0;
}
a {
	color: #666;
	overflow:hidden;
	outline:none;
}
a:hover {
	color: #f45872;
	text-decoration: none;
}

body {
	color: #666;
	margin: 0px;
	padding: 0px;
	font: 1em "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro";
}
/*パソコン用コンテナー（HPを囲むブロック）
---------------------------------------------------------------------------*/
#container {
	width: 720px;
	margin: 0 auto 2em;
	padding: 0;
	background-color: #FFF;
}
/*パソコン用フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;
	border-top:1px solid #ccc;
	padding:1em 0;
	margin:0 auto;
	font-size: 10px;
}
/*パソコン用入力設定
---------------------------------------------------------------------------*/
input{
	font-size:1em;
}
input[type="text"] {
	width: 100%;
	padding: 10px;
	border : 1px solid #cccccc;
	border-radius : 4px;
	background : #ddd;
	box-sizing:border-box;
}
input[type="tel"] {
	width: 100%;
	padding: 10px;
	border : 1px solid #cccccc;
	border-radius : 4px;
	background : #ddd;
	box-sizing:border-box;
}
input[disabled]{
	background-color: #fff;
	color: #000;
	cursor: not-allowed;
}
input[type="checkbox"] {
	width: 1.4em;
	height: 1.4em;
	-moz-transform: scale(1.4);
	-webkit-transform: scale(1.4);
	transform: scale(1.4);
}
input[type="radio"] {
	margin: 1em;
	display: none;
}
label{
	padding: 10px;
	display:block;
	border:1px solid #fff;
}
label span{
	display: none;
}
input:checked + label {
	background: #fffacd;
	border-radius: 4px;
	border:1px solid #f0e68c;
}
input:checked + label span{
	display: initial;
	color:#daa520;
	float:right;
}
.button {
	background: #81bc2e;
	width: 90%;
	margin-left:20px;
	padding:1em 0;
	animation: button1 2s ease infinite;
	float:left;
	border-radius:8px;
	text-align:center;
	color:#fff;
	font-size:36px;
	font-weight:bold;
	box-shadow:0 5px 0 #649124;
	margin-bottom: 1em;
}

@keyframes button1 {
	0% { transform: translateX(0) }
	50% { transform:translateX(0) }
	61% { transform:translateX(26px) }
	66% { transform:translateX(30px) }
	71% { transform:translateX(26px) }
	80% { transform:translateX(0px) }
	85.5% { transform:translateX(10px) }
	91% { transform:translateX(0px) }
	94% { transform:translateX(5px) }
	96.3% { transform:translateX(0px) }
	98.1% { transform:translateX(3px) }
	100% { transform:translateX(0) }
}
.arrow {
	display:inline-block;
	height:80px;
	width:40px;
	background-color:#f23142;
	position:relative;
	top:24px;
	animation: arrow1 2s ease infinite;
	float:left;
	z-index:999;
	/*filter: drop-shadow(3px 0 0 rgba(255,255,255,1));*/
}

.arrow:before {
	position:absolute;
	content:"";
	border:60px solid transparent;
	border-left:45px solid #f23142;
	left:40px;
	top:-20px;
}

@keyframes arrow1 {
	0% { transform: translateX(0) }
	45% { transform:scale(0.5, 1)translateX(-40px) }
	53% { transform:scale(1.2, 1)translateX(30px) }
	100% { transform:translateX(0) }
}
.bubble:before {
	position: absolute;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	left: -20%;
	z-index: -999;
	background-repeat: no-repeat;
}
.bubble:before {
	background-image:
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%),
	radial-gradient(circle, #fff 0%, transparent 4%);
	background-size:
	10% 10%,
	20% 20%,
	15% 15%,
	20% 20%,
	18% 18%,
	10% 10%,
	15% 15%,
	10% 10%,
	18% 18%;
}
.bubble:before {
	display: block;
	animation: bubble1 2s ease infinite;
}
@keyframes bubble1 {
	35% {
		background-position:
		0% 0%,
		0% 0%,
		0% 0%,
		0% 0%,
		0% 0%,
		0% 0%,
		0% 0%,
		0% 0%,
		0% 0%;
	}
	100% {
		background-position:
		20% 0%,
		32% 20%,
		21% 30%,
		35% 40%,
		43% 50%,
		32% 10%,
		28% 50%,
		43% 30%,
		20% 40%;
		}
	}
select {
	width: 100%;
	font-size:1em;
	padding: 10px;
	border : 1px solid #cccccc;
	border-radius : 4px;
	background : #ddd;
}
textarea{
	font-size:1em;
	border : 1px solid #cccccc;
	border-radius : 4px;
	background : #ddd;
}
input[type="submit"] {
	font-weight: bold;
	width: 100%;
	background-color: #81bc2e;
	border: none;
	color: #fff;
	font-size:2em;
	-webkit-transition: background-color .2s;
	transition: background-color .2s;
	cursor: pointer;
	-webkit-appearance: none;
	border-radius: 8px;
	padding:5%;
	box-shadow: 0px 5px #649124;
}
input[type="submit"]:hover {
	background-color: #92d434;
	box-shadow: 0px 5px #6fa128;
	outline: 0;
}
input[type="submit"]:focus {
	margin-top:5px;
	margin-bottom:-5px;
	box-shadow: none;
	outline: 0;
}
input[type="submit"][disabled] {
	background-color: #ddd;
	cursor: default;
	box-shadow: 0px 5px #ccc;
}
input[type="submit"].reset{
	width: initial;
	font-size: 1em;
	text-align: left;
	font-weight: normal;
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
	color: #247bbd;
	box-shadow: none;
}
input[type="submit"]:hover.reset{
	text-decoration: underline;
}
input[type="submit"]:focus.reset {
	margin-top:0;
	margin-bottom:0;
	box-shadow: none;
	outline:none;
}
input[type="text"]:focus,
input[type="tel"]:focus,
textarea:focus{
	box-shadow : 0px;
	border : 1px solid #ccc;
	background : #ffffff;
}
/*パソコン用フォームデザイン
---------------------------------------------------------------------------*/
#campaign_period{
	width:100%;
	padding: 1em 0;
	text-align: center;
	font-weight: bold;
	background-color:#f23142; 
	color:#fff;
	font-size: 1em;
}
#order_title{
	width:100%;
	padding: 1em 0;
	text-align: center;
	font-weight: bold;
	background-color:#31A9EE; 
	color:#fff;
	font-size: 1.2em;
	border-radius: 8px;
	margin-bottom: 1em;
}
#stock{
	width:100%;
	padding: 1em 0;
	text-align: center;
	font-weight: bold;
	border:2px solid #f23142; 
	color:#f23142;
	font-size: 1.2em;
	border-radius: 8px;
	margin-bottom: 1em;
}
#form{
	width:100%;
}
#form .title{
	color:#666;
	background-color:#ceeeeb;
	border-left : 1px solid #cccccc;
	border-top : 1px solid #cccccc;
	border-right : 1px solid #cccccc;
	width:100%;
	padding:10px 10%;
	text-align:center;
	-webkit-border-top-left-radius: 8px;
	-webkit-border-top-right-radius: 8px;
	-moz-border-radius-topleft: 8px;
	-moz-border-radius-topright: 8px;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	font-weight:bold;
	box-sizing:border-box;
}
#form dl{
	background-color:#ceeeeb;
	width : 100%;
	border : 1px solid #cccccc;
	-webkit-border-bottom-right-radius: 8px;
	-webkit-border-bottom-left-radius: 8px;
	-moz-border-radius-bottomright: 8px;
	-moz-border-radius-bottomleft: 8px;
	border-bottom-right-radius: 8px;
	border-bottom-left-radius: 8px;
	margin : 0 auto 14px;
	overflow : hidden;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#form dl dt{
	color:#666;
	background-color:#ceeeeb;
	clear : both;
	width : 35%;
	float : left;
	border-top : 1px solid #cccccc;
	overflow : hidden;
	font-weight:bold;
}
#form dl dd{
	width : 65%;
	float : right;
	border-top : 1px solid #cccccc;
	margin : 0;
	background-color:#fff;
}
#form dl dt:first-child,
#form dl dt:first-child+dd{
	border : none;
}

#form span.required {
	float:right;
	background-color:#f00;
	color:#fff;
	border-radius: 4px;
	padding:0 4px;
}



/*パソコン用その他設定
---------------------------------------------------------------------------*/
.inner{
	padding:10px;
}
.right{
	text-align: right;
}

#step{
	width:100%;
	margin:14px auto;
	text-align: center;

}
#step .path{
	display: inline-block;
	/display: inline;
	/zoom: 1;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	background-color:#cccccc;
	padding:14%;
	margin: 0;
	color:#ffffff;
	font-weight: bold;
}
#step .now{
	display: inline-block;
	/display: inline;
	/zoom: 1;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	background-color:#ceeeeb;
	padding:14%;
	margin: 0;
	color:#666;
	font-weight: bold;
}

#thanks{
	display: inline-block;
	/display: inline;
	/zoom: 1;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	background-color:#cccccc;
	margin: 0;
	color:#ffffff;
	height: 40px;
	margin: 0;
	padding: 4%;
	width: 40px;
}


#overlay{
	position:fixed;
	width:100%;
	height:100%;
	left:0;
	top:0;
	text-align: center;
	vertical-align: middle;
	background:#000;
	background: rgba(45,45,45, 0.5);
	z-index:100;
}
.overlay_massage{
	color: #fff;
	font-size: 2em;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
.overlay_massage a{
	color: #fff;
	font-weight: bold;
}

/*ここからタブレット用（481px～800px）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media (min-width:481px) and (max-width:800px){
	/*タブレット用全体の設定
	---------------------------------------------------------------------------*/
	body {
		font-size:1.2em;
	}
	/*タブレット用コンテナー（HPを囲むブロック）
	---------------------------------------------------------------------------*/
	#container {
		width: 96%;	/*ボックス幅*/
		padding: 0 2%;	/*ボックス内の余白*/
		border-radius: 0px;	/*角丸のサイズ*/
	}
	/*タブレット用フッター設定
	---------------------------------------------------------------------------*/
	footer {
		width : 100%;
	}
	/*タブレット用入力設定
	---------------------------------------------------------------------------*/
	input{
		font-size:1.2em;
	}
	input[type="text"] {
		padding: 1em 10px;
		width:100%;
		box-sizing:border-box;
	}
	input[type="tel"] {
		padding:1em 10px;
		width:100%;
		box-sizing:border-box;
	}
	input[type="submit"] {
		font-size:1.2em;
	}
	label{
		padding: 1em;
	}
	input:checked + label {
	}
	select {
		width: 100%;
		font-size:1em;
		padding: 10px;
		border : 1px solid #cccccc;
		border-radius : 4px;
		background : #ddd;
	}
	select {
		font-size:1.2em;
	}
	textarea{
		font-size:1.2em;
		max-width : 100%;
		-webkit-appearance : none;
		box-sizing:border-box;
	}
	/*タブレット用フォームデザイン
	---------------------------------------------------------------------------*/
	#form{
		width : 100%;
	}
	#form dl{
		width : 100%;
	}
	#form dl dt{
		width : auto;
		float : none;
		text-align : left;

		font-weight : bold;
	}
	#form dl dd{
		width : auto;
		float : none;
		border-top : none;

	}
	/*タブレット用その他設定
	---------------------------------------------------------------------------*/
	.inner{
		padding:10px;
	}
}

/*ここからスマートフォン用（480px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media (max-width : 480px){
	/*スマートフォン用全体の設定
	---------------------------------------------------------------------------*/
	body {
		font-size:1.2em;
	}
	img {
		width:100%;
	}
	/*スマートフォン用コンテナー（HPを囲むブロック）
	---------------------------------------------------------------------------*/
	#container {
		width: 96%;	/*ボックス幅*/
		padding: 0 2%;	/*ボックス内の余白*/
		border-radius: 0px;	/*角丸のサイズ*/
	}
	/*スマートフォン用フッター設定
	---------------------------------------------------------------------------*/
	footer {
		width : 100%;
	}
	/*スマートフォン用入力設定
	---------------------------------------------------------------------------*/

	.button {
  		width: 90%;
  		margin-left:2%;
		font-size:1.2em;
	}
	.arrow {
		display:inline-block;
		height:60px;
		width:24px;
		background-color:#dc143c;
		position:relative;
		top:12px;
		animation: arrow1 2s ease infinite;
		float:left;
		z-index:999;
	}
	.arrow:before {
		position:absolute;
		content:"";
		border:40px solid transparent;
		border-left:20px solid #dc143c;
		left:24px;
		top:-10px;
	}
	input{
		font-size:1.2em;
	}
	input[type="text"] {
		padding:1em 10px;
		width:100%;
		box-sizing:border-box;
	}
	input[type="tel"] {
		padding:1em 10px;
		width:100%;
		box-sizing:border-box;
	}
	input[type="submit"] {
		font-size:1.2em;
	}
	label{
		padding: 1em;
	}
	input:checked + label {
	}
	select {
		font-size:1.2em;
	}
	textarea {
		font-size:1.2em;
		max-width : 100%;
		-webkit-appearance : none;
		box-sizing:border-box;
	}
	/*スマートフォン用フォームデザイン
	---------------------------------------------------------------------------*/
	#form{
		width:100%;
	}
	#form dl{
		width : 100%;
	}
	#form dl dt{
		width : auto;
		float : none;
		text-align : left;
		font-weight : bold;
	}
	#form dl dd{
		width : auto;
		float : none;
		border-top : none;
	}
	/*スマートフォン用その他設定
	---------------------------------------------------------------------------*/
	.inner{
		padding:10px;
	}
	.overlay_massage{
		font-size: 1.2em;
	}
}