main section {
  margin-bottom: clamp(5rem, 8.3333333333vw, 10rem);
}
main section:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  main section {
    margin-bottom: min(21.3333333333vw, 5rem);
  }
}
main .h2Style {
  text-align: center;
  font-family: "Shippori Mincho B1", serif;
  font-size: clamp(2.1875rem, 3.6458333333vw, 4.375rem);
  font-weight: 400;
  margin-bottom: clamp(2.5rem, 3.6458333333vw, 4.375rem);
}
main .h2Style span {
  display: block;
  font-size: clamp(1rem, 1.3020833333vw, 1.5625rem);
}
@media screen and (max-width: 768px) {
  main .h2Style {
    font-size: min(9.3333333333vw, 2.1875rem);
    margin-bottom: min(10.6666666667vw, 2.5rem);
  }
  main .h2Style span {
    font-size: min(4.2666666667vw, 1rem);
  }
}

#mainArea {
  width: 100%;
  height: 65.1041666667vw;
  background-image: url(../img/top/bg_mv_pc.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  position: relative;
  margin-bottom: 2.0833333333vw;
}
#mainArea .inner {
  width: 100%;
  max-width: 90.625vw;
  margin: auto;
  padding-top: clamp(6.1875rem, 15.2083333333vw, 18.25rem);
}
#mainArea .mainCont {
  font-weight: 400;
}
#mainArea .mainTit {
  font-size: clamp(1.5625rem, 2.34375vw, 2.8125rem);
  margin-bottom: 1.6666666667vw;
}
#mainArea p {
  font-size: clamp(1rem, 1.3020833333vw, 1.5625rem);
  line-height: 1.65;
}
@media screen and (max-width: 1200px) {
  #mainArea {
    height: 114.5833333333vw;
    margin-bottom: 25px;
    background-image: url(../img/top/bg_mv_sp.png);
  }
  #mainArea .mainCont {
    max-width: 90%;
  }
}
@media screen and (max-width: 768px) {
  #mainArea {
    height: clamp(31.25rem, 177.8666666667vw, 50rem);
  }
  #mainArea .inner {
    max-width: 89.3333333333vw;
    padding-top: clamp(3.125rem, 26.4vw, 7.5rem);
  }
  #mainArea .mainTit {
    font-size: min(6.6666666667vw, 1.5625rem);
    margin-bottom: 1.6666666667vw;
  }
  #mainArea p {
    font-size: min(4.2666666667vw, 1rem);
  }
}

#concept .bgWrap {
  position: relative;
}
#concept .bgWrap::before, #concept .bgWrap::after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}
#concept .bgWrap::before {
  width: clamp(13.75rem, 27.0833333333vw, 32.5rem);
  height: clamp(11.3125rem, 22.1875vw, 26.625rem);
  background-image: url(../img/top/bg_concept_pink.png);
  top: 0;
  right: 19px;
  background-position: top left;
}
#concept .bgWrap::after {
  width: clamp(10.75rem, 34.375vw, 41.25rem);
  height: clamp(14.875rem, 31.4583333333vw, 37.75rem);
  background-image: url(../img/top/bg_concept_green.png);
  bottom: 0;
  left: 11px;
  background-position: bottom right;
}
#concept .inner {
  position: relative;
  z-index: 1;
  max-width: 73.8%;
  margin: auto;
  padding: clamp(1.53125rem, 6.9791666667vw, 8.375rem) 0 clamp(1.53125rem, 22.7604166667vw, 27.3125rem);
  text-align: center;
}
#concept .inner .lead {
  font-weight: 400;
  margin-bottom: clamp(2.5rem, 3.6458333333vw, 4.375rem);
}
#concept .inner .lead .jp {
  display: block;
  font-size: clamp(1.5625rem, 2.0833333333vw, 2.0833333333vw);
  margin-bottom: 20px;
}
#concept .inner .lead .en {
  font-size: clamp(1.25rem, 1.5625vw, 1.5625vw);
  word-break: break-word;
  letter-spacing: 1.5px;
  font-weight: 300;
}
#concept .inner p {
  font-size: clamp(1.125rem, 1.1979166667vw, 1.4375rem);
  line-height: 175%;
  letter-spacing: 1.15px;
  margin-bottom: 40px;
  font-weight: 300;
}
@media screen and (max-width: 768px) {
  #concept .bgWrap {
    overflow: hidden;
  }
  #concept .bgWrap::before {
    width: min(37.3333333333vw, 8.75rem);
    height: min(48.2666666667vw, 11.3125rem);
    top: min(26.6666666667vw, 6.25rem);
    right: 0;
    background-image: url(../img/top/bg_concept_pink_sp.png);
  }
  #concept .bgWrap::after {
    width: min(46.1333333333vw, 10.8125rem);
    height: min(63.4666666667vw, 14.875rem);
    bottom: 0;
    left: 0;
    background-image: url(../img/top/bg_concept_green_sp.png);
  }
  #concept .inner {
    max-width: 100%;
    padding: 0 36px;
  }
  #concept .inner .lead {
    margin-bottom: 40px;
    line-height: normal;
  }
  #concept .inner .lead .jp {
    font-size: min(6.6666666667vw, 1.5625rem);
    margin-bottom: 17px;
    line-height: 1.36;
  }
  #concept .inner .lead .en {
    font-size: min(5.3333333333vw, 1.25rem);
    letter-spacing: 0.6px;
  }
  #concept .inner p {
    font-size: min(4.8vw, 1.125rem);
    letter-spacing: 0.9px;
  }
}

#business .inner {
  padding: clamp(2.5rem, 2.6041666667vw, 3.125rem) 0;
  width: 100%;
  max-width: 90.625vw;
  margin: auto;
}
#business .inner .businessBox {
  border: 10px solid;
  padding: 60px;
  border-radius: 30px;
  background: #FFF;
  -webkit-box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
          box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
#business .inner .businessBox:first-of-type {
  margin-bottom: clamp(2.5rem, 6.25vw, 6.25vw);
}
#business .inner .businessBox h3.h3UnderLine {
  font-size: clamp(1.625rem, 3.125vw, 3.75rem);
  font-weight: 500;
  margin-bottom: clamp(2.5rem, 4.6875vw, 5.625rem);
  position: relative;
}
#business .inner .businessBox h3.h3UnderLine::after {
  position: absolute;
  content: "";
  width: 50px;
  height: 5px;
  border-radius: 20px;
  left: 0;
  bottom: -20px;
}
#business .inner .businessBox .flex {
  font-size: clamp(1.125rem, 1.1979166667vw, 1.4375rem);
  line-height: 200%;
  gap: 60px;
}
#business .inner .businessBox .flex .images {
  width: 39.375%;
}
@media screen and (max-width: 1920px) {
  #business .inner .businessBox .flex .images .img {
    max-width: 630px;
    margin: 0 auto;
  }
}
#business .inner .businessBox .flex .cont2x {
  width: 56.875%;
}
#business .inner .businessBox .flex p {
  margin-bottom: 40px;
  font-weight: 400;
}
#business .inner .businessBox#estate {
  border-color: rgba(0, 153, 131, 0.1450980392);
}
#business .inner .businessBox#estate h3.h3UnderLine::after {
  background-color: #009983;
}
#business .inner .businessBox#import {
  border-color: rgba(229, 0, 79, 0.1450980392);
}
#business .inner .businessBox#import h3.h3UnderLine::after {
  background-color: #E5004F;
}
#business .inner .businessBox#import .flex .images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
#business .inner .businessBox#import .importMap img {
  width: 100%;
}
@media screen and (max-width: 1200px) {
  #business .inner .businessBox .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
  #business .inner .businessBox .flex .images {
    width: 100%;
  }
  #business .inner .businessBox .flex .cont2x {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  #business .inner {
    max-width: 89.3333333333vw;
    padding: min(10.6666666667vw, 2.5rem) 0;
  }
  #business .inner .businessBox {
    border-width: 5px;
    padding: min(5.3333333333vw, 1.25rem) min(3.3333333333vw, 0.78125rem);
  }
  #business .inner .businessBox:first-of-type {
    margin-bottom: min(10.6666666667vw, 2.5rem);
  }
  #business .inner .businessBox h3.h3UnderLine {
    font-size: min(6.9333333333vw, 1.625rem);
    margin-bottom: min(8vw, 1.875rem);
  }
  #business .inner .businessBox h3.h3UnderLine::after {
    height: 3px;
    bottom: -10px;
  }
  #business .inner .businessBox .flex {
    font-size: min(4.8vw, 1.125rem);
  }
  #business .inner .businessBox .flex p {
    margin-bottom: min(8vw, 1.875rem);
    font-weight: 400;
  }
  #business .inner .businessBox#import .flex .images {
    gap: 20px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  #business .inner .businessBox#import .importMap {
    margin-bottom: 10px;
  }
}

#aboutUs .info {
  width: 50%;
  background-color: #FFFEEA;
  padding: 2rem clamp(1.25rem, 4.8958333333vw, 5.875rem);
}
#aboutUs .info h3.h3Icon {
  font-size: clamp(1.25rem, 1.5625vw, 1.5625vw);
  font-weight: 700;
  line-height: 100px;
  padding-left: clamp(3.25rem, 6.40625vw, 7.6875rem);
  position: relative;
}
#aboutUs .info h3.h3Icon::before {
  position: absolute;
  content: "";
  width: clamp(2.625rem, 4.4270833333vw, 5.3125rem);
  height: clamp(2.8125rem, 4.7916666667vw, 5.75rem);
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-image: url(../img/top/icon_logo.svg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
#aboutUs .info .dl dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#aboutUs .info .dl dl dt, #aboutUs .info .dl dl dd {
  padding: clamp(1.25rem, 1.5625vw, 1.875rem) 20px;
  border-bottom: 1px dashed #000;
  font-size: clamp(1.25rem, 1.25vw, 1.25vw);
  font-weight: 400;
  line-height: 166%;
}
#aboutUs .info .dl dl dt {
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 20.9150326797%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#aboutUs .info .dl dl dd {
  width: 79.0849673203%;
}
#aboutUs .googleMap {
  width: 50%;
  position: relative;
}
#aboutUs .googleMap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
#aboutUs .galary {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#aboutUs .galary img {
  width: 25%;
}
@media screen and (max-width: 1200px) {
  #aboutUs .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #aboutUs .info {
    width: 100%;
  }
  #aboutUs .info .dl dl dt {
    width: 25%;
  }
  #aboutUs .info .dl dl dd {
    width: 75%;
  }
  #aboutUs .googleMap {
    width: 100%;
    height: 50vw;
  }
  #aboutUs .galary {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media screen and (max-width: 768px) {
  #aboutUs .info {
    padding: min(8.5333333333vw, 2rem) min(5.3333333333vw, 1.25rem);
  }
  #aboutUs .info h3.h3Icon {
    font-size: min(5.3333333333vw, 1.25rem);
    line-height: 40px;
    padding-left: min(13.8666666667vw, 3.25rem);
  }
  #aboutUs .info h3.h3Icon::before {
    width: min(11.2vw, 2.625rem);
    height: min(12vw, 2.8125rem);
  }
  #aboutUs .info .dl dl dt, #aboutUs .info .dl dl dd {
    line-height: 150%;
    font-size: min(5.3333333333vw, 1.25rem);
    padding: min(5.3333333333vw, 1.25rem) 25px min(5.3333333333vw, 1.25rem) min(8vw, 1.875rem);
  }
  #aboutUs .info .dl dl dt {
    width: 23.8805970149%;
  }
  #aboutUs .info .dl dl dd {
    width: 76.1194029851%;
  }
  #aboutUs .googleMap {
    height: 100vw;
  }
  #aboutUs .galary img {
    width: 50%;
  }
}