@charset "utf-8";
/* クルーズ客船紹介　国内海外共通　レスポンシブ */
@import url('https://fonts.googleapis.com/css2?family=MonteCarlo&display=swap');
#shipApp {
  --default-color-green: #06687E;
  --default-color-darkgreen: #1a3b53;
  --default-color-blue: #cfe4ee;
  --default-width-inner: min(calc((690 / 750) * 100%), var(--default-width-pc));
}
.imgContainer--full {
  border-radius: 0;
  margin-bottom: 1em;
}
.heading--title {
  color: var(--default-color-green);
  font-weight: bold;
  font-size: min(calc(42vw / 7.5), 30px);
  margin-bottom: min(calc(60vw / 7.5), 40px);
}
.section__inner, .is-original-size-sp .cabin__inner {
  width: var(--default-width-inner);
}
.section__inner > .heading--title:before {
  content: "";
  display: block;
  background: url("../images/icon.png") no-repeat 0 0 /contain;
  width: calc(134vw / 7.5);
  height: calc(110vw / 7.5);
  max-width: 88px;
  max-height: 72px;
  margin: auto;
}
.section-navi__list {
  display: flex;
}
.heading--md {
  color: var(--default-color-darkgreen);
  line-height: 1.2;
  font-size: 1.35em;
}
.grid-col4 .heading--md {
  font-size: 1.2em;
}
.main {
  background: #fff;
}
.main .button {
  width: 80%;
  max-width: 400px;
  min-height: 48px;
  background-position: right .5em center;
}
.main.is-device-pc .button:hover {
  opacity: .7;
}
.main .button--color-accent {
  background-color: #FF6200;
}
.main .button--icon-white {
  background-size: 1.8em;
  background-image: url("/cmn/icon/icon_arrow_right_white.svg");
}
.main .button--icon-white[target="_blank"] {
  background-size: 1.25em;
  background-image: url("/cmn/icon/icon_launch_white.svg");
  background-position: right 1em center;
}
.main .collapseBtn {
  cursor: pointer;
}
.is-device-sp .collapseBtn:hover {
  background: #fff;
}
.collapseBtn.more-button.is-open::after {
  transform: rotate(180deg);
}
.is-original-size-sp + #footerApp .goTop {
  width: calc(118vw / 7.5);
  max-width: 80px;
 /* bottom: calc(110vw / 7.5)*/
}
/*動画サムネイル*/
.is-original-size-sp .grid-col2.youtube {
  margin-bottom: 1.5em;
}
.youtube__block, .youtube__thumb--image {
  padding-top: calc((9 / 16) * 100%); /*YouTubeアスペクト比*/
  background: no-repeat center center / 100%;
  position: relative;
  cursor: pointer;
  transition: opacity .3s;
}
.youtube__block {
  margin-bottom: 0;
}
.youtube__credit {
  margin-top: 0.25em;
  font-size: min(calc(20vw / 7.5), 12px);
  color: #888;
}
.is-device-pc .youtube__block:hover, .is-device-pc .youtube__thumb--image:hover {
  opacity: .7;
}
.youtube__block::before, .youtube__thumb--image::before {
  content: "";
  width: calc((120 / 488) * 100%);
  padding-top: calc((120 / 488) * 100%);
  height: 0;
  /*background: url("../images/movie.png") no-repeat center center / contain;*/
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.youtube__iframe {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.js-dsp-none {
  display: none;
}
.youtube__thumb.slick-current .youtube__thumb--image {
  box-shadow: 0px 0px 0px 4px var(--default-color-green) inset;
}
/*MV*/
#mainVisual {
  height: calc(600vw / 7.5);
  background: no-repeat center 0 / cover;
  padding: calc(20vw / 7.5) 0;
}
.is-original-size-pc #mainVisual {
  height: 400px;
  background-size: 1920px;
  padding: 13px 0;
}
.mv__inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  height: 100%;
}
.mv__logo {
  text-align: right;
  margin-left: auto;
}
.is-original-size-sp .mv__logo {
  order: 1;
  width: calc(199vw / 7.5);
  margin-top: auto;
}
.is-original-size-pc .mv__logo {
  width: 151px;
  margin-bottom: 26px;
}
/* ============== ↓【作成時都度 確認・修正】↓ ============== */
/*↓ロゴ画像別途サイズ変更↓
【対象ページ】
・クイーン・エリザベス
*/
.is-page-queen_elizabeth .mv__logo {
  width: calc(248vw / 7.5);
}
.is-original-size-pc.is-page-queen_elizabeth .mv__logo {
  width: 188px;
}
/*↑ロゴ画像別途サイズ変更↑*/
.mv__title {
  text-align: center;
}
.is-original-size-sp .mv__title {
  margin-top: calc(42vw / 7.5);
}
/*↓見出しポジション変更↓
★ ポジション左下
【対象ページ】
・PC ぱしふぃっく
・PC ダイアモンドプリンセス
・PC クイーン・エリザベス
・PC コスタ・セレーナ
・PC 海外 MSCワールドエウローパ
・PC 海外 スペクトラム・オブ・ザ・シーズ
*/
.is-original-size-pc:is(.is-page-pacific_venus, .is-page-diamond_princess, .is-page-queen_elizabeth, .is-page-costa_serena, .is-page-msc_worldeuropa, .is-page-spectrum_of_the_seas) .mv__title {
  margin: auto auto 0 0;
}
/*
★ ポジション右下
【対象ページ】
・PC MSCベリッシマ
*/
.is-original-size-pc.is-page-msc_bellissima .mv__title {
  margin: auto 0 0 auto;
}
/*↑見出しポジション変更↑*/
/*↓タイトル画像サイズ指定・全ページ対象　※PCはSPの89%↓*/
.is-page-asuka2 .mv__title--image {
  width: calc(242vw / 7.5);
}
.is-original-size-pc.is-page-asuka2 .mv__title--image {
  width: calc((242px / 10) * 8.9);
}
.is-page-msc_bellissima .mv__title--image {
  width: calc(532vw / 7.5);
}
.is-original-size-pc.is-page-msc_bellissima .mv__title--image {
  width: calc((532px / 10) * 8.9);
}
.is-page-pacific_venus .mv__title--image {
  width: calc(673vw / 7.5);
}
.is-original-size-pc.is-page-pacific_venus .mv__title--image {
  width: calc((673px / 10) * 8.9);
}
.is-page-diamond_princess .mv__title--image {
  width: calc(724vw / 7.5);
}
.is-original-size-pc.is-page-diamond_princess .mv__title--image {
  width: calc((724px / 10) * 8.9);
}
.is-page-norwegian_sun .mv__title--image {
  width: calc(686vw / 7.5);
}
.is-original-size-pc.is-page-norwegian_sun .mv__title--image {
  width: calc((686px / 10) * 8.9);
}
.is-page-queen_elizabeth .mv__title--image {
  width: calc(663vw / 7.5);
}
.is-original-size-pc.is-page-queen_elizabeth .mv__title--image {
  width: calc((663px / 10) * 8.9);
}
.is-page-costa_serena .mv__title--image {
  width: calc(573vw / 7.5);
}
.is-original-size-pc.is-page-costa_serena .mv__title--image {
  width: calc((573px / 10) * 8.9);
}
/*↑タイトル画像サイズ指定↑*/
/* ============== ↑【作成時都度 確認・修正】↑ ============== */
/*セクション*/
.section[id*="Area"]:not(:first-of-type) {
  margin-top: min(calc(60vw / 7.5), 40px);
}
.is-original-size-pc .section[id*="Area"]:not(:first-of-type) {
  margin-top: 30px;
}
#cabinArea {
  margin-top: min(calc(80vw / 7.5), 100px);
}
.is-original-size-pc #cabinArea {
  margin-top: 50px;
}
/*#restaurantArea + .section[id*="Area"], #facilityArea + .section[id*="Area"]:not(#restaurantArea) {
  margin-top: 0;
}*/
.section .section__inner:not(.contact__inner) {
  padding: min(calc(60vw / 7.5), 100px) 0;
}
#cabinArea .section__inner {
  padding-bottom: min(calc(80vw / 7.5), 100px);
}
.is-original-size-pc .section .section__inner {
  padding: 50px 0;
}
.section__wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
}
.section__wrapper .section-navi {
  order: 1;
}
.section__wrapper .section:not(:first-of-type), .section.is-banner.is-posi-bottom {
  order: 2;
}
.section.is-banner.is-posi-top {
  order: 0;
}
.section .grid-col2, .section .grid-col4 {
  padding-bottom: 0;
}
/* --- 各セクション： バナー*/
.section.is-banner {
  text-align: center;
  width: min(calc((690 / 750) * 100%), 960px);
  margin: 0 auto min(calc(100vw / 7.5), 40px);
}
.section.is-banner.is-posi-top {
  margin-bottom: min(calc(100vw / 7.5), 80px);
}
.section.is-banner.is-posi-top + .section.is-banner.is-posi-top {
  margin-top: max(calc(-80vw / 7.5), -60px);
}
.section.is-banner.is-posi-bottom + .section.is-banner.is-posi-bottom {
  margin-top: max(calc(-80vw / 7.5), -20px);
}
.is-device-pc .section.is-banner .banner__link {
  transition: opacity .4s;
}
.is-device-pc .section.is-banner .banner__link:hover {
  opacity: .7;
}
/* --- 各セクション： コロナ対策*/
#pickupArea .textBox .link {
  margin-top: 1em;
}
#pickupArea .textBox p:not(.link) + .link {
  margin-top: 2em;
}
#pickupArea .grid-row .grid-col2:only-child {
  width: 100%;
}
#pickupArea .grid-row .grid-col2:only-child .base-link br {
  display: none;
}
/* --- 各セクション： 施設・レストラン*/
.facility.restaurant .textBox {
  margin-bottom: calc(50em / 14);
}
.facility.restaurant .grid-col__body {
  padding-bottom: 2em;
}
.facility.restaurant .grid-col__body p:not(.heading--md) {
  font-size: .9em;
}
.facility.restaurant .more-button {
  margin-top: calc(30em / 14);
}
.facility.restaurant .more-button .collapseBtn.is-open::after {
  transform: rotate(-180deg);
}
.is-original-size-sp .facility.restaurant .grid-col4 {
  width: calc(100% / 2);
}
.is-original-size-sp .seen .grid-col4 {
  width: calc(100% / 2);
}
.is-original-size-pc .facility.restaurant .grid-col4 {
  width: calc(100% / 4);
}
@media only screen and (max-width: 960px) {
  .is-original-size-pc .facility.restaurant .grid-col4 {
    width: calc(100% / 3);
  }
	.is-original-size-pc .seen .grid-col4 {
    width: calc(100% / 3);
  }
}
/*HIS特典*/
.privilege {
  color: var(--default-color-darkgreen);
  background: #D7EDF2;
  text-align: center;
  margin-top: calc(40em / 14);
  padding: calc(20em / 14) calc(12em / 14);
}
.privilege .heading--md {
  color: var(--default-color-green);
  margin-bottom: .5em;
}
.privilege p:not(.sub_text) {
  font-size: calc(22em / 14);
  font-weight: bold;
}
.privilege .sub_text {
  color: #333;
  margin-top: .25em;
}
/* --- 各セクション： 動画*/
#movieArea .youtube__block::before, #movieArea .youtube__thumb--image::before {
  width: calc((140 / 642) * 100%);
  padding-top: calc((140 / 642) * 100%);
}
#movieArea .youtube, #movieArea .movie__thumb {
  width: 100%;
  max-width: calc(624px + 18px);
  margin: auto;
}
#movieArea .youtube {
  margin-top: calc(24em / 14);
  box-sizing: border-box;
  padding: 0 9px;
}
#movieArea .youtube__credit {
  text-align: right;
}
#movieArea .slick-arrow {
  position: absolute;
  bottom: calc((351px - 75px) / 2);
  left: 0;
  right: 0;
  margin: auto;
  width: 30px;
  height: 75px;
  text-indent: -9999px;
  border: none;
  background: no-repeat center center / cover;
  padding: 0;
  cursor: pointer;
  z-index: 1;
}
#movieArea .slick-next {
  background-image: url(/cmn/icon/icon_arrow_left.svg);
  left: calc(-624px - 18px - 30px - 20px);
}
#movieArea .slick-prev {
  background-image: url(/cmn/icon/icon_arrow_right.svg);
  right: calc(-624px - 18px - 30px - 20px);
}
.is-original-size-sp #movieArea .slick-arrow {
  display: none;
}
#movieArea .movie__thumb {
  margin-top: 18px;
}
#movieArea .movie__thumb--item {
  width: calc((100% - 18px * 3) / 3);
  margin: 0 9px;
}
#movieArea .movie__thumb .gridCarousel__dots {
  padding-top: 1em;
}
/* --- 各セクション： 客船紹介*/
#cabinArea {
  background: var(--default-bg-main);
}
.is-original-size-sp #cabinArea .section__inner {
  width: 100%;
}
.cabin__select {
  background: #957a50;
  color: #fff;
  font-size: min(calc(28vw / 7.5), 20px);
  line-height: 1;
  padding: calc(36em / 28) calc(54em / 28) calc(34em / 28);
}
/*↓表示切替ボタン↓*/
/*PCSP共通*/
.cabin__navi--list, .cabin__accordion {
  display: flex;
  align-items: center;
  color: #7a2c48;
  background: #fff;
  cursor: pointer;
}
.cabin__navi--list.is-balcony, .cabin__contents.is-balcony .cabin__accordion {
  color: #b9681a;
}
.cabin__navi--list::after, .cabin__accordion::after {
  content: "";
  width: 2em;
  height: 1em;
  background: no-repeat center center / cover;
  background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2254%22%20height%3D%2254%22%20viewBox%3D%220%200%2054%2054%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23ceb793%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Ctitle%3Eicon_arrow_right%3C%2Ftitle%3E%20%3Cg%20id%3D%22%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%22%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M20.58579%2C14.27206h0a2%2C2%2C0%2C0%2C0%2C0%2C2.82842L30.48529%2C27l-9.89951%2C9.89951a2%2C2%2C0%2C0%2C0%2C0%2C2.82842h0a2%2C2%2C0%2C0%2C0%2C2.82842%2C0L34.72794%2C28.41421a2%2C2%2C0%2C0%2C0%2C0-2.82842L23.41421%2C14.27206A2%2C2%2C0%2C0%2C0%2C20.58579%2C14.27206Z%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
  transform: rotate(90deg);
  transition: transform .4s;
}
.cabin__navi--text, .cabin__accordion--text {
  flex: 1;
  font-weight: bold;
}
/*PC用*/
.cabin__navi {
  display: flex;
  flex-wrap: wrap;
  margin: -8px 0 34px -8px;
  width: calc(100% + 8px);
}
.cabin__navi--list {
  text-align: center;
  min-height: calc(40em / 14);
  width: calc((100% - (8px * 4)) / 4);
  margin-top: 8px;
  margin-left: 8px;
  border-radius: calc(6em / 14);
  border: 1px solid #e1d9c6;
  padding: .4em .5em .5em;
}
.cabin__navi--list[class*="--active"], .is-device-pc .cabin__navi--list:hover {
  background: #7a2c48;
  color: #fff;
}
.cabin__navi--list.is-balcony[class*="--active"], .is-device-pc .cabin__navi--list.is-balcony:hover {
  background: #b9681a;
}
.cabin__navi--text {
  text-indent: 1em;
  letter-spacing: 0;
  line-height: 1.2;
}
/*SP*/
.cabin__accordion {
  justify-content: space-between;
  height: min(calc(80vw / 7.5), 60px);
  padding: 0 calc(32em / 28) 0 calc(48em / 28);
  font-size: min(calc(28vw / 7.5), 20px);
}
.cabin__contents:not(:first-of-type) .cabin__accordion {
  border-top: 1px dotted #cbb491;
}
.accordion__button--active::after {
  transform: rotate(-90deg);
}
/*↑表示切替ボタン↑*/
/*タブ・アコーディオン 切り替え用*/
.is-original-size-sp .cabin__navi, .is-original-size-pc .cabin__accordion {
  display: none;
}
.is-original-size-sp .cabin__inner[class*="--active"] {
  display: block;
}
.is-original-size-sp .cabin__inner:not([class*="--active"]), .is-original-size-pc .cabin__contents:not([class*="--active"]) {
  display: none;
}
.is-original-size-sp .cabin__contents, .is-original-size-pc .cabin__inner {
  display: block !important;
}
/*コンテンツ内容*/
.is-original-size-sp .cabin__inner {
  margin: auto;
  padding: calc(50vw / 7.5) 0 calc(110vw / 7.5);
}
.cabin__title--image {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'MonteCarlo', cursive;
  font-size: 40px;
  text-align: center;
  line-height: 1;
  color: #c291a3;
}
.is-original-size-sp .cabin__title--image {
  font-size: min(calc(70vw / 7.5), 52px);
  letter-spacing: 1.2px;
}
.cabin__contents.is-balcony .cabin__title--image {
  color: #eab889;
}
.is-original-size-sp .cabin__title--image {
  flex-direction: column;
  margin-bottom: calc(30vw / 7.5);
}
.is-original-size-pc .cabin__title--image {
  margin: 60px 0 30px;
}
.is-original-size-pc .cabin__title--image::before, .cabin__title--image::after {
  content: "";
  width: 206px;
  height: 18px;
  background: url("../images/room_title_kazai_suite.png") no-repeat center center / contain;
}
.is-original-size-sp .cabin__title--image::after {
  width: calc(315vw / 7.5);
  height: calc(18vw / 7.5);
}
.cabin__contents.is-balcony .cabin__title--image::before, .cabin__contents.is-balcony .cabin__title--image::after {
  background-image: url("../images/room_title_kazai_balcony.png");
}
.is-original-size-sp .cabin__title--image--text {
  margin-bottom: calc(20vw / 7.5);
}
.is-original-size-pc .cabin__title--image--text {
  margin: 0 42px .25em;
}
.cabin__text-block {
  display: flex;
}
.is-original-size-sp .cabin__text-block {
  width: calc(622vw / 7.5);
  flex-direction: column;
  margin: auto;
}
.is-original-size-sp .cabin__images {
  margin-bottom: calc(40vw / 7.5);
}
.is-original-size-pc .cabin__images {
  width: 320px;
}
.is-original-size-pc .cabin__texts {
  width: calc(100% - 320px);
  padding-left: 1em;
}
.cabin__texts {
  order: 1;
}
.cabin__texts .cabin__title {
  color: #7a2c48;
  font-weight: bold;
  font-size: calc(22em / 14);
  margin-bottom: .5em;
}
.cabin__contents.is-balcony .cabin__texts .cabin__title {
  color: #b9681a;
}
.is-original-size-sp .cabin__texts .cabin__title {
  text-align: center;
}
.cabin__texts .cabin__sup {
  background: #fff;
  border: 1px solid #d3cab6;
  padding: .5em 1em .8em;
  margin-top: 1em;
}
.cabin__texts .cabin__notes {
  font-size: calc(12em / 14);
  margin-top: 1em;
}
.cabin__text--more {
  display: block;
  margin: 1em 0 2em;
}
.cabin__text--more--title {
  font-weight: bold;
  display: inline-block;
  margin-bottom: .25em;
}
.cabin__tokuten {
  background: #fff;
  margin: calc(88vw / 7.5) 0 calc(28vw / 7.5);
  display: flex;
  flex-direction: column;
  align-items: center;
  border: 1px solid #c291a3;
}
.is-original-size-pc .cabin__tokuten {
  margin: 48px 0 calc(26px - 4px);
}
.cabin__contents.is-balcony .cabin__tokuten {
  border-color: #eab889;
}
.cabin__tokuten::before, .cabin__tokuten::after {
  content: "";
  width: calc(346vw / 7.5);
  height: calc(37vw / 7.5);
  background: url("../images/room_tokuten_kazai_suite.png") no-repeat center center / contain;
}
.is-original-size-pc .cabin__tokuten::before, .is-original-size-pc .cabin__tokuten::after {
  width: 244px;
  height: 26px;
}
.cabin__contents.is-balcony .cabin__tokuten::before, .cabin__contents.is-balcony .cabin__tokuten::after {
  background-image: url("../images/room_tokuten_kazai_balcony.png");
}
.cabin__tokuten::before {
  transform: translateY(calc((-37vw + 5vw) / 7.5));
}
.cabin__tokuten::after {
  transform: translateY(calc((37vw - 5vw) / 7.5)) rotate(180deg);
}
.is-original-size-pc .cabin__tokuten::before {
  transform: translateY(-24px); /*ieでtranslateYの中calc出来ないので修正…※calc(-26px + 4px)*/
}
.is-original-size-pc .cabin__tokuten::after {
  transform: translateY(24px) rotate(180deg);
}
.cabin__tokuten--inner {
  padding: 0 calc(30vw / 7.5) .5em;
}
.is-original-size-pc .cabin__tokuten--inner {
  width: 100%;
  padding: 0 30px;
}
.cabin__tokuten--title {
  color: #957a50;
  font-weight: bold;
  text-align: center;
  font-size: calc(18em / 14);
  line-height: 1;
  margin-bottom: 1em;
}
.cabin__tokuten--item {
  display: flex;
  align-items: baseline;
}
.cabin__tokuten--item:not(:first-child) {
  margin-top: 1em;
}
.cabin__tokuten--item::before {
  content: "■";
  color: #cbb491;
  transform: rotate(45deg);
  margin-right: .5em;
}
.cabin__tokuten--notes {
  font-size: .8em;
  color: #888;
  margin-top: 2em;
}
.cabin__tokuten--notes--item {
  text-indent: -1em;
  padding-left: 1em;
}
/* --- 各セクション： SHIP DATA*/
.shipdata {
  border: 2px solid #3E95AA;
  padding: calc(14vw / 7.5);
}
.is-original-size-pc .shipdata {
  padding: 13px;
}
#shipdataArea .grid-row {
  justify-content: space-between;
  margin: 0;
}
.is-original-size-pc .shipdata__title {
  margin-bottom: 20px;
}
.is-original-size-sp .shipdata__title--text {
  width: calc(330vw / 7.5);
}
.is-original-size-pc .shipdata__title--text {
  max-width: 165px;
}
.is-original-size-sp .shipdata__image--list {
  margin: calc(40vw / 7.5) 0 calc(50vw / 7.5);
}
.shipdata__inner {
  border: 1px solid #3E95AA;
  padding: calc(58vw / 7.5) calc(34vw / 7.5) calc(50vw / 7.5);
}
.is-original-size-pc .shipdata__inner {
  padding: 45px calc((50 / 962) * 100%) calc(45px - 16px);
}
#shipdataArea .grid-col2 {
  padding: 0;
}
.is-original-size-sp #shipdataArea .grid-col2 {
  width: 100%;
}
.is-original-size-pc #shipdataArea .grid-col2.is-block-images {
  width: 340px;
}
.is-original-size-pc #shipdataArea .grid-col2.is-block-texts {
  width: calc(100% - (340px + 20px));
  max-width: 470px;
}
.shipdetail {
  color: var(--default-color-darkgreen);
  display: flex;
  flex-wrap: wrap;
}
.shipdata__image--list img {
  width: 100%;
}
.shipdetail_title, .shipdetail_text {
  padding: .5em 0;
}
.shipdetail_title {
  font-weight: bold;
  width: 9em;
  padding-left: .5em;
}
.shipdetail_text {
  width: calc(100% - 9em);
  display: flex;
  flex-wrap: wrap;
}
.shipdetail_text::before {
  content: "：";
  margin-right: .5em;
}
.shipdetail_text::after {
  content: "";
  width: calc(100% + 9em);
  height: 1px;
  display: block;
  border-bottom: 1px dashed #AAD2DB;
  margin-left: -9em;
  transform: translateY(.5em);
}
.shipdetail_text__inner {
  flex: 1;
  padding-right: .5em;
}
.shipdetail [class*="digitalpamphlet"] {
  background: #dcecf0;
}
/* --- 各セクション： 特典*/
.is-original-size-sp #tokutenArea .section__inner {
  width: 100%;
}
.tokuten__block:not(:first-child) {
  margin-top: min(calc(20vw / 7.5), 20px);
}
.tokuten__title, .tokuten__subtitle {
  font-weight: bold;
  font-size: calc(28em / 24);
  margin-bottom: .5em;
}
.tokuten__title {
  background: var(--default-color-green);
  color: #fff;
  font-weight: bold;
  display: flex;
  align-items: center;
  padding: .5em;
  margin-bottom: .5em;
}
.is-size-pc .tokuten__title {
  font-size: calc(22em / 14);
}
.tokuten__subtitle {
  color: var(--default-color-darkgreen);
}
.is-size-pc .tokuten__subtitle {
  font-size: calc(19em / 14);
}
.tokuten__title[class*="accordion"]::after {
  content: "";
  width: 1em;
  height: 1.8em;
  margin: .5em;
  margin-left: 1em;
  background: var(--default-icon-right-white);
  transform: rotate(90deg);
  transition: transform .4s;
}
.tokuten__title[class*="accordion"].is-open::after {
  transform: rotate(-90deg);
}
.tokuten__title--texts {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  flex: 1;
  line-height: 1.3;
}
.tokuten__title--number {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.5;
  text-align: center;
  color: var(--default-color-green);
  background: #fff;
  width: 1.25em;
  height: 1.25em;
  border-radius: 100%;
  margin: 0 1em 0 .25em;
  padding-bottom: 2px;
}
.tokuten__block:not(:last-child) .tokuten__contents {
  padding-bottom: min(calc(80vw / 7.5), 60px);
}
.is-original-size-pc .tokuten__contents {
  display: block !important;
}
.is-original-size-pc .tokuten02{
    border: solid 2px #06687e;
}
.is-original-size-pc .tokuten02 .tokuten__contents {
	padding: 10px 20px 20px;
}
.is-original-size-sp .tokuten__contents {
  width: var(--default-width-inner);
  margin: auto;
}
.is-original-size-sp .tokuten__contents.js-accordion-content {
  display: inherit;
}
.is-original-size-sp .tokuten02{
    border: solid 2px #06687e;
	    width: 92%;
    margin: 0 auto;
}
.is-original-size-sp .tokuten02 .tokuten__contents {
  padding-bottom: 1em;
}
.tokuten__lead:not(:last-child) {
  margin-bottom: 1.5em;
}
.tokuten__notes--wrapper, .tokuten__notes:not(:first-child), .tokuten__notes--title:not(:first-child) {
  margin-top: 1.5em;
}
.tokuten__notes--title {
  font-weight: bold;
  font-size: calc(12em / 14);
  color: var(--default-color-green);
}
.tokuten__notes--title + .tokuten__notes {
  margin-top: .5em;
}
.tokuten__lead + .tokuten__notes {
  padding-top: 1.5em;
  border-top: 2px dotted #a4a4a4;
}
.tokuten [class*="notes--item"] {
  font-size: calc(12em / 14);
}
.tokuten [class*="notes--item"]:not(:first-child) {
  margin-top: .5em;
}
.tokuten__detail em:not([class]) {
  color: var(--default-color-price);
  font-style: normal;
  font-weight: bold;
}
.tokuten__detail.is-special {
  margin-top: 1.25em;
}
.tokuten__detail.is-simple, .tokuten__detail.is-special .tokuten__detail--product {
  border: 1px solid var(--default-color-green);
  font-size: calc(16em / 14);
  padding: .5em 1em;
  margin-top: 1em;
}
.tokuten__detail.is-simple p:not([class]):not(:first-of-type), .tokuten__detail.is-special .tokuten__detail--product--item:not(:first-of-type) {
  margin-top: .5em;
}
.tokuten__detail.is-simple b:not([class]), .tokuten__detail.is-special .tokuten__detail--product--item b:not([class]) {
  color: var(--default-color-green);
}
.tokuten__detail.is-special .tokuten__detail--planset {
  display: grid;
  gap: calc(40vw / 7.5) 0;
}
.is-original-size-pc .tokuten__detail.is-special .tokuten__detail--planset {
  grid-template-columns: repeat(4, 1fr);
  gap: 17px calc((40 / 992) * 100%);
}
.tokuten__detail.is-special .tokuten__detail--planset--item {
  background: var(--default-color-blue);
  color: var(--default-color-green);
  text-align: center;
  font-weight: bold;
  font-size: min((28vw / 7.5), 19px);
  padding: .8em .5em 1em;
  display: grid;
  align-content: center;
  position: relative;
}
.tokuten__detail.is-special .tokuten__detail--planset--item::after {
  content: "＋";
  position: absolute;
  display: grid;
}
.is-original-size-sp .tokuten__detail.is-special .tokuten__detail--planset--item::after {
  width: 100%;
  justify-content: center;
  bottom: calc((-20vw / 7.5) - .55em);
}
.is-original-size-pc .tokuten__detail.is-special .tokuten__detail--planset--item::after {
  height: 100%;
  align-content: center;
  right: calc(((20 / 218) * -100%) - .5em);
}
.is-original-size-sp .tokuten__detail.is-special .tokuten__detail--planset--item:last-child::after, .is-original-size-pc .tokuten__detail.is-special .tokuten__detail--planset--item:nth-child(4n)::after {
  content: none;
}
.tokuten__detail.is-special .tokuten__detail--notes {
  margin-top: 1.5em;
  padding-top: 1em;
  border-top: 2px dotted #989da0;
}
.tokuten__detail.is-special .tokuten__detail--product {
  background: #fff;
  margin-top: 1.5em;
}
.tokuten__detail.is-special.tokuten__detail--product--icon {
  margin-right: .5em;
}
.tokuten__detail.is-special .tokuten__detail--product--link {
  display: inline-block;
}
/*特典枠詳細「.tokuten__detail.is-special.is-type-A」
【対象ページ】
・ダイアモンドプリンセス
*/
.tokuten__detail.is-special.is-type-A {
  background: var(--default-color-blue);
  padding-top: min(calc(30vw / 7.5), 30px);
}
.is-original-size-pc .tokuten__detail.is-special.is-type-A {
  padding-top: 18px;
}
.tokuten__detail.is-special.is-type-A .tokuten__detail--inner {
  padding: 0 min(calc(34vw / 7.5), 30px) min(calc(36vw / 7.5), 30px);
}
.is-original-size-pc .tokuten__detail.is-special.is-type-A .tokuten__detail--inner {
  padding: 0 22px 24px;
}
.is-size-pc .tokuten__detail.is-special.is-type-A .tokuten__detail--list {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.is-size-sp .tokuten__detail.is-special.is-type-A .tokuten__detail--item {
  display: grid;
  grid-template-areas:
    "img subttl"
    "img ttl"
    "txt txt";
  grid-template-rows: auto 1fr auto;
  align-items: start;
  gap: .25em 1em;
}
.is-size-sp .tokuten__detail.is-special.is-type-A .tokuten__detail--item:not(:first-child) {
  margin-top: min(calc(45vw / 7.5), 30px);
}
.is-size-sp .tokuten__detail.is-special.is-type-A .tokuten__detail--image {
  grid-area: img;
}
.is-size-sp .tokuten__detail.is-special.is-type-A .tokuten__detail--subtitle {
  grid-area: subttl;
}
.is-size-sp .tokuten__detail.is-special.is-type-A .tokuten__detail--title {
  grid-area: ttl;
}
.is-size-sp .tokuten__detail.is-special.is-type-A .tokuten__detail--text {
  grid-area: txt;
}
.tokuten__detail.is-special.is-type-A .tokuten__detail--image {
  width: 100%;
  aspect-ratio: 220 / 146;
  margin-bottom: .5em;
  object-fit: cover;
}
.is-size-pc .tokuten__detail.is-special.is-type-A .tokuten__detail--image {
  aspect-ratio: 300 / 206;
  margin-bottom: 1em;
}
.tokuten__detail.is-special.is-type-A .tokuten__detail--title, .tokuten__detail.is-special.is-type-A .tokuten__detail--subtitle {
  font-size: calc(18em / 14);
  margin-bottom: .5em;
  font-weight: bold;
  line-height: 1.2;
  color: var(--default-color-darkgreen);
}
.tokuten__detail.is-special.is-type-A .tokuten__detail--subtitle {
  margin-bottom: .25em;
  font-size: calc(16em / 14);
  color: var(--default-color-green);
}
.tokuten__detail.is-special.is-type-A .tokuten__detail--title span:not([class]) {
  font-size: calc(12em / 18);
}
.tokuten__detail.is-special.is-type-A .tokuten__detail--obi {
  display: flex;
  justify-content: center;
  height: calc(90vw / 7.5);
  margin-bottom: calc(20vw / 7.5);
  background-position: 0 calc(-14vw / 7.5);
  background-image: repeating-linear-gradient(180deg, transparent, transparent calc(14vw / 7.5), rgba(166, 205, 224, 1) calc(14vw / 7.5), rgba(166, 205, 224, 1) calc(28vw / 7.5));
  background-size: auto auto;
  background-color: rgba(255, 255, 255, 0);
}
.is-original-size-pc .tokuten__detail.is-special.is-type-A .tokuten__detail--obi {
  height: 60px;
  margin: 10px 0 15px;
  background-position: 0 -7px;
  background-image: repeating-linear-gradient(180deg, transparent, transparent 9px, rgba(166, 205, 224, 1) 9px, rgba(166, 205, 224, 1) 17px);
}
.tokuten__detail.is-special.is-type-A .tokuten__detail--obi::after {
  content: "";
  width: calc(120vw / 7.5);
  height: calc(70vw / 7.5);
  background: var(--default-norepeat-center-cover);
}
.is-original-size-pc .tokuten__detail.is-special.is-type-A .tokuten__detail--obi::after {
  width: 120px;
  height: 70px;
  transform: translateY(-12px);
}
#tokuten-princessPlus .tokuten__detail.is-special.is-type-A .tokuten__detail--obi::after {
  background-image: url("../../../dom/ship/assets/images/diamond_princess/logo_princessPlus.png");
}
#tokuten-princessPremier .tokuten__detail.is-special.is-type-A .tokuten__detail--obi::after {
  background-image: url("../../../dom/ship/assets/images/diamond_princess/logo_princessPremier.png");
}
/*特典枠詳細「.tokuten__detail.is-special.is-type-B」
【対象ページ】
・コスタセレーナ
*/
.tokuten__detail.is-special.is-type-B .tokuten__detail--list {
  display: grid;
  gap: min((40vw / 7.5), 20px) 0;
}
.tokuten__detail.is-special.is-type-B .tokuten__detail--main {
  display: grid;
  background: var(--default-color-blue);
  gap: min((30vw / 7.5), 30px) min((20vw / 7.5), 18px);
  padding: min((30vw / 7.5), 20px) min((20vw / 7.5), 20px)
}
.is-original-size-pc .tokuten__detail.is-special.is-type-B .tokuten__detail--main {
  grid-template-columns: 180px 1fr;
}
.is-original-size-sp .tokuten__detail.is-special.is-type-B .tokuten__detail--main {
  justify-items: center;
}
.is-original-size-sp .tokuten__detail.is-special.is-type-B .tokuten__detail--texts {
  width: 100%;
}
.is-original-size-sp .tokuten__detail.is-special.is-type-B .tokuten__detail--image {
  width: min((270vw / 7.5), 270px);
}
.tokuten__detail.is-special.is-type-B .tokuten__detail--title {
  font-weight: bold;
  color: var(--default-color-darkgreen);
  font-size: calc(16em / 14);
}
.tokuten__detail.is-special.is-type-B .tokuten__detail--title:not(:last-child) {
  margin-bottom: .6em;
}
/* --- 各セクション： リンク*/
#linkArea .section__inner {
  padding-top: 0;
}
#linkArea .course-none {
  font-weight: bold;
  font-size: 1.25em;
  color: #bbb;
}
#linkArea .floatbutton__wrapper {
  position: absolute;
  top: 0;
  right: 0;
}
.is-original-size-pc #linkArea .floatbutton__wrapper {
  margin-top: 100px;
}
#linkArea .floatbutton {
  position: relative;
  top: 0;
  right: 10px;
}
.is-original-size-pc #linkArea .floatbutton {
  transition: top .4s;
}
.is-original-size-sp #linkArea .floatbutton__wrapper:not(.is-fixed) .floatbutton {
  display: none;
}
#linkArea .floatbutton__wrapper.is-fixed .floatbutton {
  position: fixed;
  top: 100px;
  z-index: 500;
}
.is-original-size-sp #linkArea .floatbutton__wrapper.is-fixed .floatbutton {
  width: 100%;
  bottom: 0;
  top: auto;
  right: auto;
  left: 0;
  background: #fff;
}
#linkArea .floatbutton__link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  background-color: #ff6200;
}
.is-original-size-sp #linkArea .floatbutton__link {
  height: calc(80vw / 7.5);
  font-size: calc(24vw / 7.5);
}
.is-device-pc #linkArea .floatbutton__link:hover {
  opacity: .7;
}
#linkArea .floatbutton__link::after {
  content: "";
  width: 1em;
  height: 1.6em;
  background: url("/cmn/icon/icon_arrow_right_white.svg") no-repeat center center / cover;
}
.is-original-size-sp #linkArea .floatbutton__link::after {
  margin-right: 1em;
}
#linkArea .floatbutton__link[href^="#"]::after {
  transform: rotate(90deg);
}
#linkArea .floatbutton__link[target="_blank"]::after {
  width: 1.25em;
  height: 1.25em;
  background-image: url("/cmn/icon/icon_launch_white.svg");
}
.is-original-size-pc #linkArea .floatbutton__link {
  flex-direction: column;
  width: 118px;
  height: 118px;
  background: #ff6200 url("../images/icon_btn_tour.png") no-repeat center 3px / 57px;
  border: 3px solid #d85503;
  border-radius: 100%;
  font-size: 15px;
  padding: 12px 0;
}
.is-original-size-pc #linkArea .floatbutton__link::after {
  margin-top: auto;
}
#linkArea .floatbutton__text {
  flex: 1;
}
.is-original-size-pc #linkArea .floatbutton__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: .8em;
}
.is-original-size-pc #linkArea .floatbutton__text .is-font-big {
  font-size: calc(18em / 16);
}
.is-original-size-sp #linkArea .floatbutton__text--inner {
  text-indent: 1em;
}
/* 関連ページナビ */
.other-page {
  background: #f6f3ec;
  margin-top: calc(30em / 14);
  padding: 30px 0;
}
.other-page .section__inner {
  max-width: 960px;
}
.other-page__inner {
  display: flex;
  align-items: center;
  font-weight: bold;
}
.is-original-size-sp .other-page__inner {
  flex-direction: column;
}
.is-original-size-pc .other-page__inner {
  align-items: baseline;
  background: #fff;
  border: 1px solid #eee;
  padding: 20px 30px;
}
.other-page__title {
  display: flex;
  margin-bottom: calc(30vw / 7.5);
}
.is-original-size-pc .other-page__title {
  margin: 0 1.5em 0 0;
}
.other-page__title::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.2em 0 1.2em 10px;
  border-color: transparent transparent transparent var(--default-color-dom2);
}
.other-page__title--text {
  background: var(--default-color-dom2);
  color: #fff;
  height: 2.4em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.other-page__inner.is-type-kaigai .other-page__title::after {
  border-color: transparent transparent transparent var(--default-color-int2);
}
.other-page__inner.is-type-kaigai .other-page__title--text {
  background: var(--default-color-int2);
}
.other-page__title--text, .other-page__link {
  padding: .25em 1em .4em;
}
.other-page__list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  margin-top: -.8em;
}
.other-page__item {
  margin-right: .8em;
  margin-top: .8em;
}
.other-page__link {
  display: flex;
  align-items: center;
  min-height: calc(60em / 24);
  border-radius: calc(8vw / 7.5);
  border: 1px solid #ceb793;
  background: #fff;
}
.is-original-size-pc .other-page__link {
  border-radius: 8px;
  border-color: #eee;
}
.other-page__item.is-active .other-page__link, .is-device-pc .other-page__link:hover {
  background: #e5c3c4;
}
.other-page__inner.is-type-kaigai .other-page__item.is-active .other-page__link, .is-device-pc .other-page__inner.is-type-kaigai .other-page__link:hover {
  background: #c3dae5;
}

/* もっと見る
-------------------------------------------------------- */
.facility.restaurant .more-button {
	width: 100%;
}
.facility.restaurant .more-button.on-click .collapseBtn::after {
  transform: rotate(180deg);
}
.facility.restaurant .more-buttone .open {
  display: block;
}
.facility.restaurant .more-button.on-click .open {
  display: none;
}
.facility.restaurant .more-button .close {
  display: none;
}
.facility.restaurant .more-button.on-click .close {
  display: block;
}
.facility.restaurant .hide-text {
	display: flex;
	flex-wrap: wrap;
}
/* PCタブ切り替え
-------------------------------------------------------- */
.cabin__navi .js-tab-button.current {
	background-color: #7a2c48;
	color: #fff;
}
/* SPアコーディオン
-------------------------------------------------------- */
.cabin__accordion.js-accordion-button.is-open::after {
    transform: rotate(-90deg);
}

/* slickスライダー　ドット表示
-------------------------------------------------------- */
#js-slider-shipdata .slick-dots {
	bottom: -30px!important;
}
.is-device-sp #js-slider-shipdata .slick-dots {
	bottom: -20px!important;
}
@media (orientation: landscape) and (max-width: 932px){
	.slick-slider {
		width: 50vw;
		margin: 0 auto 5vw;
	}
}
/* 特典変更
-------------------------------------------------------- */
 .timetable__title-list {
    align-items: center;
	 display: flex;
 
}
 /*.timetable__title-list li:nth-child(n+2),	.timetable__list li:nth-child(n+2){
    border-left: 1px solid #ceb793;
}*/
 .timetable__title-list li{
    border-left: 1px solid #fff;
}
 .timetable__title-list li:first-child{
    border-left: 1px solid #ceb793;
}
 .timetable__list li{
    border-left: 1px solid #ceb793;
}
 .timetable__list li:last-child{
    border-right: 1px solid #ceb793;
}
 .timetable__title-list li {
	 background: #ceb793;
	flex: 1;
	 padding: 5px;
	 text-align: center;
	 color: #fff;
    font-weight: bold;
}

.is-original-size-sp .timetable__title-list li {
height: 50px;
}

.timetable__list {
display: flex;    align-items: center;    
}
	.timetable__list li{	 background: #fff;}
/*.timetable__list li:nth-child(odd) {
    background: #e0e0e0;
}*/
.timetable__list li{
	border-bottom: 1px solid #ceb793;
	padding: 5px;text-align: center;
	 flex: 1;
}
/* 寄港地追加
-------------------------------------------------------- */
#seenArea h3 {
 font-size: calc(18em / 14);
  margin-bottom: .5em;
  font-weight: bold;
  line-height: 1.2;
  color: var(--default-color-darkgreen);
}

/* コース一覧
-------------------------------------------------------- */

/*.itemNav {
	width:960px;
	margin:30px auto 20px;
	overflow:hidden;
}
.dep_area +.itemNav {
	margin:10px auto 20px;
}*/
.itemNav li a:hover {
	opacity:0.65;
}
.itemNav li:empty{
	display: none;
}
.itemNav li {
/*	float:left;
	height:200px;
	width:46%;*/
	margin-bottom: 10px;
	background-color: #fff;
	padding: 10px;
}

/*.itemNav li:nth-child(odd) {
	margin-right:20px;
}*/
.itemNav li:nth-child(-n+2) {
	border-top:none;
}
.itemNav a{
	display:block;
	text-decoration:none;
	color:#000;
}
.itemNav li span {
	display:block;
}
.itemNav li span.notes {
	padding-top: 8px;
	color: #666;
}
.itemNav li .title {
    position: relative;
	font-size: 18px;
	font-weight:bold;
	margin-bottom:10px;
	margin: 3px 0 10px 5px;
    line-height: 1.3em;
	}
.itemNav li .title span{
	display: block;
	font-size:16px;
}
.itemNav li .box {
	overflow:hidden;
}
.itemNav li .img {
	width:36%;
	border:1px solid #ddd;
	float:left;
	margin-left: 10px;
}
.itemNav li .img img {
	width:100%;
}

.itemNav li .txt {
	width: 60%;
	float:right;
	padding-top: 1px;
}

.is-original-size-sp .itemNav li .img{
	width: 100%;
    border: 1px solid #ddd;
    float: none;
    margin-left: 0;
}
.is-original-size-sp .itemNav li .txt{
	width: 100%;
   float: none;
    margin: 10px 0;
}

.itemNav li .ArrDep {
	display:inline-block;
	font-size:16px;
	line-height:1;
	color:#fff;
	background: #10407f;
	padding: 5px;
	margin-bottom: 7px;
}
.itemNav li .IconEvent {
	display:inline-block;
	font-size:16px;
	line-height:1;
	color:#fff;
	background:#b20000;
	padding:3px 5px;
	margin-bottom:10px;
}
.itemNav li .day {
	font-size:16px;
	margin-bottom: 8px;
}
.itemNav li .freetxt {
	font-size: 14px;
	margin-bottom: 2px;
	margin-left: 5px;
	padding-top: 5px;
}
.itemNav li .freetxt:empty{
	display: none;
}
.itemNav li .price {
	width:100%;
	font-size:20px;
	color:#cf0606;
	font-weight:bold;
	text-align: right;
	padding-right: 10px;
}
.itemNav li p.price_box {
	background-color: #f6f6f6;
}
.itemNav li p.price_box a:hover {
	opacity: 0.8;
}
.itemNav li p.saver {
	font-weight:bold;
	background-color: #fffdeb;
	padding: 3px 0;
    margin-bottom: 5px;
}
.itemNav li p.saver img {
	width: 50px;
	position: absolute;
}
.itemNav li p.saver a:hover{
	opacity: 0.8;
}
.item-box-point {
  padding: 10px 10px 0;
  background-color: #ffeef1;
  margin: 10px 10px 0 0;
  /*box-shadow: 0px 1px 3px #ccc;
	-moz-box-shadow: 0px 1px 3px #ccc;
	-webkit-box-shadow: 0px 1px 3px #ccc;*/
}
.item-box-point li {
  vertical-align: middle;
  display: inline-block;
  font-size: 13px;
  background-image: url(/cmn/icon/icon_field_entered.svg);
  background-size: 16px;
  background-repeat: no-repeat;
  line-height: 1.3;
  margin-bottom: 5px;
  width: 100%;
  border-bottom: 1px dotted #FF7791;
  padding: 0 0 3px 20px;
  background-color: #ffeef1;
}
.item-box-point li:empty {
  display: none;
}
.item-box-point li:hover {
  opacity:1.0;
}
.item-box-point li:last-child {
		  /*background: url(../img/bg/bg_main.jpg)*/
		  border-bottom: none;
}

.is-original-size-sp .item-box-point{
	margin: 10px 0 0;
	
}
.is-original-size-sp .itemNav li .title{
	font-size: 1.3em;
}
.is-original-size-sp .itemNav li .ArrDep{
	font-size: 1.2em;
}
.is-original-size-sp .itemNav li .day{
	font-size: 1.2em;
}
.is-original-size-sp .itemNav li .price{
		font-size: 1.4em;
}
.is-original-size-sp .item-box-point li{
		font-size: 1em;
}

.is-device-pc .itemNav li .otherPlan {
	border-top:dashed 1px #999;
	margin-top: 15px;
	padding-top: 10px;
}
.is-device-pc .itemNav li .otherPlan .box {
	display: flex;
}
.is-device-pc .itemNav li .otherPlan .box span {
	width: 100%;
}
.is-device-sp .itemNav li .otherPlan {
	border-top:dashed 1px #999;
	padding-top: 5px;
}
/* 終了文言
-------------------------------------------------------- */
.end{
	background: #fff;
	text-align: center;
	padding: 3em 0;
}