@charset "UTF-8";
/* 検索フォームのスタイル */
@media screen and (min-width: 768px) {
  .ncasa-search-search-form .pc-none,
  .ncasa-search-search-form-modal .pc-none {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .sp-none,
  .ncasa-search-search-form-modal .sp-none {
    display: none;
  }
}
.ncasa-search-search-form .search-form,
.ncasa-search-search-form-modal .search-form {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding: 50px 32px;
  background-color: #ffffff;
  border-radius: 25px;
  box-shadow: 0 7px 4px rgba(0, 0, 0, 0.2);
}
.ncasa-search-search-form h3,
.ncasa-search-search-form-modal h3 {
  margin-top: 0;
  margin-bottom: 30px;
  color: #333;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
}
.ncasa-search-search-form .form-group,
.ncasa-search-search-form-modal .form-group {
  margin-bottom: 20px;
  position: relative;
  padding: 20px;
  border-radius: 10px;
  z-index: 0;
}
.ncasa-search-search-form .form-group .form-label,
.ncasa-search-search-form-modal .form-group .form-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: bold;
}
.ncasa-search-search-form .form-group select,
.ncasa-search-search-form .form-group input[type=text],
.ncasa-search-search-form .form-group input[type=email],
.ncasa-search-search-form-modal .form-group select,
.ncasa-search-search-form-modal .form-group input[type=text],
.ncasa-search-search-form-modal .form-group input[type=email] {
  width: 100%;
  max-width: 275px;
  padding: 10px 12px;
  border: 1px solid #aaaaaa;
  background-color: #ffffff;
  font-size: 16px;
  box-sizing: border-box;
  transition: border-color 0.3s;
}
.ncasa-search-search-form .form-group select::placeholder,
.ncasa-search-search-form .form-group input[type=text]::placeholder,
.ncasa-search-search-form .form-group input[type=email]::placeholder,
.ncasa-search-search-form-modal .form-group select::placeholder,
.ncasa-search-search-form-modal .form-group input[type=text]::placeholder,
.ncasa-search-search-form-modal .form-group input[type=email]::placeholder {
  color: #BABABA;
}
.ncasa-search-search-form .form-group select:focus,
.ncasa-search-search-form .form-group input[type=text]:focus,
.ncasa-search-search-form .form-group input[type=email]:focus,
.ncasa-search-search-form-modal .form-group select:focus,
.ncasa-search-search-form-modal .form-group input[type=text]:focus,
.ncasa-search-search-form-modal .form-group input[type=email]:focus {
  outline: none;
  border-color: #4CAF50;
  box-shadow: 0 0 5px rgba(76, 175, 80, 0.3);
}
.ncasa-search-search-form .form-group select:disabled,
.ncasa-search-search-form-modal .form-group select:disabled {
  background-color: #f5f5f5;
  cursor: not-allowed;
}
.ncasa-search-search-form .select-loading,
.ncasa-search-search-form-modal .select-loading {
  position: absolute;
  right: 10px;
  top: 35px;
  font-size: 14px;
  color: #666;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 2px 8px;
  border-radius: 3px;
}
.ncasa-search-search-form .search-button,
.ncasa-search-search-form .download-button,
.ncasa-search-search-form .submit-button,
.ncasa-search-search-form-modal .search-button,
.ncasa-search-search-form-modal .download-button,
.ncasa-search-search-form-modal .submit-button {
  background-color: #4CAF50;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
  display: inline-block;
  transition: background-color 0.3s;
}
.ncasa-search-search-form .search-button:hover,
.ncasa-search-search-form .download-button:hover,
.ncasa-search-search-form .submit-button:hover,
.ncasa-search-search-form-modal .search-button:hover,
.ncasa-search-search-form-modal .download-button:hover,
.ncasa-search-search-form-modal .submit-button:hover {
  background-color: #45a049;
}
.ncasa-search-search-form .search-button:disabled,
.ncasa-search-search-form-modal .search-button:disabled {
  background-color: #cccccc;
  cursor: not-allowed;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 読み込み中インジケーター */
}
.ncasa-search-search-form #loading-indicator,
.ncasa-search-search-form-modal #loading-indicator {
  text-align: center;
  margin: 20px 0;
}
.ncasa-search-search-form .spinner,
.ncasa-search-search-form-modal .spinner {
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top: 4px solid #4CAF50;
  width: 40px;
  height: 40px;
  margin: 0 auto 15px;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 検索結果のスタイル */
}
.ncasa-search-search-form .search-results,
.ncasa-search-search-form-modal .search-results {
  max-width: 1920px;
  margin: 0 auto;
  padding: 20px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  animation: fadeIn 0.5s;
}
.ncasa-search-search-form .search-results-header,
.ncasa-search-search-form-modal .search-results-header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.ncasa-search-search-form .search-results h4,
.ncasa-search-search-form-modal .search-results h4 {
  margin-top: 0;
  margin-bottom: 0;
  color: #333;
  text-align: center;
  font-size: 20px;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ncasa-search-search-form .result-counts,
.ncasa-search-search-form-modal .result-counts {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
  gap: 20px;
}
.ncasa-search-search-form .count-box,
.ncasa-search-search-form-modal .count-box {
  flex-basis: 30%;
  text-align: center;
  padding: 15px;
  margin-bottom: 15px;
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s;
}
.ncasa-search-search-form .count-box:hover,
.ncasa-search-search-form-modal .count-box:hover {
  transform: translateY(-3px);
}
.ncasa-search-search-form .count-box.total-count,
.ncasa-search-search-form-modal .count-box.total-count {
  background-color: #e3f2fd;
}
.ncasa-search-search-form .count-box.new-count,
.ncasa-search-search-form-modal .count-box.new-count {
  background-color: #e8f5e9;
}
.ncasa-search-search-form .count-box.changed-count,
.ncasa-search-search-form-modal .count-box.changed-count {
  background-color: #fff3e0;
}
.ncasa-search-search-form .count-label,
.ncasa-search-search-form-modal .count-label {
  display: block;
  font-weight: bold;
  margin-bottom: 8px;
  color: #555;
}
.ncasa-search-search-form .count-value,
.ncasa-search-search-form-modal .count-value {
  display: block;
  font-size: 24px;
  font-weight: bold;
  color: #333;
}
.ncasa-search-search-form .download-section,
.ncasa-search-search-form-modal .download-section {
  text-align: center;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #eee;
}
.ncasa-search-search-form .download-limit-warning,
.ncasa-search-search-form .error-message,
.ncasa-search-search-form-modal .download-limit-warning,
.ncasa-search-search-form-modal .error-message {
  color: #f44336;
  text-align: center;
  padding: 10px 15px;
  background-color: #ffebee;
  border-radius: 4px;
  margin: 20px 0;
}
.ncasa-search-search-form .no-results,
.ncasa-search-search-form-modal .no-results {
  text-align: center;
  color: #757575;
  font-style: italic;
  padding: 20px;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 検索結果タイトル */
}
.ncasa-search-search-form .result-title,
.ncasa-search-search-form-modal .result-title {
  text-align: center;
  font-size: 22px;
  color: #333;
  margin-bottom: 20px;
  letter-spacing: 0.15em;
  font-weight: bold;
}
.ncasa-search-search-form .result-title strong,
.ncasa-search-search-form-modal .result-title strong {
  color: #0C79BE;
  font-size: 28px;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 2カラムレイアウト */
}
.ncasa-search-search-form .result-layout,
.ncasa-search-search-form-modal .result-layout {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
.ncasa-search-search-form .result-left,
.ncasa-search-search-form-modal .result-left {
  flex: 0 0 41%;
  max-width: 41%;
  position: sticky;
  top: 20px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .result-left,
  .ncasa-search-search-form-modal .result-left {
    display: none;
  }
  .ncasa-search-search-form .result-left.active,
  .ncasa-search-search-form-modal .result-left.active {
    display: block;
  }
}
.ncasa-search-search-form .result-right,
.ncasa-search-search-form-modal .result-right {
  flex: 1;
  min-width: 0;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .result-right,
  .ncasa-search-search-form-modal .result-right {
    display: none;
  }
  .ncasa-search-search-form .result-right.active,
  .ncasa-search-search-form-modal .result-right.active {
    display: block;
  }
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* マップ凡例 */
}
.ncasa-search-search-form .map-legend,
.ncasa-search-search-form-modal .map-legend {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
  font-size: 18px;
  color: #555;
}
.ncasa-search-search-form .legend-item,
.ncasa-search-search-form-modal .legend-item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.ncasa-search-search-form .legend-pin,
.ncasa-search-search-form-modal .legend-pin {
  display: inline-block;
  width: 12px;
  height: 28px;
  border-radius: 50%;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.ncasa-search-search-form .legend-pin-red,
.ncasa-search-search-form-modal .legend-pin-red {
  background-image: url("../images/google-map-pin-red.svg");
}
.ncasa-search-search-form .legend-pin-blue,
.ncasa-search-search-form-modal .legend-pin-blue {
  background-image: url("../images/google-map-pin-yellow.svg");
}
.ncasa-search-search-form .legend-pin-green,
.ncasa-search-search-form-modal .legend-pin-green {
  background-image: url("../images/google-map-pin-blue.svg");
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* マップ下リンク */
}
.ncasa-search-search-form .map-links,
.ncasa-search-search-form-modal .map-links {
  margin-top: 12px;
  font-size: 20px;
  text-align: center;
}
.ncasa-search-search-form .map-links p,
.ncasa-search-search-form-modal .map-links p {
  margin: 4px 0;
}
.ncasa-search-search-form .map-links a,
.ncasa-search-search-form-modal .map-links a {
  color: #108ccf;
  text-decoration: none;
  font-weight: bold;
}
.ncasa-search-search-form .map-links a:hover,
.ncasa-search-search-form-modal .map-links a:hover {
  text-decoration: underline;
}
.ncasa-search-search-form .map-links .link-icon,
.ncasa-search-search-form-modal .map-links .link-icon {
  width: 27px;
  height: 27px;
  vertical-align: middle;
  mask-image: url("../images/file-lines-regular-full.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #108ccf;
  display: inline-block;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* タブ */
}
.ncasa-search-search-form .result-tabs,
.ncasa-search-search-form-modal .result-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
}
.ncasa-search-search-form .result-tab,
.ncasa-search-search-form-modal .result-tab {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 16px;
  border: 2px solid #ddd;
  border-radius: 6px;
  background: #fff;
  font-size: 15px;
  font-weight: bold;
  color: #555;
  cursor: pointer;
  transition: all 0.2s;
}
.ncasa-search-search-form .result-tab:hover,
.ncasa-search-search-form-modal .result-tab:hover {
  border-color: #108ccf;
  color: #108ccf;
}
.ncasa-search-search-form .result-tab.active,
.ncasa-search-search-form-modal .result-tab.active {
  background: #0C79BE;
  border-color: #0C79BE;
  color: #fff;
}
.ncasa-search-search-form .result-tab .tab-icon,
.ncasa-search-search-form-modal .result-tab .tab-icon {
  width: 18px;
  height: 18px;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* カード */
}
.ncasa-search-search-form .institution-card,
.ncasa-search-search-form-modal .institution-card {
  border: 3px solid #000000;
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 12px;
  background: #fff;
  transition: box-shadow 0.2s;
}
.ncasa-search-search-form .institution-card:hover,
.ncasa-search-search-form-modal .institution-card:hover {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.ncasa-search-search-form .institution-name,
.ncasa-search-search-form-modal .institution-name {
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: bold;
  color: #108ccf;
}
.ncasa-search-search-form .institution-address,
.ncasa-search-search-form-modal .institution-address {
  margin: 0 0 8px;
  font-size: 14px;
  color: #555;
  display: flex;
  align-items: center;
}
.ncasa-search-search-form .institution-address .address-icon,
.ncasa-search-search-form-modal .institution-address .address-icon {
  width: 21px;
  height: 21px;
  flex-shrink: 0;
  mask-image: url("../images/map-pin-solid-full.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #108ccf;
  display: inline-block;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* バッジ */
}
.ncasa-search-search-form .institution-badges,
.ncasa-search-search-form-modal .institution-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}
.ncasa-search-search-form .badge,
.ncasa-search-search-form-modal .badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
}
.ncasa-search-search-form .badge-alcohol,
.ncasa-search-search-form-modal .badge-alcohol {
  background-color: #26C9FF;
}
.ncasa-search-search-form .badge-drug,
.ncasa-search-search-form-modal .badge-drug {
  background-color: #6DD900;
}
.ncasa-search-search-form .badge-gambling,
.ncasa-search-search-form-modal .badge-gambling {
  background-color: #FF7373;
}
.ncasa-search-search-form .badge-general,
.ncasa-search-search-form-modal .badge-general {
  background-color: #FF9326;
}
.ncasa-search-search-form .institution-info,
.ncasa-search-search-form-modal .institution-info {
  margin: 4px 0;
  font-size: 14px;
  color: #444;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 案内メッセージ */
}
.ncasa-search-search-form .result-note,
.ncasa-search-search-form-modal .result-note {
  text-align: center;
  color: #e53935;
  font-size: 14px;
  margin: 16px 0 4px;
}
.ncasa-search-search-form .result-guide,
.ncasa-search-search-form-modal .result-guide {
  text-align: center;
  color: #108ccf;
  font-size: 26px;
  font-weight: bold;
  margin: 20px 0;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* ページネーション */
}
.ncasa-search-search-form .ncasa-pagination,
.ncasa-search-search-form-modal .ncasa-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  margin-top: 20px;
}
.ncasa-search-search-form .pagination-link,
.ncasa-search-search-form-modal .pagination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
  text-decoration: none;
  color: #333;
  font-size: 15px;
  transition: all 0.2s;
}
.ncasa-search-search-form .pagination-link:hover,
.ncasa-search-search-form-modal .pagination-link:hover {
  background-color: #e3f2fd;
  border-color: #108ccf;
}
.ncasa-search-search-form .pagination-current,
.ncasa-search-search-form-modal .pagination-current {
  background-color: #1a237e;
  border-color: #1a237e;
  color: #fff;
  font-weight: bold;
}
.ncasa-search-search-form .pagination-dots,
.ncasa-search-search-form-modal .pagination-dots {
  padding: 0 4px;
  color: #999;
}
.ncasa-search-search-form .pagination-prev,
.ncasa-search-search-form .pagination-next,
.ncasa-search-search-form-modal .pagination-prev,
.ncasa-search-search-form-modal .pagination-next {
  font-size: 20px;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* レスポンシブ */
}
@media screen and (max-width: 900px) {
  .ncasa-search-search-form .result-layout,
  .ncasa-search-search-form-modal .result-layout {
    flex-direction: column;
  }
  .ncasa-search-search-form .result-left,
  .ncasa-search-search-form-modal .result-left {
    flex: none;
    max-width: 100%;
    position: static;
  }
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* モーダルのスタイル */
}
.ncasa-search-search-form .modal,
.ncasa-search-search-form-modal .modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
}
.ncasa-search-search-form .modal h4,
.ncasa-search-search-form-modal .modal h4 {
  margin-top: 0;
  color: #333;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
  margin-bottom: 20px;
}
.ncasa-search-search-form .modal-content,
.ncasa-search-search-form-modal .modal-content {
  background-color: #fefefe;
  margin: 5% auto;
  padding: 25px;
  border: 1px solid #888;
  width: 80%;
  max-width: 500px;
  border-radius: 5px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  animation: modalFadeIn 0.3s;
}
@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ncasa-search-search-form .close,
.ncasa-search-search-form-modal .close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
  transition: color 0.3s;
}
.ncasa-search-search-form .close:hover, .ncasa-search-search-form .close:focus,
.ncasa-search-search-form-modal .close:hover,
.ncasa-search-search-form-modal .close:focus {
  color: black;
  text-decoration: none;
}
.ncasa-search-search-form .required,
.ncasa-search-search-form-modal .required {
  color: #f44336;
}
.ncasa-search-search-form #form-message,
.ncasa-search-search-form-modal #form-message {
  margin-top: 20px;
  text-align: center;
}
.ncasa-search-search-form #form-message .success,
.ncasa-search-search-form-modal #form-message .success {
  color: #4CAF50;
  background-color: #e8f5e9;
  padding: 10px;
  border-radius: 4px;
}
.ncasa-search-search-form #form-message .error,
.ncasa-search-search-form-modal #form-message .error {
  color: #f44336;
  background-color: #ffebee;
  padding: 10px;
  border-radius: 4px;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* チェックボックスコンテナのスタイル */
}
.ncasa-search-search-form .checkbox-item,
.ncasa-search-search-form-modal .checkbox-item {
  margin-bottom: 8px;
  display: flex;
  align-items: center;
}
.ncasa-search-search-form .checkbox-item input[type=checkbox],
.ncasa-search-search-form-modal .checkbox-item input[type=checkbox] {
  margin-right: 8px;
}
.ncasa-search-search-form .checkbox-item label,
.ncasa-search-search-form-modal .checkbox-item label {
  cursor: pointer;
  flex: 1;
}
.ncasa-search-search-form .checkbox-item label:before,
.ncasa-search-search-form-modal .checkbox-item label:before {
  border-radius: 0;
}
.ncasa-search-search-form .city-instruction,
.ncasa-search-search-form-modal .city-instruction {
  color: #757575;
  text-align: center;
  padding: 10px;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 都道府県マップUI */
}
.ncasa-search-search-form .prefecture-map-toggle a,
.ncasa-search-search-form-modal .prefecture-map-toggle a {
  color: #333;
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
}
.ncasa-search-search-form .prefecture-map-toggle a:hover,
.ncasa-search-search-form-modal .prefecture-map-toggle a:hover {
  text-decoration: underline;
}
.ncasa-search-search-form .prefecture-map-note,
.ncasa-search-search-form-modal .prefecture-map-note {
  color: #e53935;
  font-size: 13px;
  margin-left: 10px;
}
.ncasa-search-search-form .prefecture-map-container,
.ncasa-search-search-form-modal .prefecture-map-container {
  display: none;
  border-radius: 8px;
  padding: 20px;
  position: relative;
  overflow: hidden;
  min-height: 580px;
}
.ncasa-search-search-form .prefecture-map-container.open,
.ncasa-search-search-form-modal .prefecture-map-container.open {
  display: block;
  padding: 20px 0;
}
.ncasa-search-search-form .form-group-bg,
.ncasa-search-search-form-modal .form-group-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(234, 251, 255, 0.56);
  z-index: -1;
  border-radius: 10px;
}
.ncasa-search-search-form .form-group-bg.--prefecture,
.ncasa-search-search-form-modal .form-group-bg.--prefecture {
  display: none;
  width: 100%;
  height: 120%;
  position: absolute;
  top: -10%;
  left: 0;
  z-index: -2;
  background: url("../images/j-map.png") no-repeat center right 20%;
  background-size: 810px 820px;
}
.ncasa-search-search-form .form-group-bg.--prefecture.open,
.ncasa-search-search-form-modal .form-group-bg.--prefecture.open {
  display: block;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .form-group-bg.--prefecture.open,
  .ncasa-search-search-form-modal .form-group-bg.--prefecture.open {
    display: none;
  }
}
.ncasa-search-search-form .prefecture-map-wrapper,
.ncasa-search-search-form-modal .prefecture-map-wrapper {
  position: relative;
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .prefecture-map-wrapper,
  .ncasa-search-search-form-modal .prefecture-map-wrapper {
    height: auto;
  }
}
.ncasa-search-search-form .pref-region,
.ncasa-search-search-form-modal .pref-region {
  position: absolute;
  border-radius: 2px;
  background-color: #DEF1FF;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region,
  .ncasa-search-search-form-modal .pref-region {
    position: static;
  }
}
.ncasa-search-search-form .pref-region-header,
.ncasa-search-search-form-modal .pref-region-header {
  display: none;
  font-size: 20px;
  font-weight: bold;
  padding: 10px;
  text-align: center;
  background-color: #0D79BE;
  color: #fff;
  cursor: pointer;
  transition: background-color 0.2s;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-header,
  .ncasa-search-search-form-modal .pref-region-header {
    display: block;
  }
}
.ncasa-search-search-form .pref-region-content,
.ncasa-search-search-form-modal .pref-region-content {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-content,
  .ncasa-search-search-form-modal .pref-region-content {
    display: none;
    padding: 0;
    gap: 0;
  }
  .ncasa-search-search-form .pref-region-content.open,
  .ncasa-search-search-form-modal .pref-region-content.open {
    display: flex;
  }
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 各地域の配置（画像準拠） */
}
.ncasa-search-search-form .pref-region-hokkaido,
.ncasa-search-search-form-modal .pref-region-hokkaido {
  top: 30px;
  left: 630px;
}
.ncasa-search-search-form .pref-region-tohoku,
.ncasa-search-search-form-modal .pref-region-tohoku {
  top: 115px;
  left: 630px;
  max-width: 160px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-tohoku,
  .ncasa-search-search-form-modal .pref-region-tohoku {
    max-width: 100%;
  }
}
.ncasa-search-search-form .pref-region-kanto,
.ncasa-search-search-form-modal .pref-region-kanto {
  top: 295px;
  left: 630px;
  max-width: 160px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-kanto,
  .ncasa-search-search-form-modal .pref-region-kanto {
    max-width: 100%;
  }
}
.ncasa-search-search-form .pref-region-hokuriku,
.ncasa-search-search-form-modal .pref-region-hokuriku {
  top: 30px;
  left: 445px;
  max-width: 160px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-hokuriku,
  .ncasa-search-search-form-modal .pref-region-hokuriku {
    max-width: 100%;
  }
}
.ncasa-search-search-form .pref-region-kinki,
.ncasa-search-search-form-modal .pref-region-kinki {
  top: 295px;
  left: 445px;
  max-width: 160px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-kinki,
  .ncasa-search-search-form-modal .pref-region-kinki {
    max-width: 100%;
  }
}
.ncasa-search-search-form .pref-region-chugoku,
.ncasa-search-search-form-modal .pref-region-chugoku {
  top: 190px;
  left: 255px;
  max-width: 160px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-chugoku,
  .ncasa-search-search-form-modal .pref-region-chugoku {
    max-width: 100%;
  }
}
.ncasa-search-search-form .pref-region-shikoku,
.ncasa-search-search-form-modal .pref-region-shikoku {
  top: 390px;
  left: 255px;
  max-width: 160px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-shikoku,
  .ncasa-search-search-form-modal .pref-region-shikoku {
    max-width: 100%;
  }
}
.ncasa-search-search-form .pref-region-kyushu,
.ncasa-search-search-form-modal .pref-region-kyushu {
  top: 295px;
  left: 45px;
  max-width: 160px;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-region-kyushu,
  .ncasa-search-search-form-modal .pref-region-kyushu {
    max-width: 100%;
  }
}
.ncasa-search-search-form .pref-region-okinawa,
.ncasa-search-search-form-modal .pref-region-okinawa {
  top: 190px;
  left: 45px;
}
.ncasa-search-search-form .pref-btn,
.ncasa-search-search-form-modal .pref-btn {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 6px 13px;
  font-size: 20px;
  color: #000;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .ncasa-search-search-form .pref-btn,
  .ncasa-search-search-form-modal .pref-btn {
    width: 50%;
    border-radius: 0;
    border: 0;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
  .ncasa-search-search-form .pref-btn:nth-child(2n+1),
  .ncasa-search-search-form-modal .pref-btn:nth-child(2n+1) {
    border-left: 1px solid #ccc;
  }
}
.ncasa-search-search-form .pref-btn:hover,
.ncasa-search-search-form-modal .pref-btn:hover {
  background-color: #e3f2fd;
  border-color: #1976d2;
}
.ncasa-search-search-form .pref-btn.active,
.ncasa-search-search-form-modal .pref-btn.active {
  background-color: #1976d2;
  color: #fff;
  border-color: #1976d2;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 市町村入力行 */
}
.ncasa-search-search-form .city-input-row,
.ncasa-search-search-form-modal .city-input-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ncasa-search-search-form .city-input-label,
.ncasa-search-search-form-modal .city-input-label {
  white-space: nowrap;
  color: #333;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* チェックボックス横並び */
}
.ncasa-search-search-form .checkbox-inline,
.ncasa-search-search-form-modal .checkbox-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.ncasa-search-search-form .checkbox-inline .checkbox-item,
.ncasa-search-search-form-modal .checkbox-inline .checkbox-item {
  margin-bottom: 0;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* フォームアイコン */
}
.ncasa-search-search-form .form-icon,
.ncasa-search-search-form-modal .form-icon {
  display: inline-block;
  vertical-align: middle;
  mask-size: cover;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #0D79BE;
}
.ncasa-search-search-form .form-icon.--location,
.ncasa-search-search-form-modal .form-icon.--location {
  width: 18px;
  height: 25px;
  mask-image: url(../images/location-dot-solid-full.svg);
}
.ncasa-search-search-form .form-icon.--map-pin,
.ncasa-search-search-form-modal .form-icon.--map-pin {
  width: 15px;
  height: 27px;
  mask-image: url(../images/map-pin-solid-full.svg);
}
.ncasa-search-search-form .form-icon.--hospital,
.ncasa-search-search-form-modal .form-icon.--hospital {
  width: 28px;
  height: 25px;
  mask-image: url(../images/hospital-solid-full.svg);
}
.ncasa-search-search-form .form-icon.--heart,
.ncasa-search-search-form-modal .form-icon.--heart {
  width: 29px;
  height: 25px;
  mask-image: url(../images/heart-circle-check-solid-full.svg);
}
.ncasa-search-search-form .form-icon.--notes,
.ncasa-search-search-form-modal .form-icon.--notes {
  width: 25px;
  height: 25px;
  mask-image: url(../images/notes-medical-solid-full.svg);
}
.ncasa-search-search-form .form-icon.--document,
.ncasa-search-search-form-modal .form-icon.--document {
  width: 20px;
  height: 26px;
  mask-image: url(../images/file-lines-regular-full.svg);
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* リンクアイコン */
}
.ncasa-search-search-form .link-icon,
.ncasa-search-search-form-modal .link-icon {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin-right: 4px;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* トグル矢印 */
}
.ncasa-search-search-form .toggle-arrow,
.ncasa-search-search-form-modal .toggle-arrow {
  width: 12px;
  height: 12px;
  vertical-align: middle;
  margin-left: 4px;
  transition: transform 0.3s;
}
.ncasa-search-search-form .toggle-arrow.open,
.ncasa-search-search-form-modal .toggle-arrow.open {
  transform: rotate(180deg);
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 検索ボタン（青色・丸型） */
}
.ncasa-search-search-form .form-group-submit,
.ncasa-search-search-form-modal .form-group-submit {
  padding: 0;
  background: none;
  text-align: center;
  margin-top: 25px;
  margin-bottom: 48px;
}
.ncasa-search-search-form .form-group-submit .search-button,
.ncasa-search-search-form-modal .form-group-submit .search-button {
  background-color: #108ccf;
  color: #fff;
  padding: 14px 50px;
  border: none;
  border-radius: 30px;
  font-size: 18px;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 7px 4px rgba(0, 0, 0, 0.2);
  transition: background-color 0.3s;
}
.ncasa-search-search-form .form-group-submit .search-button:hover,
.ncasa-search-search-form-modal .form-group-submit .search-button:hover {
  background-color: #0d47a1;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* 下部リンク */
}
.ncasa-search-search-form .form-group-links,
.ncasa-search-search-form-modal .form-group-links {
  display: flex;
  justify-content: center;
  gap: 30px;
  flex-wrap: wrap;
  background: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
}
.ncasa-search-search-form .form-link,
.ncasa-search-search-form-modal .form-link {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #1565c0;
  text-decoration: none;
  font-size: 20px;
  font-weight: bold;
}
.ncasa-search-search-form .form-link:hover,
.ncasa-search-search-form-modal .form-link:hover {
  text-decoration: underline;
}
.ncasa-search-search-form,
.ncasa-search-search-form-modal {
  /* レスポンシブ */
}
@media screen and (max-width: 768px) {
  .ncasa-search-search-form .count-box,
  .ncasa-search-search-form-modal .count-box {
    flex-basis: 100%;
  }
  .ncasa-search-search-form .modal-content,
  .ncasa-search-search-form-modal .modal-content {
    width: 95%;
    margin: 10% auto;
  }
  .ncasa-search-search-form .prefecture-map-wrapper,
  .ncasa-search-search-form-modal .prefecture-map-wrapper {
    grid-template-columns: 1fr 1fr;
  }
  .ncasa-search-search-form .form-group-links,
  .ncasa-search-search-form-modal .form-group-links {
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .ncasa-search-search-form .city-input-row,
  .ncasa-search-search-form-modal .city-input-row {
    flex-direction: column;
    align-items: flex-start;
  }
}

.ncasa-search-search-form-modal {
  display: none;
  background: rgba(0, 0, 0, 0.2);
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  padding: 50px 20px;
}
.ncasa-search-search-form-modal-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

/*# sourceMappingURL=ncasa-search.css.map */
