@charset "UTF-8";
.wrap {
  position: relative;
  padding-bottom: min(5vw, 80px);
}
@media screen and (max-width: 768px) {
  .wrap {
    padding-bottom: min(21.3333333333vw, 80px);
  }
}

.nav_anchor {
  background: url(../images/noise.svg) #EFEBE0 repeat top center;
  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;
  padding: min(1.25vw, 20px) 0;
}
.nav_anchor .ul_anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: min(75vw, 1200px);
  border-left: dotted 2px #333;
}
.nav_anchor .ul_anchor li {
  width: 20%;
  line-height: 1;
  border-right: dotted 2px #333;
}
.nav_anchor .ul_anchor li a {
  position: relative;
  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;
  font-size: min(1.125vw, 18px);
}
.nav_anchor .ul_anchor li a::after {
  content: "";
  display: block;
  background: url("../images/nav_arrow.svg") no-repeat;
  background-size: contain;
  width: min(1.25vw, 20px);
  height: min(1.25vw, 20px);
  margin-left: min(0.375vw, 6px);
}
.nav_anchor .ul_anchor li a:hover {
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
  color: #3F9276;
  top: 1px;
}
@media screen and (max-width: 768px) {
  .nav_anchor {
    padding: 0;
    margin-top: min(3.2vw, 12px);
  }
  .nav_anchor .ul_anchor {
    width: 100%;
    border: none;
  }
  .nav_anchor .ul_anchor li {
    position: relative;
    width: 50%;
    padding: min(2.6666666667vw, 10px) 5.4%;
    border-right: none;
  }
  .nav_anchor .ul_anchor li::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: -0.1em;
    height: 4px;
    width: 100%;
    background: radial-gradient(circle farthest-side, #707070, #707070 50%, transparent 50%, transparent);
    background-repeat: repeat-x;
    background-size: 4px 4px;
  }
  .nav_anchor .ul_anchor li a {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    font-size: min(3.2vw, 12px);
  }
  .nav_anchor .ul_anchor li a::after {
    width: min(4.2666666667vw, 16px);
    height: min(4.2666666667vw, 16px);
    margin-left: min(1.6vw, 6px);
  }
  .nav_anchor .ul_anchor li:nth-child(odd) a::before {
    content: "";
    display: inline-block;
    position: absolute;
    right: -2em;
    width: 6px;
    height: 100%;
    background: radial-gradient(circle farthest-side, #707070, #707070 50%, transparent 50%, transparent);
    background-repeat: repeat-y;
    background-size: 4px 4px;
  }
  .nav_anchor .ul_anchor li:last-child:after {
    display: none;
  }
}

#mainvisual {
  position: relative;
  padding: 0 0 min(3.3125vw, 53px);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#mainvisual .area_mainvisual {
  width: 100%;
  margin-inline: auto;
  padding: 0 min(1.5625vw, 25px);
  position: relative;
}
#mainvisual .image {
  height: min(51vw, 816px);
  border-radius: 20px;
  overflow: hidden;
}
#mainvisual .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left center;
     object-position: left center;
}
#mainvisual #visual {
  width: min(36.25vw, 580px);
  position: absolute;
  top: min(9.375vw, 150px);
  left: min(7.625vw, 122px);
}
#mainvisual #visual .ul_reson {
  position: relative;
  margin-top: min(3.125vw, 50px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.375vw, 22px);
  width: 100%;
}
#mainvisual #visual .ul_reson li {
  position: relative;
  background: #fff;
  -webkit-box-shadow: 0px 0px 0px 5px #fff;
          box-shadow: 0px 0px 0px 5px #fff;
  border: dashed 0.1em #A7927C;
  border-radius: min(1.25vw, 20px);
  padding: min(1.375vw, 22px);
}
#mainvisual #visual .ul_reson li span {
  color: #3F9276;
}
@media screen and (max-width: 768px) {
  #mainvisual #visual .ul_reson li {
    -webkit-box-shadow: 0px 0px 0px 3px #fff;
            box-shadow: 0px 0px 0px 3px #fff;
    border-width: 1.5px;
  }
}
#mainvisual #visual .ul_reson li {
  width: calc(33.3333333333% - min(1.375vw, 22px));
  min-height: min(10.875vw, 174px);
  font-size: min(1.125vw, 18px);
  font-family: "HankenGrotesk-Bold", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  text-align: center;
  padding: 0 min(0.625vw, 10px);
  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;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#mainvisual #visual .ul_reson li .icon {
  width: min(6.25vw, 100px);
}
#mainvisual #visual .ul_reson li p {
  line-height: 1.5;
  margin-top: min(0.8125vw, 13px);
}
#mainvisual #visual .ul_reson li p span {
  color: #3F9276;
  font-size: min(1.25vw, 20px);
}
#mainvisual .catch {
  position: absolute;
  top: min(5.375vw, 86px);
  right: min(7.625vw, 122px);
  width: min(6.5vw, 104px);
}
@media screen and (max-width: 768px) {
  #mainvisual {
    padding: 0 0 min(4.2666666667vw, 16px);
  }
  #mainvisual .area_mainvisual {
    width: calc(100% - min(10.6666666667vw, 40px));
    height: 100%;
    padding: 0;
  }
  #mainvisual .image {
    height: 100%;
    border-radius: 14px;
  }
  #mainvisual .image img {
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  #mainvisual #visual {
    width: 90%;
    top: inherit;
    bottom: min(8vw, 30px);
    left: 5%;
  }
  #mainvisual #visual .ul_reson {
    margin-top: min(6.6666666667vw, 25px);
    gap: min(1.6vw, 6px);
    width: 100%;
  }
  #mainvisual #visual .ul_reson li {
    width: calc(33.3333333333% - min(2.1333333333vw, 8px));
    min-height: min(24vw, 90px);
    font-size: min(2.9333333333vw, 11px);
    padding: min(1.3333333333vw, 5px) min(1.3333333333vw, 5px);
  }
  #mainvisual #visual .ul_reson li .icon {
    width: min(15.7333333333vw, 59px);
    height: min(10.1333333333vw, 38px);
  }
  #mainvisual #visual .ul_reson li p {
    margin-top: min(1.6vw, 6px);
  }
  #mainvisual #visual .ul_reson li p span {
    font-size: min(3.2vw, 12px);
  }
  #mainvisual .catch {
    width: min(20.8vw, 78px);
    top: min(4.2666666667vw, 16px);
    right: 5%;
  }
}

@media screen and (max-width: 768px) {
  .contact_btn.sp {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    -webkit-transition: 0.3s ease;
    transition: 0.3s ease;
    background: #fff;
    -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
            box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.15);
    padding: min(2.1333333333vw, 8px) 0;
    z-index: 999;
  }
  .contact_btn.sp ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 min(5.3333333333vw, 20px);
  }
  .contact_btn.sp ul li.box_btn {
    width: min(80vw, 300px);
    margin: 0 auto;
  }
  .contact_btn.sp ul li.box_btn a {
    padding: 0;
    height: min(10.6666666667vw, 40px);
  }
  .contact_btn.sp ul li.box_btn a span {
    padding-left: min(9.0666666667vw, 34px);
  }
  .contact_btn.sp ul li.box_btn a span::before {
    left: min(1.6vw, 6px);
    width: min(3.7333333333vw, 14px);
    height: min(3.7333333333vw, 14px);
    -webkit-mask-size: min(3.7333333333vw, 14px);
            mask-size: min(3.7333333333vw, 14px);
  }
  .contact_btn.sp ul li.box_btn a span::after {
    width: min(6.9333333333vw, 26px);
    height: min(6.9333333333vw, 26px);
  }
  .contact_btn.sp.sp.fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    display: block;
  }
  .contact_btn.sp.sp.fixed.show {
    -webkit-animation: ctaFadeUp 0.5s ease;
            animation: ctaFadeUp 0.5s ease;
  }
}
@-webkit-keyframes ctaFadeUp {
  0% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
@keyframes ctaFadeUp {
  0% {
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
}
#area_lead .box_wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#area_lead .box_wrap .txt {
  width: 36.1111111111%;
}
#area_lead .box_wrap .txt .line {
  background: url(../images/lead_line.svg) no-repeat center bottom;
  background-size: contain;
}
#area_lead .box_wrap .photo {
  width: 58.3333333333%;
}
@media screen and (max-width: 768px) {
  #area_lead .box_wrap {
    display: block;
  }
  #area_lead .box_wrap .txt {
    width: 100%;
  }
  #area_lead .box_wrap .photo {
    width: 100%;
    margin-top: min(5.3333333333vw, 20px);
  }
  #area_lead .box_wrap .photo img {
    border-radius: 14px;
  }
}

#area_worries {
  position: relative;
  padding-bottom: min(5.625vw, 90px);
}
#area_worries::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: min(1.5625vw, 25px) min(1.5625vw, 25px) 0 min(1.5625vw, 25px);
  border-color: #F5F3ED transparent transparent transparent;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(100%);
          transform: translateX(-50%) translateY(100%);
}
#area_worries .txt {
  width: 28.6111111111%;
  width: min(25.75vw, 412px);
  margin-top: min(0.625vw, 10px);
}
#area_worries .txt .line {
  background: url(../images/worries_line.svg) no-repeat center bottom;
  background-size: contain;
}
#area_worries .ul_list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(1.25vw, 20px);
  width: 65.8333333333%;
  padding: min(3.125vw, 50px) 0 min(4.375vw, 70px);
}
#area_worries .ul_list::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: min(2.5vw, 40px);
  right: 0;
  background: url("../images/worries_bg.png") no-repeat center center;
  background-size: contain;
  width: 91.5611814346%;
  height: 100%;
}
#area_worries .ul_list li {
  position: relative;
  background: #fff;
  border-radius: 0px 8px 8px 0px;
  -webkit-box-shadow: 3px 3px 0 #D5CEB9;
          box-shadow: 3px 3px 0 #D5CEB9;
  border-left: solid 4px #3F9276;
  width: calc(50% - min(0.625vw, 10px));
  min-height: min(5.25vw, 84px);
  font-size: min(1.25vw, 20px);
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: min(1.875vw, 30px);
}
#area_worries .ul_list li span {
  display: contents;
  color: #3F9276;
}
@media screen and (max-width: 768px) {
  #area_worries {
    padding-bottom: min(13.3333333333vw, 50px);
  }
  #area_worries::before {
    border-width: 15px 15px 0 15px;
  }
  #area_worries .txt {
    width: 100%;
  }
  #area_worries .ul_list {
    display: block;
    width: 100%;
    padding: min(12vw, 45px) 0 min(6.6666666667vw, 25px);
  }
  #area_worries .ul_list::before {
    left: min(4.2666666667vw, 16px);
    background: url("../images/worries_bg_sp.png") no-repeat top center;
    background-size: contain;
    width: calc(100% - min(8.5333333333vw, 32px));
  }
  #area_worries .ul_list li {
    line-height: 1.75;
    border-radius: 0px 4px 4px 0px;
    width: 100%;
    min-height: min(12.8vw, 48px);
    font-size: min(4.2666666667vw, 16px);
    padding: min(2.6666666667vw, 10px) 0 min(2.6666666667vw, 10px) min(4vw, 15px);
  }
  #area_worries .ul_list li + li {
    margin-top: min(3.2vw, 12px);
  }
}

.contact_boxs {
  background: #fff;
  padding: min(3.75vw, 60px) 0;
}
.contact_boxs h3 {
  text-align: center;
}
.contact_boxs h3 em {
  font-family: "HankenGrotesk-Bold", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-size: min(1.75vw, 28px);
  margin-top: 0;
}
.contact_boxs .inner {
  width: min(100%, 1300px);
}
@media screen and (max-width: 768px) {
  .contact_boxs {
    padding: min(10.6666666667vw, 40px) 0 min(8vw, 30px);
  }
  .contact_boxs h3 em {
    font-size: min(5.3333333333vw, 20px);
  }
  .contact_boxs .inner {
    width: 100%;
  }
}
.contact_boxs .flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: min(1.5625vw, 25px);
}
.contact_boxs .flex_wrap ul {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
}
.contact_boxs .flex_wrap ul::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: 3px;
  height: 100%;
  background: radial-gradient(circle farthest-side, #707070, #707070 50%, transparent 50%, transparent);
  background-repeat: repeat-y;
  background-size: 3px 3px;
}
.contact_boxs .flex_wrap ul li {
  width: min(23.25vw, 372px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 min(3.125vw, 50px);
}
.contact_boxs .flex_wrap ul li p {
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1.125vw, 18px);
}
.contact_boxs .flex_wrap ul li p span {
  color: #F37D36;
}
.contact_boxs .flex_wrap ul li a {
  height: min(4.25vw, 68px);
  margin-top: min(1.25vw, 20px);
}
@media screen and (max-width: 768px) {
  .contact_boxs .flex_wrap {
    margin-top: min(6.6666666667vw, 25px);
  }
  .contact_boxs .flex_wrap ul {
    width: 100%;
    padding-bottom: min(8vw, 30px);
  }
  .contact_boxs .flex_wrap ul::after {
    right: 0;
    bottom: 0;
    width: 100%;
    height: 3px;
    background-repeat: repeat-x;
  }
  .contact_boxs .flex_wrap ul li {
    width: 100%;
  }
  .contact_boxs .flex_wrap ul li + li {
    margin-top: min(5.3333333333vw, 20px);
  }
  .contact_boxs .flex_wrap ul li p {
    font-size: min(3.7333333333vw, 14px);
  }
  .contact_boxs .flex_wrap ul li a {
    height: min(12.8vw, 48px);
    margin-top: min(2.6666666667vw, 10px);
  }
  .contact_boxs .flex_wrap .dl_tel {
    width: 100%;
    margin: min(6.6666666667vw, 25px) 0 0;
  }
}

#area_regeneration .tit_content {
  text-align: center;
}
#area_regeneration .tit_content .line {
  background: url(../images/regeneration_line.svg) no-repeat center bottom min(0.625vw, 10px);
  background-size: contain;
}
#area_regeneration .box_wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: min(3.125vw, 50px);
}
#area_regeneration .box_wrap .comment {
  position: relative;
  font-size: min(1.625vw, 26px);
  color: #3F9276;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 min(1.875vw, 30px);
}
#area_regeneration .box_wrap .comment span {
  position: relative;
  padding: 0 0 min(1.25vw, 20px);
}
#area_regeneration .box_wrap .comment span::before, #area_regeneration .box_wrap .comment span::after {
  content: "";
  display: block;
  position: absolute;
  top: min(-0.9375vw, -15px);
  -webkit-mask: url("../images/icon_quote.svg");
          mask: url("../images/icon_quote.svg");
  -webkit-mask-size: min(2.125vw, 34px) min(1.5vw, 24px);
          mask-size: min(2.125vw, 34px) min(1.5vw, 24px);
  background-color: #3F9276;
  width: min(2.125vw, 34px);
  height: min(1.5vw, 24px);
}
#area_regeneration .box_wrap .comment span::before {
  left: min(-1.875vw, -30px);
}
#area_regeneration .box_wrap .comment span::after {
  right: min(-1.875vw, -30px);
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (max-width: 768px) {
  #area_regeneration .box_wrap .comment {
    font-size: min(4.5333333333vw, 17px);
    padding: 0;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #area_regeneration .box_wrap .comment span {
    position: relative;
    padding: 0 min(5.3333333333vw, 20px);
  }
  #area_regeneration .box_wrap .comment span::before, #area_regeneration .box_wrap .comment span::after {
    top: min(-4vw, -15px);
    -webkit-mask: url("../images/icon_quote.svg");
            mask: url("../images/icon_quote.svg");
    -webkit-mask-size: min(6.9333333333vw, 26px) min(4.8vw, 18px);
            mask-size: min(6.9333333333vw, 26px) min(4.8vw, 18px);
    width: min(6.9333333333vw, 26px);
    height: min(4.8vw, 18px);
  }
  #area_regeneration .box_wrap .comment span::before {
    left: 0;
  }
  #area_regeneration .box_wrap .comment span::after {
    right: 0;
    top: auto;
    bottom: 0;
  }
  #area_regeneration .box_wrap .comment.pc {
    display: none;
  }
}
#area_regeneration .box_wrap .txt {
  width: min(56.5vw, 904px);
  margin-top: min(1.875vw, 30px);
}
#area_regeneration .box_wrap .txt > p:not(.comment) {
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1.25vw, 20px);
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  #area_regeneration .box_wrap .txt {
    width: 100%;
  }
  #area_regeneration .box_wrap .txt > p:not(.comment) {
    font-size: min(4.2666666667vw, 16px);
    margin-top: min(5.3333333333vw, 20px);
  }
}
#area_regeneration .box_wrap .photo {
  width: 31.6666666667%;
  width: min(28.5vw, 456px);
}
#area_regeneration .box_wrap .photo ul li {
  position: relative;
}
#area_regeneration .box_wrap .photo ul li figcaption {
  text-align: center;
}
#area_regeneration .box_wrap .photo ul li figcaption small {
  display: block;
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1.125vw, 18px);
  line-height: 1.77;
  margin-top: min(0.625vw, 10px);
}
#area_regeneration .box_wrap .photo ul li:first-child {
  padding-bottom: min(3.75vw, 60px);
  margin-bottom: min(0.875vw, 14px);
}
#area_regeneration .box_wrap .photo ul li:first-child::after {
  content: "";
  display: inline-block;
  width: min(1.375vw, 22px);
  height: min(3vw, 48px);
  -webkit-mask: url(../images/arrow_three.svg);
          mask: url(../images/arrow_three.svg);
  background-color: #3F9276;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  vertical-align: middle;
  position: absolute;
  bottom: 0;
  right: calc(50% - 0.6em);
}
@media screen and (max-width: 768px) {
  #area_regeneration .box_wrap .photo {
    width: 100%;
    margin-top: min(2.6666666667vw, 10px);
  }
  #area_regeneration .box_wrap .photo ul {
    margin-top: min(4vw, 15px);
  }
  #area_regeneration .box_wrap .photo ul li figcaption small {
    font-size: min(3.7333333333vw, 14px);
    line-height: 1.77;
    margin-top: min(2.6666666667vw, 10px);
  }
  #area_regeneration .box_wrap .photo ul li:first-child {
    padding-bottom: min(12vw, 45px);
    margin-bottom: min(4vw, 15px);
  }
  #area_regeneration .box_wrap .photo ul li:first-child::after {
    width: min(4.2666666667vw, 16px);
    height: min(9.3333333333vw, 35px);
  }
}
#area_regeneration .reseon {
  margin-top: min(3.75vw, 60px);
}
#area_regeneration .reseon h3 {
  font-size: min(1.5vw, 24px);
  color: #3F9276;
}
#area_regeneration .reseon h3 span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#area_regeneration .reseon h3 span::before {
  content: "";
  display: inline-block;
  margin-right: min(0.9375vw, 15px);
  width: min(3vw, 48px);
  height: 1px;
  background-color: #3F9276;
}
#area_regeneration .reseon .ul_reson {
  position: relative;
  margin-top: min(1.875vw, 30px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.3125vw, 37px) min(1.375vw, 22px);
  width: 100%;
}
#area_regeneration .reseon .ul_reson li {
  position: relative;
  background: #fff;
  -webkit-box-shadow: 0px 0px 0px 5px #fff;
          box-shadow: 0px 0px 0px 5px #fff;
  border: dashed 0.1em #A7927C;
  border-radius: min(1.25vw, 20px);
  padding: min(1.375vw, 22px);
}
#area_regeneration .reseon .ul_reson li span {
  color: #3F9276;
}
@media screen and (max-width: 768px) {
  #area_regeneration .reseon .ul_reson li {
    -webkit-box-shadow: 0px 0px 0px 3px #fff;
            box-shadow: 0px 0px 0px 3px #fff;
    border-width: 1.5px;
  }
}
#area_regeneration .reseon .ul_reson li {
  width: calc(50% - min(1.375vw, 22px));
  min-height: min(5.25vw, 84px);
  font-size: min(1.25vw, 20px);
  font-family: "HankenGrotesk-Bold", "ZenKakuGothicNew-Bold", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#area_regeneration .reseon .ul_reson li .icon {
  width: min(5.25vw, 84px);
}
#area_regeneration .reseon .ul_reson li p {
  margin-left: min(0.8125vw, 13px);
}
#area_regeneration .reseon .ul_reson li p span {
  color: #3F9276;
}
@media screen and (max-width: 768px) {
  #area_regeneration .reseon {
    margin-top: min(8vw, 30px);
  }
  #area_regeneration .reseon h3 {
    font-size: min(4.8vw, 18px);
  }
  #area_regeneration .reseon h3 span::before {
    margin-right: min(4vw, 15px);
    width: min(9.6vw, 36px);
    position: relative;
    bottom: min(5.3333333333vw, 20px);
  }
  #area_regeneration .reseon .ul_reson {
    margin-top: min(5.3333333333vw, 20px);
    gap: min(5.3333333333vw, 20px) 0;
    width: 100%;
  }
  #area_regeneration .reseon .ul_reson li {
    width: calc(50% - min(2.6666666667vw, 10px));
    min-height: min(44.5333333333vw, 167px);
    font-size: min(3.7333333333vw, 14px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: min(2.6666666667vw, 10px);
  }
  #area_regeneration .reseon .ul_reson li .icon {
    width: min(22.4vw, 84px);
  }
  #area_regeneration .reseon .ul_reson li p {
    margin-left: 0;
    text-align: center;
    line-height: 1.7;
  }
  #area_regeneration .reseon .ul_reson li p span {
    color: #3F9276;
  }
}

#area_thoughts {
  position: relative;
}
#area_thoughts::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -23%;
  left: 0;
  width: 100%;
  height: min(20.1875vw, 323px);
  background: url("../images/bg_line.svg") no-repeat center bottom;
  background-size: 2170px 323px;
  z-index: 2;
}
@media screen and (min-width: 1600px) {
  #area_thoughts::before {
    bottom: -230px;
  }
}
#area_thoughts::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -10vw;
  left: 10em;
  width: min(34.5vw, 552px);
  height: min(16.25vw, 260px);
  background-size: contain;
  z-index: 1;
}
@media screen and (min-width: 1600px) {
  #area_thoughts::after {
    width: 552px;
    height: 260px;
    bottom: -180px;
    left: calc(20% - min(11.25vw, 180px));
  }
}
#area_thoughts .inner::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -50%;
  width: 100%;
  height: 100%;
  background: url(../images/noise.svg) #EFEBE0 repeat top center;
  z-index: -1;
}
#area_thoughts .box_wrap {
  position: relative;
  background: url(../images/noise.svg) #EFEBE0 repeat top center;
  border-radius: 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#area_thoughts .txt {
  width: min(42vw, 672px);
  margin-top: min(6.25vw, 100px);
  padding-left: min(7.5vw, 120px);
}
#area_thoughts .txt .line {
  background: url("../images/regeneration_line.svg") no-repeat center bottom min(0.625vw, 10px);
  background-size: contain;
}
#area_thoughts .txt p.photo {
  position: absolute;
  margin-top: min(1.875vw, 30px);
  width: min(34.5vw, 552px);
  height: min(16.25vw, 260px);
}
@media screen and (max-width: 768px) {
  #area_thoughts {
    background: url(../images/noise.svg) #EFEBE0 repeat top center;
    border-radius: 40px;
  }
  #area_thoughts::before {
    content: "";
    display: block;
    position: absolute;
    bottom: min(-33.3333333333vw, -125px);
    left: 0;
    width: 100%;
    height: min(23.7333333333vw, 89px);
    background: url("../images/bg_line_sp.svg") no-repeat center bottom;
    background-size: 438px 89px;
  }
  #area_thoughts::after {
    bottom: -12em;
    left: 0;
    width: min(62.9333333333vw, 236px);
    height: min(51.2vw, 192px);
    background: url("../images/flow_img01_sp.webp") no-repeat left top;
    background-size: contain;
  }
  #area_thoughts .box_wrap {
    border-radius: 40px;
    gap: min(6.6666666667vw, 25px);
  }
  #area_thoughts .txt {
    width: 100%;
    margin-top: min(13.3333333333vw, 50px);
    padding-left: 0;
  }
}
#area_thoughts .ul_list {
  position: relative;
  width: 47.7777777778%;
  padding: min(6.5625vw, 105px) 0;
}
#area_thoughts .ul_list li {
  position: relative;
  background: #fff;
  border-radius: 20px;
  -webkit-box-shadow: 3px 3px 0 #D5CEB9;
          box-shadow: 3px 3px 0 #D5CEB9;
  min-height: min(5.25vw, 84px);
  padding: min(1.875vw, 30px) min(2.8125vw, 45px) min(1.875vw, 30px) min(1.875vw, 30px);
}
#area_thoughts .ul_list li + li {
  margin-top: min(3vw, 48px);
}
#area_thoughts .ul_list li + li::before {
  content: "";
  display: inline-block;
  width: min(1.8125vw, 29px);
  height: min(1vw, 16px);
  -webkit-mask: url("../images/arrow.svg");
          mask: url("../images/arrow.svg");
  background-color: #3F9276;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  vertical-align: middle;
  position: absolute;
  top: -2vw;
  left: calc(50% - min(0.875vw, 14px));
}
#area_thoughts .ul_list li span {
  color: #3F9276;
  font-size: min(1.5vw, 24px);
}
#area_thoughts .ul_list li p {
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1.125vw, 18px);
}
@media screen and (max-width: 768px) {
  #area_thoughts .ul_list {
    width: 100%;
    padding: 0 0 min(13.3333333333vw, 50px);
  }
  #area_thoughts .ul_list li {
    border-radius: 10px;
    min-height: auto;
    padding: min(5.3333333333vw, 20px);
  }
  #area_thoughts .ul_list li + li {
    margin-top: min(7.2vw, 27px);
  }
  #area_thoughts .ul_list li + li::before {
    top: -1.3em;
    left: calc(50% - 0.7em);
    width: min(5.3333333333vw, 20px);
    height: min(2.9333333333vw, 11px);
  }
  #area_thoughts .ul_list li span {
    font-size: min(4.8vw, 18px);
  }
  #area_thoughts .ul_list li p {
    font-size: min(3.7333333333vw, 14px);
  }
}

#area_flow {
  position: relative;
  margin-top: min(14.375vw, 230px);
}
@media screen and (max-width: 768px) {
  #area_flow {
    margin-top: min(58.6666666667vw, 220px);
  }
}
#area_flow .inner {
  position: relative;
}
#area_flow .inner::after {
  content: "";
  display: block;
  position: absolute;
  top: -7.5vw;
  right: min(3.125vw, 50px);
  width: min(18.6875vw, 299px);
  height: min(19.1875vw, 307px);
  background: url("../images/flow_illust.webp") no-repeat top left;
  background-size: contain;
  z-index: -1;
}
@media screen and (min-width: 1600px) {
  #area_flow .inner::after {
    top: -110px;
  }
}
@media screen and (max-width: 768px) {
  #area_flow .inner::after {
    top: -11em;
    right: 0;
    width: min(37.0666666667vw, 139px);
    height: min(38.1333333333vw, 143px);
  }
}
#area_flow .inner h2 {
  text-align: center;
}
#area_flow .ul_step {
  position: relative;
  counter-reset: num;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-align: normal;
      -ms-flex-align: normal;
          align-items: normal;
  margin-top: min(3.75vw, 60px);
}
#area_flow .ul_step::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: min(0.3125vw, 5px);
  background: radial-gradient(circle farthest-side, rgba(63, 146, 118, 0.5), rgba(63, 146, 118, 0.5) 50%, transparent 50%, transparent);
  background-size: min(0.5625vw, 9px) min(0.3125vw, 5px);
  background-repeat: repeat-x;
}
#area_flow .ul_step li {
  position: relative;
  counter-increment: num;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 30.5555555556%;
  background: url(../images/noise.svg) #EFEBE0 repeat top center;
  border-radius: 20px;
  -webkit-box-shadow: 3px 3px 0 #D5CEB9;
          box-shadow: 3px 3px 0 #D5CEB9;
  padding: min(2.5vw, 40px);
}
#area_flow .ul_step li::before {
  content: "";
  display: block;
  position: absolute;
  inset: -4px;
  pointer-events: none;
  mix-blend-mode: overlay;
}
#area_flow .ul_step li:last-child {
  border: solid 4px #3F9276;
}
#area_flow .ul_step li:last-child::after {
  content: "";
  display: block;
  position: absolute;
  bottom: min(-1.875vw, -30px);
  right: min(1.25vw, 20px);
  background: url("../images/flow_item.png") no-repeat top center;
  background-size: contain;
  width: min(5.25vw, 84px);
  height: min(7.0625vw, 113px);
}
#area_flow .ul_step li .icon_step {
  position: absolute;
  top: min(-1.25vw, -20px);
  left: min(-1.25vw, -20px);
  display: inline-block;
  width: min(5.1875vw, 83px);
  height: min(5.1875vw, 83px);
  border-radius: 50px;
  background: #3F9276;
  -webkit-box-shadow: 0px 0px 0px 5px #3F9276;
          box-shadow: 0px 0px 0px 5px #3F9276;
  border: dashed 0.1em #fff;
  text-align: center;
  font-size: min(1vw, 16px);
  font-family: "HankenGrotesk-Regular", sans-serif;
  letter-spacing: 0.025em;
  line-height: 1.2;
  color: #fff;
  z-index: 2;
}
#area_flow .ul_step li .icon_step span {
  font-size: min(1vw, 16px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: min(5.1875vw, 83px);
}
#area_flow .ul_step li .icon_step span::after {
  content: counter(num, decimal-leading-zero);
  font-size: min(2vw, 32px);
  font-weight: 700;
  letter-spacing: 0.05em;
}
#area_flow .ul_step li dl dt {
  font-size: min(1.5vw, 24px);
  text-align: center;
}
#area_flow .ul_step li dl dd {
  font-size: min(1.25vw, 20px);
  margin-top: min(1.25vw, 20px);
}
#area_flow .ul_step li .checkpoint {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background: #fff;
  font-size: min(1.125vw, 18px);
  line-height: 2;
  border-radius: 20px;
  margin-top: min(1.5625vw, 25px);
  padding: min(1.875vw, 30px) min(2.1875vw, 35px);
}
#area_flow .ul_step li .checkpoint::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 14px 13px 14px;
  border-color: transparent transparent #ffffff;
  translate: -50% -100%;
}
#area_flow .ul_step li .checkpoint span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "HankenGrotesk-Regular", sans-serif;
  letter-spacing: 0.025em;
  font-weight: 700;
  color: #3F9276;
  padding-left: min(1.5625vw, 25px);
}
#area_flow .ul_step li .checkpoint span::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  background: url("../images/icon_check_box.svg") no-repeat;
  background-size: contain;
  width: min(1.125vw, 18px);
  height: min(1.125vw, 18px);
}
#area_flow .ul_step li .checkpoint p {
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1.125vw, 18px);
}
@media screen and (max-width: 768px) {
  #area_flow .ul_step {
    display: block;
    margin-top: min(5.3333333333vw, 20px);
  }
  #area_flow .ul_step::before {
    top: 0;
    left: 50%;
    width: 5px;
    height: 100%;
    background-size: min(1.3333333333vw, 5px) min(2.4vw, 9px);
    background-repeat: repeat-y;
  }
  #area_flow .ul_step li {
    width: 100%;
    border-radius: 10px;
    padding: min(8.8vw, 33px) min(5.3333333333vw, 20px);
  }
  #area_flow .ul_step li + li {
    margin-top: min(10.6666666667vw, 40px);
  }
  #area_flow .ul_step li .icon_step {
    top: min(-3.2vw, -12px);
    left: min(-3.2vw, -12px);
    width: min(17.3333333333vw, 65px);
    height: min(17.3333333333vw, 65px);
    -webkit-box-shadow: 0px 0px 0px 3px #3F9276;
            box-shadow: 0px 0px 0px 3px #3F9276;
    border: dashed 1px #fff;
    font-size: min(3.2vw, 12px);
    color: #fff;
    z-index: 2;
  }
  #area_flow .ul_step li .icon_step span {
    font-size: min(3.2vw, 12px);
    height: min(17.3333333333vw, 65px);
  }
  #area_flow .ul_step li .icon_step span::after {
    font-size: min(6.4vw, 24px);
  }
  #area_flow .ul_step li dl dt {
    font-size: min(4.8vw, 18px);
  }
  #area_flow .ul_step li dl dd {
    font-size: min(4.2666666667vw, 16px);
    margin-top: min(2.6666666667vw, 10px);
  }
  #area_flow .ul_step li .checkpoint {
    font-size: min(3.7333333333vw, 14px);
    border-radius: 10px;
    margin-top: min(5.3333333333vw, 20px);
    padding: min(5.3333333333vw, 20px);
  }
  #area_flow .ul_step li .checkpoint::after {
    border-width: 0 10px 9px 10px;
  }
  #area_flow .ul_step li .checkpoint span {
    padding-left: min(5.3333333333vw, 20px);
  }
  #area_flow .ul_step li .checkpoint span::after {
    width: min(3.7333333333vw, 14px);
    height: min(3.7333333333vw, 14px);
  }
  #area_flow .ul_step li .checkpoint p {
    font-size: min(3.7333333333vw, 14px);
  }
  #area_flow .ul_step li::before {
    inset: -3px;
  }
  #area_flow .ul_step li:last-child {
    border: solid 3px #3F9276;
  }
  #area_flow .ul_step li:last-child::after {
    bottom: min(-5.3333333333vw, -20px);
    right: min(3.7333333333vw, 14px);
    width: min(15.7333333333vw, 59px);
    height: min(21.3333333333vw, 80px);
  }
}

#area_case {
  counter-reset: num;
  position: relative;
  margin-top: min(6.25vw, 100px);
  padding: 0 min(3.125vw, 50px);
}
#area_case::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 50%;
  height: 100%;
  background: url(../images/noise.svg) #EFEBE0 repeat top center;
  z-index: -1;
}
#area_case .inner {
  position: relative;
  width: min(100%, 1440px);
  padding: min(6.25vw, 100px) min(7.7922077922%, 120px);
  background: url(../images/noise.svg) #EFEBE0 repeat top center;
  border-radius: 20px;
}
#area_case h2 {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #area_case {
    margin-top: min(13.3333333333vw, 50px);
    padding: 0;
  }
  #area_case .inner {
    position: relative;
    padding: min(14.6666666667vw, 55px) 5.4%;
    border-radius: 40px;
  }
}
#area_case .case_block {
  margin-top: min(3.125vw, 50px);
}
#area_case .case_block + .case_block {
  margin-top: min(6.25vw, 100px);
}
#area_case .case_block h3 {
  counter-increment: num;
  position: relative;
  border-top: solid #3F9276 0.1em;
  border-bottom: dashed #3F9276 0.1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#area_case .case_block h3::before {
  content: "CASE";
  display: block;
  position: absolute;
  top: -1.7em;
  left: 0;
  font-family: "HankenGrotesk-Regular", sans-serif;
  letter-spacing: 0.025em;
  font-size: min(1.125vw, 18px);
  color: #fff;
  text-align: center;
  background: #3F9276;
  border-radius: 8px 8px 0 0;
  width: min(7.8125vw, 125px);
  height: min(1.875vw, 30px);
}
#area_case .case_block h3 span:not(.tag) {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: min(5.625vw, 90px);
  line-height: 1;
}
#area_case .case_block h3 span:not(.tag)::before {
  content: counter(num, decimal-leading-zero);
  font-family: "HankenGrotesk-Regular", sans-serif;
  letter-spacing: 0.025em;
  font-weight: 700;
  font-size: min(2.75vw, 44px);
  color: #3F9276;
  margin-right: min(1.25vw, 20px);
}
#area_case .case_block h3 span:not(.tag) .tag {
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1.125vw, 18px);
  color: #3F9276;
  border: solid 1px #3F9276;
  padding: min(0.375vw, 6px) min(0.625vw, 10px);
  margin-right: min(0.8125vw, 13px);
}
#area_case .case_block h3 span:not(.tag) em {
  font-size: min(1.75vw, 28px);
}
@media screen and (max-width: 768px) {
  #area_case .case_block {
    margin-top: min(8vw, 30px);
  }
  #area_case .case_block + .case_block {
    margin-top: min(21.3333333333vw, 80px);
  }
  #area_case .case_block h3 {
    border-top: solid #3F9276 2px;
    border-bottom: dashed #3F9276 2px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #area_case .case_block h3::before {
    top: -1.8em;
    font-size: min(3.7333333333vw, 14px);
    border-radius: 4px 4px 0 0;
    width: min(24.2666666667vw, 91px);
    height: min(6.4vw, 24px);
  }
  #area_case .case_block h3 span:not(.tag) {
    height: min(13.3333333333vw, 50px);
  }
  #area_case .case_block h3 span:not(.tag)::before {
    font-size: min(7.4666666667vw, 28px);
    margin-right: min(2.6666666667vw, 10px);
  }
  #area_case .case_block h3 span:not(.tag) .tag {
    font-size: min(3.2vw, 12px);
    padding: min(1.0666666667vw, 4px) min(1.6vw, 6px);
    margin-right: min(2.1333333333vw, 8px);
  }
  #area_case .case_block h3 span:not(.tag) em {
    font-size: min(5.3333333333vw, 20px);
  }
}
#area_case .ul_case {
  position: relative;
  counter-reset: num;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-align: normal;
      -ms-flex-align: normal;
          align-items: normal;
  margin-top: min(2.375vw, 38px);
}
#area_case .ul_case li {
  position: relative;
  width: 22.3333333333%;
}
#area_case .ul_case li + li::before {
  content: "";
  display: inline-block;
  width: min(1.8125vw, 29px);
  height: min(1vw, 16px);
  -webkit-mask: url("../images/arrow.svg");
          mask: url("../images/arrow.svg");
  background-color: #3F9276;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  vertical-align: middle;
  position: absolute;
  top: calc(50% - min(2.8125vw, 45px));
  left: -13%;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
@media screen and (max-width: 768px) {
  #area_case .ul_case {
    gap: min(3.7333333333vw, 14px);
    margin-top: min(5.3333333333vw, 20px);
  }
  #area_case .ul_case li {
    width: calc(50% - min(1.8666666667vw, 7px));
  }
  #area_case .ul_case li + li::before {
    display: none;
  }
}
#area_case .voice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
  position: relative;
  background: #fff;
  -webkit-box-shadow: 0px 0px 0px 5px #fff;
          box-shadow: 0px 0px 0px 5px #fff;
  border: dashed 0.1em #A7927C;
  border-radius: min(1.25vw, 20px);
  padding: min(1.375vw, 22px);
}
#area_case .voice span {
  color: #3F9276;
}
@media screen and (max-width: 768px) {
  #area_case .voice {
    -webkit-box-shadow: 0px 0px 0px 3px #fff;
            box-shadow: 0px 0px 0px 3px #fff;
    border-width: 1.5px;
  }
}
#area_case .voice {
  padding: min(1.25vw, 20px) min(2.5vw, 40px);
  margin-top: min(2.5vw, 40px);
}
#area_case .voice .txt {
  width: 69.5833333333%;
  width: min(52.1875vw, 835px);
}
#area_case .voice .txt span {
  font-size: min(1.5vw, 24px);
}
#area_case .voice .txt p {
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1.125vw, 18px);
  margin-top: min(0.625vw, 10px);
}
#area_case .voice .photo {
  width: 21.0833333333%;
  width: min(15.8125vw, 253px);
}
@media screen and (max-width: 768px) {
  #area_case .voice {
    padding: min(5.3333333333vw, 20px) min(4.2666666667vw, 16px);
    margin-top: min(10.6666666667vw, 40px);
  }
  #area_case .voice .txt {
    width: 100%;
  }
  #area_case .voice .txt span {
    font-size: min(4.8vw, 18px);
  }
  #area_case .voice .txt p {
    font-size: min(3.7333333333vw, 14px);
    margin-top: 0;
  }
  #area_case .voice .photo {
    width: min(67.4666666667vw, 253px);
    margin: min(5.3333333333vw, 20px) auto 0;
  }
}

#area_form .inner {
  width: min(80%, 1080px);
  max-width: 980px;
}
#area_form .icon {
  width: min(27.5vw, 440px);
  margin: 0 auto;
}
#area_form .tit_content {
  text-align: center;
}
#area_form .tit_content .tag {
  color: #3F9276;
}
@media screen and (max-width: 768px) {
  #area_form .inner {
    width: 100%;
  }
  #area_form .icon {
    width: 100%;
    margin: 0 auto;
  }
}
#area_form .tabs .tab_content {
  position: relative;
  -webkit-box-flex: 100%;
      -ms-flex: 100%;
          flex: 100%;
  overflow: hidden;
  background: #fff;
  margin-top: min(1.4375vw, 23px);
  padding: min(3.125vw, 50px) min(2.5vw, 40px);
  border-radius: 0 0 28px 28px;
}
#area_form .tabs .tab_content p {
  font-size: min(1.75vw, 28px);
  text-align: center;
}
@media screen and (max-width: 768px) {
  #area_form .tabs .tab_content {
    margin-top: min(6.1333333333vw, 23px);
    padding: min(8vw, 30px) min(2.6666666667vw, 10px);
    border-width: 3px;
    border-radius: 0 0 14px 14px;
  }
  #area_form .tabs .tab_content p {
    font-size: min(5.3333333333vw, 20px);
  }
}
#area_form .tabs .tab_content#tab01_content {
  border-top: solid 4px #F37D36;
}
#area_form .tabs .tab_content#tab01_content p {
  color: #F37D36;
}
#area_form .contentHeader {
  display: none;
}
#area_form .pardot-frame {
  width: 100%;
  height: 1400px;
  display: block;
}
@media screen and (max-width: 1180px) {
  #area_form .pardot-frame {
    height: 1650px;
  }
}
@media screen and (max-width: 768px) {
  #area_form .pardot-frame {
    height: 1800px;
  }
}
#area_form .contact_urgent {
  position: relative;
  width: min(46.625vw, 746px);
  margin: min(3.75vw, 60px) auto 0;
  border: solid 3px #DBD1C7;
  border-radius: 20px;
  padding: min(1.875vw, 30px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#area_form .contact_urgent > span {
  font-size: min(1.25vw, 20px);
  color: #7E634B;
}
#area_form .contact_urgent .tel_boxs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
  margin-top: min(1.25vw, 20px);
}
#area_form .contact_urgent .tel {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  align-items: center;
}
#area_form .contact_urgent .tel .tag {
  font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-size: min(1vw, 16px);
  border: solid 1px #333;
  padding: min(0.1875vw, 3px) min(0.5vw, 8px);
  margin-right: min(0.625vw, 10px);
}
#area_form .contact_urgent .tel a {
  font-family: "HankenGrotesk-Regular", sans-serif;
  letter-spacing: 0.025em;
  font-weight: 700;
  font-size: min(2.5vw, 40px);
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  #area_form .contact_urgent .tel a {
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) {
  #area_form .contact_urgent .tel .tag {
    font-size: min(3.2vw, 12px);
    padding: min(0.5333333333vw, 2px) min(1.3333333333vw, 5px);
    margin-right: min(2.1333333333vw, 8px);
  }
  #area_form .contact_urgent .tel a {
    font-size: min(7.4666666667vw, 28px);
    text-decoration: underline;
  }
}
#area_form .contact_urgent .tel {
  line-height: 1.5;
}
#area_form .contact_urgent .tel::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: 3px;
  height: 100%;
  background: radial-gradient(circle farthest-side, #707070, #707070 50%, transparent 50%, transparent);
  background-repeat: repeat-y;
  background-size: 3px 3px;
}
#area_form .contact_urgent .tel a {
  padding-right: min(1.875vw, 30px);
}
#area_form .contact_urgent .txt {
  color: #8F8F8F;
  font-size: min(1.125vw, 18px);
  padding-left: min(1.875vw, 30px);
}
@media screen and (max-width: 768px) {
  #area_form .contact_urgent {
    position: relative;
    width: 100%;
    margin: min(8vw, 30px) auto 0;
    border: solid 2px #DBD1C7;
    border-radius: 10px;
    padding: min(2.6666666667vw, 10px);
  }
  #area_form .contact_urgent > span {
    font-size: min(4.2666666667vw, 16px);
  }
  #area_form .contact_urgent .tel_boxs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 0;
  }
  #area_form .contact_urgent .tel {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    align-items: center;
  }
  #area_form .contact_urgent .tel .tag {
    font-family: "HankenGrotesk-Regular", "ZenKakuGothicNew-Medium", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: 400;
    font-size: min(1vw, 16px);
    border: solid 1px #333;
    padding: min(0.1875vw, 3px) min(0.5vw, 8px);
    margin-right: min(0.625vw, 10px);
  }
  #area_form .contact_urgent .tel a {
    font-family: "HankenGrotesk-Regular", sans-serif;
    letter-spacing: 0.025em;
    font-weight: 700;
    font-size: min(2.5vw, 40px);
    line-height: 1.5;
  }
  #area_form .contact_urgent .tel {
    line-height: 1.5;
  }
}
@media screen and (max-width: 768px) and (min-width: 769px) {
  #area_form .contact_urgent .tel a {
    pointer-events: none;
  }
}
@media screen and (max-width: 768px) and (max-width: 768px) {
  #area_form .contact_urgent .tel .tag {
    font-size: min(3.2vw, 12px);
    padding: min(0.5333333333vw, 2px) min(1.3333333333vw, 5px);
    margin-right: min(2.1333333333vw, 8px);
  }
  #area_form .contact_urgent .tel a {
    font-size: min(7.4666666667vw, 28px);
    text-decoration: underline;
  }
}
@media screen and (max-width: 768px) {
  #area_form .contact_urgent .tel::after {
    display: none;
  }
  #area_form .contact_urgent .tel a {
    padding-right: 0;
  }
  #area_form .contact_urgent .txt {
    font-size: min(3.7333333333vw, 14px);
    padding-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
/*# sourceMappingURL=top.css.map */