@charset "UTF-8";

@media screen and (max-width: 640px) {
    /* スマートフォン向けの画像を表示 */
	.pc {
		display: none;
	}

	.sp {
		display: block;
	}

	html {
		scroll-behavior: smooth;
	}
	
	body{
		background-color: #fcfcfc;
		color: #302e19;
	}
	
	h1{
		text-align: center;
		font-size: 28px;
		margin-bottom: 50px;
		font-weight: semibold;
	}
	
	h2{
		text-align: center;
		font-size: 28px;
		margin-bottom: 50px;
		font-weight: semibold;
	}
	
	#nav_toggle{
		float: right;
		width: 30px;
		margin-top: 30px;
		margin-right: 30px;
	  }
	
	#humberger span{
		background-color: #302e19;
		width: 40px;
		height: 3px;
		display: block;
		position: absolute;
		transition: 0.5s;
	}
	
	#humberger span:nth-child(1){
		top: -4px;
	}
	
	#humberger span:nth-child(2){
		top: 11px;
	}
	
	#humberger span:nth-child(3){
		top: 28px;
	}
	
	#humberger{
		position:relative;
		z-index: 10000;
	}
	
	.open #humberger span:nth-child(1){
		transform: rotate(45deg);
		top: 11px;
	}
	
	.open #humberger span:nth-child(3){
		transform: rotate(-45deg);
		top: 11px;
	}
	
	.open #humberger span:nth-child(2){
		opacity: 0;
	}
	
	#humberger_list{
		width: 100%;
		height: 100vh;
		background-color: #fcfcfc;
		position: fixed;
		top: 0;
		left: 0;
		transform: translateY(-100vh);
		transition: 0.5s;
		z-index: 1000;
	}
	#humberger_list a{
		padding-top: 20px;
		padding-bottom: 20px;
		display: block;
	}
	.open #humberger_list{
		transform: translateY(0);
	}
	
	#humberger_list ul{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		font-size: 20px;
		width: 100%;
		height: 100%;
	}
	

	#name{
		padding-top: 150px;
		font-size: 20px;
		font-weight: semibold;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		line-height: 2em;
		letter-spacing: .5em;
	}
	
	#title{
		margin-top: 80px;
		font-size: 30px;
		font-weight: semibold;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		letter-spacing: .6em;
	}
	
	#job{
		margin-top: 130px;
		font-size: 16px;
		font-weight: semibold;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		letter-spacing: .5em;
	}
	
		.border_top{
		position: relative;
		text-align: left;
		font-size: 18px;
		padding-top: 60px;
	}
	
	.border_top:before{
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		border-bottom: solid 2px #000;
		animation: border_anim 5s linear forwards;
	}

	@keyframes border_anim {
		0%{
			width: 0%;
		}
		100%{
			width: 40%;
		}
	}
		
	.border_bottom{
		position: relative;
		text-align: right;
		font-size: 18px;
		padding-top: 60px;
	}

	.border_bottom:before{
		content: '';
		position: absolute;
		left: 100;
		bottom: 0;
		width: 0;
		transform: translateX(-100%);
		border-bottom: solid 2px #000;
		animation: border_anim 5s linear forwards;
	}

	@keyframes border_anim {
		0%{
			width: 0%;
		}
		100%{
			width: 40%;
		}
	}
	
	#main_container{
		margin:0 15px;
	}
	
	.main_works_contents_container{
		margin-top: 80px;
	}
	
	#main_works_container{
		margin-top:250px;
		transition: 2s;
		opacity: 0;
	}
	
	#main_works_container.active{
		opacity: 1;
	}
	
	#main_works_portofolio1,#main_works_portofolio2_sp,#main_works_portofolio3{
		transition: 2s;
		opacity: 0;
	}
	
	#main_works_portofolio1.active,#main_works_portofolio2_sp.active,#main_works_portofolio3.active{
		opacity: 1;
	}

	#main_works_portofolio1 img,#main_works_portofolio2_sp img,#main_works_portofolio3 img{
		width: 290px;
		height: 168px;
		text-align: center;
		margin-left: auto;
    	margin-right: auto;
	}
	
	.main_works_portofolio1_discription{
		width: 290px;
		text-align: center;
		margin-left: auto;
    	margin-right: auto;
	}
	.main_works_portofolio1_discription_containern > div > p{
		text-align: left;
	}
	
	.main_works_portofolio1_discription_title{
		margin-top:30px;
	}
	
	.main_works_portofolio1_discription_title p{
		font-size: 22px;
	}
	
	.main_works_portofolio1_discription_tool1{
		margin-top:10px;
	}
	
	.main_works_portofolio1_discription_tool2{
		margin-top:7px;
	}
	
	.main_works_detail_button{
		padding: 0.2em 1em;
		margin: 1em 0;
		color: #302e19;
		border: solid 2px #302e19;
		border-radius: 7px;
	}
	
	.main_works_detail_button p{
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		font-size: 14px;
	}
	
	
	
	
/*	Profile*/

	#main_profile{
		margin-top: 100px;
		transition: 2s;
		opacity: 0;
}
	#main_profile.active{
	

		opacity: 1;
}

	#main_profile_name{
		display: flex;
		justify-content: space-between;
		width: 250px;
		margin-top: 30px;
		font-size: 18px;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		font-family: Lato;
	}
	
	#main_profile_photo img{
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		width: 160px;
		height: 160px;
		margin-top: 30px;
	}
	
	#main_profile_sentence{
		margin-left: auto;
		margin-right: auto;
		margin-top: 20px;
		width: 220px;
	}
	
	#main_profile_sentence p{
		display: block;
		text-align: left;
	}
	
	#main_profile_detail_button{
		padding: 0.2em 1em;
		margin: 1em 0;
		color: #302e19;
		border: solid 2px #302e19;
		border-radius: 7px;
		width: 270px;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	
	/*	Contact*/

	#main_contact{
		margin-top: 100px;
		transition: 2s;
		opacity: 0;
}
	#main_contact.active{
		opacity: 1;
}


	#main_contact_sentence{
		margin-top: 30px;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	
	#main_contact_form_button{
		padding: 0.2em 1em;
		margin: 1em 0;
		color: #302e19;
		border: solid 2px #302e19;
		border-radius: 7px;
		width: 270px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 1em;
	}
	
	#main_contact_form_button{
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	
/*	footer*/
		#footer_container{
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		margin-top: 80px;
		margin-bottom: 30px;
	}
	
	#footer_container p{
		font-size: 10px;
	}
	
}


