/*
Theme Name: Kuchoukai Theme
Theme URI: https://example.com/
Author: OpenAI
Description: Recreated WordPress theme for kuchoukai-style municipal portal with ACF-driven section pages, archives, sidebar navigation, and document lists.
Version: 1.0.0
Text Domain: kuchoukai-complete
*/

/* ==========================================================================
   1. Variables & Reset
   ========================================================================== */
:root {
  --bg: #f3f5f7;
  --card: #ffffff;
  --text: #26323f;
  --muted: #6c7886;
  --line: #d8dee6;
  --green: #8dbb3e;
  --green-dark: #6a9a20;
  --blue: #2f6fb0;
  --soft: #eef4df;
  --shadow: 0 8px 24px rgba(22, 34, 51, .08);
  --radius: 0px;
  --content: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth;
height: 100%;
}
body {
  margin: 0;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.75;
  background: url("https://chaoo.sakura.ne.jp/kuchoukai/wp-content/uploads/2025/11/home-bg1-scaled.jpg") no-repeat center center !important;
  background-size: cover !important;

    background-attachment: fixed !important;

}
body.elementor-page-2:not(.elementor-motion-effects-element-type-background), body.elementor-page-2 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color:none;
}

img { max-width: 100%; height: auto; }
a { color: var(--blue); text-decoration: none !important; }
a:hover { text-decoration: underline; }
ul { padding-left: 0px;
list-style-type: none;}

.site-shell { max-width: var(--content); margin: 0 auto; padding: 0 18px; }

/* Accessibility */
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; background: #fff; padding: .5rem 1rem; z-index: 999; }

/* ==========================================================================
   2. Header & Navigation
   ========================================================================== */
.site-header {
  background: #eee; /* 背景色調整 */
  border-bottom: 1px solid rgba(0,0,0,.04);
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: saturate(1.1) blur(4px);
}

.site-header__inner {
  max-width: var(--content);
  margin: 0 auto;
  padding: 14px 18px;
  display: grid;
  grid-template-columns: 220px 1fr auto;
  gap: 18px;
  align-items: center;
}

.site-logo img { display: block; max-height: 54px; width: auto; }

/* Main Navigation */
.global-nav { justify-self: center; }
.global-nav__list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.global-nav__list > li { position: relative; }

.global-nav__list a {
  display: block;
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--text);
  font-weight: 700;
}

.global-nav__list .current-menu-item > a,
.global-nav__list a:hover {
  background: var(--soft);
  border-color: #c9db96;
  text-decoration: none;
}

/* Dropdown Menu */
.global-nav__list ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: #6f7680;
  list-style: none;
  margin: 8px 0 0;
  padding: 10px;
  min-width: 200px;
  border-radius: 16px;
  box-shadow: var(--shadow);
}

.global-nav__list li:hover > ul { display: block; }
.global-nav__list ul li a { color: #fff; border: none; background: transparent; }
.global-nav__list ul ul { top: 0; left: 100%; }

/* Header Search */
.site-search { justify-self: end; }
.site-search form { display: flex; gap: 8px; }
.site-search input[type="search"] {
  width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff;
}
.site-search button, .menu-toggle, .button {
  border: 0; background: var(--green); color: #fff; border-radius: 999px; padding: 12px 18px; font-weight: 700; cursor: pointer;
  box-shadow: var(--shadow);
}
/* ==========================================================================
   3. Layout Components (Hero & Grid)
   ========================================================================== */

/* ページタイトル帯 */
.page-hero{
  width:100%;
  background:#2b7f99;
  padding:50px 20px;
  margin-bottom:20px;
  text-align:center;
}

.page-hero h1{
  margin:0;
  color:#fff !important;
  font-size:clamp(22px, 4vw, 23px);
  font-weight:700;
  line-height:1.3;
}

/* パンくず非表示 */
.page-hero .breadcrumbs{
  display:none;
}

/* レイアウト */
.layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:20px;
  margin-bottom:20px;
  background:#fff;
}

/* ==========================================================================
   4. Sidebar & Widgets
   ========================================================================== */
.sidebar-card { background: #fff;padding: 18px; border-radius: var(--radius); border:none; }
.side-nav { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.side-nav li a {
  display: block; padding: 11px 12px; border-radius: 12px; color: var(--text); background: #f8fafb; border: 1px solid transparent; font-weight: 600;
}
.side-nav li.current_page_item > a, .side-nav li a:hover {
  background: var(--soft); border-color: #cedfa2; text-decoration: none;
}

/* ==========================================================================
   5. Content Styling (Sections & Meta)
   ========================================================================== */
.content-card, .archive-card, .single-card {
  background: #fff;
  padding: 26px;
  border-radius: var(--radius);
  border: none; }

.section-h2__title {
  margin: 0 0 16px; font-size: 1.5rem; line-height: 1.4; padding: 14px 18px;
  background: linear-gradient(90deg, #8dbb3e 0, #b0d265 100%);
  color: #fff; 
  /*border-radius: 16px;*/
}

/* Meta Info Grid */
.meta-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0 0 14px; }
.meta-item { background: #f7f9fb; border: 1px solid var(--line); border-radius: 14px; padding: 10px 12px; }
.meta-item__label { display: block; font-size: .8rem; color: var(--muted); }
.meta-item__value { font-weight: 700; word-break: break-word; }

/* ==========================================================================
   6. Search Form & Area Results
   ========================================================================== */
.area-search-form { display: flex; gap: 10px; margin-bottom: 0px; flex-wrap: wrap; }
.area-search-form input { padding: 10px; border: 1px solid #ccc; width: 260px; border-radius: 4px; }
.area-search-form button { padding: 10px 16px; background: #b5413e; color: #fff; border: none; cursor: pointer;
  border-radius: 4px; }

/* Area Table */
.area-table { width: 100%; border-collapse: collapse; margin-bottom: 30px; background: #fff; border: 1px solid #ccc; overflow: hidden; }
.area-table th, .area-table td { border: 1px solid #ccc; padding: 10px 12px; vertical-align: top; }
.area-table th { background: #eee; text-align: left; white-space: nowrap; }

/* Highlight */
mark { background: #ffe082; color: #c62828; font-weight: bold; padding: 2px 4px; border-radius: 3px; }

/* ==========================================================================
   7. File Icons (ACF / Document Lists)
   ========================================================================== */
/*.support-files { list-style: none !important; padding: 0 !important; margin: 10px 0 !important; }
.support-files li { margin-bottom: 10px; }
.support-files li a { display: inline-block; padding-left: 36px; position: relative; text-decoration: none; }

.support-files li a::before {
  content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
  width: 20px; height: 20px; background-size: contain; background-repeat: no-repeat;
}


/* ファイルリスト */
/* ファイルリスト */
.support-files{
list-style:none;
padding-left:0;
margin-left:0;
}

.support-files li a{
position:relative;
padding-left:30px;
display:inline-block;
}

/* アイコン */

.support-files li a::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:20px;
height:20px;
display:block;
background-size:contain;
background-repeat:no-repeat;
background-position:center;
}


/*リンクなし　アイコン部分　詰める*/
.support-files a.no-icon::before{
  display:none;
}

.support-files a.no-link{
  pointer-events:none;
  cursor:default;
}


/* PDF */

.support-files li a[href$=".pdf"]::before{
background-image:url("https://chaoo.sakura.ne.jp/kuchoukai/wp-content/themes/kuchoukai-perfect-theme/img/icon-file-4.svg");
}

/* Word */

.support-files li a[href$=".doc"]::before,
.support-files li a[href$=".docx"]::before{
background-image:url("https://chaoo.sakura.ne.jp/kuchoukai/wp-content/themes/kuchoukai-perfect-theme/img/download.svg");
}

/* Excel */

.support-files li a[href$=".xls"]::before,
.support-files li a[href$=".xlsx"]::before{
background-image:url("https://chaoo.sakura.ne.jp/kuchoukai/wp-content/themes/kuchoukai-perfect-theme/img/download-1.svg");
}

/* PowerPoint */

.support-files li a[href$=".ppt"]::before,
.support-files li a[href$=".pptx"]::before{
background-image:url("https://chaoo.sakura.ne.jp/kuchoukai/wp-content/themes/kuchoukai-perfect-theme/img/icon-file-1.svg");
}


/* zip */
.support-files li a[href$=".zip"]::before{
background-image:url("https://chaoo.sakura.ne.jp/kuchoukai/wp-content/themes/kuchoukai-perfect-theme/img/icon-zip.svg");
}
/* ==========================================================================
   8. Footer
   ========================================================================== */
.site-footer {
  background: #94b879; text-align: center; padding: 40px 20px 20px; color: #fff; margin-top: 30px;
}
.footer-logo img { height: 110px; width: auto; margin-bottom: 20px; }
.footer-info { font-size: 14px; border-top: 1px dotted #fff; padding-top: 15px; margin-bottom: 10px; }
.footer-copy { font-size: 14px; opacity: 0.9; }

/* ==========================================================================
   9. Responsive Design
   ========================================================================== */
@media (max-width: 1024px) {
  .site-header__inner { grid-template-columns: 1fr; text-align: center; }
  .menu-toggle { display: block; margin: 0 auto; }
  .global-nav { display: none; grid-column: 1/-1; }
  .global-nav.open { display: block; }
  .global-nav__list { flex-direction: column; align-items: center; }
  .global-nav__list ul { position: static; box-shadow: none; }
  .layout { grid-template-columns: 1fr; }
  .site-search { grid-column: 1/-1; justify-self: center; width: 100%; }
}

@media (max-width: 768px) {
  .area-search-form { flex-direction: column; }
  .area-search-form input, .area-search-form button { width: 100%; }
  
  /* Table to Cards for Mobile */
  .area-table thead { display: none; }
  .area-table, .area-table tbody, .area-table tr, .area-table td { display: block; width: 100%; }
  .area-table tr { margin-bottom: 15px; border: 1px solid #ccc; }
  .area-table td { border: none; border-bottom: 1px solid #eee; position: relative; padding-left: 120px; min-height: 40px; }
  .area-table td:before { position: absolute; left: 10px; font-weight: bold; }
  
  .area-table td:nth-child(1):before { content: "自治区名"; }
  .area-table td:nth-child(2):before { content: "郵便番号"; }
  .area-table td:nth-child(3):before { content: "集会所住所"; }
  .area-table td:nth-child(4):before { content: "区電話"; }
  .area-table td:nth-child(5):before { content: "区FAX"; }
  .area-table td:nth-child(6):before { content: "開館曜日"; }
  .area-table td:nth-child(7):before { content: "開館時間"; }
}

/* =========================
検索結果タイトル
========================= */

.area-search h2{
margin:20px 0 15px;
font-size:1.4rem;
}

/* =========================
町名リスト
========================= */

.area-table td{
line-height:1.7;
}

/* =========================
HPリンク
========================= */

.area-table a{
color:#2f6fb0;
font-weight:bold;
}

/* =========================
空データ
========================= */

.area-table td:empty::after{
content:"ー";
color:#777;
}

/* =========================
スマホカード表示（完全版）
========================= */

@media (max-width:768px){

.area-table thead{
display:none;
}

.area-table,
.area-table tbody{
display:block;
}

.area-table tr{
display:block;
border:1px solid #ccc;
margin-bottom:15px;
background:#fff;
}

.area-table td{
display:block;
border:none;
border-bottom:1px solid #eee;
position:relative;
padding:10px 10px 10px 120px;
}

.area-table td:last-child{
border-bottom:none;
}



/* ラベル共通 */

.area-table td::before{
position:absolute;
left:10px;
top:10px;
font-weight:bold;
color:#333;
}


/* ===== 基本情報 ===== */

.area-table tr:nth-of-type(1) td:nth-of-type(1)::before{content:"自治区名";}
.area-table tr:nth-of-type(1) td:nth-of-type(2)::before{content:"郵便番号";}
.area-table tr:nth-of-type(1) td:nth-of-type(3)::before{content:"集会所住所";}
.area-table tr:nth-of-type(1) td:nth-of-type(4)::before{content:"区電話";}
.area-table tr:nth-of-type(1) td:nth-of-type(5)::before{content:"区FAX";}
.area-table tr:nth-of-type(1) td:nth-of-type(6)::before{content:"開館曜日";}
.area-table tr:nth-of-type(1) td:nth-of-type(7)::before{content:"開館時間";}

/* ===== 備考 ===== */

.area-table tr:nth-of-type(2) td::before{
content:"備考";
}

/* ===== 区HP ===== */

.area-table tr:nth-of-type(3) td::before{
content:"区HP";
}

/* ===== 該当町名 ===== */

.area-table tr:nth-of-type(4) td::before{
content:"該当する町名";
}

}

@media (max-width:768px){

/* thを非表示にする */
.area-table th{
display:none;
}

}



/* =========================
ページャー
========================= */

.pagination{
margin:30px 0;
text-align:center;
}

.pagination .page-numbers{
display:inline-block;
margin:4px;
padding:8px 14px;
border:1px solid #ccc;
background:#fff;
color:#333;
text-decoration:none;
border-radius:4px;
font-weight:600;
}

.pagination .page-numbers:hover{
background:#f5f5f5;
}

.pagination .current{
background:#8dbb3e;
color:#fff;
border-color:#8dbb3e;
}

.pagination .prev,
.pagination .next{
font-weight:bold;
}

.search-highlight{
background:#fff59d;
font-weight:bold;
padding:0 2px;
}

.search-hit{
background:#fff59d;
font-weight:bold;
}

/** テキスト類 **/

.h3-subtext{
margin:6px 0 12px;
font-size:0.9rem;
color:#666;
line-height:1.6;
}


.faq-section{
margin-top:60px;
}

.faq-item{
border-bottom:1px solid #ddd;
padding:20px 0;
}

.faq-q{
font-weight:bold;
}

.faq-q span{
color:#d40000;
margin-right:6px;
}

.faq-a{
margin-top:8px;
padding-left:20px;
}

.faq-a span{
color:#0073aa;
margin-right:6px;
}

/** フォーム **/
/** フォーム **/
.area-search-form{
  display:flex;
  align-items:center;
  border:2px solid #2b7a99;
  border-radius:8px;
  overflow:hidden;
  width:100%;
}

/* 入力欄 */
.area-search-form input{
  flex:1;
  padding:12px 0px 12px 25px;
  border:none;
  outline:none;
  font-size:12px;
  background:#ffffff;

  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='%23000' viewBox='0 0 24 24'%3E%3Cpath d='M21 20l-5.2-5.2a7 7 0 10-1 1L20 21zM4 11a7 7 0 1114 0A7 7 0 014 11z'/%3E%3C/svg%3E");

  background-repeat:no-repeat;
  background-position:5px center;
}

/* 検索ボタン */
.area-search-form button{
  background:#2b7a99 !important;
  color:#fff;
  border:none;
  padding:12px 24px;
  font-size:14px;
  cursor:pointer;
  transition:0.2s;

  border-radius:0; /* 左角丸なし */
}

/* hover */
.area-search-form button:hover{
  background:#25677f;
}

/*サイト検索*/
/* 検索フォーム */
.site-search-form{
  display:flex;
  width:100%;
  max-width:420px;
}

/* 入力 */
.site-search-input{
  flex:1;
  padding:8px 14px 8px 36px; /* 高さを少し低く */
  border:2px solid #555;
  border-right:none;
  border-radius:8px 0 0 8px;
  font-size:14px;
  outline:none;
  background:#f2f2f2;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23666' viewBox='0 0 24 24'%3E%3Cpath d='M21 20l-5.2-5.2a7 7 0 10-1 1L20 21zM4 11a7 7 0 1114 0A7 7 0 014 11z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:10px center;
}




/* ボタン */
.site-search-button{
  padding:8px 20px;
  border:none;
  background:#000 !important;
  color:#fff;
  font-size:14px;
  border-radius:0 8px 8px 0;
  cursor:pointer;
  white-space:nowrap; /* 縦書き防止 */
  line-height:1;
}

.sidebar .sidebar-card{
  padding:0px;
}



/*フォント*/

.elementor-kit-6 h1 {
    font-family: "Zen Maru Gothic";
}

.elementor-kit-6 h2 {
    font-family: "Zen Maru Gothic";
}

main h1{
  font-size:30px;
  font-weight:700;
}

main h2{
  font-size:22px !important;
  font-weight:normal;
  color:#fff !important;
  background:#86AE65;
  padding:2px 10px !important;
}

main h3{
  font-size:22px;
  font-weight:500;
  padding-left:10px;
  border-left:5px solid #86AE65;
}

main h4{
  font-size:18px;
  font-weight:600;
}

.sidebar-card h2.sidebar-title {
  font-size:1em !important;
  background:#86AE65;
  padding:3px 10px;
  color:#fff;
}

.sidebar-card ul li{
  font-size:clamp(0.8em, 4vw, 14px);
}

.support-h4 h4{
  background:#666;
  padding:5px 10px;
  color:#fff !important;
  font-weight:normal;
}


/* -----------------------
   レスポンシブ対応
----------------------- */

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

  main h1{
    font-size:20px;
  }

  main h2{
    font-size:18px !important;
    padding:6px 10px !important;
  }

  main h3{
    font-size:16px;
    border-left:4px solid #86AE65;
  }

  main h4{
    font-size:16px;
  }

  .sidebar-card h2.sidebar-title{
    font-size:14px !important;
  }

  .sidebar-card ul li{
    font-size:14px;
  }

  .support-h4 h4{
    font-size:15px;
    padding:6px 10px;
  }

}
/*外部リンク*/

ul.support-files.support-url a{
    padding:5px 12px;
    margin-bottom:10px;
    background:#666;
    color:#fff;
    border-radius:5px;
    border-bottom:none;
}

/*添付ファイル*/

ul.support-files li{
  margin-bottom: 5px;
}
ul.support-files a{
  display:inline-block;
  /*width:100%;*/

  border-bottom:2px dotted;
  border-color:#ccc;
}

/*担当部署*/
.conatct-area {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}

.conatct-area p {
  flex: 1;
  margin: 0;
}

.conatct-area a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding:5px 10px;
  border-radius: 5px;
  font-size: 0.9em;
  color: #fff !important;
  text-decoration: none;
  font-weight: 500;
}

/* 左ボタン */
.conatct-area p:first-child a {
  background: #95b77a;
}

/* 右ボタン（電話） */
.conatct-area p:last-child a {
  background: #3f74b5;
}

/* レスポンシブ */
@media (max-width: 768px) {
  .conatct-area {
    flex-direction: column;
    gap: 12px;
  }

  .conatct-area a {
    font-size: 0.8;
    padding: 10px;
  }
}

/*記事ページ*/
/* 記事ページ */

.article-body{
display:flex;
gap:20px;
align-items:flex-start;
}

/* 1カラム */
.clm-1 .article-body{
flex-direction:column;
}

/* 2カラム（PC） */
.clm-2 .article-body{
flex-direction:row;
}

/* テキスト */
.article-text{
flex:1;
line-height:1.8;
}

/* 画像 */
.article-image{
flex:1;
}

.article-image img{
width:100%;
height:auto;
display:block;
}

/* スマホは全部1カラム */
@media (max-width:768px){

.article-body{
display:block;
}

}

/*画像専用*/
.image-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
}

.image-item{
display:flex;
flex-direction:column;
}

.image-item img{
width:100%;
aspect-ratio:4/3;
object-fit:cover;
display:block;
}

/*高さautoの画像*/
.image-item-h-auto{
display:flex;
flex-direction:column;
}

.image-item-h-auto img{
width:100%;
height:auto !important;
display:block;
}

/** 追加 調整 **/
/*高さauto*/

.caption{
margin-top:8px;
font-size:14px;
}

/* スマホ */

@media (max-width:768px){

.image-grid{
grid-template-columns:1fr;
}

}


/* 自治区運営の手引 */
/* 手引エリア */

.manual-wrapper{
margin:20px 0 30px;
}

/* カード */

.section-card{
background:#fff;
padding:30px;
}

/* h2 */

.section-title{
  font-size:26px !important;
  font-weight:normal;
  color:#fff !important;
  background:#86AE65;
  padding:2px 10px !important;

}

/* h3 */

.section-subtitle{
  font-size:22px;
  font-weight:500;
  padding-left:10px;
  border-left:5px solid #86AE65;
}


/* ダウンロードボタン */

.download-btn{
display:inline-block;
background:#666;
color:#fff !important;
padding:14px 24px;
border-radius:8px;
font-size:16px;
}

.download-btn::after{
content:" ›";
}

.download-btn:hover{
background:#555;
}


/* =========================
各自治区HPリスト
========================= */

.area-hp{
margin-top:20px;
}

.area-hp-note{
margin-bottom:20px;
font-size:14px;
}

.area-hp-list{
list-style:none;
padding:0;
margin:0;
}

.area-hp-list li{
margin-bottom:12px;
}

.area-hp-list a{
display:block;
background:#5f656c;
color:#fff !important;
padding:14px 20px;
border-radius:8px;
position:relative;
font-weight:500;
transition:0.2s;
}

.area-hp-list a:hover{
background:#4f555b;
}

/* 矢印 */

.area-hp-list a::after{
content:"›";
position:absolute;
right:18px;
top:50%;
transform:translateY(-50%);
font-size:22px;
}

.meta-grid{
display:grid;
grid-template-columns:repeat(4, 1fr);
gap:6px 14px;
margin-bottom:10px;
}

.meta-item{
background:#f7f9fb;
border:1px solid #d8dee6;
border-radius:8px;
padding:6px 10px;
}

.meta-item__label{
display:block;
font-size:12px;
color:#6c7886;
line-height:1.2;
}

.meta-item__value{
font-weight:600;
font-size:14px;
line-height:1.3;
}


/* 区長便のnew表示 */
.menu-new{
color:#ff0000;
font-weight:bold;
margin-left:6px;
font-size:0.9em;
}

//** =========================
区長便 
========================= */
/* =========================
区長便 メタ情報
========================= */

.kuchou-meta-line{
  display:flex !important;
  flex-wrap:wrap;
  margin:0px;
}

.kuchou-meta-line span{
  display:inline-block !important;
  margin-right:10px;
  margin-bottom:0px;
  white-space:nowrap;
  font-size:1em;
  color:#666666;
}

.kuchou-meta-line span:last-child{
  margin-right:0;
}


/* =========================
スマホ
========================= */

@media (max-width:768px){

  .kuchou-meta-line{
    display:block !important;
  }

  .kuchou-meta-line span{
    display:block !important;
    margin-right:0;
    margin-bottom:6px;
  }

}
/* =========================
投稿ブロック
========================= */

.kuchoubin .toggle-h4{
  background:#666;
  color:#fff;
  padding:10px;
  font-weight:normal;
  margin:10px 0px;
}

.kuchoudayori-item{
  margin-bottom:40px;
}

.link_file{
  width:100%;
}

/* FAQカード */

.faq-item{
border:1px solid #ddd;
border-radius:8px;
padding:16px 18px;
margin-bottom:16px;
background:#fff;
}

/* Q */

.faq-q{
display:flex;
align-items:flex-start;
gap:10px;
font-weight:600;
font-size:16px;
margin-bottom:10px;
line-height:1.6;
}

/* A */

.faq-a{
display:flex;
align-items:flex-start;
gap:10px;
line-height:1.7;
font-size:15px;
}

/* Qアイコン */

.faq-q::before{
content:"Q";
flex-shrink:0;
width:26px;
height:26px;
background:#d60000;
color:#fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
font-size:13px;
}

/* Aアイコン */

.faq-a::before{
content:"A";
flex-shrink:0;
width:26px;
height:26px;
background:#1c77a5;
color:#fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
font-size:13px;
}

/*リスト項目*/
.activity-list ul{
  list-style:none;
  padding:0;
  margin-top:40px;
}

.activity-list li{
  display:flex;
  align-items:center;
  margin-bottom:10px;
  font-size:16px;
}

.list-text{
  white-space:nowrap;
}

.list-line{
  flex:1;
  border-bottom:1px dotted #999;
  margin:0 10px;
}

.list-no{
  width:50px;
  text-align:right;
}

/*new表示*/
.new,
.menu-new {
  display: inline;
  margin-left: 6px;
  padding: 1px 4px;
  font-size: 10px;
  line-height: 1;
  color: #e60023 !important;
  background: #FFF;
  border-radius: 2px;
  font-weight: bold;
  vertical-align: middle;
}

