@charset "UTF-8";
/* CSS Document */
html {
	scroll-behavior:smooth;
}
* {
	margin: 0;
	padding: 0;
	font-family: 'Montserrat', sans-serif;
	list-style: none;
	text-decoration: none;
	font-size: 14px;
	color: #000;
}
* a {
	color: #000;
	transition: all ease .2s;
}
* a:hover {
	color: #000;
	text-decoration: none;
	opacity: 0.6;
}
* img {
	width: 100%;
}
body {
	position: relative;
}
body:before {
	content: '';
	position: fixed;
	background: #f3f3f3;
	height: 400px;
	top: 0;
	width: 100%;
	z-index: 0;
}

/* BASE */
section {
	padding: 80px 0;
	z-index: 1;
}
h1 {
	margin: 30px 0 0;
	padding-bottom: 3px;
	font-size: 1.6em;
	display: inline-block;
	border-bottom: 2px solid #673de6;
	color: #673de6;
}
h1+p {
	font-size: 0.75em;
	margin-top: 5px;
	color: #673de6;
}
.container {
	position: relative;
}
nav	{
	position: fixed;
	left: 8%;
	text-align: right;
}
nav ul.nav {
	display: block;
}
nav ul li {
}
nav ul li a {
	padding: 10px;
	display: block;
	color: #673de6;
	font-size: 1.2em;
	position: relative;
	transition: all ease .2s;
}
nav ul li a:hover {
	color: #fc5185;
}
nav ul li.active {
	position: relative;
}
nav ul li a:hover:before,
nav ul li.active:before {
	content: '';
	position: absolute;
	width: 12px;
	height: 12px;
	background: #fc5185;
	top: 0px;
	bottom: 0;
	right: -10px;
	margin: auto 0;
	z-index: 2;
}
nav ul li.active:before {
	background: #673de6;
}
.textlink {
	color: #673de6;
}
.btn {
	padding: 10px;
	background: #000;
	color: #fff;
	border-radius: 0;
}

/* ORIGINAL */
.visual {
	padding: 20% 10% 5%;
	background: url(../img/main.jpg) no-repeat center center;
	background-size: cover;
	color: #fff;
	box-shadow: 0 0 30px rgba(0,0,0,0.9) inset;
	position: relative;
}
.visual:before {
	content: '';
	position: absolute;
	background: rgba(0,0,0,0.3);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.visual * {
	position: relative;
	z-index: 1;
	color: #fff;
}
.visual .box {
	background: #000;
	padding: 3px;
	display: inline-block;
}
.title-out {
	text-align: center;
	margin-bottom: 30px;
}
.title {
	text-transform: uppercase;
	text-align: center;
	border-bottom: 2px solid #673de6;
	display: inline-block;
	margin-bottom:0;
	padding-bottom: 3px;
	color: #673de6;
}
.title+p {
	color: #673de6;
}

/* Project */
.project {
	margin-bottom: 80px;
}
.project h4 {
	margin-bottom: 20px;
}
.project h4+p {
	margin-bottom: 20px;
}
.project .project-img {
	max-height: 470px;
	overflow-y: scroll;
	display: block;
	scrollbar-width: none;
	position: relative;
	/* border: 1px solid #000; */
	box-shadow: 0 0 30px rgba(0,0,0,0.9) inset;
}
.project .project-img::-webkit-scrollbar {
    display:none;
}
.project .project-img span {
	opacity: 0;
	transition: all ease .2s;
	position: absolute;
	top: 20px;
	right: 20px;
}
.project .project-img:hover {
	opacity: 1;
	position: relative;
}
.project .project-img:hover span{
	opacity: 1;
}
.project .project-img img {
	box-shadow: 0 0 30px rgba(0,0,0,0.9) inset;
}
.title-out p {
	font-size: 0.75em;
	margin-top: 5px;
}
.infos li {
	margin-bottom: 10px;
}
.old-portfolio {
	color: #fff;
}
.old-portfolio a {
	color: #fff;
	padding: 100px 20px 100px 50px;
	background: url(../img/old_portfolio.jpg) no-repeat right center #000;
	background-size: contain;
	display: block;
	font-size: 1.5rem;
	font-weight: 600;
}
.old-portfolio a span {
	color: #fff;
}
.infos02 {
	display: flex;
}
.infos02 li {
	background: #673de6;
	color: #fff;
	padding: 3px 5px;
	position: relative;
	margin: 0;
}
.infos02 li:before {
	content: '';
	position: absolute;
	width: 1px;
	height: 32px;
	border-right:1px solid #fff;
	top: 0;
	bottom: 0;
	right: 0;
}
.intro {
	font-size: 1.1rem;
}
.sns li {
	display: inline-block;
	color: #fc5185;
	margin: 0 10px;
}
.sns li i {
	color: #fc5185;
}
.copy {
	font-size: 0.85rem;
	color: #666000;
}
.dark-mode-icon {
	position: fixed;
	top: 10px;
	right: 10px;
	z-index: 11;
}

/* Responsive */
@media (max-width: 1600px) {
	.container {
		max-width: 900px;
	}
	.infos02 {
		display: block;
	}
	.infos02 li {
		display: inline-block;
		margin-right: -3px;
		margin-bottom: 1px;
	}
}
@media (max-width: 1400px) {
	nav {
		left: 0;
		top: 0;
		z-index: 10;
		background: rgba(103, 61, 230, 0.8);
		width: 100%;
	}
	nav ul {
		text-align: center;
	}
	nav ul li {
		text-align: left;
		display: inline-block;
	}
	nav ul li a {
		color: #fff;
		font-size: 1rem;
	}
	.old-portfolio a {
	    padding: 30px 20px 380px 20px;
	    background: url(../img/old_portfolio.jpg) no-repeat center bottom #000;
	    background-size: contain;
	    text-align: center;
	}
	.dark-mode-icon {
		font-size: 1.3rem !important;
	}
}
@media (max-width: 768px) {
	.project h4 {
		margin-top: 30px;
	}
	#carouselSlidesOnly {
		margin-bottom: 30px;
	}
	.old-portfolio a {
		padding: 30px 20px 150px 20px;
		background: url(../img/old_portfolio.jpg) no-repeat center bottom #000;
		background-size: contain;
		text-align: center;
	}
}

/* darkmode */
.dark-mode {
	background: #000;
}
body.dark-mode:before {
	background: #673de6;
}
.dark-mode .dark-mode-icon {
	color: #fff;
}
body.dark-mode h1,
body.dark-mode h1+p,
body.dark-mode .title-out ,
body.dark-mode .project *,
body.dark-mode .title-out p,
body.dark-mode * {
	color: #fff;
}
body.dark-mode .title {
	color: #fff;
	border-bottom: 2px solid #fff;
}
body.dark-mode .infos02 li:before {
	border: none;
}
@media (max-width: 1400px) {
	body.dark-mode nav {
		background: rgba(0, 0, 0, 0.8);
	}
}
