.mv {
  background: #F5F3E9;
  padding: 96px 0 59px;
}

@media screen and (max-width: 992px) {
  .mv {
    padding-top: 116px;
  }
}

.mv-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 973px;
  max-width: 100%;
  margin: auto;
}

@media screen and (max-width: 768px) {
  .mv-inner {
    flex-direction: column;
  }
}

.mv-title-wrap {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mv-title-wrap {
    display: contents;
  }
}

.mv-title {
  font-size: 16px;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .mv-title {
    font-size: 15px;
    order: 1;
  }
}

.mv-title .mv-title-01 {
  position: relative;
  display: block;
  padding-right: 80px;
}

.mv-title .mv-title-01::after {
  content: "";
  background: url(../images/deco_mv.svg) no-repeat center center/cover;
  width: 140px;
  height: 114px;
  position: absolute;
  top: -82px;
  right: -32px;
}

@media screen and (max-width: 768px) {
  .mv-title .mv-title-01::after {
    background: url(../images/deco_mv_sp.svg) no-repeat center center/cover;
    width: 110px;
    height: 95px;
    top: -71px;
    right: 2px;
  }
}

.mv-title .mv-title-color {
  background: #357133;
  border-radius: 8px;
  padding: 4px 15px 5px;
  color: #fff;
}

.mv-title .mv-title-02 {
  display: block;
  margin-top: 14px;
}

@media screen and (max-width: 768px) {
  .mv-title .mv-title-02 {
    margin: 14px auto 0;
    width: 297px;
  }
}

.mv-title-button {
  position: relative;
  display: block;
  max-width: 254px;
  width: 100%;
  margin: 41px auto 0;
  padding: 10px 20px 11px 0;
  background: #D55132;
  border-radius: 8px;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .mv-title-button {
    margin: 24px auto 0;
    padding-right: 40px;
    order: 3;
  }
}

.mv-title-button::after {
  content: "";
  background: url(../images/icon_cv_button.svg) no-repeat center center/cover;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .mv-title-button::after {
    right: 25px;
  }
}

@media screen and (max-width: 768px) {
  .mv-image {
    max-width: 335px;
    width: 100%;
    margin: 20px auto 0;
    order: 2;
  }
}

.about {
  position: relative;
  background: #fff;
  padding: 48px 0;
  border-bottom: 1px solid #DFDBCB;
}

.about::after {
  content: "";
  background: url(../images/icon_arrow.png) no-repeat center center/cover;
  width: 118px;
  height: 21.25px;
  position: absolute;
  bottom: -21.25px;
  left: 50%;
  transform: translateX(-50%);
}

.about-title {
  position: relative;
  margin: auto;
  width: 370px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .about-title {
    width: 280px;
    font-size: 20px;
  }
}

.about-title::before, .about-title::after {
  content: "";
  position: absolute;
  top: -10px;
  width: 45px;
  height: 50px;
}

@media screen and (max-width: 768px) {
  .about-title::before, .about-title::after {
    top: 3px;
    width: 26px;
    height: 28px;
  }
}

.about-title::before {
  background: url(../images/deco_about_title_left.svg) no-repeat center center/cover;
  left: -30px;
}

.about-title::after {
  background: url(../images/deco_about_title_right.svg) no-repeat center center/cover;
  right: -30px;
}

.about-title .about-title-big {
  font-size: 28px;
}

@media screen and (max-width: 768px) {
  .about-title .about-title-big {
    font-size: 24px;
  }
}

.about-title .about-title-color {
  background: #357133;
  border-radius: 4px;
  padding: 0px 10px 1px;
  color: #fff;
  font-size: 28px;
}

@media screen and (max-width: 768px) {
  .about-title .about-title-color {
    font-size: 24px;
  }
}

.about-image {
  margin: 27px auto 0;
  width: 306px;
}

@media screen and (max-width: 768px) {
  .about-image {
    margin-top: 30px;
    width: 280px;
  }
}

.about-text {
  margin-top: 18px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .about-text {
    margin-top: 23px;
  }
}

.about-text-02 {
  margin-top: 17px;
  position: relative;
  font-size: 24px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .about-text-02 {
    margin-top: 6px;
    font-size: 20px;
  }
}

.about-text-02::before {
  content: "";
  background: url(../images/icon_about_01.png) no-repeat center center/cover;
  width: 112px;
  height: 112px;
  position: absolute;
  top: -45px;
  left: 41px;
}

@media screen and (max-width: 768px) {
  .about-text-02::before {
    display: none;
  }
}

.about-text-02::after {
  content: "";
  background: url(../images/icon_about_02.png) no-repeat center center/cover;
  width: 139px;
  height: 107px;
  position: absolute;
  top: -40px;
  right: 16px;
}

@media screen and (max-width: 768px) {
  .about-text-02::after {
    display: none;
  }
}

.about-text-02 .about-text-color {
  color: #D55132;
}

.about-text-02 .about-text-03 {
  display: block;
  font-size: 16px;
}

@media screen and (max-width: 768px) {
  .about-text-02 .about-text-03 {
    font-size: 14px;
  }
}

.reason {
  background: #FAF9F2;
  padding: 66px 0 74px;
}

.reason-title {
  position: relative;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}

.reason-title::after {
  content: "";
  background: url(../images/deco_reason_title.svg) no-repeat center center/cover;
  width: 369px;
  height: 85px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

@media screen and (max-width: 768px) {
  .reason-title::after {
    background: url(../images/deco_reason_title_sp.svg) no-repeat center center/cover;
    width: 312px;
    height: 76px;
  }
}

.reason-title .reason-title-01 {
  display: block;
  font-size: 18px;
}

@media screen and (max-width: 768px) {
  .reason-title .reason-title-01 {
    font-size: 16px;
  }
}

.reason-title .reason-title-color {
  background: #357133;
  border-radius: 8px;
  padding: 0px 10px 1px;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .reason-title .reason-title-color {
    padding: 0px 6px 2px;
  }
}

.reason-title .reason-title-02 {
  margin-top: 12px;
  display: block;
  font-size: 32px;
}

@media screen and (max-width: 768px) {
  .reason-title .reason-title-02 {
    font-size: 24px;
  }
}

.reason-block {
  margin-top: 40px;
}

.reason-block-title {
  font-weight: 500;
  text-align: center;
}

.reason-block-title .reason-block-title-01 {
  position: relative;
  display: block;
  padding-bottom: 14px;
  font-size: 14px;
}

.reason-block-title .reason-block-title-01::after {
  content: "";
  background: url(../images/deco_reason_block_title_01.svg) no-repeat center center/cover;
  width: 135px;
  height: 9px;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.reason-block-title .reason-block-title-02 {
  position: relative;
  display: inline-block;
  font-size: 24px;
}

.reason-block-title .reason-block-title-02::before, .reason-block-title .reason-block-title-02::after {
  content: "";
  position: absolute;
  top: 5px;
  width: 10px;
  height: 32px;
}

.reason-block-title .reason-block-title-02::before {
  background: url(../images/deco_reason_block_title_left.svg) no-repeat center center/cover;
  left: -20px;
}

.reason-block-title .reason-block-title-02::after {
  background: url(../images/deco_reason_block_title_right.svg) no-repeat center center/cover;
  right: -20px;
}

.reason-block-text {
  margin-top: 12px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .reason-block-text {
    text-align: left;
  }
}

.reason-block-image {
  margin-top: 14px;
  text-align: center;
}

.reason-block-image.is03 {
  margin-top: 30px;
}

.reason-block-case {
  margin-top: 32px;
  border: 1px solid #E9E5D8;
}

.reason-block-case-title {
  position: relative;
  background: #F0EEEA;
  display: flex;
  align-items: center;
}

.reason-block-case-title::before {
  content: "";
  background: url(../images/icon_reason_01.png) no-repeat center center/cover;
  width: 82px;
  height: 63px;
  position: absolute;
  top: -19px;
  left: 5px;
}

@media screen and (max-width: 768px) {
  .reason-block-case-title::before {
    top: -9px;
    width: 69px;
    height: 53px;
  }
}

.reason-block-case-title::after {
  content: "";
  background: url(../images/icon_reason_02.png) no-repeat center center/cover;
  width: 68px;
  height: 57px;
  position: absolute;
  top: -13px;
  right: 10px;
}

@media screen and (max-width: 768px) {
  .reason-block-case-title::after {
    display: none;
  }
}

.reason-block-case-title .reason-block-case-title-01 {
  padding: 8px 20px 8px 0;
  background: url(../images/bg_case_title.svg) no-repeat center center/cover;
  color: #fff;
  font-size: 14px;
  text-align: right;
  width: 138px;
}

@media screen and (max-width: 768px) {
  .reason-block-case-title .reason-block-case-title-01 {
    background: url(../images/bg_case_title_sp.svg) no-repeat center center/cover;
    padding: 12px 20px 12px 0;
    font-size: 12px;
  }
}

.reason-block-case-title .reason-block-case-title-02 {
  width: calc(100% - 138px);
  padding: 8px 0 8px 20px;
  background: #F0EEEA;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .reason-block-case-title .reason-block-case-title-02 {
    padding: 5px 0 5px 10px;
    font-size: 12px;
    line-height: 1.43;
  }
}

.reason-block-case-inner {
  background: #fff;
  padding: 28px 45px 18px;
}

@media screen and (max-width: 768px) {
  .reason-block-case-inner {
    padding: 15px 15px 30px;
  }
}

.reason-block-case-list {
  display: flex;
  gap: 14px;
}

@media screen and (max-width: 768px) {
  .reason-block-case-list {
    width: 100%;
    margin-top: 3vw;
    display: block;
  }
}

.reason-block-case-item {
  position: relative;
  width: calc(100% / 3 - 9px);
}

@media screen and (max-width: 768px) {
  .reason-block-case-item {
    width: 100%;
  }
}

.reason-block-case-item::before {
  content: "";
  background: url(../images/text_goal.png) no-repeat center center/cover;
  position: absolute;
  top: -10px;
  left: -10px;
  width: 47px;
  height: 46px;
}

@media screen and (max-width: 768px) {
  .reason-block-case-item::before {
    left: -2%;
    width: 10vw;
    height: 10vw;
  }
}

@media screen and (max-width: 768px) {
  .reason-block-case-item + .reason-block-case-item {
    margin-top: 4.9vw;
  }
}

@media screen and (max-width: 768px) {
  .reason-block-case-item:nth-child(1)::before {
    background: url(../images/icon_40.png) no-repeat center center/cover;
  }
}

@media screen and (max-width: 768px) {
  .reason-block-case-item:nth-child(2)::before {
    background: url(../images/icon_45.png) no-repeat center center/cover;
  }
}

@media screen and (max-width: 768px) {
  .reason-block-case-item:nth-child(3)::before {
    background: url(../images/icon_65.png) no-repeat center center/cover;
  }
}

@media screen and (max-width: 768px) {
  .reason-block-case-image {
    margin-top: 27px;
    width: 100%;
  }
}

.reason-block-graph {
  margin-top: 24px;
  border: 1px solid #E9E5D8;
}

.reason-block-graph-title {
  background: #2B2B2B;
  padding: 5px 0;
  color: #fff;
  font-size: 16px;
  text-align: center;
}

.reason-block-graph-image {
  background: #fff;
  padding: 25px 0;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .reason-block-graph-image {
    padding: 14px;
  }
}

.reason-block-graph-caption {
  margin-top: 5px;
  font-size: 10px;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .reason-block-graph-caption {
    padding-left: 2.5em;
    text-indent: -2.5em;
    text-align: left;
  }
}

.reason-block-notes {
  margin-top: 10px;
}

.reason-block-notes p {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 10px;
}

.other {
  margin-top: 70px;
}

@media screen and (max-width: 768px) {
  .other-inner {
    padding: 0;
  }
}

.other-block {
  background: #F7F4E9;
  border: 1px solid #E9E5D8;
}

.other-block + .other-block {
  margin-top: 24px;
}

.other-block-inner {
  padding: 32px 67px;
}

@media screen and (max-width: 768px) {
  .other-block-inner {
    padding: 24px 10px;
  }
}

.other-block-title {
  position: relative;
  background: #2B2B2B;
  padding: 6px 0;
  color: #fff;
  font-size: 16px;
  text-align: center;
}

.other-block-title.is01::before {
  content: "";
  background: url(../images/icon_other_01.png) no-repeat center center/cover;
  width: 77px;
  height: 83px;
  position: absolute;
  top: -44px;
  left: 59px;
}

@media screen and (max-width: 768px) {
  .other-block-title.is01::before {
    width: 52px;
    height: 57px;
    top: -18px;
    left: 22px;
  }
}

.other-block-title.is01::after {
  content: "";
  background: url(../images/icon_other_02.png) no-repeat center center/cover;
  width: 130px;
  height: 80px;
  position: absolute;
  top: -40px;
  right: 40px;
}

@media screen and (max-width: 768px) {
  .other-block-title.is01::after {
    background: url(../images/icon_other_02_sp.png) no-repeat center center/cover;
    width: 48px;
    height: 49px;
    top: -10px;
    right: 20px;
  }
}

.other-block-text {
  padding: 0 14px;
  font-size: 14px;
  line-height: 1.457;
}

.other-block-text + .other-block-text {
  margin-top: 20px;
}

.other-table-wrap {
  margin-top: 25px;
}

@media screen and (max-width: 768px) {
  .other-table-wrap {
    overflow-x: scroll;
  }
}

.other-table {
  position: relative;
  border-collapse: separate;
  border-spacing: 4px;
}

@media screen and (max-width: 768px) {
  .other-table {
    width: 624px;
  }
}

.other-table::after {
  content: "";
  position: absolute;
  top: 62px;
  right: 4px;
  width: calc(40% - 8px);
  height: calc(100% - 70px);
  border: 1px solid #D55132;
  border-top: none;
}

@media screen and (max-width: 768px) {
  .other-table::after {
    top: 61px;
    right: 3.5px;
    width: calc(45% - 24px);
  }
}

.other-table th {
  border-radius: 8px 8px 0 0;
  padding: 5px 0;
  color: #fff;
  text-align: center;
  width: 40%;
}

@media screen and (max-width: 768px) {
  .other-table th {
    width: 42.5%;
  }
}

.other-table th.robot {
  background: #2B2B2B;
  font-size: 12px;
}

.other-table th.moneypalette {
  background: #D55132;
  font-size: 14px;
  font-weight: 700;
}

.other-table td {
  background: #fff;
  padding: 20px;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .other-table td {
    padding: 10px;
  }
}

.other-table td:first-child {
  width: 20%;
}

@media screen and (max-width: 768px) {
  .other-table td:first-child {
    width: 15%;
    padding: 0 10px;
  }
}

.other-table td span {
  display: block;
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.other-table td.none {
  background: transparent;
}

.other-table td.other-table-title {
  background: #E5E5E5;
  text-align: center;
  vertical-align: middle;
}

.other-block-flow {
  padding: 30px 90px;
}

@media screen and (max-width: 768px) {
  .other-block-flow {
    padding: 24px 20px;
  }
}

.other-block-flow-item {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .other-block-flow-item {
    display: block;
  }
}

.other-block-flow-item + .other-block-flow-item {
  position: relative;
  margin-top: 8px;
}

@media screen and (max-width: 768px) {
  .other-block-flow-item + .other-block-flow-item {
    margin-top: 24px;
    padding-top: 24px;
  }
}

.other-block-flow-item + .other-block-flow-item::after {
  content: "";
  background: url(../images/icon_arrow_flow.svg) no-repeat center center/cover;
  width: 45px;
  height: 28px;
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  .other-block-flow-item + .other-block-flow-item::after {
    background: url(../images/deco_flow.svg) no-repeat center center/cover;
    width: 332px;
    height: 6px;
    top: 0;
  }
}

.other-block-flow-image {
  width: 190px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .other-block-flow-image {
    margin: auto;
  }
}

.other-block-flow-inner {
  width: calc(100% - 190px);
  padding-left: 8px;
}

@media screen and (max-width: 768px) {
  .other-block-flow-inner {
    width: 100%;
    padding-left: 0;
  }
}

.other-block-flow-title {
  display: flex;
  align-items: flex-end;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .other-block-flow-title {
    justify-content: center;
  }
}

.other-block-flow-title span {
  display: block;
  margin-right: 5px;
  color: #67A065;
  font-size: 37px;
  font-weight: 900;
}

@media screen and (max-width: 768px) {
  .other-block-flow-title span {
    font-size: 32px;
  }
}

.other-block-flow-text {
  margin-top: 10px;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .other-block-flow-text {
    text-align: center;
  }
}

.cv {
  background: url(../images/bg_cv.png) no-repeat center center/cover;
  margin-top: 56px;
  padding: 36px 0;
}

@media screen and (max-width: 768px) {
  .cv {
    background: url(../images/bg_cv_sp.png) no-repeat center center/cover;
    margin-top: 40px;
    padding: 50px 20px 47px;
  }
}

.cv-inner {
  width: 710px;
  max-width: 100%;
  margin: auto;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

.cv-title {
  background: #fff;
  padding: 24px 0;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.cv-title .cv-title-color {
  background: #357133;
  border-radius: 4px;
  padding: 3px 10px;
  color: #fff;
}

.cv-title .cv-title-image {
  margin-top: 8px;
  display: block;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .cv-title .cv-title-image img {
    width: 188px;
    height: 62px;
  }
}

.cv-link {
  background: #F7F4E9;
  padding: 27px 0 22px;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  .cv-link {
    display: block;
  }
}

.cv-link-tel {
  width: 50%;
}

@media screen and (max-width: 768px) {
  .cv-link-tel {
    width: 100%;
    text-align: center;
    padding-left: 20px;
  }
}

.cv-link-tel a {
  display: block;
  color: #2B2B2B;
  line-height: 1;
  text-align: center;
}

.cv-link-tel .cv-link-tel-number {
  position: relative;
  display: inline-block;
  font-size: 28px;
}

.cv-link-tel .cv-link-tel-number::before {
  content: "";
  background: url(../images/icon_tel.svg) no-repeat center center/cover;
  width: 27px;
  height: 27px;
  position: absolute;
  top: 2px;
  left: -30px;
}

.cv-link-tel .cv-link-tel-time {
  margin-top: 5px;
  display: block;
  font-size: 10px;
}

.cv-link-button {
  position: relative;
  width: 50%;
}

@media screen and (max-width: 768px) {
  .cv-link-button {
    margin-top: 20px;
    width: 100%;
  }
}

.cv-link-button::before {
  content: "";
  display: block;
  border-left: 2px dashed #CFCFCF;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .cv-link-button::before {
    display: none;
  }
}

.cv-link-button a {
  position: relative;
  display: block;
  max-width: 244px;
  width: 100%;
  margin: auto;
  padding: 13px 0;
  background: #D55132;
  border-radius: 50px;
  color: #fff;
  font-size: 14px;
  text-align: center;
}

.cv-link-button a::after {
  content: "";
  background: url(../images/icon_cv_button.svg) no-repeat center center/cover;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

.fixed-cv {
  display: none;
}

@media screen and (max-width: 768px) {
  .fixed-cv {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 64px;
    display: flex;
    z-index: 99999;
  }
}

.fixed-cv-tel {
  width: 20%;
  background: #D55132;
  border-radius: 8px 0 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fixed-cv-tel img {
  width: 30px;
  height: 31px;
}

.fixed-cv-web {
  width: 40%;
  background: #2B2B2B;
  display: flex;
  align-items: center;
  padding: 0 10px;
}

.fixed-cv-web img {
  width: 29px;
  height: 30px;
}

.fixed-cv-web-text {
  margin-left: 5px;
  width: 40%;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.fixed-cv-web-text span {
  color: #D55132;
}

.fixed-cv-line {
  width: 40%;
  background: #fff;
  padding: 0 10px;
  display: flex;
  align-items: center;
}

.fixed-cv-line img {
  width: 29px;
  height: 30px;
}

.fixed-cv-line-text {
  margin-left: 5px;
  width: 40%;
  color: #2B2B2B;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

.fixed-cv-line-text span {
  color: #06B904;
}

.yoyaku {
  padding: 100px 0;
}

.yoyaku-title {
  border-bottom: 3px solid #333;
  color: #333;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.6;
  margin: auto;
  max-width: 960px;
  padding-bottom: 10px;
  text-align: center;
}

.yoyaku-text {
  margin: 20px 0 40px;
  text-align: center;
}

.yoyaku-text span {
  font-weight: bold;
}
