@charset "utf-8";


.hover {
  display: inline-block;
  position: relative;
  text-decoration: none;
}
.hover::after {
  position: absolute;
  content: '';
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.08em;
  background: #000;
  transition: all 0.3s ease 0s;
}
.hover:hover {
  cursor: pointer;
}
.hover:hover::after {
  width: 0%;
}




@media (min-width: 768px) {
/* PC用 */
	.sp-show { display:none !important;}
}
@media (max-width: 767px) {
/* tablet用 */
	.sp-hide { display:none !important;}
}





@media (min-width: 768px) {
/* PC用 */

	
	
		body{font-family: 'Noto Sans JP', sans-serif; margin: 0; padding: 0;font-style: normal;font-weight: 400; font-size: 14px;
	-webkit-text-size-adjust: 100%;
	   -moz-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
	     -o-text-size-adjust: 100%;
	        text-size-adjust: 100%;
	-moz-osx-font-smoothing: grayscale;
	 -webkit-font-smoothing: antialiased; line-height: 200%;}
		p{margin: 0; text-align: justify; text-justify: auto;}
		a{color: #000; text-decoration: underline; }
		a:hover{color: #fff; text-decoration: none; transition: 0.3s;}

		h1{ width:35%; margin-left: 0; margin-bottom: 7% }
		h1 img{ height: auto; width:100%;}
	.mainWrap{width:100%; height: 100vh; margin: 0px;background-color:#ee7800; position: relative;}
	.main{width:90%; max-width:1000px;  position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); }
	.main .menu{ margin-bottom: 7%; }
		.main ul{overflow:visible; width:100%; padding: 0;}
		.main ul li{list-style: none; font-size: 5.5vw; font-family: 'Karla', sans-serif;font-weight: bold; line-height: 100%;display: block; transition: 0.3s; padding: 0; margin: 0 0 1%; white-space: nowrap;}

	.menu .sns{position: absolute; right: 0%; bottom: 0%; }
	.sns p{display: inline-block; font-size: 10px; margin: 0 10px 0 0; vertical-align: middle; letter-spacing: 2px;}
	.sns img{width:32px;}

	
	
		
		.contents{/*min-width:1280px;*/ width:100%; margin: 0; overflow: hidden;}
		

		
		.contents .innerBlock{width:90%; max-width:1000px; min-height: 100vh; margin: 0 auto 100px;  padding:50px 0 0; overflow: hidden;box-sizing: border-box; max-width: 1000px;}
	.contents #service{height:auto!important;width:90%; max-width:1000px; margin: 0 auto 100px;  padding:50px 0 0; overflow: hidden;box-sizing: border-box; max-width: 1000px;}
	
	.contactTit{width:80%; max-width: 1000px; margin: auto;}
	
	.footer{width:100%; padding: 0 ; margin-bottom: 0px;background-color:#ee7800; text-align: center; }
	.footer .inner{width:80%;max-width: 1000px;  margin: 0 auto 0px;  padding:80px 0 0; overflow: hidden;box-sizing: border-box;}
	.footer .outlineWrap{width:450px; float: right;}
	.footer .footlogo{width:300px; margin: auto auto 30px; float: left;}
	@media (max-width:1000px) {
		/* tablet用 */
	.footer .outlineWrap{float: none; margin: auto; width: 450px;}
	.footer .footlogo{float: none;}
	
	}
	
	
	
	.footer dl{width:450px; float: right; font-size: 0!important; font-size: 0; margin: 0 0 5px;}
	.footer dt{ font-size: 12px!important; width:150px; float: left; margin: 0; padding: 0 ;line-height: 150%; white-space: nowrap;}
	.footer dd{ font-size: 12px!important; width:300px; float: right; margin: 0 0 1% 0; padding: 0; line-height: 150%;}

	.footer .copy{ clear: both; font-size: 10px; text-align: center; margin-bottom: 45px; padding-top: 50px; font-weight: 400;-moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; letter-spacing: 1px;}
	
	.btn{background-color: #8DA2A8; display: inline-block; float: left; width:128px; border: 1px solid #232323; border-radius: 4px;}
	.btn:hover{opacity: 0.8;}
	.btn a{ display: block; width:100%; height: 100%; line-height:250%; color: #fff; padding: 0; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; text-align: center;}
	

	
	
	#loading{width:100vw; height: 100vh; position: fixed; display: flex; align-items: center; justify-content: center; background-color: #FFF; z-index: 99999; }
	#loading img{width:30%; max-width:200px; margin: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)}
	#loading img.fadein{opacity: 1; transition: 3s;}
	
	@keyframes slide {
		50% { position: absolute; left:70%; opacity: 0;}
	100%{left:30%; opacity: 0;}}
	
	
	#loading p.hide{opacity: 0!important; transition: 1s;}
	#loading p.fadeout{opacity: 1!important; animation-duration:2s;-webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; left:50%;
	animation-name:fadeout;}
	@keyframes fadeout {
		0% { position: absolute; left:30%; opacity: 0;}
	100%{left:50%; opacity: 1;}}
	
	.effect{filter: blur(10px); transition: 1s; opacity: 0!important; }

	.is-fixed{position:fixed;}
	
	
	.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 60px;
    top: 20px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 9999;
    text-align: center;

}
 
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 40px;
    border-bottom: solid 2px #000;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;

}
 
.navToggle span:nth-child(1) {
    top: 10px;
}
 
.navToggle span:nth-child(2) {
    top: 25px;
}
 

.navToggle span:nth-child(3) {
    top: 40px;
}
/* 
.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}
*/
	
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 25px;
    left: 1px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),.navToggle.active span:nth-child(3){
    top: 25px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	nav.globalMenuSp {
    position: fixed;
    top: 0px;
    left: 0;
    background:rgba(238,120,0,0);
    color: #000;
    text-align: left;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
	z-index: 9998;
	height: 100vh;
		opacity: 0.5;
		opacity: 0;
	
}
	nav.globalMenuSp.active {
		opacity: 1;
}
 
/*
nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
	position: absolute;
	top: 30%;
	transform: translateY(-30%) ;
  -webkit- transform: translateY(-30%);
	
	
}
*/
 
/*
nav.globalMenuSp ul li {
	list-style: none; 
	letter-spacing: 1px; 
	font-family: 'Karla', sans-serif;
	font-weight: bold; 
    padding: 0;
    width: 80%;
	margin: auto;

}
*/
 
/* 最後はラインを描かない */
/*
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
	margin: auto;

}
 
nav.globalMenuSp ul li a {
    display: block;
    color: #000;
    padding: 0;
	letter-spacing: 3px;
	transition: 0.4s;



}
	
	nav.globalMenuSp.active ul li a {
    padding: 0;
		transition:0.6s;


}
*/
 
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}
	
	
	h2{font-size: 2.2vw; letter-spacing: 3px; display: inline-block; border-bottom: 3px solid #000; padding-bottom: 5px; }
	.catch{font-size: 90px; font-weight: bold;font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0; line-height: 130%; margin: 5% 0 -5% 0; }
	.catchEn{font-size: 1.5vw!important; font-family: 'Crimson Text', serif; font-style: italic; text-align: right; margin-bottom: 10%; line-height: 120%; letter-spacing: 1px;}
	
	dl{overflow: hidden; font-size: 0; margin: 50px 0 0 0;}
	dl dt{width: 20%; font-family: 'Karla', sans-serif; font-size: 16px; text-align: left; display: inline-block; vertical-align: top; margin: 0 5% 2% 0;padding: 0}
	dl dd{width: 75%; font-size: 14px; text-align: left; display: inline-block; vertical-align: top; margin-bottom: 10px; margin: 0 0 2% 0;padding: 0;}
	
	
	
	#works h3{font-size: 3.2vw; text-align: right; line-height: 120%; margin: 0 0 3%;}
	#works .workBlock{position: relative; font-size: 0; padding-top: 0%; overflow: hidden; margin: 0
	0
	5%;}
	#works .logo{width:28%; position: absolute; top: 12%; left: 0;}
	#works .workBlock a{float: left; margin: 0; padding: 0; display: inline-block;}
	#works .workBlock a img{width:100%}
	

	
	
	}

@media (max-width: 1050px) {
	
	.catch{font-size: 7.5vw; font-weight: bold;font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0; line-height: 130%; margin: 5% 0 0 0; }
	.catchEn{font-size: 1.5vw!important; font-family: 'Crimson Text', serif; font-style: italic; text-align: right; margin-bottom: 10%; line-height: 120%; letter-spacing: 1px;}
	
}


@media (max-width: 767px) {
/* tablet用 */
	
	
	body{font-family: 'Noto Sans JP', sans-serif; margin: 0; padding: 0;font-style: normal;font-weight: 400; font-size: 14px;
	-webkit-text-size-adjust: 100%;
	   -moz-text-size-adjust: 100%;
	    -ms-text-size-adjust: 100%;
	     -o-text-size-adjust: 100%;
	        text-size-adjust: 100%;
	-moz-osx-font-smoothing: grayscale;
	 -webkit-font-smoothing: antialiased; line-height: 200%;}
		p{margin: 0; text-align: justify; text-justify: auto;}
		a{color: #000; text-decoration: none; }
		a:hover{color: #fff; text-decoration: none; transition: 0.3s;}

		h1{ width:40%; margin-bottom: 17% }
		h1 img{ height: auto; width:100%;}
	.mainWrap{width:100%; height: 100vh; margin: 0px;background-color:#ee7800; position: relative;}
	.main{width:90%; max-width:1000px;  position: absolute; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%);}
	.main .menu{ margin-bottom: 17%;}
		.main ul{overflow: hidden; width:100%; padding: 0;}
		.main ul li{list-style: none; font-size: 6.5vw; font-family: 'Karla', sans-serif;font-weight: bold; line-height: 100%;display: block; transition: 0.3s; padding: 0; margin: 0 0 3%;}

	.menu .sns{position: absolute; right: 0%; bottom: 0%; }
	.sns p{display: inline-block; font-size: 10px; margin: 0 10px 0 0; vertical-align: middle; letter-spacing: 2px;}
	.sns img{width:16px;}


	
	
		
		.contents{/*min-width:1280px;*/ width:100%; margin: 0; overflow: hidden;}


		
		.contents .innerBlock{width:90%; min-height: 100vh; margin: 0 auto 100px;  padding:50px 5% 0; overflow: hidden;}
	.contents #service{width:90%; margin: 0 auto 100px;  padding:50px 5% 0; overflow: hidden;}
		
	
	.contactTit{width:90%; max-width: 1000px; margin: auto;}
	
.footer{width:100%; padding: 40px 0; margin-bottom: 0px;background-color:#ee7800; text-align: center; }
	.footer .inner{width:90%;  margin: 0 auto 100px;  padding:0 5% 0; overflow: hidden;box-sizing: border-box;}
	.footer dl{width:100%; font-size: 12px!important; font-size: 0; margin: 0;}
	.footer dt{ font-size: 12px!important; width:40%; float: left; margin: 0;}
	.footer dd{ font-size: 12px!important; width:55%; float: right; margin: 0;}
	.footer .footlogo{width:60%; margin: auto auto 10%; }
	.footer .copy{ clear: both; font-size: 10px; text-align: center; margin-bottom: 45px; padding-top: 50px; font-weight: 400;-moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; letter-spacing: 1px;}
	
	.btn{background-color: #8DA2A8; display: inline-block; float: left; width:128px; border: 1px solid #232323; border-radius: 4px;}
	.btn:hover{opacity: 0.8;}
	.btn a{ display: block; width:100%; height: 100%; line-height:250%; color: #fff; padding: 0; font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; text-align: center;}
	

	
	
		#loading{width:100vw; height: 100vh; position: fixed; display: flex; align-items: center; justify-content: center; background-color: #FFF; z-index: 99999; }
	#loading img{width:30%; max-width:200px; margin: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%)}
	#loading img.fadein{opacity: 1; transition: 3s;}
	@keyframes slide {
		50% { position: absolute; left:70%; opacity: 0;}
	100%{left:30%; opacity: 0;}}
	
	
	#loading p.hide{opacity: 0!important; transition: 1s;}
	#loading p.fadeout{opacity: 1!important; animation-duration:2s;-webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards; left:50%;
	animation-name:fadeout;}
	@keyframes fadeout {
		0% { position: absolute; left:30%; opacity: 0;}
	100%{left:50%; opacity: 1;}}
	
	.effect{filter: blur(10px); transition: 1s; opacity: 0!important; }

	.is-fixed{position:fixed;}
	
	
	.navToggle {
    display: block;
    position: fixed;    /* bodyに対しての絶対位置指定 */
    right: 30px;
    top: 10px;
    width: 30px;
    height: 50px;
    cursor: pointer;
    z-index: 9999;
    text-align: center;

}
 
.navToggle span {
    display: block;
    position: absolute;    /* .navToggleに対して */
    width: 30px;
    border-bottom: solid 2px #000;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;

}
 
.navToggle span:nth-child(1) {
    top: 10px;
}
 
.navToggle span:nth-child(2) {
    top: 25px;
}
 

.navToggle span:nth-child(3) {
    top: 40px;
}
/* 
.navToggle span:nth-child(4) {
    border: none;
    color: #eee;
    font-size: 9px;
    font-weight: bold;
    top: 34px;
}
*/
	
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
    top: 25px;
    left: 1px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
 
/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),.navToggle.active span:nth-child(3){
    top: 25px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	nav.globalMenuSp {
    position: fixed;
    top: 0px;
    left: 0;
    background:rgba(238,120,0,0);
    color: #000;
    text-align: left;
    transform: translateY(-100%);
    transition: all 0.6s;
    width: 100%;
	z-index: 9998;
	height: 100vh;
		opacity: 0.5;
		opacity: 0;
	
}
	nav.globalMenuSp.active {
		opacity: 1;
}
 
/*
nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 100%;
	position: absolute;
	top: 30%;
	transform: translateY(-30%) ;
  -webkit- transform: translateY(-30%);
	
	
}
*/
 
/*
nav.globalMenuSp ul li {
	list-style: none; 
	letter-spacing: 1px; 
	font-family: 'Karla', sans-serif;
	font-weight: bold; 
    padding: 0;
    width: 80%;
	margin: auto;

}
*/
 
/* 最後はラインを描かない */
/*
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
	margin: auto;

}
 
nav.globalMenuSp ul li a {
    display: block;
    color: #000;
    padding: 0;
	letter-spacing: 3px;
	transition: 0.4s;



}
	
	nav.globalMenuSp.active ul li a {
    padding: 0;
		transition:0.6s;


}
*/
 
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
    transform: translateY(0%);
}
	
	
	h2{font-size: 3.5vw; letter-spacing: 2px; display: inline-block; border-bottom: 3px solid #000; padding-bottom: 0;}
	.catch{font-size: 8.2vw; font-weight: bold;font-family: 'Noto Sans JP', sans-serif; letter-spacing: 0; line-height: 130%; margin: 5% 0 0 0; }
	.catchEn{font-size: 1.5vw!important; font-family: 'Crimson Text', serif; font-style: italic; text-align: right; margin-bottom: 10%; line-height: 120%; letter-spacing: 1px;}
	
	dl{overflow: hidden; font-size: 0; margin: 50px 0 0 0;}
	dl dt{width: 100%; font-family: 'Karla', sans-serif; font-size: 16px; text-align: left; display: inline-block; vertical-align: top; margin-bottom: 0px;}
	dl dd{width: 100%; font-size: 12px; text-align: left; display: inline-block; vertical-align: top; margin:0 0 10px 0;}
	
	
	
	
		#works h3{font-size: 4vw; text-align: right; line-height: 120%; margin: 0 0 3%;}
	#works .workBlock{position: relative; font-size: 0; padding-top: 7%; overflow: hidden;}
	#works .logo{width:28%; position: absolute; top: 12%; left: 0;}
	#works .workBlock a{float: left; margin: 0; padding: 0; display: inline-block;}
	#works .workBlock a img{width:100%}
	
	
	
}






/*共通*/
	.EG{font-family: 'Karla', sans-serif;}
	.EM{font-family: 'Crimson Text', serif;}
