/* worldcruise
--------------------------------------------------- */
.cWhite{
  color: #ffffff;
}
.cPink{
  color: #fed1e8;
}
.cRed{
  color: #da1d44;
}
.cGreen{
  color: #13a744;
}
.cSub1 {
  color: #d4b685 !important;
}
.cSub2 {
  color: #e7d8ca !important;
}
.ffGothic{
  font-family: var(--font_family-gothic);
}
.bgSub1{
  background-color: #d4b685 !important;
}
.worldcruise{
  padding-top: 80px;
  background-color: #22110e;
  font-size: 2rem;
}
@media (min-width: 769px) {
  .worldcruise .h60{
    height: 60px;
  }
  .worldcruise .h80{
    height: 80px;
  }
  .fs26{ font-size: 130%; }
  .fs24{ font-size: 120%; }
  .fs22{ font-size: 111%; }
  .fs21{ font-size: 105%; }
  .fs19{ font-size: 95%; }
  .fs18{ font-size: 90%; }
  .fs14{ font-size: 70%; }
  .fs12{ font-size: 60%; }
}
.worldcruise a.text__link {
  text-decoration: underline;
  font-weight: bold;
}
.worldcruise .section{
  padding-bottom: 60px;
  padding-top: 20px;
  margin-top: 60px;
}
.worldcruise h2{
  display: flex;
  justify-content: center;
  margin-bottom: clamp(25px, (100vw - 320px) * ( 50 - 25 ) / 448 + 25px, 50px);
  color: #ffffff;
  font-size: 3.6rem;
}
.worldcruise h2::before, .worldcruise h2::after{
  content: "";
  display: inline-block;
  width: 145px;
  height: auto;
  background: url(/cruise/mof/southamerica-worldcruise/images/image-line.png) no-repeat center left / auto;
}
.worldcruise h2::after{
  transform: scale(-1, 1);
}
.worldcruise h2{
  .en {
    display: block;
    font-size: 38.8888%;
    text-transform: uppercase;
  }
}
.worldcruise h3 {
  margin-bottom: clamp(15px,(100vw - 320px)*(30 - 15) / 448 + 15px, 30px);
  font-size: 130%;
  font-weight: bold;
}
.worldcruise button {
  cursor: pointer;
  font-family: 'Noto Serif JP', serif !important;
}
.device--pc .cassette__heading{
  font-size: 100%;
}
.cassette-block > li > div {
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  color: #1d100e;
}
.cassette-block li a {
  font-weight: bold;
}
.cassette-block{
  .text-container{
    text-align: left;
    p{
      text-align: left;
    }
  }
}
.cassette-block .label, .other_information__item .label{
  font-size: 1.1em;
  font-weight: bold;
  border: 1px solid #1d100e;
  display: inline-block;
  padding: 0 7px;
  margin-bottom: 8px;
}
@media (min-width: 769px) {
  .worldcruise a:hover {
      filter: brightness(1.2);
  }
}
@media (max-width: 768px) {
  .worldcruise{
    padding-top: 1px;
    font-size: 1.6rem;
  }
  .worldcruise .section{
    padding-top: 20px;
    margin-top: 60px;
  }
  .section h2 {
      font-size: calc(50 / 750* 100vw);
      line-height: 1.2;
  }
  .section h2::before, .section h2::after {
    width: calc(145 / 750* 100vw);
    background-size: calc(100 / 750* 100vw);
  }
  .cassette-block > li {

  }
  .cassette-block .cassette__heading{
    padding: 0;
  }
}

.caption {
  display: block;
  height: 17px;
  margin-top: 5px;
  padding-right: 5px;
  text-align: right;
  font-size: 1.4rem;
  line-height: 1.2;
}
.button-main {
  max-width: 600px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background-image: linear-gradient(180deg, #c7b37b, #e4d6a0, #c7b37b);
  font-size: 2.4rem;
  color: #1d100e;

  position: relative;
  font-family: 'Noto Serif JP', serif !important;
  font-weight: 700;
}
.button::before{
  display: none;
}
.button-main.-arrow-x::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-10px);
  right: 17px;
  background-color: #1d100e;
  width: 20px;
  height: 16px;
  transform: translateY(-8px);
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.button-main.-arrow-x.is-close::before {
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
}

@media (max-width: 768px) {
  .button-main {
    height: 75px;
    font-size: 2rem;
  }
}

/* destination
--------------------------------------------------- */
.destination{
  position: relative;
  z-index: 1;
}
.destination .footnote{
  margin-bottom: 30px;
}
.place__label{
  display: inline-flex;
  align-items: center;
  height: 26px;
  margin-right: 10px;
  padding: 0 5px;
  background-color: #ffffff;
  font-family: var(--font-noto_serif);
  font-size: 75%;
  font-weight: 900;
}
.destination__item{
  .text-container{
    position: relative;
    margin-top: 20px;
    padding: 0 20px 20px;
  }
}
.return_anchor-wrap {
  margin-top: 20px;
  text-align: right;
  a{
    display: inline;
  }
}
.cassette__heading .left-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 100px;
  background-color: #d4b685;
  color: #221815;
  padding: 0 20px;
  white-space: nowrap;
}
.destination__item .right-box{
  color: #ffffff;
}
.destination__item .right-box.bgBlue{
  background-color: #008dcb;
}
.destination__item .right-box.bgRed{
  background-color: #dc5b4d;
}
h3.destinationItem__heading{
  width: 100%;
  margin-bottom: 0;
}
.destination__item:nth-last-of-type(-n+8) .destinationItem__heading .right-box__label{
  color: #0d3191;
}
.destination__item .detail_text02{
  position: relative;
  font-weight: bold;
}
.destination__item .detail_text + .detail_text02{
  margin-top: 30px;
}
.detail_text02 + .return_anchor{
  margin-top: 10px;
}
.cassette-block .destination__image{
  width: 100%;
  .lazy_image-wrap{
    padding-bottom: calc( 426 / 690 * 100%) ;
  }
}
@media (min-width: 769px){
  .destination .footnote{
    text-align: center;
  }
  .destination__item .cassette__heading {
    width: 100%;
    font-size: 1.375em;
  }
}
@media (max-width: 768px){
  .section .destinationItem__heading,
  .overlandTourItem__heading{
    height: auto;
    min-height: calc( 66 / 750 * 100vw );
    font-size: calc( 35 / 750 * 100vw );
    line-height: 1.2;
  }
  .destinationItem__heading .left-box{
    min-width:  calc( 125 / 750 * 100vw );
    padding: 0 calc( 20 / 750 * 100vw );
  }
  .destinationItem__heading .right-box{
    padding: 5px 0 5px calc( 20 / 750 * 100vw );
    white-space: nowrap;
  }
  .destination__item:nth-of-type(20) .destinationItem__heading .right-box{
    letter-spacing: -0.6vw;
  }
  .place__label{
    height: calc( 36 / 750 * 100vw );
    font-size: 57.5%;
  }
  .destination__item .return_anchor{
    margin-top: 20px;
  }
}

/* local_tour */
.local_tour-container{
  margin-top: 60px;
  padding-top: 20px;
}
.bgLine{
  background: url(/cruise/mof/images/line.png) no-repeat center bottom / auto;
  padding-bottom: 15px;
  color: #ffffff;
}
h3 .emphasis{
  display: inline-block;
  margin: 10px 0 15px;
  background-color: #125687;
}
h3 .emphasis span{
  position: relative;
  top: 1px;
}
.local_tour__item .text-container{
  padding: 0 40px 30px;
  color: #1d100e;
}
.invitationItem__detail__text{
  font-size: 111%;
  font-weight: 600;
}
.invitationItem__detail__item{
  display: inline-block;
  margin-top: 20px;
}
.cassette-block .invitationTourItem__heading{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  padding: 10px 0;
  background: #203b33;
  color: #d4b685;
  font-family: var(--font-noto_serif);
  font-weight: 600;
}
.device--pc .invitationTourItem__heading {
  font-size: 3.6rem;
}
/* .invitationTourItem__heading::after{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/bg-invitation_heading.png) no-repeat left top /auto 100%;
  transform: rotate(180deg);
} */
.invitationTourItem__heading span{
  position: relative;
  top: -2px;
}
.local_tour__item .caption{
  color: #333333;
}
.invitationItem__detail__item h4{
  font-weight: 700;
}
.invitationItem__detail__item .footnote{
  margin-top: 40px;
}
.invitation_tour .image-container{
  padding-left: 20px;
  padding-right: 20px;
  column-gap: 20px;
}
.cassette-block .invitation_tour__image{
  width: 100%;
  .lazy_image-wrap{
    padding-bottom: calc(426 / 690* 100%);
  }
}
.add_information{
  margin-top: 20px;
  font-size: 83.333%;
}
.add_information ul, .add_information .footnote{
  margin-top: 20px;
}
.local_tour__item .T-un_listDetailTable b{
  color: #0890ce;
}
.local_tour_nav__list a{
  font-size: 2rem;
  color: #ffffff;
}
@media (min-width: 769px){
  .invitationTourItem__heading{
    height: 50px;
  }
}
@media (max-width: 768px){
  h3.bgLine{
    background-size: 100%;
  }
  .local_tour-container h3 span{
    display: block;
  }
  .local_tour-container h3 span + span{
    font-size: calc( 36 / 750 * 100vw );
    white-space: nowrap;
  }
  .local_tour_nav__list{
    display: flex;
    justify-content: center;
    column-gap: 20px;
  }
  .local_tour-container{
    margin-top: 60px;
    padding-top: 0;
  }
  .invitation {
    background-image: url(../images/bg-invitation-sp.png);
  }
  .invitationTourItem__heading{
    font-size: calc( 46 / 750 * 100vw );
  }
  .invitationItem__detail__list{
    margin-top: 20px;
    border-top: 1px solid #c2c2c2;
  }
  .invitationItem__detail__item .footnote{
    margin-top: 20px;
  }
  .local_tour__item .text-container{
    margin-top: 30px;
    padding: 0 20px 20px;
  }
  button.map_link, .brochure_link{
    font-size: calc( 32 / 750 * 100vw );
  }
  .local_tour_nav__list a{
    font-size: 1.6rem;
  }
}

/* overland_tour */
.overland_tour h3{
  color: #d4b685;
}
.overland_tour_nav{
  padding-bottom: 40px;
}
.overland_tour_nav__list{
  display: flex;
  justify-content: center;
  column-gap: 10px;
  flex-wrap: wrap;
}
.overland_tour_nav .overland_tour_nav__list a{
  color: #ffffff;
}
.cassette-block .overlandTourItem__heading{
  color: #ffffff;
  font-size: 2.4rem;
}
.cassette-block .overlandTourItem__heading{
  background-color: #ffffff;
  font-weight: bold;
}
.cassette-block .overlandTourItem__heading,
.cassette-block .destinationItem__heading{
  align-items: unset;
  padding: 0;
}
.overlandTourItem__heading .left-box{
  color: #ffffff;
  font-family: var(--font_family-gothic);
}
.local_tour__item .label__text{
  display: inline-block;
    padding: 0 10px;
  color: #ffffff;
}
.local_tour__item .detail_text{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  p{
    margin-top: 10px;
  }
  .note{
    margin-top: 10px;
    color: #ff0000;
    line-height: 1.4;

    span{
      font-size: 145%;
    }
  }
  .price__list{
    margin-top: 15px;
  }
}
.cassette-block .overland_tour__image{
  width: 100%;
  .lazy_image-wrap{
    padding-bottom: calc(426 / 690* 100%);
  }
}
.map_link{
  display: block;
  margin-top: 20px;
  padding: 0;
  background: transparent;
  font-size: 2.0rem;
  font-weight: bold;
  color: #125687;
  transition: .2s ease-in-out;
}
@media (min-width: 769px){
  .map_link:hover{
    color: #da1d44;
    filter: brightness(1);
  }
  .overland_tour_nav__list li a:hover{
    color: #d4b685;
  }
}
@media (max-width: 768px){
  .overland_tour_nav__list{
    column-gap: calc( 10 / 750 * 100vw );
  }
  .overland_tour_nav__list li {
    margin-top: 20px;
    font-size: calc( 28 / 750 * 100vw );
  }
  .cassette-block .overlandTourItem__heading{
    color: #ffffff;
    font-size: 2rem;
  }
}

.local_tour__item .detail_text p b{
  color: #125687;
}

#overland_tour-01 .overlandTourItem__heading{
  color: #f08401;
}
#overland_tour-01 .left-box,
#overland_tour-01 .label__text{
  background-color: #f08401;
}

#overland_tour-02 .overlandTourItem__heading{
  color: #005bae;
}
#overland_tour-02 .left-box,
#overland_tour-02 .label__text{
  background-color: #005bae;
}
#overland_tour-03 .overlandTourItem__heading{
  color: #9e3c33;
}
#overland_tour-03 .left-box,
#overland_tour-03 .label__text{
  background-color: #9e3c33;
}
#overland_tour-04 .overlandTourItem__heading{
  color: #92077e;
}
#overland_tour-04 .left-box,
#overland_tour-04 .label__text{
  background-color: #92077e;
}
#overland_tour-05 .overlandTourItem__heading{
  color: #00a93c;
}
#overland_tour-05 .left-box,
#overland_tour-05 .label__text{
  background-color: #00a93c;
}
#overland_tour-06 .overlandTourItem__heading{
  color: #00b6ea;
}
#overland_tour-06 .left-box,
#overland_tour-06 .label__text{
  background-color: #00b6ea;
}
#overland_tour-07 .overlandTourItem__heading{
  color: #7fa1bc;
}
#overland_tour-07 .left-box,
#overland_tour-07 .label__text{
  background-color: #7fa1bc;
}

#overland_tour-08 .overlandTourItem__heading{
  color: #94087a;
}
#overland_tour-08 .left-box,
#overland_tour-08 .label__text{
  background-color: #94087a;
}

#overland_tour-09 .overlandTourItem__heading{
  color: #bba200;
}
#overland_tour-09 .left-box,
#overland_tour-09 .label__text{
  background-color: #bba200;
}

#overland_tour-10 .overlandTourItem__heading{
  color: #eb2a88;
}
#overland_tour-10 .left-box,
#overland_tour-10 .label__text{
  background-color: #eb2a88;
}

#overland_tour-11 .overlandTourItem__heading{
  color: #6357a3;
}
#overland_tour-11 .left-box,
#overland_tour-11 .label__text{
  background-color: #6357a3;
}

#overland_tour-12 .overlandTourItem__heading{
  color: #006b3b;
}
#overland_tour-12 .left-box,
#overland_tour-12 .label__text{
  background-color: #006b3b;
}

/* guest_room
--------------------------------------------------- */
.guest_room__item{
  text-align: left;
  font-size: 120%;
  font-weight: bold;
  white-space: nowrap;
}
.guest_room__item .button-main{
  align-items: center;
  max-width: 560px;
  padding: 0 25px;
  border-left: 15px solid #8f8149;
  color: #1d100e;
}
.guest_room__item .button-main::before{
  display: none;
}
.guest_room__list.col2{
  row-gap: 20px;
}
@media (min-width: 769px){
  .guest_room__item a{
    display: flex;
    justify-content: space-between;
    font-size: 92.3076%;
  }
}
@media (max-width: 768px){
  .guest_room__item .button-main{
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .guest_room__item a{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }
  .guest_room__item a span{
    display: block;
  }
}

/* other_information
--------------------------------------------------- */
.other_information{
  background-color: #24120e;
}
.other_information__item{
  background-color: #ffffff;
  border-radius: 8px;
  color: #1d100e;
  font-size: 110%;
  text-align: left;
}
.other_information__item + .other_information__item{
  margin-top: 30px;
}
.otherInformationItem__heading{
  display: flex;
  align-items: center;
  height: 60px;
  padding: 0 20px;
  border-radius: 8px 8px 0 0;
  background: url(/cruise/mof/southamerica-worldcruise/images/bg-stripe.jpg) repeat left top / auto;
  font-size: 130%;
  font-weight: bold;
}
.other_information__item .num{
  position: relative;
  margin-right: 45px;
  font-size: 138%;
}
.other_information__item .num::after{
  content: "／";
  font-size: 110%;
  position: absolute;
  font-weight: 100;
  left: 30px;
  top: 3px;
} 
.other_information__item p{
  padding: 20px 40px;
  text-align: left;
}
.other_information__item .image-block{
  width: 250px;
}
@media (min-width: 769px){
  .other_information__item:nth-of-type(4) p{
    display: flex;
    justify-content: space-between;
  }
}
@media (max-width: 768px){
  .otherInformationItem__heading{
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    line-height: 1.2;
  }
  .other_information__item p{
    padding: 20px 20px;
  }
  .other_information__item .image-block{
    display: block;
    width: 100%;
    margin-top: 15px;
  }
}

/* faq
--------------------------------------------------- */
.faq dl{
  text-align: left;
}
.faq dt, .faq dd{
  padding-left: 12px;
}
.faq dt{
  display: flex;
  align-items: center;
  height: 50px;
  margin-top: 20px;
  background-color: #e7d8ca;
  color: #1d100e;
  font-weight: bold;
}
.faq dd{
  padding-top: 15px;
  color: #ffffff;
}
@media (max-width: 768px){
  .faq dt{
    align-items: flex-start;
    height: auto;
    padding: 10px;
  }
}

.js-modal-content{
  opacity: 0;
  visibility: hidden;
  position: fixed;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: .2s ease-in-out;
}
.js-modal-content.is-visible{
  opacity: 1;
  visibility: visible;
  z-index: 102;
}
.modal__area{
  background-color: #ffffff;
  border-radius: 5px;
  padding: 5px;
}
.js-bg-overlay{
  opacity: 0;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .7);
  z-index: -1;
  transition: .2s ease-in-out;
  cursor: pointer;
}
.js-bg-overlay.is-visible{
  opacity: 1;
  z-index: 101;
}
.js-modal-close{
  position: absolute;
  color: #ffffff;
  font-size: 300%;
  right: -62px;
  top: -30px;
  font-weight: bold;
  cursor: pointer;
  transition: .2s ease-in-out;
}
@media (min-width: 769px){
  .js-modal-close:hover{
    color: #da1d44;
  }
  /* .js-modal-content{
    max-width: 600px;
    max-height: 95%;
  } */
  .modal__area{
    /* height: 100%; */
    /* width: auto; */
    img{
      width: auto;
      max-width: none;
      height: calc( 400 / 1080* 100vw);
    }
  }
}
@media (max-width: 768px){
  .js-modal-content{
    width: 90%;
  }
  .js-modal-close{
    right: -2vw;
    top: -70px;
  }
}