@charset "UTF-8";
.simplePage{
  overflow: hidden;
  max-width: 1000px;
  margin: 0 auto 30px;
  font-family: 'Zen Maru Gothic', sans-serif;
  font-feature-settings: 'palt';
  font-size: 1vw;
  font-weight: 400;
}
.simplePage .el-d-section{
  box-sizing: border-box;
  margin: 0 auto;
}
.simplePage a{
  display: block;
  position: relative;
  z-index: 1;
  transform:translateZ(1px);
}
.simplePage picture{
  display: block;
}
@media screen and (min-width:700px){
  .simplePage{
    font-size: 10px;
  }
  .simplePage img{
    -webkit-backface-visibility: hidden;
    image-rendering: -webkit-optimize-contrast;
  }
}

@media screen and (min-width:700px){
  .simpleMunu a,
  .lineUp li a,
  .other li a,
  .other li a::before{
    transition: .2s;
  }
  .simpleMunu a:hover,
  .lineUp li a:hover,
  .other li a:hover,
  .other li a:hover::before{
    opacity: .6;
  }
}


.wrapper{
  width: 84%;
  margin: 0 auto;
}
.relative{
  position: relative;
}
.absolute{
  position: absolute;
}
.flexBox{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  min-height: 0px;
}
@media screen and (min-width:700px){
  .sp{display: none !important;}
  .wrapper{
    width: 90%;
  }
}
@media screen and (max-width:699px){
  .pc{display: none !important;}
  .sp img{
    display: block;
  }
  .simplePage .el-d-section{
    padding: 0;
    margin: 0;
  }
}

.simplePage .mvBg{
  padding-bottom: 12.8vw;
}
.simplePage .mvBg::before{
  content: '';
  position: absolute;
  width: 100%;
  height: calc(100% - 16vw);
  top: 16vw;
  background: #EFEBE2;
}
.simplePage .mv{
  margin: 8vw auto 8vw;
}
.simplePage .mv .mvTxt{
  top: 3vw;
  left: 3vw;
  font-size: 2.8em;
  letter-spacing: .3em;
  line-height: 1;
}
.simplePage .mv .mvTxt span{
  padding: .65em 0 .65em .8em;
  background: #fff;
  display: inline-block;
  margin-bottom: .7em;
}
.mvProduct{
  background: #fff;
  text-align: center;
  padding: 4vw 0;
}
.mvProduct h1{
  font-size: 5.4em;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: .1em;
  text-shadow: none;
}
.mvProduct h1 sup{
  font-size: .4em;
  top: -1.6em;
}
.mvProduct h1 img{
  display: block;
  margin: 1.9vw auto;
  width: 40vw;
}
.mvProduct .mvNote{
  font-size: 2.16vw;
  line-height: 1;
  letter-spacing: .1em;
}
.mv .release{
  font-size: 2.16vw;
  line-height: 1;
  letter-spacing: .1em;
  text-align: center;
  margin-top: 4vw;
}
@media screen and (min-width:700px){
  .simplePage .mv{
    margin: 45px auto 40px;
  }
  .simplePage .mvBg{
    padding-bottom: 60px;
  }
  .simplePage .mvBg::before{
    top: 175px;
    height: calc(100% - 175px);
  }
  .simplePage .mv .mvTxt{
    top: 35px;
    left: 355px;
    font-size: 28px;
    letter-spacing: .1em;
  }
  .simplePage .mv .mvTxt span{
    padding: .31em 0 .31em .8em;
    background: #fff;
    display: inline-block;
    margin-bottom: .5em;
  }
  .mvProduct{
    padding: 10px 0 15px;
  }
  .mvProduct h1{
    font-size: 28px;
    letter-spacing: .2em;
  }
  .mvProduct h1 img{
    width: 286px;
    margin: 10px auto;
  }
  .mvProduct .mvNote{
    font-size: 13px;
  }
  .mv .release{
    font-size: 18px;
    margin-top: 25px;
  }
}


.imgNote{
  z-index: 1;
}

.concept01{
  width: 11.73vw;
  top: 0;
  left: 40%;
}
.concept02{
  width: 75.5vw;
  padding-top: 16.6vw;
}
.concept03{
  margin-top: 2vw;
  margin-left: auto;
  width: 75.5vw;
}
.concept04{
  margin: 13vw auto 0;
  width: 62.7vw;
}
.conceptTxt01{
  font-size: 2.94vw;
  line-height: 1;
  text-align: center;
  color: #fff;
  margin: 5.4vw auto;
  padding: .44em 0;
  display: table;
  z-index: 1;
}
.conceptTxt01::before,
.conceptTxt01::after{
  content: '';
  position: absolute;
  top: 0;
  left: -1em;
  width: calc(100% + 2em);
  height: 100%;
  background: #768F68;
  transform: skewX(-30deg);
  z-index: -1;
}
.conceptTxt01::after{
  transform: skewX(30deg);
}
.conceptTxt02{
  font-size: 3.37vw;
  line-height: 1.77;
  text-align: center;
}
@media screen and (min-width:700px){
  .concept01{
    width: 71px;
    left: 196px;
  }
  .mvBg .flexBox{
    justify-content: center;
  }
  .concept02{
    padding-top: 100px;
    width: 423px;
  }
  .concept03{
    width: 423px;
    margin-top: 0;
    margin-left: 15px;
  }
  .concept04{
    width: 421px;
    margin: -55px 0 0 20px;
  }
  .conceptTxt01{
    font-size: 20px;
    margin: 40px auto 30px;
  }
  .conceptTxt02{
    font-size: 22px;
  }
}


.simpleMunu{
  margin: 9vw auto 0;
  gap: 1.4vw 0;
}
.simpleMunu li{
  width: 49.2%;
  height: 14.4vw;
}
.simpleMunu a{
  background: #D6BFA2;
  color: #000;
  font-size: 3.47vw;
  line-height: 1.4;
  letter-spacing: .2em;
  text-align: center;
  display: grid;
  place-items: center;
  height: 100%;
  text-decoration: none;
}
@media screen and (min-width:700px){
  .simpleMunu{
    gap: 0;
    margin: 35px auto 50px;
  }
  .simpleMunu li{
    width: 212px;
    height: 65px;
  }
  .simpleMunu a{
    font-size: 18px;
    letter-spacing: .1em;
  }
  .simpleMunu a:hover{
    opacity: .6;
  }
}

.design{
  padding: 6.7vw 0 10.7vw;
}
.design h2{
  font-size: 5.87vw;
  line-height: 1.4;
  letter-spacing: .1em;
  font-weight: 400;
  margin-bottom: 6.7vw;
}
.design .blockRight{
  justify-content: flex-start;
  flex-direction: row-reverse;
}
.design .blockLeft{
  justify-content: flex-start;
}
.design .designTxt01{
  font-size: 3.4vw;
  line-height: 1.46;
  letter-spacing: .2em;
  writing-mode: vertical-rl;
  padding: 0 1.8vw;
}
.design .designTxt01 .txtCombine{
  text-orientation: upright;
}
.design .designTxt01 .txt01Note{
  font-size: 2.4vw;
  display: block;
  letter-spacing: 0;
  padding: 0 .5vw;
}
.design .designTxt01 .punctuation{
  height: .5em;
  display: inline-block;
}
.design .designTxt02{
  top: 0;
  left: -1px;
  width: 42.2vw;
  display: inline-block;
  background: #fff;
  padding: .45vw 2.7vw;
  font-size: 3.47vw;
  line-height: 1.385;
  box-sizing: border-box;
}
@media screen and (min-width:700px){
  .design{
    padding: 50px 0 50px;
  }
  .design h2{
    font-size: 30px;
    text-align: center;
    margin-bottom: 30px;
  }
  .design .designTxt01{
    font-size: 20px;
    letter-spacing: .1em;
    padding: 0 10px;
  }
  .design .designTxt02{
    font-size: 18px;
    width: 158px;
    padding: 0 15px;
  }
  .design .designTxt01 .txt01Note{
    font-size: 13px;
    padding: 0 3px;
  }
}

.design01 .design0101{
  width: 12.2vw;
  top: -20vw;
  left: 54vw;
}
.design01 .design0102{
  width: 69vw;
}
.design01 .designTxt02{
  top: 120.7vw;
}
@media screen and (min-width:700px){
  .design01{
    align-items: flex-end;
  }
  .design01 .design0101{
    width: 189px;
    top: 5px;
    left: -165px;
  }
  .design01 .design0102{
    width: 573px;
  }
  .design01 .designTxt02{
    top: 12px;
    left: auto;
    right: -1px;
    text-align: right;
  }
}

.design02{
  margin-top: 23.2vw;
  align-items: flex-end;
}
.design02 .design0201{
  width: 27.734vw;
  top: -16vw;
  left: 0;
}
.design02 .design0202{
  width: 68.2vw;
}
.design02 .designTxt01{
  text-align: right;
}
.design02 .designTxt02{
  top: 5vw;
  left: auto;
  right: -1px;
  text-align: right;
}
@media screen and (min-width:700px){
  .design02{
    margin-top: 105px;
  }
  .design02 .design0201{
    width: 166px;
    top: -105px;
    left: 45px;
  }
  .design02 .design0202{
    width: 573px;
  }
  .design02 .designTxt02{
    top: 380px;
    left: auto;
    right: -1px;
    text-align: left;
  }
}

.design03{
  margin-top: 15.5vw;
}
.design03 .design0301{
  width: 27.2vw;
  top: 66vw;
  left: -23vw;
}
.design03 .design0302{
  width: 59.8vw;
}
.design03 .design0303{
  width: 12.6vw;
  top: 47vw;
  left: -20vw;
}
.design03 .designTxt02{
  top: 4vw;
}
@media screen and (min-width:700px){
  .design03{
    margin-top: 80px;
  }
  .design03 .design0301{
    width: 216px;
    top: 295px;
    left: -195px;
  }
  .design03 .design0302{
    width: 488px;
  }
  .design03 .design0303{
    width: 57px;
    top: 215px;
    left: -170px;
  }
  .design03 .designTxt02{
    top: 270px;
    left: auto;
    right: -1px;
    width: 214px;
    text-align: right;
  }
}

.design04{
  margin-top: 15.47vw;
  align-items: flex-start;
}
.design04 .design0401{
  width: 17.34vw;
  top: 71vw;
  left: 59vw;
}
.design04 .design0402{
  width: 69.4vw;
}
.design04 .designTxt01{
}
.design04 .designTxt02{
  top: 5vw;
  left: auto;
  right: -1px;
  letter-spacing: .2em;
  text-align: right;
}
@media screen and (min-width:700px){
  .design04{
    margin-top: 105px;
  }
  .design04 .design0401{
    width: 209px;
    top: 345px;
    left: 345px;
  }
  .design04 .design0402{
    width: 368px;
  }
  .design04 .designTxt02{
    top: 13px;
    left: -1px;
    right: auto;
    text-align: left;
  }
}

.design05{
  align-items: flex-end;
  margin-top: 23.2vw;
}
.design05 .design0501{
  width: 12vw;
  top: -16vw;
  left: 5vw;
}
.design05 .design0502{
  width: 75vw;
}
.design05 .designTxt02{
  top: 63vw;
  left: auto;
  right: -1px;
  text-align: right;
}
@media screen and (min-width:700px){
  .design05{
    margin-top: 65px;
  }
  .design05 .design0501{
    width: 72px;
    top: -115px;
    left: 385px;
  }
  .design05 .design0502{
    width: 573px;
  }
  .design05 .designTxt02{
    top: 380px;
  }
}

.diff{
  padding: 12vw 0 10vw;
  background: #EADED0;
}
.diff h2{
  font-size: 5.87vw;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .05em;
  text-align: center;
  padding-bottom: .8em;
  display: table;
  margin: 0 auto 5vw;
}
.diff h2::before{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 15%;
  background-image: url(../img/diff_titlebg.svg);
  background-repeat: round no-repeat;
  background-size: 4% auto;
  background-position: 0 bottom;
}
.diff .diffTxt01{
  font-size: 3.37vw;
  line-height: 2;
  letter-spacing: .05em;
  text-align: center;
  margin-bottom: 12vw;
}
.diff h3{
  font-size: 4.27vw;
  font-weight: 400;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 5vw;
}
.diff h3 span{
  margin-top: .2em;
  display: block;
  font-size: 3vw;
  letter-spacing: .2em;
}
.diff .diffTxt02{
  font-size: 3.47vw;
  line-height: 1.5;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 2.4vw;
}
.diff .diffTxt02 span{
  color: #D96882;
}
.diffImgWrap p{
  top: 48vw;
  left: 61vw;
  font-size: 3vw;
  line-height: 1.33;
  text-align: center;
  width: 28vw;
  height: 28vw;
  background: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.diffImgWrap .flexBox{
  width: 70.4vw;
  top: 80vw;
  left: 0;
  right: 0;
  margin: auto;
}
.diffImgWrap span{
  width: 48.69%;
  padding: .3em 0;
  font-size: 3.44vw;
  line-height: 1.4;
  letter-spacing: .2em;
  text-align: center;
  background: #fff;
  box-sizing: border-box;
}
.diffImgWrap span+span{
  background: #C69C6D;
}
.diff .diffTxt03{
  font-size: 3.37vw;
  line-height: 1.6;
  text-align: center;
  margin-top: 4vw;
}
@media screen and (min-width:700px){
  .diff{
    padding: 75px 0 80px;
  }
  .diff h2{
    font-size: 32px;
    letter-spacing: .1em;
    margin: 0 auto 30px;
    padding: 0 .8em 1em;
  }
  .diff h2::before{
    content: '';
    position: absolute;
    background-size: 3% auto;
  }
  .diff .diffTxt01{
    font-size: 22px;
    margin-bottom: 65px;
  }
  .diff h3{
    font-size: 25px;
    margin-bottom: 25px;
  }
  .diff h3 span{
    margin-top: 0;
    display: inline;
    font-size: 13px;
  }
  .diff .diffTxt02{
    font-size: 20px;
    margin-bottom: 20px;
  }
  .diffImgWrap{
    width: 394px;
    margin: auto;
  }
  .diffImgWrap p{
    top: 195px;
    left: 295px;
    font-size: 18px;
    width: 159px;
    height: 159px;
    background: #fff;
  }
  .diffImgWrap .flexBox{
    width: 306px;
    top: 365px;
  }
  .diffImgWrap span{
    width: 48.69%;
    padding: .3em 0;
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: .1em;
  }
  .diff .diffTxt03{
    font-size: 20px;
    letter-spacing: .1em;
    margin-top: 25px;
  }
}
@media screen and (max-width:699px){
}


@media screen and (min-width:700px){
}

.lineUp{
  padding: 12.8vw 0 16vw;
}
.lineUp h2{
  width: 57.33vw;
  margin: 0 auto 6vw;
}
.lineUp ul{
  justify-content: space-evenly;
  align-items: flex-end;
}
.lineUp li{
  text-align: center;
}
.lineUp li img{
  width: 57%;
  display: block;
  margin: auto;
}
.lineUp li p{
  font-size: 2.96vw;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "HiraginoSans-W3", "Hiragino Kaku Gothic ProN", YuGothic, "Yu Gothic Medium", Meiryo, sans-serif;
  letter-spacing: .1em;
  margin: 1vw auto 2vw;
}
.lineUp li a{
  display: grid;
  place-items: center;
  margin: auto;
  padding-bottom: .1em;
  font-size: 2.96vw;
  line-height: 1;
  letter-spacing: .1em;
  text-decoration: none;
  color: #000;
  width: 34vw;
  height: 10vw;
  background-image: url(../img/lineup_btn.png);
  background-size: cover;
  box-sizing: border-box;
}
@media screen and (min-width:700px){
  .lineUp{
    padding: 70px 0 70px;
  }
  .lineUp h2{
    width: 344px;
    margin-bottom: 48px;
  }
  .lineUp li{
    width: 25%;
  }
  .lineUp li img{
    width: 100%;
  }
  .lineUp li p{
    font-size: 18px;
    margin: 8px auto 7px;
  }
  .lineUp li a{
    font-size: 18px;
    letter-spacing: 0;
    width: 166px;
    height: 49px;
  }
}
@media screen and (max-width:699px){
  .lineUp li+li{
    margin-top: 17vw;
  }
}

.other{
  background: #EADED0;
}
.other{
  padding: 9.3vw 0 13vw;
}
.other h2{
  width: 57.33vw;
  margin: 0 auto 6vw;
}
.other .otherTxt01{
  font-size: 4.76vw;
  line-height: 1.4;
  letter-spacing: .1em;
  text-align: center;
  margin-bottom: 6.4vw;
}
.other ul{
  align-items: flex-end;
  justify-content: center;
}
.other li{
  text-align: center;
}
.other li figure{
  width: 49%;
  display: block;
  margin: 0 auto 1vw;
}
.other li h3{
  font-size: 4vw;
  font-weight: 400;
  line-height: 1.26;
  letter-spacing: .2em;
}
.other li p{
  font-size: 3.47vw;
  line-height: 1.38;
  letter-spacing: .1em;
  margin: 3vw auto 0;
}
.other li .otherItem{
  width: 35%;
  margin: 0 auto 2.8vw;
}
.other li a{
  display: grid;
  place-items: center;
  margin: auto;
  padding-bottom: .1em;
  font-size: 2.96vw;
  line-height: 1;
  letter-spacing: .1em;
  text-decoration: none;
  color: #fff;
  width: 36vw;
  height: 10vw;
  background: #998675;
  border-radius: 3px;
  box-sizing: border-box;
  position: relative;
}
.other li a::before{
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 3px;
  left: 3px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom-right-radius: 3px;
}
@media screen and (min-width:700px){
  .other{
    padding: 70px 0 70px;
  }
  .other h2{
    width: 344px;
    margin-bottom: 40px;
  }
  .other .otherTxt01{
    font-size: 27px;
    margin-bottom: 40px;
  }
  .other li{
    width: 31%;
  }
  .other li figure{
    width: 200px;
    margin-bottom: 10px;
  }
  .other li h3{
    font-size: 19px;
    letter-spacing: .1em;
  }
  .other li p{
    font-size: 17px;
    letter-spacing: 0;
    height: 4em;
    margin: 22px auto 12px;
  }
  .other li .otherItem{
    width: 200px;
    margin-bottom: 18px;
  }
  .other li a{
    font-size: 18px;
    letter-spacing: 0;
    width: 166px;
    height: 49px;
  }
}
@media screen and (max-width:699px){
  .other li+li{
    margin-top: 17vw;
  }
  .other li:nth-of-type(1) .otherItem{
    margin-top: -7vw;
  }
  .other li:nth-of-type(2) .otherItem{
    margin-top: -4vw;
  }
  .other li:nth-of-type(3) .otherItem{
    margin-top: 4vw;
  }
}
