@charset "utf-8";

:root {
  --font-noto_serif: 'Noto Serif JP', serif;
  --font-noto_sans: 'Noto Sans JP', sans-serif;
}

.fs26{ font-size: 130%; }
.fs24{ font-size: 120%; }
.fs21{ font-size: 105%; }
.fs18{ font-size: 90%; }
.fs14{ font-size: 70%; }

.fwb{
  font-weight: bold;
}

#mainContents{
  overflow: hidden;
}
.dp-flex-wrap{
  display: flex;
  flex-wrap: wrap;
}
.ws-nowrap{
  white-space: nowrap;
}

.company .sp-only{
  display: none;
}

.top_section{
  background-color: #faf5e1;
}
.top_section-inner{
  position: relative;
  height: 974px;  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: auto;
}
.top_section-inner::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto;
  z-index: 1;
}
.top_section-inner::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  background-image: url(/cruise/_company_common/images/company/bg-dot-transparent.webp);
  background-repeat: repeat;
  background-position: left top;
  background-size: auto;
}
@media (min-width: 1921px) {
  .top_section-inner{
    background-position: center bottom;
    background-size: 100%;
  }
  .top_section-inner::before{
    background-position: center bottom 370px;
    background-size: 100%;
  }
}
.top_section-inner .content-outer{
  position: relative;
  z-index: 2;
}
.main__heading{
  margin-bottom: 25px;
  padding-top: 50px;
  text-align: center;
  font-family: 'Noto Serif', serif;
  font-size: 4.8rem;
  font-weight: 500;
}
.main__heading .en{
  display: block;
  letter-spacing: 0.5rem;
  font-size: 2.4rem;
}
.main__heading::after{
  content: "";
  display: block;
  width: 100%;
  height: 53px;
  margin-top: 10px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: auto;
}
.main__catch{
  margin-bottom: 20px;
  text-align: center;
  line-height: 1.4;
  font-size: 2.2rem;
  font-weight: bold;
}
.main__image {
  max-width: 1241px;
  width: 100%;
  margin: auto;
  box-shadow: 0px 3px 8.1px 0.9px rgba(95, 95, 95, 0.5);
}
.main__lead{
  margin-bottom: 20px;
  padding: 0 50px;
  font-size: 1.8rem;
}

.movie-wrap{
  padding-bottom: 85px;
}


.link-wrap{
  padding: 160px 0 200px;
  background: #ffffff;
}
.link-wrap + .link-wrap{
  margin-top: -160px;
}
.movie-wrap + .link-wrap{
  padding-top: 100px;
}
.top_section .link-wrap{
  padding-bottom: 85px;
  text-align: center;
  background: #faf5e1;
}
.recommend_link{
  padding: 0 10px;
  text-align: center;
}
.recommend_link + .recommend_link{
  margin-top: 70px;
}
.recommend_link p,
.recommend_link__text,
.movie__text{
  margin-bottom: 10px;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
}
.recommend_link img{
  width: 100%;
  max-width: fit-content;
}
.company .recommend_link + .content__link {
  margin-top: 60px;
}
.company .content__link{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 760px;
  width: 100%;
  height: 80px;
  margin: auto;
  color: #ffffff;
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.company .content__link span{
  position: relative;
  left: -4px;
  top: 1px;
  text-align: center;
}
.content__link::after {
  content: "";
  position: absolute;
  top: 0;
  right: 20px;
  width: 17px;
  height: 100%;
  background: url(/cruise/_company_common/images/icon-arrow-right-17px.webp) no-repeat center center / 100% auto;
  transition: opacity 200ms;
}
.company .content__link + .content__link{
  margin-top: 30px;
}
.reserve_link{
  background-color: #463702;
}
.company_link{
  overflow: hidden;
}
.company_link::before{
  content: "";
  position: absolute;
  left: -70px;
  top: 0;
  transform: skewX(-30deg);
  width: 100px;
  height: 100%;
  margin:0 auto;
}
_:-ms-input-placeholder, :root .company_link::before{
  display: none;
  /* transition: opacity 300ms 1s ease; */
}

.banner_link{
  display: inline-block;
  margin: 30px auto 0;
}
.banner_link img{
  width: auto;
  max-width: 100%;
}
@media (min-width: 769px) {
  .dg{
    display: grid;
  }
  .content__link:hover,
  .banner_link:hover{
    opacity: .7;
  }
  .content__link:hover::after {
    right: 17px;
  }
}
@media (max-width: 1520px) {
  .top_section .content-outer {
    width: 80%;
  }
}

@media (max-width: 1024px) {
  .top_section .content-outer {
    width: 90%;
  }
  .main__lead{
    padding: 0;
  }
}
@media (max-width: 768px) {
  .company .sp-only{
    display: block;
  }
  .company .pc-only{
    display: none;
  }
  .content-outer{
    padding: 0 calc( 30 / 750 * 100vw );
  }
  .top_section-inner{
    height: auto;
    background-image: url(/cruise/_company_common/images/company/bg-main_header-bottom.webp);
    background-size: cover;
  }
  .top_section-inner::before{
    background-size: contain;
  }
  .top_section .content-outer{
    width: 100%;
  }
  .main__heading{
    margin-bottom: 3vw;
    padding-top: 6vw;
    line-height: 9vw;
    font-size: 8vw;
  }
  .main__heading .en{
    font-size: 3vw;
  }
  .main__heading::after{
    height: 7vw;
    margin: 2vw 0;
    background-size: auto 100%;
  }
  .main__catch{
    padding: 0 4.7vw;
    font-size: 4vw;
  }
  .main__lead{
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
    width: 100vw;
    margin: -4vw calc(50% - 50vw) 0;
    padding: 12vw 10vw 6vw;
    background: #ffffff url(/cruise/_company_common/images/company/bg-dot.webp) repeat left top / auto;
    color: #151515;
    font-size: 4vw;
  }
  .main__image{
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
    position: relative;
  }
  .movie-wrap{
    padding-bottom: 6.5vw;
  }
  .section-wrap .link-wrap{
    padding: 6.5vw;
  }
  .link-wrap + .link-wrap{
    margin-top: -6.5vw;
  }
  .recommend_link{
    padding: 0;
  }
  .recommend_link p,
  .recommend_link__text,
  .movie__text{
    font-size: calc( 28 / 750 * 100vw );
    letter-spacing: -0.1vw;
    line-height: 1.4;
  }
  .recommend_link + .recommend_link{
    margin-top: 35px;
  }
  .company .recommend_link + .content__link {
    margin-top: 25px;
  }
  .company .content__link{
    height: 12vw;
    font-size: 3.8vw;
    /* line-height: 1.4; */
  }
  .company_link::before{
    left: -95px
  }
  .content__link::after{
    width: 2.4vw;
    right: 2vw;
  }
  .company .content__link span {
    left: -0.8vw;
    top: -0.1vw;
  }
  .company .content__link + .content__link{
    margin-top: 15px;
  }
}

/* ship_introduction
---------------------------------------------------- */
.ship_introduction{
  background: #f4f3ef;
}
.contents__heading{
  max-width: 960px;
  width: 100%;
  margin: auto;
  padding: 135px 0 40px;
  text-align: center;
  font-family: 'Noto Serif', serif;
  color: #5c5641;
  font-size: 3.6rem;
  font-weight: 700;
}
.contents__heading span{
  position: relative;
  padding: 0 60px;
  background: #f4f3ef;
}
.contents__heading::before{
  content: "";
  position: relative;
  top: 33px;
  display: block;
  width: 100%;
  height: 7px;
  margin: auto;
  background: url(/cruise/_company_common/images/company/bg-stripe.png) repeat-x left top / auto 100%;
}
.contents__heading::before{
  margin-right: 60px;
}

/* 客船紹介 */
.information{
  padding: 0 0 60px;
  background: #f4f3ef;
}
.information .content-outer{
  max-width: 980px;
}
.content__heading{
  margin-bottom: 105px;
  text-align: center;
}
.content__heading span{
  display: block;
  margin: auto;
}
.content__heading .en{
  margin-bottom: 15px;
}
.content__heading .jp{
  width: 295px;
  height: 95px;
  line-height: 95px;
  text-align: center;
  letter-spacing: 0.4rem;
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", serif;
  font-size: 2.8rem;
  color: #ffffff;
}
.content__heading .en img{
  margin: auto;
}
.content__heading .en .sans_serif{
  display: none;
}
.information__heading .jp{
  background: #013059;
}

.information__list{
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  position: relative;
  padding: 60px 0 70px;
  border-top: 1px solid #686666;
}
.information__list::before{
  content: "";
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  margin: auto;
  width: 105px;
}
.information__list li{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: center;
  width: 33.33333%;
}
_:-ms-input-placeholder, :root .information__list li .head{
  position: relative;
  top: 13px;
}
.information__list .second_line{
  overflow: hidden;
}
.information__list .second_line__item{
  display: flex;
  align-items: end;
  text-align: right;
}
.information__list .second_line__item .head{
  width: 81px;
  float: left;
}
.information_01::before{
  height: 47px;
  background: #f4f3ef url(/cruise/_company_common/images/company/icon-flag.webp) no-repeat center center / auto 100%;
}
.information_02::before{
  height: 33px;
  background: #f4f3ef url(/cruise/_company_common/images/company/icon-ship-gray.webp) no-repeat center center / auto 100%;
}

.data{
  margin-left: 10px;
  line-height: 1;
  font-family: 'Oswald', sans-serif;
  font-size: 36px;
  font-weight: 900;
}

/* 船内紹介 */
.section .content.onboard{
  padding-top: 90px;
  padding-bottom: 0;
  background: #ffffff;
  color: #3a2e02;
}
.onboard__heading .jp{
  background: #a48123;
}
.onboard .content-outer{
  position: relative;
}
.introduction__body__heading{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 90px;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
}
.introduction__body__heading span{
  position: relative;
  top: -10px;
  text-shadow: #ffffff 2px 0px 2px, #ffffff -2px 0px 2px,
  #ffffff 0px -2px 2px, #ffffff -2px 0px 2px,
  #ffffff 2px 2px 2px, #ffffff -2px 2px 2px,
  #ffffff 2px -2px 2px, #ffffff -2px -2px 2px,
  #ffffff 1px 2px 2px, #ffffff -1px 2px 2px,
  #ffffff 1px -2px 2px, #ffffff -1px -2px 2px,
  #ffffff 2px 1px 2px, #ffffff -2px 1px 2px,
  #ffffff 2px -1px 2px, #ffffff -2px -1px 2px,
  #ffffff 1px 1px 2px, #ffffff -1px 1px 2px,
  #ffffff 1px -1px 2px, #ffffff -1px -1px 2px;
}
.introduction__body__heading::before{
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 106px;
  background: url(/cruise/_company_common/images/company/text-point.webp) no-repeat left center / auto;
}
.introduction__text{
  margin-bottom: 75px;
  padding: 0 20px;
  font-size: 2rem;
}
.introduction__text .note{
  display: block;
  margin-top: 20px;
  font-size: 1.6rem;
}
.introduction_01 .introduction__text{
  width: 900px;
}
.introduction__image{
  width: 100%;
  padding: 35px;
}
.introduction__image-inner{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1760px;
  width: 100%;
  margin: auto;
}
.introduction__image-inner img{
  width: 32%;
}

.introduction__image--circle{
  position: absolute;
  left: 1205px;
  top: -405px;
  width: 500px;
  height: 416px;
}
.introduction__image--circle img{
  width: 100%;
}
.introduction__image--lg{
  display: block;
  margin-bottom: 27px;
}
.introduction__image--lg img{
  width: 100%;
}
.onboard .content__body:not(.introduction_01){
  padding-top: 130px;
}
@media (max-width: 1920px) {
  .introduction__image--circle{
    right: auto;
    left: 68%;
  }
}
@media (max-width: 1525px) {
  .introduction_01 .introduction__text{
    width: 68%;
  }
}
@media (max-width: 1270px) {
  .introduction__body__heading .sp-only{
    display: block;
  }
}
@media (max-width: 1260px) {
    .introduction__image--circle {
        right: auto;
        left: 840px;
    }
}
@media (max-width: 768px) {
  .contents__heading{
    padding: 40px 0 20px;
    letter-spacing: 0.2vw;
    font-size: 5vw;
  }
  .contents__heading::before{
    top: 4.2vw;
    height: 0.93vw;
  }
  .contents__heading span{
    padding: 0 2vw;
  }
  .content__heading .en{
    margin-bottom: 5px;
  }
  .content__heading .en img{
    width: calc( 291 / 750 * 100% );
  }
  .content__heading{
    padding-bottom: 55px;
    margin-bottom: 0;
  }
  .content__heading .jp{
    width: calc( 250 / 750 * 100% );
    height: 10.6vw;
    line-height: 10.6vw;
    font-size: 4.2vw;
  }

  /* 客船紹介 */
  .information{
    padding-bottom: 30px;
  }
  .information__list{
    padding: 30px 0;
  }
  .information__list::before{
    width: calc( 106 / 750 * 100% );
  }
  .information_01::before{
    top: -3.1vw;
    height: 6.2vw;
  }
  .information_02::before{
    top: -2.1vw;
    height: 4.4vw;
  }
  .information__list li{
    display: block;
  }
  .information__list li span{ 
    display: block;
    text-align: center;
  }
  .information__list .head{ 
    font-size: 4vw;
  }
  .information__list .data{ 
    margin-left: 0;
    font-size: 6vw;
  }
  .information__list + .information__list{
    margin-top: 20px;
  }
  .information__list .second_line__item{
    display: block;
    width: auto;
    margin-bottom: 7px;
  }
  .information__list .second_line__item .head{
    width: auto;
    float: none;
  }

  .introduction__image--circle{
    width: 100%;
    height: auto;
    top: -205px;
    left: 0;
  }
  .introduction_01 .introduction__text{
    width: 100%;
  }

  /* 船内紹介 */
  .onboard{
    margin-bottom: 0;
    padding-top: 45px;
  }
  .onboard__heading{
    padding-bottom: 80px;
  }
  .introduction__body__heading{
    display: block;
    height: auto;
    margin-bottom: 10px;
    padding-top: 10px;
    line-height: normal;
    letter-spacing: 0.2vw;
    font-size: 4.3vw;
  }
  .introduction__body__heading::before{
    position: static;
    height: 10.9vw;
    width: calc( 426 / 750 * 100% );
    display: block;
    margin: -10.9vw auto 4vw;
    background: url(/cruise/_company_common/images/company/text-point-sp.png) no-repeat center top / 100% auto;
  }
  .introduction__text{
    margin-bottom: 30px;
    padding: 0 4.7vw;
    text-align: justify;
    font-size: 4vw;
  }
  .introduction__text .note{
    font-size: 3.6vw;
  }
  .introduction__image{
    padding: 4.6vw;
  }
  .introduction__image-inner img{
    width: 100%;
  }
  .introduction__image-inner img + img{
    margin-top: 15px;
  }
  .onboard .content__body:not(.introduction_01){
    padding-top: 80px;
  }
  .introduction__image--lg{
    margin-bottom: 15px;
  }
}

/* 移植後
------------------------------------------------------ */
#contentNav.is-fixed{
  z-index: 20 !important;
}
.content_nav{
  width: 100%;
}
.content_nav__list{
  display: flex;
  justify-content: center;
  height: 115px;
}
.content_nav__item{
  flex: 1;
}
.content_nav__item a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: clamp(1.5rem, 0.688rem + 1.25vw, 2.6rem);
  font-weight: bold;
  color: #ffffff;
}
.content_nav__item a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 25px;
  width: 17px;
  height: 9px;
  background: #ffffff;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media (max-width: 768px){
  .content_nav__list{
      padding: 0;
      height: 60px;
  }
  .content_nav__item a{
      letter-spacing: -0.05em;
      white-space: nowrap;
  }
  .content_nav__item a::after {
      bottom: 5px;
      width: 10px;
      height: 5px;
  }
}

@media (max-width: 450px) {
  .content_nav__list{
      padding: 0 15px;
  }
}

.content:not(.information){
  padding: clamp(50px, (100vw - 374px) * ( 100 - 50 ) / 624 + 50px, 100px) 0;
}

.main_features .introduction__header{
  margin-bottom: clamp(45px, (100vw - 374px) * ( 90 - 10 ) / 624 + 10px, 90px);
  padding: clamp(35px, (100vw - 374px) * ( 75 - 35 ) / 624 + 35px, 70px) 30px 30px;
  background-color: #ffffff;
}
.main_features .introduction__heading{
  position: relative;
  top: 0;
  margin-bottom: clamp(30px, (100vw - 374px) * ( 90 - 30 ) / 624 + 30px, 90px);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  text-shadow: #ffffff 2px 0px 2px, #ffffff -2px 0px 2px, #ffffff 0px -2px 2px, #ffffff -2px 0px 2px, #ffffff 2px 2px 2px, #ffffff -2px 2px 2px, #ffffff 2px -2px 2px, #ffffff -2px -2px 2px, #ffffff 1px 2px 2px, #ffffff -1px 2px 2px, #ffffff 1px -2px 2px, #ffffff -1px -2px 2px, #ffffff 2px 1px 2px, #ffffff -2px 1px 2px, #ffffff 2px -1px 2px, #ffffff -2px -1px 2px, #ffffff 1px 1px 2px, #ffffff -1px 1px 2px, #ffffff 1px -1px 2px, #ffffff -1px -1px 2px;
}
.main_features .introduction__heading::before{  
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 106px;
  background: url(/cruise/_company_common/images/company/text-point.webp) no-repeat left center / auto;
}
.main_features .introduction__heading span{
  position: relative;
  top: 0;
  z-index: 1;
}
.main_features .introduction__text{
  width: 100%;
  margin-bottom: 0;
}
.caption{
  position: absolute;
  right: 5px;
  bottom: 5px;
  color: #000000;
  /* font-size: 1.4rem; */
  font-size: clamp(1.2rem, 0.661rem + 0.45vw, 1.4rem);
  text-shadow:1px 1px 3px #ffffff, -1px -1px 3px #ffffff,
  -1px 1px 3px #ffffff, 1px -1px 3px #ffffff,
  0px 1px 3px #ffffff,  0-1px 3px #ffffff,
  -1px 0 3px #ffffff, 1px 0 3px #ffffff;
  font-weight: 700;
}
@media (min-width: 769px){
  .content__heading{
    margin-top: -10px;
    padding-top: 10px;  
  }
}
@media (max-width: 768px){
  .content__heading{
    margin-bottom: 40px;
    padding-bottom: 0;
}
  .main_features .content__heading .en img{
      width: calc( 152 / 750 * 100vw );
  }
  .main_features .introduction__heading{
      display: block;
  }
  .main_features .introduction__heading::before{ 
      position: static;
      height: 10.9vw;
      width: calc( 426 / 750 * 100% );
      display: block;
      margin: 0 auto 4vw;
      background: url(/cruise/_company_common/images/company/text-point-sp.png) no-repeat center top / 100% auto;
  }
  .introduction__heading{
      font-size: 4.3vw;
  }
  .introduction__text{
      padding: 0;
  }
}
.cassette-block{
  display: grid;
  column-gap: 30px;
  row-gap: 50px;
}
.image-block{
  position: relative;
}
.image-container + .text-container{
  margin-top: 37px;
  flex: 1;
}
.text-container{
  padding: 30px clamp(20px, (100vw - 374px) * ( 30 - 20 ) / 624 + 20px, 30px) 35px;
  background-color: #ffffff;
}

.text-container > dt,
.textContainer__heading{
    font-size: 1.0625em;
    font-weight: bold;
    margin-bottom: 10px;
}
.text-container small{
  display: block;
}
.guest_room .cassette__heading{
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
  padding-bottom: 30px;
  font-size: 180%;
  font-weight: 500;
  text-align: center;
}
.link-block a{
  display: block;
  letter-spacing: -0.05em;
  white-space: nowrap;
}
@media (min-width: 769px){
  .col1 {
    grid-column: 1 / 3;
    width: 100%;
    width: 1236px;
  }
  .col1 .image-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 30px;
  }
  .image-container img {
    width: 100%;
    height: 372px;
  }
}

/* @media (min-width: 1257px){
  .col1 .image-container {
    column-gap: 30px;
  }
  .image-container img {
    width: 100%;
    height: 372px;
  }
}
@media (min-width: 769px){
  .cassette-block, .col2{
    grid-template-columns: 1fr 1fr;
    column-gap: calc( 23 / 1256 * 100vw );
  }
  .col1 {
    grid-column: 1 / 3;
    width: 100%;
    max-width: 1236px;
  }
  .col1 .image-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
} */
/* @media (min-width: 769px) and (max-width: 1256px){
  .col1 .image-container {
    column-gap: calc( 30 / 1256 * 100vw );
  }
  .image-container img {
    height: calc( (( 690 / 1256 * 100vw ) * 426 ) / 690 );
    height: 29.1vw;
  }
} */
@media (max-width: 768px){
  .cassette-block{
    grid-template-columns: 1fr;
  }
  [data-slide="undefined"] .image-block + .image-block{
    margin-top: 20px;
  }
  .image-container img {
    height: calc( (( 690 / 750 * 100vw ) * 426 ) / 690 );
  }
  .slick-track{
    width: 100%;
  }
}

button {
  border: none;
  cursor: pointer;
}
.button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 80px;
  max-width: 592px;
  margin: clamp(40px, (100vw - 374px) * ( 80 - 40 ) / 624 + 40px, 80px) auto 0;
  border-radius: 40px;
  font-family: var(--font-fnoto_sans);
  font-size: clamp(1.6rem, 0.857rem + 1.34vw, 2.4rem);
  line-height: 1.2;
  transition: all 0.3s ease-out;
  z-index: 1;
  font-weight: bold;
}
.button::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  display: block;
  width: calc( 100% - 8px );
  height: calc( 80px - 8px );
  border-width: 1px;
  border-style: solid;
  border-radius: 40px;
}
.button::after {
  content: "";
  display: block;
  position: absolute;
  right: 38px;
  width: 11px;
  height: 11px;
  top: 30px;
  transform: rotate(135deg);
  border-top-width: 3px;
  border-right-width: 3px;
  border-top-style: solid;
  border-right-style: solid;
}
/* .button::after{
  transform: rotate(45deg);
  top: 33px;
} */
.button.-arrow-x::after {
  transform: rotate(135deg);
}
.button.-arrow-x.is-close::after {
  transform: rotate(-45deg);
}

.tour_search_result .button{
  background-image: linear-gradient(90deg, #00316c, #496b94 50%, #00316c);
  color: #ffffff;
}
.tour_search_result .button::before {
  border-color: #ffffff;
}
[data-flag=""]{
  display: none;
}
[data-flag="true"]{
  display: block;
}
@media (min-width: 769px){
  .button:hover{
      background: transparent;
      background-color: #ffffff;
  }
  .tour_search_result .button:hover {
    color: #00316c;
  }
  .tour_search_result .button:hover::before {
    border-color: #00316c;
  }
}
@media (max-width: 768px){
  .button {
      height: 60px;
      border-radius: 30px;
  }
  .button::before {
      height: calc( 60px - 8px );
  }
  .button::after {
      width: 8px;
      height: 8px;
  }
  .button.-yellow::after {
      top: 23px;
  }
  .button.-blue::after {
      top: 23px;
  }
}

/* tour
--------------------------------------------------- */
.content__heading .tour__heading-jp {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #355f88;
  font-size: clamp(2.4rem, 0.955rem + 2.73vw, 4.8rem);
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
}
.tour__heading{
  padding-bottom: 15px;
  border-bottom: 1px solid #426990;
}
.tour__heading-jp::before, .tour__heading-jp::after{
  content: "";
  display: inline-block;
  background: url(/cruise/mof/images/image-steering_wheel.png) no-repeat center top 1px / auto;
  width: 100px;

  height: 49px;
}
.button_container{
  margin-top: 0;
}
@media (max-width: 768px){
  .tour__heading{
      width: calc( 635 / 750 * 100vw );
      padding: 0;
  }
  .tour__heading-jp::before, .tour__heading-jp::after{
      width: calc( 80 / 750 * 100vw );
      background-size: calc( 49 / 750 * 100vw );
      background-position: center center;
  }
  .tour__heading .en img{
      width: calc( 169 / 750 * 100vw );
  }
}

/*アコーディオン
---------------------------------------*/
.js-accordion-item{
  display: none;
}
.js-accordion-item.is-active{
  display: block;
}
.js-accordion-toggle .close_text {
  display: none;
}
.js-accordion-toggle.is-close::after {
  top: 45%;
  transform: rotate(-45deg);
}
.js-accordion-toggle.is-close .open_text {
  display: none;
}
.js-accordion-toggle.is-close .close_text {
  display: block;
}

/*　スライド
---------------------------------------*/
/* [data-slide="undefined"] {
  display: none;
} */
[data-slide="true"] .js-slider{
  display: block;
  width: 603px;
  /* height: fit-content; */
  margin-bottom: 0;
}
[data-slide="true"] .js-slider .slick-list {
  width: inherit;
  height: fit-content;
}
/* [data-slide="true"] .js-slider img {
width: 100%;
object-fit: cover;
} */
.slick-dotted.slick-slider{
  margin-bottom: 0 !important;
}
.slick-prev:before, .slick-next:before{
  color: #154060;
}
.slick-dots{
  width: 100%;
  bottom: -28px;
  display: flex !important;
  justify-content: flex-end;
  gap: 10px;
}
.slick-dots li{
  margin: 0 !important;
}
.slick-dots li button:before {
  font-size: 0 !important;
}
.slick-dots li button:before{
  content: '';
  background-color: #ffffff;
  opacity: .5;
}
.slick-dots li button:before:hover{
  opacity: .75;
}
.slick-dots li.slick-active button:before{
  opacity: 1 !important;
}
.slick-dots li button {
  padding: 0;
}
/* @media (min-width: 769px) and (max-width: 1256px){
  [data-slide="true"] .js-slider{
    width: calc( 590 / 1256 * 100vw );
  }
} */
@media (max-width: 768px){
  .slick-dotted.slick-slider {
      margin-bottom: 40px;
  }
  [data-slide="true"] .js-slider{
    width: calc( 690 / 750 * 100vw );
  }
}

/* 
セレブリティ・クルーズ動画
今後ほかの船も増えそうなら適宜個別インデックスにCSS書いてください
-----------------------------------------------------------------------*/
.movie{
  margin-bottom: 60px;
}
.movie__title{
  margin-bottom: 30px;
  padding: 15px 0 12px;
  text-align: center;
  background: linear-gradient(to right, #e9e1d7, #fcf9f6);
  border-bottom: 10px solid #e3e1da;
  font-size: 2.6rem;
  font-weight: bold;
}
.movie__title span{
  font-size: 80%;
}
div.eviry-baseplayer{
  margin: auto;
}
@media (max-width: 768px) {
  .movie__title{
    font-size: 1.5rem;
    white-space: nowrap;
  }
  .movie__body{
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}
@media (max-width: 375px) {
  .movie__title{
    font-size: 3.5vw;
  }
}

.col1_box{
  padding: clamp(20px,(100vw - 374px)*(30 - 20) / 624 + 20px, 30px);
  background-color: #ffffff;
}
.col1Box__heading{
  margin-bottom: 5px;
  font-size: 111%;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 769px){
  .col1_box{
    .col2{
      column-count: 2;
      column-gap: 90px;
    }
  }
}

.bullet_style-circle{
  position: relative;
  padding-left: 1em;
  line-height: 1.4;
}
.bullet_style-circle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transform: translateY(-50%);
}
