@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Muli:wght@400;700&display=swap');

.txt-sanserif {
  font-family: "Muli", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", YuGothic, "Yu Gothic", sans-serif;
}

.txt-min {
  font-family: YuMincho, "游明朝", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.txt-ls-1 {
	letter-spacing: 1em;
}
.txt-ls-ten5 {
	letter-spacing: .5em;
}
.txt-ls-ten3 {
	letter-spacing: .3em;
}


/**/
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-color: #FFFFFF;
	text-align:center;

	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", YuGothic, "Yu Gothic", sans-serif;
}

body,html{
	height:100%;
}


/*-------------------
INDEX
--------------------*/
#index header{
	height:100%;
	margin:0 auto;
	-webkit-background-size: contain;
	background-size: contain;
	position: relative;
	overflow: hidden;
	height: auto;
}	

#index header #merkLogo{
	padding-top:3%;
}
#index header h1{
	position:absolute;
	height:100%;
	width: 100%;
	top:0;
	text-indent: -9000px;
}
#index header h1 img{
	max-width:65%;
	max-height:65%;
}
#index .vwrap header h1 img{
	visibility:hidden;
}
#index header #topScroll{
	position: absolute;
	width: 100%;
	left: 0;
	bottom: 10px;
}
#index header #topScroll a img{
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#index header #topScroll a img:hover {
    opacity: 0.4;
    filter: alpha(opacity=60);
}


header#header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: 100%;
	height: 9vw;
	min-height: 60px;
	max-height: 90px;
}
header#header h1 {
	position: relative;
	width: auto;
	height: auto;
	margin: auto;
	text-indent: 0;
}
header#header h1 img {
	width: auto;
	max-width: 100%;
	max-height: 100%;
	-webkit-transform: translateY(18%);
	   -moz-transform: translateY(18%);
	    -ms-transform: translateY(18%);
	     -o-transform: translateY(18%);
	        transform: translateY(18%);
}
header#header .sns_link {
	position: absolute;
	right: 30px;
}
header#header .sns_link ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;

	list-style: none;
	padding: 0;
	margin: auto;
}
header#header .sns_link li {
	width: 21px;
	margin: 5px;
	line-height: 0;
}
header#header .sns_link li img {
	width: 100%;
	height: auto;
}
header#header .sns_link li a {
	display: block;
}

@media (max-width: 640px) {
	#index header{
		background-repeat: no-repeat;
	}

	header#header .sns_link {
		right: 20px;
	}
}

#merkmal{
	margin:250px 0 0 0;
}

/* insta始めました */
#insta{
	width: 300px;
    height: 2px;
    background: #0732a8;
    text-align: center;
    position: fixed;
    bottom: 312px;
    transform: rotate(-45deg);
    right: -258px;
    overflow: hidden;
    cursor: pointer;
    z-index: 100;
}
#insta a{
    color: #fff;
    text-decoration: none;
    font-size: 80%;
    letter-spacing: 2px;
    font-weight: bold;
    line-height: 1.7em;
    display: block;
    height: 100%;
    box-sizing: border-box;
    padding: 22px 0 0 0;
}
#insta a span{
    font-size: 140%;
}


/* recruit 2021 */

#top_recruit2021 {
	position: relative;
	width: 100%;
	height: 50vw;
	background: url('../images/recruit/recruit_bg.png') no-repeat center center;
	background-size: cover;
	z-index: 1;
}
#top_recruit2021 .btn_top_recruit_2021 {
	position: absolute;
	top: 50%;
	left: 75%;
	width: 32.8%;
	max-width: 328px;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	     -o-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}
#top_recruit2021 .btn_top_recruit_2021 a {
	display: block;
}
#top_recruit2021 .btn_top_recruit_2021 a:hover {
	-webkit-transform: scale(1.02);
	   -moz-transform: scale(1.02);
	    -ms-transform: scale(1.02);
	     -o-transform: scale(1.02);
	        transform: scale(1.02);
    -webkit-transition: -webkit-transform 0.2s ease-out;
    transition: -webkit-transform 0.2s ease-out;
    transition: transform 0.2s ease-out;
}
#top_recruit2021 .btn_top_recruit_2021 img {
	width: 100%;
}

#top_recruit2021 .btn_top_recruit_2021_fixed {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 60%;
	max-width: 250px;
	background: #fff;
	line-height: 0;

	-webkit-transform: translate(100%,0);
	   -moz-transform: translate(100%,0);
	    -ms-transform: translate(100%,0);
	     -o-transform: translate(100%,0);
	        transform: translate(100%,0);
	opacity: 0;
	visibility: hidden;
}
#top_recruit2021 .btn_top_recruit_2021_fixed.show {
	-webkit-transform: translate(0,0);
	   -moz-transform: translate(0,0);
	    -ms-transform: translate(0,0);
	     -o-transform: translate(0,0);
	        transform: translate(0,0);
	opacity: 1;
	visibility: visible;
    -webkit-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}

#top_recruit2021 .btn_top_recruit_2021_fixed img {
	width: 100%;
}
#top_recruit2021 .btn_top_recruit_2021_fixed a {
	display: block;
}
#top_recruit2021 .btn_top_recruit_2021_fixed a:hover {
	opacity: .7;
    -webkit-transition: opacity 0.2s ease-out;
    transition: opacity 0.2s ease-out;
}


/* recruit btn */
#recruit_btn_top {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 100px;
}
#recruit_btn_top a {
    max-width: 394px;
    display: block;
    width: 70%;
    margin: 0 auto;
}
#recruit_btn_top img {
    width: 100%;
}



/* work */
article#contents {
	margin: 7em auto 0;
	width: 90%;
	text-align: left;
}

#index article{
/*	display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
*/	margin:250px 0 0 0;
	padding-top:150px;
	margin: 100px auto 0;
	z-index: 0;
}
#index .works_Panel{
	display: none;
	margin: 100px auto 0;
}


#index section.thumbnail{
	padding:0 33px 91px;
	text-align:left;
	width:195px;
}
#index section.thumbnail a{
	width:195px;
	height:366px;
	display:block;
	position: relative;
	text-decoration: none;
	color: #000;
	font-family: 'Muli', sans-serif;
	font-size: 10px;
    letter-spacing: 0.06em;
}
#index section.thumbnail a:before {
    content: "";
    display: block;
    position: absolute;
    width: 22px;
    height: 22px;
    border: 2px solid #000;
    border-radius: 30px;
    background-color: #fff;
    bottom: 0;
    left: 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#index section.thumbnail a:after {
    content: "";
    display: block;
    position: absolute;
    width: 5px;
    height: 5px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    bottom: 10px;
    left: 8px;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#index section.thumbnail a img{
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
#index section.thumbnail a:hover img{
	filter:alpha(opacity=40);
    -moz-opacity: 0.4;
    opacity: 0.4;
}
#index section.thumbnail a .works_year{
	border-bottom: 2px solid #000;
    margin: 0 0 12px 0;
    display: inline-block;
}
#index section.thumbnail a .works_title{
	font-weight: bold;
	font-size: 13.5px;
	padding: 10px 0 5px;
}
#index section.thumbnail a .works_cate{
	padding-bottom: 5px;
}
#index section.thumbnail a .works_work{
	padding-bottom: 5px;
}
#index section.thumbnail a .works_credit{
    color: #999;
}
#index section.thumbnail a:hover:before {
    background-color: #000;
}
#index section.thumbnail a:hover:after {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}

#index section.thumbnail img.lazy{
	width:195px;
	height:195px;
}

#index section.thumbnail .topDetailBtn{
	margin-top:17px;
}

@media screen and (max-width: 521px) {
	#index section.thumbnail {
		padding-bottom: 60px;
	}
	#index section.thumbnail a {
		height: auto;
		padding-bottom: 50px;
	}
}


.requirementsBtn{
	margin:150px auto 195px auto;
	position:relative;
	width:462px;
	height:124px;
}

.requirementsBtn .requirementsBtnBtn {
	text-align: center;
	position:absolute;
	top:0;
	left:0;
	z-index:10;
}
.requirementsBtn .requirementsBtnBtn a{
	background:url(../images/requirements_btn_ov.png);
	width:462px;
	height:124px;
	display:block;
}
.requirementsBtn .requirementsBtnBtn a img{
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.requirementsBtn .requirementsBtnBtn a img:hover {
    opacity: 0.0;
    filter: alpha(opacity=0);
}

.requirementsBtn .requirementsBtnMan {
	height: 390px;
	width:302px;
	position:absolute;
	bottom:0;
	left:231px;
	margin-left:-150px;
	z-index:5;
	background:#999999;
	background:url(../images/man.png) no-repeat;
}


.enter_area{
	/*margin-bottom: 220px;*/
	margin-bottom: 100px;
}
.enter{
	position:relative;
	width:463px;
	margin:0 auto;
}
.enter .entertxt2{
	position:absolute;
	top:13px;
	left:90px;
}
.enter .enterbtn{
	position:absolute;
	top:25px;
	right:90px;
}
.enter_area a img:hover {
    opacity: 0.4;
    filter: alpha(opacity=60);
}

.footer_link {
	margin: 4em auto;
	text-align: center;
	font-size: 13px;
}
.footer_link a {
	position: relative;
	color: #555;
	text-decoration: none;
}.footer_link a:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 0.4em;
	height: 0.4em;
	margin: 0 0 0.1em 0.5em;
	border-right: 1px solid #555;
	border-bottom: 1px solid #555;
	-webkit-transform: rotate(-45deg);
	   -moz-transform: rotate(-45deg);
	    -ms-transform: rotate(-45deg);
	     -o-transform: rotate(-45deg);
	        transform: rotate(-45deg);
}
.footer_link a:hover {
	color: #888;
}
.copyright{
	margin:60px 0 0 0;
	padding-bottom: 25px;
	font-size: 9px;
	overflow: hidden;
}
.copyright img{
	max-width: 90%;
}

p.wImg.webwaku {
    position: relative;
    padding: 6.4% 0 0 0;
    margin-bottom: 60px;
}
p.wImg.webwaku video {
    position: absolute;
    top: 12.1%;
    left: 4.4%;
    width: 91.2%;
}

p.wImg.webwaku.sp {
    position: relative;
    padding: 0;
    text-align: center;
    max-width: 408px;
    margin: 60px auto 0;
    width: 100%;
}
p.wImg.webwaku.sp video {
    position: absolute;
    top: 4.9%;
    left: 18%;
    width: 64.2%;
    max-width: 262px;
}
p.wImg.webwaku.sp img {
    position: relative;
}

@media (max-width: 580px) {
	.requirementsBtn{
		width:100%;
	}
	.requirementsBtn img{
		width:80%;
	}
	.requirementsBtn .requirementsBtnBtn{
		width:100%;
	}
	.requirementsBtn .requirementsBtnBtn a{
		background:none;
		width:100%;
		height:100%;
		display:inherit;
	}
	.requirementsBtn .requirementsBtnBtn a img:hover {
	    opacity: 1.0;
	    filter: alpha(opacity=100);
	}
	.requirementsBtn .requirementsBtnMan {
		visibility:hidden;
	}
	.enter2 img.txt1{
		width:70%;
	}
	.enter2 img.txt2{
		width:22%;
	}
	.enter{
		width:80%;
	}
	.enter .enterbtn{
		position:absolute;
		top:30px;
		right:5%;
	}
	.enter .entertxt2{
		position: absolute;
		left:0;
	}
	.enter_area{
	margin-bottom:140px;
	}
	.requirementsBtn{
	margin:20px 0;
	}

}


.recruitBtn{
	text-align: center;
	padding: 20px 0 100px;
	width: 96%;
	max-width: 1066px;
	margin: 0 auto;

}
.recruitBtn .recruit_btn{
	display: inline-block;
	width: 50%;
	box-sizing: border-box;
	padding: 0 2.5% 0;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}
.recruitBtn .recruit_btn img{
	width: 100%;
}
.recruitBtn .recruit_btn:hover {
    opacity: 0.4;
    filter: alpha(opacity=40);
}
#recruit_content p{
	font-weight: bold;
	line-height: 2.7em;
}
#recruit_content .recruit_tit{
	font-size: 20px;
	margin-bottom: 1em;
	margin-top: 110px;
}
#recruit_content .recruit_txt{
	font-size: 16px;
}
#recruit_content .recruit_tool {
    text-align: center;
    padding: 40px 0 0;
}
#recruit_content .recruit_tool_dl {
    text-align: center;
    margin-bottom: 80px;
}
#recruit_content .recruit_tool_dl a {
    display: inline-block;
    background-color: #fff;
    font-size: 18px;
    color: #000;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 2px;
    border: 4px solid #000;
    padding: 0.6em 1.8em;
    position: relative;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
#recruit_content .recruit_tool_dl a:after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-right: 4px solid #000;
    border-bottom: 4px solid #000;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-left: 5px;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
#recruit_content .recruit_tool_dl a:hover {
    background-color: #000;
    color: #fff;
}
#recruit_content .recruit_tool_dl a:hover:after {
    border-right: 4px solid #fff;
    border-bottom: 4px solid #fff;
}
#recruit_content .recruit_detail{
	font-size: 14px;
	line-height: 2em;
	margin-bottom: 4em;
}
#recruit_content .recruit_detail dt{
	font-weight: bold;
}
#recruit_content .recruit_detail dd{
	margin-bottom: 1.7em;
}
#recruit_content .recruit_detail dd strong{
	font-weight: bold;
}
#recruit_content .recruit_detail dd a{
	color: #000;
	font-weight: bold;
}

@media screen and (max-width: 450px) {
	.recruitBtn{
		padding: 0 0 50px;

	}
	.recruitBtn .recruit_btn{
		width: 100%;
		margin-bottom: 3%;
	}
	#recruit_content p br{
		display: none;
	}
	#recruit_content p{
		line-height: 2em;
	}
	#recruit_content .recruit_tit{
		font-size: 18px;
	}
	#recruit_content .recruit_txt{
		font-size: 15px;
	}
	#recruit_content .recruit_detail{
		font-size: 13px;
		line-height: 1.7em;
		margin-bottom: 4em;
	}

}


	.kiminona_link{
		width: 100%;
		background: #ffff33;
		padding: 1em 0;
		text-align: center;
		margin-bottom: 5em;
	}
	.kiminona_link p{
		font-size: 12px;
		color: #094c9a;
		line-height: 1.7em;
		font-weight: bold;
	}
	.kiminona_link p a{
		color: #094c9a;
		padding: 0 1em;
		font-weight: bold;
	}
@media screen and (max-width: 640px) {
	.kiminona_link p{
		width: 90%;
		font-size: 10px;
	}

	/*header{
		background-size: 123% auto;
	}*/

}


/*-------------------
下層
-------------------*/
header.pageHeader {
	padding: 30px 20px;
}
header.pageHeader .site_logo {
	text-align: center;
	line-height: 0;
}
header.pageHeader .site_logo img {
	max-width: 100%;
	height: auto;
}


/*--------------------
ABOUT
---------------------*/
.about-leadtext {
	margin: 5em auto;
	text-align: center;
	line-height: 2.1;
}

.company_profile {
	width: 90%;
	max-width: 1000px;
	margin: 6em auto 10em;
	font-size: 14px;
}
.company_profile .text {
	text-align: center;
}
.company_profile .text p {
	margin: 2em auto;
	line-height: 1.7;
}
.company_profile table {
	margin: 3em auto;
	line-height: 1.5;
}
.company_profile th {
	padding: 10px;
	vertical-align: top;
}
.company_profile td {
	padding: 10px;
	vertical-align: top;
}
.company_profile a {
	color: #5f533c;
}
.company_profile a:hover {
	color: #a79166;
}
@media screen and (max-width: 640px) {
	.company_profile th {
		display: block;
		padding-bottom: 3px;
		color: #444;
	}
	.company_profile td {
		display: block;
		padding-top: 0;
	}
}




/*--------------------
404
---------------------*/
.nf-container {
	width: 90%;
	margin: 4em auto;
}
.nf-container h1 {
	margin-bottom: 1em;
}
.nf-container p {
	margin: 1em 0;
}
.nf-container a {
	color: #5f533c;
}
.nf-container a:hover {
	color: #a79166;
}