@media(min-width:768px){
	.mobile{
		display: none;
	}
	body{
		font-size:1.8rem;
	}
}
@media(max-width:767px){
	.desktop{
		display: none;
	}
	body{
		font-size:1.6rem;
	}
}
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: medium;
}
main{
    overflow: hidden;
}
body.top{
}
div.headerWrapper{
	width:100%;
	height: 80px;
	position: fixed;
	top:0;
	z-index: 100;
	background:#fff;
}
div.header{
	width:94%;
	max-width:1100px;
	margin:auto;
	height: 80px;
	display: flex;
	justify-content: space-between;
	align-items: center;
    position: relative;
}
div.header h1,
div.header a.h1,
div.footer h2{
    width:189px;
}
@media(max-width:1080px){
	div.header h1,
	div.header a.h1{
		width:150px;
	}
}
@media(max-width:767px){
	div.footer h2{
		width:150px;
	}
}
div.header h1 {
    line-height: 1em;
}
div.header h1 span,
div.header a.h1 span,
div.footer h2 span{
    font-size:1.2rem;
    font-weight: bold;
    text-align: center;
    display: block;
}
div.footer h2 span{
    color:#fff;
}
div.header h1 img,
a.h1 img{
	width:189px;
}
@media(max-width:1080px){
	div.header h1 img,
	a.h1 img{
		width:150px;
	}
}
div#footerWrapper{
    background-color:#4D4D4D;
    background-image:url("../images/footer_cube.svg");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size:410px;
    padding-top:110px;
    margin-top:225px;
}
@media(max-width:767px){
    div#footerWrapper{
        background-image:url("../images/footer_cube_m.svg");
        margin-top:100px;
        padding-top:50px;
        background-size:50%;
    }
}
div.footer {
    color:#fff;
	width:94%;
	max-width:1100px;
	margin:auto;
    position: relative;
}
ul.footer{
    display: flex;
    margin-bottom:.5em;
    gap:30px;
}
@media(max-width:767px){
    ul.footer{
        gap:1em;
        flex-wrap: wrap;
    }
}
ul.footer a{
    color:#fff;
}
ul.footer.footer1{
    margin-top:90px;
}
@media(max-width:767px){
	ul.footer.footer1{
		margin-top:40px;
	}
}
ul.footer.footer3{
    margin-top:2em;
}
div.footer img.logo_f{
    width:198px;
    position: absolute;
    top:90px;
    top:0;
    right:60px;
}
@media(max-width:767px){
    div.footer img.logo_f{
        width:25%;
        position: absolute;
        top:90px;
        top:0;
        right:10px;
    }
}
div.footer p.copy{
    text-align: right;
    margin-right: 85px;
    padding-bottom: 50px;
	font-size:1.6rem;
}
@media(max-width:767px){
	div.footer p.copy{
		margin-right: 0;
		padding-bottom: 10px;
		font-size:1.2rem;
	}
}
div.footer li:hover{
    text-decoration: underline;
}
nav{
	position: relative;
}
@media(max-width:1080px){
	nav{
		position: fixed;
		right:0;
		top:80px;
		width:100%;
		display: none;
	}
	nav.active{
		display: block;
	}
}
ul.nav{
    display: flex;
}
@media(max-width:1080px){
	ul.nav{
		display: block;
		width:100%;
		background-color:#fff;
		border-top:1px solid #707070;
	}
}
ul.nav >li{
    width:120px;
    height: 80px;
    line-height: 80px;
	font-size:1.6rem;
	text-align: center;
}
@media(max-width:1080px){
	ul.nav >li{
		width:100%;
		height: auto;
		line-height: 45px;
		font-size:1.4rem;
		border-bottom:1px solid #707070;
		text-align: left;
		text-indent: 1em;
	}
}
li.recruitWrapper {
	position: relative;
	background:#E60012;
}
ul.nav li.recruitWrapper span,
ul.nav > li a{
    display: block;
    width:100%;
    height: 100%;
    text-align: center;
    font-weight: bold;
}
ul.nav li.recruitWrapper span{
	color:#fff;
	background-image:url("../images/arrow_down.svg");
	background-position:  right center;
	background-repeat:no-repeat;
	background-size:16px;
	padding-right: 24px;
	display: inline;
}


ul.nav > li.block.recruit{
    background-color:#E60012;
}
ul.nav > li.block.inquiry{
    background:#4D4D4D;
}
ul.nav > li.block.inquiry a{
    color:#fff;
}
ul.nav > li a {
  position: relative;
  color: #333;
  text-decoration: none;
}
@media(max-width:1080px){
	ul.nav > li a {
	  text-align: left;
	  text-indent: 1em;
	}
}
div.navWrapper {
	width:100%;
	/*background:#E60012;*/
	background:#F2F2F2;
	position: fixed;
	top:80px;
	overflow: hidden;
	margin:auto;
	left:0;
	right:0;
	border-top:5px solid #E60012;
	display: none;
}
@media(max-width:1080px){
	div.navWrapper {
		position: relative;
		top:0;
	}
}
@media(min-width:1081px){
	.recruitWrapper:hover div.navWrapper {
		display: block;
	}
}
div.navInner{
	width:94%;
	max-width:1100px;
	max-width:1200px;
	display: flex;
	justify-content: space-between;
	margin:46px auto;
	gap:20px;
    font-weight: normal !important;
}
@media(max-width:1080px){
	div.navInner{
		width:100%;
		flex-direction: column;
		margin:20px auto 20px 20px;
        gap:10px;
	}
}
div.navInner a{
	color:#fff;
	font-size:1.6rem;
}
div.navInner h2{
	font-weight: bold ;
	font-size:1.6rem;
	color:#4D4D4D;
	line-height: 1.5em;
	text-align: left;
	margin-bottom: 1em;
	position: relative;
}
div.navInner h2.np{
	padding-left:25px;
}
@media(max-width:1080px){
	div.navInner h2.np{
		padding-left:0;
	}
}
div.navInner h2::after{
	content: "";
	width:7px;
	height: 7px;
	background:#E60012;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
}

@media(max-width:1080px){
	div.navInner h2{
		font-size:1.4rem;
		line-height: 1.5em;
		border-bottom:1px solid #fff;
		/*padding-bottom:.5em;*/
	}
}
@media(max-width:1080px){
	div.navInner h2 a{
		border-bottom:none;
		font-size:1.4rem;
		/*background-image:url("../images/arrow_submit.svg");*/
		background-position: right center;
		background-repeat: no-repeat;
		background-size:14px;
		padding-right: 22px;
		display: inline;
	}
}
div.navInner h2 a{
	border-bottom:1px solid #F2F2F2;
    font-weight: bold ;
	position: relative;
}
div.navInner h2 a::after{
/*	content: "";
	width:7px;
	height: 7px;
	background:#E60012;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;*/
}
div.navInner h2 a:hover{
	border-bottom-color: #E60012
}
div.navInner ul{
	display: flex;
	flex-wrap: wrap;
	margin-left:0;
	justify-content: flex-start;
}
div.navInner ul li{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-color:#F2F2F2;
	margin-right: 1em;
	line-height: 1.75em;
	position: relative;
	padding-left:14px;
}
@media(max-width:1080px){
    div.navInner ul li{
        padding-left:0;
    }
}
div.navInner ul li:before{
	content: "";
	width:5px;
	height: 6px;
	background:url("../images/arrow_nav.svg") no-repeat;
	background-size:5px;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:0;
}
@media(max-width:1080px){
    div.navInner ul li:before{
        content: "";
        width:5px;
        height: 6px;
        background:url("../images/arrow_nav.svg") no-repeat;
        background-size:5px;
        position: absolute;
        margin:auto;
        top:0;
        bottom:0;
        left:0;
    }
}
div.navInner ul li a{
    font-weight: normal !important;
}
div.navInner ul li:hover{
	border-bottom-color:#4D4D4D;
}
div.navInner div.navBlock:nth-child(1){
	width:calc(18% - 10px);
}
div.navInner div.navBlock:nth-child(2){
	width:calc(30% - 10px);
}
div.navInner div.navBlock:nth-child(3){
	width:calc(10% - 10px);
}
div.navInner div.navBlock:nth-child(4){
	width:calc(22% - 10px);
}
div.navInner div.navBlock:nth-child(5){
	width:calc(30% - 10px);
}
@media(max-width:1080px){
	div.navInner div.navBlock{
		width:100% !important;
	}
}
/**/
ul.nav > li:not(.recruitWrapper) > a::after  {
  content: '';
  position: absolute;
  left: 0; 
  right:0;
  margin:auto;
  bottom: 14px;
  width: 80%; 
  height: 2px;
  background: #E60012;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.3s;
}
ul.nav > li:not(.recruitWrapper) a:hover::after,
ul.nav > li:not(.recruitWrapper) a.active::after {
  transform: scaleX(1);
}
/*humberger*/
.openbtn1 {
  position: absolute;
  z-index: 9999;
  top: 10px;
  bottom: 10px;
  right: 10px;
  cursor: pointer;
  margin:auto;
  width: 50px;
  height: 50px;
  background: #fff;
  text-align: center;
  display: none;
}
@media(max-width:1080px){
	.openbtn1{
		display: block;
	}
	.openbtn1 span{
		display: inline-block;
		transition: all .4s;
		position: absolute;
		left: 14px;
		height: 3px;
		background: #E60012;
		width: 45%;
	  }

	.openbtn1 span:nth-of-type(1) {
		top:15px;	
	}

	.openbtn1 span:nth-of-type(2) {
		top:23px;
	}

	.openbtn1 span:nth-of-type(3) {
		top:31px;
	}
	.openbtn1.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}
	.openbtn1.active span:nth-of-type(2) {
		opacity: 0;
	}
	.openbtn1.active span:nth-of-type(3){
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}
}
/*end of humberger*/
/**/
div.h1Wrapper{
    width:100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size:cover;
    position: relative;
}
div.h1Wrapper.large{
    height: 378px;
    background-image:url("../images/h1Bg_l.svg");
}
@media(max-width:767px){
	div.h1Wrapper.large{
		height: 180px;
	}
}
div.h1Wrapper.large::after{
    content: "";
    background-image: url("../images/titleBg_l.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 684px;
    width: 684px;
    height: 684px;
    position: absolute;
    right: 0px;
    bottom: -205px;
}
@media(max-width:767px){
	div.h1Wrapper.large::after{
		display: none;
	}
}
div.h1Wrapper.small{
    height: 234px;
    background-image: url("../images/h1Bg_s.svg")
}
@media(max-width:767px){
	div.h1Wrapper.small{
		height: 120px;
	}
}
div.h1Wrapper.small::after{
    content: "";
    background-image: url("../images/titleBg_s.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 684px;
    width: 684px;
    height: 684px;
    position: absolute;
    right: 0px;
    bottom: -260px;
}
@media(max-width:767px){
	div.h1Wrapper.small::after{
		display: none;
	}
}
div.h1{
    width:94%;
    max-width: 1100px;
    margin:auto;
    height: 100%;
    margin-top:80px;
}
div.h1 h1{
    font-size:4rem;
    font-weight: bold;
    color:#000;
    line-height: 1.2em;
}
@media(max-width:767px){
	div.h1 h1{
		font-size:2.2rem;
	}
}
div.h1Wrapper.large h1{
    padding-top:160px;
}
@media(max-width:767px){
	div.h1Wrapper.large h1{
		padding-top:70px;
	}
}
div.h1Wrapper.small h1{
    padding-top:100px;
}
@media(max-width:767px){
	div.h1Wrapper.small h1{
		padding-top:40px;
	}
}
div.h1 span {
    font-family: "Raleway", sans-serif;
    font-optical-sizing: auto;
    font-weight: bold;
    font-style: italic;
    font-size:2.4rem;
}
@media(max-width:767px){
	div.h1 span {
		font-size:1.4rem;
	}
}
div.h1Wrapper.large div.h1 span{
    color:#E60012;
}
div.h1Wrapper.small div.h1 span{
    color:#2D4987;
}
div.contents1100{
    width:94%;
    max-width:1100px;
    margin:auto;
}
div.contents1200{
    width:94%;
    max-width:1200px;
    margin:auto;
}
div.contents1300{
    width:94%;
    max-width:1300px;
    margin:auto;
}
div.contents1400{
    width:94%;
    max-width:1400px;
    margin:auto;
}
p.pankuzu{
    margin-top:1em;
    font-size:1.3rem;
    padding-left:20px;
    display: flex;
    gap:13px;
    align-items: center;
    position: relative;
}
p.pankuzu::before{
    content: "";
    width:7px;
    height: 7px;
    background:#E60012;
    position: absolute;
    top:0.5em ;
    left:0;
    display: block;
}
p.pankuzu span.next{
    display: block;
    width:18px;
    height: 1px;
    background:#000;
}
h2.bg{
    margin-top:183px;
    font-size:4rem;
    font-weight: bold;
    position: relative;
    z-index: 1;
    display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
}
@media(max-width:767px){
	h2.bg{
		margin-top:40px;
		font-size:2.4rem;
	}
}

h2.bg span{
  position: absolute !important;
  height: 1px; width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}
h2.bg::before {
    color: #FFE8E8;
    font-weight: bold;
    font-size: 12rem;
    position: absolute;
    top: -111px;
    left: -64px;
    z-index: -1;
    pointer-events: none;
    white-space: nowrap;
    font-family: "Raleway", sans-serif;
    font-style: italic;
}
@media(max-width:767px){
	h2.bg::before {
		font-size: 4rem;
		position: absolute;
		top: -1em;
		left: -0.5em;
		z-index: -1;
	}
}
h2.bg.company::before {
    content: "Company";
}
h2.bg.history::before {
    content: "History";
}
h2.bg.access::before {
    content: "Access";
}
h2.bg.business::before {
    content: "Business";
}
@media(max-width:767px){
	h2.bg.business::before {
		content: "Business Contents";
	}
}
h2.bg.business::after{
    content: "Contents";
    color: #FFE8E8;
    font-weight: bold;
    font-size: 12rem;
    position: absolute;
    top: -14px;
    left: 126px;
    z-index: -1;
    pointer-events: none;
    white-space: nowrap;
    font-family: "Raleway", sans-serif;
    font-style: italic;
}
@media(max-width:767px){
	h2.bg.business::after{
		content: "";
		display: none;
	}
}
h2.bg.recruit{
	text-align: center;
	display: block;
}
h2.bg.recruit::before {
    content: "Recruit Information";
	left:0;
	right:0;
}
h2.bg.ceomessage::before {
    content: "Top Message";
}
h2.bg.workstyle{
	text-align: right !important;
	display: block;
}
@media(max-width:767px){
	h2.bg.workstyle{
		text-align: left !important;
	}
}
h2.bg.workstyle::before {
    content: "Work Style";
	right:-30px;
}
h2.bg.career::before {
    content: "Career Plan";
	/*left:0;*/
}
h2.bg.educational::before {
    content: "Educational";
	/*left:0;*/
}
dl.general{
    border-left:1px solid #E6E6E6;
    border-right:1px solid #E6E6E6;
    border-bottom:1px solid #E6E6E6;
    position: relative;
    overflow: hidden;
    margin-top:78px;
}
@media(max-width:767px){
	dl.general{
		margin-top:40px;
	}
}
dl.general a{
	text-decoration: underline !important;
}
dl.history{
    border:none;
}
dl.general:not(.history)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 24%;
    height: 100%;
    background-color:#F2F2F2;
    z-index: 0;
}
dl.general dt,
dl.general dd{
    padding:14px 24px;
    border-top:1px solid #E6E6E6;
    position: relative;
    z-index: 1;
}
dl.general dt{
    width:24%;
    float: left;
    clear: both;
	font-weight: bold;
}
@media(max-width:767px){
	dl.general dt,
	dl.history dd{
		padding:14px 7px;
	}
	dl.history dt{
		width:30%;
	}
}
dl.general dd{
    width:76%;
    float: right; 
}
@media(max-width:767px){
	dl.history dd{
		width:70%;
		float: right; 
	}
}
p.companyImg{
	text-align: center;
	margin-top:64px;
}
@media(max-width:767px){
	p.companyImg img{
		width:100%;
		height: auto;
	}
}
dl.general ul li{
    list-style: disc;
    margin-left:1em;
}
p.access{
    padding:14px 24px;
}
div.map{
    width:100%;
    height: 500px;
}
@media(max-width:767px){
	div.map{
		height: 350px;
	}
}
h2.business{
    margin-top: 4.4em;
    font-size: 4rem;
    font-weight: bold;
    margin-bottom: 1em;
}
@media(max-width:767px){
	h2.business{
		margin-top: 1.4em;
		font-size: 2.4rem;
	}
}
h2.business.center{
	text-align: center;
}
div.businessWrapper{
    margin:97px auto 194px;
    /*width:90%;*/
    display: flex;
    justify-content: space-between;
    gap:4%;
}
@media(max-width:1160px){
    div.businessWrapper{
        margin:40px auto 60px;
        width:100%;
        flex-direction: column;
        gap:10px;
    }
}
div.businessWrapper div.business{
    padding:35px 25px;
    border-radius: 10px;
	width: 100%;
}
div.businessWrapper div.business h3{
    font-size:3rem;
    font-weight: bold;
    /*margin-bottom:1.33em;*/
	padding-left:32%;
	color:#000 !important;
}
@media(max-width:767px){
    div.businessWrapper div.business h3{
        font-size:2.2rem;
    }
}
div.businessWrapper div.business h3 span{
	font-size:2.0rem;
}
@media(max-width:767px){
	div.businessWrapper div.business h3 span{
		font-size:1.4rem;
	}
}
div.business h3 + p{
	padding-left:38%;
	text-align: justify;
}
div.business.pink,
div.six.pink{
    background-color:#FFEFFA;
}
div.business.pink{
	background-image:url("../images/biz01.svg");
	background-size:auto 100%;
	background-repeat: no-repeat;
	border:2px solid #ff0000;
	background-color:#fff !important;
	border-radius: 0px !important;
	background-position: left center !important;
}
div.business.blue,
div.six.blue{
    background:#E2F5FF;
}
div.business.blue{
	background-image:url("../images/biz02.svg");
	background-size:auto 100%;
	background-repeat: no-repeat;
	border:2px solid #4e95d9;
	background-color:#fff !important;
	border-radius: 0px !important;
	background-position: left center !important;
}
@media(max-width:767px){
	div.business{
		background-position: left center !important;
	}
}
div.business.pink h3,
div.six.pink h4{
    color:#E60011;
}
div.business.blue h3,
div.six.blue h4{
    color:#2D4987;
}
div.business p{
    line-height: 2em;
}
h3.business{
    font-size:4rem;
    font-weight: bold;
    border-bottom: 1px solid #E60012;
}
@media(max-width:767px){
    h3.business{
        font-size:2.44rem;
        border-bottom: 1px solid #E60012;
    }
}
h3.business + p{
    margin-top:2.2em;
}
h3.business.aftersix{
	margin-top:4.375em;
}
@media(max-width:767px){
	h3.business.aftersix{
		margin-top:1.4em;
	}
}
div.sixworksimg,
div.sixworks{
    margin-top:95px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap:6.4%;
	height: auto;
}
@media(max-width:767px){
    div.sixworksimg,
    div.sixworks{
		width: 94%;
		margin: 40px auto;
	}
}
div.sixworks{
	/*gap:0.83%;*/
	gap:2.67%
}
div.sixworksimg .six{
    width:28.5%;
    padding:20% 2.67% 2.67%;
	margin-bottom:5.34%;
    position: relative;
}
@media(max-width:767px){
    div.sixworksimg .six {
        width: 92%;
        padding: 56% 5.34% 2.67%;
        margin: auto;
        margin-bottom: 40px;
    }
}
div.sixworks .six{
    width:calc(33% - 2.3%);
    padding:2.67%;
    position: relative;
	margin-bottom:2.67%;
}
@media(max-width:767px){
    div.sixworks .six{
        width:calc(50% - 2.3%);
        padding:2.67%;
        margin-bottom:2.67%;
    }
}
div.sixworksimg .six img{
    position: absolute;
    width:100%;
    height: auto;
    aspect-ratio:356/214;
    object-fit: cover;
    top:-5%;
    left:-5%;
}
.six h4{
    font-size:2.6rem;
    font-weight: bold;
    line-height: 1em;
}
@media(max-width:767px){
    .six h4{
        font-size:2rem;
    }
}
div.six h4 + p{
	margin-top:1.2em;
	text-align: justify;
	font-size:1.6rem;
}
div.sixworks h4{
	font-size:3rem;
}
@media(max-width:767px){
    div.sixworks h4{
        font-size:2rem;
        padding-top:1em;
    }
}
p.sixend{
	font-size:2.4rem;
	text-align: center;
	font-weight: bold;
}
@media(max-width:767px){
	p.sixend{
		font-size:1.8rem;
	}
}
table.business{
	width:100%;
	margin-top:10%;
}
table.business th{
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	border-bottom: 5px solid #E60012;
}
@media(max-width:767px){
    table.business th{
        font-size: 1.8rem;
    }
}
table.business td{
	padding:1.67em;
	text-align: center;
	border-bottom: 2px solid #ABABAB;
}
div.contact-section{
	margin-top:7%;
}
div.contact-section p a{
	text-decoration: underline;
}
div.tel-box{
	width:800px;
	height: 120px;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	margin:16% auto 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media(max-width:767px){
	div.tel-box{
		width:100%;
		height: 120px;
		border-top:1px solid #000;
		border-bottom:1px solid #000;
		margin:16% auto 0;
		flex-direction: column;
		
		justify-content: space-between;
		align-items: center;
	}
}
div.tel-box .tel{
	background:url("../images/icon_tel.svg") left center no-repeat;
	background-size:54px;
	padding-left:12%;
}
@media(max-width:767px){
	div.tel-box .tel{
		padding-left: 19%;
		background-position: left top;
	}
}

div.tel-box .tel strong{
	font-size:2.8rem;
}
div.contact-section .step {
	display: flex;
	justify-content: space-between;
	margin-bottom: 2rem;
	margin:13.4% auto;
	width:calc(50%);
	transform: translateX(-88px)
}
@media(max-width:767px){
	div.contact-section .step {
		display: flex;
		justify-content: space-between;
		margin-bottom: 2em;
		margin:13.4% auto;
		width:100%;
		max-width:200px;
		transform: none;
	}
}
div.contact-section .step span{
	display: block;
	position: relative;
}
div.contact-section .step span::after {
	content: "";
	display: block;
	width:280%;
	height: 1px;
	background:#000;
	position: absolute;
	top:0;
	bottom:0;
	left:110%;
	margin:auto;
}
@media(max-width:1180px){
	div.contact-section .step span::after {
		display: none;
	}
}
div.contact-section .step .active {
	color:#E60012;
}
form {
	width:800px;
	margin:auto;
}
@media(max-width:767px){
form {
	width:100%;
	margin:auto;
}
}
dl.inquiry{
	display: flex;
	border-bottom:1px solid #ccc;
}
@media(max-width:767px){
	dl.inquiry{
		flex-direction: column;
	}
}
dl.inquiry dt,
dl.inquiry dd{
	padding:.67em;
	position: relative;
}
dl.inquiry dt{
	width:30%;
	font-weight: bold;
}
@media(max-width:767px){
	dl.inquiry dt{
		width:55%;
		font-weight: bold;
		min-width:174px;
	}
}
dl.inquiry dt::after{
	content: "任意";
	font-size:1.2rem;
	background-color:#AFAFAF;
	display: inline-block;
	padding:2px 6px;
	position: absolute;
	margin:auto;
	top:1.5em;
	right:16px;
	width:36px;
	height: 18px;
	line-height: 18px;
	border-radius: 4px;
	color:#fff;
}
dl.inquiry dt.must::after{
	content: "必須";
	background-color:#E60012;
}
dl.inquiry dt.nomust::after{
	display: none;
	content: "";
}
dl.inquiry dd{
	width:70%;
}
@media(max-width:767px){
	dl.inquiry dd{
		width:100%;
	}
}
dl.inquiry input,
dl.inquiry select,
dl.inquiry textarea {
      width: 100%;
      border-radius: 4px;
	  padding:0.5em;
	  background-color:#EDEDED;
	  border:1px solid #EDEDED;
}
dl.inquiry input:focus,
dl.inquiry textarea:focus{
	  border:1px solid #E60012;
}
textarea {
	height: 10em;
}
dl.inquiry input,
dl.inquiry select{
	/*line-height: 2em;*/
}
dl.inquiry select{
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-image:url("../images/arrow_select.jpg");
	background-size:15px;
	cursor: pointer;
}
div.checkbox{
	margin-top:2em;
	font-size:1.8rem;
	display: flex;
	align-items: center;
	gap:1em;
	line-height: 1em;
}
div.checkbox a{
	color:#E60012 !important;
}
div.checkbox span{
	line-height: 1em;
}
@media(max-width:767px){
	div.checkbox span{
		line-height: 1.5em;
	}
}
form input[type=checkbox]{
	width:1em;
	height: 1em;
	border:1px solid #959595;
	border-radius: 2px;
	cursor: pointer;
}
@media(max-width:767px){
	form input[type=checkbox]{
		flex:none;
	}
}
form input[type=checkbox]:checked{
	background-color: #959595;
}
div.submit{
	margin:120px auto 0;
	display: flex;
	justify-content: center;
	gap:50px;
}
@media(max-width:767px){
	div.submit{
		margin:40px auto 0;
		gap:20px;
	}
}
div.submit.left{
	justify-content: flex-start;
	margin:0;
	margin-top:97px;
}
@media(max-width:767px){
	div.submit.left{
		justify-content: flex-start;
		margin:0;
		margin-top:40px;
	}
}
div.submit.mt30{
	margin-top:30px;
}
div.submit.mt45{
	margin-top:45px;
}
div.submit input[type=submit],
a.submit{
	width:360px;
	height: 72px;
	background-color:#4D4D4D;
	color:#fff;
	cursor: pointer;
	border-radius: 10px;
	font-size:1.6rem;
	font-weight: bold;
	background-size:30px;
	background-repeat: no-repeat;
	background-image:url("../images/arrow_submit.svg");
	background-position: right 20px center;
	text-align: left;
	padding-left:22px;
	line-height: 72px;
}
@media(max-width:767px){
	div.submit input[type=submit],
	a.submit{
		width:80%;
		max-width:270px;
	}
}
div.submit input[type=submit]:hover,
div.submit a.submit:hover{
	background-color:#ccc;
	color:#4D4D4D
}
div.submit.left a.submit{
	background-color:#ccc;
	color:#4D4D4D
}
div.submit.left a.submit:hover{
	background-color:#4D4D4D;
	color:#fff;
}
input.back {
    background: #ccc;
    padding: 0 20px;
    border-radius: 10px;
	cursor: pointer;
}
input.back:hover{
	background:#333;
	color:#fff;
}
div.privacy{
	margin-top:7%;
	width:820px;
	margin:12.45% auto auto;
	font-size:1.6rem;
}
@media(max-width:767px){
	div.privacy{
		width:94%;
	}
}
div.privacy p{
	margin-bottom: 1em;
}
div.privacy h2{
	font-size:1.8rem;
	border-bottom:1px solid #707070;
	position: relative;
	padding-left:2.2em;
	padding-bottom:0.3em;
	margin-bottom: 1em;
}
div.privacy h2::before{
	content:"";
	width:1.11em;
	height: 3px;
	background:#E60012;
	position: absolute;
	top:0.8em;
	left:0;
}
div.privacy ul,
div.privacy ol{
	margin:1em 1em 2em 3em;
}
@media(max-width:767px){
	div.privacy ul,
	div.privacy ol{
		margin:1.75em 1.75em 3.5em
	}
}
div.privacy ul li{
	list-style: disc;
}
div.tool{
	margin:2em 1.44em;
	border:1px solid #DCDCDC;
	border-radius: 10px;
	padding:2.2em 2.11em;
}
div.tool p{
	word-break: break-word;
	overflow-wrap: break-word;
}
p.topmessage{
	font-weight: medium;
	font-size:3.8rem;
	line-height: 1.84em;
	text-align: center;
	margin:4em auto;
	font-family: "Noto Sans JP", sans-serif;
}
@media(max-width:767px){
	p.topmessage {
		font-size: 2.4rem;
		margin: 2em auto;
	}
}
div.topmessage{
	width:100%;
	background-image:url("../images/bg_ceo.svg");
    background-repeat:no-repeat;
	background-size:cover;
    background-position:center;
}
div.topmessage.toppage{
	background-position:center top 177px;
	background-image:url("../images/ceo_toppage.svg");
}
@media(max-width:767px){
	div.topmessage.toppage{
		background-position:center top 50px;
	}
}
div.ceo{
	margin:auto;
	width:94%;
	max-width:970px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media(max-width:767px){
	div.ceo{
		margin:auto;
		width:94%;
		flex-direction: column-reverse;
		gap:25px;
	}
}
div.ceo p{
	width:60%;
}
@media(max-width:767px){
	div.ceo p{
		width:100%;
	}
}
div.ceo div.ogawa{
	height: auto;
	width:33%;
	text-align: right;
}
@media(max-width:767px){
div.ceo div.ogawa{
	width:50%;
}
}
div.ceo div.ogawa img{
	width:100%;
	height: auto;
}
div.ogawa p{
	text-align: right !important;
	float: right;
	width:100%;
	font-size:1.4rem;
	line-height: 1.7em;
	margin-right: 20px;
	margin-top:1em;
}
div.gray{
	background:#F2F2F2;
	overflow: hidden;
}
div.profile{
	display: flex;
	margin-top:40px;
	margin-bottom: 40px;
	justify-content: center;
	gap:50px;
}
@media(max-width:767px){
    div.profile{
        flex-direction: column;
		gap:10px;
    }
}
dl.profile{
	overflow: hidden;
	font-size:1.6rem;
	width:250px;
}
@media(max-width:767px){
    dl.profile{
        font-size:1.4rem;
        width:90%;
    }
}
dl.profile dt{
	float: left;
	clear: both;
	text-align: center;
	background:#4D4D4D;
	border-radius: 50px;
	color:#fff;
	width:120px;
	height: 36px;
	line-height: 36px;
	margin-bottom:14px;
}
dl.profile dd{
	float: left;
	text-align: left;
	line-height: 36px;
	margin-left:32px;
}
div.profile h2{
	font-weight: bold;
	font-size: 1.8rem;
}
div.profile p{
	font-size:1.6rem;
}
div.interview{
    display: flex;
    margin-top:132px;
}
dl.profile2{
	overflow: hidden;
	width:calc(100% - 250px);
}
@media(max-width:767px){
	dl.profile2{
		overflow: hidden;
		width:calc(100%);
	}
}
dl.profile2 dt{
	float: left;
	font-weight: bold;
	clear: both;
	width:5em;
}
dl.profile2 dd{
	display: block;
	width:calc(100% - 5em);
}
@media(max-width:767px){
	dl.profile2 dd{
		width:calc(100%);
	}
}
dl.profile2 li{
	list-style: disc;
	margin-left:6em;
}
@media(max-width:767px){
	div.interview{
		flex-direction: column;
		margin-top:80px;
	}
}
div.interview.reverse{
    flex-direction: row-reverse;
}
@media(max-width:767px){
	div.interview.reverse{
		flex-direction: column;
	}
}
dl.ws{
    width:277px;
    height: 47px;
    border-radius: 47px;
    border:3px solid #666666;
    display: flex;
    position: relative;
	gap:0;
	background:#666666;
	flex:none;
}
@media(max-width:767px){
    dl.ws{
        width:260px;
        height: 40px;
        border-radius: 40px;
    }
}
@media(min-width:768px){
	.reverse dl.ws{
		margin-left:5%;
	}
}
dl.ws.wide{
	width:360px;
}
@media(max-width:767px){
dl.ws.wide{
	width:300px;
}
}
dl.ws dt{
    font-size:3rem;
    line-height: 47px;
    font-weight: bold;
    color:#E60012;
    width:22%;
    text-align: center;
    background:#fff;
    border-top-left-radius: 47px;
    border-bottom-left-radius: 47px;
	display: flex;              /* Flex化 */
	justify-content: center;
	align-items: center;        /* 上下中央に */
}
@media(max-width:767px){
    dl.ws dt{
        font-size:2rem;
        line-height: 40px;
        font-weight: bold;
        color:#E60012;
        width:22%;
        text-align: center;
        background:#fff;
        border-top-left-radius: 40px;
        border-bottom-left-radius: 40px;
		justify-content: center;
		display: flex;              /* Flex化 */
		align-items: center;        /* 上下中央に */
    }
}
dl.ws dd{
    font-size: 2rem;
    font-weight: bold;
    width:78%;
    color:#fff;
    background:#666;
    text-indent: 0.7em;
    border-top-right-radius: 47px;
    border-bottom-right-radius: 47px;
	display: flex;              /* Flex化 */
	align-items: center;        /* 上下中央に */
}
@media(max-width:767px){
    dl.ws dd{
        font-size: 1.8rem;
        border-top-right-radius: 40px;
        border-bottom-right-radius: 40px;
        line-height: 40px;
    }
}
dl.ws::before{
    color: #FFE8E8;
    font-weight: bold;
    font-size: 12rem;
    position: absolute;
    top: -142px;
    left: -64px;
    z-index: -1;
    pointer-events: none;
    white-space: nowrap;
    font-family: "Raleway", sans-serif;
    font-style: italic;
}
@media(max-width:767px){
    dl.ws::before{
        font-size: 6rem;
        top: -70px;
        left: 0;
    }
}
dl.ws.ws1::before{
    content: "Job Description";
}
dl.ws.ws2::before{
    content: "Reason for Joining";
}
dl.ws.ws3::before{
    content: "The appeal of Y-TEC";
}
dl.ws.ws4::before{
    content: "What I want to try";
}
dl.ws.ws5::before{
    content: "How to spend your holidays";
}
div.interview img{
    margin-top:54px;
}
@media(max-width:767px){
	div.interview img{
		margin-top:25px;
		width:100%;
		height: auto;
	}
}
div.interview h3,
div.interview h2.interview2{
    font-size: 3rem;
    line-height: 1.6em;
    font-weight: bold;
    margin-top:1.1em;
}
@media(max-width:767px){
	div.interview h3,
	div.interview h2.interview2{
		font-size: 2rem;
	}
}
div.interview.reverse h3{
    margin-left:15%;
}
@media(max-width:767px){
	div.interview.reverse h3{
		margin-left:0;
	}
}
div.interview-text{
    width:56%;
}
@media(max-width:767px){
	div.interview-text{
		width:100%;
	}
}
div.interview-text p{
    padding-right: 15%;
    position: relative;
    font-size: 1.6rem;
    margin-top:1em;
    padding-top:2em;
}
@media(max-width:767px){
	div.interview-text p{
		padding-right: 0;
		padding-top:1em;
	}
}
.reverse div.interview-text p{
    padding-right: 0;
    padding-left:15%
}
@media(max-width:767px){
	.reverse div.interview-text p{
		padding-left:0
	}
}
div.interview-text p::before{
    content: "";
    height: 1px;
    background:#4D4D4D;
    position: absolute;
    width: calc(((100vw - 1100px) / 2) + 100%);
    right:0;
    top:0;
}
@media(max-width:767px){
	div.interview-text p::before{
		display: none;
	}
}
.reverse div.interview-text p::before{
    left:0;
}
.wideImage {
    width:100%;
    height: 600px;
    margin-top:160px;
    margin-bottom:320px;
}
@media(max-width:767px){
	.wideImage {
		width:100%;
		height: 250px;
		margin-top:40px;
		margin-bottom:80px;
	}
}
.wideImage img{
    object-fit: cover;
	width:100%;
	height: 100%;
}
section.interview{
    background-repeat: no-repeat;
    background-position: center top 120px;
	background-image:url("../images/bg_workstyle.webp");
	background-size:cover;
}
h2.interview{
    font-size: 5rem;
    text-align: center;
    position: relative;
    font-weight: bold;
    line-height: 1em;
    padding-top:330px;
}
@media(max-width:767px){
	h2.interview{
		font-size: 2.2rem;
		padding-top:100px;
	}
}
h2.interview span{
    display: block;
    font-size:2.4rem;
    font-family: "Raleway", sans-serif;
    font-optical-sizing: auto;
    font-weight: bold;
    font-style: italic;
    color:#E60012;
}
@media(max-width:767px){
	h2.interview span{
		font-size:1.4rem;
	}
}
h2.interview::before{
    content: "Work Style";
    color: #FFE8E8;
    font-weight: bold;
    font-size: 12rem;
    position: absolute;
    bottom:30px;
    left: 0;
    right:0;
    margin:auto;
    z-index: -1;
    pointer-events: none;
    white-space: nowrap;
    font-family: "Raleway", sans-serif;
    font-style: italic;
}
@media(max-width:767px){
	h2.interview::before{
		font-size: 6rem;
		bottom:16px;
		left: 0;
		right:0;
		margin:auto;
	}
}
.scroll-wrapper {
  width: 100%;
  overflow: hidden;
  margin-top:145px;
}
@media(max-width:767px){
	.scroll-wrapper {
	  margin-top:30px;
	}
}
.scroll-track {
	display: flex;
	width: max-content;
	animation: scroll-left 80s linear infinite;
}

.scroll-track img {
  height: 300px;
  width: auto;
  margin-right: 20px;
  flex-shrink: 0;
  object-fit: cover;
  border-radius: 8px;
}
@media(max-width:767px){
	.scroll-track img {
	  height: 180px;
	}
}
.scroll-track img:hover{
	opacity: 0.75;
}
/* アニメーション */
@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

div.welfareWrapper{
    display: flex;
    flex-wrap: wrap;
    gap:70px;
}
@media(max-width:767px){
	div.welfareWrapper{
		gap:10px;
	}
}
div.welfare{
    width:320px;
    min-height: 400px;
    border:5px solid #DBDBDB;
    border-radius: 20px;
    padding-top:216px;
	background-size:70px;
	background-position: center top 70px;
	background-repeat: no-repeat;
}
@media(max-width:767px){
	div.welfare{
		width: calc(100%);
		min-height: unset;
		border: 5px solid #DBDBDB;
		border-radius: 20px;
		padding-top: calc(50% - 10px);
	}
}
div.welfare.w1{
	background-image:url("../images/w01.webp");
}
div.welfare.w2{
	background-image:url("../images/w02.webp");
}
div.welfare.w3{
	background-image:url("../images/w03.webp");
}
div.welfare.w4{
	background-image:url("../images/w04.webp");
}
div.welfare.w5{
	background-image:url("../images/w05.webp");
}
div.welfare.w6{
	background-image:url("../images/w06.webp");
}
div.welfare.w7{
	background-image:url("../images/w07.webp");
}
div.welfare.w8{
	background-image:url("../images/w08.webp");
}
div.welfare.w9{
	background-image:url("../images/w09.webp");
}
div.welfare h2{
    font-weight: bold;
    font-size: 2.2rem;
    padding:0 1em .5em;
	line-height: 1.5em;
}
@media(max-width:767px){
	div.welfare h2{
		font-size: 1.8rem;
	}
}
div.welfare p{
    font-size:1.6rem;
    padding:0 1.43em 1.43em;
	text-align: justify;
}
p.welfare{
    font-size:3rem;
    text-align: center;
    margin-top:113px;
    font-weight: bold;
}
@media(max-width:767px){
	p.welfare{
		font-size:2.2rem;
		margin-top:40px;
	}
}
p.welfare + p{
    font-size:1.6rem;
    width:640px;
    margin:53px auto;
}
@media(max-width:767px){
	p.welfare + p{
		width:100%;
		margin:40px auto;
	}
}
.careerWrapper {
	display: flex;
	justify-content: space-between;
	gap:1px;
	margin-top:115px;
}
@media(max-width:767px){
	.careerWrapper {
		gap:5px;
		margin-top:40px;
	}
}
div.career{
	width:calc((100% - 4px) / 5);
}
@media(max-width:767px){
	div.career{
		flex: 0 0 auto;
		width: 200px; 
	}
}
.career h2{
	font-size:1.4rem;
	text-align: center;
	font-weight: bold;
	width:86%;
	height: 80px;
	line-height: 1.5em;
	position: relative;
	background:#D3EAFC;
	margin:auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
}
.career h2::before{
	content: "";
	background-image:url("../images/arrow_career.svg");
	width:40px;
	height: 40px;
	background-size:40px;
	background-repeat: no-repeat;
	position: absolute;
	margin: auto;
	bottom: -20px;
	left: 0;
	right:0;
}
.career h3{
	font-size:2rem;
	font-weight: bold;
	text-align: center;
	position: relative;
}
.career h3 span{
	font-size:3rem;
}
@media(max-width:767px){
	.career h3 span{
		font-size:2.2rem;
	}
}
.career.c1 h3{
	background-color:#FFE0E5;
}
.career.c2 h3{
	background-color:#FFCCD2;
}
.career.c3 h3{
	background-color:#FFA6AD;
}
.career.c4 h3{
	background-color:#EB4654;
}
.career.c5 h3{
	background-color:#E60012;
}
.career.c1 h3{
	margin-top:360px;
	height: 65px;
}
.career.c2 h3{
	margin-top:300px;
	height: 125px
}
.career.c2 h3::before,
.career.c3 h3::before,
.career.c4 h3::before{
	content: "";
	background-image:url("../images/pic_career.svg");
	width:90px;
	height: 112px;
	background-repeat: no-repeat;
	background-size:90px;
	position: absolute;
	top:-120px;
	left:-70px;
}
.career.c3 h3{
	margin-top:250px;
	height: 175px
}
.career.c4 h3{
	margin-top:190px;
	height: 235px;
	color:#fff;
}
.career.c5 h3{
	margin-top:130px;
	height: 295px;
	color:#fff;
}
.career.c5 h3::before{
	content: "";
	background-image:url("../images/pic_career2.svg");
	width:113px;
	height: 76px;
	background-repeat: no-repeat;
	background-size:113px;
	position: absolute;
	margin:auto;
	top:-80px;
	left:0;
	right:0;
}
.career .desc{
	background:#fff;
	border-width: 5px;
	border-style: solid;
	min-height: 500px;
	position: relative;
}
.career.c1 .desc{
	border-color:#FFE0E5;
}
.career.c2 .desc{
	border-color:#FFCCD2;
}
.career.c3 .desc{
	border-color:#FFA6AD;
}
.career.c4 .desc{
	border-color:#EB4654;
}
.career.c5 .desc{
	border-color:#E60012;
}
.career ul{
	margin:20px 20px 20px 25px;
	font-size: 1.4rem;
}
.career ul li{
	list-style: disc;
}
.career dl{
	width:calc(100% - 20px);
	background:#F2F2F2;
	padding:1em;
	font-size:1.4rem;
	position: absolute;
	margin:auto;
	bottom:10px;
	left:0;
	right:0;
	min-height: 140px;
}
.career dl dt{
	font-weight: bold;
}
ul.entry{
	margin-top:125px;
	display: flex;
	justify-content: center;
	gap:20px;
}
@media(max-width:1080px){
	ul.entry{
		flex-wrap: wrap;
		margin-top:75px;
	}
}
@media(max-width:767px){
	ul.entry{
		margin-top:40px;
		gap:10px;
		flex-direction: column;
		align-items: center;
	}
}
ul.entry li{
	width:280px;
	height: 60px;
	font-size:1.8rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.2em;
	background:#A7A4A4;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 60px;
	padding:0 33px;
	color:#fff;
	position: relative;
}
@media(max-width:1080px){
	ul.entry li{
		width:45%;
		height: 45px;
		font-size:1.6rem;
		border-radius: 45px;
		padding:0 40px;
		color:#fff;
	}
}
@media(max-width:767px){
	ul.entry li{
		width:75%;
		height: 45px;
		font-size:1.6rem;
		border-radius: 45px;
		padding:0 40px;
		color:#fff;
	}
}

ul.entry li a{
	width:100%;
	height: 100%;
	color:#fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
ul.entry li.active,
ul.entry li:hover{
	background-color:#484A50
}
h2.entry{
	font-size:4rem;
	margin-top:118px;
	font-weight: bold;
}
@media(max-width:767px){
	h2.entry{
		font-size:2.2rem;
		margin-top:40px;
	}
}
h2.process{
	font-size:4rem;
	margin-top:216px;
	font-weight: bold;
	text-align: center;
}
@media(max-width:767px){
	h2.process{
		font-size:2.2rem;
		margin-top:80px;
	}
}
div.process{
	width:100%;
	height: 198px;
	background:#F5F5F5;
	border:5px solid #EAEAEA;
	display: flex;
	gap:60px;
	align-items: center;
	border-radius: 198px;
	padding:0 60px;
	margin-bottom:86px;
	position: relative;
}
@media(max-width:767px){
	div.process{
		height: auto;
		flex-direction: column;
		gap:30px;
		align-items: center;
		border-radius: 10px;
		padding:20px;
		margin-bottom:50px;
	}
}
div.process p{
	width:600px;
	font-size:1.6rem;
}
@media(max-width:767px){
	div.process p{
		width:100%;
		font-size:1.6rem;
	}
}
div.process:not(:last-of-type)::after{
	content: "";
	width:12px;
	height: 36.5px;
	background-image:url("../images/arrow_process.svg");
	background-repeat: no-repeat;
	background-size:12px;
	background-position: center;
	position: absolute;
	margin:auto;
	left:0;
	right:0;
	bottom:-64px;
}
@media(max-width:767px){
	div.process:not(:last-of-type)::after{
		height: 34.5px;
		bottom: -47px;
	}
}
.file-container {
    display: flex;
    align-items: center;
    gap: 10px;
}
.custom-file-upload {
    display: inline-block;
    padding: 8px 20px;
    cursor: pointer;
    background-color: #F7F7F7;
    border-radius: 4px;
    font-size: 14px;
}
.custom-file-upload:hover {
    background-color: #666;
	color:#fff;
}
.file-name,
.file-name2{
    font-size: 14px;
    color: #333;
}
input[type="file"] {
    display: none;
}
img.ws1{
	width:480px;
	height: 560px;
	object-fit: cover;
}
img.ws2{
	width:400px;
	height: 440px;
	object-fit: cover;
}
img.ws3{
	width:480px;
	height: 430px;
	object-fit: cover;
}
img.ws4{
	width:530px;
	height: 420px;
	object-fit: cover;
}
img.ws5{
	width:480px;
	height: 600px;
	object-fit: cover;
}

























.topWrapper {
	width:100%;
	height: 687px;
	background-image:url("../images/topbg.svg");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size:cover;
	margin-top:80px;
	overflow: hidden;
	position: relative;
}
@media(max-width:767px){
	.topWrapper {
		height: calc(100vh - 160px);
		background-image:url("../images/topbg.svg");
		background-position: center top;
	}
}
.topWrapper::after {
    content: "";
    background-image: url("../images/titleBg_l.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 684px;
    width: 684px;
    height: 684px;
    position: absolute;
    right: 0px;
    top: 30px;
	z-index: 1;
}
@media(max-width:767px){
	.topWrapper::after {
		content: none;
		display: none;
	}
}
div.top{
	width:94%;
	max-width:1100px;
	margin:auto;
	height: 100%;
	position: relative;
}
@media(max-width:768px){
	div.top{
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
        /*justify-content: space-around;*/
        gap:50px;
	}
}
div.top p{
	font-size:3rem;
	line-height: 2em;
	margin-top:170px;
	font-weight: 500;
	font-family: noto-sans-jp;
}
@media(max-width:767px){
	div.top p{
		font-size:2.2rem;
		font-weight: 500;
		line-height: 2em;
		margin-top:20px;
		margin:20px;
	}
}
div.top img{
	width:213px;
	height: 288px;
	background-size:cover;
	position: absolute;
	top:-70px;
	right:0;
	z-index: 2;
}
@media(max-width:768px){
	div.top img{
		width: auto;
		height: calc(30vh);
		margin-top: 100px;
		left: 0;
		right: 0;
		top: 50px;
		margin: auto;
	}
}

p.top_business {
	width:54.5%;
	height: auto;
	margin-top:73px;
	position: relative;
}
@media(max-width:767px){
	p.top_business {
		width:100%;
		height: auto;
		margin-top:0px;
		position: relative;
	}
}
img.top_business {
    display: block;
    width: 44%;
    max-width: 820px;
    aspect-ratio: 820/494;
    position: absolute;
    right: 0;
    top: 927px;
    z-index: 2;
}
@media(max-width:767px){
	img.top_business {
		display: block;
		width:100%;
		aspect-ratio:820/494;
		position: static;
	}
}
p.top_recruit {
    text-align: center;
    margin-top: 50px;
    font-size: 2.4rem;
    max-width: 860px;
    margin: 50px auto auto;
}
@media(max-width:767px){
	p.top_recruit {
		margin-top:25px;
		margin:25px auto auto;
		font-size:1.8rem;
	}
}
div.top_recruit{
	width:94%;
	max-width:1400px;
	background-image:url("../images/top_recruit_bg.svg");
	background-size:1300px auto;
	background-position: center top;
	background-repeat: no-repeat;
	margin-top:120px;
	margin:120px auto;
	padding-top:150px;
}
@media(max-width:767px){
	div.top_recruit{
		background-size:120% auto;
		margin:40px auto;
		padding-top:50px;
		background-repeat: repeat-y;
	}
}
ul.top_recruit{
	display: flex;
	justify-content: center;
	gap:3px;
	padding-bottom: 40px;
	font-size:1.8rem;
}
@media(max-width:767px){
	ul.top_recruit{
		flex-direction: column;
		gap:10px;
		padding-bottom: 10px;
		margin:auto 20px;
		font-size:1.6rem;
	}
}
ul.top_recruit li{
}
ul.top_recruit li a{
	line-height: 1.25em;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	border:2px solid #666;
	padding:5px 15px;
	height: 60px;
    border-radius: 10px;
	/*display: block;
	width:100%;
	height: 100%;*/
}
ul.top_recruit a:hover{
	border-color:#E60012;
}

div.recruitBlockWrapper {
	max-width:1400px;
	width:94%;
	margin:auto;
	padding-bottom:240px;
	padding-top:100px;
}
@media(max-width:767px){
	div.recruitBlockWrapper {
		padding-bottom:10px;
		padding-top:50px;
	}
}
@media(max-width:767px){
	div.recruitBlock{
		flex-direction: column;
		margin-bottom:40px;
		justify-content: space-between;
		padding-top:120px;
		margin-top:-120px;
	}
}
@media(min-width:768px){
	div.recruitBlock{
		display: flex;
		justify-content: space-between;
		padding-top:120px;
		margin-top:-120px;
		margin-bottom:80px;
	}
}
div.recruitBlock > * {
	min-width: 0;
}
div.recruitBlock.reverse{
	flex-direction: row-reverse;
}
@media(max-width:767px){
	div.recruitBlock.reverse{
		flex-direction:column
	}
}
div.recruitBlock > div{
	width:50%;
}
@media(max-width:767px){
	div.recruitBlock > div{
		width:100%;
	}
}
div.recruitBlock div.con{
	padding-left:100px;
	position: relative;
	font-size:1.6rem;
}
@media(max-width:767px){
	div.recruitBlock div.con{
		padding-left:0;
		font-size:1.4rem;
	}
}
.reverse div.con{
	padding-left:50px !important;
	padding-right: 85px;
}
@media(max-width:767px){
	.reverse div.con{
		padding-left:0px !important;
		padding-right: 0px;
	}
}
div.recruitBlock img{
	width:100%;
	height: auto;
}
div.con div.bottom{
	/*position: absolute;*/
	margin-top:25px;
}
@media(max-width:767px){
	div.con div.bottom{
		position: static;
		margin-top:1em;
	}
}
.reverse div.con div.bottom{
	left:0;
	right:85px;
}
@media(max-width:767px){
	.reverse div.con div.bottom{
		padding-left:0;
	}
}
div.con strong{
    background: #4D4D4D;
    color: #fff;
    padding: 2px 10px;
    margin-bottom: 0.5em;
    display: inline-block;
}
div.con h3{
	color:#E60012;
	font-size:2.4rem;
	font-weight: bold;
	position: relative;
}
@media(max-width:767px){
	div.con h3{
		font-size:1.8rem;
	}
}
div.con h3 span.label{
    position: absolute;
    background: url("../images/span_label.svg");
    width: 235px;
    height: 75px;
    top: -1.25em;
    right: 0;
    text-align: center;
    line-height: 85px;
    text-indent: 1.5em;
}
@media(max-width:767px){
	div.con h3 span.label{
		width: 118px;
		height: 38px;
		top: -1.25em;
		right: 0;
		text-align: center;
		line-height: 40px;
		font-size:1.2rem;
	}
}
div.con span.num{
	font-size:4rem;
	font-weight: bold;
	display: block;
	color:#4D4D4D;
	line-height: 1em;
}
@media(max-width:767px){
	div.con span.num{
		font-size:2rem;
	}
}
div.con > p{
	margin-top:40px;
	line-height: 1.75em;
	text-align: justify;
}
@media(max-width:767px){
	div.con > p{
		margin-top:20px;
	}
}
div.top_ceo{
	width:890px;
	margin:90px auto;
	display: flex;
}
@media(max-width:767px){
	div.top_ceo{
		width:94%;
		margin:20px auto;
		flex-direction: column-reverse;
	}
}
div.top_ceo div.left{
	width:58%;
}
@media(max-width:767px){
	div.top_ceo div.left{
		width:100%;
	}
}
div.top_ceo div.right{
	text-align: center;
}
div.top_ceo img{
	width:auto;
	height: 635px;
}
@media(max-width:767px){
	div.top_ceo img{
		width:auto;
		height: 300px;
	}
}
div.ceo p{
	text-align: justify;
}
div.top_ceo  strong{
	display: block;
	margin-bottom: 94px;
	line-height: 2.17em;
	font-size:2.4rem;
}
@media(max-width:767px){
	div.top_ceo  strong{
		font-size:2rem;
		margin-bottom: 20px;
	}
}
div.ws_toppage2{
	display: flex;
	gap:120px;
}
@media(max-width:767px){
	div.ws_toppage2{
		flex-direction: column-reverse;
		align-items: center;
		gap:20px;
	}
	.ws img{
		width:auto;
		height: 250px;
	}
}
div.ws_toppage2 strong{
	display: block;
	margin-top:84px;
	margin-bottom:54px;
	line-height: 2.17em;
	font-size:2.4rem;
}
@media(max-width:767px){
	div.ws_toppage2 strong{
		margin-top:10px;
		margin-bottom:20px;
		font-size:1.8rem;
	}
}
div.ws_toppage2 a,
div.ws_toppage3 a{
	position: relative;
	z-index: 1;
	width:100%;
	height: 100%;
	display: inline-block;
}
div.ws_toppage2 img:hover{
	opacity: 0.75;
}
div.ws_toppage2 a::after,
div.ws_toppage3 a::after{
	content: "";
	width:43px;
	height: 43px;
	background-image:url("../images/arrow_img.svg");
	background-repeat: no-repeat;
	background-size:43px;
	background-position: center;
	position: absolute;
	bottom:14px;
	right:35px;
	z-index: 200000000;
}
div.ws_toppage2 a::after{
	right:14px;
}
@media(max-width:767px){
	div.ws_toppage2 a::after,
	div.ws_toppage3 a::after{
		width:20px;
		height: 20px;
		background-size:20px;
		bottom:14px;
		right:34px;
	}
	div.ws_toppage2 a::after{
		right:14px;
	}
}
ul.otherman{
    display: flex;
    justify-content: flex-start;
    gap:12px;
    margin-top:16px;
    position: relative;
    z-index: 3;
}
@media(max-width:767px){
    ul.otherman{
        flex-wrap: wrap
    }
}
ul.otherman li{
    font-size:1.5rem;
    line-height: 40px;
    border:1px solid #707070;
    border-radius: 40px;
    padding:0 20px;
}
@media(max-width:767px){
    ul.otherman li{
        font-size:1.4rem;
        line-height: 36px;
        border-radius: 36px;
        width:45%;
    }
}
ul.otherman li a{
    display: block;
    width:100%;
    height: 100%;
}
ul.otherman li.active a,
ul.otherman li:hover a{
    color:#fff;
}
ul.otherman li.active,
ul.otherman li:hover{
    background-color:#707070;
    color:#fff;
}
div.linkWrapper{
    display: flex;
    justify-content: center;
    gap:20px;
    margin-top:140px;
}
@media(max-width:767px){
	div.linkWrapper{
		flex-direction: column;
		width:94%;
		margin:50px auto;
	}
}
div.link{
    width:540px;
    height: 328px;
    position: relative;
    overflow: hidden;
}
@media(max-width:767px){
	div.link{
		width:100%;
		height: auto;
		aspect-ratio:540/240;
	}
}
div.link a{
    display: block;
    width:540px;
    height: 328px;
    position: relative;
    z-index: 3;
}
@media(max-width:767px){
    div.link a{
        display: block;
        width:100%;
		height: auto;
		aspect-ratio:540/240;
        position: relative;
        z-index: 3;
    }
}
div.link a::after{
    content: "";
    width:540px;
    height: 328px;
    background-image:url("../images/linkfg.webp");
    background-size:540px;
    background-position: center top;
    background-repeat: no-repeat;
    position: absolute;
    top:0;
    left:0;
    z-index: 4;
}
@media(max-width:767px){
    div.link a::after{
        content: "";
        width:100%;
        aspect-ratio:540/240;
        height: auto;
        background-image:url("../images/linkfg.webp");
        background-size:100%;
    }
}
div.link img{
    position: absolute;
    width:540px;
    height: auto;
    top:0;
    left:0;
    z-index: 1;
    transform: scale(1);
    transition: all 0.25s;
}
@media(max-width:767px){
    div.link img{
        position: absolute;
        width:100%;
        height: auto;
        aspect-ratio:540/240;
    }
}
div.link:hover img{
    transform: scale(1.05);
    transition: all 0.25s;
}
div.link p{
    position: absolute;
    z-index: 2;
    width:540px;
    height: 85px;
    line-height: 85px;
    background-color:#fff;
    font-size:2.4rem;
    font-weight: bold;
    text-indent: 1em;
    background-repeat: no-repeat;
    background-image:url("../images/arrow_img.svg");
    background-size:20px;
    background-position: right 10px center;
    left:0;
    bottom:0;
}
@media(max-width:767px){
    div.link p{
        width:100%;
        height: 30%;
        line-height:inherit;
        font-size:1.8rem;
        font-weight: bold;
        text-indent: 1em;
        background-position: right 10px center;
        background-color:#fff;
        padding-top:.8em;
    }
}
div.ws_toppage {
    background-repeat: no-repeat;
    background-position: center top -150px;
	background-image:url("../images/bg_workstyle.webp");
	background-size:cover;
}
div.ws_recruit {
    background-repeat: no-repeat;
    background-position: center top -510px;
	background-image:url("../images/bg_workstyle1.webp");
	background-size:cover;
}

@media(max-width:767px){
	address a{
		color:#fff !important;
	}
}
h2.discloser{
	font-weight: bold;
	font-size: 3.3rem;
}
@media(max-width:767px){
	h2.discloser{
		font-size: 2.4rem;
	}
}
div.discloser{
	max-width:940px;
	width:94%;
	margin:174px auto 0;
}
@media(max-width:767px){
	div.discloser{
		margin:25px auto 0;
	}
}
table.discloser {
	width: 100%;
	border-collapse: collapse;
	font-family: sans-serif;
	margin-top:70px;
}
@media(max-width:767px){
	table.discloser {
		margin-top:30px;
	}
    table.discloser td.msize{
        width:25%;
    }
}
table.discloser th, 
table.discloser td {
	border: 1px solid #ccc;
	padding: 10px;
	vertical-align: top;
}
table.discloser tr td:nth-child(3){
	width:177px;
}
table.discloser thead {
	background-color: #f0f0f0;
}

table.discloser tbody tr.odd {
	background-color: #f5f5f5;
}

table.discloser td span{
	padding-left:2em;
	display: block;
	position: relative;
}
table.discloser td span::before{
	position: absolute;
	left:0;
}
table.discloser td span.d1::before{
	content: "①";
}
table.discloser td span.d2::before{
	content: "②";
}
table.discloser td span.d3::before{
	content: "③";
}
table.discloser td span.d4::before{
	content: "④";
}
table.discloser td span.d5::before{
	content: "⑤";
}
table.discloser td span.d6::before{
	content: "⑥";
}
table.discloser td span.d7::before{
	content: "⑦";
}
table.discloser td span.d8::before{
	content: "⑧";
}
table.discloser td span.d9::before{
	content: "⑨";
}
table.discloser td.center{
	text-align: center;
}
table.discloser ul{
	margin-left:3em;
}
table.discloser ul li{
	list-style: disc;
}


/* @group Fade up Animetion */
.fadein{
    transform: translateY(50px);
    opacity: 0;
}

.fadein.is-active{
    transition: .6s;
    transform: translateY(0);
    opacity: 1;
}

.is-active .fadein{
    transition: .6s;
    transform: translateY(0);
    opacity: 1;
}
.is-active .fadein:nth-child(2){transition-delay: 0.4s;}
.is-active .fadein:nth-child(3){transition-delay: 0.8s;}
.is-active .fadein:nth-child(4){transition-delay: 1.2s;}
.is-active .fadein:nth-child(5){transition-delay: 1.6s;}
.is-active .fadein:nth-child(6){transition-delay: 2.0s;}
.is-active .fadein:nth-child(7){transition-delay: 2.4s;}
.is-active .fadein:nth-child(8){transition-delay: 2.8s;}
.is-active .fadein:nth-child(9){transition-delay: 3.2s;}
.is-active .fadein:nth-child(10){transition-delay: 3.6s;}
.is-active .fadein:nth-child(11){transition-delay: 3.0s;}
.is-active .fadein:nth-child(12){transition-delay: 4.4s;}
.is-active .fadein:nth-child(13){transition-delay: 4.8s;}
.is-active .fadein:nth-child(14){transition-delay: 5.2s;}
.is-active .fadein:nth-child(15){transition-delay: 5.6s;}
.is-active .fadein:nth-child(16){transition-delay: 6.0s;}
.is-active .fadein:nth-child(17){transition-delay: 6.4s;}
.is-active .fadein:nth-child(18){transition-delay: 6.8s;}
.is-active .fadein:nth-child(19){transition-delay: 7.2s;}
.is-active .fadein:nth-child(20){transition-delay: 7.6s;}
/* @end */