/*
Theme Name: My Original Design
Author: あなたの名前
Description: 治療家コミュニティサイト用のオリジナルテーマ
Version: 1.0
*/

/* --- ここから下がデザイン用CSS --- */

/* =========================
   共通：見出しなど
========================= */

.page-title {
  font-size: 28px;
  border-left: 6px solid #2E8B57;
  padding-left: 15px;
  margin-bottom: 40px;
  font-weight: bold;
}


/* =========================
   共通レイアウト
========================= */
.mc-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

.mc-header-wrapper,
.mc-front-main {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", "YuGothic", "メイリオ", sans-serif;
  color: #333;
}


/* =========================
   ヘッダー
========================= */
.mc-header-wrapper {
  background-color: #ffffff;
  border-bottom: 1px solid #dddddd;
}

.mc-site-header {
  background-color: #ffffff;
}

/* 左：コピー / 中央：ロゴ / 右：SEARCH・MENU */
.mc-header-main {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px 10px;
}

.mc-header-copy {
  margin: 0;
  font-size: 13px;
  color: #333;
  white-space: nowrap;
}

.mc-header-copy-highlight {
  color: #2E8B57;
  font-weight: 700;
}

.mc-header-copy-logo {
  display: flex;
  align-items: center;
  margin: 0;
  position: relative;
  z-index: 2;
}

.mc-header-copy-logo img {
  display: block;
  height: 32px;
  width: auto;
}

.mc-header-logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.mc-header-logo img {
  display: block;
  height: 40px;
  width: auto;
}

.mc-header-actions {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-left: auto;
  position: relative;
  z-index: 1;
}

.mc-header-auth-actions {
  gap: 10px;
}

.mc-header-auth-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid #2E8B57;
  color: #2E8B57;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  background-color: #fff;
}

.mc-header-auth-link.is-primary {
  background-color: #2E8B57;
  color: #fff;
}

.mc-header-auth-link:hover {
  opacity: 0.85;
}

/* =========================
   フッター
========================= */
.mc-site-footer {
  background-color: #f6f5f1;
  border-top: 1px solid #e2e0d7;
  padding: 24px 0 32px;
}

.mc-footer-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
}

.mc-footer-contact {
  text-align: center;
}

.mc-footer-contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  border-radius: 999px;
  background-color: #2E8B57;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 6px 16px rgba(46, 139, 87, 0.2);
  transition: 0.2s;
}

.mc-footer-contact-button:hover {
  opacity: 0.9;
}

.mc-footer-contact-note {
  margin: 10px 0 0;
  font-size: 12px;
  color: #555;
}

.mc-footer-company {
  margin: 0;
  font-size: 12px;
  text-align: center;
}

.mc-footer-company a {
  color: #2E8B57;
  text-decoration: none;
  font-weight: 700;
}

.mc-footer-company a:hover {
  text-decoration: underline;
}

.mc-footer-company a:visited {
  color: #2E8B57;
}

.mc-footer-copyright {
  margin: 0;
  font-size: 11px;
  color: #777;
  text-align: center;
}

/* =========================
   マイページ
========================= */
.mc-account-notice {
  margin-bottom: 16px;
  padding: 10px 12px;
  border-radius: 8px;
  background-color: #edf8f1;
  border: 1px solid #d2eadc;
}

.mc-account-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
}

.mc-account-tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid #d9e2dd;
  border-radius: 999px;
  background-color: #fff;
  color: #2f3b33;
  font-weight: 700;
  font-size: 13px;
  text-decoration: none;
}

.mc-account-tab span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  border-radius: 999px;
  background-color: #eef3ef;
  font-size: 12px;
}

.mc-account-tab.is-active {
  border-color: #2E8B57;
  background-color: #2E8B57;
  color: #fff;
}

.mc-account-tab.is-active span {
  background-color: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.mc-account-panel {
  margin-top: 0;
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 12px;
  background-color: #fff;
  border: 1px solid #e5ece8;
}

.mc-account-panel h2 {
  margin: 0 0 10px;
  font-size: 20px;
}

.mc-account-panel-danger {
  background-color: #fafafa;
}

.mc-account-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.mc-account-table th,
.mc-account-table td {
  padding: 10px 8px;
  border-bottom: 1px solid #edf0ee;
  text-align: left;
  vertical-align: middle;
}

.mc-account-table th {
  font-size: 12px;
  color: #5f6d65;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.mc-account-table td form {
  margin: 0;
}

.mc-account-table td button {
  min-width: 56px;
  height: 30px;
  border: 1px solid #c4d0ca;
  border-radius: 8px;
  background-color: #fff;
  cursor: pointer;
}

.mc-account-table td button:hover {
  opacity: 0.8;
}

.mc-account-panel .page-numbers {
  margin: 10px 0 0;
  padding-left: 0;
  list-style: none;
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.mc-account-panel .page-numbers li {
  margin: 0;
}

.mc-account-panel .page-numbers a,
.mc-account-panel .page-numbers span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 30px;
  padding: 0 8px;
  border-radius: 8px;
  border: 1px solid #d8e1dc;
  text-decoration: none;
}

.mc-account-panel .page-numbers .current {
  background-color: #2E8B57;
  border-color: #2E8B57;
  color: #fff;
}

/* =========================
   会員登録
========================= */
.mc-register-card {
  max-width: 560px;
  margin: 0 auto;
  padding: 8px 8px 24px;
}

body.page-template-page-register .mc-main-layout,
body.page-template-page-register-php .mc-main-layout,
body.page-template-page-login .mc-main-layout,
body.page-template-page-login-php .mc-main-layout,
body.page-template-page-account-delete .mc-main-layout,
body.page-template-page-account-delete-php .mc-main-layout,
body.page-template-page-password-reset .mc-main-layout,
body.page-template-page-password-reset-php .mc-main-layout {
  display: block;
}

body.page-template-page-register .mc-main-content,
body.page-template-page-register-php .mc-main-content,
body.page-template-page-login .mc-main-content,
body.page-template-page-login-php .mc-main-content,
body.page-template-page-account-delete .mc-main-content,
body.page-template-page-account-delete-php .mc-main-content,
body.page-template-page-password-reset .mc-main-content,
body.page-template-page-password-reset-php .mc-main-content {
  max-width: 640px;
  margin: 0 auto;
}

.mc-register-title {
  margin: 0;
  text-align: center;
  font-size: 44px;
  font-weight: 700;
  line-height: 1.2;
}

.mc-register-title-line {
  width: 52px;
  height: 6px;
  margin: 16px auto 28px;
  border-radius: 999px;
  background-color: #38a53d;
}

.mc-register-errors {
  margin-bottom: 16px;
  padding: 12px 14px;
  border-radius: 8px;
  border: 1px solid #f1c8c8;
  background-color: #fff5f5;
}

.mc-register-errors p {
  margin: 6px 0;
}

.mc-member-register-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.mc-register-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 22px;
  font-weight: 700;
  color: #1f2b37;
}

.mc-required {
  margin-left: 6px;
  color: #ff5263;
  font-size: 16px;
}

.mc-register-field input[type="email"],
.mc-register-field input[type="password"],
.mc-register-field input[type="text"] {
  width: 100%;
  height: 58px;
  border: 1px solid #b8c2be;
  border-radius: 10px;
  padding: 0 14px;
  font-size: 18px;
  box-sizing: border-box;
  background-color: #fff;
}

.mc-register-check {
  margin-top: 2px;
}

.mc-register-check label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 20px;
  line-height: 1.4;
  color: #1f2b37;
}

.mc-register-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
}

.mc-register-submit {
  margin-top: 10px;
  text-align: center;
}

.mc-register-submit button {
  min-width: 260px;
  height: 58px;
  border: 0;
  border-radius: 999px;
  background-color: #38a53d;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  cursor: pointer;
}

.mc-register-submit button:hover {
  opacity: 0.9;
}

.mc-login-card .mc-register-submit {
  margin-top: 4px;
}

.mc-login-lost-password {
  margin: 14px 0 0;
  text-align: center;
  font-size: 18px;
}

.mc-delete-card {
  max-width: 620px;
}

.mc-delete-notice {
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid #f0d4d4;
  border-radius: 10px;
  background-color: #fff8f8;
}

.mc-delete-notice p {
  margin: 6px 0;
  font-size: 15px;
  line-height: 1.7;
}

.mc-delete-submit button {
  background-color: #d64b4b;
}

.mc-password-reset-note {
  margin: 0 0 8px;
  font-size: 15px;
  line-height: 1.7;
}

.mc-header-icon-btn {
  background: none !important;
  border: none !important;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #333;
}

.mc-header-icon-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

/* 検索アイコン */
.mc-icon-search {
  position: relative;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid #333;
}
.mc-icon-search::after {
  content: "";
  position: absolute;
  right: -4px;
  bottom: -1px;
  width: 9px;
  height: 2px;
  background-color: #333;
  border-radius: 999px;
  transform: rotate(45deg);
}

/* メニュー（三本線） */
.mc-icon-menu {
  width: 22px;
  height: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.mc-icon-menu span {
  display: block;
  height: 2px;
  width: 100%;
  background-color: #333;
}


/* =========================
   グローバルナビ
========================= */
.mc-global-nav {
  background-color: #ffffff;
  border-top: 1px solid #eeeeee;
  border-bottom: 1px solid #eeeeee;
}

.mc-global-nav > .mc-container {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  justify-content: center;
}

.mc-global-nav-list {
  list-style: none;
  margin: 0;
  padding: 6px 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.mc-global-nav-item {
  display: flex;
  align-items: center;
}


.mc-global-nav-list a {
  position: relative;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  color: #333;
  white-space: nowrap;
}

.mc-global-nav-list a::before {
  content: "▶";
  font-size: 10px;
  color: #ff9900;
}

.mc-global-nav-item + .mc-global-nav-item a::after {
  content: "";
  position: absolute;
  left: -6px;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background-color: #dddddd;
}

.mc-global-nav-list a:hover {
  opacity: 0.7;
}

/* サイズ調整 */
.mc-global-nav-list a {
  font-size: 16px;
  font-weight: 700;
  padding: 12px 20px;
}
.mc-global-nav-list {
  padding: 10px 0;
}
.mc-global-nav-list a::before {
  margin-right: 4px;
  font-size: 11px;
}


/* =========================
   ヒーローエリア
========================= */
.mc-hero {
  background-color: #f9f9f9;
  padding: 14px 0 18px;
}

.mc-hero-inner {
  position: relative;
}

.mc-hero-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.mc-hero-slides {
  position: relative;
}

.mc-hero-slide {
  display: none;
}

.mc-hero-slide.is-active {
  display: block;
}

.mc-hero-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background-color: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}

.mc-hero-arrow-left { left: 10px; }
.mc-hero-arrow-right { right: 10px; }


/* =========================
   メインレイアウト
========================= */
.mc-front-main {
  background-color: #ffffff;
  padding: 16px 0 120px;
}

.mc-main-layout {
  display: flex;
  align-items: flex-start;
  gap: 24px;
}

.mc-main-content {
  flex: 1 1 0;
  min-width: 0;
}

.mc-sidebar {
  width: 320px;
  flex-shrink: 0;
}


/* =========================
   セクション共通
========================= */
.mc-section {
  margin-bottom: 32px;
}

.mc-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.mc-section-title {
  font-size: 18px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

.mc-section-title-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #00b894;
}

.mc-section-link {
  font-size: 13px;
  color: #0088cc;
  text-decoration: none;
  border-radius: 12px;
  border: 1px solid #0088cc;
  padding: 4px 12px;
}

.mc-section-link:hover {
  background-color: #0088cc;
  color: #fff;
}

.mc-section-title-small {
  font-size: 16px;
  gap: 0;
}

/* Senryu top action buttons */
.mc-senryu-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 18px;
}

.mc-senryu-actions .mc-section-link {
  margin-left: 0;
}

.mc-archive-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 16px 0 22px;
}

.mc-archive-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  min-height: 52px;
  padding: 12px 24px;
  border-radius: 999px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.mc-archive-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
}

.mc-archive-cta-view {
  background: #f08a00;
  border: 1px solid #f08a00;
  color: #fff;
}

.mc-archive-cta-view:hover {
  background: #d97800;
  border-color: #d97800;
  color: #fff;
}

.mc-archive-cta-post {
  background: #2e8b57;
  border: 1px solid #2e8b57;
  color: #fff;
}

.mc-archive-cta-post:hover {
  background: #256f46;
  border-color: #256f46;
  color: #fff;
}


/* =========================
   トップページ：治療家川柳（今月）
   ※ 月間のカードを整える（今回の最新UI）
========================= */

/* ul/ol のデフォルトを消す */
.mc-senryu-list,
.mc-senryu-ranking-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 今月：2カラム（スマホは1カラム） */
.mc-section-senryu-month .mc-senryu-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

/* 年間：縦並び（カード間の余白） */
.mc-senryu-ranking-list {
  display: grid;
  gap: 18px;
}

/* カード本体（今月カード用） */
.mc-senryu-rank-card {
  display: flex;
  gap: 14px;
  padding: 18px;
  border: 1px solid #e7e7e7;
  border-radius: 12px;
  text-decoration: none;
  background: #fff;
  color: inherit;
}
.mc-senryu-rank-card:hover {
  border-color: #d8d8d8;
}

/* 順位バッジ */
.mc-senryu-rank-no {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #f1f1f1;
  display: grid;
  place-items: center;
  font-weight: 700;
  flex: 0 0 32px;
}

/* Senryu new badge */
.mc-senryu-new-badge {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #1e6edc;
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 700;
  flex: 0 0 32px;
}

.mc-senryu-new-badge--ghost {
  background: transparent;
  color: transparent;
}

/* 本文 */
.mc-senryu-rank-body { min-width: 0; }

.mc-senryu-rank-text {
  margin: 0 0 10px;
  color: #111;
  line-height: 1.8;
}

.mc-senryu-rank-meta {
  margin: 0;
  font-size: 12px;
  color: #666;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* スマホ：1カラム */
@media (max-width: 768px) {
  .mc-section-senryu-month .mc-senryu-list {
    grid-template-columns: 1fr;
  }
}


/* =========================
   年間ランキング（上部の縦リスト）
   ※ archive-senryu.php の年間ランキング側で使用
========================= */
.mc-senryu-ranking-item {
  border-bottom: 1px solid #eee;
  padding: 12px 0;
}

.mc-senryu-ranking-item a {
  text-decoration: none;
  color: inherit;
  display: block;
}

.mc-senryu-ranking-head {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.mc-senryu-ranking-no {
  display: inline-block;
  min-width: 24px;
  font-weight: 700;
  font-size: 18px;
}

.mc-senryu-ranking-text {
  font-size: 18px;
  line-height: 1.6;
}

.mc-senryu-ranking-meta {
  margin-top: 4px;
  font-size: 12px;
  color: #666;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mc-senryu-ranking-more {
  margin-top: 12px;
  font-size: 14px;
}


/* =========================
   スキルアップ教材
========================= */
.mc-skill-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.mc-skill-item {
  border: 1px solid #e4e4e4;
  border-radius: 4px;
  overflow: hidden;
  background-color: #fff;
  height: 100%;
}

.mc-skill-item a {
  text-decoration: none;
  color: inherit;
  display: block;
  height: 100%;
}

.mc-skill-thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.mc-skill-body {
  padding: 8px 10px 10px;
}

.mc-skill-title {
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 4px;
}

.mc-skill-text {
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
  color: #666;
}


/* =========================
   AI診断
========================= */
.mc-section-ai {
  border-top: 2px solid #00b894;
  padding-top: 16px;
}

.mc-ai-text {
  font-size: 13px;
  line-height: 1.8;
  margin: 0 0 10px;
}

.mc-ai-banner img {
  width: 100%;
  height: auto;
  display: block;
}


/* =========================
   オススメ求人
========================= */
.mc-job-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.mc-job-pickup-heading {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.mc-job-pickup-eyebrow {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #2e8b57;
}

.mc-job-pickup-title {
  margin-bottom: 0;
}

.mc-job-pickup-description {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
  color: #666;
}

.mc-job-list-pickup {
  margin-top: 18px;
}

.mc-job-item {
  position: relative;
  display: flex;
  gap: 12px;
  padding: 18px 16px 16px;
  border: 1px solid #dce9df;
  border-radius: 14px;
  background-color: #fff;
  box-shadow: 0 12px 28px rgba(27, 66, 44, 0.06);
}

.mc-job-pickup-badge {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 6px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2e8b57, #54b46f);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.mc-job-thumb img {
  width: 180px;
  height: auto;
  object-fit: cover;
  border-radius: 4px;
}

.mc-job-body { flex: 1; }

.mc-job-area {
  font-size: 12px;
  color: #666;
  margin: 0 0 4px;
}

.mc-job-title {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 6px;
}

.mc-job-text {
  font-size: 12px;
  line-height: 1.7;
  margin: 0;
  color: #666;
}

.mc-job-comment {
  font-size: 13px;
  line-height: 1.7;
  margin: 0;
  color: #2e8b57;
}

.mc-job-comment p {
  margin: 0 0 6px;
}

.mc-job-comment p:last-child {
  margin-bottom: 0;
}

.mc-job-actions {
  margin-top: 12px;
}

.mc-job-detail-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  padding: 10px 18px;
  border-radius: 999px;
  background-color: #2e8b57;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.mc-job-detail-button:hover {
  background-color: #256f46;
  color: #fff;
  transform: translateY(-1px);
}

/* =========================
   おすすめ求人 詳細
========================= */
.mc-job-detail {
  background-color: #fff;
}

.mc-job-detail-title {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid #e8e8e8;
}

.mc-job-detail-top {
  display: flex;
  gap: 20px;
  margin-bottom: 20px;
}

.mc-job-detail-image img {
  width: 100%;
  max-width: 360px;
  height: auto;
  display: block;
  border-radius: 4px;
}

.mc-job-detail-comment {
  flex: 1 1 0;
  background-color: #f4f9ff;
  padding: 16px 18px;
  border-radius: 4px;
}

.mc-job-detail-subtitle {
  font-size: 17px;
  font-weight: 700;
  margin: 0 0 10px;
  color: #0f3d6e;
}

.mc-job-detail-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: #1e2f3f;
}

.mc-job-detail-text p {
  margin: 0 0 8px;
}

.mc-job-detail-text p:last-child {
  margin-bottom: 0;
}

.mc-job-detail-requirements {
  margin-bottom: 22px;
}

.mc-job-detail-content {
  background-color: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  padding: 16px;
  line-height: 1.7;
}

.mc-job-detail-cta {
  text-align: center;
  margin: 10px 0 24px;
}

.mc-job-apply-button {
  display: inline-block;
  padding: 12px 40px;
  background-color: #111;
  color: #fff;
  text-decoration: none;
  border-radius: 999px;
  font-weight: 700;
}

.mc-job-apply-button:hover {
  opacity: 0.9;
}

/* 求人：トップ用セクション */
.mc-job-subsection {
  margin-top: 18px;
}

.mc-job-subtitle {
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

.mc-job-taxonomy-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mc-job-taxonomy-link {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  min-height: 38px;
  border: 1px solid #d9e6d9;
  border-radius: 999px;
  background: #f7fbf7;
  color: #1f3b2c;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.mc-job-taxonomy-link:hover {
  background: #e9f4ea;
}

.mc-job-taxonomy-link.is-disabled {
  color: #999;
  background: #f5f5f5;
  border-color: #e2e2e2;
  cursor: default;
  pointer-events: none;
}


/* =========================
   サイドバー
========================= */
.mc-sidebar-block { margin-bottom: 24px; }

.mc-sidebar-block img {
  width: 100%;
  height: auto;
  display: block;
}

/* ニュース */
.mc-news-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 12px;
}

.mc-news-item {
  border-bottom: 1px dotted #ddd;
  padding: 8px 0;
}

.mc-news-label {
  display: inline-block;
  font-size: 10px;
  color: #fff;
  background-color: #ff6b6b;
  border-radius: 2px;
  padding: 1px 4px;
  margin-right: 4px;
}

.mc-news-date {
  font-size: 11px;
  color: #777;
  margin-right: 6px;
}

.mc-news-title {
  display: inline;
  color: #333;
  text-decoration: none;
}

.mc-news-title:hover { text-decoration: underline; }

/* 情報配信 */
.mc-share-buttons {
  display: flex;
  gap: 8px;
  margin: 10px 0;
}

.mc-share-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 10px 0;
}

.mc-share-item img {
  display: block;
  width: 100%;
  height: auto;
}

.mc-share-btn {
  flex: 1;
  text-align: center;
  padding: 8px 0;
  border-radius: 4px;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  font-size: 14px;
}

.mc-share-btn-fb { background-color: #3b5998; }
.mc-share-btn-x  { background-color: #000000; }

/* 姉妹サイト */
.mc-sisters-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mc-sisters-list li + li { margin-top: 8px; }


/* =========================
   フッター固定バナー
========================= */
.mc-footer-fixed-banner {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 50;
  background-color: #fff;
  border-top: 1px solid #e4e4e4;
  text-align: center;
}

.mc-footer-fixed-banner a {
  display: inline-block;
  max-width: 1120px;
  width: 100%;
}

.mc-footer-fixed-banner img {
  width: 100%;
  height: auto;
  display: block;
}


/* =========================
   お悩み相談（コンパクト表示）
========================= */
.mc-section-consult { margin-bottom: 32px; }

.mc-consult-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.mc-consult-item a {
  display: block;
  padding: 10px 12px;
  border: 1px solid #e4e4e4;
  border-radius: 4px;
  background-color: #ffffff;
  text-decoration: none;
  color: #333333;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.mc-consult-item a:hover {
  background-color: #fafafa;
  box-shadow: 0 2px 4px rgba(0,0,0,0.04);
}

.mc-consult-title {
  margin: 0 0 4px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
}

.mc-consult-excerpt {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.7;
  color: #666666;
}

.mc-consult-meta {
  margin: 0;
  font-size: 11px;
  color: #999999;
}

.mc-consult-empty {
  font-size: 13px;
  color: #777777;
}


/* =========================
   お悩み相談 詳細ページ
========================= */
.consult-question {
  margin-bottom: 24px;
  padding: 16px;
  border: 1px solid #e4e4e4;
  border-radius: 4px;
  background-color: #fff;
}

.consult-question-title {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 700;
}

.consult-question-meta {
  margin: 0 0 12px;
  font-size: 12px;
  color: #777;
}

.consult-question-body p {
  margin: 0 0 8px;
  line-height: 1.8;
}

.consult-answers { margin-top: 32px; }

.consult-section-title {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
}

.consult-answer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid #eee;
}

.consult-answer:first-child { border-top: none; }

.consult-answer-main { flex: 1; }

.consult-answer-meta {
  margin: 0 0 4px;
  font-size: 12px;
  color: #777;
}

.consult-answer-body p {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.7;
}

.consult-answer.is-best-answer {
  background-color: #fffdf0;
  border-radius: 4px;
  padding: 12px;
  border: 1px solid #ffd54f;
}

.consult-answer-actions {
  display: flex;
  align-items: flex-start;
}

/* =========================
   川柳 詳細ページ（いいね）
========================= */
.mc-senryu-single { margin-bottom: 40px; }

.mc-senryu-body {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 12px;
}

.mc-senryu-like-wrap {
  margin: 12px 0 24px;
}

/* JS いいねボタン：定義を1つに統一（競合防止） */
.js-senryu-like-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid #ff9900;
  background-color: #fff7e6;
  cursor: pointer;
  font-size: 13px;
  color: #333;
  transition: 0.2s;
}

.js-senryu-like-btn:hover {
  background-color: #ffe2b8;
}

.js-senryu-like-btn.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

.js-senryu-like-btn.is-liked {
  background: #aaa !important;
  border-color: #aaa !important;
  color: #fff;
  cursor: default;
}

/* いいねメッセージ */
.senryu-like-message {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: #333;
  color: #fff;
  padding: 10px 16px;
  border-radius: 8px;
  font-size: 14px;
  display: none;
  z-index: 9999;
}


/* =========================
   レスポンシブ
========================= */

/* ～1024px */
@media (max-width: 1024px) {
  .mc-main-layout { flex-direction: column; }
  .mc-sidebar { width: 100%; }
  .mc-skill-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ～767px */
@media (max-width: 767px) {

  .mc-header-main {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
  }

  .mc-header-copy-logo {
    display: none;
  }

  .mc-header-logo {
    position: static;
    transform: none;
    margin: 0;
    left: auto;
    top: auto;
    flex: 1;
    min-width: 0;
  }
  .mc-header-logo a {
    display: inline-flex;
    align-items: center;
  }
  .mc-header-logo img {
    height: 34px;
    width: auto;
    max-width: 100%;
  }

  .mc-header-actions { margin-left: 0; }
  .mc-header-auth-actions {
    width: auto;
    justify-content: flex-end;
    margin-top: 0;
    gap: 6px;
    flex-shrink: 0;
  }
  .mc-header-auth-link {
    min-width: 74px;
    height: 30px;
    font-size: 11px;
    padding: 0 8px;
  }

  .mc-global-nav-list {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 6px 0;
  }

  .mc-global-nav-item + .mc-global-nav-item::before { display: none; }

  .mc-global-nav-list a {
    font-size: 12px;
    padding: 8px 10px;
  }

  .mc-account-tabs {
    gap: 6px;
  }
  .mc-account-tab {
    font-size: 12px;
    padding: 7px 12px;
  }
  .mc-account-panel {
    padding: 10px;
  }
  .mc-account-panel h2 {
    font-size: 18px;
  }
  .mc-account-table {
    font-size: 12px;
  }
  .mc-account-table th,
  .mc-account-table td {
    padding: 8px 6px;
  }
  .mc-account-table-wrap {
    overflow-x: auto;
  }

  .mc-register-card {
    max-width: 100%;
    padding: 0 0 18px;
  }
  .mc-register-title {
    font-size: 38px;
  }
  .mc-register-title-line {
    margin-top: 12px;
    margin-bottom: 22px;
  }
  .mc-register-field label {
    font-size: 18px;
  }
  .mc-required {
    font-size: 13px;
  }
  .mc-register-field input[type="email"],
  .mc-register-field input[type="password"],
  .mc-register-field input[type="text"] {
    height: 52px;
    font-size: 16px;
  }
  .mc-register-check label {
    font-size: 16px;
  }
  .mc-register-submit button {
    min-width: 220px;
    height: 52px;
    font-size: 24px;
  }

  body.page-template-page-register .mc-container,
  body.page-template-page-register-php .mc-container,
  body.page-template-page-login .mc-container,
  body.page-template-page-login-php .mc-container,
  body.page-template-page-account-delete .mc-container,
  body.page-template-page-account-delete-php .mc-container,
  body.page-template-page-password-reset .mc-container,
  body.page-template-page-password-reset-php .mc-container {
    padding-left: 12px;
    padding-right: 12px;
  }
  body.page-template-page-register .mc-main-content,
  body.page-template-page-register-php .mc-main-content,
  body.page-template-page-login .mc-main-content,
  body.page-template-page-login-php .mc-main-content,
  body.page-template-page-account-delete .mc-main-content,
  body.page-template-page-account-delete-php .mc-main-content,
  body.page-template-page-password-reset .mc-main-content,
  body.page-template-page-password-reset-php .mc-main-content {
    max-width: 100%;
    margin: 0 auto;
  }
  .mc-login-lost-password {
    font-size: 15px;
  }
  .mc-delete-notice {
    padding: 10px;
  }
  .mc-delete-notice p {
    font-size: 13px;
  }
  .mc-password-reset-note {
    font-size: 13px;
  }

  .mc-hero { padding: 10px 0 14px; }
  .mc-hero-arrow {
    width: 30px;
    height: 30px;
    font-size: 18px;
  }
  .mc-main-layout { gap: 18px; }
  .mc-skill-grid { grid-template-columns: 1fr; }

  .mc-job-item {
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    padding: 46px 12px 12px;
  }
  .mc-job-thumb img {
    width: 140px;
  }
  .mc-job-body { padding-top: 2px; }
  .mc-job-pickup-description {
    font-size: 12px;
  }
  .mc-job-pickup-badge {
    top: 10px;
    left: 12px;
    right: auto;
    min-width: 64px;
    padding: 5px 10px;
    font-size: 10px;
  }

  .mc-job-detail-top {
    flex-direction: column;
  }

  .mc-job-detail-image,
  .mc-job-detail-comment {
    width: 100%;
    max-width: 360px;
    margin: 0 auto;
  }

  .mc-job-detail-image img {
    max-width: 100%;
  }

  .mc-section-header {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 8px;
  }

  .mc-section-link {
    margin-left: auto;
    font-size: 12px;
    max-width: 100%;
    box-sizing: border-box;
    white-space: normal;
    padding: 2px 6px;
  }

  .mc-section-consult-archive .mc-section-actions {
    justify-content: flex-start;
  }

  .mc-section-consult-archive .mc-section-actions .mc-section-link {
    margin-left: 0;
    width: auto;
  }

  .mc-archive-cta-row {
    gap: 10px;
    flex-wrap: nowrap;
  }

  .mc-archive-cta {
    min-width: 0;
    flex: 1 1 0;
    min-height: 46px;
    padding: 10px 12px;
    font-size: 12px;
  }

  .mc-footer-fixed-banner img {
    max-height: 120px;
    object-fit: cover;
  }
}

@media (max-width: 420px) {
  .mc-container {
    padding: 0 12px;
  }

  .mc-senryu-rank-card,
  .mc-consult-item {
    width: 100%;
    box-sizing: border-box;
  }

  .mc-senryu-rank-card {
    padding: 10px 10px;
  }

  .mc-consult-item {
    padding: 10px;
  }

  .mc-section-link {
    padding: 2px 4px;
  }
}

@media (max-width: 360px) {
  .mc-job-item {
    flex-direction: column;
  }
  .mc-job-thumb img {
    width: 100%;
  }
}

/* =========================
  治療家川柳トップ：表示のメリハリ調整（次ステップ）
========================= */

/* 年間ランキング：縦並びで大きく見せる */
.mc-section-senryu-year .mc-senryu-ranking-list,
.mc-section-senryu-year .mc-senryu-list,
.mc-section-senryu-new .mc-senryu-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

/* 今月：2カラム（スマホ1カラム） */
.mc-section-senryu-month .mc-senryu-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

@media (max-width: 768px) {
  .mc-section-senryu-month .mc-senryu-list {
    grid-template-columns: 1fr;
  }
}

/* 年間ランキングのカードは少し目立たせる */
.mc-section-senryu-year .mc-senryu-rank-card {
  padding: 18px 20px;
  border-radius: 14px;
}

.mc-section-senryu-new .mc-senryu-rank-card {
  padding: 18px 20px;
  border-radius: 14px;
}

/* 今月カードは少しコンパクトに */
.mc-section-senryu-month .mc-senryu-rank-card {
  padding: 14px 16px;
  border-radius: 12px;
}

/* メタ（日時/投稿者/いいね）を1行で整える */
.mc-senryu-rank-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  line-height: 1.6;
}

/* =========================
  川柳ランキング：順位の強調（STEP2）
========================= */

/* 年間ランキングの順位番号を強調 */
.mc-section-senryu-year .mc-senryu-rank-no {
  background: #e6f4ef;
  color: #0a6b4f;
  font-size: 16px;
}

/* 1位 */
.mc-section-senryu-year .mc-senryu-rank-item:nth-child(1) .mc-senryu-rank-no {
  background: #fff3c4;
  color: #b78100;
  font-size: 18px;
}

/* 2位 */
.mc-section-senryu-year .mc-senryu-rank-item:nth-child(2) .mc-senryu-rank-no {
  background: #eeeeee;
  color: #555;
}

/* 3位 */
.mc-section-senryu-year .mc-senryu-rank-item:nth-child(3) .mc-senryu-rank-no {
  background: #f5e0d0;
  color: #8a4b2a;
}

/* =========================
  川柳ランキング：句を横並び＋色変更
========================= */

/* 川柳本文を横並びにする */
.mc-senryu-rank-text {
  display: flex;
  gap: 16px;                /* 句と句の間隔 */
  font-size: 17px;
  font-weight: 600;
  color: #2e8b57;           /* 参考イメージの緑 */
  line-height: 1.6;
}

/* <br> を無効化（横並びにするため） */
.mc-senryu-rank-text br {
  display: none;
}

/* 句1つ1つをブロックとして扱う */
.mc-senryu-rank-text span,
.mc-senryu-rank-text {
  white-space: nowrap;
}

/* =========================
   consult archive
========================= */
.mc-section-consult-archive .mc-consult-block-title{
  font-size: 16px;
  font-weight: 700;
  margin: 16px 0 10px;
}

.mc-consult-ranking-list,
.mc-consult-latest-list{
  display: grid;
  gap: 12px;
}

.mc-consult-ranking-item,
.mc-consult-latest-item{
  border: 1px solid #e6e6e6;
  border-radius: 10px;
  background: #fff;
}

.mc-consult-link{
  display: flex;
  gap: 12px;
  padding: 14px 14px;
  text-decoration: none;
  color: inherit;
}

.mc-consult-ranking-item .mc-consult-link{
  align-items: center;
}

.mc-consult-rank-badge{
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: 700;
  background: #f1f1f1;
  flex: 0 0 auto;
}

.mc-consult-ranking-item.rank-1 .mc-consult-rank-badge{ background:#ffe08a; }
.mc-consult-ranking-item.rank-2 .mc-consult-rank-badge{ background:#e6e6e6; }
.mc-consult-ranking-item.rank-3 .mc-consult-rank-badge{ background:#f2c7a5; }

.mc-consult-body{
  flex: 1;
  min-width: 0;
}

.mc-consult-title{
  font-weight: 700;
  margin: 0 0 6px;
  line-height: 1.4;
}

.mc-consult-meta{
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 12px;
  color: #666;
}

.mc-consult-date{
  margin-left: auto;
  color: #888;
}

.mc-consult-empty{
  color:#666;
  font-size: 13px;
  margin: 6px 0 0;
}

/* =========================
   Consult Archive ( /consult )
========================= */

.mc-consult-subtitle{
  margin: 18px 0 10px;
  font-size: 14px;
  font-weight: 700;
  color: #111;
}

.mc-consult-empty{
  margin: 10px 0 20px;
  font-size: 13px;
  color: #666;
}

.mc-consult-card-list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.mc-consult-card{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 14px;
  border: 1px solid #e9e9e9;
  border-radius: 6px;
  background: #fff;
  margin-bottom: 10px;
}

.mc-consult-rank{
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 14px;
  background: #ffe8a6; /* 参考イメージの「順位バッジ」っぽく */
  color: #111;
  flex: 0 0 auto;
}

.mc-consult-rank--ghost{
  background: transparent;
  color: transparent;
  border: 0;
}

.mc-consult-rank--new{
  background: #1e6edc;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  box-shadow: none;
  border: 1px solid #1b63c6;
}

.mc-consult-card--new .mc-consult-rank--new{
  background: #1e6edc;
  color: #fff;
  border-color: #1b63c6;
}

.mc-consult-card-body{
  flex: 1 1 auto;
  min-width: 0;
}

.mc-consult-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
}

.mc-consult-tags-single {
  margin-bottom: 10px;
}

.mc-consult-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  background: #eef7f0;
  color: #2e8b57;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
}

.mc-consult-category-nav {
  margin: 6px 0 24px;
}

.mc-consult-category-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.mc-consult-category-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: #f3f8f3;
  border: 1px solid #d6e7d7;
  color: #2e8b57;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.mc-consult-category-link:hover {
  background: #2e8b57;
  border-color: #2e8b57;
  color: #fff;
}

.mc-consult-card-title{
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  line-height: 1.4;
}

.mc-consult-card-title:hover{
  text-decoration: underline;
}

.mc-consult-card-meta{
  margin-top: 6px;
  display: flex;
  gap: 10px;
  font-size: 12px;
  color: #666;
}

.mc-consult-meta-item b{
  font-weight: 700;
  color: #111;
}

.mc-consult-card-date{
  font-size: 12px;
  color: #888;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* =========================
   お悩み相談：文字サイズ・カラー調整
========================= */

/* お悩みタイトル（カード内） */
.mc-consult-card-title {
  font-size: 15px;          /* 少し大きく */
  font-weight: 700;         /* 太字 */
  color: #222;              /* ほぼ黒 */
}

/* ランキング側はさらに強調 */
.mc-consult-card:not(.mc-consult-card--new) .mc-consult-card-title {
  font-size: 16px;
  font-weight: 700;
}

/* 👍 💬 の行 */
.mc-consult-card-meta {
  font-size: 12px;
  color: #555;
}

/* 👍 💬 の数字を強調 */
.mc-consult-meta-item b {
  font-weight: 700;
  color: #111;
}

/* 日付は控えめに */
.mc-consult-card-date {
  font-size: 12px;
  color: #999;
}

/* ランキング番号の色を少し濃く */
.mc-consult-rank {
  background: #ffe39a;
  color: #333;
}

/* 新着側のカードは少しだけ弱め */
.mc-consult-card--new .mc-consult-card-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
}

/* =========================
   お悩み相談：タイトルを川柳と同じ緑に
========================= */

/* お悩みタイトル（ランキング・新着 共通） */
.mc-consult-card-title {
  color: #2e9f4b;   /* 川柳と同系の緑 */
  font-weight: 700;
}

/* ホバー時（マウスを乗せた時） */
.mc-consult-card-title:hover {
  color: #238a3f;   /* 少し濃い緑 */
  text-decoration: underline;
}

/* 年間ランキング：前年/翌年ボタン */
.mc-senryu-year-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin: 10px 0 18px;
}

.mc-senryu-year-nav-left{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.mc-senryu-year-nav-right{
  margin-left:auto;
}

/* ===== Senryu Submit Form: friendly inputs (spacing tuned) ===== */

/* 各項目ブロックの上下余白を縮める */
.senryu-submit-form p {
  margin: 0 0 22px;   /* 下だけ余白を残す */
}

.senryu-submit-form label{
  display:block;
  font-weight:700;
  margin-bottom:2px;     /* ← ここを 0 に */
  line-height:1.2;     /* ← ラベル自体も詰める */
  color:#1f3b2c;
}


/* 入力欄（サイズはそのままOK） */
.senryu-submit-form input[type="text"]{
  width:100%;
  max-width:520px;
  padding:14px 16px;
  font-size:16px;
  margin-top:0;
  line-height:1.4;
  border:1px solid #d9e6d9;
  border-radius:14px;
  background:#fff;
  box-sizing:border-box;
}

.senryu-submit-form select{
  width:100%;
  max-width:520px;
  padding:14px 44px 14px 16px;
  font-size:16px;
  line-height:1.4;
  border:1px solid #d9e6d9;
  border-radius:14px;
  background-color:#fff;
  color:#222;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
  background-image:
    linear-gradient(45deg, transparent 50%, #6b7a70 50%),
    linear-gradient(135deg, #6b7a70 50%, transparent 50%);
  background-position:
    calc(100% - 24px) calc(50% - 2px),
    calc(100% - 18px) calc(50% - 2px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
}

.senryu-submit-form select:focus{
  outline:none;
  border-color:#2e8b57;
  box-shadow:0 0 0 3px rgba(46,139,87,.12);
}

/* ????????????????? */
.senryu-submit-form textarea{
  width:100%;
  max-width:520px;
  padding:14px 16px;
  font-size:16px;
  line-height:1.6;
  border:1px solid #d9e6d9;
  border-radius:14px;
  background:#fff;
  box-sizing:border-box;
  resize:vertical;
}


/* 補足文の余白も少し縮める */
.senryu-submit-form small{
  display:block;
  margin-top:8px;
  color:#6b7a70;
  font-size:13px;
  line-height:1.4;
}

/* 規約チェック */
.senryu-submit-form input[type="checkbox"]{
  transform: scale(1.15);
  margin-right: 6px;
}

/* 送信ボタン（そのまま） */
.senryu-submit-form button[type="submit"]{
  padding:14px 18px;
  border-radius:14px;
  border:none;
  background:#2f7d32;
  color:#fff;
  font-weight:700;
  font-size:16px;
  cursor:pointer;
}
.senryu-submit-form button[type="submit"]:hover{
  opacity:.92;
}


/* 川柳カード内の小さなタイトル */
.mc-senryu-card-title{
  margin: 0 0 6px;
  font-size: 12px;
  color: #6b7a70;
  font-weight: 700;
}

/* ===== Senryu single (detail) ===== */
.mc-senryu-single-card{
  border: 1px solid #e7e7e7;
  border-radius: 14px;
  padding: 18px;
  background: #fff;
}

.mc-senryu-single-title{
  margin: 0 0 6px;
  font-size: 14px;
  font-weight: 700;
  color: #6b7a70;
}

.mc-senryu-single-meta{
  margin: 0 0 12px;
  font-size: 12px;
  color: #666;
}

.mc-senryu-single-text{
  margin: 0 0 12px;
  display: grid;
  gap: 10px;
  font-size: 18px;
  font-weight: 700;
  color: #2e8b57;
  line-height: 1.6;
}

.mc-senryu-single-text span{
  display: block;
}

.mc-senryu-single-author{
  margin: 0 0 10px;
  font-size: 13px;
  color: #555;
}

.mc-senryu-single-footer{
  margin-top: 8px;
}

/* ===== Senryu single nav ===== */
.mc-senryu-single-nav{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

/* =========================
   consult archive（/consult）見出し崩れ修正：川柳トップ風
   - タイトルを潰さない
   - 説明文/ボタンは下段へ回す
========================= */
.mc-section-consult-archive .mc-section-header{
  display: block !important;     /* flexを殺す（ここが一番重要） */
  margin-bottom: 18px;
}

.mc-section-consult-archive .mc-section-title{
  display: inline-flex;          /* ドット＋タイトルを横並び */
  align-items: center;
  gap: 6px;
  white-space: nowrap;           /* 1文字ずつ改行されるのを防ぐ */
  word-break: keep-all;
}

.mc-section-consult-archive .mc-section-lead{
  margin: 10px 0 12px;
  font-size: 14px;
  line-height: 1.8;
  color: #666;
}

.mc-section-consult-archive .mc-section-actions{
  margin-top: 12px;
}

/* =========================
   Consult Archive: senryu寄せ（タイトル＆カード）
========================= */

/* タイトル周り（川柳と同じ“左緑線の大見出し”の下に説明＆ボタン） */
.mc-page-header{
  margin-bottom: 22px;
}

.mc-page-lead{
  margin: 12px 0 14px;
  font-size: 14px;
  line-height: 1.9;
  color: #666;
}

.mc-page-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* 小見出し（「月間アクションランキング」「新着のお悩み相談」）を川柳の見出し感に */
.mc-consult-subtitle{
  margin: 18px 0 12px;
  font-size: 16px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
}

.mc-consult-subtitle::before{
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #00b894; /* mc-section-title-dot と同系 */
}

/* リスト間隔を川柳カード寄りに */
.mc-consult-card-list{
  display: grid;
  gap: 18px;
  list-style: none;
  margin: 0 0 18px;
  padding: 0;
}

/* カードを川柳の「mc-senryu-rank-card」寄りに */
.mc-consult-card{
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border: 1px solid #e7e7e7;
  border-radius: 12px;
  background: #fff;
}

/* 順位バッジ（川柳の丸バッジ風） */
.mc-consult-rank{
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #f1f1f1;
  display: grid;
  place-items: center;
  font-weight: 700;
  flex: 0 0 32px;
  color: #111;
}

/* タイトル（川柳の緑に寄せる） */
.mc-consult-card-title{
  color: #2e8b57;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
  line-height: 1.5;
  font-size: 16px;
}

.mc-consult-card-title:hover{
  text-decoration: underline;
}

/* メタ情報は川柳の下段っぽく */
.mc-consult-card-meta{
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  color: #666;
}

.mc-consult-meta-item b{
  font-weight: 700;
  color: #111;
}

/* 日付は右寄せで控えめ */
.mc-consult-card-date{
  margin-left: auto;
  font-size: 12px;
  color: #888;
  white-space: nowrap;
}

/* 新着は順位バッジを見えなく（いまのghost方針のまま） */
.mc-consult-rank--ghost{
  background: transparent !important;
  color: transparent !important;
}

/* お悩み相談：もっと見るリンク（川柳トップ寄せ） */
.mc-consult-more{
  margin: 10px 0 18px;
  font-size: 14px;
}
.mc-consult-more a{
  text-decoration: none;
  color: #2e8b57;
  font-weight: 700;
}
.mc-consult-more a:hover{
  text-decoration: underline;
  opacity: .9;
}

/* =========================
   Consult Archive cards (Senryu寄せ)
========================= */

/* ランキング/新着 共通：カードの箱感 */
.mc-consult-card{
  border: 1px solid #e7e7e7;
  border-radius: 12px;
  background: #fff;
  margin-bottom: 14px;
  padding: 0;
}

/* クリック領域を広く（川柳カードっぽく） */
.mc-consult-card .mc-consult-card-body{
  padding: 16px 16px 14px;
}

/* 左の順位バッジ */
.mc-consult-rank{
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: #f1f1f1;
  display: grid;
  place-items: center;
  font-weight: 700;
  flex: 0 0 32px;
  margin: 16px 0 0 16px;
}

/* 新着側の「・」は消す（スペースだけ確保） */
.mc-consult-rank--ghost{
  background: transparent !important;
  color: transparent !important;
  border: 0 !important;
}

/* タイトル（緑＋少し大きめ） */
.mc-consult-card-title{
  display: inline-block;
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: #2e8b57;
  text-decoration: none;
  line-height: 1.5;
}
.mc-consult-card-title:hover{
  text-decoration: underline;
  opacity: .9;
}

/* メタ情報の並び */
.mc-consult-card-meta{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  font-size: 12px;
  color: #666;
  line-height: 1.6;
  margin-top: 2px;
}
.mc-consult-meta-item b{
  font-weight: 700;
  color: #111;
}

/* 日付を右寄せ・控えめ */
.mc-consult-card-date{
  font-size: 12px;
  color: #888;
  white-space: nowrap;
  margin: 0 16px 14px auto;
  display: block;
}

/* カード全体を横並び（順位 + 本文） */
.mc-consult-card{
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

/* 本文領域 */
.mc-consult-card-body{
  flex: 1;
  min-width: 0;
}

/* スマホは縦にして崩れないように */
@media (max-width: 768px){
  .mc-consult-card{
    flex-direction: column;
    gap: 0;
  }
  .mc-consult-rank{
    margin: 14px 0 0 14px;
  }
  .mc-consult-card-date{
    margin: 0 14px 14px auto;
  }
  .mc-consult-card .mc-consult-card-body{
    padding: 12px 14px 10px;
  }
}

/* =========================
   お悩み相談：月切り替えナビ
========================= */
.mc-consult-month-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin: 10px 0 18px;
}

.mc-consult-month-link{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  color: #1a1a1a;
  background:#fff;
}

.mc-consult-month-link:hover{
  opacity:.85;
}

/* =========================
   お悩み相談：月間ランキング 月切替ナビ
========================= */
.mc-consult-month-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top: 12px;
}

.mc-consult-month-current{
  font-size: 13px;
  font-weight: 700;
  color: #333;
}

.mc-consult-month-link{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border: 1px solid #d9d9d9;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  color: #1a1a1a;
  background:#fff;
}

.mc-consult-month-link:hover{
  opacity:.85;
}

.mc-consult-month-link.is-disabled{
  opacity:.4;
  cursor: default;
  border-style: dashed;
}

/* =========================
   お悩み相談：ページネーション
========================= */

.navigation.pagination {
  margin-top: 30px;
}

.navigation.pagination .nav-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.navigation.pagination a,
.navigation.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #d9d9d9;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  background: #fff;
  color: #1a1a1a;
}

/* ホバー時（ボタン感） */
.navigation.pagination a:hover {
  background-color: #0088cc;
  border-color: #0088cc;
  color: #fff;
}

/* 現在のページ */
.navigation.pagination .current {
  background-color: #0088cc;
  border-color: #0088cc;
  color: #fff;
  font-weight: 700;
  pointer-events: none;
}

/* =========================
   お悩み相談：ページネーション（確実版）
   - ul/li の「・」を消す
   - 1/2/次へ をボタン化
========================= */

/* paginate_links(type=list) / the_posts_pagination() 対応 */
.pagination,
.navigation.pagination {
  margin-top: 30px !important;
}

.pagination .nav-links,
.navigation.pagination .nav-links {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

/* ここが重要：箇条書き（・）を消す */
.pagination ul,
.navigation.pagination ul,
.pagination ul.page-numbers,
.navigation.pagination ul.page-numbers {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
}

.pagination li,
.navigation.pagination li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ボタン見た目：a / span（current） */
.pagination a.page-numbers,
.pagination span.page-numbers,
.navigation.pagination a.page-numbers,
.navigation.pagination span.page-numbers,
.pagination a,
.pagination span,
.navigation.pagination a,
.navigation.pagination span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  border: 1px solid #d9d9d9 !important;
  font-size: 13px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  background: #fff !important;
  color: #1a1a1a !important;
}

/* hover */
.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:hover,
.pagination a:hover,
.navigation.pagination a:hover {
  background-color: #0088cc !important;
  border-color: #0088cc !important;
  color: #fff !important;
}

/* current（現在ページ） */
.pagination .current,
.navigation.pagination .current,
.pagination span.page-numbers.current,
.navigation.pagination span.page-numbers.current {
  background-color: #0088cc !important;
  border-color: #0088cc !important;
  color: #fff !important;
  font-weight: 700 !important;
  pointer-events: none !important;
}

.mc-pagination--consult ul,
.mc-pagination--consult li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ===== FORCED: consult-new pagination override ===== */
body .mc-pagination ul.page-numbers{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  gap:10px !important;
  flex-wrap:wrap !important;
  align-items:center !important;
}

body .mc-pagination ul.page-numbers li{
  margin:0 !important;
  padding:0 !important;
}

body .mc-pagination ul.page-numbers a.page-numbers,
body .mc-pagination ul.page-numbers span.page-numbers{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px 14px !important;
  border-radius:999px !important;
  border:1px solid #0088cc !important;
  background:#fff !important;
  color:#0088cc !important;
  text-decoration:none !important;
  line-height:1 !important;
  font-size:13px !important;
}

body .mc-pagination ul.page-numbers a.page-numbers:hover{
  background:#0088cc !important;
  color:#fff !important;
}

body .mc-pagination ul.page-numbers span.page-numbers.current{
  background:#0088cc !important;
  color:#fff !important;
  font-weight:700 !important;
}

/* =========================
   consult single (Yahoo知恵袋風)
========================= */

/* 質問カード */
.mc-consult-q-card{
  border:1px solid #e7e7e7;
  border-radius:14px;
  background:#fff;
  padding:18px;
}

.mc-consult-q-title{
  margin:0 0 8px;
  font-size:20px;
  font-weight:800;
  color:#111;
}

.mc-consult-q-meta{
  font-size:12px;
  color:#777;
  margin-bottom:12px;
}

.mc-consult-q-body{
  font-size:14px;
  line-height:1.9;
  color:#222;
}

.mc-consult-q-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.mc-consult-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #d9d9d9;
  background:#fff;
  cursor:pointer;
  font-size:13px;
}

/* 回答セクション */
.mc-consult-answer-count{
  font-size:12px;
  color:#777;
  font-weight:400;
  margin-left:6px;
}

/* 回答カード */
.mc-consult-a-card{
  border:1px solid #ededed;
  border-radius:14px;
  background:#fff;
  padding:16px;
  margin-bottom:12px;
}

.mc-consult-a-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.mc-consult-a-no{
  font-size:12px;
  font-weight:800;
  color:#2e8b57;
  background:#e6f4ef;
  padding:6px 10px;
  border-radius:999px;
  white-space:nowrap;
}

.mc-consult-a-meta{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  color:#777;
  font-size:12px;
  margin-left:auto;
}

.mc-consult-a-author{
  font-weight:700;
  color:#333;
}

.mc-consult-a-body{
  font-size:14px;
  line-height:1.9;
  color:#222;
  margin-bottom:12px;
}

/* 反応ボタン */
.mc-consult-a-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.mc-consult-mini-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:10px;
  border:1px solid #e0e0e0;
  background:#fff;
  font-size:12px;
  cursor:pointer;
}

/* =========================
   consult single: 項目ラベル
========================= */
.mc-consult-field{
  margin-top: 6px;
}

.mc-consult-field-label{
  font-size: 12px;
  font-weight: 800;
  color: #6b7a70;
  margin-bottom: 8px;
  letter-spacing: .02em;
}

.mc-consult-field-value{
  font-size: 14px;
  line-height: 1.9;
  color: #222;
}

/* =========================
   consult form: デザイン調整
========================= */
.mc-section-consult-form .consult-answer-form-wrap{
  border: 1px solid #e7e7e7;
  border-radius: 14px;
  background: #fff;
  padding: 18px;
}

/* フォーム全体 */
.mc-consult-form{
  margin-top: 6px;
}

/* textarea */
.mc-consult-textarea{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d9e6d9;
  border-radius: 14px;
  padding: 14px 16px;
  font-size: 14px;
  line-height: 1.7;
  background: #fff;
  outline: none;
}

.mc-consult-textarea:focus{
  border-color: #2e8b57;
  box-shadow: 0 0 0 3px rgba(46,139,87,.12);
}

/* 送信ボタン（サイトの雰囲気寄せ） */
.mc-consult-submit{
  margin-top: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 14px;
  border: none;
  background: #2f7d32;
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  cursor: pointer;
}

.mc-consult-submit:hover{
  opacity: .92;
}

/* WPデフォルトの「ログイン中です〜」の行が目立ちすぎる場合 */
.mc-section-consult-form .logged-in-as{
  font-size: 12px;
  color: #666;
  margin: 0 0 10px;
}

.mc-section-consult-form .logged-in-as a{
  color: #0088cc;
  text-decoration: none;
}
.mc-section-consult-form .logged-in-as a:hover{
  text-decoration: underline;
}

/* consult: 表示名 input */
.mc-consult-input{
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d9e6d9;
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 14px;
  line-height: 1.4;
  background: #fff;
  outline: none;
}

.mc-consult-input:focus{
  border-color: #2e8b57;
  box-shadow: 0 0 0 3px rgba(46,139,87,.12);
}

/* Readability tweaks */
.mc-section-title{
  line-height: 1.4;
}

.mc-section-lead,
.mc-page-lead{
  font-size: 15px;
  line-height: 1.9;
}

.mc-consult-title{
  font-size: 15px;
  line-height: 1.6;
}

.mc-consult-excerpt{
  font-size: 14px;
  line-height: 1.8;
}

.mc-consult-meta{
  font-size: 12px;
}

.mc-consult-card-meta{
  font-size: 13px;
}

.mc-senryu-rank-text{
  line-height: 1.9;
}

.mc-job-detail-text{
  line-height: 1.8;
}

@media (max-width: 420px) {
  body.page-template-page-consult-new .mc-container,
  body.page-template-page-consult-new-php .mc-container {
    padding: 0 4px;
    max-width: none;
    width: 100%;
  }

  body.page-template-page-consult-new .mc-main-content,
  body.page-template-page-consult-new-php .mc-main-content {
    max-width: none;
    width: 100%;
  }

  body.page-template-page-consult-new .mc-section-consult-archive,
  body.page-template-page-consult-new-php .mc-section-consult-archive,
  body.page-template-page-consult-new .mc-page-header,
  body.page-template-page-consult-new-php .mc-page-header,
  body.page-template-page-consult-new .mc-page-actions,
  body.page-template-page-consult-new-php .mc-page-actions,
  body.page-template-page-consult-new .mc-consult-card-list,
  body.page-template-page-consult-new-php .mc-consult-card-list {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
  }

  body.page-template-page-consult-new .mc-consult-card-list,
  body.page-template-page-consult-new .mc-consult-card,
  body.page-template-page-consult-new-php .mc-consult-card-list,
  body.page-template-page-consult-new-php .mc-consult-card,
  .mc-section-consult-archive .mc-consult-card-list,
  .mc-section-consult-archive .mc-consult-card {
    width: 100%;
    box-sizing: border-box;
  }

  body.page-template-page-consult-new .mc-consult-card,
  body.page-template-page-consult-new-php .mc-consult-card,
  .mc-section-consult-archive .mc-consult-card {
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 420px) {
  .mc-main-content,
  .mc-section,
  .senryu-archive-header,
  .senryu-archive-header p,
  .mc-senryu-ranking-list,
  .mc-senryu-rank-item,
  .mc-senryu-rank-card {
    max-width: 100%;
    box-sizing: border-box;
  }

  .senryu-archive-header p {
    margin-right: 0;
    overflow-wrap: break-word;
    word-break: break-word;
  }

  .mc-senryu-rank-card {
    width: 100%;
    padding: 14px 12px;
  }

  .mc-senryu-rank-meta {
    flex-wrap: wrap;
    row-gap: 6px;
  }
}

@media (max-width: 480px) {
  body.page-template-page-consult-new .mc-main-layout,
  body.page-template-page-consult-new-php .mc-main-layout {
    width: 100%;
    margin: 0;
  }

  body.page-template-page-consult-new .mc-container,
  body.page-template-page-consult-new-php .mc-container {
    max-width: 100%;
    width: 100%;
    padding-left: 4px;
    padding-right: 4px;
    margin-left: 0;
    margin-right: 0;
  }

  body.page-template-page-consult-new .mc-main-content,
  body.page-template-page-consult-new-php .mc-main-content {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  body.page-template-page-consult-new .mc-section-consult-archive,
  body.page-template-page-consult-new-php .mc-section-consult-archive,
  body.page-template-page-consult-new .mc-consult-card-list,
  body.page-template-page-consult-new-php .mc-consult-card-list {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  body.page-template-page-consult-new .mc-page-actions,
  body.page-template-page-consult-new-php .mc-page-actions {
    justify-content: flex-start;
  }

  body.page-template-page-consult-new .mc-page-actions .mc-section-link,
  body.page-template-page-consult-new-php .mc-page-actions .mc-section-link {
    margin-left: 0;
  }
}
