@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Noto+Sans+JP:wght@500;700&display=swap');

:root {
	--black01: #383838;
	--pink01:#E07D8D;
	--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","メイリオ", Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', Verdana, Arial, Helvetica, 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;
	line-height: 1;
	text-align: center;
}
.sec_title .en{
	position: relative;
	font-family: 'Montserrat';
	font-weight: 500;
	font-size: 3.2rem;
}
.sec_title .jp{
	position: relative;
	font-weight: 600;
	font-size: 1.2rem;
	margin-top: 1.5rem;
}

.tweet_button01{
	width: 32rem;
	height: 5rem;
}

.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;
	padding-left: 3rem;
}
.tweet_button01 a::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 4.2rem;
	transform: translateY(-50%);
	width: 2.6rem;
	height: 2.1rem;
	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: 39rem;
	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;
	line-height: 6rem;
	text-align: center;
}
.tweet_button02 a::before{
	content: "";
	position: absolute;
	top: 3rem;
	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{
		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);
}

/* ---------------------------------------
  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;
	}

	.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: 4rem;
		left: 4rem;
		width: 24.1rem;
	 }

	.cnt_l_pc .inner{
		position: absolute;
		bottom: 1vw;
		transform: translate(-50%,0);
		left: 50%;
		width: 85%;
		max-width: 348px;
	}

	.cnt_l_pc .menu_list .item a{
		position: relative;
		font-family: 'Noto Sans JP';
		display: block;
		font-size: calc( 17 * 100vw / 1000 );
		font-weight: 500;
		line-height: 1;
		padding-left: calc( 35 * 100vw / 1000 );
		overflow: visible;
	}

	.cnt_l_pc .menu_list .item a::before{
		content: "";
		position: absolute;
		top: 0.1rem;
		left: 0;
		width: calc( 17 * 100vw / 1000 );
		height: calc( 17 * 100vw / 1000 );
		background: url(../img/arw_pink01.svg) no-repeat center center / contain;
	}

	.cnt_l_pc .menu_list .item:nth-of-type(n+2){
		margin-top: 2.5rem;
	}

	.cnt_l_pc .image{
		margin-top: 9rem;
	}

	.cnt_r_pc{
		width: calc((100% - 430px) / 2);
		height: 100%;
		position: absolute;
		top: 0;
		right: 0;
	}

	.cnt_r_pc .sns{
		position: absolute;
		top: 3.5rem;
		right: 4.8rem;
		width: 16.3rem;
		display: flex;
		justify-content: space-between;
	}

	.cnt_r_pc .sns .item{
		width: 4rem;
	}

	.cnt_r_pc .image{
		position: absolute;
		bottom: 0;
		right: calc( 47 * 100vw / 1920 );
		width: 85%;
		max-width: 554px;
	}
}

@keyframes js-slide__animation {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.2)
	}
}

@media screen and (min-width: 1101px) {
	.cnt_l_pc .menu_list{
		padding-left: 2.8vw;
	}

	.cnt_l_pc .menu_list .item a{
		font-size: 1.8rem;
		padding-left: 3.5rem;
	}

	.cnt_l_pc .menu_list .item a::before{
		width: 1.8rem;
		height: 1.8rem;
	}
}

@media screen and (min-width: 1501px) {
	.cnt_l_pc .inner{
		left: 41%;
	}
}

@media screen and (min-width: 801px) and (min-height: 740px){
	.cnt_l_pc .inner{
		top: calc(50% + 14.8rem);
		bottom:auto;
		transform: translate(-50%,-50%);
	}
}

/* ---------------------------------------
  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;
	display: flex;
	justify-content: space-between;
}

.header .sns .item{
	width: 4rem;
}


/* ---------------------------------------
  main
-----------------------------------------*/

/* mv
--------------------------------*/
#mv {
	width: 100%;
	height: auto;
}

#mv .image01 {
	line-height: 0;
	font-size: 0;
}

/* anchorlink
--------------------------------*/
.anchorlink{
	display: flex;
	flex-wrap: wrap;
}
.anchorlink .item:nth-of-type(1), .anchorlink .item:nth-of-type(2){
	width: calc(100% / 2);
	height: 8rem;
}
.anchorlink .item:nth-of-type(3), .anchorlink .item:nth-of-type(4), .anchorlink .item:nth-of-type(5){
	width: calc(100% / 3);
	height: 8rem;
}

.anchorlink .item a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 1.2rem;
	font-weight: 600;
}

.anchorlink .item a::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 13.3rem;
	height: 7rem;
	border-width: 1px;
	border-style: solid;
}

.anchorlink .item:nth-of-type(1) a::before, .anchorlink .item:nth-of-type(2) a::before{
	width: 19.8rem;
}

.anchorlink .item a::after{
	content: "";
	position: absolute;
	bottom: 1.6rem;
	left: 50%;
	transform: translateX(-50%);
	width: 1rem;
	height: 0.6rem;
	background: var(--pink01);
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.anchorlink .item:nth-of-type(2) a, .anchorlink .item:nth-of-type(3) a, .anchorlink .item:nth-of-type(5) a{
	background: rgba(255,213,220,0.3);
}
.anchorlink .item:nth-of-type(2) a::before, .anchorlink .item:nth-of-type(3) a::before, .anchorlink .item:nth-of-type(5) a::before{
	border-color: #ffffff;
}
.anchorlink .item:nth-of-type(1) a::before, .anchorlink .item:nth-of-type(4) a::before{
	border-color: #FFD5DC;
}

/* result */
#result{
	padding-top: 4rem;
}

#result::before{
	content: "";
	position: absolute;
	top: 2.4rem;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 100%;
	border-top: 1px solid var(--brown01);
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
	z-index: 99;
}
	

/* about
--------------------------------*/
#about{
	/* height: 56rem; */
	background: url(../img/bg_about01.png) no-repeat top center / cover;
}

#about::before{
	content: "";
	position: absolute;
	top: 2.4rem;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 100%;
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
	z-index: 99;
}

#about .wrap{
	position: relative;
	/* padding: 10.8rem 4.9rem 0; */
}

#about .sec_title{
	margin-bottom: 9.2rem;
}

#about .sec_title::before{
	content: "";
	position: absolute;
	top: -4rem;
	left: 50%;
	transform: translateX(-50%);
	width: 17.2rem;
	height: 14.2rem;
	background: url(../img/bgttl_about01.png) no-repeat center center / contain;
}

#about .text01{
	font-size: 1.4rem;
	line-height: calc(24.5/14);
}

#about .text01 + .text01{
	margin-top: 2.2rem;
}

/* howto
--------------------------------*/
#howto{
	background: url(../img/bg_howto01.png) no-repeat top center / 38rem;
}

#howto::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 100%;
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
}

#howto .wrap{
	position: relative;
	padding: 9.8rem 0 5rem;
}

#howto .sec_title::before{
	content: "";
	position: absolute;
	top: -5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 17.2rem;
	height: 14.1rem;
	background: url(../img/bgttl_howto01.png) no-repeat center center / contain;
}

#howto .box_wrap{
	width: 36.4rem;
	margin: 10.2rem auto 0;
}

#howto .box{
	position: relative;
	border: 1px solid var(--pink01);
	padding: 7.4rem 0 3.5rem;
	text-align: center;
}

#howto .box::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 34.4rem;
	height: calc(100% - 2rem);
	background: #FFD5DC;
}

#howto .box:nth-child(n+2){
	margin-top: 3.4rem;
}

#howto .box > *{
	position: relative;
}

#howto .box .step{
	position: absolute;
	top: -2rem;
	left: 50%;
	transform: translateX(-50%);
	width: 8rem;
	height: 8rem;
	border-radius: 100vh;
	background: #fff;
	border: 1px solid var(--pink01);
	padding-top: 1.4rem;
	color: var(--pink01);
	font-family: 'Montserrat';
	display: flex;
	align-items: center;
	flex-direction: column;
}

#howto .box .step .text{
	font-size: 1.6rem;
	font-weight: 600;
}

#howto .box .step .no{
	font-size: 3.2rem;
	font-weight: bold;
	margin-top: 2rem;
}

#howto .box_text{
	font-size: 1.6rem;
	line-height: calc(24/16);
	font-weight: 600;
}

#howto .box_note{
	font-size: 1rem;
	line-height: calc(15/10);
}

#howto .box_title{
	font-size: 1.8rem;
	font-weight: 600;
}

#howto .box_image{
	width: 31.7rem;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.16);
	margin: 0 auto;
}

#howto .box.step01 .box_note{
	margin-top: 1.6rem;
}
#howto .box.step01 .tweet_button01{
	margin: 1.5rem auto 0;
}

#howto .box.step02 .box_note{
	margin-top: 1.6rem;
}
#howto .box.step02 .box_title{
	margin: 3.6rem 0 2.8rem;
}
#howto .box.step02 .box_image + .box_image{
	margin-top: 1rem;
}

#howto .box.step03 .tweet_button02{
	margin: 1.3rem auto 0;
}

#howto .box.step04 .box_note{
	margin-top: 3rem;
}

/* pickup
--------------------------------*/
#pickup{
	height: 90.4rem;
	background: url(../img/pickup_02.jpg) no-repeat bottom center / contain;
	z-index: 1;
}

#pickup::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 100%;
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
	z-index: 99;
}

#pickup .wrap{
	position: relative;
	/* padding: 11.5rem 0 6.5rem; */
}

#pickup .sec_title .jp{
	font-size: 1.6rem;
	margin-top: 2rem;
}

#pickup .sec_title::before{
	content: "";
	position: absolute;
	top: -3.5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 17.2rem;
	height: 14.2rem;
	background: url(../img/bgttl_pickup01.png) no-repeat center center / contain;
}

#pickup .image{
	margin: 6.7rem auto 0;
	width: 37rem;
}

#pickup .text01{
	position: relative;
	margin-top: 2.2rem;
	text-align: center;
	color: var(--pink01);
	font-size: 1.6rem;
	font-weight: 600;
	line-height: calc(24/16);
}

#pickup .text01::before{
	content: "";
	position: absolute;
	top: -0.4rem;
	left: 6.5rem;
	width: 1px;
	height: 5.5rem;
	border-left: 1px solid var(--pink01);
	transform: rotate(-40deg);
}

#pickup .text01::after{
	content: "";
	position: absolute;
	top: -0.4rem;
	right: 6.5rem;
	width: 1px;
	height: 5.5rem;
	border-left: 1px solid var(--pink01);
	transform: rotate(40deg);
}

#pickup .text02{
	font-size: 1.8rem;
	line-height: calc(27/18);
	font-weight: 600;
	text-align: center;
	margin-top: 1rem;
}

#pickup .text02 .small{
	font-size: 1.5rem;
}

#pickup .text03{
	font-size: 1.4rem;
	line-height: calc(24/14);
	width: 32rem;
	margin: 1rem auto 0;
}

#pickup .button{
	width: 32rem;
	height: 5.7rem;
	margin: 2.2rem auto 0;
}

#pickup .button a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-family: 'Noto Sans JP';
	color: #9BCAFF;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1;
	border-radius: 0.8rem;
	background: #fff url(../img/arw_blue01.svg) no-repeat center right 1.7rem / 1.8rem 1.8rem;
}

/* tvcm
--------------------------------*/
#tvcm{
	position: relative;
	overflow: hidden;
	height: 72.4rem;
	background: url(../img/bg_tvcm01.jpg) no-repeat top center / 100% auto;
	margin-top: -4.6rem;
}

#tvcm::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 100%;
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
}

#tvcm .wrap{
	position: relative;
	padding: 14.5rem 0 7.5rem;
}

#tvcm .sec_title::before{
	content: "";
	position: absolute;
	top: -1.2rem;
	left: 50%;
	transform: translateX(-50%);
	width: 9rem;
	height: 7rem;
	background: url(../img/bgttl_tvcm01.png) no-repeat center center / contain;
}

#tvcm .image01{
	position: absolute;
	top: 2.5rem;
	right: -3.8rem;
	width: 22rem;
	height: 26.6rem;
	transition-delay: 0.2s;
}

#tvcm .movie{
	width: 37rem;
	margin: 9rem auto 0;
}

#tvcm .movie iframe{
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}

#tvcm .movie_mp4{
	width: 37rem;
	margin: 9rem auto 0;
}

#tvcm .movie_mp4 video{
	aspect-ratio: 185 / 104;
	width: 100%;
	height: auto;
}

#tvcm .image02{
	width: 34.2rem;
	margin: 2.5rem auto 0;
	transform: translateX(0.5rem);
	transition-delay: 0.2s;
}

#tvcm .image02.is-anime-on{
	transform: translate(0.5rem,0);
}

/* present
--------------------------------*/
#present{
	position: relative;
	overflow: hidden;
	margin-top: -15rem;
	background: url(../img/bg_present01.png) no-repeat top center / 100% auto;
}

#present::before{
	content: "";
	position: absolute;
	bottom: 9rem;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 100%;
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
	border-bottom: 1px solid var(--brown01);
}

#present .wrap{
	position: relative;
	padding: 24rem 0 11rem;
}

#present .sec_title::before{
	content: "";
	position: absolute;
	top: -4.5rem;
	left: 50%;
	transform: translateX(-50%);
	width: 9.6rem;
	height: 12rem;
	background: url(../img/bgttl_present01.png) no-repeat center center / contain;
}

#present .imagearea{
	position: relative;
	margin-top: 3rem;
	width: 100%;
	height: 50.5rem;
}

#present .image01{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 46.2rem;
	height: 46.2rem;
}

#present .image01::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 100%;
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
}

#present .image02{
	position: absolute;
	bottom: 0;
	left: 2.6rem;
	width: 19.7rem;
	height: 23.3rem;
	transition-delay: 0.2s;
}

#present .note{
	font-size: 1rem;
	position: absolute;
	bottom: 2rem;
	right: 4rem;
	text-align: right;
}

#present .text01{
	font-size: 1.6rem;
	text-align: center;
	font-weight: 600;
	margin-top: 3.8rem;
	line-height: 1;
}

#present .text02{
	font-size: 1.4rem;
	text-align: center;
	line-height: 1;
	color: var(--pink01);
	margin-top: 0.7rem;
}

#present .icon{
	width: 1.6rem;
	margin: 0.8rem auto 0;
}

#present .text03{
	font-size: 1.6rem;
	text-align: center;
	font-weight: 600;
	margin-top: 1.5rem;
	line-height: 1;
}

#present .text04{
	width: 30.5rem;
	margin: 3rem auto 0;
	transform: translateX(-0.5rem);
}

/* rules
--------------------------------*/
#rules{
	position: relative;
	margin-top: -4.6rem;
	background: url(../img/bg_rules01.png) no-repeat top center / 100% auto;
}

#rules::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 39rem;
	height: 64.3rem;
	border-left: 1px solid var(--brown01);
	border-right: 1px solid var(--brown01);
	border-bottom: 1px solid var(--brown01);
}

#rules .wrap{
	position: relative;
	padding: 11.5rem 0 14rem;
}

#rules .sec_title::before{
	content: "";
	position: absolute;
	top: -4.8rem;
	left: 50%;
	transform: translateX(-50%);
	width: 17.2rem;
	height: 14.1rem;
	background: url(../img/bgttl_rules01.png) no-repeat center center / contain;
}

#rules .box{
	width: 34.6rem;
	height: 38rem;
	border-radius: 0.8rem;
	background: #fff;
	margin: 6rem auto 0;
	overflow-y: auto;
	padding: 2.3rem 1.4rem 2rem;
	font-size: 1.4rem;
}

#rules .box .box_title{
	color: #5CBFAC;
	font-weight: 600;
	margin-bottom: 0.5rem;
}

#rules .box .box_item{
	margin-bottom: 2rem;
}

#rules .box .box_item dt{
	color: #5CBFAC;
	font-weight: 600;
}

#rules .box .box_item dd p + p{
	margin-top: 1em;
}

#rules .box a{
	color: #5CBFAC;
	text-decoration: underline;
}


/* application
--------------------------------*/
.application .wrap{
	position: relative;
	padding: 2rem 0;
}

.application .title{
	position: relative;
	text-align: center;
	font-size: 2.4rem;
	line-height: 1;
	color: var(--pink01);
}

.application .title::before{
	content: "";
	position: absolute;
	top: -5.5rem;
	right: 4rem;
	width: 5.2rem;
	height: 6rem;
	background: url(../img/bg_application01.png) no-repeat center center / contain;
}

.application .text01{
	text-align: center;
	font-size: 1.6rem;
	line-height: calc(28/16);
	margin-top: 1.8rem;
}

.application .image01{
	width: 37.7rem;
	margin: 0.5rem auto 0;
	transform: translateX(-1rem);
	transition-delay: 0.2s;
}

.application .image01.is-anime-on{
	transform: translate(-1rem,0);
}

.application .tweet_button02{
	margin: 2rem auto 0;
}

.application .text02{
	display: flex;
	justify-content: center;
	text-indent: -1em;
	margin: 1.5rem auto 0;
	font-size: 1.4rem;
	line-height: calc(21/14);
}

.application .sns{
	width: 23rem;
	display: flex;
	margin: 1rem auto 0;
	justify-content: space-between;
}

.application .sns .item{
	width: 4rem;
}

/* footer
--------------------------------*/
.footer{
	border-top: 3px solid #A26A3A;
	border-bottom: 3px solid #A26A3A;
	background: url(../img/bg_footer.png) no-repeat top center / cover;
	padding: 2rem 0;
}

.footer .copy{
	color: #707070;
	font-size: 1rem;
	text-align: center;
	font-weight: 500;
	font-family: 'Noto Sans JP';
}