@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&display=swap');
* {
	box-sizing: border-box;
}
html, body, div, span, h1, h2, h3, h4, h5, h6, p, a, address, img, dl, dt, dd, ol, ul, li, fieldset, form, label, article, aside, canvas, footer, header, hgroup, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	font-size: 100%;
	vertical-align: baseline;
	box-sizing: border-box;
}
html {
	height: 100%;
	font-size: 100%;
	background:url(../img/bg_01.png) 0 0 repeat #fff798;
}
body {
	position: relative;
	width: 100%;
	max-width:1700px;
	height: 100%;
	margin:0 auto;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color: #000;
	font-size: 18px;
	line-height: 1.4;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
	vertical-align: middle;
}
a img {
	border: none;
}
a, a img {
	text-decoration: none;
	cursor: pointer;
	transition-duration: 0.3s;
	transition-delay: 0s;
}
a:hover, a img:hover {
	transition-duration: 0.15s;
	transition-delay: 0s;
}
a:active, a img:active {
	transition-duration: 0.1s;
	transition-delay: 0s;
}
article, footer, header, hgroup, nav, section, summary {
	display: block;
}
/* CSS common animation----------------------------------- */
.fadein {
	-webkit-animation-name: fadein;
	animation-name: fadein;
}
@-webkit-keyframes fadein {
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
	}
}
@keyframes fadein {
	0% {
	opacity: 0;
	}
	100% {
	opacity: 1;
	}
}

.fadeinup {
	-webkit-animation-name: fadeinup;
	animation-name: fadeinup;
}
@-webkit-keyframes fadeinup {
	0% {
	opacity: 0;
	-webkit-transform: translate(0, 84px);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	}
}
@keyframes fadeinup {
	0% {
	opacity: 0;
	-webkit-transform: translate(0, 84px);
	transform: translate(0, 84px);
	-ms-transform: translate(0, 84px);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	transform: translate(0);
	-ms-transform: translate(0);
	}
}

.fadeindown {
	-webkit-animation-name: fadeindown;
	animation-name: fadeindown;
}
@-webkit-keyframes fadeindown {
	0% {
	opacity: 0;
	-webkit-transform: translate(0, -60px);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	}
}
@keyframes fadeindown {
	0% {
	opacity: 0;
	-webkit-transform: translate(0, -60px);
	transform: translate(0, -60px);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	transform: translate(0);
	}
}

.fadeinleft {
	-webkit-animation-name: fadeinleft;
	animation-name: fadeinleft;
}
@-webkit-keyframes fadeinleft {
	0% {
	opacity: 0;
	-webkit-transform: translate(-60px, 0);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	}
}
@keyframes fadeinleft {
	0% {
	opacity: 0;
	-webkit-transform: translate(-60px, 0);
	transform: translate(-60px, 0);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	transform: translate(0);
	}
}

.fadeinright {
	-webkit-animation-name: fadeinright;
	animation-name: fadeinright;
}
@-webkit-keyframes fadeinright {
	0% {
	opacity: 0;
	-webkit-transform: translate(120px, 0);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	}
}
@keyframes fadeinright {
	0% {
	opacity: 0;
	-webkit-transform: translate(120px, 0);
	transform: translate(120px, 0);
	}
	100% {
	opacity: 1;
	-webkit-transform: translate(0);
	transform: translate(0);
	}
}

/* ----------------------------------- */
nav {
	position: fixed;
	z-index: 9990;
	width: 100%;
	max-width:1700px;
	text-align: right;
	font-size: 16px;
	color:#666;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-animation-duration: 0.375s;
	animation-duration: 0.375s;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	transition-duration: 0.2s;
	transition-delay: 0s;
}
nav ul {
	width: 100%;
	margin: 0 auto;
	padding-left: 5%;
	padding-right: 5%;
	white-space: nowrap;
	transition-duration: 0.2s;
	transition-delay: 0s;
	-webkit-backface-visibility: hidden;
	-webkit-perspective: 1000;
}
ul#headerMenu.fixed {
	background-color:rgba(255,252,238,0.9);
	padding-bottom:15px;
}
nav li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	margin-left: 30px;
	margin-right: 30px;
	text-align: center;
	transition-duration: 0.2s;
	transition-delay: 0s;
	-webkit-animation-name: fadeindown;
	animation-name: fadeindown;
}

nav a {
	display: block;
	position: relative;
	padding-top: 66px;
	color: #666;
	transition-duration: 0.2s;
	transition-delay: 0s;
}
nav a:hover {
	color: #666;
	border-bottom:1px solid #666;
	-webkit-transform: translate(0, -2px);
	transform: translate(0, -2px);
}
@media screen and (max-width: 768px) {
	nav li.navHome a:hover {
		border-bottom:none;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
}
nav a:active {
	color: #666;
	opacity: 1;
	-webkit-transform: scale(1) rotate(0deg) translate(0);
	transform: scale(1) rotate(0deg) translate(0);
}
ul#headerMenu.fixed li a:link,
ul#headerMenu.fixed li a:visited,
ul#headerMenu.fixed li a:hover,
ul#headerMenu.fixed li a:active {
	color:#666;
}
 
nav li.navHome {
	position: absolute;
	top: 0;
	left: 5%;
	width: 84px;
	margin: 0;
	text-align: left;
	cursor: pointer;
	border-bottom:1px solid #666;
	
	-webkit-animation-name: fadeindown;
	animation-name: fadeindown;
	-webkit-animation-duration: 2.0s;
	animation-duration: 2.0s;
	-webkit-animation-delay: 0.0s;
	animation-delay: 0.0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
nav li.navWorks {
	-webkit-animation-name: fadeindown;
	animation-name: fadeindown;
	-webkit-animation-duration: 1.0s;
	animation-duration: 1.0s;
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
nav li.navAbout {
	-webkit-animation-name: fadeindown;
	animation-name: fadeindown;
	-webkit-animation-duration: 1.0s;
	animation-duration: 1.0s;
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}



@media screen and (min-width: 769px) {
	nav li.navHome {
		transition-duration: 0.4s;
		transition-delay: 0s;
		-webkit-animation-duration: 0.35s;
		animation-duration: 0.35s;/* 1 回のアニメーションサイクルに要する時間の長さを設定 */
		-webkit-animation-delay: 1s;
		animation-delay: 1s;/* 要素が読み込まれてからアニメーションを始めるまでの遅延時間を設定 */
		-webkit-animation-fill-mode: backwards;
		animation-fill-mode: backwards;/* アニメーションの実行前に、0%キーフレームで定義された値を即座に適用。animation-delayで指定した時間の間もその状態を維持 */
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;/* アニメーションの進め方を設定。加速曲線を定義 */
		-webkit-animation-name: navHomein;
		animation-name: navHomein;
	}
	@-webkit-keyframes navHomein {
		0% {
		width: 0;
		}
		100% {
		width: 84px;
		}
	}
	@keyframes navHomein {
		0% {
		width: 0;
		}
		100% {
		width: 84px;
		}
	}
}

nav li.navHome a {
	font-weight: bold;
}
nav li.navHome a:hover {
	border-bottom:none;
}
nav .fixed li a {
	padding-top:20px;
	border-color:#666;
}
nav .fixed li.navHome {
	border-color:#666;
}
nav .fixed li.navHome .sub,
nav .fixed li.navHome:hover .sub {
	display:none;
}
@media screen and (min-width: 769px) {
	nav li.navHome a:hover {
		opacity: 1;
		-webkit-transform: scale(1) rotate(0deg) translate(0);
		transform: scale(1) rotate(0deg) translate(0);
	}
	nav li.navHome:hover {
		width: 154px;
		transition-duration: 0.25s;
		transition-delay: 0s;
	}
}
nav li.navHome:hover .sub {
	display:block;
	opacity: 1;
	-webkit-transform: scale(1) rotate(0deg) translate(0);
	transform: scale(1) rotate(0deg) translate(0);
	transition-duration: 0.24s;
	transition-delay: 0.06s;
	transition-timing-function: ease-out;
}
nav li.navHome .sub {
	position: absolute;
	left: 1px;
	width: 180px;
	padding-top: 10px;
	font-size: 12px;
	opacity: 0;
	-webkit-transform: translate(0, -15px);
	transform: translate(0, -15px);
	transition-duration: 0.18s;
	transition-delay: 0.03s;
	transition-timing-function: ease-in;
}

.bg {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background: rgba(255,255,255,0.4);
	transition-duration: 0.45s;
	transition-delay: 0s;
}

header {
	position: fixed;
	top: 0;
	z-index: 1;
	width: 100%;
	max-width:1700px;
	height: 100%;
	max-height:590px;
	padding-right:5%;
	/*padding-top:13%;*/
	color: #666;
	transition-duration: 0.45s;
	transition-delay: 0s;
}
header.blur {
	-webkit-filter: blur(8px);
	-moz-filter: blur(8px);
	-ms-filter: blur(8px);
	filter: blur(8px);
	opacity:0.5;
	transition-duration: 0.3s;
	transition-delay: 0s;
}
header .box {
	/*position: absolute;*/
	width: 100%;
	height: 100%;
	padding-top:10%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right:20%;
	padding-left:10%;
}
/* iPad Air以下 */
@media screen and (max-width: 768px) {
	header {
		max-height:none;
		padding-right:0;
	}
}
header .box h1 {
	font-family:"ヒラギノ明朝 ProN W3", HiraMinProN-W3, "游明朝 Light", "ＭＳ Ｐ明朝", MS PMincho, "MS 明朝", serif;
	font-size:20px;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.1em;
	margin-top:-6%;
	width:50%;
	-webkit-animation-name: fadeinup;
	animation-name: fadeinup;
	-webkit-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-delay: 0.2s;
	animation-delay: 0.2s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
header .box .pright {
	width:50%;
}
header .box .pright img {
	max-width: 780px;
	width: 100%;
	height: auto;
	-webkit-animation-name: fadeinright;
	animation-name: fadeinright;
	-webkit-animation-duration: 2.0s;
	animation-duration: 2.0s;
	-webkit-animation-delay: 1.0s;
	animation-delay: 1.0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
header .box img {
	height:100%;
	width:auto;
}
.push {
	position: relative;
	height: 100%;
	max-height:670px;
}
/* iPad Air以下 */
@media screen and (max-width: 768px) {
	.push {
		max-height:none;
	}
}
.headerin {
	-webkit-animation-name: headerin;
	animation-name: headerin;
}

section {
	position: relative;
	z-index: 2;
	width: 100%;
	padding-left: 5%;
	padding-right: 5%;
	overflow: hidden;
	transition-duration: 0.6s;
	transition-delay: 0.2s;
}

section#works {
	z-index: 3;
	background-color:rgba(192,233,255,0.4);
	padding-top: 90px;
	padding-bottom: 90px;
	text-align: center;
}
section#works h2 {
	font-size: 42px;
	font-weight:bold;
	text-align:center;
	color:#666;
	margin-bottom:35px;
}

#pjt1 {
	/* opacity: 0; */
	padding-bottom:65%;
}
@media screen and (min-height: 1600px) {
	#pjt1,
	#pjt2,
	#profile {
		opacity:1;
	}
}
#pjt1.fadeIn {
	-webkit-animation-name: fadeinleft;
	animation-name: fadeinleft;
	-webkit-animation-duration: 2.0s;
	animation-duration: 2.0s;
	-webkit-animation-delay: 0.0s;
	animation-delay: 0.0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
#pjt2 {
	/* opacity: 0; */
}
#pjt2.fadeIn {
	-webkit-animation-name: fadeinright;
	animation-name: fadeinright;
	-webkit-animation-duration: 2.0s;
	animation-duration: 2.0s;
	-webkit-animation-delay: 0.0s;
	animation-delay: 0.0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
#profile {
	opacity: 0;
	background-color:rgba(247,241,224,1.0);
	padding:30px 3%;
	max-width:800px;
	margin:0 auto;
}
#profile.fadeIn {
	-webkit-animation-name: fadeinup;
	animation-name: fadeinup;
	-webkit-animation-duration: 2.0s;
	animation-duration: 2.0s;
	-webkit-animation-delay: 0.0s;
	animation-delay: 0.0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}


.project {
	position: relative;
	z-index: 1;
	display: inline-block;
	width: 100%;
	max-height: 470px;
	overflow: visible;
}
/* iPad Air以下 */
@media screen and (max-width: 768px) {
	.project {
		max-height:none;
	}
}
.project .preview {
	position: relative;
	z-index: 2;
	width: 62.5%;
	max-width: 782px;
	height: 100%;
}
.project .preview .left {
	left: 0;
}
.project .preview .right {
	right: 0;
}
.project .preview img {
	max-width: 780px;
	width:100%;
	height:auto;
}
.project .info {
	width: 34%;
	margin-top: 70px;
}
.project .info h3 {
	font-size: 32px;
	color:#666;
}
.project .info .skill {
	margin-top:2em;
	font-size:12px;
	color:#666;
}
.project .info .skill span {
	font-size:12px;
	color:#fff;
	background-color:#b4b19f;
	border:1px solid #ccc;
	padding:5px 8px;
	margin-bottom:5px;
	margin-right:5px;
	border-radius:14px;
	display:inline-block
}
.project .info .skill span.item {
	background-color:#77d1be;
}
.project.offset {
	padding-bottom: 50px;
}
.project.offset .info {
	margin-top: 80px;
}
.ileft {
	float: left;
}
.iright {
	float: right;
}
.pleft {
	float: left;
}
.pright {
	float: right;
}

section#about {
	height:100%;
	max-height:660px;
	background-color: rgba(0,0,0,0.1);
	padding-top:90px;
	padding-bottom:60px;
	text-align:center;
	font-size:14px;
}
/* iPad Air以下 */
@media screen and (max-width: 768px) {
	section#about {
		max-height:none;
	}
}
section#about h2 {
	font-size: 42px;
	font-weight:bold;
	color:#666;
	margin-bottom:20px;
}
section#about p {
	margin-bottom:1em;
	line-height:1.6;
	color:#666;
}

/* Page top
-------------------------------------------------------------- */
p#page-top {
	z-index:1000;
	position:fixed;
	bottom:10px;
	right:10px;
	font-size:12px;
	line-height:1.2;
	letter-spacing:0.1rem;
	padding:0;
	margin:0;
	display:none;
}
#page-top a {
	background:#000;
	text-decoration:none;
	font-size:12px;
	color:#fff;
	width:60px;
	height:60px;
	padding:15px 0;
	text-align:center;
	display:block;
	border-radius:40px;
	opacity:0.4;
}

/* iPad Air以下 */
@media screen and (max-width: 768px) {
	nav a {
		padding-top:20px;
	}
	nav li {
		margin-left:5px;
		margin-right:5px;
	}
	nav li.navHome .sub,
	nav li.navHome:hover .sub {
		display:none;
	}
	header .box {
		padding:5em 0 0;
		display:block;
	}
	header .box h1 {
		margin-top:6%;
		margin-bottom:1em;
		width:100%;
	}
	header .box .pright {
		width:100%;
	}
	.project .preview {
		width:100%;
	}
	.pleft,
	.pright {
		float:none;
	}
	section#works h2,
	section#about h2 {
		font-size:32px;
		margin-bottom:1em;
	}
	.project {
		margin-bottom:0;
		min-height:auto;
	}
	.project .info {
		margin-top:10px;
		width:100%;
	}
	.project .info h3 {
		font-size:24px;
		font-weight:bold;
	}
	.project.offset .info {
		margin-top:10px;
	}
	section#works {
		padding:80px 5% 30px;
	}
	section#about {
		height:auto;
		padding:80px 5% 100px;
	}
	section#about p {
		font-size:16px;
		text-align:left;
	}
	.bx-wrapper {
		margin:0 auto 30px !important;
	}
}


.bxslider li {
	padding-bottom:5px;
}
.bxslider li p {
	color:#898989;
	font-size:12px !important;
}





