@charset "UTF-8";

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
common
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

html, body { height: 100%; }
body { -webkit-text-size-adjust: 100%; }
#wrapper {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	min-height: 100%;
	word-break: break-all;
	background: url(../images/bg.webp) no-repeat center top #f3c0df;
	background-size: 100% auto;
}

a { text-decoration: none; }

.error,
.notice {
	color: #fff;
	padding: 0.5em 0.7em;
}
.error {
	background: #a32083;
}
.notice {
	background: #568120;
}
.error + .error,
.notice + .notice {
	border-top: 1px solid #fff;
}

.mt { margin-top: 15px !important; }
.mr { margin-right: 15px !important; }
.mb { margin-bottom: 15px !important; }
.ml { margin-left: 15px !important; }

.pt { padding-top: 15px !important; }
.pr { padding-right: 15px !important; }
.pb { padding-bottom: 15px !important; }
.pl { padding-left: 15px !important; }

.txt-l { font-size: 16px; }
.txt-m { font-size: 14px; }
.txt-s { font-size: 12px; }

.bold {
	font-weight: bold;
}

table {
	width: 100%;
	/* min-width: 600px; */
	background: #fff;
}
table + table {
	margin-top: 20px;
}
table tr > * {
	padding: 5px 10px;
	border: 1px solid #ccc;
}
table th {
	background: #eee;
	text-align: center;
}

/* 上だけ角丸 */
.border-radius-top {
	border-radius: 15px 15px 0 0;
	-webkit-border-radius: 15px 15px 0 0;
	-moz-border-radius: 15px 15px 0 0;
}
/* 下だけ角丸 */
.border-radius-bottom {
	border-radius: 0 0 15px 15px;
	-webkit-border-radius: 0 0 15px 15px;
	-moz-border-radius: 0 0 15px 15px;
}

a.csv {
	color: #fff;
	float: right;
	background: #b50081;
	display: inline-block;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	padding: 0 4px;
	font-size: 10px;
	line-height: 1.5;
	border: 1px solid #b50081;
}
a.csv:hover {
	color: #b50081;
	background: #fff;
}
.s-title {
	color: #fff;
	font-size: 15px;
	line-height: 20px;
	font-weight: bold;
	text-align: center;
	background: #b51181;
	margin-top: 30px;
	padding: 10px;
	overflow: hidden;
}
.s-title span {
	display: inline-block;
	width: 100%;
	line-height: 20px;
}
.sub-img {
	font-size: 0;
	background: #00307c;
	padding: 10px 0 0 !important;
}
.sub-img img {
	width: 100%;
	height: auto;
}
input[type="radio"] + label.radio img {
	width: 87%;
	height: auto;
	margin-top: 5px;
	display: block;
}
.inner_s {
	background: #b6e7e2;
	padding-bottom: 12.5px;
}
.detail {
	margin: -5px 45px 0;
}
.p-0 {
	padding: 0 !important;
}

#container {
	/*border: 8px solid #cce9f9;*/
	/*background: #fff;*/
	border-radius: 0 0 15px 15px;
	-webkit-border-radius: 0 0 15px 15px;
	-moz-border-radius: 0 0 15px 15px;
	position: relative;
	overflow: hidden;
	max-width: 640px;
	margin: 0 auto;
	/*padding: 2.98% 2.98% 0px;*/
}
#container.confirmation,
#container.confirmation {
	position: relative;
	overflow: hidden;
	max-width: 640px;
	padding: 10px;
	& > div {
		padding: 5px 0;
		border-radius: 10px;
		background-color: #fff;
	}
}

#main img,
#main video {
	width: 100%;
}

#mainVis {
	text-align: center;
	img { max-width: 375px; }
}

#container img {
	width: 100%;
	vertical-align: top;
	box-sizing: border-box;
}
#container #main {
	margin-bottom: 0px;
}
#container #main p img {
	vertical-align: top;
}
#movie {
	position: relative;
	margin: -19px 8px 1px;
	padding-top: 54% !important;
}
#movie iframe {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	position: absolute;
}

#points {
	margin: 0 25px;
	background: #fff;
	border-radius: 10px;
	padding: 1px 15px 22px;
	.title {
		color: #fff;
		font-size: 14px;
		line-height: 28px;
		width: fit-content;
		border-radius: 999px;
		background-color: #b658dc;
		margin: -15px auto 15px;
		padding-inline: 22px;
	}
	.p-item {
		font-weight: bold;
		text-indent: -1.3em;
		padding-left: 1.3em;
		margin-top: 1em;
		&::before {
			content: "";
			width: 1em;
			height: 1em;
			margin-top: -0.1em;
			margin-right: 0.3em;
			border-radius: 50%;
			display: inline-block;
			vertical-align: middle;
			background-color: #b658dc;
		}
		& + dd { margin-top: 0.5em; }
	}
	ul {
		padding-left: 1em;
		li {
			font-size: 12px;
			line-height: 19px;
			padding-left: 1em;
			text-indent: -1em;
			&::before {
				content: "・";
				width: 1em;
				text-indent: 0;
				display: inline-block;
			}
		}
	}
	ul li + li { margin-top: 6px; }
}

.formTitle {
	color: #fff;
	font-size: 18px;
	line-height: 23px;
	text-align: center;
	background: url(../images/form_title.webp) no-repeat center top;
	background-size: 100% auto;
	width: 325px;
	height: 108px;
	position: relative;
	padding-top: 12px;
	margin: 34px auto 0;
	box-sizing: border-box;
	text-shadow: 0 0 10px rgba(112,68,127,1);
}
.form-box {
	border-radius: 10px;
	background-color: #fff;
	margin: -18px 10px 10px;
	padding: 13px 15px 66px;
}
.fr-tit {
	color: #ff2e82;
	font-size: 14px;
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	padding-top: 16px;
	align-items: flex-end;
	justify-content: space-between;
	.req {
		color: #fff;
		font-size: 9.5px;
		border-radius: 2px;
		display: inline-block;
		vertical-align: middle;
		background-color: #ff2e82;
		margin-top: -0.2em;
		margin-left: 1em;
		padding-inline: 0.5em;
	}
	.small {
		font-size: 10px;
		font-weight: normal;
		padding-bottom: 0.2em;
	}
	.caution {
		color: #000;
		font-size: 10px;
		font-weight: normal;
	}
}
.fr-input + .fr-tit {
	border-top: 1px solid #ccc;
}
.fr-tit .deco01 {
	color: #af0077;
}
.fr-tit .deco02 {
	color: #ec331b;
}

.title {
	color: #fff;
	font-size: 20px;
	line-height: 38px;
	font-weight: bold;
	text-align: center;
	background: #0054a9;
	padding: 3px 0 0;
	position: relative;
	margin-top: 10px;
}
.title:after {
	/*content: "";*/
	display: inline-block;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 5px solid #532c14;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -5px;
	margin: auto;
	width: 0;
}
.prize-txt {
	font-size: 20px;
	line-height: 25px;
	border-bottom: 1px solid #ccc;
	padding: 7px;
}
.select-group.mt01 {
	margin-top: 18px;
}
.prize-txt span {
	font-weight: bold;
	color: #df0623;
}
.fr-input {
	padding-bottom: 18px;
	textarea,
	input[type="text"],
	input[type="email"] {
		border-radius: 10px;
		padding: 12px;
		margin-top: 7px;
		height: 45px;
		line-height: 17px;
		font-size: 14px;
		width: 100%;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		border: 1px solid #c9d0f4;
	}
	textarea {
		height: 70px;
		&.large { height: 105px; }
	}
	.caution {
		font-size: 10px;
		line-height: 14px;
		margin-top: 1em;
	}
}

.confirmation .transmission {
	margin: 10px auto;
}

.transmission button,
.transmission a {
	color: #fff;
	border: none;
	width: 300px;
	height: 75px;
	font-size: 17px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 15px;
	margin-inline: auto;
	border-radius: 999px;
	background: url(../images/btn_icon.webp) no-repeat #ff2e82;
	background-size: 22px;
	background-position: right 27px center;
}
.transmission button:hover {
	background-color: #c9d0f4;
}
.transmission.return button,
.transmission.return a {
	background-color: #666;
}
.transmission.link button,
.transmission.link a {
	background-color: #af0077;
}

.confirmation {
	h3 {
		color: #ff2e82;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
		margin-top: 20px;
	}
	.confirmation-txt {
		padding: 0 15px;
	}
	.formTable {
		width: auto;
		display: block;
		margin: 15px 15px 0;
		tbody, tr, tr > * { display: block; }
		tr > * {
			border: none;
			text-align: left;
			padding-inline: 0;
		}
		tr + tr + tr {
			margin-top: 0.5em;
			padding-top: 0.5em;
			border-top: 1px solid #ccc;
		}
		th {
			color: #ff2e82;
			font-weight: bold;
			background: none;
		}
	}
}
.fin {
	color: #b41080;
	line-height: 30px;
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	margin-top: 27px;
}
.fin > span {
	color: #333;
	font-size: 14px;
	display: block;
	margin: 15px 0px 56px;
	font-weight: normal;
}
.fin .red {
	color: #f00;
}

.errBox {
	margin: 20px;
	color: #f00;
	font-size: 1.2em;
}

input[class*="btn-"] {
	border: none;
	width: 100px;
	height: 30px;
	border-radius: 15px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	color: #fff;
	cursor: pointer;
}
.btn-send {
	background: #32a398;
}
.btn-return {
	background: #333;
}
.fr-tit-kakunin {
	border: 1px solid #d9d9d9;
	display: inline-block;
	width: 100%;
	min-height: 20px;
	padding: 5px 0px;
}



h2{
	background:url(../img/popup/dotto_01.gif) repeat-x bottom left;
	margin:0 auto 10px;
	padding-bottom:5px;
}
h3{
	margin:0 auto;
	padding:0 0 20px 5px;
}
h4{
	margin:0 auto;
	font-size:123.1%;
}


.C_txt{
color: rgb(182, 0, 129);
}

#andFile {
	margin-top: 10px;
}
#andFile span {
	margin-left: 3px;
}


/* --------------------------------------------------------
app_coupon
-------------------------------------------------------- */
p.icon{
	background:url(../img/common/icon_02.gif) no-repeat 2px 3px;
	padding-left:12px;
}
p.icon a{
	text-decoration:none;
}
dl.hosoku_box{
	border:#CCC solid 1px;
	background:#F2F2F2;
	padding:20px;
	margin-bottom:60px;
}
dl.hosoku_box a{
	text-decoration:none;
}
dl.hosoku_box dt{
	padding-bottom:10px;
}
dl.hosoku_box dd ol{
	margin-left:20px;
}
dl.hosoku_box dd ol li{
	list-style:decimal;
}



div.container li{
	padding-bottom:5px;
	line-height:0;
}

div.container li.last{
	padding-bottom:18px;
}
/* --------------------------------------------------------
itiran
-------------------------------------------------------- */
div.itiran{
	font-size:123.1%;
}




div.itiran h2{
	width:720px;
	margin:0 auto 15px;
}

div.itiran div.aeon_box{
	width:720px;
	margin:0 auto 20px;


}
div.itiran div.aeon_box ul.left_box{
	width:240px;
	float:left;
}

/* --------------------------------------------------------
03#footer
-------------------------------------------------------- */
div#footer{
	background:url(../img/footer/footer_bg.gif) repeat-x top left;
	padding:20px 0 10px;
}
div#footer ul{
	width:600px;
	float:left;
	margin-left:8px;
	display:inline;
}
div#footer ul li{
	display:inline;
}
div#footer p{
	width:114px;
	float:right;
}