@charset "UTF-8";

/* -- -- */
#key {
   background: url("../img/karaage/key-photo.jpg") no-repeat center/cover;
}

#key .wrap {
   height: 100%;
}

@media only screen and (max-width: 767px) {
   #key h2 {
      width: 30%;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
   }
}

@media only screen and (min-width: 768px) {
   #key h2 {
      position: absolute;
      top: 119px;
      right: 0;
   }
}

/* -- -- */
#sec1 {
   background: url("../img/karaage/sec1-bg.png") no-repeat center top/100% auto;
}

@media only screen and (max-width: 767px) {
   #sec1 {
      padding: 80px 0 50px;
   }

   #sec1 .wrap:before {
      content: '';
      width: 70%;
      height: 15%;
      background: url('../img/karaage/sec1-deco1.png') no-repeat center top / cover;
      position: absolute;
      top: -40px;
      left: -10%;
   }

   #sec1 h2 {
      width: 70%;
   }

   #sec1 .photo {
      padding-top: 20px;
   }

   #sec1 .desc {
      text-align: justify;
      padding-top: 20px;
   }

   #sec1 .desc br {
      display: none;
   }

   #sec1 ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding-top: 40px;
   }

   #sec1 ul li {
      width: 45%;
   }

   #sec1 ul li+li {
      margin-left: 5%;
   }
}

@media only screen and (min-width: 768px) {
   #sec1 {
      padding: 266px 0 132px;
   }

   #sec1 h2 {
      margin-left: -120px;
      position: relative;
   }

   #sec1 h2:before {
      content: '';
      width: 880px;
      height: 387px;
      background: url("../img/karaage/sec1-deco1.png") no-repeat center top/cover;
      position: absolute;
      top: -177px;
      left: -287px;
   }

   #sec1 .photo {
      margin-top: 68px;
      margin-left: -163px;
   }

   #sec1 .desc {
      padding: 59px 0 0 70px;
      position: relative;
   }

   #sec1 .desc:before {
      content: '';
      width: 587px;
      height: 575px;
      background: url("../img/karaage/sec1-deco2.png") no-repeat center top/cover;
      position: absolute;
      top: -81px;
      right: -377px;
   }

   #sec1 ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding-top: 68px;
   }

   #sec1 ul li+li {
      margin-left: 100px;
   }
}

@media only screen and (min-width: 768px) and (max-width: 1300px) {
   #sec1 h2 {
      margin-left: -80px;
   }
}

/* -- -- */
@media only screen and (max-width: 767px) {
   #sec2 .ttl {
      font-size: 26px;
      line-height: 40px;
      letter-spacing: 0.02em;
   }

   #sec2 .ttl small {
      font-size: 20px;
   }

   #sec2 .set1 {
      padding-top: 50px;
      position: relative;
   }

   #sec2 .set1:before {
      content: '';
      width: 100%;
      height: 53%;
      background: url('../img/karaage/sec2-deco1.png') no-repeat center top / cover;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec2 .set1 .sec2-slider .slick-dots {
      justify-content: center;
      padding-top: 20px;
   }

   #sec2 .set1 .col {
      padding-top: 20px;
   }

   #sec2 .set1 .col h3 {
      width: 80%;
      margin: 0 auto;
   }

   #sec2 .set1 .col dl dt {
      text-align: center;
      padding-top: 20px;
   }

   #sec2 .set1 .col dl dd {
      text-align: justify;
      padding-top: 20px;
   }

   #sec2 .set1 .col dl dd br {
      display: none;
   }

   #sec2 .set2 {
      padding-top: 50px;
   }

   #sec2 .set2 .col {
      padding-top: 20px;
   }

   #sec2 .set2 h3 {
      width: 70%;
      text-align: center;
      margin: 0 auto;
   }

   #sec2 .set2 dl dt {
      text-align: center;
      padding-top: 10px;
   }

   #sec2 .set2 dl dd {
      text-align: justify;
      padding-top: 20px;
   }

   #sec2 .set2 dl dd br {
      display: none;
   }

   #sec2 .set3 {
      padding: 50px 0;
      position: relative;
   }

   #sec2 .set3:before {
      content: '';
      width: 50%;
      height: 24%;
      background: url('../img/karaage/sec2-deco2.png') no-repeat center top / cover;
      position: absolute;
      top: 0;
      right: 0;
   }

   #sec2 .set3:after {
      content: '';
      width: 60%;
      height: 31%;
      background: url(../img/karaage/sec2-deco3.png) no-repeat center top / cover;
      position: absolute;
      bottom: -12%;
      left: -15%;
      z-index: -1;
   }

   #sec2 .set3 h3 {
      width: 80%;
      margin: 0 auto;
      padding-top: 30px;
   }

   #sec2 .set3 h4 {
      text-align: center;
      padding-top: 10px;
   }

   #sec2 .set3 .photo {
      display: flex;
      flex-wrap: wrap;
      margin: 20px -20px 0;
      position: relative;
   }

   #sec2 .set3 .photo:before {
      content: '';
      width: 0;
      border-left: 1px solid #0d0d0d;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      transform: rotate(14deg) translateX(-50%);
   }

   #sec2 .set3 .photo dl {
      width: 50%;
   }

   #sec2 .set3 .photo dl:nth-child(1) dd {
      width: 40px;
      margin: 0 auto;
      padding-top: 10px;
   }

   #sec2 .set3 .photo dl:nth-child(2) dt {
      width: 40px;
      margin: 0 auto;
      padding-bottom: 10px;
   }

   #sec2 .set3 .desc {
      text-align: justify;
      padding-top: 20px;
   }

   #sec2 .set3 .desc br {
      display: none;
   }
}

@media only screen and (min-width: 768px) {
   #sec2 .ttl {
      font-size: 56px;
      line-height: 90px;
      letter-spacing: 0.02em;
   }

   #sec2 .ttl small {
      font-size: 46px;
   }

   #sec2 .set1 {
      margin-top: 88px;
      padding-top: 70px;
      padding-bottom: 95px;
      position: relative;
   }

   #sec2 .set1 .sec2-slider {
      width: 820px;
      padding-bottom: 36px;
      position: absolute;
      top: 0;
      left: -250px;
   }

   #sec2 .set1 .sec2-slider .slick-dots {
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec2 .set1 .col {
      width: 350px;
      margin-left: auto;
      position: relative;
      z-index: 1;
   }

   #sec2 .set1 .col:before {
      content: '';
      width: 620px;
      height: 735px;
      background: url("../img/karaage/sec2-deco1.png") no-repeat center top/cover;
      position: absolute;
      top: -204px;
      left: -79px;
      z-index: -1;
   }

   #sec2 .set1 .col dl {
      display: flex;
      flex-wrap: wrap;
      flex-direction: row-reverse;
      padding-top: 28px;
      margin-right: -5px;
   }

   #sec2 .set1 .col dl dt {
      width: 180px;
      height: 400px;
   }

   #sec2 .set1 .col dl dt span {
      padding-top: 56px;
   }

   #sec2 .set1 .col dl dd {
      width: 145px;
      height: 390px;
      padding: 62px 30px 0 0;
   }

   #sec2 .set2 {
      padding-bottom: 193px;
      position: relative;
   }

   #sec2 .set2 .col {
      padding-top: 40px;
   }

   #sec2 .set2 .col dl dt {
      padding: 13px 0 40px 0;
   }

   #sec2 .set2 .photo {
      position: absolute;
      top: 0;
      right: -250px;
   }

   #sec2 .set2 .photo:before {
      content: '';
      width: 579px;
      height: 573px;
      background: url("../img/karaage/sec2-deco2.png") no-repeat center top/cover;
      position: absolute;
      top: 382px;
      left: 213px;
      z-index: -1;
   }

   #sec2 .set3 {
      padding-bottom: 93px;
   }

   #sec2 .set3 .wrap:before {
      content: '';
      width: 619px;
      height: 650px;
      background: url("../img/karaage/sec2-deco3.png") no-repeat center top/cover;
      position: absolute;
      bottom: -300px;
      left: -438px;
   }

   #sec2 .set3 hgroup {
      padding-left: 163px;
   }

   #sec2 .set3 hgroup h4 {
      padding-top: 12px;
   }

   #sec2 .set3 .photo {
      display: flex;
      flex-wrap: wrap;
      padding-top: 43px;
      position: relative;
   }

   #sec2 .set3 .photo:before {
      content: '';
      width: 0;
      border-left: 1px solid #0d0d0d;
      position: absolute;
      top: 70px;
      bottom: -10px;
      left: 50%;
      transform: rotate(14deg) translateX(-50%);
   }

   #sec2 .set3 .photo dl {
      width: 50%;
   }

   #sec2 .set3 .photo dl:nth-child(1) dd {
      text-align: center;
      padding: 32px 42px 0 0;
   }

   #sec2 .set3 .photo dl:nth-child(2) dt {
      order: 1;
      text-align: center;
      padding: 80px 0 24px 30px;
   }

   #sec2 .set3 .desc {
      text-align: center;
      padding-top: 79px;
   }
}

/* -- -- */
#sec3 {
   background: url("../img/shared/footer-bg.jpg") repeat center top;
   color: #fff;
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec3 .deco {
      width: 40%;
      margin-left: auto;
   }

   #sec3 h2 {
      width: 80%;
      margin: 0 auto;
      padding-top: 30px;
   }

   #sec3 .desc {
      text-align: justify;
      padding-top: 10px;
   }
   #sec3 .desc br{
      display: none;
   }

   #sec3 .box {
      padding: 50px 20px 80px;
   }

   #sec3 .box .item+.item {
      padding-top: 50px;
   }

   #sec3 .box .item .photo {
      padding: 20px 0 40px;
   }
      #sec3 .box .item .price {
     font-size: 8vw;
	   margin: 0% 0 10%;
   }
     #sec3 .box .item .price span{
     font-size: 5vw;

   }
}

@media only screen and (min-width: 768px) {
   #sec3 {
      padding: 117px 0 129px;
   }

   #sec3 .deco {
      position: absolute;
      top: 0;
      right: 0;
   }

   #sec3 .desc {
      margin-top: -14px;
   }

   #sec3 .box {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding-top: 64px;
   }

   #sec3 .box .item {
      width: 660px;
   }

   #sec3 .box .item+.item {
      margin-left: 90px;
   }

   #sec3 .box .item h3 {
      padding-bottom: 32px;
   }
   #sec3 .box .item .price {
     font-size: 28px;
	   margin: 20px 0 20px;
   }
   #sec3 .box .item .price span{
     font-size: 23px;
	   margin: 20px 0 20px;
   }

   #sec3 .box .item .photo {
      padding-bottom: 28px;
   }
}

@media only screen and (min-width: 768px) and (max-width: 1500px) {
   #sec3 .box .item {
      width: 45%;
   }

   #sec3 .box .item+.item {
      margin-left: 5%;
   }
}

/* -- -- */
@media only screen and (max-width: 767px) {
   #sec4 {
      padding: 80px 0;
   }
   #sec4 .box{
      padding-top: 40px;
   }
   #sec4 .box .item {
      position: relative;
   }

   #sec4 .box .item:after {
      content: '';
      width: 45px;
      height: 19px;
      background: url("../img/karaage/sec4-arrow.png") no-repeat center top/cover;
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
   }

   #sec4 .box .item:last-child:after {
      display: none;
   }

   #sec4 .box .item+.item {
      margin-top: 50px;
   }

   #sec4 .box .item dd {
      background-color: #fff;
      padding: 40px 20px 20px;
      position: relative;
   }

   #sec4 .box .item dd .num {
      width: 40px;
      position: absolute;
      top: 20px;
      right: 20px;
   }

   #sec4 .box .item dd h3 {
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      font-size: 24px;
      line-height: 36px;
      letter-spacing: 0.02em;
   }

   #sec4 .box .item dd .desc {
      padding-top: 10px;
   }
}

@media only screen and (min-width: 768px) {
   #sec4 {
      padding: 170px 0 233px;
   }

   #sec4 .box {
      padding-top: 82px;
   }

   #sec4 .box .item {
      display: flex;
      flex-wrap: wrap;
      position: relative;
   }

   #sec4 .box .item:after {
      content: '';
      width: 56px;
      height: 24px;
      background: url("../img/karaage/sec4-arrow.png") no-repeat center top/cover;
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
   }

   #sec4 .box .item:last-child:after {
      display: none;
   }

   #sec4 .box .item+.item {
      margin-top: 53px;
   }

   #sec4 .box .item:nth-child(3) {
      margin-top: 63px;
   }

   #sec4 .box .item dt {
      width: 528px;
   }

   #sec4 .box .item dd {
      width: 472px;
      box-sizing: border-box;
      background-color: #fff;
      padding: 62px 50px 20px;
      position: relative;
   }

   #sec4 .box .item dd .num {
      position: absolute;
      top: 20px;
      right: 13px;
   }

   #sec4 .box .item dd h3 {
      font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
      font-size: 30px;
      line-height: 50px;
      letter-spacing: 0.02em;
   }

   #sec4 .box .item dd .desc {
      line-height: 30px;
      padding: 12px 0 0 4px;
   }
}

/* -- -- */
#sec5 {
   background: url("../img/shared/footer-bg.jpg") repeat center top;
   color: #fff;
}

@media only screen and (max-width: 767px) {
   #sec5 .col {
      padding: 40px 20px 80px;
   }

   #sec5 .col h2 {
      width: 70%;
   }

   #sec5 .col .desc {
      text-align: justify;
      padding: 20px 0 40px;
   }
   #sec5 .col .desc br{
      display: none;
   }

   #sec5 .photo {
      width: 100%;
      padding-top: 85%;
      background: url("../img/karaage/sec5-photo.jpg") no-repeat center/cover;
   }
}

@media only screen and (min-width: 768px) {
   #sec5 {
      display: flex;
      flex-wrap: wrap;
      position: relative;
      z-index: 1;
      margin-bottom: -1px;
   }

   #sec5 .col {
      width: 40%;
      box-sizing: border-box;
      order: 1;
      padding: 93px 20px 110px;
   }

   #sec5 .col .inr {
      width: 100%;
      max-width: 470px;
      margin: 0 auto;
   }

   #sec5 .col .desc {
      line-height: 30px;
      padding: 46px 0 64px;
   }

   #sec5 .photo {
      width: 60%;
      background: url("../img/karaage/sec5-photo.jpg") no-repeat center/cover;
      order: 2;
   }
}