@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.sha {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	padding:10px;
}
/* =====================================================
   活動実績ページ カスタムCSS
   WordPress SWELL テーマ用（v2）

   【設置場所】
   外観 → カスタマイズ → 追加CSS
   ===================================================== */


/* =================================
   0. SWELL デフォルト上書き・リセット
   ================================= */

/* ▼ SWELLのページタイトル（h1）を非表示 ------
   ※ SWELL設定で「タイトルを表示しない」にチェックすればCSSは不要。
   念のため両方で対応 */
.page .c-pageTitle,
.page .l-mainContent__inner > .c-pageTitle {
  display: none !important;
}

/* ▼ コンテンツエリアの上余白を除去（ヒーローが最上部に来るように）
   SWELLの .post_content は margin: 4em 0 がデフォルト。
   .l-content にも padding-top がある。すべて打ち消す。 */
.page .l-content {
  padding-top: 0 !important;
}

.page .l-mainContent .c-pageTitle {
  margin-bottom: 0 !important;
}

.page .l-mainContent__inner > .post_content {
  margin-top: 0 !important;
}

.page .post_content > *:first-child {
  margin-top: 0 !important;
}

/* ▼ SWELL の table スタイルを打ち消し */
.post_content .jisseki-table,
.post_content .jisseki-table td,
.post_content .jisseki-table tr,
.post_content .jisseki-table th {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.post_content .jisseki-table td {
  padding: 7px 8px !important;
}

/* ▼ SWELL の button スタイルを打ち消し */
.post_content .jisseki-accordion__header {
  border-radius: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
  min-height: auto !important;
  font-family: inherit !important;
}

/* ▼ SWELL の p マージンを調整 */
.post_content .jisseki-stats {
  margin: 0 0 2px !important;
}


/* =================================
   1. 共通：全幅ブレイクアウト
   ================================= */
.jisseki-accordion-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}


/* =================================
   2. ヒーローバナー（1枚画像）
   ================================= */
.jisseki-hero {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-top: 0 !important;
  line-height: 0; /* 画像下の隙間を消す */
}

.jisseki-hero__img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 400px;
  object-fit: cover;
  object-position: center;
}


/* =================================
   3. ページタイトルセクション（1枚画像）
   ================================= */
.jisseki-title-section {
  padding: 50px 0 20px;
  text-align: center;
}

.jisseki-title-section__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 5%;
}

.jisseki-page-title-img {
  display: inline-block;
  max-width: 285px;
  width: 100%;
  height: auto;
  margin-bottom: 14px;
}

.jisseki-page-title__desc {
  font-size: 0.95rem !important;
  color: #555 !important;
  margin: 0 !important;
}


/* =================================
   4. 年度ナビ（アンカーリンク）
   ================================= */
.jisseki-year-nav {
  padding: 20px 0 30px;
}

.jisseki-year-nav__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 5%;
  display: flex;
  align-items: center;
  gap: 24px;
}

.jisseki-year-nav__list {
  display: flex;
  gap: 20px;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.jisseki-year-nav__list li {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.jisseki-year-nav__list li::before {
  display: none !important; /* SWELLのリストマーカーを消す */
}

.jisseki-year-nav__link {
  display: inline-block;
  font-size: 1rem;
  font-weight: 700;
  color: #1a5ca8 !important;
  text-decoration: none !important;
  padding: 4px 2px;
  border-bottom: 2px solid transparent;
  transition: all 0.2s;
}

.jisseki-year-nav__link:hover {
  color: #00b4a0 !important;
  border-bottom-color: #00b4a0;
}

.jisseki-year-nav__arrow {
  font-size: 0.75em;
  margin-left: 2px;
}

.jisseki-year-nav__note {
  font-size: 0.75rem;
  color: #999;
  margin: 0 !important;
  line-height: 1.5;
}


/* =================================
   5. アコーディオン
   ================================= */
.jisseki-accordion-section {
  padding: 0 0 80px;
  background: #fff;
}

.jisseki-accordion-section__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 5%;
}

.jisseki-accordion {
  border: 2px solid #00b4a0;
  border-radius: 8px;
  margin-bottom: 16px;
  overflow: hidden;
}

/* --- アイコン画像 --- */
.jisseki-accordion__icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}

/* --- ヘッダー（共通） --- */
.jisseki-accordion__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 16px 24px !important;
  margin: 0 !important;
  background: #fff !important;
  border: none !important;
  cursor: pointer;
  transition: background 0.2s;
  text-align: left !important;
  color: inherit !important;
  line-height: 1.5 !important;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

.jisseki-accordion__header:hover {
  background: #f8fffe !important;
}

/* --- ヘッダー（開いた状態） --- */
.jisseki-accordion__header.is-active {
  background: #fff !important;
  color: inherit !important;
  border-bottom: 1px solid #e0f0ed !important;
}

.jisseki-accordion__header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.jisseki-accordion__year {
  font-size: 1.15rem;
  font-weight: 700;
  color: #00b4a0;
}

.jisseki-accordion__header.is-active .jisseki-accordion__year {
  color: #00b4a0;
}

.jisseki-accordion__badge {
  display: inline-block;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 0;
  border-radius: 0;
  background: none;
  color: #00b4a0;
  line-height: 1.6;
  margin-left: 6px;
}

.jisseki-accordion__toggle {
  font-size: 1.4rem;
  font-weight: 300;
  color: #00b4a0;
  flex-shrink: 0;
  width: 30px;
  text-align: center;
}

.jisseki-accordion__header.is-active .jisseki-accordion__toggle {
  color: #00b4a0;
}

/* --- パネル（展開部分） --- */
.jisseki-accordion__panel[hidden] {
  display: none !important;
}

.jisseki-accordion__body {
  padding: 24px 24px 32px;
  background: #fff;
  color: #333;
}

/* 開催件数・受講者数 */
.jisseki-stats {
  font-size: 0.95rem;
  line-height: 1.8;
  color: #333 !important;
}


/* =================================
   6. 活動実績テーブル
   ================================= */
.jisseki-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  line-height: 1.7;
  margin-top: 16px;
}

.jisseki-table tbody tr {
  border-bottom: 1px solid #e8eaed !important;
}

.jisseki-table tbody tr:last-child {
  border-bottom: none !important;
}

.jisseki-table td {
  padding: 7px 8px !important;
  vertical-align: top;
  color: #333 !important;
  background: transparent !important;
}

.jisseki-table__date {
  width: 100px;
  min-width: 80px;
  white-space: nowrap;
  font-weight: 600;
  color: #1a5ca8 !important;
  padding-right: 16px !important;
}


/* =================================
   7. レスポンシブ
   ================================= */
@media screen and (max-width: 768px) {

  .jisseki-hero__img {
    max-height: 250px;
  }

  .jisseki-page-title-img {
    max-width: 280px;
  }

  .jisseki-year-nav__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .jisseki-year-nav__list {
    flex-wrap: wrap;
    gap: 12px;
  }

  .jisseki-year-nav__note {
    display: none;
  }

  .jisseki-accordion__header {
    padding: 14px 16px !important;
  }

  .jisseki-accordion__icon {
    width: 22px;
    height: 22px;
  }

  .jisseki-accordion__year {
    font-size: 1rem;
  }

  .jisseki-accordion__body {
    padding: 16px 16px 24px;
  }

  .jisseki-table {
    font-size: 0.82rem;
  }

  .jisseki-table__date {
    width: 75px;
    min-width: 65px;
    padding-right: 10px !important;
  }
}

@media screen and (max-width: 480px) {

  .jisseki-hero__img {
    max-height: 180px;
  }

  .jisseki-year-nav__link {
    font-size: 0.9rem;
  }

  .jisseki-table__date {
    width: 60px;
    min-width: 55px;
    font-size: 0.78rem;
  }
}

/* TOPに戻るボタンを画像に置き換え */
/* TOPに戻るボタンを画像に置き換え */
#pagetop {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  width: 60px !important;
  height: 60px !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

#pagetop .c-fixBtn__icon {
  display: none !important;
}

#pagetop::after {
  content: "" !important;
  display: block !important;
  width: 60px !important;
  height: 60px !important;
  background: url("/wp-content/uploads/2026/05/top_btn.webp") no-repeat center / contain !important;
}

/* ========================================
   賛助会員申込フォーム（CF7）
   ======================================== */

/* --- 各行レイアウト --- */
.sanjo-form .form-row {
  display: flex;
  align-items: flex-start;
  margin-bottom: 18px;
}

/* --- ラベル --- */
.sanjo-form .form-label {
  width: 200px;
  min-width: 200px;
  padding-top: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  line-height: 1.5;
}

/* --- 必須（オレンジ文字のみ・囲みなし）--- */
.sanjo-form .required {
  color: #e88b00;
  font-size: 13px;
  font-weight: 700;
  margin-left: 6px;
  vertical-align: baseline;
}

/* --- 入力フィールド列 --- */
.sanjo-form .form-field {
  flex: 1;
}

/* --- input / select / textarea 共通 --- */
.sanjo-form .form-field input[type="text"],
.sanjo-form .form-field input[type="email"],
.sanjo-form .form-field input[type="tel"],
.sanjo-form .form-field input[type="number"],
.sanjo-form .form-field select,
.sanjo-form .form-field textarea {
  width: 100%;
  padding: 10px 14px;
  font-size: 15px;
  border: none;
  border-radius: 4px;
  background: #F2F2F2;
  color: #333;
  font-family: inherit;
  outline: none;
  transition: background .2s;
}
.sanjo-form .form-field input:focus,
.sanjo-form .form-field select:focus,
.sanjo-form .form-field textarea:focus {
  background: #e8e8e8;
}

.sanjo-form .form-field textarea {
  height: 120px;
  resize: vertical;
}

/* --- プレースホルダー --- */
.sanjo-form .form-field input::placeholder {
  color: #aaa;
  font-size: 14px;
}

/* --- ラジオボタン --- */
.sanjo-form .form-field .wpcf7-radio {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-top: 10px;
}
.sanjo-form .form-field .wpcf7-list-item {
  margin: 0;
  font-size: 15px;
}

/* --- 補足テキスト --- */
.sanjo-form .form-note {
  font-size: 12px;
  color: #888;
  margin-top: 6px;
  line-height: 1.6;
}

/* --- 同意エリア --- */
.sanjo-form .form-agree {
  text-align: center;
  margin-top: 36px;
  font-size: 13px;
  color: #555;
  line-height: 2;
}
.sanjo-form .form-agree .wpcf7-list-item {
  margin: 0;
}

/* --- 送信ボタン --- */
.sanjo-form .form-submit {
  text-align: center;
  margin-top: 24px;
}
.sanjo-form .form-submit input[type="submit"] {
  background: #2e7d32;
  color: #fff;
  border: none;
  padding: 16px 60px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 50px;
  cursor: pointer;
  letter-spacing: .05em;
  transition: background .2s;
  font-family: inherit;
}
.sanjo-form .form-submit input[type="submit"]:hover {
  background: #1b5e20;
}

/* --- スマホ対応 --- */
@media (max-width: 600px) {
  .sanjo-form .form-row {
    flex-direction: column;
  }
  .sanjo-form .form-label {
    width: 100%;
    min-width: auto;
    padding-top: 0;
    margin-bottom: 4px;
  }
}