@charset "utf-8";
/*------------------------------------------------------------
	トップページ
------------------------------------------------------------*/
#main .jsBox {
  position: relative;
}
#main .jsBox .fooUl li {
  position: relative;
  height: 82vh;
  background: url("../img/index/top_slide_01.jpg") no-repeat center center;
  background-size: cover;
}
#main .jsBox .fooUl .liStyle02 {
  background-image: url("../img/index/top_slide_03.jpg");
}
#main .jsBox .fooUl .liStyle03 {
  background-image: url("../img/index/top_slide_02.jpg");
}
#main .jsBox .fooUl .liStyle04 {
  background-image: url("../img/index/top_slide_04.jpg");
}
#main .jsBox .fooUl .liStyle04 .textImg span {
  text-align: center;
}
.slick-slide img.pc {
  display: inline-block !important;
}
#main .jsBox .fooUl li .textImg {
  position: absolute;
  top: 53.5%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
}
#main .jsBox .fooUl li .textImg span {
  display: block;
  margin: 0 auto;
  width: 1105px;
}
#main .jsBox .scroll {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
#main .jsBox .scroll a:hover img {
  opacity: 0.7;
}
#main .explanation {
  text-align: right;
}
#main .explanation p {
  border: 1px solid #000;
  display: inline-block;
  margin-top: 14px;
  padding: 0 7px;
  font-size: 1.3rem;
  line-height: 1.85;
  font-feature-settings: "palt";
	margin-right: 1rem;
}
#main .company {
  /*padding: 75px 0 162px;*/
  padding: 59px 0 162px;
}
#main .content {
  max-width: 1200px;
}
#main .txt {
  margin-bottom: 31px;
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
}
#main .company .comLinkList {
  padding: 0;
  background: none;
}
#main .company .comLinkList:after {
  width: 100%;
  height: 550px;
  background-color: #f2f2f2;
  position: absolute;
  top: 101px;
  left: 0;
  content: "";
  z-index: -1;
}
#main .work {
  margin: 0 auto 86px;
  width: 920px;
  position: relative;
}
#main .work:after {
  width: 800px;
  height: 160px;
  background-color: #fff;
  position: absolute;
  top: -64px;
  left: -70px;
  content: "";
  z-index: -1;
}
#main .careerBox .headLine01,
#main .ebook .headLine01,
#main .work .headLine01 {
  text-align: left;
  background-position: left bottom;
}
#main .work .txt02 {
  margin-bottom: 84px;
  font-size: 1.8rem;
  line-height: 2;
}
#main .work .headLine01 .dancing {
  margin-bottom: -4px;
}
#main .listBox {
  position: relative;
}
#main .listBox .liStyle {
  position: absolute;
  top: -349px;
  right: 0;
}
.comUl li:nth-child(3n-1) {
  margin: inherit;
}
.comUl li:nth-child(3n) {
  margin: 0 10px 11px;
}
#main .careerBox {
  margin-bottom: 130px;
}
#main .careerBox .content {
  max-width: 920px;
}
#main .careerBox .imgBox .textBox {
  padding: 70px 135px 56px 0;
  width: 390px;
  position: relative;
}
#main .careerBox .imgBox .textBox:after {
  width: 9999px;
  height: 100%;
  background-color: #f2f2f2;
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  z-index: -1;
}
#main .careerBox .imgBox .textBox p {
  margin-bottom: 31px;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 1px;
}
#main .careerBox .imgBox .textBox .headLine01 {
  margin-bottom: 19px;
}
#main .careerBox .imgBox .photo {
  margin: -350px 0 50px;
  float: right;
  width: 51.3%;
}
#main .special .txt02 {
  margin-bottom: 32px;
  text-align: center;
  font-size: 1.8rem;
  line-height: 2;
}
#main .special .content {
  max-width: 960px;
}
#main .special {
  margin-bottom: 98px;
  clear: both;
}
#main .special .comLinkList {
  padding: 0;
}
#main .ebook {
  margin-bottom: 130px;
}
#main .ebook .content {
  max-width: 920px;
}
#main .ebook .imgBox .textBox {
  padding: 70px 135px 110px 90px;
  width: 53%;
  position: relative;
}
#main .ebook .imgBox .textBox:after {
  width: 9999px;
  height: 100%;
  background-color: #f2f2f2;
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  z-index: -1;
}
#main .ebook .imgBox .textBox p {
  margin-bottom: 31px;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 1px;
}
#main .ebook .imgBox .textBox .headLine01 {
  margin-bottom: 19px;
}
#main .ebook .imgBox .photo {
  margin: -370px 360px 0 58%;
  float: left;
  position: relative;
  border: #e1e1e1 1px solid;
  width: 210px;
}
#main .recruit .content {
  max-width: 1120px;
}
#main .recruit .imgBoxR {
  position: relative;
}
#main .recruit .photo {
  margin: -290px 0 0 10px;
  float: left;
  position: relative;
}
#main .recruit .link {
  width: 610px;
}
#main .recruit .link a {
  display: block;
  overflow: hidden;
  position: relative;
}
#main .recruit .link .sub {
  position: absolute;
  top: 43%;
  left: 0;
  width: 100%;
  text-align: center;
  transform: translateY(-50%);
}
#main .recruit .link p {
  margin-bottom: 5px;
  font-size: 1.6rem;
  color: #e60012;
  font-weight: bold;
}
#main .recruit .link .txtSpan {
  display: inline-block;
  font-size: 1.6rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
  min-width: 100px;
  padding: 1px 10px;
  box-sizing: border-box;
  background-color: #e60012;
}
#main .recruit .textBox {
  padding: 60px 0 40px 195px;
  width: 430px;
  min-height: 300px;
  float: right;
  position: relative;
}
#main .recruit .textBox:after {
  width: 9999px;
  height: 100%;
  background-color: #f2f2f2;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  z-index: -1;
}
#main .recruit .textBox .headLine01 {
  text-align: left;
  background-position: left bottom;
}
#main .recruit .textBox p {
  font-size: 1.8rem;
  line-height: 2;
}
#main .recruit .imgBoxR .link02 {
  position: absolute;
  left: 180px;
  top: 320px;
}
#main .recruit {
  margin-bottom: 220px;
}
#main {
  overflow: hidden;
}
@media all and (min-width: 768px) {
  #main .recruit .link img {
    transition: 0.5s;
  }
  #main .recruit .link a:hover img {
    transform: scale(1.1);
  }
}
@media all and (max-width: 767px) {
#main .explanation p {
	margin-right: 0px;
}
  #main .jsBox .fooUl li {
    background-image: url("../img/index/sp_top_slide_01.jpg");
  }
  #main .jsBox .fooUl .liStyle02 {
    background-image: url("../img/index/sp_top_slide_03.jpg");
  }
  #main .jsBox .fooUl .liStyle03 {
    background-image: url("../img/index/sp_top_slide_02.jpg");
  }
  #main .jsBox .fooUl .liStyle04 {
    background-image: url("../img/index/sp_top_slide_04.jpg");
  }
  #main .jsBox .fooUl li .textImg {
    top: 48%;
  }
  .slick-slide img.pc {
    display: none !important;
  }
  #main .jsBox .fooUl li .textImg span {
    width: auto;
    margin: 0 6vw;
  }
  #main .jsBox .scroll {
    display: none;
  }
  #main .explanation p {
    margin-top: calc(9 / 320 * 100vw);
    padding: 0 calc(5 / 320 * 100vw);
    font-size: calc(10 / 320 * 100vw);
  }
  #main .company {
    /*padding: 12vw 0 9vw;*/
    padding: calc(24 / 320 * 100vw) 0 9vw;
  }
  #main .company .comLinkList:after {
    height: 110vw;
    top: 71vw;
  }
  #main .txt {
    margin-bottom: 3.5vw;
    font-size: 4.375vw;
    text-align: left;
  }
  #main .work {
    margin-bottom: 10.5vw;
    width: auto;
  }
  #main .work .ttlBox {
    padding: 11.5vw 2vw 2.4vw;
    margin-bottom: 0;
    margin: 0 6.25vw 1.5vw;
    background-color: #fff;
  }
  #main .work .headLine01 {
    text-align: center;
    background-position: center bottom;
  }
  #main .work .txt02 {
    margin: 0 13vw 1.3vw;
    font-size: 4.375vw;
  }
  #main .listBox .liStyle {
    position: relative;
    top: auto;
    right: auto;
  }
  #main .work::after {
    display: none;
  }
  #main .work .headLine01 .dancing {
    margin-bottom: 1.2vw;
  }
  #main .listBox {
    margin: 0 6.35vw;
  }
  #main .careerBox .content {
    padding: 0;
  }
  #main .careerBox .imgBox .textBox {
    padding: 10vw 6vw 27vw;
    width: auto;
    background-color: #f2f2f2;
  }
  #main .careerBox .imgBox .textBox::after {
    display: none;
  }
  #main .careerBox .imgBox .textBox .headLine01 {
    text-align: center;
    background-position: center bottom;
  }
  #main .careerBox .imgBox .textBox p {
    margin-bottom: 4.5vw;
    font-size: 4.375vw;
  }
  #main .careerBox .imgBox .photo {
    margin: -14.5vw 6.25vw 0;
    float: none;
    width: auto;
    position: relative;
    text-align: center;
  }
  #main .careerBox {
    margin-bottom: 10vw;
  }
  #main .special .txt02 {
    margin-bottom: 4vw;
    padding-top: 2vw;
    font-size: 4.375vw;
    text-align: left;
  }
  #main .special .comLinkList02 .content {
    padding: 0;
  }
  #main .special {
    margin-bottom: 12vw;
  }
  #main .ebook .content {
    padding: 0;
  }
  #main .ebook .imgBox .textBox {
    padding: 10vw 6vw 50vw;
    width: auto;
    background-color: #f2f2f2;
  }
  #main .ebook .imgBox .textBox::after {
    display: none;
  }
  #main .ebook .imgBox .textBox .headLine01 {
    text-align: center;
    background-position: center bottom;
  }
  #main .ebook .imgBox .textBox p {
    margin-bottom: 4.5vw;
    font-size: 4.375vw;
  }
  #main .ebook .imgBox .photo {
    margin: 0 auto;
    text-align: center;
    float: none;
    width: 52vw;
    position: relative;
    margin-top: -20vh;
  }
  #main .ebook {
    margin-bottom: 10vw;
  }
  #main .recruit .content {
    padding: 0;
  }
  #main .recruit .textBox {
    width: auto;
    min-height: inherit;
    float: none;
    padding: 12vw 6.25vw 61.5vw;
    background-color: #f2f2f2;
  }
  #main .recruit .textBox::after {
    display: none;
  }
  #main .recruit .textBox .headLine01 {
    margin-bottom: 8vw;
    text-align: center;
    background-position: center bottom;
    line-height: 1.2;
  }
  #main .recruit .photo {
    margin: -49vw 6.25vw 6vw;
    float: none;
  }
  #main .recruit .textBox p {
    margin-bottom: 4.2vw;
    font-size: 4.375vw;
  }
  #main .recruit .link {
    width: auto;
  }
  #main .recruit .link img {
    width: 100%;
  }
  #main .recruit .link p {
    margin-bottom: 0.5vw;
    font-size: 3.75vw;
  }
  #main .recruit .link .txtSpan {
    font-size: 3.75vw;
    min-width: 20.6vw;
  }
  #main .recruit .link .sub {
    top: 49%;
  }
  #main .recruit .imgBoxR .link02 {
    margin: 0 6.25vw;
    position: relative;
    left: auto;
    top: auto;
  }
  #main .recruit {
    margin-bottom: 12vw;
  }
}
@media all and (-ms-high-contrast: none) {
  #main .recruit .link .txtSpan {
    padding-top: 4px;
    padding-bottom: 0;
  }
}

#main .newsBox {
	padding: 16px 0 21px;
}
#main .newsBox .content {
	/*max-width: 920px;*/
	max-width: 510px;
	display: flex;
	justify-content: space-between;
}
#main .newsBox .headLine01 {
	padding-top: 5px;
	width: 96px;
	font-size: 1.6rem;
	text-align: left;
	line-height: 1.125;
	background: none;
	flex-shrink: 0;
	letter-spacing: 0.8px;
}
#main .newsBox .headLine01 .dancing {
	margin-bottom: 3px;
	letter-spacing: 0;
}
#main .newsBox ul {
	padding: 4px 0 2px 27px;
	border-left: 1px dashed #000;
}
#main .newsBox ul li:not(:last-child) {
	margin-bottom: 15px;
}
#main .newsBox .date {
	margin-bottom: 1px;
	font-size: 1.4rem;
	color: #e60012;
	letter-spacing: 0.7px;
}
#main .newsBox .text {
	font-size: 1.5rem;
	line-height: 1.6;
}
#main .newsBox .text a {
	border-bottom: 1px solid #000;
}
@media all and (min-width: 768px) {
	#main .newsBox .text a:hover {
		border-color: #fff;
	}
}
@media all and (max-width: 767px) {
	#main .newsBox {
		padding: 1.563vw 0 3.125vw;
	}
	#main .newsBox .content {
		display: block;
		max-width: inherit;
	}
	#main .newsBox .headLine01 {
		margin-bottom: 3.8vw;
		padding-bottom: 0;
		font-size: 4.375vw;
		width: auto;
	}
	#main .newsBox .headLine01 .dancing {
		margin-bottom: 1.563vw;
		font-size: 5.625vw;
	}
	#main .newsBox ul {
		padding: 3.75vw 0 0;
		border: none;
		border-top: 1px dashed #000;
	}
	#main .newsBox ul li:not(:last-child){
		margin-bottom: 4.063vw;
	}
	#main .newsBox .date {
		margin-bottom: 0.938vw;
		font-size: 3.75vw;
		letter-spacing: 0.156vw;
	}
	#main .newsBox .text {
		font-size: 4.063vw;
		line-height: 1.46;
	}
}