@charset 'utf-8';

/* ========== ▽ リセットCSS ▽ ========== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:3px solid Highlight;outline-offset:2px;scroll-margin-block:10vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

/* ========== ▽ ベースCSS ▽ ========== */

/* 汎用 */
html { position:relative; z-index:1; min-height:100vh; height:100%; max-width:100vw; width:100%; overflow-x:hidden; text-rendering:optimizeLegibility; }
.center { text-align:center; }
.right { text-align:right; }
.left { text-align:left; }
strong { font-weight:bold; }
img { height:auto; max-width:100%; width:auto; }
div.clear { clear:both; }

/* フォント */
html, h1, h2, h3, li, dt, dd, p { font-family:'Noto Sans JP', sans-serif; }
h1, h2, h3, li, dt, dd, p { font-size:14px; line-height:1.61; font-weight:400; }
.fs200 { font-size:200%; } /* フォントサイズ200％ */
.fs175 { font-size:175%; } /* フォントサイズ175％ */
.fs150 { font-size:150%; } /* フォントサイズ150％ */
.fs120 { font-size:120%; } /* フォントサイズ120％ */
.fs90 { font-size:90%; } /* フォントサイズ90％ */
.fs80 { font-size:80%; } /* フォントサイズ80％ */
.fs75 { font-size:75%; } /* フォントサイズ75％ */

/* レスポンシブ設定 */
.sp { display:block; visibility:visible; }
.tab { display:none; visibility:hidden; }
.pc { display:none; visibility:hidden; }

/* 縦配置 */
div.table { display:table; width:100%; }
div.tcell { display:table-cell; vertical-align:middle; }

/* 間隔 */
.content_bottom_resp { margin:0 0 60px 0; }
.ptb_1em { padding:1em 0; } /* padding 1em：上下 */
.mar_bottom_1em { margin:0 0 1em 0; } /* margin 1em：下 */
.mar_bottom_075em { margin:0 0 .75em 0; } /* margin 0.75em：下 */
.mar_bottom_05em { margin:0 0 .5em 0; } /* margin 0.5em：下 */
.mar_bottom_025em { margin:0 0 .25em 0; } /* margin 0.25em：下 */
.mar_top_2em { margin:2em 0 0 0; } /* margin 2em：上 */
.mar_top_1em { margin:1em 0 0 0; } /* margin 1em：上 */
.mar_top_075em { margin:.75em 0 0 0; } /* margin 0.75em：上 */
.mar_top_05em { margin:.5em 0 0 0; } /* margin 0.5em：上 */
.mar_top_025em { margin:.25em 0 0 0; } /* margin 0.25em：上 */

/* リンク */
a { text-decoration:none; }
a:link, a:visited, a:active, a:hover { transition:.3s; }
a.opacity:link, a.opacity:visited { opacity:1; }
a.opacity:active, a.opacity:hover { opacity:.5; }

/* スクロールバー */
::-webkit-scrollbar { width:6px; }
::-webkit-scrollbar-thumb { border-radius:6px; }
@-moz-document url-prefix() { html { scrollbar-width:thin; } }

/* ページ送り */
div#pagenation { margin:30px auto 0 auto; }

/* 検索窓 */
div.s_icon { position:fixed; z-index:100; top:35px; right:20px; transform:translate(0,-50%); }
div.s_icon svg { height:30px; width:30px; }
div.search { padding:10px; position:fixed; z-index:1; transition:.3s; top:-100px; left:0; width:100%; }
div.search input[type=submit] { border-radius:3px; font-size:14px; padding:7px 10px; }
div.search input[type=text] { padding:5px; width:80%; }
input.searchbox { display:none; }
#searchbox:checked ~ div.search { transition:.3s; top:70px; }

@media only screen and (min-width:600px) {
/* タブレット */

/* フォント */
h1, h2, h3, li, dt, dd, p { font-size:16px; }

/* レスポンシブ設定 */
.sp { display:none; visibility:hidden; }
.tab { display:block; visibility:visible; }
.pc { display:none; visibility:hidden; }

/* 間隔 */
.content_bottom_resp { margin:0 0 70px 0; }

}

@media only screen and (min-width:1025px) {
/* PC */

/* フォント */
h1, h2, h3, li, dt, dd, p { font-size:18px; }

/* レスポンシブ設定 */
.sp { display:none; visibility:hidden; }
.tab { display:none; visibility:hidden; }
.pc { display:block; visibility:visible; }

}

/* ========== 色設定CSS ========== */

/* 汎用 */
html { background-color:#fff; color:#333; }

/* ドラッグ背景色 */
::selection { background-color:#000; color:#fff; }

/* スクロールバー */
::-webkit-scrollbar-track { background-color:transparent; }
::-webkit-scrollbar-thumb { background-image:linear-gradient( #000, #000 ); }
@-moz-document url-prefix() { html { scrollbar-color:#000 transparent; } }

/* 装飾 */
div.grd_line { background-color:#e8383d; background-image:linear-gradient( 90deg, rgba( 215,0,53, 1 ), transparent ); }

/* ヘッダ */
header { background-color:rgba(255,255,255,0.5); box-shadow:inset 1px 1px 2px #fff, inset -1px -1px 2px #fff; border:1px solid rgba(255,255,255,0.75); }

/* イントロ */
div.intro { background-color:#e8383d50; background-image:linear-gradient( 45deg, rgba( 255,247,153, 0.15 ), transparent ); }

/* カテゴリページ */
ul.mokuji li:first-child a:link, ul.mokuji li:first-child a:visited { border-top:1px solid #ccc; }
ul.mokuji li a:link, ul.mokuji li a:visited { border-bottom:1px solid #ccc; }
ul.mokuji li a:active, ul.mokuji li a:hover { background-color:rgba( 232,56,61, 0.75 ); color:#fff; }

/* 記事ページ */
div.pol h1::before { color:#e8383d; }
p.back_button a:link, p.back_button a:visited { background-color:#e8383d; background-image:linear-gradient( 90deg, rgba( 215,0,53, 0.75 ), transparent ); border:2px solid #e8383d; box-shadow:2px 2px 3px rgba(0,0,0,0.5), 2px 2px 3px rgba(0,0,0,0.5); color:#fff; }
p.back_button a:active, p.back_button a:hover { background-color:#d70035; }
div.pol a { color:#00f; }
div.pol div.tag ul li a { background-color:#f8c2c0; color:#333; }

/* フォーム */
.msg { color:#f00; }
div.privacy { border:2px solid #e8383d; background-color:rgba( 255,247,153, 0.025 ); }
div.form dl dd input, div.form dl dd textarea { background-color:rgba( 255,247,153, 0.25 ); border:1px solid #e8383d; }
div.form dl dd input:focus, div.form dl dd textarea:focus { background-color:#fff; }
p.btn input { background-color:#e8383d; background-image:linear-gradient( 90deg, rgba( 215,0,53, 0.75 ), transparent ); border:2px solid #d70035; color:#fff; }

/* フッタ */
div.footer_info { background-color:#e8383d50; }

/* 検索窓 */
div.search { background-color:rgba(0,0,0,0.75);  color:#fff; }
div.search input[type=submit] { background-color:rgba( 215,0,53, 1 ); border:none; cursor:pointer; }
div.search input[type=submit]:hover { opacity:0.75; }
div.search input[type=text] { background-color:#fff; border:1px solid #ddd; color:#ccc; }
div.search input[type=text]:focus { color:#333; }

@media only screen and (min-width:600px) {
/* タブレット */

}

@media only screen and (min-width:1025px) {
/* PC */

/* ヘッダ */
header { background-color:rgba(255,255,255,1); box-shadow:none; border:none; }

/* 検索窓 */
div.search { background-color:transparent; }

}

/* ========== 個別CSS ========== */

/* 横幅 */
div.w { padding:0 1.25em; margin:auto; width:auto; }

/* 表示非表示切り替え */
.hide_content01, .hide_content02  { visibility:visible; opacity:1; transition:.3; }
.hide_content01.hide, .hide_content02.hide { visibility:hidden; opacity:0; transition:.3; }

/* 装飾 */
div.grd_line { height:2px; width:100%; }

/* フェードイン */
.fade { opacity:0; transform:translateY(30px); transition:opacity 1.5s, transform 1s; }
.fade.fade_in { opacity:1; transform:translateY(0); transition:opacity 1.5s, transform 1s; }

/* ヘッダ */
header { backdrop-filter:blur(20px); box-sizing:border-box; position:fixed; z-index:25; top:0; left:0; width:100%; }
header div.table {  height:70px; }
header img { margin:auto; max-height:64px; width:auto; }

/* イントロ */
div.intro { margin:70px 0 0 0; }
div.intro div.table { height:10vh; }
div.intro h2 { font-weight:600; }

/* メイン */
main { padding:60px 0; }

/* カテゴリページ */
ul.mokuji li a { display:block; padding:.5em .75em; }
ul.pager { display:flex; justify-content:flex-start; align-items:flex-start; padding:0 0 0 1em; }
ul.pager li { margin:0 1em 0 0; }

/* 記事ページ */
div.pol h1 { font-weight:600; text-indent:-1.15em; padding-left:1.25em; }
div.pol h1::before { content:'◆'; margin:0 .15em 0 0; }
div.pol p { line-height:1.8; }
div.pol div.kiji iframe { aspect-ratio:16/9; margin:20px 0; height:auto; max-width:100%; width:100%; }
div.pol div.tag { margin:20px 0 0 0; }
div.pol div.tag ul { display:flex; justify-content:flex-start; align-items:flex-start; flex-wrap:wrap; }
div.pol div.tag ul li { margin:0 5px 5px 0; }
div.pol article p.wp-caption-text { text-align:center; }
div.pol article img { margin:auto; height:auto; max-width:100%; width:300px; }
div.pol article .aligncenter, div.pol article .alignleft, div.pol article .alignright { margin:10px auto; text-align:center; width:auto; }
div.pol article .wp-caption-text { margin:5px 0; }
div.pol div.tag ul li a { border-radius:5px; text-decoration:none; display:inline-block; text-indent:20px; padding:5px 15px; position:relative; z-index:1; }
div.pol div.tag ul li a::before { content:''; background-repeat:no-repeat; background-size:contain; background-position:center center; background-image:url("../img/icon/i_tag.svg"); display:inline-block; position:absolute; top:50%; left:10px; transform:translate(0,-50%); height:24px; width:24px; z-index:2; }
div.pol a { text-decoration:underline; }
p.back_button a { text-decoration:none; border-radius:5em; display:inline-block; padding:.5em 2.5em; margin:2em 0 0 0; }
ul.page_sns { display:flex; justify-content:flex-start; align-items:flex-end; margin:10px 0; }
ul.page_sns li { margin:0 10px 0 0; }

/* 議員プロフィールページ */
div.pl_ph { text-align:center; margin:auto auto 20px auto; }
div.pl_ph img { margin:auto; }

/* フォーム */
div.privacy { box-sizing:border-box; border-radius:5px; padding:1.25em 1em; }
div.otoiawase h1, div.otoiawase h2 { font-weight:600; }
div.privacy ul { padding:0 1.25em; }
div.privacy ul li { list-style:disc; line-height:1.8; }
div.form dl dt { font-weight:500; }
div.form dl dd input, div.form dl dd textarea { padding:.5em .75em; max-width:100%; width:100%; }
p.btn {  }
p.btn input { padding:.5em 1em; margin:auto; }

/* フッタ */
footer h1 { font-weight:600; line-height:1.25; }
div.footer_info { padding:1em 0 2.5em 0; }

@media only screen and (min-width:600px) {
/* タブレット */

/* 横幅 */
div.w { padding:auto; width:85%; }

/* カテゴリページ */
ul.mokuji li a { padding:.75em 1em; }

/* 記事 */
div.pol article img { width:250px; }
div.pol article .alignleft { float:left; margin:10px 10px 10px 0; }
div.pol article .alignright { float:right; margin:10px 0 10px 10px; }

/* フォーム */
div.privacy { padding:2.25em 2.5em; }

}

@media only screen and (min-width:1025px) {
/* PC */

/* 横幅 */
div.w { max-width:1024px; width:80%; }

/* ヘッダ */
header { position:static; }
header div.table {  height:60px; }
header img { max-height:48px; }
header h1.center { text-align:left; }
header h1.center img { margin:0; }
div.h_all { display:flex; justify-content:space-between; align-items:center; }
div.h_box h1 { width:300px; }
div.h_box ul.sns_list { display:flex; justify-content:flex-start; align-items:baseline; }
div.h_box ul.sns_list li { margin:0 1em 0 0; }
div.h_box ul.sns_list li:last-child { margin:0; }
div.h_box ul.sns_list li img { height:30px; width:auto; }

/* 検索窓 */
div.s_icon { display:none; }
div.search { padding:10px; position:static; width:auto; }
div.search input[type=text] { width:auto; }

/* イントロ */
div.intro { margin:0; }
div.intro div.table { height:15vh; }

/* 記事 */
div.pol article img { width:350px; }

/* 議員プロフィールページ */
div.pl_ph { float:right; margin:0 0 0 20px; }

}


/* ページャー */
#pagenation:after{
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
#pagenation #pagenation-list li{
	float: left;
	background: none;
	list-style: none;
	padding: 0;
	margin: 0 5px 5px 0;
}
#pagenation #pagenation-list li:last-child{
	margin-left: 0;
}
#pagenation #pagenation-list a,#pagenation #pagenation-list span{
	background: none;
	display: block;
	margin: 0;
	padding: 6px 11px;
	font-size: 12px;
	line-height: 1.5;
	text-align: center;
	border-radius: 20px;
}
#pagenation #pagenation-list .current{
	background: #F6EFCC;
	color: #888888;
	border: 3px solid #E8DFCC;
}
#pagenation #pagenation-list .omit{
	padding: 6px 2px;
	color: #777777;
}
#pagenation #pagenation-list li a{
	background: #E26E6E;
	color: #FFEDED;
	border: 3px solid #E3B8B8;
	text-decoration: none;
}
#pagenation #pagenation-list a:hover{
	background: #DB4848;
	color: #FFFFFF;
	border: 3px solid #E89172;
	text-decoration: none;
}
