@charset "utf-8";
/* CSS Document */
html {
	font-size: 62.5%; /*16px*62.5%=10px*/
}
body {
	color: #5D4F4C;
	font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	font-size: 1.4rem;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "pkna";
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
/*ページ全体を囲います*/
html:before, html:after, body:before, body:after {
	content: "";
	background: #FFF829;
	position: fixed;
	display: block;
	z-index: 1;
}
/* 上 */
html:before {
	height: 2px;
	width: 100vw;
	left: 0;
	top: 0;
}
/* 右 */
html:after {
	width: 2px;
	height: 100vh;
	right: 0;
	top: 0;
}
/* 下 */
body:before {
	height: 2px;
	width: 100vw;
	bottom: 0;
	left: 0;
}
/* 左 */
body:after {
	width: 2px;
	height: 100vh;
	top: 0;
	left: 0;
}
/*/////ページ全体を囲います*/




/*シュワシュワのアニメーション*/
.tittle-drop div {
	opacity: 0;
	-webkit-transform-origin: 0px 0px;
	-ms-transform-origin: 0px 0px;
	transform-origin: 0px 0px;
	-webkit-animation-name: Drop;
	animation-name: Drop;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
}

.tittle-box .tittle-drop div {
	position: absolute;
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #CBD7E3;
}
.tittle-box .tittle-drop div.flake2 {
	width: 8px;
	height: 8px;
	background: #F1D502;
}
.tittle-box .tittle-drop div.flake4 {
	width: 2px;
	height: 2px;
	background: #6EB4FC;
}
.tittle-box .tittle-drop div.flake6 {
	width: 2px;
	height: 2px;
	background: #6EB4FC
}
.tittle-box .tittle-drop div.flake8 {
	width: 10px;
	height: 10px;
	background: #F1D502;
}


.tittle-box .tittle-drop div.flake10 {
	width: 8px;
	height: 8px;
	background: #F1D502;
}
.tittle-box .tittle-drop div.flake12 {
	width: 2px;
	height: 2px;
	background: #6EB4FC;
}
.tittle-box .tittle-drop div.flake14 {
	width: 6px;
	height: 6px;
	background: #6EB4FC
}
.tittle-box .tittle-drop div.flake16 {
	width: 10px;
	height: 10px;
	background: #F1D502;
}


@-webkit-keyframes Drop {
	0% {
		-webkit-transform: translateY(100vh);
		transform: translateY(100vh);
		opacity: 0;
	}
	50% {
		-webkit-transform: translateY(50vh);
		transform: translateY(50vh);
		opacity: 1;
	}
	100% {
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
		opacity: 0.3;
	}
}
.flake1 {
	left: 1%;
	-webkit-animation-duration: 8.5s;
	animation-duration: 8.5s;
}
.flake2 {
	left: 1.5%;
	-webkit-animation-duration: 10.7s;
	animation-duration: 10.7s;
	-webkit-animation-delay: 4.2s;
	animation-delay: 4.2s;
}
.flake3 {
	left: 3.8%;
	-webkit-animation-duration: 8.9s;
	animation-duration: 8.9s;
	-webkit-animation-delay: 3.4s;
	animation-delay: 3.4s;
}
.flake4 {
	left: 4.2%;
	-webkit-animation-duration: 8.4s;
	animation-duration: 8.4s;
	-webkit-animation-delay: 6s;
	animation-delay: 6s;
}
.flake5 {
	left: 6.6%;
	-webkit-animation-duration: 8.4s;
	animation-duration: 8.4s;
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}
.flake6 {
	left: 15%;
	-webkit-animation-duration: 10.2s;
	animation-duration: 10.2s;
	-webkit-animation-delay: 1.2s;
	animation-delay: 1.2s;
}
.flake7 {
	left: 16%;
	-webkit-animation-duration: 6.7s;
	animation-duration: 6.7s;
	-webkit-animation-delay: 2.2s;
	animation-delay: 2.2s;
}
.flake8 {
	left: 20%;
	-webkit-animation-duration: 12s;
	animation-duration: 12s;
	-webkit-animation-delay: 1.4s;
	animation-delay: 1.4s;
}
.flake9 {
	right: 1%;
	-webkit-animation-duration: 8.5s;
	animation-duration: 8.5s;
}
.flake10 {
	right: 1.5%;
	-webkit-animation-duration: 9.7s;
	animation-duration: 9.7s;
	-webkit-animation-delay: 4.2s;
	animation-delay: 4.2s;
}
.flake11 {
	right: 3.8%;
	-webkit-animation-duration: 12.9s;
	animation-duration: 12.9s;
	-webkit-animation-delay: 0.4s;
	animation-delay: 0.4s;
}
.flake12 {
	right: 4.2%;
	-webkit-animation-duration: 8.4s;
	animation-duration: 8.4s;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}
.flake13 {
	right: 6.6%;
	-webkit-animation-duration: 8.4s;
	animation-duration: 8.4s;
	-webkit-animation-delay: 1s;
	animation-delay: 1s;
}
.flake14 {
	right: 15%;
	-webkit-animation-duration: 10.2s;
	animation-duration: 10.2s;
	-webkit-animation-delay: 1.2s;
	animation-delay: 1.2s;
}
.flake15 {
	right: 16%;
	-webkit-animation-duration: 12.7s;
	animation-duration: 12.7s;
	-webkit-animation-delay: 1.2s;
	animation-delay: 1.2s;
}
.flake16 {
	right: 20%;
	-webkit-animation-duration: 8s;
	animation-duration: 8s;
	-webkit-animation-delay: 1.4s;
	animation-delay: 1.4s;
}


/*//////シュワシュワのアニメーションココまで*/



/*invew用アニメショーンココから*/
.move{
opacity: 0;
transform: translate(0,40px); 
	
}

.moveon{
	transform: translate(0,0);
	opacity: 1;

}

.time05 {
    transition: .5s;
}

/*ポートフォリオタイトルアニメーション*/
.motion-txt {
  display: inline-block;
  position: relative;
  overflow: hidden;
  padding:10px;
}
.motion-txt:after {
  content: '';
  position: absolute;
  opacity: 1;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  background-color: #FFF829;
  transform: translate3d(-101%, 0, 0);
}
.js-scroll.show .motion-txt:after {
  transition-property: transform, opacity;
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate3d(0, 0, 0);
}
.js-scroll.done .motion-txt:after {
  transition-property: transform;
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate3d(103%, 0, 0);
}
.motion-txt .motion-inner {
  display: inline-block;
  opacity: 0;
}
.js-scroll.done .motion-txt .motion-inner {
  opacity: 1;
}


/*スクロールダウンアニメーション設定*/
.scroll {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 2;
  display: inline-block;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
  text-decoration: none;
padding-top: 40px;	
}

.scroll span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #5D4F4C;
  border-bottom: 1px solid #5D4F4C;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  box-sizing: border-box;
}
@-webkit-keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  20% {
   transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    transform: rotate(-45deg) translate(0, 0);
  }
}
@keyframes sdb {
  0% {
    transform: rotate(-45deg) translate(0, 0);
  }
  20% {
    transform: rotate(-45deg) translate(-10px, 10px);
  }
  40% {
    transform: rotate(-45deg) translate(0, 0);
  }
}



/*---------------------
*
*GenericParts
*
---------------------*/
.br-pc {
	display: none;
}
.br-sp {
	display: block;
}
a {
	text-decoration: none;
}
/*---------------------
*
*メインビジュアル
*
---------------------*/
.mainvisual {
	background: url("../img/main@2x.jpg");
	background-size: cover;
	padding-top: 45px;
	display: block;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: -1;
}
.mainvisual2 {
	background: url("../img/main@2x_blur.jpg");
	background-size: cover;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: -1;
}
.tittle-box {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	margin-bottom: 100px;
}
.tittle {
	font-size: 16.6233vw;
	font-family: yorkten-slab-normal, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #28BCBC;
	position: absolute;
	top: 50%;
	left: 50%;
	overflow: hidden;
	transform: translateY(-50%) translateX(-50%);
}
/*---------------------
*
*about
*
---------------------*/
.h2 {
	font-family: ltc-broadway, sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #28BCBC;
	font-size: 5rem;
	line-height: 1;
}
.h2-subtittle {
	display: block;
	font-size: 1.6rem;
	font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
	padding-top: 8px;
	margin-bottom: 40px;
}
.about{
		background: rgba(255, 255, 255, 0.80);
		padding: 20px 20px;
		margin-bottom: 100px;
}

.about-profile {
	text-align: center;
	margin: 0 auto;
}
.about-profile__text {
	text-align: left;
	padding: 40px 0;
}
.name {
	font-size: 2rem;
	font-weight: bold;
	padding-top: 40px;
}
.skill {
	background: #fffade;
	padding: 16px 20px 60px;
	text-align: center;

}
.skill-tittle {
	font-size: 1.6rem;
	color: #28BCBC;
}
.skill-list {
	display: flex;
	flex-wrap: wrap;
	margin-top: -10px; /*デザイン上のマイナス*/
}
.skill-list li {
	flex: 0 1 calc(100% / 3);
	margin-top: 40px;
}
.skill-list img {
	margin: 8px 0;
}
.rating {
	direction: rtl;
	font-size: 14px;
	unicode-bidi: bidi-override;
	position: relative;
	width: 78.75px;
	margin: 0 auto;
	color: #FFC70D;
}
.rating:before {
	content: "\f005\f005\f005\f005\f005";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
}
.rating:before, .rating:after {
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-size: 14px;
	position: absolute;
	top: 0;
	left: 0;
}
.rating.four:after {
	content: "\f005\f005\f005\f005";
	font-weight: 900;
}
.rating.twohalf:after {
	content: "\f005\f005\f5c0";
	font-weight: 900;
}
.rating.five:after {
	content: "\f005\f005\f005\f005\f005";
	font-weight: 900;
}
/*---------------------
*
*works
*
---------------------*/
.works {
	padding: 20px 20px 40px;
	margin-bottom: 100px;
	text-align: center;
	background: rgba(255, 255, 255, 0.80);
}
.work__btn {
	width: 250px;
	height: 48px;
	background: #28bcbc;
	display: block;
	vertical-align: middle;
	line-height: 48px;
	margin: 0 auto;
	color: #ffffff;
}
.works-frame {
	width: 250px;
	height: 250px;
	padding: 10px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid #cecece;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
	margin: 0 auto 32px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.works-parts {
	margin-bottom: 40px;
}
.works-parts:last-of-type {
	margin-bottom: 0px;
}
.works-box {
	background: #fffade;
	padding: 20px 8px;
	margin-bottom: 20px;
}
.works__h3 {
	font-size: 1.8rem;
	font-weight: bold;
}
.works__p {
	text-align: left;
	margin-top: 20px;
}
/*---------------------
*
*インスタ
*
---------------------*/
.instagram {
	text-align: center;
	background: rgba(255, 255, 255, 0.80);
	padding: 20px 20px;
	margin-bottom: 100px;
}

/*---------------------
*
*コンタクト
*
---------------------*/
.contact {
	text-align: center;
	background: rgba(255, 255, 255, 0.80);
	padding: 20px 20px;
	margin-bottom: 100px;
}
.conta-txt{
	margin-bottom: 40px;
}

.contact input{
    height: 2.4em;
    width: 100%;
    padding: 0 16px;
	margin-bottom: 30px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
	background: #fffade;
}
.contact textarea{
    display: block;
    width: 100%;
	height: 300px;
    padding: 4px 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    resize: vertical;
	margin-bottom: 30px;
	background: #fffade;
}

.contact button{
    display: inline-block;
    width: 250px;
    height: 48px;
    padding: 16px;
    border: none;
    background-color: #28bcbc;
    color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
	line-height: 1;
}

.contact label{
	display: block;
	text-align: left;
	color: #28BCBC;
	font-size: 2rem;
}
::placeholder {
  color: orange;
}

.required:after{
	content: " *";
	color: red;
}

/*---------------------
*
*フッター
*
---------------------*/
.footer {
	background: #28BCBC;
	color: #fff;
	text-align: center;
}
/**/
/**/
/*PC版のスタイルシートココから*/
/**/
/**/
@media screen and (min-width:749px) {
	body {
		font-size: 1.6rem;
	}
	.h2 {
		font-size: 8.4rem;
	}
	.h2-subtittle {
		font-size: 1.8rem;
	}
	
	a:hover {
    position: relative;
    top: 1px;
    left: 1px;
	transition: all .3s;
		opacity: 0.8;
}
/*---------------------
*
*メインビジュアル
*
---------------------*/
	.mainvisual {
		background: url("../img/main@2x_pc.jpg");
		background-size: cover;
	}
	.mainvisual2 {
		background: url("../img/main@2x_pc_blur.jpg");
		background-size: cover;
	}
	.tittle {
		font-size: 11vw;
		right: 10px;
		left: auto;
		transform: translateY(-50%) translateX(0%);
	}
	/*---------------------
*
*about
*
---------------------*/
	.about {
		background: rgba(255, 255, 255, 0.8);
		padding: 80px 0;
		margin: 0 auto 180px;
		max-width: 1200px;
		border-radius: 20px;
	}
	.about-profile {
		background: none;
	}
	.about-profile__portrait{
		width: 50%;
	}
	.about-profile__details{
		width: 50%;
	}
	.about-profile__flex {
		display: flex;
		max-width: 1080px;
		margin: 0 auto;
		align-items: flex-start;
	}
	.name {
		padding: 0;
		font-size: 3rem;
	}
	.skill {
		max-width: 1080px;
		margin: 0 auto;
	}
	.skill-list li {
		flex: 1;
	}
	.skill-tittle {
		font-size: 2.4rem;
	}
	/*---------------------
*
*works
*
---------------------*/
	.works {
		max-width: 1200px;
		margin: 0 auto 180px;
		border-radius: 20px;
		padding: 80px 0;
	}
	.works-list {
		max-width: 1080px;
		margin: 0 auto;
		display: flex;
	}
	.works-parts {
		width: 50%;
		margin-right: 40px;
	}
	.works-parts:last-of-type {
		margin-right: 0;
	}
	.works-box {
		padding: 20px;
	}
	/*---------------------
*
*Instagram
*
---------------------*/
	.instagram {
		max-width: 1200px;
		margin: 0 auto 180px;
		border-radius: 20px;
		padding: 80px 0;
	}
	.instagram-inner {
		max-width: 1080px;
		margin: 0 auto;
	}

/*---------------------
*
*Instagram
*
---------------------*/
	.contact {
		max-width: 1200px;
		margin: 0 auto 180px;
		border-radius: 20px;
		padding: 80px 0;
	}
	
	.contact form{
		max-width: 700px;
		margin: 0 auto;
	}

}
