@import url("./bootstrap-5.3.2.css");
@import url("./animation.css");

html,
body {
  background-color: #fff;
  color: #191919;
  font-size: 16px;
  overflow-x: hidden;
}

.stickyMenu {
  padding-top: 76px;
}

.text-underline {
  text-decoration: underline !important;
}

/* TOP NAVBAR */
.navbarHoder {
  width: 100%;
  z-index: 200;
  background-color: #f8f9fb;
}

.navbarHoder .fixed-top {
  background-color: #f8f9fb;
}

.navbar {
  padding: 0;
  position: relative;
  z-index: 10;
}


.navbar .dec {
  color: initial;
  font-size: 0.7rem;
  padding-top: 19px;
}

.navbar .nav-item {
  padding: 0 20px 0 0;
}

.navbar .nav-link {
  color: relative;
  font-weight: 500;
  text-transform: initial;
  font-size: 16px;
}

.navbar .nav-link:hover {
  color: #000;
}

.navbar .navbar-brand {
  margin: 0.5rem 0;
  display: flex;
  align-items: center;
}

.navbar .navbar-brand img {
  height: 50px;
}

.navbar .navbar-brand .dec {
  /* display: block; */
  margin-left: 0.8rem;
  font-weight: 800;
  font-size: 1.3rem;
  text-transform: none;
}



/* Video section */
.topVideo {
  color: #ffffff;
  position: relative;
  top: 0;
  overflow: hidden;
}

.topVideo::before {
  content: "";
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.topVideo video {
  width: 100%;
}

.topVideo .carousel {
  position: relative;
  max-height: 780px;
}

.topVideo .carousel .carousel-item img {
  width: 100%;
  object-fit: fill;
}

.topVideo .carousel-control-next {
  z-index: 100;
}

.topVideo .carousel-control-prev {
  z-index: 100;
}

.topVideo .sectionCoverageHolder {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  background-size: inherit;
  background-position: inherit;
}

.topVideo .sectionCoverageHolder .bgImage {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-size: inherit;
  background-position: inherit;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background: transparent;
}

.topVideo .sectionCoverageImage {
  bottom: -1px;
  position: absolute;
  right: 0;
  left: 0;
  pointer-events: none;
  z-index: 2;
}

.topVideo .sectionCoverageImage img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-user-select: none;
  user-select: none;
}


.topVideo .containerHolder {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 20px;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.topVideo .containerHolder .containerHolderWrap {
  position: relative;
  height: 100%;
  text-shadow: 1px 1px 2px rgb(200, 200, 200),
    0 0 1em rgb(87, 87, 87),
    0 0 0.2em rgb(87, 87, 87);
}

.topVideo .containerHolder .headlineTag {
  margin-top: 2rem;
  text-align: center;
  display: block;
  color: inherit;
}

.topVideo .containerHolder .headlineContent p {
  line-height: 5.5rem;
  font-size: 2.8rem;
  font-style: italic;
  text-align: center;
  margin-bottom: 0;
}

.topVideo .containerHolder .headlineSubheadline {
  font-size: 1.65rem;
  font-weight: 400;
  text-align: center;
  font-style: italic;
}

.topVideo .containerHolder .headlineSubTag {
  margin-bottom: 0;
}

.topVideo .containerHolder .headlineSubTag p {
  text-align: center;
  display: block;
  color: inherit;
  font-style: italic;
  line-height: 1.5rem;
}

@media (max-width: 900px) {
  .topVideo .containerHolder .headlineTag {
    margin-top: 0;
  }

  .topVideo .containerHolder .headlineContent p {
    line-height: 45px;
    font-size: 30px;
    margin-bottom: 0;
  }

  .topVideo .containerHolder .headlineSubheadline {
    font-size: 24px;
  }

  .topVideo .containerHolder .headlineSubTag h2 p {
    font-size: 30px;
    line-height: 40px;
    margin-bottom: 0;
  }
}

@media (max-width: 576px) {
  .topVideo .carousel {
    max-height: 200px;
  }

  .topVideo .containerHolder .headlineTag {
    margin-top: 0;
  }

  .topVideo .containerHolder .headlineContent p {
    margin-bottom: 0;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -1px;
    white-space: nowrap;
  }

  .topVideo .containerHolder .headlineSubheadline {
    font-size: 16px;
  }

  .topVideo .containerHolder .headlineSubTag h2 p {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 0;
    white-space: nowrap;
  }
}

@media (max-width: 354px) {
  .topVideo .carousel {
    max-height: 160px;
  }
}

/* Our Service */
.ourService {
  color: #191919;
  background: linear-gradient(0deg, #f8f9fb, #fff 100%);
  position: relative;
}

.ourServiceWrapper {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  background-size: inherit;
  background-position: inherit;
}

.ourServiceWrapper .parallaxOurService {
  background: linear-gradient(0deg, #f8f9fb, #fff 100%);
  background-size: contain;
  background-position: inherit;
  background-repeat: no-repeat;
  background-attachment: scroll;
}

.ourService .serviceContent {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 180px;
}

.ourService .serviceContent.bg1 {
  background-image: url("../images/service_1.png");
}

.ourService .serviceContent.bg2 {
  background-image: url("../images/pixta_76963508_S.jpg");
}

.ourService .serviceContent.bg3 {
  background-image: url("../images/pixta_52092004_S.jpg");
}

.ourService .serviceContent img {
  width: 100%;
}
.ourService .serviceTextWrap {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, .5);
  -webkit-user-select: none;
  user-select: none;
}


.ourService .serviceText {
  height: 100%;
  padding: 1rem;
  display: flex;
  justify-content: center;
  flex-direction: column;
  text-align: right;
  font-size: 1.6rem;
  line-height: 2.5rem;
  color: #fff;
  font-weight: 400;
  text-shadow: 1px 1px 2px rgb(200, 200, 200),
    0 0 1em rgb(87, 87, 87),
    0 0 0.2em rgb(87, 87, 87);
}

@media (max-width: 576px) {
  .ourService .serviceText {
    font-size: 18px;
  }
}

/* Company info */
.companyInfo {
  position: relative;
}

.companyInfo .labImage {
  position: relative;
}

.companyInfo .labImage::after {
  content: '';
  background: url("../images/anti-arrow-gray-left.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  -webkit-filter: contrast(0%) brightness(200%);
  filter: contrast(0%) brightness(200%);
  z-index: 3;
}

.companyInfo .labImage::before {
  content: '';
  background: url("../images/anti-arrow-gray-right.png");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  -webkit-filter: contrast(0%) brightness(200%);
  filter: contrast(0%) brightness(200%);
  z-index: 3;
}


.companyInfo .labImage img {
  width: 100%;
  position: relative;
  z-index: 2;
}



.ourProduct .card {
  border: 0;
}

.ourProduct.h100vh {
  min-height: calc(100vh - 252px);
}

.ourProduct .labImage::before {
  content: '';
  background: url("../images/anti-arrow-gray-left.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  -webkit-filter: contrast(0%) brightness(200%);
  filter: contrast(0%) brightness(200%);
  z-index: 3;
}

.ourProduct .bg1 {
  background-image: url("../images/1.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
}

.ourProduct .bg2 {
  background-image: url("../images/2.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: auto 80%;
}

.ourProduct .labImage img {
  width: 100%;
  position: relative;
  z-index: 2;
}


.ourProduct .imageWrap {
  position: relative;
}

.ourProduct .imageBg::before {
  content: '';
  background: url("../images/anti-arrow-gray-left.png");
  background-position: left top;
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  left: 0;
  -webkit-filter: contrast(0%) brightness(200%);
  filter: contrast(0%) brightness(200%);
  z-index: 3;
}

.ourProduct .imageBg::after {
  content: '';
  background: url("../images/anti-arrow-gray-right.png");
  background-position: right top;
  background-repeat: no-repeat;
  background-size: auto 100%;
  position: absolute;
  right: -1px;
  top: 0;
  bottom: 0;
  left: 0;
  -webkit-filter: contrast(0%) brightness(200%);
  filter: contrast(0%) brightness(200%);
  z-index: 3;
}

.ourProduct .card-img {
  width: 350px;
  height: 200px;
}

@media (max-width: 992px) {
  .ourProduct .card-img {
    width: 41.66666667%;
  }
}

@media (max-width: 576px) {
  .ourProduct .card-img {
    width: 100%;
  }
}

.ourProduct .card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.5rem;
}

.ourProduct .card-title a {
  color: inherit;
  text-decoration: none;
  font-weight: 800;
  font-size: 1.6rem;
}

.ourProduct .card-title a:hover {
  text-decoration: underline;
}

.news {
  background-color: #f8f9fb;
  padding: 0 0;
}

.news.h100vh {
  min-height: calc(100vh - 252px);
}

.news.no-bg {
  background: none;
}

.news .newList {
  padding: 1rem 0;
  /*border-bottom: 1px solid #191919;*/
}

.news .newList .overviewTitle {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
}
.news .newList .overview > span {
  font-weight: bold;
  font-size: 1.1rem;
}

.news .newList .overview{
  text-align: center;
  font-size:0.9rem;
  line-height: 1.8rem;
  margin-top:2rem;
}

.wrapperBetaine{
  background-image: url(../images/betaine01.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}

.wrapperBetaine::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.wrapperGlucan{
  background-image: url(../images/glucan01.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
}

.wrapperGlucan::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.news .newList h6 {
  font-size: 0.8rem;
}

.news .newList h6 .badge {
  font-size: 0.5rem;
  margin-left: 1rem;
  border-radius: 3px;
}

.news .newList a {
  /* font-size: 0.8rem; */
  color: inherit;
  text-decoration: none;
}

.news .newList a:hover {
  text-decoration: underline;
}

.newPost p img {
  width: 100%;
  text-align: center;
}
.wrapperBetaine,
.wrapperGlucan{
  margin-bottom:3rem;
}
.wrapperBetaine .over-text{
  padding: 1rem;
  display: inline-block;
  margin-top: 2rem;
  text-align: right;
  position: relative;
  z-index: 1;
}
.wrapperGlucan .over-text{
  padding: 1rem;
  display: inline-block;
  margin-top: 2rem;
  text-align: left;
  position: relative;
  z-index: 1;
}

.wrapperBetaine .over-text > .bigfont{
  font-size: 1.6rem;
  font-weight: 900;
  background: linear-gradient(135deg, #1a5490 0%, #2a7db8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 2px solid rgba(42, 125, 184, 0.5);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
.wrapperGlucan .over-text > .bigfont{
  font-size: 1.6rem;
  font-weight: 900;
  background: linear-gradient(135deg, #1a5490 0%, #2a7db8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.05em;
  display: block;
  margin-top: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgba(42, 125, 184, 0.5);
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}


.highlight_blue {
  text-decoration: underline; /* 下線 */
  text-decoration-thickness: 0.3em; /* 線の太さ */
  text-decoration-color: rgba(25, 178, 204, 0.6); /* 線の色 */
  text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
  text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
}

.contentBentain > h5.subtitle,
.contentGlucan > h5.subtitle {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding-bottom:0.8rem;
  border-bottom: 1px solid #333;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 1rem;
}
.product{
  margin-top:5em;
}

.contentBentain > h5.subtitle > span,
.contentGlucan > h5.subtitle > span {
  flex: 1;
  min-width: 200px;
}

.contentBentain > h5.subtitle > img,
.contentGlucan > h5.subtitle > img {
  max-width: 120px;
  height: auto;
}

.contentGlucan .subcontent{
  padding:0 0.5rem 0 1rem;
  color:#1f585d;
}

.articleBlock {
  margin-top: 2rem;
}

.articleBlock > h6 {
  margin: 0;
  padding: 0.5rem 1rem;
  border-radius: 4px;
  font-size: 1.2rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.articleBlock > h6 > span {
  flex: 1;
}

/* Keep the leading number fixed while leaving text/img styles unchanged */
.articleBlock > h6 > span:first-child {
  flex: 0 0 auto;
}

.articleBlock > h6 > span:nth-child(2) {
  flex: 1;
}

.articleBlock > h6 > img {
  flex: 0 0 auto;
  max-width: 250px;
  height: auto;
}

.articleBlock > ul {
  margin: 1rem 0 0 0;
  padding: 1rem;
  padding-left: 3rem;
  background-color: #eef5fb;
}
.articleBlock > div.lightBlueArea{
  margin: 1rem 0 0 0;
  padding: 1rem;
  padding-left: 3rem;
  background-color: #eef5fb;
}


.footer {
  background-color: #f8f9fb;
  padding: 0;
  height: 80px;
  line-height: 80px;
}

.footer .container {
  background: url("../images/logo.png") no-repeat left center;
  background-size: auto 50%;
}

.footer .footerLogo {
  float: left;
  margin-top: 0;
}

.footer .footerLogo img {
  height: 50px;
}

.company .table th {
  border: 2px solid #fff;
  background-color: #d9d9d9;
  padding: 1rem;
}

.company .table td {
  border: 2px solid #fff;
  background-color: #f2f2f2;
  padding: 1rem;
}

.contactForm {
  background-color: #f8f9fb;
}

.contactForm .formBg {
  background-color: #fff;
  padding: 1rem;
  border-radius: 8px;
}

/* Product Lineup Table */
.productTable {
  margin-top: 2rem;
}

.lineup-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 4px;
  background-color: #fff;
}

.lineup-table thead {
  background-color: #3d5a80;
  color: #fff;
}

.lineup-table th {
  padding: 1rem;
  text-align: center;
  font-weight: 600;
  border: 1px solid #3d5a80;
  font-size: 0.95rem;
}

.lineup-table td {
  padding: 1rem;
  border: 1px solid #ddd;
  background-color: #e8f1f8;
}

.lineup-table tbody tr:nth-child(even) td {
  background-color: #d4e5f3;
}

.product-name {
  font-weight: 600;
  background-color: #6b9abe !important;
  color: #fff;
}

.product-name strong {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 0.3rem;
}

.product-detail {
  display: block;
  font-size: 0.85rem;
  font-weight: 400;
}

.contact-link {
  color: #1952cc;
  font-weight: 500;
}

.table-notes {
  margin-top: 1.5rem;
  font-size: 0.85rem;
  color: #666;
  line-height: 1.6;
}

.table-notes p {
  margin: 0.3rem 0;
}

/* Usage Table */
.usageTable {
  margin-top: 2rem;
}

.usage-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 4px;
  background-color: #fff;
}

.usage-table thead {
  background-color: #5a5a5a;
  color: #fff;
}

.usage-table th {
  padding: 1rem;
  text-align: center;
  font-weight: 600;
  border: 1px solid #5a5a5a;
  font-size: 0.95rem;
}

.usage-table td {
  padding: 1rem;
  border: 1px solid #ddd;
  background-color: #f0f0f0;
  line-height: 1.6;
}

.usage-table tbody tr:nth-child(even) td {
  background-color: #e8e8e8;
}

.etc{
  display: inline-block;
  margin-left:1rem;
}

@media (max-width: 770px) {
  .usage-table {
    font-size: 0.85rem;
  }

  .usage-table th {
    padding: 0.7rem 0.5rem;
    font-size: 0.8rem;
  }

  .usage-table td {
    padding: 0.7rem 0.5rem;
    font-size: 0.8rem;
  }
  .lineup-table {
    font-size: 0.85rem;
  }
  .productTable{
    margin-top:1rem;
  }

  .lineup-table th {
    padding: 0.7rem 0.5rem;
    font-size: 0.8rem;
  }

  .lineup-table td {
    padding: 0.7rem 0.5rem;
  }

  .product-name strong {
    font-size: 0.95rem;
  }

  .product-detail {
    font-size: 0.75rem;
  }

  .table-notes {
    font-size: 0.75rem;
  }

  .wrapperBetaine .over-text,
  .wrapperGlucan .over-text {
    padding: 1rem;
    margin-top: 1rem;
    text-align: center;
    font-size: 0.95rem;
  }

  .wrapperBetaine .over-text > .bigfont{
    font-size: 1.2rem;
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(42, 125, 184, 0.3);
  }
  .wrapperGlucan .over-text > .bigfont {
    font-size: 1.2rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid rgba(42, 125, 184, 0.3);
  }

  .news .newList .overviewTitle {
    font-size: 1.5rem;
  }

  .news .newList .overview {
    font-size: 0.8rem;
    line-height: 1.6rem;
    margin-top: 1.5rem;
  }

  .news .newList .overview > span {
    font-size: 0.95rem;
  }

  .contentBentain > h5.subtitle,
  .contentGlucan > h5.subtitle {
    flex-direction: row;
    align-items: flex-start;
  }

  .contentBentain > h5.subtitle > span,
  .contentGlucan > h5.subtitle > span {
    flex: 1 0 100%;
    margin-bottom: 0.5rem;
  }

  .contentBentain > h5.subtitle > img,
  .contentGlucan > h5.subtitle > img {
    flex: 1 1 calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
  }

  .articleBlock > h6 {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "num text"
      "img img";
    gap: 0.5rem 0.75rem;
    align-items: center;
  }

  .articleBlock > h6 > span:first-child { grid-area: num; }
  .articleBlock > h6 > span:nth-child(2) { grid-area: text; }
  .articleBlock > h6 > img { grid-area: img; max-width: 100%; width: 100%; }

  .pcmode {
    display: none;
  }

}

@media (min-width: 992px) {
  .newPost p img {
    width: auto;
    max-height: 500px;
  }
}

/* リモートデスクトップ経由でクロスフェード効果が視認できないため、bootstrap4.1.3より移植 */
.carousel-fade .carousel-item {
  opacity: 0;
  transition-duration: .6s;
  transition-property: opacity;
}

/* お問い合わせ内容カテゴリーラジオボタン */
.contact-category-group {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  transition: background-color 0.2s ease;
}

.contact-category-group.is-invalid {
  background-color: rgba(220, 53, 69, 0.08);
  border-radius: 8px;
  padding: 0.75rem;
}

.contact-category-item {
  margin-bottom: 0;
  flex: 0 1 auto;
  padding: 0.75rem;
  border-radius: 6px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}


.contact-category-item .form-check-input {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.4rem;
  cursor: pointer;
}

.contact-category-item .form-check-label {
  margin-bottom: 0;
  padding: 0 0.5rem;
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  font-weight: 500;
  display: flex;
  align-items: center;
  min-height: 2rem;
}
.contact-category-item .form-check-label:hover {
  background-color: rgba(119, 119, 119, 0.1);
  border-radius: 4px;
}

.contact-category-item .form-check-input:checked + .form-check-label {
  font-weight: 700;
  background-color: rgba(13, 110, 253, 0.1);
  border-radius: 4px;
}

/* 同意チェックボックス */
.contact-agree-item {
  padding: 0.75rem;
  border-radius: 6px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  align-items: center;
  margin-left:2rem;
}

#sendButton:disabled {
  cursor: not-allowed !important;
  opacity: 0.6;
  background-color:#9d9fa2;
  border-color:#9d9fa2;
}
.contact-agree-item .form-check-label:hover {
  background-color: rgba(119, 119, 119, 0.1);
  border-radius: 4px;
}

.contact-agree-item .form-check-label {
  margin-left:0.5rem;
  padding-left: 0.5rem;
  margin-bottom: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
}

.agree-check .form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.agree-check .form-check-input.is-invalid + .form-check-label {
  background-color: rgba(220, 53, 69, 0.08);
  border-radius: 4px;
}

.recaptcha-note a {
  text-decoration: underline;
}

@media (max-width: 1200px) {
  .contact-category-group {
    gap: 1rem;
    padding-left:1rem;
  }

  .contact-category-item {
    flex: 0 1 calc(50% - 0.5rem);
    padding: 0.6rem;
  }
}

@media (max-width: 576px) {
  .contact-category-group {
    flex-direction: column;
    gap: 0.1rem;
    padding-left:2rem;
  }

  .contact-category-item {
    flex: 1 1 100%;
    padding: 0.6rem;
  }

  .contact-category-item .form-check-label {
    font-size: 0.95rem;
    min-height: 1.75rem;
  }
}