@charset "UTF-8";
/* CSS Document */

/*---------------------------*/
#tab2 {
  /* tour_start */
  .block-tour .caption {
    text-align: center;
    margin-bottom: 20px;
  }
  
  .block-tour_inner {
    width: 1024px;
    height: auto;
    margin: 0 auto;
  }
  
  .block-tab {
    display: flex;
    justify-content: space-between;
  }
  
  .block-tab_item {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: solid 1px #06286f;
    width: calc(100% / 9);
    font-weight: 600;
    color: #000;
    text-align: center;
    padding: 20px 0;
    cursor: pointer;
  }
  
  .block-tab_item:not(:last-child) {
    border-right: none;
  }
  
  .block-tab_item.current {
    background-color: #06286f;
    color: #fff;
  }
  
  .block-tab_contents {
    background-color: #06286f;
    margin-bottom: 50px;
    padding: 15px 10px;
  }
  
  .tour-link:not(:last-child) {
    display: block;
    margin-bottom: 10px;
  }
  
  .tour-template {
    display: flex;
    justify-content: space-between;
    background-color: #fff;
    padding: 15px;
  }
  
  .tour-template .image {
    width: 195px;
    height: auto;
  }
  
  .tour-template .image img {
    width: 195px;
    height: auto;
  }
  
  .tour-template .image .dept {
    border: solid 1px #06286f;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
    color: #06286f;
    text-align: center;
    margin-bottom: 10px;
    padding: 10px;
  }
  
  .tour-template .details {
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
    width: calc(100% - 195px - 20px);
  }
  
  .tour-template .details .name {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.4;
    color: #333;
    padding-top: 10px;
  }
  
  .tour-template .details .details-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
  }
  
  .tour-template .details .details-inner .price {
    font-size: 20px;
    font-weight: 700;
    color: #ff0000;
  }
  
  .tour-template .details .details-inner .button {
    background-color: #ff0000;
    padding: 3px;
  }
  
  .tour-template .details .details-inner .button span {
    display: block;
    border: solid 1px #fff;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
    color: #fff;
    padding: 5px 40px;
  }
  
  .notour {
    background-color: #fff;
    text-align: center;
    padding: 20px 0;
  }
  /* tour_end */
  
  /*---2023/04/24 追加----------------------------------*/
  
  .mainvisual_Wrapper {
    position: relative;
    height: 606px;
  }
  
  .mainvisualWrap01 {
    background-image: url("/attending/media/cruise/images/cts02/mainvisual_bg--.png"),
      url("/attending/media/cruise/images/cts02/mv_SP23-004302D.jpg");
    background-repeat: repeat-x, no-repeat;
    background-position: center top, center center;
    background-size: auto 68px, 100% auto;
    width: 1400px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .mainH101 {
    background-image: url("/attending/media/cruise/images/cts02/mainvisual_ttl.png");
    background-repeat: no-repeat;
    background-position: center center;
    height: 606px;
  }
  .mainH101 span {
    display: none;
  }
  
  /*---------------------------*/
  
  .contIn1024 {
    width: 1024px;
    margin: auto;
    position: relative;
  }
  
  .mainBottomBlock01 {
    background-color: #e2fdfc;
    padding: 55px 0px 55px 0px;
  }
  .contFlex01 {
    display: flex;
    justify-content: space-between;
  }
  .contFlex01 .box01 {
    /* width: 524px; */
    width: 725px;
  }
  .contFlex01 .box02 {
    min-width: 285px;
    margin-left: 14px;
  }
  
  .modalLink01 {
    font-family: "Noto Serif JP", serif;
    font-size: 18px;
    line-height: 1.8em;
    font-weight: 500;
    width: 1024px;
    margin: 10px auto 0;
  }
  
  .modalLink01 a {
    text-decoration: underline;
    display: block;
    background: #e57373;
    color: #fff;
    width: 725px;
    padding: 10px 15px;
    text-align: center;
  }
  
  .movieTit01 {
    background-color: #e57373;
    font-family: "Noto Serif JP", serif;
    color: #ffffff;
    font-size: 13px;
    line-height: 1.6em;
    font-weight: 500;
    letter-spacing: -0.05em;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    text-align: center;
    margin-bottom: 10px;
  }
  
  /*----------------------*/
  
  .contBlock01 {
    background-color: #cef4ff;
    padding: 56px 0px 60px 0px;
  }
  .contH2 {
    text-align: center;
    margin-bottom: 18px;
  }
  
  .contH2.h201 img {
    width: auto;
    /*height: 201px;*/
    height: auto;
  }
  .contH2.h202 img {
    width: auto;
    height: 102px;
  }
  .contH2.h203 img {
    width: auto;
    height: 180px;
  }
  .contH2.h204 img {
    width: auto;
    height: 100px;
  }
  .contH2.h205 img {
    width: auto;
    height: 102px;
  }
  .contH2.h206 img {
    width: 100%;
    height: auto;
  }
  .contH2.h207 img {
    width: auto;
    height: auto;
  }
  .contH2.h208 img {
    width: auto;
    height: 201px;
  }
  
  .contFlex02 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
  }
  
  .contFlex02 li {
    box-sizing: border-box;
    width: 48.5%;
    border: 2px solid #83274e;
  }
  .contFlex02 li .p01 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid #ffffff;
    height: 70px;
    background-color: #83274e;
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 34px;
    line-height: 1em;
  }
  
  .contFlex02 li.li02 {
    border: 2px solid #05286e;
  }
  .contFlex02 li.li02 .p01 {
    background-color: #05286e;
  }
  
  .contFlex02 li .s01 {
    font-size: 26px;
  }
  
  /*----------------------*/
  
  .contBlock02 {
    background-color: #e5f2fc;
    padding: 55px 0px 25px 0px;
  }
  .contPointFlex01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  
  .contPointFlex01 .pointWrap {
    margin-bottom: 36px;
  }
  .contPointFlex01 .img01 {
    width: 495px;
  }
  .contPointFlex01 .img02 {
    width: 100%;
  }
  
  /*----------------------*/
  
  .contBlock03 {
    background-image: url("/attending/media/cruise/images/cts02/cont_bg01.png");
    background-repeat: repeat-x;
    background-position: center bottom;
    background-color: #05286e;
    padding: 55px 0px 15px 0px;
  }
  .contInBox01 {
    background-color: #ffffff;
    padding: 30px 38px 30px 38px;
    margin-bottom: 55px;
  }
  .contInBox02 {
    background-color: #ffffff;
    padding: 30px 38px 30px 38px;
    margin-bottom: 40px;
  }
  
  .contText01 {
    font-size: 16px;
    line-height: 1.85em;
    text-align: center;
  }
  .contImg01 {
    margin-top: 15px;
  }
  .contFlex03 {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
  }
  .contFlex03 li {
    width: 31.6%;
  }
  .contFlex03 li dt {
    border: 3px solid #bbecfa;
  }
  .contFlex03 li dt span {
    border: 1px solid #ffffff;
    background-color: #bbecfa;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 50px;
    color: #05286e;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    line-height: 1em;
  }
  .contFlex03 li dd {
    padding-top: 12px;
    font-size: 16px;
    line-height: 1.85em;
  }
  
  .contH301 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-image: url("/attending/media/cruise/images/cts02/cont_tit_bg01.png"),
      url("/attending/media/cruise/images/cts02/cont_tit_bg01.png");
    background-repeat: no-repeat, no-repeat;
    background-position: left 20px center, right 20px center;
    background-color: #05286e;
    box-sizing: border-box;
    height: 70px;
    padding: 5px 60px 5px 60px;
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 30px;
    line-height: 1.2em;
    font-weight: 500;
    margin-bottom: 38px;
  }
  .contH301 .s01 {
    font-size: 20px;
  }
  
  .contFlex04 {
    display: flex;
    justify-content: space-between;
  }
  .contFlex04 .box01 {
    width: 400px;
  }
  .contText02 {
    font-size: 16px;
    line-height: 1.85em;
    letter-spacing: -0.05em;
    margin-bottom: 14px;
  }
  
  .contFlex04 .box02 {
    width: 520px;
  }
  
  .contBoxFlex01 {
    display: flex;
    border: 3px solid #bbecfa;
    margin-top: 40px;
  }
  .contBoxFlex01 .box01 {
    border-right: 3px solid #bbecfa;
  }
  .contBoxFlex01 .box01 .boxIn01 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    background-color: #bbecfa;
    border: 1px solid #ffffff;
    width: 296px;
    height: 106px;
    color: #05286e;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    line-height: 1.2em;
    font-weight: bold;
  }
  
  .contBoxFlex01 .box02 {
    text-align: left;
    display: flex;
    align-items: center;
    padding: 5px 20px 5px 20px;
  }
  
  .contFlex05 {
    display: flex;
    justify-content: space-between;
  }
  .contFlex05 .box01 {
    width: 48.8%;
  }
  .contFlex05 .box02 {
    width: 48.8%;
  }
  
  .contFlex06 {
    display: flex;
    justify-content: space-between;
  }
  .contFlex06 .box01 {
    width: 404px;
  }
  .contFlex06 .box02 {
    width: 530px;
    border: 1px solid #2981d2;
  }
  .contFlex06 .box02 dt {
    background-color: #bbecfa;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    height: 38px;
    padding: 4px 20px;
    font-size: 18px;
    line-height: 1.6em;
  }
  .contFlex06 .box02 dd {
    padding: 14px 20px 14px 20px;
    font-size: 16px;
    line-height: 1.8em;
    letter-spacing: -0.05em;
  }
  .contFlex06 .box02 dd li {
    text-indent: -1em;
    padding-left: 1em;
  }
  
  .contFlex07 {
    display: flex;
    justify-content: space-around;
    margin-top: 20px;
  }
  .contFlex07 li {
    width: 210px;
    text-align: left;
  }
  .contTyusyaku01 {
    font-size: 13px;
    line-height: 1.7em;
    text-align: right;
    margin-top: 10px;
  }
  
  /*-----------------------*/
  
  .contBlock04 {
    background-image: url("/attending/media/cruise/images/cts02/SP19-048389D.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 55px 0px 60px 0px;
  }
  .contInBox03 {
    background-color: #ffffff;
    padding: 40px 40px 10px 40px;
  }
  .contFlex08 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .contFlex08 li {
    width: 298px;
    margin-bottom: 30px;
  }
  .contFlex08 li dt {
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    line-height: 1.3em;
    font-weight: bold;
    margin: 15px auto 10px auto;
    text-align: center;
  }
  .contFlex08 li dd {
    font-size: 16px;
    line-height: 1.85em;
    text-align: left;
  }
  .contTyusyaku02 {
    font-size: 14px;
    line-height: 1.7em;
    color: #ff0000;
    margin-top: 15px;
  }
  
  /*----------------------*/
  
  .contBlock05 {
    background-color: #fcedd3;
    padding: 45px 0px 60px 0px;
  }
  .contFlex09 {
    display: flex;
    justify-content: space-between;
  }
  .contFlex09 li {
    width: 32%;
  }
  .contFlex09 li span {
    text-align: right;
    display: block;
    font-size: 13px;
    margin-top: 3px;
  }
  .alc {
    text-align: center;
  }
  
  .contFlex10 {
    display: flex;
    align-items: center;
    padding: 20px 0px;
    margin-top: 40px;
    position: relative;
  }
  .contFlex10 .box01 {
    width: 46%;
    position: relative;
    z-index: 1;
  }
  .contFlex10 .box02 {
    background-color: #ffffff;
    box-sizing: border-box;
    padding: 15px 20px 15px 20px;
    width: 54%;
    position: relative;
    z-index: 0;
  }
  .flex10Bg01 {
    border: 1px solid #78191c;
    background-color: #78191c;
    width: 52%;
    height: 100%;
    position: absolute;
    left: 0px;
    top: 0px;
  }
  .flex10Bg01::before {
    content: "";
    width: calc(100% - 2px);
    height: calc(100% - 2px);
    border: 1px solid #ffffff;
    position: absolute;
    left: 1px;
    top: 1px;
  }
  .contH302 {
    color: #ffffff;
    font-family: "Noto Serif JP", serif;
    font-size: 29px;
    line-height: 1.2em;
    font-weight: bold;
    letter-spacing: -0.05em;
    display: inline-block;
    padding: 0px 20px 0px 20px;
    position: relative;
  }
  .contH302::before {
    content: "";
    width: 90px;
    height: 1px;
    background-color: #d84a8a;
    position: absolute;
    right: -90px;
    top: 50%;
  }
  
  .contFlex11 {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    padding: 20px;
    /* gap: 15px; */
    background-color: #ffffff;
  }
  .contFlex11 li {
      width: 32%;
      background-color: #ffffff;
  }
  .contFlex11 > div {
    width: 100%;
    background-color: #ffffff;
  }
  .contFlex11 dl {
    padding: 0px 0 15px;
  }
  .contFlex11 dl dd {
    padding: 0px 20px;
  }
  
  .contFlex11 dt {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 90px;
    color: #78191c;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    line-height: 1.4em;
    letter-spacing: -0.05em;
  }
  .contFlex11 dt .s01 {
    font-size: 16px;
  }
  
  .contFlex11 dt .s02 {
    font-size: 16px;
    line-height: 1em;
    font-weight: bold;
    color: #ffffff;
    background-color: #05286e;
    border-radius: 30px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 25px;
    padding: 2px 15px;
    position: absolute;
    right: 30px;
    bottom: 15px;
  }
  
  /*----------------------*/
  
  .contBlock06 {
    background-image: url("/attending/media/cruise/images/cts02/map_bg01.png");
    background-repeat: repeat-x;
    background-position: center top;
    background-color: #ffffff;
    padding: 55px 0px 55px 0px;
  }
  
  /* ---------------------------- */
  /* --- Base --- */
  /* ---------------------------- */
  .swiperModalButton {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-around;
  }
  
  .swiperModalButton a {
    position: absolute;
  }
  .popup-box {
    background: #fff;
    width: auto;
    max-width: 684px;
    margin: 0 auto;
    border-radius: 2px;
  }
  
  .gallery-arrow {
    position: absolute;
    top: 50%;
    margin-top: -15px;
    display: block;
    width: 60px;
    height: 60px;
    line-height: 60px;
    left: 50%;
    cursor: pointer;
  }
  .gallery-arrow-left:before {
    content: "〈";
    color: #fff;
    font-size: 60px;
  }
  .gallery-arrow-right:before {
    content: "〉";
    color: #fff;
    font-size: 60px;
  }
  
  .mapAreaWrap01 {
    position: relative;
    background-image: url("/attending/media/cruise/images/cts02/map_img01.jpg");
    background-repeat: no-repeat;
    background-position: top left;
    height: 724px;
    margin-bottom: 100px;
    margin-top: 30px;
  }
  .mapAreaWrap01 button:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    transition-duration: 0.3s;
  }
  
  .mapAreaWrap01 button {
    position: absolute;
  }
  /*台湾*/
  .mapAreaWrap01 .btn01 {
    position: absolute;
    left: 20px;
    top: 150px;
  }
  /*那覇*/
  .mapAreaWrap01 .btn02 {
    right: 280px;
    top: 0px;
  }
  /*石垣島*/
  .mapAreaWrap01 .btn03 {
    left: 420px;
    bottom: 10px;
  }
  /*宮古島*/
  .mapAreaWrap01 .btn04 {
    right: 40px;
    bottom: 180px;
  }
  
  .mapText01 {
    font-size: 16px;
    line-height: 1.6em;
    text-align: center;
  }
  
  .mapContBox01 {
    margin-top: 38px;
  }
  
  .table {
    display: flex;
    justify-content: space-between;
  }
  
  .mapContFlex01 {
    display: flex;
    justify-content: center;
  }
  .column02 li {
    width: 512px;
  }
  
  .column01_wapper {
    background-color: #cce4d8;
    border: 2px solid #007a3c;
    padding: 20px;
    margin: 30px auto 0;
    width: 760px;
  }
  
  .mapContFlex01 li .dl03 dt,
  .mapContFlex01 li .dl03 dd {
    padding: 5px 134px;
    font-size: 22px;
  }
  
  .mapContBox01 h3.term {
    display: block;
    text-align: center;
    margin: 15px 0;
  }
  
  .mapContBox01 h3.term small {
    font-size: 60%;
  }
  
  .mapContFlex01 li .dl03 dd {
    background-color: #fff;
  }
  /* .column01 li {
    width: 512px; 
  }*/
  .mapContBox01 h3 {
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 5px;
    display: flex;
  }
  
  .column01_wapper .new,
  .column01_wapper h3 {
    position: relative;
    font-size: 40px;
    margin: 0 10px 5px;
  }
  
  .column01_wapper .new {
    font-family: "Noto Serif JP", serif;
    font-size: 40px;
    line-height: 1;
    color: #ff0000;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
  }
  
  .column01_wapper .new::after {
    content: "";
    width: 22%;
    height: 60px;
    background-image: url(/attending/media/cruise/images/cts02/ico_new.png);
    background-size: cover;
    position: absolute;
    top: 45px;
    left: -35px;
    transform: rotate(-10deg);
  }
  
  .column01_wapper .note,
  .contBlock08 .note {
    text-align: left;
    font-size: 80%;
    margin-bottom: 5px;
  }
  
  .mapContFlex01 li dt {
    background-color: #b80606;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    height: auto;
    padding: 5px 20px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.3em;
    font-weight: bold;
    font-feature-settings: "palt";
  }
  
  .mapContFlex01 li dd {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
    border-right: 1px solid #cccccc;
    border-bottom: 1px solid #cccccc;
    border-left: 1px solid #cccccc;
    height: 56px;
    padding: 5px 20px;
    font-size: 16px;
    line-height: 1.3em;
    font-weight: bold;
    letter-spacing: -0.05em;
  }
  .mapContFlex01 li dd .s01 {
    color: #b80606;
  }
  
  .mapContFlex01 li .dl02 dt {
    background-color: #05286e;
  }
  .mapContFlex01 li .dl02 dd .s01 {
    color: #05286e;
  }
  
  .mapContFlex01 li .dl03 dt {
    background-color: #007a3c;
  }
  .mapContFlex01 li .dl03 dd .s01 {
    color: #007a3c;
  }
  
  .mapContTyusyaku01 {
    margin-top: 15px;
  }
  .mapContTyusyaku01 li {
    font-size: 13px;
    line-height: 1.6em;
    text-indent: -1em;
    padding-left: 1em;
  }
  
  /*---------------------*/
  
  .contBlock08 {
    background-color: #cef4ff;
    padding: 60px 0px;
  }
  
  .contBlock09 {
    /* background-image: url("/attending/media/cruise/images/cts02/banner_cont_bg01.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; */
    padding: 40px 0px 35px 0px;
    background-color: #facb85;
  }
  .bannerFlex01 {
    display: flex;
    justify-content: space-between;
  }
  .bannerFlex01 li {
    width: 49%;
  }
  .bannerFlex01 li a:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    transition-duration: 0.3s;
  }
  .bannerTyusyaku01 {
    font-size: 14px;
    line-height: 1.6em;
    /* color: #ffffff; */
    text-align: center;
    margin-top: 6px;
  }
  
  .tel_wapper {
    font-family: "Noto Serif JP", serif;
    border: 2px solid #06286f;
    background-color: #fff;
    padding: 2%;
  }
  
  .tel_wapper h3 {
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    color: #06286f;
    padding-bottom: 1%;
    margin-bottom: 2%;
    border-bottom: 2px solid #06286f;
  }
  
  .tel_wapper h3 img {
    width: 26px;
    height: 26px;
    margin-right: 1%;
  }
  
  .tel_wapper h3 span {
    font-size: 18px;
  }
  
  .tel_wapper dl {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .tel_wapper dt {
    font-size: 29px;
    letter-spacing: -0.05em;
    margin-bottom: 1%;
    margin-right: 2.5%;
  }
  
  .tel_wapper dd span {
    color: #fff;
    background-color: #06286f;
    padding: 0 1.25%;
    font-size: 22px;
  }
  
  .tel_wapper dd strong {
    font-size: 22px;
    margin-left: 10px;
  }
  
  .tel_wapper dd a {
    color: #ff0000;
    line-height: 1;
    font-size: 58px;
    font-weight: 600;
    pointer-events: none;
  }
  
  .tel_wapper .note {
    font-size: 13px;
    margin-bottom: 1%;
  }
  
  .tel_wapper .time {
    font-size: 20px;
    font-weight: 600;
  }
  
  .tel_wapper .time span {
    background-color: #000;
    color: #fff;
    padding: 0 1%;
    margin-right: 1%;
  }
  
  /*--2023/07/20-------------------*/
  
  .contBlock11 {
    background: url(/attending/media/cruise/images/cts02/cont_new_bg01.png) no-repeat
        top 6% right calc(50% - 522px) / 288px,
      url(/attending/media/cruise/images/cts02/cont_new_bg02.png) no-repeat bottom 10px
        left calc(50% - 522px),
      #fdedd3;
    padding: 50px 0px 55px 0px;
    position: relative;
  }
  .contH201 {
    text-align: center;
    margin-bottom: 40px;
  }
  .contH201 img {
    width: auto;
    height: auto;
  }
  .contFlex1102 {
    display: flex;
    justify-content: space-between;
  }
  .contFlex1102 li {
    width: 32%;
    flex-shrink: 0;
    background-color: transparent;
  }
  
  .contBlock12 {
    background: url(/attending/media/cruise/images/cts02/cont_new_bg03.png) no-repeat
        top 6% left calc(50% - 560px),
      url(/attending/media/cruise/images/cts02/cont_new_bg04.png) no-repeat bottom 10px
        right calc(50% - 580px),
      #facb85;
    padding: 50px 0px 55px 0px;
    position: relative;
  }
  .contBlock14 {
    background: url(/attending/media/cruise/images/cts02/cont_new_bg01.png) no-repeat
        top 6% left calc(50% - 560px),
      url(/attending/media/cruise/images/cts02/cont_new_bg01.png) no-repeat bottom 10px
        right calc(50% - 580px),
      #cef4ff;
    padding: 50px 0px 55px 0px;
    position: relative;
    background-size: 150px;
  }
  .contFlex12 {
    /*display: flex;*/
    justify-content: space-between;
  }
  .contFlex12 li {
    width: 32%;
    flex-shrink: 0;
    background-color: #ffffff;
  }
  .contFlex12 li .box01 {
    padding: 15px 20px 20px 20px;
  }
  .contFlex12 li .box01 dt {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 80px;
    color: #78191c;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    line-height: 1.3em;
    font-weight: bold;
  }
  .contFlex12 li .box01 dd {
    font-size: 16px;
    line-height: 1.85;
  }
  
  /*--2023 08 02-----------------*/
  
  .contNewBg01 {
    position: absolute;
    top: 160px;
    left: 42%;
    margin-left: 452px;
  }
  .contNewBg01 img {
    width: auto;
    height: auto;
  }
  
  .contNewBg02 {
    position: absolute;
    /*top: 92px;*/
    bottom: 10px;
    right: 50%;
    margin-right: 400px;
  }
  .contNewBg02 img {
    width: auto;
    height: auto;
  }
  
  .contNewBg03 {
    position: absolute;
    bottom: 20px;
    left: 50%;
    margin-left: 452px;
  }
  .contNewBg03 img {
    width: auto;
    height: auto;
  }
  
  .note {
    /* margin-top: 10px;
    text-align: center; */
  }
  .s03 {
    font-size: 16px;
    line-height: 1em;
    font-weight: bold;
    color: #ffffff;
    background-color: #05286e;
    border-radius: 30px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 25px;
    padding: 2px 15px;
    display: inline-flex;
  }
  .time {
    font-size: 15px;
    white-space: nowrap;
  }
  
  small {
    display: inline-block;
  }
  
  /*-------------------------------
    2024/01/31 追加
  --------------------------------*/
  
  .mapNewImg01 {
    position: absolute;
    top: 60px;
    left: 10px;
  }
  .mapNewImg02 {
    position: absolute;
    top: 540px;
    left: 330px;
  }
  .mapNewImg03 {
    position: absolute;
    top: 480px;
    /*left: 300px;*/
    right: 0px;
  }
  .mapNewImg04 {
    position: absolute;
    top: -20px;
    right: 296px;
  }
  .mapNewImg05 {
    position: absolute;
    top: -20px;
    right: 86px;
    width: 200px;
  }
  .mapNewImg05 > img {
    width: 100%;
    height: 120px;
    object-fit: cover;
  }
  .mapNewImg05 .ttl {
    background-color: #05286e;
    padding: 5px;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    line-height: 1.2;
    text-align: center;
  }
  .mapNewImg05 .ttl span {
    font-size: 12px;
    font-weight: 400;
    display: block;
  }
  .mapNewImg05 .copyright {
    font-size: 10px;
    font-weight: 400;
    display: block;
    position: absolute;
    bottom: 5px;
    right: 5px;
    color: #fff;
    text-shadow: 
    -1px -1px 2px rgba(0, 0, 0, 0.9),
    1px 1px 2px rgba(0, 0, 0, 0.9),
    -1px 1px 2px rgba(0, 0, 0, 0.9),
    1px -1px 2px rgba(0, 0, 0, 0.9)
    ;
  }
  
  .mapNewImg01 img ,
  .mapNewImg02 img ,
  .mapNewImg03 img ,
  .mapNewImg04 img {
    /* width:80%; */
  }
  .cruise_wapper {
    display: flex;
    align-items: flex-end;
    gap: 15px;
    position: absolute;
    top: 744px;
    left: 352px;
  }
  .map_txt span {
    display: inline;
    background: linear-gradient(transparent 60%, #fffbb3 0%);
    line-height: 1.5;
  }
  .mapNewContBox01 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    width: 680px;
    padding: 10px;
    border: 1px solid #05286e;
    background-color: #b5fbf9;
    /*position: absolute;
    right: 0px;
    bottom: 40px;*/
    margin: 0px auto 20px auto;
  }
  .mapNewFlexBox01 {
    width: 26%;
  }
  .mapNewFlexBox02 {
    width: 71%;
  }
  .mapNewFlexBox02 dt {
    color: #05286e;
    font-size: 21px;
    line-height: 1.1em;
    font-weight: bold;
    margin-bottom: 10px;
  }
  .mapNewFlexBox02 dd {
    font-size: 15px;
    line-height: 1.5em;
    font-weight: normal;
  }
  
  /*--2024/02/14 追加------------------*/
  
  .contNewText01 {
    text-align: center;
    color: #ff0000;
    font-size: 16px;
    line-height: 1.5em;
    font-weight: normal;
    margin-bottom: 25px;
  }
  .contNewText02 {
    display: block;
    width: 700px;
    font-size: 16px;
    line-height: 1.5em;
    font-weight: normal;
    margin: 0 auto 30px;
  }
  
  .contFlex12 li .box01 dt .s01 {
    display: block;
    font-size: 14px;
  }
  
  .note.tal {
    text-align: left;
  }
  
  /* 2024/03/26追加 */
  .schedule_close {
    position: absolute;
    bottom: 22px;
    width: 84px;
    height: auto;
    left: calc(50% - 84px / 2);
  }
  
  .contBlock13 {
    margin-top: 70px;
  }
  .cpn__block {
    position: relative;
    width: 1024px;
    height: 679px;
    background: url(/attending/media/cruise/images/cts02/cpn_SP24-059492D_SP24-009630D_SP24-037646D.png);
  }
  .cpn__block h3 {
    display: none;
  }
  .cpn__txt01 {
    display: block;
    width: 440px;
    font-size: 16px;
    line-height: 1.6;
    position: absolute;
    top: 247px;
    right: 40px;
  }
  .cpn__txt02 {
    width: 430px;
    font-size: 13px;
    font-weight: 300;
    position: absolute;
    top: 540px;
    left: 40px;
  }
  .cpn__txt02 p {
    text-indent: -1em;
    padding-left: 1em;
  }
  
  .posiRe01 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .ports {
    width: 500px;
    /*height: 660px;*/
    margin-bottom: 30px;
  }
  .contNewH301 {
    width: 100%;
  }
  .ports h3 {
    display: inline-block;
    color: #fff;
    background-color: #78191c;
    text-align: center;
    line-height: 28px;
    padding: 5px 5px;
    font-size: 24px;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
    position: relative;
    z-index: 1;
  }
  .ports h3 span {
    font-size: 16px;
  }
  .ports_block {
    /*margin-top: -30px;*/
    background: #ffffff;
    padding: 10px;
    display: flex;
    /*gap: 15px;*/
    height: 570px;
  }
  /* .ports.a .ports_block, .ports.b .ports_block{
      height: 595px;
  } */
  .ports_img01 {
    display: block;
    /*width: 310px;*/
  }
  .ports_wrap01 {
    width: 100%;
  }
  .ports_txt {
    margin-top: 15px;
    font-size: 14px;
  }
  .ports_txt2 {
    margin-top: 15px;
    font-size: 14px;
    border-top: 1px dashed #828282;
    padding-top: 15px;
  }
  /* .ports_txt2.bb{
    margin-bottom: 15px;
    border-bottom: 1px dashed #828282;
      padding-bottom: 15px;
  } */
  .red {
    color: #ff0000;
  }
  .blue {
    color: #0077e6;
  }
  .orange {
    color: #ff7800;
  }
  .fs12 {
    font-size: 12px;
  }
  
  .tourist {
    width: 1024px;
    /*height: 660px;*/
    margin-bottom: 30px;
  }
  .tourist h3 {
    display: inline-block;
    color: #fff;
    background-color: #78191c;
    text-align: center;
    line-height: 28px;
    padding: 5px 5px;
    font-size: 24px;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
    position: relative;
    z-index: 1;
  }
  .tourist h3 span {
    font-size: 16px;
  }
  .tourist_block {
    /*margin-top: -30px;*/
    background: #ffffff;
    padding: 20px;
    display: flex;
    gap: 15px;
    /* height: 420px; */
  }
  .tourist_img01 {
    /* position:relative; */
    display: block;
    width: 60%;
  }
  .tourist_img01 span {
    /* position:absolute; */
    bottom: 5px;
    right: 5px;
    display: block;
    padding: 3px 0px 0px;
    text-align: right;
    background: #fff;
    font-size: 12px;
    color: #333;
  }
  .tourist:nth-child(even) .tourist_block .tourist_img01 {
    order: 2;
  }
  
  .tourist_wrap01 {
    width: 40%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .tourist_ttl {
    /*margin-top: 15px;*/
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #d5faff;
    font-size: 30px;
    font-weight: 700;
    text-align: center;
    font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3",
      "Hiragino Mincho Pro", "serif";
    color: #05286e;
  }
  .tourist_ttl::before {
    content: "";
    background: url(/attending/media/cruise/images/cts02/kazari.png) no-repeat;
    width: 20px;
    height: 43px;
    position: absolute;
    left: 2px;
    top: 2px;
  }
  .tourist_ttl::after {
    content: "";
    background: url(/attending/media/cruise/images/cts02/kazari.png) no-repeat;
    width: 20px;
    height: 43px;
    position: absolute;
    right: 2px;
    top: 2px;
    transform: scale(-1, 1);
    /*display:inline-block;*/
  }
  .tourist_ttl_deco {
    background-color: #05286e;
    color: white;
    font-size: 14px;
    padding: 3px 8px;
    margin-right: 8px;
  }
  .tourist_txt {
    margin: 10px 0px 0;
    font-size: 16px;
  }
  .tourist_img-col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: auto;
  }
  /* .tourist_img-col div{
    position:relative;
  } */
  .tourist_img-col div span {
    /* position:absolute; */
    bottom: 5px;
    right: 5px;
    display: block;
    padding: 3px 0px 0px;
    text-align: right;
    background: #fff;
    font-size: 12px;
    color: #333;
  }
  
  .tour-note[data-astro-cid-lcesmlr4] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    margin-bottom: 40px;
    padding: 50px;
    background-color: #fff;
  }
  
  .tour-note__header[data-astro-cid-lcesmlr4] {
    display: grid;
    gap: 20px;
  }
  
  .tour-note__h3[data-astro-cid-lcesmlr4] {
    position: relative;
    color: #06286f;
    font-family: "Noto Serif JP", serif;
    font-weight: 900;
    font-style: normal;
    font-size: 30px;
    transform: skew(-10deg);
    letter-spacing: -0.05em;
    line-height: 1.2;
    background: linear-gradient(transparent 75%, #cef4ff 50%);
  }
  
  .tour-note__h3[data-astro-cid-lcesmlr4]:before,
  .tour-note__h3[data-astro-cid-lcesmlr4]:after {
    content: "";
    position: absolute;
    top: 4px;
    display: block;
    width: 16px;
    height: 32px;
    background: url(/attending/media/cruise/images/cts02/deco_accent.svg) no-repeat
      center / contain;
  }
  
  .tour-note__h3[data-astro-cid-lcesmlr4]:before {
    left: -30px;
    transform: skew(10deg);
  }
  
  .tour-note__h3[data-astro-cid-lcesmlr4]:after {
    right: -30px;
    transform: rotate(180deg) skew(10deg);
  }
  
  .tour-note__caption[data-astro-cid-lcesmlr4] {
    color: #06286f;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 20px;
    text-align: center;
    letter-spacing: -0.05em;
  }
  
  .tour-note__dl[data-astro-cid-lcesmlr4] {
    display: grid;
    grid-template-columns: 99px 1fr;
    align-items: center;
    column-gap: 16px;
    width: 100%;
  }
  
  .tour-note__logo[data-astro-cid-lcesmlr4] {
    grid-area: 1 / 1 / 3 / 2;
  }
  
  .tour-note__title[data-astro-cid-lcesmlr4] {
    grid-area: 1 / 2 / 2 / 3;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    font-style: normal;
    font-size: 24px;
    letter-spacing: -0.05em;
  }
  
  .tour-note__text[data-astro-cid-lcesmlr4] {
    grid-area: 2 / 2 / 3 / 3;
    font-size: 14px;
  }
  
  .tour-note__note[data-astro-cid-lcesmlr4] {
    display: block;
    width: 100%;
    margin-top: -10px;
    font-size: 14px;
  }
  
  .global__gold-frame {
    border: 1px solid;
    border-image: linear-gradient(to bottom, #b28836, #fff7cc, #b28836) 1;
  }
  .htlRank_note {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 5px;
    font-size: 16px;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    color: #333;
    margin: 10px 0 20px;
  }
  .htlRank_note span:nth-of-type(1) {
    position: relative;
    background-image: linear-gradient(0deg, #a80e0e, #db0000 50%, #a80e0e);
    color: #fff;
    padding: 5px 10px;
    /* display: flex;
    justify-content: center;
    align-items: center; */
    text-align: center;
    line-height: 1.2;
    white-space: nowrap;
  }
  .htlRank_note span:nth-of-type(1)::before{
    content: '';
    position: absolute;
    width: calc(100% - 5px);
    height: calc(100% - 5px);
    border: 0.5px solid #fff;
    inset: 0;
    margin: auto;
  }
  .htlRank_note p:nth-of-type(2) {
  
  }
}