@charset "UTF-8";

@font-face {
  font-family: 'avantgarde';
	src: url("../fonts/avantgarde/AvantGardeDemiBT.woff2") format("woff2"),url("../fonts/avantgarde/AvantGardeDemiBT.woff") format("woff");
	font-display: swap;
    font-weight: 600;
    font-style: normal;
}
.en{
	font-family: avantgarde;
	font-weight: 600;
}

.noto{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.kiwimaru{
	font-family: 'Kiwi Maru', serif;
	font-weight: 500;
}


:root {
	--black01: #383838;
	--red01: #7D1919;
	--red02: #B71C1C;
	--blue01: #2B1CB7;
	--blue02: #3146B2;
	--yellow01:#D1B438;

	--pink01:#E4007F;
	--brown01:#A26A3A;

}
/* ---------------------------------------
  基本情報
-----------------------------------------*/

html {
	overflow-y: scroll;
}

@media screen and (min-width: 801px) {
	html {
		font-size: 62.5%;
	}
}
@media screen and (max-width: 800px) {
	html {
		font-size: calc(1000vw / 430);
	}
}

*,
*:after,
*:before {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
time,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
figure,
figcaption,
form,
input,
button,
textarea,
select {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-family: dnp-shuei-mgothic-std, sans-serif;
	font-weight: 400;
	font-style: normal;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-text-size-adjust: 100%;
}

img,
object {
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	cursor: pointer;
}

/* responsive
--------------------------------*/

@media screen and (min-width: 801px) {
	.sp {
		display: none !important;
	}
}

@media screen and (max-width: 800px) {
	.pc {
		display: none !important;
	}
}


/* base
--------------------------------*/

body {
	color: var(--black01);
	font-size: 1.0rem;
	text-align: left;
}

main {
	display: block;
	overflow: hidden;
}

section {
	position: relative;
}

p,
th,
td,
dt,
dd,
li,
input,
button,
textarea {
	font-size: 1.4rem;
	line-height: calc(21/14);
}


@media screen and (min-width: 801px) {
	.fade {
		transition: opacity 0.3s ease;
	}

	.fade,
	.fade *{
		backface-visibility:hidden;
		overflow:hidden;
		outline: 1px solid transparent;
	}

	.fade:hover {
		opacity: 0.7;
		cursor: pointer;
	}

	a[href*="tel:"] {
		pointer-events: none;
	}
}


.sec_title{
	position: relative;
	width: calc(100% - 7rem);
	line-height: 1;
	text-align: center;
	color: var(--red01);
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 3rem;
}
.sec_title:before,
.sec_title:after{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: block;
	content: '';
	background: url("../img/img_sectitle.png") no-repeat center center;
	background-size: 100% auto;
	width: 3rem;
	height: 7.2rem;
}
.sec_title:before{
	left: 0;
}
.sec_title:after{
	right: 0;
	transform: scale(-1 , 1) translateY(-50%);
}

.sec_title .en{
	position: relative;
	font-size: 3.2rem;
}
.sec_title .jp{
	position: relative;
	margin-top: .8rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 1.3rem;
}

.tweet_button01{
	width: 32rem;
	height: 8rem;
}

.tweet_button01 a{
	position: relative;
	display: flex;
	width: 100%;
	height: 100%;
	background: #19A3D6;
	border-radius: 0.8rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	justify-content: center;
	align-items: center;
}
.tweet_button01 a::before{
	content: "";
	left: 4.2rem;
	width: 2.6rem;
	height: 2.1rem;
	margin-right: 1.2rem;
	background: url(../img/logo_tw01.svg) no-repeat center center / contain;
}
.tweet_button01 a .weight_light{
	font-weight: 400;
	font-size: 1.4rem;
	overflow: visible;
}

.tweet_button02{
	width: 32rem;
	height: 6rem;
}

.tweet_button02 a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	background: #19A3D6;
	border-radius: 0.8rem;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 600;
	justify-content: center;
	align-items: center;
	padding: 1rem 0 0 3.5rem;
	line-height: calc(22.5/16);
	text-align: center;
}
.tweet_button02 a::before{
	content: "";
	position: absolute;
	top: 2rem;
	left: 2.8rem;
	transform: translateY(-50%);
	width: 2.6rem;
	height: 2.1rem;
	background: url(../img/logo_tw01.svg) no-repeat center center / contain;
}
.tweet_button02 a .weight_light{
	font-weight: 400;
	font-size: 1.4rem;
}

@media screen and (min-width: 801px) {
	.tweet_button01 a,
	.tweet_button02 a{
		border: 2px solid #19A3D6;
		transition: background-color 0.3s ease,color 0.3s ease;
	}

	.tweet_button01 a,
	.tweet_button01 a *,
	.tweet_button02 a,
	.tweet_button02 a *{
		backface-visibility:hidden;
		overflow:hidden;
		outline: 1px solid transparent;
	}

	.tweet_button01 a:hover,
	.tweet_button02 a:hover{
		background: #fff;
		color: #19A3D6;
	}
	.tweet_button01 a:hover::before,
	.tweet_button02 a:hover::before{
		background: url(../img/logo_tw01_blue.svg) no-repeat center center / contain;
	}
}
.fadein{
	opacity: 0;
	visibility: hidden;
	transform: translateY(30px);
	transition: opacity 0.8s, visibility 0.8s, transform 0.8s;
}
.fadein.is-anime-on{
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.line_dotted{
	position: relative;
	border-bottom: .3rem #FBAEAE dotted;
}

/* ---------------------------------------
  contents_wrap
-----------------------------------------*/
.contents_wrap {
	position: relative;
	width: 100%;
}

.contents {
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

@media screen and (min-width: 801px) {
	.contents_wrap {
		/*padding: 11.328125vh 0;*/
	}
	.bg_main {
		width: 100%;
		height: 100%;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		background: url(../img/bg_main.jpg) no-repeat center center;
		background-size: cover;
	}

	.contents {
		max-width: 430px;
		background: #fff;
	}

	.slide_back{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		line-height: 0;
	}

	.slide{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.slide_back img {
		transition: opacity .3s ease,transform 15s cubic-bezier(.25, .46, .45, .94);
		transform: scale(1) rotate(0.1deg);
		opacity:0;
		transform-origin: center;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.slide_back .js-slide__animation img {
		animation: js-slide__animation 16s linear 0s 1 normal;
		opacity: 1;
	}

	.slide_back figure{
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		height: 100vh;
	}

	.triangle{
		position: fixed;
		top:0;
		left:0;
		width: 100%;
		height: 100%;
	}

	.triangle img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.cnt_l_pc{
		width: calc((100% - 430px) / 2);
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}

	.cnt_l_pc .logo{
		position: absolute;
		top: -1.9vw;
		left: -1.9vw;
		width: 100%;
		max-width: 41.6rem;
	}
	.cnt_l_pc .logo .sns{
		position: relative;
		margin-top: -5rem;
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.cnt_l_pc .logo .sns .item{
		width: 6rem;
	}
	.cnt_l_pc .logo .sns .item+.item{ margin-left: 2.4rem;}

	.cnt_r_pc .inner{
		position: absolute;
		top: 40%;
		transform: translate(-50%, -50%);
		left: 50%;
		width: 85%;
		max-width: 348px;
	}

	.cnt_r_pc .menu_list .item a{
		position: relative;
		display: block;
		font-size: calc( 20 * 100vw / 1000 );
		font-weight: 400;
		line-height: 1;
		padding-left: calc( 35 * 100vw / 1000 );
		overflow: visible;
		color: #fff;
		will-change: filter;
	}

	.cnt_r_pc .menu_list .item a::before{
		content: "";
		position: absolute;
		top: 0.25rem;
		left: 0;
		width: calc( 17 * 100vw / 1000 );
		height: calc( 17 * 100vw / 1000 );
		background: url(../img/arw_white.svg) no-repeat center center / contain;
	}

	.cnt_r_pc .menu_list .item:nth-of-type(n+2){
		margin-top: 2rem;
	}

	.cnt_l_pc .image{
		position: absolute;
		right: calc( 110 * 100vw / 1920 );
		bottom: 10rem;
		width: 80%;
		max-width: 21.2rem;
	}

	.cnt_r_pc{
		width: calc((100% - 430px) / 2);
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}

	.cnt_r_pc .sns{
		position: absolute;
		z-index: 2;
		top: 3.5rem;
		right: 4.5rem;
		width: 16.3rem;
		display: flex;
		justify-content: space-between;
	}

	.cnt_r_pc .sns .item{
		width: 4rem;
	}

	.cnt_r_pc .image{
		position: absolute;
		left: 14.7rem;
		bottom: 10vh;
		margin: auto;
		width: 80%;
		max-width: 33.8rem;
		pointer-events: none;
	}
}

@keyframes js-slide__animation {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.2)
	}
}

@media screen and (min-width: 1101px) {
	.cnt_r_pc .menu_list{
		padding-left: 2.8vw;
	}

	.cnt_r_pc .menu_list .item a{
		font-size: 2rem;
		padding-left: 3.5rem;
	}

	.cnt_r_pc .menu_list .item a::before{
		width: 1.8rem;
		height: 1.8rem;
	}
	.cnt_r_pc .image{
		left: 12%;
	}
}

@media screen and (min-width: 1501px) {
	.cnt_r_pc .inner{
		left: 35%;
	}

}
@media screen and (min-width: 1801px) {
	.cnt_r_pc .image{
		left: 19rem;
	}
}

@media screen and (min-width: 801px) and (min-height: 740px){
	.cnt_r_pc .inner{
		top: 40%;
		transform: translate(-50%,-50%);
	}
	.cnt_r_pc .image{
		width: 57%;
/*		bottom: 22vh;*/
		top: 61%;
		bottom: auto;
	}
}
@media screen and (min-width: 801px) and (min-height: 740px){
	.cnt_r_pc .image{
		width: 80%;
	}
}

@media screen and (max-width: 1100px) {
	.cnt_r_pc .image{
		left: auto;
		right: 1rem;
		bottom: 17vh;
	}
}
@media screen and (min-width: 1281px) and (max-height: 680px){
	.cnt_r_pc .image{
		bottom: auto;
		top: 65%;
		width: 57%;
	}
}
@media screen and (max-width: 1000px) and (max-height: 680px){
	.cnt_r_pc .image{
		bottom: 18vh;
		top: auto;
	}
}


/* ---------------------------------------
  header
-----------------------------------------*/
.header {
	width: 100%;
	height: 60px;
	position: absolute;
	top: 0;
	left:0;
	z-index: 100;
}

.header .sns{
	position: absolute;
	top: 1.5rem;
	right: 1.4rem;
	display: flex;
	width: 14.1rem;
	justify-content: space-between;
}

.header .sns .item{
	width: 4rem;
}


/* ---------------------------------------
  main
-----------------------------------------*/

/* mv
--------------------------------*/
#mv {
	position: relative;
	width: 100%;
	opacity: 0;
}
#mv.is-mv-anime-on{
	opacity: 1;
	visibility: visible;
}

#mv .mv_logo {
	position: absolute;
	z-index: 2;
	top: 0;
	right: 0;
	width: 29.7rem;
	line-height: 0;
	font-size: 0;
}

#mv .image01 {
	line-height: 0;
	font-size: 0;
}

#mv .image01{
	width: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.2s, visibility 1.2s;
}
#mv.is-mv-anime-on .image01{
	opacity: 1;
	visibility: visible;
}


#mv .sns{
	position: absolute;
	right: 3rem;
	top: 5.4rem;
	width: 14.1rem;
	display: flex;
	justify-content: space-between;
}

#mv .sns .item{
	width: 4rem;
}

/* anchorlink
--------------------------------*/
.anchorlink{
	display: flex;
	flex-wrap: wrap;
	margin-top: -1px;
}
.anchorlink .item{
	width: calc(100% / 3);
	height: 8rem;
}
.anchorlink .item:nth-of-type(1),
.anchorlink .item:nth-of-type(3),
.anchorlink .item:nth-of-type(5){
	background: #7D1919;
}
.anchorlink .item:nth-of-type(2),
.anchorlink .item:nth-of-type(4),
.anchorlink .item:nth-of-type(6){
	background: url(../img/anchorlink_bg.png) repeat center top,#3A3737;
	background-size: 100% auto;
}

.anchorlink .item a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 1.2rem;
	font-weight: 600;
	color: #fff;
}

.anchorlink .item a::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 13.3rem;
	height: 7rem;
	border: 1px solid #FFF;
}

.anchorlink .item a::after{
	content: "";
	position: absolute;
	bottom: 1.6rem;
	left: 50%;
	transform: translateX(-50%);
	width: 1rem;
	height: 0.6rem;
	background: #FFF;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

/* about
--------------------------------*/
#about .wrap{
	position: relative;
	padding: 4.5rem 3.5rem 3rem;
}
#about .sec_title{
	width: 100%;
}
#about .text_wrap{
	position: relative;
	padding: 0 1.8rem;
	box-sizing: border-box;
}
#about .text_wrap:before,
#about .text_wrap:after{
	position: absolute;
	display: block;
	content: '';
	background-size: 100% auto !important;
}
#about .text_wrap:before{
	left: -1rem;
	top: -1rem;
	background: url("../img/star01.png") no-repeat center center;
	width: 6.8rem;
	height: 7.9rem;
}
#about .text_wrap:after{
	right: .4rem;
	bottom: -2.6rem;
	background: url("../img/star02.png") no-repeat center center;
	width: 4.3rem;
	height: 4.9rem;
}

#about .text01{
	position: relative;
	font-size: 1.4rem;
	line-height: calc(26/14);
	z-index: 2;
}


/* howto
--------------------------------*/
#howto{
	padding-top: 3rem;
	margin-bottom: 1rem;
}
#howto .box_wrap{
	width: 40.3rem;
	margin: 5.8rem auto 0;
}

#howto .box{
	position: relative;
	padding: 6rem 3.8rem 3rem;
	text-align: center;
}


#howto .box:nth-child(n+2){
	margin-top: 3.5rem;
}

#howto .box > *{
	position: relative;
}

#howto .box .step{
	position: absolute;
	top: -2.5rem;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 7.4rem;
	height: 6.9rem;
	background: url(../img/howto_bg01.png) no-repeat center center;
	background-size: 100% 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	transform: translate(0);
	transition-delay: 0.4s;
}

#howto .box .step .text{
	text-align: center;
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: .1rem;
	color: #FFF;
}

#howto .box .step .no{
	text-align: center;
	display: block;
	font-size: 3.0rem;
	font-weight: 600;
	line-height: 1;
	color: #FFF;
}

#howto .box_text{
	font-size: 1.8rem;
	line-height: calc(28/18);
	font-weight: 600;
	color: var(--red01);
}
#howto .box.step03 .box_text{
	margin-left: -1rem;
	margin-right: -1rem;
}

@media screen and (min-width: 801px) {
	#howto .box_text{
		font-size: 1.7rem;
	}
}

#howto .box_note{
	font-size: 1.3rem;
	font-weight: 500;
	line-height: calc(20/13);
}
#howto .box h3{
	text-align: center;
	font-size: 2.4rem;
	line-height: calc(28 / 24);
	font-weight: 600;
	color: var(--red02);
	margin-bottom: 2.2rem;
}

#howto .box_image{
	width: 100%;
	margin: 0 auto;
}

#howto .box.step01{
	background: url("../img/bg_box01_howto.png") no-repeat center center;
	background-size: 100% 100%;
}
#howto .box.step02{
	background: url("../img/bg_box02_howto.png") no-repeat center center;
	background-size: 100% 100%;
	padding-bottom: 4.5rem;
}
#howto .box.step03{
	background: url("../img/bg_box03_howto.png") no-repeat center center;
	background-size: 100% 100%;
	padding: 4rem 2.2rem 4rem;
}

#howto .box.step01 .box_note{
	margin-top: .9rem;
}
#howto .box.step01 .tweet_button01,
#howto .box.step02 .tweet_button01{
	margin: 2rem auto 0;
}

#howto .box.step02 .box_note{
	margin-top: 1rem;
	margin-left: -1rem;
	margin-right: -1rem;
	margin-bottom: 2rem;
}
#howto .box.step02 .box_image{
	margin: 2rem auto 0 auto;
}
@media screen and (min-width: 801px) {
	#howto .box.step02 .box_image{
		max-width: 324px;
	}
}

#howto .box.step03 .box_note{
	margin-top: 2.0rem;
}


/* pickup
--------------------------------*/
#pickup{
	padding-top: 4rem;
	box-sizing: border-box;
}
#pickup .sec_title{
	margin-bottom: 4rem;
}
#pickup .lead{
	position: relative;
	width: calc(100% - 7rem);
	margin: 0 auto 3rem auto;
	text-align: center;
	font-size: 1.8rem;
	line-height: calc(28 / 18);
	font-weight: 600;
	color: var(--blue02);
	box-sizing: border-box;
}
#pickup .lead:before,
#pickup .lead:after{
	position: absolute;
	display: block;
	content: '';
	background-size: 100% auto !important;
}
#pickup .lead:before{
	left: -1.3rem;
	top: -1.8rem;
	background: url("../img/star03.png") no-repeat center center;
	width: 4.2rem;
	height: 4.8rem;
}
#pickup .lead:after{
	right: -3rem;
	bottom: -1.4rem;
	background: url("../img/star04.png") no-repeat center center;
	width: 4.2rem;
	height: 4.8rem;
}
#pickup .txt{
	width: 100%;
	max-width: 38.2rem;
	margin: 0 auto 2.5rem auto;
}
#pickup .bg-img{
	background: url("../img/bg_pickup.jpg") no-repeat center top ,#FFF;
	background-size: 100% auto;
	box-sizing: border-box;
}
#pickup .story_wrap{
	padding: 4.5rem 2.5rem 4rem 2.5rem;
	box-sizing: border-box;
}
#pickup .story_title{
	width: 100%;
	max-width: 37.3rem;
	margin: 0 auto 22rem auto;
	background: rgba(255,255,255,.6);
	border-radius: .6rem;
	padding: 1.5rem;
	box-sizing: border-box;
}
#pickup .story_title h3{
	text-align: center;
	font-size: 1.8rem;
	line-height: calc(28 / 18);
	font-weight: 600;
	color: var(--blue01);
}

#pickup .story_box{
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
	transform: scale(1);
	transition: .2s;

}

#pickup .story_box img{
	display: block;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	overflow:hidden
}

@media screen and (min-width: 801px) {
	#pickup .story_box{
		width: 382px;
	}
}
#pickup .story_box .hover_txt{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2.5rem;
	margin: 0 auto;
	width: 8.2rem;
	height: 6.2rem;
	z-index: 2;
	opacity: 0;
	transition: .2s;
}
@media screen and (min-width: 801px) {
	#pickup .story_box:hover{
		transform: scale(1.05) rotate(0.001deg);;
	}
	#pickup .story_box:hover .hover_txt{
		opacity: 1;
	}
}

#pickup .story_box+.story_box{ margin-top: 3rem;}

#pickup .btn_wrap{
	margin: 3rem auto 0 auto;
}
#pickup .btn_wrap .button{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100%;
	height: 7.8rem;
	text-align: center;
	color: #FFF;
	font-size: 1.6rem;
	font-weight: 600;
	line-height: calc(24 / 16);
	background: var(--yellow01);
	border-radius: .8rem;
	border: 1px solid var(--yellow01);
	box-sizing: border-box;
	transition: .4s
}
@media screen and (min-width: 801px) {
	#pickup .btn_wrap .button:hover{
		color: var(--yellow01);
		background: #FFF;
	}
}

/* movie
--------------------------------*/
#tvcm{
	position: relative;
	height: 63rem;
	background: url(../img/bg_tvcm.png) no-repeat top center / 100% auto;
	padding: 9rem 0 7.5rem;
}

#tvcm .wrap{
	position: relative;
}
#tvcm .wrap:before{
	position: absolute;
	left: 0;
	top: .5rem;
	display: block;
	content: '';
	background: url("../img/bg_white.png") repeat left top;
	background: rgba(255,255,255,.8);
	background-size: 100% auto;
	filter: brightness(15) opacity(.5);
	width: 100%;
	height: 9rem;

	}
#tvcm .white-band{
	
	padding: 3.7rem 0;
	margin-bottom: 3rem;
	
	box-sizing: border-box;
}
#tvcm .sec_title{
	margin-bottom: 0;
}

#tvcm .movie{
	width: 35rem;
	margin: 3.8rem auto 0;
}

#tvcm .movie iframe{
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
	border: 0;
}

#tvcm .movie_mp4{
	width: 37rem;
	margin: 0 auto;
}

#tvcm .movie_mp4 video{
	aspect-ratio: 185 / 104;
	width: 100%;
	height: auto;
}
#tvcm .movie_mp4 a{
	transition: .4s;
}
@media screen and (min-width: 801px) {
	#tvcm .movie_mp4 a:hover{
		opacity: .7;
	}
}
#tvcm .image01{
	width: 31.6rem;
	padding-left: 1.5rem;
	margin: 1.5rem auto 0;
	transform: translate(0);
	transition-delay: 0.4s;
}


/* present
--------------------------------*/
#present{
	position: relative;
	padding-top: 5.4rem;
	z-index: 2;
}
#present:before{
	position: absolute;
	left: 0;
	right: 0;
	top: -1rem;
	margin: 0 auto;
	display: block;
	content: '';
	background: url("../img/star04.png") no-repeat center center;
	background-size: 100% auto;
	width: 4.2rem;
	height: 4.8rem;
}

#present .wrap{
	position: relative;
}

#present .sec_title{
	margin-bottom: 3rem;
}

#present .image01_box{
	position: relative;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	transform: translate(0);
	transition-delay: 0.4s;
}

#present .text01{
	text-align: center;
	margin-top: 2rem;
	font-size: 1.8rem;
	line-height: calc(28 / 18);
	font-weight: 600;
	color: var(--red01);
	
}

#present .present_btn{
	width: 32rem;
	height: 8rem;
	margin: 2rem auto 0;
}

#present .present_btn .ico{
	position: relative;
	margin: 0 auto;
	width: 1.8rem;
	height: 1.8rem;
}
#present .present_btn .ico img{
	display: block;
}

#present .icon{
	width: 4.3rem;
	margin: 1.5rem auto 2rem auto;
}

.txt_box02{
	text-align: center;
}

#present .image02{
	width: 100%;
	margin: 0 auto;
	transform: translate(0);
	transition-delay: 0.4s;
}
#present .text03{
	margin-top: .6rem;
	font-size: 1.6rem;
	line-height: calc(28 / 16);
	font-weight: 600;
	color: var(--red01);
}

#present .image03{
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 2rem auto 0 auto;
	transform: translate(0);
	transition-delay: 0.4s;
}


/* rules
--------------------------------*/
#rules{
	position: relative;
	background: #F9F3D9;
	padding: 4rem 0 3rem;
	box-sizing: border-box;
}

#rules .sec_title{
	margin-bottom: 3rem;
}

#rules .rules_wrap{
	width: 37.4rem;
	height: 38rem;
	background: #FFF;
	margin: 0 auto;
	font-size: 1.4rem;
	border-radius: .8rem;
	overflow: hidden;
}
#rules .rules_wrap .box{
	height: 35rem;
	overflow-y: auto;
	padding: 2rem 2.5rem;
}

#rules .box .box_item{
	margin-bottom: 2rem;
}
#rules .box .box_item.mb00{
	margin-bottom: 0;
}
#rules .box .mt20{
	margin-top: 2rem;
}

#rules .box .box_item dt,
#rules .box h3{
	font-weight: 400;
	font-size: 1.4rem;
	line-height: calc(24/14);
	color: var(--red02);
}

#rules .box .box_item dt.sub,
#rules .box .box_item dd p,
#rules .box .box_item dd li,
#rules .box .box_text{
	font-weight: 400;
	font-size: 1.4rem;
	line-height: calc(24/14);
	color: var(--black01);
}
#rules .box .box_item dd p + p{
	margin-top: 2rem;
}

#rules .box a{
	word-break: break-all;
	text-decoration: underline;
	color: var(--black01);
}


/* application
--------------------------------*/
.application .wrap{
	position: relative;
	padding: 2.5rem 0 0;
}

.application .title{
	position: relative;
	text-align: center;
	width: 31.2rem;
	margin: 0 auto 2rem auto;
	margin-bottom: 1.5rem;
}

.application .text01{
	text-align: center;
	font-size: 2.2rem;
	line-height: calc(28/22);
	font-weight: 600;
	color: var(--red01);
}

.application .image02{
	width: 27.5rem;
	margin: 2rem auto 0;
	transform: translate(0);
	transition-delay: 0.4s;
}

.application .tweet_button01{
	margin: 3.5rem auto 0;
}



/* footer
--------------------------------*/
.footer{
	padding: 1.7rem 0 3rem;
	background: #F8B3B3;
	box-sizing: border-box;
}

.footer .copy{
	color: #FFF;
	font-size: 1.4rem;
	font-weight: 400;
	text-align: center;
	line-height: calc(14/20);
}