header {
   position: relative;
}

header .logo {
   position: absolute;
   left: 50%;
   transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
   header {
      height: 110vw;
   }

   header .logo {
      width: 25vw;
      top: 50%;
   }

   header h1 {
      max-width: 100%;
      box-sizing: border-box;
      /*position: absolute;
      bottom: 0;
      left: 0;*/
   }

   header .img {
      width: 100%;
      height: 110vw;
   }

   header .img img {
      width: 100%;
      max-width: inherit;
      height: 100%;
      object-fit: cover;
      object-position: -32vw 0vw;
   }
}

@media screen and (min-width: 768px) {
   html.responsive section img {
      max-width: 100%;
   }

   header {
      height: 820px;
      padding-top: 80px;
   }

   header .logo {
      top: calc(50% + 40px);
   }

   header h1 {
      max-width: 100%;
      box-sizing: border-box;
      position: absolute;
      top: 900px;
      left: 0;
   }

   header .img {
      width: 100%;
      height: 820px;
   }

   header .img img {
      width: 100%;
      max-width: inherit;
      height: 100%;
      object-fit: cover;
   }
}

#sec1 {
   position: relative;
}

@media screen and (max-width: 767px) {
   #sec1 {
      background: url("../img/business/sec1-deco.png") no-repeat center top 15vw/150% auto;
      padding-top: 20vw;
   }

   #sec1:before {
      content: '';
      width: 20vw;
      height: 100%;
      background: url("../img/shared/bg1.jpg") repeat center top;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
   }

   #sec1 h2 {
      letter-spacing: 0.3em;
   }

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

   #sec1 .txt p:not(:last-child) {
      padding-bottom: 6vw;
   }

   #sec1 .photo {
      display: flex;
      flex-wrap: wrap;
      gap: 4px;
      padding: 15vw 6.25%;
   }

   #sec1 .photo figure {
      width: calc(50% - 2px);
   }

   #sec1 .photo figure:first-child {
      width: 100%;
   }
	#sec1 .photo .img-1 img{
		width: 100%;
		height: 70vw;
		object-fit: cover;
	}
}

@media screen and (min-width: 768px) {
   #sec1 {
      background: url("../img/business/sec1-deco.png") no-repeat center top 65px;
      padding-bottom: 197px;
   }

   #sec1:before {
      content: '';
      width: calc(50% - 355px);
      height: 100%;
      background: url("../img/shared/bg1.jpg") repeat center top;
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1;
   }

   #sec1 .wrap {
      display: flex;
      padding: 200px 0 125px 270px;
      box-sizing: border-box;
   }

   #sec1 h2 {
      width: 140px;
      height: 500px;
   }

   #sec1 .txt {
      line-height: 50px;
      padding: 55px 0 0 65px;
   }

   #sec1 .txt p:not(:last-child) {
      padding-bottom: 50px;
   }

   #sec1 .photo {
      display: flex;
      gap: 3px;
      max-width: 1200px;
      margin: 0 auto;
   }
}

#sec2 {
   display: flex;
   justify-content: center;
   align-items: center;
   background: url("../img/business/sec2-bg-img.jpg") no-repeat center/cover;
   color: #fff;
   text-align: center;
   position: relative;
}

@media screen and (max-width: 767px) {
   #sec2 {
      height: 80vw;
   }
}

@media screen and (min-width: 768px) {
   #sec2 {
      height: 650px;
   }
}

#sec3 {
   position: relative;
}

@media screen and (max-width: 767px) {
   #sec3 {
      background: url("../img/business/sec3-deco.png") no-repeat center top 50vw/120% auto;
      padding: 6.25vw 0 20vw;
   }

   #sec3:before {
      content: '';
      width: 20vw;
      height: 260vw;
      background: url("../img/shared/bg1.jpg") repeat center top;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec3 .photo-1 {
      margin-right: -6.25vw;
   }

   #sec3 .photo-l {
      width: 100%;
      position: relative;
      margin-top: 8vw;
      padding-top: 40vw;
   }

   #sec3 .photo-2 {
      width: 50vw;
      position: absolute;
      top: 0;
      right: 0;
   }

   #sec3 .photo-3 {
      width: 60vw;
   }
	#sec3 .photo-r {
      width: 100%;
      position: relative;
        padding-top: 50vw;
   }
   #sec3 .photo-4 {
      width: 52%;
      position: absolute;
      top: -10vw;
      right: -7vw;
   }

   #sec3 .photo-5 {
      width: 50%;
      position: absolute;
      top: 20vw;
      right: 44vw;
   }

   #sec3 h2 {
      padding-top: 8vw;
   }

   #sec3 .price {
      padding-top: 5vw;
   }

   #sec3 .price span {
      font-size: 5vw;
   }

   #sec3 .note {
      padding-top: 4vw;
	   font-size: 12px;
   }

   #sec3 .txt {
      padding: 8vw 0vw 25vw 0;
   }

   #sec3 .txt .button a {
      /*width: 100%;*/
      margin: 5vw 0 0;
   }

   #sec3 .wrap>.button {
      padding-top: 15vw;
   }
}

@media screen and (min-width: 768px) {
   #sec3 {
      background: url("../img/business/sec3-deco.png") no-repeat center top;
      padding: 158px 0 190px;
   }

   #sec3:before {
      content: '';
      width: calc(50% - 355px);
      height: 640px;
      background: url("../img/shared/bg1.jpg") repeat center top;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec3 .photo-1 {
      width: 770px;
      position: absolute;
      top: 0;
      right: -250px;
   }

   #sec3 .photo-l {
      width: 388px;
      position: absolute;
      top: 445px;
      left: -120px;
      padding-top: 182px;
   }

   #sec3 .photo-2 {
      width: 250px;
      position: absolute;
      top: 0;
      right: 0;
   }

   #sec3 .photo-3 {
      width: 333px;
   }

   #sec3 .photo-4 {
      width: 339px;
      position: absolute;
      bottom: 356px;
      right: -120px;
   }

   #sec3 .photo-5 {
      width: 365px;
      position: absolute;
      bottom: 180px;
      right: 222px;
   }

   #sec3 h2 {
      padding-top: 30px;
   }

   #sec3 .price {
      line-height: 44px;
      padding-top: 31px;
   }

   #sec3 .price span {
      font-size: 22px;
   }

   #sec3 .note {
      font-size: 12px;
      padding-top: 30px;
   }

   #sec3 .txt {
      width: 380px;
      margin: 0 auto;
      padding: 220px 0 475px 40px;
      position: relative;
      z-index: 1;
   }

   #sec3 .txt .button {
      padding-top: 40px;
   }

   #sec3 .txt .button a {
      margin: 0;
   }
}

#sec4 {
   position: relative;
}

@media screen and (max-width: 767px) {
   #sec4 {
      padding-bottom: 20vw;
   }

   #sec4:before {
      content: '';
      width: 20vw;
      height: 100%;
      background: url("../img/shared/bg1.jpg") repeat center top;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec4 h2 {
      width: 20vw;
      height: 70vw;
      margin: 0 auto;
   }

   #sec4 figure {
      margin-left: -6.25vw;
   }

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

@media screen and (min-width: 768px) {
   #sec4 {
      padding-bottom: 188px;
   }

   #sec4:before {
      content: '';
      width: calc(50% - 355px);
      height: 100%;
      background: url("../img/shared/bg1.jpg") repeat center top;
      position: absolute;
      bottom: 0;
      right: 0;
   }

   #sec4 h2 {
      width: 140px;
      height: 367px;
      margin: 0 auto;
   }

   #sec4 figure {
      width: calc(50% + 600px);
   }

   #sec4 figure img {
      width: 100%;
      max-width: inherit;
   }

   #sec4 .txt {
      padding-top: 112px;
   }

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

   #sec4 .button a {
      margin: 0;
   }
}

#sec5 {
   position: relative;
}

@media screen and (max-width: 767px) {
   #sec5 .row-1 {
      background: url("../img/business/sec5-bg-img.jpg") no-repeat center top/150% auto;
      padding: 15vw 0;
   }

   #sec5 .row-1 h2 {
      width: 10vw;
      color: #fff;
   }

   #sec5 .row-1 h2:after {
      content: '';
      display: inline-block;
      width: 0;
      height: 16vw;
      border-left: 1px solid #fff;
      margin-top: 2vw;
   }

   #sec5 .row-1 .txt {
      padding-top: 8vw;
   }

   #sec5 .row-2 h3 {
      font-weight: 200;
      font-size: 5vw;
      line-height: 2;
      letter-spacing: 0.5em;
      padding-top: 8vw;
   }

   #sec5 .row-2 .txt {
      padding-top: 6vw;
   }

   #sec5 .row-2 .note {
      font-size: 12px;
      padding-top: 6vw;
   }

   #sec5 .photo {
      height: 56.25vw;
      margin-top: 15vw;
   }

   #sec5 .photo img {
      width: 100%;
      max-width: inherit;
      height: 100%;
      object-fit: cover;
   }
}

@media screen and (min-width: 768px) {
   #sec5 .row-1 {
      background: url("../img/business/sec5-bg-img.jpg") no-repeat center top/cover;
      color: #fff;
      padding: 280px 0 0 50px;
   }

   #sec5 .row-1 .wrap {
      display: flex;
      align-items: flex-end;
      gap: 0;
      width: 100%;
   }

   #sec5 .row-1 h2 {
      width: 70px;
      height: 420px;
   }

   #sec5 .row-1 h2:after {
      content: '';
      display: inline-block;
      width: 0;
      height: 230px;
      border-left: 1px solid #fff;
      margin-top: 10px;
   }

   #sec5 .row-1 .txt {
      padding: 0 0 55px 20px;
   }

   #sec5 .row-2 {
      padding: 127px 0 200px;
   }

   #sec5 .row-2 figure {
      width: 600px;
      position: absolute;
      top: 0;
      left: -100px;
   }

   #sec5 .row-2 .col {
      width: 425px;
      margin-left: auto;
   }

   #sec5 .row-2 h3 {
      font-weight: 200;
      font-size: 22px;
      line-height: 46px;
      letter-spacing: 0.5em;
      padding-top: 3px;
   }

   #sec5 .row-2 .txt {
      padding-top: 10px;
   }

   #sec5 .row-2 .note {
      font-size: 12px;
      padding-top: 37px;
   }

   #sec5 .photo img {
      width: 100%;
      max-width: inherit;
   }
}