.p-page-contact .l-hero {
    min-height: 0 !important;
}
.p-page-contact {
    padding-bottom: 0 !important;
}

.p-page-doc-download {
    background-color: #fafaf4;
    padding-bottom: 60px;
}

.p-page-doc-download .l-hero {
  background: transparent;
}

.p-page-doc-download .l-hero::after,
.p-page-doc-download .l-hero::before {
  content: "";
  display: none;
}

/* アーカイブダウンロードセクション全体 */
/* .archive-doc-download {
    padding: 80px 0;
} */

@media screen and (max-width:769px) {
    .archive-doc-download {
        padding: 0;
    }
}

.archive-doc-download__inner {
    max-width: 143.6rem;
    /* width: 94.473684vw; */
    width: min(88.4375vw, 1280px);
    margin: 0 auto;
    padding: 0 20px;
}

/* カテゴリータブ部分 */
.archive-doc-download__category {
    margin-bottom: 34px;
}

.category-list3 {
    display: flex;
    /* gap: 20px; */
    gap: 14px;
    list-style: none;
    padding: 0;
    margin: 0;
    justify-content: flex-start;
}

.category-list3__item {
    margin: 0;
}

.category-list3__item-link {
    display: inline-block;
    padding: 12px 32px;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

/* 通常タブ（デフォルト） */
.category-list3__item-link {
  background-color: transparent;
  color: #C4364C;
  border: 2px solid #C4364C;
  display: inline-block;
}

/* アクティブタブ */
.category-list3__item-link.is-active {
  background-color: #C4364C;
  color: #ffffff;
  border-color: #C4364C;
}

.category-list3__item-link:hover {
    opacity: 0.8;
    transform: translateY(-2px);
}

/* カードグリッドレイアウト */
.archive-doc-download__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 30px;
    list-style: none;
    padding: 0;
    margin: 0 0 60px 0;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
    .archive-doc-download__cards {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 20px;
    }
}

@media (max-width: 768px) {
    .archive-doc-download__cards {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .category-list3 {
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .category-list3__item-link {
        padding: 8px 14px;
        font-size: 10px;
    }
}

/* 個別カード */
.archive-doc-download__card {
    margin: 0;
}

.doc-download-card {
    display: block;
    /* background: #ffffff; */
    background: transparent;
    border-radius: 16px;
    /* overflow: hidden; */
    overflow: visible;

    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); */
    height: 100%;
    /* border: 1px solid #E5E5E5; */
}

.doc-download-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

/* カード画像部分 */
/* .doc-download-card__image-wrapper {
    position: relative;
    padding-top: 56.25%;
    margin: 28px 24px 8px;
    overflow: visible;

    background: #fff;
    border: 1px solid #E5E5E5;
    border-radius: 24px;
} */

/* 画像ラッパー */
.doc-download-card__image-wrapper{
  --img-r: 14px;                       /* 角丸 */
  --img-pad: clamp(16px, 35px, 16px);  /* 画像の余白（=マージン見え） */
  position: relative;
  background: #fff;
  border-radius: var(--img-r);
  aspect-ratio: 16 / 9;                /* 固定比が不要なら削除 */
  overflow: hidden;                    /* 角丸内に収める */
  box-shadow: 0 0 0 1px #D9DEE3 inset;
}

/* .doc-download-card__image {
    position: absolute;
    width: 100%;
    height: 100%;

    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0,0,0,0.16);
} */

/* 中央寄せ用コンテナ */
.doc-download-card__image{
  position: absolute;
  inset: 0;
  padding: var(--img-pad);             /* 画像を小さく＝白余白を作る */
  display: grid;
  place-items: center;                 /* 水平・垂直センター */

    margin: auto;
  width: 300px;

}

/* 画像本体 */
.doc-download-card__image img{
  width: 100%;
  height: 100%;
  object-fit: contain;                 /* 全体を表示して中央に配置 */
  object-position: center;
  border-radius: var(--img-r);         /* ラッパーと同じ角丸 */
  display: block;
  filter: drop-shadow(7px 7px 5px rgba(164, 164, 164, 0.75));
}

/* .utils-aspect-fix-image {
    position: absolute;
    top: 1.0rem;
    right: 1.0rem;
    bottom: 1.0rem;
    left: 1.0rem; 
    inset: 0;
}

.utils-aspect-fix-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

/* カードコンテンツ部分 */
.doc-download-card__container {
    padding: 24px;
    padding-top: 16px;               /* ← 画像直下の間隔をやや詰める */
}

/* カテゴリーラベル */
.doc-download-card__term {
    display: inline-block;
    padding: 4px 0;
    /* font-size: 13px;
    font-weight: 500; */
    font-size: 14px;                /* 視認性を上げるため13→14 */
    font-weight: 700;               /* ← 太字に */
    
    color: #C4364C;
    border-left: 3px solid #C4364C;
    padding-left: 8px;
    margin-bottom: 12px;
}

/* カードタイトル */
.doc-download-card__title {
    /* font-size: 18px; */
    font-size: 26px;                /* ← 添付UI相当の大きさ */
    font-weight: 700;
    color: #333333;
    margin: 0 0 20px 0;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media screen and (max-width: 769px) {
    .doc-download-card__title {
        font-size: 16px;
    }
}

/* カード本文 */
.doc-download-card__text {
    /* font-size: 14px; */
    font-size: 16px;                /* 14→16 */
    color: #666666;
    line-height: 1.7;
    /* margin-bottom: 20px; */
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 72px;
}

@media screen and (max-width: 769px) {
    .doc-download-card__text {
        font-size: 12px;
    }
}

/* ダウンロードボタン */
.doc-download-card__button {
    margin-top: auto;
}

.doc-download-card__button .btn {
    display: block;
    width: 100%;
    /* padding: 14px 20px; */
    padding: 22px 30px;             /* 高さを確保 */
    background-color: #C4364C;
    color: #ffffff;
    font-size: 2.0rem;
    font-weight: 700;
    text-align: center;
    /* border: none;
    border-radius: 25px; */

    border-radius: 9999px;          /* ピル形 */
    border: 2px solid #222;         /* 黒縁（添付UIの見た目） */

    cursor: pointer;
    transition: all 0.3s ease;
}

@media screen and (max-width:769px) {
    .doc-download-card__button .btn {
        font-size: 1.35rem;
        width: 80%;
        padding: 14px 30px;
        margin-right: auto;
        margin-left: auto;
        text-align: center;
    }
}

.doc-download-card__button .btn:hover {
    background-color: #A02E40;
    transform: translateY(-2px);
}


/* フェードインアップアニメーション */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.js-scroll-anime[data-anime="fadeInUp"].is-animated {
    animation: fadeInUp 0.6s ease forwards;
}

/* ページネーション */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 60px;
}

.pagination a,
.pagination span {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
}

.pagination a {
    background-color: #ffffff;
    color: #333333;
    border: 1px solid #E5E5E5;
}

.pagination a:hover {
    background-color: #C4364C;
    color: #ffffff;
    border-color: #C4364C;
}

.pagination .current {
    background-color: #C4364C;
    color: #ffffff;
    border: 1px solid #C4364C;
}

.pagination .prev,
.pagination .next {
    font-weight: 700;
}


/* セクション共通スタイル */
.section {
    position: relative;
}

.inner {
    width: 100%;
    box-sizing: border-box;
}

@media screen and (max-width: 768px) {
    .l-hero {
        width: min(88.4375vw, 1280px);
    }
}

@media screen and (max-width: 768px) {
    .l-hero_ttl {
        font-size: 24px;
    }
}

.p-page-download .l-download__row-form.doc-download-form {
    /* padding: 1.1vw 2.01vw; */
    padding: 1.1vw 2.01vw 7.01vw 2.01vw;
}
/* .p-page-download .l-download__row-form.doc-download-form form {
    padding: 0 1.25vw !important;
} */

@media screen and (min-width: 960px) {
    .p-page-download .l-download__row-form.doc-download-form form fieldset {
        padding: 0 min(3.125vw, 40px) 0 min(3.125vw, 40px);
    }
}

/* 余計なpadding消す */
.p-page-download .l-download__row-form.doc-download-form form fieldset .c-agree-check {
  padding-left: 0;
}
.p-page-download .l-download__row-form.doc-download-form form fieldset .wpcf7-list-item {
  margin: 0 !important;
}
.field:not(:first-of-type) {
  margin-top: 0 !important;
}
.p-page-download .l-download__row-form.doc-download-form form .btn-submit,
.p-page-download .l-download__row-form.doc-download-form form .btn-to-index-wrapper {
  margin: min(2.9210526316vw, 90px) auto;
}

/* h2.p-download__img-item__ttl {
    text-align: center !important;
    margin-bottom: 12px !important;
    font-weight: 700 !important;
    color: #dc4642 !important;
}

.p-download__carousel {
    margin-top: 22px !important;
    position: relative;
    margin: 0 auto;
}

.p-download__carousel-items {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.p-download__carousel-item {
    background-color: #fff;
    border: solid 1px #dc4642;
    display: flex;
    flex-direction: column;
    height: auto;
    padding: 1.51041666vw;
}

.p-download__carousel-item .p-download__carousel-item__image {
    aspect-ratio: 16 / 6 !important;
}

.p-download__carousel-item img {
    object-fit: cover !important;
    width: 100% !important;
    max-height: 15.13157894vw !important;
    overflow: hidden !important;
    margin-bottom: 1.05416666vw;
}

.p-download__carousel-item h3.p-download__carousel-item__title {
    font-size: min(1.197916666vw, 18px);
    font-weight: 700;
    line-height: 1.39;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-bottom: 0.65vw;
}

.p-download__carousel-item .p-download__carousel-item__company {
    width: 100%;
    display: flex;
    justify-content: space-between;
    height: auto;
    font-size: min(0.885416666vw, 17px);
    margin-bottom: 1.05416666vw;
}

.p-download__carousel-item .p-download__carousel-item__company .company-link::after {
    content: "";
    max-width: 1.56525rem;
    width: 0.815234375vw;
    max-height: 1.56525rem;
    height: 0.815234375vw;
    background-image: url(../images/common/link-icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: inline-block;
    vertical-align: bottom;
}

.p-download__carousel-item .p-download__carousel-item__project .project-header {
    width: 100%;
    background-color: #dc4642;
    color: #fff;
    font-size: min(0.885416666vw, 17px);
    font-weight: 500;
    padding: 0.228333vw 0.46875vw;
    margin-bottom: 0.65vw;
}

.p-download__carousel-item .p-download__carousel-item__project .project-area,
.p-download__carousel-item .p-download__carousel-item__project .project-title {
    font-size: min(0.885416666vw, 17px);
    font-weight: 500;
    margin-bottom: 1.041666vw;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.p-download__carousel-item .p-download__carousel-item__tags {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    height: auto;
}

.p-download__carousel-item .p-download__carousel-item__tags .tag{
    display: block;
    width: auto;
    font-size: min(0.677083333vw, 13px);
    background-color: #dc4642;
    color: #fff;
    font-weight: 500;
    margin: 0.2604166vw 0.2604166vw 0 0;
    padding: 0.3125vw;
    border-radius: 0.416666vw;
}

.carousel-slider__prev {
  position: absolute;
  left: -10%;
  top: 50%;
  transform: translateY(-50%);
  width: 80px;
  height: 80px;
  background: #e85454;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: background 0.3s ease, transform 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-slider__prev:hover {
  background: #d24444;
  transform: translateY(-50%) scale(1.05);
}

.carousel-slider__prev:active {
  transform: translateY(-50%) scale(0.95);
}

.carousel-slider__prev::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(45deg);
  margin-left: 6px;
}

.carousel-slider__next {
  position: absolute;
  right: -10%;
  top: 50%;
  transform: translateY(-50%);
  width: 80px;
  height: 80px;
  background: #e85454;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  transition: background 0.3s ease, transform 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-slider__next:hover {
  background: #d24444;
  transform: translateY(-50%) scale(1.05);
}

.carousel-slider__next:active {
  transform: translateY(-50%) scale(0.95);
}

.carousel-slider__next::before {
  content: '';
  display: block;
  width: 28px;
  height: 28px;
  border-right: 4px solid #fff;
  border-top: 4px solid #fff;
  transform: rotate(45deg);
  margin-right: 6px;
}

.carousel-slider__prev.is-disabled,
.carousel-slider__next.is-disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
} */



/* .p-download__carousel-item .p-download__carousel-item__image {
    aspect-ratio: 16 / 6 !important;
    align-items: center;
    text-align: center;
}

.p-download__carousel-item img {
    object-fit: cover !important;
    width: 80% !important;
    max-height: 14.13157894vw !important;
    overflow: hidden !important;
    margin-bottom: 1.05416666vw;
} */




h2.p-download__img-item__ttl {
    text-align: center !important;
    margin-bottom: 7.8px !important;
    font-weight: 700 !important;
    color: #dc4642 !important;
}

.p-download__carousel {
    margin-top: 22px !important;
    position: relative;
    margin: 0 auto;
}

.p-download__carousel-items {
    position: relative;
    overflow: hidden;
    width: 100%;
    border: 1px red solid;
}

.p-download__carousel-item {
    background-color: #fff;
    /* border: solid 1px #dc4642; */
    display: flex;
    flex-direction: column;
    height: auto;
    padding: 1.51041666vw;
}

.p-download__carousel-item .p-download__carousel-item__image {
    aspect-ratio: 16 / 6 !important;
    align-items: center;
    text-align: center;
}

.p-download__carousel-item img {
    object-fit: cover !important;
    width: 80% !important;
    max-height: 14.13157894vw !important;
    overflow: hidden !important;
    margin-bottom: 0.685208329vw;
}

.p-download__carousel-item h3.p-download__carousel-item__title {
    font-size: min(0.778645833vw, 11.7px);
    font-weight: 700;
    line-height: 1.39;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-bottom: 0.4225vw;
}

.p-download__carousel-item .p-download__carousel-item__company {
    width: 100%;
    display: flex;
    justify-content: space-between;
    height: auto;
    font-size: min(0.575520833vw, 11.05px);
    margin-bottom: 0.685208329vw;
}

.company-link {
    display: none;
}
/* .p-download__carousel-item .p-download__carousel-item__company .company-link::after {
    content: "";
    max-width: 1.56525rem;
    width: 0.815234375vw;
    max-height: 1.56525rem;
    height: 0.815234375vw;
    background-image: url(../images/common/link-icon.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    display: inline-block;
    vertical-align: bottom;
} */

.p-download__carousel-item .p-download__carousel-item__project .project-header {
    width: 100%;
    background-color: #dc4642;
    color: #fff;
    font-size: min(0.575520833vw, 11.05px);
    font-weight: 500;
    padding: 0.228333vw 0.46875vw;
    margin-bottom: 0.4225vw;
}

.p-download__carousel-item .p-download__carousel-item__project .project-area,
.p-download__carousel-item .p-download__carousel-item__project .project-title {
    font-size: min(0.575520833vw, 11.05px);
    font-weight: 500;
    margin-bottom: 0.6770829vw;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.p-download__carousel-item .p-download__carousel-item__tags {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    height: auto;
}

.p-download__carousel-item .p-download__carousel-item__tags .tag{
    display: block;
    width: auto;
    font-size: min(0.440104166vw, 8.45px);
    background-color: #dc4642;
    color: #fff;
    font-weight: 500;
    margin: 0.2604166vw 0.2604166vw 0 0;
    padding: 0.3125vw;
    border-radius: 0.416666vw;
}

.carousel-slider {
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: #e85454;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s ease, transform 0.2s ease;
}

.carousel-slider__prev {
  position: absolute;
  left: -7.5%;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-slider__prev:hover {
  background: #d24444;
  transform: translateY(-50%) scale(1.05);
}

.carousel-slider__prev:active {
  transform: translateY(-50%) scale(0.95);
}

.carousel-slider__prev::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  border-left: 4px solid #fff;
  border-bottom: 4px solid #fff;
  transform: rotate(45deg);
  margin-left: 6px;
}

.carousel-slider__next {
  position: absolute;
  right: -7.5%;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-slider__next:hover {
  background: #d24444;
  transform: translateY(-50%) scale(1.05);
}

.carousel-slider__next:active {
  transform: translateY(-50%) scale(0.95);
}

.carousel-slider__next::before {
  content: '';
  display: block;
  width: 18px;
  height: 18px;
  border-right: 4px solid #fff;
  border-top: 4px solid #fff;
  transform: rotate(45deg);
  margin-right: 6px;
}

.carousel-slider__prev.is-disabled,
.carousel-slider__next.is-disabled {
  opacity: 0.3;
  cursor: not-allowed;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
    .p-download__carousel-item {
        padding: 4.51041666vw 7.51041666vw;
    }
    h2.p-download__img-item__ttl {
        font-size: min(5.97916666vw, 24px);;
    }

    .p-download__carousel-item img {
        object-fit: cover !important;
        width: 80% !important;
        max-height: 30.13157894vw !important;
        overflow: hidden !important;
        margin-bottom: 1.05416666vw;
    }

    .p-download__carousel-item h3.p-download__carousel-item__title {
        font-size: min(2.97916666vw, 18px);
        margin-bottom: 1.65vw;
    }

    .p-download__carousel-item .p-download__carousel-item__company {
        font-size: min(2.45416666vw, 18px);
        margin-bottom: 2.05416666vw;
    }

    .p-download__carousel-item .p-download__carousel-item__project .project-header {
        font-size: min(1.885416666vw, 17px);
        margin-bottom: 1.65vw;
    }

    .p-download__carousel-item .p-download__carousel-item__project .project-area,
    .p-download__carousel-item .p-download__carousel-item__project .project-title {
        font-size: min(1.885416666vw, 17px);
        margin-bottom: 2.041666vw;
    }

    .p-download__carousel-item .p-download__carousel-item__tags .tag{
        font-size: min(1.677083333vw, 13px);
    }

    .carousel-slider {
        width: 30px;
        height: 30px;
    }
    .carousel-slider__prev {
        left: -4.50%;
    }
    .carousel-slider__next {
        right: -4.50%;
    }

    .carousel-slider__prev::before,
    .carousel-slider__next::before {
        width: 12px;
        height: 12px;
    }
}

.company-logo-carousel {
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  padding: 40px 0;
  position: relative;
}

.company-logo-carousel__wrapper {
  display: flex;
  animation: scroll-infinite 20s linear infinite;
}

.company-logo-carousel__card {
  flex: 0 0 auto;
  width: 200px;
  height: 100px;
  margin: 0 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  /* background-color: #f8f8f8; */
  border-radius: 8px;
  /* box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); */
}

.company-logo-carousel__card img {
  max-width: 80%;
  max-height: 80%;
  object-fit: contain;
}

@keyframes scroll-infinite {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .company-logo-carousel__card {
    width: 150px;
    height: 75px;
    margin: 0 10px;
  }
}

@media screen and (min-width:769px) {
    .p-page-download .l-download__row {
        gap: 2.2vw !important;
    }
    .p-page-download .l-download__row-img {
        width: 25.7% !important;
    }
    h2.p-download__img-item__ttl {
        margin-bottom: 14px !important;
    }
}

/* ホバー時の一時停止 */
.company-logo-carousel:hover .company-logo-carousel__wrapper {
  animation-play-state: paused;
}

/* MKTOスタイリング */
.mktoForm .mktoLabel {
    display: flex !important;
    color: #000 !important;
    font-weight: 500 !important;
    gap: 1.0rem !important;
    font-size: min(1.40625vw, 18px) !important;
}

.mktoForm .mktoLabel .mktoAsterix {
    color: var(--brand-heading-color) !important;
}

.mktoForm {
    padding: 0 1rem !important;
}

.mktoForm input[type="text"],
.mktoForm input[type="email"],
.mktoForm input[type="tel"],
.mktoForm input[type="number"],
.mktoForm input[type="url"],
.mktoForm input[type="date"],
.mktoForm select.mktoField,
.mktoForm textarea.mktoField {
    border-bottom: 1px solid rgba(0, 0, 0, 0.5) !important;
}

.mktoForm .mktoFormRow {
    display: flex !important;
    flex-direction: row !important;
    margin-top: 4.5rem !important;
    gap: 2rem !important;
    /* justify-content: center !important; */
}
.mktoFormRow:has(input[name="all_accept_pp"]) {
    margin-top: 3rem !important;
}
.mktoForm .mktoFormCol {
    width: 100% !important;
}
.mktoErrorMsg {
  font-size: min(1.1184210526vw, 17px) !important;
  color: var(--brand-heading-color) !important;
  margin-top: min(0.6578947368vw, 10px) !important;
  display: inline-block !important;
}
.mktoForm span {
    font-size: 1.5rem !important;
    line-height: 170% !important;
}
.mktoForm a {
    color: var(--brand-heading-color);
    font-size: 1.5rem !important;
    text-decoration: underline !important;
}
.mktoForm span strong span {
    display: flex !important;
    color: #000 !important;
    font-weight: 500 !important;
    gap: 1.0rem !important;
    font-size: min(1.40625vw, 18px) !important;
    line-height: 0;
}
.mktoForm #all_accept_pp{
  all: revert !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 .5em 0 0 !important;
  vertical-align: middle !important;
}

.mktoForm .mktoFieldDescriptor.mktoFormCol > div.mktoFieldWrap.mktoRequiredField {
    align-items: baseline !important;
    gap: 1.0rem !important;
}

.mktoForm .mktoButton {
    background-color: #dc4642;
    font-size: min(1.9736842105vw, 30px);
    color: #fff;
    font-weight: 800;
    display: grid;
    place-content: center;
    min-height: min(5.2631578947vw, 80px);
    position: relative;
    margin: 0 auto 0;

    border-radius: min(1.3157894737vw, 20px);
    overflow: hidden;
    box-shadow: 0 min(0.526315789vw, 8px) 0 #a2262f;
    margin-bottom: min(0.5263157895vw, 8px);
    position: relative;
    transition: 0.3s all;
    width: min(30.7894736842vw, 468px);
    border-color: transparent;
}

.mktoForm > div:nth-child(6) > div.mktoFormCol > div.mktoFieldWrap > div.mktoHtmlText.mktoHasWidth > span > strong > span {
    margin-bottom: 2.0rem !important;
}

@media screen and (max-width: 769px) {
    .mktoForm .mktoFieldDescriptor.mktoFormCol > div.mktoFieldWrap.mktoRequiredField  {
        text-align: center !important;
    }
    .mktoForm .mktoLabel,
    .mktoForm span strong span {
        font-size: min(4.40625vw, 18px) !important;
    }

    .mktoForm input[type="text"],
    .mktoForm input[type="email"],
    .mktoForm input[type="tel"],
    .mktoForm input[type="number"],
    .mktoForm input[type="url"],
    .mktoForm input[type="date"],
    .mktoForm select.mktoField,
    .mktoForm textarea.mktoField {
        width: 95% !important;
        font-size: 14px !important;
    }

    .mktoForm .mktoFormRow {
        flex-direction: column !important;
    }
    .mktoForm .mktoFormRow:not(:first-of-type) {
        margin-top: 1.5rem !important;
    }
    .mktoForm .mktoFormRow:has(input[name="all_accept_pp"]) {
        margin-top: 1.0rem !important;
    }

    #mktoForm_2362 > div:nth-child(7) > div.mktoFormCol > div.mktoFieldWrap > div.mktoHtmlText.mktoHasWidth > span {
        display: flex !important;
        flex-direction: column !important;
        gap: 1.0rem !important;
    }
    #Lblall_accept_pp {
        margin-bottom: 0 !important;
    }
    #mktoForm_2362 > div:nth-child(8) > div.mktoFieldDescriptor.mktoFormCol > div.mktoFieldWrap.mktoRequiredField {
        align-items: center !important;
    }

    .mktoForm .mktoButton {
        font-size: 14px !important;
        width: 80% !important;
        padding: 15px 80px !important;
    }
    
}