@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:500,600,700&display=swap&subset=japanese');
/* ---------------------------------------------
	reset
--------------------------------------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,img {margin: 0; padding: 0;}
table {border-collapse: collapse; border-spacing: 0;}
fieldset,img {border: 0;}
img {display: block; width: 100%; height: auto;}
img a {border: none;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal; font-weight: normal;}
ol, ul {list-style: none;}
caption, th {text-align: left;}
h1,h2,h3,h4,h5,h6 {font-size: 100%; font-weight: normal; line-height: 1.0;}
q:before, q:after {content: "";}
figure {width: 100%; margin: 0; padding: 0;}
/* ---------------------------------------------
	common
--------------------------------------------- */
* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
body {
	-webkit-text-size-adjust: 100%;
	word-break: break-all;
	color: #333;
	font-size: 15px;
	font-family: 'Noto Serif JP', serif;
    font-weight: 500;
    background-image: url(../img/bg-body.jpg);
}
a {text-decoration: none;}
a:link {color: #333;}
a:visited {color: #333;}
a:hover { color: rgba(0, 123, 238, 1); text-decoration: underline; -webkit-transition: all .3s; transition: all .3s;}
a:active {color: rgba(0, 123, 238, 1);}
p {line-height: 1.6;}
.wrap {
	max-width: 1150px;
	margin: 0 auto;
	padding: 60px 15px 100px;
	background-color: #fff;
}
.headline1 {
	background: rgba(0, 123, 238, 1);
	color: #fff;
	padding: 55px 15px;
	text-align: center;
	font-size: 30px;
}
.headline2 {
	font-size: 16px;
	font-weight: 600;
	color: rgba(0, 123, 238, 1);
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 6px solid rgba(0, 123, 238, 0.2);
}
.serial-btn {
	max-width: 680px;
	margin: 0 auto;
}
.serial-btn a {
	display: block;
	padding: 35px;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	background-image: url(../img/arrow-in-square.svg);
	background-size: 30px auto;
	background-repeat: no-repeat;
	background-position: right 30px center;
	background-color: rgba(252, 107, 107, 1);
	border-radius: 60px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
.serial-btn a:hover {
	text-decoration: none;
	background-color: #CC0000;
}
.serial-btn-off {
	max-width: 680px;
	margin: 0 auto;
	padding: 35px;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	background-image: url(../img/arrow-in-square.svg);
	background-size: 30px auto;
	background-repeat: no-repeat;
	background-position: right 30px center;
	background-color: rgba(100, 100, 100, 1);
	border-radius: 60px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
}
@media only screen and (max-width: 768px) {
	.wrap {padding: 40px 15px 60px;}
	.headline1 {
		padding: 45px 15px;
		font-size: 26px;
	}
	.serial-btn a {
		font-size: 24px;
		background-size: 24px auto;
	}
	.serial-btn-off {
		font-size: 24px;
		background-size: 24px auto;
	}
}
@media only screen and (max-width: 640px) {
	.headline1 {
		padding: 40px 15px;
		font-size: 24px;
	}
	.serial-btn a {
		padding: 25px;
		font-size: 20px;
	}
	.serial-btn-off {
		padding: 25px;
		font-size: 20px;
	}
}
@media only screen and (max-width: 480px) {
	.headline1 {
		padding: 35px 15px;
		font-size: 22px;
	}
	.serial-btn a {
		font-size: 17px;
		text-align: left;
		background-size: 20px auto;
		background-position: right 20px center;
	}
	.serial-btn-off {
		font-size: 17px;
		text-align: left;
		background-size: 20px auto;
		background-position: right 20px center;
	}
}
/* ---------------------------------------------
	header
--------------------------------------------- */
header {
	max-width: 1440px;
	margin: 0 auto;
	padding: 8px 10px;
}
header ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header ul li:first-child img {
	width: auto;
	height: 24px;
}
header ul li .official-link a {
	display: block;
	padding: 6px;
	font-size: 12px;
	text-align: center;
	background: rgba(0, 123, 238, 1);
	border-radius: 30px;
	color: #fff;
	width: 100px;
	line-height: 1;
}
header ul li .official-link a:hover {
	background: rgba(0, 123, 238, 0.8);
	text-decoration: none;
}
@media only screen and (max-width: 768px) {
	header {padding: 6px 10px;}
	header ul li:first-child img {height: 20px;}
	header ul li .official-link a {
		padding: 4px;
		font-size: 11px;
	}
}
/* ---------------------------------------------
	footer
--------------------------------------------- */
footer {
	padding: 60px 15px;
	background-image: url(../img/bg-footer.jpg);
}
footer p {
	text-align: center;
	color: #fff;
}
.attention {
	font-size: 14px;
	margin-bottom: 60px;
}
.copyright {font-size: 11px;}
#pageTop {
    position: fixed;
    width: 50px;
    right: 10px;
    bottom: 10px;
    z-index: 998;
    cursor: pointer;
}
@media only screen and (max-width: 768px) {
	footer {padding: 40px 15px;}
	.attention {
		font-size: 12px;
		margin-bottom: 40px;
	}
	#pageTop {width: 40px;}
}
/* ---------------------------------------------
	contents
--------------------------------------------- */

/* メインイメージ */
.main-image {
	max-width: 1440px;
	margin: 0 auto;
}
.main-image .sp {display: none;}
@media only screen and (max-width: 640px) {
	.main-image .pc {display: none;}
	.main-image .sp {display: block;}
}


/* 対象商品 */
.campaign {
	max-width: 960px;
	margin: 0 auto;
}
.campaign-end1 {
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	color: #CC0000;
}
.campaign-end2 {
	text-align: center;
	font-size: 24px;
	font-weight: 600;
	color: #CC0000;
	margin-bottom: 40px;
}
.campaign-lead {
	font-size: 16px;
	line-height: 2;
	margin-top: 60px;
	margin-bottom: 60px;
}
.campaign-ttl {
	max-width: 600px;
	margin: 0 auto 60px;
}
.campaign-item {
	max-width: 280px;
	margin: 0 auto 60px;
}
.campaign-item p {
	text-align: center;
	font-weight: 600;
	color: rgba(0, 123, 238, 1);
	margin-top: 10px;
}
.seal {
	max-width: 960px;
	margin: 0 auto 60px;
	padding: 20px;
	background-color: #FFFEF1;
}
.seal ul {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.seal ul li:first-child {
	width: 170px;
	margin-right: 20px;
}
.seal ul li:last-child {flex: 1;}
.seal ul li:last-child p {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 5px;
}
@media only screen and (max-width: 768px) {
	.campaign-lead {
		font-size: 15px;
		line-height: 1.8;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.campaign-ttl {
		max-width: 540px;
		margin: 0 auto 40px;
	}
	.campaign-item {
		max-width: 250px;
		margin: 0 auto 40px;
	}
	.campaign-item p {font-size: 14px;}
}
@media only screen and (max-width: 640px) {
	.campaign-end1 {font-size: 24px;}
	.campaign-end2 {font-size: 18px;}
	.seal ul li:first-child {
		width: 140px;
		margin: 0 auto 20px;
	}
	.seal ul li:last-child {flex: 100%; width: 100%;}
	.seal ul li:last-child p {font-size: 12px;}
}
@media only screen and (max-width: 480px) {
}


/* 応募方法 */
.method {
	max-width: 960px;
	margin: 0 auto;
}
.method-txt1 {
	text-align: center;
	font-size: 22px;
	margin-bottom: 20px;
}
.method-txt2 {
	text-align: center;
	font-size: 18px;
	color: #CC0000;
	margin-bottom: 60px;
}
.method .txt3 {
	font-size: 1em;
	font-weight: 700;
	color: rgba(0, 123, 238, 1);
}
.web-txt1 {
	line-height: 1.8;
	margin-bottom: 40px;
}
.web-txt1 a {
	text-decoration: underline;
	color: rgba(0, 123, 238, 1);
}
.web-txt1 a:hover {text-decoration: none;}
.method .yubin {
	display: flex;
	margin: 0 0 40px;
}
.method .yubin li:first-child {
	width: 230px;
	margin-right: 20px;
}
.method .yubin li:last-child {flex: 1;}
.yubin-txt1 {
	line-height: 1.8;
	margin-bottom: 20px;
}
.yubin-txt2 {
	font-weight: 600;
	color: rgba(0, 123, 238, 1);
	line-height: 1.8;
}
.method-txt3 {
	font-size: 14px;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 40px;
}
.method-txt4 {
	width: 105px;
	background-color: rgba(0, 123, 238, 1);
	text-align: center;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	border-radius: 6px 6px 0 0;
	padding: 8px 6px;
}
.method-add {
	background-color: #FFFEF1;
	border: 1px solid rgba(0, 123, 238, 1);
	margin-bottom: 15px;
	padding: 20px;
}
.method-add p {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.8;
}
@media only screen and (max-width: 768px) {
	.method-txt1 {font-size: 18px;}
	.method-txt2 {
		font-size: 16px;
		margin-bottom: 40px;
	}
}
@media only screen and (max-width: 640px) {
	.method .yubin {flex-wrap: wrap;}
	.method .yubin li:first-child {
		width: 200px;
		margin: 0 auto 20px;
	}
	.method .yubin li:last-child {flex: 100%; width: 100%;}
}
@media only screen and (max-width: 480px) {
}


/* 応募要項 */
.guideline {
	max-width: 960px;
	margin: 0 auto;
}
.guideline-txt1 {
	font-size: 22px;
	font-weight: 600;
	color: #CC0000;
	text-align: center;
	margin-bottom: 60px;
}
.guideline-term {margin-bottom: 60px;}
.guideline-term dt {
	clear: both;
	float: left;
	width: 110px;
	text-align: center;
	color: #fff;
	font-size: 12px;
	background-color: rgba(0, 123, 238, 1);
	border-radius: 6px;
	padding: 4px 6px;
}
.guideline-term dd {
	padding-left: 130px;
	margin-bottom: 15px;
	font-weight: 600;
}
.guideline-txt2 {
	font-weight: 600;
	margin-bottom: 15px;
}
.guideline-txt3 {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 20px;
}
@media only screen and (max-width: 768px) {
	.guideline-txt1 {
		font-size: 16px;
		margin-bottom: 40px;
	}
	.guideline-term {margin-bottom: 40px;}
}
@media only screen and (max-width: 640px) {
	.guideline-term dt {
		float: none;
		margin-bottom: 10px;
	}
	.guideline-term dd {padding-left: 0px;}
}
@media only screen and (max-width: 480px) {
}


/* 賞品 */
.prize {
	max-width: 960px;
	margin: 0 auto;
}
.prize-txt1 {
	font-size: 22px;
	font-weight: 600;
	color: #CC0000;
	text-align: center;
	margin-bottom: 60px;
}
.prize .prize1 {
	background: #f6f6f6;
	margin-bottom: 30px;
	padding: 0 15px 40px;
}
.prize .prize1 .prizeA,
.prize .prize1 .prizeB {
	background: #aca373;
	margin: 0 -15px;
	padding: 15px 15px;
	position: relative;
}
.prize .prize1 .prizeA p,
.prize .prize1 .prizeB p {
	font-size: 36px;
	color: #fff;
	text-align: center;
	line-height: 1;
}
.prize .prize1 .prizeA1,
.prize .prize1 .prizeB1 {
	position: absolute;
	top: -13px;
	right: 15px;
}
.prize-txt2 {
	font-size: 36px;
	font-weight: 600;
	color: rgba(0, 123, 238, 1);
	text-align: center;
	margin: 30px 0;
}
.prize-txt2 span {margin-left: 0.5em;}
.prize-txt3 {
	color: rgba(0, 123, 238, 1);
	text-align: center;
	margin: -30px 0 30px;
}
.prize-image {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.prize-image li {
	width: 48%;
	margin: 0 1%;
}
.prize-image li p {
	text-align: center;
	font-size: 14px;
	margin-top: 5px;
}
@media only screen and (max-width: 768px) {
	.prize-txt1 {
		font-size: 18px;
		margin-bottom: 40px;
	}
	.prize .prize1 .prizeA,
	.prize .prize1 .prizeB {padding: 10px 15px;}
	.prize .prize1 .prizeA p,
	.prize .prize1 .prizeB p {
		font-size: 30px;
		text-align: left;
	}
	.prize .prize1 .prizeA1,
	.prize .prize1 .prizeB1 {top: -10px; right: 10px;}
	.prize .prize1 .prizeA1 img,
	.prize .prize1 .prizeB1 img {
		width: auto;
		height: 70px;
	}
	.prize-txt2 {font-size: 28px;}
	.prize-image li {
		width: 100%;
		max-width: 360px;
		margin: 0 auto 20px;
	}
}
@media only screen and (max-width: 640px) {
	.prize-txt2 {font-size: 24px;}
}
@media only screen and (max-width: 480px) {
	.prize-txt2 {font-size: 20px;}
}


/* 注意事項 */
.notes {
	max-width: 960px;
	margin: 0 auto;
}
.notes-attention {margin: 0 0 40px;}
.notes-attention li {
	font-size: 14px;
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 10px;
}
.notes-attention li::before {content: "※";}
.notes-txt1 {
	border: 1px solid #ccc;
	margin-bottom: 60px;
	padding: 15px;
}
.notes-txt1 p {
	font-size: 14px;
	line-height: 1.8;
	text-indent: -1em;
	padding-left: 1em;
}
.privacy-ttl {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4;
	color: rgba(0, 123, 238, 1);
	text-align: center;
	margin-bottom: 30px;
}
.privacy-txt {
	background: #f6f6f6;
	padding: 15px;
}
.privacy-txt p {
	font-size: 14px;
	line-height: 1.8;
}
@media only screen and (max-width: 768px) {
	.notes-txt1 {margin-bottom: 40px;}
	.privacy-ttl {font-size: 18px;}
}
@media only screen and (max-width: 640px) {
	.privacy-ttl {font-size: 16px;}
}
@media only screen and (max-width: 480px) {
}


/* Q＆A */
.qa {
	max-width: 960px;
	margin: 0 auto 60px;
}
.qa-list dt {
	font-weight: 600;
	color: rgba(0, 123, 238, 1);
	margin-bottom: 10px;
	padding-bottom: 5px;
	border-bottom: 6px solid rgba(0, 123, 238, 0.2);
}
.qa-list dd {
	line-height: 1.6;
	text-indent: -1.7em;
	padding-left: 1.7em;
	margin-bottom: 40px;
}
.qa-list dd .red01 {color: #fe0000;}
@media only screen and (max-width: 768px) {
	.qa {margin: 0 auto 40px;}
}
@media only screen and (max-width: 640px) {
}
@media only screen and (max-width: 480px) {
}




