@charset "UTF-8";

@import url(https://fonts.googleapis.com/css?family=Lato|Meie+Script|Josefin+Sans|M+PLUS+1p|Sawarabi+Mincho);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/earlyaccess/kokoro.css);
@import url(https://fonts.googleapis.com/earlyaccess/hannari.css);

/*
	BASE
*******************************/

* {
	/*font-family:"Lato", Arial, Helvetica, "sans-serif", "M PLUS 1p", "Noto Sans JP",ヒラギノ角ゴ Pro W3, "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";*/

	font-family:"Lato", Arial, Helvetica, "sans-serif", "Noto Sans JP",ヒラギノ角ゴ Pro W3, "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	margin: 0;
	padding: 0;
	font-feature-settings : "palt";
}
body * {line-height:1.22em;}

img {
	vertical-align:bottom;
	line-height:0;
}

p,th,td,dt,dd,li,h1,h2,h3,h4,h5,h6 { color:#222;}

a,
a:link,
a:visited {
	color:#333;
	text-decoration:underline;
}
a:hover {
	color:#666;
	text-decoration:none;
}

a img {
	outline:none;
	border:none;
}

.clear { clear:both;}

/*//////////////////////////////////////////////////////////////////////////*/



/*
	BASE LAYOUT
******************/

body {
	min-width:1000px;
}

* img {
	max-width: 100%;
	height: auto;
}

#main {
	width:calc(100% - 40px);
	max-width:1000px;
	margin:0 auto;
	overflow:hidden;
}

/*
	HEADER LAYOUT
******************/

#head {
	width:100%;
	max-width:1000px;
	margin:0 auto;
	background:#09F;
}
#head #sosiki {
	width:100%;
	background:#EFEFEF;
	margin:0;
	padding:5px 0;
}
#head #sosiki > div {
	width:calc(100% - 40px);
	margin:0 auto;
}
#head #sosiki > div a {
	font-size:16px;
	line-height:1em;
	text-decoration:none;
}
#head #sosiki > div a span {
	display:inline-block;
	font-size:12px;
	color:#468abc;
	margin-left:1.5em;
}
#header {
	width:calc(100% - 40px);
	margin: 0 auto;
	padding:10px 0;
	position:relative;
}
#header h1 {
	display:inline-block;
	vertical-align:top;
	letter-spacing:0.1em;
	font-size:30px;
	color:#FFF;
	line-height: 40px;
	margin-right:0.3em;
}
#header > p {
	display:
	inline-block;
	vertical-align:
	top;
	font-size:18px;
	line-height: 40px;
	font-weight:700;
	color:#ff0;
	margin-right: 0.7em;
	/* width: 150px; */
}
#header > p span {
	color:#f00;
}
#header > p span:first-child {
	margin-right:0.3em;
}
#header > div {
	display:inline-block;
	vertical-align:top;
	color:#FFF;
}
#header > div > span:first-child {
	display:inline-block;
	font-size:16px;
	line-height:1.3em;
	padding:0 0.5em;
	background:#FFF;
	color:#09F;
	margin-right: 0.4em;
	position:relative;
	bottom: 0.3em;
}
#header > div .svg-inline--fa.fa-sun {
	font-size:28px;
	color:#Fc0;
}
#header > div .svg-inline--fa.fa-moon-stars {
	font-size:28px;
	color:#FF0;
}
#header > div .svg-inline--fa.fa-arrow-right {
	font-size:18px;
	margin:0 5px;
}
#header > div > span {
	display:inline-block;
	text-align:center;
	font-size:18px;
	line-height:1em;
}
#header > div > span span {
	font-size:11px;
	line-height:1em;
	margin-bottom:0.3em;
	display:block;
}
#header > a {
	display:
	block;
	width:40px;
	height:40px;
	border-radius:50%;
	text-align:	center;
	color:#000000;
	background:#FFF;
	font-size:22px;
	line-height:36px;
	box-sizing:
	border-box;
	border:3px solid #000000;
	position:
	absolute;
	right: -10px;
	top:calc(50% - 20px);
	transition:.3s;
	display:grid;
	align-items:center;
	justify-content:center;
}
#header > a img {
	width:70%;
	margin:0 auto;
}
#header > a:hover {
	transform:scale(1.1);
}
#header > a.twlink {
	display:block;
	width:128px;
	height:40px;
	border-radius:6px;
	text-align:center;
	color:#41aae1;
	background:#FFF;
	font-size:12px;
	font-weight:600;
	line-height:1.2em;
	text-align:left;
	box-sizing:border-box;
	padding-top:0.3em;
	padding-left:0.5em;
	border:3px solid #41aae1;
	position:absolute;
	right:30px;
	top:calc(50% - 20px);
	transition:.3s;
	text-decoration:none;
}
#header > a.twlink:hover {
	transform:scale(1.0);
	background-color:#41aae1;
	color:#FFF;
	border-color:#FFF;
}
#header > a.twlink::after {
	content:'';
	display:block;
	width:39px;
	height:36px;
	background:url(../img/common/meisui.png) no-repeat right center;
	background-size:contain;
	position:absolute;
	right:-5px;
	top:-6px;
	transition:.3s;
}
#header > a.twlink:hover::after {
	transform:scale(1.1);
}

#header > a.voters {
	width: 140px;
	height:
	auto;
	box-sizing:
	border-box;
	border:
	none;
	border:1px solid #ff0000;
	border-radius:0;
	right: 40px;
	top: calc(50% - 28px);
}



#menu {
	max-width:1000px;
	margin:0 auto;
	border-top:1px solid #FFF;
	background:#FFF;
}
#menu ul {
	margin:0 auto;
	letter-spacing: -0.4em;
	background:#09F;
	text-align:right;
}
#menu ul li {
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width:calc(100%/5);
	box-sizing:border-box;
	border-bottom:1px solid #FFF;
	border-right:1px solid #FFF;
}
#menu ul li:nth-child(5n) {
	border-right:none;
}
#menu ul li:nth-child(n+6) {
	border-bottom:none;
}
/* #menu ul li:nth-child(n+6):nth-child(-n+8) {
	width:calc(80% / 3);
} */
#menu ul li a {
	display:block;
	text-align:center;
	font-size:16px;
	color:#FFF;
	text-decoration:none;
	height:34px;
	line-height:34px;
	background:#09F;
	transition:.3s;
}

#menu ul li a span.fontsmall {
	font-size:14px;
}
#menu ul li a span.fontsmall.l2 {
	font-size:15px;
	display:inline-block;
	line-height:1.1;
	transform:translateY(1px);
}
#menu ul li a:hover,
#menu ul li.current-menu-item a,
#menu ul li.current_page_item a {
	background:#06C;
}
#menu ul li:last-child a {
	background:#F90;
}
#menu ul li:last-child a:hover,
#menu ul li:last-child.current_page_item a {
	background:#F60;
}
/* #menu ul li.under {
	width:calc(100%/4);
} */
/**
#menu ul li:nth-child(8) {
	position: relative;
}
#menu ul li:nth-child(8)::after {
	content:'';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}
#menu ul li:nth-child(8) a {
	font-size: 13px;
	opacity: .5;
	z-index: 1;
}
#menu ul li:nth-child(8) a:hover {
    font-size: 14px;
    opacity: .5;
}
**/
/*
	CONTENT LAYOUT
******************/

#contents {
	padding: 30px 0;
}
#contents .contents {
	margin: 0 0 30px;
	padding: 0 15px;
}
#contents p,
#contents th,
#contents td,
#contents dt,
#contents dd {
	font-size: 14px;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}
#contents h1 {
	font-size: 18px;
	color: #FFF;
	line-height: 1.5;
	background: #a8091a;
	margin: 0 0 30px;
	padding: 7px 20px;
	font-weight: bold;
}

table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom:15px;
}
table th,
table td {
	border: 1px solid #ccc;
	font-size:13px;
	padding:0.5em;
	vertical-align: middle;
	text-align: left;
	font-weight: normal;
}
table th {
	text-align:center;
	font-weight:600;
}
table thead th,
table thead td {
	background:#f1f1f1;
}
table tfoot th,
table tfoot td {
	background:#f1f1f1;
	font-weight:bold;
	border-top:3px double #cccccc;
}

/*
	OPTION LAYOUT
******************/

.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb15 {
	margin-bottom: 15px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}


/*
	FOOTER LAYOUT
******************/

#foot{
	max-width:1000px;
	margin:0 auto;
	border-top: 5px solid #09F;
}
#footer {
	width:calc(100% - 40px);
	margin: 0 auto;
	padding: 10px 0;
	position: relative;
}
#footer p {
	font-size:13px;
	font-weight:600;
	line-height:1em;
	color:#09F;
}
#footer #copy {
	font-size:12px;
	font-weight:100;
	line-height:1em;
	color:#09F;
	position: absolute;
	top: 10px;
	right: 0;
}

.ui-widget-content,
.ui-widget.ui-widget-content {
	border:none;
}
.ui-widget-header {
	border:none;
	background:none;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
	font-size:16px;
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active, .ui-button:active,
.ui-button.ui-state-active:hover {
	border:none;
	background:#09f;
}
#contents .ui-tabs-nav a {
	color:#09F;
}
#contents .ui-state-active a,
#contents .ui-widget-content .ui-state-active a,
#contents .ui-widget-header .ui-state-active a,
#contents a.ui-button:active,
#contents .ui-button:active a,
#contents .ui-button.ui-state-active:hover a {
	color:#FFF;
}
.ui-tabs .ui-tabs-nav {
	border-bottom:5px solid #09f;
	border-radius:0;
	margin-bottom:30px;
}

#shiftnav-toggle-main-button {
	padding:8px 9px!important;
	background:#0074e8;
	box-sizing:border-box;
	border-bottom:1px solid #FFFFFF;
}
#shiftnav-toggle-main-button .svg-inline--fa {
	color:#ffffff;
}
.shiftnav-menu-title.shiftnav-site-title {
    font-size:21px!important;
    padding:20px 30px!important;
}

#contents #tmenu div ul li a[title="acc"][href="#"],
#menu ul li a[title="acc"][href="#"] {
	pointer-events:none;
	opacity:.66;
}
@media screen and (max-width:1200px){
	
}

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

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

#main {
    width: calc(100% - 20px);
}

body {
	min-width:auto;
}
#contents {
	padding: 15px 0;
}
#contents .contents {
	margin: 0 0 15px;
	padding: 0 10px;
}
#contents p,
#contents th,
#contents td,
#contents dt,
#contents dd {
	font-size: 14px;
	line-height: 1.5;
}

#head #sosiki > div {
    width: calc(100% - 20px);
}
#head #sosiki > div a {
	font-size:14px;
	display: block;
	width: 250px;
}
#head #sosiki > div a span {
	display:block;
	margin: 0.3em 0 0;
	width: 20em;
}
#header {
	width:calc(100% - 20px);
}
#header h1 {
	display:block;
	letter-spacing:normal;
	line-height: 1em;
	margin:0 auto 15px;
    text-align:center;
}
#header > p {
	display:
	block;
	text-align:	center;
	font-size:16px;
	line-height: 1em;
	margin:0 auto 10px;
	width: 100%;
}
#header > div {
	/* display:block; */
}
#header > div > span:first-child {
	font-size:14px;
}
#header > div .svg-inline--fa.fa-sun {
	font-size:24px;
}
#header > div .svg-inline--fa.fa-moon-stars {
	font-size:24px;
}
#header > div .svg-inline--fa.fa-arrow-right {
	font-size:16px;
}
#header > div > span {
	font-size:16px;
}
#header > div > span span {
	font-size:10px;
	margin-bottom: 0.1em;
}
#header > a {
	width:30px;
	height:30px;
	font-size:18px;
	line-height: 27px;
	right:0;
	top:auto;
	bottom:8px;
}
#header > a:hover {
	transform:scale(1.1);
}
#header > a.twlink {
	width:110px;
	height:30px;
	font-size: 11px;
	padding-top:0.1em;
	border:1px solid #41aae1;
	right: 5px;
	top:calc(50% - 16px);
	line-height: 1.1em;
}
#header > a.twlink::after {
	width:32px;
	height:32px;
	right:-5px;
	top:-5px;
}
#header > a.voters {
	display:none;
}
	
#tmenu {
	display:none;
}

#menu {
	display:none;
	
	max-width:1000px;
	margin:0 auto;
	border-top:1px solid #FFF;
	background:#FFF;
}
#menu ul {
	margin:0 auto;
	letter-spacing: -0.4em;
	background:#09F;
	text-align:right;
}
#menu ul li {
	display: inline-block;
	vertical-align: top;
	letter-spacing: normal;
	width:20%;
	box-sizing:border-box;
	border-bottom:1px solid #FFF;
	border-right:1px solid #FFF;
}
#menu ul li:nth-child(5n) {
	border-right:none;
}
#menu ul li:nth-child(n+6) {
	border-bottom:none;
}
#menu ul li a {
	display:block;
	text-align:center;
	font-size:16px;
	color:#FFF;
	text-decoration:none;
	height:34px;
	line-height:34px;
	background:#09F;
	transition:.3s;
}
#menu ul li a:hover,
#menu ul li.current-menu-item a,
#menu ul li.current_page_item a {
	background:#06C;
}
#menu ul li:last-child a {
	background:#F90;
}
#menu ul li:last-child a:hover,
#menu ul li:last-child.current_page_item a {
	background:#F60;
}


/*
	FOOTER LAYOUT
******************/

#footer {
	width:calc(100% - 20px);
}
#footer p {
	font-size:12px;
	text-align:center;
	margin:0 auto 5px;
}
#footer #copy {
	font-size:11px;
	position:relative;
	top:auto;
	text-align:center;
	line-height:1.3em;
}

footer + #responsive-menu + #click-menu {
    font-size: 13px !important;
    right: 10px;
    top: 5px;
    color: #FFFFFF;
    background: #000000;
    padding: 5px;
    border-radius: 4px;
}

footer + #responsive-menu + #click-menu img, footer + #responsive-menu + #click-menu .threeLines {
    width: 23px !important;
    height: 22px !important;
    margin: 1px auto 0 !important;
}
	
footer + #responsive-menu + #click-menu .threeLines .line {
    height: 3px !important;
    margin-bottom: 5px !important;
    background: #FFFFFF !important;
    width: 100% !important;
}
footer + #responsive-menu + #click-menu .threeLines .line:last-child {
    margin-bottom: 0px !important;
}
	
footer + #responsive-menu {
	background:#000000;
}
footer + #responsive-menu .responsive-menu li a {
    border-top: 1px solid #3C3C3C !important;
}
footer + #responsive-menu .responsive-menu li.current-menu-item > a:hover, 
footer + #responsive-menu .responsive-menu li.current-menu-item > .appendLink:hover, 
footer + #responsive-menu .responsive-menu li.current_page_item > a:hover, 
footer + #responsive-menu .responsive-menu li.current_page_item > .appendLink:hover {
    background: #43494C !important;
}

}