@charset "utf-8";
/*##################################################
 *トップページ */
.index_firstview {
  background-image: url("../../image/index_firstview-bg.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.index_firstview .image {
  width: 1024px;
  margin: 0 auto 0 auto;
  position: relative;
  z-index: 1;
}
.index_firstview .image img {
  width: 100%;
  height: auto;
}
.index_firstview .starting-price {
  margin-top: -136px;
  padding: 24px 0 24px 0;
  background-color: rgba(255, 255, 255, 0.8);
  position: relative;
  z-index: 2;
}
.index_firstview .starting-price ul {
  width: 1024px;
  margin: 0 auto 0 auto;
  display: flex;
  justify-content: center;
}
.index_firstview .starting-price ul li {
  border-left: solid 2px #00a73c;
}
.index_firstview .starting-price ul li:first-child {
  border-left: none;
}
.index_problems {
  width: 100%;
  padding: 40px 0 0 0;
}
.index_problems .problems {
  padding: 0 0 48px 0;
}
.index_problems .problems h1 {
  text-align: center;
  margin: 0 0 24px 0;
}
.index_problems .problems h1 img {
  width: 100%;
  max-width: 560px;
  height: auto;
}
.index_problems .problems .problems-list {}
.index_problems .problems .problems-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
}
.index_problems .problems .problems-list ul li {
  position: relative;
  padding: 24px 16px 0 32px;
  width: calc(50% - 16px);
}
.index_problems .problems .problems-list ul li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 80px;
  height: 80px;
  background: url(../../image/index_problems-icon.png) no-repeat center / contain;
}
.index_problems .problems .problems-list ul li p {
  font-size: 24px;
  font-weight: bold;
  line-height: 36px;
  color: #007e41;
  padding: 24px 16px 22px 16px;
  background-color: #f9f8f2;
  border: solid 4px #89c997;
  border-radius: 16px;
}
.index_problems .problems .problems-list ul li p span {
  font-weight: bold;
  color: #cd6715;
}
.index_problems .message {
  background-color: #00a73c;
}
.index_problems .message .message-lead {
  width: 1024px;
  margin: 0 auto 0 auto;
}
.index_problems .message .message-lead img {
  width: 100%;
  height: auto;
}
.index_reasons {
  padding-top: 32px !important;
}
.index_reasons .reasons h1 {
  text-align: center;
  margin: 0 0 24px 0;
}
.index_reasons .reasons h1 img {
  width: 100%;
  height: auto;
}
.index_reasons .reasons .reasons-list {
  width: 100%;
  padding: 48px;
  background-color: #fff;
  border: solid 4px #e2e0d1;
  border-radius: 16px;
}
.index_reasons .reasons .reasons-list .contwrap {
  display: flex;
  padding: 32px 0 32px 0;
  border-bottom: solid 2px #e2e0d1;
}
.index_reasons .reasons .reasons-list .contwrap:first-child {
  padding-top: 0;
}
.index_reasons .reasons .reasons-list .contwrap:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.index_reasons .reasons .reasons-list .contwrap h2 {
  display: flex;
  align-items: center;
  text-align: left;
}
.index_reasons .reasons .reasons-list .contwrap h2 span {
  display: block;
  font-weight: bold;
  line-height: 52px;
  color: #007e41;
}
.index_reasons .reasons .reasons-list .contwrap h2 span.icon {
  width: 92px;
  margin: 0 24px 0 0;
}
.index_reasons .reasons .reasons-list .contwrap h2 span.icon img {
  width: 100%;
  height: auto;
  display: block;
}
.index_reasons .reasons .reasons-list .contwrap h2 span strong {
  font-size: 1.25em;
  font-weight: bold;
}
.index_reasons .reasons .reasons-list .contwrap p {
  line-height: 36px;
  text-align: left;
}
.index_reasons .reasons .reasons-list .contwrap .conttext1 {
  width: calc(100% - 380px);
}
.index_reasons .reasons .reasons-list .contwrap .conttext1 h2 span.text {
  font-size: 36px;
}
.index_reasons .reasons .reasons-list .contwrap .conttext1 p {
  margin: 16px 0 0 0;
}
.index_reasons .reasons .reasons-list .contwrap .conttext2 {
  width: 100%;
}
.index_reasons .reasons .reasons-list .contwrap .conttext2 h2 span.text {
  font-size: 32px;
  transform: translateY(-22px);
}
.index_reasons .reasons .reasons-list .contwrap .conttext2 p {
  margin: -52px 0 12px 116px;
  text-align: left;
}
.index_reasons .reasons .reasons-list .contwrap .highlight {
  display: flex;
  align-items: center;
  text-align: left;
}
.index_reasons .reasons .reasons-list .contwrap .highlight figure {
  width: 150px;
  margin: 0 24px 0 0;
}
.index_reasons .reasons .reasons-list .contwrap .highlight figure img {
  width: 100%;
  height: auto;
}
.index_reasons .reasons .reasons-list .contwrap .highlight p {}
.index_reasons .reasons .reasons-list .contwrap .contfigu {
  width: 340px;
  margin: 0 0 0 40px;
}
.index_reasons .reasons .reasons-list .contwrap .contfigu img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.index_service-lineup {}
.index_service-lineup .service-lineup {}
.index_service-lineup .service-lineup .lineup-item {
  width: 100%;
  margin: 0 0 32px 0;
  padding: 32px 48px 32px 48px;
  background-color: #f9f8f2;
  border: solid 4px #e2e0d1;
  border-radius: 16px;
}
.index_service-lineup .service-lineup .lineup-item:last-child {
  margin-bottom: 0;
}
.index_service-lineup .service-lineup .lineup-item .item {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.index_service-lineup .service-lineup .lineup-item .item .conttext {
  width: calc(100% - 240px);
  text-align: left;
  padding: 0 20px 0 0;
}
.index_service-lineup .service-lineup .lineup-item .item .conttext h2 {
  margin-bottom: 12px;
}
.index_service-lineup .service-lineup .lineup-item .item .conttext p {
  line-height: 32px;
}
.index_service-lineup .service-lineup .lineup-item .item .contfigu {
  width: 208px;
}
.index_service-lineup .service-lineup .lineup-item .item .contfigu img {
  width: 100%;
  height: auto;
}
.index_service-lineup .service-lineup .works-ba {
  margin: 32px 0 0 0;
  padding: 28px 0 16px 0;
  border-top: solid 2px #e2e0d1;
}
.index_service-lineup .service-lineup .works-ba ul {
  display: flex;
  justify-content: space-between;
}
.index_service-lineup .service-lineup .works-ba ul li {
  width: 280px;
}
.index_service-lineup .service-lineup .works-ba ul li p.ba-type {
  font-size: 24px;
  font-weight: bold;
  line-height: 36px;
  color: #007e41;
  text-align: center;
  margin: 0 0 8px 0;
}
.index_service-lineup .service-lineup .works-ba ul li p.ba-type span {
  font-size: 28px;
  font-weight: bold;
}
.index_service-lineup .service-lineup .works-ba ul li figure.ba-photo {
  width: 100%;
}
.index_service-lineup .service-lineup .works-ba ul li figure.ba-photo img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.index_service-flow {}
.index_service-flow .service-flow {}
.index_service-flow .service-flow p {
  margin-bottom: 16px;
}
.index_service-flow .service-flow .flow-list {
  position: relative;
  margin-bottom: 48px;
}
.index_service-flow .service-flow .flow-list::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 16px;
  background-color: #89c997;
  transform: translateY(-50%);
  z-index: 0;
}
.index_service-flow .service-flow .flow-list ul {
  display: flex;
  justify-content: space-between;
  column-gap: 32px;
  position: relative;
}
.index_service-flow .service-flow .flow-list ul li {
  width: 320px;
  font-size: 20px;
  color: #fff;
  background-color: #00a73c;
  padding-bottom: 24px;
  border-radius: 16px;
  position: relative;
  z-index: 1;
}
.index_service-flow .service-flow .flow-list ul li p {
  text-align: center;
  margin-bottom: 0;
}
.index_service-flow .service-flow .flow-list ul li p.step {
  font-weight: bold;
  letter-spacing: 0.1em;
  background-color: #007e41;
  border-radius: 16px 16px 0 0;
}
.index_service-flow .service-flow .flow-list ul li p.step span {
  font-size: 32px;
  font-weight: bold;
  line-height: 56px;
}
.index_service-flow .service-flow .flow-list ul li p.process {
  font-weight: bold;
}
.index_service-flow .service-flow .flow-list ul li .icon {
  width: 144px;
  height: 144px;
  margin: 24px auto 16px auto;
  background-color: #f9f8f2;
  border-radius: 72px;
}
.index_service-flow .service-flow .flow-list ul li .icon img {
  width: 100%;
  height: auto;
  border-radius: 72px;
}
.index_service-flow .service-flow div.btn_view-detail1 {
  margin: 0 auto 0 auto;
}
.index_service-price {}
.index_service-price .service-price {}
.index_service-price .service-price p {
  margin-bottom: 16px;
}
.index_service-price .service-price .starting-price {
  padding: 24px 0 24px 0;
  margin-bottom: 48px;
  background-color: #f9f8f2;
  border: solid 2px #00a73c;
  border-radius: 16px;
}
.index_service-price .service-price .starting-price ul {
  width: 100%;
  display: flex;
  justify-content: center;
}
.index_service-price .service-price .starting-price ul li {
  border-left: solid 2px #00a73c;
}
.index_service-price .service-price .starting-price ul li:first-child {
  border-left: none;
}
.index_service-price .service-price div.btn_view-detail1 {
  margin: 0 auto 0 auto;
}
.index_company {
  border-top: solid 2px #e2e0d1;
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}
.index_company .company {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.index_company .company .contfigu {
  width: 480px;
  border: solid 1px #e9e8dd;
  border-radius: 16px;
}
.index_company .company .contfigu img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.index_company .company .conttext {
  width: 480px;
  text-align: left;
}
.index_company .company .conttext p {
  margin: 0 0 32px 0;
}
.index_company .company .conttext figure {
  display: none;
}
.index_company .company .conttext div.btn_view-detail1 {
  max-width: 400px !important;
}
/* 768px未満 */
@media screen and (max-width: 767px) {
  .index_firstview {
    background-position: bottom right;
  }
  .index_firstview .image {
    width: auto;
    padding: 0 16px 0 16px;
    background-image: url("../../image/index_firstview-image-bg_sp.png");
    background-repeat: no-repeat;
    background-position: top right;
    background-size: cover;
  }
  .index_firstview .starting-price {
    margin-top: 0;
    padding: 0;
  }
  .index_firstview .starting-price ul {
    width: 100%;
    display: block;
  }
  .index_firstview .starting-price ul li {
    border-left: none;
    border-top: solid 1px #00a73c;
  }
  .index_firstview .starting-price ul li:first-child {
    border-top: none;
  }
  .index_firstview .starting-price ul li img {
    width: 100%;
    height: auto;
  }
  .index_problems {
    padding: 28px 0 0 0;
  }
  .index_problems .problems {
    padding: 0 0 24px 0;
  }
  .index_problems .problems h1 {
    text-align: center;
    margin: 0 0 16px 0;
  }
  .index_problems .problems .problems-list ul {
    display: block;
  }
  .index_problems .problems .problems-list ul li {
    padding: 16px 16px 0 16px;
    width: 100%;
    margin-bottom: 4px;
  }
  .index_problems .problems .problems-list ul li::before {
    width: 64px;
    height: 64px;
  }
  .index_problems .problems .problems-list ul li p {
    font-size: 20px;
    line-height: 32px;
    padding: 12px 8px 12px 48px;
    border: solid 3px #89c997;
  }
  .index_problems .problems .problems-list ul li p br {
    display: none;
  }
  .index_problems .message .message-lead {
    width: auto;
    margin: 0 16px 0 16px;
  }
  .index_reasons {
    padding-top: 24px !important;
  }
  .index_reasons .reasons h1 {
    margin: 0 0 16px 0;
  }
  .index_reasons .reasons .reasons-list {
    padding: 16px;
    border: solid 3px #e2e0d1;
  }
  .index_reasons .reasons .reasons-list .contwrap {
    display: block;
    padding: 24px 0 24px 0;
  }
  .index_reasons .reasons .reasons-list .contwrap h2 {
    display: flex;
    align-items: center;
    text-align: left;
  }
  .index_reasons .reasons .reasons-list .contwrap h2 span {
    line-height: 34px;
  }
  .index_reasons .reasons .reasons-list .contwrap h2 span.icon {
    width: 64px;
    margin: 0 16px 0 0;
  }
  .index_reasons .reasons .reasons-list .contwrap h2 span.text {
    width: calc(100% - 80px);
  }
  .index_reasons .reasons .reasons-list .contwrap p {
    line-height: 32px;
  }
  .index_reasons .reasons .reasons-list .contwrap .conttext1 {
    width: 100%;
  }
  .index_reasons .reasons .reasons-list .contwrap .conttext1 h2 span.text {
    font-size: 22px;
  }
  .index_reasons .reasons .reasons-list .contwrap .conttext1 p {
    margin: 8px 0 0 0;
  }
  .index_reasons .reasons .reasons-list .contwrap .conttext2 h2 span.text {
    font-size: 22px;
    transform: none;
  }
  .index_reasons .reasons .reasons-list .contwrap .conttext2 p {
    margin: 8px 0 0 0;
  }
  .index_reasons .reasons .reasons-list .contwrap .highlight figure {
    width: 160px;
    margin: 0 8px 0 0;
  }
  .index_reasons .reasons .reasons-list .contwrap .contfigu {
    width: 100%;
    margin: 16px 0 0 0;
  }
  .index_service-lineup .service-lineup .lineup-item {
    margin: 0 0 24px 0;
    padding: 24px 16px 16px 16px;
    border: solid 3px #e2e0d1;
  }
  .index_service-lineup .service-lineup .lineup-item .item {
    display: block;
  }
  .index_service-lineup .service-lineup .lineup-item .item .conttext {
    width: 100%;
    padding: 0;
  }
  .index_service-lineup .service-lineup .lineup-item .item .contfigu {
    width: 100%;
    max-width: 200px;
    margin: 0 auto 16px auto;
  }
  .index_service-lineup .service-lineup .works-ba {
    margin: 16px 0 0 0;
    padding: 24px 0 8px 0;
  }
  .index_service-lineup .service-lineup .works-ba ul {
    display: block;
  }
  .index_service-lineup .service-lineup .works-ba ul li {
    width: 100%;
    margin-bottom: 24px;
  }
  .index_service-lineup .service-lineup .works-ba ul li:last-child {
    margin-bottom: 0;
  }
  .index_service-lineup .service-lineup .works-ba ul li p.ba-type {
    font-size: 20px;
  }
  .index_service-lineup .service-lineup .works-ba ul li p.ba-type span {
    font-size: 24px;
  }
  .index_service-flow .service-flow .flow-list {
    margin-bottom: 24px;
  }
  .index_service-flow .service-flow .flow-list::before {
    top: 0;
    left: 50%;
    width: 16px;
    height: 100%;
    transform: translateX(-50%);
  }
  .index_service-flow .service-flow .flow-list:first-of-type {
    margin-bottom: 0;
    padding-bottom: 16px;
  }
  .index_service-flow .service-flow .flow-list ul {
    display: block;
    width: 100%;
    max-width: 480px;
    margin: 0 auto 0 auto;
  }
  .index_service-flow .service-flow .flow-list ul li {
    width: 100%;
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
  .index_service-flow .service-flow .flow-list ul li:last-child {
    margin-bottom: 0;
  }
  .index_service-flow .service-flow .flow-list ul li .icon {
    width: 96px;
    height: 96px;
    margin: 16px auto 8px auto;
    border-radius: 48px;
  }
  .index_service-flow .service-flow .flow-list ul li .icon img {
    border-radius: 48px;
  }
  .index_service-price .service-price .starting-price {
    padding: 0;
    margin-bottom: 24px;
  }
  .index_service-price .service-price .starting-price ul {
    display: block;
  }
  .index_service-price .service-price .starting-price ul li {
    border-left: none;
    border-top: solid 1px #00a73c;
    padding: 8px 0 8px 0;
  }
  .index_service-price .service-price .starting-price ul li:first-child {
    border-top: none;
  }
  .index_service-price .service-price .starting-price ul li img {
    width: 100%;
    height: auto;
  }
  .index_company {
    padding-top: 48px !important;
    padding-bottom: 48px !important;
  }
  .index_company .company {
    display: block;
  }
  .index_company .company .contfigu {
    display: none;
  }
  .index_company .company .conttext {
    float: none;
    width: 100%;
  }
  .index_company .company .conttext p {
    margin: 0 0 16px 0;
  }
  .index_company .company .conttext p br {
    display: none;
  }
  .index_company .company .conttext figure {
    display: block;
    margin: 0 0 24px 0;
    border: solid 1px #e9e8dd;
    border-radius: 16px;
  }
  .index_company .company .conttext figure img {
    width: 100%;
    height: auto;
    border-radius: 16px;
  }
  .index_company .company .conttext div.btn_view-detail1 {
    max-width: 100% !important;
  }
}
/*##################################################
 *サービス */
.service_content .service .service-detail {
  width: 100%;
  padding: 48px;
  background-color: #f9f8f2;
  border: solid 4px #e2e0d1;
  border-radius: 16px;
}
.service_content .service .service-detail .detail-lead {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.service_content .service .service-detail .detail-lead .conttext {
  width: calc(100% - 420px);
  padding: 8px 0 0 0;
}
.service_content .service .service-detail .detail-lead .conttext h2 {
  text-align: left;
  margin-bottom: 12px;
}
.service_content .service .service-detail .detail-lead .conttext p {
  text-align: left;
}
.service_content .service .service-detail .detail-lead .contfigu {
  width: 400px;
}
.service_content .service .service-detail .detail-lead .contfigu img {
  width: 100%;
  height: auto;
}
.service_content .service .service-detail .detail-inn {
  margin: 48px 0 0 0;
  padding: 48px 0 0 0;
  border-top: solid 2px #e2e0d1;
}
.service_content .service .service-detail .detail-inn h3 {
  margin-bottom: 32px !important;
}
.service_content .service .service-detail .detail-inn ul li {
  font-size: 20px;
}
.service_content .service .service-detail .target ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 24px;
}
.service_content .service .service-detail .target ul li {
  display: block;
  width: calc((100% - 24px) / 2);
  font-size: 20px;
  font-weight: bold;
  line-height: 36px;
  color: #007e41;
  padding: 16px;
  background-color: #fff;
  border: solid 1px #e2e0d1;
  border-radius: 16px;
}
.service_content .service .service-detail .target ul li span {
  font-weight: bold;
  color: #cd6715;
}
.service_content .service .service-detail .list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 4px;
}
.service_content .service .service-detail .list ul li {
  display: block;
  font-weight: bold;
  text-align: left;
  color: #007e41;
  padding: 17px 0 15px 48px;
  background-color: #f0ede0;
  background-image: url("../../image/common_icon-check-shikaku-g.png");
  background-repeat: no-repeat;
  background-position: left 16px center;
  background-size: 24px;
}
.service_content .service .service-detail .list ul.col2 li {
  width: calc((100% - 4px) / 2);
}
.service_content .service .service-detail .list ul.col3 li {
  width: calc((100% - 8px) / 3);
}
.service_content .service .service-detail .list ul.col4 li {
  width: calc((100% - 12px) / 4);
}
.service_content .service .service-detail .works ul {
  display: flex;
  justify-content: space-between;
}
.service_content .service .service-detail .works ul li {
  width: 280px;
}
.service_content .service .service-detail .works ul li p.work-type {
  font-size: 28px;
  font-weight: bold;
  line-height: 36px;
  color: #007e41;
  text-align: center;
  margin: 0 0 12px 0;
}
.service_content .service .service-detail .works ul li figure.work-photo {
  width: 100%;
}
.service_content .service .service-detail .works ul li figure.work-photo img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
/* 768px未満 */
@media screen and (max-width: 767px) {
  .service_content .service .service-detail {
    padding: 24px 16px 24px 16px;
    border: solid 3px #e2e0d1;
  }
  .service_content .service .service-detail .detail-lead {
    display: block;
  }
  .service_content .service .service-detail .detail-lead .conttext {
    width: 100%;
    padding: 0;
  }
  .service_content .service .service-detail .detail-lead .conttext h2 {
    text-align: center;
    margin-bottom: 12px;
  }
  .service_content .service .service-detail .detail-lead .contfigu {
    width: 100%;
    max-width: 200px;
    margin: 0 auto 20px auto;
  }
  .service_content .service .service-detail .detail-inn {
    margin: 24px 0 0 0;
    padding: 24px 0 0 0;
  }
  .service_content .service .service-detail .detail-inn h3 {
    margin-bottom: 16px !important;
  }
  .service_content .service .service-detail .target ul {
    display: block;
  }
  .service_content .service .service-detail .target ul li {
    width: 100%;
    padding: 12px 16px 12px 16px;
    margin-bottom: 12px;
    text-align: left;
  }
  .service_content .service .service-detail .target ul li span {
    font-weight: bold;
    color: #cd6715;
  }
  .service_content .service .service-detail .target ul li br {
    display: none;
  }
  .service_content .service .service-detail .list ul {
    gap: 4px;
  }
  .service_content .service .service-detail .list ul li {
    line-height: 32px;
    padding: 12px 2px 12px 48px;
  }
  .service_content .service .service-detail .list ul.col2 li {
    width: 100%;
  }
  .service_content .service .service-detail .list ul.col3 li {
    width: 100%;
  }
  .service_content .service .service-detail .list ul.col4 li {
    width: calc((100% - 4px) / 2);
  }
  .service_content .service .service-detail .works ul {
    display: block;
  }
  .service_content .service .service-detail .works ul li {
    width: 100%;
    margin-bottom: 16px;
  }
  .service_content .service .service-detail .works ul li:last-child {
    margin-bottom: 0;
  }
  .service_content .service .service-detail .works ul li p.work-type {
    font-size: 24px;
    margin: 0 0 4px 0;
  }
}
/*##################################################
 *流れ・料金 */
.flow_content .flow .flow-lead {
  margin: 0 0 32px 0;
}
.flow_content .flow .flow-step {
  position: relative;
  padding: 0 0 48px 0;
}
.flow_content .flow .flow-step::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 48px;
  height: 100%;
  background-color: #89c997;
  background-image: url("../../image/common_icon-arw-d-w.png");
  background-repeat: no-repeat;
  background-position: center bottom 4px;
  background-size: 40px;
  transform: translateX(-398px);
  z-index: 0;
}
.flow_content .flow .flow-step:last-of-type {
  padding-bottom: 0;
}
.flow_content .flow .flow-step .step-title {
  display: flex;
  justify-content: flex-start;
  color: #fff;
  padding: 10px 0 10px 16px;
  background-color: #00a73c;
  border: solid 2px #00a73c;
  border-radius: 16px 16px 0 0;
  position: relative;
  z-index: 1;
}
.flow_content .flow .flow-step .step-title span {
  font-size: 32px;
  font-weight: bold;
  line-height: 48px;
  letter-spacing: 0.1em;
  display: inline-block;
  padding: 4px 0 0 0;
}
.flow_content .flow .flow-step .step-title span.step {
  width: 240px;
  font-size: 20px;
  background-color: #007e41;
  margin-right: 32px;
  border-radius: 26px;
}
.flow_content .flow .flow-step .step-title span.process {
  text-align: left;
}
.flow_content .flow .flow-step .step-body {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 24px 32px 24px 32px;
  background-color: #f9f8f2;
  border: solid 2px #00a73c;
  border-radius: 0 0 16px 16px;
  position: relative;
  z-index: 1;
}
.flow_content .flow .flow-step .step-body .icon {
  width: 208px;
  flex-shrink: 0;
  margin-right: 48px;
  padding: 0 24px 0 24px;
}
.flow_content .flow .flow-step .step-body .icon figure {
  width: 160px;
  height: 160px;
  background-color: #f0ede0;
  border-radius: 80px;
}
.flow_content .flow .flow-step .step-body .icon figure img {
  width: auto;
  height: auto;
  border-radius: 80px;
}
.flow_content .flow .flow-step .step-body .conttext p {
  text-align: left;
}
.flow_content .flow .flow-step .step-body .conttext .contact {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
}
.flow_content .flow .flow-step .step-body .conttext .contact .btn {
  width: 224px;
  height: 102px;
  flex-shrink: 0;
  margin-right: 32px;
  box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.3);
  border-radius: 16px;
}
.flow_content .flow .flow-step .step-body .conttext .contact .btn a {
  display: block;
  width: 100%;
  height: 102px;
  background-color: #f08300;
  padding: 14px 0 0 0;
  border-radius: 16px;
}
.flow_content .flow .flow-step .step-body .conttext .contact .btn a:hover {
  text-decoration: none;
  background-color: #df5623;
}
.flow_content .flow .flow-step .step-body .conttext .contact .btn a p {
  font-size: 16px;
  font-weight: bold;
  line-height: 22px;
  color: #fff;
  text-align: center;
}
.flow_content .flow .flow-step .step-body .conttext .contact .btn a div {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  line-height: 32px;
  color: #ffff00;
  padding: 2px 20px 0 20px;
  background-image: url("../../image/common_icon-arw-r-y.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 20px;
}
.flow_content .flow .flow-step .step-body .conttext .contact .tel {
  width: 320px;
  flex-shrink: 0;
}
.flow_content .flow .flow-step .step-body .conttext .contact .tel img {
  display: block;
  margin: 0 auto 0 auto;
}
.flow_content .flow .flow-step .step-body .conttext .contact .tel img.num {
  width: 100%;
  height: auto;
  margin-bottom: 12px;
}
.flow_content .flow .flow-step .step-body .conttext .contact .tel img.hour {
  width: 120px;
  height: auto;
}
.flow_content .flow .flow-step .step-body .conttext .contact .tel .btn_call {
  display: none;
}
.price_content .price .price-lead {}
.price_content .price .price-lead p.note {
  margin-top: 32px;
  padding: 16px;
  border: solid 1px #ccc;
}
.price_content .price .price-lead .contfigu {
  margin: 32px 0 0 0;
  display: flex;
  justify-content: space-between;
}
.price_content .price .price-lead .contfigu img {
  width: 480px;
  height: auto;
}
.price_content .price .price-table {
  margin: 40px 0 48px 0;
}
.price_content .price .price-table:last-of-type {
  margin-bottom: 0;
}
.price_content .price .price-table .table-title {
  font-weight: bold;
  color: #fff;
  padding: 6px 0 0 0;
  background-color: #00a73c;
  border: solid 2px #00a73c;
  border-radius: 16px 16px 0 0;
}
.price_content .price .price-table .table-title span {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.price_content .price .price-table .table-title sup {
  vertical-align: super;
  margin-right: 2px;
}
.price_content .price .price-table .table-body {
  display: flex;
  justify-content: space-between;
  padding: 24px 0 24px 0;
  background-color: #f9f8f2;
  border: solid 2px #00a73c;
  border-radius: 0 0 16px 16px;
}
.price_content .price .price-table .table-body .table-item {
  padding: 0 8px 0 8px;
  border-right: solid 2px #00a73c;
}
.price_content .price .price-table .table-body .table-item:last-child {
  border-right: none;
}
.price_content .price .price-table .table-body .table-item .item1 {
  font-size: 16px;
  font-weight: bold;
  line-height: 24px;
  margin: 0 0 12px 0;
  padding: 8px 0 4px 0;
  background-color: #f0ede0;
  border-radius: 8px;
}
.price_content .price .price-table .table-body .table-item .item2 {
  position: relative;
  display: inline-block;
  line-height: 1;
  color: #e0363f;
}
.price_content .price .price-table .table-body .table-item .item2 span {
  font-weight: bold;
}
.price_content .price .price-table .table-body .table-item .item2 span.amount {
  font-size: 38px;
  font-weight: bold;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-variant-numeric: lining-nums;
  padding-left: 16px;
}
.price_content .price .price-table .table-body .table-item .item2 span.yen {
  font-size: 20px;
  margin-left: 4px;
  vertical-align: baseline;
}
.price_content .price .price-table .table-body .table-item .item2 span.tax {
  position: absolute;
  top: 2px;
  right: -2px;
  font-size: 12px;
  white-space: nowrap;
}
.price_content .price .price-table .col4 .table-item {
  width: calc(100% / 4);
}
/*
.price_content .price .price-table:nth-of-type(odd) .table-title {
  background-color: #007e41;
  border: solid 2px #007e41;
}
.price_content .price .price-table:nth-of-type(odd) .table-body {
  border: solid 2px #007e41;
}
.price_content .price .price-table:nth-of-type(odd) .table-body .table-item {
  border-right: solid 2px #007e41;
}
.price_content .price .price-table:nth-of-type(odd) .table-body .table-item:last-child {
  border-right: none;
}
 */
/* 768px未満 */
@media screen and (max-width: 767px) {
  .flow_content .flow .flow-lead {
    margin: 0 0 24px 0;
  }
  .flow_content .flow .flow-step {
    position: relative;
    padding: 0 0 32px 0;
  }
  .flow_content .flow .flow-step::before {
    width: 36px;
    background-position: center bottom 6px;
    background-size: 20px;
    transform: translateX(-50%);
  }
  .flow_content .flow .flow-step .step-title {
    display: block;
    padding: 8px 8px 6px 8px;
  }
  .flow_content .flow .flow-step .step-title span {
    line-height: 36px;
    padding: 0;
  }
  .flow_content .flow .flow-step .step-title span.step {
    font-size: 16px;
    width: 100%;
    margin-right: 0;
    margin-bottom: 12px;
  }
  .flow_content .flow .flow-step .step-title span.process {
    font-size: 22px;
    text-align: center;
  }
  .flow_content .flow .flow-step .step-body {
    display: block;
    padding: 16px;
  }
  .flow_content .flow .flow-step .step-body .icon {
    width: 128px;
    margin: 0 auto 16px auto;
    padding: 0;
  }
  .flow_content .flow .flow-step .step-body .icon figure {
    width: 128px;
    height: 128px;
    border-radius: 64px;
  }
  .flow_content .flow .flow-step .step-body .icon figure img {
    width: 100%;
    border-radius: 64px;
  }
  .flow_content .flow .flow-step .step-body .conttext p {
    text-align: left;
  }
  .flow_content .flow .flow-step .step-body .conttext .contact {
    display: block;
    padding-bottom: 16px;
  }
  .flow_content .flow .flow-step .step-body .conttext .contact .btn {
    width: 100%;
    margin-right: 0;
    margin-bottom: 32px
  }
  .flow_content .flow .flow-step .step-body .conttext .contact .btn a:hover {
    background-color: #f08300;
  }
  .flow_content .flow .flow-step .step-body .conttext .contact .tel {
    width: 256px;
    margin: 0 auto 0 auto;
  }
  .flow_content .flow .flow-step .step-body .conttext .contact .tel .btn_call {
    display: block;
    width: auto;
    margin: 16px auto 0 auto;
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.3);
    border-radius: 28px;
  }
  .flow_content .flow .flow-step .step-body .conttext .contact .tel .btn_call a {
    display: block;
    width: 100%;
    font-weight: bold;
    line-height: 56px;
    color: #fff;
    background-color: #00a73c;
    border-radius: 28px;
  }
  .flow_content .flow .flow-step .step-body .conttext .contact .tel .btn_call a span {
    font-weight: bold;
    padding: 0 0 0 24px;
    background-image: url("../../image/common_icon-phone-w.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 22px;
  }
  .price_content .price .price-lead {}
  .price_content .price .price-lead p.note {
    margin-top: 8px;
  }
  .price_content .price .price-lead .contfigu {
    margin: 8px 0 0 0;
    display: block;
  }
  .price_content .price .price-lead .contfigu img {
    width: 100%;
    margin: 16px 0 0 0;
  }
  .price_content .price .price-table {
    margin: 16px 0 24px 0;
  }
  .price_content .price .price-table .table-title {
    font-size: 16px;
    padding: 4px 0 0 0;
  }
  .price_content .price .price-table .table-title span {
    font-size: 24px;
  }
  .price_content .price .price-table .table-body {
    display: block;
    padding: 0;
  }
  .price_content .price .price-table .table-body .table-item {
    padding: 8px;
    border-right: none;
    border-bottom: solid 1px #00a73c;
  }
  .price_content .price .price-table .table-body .table-item:last-child {
    border-bottom: none;
  }
  .price_content .price .price-table .table-body .table-item .item1 {
    margin: 0 0 8px 0;
    padding: 8px 0 8px 0;
  }
  .price_content .price .price-table .table-body .table-item .item2 span.amount {
    font-size: 34px;
    padding-left: 12px;
  }
  .price_content .price .price-table .table-body .table-item .item2 span.yen {
    font-size: 18px;
  }
  .price_content .price .price-table .table-body .table-item .item2 span.tax {
    top: 0;
    right: 0;
    font-size: 10px;
  }
  .price_content .price .price-table .col4 .table-item {
    width: 100%;
  }
  /*
  .price_content .price .price-table:nth-of-type(odd) .table-body .table-item {
    border-right: none;
    border-bottom: solid 1px #007e41;
  }
  .price_content .price .price-table:nth-of-type(odd) .table-body .table-item:last-child {
    border-bottom: none;
  }
  */
}
/*##################################################
 *会社情報 */
.company_greeting .greeting h2 {
  margin-bottom: 32px !important;
}
.company_greeting .greeting .greeting-philosophy {
  display: flex;
  justify-content: space-between;
  margin: 0 0 80px 0;
}
.company_greeting .greeting .greeting-philosophy .conttext {
  width: calc(100% - 560px);
}
.company_greeting .greeting .greeting-philosophy .conttext .statement {
  margin: 0 0 32px 0;
}
.company_greeting .greeting .greeting-philosophy .conttext .statement img {
  width: 100%;
  height: auto;
}
.company_greeting .greeting .greeting-philosophy .conttext p {
  line-height: 48px;
  text-align: left;
  margin: 0 0 24px 0;
  padding-left: 4px;
}
.company_greeting .greeting .greeting-philosophy .contfigu {
  width: 480px;
}
.company_greeting .greeting .greeting-philosophy .contfigu img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.company_greeting .greeting .greeting-value {
  text-align: left;
  position: relative;
  margin: 0 0 48px 0;
  padding: 56px 32px 24px 32px;
  background-color: #f9f8f2;
  border-radius: 0 16px 16px 16px;
}
.company_greeting .greeting .greeting-value h4 {
  font-size: 24px;
  font-weight: bold;
  line-height: 55px;
  color: #fff;
  text-align: center;
  display: inline-block;
  width: 48%;
  height: 58px;
  padding: 3px 8px 0 8px;
  position: absolute;
  top: -28px;
  left: 0;
  background-color: #00a73c;
  border-radius: 28px
}
.company_greeting .greeting .greeting-value .value-lead {
  font-size: 24px;
  font-weight: bold;
  line-height: 44px;
  color: #00a73c;
  margin: 16px 0 0 0;
}
.company_greeting .greeting .greeting-logo {
  display: flex;
  justify-content: space-between;
  padding: 24px 32px 24px 24px;
  border-radius: 16px;
  border: 2px solid #e2e0d1;
}
.company_greeting .greeting .greeting-logo .conttext {
  width: calc(100% - 320px);
}
.company_greeting .greeting .greeting-logo .conttext h4 {
  text-align: left !important;
  margin-top: 16px !important;
  margin-bottom: 16px !important;
}
.company_greeting .greeting .greeting-logo .conttext p {
  text-align: left;
}
.company_greeting .greeting .greeting-logo .conttext figure {
  display: none;
}
.company_greeting .greeting .greeting-logo .contfigu {
  width: 280px;
}
.company_greeting .greeting .greeting-logo .contfigu img {
  width: 100%;
  height: auto;
}
.company_outline {
  margin-top: -24px;
}
.company_outline table tr td div.service-lineup p {
  margin-bottom: 8px;
}
.company_outline table tr td div.service-lineup p:last-child {
  margin-bottom: 0;
}
.company_outline table tr td div.service-lineup p span {
  display: inline-block;
  margin-right: 0.5em;
}
.company_outline .access .googlemap {
  margin: 0 0 40px 0;
  overflow: hidden;
  border: solid 2px #e2e0d1;
  border-radius: 16px;
}
.company_outline .access .googlemap iframe {
  width: 100% !important;
}
/* 768px未満 */
@media screen and (max-width: 767px) {
  .company_greeting .greeting h2 {
    margin-bottom: 24px !important;
  }
  .company_greeting .greeting .greeting-philosophy {
    display: block;
    margin: 0 0 72px 0;
  }
  .company_greeting .greeting .greeting-philosophy .conttext {
    width: 100%;
    margin-bottom: 32px;
  }
  .company_greeting .greeting .greeting-philosophy .conttext .statement {
    width: 90%;
    max-width: 480px;
    margin: 0 0 32px 0;
  }
  .company_greeting .greeting .greeting-philosophy .conttext p {
    line-height: inherit;
    margin: 0 0 16px 0;
    padding-left: 0;
  }
  .company_greeting .greeting .greeting-philosophy .contfigu {
    width: 100%;
    max-width: 400px;
    margin: 0 auto 0 auto;
  }
  .company_greeting .greeting .greeting-value {
    margin: 0 0 24px 0;
    padding: 64px 16px 24px 16px;
    border-radius: 0 16px 16px 16px;
  }
  .company_greeting .greeting .greeting-value h4 {
    font-size: 22px;
    line-height: 36px;
    text-align: center;
    width: 100%;
    height: 88px;
    padding: 8px;
    top: -44px;
    border-radius: 44px
  }
  .company_greeting .greeting .greeting-value .value-lead {
    font-size: 22px;
    line-height: 40px;
    margin: 16px 0 0 0;
  }
  .company_greeting .greeting .greeting-logo {
    display: block;
    padding: 24px 16px 24px 16px;
  }
  .company_greeting .greeting .greeting-logo .conttext {
    width: 100%;
  }
  .company_greeting .greeting .greeting-logo .conttext h4 {
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 4px !important;
  }
  .company_greeting .greeting .greeting-logo .conttext p {
    margin-bottom: 16px;
  }
  .company_greeting .greeting .greeting-logo .conttext p:last-child {
    margin-bottom: 0;
  }
  .company_greeting .greeting .greeting-logo .conttext figure {
    display: block;
    width: 100%;
    max-width: 240px;
    margin: 0 auto 16px auto;
  }
  .company_greeting .greeting .greeting-logo .conttext figure img {
    width: 100%;
    height: auto;
  }
  .company_greeting .greeting .greeting-logo .contfigu {
    display: none;
  }
  .company_outline .access .googlemap iframe {
    height: 400px !important;
  }
}
/*##################################################
 *お問い合わせ */
.contact_cta {
  width: 1024px !important;
  margin: 0 auto 0 auto;
}
.contact_cta .cta-lead {
  width: 880px;
  margin: 0 auto 24px auto;
}
.contact_cta .cta-lead img {
  width: 100%;
  height: auto;
}
.contact_cta .common_cta .cta-btn {
  border-radius: 16px 16px 0 0;
}
.contact_cta .common_cta .cta-tel {
  border-radius: 0 0 16px 16px;
}
.contact_privacy-policy {
  width: 100%;
  margin-top: -64px;
}
.contact_privacy-policy .policy-text {
  padding: 24px 32px 16px 32px;
  border: solid 1px #ddd;
  border-radius: 16px;
}
.contact_privacy-policy .policy-text .text {
  padding: 16px 0 16px 0;
  border-top: solid 1px #ddd;
}
.contact_privacy-policy .policy-text .text:first-child {
  border-top: none;
}
.contact_privacy-policy .policy-text .text h2 {
  text-align: left !important;
  margin-bottom: 4px !important;
}
.contact_privacy-policy .policy-text .text p {
  font-size: 16px;
  text-align: left;
}
.contact_privacy-policy .policy-text .text ol {
  margin-top: 4px;
}
.contact_privacy-policy .policy-text .text ol li {
  font-size: 16px;
  text-align: left;
  list-style-type: decimal;
  list-style-position: outside;
  margin: 0 0 4px 32px;
}
.contact_privacy-policy .policy-text .text ol li:last-child {
  margin-bottom: 0px;
}
/* 768px未満 */
@media screen and (max-width: 767px) {
  .contact_cta {
    width: 100% !important;
    margin-top: -16px;
  }
  .contact_cta .cta-lead {
    width: auto;
    margin: 0 8px 16px 8px;
  }
  .contact_cta .common_cta .cta-btn {
    border-radius: 0;
  }
  .contact_cta .common_cta .cta-tel {
    border-radius: 0;
  }
  .contact_privacy-policy {
    margin-top: -40px;
  }
  .contact_privacy-policy .policy-text {
    padding: 16px 16px 8px 16px;
  }
}
/*##################################################
 *コンテンツ */
.xxxxx_xxxxx {}
/* 1280px未満 */
@media screen and (max-width: 1279px) {}
/* 1025px未満 */
@media screen and (max-width: 1024px) {}
/* 980px未満 */
@media screen and (max-width: 979px) {}
/* 768px未満 */
@media screen and (max-width: 767px) {}
/*560px未満*/
@media screen and (max-width: 559px) {}
/*360px未満*/
@media screen and (max-width: 359px) {}