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


/* header
   ========================================================================== */
header{
	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: 4vw;
}

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

.main_btn .btn{
	margin: 0 0 1vw;
}

.main_btn a{
	margin: auto;
	width: 90%;
	display: block;
	animation: key 2s cubic-bezier(0.09, 0.71, 0.35, 0.9) infinite;
}

@keyframes key {
    0% {transform: scale(.93);}
    50% {transform: scale(1);}
    100% {transform: scale(.93);}
}

.main_btn p{
	margin: 0 0 0;
	padding: 0 18vw;
	line-height: 0;
}


/* top_block
   ========================================================================== */
.top_block{
	margin: 0 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: 6vw;
}


/* voice
   ========================================================================== */
.voice{
	margin: 0 0 0;
}

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

.voice h2 img{
	width: 80%;
}

.voice .bg{
	padding: 6vw 2% 7vw;
	background: url(../images/voice/bg.jpg) no-repeat center top;
	background-size: 100% 100%;
}

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

.voice .item{
	margin: 0 10px;
	padding: 30px 0 12px;
	font-size: 0;
}

.voice .item.border{
	background: url(../images/voice/border.png) no-repeat center top;
	background-size: 100% auto;
}

.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: #ffdd59;
	font-weight: bold;
}

.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 15px 0 0;
	padding: 5px 0 0;
	display: inline-block;
	vertical-align: middle;
	font-size: 4.5vw;
    font-weight: bold;
	color: #d99825;
	box-sizing: border-box;
}

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

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


/* introduction
   ========================================================================== */
.introduction{
	margin: 0 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: 6vw;
}


/* under_text_box
   ========================================================================== */
.under_text_box{
	margin: 0 0 ;
	padding: 0 0 10vw;
	background: url(../images/common/bg.jpg) repeat;
}

.under_text_box#company{
	margin: 30px 0 0;
}

.under_text_box .inner{
	padding: 0 2%;
}

.under_text_box h2{
	margin: 0 0 5vw;
}

.under_text_box p{
	font-size: 5vw;
	line-height: 150%;
	color: #483c17;
}


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

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: 2vw;
	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: 4vw;
	/*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;
	}

	header .under_title{
		margin: 20px 0 0;
		padding: 20px 0;
	}

	header .main_btn{
		bottom: 40px;
	}


	/* main_btn
	   ========================================================================== */
	.main_btn{
		margin: 0 0 0;
	}
	
	.main_btn .btn {
	    margin: 0 0 5px;
	}
	
	.main_btn p{
		margin: 0 auto;
		padding: 0;
        width: 70%;
	}


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

	.top_block .main_btn{
		bottom: 40px;
	}
	
	
	/* voice
	   ========================================================================== */
	.voice{
		margin: 0 0 0;
		padding: 0 0 0;
	}
	
	.voice .bg{
		margin: 0 0 0;
		padding: 40px 20px 50px;
	}
	
	.voice h2{
		margin: 0 auto;
		padding: 0 0 30px;
        width: 80%;
	}
	
	.voice .box{
		padding: 0;
	}
	
	.voice .detail {
	    padding: 0 0 2% 3%;
	}
	
	.voice .title{
		margin: 0 0 0;
		font-size: 30px;
		line-height: 150%;
	}

	.voice .star{
		margin: 0 0 3px;
		width: 45%;
	}
	
	.voice .age{
		font-size: 30px;
		padding-left: 0;
	}
	
	.voice .text{
		font-size: 24px;
	}

	.voice .main_btn{
		padding: 0 0 10px;
	}

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

	.introduction .main_btn{
		bottom: 40px;
	}


	/* under_text_box
	   ========================================================================== */
	.under_text_box{
		margin: 0 0 0;
		padding: 0 0 50px;
	}
	
	.under_text_box#company {
	    margin: 45px 0 0;
	}
	
	.under_text_box h2{
		margin: 0 0 20px;
	}
	
	.under_text_box .inner{
		padding: 0 40px;
	}
	
	.under_text_box p{
		font-size: 30px;
	}
    
    
    /* 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 15px;
	}

}


/* sub
  ========================================================================== */
div#sub_wrap{
	background: #f6ede8;
}


#sub_wrap header{
	position: relative;
}

#sub_wrap header h1{
	margin: 0 2vw 0;
  padding: 1em 3vw;
	text-align: center;
  font-size: 30px;
  color: #3d0224;
  border-bottom: dashed 1px #870E53;
}

dl.info_list {
  margin: 1em auto;
}

dl.info_list dt {
  font-weight: bold;
  margin: 0.2em 3vw 0.5em;
  color: #870E53;
  letter-spacing: .1em;
  font-size: 18px;
}

dl.info_list dd {
  margin: .5em 4vw 2em;
  color: #383838;
  font-size: 16px;
}


