@charset "UTF-8";
.simpleDesign{
  overflow: hidden;
  font-family: Ryumin Medium KL, serif !important;
  font-family: a-otf-ryumin-pr6n, serif !important;
  font-feature-settings: 'palt';
  letter-spacing: .1em;
  margin-bottom: 30px;
}
.simpleDesign .el-d-section{
  box-sizing: border-box;
}
.simpleDesign img{
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
}
.simpleDesign picture{
  display: block;
}

.bg{
  background-position: center;
  background-size: cover;
}
.blockContent{
  position: relative;
  color: #fff;
}
.blockContent::before{
  content: "";
  position: absolute;
  width: 200vw;
  height: 100%;
  z-index: -1;
  top: 0;
  left: -50vw;
  background: #988575;
}
@media screen and (max-width:1000px){
  .blockContent::before{
    width: 100%;
    left: 0;
  }
}
.blockContent.bg01::before{
  background: url(../img/bg01.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}

.relative{
  position: relative;
}
.flexBox{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  min-height: 0px;
}
.flex_1{
  flex: 1;
}
@media screen and (min-width:701px){
  .pc{font: inherit;}
  .sp{display: none !important;}
}
@media screen and (max-width:700px){
  .pc{display: none !important;}
  .simpleDesign .el-d-section{
    padding: 0;
    margin: 0;
  }
}

.blockHeader{
  text-align: center;
  padding: 75px 0 50px;
}
.blockHeader h2{
  color: #875364;
  font-size: 62px;
  font-weight: 400;
  line-height: 1.23;
}
.blockHeader h2.logoElis{
  padding-top: 17.5%;
  background: url(../img/logo_elis.svg) no-repeat;
  background-size: auto 43.8%;
  background-position: top center;
}
.blockHeader h2 img{
  display: block;
  margin: auto;
}
@media screen and (max-width:700px){
  .blockHeader h2{
    font-size: 6.5vw;
    font-weight: 600;
  }
}


body [data-aos]{
  transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1) !important;
}
.simpleDesign{
  overflow: hidden;
}


.mv .relative{
  position: relative;
}
.mv .logoElis{
  position: absolute;
  top: 7%;
  left: 5%;
  width: 13.5%;
}
.mv h1{
  position: absolute;
  top: 4%;
  right: 6.7%;
  font-size: 40px;
  font-weight: 600;
  line-height: 1.54;
  text-align: right;
	margin-top: 15px;
}
@media screen and (max-width:700px){
  .mv h1{
    top: 3%;
    font-size: 6vw;
    width: 100%;
  }
  .mv .logoElis{
    position: absolute;
    top: 4.5%;
    left: 6.2%;
    width: 29.5%;
  }
}


.concept .blockHeader{
  padding: 11% 0 5%;
}
.concept .blockHeader img{
  width: 23%;
  margin-bottom: -8.2%;
}
.concept .blockContent{
  padding: 9% 0 7.5%;
}
.concept p{
  font-size: 33px;
  line-height: 2;
  text-align: center;
  color: #fff;
}
@media screen and (max-width:700px){
  .concept p{
    font-size: 3.4vw;
  }
}


.package .blockHeader{
  padding: 11% 0 5%;
}
.package img{
  width: 100%;
}
.package .blockHeader img{
  width: 25.5%;
  margin-bottom: -8.2%;
}
.package .blockContent{
  padding: 5.5% 0 .5%;
}
.package li{
  padding: 5.5% 0 4.5%;
  position: relative;
}
.package li+li::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 86.6%;
  height: 1px;
  background: #fff;
}
.package .flexLeft{
  text-align: right;
  position: relative;
  width: 40.6%;
  padding-right: 3%;
  box-sizing: border-box;
}
.package .flexRight{
  flex: 1;
}
.package .flexBox02 .flexLeft{
  padding-right: 0;
}
.package .flexBox02 .flexLeft img{
  width: 62.1%;
}
.package h3{
  font-size: 38px;
  line-height: 1.13;
  margin-bottom: 6%;
  font-weight: 400;
}
.package h3 img{
  width: 53.3%;
  padding-bottom: 5%;
  padding-right: 7%;
  display: block;
  margin-left: auto;
}
.package p{
  font-size: 22.5px;
  line-height: 1.53;
}
.package .check{
  font-size: 27px;
  line-height: 1.35;
}
.package .point1 .check{
  position: relative;
  margin-bottom: 6%;
}
.package .point1 .check::before{
  content: "";
  position: absolute;
  top: 0;
  right: 101%;
  width: 19.9%;
  height: 100%;
  background-image: url(../img/package_point0104.png);
	background-repeat: no-repeat;
    background-size: 104px auto;
    background-position: 0px 50%;
}
.package .point1 .flexBox02 .flexRight{
  padding-top: 6%;
  padding-left: 7%;
}
.package .point1 .flexBox03 img{
  width: 52.6%;
}
.package .point2 .flexBox02 .flexRight{
  padding-top: 5%;
  padding-left: 4%;
}
.package .point2 .check{
  position: relative;
  margin-top: 5%;
  padding: 10% 0 11% 36%;
  text-align: center;
  display: inline-block;
}
.package .point2 .check::before{
  content: "";
  position: absolute;
  top: 0;
  left: -22%;
  width: 69.2%;
  height: 100%;
  background: url(../img/package_point0203.png) no-repeat;
  background-position: top left;
  background-size: contain;
}
@media screen and (max-width:700px){
  .package h3{
    font-size: 3.7vw;
  }
  .package p{
    font-size: 2.1vw;
  }
  .package .packageTxtLeft{
    width: 90%;
  }
  .package .packageTxtRight{
    width: 72%;
  }
  .package .check{
    font-size: 2.6vw;
  }
  .package .point1 .check::before{
    background-position: 0 1.1vw;
  }
  .package .point2 .check{
    padding: 9% 0 10%;
  }
  .package .point2 .check::before{
    left: -16%;
  }
  .package .point2 .check .packageTxtRight{
    margin-left: 19vw;
  }
}

.usability .blockHeader{
  padding: 11% 0 5%;
}
.usability img{
  width: 100%;
}
.usability .blockHeader img{
  width: 28.2%;
  margin-bottom: -8.2%;
}
.usability .blockContent{
  padding: 5.5% 0 11%;
}
.usability .usabilityTxt01{
  font-size: 45px;
  line-height: 1.6;
  margin-bottom: 3.5%;
  text-align: center;
}

@media screen and (min-width:701px){
  .usability .blockContent>.flexBox{
    width: 81%;
    margin: auto;
  }
  .usability .octagon{
    position: relative;
    background: #fff;
    text-align: center;
    width: 100%;
  }
  .usability .octagon::before,
  .usability .octagon::after{
    content: "";
    width: 0px;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: -25px;
    border-right: 25px solid #fff;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    box-sizing: border-box;
  }
  .usability .octagon::after{
    content: "";
    width: 0px;
    height: 100%;
    position: absolute;
    bottom: 0;
    left: auto;
    right: -25px;
    border-right: 0;
    border-left: 25px solid #fff;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
  }

  .usability .octagon:nth-of-type(1),
  .usability .octagon:nth-of-type(2){
    width: 46%;
    padding: 3.2% 0 3.4%;
  }
  .usability .octagon:nth-of-type(3){
    margin: 1.8% 0 1.2%;
    padding: 4% 0 5.5%;
  }
  .usability .octagon:nth-of-type(3) .flexBox{
    padding-top: 5.5%;
    max-width: 78%;
    margin: auto;
  }
  .usability .usabilityTxt02{
    position: relative;
    font-size: 34px;
    line-height: 1;
    color: #875364;
    display: inline-block;
  }
  .usability .usabilityTxt02::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .25em;
    background: #DCDDDD;
  }
  .usability .usabilityTxt02 span{
    position: relative;
  }
  .usability .octagon:nth-of-type(3) .flexBox>div{
    width: 30%;
  }
  .usability .usabilityTxt03{
    font-size: 38px;
    line-height: 1;
    color: #875364;
    position: relative;
    padding-bottom: 5%;
    margin-bottom: 5%;
    display: inline-block;
  }
  .usability .usabilityTxt03::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    border-top: 1px solid #875364;
    border-bottom: 1px solid #875364;
  }
  .usability .usabilityTxt04{
    font-size: 23px;
    line-height: 1.46;
    color: #000;
    text-align: center;
    letter-spacing: .02em;
  }
  .usability .usabilityNote{
    width: 100%;
    text-align: right;
    font-size: 21px;
    line-height: 1.2;
  }
}
@media screen and (max-width:700px){
  .usability .usabilityTxt01{
    font-size: 4.7vw;
  }
  .usability .octagon::before,
  .usability .octagon::after{
    left: -2.2vw;
    border-width: 2.2vw;
  }
  .usability .octagon::after{
    left: auto;
    right: -2.2vw;
  }
  .usability .usabilityTxt02{
    font-size: 3.4vw;
  }
  .usability .usabilityTxt03{
    font-size: 3.6vw;
  }
  .usability .usabilityTxt04{
    font-size: 2.2vw;
  }


  .usability .usabilityNote{
    font-size: 1.9vw;
  }
  .usability .octagon:nth-of-type(1),
  .usability .octagon:nth-of-type(2){
    width: 50%;
  }
  .usability .octagon:nth-of-type(3){
    margin: 1.8% 0 1.2%;
  }
}


.voice .blockHeader{
  padding: 11% 0 5%;
}
.voice .blockHeader img{
  width: 39.7%;
  margin-bottom: -6.2%;
}
.voice .blockContent{
  padding: 5.5% 0 11%;
}
.voice li{
  font-size: 22px;
  line-height: 1.5;
  padding: 4.2% 4.2% 4.7%;
  color: #000;
  width: 79%;
  text-align: right;
  position: relative;
  box-sizing: border-box;
}
.voice li::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 8.5%;
  height: 100%;
  background: #704654;
  opacity: .8;
  z-index: 1000;
}
.voice li:nth-of-type(even){
  margin-left: auto;
  text-align: left;
}
.voice li:nth-of-type(even),
.voice li:nth-of-type(even)::before,
.voice li:nth-of-type(even) img,
.voice li:nth-of-type(even) div{
  left: auto;
  right: 0;
}
.voice li+li{
  margin-top: 3.1%;
}
.voice li img{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 22%;
}
.voice li div{
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 50px);
  height: 100%;
  background: #fff;
  z-index: -1;
}
.voice li div::before{
  content: "";
  width: 0px;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: -47px;
  border-left: 48px solid #fff;
  border-top: 48px solid transparent;
  box-sizing: border-box;
}
.voice li:nth-of-type(even) div::before{
  right: auto;
  left: -47px;
  border-left: 0;
  border-right: 48px solid #fff;
}
@media screen and (max-width:700px){
  .voice li{
    font-size: 2.05vw;
  }
  .voice li div{
    width: calc(100% - 4.8vw);
  }
  .voice li div::before{
    right: -4.7vw;
    border-width: 4.8vw;
  }
  .voice li:nth-of-type(even) div::before{
    right: auto;
    left: -4.7vw;
    border-width: 4.8vw;
  }
  .voice li .voice_txt{
    width: 84%;
    position: relative;
  }
}


.lineUp .blockHeader{
  padding: 5% 0 5%;
}
.lineUp .blockHeader img{
  width: 37%;
  margin-bottom: -7.9%;
}
.lineUp .blockContent{
  padding: 7% 0 5%;
}


.lineUp .lineUpTxt01{
  font-size: 35px;
  line-height: 1.2;
}
.lineUp .lineUpTxt02{
  font-size: 22px;
  line-height: 1.88;
}
.lineUp ul{
  width: 75.5%;
  margin: auto;
}
.lineUp li{
  text-align: center;
  width: 33%;
}
.lineUp .blockContent img{
  display: block;
  margin: auto;
  width: 77.5%;
  padding-left: 2%;
}
@media screen and (max-width:700px){
  .lineUp .lineUpTxt01{
    font-size: 3.4vw;
  }
  .lineUp .lineUpTxt02{
    font-size: 2.1vw;
  }
  .lineUp .blockContent .lineUpTxtImg{
    width: 100%;
    padding-left: 0;
  }
}
@media screen and (max-width:700px){
	img.kvTxt {
		width: 51%;
		height: auto;
		margin-right: -1.5vw;
    margin-top: -0.2vw;
	}
}

.simpleDesign .mv {
	background-color: #988575;
}
