@charset "UTF-8";
#footer {
  position: relative;
  z-index: 10;
  background-color: #fff;
}

#footer::before {
  content: '';
  height: 1px;
  display: block;
}

#ejf_banner {
  margin-top: 40px !important;
}

.monbetsu .v1-itineraryDomesticFlights__flight {
  align-items: center;
}

.monbetsu .topicPath{
  margin: 15px auto;
}
.monbetsu .topicPath .topicPath_item:not(:first-of-type),
.monbetsu .topicPath .topicPath_item:first-of-type{
  margin: 0;
}
.monbetsu .detail_image_copyright{
  padding-top: 2px;
  font-size: 0.9rem;
  text-align: right;
}

.monbetsu .v1-itineraryDomesticFlights__detailFlight{
  font-size: 1rem;
}

.monbetsu .bnr_area{
  margin-top: 95px;
}
.monbetsu .bnr_area .bnr_area__link{
  display: inline-block;
  transition-property: opacity;
  transition-duration: 0.6s;
  -moz-transition-duration: 0.6s;
  -webkit-transition-duration: 0.6s;
  -o-transition-duration: 0.6s;
  -ms-transition-duration: 0.6s;
}
.monbetsu .bnr_area .bnr_area__link:hover, .bnr_area__link:focus{
  opacity: 0.6;
  background-color: #fff;
}
.monbetsu .bnr_area .bnr_img img{
  padding-bottom: 12px;
}
.monbetsu .bnr_area .bnr_img p{
  font-size: 1.125rem;
}

@media screen and (max-width: 768px){
  .monbetsu .bnr_area .bnr_img img{
    padding-bottom: 6px;
  }
  .monbetsu .bnr_area .bnr_img p{
    font-size: 0.95rem;
  }
}

.monbetsu .layout_block + .layout_block {
    border-top: none;
}

.monbetsu .detail_contentBlock{
  margin: 0 auto 40px;
}
.monbetsu .detail_contentBlock > .layout_block > .contentInner{
  padding: 0!important;
}
@media screen and (max-width: 768px){
.monbetsu .detail_contentBlock .contentInner{
  padding: 0;
}
.monbetsu .detail_contentBlock{
  margin: 0 auto 0;
}
}

.monbetsu .heading_pageTitle .heading_title {
  font-size: 3.125rem;
  font-weight: 700;
  color: #00146E;
}

@media screen and (max-width: 768px){
.monbetsu .heading_pageTitle .heading_title {
  font-size: 2rem;
}
}
.monbetsu .detail_pageHeader .introduction {
  max-width: 1280px;
  padding: 0 20px;
  margin: 0 auto 60px;
  line-height: 1.8;
}
@media screen and (max-width: 1279px){
  .monbetsu .detail_pageHeader .introduction{
  padding: 0 20px;
  }
}

@media screen and (max-width: 768px){
.monbetsu .detail_pageHeader .introduction{
  padding: 0 10px;
 }
}

/* mainVisual */
.monbetsu .detail_pageHeader .mainVisual{
  max-width: 1280px;
  padding: 0 20px;
  margin: 0 auto 50px;
}
@media screen and (max-width: 768px){
.monbetsu .detail_pageHeader .mainVisual{
  padding: 0;
  margin: 0 auto 25px;
}
}

/* スポットエリア */
.monbetsu .spot_area{
  counter-increment: spotitem;
}
.monbetsu .ticket_title {
  text-align: center;
}
.monbetsu .ticket_title .ticket_icon{
  margin-bottom: 9px;
}
@media screen and (max-width: 768px){
  .monbetsu .ticket_title .ticket_icon{
    display: inline-block;
    margin-bottom: 0px;
  }
  .monbetsu .ticket_title .ticket_icon img{
    width: 60%;
    margin-bottom: 4px;
  }
  .monbetsu .ticket_title .ticket_text{
    display: inline-block;
    font-size: 1.25rem;
  }
}

.monbetsu .ticket_title .ticket_text{
 color: #0D47A1;
 font-weight: bold;
}

.monbetsu .content_detail .content_detail_ticket{
  background: #F5F5F5;
  padding: 20px;
}
@media screen and (max-width: 768px){
  .monbetsu .content_detail .content_detail_ticket{
    padding: 20px calc(50vw - 50%);
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
@media screen and (min-width: 768px){
  .monbetsu .content_detail .content_detail_ticket .column:first-child{
    width: 16.5%;
  }
  .monbetsu .content_detail .content_detail_ticket .column{
    width: 83.5%;
  }
}

.monbetsu .content_detail .content_detail_ticket .v1-itineraryDomesticFlights__item{
 box-shadow: none;
}
@media print, screen and (min-width: 64em){
  .monbetsu .content_detail .content_detail_ticket .v1-itineraryDomesticFlights__detail{
    box-shadow: -1px -1px 0 0 #CCCCCC;
  }
}
@media print, screen and (min-width: 90em){
  .monbetsu .content_detail .content_detail_ticket .v1-itineraryDomesticFlights__detailList{
    border-right: 1px solid #CCCCCC;
  }
}

.monbetsu .content_detail_table{
  margin-bottom: 40px;
}

.monbetsu .content_detail_table table{
    width: 100%;
    font-size: 0.95rem;
}
.monbetsu .content_detail_table tr{
    border-bottom: 1px solid #ddd;
    line-height: 1.5;
}
.monbetsu .content_detail_table tr:first-child{
    border-top: 1px solid #ddd;
}
.monbetsu .content_detail_table th{
    width: 6.5rem;
    position: relative;
    padding: 1.75rem 0;
    vertical-align: middle;
}
.monbetsu .content_detail_table td{
    vertical-align: middle;
}
.monbetsu .content_detail_table th::before{
    content: '';
    background-color: #00146e;
    display: block;
    width: 0.5rem;
    height: 0.5rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
}
.monbetsu .content_detail_table th span{
    font-weight: bold;
    padding-left: 1rem;
}
.monbetsu .layout_block .content_info{
  margin: 0 auto 50px;
}

.monbetsu .layout_block .content_detail{
  padding: 0 20px;
}

.monbetsu .heading_line_blue {
  border-left: 8px solid #0D47A1;
  padding-left: 10px;
}

.monbetsu .heading_line_blue .heading_title{
  font-size: 1.3rem;
  font-weight: bold;
  word-wrap: break-word;
  line-height: 2;
  margin-bottom: 0px;
}

.monbetsu .spot_area-notes{
  text-align: right;
  padding: 20px 0;
}
.monbetsu .spot_area-notes a{
  color: #006AC3;
  font-weight: 500;
}
.monbetsu .spot_area-notes a:not(:disabled):not(.-disabled):hover{
  text-decoration:underline;
  color:#d54100
}

@media screen and (min-width: 768px){
.monbetsu .pclp50{
  padding-left: 50px;
 }
}

.monbetsu .tool > .detail_contentBlock .layout_block:not(:first-child) .columnBlock {
  margin-top: 0 !important;
}

.monbetsu .tool > .detail_pageHeader + .detail_contentBlock .layout_block:last-child,
.monbetsu .tool > .detail_pageHeader + .detail_imageGallery + .detail_contentBlock .layout_block:last-child {
  padding-bottom: 80px !important;
}

.monbetsu .textLimitBlock{
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .monbetsu .column_2 .column {
      width: 50%;
  }
  .monbetsu .bnr_area .column_2 .column {
      width: 48.4%;
  }
}

.monbetsu .detail_image_item.column_2 .column {
  width: 48.2%;
}

@media screen and (max-width: 768px) {
  .monbetsu .detail_image_item.column_2 .column:first-child {
      float: left;
  }

  .monbetsu .detail_image_item.column_2 .column {
      float: right;
      margin-top: 0px;
      width: 48.5%;
  }
}

.monbetsu .intro_headingBlock{
  margin: 0 auto 46px;
  padding: 0;
  text-align: center;
}

.monbetsu .intro_headingBlock .intro_heading_title span{
  font-size: 1.9rem;
  font-weight: bold;
  word-wrap: break-word;
  color: #0c308e;
  position: relative;
  padding-left: 3rem;
  line-height: 1.4;
}

.monbetsu .intro_headingBlock .intro_heading_title span::before {
    content: counter(spotitem);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -1rem;
    left: -1rem;
    text-align: center;
    font-family: Roboto,sans-serif;
    font-weight: 700;
    background: url(/japan-travel-planner/traditional-culture/8-must-visit-castles/images/pin.png) no-repeat;
    background-size: contain;
    color: #fff;
    width: 3rem;
    height: 4.5rem;
    padding-bottom: 1rem;
    font-size: 1.5rem;
}

@media screen and (max-width: 768px){
  .monbetsu .intro_headingBlock .intro_heading_title span{
    font-size: 1.4rem;
  }
  .monbetsu .intro_headingBlock .intro_heading_title span::before {
    left: 0.5rem;
    width: 2rem;
    height: 3.5rem;
    font-size: 1.3rem;
  }
}


.monbetsu .columnBlock {
  max-width: 1240px;
  padding: 0 20px;
}

@media screen and (min-width: 768px) {
  .monbetsu .columnBlock.content_info {
  display: flex;
  align-items: end;
  }
  .monbetsu .columnBlock.content_detail_ticket{
  display: flex;
  align-items: center;
  }
}

.monbetsu .detail_image_box{
  text-align: center;
}

/* detail_location_table */
.monbetsu .detail_location_table table{
  width:100%;
}

.monbetsu .detail_location_table table caption{
  font-size: 1.1rem;
  margin: 0 0 10px;
}
.monbetsu .detail_location_table tr{
  border-bottom: 1px solid #ddd;
}

.monbetsu .detail_location_table th,
.monbetsu .detail_location_table td{
  padding: 20px 15px;
  font-size: 0.875rem;
  vertical-align: middle;
}
.monbetsu .detail_location_table th{
  min-width: 150px;
  max-width: 250px;
  padding-right: 20px;
  font-weight: bold;
  line-height: 1.2em;
  background-color: #f5f5f5;
  color: #6e6e6e;
}
.monbetsu .detail_location_table td{
  line-height: 1.5;
}

.monbetsu .tool .detail_location_table:nth-child(2n+0){
  margin-top:40px
}

@media screen and (max-width: 768px){
.monbetsu .detail_location_table{
  margin: 70px 0 0 0;
}  
.monbetsu .detail_location_table th,
.monbetsu .detail_location_table td{
  display: block;
  width: 100%;
  max-width: none;
  min-width: none;
  padding: 10px 20px;
  line-height: 1.5rem;
  }
}

/* 詳細情報 */
.monbetsu .location_column .column{
  width: 54%;
  float: right;
}
.monbetsu .location_column .column:first-child{
  width: 42%;
  float: left;
}

@media screen and (max-width: 768px){
.monbetsu .location_column .column{
  width: 100%;
  float: none;
}
.monbetsu .location_column .column:first-child{
  width: 100%;
  float: none;
}
.monbetsu .location_column .column + .column{
  margin-top: 20px;
}
}

/* アンカーリンク */
.monbetsu .lowerpage {
  margin-bottom: 85px;
  padding: 0 20px;
}

.monbetsu .lowerpage__list {
  justify-content: center;
  border: 1px solid #CCCCCC;
  box-shadow: 0 3px 5px #CCCCCC;
  border-radius: 9px;
  padding-bottom: 40px;
  padding-top: 20px;
  font-size: 0.95rem;
}

@media screen and (max-width: 767px) {
  .monbetsu .lowerpage__list {
    padding-bottom: 0px;
  }
}

@media screen and (min-width: 768px) {
  .monbetsu .lowerpage__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 767px) {
  .monbetsu .lowerpage__item {
    min-height: 44px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  .monbetsu .lowerpage__item {
    margin-right: 20px;
    margin-top: 20px;
  }
}

.monbetsu .lowerpage__link {
  position: relative;
  display: block;
  padding-left: 28px;
  color: #00146e;
}

.monbetsu .lowerpage__link::before {
  content: '';
  background: url(/japan-travel-planner/traditional-culture/8-must-visit-castles/images/down_arrow.png) no-repeat;
  display: block;
  width: 21px;
  height: 21px;
  position: absolute;
  top: 8px;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (min-width: 768px) {
  .monbetsu .lowerpage__link {
    display: inline-block;
  }
}

.monbetsu .lowerpage__accCont {
  display: none;
}

.monbetsu .lowerpage__accCont.is-active {
  display: block;
}

.monbetsu .lowerpage__wrapAccBtn {
  display: block;
  width: 320px;
  margin: 10px auto 0;
  color: #17399a;
  font-size: 1.5rem;
  text-align: center;
  border: 2px solid #17399a;
  background-color: #fff;
}

.monbetsu .lowerpage__accBtn {
  color: inherit;
  padding: 10px 18px;
  width: 100%;
  border: none;
}

.monbetsu .lowerpage__accBtn.is-close .lowerpage__innerAccBtn {
  background-image: url(/japan-travel-planner/common/images/ico_viewmore_minus.png);
}

.monbetsu .lowerpage__innerAccBtn {
  background: url(/japan-travel-planner/common/images/ico_viewmore_plus.png) no-repeat center right;
  display: block;
}

/* 202107_アンカー5カラム_PC */
@media screen and (min-width: 1024px) {
  .monbetsu .lowerpage__5column .lowerpage__item {
    width: calc(20% - 40px);
  }
}

/* 202107_アンカー4カラム_PC */
@media screen and (min-width: 1024px) {
  .monbetsu .lowerpage__4column .lowerpage__item {
    width: calc(25% - 40px);
  }

  li.lowerpage__item.anchor_3line {
    margin-top: 10px;
  }
}

.cts_center {
  display: flex;
}

.multi_be_links {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  gap: 10px;
}

@media screen and (max-width: 450px) {
.td_head_indent {
  text-indent: -76px;
  padding-left: 76px;
}
}

.td_text_indent {
  padding-left: 76px;
}

@media screen and (min-width: 768px) {
  .anchor_9Links {
  justify-content: flex-start !important;
  column-gap: 10px;
  padding: 20px 0px 40px 40px;
  }
}