@charset "UTF-8";

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

html {font-size: 62.5%}

body,html {height: 100%}

body {
	position: relative;
	font-size: 1.6rem;
	color: #333333;
	background-color: #ffffff;
	font-family: Futura, Futura-Medium, Century Gothic, Verdana,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

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

h1,h2,h3,h4,h5,h6,p {margin:0;padding:0;}

p,pre,blockquote,ul,ol,dl,dt,dd,hr,form,input {
	margin:0;
	padding:0;
}

img,table,figure {
	margin:0;
	padding:0;
	border:0;
}

table {
	border-collapse:separate;
	border-spacing:0;
	empty-cells:show;
}

li {list-style:none;}

address {font-style:normal;}

img {
	margin:0;
	padding:0;
	border:none;
	vertical-align:bottom;
}

strong {
	margin:0;
	padding:0;
	color:inherit;
	font-weight:bold;
}

em {
	margin:0;
	padding:0;
	color:inherit;
	font-weight:bold;
	font-style:normal;
}

a {
	outline:none;
	transition: color .3s, background-color .3s;
}
a:link {
	color: #2f7ae7;
	text-decoration: underline;
}

a:visited {
	color: #6628a0;
	text-decoration: none;
}

a:hover,
a:active{
	color: #279bd7;
	text-decoration: none;
}

input,textarea {
	-webkit-appearance: none;
	appearance: none;
}

body::-webkit-scrollbar{
	width: 10px;
}
body::-webkit-scrollbar-track{
	background: #fff;
	border-left: solid 1px #ececec;
}
body::-webkit-scrollbar-thumb{
	background: #ccc;
	border-radius: 10px;
	box-shadow: inset 0 0 0 2px #fff;
}

/*---------------------------------------------------------*/

@media screen and (min-width: 1px) and (max-width: 1024px) {

	a {-webkit-tap-highlight-color:transparent;}

}

/*---------------------------------------------------------*/

img,
picture {
	display: block;
	width: 100%;
	height: auto;
}

#layout {
	position: relative;
	width: 100%;
	overflow: hidden;
}

header {
	position: relative;
	margin-bottom: 160px;
}

header::after {
	position: absolute;
	bottom: -160px;
	left: 0;
	content: "";
	width: 100%;
	height: 160px;
	background: #D6F2FF url(../img/mv_btmarrow.png) no-repeat;
	background-size: 100% 160px;
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

h1 {
	display: grid;
	justify-content: center;
	align-items: center;
	height: 100px;
	/* position: absolute;
	top: 40px;
	left: 40px;
	margin: 0;
	padding: 0;
	z-index: 9999; */

}
h1 a img {max-width: 160px;}

section {
	position: relative;
	width: 100%;
	padding: 120px 0;
}
.section-title {
	position: relative;
	margin-bottom: 80px;
}
.section-title h2 {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;/*IE10*/
	-webkit-box-pack: center;
	justify-content: center;

	position: relative;
	font-size: 7vw;
	font-family: Futura, 'Montserrat', Futura-Medium, Century Gothic, Verdana,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: normal;
	line-height: 1;
	text-align: center;
}
@media screen and (min-width: 1024px) {.section-title h2 {font-size: 7.2rem}}
@media screen and (max-width: 320px) {.section-title h2 {font-size: 3rem}}

.section-title h2 span {
	position: relative;
	display: inline-block;
	color: transparent;
}
.section-title h2 span:after {
	position: absolute;
	top: 0;
	left: 0;
	color: #FF7B7B;
}

.section-title-line {
	position: relative;
	width: 11px;
	height: 41px;
	margin: 15px auto;
}
.section-title-h {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 1px;
	height: 100%;
	background-color: #FF7B7B;
}
.section-title-w {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background-color: #FF7B7B;
}

.section-title p {
	position: relative;
	padding: 0 30px;
	font-size: 1.8rem;
	line-height: 1.8;
	color: #FF7B7B;
	text-align: center;
	opacity: 0;
}
.section-title p span {display: inline-block;}

/*---------------------------------------------------------*/

#c01 .section-title h2 span:nth-child(1):after {content: "P";}
#c01 .section-title h2 span:nth-child(2):after {content: "E";}
#c01 .section-title h2 span:nth-child(3):after {content: "R";}
#c01 .section-title h2 span:nth-child(4):after {content: "F";}
#c01 .section-title h2 span:nth-child(5):after {content: "O";}
#c01 .section-title h2 span:nth-child(6):after {content: "R";}
#c01 .section-title h2 span:nth-child(7):after {content: "M";}
#c01 .section-title h2 span:nth-child(8):after {content: "A";}
#c01 .section-title h2 span:nth-child(9):after {content: "N";}
#c01 .section-title h2 span:nth-child(10):after {content: "C";}
#c01 .section-title h2 span:nth-child(11):after {content: "E";}

#c02 .section-title h2 span:after,
#c02 .section-title p {color: #101010}
#c02 .section-title-h,
#c02 .section-title-w {background-color: #101010}

#c02 .section-title h2 span:nth-child(1):after {content: "P";}
#c02 .section-title h2 span:nth-child(2):after {content: "A";}
#c02 .section-title h2 span:nth-child(3):after {content: "R";}
#c02 .section-title h2 span:nth-child(4):after {content: "T";}
#c02 .section-title h2 span:nth-child(5):after {content: "N";}
#c02 .section-title h2 span:nth-child(6):after {content: "E";}
#c02 .section-title h2 span:nth-child(7):after {content: "R";}
#c02 .section-title h2 span:nth-child(8):after {content: "S";}

#c03 .section-title h2 span:nth-child(1):after {content: "A";}
#c03 .section-title h2 span:nth-child(2):after {content: "F";}
#c03 .section-title h2 span:nth-child(3):after {content: "F";}
#c03 .section-title h2 span:nth-child(4):after {content: "I";}
#c03 .section-title h2 span:nth-child(5):after {content: "L";}
#c03 .section-title h2 span:nth-child(6):after {content: "I";}
#c03 .section-title h2 span:nth-child(7):after {content: "A";}
#c03 .section-title h2 span:nth-child(8):after {content: "T";}
#c03 .section-title h2 span:nth-child(9):after {content: "E";}

/*---------------------------------------------------------*/

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

#mv-wrap {
	display: flex;
	justify-content: center;
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

#mv-imgwrap {
	display: flex;
	align-items: center;
	width: calc( 100% - 440px );
	/* position: relative; */
	/* height: 760px; */
	/* width: calc( 100% - 440px ); */
	/* background-image: url(../img/mv_bk_2x.png); */
	/* background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 50%; */
}
#mv-imgwrap img {
	width: 100%;
	height: auto;
}

#mv-txt-1 {
	position: absolute;
	top: 160px;
	left: 0;
	right: 0;
	margin: auto;
	width: 360px;
	height: 34px;
	opacity: 0;
}

#mv-txt-2 {
	position: absolute;
	top: 240px;
	left: 0;
	right: 0;
	margin: auto;
	width: 440px;
	height: 100px;
	opacity: 0;
}

#mv-txt-3 {
	position: absolute;
	top: 350px;
	left: 0;
	right: 0;
	margin: auto;
	width: 440px;
	height: 100px;
	opacity: 0;
}

#mv-human {
	position: absolute;
	left: -40px;
	bottom: 130px;
	width: 180px;
}

#mv-sticker-1 {
	position: absolute;
	left: 10px;
	top: 510px;
	width: 100px;
	height: 100px;
	opacity: 0;
}

#mv-sticker-2 {
	position: absolute;
	left: 115px;
	top: 510px;
	width: 100px;
	height: 100px;
	opacity: 0;
}
#mv-sticker-1 img,
#mv-sticker-2 img {
	width: auto;
	height: 100%;
	margin-left: auto;
}

#mv-band-1 {
	position: absolute;
	top: 410px;
	right: 60px;
	width: 380px;
	height: 50px;
	opacity: 0;
}

#mv-band-2 {
	position: absolute;
	top: 460px;
	right: 20px;
	width: 380px;
	height: 80px;
	opacity: 0;
}

/*---------------------------------------------------------*/

#mv-formwrap {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	/* position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto; */
	width: 100%;
	max-width: 440px;
}
#mv-form {
	width: 100%;
	border: 1px solid #101010;
	background-color: #fff;
}

#mv-form a.blank {
	position: relative;
	display: inline-block;
	padding-right: 1em;
	background-repeat: no-repeat;
	background-position: right 0.4em;
}
#mv-form a.blank::after {
	position: absolute;
	top: 0.2em;
	right: 0;
	content: "";
	width: 12px;
	height: 12px;
	transition: .3s;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2212px%22%20height%3D%2212px%22%20viewBox%3D%220%200%2012%2012%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20fill%3D%22%23FFFFFF%22%20width%3D%223%22%20height%3D%223%22%2F%3E%3Cpolygon%20fill%3D%22%23FFFFFF%22%20points%3D%223%2C4%201%2C4%201%2C11%208%2C11%208%2C9%203%2C9%20%22%2F%3E%3Crect%20fill%3D%22%23FFFFFF%22%20width%3D%223%22%20height%3D%223%22%2F%3E%3C%2Fsvg%3E');
}

#mv-form a.blank:link::after {background-color: #2f7ae7}
#mv-form a.blank:visited::after {background-color: #6628a0}
#mv-form a.blank:hover::after {background-color: #279bd7}

#mv-form dl {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;

	width: 100%;
	font-size: 12px;
	border-bottom: 1px dotted #101010;
}

#mv-form dt {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	width: 150px;
	padding: 10px;
}
#mv-form dt .tag {
	display: inline-block;
	width: 30px;
	margin-right: 0.8em;
	padding: 0.5em 0;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}
#mv-form dt .tag-req {
	color: #fff;
	background: #ce3232;
}
#mv-form dt .tag-free {
	color: #fff;
	background: #20ac2a;
}
#mv-form dt div {
	width: calc( 100% - 30px );
	line-height: 1.2;
}

#mv-form dd {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;/*IE10*/
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	position: relative;
	width: calc( 100% - 150px );
	padding: 10px 10px 10px 0;
	line-height: 1.8;
}

#mv-attention {
	margin: 10px;
	font-size: 12px;
	line-height: 1.6;
	text-align: center;
}
#mv-btn {
	margin: 10px auto 20px auto;
	width: 280px;
}
#mv-btn div {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;/*IE10*/
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	padding: 15px;
	font-size: 2rem;
	line-height: 1;
	color: #ffffff;
	text-decoration: none;
	background-color: #2A7AFF;
	border-radius: 5em;
	transition: .3s;
	cursor: pointer;
}
#mv-btn div:hover {
	background-color: #27A817;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

.fixed-btn {
	position: fixed;
	bottom: -100px;
	right: 20px;
	z-index: 9998;
	transition: .8s;
}
.fixed-btn--active {bottom: 20px}
.fixed-btn a {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;/*IE10*/
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	padding: 16px 30px 16px 50px;
	font-size: 1.6rem;
	line-height: 1;
	color: #ffffff;
	text-decoration: none;
	background: #2A7AFF url(../img/icon_plane.svg) no-repeat 18px 50%;
	border-radius: 5em;
	transition: .3s;
}
.fixed-btn a:hover {
	background-color: #27A817;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

nav {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;/*IE10*/
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	position: fixed;
	top: 0;
	right: 40px;
	height: 100%;
	height: 100vh;
	z-index: 9999;
}
nav > div {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;/*IE10*/
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	position: relative;
	width: 40px;
}
nav > div::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	width: 1px;
	height: calc( 100% - 40px );
	background-color: #383a4a;
	z-index: -1;
}
nav a {
	position: relative;
	display: block;
	width: 40px;
	height: 40px;
	text-decoration: none;
	text-indent: -9999px;
}
nav a::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	width: 11px;
	height: 11px;
	border: 1px solid #383a4a;
	background: #383a4a;
	border-radius: 5em;
	transition: .3s;
	cursor: pointer;
}
nav a:hover::after {background-color: #ffffff;}
.current-01 #nav-01 a::after{background-color: #ffffff}
.current-01 #nav-02 a::after{background-color: #383a4a}
.current-01 #nav-03 a::after{background-color: #383a4a}
.current-01 #nav-04 a::after{background-color: #383a4a}
.current-01 #nav-05 a::after{background-color: #383a4a}

.current-02 #nav-02 a::after{background-color: #ffffff}
.current-02 #nav-01 a::after{background-color: #383a4a}
.current-02 #nav-03 a::after{background-color: #383a4a}
.current-02 #nav-04 a::after{background-color: #383a4a}
.current-02 #nav-05 a::after{background-color: #383a4a}

.current-03 #nav-03 a::after{background-color: #ffffff}
.current-03 #nav-01 a::after{background-color: #383a4a}
.current-03 #nav-02 a::after{background-color: #383a4a}
.current-03 #nav-04 a::after{background-color: #383a4a}
.current-03 #nav-05 a::after{background-color: #383a4a}

.current-04 #nav-04 a::after{background-color: #ffffff}
.current-04 #nav-01 a::after{background-color: #383a4a}
.current-04 #nav-02 a::after{background-color: #383a4a}
.current-04 #nav-03 a::after{background-color: #383a4a}
.current-04 #nav-05 a::after{background-color: #383a4a}

.current-05 #nav-05 a::after{background-color: #ffffff}
.current-05 #nav-01 a::after{background-color: #383a4a}
.current-05 #nav-02 a::after{background-color: #383a4a}
.current-05 #nav-03 a::after{background-color: #383a4a}
.current-05 #nav-04 a::after{background-color: #383a4a}

@media screen and (min-width: 768px) and (max-width: 1040px) {
	nav {right: 20px;}
}
@media screen and (min-width: 1px) and (max-width: 767px) {
	nav {display: none}
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

#c01 {
	background: #D6F2FF;
}

.c01-img {
	position: relative;
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 120px;
	background-color: #fff;
	border-radius: 100px;
}
.c01-img + .c01-img {
	margin-top: 120px;
}
.c01-img-inner {
	position: relative;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
	.c01-img {
		padding: 60px;
		border-radius: 50px;
	}
	.c01-img + .c01-img {
		margin-top: 60px;
	}
}
@media screen and (min-width: 1px) and (max-width: 767px) {
	.c01-img {
		padding: 30px;
		border-radius: 25px;
	}
	.c01-img + .c01-img {
		margin-top: 30px;
	}
}
.c01-img img {
	display: block;
	width: 100%;
	height: auto;
}
.c01-img-balloon {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}
.c01-img-graph {
	position: relative;
	z-index: 1;
}
.c01-img-arrow {
	position: absolute;
	top: 20px;
	right: 0;
	width: 100%;
	z-index: 90;
	opacity: 0;
	animation: c01-arrow 2s infinite ease;
	animation-delay: 0;
}
@keyframes c01-arrow {
	0% {
		top: 20px;
		opacity: 0;
	}
	10%,
	20% {
		top: 10px;
		opacity: 1;
	}
	15%,
	25%,
	100% {
		top: -10px;
		opacity: 1;
	}
}
.c01-img-catch {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	opacity: 0;
	transform: scale(2);
}
#c01-human {
	position: absolute;
	width: 248px;
	bottom: -180px;
	right: -190px;
	z-index: 9990;
}
/*

#c01-img {
	position: relative;
	width: 100%;
	max-width: 760px;
	margin: 0 auto;
}
#c01-img-balloon {
	-webkit-animation: c01-balloon 2s infinite alternate-reverse ease-out;
	-webkit-animation-delay: 0;
	animation: c01-balloon 2s infinite alternate-reverse ease-out;
	animation-delay: 0;
}
@-webkit-keyframes c01-balloon {
	0%,
	20% {opacity: 1;}
	10% {opacity: .5;}
}
@keyframes c01-balloon {
	0%,
	20% {opacity: 1;}
	10% {opacity: .5;}
}
#c01-img-graph {position: relative;}
#c01-img-txt {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transform: scale(2);
}
#c01-human {
	position: absolute;
	width: 248px;
	bottom: -180px;
	right: -190px;
	z-index: 9990;
} */

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

#c02 {
	background: #dedede url(../img/content02_bk_2x.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 50% 50%;
}

#c02-panel {
	display: table;
	width: 840px;
	margin: 0 auto;
}
#c02-panel > div {
	display: table-cell;
	width: 50%;
	padding: 0 40px;
}
#c02-panel > div img {
	position: relative;
	opacity: 0;
}

#c02-txt {
	position: relative;
	width: calc( 100% - 180px );
	max-width: 1100px;
	margin: 80px auto 0 auto;
	padding: 70px 80px;
	font-size: 1.8rem;
	background: rgba(255, 255, 255, 0.8);
}
#c02-txt li {
	position: relative;
	margin: 0.5em 0;
	padding-left: 0.8em;
	line-height: 1.8;
}
#c02-txt li::before {
	position: absolute;
	top: 0.7em;
	left: 0;
	content: "";
	width: 0.5em;
	height: 0.5em;
	background: #333333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

#c03-txt {
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 90px;
	font-size: 2rem;
	line-height: 2;
}
#c03-txt p + p {margin-top: 0.8em}
#c03-txt p strong {
	background: -webkit-linear-gradient(top, #fff 69%, #fff08d 70%, #fff08d 95%, #fff 100%);
	background: -moz-linear-gradient(top, #fff 69%, #fff08d 70%, #fff08d 95%, #fff 100%);
	background: -ms-linear-gradient(top, #fff 69%, #fff08d 70%, #fff08d 95%, #fff 100%);
	background: linear-gradient(to bottom, #fff 69%, #fff08d 70%, #fff08d 95%, #fff 100%);
}

#c03-img {
	width: calc( 100% - 180px );
	max-width: 1100px;
	margin: 90px auto 0 auto;
}
#c03-img img {
	position: relative;
	max-width: 1100px;
	opacity: 0;
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

.formset {
	padding: 0 0 90px 0;
}
.formset-wrap {
	width: calc( 100% - 180px );
	max-width: 1100px;
	margin: 0 auto;
	border: 4px solid #cccccc;
}
.formset-wrap h3 {
	position: absolute;
	top: -.5em;
	left: 50%;
	font-size: 6vw;
	font-family: Futura, 'Montserrat', Futura-Medium, Century Gothic, Verdana,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-weight: normal;
	line-height: 1;
	letter-spacing: 1px;
	z-index: 9980;
	-webkit-transform: translateY(50%);
	transform: translateX(-50%);
}

@media screen and (min-width: 1024px) {.formset-wrap h3 {font-size: 7rem}}
@media screen and (max-width: 320px) {.formset-wrap h3 {font-size: 2.8rem}}

.formset-wrap h3 span {
	display: inline-block;
	padding: 0 10px;
	background: #fff;
}

.formset-txt {
	padding: 90px;
}
.formset-txt p {line-height: 1.8}
.formset-txt p + p {margin-top: 1em;}

.formset a.blank {
	position: relative;
	display: inline-block;
	padding-right: 1em;
	background-repeat: no-repeat;
	background-position: right 0.4em;
}
.formset a.blank::after {
	position: absolute;
	top: 0.2em;
	right: 0;
	content: "";
	width: 12px;
	height: 12px;
	transition: .3s;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2212px%22%20height%3D%2212px%22%20viewBox%3D%220%200%2012%2012%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20x%3D%229%22%20y%3D%229%22%20fill%3D%22%23FFFFFF%22%20width%3D%223%22%20height%3D%223%22%2F%3E%3Cpolygon%20fill%3D%22%23FFFFFF%22%20points%3D%223%2C4%201%2C4%201%2C11%208%2C11%208%2C9%203%2C9%20%22%2F%3E%3Crect%20fill%3D%22%23FFFFFF%22%20width%3D%223%22%20height%3D%223%22%2F%3E%3C%2Fsvg%3E');
}

.formset a.blank:link::after {background-color: #2f7ae7}
.formset a.blank:visited::after {background-color: #6628a0}
.formset a.blank:hover::after {background-color: #279bd7}

.formset dl {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;

	width: 100%;
	min-height: 80px;
	border-bottom: 1px dotted #cccccc;
}
.formset dl:nth-of-type(1) {border-top: 1px dotted #cccccc;}

.formset dt {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: start;/*IE10*/
	-webkit-box-align: start;
	align-items: flex-start;

	width: 336px;
	padding: 30px 20px;
}
.formset dt .tag {
	display: inline-block;
	width: 3em;
	margin-right: 0.8em;
	padding: 0.5em;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
}
.formset dt .tag-req {
	color: #fff;
	background: #ce3232;
}
.formset dt .tag-free {
	color: #fff;
	background: #20ac2a;
}
.formset dt div {line-height: 1.2;}

.formset dd {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;/*IE10*/
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	position: relative;
	width: calc( 100% - 336px );
	padding: 20px 20px 20px 0;
	line-height: 1.8;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="number"] {
	display: block;
	width: 100%;
	height: 36px;
	padding: 0 10px;
	font-size: 16px;
	line-height: 1.2;
	border: 1px solid #d5d5d5;
	border-radius: 6px;
	outline: none;
	transition: .3s;
}
textarea {
	display: block;
	width: 100%;
	padding: 10px;
	font-size: 16px;
	line-height: 1.8;
	border: 1px solid #d5d5d5;
	border-radius: 6px;
	outline: none;
	transition: .3s;
}

:-ms-input-placeholder {color:#aaa}

::-webkit-input-placeholder {color:#aaa}

:-moz-placeholder,
::-moz-placeholder {color:#aaa}

.formset-half {width: 50% !important}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
textarea:focus,
button:focus {box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);}

:required {
	box-shadow: none;
}
:invalid {
}

/*---------------------------------------------------------*/

.formset-attention {
	width: 100%;
}

.formset-radioset input[type="radio"],
.formset-radioset input[type="checkbox"] {
	position: absolute;
	opacity: 0;
}

.formset-radioset label {
	position: relative;
	display: table-cell;
	height: 36px;
	line-height: 1.2;
	padding: 0 40px 0 42px;
	vertical-align: middle;
	white-space: nowrap;
	cursor: pointer;
}
.formset-radioset label::before {
	position:absolute;
	top: 0;
	left: 0;
	content: "";
	width: 36px;
	height: 36px;
	border: 1px solid #d5d5d5;
	background: #fff;
	transition: .3s;
}
.formset-radioset label::after {
	position:absolute;
	top: 10px;
	left: 9px;
	margin: auto;
	content: "";
	width: 18px;
	height: 12px;
	border-bottom: 4px solid #fff;
	border-left: 4px solid #fff;
	opacity: 0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	transition: .3s;
}
.formset-radioset input:checked,
.formset-radioset input:checked + label::before {
	background: #2770C6;
	border-color: #2770C6;
}
.formset-radioset input:checked + label::after {
	opacity: 1;
}
.formset-radioset input[type="radio"] + label::before {border-radius: 50%;}
.formset-radioset input[type="checkbox"] + label::before {border-radius: 6px;}
.formset-radioset label:hover::before,
.formset-radioset input:focus + label::before {box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);}

.formset--2column {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;/*IE10*/
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	width: 100%;
	margin-left: -20px;
}
.formset--2column > div {
	width: 50%;
	padding-left: 20px;
}

/*---------------------------------------------------------*/

.input--error {
	background-color: #fff1f1 !important;
	border-color: #ce3232 !important;
}

.error-balloon-wrap {
	position: relative;
	width: 100%;
}
.error-balloon {
	display: none;
	position: absolute;
	bottom: 0;
	width: 100%;
	margin-bottom: 5px;
	padding: 0.3em 0.5em;
	font-size: 1.4rem;
	line-height: 1.2;
	color: #fff;
	background: #ce3232;
	box-shadow: 0 0 5px #ce3232;
	z-index: 1;
	transition: .3s;
}

.error-balloon::after {
	position: absolute;
	bottom: -3px;
	left: 14px;
	content: "";
	width: 8px;
	height: 8px;
	background: #ce3232;
	transform: rotate(45deg);
	z-index: -1;
}

.error-balloon--active {display: block;}

/*---------------------------------------------------------*/

.submit {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;/*IE10*/
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;
	-ms-flex-wrap: wrap;/*IE10*/
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	padding: 50px 0 55px 0;
}
.submit *:not(form) {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-pack: center;/*IE10*/
	-webkit-box-pack: center;
	justify-content: center;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	-webkit-appearance: none;
	appearance: none;
	position: relative;
	width: 240px;
	height: 60px;
	margin: 0 10px;
	font-size: 1.8rem;
	line-height: 1;
	text-decoration: none;
	color: #fff;
	border-radius: 5em;
	border: 1px solid #2A7AFF;
	background-color: #2A7AFF;
	white-space: nowrap;
	box-shadow: 0 0 8px transparent;
	transition: .3s;
	outline: none;
	cursor: pointer;
}

.submit *:not(form):not(.submit-send) {
	color: #333;
	background: #fff;
	border: 1px solid #333;
}
.submit *:not(form):not(.submit-send):hover {
	background: #f5f5f5;
	border-color: #333;
}
.submit *:not(form):hover {
	border-color: #27A817;
	background-color: #27A817;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

footer {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;/*IE10*/
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;

	position: relative;
	width: 100%;
	background: #101010;
}
footer > * {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	height: 50px;
	padding: 0 20px;
}
footer li {
	padding-right: 20px;
	font-size: 1.2rem;
}

footer address {margin-left: auto;}
footer a {
	font-size: 1.2rem;
	line-height: 1;
	text-decoration: none;
	color: #fff;
}
footer a:link,
footer a:visited {
	color: #fff;
	text-decoration: none;
}
footer a:hover {color: #279bd7}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

@media screen and (min-width: 1029px) and (max-width: 1180px) {
	#mv-wrap {
		max-width: calc( 100% - 80px );
	}
	#mv-imgwrap {
		width: calc( 100% - 460px );
		margin: 0 auto;
	}
	#mv-txt-1 {top: 120px;}
	#mv-txt-2 {top: 210px;}
	#mv-txt-3 {top: 320px;}
	#mv-human {display: none}
	#mv-sticker-1 {
		top: 420px;
		width: 90px;
		height: 90px;
	}
	#mv-sticker-2 {
		top: 420px;
		left: 105px;
		width: 90px;
		height: 90px;
	}
	#mv-band-1 {
		top: 380px;
		right: 0px;
	}
	#mv-band-2 {
		top: 435px;
		right: -30px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1028px) {
	#mv-wrap {
		display: block;
		max-width: calc( 100% - 80px );
		/* padding-bottom: 20px; */
	}
	#mv-imgwrap {
		/* height: 660px; */
		width: 90%;
		margin: 0 auto;
		padding-bottom: 20px;
	}
	#mv-txt-1 {top: 120px;}
	#mv-txt-2 {top: 210px;}
	#mv-txt-3 {top: 320px;}
	#mv-human {display: none}
	#mv-sticker-1 {
		top: 420px;
		width: 90px;
		height: 90px;
	}
	#mv-sticker-2 {
		top: 420px;
		left: 105px;
		width: 90px;
		height: 90px;
	}
	#mv-band-1 {
		top: 390px;
		right: 10px;
	}
	#mv-band-2 {
		top: 435px;
		right: -30px;
	}
	#mv-formwrap {
		position: static;
		max-width: 80%;
		margin: 0 auto;
		/* margin: -40px auto 40px auto; */
	}
}
@media screen and (min-width: 768px) and (max-width: 1040px) {
	header {margin-bottom: 120px;}
	header::after {background-size: 100% 120px;}
	section {padding: 100px 0;}
	/*.section-title h2 {font-size: 6.8rem}*/

	#c01-img {max-width: 600px;}

	#c02-panel {width: calc( 100% - 100px );}
	#c02-panel > div {padding: 0 30px;}

	#c02-txt {
		width: calc( 100% - 160px );
		padding: 50px 60px;
	}

	#c03-img {margin-top: 80px}

	/*.formset-wrap h3 {font-size: 5.4rem;}*/
	.formset-wrap {width: calc( 100% - 120px );}
	.formset {padding-bottom: 60px}
	.formset-txt {padding: 40px;}
}

@media screen and (min-width: 1px) and (max-width: 767px) {
	/* header {margin-bottom: 40px;}
	header::after {background-size: 100% 40px;} */
	h1 {
		height: 60px;
	}
	h1 a img {max-width: 90px;}
	section {padding: 40px 0;}
	/*.section-title h2 {font-size: 3rem}*/
	.section-title p {font-size: 1.4rem}
	.section-title {margin-bottom: 30px}
	.section-title-line {
		width: 9px;
		height: 31px;
		margin: 10px auto;
	}
	.section-title p {font-size: 1.6rem;}

	#mv-wrap {
		display: block;
		max-width: 100%;
		padding-bottom: 20px;
	}
	#mv-imgwrap {
		width: 90%;
		/* max-width: 440px; */
		/* height: 440px; */
		margin: 0 auto;
		padding-bottom: 20px;
		/* background-image: url(../img/mv_bk_sp.png);
		background-size: 90% auto; */
	}
	#mv-txt-1 {width: 190px; top: 130px;}
	#mv-txt-2 {width: 220px; top: 165px;}
	#mv-txt-3 {width: 220px; top: 220px;}
	#mv-human {display: none}
	#mv-sticker-1 {
		width: 60px;
		height: 60px;
		left: 20px;
		top: 50px;
	}
	#mv-sticker-2 {
		width: 60px;
		height: 60px;
		left: 86px;
		top: 50px;
	}
	#mv-band-1 {
		top: 250px;
		right: 50px;
		width: 200px;
		height: 22px;
	}
	#mv-band-2 {
		top: 272px;
		right: 20px;
		width: 200px;
		height: 35px;
	}
	#mv-formwrap {
		position: static;
		width: calc( 100% - 40px );
		max-width: 440px;
		margin: 0 auto;
		/* margin-top: -40px; */
	}
	#mv-form dl {display: block;}
	#mv-form dt {
		width: 100%;
	}
	#mv-form dd {
		width: 100%;
		padding: 0 10px 10px 10px;
	}
	#mv-btn {
		bottom: 10px;
		width: 240px;
	}
	#mv-btn a {padding: 20px 0; font-size: 1.6rem}

	#c01-human {display: none}
	#c01-img {max-width: calc( 100% - 80px );}

	#c02 {background-image: url(../img/content02_bk_1x.png);}
	#c02-panel {width: calc( 100% - 20px );}
	#c02-panel > div {padding: 0 10px;}

	#c02-txt {
		width: calc( 100% - 40px );
		margin-top: 20px;
		padding: 10px 20px;
		font-size: 1.4rem;
	}

	#c03-txt {
		padding: 0 40px;
		font-size: 1.6rem;
	}
	#c03-img {
		width: calc( 100% - 20px );
		margin-top: 30px;
	}

	.formset {padding-bottom: 20px}
	.formset-wrap {
		width: calc( 100% - 40px );
		border-width: 1px;
	}
	/*.formset-wrap h3 {font-size: 3rem;}*/
	.formset-txt {padding: 20px;}
	.formset--2column > div {width: 100%;}
	.formset--2column > div + div {margin-top: 10px;}
	.submit {padding: 30px 0 35px 0}
	.submit *:not(form) {
		width: 120px;
		height: 50px;
		font-size: 1.6rem;
		margin: 0 5px;
	}
	.formset-half {width: 100% !important;}

	footer > * {
		width: 100%;
		padding: 0 10px;
	}
	footer ul {background: #333333;}
	footer li {width: 50%;}
	footer a {font-size: 1rem;}
	footer address {
		-ms-flex-pack: center;/*IE10*/
		-webkit-box-pack: center;
		justify-content: center;
	}
}

@media screen and (min-width: 601px) and (max-width: 768px) {
	header {margin-bottom: 60px;}
	header::after {background-size: 100% 60px;}
	/*.section-title h2 {font-size: 5.4rem}*/
	#c01-img {max-width: calc( 100% - 160px );}
	#c01-human {display: none}

	#c02-panel {width: calc( 100% - 80px );}
	#c02-panel > div {padding: 0 30px;}
	#c02-txt {
		width: calc( 100% - 140px );
		margin-top: 40px;
		padding: 40px 50px;
		font-size: 1.6rem;
	}

	#c03-img {
		width: calc( 100% - 120px );
		margin-top: 50px;
	}
}

@media screen and (min-width: 1px) and (max-width: 979px) {
	.formset dl {
		display: block;
		min-height: auto;
	}
	.formset dt {
		-ms-flex-align: center;/*IE10*/
		-webkit-box-align: center;
		align-items: center;
		width: 100%;
		padding: 10px 10px 0 10px;
	}
	.formset dt div {
		font-size: 1.2rem;
		color: #999;
	}
	.formset form dt div {color: #333}
	.formset dd {
		width: 100%;
		padding: 10px;
	}
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/

#thanks-mv {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding-top: 60px;
}
#thanks header {margin: 0;}
#thanks header::after {display: none}

#thanks {
	position: relative;
	width: 100%;
	height: auto !important;
	height: 100%;
	min-height: 100%;
}

#thanks header {
	min-height: auto;
}
#thanks #wrap {
	position: relative;
	padding-bottom: 50px;
}

#thanks footer {
	position: absolute;
	bottom: 0;
	left: 0;
}

.thanks-number {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;

	margin-bottom: 3em;
	border: 1px solid #101010;
}
.thanks-number h4 {
	display: -ms-flexbox;/*IE10*/
	display: -webkit-flex;
	display: flex;
	-ms-flex-align: center;/*IE10*/
	-webkit-box-align: center;
	align-items: center;

	padding: 1em;
	border-right: 1px dotted #101010;
}
.thanks-number p {padding: 1em;}


@media screen and (min-width: 1px) and (max-width: 768px) {
	#thanks #wrap {padding-bottom: 100px;}
	#thanks-mv {padding-top: 30px}
	.thanks-number {
		display: block;
		margin-bottom: 1.4em;
	}
	.thanks-number h4 {
		display: block;
		font-size: 1.2rem;
		font-weight: normal;
		border-right: none;
		border-bottom: 1px dotted #101010;
		text-align: center;
	}
}

/*---------------------------------------------------------*/
/*---------------------------------------------------------*/