@charset "utf-8";
/*
Theme Name: テラテック
Author: addONEworks
Author URI: https://addone-works.com/
Description:テラテックのテーマ
version: 1.0.0
*/

/*common
-----------------------------------------------------------------------------------------*/
html,
body {
	margin: 0 auto;
	padding: 0;
	text-align: center;
	width: 100%;
}

img {
	max-width: 100%;
}

body {
	animation: stertfade 2s ease 0s 1 normal;
	-webkit-animation: stertfade 2s ease 0s 1 normal;
	font-family: genshing, sans-serif;
	color: rgb(51, 51, 51);
	font-size: 95%;
}

@keyframes stertfade {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

@-webkit-keyframes stertfade {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

/* ----------下からふわっと---------- */
/* 画面外 */
.fade-block {
	transform: translateY(30px);
	opacity: 0;
	visibility: hidden;
	transition: transform 1s, opacity 1s, visibility 1s;
}

/* 画面に入った時の動き */
.fade-block.blockIn {
	transform: translateX(0);
	opacity: 1;
	visibility: visible;
}

/*header
-----------------------------------------------------------------------------------------*/
.sp-navigation {
	display: none;
}

.header-bg {
	width: 100%;
	height: 100vh;
	position: relative;
	background-position: center center;
	background-size: cover;
	overflow: hidden;
}

.head-top-wrapper {
	height: 90px;
	position: fixed;
	inset: 0;
	margin: 0 auto;
	z-index: 99999;
}

.top-inner {
	width: 95%;
	margin: 0 auto;
}

.topsimbol {
	width: 10vw;
}

.logo {
	float: left;
	height: 90px;
	padding: 20px;
	box-sizing: border-box;
}

.main-nav {
	float: right;
	line-height: 90px;
}

.main-nav a {
	font-size: 110%;
	padding: 5px;
	border: 3px solid rgba(0, 0, 0, 0);
}

.main-nav li {
	display: inline-block;
	margin-right: 20px;
}

.main-nav a:hover {
	border: 3px solid rgb(0, 90, 170);
}

.topsimbol {
	position: absolute;
	inset: 0;
	margin: auto;
}

.kurukuru {
	animation: kurukuru 2.2s ease-out;
	opacity: 1;
}

@keyframes kurukuru {
	0% {
		transform: rotateY(0) translateY(20vh);
		opacity: 0;
	}

	100% {
		transform: rotateY(360deg) translateY(0);
		opacity: 1;
	}
}

.text_scroll {
	font-size: 15rem;
	z-index: 9999;
	position: absolute;
	white-space: nowrap;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	font-weight: normal;
}

h1.text_scroll {
	bottom: 0;
	animation-duration: 20s;
	animation-name: text_scroll_head;
	right: 0;
}

@keyframes text_scroll_head {
	0% {
		transform: translateX(100%)
	}

	100% {
		transform: translateX(-100%)
	}
}

.textscroll-parent {
	position: relative;
	overflow: hidden;
}

p.text_scroll {
	top: -30px;
	animation-duration: 10s;
	opacity: 0.7;
}

p.text_scroll.scroll_l {
	left: 0;
	animation-name: categorihead_scroll_l;
}

@keyframes categorihead_scroll_l {
	0% {
		transform: translateX(-80%)
	}

	100% {
		transform: translateX(300%)
	}
}

p.text_scroll.scroll_r {
	right: 0;
	animation-name: categorihead_scroll_r;
}

@keyframes categorihead_scroll_r {
	0% {
		transform: translateX(80%)
	}

	100% {
		transform: translateX(-300%)
	}
}

.top-name {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 50%;
}


/*footer
-----------------------------------------------------------------------------------------*/
.footer-flex {
	display: flex;
	flex-direction: row-reverse;
}

.footer-flex .footer-content-box,
.footer-flex .map-wrapper {
	width: 50%;
}

.footer-logobox {
	padding: 30px 0;
	box-sizing: border-box;
}

.footer-logobox img {
	width: 40%;
}

.footer-textbox {
	padding: 40px 10px;
}

.footer-categori-box {
	margin: 15px 0;
}

.footer-categori-title {
	padding-left: 5px;
	margin: 5px 0;
	border-left: 5px solid rgb(0, 163, 233);
	font-family: genshing-bold, sans-serif;
}

footer .btn-wrapper {
	margin: 30px 0;
}

.blue-btn {
	position: relative;
	padding: 0.9em 1.3em;
	border-bottom: 8px solid rgb(39, 66, 88);
	border-radius: 2em;
	font-weight: bold;
	-webkit-transition: none;
	transition: none;
}

.blue-btn:hover {
	top: 8px;
	border-bottom: none;
}

.copyright {
	padding: 10px 0;
}

.footer-categori-office {
	display: inline-block;
	border-bottom: rgb(39, 66, 88) double 4px;
	margin: 10px 0 5px;
	font-family: genshing-bold, sans-serif;
}

.map {
	width: 100%;
	height: 40%;
}

.map-head {
	padding: 10px 0;
}

@media screen and (max-width:1200px) {
	.main-nav a {
		font-size: 100%;
	}

	.main-nav li {
		margin-right: 10px;
	}

	.top-inner {
		width: 98%;
	}
}

@media screen and (max-width:1023px) {
		body {
		font-size: 95%;
	}

	/*header
-----------------------------------------------------------------------------------------*/
	.sp-navigation {
		display: block;
		z-index: 9999999;
		position: fixed;
	}

	.drawer-hamburger-icon,
	.drawer-hamburger-icon:after,
	.drawer-hamburger-icon:before {
		background-color: rgb(237, 237, 238) !important;
		height: 3px !important;
	}

	.main-nav {
		display: none;
	}

	.logo {
		height: auto;
		padding: 10px 5px;
		width: 45%;
	}

	.image-sp-logo {
		width: 60%;
		padding-top: 10px;
	}

	.drawer-menu {
		height: 100%;
		background-color: rgb(232, 235, 238);
		border-left: 1px solid rgb(0, 90, 170);
	}

	.drawer-menu a {
		font-size: 110%;
		display: inline-block;
	}

	.drawer-menu li {
		margin-bottom: 10px;
	}

	.top-name {
		width: 80%;
	}

	.text_scroll {
		font-size: 10rem;
	}
	
	/*footer
-----------------------------------------------------------------------------------------*/
.footer-flex {
	display: block;
}
.footer-flex .footer-content-box,
.footer-flex .map-wrapper {
	width: 100%;
}
.footer-logobox {
	padding: 20px 0;
	box-sizing: border-box;
}
.footer-textbox {
	padding: 10px;
}
.footer-categori-box {
	margin: 10px 0;
}
.map {
	width: 100%;
	height: 200px;
}
}