@media only screen and (min-width: 768px) { 
   main {
      overflow: visible;
   }

   #sec2, #sec3 {
      overflow: hidden;
   }
}

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

#sec1 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec1 {
      padding-top: 15vw;
   }

   #sec1:before {
      content: '';
      width: 100%;
      height: 160%;
      background: url("../img/shared/bg-pattern-3.png") repeat center top;
      position: absolute;
      top: -55%;
      left: 0;
      transform: skewY(-21deg);
   }

   #sec1:after {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec1-deco.png") no-repeat top left/100% auto;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec1 .wrap {
      z-index: 1;
   }

   #sec1 h2 span {
      display: inline-flex;
      align-items: center;
      padding-left: 20vw;
   }

   #sec1 h2 span:after {
      content: '';
      width: 12vw;
      height: 0;
      border-top: 1px solid #000;
   }

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

   #sec1 figure {
      padding-top: 12vw;
   }
}

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

   #sec1:before {
      content: '';
      width: 100%;
      height: 160%;
      background: url("../img/shared/bg-pattern-3.png") repeat center top;
      position: absolute;
      top: -55%;
      left: 0;
      transform: skewY(-21deg);
   }

   #sec1:after {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec1-deco.png") no-repeat top left;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec1 .wrap {
      width: 1040px;
      z-index: 1;
   }

   #sec1 .col {
      width: 415px;
      padding: 34px 0 0;
   }

   #sec1 h2 span {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      padding-left: 73px;
   }

   #sec1 h2 span:after {
      content: '';
      width: 90px;
      height: 0;
      border-top: 1px solid #000;
   }

   #sec1 .txt {
      padding-top: 50px;
   }

   #sec1 figure {
      width: 703px;
      position: absolute;
      top: 0;
      right: -112px;
   }
}

@media only screen and (min-width: 1201px) {
   #sec1 .wrap {
      width: 1070px;
   }
}

#sec2 {
   position: relative;
}

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

   #sec2:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec2-photo-6.png") no-repeat top right/100% auto;
      position: absolute;
      top: -15vw;
      left: 0;
   }

   #sec2 h2 span {
      display: inline-block;
      background: url("../img/concept/sec2-h2-bg.jpg") repeat center top;
      color: #fff;
      margin-bottom: 2vw;
      padding-left: 2vw;
   }

   #sec2 h2 span:last-child {
      margin-bottom: 0;
   }

   #sec2 .row-1 .wrap {
      z-index: 1;
   }

   #sec2 .row-1 .box {
      position: relative;
      padding-bottom: 16vw;
   }

   #sec2 .row-1 .box:before {
      content: '';
      width: 0;
      border-left: 1px solid #000;
      position: absolute;
      top: 5vw;
      bottom: 0;
      left: 5px;
   }

   #sec2 .row-1 .box .item {
      padding-top: 16vw;
   }

   #sec2 .row-1 .box .year {
      position: relative;
      padding-left: 6.6vw;
   }

   #sec2 .row-1 .box .year:before {
      content: '';
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #859c57;
      position: absolute;
      top: calc(50% - 5px);
      left: 0;
   }

   #sec2 .row-1 .box .content {
      padding: 6vw 0 0 6.6vw;
   }

   #sec2 .row-1 .box .txt {
      padding-top: 4vw;
   }

   #sec2 .row-1 .box .photo {
      padding-top: 8vw;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo {
      display: flex;
      flex-wrap: wrap;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo .img-1 {
      width: 90%;
      margin-left: auto;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo .img-2 {
      width: 50%;
      padding-top: 10vw;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo .img-3 {
      width: 45%;
      padding: 5vw 0 0 5%;
   }

   #sec2 .row-2 {
      color: #fff;
      position: relative;
   }

   #sec2 .row-2:before {
      content: '';
      width: 100%;
      height: 150%;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      position: absolute;
      bottom: -42%;
      left: 0;
      transform: skewY(-15deg);
   }

   #sec2 .row-2 .col {
      padding-top: 8vw;
   }

   #sec2 .row-2 h3 {
      border-bottom: 1px solid;
      padding-bottom: 4vw;
   }

   #sec2 .row-2 .txt {
      padding-top: 4vw;
   }

   #sec2 .row-2 .name {
      text-align: right;
      padding-top: 5vw;
   }
}

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

   #sec2:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec2-photo-6.png") no-repeat top right;
      position: absolute;
      top: -352px;
      left: 0;
   }

   #sec2 .row-1 {
      background: url("../img/concept/sec2-deco.png") no-repeat top 680px left;
   }

   #sec2 .row-1 .wrap {
      z-index: 1;
   }

   #sec2 .row-1 h2 {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 15px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1;
   }

   #sec2 .row-1 h2 span {
      display: inline-block;
      background: url("../img/concept/sec2-h2-bg.jpg") repeat center top;
      color: #fff;
      width: 73px;
      line-height: 73px;
      padding: 23px 0 20px;
   }

   #sec2 .row-1 .box {
      padding: 134px 0 147px;
      position: relative;
   }

   #sec2 .row-1 .box:before {
      content: '';
      border-left: 1px solid #000;
      position: absolute;
      top: 6px;
      bottom: 0;
      left: 202px;
   }

   #sec2 .row-1 .box .item {
      display: grid;
      grid-template-columns: 180px 330px;
      gap: 47px;
      position: relative;
   }

   #sec2 .row-1 .box .item+.item {
      padding-top: 97px;
   }

   #sec2 .row-1 .box .year {
      letter-spacing: 0.3em;
      position: relative;
   }

   #sec2 .row-1 .box .year:before {
      content: '';
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background-color: #859c57;
      position: absolute;
      top: 24px;
      right: -7px;
   }

   #sec2 .row-1 .box h3 {
      letter-spacing: 0.3em;
   }

   #sec2 .row-1 .box .txt {
      padding-top: 2px;
   }

   #sec2 .row-1 .box .item:nth-child(2) .txt {
      padding-top: 20px;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo .img-1 {
      width: 501px;
      position: absolute;
      top: 36px;
      right: -95px;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo .img-2 {
      width: 387px;
      margin: 90px 0 20px 174px;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo .img-3 {
      width: 308px;
      position: absolute;
      top: 402px;
      right: 13px;
   }

   #sec2 .row-1 .box .item:nth-child(3) .photo {
      width: 504px;
      position: absolute;
      top: 70px;
      right: -100px;
   }

   #sec2 .row-1 .box .item:nth-child(3) .txt {
      padding-top: 14px;
   }

   #sec2 .row-2 {
      position: relative;
      color: #fff;
      padding-bottom: 170px;
   }

   #sec2 .row-2:before {
      content: '';
      width: 100%;
      height: 154%;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      position: absolute;
      bottom: -42%;
      left: 0;
      transform: skewY(-21deg);
   }

   #sec2 .row-2 figure {
      width: 471px;
      position: absolute;
      top: 0;
      left: -90px;
   }

   
   #sec2 .row-2 .col {
      width: 510px;
      margin-left: auto;
      position: relative;
      left: 35px;
      padding: 40px 0 0;
   }

   @media only screen and (min-width: 768px) and (max-width:1200px) {
   #sec2 .row-2 .col {
      width: 510px;
      margin-left: auto;
      position: relative;
      left: -20px;
      padding: 40px 0 0;
   }
   }
   #sec2 .row-2 h3 {
      border-bottom: 1px solid #fff;
      padding-bottom: 29px;
   }

   #sec2 .row-2 .txt {
      padding-top: 38px;
   }

   #sec2 .row-2 .name {
      text-align: right;
      padding: 43px 20px 0 0;
   }
}

@media only screen and (min-width: 1241px) {
   #sec2 .row-1 .wrap {
      width: 1200px;
   }

   #sec2 .row-1 h2 {
      right: 117px;
   }

   #sec2 .row-1 .box {
      padding-left: 23px;
   }

   #sec2 .row-1 .box .item:nth-child(2) .photo .img-1 {
      right: -5px;
   }

   #sec2 .row-1 .box .item:nth-child(3) .photo {
      right: 20px;
   }
}

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

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

   #sec3:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec3-deco-1.png") no-repeat top right/100% auto;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec3 h2 {
      padding-bottom: 12vw;
   }

   #sec3 h2 .split-text {
      display: inline-flex;
      letter-spacing: 0;
      padding-top: 3vw;
   }

   #sec3 h2 .split-text span {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 20vw;
      height: 20vw;
      border: 1px solid #000;
   }

   #sec3 .group1 {
      padding-bottom: 16vw;
   }

   #sec3 .group1 h3 {
      width: 24vw;
      height: 62vw;
      margin: 0 auto -12vw;
      position: relative;
      z-index: 1;
   }

   #sec3 .group1 h3 .h-84 {
      display: inline-flex;
      justify-content: center;
      width: 24vw;
      height: 24vw;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      color: #fff8e7;
      line-height: 24vw;
      box-sizing: border-box;
      padding-top: 4vw;
   }

   #sec3 .group1 .photo-1 {
      padding-top: 8vw;
   }

   #sec3 .group1 .photo-3 {
      width: 40vw;
      margin-top: -10vw;
      margin-left: auto;
      position: relative;
      right: 5vw;
   }

   #sec3 .group1 .txt {
      padding-top: 6vw;
   }

   #sec3 .group2 {
      position: relative;
      padding-bottom: 16vw;
   }

   #sec3 .group2:before {
      content: '';
      width: 100%;
      height: 70%;
      background: url("../img/shared/bg-pattern-3.png") no-repeat center top/cover;
      position: absolute;
      bottom: 0;
      left: 0;
   }

   #sec3 .group2 h3 {
      display: flex;
      gap: 1vw;
      width: 24vw;
      height: 50vw;
      margin: 0 auto -12vw;
      position: relative;
      z-index: 1;
   }

   #sec3 .group2 h3 span {
      display: inline-flex;
      justify-content: center;
      width: 24vw;
      height: 24vw;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      color: #fff8e7;
      line-height: 24vw;
      box-sizing: border-box;
      padding-top: 4vw;
   }

   #sec3 .group2 .photo-1 {
      height: 50vw;
      padding-bottom: 6vw;
   }

   #sec3 .group2 .photo-2 {
      display: inline-block;
      width: 64%;
      padding-bottom: 8vw;
   }

   #sec3 .group2 .photo-3 {
      display: inline-block;
      vertical-align: bottom;
      width: 40%;
      margin-left: -6%;
   }

   #sec3 .group2 .txt {
      padding-top: 6vw;
   }

   #sec3 .group3 {
      padding-top: 16vw;
      position: relative;
   }

   #sec3 .group3:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec3-deco-2.png") no-repeat center top/150% auto;
      position: absolute;
      top: -12vw;
      left: 0;
   }

   #sec3 .group3 h3 {
      width: 20vw;
      height: 60vw;
      line-height: 2;
      text-align: center;
      border-right: 1px solid #000;
      border-left: 1px solid #000;
      margin: 0 auto 8vw;
   }

   #sec3 .group3 .photo-1,
   #sec3 .group3 .photo-2 {
      display: inline-block;
      vertical-align: top;
      width: 49%;
   }

   #sec3 .group3 .txt {
      padding-top: 6vw;
   }

   #sec3 .group4 {
      background: url("../img/concept/sec3-deco-3.png") no-repeat top right/50% auto;
      padding-top: 16vw;
   }

   #sec3 .group4 h3 {
      padding-bottom: 8vw;
   }

   #sec3 .group4 h3 .split-text {
      display: inline-flex;
      gap: 2vw;
      letter-spacing: 0;
      padding: 3vw 0 0 16vw;
   }

   #sec3 .group4 h3 .split-text span {
      display: inline-flex;
      justify-content: center;
      width: 24vw;
      height: 24vw;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      color: #fff8e7;
      line-height: 24vw;
      box-sizing: border-box;
   }

   #sec3 .group4 .photo-1 {
      display: inline-block;
      vertical-align: top;
      width: 54%;
   }

   #sec3 .group4 .photo-2 {
      display: inline-block;
      vertical-align: top;
      width: 44%;
   }

   #sec3 .group4 .photo-3 {
      width: 55%;
      position: absolute;
      top: 85vw;
      right: 3.3vw;
   }

   #sec3 .group4 .photo-3 img {
      filter: drop-shadow(0px 14px 43px rgba(0, 0, 0, 0.33));
   }

   #sec3 .group4 .photo-3 figcaption {
      display: inline-block;
      background-color: #000;
      color: #fff;
      line-height: 1.5;
      position: absolute;
      top: 0;
      right: 0;
      padding: 4vw 0;
   }

   #sec3 .group4 .txt {
      padding-top: 20vw;
   }

   #sec3 .group5 {
      padding-top: 16vw;
   }

   #sec3 .group5 .wrap {
      background: url("../img/shared/bg-pattern-2.png") repeat center top;
      padding: 8vw 6.6vw;
   }

   #sec3 .group5 .col {
      display: flex;
      align-items: baseline;
      flex-wrap: wrap;
      gap: 5vw;
      padding-top: 8vw;
   }

   #sec3 .group5 .txt {
      border-top: 1px solid #000;
      padding-top: 5vw;
   }

   #sec3 .group5 .button,
   #sec3 .group5 .photo-2 {
      padding-top: 6vw;
   }
}

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

   #sec3:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec3-deco-1.png") no-repeat top right;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec3 h2 {
      padding-bottom: 90px;
   }

   #sec3 h2 .split-text {
      display: inline-flex;
      letter-spacing: 0;
      margin-top: 13px;
   }

   #sec3 h2 .split-text span {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 122px;
      height: 112px;
      border: 1px solid #000;
      padding-bottom: 10px;
   }

   #sec3 .group1 {
      padding-bottom: 110px;
   }

   #sec3 .group1 .wrap {
      z-index: 1;
   }

   #sec3 .group1 h3 {
      width: 150px;
      height: 350px;
      padding: 24px 0 0 53px;
      position: relative;
      z-index: 1;
   }

   #sec3 .group1 h3 .h-84 {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      width: 150px;
      height: 135px;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      color: #fff8e7;
      padding-top: 15px;
   }

   #sec3 .group1 .photo-1 {
      width: 828px;
      position: absolute;
      top: 0;
      right: -148px;
      z-index: -1;
   }

   #sec3 .group1 .photo-2 {
      width: 664px;
      position: absolute;
      top: 248px;
      left: -114px;
   }

   #sec3 .group1 .photo-3 {
      width: 326px;
      position: absolute;
      top: 330px;
      right: -104px;
   }

   #sec3 .group1 .txt {
      width: 370px;
      margin-left: auto;
      padding-top: 247px;
   }

   #sec3 .group2 {
      position: relative;
      padding-bottom: 100px;
   }

   #sec3 .group2:before {
      content: '';
      width: 100%;
      background: url("../img/shared/bg-pattern-3.png") repeat center top;
      position: absolute;
      top: 78px;
      bottom: 0;
      left: 0;
   }

   #sec3 .group2:after {
      content: '';
      width: 100%;
      height: 378px;
      background: url("../img/concept/sec3-photo-4.jpg") no-repeat center top/cover;
      position: absolute;
      top: 78px;
      left: 0;
   }

   #sec3 .group2 .wrap {
      z-index: 1;
   }

   #sec3 .group2 h3 {
      display: flex;
      gap: 3px;
      width: 150px;
      height: 303px;
      margin-left: auto;
      position: relative;
   }

   #sec3 .group2 h3 span {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 150px;
      height: 135px;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      color: #fff8e7;
      padding-top: 15px;
   }

   #sec3 .group2 .photo-2 {
      width: 549px;
      position: absolute;
      top: -13px;
      left: -157px;
   }

   #sec3 .group2 .photo-3 {
      width: 453px;
      position: absolute;
      top: 412px;
      left: 44px;
   }

   #sec3 .group2 .txt {
      width: 395px;
      margin-left: auto;
      padding-top: 204px;
      position: relative;
   }

   #sec3 .group3 {
      padding: 166px 0 166px;
      position: relative;
   }

   #sec3 .group3:before {
      content: '';
      width: 100%;
      height: 100%;
      background: url("../img/concept/sec3-deco-2.png") no-repeat center top/100% auto;
      position: absolute;
      top: -137px;
      left: 0;
   }

   #sec3 .group3 h3 {
      width: 90px;
      height: 273px;
      line-height: 90px;
      border-right: 1px solid #000;
      border-left: 1px solid #000;
      margin: 0 auto;
      padding-top: 24px;
   }

   #sec3 .group3 .photo-1 {
      width: 460px;
      position: absolute;
      top: 0;
      left: -190px;
   }

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

   #sec3 .group3 .txt {
      width: 280px;
      margin: 0 auto;
      padding-top: 70px;
   }

   #sec3 .group4 {
      padding-bottom: 122px;
   }

   #sec3 .group4 h3 {
      width: 465px;
      margin-left: auto;
   }

   #sec3 .group4 h3 .split-text {
      display: inline-flex;
      gap: 3px;
      letter-spacing: 0;
      padding-left: 70px;
      position: relative;
      top: -5px;
   }

   #sec3 .group4 h3 .split-text span {
      display: inline-flex;
      justify-content: center;
      align-items: center;
      width: 150px;
      height: 150px;
      background: url("../img/shared/bg-pattern-1.jpg") repeat center top;
      color: #fff8e7;
   }

   #sec3 .group4 .photo-1 {
      width: 484px;
      position: absolute;
      top: 80px;
      left: -60px;
   }

   #sec3 .group4 .photo-2 {
      width: 616px;
      margin-left: auto;
      padding-top: 40px;
      position: relative;
      left: 50px;
   }

   #sec3 .group4 .photo-3 {
      width: 557px;
      position: absolute;
      top: 710px;
      left: -62px;
   }

   #sec3 .group4 .photo-3 img {
      filter: drop-shadow(0px 14px 43px rgba(0, 0, 0, 0.33));
   }

   #sec3 .group4 .photo-3 figcaption {
      display: inline-block;
      background-color: #000;
      color: #fff;
      line-height: 44px;
      position: absolute;
      top: 30px;
      right: 70px;
      padding: 15px 0 13px;
   }

   #sec3 .group4 .txt {
      width: 406px;
      margin-left: auto;
      padding: 50px 3px 0 0;
   }

   #sec3 .group5 {
      position: relative;
      padding: 65px 0 65px;
   }

   #sec3 .group5:before {
      content: '';
      width: 100%;
      max-width: 1283px;
      height: 100%;
      background: url("../img/shared/bg-pattern-2.png") repeat center top;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
   }

   #sec3 .group5 .col {
      display: flex;
      align-items: baseline;
      flex-wrap: wrap;
      gap: 12px 30px;
      width: 517px;
      margin-left: auto;
      padding: 20px 0 0;
      box-sizing: border-box;
   }

   #sec3 .group5 h3 {
      padding-left: 90px;
   }

   #sec3 .group5 .txt {
      width: 100%;
      border-top: 1px solid #000;
      padding: 22px 30px 0 92px;
   }

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

   #sec3 .group5 .photo-1 {
      width: 508px;
      position: absolute;
      top: 0;
      left: -25px;
   }

   #sec3 .group5 .photo-2 {
      width: 513px;
      margin-left: auto;
      padding-top: 20px;
      position: relative;
      left: 50px;
   }

   #sec3 .group5 .button {
      width: 400px;
      position: absolute;
      bottom: 10px;
      left: 32px;
   }
}

@media only screen and (min-width: 1201px) {
   #sec3 .group2 h3 {
      left: 62px;
   }

   #sec3 .group2 .txt {
      left: 33px;
   }
}

#sec4 {
   position: relative;
}

@media only screen and (max-width: 767px) {
   #sec4 {
      color: #fff;
      padding: 16vw 0;
   }

   #sec4 .bg-parallax {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec4 .bg-parallax img {
      object-position: -170vw center;
   }

   #sec4 h2 {
      font-weight: 300;
      font-size: 6vw;
      letter-spacing: 0.25em;
      line-height: 1.5;
   }

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

   #sec4 .button {
      padding-top: 6vw;
   }

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

   #sec4 .photo figure {
      width: 70vw;
      padding-top: 6vw;
   }

   #sec4 .photo figure:nth-child(even) {
      margin-left: auto;
   }
}

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

   #sec4 .bg-parallax {
      background-image: url("../img/concept/sec4-bg-img.jpg");
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
   }

   #sec4 .wrap {
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
   }

   #sec4 .col {
      width: 538px;
   }

   #sec4 .col .inner {
      position: sticky;
      top: 120px;
   }

   #sec4 h2 {
      font-weight: 300;
      font-size: 34px;
      letter-spacing: 0.25em;
      line-height: 64px;
   }

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

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

   #sec4 .photo {
      width: calc(100% - 570px);
      padding-top: 50vw;
   }

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

   #sec4 .photo figure:nth-child(2) {
      width: 335px;
      margin-left: auto;
      padding-top: 47px;
   }

   #sec4 .photo figure:nth-child(3) {
      width: 360px;
      padding: 44px 0 0 10px;
   }
}

@media only screen and (min-width: 1341px) {
   #sec4 .col {
      width: 578px;
   }

   #sec4 .photo {
      width: 606px;
      padding-left: 35px;
   }
}