#header {
	z-index: 1;
}

#sec1 {
  padding-top: 20vw;
  position: relative;
}
#sec1::before {
  content: "";
  height: 100vh;
  background: url("../img/syabusyabu/s1-bg.png") right top/200% no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
#sec1 .wrap {
  z-index: 0;
}
#sec1 .wrap::before {
  content: "";
  width: 100vw;
  height: 30vw;
  background: url("../img/syabusyabu/s1-deco1.png") 0 0/contain no-repeat;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
#sec1 .wrap::after {
  content: "";
  width: 50vw;
  height: 30vw;
  background: url("../img/syabusyabu/s1-deco2.png") 0 0/contain no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
#sec1 h2.ttl {
  margin: 0 auto;
  position: relative;
}
#sec1 h2.ttl::before {
  content: "";
  width: 1px;
  height: 80vw;
  background: #8a8a8a;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: -45vw;
  left: 0;
  z-index: -2;
}
#sec1 .set .txtbox {
  margin-top: 10vw;
}
@media screen and (min-width: 768px) {
  #sec1 {
    padding-top: 255px;
  }
  #sec1::before {
    height: 200vh;
    background-size: 100%;
  }
  #sec1 .wrap::before {
    width: 647px;
    height: 235px;
    top: -92px;
    right: -110px;
  }
  #sec1 .wrap::after {
    width: 271px;
    height: 132px;
    bottom: -36px;
    left: -199px;
  }
  #sec1 h2.ttl {
    margin: 0;
  }
  #sec1 h2.ttl::before {
    height: 255px;
    top: -170px;
  }
  #sec1 .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #sec1 .set .ttlbox {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 295px;
  }
  #sec1 .set .txtbox {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 644px;
    margin-top: 93px;
  }
  #sec1 .set .txtbox .txt {
    height: 410px;
    margin-left: auto;
    cursor: vertical-text;
    writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -ms-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -moz-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    text-orientation: upright;
    word-wrap: break-word;
  }
}

#sec2 {
  padding: 15vw 0 20vw;
  background: url("../img/syabusyabu/s2-bgb.png") center bottom/200% no-repeat;
}
#sec2 h2.ttl {
  margin: 0 auto;
  text-align: right;
}
#sec2 h2.ttl .txtindent {
  display: inline-block;
  margin-bottom: -5vw;
}
#sec2 .set .gr .txtbox {
  margin-top: 7vw;
}
#sec2 .set .gr .imgbox {
  margin-top: 10vw;
}
#sec2 .set .gr .imgbox .slider-default .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#sec2 .set .gr .imgbox .slider-default .slick-slide {
  height: auto;
}
#sec2 .set .gr .imgbox .slider-default .slick-slide > div {
  height: 100%;
}
#sec2 .set .gr .imgbox .slider-default .img {
  height: 100%;
}
#sec2 .set .gr .imgbox .slider-default .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  #sec2 {
    padding: 95px 0 109px;
    background-size: 100%;
    position: relative;
  }
  #sec2::before {
    content: "";
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#fff));
    background: linear-gradient(transparent, #fff);
    opacity: 0.8;
    position: absolute;
    top: -200px;
    bottom: 0;
    left: 0;
    right: 0;
  }
  #sec2 h2.ttl {
    margin: 137px 0 0;
  }
  #sec2 h2.ttl .txtindent {
    margin-bottom: -45px;
  }
  #sec2 .set {
    width: 1130px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #sec2 .set .gr {
    width: 555px;
  }
  #sec2 .set .gr .ttlbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-left: 11px;
  }
  #sec2 .set .gr .txtbox {
    margin: 130px 0 0 40px;
  }
  #sec2 .set .gr .txtbox .txt {
    width: 430px;
  }
  #sec2 .set .imgbox {
    width: 516px;
    margin-top: 294px;
  }
}

#sec3 {
  padding-bottom: 20vw;
  background: #000;
  color: #fff;
}
#sec3 .bgi {
  height: 100vw;
}
#sec3 .bgi img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
}
#sec3 h2.ttl {
  margin: 15vw auto 0;
  position: relative;
}
#sec3 h2.ttl::before {
  content: "";
  width: 1px;
  height: 50vw;
  background: #8a8a8a;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: -30vw;
  left: 0;
}
#sec3 .set .txtbox {
  margin-top: 10vw;
}
@media screen and (min-width: 768px) {
  #sec3 {
    padding: 152px 0 56px;
    position: relative;
    z-index: 0;
  }
  #sec3 .bgi {
    height: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1;
  }
  #sec3 h2.ttl {
    margin: 0;
  }
  #sec3 h2.ttl::before {
    height: 300px;
    top: -230px;
    left: 23px;
  }
  #sec3 .set .ttlbox {
    margin-left: 80px;
  }
  #sec3 .set .txtbox {
    margin-top: 63px;
  }
  #sec3 .set .txtbox .txt {
    width: 400px;
  }
}
@media screen and (min-width: 1200px) {
  #sec3 .set {
    margin-left: -92px;
  }
}

#sec4 {
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(255, 255, 255, 0.8)));
  background: linear-gradient(transparent, rgba(255, 255, 255, 0.8));
  position: relative;
  z-index: 0;
}
#sec4 .blk1 {
  padding: 20vw 0;
  position: relative;
}
#sec4 .blk1::before {
  content: "";
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.15)));
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.15));
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 10vw;
}
#sec4 .blk1::after {
  content: "";
  width: 33vw;
  height: 103vw;
  background: #000;
  position: absolute;
  top: 0;
  right: 0;
}
#sec4 .blk1 .wrap {
  z-index: 1;
}
#sec4 .blk1 h2.ttl {
  letter-spacing: 0.05em;
}
#sec4 .blk1 h2.ttl .jp {
  color: #fff;
}
#sec4 .blk1 .set1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#sec4 .blk1 .set1 .imgbox {
  width: 77%;
}
#sec4 .blk1 .set1 .ttlbox {
  width: 20%;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
#sec4 .blk1 .set2 {
  margin-top: 7vw;
}
#sec4 .blk1 .set2 .price {
  font-size: 22px;
}
#sec4 .blk1 .set2 .price > span {
  display: inline-block;
  padding: 0 7vw;
  border: 1px solid;
}
#sec4 .blk1 .set2 .txt {
  margin-top: 10vw;
}
#sec4 .blk2 {
  padding: 20vw 0;
  background: url("../img/syabusyabu/s4-bgb.png") left bottom/200% no-repeat;
  position: relative;
}
#sec4 .blk2::before {
  content: "";
  width: 40vw;
  height: 100vw;
  background: url("../img/shared/bg.jpg");
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
#sec4 .blk2 .wrap {
  z-index: 1;
}
#sec4 .blk2 .wrap::before {
  content: "";
  width: 100vw;
  height: 100vw;
  background: url("../img/syabusyabu/s4-bg.png") 0 0/contain no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#sec4 .blk2 h2.ttl {
  margin: 0 auto;
  position: relative;
}
#sec4 .blk2 h2.ttl::before {
  content: "";
  width: 1px;
  height: 50vw;
  background: #8a8a8a;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: -40vw;
  left: 50%;
}
#sec4 .blk2 .set1 {
  margin-top: 10vw;
}
#sec4 .blk2 .set1 h3.ttl {
  letter-spacing: 0.05em;
}
#sec4 .blk2 .set1 h3.ttl small {
  font-size: 4.5vw;
  letter-spacing: 0.05em;
}
#sec4 .blk2 .set1 .imgbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#sec4 .blk2 .set1 .imgbox .img {
  width: 35vw;
  margin: 0 2px;
}
#sec4 .blk2 .set1 .imgbox .img + .img {
  margin-top: 10vw;
}
#sec4 .blk2 .set1 .txtbox {
  margin-top: 10vw;
}
#sec4 .blk2 .set1 .txtbox hr {
  height: 1px;
  margin-top: 5vw;
  background: #4f4946;
  border: 0;
}
#sec4 .blk2 .set1 .txtbox .txt, #sec4 .blk2 .set1 .txtbox .btn-link {
  margin-top: 10vw;
}
#sec4 .blk2 .set1 .txtbox .txtnote {
  margin-top: 3vw;
}
#sec4 .blk2 .set2 {
  margin-top: 15vw;
  padding: 5vw 4vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: url("../img/shared/pattern3.jpg");
  -webkit-box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 0;
}
#sec4 .blk2 .set2::before {
  content: "";
  border: 1px solid #bea562;
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 5px;
  right: 5px;
  z-index: -1;
}
#sec4 .blk2 .set2 .txtbox {
  padding: 10vw 0;
  text-align: center;
}
#sec4 .blk2 .set2 .txtbox + .txtbox {
  position: relative;
}
#sec4 .blk2 .set2 .txtbox + .txtbox::before {
  content: "";
  height: 1px;
  background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(#a7a7a7), to(transparent));
  background: linear-gradient(to right, transparent, #a7a7a7, transparent);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
@media screen and (min-width: 768px) {
  #sec4 .blk1 {
    padding: 93px 0 130px;
  }
  #sec4 .blk1::before {
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(rgba(0, 0, 0, 0.15))), url("../img/shared/bg.jpg");
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.15)), url("../img/shared/bg.jpg");
    right: calc(50vw - 554px);
  }
  #sec4 .blk1::after {
    width: calc(50vw - 98px);
    height: 975px;
  }
  #sec4 .blk1 .wrap::before {
    content: "";
    width: 1px;
    height: 100vw;
    background: #8a8a8a;
    -webkit-transform: rotate(-49deg);
            transform: rotate(-49deg);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    position: absolute;
    top: -94px;
    left: calc(100% - 411px);
  }
  #sec4 .blk1 .set1 {
    width: 1100px;
    margin-left: -100px;
  }
  #sec4 .blk1 .set1 .imgbox {
    width: 780px;
  }
  #sec4 .blk1 .set1 .imgbox .slider-default {
    margin-top: -4px;
  }
  #sec4 .blk1 .set1 .ttlbox {
    width: 220px;
    margin-bottom: 23px;
  }
  #sec4 .blk1 .set2 {
    margin: 59px 0 0 75px;
  }
  #sec4 .blk1 .set2 .price {
    font-size: 30px;
    line-height: 60px;
  }
  #sec4 .blk1 .set2 .price > span {
    padding: 10px 85px 10px 91px;
  }
  #sec4 .blk1 .set2 .txt {
    width: 410px;
    margin-top: 33px;
  }
  #sec4 .blk2 {
    padding: 98px 0 202px;
    background-size: 100%;
  }
  #sec4 .blk2::before {
    width: calc(50vw - 165px);
    height: 1060px;
    top: -203px;
  }
  #sec4 .blk2 .wrap {
    z-index: 1;
  }
  #sec4 .blk2 .wrap::before {
    width: 915px;
    height: 761px;
    top: 0;
    left: -250px;
  }
  #sec4 .blk2 h2.ttl {
    margin: 0 auto;
    position: relative;
  }
  #sec4 .blk2 h2.ttl::before {
    height: 380px;
    top: -289px;
    left: calc(50% - 21px);
  }
  #sec4 .blk2 .set1 {
    width: 1060px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 44px;
  }
  #sec4 .blk2 .set1 h3.ttl small {
    font-size: 30px;
  }
  #sec4 .blk2 .set1 .imgbox {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 456px;
    margin-left: -6px;
  }
  #sec4 .blk2 .set1 .imgbox .img {
    width: auto;
    margin: 0 6px;
  }
  #sec4 .blk2 .set1 .imgbox .img + .img {
    margin-top: 82px;
  }
  #sec4 .blk2 .set1 .txtbox {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 610px;
    margin-top: 46px;
    padding-left: 40px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #sec4 .blk2 .set1 .txtbox hr {
    height: 1px;
    margin: 36px 0 0 -140px;
  }
  #sec4 .blk2 .set1 .txtbox .txt {
    margin-top: 50px;
  }
  #sec4 .blk2 .set1 .txtbox .txtnote {
    margin-top: 13px;
  }
  #sec4 .blk2 .set1 .txtbox .btn-link {
    margin-top: 68px;
    text-align: right;
  }
  #sec4 .blk2 .set2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 104px -74px 0;
    padding: 15px 75px 15px;
  }
  #sec4 .blk2 .set2::before {
    top: 15px;
    bottom: 15px;
    left: 15px;
    right: 15px;
  }
  #sec4 .blk2 .set2 .tel {
    margin-top: -8px;
  }
  #sec4 .blk2 .set2 .line {
    margin-top: -10px;
  }
  #sec4 .blk2 .set2 .txtbox {
    width: 50%;
    padding: 57px 0 80px;
  }
  #sec4 .blk2 .set2 .txtbox + .txtbox {
    position: relative;
  }
  #sec4 .blk2 .set2 .txtbox + .txtbox::before {
    width: 1px;
    height: auto;
    background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(#a7a7a7), to(transparent));
    background: linear-gradient(to bottom, transparent, #a7a7a7, transparent);
    top: 0;
    bottom: 0;
    left: 0;
    right: auto;
  }
}

#sec5 {
  padding: 20vw 0;
  background: #000;
  color: #fff;
}
#sec5 .wrap::before {
  content: "";
  width: 1px;
  height: 100vw;
  background: #8a8a8a;
  -webkit-transform: rotate(-48deg);
          transform: rotate(-48deg);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  position: absolute;
  top: -30vw;
  left: 0;
}
#sec5 h2.ttl {
  margin: 0 0 -40vw 3vw;
  position: relative;
  z-index: 1;
}
#sec5 h2.ttl > span {
  display: inline-block;
  margin: 0 3px;
  padding: 5vw 0;
  background: #fff;
  color: #000;
}
#sec5 h2.ttl > span:nth-of-type(2) {
  margin-top: 13vw;
}
#sec5 h2.ttl > span:nth-of-type(3) {
  margin-top: 30vw;
}
#sec5 .box-style .txtbox {
  padding: 5vw 3vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#sec5 .box-style .txtbox dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px solid;
}
#sec5 .box-style .txtbox dl dt, #sec5 .box-style .txtbox dl dd {
  margin: 0 15px;
}
#sec5 .box-style .txtbox dl dd {
  font-size: 20px;
  letter-spacing: 0.2em;
}
#sec5 .box-style .txtbox .txt {
  margin-top: 5vw;
}
#sec5 .set1 .imgbox .txtnote {
  text-align: right;
}
#sec5 .set1 .txtbox {
  margin-top: 10vw;
}
#sec5 .set1 .txtbox dl {
	text-align: center;
}
#sec5 .set1 .txtbox dl hr {
  margin-top: 5vw;
  border: 0;
  border-top: 1px solid;
}
#sec5 .set1 .txtbox dl dd {
  margin-top: 5vw;
  font-size: 20px;
  letter-spacing: 0.2em;
  line-height: 1.5em;
}
#sec5 .set1 .txtbox .txt {
  margin-top: 7vw;
}
#sec5 .set2 .gr {
  margin-top: 15vw;
}
@media screen and (min-width: 768px) {
  #sec5 {
    padding: 107px 0 115px;
  }
  #sec5 .wrap::before {
    height: 1000px;
    top: -85px;
    left: 0;
  }
  #sec5 h2.ttl {
    margin: 0;
    line-height: 55px;
  }
  #sec5 h2.ttl > span {
    margin: 0 10px;
    padding: 25px 0 19px;
  }
  #sec5 h2.ttl > span:nth-of-type(2) {
    margin-top: 70px;
  }
  #sec5 h2.ttl > span:nth-of-type(3) {
    margin-top: 173px;
  }
  #sec5 .ttlbox {
    margin-left: 50px;
  }
  #sec5 .box-style .txtbox {
    padding: 22px 40px 0;
  }
  #sec5 .box-style .txtbox dl {
    padding-bottom: 21px;
  }
  #sec5 .box-style .txtbox dl dt, #sec5 .box-style .txtbox dl dd {
    margin: 0 22px;
  }
  #sec5 .box-style .txtbox dl dd {
    margin-top: 10px;
    font-size: 25px;
  }
  #sec5 .box-style .txtbox .txt {
    width: 390px;
    margin: 30px auto 0;
  }
  #sec5 .set1 {
    width: 1250px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-top: 164px;
  }
  #sec5 .set1 .imgbox {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 895px;
    margin-top: -373px;
  }
  #sec5 .set1 .imgbox .txtnote {
    padding-left: 160px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    text-align: center;
  }
  #sec5 .set1 .txtbox {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    width: 355px;
    margin-top: 0;
    padding-left: 25px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #sec5 .set1 .txtbox dl hr {
    margin: 17px 0 0 -74px;
  }
  #sec5 .set1 .txtbox dl dd {
    margin-top: 26px;
    font-size: 25px;
    line-height: 45px;
  }
  #sec5 .set1 .txtbox .txt {
    width: 291px;
    margin-top: 34px;
  }
  #sec5 .set2 {
    width: 1100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 110px 0 0 -50px;
  }
  #sec5 .set2 .gr {
    width: calc(50% - 30px);
    max-width: 600px;
    margin-top: 0;
  }
  #sec5 .set2 .gr + .gr {
    margin-top: 145px;
  }
}
@media screen and (min-width: 1200px) {
  #sec5 .box-style .txbox {
    padding-left: 60px;
    padding-right: 61px;
  }
  #sec5 .set2 {
    width: 1262px;
    margin-left: -104px;
  }
}

#sec6 {
  padding: 50vw 0 20vw;
  color: #fff;
  position: relative;
  z-index: 0;
}
#sec6 .bg-parallax {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
#sec6 .wrap {
  z-index: 1;
}
#sec6 .btnbox {
  text-align: center;
}
#sec6 .btnbox .btn-link + .btn-link {
  margin-top: 5vw;
}
@media screen and (min-width: 768px) {
  #sec6 {
    padding: 370px 0 60px;
  }
  #sec6 .btnbox {
    text-align: right;
  }
  #sec6 .btnbox .btn-style-1 > span {
    min-height: 60px;
  }
  #sec6 .btnbox .btn-link + .btn-link {
    margin-top: 20px;
  }
  #sec6 .btnbox .btn-link:nth-child(1) .btn-style-1 > span {
    padding: 5px 76px;
  }
  #sec6 .btnbox .btn-link:nth-child(2) {
    margin-right: 80px;
  }
}
@media screen and (min-width: 1200px) {
  #sec6 .btnbox .btn-link:nth-child(1) {
    margin-right: -78px;
  }
  #sec6 .btnbox .btn-link:nth-child(2) {
    margin-right: 0;
  }
}