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

/* 各CSSの読み込み */
@import url("top.css");
@import url("company.css");
@import url("works.css");
@import url("form.css");
/* 色のカスタムプロパティ */
:root {
  --font-color: black;
  --base-color: #555555;
  --main-color: #333333;
  --accent-color: #0d6dfc;
  --sub-color: #80b3ff;
  --concept-color: #0FBFFF;
}
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-thumb {
  background: var(--sub-color);
}
::-webkit-scrollbar-track {
  background: white;
}
a {
	color: var(--accent-color);
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
hr {
	border-style: solid 1px;
	border-color: #636363;
}
/*------------ 
レスポンシブ共通
------------*/
.spinner {
　animation: sk-scaleout 1.0s infinite ease-in-out;
}
/* Loading Animation */
@keyframes sk-scaleout {
  0% {
    transform: scale(0);
  } 100% {
    transform: scale(1.0);
    opacity: 0;
  }
}

/* Hide Loading Block */
.loaded {
  opacity: 0;
  visibility: hidden;
}

.container {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
/* inline-blockの中央揃え */
.inlineblock_center {
	text-align: center;
}
/* 背景画像 */
#back_img {
	position: fixed;
	z-index: -100;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 70%;
	max-height: 70%;
	opacity: 0.1;
}
.headline {
	display: inline-block;
	font-size: 2.7vw;
	letter-spacing: 5px;
	padding-bottom: 3vw;
	line-height: 90%;
	font-family: 'Meiryo';
	font-weight: bolder;
}
.headline font {
	font-size: 50%;
	letter-spacing: normal;
}
.headline img {
	margin-top: 1vw;
	width: 11vw;
}
.bk_on_headline {
	position: relative;
	width: 100%;
	background-color: aqua;
	display: inline-block;
}
.contents_bk {
	position: absolute;
	top:0;
	margin-top: -34.1vw;
	width: 100%;
	z-index: 1;
}
.headline_contents {
	position: absolute;
	top: 0;
	margin-top: -14.4vw;
	width: 100%;
	z-index: 2;
}
.sub_title hr {
	border-style: none;
	border-bottom: 1px solid var(--accent-color);
	margin-bottom: 2%;
}
.root a{
	color: black;
	
}
/* メイン */
#main {
	display: inline-block;
	background-color: white;
}
/* フッター */
footer {
	background-color: white;
}
#footer_anime {
	position: relative;
	display: inline-block;
	width: 100%;
	margin-top: 23vw;
}
#footer_sakuseiki {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 29vw;
	margin-bottom: 5.7vw;
}
#footer_pomp {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 19vw;
}
#footer {
	width: 100%;
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0;
	margin-top: -10.7vw;
}
#footer #footer_bk {
	width: 100%;	
	bottom: 0;
	padding: 0;
	margin: 0;
	vertical-align: bottom;
	z-index: 2;
}
/* フッター ロゴ */
#footer #logo_a_links #footer_name {
	width: 25%;
	float: left;
}
/* フッター ページリンク */
#footer ul {
	padding: 0;
	float: right;
	right: 0;
	font-size: 0;
	width: 47%;
	text-align: right;
	margin-right: 3%;
}
/* フッター ページリンクリスト */
#footer ul li {
	list-style: none;
	display: inline-block;
	width: 21%;
	text-align: center;
	border-left: 1px solid white;
}
/* フッター ページリンクリスト */
#footer ul li img {
	width: 80%;
}
/* フッター  */
#footer #info {
	font-size: 90%;
	font-family: 'Meiryo';
	color: white;
}
/* フッター  */
#footer #info a {
	color: white;
}
/* ページトップへ戻る */
#page-top{
	z-index: 100;
	cursor : pointer;
	position: fixed;
	max-width: 8%;
	bottom: 5%;
	right: 5%;
}
#page-top img{
	width: 100%;
}
/*------------ 
スマホ
------------*/	
@media only screen and (max-width : 834px ){
	.sp_delete {
		display: none;
	}
	/* 全体 */
	body {
		width: 100%;
		height: 100%;
		margin: 0 auto;
		font-family: 'Noto Serif JP', serif;
		font-size: 12px;
		color: var(--font-color);
		background-color: white;
	}
	/* ローディング画面 */
	#loading {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		background: url("../image/loading.png");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 30%;
		background-color: var(--concept-color);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.root {
		float: left;
		margin-top: 11vw;
		margin-bottom: 0.5%;
		font-size: 90%;
		width: 100%;
	}
	.root p {
		margin: 0;
		padding: 0;
		padding-left: 2%;
	}
	/* 通常ヘッダー */
	#basic_sitemap {
		z-index: 1;
		position: fixed;
		display: inline-block;
		width: 100%;
		margin: 0 auto;
		background-color: var(--concept-color);
		box-shadow: 0 2px 3px 0 rgb(0 0 0 / 50%);
	}
	/* サイトマップ会社名 */
	#basic_sitemap #hedder_name {
		float: left;
		margin: 3%;
		width: 40%;
	}
	.navToggle {
		position: fixed;
		right: 3px;
		width: 40px;
		height: 35px;
		cursor: pointer;
		z-index: 110;
		transition: background 0.3s;
		text-align: center;
	}
	.navToggle:hover {
		transition: background 0.3s;
	}
	.navToggle span {
		position: absolute;
		width: 30px;
		border-bottom: solid 3px white;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
		left: 6px;
	}
	.navToggle span:nth-child(1) {
		top: 8px;
	}
	.navToggle span:nth-child(2) {
		top: 17px;
	}
	.navToggle span:nth-child(3) {
		top: 26px;
	}
	/* 最初のspanをマイナス45度に */
	.navToggle.active span:nth-child(1) {
		top: 17px;
		left: 6px;
		-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: 17px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	/* サイトマップ */
	.sitemap {
		position: fixed;
		top: 0;
		text-align: center;
		transform: translateY(-100%);
		transition: all 0.6s;
		width: 100%;
	}
	.sitemap ul {
		list-style: none;
		background-color: var(--concept-color);
		margin: 0 auto;
		padding: 0;
		width: 100%;
		border-bottom:  4px solid var(--accent-color);
	}
	.sitemap ul a li:last-child {
		padding-bottom: 0;
		border-bottom: none;
	}
	.sitemap ul a {
		text-decoration: none;
		transition: all 0.3s linear;
		height: 35px;
		border-top: 1px dashed #333;
		display: flex;
		justify-content: center;
		align-items: center;
		font-family: 'Meiryo';
		color: white;
		line-height: 200%;
	}
	.sitemap ul a:hover {
		color: white;
		transition: background 0.3s;
		background-color:  var(--sub-color);
	}
	.sitemap.active {
		transform: translateY(9.5vw);
	}
	.sub_title {
		width: 94%;
		margin: 0 auto;
	}
	/* カルーセルスライダー */
	.center { 
		width: 85%; 
		height: 20%;
		margin: 0 auto;
	}
	.center img{ 
		width: 100%;
		height: 30vw;
		object-fit: cover;
	}
	.center-thumb img{ 
		width: 99%;
		height: 10vw;
		object-fit: cover;
	}
	.center-thumb { 
		width: 85%; 
		margin: 0 auto;
		margin-top: 1%;
	}
	.center .slick-next { 
		display: none;
	}
	.center .slick-prev { 
		display: none;
	}
	.center-thumb .slick-current { 
		opacity: 0.5;
	}
	.center-thumb div div div { 
		cursor: pointer;
	}
	.headline_sub {
		font-size: 4vw;
	}
	#main {
		position: relative; 
	}
	/* フッター ロゴ＆会社名 */
	#footer #logo_a_links {
		display: none;
	}
	#footer #footer_contents {
		position: absolute;
		width: 98%;
		top: 0;
		right:  0;
		margin: 0 auto;
		margin-top: 6%;
	}
	/* フッター copyright */
	#copyright {
		width: 100%;
		position: absolute;
		text-align: right;
		font-family: 'Meiryo';
		color: white;
		font-weight: normal;
		font-size: 90%;
		bottom: 1%;
		right: 1%;
	}
}
/*------------ 
PC
------------*/	
@media only screen and (min-width : 835px ){
	.pc_delete {
		display: none;
	}
	/* 全体 */
	body {
		width: 100%;
		height: 100%;
		margin: 0 auto;
		font-family:"Meiryo";
		font-size: 20px;
		color: var(--font-color);
		background-color: white;
	}
	/* ローディング画面 */
	#loading {
		width: 100vw;
		height: 100vh;
		transition: all 1s;
		background: url("../image/loading.png");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 15%;
		background-color: var(--concept-color);
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}
	.root {
		float: left;
		margin-top: 0.8%;
		margin-bottom: 0.5%;
		font-size: 90%;
		width: 100%;
	}
	.root p {
		margin: 0;
		padding: 0;
		padding-left: 10%;
	}
	/* 通常ヘッダー */
	#basic_sitemap {
		display: inline-block;
		width: 100%;
		margin: 0 auto;
		background-color: var(--concept-color);
	}
	/* サイトマップ会社名 */
	#basic_sitemap #hedder_name {
		float: left;
		margin-top: 0.4%;
		margin-bottom: 0.4%;
		margin-left: 10%;
		width: 18%;
	}
	/* サイトマップ */
	#basic_sitemap .sitemap {
		float: right;
		width: 55%;
	}
	/* ヘッダー サイトマップ */
	#basic_sitemap .sitemap  ul {
		padding-top: 0.6%;
		padding-bottom: 0.5%;
		margin: 0 auto;
		text-align: right;
		margin-right: 14%;
	}
	/* ヘッダー サイトマップリスト */
	#basic_sitemap .sitemap  ul li {
		list-style: none;
		display: inline-block;
		width: 20%;
		padding-right: 1%;
		padding-left: 1%;
		border-left: 1px solid white;
		text-align: center;
		font-family: 'Meiryo';
		color: white;
		line-height: 200%;
	}
	/* ヘッダー サイトマップリスト 縦線重複回避 */
	#basic_sitemap .sitemap  ul li+ li {
		border-left: 0;
		border-right: 1px solid white;
	}
	.sub_title {
		width: 85%;
		margin: 0 auto;
	}
	/* カルーセルスライダー */
	.center { 
		width: 80%; 
		height: 20%;
		margin: 0 auto;
	}
	.center img{ 
		width: 100%;
		height: 30vw;
		object-fit: cover;
	}
	.center-thumb img{ 
		width: 99%;
		height: 10vw;
		object-fit: cover;
	}
	.center-thumb { 
		width: 80%; 
		margin: 0 auto;
		margin-top: 1%;
	}
	.center .slick-next { 
		right: 20px; 
		z-index: 99;
	}
	.center .slick-prev { 
		left: 15px; 
		z-index: 100;
	}
	.center-thumb .slick-current { 
		opacity: 0.5;
	}
	.center-thumb div div div { 
		cursor: pointer;
	}
	.headline_sub {
		font-size: 2vw;
	}
	#main {
		position: relative; 
	}
	/* フッター ロゴ＆会社名 */
	#footer #logo_a_links {
		display: inline-block;
		width: 100%;
		margin-bottom: 2%;
	}
	#footer #footer_contents {
		position: absolute;
		width: 98%;
		top: 0;
		right:  0;
		margin: 0 auto;
		margin-top: 10%;
	}
	/* フッター copyright */
	#copyright {
		width: 100%;
		position: absolute;
		text-align: center;
		font-family: 'Meiryo';
		color: white;
		font-weight: normal;
		bottom: 2%;
	}
}
