@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
main,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline
}

html {
	font-size: 62.5%
}

body {
	background: #fff;
	color: #2F2F2F;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.7;
	-webkit-text-size-adjust: 100%
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
	line-height: 1.3
}

ol,
ul {
	list-style: none
}

strong,
address,
em,
cite {
	font-style: normal
}

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: all .2s ease-out 0s;
	transition: all .2s ease-out 0s
}

a:hover {
	opacity: .6;
	text-decoration: none
}

img {
	border: none;
	vertical-align: bottom;
	height: auto;
	max-width: 100%
}

.br__pc {
	display: none
}

.red {
	color: #EF0000
}

@media screen and (min-width: 569px) {
	a[href^="tel:"] {
	pointer-events: none
	}
}

@media screen and (min-width: 769px) {
	.br__sp {
	display: none
	}

	.br__pc {
	display: inline
	}
}

.inner {
	margin: 0 auto;
	max-width: 1280px;
	padding: 0 20px
}

.inner--830 {
	margin: 0 auto;
	max-width: 830px
}

.block {
	padding: 50px 0
}

@media screen and (min-width: 769px) {
	.block {
	padding: 90px 0
	}
}

.block__title {
	color: #fff;
	font-size: 2.4rem;
	line-height: 80px;
	margin: 0 calc(50% - 50vw);
	text-align: center;
	width: 100vw
}

.block__title--smartphone {
	background: #08588c
}

.block__title--postcard {
	background: #cc042d
}

@media screen and (min-width: 769px) {
	.block__title {
	font-size: 3.2rem
	}
}

.block-step {
	margin-top: 30px
}

.block-step__title {
	color: #08588c;
	font-size: 2.6rem;
	font-weight: 700;
	margin-bottom: 10px;
	text-align: center
}

.block-step__title--postcard {
	color: #cc042d
}

.block-step dd+dt {
	margin-top: 40px
}

.block-step__ledo {
	font-size: 1.6rem;
	margin-bottom: 20px;
	text-align: center
}

.block-step__image {
	border: 1px solid #08588c;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 40px;
	text-align: center
}

.block-step__image--postcard {
	border: 1px solid #cc042d
}

@media screen and (min-width: 769px) {
	.block-step {
	margin-top: 60px
	}

	.block-step__title {
	font-size: 3.2rem
	}

	.block-step dd+dt {
	margin-top: 70px
	}

	.block-step__ledo {
	font-size: 1.8rem;
	margin-bottom: 30px
	}

	.block-step__image {
	margin: 0 auto;
	max-width: 830px;
	padding: 50px
	}
}

.banner {
	background: #F7F7F7;
	margin: 0 calc(50% - 50vw);
	width: 100vw
}

.banner a {
	display: block;
	margin: 0 auto;
	max-width: 660px
}

.terms {
	background: #fff;
	border: 1px solid #2F2F2F;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	height: 260px;
	overflow-y: scroll;
	padding: 20px
}

.terms h4 {
	font-size: 1.2rem;
	margin-bottom: 20px
}

.terms p {
	font-size: 1.2rem;
	font-weight: 400;
	margin-bottom: 20px
}

.terms dl {
	font-size: 1.2rem;
	font-weight: 400
}

.terms dl dd {
	margin-bottom: 20px
}

.terms dl dd+dt {
	margin-top: 0
}

.terms a {
	text-decoration: underline
}

@media screen and (min-width: 769px) {
	.terms {
	margin: 0 auto;
	max-width: 830px
	}

	.terms h4 {
	font-size: 1.5rem
	}

	.terms p {
	font-size: 1.3rem
	}

	.terms dl {
	font-size: 1.3rem
	}
}

.header {
	background: #6e1318;
	background-image: url(../img/heroimage_bg.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.header-title {
	text-align: center
}

.header-title img {
	max-width: 1280px;
	width: 100%
}

.caption {
	margin: 30px 0;
	text-align: center;
	font-size: 1.4rem;
	color: #cc042d;
}

.content__title {
	font-size: 3rem;
	margin: 50px 0 30px;
	text-align: center;
}

.content-nav {
	margin-bottom: 40px
}

.content-nav__item a {
	background: url(../img/arrow.svg) right 20px center no-repeat;
	background-size: 22px 12px;
	color: #fff;
	display: block;
	font-size: 2rem;
	line-height: 60px;
	text-align: center
}

.content-nav__item--smartphone a {
	background-color: #08588c
}

.content-nav__item--postcard a {
	background-color: #cc042d
}

.content-nav__item+li {
	margin-top: 10px
}

.movie {
	margin: 0 auto 70px;
	max-width: 830px;
	text-align: center;
}

.movie h3 {
	font-size: 2rem;
	text-align: center;
	margin-bottom: 2rem;
	position: relative;
	display: inline-block;
	padding: 0 40px;
}

.movie h3:before, .movie h3:after {
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 44px;
	height: 2px;
	background-color: black;
	-webkit-transform: rotate(-60deg);
	transform: rotate(-60deg);
}
.movie h3:before {
	left:0;
	-webkit-transform: rotate(-120deg);
	transform: rotate(-120deg);
}
.movie h3:after {
	right: 0;
}

.movie-inner {
	position: relative;
	max-width: 100%;
	padding-top: 56.25%;
}

.movie-inner iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

@media screen and (min-width: 769px) {
	.caption {
	font-size: 2.0rem;
	margin: 50px 0 0;
	text-align: center;
	}

	.content__title {
	font-size: 4rem;
	margin: 60px 0 40px;
	text-align: center
	}

	.content-nav {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0 auto 70px;
	max-width: 830px
	}

	.prize_list {
		margin: 0 auto 70px;
		max-width: 830px;
	}

	.prize_list li {
		margin-bottom: 30px;
	}

	.content-nav__item {
	width: 48.795%
	}

	.content-nav__item a {
	font-size: 2.4rem;
	line-height: 70px
	}

	.content-nav__item+li {
	margin-top: 0
	}
}

.content .smartphone {
	padding-top: 0
}

.content .smartphone-step-notice {
	background: #F7F7F7;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin: 40px calc(50% - 50vw) 60px;
	padding: 30px 20px;
	width: 100vw
}

.content .smartphone-step-notice dl dt {
	color: #08588c;
	font-size: 2rem;
	margin-bottom: 20px;
	text-align: center
}

.content .smartphone-step-notice dl dt.exception::after {
	display: none
}

.content .smartphone-step-notice dl dt.exception span {
	padding-left: 0;
	padding-right: 0
}

.content .smartphone-step-notice dl dd {
	font-size: 1.6rem;
	margin-bottom: 20px;
	text-align: center
}

.content .smartphone-step-notice dl dd+dt {
	margin-top: 50px
}

.content .smartphone-step-notice dl dd .list01 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.content .smartphone-step-notice dl dd .list01 li {
	margin-bottom: 6.27%;
	width: 46.865%
}

.content .smartphone-step-notice dl dd .list01 li p {
	font-size: 1.4rem;
	margin-top: 10px
}

.content .smartphone-step-notice dl dd .list02 li+li {
	margin-top: 30px
}

.content .smartphone-step-notice dl dd .list02 li div {
	background: #fff;
	border: 1px solid #BCBCBC;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px 20px 40px;
	text-align: left
}

.content .smartphone-step-notice dl dd .list02 li div span {
	display: inline-block;
	font-size: 1.4rem;
	margin-bottom: 20px
}

.content .smartphone-step-notice dl dd .list02 li div figure {
	padding: 0 40px
}

.content .smartphone-step-notice dl dd .list02 li p {
	font-size: 1.6rem;
	margin-top: 10px
}

.content .smartphone-step-notice__notice {
	font-size: 1.4rem;
	font-weight: 400;
	margin-top: 30px
}

.content .smartphone-step__terms {
	margin-bottom: 30px
}

.content .smartphone-step-check {
	text-align: center
}

.content .smartphone-step-check label {
	display: block;
	font-size: 1.8rem;
	margin-bottom: 20px
}

.content .smartphone-step-check__btn {
	background: #08588c url(../img/arrow_white.svg) right 20px center no-repeat;
	background-size: 12px 22px;
	-webkit-box-shadow: 0 3px 0 #BFBFBF;
	box-shadow: 0 3px 0 #BFBFBF;
	color: #fff;
	display: block;
	font-size: 2rem;
	line-height: 60px
}

.content .smartphone-step-check__btn--disabled {
	background-color: #959595;
	-webkit-box-shadow: 0 3px 0 #767676;
	box-shadow: 0 3px 0 #767676;
	pointer-events: none
}

@media screen and (min-width: 769px) {
	.content .smartphone-step-notice {
	margin-top: 60px;
	margin-left: auto;
	margin-right: auto;
	max-width: 1000px;
	padding: 60px 85px
	}

	.content .smartphone-step-notice dl dt {
	font-size: 2.6rem;
	margin-bottom: 20px
	}

	.content .smartphone-step-notice dl dd {
	font-size: 1.8rem;
	margin-bottom: 30px
	}

	.content .smartphone-step-notice dl dd+dt {
	margin-top: 50px
	}

	.content .smartphone-step-notice dl dd .list01 {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start
	}

	.content .smartphone-step-notice dl dd .list01 li {
	margin-bottom: 6.025%;
	width: 31.325%
	}

	.content .smartphone-step-notice dl dd .list01 li:not(:nth-child(3n)) {
	margin-right: 3.0125%
	}

	.content .smartphone-step-notice dl dd .list01 li p {
	font-size: 1.6rem
	}

	.content .smartphone-step-notice dl dd .list02 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
	}

	.content .smartphone-step-notice dl dd .list02 li {
	width: 48.795%
	}

	.content .smartphone-step-notice dl dd .list02 li+li {
	margin-top: 0
	}

	.content .smartphone-step-notice dl dd .list02 li div span {
	font-size: 1.5rem;
	margin-bottom: 30px
	}

	.content .smartphone-step-notice dl dd .list02 li div figure {
	padding: 0 40px
	}

	.content .smartphone-step-notice dl dd .list02 li p {
	font-size: 1.8rem;
	text-align: left
	}

	.content .smartphone-step-notice__notice {
	font-size: 1.6rem;
	text-align: left
	}

	.content .smartphone-step-check label {
	margin-bottom: 30px
	}

	.content .smartphone-step-check__btn {
	font-size: 2.2rem;
	margin: 0 auto;
	max-width: 480px
	}
}

.content .postcard {
	padding-top: 0
}

.content .postcard__ledo {
	font-size: 1.6rem;
	margin-top: 20px;
	text-align: center
}

.content .postcard-notice {
	background: #FFFA77;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin-top: 20px;
	padding: 20px;
	text-align: center
}

.content .postcard-notice__ledo {
	font-size: 1.6rem
}

@media screen and (min-width: 769px) {
	.content .postcard-notice {
	margin-left: auto;
	margin-right: auto;
	max-width: 830px;
	padding: 20px;
	text-align: center
	}

	.content .postcard-notice__ledo {
	font-size: 1.6rem
	}
}

.content .remarks {
	background: #F7F7F7;
	margin: 0 calc(50% - 50vw);
	width: 100vw
}

.content .remarks__title {
	font-size: 2rem;
	margin-bottom: 10px
}

.content .remarks__ledo {
	font-size: 1.4rem;
	font-weight: 400;
	margin-bottom: 30px
}

.content .remarks__ledo a {
	text-decoration: underline
}

@media screen and (min-width: 769px) {
	.content .remarks__title {
	font-size: 2rem
	}

	.content .remarks__ledo {
	font-size: 1.6rem;
	margin-bottom: 40px
	}

	.content .remarks__terms {
	max-width: none
	}
}


.cautionBox {
	margin: 30px 0 20px;
	padding: 15px;
	border: solid 3px #cc042d;
	box-sizing: border-box;
}

.cautionBox p {
	text-align: center;
	font-size: 1.2rem;
	color: #cc042d;
}

@media screen and (min-width: 769px) {
	.cautionBox {
	margin: 50px auto 30px;
	padding: 20px;
	max-width: 830px;
	}

	.cautionBox p {
	font-size: 1.6rem;
	}
}

.content .ja-banner {
	position: fixed;
	bottom: 20px;
	right: 20px
}

.content .ja-banner a {
	display: block
}

@media screen and (max-width: 768px) {
	.sp_none {
		display: none;
	}
}
