#main article {
  margin-bottom: 0;
  padding: 0;
  overflow: hidden;
}

#main article * {
  box-sizing: border-box;
}

#main article #congestion * {
  table-layout: fixed;
}
#main article #congestion .row-bottom > div:first-child * {
  box-sizing: content-box;
  table-layout: auto;
}

@media screen and (max-width: 767px) {
  #main article {
    overflow: initial;
  }
}

#main .topicpath,
#main article>.container:first-child {
  display: none;
}

#main .mainvisual {
  background: url(/fare/special_sales/2025/images/main_2025aw.webp) no-repeat center center;
  background-size: cover;
  height: 0;
  padding-bottom: 35.725%;
  width: 100%;
}

#main .mainvisual .mv-inner {
  margin: 0 auto;
  max-width: 1400px;
  padding-bottom: 35.725%;
  position: relative;
  width: 100%;
}

#fare-nav .container {
  padding: 50px 0;
}
#fare-nav .container .row {
  margin: 0 auto;
  max-width: 1080px;
}

#fare-nav .container .btn {
  border-radius: 10px;
  color: #1A1A1A;
  display: block;
  font-size: 16px;
  line-height: 1.85;
  transition: opacity .25s ease-in-out;
  padding: 15px 18px;
  min-width: 200px;
}
#fare-nav .container .btn.btn1 {
  background-color: #1384E6;
  color: #fff;
}
#fare-nav .container .btn.btn2 {
  background-color: #FFF349;
}
#fare-nav .container .btn.btn3 {
  background-color: #F1585A;
  color: #fff;
}
#fare-nav .container .btn.btn4 {
  background-color: #D2E9F7;
}
#fare-nav .container .btn.btn5 {
  background-color: #26C6A0;
  color: #fff;
}
#fare-nav .container .btn.btn6 {
  background-color: #79C3F0;
  color: #fff;
}
#fare-nav .container .btn span {
  display: block;
  font-size: 18px;
  position: relative;
}
#fare-nav .container .btn span::after {
  content: '';
  width: 10px;
  height: 10px;
  border: 0px;
  border-top: solid 1px #1A1A1A;
  border-right: solid 1px #1A1A1A;
  transform: rotate(135deg);
  position: absolute;
  top: 43%;
  right: 0;
  margin-top: -3px;
}
#fare-nav .container .btn.btn1 span::after,
#fare-nav .container .btn.btn3 span::after,
#fare-nav .container.btn.btn5 span::after,
#fare-nav .container .btn.btn6 span::after {
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}
#fare-nav .container .btn:hover {
  text-decoration: none;
  opacity: .7;
}

@media screen and (max-width: 767px) {
  #main .mainvisual {
    background: url(/fare/special_sales/2025/images/main_2025aw-sp.webp) no-repeat center top;
    background-size: cover;
    width: 100%;
    height: auto;
    margin-top: 40px;
    padding-bottom: 0;
  }

  #main .mainvisual .mv-inner {
    height: calc(100vw*9/16);
    max-width: none;
    padding-bottom: 0;
  }

  #fare-nav .container {
    padding: 20px 0 0;
    width: 91.47%;
  }
  #fare-nav .container .btn {
    border-radius: 3px;
    font-size: 16px;
    line-height: 2.2;
    padding: 10px;
    min-width: 110px;
  }
  #fare-nav .container .btn span {
    font-size: 10px;
  }
  #fare-nav .container .btn span::after {
    height: 8px;
    margin-top: -4px;
    width: 8px;
  }
}


#main #spring-fare {
  background-color: #FFFFFF;
}

#main #spring-fare .container {
  z-index: 1;
}

#main #spring-fare .fare-section {
  padding: 80px 0 50px;
  margin: 0 auto;
}

#main #spring-fare .fare-section .fare-title {
  position: relative;
}

#main #spring-fare .fare-section .fare-title::before,
#main #spring-fare .fare-section .fare-title::after {
  content: "";
  position: absolute;
  display: block;
}

#main #spring-fare .fare-section[data-anc="fare2"] .fare-title::before {
  background: url(/fare/special_sales/summer_2025/images/ico-bear.png) center center no-repeat;
  background-size: cover;
  height: 86px;
  left: -30px;
  top: 0;
  width: 113px;
}

#main #spring-fare .fare-section[data-anc="fare2"] .fare-title::after {
  background: url(/fare/special_sales/summer_2025/images/ico-cloud.png) center center no-repeat;
  background-size: cover;
  height: 48px;
  right: -60px;
  top: 10px;
  width: 125px;
}

#main #spring-fare .fare-section h2 {
  margin-top: 0;
}

#main #spring-fare .fare-section .tab {
  margin-bottom: 0;
  overflow: visible;
}

#main #spring-fare .fare-section .fare-list > .row > div {
  margin-bottom: 0 !important;
}

#main #spring-fare .fare-section .list-title {
  border-radius: 5px 5px 0 0;
  color: #fff;
  font-size: 28px;
  font-weight: 400;
  text-align: center;
  padding: 11.5px 0;
}
#main #spring-fare .fare-section .list-title.ticket {
  background-color: #086BC0;
}
#main #spring-fare .fare-section .list-title.stay {
  background-color: #79C3F0;
}

#main #spring-fare .fare-section .fare-item {
  background-color: #fff;
  border-top: 1px solid #CCCCCC;
  display: flex;
  align-items: center;
  margin-bottom: 0;
  padding: 25px 20px;
}
#main #spring-fare .fare-section .fare-item:first-child {
  border-top: none;
}

#main #spring-fare .fare-section .fare-item dd {
  line-height: 0.7;
}

#main #spring-fare .fare-section .fare-item>* {
  margin-bottom: 0;
}

#main #spring-fare .fare-section .fare-item .fare-place {
  color: #086BC0;
  font-size: 20px;
  font-weight: bold;
  width: 40%;
}

#main #spring-fare .fare-section .fare-item .fare-price {
  font-size: 44px;
  text-align: center;
  width: 40%;
}

#main #spring-fare .fare-section .fare-item .fare-price span {
  font-size: 14px;
}

#main #spring-fare .fare-section .fare-item .fare-btn {
  width: 20%;
}

#main #spring-fare .fare-section .fare-item .fare-btn a {
  background-color: #fff349;
  color: #1a1a1a;
  font-size: 14px;
  line-height: 2.5;
  display: block;
  margin: 0 auto;
  text-align: center;
  transition: opacity .25s ease-in-out;
  width: 92px;
  min-width: auto;
  padding: 1px 0 2px;
}

#main #spring-fare .fare-section .fare-item .fare-btn a:hover {
  text-decoration: none;
  opacity: .7;
}

@media screen and (max-width: 767px) {
  #main #spring-fare .container,
  #main .midnight .container {
    width: 91.47%;
  }

  #main #spring-fare .fare-section {
    padding: 12% 0 8%;
    width: auto;
  }

  #main #spring-fare .fare-section+.fare-section {
    padding-bottom: 9%;
  }

  #main #spring-fare .fare-section[data-anc="fare2"] .fare-title::before {
    background: url(/fare/special_sales/summer_2025/images/ico-bear.png) center center no-repeat;
    background-size: cover;
    height: 46px;
    left: 2%;
    top: -25px;
    width: 61px;
  }

  #main #spring-fare .fare-section[data-anc="fare2"] .fare-title::after {
    background: url(/fare/special_sales/summer_2025/images/ico-cloud.png) center center no-repeat;
    background-size: cover;
    height: 28px;
    right: 2%;
    top: -15%;
    width: 74px;
  }

  #main #spring-fare .fare-section .tab {
    margin: 20px 0 0;
    width: auto;
  }

  #main #spring-fare .fare-section .list-title {
    font-size: 16px;
    padding: 8px 0;
  }
  #main #spring-fare .fare-section .list-title img {
    height: 25px !important;
    margin-right: 10px;
    width: auto;
  }

  #main #spring-fare .fare-section .tab .tab-content {
    margin: 0;
  }

  #main #spring-fare .fare-section .fare-item {
    flex-wrap: wrap;
    padding: 12px 10px 16px;
  }

  #main #spring-fare .fare-section .fare-item .fare-place {
    font-size: 14px;
    margin-bottom: 5px;
    width: 65%;
  }

  #main #spring-fare .fare-section .fare-item .fare-price {
    font-size: 26px;
    text-align: left;
    width: 65%;
  }

  #main #spring-fare .fare-section .fare-item .fare-btn {
    margin-left: auto;
    margin-top: -25px;
    width: 92px;
  }

  #main #spring-fare .fare-section .fare-item .fare-btn a {
    font-size: 14px;
    line-height: 2.3;
    padding: 8px 2px;
    width: 92px;
  }
}

#main #spring-fare .fare-section .bd {
  background-color: #fff;
  border-top: 1px solid #ccc;
  padding: 15px 25px 20px;
}
#main #spring-fare .fare-section .bd:first-child {
  border-top: none;
}
#main #spring-fare .fare-section .bd .api-box .row {
  font-size: 18px;
}
#main #spring-fare .fare-section .bd .api-box .row > div {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}
#main #spring-fare .fare-section .bd .api-box .price {
  font-size: 44px;
}
#main #spring-fare .fare-section .bd .api-box .stay,
#main #spring-fare .fare-section .bd .api-box .min {
  font-size: 18px;
}
#main #spring-fare .fare-section .bd .api-box .order {
  font-size: 14px;
  margin-top: 5px;
}
#main #spring-fare .fare-section .bd .flight-form .form-content {
  padding: 0;
}
#main #spring-fare .fare-section .bd .flight-form .flight-form-headcount {
  padding: 0;
}
#main #spring-fare .fare-section .bd .flight-form .custom-select {
  width: 124px !important;
}
#main #spring-fare .fare-section .bd .btn {
  min-width: 92px;
  padding: 11px 18px 12px;
}
@media screen and (max-width: 767px) {
  #main #spring-fare .fare-section .bd {
    padding: 14px 10px 11px;
  }
  #main #spring-fare .fare-section .bd .api-box .row,
  #main #spring-fare .fare-section .bd .api-box .stay,
  #main #spring-fare .fare-section .bd .api-box .min {
    font-size: 14px;
  }
  #main #spring-fare .fare-section .bd .api-box .price {
    font-size: 26px;
  }
  #main #spring-fare .fare-section .bd .api-box .order {
    font-size: 12px;
  }
  #main #spring-fare .fare-section .bd .btn {
    font-size: 14px !important;
    padding: 12px 0 13px;
  }
}

#dotabi {
  padding: 70px 0 55px;
}

#dotabi .dotabi-lead {
  position: relative;
}

#dotabi .dotabi-lead::before,
#dotabi .dotabi-lead::after {
  content: "";
  background-color: #8CD3F2;
  border-radius: 10px;
  height: 2px;
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  width: 238px;
}
#dotabi .dotabi-lead::before {
  left: 0;
}
#dotabi .dotabi-lead::after {
  right: 0;
}

#dotabi a {
  color: #1A1A1A;
}
#dotabi .dotabi-list figure .figure-inner {
  position: relative;
}
#dotabi .dotabi-list figure .figure-inner > img {
  border-radius: 15px;
}
#dotabi .dotabi-list figure .dotabi-more {
  margin: 0;
  position: absolute;
  bottom: 0;
  right: 11px;
}
#dotabi .viewmore {
  text-align: right;
}
#dotabi .viewmore a {
  color: #1A1A1A;
  display: inline-block;
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: bold;
  position: relative;
  transition: .5s all;
}
#dotabi .viewmore a:hover {
  color: #1A1A1A;
  text-decoration: none;
  opacity: .6;
}
#dotabi .viewmore a::after {
  background: url(/do-tabi/assets/images/common/ico-more.webp) center center no-repeat;
    background-size: 37px auto;
    content: "";
    display: inline-block;
    height: 37px;
    margin-left: 16px;
    vertical-align: middle;
    width: 37px;
}

#main #spring-banner {
  padding: 20px 0 0;
}
#main #spring-banner li {
  font-size: 12px;
}

.sticky_table th {
  word-break: keep-all;
}

#info,
#info2,
#calendar,
#map {
  padding: 50px 0 60px;
}

#dotabi {
  background-color: #EEF5F8;
}
#congestion {
  background-color: #fff;
  padding: 70px 0 55px;
}
#main article #congestion #congestion-nav * {
  box-sizing: border-box;
}
#congestion #congestion-nav .btn {
  background-color: #D2E9F7;
  border-radius: 5px;
  color: #1A1A1A;
  display: block;
  font-size: 14px;
  line-height: 1.85;
  transition: opacity .25s ease-in-out;
  padding: 10px 8px;
  min-width: 200px;
}
#congestion #congestion-nav .btn span {
  display: block;
  position: relative;
}
#congestion #congestion-nav .btn span.fs-xs {
  font-size: 11px !important;
  padding-right: 10px;
}
#congestion #congestion-nav .btn span::after {
  content: '';
  width: 5px;
  height: 5px;
  border: 0px;
  border-top: solid 1px #1A1A1A;
  border-right: solid 1px #1A1A1A;
  transform: rotate(135deg);
  position: absolute;
  top: 43%;
  right: 0;
  margin-top: -3px;
}
#congestion #congestion-nav .btn:hover {
  text-decoration: none;
  opacity: .7;
}
#congestion .row .bg {
  display: inline-block;
  margin-right: 10px;
  width: 100px;
}

#congestion table tr th:first-child {
  width: 359px;
}
#congestion .row-bottom table:first-child tr th:first-child {
  width: revert-layer;
}
#congestion table th {
  background-color: #F7F7F7;
}
#congestion table.sticky_table td.bd-yellow {
  position: relative;
  border-radius: 0;
  border: none;
}
#congestion table.sticky_table td.bd-yellow::before {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 0;
  padding-bottom: calc(100% - 6px);
  border: 4px solid #FFF349;
  border-radius: 5px;
  box-sizing: border-box;
}
#congestion table .dsat{
  background-color: #d2e9f7a1;
}
#congestion table .dhol{
  background-color: #fbdfdfbd;
}
#congestion .bg {
  background-color: #d0ffd8;
}
#congestion .toggle-group table {
  width: 1079px;
}
#congestion .row .target span {
  display: inline-block;
  vertical-align: middle;
  width: 80px;
}
.bd-yellow {
  border: 1px solid #FFF349;
  border-radius: 5px;
}

#fare-nav {
  background-color: #FFFFFF;
}

#schedule {
  background-color: #E9F7FF;
  padding: 50px 0 60px;
}

#info2 {
  background-color: #E9F7FF;
}
#info2 .row {
  margin: 0 auto;
  width: 870px;
}

@media screen and (max-width: 767px) {
  #dotabi,
  #info,
  #info2,
  #congestion,
  #calendar {
    padding: 35px 0;
  }
  #dotabi .container,
  #info .container,
  #info2 .container,
  #congestion .container,
  #schedule .container,
  #map .container {
    width: 91.47%;
  }
  #dotabi .dotabi-lead {
    margin: 0 auto 26px;
    position: relative;
    width: 94%;
  }
  #dotabi .dotabi-lead::before,
  #dotabi .dotabi-lead::after {
    width: 40px;
  }
  #dotabi .dotabi-lead::before {
    left: 0;
  }
  #dotabi .dotabi-lead::after {
    right: 0;
  }
  #dotabi .dotabi-lead span::before,
  #dotabi .dotabi-lead span::after {
    content: none;
  }
  #dotabi .main {
    margin-left: -5%;
    margin-right: -5%;
  }
  #dotabi .dotabi-list figure .dotabi-more {
    bottom: 7px;
    right: -1px;
    width: 27%;
  }
  .dotabi-more img {
    width: auto;
    vertical-align: bottom;
  }
  #dotabi .viewmore {
    margin-bottom: 0;
    margin-top: 15px;
    text-align: center;
  }
  #dotabi .viewmore a {
    font-size: 12px;
  }
  #dotabi .viewmore a::after {
    background-size: 29px auto;
    height: 29px;
    margin-left: 14px;
    width: 29px;
  }

  #main #spring-banner {
    padding: 5% 0 4%;
  }
  #main #spring-banner .list-note {
    margin-bottom: 0;
  }

  #main #spring-banner .container {
    width: 91.47%;
  }

  .sticky_table {
    width: calc(100vw - 2.0rem) !important;
  }
  .sp-scroll-area .sp-scroll-target {
    width: 686px;
  }
  .ml-0-sp {
    margin-left: 0 !important;
  }
  #congestion {
    padding: 35px 0 30px;
  }
  #congestion #congestion-nav .btn {
    border-radius: 3px;
    font-size: 16px;
    line-height: 2.2;
    padding: 10px;
    min-width: 110px;
  }
  #congestion #congestion-nav .btn span {
    font-size: 10px;
  }
  #congestion #congestion-nav .btn span.fs-xs {
    font-size: 8px !important;
    padding-right: 15px;
  }
  #congestion .toggle-group table {
    width: 100%;
  }
  #congestion table tr th:first-child {
    width: 5rem;
  }

  #schedule {
    padding: 35px 0 25px;
  }

  #info2 .row {
    width: auto;
  }
}

main .main-footer {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  main .main-footer {
    margin: 30px 0;
  }
}