@charset "UTF-8";
.bg_color_white {
  background-color: #fff; }

.inner {
  max-width: 1200px;
  margin: 0 auto; }

/* top_image */
#top_image {
  position: relative;
  overflow: hidden; }
  #top_image .inner {
    /*width: 1300px;*/
    min-width: 1100px;
    max-width: 100%;
    /*max-height: 520px;*/
    max-height: auto;
    min-height: 100%;
    margin: 0 auto;
    position: relative;
    overflow: hidden; }

/* top_slide */
#top_image .inner .top_slide li {
  width: 100% !important; }

#top_image .inner .top_slide li img {
  width: 100%;
  min-height: 350px; }

#top_image .inner .top_slide li a {
  display: block;
  background: #F8F9F4; }

#top_image .inner .top_slide li a img {
  opacity: 1;
  transition: all 0.2s ease-in-out 0s;
  -webkit-transition: all 0.2s ease-in-out 0s;
  -moz-transition: all 0.2s ease-in-out 0s;
  -o-transition: all 0.2s ease-in-out 0s; }

#top_image .inner .top_slide li a img:hover {
  opacity: 0.7;
  -moz-opacity: 0.60;
  /* Firefox CSS3以前 */
  filter: alpha(opacity=60);
  /* IE */
  transition: all 0.2s ease-in-out 0s;
  -webkit-transition: all 0.2s ease-in-out 0s;
  -moz-transition: all 0.2s ease-in-out 0s;
  -o-transition: all 0.2s ease-in-out 0s; }

#top_image .sp-grab,
#top_image .sp-grabbing {
  cursor: pointer; }

#top_image .sp-thumbnails-container {
  margin: 0;
  width: 100% !important;
  /*background-color: #601214;*/
  background: repeating-linear-gradient(90deg, #701516 0, #701516 1px, #761716 1px, #761716 2px); }

#top_image .sp-thumbnails {
  margin: 8px auto; }

#top_image .sp-thumbnail-container {
  position: relative; }

#top_image .sp-thumbnail-container::before {
  background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1; }

#top_image .sp-selected-thumbnail::before {
  background: none; }

#top_image .sp-selected-thumbnail::before,
#top_image .sp-selected-thumbnail::after {
  border: none; }

#top_image .sp-thumbnail {
  top: 0; }

/* bx-viewport */
.bx-viewport {
  overflow: hidden !important;
  max-height: 600px;
  background: #FFFFFF; }

/* bx-pager */
.bx-wrapper .bx-pager {
  text-align: center;
  font-size: .85em;
  font-family: Arial;
  font-weight: bold;
  color: #666;
  padding-top: 10px; }

.bx-wrapper .bx-pager .bx-pager-item,
.bx-wrapper .bx-controls-auto .bx-controls-auto-item {
  display: inline-block;
  *zoom: 1;
  *display: inline; }

.bx-wrapper .bx-pager.bx-default-pager a {
  background: #C8C8C8;
  text-indent: -9999px;
  display: block;
  width: 15px;
  height: 15px;
  margin: 0 5px;
  outline: 0;
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px; }

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active {
  background: #D00D0D; }

.icon_ball {
  background: url(../img/lang/icon_ball.png) no-repeat scroll left 5px;
  padding: 0 0 0 24px; }

/*.slider-pro_wrap h1,
.slider-pro_wrap p,
.top_about_area .ttl,
.top_topics .ttl,
.other_info_area .top_topics_02_wrap .ttl,
.other_info_area .top_facebook_wrap .ttl{
    font-family: 'Noto Serif JP', 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif, serif;
}*/
/*#top #pagebody { background-position: center top; }*/
/* kinkyu_sokuho */
#kinkyu_sokuho {
  margin: 0 auto;
  padding: 15px 0;
  width: 980px; }
  #kinkyu_sokuho .inner {
    border: 5px solid #d90000;
    padding: 18px;
    background-color: #fff;
    /* 
    .date {
    	font-size: 13px;
    	margin: 0 0 5px;
    }
    .news_ttl {
    	font-size: 18px;
    	color: #d80000;
    	font-weight: bold;
    	margin: 0 0 5px;
    }
    .news_text {
    	font-size: 15px;
    	line-height: 1.5;
    	padding-bottom: 20px;
    	margin-bottom: 20px;
    	border-bottom: 1px solid #ccc;
    }
    .lang_link {
    	margin: 0 0 20px;
    	dt {
    		color: #333;
    		font-size: 13px;
    		margin-bottom: 5px;
    	}
    	dd {
    		font-size: 16px;
    		font-weight: bold;
    	}
    }
    */ }
    #kinkyu_sokuho .inner h1 {
      font-size: 20px;
      line-height: 1.2;
      margin-bottom: 15px;
      padding: 10px;
      background: #ddd; }
    #kinkyu_sokuho .inner dl + dl {
      border-top: 1px solid #ccc;
      padding-top: 12px;
      margin-top: 12px; }
    #kinkyu_sokuho .inner dd {
      color: #d80000;
      font-weight: bold;
      font-size: 18px; }
      #kinkyu_sokuho .inner dd a {
        color: #d80000; }
      #kinkyu_sokuho .inner dd a:visited {
        color: #d80000; }

/* notice_area */
.notice_area {
  width: 980px;
  font-size: 14px;
  box-sizing: border-box;
  margin: 0 auto;
  border: 4px double #ccc;
  padding: 20px;
  background-color: #fff;
  line-height: 1.8; }
  .notice_area .ttl {
    padding: 0;
    margin: 0 0 5px;
    font-size: 16px;
    font-weight: bold; }

/* slider_area */
.slider-pro_wrap {
  position: relative; }
  .slider-pro_wrap .sp-mask {
    transition: none !important; }
  .slider-pro_wrap p {
    position: absolute;
    z-index: 999;
    right: 0;
    bottom: 70px;
    width: 50%;
    line-height: 1.2;
    padding: 30px 30px;
    background-color: rgba(0, 0, 0, 0.75);
    background: linear-gradient(135deg, rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.75));
    font-size: 225%;
    color: #fff; }

/* new_notice_area */
.new_notice_area {
  padding: 40px 0;
  background: #991d1d url(../img/top/notice_bg.png) no-repeat center 45px; }
  .new_notice_area .main_info {
    padding: 15px 15px;
    background: #f6f2ed url(../img/module/bg_02.png);
    /*.link_block{
      min-width: 280px;
      margin-left: 15px;
    }*/ }
    .new_notice_area .main_info .txt_block.scroll_set {
      max-height: 230px;
      overflow-y: scroll; }
    .new_notice_area .main_info .txt_block .lead {
      line-height: 1.4;
      margin-bottom: 10px;
      padding: 5px 5px;
      background-color: #991d1d;
      font-size: 137.5%;
      color: #fff; }
    .new_notice_area .main_info .txt_block p {
      line-height: 1.25; }
  .new_notice_area .bnr_info_block {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .new_notice_area .bnr_info_block .bnr_info {
      margin-top: 30px; }

/* status_use_area */
.status_use_area {
  padding: 35px;
}
  .status_use_area .top_content1 {
    width: 680px;
}

.status_use_area .inner {
    display: flex;
    justify-content: space-around;
  gap: 40px;
}
.status_use_area .sub {
  flex: 1;
}
.top_bnrs {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}
.top_bnrs .item {
    width: calc(50% - 10px);
}
.top_bnrs .item a {
  display: block;
  text-decoration: none;
}

#parking_info {}
  #parking_info .ttl {
    color: #fff;
    font-weight: bold;
    font-size: 187.5%;
    padding: 3px 9px 3px;
    line-height: 1.3;
    background-color: #000; }
    #parking_info .ttl span {
      display: block;
      padding: 5px 0 5px 41px;
      background: url(../img/module/parking_info_ttl.png) no-repeat 0 center; }
  #parking_info .parking_info_inner {
    text-align: center;
    padding: 15px 40px;
    border-right: 2px solid #b5b5b5;
    border-bottom: 2px solid #b5b5b5;
    border-left: 2px solid #b5b5b5;
    background: #e9e9e9 url(../img/module/bg_01.png); }
  #parking_info a.popup_inline {
    display: block;
    position: relative;
    max-width: 300px;
    margin: 0 auto;
    padding: 8px 0;
    color: #fff;
    text-decoration: none;
    background-color: #0068b7;
    border: 1px solid #bfbfbf;
    transition: .3s; }
    #parking_info a.popup_inline:hover {
      background-color: #004B82; }
    #parking_info a.popup_inline::after {
      content: "";
      position: absolute;
      top: 50%;
      right: 5px;
      width: 0;
      height: 0;
      border: 5px solid transparent;
      border-left: 8px solid #fff;
      transform: translate(0, -50%); }

#pop_parking_info .note_text {
  float: left;
  font-size: 18px; }
#pop_parking_info .link {
  float: right;
  width: 240px; }
  #pop_parking_info .link a {
    color: #fff;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    display: block;
    padding: 11px 0;
    border-radius: 6px;
    background-image: -webkit-gradient(linear, 49% 0%, 49% 115%, color-stop(0, #555555), color-stop(1, black));
    background-image: -webkit-linear-gradient(-90deg, #555555 0%, black 100%);
    background-image: -o-linear-gradient(-90deg, #555555 0%, black 100%);
    background-image: -ms-linear-gradient(-90deg, #555555 0%, black 100%);
    background-image: linear-gradient(180deg, #555555 0%, black 100%);
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555,endColorstr=#ff000000,GradientType=0)";
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#ff555555,endColorstr=#ff000000,GradientType=0); }
  #pop_parking_info .link span {
    padding-right: 24px;
    background: url(../img/module/icon_arrow.png) no-repeat right center; }
#pop_parking_info .map {
  height: 580px;
  position: relative;
  width: 900px;
  margin-bottom: 15px; }
  #pop_parking_info .map dl {
    border: 3px solid #fff;
    box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.25);
    text-align: center;
    width: 74px;
    position: absolute; }
  #pop_parking_info .map dt {
    background-color: #333333;
    color: #ccc;
    font-size: 2rem;
    padding: 4px 0; }
  #pop_parking_info .map dd {
    color: #fff;
    font-size: 2rem;
    padding: 6px 0; }
  #pop_parking_info .map #parking_p1 {
    left: 600px;
    top: 48px; }
  #pop_parking_info .map #parking_p2 {
    left: 642px;
    top: 170px; }
#pop_parking_info .status_00 {
  background-color: #FF0000; }
#pop_parking_info .status_01 {
  background-color: #D27200; }
#pop_parking_info .status_02 {
  background-color: #0076CC; }
#pop_parking_info .status_03 {
  background-color: #666666; }

#colorbox.popup_inline,
.popup_inline #cboxWrapper,
.popup_inline #cboxContent {
  overflow: inherit; }

.popup_inline #cboxLoadedContent {
  background: #fff none repeat scroll 0 0;
  padding: 20px 20px 10px;
  box-sizing: content-box;
  overflow: inherit !important; }
.popup_inline #cboxTopLeft,
.popup_inline #cboxTopCenter,
.popup_inline #cboxTopRight,
.popup_inline #cboxMiddleLeft,
.popup_inline #cboxMiddleRight,
.popup_inline #cboxBottomLeft,
.popup_inline #cboxBottomCenter,
.popup_inline #cboxBottomRight {
  display: none; }
.popup_inline #cboxClose {
  background: rgba(0, 0, 0, 0) url("/shurijo/img/btn_close.png") no-repeat scroll 0 0;
  bottom: auto;
  height: 61px;
  right: -39px;
  text-indent: -9999px;
  top: -34px;
  width: 61px; }
  .popup_inline #cboxClose:hover {
    background-position: 0 0;
    opacity: .9; }

/* bnr_parking_info */
.bnr_parking_info {
  list-style: none;
}
.bnr_parking_info li + LI {
  margin-top: 15px;
}
.bnr_parking_info li a {
  display: block;
  position: relative;
  color: #fff;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.2;
  padding: 19px 0 19px 67px;
  text-decoration: none;
  background: #000 url(../img/top/parking_info_ttl.png) no-repeat 15px center;
  background-size: 38px auto;
  transition: .3s;
}
.bnr_parking_info li a:hover {
  opacity: 0.6;
}
.bnr_parking_info li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left: 8px solid #fff;
  transform: translate(0, -50%);
}
.bnr_parking_info li a.link_02 {
  background: #000 url(../img/top/parking_reservation_ttl.png) no-repeat 15px center;
  background-size: 38px auto;
}
.bnr_parking_info li a.link_03 {
  background: #000 url(../img/top/parking_private_p_ttl.png) no-repeat 15px center;
  background-size: 38px auto;
}

/* top_about_area */
.top_about_area {
  margin: 58px auto auto; }
  .top_about_area .ttl_wrap {
    background: #fff;
    text-align: center;
    padding: 50px 20px 30px; }
  .top_about_area .ttl {
    font-size: 200%;
    font-weight: bold;
    margin-bottom: 10px; }
  .top_about_area .sub_text {
    color: #6a3906;
    font-size: 112.5%; }
  .top_about_area .link_list {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #C1C1C1;
    background: #fff;
    padding-bottom: 50px; }
  .top_about_area .link_lists {
    width: 34%;
    border-bottom: 1px solid #C1C1C1; }
    .top_about_area .link_lists + .link_lists {
      border-left: 1px solid #C1C1C1; }
    .top_about_area .link_lists a {
      display: block;
      background: #F8F5F0;
      text-decoration: none;
      color: #000;
      padding-top: 15px; }
    .top_about_area .link_lists img {
      width: 100%; }
    .top_about_area .link_lists .title {
      text-align: center;
      position: relative;
      font-size: 150%;
      line-height: 1.2;
      padding: 20px 10px 30px; }
    .top_about_area .link_lists .title .en {
      display: block;
      color: #AB966E;
      font-size: 1.6rem;
      font-family: 'Noto Serif JP';
      margin-top: 5px; }
    .top_about_area .link_lists .title::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: 15px;
      width: 10px;
      height: 10px;
      border-right: 2px solid #B62626;
      border-bottom: 2px solid #B62626;
      transform: rotate(45deg); }

/* top_topics_area */
/*
.top_topics_area{
  padding: 50px 0;
  background: #f6f2ed url(/shurijo/img/module/bg_02.png);
}
*/
/*
.top_topics{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  
  .ttl{
    width: 210px;
    line-height: 1.3;
    padding-bottom: 45px;
    @include font-per(32);
    
    .eng_txt{
      display: block;
      font-size: 75%;
      color: $p_color;
    }
  }
  
  .tab_search_menu{
    margin-bottom: 15px;
    
    .menu{
      float: left;
      margin-right: 35px;
      
      &::before{
        content: "▼";
        display: inline-block;
        line-height: 1;
        margin-right: 5px;
        font-size: 75%;
        transform: rotate(-92deg);
      }
      
      &.active{
        &::before{
          transform: rotate(0);
        }
      }
    }
    
    a{
      @include font-per(18);
      text-decoration: none;
      color: #362e2b;
    }
    
    .menu_01{
      &::before{
        color: #991d1d;
      }
      
      &.active{
        a{
          border-bottom: 2px solid #991d1d;
        }
      }
    }
    
    .menu_02{
      &::before{
        color: #638c0b;
      }
      
      &.active{
        a{
          border-bottom: 2px solid #638c0b;
        }
      }
    }
    
    .menu_03{
      &::before{
        color: #556fb5;
      }
      
      &.active{
        a{
          border-bottom: 2px solid #556fb5;
        }
      }
    }
  }
  
  .topics_list_wrap{
    width: 930px;

    .tab_search_item{
      border-top: 1px dashed #a0a0a0;
    }
    
    dl{
      position: relative;
      display: table;
      width: 100%;
      padding: 15px 30px 15px 0;
      border-bottom: 1px dashed #a0a0a0;
      
      dt,dd{
        display: table-cell;
        vertical-align: middle;
      }
      
      dt{
        width: 110px;
        padding-left: 135px;
      }
      
      dd{
        padding-left: 35px;
				
				a {
					&:hover {
						color: #0033D8;
						text-decoration: underline;
					}
					&:visited {
						color: #666;
					}
				}
        
        &::before{
          content: "";
          position: absolute;
          top: 50%;
          left: 0;
          width: 120px;
          height: 26px;
          background: url(../img/module/tag_new.png) 0 center no-repeat;
          transform: translateY(-50%);
        }
        
        &.tag_shuri_info{
          &::before{
            background: url(../img/module/tag_latest.png) 0 center no-repeat;
          }
        }
		  
        &.tag_shuri_info.category_en{
          &::before{
            background: url(../img/module/en/tag_new.png) 0 center no-repeat; 
          }
        }
		  
        &.tag_shuri_info.category_kr{
          &::before{
            background: url(../img/module/kr/tag_new.png) 0 center no-repeat; 
          }
        }
		  
        &.tag_shuri_info.category_sc{
          &::before{
            background: url(../img/module/sc/tag_new.png) 0 center no-repeat; 
          }
        }
		  
        &.tag_shuri_info.category_tc{
          &::before{
            background: url(../img/module/tc/tag_new.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_otoku{
          &::before{
            background: url(../img/module/tag_value.png) 0 center no-repeat;
          }
        }
        
        &.tag_shuri_otoku.category_en{
          &::before{
            background: url(../img/module/en/tag_value.png) 0 center no-repeat;
          }
        }
        
        &.tag_shuri_otoku.category_kr{
          &::before{
            background: url(../img/module/kr/tag_value.png) 0 center no-repeat;
          }
        }
        
        &.tag_shuri_otoku.category_sc{
          &::before{
            background: url(../img/module/sc/tag_value.png) 0 center no-repeat;
          }
        }
        
        &.tag_shuri_otoku.category_tc{
          &::before{
            background: url(../img/module/tc/tag_value.png) 0 center no-repeat;
          }
        }
        
        &.tag_shuri_congestion{
          &::before{
            background: url(../img/module/tag_crowded.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_congestion.category_en{
          &::before{
            background: url(../img/module/en/tag_crowded.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_congestion.category_kr{
          &::before{
            background: url(../img/module/kr/tag_crowded.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_congestion.category_sc{
          &::before{
            background: url(../img/module/sc/tag_crowded.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_congestion.category_tc{
          &::before{
            background: url(../img/module/tc/tag_crowded.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_voice{
          &::before{
            background: url(../img/module/tag_voice.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_voice.category_en{
          &::before{
            background: url(../img/module/en/tag_voice.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_voice.category_kr{
          &::before{
            background: url(../img/module/kr/tag_voice.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_voice.category_sc{
          &::before{
            background: url(../img/module/sc/tag_voice.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_voice.category_tc{
          &::before{
            background: url(../img/module/tc/tag_voice.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_park{
          &::before{
            background: url(../img/module/tag_park.png) 0 center no-repeat; 
          }
        }
        
        &.tag_shuri_recommend,
        &.tag_shuri_taiken{
          &::before{
            background: url(../img/module/tag_event.png) 0 center no-repeat; 
          }
        }
      }
      
      &::after{
        content: "";
        width: 8px;
        height: 8px;
        position: absolute;
        top: 50%;
        right: 20px;
        margin-top: -3px;
        border-right: 2px solid $p_color;
        border-bottom: 2px solid $p_color;
        transform: rotate(-45deg);
        -webkit-transform: rotate(-45deg);
      }
      
      a{
        color: inherit;
        text-decoration: none;
      }
    }
  }  
  
  .link_list_page{
    .list{
      position: relative;
      display: block;
      padding: 10px 0;
      text-align: center;
      text-decoration: none;
      color: inherit;
      background-color: #fff;
      border: 1px solid #bfbfbf;
			transition: .3s;
			
			&:hover {
				color: #fff;
				background-color: #000;
			}
      
      &::after{
        content: "";
        position: absolute;
        top: 50%;
        right: 5px;
        width: 0;
        height: 0;
        border: 5px solid transparent;
        border-left: 8px solid $p_color;
        transform: translate(0, -50%);
      }
    }
  }
  
  .link_list_page{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 210px;
  }
}

.top_topics_area{
  &.top_topics_area_renewal{
    .inner{
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
    }
    
    .top_topics_renewal{
      width: 49%;
    }
    
    .topics_list_wrap{
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 100%;
    }
    
    .ttl{
      width: 100%;
      padding-bottom: 20px;
    }
    
    .link_list_page{
      position: static;
      margin-top: 20px;
    }
    
    #tab_search_outer_02{
      margin-top: 43px;
      
//      .tab_search_menu{
//        display: none;
//      }
    }
    
  }
}
*/
.top_topics {
  padding: 50px 0;
  background: #f6f2ed url(../img/module/bg_02.png); }

.lang_en .top_topics,
.lang_sc .top_topics,
.lang_tc .top_topics,
.lang_kr .top_topics {
  display: none;
}


.top_topics_head {
  margin-bottom: 20px; }

.top_topics_head .ttl {
  display: inline-block;
  vertical-align: middle;
  font-size: 200%;
  margin-right: 40px;
  font-weight: bold; }

.top_topics_head .eng_txt {
  font-size: 1.6rem;
  color: #6A3906;
  margin-left: 10px; }

.top_topics_head .tab_search_menu {
  display: inline-block;
  vertical-align: middle;
  letter-spacing: -20px; }

.top_topics_head .tab_search_menu .menu {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: middle;
  margin-right: 12px; }

.top_topics_head .tab_search_menu a {
  display: block;
  font-size: 87.5%;
  text-decoration: none;
  color: #333;
  background: #fff;
  border-radius: 35px;
  padding: 2px 15px;
  transition: .3s; }

.top_topics_head .tab_search_menu a:hover {
  background: #fffdc4; }

.top_topics_head .tab_search_menu .active a {
  color: #fff;
  background: #991D1D; }

.top_topics_head .tab_search_menu .menu_02.active a {
  background: #468C00; }

.top_topics_head .tab_search_menu .menu_03.active a {
  background: #D9A300; }

.top_topics_head .tab_search_menu .menu_04.active a {
  background: #727236; }

.top_topics_head .tab_search_menu .menu_05.active a {
  background: #991D1D; }

.top_topics .topics_list_wrap {
  border-top: 2px solid #991D1D;
  background: #fff;
  padding: 30px; }

.top_topics .topics_list_wrap .tab_search_item {
  max-height: 325px;
  overflow-y: scroll; }

.top_topics .topics_list_wrap dl {
  display: table;
  width: 100%;
  padding: 15px 30px 15px 0;
  border-bottom: 1px solid #ccc; }

.top_topics .topics_list_wrap dl:first-child {
  padding-top: 0; }

.top_topics .topics_list_wrap dl dt,
.top_topics .topics_list_wrap dl dd {
  display: table-cell;
  vertical-align: middle; }

.top_topics .topics_list_wrap dl dt {
  width: 110px; }

.top_topics .topics_list_wrap dl .cat_icon {
  width: 120px; }

.top_topics .topics_list_wrap dl .cat_icon span {
  font-size: 1.3rem;
  color: #fff;
  text-align: center;
  background: #fff;
  display: block;
  padding: 3px; }

/* 復元・復興情報 */
.top_topics .topics_list_wrap dl .cat_icon.tag_shuri_fukkou span {
  background: #991D1D; }

/* 公園情報 */
.top_topics .topics_list_wrap dl .cat_icon.tag_shuri_park span {
  background: #468C00; }

/* お得情報 */
.top_topics .topics_list_wrap dl .cat_icon.tag_shuri_otoku span {
  background: #D9A300; }

/* お客様の声 */
.top_topics .topics_list_wrap dl .cat_icon.tag_shuri_voice span {
  background: #152199; }

/* その他 */
.top_topics .topics_list_wrap dl .cat_icon.tag_shuri_other span {
  background: #727236; }

.top_topics .topics_list_wrap dl .title {
  padding-left: 25px; }

.top_topics .topics_list_wrap dl dd a:hover {
  color: #0033D8;
  text-decoration: underline; }

.top_topics .topics_list_wrap dl dd a:visited {
  color: #666; }

.top_topics .topics_list_wrap dl a {
  color: inherit;
  text-decoration: none;
  display: block; }

.topics_link_btn {
  text-align: center;
  margin-top: 30px; }

.topics_link_btn a {
  position: relative;
  display: inline-block;
  width: 285px;
  padding: 10px 0;
  text-align: center;
  text-decoration: none;
  color: #000;
  background-color: #fff;
  border: 1px solid #707070;
  transition: .3s; }

.topics_link_btn a:hover {
  background: #f2eee5; }

.topics_link_btn a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-left: 8px solid #991d1d;
  transform: translate(0, -50%); }

/* top_events */
.top_events {
  background: #fff;
  padding: 50px 0; }

.top_events .top_topics_head .eng_txt {
  color: #556FB5; }

.top_events .top_topics_head .tab_search_menu a {
  border: 1px solid #CCCCCC; }

.top_events .top_topics_head .tab_search_menu .active a {
  background: #556FB5;
  border-color: #556FB5; }

.top_events .top_topics_head .tab_search_menu .menu_02.active a {
  background: #EC5320;
  border-color: #EC5320; }

.top_events .top_topics_head .tab_search_menu .menu_03.active a {
  background: #008C8C;
  border-color: #008C8C; }

.top_events .top_topics_head .tab_search_menu .menu_04.active a {
  background: #23008C;
  border-color: #23008C; }

.top_events .top_topics_head .tab_search_menu .menu_05.active a {
  background: #991D1D;
  border-color: #991D1D; }

.top_event_list {
  letter-spacing: -20px; }

.top_event_list .item {
  width: 23.75%;
  margin: 0 1.66% 20px 0;
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top; }

.top_event_list .item:nth-child(4n) {
  margin-right: 0; }

.top_event_list .no_item {
  letter-spacing: normal;
  width: auto;
  margin: 0;
  font-size: 140%;
  background: #f4f2ef;
  padding: 20px;
  text-align: center; }

.top_event_list .item a {
  display: block;
  color: #000;
  text-decoration: none; }

.top_event_list .thumb {
  position: relative;
  overflow: hidden;
  padding-bottom: 61.75%;
  background: #ECE6DE;
  margin-bottom: 10px; }

.top_event_list .thumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  min-height: 100%;
  object-fit: scale-down;
}

.top_event_list .cat_icon {
  margin-bottom: 10px; }

.top_event_list .cat_icon span {
  display: inline-block;
  color: #fff;
  text-align: center;
  font-size: 1.3rem;
  background: #fff;
  min-width: 116px;
  padding: 3px 10px; }

.top_event_list .cat_icon .tag_shuri_fukkou {
  background: #991D1D; }

/* 復元・復興関連 */
.top_event_list .cat_icon .tag_shuri_event {
  background: #EC5320; }

/* イベント */
.top_event_list .cat_icon .tag_shuri_taiken {
  background: #008C8C; }

/* 体験学習 */
.top_event_list .cat_icon .tag_shuri_guide {
  background: #23008C; }

/* 展示案内 */
.top_event_list .date {
  display: none; }

.top_event_list .event_date_text {
  color: #FF0000;
  font-weight: bold;
  font-size: 1.4rem; }

.top_event_list .prev-arrow {
  position: absolute;
  left: -20px;
  top: 90px; }

.top_event_list .next-arrow {
  position: absolute;
  right: -20px;
  top: 90px; }

/* blog 2025 */
.top_events.type_blog {}
.top_events.type_blog .top_topics_head .eng_txt {
  color: #6A3906;
}
.top_events.type_blog .date {
  color: #6A3906;
  display: block;
}


/* cat_navi_area */
.cat_navi_area {
  padding: 60px 0;
  background-color: #fff; }
  .cat_navi_area .cat_navi_list {
    display: flex;
    justify-content: space-between; }
    .cat_navi_area .cat_navi_list .cat_navi_lists {
      max-width: 16%;
      text-align: center; }

/* top_about_area_02 */
.top_about_area_02 {
  margin: 0 auto;
  padding: 50px;
  background: #1d1d1d url(../img/module/bg_03.png); }
  .top_about_area_02 .link_list {
    display: flex;
    justify-content: space-evenly; }
    .top_about_area_02 .link_list .link_lists {
      width: 24%;
      text-align: center; }
      .top_about_area_02 .link_list .link_lists img {
        width: 100%; }

/* other_info_area */
.other_info_area {
  padding: 55px 0 65px;
  background: #f4f2e6 url(../img/module/bg_04.png); }
  .other_info_area .other_info_cont_wrap {
    display: flex;
    justify-content: space-between; }
  .other_info_area .top_topics_02_wrap,
  .other_info_area .top_facebook_wrap {
    width: 48%; }
    .other_info_area .top_topics_02_wrap .ttl,
    .other_info_area .top_facebook_wrap .ttl {
      font-size: 200%; }
    .other_info_area .top_topics_02_wrap .sub_text,
    .other_info_area .top_facebook_wrap .sub_text {
      margin-bottom: 10px;
      color: #6a3906; }
  .other_info_area .top_topics_02_wrap .topics_02_list_wrap {
    border-top: 1px dashed #a0a0a0; }
    .other_info_area .top_topics_02_wrap .topics_02_list_wrap dl {
      position: relative;
      padding: 10px 30px 10px 10px;
      border-bottom: 1px dashed #a0a0a0; }
      .other_info_area .top_topics_02_wrap .topics_02_list_wrap dl a {
        display: block;
        color: inherit;
        text-decoration: none; }
        .other_info_area .top_topics_02_wrap .topics_02_list_wrap dl a:hover {
          color: #0033D8;
          text-decoration: underline; }
        .other_info_area .top_topics_02_wrap .topics_02_list_wrap dl a:visited {
          color: #666; }
      .other_info_area .top_topics_02_wrap .topics_02_list_wrap dl::after {
        content: "";
        width: 8px;
        height: 8px;
        position: absolute;
        top: 50%;
        right: 20px;
        margin-top: -3px;
        border-right: 2px solid #991d1d;
        border-bottom: 2px solid #991d1d;
        transform: rotate(-45deg); }
  .other_info_area .top_topics_02_wrap .link_list_page {
    margin-top: 15px; }
    .other_info_area .top_topics_02_wrap .link_list_page a {
      position: relative;
      display: block;
      width: 210px;
      margin-left: auto;
      padding: 10px 0;
      text-align: center;
      text-decoration: none;
      color: inherit;
      background-color: #fff;
      border: 1px solid #bfbfbf;
      transition: .3s; }
      .other_info_area .top_topics_02_wrap .link_list_page a:hover {
        color: #fff;
        background-color: #000; }
      .other_info_area .top_topics_02_wrap .link_list_page a::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 5px;
        width: 0;
        height: 0;
        border: 5px solid transparent;
        border-left: 8px solid #991d1d;
        transform: translate(0, -50%); }

/* top_bnr_area */
.top_bnr_area {
  padding: 40px 0 15px;
  background-color: #fff; }
  .top_bnr_area .bnr_list {
    text-align: center; }
  .top_bnr_area .bnr_lists {
    display: inline-block;
    width: 24.5%;
    margin-top: 20px;
    text-align: center; }
  .top_bnr_area .bnr_list_02 .bnr_lists {
    display: inline-block;
    width: 19.5%;
    margin-top: 20px;
    text-align: center; }

/* page_scroll_navi */
#page_scroll_navi {
  width: 100%; }

/* Layout 2column = l_2column */
.l_2column {
  width: 784px; }
  .l_2column img {
    width: 100%; }
  .l_2column li {
    text-align: center;
    width: 377px;
    float: left;
    margin: 0 30px 30px 0; }
    .l_2column li:nth-child(2n) {
      margin-right: 0; }
    .l_2column li p {
      margin: 0; }

.ff_serif {
  font-family: "Noto Serif JP" , 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif; }

.bnr_fukkou {
  position: relative; }

.bnr_fukkou a {
  display: block;
  min-height: 500px;
  padding: 32px 0 25px;
  background: #000 url(/userfiles/images/shurijo/bnr_fukkou_202502.jpg) no-repeat bottom 150% center/cover;
  text-align: center;
  text-decoration: none;
  background-attachment: fixed; }

.bnr_fukkou a:hover,
.bnr_fukkou a:hover img {
  opacity: 1; }

.fukkou_ttl_wrap {
  position: relative;
  width: 230px;
  margin: auto; }

.fukkou_ttl {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  font-size: 4.6rem;
  font-weight: normal;
  font-family: "Noto Serif JP" , 'Noto Sans JP', "游ゴシック体", "Yu Gothic", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  color: #FFFFFF;
  transition: 1s;
  opacity: 0; }

/*
.smooth {
  display: inline-block;
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  height: 40px;
  margin-top: 15px;
}
*/
.fukkou_ttl.is-animated {
  opacity: 1; }

/*
.fukkou_ttl01{
  width: 46px;
  display: block;
  order: 5;
  line-height: 1.1;
  padding-left: 8px
}
*/
.fukkou_ttl01 {
  display: flex;
  order: 10;
  width: 180px;
  font-weight: bold;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.46); }

.fukkou_ttl01_01 {
  /*width: 46px;*/
  display: block;
  order: 10;
  line-height: 1.15;
  padding-left: 8px;
  font-size: 9.4rem;
  margin-top: -15px; }

.fukkou_ttl01_02 {
  display: block;
  order: 5;
  line-height: 1.05;
  padding-left: 8px;
  font-size: 7rem; }

.fukkou_ttl .small_txt {
  display: block;
  font-size: 4.2rem;
  line-height: 0.9; }

/**/
.fukkou_ttl02 {
  position: relative;
  order: 3;
  display: block;
  width: 45px;
  line-height: 1.2;
  padding: 10px 9px;
  margin: 5px 0;
  border-right: 1px solid #fff;
  border-left: 1px solid #fff;
  font-size: 2.4rem;
  font-weight: 500; }

.fukkou_ttl_eng {
  position: absolute;
  bottom: 64px;
  left: 150px;
  width: 250px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
  text-shadow: 0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000;
  color: #FFF27D;
  clip-path: inset(0 100% 0 0);
  transition: 0.7s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path; }

.fukkou_ttl_eng.is-animated {
  clip-path: inset(0); }

.fukkou_count {
  position: absolute;
  top: 36px;
  right: 224px;
  right: 11.75%;
  max-width: 267px; }

.fukkou_count,
.fukkou_count_02 {
  transform: rotate(-30deg) scale(0.9);
  opacity: 0;
  transition: all .8s; }

.fukkou_count.is-animated,
.fukkou_count_02.is-animated {
  opacity: 1;
  transform: rotate(0) scale(1); }

.fukkou_count_02 {
  position: absolute;
  top: 23px;
  right: 34px; }

.fukkou_count_02 .img_on_txt {
  position: absolute;
  top: 170px;
  right: 95px;
  width: 195px;
  text-align: center;
  clip-path: inset(0 100% 0 0);
  transition: 0.5s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path; }

.fukkou_count_02 .img_on_txt.is-animated {
  clip-path: inset(0); }

.fukkou_count_02 .countdown_text {
  line-height: 1;
  font-size: 120px;
  color: #C70000; }

.fukkou_count_02 #countdown_text{
  display: none;
}

.top_fukkou_decoration_01 {
  position: absolute;
  bottom: 25px;
  left: 15px;
  width: 40%; }

.fukkou_decoration_list {
  display: flex; }

.fukkou_decoration_item {
  width: 234px;
  margin-left: 15px; }

/*
  opacity: 0;
  transition: all .5s;
}

.fukkou_decoration_list.is-animated .fukkou_decoration_item{
  opacity: 1;
}

.fukkou_decoration_list.is-animated .fukkou_decoration_item:nth-of-type(2){
  transition: all 1s;
}

.fukkou_decoration_list.is-animated .fukkou_decoration_item:nth-of-type(3){
  transition: all 1.5s;
}
*/
.top_fukkou_decoration_02 {
  position: absolute;
  right: 224px;
  right: 11.75%;
  bottom: 30px;
  opacity: 0;
  transition: 1s; }

.top_fukkou_decoration_02.is-animated {
  opacity: 1; }

@media (max-width: 1700px) {
  .fukkou_ttl_eng {
    font-size: 1.6rem;
  }

  .fukkou_count {
    right: 300px;
    right: 11.75%;
    bottom: 100px;
    width: 230px; }

  .fukkou_count_02 {
    width: 350px; }

  .fukkou_count_02 .img_on_txt {
    right: 70px;
    top: 150px; }

  .fukkou_count_02 .countdown_text {
    font-size: 9.5rem; } }
@media (max-width: 1366px) {
  .fukkou_ttl_eng {
    font-size: 1.3rem;
  }

  .fukkou_count {
    width: 200px;
    right: 180px;
    bottom: 100px; }

  .fukkou_count_02 {
    width: 300px; }

  .fukkou_count_02 .img_on_txt {
    right: 48px;
    top: 125px; }

  .fukkou_count_02 .countdown_text {
    font-size: 9rem; } }

/*----- bnr_fukkou en -----*/
.en .fukkou_ttl_wrap,
:lang(en) .fukkou_ttl_wrap{
  width: 650px;
  margin-top: 90px;
}
.en .fukkou_ttl,
:lang(en) .fukkou_ttl{
  display: block;
}
.en .fukkou_ttl01,
:lang(en) .fukkou_ttl01{
  width: auto;
  display: block;
}
.en .fukkou_ttl02,
:lang(en) .fukkou_ttl02{
  width: auto;
  border-right: initial;
  border-left: initial;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
/*----- bnr_fukkou kr -----*/
.kr .fukkou_ttl01 {
    width: 70px;
    line-height: 1.2;
}
.kr .fukkou_ttl_eng {
    bottom: auto;
    top: 150px;
    left: 200px;
}
/*----- bnr_fukkou sc -----*/
.sc .fukkou_ttl01 {
    width: 70px;
    line-height: 1.2;
}
.sc .fukkou_ttl_eng {
    bottom: auto;
    top: 150px;
    left: 200px;
}
/*----- bnr_fukkou tc -----*/
.tc .fukkou_ttl01 {
    width: 70px;
    line-height: 1.2;
}
.tc .fukkou_ttl_eng {
    bottom: auto;
    top: 150px;
    left: 200px;
}

/*----- staff_blog -----*/
.s_2column{
  display: flex;
  gap: 0 8%;
  justify-content: space-between;
}

/* ------------------------------------------------------------------------------------------ 
  統合後の改修ココから
------------------------------------------------------------------------------------------ */
/* --- スライドのデザイン --- */
.slide-content {
  margin: 0 10px;
}

/* --- コントロールエリア全体 --- */
.slider-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px; /* ボタンとインジケーターの間の余白 */
  margin-top: 30px;
}

/* --- 1つになったトグルボタンのスタイル --- */
.btn-toggle {
  display: flex;
  align-items: center;
  gap: 8px; /* アイコンの箱とテキストの間の距離 */
  background: transparent; /* ボタン自体の背景は透明に */
  border: none;
  cursor: pointer;
  padding: 0;
}

/* アイコン部分だけを装飾（背景赤・角丸・文字白） */
.btn-toggle .icon-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 6px;
  background-color: #9C0000;
  font-size: 1.8rem;
  color: #FFFFFF;
}

/* テキスト部分（装飾の外） */
.btn-toggle .text {
  font-size: 1.4rem;
  /* font-weight: bold; */
  color: #222;
}

/* --- インジケーターのベーススタイル --- */
.custom-dots {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
}

.custom-dots li {
  margin: 0 5px; /* ドット同士の間隔 */
  width: 16px;
  height: 16px;
  cursor: pointer;
  transition: width 0.3s, height 0.3s;
}

.custom-dots li button {
  display: none;
}

/* 外枠のdivからはボーダー指定を削除 */
.svg-pie {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* --- 時計回りに増えていく白い部分 --- */
.pie-fg {
  fill: none;
  stroke: #FFFFFF;
  stroke-width: 8;
  stroke-dasharray: 25.14; 
  stroke-dashoffset: 25.14;
  /* transform-origin: 12px 12px; */
  /* transform: rotate(-90deg);   */
}

/* --- アクティブ時のアニメーション --- */
.custom-dots li.slick-active .pie-fg {
  /* 4秒かけて stroke-dashoffset を 0 に戻す（白を塗る） */
  animation: fillPie 4s linear forwards;
}

@keyframes fillPie {
  0%   { stroke-dashoffset: 25.14; }
  100% { stroke-dashoffset: 0; }
}

/* --- 停止時のアニメーション一時停止（スライダー1と2の両方に対応） --- */
.slider-wrapper.is-paused .custom-dots li.slick-active .pie-fg,
.slider-wrapper-2.is-paused .custom-dots li.slick-active .pie-fg {
  animation-play-state: paused;
}

.slide-content_infoTxt{
  line-height: 1.4545454545454546;
  margin-top: 10px;
  font-size: 2.2rem;
  font-weight: bold;
}

.slide-content_infoLink{
  position: relative;
  z-index: 1; 
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 150px;
  line-height: 1;
  margin: 20px auto 0;
  padding: 14px 15px;
  border-radius: 8px;
  background: #2C2A2C;
  font-size: 1.6rem;
  text-decoration: none;
  overflow: hidden;
}

.slide-content_infoLink,
.slide-content_infoLink:link,
.slide-content_infoLink:visited{
  color: #FFFFFF;
}

.slide-content_infoLink::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #2C2A2C;
  z-index: -2;
}

.el_btnBg{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #9C0000;
  z-index: -1;
  transform: translateX(-100%);
  transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.slide-content_infoLink:hover .el_btnBg{
  transform: translateX(0);
}

.slick-slider .slick-arrow{
  position: absolute;
  top: calc(50% - 25px);
  z-index: 50;
  width: 50px;
  height: 50px;
  border: 1px solid #C71C22;
  border-radius: 50%;
  background: #fff url(../img/module/icon_arrow_13.svg) no-repeat center center;
  -webkit-appearance: none;
  text-indent: -9999px;
  overflow: hidden;
  cursor: pointer;
  transition: all .3s;
}

.slick-slider .slick-arrow:hover{
  opacity: .7;
}

.slick-slider .slick-prev{
  left: 50px;
  transform: rotate(180deg);
}

.slick-slider .slick-next{
  right: 50px;
}

/* --- PC版（768px以上）のレイアウト --- */
/*
@media (min-width: 768px) {
  .my-slider {
    max-width: 800px;
    margin: 0 auto;
  }
}
*/


.slider-wrapper-2{
  padding: 60px 0;
}
/* --- スライドのダミーデザインと【SPの余白（20px）】 --- */
.slide-content-2 {
  /* height: 200px; */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  /* 左右に10pxずつ余白をつけることで、隣と合わせて20pxの隙間になります */
  margin: 0 10px; 
}

.slide-content-2_link{
  display: block;
}

.slide-content-2_link:link,
.slide-content-2_link:visited{
  text-decoration: none;
  color: #2C2A2C;
}

.slide-content-2_linkTxt{
  display: block;
  margin: 15px 0 0;
  text-align: center;
}

/* --- PC版（768px以上）のレイアウト --- */
@media (min-width: 768px) {
  .slider-wrapper-2{
    padding: 90px 0;
  }

  /* 【PCの余白（25px）】 */
  .slide-content-2 {
    /* 左右に12.5pxずつ余白をつけることで、隣と合わせて25pxの隙間になります */
    margin: 0 12.5px;
    font-size: 1.8rem;
  }
  
  .my-slider-2 {
    max-width: 600px; /* 5枚表示用に幅を広めに確保 */
    margin: 0 auto;
  }

  .slick-slider.my-slider-2 .slick-prev{
    left: -60px;
  }

  .slick-slider.my-slider-2 .slick-next{
    right: -60px;
  }

  .custom-dots li {
    width: 28px;
    height: 28px;
    margin: 0 8px;
  }
}

@media print, screen and (min-width: 1280px) {
  .slide-content {
    display: grid;
    grid: auto/6fr 5fr;
    gap: 40px;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0 60px;
  }

  .slide-content_infoLink{
    width: 180px;
    margin-right: 0;
  }

  .slide-content_infoTxt{
    margin-top: 0;
  }

  .slick-slider .slick-prev{
    left: 80px;
  }

  .slick-slider .slick-next{
    right: 80px;
  }
  
  .my-slider-2 {
    max-width: 1054px;
  }
}


#kinkyu_sokuho{
  width: auto;
  padding: 18px 20px;
  background: #9C0000;
}

#kinkyu_sokuho .inner{
  padding: 10px 15px 18px;
  border: none;
}

#kinkyu_sokuho .inner h1{
  border-bottom: 1px solid #6F6F6F;
  background: none;
  font-size: 1.6rem;
  font-weight: normal;
  text-align: center;
}

.ly_kinkyu_sokuho_listWrap{
  
}

#kinkyu_sokuho .inner dl + dl{
  margin-top: 25px;
}

#kinkyu_sokuho .inner dd{
  font-size: 1.5rem;
  font-weight: normal;
}

#kinkyu_sokuho .inner dd a{
  color: #3459B1;
}

@media print, screen and (min-width: 992px) {
  #kinkyu_sokuho{
    padding-top: 40px;
    padding-bottom: 40px;    
  }

  #kinkyu_sokuho .inner{
    display: grid;
    grid: auto/170px 1fr;
    align-items: center;
    padding: 20px 40px;
  }

  #kinkyu_sokuho .inner h1{
    margin: 0;
    padding: 0 40px 0 0;
    border: none;
    font-size: 1.8rem;
    text-align: left;
  }

  #kinkyu_sokuho .ly_kinkyu_sokuho_listWrap{
    padding-left: 25px;
    border-left: 1px solid #6F6F6F;
  }

  #kinkyu_sokuho .ly_kinkyu_sokuho_listWrap dl{
    display: grid;
    grid: auto /127px 1fr;
    gap: 12px;
  }

  #kinkyu_sokuho .inner dl + dl{
    margin-top: 7px;
    padding: 0;
    border: none;
  }
}

.bl_top_mvWrap,
.bl_top_mvWrap_group{
  position: relative;
}

.bl_top_mv {
  display: block;
  width: 100%;
  height: 700px;
}
.bl_top_mv img {
  display: block;
  width: 100%;
  height: 100% !important;
  object-fit: cover;
}

.bl_top_posBnr {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  text-align: center;
}

.bl_top_prBnr{
  display: flex;
  gap: 15px;
  justify-content: center;
  margin: 15px auto 30px;
}

.bl_top_posBnr a {
  display: block;
  width: 100%;
}

.slider-wrapper{
  padding: 30px 15px;
  background: url(../img/module/bg_13.png);
}

.bl_mvMovie {
  width: 100%;
  height: 700px;
}
/* @media print, screen and (min-width: 768px) {
  .bl_mvMovie {
    height: 720px;
  }
} */
.bl_mvMovie_movie {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.bl_mvMovie_movie .sp_none,
.bl_mvMovie_movie .pc_none {
  width: 100%;
  height: 100%;
}
.bl_mvMovie_movie .pc_none {
  aspect-ratio: 375 / 610;
}
.bl_mvMovie iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: 56.25vw;
  min-width: 1440px;
  min-height: 810px;
  pointer-events: none;
}

@media print, screen and (min-width: 768px) {
  .bl_mvMovie iframe {
    top: auto;
    bottom: 0;
    transform: translate(-50%, 0);
  }

  .bl_top_posBnr {
    bottom: 165px;
    left: auto;
  }

  .bl_top_prBnr{
    position: absolute;
    right: 20px;
    bottom: -35px;
    gap: 20px;
  }

  .bl_top_prBnr{
    margin: 0;
  }

  .slider-wrapper{
    padding: 80px 0;
  }
}

/* =========================================
    top fukugenFukkou
========================================= */
.bl_top_fukugenFukkou {
  margin: 30px 0 65px;
}

.inner {
  padding: 0 20px;
  max-width: 1200px;
  margin: auto;
}

.ttl {

}

.ly_top_fukugenFukkou_list {
  display: grid;
  gap: 25px 40px;
}

.ly_top_fukugenFukkou_item {

}

.ly_top_fukugenFukkou_itemLink{
  display: block;
  text-decoration: none;
}

.ly_top_fukugenFukkou_itemLink,
.ly_top_fukugenFukkou_itemLink:link,
.ly_top_fukugenFukkou_itemLink:hover,
.ly_top_fukugenFukkou_itemLink:active,
.ly_top_fukugenFukkou_itemLink:visited{
  color: #2C2A2C;
}

.ly_top_fukugenFukkou_item_imgWrap {
  margin: 0 0 12px;
  border-radius: 6px;
  text-align: center;
}

.ly_top_fukugenFukkou_item_imgWrap img{
  width: 100%;
}

.ly_top_fukugenFukkou_item_txtInfo_wrap {
  padding: 0 0 0 60px;
  background: url(../img/module/icon_contents.svg) no-repeat left top/45px;
}

.ly_top_fukugenFukkou_item02 .ly_top_fukugenFukkou_item_txtInfo_wrap{
  background-image: url(../img/module/icon_contents02.svg);
}

.ly_top_fukugenFukkou_item03 .ly_top_fukugenFukkou_item_txtInfo_wrap{
  background-image: url(../img/module/icon_contents03.svg);
}

#pagebody .ly_top_fukugenFukkou_item_ttl{
  margin-bottom: 0;
  text-align: left;
  color: #9C0000;
}

.ly_top_fukugenFukkou_item_ttl {
  font-size: 1.8rem;
  font-weight: bold;
}

.ly_top_fukugenFukkou_item_txt {
  margin: 5px 0 0;
  font-size: 1.5rem;
}

@media print, screen and (max-width : 767px) {
  .ly_top_fukugenFukkou_item03 .ly_top_fukugenFukkou_item_imgWrap img{
    aspect-ratio: 335/200;
    object-fit: cover;
  }
}

@media print, screen and (min-width: 768px) {
  .bl_top_fukugenFukkou {
    margin: 0 0 85px;
  }

  .ly_top_fukugenFukkou_list {
    grid: auto / 1fr 1fr;
  }

  .ly_top_fukugenFukkou_itemLink{
  }

  .ly_top_fukugenFukkou_item_imgWrap {
    margin: 0 0 20px;
  }

  .ly_top_fukugenFukkou_item_txtInfo_wrap {
    padding: 0 0 0 77px;
    background-size: 60px;
  }

  .ly_top_fukugenFukkou_item03 .ly_top_fukugenFukkou_item_txtInfo_wrap{
    padding-left: 55px;
    background-size: 45px;
  }

  #pagebody .ly_top_fukugenFukkou_item_ttl{
  }

  .ly_top_fukugenFukkou_item_txt {
    font-size: 1.6rem;
    letter-spacing: -0.002em
  }
}

@media print, screen and (min-width: 992px) {
  .ly_top_fukugenFukkou_list{
    grid: auto / 490px 400px;
  }

  .ly_top_fukugenFukkou_item03{
    /* width: 230px; */
  }

  .ly_top_fukugenFukkou_item_imgWrap img{
    width: 100%;
    max-height: 300px;
    object-fit: contain;
  }
}

@media print, screen and (min-width: 1230px) {
  .inner{
    padding-right: 0;
    padding-left: 0;
  }
}

@media print, screen and (min-width: 1280px) {
  .ly_top_fukugenFukkou_list{
    grid: auto / 490px 400px 230px;
  }
}

/* =========================================
    top syurijoShiru
========================================= */
.bl_top_syurijoShiru {
  margin: 0 0 10px;
}

.ly_syurijoShiru_list {
  display: grid;
  grid: auto / 1fr 1fr;
  gap: 25px 15px;
  justify-content: center;
}

.ly_syurijoShiru_item{
  text-align: center;
}

.ly_syurijoShiru_itemLink {
  display: block;
  text-decoration: none;
}

.ly_syurijoShiru_itemLink,
.ly_syurijoShiru_itemLink:link,
.ly_syurijoShiru_itemLink:hover,
.ly_syurijoShiru_itemLink:active,
.ly_syurijoShiru_itemLink:visited{
  color: #2C2A2C;
}

.ly_syurijoShiru_itemTxt {
  margin: 10px 0 0;
  font-size: 1.8rem;
}

@media print, screen and (min-width: 768px) {
  .bl_top_syurijoShiru {
    margin: 0 0 30px;
  }

  .ly_syurijoShiru_list {
    grid: auto / 1fr 1fr 1fr 1fr;
    gap: 25px 30px;
  }

  .ly_syurijoShiru_itemTxt {
    margin: 24px 0 0;
    font-size: 2rem;
  }
}

/* =========================================
    top events
========================================= */
.bl_top_eventWrap{
  position: relative;
  margin: 120px 0 0;
  margin: 80px 0 0;
  padding: 20px 20px 60px;
  background-color: #F5F5F5;
}

.bl_top_eventWrap::before{
  content: "";
  position: absolute;
  top: -49px;
  left: 50%;
  width: 96%;
  max-width: 1200px;
  height: 50px;
  background: url(../img/module/bg_12.png) no-repeat center bottom/contain;
  transform: translateX(-50%);
}

#pagebody h2,
#pagebody h3,
#pagebody h4,
#pagebody h5,
#pagebody h6{
  display: block;
  background: none;
  text-align: center;
  color: #2C2A2C;
}

#pagebody h2{
  position: relative;
  line-height: 1.18;
  margin: 0 0 45px;
  padding: 0;
  font-size: 2.2rem;
  font-weight: bold;
}

#pagebody h2::before{
  content: "";
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 80px;
  height: 5px;
  transform: translateX(-50%);
  background: linear-gradient(180deg,rgba(199, 28, 34, 1) 0%, rgba(199, 28, 34, 1) 40%, rgba(215, 200, 120, 1) 40%, rgba(215, 200, 120, 1) 60%,rgba(199, 28, 34, 1) 60%, rgba(199, 28, 34, 1) 100%);
}

#pagebody h3{
  margin: 0 0 25px;
  padding: 0;
  font-size: 2rem;
}

#pagebody h4{
  margin: 0 0 25px;
  padding: 0;
  font-size: 1.8rem;
}

#pagebody h5{
  margin: 0 0 25px;
  padding: 0;
  font-size: 1.6rem;
}

#pagebody h6{
  margin: 0 0 25px;
  padding: 0;
  font-size: 1.6rem;
}

.bl_eventList{
  display: grid;
  gap: 30px 15px;
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

.bl_eventList:not(:has(.no_item)){
  grid: auto / 1fr 1fr;
}

.bl_eventList a,
.bl_eventList a:hover,
.bl_eventList a:hover:visited{
  text-decoration: none;
  color: #2C2A2C;
}

.bl_eventList .thumb{
  position: relative;
  margin: 0 0 10px;
  border-radius: 5px;
  overflow: hidden;
}

.bl_eventList .thumb img{
  aspect-ratio: 16/10;
  object-fit: cover;
}

.bl_eventItem_end .thumb::before{
  content: "終了";
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1;
  padding: 3px 4px;
  background-color: #565656;
  font-size: 1.4rem;
  color: #fff;
}

.bl_top_eventWrap .ttl,
#pagebody .bl_top_eventWrap .ttl{
  margin-top: -35px;
}

.bl_eventList .title{
  line-height: 1.6;
  margin: 0 0 20px;
  font-size: 1.5rem;
}

.bl_eventList .date,
.bl_top_eventWrap .event_date_text{
  line-height: 1.714285;
  font-size: 1.4rem;
}

@media print, screen and (min-width: 768px) {
  .bl_top_eventWrap{
    margin: 160px 0 0;
    padding: 20px 20px 80px;
  }

  .bl_top_eventWrap::before{
    top: -83px;
    height: 83px;
    background-image: url(../img/module/bg_12_pc.png);
  }

  #pagebody h2{
    margin-bottom: 60px;
    font-size: 2.8rem;
  }

  #pagebody h2::before{
    bottom: -23px;
    width: 100px;
  }

  #pagebody h3{
    font-size: 2.4rem;
  }

  #pagebody h4{
    font-size: 2.2rem;
  }

  #pagebody h5{
    font-size: 1.8rem;
  }

  #pagebody h6{
    font-size: 1.6rem;
  }

  .bl_eventList:not(:has(.no_item)){
    grid: auto / 1fr 1fr 1fr 1fr;
  }

  .bl_eventList .thumb{
    margin: 0 0 15px;
  }

  .bl_top_eventWrap .ttl,
  #pagebody .bl_top_eventWrap .ttl{
    margin-top: -35px;
  }

  .bl_eventList .title{
    font-size: 1.8rem;
  }

  .bl_eventList .date,
  .bl_top_eventWrap .event_date_text{
    font-size: 1.6rem;
  }

}

@media print, screen and (min-width: 992px) {
  .bl_eventList:not(:has(.no_item)){
    gap: 30px;
  }
}

/* =========================================
    top topics
========================================= */
.bl_top_topics{
  background: none;
}

.bl_top_topics .tab_search_menu{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 2px;
  padding: 0 0;
  letter-spacing: normal;
}

.bl_top_topics .topics_list_wrap{
  padding: 0;
  border-top: 1px solid #D4D4D4;
}

.bl_top_topics .menu_01{
  width: 100%;
  text-align: center;
}

.bl_top_topics .top_topics_head .menu{
  margin: 0;
}

.bl_top_topics .top_topics_head .tab_search_menu a{
  display: inline-block;
  border-radius: 3px;
  padding: 2px 6px;
  background: #ECE9E9;
  font-size: 1.5rem;
}

.bl_top_topics .top_topics_head .tab_search_menu .menu_01.active a{
  background: #9C0000;
}

.bl_top_topics .top_topics_head .tab_search_menu .menu_02.active a,
.bl_top_topics .topics_list_wrap dl .cat_icon.tag_shuri_park span{
  background: #478679;
}

.bl_top_topics .top_topics_head .tab_search_menu .menu_03.active a,
.bl_top_topics .topics_list_wrap dl .cat_icon.tag_shuri_otoku span{
  background: #3459B1;
}

.bl_top_topics .top_topics_head .tab_search_menu .menu_04.active a,
.bl_top_topics .topics_list_wrap dl .cat_icon.tag_shuri_other span{
  background: #B89032;
}

.bl_top_topics .top_topics_head .tab_search_menu .menu_05.active a,
.bl_top_topics .topics_list_wrap dl .cat_icon.tag_shuri_fukkou span{
  background: #9C0000;
}

.bl_top_topics .topics_list_wrap .tab_search_item{
  max-height: 380px;
  border-bottom: 1px solid #D4D4D4;
}

.bl_top_topics .ly_top_topicsWrap_link,
.bl_top_topics .ly_top_topicsWrap_link:visited,
.bl_top_topics .ly_top_topicsWrap_link dl{
  text-decoration: none;
  color: #2C2A2C;
}

.bl_top_topics .tab_search_item > .ly_top_topicsWrap_link:last-child{
  border-bottom: none;
}

.bl_top_topics .ly_top_topicsWrap_link{
  display: block;
  margin-right: 20px;
  padding: 10px 45px 10px 20px;
  border-bottom: 1px solid #D4D4D4;
  background: url(../img/module/icon_arrow_13_grey.svg) no-repeat right 10px center/15px;
  text-decoration: none;
  transition: all .3s;
}

.bl_top_topics .ly_top_topicsWrap_link:hover,
.bl_top_topics .ly_top_topicsWrap_link:active{
  background-color: #FFFAE2;
  background-image: url(../img/module/icon_arrow_13.svg);
  background-position: right 5px center;
}

.bl_top_topics .ly_top_topicsWrap_link dl{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 5px;
  align-items: center;
  padding: 0;
  border: none;
}

.bl_top_topics .topics_list_wrap dl .title{
  line-height: 1.7333333333333334;
  padding-left: 0;
}

.bl_top_topics .ly_top_topicsWrap_link dt,
.bl_top_topics .ly_top_topicsWrap_link dd{
  font-size: 1.5rem;
}

.bl_top_topics .ly_top_topicsWrap_link dl dt{
  width: fit-content;
}

.bl_top_topics .topics_list_wrap dl .cat_icon{
  width: fit-content;
  min-width: 72px;
}

@media print, screen and (min-width: 768px) {
  .bl_top_topics{
    padding: 75px 0;
  }

  .top_topics_head{
    margin-bottom: 30px;
  }

  /*
  .bl_top_topics .top_topics_head .tab_search_menu .menu_01{
    width: auto;
  }
  */

  .bl_top_topics .top_topics_head .tab_search_menu .menu{
    width: 140px;
  }

  .bl_top_topics .tab_search_menu{
    flex-wrap: nowrap;
    justify-content: center;
    gap: 10px 10px;
  }

  .bl_top_topics .topics_list_wrap{
    padding: 0;
    border-top: 1px solid #D4D4D4;
  }

  .bl_top_topics .menu_01{
    width: 100%;
    text-align: center;
  }

  .bl_top_topics .top_topics_head .menu{
    margin: 0;
  }

  .bl_top_topics .top_topics_head .tab_search_menu a{
    display: block;
    padding: 10px 5px;
    border-radius: 6px 6px 0 0;
    text-align: center;
  }

  .bl_top_topics .topics_list_wrap .tab_search_item{
    max-height: 320px;
  }

  .bl_top_topics .ly_top_topicsWrap_link,
  .bl_top_topics .ly_top_topicsWrap_link:visited,
  .bl_top_topics .ly_top_topicsWrap_link dl{
    text-decoration: none;
    color: #2C2A2C;
  }

  .bl_top_topics .tab_search_item > .ly_top_topicsWrap_link:last-child{
    border-bottom: none;
  }

  .bl_top_topics .ly_top_topicsWrap_link{
    margin-right: 0;
    padding: 20px 70px 20px 20px;
    background-position: right 32px center;
    background-size: 24px;
  }

  .bl_top_topics .ly_top_topicsWrap_link:hover,
  .bl_top_topics .ly_top_topicsWrap_link:active{
    background-position: right 22px center;
  }

  .bl_top_topics .ly_top_topicsWrap_link dl{
    display: grid;
    grid: auto / 150px 140px 1fr;
    gap: 15px;
  }

  .bl_top_topics .topics_list_wrap dl .title{
    line-height: 1.7333333333333334;
    line-height: 1.625;
    padding-left: 0;
  }

  .bl_top_topics .ly_top_topicsWrap_link dt,
  .bl_top_topics .ly_top_topicsWrap_link dd,
  .bl_top_topics .topics_list_wrap dl .cat_icon span{
    width: auto;
    font-size: 1.6rem;
  }

  .bl_top_topics .ly_top_topicsWrap_link dl dt{
    padding-right: 20px;
    border-right: 1px solid #D4D4D4;
  }

  .bl_top_topics .topics_list_wrap dl .cat_icon{
    width: auto;
    min-width: auto;
  }

  .topics_link_btn{
    margin-top: 40px;
  }
}

@media print, screen and (max-width: 768px) {
  .bl_top_topics .menu_01{

    width: unset;
    text-align: center;
  }
}

/* =========================================
    top_bnr_area
========================================= */
.top_bnr_area{
  padding: 40px 0 40px;
  background-color: #F3F3F3;
}

.top_bnr_area .bnr_list{
  display: grid;
  grid: auto /1fr 1fr;
  gap: 10px 15px;
}

.top_bnr_area .bnr_lists,
.top_bnr_area .bnr_list_02 .bnr_lists{
  width: 100%;
  margin: 0;
}

.top_bnr_area .bnr_list + .bnr_list{
  margin-top: 10px;
}

@media print, screen and (min-width: 768px) {
  .top_bnr_area{
    padding: 80px 0 80px;
  }

  .top_bnr_area .bnr_list{
    display: grid;
    grid: auto /1fr 1fr 1fr 1fr;
    gap: 30px 30px;
  }

  .top_bnr_area .bnr_lists,
  .top_bnr_area .bnr_list_02 .bnr_lists{
    width: 100%;
    margin: 0;
  }

  .top_bnr_area .bnr_list + .bnr_list{
    margin-top: 30px;
  }
}

/* ==========================================================================
    info_area
========================================================================== */
.ly_info_area {
  margin: 40px 20px;
}

.ly_info_area_inner {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 20px 0;
  padding: 5px 20px;
  border: 2px solid #E4E4E4;
  background-color: #FCFCFC;
}

@media (min-width: 768px) {
  .ly_info_area {
  }

  .ly_info_area_inner{
    border-width: 4px;
    padding: 20px 20px;
  }
}

.bl_info_list {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 768px) {
  .bl_info_list {
    flex-direction: row;
    flex-wrap: wrap; 
    /* align-items: flex-start; */
  }
}

@media print, screen and (min-width: 1280px) {
  .bl_info_list {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
  }
}

.bl_info_item {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 20px 0;
  border-bottom: 1px dashed #707070;
}

.bl_info_item:last-child {
  border-bottom: none;
}

/* SP・PCでの表示順序の制御 */
.bl_info_item--time { order: 1; }
.bl_info_item--status { order: 2; }
.bl_info_item--bus { order: 3; }
.bl_info_item--private { order: 4; }

@media (min-width: 768px) {
  .bl_info_item {
    position: relative;
    /* flex: 1 1 220px;  */
    width: auto;
    padding: 10px 20px;
    border-bottom: none;
  }

  /* PC時の表示順序 */
  .bl_info_item--status { order: 4; }
  .bl_info_item--bus { order: 2; }
  .bl_info_item--private { order: 3; }

  .bl_info_item:not(.bl_info_item--status)::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    border-right: 1px dashed #707070;
  }

  .bl_info_item:not(.bl_info_item--time){
    padding: 0 30px;
    text-align: center;
  }

  .bl_info_item--status .bl_status_header{
    justify-content: center;
  }
}

/* --- ご利用時間ブロック --- */
.bl_time_header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.el_time_icon {
  width: 24px;
  margin-right: 8px;
}

.el_time_title {
  line-height: 1.2;
  margin: 0;
  font-size: 1.8rem;
  font-weight: bold;
}

.el_highlight {
  display: inline-block;
  padding-bottom: 2px;
  background: linear-gradient(transparent 60%, #e0c860 60%);
  color: #b31b1b;
}

.bl_time_details {
  display: flex;
  flex-wrap: wrap; 
  gap: 15px;
}

@media (min-width: 768px) {
  .bl_time_details {
    /* PC時は絶対に横並びにする指示対応 */
    flex-wrap: nowrap; 
    align-items: center;
  }
}

.bl_time_group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.el_badge_area {
  display: flex;
  align-items: center;
  justify-content: center;
  /* 固定サイズを廃止し、min-width/heightで可変に対応 */
  min-width: 44px;
  min-height: 44px;
  padding: 4px; /* 文字が増えた時のための余白 */
  flex-shrink: 0;
  border: 1px solid #333;
  color: #333;
  font-size: 12px;
  text-align: center;
  line-height: 1.2;
}

@media (min-width: 768px) {
  .el_badge_area {
    /* PC時の最低幅・高さを60pxに指定 */
    min-width: 60px;
    min-height: 60px;
    padding: 5px;
    font-size: 1.8rem;
  }
}

.bl_time_col {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}

.el_time_red {
  color: #b31b1b;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap; 
}

.el_note {
  margin-top: 6px;
  color: #333;
  font-size: 12px;
  white-space: nowrap;
}

@media (min-width: 768px) {
  .el_time_red {
    font-size: 20px;
  }
}

/* --- リンクボックス（バス・民間） --- */
.bl_link_box {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 15px;
}

.ly_linkInfo_group{
  display: flex;
  gap: 15px;
}

@media (min-width: 768px) {
  .bl_link_box {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
  }

  .ly_linkInfo_group{
    gap: 5px;
  }
}

.el_icon_large {
  display: block;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .el_icon_large {
    width: 60px;
    height: 60px;
    margin-bottom: 10px;
  }
}

.el_info_link {
  /*
  display: inline-flex;
  align-items: center;
  gap: 6px;
  */
  font-size: 1.5rem;
  text-decoration: underline;
  cursor: pointer;
}

.el_info_link:link,
.el_info_link:visited{
  color: #2C2A2C;
}


.el_icon_external {
  display: block;
  width: 14px;
  height: 14px;
}

/* --- リアルタイム駐車場状況ブロック --- */
.bl_status_header {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

.el_status_icon_sp {
  display: block;
  width: 48px;
  height: 48px;
  margin-right: 15px;
  flex-shrink: 0;
}

.el_status_title {
  margin: 0;
  color: #333;
  font-size: 1.5rem;
}

@media (min-width: 768px) {
  .bl_status_header {
    justify-content: flex-start;
  }
  .el_status_icon_sp {
    display: none;
  }
}

.bl_status_badges {
  display: flex;
  flex-wrap: wrap; 
  gap: 10px;
  margin-bottom: 15px;
}

.bl_status_group {
  display: flex;
  border: 1px solid #2C2A2C;
}

.el_badge_label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-height: 46px;
  background-color: #fff;
  color: #2C2A2C;
  font-size: 2rem;
  font-weight: bold;
}

.el_badge_state {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 80px;
  min-height: 46px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  border-left: 1px solid #2C2A2C;
}

/* 状態クラス */
.el_badge_state.is_full,
.el_badge_state.status_00{
  background-color: #b31b1b;
}

.el_badge_state.status_01{
  background-color: #DA910A;
}

.el_badge_state.is_vacant,
.el_badge_state.status_02{
  background-color: #3b5998;
}

.el_badge_state.status_03{
  background-color: #797979;
}

@media print, screen and (min-width: 768px) {
  .bl_status_badges{
    flex-wrap: nowrap;
  }
}

@media print, screen and (min-width: 1280px) {
  .bl_info_item--status .bl_status_header{
    justify-content: center;
  }
}
/* ==========================================================================
    cat_navi_area02
========================================================================== */
.cat_navi_area02 {
  margin: 40px 0 120px;
}

.cat_navi_list02 {
  display: grid;
  grid: auto/repeat(3,1fr);
  gap: 40px 0;
}

.cat_navi_lists02 {
  padding: 0 10px;
  border-left: 1px solid #707070;
}

.cat_navi_lists02 a{
  display: block;
  font-size: 1.5rem;
}

.cat_navi_lists02 a:link,
.cat_navi_lists02 a:visited{
  text-decoration: none;
  color: #2C2A2C;
}

.cat_navi_lists02 a:hover{
  text-decoration: underline;
  color: #3459B1;
}

.cat_navi_lists02 a img{
  display: block;
  margin: auto;
}

.cat_navi_lists02_txt {
  margin: 10px 0 0;
}

@media print, screen and (min-width: 768px) {
  .cat_navi_list02 {
    grid: auto/repeat(6,1fr);
  }

  .cat_navi_lists02 {
    padding: 0 10px;
    border-left: 1px solid #707070;
  }

  .cat_navi_list02 .cat_navi_lists02:last-child{
    border-right: 1px solid #707070;
  }
}

@media print, screen and (min-width: 992px) {
  .cat_navi_lists02 a{
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1.6rem;
  }

  .cat_navi_lists02_txt {
    margin: 0;
  }
}

@media print, screen and (max-width : 767px) {
  .cat_navi_list02 .cat_navi_lists02:nth-child(3n){
    border-right: 1px solid #707070;
  }
}


/* ------------------------------------------------------------------------------------------ 
　統合後の改修ココまで
------------------------------------------------------------------------------------------ */
/*求人情報*/
.bl_top_topics .top_topics_head .tab_search_menu .menu_02.active a, .bl_top_topics .topics_list_wrap dl .cat_icon.tag_shuri_recruit span {
    background: #000a9c;
}

.top_topics_head .tab_search_menu .menu_06.active a{
background: #000a9c;
}

@media (max-width: 768px) {
.bl_top_topics .tab_search_menu {
    justify-content: left;
}
}

.bl_countdownArea {
  position: absolute;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px);
}
@media (min-width: 768px) {
  .bl_countdownArea {
    top: 26px;
    left: auto;
    right: 20px;
    transform: translateX(0);
  }
}
@media (min-width: 768px) {
  .bl_countdownArea_inner {
    max-width: 380px;
    margin-left: auto;
  }
}

/* トップの首里城正殿　完成告知 */
.bl_mvNotice {
  width: 130px;
  /* height: 185px; */
  margin: 0 auto 8px;
}
.bl_mvNotice img {
  display: block;
  width: 100%;
}

@media (min-width: 768px) {
  .bl_mvNotice {
    width: 240px;
    /* height: 246px; */
    margin-bottom: 20px;
  }
}

/* トップの告知タイトル*/
.bl_countdownNotice {
  width: 100%;
  text-align: center;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
}
.bl_countdownNotice > span {
  display: inline-block;
  padding: 6px 12px;
  background-color: rgba(0, 0, 0, 0.5);
}

@media (min-width: 768px) {
  .bl_countdownNotice {
    position: absolute;
    top: 0;
    left: 0;
    text-align: left;
    font-size: 2.4rem;
    max-width: 50%;
  }
}
@media (min-width: 1280px) {
  .bl_countdownNotice {
    max-width: max-content;
  }
}

/* トップのカウントダウン機能 */
.bl_countdown {
  width: fit-content;
  min-width: 180px;
  margin: 8px auto 0;
}
.bl_countdown_head {
  padding: 2px 14px;
  text-align: center;
  background-color: #9c0000;
  color: #fff;
  border-radius: 4px 4px 0 0;
}
.bl_countdown_head .heading {
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.4;
}
.bl_countdown_body {
  text-align: center;
  padding: 3px 14px 12px;
  background-color: #fff;
  border-radius: 0 0 4px 4px;
}
.bl_countdown_txt {
  text-align: center;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: 1.4;
}
.bl_countdown_txt .txt,
.bl_countdown_txt .unit {
  display: inline-block;
}
.bl_countdown_txt .num {
  display: inline-block;
  margin-inline: 8px;
  font-size: 3.6rem;
  line-height: 1;
  transform: translateY(4px);
}
.bl_countdown_txt .message {
  font-size: 1.6rem;
  display: block;
}

@media (min-width: 768px) {
  .bl_countdown {
    min-width: 240px;
  }
  .bl_countdown_head {
    padding-block: 4px;
  }
  .bl_countdown_head .heading {
    font-size: 1.8rem;
  }
  .bl_countdown_body {
    padding-block: 5px 18px;
  }
  .bl_countdown_txt {
    font-size: 1.6rem;
  }
  .bl_countdown_txt .num {
    font-size: 4.8rem;
  }
}

/* 初回立ち上げモーダル */
.bl_modal_wrap {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.bl_modal_wrap.is_active {
  opacity: 1;
  visibility: visible;
}
.bl_modal {
  display: block;
  position: relative;
  width: fit-content;
  max-width: calc(100% - 40px);
  padding: 20px;
  background-color: #fff;
  border-radius: 4px;
}
@media (min-width: 768px) {
  .bl_modal {
    max-width: 40%;
  }
}
.bl_modal_cont {
  /* display: block; */
  display: flex;
  justify-content: center;
  max-height: 80vh;
  /* overflow: auto; */
}
.bl_modal_cont img {
  display: block;
  /* width: 100%; */
  max-width: 100%;
  max-height: calc(80vh - 40px); 
  width: auto;
  height: auto;
  object-fit: contain;
}
.bl_modal_close {
  position: absolute;
  bottom: 100%;
  left: 100%;
  transform: translate(-50%, 50%);
  width: 36px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid #9C0000;
  transition: background 0.2s ease-out;
}
@media (min-width: 768px) {
  .bl_modal_close {
    width: 48px;
  }
}
.bl_modal_close > span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 16px;
  height: 2px;
  background-color: #9C0000;
  transition: background 0.2s ease-out;
}
@media (min-width: 768px) {
  .bl_modal_close > span {
    width: 26px;
  }
}
.bl_modal_close > span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.bl_modal_close > span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(45deg);
}
.bl_modal_close:hover {
  background-color: #9C0000;
}
.bl_modal_close:hover > span {
  background-color: #fff;
}

/* PC,SP表示出しわけ */
.pc_none {
  display: block;
}
.sp_none {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .pc_none {
    display: none;
  }
  .sp_none {
    display: block;
  }
}