@charset "utf-8";

/* 共通設定及びモバイル用
------------------------------------------------------------*/
#wrap { position: relative; left: 0; -webkit-transition: 0.4s left ease; -moz-transition: 0.4s left ease; transition: 0.4s left ease; }
#wrap.on { left: -75%; }

.inner { width: 90%; max-width: 1000px; margin-right: auto; margin-left: auto; }

/* -- お問い合わせ -- */
.contact ul li { width: -webkit-calc(50% - 5px); width: calc(50% - 5px); margin-right: 10px; float: left; }
.contact ul li:last-child { margin-right: 0; }
.contact ul li a { display: block; font-size: 14px; font-size: 1.4rem; font-weight: bold; color: #FFF; line-height: 38px; text-align: center; text-decoration: none; height: 38px; border-radius: 2px; }
.contact ul li a i { content: ""; display: inline-block; vertical-align:  middle; width: 19px; height: 14px; margin-right: 6px; background: url("../img/contact.png") no-repeat; }
.contact ul li:first-child a { background: #254478; }
.contact ul li:last-child  a { background: #22B24B; }
.contact ul li:last-child  a i { background-position: 0 100%; }
.contact p { margin: 10px 0 0; }
.contact p:last-of-type { margin: 6px 0 0; }
.contact p span { font-size: 12px; font-size: 1.2rem; font-weight: bold; color: #555; line-height: 1.35; letter-spacing: -0.02em; }


/* ヘッダー
*****************************************************/
#header {
	background: -moz-linear-gradient(top, #ffffff 80%, #f8f8f8 100%);
	background: -webkit-linear-gradient(top, #ffffff 80%,#f8f8f8 100%);
	background: linear-gradient(to bottom, #ffffff 80%,#f8f8f8 100%);
	border-bottom: 5px solid #22B24B;
	-webkit-transition: 0.4s left ease; -moz-transition: 0.4s left ease; transition: 0.4s left ease;
}
#header .bar { padding: 6px 0; background: #F3F1F2; border-bottom: 1px solid #DDD; }
#header .bar h1 a { font-size: 10px; font-size: 1.0rem; color: #666; line-height: 1.35; text-decoration:  none; }
#header .box { position: relative; padding: 20px 0; -webkit-transition: 0.4s padding ease; -moz-transition: 0.4s padding ease; transition: 0.4s padding ease; }
#header .box .logo { width: 155px; height: 34px; margin: 0; float: left; }
#header .box .logo:before { position: absolute; bottom: -5px; left: 0; content: ""; display: block; width: 155px; height: 5px; background: #EE1C23; }

/* -- お問い合わせ -- */
#header .contact { position: absolute; top: 0; right: 0; display: none; width: 280px; }

/* -- ハンバーガーメニュー -- */
#header .hamburger { position: relative; z-index: 999; font-size: 10px; font-size: 1.0rem; font-weight: bold; color: #FFF; text-align: center; width: 44px; height: 44px; float: right; cursor: pointer; background: #254478; border-radius: 2px; }
#header .hamburger i,
#header .hamburger i:before,
#header .hamburger i:after  {
	position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; display: block; width: 20px; height: 2px; margin: auto; background: #FFF; border-radius: 25px; box-shadow: 0 1px 0 rgba(0,0,0,0.46);
	-webkit-transition: 0.4s transform ease; -moz-transition: 0.4s transform ease; transition: 0.4s transform ease;
}
#header .hamburger i { top: -10px; }
#header .hamburger i:before { top: -12px; }
#header .hamburger i:after  { bottom: -12px; }
#header .hamburger span { position: absolute; bottom: 6px; left: 0; font-weight: bold; width: 100%; text-align: center; -webkit-transform: scale(0.8); -moz-transform: scale(0.8); transform: scale(0.8); }
#header .hamburger.on i { background: transparent; box-shadow: none; }
#header .hamburger.on i:before { top: 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
#header .hamburger.on i:after  { bottom: 0; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }

/* -- 固定 -- */
#header.fixed { position: fixed; top: 0; left: 0; z-index: 999; width: 100%; box-shadow: 0 2px 20px 0 rgba(0,0,0,0.36); }
#header.fixed .bar { display: none; opacity: 0; visibility: hidden; }
#header.fixed .box { padding: 5px 0; }

/* -- 動き -- */
#header.on { left: -75%; }


/* メインイメージ
*****************************************************/
#main { padding: 20px 0; background: url("../img/main/background.png"); }
#main .slick-slide { margin: 0 10px; }
#main .slick-slide img { border: 3px solid #FFF; box-shadow: 0 0 10px 2px rgba(0,0,0,0.26); box-sizing: border-box; }


/* ナビゲーション
*****************************************************/
#navigation {
	position: fixed; top: 0; right: -75%; z-index: 9999; width: 75%; height: 100%; background: #222; opacity: 0;
	-webkit-transition: 0.4s right ease, 0.4s opacity ease; -moz-transition: 0.4s right ease, 0.4s opacity ease; transition: 0.4s right ease, 0.4s opacity ease;
}
#navigation div { height: 100%; min-height: 100%; overflow-y: auto; }
#navigation ul li { border-bottom: 1px solid rgba(255,255,255,0.36); }
#navigation ul li a { display: block; color: #FFF; text-decoration:  none; padding: 20px 10px 10px 20px; background: #333; border-bottom: 1px solid #222; }
#navigation ul li a span { display: inline-block; vertical-align: middle; margin: 0 10px 10px 0; }
#navigation ul li a span.ja { font-size: 18px; font-size: 1.8rem; font-weight: bold; }
#navigation ul li a span.en { font-size: 12px; font-size: 1.2rem; color: #999; }
#navigation ul li a.current,
#navigation ul li a:hover {
	position: relative; overflow: hidden;
	background: -moz-linear-gradient(top, #282828 0%, #4d4d4d 100%);
	background: -webkit-linear-gradient(top, #282828 0%,#4d4d4d 100%);
	background: linear-gradient(to bottom, #282828 0%,#4d4d4d 100%);
}
#navigation ul li a.current:before,
#navigation ul li a:hover:before {
	position: absolute; right: 0; top: 0; left: 0;
	content: ""; display: block; height: 70%;
	border-bottom-right-radius: 100% 70%;
	border-bottom-left-radius: 100% 70%;
	background: rgba(255,255,255,0.04);
}

/* -- 動き -- */
#navigation.on { right: 0; opacity: 1.0; }

/* -- オーバーレイ -- */
#overlay { position: absolute; top: 0; left: 0; z-index: 888; display: none; width: 100%; height: 100%; background: rgba(0,0,0,0.46); }


/* コンテンツ
*****************************************************/
#contents { line-height: 1.6; margin-top: 40px; margin-bottom: 40px; }

/* -- ボタン -- */
.button a { position: relative; display: block; font-weight: bold; color: #333; text-decoration: none; text-align: center; padding: 12px 20px; border: 5px solid #EEE; border-radius: 30px; }
.button a:before,
.button a:after  { position: absolute; top: 0; bottom: 0; content: ""; display: block; margin: auto; }
.button a:before { right: 20px; width: 20px; height: 20px; background: #254478; border-radius: 50%; }
.button a:after  { right: 27px; width: 0; height: 0; border-width: 4px 0 4px 4px; border-style: solid; border-color: transparent; border-left-color: #FFF; }
.button a:hover  { color: #FFF; background: #254478; border-color: #254478; }

/* -- スクロールバー -- */
#contents *::-webkit-scrollbar { width: 5px; }
#contents *::-webkit-scrollbar-track { background: #F6F6F6; border-radius: 50px; }
#contents *::-webkit-scrollbar-thumb{ background: #22B24B; border-radius: 50px; }


/* サイドバー
*****************************************************/
#sidebar .bnr li { margin: 0 0 20px; }

/* -- 外部サイト -- */
.blank { margin: 20px 0 0; padding: 20px; background: #FFF; box-shadow: 0 15px 15px -15px rgba(0,0,0,0.26); }
.blank > p { display: inline-block; font-weight: bold; color: #888; margin: 0 0 15px; padding-right: 24px; background: url("../img/sidebar/blank.png") no-repeat 100% 50%; }
.blank a { display: block; color: #333; line-height: 1.35; text-decoration: none; }

/* -- 矢印 -- */
.blank .arrow { margin: -6px 0; }
.blank .arrow li { margin: 0 0 6px; }
.blank .arrow li:last-child { margin: 0; }
.blank .arrow li a { padding: 6px 0 6px 18px; background: url("../img/sidebar/arrow.png") no-repeat 0 12px; }

/* -- PDF -- */
.blank .pdf li { margin: 0 0 12px; }
.blank .pdf li:last-child { margin: 0; }
.blank .pdf li a { padding: 6px 0 6px 31px; background: url("../img/sidebar/pdf.png") no-repeat 0 4px; }

/* -- バックナンバー -- */
.blank .backnumber li { margin: 0 0 12px; }
.blank .backnumber li:last-child { margin: 0; }
.blank .backnumber li a img,
.blank .backnumber li a span { display: inline-block; vertical-align: middle; margin-right: 10px; }
.blank .backnumber li a img { max-height: 44px; }

/* -- 物件検索 -- */
.search > p { color: #666; line-height: 1.35; text-shadow: 0 1px 0 #FFF; margin: 40px 0 0; padding: 20px 0 0; border-top: 1px solid #FFF; box-shadow: 0 -1px 0 #DDD; }
.search > p span { display: inline-block; font-weight: bold; vertical-align: middle; margin: 0 10px 10px 0; }
.search > p span.ja { font-size: 18px; font-size: 1.8rem; }
.search > p span.en { font-size: 12px; font-size: 1.2rem; }
.search ul li { width: -webkit-calc(50% - 5px); width: calc(50% - 5px); margin: 10px 10px 0 0; float: left; }
.search ul li:nth-child(2n+2) { margin-right: 0; }


/* 行政機関
*****************************************************/
#administrative h4 { font-weight: bold; }
#administrative { padding: 40px 0 20px; background: #FFF; border-top: 1px solid #E6E6E6; }
#administrative dl div { width: -webkit-calc(50% - 5px); width: calc(50% - 5px); margin: 0 10px 20px 0; float: left; }
#administrative dl div:nth-of-type(2n+2) { margin-right: 0; }
#administrative dl div dt a { position: relative; display: block; font-weight: bold; color: #FFF; line-height: 1.35; text-decoration: none; padding: 6px 12px 6px 24px; background: #254478; border-radius: 4px; }
#administrative dl div dt a:before { position: absolute; top: 0; bottom: 0; left: 12px; content: ""; display: block; width: 0; height: 0; margin: auto; border-width: 5px 0 5px 6px; border-style: solid; border-color: transparent; border-left-color: #FFF; }
#administrative dl div dd ul li { margin: 12px 12px 0 0; }
#administrative dl div dd ul li a { display: block; font-size: 13px; font-size: 1.3rem; color: #222; text-decoration: none; padding: 8px; background: #F6F6F6; border: 1px solid #DDD; border-radius: 4px; }
#administrative dl div dd ul li a:after { content: ""; display: inline-block; vertical-align: middle; width: 14px; height: 14px; margin-left: 6px; background: url("../img/sidebar/blank.png") no-repeat; }


/* 関連サイト
*****************************************************/
#links { padding: 40px 0 30px; background: #EEE; border-top: 1px solid #E6E6E6; }
#links ul li { -webkit-width: calc(50% - 5px); width: calc(50% - 5px); margin: 0 10px 10px 0; float: left; }
#links ul li:nth-child(2n+2) { margin-right: 0; }


/* フッター
*****************************************************/
#footer { background: #FFF; }

/* -- サイトマップ -- */
#footer .sitemap a { display: block; color: #333; text-decoration: none; }
#footer .sitemap .main,
#footer .sitemap .sub  { text-align: center; padding: 20px 0 0; border-bottom: 1px solid #EEE; }
#footer .sitemap .main li,
#footer .sitemap .sub li { text-align: left; margin: 0 20px 20px 0; }
#footer .sitemap .main li { position: relative; padding-right: 20px; }
#footer .sitemap .main li:last-child { padding-right: 0; }
#footer .sitemap .main li:after { position: absolute; top: 0; right: 0; bottom: 0; content: ""; display: block; width: 1px; height: 22px; margin: auto; background: #CCC; }
#footer .sitemap .main li:last-child:after { display: none; }
#footer .sitemap .sub li a { position: relative; font-size: 14px; font-size: 1.4rem; color: #666; padding-left: 10px; }
#footer .sitemap .sub li a:before { position: absolute; top: 4px; left: 0; content: ""; display: block; width: 0; height: 0; border-width: 3px 0 3px 3px; border-style: solid; border-color: transparent; border-left-color: #666; }

/* -- お問い合わせ -- */
#footer .address { margin-top: 30px; margin-bottom: 30px; padding: 30px; border: 4px solid #E4E4E4; box-sizing: border-box; }
#footer .address address { position: relative; margin: 0 0 30px; padding-left: 54px; }
#footer .address address:before { position: absolute; top: 0; bottom: 0; left: 0; content: ""; display: block; width: 34px; height: 34px; margin: auto; background: url("../img/footer/logo.png") no-repeat; }
#footer .address address span { display: block; font-size: 16px; font-size: 1.6rem; font-weight: bold; margin: 0 0 10px; }

/* -- 関連サイト＆リンク集 -- */
#footer .bottom { text-align: center; padding: 6px 0; background: #F6F6F6; border-top: 1px solid #EEE; }
#footer .bottom li { margin: 6px; }
#footer .bottom li a { font-size: 13px; font-size: 1.3rem; color: #333; text-decoration: none; }

/* -- Copyright -- */
#copyright { text-align: center; padding: 12px 0; background: #22B24B; }
#copyright a { font-size: 12px; font-size: 1.2rem; color: #C9EBD2; text-decoration: none; }


/* トップ
------------------------------------------------------------*/
.top_open,
.top_news,
.top_events,
.top_infomation { margin: 0 0 40px; padding: 30px; background: #FFF; }

/* -- 見出し -- */
.headline { position: relative; margin: 0 0 20px; border-bottom: 4px solid #DDD; box-shadow: inset 0 -1px 0 #CCC; }
.headline:before,
.headline:after  { position: absolute; bottom: -4px; left: 0; content: ""; display: block; height: 4px; }
.headline:before { width: 25px; background: #FFF; }
.headline:after  { width: 15px; background: #EE1C23; }
.headline span { display: inline-block; font-weight: bold; vertical-align: middle; margin: 0 20px 10px 0; }
.headline span.en { font-size: 30px; font-size: 3.0rem; }
.headline span.ja { font-size: 14px; font-size: 1.4rem; }

/* -- 開館時間 -- */
.top_open {
	font-size: 16px;
	
	h2 {
		font-weight: bold;
		margin-bottom: 0;
	}
	p {
		margin-bottom: 0;
	}
}

/* -- お知らせ -- */
/*
.news { height: 250px; padding-right: 30px; overflow-y: auto; }
.news div { padding: 12px 10px; border-bottom: 1px dashed #DDD; }
.news div dt span,
.news div dt a { display: inline-block; vertical-align: middle; margin: 0 10px 6px 0; }
.news div dt span { font-size: 13px; font-size: 1.3rem; color: #666; }
.news div dt a { font-size: 12px; font-size: 1.2rem; font-weight: bold; color: #FFF; line-height: 22px; text-align: center; text-decoration:  none; width: 60px; height: 22px; background: #254478; border-radius: 2px; }
.news div dd a { color: #333; line-height: 1.35; text-decoration: none; }
.news div dd a:hover { text-decoration: underline; }
*/
.news { height: 250px; padding-right: 30px; overflow-y: auto; }
.news > div {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: flex-start;
    align-items: flex-start;
    gap: 0 20px;
    padding: 12px 10px;
    border-bottom: 1px dashed #DDD;
}
.news > div dt {
    position: relative;
    flex-shrink: 0;
    width: 15%;
    overflow: hidden;
    border: 1px solid #DDD;
    border-radius: 6px;
    aspect-ratio: 1 / 1;
}
.news > div dt img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.news > div .time { display: block; font-size: 13px; font-size: 1.3rem; color: #666; margin-bottom: 1.0em; }
.news > div dd a { color: inherit; line-height: 1.35; text-decoration: none; }
.news > div dd a:hover { opacity: 0.6; }

/* -- 行事予定 -- */
.top_events .tabs { margin: 0 0 20px; border-bottom: 1px solid #EEE; }
.top_events .tabs li {
	position: relative; font-size: 14px; font-size: 1.4rem; font-weight: bold; line-height: 41px; text-align: center; width: 120px; height: 41px; margin-left: 20px; cursor: pointer; background: #F6F6F6; border: 1px solid #EEE; border-bottom: none; border-radius: 4px 4px 0 0;
	-webkit-transition: 0.4s background ease; -moz-transition: 0.4s background ease; transition: 0.4s background ease;
}
.top_events .tabs li:before { content: ""; display: inline-block; vertical-align: middle; width: 12px; height: 12px; margin-right: 6px; background: url("../img/top/tabs.png") no-repeat; background-position: -12px 0; }
.top_events .tabs li.on { cursor: auto; background: #FFF; box-shadow: 0 1px 0 #FFF; }
.top_events .tabs li.on:before { background-position: 0 0; }
.top_events .tabs li:hover { background: #EEE; }
.top_events .tabs li.on:hover { background: #FFF; }
.top_events .tab-box { height: 0; margin: 0 20px; opacity: 0; visibility: hidden; }
.top_events .tab-box.on { height: 100%; opacity: 1.0; visibility: visible; }
.top_events .slick-slide { margin: 0 10px; }
.top_events .slick-slide a { position: relative; display: block; color: #333; text-decoration: none; }
.top_events .slick-slide .thumbnail .schedule { position: absolute; top: 5px; right: 5px; color: #FFF; text-align: center; width: 60px; height: 60px; padding: 6px 0 0; background: #22B24B; border-radius: 50%; box-sizing: border-box; }
.top_events .slick-slide .thumbnail .schedule span { display: block; line-height: 1.2; }
.top_events .slick-slide .thumbnail .schedule span.year { font-size: 13px; font-size: 1.3rem; }
.top_events .slick-slide .thumbnail .schedule span.day  { font-size: 16px; font-size: 1.6rem; font-weight: bold; }
.top_events .slick-slide .thumbnail .schedule span.week { font-size: 12px; font-size: 1.2rem; font-weight: bold; }
.top_events .slick-slide .terms li { font-size: 12px; font-size: 1.2rem; font-weight: bold; margin: 6px 12px 0 0; padding: 4px 8px; border-radius: 4px; }
.top_events .slick-slide p { line-height: 1.35; margin: 12px 0 0; }

/* -- 本部からのお知らせ -- */
.top_infomation ul li { margin-bottom: 20px; }
.top_infomation ul li:last-child { margin-bottom: 0; }
.top_infomation ul li a { position: relative; display: block; font-size: 24px; font-size: 2.4rem; font-weight: bold; color: #333; line-height: 1.35; text-align: center; text-decoration: none; padding: 40px 20px 96px; border: 5px solid #EEE; }
.top_infomation ul li a span { display: block; font-size: 13px; font-size: 1.3rem; font-weight: bold; color: #22B24B; letter-spacing: 0.1em; margin: 6px 0 0; }
.top_infomation ul li a:before,
.top_infomation ul li a:after  { position: absolute; right: 0; left: 0; content: ""; display: block; margin: auto; }
.top_infomation ul li a:before { bottom: 40px; width: 44px; height: 44px; background: #254478; border-radius: 50%; }
.top_infomation ul li a:after  { right: -4px; bottom: 54px; width: 0; height: 0; border-width: 8px 0 8px 10px; border-style: solid; border-color: transparent; border-left-color: #FFF; }

/* -- ソーシャルメディア -- */
.top_sns li { width: -webkit-calc(50% - 10px); width: calc(50% - 10px); margin: 20px 20px 0 0; float: left; }
.top_sns li:last-child { margin-right: 0; }


/* サブページ
------------------------------------------------------------*/
#title { background: url("../img/main/background.png"); }
#title h1 { color: #FFF; line-height: 1.35; text-align: center; padding: 40px 0; }
#title h1 span { display: block; font-weight: bold; }
#title h1 span.ja { font-size: 26px; font-size: 2.6rem; }
#title h1 span.en { font-size: 12px; font-size: 1.2rem; margin-top: 6px; opacity: 0.8; }

/* -- パンくずリスト -- */
#breadcrumbs,
#breadcrumbs a { font-size: 12px; font-size: 1.2rem; color: #FFF; text-decoration: none; }
#breadcrumbs li { margin: 0 0 20px; }
#breadcrumbs li:after {
	content: ""; display: inline-block; vertical-align: middle; width: 6px; height: 6px; margin: 0 10px; border-width: 2px 2px 0 0; border-style: solid; border-color: rgba(255,255,255,0.26); box-sizing: border-box;
	-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg);
}
#breadcrumbs li:last-child:after { display: none; }
#breadcrumbs .current-item { font-weight: bold; }

/* -- コンテンツ -- */
#sub #content { padding: 30px; background: #FFF; box-sizing: border-box; }


/* 記事詳細
------------------------------------------------------------*/
article header h1 { font-size: 30px; font-size: 3.0rem; font-weight: bold; line-height: 1.35; margin: 0 0 20px; }
article header div { padding: 6px 0 0 12px; background: #EDEDED; border-radius: 4px; }
article header div p { display: inline-block; font-size: 14px; font-size: 1.4rem; vertical-align: middle; letter-spacing: normal; margin: 0 12px 6px 0; }
article header div p a { display: block; font-size: 12px; font-size: 1.2rem; font-weight: bold; color: #FFF; text-decoration: none; padding: 4px 10px; background: #EE1C23; border-radius: 6px; }

/* -- ページナビ -- */
.pagenav { margin: 40px 0 0; padding: 20px 0 0; border-top: 2px solid #DDD; clear: both; }
.pagenav ul li { margin: 10px; }
.pagenav ul li a { position: relative; display: block; color: #333; text-decoration: none; padding: 10px; border: 1px solid #DDD; border-radius: 6px; }
.pagenav ul li a:before { position: absolute; top: 0; bottom: 0; content: ""; display: block; width: 12px; height: 12px; margin: auto; border-style: solid; border-color: #BBB; box-sizing: border-box; }
.pagenav ul li.prev a { padding-left: 26px; }
.pagenav ul li.prev a:before { left: 10px; border-width: 0 0 3px 3px; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); transform: rotate(45deg); }
.pagenav ul li.next a { padding-right: 26px; }
.pagenav ul li.next a:before { right: 10px; border-width: 0 3px 3px 0; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); transform: rotate(-45deg); }
.pagenav ul li a:hover { background: #EEE; }


/* 記事一覧
------------------------------------------------------------*/
#archive ul li { margin: 0 0 30px; padding: 0 0 30px; border-bottom: 1px dashed #CCC; }
#archive ul li a { display: block; color: #333; text-decoration: none; }
#archive ul li a .thumbnail { width: 75px; height: 75px; padding: 3px; float: left; background: #FFF; border: 1px solid #DDD; border-radius: 4px; box-sizing: border-box; }
#archive ul li a .box { margin-left: 95px; }
#archive ul li a .box h2 { font-size: 18px; font-size: 1.8rem; font-weight: bold; line-height: 1.35; margin: 0; padding: 6px 12px; background: #EEE; border-left: 5px solid #CFCFCF; }
#archive ul li a .box p { margin: 12px 0 0; }
#archive ul li a .box p span { display: block; font-size: 14px; font-size: 1.4rem; color: #888; text-align: right; }
#archive ul li a .box p:last-of-type {
	display: inline-block; font-weight: bold; color: #254478; text-align: center; padding: 6px 20px; border: 1px solid; border-radius: 6px;
	-webkit-transition: 0.4s color ease, 0.4s background ease; -moz-transition: 0.4s color ease, 0.4s background ease; transition: 0.4s color ease, 0.4s background ease;
}
#archive ul li a:hover .box p:last-of-type { color: #FFF; background: #254478; border-color: #254478; }

/* -- ページャー -- */
.wp-pagenavi { font-size: 12px; font-size: 1.2rem; color: #22B24B; letter-spacing: -0.4em; text-align: center; }
.wp-pagenavi a,
.wp-pagenavi span { display: inline-block; font-size: 14px; font-size: 1.4rem; font-weight: 500; line-height: 32px; text-align: center; text-decoration: none; vertical-align: middle; letter-spacing: normal; min-width: 32px; height: 32px; margin: 5px; padding: 0 5px; box-sizing: border-box; }
.wp-pagenavi a { border-radius: 50%; }
.wp-pagenavi .page { color: #FFF; background: #22B24B; }
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink { color: #22B24B; background: #FFF; border: 1px solid; border-radius: 50%; }


/* 行事予定（カレンダー）
------------------------------------------------------------*/
#legend_box { display: none; font-size: 1.2rem !important; }



/* まちづくりPT
------------------------------------------------------------*/
#machi .about,
#machi .example,
#machi .sosiki,
#machi .members { margin: 0 0 40px; padding: 30px; background: #FFF; }

/* -- 相談事例 -- */
.example ul { height: 250px; padding-right: 30px; overflow-y: auto; }
.example ul li { border-bottom: 1px dashed #DDD; }
.example ul li a { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; color: #333; text-decoration: none; padding: 12px 10px; }
.example ul li a .thumbnail { width: 80px; height: 80px; margin-right: 10px; border: 4px solid #FFF; box-shadow: 0 0 1px #DDD; box-sizing: border-box; }
.example ul li a .thumbnail + div { width: -webkit-calc(100% - 90px); width: calc(100% - 90px); }
.example ul li a p span { display: inline-block; vertical-align: middle; margin: 0 10px 10px 0; }
.example ul li a p span.time { color: #666; }
.example ul li a p span.cats { font-size: 12px; font-size: 1.2rem; color: #FFF; line-height: 22px; text-align: center; min-width: 48px; height: 22px; padding: 0 10px; background: #333; border-radius: 2px; box-sizing: border-box; }

/* -- メンバー -- */
.members ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-flow: row wrap; -ms-flex-flow: row wrap; flex-flow: row wrap; }
.members ul li { width: -webkit-calc(50% - 10px); width: calc(50% - 10px); margin-right: 20px; margin-bottom: 30px; }
.members ul li:nth-child(2n+2) { margin-right: 0; }
.members ul li a { display: block; color: #333; text-decoration: none; text-align: center; }
.members ul li a .thumbnail { margin: 0 0 12px; border: 4px solid #FFF; box-shadow: 0 0 1px #DDD; }
.members ul li a .thumbnail img { width: 100%; height: 100%; }
.members ul li a p span { display: block; font-size: 12px; font-size: 1.2rem; }


/* メンバー
------------------------------------------------------------*/
#members header { padding: 20px 30px; background: #EEE; }
#members header h1 { font-size: 16px; font-size: 1.6rem; font-weight: bold; margin: 0; }

/* -- 写真ギャラリー -- */
#members .gallery .photo { border: 4px solid #FFF; box-shadow: 0 0 1px #DDD; }
#members .gallery .photo img { width: auto; height: 100%; margin: auto; }
#members .thumbnail { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-flex-flow: row; -ms-flex-flow: row; flex-flow: row; }
#members .thumbnail li { width: -webkit-calc(20% - 8px); width: calc(20% - 8px); margin: 10px 10px 0 0; border: 4px solid #FFF; box-shadow: 0 0 1px #DDD; box-sizing: border-box; }
#members .thumbnail li:nth-child(5n+5) { margin-right: 0; }

/* -- 詳細情報 -- */
#members table tbody tr th,
#members table tbody tr td { padding: 12px 20px; border-bottom: 1px solid #EEE; box-sizing: border-box; }
#members table tbody tr th { font-weight: bold; width: 90px; }


/* 相談事例
------------------------------------------------------------*/
#example .consultant .person { position: relative; font-weight: bold; color: #FFF; margin-left: 96px; padding: 16px 24px; background: #22B24B; }
#example .consultant .person:before { position: absolute; top: 0; left: -96px; content: ""; display: block; width: 96px; height: 100%; background: #CCC url("../img/page/example/avater.png") no-repeat 50% 50% }
#example .consultant .person span { display: inline-block; font-weight: bold; vertical-align: middle; margin-right: 12px; }
#example .consultant ul { display: -webkit-box; display: -ms-flexbox; display: flex; list-style: none; margin-left: 0; }
#example .consultant ul li { width: -webkit-calc(33.33% - 13.33px); width: calc(33.33% - 13.33px); margin: 20px 20px 0 0; }

/* -- 解答内容 -- */
#example .answer .member { max-width: 180px; margin-top: 20px; margin-right: auto; margin-left: auto; }
#example .answer .member .thumbnail { border: 4px solid #FFF; box-shadow: 0 0 1px #DDD; }
#example .answer .member .thumbnail img { width: 100%; }
#example .answer .member .thumbnail + p { text-align: center; }
#example .answer .member .thumbnail + p span { display: block; font-size: 12px; font-size: 1.2rem; }
#example .answer .member .button a { font-size: 14px; font-size: 1.4rem; line-height: 24px; text-align: left; height: 30px; padding: 0 36px 0 20px; border-width: 3px; box-sizing: border-box; }
#example .answer .member .button a:before { right: 10px; width: 16px; height: 16px; }
#example .answer .member .button a:after  { right: 16px; border-width: 4px 0 3px 3px; }
#example .answer .textarea { margin-top: 20px; }


/* おねだんイクラちゃん
------------------------------------------------------------*/
.ikurachan_tabs {
	margin-bottom: 4.0rem; overflow: hidden;
}
.ikurachan_tabs ul {
	width: -webkit-calc( 100% + 40px );
	width: calc( 100% + 40px );
	-webkit-transform: translateX(-20px);
	-ms-transform: translateX(-20px);
	-o-transform: translateX(-20px);
	transform: translateX(-20px);
}
.ikurachan_tabs ul li {
	margin: 10px 20px;
}
.ikurachan_tabs ul li a {
	position: relative; padding-left: 1.0em;
}
.ikurachan_tabs ul li a:before {
	position: absolute; left: 0; content: '・'; display: block;
}

/* -- 説明文 -- */
#ikurachan .system_about p strong {
	display: block;
	font-size: 2.4rem; color: #254478; line-height: 1.4; text-align: center;
	padding: 20px; background: #EEE;
}

/* -- システム -- */
#ikurachan .cost_calculation h2 {
	padding-left: 0; background: none;
}
#ikurachan .cost_calculation h5 {
    font-weight: bold; color: darkblue; font-size: 1.7rem; margin-top: 15px; margin-bottom: 8px;
}
#ikurachan .cost_calculation ul {
	list-style: none; margin: 0;
}
#ikurachan .cost_calculation dl > div {
	margin-bottom: 20px;
}
#ikurachan .cost_calculation dl > div dt {
	margin-bottom: 12px;
}
#ikurachan .cost_calculation dl > div dd {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	-webkit-flex-flow: row nowrap;
	-moz-flex-flow: row nowrap;
	-ms-flex-flow: row nowrap;
	-o-flex-flow: row nowrap;
	flex-flow: row nowrap;
	flex: 1;
}
#ikurachan .cost_calculation dl > div dd input {
	flex: 1; margin-right: 10px;
}
#ikurachan .cost_calculation dl > div dd input + span {
	font-size: 2.0rem; font-weight: bold; line-height: 1.4; width: 2.5em;
}
#ikurachan .cost_calculation dl > div dd input + span span {
	font-size: 0.75em; font-weight: bold;
}

/* -- フォーム -- */
#ikurachan .cost_calculation input[type="radio"] + span,
#ikurachan .cost_calculation input[type="checkbox"] + span {
	font-size: 2.0rem; font-weight: bold; padding: 20px 30px 20px 70px; background: #FCFCFC; border: 1px solid #F2F2F2;
}
#ikurachan .cost_calculation input[type="radio"] + span:before,
#ikurachan .cost_calculation input[type="checkbox"] + span:before {
	left: 20px; width: 32px; height: 32px; background: #FFF; border-width: 1px; border-color: #CCC;
}
#ikurachan .cost_calculation input[type="radio"] + span:after,
#ikurachan .cost_calculation input[type="checkbox"] + span:after {
	left: 25px; width: 22px; height: 18px; background: url("../img/check.png") no-repeat; border: none; border-radius: 0;
	-webkit-transform: none;
	-ms-transform: none;
	-o-transform: none;
	transform: none;
}
#ikurachan .cost_calculation input[type="radio"] + span span,
#ikurachan .cost_calculation input[type="checkbox"] + span span {
	font-size: 0.7em; font-weight: bold;
}
#ikurachan .cost_calculation input[type="radio"]:checked + span,
#ikurachan .cost_calculation input[type="checkbox"]:checked + span {
	background: #EEE; border-color: #EEE;
}
#ikurachan .cost_calculation input[type="radio"]:checked + span:before,
#ikurachan .cost_calculation input[type="checkbox"]:checked + span:before {
	background: #333; border-color: #333;
}
#ikurachan .cost_calculation input[type="text"],
#ikurachan .cost_calculation input[type="number"] {
	font-size: 3.2rem; font-weight: bold; height: 100%; background: #FCFCFC; border-color: #F2F2F2; pointer-events: none;
}
#ikurachan .cost_calculation input[type="number"] {
	text-align: right;
}

/* -- checked -- */
#ikurachan .cost_calculation dl > div dd.checked input {
	background: #EEE; border-color: #EEE; pointer-events: auto;
}

/* -- 条件 -- */
#ikurachan .conditions {
	margin-bottom: 40px; padding: 20px; background: #EEE; border: 2px solid #DDD;
}
#ikurachan .conditions p strong {
	font-weight: bold; line-height: 1.4;
}
#ikurachan .conditions p {
	margin-bottom: 12px;
}
#ikurachan .conditions p:last-of-type {
	margin-bottom: 0;
}

/* -- 概算計算 -- */
#ikurachan .estimate {
	color: #FFF; margin-top: 60px; padding: 20px; background: #254478; box-sizing: border-box;
	-webkit-transition: 0.4s all ease-out;
	-o-transition: 0.4s all ease-out;
	transition: 0.4s all ease-out;
}
#ikurachan .estimate_inner {
	text-align: center; padding: 12px 20px; background: rgba(255,255,255, 0.15);
	-webkit-transition: 0.4s all ease-out;
	-o-transition: 0.4s all ease-out;
	transition: 0.4s all ease-out;
}
#ikurachan .estimate_inner > * {
	margin-bottom: 12px;
}
#ikurachan .estimate_inner > *:last-child {
	margin-bottom: 0;
}
#ikurachan .estimate_inner .price {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	-webkit-flex-flow: row wrap;
	-moz-flex-flow: row wrap;
	-ms-flex-flow: row wrap;
	-o-flex-flow: row wrap;
	flex-flow: row wrap;
	width: -webkit-calc( 100% + 40px );
	width: calc( 100% + 40px );
	margin: -10px 0 0;
	-webkit-transform: translateX(-20px);
	-ms-transform: translateX(-20px);
	-o-transform: translateX(-20px);
	transform: translateX(-20px);
}
#ikurachan .estimate_inner .price p {
	font-weight: bold; line-height: 1.4; margin: 10px 20px;
}
#ikurachan .estimate_inner .price p span {
	font-size: 2.8rem; font-weight: bold; line-height: 1.0;
}
#ikurachan .estimate_inner .price + p {
	font-size: 0.8em; color: #F9C806;
}
#ikurachan .estimate_inner .price + p a {
	color: inherit;
}
#ikurachan .estimate.other {
	color: #264478; padding: 10px;
}
#ikurachan .estimate.other .estimate_inner {
	background: #D9DDE8;
}

/* -- fixed -- */
#ikurachan .estimate.fixed {
	position: fixed; bottom: 0; left: 0; width: 100%; z-index: 10; margin: 0;
}
#ikurachan .estimate.fixed .estimate_inner {
	width: 90%; max-width: 1000px; margin-right: auto; margin-left: auto;
}