@charset "UTF-8";
#key li:nth-child(1) {
  background: url("../img/concept/key.jpg") no-repeat center/cover;
}


body {
  color: #000;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 16px;
  line-height: 40px;
  letter-spacing: 0;
  background: url("../img/concept/bg.jpg") 0 0 repeat;
  min-width: inherit;
  min-height: inherit;
  max-height: 100%;
}

.d-flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.bd-top {
  position: relative;
}

.bd-top:before {
  content: '';
  background: url("../img/concept/bd.jpg") 0 0 repeat-x;
  width: 100%;
  height: 6px;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}

#sec1 {
  padding-top: 170px;
  padding-bottom: 134px;
  background: url("../img/concept/bg1.png") 0 top repeat-x, url("../img/concept/sec1_bg2.png") 0 bottom repeat-x;
}

#sec1 .group-tt {
  position: relative;
  margin-left: -53px;
}

#sec1 .group-tt h2 {
  position: absolute;
  top: 0;
  left: 103px;
  z-index: 1;
}

#sec1 .txt {
  text-align: center;
  margin-top: 27px;
  margin-bottom: 37px;
}

#sec1 .btn1 {
  width: 321px;
  margin: 0 auto;
}

#sec2 {
  background-color: #16151a;
  color: #fff;
  background: #16151a url("../img/concept/sec2_bg.png") center 0 no-repeat;
}

#sec2 .wrap {
  padding-top: 611px;
  padding-bottom: 116px;
}

#sec2 h2 {
  position: absolute;
  top: 198px;
  right: 206px;
}

#sec2 .content h3 {
  line-height: 64px;
  font-size: 30px;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
  font-family: 'Noto Serif JP', serif;
}

#sec2 .content h3 span {
  font-size: 42px;
}

#sec2 .content .txt {
  width: 432px;
  line-height: 36px;
}

#sec2 .row1 {
  margin-bottom: 82px;
  position: relative;
}

#sec2 .row1 .content {
  margin-left: 483px;
}

#sec2 .row2 {
  margin-bottom: 497px;
  position: relative;
}

#sec2 .row3 {
  margin-bottom: 513px;
  position: relative;
}

#sec2 .row3 .content {
  margin-left: 567px;
}

#sec2 .row4 {
  position: relative;
}

#sec2 .img1 {
  position: absolute;
  top: -334px;
  left: -247px;
}

#sec2 .img2 {
  position: absolute;
  top: 75px;
  right: 0;
}

#sec2 .img3 {
  position: absolute;
  top: -8px;
  left: -52px;
}

#sec2 .img4 {
  position: absolute;
  top: -310px;
  right: -54px;
}

#sec3 {
  background: url("../img/concept/sec3_bgdeco.png") 0 bottom repeat-x, url("../img/concept/sec3_bg1.png") center 0 no-repeat, url("../img/concept/bg2.jpg") 0 0 repeat;
}

#sec3 .wrap {
  padding-top: 81px;
  padding-bottom: 184px;
}

#sec3 .txt-sub {
  text-align: center;
  margin-bottom: 73px;
}

#sec3 .group-1 {
  margin-left: 515px;
  margin-bottom: 286px;
}

#sec3 .group-1 h2 {
  margin-left: -15px;
}

#sec3 .group-1 .price {
  font-size: 35px;
  line-height: 70px;
  letter-spacing: 0.05em;
  margin-bottom: 29px;
  text-align: right;
  width: 389px;
  font-family: 'Noto Serif JP', serif;
}

#sec3 .group-1 .price span {
  font-size: 25px;
}

#sec3 .group-1 .txt {
  width: 443px;
  line-height: 36px;
}

#sec3 .group-1 .img1 {
  position: absolute;
  top: 0;
  left: -247px;
}

#sec3 .group2 {
  justify-content: space-between;
  margin-bottom: 211px;
  margin-left: -41px;
  margin-right: -41px;
}

#sec3 .group2 .col:last-child:before {
  display: none;
}

#sec3 .group2 .col {
  width: 321px;
  min-height: 689px;
  box-sizing: border-box;
  background: url("../img/concept/bg.jpg") 0 0 repeat;
  position: relative;
}

#sec3 .group2 .col h3 {
  font-size: 30px;
  line-height: 36px;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 10px;
  font-family: 'Noto Serif JP', serif;
}

#sec3 .group2 .col .price {
  font-size: 20px;
  line-height: 58px;
  letter-spacing: 0.05em;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
}

#sec3 .group2 .col .price span {
  font-size: 15px;
}

#sec3 .group2 .col .txt {
  text-align: center;
  width: 223px;
  margin: 0 auto;
  line-height: 36px;
}

#sec3 .group-3 {
  position: relative;
  margin-left: 30px;
}

#sec3 .group-3 .txt {
  width: 393px;
  line-height: 36px;
}

#sec3 .group-3 .img2 {
  position: absolute;
  top: -72px;
  right: -40px;
}

#sec4 {
  background: #1d1c21 url("../img/concept/sec4-pc-bg.png") center 0 no-repeat;
  color: #fff;
  padding-top: 156px;
  padding-bottom: 140px;
}

#sec4 h2 {
  width: 479px;
  margin: 0 auto 83px;
}

#sec4 .slick-dots {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  position: absolute;
  right: 0;
  bottom: -10px;
}

#sec4 .slick-dots li {
  margin-left: 5px;
  margin-right: 5px;
}

#sec4 .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 16px;
  height: 16px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
  position: relative;
}

#sec4 .slick-dots li button:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  box-sizing: border-box;
}

#sec4 .slick-dots li.slick-active button:before {
  background-color: #000;
  border: 5px solid #fff;
  border-radius: 50%;
}

#sec4 .row {
  margin-bottom: 122px;
}

#sec4 .row .left {
  margin-left: -170px;
  margin-right: 69px;
  width: 638px;
}

#sec4 .row .right {
  padding-top: 36px;
}

#sec4 .row .right h3 {
  font-size: 35px;
  line-height: 70px;
  letter-spacing: 0.05em;
  font-family: 'Noto Serif JP', serif;
}

#sec4 .row .right .price {
  text-align: right;
  font-size: 30px;
  line-height: 25px;
  letter-spacing: 0.05em;
  width: 472px;
  margin-bottom: 27px;
  font-family: 'Noto Serif JP', serif;
}

#sec4 .row .right .price span {
  font-size: 20px;
}

#sec4 .row .right .txt {
  line-height: 36px;
}

#sec4 .btn1 {
  width: 720px;
  margin: 0 auto;
}

#sec5 {
  background: url("../img/concept/bg1.png") 0 0 repeat-x, url("../img/concept/sec1_bg2.png") 0 bottom repeat-x;
  padding-top: 170px;
  padding-bottom: 120px;
}

#sec5 .sub {
  text-align: center;
  margin-bottom: 35px;
  line-height: 36px;
}

#sec5 .row {
  justify-content: space-between;
}

#sec5 .row .col {
  width: 319px;
  box-sizing: border-box;
}

#sec5 .menu {
  margin-bottom: 32px;
}

#sec5 .menu h3 {
  margin-bottom: 12px;
  font-size: 23px;
  line-height: 50px;
  text-align: center;
  letter-spacing: 0;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: bold;
}

#sec5 .menu h3.fz22 {
  font-size: 22px;
}

#sec5 .menu h4 {
  line-height: 38px;
  margin-top: 16px;
  margin-bottom: -13px;
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0;
  color: #ba0000;
}

#sec5 .menu .mt10 {
  margin-top: 10px;
}

#sec5 .menu .sub {
  margin-top: -10px;
  margin-bottom: 3px;
}

#sec5 .menu dl.lh30 {
  line-height: 30px;
  padding-top: 10px;
  padding-bottom: 10px;
}

#sec5 .menu dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  font-size: 16px;
  line-height: 50px;
  letter-spacing: 0;
  border-bottom: 1px solid #000;
}

#sec5 .menu dl dt {
  text-align: left;
}

#sec5 .menu dl dd {
  text-align: right;
}

#sec5 .group-1 {
  margin-bottom: 66px;
}

#sec5 .group-1 h2 {
  width: 476px;
  margin: 0 auto 28px;
}

#sec5 .group-2 h2 {
  width: 478px;
  margin: 0 auto 35px;
}

#sec5 .group-2 .sub {
  margin-bottom: 32px;
  line-height: 34px;
}

#sec5 .group-2 dl {
  line-height: 48px;
}