@charset "utf-8";
@media screen and ( max-width:640px) {





	body {
		position: relative;
		min-width: auto;
	}
	
	.index .inner{
		width: 90%;
		margin: 0 auto;
		padding: 0 10px;
	}
	.form .inner{
		width: 94%;
	}
	
	/*------------------------------------------------------------
		ヘッダー
	------------------------------------------------------------*/
	#header{
		text-align: center;
		padding: 0;
		position: absolute;
		height: auto;
		z-index: 100;
		background: transparent;
		padding-top: calc(100%*230/640);
	}
	#header .inner{
		width: 100%;
		margin: 0;
		padding: 0;
	}
	#header ul.nav{
		margin: 0;
		letter-spacing: -.4em;
		border-top: 1px solid #0056AD;
	}
	#header ul.nav li{
		display: block;
		letter-spacing: normal;
		width: 50%;
		float: left;
		background: #FFFFFF;
		border-bottom: 1px solid #0056AD;
		padding: 0 10px 0 11px;
		padding-top: calc(100%*15/640);
		padding-bottom: calc(100%*15/640);
	}
	#header ul.nav li:nth-child(2n){
		border-left: 1px solid #0056AD;
		padding-left: 10px;
	}
	
	#header ul.nav li.activ{
		border-bottom: 1px solid #0056AD;
	}
	#header ul.nav li + li{
		margin: 0;
	}
	
	
	/*------------------------------------------------------------
		メインビジュアル
	------------------------------------------------------------*/
	.index #main-top{
		width: 100%;
		overflow: hidden;
		height: auto;
		background-image: none;
	}
	.index #main-top .inner{
		width: 100%;
		padding: 0 0 30px;
	}
	.index #main-top .bg{
		display: none;
	}
	
	.index #main-top .main-box {
		width: 90%;
		padding-top: calc(100%*100/320);
	}
	.index #main-top .main-box .ribbon {
		width: 88%;
		margin: 0 auto;
	}
	.index #main-top .main-box .ttls{
		text-align: center;
	}
	.index #main-top .main-box .ttls span{
		font-size: 4.7vw;
		background-size: 15% auto;
	}
	.index #main-top .main-box .txt01{
		margin: 0 0 20px;
	}
	.index #main-top .main-box .txt01 .txt{
		display: inline;
		float: none;
		width: auto;
	}
	.index #main-top .main-box .txt01 .img{
		display: block;
		float: right;
		width: 30%;
		padding-left: 10px;
	}
	.index #main-top .main-box .txt02 .txt{
		display: inline;
		float: none;
		width: auto;
	}
	.index #main-top .main-box .txt02 .img{
		display: block;
		float: left;
		width: 45%;
		padding-right: 10px;
	}
	
	
	
	
	.form #main-top{
		width: 100%;
		overflow: hidden;
		height: auto;
	}
	.form #main-top .inner{
		width: 100%;
		padding: 0;
	}
	.form #main-top .bg{
		display: none;
	}
	
	
	
	/* ---------------------------------------------------------
		コンテナー内
	--------------------------------------------------------- */
	/* === コンテナー === */
	.index #container{
		padding-top: 30px;
		background-size: 100% auto;
	}
	.index #container .container-ttl{
		margin: 30px 0;
	}
	.index #container .inner.wh {
	    border-radius: 0;
	    padding: 30px 2%;
	}
	.index #container .cont-sec p{
		margin: 0;
	}
	.index #container p.ttl,
	.index #container p.ttls{
		text-align: center;
	}
	.index #container .cont-sec p.ttl span{
		font-size: 25rem;
	}
	.index #container .cont-sec p.txt {
	    padding: 0;
	    margin: 0;
	}
	.index #container .cont-sec ul {
	    font-size: 12rem;
	    margin: 20px 0;
	    line-height: 2.0;
	}
	
	
	
	
	.index #container #prize p.ttl span{
		background-size: 30px auto;
		padding-left: 40px;
	}
	
	.index #container #flow {
	    margin: 60px 0 0;
	}
	.index #container #flow ol li {
		float: none;
	}
	.index #container #flow ol li + li {
		margin: 0;
		padding: 6.8% 0 0;
	}
	.index #container #flow ol li + li::before {
		background-image: url(../images/top_flow_arrow_sp.gif);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: auto 80%;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: auto;
		padding-top: 6.8%;
		content: "";
		display: block;
	}
	
	.index #container .cont-sec dl.howto {
	    margin: 20px 0;
	}
	
	.index #container .cont-sec .kiyaku {
		width: 100%;
		margin-left: 0;
		-webkit-overflow-scrolling: touch;
	}
	.index #container .cont-sec .kiyaku::-webkit-scrollbar{ 
	    width: 10px;
	}
	.index #container .cont-sec .kiyaku::-webkit-scrollbar-thumb{ 
	    background: #CCCCCC;
	    border-radius: 5px;
	}
	.index #container .cont-sec .kiyaku::-webkit-scrollbar-track-piece{
	    background: #EEEEEE;
	}
	
	.index #container .btn-space {
	    text-align: center;
	    margin: 50px 0;
	}
	.index #container .btn-space p,
	.index #container .btn-space a{
		width: 96%;
	}
	.index #container .btn-space p.pdf{
		margin-top: 10px;
	}
	.index #container .btn-space a{
		font-size: 4.3vw;
	}
	.index #container .btn-space span.txt-s{
		font-size: 3.5vw;
	}
	
	
	
	.form #container {
		padding: 0;
		margin-top: 30px;
	}
	.form #container .inner{
		padding: 30px 4%;
	}
	
	.form #container .form-ttl{
		margin: 15px 0;
	}
	.form #container .form-ttl p.ttl{
	}
	
	
	
	/* === フォームパーツ === */
	input[type=text]{
	}
	input[type=file]{
	}
	label{
	}
	label + label{
		margin-top: 5px;
	}
	label input{
	}
	label input + span{
		padding-left: 20px;
	}
	select{
	}
	
	.form table, .form tbody, .form tr, .form th, .form td{
		display: block;
		width: 100%;
	}
	.form table tr + tr{
		border-top: 1px solid #D2D2D2;
		overflow: hidden;
	}
	.form.check table tr + tr th,
	.form.check table tr + tr td{
		border: none;
	}
	.form th, .form td{
	}
	.form th{
		padding: 20px 0 0;
	}
	.form td{
		padding: 10px 0 20px;
	}
	.form .vtop{
	}
	.form th .hissu{
	}
	.form th .note{
	}
	
	.form td p{
	}
	/* ボタン */
	.form .btn-space {
		margin: 50px 0 20px;
	}
	.form .btn-space p{
		margin: 0 0 10px;
		width: 100%;
	}
	.form .btn-space a{
		display: inline-block;
		width: 90%;
		font-size: 24px;
	}
	.form .btn-space a span{
	}
	
	
	/* === 個別指定 === */
	tr.group th{
	}
	tr.group td .formhide{
	}
	
	tr.work-com td textarea{
	}
	
	tr.name td p + p{
		margin-top: 10px;
	}
	tr.name td p span.txt{
		width: 15%;
		margin: 0;
		padding-left: 10px;
	}
	tr.name td p span input{
		width: 35%;
	}
	tr.name td p span.txt:first-child{
		padding-left: 0;
	}
	tr.name td p input{
		width: 50%;
	}
	
	tr.age th{
		width: 35%;
		float: left;
	}
	tr.age td{
		width: 65%;
		float: left;
		padding: 20px 0;
	}
	
	tr.gender th{
		width: 35%;
		float: left;
	}
	tr.gender td{
		width: 65%;
		float: left;
		padding: 20px 0;
	}
	tr.gender td label{
	}
	tr.gender td label input + span {
	}
	
	tr.tel td input{
		width: 29%;
	}
	tr.tel td span{
		padding: 0;
	}
	
	tr.email td p:first-child{
		margin-bottom: 10px;
	}
	tr.email td p span{
		color: #ED7D7B;
		font-size: 14rem;
		margin-bottom: 5px;
		display: inline-block;
	}
	
	tr.bestsmile td ul{
		margin: 0;
	}
	tr.bestsmile td ul li + li{
		margin-top: 5px;
	}
	tr.bestsmile td input[type=text]{
		margin-top: 0;
		width: 94%;
		float: right;
	}
	
	
	/*------------------------------------------------------------
		フッター
	------------------------------------------------------------*/
	#footer{
		padding: 10px;
	}





}
