@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP:wght@200..900&display=swap");
html {
  font-size: 62.5%;
  overflow-x: hidden;
}
html.fix {
  width: 100%;
  height: 100vh;
  overflow: hidden;
}
html body, html input, html textarea, html select, html button {
  line-height: 1.5;
}
html body::before, html body::after, html input::before, html input::after, html textarea::before, html textarea::after, html select::before, html select::after, html button::before, html button::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
html body::before, html input::before, html textarea::before, html select::before, html button::before {
  margin-top: calc((1 - 1.5) * 0.5em);
}
html body::after, html input::after, html textarea::after, html select::after, html button::after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}
html body,
html a {
  color: #333;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 4.1025641026vw;
}
html a {
  display: block;
}
html .sp {
  display: block;
}
html .pc {
  display: none;
}

@media screen and (min-width: 768px) {
  html body,
  html a {
    font-size: min(1.1111111111vw, 16px);
  }
  html .sp {
    display: none;
  }
  html .pc {
    display: block;
  }
}
.en {
  font-family: Georgia, "Times New Roman", Times, serif;
  font-weight: 400;
}

.gothic {
  font-family: "Noto Sans JP", sans-serif;
}

.header {
  width: 100%;
  padding: 4.8717948718vw 3.8461538462vw 3.8461538462vw 6.4102564103vw;
  margin: auto;
  background-color: #fff;
  border-bottom: 0.5128205128vw solid #1D8E3B;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}
.header .header-unit {
  display: flex;
  width: 100%;
}
.header .logo {
  width: 160px;
}
.header .btn-unit {
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  margin: auto;
  line-height: 1;
  position: absolute;
  top: 0;
  bottom: 0.5128205128vw;
  right: 2.5641025641vw;
  z-index: 1;
}
.header .btn-unit::before, .header .btn-unit::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.header .btn-unit::before {
  margin-top: calc((1 - 1) * 0.5em);
}
.header .btn-unit::after {
  margin-bottom: calc((1 - 1) * 0.5em);
}
.header .btn-unit .nav-btn {
  width: 100%;
  height: 100%;
  background-color: #8FC431;
  transition: all 0.4s;
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
}
.header .btn-unit .nav-btn .line {
  width: 6.1538461538vw;
  height: 0.5128205128vw;
  margin: auto;
  transition: all 0.4s;
  box-sizing: border-box;
  background-color: #fff;
  border-radius: 9999px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.header .btn-unit .nav-btn .line:nth-of-type(1) {
  top: -1.5384615385vw;
}
.header .btn-unit .nav-btn .line:nth-of-type(2) {
  bottom: -1.5384615385vw;
}
.header .btn-unit .nav-btn.on .line:nth-of-type(1) {
  transform: translateY(0.7692307692vw) rotate(45deg);
}
.header .btn-unit .nav-btn.on .line:nth-of-type(2) {
  transform: translateY(-0.7692307692vw) rotate(-45deg);
}
.header .nav {
  display: none;
  width: 100vw;
  height: calc(100vh - 21.0256410256vw);
  background-color: #1D8E3B;
  position: fixed;
  top: 20.5128205128vw;
  left: 0;
}
.header .nav .nav-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 11.2820512821vw;
  padding: 30.7692307692vw 10.2564102564vw;
}
.header .nav .nav-list-item a {
  display: inline-block;
  color: #fff;
  font-size: 5.1282051282vw;
}
.header .nav-contact {
  width: 10.2564102564vw;
  height: 10.2564102564vw;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 67.9487179487vw;
}
.header .nav-contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  line-height: 1;
  background-color: #1D8E3B;
  border-radius: 0.7692307692vw;
}
.header .nav-contact a .icon,
.header .nav-contact a .txt {
  display: inline-block;
}
.header .nav-contact a .icon {
  width: 4.8717948718vw;
  height: 3.5897435897vw;
}
.header .nav-contact a .icon svg path {
  stroke: #fff;
}
.header .nav-contact a .txt {
  text-indent: -100vw;
}

@media screen and (min-width: 768px) {
  .header {
    width: min(20.1388888889vw, 290px);
    padding: min(3.4722222222vw, 50px) min(2.7777777778vw, 40px) min(3.4722222222vw, 50px) min(3.4722222222vw, 50px);
    margin: 0;
    background-color: rgba(255, 255, 255, 0.5);
    border-radius: 0px 0px min(2.0833333333vw, 30px) 0px;
    backdrop-filter: blur(min(0.2083333333vw, 3px)) brightness(100%);
    -webkit-backdrop-filter: blur(min(0.2083333333vw, 3px)) brightness(100%);
    border-bottom: none;
    left: calc((100vw - min(100vw, 1440px)) / 2);
    right: auto;
  }
  .header .header-unit {
    flex-direction: column;
    padding: min(2.5vw, 36px) 0 min(2.7777777778vw, 40px);
    border-top: min(0.1388888889vw, 2px) solid #1D8E3B;
    border-bottom: min(0.1388888889vw, 2px) solid #1D8E3B;
  }
  .header .logo {
    width: min(13.1944444444vw, 190px);
    margin: 0 auto min(3.75vw, 54px);
  }
  .header .btn-unit {
    display: none;
  }
  .header .nav {
    display: inherit;
    width: 100%;
    height: auto;
    padding: 0 0 0 min(0.6944444444vw, 10px);
    margin: 0 auto min(3.75vw, 54px);
    background-color: transparent;
    position: static;
  }
  .header .nav .nav-list {
    align-items: start;
    gap: min(1.9444444444vw, 28px);
    padding: 0;
  }
  .header .nav .nav-list-item a {
    color: #333;
    font-size: min(1.1111111111vw, 16px);
  }
  .header .nav-contact {
    width: min(13.8888888889vw, 200px);
    height: min(5.1388888889vw, 74px);
    position: static;
  }
  .header .nav-contact a {
    gap: min(0.5555555556vw, 8px);
    background-color: #fff;
    border: min(0.0694444444vw, 1px) solid #1D8E3B;
    border-radius: min(0.2083333333vw, 3px);
    transition-duration: 0.3s;
    transition-property: background-color;
  }
  .header .nav-contact a:hover {
    background-color: #1D8E3B;
  }
  .header .nav-contact a:hover .icon svg path {
    stroke: #fff;
  }
  .header .nav-contact a:hover .txt {
    color: #fff;
  }
  .header .nav-contact a .icon,
  .header .nav-contact a .txt {
    display: inline-block;
  }
  .header .nav-contact a .icon {
    width: min(1.3194444444vw, 19px);
    height: min(0.9722222222vw, 14px);
  }
  .header .nav-contact a .icon svg path {
    stroke: #1D8E3B;
    transition-duration: 0.3s;
    transition-property: stroke;
  }
  .header .nav-contact a .txt {
    color: #1D8E3B;
    font-size: min(0.9722222222vw, 14px);
    text-indent: inherit;
    transition-duration: 0.3s;
    transition-property: color;
  }
}
.footer {
  padding: 10.7692307692vw 0 0;
}
.footer .unit .page_top {
  margin: 0 auto 9.7435897436vw;
  text-align: center;
}
.footer .unit .page_top a {
  display: inline-block;
  padding: 0 0 0 17.9487179487vw;
  color: #1D8E3B;
  position: relative;
}
.footer .unit .page_top a:before {
  content: "";
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  margin: auto;
  background-color: #1D8E3B;
  background-image: url("../img/icon-page_top.svg");
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  top: 0;
}
.footer .unit .box {
  padding: 72.8205128205vw 6.4102564103vw 10.2564102564vw;
  background-color: #f2f2ed;
  background-image: url("../img/footer_ph-sp.jpg");
  background-repeat: no-repeat;
  background-size: 87.1794871795vw auto;
  background-position: center 6.4102564103vw;
}
.footer .unit .box .logo-box {
  margin: 0 auto 10.2564102564vw;
}
.footer .unit .box .logo-box .logo-txt {
  margin: 0 0 4.358974359vw;
  font-size: 3.5897435897vw;
  text-align: center;
}
.footer .unit .box .logo-box .logo {
  display: inline-block;
  width: 82.0512820513vw;
  margin-left: 2.5641025641vw;
}
.footer .unit .box .address {
  font-weight: 600;
}
.footer .unit .box .address .address-txt {
  margin: 0 auto 4.1025641026vw;
  text-align: center;
}
.footer .unit .box .address .address-phone {
  font-size: 7.1794871795vw;
  text-align: center;
}
.footer .unit .box .address .address-phone .time {
  display: block;
  font-size: 3.5897435897vw;
}
.footer .unit .box .address .address-phone a {
  display: inline-block;
  font-size: 7.1794871795vw;
}
.footer .unit .copy {
  padding: 0 0 10.2564102564vw;
  font-size: 3.3333333333vw;
  text-align: center;
  background-color: #f2f2ed;
}

@media screen and (min-width: 768px) {
  .footer {
    width: min(100vw, 1440px);
    padding: 0;
    margin: 0 auto 0;
  }
  .footer .unit .page_top {
    display: inline-block;
    text-align: left;
    margin: 0 0 min(1.25vw, 18px) min(22.9166666667vw, 330px);
  }
  .footer .unit .page_top a {
    padding: min(2.0833333333vw, 30px) 0 min(2.0833333333vw, 30px) min(6.25vw, 90px);
  }
  .footer .unit .page_top a:before {
    width: min(5.5555555556vw, 80px);
    height: min(5.5555555556vw, 80px);
  }
  .footer .unit .box {
    width: min(77.0833333333vw, 1110px);
    padding: min(7.7777777778vw, 112px) min(6.25vw, 90px) min(5.8333333333vw, 84px) min(5.5555555556vw, 80px);
    margin: 0 0 0 auto;
    background-image: none;
    position: relative;
  }
  .footer .unit .box:before {
    content: "";
    width: min(34.7222222222vw, 500px);
    height: min(34.7222222222vw, 500px);
    background-image: url("../img/footer_ph-pc.jpg");
    background-size: cover;
    position: absolute;
    top: max(-6.8055555556vw, -98px);
    right: min(6.25vw, 90px);
  }
  .footer .unit .box .logo-box {
    margin: 0 auto min(2.2222222222vw, 32px);
  }
  .footer .unit .box .logo-box .logo-txt {
    margin: 0 auto min(1.1111111111vw, 16px);
    font-size: min(1.1111111111vw, 16px);
    text-align: left;
  }
  .footer .unit .box .logo-box .logo {
    width: min(25.0694444444vw, 361px);
    margin: 0;
  }
  .footer .unit .box .address .address-txt {
    margin: 0 auto min(1.5277777778vw, 22px);
    text-align: left;
  }
  .footer .unit .box .address .address-phone {
    font-size: min(1.5277777778vw, 22px);
    text-align: left;
    line-height: 1.6;
  }
  .footer .unit .box .address .address-phone::before, .footer .unit .box .address .address-phone::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .footer .unit .box .address .address-phone::before {
    margin-top: calc((1 - 1.6) * 0.5em);
  }
  .footer .unit .box .address .address-phone::after {
    margin-bottom: calc((1 - 1.6) * 0.5em);
  }
  .footer .unit .box .address .address-phone .time {
    font-size: min(0.7638888889vw, 11px);
  }
  .footer .unit .box .address .address-phone a {
    font-size: min(1.5277777778vw, 22px);
  }
  .footer .unit .copy {
    width: min(77.0833333333vw, 1110px);
    padding: min(2.0833333333vw, 30px) min(6.25vw, 90px) min(5.9722222222vw, 86px) min(5.5555555556vw, 80px);
    margin: 0 0 0 auto;
    font-size: min(0.7638888889vw, 11px);
    text-align: right;
  }
}
.visual {
  padding: 42.0512820513vw 0 8.4615384615vw;
  margin: 0 auto 13.0769230769vw;
  position: relative;
}
.visual:before {
  content: "";
  width: 40vw;
  height: 30.7692307692vw;
  background-image: url("/img/mv_pict_01-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 24.1025641026vw;
  left: 53.5897435897vw;
  z-index: 2;
}
.visual .catch {
  width: 33.3333333333vw;
  position: absolute;
  top: 31.7948717949vw;
  left: 6.4102564103vw;
  z-index: 2;
}
.visual .swiper.visual-swiper:before {
  content: "";
  width: 100%;
  height: 23.8461538462vw;
  margin: auto;
  background-image: url("/img/mv_pict_02-sp.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
}
.visual .swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 7.6923076923vw;
  line-height: 0;
  transform: translate3d(0, 0, 0);
  z-index: 3;
  bottom: 0;
}
.visual .swiper-pagination::before, .visual .swiper-pagination::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.visual .swiper-pagination::before {
  margin-top: calc((1 - 0) * 0.5em);
}
.visual .swiper-pagination::after {
  margin-bottom: calc((1 - 0) * 0.5em);
}
.visual .swiper-pagination:before, .visual .swiper-pagination:after {
  display: none;
}
.visual .swiper-pagination .swiper-pagination-bullet {
  width: 2.0512820513vw;
  height: 2.0512820513vw;
  margin: 0;
  background-color: #1D8E3B;
  opacity: 1;
  position: relative;
}
.visual .swiper-pagination .swiper-pagination-bullet:before {
  content: "";
  width: 4.6153846154vw;
  height: 4.6153846154vw;
  margin: auto;
  border: 0.2564102564vw solid #1D8E3B;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition-property: opacity;
  position: absolute;
  top: 50%;
  left: 50%;
}
.visual .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
  opacity: 1;
  transition-duration: 1.2s;
}

@media screen and (min-width: 768px) {
  .visual {
    width: min(100vw, 1440px);
    padding: min(3.3333333333vw, 48px) 0 min(2.6388888889vw, 38px) min(22.9166666667vw, 330px);
    margin: 0 auto min(11.25vw, 162px);
  }
  .visual:before {
    width: min(18.6111111111vw, 268px);
    height: min(12.5vw, 180px);
    background-image: url("/img/mv_pict_01-pc.png");
    top: min(6.5972222222vw, 95px);
    left: auto;
    right: min(2.0833333333vw, 30px);
  }
  .visual .catch {
    width: min(13.3333333333vw, 192px);
    position: absolute;
    top: min(3.75vw, 54px);
    left: min(26.3888888889vw, 380px);
    z-index: 2;
  }
  .visual .txt {
    margin: 0 min(6.25vw, 90px) min(10vw, 144px) 0;
    font-size: min(0.9722222222vw, 14px);
    text-align: right;
  }
  .visual .swiper.visual-swiper:before {
    height: min(9.5138888889vw, 137px);
    background-image: url("/img/mv_pict_02-pc.png");
    bottom: min(0.5555555556vw, 8px);
  }
  .visual .swiper-pagination {
    justify-content: start;
    gap: min(2.0833333333vw, 30px);
    width: min(100vw, 1440px);
    padding: 0 0 0 min(22.9166666667vw, 330px);
  }
  .visual .swiper-pagination .swiper-pagination-bullet {
    width: min(0.5555555556vw, 8px);
    height: min(0.5555555556vw, 8px);
  }
  .visual .swiper-pagination .swiper-pagination-bullet:before {
    width: min(1.25vw, 18px);
    height: min(1.25vw, 18px);
    border: min(0.0694444444vw, 1px) solid #1D8E3B;
  }
}
.sec-ttl {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding: 0 0 3.0769230769vw;
}
.sec-ttl .en,
.sec-ttl .jp {
  display: inline-block;
  line-height: 1.5;
}
.sec-ttl .en::before, .sec-ttl .en::after,
.sec-ttl .jp::before,
.sec-ttl .jp::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.sec-ttl .en::before,
.sec-ttl .jp::before {
  margin-top: calc((1 - 1.5) * 0.5em);
}
.sec-ttl .en::after,
.sec-ttl .jp::after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}
.sec-ttl .en {
  font-size: 5.641025641vw;
  position: relative;
}
.sec-ttl .en:before {
  content: "";
  height: 0.5128205128vw;
  width: 28.4615384615vw;
  background-color: #1D8E3B;
  position: absolute;
  left: 0;
  bottom: -3.0769230769vw;
}
.sec-ttl .jp {
  font-size: 4.6153846154vw;
}

@media screen and (min-width: 768px) {
  .sec-ttl {
    flex-direction: column;
    justify-content: start;
    align-items: start;
    padding: 0;
  }
  .sec-ttl .en {
    margin: 0 0 min(4.4444444444vw, 64px);
    font-size: min(1.5277777778vw, 22px);
  }
  .sec-ttl .en:before {
    height: min(0.1388888889vw, 2px);
    width: min(7.9861111111vw, 115px);
    bottom: max(-0.7638888889vw, -11px);
  }
  .sec-ttl .jp {
    font-size: min(2.2222222222vw, 32px);
  }
}
.about {
  padding: 74.6153846154vw 0 23.0769230769vw;
  background-image: url("/img/about_ph_01-sp.jpg");
  background-repeat: no-repeat;
  background-position: center 0;
  background-size: 100% auto;
}
.about .unit {
  padding: 0 6.4102564103vw;
}
.about .sec-ttl {
  margin: 0 auto 9.2307692308vw;
}
.about .lead {
  font-size: 5.641025641vw;
  line-height: 1.8;
  margin: 0 auto 6.6666666667vw;
}
.about .lead::before, .about .lead::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.about .lead::before {
  margin-top: calc((1 - 1.8) * 0.5em);
}
.about .lead::after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}
.about .box {
  line-height: 2;
}
.about .box::before, .about .box::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.about .box::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.about .box::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.about .box .txt {
  font-size: 4.1025641026vw;
}

@media screen and (min-width: 768px) {
  .about {
    width: min(100vw, 1440px);
    padding: min(4.6527777778vw, 67px) 0 min(19.0277777778vw, 274px);
    margin: 0 auto 0;
    background-image: none;
    position: relative;
  }
  .about:before {
    content: "";
    width: min(45.1388888889vw, 650px);
    height: min(50vw, 720px);
    background-image: url("/img/about_ph_01-pc.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
  .about .unit {
    width: min(32.6388888889vw, 470px);
    padding: 0;
    margin: 0 0 0 min(52.7777777778vw, 760px);
  }
  .about .sec-ttl {
    margin: 0 auto min(5vw, 72px);
  }
  .about .lead {
    font-size: min(2.2222222222vw, 32px);
    margin: 0 auto min(3.1944444444vw, 46px);
  }
  .about .box .txt {
    font-size: min(1.1111111111vw, 16px);
  }
}
.service {
  padding: 10.2564102564vw 0 14.358974359vw;
  background-color: #F2F2ED;
}
.service .unit {
  padding: 0 6.4102564103vw;
}
.service .sec-ttl {
  margin: 0 auto 7.1794871795vw;
}
.service .service-list {
  display: flex;
  flex-direction: column;
  gap: 10.2564102564vw;
}
.service .service-list .service-list-item .ph-box {
  margin: 0 auto 7.1794871795vw;
  position: relative;
}
.service .service-list .service-list-item .ph-box .number {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  font-size: 5.641025641vw;
  background-color: #F2F2ED;
  position: absolute;
  bottom: 0;
  right: 0;
}
.service .service-list .service-list-item .ph-box .number:before {
  content: "";
  width: 5.1282051282vw;
  height: 0.5128205128vw;
  margin: auto;
  background-color: #D9D9D9;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.service .service-list .service-list-item .name {
  margin: 0 auto 6.1538461538vw;
  font-size: 5.1282051282vw;
  line-height: 1.3;
}
.service .service-list .service-list-item .name::before, .service .service-list .service-list-item .name::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.service .service-list .service-list-item .name::before {
  margin-top: calc((1 - 1.3) * 0.5em);
}
.service .service-list .service-list-item .name::after {
  margin-bottom: calc((1 - 1.3) * 0.5em);
}
.service .service-list .service-list-item .box {
  line-height: 2;
}
.service .service-list .service-list-item .box::before, .service .service-list .service-list-item .box::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.service .service-list .service-list-item .box::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.service .service-list .service-list-item .box::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.service .service-list .service-list-item .box .txt {
  font-size: 3.5897435897vw;
}

@media screen and (min-width: 768px) {
  .service {
    padding: min(5.5555555556vw, 80px) min(6.25vw, 90px) min(5.5555555556vw, 80px);
  }
  .service .unit {
    width: min(100vw, 1440px);
    padding: 0 min(6.25vw, 90px) 0 min(18.0555555556vw, 260px);
    margin: 0 auto 0;
    position: relative;
  }
  .service .sec-ttl {
    width: min(22.2222222222vw, 320px);
    height: min(26.5972222222vw, 383px);
    padding: min(5.4166666667vw, 78px) 0 0 min(4.4444444444vw, 64px);
    margin: 0;
    background-image: url("/img/service_ttl_bg.png");
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
  }
  .service .sec-ttl .en {
    margin: 0 0 min(4.6527777778vw, 67px);
  }
  .service .sec-ttl .en:before {
    width: min(6.3194444444vw, 91px);
  }
  .service .service-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(6.25vw, 90px) min(2.0833333333vw, 30px);
  }
  .service .service-list .service-list-item {
    width: min(22.2222222222vw, 320px);
  }
  .service .service-list .service-list-item:first-child {
    margin-left: calc(min(22.2222222222vw, 320px) + min(2.0833333333vw, 30px));
  }
  .service .service-list .service-list-item .ph-box {
    margin: 0 auto min(1.8055555556vw, 26px);
  }
  .service .service-list .service-list-item .ph-box .number {
    width: min(4.1666666667vw, 60px);
    height: min(4.1666666667vw, 60px);
    font-size: min(1.5277777778vw, 22px);
  }
  .service .service-list .service-list-item .ph-box .number:before {
    width: min(1.3888888889vw, 20px);
    height: min(0.1388888889vw, 2px);
  }
  .service .service-list .service-list-item .name {
    margin: 0 0 min(1.5277777778vw, 22px);
    font-size: min(1.5277777778vw, 22px);
  }
  .service .service-list .service-list-item .box {
    line-height: 2;
  }
  .service .service-list .service-list-item .box::before, .service .service-list .service-list-item .box::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .service .service-list .service-list-item .box::before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .service .service-list .service-list-item .box::after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
  .service .service-list .service-list-item .box .txt {
    font-size: min(0.9722222222vw, 14px);
  }
}
.works {
  padding: 10.7692307692vw 0 6.4102564103vw;
  overflow: hidden;
}
.works .unit {
  padding: 0 6.4102564103vw 13.3333333333vw;
  position: relative;
}
.works .works-head .sec-ttl {
  margin: 0 auto 8.2051282051vw;
}
.works .works-head .head-box {
  margin: 0 auto 12.3076923077vw;
}
.works .works-head .head-box .lead {
  margin: 0 auto 7.6923076923vw;
  font-size: 5.641025641vw;
  line-height: 1.8;
}
.works .works-head .head-box .lead::before, .works .works-head .head-box .lead::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.works .works-head .head-box .lead::before {
  margin-top: calc((1 - 1.8) * 0.5em);
}
.works .works-head .head-box .lead::after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}
.works .works-head .head-box .txt {
  line-height: 2;
}
.works .works-head .head-box .txt::before, .works .works-head .head-box .txt::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.works .works-head .head-box .txt::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.works .works-head .head-box .txt::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.works .works-swiper {
  overflow: visible;
}
.works .works-swiper .swiper-slide .ph {
  margin: 0 auto 6.9230769231vw;
  position: relative;
}
.works .works-swiper .swiper-slide .ph .ph-txt {
  display: flex;
  background-color: #F2F2ED;
  position: absolute;
  top: 2.5641025641vw;
  left: -2.5641025641vw;
}
.works .works-swiper .swiper-slide .ph .ph-txt:before {
  content: "";
  width: 0;
  height: 0;
  border-right: 2.5641025641vw solid #999;
  border-bottom: 2.5641025641vw solid transparent;
  position: absolute;
  left: 0;
  top: 100%;
}
.works .works-swiper .swiper-slide .ph .ph-txt .number {
  display: flex;
  width: 15.3846153846vw;
  height: 15.3846153846vw;
  font-size: 5.641025641vw;
  align-items: center;
  justify-content: center;
  position: relative;
}
.works .works-swiper .swiper-slide .ph .ph-txt .number:before {
  content: "";
  width: 0.5128205128vw;
  height: 5.1282051282vw;
  margin: auto;
  background-color: #D9D9D9;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}
.works .works-swiper .swiper-slide .ph .ph-txt .name {
  display: flex;
  align-items: center;
  padding: 0 7.6923076923vw 0 5.1282051282vw;
  font-size: 4.1025641026vw;
}
.works .works-swiper .swiper-slide .ttl {
  margin: 0 auto 6.1538461538vw;
  font-size: 5.1282051282vw;
  line-height: 1.3;
}
.works .works-swiper .swiper-slide .ttl::before, .works .works-swiper .swiper-slide .ttl::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.works .works-swiper .swiper-slide .ttl::before {
  margin-top: calc((1 - 1.3) * 0.5em);
}
.works .works-swiper .swiper-slide .ttl::after {
  margin-bottom: calc((1 - 1.3) * 0.5em);
}
.works .works-swiper .swiper-slide .box {
  line-height: 2;
}
.works .works-swiper .swiper-slide .box::before, .works .works-swiper .swiper-slide .box::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.works .works-swiper .swiper-slide .box::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.works .works-swiper .swiper-slide .box::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.works .works-swiper .swiper-slide .box .txt {
  font-size: 3.5897435897vw;
}
.works .swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 7.6923076923vw;
  line-height: 0;
  transform: translate3d(0, 0, 0);
  z-index: 3;
  bottom: 0;
}
.works .swiper-pagination::before, .works .swiper-pagination::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.works .swiper-pagination::before {
  margin-top: calc((1 - 0) * 0.5em);
}
.works .swiper-pagination::after {
  margin-bottom: calc((1 - 0) * 0.5em);
}
.works .swiper-pagination .swiper-pagination-bullet {
  width: 2.0512820513vw;
  height: 2.0512820513vw;
  margin: 0;
  background-color: #1D8E3B;
  opacity: 1;
  position: relative;
}
.works .swiper-pagination .swiper-pagination-bullet:before {
  content: "";
  width: 4.6153846154vw;
  height: 4.6153846154vw;
  margin: auto;
  border: 1px solid #1D8E3B;
  border-radius: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition-property: opacity;
  position: absolute;
  top: 50%;
  left: 50%;
}
.works .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active:before {
  opacity: 1;
  transition-duration: 1.2s;
}

@media screen and (min-width: 768px) {
  .works {
    padding: min(6.25vw, 90px) 0;
  }
  .works .unit {
    padding: 0;
    position: relative;
  }
  .works .works-head {
    display: flex;
    width: min(100vw, 1440px);
    padding: 0 min(6.25vw, 90px) 0 min(22.9166666667vw, 330px);
    margin: 0 auto min(5.9027777778vw, 85px);
  }
  .works .works-head .sec-ttl {
    width: min(24.3055555556vw, 350px);
    margin: 0;
  }
  .works .works-head .head-box {
    width: calc(100% - min(24.3055555556vw, 350px));
    padding: min(0.2777777778vw, 4px) 0 0;
    margin: 0;
  }
  .works .works-head .head-box .lead {
    margin: 0 auto min(3.3333333333vw, 48px);
    font-size: min(2.2222222222vw, 32px);
  }
  .works .works-head .head-box .txt {
    line-height: 2;
  }
  .works .works-head .head-box .txt::before, .works .works-head .head-box .txt::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .works .works-head .head-box .txt::before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .works .works-head .head-box .txt::after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
  .works .works-swiper .swiper-slide {
    width: min(43.0555555556vw, 620px);
  }
  .works .works-swiper .swiper-slide.odd-slide {
    margin-top: min(4.8611111111vw, 70px);
  }
  .works .works-swiper .swiper-slide .ph {
    margin: 0 auto min(1.6666666667vw, 24px);
  }
  .works .works-swiper .swiper-slide .ph .ph-txt {
    top: min(0.6944444444vw, 10px);
    left: max(-0.6944444444vw, -10px);
  }
  .works .works-swiper .swiper-slide .ph .ph-txt:before {
    border-right: min(0.6944444444vw, 10px) solid #999;
    border-bottom: min(0.6944444444vw, 10px) solid transparent;
  }
  .works .works-swiper .swiper-slide .ph .ph-txt .number {
    width: min(4.1666666667vw, 60px);
    height: min(4.1666666667vw, 60px);
    font-size: min(1.5277777778vw, 22px);
  }
  .works .works-swiper .swiper-slide .ph .ph-txt .number:before {
    width: min(0.1388888889vw, 2px);
    height: min(1.3888888889vw, 20px);
  }
  .works .works-swiper .swiper-slide .ph .ph-txt .name {
    padding: 0 min(2.0833333333vw, 30px) 0 min(1.3888888889vw, 20px);
    font-size: min(1.1111111111vw, 16px);
  }
  .works .works-swiper .swiper-slide .ttl {
    margin: 0 auto min(1.6666666667vw, 24px);
    font-size: min(1.5277777778vw, 22px);
  }
  .works .works-swiper .swiper-slide .box {
    line-height: 2;
  }
  .works .works-swiper .swiper-slide .box::before, .works .works-swiper .swiper-slide .box::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .works .works-swiper .swiper-slide .box::before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .works .works-swiper .swiper-slide .box::after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
  .works .works-swiper .swiper-slide .box:after {
    display: none;
  }
  .works .works-swiper .swiper-slide .box .txt {
    font-size: min(0.9722222222vw, 14px);
  }
  .works .swiper-pagination {
    display: none;
  }
}
.faq {
  padding: 5.1282051282vw 0 6.1538461538vw;
}
.faq .unit {
  padding: 0 6.4102564103vw;
  background-image: url("/img/faq_ph_01-sp.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center 15.3846153846vw;
}
.faq .sec-ttl {
  margin: 0 auto 43.5897435897vw;
}
.faq .box {
  display: flex;
  flex-direction: column;
  gap: 2.5641025641vw;
}
.faq .box .details {
  border: 0.2564102564vw solid #D9D9D9;
}
.faq .box .details .summary {
  padding: 3.8461538462vw 11.5384615385vw 3.8461538462vw 12.8205128205vw;
  list-style: none;
  font-size: 4.1025641026vw;
  line-height: 2;
  font-weight: 700;
  position: relative;
}
.faq .box .details .summary::before, .faq .box .details .summary::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.faq .box .details .summary::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.faq .box .details .summary::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.faq .box .details .summary:hover {
  cursor: pointer;
}
.faq .box .details .summary:before, .faq .box .details .summary:after {
  content: "";
  margin: auto;
  background-color: #333;
  position: absolute;
  top: 0;
  bottom: 0;
}
.faq .box .details .summary:before {
  width: 5.1282051282vw;
  height: 0.2564102564vw;
  top: -0.2564102564vw;
  right: 3.8461538462vw;
}
.faq .box .details .summary:after {
  width: 0.2564102564vw;
  height: 5.1282051282vw;
  transition-duration: 0.3s;
  transition-property: opacity, top;
  right: 6.1538461538vw;
}
.faq .box .details .summary.on:after {
  opacity: 0;
  top: 10%;
}
.faq .box .details .summary .en {
  display: inline-block;
  color: #1D8E3B;
  font-size: 5.641025641vw;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  top: 5.641025641vw;
  left: 5.1282051282vw;
}
.faq .box .details .summary .en::before, .faq .box .details .summary .en::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.faq .box .details .summary .en::before {
  margin-top: calc((1 - 1) * 0.5em);
}
.faq .box .details .summary .en::after {
  margin-bottom: calc((1 - 1) * 0.5em);
}
.faq .box .details .details-box {
  display: none;
  border-top: 0.2564102564vw solid #D9D9D9;
  background-color: #f2f2ed;
}
.faq .box .details .details-box .txt {
  padding: 5.8974358974vw 5.1282051282vw 5.8974358974vw 12.8205128205vw;
  list-style: none;
  font-size: 4.1025641026vw;
  text-align: justify;
  line-height: 2;
  position: relative;
}
.faq .box .details .details-box .txt::before, .faq .box .details .details-box .txt::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.faq .box .details .details-box .txt::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.faq .box .details .details-box .txt::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.faq .box .details .details-box .txt .en {
  display: inline-block;
  font-size: 5.641025641vw;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  top: 5.641025641vw;
  left: 5.1282051282vw;
}
.faq .box .details .details-box .txt .en::before, .faq .box .details .details-box .txt .en::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.faq .box .details .details-box .txt .en::before {
  margin-top: calc((1 - 1) * 0.5em);
}
.faq .box .details .details-box .txt .en::after {
  margin-bottom: calc((1 - 1) * 0.5em);
}

@media screen and (min-width: 768px) {
  .faq {
    width: min(100vw, 1440px);
    padding: min(6.3194444444vw, 91px) min(6.25vw, 90px) min(15.2777777778vw, 220px) min(22.9166666667vw, 330px);
    margin: 0 auto 0;
    position: relative;
  }
  .faq:before {
    content: "";
    width: min(41.6666666667vw, 600px);
    height: min(27.7777777778vw, 400px);
    background-image: url("/img/faq_ph_01-pc.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    top: min(21.6666666667vw, 312px);
    left: 0;
  }
  .faq .unit {
    display: flex;
    padding: 0;
    margin: 0 auto 0;
    background-image: none;
  }
  .faq .sec-ttl {
    width: min(22.2222222222vw, 320px);
    margin: 0;
  }
  .faq .box {
    display: flex;
    flex-direction: column;
    gap: min(0.6944444444vw, 10px);
    width: calc(100% - min(22.2222222222vw, 320px));
    padding: min(0.6944444444vw, 10px) 0 0;
  }
  .faq .box .details {
    border: min(0.0694444444vw, 1px) solid #D9D9D9;
  }
  .faq .box .details .summary {
    padding: min(1.0416666667vw, 15px) min(3.4722222222vw, 50px) min(1.0416666667vw, 15px) min(4.1666666667vw, 60px);
    list-style: none;
    font-size: min(1.1111111111vw, 16px);
    line-height: 2;
    font-weight: 700;
    position: relative;
  }
  .faq .box .details .summary::before, .faq .box .details .summary::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .faq .box .details .summary::before {
    margin-top: calc((1 - 2) * 0.5em);
  }
  .faq .box .details .summary::after {
    margin-bottom: calc((1 - 2) * 0.5em);
  }
  .faq .box .details .summary:before, .faq .box .details .summary:after {
    margin: auto;
  }
  .faq .box .details .summary:before {
    width: min(1.3888888889vw, 20px);
    height: min(0.0694444444vw, 1px);
    top: max(-0.0694444444vw, -1px);
    right: min(1.0416666667vw, 15px);
  }
  .faq .box .details .summary:after {
    width: min(0.0694444444vw, 1px);
    height: min(1.3888888889vw, 20px);
    right: min(1.6666666667vw, 24px);
  }
  .faq .box .details .summary .en {
    font-size: min(1.5277777778vw, 22px);
    top: min(1.5277777778vw, 22px);
    left: min(2.0833333333vw, 30px);
  }
  .faq .box .details .details-box {
    border-top: min(0.0694444444vw, 1px) solid #D9D9D9;
  }
  .faq .box .details .details-box .txt {
    padding: min(2.2222222222vw, 32px) min(3.4722222222vw, 50px) min(2.2222222222vw, 32px) min(4.1666666667vw, 60px);
    font-size: min(1.1111111111vw, 16px);
  }
  .faq .box .details .details-box .txt .en {
    font-size: min(1.5277777778vw, 22px);
    top: min(2.0833333333vw, 30px);
    left: min(2.0833333333vw, 30px);
  }
}
.company {
  padding: 5.1282051282vw 0 7.6923076923vw;
}
.company .unit {
  padding: 0 6.4102564103vw;
  background-image: url("/img/company_ph_01-sp.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center 14.6153846154vw;
}
.company .sec-ttl {
  margin: 0 auto 42.3076923077vw;
}
.company .box .detail {
  display: grid;
  grid-template-columns: 23.0769230769vw calc(100% - 23.0769230769vw);
  font-size: 4.1025641026vw;
}
.company .box .detail .detail-head,
.company .box .detail .detail-body {
  border-bottom: 0.2564102564vw solid #D9D9D9;
  align-content: center;
}
.company .box .detail .detail-head {
  position: relative;
}
.company .box .detail .detail-head:before {
  content: "";
  width: 100%;
  height: 0.2564102564vw;
  background-color: #1D8E3B;
  position: absolute;
  bottom: -0.2564102564vw;
  left: 0;
  right: 0;
}
.company .box .detail .detail-body {
  padding: 4.8717948718vw 3.8461538462vw 4.8717948718vw 3.8461538462vw;
  line-height: 2;
}
.company .box .detail .detail-body::before, .company .box .detail .detail-body::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.company .box .detail .detail-body::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.company .box .detail .detail-body::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.company .box .detail .detail-body.address {
  padding: 5.1282051282vw 1.5384615385vw 5.1282051282vw 3.8461538462vw;
}

@media screen and (min-width: 768px) {
  .company {
    padding: min(8.5416666667vw, 123px) 0;
  }
  .company .unit {
    display: flex;
    justify-content: space-between;
    width: min(100vw, 1440px);
    padding: 0 min(6.25vw, 90px) 0 min(22.9166666667vw, 330px);
    margin: 0 auto 0;
    background-image: url("/img/company_ph_01-pc.jpg");
    background-size: min(31.25vw, 450px) auto;
    background-position: min(22.9166666667vw, 330px) 100%;
  }
  .company .sec-ttl {
    margin: 0;
  }
  .company .box {
    width: min(31.25vw, 450px);
    padding: min(3.6111111111vw, 52px) 0 0;
  }
  .company .box .detail {
    grid-template-columns: min(8.3333333333vw, 120px) calc(100% - min(8.3333333333vw, 120px));
    font-size: min(1.1111111111vw, 16px);
  }
  .company .box .detail .detail-head,
  .company .box .detail .detail-body {
    border-bottom: min(0.0694444444vw, 1px) solid #D9D9D9;
  }
  .company .box .detail .detail-head {
    padding: min(0.6944444444vw, 10px) min(1.3888888889vw, 20px);
  }
  .company .box .detail .detail-head:before {
    height: min(0.0694444444vw, 1px);
    bottom: max(-0.0694444444vw, -1px);
  }
  .company .box .detail .detail-body {
    padding: min(1.25vw, 18px) min(1.3888888889vw, 20px);
  }
  .company .box .detail .detail-body.address {
    padding: min(1.25vw, 18px) min(1.3888888889vw, 20px);
  }
}
.contact {
  padding: 5.641025641vw 0 8.7179487179vw;
}
.contact.check, .contact.thanks {
  padding-top: 25.641025641vw;
}
.contact .check-note {
  font-size: 3.5897435897vw;
  line-height: 1.8;
  margin-bottom: 7.6923076923vw;
}
.contact.check .submit-btn {
  margin-left: 2.5641025641vw;
}
.contact.thanks .check-note {
  font-size: 4.1025641026vw;
}
.contact .unit {
  padding: 0 6.4102564103vw;
  background-image: url("/img/contact_ph_01-sp.jpg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center 14.358974359vw;
}
.contact .unit .contact-head .sec-ttl {
  margin: 0 auto 42.0512820513vw;
}
.contact .unit .contact-head .lead {
  margin: 0 auto 6.6666666667vw;
  font-size: 3.5897435897vw;
  text-align: center;
  line-height: 2;
}
.contact .unit .contact-head .lead::before, .contact .unit .contact-head .lead::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.contact .unit .contact-head .lead::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.contact .unit .contact-head .lead::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.contact .unit .contact-head .tel {
  margin: 0 auto 11.0256410256vw;
  text-align: center;
}
.contact .unit .contact-head .tel .number {
  padding: 0 0 2.0512820513vw;
  color: #1D8E3B;
  font-size: 10.2564102564vw;
  line-height: 1.5;
}
.contact .unit .contact-head .tel .number::before, .contact .unit .contact-head .tel .number::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.contact .unit .contact-head .tel .number::before {
  margin-top: calc((1 - 1.5) * 0.5em);
}
.contact .unit .contact-head .tel .number::after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}
.contact .unit .contact-head .tel .number .small {
  font-size: 6.6666666667vw;
}
.contact .unit .contact-head .tel .number a {
  display: inline-block;
  color: #1D8E3B;
  font-size: 10.2564102564vw;
  line-height: 1.5;
}
.contact .unit .contact-head .tel .number a::before, .contact .unit .contact-head .tel .number a::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.contact .unit .contact-head .tel .number a::before {
  margin-top: calc((1 - 1.5) * 0.5em);
}
.contact .unit .contact-head .tel .number a::after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}
.contact .unit .contact-body .form .form-unit {
  margin: 0 auto 10.2564102564vw;
}
.contact .unit .contact-body .form .form-group {
  padding: 0 0 2.5641025641vw;
  border-bottom: 0.2564102564vw solid #d9d9d9;
}
.contact .unit .contact-body .form .form-group .form-head {
  display: flex;
  width: 100%;
  padding: 3.8461538462vw 0;
  margin: 0 auto 2.5641025641vw;
  border-bottom: 0.2564102564vw solid #1D8E3B;
}
.contact .unit .contact-body .form .form-group .form-input {
  display: flex;
  width: 100%;
  padding: 2.5641025641vw 5.1282051282vw;
  border: none;
  background-color: #f2f2ed;
}
.contact .unit .contact-body .form .form-group .form-input.message {
  height: 10.8em;
}
.contact .unit .contact-body .form .form-group .form-input.w100 {
  width: 100%;
}
.contact .unit .contact-body .form .form-group .rep {
  display: inline-block;
  color: #e14434;
  padding-left: 0.25em;
  font-weight: 400;
}
.contact .unit .contact-body .form .form-group .privacy-ttl {
  display: flex;
  width: 100%;
  padding: 3.8461538462vw 0;
  margin: 0 auto 2.5641025641vw;
  border-bottom: 0.2564102564vw solid #1D8E3B;
}
.contact .unit .contact-body .form .form-group .privacy-box {
  height: 28.2051282051vw;
  padding: 5.1282051282vw;
  margin: 0 auto 4.1025641026vw;
  font-size: 3.5897435897vw;
  line-height: 2;
  border: 0.2564102564vw solid #d9d9d9;
  overflow: scroll;
}
.contact .unit .contact-body .form .form-group .privacy-box::before, .contact .unit .contact-body .form .form-group .privacy-box::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.contact .unit .contact-body .form .form-group .privacy-box::before {
  margin-top: calc((1 - 2) * 0.5em);
}
.contact .unit .contact-body .form .form-group .privacy-box::after {
  margin-bottom: calc((1 - 2) * 0.5em);
}
.contact .unit .contact-body .form .form-group .privacy-box .box-detail .detail-line:not(:last-child) {
  margin: 0 auto 2em;
}
.contact .unit .contact-body .form .form-group .privacy-txt {
  font-size: 3.5897435897vw;
  padding: 0 0 2.5641025641vw;
  padding-left: 1em;
  text-indent: -1em;
}
.contact .unit .contact-body .form .submit {
  display: flex;
  justify-content: center;
}
.contact .unit .contact-body .form .submit .submit-btn {
  display: inline-block;
  width: 51.2820512821vw;
  padding: 7.6923076923vw 7.1794871795vw 7.6923076923vw 0;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  background-color: #1D8E3B;
  background-image: url("/img/icon-submit_arrow.svg");
  background-repeat: no-repeat;
  background-position: right 10.2564102564vw center;
  background-size: auto 4.1025641026vw;
  transition: all 0.3s ease;
}
.contact .unit .contact-body .form .submit .submit-btn:hover {
  cursor: pointer;
  opacity: 0.8;
}
.contact .unit .contact-body .form .submit .submit-btn.back {
  background-color: #999;
  background-image: none;
  padding: 7.6923076923vw 7.1794871795vw;
  margin: 0;
  text-align: center;
}
.contact .unit .contact-body .form-note {
  font-size: 3.0769230769vw;
  color: #666;
  margin-top: 1.2820512821vw;
}
.contact .unit .contact-body .form-error {
  display: block;
  color: #e14434;
  font-size: 3.0769230769vw;
  margin-top: 2.5641025641vw;
}

@media screen and (min-width: 768px) {
  .contact {
    padding: min(5.1388888889vw, 74px) 0 min(13.6111111111vw, 196px);
  }
  .contact.check, .contact.thanks {
    padding: 0 0 min(6.9444444444vw, 100px) 0;
  }
  .contact .check-note {
    font-size: 0.9722222222vw;
    margin-bottom: 2.0833333333vw;
  }
  .contact.check .submit-btn {
    margin-left: 1.0416666667vw;
  }
  .contact.thanks .check-note {
    font-size: 1.1111111111vw;
    margin-bottom: 4.1666666667vw;
  }
  .contact .unit {
    display: flex;
    justify-content: space-between;
    width: min(100vw, 1440px);
    padding: min(6.9444444444vw, 100px) min(6.25vw, 90px) 0 min(17.3611111111vw, 250px);
    margin: 0 auto 0;
    background-image: url("/img/contact_ph_01-pc.jpg");
    background-size: min(45.1388888889vw, 650px) auto;
    background-position: 0 0;
  }
  .contact .unit .contact-head {
    width: min(33.3333333333vw, 480px);
    padding: min(4.8611111111vw, 70px) min(5.5555555556vw, 80px);
    background-color: #fff;
  }
  .contact .unit .contact-head .sec-ttl {
    margin: 0 auto min(3.8888888889vw, 56px);
  }
  .contact .unit .contact-head .lead {
    margin: 0 auto min(1.3888888889vw, 20px);
    font-size: min(1.1111111111vw, 16px);
    text-align: left;
  }
  .contact .unit .contact-head .tel {
    margin: 0;
    text-align: left;
  }
  .contact .unit .contact-head .tel .number {
    padding: 0 0 min(0.6944444444vw, 10px);
    font-size: min(2.7777777778vw, 40px);
  }
  .contact .unit .contact-head .tel .number .small {
    display: inline-block;
    padding: 0 min(0.5555555556vw, 8px) 0 0;
    font-size: min(1.8055555556vw, 26px);
  }
  .contact .unit .contact-head .tel .number a {
    font-size: min(2.7777777778vw, 40px);
  }
  .contact .unit .contact-body {
    width: calc(100% - min(33.3333333333vw, 480px));
    padding: min(5.1388888889vw, 74px) 0 0;
  }
  .contact .unit .contact-body .form .form-unit {
    margin: 0 auto min(2.7777777778vw, 40px);
  }
  .contact .unit .contact-body .form .form-group {
    display: flex;
    align-items: center;
    padding: min(1.1111111111vw, 16px) min(1.3888888889vw, 20px);
    border-bottom: min(0.0694444444vw, 1px) solid #d9d9d9;
    position: relative;
  }
  .contact .unit .contact-body .form .form-group:before {
    content: "";
    width: min(12.5vw, 180px);
    height: min(0.0694444444vw, 1px);
    background-color: #1D8E3B;
    position: absolute;
    left: 0;
    bottom: max(-0.0694444444vw, -1px);
  }
  .contact .unit .contact-body .form .form-group .form-head {
    display: flex;
    width: min(12.5vw, 180px);
    padding: 0;
    margin: 0;
    border: none;
  }
  .contact .unit .contact-body .form .form-group .form-input {
    display: flex;
    width: calc(100% - min(12.5vw, 180px));
    padding: min(0.7638888889vw, 11px) min(1.3888888889vw, 20px);
    border: none;
    background-color: #f2f2ed;
  }
  .contact .unit .contact-body .form .form-group .form-input-outer {
    width: calc(100% - min(12.5vw, 180px));
  }
  .contact .unit .contact-body .form .form-group .privacy-ttl {
    display: flex;
    width: min(12.5vw, 180px);
    padding: 0 min(1.3888888889vw, 20px) 0 0;
    margin: 0;
    border: none;
  }
  .contact .unit .contact-body .form .form-group .privacy-unit {
    width: calc(100% - min(12.5vw, 180px));
    padding: 0;
  }
  .contact .unit .contact-body .form .form-group .privacy-box {
    height: min(7.5vw, 108px);
    padding: min(1.0416666667vw, 15px) min(1.3888888889vw, 20px);
    margin: 0 auto min(0.9722222222vw, 14px);
    font-size: min(0.9722222222vw, 14px);
    border: min(0.0694444444vw, 1px) solid #d9d9d9;
  }
  .contact .unit .contact-body .form .form-group .privacy-txt {
    padding: 0 0 0 1em;
    font-size: min(0.8333333333vw, 12px);
    line-height: 1.8;
  }
  .contact .unit .contact-body .form .form-group .privacy-txt::before, .contact .unit .contact-body .form .form-group .privacy-txt::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
  }
  .contact .unit .contact-body .form .form-group .privacy-txt::before {
    margin-top: calc((1 - 1.8) * 0.5em);
  }
  .contact .unit .contact-body .form .form-group .privacy-txt::after {
    margin-bottom: calc((1 - 1.8) * 0.5em);
  }
  .contact .unit .contact-body .form .form-group .privacy-txt:before {
    display: none;
  }
  .contact .unit .contact-body .form .submit .submit-btn {
    width: min(13.8888888889vw, 200px);
    padding: min(2.0833333333vw, 30px) min(1.9444444444vw, 28px) min(2.0833333333vw, 30px) 0;
    background-position: right min(3.4722222222vw, 50px) center;
    background-size: auto min(1.1111111111vw, 16px);
  }
  .contact .unit .contact-body .form .submit .submit-btn.back {
    padding: min(2.0833333333vw, 30px) min(1.9444444444vw, 28px);
  }
  .contact .unit .contact-body .form-note {
    font-size: 0.6944444444vw;
    margin-top: 0.3472222222vw;
  }
  .contact .unit .contact-body .form-error {
    font-size: 0.9027777778vw;
    margin-top: 0.6944444444vw;
  }
}/*# sourceMappingURL=style.css.map */