body{
    color: #333;
    /* font-family: 'M PLUS 1p', sans-serif; */
    font-family: source-han-sans-japanese, sans-serif;;
    line-height: normal;
}

/* others 
--------------------------------------------------- */
.pc {display: block;}
.sp {display: none;}
.sp_{display: none;}

h1,h2{
	font-weight: 900;
}

img {
    max-width: 100%;
    height: auto;
}

.flex{
	display:flex;
	justify-content: space-between;
}
.inner{
	width: 1080px;
	margin: 0 auto;
}
.marker{
	background: #fff000;
	color: #000;
	padding: 3px 10px;
}
.yellow{
	color: #fff000;
}


@media screen and (max-width: 768px){
	.sp {display: block!important;}
	.pc {display: none!important;}
	
	.flex{
	display: inherit;
	justify-content: space-between;
}
.inner{
	width: 90%;
	margin: 0 auto;
}
}


@media screen and (max-width: 450px){
	.sp_{display: block!important;}
}

/* mainVisual 
--------------------------------------------------- */
header{
	background: #000;
	height: 25px;
	color: #fff;
	text-align: center;
	font-size: 14px;
	padding: 5px 0;
	letter-spacing: 2px;
}

.mainVisual{
	background: url("../img/mv-bg.png") no-repeat;
	background-position: center;
	background-size: cover;
	padding: 60px 0;
}
.mainVisual .content{
	width: 1180px;
	margin: 0 auto;
}

.mainVisual h1{
	margin-bottom: 20px;
}

.mainVisual h1.a{
	font-size: 26px;
	line-height: 17s5%;
	color: #fff;
	font-weight: 600!important;
	margin-bottom: 30px;
}
.mainVisual h1.b{
	font-size: 24px;
	line-height: 155%;
	color: #fff;
	font-weight: 300!important;
}
.mainVisual h1.c{
	font-size: 42px;
	line-height: 155%;
	color: #fff;
	font-weight: 600!important;
}
.mainVisual h1.c span{
	font-size: 46px;
}


@media screen and (max-width: 768px){
.mainVisual{
	background: url("../img/mv-bg_sp.png") no-repeat;
	padding: 60px 0;
}
.mainVisual .content{
	width: 90%;
	margin: 0 auto;
}

.mainVisual h1{
	margin-bottom: 20px;
	text-align: center;
}

.mainVisual h1.a{
	font-size: 24px;
	line-height: 185%;
}
.mainVisual h1.b{
	font-size: 24px;
}
.mainVisual h1.c{
	font-size: 36px;
}
.mainVisual h1.c span{
	font-size: 42px;
}
.mainVisual img.sp{
	width: 70%;
	margin: 0 auto;
}	

}
@media screen and (max-width: 450px){
.mainVisual{
	background: url("../img/mv-bg_sp.png") no-repeat center;
	padding: 30px 0;
}

.mainVisual h1.a{
	font-size: 20px;
}
.mainVisual h1.b{
	font-size: 18px;
}
.mainVisual h1.c{
	font-size: 28px;
}
.mainVisual h1.c span{
	font-size: 32px;
}
.mainVisual img.sp{
	width: 80%;
	margin: 0 auto 20px auto;
}	
.mainVisual h1 br{
	display: none;
}
.sp_{display: block!important;}
}
@media screen and (max-width: 390px){
.mainVisual h1.a{
	font-size: 20px;
    margin-bottom: 10px;
}
.mainVisual h1.b{
	font-size: 18px;
}
.mainVisual h1.c{
	font-size: 28px;
}
.mainVisual h1.c span{
	font-size: 32px;
}
.mainVisual img.sp{
	width: 90%;
	margin: 0 auto 20px auto;
}	
}
@media screen and (max-width: 390px){
.mainVisual h1.a{
	font-size: 18px;
	line-height: 170%;
}	
.mainVisual img.sp{
	width: 90%;
	margin: 0 auto;	
}
}

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

.main{
	
}
.main h1{
	font-size: 28px;
	color: #fff;
	text-align: center;
	padding: 40px 0;
	background: #000;
	font-weight: 400!important;
}

.list{
	width: 900px;
	margin: 0 auto;
	padding: 80px 0;
}
.list ul{
	list-style-type: none;
}
.list ul li {
    font-size: min(2.2vw, 20px);
    margin: 0 auto 20px;
    padding: 0 0 0 10px;
    position: relative;
}
.list ul li::before{
	content: "";
    background: url("../img/check.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: min(3vw, 30px);
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
}

@media screen and (max-width: 768px){
.main h1{
	font-size: 24px;
	padding: 40px 0;
}	
.list{
	width: 90%;
	margin: 0 auto;
	padding: 40px 0;
}
.list ul{}
.list ul li {
    font-size: 18px;
    margin: 0 auto 20px;
    padding: 0 0 0 10px;
    position: relative;
}
.list ul li::before{
	content: "";
    background: url("../img/check.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: 20px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
}
}
@media screen and (max-width: 450px){
.main h1{
	font-size: 22px;
	padding: 20px 0;
}		
.list{
	padding: 40px 0;
}	
.list ul li::before{
	content: "";
    background: url("../img/check_sp.png");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    width: min(4vw, 33px);
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
}	
}

/* .form
--------------------------------------------------- */

.form{
	background: url("../img/form-bg.png") no-repeat;
	background-position: center;
	background-size: cover;
	padding: 80px 0;
}
.form h1{
	font-size: 28px;
	font-weight: 600;
	text-align: center;
	color: #fff;
}
.form .vip{
	margin: 40px 0;
	text-align: center;
}
.form .vip > p{
	color: #fff;
	font-size: 18px;
	line-height: 170%;
}
.form .vip > p > span{
	font-weight: 600;
}
.form-box{
	width: 840px;
	margin: 60px auto;
	background: #fff;
	padding: 60px 0;
}
.form-box-inner{
	width: 760px;
	margin: 0 auto;
}

@media screen and (max-width: 768px){
.form .vip{
	margin: 40px 0;
	text-align: left;
}
.form .vip > p{
	color: #fff;
	font-size: 18px;
	line-height: 170%;
}	
.form .vip > p > br{
	display: none;
}
.form-box{
	width: 100%;
	margin: 60px auto;
	padding: 60px 0;
}
.form-box-inner{
	width: 85%;
}	
}
@media screen and (max-width: 450px){
}



/* footer
--------------------------------------------------- */

footer{
	background: #000;
	color: #fff;
	font-size: 12px;
	letter-spacing: 2px;
	padding: 7px 0;
	text-align: center;
}


/* btn
--------------------------------------------------- */

.btn{}
.btn a img{	-webkit-transition: 0.3s; -moz-transition: 0.3s; -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s;}
.btn a:hover img{ opacity: 0.7;	filter: srvc(opacity=70); -ms-filter: "srvc(opacity=70)"; margin: 0 auto;}



/* #loading 
--------------------------------------------------- */
#loading {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    transition: all 1s;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
#loading.loaded {
    opacity: 0;
    visibility: hidden;
}
.loader,
.loader:after {
    border-radius: 50%;
    width: 10em;
    height: 10em;
}
.loader {
    margin: 60px auto;
    font-size: 10px;
    position: relative;
    text-indent: -9999em;
    /* border-top: 1.1em solid black; */
    border-top: 1.1em solid #000;
    border-top: 1.1em solid #00b804;
    border-right: 1.1em solid #f1f1f1;
    border-bottom: 1.1em solid #f1f1f1;
    border-left: 1.1em solid #f1f1f1;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}
@-webkit-keyframes load8 {
    0% {
         -webkit-transform: rotate(0deg);
         transform: rotate(0deg);
    }
    100% {
         -webkit-transform: rotate(360deg);
         transform: rotate(360deg);
    }
    }
    @keyframes load8 {
    0% {
         -webkit-transform: rotate(0deg);
         transform: rotate(0deg);
    }
    100% {
         -webkit-transform: rotate(360deg);
         transform: rotate(360deg);
    }
}