@charset "UTF-8";
:root {
  --max-content-width: 1281px;
  --content-padding: 15px;
  --leading-trim: calc((1em - 1lh) / 2);

  /* color */
  --logo-color-bulue: #0b318f;
  --harmony-color01: #1aa297;
  --harmony-color02: #00856f;
  --harmony-color03: #cef4ee;
  --seasonal-color01: #009de6;
  --seasonal-color02: #007db8;
  --seasonal-color03: #c6edfe;
  --discovery-color01: #8686ee;
  --discovery-color02: #6666ea;
  --discovery-color03: #dadafd;
  --recharge-color01: #4187f7;
  --recharge-color02: #276cdb;
  --recharge-color03: #c9ddfd;
  --luxury-color01: #9090b6;
  --luxury-color02: #737391;
  --luxury-color03: #dadae7;
}

/* 追従メニュー */
.pc_con {
  display: block;
}

.sp_con {
  display: none;
}

@media screen and (max-width: 767px) {
  .pc_con {
    display: none;
  }
  .sp_con {
    display: block;
  }
}
.tokyo-and-beyond_menu_btn {
  transition-property: opacity;
  transition-duration: 0.2s;
  opacity: 1;
}
.tokyo-and-beyond_menu_btn.-max {
  opacity: 0;
}
.tokyo-and-beyond_menu_btn .btn {
  border: none;
  position: fixed;
  bottom: min(3.24vh, 35px);
  right: min(5.56vw, 80px);
  z-index: 1010;
  transition: 0.4s;
  background: none;
}

.tokyo-and-beyond_menu_btn .btn svg {
  width: min(8.33vw, 120px);
}

.tokyo-and-beyond_menu_btn .btn.none {
  display: none;
}

@media (hover: hover) {
  .tokyo-and-beyond_menu_btn .btn:hover {
    scale: 1.2;
  }
}

.tokyo-and-beyond_menu.none {
  visibility: hidden;
  opacity: 0;
}
.tokyo-and-beyond_menu {
  visibility: visible;
  opacity: 1;
  position: fixed;
  top: 0;
  background: #fff;
  width: 100%;
  height: 100%;
  z-index: 1000;
  display: flex;
  justify-content: end;
  transition: 0.4s;
  overflow: scroll;
}

.tokyo-and-beyond_menu .logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: calc(100% - min(50%, 720px));
}

.tokyo-and-beyond_menu .logo > .logo-text {
  margin-top: 22px;
  text-align: center;
  font-size: 1.5625rem;
}

.ja .tokyo-and-beyond_menu .logo > .logo-text {
  font-family: 'Noto Serif JP', serif;
}

.tokyo-and-beyond_menu .logo > .logo-text.-second {
  display: inline-block;
  position: relative;
  margin-top: 32px;
  font-family: 'ITC Avant Garde Gothic', sans-serif;
}

@media screen and (min-width: 768px) {
  .tokyo-and-beyond_menu .logo > .logo-text.-second::after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 1px;
    background: #333;
    transition: all 0.3s ease 0s;
  }
  @media (hover: hover) {
    .tokyo-and-beyond_menu .logo > .logo-text.-second:hover::after {
      width: 100%;
    }
  }
}

.tokyo-and-beyond_menu.none .nav {
  position: relative;
  right: -720px;
}

.tokyo-and-beyond_menu .nav {
  position: relative;
  right: 0;
  transition: 1.5s;
  width: min(50%, 720px);
  background: #ffffff;
}

@media screen and (min-width: 768px) {
  .tokyo-and-beyond_menu .nav {
    display: flex;
    align-items: center;
    height: fit-content;
    padding: min(140px, 12.96vh) 0;
  }
}

.tokyo-and-beyond_menu .nav .list .item {
  margin: 0 0 20px;
  position: relative;
}

@media screen and (min-width: 768px) {
  .tokyo-and-beyond_menu .nav .list .item {
    margin-bottom: 2.78%;
  }
}

.tokyo-and-beyond_menu .nav .list .item .link {
  display: flex;
  width: 100%;
  max-width: 558px;
  gap: 20px;
  padding: 0 0 0 62px;
}

.tokyo-and-beyond_menu .nav .list .item .link .img {
  width: 130px;
  padding: 0 0 0 38px;
  transition: 0.4s;
}

.tokyo-and-beyond_menu .nav .list .item .link .img img {
  object-fit: cover;
  height: 127px;
  border-radius: 10px;
  overflow: hidden;
}

.tokyo-and-beyond_menu .nav .list .item .link .content {
  flex: 1;
  padding: 13px 0;
}

.tokyo-and-beyond_menu .nav .list .item .link .content .ttl #harmony {
  transition: 0.4s;
}

.tokyo-and-beyond_menu .nav .list .item .link .content .ttl .icon {
  position: relative;
  top: -15px;
  margin: 0 0 0 20px;
  transition: 0.4s;
}

.tokyo-and-beyond_menu .nav .list .item .link .content .txt {
  font-size: 0.875rem;
  margin: 20px 0 0;
  line-height: 1.5;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .img {
  width: 130px;
  padding: 0;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .img img {
  width: 130px;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .content .ttl .icon {
  margin: 10px 0 0 40px;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .content .ttl .alphabet_txt_01 {
  fill: #00856f;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .content .ttl .alphabet_txt_02 {
  fill: #007db8;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .content .ttl .alphabet_txt_03 {
  fill: #6666ea;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .content .ttl .alphabet_txt_04 {
  fill: #276cdb;
}

.tokyo-and-beyond_menu .nav .list .item:hover .link .content .ttl .alphabet_txt_05 {
  fill: #737391;
}

@media screen and (min-width: 767px) and (max-width: 1024px) {
  .tokyo-and-beyond_menu {
    overflow: unset;
  }
  .tokyo-and-beyond_menu .nav {
    justify-content: center;
    height: 100vh;
    padding: 0 25px;
    overflow: hidden;
  }
  .nav .list {
    max-height: calc(100vh - 20px);
    overflow-y: auto;
  }
  .tokyo-and-beyond_menu .logo {
    padding: 0 15px;
  }
  .tokyo-and-beyond_menu .logo > svg {
    width: 100%;
  }
  .tokyo-and-beyond_menu .nav .list .item .link {
    padding: 0 0 0 12px;
    border-left: 10px solid #1aa297;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(2) .link {
    border-left: 10px solid #009de6;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(3) .link {
    border-left: 10px solid #6666ea;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(4) .link {
    border-left: 10px solid #276cdb;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(5) .link {
    border-left: 10px solid #9090b6;
  }
  .tokyo-and-beyond_menu .nav .list .item .link .img {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .tokyo-and-beyond_menu_btn .btn {
    bottom: 15px;
    right: 15px;
  }
  .tokyo-and-beyond_menu_btn .btn > svg {
    width: min(24.62vw, 96px);
    height: min(24.62vw, 96px);
  }
  .tokyo-and-beyond_menu {
    background: #ffffff;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7.69vw;
  }
  .tokyo-and-beyond_menu .logo {
    display: block;
    width: 290px;
    max-width: 100%;
    height: auto;
    margin: 29px auto 0;
    padding: 0 30px;
  }
  .tokyo-and-beyond_menu .logo svg {
    max-width: 100%;
  }
  .tokyo-and-beyond_menu .logo > .logo-text {
    margin-top: 10px;
    font-size: 1.25rem;
  }
  .tokyo-and-beyond_menu .logo-text.-second {
    width: fit-content;
    margin: 32px auto 16.54%;
  }
  .tokyo-and-beyond_menu .logo-text.-second > a {
    margin-left: -1rem;
    border-bottom: 0.5px solid #333;
    font-size: 1.0625rem;
    font-family: 'ITC Avant Garde Gothic', sans-serif;
  }
  .tokyo-and-beyond_menu .nav {
    transition: 1.5s;
    margin: 0;
    padding: 0 15px;
    width: 100%;
    bottom: 0;
    opacity: 1;
  }
  .tokyo-and-beyond_menu.none .nav {
    position: relative;
    right: auto;
    bottom: -140px;
    opacity: 0;
  }
  .tokyo-and-beyond_menu .nav .list .item .link {
    padding: 0 0 0 12px;
    border-left: 10px solid #1aa297;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(2) .link {
    border-left: 10px solid #009de6;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(3) .link {
    border-left: 10px solid #6666ea;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(4) .link {
    border-left: 10px solid #276cdb;
  }
  .tokyo-and-beyond_menu .nav .list .item:nth-child(5) .link {
    border-left: 10px solid #9090b6;
  }
  .tokyo-and-beyond_menu .nav .list .item .link .img {
    display: none;
  }
  .tokyo-and-beyond_menu .nav .list .item .link .content {
    padding: 0 0 5px;
  }
  .tokyo-and-beyond_menu .nav .list .item .link .content .ttl svg {
    height: 35px;
    width: auto;
  }
  .tokyo-and-beyond_menu .nav .list .item .link .content .txt {
    margin: 8px 0 0;
    font-size: 0.8125rem;
  }
}

h2,
h3,
p,
p > span {
  margin-block: var(--leading-trim);
}
.ja .tb-top {
  font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
}
.section {
  padding: 0 var(--content-padding);
}
@media screen and (max-width: 767px) {
  .section {
    margin: 0;
  }
}
.section__wrap {
  max-width: min(var(--max-content-width), 100%);
  margin: 0 auto;
}
/* Bright cove */
.video-js {
  background-color: #fff !important;
}
.vjs-dock-text {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .bc-player-i6L7ZMbTZx_default.vjs-fluid:not(.vjs-audio-only-mode) {
    padding-top: 177.7777777777778%;
  }
}
.tb-top > .v1-itineraryHero > .v1-itineraryHero__title {
  bottom: 0;
  padding: 0;
  -webkit-transform: translateX(50%);
  transform: translateX(50%);
}
@media screen and (max-width: 767px) {
  .tb-top > .v1-itineraryHero {
    height: 177.7777777777778%;
    max-height: none;
  }
  .tb-top > .v1-itineraryHero > .v1-itineraryHero__title img {
    max-width: 240px;
  }
}
@media screen and (min-width: 768px) {
  .tb-top > .v1-itineraryHero {
    height: 56.25%;
    max-height: none;
  }
  .tb-top > .v1-itineraryHero > .v1-itineraryHero__title {
    max-width: 100%;
    height: 7.57vw;
  }
  .tb-top > .v1-itineraryHero > .v1-itineraryHero__title img {
    max-height: min(5.97vw, 86px);
  }
}
.tb-mv__play {
  position: absolute;
  bottom: 21vw;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .tb-mv__play {
    bottom: 8.68vw;
  }
}
.tb-mv__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 62px;
  height: 62px;
  border: none;
  background-color: #383836;
}
.tb-mv__stop {
  position: relative;
  width: 13px;
  height: 20px;
  text-indent: -9999px;
}
.tb-mv__stop::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background-color: #fff;
}
.tb-mv__stop::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background-color: #fff;
}
.tb-mv__start {
  display: none;
  position: relative;
  width: 15px;
  height: 16px;
  text-indent: -9999px;
}
.tb-mv__start > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.tb-mv__btn.-pause .tb-mv__stop {
  display: none;
}
.tb-mv__btn.-pause .tb-mv__start {
  display: block;
}
.tb-about {
  max-width: 1000px;
  margin: 32px auto 0;
}
.ja .tb-about {
  font-family: 'Noto Serif JP', serif;
}
@media screen and (min-width: 768px) {
  .tb-about {
    margin-top: 55px;
    text-align: center;
  }
}
.tb-about__title {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.8;
}
.tb-about__text {
  font-size: 0.9375rem;
  line-height: 1.6;
  margin-top: 23px;
}
.tb-about__text:first-of-type {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .tb-about__title {
    font-size: 1.3125rem;
    line-height: 3.666666666666667;
  }
  .tb-about__text {
    font-size: 1.1875rem;
    line-height: 1.578947368421053;
    margin-top: 21px;
  }
  .tb-about__text:first-of-type {
    margin-top: 27px;
  }
}
.tb-line {
  border: none;
  height: 10px;
  margin-top: 50px;
}
@media screen and (min-width: 768px) {
  .tb-line {
    margin-top: 120px;
  }
}
.tb-category {
  position: relative;
}
.tb-category__heading {
  display: flex;
  gap: 100px;
  justify-content: space-between;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .tb-category__heading {
    flex-direction: column;
    gap: 30px;
    margin-top: 30px;
  }
}
.tb-category__title > h2 > img {
  max-height: 40px;
}
@media screen and (min-width: 768px) {
  .tb-category__title > h2 > img {
    max-height: 68px;
  }
}
.tb-category__text {
  font-size: 0.9375rem;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .tb-category__text {
    font-size: 1.0625rem;
    line-height: 1.588235294117647;
  }
}
.tb-category__title > h2 + .tb-category__text {
  margin-top: 20px;
}
.tb-category__button > a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 58px;
  border-radius: 29px;
}
.tb-category__button > a::after {
  display: inline-block;
  content: '';
  width: 9px;
  height: 9px;
  margin-top: 0.2em;
  margin-left: 0.5em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .tb-category__button {
    align-self: flex-end;
  }
  .tb-category__button > a {
    width: max-content;
    min-width: 272px;
    padding: 0 calc(50.5px - 0.25em);
  }
}
.tb-category__button > a > span {
  font-size: 1.125rem;
  font-weight: bold;
  color: #fff;
}

/* swiper */
.tb-swiper {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .tb-swiper {
    margin-left: -15px;
    margin-right: -15px;
    padding-bottom: 42px;
  }
}
@media screen and (min-width: 768px) {
  .tb-swiper {
    overflow: visible;
  }
  .tb-swiper__list {
    display: grid;
    grid-template-columns: repeat(5, minmax(129.25px, 1fr));
    gap: 20px;
  }
}
.tb-swiper__item {
  height: auto;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.12);
}
@media screen and (min-width: 768px) {
  .tb-swiper[data-aos^='fade'][data-aos^='fade'].aos-animate {
    transition-delay: 0s;
  }
  .tb-swiper__list .tb-swiper__item:nth-of-type(2)[data-aos].aos-animate {
    transition-delay: 0.25s;
  }
  .tb-swiper__list .tb-swiper__item:nth-of-type(3)[data-aos].aos-animate {
    transition-delay: 0.35s;
  }
  .tb-swiper__list .tb-swiper__item:nth-of-type(4)[data-aos].aos-animate {
    transition-delay: 0.45s;
  }
  .tb-swiper__list .tb-swiper__item:nth-of-type(5)[data-aos].aos-animate {
    transition-delay: 0.55s;
  }
}
@media screen and (max-width: 767px) {
  .tb-swiper__item {
    width: 61.53846153846154%;
    margin-top: 6px;
  }
}
.tb-swiper__btm {
  padding: 16px 20px 41px;
}
@media screen and (min-width: 901px) and (max-width: 1024px) {
  .tb-swiper__btm {
    padding: 16px 15px 41px;
  }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .tb-swiper__btm {
    padding: 16px 10px 41px;
  }
  .tb-swiper__text {
    max-width: 115px;
  }
}
.tb-swiper__title {
  position: relative;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.25;
}
.tb-swiper__text {
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.024em;
}
.tb-swiper__title + .tb-swiper__text {
  margin-top: 10px;
}
.tb-swiper__title::after {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: url(/japan-travel-planner/tokyo-and-beyond/images/common/icon_arrow_01.svg) center no-repeat;
}
.tb-swiper__link {
  display: block;
  height: 100%;
}
@media (hover: hover) {
  .tb-swiper__img-outer {
    overflow: hidden;
  }
  .tb-swiper__link:hover .tb-swiper__img,
  .tb-swiper__link:focus .tb-swiper__img {
    -webkit-transform: scale(1.05);
    -webkit-transition: -webkit-transform 0.5s ease-in-out;
    transform: scale(1.1);
    transition: -webkit-transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out;
    transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
  }
}
/* swiper-pagination */
.tb-category .swiper-pagination.tb-swiper__pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
  text-align: left;
  bottom: 0;
  left: 7.5px;
  padding-bottom: 6px;
}
.tb-category .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  border: solid 1px #666;
  background-color: #fff;
  opacity: 1;
  font-size: 0;
}
.tb-category .swiper-pagination-bullet-active {
  background-color: #0b318f;
}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 7.5px;
}
@media screen and (min-width: 768px) {
  .swiper-pagination.tb-swiper__pagination {
    display: none;
  }
}

/* loop */
.tb-loop-wrap {
  margin-top: 150px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .tb-loop-wrap {
    margin-top: 80px;
  }
}
@keyframes loop_animation-pc {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 100vw 0;
  }
}
.tb-loop__item {
  width: 100%;
  overflow: hidden;
}
.tb-loop__item > div {
  background-image: url(../images/common/beyond_repeat.png);
  background-size: contain;
  background-position: 0 0;
  background-repeat: repeat-x;
  width: 100%;
  height: 73px;
  text-indent: -9999px;
  animation: loop_animation-pc 10s linear infinite;
}
.tb-loop__play {
  position: absolute;
  top: 83px;
  right: 15px;
}
@media screen and (min-width: 768px) {
  .tb-loop__item > div {
    animation: loop_animation-pc 30s linear infinite;
  }
  .tb-loop__play {
    right: max(15px, calc((100vw - var(--max-content-width)) / 2));
  }
}
.tb-loop__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 40px;
  height: 40px;
  background-color: #383836;
}
.tb-loop__stop {
  position: relative;
  width: 10px;
  height: 16px;
  text-indent: -9999px;
}
.tb-loop__stop::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 3px;
  height: 100%;
  background-color: #fff;
}
.tb-loop__stop::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 3px;
  height: 100%;
  background-color: #fff;
}
.tb-loop__start {
  display: none;
  position: relative;
  width: 15px;
  height: 16px;
  text-indent: -9999px;
}
.tb-loop__start > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.tb-loop-wrap.-pause .tb-loop__item > div {
  animation-play-state: paused;
}
.tb-loop-wrap.-pause .tb-loop__stop {
  display: none;
}
.tb-loop-wrap.-pause .tb-loop__start {
  display: block;
}
.tb-value-wrap {
  padding: 0 var(--content-padding) 5%;
}
.tb-value-area {
  max-width: 1180px;
  margin: 150px auto 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tb-value-area {
    margin-top: 86px;
  }
}
.tb-value__heading {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .tb-value__heading {
    font-size: 2rem;
    line-height: 1.875;
  }
}
.tb-value__list {
  display: grid;
  gap: 30px;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .tb-value__list {
    grid-template-columns: repeat(3, 1fr);
    gap: min(2%, 50px);
    margin-top: 60px;
  }
}
.tb-value__list li {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.belink_notes li {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding-left: 0;
}
.tb-value__badge {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 195px;
  height: 33px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background-color: var(--logo-color-bulue);
  letter-spacing: 0.05em;
}
.tb-value__badge > h3 {
  color: #fff;
  font-size: 1.1875rem;
}
.tb-value__badge > h3 > .num {
  color: #fff;
  font-weight: bold;
  font-size: 1.375rem;
  font-family: 'Roboto', sans-serif;
}
.tb-value__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: min(360px, 100%);
  height: 100%;
  padding: 30px;
  border-radius: 5px;
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 768px) {
  .tb-value__item {
    padding: 36px 3% 36px;
  }
}
.tb-value__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  height: auto;
}
@media screen and (min-width: 768px) {
  .tb-value__title {
    height: 30%;
  }
}
.tb-value__icon {
  height: 60px;
  padding: 2% 0;
}
.tb-value__title > p {
  color: #00146e;
  font-weight: bold;
  font-size: 2.375rem;
}
.tb-value__title > p > .txt-blue {
  color: #0170c9;
  font-weight: bold;
  font-size: 2.8125rem;
  font-family: 'Roboto', sans-serif;
}
.tb-value__title > p > .font-s {
  font-weight: bold;
  font-size: 1.875rem;
}
.tb-value__text {
  font-size: 1.125rem;
  line-height: 1.5;
}
.tb-value__text.-small {
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .tb-value__title > p {
    font-size: clamp(1rem, 4vw, 1.9rem);
    max-width: 180px;
  }
  .tb-value__title > p > .txt-blue {
    font-size: clamp(1rem, 5vw, 2.5rem);
  }
  .tb-value__text {
    font-size: clamp(1rem, 2.5vw, 1.5625rem);
  }
}
.tb-value__item .tb-value__text.-small {
  margin-top: 20px;
}
.tb-value__title + .tb-value__text,
.tb-value__text + .tb-value__text {
  margin-top: 33px;
}
@media screen and (max-width: 767px) {
  .tb-value__title + .tb-value__text {
    margin-top: 15px;
  }
  .tb-value__text + .tb-value__text {
    margin-top: 25px;
  }
}
.tb-value__btn {
  width: 100%;
  margin-top: 20px;
}
.tb-value__btn > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(100%, 300px);
  height: 58px;
  margin: 0 auto;
  background-color: #d54100;
  transition-duration: 0.3s;
}
.tb-value__btn > a > span {
  color: #fff;
  font-weight: bold;
  font-size: 1.125rem;
}
@media (hover: hover) {
  .tb-value__btn > a:hover {
    background-color: #c33c00;
  }
}
/* harmony */
.harmony_wrap .tb-line {
  background-color: var(--harmony-color01);
  margin-top: 48px;
}
@media screen and (min-width: 768px) {
  .harmony_wrap .tb-line {
    margin-top: 80px;
  }
}
.harmony_wrap .tb-category__button a {
  background-color: var(--harmony-color02);
}
.harmony_wrap .tb-swiper__item {
  background-color: var(--harmony-color03);
  border-bottom: solid 5px var(--harmony-color01);
}
/* seasonal */
.seasonal_wrap .tb-line {
  background-color: var(--seasonal-color01);
}
.seasonal_wrap .tb-category__button a {
  background-color: var(--seasonal-color02);
}
.seasonal_wrap .tb-swiper__item {
  background-color: var(--seasonal-color03);
  border-bottom: solid 5px var(--seasonal-color01);
}
/* discovery */
.discovery_wrap .tb-line {
  background-color: var(--discovery-color01);
}
.discovery_wrap .tb-category__button a {
  background-color: var(--discovery-color02);
}
.discovery_wrap .tb-swiper__item {
  background-color: var(--discovery-color03);
  border-bottom: solid 5px var(--discovery-color01);
}
/* recharge */
.recharge_wrap .tb-line {
  background-color: var(--recharge-color01);
}
.recharge_wrap .tb-category__button a {
  background-color: var(--recharge-color02);
}
.recharge_wrap .tb-swiper__item {
  background-color: var(--recharge-color03);
  border-bottom: solid 5px var(--recharge-color01);
}
/* luxury */
.luxury_wrap .tb-line {
  background-color: var(--luxury-color01);
}
.luxury_wrap .tb-category__button a {
  background-color: var(--luxury-color02);
}
.luxury_wrap .tb-swiper__item {
  background-color: var(--luxury-color03);
  border-bottom: solid 5px var(--luxury-color01);
}
/* hover */
@media (hover: hover) {
  .tb-category__button > a:hover {
    background-color: var(--logo-color-bulue);
  }
}

/** ----------------------------------------
 * CTAリンク用のスタイル追加
 * @update 2025-09-30
 ---------------------------------------- */
.section.margin-lg {
  margin-top: 80px;
}

html.asw.jp .tb-cta-container {
  display: none;
}

.tb-cta-container + .tb-cta-container {
  margin-top: 16px;
}

.tb-cta-container + .tb-cta-container:has(h2) {
  margin-top: 32px;
}

.tb-title {
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.6;
  margin-bottom: 0.75em;
}

.tb-title.text-center {
  text-align: center;
}

.tb-cta-link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 360px;
  height: 58px;
  margin: 0 auto;
  color: #fff;
  background-color: #d54100;
  transition-duration: 0.3s;
  font-size: 1.125rem;
  font-weight: bold;
  gap: 0.5em;
}

.tb-cta-link.has-icon::before {
  content: '';
  display: block;
  width: 26px;
  aspect-ratio: 13 / 12;
  background-image: url(/japan-travel-planner/tokyo-and-beyond/images/common/icon_plane_03.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.tb-cta-container span {
  display: block;
  font-size: 0.875rem;
  text-align: center;
  margin-top: 0.5em;
}

html.wws.us .tb-cta-container:not([data-target-countries*='us']),
html.wws.ca .tb-cta-container:not([data-target-countries*='ca']),
html.wws.gb .tb-cta-container:not([data-target-countries*='gb']),
html.wws.de .tb-cta-container:not([data-target-countries*='de']),
html.wws.fr .tb-cta-container:not([data-target-countries*='fr']),
html.wws.at .tb-cta-container:not([data-target-countries*='at']),
html.wws.es .tb-cta-container:not([data-target-countries*='es']),
html.wws.it .tb-cta-container:not([data-target-countries*='it']),
html.wws.eur .tb-cta-container:not([data-target-countries*='eur']),
html.wws.be .tb-cta-container:not([data-target-countries*='be']),
html.wws.ch .tb-cta-container:not([data-target-countries*='ch']),
html.wws.cn .tb-cta-container:not([data-target-countries*='cn']),
html.wws.sg .tb-cta-container:not([data-target-countries*='sg']),
html.wws.au .tb-cta-container:not([data-target-countries*='au']),
html.wws.tw .tb-cta-container:not([data-target-countries*='tw']),
html.wws.hk .tb-cta-container:not([data-target-countries*='hk']),
html.wws.th .tb-cta-container:not([data-target-countries*='th']),
html.wws.kr .tb-cta-container:not([data-target-countries*='kr']),
html.wws.ph .tb-cta-container:not([data-target-countries*='ph']),
html.wws.my .tb-cta-container:not([data-target-countries*='my']),
html.wws.id .tb-cta-container:not([data-target-countries*='id']),
html.wws.in .tb-cta-container:not([data-target-countries*='in']),
html.wws.vn .tb-cta-container:not([data-target-countries*='vn']),
html.wws.kh .tb-cta-container:not([data-target-countries*='kh']),
html.wws.mm .tb-cta-container:not([data-target-countries*='mm']) {
  display: none !important;
}

html.wws:not(.cn) .tb-cta-container [data-country='cn'] {
  display: none !important;
}

@media (hover: hover) {
  .tb-cta-link:hover {
    background-color: #c33c00;
  }
}

@media screen and (width < 768px) {
  .section.margin-lg {
    margin-top: 64px;
  }

  .tb-cta-link {
    width: 100%;
  }
}
