@media screen and (min-width: 1024px) {

  .visible-md,
  .visible-sm {
    display: none
  }

  .visible-lg {
    display: inherit
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {

  .visible-lg,
  .visible-sm {
    display: none
  }

  .visible-md {
    display: inherit
  }
}

@media screen and (max-width: 749px) {

  .visible-lg,
  .visible-md {
    display: none
  }

  .visible-sm {
    display: inherit
  }
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0)
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.5;
  letter-spacing: .05em
}

@media screen and (min-width: 750px) {
  html {
    font-size: 10px
  }
}

@media screen and (max-width: 749px) {
  html {
    font-size: 2.66666vw
  }
}

body {
  width: 100%;
  overflow-x: hidden;
  background: #fff;
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: #1a1a1a
}

main {
  display: block
}

li {
  list-style-type: none
}

a {
  text-decoration: none;
  color: inherit
}

@media screen and (min-width: 750px) {
  a {
    -webkit-transition: all .3s;
    transition: all .3s
  }

  a::before,
  a::after {
    -webkit-transition: all .3s;
    transition: all .3s
  }
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto
}

svg {
  width: 100%;
  height: auto
}

sup {
  font-size: .5em;
  vertical-align: super
}

input,
button,
textarea,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%
}

address {
  font-style: normal
}

@media screen and (min-width: 750px) {
  .l-inner-lg {
    width: 90%;
    max-width: 1400px;
    margin: 0 auto
  }
}

@media screen and (max-width: 749px) {
  .l-inner-lg {
    padding: 0 1.5rem
  }
}

@media screen and (min-width: 750px) {
  .l-inner-md {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto
  }
}

@media screen and (max-width: 749px) {
  .l-inner-md {
    padding: 0 1.5rem
  }
}

@media screen and (min-width: 750px) {
  .l-inner-ex {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto
  }
}

@media screen and (min-width: 750px) {
  .l-inner-sm {
    width: 90%;
    max-width: 920px;
    margin: 0 auto
  }
}

@media screen and (max-width: 749px) {
  .l-inner-sm {
    padding: 0 1.5rem
  }
}

@media screen and (-webkit-min-device-pixel-ratio: 0)and (-webkit-min-device-pixel-ratio: 0),
screen and (-webkit-min-device-pixel-ratio: 0)and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast
  }
}

@media screen and (max-width: 749px) {
  .main__wrapper {
    overflow: hidden
  }
}

header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0
}

.hd__inner {
  max-width: 1400px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (min-width: 750px) {
  .hd__inner {
    padding: 4rem 1rem
  }
}

@media screen and (max-width: 749px) {
  .hd__inner {
    padding: 2rem
  }
}

.hd__ttl {
  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
}

.hd__logo {
  margin-right: 2rem
}

@media screen and (min-width: 750px) {
  .hd__logo {
    max-width: 100px
  }
}

@media screen and (max-width: 749px) {
  .hd__logo {
    max-width: 66px
  }
}

.hd__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

.hd__sup {
  font-weight: 500;
  border-bottom: 1px solid #77b121
}

@media screen and (min-width: 750px) {
  .hd__sup {
    font-size: 1.5rem;
    margin-bottom: 1rem
  }
}

@media screen and (max-width: 749px) {
  .hd__sup {
    font-size: 1.2rem;
    margin-bottom: .3rem
  }
}

.hd__txt {
  font-weight: 500
}

@media screen and (min-width: 750px) {
  .hd__txt {
    font-size: 1.6rem;
    margin-bottom: .2rem
  }
}

@media screen and (max-width: 749px) {
  .hd__txt {
    font-size: 1.2rem
  }
}

.hd__sub {
  font-weight: 500;
  font-family: "Poppins", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: #77b121
}

@media screen and (min-width: 750px) {
  .hd__sub {
    font-size: 1.2rem
  }
}

@media screen and (max-width: 749px) {
  .hd__sub {
    font-size: 1rem
  }
}

.hd__cv {
  text-align: center
}

@media screen and (min-width: 1024px) {
  .hd__cv {
    max-width: 354px;
    width: 50%
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .hd__cv {
    display: none
  }
}

@media screen and (max-width: 749px) {
  .hd__cv {
    width: 100%;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background-color: rgba(255, 255, 255, .8);
    padding: 1rem
  }
}

.hdCv__anc {
  display: block;
  background-color: #eb6100;
  color: #fff;
  border-radius: 5rem;
  position: relative;
  border: 4px solid #fff
}

@media screen and (min-width: 750px) {
  .hdCv__anc {
    font-size: 2.4rem;
    padding: 2rem 0;
    width: 100%
  }
}

@media screen and (max-width: 749px) {
  .hdCv__anc {
    font-size: 1.4rem;
    padding: 1rem 0;
    width: 80%;
    margin: 0 auto
  }
}

.hdCv__anc::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../img/cv_talk.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

@media screen and (min-width: 750px) {
  .hdCv__anc::before {
    left: 3rem;
    width: 3rem;
    height: 2.4rem
  }
}

@media screen and (max-width: 749px) {
  .hdCv__anc::before {
    left: 1.5rem;
    width: 2rem;
    height: 1.6rem
  }
}

.hdCv__anc::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (min-width: 750px) {
  .hdCv__anc::after {
    right: 4rem;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff
  }
}

@media screen and (max-width: 749px) {
  .hdCv__anc::after {
    right: 2rem;
    width: .8rem;
    height: .8rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff
  }
}

@media screen and (min-width: 750px) {
  .hdCv__anc:hover {
    color: #eb6100;
    background-color: #fff;
    border: 4px solid #eb6100
  }

  .hdCv__anc:hover::before {
    background-image: url(../img/cv_talk_after.svg)
  }

  .hdCv__anc:hover::after {
    border-top: 4px solid #eb6100;
    border-right: 4px solid #eb6100
  }
}

.top {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(50%, #fff), color-stop(50%, #F3FFE1), to(#F3FFE1));
  background-image: linear-gradient(#fff 0%, #fff 50%, #F3FFE1 50%, #F3FFE1 100%)
}

.top__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative
}

@media screen and (min-width: 750px) {
  .top__cont {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-bottom: 4rem
  }
}

@media screen and (max-width: 749px) {
  .top__cont {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 2rem
  }
}

@media screen and (max-width: 749px) {
  .top__info {
    margin-bottom: 2rem
  }
}

.top__ttl {
  letter-spacing: 0
}

@media screen and (min-width: 750px) {
  .top__ttl {
    font-size: 5.4rem;
    margin-bottom: 6rem
  }
}

@media screen and (max-width: 749px) {
  .top__ttl {
    font-size: 2.8rem;
    margin-bottom: 1rem
  }
}

.top__ttl .-bgGreen {
  display: inline-block;
  background-color: #298d06;
  font-family: "Oswald", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 600;
  color: #fff;
  border-radius: 1rem;
  line-height: 1;
  padding: .5rem 1rem;
  margin-right: .5rem
}

@media screen and (min-width: 750px) {
  .top__ttl .-bgGreen {
    font-size: 7rem
  }
}

@media screen and (max-width: 749px) {
  .top__ttl .-bgGreen {
    font-size: 3.2rem
  }
}

.top__ttl .-green {
  color: #298d06
}

.top__ttl .-line {
  background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(70%, transparent), color-stop(70%, #FFF601), to(#FFF601));
  background-image: linear-gradient(transparent 0%, transparent 70%, #FFF601 70%, #FFF601 100%)
}

@media screen and (min-width: 750px) {
  .top__sub {
    max-width: 477px;
    margin-left: 2rem
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .top__sub {
    max-width: 350px;
    margin-top: 10rem
  }
}

@media screen and (max-width: 749px) {
  .top__sub {
    max-width: 187px;
    margin: 0 auto
  }
}

@media screen and (min-width: 750px) {
  .top__img {
    position: absolute;
    bottom: 0;
    right: 0;
    max-width: 506px;
    width: 46%
  }
}

@media screen and (max-width: 749px) {
  .top__img {
    width: 80%
  }
}

.top__cv {
  text-align: center;
  background-color: #fff;
  max-width: 1000px;
  margin: 0 auto;
  border-radius: 2rem;
  -webkit-filter: drop-shadow(0 0 1rem rgba(26, 26, 26, 0.1));
  filter: drop-shadow(0 0 1rem rgba(26, 26, 26, 0.1))
}

@media screen and (min-width: 750px) {
  .top__cv {
    padding: 4rem
  }
}

@media screen and (max-width: 749px) {
  .top__cv {
    padding: 1rem
  }
}

.topCv__sup {
  font-weight: 500
}

@media screen and (min-width: 750px) {
  .topCv__sup {
    font-size: 2rem;
    margin-bottom: 2rem
  }
}

@media screen and (max-width: 749px) {
  .topCv__sup {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }
}

.topCv__btn {
  display: block;
  margin: 0 auto;
  max-width: 654px;
  width: 90%;
  background-color: #eb6100;
  color: #fff;
  font-size: 2.8rem;
  border: 4px solid #fff;
  border-radius: 5rem;
  position: relative
}

@media screen and (min-width: 750px) {
  .topCv__btn {
    font-size: 2.8rem;
    padding: 2rem 0
  }
}

@media screen and (max-width: 749px) {
  .topCv__btn {
    font-size: 1.8rem;
    padding: 1rem 0
  }
}

.topCv__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../img/cv_talk.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

@media screen and (min-width: 750px) {
  .topCv__btn::before {
    left: 25%;
    width: 3rem;
    height: 2.4rem
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .topCv__btn::before {
    left: 15%;
    width: 3rem;
    height: 2.4rem
  }
}

@media screen and (max-width: 749px) {
  .topCv__btn::before {
    left: 7%;
    width: 2.5rem;
    height: 2rem
  }
}

.topCv__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (min-width: 750px) {
  .topCv__btn::after {
    right: 25%;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff
  }
}

@media screen and (max-width: 749px) {
  .topCv__btn::after {
    right: 10%;
    width: .8rem;
    height: .8rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff
  }
}

@media screen and (min-width: 750px) {
  .topCv__btn:hover {
    color: #eb6100;
    background-color: #fff;
    border: 4px solid #eb6100
  }

  .topCv__btn:hover::before {
    background-image: url(../img/cv_talk_after.svg)
  }

  .topCv__btn:hover::after {
    border-top: 4px solid #eb6100;
    border-right: 4px solid #eb6100
  }
}

@media screen and (min-width: 750px) {
  .sec {
    padding: 10rem 0
  }
}

@media screen and (max-width: 749px) {
  .sec {
    padding: 6rem 0
  }
}

@media screen and (min-width: 750px) {
  .sec.top {
    padding-top: 16rem;
    padding-bottom: 6.4rem
  }
}

@media screen and (max-width: 749px) {
  .sec.top {
    padding-top: 8rem;
    padding-bottom: 4rem
  }
}

@media screen and (min-width: 750px) {
  .sec.about {
    padding: 6rem 0
  }
}

@media screen and (max-width: 749px) {
  .sec.about {
    padding: 4rem 0
  }
}

.sec__head {
  text-align: center
}

@media screen and (min-width: 750px) {
  .sec__head {
    margin-bottom: 4rem
  }
}

@media screen and (max-width: 749px) {
  .sec__head {
    margin-bottom: 2rem
  }
}

.sec__ttl {
  margin-bottom: .2rem
}

@media screen and (min-width: 750px) {
  .sec__ttl {
    font-size: 3.4rem
  }
}

@media screen and (max-width: 749px) {
  .sec__ttl {
    font-size: 2.4rem
  }
}

.secTtl__en {
  font-weight: 600;
  color: #77b121
}

@media screen and (min-width: 750px) {
  .secTtl__en {
    font-size: 2rem
  }
}

@media screen and (max-width: 749px) {
  .secTtl__en {
    font-size: 1.6rem
  }
}

.stats__cont {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1000px;
  margin: 0 auto;
  gap: 4rem;
}

@media screen and (min-width: 750px) {
  .stats__cont {
    padding: 4rem 0;
  }
}

@media screen and (max-width: 749px) {
  .stats__cont {
    padding: 2rem 0;
    flex-direction: column;
    gap: 2rem;
    align-items: center;
  }
}

.stats__block {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 749px) {
  .stats__block {
    width: 100%;
  }
}

.stats__item {
  background-color: #87ba3c;
  color: #fff;
  text-align: center;
  border-radius: 7rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
}

@media screen and (min-width: 750px) {
  .stats__item {
    padding: 2rem 2rem;
  }
}

@media screen and (max-width: 749px) {
  .stats__item {
    padding: 1.5rem 1.5rem;
  }
}

.stats__label {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 1rem;
  text-align: center;
}

@media screen and (max-width: 749px) {
  .stats__label {
    font-size: 1.8rem;
    margin-bottom: 0.8rem;
  }
}

.stats__number {
  font-size: 4.5rem;
  font-weight: 700;
  font-family: "Poppins", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  line-height: 1;
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.5rem;
}

@media screen and (max-width: 749px) {
  .stats__number {
    font-size: 3.5rem;
  }
}

.stats__unit {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
}

@media screen and (max-width: 749px) {
  .stats__unit {
    font-size: 1.6rem;
  }
}

.stats__note {
  margin-top: 1rem;
  font-size: 1.8rem;
  color: #333;
  font-weight: 400;
  text-align: center;
}

@media screen and (max-width: 749px) {
  .stats__note {
    font-size: 1.6rem;
    margin-top: 0.8rem;
  }
}

/*.about__txt {
  font-weight: 600;
  text-align: center
}

@media screen and (min-width: 750px) {
  .about__txt {
    font-size: 3rem
  }
}

@media screen and (max-width: 749px) {
  .about__txt {
    font-size: 2rem
  }
}

.about__txt .-green {
  color: #298d06
}*/

.work {
  background-color: #edf6fa
}

.work__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (max-width: 1023px) {
  .work__list {
    gap: 2.25rem 4.5rem;
  }
}

@media screen and (max-width: 749px) {
  .work__list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.work__item {
  background-color: #fff;
  border: 3px solid #f8d145;
  border-radius: 2rem;
  padding: 3rem 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-height: 320px;
}

@media screen and (max-width: 749px) {
  .work__item {
    padding: 2.5rem 1.5rem;
    min-height: 280px;
  }
}

.workItem__ttl {
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 2rem;
  color: #1a1a1a;
  height: 4.8rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

@media screen and (max-width: 749px) {
  .workItem__ttl {
    font-size: 1.7rem;
    margin-bottom: 1.5rem;
    height: auto;
  }
}

.workItem__img {
  margin-bottom: 2rem;
  flex-shrink: 0;
}

@media screen and (max-width: 749px) {
  .workItem__img {
    margin-bottom: 1.5rem;
  }
}

.workItem__img img {
  width: 130px;
  height: 130px;
  object-fit: contain;
}

@media screen and (max-width: 749px) {
  .workItem__img img {
    width: 100px;
    height: 100px;
  }
}

.workItem__txt {
  font-size: 1.6rem;
  line-height: 1.8;
  color: #1a1a1a;
  margin: 0;
  flex-grow: 1;
  display: flex;
  align-items: flex-start;
  text-align: left;
}

@media screen and (max-width: 749px) {
  .workItem__txt {
    font-size: 1.4rem;
  }
}

.feature {
  background-color: #fffce0
}

.feature__txt {
  font-weight: 600;
  text-align: center
}

@media screen and (min-width: 750px) {
  .feature__txt {
    font-size: 1.8rem;
    margin-bottom: 4rem
  }
}

@media screen and (max-width: 749px) {
  .feature__txt {
    font-size: 1.6rem;
    margin-bottom: 2rem
  }
}

.feature__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (min-width: 1024px) {
  .feature__list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media screen and (max-width: 1023px) {
  .feature__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.feature__item {
  max-width: 340px;
  position: relative
}

@media screen and (min-width: 1024px) {
  .feature__item {
    width: 30.9090909091%
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .feature__item {
    width: 48%;
    margin: 0 1%;
    margin-top: 4rem
  }
}

@media screen and (max-width: 749px) {
  .feature__item {
    width: 80%;
    margin-top: 4rem
  }
}

.feature__item::after {
  content: "01";
  font-family: "Oswald", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  color: #fff;
  font-size: 2.2rem;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 50%;
  background-color: #77b121;
  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
}

.feature__item:nth-child(1)::after {
  content: "01"
}

.feature__item:nth-child(2)::after {
  content: "02"
}

.feature__item:nth-child(3)::after {
  content: "03"
}

.featureItem__top {
  background-color: #fff;
  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;
  border: 4px solid #77b121;
  border-radius: 2rem;
  margin-bottom: 2rem;
  position: relative
}

@media screen and (min-width: 750px) {
  .featureItem__top {
    height: 385px;
    padding: 4rem 0
  }
}

@media screen and (max-width: 749px) {
  .featureItem__top {
    padding: 4rem 0 2rem
  }
}

.featureItem__top::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 15.5px 0 15.5px;
  border-color: #77b121 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.featureItem__top::after {
  content: "";
  position: absolute;
  top: calc(100% - 6px);
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 15.5px 0 15.5px;
  border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.featureItem__ttl {
  text-align: center;
  margin-top: auto
}

.featureItem__ttl .-green {
  color: #298d06
}

@media screen and (min-width: 750px) {
  .featureItem__ttl {
    font-size: 1.9rem
  }
}

@media screen and (max-width: 749px) {
  .featureItem__ttl {
    font-size: 1.6rem
  }
}

.featureItem__img {
  margin: auto auto 0
}

@media screen and (min-width: 750px) {
  .featureItem__img {
    width: 270px
  }
}

@media screen and (max-width: 749px) {
  .featureItem__img {
    width: 75%
  }
}

.featureItem__txt {
  font-weight: 600;
  line-height: 2
}

@media screen and (min-width: 750px) {
  .featureItem__txt {
    font-size: 1.6rem
  }
}

@media screen and (max-width: 749px) {
  .featureItem__txt {
    font-size: 1.4rem
  }
}

.support__cont {
  border-width: .4rem;
  border-style: solid;
  border-radius: 2rem
}

@media screen and (min-width: 750px) {
  .support__cont {
    padding: 4rem 3rem 6rem
  }
}

@media screen and (max-width: 749px) {
  .support__cont {
    padding: 2rem 1rem 4rem
  }
}

.support__cont.-ora {
  border-color: #eb6100
}

.support__cont.-blue {
  border-color: #2982bb
}

.support__cont.-yellow {
  border-color: #d4a000;
}

.support__cont.-green {
  border-color: #43b996
}

.support__cont+.support__cont {
  margin-top: 4rem
}

.supportCont__head {
  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
}

@media screen and (min-width: 750px) {
  .supportCont__head {
    margin-bottom: 4rem
  }
}

@media screen and (max-width: 749px) {
  .supportCont__head {
    margin-bottom: 2rem
  }
}

.support__ttl {
  position: relative;
  margin-bottom: 1rem
}

@media screen and (min-width: 1024px) {
  .support__ttl {
    font-size: 3rem
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .support__ttl {
    font-size: 2.4rem
  }
}

@media screen and (max-width: 749px) {
  .support__ttl {
    font-size: 2rem;
    text-align: center
  }
}

.support__ttl::before {
  font-family: "Poppins", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 600;
  border-bottom: .4rem solid rgba(0, 0, 0, 0)
}

@media screen and (min-width: 750px) {
  .support__ttl::before {
    font-size: 3rem;
    margin-right: 1rem
  }
}

@media screen and (max-width: 749px) {
  .support__ttl::before {
    font-size: 4rem;
    display: block;
    width: 2em;
    text-align: center;
    margin: 0 auto 2rem
  }
}

.support__ttl.-ora::before {
  content: "01";
  border-color: #eb6100
}

.support__ttl.-blue::before {
  content: "02";
  border-color: #2982bb
}

.support__ttl.-yellow::before {
  content: "03";
  border-color: #d4a000;
}

.support__ttl.-green::before {
  content: "03";
  border-color: #43b996
}

.support__ttl .-ora {
  color: #eb6100
}

.support__ttl .-blue {
  color: #2982bb
}

.support__ttl .-yellow {
  color: #d4a000
}

.support__ttl .-green {
  color: #43b996
}

.support__en {
  font-weight: 600;
  font-family: "Poppins", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  letter-spacing: .08em
}

@media screen and (min-width: 750px) {
  .support__en {
    font-size: 2rem
  }
}

@media screen and (max-width: 749px) {
  .support__en {
    font-size: 1.6rem
  }
}

.support__txt {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2rem
}

.support__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width: 1023px) {
  .support__list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.support__item {
  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-align: center;
  -ms-flex-align: center;
  align-items: center
}

@media screen and (min-width: 1024px) {
  .support__item {
    max-width: 230px;
    width: 22.1153846154%;
    margin: 0 6rem
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .support__item {
    max-width: 400px
  }

  .support__item+.support__item {
    margin-top: 4rem
  }
}

@media screen and (max-width: 749px) {
  .support__item {
    width: 100%;
    max-width: 230px
  }

  .support__item+.support__item {
    margin-top: 4rem
  }
}

.support__item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  left: calc(100% - 2px + 6rem);
  width: 0;
  height: 100%
}

@media screen and (min-width: 1024px) {
  .support__item:not(:last-child)::after {
    border-left: 5px dotted #ccc
  }
}

@media screen and (max-width: 749px) {
  .support__item:not(:last-child)::after {
    border-bottom: 5px dotted #ccc
  }
}

.supportItem__ttl {
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  font-family: "Poppins", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  background-color: #eb6100;
  padding: 0 .8em;
  border-radius: 0 .8rem 0 .8rem;
  margin-bottom: -1rem;
  position: relative
}

.supportItem__img {
  margin-bottom: 1rem
}

@media screen and (max-width: 749px) {
  .supportItem__img {
    max-width: 75%;
    margin: 0 auto 1rem
  }
}

.supportItem__name {
  font-size: 2rem;
  font-weight: 500;
  border-bottom: 4px solid #eb6100;
  margin-bottom: 2rem
}

.supportItem__name .-age {
  font-size: 1.4rem
}

.supportItem__txt {
  line-height: 1.8
}

@media screen and (min-width: 750px) {
  .supportItem__txt {
    font-size: 1.6rem;
    letter-spacing: 0
  }
}

@media screen and (max-width: 749px) {
  .supportItem__txt {
    font-size: 1.4rem
  }
}

.support__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (min-width: 1024px) {
  .support__flex {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media screen and (max-width: 1023px) {
  .support__flex {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.supportFlex__item {
  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;
  border-radius: 2rem;
  background-color: #f0f4f6;
  max-width: 500px
}

@media screen and (min-width: 1024px) {
  .supportFlex__item {
    width: 49%;
    padding: 4rem 3rem
  }
}

@media screen and (max-width: 1023px) {
  .supportFlex__item {
    width: 100%;
    padding: 2rem
  }
}

.supportFlex__item+.supportFlex__item {
  background-color: #f3ffe1
}

@media screen and (max-width: 1023px) {
  .supportFlex__item+.supportFlex__item {
    margin-top: 4rem
  }
}

.supportFlex__ttl {
  letter-spacing: .08em;
  font-weight: 500;
  padding-bottom: .2em;
  border-bottom: 2px solid #1a1a1a;
  margin-bottom: 2rem
}

@media screen and (min-width: 750px) {
  .supportFlex__ttl {
    font-size: 2rem
  }
}

@media screen and (max-width: 749px) {
  .supportFlex__ttl {
    font-size: 1.8rem
  }
}

.supportFlex__img {
  margin-top: auto
}

@media screen and (max-width: 749px) {
  .supportFlex__img {
    margin-bottom: 2rem
  }
}

.supportFlex__txt {
  margin-top: auto;
  font-weight: 500;
  letter-spacing: .08em
}

@media screen and (min-width: 750px) {
  .supportFlex__txt {
    font-size: 1.8rem
  }
}

@media screen and (max-width: 749px) {
  .supportFlex__txt {
    font-size: 1.4rem
  }
}

.support__req {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center
}

@media screen and (max-width: 1023px) {
  .support__req {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media screen and (min-width: 1024px) {
  .supportReq__item {
    max-width: 300px;
    width: 100%;
    margin: 0 1rem
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .supportReq__item {
    max-width: 360px;
    width: 100%;
    margin: 1rem
  }
}

@media screen and (max-width: 749px) {
  .supportReq__item {
    max-width: 300px;
    width: 100%;
    margin: 1rem
  }
}

.supportReq__img {
  text-align: center
}

.supportReq__info {
  width: 100%;
  -webkit-filter: drop-shadow(4px 4px 10px rgba(26, 26, 26, 0.1));
  filter: drop-shadow(4px 4px 10px rgba(26, 26, 26, 0.1));
  background-color: #fffce0;
  padding: 2rem;
  border-radius: 2rem
}

@media screen and (min-width: 1024px) {
  .supportReq__info {
    max-width: 290px
  }
}

@media screen and (max-width: 749px) {
  .supportReq__info {
    max-width: 290px
  }
}

.supportReq__sup {
  font-size: 1.4rem;
  color: #43b996;
  font-family: "Poppins", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  margin-bottom: .5rem
}

.supportReq__txt {
  font-size: 1.7rem;
  font-weight: 500
}

.service {
  background-color: #edffe1
}

.service__cont {
  width: 100%;
  overflow-x: auto;
  margin-top: 4rem;
}

@media screen and (max-width: 749px) {
  .service__cont {
    margin-top: 2rem;
    overflow-x: visible;
  }
}

.service__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.7rem;
  line-height: 1.6;
  min-width: 600px;
}

/* モバイル用：テーブルをカード風に変換 */
@media screen and (max-width: 749px) {
  .service__table {
    min-width: auto;
    display: block;
    font-size: 1.3rem;
  }

  .service__table thead {
    display: none;
  }

  .service__table tbody {
    display: block;
  }

  .service__table tr {
    display: block;
    margin-bottom: 3rem;
    background: #fff;
    border: 2px solid #ddd;
    border-radius: 1rem;
    overflow: hidden;
    padding: 0;
    line-height: 1;
  }

  .service__table tr:last-child {
    margin-bottom: 0;
  }

  .serviceTable__row-header {
    display: block;
    width: 100% !important;
    background: #fdf7ad;
    padding: 1.5rem;
    font-weight: 600;
    text-align: center;
    border: none !important;
    border-bottom: 2px solid #ddd !important;
    margin: 0 !important;
    box-sizing: border-box;
    position: relative;
    top: 0;
  }

  .serviceTable__cell {
    display: block;
    width: 100%;
    padding: 1.5rem;
    border: none !important;
    border-bottom: 1px solid #eee;
    position: relative;
    margin: 0;
  }

  .serviceTable__cell:last-child {
    border-bottom: none;
  }

  /* セルの前にラベルを追加 */
  .serviceTable__cell:first-of-type::before {
    content: "プロフェッショナル人材活用サービス";
    display: block;
    background: #eb6100;
    color: #fff;
    padding: 1rem;
    margin: -2.25rem -1.5rem 1rem;
    font-weight: 600;
    text-align: center;
    position: relative;
  }

  .serviceTable__cell:last-of-type::before {
    content: "採用代行専門会社";
    display: block;
    background: #a6a6a6;
    color: #fff;
    padding: 1rem;
    margin: -2.25rem -1.5rem 1rem;
    font-weight: 600;
    text-align: center;
    position: relative;
  }
}

/* 角の空白セル */
.serviceTable__corner {
  background-color: #fff;
  border-top: none;
  border-left: none;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  width: 120px;
}

@media screen and (max-width: 749px) {
  .serviceTable__corner {
    display: none;
  }
}

/* ヘッダー */
.serviceTable__header {
  padding: 2rem 1.5rem;
  font-weight: 600;
  text-align: center;
  color: #fff;
  border: 2px solid #ddd;
  line-height: 1.4;
  vertical-align: middle;
}

.serviceTable__header.-ora {
  background-color: #eb6100;
}

.serviceTable__header.-gray {
  background-color: #a6a6a6;
}

/* 行ヘッダー */
.serviceTable__row-header {
  background-color: #fdf7ad;
  padding: 2rem 1.5rem;
  font-weight: 600;
  text-align: center;
  border: 2px solid #ddd;
  vertical-align: middle;
  width: 120px;
}

/* セル */
.serviceTable__cell {
  padding: 2rem 1.5rem;
  border: 2px solid #ddd;
  vertical-align: top;
  background-color: #fff;
}

/* セル内のp要素 */
.serviceTable__cell p {
  margin: 0 0 1rem 0;
}

.serviceTable__cell p:last-child {
  margin-bottom: 0;
}

/* オレンジ文字 */
.serviceTable__cell .-ora {
  color: #eb6100;
  font-weight: 600;
}


.cv {
  background-color: #5fab27
}

@media screen and (min-width: 750px) {
  .cv {
    padding: 8rem 0
  }
}

@media screen and (max-width: 749px) {
  .cv {
    padding: 6rem 0 4rem
  }
}

.cv__cont {
  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;
  text-align: center
}

.cv__txt {
  color: #fff;
  font-size: 2.3rem;
  font-weight: 500;
  position: relative;
  margin-bottom: 2rem
}

@media screen and (min-width: 750px) {
  .cv__txt {
    font-size: 2.3rem
  }
}

@media screen and (max-width: 749px) {
  .cv__txt {
    font-size: 1.8rem
  }
}

.cv__txt::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 3rem;
  height: 2.5rem;
  background-image: url(../img/cv_deco_lr.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

@media screen and (min-width: 750px) {
  .cv__txt::before {
    right: calc(100% + 1em)
  }
}

@media screen and (max-width: 749px) {
  .cv__txt::before {
    right: 100%
  }
}

.cv__txt::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) scaleX(-1);
  transform: translateY(-50%) scaleX(-1);
  width: 3rem;
  height: 2.5rem;
  background-image: url(../img/cv_deco_lr.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

@media screen and (min-width: 750px) {
  .cv__txt::after {
    left: calc(100% + 1em)
  }
}

@media screen and (max-width: 749px) {
  .cv__txt::after {
    left: 100%
  }
}

.cv__txt .-yellow {
  color: #fff601;
  display: inline-block;
  position: relative
}

.cv__txt .-yellow::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 100%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 8rem;
  height: 2.3rem;
  background-image: url(../img/cv_deco.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

.cv__anc {
  display: block;
  margin: 0 auto;
  max-width: 654px;
  width: 90%;
  background-color: #eb6100;
  color: #fff;
  border: 4px solid #fff;
  border-radius: 5rem;
  position: relative
}

@media screen and (min-width: 750px) {
  .cv__anc {
    font-size: 2.8rem;
    padding: 2rem 0
  }
}

@media screen and (max-width: 749px) {
  .cv__anc {
    font-size: 2rem;
    padding: 1rem 0
  }
}

.cv__anc::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-image: url(../img/cv_talk.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain
}

@media screen and (min-width: 750px) {
  .cv__anc::before {
    left: 25%;
    width: 3rem;
    height: 2.4rem
  }
}

@media screen and (max-width: 749px) {
  .cv__anc::before {
    left: 10%;
    width: 2.5rem;
    height: 2rem
  }
}

.cv__anc::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg)
}

@media screen and (min-width: 750px) {
  .cv__anc::after {
    right: 25%;
    width: 1.2rem;
    height: 1.2rem;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff
  }
}

@media screen and (max-width: 749px) {
  .cv__anc::after {
    right: 10%;
    width: .8rem;
    height: .8rem;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff
  }
}

@media screen and (min-width: 750px) {
  .cv__anc:hover {
    color: #eb6100;
    background-color: #fff;
    border: 4px solid #eb6100
  }

  .cv__anc:hover::before {
    background-image: url(../img/cv_talk_after.svg)
  }

  .cv__anc:hover::after {
    border-top: 4px solid #eb6100;
    border-right: 4px solid #eb6100
  }
}

.customer {
  padding-bottom: 6rem
}

.customer__cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (min-width: 1024px) {
  .customer__cont {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 8rem
  }
}

@media screen and (max-width: 1023px) {
  .customer__cont {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.customer__item {
  width: 47%
}

@media screen and (max-width: 1023px) {
  .customer__item {
    width: 100%
  }

  .customer__item+.customer__item {
    margin-top: 3rem
  }
}

.customer__glaph {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 4rem
}

@media screen and (min-width: 1024px) {
  .customer__glaph {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media screen and (max-width: 1023px) {
  .customer__glaph {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
  }
}

.customer__info {
  max-width: 22rem;
  width: 46.8085106383%
}

.customer__txt {
  font-weight: 500
}

.customer__txt sup {
  margin-left: 1rem;
  font-size: 50%
}

@media screen and (min-width: 750px) {
  .customer__txt {
    font-size: 3rem
  }
}

@media screen and (max-width: 749px) {
  .customer__txt {
    font-size: 2.4rem
  }
}

.customer__number {
  color: #fa9007;
  font-size: 4rem;
  font-family: "Poppins", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  letter-spacing: -0.01em
}

@media screen and (min-width: 750px) {
  .customer__number .-big {
    font-size: min(7.5vw, 10rem)
  }
}

@media screen and (max-width: 749px) {
  .customer__number .-big {
    font-size: 4rem
  }
}

.customer__chart {
  border-radius: 50%;
  background: var(--GraphAnime);
  background-color: #fff;
  position: relative
}

@media screen and (min-width: 750px) {
  .customer__chart {
    width: 23rem;
    height: 23rem
  }
}

@media screen and (max-width: 749px) {
  .customer__chart {
    width: 15rem;
    height: 15rem
  }
}

.customer__img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%)
}

@media screen and (min-width: 750px) {
  .customer__img {
    width: 168px;
    height: 168px
  }
}

@media screen and (max-width: 749px) {
  .customer__img {
    width: 108px;
    height: 108px
  }
}

.customer__sub {
  text-align: center;
  font-size: 1.4rem
}

.customer__btm {
  width: 100%;
  padding-bottom: 6rem
}

.customer__logo {
  width: 100%
}

@media screen and (min-width: 750px) {
  .customer__client {
    width: 130px
  }
}

@media screen and (max-width: 749px) {
  .customer__client {
    width: 80px
  }
}

.cases__cont {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
}

@media screen and (max-width: 749px) {
  .cases__cont {
    padding: 0 1.5rem;
  }
}

.cases__list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 3rem;
  position: relative;
}

@media screen and (max-width: 1023px) {
  .cases__list {
    flex-direction: column;
    gap: 3rem;
  }
}

@media screen and (max-width: 749px) {
  .cases__list {
    gap: 5rem;
  }
}

.cases__item {
  flex: 1;
  position: relative;
}

@media screen and (min-width: 1024px) {
  .cases__item {
    max-width: calc(33.333% - 2rem);
  }
}

.cases__link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease;
}

@media screen and (min-width: 750px) {
  .cases__link:hover {
    transform: translateY(-5px);
  }
}

.cases__img {
  width: 100%;
  margin-bottom: 2rem;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 16 / 9;
}

@media screen and (max-width: 749px) {
  .cases__img {
    margin-bottom: 1.5rem;
  }
}

.cases__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

@media screen and (min-width: 750px) {
  .cases__link:hover .cases__img img {
    transform: scale(1.05);
  }
}

.cases__title {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  color: #1a1a1a;
  transition: color 0.3s ease;
}

@media screen and (max-width: 749px) {
  .cases__title {
    font-size: 1.4rem;
    line-height: 1.3;
  }
}

@media screen and (min-width: 750px) {
  .cases__link:hover .cases__title {
    color: #eb6100;
  }
}

/* 区切り線（デスクトップのみ） */
.cases__divider {
  position: absolute;
  top: 0;
  right: -1.5rem;
  width: 1px;
  height: 100%;
  background-color: #ddd;
}

@media screen and (max-width: 1023px) {
  .cases__divider {
    display: none;
  }
}

.flow {
  background-color: #f3ffe1
}

.flow__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (min-width: 1024px) {
  .flow__list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
}

@media screen and (max-width: 1023px) {
  .flow__list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media screen and (min-width: 1024px) {
  .flow__item {
    max-width: 227px;
    width: 20.6363636364%
  }

  .flow__item:last-child {
    width: 19.0909090909%
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .flow__item {
    max-width: 307px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -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
  }

  .flow__item:nth-child(n+3) {
    margin-top: 4rem
  }
}

@media screen and (max-width: 749px) {
  .flow__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%
  }

  .flow__item+.flow__item {
    margin-top: 2rem
  }
}

.flow__img {
  text-align: center
}

@media screen and (min-width: 750px) {
  .flow__img {
    margin-bottom: 2rem
  }
}

@media screen and (max-width: 749px) {
  .flow__img {
    margin-right: 2rem
  }
}

.flowItem__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column
}

@media screen and (min-width: 750px) {
  .flowItem__info {
    max-width: 210px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
  }
}

@media screen and (max-width: 749px) {
  .flowItem__info {
    width: 100%;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
  }
}

.flowItem__ttl {
  font-weight: 500;
  border-bottom: 1px solid #1a1a1a
}

@media screen and (min-width: 750px) {
  .flowItem__ttl {
    font-size: 1.9rem;
    margin-bottom: 2rem
  }
}

@media screen and (max-width: 749px) {
  .flowItem__ttl {
    font-size: 1.6rem;
    margin-bottom: 1rem
  }
}

@media screen and (min-width: 750px) {
  .flowItem__txt {
    font-size: 1.5rem
  }
}

@media screen and (max-width: 749px) {
  .flowItem__txt {
    font-size: 1.2rem
  }
}

@media screen and (min-width: 1024px) {
  footer {
    padding: 13rem 0 5rem
  }
}

@media screen and (max-width: 1023px) {
  footer {
    padding: 6rem 0 8rem
  }
}

.ft__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 2rem
}

@media screen and (min-width: 1024px) {
  .ft__inner {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .ft__inner {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media screen and (max-width: 749px) {
  .ft__inner {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

.ft__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (max-width: 1023px) {
  .ft__info {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 2rem
  }
}

.ft__logo {
  margin-right: 3rem
}

@media screen and (min-width: 750px) {
  .ft__logo {
    width: 12rem
  }
}

@media screen and (max-width: 749px) {
  .ft__logo {
    width: 10rem
  }
}

.ft__address {
  font-weight: 500;
  line-height: 2
}

@media screen and (min-width: 750px) {
  .ft__address {
    font-size: 1.6rem
  }
}

@media screen and (max-width: 749px) {
  .ft__address {
    font-size: 1.4rem
  }
}

.ft__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex
}

@media screen and (min-width: 750px) {
  .ft__link {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end
  }
}

@media screen and (max-width: 749px) {
  .ft__link {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media screen and (min-width: 750px) {
  .ft__item+.ft__item {
    margin-left: 2rem
  }
}

@media screen and (max-width: 749px) {
  .ft__item+.ft__item {
    margin-bottom: 1rem
  }
}

@media screen and (max-width: 749px) {
  .ft__item {
    width: 50%;
    text-align: center
  }
}

.ft__anc {
  font-size: 1.3rem;
  display: block;
  position: relative
}

@media screen and (min-width: 750px) {
  .ft__anc:hover {
    color: #298d06
  }

  .ft__anc:hover::after {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1)
  }

  .ft__anc::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #1a1a1a;
    -webkit-transition: all .3s;
    transition: all .3s;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
  }
}

.ft__small {
  font-size: 1.3rem;
  font-weight: 500
}

@media screen and (min-width: 1024px) {
  .ft__small {
    text-align: right
  }
}

@media screen and (max-width: 1023px) {
  .ft__small {
    text-align: center
  }
}

.pageTop {
  background-color: #eb6100;
  border-radius: 50%;
  border: 2px solid #eb6100
}

@media screen and (min-width: 1024px) {
  .pageTop {
    position: fixed;
    right: 2%;
    bottom: 2%;
    width: 144px;
    height: 144px;
    max-width: 144px;
    -webkit-filter: drop-shadow(0 0 10px rgba(26, 26, 26, 0.2));
    filter: drop-shadow(0 0 10px rgba(26, 26, 26, 0.2));
    -webkit-transition: .3s;
    transition: .3s
  }

  .pageTop:hover {
    -webkit-filter: none;
    filter: none
  }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
  .pageTop {
    position: fixed;
    right: 2%;
    bottom: 2%;
    width: 144px;
    height: 144px;
    max-width: 144px;
    -webkit-filter: drop-shadow(0 0 10px rgba(26, 26, 26, 0.2));
    filter: drop-shadow(0 0 10px rgba(26, 26, 26, 0.2))
  }
}

@media screen and (max-width: 749px) {
  .pageTop {
    display: none
  }
}

.pageTop:hover {
  background-color: #fff
}

.pageTop:hover .cta__top {
  color: #eb6100;
  border-bottom: 1px solid #eb6100
}

.pageTop:hover .cta__btm {
  color: #eb6100
}

.cta__anc {
  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;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%
}

.cta__top {
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  margin-bottom: .5rem;
  padding-bottom: .5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  border-bottom: 1px solid #fff
}

.cta__btm {
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff
}

.cta__btn {
  position: absolute;
  bottom: 0;
  right: 0
}

@media only screen and (max-width: 767px) {
  .break-on-mobile::before {
    content: "";
    display: block;
  }
}

table.service__table thead th.serviceTable__header {
  font-size: 2.6rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  padding: 2.4rem 1.5rem !important;
}