:root {
  --mainColor: #FF8900;
  --subColor: #F66401;
  --subColor2: #FF9402;
  --textColor: #000000;
  --gray: #E9E9E9;
  --lightGray: #FAFAFA;
  --blueGray: #97A2B7;
  --white: #FFFFFF;
  --black: #000000;
  --accentColor: #EF724C;
  --font_sans: "Noto Sans JP", sans-serif;
  --font_e: "Jost", sans-serif;
  --leading-trim: calc((1em - 1lh) / 2);
  --width: 1200px;
  --width_lg: 1366px;
  --sp-gutter: calc(25/375*100vw);
  --pc-gutter: 18px;
}

/* body
-----------------------*/
body.is-menuopen {
  overflow: hidden;
  width: 100%;
}

/* main
-----------------------*/
main:has(.mv) {
  margin-top: 20.8vw;
}
main.content-slim{
  margin-top: 0;
  padding-top: 48px;
}
@media (min-width: 768px) {
  main:has(.mv) {
    margin-top: min(6.6666666667vw, 80px);
  }
  main.content-slim{
    padding-top: 32px;
  }
}

/* container
-----------------------*/
.container {
  padding-inline: 6.6666666667vw;
}
@media (min-width: 768px) {
  .container {
    max-width: var(--width);
    margin-inline: auto;
    padding-inline: min(1.5vw, 18px);
  }
}

/* section title
-----------------------*/
.section-title {
  display: grid;
  gap: 2.6666666667vw;
  margin-bottom: 8vw;
  text-align: center;
}
@media (max-width: 767px) {
  .section-title {
    gap: 0;
  }
}
.section-title .sub-title {
  color: var(--mainColor);
  text-transform: uppercase;
  font-weight: 700;
  font-size: 4.2666666667vw;
}
.section-title .main-title {
  font-weight: 800;
  font-size: 6.9333333333vw;
  line-height: 1.3846;
}
@media (min-width: 768px) {
  .section-title {
    gap: min(1.6666666667vw, 20px);
    margin-bottom: min(5vw, 60px);
    letter-spacing: 2px;
  }
  .section-title .sub-title {
    margin-block: var(--leading-trim);
    font-size: min(2.1666666667vw, 26px);
  }
  .section-title .main-title {
    margin-block: var(--leading-trim);
    font-size: min(3.1666666667vw, 38px);
  }
}

/*----------------------------------------
	Header
----------------------------------------*/
.header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 20.8vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: var(--white);
  padding: 5.3333333333vw;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header.is-scroll {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}
@media (min-width: 768px) {
  .header {
    gap: min(2.5vw, 30px);
    height: min(6.6666666667vw, 80px);
    padding: 1.6666666667vw 7.5vw 1.6666666667vw 4.1666666667vw;
  }
}
@media (min-width: 1201px) {
  .header {
    padding: 20px 90px 20px 50px;
  }
}

.header__logo {
  width: 41.6vw;
}
@media (min-width: 768px) {
  .header__logo {
    width: 13.6666666667vw;
  }
}
@media (min-width: 1201px) {
  .header__logo {
    width: 164px;
  }
}

.header__button {
  position: absolute;
  right: 5.3333333333vw;
  top: 5.3333333333vw;
  display: grid;
  place-content: center;
  width: 10.6666666667vw;
  height: 10.6666666667vw;
}
.header__button .line {
  position: relative;
  width: 8vw;
  height: 0.8vw;
  background: var(--black);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__button .line::before, .header__button .line::after {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: var(--black);
  -webkit-transition: rotate 0.3s;
  transition: rotate 0.3s;
}
.header__button .line::before {
  top: -2.4vw;
}
.header__button .line::after {
  bottom: -2.4vw;
}
.header__button[aria-expanded=true] {
  position: absolute;
  top: 5.3333333333vw;
  right: 5.3333333333vw;
  z-index: 1000;
}
.header__button[aria-expanded=true] .line {
  background: transparent;
}
.header__button[aria-expanded=true] .line::before {
  top: 0;
  rotate: 45deg;
}
.header__button[aria-expanded=true] .line::after {
  bottom: 0;
  rotate: -45deg;
}
@media (min-width: 768px) {
  .header__button {
    top: min(1.25vw, 15px);
    right: min(1.6666666667vw, 20px);
    width: min(4.1666666667vw, 50px);
    height: min(4.1666666667vw, 50px);
  }
  .header__button .line {
    width: min(3.3333333333vw, 40px);
    height: min(0.3333333333vw, 4px);
  }
  .header__button .line::before {
    top: max(-1vw, -12px);
  }
  .header__button .line::after {
    bottom: max(-1vw, -12px);
  }
  .header__button[aria-expanded=true] {
    top: min(1.25vw, 15px);
    right: min(1.25vw, 30px);
  }
}

/*----------------------------------------
	Gnav
----------------------------------------*/
.gnav {
  display: none;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 100;
  width: 85.3333333333vw;
  height: 154.6666666667vw;
  max-height: 100vh;
  overflow-y: auto;
  background-color: var(--white);
}
@media (min-width: 768px) {
  .gnav {
    width: min(36.6666666667vw, 440px);
    height: min(65vw, 780px);
  }
}

.gnav__inner {
  padding: 20.8vw 6.6666666667vw 6.6666666667vw 6.6666666667vw;
  background-color: var(--white);
}
@media (min-width: 768px) {
  .gnav__inner {
    padding: min(6.6666666667vw, 80px) min(3.3333333333vw, 40px);
  }
}

.gnav__menu > li:not(:last-child) {
  border-bottom: 1px solid var(--blueGray);
}
.gnav__menu a {
  display: grid;
  gap: 2.1333333333vw;
  padding-block: 5.3333333333vw;
  color: inherit;
  text-decoration: none;
}
.gnav__menu .sub-title {
  display: block;
  margin-block: var(--leading-trim);
  color: var(--mainColor);
  text-transform: uppercase;
  font-weight: bold;
  font-size: 3.2vw;
}
.gnav__menu .main-title {
  display: block;
  margin-block: var(--leading-trim);
  font-size: 4.8vw;
  font-weight: bold;
}
@media (min-width: 768px) {
  .gnav__menu a {
    padding-block: min(1.8333333333vw, 22px);
    gap: min(0.8333333333vw, 10px);
  }
  .gnav__menu .sub-title {
    font-size: min(1.3333333333vw, 16px);
  }
  .gnav__menu .main-title {
    font-size: min(1.8333333333vw, 22px);
  }
}

.gnav__overlay {
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 99;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
}

/*----------------------------------------
	CTA
----------------------------------------*/
/* CTAエリア
-------------------------*/
.cta {
  padding-block: 10.6666666667vw;
  background-color: var(--black);
  color: var(--white);
  text-align: center;
}
.cta.spnone {
  display: none;
}
@media (min-width: 768px) {
  .cta {
    padding-block: min(5vw, 60px) min(4.1666666667vw, 50px);
  }
  .cta.spnone {
    display: block;
  }
}

.cta__catch-commerce {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  padding: 1.0666666667vw 8.5333333333vw;
  background: var(--white);
  color: var(--black);
  font-weight: 800;
  font-size: 4.8vw;
  line-height: 1;
  vertical-align: middle;
  -webkit-transform: skew(-20deg);
          transform: skew(-20deg);
}
.cta__catch-commerce img {
  width: 44.8vw;
  margin-right: 0.2em;
  vertical-align: middle;
}
.cta__catch-commerce::after {
  position: absolute;
  top: 0;
  right: -4.2666666667vw;
  content: "";
  display: block;
  width: 2.1333333333vw;
  height: 100%;
  background: var(--mainColor);
}
.cta__catch-commerce > span {
  -webkit-transform: skew(20deg);
          transform: skew(20deg);
}
@media (min-width: 768px) {
  .cta__catch-commerce {
    padding: min(1vw, 12px) min(5.5vw, 66px);
    font-size: min(2.3333333333vw, 28px);
  }
  .cta__catch-commerce img {
    width: min(19.3333333333vw, 232px);
  }
  .cta__catch-commerce::after {
    right: min(-1.3333333333vw, -16px);
    width: min(0.8333333333vw, 10px);
  }
}

.cta__catch-text {
  display: block;
  margin-top: 4.2666666667vw;
  font-weight: bold;
  font-size: 5.3333333333vw;
  line-height: 1.7;
}
@media (min-width: 768px) {
  .cta__catch-text {
    line-height: 1;
    margin-top: min(2.5vw, 30px);
    font-size: min(2.8333333333vw, 34px);
  }
}

.cta-buttons {
  display: grid;
  gap: 5.3333333333vw;
  margin-top: 8vw;
}
@media (min-width: 768px) {
  .cta-buttons {
    grid-template-columns: repeat(3, auto);
    place-content: center;
    gap: min(1.6666666667vw, 20px);
    margin-top: min(4.5833333333vw, 55px);
  }
}

/* CTAエリア 内パーツ
-------------------------*/
/*標準ボタン*/
.btn {
  position: relative;
  z-index: 1;
  overflow: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 15.7333333333vw;
  background-color: var(--white);
  border-radius: 100vw;
  color: var(--black);
  font-size: 5.3333333333vw;
  font-weight: bold;
  text-decoration: none;
}
.btn::before {
  content: "";
  width: 135%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  -webkit-transform-origin: top left;
          transform-origin: top left;
  -webkit-transform: skewX(-45deg) translateX(-100%);
          transform: skewX(-45deg) translateX(-100%);
  -webkit-transition: inherit;
  transition: inherit;
}
@media (min-width: 768px) {
  .btn {
    height: min(4.75vw, 57px);
    padding-inline: min(4.5833333333vw, 55px);
    font-size: min(1.6666666667vw, 20px);
  }
  .header .btn {
    height: min(3.3333333333vw, 40px);
    font-size: min(1.1666666667vw, 14px);
  }
  .btn:hover .inr:after {
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 100vw;
  }
}

.btn-contact::before {
  background-color: var(--black);
}
@media (any-hover: hover) {
  .btn-contact:hover {
    border-color: var(--white);
    color: var(--white);
  }
  .btn-contact:hover::before {
    -webkit-transform-origin: top right;
            transform-origin: top right;
    -webkit-transform: skewX(-45deg) translateX(0);
            transform: skewX(-45deg) translateX(0);
  }
}
.btn-contact:hover .inr:after {
  border-color: #fff;
}

.btn-contact--reverse {
  background-color: var(--black);
  color: var(--white);
}
.btn-contact--reverse::before {
  background-color: var(--white);
}
@media (any-hover: hover) {
  .btn-contact--reverse:hover {
    border-color: var(--black);
    color: var(--black);
  }
  .btn-contact--reverse:hover::before {
    -webkit-transform-origin: top right;
            transform-origin: top right;
    -webkit-transform: skewX(-45deg) translateX(0);
            transform: skewX(-45deg) translateX(0);
  }
}

.btn-download {
  position: relative;
  background: -webkit-gradient(linear, left top, right top, from(var(--mainColor)), to(var(--subColor)));
  background: linear-gradient(to right, var(--mainColor), var(--subColor));
}
.btn-download::before {
  background-color: var(--white);
}
.btn-download::after {
  position: absolute;
  right: 5.3333333333vw;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_download.svg) center center/contain no-repeat;
  vertical-align: middle;
}
.btn-download._reverse {
  color: var(--white);
}
.btn-download._reverse::after {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/icon_download_wh.svg);
}
.header .btn-download {
  color: var(--white);
}
.header .btn-download::after {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/icon_download_wh.svg);
}
@media (min-width: 768px) {
  .btn-download::after {
    right: min(1.6666666667vw, 20px);
  }
  .btn-download:hover .inr:after {
    border-color: var(--mainColor);
  }
}
@media (any-hover: hover) {
  .btn-download:hover {
    border-color: var(--mainColor);
    color: var(--black);
  }
  .header .btn-download:hover {
    color: var(--black);
  }
  .btn-download:hover::before {
    -webkit-transform-origin: top right;
            transform-origin: top right;
    -webkit-transform: skewX(-45deg) translateX(0);
            transform: skewX(-45deg) translateX(0);
  }
  .btn-download:hover:after {
    background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_download_on.svg) center center/contain no-repeat;
  }
}

.btn-tel {
  font-size: 8vw;
}
.btn-tel::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 0.5em;
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_tel.svg) center center/contain no-repeat;
  vertical-align: middle;
}
@media (max-width: 767px) {
  .btn-tel {
    position: relative;
    padding-left: 13vw;
  }
  .btn-tel:after {
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: 8.5em;
    background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_tel.svg) center center/contain no-repeat;
    vertical-align: middle;
    position: absolute;
    left: 11vw;
    z-index: 1;
  }
}

.cta-phone {
  position: relative;
  display: grid;
  padding-inline: min(4.1666666667vw, 50px) min(1.6666666667vw, 20px);
  text-align: left;
  font-weight: bold;
  line-height: 1.2;
}
.cta-phone .text {
  font-size: min(1.3333333333vw, 16px);
}
.cta-phone .tel {
  font-size: min(3vw, 36px);
}
.cta-phone::before {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: min(2.75vw, 33px);
  height: min(5vw, 60px);
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_phone_wh.svg) 0 0/contain no-repeat;
}
.header-cta .cta-phone {
  padding-inline: min(2.5vw, 30px) 0;
}
.header-cta .cta-phone .text {
  font-size: min(0.8333333333vw, 10px);
}
.header-cta .cta-phone .tel {
  font-size: min(2.1666666667vw, 26px);
}
.header-cta .cta-phone::before {
  width: min(1.75vw, 21px);
  height: min(3.1666666667vw, 38px);
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/icon_phone.svg);
}

/*Header配置*/
.header-cta {
  display: none;
}
@media (min-width: 768px) {
  .header-cta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(1.6666666667vw, 20px);
  }
}

/*----------------------------------------
	MV
----------------------------------------*/
.mv {
  background-color: var(--mainColor);
  aspect-ratio: 375/525;
  position: relative;
  overflow: hidden;
}

@media (min-width: 768px) {
  .mv {
    aspect-ratio: 1406/707;
  }
}
@media (768px <= width < 1200px) {
  .mv {
    height: 600px;
    width: 100%;
  }
}
@media (min-width: 1201px) {
  .mv {
    aspect-ratio: auto;
    height: 707px;
  }
}
@media (max-width: 767px) {
  .mv {
    width: 100%;
    height: 433px;
  }
}
.mv .mv_inr {
  height: 100%;
}

@media (max-width: 767px) {
  .mv .mv_inr {
    overflow: hidden;
    position: relative;
  }
}
.mv .video {
  position: relative;
  height: 100%;
}
.mv .video:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
  background-size: 4px 4px;
  background-position: 0 0, 2px 2px;
  z-index: 1;
}

.mv .video .mv_image {
  display: none;
  height: 100%;
  width: auto;
}

.mv .video video {
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (max-width: 767px) {
  .mv .video video {
    -o-object-fit: cover;
    object-fit: cover;
    width: auto;
  }
}
@media (max-width: 767px) {
  .mv .video {
    position: absolute;
    right: 0%;
    -webkit-animation: slidefv 20s linear infinite;
    animation: slidefv 20s linear infinite;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .mv .video {
    -webkit-animation: slidefv 30s linear infinite;
    animation: slidefv 30s linear infinite;
  }
}
@media (max-width: 767px) {
  @-webkit-keyframes slidefv {
    0% {
      right: 0%;
    }
    45% {
      right: calc(100% - 692px);
    }
    90% {
      right: 0%;
    }
  }
  @keyframes slidefv {
    0% {
      right: 0%;
    }
    45% {
      right: calc(100% - 692px);
    }
    90% {
      right: 0%;
    }
  }
}
.mv .video .particle {
  z-index: 3;
  width: 0.8vw;
  height: 0.8vw;
  background: #fa8072;
  border-radius: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  position: absolute;
  /* animation */
}

@media (max-width: 767px) {
  .mv .video .particle {
    width: 1.5vw;
    height: 1.5vw;
  }
}
.mv .video .particle._1 {
  right: 30%;
  top: 40%;
  -webkit-animation: expansion-anim 1.2s ease-out infinite;
  animation: expansion-anim 1.2s ease-out infinite;
}

.mv .video .particle._2 {
  right: 20%;
  top: 15%;
  -webkit-animation: expansion-anim 2s ease-out infinite;
  animation: expansion-anim 2s ease-out infinite;
}

.mv .video .particle._3 {
  right: 40%;
  top: 55%;
  -webkit-animation: expansion-anim 1.5s ease-out infinite;
  animation: expansion-anim 1.5s ease-out infinite;
}

.mv .video .particle._4 {
  right: 37%;
  top: 64%;
  -webkit-animation: expansion-anim 1.8s ease-out infinite;
  animation: expansion-anim 1.8s ease-out infinite;
}

.mv .video .particle._5 {
  right: 34%;
  top: 53%;
  -webkit-animation: expansion-anim 2s ease-out infinite;
  animation: expansion-anim 2s ease-out infinite;
}

.mv .video .particle._6 {
  right: 44%;
  top: 69%;
  -webkit-animation: expansion-anim 1.2s ease-out infinite;
  animation: expansion-anim 1.2s ease-out infinite;
}

.mv .video .particle._7 {
  right: 49%;
  top: 71%;
  -webkit-animation: expansion-anim 2s ease-out infinite;
  animation: expansion-anim 2s ease-out infinite;
}

.mv .video .particle._8 {
  right: 57%;
  top: 71%;
  -webkit-animation: expansion-anim 1.5s ease-out infinite;
  animation: expansion-anim 1.5s ease-out infinite;
}

.mv .video .particle._9 {
  right: 65%;
  top: 59%;
  -webkit-animation: expansion-anim 2s ease-out infinite;
  animation: expansion-anim 2s ease-out infinite;
}

.mv .video .particle._10 {
  right: 75%;
  top: 64%;
  -webkit-animation: expansion-anim 1.5s ease-out infinite;
  animation: expansion-anim 1.5s ease-out infinite;
}

@-webkit-keyframes expansion-anim {
  0% {
    background: #fa8072;
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 1;
  }
  100% {
    background: #faaa72;
    -webkit-transform: scale(3);
    transform: scale(3);
    opacity: 0;
  }
}
@keyframes expansion-anim {
  0% {
    background: #fa8072;
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 1;
  }
  100% {
    background: #faaa72;
    -webkit-transform: scale(3);
    transform: scale(3);
    opacity: 0;
  }
}
.mv .fv_logoarea {
  left: 0;
  z-index: 5;
  width: 100%;
  position: absolute;
  top: 23%;
}

@media (max-width: 767px) {
  .mv .fv_logoarea {
    top: 17%;
  }
}
.mv .fv_logoarea .fvlogo img {
  width: 53%;
  max-width: 740px;
  display: block;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .mv .fv_logoarea .fvlogo img {
    width: 74%;
    max-width: 277px;
  }
}
.mv .fv_logoarea .btns {
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 20px;
  -moz-column-gap: 20px;
  column-gap: 20px;
  width: 100%;
  margin-top: 50px;
}

@media (max-width: 767px) {
  .mv .fv_logoarea .btns {
    display: none;
  }
}
.mv .fv_logoarea .btns .btn {
  font-size: 20px;
  font-weight: bold;
  height: 57px;
  line-height: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 55px;
  border-radius: 29px;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}

.mv .fv_logoarea .btns .btn._contact {
  border: 2px solid #fff;
}

.mv .fv_logoarea .btns .btn._contact:hover {
  background-color: #141414;
  color: #fff;
}

.mv .fv_logoarea .btns .btn._dl {
  padding-right: 70px;
  color: #fff;
  background-color: var(--mainColor);
  position: relative;
  border: 2px solid var(--mainColor);
}

.mv .fv_logoarea .btns .btn._dl:after {
  content: "";
  width: 18px;
  height: 17px;
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_fv_btn.svg) no-repeat center center/contain;
  display: block;
  position: absolute;
  z-index: 1;
  right: 25px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.mv .fv_logoarea .btns .btn._dl:hover {
  background-color: #fff;
  color: var(--mainColor);
}

.mv .fv_logoarea .btns .btn._dl:hover:after {
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_fv_btn_on.svg) no-repeat center center/contain;
}

.mv .fv_logoarea .btns .btn._contact {
  background-color: #fff;
}

.mv .triangle {
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 463px;
  height: 519px;
  background-color: var(--mainColor);
  /* 三角形の色 */
  -webkit-clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(100% 0%, 0% 100%, 100% 100%);
  text-align: right;
  padding-top: 215px;
  padding-right: 30px;
}

.mv .triangle .nos {
  font-family: "Jost", sans-serif;
  font-size: 24px;
  color: #fff;
  line-height: 1.1;
  width: 5em;
  margin-left: auto;
  display: block;
}

@media (768px <= width < 1200px) {
  .mv .triangle .nos {
    font-size: 1.2em;
  }
}
.mv .triangle .counter {
  font-family: "Oswald", sans-serif;
  line-height: 1;
  font-size: 124px;
  font-weight: bold;
  color: var(--mainColor);
  -webkit-text-stroke: 1px #fff;
}

@media (768px <= width < 1200px) {
  .mv .triangle .counter {
    font-size: 5.6em;
  }
}
@media (768px <= width < 1200px) {
  .mv .triangle {
    width: 20em;
    height: 21em;
    /* max-width: 300px; */
    /* max-height: 330px; */
    padding-top: 7.2em;
    padding-right: 0.9em;
  }
}
@media (max-width: 767px) {
  .mv .triangle {
    width: 177px;
    height: 200px;
    padding-top: 80px;
    padding-right: 3.5vw;
  }
  .mv .triangle .nos {
    font-size: 10px;
  }
  .mv .triangle .counter {
    font-size: 36px;
    -webkit-text-stroke: 0.15vw #fff;
  }
}
.mv .loopingtxt {
  background-color: #141414;
  position: absolute;
  bottom: 7%;
  left: 0;
  width: 100%;
  z-index: 5;
  height: 43px;
  border-bottom: 1px solid #fff;
  border-top: 1px solid #fff;
  overflow: hidden;
  padding: 7px 0;
}

@media (max-width: 767px) {
  .mv .loopingtxt {
    height: 28px;
    bottom: 5%;
    padding: 2px 0 0;
  }
}
@media (768px <= width < 1200px) {
  .mv .loopingtxt {
    bottom: 4%;
  }
}
.mv .loopingtxt .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: slide 40s linear infinite;
  animation: slide 40s linear infinite;
}

.mv .loopingtxt img {
  height: 24px;
  margin-right: 20px;
  width: auto;
}

@media (max-width: 767px) {
  .mv .loopingtxt img {
    height: 20px;
  }
}
@-webkit-keyframes slide {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes slide {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
.mv .tuiju {
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  position: absolute;
  right: 1.4%;
  bottom: 5%;
  z-index: 7;
  width: 230px;
}

@media (max-width: 767px) {
  .mv .tuiju {
    display: none;
  }
}
@media (768px <= width < 1200px) {
  .mv .tuiju {
    display: none;
  }
}
.mv .tuiju_obj {
  width: 100%;
  display: block;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}

.mv .tuiju_obj:hover {
  -webkit-filter: brightness(1.1);
  filter: brightness(1.1);
}

.mv .tuiju_close {
  cursor: pointer;
  width: 36px;
  z-index: 1;
  position: absolute;
  right: -10px;
  top: -10px;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}

.mv .tuiju_close:hover {
  -webkit-filter: brightness(1.5);
  filter: brightness(1.5);
}

.mv .scroll {
  width: 12.5px;
  position: absolute;
  left: 42px;
  bottom: 134px;
  z-index: 4;
}

@media (max-width: 767px) {
  .mv .scroll {
    display: none;
  }
}
@media (768px <= width < 1200px) {
  .mv .scroll {
    display: none;
  }
}
.mv .scroll img {
  width: 100%;
}

.mv_image {
  display: none;
}

/*----------------------------------------
	Worries
----------------------------------------*/
/* worries section
-----------------------*/
.worries-section {
  padding-block: 8vw;
}
@media (min-width: 768px) {
  .worries-section {
    padding-block: min(5.4166666667vw, 65px) min(5.4166666667vw, 60px);
  }
}

/* worries
-----------------------*/
.worries {
  display: grid;
  gap: 5.3333333333vw;
}
@media (min-width: 768px) {
  .worries {
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.6666666667vw, 20px);
  }
}

.worries__item {
  border: 2px solid var(--black);
  background-color: var(--white);
}
@media (min-width: 768px) {
  .worries__item {
    padding-bottom: 2vw;
  }
}

.worries__title {
  padding: 2.6666666667vw 5.3333333333vw;
  background: var(--black);
  color: var(--white);
  text-align: center;
  font-weight: 800;
  font-size: 4.8vw;
}
.worries__title > b {
  color: var(--mainColor);
}
.worries__title .emphasis {
  background: #fff;
  color: #000;
  padding: 0 5px 3px 5px;
  margin-right: 8px;
  font-size: 20px;
}
@media (min-width: 768px) {
  .worries__title .emphasis {
    font-size: min(2.1666666667vw, 26px);
  }
}
@media (min-width: 768px) {
  .worries__title {
    padding: min(1.4166666667vw, 17px);
    font-size: min(2vw, 24px);
  }
}

.worries__body {
  padding: 3.7333333333vw 5.8666666667vw;
}
@media (min-width: 768px) {
  .worries__body {
    padding: min(1.4166666667vw, 17px);
  }
}
@media (min-width: 768px) {
  .worries__body .worries__thumb {
    padding-top: min(0.8333333333vw, 10px);
  }
}

@media (min-width: 768px) {
  .worries__list {
    margin-top: 0.866667vw;
  }
}
.worries__list > li {
  position: relative;
  padding: 4vw 0 4vw 8vw;
  font-weight: 500;
}
.worries__list > li strong {
  font-weight: 800;
  background: -webkit-gradient(linear, left bottom, left top, from(var(--mainColor)), color-stop(15%, var(--mainColor)), color-stop(15%, transparent), to(transparent));
  background: linear-gradient(360deg, var(--mainColor) 0%, var(--mainColor) 15%, transparent 15%, transparent 100%);
}
.worries__list > li:not(:last-child) {
  border-bottom: 1px solid var(--blueGray);
}
.worries__list > li::before {
  position: absolute;
  left: 0;
  top: 6.4vw;
  content: "";
  display: block;
  width: 5.3333333333vw;
  aspect-ratio: 20/15;
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_check.svg) 0 0/contain no-repeat;
}
@media (max-width: 767px) {
  .worries__list > li {
    line-height: 1.4;
  }
}
@media (min-width: 768px) {
  .worries__list > li {
    padding: min(1.25vw, 15px) 0 min(1.25vw, 15px) min(2.5vw, 30px);
  }
  .worries__list > li::before {
    top: min(2vw, 24px);
    width: min(1.6666666667vw, 20px);
  }
}

/* worries keypoint
-----------------------*/
.worries-keypoint {
  position: relative;
  background: url(/wp-content/themes/propertydscience/images/at-commerce/bg_worries_icons_sp.svg) top center/contain no-repeat;
  margin-inline: calc(50% - 50vw);
  padding: 5.3333333333vw 0 8vw;
  color: var(--white);
  text-align: center;
  font-weight: bold;
  font-size: 4.8vw;
}
.worries-keypoint .text01 {
  display: block;
  margin-bottom: 2.6666666667vw;
  line-height: 1;
}
.worries-keypoint .text02 {
  line-height: 1;
  display: block;
  color: var(--black);
  font-weight: 800;
  font-size: 5.3333333333vw;
}
.worries-keypoint .text03 {
  display: block;
  color: var(--black);
  font-weight: 800;
  font-size: 8vw;
}
.worries-keypoint::after {
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: -1;
  translate: -50% 0;
  content: "";
  display: block;
  width: 100vw;
  aspect-ratio: 375/432;
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--subColor)), to(var(--subColor2)));
  background-image: linear-gradient(to bottom, var(--subColor), var(--subColor2));
  -webkit-clip-path: polygon(0 0, 100% 0%, 100% 85%, 50% 100%, 0% 85%);
          clip-path: polygon(0 0, 100% 0%, 100% 85%, 50% 100%, 0% 85%);
}
@media (min-width: 768px) {
  .worries-keypoint::after {
    bottom: 20px;
  }
}
@media (min-width: 768px) {
  .worries-keypoint {
    background-image: url(/wp-content/themes/propertydscience/images/at-commerce/bg_worries_icons_pc.svg);
    padding: min(5vw, 60px) 0 min(10.3333333333vw, 124px);
    font-size: min(2.5vw, 30px);
  }
  .worries-keypoint .text01 {
    margin-bottom: min(1.6666666667vw, 20px);
  }
  .worries-keypoint .text02 {
    font-size: min(3.3333333333vw, 40px);
  }
  .worries-keypoint .text03 {
    display: inline-block;
    font-size: min(4.1666666667vw, 50px);
  }
  .worries-keypoint::after {
    aspect-ratio: 1366/563;
    -webkit-clip-path: polygon(0 0, 100% 0%, 100% 70%, 50% 100%, 0% 70%);
            clip-path: polygon(0 0, 100% 0%, 100% 70%, 50% 100%, 0% 70%);
  }
}
@media (min-width: 1201px) {
  .worries-keypoint {
    margin-inline: auto;
  }
  .worries-keypoint::after {
    height: 563px;
  }
}

/* worries solution
-----------------------*/
.worries-solution {
  position: relative;
  margin-top: 8vw;
  text-align: center;
  font-weight: 800;
  font-size: 5.3333333333vw;
}
@media (min-width: 768px) {
  .worries-solution {
    margin-top: min(2.9166666667vw, 35px);
    font-size: min(2.8333333333vw, 34px);
  }
}
.worries-solution::before {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  translate: -50% calc(-50% - 0.2em);
  display: block;
  content: "SOLUTION";
  font-family: var(--font_e);
  font-weight: bold;
  font-size: 18.6666666667vw;
  color: var(--white);
  -webkit-text-stroke: 2px #FFF0DE;
  white-space: nowrap;
  line-height: 1;
}
@media (min-width: 768px) {
  .worries-solution::before {
    translate: -50% -50%;
    font-size: min(20vw, 240px);
  }
}
.worries-solution .text01 {
  display: block;
  line-height: 1;
}
.worries-solution .marker {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 2.6666666667vw;
  margin-inline: auto;
  border-bottom: 1.6vw solid var(--mainColor);
}
@media (min-width: 768px) {
  .worries-solution .marker {
    display: inline-block;
    margin-top: min(0.8333333333vw, 10px);
    border-bottom: min(0.6666666667vw, 8px) solid var(--mainColor);
  }
}
@media (max-width: 767px) {
  .worries-solution .marker {
    border: none;
    position: relative;
  }
  .worries-solution .marker:after {
    content: "";
    width: 60%;
    height: 1.6vw;
    background-color: #FF8900;
    bottom: -1vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    display: block;
    position: absolute;
  }
}
@media (max-width: 767px) {
  .worries-solution .db {
    display: block;
  }
}
.worries-solution .text02 {
  display: block;
}
.worries-solution .text02 > b {
  display: inline-block;
  margin-block: var(--leading-trim);
  margin-right: 0.2em;
  color: var(--subColor);
  font-size: 8.5333333333vw;
}
@media (min-width: 768px) {
  .worries-solution .text02 > b {
    font-size: min(3.8333333333vw, 46px);
  }
}
.worries-solution .text02 .dot {
  position: relative;
  font-size: 8vw;
}
.worries-solution .text02 .dot::before {
  position: absolute;
  left: 50%;
  top: -1.0666666667vw;
  translate: -50% 0;
  content: "";
  display: block;
  width: 1.6vw;
  height: 1.6vw;
  background-color: var(--mainColor);
  border-radius: 50%;
}
@media (min-width: 768px) {
  .worries-solution .text02 .dot {
    font-size: min(3.3333333333vw, 40px);
  }
  .worries-solution .text02 .dot::before {
    top: min(-0.3333333333vw, -4px);
    width: min(2.1333333333vw, 8px);
    height: min(2.1333333333vw, 8px);
  }
}

/*----------------------------------------
	About
----------------------------------------*/
.about-section {
  padding-top: 8vw;
  background-color: var(--lightGray);
  background-image: radial-gradient(#e6e6e6 8%, transparent 8%);
  background-position: 11px 11px;
  background-size: 22px 22px;
}
@media (min-width: 768px) {
  .about-section {
    padding-top: min(5.4166666667vw, 65px);
  }
}
.about {
  display: grid;
  gap: 8vw;
  text-align: center;
}
@media (min-width: 768px) {
  .about {
    grid-template-columns: 1fr 1fr;
    gap: min(3.3333333333vw, 40px);
  }
}

.about__thumb img {
  width: 68.253968254%;
}
@media (min-width: 768px) {
  .about__thumb img {
    width: 100%;
  }
}

.about__list {
  display: grid;
  gap: 3.7333333333vw;
}
@media (min-width: 768px) {
  .about__list {
    gap: min(2.8333333333vw, 34px);
  }
}
.about__list > li {
  display: grid;
  grid-template-columns: 17.6vw 1fr;
  border: 2px solid var(--black);
  background-color: var(--white);
  -webkit-box-shadow: 1.0666666667vw 1.0666666667vw 0 var(--black);
          box-shadow: 1.0666666667vw 1.0666666667vw 0 var(--black);
  -webkit-transform: skewX(-15deg);
          transform: skewX(-15deg);
  line-height: 1.4;
}
@media (min-width: 768px) {
  .about__list > li {
    line-height: 1.3;
    grid-template-columns: min(9.5833333333vw, 115px) 1fr;
    -webkit-box-shadow: min(0.6666666667vw, 8px) min(0.6666666667vw, 8px) 0 var(--black);
            box-shadow: min(0.6666666667vw, 8px) min(0.6666666667vw, 8px) 0 var(--black);
  }
}
.about__list .num {
  border-right: 2px solid var(--black);
  background: var(--mainColor);
  color: var(--white);
  font-family: var(--font_e);
  font-size: 7.7333333333vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 768px) {
  .about__list .num {
    font-size: min(4.6666666667vw, 56px);
  }
}
.about__list .text {
  display: grid;
  place-content: center;
  font-size: 4.8vw;
  font-weight: bold;
  -webkit-transform: skewX(15deg);
          transform: skewX(15deg);
  padding: 1.8666666667vw 0;
}
@media (min-width: 768px) {
  .about__list .text {
    padding: 0;
  }
}
.about__list .text .sub {
  font-size: 0.8em;
  color: var(--mainColor);
  line-height: 1;
}
@media (min-width: 768px) {
  .about__list .text .sub {
    font-size: 0.5em;
  }
}
@media (min-width: 768px) {
  .about__list .text {
    font-size: min(2.5vw, 30px);
  }
}

.about__text {
  margin-top: 5.3333333333vw;
  font-size: 4.8vw;
  font-weight: 900;
}
@media (min-width: 768px) {
  .about__text {
    margin-top: min(2.5vw, 30px);
    font-size: min(2.5vw, 30px);
  }
}

.about__note {
  margin-top: 5.3333333333vw;
  margin-bottom: 8vw;
  line-height: 1.7;
}
.about__note br {
  display: none;
}
@media (min-width: 768px) {
  .about__note {
    line-height: 1.7;
    font-size: 24px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    margin-top: min(2.4166666667vw, 29px);
    margin-bottom: min(5vw, 60px);
  }
  .about__note br {
    display: block;
  }
}

/*----------------------------------------
	Service
----------------------------------------*/
.service {
  background-color: var(--gray);
}

.service__header {
  position: relative;
  padding: 6.4vw 4.2666666667vw;
  background-color: var(--black);
  color: var(--white);
  text-align: center;
}
.service__header::before {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 80vw;
  color: var(--black);
  text-shadow: 1px 1px 0 #222222, -1px -1px 0 #222222, 1px -1px 0 #222222, -1px 1px 0 #222222;
  text-transform: uppercase;
  font-family: var(--font_e);
  font-size: 12.2666666667vw;
  font-weight: bold;
  line-height: 1;
  height: 70%;
}
@media (min-width: 768px) {
  .service__header::before {
    height: 50%;
  }
}
.--service01 .service__header::before {
  content: "";
  background: url(/wp-content/themes/propertydscience/images/at-commerce/service_ttl_bg1sp.svg) no-repeat bottom center/100%;
}
@media (min-width: 768px) {
  .--service01 .service__header::before {
    background: url(/wp-content/themes/propertydscience/images/at-commerce/service_ttl_bg1.svg) no-repeat bottom center/auto 100%;
  }
}
.--service02 .service__header::before {
  content: "";
  background: url(/wp-content/themes/propertydscience/images/at-commerce/service_ttl_bg2sp.svg) no-repeat bottom center/100%;
}
@media (min-width: 768px) {
  .--service02 .service__header::before {
    background: url(/wp-content/themes/propertydscience/images/at-commerce/service_ttl_bg2.svg) no-repeat bottom center/auto 100%;
  }
}
.--service03 .service__header::before {
  content: "";
  background: url(/wp-content/themes/propertydscience/images/at-commerce/service_ttl_bg3sp.svg) no-repeat bottom center/100%;
}
@media (min-width: 768px) {
  .--service03 .service__header::before {
    background: url(/wp-content/themes/propertydscience/images/at-commerce/service_ttl_bg3.svg) no-repeat bottom center/auto 100%;
  }
}
@media (min-width: 768px) {
  .service__header {
    padding: 2.5vw min(2.0833333333vw, 25px);
  }
  .service__header::before {
    top: auto;
    bottom: 0;
    translate: -50% 0;
    width: 100%;
    font-size: min(8.3333333333vw, 100px);
    white-space: nowrap;
    text-shadow: 1px 1px 0 #404040, -1px -1px 0 #404040, 1px -1px 0 #404040, -1px 1px 0 #404040;
  }
}

.service__title {
  position: relative;
  z-index: 1;
}
.service__title .subwrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.service__title .sub {
  padding-left: 3vw;
  color: var(--mainColor);
}
@media (min-width: 768px) {
  .service__title .sub {
    padding-left: 1vw;
    font-size: 1.9vw;
  }
}
.service__title .num {
  line-height: 1;
  display: block;
  color: var(--mainColor);
  font-family: var(--font_e);
  font-size: 9.5vw;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
}
.service__title .text01 {
  display: block;
  font-weight: bold;
  font-size: 5.3333333333vw;
  line-height: 1.3;
}
.service__title .text02 {
  display: block;
  font-weight: bold;
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .service__title .num {
    font-size: min(5.8333333333vw, 70px);
  }
  .service__title .text01 {
    font-size: min(2.8333333333vw, 34px);
  }
  .service__title .text02 {
    font-size: min(2vw, 24px);
  }
}

.service__inner {
  display: grid;
  gap: 2.9333333333vw;
  padding-block: 4.5333333333vw 9.6vw;
}
@media (min-width: 768px) {
  .service__inner {
    grid-template-columns: 1fr 1fr;
    gap: min(7.6666666667vw, 92px);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-block: min(5vw, 60px) min(5.4166666667vw, 65px);
  }
}

/*@commerceができること*/
.service__detail {
  position: relative;
  width: 93.8461538462%;
  margin-inline: auto;
  margin-bottom: 10.6666666667vw;
  padding: 3.2vw;
  background-color: var(--white);
}
.service__detail::after {
  position: absolute;
  left: 50%;
  bottom: -4.2666666667vw;
  translate: -50% 0;
  content: "";
  display: block;
  width: 13.3333333333vw;
  height: 4.2666666667vw;
  background: var(--mainColor);
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
          clip-path: polygon(50% 100%, 0 0, 100% 0);
}
@media (min-width: 768px) {
  .service__detail {
    width: 84.2778793419%;
    margin-bottom: min(5.1666666667vw, 62px);
    padding: min(1.1666666667vw, 10px) min(1.6666666667vw, 20px) min(1.8333333333vw, 15px);
  }
  .service__detail::after {
    bottom: -28px;
    width: min(7.5vw, 90px);
    height: min(2.3333333333vw, 28px);
  }
}

.service__detail-title {
  color: var(--subColor);
  text-align: center;
  font-weight: bold;
}
@media (min-width: 768px) {
  .service__detail-title {
    font-size: min(2.1666666667vw, 26px);
  }
}

.service__detail-list {
  display: grid;
  gap: 2.6666666667vw;
  margin-top: 3.4666666667vw;
  line-height: 1.2;
}
.service__detail-list > li {
  position: relative;
  padding-left: 8vw;
}
.service__detail-list > li::before {
  position: absolute;
  left: 0;
  top: 0.2em;
  content: "";
  display: block;
  width: 5.3333333333vw;
  height: 4vw;
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_check.svg) 0 0/contain no-repeat;
}
@media (min-width: 768px) {
  .service__detail-list {
    gap: min(1vw, 12px);
    margin-top: min(1.25vw, 15px);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
  .service__detail-list > li {
    padding-left: min(3.3333333333vw, 40px);
    font-size: min(1.6666666667vw, 20px);
  }
  .service__detail-list > li::before {
    width: min(1.6666666667vw, 20px);
    height: min(1.25vw, 15px);
  }
}

/*期待できる効果*/
.service__benefits {
  position: relative;
  padding: 4.8vw 5.3333333333vw 4.2666666667vw 5.3333333333vw;
  border: 2px solid var(--black);
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--subColor2)), to(var(--subColor)));
  background-image: linear-gradient(to bottom, var(--subColor2), var(--subColor));
  color: var(--white);
  -webkit-box-shadow: 1.0666666667vw 1.0666666667vw 0 var(--black);
          box-shadow: 1.0666666667vw 1.0666666667vw 0 var(--black);
}
@media (min-width: 768px) {
  .service__benefits {
    padding: min(3.75vw, 20px) min(2.0833333333vw, 25px) min(2.0833333333vw, 20px) min(2.0833333333vw, 25px);
    background-image: -webkit-gradient(linear, left top, right top, from(var(--subColor2)), to(var(--subColor)));
    background-image: linear-gradient(to right, var(--subColor2), var(--subColor));
    -webkit-box-shadow: min(0.6666666667vw, 8px) min(0.6666666667vw, 8px) 0 var(--black);
            box-shadow: min(0.6666666667vw, 8px) min(0.6666666667vw, 8px) 0 var(--black);
  }
}

.service__benefits-title {
  position: absolute;
  left: 50%;
  top: -4vw;
  translate: -50% 0;
  padding: 0.5333333333vw 5.3333333333vw 1.0666666667vw;
  background-color: var(--black);
  color: var(--white);
  text-align: center;
}
@media (min-width: 768px) {
  .service__benefits-title {
    top: -24px;
    padding: 0 min(3.3333333333vw, 40px);
    font-size: min(2.1666666667vw, 26px);
  }
}

.service__benefits-list {
  display: grid;
  gap: 1.666667vw;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 3.4666666667vw;
  margin-inline: auto;
  line-height: 1.2;
  font-weight: bold;
}
@media (min-width: 768px) {
  .service__benefits-list {
    gap: 2.6666666667vw;
  }
}
.service__benefits-list > li {
  position: relative;
  padding-left: 8vw;
}
.service__benefits-list > li::before {
  position: absolute;
  left: 0;
  top: 0.2em;
  content: "";
  display: block;
  width: 5.3333333333vw;
  height: 4vw;
  background: url(/wp-content/themes/propertydscience/images/at-commerce/icon_check_wh.svg) 0 0/contain no-repeat;
}
@media (min-width: 768px) {
  .service__benefits-list {
    gap: min(1.5vw, 18px);
    margin-top: min(1.25vw, 15px);
    font-size: min(1.6666666667vw, 20px);
  }
  .service__benefits-list > li {
    padding-left: min(3.3333333333vw, 40px);
    font-size: min(2.1666666667vw, 26px);
  }
  .service__benefits-list > li::before {
    width: min(2vw, 24px);
    height: min(1.6666666667vw, 20px);
  }
}

@media (min-width: 768px) {
  .--service02 .service__thumb {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .--service02 .service__body {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .--service02 .service__benefits {
    background-image: -webkit-gradient(linear, right top, left top, from(var(--subColor2)), to(var(--subColor)));
    background-image: linear-gradient(to left, var(--subColor2), var(--subColor));
  }
}

/*----------------------------------------
	Features
----------------------------------------*/
.features-section {
  padding-top: 8vw;
  background-color: var(--lightGray);
  background-position: 11px 11px;
  background-size: 22px 22px;
}
@media (min-width: 768px) {
  .features-section {
    padding-top: min(5.4166666667vw, 65px);
  }
}
@media (min-width: 768px) {
  .features-section .main-title {
    letter-spacing: 4px;
  }
}
@media (max-width: 767px) {
  .features-section .main-title .br {
    display: block;
  }
}
@media (min-width: 768px) {
  .features-section .section-title {
    margin-bottom: min(5vw, 45px);
  }
}
@media (max-width: 767px) {
  .features-section .section-title {
    margin-bottom: 6vw;
  }
}

.features-inner {
  max-width: 820px;
  margin-inline: auto;
}

.features {
  margin-top: 5.3333333333vw;
  margin-inline: calc(50% - 50vw);
}
.features img {
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .features {
    position: relative;
    margin: min(3.75vw, 45px) 0 min(5vw, 60px);
  }
  .features::after {
    position: absolute;
    left: 50%;
    bottom: min(-4.75vw, -57px);
    translate: -50% 0;
    content: "";
    display: block;
    width: 100vw;
    height: min(40.3333333333vw, 484px);
    background: var(--gray);
  }
}

/*----------------------------------------
	Strengths
----------------------------------------*/
.strengths-section {
  padding-block: 8vw;
  overflow: hidden;
}
@media (min-width: 768px) {
  .strengths-section {
    padding-top: min(5.4166666667vw, 65px);
    padding-bottom: min(8.3333333333vw, 100px);
  }
}

.strengths {
  display: grid;
  gap: 5.3333333333vw;
}
.strengths + .strengths {
  margin-top: 5.3333333333vw;
}
@media (min-width: 768px) {
  .strengths {
    grid-template-columns: 1fr 1fr;
    gap: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.strengths__thumb {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  position: relative;
}
.strengths__thumb::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  background-image: -webkit-gradient(linear, left top, left bottom, from(var(--subColor2)), to(var(--subColor)));
  background-image: linear-gradient(to bottom, var(--subColor2), var(--subColor));
  position: absolute;
  right: 2.6666666667vw;
  top: 2.6666666667vw;
  z-index: -1;
}
@media (min-width: 768px) {
  .strengths__thumb::before {
    right: min(2.5vw, 30px);
    top: min(2.5vw, 30px);
  }
}

.strengths__num {
  border-bottom: 1px solid;
  color: var(--mainColor);
  font-size: 3.7333333333vw;
  font-weight: bold;
  font-family: var(--font_e);
  text-transform: uppercase;
}
@media (min-width: 768px) {
  .strengths__num {
    border-bottom: 2px solid;
    margin-left: min(-2.5vw, -30px);
    padding-left: min(2.5vw, 30px);
    font-size: min(1.5vw, 18px);
  }
}

.strengths__title {
  font-size: 5.3333333333vw;
  font-weight: 800;
}
@media (min-width: 768px) {
  .strengths__title {
    font-size: min(2.6666666667vw, 32px);
    line-height: 1.3;
  }
}
@media (max-width: 767px) {
  .strengths__title br {
    display: none;
  }
  .strengths__title br.sp {
    display: block;
  }
}

.strengths__body {
  display: grid;
  gap: 5.3333333333vw;
}
.strengths__body > hgroup {
  display: grid;
  gap: 5.3333333333vw;
}
@media (max-width: 767px) {
  .strengths__body {
    gap: min(1.0833333333vw, 13px);
  }
}
@media (min-width: 768px) {
  .strengths__body {
    gap: min(1.6666666667vw, 20px);
    padding-left: min(2.5vw, 30px);
  }
  .strengths__body > hgroup {
    gap: 1.3333333333vw;
  }
}

.strengths__list li {
  text-indent: -0.5em;
  margin-left: 0.5em;
}

.strengths.--reverse .strengths__thumb::before {
  right: auto;
  left: 2.6666666667vw;
  top: 2.6666666667vw;
}
@media (min-width: 768px) {
  .strengths.--reverse .strengths__body {
    grid-column: 1/2;
    grid-row: 1/2;
    padding-right: min(2.5vw, 30px);
    padding-left: 0;
  }
  .strengths.--reverse .strengths__thumb {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .strengths.--reverse .strengths__num {
    margin-left: 0;
    padding-left: 0;
    margin-right: min(-2.5vw, -30px);
    padding-right: min(2.5vw, 30px);
  }
}

/*----------------------------------------
	Cases
----------------------------------------*/
.cases-section {
  padding-block: 8vw;
  background: var(--gray);
}
@media (min-width: 768px) {
  .cases-section {
    padding-block: min(5vw, 60px);
  }
}
@media (min-width: 768px) {
  .cases-section .section-title {
    margin-bottom: min(5.4166666667vw, 65px);
  }
}

.cases-list {
  display: grid;
  gap: 4vw;
}
@media (min-width: 768px) {
  .cases-list {
    grid-template-columns: 1fr 1fr;
    gap: min(1.6666666667vw, 20px);
  }
}

.case {
  position: relative;
  padding: 4vw 5.3333333333vw;
  background: var(--white);
}
.case::before {
  position: absolute;
  right: 5.3333333333vw;
  top: 5.3333333333vw;
  content: "";
  display: block;
  width: 18.6666666667vw;
  height: 13.8666666667vw;
  background-position: 0 0;
  background-size: contain;
  background-repeat: no-repeat;
}
.case:nth-child(1)::before {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/img_cases_num01.svg);
}
.case:nth-child(2)::before {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/img_cases_num02.svg);
}
.case:nth-child(3)::before {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/img_cases_num03.svg);
}
.case:nth-child(4)::before {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/img_cases_num04.svg);
}
@media (min-width: 768px) {
  .case {
    padding: min(3.3333333333vw, 40px) min(2.5vw, 30px) min(2.0833333333vw, 25px) min(2.5vw, 30px);
  }
  .case::before {
    right: min(1.9166666667vw, 23px);
    top: min(3.5833333333vw, 43px);
    width: min(9.8333333333vw, 118px);
    height: min(7.3333333333vw, 88px);
  }
}

.case__summary {
  position: relative;
  display: grid;
  grid-template-columns: 17.0666666667vw 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.6666666667vw;
  padding-left: 17.0666666667vw;
  font-weight: bold;
}
.case__summary dt {
  border: 1px solid var(--black);
  font-size: 3.7333333333vw;
  text-align: center;
}
@media (max-width: 767px) {
  .case__summary dt {
    line-height: 1.3;
  }
}
.case__summary dt.label02 {
  background: var(--black);
  color: var(--white);
}
.case__summary dd {
  font-size: 4.2666666667vw;
  line-height: 1;
}
.case__summary::before {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  content: "";
  display: block;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
.--supermarket .case__summary::before {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/img_cases_supermarket.svg);
}
.--salon .case__summary::before {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/img_cases_salon.svg);
}
.--restaurant .case__summary::before {
  background-image: url(/wp-content/themes/propertydscience/images/at-commerce/img_cases_restaurant.svg);
}
@media (min-width: 768px) {
  .case__summary {
    grid-template-columns: min(5.3333333333vw, 64px) 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(0.8333333333vw, 10px);
    padding-left: min(7.5vw, 90px);
  }
  .case__summary dt {
    font-size: min(1.1666666667vw, 14px);
  }
  .case__summary dd {
    font-size: min(1.6666666667vw, 20px);
  }
  .case__summary::before {
    width: min(5.8333333333vw, 70px);
    height: min(5.8333333333vw, 70px);
  }
}

.case__text {
  margin-top: 5.8666666667vw;
}
@media (min-width: 768px) {
  .case__text {
    margin-top: min(1.6666666667vw, 20px);
  }
}

/*----------------------------------------
	Company
----------------------------------------*/
.company-section {
  padding-block: 8vw;
}
@media (min-width: 768px) {
  .company-section {
    padding-block: min(5.4166666667vw, 65px);
  }
}
@media (min-width: 768px) {
  .company-section .section-title {
    margin-bottom: min(2.0833333333vw, 25px);
  }
}

.company {
  display: grid;
}
@media (min-width: 768px) {
  .company {
    grid-template-columns: 1fr 1fr;
    gap: min(10vw, 120px);
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
  }
}

.company__item {
  display: grid;
}
.company__item + .company__item {
  margin-top: 8vw;
  padding-top: 8vw;
  border-top: 1px solid var(--blueGray);
}
@media (min-width: 768px) {
  .company__item + .company__item {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
}

.company__title {
  text-align: center;
}
@media (min-width: 768px) {
  .company__title img {
    width: 68.8%;
    max-width: 360px;
  }
}

.company__text {
  margin-top: 5.3333333333vw;
  font-size: 4.2666666667vw;
}
@media (min-width: 768px) {
  .company__text {
    margin-top: min(2.8333333333vw, 34px);
    font-size: min(1.5vw, 18px);
    line-height: 1.9;
  }
}

.company__button {
  margin-top: 5.3333333333vw;
}
.company__button a {
  padding: 4.2666666667vw;
  border: 2px solid var(--black);
  font-size: 5.3333333333vw;
  text-align: center;
  line-height: 1;
}
@media (min-width: 768px) {
  .company__button a {
    border: 3px solid var(--black);
  }
}
@media (any-hover: hover) {
  .company__button a:hover {
    border-color: var(--black);
  }
}
@media (min-width: 768px) {
  .company__button {
    margin-top: min(1.6666666667vw, 20px);
  }
  .company__button a {
    max-width: 210px;
    height: auto;
    margin-inline: auto;
    padding: min(0.8333333333vw, 10px);
    font-size: min(1.1666666667vw, 14px);
  }
}

/*----------------------------------------
	Footer
----------------------------------------*/
.footer .container {
  display: grid;
  gap: 5.3333333333vw;
  padding: 5.3333333333vw 0;
  text-align: center;
}
@media (min-width: 768px) {
  .footer .container {
    gap: min(1.6666666667vw, 20px);
    padding: min(2.5vw, 30px);
  }
}

.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 3.2vw;
  line-height: 1;
}
.footer__menu > li:not(:last-child) {
  border-right: 1px solid;
}
.footer__menu > li a {
  display: inline-block;
  padding: 0 0.5em;
  color: var(--black);
  text-decoration: none;
}
@media (min-width: 768px) {
  .footer__menu {
    font-size: min(1.1666666667vw, 14px);
  }
}

.footer__copyright {
  margin-block: var(--leadng-trim);
  line-height: 1;
}
.footer__copyright small {
  font-size: 3.7333333333vw;
}
@media (min-width: 768px) {
  .footer__copyright small {
    font-size: min(1.1666666667vw, 14px);
  }
}

/*----------------------------------------
	Banner
----------------------------------------*/
/* 右固定バナー（PC）
--------------------*/
.banner {
  display: none;
}
@media (min-width: 768px) {
  .banner {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 10;
    display: block;
    width: min(19.1666666667vw, 230px);
    border-radius: min(0.8333333333vw, 10px);
    opacity: 0;
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .banner.is-active {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .banner__close {
    position: absolute;
    right: min(-0.8333333333vw, -10px);
    top: min(-0.8333333333vw, -10px);
    width: min(3vw, 36px);
    height: min(3vw, 36px);
  }
  .banner__text01 {
    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;
    padding: min(1.3333333333vw, 16px) 0 min(0.6666666667vw, 8px);
    background: var(--white);
    border: 2px solid var(--mainColor);
    border-bottom: 0;
    border-radius: min(0.8333333333vw, 10px) min(0.8333333333vw, 10px) 0 0;
    text-align: center;
    font-weight: 800;
    font-size: min(1.1666666667vw, 14px);
  }
  .banner__text01 img {
    width: min(9.6666666667vw, 116px);
  }
  .banner__body {
    padding: min(0.8333333333vw, 10px) min(2.1666666667vw, 26px) min(1.6666666667vw, 20px);
    background: var(--black);
    border: 2px solid var(--mainColor);
    border-top: 0;
    border-radius: 0 0 min(0.8333333333vw, 10px) min(0.8333333333vw, 10px);
  }
  .banner__text02 {
    color: var(--white);
    font-weight: bold;
    font-size: min(1.5vw, 18px);
    text-align: center;
    line-height: 1.4;
  }
  .banner__button {
    margin-top: min(0.8333333333vw, 10px);
  }
  .banner__button .btn-download {
    background: var(--mainColor);
    height: auto;
    padding: 0.5em;
    font-size: min(1.1666666667vw, 14px);
  }
}

/* 下固定バナー（SP）
--------------------*/
.banner-bottom {
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 10;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.6666666667vw;
  width: 100%;
  padding: 3.7333333333vw;
  background: rgba(0, 0, 0, 0.8);
}
.banner-bottom .btn {
  text-align: center;
  line-height: 1.2;
  font-size: 4.2666666667vw;
}
.banner-bottom .btn-download {
  -webkit-box-flex: 1.23;
      -ms-flex-positive: 1.23;
          flex-grow: 1.23;
}
.banner-bottom .btn-download::after {
  display: none;
}
.banner-bottom .btn-contact {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (min-width: 768px) {
  .banner-bottom {
    display: none;
  }
}

/*------------------------------------------------------------------------
// Utilitiy
------------------------------------------------------------------------*/
/*----------------------------------------
	Utilities
----------------------------------------*/
/*margin*/
.u-mt0 {
  margin-top: 0 !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

.u-ml0 {
  margin-left: 0 !important;
}

.u-mr0 {
  margin-right: 0 !important;
}

/*padding*/
.u-pt0 {
  padding-top: 0 !important;
}

.u-pb0 {
  padding-bottom: 0 !important;
}

.u-pl0 {
  padding-left: 0 !important;
}

.u-pr0 {
  padding-right: 0 !important;
}

/*width*/
.u-w10per {
  width: 10% !important;
}

.u-w20per {
  width: 20% !important;
}

.u-w30per {
  width: 30% !important;
}

.u-w40per {
  width: 40% !important;
}

.u-w50per {
  width: 50% !important;
}

.u-w60per {
  width: 60% !important;
}

.u-w70per {
  width: 70% !important;
}

.u-w80per {
  width: 80% !important;
}

.u-w90per {
  width: 90% !important;
}

.u-w100per {
  width: 100% !important;
}

/*responsive margin*/
.u-mt-xs {
  margin-top: 3.6231884058vw;
}

.u-mt-sm {
  margin-top: 7.2463768116vw;
}

.u-mt-md {
  margin-top: 10.8695652174vw;
}

.u-mt-lg {
  margin-top: 14.4927536232vw;
}

.u-mt-xl {
  margin-top: 19.3236714976vw;
}

@media (min-width: 768px) {
  .u-mt-xs {
    margin-top: 15px;
  }
  .u-mt-sm {
    margin-top: 30px;
  }
  .u-mt-md {
    margin-top: 45px;
  }
  .u-mt-lg {
    margin-top: 60px;
  }
  .u-mt-xl {
    margin-top: 80px;
  }
}
/*image*/
.u-img-full {
  max-width: none;
  width: 100%;
}

/*float*/
.u-fl {
  float: left;
}

.u-fr {
  float: right;
}

.u-clear {
  clear: both;
}

/*align-text*/
.u-ta__l {
  text-align: left !important;
}

.u-ta__c {
  text-align: center !important;
}

.u-ta__r {
  text-align: right !important;
}

/*align-block*/
.u-block__l {
  float: none;
  margin-left: 0 !important;
  margin-right: auto !important;
}

.u-block__c {
  float: none;
  margin-left: auto !important;
  margin-right: auto !important;
}

.u-block__r {
  float: none;
  margin-left: auto !important;
  margin-right: 0 !important;
}

/*display*/
.u-sp {
  display: block;
}

.u-pc {
  display: none;
}

@media (min-width: 768px) {
  .u-sp {
    display: none;
  }
  .u-pc {
    display: block;
  }
}
.u-hidden {
  visibility: hidden;
}

/* for screen reader
ーーーーーーーーーーーーーーーーーーーーーーーー*/
.u-vhidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  margin: -1px;
}

/* for keybord
ーーーーーーーーーーーーーーーーーーーーーーーー*/
.skipLink {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  height: 0;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.skipLink:active, .skipLink:focus {
  position: static;
  opacity: 1;
  overflow: visible;
  height: auto;
  font-size: inherit;
}

/*----------------------------------------
	Animation
----------------------------------------*/
/*FadeInUp
------------------------------*/
.js-effect {
  opacity: 0;
}
.js-effect.aniOn {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
          animation-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}
.js-effect.a-fadeInLtoR.aniOn {
  -webkit-animation-name: fadeInLtoR;
          animation-name: fadeInLtoR;
}
.js-effect.a-fadeInRtoL.aniOn {
  -webkit-animation-name: fadeInRtoL;
          animation-name: fadeInRtoL;
}
.js-effect.a-showLtoR.aniOn {
  -webkit-animation-name: showLtoR;
          animation-name: showLtoR;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInRtoL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInRtoL {
  0% {
    opacity: 0;
    -webkit-transform: translateX(30px);
            transform: translateX(30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeInLtoR {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInLtoR {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30px);
            transform: translateX(-30px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes showLtoR {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}
@keyframes showLtoR {
  0% {
    width: 0;
  }
  100% {
    width: 300px;
  }
}
/*------------------------------------------------------------------------
// Print Style
------------------------------------------------------------------------*/
@media print {
  .js-effect {
    opacity: 1 !important;
  }
}

@media ( width < 769px) {
  .section-title .main-title .br {
    display: block;
  }

}