@charset "UTF-8";

/* -----------------------------------
   汎用
 * ----------------------------------- */
html{background-color: #306366;}
img {width: 100%}


/* -----------------------------------
	メニュー
   ----------------------------------- */
input.hamburger {display: none;}
nav{width: 1150px;}
@media screen and (max-width: 1150px) {	
nav{width: 100%;}    
}
@media screen and (min-width: 769px) {	
nav{
    width: 1150px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    height: 35px
}   
#navigation{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 35px;
}    
#navigation li {
    display: flex
}
#navigation li a {
    color: #fff;
    line-height: 1.2;
    padding: .3em .5em .3em .5em;
    text-align: center;
    height: 35px;
    border-left: 1px solid #ffffff;
    display: flex;
    align-items: center;
    box-sizing: border-box
}
#navigation li a:hover,
#navigation li.active {
    background-color: #fff;
    color: #306366
}
#navigation li a:hover a,
#navigation li.active a {
    color: #306366
}	
}
@media screen and (max-width: 768px) {
#menu{display: block;}	
#menu{
	width: 100%;
	height: 50px;
	background-color: #306366;
	position: fixed;
	z-index: 10;
	top: 0;
}
h1 a {
    height: 50px;
    font-size: 19px;}
h1 a span.h1-sub {font-size: 14px;}      
.drawer-list ul#navigation{
    width: 80%;
    margin: 30px auto auto;
}	
.drawer-list {
	position: fixed;
	right: 0;
	top: 0;
	height: 100vh;
	width: 100vw;
	transform: translate(100vw, 0);
	box-sizing: border-box;
	pointer-events: none;
	transition: width 475ms ease-out, transform 450ms ease, border-radius .8s .1s ease;
	border-bottom-left-radius: 100vw;
	background-color: #306366;
	z-index: 10;
}
.drawer-list ul#navigation li {
	text-transform: uppercase;
	pointer-events: auto;
	white-space: nowrap;
	box-sizing: border-box;
	transform: translatex(100vw);
	line-height: 1.8;
	width: 100%
}
.drawer-list ul#navigation li a {
	padding: 1rem 10px;
	color: #ffffff;
	display: block;
	font-size: 16px
}
.drawer-list ul#navigation li.sp-menu{display: inline}		
input.hamburger:checked ~ .drawer-list {
  transform: translatex(0);
  border-bottom-left-radius: 0;
}
input.hamburger:checked ~ .drawer-list #navigation li {transform: translatex(0);}	
label.hamburger {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 9999;
	display: block;
	height: 50px;
	width: 50px;
}
label.hamburger:hover {cursor: pointer;}
label.hamburger > i {
	position: absolute;
	width: 30px;
    height: 2px;
    top: calc(50% - 2px);
    left: 10px;
	background-color: #ffffff;
	transition-duration: .35s;
	transition-delay: .35s;
}
label.hamburger > i:before,
label.hamburger > i:after {
	content: "";
	position: absolute;
	width: 30px;
    height: 2px;
	left: 15px;
	background-color: #ffffff;
	transition: transform 0.35s;
	transform-origin: 50% 50%;
}
	
label.hamburger > i:before {
	top: 15px;
	transform: translate(-50%, -25px);
	background-color: #ffffff;
}
label.hamburger > i:after {
	bottom: 15px;
	transform: translate(-50%, 25px);
}

input.hamburger:checked ~ label > i {
  background-color: transparent;
  transform: rotate(0deg);
}
input.hamburger:checked ~ label > i:before {
	transform: translate(-50%, -50%) rotate(135deg);
	left: 15px;
    top: 0px;
	background-color: #ffffff;
}
input.hamburger:checked ~ label > i:after {
	transform: translate(-50%, -50%) rotate(-135deg);
	left: 15px;
	top: 0px;
	background-color: #ffffff;
}
input.hamburger:checked ~ label close {
  color: #FEFEFE;
  width: 100%;
}
input.hamburger:checked ~ label open {
  color: rgba(0, 0, 0, 0);
  width: 0;
}
nav li br{display: none!important;}	    
}

/* -----------------------------------
   カラム
 * ----------------------------------- */
#wrapper {
    width: 1150px;
    margin: 10px auto
}
.block-bg {
  background-color: #f7f7f7;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, .2);
  padding: 10px;
}

/*重要なお知らせ*/
#container-oshirase {
  margin-bottom: 10px;
  display: flex;
  align-items: center
}
#container-oshirase h2 {
  background-color: #f00;
  color: #fff;
  width: 85px;
  text-align: center;
  font-size: 15px;
  font-weight: bold;
  margin: 5px 10px 5px 5px
}
#oshirase {
  color: #f00;
  font-size: 14px
}

/*地図面*/
.h2-map small{
    font-size: 13px;
    margin-left: 8px;
}
.h2-map span{
    font-size: 11px;
    margin-left: auto;
    font-weight: normal;
}

#mainmap{width: 59%}
#mainmap-left{
    width: 33%;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between
}
#mainmap-right{
    width: 65%;
    line-height: 0;
}
#submap{width: calc(100% - 59% - 30px);}
#mainmap-right a{
    border: 1px solid transparent;
    display: block;
    /*▼モック版用*/
    height: 660px;
    background-color: #d3d3d3;
}
.sub-map{
    width: 60%;
    line-height: 0;
}
#mainmap-right a,
.sub-map a{
    border: 1px solid #ffffff;
    display: block;
    transition: all .3s linear
}
#mainmap-right a:hover,
.sub-map a:hover{border: 1px solid #306366;}
.sub-hanrei{width: 38%;}
.sub-hanrei a table{color: #000000;}
#main-column table{font-size: 13px}
#tbl-city a{display: inline-block}
#container-weather .sub-hanrei{
    display: flex;
    flex-wrap: wrap;
}
#container-weather .sub-hanrei #bt-btn{
    display: flex;
    align-items: flex-end
}

/* サブコラム */
.h2-main {
  background-color: #306366;
  color: #fff;
  font-size: 17px;
  padding: 5px 10px 4px;
  border-radius: 4px;
  margin-bottom: 5px
}
.ttl-sub {
    font-weight: bold;
    font-size: 15px;
    margin-top: 5px;
    margin-bottom: 3px;
    color: #306366;
}
#third-column .block-bg{width: 47.5%}
.block-img {width: 25px;}
.block-txt{
    width: calc(100% - 25px - 55px - 25px);
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.block-qr {width: 90px}
.qr {width: 55px;}
.t-small {font-size: 11px;}
@media screen and (max-width:1100px) {
#wrapper {width: 98%;}
}
@media screen and (max-width:768px) {
#doshamap{flex-direction: column-reverse}
#mainmap{
    width: 100%;
    margin-bottom: 10px;
}
#mainmap-left{width: 100%}   
#mainmap-left > div{width: 100%}    
#mainmap-right{
    width: 100%;
    margin-bottom: 15px;
}
#mainmap-right a{height: auto;}    
#submap{width: 100%}
#third-column .block-bg {
    width: 100%;
}    
}

/* -----------------------------------
   リンクリスト
 * ----------------------------------- */
.column-link{margin-left: 10px}
#news .column-link{
    height: 80px;
    overflow-y: scroll
}
.column-link li:before {
    font-family: 'FontAwesome';
    content: "\f105";
    padding-right: 3px;
}



/* -----------------------------------
   フッター
 * ----------------------------------- */
footer {
  background-color: #306366;
  color: #fff;
  padding-top: 10px;
  padding-bottom: 50px;
  text-align: justify
}
#footer-inner {
  width: 1024px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between
}
footer h2 {
  font-size: 18px;
  margin-bottom: 5px;
  color: #fff
}
#copyright {
    font-size: 11px;
    margin-top: 5px;
}
#footer-right a {
    color: #FFFFFF;
    display: inline-block;
    text-align: right;
}


@media screen and (max-width:768px) {
  #wrapper {
    width: 95%;
    padding-top: 50px;      
  }
  #footer-inner {
    width: 95%
  }
}

