@charset "utf-8";


/*keyframes.cssの読み込み
---------------------------------------------------------------------------*/
@import url("keyframes.css");

/*lightbox.cssの読み込み
---------------------------------------------------------------------------*/
@import url(https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.10.0/css/lightbox.css);

/*slide.cssの読み込み
---------------------------------------------------------------------------*/
@import url(slide.css);

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300&display=swap');


/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	font-size: 16px;	/*画面幅481px以上で閲覧した際の文字サイズ。ここを変更すると、他の文字サイズも連動します。※480px以下の指定箇所は下の方に別途あります。*/
}
body {
	margin: 0px;
	padding: 0px;
	color: #fff;	/*全体の文字色*/
	font-family: "M PLUS Rounded 1c", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	line-height: 2;		/*行間*/
	background: #06143c;	/*背景色*/
	-webkit-text-size-adjust: none;
	overflow-x: hidden;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 1rem;font-weight: normal;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 1rem;border-spacing: 0;}
video {max-width: 100%;}
iframe {width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #fff;		/*リンクテキストの色*/
	transition: 0.2s;	/*マウスオン時の移り変わるまでの時間設定。0.2秒。*/
}
a:hover {
	color: #7fb9e7;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*container（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	margin: 40px;	/*ブロックの外側にとるスペース*/
}

/*section
---------------------------------------------------------------------------*/
section {overflow: hidden;}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: relative;
	width: 100%;
	height: 100px;	/*高さ*/
}
/*ヘッダーブロック（※トップページへの追加設定）*/
.home header {
	height: auto;	/*高さを自動に*/
}
/*ロゴ画像*/
header #logo {
	position: absolute;z-index: 1;
	
	left: 50%;	/*左からの配置場所*/
	top: 50%;	/*上からの配置場所*/
	transform: translate(-50%, -50%);	/*配置場所を中心へ調整*/
	width: 40%;	/*幅*/
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: fixed;z-index: 100;
	top: 60px;	/*上からの配置場所*/
	left: 60px;	/*左からの配置場所*/
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: url(../images/icon_menu.png) no-repeat center top/50px;	/*背景画像の読み込み、画像の上半分（３本マーク）を表示。幅は50px。*/
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: url(../images/icon_menu.png) no-repeat center bottom/50px;	/*背景画像の読み込み、画像の下半分（×マーク）を表示。幅は50px。*/
}

/*メインメニューブロックの設定
---------------------------------------------------------------------------*/
#menubar {
	animation-name: opa1;		/*keyframes.cssで使う@keyframesの指定*/
	animation-duration: 1S;		/*アニメーションの実行時間*/
	animation-fill-mode: both;	/*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/
	background: rgba(0,0,0,0.85);	/*背景色。0,0,0は黒の事で、0.85は色が85%出た状態の事。*/
	position: fixed;overflow: auto;z-index: 99;
	left: 0px;
	top: 0px;
	width: 100%;		/*幅。上のpaddingと合わせて100%になるように。*/
	height: 100%;	/*高さ。上のpaddingと合わせて100%になるように。*/
	text-align: center;	/*テキストをセンタリング*/
}
#menubar a {
	text-decoration: none;
}
/*メニューブロックの上に空ける余白*/
#menubar ul {
	margin-top: 200px;
}
/*文字サイズ。冒頭で指定しているフォントサイズの1.25倍です。*/
#menubar li {
	font-size: 1.25rem;		
}

/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
	padding: 50px 80px;	/*上下、左右へのコンテンツ内の余白*/
	position: relative;
	animation-name: opa1;		/*keyframes.cssで使う@keyframesの指定*/
	animation-duration: 0.5S;	/*アニメーションの実行時間*/
	animation-delay: 0.5s;		/*出現するタイミング（秒後）*/
	animation-fill-mode: both;
}
/*h2タグ*/
#contents h2 {
	clear: both;
	margin-bottom: 50px;	/*下に空けるスペース*/
	font-size: 2rem;		/*文字サイズ。冒頭で指定しているフォントサイズの2倍です。*/
	text-align: center;		/*文字をセンタリング*/
	letter-spacing: 0.1em;	/*文字間隔を少し広めにとる指定。通常がいいならこの１行削除。*/
}
/*h2タグ内のspanタグ（装飾文字）*/
#contents h2 span {
	display: inline-block;white-space: nowrap;
	font-size: 1.2rem;	/*文字サイズ。冒頭で指定しているフォントサイズの1.2倍です。*/
	border-top: 3px solid rgba(255,255,255,0.2);	/*上の線の幅、線種、色*/
	padding: 1px 1px 0;	/*上、左右、下への余白*/
}
/*h3タグ*/
#contents h3 {
	clear: both;
	margin-bottom: 30px;	/*下に空けるスペース*/
	font-size: 1.5rem;		/*文字サイズ。冒頭で指定しているフォントサイズの1.5倍です。*/
	border-bottom: 1px dashed #999;	/*下線の幅、線種、色*/
	padding-left: 3%;		/*左側に空ける余白*/
	letter-spacing: 0.1em;	/*文字間隔を少し広めにとる指定。通常がいいならこの１行削除。*/
}
/*h3タグ内のspanタグ（装飾文字）*/
#contents h3 span {
	display: inline-block;
	font-size: 0.875rem;	/*文字サイズ*/
	padding-left: 20px;
}
/*段落タグ*/
#contents p {
	padding: 0 3% 30px;	/*上、左右、下への余白*/
}
/*他、微調整*/
#contents h2 + p,
#contents h3 + p {
	margin-top: -5px;
}
#contents p + p {
	margin-top: -10px;
}
#contents section + section {
	margin-top: 100px;
}

/*list（円形のサムネイル用）
---------------------------------------------------------------------------*/
/*ボックスの設定*/
#contents .list {
	float: left;	/*左に回り込み*/
	overflow: hidden;
	border-radius: 50%;		/*円形にする指定。この１行を削除すれば四角形になります。30pxなどに変更すれば角丸の四角形になります。*/
	margin: auto;
	/*margin: 0 6.6% 40px;	/*上、左右、下へ空けるスペース。サムネイル同士の余白部分です。*/
	width: 20%;	/*幅*/
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	font-size: 0.75rem;	/*文字サイズ*/
	text-align: center;
	padding: 3%;	/*余白*/
	background: url(../images/1.jpg) no-repeat center center / cover;	/*背景画像の読み込み。*/
}
footer small {font-size: 100%;}
footer a {text-decoration: none;}
footer .pr {display: block;}

/*facebookやtwitterなどのアイコン
---------------------------------------------------------------------------*/
/*アイコン全体を囲むブロック*/
ul.icon {
	margin-bottom: 20px;
}
/*アイコン１個あたりの設定*/
ul.icon li {
	display: inline-block;	/*横並びにさせる指定*/
}
/*アイコン画像の設定*/
ul.icon img {
	width: 30px;		/*画像の幅*/
}
ul.icon img:hover {
	opacity: 0.8;		/*マウスオン時に透明度を80%にする。*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*見出しを含まないお知らせブロック*/
#new dl {
	padding: 0px 3%;		/*上下、左右へのブロック内の余白*/
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;		/*幅*/
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
}

/*ta1設定
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	border: 1px solid #fff;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	font-weight: bold;		/*太字に*/
	padding: 15px 10px;		/*上下、左右へのボックス内の余白*/
}
/*ta1テーブル*/
.ta1 {
	width: 94%;
	table-layout: fixed;
	margin: 0 3% 30px;
}
.ta1, .ta1 td, .ta1 th {
	border: 1px solid #fff;	/*テーブルの枠線の幅、線種、色*/
	padding: 15px 10px;		/*上下、左右へのボックス内の余白*/
	word-break: break-all;
}
/*左側ボックス*/
.ta1 th {
	width: 150px;	/*幅*/
	text-align: center;	/*センタリング*/
	font-weight: normal;
}

/*checkブロック。赤い注意書きブロックです。
---------------------------------------------------------------------------*/
p.check {
	background: #ff0000;
	color:#fff;
	padding: 10px 25px !important;
	margin-bottom: 20px;
}
p.check a {color: #fff;}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
/*通常時のボタンは非表示*/
body .nav-fix-pos-pagetop a {display: none;}
/*fixmenu_pagetop.jsで設定している設定値になったら出現するボタンスタイル*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;text-decoration: none;text-align: center;
	width: 50px;		/*幅*/
	line-height: 50px;	/*高さ*/
	z-index: 1;
	position: fixed;
	bottom: 20px;	/*下から20pxの場所に配置*/
	right: 3%;		/*右から3%の場所に配置*/
	background: #666;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.6);	/*背景色。0,0,0は黒の事。0.6は60%色がついた状態。*/
	color: #fff;	/*文字色*/
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	animation-name: opa1;	/*keyframes.cssで使う@keyframesの指定*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: both;	/*アニメーションの待機中は最初のキーフレームを維持、終了後は最後のキーフレームを維持。*/
}
/*マウスオン時*/
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;	/*背景色*/
}

/*ul.disc,olタグ
---------------------------------------------------------------------------*/
ul.disc {
	list-style: disc;
	padding: 0 3% 20px 6%;
}
ol {
	padding: 0 3% 20px 6%;
}

/*その他
---------------------------------------------------------------------------*/
.clearfix::after {content: "";display: block;clear: both;}
.look {background: rgba(0,0,0,0.3);border: 1px solid #ccc;display: inline-block;padding: 0px 10px !important;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb20 {margin-bottom: 20px !important;}
.mb30 {margin-bottom: 30px !important;}
.mb50 {margin-bottom: 50px !important;}
.plr3p {padding-left: 3% !important;padding-right: 3% !important;}
.clear {clear: both;}
.color1, .color1 a {color: #ffd200 !important;}
.wl {width: 96%;}
.ws {width: 50%;}
.w48p {width: 48%;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
.fl {float: left;}
.fr {float: right;}
.sh {display: none;}
.ofh {overflow: hidden;}



/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){

/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
	padding: 50px 0px;	/*上下、左右へのコンテンツ内の余白*/

}

}



/*画面が横向きの場合の設定、かつ、画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (orientation:landscape) and (max-width:800px){

/*メインメニューブロックの設定
---------------------------------------------------------------------------*/
/*メニューブロックの上に空ける余白*/
#menubar ul {
	margin-top: 80px;
}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
html,body {
	font-size: 12px;	/*画面幅480px以下で閲覧した際の文字サイズ。*/
}

/*container（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	margin: 10px;	/*ブロックの外側にとるスペース*/
}

/*ヘッダー
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo {
	left: 30%;	/*左からの配置場所*/
	width: 40%;	/*幅*/
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	top: 30px;	/*上からの配置場所*/
	left: 3%;	/*左からの配置場所*/
}

/*コンテンツ
---------------------------------------------------------------------------*/
/*h2タグ*/
#contents h2 {
	margin-bottom: 10px;
}
/*他、微調整*/
#contents section + section {
	margin-top: 50px;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.w48p {width: 100%;}
.fl {float: none;}
.fr {float: none;}
.sh {display:block;}
.pc {display:none;}


}

/*自己追加
---------------------------------------------------------------------------*/
.heading-primary {
	font-size: 6rem;
	text-transform: uppercase;
	letter-spacing: 3px;
	text-align: center; }
	@media only screen and (max-width: 37.5em) {
	  .heading-primary {
		font-size: 4.5rem; } }
  
  .heading-sec__mb-bg {
	margin-bottom: 11rem; }
	@media only screen and (max-width: 56.25em) {
	  .heading-sec__mb-bg {
		margin-bottom: 8rem; } }
  
  .heading-sec__mb-med {
	margin-bottom: 9rem; }
	@media only screen and (max-width: 56.25em) {
	  .heading-sec__mb-med {
		margin-bottom: 8rem; } }
  
  .heading-sec__main {
	display: block;
	font-size: 4rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	letter-spacing: 3px;
	text-align: center;
	margin-bottom: 3.5rem;
	position: relative; }
	.heading-sec__main--lt {
	  color: #fff; }
	  .heading-sec__main--lt::after {
		content: '';
		background: #fff !important; }
	.heading-sec__main::after {
	  content: '';
	  position: absolute;
	  top: calc(100% + 1.5rem);
	  height: 5px;
	  width: 3rem;
	  background: #0062b9;
	  left: 50%;
	  transform: translateX(-50%);
	  border-radius: 5px; }
	  @media only screen and (max-width: 37.5em) {
		.heading-sec__main::after {
		  top: calc(100% + 1.2rem); } }
  
  .heading-sec__sub {
	display: block;
	text-align: center;
	color: #c7c7c7;
	font-size: 1.2rem;
	font-weight: 500;
	max-width: 80rem;
	margin: auto;
	line-height: 1.2; }
	@media only screen and (max-width: 37.5em) {
	  .heading-sec__sub {
		font-size: 1rem; } }
	.heading-sec__sub--lt {
	  color: #eee; }
  
  .heading-sm {
	font-size: 2.2rem;
	text-transform: uppercase;
	letter-spacing: 1px; }
  
  .main-container {
	max-width: 120rem;
	margin: auto;
	width: 92%; }
  
  .btn {
	background: #fff;
	color: #333;
	text-transform: uppercase;
	letter-spacing: 2px;
	display: inline-block;
	font-weight: 700;
	border-radius: 5px;
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.15);
	transition: transform .3s; }
	.btn:hover {
	  transform: translateY(-3px); }
	.btn--bg {
	  padding: 1rem 4rem;
	  font-size: 1.8rem; }
	.btn--med {
	  padding: 1rem 2rem;
	  font-size: 1.2rem; }
	.btn--theme {
	  background: #3253e4;
	  color: #fff; }
	.btn--theme-inv {
	  color: #3253e4;
	  background: #fff;
	  border: 2px solid #3253e4;
	  box-shadow: none;
	  padding: calc(1.5rem - 2px) calc(5rem - 2px); }
  
  .sec-pad {
	padding: 4rem 0; }
	@media only screen and (max-width: 56.25em) {
	  .sec-pad {
		padding: 2rem 0; } }
  
  .text-primary {
	color: #fff;
	font-size: 2.2rem;
	text-align: center;
	width: 100%;
	line-height: 1.6; }
	@media only screen and (max-width: 37.5em) {
	  .text-primary {
		font-size: 2rem; } }
  
  .d-none {
	display: none; }
  
  .home-hero {
	color: #fff;
	background: linear-gradient(to right, rgba(0, 98, 185, 0.8), rgba(0, 98, 185, 0.8)), url(../../assets/svg/common-bg.svg);
	background-position: center;
	height: 100vh;
	min-height: 80rem;
	max-height: 120rem;
	position: relative; }
	@media only screen and (max-width: 37.5em) {
	  .home-hero {
		height: unset;
		min-height: unset; } }
	.home-hero__socials {
	  position: absolute;
	  top: 50%;
	  border: 2px solid #eee;
	  border-left: 2px solid #eee;
	  transform: translateY(-50%); }
	  @media only screen and (max-width: 56.25em) {
		.home-hero__socials {
		  display: none; } }
	.home-hero__mouse-scroll-cont {
	  position: absolute;
	  bottom: 3%;
	  left: 50%;
	  transform: translateX(-50%); }
	  @media only screen and (max-width: 37.5em) {
		.home-hero__mouse-scroll-cont {
		  display: none; } }
	.home-hero__social {
	  width: 5rem; }
	.home-hero__social-icon-link {
	  width: 100%;
	  display: block;
	  padding: 1.2rem;
	  border-bottom: 2px solid #eee;
	  transition: background .3s; }
	  .home-hero__social-icon-link:hover {
		background: rgba(255, 255, 255, 0.1); }
	  .home-hero__social-icon-link--bd-none {
		border-bottom: 0; }
	.home-hero__social-icon {
	  width: 100%; }
	.home-hero__content {
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  max-width: 90rem;
	  width: 92%; }
	  @media only screen and (max-width: 37.5em) {
		.home-hero__content {
		  padding: 19rem 0 13rem 0;
		  margin: auto;
		  position: static;
		  transform: translate(0, 0); } }
	.home-hero__info {
	  margin: 3rem auto 0 auto;
	  max-width: 80rem; }
	.home-hero__cta {
	  margin-top: 5rem;
	  text-align: center; }
  
  .about {
	background: #fafafa; }
	.about__content {
	  display: grid;
	  grid-template-columns: 1fr 1fr;
	  grid-gap: 10rem; }
	  @media only screen and (max-width: 56.25em) {
		.about__content {
		  grid-template-columns: 1fr;
		  grid-gap: 8rem; } }
	  .about__content-title {
		font-weight: 700;
		font-size: 2.8rem;
		margin-bottom: 3rem; }
		@media only screen and (max-width: 37.5em) {
		  .about__content-title {
			font-size: 2.4rem; } }
	  .about__content-details-para {
		font-size: 1.8rem;
		color: grey;
		max-width: 60rem;
		line-height: 1.7;
		margin-bottom: 1rem; }
		.about__content-details-para--hl {
		  font-weight: 700;
		  margin: 0 3px; }
		.about__content-details-para:last-child {
		  margin-bottom: 4rem; }
  
  .projects__row {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	grid-gap: 5rem;
	margin-bottom: 11rem; }
	@media only screen and (max-width: 56.25em) {
	  .projects__row {
		grid-template-columns: 1fr;
		grid-gap: 2rem;
		margin-bottom: 8rem; } }
	@media only screen and (max-width: 56.25em) {
	  .projects__row {
		text-align: center; } }
	.projects__row:last-child {
	  margin-bottom: 0; }
	.projects__row-img-cont {
	  overflow: hidden; }
	.projects__row-img {
	  width: 100%;
	  display: block;
	  object-fit: cover; }
	.projects__row-content {
	  padding: 2rem 0;
	  display: flex;
	  justify-content: center;
	  flex-direction: column;
	  align-items: flex-start; }
	  @media only screen and (max-width: 56.25em) {
		.projects__row-content {
		  align-items: center; } }
	  .projects__row-content-title {
		font-weight: 700;
		font-size: 2.8rem;
		margin-bottom: 2rem; }
		@media only screen and (max-width: 37.5em) {
		  .projects__row-content-title {
			font-size: 2.4rem; } }
	  .projects__row-content-desc {
		font-size: 1.8rem;
		color: rgb(252, 252, 252);
		max-width: 60rem;
		line-height: 1.7;
		margin-bottom: 3rem; }
		@media only screen and (max-width: 37.5em) {
		  .projects__row-content-desc {
			font-size: 1.5rem; } }
  
.project-cs-hero {
	color: #fff;
	background: linear-gradient(to right, rgba(0, 98, 185, 0.8), rgba(0, 98, 185, 0.8)), url(../../assets/svg/common-bg.svg);
	background-size: cover;
	background-position: center;
	position: relative; }
	@media only screen and (max-width: 37.5em) {
	  .project-cs-hero {
		height: unset;
		min-height: unset; } }
	.project-cs-hero__content {
	  padding: 25rem 0 17rem 0;
	  max-width: 90rem;
	  width: 92%;
	  margin: auto; }
	  @media only screen and (max-width: 37.5em) {
		.project-cs-hero__content {
		  padding: 19rem 0 13rem 0;
		  margin: auto;
		  position: static;
		  transform: translate(0, 0); } }
	.project-cs-hero__info {
	  margin: 3rem auto 0 auto;
	  max-width: 80rem; }
	.project-cs-hero__cta {
	  margin-top: 5rem;
	  text-align: center; }
  
  .project-details__content {
	padding: 8rem 0;
	max-width: 90rem;
	margin: auto; }
	.project-details__content-title {
	  font-weight: 700;
	  font-size: 2.8rem;
	  margin-bottom: 3rem; }
	  @media only screen and (max-width: 37.5em) {
		.project-details__content-title {
		  font-size: 2.4rem; } }
  
  .project-details__showcase-img-cont {
	width: 100%;
	margin-bottom: 6rem; }
  
  .project-details__showcase-img {
	width: 100%; }
  
  .project-details__content-main {
	width: 100%;
	max-width: 70rem;
	margin: auto; }
  
  .project-details__desc {
	margin: 0 0 7rem 0; }
	.project-details__desc-para {
	  font-size: 1.8rem;
	  line-height: 1.7;
	  color: grey;
	  margin-bottom: 2rem; }
  
  .project-details__tools-used {
	margin: 0 0 7rem 0; }
	.project-details__tools-used-list {
	  display: flex;
	  flex-wrap: wrap; }
	.project-details__tools-used-item {
	  padding: 1rem 2rem;
	  margin-bottom: 1.5rem;
	  margin-right: 1.5rem;
	  font-size: 1.6rem;
	  background: rgba(153, 153, 153, 0.2);
	  border-radius: 5px;
	  font-weight: 600;
	  color: #777; }
  
  .project-details__links {
	margin: 0 0; }
	.project-details__links-btn {
	  margin-right: 2rem; }
	  @media only screen and (max-width: 37.5em) {
		.project-details__links-btn {
		  margin-right: 0;
		  width: 70%;
		  margin-bottom: 2rem;
		  text-align: center; } }
	  .project-details__links-btn:last-child {
		margin: 0; }
		@media only screen and (max-width: 37.5em) {
		  .project-details__links-btn:last-child {
			margin: 0; } }
  
  .header {
	position: fixed;
	width: 100%;
	z-index: 1000;
	background: #000;
	background: #fff;
	box-shadow: 0 10px 100px rgba(0, 0, 0, 0.1); }
	.header__content {
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  padding: 1rem 5rem; }
	  @media only screen and (max-width: 56.25em) {
		.header__content {
		  padding: 0 2rem; } }
	.header__logo-container {
	  display: flex;
	  align-items: center;
	  cursor: pointer;
	  color: #333;
	  transition: color .3s; }
	  .header__logo-container:hover {
		color: #0062b9; }
	.header__logo-img-cont {
	  width: 5rem;
	  height: 5rem;
	  border-radius: 50px;
	  overflow: hidden;
	  margin-right: 1.5rem;
	  background: #0062b9; }
	  @media only screen and (max-width: 56.25em) {
		.header__logo-img-cont {
		  width: 4.5rem;
		  height: 4.5rem;
		  margin-right: 1.2rem; } }
	.header__logo-img {
	  width: 100%;
	  height: 100%;
	  object-fit: cover;
	  object-position: center;
	  display: block; }
	.header__logo-sub {
	  font-size: 1.8rem;
	  text-transform: uppercase;
	  font-weight: 700;
	  letter-spacing: 1px; }
	.header__links {
	  display: flex; }
	  @media only screen and (max-width: 37.5em) {
		.header__links {
		  display: none; } }
	.header__link {
	  padding: 2.2rem 3rem;
	  display: inline-block;
	  font-size: 1.6rem;
	  color: #333;
	  text-transform: uppercase;
	  letter-spacing: 1px;
	  font-weight: 700;
	  transition: color .3s; }
	  .header__link:hover {
		color: #0062b9; }
	  @media only screen and (max-width: 56.25em) {
		.header__link {
		  padding: 3rem 1.8rem;
		  font-size: 1.5rem; } }
	.header__main-ham-menu-cont {
	  display: none;
	  width: 3rem;
	  padding: 2.2rem 0; }
	  @media only screen and (max-width: 37.5em) {
		.header__main-ham-menu-cont {
		  display: block; } }
	.header__main-ham-menu {
	  width: 100%; }
	.header__main-ham-menu-close {
	  width: 100%; }
	.header__sm-menu {
	  background: #fff;
	  position: absolute;
	  width: 100%;
	  top: 100%;
	  visibility: hidden;
	  opacity: 0;
	  transition: all .3s;
	  box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
	  -webkit-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
	  -moz-box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1); }
	  .header__sm-menu--active {
		visibility: hidden;
		opacity: 0; }
		@media only screen and (max-width: 37.5em) {
		  .header__sm-menu--active {
			visibility: visible;
			opacity: 1; } }
	.header__sm-menu-link a {
	  display: block;
	  text-decoration: none;
	  padding: 2.5rem 3rem;
	  font-size: 1.6rem;
	  color: #333;
	  text-align: right;
	  border-bottom: 1px solid #eee;
	  font-weight: 700;
	  text-transform: uppercase;
	  letter-spacing: 2px;
	  transition: color .3s; }
	  .header__sm-menu-link a:hover {
		color: #0062b9; }
	.header__sm-menu-link:first-child a {
	  border-top: 1px solid #eee; }
	.header__sm-menu-link-last {
	  border-bottom: 0; }
  
  .main-footer {
	background: #000;
	color: #fff; }
	.main-footer__upper {
	  display: flex;
	  justify-content: space-between;
	  padding: 8rem 0; }
	  @media only screen and (max-width: 56.25em) {
		.main-footer__upper {
		  padding: 6rem 0; } }
	  @media only screen and (max-width: 37.5em) {
		.main-footer__upper {
		  display: block; } }
	.main-footer__row-1 {
	  order: 2; }
	  @media only screen and (max-width: 56.25em) {
		.main-footer__row-1 {
		  margin-bottom: 5rem; } }
	.main-footer__row-2 {
	  width: 40%;
	  order: 1;
	  max-width: 50rem; }
	  @media only screen and (max-width: 56.25em) {
		.main-footer__row-2 {
		  width: 100%; } }
	.main-footer__short-desc {
	  margin-top: 2rem;
	  color: #eee;
	  font-size: 1.5rem;
	  line-height: 1.7; }
	.main-footer__social-cont {
	  margin-top: 2rem; }
	.main-footer__icon {
	  margin-right: 1rem;
	  width: 2.5rem; }
	  .main-footer__icon--mr-none {
		margin-right: 0; }
	.main-footer__lower {
	  padding: 4rem 0;
	  border-top: 1px solid #444;
	  color: #eee;
	  font-size: 1.2rem;
	  text-align: left;
	  text-align: center; }
	  .main-footer__lower a {
		text-decoration: underline;
		font-weight: bold;
		margin-left: 2px; }
	  @media only screen and (max-width: 56.25em) {
		.main-footer__lower {
		  padding: 3.5rem 0; } }
  
.skills {
	display: flex;
	flex-wrap: wrap; }
	.skills__skill {
		padding: 0.5rem 0.8em;
		margin-bottom: 1rem;
		margin-right: 1rem;
		font-size: 1rem;
		background: rgba(104, 159, 173, 0.651);
		border-radius: 5px;
		font-weight: 600;
		color: #f7f6f6; }
  
  .mouse {
	width: 25px;
	height: 40px;
	border: 2px solid #eee;
	border-radius: 60px;
	position: relative;
	overflow: hidden; }
	.mouse::before {
	  content: '';
	  width: 5px;
	  height: 5px;
	  position: absolute;
	  top: 7px;
	  left: 50%;
	  transform: translateX(-50%);
	  background-color: #eee;
	  border-radius: 50%;
	  opacity: 1;
	  animation: wheel 1.3s infinite;
	  -webkit-animation: wheel 1.3s infinite; }
  
  @keyframes wheel {
	to {
	  opacity: 0;
	  top: 27px; } }
  
  @-webkit-keyframes wheel {
	to {
	  opacity: 0;
	  top: 27px; } }
  