@import url('reset.css');


@media screen and (max-width: 960px) {

body {
}

.clear {
	clear: both;
	height: 0px;
	margin: 0;
	padding: 0;
}
.pc {
	display: none !important;
}
.sp {
	display: inherit;
}

/*---------- wrapper-----*/
#wrapper {
	width: 100%;
}

/*---------- header------*/
#header {
	margin: 0;
	padding: 0;
	height: 47px;
	border-bottom: #ccc solid 1px;
	position: relative;
}
#header h1 {
	width: 150px;
	margin-top: 0;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
	padding: 7px 0 0;
	text-align: center;
}
#header h1 img {
	width: 100%;
	height: auto;
}
.weather {
    display:inherit !important;
    position: absolute;
    top: 3px;
    right: 45px;
}
.weather .data {
display:none !important;
}
.weather li.pc {
display:none !important;
}
.weather li.sp {
display:inline-block !important;
font-size: 70%;
font-weight: bold;
padding: 0;
margin: 0;
line-height: 16px;
color:#666666;
}
/*-----*/
#header .search {
	top: 47px;
	right: 0;
	width: 100%;
	height: auto;
	z-index: 300;
	position: absolute;
	font-size: inherit;
	line-height: normal;
	background-color: #fff;
	padding-top: 0;
}
#header .login {
	display: none;
}
#header .search.icon {
	display: inline-block;
	float: right;
	top: 5px;
	right: 0;
	margin: 11px 10px 5px 9px;
	position: absolute;
}
#header .search.icon {
	color: #000;
	position: absolute;
	margin-top: 7px;
	margin-left: 3px;
	width: 13px;
	height: 13px;
	border: solid 3px #000066;
	border-radius: 100%;
	-webkit-transform: rotate(45deg);
		  transform: rotate(45deg);
}
.search.icon:before {
	content: '';
	position: absolute;
	top: 16px;
	left: 5px;
	height: 10px;
	width: 3px;
	background-color: #000066;
}

/*-----*/
#header .search .icon {
	display: none;
}
#header .search .icon li {
}
#header .search .form {
	display: none;

	margin: 0;
	padding: 10px;
	width: calc(100% - 24px);
}
#header .search .form input {
	margin: 0 10px 0 0;
	padding: 0 6px;
	width: calc(100% - 66px);
	line-height: 1.6em;
	font-size: 16px;
	border: 1px solid #ccc;
}
#header .search .form button {
	width: auto;
	height: 28px;
	margin: 0;
	padding: 0;
	text-align: center;
	line-height: 1.6em;
	border: 1px solid #ccc;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	background: none;
}

/*-----*/
.nav_button {
	margin: 0;
	float: left;
	top: 0;
	left: 0;
	padding: 12px 10px 5px 9px;
	position: absolute;
	border-right: #ccc solid 1px;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 30px;
	height: 24px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #000066;
	border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 10px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
/*---*/
.menu-trigger span:nth-of-type(2)::after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 4px;
	background-color: #000066;
	border-radius: 4px;
	transition: all .4s;
}
.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(20px) scale(0);
}
.menu-trigger.active span:nth-of-type(2) {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2)::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-20px) scale(0);
}
/*---*/
#header #nav {
	top: 47px;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 300;
	display: block;
	position: absolute;
	font-size: inherit;
	line-height: normal;
}
#header .main_nav {
	margin: 0;
	padding: 0;
	width: auto;
	height: auto;
	display: none;
	position: inherit;
	font-size: 14px;
}
#header .main_nav li {
	float: left;
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	border-bottom: #828D99 solid 1px;
}
#header .main_nav li.sub ,
#header .main_nav li.sub:nth-child(2n) {
	width: 100%;
	border-left: none;
}
#header .main_nav li span ,
#header .main_nav li a {
	color: #fff;
	height: 3em;
	margin: 0;
	padding: 0;
	display: block;
	text-align: center;
	line-height: 3em;
	font-weight: bold;
	text-decoration: none;
	background-color: rgba(99,113,128,0.85);
}

#header .main_nav li ol {
	display: none;
	width: 100%;
	color: #333;
	margin: 0;
	border: none;
	border-bottom: #ccc solid 1px;
	padding: 0;
	list-style: none;
	
	position: inherit;
	z-index: inherit;
	top: inherit;
	left: inherit;
	transition: inherit;
	
	background-color: #fff;
	opacity: 1;
	top: inherit;
	visibility: inherit;
}
#header .main_nav li:hover ol{
	top: inherit;
	visibility: inherit;
	opacity: inherit;
}
#header .main_nav li ol li {
	width: 100%;
	border: none;
	display: block;
	padding: 0;
	height: auto;
	text-align: center;
	background: none;
	background-color: #fff;
}
#header .main_nav li ol li a {
 	display: block;
	color: #333;
	padding: 6px 0;
    height: 2em;
	text-align: center;
	font-size: 90%;
	line-height: 2em;
	background: none;
}
#header .main_nav li ol li a:hover {
	color: #fff;
}
#header .main_nav li:hover > a{
}
#header .main_nav li a:hover{
}
	
/*---------- ranking--------*/
.ranking {
	padding: 10px 10px 0;
}
.ranking h3 {
	color: #fff;
	display: block;
	padding: 2px 10px;
	font-size: 90%;
	margin-bottom: 5px;
	background-color: #46494C;
}
.ranking ol.ranking {
	width: 100%;
	margin: 0;
/*	padding: 0 0 10px;*/
	padding: 0px; /*1910 C*/
	counter-reset: li;
	padding-left: 10px;
	list-style: none;
}
.ranking ol.ranking li {
	display: block;
	font-size: 80%;
	line-height: 150%;
	position: relative;
	margin: 3px 0 4px 10px;
	padding: 0 0 5px 8px;
	width: calc(100% - 30px);
}
.ranking ol.ranking li:before {
	counter-increment: li;
	content: counter(li);
	position: absolute;
	color: #fff;
	left: -20px;
	width: 1.6em;
	text-align: center;
	background-color: #333;
}
.ranking ol.ranking li a {
	width: auto;
	height: 1.2em;
	margin: 0;
	padding: 0;
	display: block;
	overflow:hidden;
	line-height: 120%;
	white-space: nowrap;
	font-weight: bold;
	text-overflow: ellipsis;
	text-decoration: none;
}
.ranking ol.ranking li a:link,
.ranking ol.ranking li a:visited {
	color: #000;
}
.ranking ol.ranking li a:hover {
	text-decoration: underline;
}
/*-----------------------*/
.freespace {
	padding: 0 10px;
}
.freespace a:hover,
.freespace a:link,
.freespace a:visited {
	display: inline;
	text-align: inherit;
	color: #000;
	text-decoration: none;
}
/*---------- other-------*/
#other {
}
#other .main {
}
#other .side {
	margin: 0;
	padding: 0 10px;
}
/*---------- bagetop-----*/
#page_back {
	right: 10px;
	bottom: 10px;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	display: block;
	position: fixed;
}
#page_back a {
	color: #fff;
	width: 40px;
	height: 34px;
	height: 40px\9;
	margin: 0;
	padding: 0;
	display: table-cell;
	font-size: 70%;
	text-decoration: none;
	vertical-align: text-top;
	border-radius: 3px;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	background-color: #666;
	border: 3px solid #666;
	border: none\9;
	opacity: 0.5 ;
	transition: 0.3s ;
}
@media all and (-ms-high-contrast: none){
  #page_back a {
	border: none;
	height: 40px;
  }
}
	
#page_back a:hover {
	opacity: 1 ;
}

/*-----*/
.arrow-up.icon {
	top: 7px;
	left: 5px;
  color: #fff;
  position: absolute;
  margin-left: 14px;
  margin-top: 3px;
  width: 2px;
  height: 20px;
  background-color: currentColor;
}

.arrow-up.icon:before {
  content: '';
  position: absolute;
  left: -7px;
  top: 1px;
  width: 14px;
  height: 14px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
	
.sns_share {
	float: right;
	width: auto;
	margin: 20px 0 50px;
	padding: 0;
	list-style: none;
}
.sns_share li {
	display: inline-block;
	font-size: 75%;
	margin-left: 3px;
}
.sns_share li a {
	color: #fff;
	display: inline-block;
	padding: 4px 5px 3px;
	line-height: 100%;
	border-radius: 2px;
	text-decoration: none;
}
.sns_share .fb {
	margin: 0;
}
.sns_share .fb a {
    background: #3b5998;
}
.sns_share .fb a:before {
	padding: 0;
	margin: 0;
	content: " ";
	display: inline-block;
	width: 15px;
	height: 14px;
	background-image: url(../img/tmp/icon_facebook.jpg);
	background-repeat: no-repeat;
	background-position: center center;
}
.sns_share .tw a {
    background: #55acee;
}
.sns_share .tw a:before {
	padding: 0;
	margin: 0;
	content: " ";
	display: inline-block;
	width: 15px;
	height: 14px;
	background-image: url(../img/tmp/icon_twitter.jpg);
	background-repeat: no-repeat;
	background-position: center center;
}
.sns_share .line a {
    background: #09B701;
}
.sns_share .line a:before {
	padding: 0;
	margin: 0;
	content: " ";
	display: inline-block;
	width: 15px;
	height: 14px;
	background-image: url(../img/tmp/icon_line.jpg);
	background-repeat: no-repeat;
	background-position: center center;
}
.ad {
	width: 300px;
	margin: 0 auto;
}

/*---------- footer------*/
#footer {
	background-color: #46494C;
}

/*---------- sitemap-----*/
#sitemap {
	display: none;
}

/*---------- news_47-----*/
#news_47 {
	display: none;
}

/*---------- footer_content*/
#footer_content {
	width: auto;
	clear: both;
	padding: 15px;
}
#footer_content .footer_link {
	display: none;
}
#footer_content address {
	border: none;
	padding: 0;
}
#footer_content .address img {
	display: inline-block;
	vertical-align: top;
}
#footer_content .address p {
	width: calc(100vw - 120px);
	color: #fff;
	margin: 0;
	padding: 0;
	display: inline-block;
	font-size: 90%;
	line-height: 140%;
}

.clear {
	clear: both;
	font-size: 0;
	height: 0;
	border: none;
	line-height: none;
}
}
@media screen and (max-width: 768px) {
#header h1 {
    margin-left: 60px;
    margin-right: none;
    text-align: left;
}
#header h1 {
    padding: 10px 0 0;
line-height: 23px;
}
}
@media screen and (max-width: 370px) {
#header h1 img {
    width: 34vw;
}
}
@media screen and (max-width: 319px) {
.weather li.sp {
display:none !important;
}
}
