@charset "UTF-8";

:root {
	--Color-red: #DC1E1E;
	--Color-pink: #FA5ABE;
	--Color-dark-pink: #DC0082;
	--Color-light-blue: #00AAF0;
	--Color-blue: #0078DC;
	--Color-green: #82BE1E;
	--Color-purple: #9600BE;
	--Color-light-purple: #646EFF;
	--Color-navy: #2D37D7;
	--Color-orange: #F06932;
	--Color-gray: #646464;
  }

/*共通 color
---------------------------------------------------------- */
.c-bg-color-red {
	background-color: var(--Color-red) !important;
}
.c-bg-color-pink {
	background-color: var(--Color-pink) !important;
}
.c-bg-color-dark-pink {
	background-color: var(--Color-dark-pink) !important;
}
.c-bg-color-light-blue {
	background-color: var(--Color-light-blue) !important;
}
.c-bg-color-blue {
	background-color: var(--Color-blue) !important;
}
.c-bg-color-green {
	background-color: var(--Color-green) !important;
}
.c-bg-color-light-purple {
	background-color: var(--Color-light-purple) !important;
}
.c-bg-color-purple {
	background-color: var(--Color-purple) !important;
}
.c-bg-color-navy {
	background-color: var(--Color-navy) !important;
}
.c-bg-color-orange {
	background-color: var(--Color-orange) !important;
}
.c-bg-color-gray {
	background-color: var(--Color-gray) !important;
}

/*style.css上書き
---------------------------------------------------------- */
#contents {
	padding: 80px 0;
}

.page_column_contents {
	padding: 0;
}

.page_main_contents {
	float: none;
	width: 100%;
}

.article_dt_main {
	margin: 0 auto;
	padding: 40px;
	background-color: #fff;
}

/*角丸リセット*/
.article_dt_main,
.article_dt_main .img img,
.btn a, .btn button,
.btn input,
.btn .no_link,
.tab_area .tab_list li,
.img_columns_list01 > ul > li,
.img_columns_list01 > ul > li .img .img_background,
.article_dt_cmt {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-o-border-radius: 0;
	border-radius: 0;
}


@media only screen and (max-width: 750px) {
	.page_main_contents {
		margin: 0;
		padding-top: 40px;
	}
	
	.btn_bg_all_cover.search {
		padding: 40px 3%;
		background-color: #fff;
	}
}




/*Gナビ
---------------------------------------------------------- */
.program_gnav {
	color: #fff;
	background-color: #137e69;
}

.program_gnav nav ul {
	display: table;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	table-layout: fixed;
}

.program_gnav nav ul li {
	display: table-cell;
	vertical-align: middle;
	width: 33.3%;
	border-right: 1px solid #fff;
}

.program_gnav nav ul li:first-child {
	border-left: 1px solid #fff;
}

.program_gnav nav ul li a {
	display: table;
	width: 100%;
	min-height: 84px;
	color: #fff;
	text-decoration: none;
}

.program_gnav nav ul li a .center {
	display: table-cell;
	vertical-align: middle;
	min-height: inherit;
	padding: 5px;
	text-align: center;
}

.firefox .program_gnav nav ul li a .center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	align-items: center;
}

.program_gnav nav ul li a .center [class*="icon"] {
	display: none;
}

.program_gnav nav ul li a .lang {
	font-size: 2.2rem;
}

.program_gnav .sp_program_info,
.program_gnav .menu_btn {
	display: none;
}



@media only screen and (min-width: 751px) {
	
	.program_gnav nav {
		display: block !important;
		top: auto !important;
	}
	
	.program_gnav nav ul li a:hover {
		color: #137e69;
		background-color: #fff;
	}
	
}

@media only screen and (max-width: 750px) {
	
	.program_gnav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: space-between;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}
	
	.program_gnav .sp_program_info {
		display: block;
		height: 50px;
	}
	
	.program_gnav .sp_program_info .txt {
		font-size: 1.5rem;
	}

	.program_gnav nav {
		width: 100%;
		background-color: #137e69;
	}

	.program_gnav nav ul li a {
		min-height: 50px;
	}
	
	.program_gnav nav ul li a .center [class*="icon"] {
		display: inline-block;
		margin: 0 8px 0 0;
		font-size: 10px;
		-webkit-transform: scale(0.8);
		transform: scale(0.8);
	}
	
	.program_gnav nav ul li a .lang {
		font-size: 1.6rem;
	}
	
}


/*候補者一覧
---------------------------------------------------------- */
.candidate_link {
	position: relative;
	display: inline-block;
	float: right;
    font-weight: bold;
    font-size: 1.6rem;
}
.candidate_link a {
    color: #137e69;
	text-decoration: none;
	padding: 7px 15px 7px 30px;
    background-color: #fff;
    border: 2px solid #137e69;
    border-radius: 30px;
}
.candidate_link a:before {
    display: block;
	color: #137e69;
    content: "\e905";
    font-family: "icomoon";
    position: absolute;
    top: 50%;
    right: 103px;
    font-size: 1.2rem;
    font-weight: bold;
    transform: translate(0, -50%);
}
.txt {
	font-size: 1.6rem;
}
.constituency .txt {
	padding: 15px
}
#candidate ul {
	justify-content: space-between;
	display: flex;
    flex-wrap: wrap;
}
#candidate ul > li {
	width: calc(50% - 20px);
	height: fit-content;
	margin: 20px 0;
	padding: 20px;
    display: flex;
    flex-wrap: wrap;
	background-color: #fff;
}
#candidate ul > li .img {
	width: 100px;
}

#candidate ul > li .img .img_body {
	padding-top: 123.265%;
	background-color: #f1f1f1;
	position: relative;
}

#candidate ul > li .img .img_background {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}

#candidate ul > li .txt h3 {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
}

#candidate ul > li .txt h3 .kana {
	font-size: 1.4rem;
	font-weight: normal;
	display: block;
	margin-bottom: 8px;
}

#candidate ul >	li .pledge {
	margin-top: 15px;
	width: 100%;
}

.party {
	font-size: 14px;
	border-radius: 4px;
	color: #fff;
    padding: 3px 8px 2px 8px;
}

.profile_txt {
	margin-left: 20px;
}

.comment a {
	font-size: 14px;
	border-radius: 20px;
    color: #000;
	border: 1px solid #000;
    background-color: #f0f3f5;
    text-decoration: none;
    padding: 4px 0 2px 0;
	width: 140px;
    text-align: center;
    display: block;
    margin-top: 8px;
}

.toggle_txt {
	display: none;
}

.toggle_ttl {
	margin: 0 0 4px;
	padding: 10px 25px;
	color: #fff;
	font-weight: bold;
	background-color: #529184;
}
.constituency .toggle_ttl {
	background-color: #529184;
	cursor: default;
}

.toggle_ttl .flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: flex-start;
	justify-content: flex-start;
	align-items: center;
}

.toggle_ttl .flex [class*="icon"] {
	margin-right: 10px;
	display: inline-block;
	font-size: 8px;
	font-weight: normal;
}

.toggle_ttl.js_show .flex .icon_arrow01_down:before {
	content: "\e903";
}
@media only screen and (max-width: 750px){
	.candidate-list {
		display: block;
	}
	#candidate ul > li {
		width: 100%;
		padding: 10px;
	}
	#candidate ul >li .pledge {
		margin-top: 15px;
	}
	.toggle_ttl {
		font-size: 1.6rem;
	}

	.party-color-red, .party-color-pink, .party-color-dark-pink, .party-color-light-blue, .party-color-blue, .party-color-green, .party-color-purple, .party-color-light-purple, .party-color-navy, .party-color-orange, .party-color-gray {
		padding: 3px 10px 4px 8px;
	}
	
	.comment a {
		font-size: 16px;
		padding: 6px 0 6px 2px;
	}
}
@media only screen and (min-width: 749px){
	.candidate_link {
		display: none;
	}
}



/*関連動画
---------------------------------------------------------- */
#movie ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#movie ul > li {
	width: calc(50% - 20px);
    margin: 20px 0;
}
.c-youtube-embed {
  width: 100%;
  position: relative;
  aspect-ratio: 16/9;
}
.c-youtube-embed iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  border: none;
}
@media only screen and (max-width: 750px){
	#movie ul {
		display: block;
		margin: 0 20px;
	}
	#movie ul > li {
		width: 100%;
	}
}




/*ベースカラー設定
----------------------------------------*/
/*style.css上書き*/

.ttl_h2_01:after,
.article_dt .article_ttl h2:after {
	background-color: #137e69;
}

.ttl_h3_01 {
	display: inline-block;
	margin: 0;
}

.ttl_h3_01:before {
	background-color: #137e69;
}

.btn_common01 {
	color: #fff;
	background-color: #137e69;
}

.btn_white01 {
	background-color: #137e69;
	color: #fff;
}

.ttl_h4_01,
.article_dt .article_ttl h2,
.article_dt .article_ttl h2:after {
	color: #137e69;
}

.article_list > ul > li > a,
.article_list > ul > li > .no_link {
	border-color: #fef0f5;
}

.article_list > ul > li .img .img_body {
	box-shadow: 0px 0px 0px 1px #fef0f5 inset;
}

.footer_simple {
	background-color: #fff;
}



@media only screen and (max-width: 750px) {
	.contents_cover:nth-of-type(even) {
		background-color: transparent;
	}
	.ttl_h2_01 {
		font-size: 2.6rem;
	}
	.ttl_h3_01 {
		font-size: 2.2rem;
	}
}



/*メイン
----------------------------------------*/
.main {
	background: #bdeae3;
}

.main .main_visual h1 {
	height: 280px;
	text-indent: -9999px;
	overflow: hidden;
	background: url(../img/main_visual.jpg) top center no-repeat;
}



@media only screen and (max-width: 750px) {
	
	.main {
		background: none;
	}
	
	.main .main_visual h1 {
		height: 0;
		padding-top: 25.46%;
		background: url(../img/sp_main_visual.jpg) top center no-repeat;
		-webkit-background-size: cover;
		-moz-background-size: cover;
		-o-background-size: cover;
		background-size: cover;
	}
}

