@charset "UTF-8";
/* -----------------
Contact 資料請求・無料相談
-------------------- */
/* -----------------
page module
-------------------- */
.pm_anchor_btn a {
  display: block;
  position: relative;
  padding: 33px 0 43px;
  background: var(--color-purple);
}
@media screen and (max-width: 767px) {
  .pm_anchor_btn a {
    padding: min(28px, 5.8333333333vw) 0 min(38px, 7.9166666667vw);
  }
}
.pm_anchor_btn span {
  font-weight: 700;
  color: #fff;
  text-align: center;
  display: block;
}
.pm_anchor_btn .en {
  font-family: var(--font-poppins);
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .pm_anchor_btn .en {
    font-size: min(2.4rem, 5vw);
  }
}
.pm_anchor_btn .jp {
  font-size: 2.1rem;
  margin-top: min(9px, 1.875vw);
}
@media screen and (max-width: 767px) {
  .pm_anchor_btn .jp {
    font-size: min(1.8rem, 3.75vw);
  }
}
.pm_anchor_btn .line {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 29px;
  transform: translateX(-50%);
}
.pm_anchor_btn .line::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 29px;
  background: #fff;
  animation: scroll_down_line 2s ease-out infinite;
}
@media screen and (max-width: 767px) {
  .pm_anchor_btn .line {
    height: min(23px, 4.7916666667vw);
  }
  .pm_anchor_btn .line::before {
    height: min(23px, 4.7916666667vw);
  }
}
@keyframes scroll_down_line {
  0% {
    top: 0;
    height: 0;
  }
  50% {
    top: 0;
    height: 100%;
  }
  50.1% {
    top: 0;
    height: 100%;
  }
  100% {
    top: 100%;
    height: 0;
  }
}

/* -----------------
anchor_wrap
-------------------- */
.anchor_wrap {
  margin-top: 180px;
  padding: 36px 0 43px;
  background: #eee;
}
@media screen and (max-width: 767px) {
  .anchor_wrap {
    margin-top: min(70px, 14.5833333333vw);
    padding: min(45px, 9.375vw) 0;
  }
}
.anchor_wrap .ttl {
  text-align: center;
  margin-inline: auto;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .anchor_wrap .ttl {
    max-width: 464px;
  }
}
.anchor_wrap .ttl::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 1px;
  background: #C0C0C0;
  transform: translateY(-50%);
}
.anchor_wrap .ttl span {
  font-size: 1.6rem;
  display: inline-block;
  padding-inline: 25px;
  background: #eee;
}
@media screen and (max-width: 767px) {
  .anchor_wrap .ttl span {
    font-size: min(1.8rem, 3.75vw);
    padding-inline: min(19px, 3.9583333333vw);
  }
}
.anchor_wrap .list {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .anchor_wrap .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .anchor_wrap .list::after {
    content: "";
    width: 30.9322033898%;
  }
}
@media screen and (max-width: 767px) {
  .anchor_wrap .list {
    margin: min(34px, 7.0833333333vw) auto 0;
    width: 86.9047619048%;
  }
}
@media screen and (min-width: 768px) {
  .anchor_wrap .list li {
    width: 30.9322033898%;
  }
  .anchor_wrap .list li:nth-child(n+4) {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .anchor_wrap .list li:nth-child(n+2) {
    margin-top: min(13px, 2.7083333333vw);
  }
}
.anchor_wrap .list a {
  display: block;
  padding: 22px 0 32px;
  border: 1px solid #C0C0C0;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .anchor_wrap .list a {
    position: relative;
  }
  .anchor_wrap .list a::before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    bottom: 9px;
    width: 19px;
    height: 8px;
    background: var(--color-purple);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .anchor_wrap .list a {
    padding: min(15px, 3.125vw) 0;
  }
}
.anchor_wrap .list .sttl span {
  text-align: center;
  display: block;
}
.anchor_wrap .list .sttl .jp {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}
@media screen and (max-width: 767px) {
  .anchor_wrap .list .sttl .jp {
    font-size: min(2.1rem, 4.375vw);
  }
}
.anchor_wrap .list .sttl .en {
  font-family: var(--font-poppins);
  font-size: 1.6rem;
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .anchor_wrap .list .sttl .en {
    font-size: min(1.8rem, 3.75vw);
    margin-top: min(10px, 2.0833333333vw);
  }
}

/* -----------------
catalog_wrap
-------------------- */
.catalog_wrap {
  margin-top: 102px;
}
@media screen and (max-width: 767px) {
  .catalog_wrap {
    margin-top: min(70px, 14.5833333333vw);
  }
}
.catalog_wrap > .m_wrap {
  max-width: 1306px;
}
@media screen and (min-width: 768px) {
  .catalog_wrap .box {
    position: relative;
    z-index: 1;
    padding-top: 14px;
  }
}
@media screen and (max-width: 767px) {
  .catalog_wrap .box .img_box {
    position: relative;
    padding-bottom: min(31px, 6.4583333333vw);
  }
}
.catalog_wrap .box .ttl {
  font-family: var(--font-poppins);
  font-weight: 700;
  font-size: 9rem;
  color: #eee;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .catalog_wrap .box .ttl {
    font-size: min(4.8rem, 10vw);
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media screen and (min-width: 768px) {
  .catalog_wrap .box .img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 50.5359877489%;
  }
}
.catalog_wrap .box .txt_box {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  .catalog_wrap .box .txt_box {
    margin-left: auto;
    padding: 54px 0 54px 4.0581929556%;
    width: 55.0535987749%;
    background: #fff;
  }
}
@media screen and (max-width: 767px) {
  .catalog_wrap .box .txt_box {
    margin-top: min(18px, 3.75vw);
  }
}
.catalog_wrap .box .sttl span {
  display: block;
}
.catalog_wrap .box .sttl .txt_sml {
  font-size: min(1.6rem, 3.3333333333vw);
  line-height: 1.625;
}
.catalog_wrap .box .sttl .txt_lg {
  font-weight: 700;
  font-size: min(2.6rem, 5.4166666667vw);
  line-height: 1.5384615385;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .catalog_wrap .box .sttl .txt_lg {
    margin-top: min(5px, 1.0416666667vw);
  }
}
.catalog_wrap .box .txt {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .catalog_wrap .box .txt {
    font-size: min(1.8rem, 3.75vw);
    line-height: 1.7777777778;
    margin-top: min(31px, 6.4583333333vw);
  }
}
.catalog_wrap .pm_anchor_btn {
  margin: 26px auto 0;
  max-width: 1180px;
}
@media screen and (max-width: 767px) {
  .catalog_wrap .pm_anchor_btn {
    margin-top: min(56px, 11.6666666667vw);
  }
}

/* -----------------
consultation_wrap
-------------------- */
.consultation_wrap {
  margin-top: 142px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .consultation_wrap {
    margin-top: min(70px, 14.5833333333vw);
  }
}
.consultation_wrap > .m_wrap {
  max-width: 1306px;
}
@media screen and (min-width: 768px) {
  .consultation_wrap .box {
    position: relative;
    z-index: 1;
    padding-top: 31px;
  }
}
@media screen and (max-width: 767px) {
  .consultation_wrap .box .img_box {
    position: relative;
    padding-bottom: min(27px, 5.625vw);
  }
}
.consultation_wrap .box .ttl {
  font-family: var(--font-poppins);
  font-weight: 700;
  font-size: 9rem;
  color: #eee;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .box .ttl {
    font-size: min(4.8rem, 10vw);
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media screen and (min-width: 768px) {
  .consultation_wrap .box .img {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    width: 50.5359877489%;
  }
}
.consultation_wrap .box .txt_box {
  margin-top: 45px;
}
@media screen and (min-width: 768px) {
  .consultation_wrap .box .txt_box {
    padding: 54px 3.5222052067% 54px 0;
    width: 54.5941807044%;
    background: #fff;
  }
}
@media screen and (max-width: 767px) {
  .consultation_wrap .box .txt_box {
    margin-top: min(18px, 3.75vw);
  }
}
.consultation_wrap .box .sttl span {
  display: block;
}
.consultation_wrap .box .sttl .txt_sml {
  font-size: min(1.6rem, 3.3333333333vw);
  line-height: 1.625;
}
.consultation_wrap .box .sttl .txt_lg {
  font-weight: 700;
  font-size: min(2.6rem, 5.4166666667vw);
  line-height: 1.5384615385;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .box .sttl .txt_lg {
    margin-top: min(5px, 1.0416666667vw);
  }
}
.consultation_wrap .box .txt {
  font-size: 1.6rem;
  line-height: 1.75;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .box .txt {
    font-size: min(1.8rem, 3.75vw);
    line-height: 1.7777777778;
    margin-top: min(31px, 6.4583333333vw);
  }
}
.consultation_wrap .consultation_list {
  margin: 106px auto 0;
  max-width: 1180px;
}
@media screen and (min-width: 768px) {
  .consultation_wrap .consultation_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .consultation_wrap .consultation_list::after {
    content: "";
    width: 30.5084745763%;
  }
}
@media screen and (max-width: 767px) {
  .consultation_wrap .consultation_list {
    margin-top: min(85px, 17.7083333333vw);
  }
}
.consultation_wrap .consultation_list li {
  position: relative;
  z-index: 1;
  padding-top: 16.4406779661%;
}
@media screen and (min-width: 768px) {
  .consultation_wrap .consultation_list li {
    width: 30.5084745763%;
  }
  .consultation_wrap .consultation_list li:nth-child(n+4) {
    margin-top: 60px;
  }
}
@media screen and (max-width: 767px) {
  .consultation_wrap .consultation_list li {
    padding-top: 54.7619047619%;
  }
  .consultation_wrap .consultation_list li:nth-child(n+2) {
    margin-top: min(54px, 11.25vw);
  }
}
.consultation_wrap .consultation_list .num {
  font-family: var(--font-poppins);
  font-weight: 700;
  font-size: 6rem;
  color: #eee;
  position: absolute;
  top: -36px;
  left: 18px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .consultation_list .num {
    font-size: min(4.8rem, 10vw);
    top: max(-30px, -6.25vw);
    left: min(24px, 5vw);
  }
}
.consultation_wrap .consultation_list .img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.consultation_wrap .consultation_list .ssttl {
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.7777777778;
  text-align: center;
  margin-inline: auto;
  padding: 20px 0;
  width: 82.2222222222%;
  background: rgba(255, 255, 255, 0.7);
}
@media screen and (max-width: 767px) {
  .consultation_wrap .consultation_list .ssttl {
    font-size: min(2.1rem, 4.375vw);
    line-height: 1.4761904762;
    padding: min(21px, 4.375vw) 0;
    width: 88.3333333333%;
  }
}
.consultation_wrap .consultation_list .txt {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .consultation_list .txt {
    font-size: min(1.8rem, 3.75vw);
    line-height: 1.7777777778;
  }
}
.consultation_wrap .other_box {
  margin-top: 87px;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box {
    margin-top: min(63px, 13.125vw);
  }
}
.consultation_wrap .other_box .ttl {
  font-weight: 700;
  font-size: min(3rem, 6.25vw);
  text-align: center;
}
.consultation_wrap .other_box .txt {
  text-align: center;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box .txt {
    margin-top: min(18px, 3.75vw);
  }
}
.consultation_wrap .other_box .txt span {
  display: block;
}
.consultation_wrap .other_box .txt .txt_lg {
  font-weight: 700;
  font-size: min(2.1rem, 4.375vw);
  line-height: 1.7619047619;
}
.consultation_wrap .other_box .txt .txt_sml {
  font-size: 1.6rem;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box .txt .txt_sml {
    font-size: 1.8rem;
    line-height: 1.7777777778;
  }
}
.consultation_wrap .other_box .loop_slider {
  display: flex;
  flex-flow: row nowrap;
  margin-top: 46px;
  width: 100vw;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box .loop_slider {
    margin-top: min(28px, 5.8333333333vw);
  }
}
.consultation_wrap .other_box .loop_slider .loop_list {
  display: flex;
  flex-shrink: 0;
  width: 160vw;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box .loop_slider .loop_list {
    width: 360.8333333333vw;
  }
}
.consultation_wrap .other_box .loop_slider .loop_list:first-child {
  animation: loop_slide01 60s -30s linear infinite;
}
.consultation_wrap .other_box .loop_slider .loop_list:last-child {
  animation: loop_slide02 60s linear infinite;
}
.consultation_wrap .other_box .loop_slider li {
  flex-shrink: 0;
  margin-right: 1.3333333333vw;
  width: 38.6666666667vw;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box .loop_slider li {
    margin-right: 2.9166666667vw;
    width: 87.2916666667vw;
  }
}
@keyframes loop_slide01 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop_slide02 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
.consultation_wrap .other_box .map {
  position: relative;
  margin-top: 64px;
  padding-top: 34.7457627119%;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box .map {
    margin-top: min(42px, 8.75vw);
    padding-top: 61.9047619048%;
  }
}
.consultation_wrap .other_box .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.consultation_wrap .other_box .pm_anchor_btn {
  margin-top: 76px;
}
@media screen and (max-width: 767px) {
  .consultation_wrap .other_box .pm_anchor_btn {
    margin-top: min(61px, 12.7083333333vw);
  }
}

/* -----------------
m_form_wrap
-------------------- */
.m_form_wrap {
  margin-top: 143px;
}
@media screen and (max-width: 767px) {
  .m_form_wrap {
    margin-top: min(71px, 14.7916666667vw);
  }
}
.m_form_wrap:not(._confirm):not(._thanks) .input_list {
  margin-top: 56px;
}
@media screen and (max-width: 767px) {
  .m_form_wrap:not(._confirm):not(._thanks) .input_list {
    margin-top: min(54px, 11.25vw);
  }
}

/*# sourceMappingURL=contact.css.map */
