@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Lato:400,900');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP|Noto+Serif+JP&display=swap');

/*----------------------------------
kv
----------------------------------*/
@media screen and (min-width: 768px) {
	.kv {
		margin-top: 100px;
		background: url(../img2/kv.jpg) center top no-repeat;
		background-size: cover;
		position: relative;
	}
	.kv p {
		width: 980px;
		margin: 0 auto;
		text-align: center;
		padding:265px 0;
	}
	.kv img {
		width: auto;
		height: 190px;
	}
}
@media screen and (max-width: 767px) {
	.kv {
		margin-top: 60px;
	}
	.kv img {
		width: 100%;
		height: auto;
	}
}

/*----------------------------------
about
----------------------------------*/
@media screen and (min-width: 768px) {
	.about {
		display: flex;
	}
	.about .bg {
		width: 50%;
		background: url(../img2/bg_about.jpg) no-repeat center;
		background-size: cover;
	}
	.about .txt {
		width: calc(50% - 100px);
		padding: 100px 50px;
        background: #000;
        color: #fff;
	}	
	.about h2 {
		text-align: center;
        color: #fff;
	}
}
@media screen and (max-width: 767px) {
	.about .txt {
		padding: 40px 20px;
        background: #000;
        color: #fff;
	}	
	.about h2 {
		text-align: left;
        color: #fff;        
	}
}

/*----------------------------------
job
----------------------------------*/
.job a {
	color:#fff;
	display: block;
}
@media screen and (min-width: 768px) {
	.job {
		padding: 100px 0;
	}
	.job .inner {
		width: 980px;
		margin: 0 auto;
	}
	.job .inner-box {	
		display: flex;
		justify-content: space-between;
		margin-bottom: 40px;
	}
	.job figure {
		width: 480px;
	}
	.job .inner-box div {
		width: 450px;
	}
	.job .btn {
		background: #a10b00;
		line-height: 1;
		text-align: center;
		font-size:32px;
		font-weight: bold;
	}
	.job a {
		padding: 30px 0 35px 0;
	}
}
@media screen and (max-width: 767px) {
	.job {
		padding: 60px 20px;
	}
	.job p,
	.job figure img {
		margin-bottom: 20px;
	}
	.job .btn {
		background: #a10b00;
		line-height: 1;
		text-align: center;
		font-size:24px;
		font-weight: bold;
	}
	.job a {
		padding: 25px 0 30px 0;
	}		
}

/*----------------------------------
kv job
----------------------------------*/
@media screen and (min-width: 768px) {
	.mv1 {
		background: url(../img2/mv1.jpg) no-repeat center top;
		background-size: cover;
	}
	.mv2 {
		background: url(../img2/mv2.jpg) no-repeat center top;
		background-size: cover;
	}
	.kv_second {
		position: relative;
		margin-top: 100px;
	}
	.kv_second p.copy1 {
		width:980px;
		margin: 0 auto;
		text-align: center;
		padding:215px 0;
	}
	.kv_second p.copy1 img {
		width: auto;
		height: 190px;
	}
	.kv_second p.copy2 {
		width:85%;
		margin: 0 auto;
		text-align: right;
		padding:140px 0 400px 0;
	}
	.kv_second p.copy2 img {
		width: auto;
		height: 180px;
	}    
}
@media screen and (max-width: 767px) {
	.kv_second {
		margin-top: 90px;
	}
	.kv_second img {
		width: 100%;
		height: auto;
	}	
}

/*----------------------------------
work
----------------------------------*/
.work {
	padding: 100px 0;
}
@media screen and (min-width: 768px) {
	.work .inner {
		width: 980px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;		
	}
	.work figure {
		width: 500px;
	}
	.work .inner div {
		width: 420px;
	}
}
@media screen and (max-width: 767px) {
	.work {
		padding: 100px 20px 100px 20px;
	}
	.work figure {
		margin-bottom: 25px;
	}
}

/*----------------------------------
welfare
----------------------------------*/
.welfare {
	background: #222222;
}
.welfare strong {
	display: block;
	font-size: 18px;
	margin-bottom: 5px;
	text-align: center;
}
.welfare dd {
	font-size: 90%;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.welfare {
		padding: 100px 0;
	}
	.welfare .inner {
		display: flex;
		justify-content: center;
		width: 980px;
		margin: 0 auto;		
	}
	.welfare dl {
		margin: 0 20px;
		width: 240px;
	}
	.welfare dl dt {
		margin-bottom: 15px;
	}
	.welfare dl dd {
		font-weight: bold;
	}
}
@media screen and (max-width: 767px) {
	.welfare {
		padding: 100px 20px 100px 20px;
	}
	.welfare dl {
		margin: 0 auto 30px auto;
	}
	.welfare dl dt {
		width: 70%;
		margin: 0 auto 20px auto;
	}	
	.welfare dl dd {
		font-weight: bold;
	}	
}

/*----------------------------------
interview
----------------------------------*/
.interview {
	background: #f5f5f5;
}
@media screen and (min-width: 768px) {
	.interview {
		padding: 100px 0 70px 0;
	}
	.interview > div {
		width: 980px;
		margin: 0 auto;		
	}	

	.interview figure {
		text-align: center;
		position: relative;
		margin-bottom: 40px;
	}
	.interview img {
		margin-bottom: 20px;
	}
	.interview figure figcaption {
		font-size: 28px;
		text-align: center;
		font-weight: bold;
	}
	.question {
		padding: 0 10px 15px 0;
		font-size: 20px;
		font-weight: bold;
		margin-bottom: 20px;
		border-bottom: solid #f3b03e 5px;
	}
	.answer {
		margin-bottom: 40px;
		padding: 0 20px 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.interview {
		padding:100px 20px;
}
	.interview figure {
		text-align: center;
	}
	.interview figure figcaption {
		font-size: 24px;
		padding: 20px 10px;
		display: block;
		text-align: center;
		line-height: 1;
		font-weight: bold;
		margin-bottom: 30px;
	}
	.question {
		padding: 0 10px 10px 0;
		font-size: 18px;
		font-weight: bold;
		margin-bottom: 20px;
		border-bottom: solid #f3b03e 5px;		
	}
	.answer {
		margin-bottom: 40px;
		padding: 0 10px 0 10px;
	}
	.answer:last-child {
		margin-bottom: 0!important;
	}
}

/*----------------------------------
messsage
----------------------------------*/
@media screen and (min-width: 768px) {
	.message {
		padding: 100px 0;
	}
	.message .inner {
		width: 980px;
		margin: 0 auto;
	}	
	.message figure {
        width: 100%;
		margin: 0 auto 30px auto;
	}
	.message h3 {
		font-size: 24px;
		margin-bottom: 20px;
		text-align: center;
	}
}
@media screen and (max-width: 767px) {
	.message {
		padding: 100px 20px;
	}
	.message figure {
        width:100%;
		margin: 0 auto 20px auto;
	}
	.message h3 {
		font-size: 18px;
		margin-bottom: 15px;
		text-align: center;
	}	
}

/*----------------------------------
entry
----------------------------------*/
@media screen and (min-width: 768px) {
	.entry {
		padding: 100px 0;
	}
	.entry .inner {
		width: 980px;
		margin: 0 auto;
	}
	form {
	    max-width: 980px;
	    margin: 0 auto;
	}
	form div {
		margin-bottom: 50px;
	}
	form div:last-child {
		margin-bottom: 0;
	}	
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
	}
	form select {
	    padding: 20px;
	    background: #fff;
	    border: #bbb solid 1px;
	    border-radius: 3px;
	}
	form input, form textarea {
	    max-width: 980px;
	    width: 100%;
	    padding: 10px 20px;
	    background: #fff;
	    border: #bbbbbb solid 1px;
	    border-radius: 4px;
	    font-size: 1.5em;
	}
	form input[type="submit"] {
	    border: 0px;
	    width: 50%;
	    color: #fff;
	    font-size: 26px;
	    font-weight: 600;
	    padding: 25px 0;
		margin: 50px 25% 0 25%;
	}	
}
@media screen and (max-width: 767px) {
	.entry {
		padding: 100px 20px;
	}
	form div {
		margin-bottom: 50px;
	}
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
	}
	form select {
	    padding: 20px;
	    background: #fff;
	    border: #bbb solid 1px;
	    border-radius: 3px;
	}
	form input, form textarea {
	    max-width: 1000px;
	    width: 100%;
	    padding: 10px 0;
	    background: #fff;
	    border: #bbbbbb solid 1px;
	    border-radius: 4px;
	    font-size: 1.5em;
	}
	form input[type="submit"] {
	    border: 0px;
	    width: 90%;
	    color: #fff;
	    font-size: 26px;
	    font-weight: 600;
	    padding: 25px 0;
		margin: 50px 5% 0 5%;
	}
}

/*----------------------------------
thnax
----------------------------------*/
@media screen and (min-width: 768px) {
	.thanx {
		margin-top: 100px;
		padding: 120px 0;
		text-align: center;
	}
	.thanx p {
		margin-bottom:  40px;
	}
	.thanx .btn {
		width: 240px;
		margin: 0 auto;
		text-align: center;
		line-height: 64px;
		border:solid 2px #333;
	}
	.thanx .btn a {
		display: block;
	}	

}
@media screen and (max-width: 767px) {
	.thanx {
		margin-top: 90px;
		padding: 30px 20px 60px 20px;
	}
	.thanx p {
		margin-bottom:  30px;
	}
	.thanx .btn {
		margin: 0 auto;
		text-align: center;
		line-height: 64px;
		border:solid 2px #333;
	}
	.thanx .btn a {
		display: block;
	}	
}



/*----------------------------------
privacy
----------------------------------*/
.privacy {
	width: 980px;
	margin: 60px auto 0 auto;
	font-size: 14px;
	padding: 40px;
	border: solid #333 1px;
	box-sizing: border-box;
}
.privacy p {
	margin-bottom: 40px;
}
.privacy h2 {
	font-size: 20px;
	margin-bottom: 20px;
}
.privacy dl dt {
	font-weight: bold;
}
.privacy dl dd {
	font-size: 12px;
	color: #555;
}
.privacy dl dd:not(:last-child) {
	margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
	.privacy {
		width: auto;
		padding: 20px;
	}
	.privacy p {
		font-size: 12px;
	}
	.privacy h2 {
		font-size: 18px;
		line-height: 1.6;
	}
}