@charset 'utf-8';
@media all and (max-width: 640px){/* Sp ***************/



/* Index */
/***** Index About 01 *****/
.boxIndexAbout01Wrap {
  min-height: auto;
  margin-top: 0;
  background-image: none;
}
.boxIndexAbout01 {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: 0;
}
.boxIndexAbout01 .boxImg {
  display: block;
}
.boxIndexAbout01 .imgIndexAbout01 {
  margin-bottom: 10%;
}
.boxIndexAbout01 .imgIndexAbout02 {
  margin-bottom: 10%;
}
.boxIndexAbout0101 {
  position: relative;
  padding-top: 116.9%;
  background-image: url('./../../images_sp/index/sp-index-about01-bg01.jpg');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
}
.boxIndexAbout0101 .ttl {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: 0;
  text-align: center;
  letter-spacing: normal;
  font-size: 4.8vw;
}
.boxIndexAbout0101 .btn01IndexAbout01 {
  position: absolute;
  bottom: 11%;
  left: 50%;
  right: auto;
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 90%;
  margin: auto;
}

/****************/
.boxIndex02Wrap{
  overflow: hidden;
  background-image: url('./../../images/index/index02-bg.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.boxIndex02{
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 10% 5%;
  text-align: center;
}
.boxIndex02 ul{
  display: table-cell;
  width: 100%;
  vertical-align: middle;
  text-align: center;
}
.boxIndex02 ul li{
  display: inline-block;
  margin: 0;
  margin-bottom: 5%;
}
.boxIndex02 .imgIndex02BnRecruit {
  width: 100%;
}
.boxIndex02.col2 .imgIndex02BnRecruit {
  width: 100%;
}
.boxIndex02.col2 .liIndex02Recruit {
  margin-bottom: 0;
}
.boxIndex02 .imgIndex02BnEntry {
  width: 100%;
}
.boxIndex02.col2 .imgIndex02BnEntry {
  width: 100%;
}
.boxIndex02 .imgIndex02BnDoc {
  width: 100%;
  margin-bottom: 0;
}
.boxIndex02.col2 .liIndex02Download {
  display: none;
}
/****************/
.boxIndex03Wrap{
  margin-bottom: 15%;
  background-image: url('./../../images_sp/index/sp-index03-bg.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
.boxIndex03{
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding-top: 49.6%;
  text-align: center;
}
.boxIndex03In{
  display: block;
  width: 100%;
  padding-top: 10%;
  padding-bottom: 0;
  vertical-align: middle;
}
.boxIndex03In .txtNumber{
  display: inline-block;
  width: 100%;
  margin-bottom: 5%;
  line-height: 1.0;
  letter-spacing: 0.03em;
  font-size: 5.0rem;
  font-size: 17.0vw;
}
.boxIndex03In .ttl{
  display: inline-block;
  width: 100%;
  margin-bottom: 8%;
  padding-bottom: 7%;
  background-image: url('./../../images_sp/index/sp-index03-border.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 36%;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-size: 2.5rem;
  font-size: 7.5vw;
}
.boxIndex03In .boxCom01{
  margin-bottom: 7%;
  line-height: 1.1;
  letter-spacing: 0.05em;
  font-size:1.8rem;
  font-size: 6.5vw;
}
.boxIndex03In .txt01,
.boxIndex03In .txt02{
  display: inline-block;
}
.boxIndex03In .txt01{
  margin-bottom: 4%;
}
.boxIndex03In .boxCom02{
  margin-bottom: 10%;
}
.boxIndex03In .boxCom02 p{
  line-height: 1.75;
  letter-spacing: 0.18em;
  font-size: 1.3rem;
  font-size: 4.5vw;
}
.boxIndex03In .boxCom03{
  margin-bottom: 7%;
}
.boxIndex03In .boxCom03 .txt01{
  display: inline-block;
  padding: 0 1.2em;
  background-image: url('./../../images/index/index03-icn-arrow01.png'), url('./../../images/index/index03-icn-arrow01.png');
  background-repeat: no-repeat, no-repeat;
  background-position: left center, right center;
  background-size: 5% auto, 5% auto;
  font-size: 1.8rem;
  font-size: 5.0vw;
}
.boxIndex03In .ul01{
}
.boxIndex03In .ul01 li{
  display: inline-block;
  width: 100%;
  margin: 0;
  margin-bottom: 8%;
}
.boxIndex03In .ul01 li:last-child {
  margin-bottom: 0;
}
/*
.boxIndex03In .ul01 li a{
  display: inline-block;
  width: 90%;
  padding: 3% 0;
  border: 5px #ce0000 solid;
  background-image: url('./../../images/index/index03-icn-arrow02.png'), url('./../../images/index/index03-border02.png');
  background-repeat: no-repeat, no-repeat;
  background-position: 93% center, center 85%;
  background-size: 3% auto, 85% auto;
  letter-spacing: 0.1em;
  font-size: 1.55rem;
  font-size: 6.0vw;
}
*/
.boxIndex03In .ul01{
  width: 90%;
  margin: 0 auto;
}














.boxIndex05Wrap{
  margin-bottom: 25%;
  background-image: url('./../../images_sp/index/sp-index05-bg.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
.boxIndex05{
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding-top: 42.6%;
  text-align: center;
}
.boxIndex05In{
  display: block;
  width: 100%;
  vertical-align: middle;
}
.boxIndex05InCont{
  position: relative;
  width: 90%;
  height: auto;
  margin: 0 auto;
  margin-top: -8%;
  padding: 0;
  padding-top: 56%;
  background-image: url('./../../images_sp/index/sp-index05-bg02.png');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  box-shadow: 1px 1px 30px rgba(0,0,0,0.4);
}
.imgIndex05InCont01{
  display: none;
}
.boxIndex05InContLR{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}
.boxIndex05InContL{
  float: right;
  width: 45%;
  padding: 14% 2% 0 0;
  vertical-align: middle;
}
.boxIndex05InContL .txtNumber{
  display: inline-block;
  width: 100%;
  margin-bottom: 8%;
  line-height: 1.0;
  letter-spacing: 0.1em;
  font-size: 4.4rem;
  font-size: 10.0vw;
}
.boxIndex05InContL .ttl{
  display: inline-block;
  width: 100%;
  margin-bottom: 8%;
  padding-bottom: 8%;
  background-image: url('./../../images/index/index05-border.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 75% auto;
  line-height: 1.0;
  letter-spacing: 0.05em;
  font-size: 2.0rem;
  font-size: 6.0vw;
}
.boxIndex05InContL .boxCom01{
  margin-bottom: 5px;
}
.boxIndex05InContL .boxCom01 p{
  display: inline-block;
  line-height: 1.0;
  letter-spacing: 0.16em;
  font-size: 1.45rem;
  font-size: 5.5vw;
}
.boxIndex05InContL .boxCom02 p{
  line-height: 1.5;
  letter-spacing: 0.06em;
  font-size: 1.0rem;
  font-size: 3.8vw;
}
.boxIndex05InContR{
  float: left;
  width: 55%;
  padding: 5% 3% 0 6%;
  vertical-align: middle;
}
.boxIndex05InContR .ttl2{
  margin-bottom: 5%;
  text-align: justify;
  letter-spacing: -0.05em;
  font-size: 4.0vw;
  font-weight: bold;
  color: #000;
}
.boxIndex05InContR .boxCom03{
  margin-bottom: 5%;
  letter-spacing: -0.05em;
  text-align: justify;
  line-height: 1.5;
  font-size: 3.4vw;
  color: #000;
}
/*
.boxIndex05InContR .txtNumber{
  display: inline-block;
  width: 100%;
  margin-bottom: 3%;
  line-height: 1.0;
  letter-spacing: 0.1em;
  font-size: 4.4rem;
  font-size: 10.0vw;
}
.boxIndex05InContR .ttl{
  display: inline-block;
  width: 100%;
  margin-bottom: 7%;
  padding-bottom: 7%;
  background-image: url('./../../images/index/index05-border.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  line-height: 1.0;
  letter-spacing: 0.05em;
  font-size: 2.0rem;
  font-size: 6.0vw;
}
.boxIndex05InContR .boxCom01{
  margin-bottom: 5px;
}
.boxIndex05InContR .boxCom01 p{
  display: inline-block;
  line-height: 1.0;
  letter-spacing: 0.16em;
  font-size: 1.45rem;
  font-size: 5.5vw;
}
.boxIndex05InContR .boxCom02 p{
  line-height: 1.5;
  letter-spacing: 0.18em;
  font-size: 1.0rem;
  font-size: 4.0vw;
}
*/
.linkIndex05Btn{
  position: absolute;
  bottom: -17%;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  display: inline-block;
  width: 70%;
  padding: 3% 0;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.15rem;
  font-size: 4.5vw;
}

.boxIndex06Wrap{
  margin-bottom: 20%;
  background-image: url('./../../images_sp/index/sp-index06-bg.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
}
.boxIndex06{
  display: table;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding-top: 42.6%;
  text-align: center;
}
.boxIndex06In{
  display: table-cell;
  width: 100%;
  vertical-align: middle;
}
.boxIndex06InCont{
  position: relative;
  width: 90%;
  height: auto;
  margin: 0 auto;
  margin-top: -8%;
  padding: 0;
  padding-top: 56.0622914%;
  background-image: url('./../../images_sp/index/sp-index06-bg02.png');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  box-shadow: -1px -1px 30px rgba(0,0,0,0.4);
}
.imgIndex06InCont01{
  display: none;
}
.boxIndex06InContLR{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}
.boxIndex06InContL{
  float: left;
  width: 45%;
  padding: 5% 0 0 3%;
  vertical-align: middle;
}
.boxIndex06InContL .txtNumber{
  display: inline-block;
  width: 100%;
  margin-bottom: 8%;
  line-height: 1.0;
  letter-spacing: 0.1em;
  font-size: 4.4rem;
  font-size: 10.0vw;
}
.boxIndex06InContL .ttl{
  display: inline-block;
  width: 100%;
  margin-bottom: 8%;
  padding-bottom: 8%;
  background-image: url('./../../images/index/index05-border.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  line-height: 1.0;
  letter-spacing: 0.05em;
  font-size: 2.0rem;
  font-size: 6.0vw;
}
.boxIndex06InContL .boxCom01 p{
  display: inline-block;
  line-height: 1.0;
  letter-spacing: 0.16em;
  font-size:1.45rem;
  font-size: 5.5vw;
}
.boxIndex06InContL .boxCom02 p{
  line-height: 1.5;
  letter-spacing: 0.18em;
  font-size: 1.0rem;
  font-size: 4.0vw;
}

.boxIndex06InContR{
  float: right;
  width: 55%;
  padding: 5% 5% 0 5%;
  vertical-align: middle;
}
.boxIndex06InContR .ttl2{
  margin-bottom: 3%;
  text-align: right;
}
.boxIndex06InContR .boxCom03{
  margin-bottom: 5%;
  letter-spacing: normal;
  text-align: justify;
  font-size: 3.8vw;
}
.linkIndex06Btn{
  position: absolute;
  bottom: -13%;
  left: 50%;
  transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  display: inline-block;
  width: 70%;
  padding: 3% 0;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.15rem;
  font-size: 4.5vw;
}

/***** Index07 *****/
.boxIndex07Wrap {
  margin-bottom: 0;
}
.boxIndex07Wrap .ttl {
  margin-bottom: 7%;
  background-image: none;
  text-align: center;
}
.boxIndex07 {
  display: block;
}
.boxIndex07One {
  width: 100%;
}
.boxIndex07One .boxImg {
  margin-bottom: 5%;
}
.boxIndex07One .boxBaseCom {
  margin-bottom: 10%;
  letter-spacing: 0.05em;
  font-size: 0.98rem;
  font-size: 4.0vw;
  font-weight: 700;
}

/***** Index08 *****/
.boxIndex08Wrap {
  margin-bottom: 10%;
}








}/* /Sp ****************/
