/* ************************************************************
全体
************************************************************ */

.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.1em;
	/* letter-spacing: .05em; */
	font-weight: 400;
	line-height:1.7em;
	-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; }

.site-content { width:100%; }
.wrapper {	width: 90%; max-width: 1120px; margin-left: auto; margin-right: auto; }

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

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

section { position: relative; }
.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; }
a img:hover {border:2px solid #003f88;}

.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
{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,
.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 { 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.2em; line-height: 1.6em; }
	}

/* mark { background: linear-gradient (transparent 70%, #fabe00 30%);  display: inline; padding: 0 1px 0px;} */
.marker1 { background:linear-gradient(transparent 70%, #fabe00 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: #fabe00;
	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: #fabe00; 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: 12em; }

@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; } } /* SPでのみ表示 */
@media all and (max-width: 768px) { .pc-only { display: none!important; } } /* PCでのみ表示 */

/* ----- スマホでのみ改行 -------------------- */

@media (min-width:480px) { .sp_br2 { display:none; }}
@media (min-width:768px) { .sp_br { display:none; }}

/* ********** 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 #fabe00; 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; 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!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: #fabe00;}

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

.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: 30px;
	margin-bottom: 100px;
	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: #fabe00;
	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.6em; }
	.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.5em;
}
.label-blog { color: #ffffff; background: #2360af; }
.label-news { color: #000000; background: #fabe00; }
.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; }

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

.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; border:1px solid #cccccc; padding-top:1em; 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: #fabe00;
  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-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: #fabe00; }

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

.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 > 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;
	}
.drawer__nav.active {
	opacity: 1;
	visibility: visible;
	}
.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アイコンを配置 -------------------- */

@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: 40px; width: 40px;}
.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: #fabe00 !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: 2;
	}
	}

.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:center; 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: #fabe00;
  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: #fabe00; }
.has-dpfp-yellow-background-color { background-color: #fabe00; }
.has-dpfp-yellow-border-color { border-color: #fabe00; }

.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; }