@charset "UTF-8";
/* CSS Document */
body {
 /*font-size: 16px;*/
}
.globalNavi__list>li:hover .children>li,
.globalNavi__list>li:hover .sub-menu>li {
 height: auto;
 
 line-height: 1;
}
.globalNavi__list>li:hover .sub-menu>li a {
 padding-top: 20px;
 padding-bottom: 20px;
}
@media (max-width: 768px) {
 .globalNavi__list .sub-menu{
  display: none;
 }
}
/* ============== 全幅タイトルセクション ============== */
.full-width-title-section {
 background: linear-gradient(to right, #004080, #0066cc);
 color: #fff;
 padding: 90px 0 90px;
 text-align: center;
 position: relative;
 overflow: hidden;
}
.title-content-container {
 max-width: 960px;
 margin: 0 auto;
 padding: 0 20px;
 position: relative;
}
.title-content-container::before {
 content: "";
 display: block;
 width: 50px;
 height: 5px;
 background-color: #f0c040;
 margin: 0 auto 20px;
 position: relative;
 box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}
/*.title-content-container::after {
            content: "";
            display: block;
            width: 30px;
            height: 2px;
            background-color: #f0c040;
            margin: 5px auto 0;
        }*/
/* ****** ページタイトルをH2に変更 ****** */
.full-width-title-section h2 { /* h1 から h2 に変更 */
 font-size: 2.5em; /* 元のh1のサイズを維持 */
 font-weight: bold;
 margin: 0 auto;
 letter-spacing: 0.08em;
 text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
}
.decorative-line {
 width: 80px;
 height: 4px;
 background-color: #f0c040;
 margin: 30px auto 0;
 position: relative;
 box-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
}
.decorative-line::before, .decorative-line::after {
 content: "";
 position: absolute;
 width: 10px;
 height: 10px;
 background-color: #f0c040;
 top: -3px;
 transform: rotate(45deg);
}
.decorative-line::before {
 left: -5px;
}
.decorative-line::after {
 right: -5px;
}
/* ============== メインコンテンツエリア ============== */
.main-content-wrapper {
 max-width: 1140px;
 margin: 0 auto;
 background-color: #fff;
 padding: 50px 40px;
 box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
 line-height: 1.8;
 margin-top: -40px;
 position: relative;
 z-index: 1;
 margin-bottom: 50px;
}
/* ****** セクション見出しをH3に変更 ****** */
h3 { /* h2 から h3 に変更 */
 font-size: 1.5em; /* 元のh2のサイズを維持 */
 font-weight: bold;
 color: #333;
 margin-top: 50px;
 margin-bottom: 20px;
 border-left: 6px solid #0056b3;
 padding-left: 15px;
 padding-bottom: 5px;
 position: relative;
 text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1);
 overflow: hidden;
}
/* ****** 新しいH3の下に装飾ラインを追加 ****** */
h3::after { /* h2::after から h3::after に変更 */
 /*content: "";
            display: block;
            width: 60px;
            height: 4px;
            background-color: #f0c040;
            position: absolute;
            bottom: 0;
            left: 15px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.2);
            border-radius: 2px;*/
}
/* ****** サブセクション見出しをH4に変更 ****** */
/*h4 { 
            font-size: 1.3em; 
            font-weight: bold;
            color: #555;
            margin-top: 30px;
            margin-bottom: 15px;
            padding-left: 10px;
        }
        h4::before { 
            content: "■ ";
            color: #0056b3;
            font-size: 1em;
            vertical-align: middle;
        }*/
h4 {
 font-size: 1.3em;
 position: relative;
 padding-bottom: 5px;
 font-weight: bold;
 color: #0056b3;
}
h4::before {
 /*content: '●';
 color: #0056b3;
 margin-right: 8px;
 font-size: 0.9em;
 vertical-align: middle;*/
}
/* pタグのスタイルは変更なし */
p {
 font-size: 1.05em;
 margin-bottom: 20px;
 line-height: 1.8;
 text-align: justify;
}
/* その他の画像などのスタイルは変更なし */
/* .report-image { ... } */
/* .image-caption { ... } */
/* レスポンシブ対応 */
@media (max-width: 768px) {
 /* 前回のレスポンシブスタイルを維持 */
 .full-width-title-section {
  padding: 60px 0 50px;
 }
 /* ****** レスポンシブ H2（旧H1） ****** */
 .full-width-title-section h2 { /* h1 から h2 に変更 */
  font-size: 2.2em;
  padding: 0 15px;
  letter-spacing: 0.05em;
 }
 .title-content-container::before {
  width: 40px;
  height: 4px;
  margin-bottom: 15px;
 }
 .title-content-container::after {
  width: 25px;
  height: 2px;
 }
 .decorative-line {
  width: 60px;
  height: 3px;
  margin-top: 20px;
 }
 .decorative-line::before, .decorative-line::after {
  width: 8px;
  height: 8px;
  top: -2.5px;
 }
 .main-content-wrapper {
  padding: 30px 15px;
  margin-top: -20px;
 }
 /* ****** レスポンシブ H3 ****** */
 h3 { 
  font-size: 1.5em;
  padding-bottom: 8px;
 }
 h3::after { 
  width: 40px;
  height: 3px;
 }
 /* ****** レスポンシブ H4 ****** */
 h4 { 
  font-size: 1.1em;
 }
 p {
  font-size: 1em;
 }
}
.policy ul,.policy ol,
.about ul,.about ol,
.topics ul,.topics ol{
 padding: revert;
}
ul li,ol li {
 list-style-position: outside;
}
    
/****************************
/***　個別記事設定 ***/
/**************************/
/**** 組織紹介 ***/
.about {
 
}
.about figure {
 text-align: center;
 margin: 50px;
}
.about figure img{
  width: 85%;
}
@media (max-width: 768px) {
.about figure {
 margin: 10px;
}
 .about figure img{
  width: 100%;
}
}
.about p.koryo{
border-bottom: 1px #999 dotted;
    padding-left: 2em;
    text-indent: -2em;
}
@media (max-width: 768px) {
 .about p.koryo{
  padding-bottom: 20px;
 }
}
.about .koseiBox {
display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
 width: 90%;
 margin: 0 auto;
}
.about .koseiBox > div {
 width: 46%;
 margin-bottom: 20px;
}
@media (max-width: 768px) {
.about .koseiBox > div {
 width: 100%;
}
}
.about .koseiBox h5 {
 border-bottom: #333 dashed 1px;
}
.about #kyogikai-box{
border: solid 1px #123;
    margin-top: -50px;
    padding: 30px;
 background: #f5faff;
}
@media (max-width: 768px) {
 .about #kyogikai-box{
  margin-top: -10px;
  padding: 10px;
 }
}
.about #kyogikai-box ul li {
width: 50%;
        float: left;
 }
.about #kyogikai-box ul li.display-none {
 list-style: none;
 }
@media (max-width: 768px) {
.about #kyogikai-box ul li {
width: 100%;
 }
}
@media (max-width: 768px) {
.about #kyogikai-box ul li.display-none {
 display: none;
 }
}
.about #kyogikai-box ul {
 
}
.about #kyogikai-box ul::after{
 content: "";
 clear: both;
 display: block;
}

/**** 運動方針の重点課題 ***/
.policy {}

/**** 活動TOPICS ***/
.topics {}
.topics .date+h3 {
 margin-top: 20px;
}
.topics article + article {
  border-top: 1px solid #ccc;
  margin-top: 4em;   /* ボーダーの外側の余白 */
  padding-top: 4em;  /* ボーダーの内側の余白 */
}
