@charset "UTF-8";

html{
	font-size: 14px;
}
body {
	min-width: 860px;
	background-color: #ffffff;
	color: #454545;
 	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
	line-height: 1.8;
	letter-spacing: 0.1em;
	text-align: center;
}
img {
  vertical-align: bottom;
}
a {
  color: #454545;
  text-decoration: none;
}
a:hover {
	opacity:0.8;
	filter: alpha(opacity=80);        /* ie lt 8 */
	-moz-opacity:0.8;                 /* FF lt 1.5, Netscape */
}
.btn > *:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);        /* ie lt 8 */
	-moz-opacity:0.8;                 /* FF lt 1.5, Netscape */
}
.pcdisn{
	display: none;
}
.spdisn{
	display: block;
}

#nav{
	position: relative;
	width: 100%;
	height: 100px;
	font-family: 'Montserrat', sans-serif;
}
#nav h1{
	position: absolute;
	top: 20px;
	left: 5vw;
}
#nav h1 > a{
	font-size: 30px;
	font-weight: bold;
	color: #5fa99a;
}
#nav h1 > a span{
	font-size: 20px;
	font-weight: normal;
	color: #454545;
}
#nav #menu{
	position: absolute;
	top: 38px;
	right: 5vw;
	
}
#nav #menu > *{
	display: inline-block;
	margin: 0 0 0 5vw;
}
#nav #menu > * a{
	font-size: 14px;
	font-weight: bold;
}
#nav #menu > * a > span{
	position: relative;
	overflow:visible;
	}
#nav #menu > * a > span:after {
    content: "";
    background-color: #5fa99a;
    width: 100%;
    height: 2px;
    display: block;
    position: absolute;
    bottom: -8px;
    left: 0;
    transform: scaleX(0);
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -o-transform: scaleX(0);
    transition: .16s ease-in-out;
    -webkit-transition: .16s ease-in-out;
    -moz-transition: .16s ease-in-out;
    -ms-transition: .16s ease-in-out;
    -o-transition: .16s ease-in-out;
}
#nav #menu > * a:hover{
	opacity: 1;
}
#nav #menu > * a:hover > span:after{
	transform: scaleX(1);
	-webkit-transform: scaleX(1);
	-moz-transform: scaleX(1);
	-ms-transform: scaleX(1);
	-o-transform: scaleX(1)
}

footer{
	background: #454545;
}
footer p{
	padding: 30px 0;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	font-size: 11px;
	color: #fff;
}

#hero{
	width: 100%;
	height: 446px;
}
#hero.top{
	height: calc(100vh - 100px);
	background: url(/img/hero02.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
#hero.profile{
	background: url(/img/hero02.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
#hero.works{
	background: url(/img/hero03.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
#hero.sound{
	background: url(/img/hero04.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
#hero.contact{
	background: url(/img/hero05.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}


#main{
	width: 740px;
	min-height: calc(100vh - 100px - 79px - 446px);
	margin: 0 auto;
	padding: 40px 0 60px;
	box-sizing: border-box;
	text-align: left;
}
#main h2{
	padding: 0 0 20px;
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	font-size: 34px;
	color: #5fa99a;
}
#main h3{
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	font-size: 18px;
}
#main li{
	margin: 0 0 28px;
}
#main a{
	text-decoration: underline;
}


/* PROFILE */

#main.profile .image{
	margin: 0 0 30px;
}
#main.profile h3{
	margin: 0 0 10px;
	font-size: 22px;
	color: #5fa99a;
}
#main.profile p{
	margin: 0 0 1rem;
}
#main.profile .social li{
	display: inline-block;
	margin: 0 1rem 0 0;
}
#main.profile .social li a{
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	color: #5fa99a;
	text-decoration: none;
}


/* CONTACT */

#main.contact #formWrap {
	width:100%;
	margin:1rem auto 0;
}
#main.contact table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
}
#main.contact table.formTable td,table.formTable th{
	border:1px solid #ccc;
	padding:1rem;
}
#main.contact table.formTable th{
	width:30%;
	font-weight:normal;
	background:#454545;
	color: #fff;
	text-align:left;
}
#main.contact input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
#main.contact table.formTable input,
#main.contact table.formTable textarea{
	width: 100%;
	padding: 0.5rem;
	box-sizing: border-box;
	border: 1px solid #ccc;
}
#main.contact p.btn{
	padding: 20px 0 0;
}
#main.contact p.btn > *:hover{
	cursor: pointer;
}
#main.contact input[type="submit"],
#main.contact input[type="button"],
#main.contact input[type="reset"]{
	padding: 1rem 3rem;
	background: #5fa99a;
	color: #fff;
}
#main.contact p{
	margin: 0 0 1rem;
}
