.site-main {
  background: #fff;
}

.mobile-page {
  --index-unit: min(1px, 0.133333vw);
}

.dept-search-section {
  padding: calc(38 * var(--index-unit)) 0 calc(40 * var(--index-unit));
  background: #e0f1e8;
}

.dept-search {
  width: calc(330 * var(--index-unit));
  height: calc(34 * var(--index-unit));
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: calc(10 * var(--index-unit));
  background: transparent;
}

.dept-search input {
  flex: 1;
  min-width: 0;
  height: 100%;
  padding: 0 calc(14 * var(--index-unit));
  font-size: calc(15 * var(--index-unit));
  color: #333;
  background: #fff;
}

.dept-search button {
  width: calc(86 * var(--index-unit));
  height: 100%;
  border-radius: calc(4 * var(--index-unit));
  font-size: calc(16 * var(--index-unit));
  color: #fff;
  background: #ff9300;
  flex-shrink: 0;
}

.dept-page-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(9 * var(--index-unit));
  padding: calc(24 * var(--index-unit)) 0 calc(16 * var(--index-unit));
  border-bottom: 1px solid #bdbdbd;
  font-size: calc(26 * var(--index-unit));
  font-weight: 700;
  color: #222;
}

.title-mark {
  width: calc(25 * var(--index-unit));
  height: calc(26 * var(--index-unit));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.title-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.dept-section {
  padding: 0 calc(24 * var(--index-unit)) calc(48 * var(--index-unit));
}

.dept-group {
  margin-top: calc(32 * var(--index-unit));
}

.dept-group-title {
  font-size: calc(24 * var(--index-unit));
  font-weight: 700;
  color: #008842;
  margin-bottom: calc(20 * var(--index-unit));
}

.dept-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: calc(20 * var(--index-unit));
}

.dept-item {
  display: flex;
  align-items: center;
  gap: calc(12 * var(--index-unit));
  min-height: calc(64 * var(--index-unit));
  padding: 0 calc(24 * var(--index-unit));
  border: 1px solid #e2e6e8;
  border-radius: calc(8 * var(--index-unit));
  font-size: calc(20 * var(--index-unit));
  color: #333;
  background: #fff;
}

.dept-icon {
  width: calc(30 * var(--index-unit));
  height: calc(30 * var(--index-unit));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.dept-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
