@charset "UTF-8";

/* reset */
@import url(reset.css);

/* web font*/
@import url('https://fonts.googleapis.com/css2?family=Dosis:wght@200..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;700&display=swap');
body,
a,
input,
select,
textarea,
submit {
	font-family: 'Dosis', "Zen Kaku Gothic New", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
  font-style: normal;
	font-weight: 400;
	}


	
/* desktop / mobile --------------------------------------------------------------- */
.dsk {
	display: block !important;
	}

.mob {
	display: none !important;
	}
	
@media(max-width: 1024px){
	.dsk {
		display: none !important;
		}
	
	.mob {
		display: block !important;
		}
	}



/* fade --------------------------------------------------------------- */
a, .fade {
	transition: all 0.5s ease-in-out;
	}

	a:hover, .fade:hover {
		opacity: 0.5;
		}
	
	a.none:hover {
		opacity: 1;
		}

@media(max-width: 1024px){
	a:hover, .fade:hover {
		transition: none;
		}

		a:hover, .fade:hover {
			opacity: 1;
			}
	}



/* zoom --------------------------------------------------------------- */
.zoom {
	overflow: hidden;
	}
	
.zoom:hover {
	opacity: 1;
	}
	
	.zoom img,
	.zoom video {
		transition: all 0.5s ease-out;
		}
		
		.zoom:hover img,
		.zoom:hover video {
			transform: scale(1.05,1.05);
			}
			
			
			
/* trans --------------------------------------------------------------- */
.trans {
	opacity: 0;
	transform : translate(0, 50px);
	transition : all 500ms;
	}
	
	.trans.scrollin {
		opacity: 1;
		transform : translate(0, 0);
		}

	
	
/* common --------------------------------------------------------------- */
.fixed {
	position: fixed !important;
	overflow-y: scroll !important;
	}
	
.ltr1 {
	letter-spacing: 1px;
	}
	
.ltr2 {
	letter-spacing: 2px;
	}

.ltr3 {
	letter-spacing: 3px;
	}

.ltr4 {
	letter-spacing: 4px;
	}

.ltr5 {
	letter-spacing: 5px;
	}

	
		
/* body --------------------------------------------------------------- */
body {
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	}

body,
a,
input,
select,
textarea,
submit {
	color: #333333;
	font-size: 15px;
	line-height: 1.3;
	}
	
input,
select,
textarea,
submit {
	border: 0;
	box-sizing: border-box;
	}
		
	
	
/* wrapper --------------------------------------------------------------- */
#wrapper {
	width: 100%;
	box-sizing: border-box;
	}

@media(max-width: 1024px){
	#wrapper {
		padding-right: 30px;
		}
	}


	
/* content --------------------------------------------------------------- */
#content {
	width: 100%;
	margin: 0 auto;
	position: relative;
	}
	
@media(max-width: 1024px){
	#content {
		width: 100%;
		}
	}



/* ヘッダーのロゴ --------------------------------------------------------------- */
#header {
	}

	#header #logo {
		width: 120px;
		z-index: 997;
		position: fixed;
		left: 30px;
		top: 20px;
		}
		
		#header #logo a,
			#header #logo a img {
				width: 100%;
				}

@media(max-width: 1024px){
	#header #logo {
		width: 100px;
		left: 5%;
		top: 17px;
		}
	}



/* スクロールナビ --------------------------------------------------------------- */
#header #scrnavi,
#header #under_scrnavi {
	width: 35px;
	height: 100vh;
	min-height: 100vh;
	z-index: 998;
	position: fixed;
	right: 0;
	top: 0;
	}

#header #under_scrnavi {
	display: none;
	}

body#works #header #scrnavi {
	display: none;
	}

body#works #header #under_scrnavi {
	display: block;
	}

	#header #scrnavi a,
	#header #under_scrnavi a {
		width: 100%;
		height: calc(100vh/5);
		background-color: #333333;
		text-align: center;
		position: relative;
		}
	
	#header #scrnavi a {
		height: calc(100vh/5);
		}
	
	#header #under_scrnavi a {
		height: calc(100vh/2);
		}

		#header #scrnavi a span,
		#header #under_scrnavi a span {
			width: 100%;
			height: 100%;
			box-sizing: border-box;
			padding-right: 9px;
			transition: all 0.5s ease-out;

			color: #999999;
			font-size: 15px;
			writing-mode: vertical-rl;
			line-height: 1;
			letter-spacing: 2px;
			}

		#header #scrnavi a:hover span,
		#header #under_scrnavi a:hover span {
			opacity: 0.5;
			}

		#header #scrnavi a.active span {
			color: inherit;
			opacity: 1;
			}
	
	/* HOME */
	#header #scrnavi a:first-of-type.active {
		background-color: #ffffff;
		}
		
	/* WORKS */
	#header #scrnavi a:nth-of-type(2).active {
		background-color: #ffffff;
		}

	/* SERVICE */
	#header #scrnavi a:nth-of-type(3).active {
		background-color: #f0f0f0;
		}
	
	/* COMPANY */
	#header #scrnavi a:nth-of-type(4).active {
		background-color: transparent;
		}

	/* CONTACT */
	#header #scrnavi a:last-of-type,
	#header #under_scrnavi a:last-of-type {
		background-color: #fccf00;
		}

		#header #scrnavi a:last-of-type span,
		#header #under_scrnavi a:last-of-type span {
			color: inherit;
			}

@media(max-width: 1024px){
	#header #scrnavi {
		width: 30px;
		height: 100dvh;
		}

		#header #scrnavi a {
			}

			#header #scrnavi a span {
				padding-right: 7px;
				}
	}



/* footer --------------------------------------------------------------- */
#footer {
	width: 100%;
	padding: 70px 0 0 0;
	}

	#footer .footer {
		width: 1200px;
		margin: 0 auto;
		overflow: hidden;
		}

		#footer .footer .footerLeft {
			float: left;
			width: 150px;
			}

			#footer .footer .footerLeft p {
				width: 150px;
				}

				#footer .footer .footerLeft p img {
					width: 100%;
					}

		#footer .footer .footerRight {
			float: right;
			width: 800px;
			height: 250px;
			padding: 7px 0 0 0;
			position: relative;
			}

			#footer .footer .footerRight a.scr,
			#footer .footer .footerRight a.contact {
				display: inline-block;
				margin-right: 35px;
				padding-bottom: 10px;
				border-bottom: #555 solid 2px !important;
				transition: all 0.5s ease-out;
				}
			
			#footer .footer .footerRight a:hover {
				border-color: transparent !important;
				}
			
			#footer .footer .footerRight a:last-of-type {
				margin-right: 0;
				}

			#footer .footer .footerRight ul {
				width: 126px;
				margin: 0 auto;
				overflow: hidden;
				position: absolute;
				right: 0;
				bottom: 20px;
				}

				#footer .footer .footerRight ul li {
					float: left;
					width: 30px;
					margin-right: 18px;
					}
				
				#footer .footer .footerRight ul li:last-of-type {
					margin-right: 0;
					}

					#footer .footer .footerRight ul li a,
					#footer .footer .footerRight ul li a img {
						width: 100%;
						}

		#footer .footer #copyright {
			position: fixed;
			left: 30px;
			bottom: 20px;
			z-index: 10;
			}

			#footer .footer #copyright p {
				font-size: 10px;
				}

@media(max-width: 1024px){
	#footer {
		padding: 50px 0 20px 0;
		}

		#footer .footer {
			width: 90%;
			}

			#footer .footer .footerLeft {
				float: none;
				width: 100%;
				margin: 0 0 20px 0;
				}

				#footer .footer .footerLeft p {
					width: 100px;
					}

			#footer .footer .footerRight {
				float: none;
				width: 100%;
				height: auto;
				padding: 0;
				}

				#footer .footer .footerRight a.scr,
				#footer .footer .footerRight a.contact {
					margin: 0 20px 20px 0;
					padding-bottom: 5px;
					}
				
				#footer .footer .footerRight a:last-of-type {
					margin-right: 0;
					}

				#footer .footer .footerRight ul {
					position: static;
					margin-left: 0;
					margin: 10px auto 50px 0;
					}

			#footer .footer #copyright {
				position: static;
				}
	}



/* copyright（?homeがつかないworksのarticleの場合） --------------------------------------------------------------- */
#copyright {
	position: fixed;
	left: 30px;
	bottom: 20px;
	z-index: 10;
	}

	#copyright p {
		font-size: 10px;
		}

@media(max-width: 1024px){
	#footer .footer #copyright {
		position: static;
		}
	}



/* loading --------------------------------------------------------------- */
#loading {
	width: 100%;
	height: 100vh;
	z-index: 99999;
	background-color: #ffffff;
	background-image: url(../../img/common/loader.gif);
	background-position: center center;
	background-size: 100px auto;
	position: fixed;
	left: 0;
	top: 0;
	}


@media(max-width: 1024px){
	}