.bg-parallax-1 {
  min-height: 57vw;
}
.bg-parallax-1 .img-parallax img {
  object-position: 65%;
}
@media screen and (min-width: 768px) {
  .bg-parallax-1 {
    min-height: 459px;
  }
  .bg-parallax-1 .img-parallax img {
    object-position: 50%;
  }
}
#philosophy {
  padding: 23vw 0 24vw;
}
#philosophy .set .imgbox {
  margin-top: 9vw;
}
#philosophy .set .txtbox {
  margin-top: 7vw;
}
#philosophy .set .txtbox .sign {
  margin-top: 9vw;
  text-align: right;
}
#philosophy .set .txtbox .sign img {
  width: 41vw;
}
@media screen and (min-width: 768px) {
  #philosophy {
    padding: 190px 0 185px;
  }
  #philosophy .set .imgbox {
    margin-top: 50px;
  }
  #philosophy .set .txtbox {
    margin-top: 40px;
  }
  #philosophy .set .txtbox .sign {
    margin-top: 50px;
  }
  #philosophy .set .txtbox .sign img {
    width: auto;
  }
}
@media screen and (min-width: 1024px) {
  #philosophy .set {
    display: grid;
  }
  #philosophy .set .ttlbox {
    grid-area: 1/2/2/3;
  }
  #philosophy .set .imgbox {
    grid-area: 1/1/3/2;
    min-width: 50%;
    margin-top: 5px;
    padding-right: 30px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #philosophy .set .txtbox {
    grid-area: 2/2/3/3;
  }
}
@media screen and (min-width: 1280px) {
  #philosophy .set .imgbox {
    min-width: 610px;
    padding-right: 79px;
  }
}

#products {
  padding: 26vw 0 21vw;
}
#products .set {
  margin-top: 15vw;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  #products .set .item ul {
    display: block;
  }
  #products .set .item ul li {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #products {
    padding: 138px 0 124px;
  }
  #products .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 34px -32px 0;
  }
  #products .set .item {
    width: calc(33.3333333333% - 64px);
  }
}

#company {
  position: relative;
  z-index: 0;
}
#company .wrap {
  padding-top: 21vw;
  padding-bottom: 25vw;
}
#company .gmap {
  width: 100%;
  min-height: auto;
  margin-top: 10px;
  position: relative;
}
#company .gmap::before {
  content: "";
  display: block;
  padding-top: 100%;
}
#company .gmap > iframe {
  position: absolute;
  top: 0;
  left: 0;
}
#company .shopinfo {
  margin-top: 14vw;
}
#company .shopinfo dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#company .shopinfo dl + dl {
  margin-top: 27px;
}
#company .shopinfo dl dt {
  width: 115px;
}
#company .shopinfo dl dd {
  width: calc(100% - 115px);
}
@media screen and (min-width: 768px) {  
  #company .wrap {
    padding-top: 135px;
    padding-bottom: 160px;
  }
  #company .ttlbox {
    padding-right: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #company .gmap {
    margin-top: 15px;
  }
  #company .gmap::before {
    padding-top: 317px;
  }
  #company .shopinfo {
    margin-top: 12px;
  }
  #company .shopinfo dl {
    line-height: 36px;
    letter-spacing: 0;
  }
  #company .shopinfo dl + dl {
    margin-top: 35px;
  }
  #company .shopinfo dl dt {
    width: 120px;
  }
  #company .shopinfo dl dd {
    width: calc(100% - 120px);
  }
  #company .set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 1024px) {
  #company .ttlbox {
    width: 460px;
  }
  #company .shopinfo {
    width: 820px;
  }
  #company .shopinfo dl dt {
    width: 195px;
  }
  #company .shopinfo dl dd {
    width: calc(100% - 195px);
  }
}