/* -------all------- */

.mv {
    background: url(../images/mv.jpg) no-repeat center center;
    background-size: cover;
    width: 100%;
    padding-top: 240px;
    position: relative;
}

.inn_title {
    margin-top: 50px;
}

.inn_title p.icon {
    width: 28px;
    margin: 0 auto;
}

.inn_title p.icon img {
    width: 100%;
}

.inn_title h3 {
    font-size: 24px;
    text-align: center;
    color: #3ac5ce;
    font-weight: bold;
    line-height: 24px;
    margin-bottom: 30px;
    margin-top: 10px;
}

.inn_title h3 span {
    font-size: 16px;
    margin-bottom: 10px;
    display: block;
}

.inn_text {
    font-size: 16px;
    font-weight: bold;
    color: #505050;
    text-align: center;
    margin-bottom: 30px;
}

.inn_text .fontS {
    font-size: 12px;
    margin-top: 20px;
}

/* slider */
.slick-slide {
    padding: 0 1.5em !important;
}
.attention a{
	display: block;
font-size: 1.6em; margin-bottom: 30px; text-align: center; font-weight: bold;color: red;
}

/*arrow*/

.triangle01 {
    width: 0;
    height: 0;
    border-top: solid 15px transparent;
    border-right: solid 15px transparent;
    border-bottom: solid 15px transparent;
    border-left: solid 15px #fff;
    margin-bottom: 50px;
}

.triangle02 {
    width: 0;
    height: 0;
    border-top: solid 15px transparent;
    border-left: solid 15px transparent;
    border-bottom: solid 15px transparent;
    border-right: solid 15px #fff;
    position: relative;
    right: 15px;
}


.wrapper-arrow {
    text-align: center;
}

.arrow {
    position: relative;
    display: inline-block;
    padding: 0 0 0 0px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
}

.arrow::before,
.arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

.sample5-6::before {
    content: '';
    box-sizing: border-box;
    width: 19px;
    height: 19px;
    background: #fff;
    border: 2px solid #3ac5ce;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}

.sample5-6::after {
    content: '';
    left: 6px;
    top: -1px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #3ac5ce;
    border-right: 2px solid #3ac5ce;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}


/* -------table------- */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

div.bscTbl table {
    border-left: 1px solid #CCC;
}

div.bscTbl table.fixed {
    table-layout: fixed;
}

div.bscTbl td {
    border-right: 1px solid #CCC;
}

div.bscTbl th,
div.bscTbl td {
    padding: 8px 15px;
    border-bottom: 1px solid #CCC;
}

div.bscTbl th {
    background: #3ac5ce;
    border-right: 1px solid #CCC;
    color: #fff;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
}

div.bscTbl.center table td {
    text-align: center;
    vertical-align: middle;
}


div.bscTbl table td.blue02 {
    background: #d5e6f0;
}

div.bscTbl table .gray {
    background: #f3f3f3 !important;
}

div.bscTbl table .white {
    background: #fff !important;
}

div.bscTbl table .blue {
    background: #3ac5ce !important;
    color: #fff;
}

div.bscTbl table .fontS {
    font-size: 12px;
}

.tableBox03 {
    font-weight: bold;
    font-size: 14px;
    color: #505050;
}

.tableBox03 table td {
    text-align: left;
    padding-left: 30px;
}

.tableBox03 table td {
    border-top: 1px solid #CCC;
}



/* -------section01------- */

section {
    position: relative;
    background: linear-gradient(#fff, #ebf9fa);
    overflow: hidden;
}

.tableBox03 {
    margin-bottom: 50px;
}


#section01 .ancBox ul {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

#section01 .ancBox ul li .ancBox {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 15px;
    background: #eef8f8;
    border: 2px solid #3ac5ce;
    border-radius: 15px;
    text-align: center;
}

#section01 .ancBox ul li {
    width: 23%;
    margin-right: 15px;
}

#section01 .ancBox ul li:last-child {
    margin-right: 0;
}


#section01 .ancBox ul li .txtBox .title {
    font-size: 18px;
    font-weight: bold;
    color: #3ac5ce;
    line-height: 1;
    margin-bottom: 5px;
}

#section01 .ancBox ul li .txtBox .txt {
    font-size: 14px;
    font-weight: bold;
    color: #505050;
    line-height: 1;
}



/* -------section02------- */

/* 運航マップ */

.mapBox {
    margin-bottom: 50px;
}

.map {
    width: 100%;
    display: inline-block;
    text-align: center;
    margin: 0 auto;
}

.map img {
    width: 100%;
}

/* イメージ拡大 */

.wideImage {
    text-align: right;
}

.wideImage a {
    font-size: 14px;
    font-weight: bold;
    color: #247ab6;
    line-height: 16px;
    letter-spacing: 0.15em;
    margin-top: 10px;
    display: inline-block
}

.wideImage span {
    width: 18px;
    display: inline-block;
    margin: 2px;
}

.wideImage span img {
    width: 100%;
}


/* box01 */

.contentsBox .box01 {
    border-radius: 10px;
    border-bottom: 5px solid #dddddd;
    padding: 40px;
    margin: 0 auto 50px;
}

.contentsBox h3.subTitle {
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 26px;
    text-align: center;
    color: #505050;
    display: block;
    margin-bottom: 20px
}

.contentsBox .subText {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin-bottom: 30px;
}

.contentsBox p.mainTxt {
    font-size: 16px;
    font-weight: bold;
    color: #505050;
    line-height: 30px;
    letter-spacing: 0.15em;
    text-align: center;
    margin-bottom: 30px;
}

.contentsBox .box01 .listBox .wideBox {
    display: block;
    padding: 5px 0;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    color: #505050;
    line-height: 30px;
    letter-spacing: 0.15em;
    border-radius: 50px;
    -webkit-box-shadow: 0 0 5px 0 #bdbbbb;
    -moz-box-shadow: 0 0 5px 0 #bdbbbb;
    box-shadow: 0 0 5px 0 #bdbbbb;
    background: #ffe2a2;
}

.contentsBox .box01 .listBox .wideBox span {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.15em;
}

.contentsBox .box01 .listBox .arrow {
    display: block;
    width: 0;
    height: 0;
    border: 12px solid transparent;
    border-top: 12px solid #fff;
    border-bottom-width: 0;
    margin: 20px auto;
}

.contentsBox .box01 .listBox ul {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.contentsBox .box01 .listBox ul:last-child {
    margin-bottom: 0;
}


.contentsBox .box01 .listBox.two ul li {
    width: 48%;
    margin-bottom: 20px;
}

.contentsBox .box01 .listBox.two ul li:nth-child(even) {
    margin-right: 0;
}


.contentsBox .box01 .listBox.three ul li {
    width: 32%;
}

.contentsBox .box01 .listBox ul li {
    width: 49%;
    margin-right: 20px;
    -webkit-box-shadow: 0 0 5px 0 #bdbbbb;
    -moz-box-shadow: 0 0 5px 0 #bdbbbb;
    box-shadow: 0 0 5px 0 #bdbbbb;
    border-radius: 20px;
}

.contentsBox .box01 .listBox ul li:last-child {
    margin-right: 0
}

.contentsBox .box01 .listBox ul li .listTxt {
    padding: 20px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    background: #fff;
}

.contentsBox .box01 .listBox ul li .listTxt p.title {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.15em;
    line-height: 26px;
    text-align: left;
    color: #247ab6;
    display: block;
    margin-bottom: 5px
}

.contentsBox .box01 .listBox ul li .listTxt p.txt {
    font-size: 14px;
    font-weight: bold;
    color: #505050;
    line-height: 30px;
    letter-spacing: 0.15em;
    text-align: left;
}


/* box02 */


.contentsBox .box02 {
    border-radius: 10px;
    border-bottom: 5px solid #dddddd;
    padding: 40px;
    margin: 0 auto 50px;
}

.contentsBox .box02 .listBox ul {
    justify-content: center;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.contentsBox .box02 .listBox ul:last-child {
    margin-bottom: 0;
}

.contentsBox .box02 .listBox ul li {
    width: 49%;
    margin-right: 20px;
    -webkit-box-shadow: 0 0 5px 0 #bdbbbb;
    -moz-box-shadow: 0 0 5px 0 #bdbbbb;
    box-shadow: 0 0 5px 0 #bdbbbb;
    border-radius: 10px;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
}

.contentsBox .box02 .listBox ul li:last-child {
    margin-right: 0
}


.contentsBox .box02 .listBox ul li .listTxt {
    margin-bottom: 20px;
}

.contentsBox .box02 .listBox ul li .listTxt p.title {
    justify-content: left;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.contentsBox .box02 .listBox ul li .listTxt p.title .numberBox {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 24px;
    text-align: left;
    color: #fff;
    padding: 12px;
    margin-right: 10px;
    display: table;
    vertical-align: middle;
}

.contentsBox .box02 .listBox ul li .listTxt p.title span.boxTxt {
    font-size: 14px;
    font-weight: bold;
    color: #505050;
    line-height: 1;
    letter-spacing: 0.15em;
    text-align: left;
}

.contentsBox .box02 .listBox ul li .listTxt p.title span.boxTxt .boxTiltle {
    font-size: 18px;
    font-weight: bold;
    color: #505050;
    line-height: 2;
    letter-spacing: 0.15em;
    text-align: left;
}

.contentsBox .box02 .listBox ul li .listTxt p.txt {
    font-size: 14px;
    font-weight: bold;
    color: #505050;
    line-height: 24px;
    letter-spacing: 0.15em;
    text-align: left;
    border-top: 1px dotted #b0b0b0;
    padding-top: 10px;
}

.contentsBox .box02 .listBox ul li .info {
    font-size: 12px;
    font-weight: 400;
    color: #505050;
    line-height: 18px;
    letter-spacing: 0.1em;
    text-align: left;
    padding-top: 10px;
}




@media screen and (max-width: 720px) {

    /*all*/

    section {
        padding: 30px 20px;
    }

    h2.sub_title {
        font-size: 22px;
    }

    h2.sub_title span {
        width: 40px;
        padding: 10px 0 0;
    }

    h2.sub_main_title {
        font-size: 24px;
    }


    h3.txt {
        font-size: 14px;
        margin-bottom: 30px;
    }

    #ftBtn {
        padding: 0 20px 30px;
    }

    .btn {
        width: 100%;
        margin-bottom: 10px;
    }

    .btn .img {
        width: 22px;
        margin-bottom: 0;
    }

    .btn .line {
        padding: 10px;
    }

    #ft_cruise {
        padding: 0;
    }

    #ft_cruise .wrapper .list a {
        width: 100%;
        padding-top: 30%;
    }

    #ft_cruise .wrapper .list p {
        font-size: 22px;
        margin-bottom: 5px
    }

    #ft_cruise .wrapper .list a span {
        font-size: 14px;
    }


	
    /* table */

    div.bscTbl {
        width: 100%;
        overflow: scroll;
        font-size: 12px;
    }

    div.bscTbl table {
        width: 960px !important;
    }

    .bscTbl::after {
        content: '右にスクロールしてください →';
        font-size: 12px;
        letter-spacing: 0.15em;
        text-align: right;
        color: #3ac5ce;
        font-weight: bold;
    }

    /*section01*/

    #section01 .ancBox ul {
        margin-bottom: 20px;
    }

    #section01 .ancBox ul li {
        width: 100%;
        margin-bottom: 10px;
        margin-right: 0;
    }

    #section01 .ancBox ul li .ancBox {
        margin: 0 auto;
        text-align: center;
        display: block;
    }

    #section01 .ancBox ul li .number {
        margin-right: 0;
        font-size: 14px;
        line-height: 19px;
        padding: 8px 12px;
        margin: 0 auto 10px;
    }

    #section01 .ancBox ul li .txtBox .title {
        font-size: 16px;
        text-align: center;
        line-height: 1.2;
    }

    #section01 .ancBox ul li .txtBox .txt {
        font-size: 12px;
    }



    /*section02*/

    .contentsBox .box01 {
        padding: 20px;
    }

    .contentsBox p.mainTxt {
        font-size: 14px;
        margin-bottom: 15px;
        line-height: 24px;
    }

    .contentsBox .box01 .listBox .wideBox span {
        font-size: 16px;
        display: block;
    }

    .contentsBox .box01 .listBox .arrow {
        margin: 10px auto;
    }

    .contentsBox .box01 .listBox.two ul li,
    .contentsBox .box01 .listBox.three ul li,
    .contentsBox .box01 .listBox ul li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }

    .contentsBox .box01 .listBox ul {
        margin-bottom: 0;
    }

    .contentsBox .box01 .listBox ul li:last-child {
        margin-bottom: 0;
    }


    .contentsBox h3.subTitle {
        font-size: 18px;
        margin-bottom: 15px !important;
    }

    .contentsBox .box02 {
        padding: 20px;
        margin: 0 auto 0;
    }

    .contentsBox .box02 .listBox ul li {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }

    .contentsBox .box02 .listBox ul li .listTxt p.title {
        justify-content: center;
    }

    .contentsBox .box02 .listBox ul li .listTxt p.title .numberBox {
        font-size: 18px;
        line-height: 18px;
        margin-right: 0;
        margin-bottom: 10px;
    }

    .contentsBox .box02 .listBox ul li .listTxt p.title span.boxTxt {
        text-align: center;
        line-height: 1.5;
    }

    .contentsBox .box02 .listBox ul li .listTxt p.txt {
        text-align: center;
    }

    .contentsBox .box02 .listBox ul li .listImg .img {
        width: 100%;
        padding-top: 50%;
        margin-right: 0;
    }

    .contentsBox .box02 .listBox ul li .listImg .img:first-child {
        margin-bottom: 10px;
    }

}



/*popup*/
.bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

.bg_onetime_popup.js_active {
    opacity: 1;
    visibility: visible;
}

.onetime_popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 50%;
    background-color: #fff;
    cursor: pointer;
    padding: 30px;
    font-size: 1.4em;
    border: 5px #3ac5ce solid;
}

.onetime_popup_title {
    position: relative;
    margin: 0px;
    color: red;
    font-weight: bold;
    /* font-size: 1.6em; */
    text-align: center;
    line-height: 1.5;
    margin-bottom: 20px;
}
.onetime_popup_title::before,
.onetime_popup_title::after {
    position: absolute;
    top: -100%;
    left: -35px;
    transform: translateY(-50%);
    width: 30px;
    height: 5px;
    background-color: #FFF;
    content: "";
	pointer-events: none;
}
.onetime_popup_title::before {
    transform: rotate(45deg);
}
.onetime_popup_title::after {
    transform: rotate(-45deg);
}




.onetime_popup_content a{
    display:block;
    text-align: center;
    background-color:#3ac5ce;
    padding:10px;
    border-radius:100px;
    color:#FFF;
    font-weight:bold;
}	





body , html {
  height: 100%;
}
#maincontants {
  width: 100%;
  position: relative;
  height: auto !important;
  height: 100%;
  min-height: 100%;
}
#maincontants {
  /*padding-bottom: 100px;*/
}



.banner {
background-color:red;
	color: #FFF;
	font-weight: bold;
	text-align: center;
	padding: 20px 0;
	font-size: 1.4em;
  position: fixed;
  bottom: 0;
  width: 100%;
	z-index: 9999;
}


.banner a{
display: inline-block;
    background-color: #FFF;
    padding: 5px 20px;
    margin-top: 5px;
    color: red;
    border-radius: 100px;
}



@media screen and (max-width: 720px) {
.onetime_popup {
    width: 100%;
}
.onetime_popup_title::before,
.onetime_popup_title::after {
    top: -70%;
}
	
	
.banner{
	font-size: 1em;
}
	
	
	
}
	