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



/* Index */
.boxIndexTopWrap {
  margin-top: 0;
  margin-bottom: 7vw;
}
.boxIndexTop{
  position: relative;
}
.boxIndexTop .ulTopSlide{
  display: block;
  position: relative;
  overflow: hidden;
  height: auto;
  padding-top: 128.3%;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center top;
}
.boxIndexTop .ulTopSlide li{
  display: none;
  position: absolute;
  top: 0; /*50%;*/
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
}
.boxIndexTop .ulTopSlide li.current{
  display: block;
}
.boxIndexTop .ulTopSlide li.liInterview .icnIndexSliderMovie01 {
  position: absolute;
  top: auto;
  bottom: 2vw;
  left: 2vw;
  transform: none;
  -ms-transform: none;
  width: 32%;
  height: auto;
  cursor: pointer;
}
.boxIndexTop .ulTopSlide li img{
  position: absolute;
  top: 0;/* 50%;*/
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: none;
  height: auto;
}
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0201,
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0202 {
  position: absolute;
  bottom: 7vw;
  top: auto;
  left: 50%;
  transform: none;
  -ms-transform: none;
  width: 41%;
  height: auto;
}
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0201 {
  left: 5%;
  transform: translateX(-182%);
  -ms-transform: translateX(-182%);
  transform: none;
  -ms-transform: none;
}
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0202 {
  left: auto;
  right: 5%;
  transform: translateX(-75%);
  -ms-transform: translateX(-75%);
  transform: none;
  -ms-transform: none;
}

/****************/
.boxIndex01Wrap{
  display: none;
  position: relative;
  z-index: 10;
  margin-top: -73px;
}
/****************/
.boxIndexBanner {
  margin-bottom: 15%;
}
.boxIndexBanner .ttl {
  margin-bottom: 7%;
  background-image: url('./../../images_sp/index/sp-index-top-bn-ttl-border01.png');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 1px;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 7.0vw;
}
.boxIndexBanner .ttl > span {
  display: inline-block;
  background-color: #fff;
}
.boxIndexBanner01,
.boxIndexBanner02 {
  margin-bottom: 12%;
  padding: 0;
}
.boxIndexBanner03 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-bottom: 2%;
}
.boxIndexBanner03 a {
  width: 48%;
  margin-right: 4%;
  margin-bottom: 4%;
}
.boxIndexBanner03 a:nth-child(2n) {
  margin-right: 0;
}
.boxIndexBanner04 .dl01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  text-align: center;
}
.boxIndexBanner04 .dl01 > dt {
  width: 30%;
  padding-top: 26.7%;
  background-image: url('./../../images_sp/index/sp-index-top-bn-bg01.png');
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 100% auto;
  line-height: 1.3;
  font-size: 4.2vw;
}
.boxIndexBanner04 .dl01 > dt > span {
  display: block;
  margin-top: -81%;
  padding-left: 10%;
  text-align: left;
}
.boxIndexBanner04 .dl01 > dd {
  width: 70%;
  padding: 4.0% 0 0 0;
  border: 1px #e51600 solid;
  line-height: 1.3;
}
.boxIndexBanner04 .dl01 > dd .linkBaseTelno {
  display: block;
  width: 100%;
  font-size: 7.3vw;
}
.boxIndexBanner04 .dl01 > dd .txtReceptiontime {
  display: block;
  width: 100%;
}


/***** Index About 01 *****/
/*
.boxIndexAbout01Wrap {
  position: relative;
  min-height: auto;
  padding-top: 75%;
  background-image: url('./../../images_sp/index/sp-index-about01-bg01.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}
.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;
}


/***** Index08 *****/
.boxIndex08Wrap {
  margin-bottom: 12%;
}
.boxIndex08Sp {
  margin-bottom: 5%;
  /*padding-bottom: 7%;
  background-image: url(./../../images_sp/index/sp-index08-bg01.png);
  background-repeat: no-repeat;
  background-position: center 7.5vw;
  background-size: 94% auto;
  */
  text-align: center;
  /*font-size: 6.5vw;*/
}
.boxIndex08Sp img {
  width: 80%;
}

/***** Index Blog *****/

/*
.boxIndexBlog .boxList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin-bottom: 7%;
}
.boxIndexBlog .boxListOne {
  width: 48%;
  margin-right: 4%;
}
.boxIndexBlog .boxListOne:nth-child(2n) {
  margin-right: 0;
}
*/


.boxIndexBlog .boxListOne .boxMeta {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-bottom: 5%;
}
.boxIndexBlog .boxListOne .ulListCat {
  width: 45%;
}
.boxIndexBlog .boxListOne .ulListCat li {
  display: inline-block;
  width: 100%;
  padding: 1.5vw 2%;
  text-align: center;
  line-height: 1.0;
  font-size: 3.0vw;
}
.boxIndexBlog .boxListOne .boxDate {
  width: 55%;
  align-self: center;
  padding-left: 3%;
  font-size: 3.0vw;
}

.boxIndexBlog .boxListOne .ttlList {
  font-size: 3.8vw;
}
.boxIndexBlog .boxListOne .ttlList img {
  width: 4%;
  margin-left: 3%;
}
.boxIndexBlogR .btnToArchive {
  display: block;
  width: 80%;
  margin: 0 auto;
}
.boxIndexBlogR .boxBlogSlide{
  margin: 0;
}
.boxIndexBlogR .boxBlogSlide .boxSlideOne{
  padding-top: 0.5%;
}



/***** Index Album *****/
/*
.boxIndexAlbumWrap {
  min-height: 100vw;
  background-image: url('./../../images_sp/index/sp-index-album-bg01.png');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  padding: 6% 0 10% 0;
}
.boxIndexAlbum .ttl {
  margin-bottom: 11%;
  text-align: center;
  font-size: 10.0vw;
  letter-spacing: 0.07em;
}
.boxIndexAlbum .ttl .small {
  font-size: 8.0vw;
}
.boxIndexAlbum .ttl .small01 {
  font-size: 7.0vw;
}
.boxIndexAlbum .boxImg {
  margin-bottom: 10%;
}
*/
/* /Index */



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