/* ---------------------
	- common setting
	- header
	- main
	- contents
	- footer
--------------------- *

/* =====================
	common setting
===================== */

.container {
	min-width: 1060px;
	min-height: 100%;
}
.content {
	padding-top: 120px;
	padding-bottom: 500px; /*footer分*/
}

/* =====================
	header
===================== */

.header {
	position: fixed;
	z-index: 100;
	top: 0;
	width: 100%;
	height: 120px;
	background: #fff;
	border-bottom: 2px solid #e6f0f4;
}
.header_inner {
	width: 100%;
	max-width: 1200px;
	min-width: 1080px;
	margin: 0 auto;
	padding: 15px 0;
}
.header .logo_block {
	float: left;
	width: 91px;
	margin: 0 0 0 30px;
}
.header_nav {
	display: table;
	float: right;
	width: 88%;
	padding: 20px 0 0 0;
	border-collapse: separate;
	border-spacing: 30px 0;
}
.header_nav li {
	display: table-cell;
	font-size: 1.4rem;
	line-height: 1.3;
	vertical-align: middle;
}
.header_nav li.img {
	width: 50px;
	min-width: 40px;
}
.header_nav li a {
	display: inline-block;
	text-decoration: none;
	text-align: center;
}

/*	header > header_link_list
------------------------*/

.header_outer {
	width: 100%;
	min-width: 1080px;
	background: #eef5f7;
}
.header_link_list {
	display: none;
	width: 924px;
	margin: 0 auto;
	padding: 15px 0;
	font-size: 0;
}
.header_link_list li {
	display: inline-block;
	width: 221px;
	margin: 5px;
	vertical-align: top;
}

/* =====================
	cotents
===================== */

/*	contents > visual_area
------------------------*/

.visual_area .visual {
	position: relative;
	overflow: hidden;
	width: 100%;
	/*height: 300px;*/
	height: 255px;
}
.visual_area .visual .mv_video {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: auto;
	min-width: 100%;
	height: auto;
	min-height: 100%;
	height: auto;
	margin: auto;
	background: url(../images/main_visual.jpg);
}
.visual_area .visual .mv_text {
	height: 300px;
}
.visual_area .visual .mv_text li {
	/*height: 300px;*/
	height: 255px;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 3px;
	line-height: 1.7;
}
.visual_area .visual .mv_text li .table {
	display: table;
	/*height: 300px;*/
	height: 255px;
	margin: auto;
}
.visual_area .visual .mv_text li .table_cell {
	display: table-cell;
	vertical-align: middle;
}

/*	contents > notice_area
------------------------*/

.notice_area {
	width: 1200px;
	margin: 0 auto;
	padding: 45px 100px;
}
.notice_block {
	float: left;
	width: 50%;
}
.notice_block .notice_header {
	margin: 0 0 15px 0;
}
.notice_block .notice_header .ttl {
	float: left;
	margin: 0 0 0 15px;
	font-size: 2.7rem;
	font-weight: normal;
	line-height: 28px;
	vertical-align: bottom;
}
.notice_block .notice_header .link_list {
	float: right;
	display: inline-block;
	font-size: 0;
}
.notice_block .notice_header .link_list li {
	display: inline-block;
}
.notice_block .notice_header .link_list li a {
	display: block;
	width: 28px;
}
.notice_block .notice_header .link_list li:not(:last-child) {
	margin: 0 20px 0 0;
}
.notice_block .notice_header .link_list li.more_btn {
	margin: 0 20px 0 0;
	padding: 0 20px;
	background: #559bb1;
	border-radius: 5px;
	vertical-align: bottom;
}
.notice_block .notice_header .link_list li.more_btn a {
	width: auto;
	color: #fff;
	font-size: 1.5rem;
	line-height: 28px;
	text-decoration: none;
}
.notice_block .notice_list {
	margin: 0;
}
.notice_block .notice_list li {
	margin: 0;
	padding: 15px 5px;
	border-bottom: 1px solid #808080;
}
.notice_block .notice_list li:before {
	display: none;
}
.notice_block .notice_list li .category_box {
	display: table;
	min-height: 23px;
	border-collapse: separate;
	border-spacing: 10px 0;
}
.notice_block .notice_list li .category_a {
	display: table-cell;
	width: calc(10em + 30px);
	border: 1px solid #000;
	border-radius: 2rem;
	font-size: 1.3rem;
	text-align: center;
	vertical-align: middle;
}
.notice_block .notice_list li .category_b {
	display: table-cell;
	width: calc(12em + 30px);
	background: #ccc;
	border-radius: 2rem;
	font-size: 1.3rem;
	text-align: center;
	vertical-align: middle;
}
.notice_block .notice_list li .category_a:hover,
.notice_block .notice_list li .category_b:hover {
	opacity: 0.8;
}
.notice_block .notice_list li .category_b.b_2 {
	background: #f8c5cd;
}
.notice_block .notice_list li .category_b.b_3 {
	background: #abbbd6;
}
.notice_block .notice_list li .category_b.b_4 {
	background: #c3e4bd;
}
.notice_block .notice_list li .category_b.b_5 {
	background: #fdc499;
}
.notice_block .notice_list li .category_b.b_6 {
	background: #feedb2;
}
.notice_block .notice_list li .category_b.b_20{
	background: #99E5FF;
}
.notice_block .notice_list li .category_b.b_22{
	background: #c3a9ff;
}
.notice_block .notice_list li .category_a a {

}
.notice_block .notice_list li .category_a a,
.notice_block .notice_list li .category_b a {
	display: block;
	text-decoration: none;
}
.notice_block .notice_list li .date {
	display: table-cell;
	vertical-align: middle;
}
.notice_block .notice_list li .txt {
	/*height: 4.6rem;*/
	overflow: hidden;
	margin: 15px 0 0 0;
	padding: 0 10px;
	font-size: 1.3rem;
	line-height: 1.7;
}

.tw_block {
	float: right;
	width: 430px;
	max-height: 600px;
	padding: 10px 0;
	border: 1px solid #efefef;
	border-radius: 10px;
	margin: 0 0 30px 0;
}
.weather_block {
	float: right;
	width: 430px;
	max-height: 600px;
	/*margin: 20px 0 0 0;*/
	margin: 0 0 10px 0;
	font-size: 0;
}
.weather_block .widget {
	display: inline-block;
	width: 48%;
	margin: 0 0 4% 0;
}
.weather_block .widget:nth-of-type(odd) {
	margin: 0 4% 4% 0;
}
.weather_block .weather-atlas-wrapper {

}
.weather_block .weather-atlas-header-title-wrapper {
	margin: 0;
}
.weather_block .city_selector_toggle,
.weather_block .weather-atlas-footer {
	display: none;
}

/*	contents > area_01
------------------------*/

.area_01 {
	display: block;
	background: #eef5f7;
}
.area_01 .area_inner {
	width: 920px;
	margin: 0 auto;
	padding: 40px 0;
	font-size: 0;
}
.area_01 .area_inner .txt_block {
	display: inline-block;
	width: 560px;
	padding: 0 90px 0 0;
	vertical-align: top;
}
.area_01 .area_inner .txt_block .ttl {
	margin: 0 0 50px 0;
	font-size: 2.7rem;
	font-weight: normal;
}
.area_01 .area_inner .txt_block .txt {
	font-size: 1.6rem;
	line-height: 2;
}
.area_01 .area_inner .btn_wrap .btn {
	display: block;
	margin: 38px 0 0 0;
	padding: 6px 0;
	border: 1px solid #000;
	font-size: 1.5rem;
	text-align: center;
	text-decoration: none;
	line-height: 1;
}
.area_01 .area_inner .img_block {
	display: inline-block;
}

/*	contents > bottom_area
------------------------*/

.bottom_area {
	padding: 40px 0;
}
.bottom_nav {
	display: table;
	width: 1140px;
	margin: 0 auto;
}
.bottom_nav li {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
.bottom_nav li a {
	display: table-cell;
	width: 240px;
	height: 240px;
	background: #559bb1;
	border-radius: 120px;
	color: #fff;
	font-size: 2.4rem;
	text-decoration: none;
	line-height: 1.2;
	vertical-align: middle;
}
.bottom_nav li a .sub_txt {
	display: block;
	padding: 15px 0 0 0;
	font-size: 1.6rem;
}

/* =====================
	footer
===================== */

.footer {
	position: absolute;
	bottom: 0;
}
.footer_inner {
	width: 734px;
	margin: 0 auto;
	padding: 50px 0 30px 0;
}
.footer .sitemap_block {
	float: left;
}
.footer .sitemap_block .list_disc {
	width: 645px;
	font-size: 0;
}
.footer .sitemap_block .list_disc li {
	display: inline-block;
	width: 180px;
	margin: 0 35px 12px 0;
	padding: 0 0 0 1.1em;
	color: #fff;
	font-size: 1.4rem;
	vertical-align: top;
}
.footer .sitemap_block .list_disc li:before {
	left: 0;
}
.footer .sitemap_block .list_disc li a {
	text-decoration: none;
	color: #fff;
}
.footer .sns_list {
	font-size: 0;
}
.footer .sns_list li {
	display: inline-block;
}
.footer .sns_list li:not(:last-child) {
	margin: 0 20px 0 0;
}
.footer .sns_list li a {
	display: block;
	width: 29px;
}
.footer .sns_block {
	float: right;
}
.footer .copyright {
	display: block;
	clear: both;
	color: #fff;
	font-size: 1.2rem;
	text-align: center;
}

/*	footer > site_search
------------------------*/

.site_search {
	clear: both;
	width: 390px;
	margin: 0 auto;
	padding: 40px 0;
}
.site_search * {
	box-sizing: content-box;
}
.gsc-search-box-tools .gsc-search-box .gsc-input {
	font-size: 1.3rem;
}
.gsc-input-box.gsc-input-box-focus {
	box-shadow: none;
	-webkit-box-shadow: none;
}

.top_attention {
	text-align: center;
	margin:20px 0 0 0 ;
	font-size:1.4rem;
}


.category_cloud li {
	display: inline-block;
	border-radius:2rem;
}

.category_cloud li a {
	text-decoration: none;
	display: block;
	padding:0 2rem;
}


.cms_area ul.category_cloud{
	margin:20px 0;
}

.cms_area ul.category_cloud li:before {
	display: none;
}

.cms_area ul.category_cloud li {
	padding:0;
	margin:5px;
}


.category_cloud li.category_b.b_1 {
	background: #999;
}
.category_cloud li.category_b.b_2 {
	background: #f8c5cd;
}
.category_cloud li.category_b.b_3 {
	background: #abbbd6;
}
.category_cloud li.category_b.b_4 {
	background: #c3e4bd;
}
.category_cloud li.category_b.b_5 {
	background: #fdc499;
}
.category_cloud li.category_b.b_6 {
	background: #feedb2;
}
.category_cloud li.category_b.b_20{
	background: #99E5FF;
}
.category_cloud li.category_b.b_22{
	background: #c3a9ff;
}

.kokodake_gate {
	width: 1140px;
	margin: 0 auto;	
	text-align: center;
}

.kokodake_gate li {
	display: inline-block;
	text-align: left;
	width:30%;

}

.cms_area .kokodake_gate li:before {
	display: none;
}

.kokodake_gate li a{
	display: inline-block;
	width: 100%;
	background: #559bb1;
	color: #fff;
	font-size: 1.8rem;
	text-decoration: none;
	line-height: 1.2;
	vertical-align: top;	
	padding:10px;
	border-radius:4px;
	min-height:62px;
	box-shadow: 0px 5px 0px #3d7080;
	position: relative;
	top:0;
}

.kokodake_gate li a:hover {
	box-shadow: 0px 0px 0px #3d7080;
	top:5px;
}

.btn_area {
	width:30%;
	margin:50px auto;

}


.base_btn {
	display: inline-block;
	width: 100%;
	background: #559bb1;
	color: #fff;
	font-size: 1.8rem;
	text-decoration: none;
	line-height: 1.2;
	vertical-align: top;	
	padding:10px;
	border-radius:4px;
	min-height:62px;
	box-shadow: 0px 5px 0px #3d7080;
	position: relative;
	top:0;	
}

.base_btn:hover  {
	box-shadow: 0px 0px 0px #3d7080;
	top:5px;
	
}


.error_text {
	color:#da0000;
}

.side_nav_block .base_btn {
	line-height: 2;
	/*margin:20px 0 0 0;*/
	margin: 0 0 20px 0;
}

.print_btn:after {
	content:"\f02f";
}

.login_btn:after {
	content:"\f090";
}

.logout_btn:after {
	content:"\f08b";
}

.cms_area .post_date_block {
	text-align: right;
	margin:40px 0 0 0;
}

.kokodake_mark {
	display: inline-block;
	background:#559bb1;
	margin:0 0 20px 0;
	border-radius:20px;
	padding:5px 20px;
	color:#fff;
}


.sns_area {
	text-align: right;
	margin:20px 0;
}

.sns_area iframe {
	height:25px;
	width:80px;
	display: inline-block;
	vertical-align: top;
}

.fb_count {
	display: inline-block;
	background:#559bb1;
	padding:5px 10px;
	margin:0 0 0 10px;
	color:#fff;
	font-size: 1.2rem;
}


/* =====================
	トップページ追加
===================== */
ul.topMenu {
	margin: -20px 0 50px -20px;
}

ul.topMenu li {
	float: left;
	width: 184px;
	margin: 20px 0 0 20px;
	font-size: 17px;
	text-align: center;
	display: table;
}

ul.topMenu li a {
	border: 4px solid #cde1e7;
	border-radius: 6px;
	padding: 5px ;
	text-decoration: none;
	color: #3e707f;
	display: table-cell;
	height: 104px;
	vertical-align: middle;
	position: relative;
}

ul.topMenu li a::before {
	content: '';
	position: absolute;
	border-top: 14px solid transparent;
	border-right: 14px solid #579bb0;
	border-left: 14px solid transparent;
	bottom: 5px;
	right: 5px;
}

.topOtherBox {
	width: 1000px;
	margin: 0 auto;
	padding: 40px 0;
}

.topOtherBox .topBanner ul {
	margin: -24px 0 0 -24px;
}

.topOtherBox .topBanner ul li {
	float: left;
	width: 232px;
	margin: 24px 0 0 24px;
}

.topOtherBox .topLinkList {
	border-top: 1px solid #ccc;
	margin-top: 40px;
	padding-top: 40px;
}

.topOtherBox .topLinkList ul {
	margin: -15px 0 0 -40px;
}

.topOtherBox .topLinkList ul li {
	float: left;
	margin: 15px 0 0 40px;
	padding-left: 20px;
	position: relative;
}

.topOtherBox .topLinkList ul li::before {
	content: "";
	background: #579bb0;
	border-radius: 5px;
	width: 10px;
	height: 10px;
	position: absolute;
	top: 6px;
	left: 0;
}

.topOtherBox .topLinkList ul li a {
	text-decoration: none;
}

.topOtherBox .topLinkList ul li a:hover {
	text-decoration: underline;
}


@media screen and (max-width: 736px) {

	ul.topMenu {
		margin: -20px 0 30px;
	}

	ul.topMenu li {
		float: none;
		width: 100%;
		max-width: 320px;
		margin: 20px auto 0;
	}

	.topOtherBox {
		width: auto;
		padding: 30px 20px;
	}

	.topOtherBox .topBanner ul {
		margin: -15px 0 0;
	}

	.topOtherBox .topBanner ul li {
		float: none;
		width: auto;
		max-width: 232px;
		margin: 15px auto 0;
	}

	.topOtherBox .topLinkList {
		margin-top: 30px;
		padding-top: 30px;
	}

	.topOtherBox .topLinkList ul {
		margin: -15px 0 0;
	}

	.topOtherBox .topLinkList ul li {
		float: none;
		margin: 15px 0 0;
	}



}