/***********************************************************************/
/*初期設定*/
*{
	font-family:"Mplus 1p" ,  sans-serif;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	outline:none;
	text-overflow: ellipsis;	
}

html,body{
	font-size:2vw;
	margin:0;
	padding:0;
	width:100%;
	height:100%;
	line-height:1.8em;
}

html{
	overflow-y:scroll;
}

body{
	color:#ffffff;
}

a{
	color:#ffffff;
}

img{
	width:100%;
	height:auto;
	margin-left:auto;
	margin-right:auto;
}

header{
	padding-bottom:1em;
	border-bottom:solid 1px #ffffff;
	margin-bottom:1.5em;
}

article{
	width:100%;
	min-height:100%;
	position:relative;
	margin:0;
	padding:56px 1em 132px 1em;
	text-shadow:0.05em 0.05em 0.1em rgba(0,0,0,1) , -0.05em -0.05em 0.1em rgba(0,0,0,1);
	background-color:#606060;
	background-repeat:no-repeat;
	-webkit-background-size:cover;
	-moz-background-size:cover;
	-o-background-size:cover;
	background-size:cover;
	background-attachment:fixed;
	background-position:center center;
}

article#HOME{
	background-image:url(../img/home.png); 
}

article#SEC01{
	background-image:url(../img/bg01.png); 
}

article#SEC02{
	background-image:url(../img/bg02.png); 
}

article#SEC03{
	background-image:url(../img/bg03.png); 
}

article#SEC04{
	background-image:url(../img/bg04.png); 
}

article#SEC05{
	background-image:url(../img/bg05.png); 
}

article#SEC06{
	background-image:url(../img/bg06.png); 
}

article#SEC07{
	background-image:url(../img/bg07.png); 
}


footer{
	position:fixed;
	bottom:0;
	left:0;
	width:100%;
	max-height:80px;
	padding:15px 0px 20px 100px;
	background:url(../img/logo.svg) no-repeat 10px 20px #ff6600;
	color:#ffffff;
	line-height:18px;
}

	/***********************************************************************/
	/*ナビゲーション*/
	
		nav{
			margin:0px;
			padding:0px;
			box-shadow:0px 3px 10px 0px rgba(0,0,0,0.1) ;
			-moz-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
			-webkit-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
			-o-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
			-ms-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
			position:fixed;
			top:0px;
			left:0px;
			background-image:url(../img/menu.svg);
			background-repeat:no-repeat;
			background-color:rgba(255,120,0,1);
			background-position:right center;
			z-index:100;
		
			width:100%;
			height:auto;
			color:#ffffff;
			cursor:pointer;
			text-align:left;
		}
	
		nav ul{
			list-style:none;
			margin:0px auto 0px auto;
			padding:0px;
			line-height:40px;
			width:100%;
			position:absolute;
			top:40px;
			right:0px;
			display:none;
			background-color:rgba(255,120,0,0.9);
			font-size:14px;
		}
	
	
		nav ul li{
			height:40px;
			border-bottom:dotted 1px #ff3300;
		}
		
		nav ul li:nth-child(odd){
	
		}
	
		nav ul li a::before{
		content:"▼";
		margin-right:0.5em;
		margin-left:1em
		}
	
		nav ul li a{
			color:#ffffff;
			padding-left:0.5em;
			display:block;
			width:auto;
			height:100%;
			margin:0px;
			text-decoration:none;
			white-space:nowrap;
			overflow:hidden;
			-o-text-overflow:ellipsis;
			-ms-text-overflow:ellipsis;
			text-overflow:ellipsis;
		}
		
		nav ul li a:hover{
			background:rgba(255,120,0,1);
			text-decoration:none;
		}
	
		
		nav::before{
			display:block;
			width:auto;
			height:40px;
			line-height:40px;
			font-size:16px;
			font-weight:100;
			font-family:Century Gothic, sans-serif;
			letter-spacing:0.4rem;
			content:"";
			padding-left:40px;
		}

#PAGETOP{
	font-size:12px;
	margin:0px;
	padding:0px;
	line-height:40px;
	text-align:center;
	position:fixed;
	bottom:1em;
	right:1em;
	width:40px;
	height:40px;
	background:#ff3300;
	color:#ffffff;

		box-shadow:0px 3px 10px 0px rgba(0,0,0,0.1) ;
		-moz-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
		-webkit-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
		-o-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
		-ms-box-shadow:1px 5px 10px 0px rgba(0,0,0,0.1) ;
}

#PAGETOP a{
	color:#ffffff;
	text-decoration:none;
	width:100%;
	height:100%;
	display:block;
}

.next{
	width:100%;
	margin:20px 0px 0px 0px;
	padding:0px;
	position:absolute;
	left:0px;
	bottom:80px;
}
.next a{
	color:#ffffff;	
	display:block;
	width:48px;
	height:48px;
	text-decoration:none;
	font-size:48px;
	font-weight:800;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	text-shadow:1px 1px 10px rgba(0,0,0,1) , -1px -1px 10px rgba(0,0,0,1);
	margin-left:auto;
	margin-right:auto;
	text-align:center;
	line-height:1em;
}
/***********************************************************************/
/*見出し*/
h1,h2,h3,h4,h5,h6{
	margin:0;
	padding:0;
}

h1{
	font-size:2em;
}

h2{
	margin-top:1em;
	margin-bottom:1em;
}

h5{
	font-weight:300;
	font-size:10px;
}

h6{
	font-size:12px;
}
/***********************************************************************/
/*ページローダー*/
#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #000;
	z-index: 1;
}

#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 200px;
	margin-top: -100px;
	margin-left: -100px;
	text-align: center;
	color: #fff;
	z-index: 2;
}
/***********************************************************************/
/*コピーライト*/
#COPY{
	margin:0;
	padding:0;
	font-size:10px;
}

/***********************************************************************/
/*強調説明*/
dl.point{
	text-align:center;
	border-radius:10em;
	-moz-border-radius:10em;
	-webkit-border-radius:10em;
	background:#ff6600;
	padding:2.5em;
	width:20em;
	height:20em;
	margin-left:auto;
	margin-right:auto;
	margin-bottom:1em;
	line-height:1.5em;
}

dl.point dt{
	font-weight:600;
	margin:0px;
	padding:0px;
	margin-bottom:1em;
	text-align:center;
}

dl.point dt::before{
	content:"―";
}

dl.point dt::after{
	content:"―";
}

dl.point dd{
	margin:0px;
	padding:0px;
	text-align:center;
}

dl.point dd::after{
	content:"★";
	clear:both;
	display:block;
}

dl.point dd:last-child::after{
	content:"";
	clear:both;
	display:block;
}

	/***********************************************************************/
	/*開発ステップ*/
	ol.step{
		font-weight:600;
		margin-left:auto;
		margin-right:auto;
		padding:0px;
		list-style-position:inside;
		zoom:1;
		text-align:center;
		}
	
	ol.step::after{
		content:"";
		clear:both;
		display:block;
	}
	
	ol.step li{
		letter-spacing: normal; /* 文字間を通常に戻す */
		float:left;
		width:10em;
		margin:1vw;
		padding:1em;
		border:solid 1px #ffffff;
		border-radius:10px;
		-moz-border-radius:10px;
		-webkit-border-radius:10px;
	}

/************************************************************************/
/*流れ*/	
dl.step{
	margin-bottom:2em;
}


dl.step dt{
	font-size:1.5em;
	margin-bottom:0.5em;
}

dl.step dt::before{
	content:"\2605";
}

dl.step dd{
	margin:0px;
	padding:0 0 0 1em;
}

dl.step dl{
	font-size:0.8em;
	
}

dl.step dl dt{
	font-size:1em;
	margin:0px;
	padding:0px;
	display:inline-block;
	width:35vw;
	vertical-align:top;
}

dl.step dl dt::before{
	content:"\30FB";
}

dl.step dl dd{
	margin:0px 0px 0px -0.25em;
	padding:0px;
	display:inline-block;
	width:55vw;
	text-indent:-1em;
}

dl.step dl dd::before{
	content:"\FF1A";
	
}
	
/************************************************************************/
/*注意事項*/

ul.notice{
	font-size:0.85rem;
	list-style:none;
	line-height:1.2rem;
	margin:0px 0px 2rem 0px;
	padding:0px;
	text-align:left;
}

ul.notice li{
	margin-bottom:0.5em;
	margin-left:1.5em;
}

ul.notice li:before{
	content:"\203B";
	margin-left:-1em;
}
/***********************************************************************/
/*成果物サンプル*/
.sample{
	zoom:1;
	width:90%;
	height:100%;
	padding-bottom:2em;
	margin-left:auto;
	margin-right:auto;
}

.sample::after{
	content:"";
	display:block;
}

.sample figure{
	text-align:center;
	border:solid 1vw #ffcc33;
	border-radius:25vw;
	-moz-border-radius:25vw;
	-webkit-border-radius:25vw;
	width:25vw;
	height:25vw;
	float:left;
	margin:1vw;
	padding:0px;
	overflow:hidden;
	position:relative;
}

.sample figure img{
	width:auto;
	height:100%;
	margin:auto;
}

.sample figure figcaption{
	-webkit-transition: 1s;
	transition: 1s;
	position: absolute;
	bottom: -100%;
	left: 0;
	width: 100%;
	height: 50%;
	background: rgba(0,0,0,0.5);
	opacity: 1;
	color:#ffffff;
	padding:10px;
	-webkit-box-sizing: border-box;
	box-sizing:border-box;
	display:block;
	font-size:0.8em;
}

.sample figure:hover figcaption {
	bottom:0;
	left: 0;
}

@media print , screen and (max-width:768px){

	.sample figure{
		text-align:center;
		border:solid 1vw #ffcc33;
		border-radius:80vw;
		-moz-border-radius:80vw;
		-webkit-border-radius:80vw;
		width:80vw;
		height:80vw;
		float:none;
		margin:4vw;
		padding:0px;
		overflow:hidden;
		position:relative;
	}

}
/***********************************************************************/
/*TABLE*/
@media print , screen and (min-width:769px){
	table.table-sp1{
    	width:98%;
    	margin:0px auto 10px auto; 
    	
    }
    table.table-sp1 tr{
        border-bottom:solid 1px #cccccc;
    }
    table.table-sp1 th{
         padding-left:1em;
         padding-right:1em;
         white-space:nowrap;
         background:#333333;
    }
    table.table-sp1 td{
        margin:0px;
        padding-left:1em;
        padding-right:1em;
    }
}

@media print , screen and (max-width:768px){
    table.table-sp1{
    	width:98%;
    	margin:0px auto 10px auto; 
    }
    table.table-sp1 tr{
        display:block;
    }
    table.table-sp1 th{
        display:block;
        border-bottom:dotted 1px #cccccc;
        color:#ffffff;
        text-align:left;
    }
     table.table-sp1 th::before{
     	content:"\25BC";
     	font-size:0.8em;
     	margin-right:0.3em;
     }
    table.table-sp1 td{
        display: list-item;
        list-style:none;
        border:none;
        margin:0px 0px 1em 0px;
        padding-left:1em;
    }
}
/***********************************************************************/
/*フォームのデザイン*/
form{
	margin:1em;
	padding:1em;
	border:solid 1px #cccccc;
	border-radius:3vw;        /* CSS3草案 */  
	-webkit-border-radius:3vw;    /* Safari,Google Chrome用 */  
	-moz-border-radius:3vw;   /* Firefox用 */
}

input,textarea{
	color:#000000;
	vertical-align:top;
	height:100%;
	font-size:2.6vw;
}

fieldset{
	border:none;
}

legend{
	text-align:left;
	margin-top:1.5em;
	margin-bottom:0.5em;
}

label{
	color:#ffffff;
}

form dl{
	margin:0;
	padding:0;
	text-align:left;
}

form dl dt{
	margin:0.5em 0 0 0;
	padding:0;
	vertical-align:bottom;
	height:6vh;
	font-size:2.6vw;
	white-space:nowrap;
	overflow:hidden;
	-o-text-overflow:ellipsis;
	-ms-text-overflow:ellipsis;
	text-overflow:ellipsis;
	line-height:6vh;
}	

form dl dd{
	margin:0;
	padding:0;
	vertical-align:bottom;
	width:100%;
	height:6vh;
}

form dl.TypeA{
	margin-bottom:5px;
	vertical-align:top;
}

form dl.TypeA::after{
	content:"";
	display:block;
	clear:both;
}

form dl.TypeA dt{
	margin:0 0 0 0;
	padding:0;
	padding-left:0.2em;
	float:left;
	width:25%;
	background:#363636;
	white-space:nowrap;
	border:solid 1px #666666;
	border-right:none;
	color:#ffffff;
	vertical-align:top;
}

form dl.TypeA dt::before{
	content:"\30FB";
}

form dl.TypeA dd{
	float:left;
	width:75%;
	background:#666666;
	box-shadow: 1px 1px 8px -1px rgba(0,0,0,0.5) inset;
}

form dl.TypeA dd input[type="text"]{border:none; height:100%; width:100%; padding-left:0.3em; cursor:text;}
form dl.TypeA dd input[type="email"]{border:none; height:100%; width:100%; padding-left:0.3em; cursor:text;}
form dl.TypeA dd input[type="number"]{border:none; height:100%; width:100%; padding-left:0.3em; cursor:text;}
form dl.TypeA dd select{border:none; height:100%;}


form dl.TypeC dt{
	margin:0 0 0 0;
	padding:0;
	padding-left:0.2em;
	width:25%;
	height:5vm;
	background:#363636;
	white-space:nowrap;
	border:solid 1px #666666;
	border-bottom:none;
	color:#ffffff;
}

form dl.TypeC dt::before{
	content:"\30FB";
}

form dl.TypeC dd{
	margin-bottom:5px;
	padding:0;
	width:100%;
	height:20vh;
	border:solid 1px #666666;
	box-shadow: 1px 1px 8px -1px rgba(0,0,0,0.3) inset;
	background:#ffffff;
}

form dl.TypeC dd textarea{
	width:100%;
	height:100%;
	border:none;
	resize: none;
	padding:0.5em;
}

input[type="submit"]{
	box-shadow: 1px 1px 8px 1px rgba(0,0,0,0.3);
	padding:1em;
	margin:1em;
	width:30%;
	height:auto;
	cursor:pointer;
}

/***********************************************************************/
/*透過*/
.opacity{
	opacity:0.35;
}