@charset "UTF-8";

/* ==========================================================================
   1. BASE STYLES (style.css) - PART 1
   ========================================================================== */

.has-forum-skyblue-color { color: #c6d5ec; }
.has-forum-skyblue-background-color { background-color: #c6d5ec; }
.has-forum-skyblue-border-color { border-color: #c6d5ec; }

/* ----- 印刷時に非表示 -------------------- */

 @media print{
	.print_none{ display: none; }
	.archive-header,.entry-header { margin-top: 4em; }
	}

/* ----- スキップリンク -------------------- */

.skip-link,.screen-reader-text {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.skip-link:focus,.screen-reader-text:focus {
	position: static;
	width: auto;
	height: auto;
	left: auto;
	background: #000;
	color: #fff;
	padding: 8px;
	z-index: 1000;
}

/* ----- 全体レイアウト -------------------- */

body { 
	font-feature-settings: "palt"; 
	font-family: "Noto Sans JP", "BIZ UDPGothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size: 1.2em;
	letter-spacing: .025em;
	font-weight: 400;
	line-height:1.6em;
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	height: 100%;
	margin: 0;
	overflow-x: hidden;
	/* scroll-behavior: smooth;
	scroll-padding-top: 80px; /* ヘッダーの高さ分設定 */
	}

body * { box-sizing: border-box; }
section { position: relative; }
.site-content { width:100%; }
.wrapper { width: 90%; max-width: 1120px; margin-left: auto; margin-right: auto; }

img { image-rendering: -webkit-optimize-contrast; }

/* ----- アンカーリンクスクロール時の位置を調整 -------------------- */

.anchor-offset { position: absolute; height: 80px; top: -80px; visibility: hidden; }

h2>span, h3>span, h4>span { padding-top: 80px; margin-top: -80px; } /* TOC+用設定 */

.join-content h2>span, .join-content h3>span, .join-content h4>span { padding-top: 0px; margin-top: 0px; }

/* ----- パンくず -------------------- */

.breadcrumbs { padding-top: 20px; font-size: .9em; line-height: 1.5em;}

/* ----- リンク -------------------- */

a { color:#003f88; text-decoration: none; }
.wrapper a:hover { text-decoration: underline; text-underline-offset: .25em; text-decoration-thickness: 2px; cursor: pointer; }

.header-ttl a img:hover, 
.slick-slider-container a img:hover, 
.sns-list-item a img:hover,
.member-sns-list-item a img:hover,
.header-party-logo-tagline a img:hover,
.mark-party-logo a img:hover
{border:none;}

a[target="_blank"]::after {
	padding-left: .2em; padding-right: 0.2em;
	content: "\f08b";
	font-family: "Font Awesome 5 Free";
	color: #003f88;
	font-weight: 700;
}

.slick-slider-container a[target="_blank"]::after,
.banner-card-container a[target="_blank"]::after,
.sns-list-item a[target="_blank"]::after,
.member-sns-list-item a[target="_blank"]::after,
.card-img a[target="_blank"]::after,
.feed-blog-meta a[target="_blank"]::after,
.feed-post-title a[target="_blank"]::after,
.wp-block-file a[target="_blank"]::after,
.header-party-logo-tagline a[target="_blank"]::after,
.banner-dpfp-policy a[target="_blank"]::after {
	content: none;
}

/* ----- ファイルダウンロードボタン -------------------- */

.wp-block-file:not(.wp-element-button) { font-size: 1em; }
.wp-block-file {
	box-sizing: border-box;
	text-align: center;
	padding-top: 1em;
	padding-bottom: 1em;
	margin-bottom: 0em;
	}

.wp-block-file a { 
	padding: .5em; 
	border: 1px solid #003f88; width:100%;
	align-items: center;
	display: inline-flex;
	-webkit-box-align: center;
	-webkit-box-pack: center;
	justify-content: center;
	font-weight: 700;
	}
.wp-block-file a::before {
	font-family: "FontAwesome";
	content: "\f019";
	font-size: inherit;
	margin-right: .3em;
	color: #003f88;
	}
.wp-block-file a:hover {
	text-decoration:none;
	}
@media all and (max-width: 768px) {
	.wp-block-file a { display:block; padding: .5em .5em; text-align: center; align-items: initial; }
	}

.wp-block-file a:hover, .wp-block-file a:hover::before { background: #003f88; color: #fff; }
.wp-block-file__button { display: none; }

/* ----- ReCAPCHA v3 -------------------- */

.recaptcha-msg { margin-top: 1em; }
.recaptcha-msg p { font-size: .8em; line-height: 1.5em; }
.grecaptcha-badge { visibility: hidden; }

/* ----- PCで電話のクリック・タッチイベントを無効化 -------------------- */

@media (min-width: 769px){ a[href^="tel:"] { pointer-events: none; }}

/* ----- YouTube埋め込みレスポンシブ対応 -------------------- */

.wp-block-embed-youtube { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.wp-block-embed-youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.youtube-embed { aspect-ratio: 16 / 9; width: 100%; height: auto; }
.mov-caption { font-size: .9em; line-height: 1.4em; font-weight: 500; margin-top: 0px; }

.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe{ position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* ----- その他 -------------------- */

.catchphrase { font-size: 2em; font-weight: 700; text-align: center !important; }
.bold, strong { font-weight:700; }
.red { color: #cb171d; }
.text-aign-right { text-align:right; }
.justify { text-align:justify; }
sup { color: #cb171d; }
.bigger { font-size: 1.6em; line-height: 1.6em; }
.smaller { font-size: .8em; line-height: 1.4em; }
.newmerk-text { font-weight: 500; color: #cb171d; }
@media screen and (max-width:768px) {
.catchphrase { font-size: 1.5em; line-height: 1.5em; }
.bigger { font-size: 1.3em; line-height: 1.5em; }
	}

/* mark { background: linear-gradient (transparent 70%, #ffc000 30%);  display: inline; padding: 0 1px 0px;} */
.marker1 { background:linear-gradient(transparent 70%, #ffc000 30%); display: inline; padding: 0 1px 0px; }
.marker2 { background:linear-gradient(transparent 70%, #fef84c 30%); display: inline; padding: 0 1px 0px; }

.underline-dpfpy {
	text-decoration: underline; text-decoration-color: #ffc000;
	text-underline-offset: .25em; text-decoration-thickness: 2px;
	}

hr, .wp-block-separator { height: 1px; border: none; border-top: 1px solid #cccccc ; }

.indext1 { padding-left: 1em; }
.indent2 { padding-left: 2em; }
@media screen and (max-width:768px) {
	.indext1 { padding-left: .5em; }
	.indent2 { padding-left: 1em; }
	}

/* ********** リスト関係 ****************************** */

/* ----- ●ビュレット標準リスト -------------------- */

.list-def ul { list-style: none; padding-left: 1.3em; }
.list-def ul li { font-size: 1em; text-indent: -1.3em; }
.list-def ul li::before { content: "●"; color: #ffc000; margin-right: .3em; }
@media (max-width: 768px) {
	.list-def ul  { padding-left: 0em; }
	.list-def ul li { padding-left: 1.3em; text-indent: -1.3em; }
	}

/* ----- 注意書きリスト -------------------- */

.caution-list ul { list-style-type: none; margin: 0; padding-left: 0; box-sizing: border-box; }
.caution-list ul li { margin-left:1.2em; text-indent: -1.2em; text-align: justify;}
.caution-list ul li::before { padding-right: .2em; content: "\f06a"; font-family: "Font Awesome 5 Free"; color: #cb171d; font-weight: 900; }

/* ----- 表組風リスト -------------------- */

.border-list-wrap { list-style: none; margin: 0; padding: 0; padding-left: 0em !important; margin-bottom:20px; }
.border-list li { display:flex; justify-content:flex-start; border-top:1px solid #cccccc; padding: .5em; text-align:justify; }
.border-list li:last-child { border-bottom:1px solid #cccccc; }
.item { width: 8em; }

@media screen and (max-width:768px){
	.border-list li { padding: .5em 0em .2em .2em; }
	.item { width: 140px; }
	.value { flex-grow: 1; flex-shrink: 1; flex-basis: 0%; }
	}

/* ********** スマホ対応 ****************************** */

/* ----- スマホ/PC別表示非表示 -------------------- */

@media all and (min-width: 769px) {
  .sp-only { display: none!important; }
  .pc-only { display: inline!important; }
  .sp-only-block { display: none!important; }
  .pc-only-block { display: block!important; }
  .sp_br { display:none!important; }
}
@media all and (max-width: 768px) { 
  .sp-only { display: inline!important; }
  .pc-only { display: none!important; }
  .sp-only-block { display: block!important; }
  .pc-only-block { display: none!important; }
  .sp_br { display:inline!important; }
}

/* ********** TABLE ****************************** */

/* ----- スマホでTABLEを横スクロール -------------------- */
	
table {
	display: block;
	overflow-x: scroll;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	}

/* ********** グリッド（PCで2カラム） ****************************** */

/* ----- グリッド -------------------- */

.grid-container { 
	display:grid; 
	grid-template-columns: 49% 49%; 
	/* grid-template-rows:150px 150px; */ 
	padding-left: 0px;
	margin-top: 0px;
	column-gap:2%;
	}
/* .grid-container li {
	display:flex; 
	padding-top: 30px;
 	padding-bottom: 30px;
	border-top: 1px solid #ccc;
}
*/
.module-blog .grid-container li,
.module-feed-youtube .grid-container li,
.module-feed-dpfp .grid-container li {
	display:flex; 
	padding-top: 0px;
 	padding-bottom: 15px;
	border-top: none;
}
/* .grid-container li:nth-last-of-type(2), .grid-container li:last-child {
	border-bottom: 1px solid #ccc;
}
*/
.module-blog .grid-container li:nth-last-of-type(2), .module-blog .grid-container li:last-child,
.module-feed-youtube .grid-container li:nth-last-of-type(2), .module-feed-youtube .grid-container li:last-child,
.module-feed-dpfp .grid-container li:nth-last-of-type(2), .module-feed-dpfp .grid-container li:last-child
{
	border-bottom: none;
}
@media (max-width: 767px){
	.grid-container {
	display: block;
	}
/* .grid-container li {
	padding-top: 15px;
	padding-bottom: 15px;
	}
	.grid-container li:nth-last-of-type(2) {
	border-bottom: none;
	}
*/
}
@media (max-width: 600px){
	/* スマホで最新動画のみ表示を変更 */
	.module-feed-youtube .grid-container { display:grid; }
	.module-feed-youtube .grid-container .card-container { display:block; }
	.module-feed-youtube .grid-container .card-container .card-img { width: 100%!important; padding-bottom:4px;}
	.module-feed-youtube .grid-container .card-container .card-img img { width: 100%; object-fit: cover; margin-bottom: .25em;}
	.module-feed-youtube .grid-container .card-container .card-text { margin-left: 0px; }
	.module-feed-youtube .grid-container .card-container .card-text .feed-post-title { /* display: none; */ }
	.module-feed-youtube .grid-container li { margin-right:5px; }
	.module-feed-youtube .grid-container li:first-child { margin-right:5px; }
	.module-feed-youtube .grid-container li:last-child { margin-right:0px;}
	.module-feed-youtube .grid-container li:nth-child(2) { margin-left:5px; margin-right:0px; }
	.module-feed-youtube .grid-container li:nth-child(4) { margin-left:5px; margin-right:0px; }
}

.card-img img { width: 260px; float: left; object-fit: cover; border: 1px solid #d3d3d3; aspect-ratio: 1/1;  }
.feed-eyecatch-youtube,.feed-eyecatch-senkyo,.feed-eyecatch-blog,.feed-eyecatch-dpfp { height: 145px!important; }
.archive-thumb img { width: 200px; height:200px; object-fit: cover; border: 1px solid #d3d3d3; }
.card-text{ width:100%; margin-left: 15px; }
.feed-post-title, .entry__ttl { font-size:1em; line-height:1.4em; margin-top:0em; }
.newslist-date, .newslist-title { font-size:1em; line-height:1.4em; margin-top:0em; }
.feed-post-title, .entry__ttl { font-weight:400; margin-bottom:.2em; }
.newslist-date { font-weight: 400; }
.newslist-title { font-weight: 700; }
.feed-post-date,.feed-blog-meta,.archive-meta { font-size:.9em; line-height: 1.5em; margin-top:.0em; margin-bottom:0em; }
.feed-blog-meta { text-indent: 0em; margin-left: 0em; }

@media (max-width: 1024px){
	.card-img img { width: 150px; height: 150px; }
	}

@media (max-width: 768px){
	.card-img img,.archive-thumb img { width: 150px; height: 150px; }
	.feed-eyecatch.feed-eyecatch-youtube { object-fit: contain; background: #000; }
	.card-text{ margin-left: 10px; }
	.feed-post-title, .entry__ttl { font-size: 1em; line-height: 1.4em; margin-bottom: .25em; }
	.newslist-date, .newslist-title { margin-bottom: .25em; }
	.newslist-date { letter-spacing: -.05em; }
	.feed-post-date,.feed-blog-meta { font-size: .9em; line-height: 1.4em!important; }
	.feed-blog-meta { margin-left: 0em; }
	.archive-meta { font-size: .85em; line-height: 1.3em!important; }
	.archive-entry-cat { margin-top: .3em; }
	}

/* ----- 広報紙用設定 -------------------- */

.card-img-press img { width: 200px; height: 290px; object-fit: fill; }
.press-txt { margin-top: 1em; }
@media all and (max-width: 768px) {
.card-img-press img { width: 150px; height: 210px!important; object-fit: fill!important; }
.press-txt { font-size:.9em; line-height:1.4em; }
}

/* ************************************************************
投稿ページと固定ページ
************************************************************ */

/* ----- 目次（TOC+） -------------------- */

#toc_container { border-top: 1px solid #cccccc; border-bottom: 1px solid #cccccc; padding-left: 0em; padding-right:1em; padding-bottom: .5em; margin-bottom: 40px; }
.toc_title { font-weight: 700; }
.toc_list { padding-left: 1.5em; line-height: 1.5em; }
.toc_list ul li { margin-bottom: .25em; }
.toc_list ul li:first-child { margin-top: .25em; }

/* ----- 主要要素 -------------------- */

.entry-header,.archive-header { padding-top: 0px; }
.entry-header,.archive-header,.post-date { margin-bottom:40px; }
@media all and (max-width: 768px) {
.entry-header,.archive-header,.archive-header-no-exp { padding-top: 0px; }
}

.post-date { font-size: .9em; text-align:right; }
.post-meta { font-size: .9em; margin-top: 60px; }
.entry-content { overflow-wrap: anywhere; }
.wp-block-image img, .wp-block-media-text__media img { border: 1px solid #d3d3d3; }

.wp-element-caption { font-size: .9em; font-weight: 700; } /* 写真のキャプション */
.wp-block-image :where(figcaption) { margin-bottom: 1em; margin-top: .25em; }

.entry-header h1, .archive-header h1, .archive-header-no-exp h1, .has-x-large-font-size { font-size: 2.8em!important; line-height:1.3em; font-weight: 400; }
.entry-content h2 { 
font-size: 2.2em!important; line-height:1.4em; font-weight: 400; overflow-wrap: anywhere; word-break: break-all; border-left:10px solid #ffc000; padding-left: 10px;
}
.has-large-font-size { 
font-size: 2.2em!important; line-height:1.4em; font-weight: 400; overflow-wrap: anywhere; word-break: break-all; 
}
.entry-content h3 { font-size: 1.7em!important; line-height:1.5em; font-weight: 400; }
.entry-content h4, .has-medium-font-size { font-size: 1.5em!important; line-height:1.6em; font-weight: 400; }
.entry-content h5 { font-size: 1.3em!important; line-height:1.6em; font-weight: 400; }
.entry-content h6 { font-size: 1.1em!important; line-height:1.6em; font-weight: 400; }

.has-small-font-size { font-size: .9em!important; line-height: 1.6em; }
@media all and (max-width: 768px) {
	.entry-header h1, .archive-header h1, .archive-header-no-exp h1, .has-x-large-font-size { font-size: 2em!important; line-height:1.4em; }
	.entry-content h2, .has-large-font-size { font-size: 1.8em!important; line-height: 1.5em; }
	.entry-content h3 { font-size: 1.4em!important; }
	.entry-content h4, .has-medium-font-size { font-size: 1.3em!important; }
	.entry-content h5 { font-size: 1.3em!important; }
	.entry-content h6 { font-size: 1.1em!important; }
	.wp-block-media-text__content p { margin-top: 1em!important; }
	.wp-block-media-text > .wp-block-media-text__content { padding: 0 0; }
	.has-small-font-size { font-size: .9em!important; line-height: 1.6em; }
	}

h1.has-background, h2.has-background, h3.has-background, h4.has-background, h5.has-background, h6.has-background {
	padding: 0em 0.1em;
}
:root :where(p.has-background) {
	padding: 0.01em 0.3em;
}

/* ----- 動画埋め込み（video）の調整 -------------------- */

.wp-block-video video { border: 1px solid #cccccc; }

/* ----- ギャラリーブロックの調整 -------------------- */

.testpage .wp-block-gallery.has-nested-images figure.wp-block-image img {
	display: block;
	width: 100%;
	max-width: 100% !important;
	height: auto;
	object-fit: cover;
	aspect-ratio: 1/1;
	}

/* ----- ギャラリーブロックのキャプション調整 -------------------- */

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption, .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
	bottom: 0;
	left: 0;
	position: initial!important;
	right: 0;
}

.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	content: "";
	height: 100%;
	-webkit-mask-image: linear-gradient(0deg,#000 20%,#0000);
	mask-image: linear-gradient(0deg,#000 20%,#0000);
	max-height: 0%;
}

.wp-block-gallery.has-nested-images figcaption {
	flex-basis: 0%;
}
  
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	overflow: unset!important;
	background: none;
	box-sizing: border-box;
	color: #000;
	font-size: .9em;
	font-weight: 700;
	line-height: 1.4em;
	text-align: left;
	text-shadow: none;
	margin: 0;
	will-change: transform;
	padding-left: 0em;
	padding-right: 0em;
	padding-top: .5em;
	padding-bottom: 2em;
	height: 1em;
	max-height: 2em;
}

/* ----- 前の記事・次の記事 -------------------- */

.navigation.post-navigation { margin-top: 60px; }
.nav-links { font-size: .9em; display: flex; }
.nav-links div[class^="nav-"] { width: 50%; }
.nav-links .nav-next { margin-left: auto; }
.nav-links .nav-previous + .nav-next { margin-left: -1px; }
.nav-links a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 4em;
	border: 1px solid #003f88;
	padding: .5em;
	line-height: 1.5em;
	overflow-wrap: anywhere;
	word-break: break-all;
	text-align: justify;
	}
.nav-links a:hover { background: #003f88; color: #fff; text-decoration: none; }
@media all and (max-width: 768px) {
	.nav-links a { height: 8em; line-height: 1.3em; }
	}
.nav-previous a::before { content: "＜"; padding-right: .5em; }
.nav-next a::after { content: "＞"; padding-left: .5em; }

/* ************************************************************
アーカイブ
************************************************************ */

.list-exp { margin-bottom: 60px; text-align:justify; } /* アーカイブタイトル下の説明文 */
.blog-cat-list { padding-bottom:30px; }

.archive-list { list-style:none; padding-left: 0px;}

/* ----- NEWラベル -------------------- */

.card-img { position: relative; }
.archive-new { 
	position: absolute;
	top: 0;
	left: 0;
	color: #ffffff;
	background: #cb171d;
	padding: 0 .4em;
	margin-top: 1px;
	margin-left: 1px;
	font-size: .9em;
	font-weight: 700;
}
@media screen and (max-width: 768px) {
	.archive-new  { font-size: .8em; line-height: 1.6em; padding: 0 .2em; }
}

/* ----- ページネーション -------------------- */

.archive-pagenation { margin-top:60px; 	line-height: 31px; }
.archive-pagenation ul {
	display: flex; list-style: none; justify-content: center; padding-left: 0em; gap: .5em; margin-bottom: 0px;
}
.archive-pagenation li .page-numbers { display: inline-block; min-width: 2em; height: 2em; padding-top: .15em; text-align:center; font-size:1em; letter-spacing: 0em; text-align: center; }
.archive-pagenation li a { -webkit-transition: background-color .3s,color .3s; transition: background-color .3s,color .3s; text-decoration: none; background-color: #fff; color: #003f88; border:1px solid #003f88 }
.archive-pagenation li a:hover { color:#fff; background:#003f88; text-decoration:none; }
.archive-pagenation .current { background-color: #003f88; color: #fff; }

@media screen and (max-width:768px) {
	.archive-pagenation { margin-top:80px; 	margin-bottom:80px; line-height: 28px; }
	.archive-pagenation ul { display: flex; list-style: none; justify-content: center; font-size:.9em; letter-spacing: 0em; padding-left: 0em; gap: .5em; }
	.archive-pagenation li .page-numbers { display: inline-block; min-width: 2em; height: 2em; text-align: center; }
	.archive-pagenation { margin-top:60px; margin-bottom:0px; }
	.archive-bottom-link { width: 90%; }
	}

/* ----- ボタン -------------------- */

.read-more,.return-toppage, .wp-block-button__link { 
	display: block; margin-left: auto; margin-right: auto; text-align: center; 
	}
.read-more { 
	margin-top: 20px; 
	}
.return-toppage { 
	margin-top: 60px; 
	}
.page-index-btn,.page-index-btn2 {
	display: block; margin-left: auto; margin-right: auto; text-align: left; 
	margin-top: 0px; margin-bottom:10px;
}
	
.wp-block-button {
	padding-top:1em;
	padding-bottom:1em;
	width:100%;
	text-align: center;
	}
.wp-block-button__link { 
	border-radius: 0px;
	}
.read-more a,.return-toppage a,.wp-block-button a,.page-index-btn a,.page-index-btn2 a { 
	font-size: 1em; font-weight: 700; text-align: center;
	text-decoration: none; padding: .5em; 
	color: #003f88; background: #fff; 
	border: 2px solid #003f88; 
	display:inline-block; width: 50%;
	border-radius: 5px;
	}
@media (max-width: 768px) {
	.read-more a, .return-toppage a, .wp-block-button a, .page-index-btn a, .page-index-btn2 a { width: 100%; }
.card-img img, .archive-thumb img { width: 100px; height: 100px; aspect-ratio: 1/1;}
.module-feed-dpfp .grid-container .card-container .card-img img  { width: 100px; height: 100px!important; aspect-ratio: 1/1;}
}
.read-more a[target="_blank"]:hover::after,
.return-toppage a[target="_blank"]:hover::after,
.wp-block-button a[target="_blank"]:hover::after,
.page-index-btn a[target="_blank"]:hover::after,
.page-index-btn2 a[target="_blank"]:hover::after {
	color: #ffffff;
	}
.page-index-btn a,.page-index-btn2 a { 
	font-weight: 700; 
	}
.wp-block-button a { 
	font-size: 1em; font-weight: 700; 
	text-decoration: none; padding: .5em; 
	color: #003f88; background: #fff; 
	border: 2px solid #003f88; 
	border-radius: 5px;
	}
.read-more a:hover, .return-toppage a:hover,.wp-block-button a:hover,.page-index-btn a:hover,.page-index-btn2 a:hover { 
	background: #003f88; color: #fff; text-decoration: none;
	}

@media screen and (max-width: 1024px) {
	.read-more a,.return-toppage a { font-size: 1em; }
	.page-index-btn a,.page-index-btn2 a { font-size: .95em; padding:.1em .4em; }
}

.align-left a {
  text-align: left !important;
}
@media (max-width: 768px) {
.align-left-sp a { text-align: left !important; }
}

/* ----- トップページの3大ボタン -------------------- */

.top-3index-btn-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	list-style:none;
	padding-top: 10px;
	padding-left: 0px;
	}
.top-3index-btn-card-container { white-space: nowrap; width: 32%; }
.top-3index-btn-container li { margin-right: 2%; }
.top-3index-btn-container li:last-child { margin-right: 0%;}

.top-3index-btn {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	margin-top: 0px;
	}
.top-3index-btn a {
	font-size: 1.3em;
	font-weight: 700;
	text-decoration: none;
	padding: .5em;
	color: #ffffff;
	background: #003f88;
	border: 1px solid #003f88;
	display: inline-block;
	width: 100%;
	}
.top-3index-btn a:hover {
	background: #003f88; color: #ffffff; 
	text-decoration: underline; 
	text-underline-offset: .25em; 
	text-decoration-thickness: 2px; 
	cursor: pointer;
	}

@media screen and (max-width:1024px) {
	.top-3index-btn-container { display: block; padding-top: 5px; padding-bottom: 0px; }
	.top-3index-btn-card-container { width: 100%; }
	.top-3index-btn-container li { margin-right: 0%; }
	.top-3index-btn { margin-bottom: 10px; }
	.top-3index-btn a { font-size: 1.1em; padding: .3em .2em; }
}

/* ----- ページ上部のページ内リンクボタン -------------------- */

.page-index-btn-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: left;
	list-style:none;
	padding-left: 0px;
	}

.page-index-btn a.is-active,.default-all {
	font-weight:700!important; color: #000000; background: #ffffff; border: 1px solid #a9a9a9; cursor: default;
	text-align: center;
	}

.page-index-btn span {
	font-size: 1em; 
	text-decoration: none; 
	padding: .5em; 
	color: #000000; 
	background: #ffffff;
	border: 1px solid #a9a9a9; 
	display:inline-block; width: 100%;
	}

.page-index-btn-card-container { white-space: nowrap; width:24.3%; }
.page-index-btn-container li { margin-right:10px; }
.page-index-btn-container li:first-child { margin-right:10px; }
.page-index-btn-container li:last-child { margin-right:0px;}
.page-index-btn-container li:nth-child(4) { margin-right:0px; }
.page-index-btn-container li:nth-child(8) { margin-right:0px; }
.page-index-btn-container li:nth-child(12) { margin-right:0px; }
.page-index-btn-container li:nth-child(16) { margin-right:0px; }

@media screen and (max-width: 1120px) {
	.page-index-btn-card-container { width:24%; }
	.page-index-btn span	{ font-size: .95em; padding:.1em .4em; }
	}
@media screen and (max-width:1024px) {
	.page-index-btn-card-container { width:48.5%; }
	.page-index-btn-container li:first-child { margin-right:10px; }
	.page-index-btn-container li:last-child { margin-right:0px;}
	.page-index-btn-container li:nth-child(2) { margin-right:0px; }
	.page-index-btn-container li:nth-child(4) { margin-right:0px; }
	.page-index-btn-container li:nth-child(6) { margin-right:0px; }
	.page-index-btn-container li:nth-child(8) { margin-right:0px; }
	.page-index-btn-container li:nth-child(10) { margin-right:0px; }
	.page-index-btn-container li:nth-child(12) { margin-right:0px; }
	.page-index-btn-container li:nth-child(14) { margin-right:0px; }
	.page-index-btn-container li:nth-child(16) { margin-right:0px; }
	}

/* ----- ページ上部のページ内リンクボタン2 -------------------- */

.page-index-btn2-container {
	display: block;
	justify-content: left;
	list-style:none;
	padding-left: 0px;
	}
.page-index-btn2-card-container { white-space: nowrap; }
@media screen and (max-width: 1120px) {
	.page-index-btn2 { font-size: .95em; }
	}

/* ----- シェアボタン -------------------- */

.sns-share-wrap { margin-top: 60px; margin-bottom:0px; }
.share-btn-container { display: flex; flex-wrap: wrap; justify-content: center; list-style:none; padding-left: 0px; }

.share-btn-card-container { width:24.3%; text-align:center; }
.share-btn-container li { margin-bottom:5px; margin-right:10px; }
.share-btn-container li:first-child { margin-right:10px; }
.share-btn-container li:last-child { margin-right:0px;}
@media screen and (max-width: 1120px) {
	.share-btn-card-container { width:49.4%; }
	.share-btn-container li:last-child { margin-right:0px;}
	.share-btn-container li:nth-child(2) { margin-right:0px; }
	.share-btn-container li:nth-child(3) { margin-right:10px; }
	}
@media screen and (max-width:1024px) {
	.share-btn-card-container { width:49%; }
	.share-btn-container li:last-child { margin-right:0px;}
	.share-btn-container li:nth-child(2) { margin-right:0px; }
	.share-btn-container li:nth-child(3) { margin-right:10px; }
	}
@media screen and (max-width: 768px) {

	.share-btn-card-container { width:47.5%; padding-bottom:4px;}
	.share-btn-container li { margin-right:5px; }
	.share-btn-container li:first-child { margin-right:6px; }
	.share-btn-container li:last-child { margin-right:0px;}
	.share-btn-container li:nth-child(2) { margin-left:6px; margin-right:0px; }
	.share-btn-container li:nth-child(3) { margin-left:0px; margin-right:6px; }
	.share-btn-container li:nth-child(4) { margin-left:6px; margin-right:0px; }

	/*
	.share-btn-card-container { width:60%; }
	.share-btn-container li:first-child { margin-right:0px; }
	.share-btn-container li:last-child { margin-right:0px;}
	.share-btn-container li:nth-child(2) { margin-right:0px; }
	.share-btn-container li:nth-child(3) { margin-right:0px; }
	*/
	}

.sns-txt {text-align: center;font-weight: 700; margin-top: 0px; margin-bottom: 0px;}

.twitter-share,.facebook-share,.line-share, .url-copy { 
	font-size:.9rem; letter-spacing: 0em; line-height:1.1rem; display: inline-block; white-space: nowrap;
	margin-top: 5px; padding: 8px 8px; text-decoration: none; width:100%; border-radius: 5px;
	}

.twitter-share { color: #ffffff; background: #000; }
.facebook-share { color: #ffffff; background: #4267B2; }
.line-share { color: #ffffff; background: #00b900; }
.url-copy { color: #ffffff; background: #008080; }

.twitter a::before,.twitter-share::before	{font-family: "FontAwesome"; content:"\e61a"; margin-right:5px;}
.facebook a::before,.facebook-share::before	{font-family: "FontAwesome"; content:"\f09a"; margin-right:5px;}
.line-share::before	{font-family: "FontAwesome"; content:"\f3c0"; margin-right:5px;}
.url-copy::before {font-family: "FontAwesome"; content:"\f0c1"; margin-right:5px;}

.twitter-share:hover,.twitter-share:active, .facebook-share:hover,.facebook-share:active,
.line-share:hover,.line-share:active,.url-copy:hover,url-copy:active {color:#003f88; background: #ffc000;}

/* ----- ページトップに戻るボタン（スクロールで出現） -------------------- */

.pagetop { position: fixed; z-index: 999; right: 0; bottom: 0; }
.pagetop img { width: 40px; height: 40px; margin-right: 20px; margin-bottom: 20px; 
filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.3)); 
border-radius: 50%;
}
.pagetop a img:hover { border:none; }

/* ----- ページトップに戻るボタン -------------------- */

.to-top-wrap { padding-top: 80px; }
.to-top { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.to-top a { 
	font-size: 1.1em; font-weight: 700; 
	text-decoration: none; padding: .5em; 
	color: #ffffff; background: #003f88; 
	border: 1px solid #003f88; 
	display:inline-block; width: 100%;
	}
.to-top a:hover { 
	background: #003f88; color: #fff; 
	text-decoration: underline; 
	text-underline-offset: .25em; 
	text-decoration-thickness: 2px; 
	cursor: pointer;
	}
@media (max-width:768px) {
	.to-top a { font-size: 1em; } 
	}

.triangle-to-top {
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	border-bottom: 10px solid #003f88;
	border-top: 0;
	text-align:center;
	display: flex;
	margin-right: auto;
	margin-left: auto;
}

/* ************************************************************
サイトトップのモジュール
************************************************************ */

/* ----- 緊急のお知らせ -------------------- */

.introduction-wrap, .emergency-notice-wrap {
	border: 1px solid #000;
	padding-top: 0;
	padding-left: 2em;
	padding-right: 2em;
	padding-bottom: 0;
	margin-top: 0;
	margin-bottom: 30px;
	text-align: justify;
}
@media all and (max-width: 600px) {
.introduction-wrap, .emergency-notice-wrap {
	border: 1px solid #000;
	padding-top: 0em;
	padding-left: 1em;
	padding-right: 1em;
	padding-bottom: 0;
	margin-top: 0;
}
}

/* ----- ボネクタ埋め込み対応 -------------------- */

.vonnector{ display: flex; margin-left: auto; margin-right: auto; justify-content: center; }

/* ----- サイトトップのモジュール共通要素・一覧もの -------------------- */

.top-section-title { font-size: 2.2em; text-align:center; margin-bottom:20px; font-weight:700;
	text-decoration:underline;
	text-decoration-color: #ffc000;
	text-underline-offset: .3em;
	text-decoration-thickness: 6px; 
	}
.top-section-title.top-section-title-noexp { margin-bottom: 80px; }
.module-exp-txt { font-size: 1.1em; text-align:center; margin-bottom:60px; padding-top: 1em; }
@media (max-width: 768px){
	.top-section-title { font-size: 1.4em; }
	.top-section-title.top-section-title-noexp { margin-bottom: 60px; }
	.module-exp-txt { font-size: .9em; margin-bottom: 30px; padding-top: .5em;}
	}

.module-blog,.module-sns-account,.module-banner,.module-profile,.module-policy,
.module-feed-youtube,.module-blog-multi,.module-blog,.module-feed-dpfp,
.module-vonnector,.module-contact,.module-office,.module-plog,.module-members { 
	padding-top:100px; padding-bottom:50px; 
}
.top-newslist
{ padding-top:50px; padding-bottom:0px; }

@media screen and (max-width: 768px) {
	.module-blog,.module-sns-account,.module-banner,
	.module-profile,.module-policy,
	.module-feed-youtube,.module-blog-multi,.module-blog,.module-feed-dpfp,
	.module-vonnector,
	.module-contact,.module-office,.module-plog,.module-members
	{ padding-top:25px; padding-bottom:25px; }
	}

/* ----- サイトトップのお知らせモジュール -------------------- */

.top-newslist,.update-list { padding-top:30px; padding-bottom:30px; }
.newslist-date { width: 160px!important; }
@media screen and (max-width:768px){
	.top-newslist,.update-list { padding-top:25px; }
	.newslist-date { width: 120px!important; }
	}

/* ----- サイトトップのお知らせモジュール2 -------------------- */

.update-list-wrap { list-style: none; margin: 0; padding: 0; padding-left: 0em !important; margin-bottom:20px; }
.update-list li { display:flex; justify-content:flex-start; border-top:1px solid #cccccc; padding: .5em; }
.update-list li:last-child { border-bottom: 1px solid #cccccc; }
.item1  { width: 8em; }
.item2 { width: 80px; }

.label-blog,.label-news,.label-plog,.label-press {
	display:inline-block;
	width: 5em;
	padding: .2em .3em .2em .3em;
	margin-top: 1px;
	margin-left: 1px;
	font-size: .8em;
	line-height:1em;
	width: 4.7em;
}
.label-blog { color: #ffffff; background: #2360af; }
.label-news { color: #000000; background: #ffc000; }
.label-plog { color: #ffffff; background: #e8810f; }
.label-press { color: #000000; background: #eeeeee; }
.value0 { font-weight: 500; flex-grow: 1; flex-shrink: 1; flex-basis: 0%; overflow-wrap: anywhere; word-break:break-all; }

@media screen and (max-width:768px){
.update-list li { display:block; padding-left: .25em; padding-right: .25em; }
.value0 { display:block; line-height: 1.4em; margin-top:.3em; }
}

/* ----- サイトトップのSNSアカウントモジュール -------------------- */

.sns-account { padding-top: 20px; }
.sns-account ul { padding-left:0px; }

.sns-list { display: flex; justify-content: center; list-style:none; margin-top: 10px; margin-bottom: 10px;}
.sns-list-item { margin-right: 25px;}
.sns-list-item:last-child { margin-right: 0;}
.sns-list-item-link { display: block; }
.sns-icon {height: 70px; width: 70px;}

@media screen and (max-width: 768px) {
	.sns-list { display: flex; justify-content: center; list-style:none;	margin-top: 5px; margin-bottom: 5px;}
	.sns-list-item { margin-right: 20px;}
	.sns-list-item-link { display: block; margin: 5px; }
	.sns-icon {height: 60px; width: 60px;}
	}

@media screen and (max-width: 600px) {
	.sns-list-item { margin-right: 15px; }
	.sns-list-item:last-child { margin-right: 0;}
	.sns-icon {height: 40px; width: 40px;}
	}

/* ----- サイトトップのバナーモジュール -------------------- */

.banner-container { display: flex; flex-wrap: wrap; justify-content: center; list-style:none; padding-left: 0px; }
.banner-card-container { width:24%; padding-bottom:14px; }

.banner-container li { margin-right: 14px; }
.banner-container li:first-child { margin-right: 14px; }
.banner-container li:last-child { margin-right: 0px;}
.banner-card-container img { width:100%; border: 1px solid #d3d3d3; object-fit:cover; /* aspect-ratio: 4/5;*/ }
@media screen and (max-width: 1120px) {
	.banner-card-container { width: 23.5%; }
	}
@media screen and (max-width: 768px) {
	.banner-card-container { width: 48%; padding-bottom:4px;}
	.banner-container li { margin-right: 2%; }
	.banner-container li:first-child { margin-right: 2%; }
	.banner-container li:last-child { margin-right:0px;}
	.banner-container li:nth-child(2) { margin-left: 2%; margin-right:0px; }
	.banner-container li:nth-child(4) { margin-left: 2%; margin-right:0px; }
	}
@media screen and (max-width: 768px) {
	.banner-card-container { width:48%; padding-bottom: 4px;}
	}

/* ----- サイトトップのYouTubeモジュール -------------------- */

.module-feed-youtube .card-img img { aspect-ratio: 16/9; }

/* 埋め込み */
.module-feed-youtube .module-feed-youtube2 .grid-container { display: grid; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container { display: block; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video { position: relative; width: 100%; aspect-ratio: 16/9; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video iframe { width: 100%; object-fit: cover; aspect-ratio: 16/9; border: 1px solid #d3d3d3; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text { margin-left: 0; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text .feed-post-title { display: none; }

@media (max-width: 600px){
.module-feed-youtube .module-feed-youtube2 .grid-container { display: block; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container { display: block; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video { width: 100%!important; aspect-ratio: 16/9; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-video iframe { width: 100%!important; object-fit: cover; aspect-ratio: 16/9; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text { margin-left: 0; }
.module-feed-youtube .module-feed-youtube2 .grid-container .card-container .card-text .feed-post-title { display: none; }
	
.module-feed-youtube .module-feed-youtube2 .grid-container li:nth-child(2) { margin-left: 0px; margin-right:0px; }
.module-feed-youtube .module-feed-youtube2 .grid-container li:nth-child(4) { margin-left: 0px; margin-right:0px; }
	
/* サムネイル画像 */
	.module-feed-youtube .grid-container { display:grid; }
	.module-feed-youtube .grid-container .card-container { display:block; }
	.module-feed-youtube .grid-container .card-container .card-img { width: 100%!important; padding-bottom:4px;}
	.module-feed-youtube .grid-container .card-container .card-img img { width: 100%; object-fit: cover; margin-bottom: .25em;}
	.module-feed-youtube .grid-container .card-container .card-text { margin-left: 0px; }
	.module-feed-youtube .grid-container .card-container .card-text .feed-post-title { display: none; }
	.module-feed-youtube .grid-container li { margin-right:5px; }
	.module-feed-youtube .grid-container li:first-child { margin-right:5px; }
	.module-feed-youtube .grid-container li:last-child { margin-right:0px;}
	.module-feed-youtube .grid-container li:nth-child(2) { margin-left:5px; margin-right:0px; }
	.module-feed-youtube .grid-container li:nth-child(4) { margin-left:5px; margin-right:0px; }
}

/* ----- サイトトップのプロフィールモジュール -------------------- */

.prof-elements { display: flex; justify-content: space-between; padding-top: 15px; padding-bottom: 20px; }
.prof-element-left { width: 40%; }
.prof-element-right { width: 60%;}
.prof-element-left ul, .prof-element-right p { margin-top: 0px; }
@media all and (max-width: 768px) {
	.prof-elements { display: block; padding-bottom: 0px; }
	.prof-element-left,.prof-element-right { width: 100% }
	}

.prof-module .wp-block-media-text__content p {
	margin-top: 0px; text-align: justify;
}

.prof-module .wp-block-media-text > .wp-block-media-text__content {
	padding-right: 0px;
}
@media screen and (max-width: 768px) {
	.prof-module .wp-block-media-text > .wp-block-media-text__content {
	padding-left: 20px;
}
}
@media screen and (max-width: 620px) {
	.prof-module .wp-block-media-text > .wp-block-media-text__content {
	margin-top: 20px; padding-left: 0px;
}
}

/* ----- サイトトップの政策モジュール -------------------- */

/* ----- 政策ブロック -------------------- */

.top-section-lead p { font-size:1.2em; line-height:1.5em; margin-top:0em; margin-bottom: .2em; text-align:justify; }
.top-section-lead ul { list-style: none; font-size:1.2em; line-height: 1.3em; padding-left: 1em; margin-bottom: 0em; text-align:justify; }
.top-section-lead ul li { text-indent: -1.5em; padding-left: 1.5em; margin-bottom:.5em; }
.top-section-lead ul li::before { content: "●"; color: #cb171d; margin-right: .5em; }

.module-policy,.accordion__list { margin-top: 0em; }

@media screen and (max-width:768px) { 
	.top-section-lead p { font-size:1.15em; }
	.top-section-lead ul { font-size:1.1em; padding-left: .5em; }
	.top-section-lead ul li { text-indent: -1.2em; padding-left:1.2em; }
	.top-section-lead ul li::before { margin-right: .2em; }
	}

.qa-img { padding-left: 36px; }
.qa-indent { padding-left: 36px; }
.qah2-2 { font-size: 1.6em; text-align: left; padding-left: .3em; padding-right: 2em; margin-top: 0.5em !important; }
@media screen and (max-width:768px) {
	.qa-img{ padding-left: 0px }
	.qa-indent { padding-left: 0px; }
	.qah2-2 { font-size:1.2em; line-height:1.6em; padding-left: .1em; padding-right: 2em; margin-top: 0em !important; margin-bottom: 11px; }
	}

/* ----- 政策のアコーディオン -------------------- */

.accordion__item.accordion__item-last { /* border-bottom: 2px solid #003f88; */ }

/* コンテンツ部分を非表示にするための初期設定 */
.accordion__content {
overflow: hidden;
max-height: 0; /* 初期状態で高さを0に */
transition: max-height 2s ease-out; /* アニメーションをつける */
}
/* アクティブな状態の時に高さを適切に設定 */
.accordion__item.active .accordion__content {
max-height: 3000px; /* 必要に応じて最大高さを設定 */
}

.accordion__body p { font-size: 1em; margin-top: 0px; margin-bottom:0px; text-align: justify; }
.accordion__body ul, ol { padding-left: 2em; }
.accordion__body ul { list-style:disc; }
.accordion__body ul li,ol li:last-child { border-bottom: none!important; }

/* アコーディオンそのものの横幅と余白を指定。開閉動作に影響なし。 */
.accordion__list { list-style: none; padding-top: 2em; padding-left: 0em; }
/* .accordion__list li:last-child { border-bottom: 1px solid #cccccc; } */

/* アコーディオンの開閉ボタンの装飾。position: relative;が無いと「+」「-」の位置がずれるので注意。 */
.accordion__head { position: relative; /* width: 100%; */ padding-top: 10px; cursor: pointer; border-top: 1px solid #cccccc; }

	/* アコーディオンの開閉ボタンの右側に「+」を表示。 */
	.accordion__head::after { font-family: "FontAwesome"; content: "\f13a"; position: absolute; top: 25px; right: 10px; font-size:1.6em; color: #003f88;}
	/* アコーディオンが開いた際に、開閉ボタンの「+」を「-」に変更する。 */
	.accordion__item.active .accordion__head::after { font-family: "FontAwesome"; content: "\f139"; right: 10px; font-size:1.6em; }

/* アコーディオンの閉じている部分の装飾。height: 0; overflow: hidden;にすることで通常時は表示されないようにする。 */
.accordion__body { overflow: hidden; width: 100%; height: 0; padding: 0 10px; transition: all .25s ease; /* border-top: 1px solid #ddd; */ }
/* アコーディオンが開いた際に、heightを0からautoに、paddingの上下を0から10に。 */
.accordion__item.active .accordion__body { height: auto; padding: 10px; padding-bottom: 30px;}

.accordion__list li:last-child { border-bottom: 1px solid #cccccc; }
.accordion__body ul { list-style:none; padding-bottom:1em; padding-left:1em; padding-right:1em; margin-top:1em; }
.accordion__body ul li { text-indent: -1.2em; padding-left: 1.2em; }
.accordion__body ul li::before {
  content: "●";
  color: #ffc000;
  margin-right: .2em;
}

@media screen and (max-width:768px) {
	/* アコーディオンの開閉ボタンの右側に「+」を表示。 */
	.accordion__head { padding-left: 5px; padding-right: 5px; }
	.accordion__head::after { position: absolute; top: 12px; right: 10px; font-size:1.3em; color:#003f88;}
	/* アコーディオンが開いた際に、開閉ボタンの右側に「+」を「-」に変更する。 */
	.accordion__item.active .accordion__head::after { right: 10px; font-size:1.3em; }
	}

/* ----- 党の政策へのリンクバナー -------------------- */

.banner-dpfp-policy { display: block; text-align: center; padding-top: 40px; }
.banner-dpfp-policy img { width: 24%; border: 1px solid #d3d3d3; }
@media (max-width: 768px){
	.banner-dpfp-policy img { width: 48%; }
	}

/* ----- サイトトップのブログ（ボネクタ）モジュール -------------------- */

.module-vonnector .grid-container { margin-bottom: 50px; }
@media (max-width: 768px){
	.module-vonnector .grid-container { margin-bottom: 40px; }
	}

/* ----- サイトトップのブログ（リスト形式）モジュール -------------------- */

.module-blog-multi ul, .top-newslist ul {
	list-style:	none;	/* デフォルトのアイコンを消す */
	margin:	0;			/* デフォルト指定上書き */
	padding: 0;			/* デフォルト指定上書き */
	}
.module-blog-multi ul li {
	border-top:1px solid #cccccc;
	padding-top: .5em;
	padding-bottom: .5em;
	padding-left: 1.7em;
	text-indent: -1.5em;
	}
.module-blog-multi ul li:last-child { border-bottom:1px solid #cccccc; }
.module-blog-multi ul li .headline:before { content: "●"; color: #ffc000; }

/* ----- サイトトップの事務所のご案内モジュール -------------------- */

.office-name { border-bottom: 1px solid #cccccc; padding-bottom: 10px; }
.office-name h3 { font-size:1.3em; margin-bottom: 0px; }

.gmap-link a {
	font-size:.9em; font-weight: 700; text-decoration: none;
	padding-top: .5em; padding-bottom: .5em;
	color: #003f88; background: #fff; border: 2px solid #003f88; border-radius: 5px;
	width: 100%; 
	display: block; text-align: center;
	}
.gmap-link a:hover, .gmap-link a[target="_blank"]:hover::after { 
	background: #003f88;
	color: #fff;
	text-decoration: none;
	}

.card-left, .card-right	{ display:block; width:100%; }
.card-left iframe, .card-right iframe { width: 100%; height: 500px; border: 1px solid #d3d3d3 !important; }
@media (max-width: 768px){
	.card-left, .card-right	{ width:100%; }
	.card-left iframe, .card-right iframe { width:100%; height:300px;}
	}

/* ************************************************************
ヘッダーとハンバーガーメニュー
************************************************************ */

.header { position: sticky; /* sticky / headerを追従にする */
	top: 0; left: 0; right: 0;
	width: 100%; 
	background-color:#fff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); 
	z-index: 1000 /* ;z-index: 1; */
	}
.header__inner { display: flex; justify-content: space-between; align-items: center; padding: 0.3em 0.5rem; }

.header .header-ttl { display: flex; box-sizing: border-box; margin: 5px;}
.header .header-link { display: flex; align-items: center;}
.header .header-party-logo-box { display: block; margin-right: 10px;}
.header .header-party-logo { width: 100px; }
.header .header-ttl-big { display: block; font-size: 1.7rem; line-height: 1; color:#000; font-weight:900; }
.header .header-ttl-small { display: block; font-size: .9rem; line-height: 1; margin-top: 5px; color:#000;}
@media (max-width:768px) {
	.header .header-ttl { display: flex; box-sizing: border-box; margin: 0px;}
	.header .header-link { display: flex; align-items: center;}
	.header .header-party-logo-box { display: block; margin-right: 10px;}
	.header .header-party-logo { width: 80px; }
	.header .header-ttl-big { display: block; font-size: 1.3rem; line-height: 1.1;}
	.header .header-ttl-small { display: block; font-size: .8rem; line-height: 1; margin-top: 5px; font-weight:400; }
	}

.sub-header { padding-bottom: 20px; margin-bottom: 20px; }

/* ハンバーガーボタンのデザイン */
.drawer__button {
	position: relative;
	width: 3rem;
	height: 3rem;
	background-color: transparent;
	border: none;
	cursor: pointer;
	z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
	}
.drawer__button:hover {
background-color: transparent !important;
}
/* ハンバーガーボタン内の線 */

.drawer__button > span {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2rem;
	height: 3px;
	background-color: #003f88;
	transform: translateX(-50%);
	}
.drawer__button > span:first-child {
	transform: translate(-50%, calc(-50% - 0.5rem));
	transition: transform 0.3s ease;
	}
.drawer__button > span:nth-child(2) {
	transform: translate(-50%, -50%);
	transition: opacity 0.3s ease;
	}
.drawer__button > span:last-child {
	transform: translate(-50%, calc(-50% + 0.5rem));
	transition: transform 0.3s ease;
	}
/* 展開時のデザイン */

.drawer__button.active > span:first-child {
	transform: translate(-50%, -50%) rotate(-45deg);
	}
.drawer__button.active > span:nth-child(2) {
	opacity: 0;
	}
.drawer__button.active > span:last-child {
	transform: translate(-50%, -50%) rotate(45deg);
	}
/* メニューのデザイン */

.drawer__nav {
	position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	transition: opacity 0.3s ease;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	}
.drawer__nav.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	}
.drawer__nav__inner {
	position: relative;
	width: 40%;
	height: 100%;
	background-color: white;
	padding: 4rem 1.5rem 1rem;
	margin: 0 0 0 auto;
	overflow: scroll;
	transform: translateX(100%);
	transition: transform 0.3s ease;
	}
@media all and (max-width: 1080px) {
.drawer__nav__inner {
	width: 60%;
}
}
@media all and (max-width: 768px) {
.drawer__nav__inner {
	width: 80%;
}
}
.drawer__nav.active .drawer__nav__inner {
	transform: translateX(0);
	}
.drawer__nav__menu {
	list-style: none;
	padding-left: 0;
	}
.drawer__nav__link {
	display: block;
	font-size: 1.1em;
	font-weight: 500;
	color: #003f88;
	text-decoration: none;
	padding: .7rem .7rem;
	border-bottom: solid 1px lightgray;
	}

body.active { height: 100%; overflow: hidden; } /* ハンバーガーメニュー展開時、背景を固定 */

.drawer__nav__link.navi-nolink { color: #6c6c6c!important; }

/* ----- ヘッダーにSNSアイコンを配置 -------------------- */

.menu-sns-account { margin-top: 30px; }

/*
@media (min-width: 769px) {
	.menu-sns-account { display: none; }
	.header-sns-account { margin-top: 10px; display: block; position: absolute; right: 80px; }
}
@media (max-width: 768px) {
	.header-sns-account { display: none; }
	.menu-sns-account { margin-top: 20px; display: block; }
}
*/

.header-sns-account ul { padding-left:0px; }
.menu-sns-account ul { padding-left:5px; margin-bottom: 10px; }

.header-sns-list,.menu-sns-list { display: flex; list-style:none; margin-top: 0px; margin-bottom: 0px;}
.header-sns-list-item,.menu-sns-list-item { margin-right: 15px;}
.header-sns-list-item .sns-icon {height: 35px; width: 35px;}
.menu-sns-list-item .sns-icon {height: 50px; width: 50px;}
.header-sns-list-item:last-child,.menu-sns-list-item:last-child { margin-right: 0;}
.header-sns-list-item-link,.menu-sns-list-item-link { display: block; }

.header-sns-list-item a img:hover,.menu-sns-list-item a img:hover {
	border:none;
}
.header-sns-list-item a[target="_blank"]::after,.menu-sns-list-item a[target="_blank"]::after {
	content: none;
}

/* ************************************************************
トップMV
************************************************************ */

.top-mv {
	overflow: hidden;
	max-width: 100%;
	height: auto;
	margin-inline: auto;
	margin-bottom: 60px!important;
	padding-bottom: 45px;
	padding-left: 0px;
	margin-top:0px;
	line-height: 0px;
	list-style: none;
	margin: 0;
	padding: 0;
	touch-action: pan-y;
	-webkit-overflow-scrolling: touch;
	}
.top-mv li {
	overflow: hidden;
}
@media all and (max-width: 768px) {
	.top-mv { padding-left: 0px; padding-bottom: 40px; }
	}

.top-mv__img { margin:0 auto; width: 100%; }
.top-mv .slick-dots { bottom: 0; }
.top-mv .slick-dots li {
	position: relative;
	width: 15px;
	height: 15px;
	margin: 0 8px;
	}
.top-mv .slick-dots button {
	width: 15px;
	height: 15px;
	padding: 0;
	background: #b6b6b6;
	}
.top-mv .slick-active button { background: #ffc000 !important; }

/* ----- slickスライダー -------------------- */

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
	}

.slick-slider * { outline: none; }
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
	margin-bottom: 40px;
	}
@media all and (max-width: 768px) {
.slick-list {
	margin-bottom: 10px;
	}
}
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track,.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
	}

.slick-track:before,
.slick-track:after {
	display: table;
	content: "";
	}

.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }

.slick-slide { display: none; float: left; width:100%; 	min-height: 1px; 
	-webkit-backface-visibility: hidden; -webkit-transform-style: preserve-3d; /* スライド時のチラつき対応 */
	}
[dir=rtl] .slick-slide { float: right; }
.slick-slide img { display: block; width:100%; height: auto; image-rendering: auto; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }
.slick-dotted.slick-slider { margin-bottom: 60px; }

/* 前後の矢印 */

.slick-prev,.slick-next {
	position: absolute;
	display: block;
	height: 50px;
	width: 50px;
	line-height: 0px;
	font-size: 0px;
	cursor: pointer;
	background: transparent;
	color: transparent;
	top: 50%;
	transform: translate(0, -50%);
	padding: 0;
	border: none;
	outline: none;
	}

.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus {
	outline: none;
	background: transparent;
	color: transparent;
	}

.slick-prev { left: -20px; }
.slick-next { right: -20px; }

.slick-dots {
	position: absolute;
	bottom: -20px;
	list-style: none;
	display: block;
	text-align: center;
	padding: 0;
	margin: 0;
	width: 100%;
	}

.slick-dots li {
	position: relative;
	display: inline-block;
	height: 10px;
	width: 10px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
	}

.slick-dots li button {
	border: 0;
	background: red;
	display: block;
	height: 10px;
	width: 10px;
	outline: none;
	line-height: 0px;
	font-size: 0px;
	padding: 5px;
	border-radius: 50%!important;
	cursor: pointer;
	}

.slick-dots li button:focus,.slick-dots li button:hover { outline: none; }
.slick-dots li.slick-active button { background: blue; }

/* ************************************************************
フッター
************************************************************ */

footer { padding-top: 20px;}

.footer-navi .menu-sns-account { display: none; } 

.footer-nav-area {
  padding-top: 20px;
  background: #eee;
}

.footer-elements { display: flex; justify-content: space-between; padding-bottom: 20px; }
.header-party-logo-tagline { display:block; text-align:right; }
.header-party-logo-tagline img { width: 160px; }
@media all and (max-width: 768px) {
	.footer-elements { display: block; padding-bottom: 5px; }
	.header-party-logo-tagline { display:block; text-align:center;  padding-bottom: 20px; }
	.header-party-logo-tagline img { width: 120px; margin-top:40px;}
	}

.sns-account-footer .module-sns-account { padding-top: 0px; padding-bottom: 20px; }

.footer-navi { 
	list-style: none; padding-left: 0px; margin: 0px; 
	column-count: 2;
	width: fit-content;
	column-gap: 1em;
	}
@media all and (max-width: 768px) {
	.footer-navi { 
	column-count: 1;
	}
	}
.footer-navi .drawer__nav__link {
	display: block;
	font-size: 1em;
	color: #003f88;
	text-decoration: none;
	padding: 0em;
	border-bottom: 0px;
	margin-bottom: .25em;
	letter-spacing: 0em;
	}

.footer-copy { font-size:.8em; text-align:left; padding-top: 10px; padding-bottom:30px; }

/* ************************************************************
404、サンキュー
************************************************************ */

.usagi { display: flex; justify-content: center; }
.thankyou-usagi { padding-left: 1em; padding-bottom: 1em; height:200px; }
.notfound-usagi { padding-left: 1em; padding-bottom: 1em; height:190px; }
.thankyou p, .not-found p { margin: 0em; text-align:justify; }
.only404 { padding-bottom: 80px; }

/* ************************************************************
 検索ボックス
************************************************************ */

.searchform {
	display: flex;
}
.searchfield {
	width: 100%;
	padding:0 15px;/*プレースホルダーの位置調整*/
	background: #eeeeee;/
	border: 1px solid #003f88!important;
	outline:0;/*クリック時の青い枠線消す*/
}

.searchform input[type="text"] { 
	border: 1px solid #003f88 !important; 
	padding: .6em;
	width: calc(100% - 50px);
	font-size: 1em;
}
@media all and (max-width: 768px) {
.searchform input[type="text"] { 
	padding: .3em;
	width: calc(100% - 40px);
	font-size: .95em;
	margin-top: 4px;
	margin-bottom: 10px;
}
}

.searchsubmit {
	width: 50px;
	background :#ffffff;
	border:none;
	color: #003f88;
	border: solid #003f88 ;
	border-width: 1px 1px 1px 0;
	font-size: 1em;
	cursor: pointer;
	padding: .2em;
	margin-top: 5px;
	margin-bottom: 5px;
}
@media all and (max-width: 768px) {
.searchsubmit {
	width: 40px;
	padding: .4em;
	margin-top: 4px;
	margin-bottom: 10px;
}
}

.searchsubmit:hover {
	background: #003f88;/*背景カラー変更*/
}
.footer-element-left .searchbox { display:none; }
.searchbox { 
	
}
.serach-result-list {
  padding-left: 0em;
  margin-left: 1.3em;
}
.serach-result-list li::before {
  content: "●";
  color: #ffc000;
  margin-right: .3em;
}
.serach-result-list li {
  font-size: 1em;
  text-indent: -1.3em;
}

/* ************************************************************
オリジナルカラーパレット
************************************************************ */

.has-dpfp-blue-color { color: #003f88; }
.has-dpfp-blue-background-color { background-color: #003f88; }
.has-dpfp-blue-border-color { border-color: #003f88; }

.has-dpfp-yellow-color { color: #ffc000; }
.has-dpfp-yellow-background-color { background-color: #ffc000; }
.has-dpfp-yellow-border-color { border-color: #ffc000; }

.has-yellow-color { color: #fbee31; }
.has-yellow-background-color { background-color: #fbee31; }
.has-yellow-border-color { border-color: #fbee31; }

.has-red-color { color: #cb171d; }
.has-red-background-color { background-color: #cb171d; }
.has-red-border-color { border-color: #cb171d; }

.has-white-color { color: #ffffff; }
.has-white-background-color { background-color: #ffffff; }
.has-white-border-color { border-color: #ffffff; }

.has-black-color { color: #000000; }
.has-black-background-color { background-color: #000000; }
.has-black-border-color { border-color: #000000; }

.has-light-gray-color { color: #eeeeee; }
.has-light-gray-background-color { background-color: #eeeeee; }
.has-light-gray-border-color { border-color: #eeeeee; }

/* ==========================================================================
   2. CUSTOM STYLES (custom.css の内容)
   ========================================================================== */

/* ********** ヘッダー/メニュー ****************************** */

.header { background: #fff; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); }
.header .header-ttl-big { font-size: 2.8rem; font-weight: 900; color: #003f88; }
.drawer__nav__menu { padding-left: 0; margin-top: 10px; }
.drawer__nav__menu .drawer__nav__item:first-child { border-top: 1px solid lightgray; }
@media (max-width: 768px) {
	.header .header-ttl-big { font-size: 2.1rem; }
	.drawer__nav__menu { padding-left: 0; margin-top: 5px; }
	/* メニュー本体の基本設定（アニメーションの挙動はパート3で上書き制御します） */
	.drawer__nav__inner { position: relative; width: 80%; height: 100%; background-color: white;
		padding: 3.5rem 1.5rem 1rem; margin: 0 0 0 auto; overflow: scroll; transform: translateX(100%);
		transition: transform 0.3s ease; }
	}

/* ********** フッター ****************************** */

.footer-nav-area { background: #eee; }
.footer-credit { background: #ffc000!important; color: #000!important; }
.footer-element-left p { line-height: 1.4em; }
.pagetop img { width: 45px; height: 45px; filter: drop-shadow(0px 0px 3px rgba(0, 0, 0, 0.3));
	margin-right: 0px; margin-bottom: 45px; border-radius: 0%; }
@media (max-width: 768px) {
	/* ここでのdisplay:flex指定はパート3で修正（上書き）されます */
	.footer-elements { display: flex; padding-bottom: 20px; }
	.header-party-logo-tagline img { margin-top: 0; }
	}

/* ********** MVが一枚固定の場合 ****************************** */

.slick-dots { display: none; }
.top-mv { padding-bottom: 0px!important; margin-bottom: 60px !important; }
.slick-list { margin-bottom: 0; }
.slick-dotted.slick-slider { margin-bottom: 0 !important; }
@media (max-width: 600px) {
	.top-mv { margin-bottom: 30px !important; }
	}

/* ********** スマホでのMV画像読み込み時の修正 ****************************** */

@media (max-width: 600px) {
	.top-mv li { aspect-ratio: 1000 / 1550; width: 100%; position: relative; }
	.top-mv__img,.top-mv picture,.slick-slider-container { width: 100%; height: 100%; object-fit: cover; display: block; }
	}

/* ********** ニュースリスト ****************************** */

.top-newslist { padding-bottom: 50px; }
.update-list { padding: 0; margin-top: 60px; margin-bottom: 0; }
@media (max-width: 768px) {
	.update-list { margin-top: 20px; margin-bottom: 0; }
	}

.update-list-wrap { margin-bottom: 0; }

/* ********** その他の調整 ****************************** */

.bold { font-weight: 500; }
.justify { text-align: justify; }
.dpfp-blue { color: #003f88; }
.wrapper { width: 95%; }
.card-img { width: auto; }
a img { transition: opacity 0.2s ease; }
a img:hover { opacity: 0.7; }
a.no-hover img:hover { opacity: 1; }
.marker2 { background:linear-gradient(transparent 70%, #fef84c 30%); display: inline; padding: 0; }
.item1 { width: 6em; }
.item2 { width: 9em; }
.label-blog, .label-news, .label-plog, .label-press { display: inline; padding: 0em .2em .1em .2em; }
.label-blog { color: #000; background: #ffc000; }
.label-press { color: #fff; background: #003f88; white-space: nowrap; }
.label-news { color: #fff; background: #e8810f; }

/* ------ SNS関係の調整 ----- */

.wrapper-sns-account { background: #ffc000; width: 100%; max-width: 100%; }
.sns-account { padding-top: 0px; }

.menu-sns-account .sns-list { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; 
	padding: 0; padding-left: 0px; margin: 0; margin-bottom: 0px; justify-content: left; }
.menu-sns-account .sns-list-item { margin-right: 5px; }
.menu-sns-account .sns-icon { height: 50px; width: 50px; }

@media screen and (max-width: 600px) {
	.sns-list-item { margin-right: 10px; }
	}
@media screen and (max-width: 768px) { 
  .sns-icon,.menu-sns-account .sns-icon { height: 45px; width: 45px; }
	} 
.sns-txt { font-size: 1.2em; margin-bottom: 20px; color: #003f88; }
.sns-in-profile { margin-top: 60px; }
.sns-in-profile .module-sns-account { padding-bottom: 0; }

.prof-sns { display: flex; flex-direction: column; justify-content: flex-end; }
.prof-sns .sns-list { display: flex; justify-content: center;; list-style: none; 
	margin-top: 2em; margin-bottom: 0; padding-left: 0; }
.prof-sns .sns-list-item { margin-right: 15px; }
.prof-sns .sns-icon { height: 50px; width: 50px; }
@media screen and (max-width: 768px) { 
	.prof-sns .sns-list { justify-content: center; margin-top: 1.5em; }
	.prof-sns .sns-list-item { margin-right: 10px; }
	.prof-sns .sns-icon { height: 40px; width: 40px; }
	}

/* ------ トップのセクションタイトル ------ */

.top-section-title { font-size: 2em; color: #003f88; text-decoration: underline; text-decoration-color: #ffc000; 
	text-underline-offset: .3em; text-decoration-thickness: 6px; }
@media screen and (max-width: 768px) {
  .top-section-title { font-size: 1.6em; }
  .top-section-title.top-section-title-noexp { margin-bottom: 100px; }
	}

/* ********** 共通要素 ****************************** */

/* ------ キャッチフレーズなど ------ */

.catchphrase { font-size: 2.2em!important; font-weight: 900 !important; text-align: center !important; 
	line-height: 1.6em; margin-bottom: 55px; }
.catchphrase-big { font-size: 3em!important; font-weight: 900 !important; text-align: center !important; 
	line-height: 1.4em; margin-bottom: 55px; }
.subtitle { font-weight:900 !important; font-size:1.6em !important; text-align:center !important; line-height:1.6em;
	margin-top: 0; }
@media screen and (max-width: 768px) {
	.catchphrase { font-size: 1.6em!important; line-height: 1.4em!important; 
	margin-top:5px; margin-bottom: 25px; }
	.catchphrase-big { font-size: 2em!important; font-weight: 900 !important; 
	text-align: center !important; line-height: 1.2em; margin-bottom: 55px; padding-left: .3em; }
	.subtitle { font-size:1.2em !important; margin-top:10px;}
	}

/* ------ もっと見るボタン ------ */

.read-more a:hover, .return-toppage a:hover,.wp-block-button a:hover,.page-index-btn a:hover,.page-index-btn2 a:hover { 
	background: #003f88; color: #ffffff; border-color: #003f88; text-decoration: none; }

/* ------ タイトル関係 ----- */

.entry-header h1, .archive-header h1, .archive-header-no-exp h1, .has-x-large-font-size {
	font-size: 2.4em!important; line-height: 1.3em; font-weight: 700; text-align: center; letter-spacing: .1em; }
@media (max-width: 600px) {
	.entry-header h1, .archive-header h1, .archive-header-no-exp h1, .has-x-large-font-size { font-size: 1.6em!important; }
	}
@media (max-width: 768px) {
	.entry-header, .archive-header, .archive-header-no-exp { padding-top: 20px; }
	.entry-header, .archive-header, .post-date { margin-bottom: 0px; }
	}

/* ------ モジュールの上下間隔 ----- */

.module-blog-multi { padding-top: 60px; padding-bottom: 30px; }
.module-blog { padding-top: 60px; padding-bottom: 30px; }
.module-plog { padding-top: 60px; padding-bottom: 30px; }
.module-members { padding-top: 60px; padding-bottom: 30px; }

.module-sns-account { padding-top: 40px; padding-bottom: 40px; }

.module-banner { padding-top: 60px; padding-bottom: 30px; }

.module-message { padding-top: 60px; padding-bottom: 0px; }
.module-profile { padding-top: 60px; padding-bottom: 0px; }
.module-policy { padding-top: 60px; padding-bottom: 0px; }
.module-vonnector { padding-top: 60px; padding-bottom: 0px; }
.module-feed-youtube { padding-top: 60px; padding-bottom: 0px; }
.module-feed-dpfp { padding-top: 60px; padding-bottom: 0px; }
.module-contact { padding-top: 60px; padding-bottom: 0px; }
.module-office { padding-top: 60px; padding-bottom: 0px; }

@media screen and (max-width: 768px) {
	.module-sns-account { padding-top: 20px; padding-bottom: 20px; }
	}

/* ------ ベーシックなリストのスタイル ----- */

.list-def { list-style: none; margin-top: 0px; margin-bottom:0px; }
.list-def li::before { content: "●"; color: #ffc000; margin-right: .3em; }
.list-def li { text-indent: -1.3em; margin-left: -1em; text-align: justify; }
.list-def2 { list-style: none; margin-top: 0px; margin-bottom:0px; }
.list-def2 li::before { content: "●"; color: #ffc000; margin-right: .3em; }
.list-def2 li { text-indent: -1.3em; margin-left: -1em; text-align: justify; }
@media screen and (max-width: 768px) {
	.list-def { list-style: none; padding-left: 0; }
	.list-def li::before { content: "●"; color: #ffc000; margin-right: .3em; }
	.list-def li { text-indent: -1.2em; margin-left: 1.2em; text-align: justify; }
	.list-def2 { list-style: none; padding-left: 0; }
	.list-def2 li::before { content: "●"; color: #ffc000; margin-right: .3em; }
	.list-def2 li { text-indent: -1.2em; margin-left: 1.2em; text-align: justify; }
	}

/* ********** メッセージ ****************************** */

.message-body { background: #f2f2f2; border: none; border-radius: 0;
	padding-left: 4em; padding-right: 4em; padding-top: 1em; padding-bottom: 3em; }
.message-body .video { margin-top: 3em; }
.message-body p { font-weight: 500; text-align:justify; }
@media screen and (max-width: 768px) {
	.message-body { padding-left: 1em; padding-right: 1em; padding-bottom: 2em; }
	.message-body .video { margin-top: 1em; }
	}

/* ********** プロフィール ****************************** */

.prof-body {
	background: #f2f2f2; border: none; border-radius: 0;
	padding-left: 4em; padding-right: 4em; padding-top: 4em; padding-bottom: 4em; }
@media screen and (max-width: 768px) {
	.prof-body { padding-left: 1em; padding-right: 1em; padding-top: 1em; padding-bottom: 1.5em; }
	}

.prof-intoro { border-bottom: 3px solid #003f88; padding-bottom:.5em; margin-bottom: 2em; text-align: justify; }

.prof-name { font-size: 2em; font-weight: 900 !important; margin-top: 0em; margin-bottom: 5px !important; }
.prof-name-kana { font-size: .9em; letter-spacing: .2em; text-align: left; margin-bottom: 1em; }
@media (max-width: 768px) {
.prof-name { font-size: 1.8em; text-align: center; }
.prof-name-kana { text-align: center; }
}

/* ---- 画像とテキストのコンテナ -------------------- */

.media-container {
  display: flex;
  flex-direction: row;
  align-items: stretch; /* 右のテキストに合わせて高さを伸ばす */
  gap: 40px;
}

/* 画像エリア：幅を固定（例として300px） */
.image-area {
  display: flex;
  flex-direction: column;
  width: 35%; /* ★ここを希望の固定幅に変更してください */
  flex-shrink: 0; /* 幅が圧縮されないように固定 */
}

.text-area {
  flex-grow: 1; /* 残りの幅をすべて使う */
}

/* 画像自体の設定 */
.image-area img {
  width: 100%;        /* 親(300px)に対して100% */
  height: 100%;       /* テキストエリアの高さまで伸ばす */
  min-height: 300px;  /* ★固定幅と同じ数値を指定することで、最低でも正方形を維持 */
  object-fit: cover;  /* 縦長になっても画像が歪まないようにする */
  vertical-align: bottom;
}

/* スマホ対応 */
@media (max-width: 768px) {
  .media-container {
    flex-direction: column; gap:1em;
  }
  .image-area {
    width: 100%;      /* スマホでは横幅いっぱいに */
  }
  .image-area img {
    height: auto;     /* 高さを内容に合わせる */
    min-height: 0;    /* 下限を解除 */
    aspect-ratio: 1/1; /* スマホで正方形にしたい場合はこれ */
  }
}

/* 

.media-container { display: flex; flex-direction: row; align-items: flex-start; gap: 20px; }
.media-container p { margin-bottom: 1em; }
.image-area { display: flex; flex-direction: column; gap: 10px; width: 25%; flex-shrink: 0; }
.text-area { width: 75%; flex-grow: 1; }
.prof-content-main .image-area { display: flex; flex-direction: column; gap: 10px; width: 35%; flex-shrink: 0; }
.prof-content-main .text-area { width: 65%; flex-grow: 1; }
.image-area img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; vertical-align: bottom; }
.image-area:empty { display: none; }
@media (max-width: 768px) {
.media-container { flex-direction: column; }
.prof-content-main .image-area,.image-area { width: 100%; }
.prof-content-main .text-area,.text-area { width: 100%; }
}

 */

/* ---- 経歴のアコーディオン -------------------- */

.accordion__list_prof .qah2-2 {
	font-size: 1.2em; font-weight: 700; text-align: left; padding-left: .3em; padding-right: 2em; 
	margin-top: 0em !important; margin-bottom: .5em; color: #003f88; }
.accordion__list_prof .accordion__head { border-top: 3px solid #003f88; }
.accordion__list_prof .accordion__head::after { 
	font-family: "FontAwesome"; content: "\f107"; position: absolute; top: 12px; right: 10px; font-size: 1.4em!important;;
	color: #003f88; }
.accordion__list_prof .accordion__item.active .accordion__head::after { 
	font-family: "FontAwesome"; content: "\f106"; right: 10px; font-size: 1.4em; }
.accordion__list_prof .accordion__item-last { border-bottom: 3px solid #003f88;!important; }
.accordion__list_prof .accordion__body p { font-size: 1em; line-height: 1.4em; margin-top: 0; }
.accordion__list_prof .accordion__item.active .accordion__body { padding-left: .5em; }
.accordion__list_prof .accordion__body .card-container { display: flex; flex-wrap: wrap; justify-content: left; 
	padding-left: 0px; margin-bottom: 0px; }
.accordion__list_prof .accordion__body .card-container .card-img { width: 30%; }
.accordion__list_prof .accordion__body .card-container .card-text { width: 67%; margin-left: 1em; text-align: justify; }
.accordion__list_prof .accordion__body .card-container .card-img img { width: 100%; height: auto!important; 
	aspect-ratio: 1/1; }

@media (max-width: 768px) {
.accordion__list_prof { margin-top: 1em; margin-bottom: 0; padding-top: 0; }
.accordion__list_prof .qah2-2 { font-size: 1em; font-weight: 700; color: #003f88;
	text-align: left; padding-left: .3em; padding-right: 2em; margin-top: 0em !important; margin-bottom: .5em; }
.accordion__list_prof .accordion__head::after { position: absolute; font-family: "FontAwesome"; content: "\f107"; 
	top: 11px; right: 10px; font-size: 1em!important;; color: #003f88; }
.accordion__list_prof .accordion__item.active .accordion__head::after { font-family: "FontAwesome"; content: "\f106"; 
	top: 11px; right: 10px; font-size: 1em!important;; color: #003f88; }
.accordion__list_prof .accordion__body { margin-bottom: 0 !important; }
.accordion__list_prof .accordion__body .card-container { display: block; }
.accordion__list_prof .accordion__body .card-container .card-img { width: 100%; }
.accordion__list_prof .accordion__body .card-container .card-img img { margin-bottom: 1em; }
.accordion__list_prof .accordion__body .card-container .card-text { width: 100%; margin-left: 0; text-align: justify; }
}

/* ********** 政策 ****************************** */

.policy-body { background: #f2f2f2; border: none; border-radius: 0; 
	padding-left: 4em; padding-right: 4em; padding-top: 1em; padding-bottom: 4em; }
.policy-module .accordion__head { border-top: 3px solid #ffc000; padding-bottom: 1em; }
.policy-module .accordion__head::after { font-family: "FontAwesome"; content: "\f13a"; position: absolute; 
	top: 25px; right: 10px; font-size: 1.6em; color: #003f88; }
.policy-module .accordion__item.active .accordion__head::after { font-family: "FontAwesome"; content: "\f139"; 
	right: 10px; font-size: 1.5em; }
.policy-module .accordion__item.active .accordion__head::after { color: #ffc000; }

.policy-module .accordion__item.active .accordion__body { height: auto; padding: 0; padding-bottom: 0; }
.policy-module .qah2-2 { font-size: 1.6em; font-weight: 900; text-align: left; 
	padding-left: .3em; padding-right: 2em; margin-top: 0.3em !important; margin-bottom: 0em; line-height: 1.4em; }

.policy-module .accordion__body_subtitle { padding-top: 1em; font-weight: 500; font-size: 1.6em !important; }
.policy-module .accordion__body_lead { margin-top: 0 !important; margin-bottom: 2em !important; }
.policy-module .accordion__body p { font-size: 1.2em; line-height: 1.5em; margin-top: 1em; margin-bottom: 1em; }

.policy-module .accordion__list { padding-top: 0; }
.policy-module .accordion__list li:last-child { border: none; }
.policy-module .accordion__list .last-item { border-bottom: 3px solid #ffc000 !important; }

.policy-module .policylist-subtitle { font-weight:900; font-size:1.5em; }
.policy-module .policylist-subtitle::before { content: none !important; }

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

.policy-module .accordion__head { padding-bottom: .5em; }
.policy-body { padding-left: 1em; padding-right: 1em; padding-bottom: 1.5em; }
.policy-module .qah2-2 { font-size: 1.2em; line-height: 1.3em; 
	padding-left: .1em; padding-right: 2em; margin-top: 0em !important; margin-bottom: 0; }
.policy-module .accordion__head::after { font-family: "FontAwesome"; content: "\f13a"; position: absolute; 
	font-size: 1.3em; top: 11px; right: 10px; font-size: 1.6em; color: #003f88; }
.policy-body .accordion__item.active .accordion__body { padding: .5em 0 0 .5em; }
.policy-module .accordion__body ul { list-style: none; padding-bottom: 1em; 
	padding-left: .5em; padding-right: 0; margin-top: 0; }
.policy-module .accordion__body ul li { font-size: 1.2em; font-weight: 900; margin-bottom: .5em; text-indent: 0;
	padding-left: 0;}
.policy-module .accordion__body ul ul li { font-size: 1em; font-weight: normal; margin-bottom: 0; text-indent: -1.2em;
	padding-left: 1.2em; }
	
}

/* ------ 政策リスト5本柱 ----- */

.policy1txt { color: #3091d0; }
.policy2txt { color: #52a57d; }
.policy3txt { color: #d55e7d; }
.policy4txt { color: #e0823a; }
.policy5txt { color: #2861a3; }
.policy1 ul li::before { content: "●"; color: #3091d0; margin-right: .2em; }
.policy2 ul li::before { content: "●"; color: #52a57d; margin-right: .2em; }
.policy3 ul li::before { content: "●"; color: #d55e7d; margin-right: .2em; }
.policy4 ul li { color: #000; }
.policy4 ul li::before { content: "●"; color: #e0823a; margin-right: .2em; }
.policy5 ul li { color: #000; }
.policy5 ul li::before { content: "●"; color: #2861a3; margin-right: .2em; }

.accordion__body ul ul li { font-size: 1em; font-weight: normal; line-height:1.6em;}

.bigBanner { margin-top: 70px; }
@media (max-width: 768px){
.bigBanner { margin-top: 30px; }
}

/* ------ 政策リスト個人の重点政策 ----- */

.module-policy { padding-bottom: 0px; }
.module-policy2 { padding-top: 25px; }
.module-policy2 .accordion__body p { padding-left: 1em; margin-top: 0; font-size: 1.1em; font-weight: 500; }
.module-policy2 .policylist-subtitle { color:#003f88; }
@media (max-width: 768px){
	.module-policy2 .accordion__body p { padding-left: 0; }
	.module-policy2 .policylist-subtitle { color:#003f88; }
}

/* ********** 動画 ****************************** */

.youtube-mov .footer-elements {  }
.youtube-mov .footer-element-left, .youtube-mov .footer-element-right { width: 50%; }
.youtube-mov .footer-element-left { margin-right: 10px; } 
.youtube-mov .footer-element-right { margin-left: 10px; }

.mov-caption { font-size: 1em; font-weight: 400;}

@media (max-width: 768px){
.youtube-mov .footer-elements { display: block; }
.youtube-mov .footer-element-left, .youtube-mov .footer-element-right { width: 100%; margin: 0; }
	.youtube-mov .footer-element-left { margin-bottom: 40px; }
}

/* ********** フォーム関係 ****************************** */

.simplebar-content-wrapper { background: #fff!important; }

.box-atenntion { margin-bottom: 10px; }
.box-atenntion-content { padding: 50px; border: none !important; background: #f2f2f2; }
.input-label-bold { font-size: 1.1em !important; font-weight: 500; background: none !important; }
input[type="submit"] { font-size: 1.4em!important; }
@media (max-width: 768px) {
.box-atenntion-content { padding: 10px; }
input[type="submit"] { font-size: 1.2em!important; }
}

.contact-accordion .accordion__item { border: 2px solid #003f88;  border-radius: 5px; margin-bottom: 0; }
.contact-accordion .accordion__head { border: none; padding-bottom: 5px; }
.contact-accordion .accordion__item .accordion__head::after { font-family: "FontAwesome"; content: "\f107"; }
.contact-accordion .accordion__item.active .accordion__head::after { font-family: "FontAwesome"; content: "\f106"; }
.contact-accordion .accordion__item .accordion__head::after, .contact-accordion .accordion__item.active .accordion__head::after { position: absolute; top: 25px; right: 20px; font-size: 1.6em; color: #003f88; }
.contact-accordion .qah2-2 { font-size: 1.5em; color: #003f88; font-weight: 700; margin-bottom: 20px; padding-left: 30px; }
.contact-accordion .accordion__body { padding: 0 32px 0 32px !important; }

@media screen and (max-width: 600px) { 
.contact-accordion .accordion__head { padding-top: 5px; }
.contact-accordion .qah2-2 { font-size: 1.2em; color: #003f88; font-weight: 700; 
	margin-bottom: 5px !important; padding-left: 15px; margin-top: 5px !important; }
.contact-accordion .accordion__item .accordion__head::after,.contact-accordion .accordion__item.active .accordion__head::after
	{ top: 12px; right: 15px; font-size: 1.2em; color: #003f88; }
.contact-accordion .accordion__body { padding: 0 20px 0 20px !important; }
}

legend { font-size: inherit; line-height: inherit; }

.button:hover, button:hover, input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover {
  color: #003f88;
  background-color: #003f88!important;
  border-color: #003f88!important;
  cursor: hand;
  cursor: pointer;
}

/* ********** ミニギャラリー ****************************** */

.photo-container { display: flex; flex-wrap: wrap; justify-content: center; list-style:none; 
	padding-left: 0px; margin-top: 60px; margin-bottom: 0px; }
.photo-card-container { width: 24%; padding-bottom: 0; }

.photo-container li { margin-right: 1.2%; }
.photo-container li:first-child { margin-right: 1.2%; }
.photo-container li:last-child { margin-right: 0px;}
.photo-card-container img { width: 100%; border: 1px solid #d3d3d3; object-fit:cover; aspect-ratio: 1/1; }
@media screen and (max-width: 1120px) {
  .photo-card-container { width: 24%; }
  }
@media screen and (max-width: 768px) {
  .photo-container { margin-top: 30px; }
  .photo-card-container { width: 48%; padding-bottom: 6px;}
  .photo-container li { margin-right: 2%; }
  .photo-container li:first-child { margin-right: 2%; }
  .photo-container li:last-child { margin-right:0px;}
  .photo-container li:nth-child(2) { margin-left: 2%; margin-right:0px; }
  .photo-container li:nth-child(4) { margin-left: 2%; margin-right:0px; }
  }

.image-thumbnail {
  cursor: pointer;
}
.image-wrapper {
  position: relative;
}
/* ライトボックス */
.lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease; /* ここでふわっと */
}

/* ライトボックスがアクティブのとき */
.lightbox.active {
  opacity: 1;
  pointer-events: auto;
}

/* 中の画像 */
.lightbox-content {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* 画像のアニメーション */
.lightbox-content img {
  max-width: 90%;
  max-height: 80%;
  transform: scale(0.8); /* 初期サイズ */
  transition: transform 0.3s ease;
}

/* ライトボックスがアクティブのとき、ズームイン */
.lightbox.active .lightbox-content img {
  transform: scale(1.0); /* 拡大アニメーション */
}

/* 初期状態で非表示 */
.close-button {
  display: none;
  position: absolute; /* fixedじゃなくabsoluteに戻す */
  top: calc(100% + 10px); /* 画像の下に5px離す */
  left: 50%;
  transform: translateX(-50%);
  font-size: 32px;
  color: white;
  background: #003f88;
  padding: 5px;
  cursor: pointer;
  user-select: none;
  z-index: 10000;
}

/* ライトボックスがアクティブになったときに表示 */
.lightbox.active .close-button {
  display: block;
}

/* 虫眼鏡 */
.mushimegane {
  position: absolute;
  bottom: 9px;
  right: 0;
  background: #003f88;
  width: 30px;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.fa-solid.fa-magnifying-glass {

  font-size: .9em;
  color: #ffffff;
  background: #003f88;
  padding: 3px;
}

/* ********** 国民民主党PRESS号外 ****************************** */

.press-link { display: flex; gap: 20px; }

.press-col a img:hover, .press-images a img:hover { text-decoration: none; border: none; }
.press-body {
  background: #f2f2f2;
  border: none;
  border-radius: 0;
  padding-left: 4em;
  padding-right: 4em;
  padding-top: 1em;
  padding-bottom: 4em;
}
.module-press { padding-top: 100px; padding-bottom: 0px; }
.press-col a[target="_blank"]::after { content: none; }
.press-title { text-align:center; margin-top: 0; }
.press-images { display: flex; gap: 20px; }
.press-col { flex: 1; }
.press-col img { width: 100%; height: auto; display: block; }
.bigBanner a[target="_blank"]::after { content: none; }

@media (max-width: 768px) {
.module-press  { padding-top: 50px; padding-bottom: 20px; }
.press-body { padding-left: 1em; padding-right: 1em; padding-bottom: 1em; }
.press-images { display: flex; gap: 5px; }
/* .press-col--right { display: none; } */
}

/* ********** 一覧系グリッド（PCで2カラム） ****************************** */

/* ----- グリッド -------------------- */

.grid-container { 
	display:grid; grid-template-columns: 49% 49%; /* grid-template-rows:150px 150px; */ padding-left: 0px;
	margin-top: 0px; column-gap:2%; }
.grid-container li { display:flex; padding-top: 30px; padding-bottom: 30px; border-top: 1px solid #ccc; }
.module-blog .grid-container li, .module-feed-youtube .grid-container li, .module-feed-dpfp .grid-container li {
	display:flex; padding-top: 0px; padding-bottom: 30px; border-top: none; }
.grid-container li:nth-last-of-type(2), .grid-container li:last-child { border-bottom: 1px solid #ccc; }
.module-blog .grid-container li:nth-last-of-type(2), .module-blog .grid-container li:last-child,
.module-feed-youtube .grid-container li:nth-last-of-type(2), .module-feed-youtube .grid-container li:last-child,
.module-feed-dpfp .grid-container li:nth-last-of-type(2), .module-feed-dpfp .grid-container li:last-child
{ border-bottom: none; }

@media (max-width: 768px){
	.grid-container { display: block; }
	.grid-container li { padding-top: 15px; padding-bottom: 15px; }
	.grid-container li:nth-last-of-type(2) { border-bottom: none; }
}

.card-img img { width: 260px; float: left; object-fit: cover; border: 1px solid #d3d3d3; aspect-ratio: 1/1;  }
.feed-eyecatch-youtube,.feed-eyecatch-senkyo,.feed-eyecatch-blog,.feed-eyecatch-dpfp { height: 145px!important; }
.archive-thumb img { width: 200px; height:200px; object-fit: cover; border: 1px solid #d3d3d3; }
.card-text{ width:100%; margin-left: 15px; }
.feed-post-title, .entry__ttl { font-size:1em; line-height:1.4em; margin-top:0em; }
.newslist-date, .newslist-title { font-size:1em; line-height:1.4em; margin-top:0em; }
.feed-post-title, .entry__ttl { font-weight:400; margin-bottom:.2em; }
.newslist-date { font-weight: 400; }
.newslist-title { font-weight: 700; }
.feed-post-date,.feed-blog-meta,.archive-meta { font-size:.9em; line-height: 1.5em; margin-top:.5em; margin-bottom:0em; }
.feed-blog-meta { text-indent: 0em; margin-left: 0em; }

@media (max-width: 1024px){
	.card-img img { width: 100px; height: 100px; }
	}

@media (max-width: 768px){
	.module-blog .grid-container li,.module-feed-youtube .grid-container li,.module-feed-dpfp .grid-container li {
 	padding-bottom: 20px; }
	.card-img img,.archive-thumb img { width: 100px; height: 100px!important; }
	.feed-eyecatch.feed-eyecatch-youtube { /* object-fit: contain !important; */ background: #000; }
	.card-text{ margin-left: 10px; }
	.feed-post-title, .entry__ttl { font-size: 1em; line-height: 1.3em; margin-bottom: 0; }
	.newslist-date, .newslist-title { margin-bottom: .25em; }
	.newslist-date { letter-spacing: -.05em; }
	.feed-post-date,.feed-blog-meta { font-size: .9em; line-height: 1.4em!important; }
	.feed-blog-meta { margin-left: 0em; }
	.archive-meta { font-size: .85em; line-height: 1.3em!important; }
	.archive-entry-cat { margin-top: .3em; }
}

/* ----- 広報紙用設定 -------------------- */

.card-img-press img { width: 150px; height: 212.14px; object-fit: fill; }
.press-txt { margin-top: 1em; }
@media all and (max-width: 768px) {
	.card-img-press img { width: 100px; height: 141.43px!important; object-fit: fill!important; }
	.press-txt { font-size:.9em; line-height:1.4em; }
	}

/* ==========================================================================
   3. FINAL FIXES (最終調整: メニュー, ボタン, フッター)
   ※ここに記述することで、既存スタイルを確実に上書きします
   ========================================================================== */

/* --------------------------------------------------
   A. ハンバーガーメニューのアニメーション (Drawer Fix)
   -------------------------------------------------- */

/* 1. 外側の黒い幕 (フェード担当) */
.drawer__nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    
    /* 初期状態: 閉じた時 */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    /* ★開閉アニメーション (フェード) */
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

/* 2. 中の白いメニュー (スライド担当) */
.drawer__nav__inner {
    /* 閉じた時の位置 (画面右外) */
    transform: translateX(100%);
    
    /* ★開閉アニメーション (スライド) */
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* 3. 開いた状態 (.active) */
.drawer__nav.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* 開いた時にメニューを画面内に戻す */
.drawer__nav.active .drawer__nav__inner {
    transform: translateX(0);
}

/* --------------------------------------------------
   B. ハンバーガーボタン (Z-Index Fix)
   -------------------------------------------------- */
.drawer__button {
    /* メニュー背景(z-index:1000)より手前に出す */
    z-index: 1001 !important;
}

/* --------------------------------------------------
   C. フッターのレイアウト崩れ (Footer Fix)
   -------------------------------------------------- */
@media (max-width: 768px) {
    /* 強制的に縦並びに戻す */
    .footer-elements {
        display: block !important;
        padding-bottom: 20px;
    }
}
