@charset "UTF-8";
/* KV */
.kv {
  overflow-x: hidden;
  position: relative;
  background: #fff;
}
@media (min-width: 769px) {
  .kv .btnWrap {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .kv .btnWrap {
    width: 100%;
    margin-top: 6.4vw;
  }
}
@media (min-width: 769px) {
  .kv .btnWrap .btn01 {
    display: flex;
    flex-direction: row;
    gap: 8px;
    width: 407px;
    min-height: 78px;
    font-size: 24px;
    margin-top: 15px;
  }
}
@media (max-width: 768px) {
  .kv .btnWrap .btn01 {
    width: 100%;
    min-height: 16.2666666667vw;
    font-size: 4.8vw;
  }
}
@media (min-width: 769px) {
  .kv .btnWrap .btn01::after {
    position: static;
  }
}
@media (max-width: 768px) {
  .kv .btnWrap .btn01::after {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
  }
}
.kv .btnWrap .free {
  display: inline-block;
  border: 2px solid #ad0027;
  color: #ad0027;
  background: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 4px;
  position: absolute;
}
@media (min-width: 769px) {
  .kv .btnWrap .free {
    font-size: 18px;
    padding: 3px 10px;
    top: -8px;
    left: -15px;
  }
}
@media (max-width: 768px) {
  .kv .btnWrap .free {
    font-size: 4vw;
    padding-inline: 2.6666666667vw;
    top: -4.2666666667vw;
  }
}

.kvInner {
  background: no-repeat left center/contain;
}
@media (min-width: 769px) {
  .kvInner {
    background-image: url(../img/top/kv_pc.webp);
    width: 1440px;
    height: 610px;
    margin-inline: auto;
    position: relative;
  }
}
@media (max-width: 768px) {
  .kvInner {
    display: flex;
    background-image: url(../img/top/kv_sp.webp);
    aspect-ratio: 750/1050;
    padding-inline: 4.2666666667%;
    padding-bottom: 12vw;
  }
}
.kvInner figure {
  width: 100%;
  max-width: 999px;
  margin: 0;
  overflow: hidden;
  background: #fff;
}
@media (max-width: 768px) {
  .kvInner figure {
    aspect-ratio: auto;
    height: auto;
  }
}
.kvInner figure img {
  width: 100%;
  max-width: 100%;
  top: 0;
  left: 0;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: left;
     object-position: left;
}

@media (min-width: 769px) {
  .kvBody {
    width: 38%;
    max-width: 555px;
    position: absolute;
    z-index: 2;
    top: calc(50% - 2px);
    left: calc(50% + 43px);
    translate: 0 -50%;
    transition: left 0.2s;
  }
}
@media (min-width: 1131px) and (max-width: 1300px) {
  .kvBody {
    left: 50vw;
  }
}
@media (min-width: 951px) and (max-width: 1130px) {
  .kvBody {
    left: 40vw;
  }
}
@media (min-width: 769px) and (max-width: 950px) {
  .kvBody {
    left: 40px;
  }
}
@media (max-width: 768px) {
  .kvBody {
    width: 100%;
    margin-top: auto;
  }
}

.kvSubTitle {
  font-weight: bold;
  color: #373737;
}
@media (min-width: 769px) {
  .kvSubTitle {
    font-size: 16px;
    line-height: 1.2;
  }
}
@media (max-width: 768px) {
  .kvSubTitle {
    font-size: 3.7333333333vw;
    line-height: 1.5;
  }
}
.kvSubTitle span {
  display: block;
}
@media (min-width: 769px) {
  .kvSubTitle span {
    background-color: rgba(255, 255, 255, 0.8);
    padding: 6px 10px;
    display: inline-block;
  }
}
@media (min-width: 769px) {
  .kvSubTitle span + span {
    margin-top: 3px;
  }
}
.kvLeadText {
  font-weight: bold;
  color: #111;
  line-height: 1.2;
  margin-top: 12px;
}
@media (min-width: 769px) {
  .kvLeadText {
    font-size: 44px;
  }
}
@media (max-width: 768px) {
  .kvLeadText {
    font-size: 8.5333333333vw;
    margin-top: 2.4vw;
  }
}

.kvTitle {
  font-weight: bold;
  color: #b30000;
}
@media (min-width: 769px) {
  .kvTitle {
    font-size: 46px;
  }
}
@media (max-width: 768px) {
  .kvTitle {
    font-size: 7.4666666667vw;
    margin-top: 1.6vw;
  }
}

/* Campaign */
.campaign {
  background-color: #fbfbfb;
}
@media (min-width: 769px) {
  .campaign {
    padding-block: 42px 62px;
  }
}
@media (max-width: 768px) {
  .campaign {
    padding-block: 30px;
  }
}
.campaign .inner01 {
  text-align: center;
}
.campaign .inner01 p {
  font-size: 18px;
  text-align: left;
}
@media (min-width: 769px) {
  .campaign .inner01 p {
    max-width: 970px;
    margin-top: 8px;
    margin-inline: auto;
  }
}
@media (max-width: 768px) {
  .campaign .inner01 p {
    line-height: 1.5;
    margin-top: 8px;
  }
}
.campaign .campaignTitle {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #e36e26;
  text-align: center;
}
@media (min-width: 769px) {
  .campaign .campaignTitle {
    gap: 12px;
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  .campaign .campaignTitle {
    gap: 16px;
    font-size: 24px;
  }
}
.campaign .campaignTitle::before, .campaign .campaignTitle::after {
  content: "";
  background-color: #e36e26;
  width: 2px;
  height: 1em;
  translate: 0 2px;
}
.campaign .campaignTitle::before {
  rotate: -24deg;
}
.campaign .campaignTitle::after {
  rotate: 24deg;
}
.campaign .btn02 {
  margin-inline: auto;
}
@media (min-width: 769px) {
  .campaign .btn02 {
    width: 370px;
    min-height: 74px;
    margin-top: 16px;
  }
}
@media (max-width: 768px) {
  .campaign .btn02 {
    min-height: 54px;
    font-size: 18px;
    margin-top: 16px;
  }
}

/* Clients */
@media (min-width: 769px) {
  .clients {
    padding-block: 88px;
  }
}
@media (max-width: 768px) {
  .clients {
    padding-block: 48px;
  }
}
.clients .sectionTitle {
  margin-top: 0;
}
@media (min-width: 769px) {
  .clients .sectionTitle {
    font-size: 32px;
  }
}
@media (max-width: 768px) {
  .clients .sectionTitle {
    font-size: 24px;
  }
}

.clientsList {
  display: grid;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .clientsList {
    grid-template-columns: repeat(4, 1fr);
    gap: 28px 4px;
    min-width: 1080px;
    margin-top: 44px;
  }
}
@media (max-width: 768px) {
  .clientsList {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 4px;
    min-width: 100%;
    margin-top: 32px;
  }
}
.clientsList li {
  text-align: center;
}
.clientsList li img {
  max-height: 45px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (min-width: 769px) {
  .clientsList li img {
    width: 80%;
  }
}
@media (max-width: 768px) {
  .clientsList li img {
    width: 90%;
    max-height: 40px;
  }
}

/* Feature */
.feature {
  background-color: #fff9fb;
}
@media (min-width: 769px) {
  .feature {
    padding-block: 88px;
  }
}
@media (max-width: 768px) {
  .feature {
    padding-block: 48px;
  }
}

.featureGrid {
  display: grid;
}
@media (min-width: 769px) {
  .featureGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-top: 48px;
  }
}
@media (max-width: 768px) {
  .featureGrid {
    grid-template-columns: 1fr;
    gap: 8px;
    margin-top: 25px;
  }
}

.featureItem {
  background-color: #fff;
  border: #ffd5de 1px solid;
}
@media (min-width: 769px) {
  .featureItem {
    padding: 32px 48px;
  }
}
@media (max-width: 768px) {
  .featureItem {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
  }
}
.featureItem span {
  display: block;
  background-color: #ad0027;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  clip-path: polygon(0 0, 100% 0, calc(100% - 1rem) 100%, 0 100%);
}
@media (min-width: 769px) {
  .featureItem span {
    width: 124px;
    font-size: 18px;
    padding: 8px 27px 8px 24px;
  }
}
@media (max-width: 768px) {
  .featureItem span {
    font-size: 12px;
    padding: 3px 6px;
    width: 71px;
  }
}
.featureItem p {
  font-weight: bold;
  line-height: 1.2857142857;
}
@media (min-width: 769px) {
  .featureItem p {
    font-size: 28px;
    margin-top: 18px;
  }
}
@media (max-width: 768px) {
  .featureItem p {
    font-size: 16px;
    margin-top: 8px;
  }
}
@media (min-width: 769px) {
  .featureItem img {
    margin-top: 24px;
  }
}
@media (max-width: 768px) {
  .featureItem img {
    flex: 0 0 32.154340836%;
    width: 100px;
    height: auto;
    margin-top: 0px;
  }
}

/* Cases */
.cases {
  background: #fbfbfb;
}
@media (min-width: 769px) {
  .cases {
    padding-block: 88px;
  }
}
@media (max-width: 768px) {
  .cases {
    padding-block: 48px;
  }
}

.caseList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 769px) {
  .caseList {
    gap: 32px;
    margin-top: 48px;
  }
}
@media (max-width: 768px) {
  .caseList {
    flex-direction: column;
    gap: 24px;
    align-items: center;
    margin-top: 32px;
  }
}
.caseList:has(.caseBox:nth-child(2)) {
  justify-content: flex-start;
}

.caseBox a {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  height: 100%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}
@media (min-width: 769px) {
  .caseBox a {
    flex-direction: column;
    max-width: 524px;
    padding: 24px 24px 19px;
  }
}
@media (max-width: 768px) {
  .caseBox a {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    -moz-column-gap: 16px;
         column-gap: 16px;
    padding: 16px;
  }
}
@media (hover: hover) {
  .caseBox a:hover {
    opacity: 0.65;
  }
}

.caseImage {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #eee;
  aspect-ratio: 34/21;
  overflow: hidden;
}
@media (min-width: 769px) {
  .caseImage {
    width: 100%;
  }
}
@media (max-width: 768px) {
  .caseImage {
    width: 100px;
    flex: 0 0 32.154340836%;
  }
}
.caseImage img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.caseTitle {
  flex: 1 1 auto;
  font-weight: bold;
  line-height: 1.4444444444;
}
@media (min-width: 769px) {
  .caseTitle {
    font-size: 18px;
    margin-top: 24px;
  }
}
@media (max-width: 768px) {
  .caseTitle {
    width: 53%;
    font-size: 16px;
    margin-top: 0;
    line-height: 1.2;
  }
}

.caseNameWrap {
  display: flex;
  justify-content: space-between;
}
@media (min-width: 769px) {
  .caseNameWrap {
    align-items: center;
    margin-top: 27px;
  }
}
@media (max-width: 768px) {
  .caseNameWrap {
    gap: 8px;
    width: 100%;
    margin-top: 24px;
  }
}
.caseNameWrap p {
  font-weight: bold;
}
@media (min-width: 769px) {
  .caseNameWrap p {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .caseNameWrap p {
    font-size: 16px;
  }
}
@media (min-width: 769px) {
  .caseNameWrap img {
    width: 34px;
  }
}
@media (max-width: 768px) {
  .caseNameWrap img {
    width: 24px;
  }
}
.caseNameWrap img:hover {
  opacity: 0.65;
}

/* Plan */
@media (min-width: 769px) {
  .plan {
    padding-block: 88px;
  }
}
@media (max-width: 768px) {
  .plan {
    padding-block: 56px;
  }
}
.plan .btn01 {
  width: 100%;
  margin-inline: auto;
}
@media (min-width: 769px) {
  .plan .btn01 {
    max-width: 393px;
    min-height: 63px;
    font-size: 20px;
    margin-top: 32px;
  }
}
@media (max-width: 768px) {
  .plan .btn01 {
    font-size: 18px;
    margin-top: 24px;
    min-height: 53px;
  }
}

.planLists {
  display: flex;
  justify-content: center;
  list-style: none;
}
@media (min-width: 769px) {
  .planLists {
    align-items: stretch;
    gap: 23px;
    margin-block: 48px 32px;
  }
}
@media (max-width: 768px) {
  .planLists {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-block: 40px 24px;
  }
}
.planLists li {
  flex: 1 1 30%;
  width: 100%;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}
@media (min-width: 769px) {
  .planLists li {
    max-width: 344px;
    padding-block: 40px 48px;
  }
}
@media (max-width: 768px) {
  .planLists li {
    display: flex;
    align-items: center;
    -moz-column-gap: 16px;
         column-gap: 16px;
    max-width: none;
    padding: 24px;
  }
}
.planLists li p {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  color: #333;
}
@media (min-width: 769px) {
  .planLists li p {
    margin-top: 16px;
  }
}
@media (max-width: 768px) {
  .planLists li p {
    width: 65%;
    text-align: left;
    margin-top: 0;
  }
}
.planLists li img {
  max-width: 78px;
  height: auto;
}
@media (min-width: 769px) {
  .planLists li img {
    width: 78px;
    margin-inline: auto;
  }
}
@media (max-width: 768px) {
  .planLists li img {
    flex: 0 0 78px;
  }
}

.packagePlan {
  margin-inline: auto;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.16);
}
@media (min-width: 769px) {
  .packagePlan {
    margin-top: 56px;
    padding: 56px 16px;
  }
}
@media (max-width: 768px) {
  .packagePlan {
    width: 100%;
    margin-top: 37px;
    padding: 36px 16px;
  }
}

.packagePlanTitle {
  font-weight: bold;
  color: #ad0027;
  text-align: center;
  line-height: 1;
}
@media (min-width: 769px) {
  .packagePlanTitle {
    font-size: 24px;
    margin-bottom: 32px;
  }
}
@media (max-width: 768px) {
  .packagePlanTitle {
    font-size: 20px;
    margin-bottom: 24px;
  }
}

.packagePlanList {
  display: flex;
  flex-direction: column;
  margin-inline: auto;
}
@media (min-width: 769px) {
  .packagePlanList {
    width: 595px;
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .packagePlanList {
    font-size: 16px;
    padding-inline: 8px;
  }
}
.packagePlanList li {
  position: relative;
  line-height: 1.4375;
  padding-left: 1em;
}
.packagePlanList li::before {
  content: "";
  background-color: #333;
  width: 7px;
  height: 7px;
  border-radius: 50px;
  position: absolute;
  left: 0;
}
@media (min-width: 769px) {
  .packagePlanList li::before {
    top: 12px;
  }
}
@media (max-width: 768px) {
  .packagePlanList li::before {
    top: 10px;
  }
}

.packagePlanImage {
  display: flex;
  -moz-column-gap: 16px;
       column-gap: 16px;
  justify-content: center;
  margin: 0 auto;
}
@media (min-width: 769px) {
  .packagePlanImage {
    margin-block: 32px 40px;
  }
}
@media (max-width: 768px) {
  .packagePlanImage {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-block: 24px;
  }
}
@media (min-width: 769px) {
  .packagePlanImage img {
    max-width: 428px;
  }
}

/* Flow */
.flow {
  background: #fbfbfb;
}
@media (min-width: 769px) {
  .flow {
    padding-block: 88px;
  }
}
@media (max-width: 768px) {
  .flow {
    padding-block: 48px;
  }
}

.stepItems {
  display: flex;
}
@media (min-width: 769px) {
  .stepItems {
    margin-top: 60px;
  }
}
@media (max-width: 768px) {
  .stepItems {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    max-width: 1080px;
    margin: 0 auto;
    margin-top: 40px;
  }
}

.stepItem {
  position: relative;
}
@media (min-width: 769px) {
  .stepItem {
    filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.16));
    display: inline-block;
  }
}
@media (max-width: 768px) {
  .stepItem {
    filter: drop-shadow(0 3px 2px rgba(0, 0, 0, 0.08));
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 100%;
    max-width: 346px;
    margin-top: -12px;
  }
}

.stepItemNumber {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ad0027;
  width: 95px;
  height: 30px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  position: absolute;
  z-index: 1;
}
@media (min-width: 769px) {
  .stepItemNumber {
    top: -15px;
    left: 35%;
  }
}
@media (max-width: 768px) {
  .stepItemNumber {
    top: 35px;
    left: 50%;
    padding: 4px 20px;
    translate: -50% 0;
  }
}
@media (max-width: 768px) {
  .stepItem:nth-of-type(1) .stepItemNumber {
    top: 24px;
  }
}
@media (max-width: 768px) {
  .stepItem:nth-of-type(2) .stepItemNumber {
    top: 42px;
  }
}
@media (max-width: 768px) {
  .stepItem:nth-of-type(3) .stepItemNumber {
    top: 42px;
  }
}

.stepItemContents {
  flex: 0 0 auto;
  display: inline-block;
  flex-direction: column;
  justify-content: center;
  background: #fff;
  height: auto;
  text-align: center;
  position: relative;
}
@media (min-width: 769px) {
  .stepItemContents {
    padding-block: 40px 45px;
  }
}
@media (max-width: 768px) {
  .stepItemContents {
    width: 100%;
    padding-inline: 24px;
    box-sizing: border-box;
  }
}
@media (min-width: 769px) {
  .stepItem:nth-of-type(1) .stepItemContents {
    width: 366px;
    clip-path: polygon(0 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%);
    padding-right: 1.6rem;
  }
}
@media (max-width: 768px) {
  .stepItem:nth-of-type(1) .stepItemContents {
    clip-path: polygon(100% 0, 100% calc(100% - 1.6rem), 50% 100%, 0 calc(100% - 1.6rem), 0 0);
    padding-block: 60px 50px;
    padding-right: 1.6rem;
  }
}
@media (min-width: 769px) {
  .stepItem:nth-of-type(2) .stepItemContents {
    width: 387px;
    clip-path: polygon(0 0, calc(100% - 1.6rem) 0, 100% 50%, calc(100% - 1.6rem) 100%, 0 100%, 1.6rem 50%);
    margin-left: -0.9rem;
  }
}
@media (max-width: 768px) {
  .stepItem:nth-of-type(2) .stepItemContents {
    clip-path: polygon(50% 10%, 100% 0, 100% calc(100% - 1.6rem), 50% 100%, 0 calc(100% - 1.6rem), 0 0);
    margin-left: 0;
    padding-block: 80px 40px;
  }
}
@media (min-width: 769px) {
  .stepItem:nth-of-type(3) .stepItemContents {
    width: 357px;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 1.6rem 50%);
    margin-left: -0.9rem;
  }
}
@media (max-width: 768px) {
  .stepItem:nth-of-type(3) .stepItemContents {
    clip-path: polygon(50% 1.6rem, 100% 0, 100% 100%, 0 100%, 0 0);
    margin-left: 0;
    padding-block: 80px 30px;
  }
}
.stepItemContents img {
  width: 100%;
  height: auto;
  max-width: 110px;
  margin: 0 auto;
}
.stepItemContents .stepTitle {
  font-weight: bold;
  color: #ad0027;
  line-height: 1;
  text-align: center;
}
@media (min-width: 769px) {
  .stepItemContents .stepTitle {
    font-size: 24px;
    margin-top: 16px;
  }
}
@media (max-width: 768px) {
  .stepItemContents .stepTitle {
    font-size: 18px;
    margin-top: 16px;
  }
}
.stepItemContents .stepLeadText {
  text-align: center;
  margin-top: 8px;
}
@media (min-width: 769px) {
  .stepItemContents .stepLeadText {
    font-size: 18px;
  }
}
@media (max-width: 768px) {
  .stepItemContents .stepLeadText {
    font-size: 16px;
  }
}

/* リンクボタン オーバーライド */
@media (min-width: 769px) {
  .link01 .linkInner {
    width: 100%;
    max-width: 1139px;
    padding-block: 56px;
  }
}/*# sourceMappingURL=biz.css.map */