@charset "utf-8";

/* ------------------------------
   全体
------------------------------ */
.slick_slider {
  opacity: 0;
  transition: opacity .3s linear;
}
.slick_slider.slick-initialized {
  opacity: 1;
}
.mod_section+.mod_section {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .mod_section+.mod_section {
    margin-top: 60px;
  }
}

/* ------------------------------
   災害
------------------------------ */
/* 避難情報 */
div#disaster_banner {
  background: #ce4949 !important;
}
#disaster_banner .inner {
  max-width: 990px;
  margin: 0 auto;
}

/* L字 */
#linfo_banner {
  margin-bottom: 0;
}
#linfo_banner div.inner {
  border: 2px solid #ce4949 !important;
}
#linfo_banner .inner div.title {
  background-color: #ce4949 !important;
  background-image: url("../img/top/title_bg1.jpg") !important;
}
#linfo_banner .inner div.title span {
  font-weight: bold;
}
#linfo_banner .inner div.linkBtn {
  background-color: #ce4949 !important;
  background-image: -webkit-linear-gradient(#c42b1e, #ce4949) !important;
  background-image: -moz-linear-gradient(#c42b1e, #ce4949) !important;
  background-image: linear-gradient(#c42b1e, #ce4949) !important;
}
@media screen and (max-width: 640px) {
  #linfo_banner .inner div.title {
    background: #ce4949 !important;
    background-image: none!important;
  }
}


/* ------------------------------
   動画用　※使われていないなら削除予定(コメ日：20191017)
------------------------------ */
.video-wrapper {
  max-width: 100%;
  width: 640px;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}
.video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
video {
  max-width: 100%;
  height: auto;
}
.video-container iframe, .video-container object, .video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ------------------------------
   メインスライド
------------------------------ */
#main_slide {
  position: relative;
  counter-reset: ranking-mark topranking-access;
  background: #3d424d;
  overflow: hidden;
}
#main_slide .slick-prev,
#main_slide .slick-next {
  top: 45%;
}
#main_slide .slick_slider {
  margin-bottom: 0;
}
#main_slide .slick-track {
  display: flex;
}
#main_slide .slick-dots {
  display: none !important;
}
#main_slide .move li {
  position: relative;
}
#main_slide .move li a {
  display: block;
}
#main_slide .trim {
  width: 100%;
  height: 100%;
  position: relative;
}
#main_slide .trim::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
#main_slide .trim .trim_img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#main_slide .trim img {
  width: 100%;
  height: auto;
  line-height: 0;
  position: absolute;
  top: 0;
}
#main_slide .news-cover {
  background-image: linear-gradient(bottom, rgba(0, 0, 0, 0.7) 80%, rgba(0, 0, 0, 0) 99%);
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.7) 80%, rgba(0, 0, 0, 0) 99%);
  background-image: -ms-linear-gradient(bottom, rgba(0, 0, 0, 0.7) 80%, rgba(0, 0, 0, 0) 99%);
  padding: 10px 0 4px 0;
  box-sizing: border-box;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
.main_slide_title {
  padding: 0 6px;
  color: #fff;
  font-weight: normal;
}
.main_slide_sub {
  padding: 0 6px;
  color: #fff;
  font-size: 1.2rem;
}
#main_slide .news-cover .social-ranking {
  position: relative;
  margin: 2px 6px 0 0;
  display: inline-block;
  background-color: #000;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 1.2rem;
}
#main_slide .news-cover .social-ranking:before {
  content: "※";
  font-size: .9rem;
}
#main_slide .slick-slide:not(.slick-cloned) .news-cover .social-ranking:after {
  content: counter(ranking-mark, decimal);
  counter-increment: ranking-mark;
  margin-left: 2px;
}
#main_slide .news-cover .access-ranking {
  margin: 2px 6px 0 0;
  display: inline-block;
  background-color: #000;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 1.2rem;
}
#main_slide .slick-slide:not(.slick-cloned) .news-cover .access-ranking:after {
  content: counter(topranking-access, decimal);
  counter-increment: topranking-access;
  margin-left: 2px;
}
#social_detail {
  margin-top: 3px;
  margin-left: 3px;
  font-size: 1.2rem;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  #main_slide .news-cover .social-ranking {
    margin-bottom: 2px;
  }
  #main_slide .news-cover .access-ranking {
    display: block;
  }
  #social_detail {
    padding: 3px 0;
  }
}
@media screen and (min-width: 960px) {
  #main_slide .main_slide_inner {
    padding-top: 30px;
    padding-bottom: 5px;
  }
  #main_slide .slick-prev,
  #main_slide .slick-next {
    top: 50%;
  }
  .main_slide_title {
    font-size: 2.2rem;
  }
  #main_slide .news-cover .access-ranking {
    display: inline-block;
  }
  #social_detail {
    padding: 0;
  }
}


/* ----------------------------------------------------
   リアルタイムNEWS
---------------------------------------------------- */
/* LIVEストリーミング */
#realtime {
  border-top: 2px solid #ce4949;
  border-bottom: 2px solid #ce4949;
}
.realtime_inner {
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-left: 2px solid #ce4949;
  border-right: 2px solid #ce4949;
}
@media screen and (min-width: 960px) {
  #realtime {
    background: #ce4949;
  }
  .realtime_inner {
    max-width: 990px;
    margin: 0 auto;
  }
}

/* TV放送配信中 */
#tvnews {
  border-top: 2px solid #ce4949;
  border-bottom: 2px solid #ce4949;
}
.tvnews_inner {
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-left: 2px solid #ce4949;
  border-right: 2px solid #ce4949;
}
@media screen and (min-width: 960px) {
  #tvnews {
    background: #ce4949;
  }
  .tvnews_inner {
    max-width: 990px;
    margin: 0 auto;
  }
}

/* 共通 */
.mod_news_item {
  width: 100%;
}
.mod_news_item .is-default {
  display: table;
  width: 100%;
  padding: 5px;
}
.mod_news_icon {
  display: table-cell;
  width: 80px;
  vertical-align: middle;
  background-color: #ce4949;
  text-align: center;
  padding: 6px 0;
  letter-spacing: .12em;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
}
.mod_news_txt {
  display: table-cell;
  vertical-align: middle;
  padding-left: 10px;
  color: #ce4949;
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .mod_news_item:only-child {
    width: 100%;
  }
  .mod_news_item {
    width: calc(50% - 1%);
  }
}


/* ------------------------------
   以降、コンテンツ
------------------------------ */
@media screen and (max-width: 640px) {
  #contents {
    background: #f7f7f7;
  }
}


/* ------------------------------
   バナー一覧
------------------------------ */
.bannerArea-bottom {
  background: #fff;
  margin: 30px auto;
}
.bannerArea-bottom_wrap {
  display: flex;
  flex-wrap: wrap;
}
.bannerArea-bottom_item {
  width: 100%;
}
.bannerArea-bottom_item+.bannerArea-bottom_item {
  border-top: 1px solid #f0f0f0;
}
.bannerArea-bottom_item a {
  display: flex;
  align-items: center;
}
.bannerArea-bottom_img {
  width: 30%;
}
.bannerArea-bottom_txt {
  width: 70%;
  padding-left: 10px;
  padding-right: 10px;
  vertical-align: middle;
  color: #666;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .bannerArea-bottom_item {
    width: 33%;
  }
  .bannerArea-bottom_item+.bannerArea-bottom_item {
    border-top: 0;
  }
  .bannerArea-bottom_item:nth-child(n+4) {
    margin-top: 10px;
  }
}
@media screen and (min-width: 960px) {
  .bannerArea-bottom {
    max-width: 1600px;
    margin: 30px auto;
  }
  .bannerArea-bottom_item {
    width: 25%;
  }
  .bannerArea-bottom_item:nth-child(n+4) {
    margin-top: 0;
  }
  .bannerArea-bottom_item:nth-child(n+5) {
    margin-top: 10px;
  }
  .bannerArea-bottom_item a:hover p {
    color: #005baa;
  }
}


/* ------------------------------
   ページ上部のコンテンツ
------------------------------ */
.headContents {
  padding: 0 15px 15px;
}
@media screen and (min-width: 768px) {
  .headContents {
    padding: 40px 0 0;
  }
}
@media screen and (min-width: 960px) {
  .headContents {
    max-width: 1620px;
    margin: 0 auto;
    padding-top: 35px;
    padding-bottom: 30px;
  }
}

/* 20200220 追加 */
.osakaInfo {
  text-align: center;
}
.osakaInfo_ttl {
  background: #fff;
  border: 2px solid #d00;
  font-weight: bold;
}
.osakaInfo_link {
  display: block;
  padding: 5px;
  text-decoration: underline!important;
  color: #d00;
}
@media screen and (min-width: 768px) {
  .osakaInfo_ttl {
    display: inline-block;
    font-size: 16px;
  }
  .osakaInfo_link {
    padding: 5px 100px;
  }
  .osakaInfo_sub {
    font-size: 14px;
  }
}
@media screen and (min-width: 960px) {
  .osakaInfo_ttl {
    font-size: 24px;
  }
}

.bannerArea-top {
  margin-top: 15px;
}
.bannerArea-top_item {
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  .bannerArea-top {
    display: flex;
    justify-content: space-around;
  }
  .bannerArea-top_item {
    margin-top: 0;
    width: calc(50% - 15px);
    text-align: center;
  }
}
@media screen and (min-width: 960px) {
  .bannerArea-top {
    justify-content: center;
  }
  .bannerArea-top_item {
    width: calc(30% - 15px);
  }
  .bannerArea-top_item+.bannerArea-top_item {
    margin-left: 15px;
  }
}


/* ------------------------------
   コンテンツ部分
------------------------------ */
#contents {
  position: relative;
  height: auto;
}

/*タイトル*/
.ttl-osaka {
  position: relative;
  margin-bottom: 5px;
  padding-top: 15px;
  padding-bottom: 1.6rem;
  text-align: center;
  color: #666;
  font-weight: bold;
}
.ttl-osaka::before {
  content: '';
  position: absolute;
  bottom: 6px;
  left: 0;
  right: 0;
  width: 20%;
  height: 1px;
  margin: 0 auto;
  text-align: center;
  background-position: center;
  transition-duration: .2s;
  transition-timing-function: ease-out;
  background-image: -webkit-linear-gradient(left, transparent, #005baa 25%, #005baa 75%, transparent);
  background-image: linear-gradient(to right, transparent, #005baa 25%, #005baa 75%, transparent);
}
.ttl-osaka a {
  color: #666;
  display: block;
}
@media screen and (min-width: 768px) {
  .ttl-osaka {
    font-size: 2.2rem;
    margin-bottom: 20px;
  }
}


/* ------------------------------
   snsシェアボタン
------------------------------ */
.sns {
  padding-top: 5px;
  text-align: right;
}
.sns .nhk-snsbtn {
  margin-bottom: 5px;
}
.nhksns-guide {
  margin: 0 12px 0 0!important;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  .sns {
    position: absolute;
    right: 0;
  }
}
@media screen and (min-width: 960px) {
  .nhksns-guide {
    font-size: 1.4rem;
  }
  .sns .nhksns li img {
    width: 32px;
  }
}


/* ------------------------------
   NEWS WEB
------------------------------ */

#news_web {
  background-color: #fff;
}
#news_web .inner {
  padding-bottom: 10px;
}
#mod-news-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}
#mod-news-list .menu_item {
  width: 25%;
  background-color: #F4F4F4;
  margin-bottom: 1px;
}
#mod-news-list .menu_item.active {
  background-color: #005baa;
  color: #fff;
}
#mod-news-list .menu_item .ttl-news {
  margin: 5px 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
}
#mod-news-contents .content {
  display: none;
}
#mod-news-contents .content.active {
  display: block;
}
#mod-news-contents .content .item {
  margin: 15px 10px;
}
#mod-news-contents .content .item+.item {
  border-top: 1px dotted #eaeaea;
  padding-top: 15px;
}
#mod-news-contents .content .item a {
  color: #666;
  display: block;
  overflow: hidden;
}
#mod-news-contents .content .item img {
  display: block;
  float: left;
  width: 22%;
  margin-right: 5px;
}
#mod-news-contents .content .item .info {
  overflow: hidden;
}
#mod-news-contents .content .item p {
  display: block;
  margin-bottom: 5px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mod-news-contents .content .item .m_d_h_mn {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.2rem;
  color: #888;
}
#mod-news-contents .content .item .new {
  display: inline-block;
  margin-left: 5px;
  background: #ce4949;
  text-align: center;
  vertical-align: middle;
  font-size: 11px;
  padding: 1px 3px;
  color: #fff;
}
#mod-news-contents .content .item .video {
  display: inline-block;
  margin-left: 5px;
  background: #888;
  text-align: center;
  vertical-align: middle;
  font-size: 11px;
  padding: 1px 3px;
  color: #fff;
}
#mod-news-contents .content .item span.new+span.video {
  margin-left: 4px;
}
#mod-news-contents .content .list_more {
  background: #005baa;
  padding: 10px;
  margin: 20px 10px 0;
  text-align: center;
}
#mod-news-contents .content .list_more a {
  color: #fff;
  font-size: 1.4rem;
}
#mod-news-contents .btn_more {
  padding: 5px;
  text-align: center;
  background-color: #005baa;
}
#mod-news-contents .btn_more a {
  font-size: 1.6rem;
  color: #fff;
}
@media screen and (min-width: 640px) {
  #news_web .inner {
    max-width: 1620px;
    margin: 0 auto;
  }
  #mod-news-list {
    flex-wrap: nowrap;
    border-bottom: 3px solid #005BAA;
  }
  #mod-news-list .menu_item {
    width: 100%;
    background-color: #F4F4F4;
    cursor: pointer;
    margin-bottom: 0;
  }
  #mod-news-list .menu_item+.menu_item {
    border-left: 1px solid #fff;
  }
  #mod-news-list .menu_item.active {
    cursor: inherit;
  }
  #mod-news-list .menu_item .ttl-news {
    margin: 10px 0;
  }
  #mod-news-contents {
    padding-top: 10px;
  }
  #news_web .btn_more {
    margin-top: 22px;
    border-bottom: none;
  }
  #mod-news-contents .content .item {
    width: 14.28%;
    padding: 0 5px;
    margin: 0;
    box-sizing: border-box;
    float: left;
    transition: box-shadow .15s cubic-bezier(.4, 0, .2, 1);
  }
  #mod-news-contents .content .item a:hover .info {
    color: #005baa;
  }
  #mod-news-contents .content .item+.item {
    padding-top: 0;
    border-top: 0;
  }
  #mod-news-contents .content .item img {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  #mod-news-contents .content .item p {
    margin-top: 8px;
  }
  #mod-news-contents .content span.new+span.video {
    margin-left: 4px;
  }
  #mod-news-contents .content .list_more {
    text-align: center;
    background: #fff;
    clear: both;
    margin: 0;
    padding: 20px 0 0;
  }
  #mod-news-contents .content .list_more a {
    color: #666;
    font-size: 1.6rem;
  }
  #mod-news-contents .content .list_more a:before {
    content: "";
    display: inline-block;
    border-style: solid;
    margin-right: 5px;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #666;
  }
}


/* ----------------------------------
   関西 NEWS WEB アクセスランキング
---------------------------------- */
#kansainews_access {
  margin-top: 30px;
}
#kansainews_ranking .mod_kansainews_rank {
  display: inline-block;
  border: 1px solid #888;
  padding: 2px 6px;
  margin-top: 5px;
  color: #888;
  font-size: 1.2rem;
}
#kansainews_ranking .mod_kansainews_rank span {
  display: none;
}
#kansainews_ranking .slick-track {
  counter-reset: ranking-access;
}
#kansainews_ranking .slick-slide:not(.slick-cloned) .mod_kansainews_rank:after {
  content: counter(ranking-access, decimal);
  counter-increment: ranking-access;
  display: inline-block;
  margin-left: 2px;
}
#kansainews_ranking .post .name {
  min-height: auto;
}
#mod_kansainews_read {
  padding: 10px;
  font-size: 1.2rem;
}
@media screen and (min-width: 960px) {
  #mod_kansainews_read {
    position: absolute;
    left: 80px;
    top: 60px;
    padding: 0;
  }
  #kansainews_ranking .mod_kansainews_rank span {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    margin-right: 2px;
    width: auto;
  }
}


/* -------------------------------------------
   鉄道運行情報(近畿 在来線・私鉄・地下鉄)
------------------------------------------- */
#train_info-wrap .mod-blog-crsl-wrap-inner {
  padding: 0 10px 10px;
}
#train_info .ttl-osaka span {
  font-size: 1.4rem;
  font-weight: normal;
}
#mod_train_info_build {
  margin-bottom: 10px;
  font-size: 1.2rem;
}
#train_info .mod_train_trainLine {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 600;
}
#train_info .mod_train_status {
  margin: 8px 0 6px 0;
  padding: 3px;
  border-radius: 3px;
  text-align: center;
  font-size: 1.4rem;
}
#train_info .mod_train_normal {
  color: #27ae60;
  border: 1px solid #27ae60;
}
#train_info .mod_train_error {
  color: #FFF;
  background-color: #ce4949;
}
#train_info .mod_train_textShort {
  font-size: 1.4rem;
  margin-bottom: 5px;
}
#train_info .mod_train_time {
  font-size: 1.2rem;
  color: #888;
}
#train_info .mod_train_time span {
  margin-left: 5px;
  padding: 0px 3px;
  background: #ce4949;
  border-radius: 3px;
  color: #FFF;
  font-size: 10px;
}
#train_info .slick-prev,
#train_info .slick-next {
  top: 52px;
}
.train_info .mod_btn {
  margin-top: 10px;
}
.mod_btn {
  margin-top: 12px;
  text-align: center;
}
.mod_btn a {
  display: block;
  padding: 10px;
  background: #005baa;
  font-size: 1.4rem;
  color: #fff;
}
.mod_btn a:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 4px;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #fff;
  transition: all 0.5s ease-in 0s;
}
@media screen and (min-width: 640px) {
  #train_info-wrap .mod-blog-crsl-wrap-inner {
    padding: 0;
  }
  #train_info .ttl-osaka span {
    font-size: 1.6rem;
    font-weight: 500;
  }
  #mod_train_info_build {
    margin-bottom: 20px;
    font-size: 1.4rem;
  }
  #train_info .mod_train_info {
    margin: 0;
  }
  #train_info .mod_train_trainLine {
    font-size: 18px;
  }
  #train_info .mod_train_status {
    margin: 10px 0;
    padding: 6px;
    border-radius: 6px;
    font-size: 1.6rem;
  }
  #train_info .mod_train_textShort {
    margin-bottom: 10px;
    font-size: 1.6rem;
  }
  #train_info .post a:hover .mod_train_textShort {
    color: #005baa;
  }
  #train_info .mod_train_time span {
    display: inline-block;
    vertical-align: bottom;
    padding: 2px 6px;
  }
  .mod_btn {
    margin-top: 15px;
  }
  .mod_btn a {
    display: inline;
    background: #fff;
    color: #666;
    font-size: 1.6rem;
  }
  .mod_btn a:before {
    border-color: transparent transparent transparent #333;
  }
}
@media screen and (min-width: 960px) {
  #train_info .slick-prev,
  #train_info .slick-next {
    top: 50%;
  }
}


/* -------------------------------------------
   ツイッター
------------------------------------------- */
#twitter {
  margin: 20px auto;
  background: #fff;
}
.twitter_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 15px 15px;
}
.twitter_wrap::after {
  content: "";
  display: block;
  width: 32%;
}
.twitter_item {
  width: calc(33% - 15px);
  text-align: center;
}
.twitter_item:nth-child(n+4) {
  margin-top: 10px;
}
.twitter_name {
  color: #666;
  font-size: 1.4rem;
  margin-top: 5px;
}
@media screen and (min-width: 768px) {
  #twitter {
    margin: 20px auto 40px;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
  }
  .twitter_wrap {
    flex-wrap: inherit;
    padding: 0;
  }
  .twitter_wrap::after {
    display: none;
  }
  .twitter_item {
    width: auto;
  }
  .twitter_item+.twitter_item {
    margin-left: 20px;
  }
  .twitter_item:nth-child(n+4) {
    margin-top: 0;
  }
}
@media screen and (min-width: 960px) {
  .twitter_wrap {
    max-width: 1000px;
    margin: 0 auto;
  }
  .twitter_item {
    width: 120px;
  }
  .twitter_name {
    font-size: 1.6rem;
  }
}


/* -------------------------------------------
   イベント・公開番組情報
------------------------------------------- */
.event_inner {
  padding: 0 10px 15px;
  overflow: hidden;
}
#event_item_wrap {
  margin-top: 15px;
}
#event_item_wrap .slick-list {
  overflow: hidden;
}
.event_item {
  padding: 0 5px;
}
.event_item_img {
  height: 50px;
  text-align: center;
}
.event_item_img img {
  height: 100%;
  width: auto!important;
}
.event_item_icon {
  margin-top: 10px;
}
.event_item_ttl {
  margin-top: 10px;
  color: #666;
  font-size: 1.4rem;
}
.event_item_icon span {
  display: inline-block;
  box-sizing: border-box;
  font-size: 1.2rem;
  color: #fff;
}
.event_item_icon .o_bosyu {
  border: 1px solid #e65280;
  background-color: #e65280;
  padding: 3px 6px;
}
.event_item_icon .o_bosyu_end {
  background: #999;
  border: 1px solid #999;
  padding: 3px 6px;
}
.event_item_icon .o_kaisai {
  border: 1px solid #11b27e;
  background-color: #11b27e;
  padding: 3px 6px;
}
.event_item_icon .o_kaisai_end {
  background: #999;
  border: 1px solid #999;
  padding: 3px 6px;
}
.event_item_icon .o_cat {
  padding: 3px 6px;
  border: 1px solid #2980b9;
  color: #2980b9;
}
@media screen and (min-width: 768px) {
  .event_inner {
    padding: 0;
  }
  #event_item_wrap {
    margin-top: 0;
  }
  .event_item_ttl {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 960px) {
  .event_inner {
    padding: 30px 0;
  }
  .event_item {
    padding: 0 10px;
  }
  .event_item_img {
    height: 90px;
  }
  .event_item:hover .event_item_ttl {
    color: #005baa;
  }
}


/* -------------------------------------------
   大阪局制作番組一覧
------------------------------------------- */
#program {
  background: #fff;
  margin: 15px 0;
}
#program .slick_slider {
  position: relative;
}
#program .slick-list {
  overflow: hidden;
}
#program .slick-track {
  display: flex;
}
#program .slick-slide {
  padding: 0 10px;
}
#program .slick-prev,
#program .slick-next {
  top: -30px;
}
#program .info {
  margin-top: 10px;
}
#program .media {
  margin-right: 6px;
}
#program .time {
  font-size: 1.2rem;
}
#program .time_add {
  font-size: 1.2rem;
  display: inline-block;
  margin: 0 0 0 6px;
}
#program .slick-slide a {
  display: block;
  color: #666;
}
#program h3 {
  margin-top: 5px;
  font-weight: normal;
}
#program .mod_bangumi_att {
  padding: 0 10px 10px;
  font-size: 1.2rem;
}
#program .mod_btn {
  margin: 10px;
}
@media screen and (min-width: 768px) {
  #program .time {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 960px) {
  #program .slick_slider {
    max-width: 1760px;
    margin: 0 auto;
  }
  #program .slick-list {
    max-width: 1600px;
    margin: 0 auto;
    overflow: hidden;
  }
  #program .slick-prev,
  #program .slick-next {
    top: 90px;
  }
  #program .time_add {
    display: block;
    margin: 2px 0;
  }
  #program h3 {
    font-size: 1.6rem;
  }
  #program a:hover .info h3 {
    color: #005baa;
  }
  #program .mod_btn {
    max-width: 1600px;
    margin: 10px auto 0;
  }
  #program .mod_bangumi_att {
    max-width: 1600px;
    margin: 15px auto 0;
  }
}

/* -------------------------------------------
  NOW ON AIR
------------------------------------------- */
.onair_inner {
  padding-bottom: 15px;
}
#onair_item_wrap {
  padding-top: 10px;
}
.onair_item {
  display: flex;
  flex-direction: column;
  margin: 0 10px;
}
.onair_item_link {
  display: block;
  color: #666;
}
.onair_item_img {
  width: 100%;
  background-size: cover;
  background-position: center center;
  padding-top: 56.25%;
  border: 1px solid #ccc;
  box-sizing: border-box;
}
.onair_item_info {
  margin-top: 5px;
}
.onair_item_time {
  display: inline-block;
  vertical-align: middle;
  font-size: 1.4rem;
}
.onair_item_ttl {
  margin-top: 5px;
  color: #666;
}
#onair .mod_btn {
  margin: 15px 10px 0;
}
@media screen and (min-width: 768px) {
  .onair_inner {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
  }
  .onair_item {
    margin: 0 5px;
  }
}
@media screen and (min-width: 960px) {
  #onair {
    margin-bottom: 30px;
  }
  .onair_inner {
    margin-bottom: 30px;
  }
  #onair_item_wrap {
    margin: 20px auto 30px;
  }
  .onair_item {
    margin: 0 10px;
  }
  .onair_item_ttl {
    margin-top: 5px;
  }
  .onair_item_link:hover .onair_item_ttl {
    color: #005baa;
  }
}


/* -------------------------------------------
   ブログ・ニュース
------------------------------------------- */
.mod-blog {
  position: relative;
  background: #fff;
  margin-bottom: 30px;
}
.mod-blog:nth-of-type(5n) {
  margin-right: 0;
}
.mod-blog .post {
  margin: 0 15px;
}
.mod-blog .post a {
  display: block;
}
.mod-blog .post a:hover .name {
  color: #005baa;
}
.mod-blog .post .trim {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
  margin-bottom: 5px;
}
.mod-blog .post .trim img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.mod-blog .post .name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  margin-top: 5px;
  color: #666;
}
.mod-blog .post .date {
  margin-top: 5px;
  color: #888;
  font-size: 1.2rem;
}
.mod-blog .post .new {
  display: none;
}
.mod-blog .post .content {
  display: none;
}
.mod-blog .post .new {
  display: inline-block;
  width: 36px;
  background: #ce4949;
  text-align: center;
  vertical-align: baseline;
  margin: 4px 0 0 0 !important;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
}
.mod-blog .btn_more {
  position: relative;
  line-height: 32px;
  border-top: 1px solid #f0f0f0;
  margin-top: 10px;
  text-align: right;
}
.mod-blog .btn_more a {
  display: block;
  padding: 6px 10vw;
  color: #666;
  font-size: 1.4rem;
}
.mod-blog .btn_more a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #ccc;
  border-right: solid 2px #ccc;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 41%;
  right: 20px;
  margin-right: 0;
}
.mod-blog .mod--hp {
  position: absolute;
  bottom: 0;
  line-height: 36px;
}
.mod-blog .mod--hp a {
  display: block;
  background: #005baa;
  padding: 4px 20px;
  color: #FFF;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .mod-blog-wrap {
    display: flex;
    flex-wrap: wrap;
  }
  .mod-blog {
    width: 19%;
    margin: 0 1.25% 30px 0;
    position: relative;
  }
  .mod-blog .post {
    margin: 0;
  }
  .mod-blog .mod--hp {
    top: 62px;
    right: 0px;
    line-height: inherit;
  }
  .mod-blog .mod--hp a {
    display: block;
    background: #005baa;
    padding: 2px 12px;
    color: #fff;
    font-size: 1.2rem;
  }
  .mod-blog .btn_more {
    display: none;
  }
}
@media screen and (min-width: 960px) {
  .mod-blog-wrap {
    max-width: 1600px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }
  .mod-blog .post a:hover h3 {
    color: #005baa;
  }
}

/* カルーセル */
.mod-blog-crsl-wrap {
  margin-bottom: 30px;
}
.mod-blog-crsl-wrap-inner {
  position: relative;
  background: #fff;
}
.mod-blog-crsl .target {
  overflow: hidden;
}
.mod-blog-crsl .slick-prev,
.mod-blog-crsl .slick-next {
  top: 40px;
}
.mod-blog-crsl .slick-track {
  display: flex;
}
.mod-blog-crsl .post {
  margin: 0 5px;
}
.mod-blog-crsl .post a {
  display: block;
  color: #666;
}
.mod-blog-crsl .post .trim {
  position: relative;
  overflow: hidden;
  padding-top: 56.25%;
}
.mod-blog-crsl .post .trim img {
  position: absolute;
  top: 0%;
  left: 0;
  width: 100%;
}
.mod-blog-crsl .name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin-top: 5px;
  min-height: 44px;
  overflow: hidden;
}
.mod-blog-crsl .post .date {
  margin-top: 5px;
  color: #888;
  font-size: 1.2rem;
}
.mod-blog-crsl .post .new {
  display: inline-block;
  background: #ce4949;
  padding: 1px 5px;
  margin-top: 5px;
  text-align: center;
  color: #fff;
  font-size: 1.2rem;
}
.mod-blog-crsl .btn_more {
  display: block;
  position: relative;
  margin-top: 10px;
  line-height: 32px;
  border-top: 1px solid #f0f0f0;
  text-align: right;
}
.mod-blog-crsl .btn_more a {
  display: block;
  padding: 6px 10vw;
  color: #666;
  font-size: 1.4rem;
}
.mod-blog-crsl .btn_more a::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #ccc;
  border-right: solid 2px #ccc;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 41%;
  right: 20px;
  margin-right: 0;
}
.mod-blog-crsl .mod_hp-crsl {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100px;
  height: 44px;
  line-height: 44px;
}
.mod-blog-crsl .mod_hp-crsl a {
  display: block;
  background-color: #005baa;
  text-align: center;
  color: #FFF;
}
@media screen and (min-width: 768px) {
  .mod-blog-crsl .btn_more {
    display: none;
  }
  .mod-blog-crsl .mod_hp-crsl {
    top: 15px;
    right: 80px;
    left: inherit;
    width: auto;
    height: auto;
    line-height: inherit;
  }
  .mod-blog-crsl .mod_hp-crsl a {
    background: #fff;
    color: #666;
  }
  .mod-blog-crsl .mod_hp-crsl a:before {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #000;
    margin-right: 6px;
  }
}
@media screen and (min-width: 960px) {
  .mod-blog-crsl-wrap-inner {
    max-width: 1760px;
    margin: 0 auto 20px;
  }
  .mod-blog-crsl {
    max-width: 1640px;
    margin: 0 auto;
  }
  .mod-blog-crsl .slick-prev, .mod-blog-crsl .slick-next {
    top: 50%;
  }
  .mod-blog-crsl .post a:hover h3 {
    color: #005baa;
  }
  .mod-blog-crsl .post a:hover .name {
    color: #005baa;
  }
  .mod-blog-crsl .mod_hp-crsl a:before {
    display: inline-block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 10px;
    border-color: transparent transparent transparent #000;
    margin-right: 6px;
  }
}


/* -------------------------------------------
   modal contents(念のため)
------------------------------------------- */
/* modal_event */
#modal_event {
  padding: 20px 0;
  width: 424px;
  background: #6e6380;
}
#modal_event .title2 {
  width: 354px;
}
#modal_event .frame {
  margin: 0 auto;
  padding-bottom: 12px;
  width: 354px;
}
#modal_event .link_list li a {
  color: #6e6380;
}

/* modal_disaster */
#modal_disaster {
  padding: 20px 0;
  width: 424px;
  background: #71818c;
}
#modal_disaster .title2 {
  width: 354px;
}
#modal_disaster .frame {
  margin: 0 auto;
  padding-bottom: 12px;
  width: 354px;
}
#modal_disaster .link_list li a {
  color: #71818c;
}


/* -------------------------------------------
   災害（特設）情報
------------------------------------------- */
#disaster h2 {
  background: #f00;
}
#disaster .article {
  margin-bottom: 0;
}
#disaster li {
  padding-bottom: 10px;
}
@media screen and (min-width: 641px) and (max-width: 990px) {
  #contents {
    width: 96%;
    margin: 0 auto;
  }
}


/* ------------------------------------------------------------
   モーダルウィンドウ(念のため)
------------------------------------------------------------ */
@media screen and (max-width: 640px) {
  #mdWindow {
    margin-top: auto;
    margin-left: 0;
    top: 38%;
    left: 4%;
    width: 92%;
    height: auto;
  }
  #mdWindow>.mdClose {
    top: -40px;
    right: 4px;
    width: 44px;
    height: 44px;
    line-height: 40px;
    font-size: 22px;
    text-align: center;
  }
  #themaWrap {
    margin: 0;
    padding: 0 0 0 0;
  }
}


/* ------------------------------------------------------------
   modal contents(念のため)
------------------------------------------------------------ */
@media screen and (max-width: 640px) {
  #modal_event .title2 {
    width: 94%;
  }
  #modal_event .frame {
    width: 94%;
  }
  /* modal_disaster */
  #modal_disaster .title2 {
    width: 94%;
  }
  #modal_disaster .frame {
    width: 94%;
  }
  /* box_disaster */
  #box_disaster {
    padding: 0;
    box-sizing: border-box;
    width: 100% !important;
    height: auto;
    margin-bottom: 20px !important;
    background-color: #fff;
    border-left: 4px solid #71818c;
  }
  #box_list #box_disaster h2 a {
    background: url(../img/sp/icon/modal-list-disaster.jpg) 96% 4px no-repeat;
    background-size: 1.6rem auto;
  }
  #box_disaster .title2 {
    text-align: center;
    margin-bottom: 5px;
  }
  #box_disaster .title2 .ja:before {
    /*width: 38px; height: 35px; */
    background-image: none;
  }
}


/* --------------------------------------
　190927 スカーレット
-------------------------------------- */
#scarlet {
  background: linear-gradient(90deg, rgb(236, 220, 187) 0%, rgb(226, 209, 179) 9%, rgb(228, 211, 185) 14%, rgb(229, 211, 187) 20%, rgb(240, 224, 197) 52%, rgb(245, 230, 197) 35%);
  overflow: hidden;
}
#scarlet .inner {
  padding: 10px 15px;
}
#scarlet .list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#scarlet .list .item {
  width: calc(50% - 5px);
}
#scarlet .list .photo {
  width: 35%;
  margin: 0 auto;
}
#scarlet .list .photo img:nth-child(1) {
  margin: 0 auto;
  display: block;
}
#scarlet .list .photo img:nth-child(2) {
  display: block;
  text-align: center;
  min-width: 200%;
  margin-bottom: -45px;
  margin-left: -50%;
  padding-top: 10px;
}
#scarlet .list .post {
  z-index: 1;
  width: calc(50% - 5px);
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
#scarlet .list .post:nth-child(n+3) {
  margin-top: 10px;
}
#scarlet .list .post .txt {
  padding: 10px;
  font-size: 1.2rem;
  color: #713a00;
  font-weight: bold;
}
#scarlet .list .post .txt .date {
  margin-top: 0;
}
#scarlet .list .post .txt .tit {
  font-size: 1.4rem;
  margin-top: 5px;
}
#scarlet .box .btnWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 15px;
}
#scarlet .box .btnWrap .btn {
  width: calc(50% - 5px);
  box-sizing: border-box;
  background: #fff;
  font-size: 1.4rem;
  text-align: center;
  border-radius: 8px;
}
#scarlet .box .btnWrap .btn a {
  display: block;
  padding: 5px;
  font-weight: bold;
}
#scarlet .box .btnWrap .btn a span:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  margin-right: 4px;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  transition: all 0.5s ease-in 0s;
}
#scarlet .box .btnWrap .btn.btn_hp {
  color: #e8441f;
  border: #e8441f solid 0.67vw;
}
#scarlet .box .btnWrap .btn.btn_hp a {
  color: #e8441f;
}
#scarlet .box .btnWrap .btn.btn_hp a span:before {
  border-color: transparent transparent transparent #e8441f;
}
#scarlet .box .btnWrap .btn.btn_blog {
  color: #ef7b41;
  border: #ef7b41 solid 0.67vw;
}
#scarlet .box .btnWrap .btn.btn_blog a {
  color: #ef7b41;
}
#scarlet .box .btnWrap .btn.btn_blog a span:before {
  border-color: transparent transparent transparent #ef7b41;
}
#scarlet .box .txt_link {
  width: 100%;
  margin: 5px 0 0 0;
  font-size: 1.4rem;
}
#scarlet .box .txt_link a {
  text-decoration: underline;
  color: #713a00;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  #scarlet {
    margin: 0 -15px 30px;
    background: linear-gradient(90deg, rgb(236, 220, 187) 0%, rgb(226, 209, 179) 9%, rgb(228, 211, 185) 14%, rgb(229, 211, 187) 20%, rgb(240, 224, 197) 52%, rgb(245, 230, 197) 35%);
  }
  #scarlet .list .post a {
    display: block;
  }
  #scarlet .list .post a:hover {
    text-decoration: none;
  }
  #scarlet .list .post:nth-child(n+3) {
    margin-top: 20px;
  }
  #scarlet .list .post .txt .date {
    font-size: 1.6rem;
  }
  #scarlet .list .post .txt .tit {
    font-size: 18px;
  }
  #scarlet .box .btnWrap .btn a {
    padding: 15px 5px;
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1020px) {
  #scarlet {
    margin: 0;
    background: linear-gradient(90deg, rgb(246, 231, 198) 0%, rgb(246, 231, 198) 9%, rgb(227, 210, 182) 14%, rgb(226, 206, 178) 20%, rgb(229, 218, 188) 26%, rgb(245, 232, 198) 35%);
  }
  #scarlet .inner {
    padding: 15px 15%;
  }
  #scarlet .logo {
    display: block;
    width: 350px;
    margin: 0 auto;
  }
  #scarlet .list {
    display: block;
  }
  #scarlet .list .item {
    width: calc(25% - 10px);
    float: left;
  }
  #scarlet .list .photo {
    width: 20%;
    margin-right: 20px;
  }
  #scarlet .list .photo img:nth-child(2) {
    margin-bottom: -130px;
  }
  #scarlet .list .post {
    width: calc(25% - 10px);
    border-radius: 10px;
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
  }
  #scarlet .list .post+.post {
    margin-left: 15px;
  }
  #scarlet .list .post:hover {
    opacity: .8;
  }
  #scarlet .list .post:nth-child(n+2) {
    margin-top: 0;
  }
  #scarlet .list .post .txt {
    padding: 15px;
  }
  #scarlet .list .post .txt .date {
    font-size: 18px;
  }
  #scarlet .list .post .txt .tit {
    font-size: 18px;
    line-height: 1.4;
  }
  #scarlet .box .btnWrap {
    width: 60%;
    margin: 0 0 0 22%;
    padding-top: 10px;
  }
  #scarlet .box .btnWrap .btn {
    border-radius: 20px;
  }
  #scarlet .box .btnWrap .btn a {
    padding: 15px;
    transition: all 0.2s;
  }
  #scarlet .box .btnWrap .btn a:hover {
    text-decoration: none;
  }
  #scarlet .box .btnWrap .btn.btn_hp {
    border: #e8441f solid 4px;
  }
  #scarlet .box .btnWrap .btn.btn_hp a:hover {
    text-decoration: none;
    background: #e8441f;
    opacity: 1;
    color: #fff;
    border-radius: 10px;
  }
  #scarlet .box .btnWrap .btn.btn_hp a:hover span:before {
    border-color: transparent transparent transparent #fff;
  }
  #scarlet .box .btnWrap .btn.btn_blog {
    border: #ef7b41 solid 4px;
    z-index: 10;
  }
  #scarlet .box .btnWrap .btn.btn_blog a:hover {
    text-decoration: none;
    background: #ef7b41;
    opacity: 1;
    color: #fff;
    border-radius: 10px;
  }
  #scarlet .box .btnWrap .btn.btn_blog a:hover span:before {
    border-color: transparent transparent transparent #fff;
  }
  #scarlet .box .txt_link {
    width: 60%;
    margin: 10px 0 0 22%;
    font-size: 18px;
  }
  #scarlet .box .txt_link a:hover {
    text-decoration: none;
  }
}


/* --------------------------------------
　不明
-------------------------------------- */
#box_monitor {
  display: none;
}
@media screen and (max-width: 640px) {
  #box_monitor {
    display: block;
  }
}


/* --------------------------------------
	#header
-------------------------------------- */
#header {
  border-bottom: 1px solid #cbd1df;
}
#station_title a {
  color: #666;
}
@media screen and (min-width: 768px) {
  #sp_btn_menu{
    display:none;
  }
}


/* --------------------------------------
	#footer
-------------------------------------- */
/*--- go_to_top ---*/
#go_to_top {
  background: url(/osaka/images/top/footer_dash.gif) repeat-x;
  text-align: right;
}
#go_to_top a {
  display: inline-block;
  width: 35%;
  margin-top: 5px;
  padding: 5px;
  background: #fff;
  text-align: center;
  color: #666;
  font-size: 1.2rem;
}
@media screen and (min-width: 768px) {
  #go_to_top a {
    width: 15%;
  }
}
@media screen and (min-width: 960px) {
  .go_to_top_inner {
    max-width: 1600px;
    margin: 0 auto;
  }
  #go_to_top a {
    width: 150px;
  }
}

/*--- pagetop ---*/
#pagetop {
  display: none!important;
}
@media screen and (min-width: 768px) {
  #pagetop a {
    display: block;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    box-sizing: border-box;
    padding-top: 20px;
    background-color: #fff;
    box-shadow: 0 3px 0 #ccc;
    color: #888;
    position: fixed;
    text-align: center;
    bottom: 20px;
    left: 20px;
    z-index: 11;
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 960px) {
  #pagetop {
    display: block!important;
  }
}

/*--- footer ---*/
#footer {
  padding: 10px 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1) inset;
  font-size: 1.2rem;
}
.text_bold {
  font-weight: bold;
}
#footer #ft_col_1, #footer #ft_col_2 {
  display: none;
}
#footer #ft_col_1 li a, #footer #ft_col_2 li a, #footer #ft_col_3 li a {
  display: block;
  padding: 8px 25px 8px 8px;
  border-bottom: 1px solid #dadcdd;
  color: #666;
  font-size: 1.4rem;
}
#footer #ft_col_1 {
  display: none;
}
#footer #ft_col_3 {
  width: 100%;
}
#footer #ft_col_3 li {
  font-size: 1.5rem;
}
#footer #ft_col_3 li a {
  background: #fff url(/osaka/top/img/icon/icon_sp_link.png) no-repeat 97% center;
}
#footer #ft_col_4 {
  width: 48.6111111%;
  padding: 0;
  border-left: none;
}
#footer #ft_col_4 h2 {
  padding: 10px 0 0 8px;
}
#footer #ft_col_4 h2 img {
  width: 132px;
}
#footer #ft_col_4 address, #footer #ft_col_4 p {
  display: none;
}
@media screen and (min-width: 640px) {
  #footer {
    background: #f7f7f7;
  }
  #footer #ft_col_1 {
    display: block;
    margin-bottom: 0;
    float: left;
    width: 48.6111111%!important;
  }
  #footer #ft_col_1 h2 {
    color: #fff;
    font-weight: 600;
    font-size: 1.4rem;
    padding: 8px;
    outline: 1px solid #1c5387;
    border: 1px solid #267bcc;
    background: #1366b3 url(../img/icon/btn_toggle.png) no-repeat 98% 5px;
    background: url(../img/icon/btn_toggle.png) no-repeat 98% 5px, -moz-linear-gradient(top, #1366b3 0%, #0d59a1 100%);
    background: url(../img/icon/btn_toggle.png) no-repeat 98% 5px, -webkit-gradient(linear, left top, left bottom, color-stop(0%, #1366b3), color-stop(100%, #0d59a1));
    background: url(../img/icon/btn_toggle.png) no-repeat 98% 5px, -webkit-linear-gradient(top, #1366b3 0%, #0d59a1 100%);
    background: url(../img/icon/btn_toggle.png) no-repeat 98% 5px, -o-linear-gradient(top, #1366b3 0%, #0d59a1 100%);
    background: url(../img/icon/btn_toggle.png) no-repeat 98% 5px, -ms-linear-gradient(top, #1366b3 0%, #0d59a1 100%);
    background: url(../img/icon/btn_toggle.png) no-repeat 98% 5px, linear-gradient(to bottom, #1366b3 0%, #0d59a1 100%);
  }
  #footer #ft_col_1 ul, #footer #ft_col_2 ul {
    display: none;
  }
  #footer #ft_col_1 li.go_to_pc, #footer #ft_col_2 li.go_to_pc {
    display: block;
    background-color: #FFF;
    color: #6c6c6c;
    padding: 8px;
    text-align: right;
    font-size: 11px;
  }
  #footer #ft_col_1 li a {
    display: block;
    background: #f7f4f2 url(../img/icon/icon_pc_link.png) no-repeat 97% center;
    padding: 5px 25px 5px 8px;
    margin: 0;
    font-size: 1.4rem;
    color: #666;
    border-top: 1px solid #FFF;
    border-bottom: 1px solid #dadcdd;
  }
  #footer #ft_col_3 {
    width: 385px;
    width: 48.6111111%;
    padding: 0;
    float: right;
    margin: 0 0 20px 0;
  }
  #footer #ft_col_3 li a {
    font-size: 1.4rem;
    padding: 5px 25px 5px 8px;
  }
  #footer #ft_col_4 {
    clear: right;
    width: 385px;
    width: 48.6111111%;
    padding: 0;
    border-left: none;
    float: right;
  }
  #footer #ft_col_4 h2 {
    padding: 0;
    text-align: right;
  }
  #footer #ft_col_4 address {
    display: block;
    text-align: right;
  }
}
@media screen and (min-width: 1020px) {
  #footer .wrap {
    max-width: 1600px;
    margin: 0 auto;
    padding: 5px 15px 0 10px;
  }
  #footer h2 {
    margin-bottom: 0.8em;
    font-weight: 600;
  }
  #footer #ft_col_1 {
    width: 22%!important;
    padding: 0 1.010101% 0 0;
  }
  #footer #ft_col_1 h2 {
    color: #666;
    background: none;
    border: none;
    outline: none;
    font-size: 1.2rem;
    padding: 0;
    margin-bottom: 0.8em;
    font-weight: 600;
  }
  #footer #ft_col_2 {
    display: block;
    width: 37.6767676%;
    float: left;
    padding: 0 0 0 1.010101%;
    border-left: 1px dotted #888;
  }
  #footer #ft_col_2 ul li {
    width: 47.5%;
    display: inline-block;
    vertical-align: top;
  }
  #footer #ft_col_3 {
    width: 13.1313131%;
    padding: 1.8em 1.010101% 0 0;
    float: left;
  }
  #footer #ft_col_3 li a {
    background: none;
  }
  #footer #ft_col_4 {
    width: 19%;
    float: right;
    border-left: 1px dotted #888;
    padding-left: 1.010101%;
    text-align: right;
    font-size: 11px;
  }
  #footer #ft_col_4 h2 {
    width: 132px;
    margin-left: auto;
  }
  #footer #ft_col_4 address {
    display: block;
    clear: both;
  }
  #footer #ft_col_4 p {
    display: block;
    margin-top: 5px;
  }
  #footer #ft_col_1 ul, #footer #ft_col_2 ul {
    display: block;
  }
  #footer #ft_col_1 li, #footer #ft_col_2 li, #footer #ft_col_3 li {
    background: url(../../images/top/icon_arrow_blue.gif) no-repeat 0 8px;
    padding-left: 5px;
    font-size: inherit;
  }
  #footer #ft_col_1 li a, #footer #ft_col_2 li a, #footer #ft_col_3 li a {
    padding: 0;
    border-bottom: 0;
    background: no-repeat;
    font-size: 1.2rem;
    border: none;
  }
  #footer #ft_col_1 li.go_to_pc, #footer #ft_col_2 li.go_to_pc {
    display: none;
  }
}


/* --------------------------------------
	#modalwindow
-------------------------------------- */
#overlay {
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  height: 100%;
  width: 100%;
  background: #fff;
  z-index: 500;
}
#modalWindow {
  position: absolute;
  top: 0;
  left: 50%;
  display: none;
  margin-left: -295px;
  width: 590px;
  z-index: 600;
}
#modalWindow iframe {
  width: 100%;
  height: 100%;
}
#modalLoading {
  position: fixed;
  top: 50%;
  left: 50%;
  display: none;
  margin: -50px 0 0 -50px;
  padding: 20px;
  width: 100px;
  height: 100px;
  background: url(../img/share/ajax-loader.gif) no-repeat center center;
  z-index: 500;
}
#modalClose {
  position: absolute;
  top: -34px;
  right: 0;
}
#modalCloseSp {
  display: none;
}
#modalTarget {
  position: relative;
  width: 100%;
}
#modalTarget .modalGet {
  position: relative;
  margin: 0 auto;
}

/* title */
#modalWindow h2 {
  border-bottom: none;
}
#modalWindow h2 span {
  top: auto;
  left: auto;
}
#modalWindow .title1 {
  margin: 0 auto 20px;
  border-bottom: none;
  text-align: center;
  font-size: 10px;
  font-weight: normal;
  line-height: 1.2;
}
#modalWindow .title1:after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -1px;
  width: 100%;
  height: 1px;
  background: #fff;
  z-index: 1;
}
#modalWindow .title1 span {
  position: relative;
  display: inline-block;
  padding: 0 18px;
  vertical-align: middle;
  z-index: 2;
}
#modalWindow .title2 {
  margin: 0 auto 10px;
  padding-bottom: 1.6rem;
  border-bottom: solid #fff 1px;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #fff;
}


/* more */
#modalWindow .more1 {
  margin: 0 auto;
  width: 155px;
}
#modalWindow .more1 a {
  display: block;
  width: 100%;
  height: 30px;
  background: #626262;
  text-align: center;
  font-size: 13px;
  font-weight: bold;
  line-height: 30px;
  color: #fff;
}
#modalWindow .more1 a:before {
  content: " ";
  display: inline-block;
  margin-right: 10px;
  width: 6px;
  height: 100%;
  background: url(../img/icon/arrow1.png) no-repeat left center;
  vertical-align: top;
}
#modalWindow .more1 span {
  font-size: 13px;
}


/* link_list */
#modalWindow .link_list {
  margin-left: -20px;
}
#modalWindow .link_list li {
  float: left;
  margin: 20px 0 0 20px;
  padding-bottom: 2px;
  width: 167px;
  min-height: 108px;
  background: #fff;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.2;
}
#modalWindow .link_list li a {
  display: block;
  padding-top: 72px;
  height: 38px;
  background-position: center top;
  background-repeat: no-repeat;
}
#modalWindow .link_list .link_weather a {
  background-image: url(../img/icon/weather1.png);
}
#modalWindow .link_list .link_pm25 a {
  background-image: url(../img/icon/pm1.png);
}
#modalWindow .link_list .link_memo a {
  background-image: url(../img/icon/memo1.png);
}
#modalWindow .link_list .link_water a {
  background-image: url(../img/icon/water1.png);
}
#modalWindow .link_list .link_can a {
  background-image: url(../img/icon/can1.png);
}
#modalWindow .link_list .link_speaker a {
  background-image: url(../img/icon/speaker1.png);
}
#modalWindow .link_list .link_public a {
  background-image: url(../img/icon/calendar2.png);
}
#modalWindow .link_list .link_plaza a {
  background-image: url(../img/icon/plaza1.png);
}
#modalWindow .link_list .link_atrium a {
  background-image: url(../img/icon/calendar3.png);
}
#modalWindow .link_list .link_experience a {
  background-image: url(../img/icon/experience1.png);
}
#modalWindow .link_list .link_hall a {
  background-image: url(../img/icon/hall1.png);
}
#modalWindow .link_list li a span {
  display: block;
  padding-top: 6px;
}
#modalWindow .link_list li a .external_nhk {
  padding-top: 0;
}
#modalWindow .link_list .line2 a span {
  padding-top: 0;
}


/* page_video
------------------------------------------------ */
#page_video {
  width: 100%;
  background: #000;
}
#page_video .target {
  margin: 0 auto;
  width: 100%;
  text-align: center;
}
#page_video img {
  width: 100%;
  height: auto;
}
#page_video video {
  display: block;
  margin: 0 auto;
}
#page_video embed {
  display: block;
  margin: 0 auto;
}