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

*{
	outline:0;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	tap-highlight-color:rgba(0,0,0,0);
}
html{
}
body{
	padding:0;
	margin:0;
	text-align:center;
	font-size: 14px;
	color:#534741;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background: #444;
}
a{
	color:#534741;
	text-decoration: none;
	-webkit-transition:all 0.4s ease-out;
	-moz-transition:all 0.4s ease-out;
	-o-transition:all 0.4s ease-out;
	-ms-transition:all 0.4s ease-out;
	transition:all 0.4s ease-out;
}
a:hover{
}
img{
	display:block;
	border:0;
	margin:0 auto;
	padding:0;
	max-width: 100%;
}
.spimg{
	width:380px;
	max-width: 100%;
	height: auto;
}
.vhidden{
	visibility: hidden;
}
.gimg{
	filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);

	filter: gray;
	-webkit-filter: grayscale(100%);
	-webkit-transition:all 1s ease-out;
	-moz-transition:all 1s ease-out;
	-o-transition:all 1s ease-out;
	-ms-transition:all 1s ease-out;
	transition:all 1s ease-out;
}
.gimg:hover,.gimg.on{
	filter: none;
	-webkit-filter: grayscale(0%);
	-moz-filter: grayscale(0%);
	-ms-filter: grayscale(0%);
	-o-filter: grayscale(0%);
	filter: grayscale(0%);
}
.bimg{
	-webkit-filter: blur(5px);
    filter: blur(5px);
	-webkit-transition:all 1s ease-out;
	-moz-transition:all 1s ease-out;
	-o-transition:all 1s ease-out;
	-ms-transition:all 1s ease-out;
	transition:all 1s ease-out;
}
.bimg:hover,.bimg.on{
	-webkit-filter: blur(0px);
    filter: blur(0px);

}

input,textarea{
	border:none;
	font-size:110%;
	vertical-align:top;
}

.icon{
	display:inline-block;
	background: #f00;
	color: #fff;
	padding: 3px;
	border-radius: 100px;
	vertical-align: middle;
	line-height: 1;
	font-size: 70%;
	margin: -3px 0.3em 0 0;
}
@media screen and (max-width:767px) {
	img{
		max-width:100%;
	}
}


/*-----------------------------------------------------------------------------* common */
html,body,.container{
}
body.pc{
	display: flex;
	align-items: center;
	justify-content: center;
	height:100vh;
}
#body_inner{
	width:375px;
	max-width: 375px;
	margin:0 auto;
	position:relative;
	height:100vh;
	overflow:hidden;
}
.pc #body_inner{
	height:667px;
	box-shadow: 0 20px 36px rgba(0,0,0,0.2);
	border-radius:4px;
}
.container{
	position: absolute;
	top:0;left:0;bottom:0;right:0;
	overflow: hidden;
	background: #fafaf9;
}
.contents{
	position: absolute;
	top:62px;left:0;bottom:0;right:0;
	-webkit-overflow-scrolling: touch;
	overflow-y:auto;
	background: #f3f3f3;
}
.hide_header .contents{
	top:0;
}
.contents.f{
	bottom:59px;
}
.contents.fmini{
	bottom:50px;
}
.content{
	background: #fafaf9;
}
.link{
	display: flex;
	align-items: center;
	text-align: left;
	margin-left: 18px;
	padding-left: 7px;
	padding-right: 25px;
	height: 56px;
	border-bottom:rgba(83,71,65,0.1) 0.6px solid;
	align-items: center;
}
.link:last-child{
	margin-left: 0;
	padding-left: 25px;	
}

@media screen and (max-width:767px) {
	img{
		max-width:100%;
		height:auto;
		width:  100%;
	}
	.sec_h{
		background-attachment:initial;
	}
	.sec_bg{
		background-attachment:initial;
	}
	.sec h2{
	}
	.sec .sec_tit{
		position: absolute;
		left: 5%;
		right:5%;
		top: 50%;
		text-align: center;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		margin:0;
		padding: 24px 10px 16px;
		background: rgba(20,20,20,0.8);
	}
	.sec p{
		line-height: 1.9;
		font-size:96%
	}
}



/*-----------------------------------------------------------------------------* header */

.header{
	z-index: 10000;
	position: absolute;
	top:0;
	left: 0;
	right:0;
	display: flex;
	align-items: center;
	justify-content: center;
	background:center no-repeat #fafaf9;
	background-size: auto 100%;
	background-image: url(../images/ios_header.png);
	padding-top:20px;
	background-size:auto 20px;
	background-position:center top;
}
.hide_header .header{
	background: none;
}
.header:before{
	content:"";
	position: absolute;
	left:0;bottom:-0.6px;right:0;
	height: 0.6px;
	background: #534741;
	opacity: 0.2;
}
.hide_header .header:before{
	opacity: 0;
	
}
.header-content{
	height: 42px;
	display: flex;
	align-items: center;
	font-size: 15px;
	font-weight:bold;
}
.hide_header .header-content,.hide_header .header-left,.hide_header .header-right{
	opacity:0;
}

.header-left{
	position: absolute;
	left: 15px;
	top: 17px;
	bottom: 0;
	width: 100px;
	text-align: left;
	justify-content: left;
	display: flex;
	align-items: center;
}
.header-right{
	position: absolute;
	right: 15px;
	top: 17px;
	bottom: 0;
    min-width:50px;
	justify-content: right;
	display: flex;
	align-items: center;
    text-align: right ;
}

@media screen and (max-width:767px) {
	#header{
	}
}
/*-----------------------------------------------------------------------------* footer */

.footer{
	position: absolute;
	bottom:0;
	left:0;
	right: 0;
	display: block;
	height: 59px;
	background:#fff;
	background-size: auto 100%;
}
.footer.fmini{
	height: 50px;
}
.footer:before{
	content:"";
	position: absolute;
	left:0;top:-0.6px;right:0;
	height: 0.6px;
	background: #534741;
	opacity: 0.2;
}

#footer_links{
	border-top:1px solid rgba(255,255,255,0.2);
	border-bottom:1px solid rgba(255,255,255,0.2);
	margin:0 30px 40px;
}
#footer_links a{
	position:relative;
	display:inline-block;
	padding:30px 0 30px 30px;
	color: #ddd;
}
#footer_links a:after{
	content:"";
	display:inline-block;
	height:19px;
	width:1px;
	background: rgba(255,255,255,0.2);
	vertical-align:top;
	margin-left:30px;
}
#footer_links a:last-child:after{
	display:none;
}
#copyright{
	font-size:11px;
	color:#7f7876;
	margin-top:20px;
}

#pagetop{
	display: none;
	position:fixed;
	bottom:35px;
	right:35px;
	width:67px;
	height:67px;
	background:#bcb9b8;
	border-radius:67px;
	opacity:0.7;
}
#pagetop img{
	padding:27px 0;
}

@media screen and (max-width:767px) {
	#footer_links{
		display:none;
	}	
	#pagetop a{
		bottom:30px;
		right:20px;
		width:50px;
		height:50px;
		border-radius:50px;
	}
	#pagetop img{
		padding:18px 0;
	}
	#footer{
		display: block;
		position: relative;
		padding: 15px 10px 40px;
		background: url(../images/footer_bg.png) center -20px no-repeat;
		background-size: 120px;
	}
}

/*-----------------------------------------------------------------------------* img */
#img1{
	height: 100%;
	background:#3abfc7;
	overflow: hidden;
}
#img1 #top_title{
	position: absolute;
	bottom: 0;
	left: 50%;
	margin: 0 0 0 -512px;
	z-index:100;
	top: auto;
	max-height:100%;
}
#img1 #top_title img{
	display:block;
	margin:0 auto;
	max-height:100%;
	overflow:hidden;
}
#app_header{
	background:#fff;
	position:absolute;
	left:0;
	top:auto;
	right:0;
	bottom:0;
	box-shadow:0 8px 20px rgba(3, 122, 128, 0.2);
	z-index: 200;
	position:fixed;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}
#app_header.off{
	-webkit-transform: translate(0px, 100%);
	-moz-transform: translate(0px, 100%);
	-o-transform: translate(0px, 100%);
	-ms-transform: translate(0px, 100%);
	transform: translate(0px, 100%);
}
#img2{
	background-image: url(../images/img1.jpg);
}
#img3{
	background-image: url(../images/img2.jpg);
	height:500px;
}

#sec1{
}
#sec3{
	background:#3abfc7;
}
.time_sec, .time_sec .sech_inner{
	height:100%;
	display: block;
	overflow: visible;
}
.time_content{
	height:80%;
	min-height:600px;
	position:relative;
	width: auto;
}
#time6{
	height:100%;
}
.time_content div{
	width:1024px;
	margin:0 auto;
	position: relative;
}
.time_content img{
	margin:0;
}
.time_content .texts{
	position:absolute;
	left:50%;
	top:50%;
	margin:-200px 0 0 -512px;
}
.tit,.fukidashi{
	opacity:0;
    -webkit-transition: opacity 0.3s ease-out;
    -moz-transition: opacity 0.3s ease-out;
    -o-transition: opacity 0.3s ease-out;
    -ms-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
}
.time_content:before{
	content:"";
	display:block;
	position:absolute;
	left:50%;
	top:0;
	bottom:0;
	border-right:4px #534741 solid;
	opacity:0.1;
	margin:0 0 0 -2px;
}
.time_content:nth-child(even){
	background:#3abfc7;

}
#particle-canvas{
	position:absolute;
	left:0;top:0;right:0;bottom:0;
}
#phone{
	position:absolute;
	left:50%;
	top:50%;
	width:430px;
	height:750px;
	margin:-375px 0 0 -420px;
	background:url(../images/phone.png) center no-repeat;
	display:none;
}
#phone.fixed{
	position:fixed;
	top:50% !important;
}
#phone .slide_imgs_box{
	position:absolute;
	left:95px;
	top:162px;
	width:240px;
	height:426px;
	overflow:hidden;
}
#phone .slide_imgs{
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	-webkit-transform: translate(100%, 0px);
	-moz-transform: translate(100%, 0px);
	-o-transform: translate(100%, 0px);
	-ms-transform: translate(100%, 0px);
	transform: translate(100%, 0px);
	-webkit-transition:all 0.4s ease-out;
	-moz-transition:all 0.4s ease-out;
	-o-transition:all 0.4s ease-out;
	-ms-transition:all 0.4s ease-out;
	transition:all 0.4s ease-out;
}
#phone .slide_imgs.on{
	-webkit-transform: translate(0%, 0px);
	-moz-transform: translate(0%, 0px);
	-o-transform: translate(0%, 0px);
	-ms-transform: translate(0%, 0px);
	transform: translate(0%, 0px);
}

#phone .slide_imgs{
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
}
#phone .slide_img{
	position:absolute;
	left:0;
	top:0;
}
.inview{
	position: absolute;
	top:50%;
	left:0;
	bottom:20%;
	right:90%;
	display: block;
}
@media screen and (max-width:767px) {

}


#phone.on{
	-webkit-animation: scale_in ease-out 0.5s;
	-webkit-animation-iteration-count: 1;
	-webkit-transform-origin: 50% 50%;
	-webkit-animation-fill-mode:forwards;
	-moz-animation: scale_in ease-out 0.5s;
	-moz-animation-iteration-count: 1;
	-moz-transform-origin: 50% 50%;
	-moz-animation-fill-mode:forwards;
	
	animation: scale_in ease-out 0.5s;
	animation-iteration-count: 1;
	transform-origin: 50% 50%;
	animation-fill-mode:forwards;
	display:block;
}
#phone.off{
	-webkit-animation: scale_out ease-out 0.5s;
	-webkit-animation-iteration-count: 1;
	-webkit-transform-origin: 50% 50%;
	-webkit-animation-fill-mode:forwards;
	-moz-animation: scale_out ease-out 0.5s;
	-moz-animation-iteration-count: 1;
	-moz-transform-origin: 50% 50%;
	-moz-animation-fill-mode:forwards;
	
	animation: scale_out ease-out 0.5s;
	animation-iteration-count: 1;
	transform-origin: 50% 50%;
	animation-fill-mode:forwards;
}

.on .tit{
	-webkit-animation: left_in ease-out 0.4s;
	-webkit-animation-iteration-count: 1;
	-webkit-transform-origin: 50% 50%;
	-webkit-animation-fill-mode:forwards;
	-moz-animation: left_in ease-out 0.4s;
	-moz-animation-iteration-count: 1;
	-moz-transform-origin: 50% 50%;
	-moz-animation-fill-mode:forwards;
	
	animation: left_in ease-out 0.4s;
	animation-iteration-count: 1;
	transform-origin: 50% 50%;
	animation-fill-mode:forwards;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
    transition: none;
}
.on .fukidashi{
	-webkit-animation: left_in ease-out 0.5s;
	-webkit-animation-iteration-count: 1;
	-webkit-transform-origin: 50% 50%;
	-webkit-animation-fill-mode:forwards;
	-webkit-animation-delay:0.4s;
	-moz-animation: left_in ease-out 0.5s;
	-moz-animation-iteration-count: 1;
	-moz-transform-origin: 50% 50%;
	-moz-animation-fill-mode:forwards;
	-moz-animation-delay:0.4s;
	
	animation: left_in ease-out 0.5s;
	animation-iteration-count: 1;
	transform-origin: 50% 50%;
	animation-fill-mode:forwards;
	animation-delay:0.4s;
}

@-moz-keyframes scale_out{
  0% {
    opacity:1;
    -moz-transform:  scaleX(1.00) scaleY(1.00) ;
  }
  99% {
    opacity:0;
    -moz-transform:  scaleX(0.95) scaleY(0.95) ;
  }
  100% {
    display:none;
  }
}
@-webkit-keyframes scale_out {
  0% {
    opacity:1;
    -webkit-transform:  scaleX(1.00) scaleY(1.00) ;
  }
  99% {
    opacity:0;
    -webkit-transform:  scaleX(0.95) scaleY(0.95) ;
  }
  100% {
    display:none;
  }
}
@keyframes scale_out{
  0% {
    opacity:1;
    transform:  scaleX(1.00) scaleY(1.00) ;
  }
  99% {
    opacity:0;
    transform:  scaleX(0.95) scaleY(0.95) ;
  }
  100% {
    display:none;
  }
}

@-moz-keyframes scale_in{
  0% {
    opacity:0;
    display:block;
    -moz-transform:  scaleX(0.95) scaleY(0.95) ;
  }
  100% {
    opacity:1;
    -moz-transform:  scaleX(1.00) scaleY(1.00) ;
  }
}
@-webkit-keyframes scale_in {
  0% {
    opacity:0;
    display:block;
    -webkit-transform:  scaleX(0.95) scaleY(0.95) ;
  }
  100% {
    opacity:1;
    -webkit-transform:  scaleX(1.00) scaleY(1.00) ;
  }
}
@keyframes scale_in{
  0% {
    opacity:0;
    display:block;
    transform:  scaleX(0.95) scaleY(0.95) ;
  }
  100% {
    opacity:1;
    transform:  scaleX(1.00) scaleY(1.00) ;
  }
}


@-moz-keyframes left_in{
  0% {
    opacity:0;
    -moz-transform:  translate(-20px,0px)  ;
  }
  100% {
    opacity:1;
    -moz-transform:  translate(0px,0px)  ;
  }
}
@-webkit-keyframes left_in {
  0% {
    opacity:0;
    -webkit-transform:  translate(-20px,0px)  ;
  }
  100% {
    opacity:1;
    -webkit-transform:  translate(0px,0px)  ;
  }
}
@keyframes left_in{
  0% {
    opacity:0;
    transform:  translate(-20px,0px) ;
  }
  100% {
    opacity:1;
    transform:  translate(0px,0px) ;
  }
}

@-moz-keyframes  bottom_in{
  0% {
    opacity:0;
    -moz-transform:  translate(0px,10px)  ;
  }
  100% {
    opacity:1;
    -moz-transform:  translate(0px,0px)  ;
  }
}
@-webkit-keyframes bottom_in {
  0% {
    opacity:0;
    -webkit-transform:  translate(0px,10px)  ;
  }
  100% {
    opacity:1;
    -webkit-transform:  translate(0px,0px)  ;
  }
}
@keyframes bottom_in{
  0% {
    opacity:0;
    transform:  translate(0px,10px)  ;
  }
  100% {
    opacity:1;
    transform:  translate(0px,0px)  ;
  }
}

