@charset "utf-8";
/* CSS Document */


/* header
   ========================================================================== */
header{
	position: relative;
}

.top_form {
    padding: 27vw 0 0;
    position: absolute;
    top: 70vw;
    left: 50%;
    transform: translate3d(-50%, 0%, 0);
    width: 95vw;
    height: 70vw;
    /* transform: translate3d(0%, 0%, 0); */
    box-sizing: border-box;
    background: url("../images/form/mid.png") no-repeat center top;
    background-size: 100% 100%;
    text-align: center;
}

.top_form .main{
	line-height: 0;
}

.top_form .main{
	padding: 1px 5vw;
}

.top_form .main .form{
	margin: 0 0 0;
	min-height: 60vw;
}

.top_form .main > p{
	margin: 5px auto 0;
	width: 65%;
	line-height: 0;
	text-align: center;
	z-index: 1;
	position: relative;
}

header h1{
	margin: 0 0 0;
	padding: 0;
	text-align: center;
	line-height: 0;
}

header .main_btn{
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
}


/* main_btn
   ========================================================================== */
.main_btn{
	margin: 0 0 0;
	line-height: 0;
	text-align: center;
}

.main_btn a{
	margin: 0 0 0 0vw;
	width: 100%;
	display: block;
}


/* top_block
   ========================================================================== */
.top_block{
	margin: -1px 0 0;
	padding: 0 0 0;
	position: relative;
}

.main_bottom{
	margin: 0 auto;
	line-height: 0;
}

.top_block .main_btn{
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 4vw;
}


/* voice
   ========================================================================== */
.voice{
	margin: 0 0 0;
	padding: 0 0 0;
	position: relative;
}

.voice h2{
	margin: 0 auto 0;
	line-height: 0;
	text-align: center;
}

.voice h2 img{
	width: 100%;
}

.voice .bg{
	padding: 0 0 0;
	background: url("../images/voice/bg.jpg") no-repeat center top;
    background-size: 100% 100%;
}

.voice .box{
	margin: -4vw auto 0;
	padding: 0 0 0;
    box-sizing: border-box;
	width: 100%;
}

.voice .item{
	padding: 6vw 6vw 10vw;
	font-size: 0;
	position: relative;
}

.voice .item.border::before{
	content: "";
    background-image: url("../images/voice/border.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 90%;
    width: 100%;
    height: 7vw;
    position: absolute;
    bottom: 0;
    left: 0;
}

.voice .thum{
	width: 20%;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}

.voice .detail{
	width: 80%;
	padding: 0 0 2vw 3%;
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
}

.voice .title{
	font-size: 5vw;
	color: #bc588c;
	font-weight: bold;
	line-height: 150%;
}

.voice .star_box{
	padding: 0 0 0;
}

.voice .star{
	width: 45%;
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
}

.voice .star img{
	width: 20%;
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
}

.voice .age{
	margin: 0 10px 0 0;
	padding: 5px 0 0;
	display: inline-block;
	vertical-align: middle;
	font-size: 4.5vw;
	font-weight: normal;
	color: #ca7a4e;
	box-sizing: border-box;
}

.voice .text{
	margin: 5px 0 0;
	padding: 0 0 0;
	font-size: 4vw;
	color: #000;
	line-height: 150%;
}

.voice .main_btn{
	margin: 0vw 0 0;
	padding: 0 0 10vw;
}


/* introduction
   ========================================================================== */
.introduction{
	margin: -1px 0 0;
	text-align: center;
	position: relative;
	padding: 0 0 0;
}

.introduction .main{
	margin: 0 0 0;
	line-height: 0;
}

.introduction .main_btn{
	position: absolute;
	margin: 0;
	left: 0;
	right: 0;
	bottom: 5vw;
}


/* footer
   ========================================================================== */
footer{
	margin: 0;
	padding: 0;
	text-align: center;
	background: #000;
}

footer .footer_nav{
	margin: 0;
	padding: 20px 0;
}

footer .footer_nav ul{
	margin: 0;
}

footer .footer_nav ul li{
	display: inline-block;
	width: auto;
}

footer .footer_nav ul li a{
	font-size: 5vw;
	display: inline-block;
	margin: -3px 0 0;
	background-size: auto;
	border: none;
	padding: 0;
	color: #FFF;
	width: auto;
	text-align: left;
	background: none;
}

footer .footer_nav ul li a span{
	color: #FFF;
	border-right: 1px solid #FFF;
	height: 5vw;
	padding: 0 10px;
	font-size: inherit;
	display: inline-block;
	line-height: 1;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
}
	
footer .footer_nav ul li:last-child a span{
	border-right: none;
}


@media screen and (min-width : 640px){
    

	/* header
	   ========================================================================== */
	header h1{
		font-size: 30px;
	}

.top_form {
    padding: 165px 0 0;
    position: absolute;
    top: 450px;
    left: 50%;
    transform: translate3d(-50%, 0%, 0);
    width: 600px;
    height: 430px;
}
    
    .top_form .main{
    	line-height: 0;
    }
    
    .top_form .main{
    	padding: 1px 30px;
    }
    
    .top_form .main .form{
    	margin: 0 0 0;
    	min-height: 410px;
    }
    
    .top_form .main > p{
    	margin: 5px auto 0;
    	width: 50%;
    	line-height: 0;
    	text-align: center;
    	z-index: 1;
    	position: relative;
    }
    
    .top_form .bottom{
    	line-height: 0;
    	text-align: center;
    }


	/* main_btn
	   ========================================================================== */
	.main_btn{
		margin: 0 0 0;
	}
	
	.main_btn .btn{
	    margin: 10px 0px 30px;
	}
	
	.main_btn .btn a{
        margin: 0 0 0 0px;
	    width: 100%;
	}


	/* top_block
	   ========================================================================== */
	.top_block{
		padding: 0 0 0;
	}
	
	.main_bottom{
		margin: 0 auto;
		padding: 0 0 0;
	}

	.top_block .main_btn{
		bottom: -10px;
	}
	
	
	/* voice
	   ========================================================================== */
	.voice{
		margin: 0 0 0;
		padding: 0 0 0;
	}

	.voice .bg{
		padding: 0 0 0;
	}
	
	.voice .shadow{
		margin: 0 0 0;
	}
	
	.voice h2{
		margin: 0 auto 0;
		padding: 0;
	}
	
.voice .box {
    margin: -25px auto 0;
    padding: 0 0 70px;
}
	.voice .item{
		margin: 0;
		padding: 30px 50px 50px;
	}

    .voice .item.border::before{
        background-size: 90%;
        height: 25px;
    }
	
	.voice .detail {
	    padding: 0 0 2% 3%;
	}
	
	.voice .title{
		margin: 0 0 0;
		font-size: 32px;
		line-height: 150%;
	}

	.voice .star{
		margin: 0 0 3px;
		width: 49%;
	}

	.voice .star_box{
		margin: 5px 0 0;
	}
	
	.voice .age{
		margin: 0 25px 0 0;
		font-size: 30px;
		padding-left: 0;
	}
	
	.voice .text{
		margin-top: 15px;
        padding: 0 10px;
		font-size: 26px;
	}

	.voice .main_btn{
		margin: -0px 0 0;
		padding: 0 0 50px;
	}

	
	/* introduction
	   ========================================================================== */
	.introduction{
		margin: 0 0 0;
		padding: 0 0 0;
	}

	.introduction .main_btn{
		bottom: 0vw;
	}
    
    
    /* footer
       ========================================================================== */
	footer .footer_nav{
		padding: 28px 0;
	}
	
	footer .footer_nav ul li a{
		font-size: 30px;
	}
	
	footer .footer_nav ul li a span{
		height: 30px;
		padding: 0 25px;
	}

	
}





/****
.shine-btn {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.shine-btn::before {
    animation: shine 3s ease-in-out infinite;
    background-color: #fff;
    content: "";
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: -50px;
    transform: rotate(45deg);
    width: 25px;
	z-index: 2;
}


@keyframes shine {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.3;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 0.5;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

***/