:root {
    --themeht-primary-color: #24cac7;
    --themeht-secondary-color: #001d2d;
    --themeht-text-color: #000812;
    --themeht-body-color: #4f4f4f;
    --themeht-white-color: #FFFFFF;
    --themeht-bg-dark-color: #004e75;
    --themeht-bg-light-color: #f6f7ff;
    --themeht-border-light-color: #E5E5E5;
    --themeht-rgba-color: rgba(255,255,255,0.9);
    --themeht-typography-body-font-family: "Plus Jakarta Sans", sans-serif;
    --themeht-typography-secondary-font-family: "Noto Sans JP", sans-serif;
}



.banner-content {
    padding: 80px 0 80px 160px;
    position: relative;
    z-index: 9;
}

@media (max-width: 1440px) {
    .banner-content {
        padding: 60px 0 60px 60px;
    }
}

@media (max-width: 1200px) {
    @media (max-width: 1199px) {
        .banner-content {
            padding: 40px 0 40px 40px;
        }
    }
}
@media (max-width: 1024px) {
.header-top {
	display: none;
}
}

@media (min-width: 768px) {
.pc {
	display: none;
}
}


.banner-slider h1 {
    font-weight: 700;
    font-size: 48px;
    line-height: 64px;
    color: var(--themeht-primary-color);
}

@media (max-width: 768px) {
.banner-slider h1 {
    font-weight: 700;
    font-size: 36px;
    line-height: 44px;
    color: var(--themeht-primary-color);
}
}

section {
    position: relative;
    padding: 80px 0px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--themeht-typography-secondary-font-family);
    font-weight: normal;
    margin-top: 0px;
    font-style: normal;
    margin-bottom: 20px;
    color: var(--themeht-text-color);
}


/* ラッパー：カードを横並び */
.entrust-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* 幅は調整可 */
  gap: 24px; /* 余白は調整可 */
}

/* 各アイテムを同じ高さに伸ばす */
.entrust-item {
  display: flex;           /* 子のボックスを縦に並べる準備 */
}

/* 実際のカード箱（枠） */
.entrust-card {
  display: flex;
  flex-direction: column;  /* タイトル→本文→フッターの縦並びを想定 */
  width: 100%;
}

/* 本文が可変でも高さを稼いで均等化 */
.entrust-card__body {
  flex: 1;
}

/* ボタンなどを最下部に固定したい場合 */
.entrust-card__footer {
  margin-top: auto;
}



.service-item.style-2 .service-desc {
    padding: 20px 30px 40px;
}

.service-item.style-2 {
    position: relative;
    z-index: 9;
    background: var(--themeht-white-color);
    border-radius: 14px;
    text-align: left;
    margin: 4px;
    overflow: hidden;
}

.service-item.style-2 p {
    margin-top: 10px;
    display: -webkit-box;
    /* -webkit-line-clamp: 2; */
    /* overflow: hidden; */
    -webkit-box-orient: vertical;
}


/* ===== 「手動・卓上モデル製品一覧／全自動モデル製品一覧」 等高化 ===== */
section.primary-bg .mix-container.columns-3.row {
  align-items: stretch;              /* 行の高さをそろえる */
}

section.primary-bg .mix-container.columns-3.row > .mix {
  display: flex;                     /* 子(.service-item)を伸ばせるように */
}

section.primary-bg .mix-container.columns-3.row > .mix > .service-item {
  display: flex;
  flex-direction: column;            /* 画像 → 本文 → ボタン の縦並び */
  width: 100%;
  height: 100%;                      /* 行の中で同じ高さに */
}

section.primary-bg .mix-container.columns-3.row .service-desc {
  display: flex;
  flex-direction: column;
  flex: 1;                           /* 本文ブロックを伸ばして均等化 */
}

section.primary-bg .mix-container.columns-3.row .ht-link-btn {
  margin-top: auto;                  /* ボタンを最下部へ固定 */
}

/* （任意）画像枠の比率をそろえたい場合：16:9に統一 */
@media (min-width: 768px) {
  section.primary-bg .service-img {
    overflow: hidden;
  }
  section.primary-bg .service-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}


.mt64 {
	margin-top: 64px;
}

.mt32 {
	margin-top: 32px;
}

.about-img-shape {
    width: 100%;
    height: auto;
}

.ctalist ul li {
	font-size: 20px;
	line-height: 120%;
	padding-bottom: 28px;
}

.mt16{
	margin-top: 16px;
}


.portfolio-desc {
    opacity: 0;
    bottom: 30px;
    left: 30px;
    right: 30px;
    position: absolute;
    display: inline-block;
    padding: 16px !important;
    /* padding-right: 60px; */
    transform-origin: center;
    transition: all .5s ease-in-out;
    background-color: var(--themeht-white-color);
    transform: perspective(400px) rotateX(-90deg);
    border-radius: 4px;
}

.portfolio-desc h4 {
    margin-bottom: 0;
	font-size: 18px;
}
.portfolio-desc h4 span {
	font-size: 14px;
}



/* タブレット以下は2列（50%） */
@media (max-width: 991.98px) {
  .columns-3 .mix,
  .columns-3 > .mix,
  .columns-3 > .service-item,
  .columns-3 > * {
    width: 50% !important;
    box-sizing: border-box;
  }
}

/* スマホは1列（100%） */
@media (max-width: 575.98px) {
  .columns-3 .mix,
  .columns-3 > .mix,
  .columns-3 > .service-item,
  .columns-3 > * {
    width: 100% !important;
  }
}

/* タブレット以下は3列（33.333%） */
@media (max-width: 991.98px) {
  .columns-4 > .mix,
  .columns-4 > .service-item,
  .columns-4 > li,
  .columns-4 > article,
  .columns-4 > div,
  .columns-4 > * {
    width: 33.3333% !important;
    box-sizing: border-box;
  }
}

/* スマホは2列（50%） */
@media (max-width: 575.98px) {
  .columns-4 > .mix,
  .columns-4 > .service-item,
  .columns-4 > li,
  .columns-4 > article,
  .columns-4 > div,
  .columns-4 > * {
    width: 50% !important;
  }
}


.navbar-nav .nav-item {
    margin: 0 10px;
}


.page-title {
    margin: 0 0 10px;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
}

.entry-title {
    margin: 10px 0;
	font-size: 40px;
	line-height: 125%;
}

.module-section {
    margin: 0 0 30px;
	padding: 0px;
}

.entry-style p {
    margin-top: 0;
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 1.7;
}


.module-heading {
    margin: 0;
    font-size: 18px;
	line-height: 125%;
}

.midashi {
	font-size: 40px !important;
}

.card-title {
    margin: 8px;
    font-size: 16px;
	line-height: 150%;
    font-weight: bold;
}

.shiro {
	color: #ffffff !important;
}

.theme-title h2 {
    font-size: 44px;
    margin-bottom: 0;
}
