#key .slide-item-1 {
   background: url("../img/index/key-img-1_sp.jpg") no-repeat center top/cover;
}

#key .slide-item-2 {
   background: url("../img/index/key-img-2_sp.jpg") no-repeat center top/cover;
}

#key .slide-item-3 {
   background: url("../img/index/key-img-3_sp.jpg") no-repeat center top/cover;
}

#key .slide-item-4 {
   background: url("../img/index/key-img-4_sp.jpg") no-repeat center top/cover;
}

@media only screen and (min-width: 768px) {
   #key .slide-item-1 {
      background-image: url("../img/index/key-img-1.jpg");
   }

   #key .slide-item-2 {
      background-image: url("../img/index//key-img-2.jpg");
   }

   #key .slide-item-3 {
      background-image: url("../img/index//key-img-3.jpg");
   }

   #key .slide-item-4 {
      background-image: url("../img/index//key-img-4.jpg");
   }
}

/* -- -- */
.dark_cover {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-color: #000000;
   opacity: 0;
   pointer-events: none;
}

#sec1 {
   display: flex;
   align-items: center;
   min-height: 120vh;
   color: #fff;
   position: relative;
}

#sec1 .fade-blur {
   opacity: 0;
   filter: blur(24px);
   will-change: filter;
   transition: opacity 0ms 1s, filter 1s, -webkit-filter 1s;
}

#sec1.enable .fade-blur {
   opacity: 1;
   filter: blur(0px);
   transition: opacity 0ms, filter 1s, -webkit-filter 1s;
}

@media only screen and (max-width: 767px) {
   main {
      background: url("../img/index/sec1-bg-img_sp.jpg") no-repeat center top/100% auto;
   }

   #sec1 {
      padding: 10vw 0 0;
   }

   #sec1:before {
      content: '';
      width: 100%;
      height: 100%;
      background-color: #080605;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
   }

   #sec1 h2 {
      width: 40vw;
      margin: 0 auto;
   }

   #sec1 .txt {
      padding-top: 16vw;
   }

   #sec1 .txt span {
      display: block;
      padding-bottom: 10vw;
   }

   #sec1 .txt span:last-child {
      padding-bottom: 0;
   }
}

@media only screen and (min-width: 768px) {
   main {
      background: url("../img/index/sec1-deco.jpg") no-repeat center top;
   }

   #sec1 {
      padding: 100px 0 0;
   }

   #sec1:before {
      content: '';
      width: 100%;
      background: url("../img/index/sec1-bg-img.png") no-repeat center top/cover;
      position: absolute;
      top: -42px;
      bottom: 0;
      left: 0;
   }

   #sec1 .wrap {
      display: flex;
      flex-direction: row-reverse;
      padding-right: 120px;
   }

   #sec1 .wrap:before {
      content: '';
      width: 450px;
      height: 500px;
      background: url("../img/index/sec1-deco-1.png") no-repeat center top/cover;
      position: absolute;
      top: -355px;
      right: -150px;
   }

   #sec1 .txt {
      width: 420px;
      height: 420px;
      letter-spacing: 0.2em;
      line-height: 40px;
      padding: 88px 54px 0 0;
   }
}

/* -- -- */
#sec2 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec2 {
      padding: 18vw 4vw 0;
   }

   #sec2:before {
      content: '';
      width: 100%;
      height: 30vw;
      background: url("../img/index/sec2-bg-img.jpg") no-repeat center top/cover;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec2 .wrap {
      background: url("../img/index/sec2-bg.png") no-repeat center top/cover;
      padding: 17vw 4vw 20vw;
   }

   #sec2 h2 {
      width: 60vw;
      margin: 0 auto;
   }

   #sec2 .price {
      padding-top: 10vw;
   }

   #sec2 .note {
      text-align: justify;
      padding-top: 6vw;
   }

   #sec2 .txt {
      display: flex;
      flex-direction: row-reverse;
      justify-content: center;
      border-right: 1px solid rgba(0, 0, 0, 0.3);
      border-left: 1px solid rgba(0, 0, 0, 0.3);
      margin: 13.5vw auto;
      padding: 4vw 0;
      box-sizing: border-box;
      font-size: 4vw;
      line-height: 2.5;
   }

   #sec2 .txt li {
      width: 10vw;
      height: 30vw;
   }

   #sec2 .box-cta {
      background: url("../img/shared/body-bg.jpg") repeat center top;
      box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.19);
      box-sizing: border-box;
      padding: 12vw 6vw;
   }

   #sec2 .box-cta h3 {
      width: 60vw;
      margin: 0 auto;
      padding-bottom: 8vw;
   }

   #sec2 .box-cta .bnr {
      display: flex;
      flex-direction: column;
      gap: 6vw;
   }

   #sec2 .box-cta .bnr h4 {
      background-color: #000;
      color: #fff;
      font-weight: 200;
      font-size: 4vw;
      margin-bottom: 4vw;
      padding: 1vw 0;
   }

   #sec2 .box-cta .bnr hr {
      display: none;
   }
}

@media only screen and (min-width: 768px) {
   #sec2 {
      padding: 140px 0 0;
   }

   #sec2:before {
      content: '';
      width: 100%;
      height: 230px;
      background: url("../img/index/sec2-bg-img.jpg") no-repeat center top/cover;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec2 .wrap {
      background: url("../img/index/sec2-bg.png") no-repeat center top;
      padding: 135px 0 133px;
   }

   #sec2 h2 span {
      padding-bottom: 10px;
   }

   #sec2 .price {
      padding-top: 74px;
   }

   #sec2 .note {
      padding-top: 28px;
   }

   #sec2 .txt {
      display: flex;
      flex-direction: row-reverse;
      width: 495px;
      border-right: 1px solid rgba(0, 0, 0, 0.3);
      border-left: 1px solid rgba(0, 0, 0, 0.3);
      margin: 50px auto 72px;
      padding: 17px 46px 15px 0;
      box-sizing: border-box;
      font-size: 16px;
      line-height: 50px;
   }

   #sec2 .box-cta {
      width: 820px;
      background: url("../img/shared/body-bg.jpg") repeat center top;
      box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.19);
      box-sizing: border-box;
      margin: 0 auto;
      padding: 67px 0 81px;
   }

   #sec2 .box-cta h3 {
      padding-bottom: 60px;
   }

   #sec2 .box-cta .bnr {
      display: flex;
      justify-content: center;
      gap: 45px;
   }

   #sec2 .box-cta .bnr .col {
      width: 280px;
      padding-bottom: 10px;
   }

   #sec2 .box-cta .bnr h4 {
      background-color: #000;
      color: #fff;
      font-weight: 200;
      font-size: 18px;
      margin-bottom: 23px;
      padding: 8px 0;
   }

   #sec2 .box-cta .bnr hr {
      height: auto;
      border: 0;
      border-left: 1px solid rgba(0, 0, 0, 0.25);
   }
}

/* -- -- */
#sec3 {
   position: relative;
}

#sec3 .slider-nav .slick-track {
   display: grid;
   width: 100% !important;
   transform: none !important;
}

#sec3 .slider-nav .slick-slide {
   height: auto;
   float: none;
   border: 1px solid transparent;
}

#sec3 .slider-nav .slick-slide img {
   filter: grayscale(100%);
   transition: all 0.3s;
}

#sec3 .slider-nav .slick-slide.slick-current {
   border-color: rgba(255, 255, 255, 0.3);
}

#sec3 .slider-nav .slick-slide.slick-current img {
   filter: grayscale(0%);
}

@media only screen and (max-width: 767px) {
   #sec3 {
      background: url("../img/index/sec3-deco-2_sp.jpg") no-repeat center bottom/108% auto;
   }

   #sec3:before {
      content: '';
      width: 100%;
      padding-top: 180vw;
      background: url("../img/index/sec3-deco-1_sp.png") no-repeat center top/cover;
      position: absolute;
      top: -20vw;
      left: 0;
   }

   #sec3 h2 {
      width: 84vw;
      margin: 0 auto;
   }

   #sec3 .set-1 {
      padding-bottom: 13.5vw;
      position: relative;
   }

   #sec3 .set-1 h3 {
      width: 25vw;
      text-align: center;
      padding: 20vw 0;
      position: absolute;
      top: 0;
      right: 8vw;
   }

   #sec3 .set-1 h3 img {
      max-width: 8vw;
      padding-bottom: 4vw;
   }

   #sec3 .set-1 .txt {
      padding-top: 12vw;
   }

   #sec3 .set-1 .photo {
      position: relative;
   }

   #sec3 .set-1 .photo-1 {
      width: 65vw;
      height: 87.5vw;
      margin-left: -8vw;
   }

   #sec3 .set-1 .photo-2 {
      width: 52vw;
      height: 42vw;
      position: absolute;
      top: 63vw;
      right: -8vw;
   }

   #sec3 .set-1 .photo-3 {
      width: 52.4vw;
      height: 40vw;
      padding: 25vw 0 0 28vw;
   }

   #sec3 .set-1 .photo-4 {
      width: 22vw;
      height: 66vw;
      position: absolute;
      top: 120vw;
      left: 6.2vw;
   }

   #sec3 .set-1 .photo-5 {
      padding-top: 14vw;
   }

   #sec3 .set-2 {
      padding-bottom: 15vw;
   }

   #sec3 .set-2 figure {
      width: 54vw;
      height: 68vw;
      position: absolute;
      top: 0;
      right: 0;
   }

   #sec3 .set-2 h3 {
      display: flex;
      align-items: baseline;
      gap: 3.2vw;
      padding: 30vw 0;
   }

   #sec3 .set-2 h3 img {
      max-width: 15.8vw;
   }

   #sec3 .set-2 .txt {
      padding-top: 12vw;
   }

   #sec3 .set-2 .txt p+p {
      padding-top: 8vw;
   }

   #sec3 .set-3 {
      color: #fff;
      padding-bottom: 20vw;
   }

   #sec3 .set-3 figure {
      width: 61vw;
      height: 68vw;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec3 .set-3 h3 {
      width: 33vw;
      margin-left: auto;
      padding: 25vw 0;
      text-align: center;
      margin-right: -3vw;
   }

   #sec3 .set-3 h3 img {
      max-width: 20vw;
      padding-bottom: 3vw;
   }

   #sec3 .set-3 .txt {
      padding-top: 12vw;
   }

   #sec3 .set-3 .txt p+p {
      padding-top: 8vw;
   }

   #sec3 .set-4 {
      color: #fff;
      padding-bottom: 26vw;
   }

   #sec3 .set-4 h3 {
      max-width: 70vw;
      margin: 0 auto;
   }

   #sec3 .set-4 h3 .h-sub {
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      position: relative;
   }

   #sec3 .set-4 h3 .h-sub:nth-child(1) {
      left: -6vw;
      padding: 0 2vw 0 4vw;
   }

   #sec3 .set-4 h3 .h-sub:nth-child(3) {
      left: 4vw;
      padding: 2vw 4vw 0 2vw;
   }

   #sec3 .set-4 h3 img {
      padding-top: 4vw;
      width: 70%;
   }

   #sec3 .set-4 .slider-for {
      width: 150vw;
      margin-left: -15vw;
   }

   #sec3 .set-4 .slider-nav .slick-track {
      grid-template-rows: repeat(3, 1fr);
      grid-auto-flow: column;
      gap: 2vw;
   }

   #sec3 .set-4 .slider-nav .slick-track:before,
   #sec3 .set-4 .slider-nav .slick-track:after {
      display: none;
   }
}

@media only screen and (min-width: 768px) {
   #sec3:before {
      content: '';
      width: 100%;
      background: url("../img/index/sec3-deco-1.jpg") no-repeat center top, url("../img/index/sec3-deco-2.jpg") no-repeat center bottom;
      position: absolute;
      top: -612px;
      bottom: 0;
      left: 0;
      z-index: -1;
   }

   #sec3 h2 {
      padding-bottom: 55px;
      position: relative;
   }

   #sec3 h2:before {
      content: '';
      width: 600px;
      height: 495px;
      background: url("../img/index/sec3-deco-3.png") no-repeat center top/cover;
      position: absolute;
      top: 305px;
      left: calc(50% + 90px);
   }

   #sec3 .set-1 {
      padding-bottom: 160px;
   }

   #sec3 .set-1 h3 {
      width: 120px;
      margin-left: auto;
      padding: 210px 0;
   }

   #sec3 .set-1 h3 span {
      padding-top: 22px;
   }

   #sec3 .set-1 .photo-1 {
      width: 1027px;
      position: absolute;
      top: 0;
      left: -250px;
   }

   #sec3 .set-1 .photo-2 {
      width: 472px;
      margin-left: auto;
      position: relative;
      left: 42px;
   }

   #sec3 .set-1 .photo-3 {
      width: 483px;
      padding-left: 48px;
      position: relative;
      top: -78px;
   }

   #sec3 .set-1 .photo-4 {
      width: 165px;
      position: absolute;
      bottom: 237px;
      left: -117px;
   }

   #sec3 .set-1 .photo-5 {
      width: 632px;
      position: absolute;
      bottom: 0;
      right: -250px;
   }

   #sec3 .set-1 .txt {
      width: 190px;
      height: 420px;
      padding: 25px 0 0 190px;
   }

   #sec3 .set-2 {
      padding-bottom: 92px;
   }

   #sec3 .set-2 figure {
      width: 601px;
      position: absolute;
      top: 0;
      left: -50px;
   }

   #sec3 .set-2 h3 {
      display: flex;
      justify-content: flex-end;
      align-items: baseline;
      gap: 14px;
      padding: 95px 10px 57px 0;
   }

   #sec3 .set-2 h3 span {
      position: relative;
      bottom: 3px;
   }

   #sec3 .set-2 .txt {
      display: flex;
      flex-direction: row-reverse;
      gap: 20px;
   }

   #sec3 .set-2 .txt p {
      width: 245px;
      height: 400px;
   }

   #sec3 .set-2 .txt p+p {
      width: 140px;
      padding-top: 66px;
   }

   #sec3 .set-3 {
      color: #fff;
      padding-bottom: 367px;
   }

   #sec3 .set-3 h3 {
      display: flex;
      align-items: baseline;
      gap: 32px;
      padding-top: 114px;
      position: relative;
      margin-right: 0;
   }

   #sec3 .set-3 h3 span {
      position: relative;
      bottom: 5px;
   }

   #sec3 .set-3 .txt {
      padding-top: 35px;
      position: relative;
   }

   #sec3 .set-3 .txt p+p {
      padding-top: 24px;
   }

   #sec3 .set-3 figure {
      position: absolute;
      top: 0;
      right: -250px;
   }

   #sec3 .set-4 {
      color: #fff;
      padding-bottom: 95px;
   }

   #sec3 .set-4 h3 .h-sub {
      line-height: 20px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.2);
      position: relative;
   }

   #sec3 .set-4 h3 .h-sub:nth-child(1) {
      left: -43px;
      padding: 0 10px 0 30px;
   }

   #sec3 .set-4 h3 .h-sub:nth-child(3) {
      left: 30px;
      padding: 12px 30px 0 10px;
   }

   #sec3 .set-4 h3 img {
      padding-top: 28px;
      width: auto;
   }

   #sec3 .set-4 .block {
      position: relative;
      padding-top: 15px;
   }

   #sec3 .set-4 .block .slider-for {
      width: 1218px;
      left: -178px;
   }

   #sec3 .set-4 .block .slider-nav {
      width: 312px;
      position: absolute;
      top: 85px;
      right: 24px;
   }

   #sec3 .set-4 .block .slider-nav .slick-track {
      grid-template-rows: repeat(4, 1fr);
      grid-auto-flow: column;
      gap: 10px;
   }

   #sec3 .set-4 .block .slider-nav .slick-track:before,
   #sec3 .set-4 .block .slider-nav .slick-track:after {
      display: none;
   }

   #sec3 .slider-nav .slick-slide {
      cursor: pointer;
      border-color: rgba(255, 255, 255, 0.3);
      transition: all 0.3s;
   }

   #sec3 .slider-nav .slick-slide:hover img {
      filter: grayscale(0%);
   }
}

@media only screen and (min-width: 1241px) {
   #sec3 .set-1 .photo-1 {
      left: -150px;
   }

   #sec3 .set-1 .photo-2 {
      left: -58px;
   }

   #sec3 .set-1 .photo-3 {
      padding-left: 148px;
   }

   #sec3 .set-1 .photo-4 {
      left: -17px;
   }

   #sec3 .set-1 .photo-5 {
      right: -150px;
   }

   #sec3 .set-1 .txt {
      padding-left: 303px;
   }

   #sec3 .set-2 .wrap {
      width: 1080px;
   }

   #sec3 .set-2 figure {
      left: 10px;
   }

   #sec3 .set-3 h3,
   #sec3 .set-3 .txt {
      margin-left: -25px;
   }
}

/* -- -- */
#sec4 {
   position: relative;
}

#sec4 .slider-fade .slick-list,
#sec4 .slider-fade .slick-track,
#sec4 .slider-fade .slick-slide {
   width: 100%;
   height: 100%;
}

@media only screen and (max-width: 767px) {
   #sec4 {
      background: url("../img/index/sec4-deco_sp.jpg") no-repeat bottom right/100% auto;
      padding-bottom: 16vw;
   }

   #sec4 .slider-fade {
      width: 100%;
      height: 71.6vw;
   }

   #sec4 .slider-fade:after {
      content: '';
      width: 100%;
      height: 10.6vw;
      background-color: #353535;
      position: absolute;
      bottom: 0;
      left: 0;
      mix-blend-mode: color;
   }

   #sec4 .slider-fade .slick-dots {
      justify-content: center;
      align-items: flex-end;
      gap: 10px;
      width: 100%;
      position: absolute;
      bottom: 0;
      left: 0;
   }

   #sec4 .slider-fade .slick-dots li {
      width: 1px;
      height: 5.3vw;
   }

   #sec4 .slider-fade .slick-dots li.slick-active {
      height: 10.6vw;
   }

   #sec4 .slider-fade .slide-1 {
      background: url("../img/index/sec4-slide-img-1_sp.jpg") no-repeat center top/cover;
   }

   #sec4 .slider-fade .slide-2 {
      background: url("../img/index/sec4-slide-img-2_sp.jpg") no-repeat center top/cover;
   }

   #sec4 .slider-fade .slide-3 {
      background: url("../img/index/sec4-slide-img-3_sp.jpg") no-repeat center top/cover;
   }

   #sec4 h2 {
      position: relative;
      padding-top: 16vw;
   }

   #sec4 h2:before {
      content: '';
      width: 0;
      height: 10.6vw;
      border-left: 1px solid;
      position: absolute;
      top: 0;
      left: calc(50% - 1px);
   }

   #sec4 h2 img {
      max-width: 42vw;
   }

   #sec4 .txt {
      padding-top: 8vw;
   }

   #sec4 .photo {
      padding-top: 8vw;
   }
}

@media only screen and (min-width: 768px) {
   #sec4 {
      background: url("../img/index/sec4-deco.png") no-repeat bottom right;
      padding-bottom: 175px;
      top: -1px;
   }

   #sec4 .slider-fade {
      width: 100%;
      height: 537px;
   }

   #sec4 .slider-fade:after {
      content: '';
      width: 100%;
      height: 80px;
      background-color: #353535;
      position: absolute;
      bottom: 0;
      left: 0;
      mix-blend-mode: color;
   }

   #sec4 .slider-fade .slide-1 {
      background: url("../img/index/sec4-slide-img-1.jpg") no-repeat center top/cover;
   }

   #sec4 .slider-fade .slide-2 {
      background: url("../img/index/sec4-slide-img-2.jpg") no-repeat center top/cover;
   }

   #sec4 .slider-fade .slide-3 {
      background: url("../img/index/sec4-slide-img-3.jpg") no-repeat center top/cover;
   }

   #sec4 .slider-fade .slick-dots {
      align-items: flex-end;
      gap: 10px;
      position: absolute;
      bottom: 0;
      left: calc(50% - 238px);
   }

   #sec4 .slider-fade .slick-dots li {
      width: 1px;
      height: 40px;
   }

   #sec4 .slider-fade .slick-dots li.slick-active {
      height: 80px;
   }

   #sec4 .wrap {
      display: flex;
      gap: 77px;
      padding: 105px 0 0 170px;
   }

   #sec4 h2 {
      position: relative;
      padding-top: 3px;
   }

   #sec4 h2:before {
      content: '';
      width: 0;
      height: 80px;
      border-left: 1px solid;
      position: absolute;
      bottom: calc(100% + 27px);
      left: calc(50% + 1px);
   }

   #sec4 h2 span {
      padding-bottom: 10px;
   }

   #sec4 .txt {
      width: 480px;
   }

   #sec4 .photo {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      padding-top: 100px;
   }

   #sec4 .photo figure:nth-child(1) {
      padding-top: 47px;
   }

   #sec4 .photo figure:nth-child(2) {
      padding-top: 115px;
      padding-left: 36px;
   }

   #sec4 .photo figure:nth-child(3) {
      padding-left: 32px;
   }

   #sec4 .photo figure:nth-child(4) {
      padding-top: 47px;
   }
}

/* -- -- */
#sec5 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec5 {
      display: flex;
      flex-direction: column-reverse;
   }

   #sec5 .col {
      background: url("../img/index/sec5-bg_sp.jpg") no-repeat center top/cover;
      color: #fff;
      padding: 16vw 8vw;
   }

   #sec5 h2 {
      position: relative;
   }

   #sec5 h2 img {
      max-width: 16vw;
   }

   #sec5 .txt,
   #sec5 .button {
      padding-top: 8vw;
   }

   #sec5 .button a {
      border-color: rgba(255, 255, 255, 0.5);
   }

   #sec5 .button a:after {
      content: '';
      width: 3.4vw;
      height: 3vw;
      background: url("../img/index/icon-blank.png") no-repeat center top/cover;
      right: 4vw;
      border-top: 0;
      transform: translateY(-50%);
   }
}

@media only screen and (min-width: 768px) {
   #sec5 {
      display: grid;
      grid-template-columns: 614px 1fr;
      height: 820px;
   }

   #sec5:before {
      content: '';
      width: 480px;
      height: 315px;
      background: url("../img/index/sec5-deco.png") no-repeat center top/cover;
      position: absolute;
      top: -174px;
      left: calc(50% - 310px);
   }

   #sec5 figure {
      min-height: 817px;
   }

   #sec5 .col {
      display: flex;
      flex-direction: column;
      justify-content: center;
      background: url("../img/index/sec5-bg.jpg") no-repeat center top/cover;
      color: #fff;
   }

   #sec5 h2 span {
      padding-bottom: 10px;
   }

   #sec5 .txt {
      padding-top: 55px;
   }

   #sec5 .button {
      padding-top: 50px;
   }

   #sec5 .button a {
      width: 290px;
      height: 50px;
      border-color: rgba(255, 255, 255, 0.5);
   }

   #sec5 .button a:after {
      content: '';
      width: 11px;
      height: 11px;
      background: url("../img/index/icon-blank.png") no-repeat center top/cover;
      right: 20px;
      border-top: 0;
      transform: translateY(-50%);
   }
}

/* -- -- */
#sec6 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec6 {
      background: url("../img/index/sec6-deco_sp.png") no-repeat center bottom/100% auto;
      padding: 18vw 0 22vw;
   }

   #sec6 h2 {
      max-width: 50vw;
      margin: 0 auto;
   }

   #sec6 .txt {
      padding-top: 10.6vw;
   }

   #sec6 .time {
      padding-top: 8vw;
   }

   #sec6 .box-cta {
      background: url("../img/shared/body-bg.jpg") repeat center top;
      box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.19);
      box-sizing: border-box;
      margin-top: 10.6vw;
      padding: 12vw 6vw;
   }

   #sec6 .box-cta h3 {
      width: 60vw;
      margin: 0 auto;
      padding-bottom: 8vw;
   }

   #sec6 .box-cta .bnr {
      display: flex;
      flex-direction: column;
      gap: 6vw;
   }

   #sec6 .box-cta .bnr h4 {
      background-color: #000;
      color: #fff;
      font-weight: 200;
      font-size: 4vw;
      margin-bottom: 4vw;
      padding: 1vw 0;
   }

   #sec6 .box-cta .bnr hr {
      display: none;
   }
}

@media only screen and (min-width: 768px) {
   #sec6 {
      padding: 134px 0 188px;
   }

   #sec6:before {
      content: '';
      width: 120%;
      height: 0;
      border-top: 1px solid rgba(0, 0, 0, 0.2);
      position: absolute;
      bottom: 0;
      right: 0;
      transform: skewY(-33deg);
   }

   #sec6 h2 span {
      padding-bottom: 10px;
   }

   #sec6 .txt {
      padding-top: 60px;
   }

   #sec6 .time {
      padding: 43px 0 66px;
   }

   #sec6 .box-cta {
      width: 820px;
      background: url("../img/shared/body-bg.jpg") repeat center top;
      box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.19);
      box-sizing: border-box;
      margin: 0 auto;
      padding: 67px 0 81px;
   }

   #sec6 .box-cta h3 {
      padding-bottom: 60px;
   }

   #sec6 .box-cta .bnr {
      display: flex;
      justify-content: center;
      gap: 45px;
   }

   #sec6 .box-cta .bnr .col {
      width: 280px;
      padding-bottom: 10px;
   }

   #sec6 .box-cta .bnr h4 {
      background-color: #000;
      color: #fff;
      font-weight: 200;
      font-size: 18px;
      margin-bottom: 23px;
      padding: 8px 0;
   }

   #sec6 .box-cta .bnr hr {
      height: auto;
      border: 0;
      border-left: 1px solid rgba(0, 0, 0, 0.25);
   }
}

/* -- -- */
#sec7 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec7 .set-1 {
      background: url("../img/index/sec7-photo_sp.jpg") no-repeat center top/100% auto;
      color: #fff;
      padding-bottom: 21vw;
      position: relative;
   }

   #sec7 .set-1:before {
      content: '';
      width: 100%;
      background: url("../img/index/sec7-bg_sp.jpg") no-repeat center top/cover;
      position: absolute;
      top: 68vw;
      bottom: 0;
      left: 0;
   }

   #sec7 .set-1 h2 {
      display: flex;
      flex-direction: column-reverse;
      align-items: flex-start;
      gap: 2vw;
      border-right: 1px solid rgba(255, 255, 255, 0.5);
      padding: 28vw 2vw 0 0;
   }

   #sec7 .set-1 h2 span {
      width: 5vw;
      height: 27vw;
      padding-bottom: 0;
   }

   #sec7 .set-1 h2 img {
      max-width: 6vw;
   }

   #sec7 .set-1 .col {
      padding-top: 30vw;
   }

   #sec7 .set-1 h3 {
      font-weight: 200;
      font-size: 4vw;
      line-height: 2;
      border-bottom: 1px solid rgba(255, 255, 255, 0.25);
      padding-bottom: 8vw;
      text-align: center;
   }

   #sec7 .set-1 .bnr {
      text-align: center;
      padding-top: 10vw;
   }

   #sec7 .set-1 .bnr .hr {
      display: none;
   }

   #sec7 .set-1 .tel {
      font-size: 3.2vw;
      line-height: 2;
   }

   #sec7 .set-1 .button {
      padding-top: 4vw;
   }

   #sec7 .set-1 .button a {
      border-color: rgba(255, 255, 255, 0.5);
      color: #fff;
      padding-right: 0;
   }

   #sec7 .set-1 .button a:before {
      background-image: url("../img/shared/icon-calendar-white.png");
   }

   #sec7 .set-1 .button a:after {
      border-color: #fff;
   }

   #sec7 .set-1 .cancel {
      border-bottom: 1px solid rgba(255, 255, 255, 0.25);
      padding: 8vw 0 10vw;
   }

   #sec7 .set-1 .cancel h3 {
      border-bottom: 0;
      padding-bottom: 2vw;
   }

   #sec7 .set-1 .cancel p {
      text-align: justify;
   }

   #sec7 .set-1 .txt-info {
      line-height: 25px;
      padding-top: 12vw;
   }

   #sec7 .set-1 .txt-info dl {
      display: grid;
      grid-template-columns: 25vw 1fr;
   }

   #sec7 .set-1 .txt-info dl+dl {
      padding-top: 25px;
   }

   #sec7 .set-1 .txt-info a {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      line-height: 20px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.4);
   }

   #sec7 .set-1 .txt-info a:before {
      content: '';
      width: 10px;
      height: 13px;
      background: url("../img/shared/icon-location-white.png") no-repeat center top/100% auto;
   }

   #sec7 .set-2 {
      background: url("../img/index/sec7-bg.jpg") no-repeat center top/cover;
      padding: 20vw 0;
   }

   #sec7 .set-2 .gmap {
      height: 480px;
      margin: 0 auto;
   }

   #sec7 .set-2 .gmap iframe {
      display: block;
      width: 100%;
      height: 100%;
      filter: grayscale(100%);
   }

   #sec7 .set-2 .button {
      padding-top: 8vw;
   }

   #sec7 .set-2 .button a {
      width: 285px;
      height: 48px;
      font-size: 16px;
      padding-right: 0;
   }

   #sec7 .set-2 .button a:after {
      width: 25px;
   }
}

@media only screen and (min-width: 768px) {
   #sec7 .set-1 {
      background: url("../img/index/sec7-bg-img.jpg") no-repeat center top/cover;
      color: #fff;
   }

   #sec7 .set-1 .wrap {
      padding: 224px 0 194px 176px;
   }

   #sec7 .set-1 .wrap:before {
      content: '';
      width: 470px;
      height: 280px;
      background: url("../img/index/sec7-deco-1.png") no-repeat center top/cover;
      position: absolute;
      top: -170px;
      left: 205px;
   }

   #sec7 .set-1 h2 {
      border-right: 1px solid rgba(255, 255, 255, 0.5);
      position: absolute;
      top: 0;
      left: 0;
      padding: 230px 40px 0 12px;
   }

   #sec7 .set-1 h2 span {
      width: 36px;
      height: 170px;
      position: absolute;
      top: 230px;
      left: -25px;
   }

   #sec7 .set-1 h3 {
      width: 466px;
      font-weight: 200;
      font-size: 18px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.25);
      padding-bottom: 32px;
   }

   #sec7 .set-1 .bnr {
      display: flex;
      align-items: flex-end;
      gap: 17px;
      padding-top: 24px;
   }

   #sec7 .set-1 .bnr .hr {
      width: 1px;
      height: 15px;
      border-left: 1px solid rgba(255, 255, 255, 0.5);
      transform: skewX(-45deg);
      position: relative;
      bottom: 15px;
   }

   #sec7 .set-1 .tel {
      font-size: 17px;
      line-height: 37px;
      text-align: left;
   }

   #sec7 .set-1 .button {
      bottom: 7px;
   }

   #sec7 .set-1 .button a {
      border-color: rgba(255, 255, 255, 0.5);
      color: #fff;
      padding-right: 0;
   }

   #sec7 .set-1 .button a:before {
      background-image: url("../img/shared/icon-calendar-white.png");
   }

   #sec7 .set-1 .button a:after {
      display: none;
   }

   #sec7 .set-1 .cancel {
      width: 466px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.25);
      padding: 26px 0 29px;
   }

   #sec7 .set-1 .cancel h3 {
      border-bottom: 0;
      padding-bottom: 10px;
   }

   #sec7 .set-1 .txt-info {
      line-height: 25px;
      padding-top: 56px;
   }

   #sec7 .set-1 .txt-info dl {
      display: grid;
      grid-template-columns: 210px 1fr;
   }

   #sec7 .set-1 .txt-info dl+dl {
      padding-top: 25px;
   }

   #sec7 .set-1 .txt-info a {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      line-height: 20px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.4);
   }

   #sec7 .set-1 .txt-info a:before {
      content: '';
      width: 10px;
      height: 13px;
      background: url("../img/shared/icon-location-white.png") no-repeat center top/100% auto;
   }

   #sec7 .set-1 .txt-info a:hover {
      border-bottom-color: transparent;
   }

   #sec7 .set-2 {
      background: url("../img/index/sec7-bg.jpg") no-repeat center top/cover;
      padding: 120px 0 86px;
   }

   #sec7 .set-2 .gmap {
      width: 776px;
      height: 380px;
      margin: 0 auto;
   }

   #sec7 .set-2 .gmap iframe {
      display: block;
      width: 100%;
      height: 100%;
      filter: grayscale(100%);
   }

   #sec7 .set-2 .button {
      padding-top: 30px;
   }

   #sec7 .set-2 .button a {
      width: 285px;
      height: 48px;
      font-size: 16px;
      padding-right: 0;
   }

   #sec7 .set-2 .button a:after {
      width: 25px;
   }

   #sec7 .set-2 .gmap_print {
      padding-top: 7px;
   }

   #sec7 .set-2 .gmap_print a {
      display: inline-block;
      font-weight: 500;
      font-size: 11px;
      letter-spacing: 0.12em;
      line-height: 20px;
      border-bottom: 1px solid;
   }

   #sec7 .set-2 .gmap_print a:hover {
      border-bottom-color: transparent;
   }
}

.tx_c {
   text-align: center;
}

@media only screen and (max-width: 768px) {
   .w-80 {
      width: 80%;
   }

   .w-95 {
      width: 95%;
   }
}