@charset "UTF-8";
/* CSS Document */

body {
	font-family: "Arial","Meiryo", sans-serif;
}

#japan-map {
	font-size: 16px;
	line-height: 1.5em;
	color: #000000;
	background-color: #ffffff;
}

#japan-map p {
	margin-top: 1rem;
}
#japan-map img {
	vertical-align: bottom;
} 
#japan-map a:hover img {
	opacity: 0.7;
		-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity = 60);
		filter: alpha(opacity = 60);
	transition: all 0.4s;
}
#japan-map a {
	text-decoration: none;
	color: #fff;
	display: block;
}
#japan-map a:hover {
	text-decoration: none;
	color: #fff;
	transition: 0.3s all;
}
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

/******* 地図成形 *******/
#japan-map div div.area div {
	border: 1px #ffffff solid;
	text-align: center;
	font-size: 14px;
 	display: flex;
		display: -webkit-flex;
 	align-items: center; /* 縦方向中央揃え */
 		-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 	justify-content: center; /* 横方向中央揃え */
 		-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
	border-radius: 6px;
		-webkit-border-radius: 6px;
	position: absolute;
	box-sizing: border-box;
	transition: 0.2s;
}
#japan-map div div.area div:hover {
	opacity: 0.5;
	transition: 0.2s;
}

#japan-map {
	display: block;
	width: 777px;
	height: 482px;
	background-color: none;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
#japan-map p.area-title {
	display: none;
}

/* 北海道・東北 */

#hokkaido-touhoku {
	width: 136px;
	display: block;
	height: 265px;
	position: absolute;
	left: 638px;
}
#hokkaido-touhoku div.area div {
	background-color: #7478c2;
	color: #ffffff;
}

#hokkaido {	
	width: 133px;
	height: 70px;
}
#aomori {
	width: 93px;
	height: 43px;
	left: 21px;
	top: 96px;
}
#akita {
	width: 67px;
	height: 42px;
	left: 3px;
	top: 139px;

}
#iwate {
	width: 67px;
	height: 42px;
	left: 70px;
	top: 139px;
}
#yamagata {
	width: 67px;
	height: 42px;
	top: 181px;
	left: 3px;
}
#miyagi {
	width: 67px;
	height: 42px;
	top: 181px;
	left: 70px;
}
#fukushima {
	width: 67px;
	height: 42px;
	top: 223px;
	left: 70px;
}

/* 関東 */

#kantou {
	width: 158px;
	display: block;
	height: 174px;
	position: absolute;
	top: 265px;
	left: 623px;
	z-index: 2;
}
#kantou div.area div {
	background-color: #31beca;
	color: #ffffff;
}
#ibaraki {
	width: 52px;
	height: 85px;
	top: 0px;
	left: 100px;
}
#tochigi {
	width: 50px;
	height: 42px;
	top: 0px;
	left: 50px;
}
#gunma {
	width: 50px;
	height: 42px;
	top: 0px;
	left: 0px;
}
#saitama {
	width: 100px;
	height: 43px;
	top: 42px;
	left: 0px;
}
#chiba {
	width: 52px;
	height: 84px;
	top: 85px;
	left: 100px;
}
#tokyo {
	width: 100px;
	height: 42px;
	top: 85px;
	left: 0px;
}
#kanagawa {
	width: 67px;
	height: 42px;
	top: 127px;
	left: 0px;
}

/* 中部 */

#tyubu {
	width: 270px;
	height: 211px;
	position: absolute;
	left: 438px;
	top: 223px;
}
#tyubu div.area div {
	background-color: #4ab969;
	color: #ffffff;
}

#nigata {
	width: 85px;
	height: 42px;
	left: 185px;
}
#toyama {
	width: 67px;
	height: 42px;
	left: 118px;
}
#ishikawa {
	width: 50px;
	height: 57px;
	left: 68px;
}
#fukui {
	width: 68px;
	height: 42px;
	left: 0px;
	z-index: 2;
}
#nagano {
	width: 67px;
	height: 85px;
	left: 118px;
	top: 42px
}
#yamanashi {
	width: 67px;
	height: 42px;
	left: 118px;
	top: 127px;
}
#gifu {
	width: 50px;
	height: 55px;
	left: 68px;
	top: 57px
}
#shizuoka {
	width: 67px;
	height: 42px;
	left: 118px;
	top: 169px;
}
#aichi {
	width: 50px;
	height: 57px;
	top: 112px;
	left: 68px;
}

/* 近畿 */

#kinki {
	width: 186px;
	height: 211px;
	position: absolute;
	left: 320px;
	top: 223px;
}
#kinki div.area div {
	background-color: #b0b72f;
	color: #ffffff;
}

#kyoto {
	width: 67px;
	height: 84px;
	left: 51px;
}
#shiga {
	width: 68px;
	height: 42px;
	top: 42px;
	left: 118px;
}
#osaka {
	width: 67px;
	height: 85px;
	top: 84px;
	left: 51px;
}
#nara {
	width: 34px;
	height: 85px;
	top: 84px;
	left: 118px;
}
#mie {
	width: 34px;
	height: 85px;
	top: 84px;
	left: 152px;
}
#wakayama {
	width: 113px;
	height: 42px;
	top: 169px;
	left: 61px;
}
#hyougo {
	width: 51px;
	height: 98px;
	left: 0px;
}

/* 中国 */

#tyugoku {
	width: 151px;
	height: 98px;
	position: absolute;
	left: 169px;
	top: 223px;
}
#tyugoku div.area div {
	background-color: #ef9f27;
	color: #ffffff;
}
#tottori {
	width: 50px;
	height: 49px;
	left: 101px;
}
#okayama {
	width: 50px;
	height: 49px;
	top: 49px;
	left: 101px;
}
#shimane {
	width: 51px;
	height: 49px;
	left: 50px;
}
#hiroshima {
	width: 51px;
	height: 49px;
	top: 49px;
	left: 50px;
}
#yamaguchi {
	width: 50px;
	height: 98px;
	left: 0px;
}

/* 四国 */

#shikoku {
	width: 184px;
	height: 84px;
	position: absolute;
	left: 169px;
	top: 350px;
}
#shikoku div.area div {
	background-color: #d08f68;
	color: #ffffff;
}
#kagawa {
	width: 92px;
	height: 42px;
	right: 0px;
}
#ehime {
	width: 92px;
	height: 42px;
	left: 0px;
}
#tokushima {
	width: 92px;
	height: 42px;
	right: 0px;
	top: 42px;
}
#kouchi {
	width: 92px;
	height: 42px;
	left: 0px;
	top: 42px;
}

/* 九州・沖縄 */

#kyusyu {
	width: 152px;
	height: 247px;
	position: absolute;
	left: 0px;
	top: 235px;
}
#kyusyu div.area div {
	background-color: #ff7575;
	color: #ffffff;
}
#fukuoka {
	width: 50px;
	height: 50px;
	left: 101px;
	top: 0px;
}
#saga {
	width: 50px;
	height: 50px;
	left: 51px;
	top: 0px;
}
#nagasaki {
	width: 50px;
	height: 50px;
	left: 1px;
	top: 0px;
}
#oita {
	width: 50px;
	height: 50px;
	left: 101px;
	top: 50px;
}
#kumamoto {
	width: 50px;
	height: 100px;
	left: 51px;
	top: 50px;
}
#miyazaki {
	width: 50px;
	height: 50px;
	left: 101px;
	top: 100px;
}
#kagoshima {
	width: 68px;
	height: 49px;
	left: 83px;
	top: 150px;
}
#okinawa {
	width: 50px;
	height: 50px;
	left: 1px;
	top: 197px;
}


/****************************************
	レスポンシブ

****************************************/
@media screen and (max-width: 776px) {
#japan-map {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-around;
}
#japan-map p.area-title {
	display: inline-block;
	width: 100%;
	font-size: 15px;
	text-align: center;
	margin-top: 1.5em;
	margin-bottom: 1em;
	color: #000000;
}
#hokkaido-touhoku, #kantou, #tyubu, #kinki, #tyugoku, #shikoku, #kyusyu {
	display: block;
	position: static;
	margin: 0 1em 0 1em;
}
#japan-map div div.area {
	display: block;
	position: relative;
}

#hokkaido-touhoku {
	height: calc(265px + 4.5em);
}
#kantou {
	height: calc(174px + 4.5em);
}
#tyubu {
	height: calc(211px + 4.5em);
}
#kinki {
	height: calc(211px + 4.5em);
}
#tyugoku {
	height: calc(98px + 4.5em);
}
#shikoku {
	height: calc(84px + 4.5em);
}
#kyusyu {
	height: calc(247px + 4.5em);
}

} /* レスポンシブ max-776px */



@media screen and (max-width: 500px) {
#japan-map {
	display: block;
	width: 100%;
	height: auto;
}
#hokkaido-touhoku, #kantou, #tyubu, #kinki, #tyugoku, #shikoku, #kyusyu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: auto;
	position: static;
	margin-left: 0px;
	margin-right: 0px;
}
#japan-map div div.area {
	font-size: 14px;
 	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
#japan-map p {
    margin-top: 0;
    margin-bottom: 0;
}
#japan-map div div.area a {
	height: auto;
	text-align: center;
}
#japan-map div div.area div {
 	display: block;
	border-radius: 0px;
	position: static;
	height: auto;
	font-size: 16px;
	width: 100%;
	padding: 0.5em 0.3em 0.5em 0.3em;
}


} /* レスポンシブ max-500px */

/* トップページ*/

.lead {
    font-size: 1rem;
    font-weight: 300;
    max-width: 770px;
    margin-left: auto;
    margin-right: auto;
}

.card-header {
    padding: .5rem 2rem;
    margin-bottom: 0;
    background-color: #212529;
    color: #fff;
}

.card-header h4 {
font-size: 21px;
}

.card-header h4::before {
    font-family: "Font Awesome 5 Free";
    content: '\f080';
    font-weight: 900;
    padding-right:8px;
}

.card-title {
    font-size: 18px;
}

/* リンク*/

header nav a {
	text-decoration: none;
}

header nav a:hover {
	text-decoration: underline;
}

.container.detail a,.container.detail a:not(.button):not(.notusercontentlink) {
    background-image: linear-gradient(transparent calc(100% - 1px),#0d6efd 1px);
    color: #0d6efd;
    background-position: 100%;
    background-size: 100% 100%;
}
.container.detail a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.container.detail a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
}
.container.detail a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}
.container.detail a:hover {
	text-decoration:none;
}
.container.detail p a {
    text-decoration: none;
}

/* 詳細*/

.bg-info {
    background-color: #0d6efd!important;
    color: #fff;
}


.bg-info.info-icon strong::before {
    font-family: "Font Awesome 5 Free";
    content: '\f05a';
    font-weight: 900;
    padding-right:8px;
}

.bg-info.data-icon strong::before {
    font-family: "Font Awesome 5 Free";
    content: '\f1fe';
    font-weight: 900;
    padding-right:8px;
}

strong.number {
    padding: 0 2px;
    color: #00a91d;
}


strong.chui {
    padding: 0 2px;
}

.sum .card-text strong {
    font-size: 24px;
    padding: 0 4px;
    color: #00a91d;
}

strong.nobi {
    padding: 0 2px;
    color: #0d6efd;
}
strong.nobi-last {
    padding: 0 2px;
    color: #001488;
}
strong.minus {
    color: #dc3545;
}
strong.plus {
    color: #198754;
}
.nobi .card-text strong.main {
    font-size: 24px;
    padding: 0 4px;
    color: #0d6efd;
}
.nobi li br {
	display:none;
}
@media screen and (max-width: 776px) {
.logo {
    max-width: 90%;
}
.nobi li br {
	display:block;
}
.table-station tr td:nth-child(1) {
  width:108px;
}
.table-station,.table-area {
font-size:13px;
}
}

.csv::before {
    font-family: "Font Awesome 5 Free";
    content: '\f6dd';
    font-weight: 900;
    padding-right:4px;
}
.table-station th,
.table-station td,
.table-search th,
.table-search td,
.table-area th,
.table-area td{
text-align: center!important;
}

.table-station,.table-area,.table-search {
font-size:15px;
}
.simlistcard span {
    font-size: 14px;
    background-color: #eff7fd;
    padding: 3px 6px;
}

.simlistcard {
    margin: 8px;
}

.simlistbox {
    border: solid 1px #eee;
    padding: 12px 24px;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.table>:not(caption)>*>* {
    padding: .4rem .4rem;
}
.pb-4 {
    padding-bottom: 2rem!important;
}

a.map {
    font-weight: normal!important;
    font-size: 12px;
}

}
/* サイドバー*/

.sidebar li {
    margin-bottom: 4px;
}


/* フッター*/

footer a {
	text-decoration: none;
}

footer a:hover {
	text-decoration: underline;
}

/* スクロールボタン*/

#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: -50px;
  background: #343a40;
  opacity: 0.6;
  border-radius: 50%;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 42px;
  text-decoration: none!important;
  background-image: none!important;
}
#page_top a:hover{
  text-decoration: none!important;
  background-image: none!important;
  opacity: 0.8;
}


#page_top a:hover::after {
  background: none!important;
  transform: none;
}

#page_top a::after {
  background: none!important;
}

#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f077';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* セレクトボックス*/

.select-data select {
  width: 148px;
    border: solid 1px #aaa;
    color:#333;
    font-size: 14px;
}

.select-data .select-title {
  text-align: center;
    padding-right: 6px;
}
.select-data {
background-color: rgba(0, 0, 0, 0.05);
    padding: 12px 0;
    margin: 0 4px;
}

/* 利用規約*/

.lead {
    font-size: 1rem;
    font-weight: normal;
    text-align: left;
}

/*SNS*/
/* ボタン全体 */



.flowbtn12{
font-family:'Verdana',sans-serif;	
border-radius: 4px;
display:inline-block;
width:85%;
font-size:16px;
transition:.4s;	
text-decoration:none;
background-image:none;
}
/* ボタン内テキストマウスホバー時 */
.flowbtn12:hover{
color:#fff!important;
text-decoration:none;
}
/* Twitter */
.flowbtn12.fl_tw2{
border:solid 1px #55acee;
color:#55acee!important;
background-image: none!Important;
}
/* Twitterマウスホバー時 */
.flowbtn12.fl_tw2:hover{
border:solid 1px #55acee;
background:#55acee;
color:#fff!important;
}
/* Instagram */
.flowbtn12.insta_btn2{
border:solid 1px #c6529a;
color:#c6529a!important;
background-image: none!Important;
}
/* Instagramマウスホバー時 */
.flowbtn12.insta_btn2:hover{
border:solid 1px #c6529a;
background:#c6529a;
color:#fff!important;
}
/* Facebook */
.flowbtn12.fl_fb2{
border:solid 1px #3b5998;
color:#3b5998!important;
background-image: none!Important;
}
/* Facebookマウスホバー時 */
.flowbtn12.fl_fb2:hover{
border:solid 1px #3b5998;
background:#3b5998;
color:#fff!important;
}
/* Feedly */
.flowbtn12.fl_fd2{
border:solid 1px #6cc655;
color:#6cc655!important;
background-image: none!Important;
}
/* Feedlyマウスホバー時 */
.flowbtn12.fl_fd2:hover{
border:solid 1px #6cc655;
background:#6cc655;
color:#fff!important;
}
/* Pocket */
.flowbtn12.fl_pk2{
border:solid 1px #ef3f56;
color:#ef3f56!important;
background-image: none!Important;
}
/* Pocketマウスホバー時 */
.flowbtn12.fl_pk2:hover{
border:solid 1px #ef3f56;
background:#ef3f56;
color:#fff!important;
}
/* はてブ */
.flowbtn12.fl_hb2{
border:solid 1px #1ba5dc;
color:#1ba5dc!important;
background-image: none!Important;
}
/* はてブマウスホバー時 */
.flowbtn12.fl_hb2:hover{
border:solid 1px #1ba5dc;
background:#1ba5dc;
color:#fff!important;
}
/* YouTube */
.flowbtn12.fl_yu2{
border:solid 1px #fc0d1c;
color:#fc0d1c!important;
background-image: none!Important;
}
/* YouTubeマウスホバー時 */
.flowbtn12.fl_yu2:hover{
border:solid 1px #fc0d1c;
background:#fc0d1c;
color:#fff!important;
}
/* LINE */
.flowbtn12.fl_li2{
border:solid 1px #00c300;
color:#00c300!important;
background-image: none!Important;
}
/* LINEマウスホバー時 */
.flowbtn12.fl_li2:hover{
border:solid 1px #00c300;
background:#00c300;
color:#fff!important;
}
/* メールアイコン */
.flowbtn12.fl_ma2{
border:solid 1px #f3981d;
color:#f3981d!important;
background-image: none!Important;
}
/* メールアイコンマウスホバー時 */
.flowbtn12.fl_ma2:hover{
border:solid 1px #f3981d;
background:#f3981d;
color:#fff!important;
}
/* プロフィールアイコン */
.flowbtn12.fl_pf12{
border:solid 1px #555;
color:#555!important;
background-image: none!Important;
}
/* プロフィールアイコンマウスホバー時 */
.flowbtn12.fl_pf12:hover{
border:solid 1px #555;
background:#555;
color:#fff!important;
}
/* ボタン内テキスト調整 */
.flowbtn12 span{
font-size:12px;	
position:relative;
left:8px;
bottom:2px;	
}
/* ulタグの内側余白を０にする */
ul.snsbtniti2{
padding:0!important;
}
/* ボタン全体の位置 */
.snsbtniti2{
display:flex;
flex-flow:row wrap;
}
/* ボタン同士の余白 */
.snsbtniti2 li{
flex:0 0 14%;
text-align:center !important;
    list-style-type: none;
}

@media screen and (max-width: 776px) {
.snsbtniti2 span {
display:none;
}
}