@charset "UTF-8";



/* FONT size
---------------------------------------------------------------------
[ px ]	[ % ]
10px 	72  %		19px 	136 %
11px 	79  %		20px 	143 %
12px 	86 %		21px 	150 %
13px 	93 %		22px 	158 %
14px 	100 %		23px 	165 %
15px 	108 %		24px 	172 %
16px 	115 %		25px 	179 %
17px 	122 %		26px 	186 %
18px 	129 %
---------------------------------------------------------------------*/


/* ++++++++++++++++++++++++++++++++++++++++++++++    PC    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* 801px ~ */
@media screen and (min-width: 801px), print {
	
	
	#maintitleArea{
		padding: 170px 0 120px;
	}
		#maintitleArea .maintitle{
			text-align: center;		
		}
			#maintitleArea .maintitle span{
				display: block;
				font-weight: normal;
			}
				#maintitleArea .maintitle span.line{
					display: inline-block;
					position: relative;		
					line-height: 1em;
					height: 1em;
					font-size: 50px;
					padding: 0 20px;
					letter-spacing: 3px;		
					z-index: 1;
					overflow: hidden;
				}
				#maintitleArea .maintitle span.line:before{
					content: '';
					display: block;
					position: absolute;
					width: 100%;	
					left: 0;
					right: 0;
					margin: auto;
					z-index: -1;						
					height: calc(100% - 0.28em);
					top: 0.09em;
					transform: scale(0, 1.0);
					transform-origin: left;
					transition: 1.3s cubic-bezier(0.22, 1, 0.36, 1);
				}
				.windows #maintitleArea .maintitle span.line:before{
					height: calc(100% - 0.3em);
					top: 0.04em;
				}
				#maintitleArea.on .maintitle span.line:before{
					transform: scale(1.0, 1.0);
				}
					#maintitleArea .maintitle .title{
						display: inline-block;
						position: relative;
						overflow: hidden;
					}
					#maintitleArea .maintitle .title:after{
						content: '';
						display: block;
						position: absolute;
						width: 100%;
						height: 100%;
						background-color: #fff;
						left: 0;
						top: 0;
						transition: 1.3s 1.0s cubic-bezier(0.22, 1, 0.36, 1);
					}
					#about.index #maintitleArea .maintitle .title:after{
						background-color: #c3e2ff;
					}
					#maintitleArea.on .maintitle .title:after{
						transform: translateX(100%);
					}

		#maintitleArea .lead{
			text-align: center;
			font-size: 16px;
			line-height: 2;
			margin-top: 50px;
			font-weight: 400;
		}

	h2{
		font-weight: 500;
	}

	
	#project{
		
	}
		#project #main{
			overflow: hidden;
			position: relative;
			padding-bottom: 180px;
		}

			#project #maintitleArea{
				max-width: 1440px;
				margin: 0 auto;
				position: relative;
				background-color: #fff;
			}
				#project #maintitleArea .wrap{
					position: relative;
					z-business: 1;
				}
				#project #maintitleArea .maintitle > span{
					display: block;
				}
	
				#project #maintitleArea .maintitle span.line{
					color: #fff;
				}
				#project #maintitleArea .maintitle span.line:before{
					background-color: #6e3cbe;
				}
	
	#project .sec{
		position: relative;
		padding-right: calc(50% - 520px);
	}
	#project .sec:nth-of-type(2n){
		padding-right: 0;
		padding-left: calc(50% - 520px);
	}
	
		#project .sec + .sec{
			margin-top: 80px;
		}
			#project .sec > a{
				display: block;
				overflow: hidden;
				position: relative;
				padding-top: 95px;	
			}

				#project .sec > a .bg_box{
					width: 100%;
					overflow: hidden;
					position: absolute;
					height: 340px;
					top: 0;
				}
					#project .sec > a .bg_box .inner{
						width: 100%;
						height: 100%;
						background: url("../img/project/pj01_pht.png") no-repeat center;
						background-size: cover;
						transition: 1.0s;
					}
					#project #sec2 > a .bg_box .inner{
						background: url("../img/project/pj02_pht.jpg") no-repeat center;
						background-size: cover;
					}
						#project .sec > a:hover .bg_box .inner{
							transform: scale(1.05);
						}
	
				#project .sec > a .txt_box{
					padding: 50px 0 50px 50px;
					background-color: #fff;
					box-sizing: border-box;
					position: relative;
					width: 420px;
					margin: 0 0 0 auto;
				}
					#project .sec:nth-of-type(2n) > a .txt_box{
						padding: 50px 50px 50px 0;
						margin: 0 auto 0 0;
					}
						#project .sec > a .txt_box:before,
						#project .sec > a .txt_box:after{
							content: '';
							display: block;
							position: absolute;
						}
							#project .sec > a .txt_box:before{
								width: 95px;
								height: 95px;
								background-color: #0a9bcd;
								top: -95px;
								right: 0;
							}
								#project .sec:nth-of-type(2n) > a .txt_box:before{
									right: auto;
									left: 0;
								}
								#project #sec2 > a .txt_box:before{
									background-color: #f06400;
								}
								#project #sec3 > a .txt_box:before{
									background-color: #6e3cbe;
								}
							#project .sec > a .txt_box:after{
								background: url("../../common/img/arrow.svg") no-repeat center;
								background-size: cover;
								width: 34px;
								height: 11px;
								top: -52px;
								right: 29px;
								z-index: 2;
								transition: 0.4s;
							}
							#project .sec:nth-of-type(2n) > a .txt_box:after{
								left: 30px;
								right: auto;
							}
								#project .sec > a:hover .txt_box:after{
									right: 22px;
								}
								#project .sec:nth-of-type(2n) > a:hover .txt_box:after{
									left: 37px;
									right: auto;
								}
								#project .sec > a .txt_box .icon{
									margin: 0 auto 20px;
									width: 68px;
								}
									#project .sec > a .txt_box .icon img{
										display: block;
										width: auto;
										margin: 0 auto;
									}
								#project .sec > a .txt_box h2{
									text-align: center;
									font-size: 24px;
									line-height: 1.5;
								}
									#project .sec > a .txt_box h2 span{
										display: block;
									}
									#project .sec > a .txt_box h2 .en{
										font-size: 16px;
									}
								#project .sec > a .txt_box .txt{
									text-align: justify;
									line-break: strict;
									word-wrap: break-word;
									overflow-wrap: break-word;
									margin-top: 30px;
								}

	
	/*deco*/
	#project #main > .deco01{
		top: 100px;
		left: 0;
	}
	#project #main > .deco02{
		top: 140px;
		right: 0;
	}
	#project #main > .deco03{
		top: 20%;
		left: 5%;
	}	
	/*deco*/
	#project #maintitleArea .deco01{
		top: 100px;
		left: -1vw;
	}
	#project #maintitleArea .deco02{
		top: 140px;
		left: 0;
	}
	#project #maintitleArea .deco03{
		top: 167px;
		left: 12vw;
	}
	#project #maintitleArea .deco04{
		top: 186px;
		right: 0;
	}
	#project #maintitleArea .deco05{
		top: 315px;
		right: 12vw;
	}
	#project #maintitleArea .deco06{
		top: 327px;
		right: 0;
	}
	#project #maintitleArea .deco07{
		top: 30px;
		right: calc(30% - 12vw);
	}
	#project #maintitleArea .deco08{
		top: 57px;
		right:30%;
	}
	/*sec1*/
	#project #sec1 .deco{
		z-index: 2;
	}
	#project #sec1 .deco01{
		top: -17px;
		left: 0;
	}	
	#project #sec1 .deco02{
		top: 0;
		left: 7vw;
	}
	#project #sec1 .deco03{
		bottom: 0;
		left: 5%;
	}
	#project #sec1 .deco04{
		top: 75px;
		right: 0;
		z-index: 0;
	}
	#project #sec1 .deco05{
		top: 87px;
		right: 4vw;
		z-index: 0;
	}
	/*sec2*/
	#project #sec2 .deco{
		z-index: 2;
	}
	#project #sec2 .deco06{
		top: 40px;
		left: 0;
		z-index: 0;
	}
	#project #sec2 .deco07{
		bottom: -40px;
		right: 4vw;
	}
	#project #sec2 .deco08{
		bottom: -48px;
		right: 8vw;
	}
	/*sec3*/
	#project #sec3 .deco{
		z-index: 2;
	}
	#project #sec3 .deco01{
		top: -17px;
		left: 4vw;
	}	
	#project #sec3 .deco02{
		top: 0;
		left: 0;
	}
	#project #sec3 .deco03{
		top: 300px;
		left: 4vw;
	}
	#project #sec3 .deco04{
		top: 75px;
		right: 0;
		z-index: 0;
	}
	#project #sec3 .deco05{
		top: 87px;
		right: 4vw;
		z-index: 0;
	}
	
	

	
	

}




/* ++++++++++++++++++++++++++++++++++++++++++++++    sp    ++++++++++++++++++++++++++++++++++++++++++++++  */
/* ~ 800px */
@media only screen and (max-width: 800px) {
	
	#main{
		padding-top: 64px;
	}
	
	#maintitleArea{
		padding: 40px 0 60px;
	}
		#maintitleArea .maintitle{
			text-align: center;		
		}
			#maintitleArea .maintitle span{
				display: block;
				font-weight: normal;
				line-height: 1em;
				height: 1em;
			}
				#maintitleArea .maintitle span.line{
					display: inline-block;
					position: relative;		
					line-height: 1em;
					height: 1em;
					font-size: 7vw;
					padding: 0 10px;
					letter-spacing: 3px;		
					z-index: 1;
					color: #c3e2ff;
					overflow: hidden;
				}
				#maintitleArea .maintitle span.line:before{
					content: '';
					display: block;
					position: absolute;
					width: 100%;	
					left: 0;
					right: 0;
					margin: auto;
					z-index: -1;
					background-color: #fff;
					height: calc(100% - 0.28em);
					top: 0.09em;
					transform: scale(0, 1.0);
					transform-origin: left;
					transition: 1.3s cubic-bezier(0.22, 1, 0.36, 1);
				}
				.windows #maintitleArea .maintitle span.line:before{
					height: calc(100% - 0.3em);
					top: 0.04em;
				}
				#maintitleArea.on .maintitle span.line:before{
					transform: scale(1.0, 1.0);
				}
					#maintitleArea .maintitle .title{
						line-height: 1.5;
						height: 1.5em;
						font-size: 18px;
						margin-top: 10px;
					}
					#maintitleArea .maintitle .title{
						display: inline-block;
						position: relative;
						overflow: hidden;
					}
					#maintitleArea .maintitle .title:after{
						content: '';
						display: block;
						position: absolute;
						width: 100%;
						height: 100%;
						background-color: #fff;
						left: 0;
						top: 0;
						transition: 1.3s 1.0s cubic-bezier(0.22, 1, 0.36, 1);
					}
					#about.index #maintitleArea .maintitle .title:after{
						background-color: #c3e2ff;
					}
					#maintitleArea.on .maintitle .title:after{
						transform: translateX(100%);
					}


		#maintitleArea .lead{
			line-height: 2;
			margin-top: 20px;
			font-weight: 400;
			padding: 0 5%;
			text-align: justify;
			line-break: strict;
			word-wrap: break-word;
			overflow-wrap: break-word;
		}
			#maintitleArea .lead br{
				display: none;
			}
	
	h2{
		font-weight: 500;
	}
	
	#project{
	}
		#project #main{
			overflow: hidden;
			padding-bottom: 40px;
		}

			#project #maintitleArea{
				position: relative;
			}
				#project #maintitleArea .wrap{
					position: relative;
					z-business: 1;
				}
				#project #maintitleArea .maintitle > span{
					display: block;
				}
	
				#project #maintitleArea .maintitle span.line{
					color: #fff;
				}
				#project #maintitleArea .maintitle span.line:before{
					background-color: #6e3cbe;
				}
	
	#project .sec{
		position: relative;
	}
	#project .sec:nth-of-type(2n){
		padding-right: 0;
	}
	
		#project .sec + .sec{
			margin-top: 40px;
		}
			#project .sec > a{
				display: block;
				overflow: hidden;
				position: relative;
				padding: 200px 0 0;
			}

				#project .sec > a .bg_box{
					width: 100%;
					overflow: hidden;
					position: absolute;
					height: 260px;
					top: 0;
				}
					#project .sec > a .bg_box .inner{
						width: 100%;
						height: 100%;
						background: url("../img/project/pj01_pht.png") no-repeat center;
						background-size: cover;
						transition: 1.0s;
					}
					#project #sec2 > a .bg_box .inner{
						background: url("../img/project/pj02_pht.jpg") no-repeat center;
						background-size: cover;
					}
	
				#project .sec > a .txt_box{
					padding: 30px 30px 80px 30px;
					background-color: #fff;
					box-sizing: border-box;
					position: relative;
					width: 90%;
					margin: 0 auto;
				}
					#project .sec:nth-of-type(2n) > a .txt_box{
					}
						#project .sec > a .txt_box:before,
						#project .sec > a .txt_box:after{
							content: '';
							display: block;
							position: absolute;
						}
							#project .sec > a .txt_box:before{
								width: 60px;
								height: 60px;
								background-color: #0a9bcd;
								bottom: 0;
								right: 0;
								left: 0;
								margin: 0 auto;
							}
								#project .sec:nth-of-type(2n) > a .txt_box:before{
								}
								#project #sec2 > a .txt_box:before{
									background-color: #f06400;
								}
								#project #sec3 > a .txt_box:before{
									background-color: #6e3cbe;
								}
							#project .sec > a .txt_box:after{
								background: url("../../common/img/arrow.svg") no-repeat center;
								background-size: cover;
								width: 34px;
								height: 11px;
								bottom: 25px;
								right: 0;
								left: 0;
								margin: 0 auto;
								z-index: 2;
								transition: 0.4s;
							}
							#project .sec:nth-of-type(2n) > a .txt_box:after{
							}
								#project .sec > a:hover .txt_box:after{
								}
								#project .sec:nth-of-type(2n) > a:hover .txt_box:after{
								}
								#project .sec > a .txt_box .icon{
									margin: 0 auto 20px;
								}
									#project .sec > a .txt_box .icon img{
										display: block;
										width: auto;
										margin: 0 auto;
										width: 68px;
									}
								#project .sec > a .txt_box h2{
									text-align: center;
									font-size: 18px;
									line-height: 1.5;
								}
									#project .sec > a .txt_box h2 span{
										display: block;
									}
									#project .sec > a .txt_box h2 .en{
										font-size: 14px;
									}
								#project .sec > a .txt_box .txt{
									text-align: justify;
									line-break: strict;
									word-wrap: break-word;
									overflow-wrap: break-word;
									margin-top: 20px;
								}

	
	/*deco*/
	#project #main > .deco01,
	#project #main > .deco02,
	#project #main > .deco03{
		display: none;
	}				
	/*deco*/
	#project #maintitleArea .deco01{
		top: 5px;
		left: 0;
	}
	#project #maintitleArea .deco02{
		top: 10px;
		left: 7vw;
	}
	#project #maintitleArea .deco03{
		bottom: 0;
		left: 0;
	}
	#project #maintitleArea .deco04{
		top: 20px;
		right: 0;
	}
	#project #maintitleArea .deco05{
		bottom: 27px;
		right: 16vw;
	}
	#project #maintitleArea .deco06{
		bottom: 15px;
		right: 0;
	}
	#project #maintitleArea .deco07,
	#project #maintitleArea .deco08{
		display: none;
	}	
	/*sec1*/
	#project #sec1 .deco{
		z-index: 2;
	}
	#project #sec1 .deco01{
		top: 190px;
		left: 0;
	}	
	#project #sec1 .deco02{
		top: 200px;
		left: 12vw;
	}
	#project #sec1 .deco03{
		top: 200px;
		right: 5%;
	}
	#project #sec1 .deco04{
		bottom: 20px;
		right: 0;
	}
	#project #sec1 .deco05{
		bottom: 27px;
		right: 7vw;
	}
	/*sec2*/
	#project #sec2 .deco{
		z-index: 2;
	}
	#project #sec2 .deco06{
		top: -6px;
		left: 4vw;
	}
	#project #sec2 .deco07{
		top: 193px;
		right: 5%;
	}
	#project #sec2 .deco08{
		top: 185px;
		right: 12vw;
	}
	/*sec3*/
	#project #sec3 .deco{
		z-index: 2;
	}
	#project #sec3 .deco01{
		top: -10px;
		left: 7vw;
	}	
	#project #sec3 .deco02{
		top: 0;
		left: 0;
	}
	#project #sec3 .deco03{
		top: 100px;
		right: 0;
	}
	#project #sec3 .deco04{
		bottom: 0;
		right: 0;
	}
	#project #sec3 .deco05{
		bottom: 7px;
		right: 7vw;
	}
	
	
	
	

}