@charset "utf-8";

/****************************************
		0. 全体の設定
*****************************************/
#mainVisual{
	width: 100%;
	background-image:url(../img/main_image01.jpg);
	background-repeat:no-repeat;
	text-align:center;
	padding: 18% 5%;
	background-size: cover;
}
#ttlLogo{
	background-color: #FFCB22;
	border-bottom: 4px solid #fff;
	text-align:center;
}
#ttlLogoInner{
	width: 20%;
	max-width: 84px;
	margin: 0 auto;
}
#ttlLogo img{
	width: 100%;
}
#wrap .hidden{
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}
#wrap h1 img{
	width: 100%;
}
#costaNav{
	width: 100%;
	background-color: #0077BE;
	border-bottom: 5px solid #FFCB22;
	position: relative;
}
#costaNav:before {
    position: absolute;
    top: -12px;
    background-image: url(../../img/wave01.png);
    background-repeat: repeat-x;
    background-position: center top;
    content: '';
    height: 12px;
    display: block;
    width: 100%;
}

#costaNav ul{
	width: 100%;
	display: flex;
	flex-wrap:wrap;
}
#costaNav ul li{
	width: 50%;
	background-image: url(../img/nav_btn.png);
	background-repeat: no-repeat;
	background-position: top 50% right 5px ;
	background-size: 20px;
	padding: 2% 20px 2% 2%;
	font-size: 1.2em;
	vertical-align: middle;
}

#costaNav ul li a{
	display: inline-block;
	text-align: left;
	color:#fff;
	text-decoration: none;
	font-weight: bold;
}

#costaNav ul li:nth-child(odd) {
	border-right: #fff solid 2px;
}
#costaNav ul li:first-child{
 border-bottom: #fff solid 2px;
}
#costaNav ul li:nth-child(2),
#costaNav ul li:nth-child(3),
#costaNav ul li:nth-child(4){
 border-bottom: #fff solid 2px;
}

/****************************************
		2.コンテンツ共通設定 
*****************************************/


/****************************************
			3.導入
*****************************************/
#intro{
	overflow-x: hidden;
}
#introLogo {
	width: 30%;
	margin: 0 auto;
	padding: 5% 0;
}
#introLogo img {
	width: 100%;
}
#introTtl{
	width: 100%;
	text-align: center;
	color: #003366;
	font-weight: bold;
	font-size:1.5em;
	padding: 0 2% 5%;
}
#introImage{
	margin: 0 7%;
}
#introImage img{
	width: 100%;
}
#introArea{
	/*background-image:url(../img/bg01.png);
	background-repeat: no-repeat;
	background-size: contain;*/
	background-color: #FFDF00;
	margin: 3% 0 5%;
	padding: 5% 5%;
}
#introTxt{
	font-size: 1.2em;
}
#news{
	width: 98%;
	margin: 0 5px;
	background-color: #fff;
}
#news span{
	width: 100px;
	color: #fff;
	background-color: red;
	padding: 1px 5px 1px;
	border-radius: 3px;
	font-size: 12px;
}
#cpn:hover{
	background-color: #fd7f7f;
}
#cpn{
	width: 90%;
    margin: 20px auto 30px;
    background-color: #FF5B5B;
    text-align: center;
    padding: 7px;
}
#cpn a{
	color: white;
    text-decoration: none;
    font-size: 15px;
	display: block;
}
#cpn a span{
	font-size: 25px;
    font-weight: bold;
}

/****************************************
			4.魅力
*****************************************/
#point{
	margin-bottom: 10%;
	overflow-x: hidden;
}
#point h2{
	font-weight: bold;
	font-size: 1.5em;
	text-align: center;
	padding-bottom: 5%;
}

/*.point_box{
	border: #000 solid 1px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	margin: 0 2% 2%;
	background-image: url(../img/icon_arrow.png);
	background-position: top 50% right 3px;
	background-size: 16px;
	background-repeat: no-repeat;
	padding-right: 24px;
}*/
.point_box{
	border: #000 solid 1px;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	margin: 0 2% 2%;
	padding-right: 2%;
	position: relative;
	background-position: right 2px bottom 2px;
	background-image: url(../img/icon_corner.png);
	background-size: 10px;
	background-repeat: no-repeat;
}
.point_box a{
	 position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
	z-index: 100;
}

.point_l{
	padding: 5% 0;
	width: 40%
}
.point_l img{
	width: 100%;
}

.point_r{
 width: 60%;
	padding: 2% 0 5%;
}
.point_box h3{
	font-size: 1.5em;
	padding-bottom: 5%;
}

.point_box h3 span{
	font-size: 1.8em;
}

.movie_wrap {
	margin-top: 8%;
	padding: 5% 0 4%;
	background-color: #ffdf01;
}

.movie_wrap h3{
	font-size: 1.5em;
	text-align: center;
	padding-bottom: 2%;
}
.movie_wrap h3 small {
	font-size: 0.8em;
}
.movie_wrap iframe {
	width: 100%;
	border: none;
	overflow: hidden;
}
video {
	width: 100%;
	height: auto;
	padding: 0 2%;
}
video img{
	width: 100%;
}
.point_text02 {
	margin-bottom: 5%;
	padding: 2% 5%;
	border: 5px dotted #ffdf00;
}

/****************************************
			5.お得な情報
*****************************************/
#information{
	background-image: url(../img/info_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
}
#information h2{
	width: 30%;
	margin: 0 auto;
	padding: 5% 0 0;
}
#information h2 img{
	width: 100%;
}
.info_box{
	background-color: rgba(255,255,255,0.8);
	margin: 5% 2%;
}
.info_box h3{
	background-color: #FF5B5B;
	color: #fff;
	font-size: 1.5em;
	text-align: center;
	padding: 1% 0;
}
.info_box h3 span{
	line-height: 30px;
    font-size: 12px;
    border-bottom: 0.5px #fff solid;
	padding: 5px 10px;
}
.icon_crown{
	width:　30px;
	display: inline-block;
}
.icon_crown img{
width: 100%;
	vertical-align:baseline;
}
.info_box dl{
	padding: 2%;
}
.info_box dt{
	font-weight: bold;
	font-size: 1.2em;
	line-height: 1.2;
	padding-bottom: 5%;
}
.info_box img {
	width: 70%;
}

/****************************************
			6.my first cruise.
*****************************************/
#myfirstcruise {
	width: 95%;
	margin: 0 auto;
	padding: 20px 10px 30px;
    background-color: #d9f7ff;
    border-radius: 48px;
}
#myfirstcruise .info_box_l{
	margin-right: 0px;
	width: unset;
}
#myfirstcruise .info_box_l p{
	text-align: center;
}
#myfirstcruise h4{
	font-size: 17px;
	font-weight: bold;
	text-align: center;
    margin: 5px 5px 10px;
}
#myfirstcruise dt{
	font-size: 16px;
	font-weight: bold;
	color: #0073bd;
}
#myfirstcruise dt span{
	font-size: 13px;
	background-color: #ff5e5e;
    color: #fff;
    padding: 2px 8px;
    border-radius: 4px;
	margin-right: 7px;
}
#myfirstcruise dd{
}

#myfirstcruise .small{
	font-size: 13px;
}
.tableBox{
	width: 100%;
    margin: 5px auto;
}

.tableBox table{
	line-height: 18px;
}
.tableBox tbody{
	background-color: #fff;
}
.tableBox th{
	height: 35px;
	color:#fff;
	font-weight:bold;
	background-color: #0073bd;
	text-align:center;
	line-height: 18px;
	padding: 5px 5px;
}
.tableBox tr,td{
	text-align:center;
	vertical-align:middle;
}
.tableBox table td.type{
	text-align:left;
	padding:5px;
	vertical-align:middle;
	width: 33%;
	font-size: 13px;
}
.tableBox table td.days{
	text-align:center;
	vertical-align:middle;
	padding-bottom:5px;
	padding-top:5px;
	font-size: 13px;
	width: 20%;
	background-color: #d9dfe2;
}
.tableBox table td.price{
	color:#b90d0d;
	text-align:center;
	vertical-align:middle;
	width:150px;
}
.bold{
	font-weight:bold;
	line-height:16px;
}
.fc_red {
	color:#b90d0d;
}

/****************************************
			6.コース一覧
*****************************************/

#tourList{
	background:linear-gradient(#49D8FC,#A4ECFE); 
}
#tourList::after{
	content: "";
	background: url(../img/wave03.gif) center center repeat-x;
	width: 100%;
	height: 34px;
	display: block;
}
#tourList h2{
	width: 30%;
	margin: 0 auto;
	padding: 5% 0;
}
#tourList h2 img{
	width: 100%;
}
#tourList nav ul{
	width: 100%;
	display: flex;
	flex-wrap:wrap;
}
#tourList ul li{
	width: 46%;
	margin: 0 auto;
	border: #999999 solid 1px;
	background-color: #fff;
	background-image: url(../img/icon_down01.png);
	background-repeat: no-repeat;
	background-position: bottom 0px left 50% ;
	background-size: 1.2em;
	padding: 2% 0 14px;;
	font-size: 1.2em;
	vertical-align: middle;
	text-align: center;
	line-height: 1.2;
}

#tourList ul li a{
	display: inline-block;
	text-decoration: none;
	color:#000;
}
.tourlist_innner h3{
	position: relative;
	background-color: #F5C615;
	color: #ffffff;
	font-size: 1.5em;
	font-weight: bold;
	padding: 2% ;
	margin:5% 2%;
}
.tourlist_innner h3:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(245, 198, 21, 0);
	border-top-color: #F5C615;
	border-width: 10px;
	margin-left: -10px;
}
.tourlist_innner h3 span{
	padding: 1% 5%;
	background-color: #0073BD;
	font-size: 0.8em;
	font-weight: bold;
	color: #FFF;
	border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
	text-align: center;
}
.tour_box{
	width: 96%;
	margin: 0 auto 5%;
	position: relative;
}

/*r完売時用*/
.tour_box .kanbai{
	position: absolute;
    top: 0;
    right: 0;
     background-color: rgba(0, 0, 0, 0.5);
    width: 100%;
    height: 100%;
    z-index: 10;
}
.tour_box div.kanbai::before {
  content:'販売終了';
  color:#fff;
	font-size: 30px;
	background-color: #000;
	padding: 0 20px;
  position:relative;
	top:46%;
	left: 24%;
}




.photo_area{
    position: relative;
    height: 140px;
    overflow: hidden;
}
.photo_area img{
	width: 100%;
    position: relative;
    top: -60px;
}
.photo_area a{
 	position: absolute;
    	display: block;
    	top: 0;
    	left: 0;
    	width: 100%;
	height: 100%;
}
.route_map{
	display: inline-block;
	background-color: #ff2121;
	font-weight: bold;
	color: #fff;
	font-size: 1.2em;
	padding: 1% 8%;
	position: absolute;
	bottom:14px;
	right:0px;	
}
.tour_item{
	background-color: #fff;
	padding-bottom: 3%;
}
.tour_item h4{
	color:#0C386B;
	font-weight: bold;
	font-size:1.2em;
	border-bottom: dotted #000000 2px;
	padding: 2% 0;
	margin: 0 2% 2%;
	line-height: 1.2;
}

.tour_price{
	color: #0C386B;
	padding: 0 0 2% 2%;
	font-size: 1.1em;
}
.tour_dep,.tour_days,.tour_route{
	padding: 0 0 2% 2%;
	font-size: 1.1em;
	line-height: 1.3;
}
.tour_item span{
	display: inline-block;
	width: 30%;
	background-color: #EEEEEE;
	text-align: center;
	padding: 1% 5%;
	color: #000;
	font-size: 0.8em;
}
.link_btn a{
	display: block;
	background-color: #fed627;
	width:80%;
	margin: 0 auto;
	padding: 2%;
	text-align: center;
	font-size: 1em;
	font-weight: bold;
	color:#333;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.pacific_sub{
	margin: 5% 2%;
	padding: 2%;
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	background-color: #fac;
}

/****************************************
			7.その他
*****************************************/
#degiPfArea{
	padding: 5% 0;
}

#degiPfArea h3{
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
}
#degiPfArea ul li{
	display: flex;
	margin: 1% 2%;
	padding: 2%;
	border: #AAAAAA solid 1px;

}
.degiPf_l{
	width: 25%;
}
.degiPf_l img{
	width: 100%;
}
.degiPf_r{
	width: 75%;
	padding: 0 0 0 5%;
}
.degiPf_notes{
	display:inline-block; 
	background-color: #E04747;
	color:#fff;
	padding: 1% 4%;
	border-radius: 6px;
	text-align: center;
	margin-bottom: 1%;
}
.degiPf_dep{
	font-size: 1.2em;
	padding-bottom: 2%;
}
.degiPf_ttl{
	font-size: 1.6em;
	padding-bottom: 5%;
}
.degiPf_link{
	width: 100%;
	border: #AAAAAA solid 1px;
	border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
	background-image: url(../../img/icon_btn01.png);
	background-position: left 2px bottom 50%;
	background-size: 14px;
	background-repeat: no-repeat;
	font-size: 1.1em;
	padding: 3% 0 3% 20px;
}
.degiPf_link a{
	display: block;
	text-decoration: none;
	color:#000;
}
.degiPf_link:hover{
	background-color: #ffe3e3;
}
#otherArea{
	padding: 0 5% 5%;
}
#otherArea h3{
	font-size: 1.5em;
	font-weight: bold;
	text-align: center;
}
#otherArea img{
	width: 100%;
}

/****************************************
			8.波のCSS*
*****************************************/
#sineCanvasTop{
	width: 100%;
    height: 100px;
    vertical-align: top;
	transform: scale(1, -1);
	background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 1%, rgba(255,255,255,0) 70%, rgba(255,255,255,1) 99%); 
	background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(255,255,255,0) 70%,rgba(255,255,255,1) 99%); 
	background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(255,255,255,0) 1%,rgba(255,255,255,0) 70%,rgba(255,255,255,1) 99%);
}
#sineCanvasBottom {
    width: 100%;
    height: 100px;
    vertical-align: top;
	background: -moz-linear-gradient(top, rgba(125,185,232,0) 0%, rgba(85,209,247,0) 60%, rgba(73,216,252,0.96) 99%, rgba(73,216,252,1) 100%);
	background: -webkit-linear-gradient(top, rgba(125,185,232,0) 0%,rgba(85,209,247,0) 60%,rgba(73,216,252,0.96) 99%,rgba(73,216,252,1) 100%);
	background: linear-gradient(to bottom, rgba(125,185,232,0) 0%,rgba(85,209,247,0) 60%,rgba(73,216,252,0.96) 99%,rgba(73,216,252,1) 100%); 
}

/****************************************
			9.フェードイン
*****************************************/
.rightAnime {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1.5s;
	-ms-animation-duration:1.5s;
	animation-duration:1.5s;
	-webkit-animation-name: rightAnime;
	-ms-animation-name: rightAnime;
	animation-name: rightAnime;
	visibility: visible !important;
}

@-webkit-keyframes rightAnime {
	0% { opacity: 0; -webkit-transform: translateX(50px); }
	100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes rightAnime {
	0% { opacity: 0; -webkit-transform: translateX(50px); -ms-transform: translateX(50px); transform: translateX(50px); }
	100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}

/**左からふわっと**/
.leftAnime {
	-webkit-animation-fill-mode:both;
	-ms-animation-fill-mode:both;
	animation-fill-mode:both;
	-webkit-animation-duration:1.5s;
	-ms-animation-duration:1.5s;
	animation-duration:1.5s;
	-webkit-animation-name: leftAnime;
	-ms-animation-name: leftAnime;
	animation-name: leftAnime;
	visibility: visible !important;
}

@-webkit-keyframes leftAnime {
	0% { opacity: 0; -webkit-transform: translateX(-50px); }
	100% { opacity: 1; -webkit-transform: translateX(0); }
}
@keyframes leftAnime {
	0% { opacity: 0; -webkit-transform: translateX(-50px); -ms-transform: translateX(-50px); transform: translateX(-50px); }
	100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); }
}

/****************************************
			10.マーカー
*****************************************/
.marker_box{
	position: relative;
}

.marker{
	position: absolute;
	bottom:10px;
	left: 0;
	height: 5px;
	width: 100%;
	background: #FFE900;
}

.marker02{
	left: 50%;
	width: 75%;
	transform: translateX(-50%);
	opacity: 0;
}

.markerAnime {
	animation-fill-mode:both;
	animation-duration:1.0s;
	animation-delay:1.0s;
	animation-name: marker;
	visibility: visible !important;
}

@-webkit-keyframes marker {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

@keyframes marker {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
.font_em {
	font-size: 20px;
	color: red;
}
.font_bold {
	font-weight: bold;
}