@charset 'utf-8';

/* Index */
.boxIndexTopWrap{
  /*margin-top: -113px;*/
}
.boxIndexTop{
  position: relative;
}

.boxIndexTop .boxIndexMv {
  overflow: hidden;
  position: relative;
  height: 461px;
}
@media all and (max-width: 640px){
  .boxIndexTop .boxIndexMv {
    overflow: hidden;
    position: relative;
    height: auto;
    padding-top: 109.9%;
  }
}

.boxIndexTop .boxIndexMv iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  height: 595px;/*461px;*//*661px;*/
  /*margin-top: -100px;*/
}
@media all and (max-width: 640px){
  .boxIndexTop .boxIndexMv iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    width: 271%;
    max-width: none;
    height: 190%;
  }
}

.boxIndexTop .boxIndexMv .indexMvCover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4);
}

.boxIndexTop .boxIndexMv .mvIndex01 {
  position: absolute;
  top: 0;
  left: 50%;
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  /*opacity: 0.5;*/
  width: auto;
  max-width: none;
  height: 100%;
}
@media all and (max-width: 640px){
  .boxIndexTop .boxIndexMv .mvIndex01 {
    position: absolute;
    top: 0;
    left: 0;
    -ms-transform: none;
    transform: none;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}

.boxIndexTop .ulTopSlide{
  display: block;
  position: relative;
  overflow: hidden;
  height: 461px;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center top;
}
.boxIndexTop .ulTopSlide li{
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  height: 100%;
}
.boxIndexTop .ulTopSlide li.current{
  display: block;
}
.boxIndexTop .ulTopSlide li.liInterview .icnIndexSliderMovie01 {
  position: absolute;
  top: 134px;
  left: 50%;
  transform: translateX(-150%);
  -ms-transform: translateX(-150%);
  width: 215px;
  height: auto;
  cursor: pointer;
}
.boxIndexTop .ulTopSlide li img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  max-width: none;
  height: 100%;
}
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0201,
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0202 {
  position: absolute;
  bottom: 30px;
  top: auto;
  left: 50%;
  transform: none;
  -ms-transform: none;
  width: 286px;
  height: auto;
}
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0201 {
  transform: translateX(-182%);
  -ms-transform: translateX(-182%);
}
.boxIndexTop .ulTopSlide li.liExperience .btnIndexSlider0202 {
  transform: translateX(-75%);
  -ms-transform: translateX(-75%);
}

.boxIndexTop .boxTopSliderBtn {
  position: absolute;
  bottom: 120px;
  left: 50%;
  transform: translateX(1210%);
  -ms-transform: translateX(1210%);
}
@media all and (max-width: 640px){
  .boxIndexTop .boxTopSliderBtn{
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}

.boxIndexTop .boxTopSliderBtn li {
  display: inline-block;
  border-radius: 0;
  border: 1px #1a1a5e solid;
  width: 12px;
  height: 12px;
  margin: 0 4px;
  cursor: pointer;
}
@media all and (max-width: 640px){
  .boxIndexTop .boxTopSliderBtn li {
    width: 4vw;
    height: 4vw;
    margin: 0 1.5vw;
  }
}

.boxIndexTop .boxTopSliderBtn li.current {
  background-color: #1a1a5e;
}



.boxSlideRecInfo {
  position: absolute;
  z-index: 2;
  top: 248px;
  left: 50%;
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 1040px;
  text-align: left;
}
@media all and (max-width: 640px){
  .boxSlideRecInfo {
    top: 0;
    left: 0;
    -ms-transform: none;
    transform: none;
    width: 100%;
    height: 100%;
    padding: 83vw 7vw 0 7vw;
  }
}

.boxSlideRecCatPlace {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 17px;
}
@media all and (max-width: 640px){
  .boxSlideRecCatPlace {
    margin-bottom: 0;
  }
}

.boxSlideRecCatPlace .txtCat {
  letter-spacing: 0.06em;
  font-size: 3.9rem;
  font-weight: 700;
  color: #fff44f;
}
@media all and (max-width: 640px){
  .boxSlideRecCatPlace .txtCat {
    letter-spacing: 0.08em;
    font-size: 7.5vw;
    line-height: 1.3;
  }
}

.boxSlideRecCatPlace .txtCat:after {
  content: '/';
  margin: 0 0.2em;
  font-size: 3.5rem;
  font-weight: 400;
}
@media all and (max-width: 640px){
  .boxSlideRecCatPlace .txtCat:after {
    content: '/';
    font-size: 7.5vw;
  }
}

.boxSlideRecCatPlace .txtPlace {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  width: 410px;
  padding: 0.45em 0 0 0;
}
@media all and (max-width: 640px){
  .boxSlideRecCatPlace .txtPlace {
    width: 54vw;
  }
}

.boxSlideRecCatPlace .txtPlace > span {
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 0.3em;
  margin-right: 0.3em;
  padding: 0.26em 0.47em;
  background-color: #fff44f;
  font-size: 2.2rem;
  font-weight: 700;
  color: #1a1a5e;
}
@media all and (max-width: 640px){
  .boxSlideRecCatPlace .txtPlace > span {
    margin-right: 0.25em;
    padding: 0.25em 0.47em;
    line-height: 1.0;
    font-size: 4.3vw;
  }
}

.boxSlideRecComment {
  letter-spacing: 0.03em;
  font-size: 3.0rem;
  font-weight: 700;
  color: #fff44f;
}
@media all and (max-width: 640px){
  .boxSlideRecComment {
    line-height: 1.4;
    letter-spacing: 0.1em;
    font-size: 5.5vw;
    font-weight: 700;
    color: #fff44f;
  }
}



.boxIndexRecruitWrap {
  padding: 25px 0 30px 0;
}
@media all and (max-width: 640px){
  .boxIndexRecruitWrap {
    padding: 0 0 7vw 0;
  }
}

.boxIndexRecruit .ttl01 {
  margin-bottom: 35px;
  text-align: center;
  color: #1a1a5e;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .ttl01 {
    margin-bottom: 7vw;
  }
}

.boxIndexRecruit .ttl01 > span {
  position: relative;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  padding-bottom: 10px;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .ttl01 > span {
    padding-bottom: 3vw;
    line-height: 1.0;
  }
}

.boxIndexRecruit .ttl01 > span:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 97%;
  height: 4px;
  margin: auto;
  background-color: #3a99e6;
}

.boxIndexRecruit .ttl01 > span .ttlEn {
  margin-right: 28px;
  letter-spacing: 0.05em;
  font-style: italic;
  font-size: 3.6rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .ttl01 > span .ttlEn {
    margin-right: 4vw;
    font-size: 7.0vw;/*1.8rem;*/
  }
}

.boxIndexRecruit .ttl01 > span .ttlEn:first-letter {
  font-size: 5.0rem;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .ttl01 > span .ttlEn:first-letter {
    font-size: 11.0vw;/*3.0rem;*/
  }
}

.boxIndexRecruit .ttl01 > span .ttlJa {
  padding-top: 17px;
  letter-spacing: 0.13em;
  font-size: 1.4rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .ttl01 > span .ttlJa {
    padding-top: 4vw;
    letter-spacing: 0.1em;
    font-size: 4.5vw;/*1.2rem;*/
  }
}

.boxIndexRecruit .boxList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .boxList {
    display: block;
  }
}

.boxIndexRecruit .boxListOne {
  width: 31.4%;
  margin-right: 2.9%;
  margin-bottom: 31px;
  padding: 7px 7px 0 7px;
  background-color: #fff44f;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .boxListOne {
    width: 100%;
    margin-right: 0;
    margin-bottom: 5vw;
    padding: 3vw 3vw 0 3vw;
  }
}

.boxIndexRecruit .boxListOne:nth-child(3n) {
  margin-right: 0;
}

.boxIndexRecruit .boxListOne a {
  display: block;
}

.boxIndexRecruit .boxListOne .boxChkImg {
  height: 190px;
}

.boxIndexRecruit .boxListOne .ttlList {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  min-height: 60px;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.03em;
  font-style: italic;
  font-size: 1.6rem;/*1.8rem;*/
  font-weight: 700;
  color: #1a1a5e;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .boxListOne .ttlList {
    min-height: 16vw;
    font-size: 6.0vw;
  }
}

.boxIndexRecruit .boxListOne .ttlList > span {
  display: inline-block;
  padding-right: 48px;
  background-image: url('./../../images/index/index-recruit-icn-arrow01.png');
  background-repeat: no-repeat;
  background-position: 99% center;
  background-size: auto auto;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .boxListOne .ttlList > span {
    padding-right: 10vw;
    background-size: 6vw auto;
  }
}

.boxIndexRecruit .boxLink {
  padding-top: 4px;
  text-align: right;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .boxLink {
    padding-top: 2vw;
  }
}

.boxIndexRecruit .boxLink a {
  padding: 0.1em 0 0.1em 1.2em;
  background-image: url('./../../images/index/index-recruit-icn-arrow02.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto auto;
  letter-spacing: 0.06em;
  font-size: 1.2rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexRecruit .boxLink a {
    background-size: 3.5vw auto;
    font-size: 4.5vw;
  }
}


.boxIndexQuestionaryWrap {
  padding: 31px 0 30px 0;
  background-color: #f5f5f5;
}
@media all and (max-width: 640px){
  .boxIndexQuestionaryWrap {
    padding: 8vw 0 7vw 0;
  }
}

.boxIndexQuestionary .ttl01 {
  margin-bottom: 27px;
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ttl01 {
    margin-bottom: 5vw;
  }
}

.boxIndexQuestionary .boxBaseCom {
  text-align: center;
  line-height: 1.6;
  font-size: 1.3rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .boxBaseCom {
    font-size: 4.2vw;
  }
}

.boxIndexQuestionary .ul01 {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 {
    display: block;
  }
}

.boxIndexQuestionary .ul01 > li {
  margin-bottom: 20px;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 > li {
    margin-bottom: 5vw;
  }
}

.boxIndexQuestionary .ul01 > li:nth-child(1),
.boxIndexQuestionary .ul01 > li:nth-child(2) {
  width: 48.5%;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 > li:nth-child(1),
  .boxIndexQuestionary .ul01 > li:nth-child(2) {
    width: 100%;
  }
}

.boxIndexQuestionary .ul01 > li:nth-child(1) {
  margin-right: 3%;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 > li:nth-child(1) {
    margin-right: 0;
  }
}

.boxIndexQuestionary .ul01 > li:nth-child(3),
.boxIndexQuestionary .ul01 > li:nth-child(4),
.boxIndexQuestionary .ul01 > li:nth-child(5) {
  width: 31.3%;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 > li:nth-child(3),
  .boxIndexQuestionary .ul01 > li:nth-child(4),
  .boxIndexQuestionary .ul01 > li:nth-child(5) {
    width: 100%;
  }
}

.boxIndexQuestionary .ul01 > li:nth-child(3),
.boxIndexQuestionary .ul01 > li:nth-child(4) {
  margin-right: 3.05%;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 > li:nth-child(3),
  .boxIndexQuestionary .ul01 > li:nth-child(4) {
    margin-right: 0;
  }
}

.boxIndexQuestionary .ul01 > li > a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 72px;
  background-color: #1a1a5e;
  font-size: 1.8rem;
  font-weight: 700;
  color: #fff;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 > li > a {
    -webkit-justify-content: left;
    justify-content: left;
    height: 15vw;
    padding-left: 5vw;
    font-size: 6.0vw;
  }
}

.boxIndexQuestionary .ul01 > li > a .txtNum {
  margin-right: 22px;
  font-style: italic;
  font-size: 2.7rem;
  color: #fff44f;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .ul01 > li > a .txtNum {
    margin-right: 4vw;
    font-size: 8.0vw;
  }
}

.boxIndexQuestionary .boxLink {
  padding-top: 15px;
  text-align: right;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .boxLink {
    padding-top: 2vw;
  }
}

.boxIndexQuestionary .boxLink a {
  padding: 0.1em 0 0.1em 1.2em;
  background-image: url('./../../images/index/index-questionary-icn-arrow01.png');
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto auto;
  letter-spacing: 0.06em;
  font-size: 1.2rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexQuestionary .boxLink a {
    background-size: 3.5vw auto;
    font-size: 4.5vw;
  }
}


.boxIndexBnWrap {
  margin-bottom: 25px;
}
@media all and (max-width: 640px){
  .boxIndexBnWrap {
    margin-bottom: 5vw;
  }
}

.boxIndexBn {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
@media all and (max-width: 640px){
  .boxIndexBn {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media all and (max-width: 640px){
  .boxIndexBn a {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 3vw;
  }
  .boxIndexBn a:nth-child(2n) {
    margin-right: 0;
  }
}

@media all and (max-width: 640px){
  .boxIndexBn img {
    width: 100%;
  }
}



.boxIndex01Wrap {
  position: relative;
  z-index: 10;
  margin-top: 0;
}
.boxIndex01{
  display: table;
  width: 980px;
  height: 75px;
  margin: 0 auto;
  background-image: url('./../../images/index/index01-img01.png'), url('./../../images/index/index01-arrow-icn.png');
  background-repeat: no-repeat, no-repeat;
  background-position: left center, right center;
  background-size: 137px auto, 9px auto;
}
.boxIndex01 p{
  display: table-cell;
  width: 100%;
  padding-left: 157px;
  vertical-align: middle;
  line-height: 1.3;
  letter-spacing: normal;
  font-size: 1.0rem;
}
.boxIndex01 p a{
  display: inline-block;
  width: 100%;
}
/****************/
.boxIndexBanner01 {
  padding: 20px 0;
  text-align: center;
}

/***** Index About 01 *****/
.boxIndexAbout01Wrap {
  position: relative;
  min-height: 630px;
  margin-bottom: 50px;
  background-image: url('./../../images/index/index-about01-bg01.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 630px;
}
@media all and (max-width: 640px){
  .boxIndexAbout01Wrap {
    min-height: auto;
    margin-bottom: 10vw;
    padding-top: 120%;
    background-image: url('./../../images_sp/index/sp-index-about01-bg01.jpg');
    background-size: 100% auto;
  }
}

.boxIndexAbout01 {
  position: relative;
  padding-top: 61px;
}
@media all and (max-width: 640px){
  .boxIndexAbout01 {
    /*
    position: static;
    padding-top: 0;*/
    position: absolute;
    top: 0;
    left: 50%;
    width: 90%;
    height: 100%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    /*padding-top: 100%;*/
    /**/
  }
}

.boxIndexAbout01 .ttl {
  margin-bottom: 25px;
  text-align: left;
  line-height: 1.45;
  letter-spacing: 0.1em;
  font-size: 3.2rem;
}
@media all and (max-width: 640px){
  .boxIndexAbout01 .ttl {
    display: none;
    margin-bottom: 5%;
    font-size: 8.0vw;
  }
}

.boxIndexAbout01 .boxBaseCom {
  margin-bottom: 73px;
  text-align: left;
  line-height: 1.75;
}
@media all and (max-width: 640px){
  .boxIndexAbout01 .boxBaseCom {
    position: absolute;
    top: 42%;
    left: 0;
    width: 100%;
    margin-bottom: 0;
    text-align: right;
    line-height: 1.5;
    font-weight: 700;
    font-size: 5.0vw;
    font-style: italic;
    color: #fff44f;
  }
  .boxIndexAbout01 .boxBaseCom .large {
    font-size: 6.5vw;
  }
}

.boxIndexAbout01Ceo {
  position: absolute;
  right: 0;
  top: 340px;
  text-align: right;
  letter-spacing: 0.07em;
}
@media all and (max-width: 640px){
  .boxIndexAbout01Ceo {
    right: auto;
    left: 6%;
    top: 22%;
    text-align: left;
  }
}

.boxIndexAbout01Ceo .boxJobPosi {
  margin-bottom: 10px;
  font-size: 1.17rem;
}
@media all and (max-width: 640px){
  .boxIndexAbout01Ceo .boxJobPosi {
    margin-bottom: 0;
    font-size: 2.5vw;
  }
}

.boxIndexAbout01Ceo .boxName {
  margin-bottom: 10px;
  font-size: 2.5rem;
}
@media all and (max-width: 640px){
  .boxIndexAbout01Ceo .boxName {
    margin-bottom: 0;
    font-size: 5.3vw;
  }
}

.boxIndexAbout01Ceo .boxNameEn {
  font-size: 1.0rem;
}
@media all and (max-width: 640px){
  .boxIndexAbout01Ceo .boxNameEn {
    font-size: 2.2vw;
  }
}

@media all and (max-width: 640px){
  .boxIndexAbout01 .boxCont01 {
    margin-bottom: 4%;
    padding-bottom: 7%;
    background-image: url('./../../images_sp/index/sp-index-about01-bg02.png');
    background-repeat: no-repeat;
    background-position: center 2.5vw;
    background-size: 94% auto;
    text-align: center;
    font-size: 4.5vw;
  }
  .boxIndexAbout01 .boxCont01 .txt01 {
    font-size: 5.0vw;
  }
}

@media all and (max-width: 640px){
  .boxIndexAbout01 .boxImgSp {
    position: absolute;
    top: 63%;
    left: 0;
    width: 100%;
    text-align: center;
  }
  .boxIndexAbout01 .boxImgSp img {
    width: 90%;
  }
}

.boxIndexAbout01 .boxLink {
  text-align: right;
}
@media all and (max-width: 640px){
  .boxIndexAbout01 .boxLink {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
  }
}
/****************/


.boxIndexMovieWrap {
  padding: 65px 0 85px 0;
}
@media all and (max-width: 640px){
  .boxIndexMovieWrap {
    padding: 7vw 0 7vw 0;
  }
}

.boxIndexMovie01 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
@media all and (max-width: 640px){
  .boxIndexMovie01 {
    display: block;
  }
}

.boxIndexMovie01L {
  width: 394px;
  height: 382px;
  padding-top: 120px;
  background-image: url('./../../images/index/index-movie-bg01.jpg');
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto auto;
}
@media all and (max-width: 640px){
  .boxIndexMovie01L {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 7vw;
    padding-top: 30%;
    background-image: url('./../../images_sp/index/sp-index-movie-bg01.jpg');
    background-size: 100% auto;
  }
}

.boxIndexMovie01L .ttl01 {
  text-align: center;
  color: #1a1a5e;
}
@media all and (max-width: 640px){
  .boxIndexMovie01L .ttl01 {
    position: absolute;
    top: 40%;/*27%;*/
    left: 0;
    right: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    margin: auto;
    line-height: 1.0;
  }
}

.boxIndexMovie01L .ttl01 .ttlEn {
  display: inline-block;
  margin-bottom: 7px;
  letter-spacing: 0.05em;
  font-style: italic;
  font-size: 3.6rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexMovie01L .ttl01 .ttlEn {
    margin-bottom: 1vw;
    margin-right: 0.3em;
    font-size: 8.0vw;/*13.4vw;*/
  }
}

.boxIndexMovie01L .ttl01 .ttlEn:first-letter {
  font-size: 5.0rem;
}
@media all and (max-width: 640px){
  .boxIndexMovie01L .ttl01 .ttlEn:first-letter {
    font-size: 11.5vw;/*19.0vw;*/
  }
}

.boxIndexMovie01L .ttl01 .ttlJa {
  padding-top: 17px;
  letter-spacing: 0.13em;
  font-style: italic;
  font-size: 1.7rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexMovie01L .ttl01 .ttlJa {
    padding-top: 2vw;
    letter-spacing: 0.1em;
    font-size: 3.8vw;/*6.4vw;*/
  }
}

.boxIndexMovie01R {
  width: 61%;
  padding-top: 36px;
}
@media all and (max-width: 640px){
  .boxIndexMovie01R {
    width: 100%;
    padding-top: 0;
  }
}

.boxIndexMovie01R .boxBaseCom {
  margin-bottom: 24px;
  padding: 0 40px 0 60px;
  background-image: url('./../../images/index/index-movie-icn-deco01-l.png'), url('./../../images/index/index-movie-icn-deco01-r.png');
  background-repeat: no-repeat, no-repeat;
  background-position: 0.3em 0.8em, right 0.8em;
  background-size: auto auto, auto auto;
  letter-spacing: 0.16em;
  font-size: 1.2rem;
  font-weight: 700;
}
@media all and (max-width: 640px){
  .boxIndexMovie01R .boxBaseCom {
    margin-bottom: 5vw;
    padding: 0 10vw 0 10vw;
    background-position: left bottom, right bottom;
    background-size: auto 10vw, auto 10vw;
    text-align: center;
    letter-spacing: normal;
    font-size: 4.0vw;
  }
}

.boxIndexMovie01R .boxBaseCom .txt01 {
  /*background: linear-gradient(transparent 1%, #fff44f 1%);*/
  color: #e51600;
}

.boxIndexMovie01R .boxCont01 {
  position: relative;
  margin-left: -54px;
}
@media all and (max-width: 640px){
  .boxIndexMovie01R .boxCont01 {
    margin-left: 0;
    text-align: center;
  }
}

.boxIndexMovie01R .boxCont01 .imgIndexMoviePoster {
  position: relative;
  z-index: 2;
}
@media all and (max-width: 640px){
  .boxIndexMovie01R .boxCont01 .imgIndexMoviePoster {
    margin-bottom: 3vw;
  }
}

.boxIndexMovie01R .boxCont01 .txt01IndexMovie {
  position: absolute;
  bottom: 72px;
  left: -280px;
}
@media all and (max-width: 640px){
  .boxIndexMovie01R .boxCont01 .txt01IndexMovie {
    display: none;
    position: static;
    bottom: auto;
    left: auto;
  }
}
/*
.boxIndexMovie {
  padding: 40px 0 60px 0;
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndexMovie {
    padding: 8% 0 12% 0;
  }
}
*/

/****************/
.boxIndex02Wrap{
  position: relative;
  z-index: 2;
}
.boxIndex02{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  height: 162px;
}
.boxIndex02 ul{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;/*space-around;*/
  justify-content: space-between;/*space-around;*/
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
}
.boxIndex02 .bnIndex0201 {
  position: relative;
  top: -6px;
}


/**************/
.boxIndexMynavi {
  margin-top: 20px;
  margin-bottom: 50px;
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndexMynavi {
    margin-top: 0;
    margin-bottom: 10vw;
  }
}

/****************/
.boxIndex03Wrap{
  background-image: url('./../../images/index/index03-bg.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}
.boxIndex03{
  display: table;
  width: 980px;
  height: 549px;
  margin: 0 auto;
  text-align: center;
}
.boxIndex03In{
  display: table-cell;
  width: 100%;
  padding-bottom: 30px;
  vertical-align: middle;
}
.boxIndex03In .txtNumber{
  display: inline-block;
  width: 100%;
  margin-bottom: 20px;
  line-height: 1.0;
  letter-spacing: 0.03em;
  font-size: 5.0rem;
}
.boxIndex03In .ttl{
  display: inline-block;
  width: 100%;
  margin-bottom: 25px;
  padding-bottom: 32px;
  background-image: url('./../../images/index/index03-border.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 97px auto;
  line-height: 1.0;
  letter-spacing: 0.1em;
  font-size: 2.5rem;
}
.boxIndex03In .boxCom01{
  margin-bottom: 30px;
  line-height: 1.2;
  letter-spacing: 0.15em;
  font-size:1.8rem;
}
.boxIndex03In .boxCom01 .txt01,
.boxIndex03In .boxCom01 .txt02{
  display: inline-block;
}
.boxIndex03In .boxCom02{
  margin-bottom: 27px;
}
.boxIndex03In .boxCom02 p{
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-size: 1.23rem;
  /*text-shadow: 1px 1px 50px #fff,-1px -1px 50px #fff,2px 2px 50px #fff,-2px -2px 50px #fff;*/
}
.boxIndex03In .boxCom03{
  margin-bottom: 27px;
}
.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: 23px auto, 23px auto;
  font-size: 1.8rem;
}
.boxIndex03In .ul01{
}
.boxIndex03In .ul01 li{
  display: inline-block;
  width: 268px;
  margin: 0 20px;
}
/*
.boxIndex03In .ul01 li a{
  display: inline-block;
  width: 100%;
  padding: 16px 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: 8px auto, 223px auto;
  letter-spacing: 0.1em;
  font-size: 1.55rem;
}
*/
.linkIndex03Btn01,
.linkIndex03Btn02,
.linkIndex03Btn03{
  display: inline-block;
  width: 270px;
  padding: 12px 0;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.2rem;
  /*box-shadow: 0 0 20px 5px rgba(255,255,255,0.3);*/
}
.linkIndex03Btn01,
.linkIndex03Btn02{
  margin-right: 42px;
}

.boxIndex04Wrap{
  max-width: 2000px;
  overflow: hidden;
  margin: 0 auto;
}
@media all and (max-width: 640px){
  .boxIndex04Wrap{
    margin-bottom: 7%;
    /*padding-bottom: 5%;*/
  }
}

@media all and (max-width: 640px){
  .boxIndex04Wrap .boxLink {
    position: relative;
    top: -5vw;
    padding: 0 15% 0 17%;
  }
}

.boxIndex04 {
  display: table;
  width: 100%;
  height: 591px;
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndex04{
    display: block;
    height: auto;
    /*margin-bottom: 8%;*/
  }
}

.boxIndex04L {
  display: table-cell;
  width: 403px;
  padding-top: 117px;
  vertical-align: top;/*middle;*/
}
@media all and (max-width: 640px){
  .boxIndex04L{
    position: relative;
    display: block;
    width: 100%;
    margin-bottom: 10%;
    padding-top: 98.8%;
    /*
    background-image: url('./../../images_sp/index/sp-index04-bg.png');
    background-repeat: no-repeat;
    background-position: left top;
    background-size: cover;
    */
    vertical-align: middle;
  }
}

@media all and (max-width: 640px){
  .boxIndex04LIn{
    position: absolute;
    top: 9%;
    left: 0;
    width: 100%;
  }
}

.boxIndex04L .ttl {
  display: block;
  margin-bottom: 24px;
  /*
  padding-bottom: 0;
  background: none;
  line-height: 1.0;
  letter-spacing: 0.05em;
  font-size: 3.5rem;*/
}
@media all and (max-width: 640px){
  .boxIndex04L .ttl {
    margin-bottom: 4%;
    /*
    display: inline-block;
    width: 100%;
    margin-bottom: 2%;
    padding-bottom: 0;
    background: none;
    line-height: 1.0;
    letter-spacing: 0.05em;
    font-size: 2.5rem;
    font-size: 10.0vw;
    */
  }
}

@media all and (max-width: 640px){
  .boxIndex04L .ttl .ttlIndexRecruit01 {
    width: 50%;
  }
}

.boxIndex04L .ttl .first {
  font-size: 5.3rem;
}
@media all and (max-width: 640px){
  .boxIndex04L .ttl .first {
    font-size: 15.0vw;
  }
}

.boxIndex04L .boxCom01{
  margin-bottom: 22px;
  padding-bottom: 29px;
  background-image: url('./../../images/index/index04-border.png');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto auto;
}
@media all and (max-width: 640px){
  .boxIndex04L .boxCom01{
    margin-bottom: 7%;
  }
}

.boxIndex04L .boxCom01 p{
  display: inline-block;
  line-height: 1.0;
  letter-spacing: 0.3em;
  font-size: 1.6rem;
}
@media all and (max-width: 640px){
  .boxIndex04L .boxCom01 p{
    letter-spacing: 0.1em;
    font-size: 5.5vw;
  }
}

.boxIndex04L .boxCom02{
  margin-bottom: 50px;
}
@media all and (max-width: 640px){
  .boxIndex04L .boxCom02{
    margin-bottom: 6%;
  }
}

.boxIndex04L .boxCom02 p{
  line-height: 1.55;
  letter-spacing: 0.1em;
  font-size: 1.2rem;
}
@media all and (max-width: 640px){
  .boxIndex04L .boxCom02 p{
    line-height: 1.75;
    letter-spacing: 0.03em;
    font-size: 4.3vw;
  }
}

@media all and (max-width: 640px){
  .linkIndex04Btn01{
    display: inline-block;
    width: 70%;
    padding: 3% 0;
    text-align: center;
    letter-spacing: 0.1em;
    font-size: 1.15rem;
    font-size: 4.5vw;
  }
}

.boxIndex04R{
  display: table-cell;
  /*padding-right: 68px;*/
  padding-right: 0;
  padding-bottom: 40px;
  /*
  background-image: url('./../../images/index/index04-bg-right.png');
  background-repeat: no-repeat;
  background-position: right top;
  */
  vertical-align: middle;
  text-align: left;
}
@media all and (max-width: 640px){
  .boxIndex04R{
    display: block;
    width: 100%;
    min-height: 100vw;
    margin-top: -45vw;
    padding-bottom: 0;
    /*padding-right: 0;
    background: none;*/
  }
}

.boxIndex04R .boxRecruitSlide{
  /*margin: 0 65px 0 65px;*/
  margin: 0 0 0 65px;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide{
    /*margin: 0 5% 0 5%;*/
    margin: 0;
  }
}

.boxIndex04R .boxRecruitSlide .boxSlideOne {
  padding-top: 30px;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide .boxSlideOne {
    padding-top: 0.2%;
  }
}

.boxIndex04R .boxRecruitSlide .icnIndex04New {
  position: absolute;
  top: 48px;
  left: 18px;
  /*mix-blend-mode: multiply;*/
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide .icnIndex04New {
    z-index: 10;
    top: 3.5%;
    left: 12%;
    right: auto;
    width: 15%;
  }
}

.boxIndex04R .boxRecruitSlide .boxImg {
  margin-bottom: 15px;
  padding: 10px;
  background-image: url('./../../images/index/index04-list-bg01.png');
  background-repeat: no-repeat;
  background-position: -13px 14px;
  background-size: auto auto;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide .boxImg {
    position: relative;
    overflow: hidden;
    margin-bottom: 5%;
    padding: 100% 0 0 0;
    background-image: url('./../../images_sp/index/sp-index04-list-bg01.png');
    background-position: -2.5vw 1vw;
    background-size: 100% 100%;
    text-align: center;
    /*box-shadow: -3vw 3vw 5vw 0 #eee;*/
  }
}

.boxIndex04R .boxRecruitSlide .boxImg img{
  border-radius: 0;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide .boxImg img {
    position: absolute;
    top: 0;
    left: 50%;
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 90%;
    height: auto;
    border-radius: 0;
  }
}

.boxIndex04R .boxRecruitSlide .ttl{
  margin-bottom: 18px;
  line-height: 1.4;
  letter-spacing: 0.13em;
  font-size: 1.3rem;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide .ttl {
    margin-bottom: 8%;
    line-height: 1.3;
    letter-spacing: 0.1em;
    font-size: 5.5vw;
  }
}

.boxIndex04R .boxRecruitSlide .ulBaseTag01 {
  margin-bottom: 20px;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide .ulBaseTag01 {
    margin-bottom: 10%;
  }
}

.boxIndex04R .boxRecruitSlide dl{
  display: table;
  width: 100%;
  margin-bottom: 5px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 0.9rem;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide dl {
    margin-bottom: 5px;
    font-size: 4.0vw;
  }
}

.boxIndex04R .boxRecruitSlide dl.last{
  margin-bottom: 23px;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide dl.last {
    margin-bottom: 7%;
  }
}

.boxIndex04R .boxRecruitSlide dt{
  display: table-cell;
  width: 24%;
  vertical-align: top;
}

.boxIndex04R .boxRecruitSlide dt .str2 {
  letter-spacing: 1.2em;
}

.boxIndex04R .boxRecruitSlide dt .str3 {
  letter-spacing: 0.1em;
}

.boxIndex04R .boxRecruitSlide dd {
  display: table-cell;
  width: 76%;
  vertical-align: top;
  text-indent: -0.3em;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide dd {
    padding-left: 0.4em;
    line-height: 1.5;
    text-indent: -0.4em;
  }
}

.boxIndex04R .boxRecruitSlide dd:before {
  content: ':';
  position: relative;
  left: -5px;
}
@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide dd:before {
    content: ':';
    position: relative;
    left: -1.6vw;
  }
}

.boxIndex04R .boxRecruitSlide .ulBaseTag01 li {
  border: 1px #fff solid;
  color: #fff;
}

@media all and (max-width: 640px){
  .boxIndex04R .boxRecruitSlide .btnReadMore {
    display: block;
    width: 100%;
    margin: 0 auto;
    margin-bottom: 8%;
  }
}

.boxIndex05Wrap{
  background-image: url('./../../images/index/index05-bg.jpg');
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto 100%;
}
.boxIndex05{
  display: table;
  width: 1010px;
  height: 330px;
  margin: 0 auto;
  text-align: center;
}
.boxIndex05In{
  display: table-cell;
  width: 100%;
  vertical-align: middle;
}
.boxIndex05InCont{
  position: relative;
  width: 446px;
  height: 245px;
  /*margin-left: auto;*/
  padding: 20px 0 0 0;
  /*
  background-image: url('./../../images/index/index05-bg02.png');
  background-repeat: no-repeat;
  background-position: center center;
  box-shadow: 1px 1px 30px rgba(0,0,0,0.4);
  */
}
.imgIndex05InCont01{
  display: none;
  position: absolute;
  z-index: 2;
  top: 45px;
  right: -180px;
}
.boxIndex05InContL{
  float: left;
  width: 44%;
  padding-top: 20px;
  vertical-align: middle;
}
.boxIndex05InContL .txtNumber {
  display: inline-block;
  width: 100%;
  margin-bottom: 18px;
  line-height: 1.0;
  letter-spacing: 0.05em;
  font-size: 4.4rem;
}
.boxIndex05InContL .ttl {
  display: inline-block;
  width: 100%;
  margin-bottom: 21px;
  padding-bottom: 17px;
  background-image: url(./../../images/index/index05-border.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 97px auto;
  line-height: 1.0;
  letter-spacing: 0.05em;
  font-size: 2.0rem;
}
.boxIndex05InContL .boxCom01 p {
  display: inline-block;
  line-height: 1.0;
  letter-spacing: 0.16em;
  font-size: 1.45rem;
}
.boxIndex05InContL .ttl2{
  margin-bottom: 10px;
  padding: 0 25px;
  text-align: left;
  font-weight: bold;
}
.boxIndex05InContL .boxCom03{
  margin-bottom: 25px;
  padding: 0 25px;
  letter-spacing: 0.1em;
  text-align: left;
}
.boxIndex05InContR{
  float: right;
  width: 56%;
  padding: 0 10px 0 29px;
  vertical-align: middle;
  text-align: left;
}
.boxIndex05InContR .ttl2{
  margin-bottom: 17px;
  line-height: 1.3;
  letter-spacing: normal;
  font-size: 1.3rem;
}
.boxIndex05InContR .boxCom03{
  margin-bottom: 25px;
  text-align: justify;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-size: 0.95rem;
}
.linkIndex05Btn{
  display: inline-block;
  width: 210px;
  padding: 16px 15px 14px 0;
  background-image: url('./../../images/index/index05-icn-arrow01.png');
  background-repeat: no-repeat;
  background-position: 90% center;
  background-size: 6px auto;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.15rem;
}

.boxIndex06Wrap{
  background-image: url('./../../images/index/index06-bg.jpg');
  background-repeat: no-repeat;
  background-position: center center;
}
.boxIndex06{
  display: table;
  width: 922px;
  height: 329px;
  margin: 0 auto;
  text-align: center;
}
.boxIndex06In{
  display: table-cell;
  width: 100%;
  vertical-align: middle;
}
.boxIndex06InCont{
  position: relative;
  width: 446px;
  height: 245px;
  padding: 20px 0 0 0;
  background-image: url('./../../images/index/index06-bg02.png');
  background-repeat: no-repeat;
  background-position: center center;
  box-shadow: -1px -1px 30px rgba(0,0,0,0.4);
}
.imgIndex06InCont01{
  display: none;
  position: absolute;
  z-index: 2;
  top: 110px;
  left: -195px;
}
.boxIndex06InContL{
  float: left;
  width: 44%;
  padding-top: 12px;
  vertical-align: middle;
}
.boxIndex06InContL .txtNumber{
  display: inline-block;
  width: 100%;
  margin-bottom: 18px;
  line-height: 1.0;
  letter-spacing: 0.05em;
  font-size: 4.4rem;
}
.boxIndex06InContL .ttl{
  display: inline-block;
  width: 100%;
  margin-bottom: 21px;
  padding-bottom: 17px;
  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;
}
.boxIndex06InContL .boxCom01 p{
  display: inline-block;
  line-height: 1.0;
  letter-spacing: 0.16em;
  font-size:1.45rem;
}
.boxIndex06InContL .boxCom02 p{
  line-height: 1.75;
  letter-spacing: 0.18em;
  font-size: 1.0rem;
}
.boxIndex06InContR{
  float: right;
  width: 56%;
  padding: 10px 29px 0 29px;
  vertical-align: middle;
  text-align: left;
}
.boxIndex06InContR .ttl2{
  margin-bottom: 10px;
  text-align: right;
}
.boxIndex06InContR .boxCom03{
  margin-bottom: 20px;
  text-align: justify;
  letter-spacing: 0.08em;
  font-size: 1.0rem;
}
.linkIndex06Btn{
  display: block;
  margin: 0 auto;
  width: 190px;
  padding: 8px 0;
  text-align: center;
  letter-spacing: 0.1em;
  font-size: 1.15rem;
}

/***** Index07 *****/
.boxIndex07Wrap {
  height: 618px;
  background-image: url('./../../images/index/index-experience-bg01.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 618px;
}
@media all and (max-width: 640px){
  .boxIndex07Wrap {
    height: auto;
    margin-top: 0;
    margin-bottom: 8%;
    background-image: url('./../../images_sp/index/sp-index-experience-bg01.jpg'),url('./../../images_sp/index/sp-index-experience-bg01-repeat.jpg');
    background-repeat: no-repeat,repeat-y;
    background-position: center top,center top;
    background-size: 100% auto, 100% auto;
  }
}

.boxIndex07 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  padding: 167px 25px 0 25px;
}
@media all and (max-width: 640px){
  .boxIndex07 {
    display: block;
    width: 100%;
    padding: 53% 0 0 0;
  }
}

.boxIndex07One {
  width: 43%;
}
@media all and (max-width: 640px){
  .boxIndex07One {
    position: relative;
    width: 100%;
    margin-bottom: 7%;
    padding-bottom: 7%;
  }
  .boxIndex07One.no01 {
    margin-bottom: 24%;
  }
}

.boxIndex07One .ttl {
  width: 230px;
  margin-bottom: 85px;
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndex07One .ttl {
    width: 55%;
    margin-bottom: 13%;
    padding-left: 16%;
  }
  .boxIndex07One.no02 .ttl {
    /*padding-left: 28%;*/
  }
}

.boxIndex07One .ttl .ttlSub {
  display: block;
  margin-bottom: 12px;
  font-size: 1.7rem;
}
@media all and (max-width: 640px){
  .boxIndex07One .ttl .ttlSub {
    margin-bottom: 1%;
    padding-left: 3%;
    font-size: 3.5vw;
  }
}

.boxIndex07One .ttl .ttlMain {
  display: block;
  margin-bottom: 12px;
  letter-spacing: 0.03em;
  font-size: 3.7rem;
}
@media all and (max-width: 640px){
  .boxIndex07One .ttl .ttlMain {
    margin-bottom: 2%;
    line-height: 1.0;
    letter-spacing: 0.1em;
    font-size: 7.0vw;
  }
}

.boxIndex07One .ttl .ttlEn {
  display: block;
  width: 83%;
  margin: 0 auto;
  padding-bottom: 8px;
  border-bottom: 2px #3a99e6 solid;
  font-size: 1.3rem;
}
@media all and (max-width: 640px){
  .boxIndex07One .ttl .ttlEn {
    display: block;
    width: 83%;
    margin: 0 auto;
    padding-bottom: 2%;
    font-size: 2.7vw;
  }
}

@media all and (max-width: 640px){
  .boxIndex07 .imgIndexExperience01 {
    position: absolute;
    top: -10vw;
    right: 1%;
    width: 70%;
  }
}

@media all and (max-width: 640px){
  .boxIndex07 .imgIndexExperience02 {
    position: absolute;
    top: -5vw;
    left: 1%;
    width: 37%;
  }
}


@media all and (max-width: 640px){
  .boxIndex07One .boxImg {
    margin-bottom: 5%;
  }
}

.boxIndex07One .boxBaseCom {
  margin-bottom: 25px;
  line-height: 1.7;
  letter-spacing: normal;
  font-size: 1.13rem;
}
@media all and (max-width: 640px){
  .boxIndex07One .boxBaseCom {
    margin-bottom: 5%;
    padding: 0 10%;
    line-height: 1.6;
    letter-spacing: 0.05em;
    font-size: 4.0vw;
  }
}

.boxIndex07One .boxLink {
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndex07One .boxLink {
    padding: 0 10%;
  }
}

/***** Index Blog *****/
.boxIndexBlogWrap {
  overflow: hidden;
  max-width: 2000px;
  margin-bottom: 60px;
}
@media all and (max-width: 640px){
  .boxIndexBlogWrap {
    min-height: 100vw;
    margin-bottom: 10%;
    padding: 10% 0 10% 0;
    /*background-image: url('./../../images_sp/index/sp-index-blog-bg01.png');
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% auto;*/
  }
}

.boxIndexBlog {
  display: table;
  width: 100%;
  /*min-height: 415px;*/
}

.boxIndexBlogL {
  display: table-cell;
  width: 408px;
  padding: 55px 0 70px 0;
  /*
  background-image: url('./../../images/index/index-blog-bg01.png');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 408px auto;
  */
  text-align: center;
  vertical-align: top;
}
@media all and (max-width: 640px){
  .boxIndexBlogL {
    display: block;
    width: 100%;
    padding: 0 0 7% 0;
    /*
    background-image: none;
    */
  }
}

@media all and (max-width: 640px){
  .boxIndexBlogL .ttlBase09 {
    margin-bottom: 5%;
  }
}

.boxIndexBlogL .ttlBase09 .ttlEn {
  margin-bottom: 25px;
}
@media all and (max-width: 640px){
  .boxIndexBlogL .ttlBase09 .ttlEn {
    margin-bottom: 4%;
  }
}

@media all and (max-width: 640px){
  .boxIndexBlogL .ttlBase09 .ttlEn .ttlIndexBlog01 {
    height: 11vw;
  }
}

.boxIndexBlogL .ttlBase09 .ttlJa {
  letter-spacing: 0.2em;
  font-size: 1.6rem;
}
@media all and (max-width: 640px){
  .boxIndexBlogL .ttlBase09 .ttlJa {
    font-size: 4.5vw;
  }
}

.boxIndexBlog .boxBaseCom.no01{
  margin-bottom: 35px;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-size: 1.03rem;
}
@media all and (max-width: 640px){
  .boxIndexBlog .boxBaseCom.no01{
    margin-bottom: 0;
    text-align: center;
    line-height: 1.75;
    letter-spacing: 0.1em;
    font-size: 4.0vw;
  }
}

.boxIndexBlogR {
  display: table-cell;
  vertical-align: middle;
  text-align: left;
}
@media all and (max-width: 640px){
  .boxIndexBlogR {
    display: block;
  }
}

.boxIndexBlog .boxListOne .boxListImg {
  margin-bottom: 18px;
  padding: 8px;
  background-image: url(./../../images/index/index-blog-list-bg01.png);
  background-repeat: no-repeat;
  background-position: -16px 13px;
  background-size: auto auto;
  /*box-shadow: -5px 5px 10px 0 rgba(0,0,0,0.2);*/
}
@media all and (max-width: 640px){
  .boxIndexBlog .boxListOne .boxListImg {
    margin-bottom: 5%;
    padding: 5% 0 0 5%;
    background-image: url('./../../images_sp/index/sp-index-blog-list-bg01.png');
    background-position: -2.4vw 3.8vw;
    background-size: 100% auto;
    /*box-shadow: none;*/
  }
}

.boxIndexBlog .boxListOne .boxListImgIn {
  overflow: hidden;
  position: relative;
  width: 100%;
  padding-top: 100%;
}
.boxIndexBlog .boxListOne .boxListImg img {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}
.boxIndexBlog .boxListOne .boxListImg.horizontalImg img {
  width: auto;
  max-width: none;
  height: 101%;
}
.boxIndexBlog .boxListOne .boxListImg.verticalImg img {
  width: 101%;
  max-width: none;
  height: auto;
}
.boxIndexBlog .boxListOne .boxMeta {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  margin-bottom: 17px;
}
.boxIndexBlog .boxListOne .ulListCat {
  /*margin-bottom: 10px;*/
  width:82%;
}
.boxIndexBlog .boxListOne .ulListCat li {
  display: inline-block;
  width: 100%;
  /*margin-bottom: 5px;*/
  /*margin-right: 5px;*/
  padding: 7px 0 5px 0;
  text-align: center;
  line-height: 1.0;
  font-size: 0.9rem;
}
.boxIndexBlog .boxListOne .boxDate {
  width: 60%;
  align-self: center;
  /*margin-bottom: 15px;*/
  padding-left: 10px;
  font-size: 0.9rem;
}
.boxIndexBlog .boxListOne .ttlList {
  line-height: 1.5;
  font-size: 1.03rem;
}
.boxIndexBlogR .boxBlogSlide{
  margin: 0 0 0 65px;
}
.boxIndexBlogR .boxBlogSlide .boxSlideOne{
  padding-top: 30px;
}

.boxIndexBlogR .boxBlogSlide .icnIndex04New {
  position: absolute;
  z-index: 2;
  top: 48px;
  left: 18px;
  /*mix-blend-mode: multiply;*/
}
@media all and (max-width: 640px){
  .boxIndexBlogR .boxBlogSlide .icnIndex04New{
    z-index: 10;
    top: 3%;
    left: 5%;
    width: 22%;
  }
}

/***** Index Entry *****/
.boxIndexEntryWrap {
  padding-bottom: 25px;
}
@media all and (max-width: 640px){
  .boxIndexEntryWrap {
    padding-bottom: 5%;
  }
}

@media all and (max-width: 640px){
  .boxIndexEntry .ttlBase09 {
    margin-bottom: 5%;
  }
}

@media all and (max-width: 640px){
  .boxIndexEntry .ttlBase09 .ttlEn .ttlIndexEntry01 {
    height: 11vw;
    margin-bottom: 3%;
  }
}

@media all and (max-width: 640px){
  .boxIndexEntry .ttlBase09 .ttlJa {
    font-size: 5.0vw;
  }
}

@media all and (max-width: 640px){
  .boxIndexEntry .boxBaseCom.no01 {
    margin-bottom: 8%;
    text-align: center;
  }
}

.boxIndexEntryF {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
}
@media all and (max-width: 640px){
  .boxIndexEntryF {
    display: block;
  }
}

.boxIndexEntryFOne {
  width: 31.5%;
}
@media all and (max-width: 640px){
  .boxIndexEntryFOne {
    width: 100%;
    margin-bottom: 12%;
  }
}

.boxIndexEntryFOne .boxImg {
  margin-bottom: 20px;
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndexEntryFOne .boxImg {
    margin-bottom: 6%;
  }
}

.boxIndexEntryFOne .ttl {
  margin-bottom: 27px;
}
@media all and (max-width: 640px){
  .boxIndexEntryFOne .ttl {
    margin-bottom: 6%;
  }
}

.boxIndexEntryFOne .ttl .icnIndexEntry01 {
  position: absolute;
  left: 0;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media all and (max-width: 640px){
  .boxIndexEntryFOne .ttl .icnIndexEntry01 {
    height: 19vw;
  }
}

/***** Index Album *****/
.boxIndexAlbumWrap {
  min-height: 460px;
  margin-bottom: 60px;
  background-image: url('./../../images/index/index-album-bg01.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 460px;
  padding: 150px 0 0 0;
}
@media all and (max-width: 640px){
  .boxIndexAlbumWrap {
    position: relative;
    min-height: auto;
    margin-bottom: 13%;
    background-image: url('./../../images_sp/index/sp-index-album-bg01.jpg');
    background-size: 100% auto;
    padding: 67.8% 0 0 0;
  }
}

@media all and (max-width: 640px){
  .boxIndexAlbum {
    position: absolute;
    top: 0;
    left: 5%;
    height: 100%;
    padding-top: 13%;
  }
}

.boxIndexAlbum .ttl {
  margin-bottom: 20px;
  text-align: center;
  font-size: 5.1rem;
  letter-spacing: 0.07em;
}
@media all and (max-width: 640px){
  .boxIndexAlbum .ttl {
    margin-bottom: 5%;
    line-height: 1.2;
    font-size: 9.5vw;
  }
}

.boxIndexAlbum .ttl .small01 {
  font-size: 4.2rem;
}
@media all and (max-width: 640px){
  .boxIndexAlbum .ttl .small01 {
    font-size: 7.5vw;
  }
}

.boxIndexAlbum .boxToArchive {
  text-align: center;
}
@media all and (max-width: 640px){
  .boxIndexAbout01 .boxBaseCom {
    top: 38%;
  }
}
/* /Index */