@charset "UTF-8";

html,body {
	background: #000;
}

body.gnavOpen,body.moOpen {
	overflow: hidden;
}

#wrapper {
    color: #fff;
    font-family: 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo, osaka, sans-serif;
    font-size: 0;
    line-height: 2;
    overflow: hidden;
}
header {
    position: relative;
}

/*--------------
#navBlock
--------------*/
#navBlock {
	position: relative;
	z-index: 9999;
}
#navMenu {
	margin-top: 2%;
	padding: 5%;
	width: 24%;
	position: absolute;
	top: 0;
	right: 0;
}
#navMenu.fixed {
	position: fixed;
	z-index: 9999;
}
#navMenu .txt {
	margin-top: -1.7vw;
	font-family: "Inter", sans-serif;
	font-size: 3.4vw;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 5vw;
}
#navMenu .line {
	margin: 0 0 6% auto;
	width: 33%;
	height: 1.5vw;
	background: #fff;
	display: block;
}
body.gnavOpen #navBlock nav {
	display: block;
}
#navBlock nav {
	display: none;
	color: #fff;
	background: #000;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9999;
	overflow: auto;
}
#navClose {
	margin-top: 2%;
	padding: 9% 5%;
	width: 24%;
	position: fixed;
	top: 0;
	right: 0;
}
#navClose .txt {
	margin-top: -1.7vw;
	font-family: "Inter", sans-serif;
	font-size: 3.4vw;
	line-height: 1;
	position: absolute;
	top: 50%;
	left: 5vw;
}
#navClose .line1 {
	margin: -1px 0 0 -13%;
	width: 26%;
	height: 1px;
	background: #fff;
	display: block;
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 15%;
}
#navClose .line2 {
	margin: -1px 0 0 -13%;
	width: 26%;
	height: 1px;
	background: #fff;
	display: block;
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	right: 15%;
}
#navBlock nav .navList {
	margin: 0 auto;
	padding: 8% 0 2%;
	width: 80%;
	text-align: left;
}
#navBlock nav .subnav {
	border-top: solid 1px #707070;
}
#navBlock nav .navList>li {
	margin: 0 auto 7%;
}
#navBlock nav .navList>li a {
	display: block;
}
#navBlock nav .navList>li a img {
	height: 8.5vw;
}
#navBlock nav .snsBlock {
	margin: 2% auto 20%;
	text-align: left;
}
#navBlock nav .snsBlock .txt {
	margin-left: 10%;
    margin-right: 4%;
	font-family: "Inter", sans-serif;
    font-size: 3.2vw;
    display: inline-block;
    vertical-align: middle;
}
#navBlock nav .snsBlock .snsList {
    width: 61%;
    display: inline-block;
    vertical-align: middle;
}
#navBlock nav .snsBlock .snsList>li {
    margin: 0;
    width: 25%;
    display: inline-block;
    vertical-align: middle;
}

/*--------------
#staff
--------------*/
#staff {
    margin: 0 auto 42%;
	padding-top: 28%;
    text-align: center;
	position: relative;
}
#staff::before {
	content: "";
	background: url("../img/bg_staff_sp.jpg") top center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
#staff .block {
    margin: 0 auto;
    width: 88%;
	position: relative;
}
#staff h1 {
	margin: 0 auto 14%;
	font-size: 0;
}
#staff h1 img {
	height: 9.5vw;
}
#staff .staffList {
	margin: 0 auto 8%;
}
#staff .staffList>li {
	padding: 8% 0;
	border-top: solid 1px rgba(255,255,255,0.5);
}
#staff .staffList>li .name {
	margin: 0 auto 5%;
	font-size: 6.8vw;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
}
#staff .staffList>li .post {
	font-size: 3.8vw;
	font-weight: bold;
	text-align: left;
	display: block;
}
#staff .staffList>li .txt {
	margin: 0 auto 2%;
	font-size: 3.4vw;
	text-align: left;
}
#staff .staffList>li .btn {
	margin: 8% auto 0;
	padding: 2.5% 0;
	border: solid 1px rgba(255,255,255,0.5);
	font-family: "Inter", sans-serif;
	font-size: 3.8vw;
	font-weight: bold;
	letter-spacing: 0.1em;
	cursor: pointer;
}
#staff .staffList>li .interviewBlock {
	margin: 12% auto 8%;
	display: none;
}
#staff .staffList>li .interviewBlock h2 {
	margin: 0 auto 10%;
	padding-top: 10%;
	font-size: 0;
	position: relative;
}
#staff .staffList>li .interviewBlock h2::before {
	content: "";
	margin: 0 auto;
	width: 10%;
	height: 2px;
	background: #fff;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
}
#staff .staffList>li .interviewBlock h2 img {
	height: 6.8vw;
}
#staff .staffList>li .interviewBlock .close {
	margin: 8% auto 0;
	padding: 5% 0;
	font-family: "Inter", sans-serif;
	font-size: 3.8vw;
	font-weight: bold;
	letter-spacing: 0.1em;
	cursor: pointer;
}

/*--------------
footer
--------------*/
footer {
    margin: 0 auto;
    padding: 0 0 6%;
    text-align: center;
	position: relative;
}
footer .logo {
    margin: 0 auto 42%;
	width: 88%;
}
footer .linkList {
    margin: 0 auto 5%;
    line-height: 1;
}
footer .linkList>li {
    display: inline-block;
    vertical-align: top;
    border-left: solid 1px #fff;
}
footer .linkList>li:first-child {
    border-left: none;
}
footer .linkList>li a {
    margin: 0 1em;
    color: #fff;
    font-size: 3vw;
}
footer .copyright {
    margin: 0 auto;
    font-size: 2.8vw;
    text-align: center;
}


@media only screen and (min-width:800px){
    
    #wrapper {
    }

	/*--------------
	#navBlock
	--------------*/
	#navMenu {
		margin-top: 20px;
		padding: 10px 30px;
		width: 80px;
	}
	#navMenu:hover {
		cursor: pointer;
	}
	#navMenu .txt {
		margin-top: -10px;
		font-size: 14px;
		left: 10px;
	}
	#navMenu:hover .txt {
		color: #e6000a;
	}
	#navMenu .line {
		margin: 0 0 8px auto;
		width: 32px;
		height: 4px;
	}
	#navMenu:hover .line {
		background: #e6000a;
	}
	body.gnavOpen #navBlock nav {
		display: block;
	}
	#navBlock nav {
		padding: 60px 0;
		background: url("../img/nav_logo.png") no-repeat center left 10% #000;
		-webkit-background-size: 40%;
		background-size: 40%;
	}
	#navClose {
		margin-top: 20px;
		padding: 27px 30px;
		width: 80px;
	}
	#navClose:hover {
		cursor: pointer;
	}
	#navClose .txt {
		margin-top: -10px;
		font-size: 14px;
		left: 10px;
	}
	#navClose:hover .txt {
		color: #e6000a;
	}
	#navClose .line1 {
		margin: -4px 0 0 -17px;
		width: 34px;
		height: 2px;
		right: 31px;
	}
	#navClose .line2 {
		margin: -4px 0 0 -17px;
		width: 34px;
		height: 2px;
		right: 31px;
	}
	#navClose:hover .line1 {
		background: #e6000a;
	}
	#navClose:hover .line2 {
		background: #e6000a;
	}
	#navBlock nav .navList {
		margin: 0 10% 0 auto;
		padding: 30px 0 10px;
		max-width: 350px;
	}
	#navBlock nav .navList>li {
		margin: 0 auto 20px;
	}
	#navBlock nav .navList>li a:hover {
		opacity: 0.7;
		padding-left: 10px;
	}
	#navBlock nav .navList>li a img {
		height: 30px;
	}
	#navBlock nav .snsBlock {
		margin: 0 10% 0 auto;
		max-width: 350px;
    }
	#navBlock nav .snsBlock .txt {
		margin-left: 0;
        margin-right: 20px;
        font-size: 14px;
        font-weight: normal;
    }
	#navBlock nav .snsBlock .snsList {
        width: auto;
    }
	#navBlock nav .snsBlock .snsList>li {
        margin: 0 10px;
        width: 64px;
    }
	#navBlock nav .snsBlock .snsList>li a:hover {
		opacity: 0.7;
	}

	/*--------------
	#staff
	--------------*/
	#staff {
		margin: 0 auto 150px;
		padding-top: 150px;
	}
	#staff::before {
		background: url("../img/bg_staff.jpg") top center no-repeat;
		-webkit-background-size: cover;
		background-size: cover;
	}
	#staff .block {
        max-width: 960px;
	}
	#staff h1 {
		margin-bottom: 90px;
	}
	#staff h1 img {
		height: 50px;
	}
	#staff .staffList {
		margin: 0 auto 50px;
	}
	#staff .staffList>li {
		padding: 30px 0;
	}
	#staff .staffList>li .name {
		margin: 10px auto 20px;
		font-size: 24px;
	}
	#staff .staffList>li .post {
		margin-right: 10px;
		font-size: 14px;
		display: inline-block;
	}
	#staff .staffList>li .txt {
		margin: 0 auto 20px;
		font-size: 16px;
	}
	#staff .staffList>li .btn {
		margin: 20px auto 0;
		padding: 5px 0;
		font-size: 12px;
	}
	#staff .staffList>li .interviewBlock {
		margin: 70px auto 60px;
	}
	#staff .staffList>li .interviewBlock h2 {
		margin: 0 auto 60px;
		padding-top: 30px;
	}
	#staff .staffList>li .interviewBlock h2::before {
		width: 32px;
		height: 4px;
	}
	#staff .staffList>li .interviewBlock h2 img {
		height: 28px;
	}
	#staff .staffList>li .interviewBlock .close {
		margin: 40px auto 0;
		padding: 5px 0;
		font-size: 12px;
	}

	/*--------------
	#director
	--------------*/
	#director {
		margin: 0 auto 140px;
	}
	#director .block {
        max-width: 960px;
	}
	#director h2 {
		margin-bottom: 80px;
	}
	#director .imgBlock {
		margin: 0 4% 0 0;
		width: 44%;
		display: inline-block;
		vertical-align: top;
	}
	#director .imgBlock .img {
		margin: 0 auto 10px;
	}
	#director .imgBlock .name {
		margin: 0 auto 5px;
		font-size: 24px;
	}
	#director .imgBlock .post {
		margin-right: 10px;
		font-size: 14px;
	}
	#director .imgBlock .lagEn {
		font-size: 14px;
	}
	#director .txtBlock {
		width: 52%;
		display: inline-block;
		vertical-align: top;
	}
	#director .txtBlock .txt {
		margin-top: -0.5em;
		font-size: 16px;
	}

	/*--------------
	footer
	--------------*/
	footer {
		padding: 0 0 50px;
	}
	footer .logo {
		margin: 0 auto 150px;
		max-width: 570px;
	}
	footer .linkList {
        margin: 0 auto 30px;
	}
	footer .linkList>li a {
        font-size: 14px;
	}
	footer .linkList>li a:hover {
		text-decoration: underline;
		opacity: 0.7;
	}
	footer .copyright {
		font-size: 12px;
	}
}