/* 
    Created on : 2021/12/08, 15:19:48
    Author     : izoe
*/

/*TOPページ全体用*/
.top_base_contents {
    padding: 0;
    margin: 0;
}
.top_main_contents {
    max-width: 954px;
    margin: 0 auto;
    padding: 20px 10px 30px 10px;
}
/*太字指定*/
.operation_information div,
.operation_information div a,
.top_info_button div,
.top_navi_contents h3,
.top_bus_all_link h2,
.top_app_bus_block h3,
.operation_information_link span {
    font-weight: bold;
}
/*フォントカラー指定*/
.top_info_detail a,
.top_bus_all_link a,
.top_bus_detail_block div a,
.top_sale_block a,
.top_app_bus_block a {
    color: #333;
}
/*マウスオーバーで薄くする*/
.top_info_detail:hover,
.top_bus_all_link:hover,
.top_bus_detail_block div:hover,
.top_sale_block:hover,
.operation_information div a:hover,
.top_app_bus_block .top_ios:hover,
.top_app_bus_block .top_android:hover {
    opacity: 0.6 ;
}
.top_base_contents a img:hover {
    opacity: 1;
}
/*運行情報*/
.operation_information_contents {
    background: #f2f2f2;
}
.operation_information_block {
    max-width: 954px;
    margin: 0 auto;
    font-weight: bold;
    padding: 10px;
}
.operation_information  {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    border: 2px solid #ef3b01;
    position: relative;
    padding: 10px 10px 10px 50px;
    margin: 30px 0 30px 30px;
    border-radius: 5px;
    color: #233561;
/*    cursor: pointer;*/
}
.operation_information_title {
    background: #ef3b01;
    color: #fff;
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    left: -30px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.operation_information_title span {
  position: absolute;
  display: inline-block;
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width :60px;
  text-align:center;
}
.operation_information .operation_information_link {
    color: #233561;
    
}
.operation_information .operation_information_link span {
    position: relative;
    margin-left: 2.7rem;
}
.operation_information .operation_information_link span:before {
    position: absolute;
    content: ">　>　>";
    left: -4rem;
    font-weight: normal;
    transform: scale(0.8, 1.7);
}
/*運休情報*/
#suspension_info {
    cursor: pointer;
}
.top_base_contents #traffic_info_wrap {
    position: static;
    overflow: hidden;
    height: 90vh;
    padding: 10px;
    box-sizing: border-box;
}
.top_base_contents #traffic_info {
    width: 100%;
    margin: 0;
    max-height: none;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    flex: 1;
    overflow-y: auto;
}
/*運休情報表示用モーダルウィンドウ*/
.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
}
.modal__bg{
    background: rgba(0,0,0,0.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__content{
    background: #fff;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 70%;
    height: 90%;
    overflow: hidden;
}


.traffic_info_title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}
.top_base_contents #traffic_info h2 {
    width: 10%;
    min-width: 80px;
}
.top_base_contents #traffic_info_copy {
    width: 45%;
    min-width: 130px;
    margin: 0;
}
.top_base_contents #traffic_info_date {
    width: 20%;
    min-width: 144px;
    margin: 0;
    text-align: right;
}
.top_base_contents #traffic_info_close.modal-close {
    text-align: center;
    display: block;
    width:9%;
    min-width: 97px;
    margin-left: 5px;
}


.top_base_contents #traffic_info_details {
    overflow-y: scroll;
    height: 69vh;
    background: #fff;
    margin: 0;
    max-height: none;
}
.top_base_contents #traffic_info_details dd {
    width: 100%;
}

/*通常運転用*/
.operation_information_block.normal_operation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.operation_information_block.normal_operation  .operation_information {
    width: 30%;
    margin:30px;
    text-align: center;
}
.normal_operation .operation_information_deitail {
    width: 100%;
    text-align: center;
}
.operation_bus_img {
    position: relative;
    width: 60%;
    background-image: url('../common_images/oiden_bus.jpg');
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: bottom -15px right 0 ;
}
.operation_bus_img:after {
    position: absolute;
    left: 0; 
    top: 0; 
    right: 0; 
    bottom: 0;
    -moz-box-shadow: inset 0px 0px 5px 5px #f2f2f2;
    -webkit-box-shadow: inset 0px 0px 5px 5px #f2f2f2;
    box-shadow: inset 0px 0px 5px 5px #f2f2f2;
    content: " ";
}
/*お知らせ情報　*/
.top_info_button {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}
.top_info_button div {
    width: 50%;
    border: 1px solid #203864;
    margin-right: 5px;
    padding: 5px;
    color:  #203864;
    cursor: pointer;
}
.top_info_button div:last-child {
    margin: 0;
}
/*現在選択中のお知らせ*/
.top_info_button div.info_select {
    background: #203864;
    color: #fff;
    position: relative;
}
.top_info_button div.info_select:before {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #203864;
  z-index: 0;
}


/*お知らせタイトル一覧*/
.top_info_contents {
    margin-bottom: 40px;
}
.top_info_list {
   padding: 10px 15px;
    border: 1px solid #d3d3d3; 
    overflow-y: scroll;
    height: 100px;
    box-sizing: border-box;
}
.top_info_detail {
    display: none;
    text-align: left;
    margin-bottom: 10px;
}
.top_info_detail:last-child {
    margin: 0;
}
.top_info_detail div {
    margin-right: 10px;
}
.top_info_detail a {
    display: flex;
    align-items: flex-start;
    
}
div.date_category {
    display: flex;
    max-width: 50%;
    margin: 0;
}

.top_info_detail .date {
    width: 50%;
    min-width: 106px;
    white-space: nowrap;
    
}
.top_info_detail .category {
    text-align: center;
    width: 50%;
    text-align: center;
    white-space: nowrap;
    letter-spacing: 1rem;
    display: none;
    padding: 0 10px;
}
.top_info_detail .title {
    margin: 0;
    width: 100%;
    position: relative;
    padding-right: 1rem;
    box-sizing: border-box;
}
.top_info_detail .title span:after {
    font-size: 1rem;
    position: absolute;
    content: ">";
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
/*重要なお知らせ*/
.top_info_detail.important_notices {
    display: block;
}
.top_info_detail.important_notices .category {
    display: inline-block;
    background: #fb3400;
    color: #fff;
    border-radius: 2px;
}
.top_info_detail.important_notices .category span {
    margin-right: -1rem;
}
/*バス情報、お得情報*/
.top_navi_contents {
    display: flex;
    justify-content: space-between;
    text-align: left;
    font-size: 1rem;
    margin-bottom: 10px;
}
.top_navi_contents h3 {
    margin-bottom: 20px;
}
/*おいでんバスと地域バス*/
.top_bus_contents {
    width: 60%;
}
.top_bus_contents h3 {
    padding-left: 50px;
    background-image: url('../common_images/top_bus_icon_1.png');
    background-repeat: no-repeat;
    background-size:contain;
    background-position: left;
}

/*バス*/
.top_bus_block {
    border: 1px solid #eeeeee;
    display: flex;
    align-items: stretch;
    
}

.top_bus_all_link {
        width: 30%;
/*     padding: 30px 10%;*/
    text-align: center;
    padding: 20px;
    background-position: center;
    background-origin: content-box;
    box-sizing: border-box;
    border-right: 1px solid #eeeeee;
    margin: auto 0;
}
.top_bus_all_link h2 {
    font-size: 1.5rem;
    margin-bottom: 30px;
}
.top_bus_imeges {
    margin: 0 auto 30px auto;
    height: 80px;
    background-image: url('../common_images/top_bus_icon_2.png');
    background-repeat: no-repeat;
    background-size:contain;
    background-position: center;
}
.arrow_button {
    padding: 10px;
    height: 40px;
    width: 40px;
    margin: 0 auto;
    background-image:  url('../common_images/arrow_button.png');
    background-repeat: no-repeat;
    background-size:contain;
    background-position: center;
    border: 1px solid #ed7e30;
    border-radius: 50%;
    background-origin: content-box;
    box-sizing: border-box;
}
/*時刻表などの各リンク*/
.top_bus_link_contents {
    width: 100%;
}
.top_bus_link_block {
    display: flex;
    border-bottom:  1px solid #eeeeee;
}
.top_bus_link_block h4 {
    font-weight: bold;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    background: #ed7e30;
    color: #fff;
    padding:5px;
    text-align: center;
}
.top_bus_detail_block {
   width: 100%; 
}
.top_bus_detail_block div {
    border-bottom: 1px  solid #eeeeee;
}
.top_bus_detail_block div:last-child {
    border: none;
}
.top_bus_detail_block div a,
.top_sale_block h4 {
    padding: 10px 10% 10px 1.5rem;
    font-weight: bold;
    display: block;
    position: relative;
}
.top_bus_detail_block div a:before,
.top_sale_block h4:before,
.top_app_bus_block h3:before {
    position: absolute;
    content: "";
    width: 0.5rem;
    height: 1.3rem;
    background: #ed7e30;
    top: 50%;
    left: 0.5rem;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    
}
.top_bus_detail_block div a:after,
.top_sale_block h4:after {
    position: absolute;
    content: "";
    padding: 5px;
    height: 1.6rem;
    width: 1.6rem;
    margin: 0 auto;
    background-image:  url('../common_images/arrow_button.png');
    background-repeat: no-repeat;
    background-size:contain;
    background-position: center;
    border: 1px solid #ed7e30;
    border-radius: 50%;
    background-origin: content-box;
    box-sizing: border-box;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 0.5rem;
}
/*地域バス（色変更）*/
.top_bus_link_block.region_bus h4 {
    background: #853b0d;
}
.region_bus .top_bus_detail_block div a:before {
    background: #ed7e30;
}
.region_bus .top_bus_detail_block div a:after {
    border: 1px solid #ed7e30;
}
/*その他(色変更)*/
.top_bus_link_block.other_bus h4 {
    background: #203864;
}
.other_bus .top_bus_detail_block div a:before {
    background: #ed7e30;
}
.other_bus .top_bus_detail_block div a:after {
    border: 1px solid #ed7e30;
}
.other_bus .top_bus_detail_block div.search_map a:before {
    background: #538233;
}
.other_bus .top_bus_detail_block div.search_map a:after {
    border: 1px solid #538233;
}
.top_sale_block.top_sale_other h4:before,
.top_app_bus_block.top_app h3:before {
    background: #999999;
}
.top_sale_block.top_sale_other h4:after {
    border: 1px solid #999999;
}
/*お得な情報☆便利な情報*/
.top_sale_contents {
    width: 35%;
}
.top_sale_contents h3 {
    padding-left: 30px;
    background-image: url('../common_images/top_sale.png');
    background-repeat: no-repeat;
    background-size:contain;
    background-position: left;
}
.top_sale_block {
    margin-bottom: 30px;
    border: 1px solid #d9d9d9;
}
.top_sale_block img {
    width: 100%;
}
.top_sale_block h4 {
    background: #fff2cc;
    border-bottom:  1px solid #d9d9d9;
}
/*中心市街地の駐車場*/
.top_sale_parking {
    display: flex;
    align-content: stretch;
    background: #e3efd9;
    align-items: center;
}
.top_sale_parking img {
    width: 40%;
    height: auto;
}
.top_sale_parking p {
    
    padding: 20px;
    box-sizing: border-box;
    font-size: 0.8rem;
}
/*背景色変更*/
.top_sale_block.top_sale_other h4 {
    background: #eeeeee;
}
/*アプリ配信情報、名鉄バス情報　*/
.top_app_bus_contents {
    display: flex;
    justify-content: space-between;
}
.top_app_bus_contents img {
    width: 100%;
}
.top_app_bus_block h3 {
    position: relative;
    text-align: left;
    font-size: 1rem;
    margin-bottom: 20px;
    padding-left: 1.5rem;
}
/*アプリ配信情報*/
.top_app_bus_block.top_app {
    width: 60%;
}
.top_app_bus_block.top_app > div {
    display: flex;
    align-items: center;
}
.top_app_bus_block.top_app > div > div{
    width: 50%;
}
.top_ios img {
    padding: 5% 18%;
    box-sizing: border-box;
}
.top_android img {
    padding: 1% 15%;
    box-sizing: border-box;
}
/*名鉄バス情報*/
.top_app_bus_block.top_bus {
    width: 35%;
}
.top_app_bus_block.top_bus p {
    text-align: left;
    margin: 0 1em;
}
.meitetsu_link {
    border: 1px solid #557fc8;
    background: #f2f2f2;
    width: 80%;
    max-width: 196px;
    margin: 20px 1em;
    padding: 10px;
}
.meitetsu_link a {
    display: block;
    color: #557fc8;
}
.meitetsu_link a span {
    position: relative;
    padding-right: 1rem;
}
.meitetsu_link a span:after {
    position: absolute;
    content: ">>";
    transform: scale(0.8, 1.8);
    right: -1rem;
}