@charset "utf-8";
/* /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
スマホ向けのスタイル：320px ～ 768px
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/
a img{-webkit-tap-highlight-color:rgba(255,255,255,0.3)}
/* ヘッダー
----------------------------------------------------------------------------- */
html{-webkit-overflow-scrolling: touch;}
#header-area {
background: url(../image/bg_header.png) repeat-x center bottom;
-webkit-background-size: auto auto;
-moz-background-size: auto auto;
-ms-background-size: auto auto;
-o-background-size: auto auto;
background-size: auto auto;
height: 64px;
width: 100%;
}
.header_title h1{
	font-size: 12px;
	font-weight: normal;
	
}

#maincontent .kv {
position: relative;
z-index: 100;
width: 100%;
overflow: hidden;
background:url(../img/bus/titleback.jpg) no-repeat top center;
background-size: auto 100%;
}
#maincontent .kv p{
margin:0 auto;
}
#maincontent .kv p span{
display:block;
}

.header-wrap {
margin: 0;
}
.site-logo {
float: left;
margin-top:0px;
width: 60%;
}
.logo {
float: none;
width: 200px;
height: 55px;
margin: 3px 0 0 3.125%;
background: url(../image/logo.png) no-repeat 0 0;
-webkit-background-size: 200px 55px;
-moz-background-size: 200px 55px;
-ms-background-size: 200px 55px;
-o-background-size: 200px 55px;
background-size: 200px 55px;
}
.logo a {
display: block;
width: 200px;
height: 55px;
}

#breadcrumbs ul {
    overflow-x: scroll;
}
#breadcrumbs {
    font-size: 3vw;
    width: 100%;

}
/*
#header h1 {
position: absolute;
top: 0;
left: 0;
font-size: x-small;
background: #f1f1f1;
width: 100%;
padding: 2px 3.125%;
}
*/
#header h1 {display:none;}
ul.header-btn {
float: right ;
margin-top:25px;
margin-right: 3.125%;
font-size: 0;
}
ul.header-btn li {
display: inline-block;
margin-left: 10px;
font-size: 14px;
}


/* スマホ用ヘッダーメニュー
----------------------------------------------------------------------------- */
#sidr {/*とりあえず隠す*/
display: none;
}
ul.header-btn {
display: none;
}
#sp-acmenu {
display: block;
float: right ;
margin-top:15px;
margin-right: 3.125%;
}
#sp-navi{
display: block;
text-indent: -9999px;
width: 29px;
height: 32px;
background: url(../image/btn_menu.png) no-repeat 0 0 ;
-webkit-background-size: 29px 32px;
-moz-background-size: 29px 32px;
-ms-background-size: 29px 32px;
-o-background-size: 29px 32px;
background-size: 29px 32px;
}
#sp-navi.active{
background: url(../image/btn_close.png) no-repeat 0 0 ;
-webkit-background-size: 29px 32px;
-moz-background-size: 29px 32px;
-ms-background-size: 29px 32px;
-o-background-size: 29px 32px;
background-size: 29px 32px;
}
#sp-acmenu dd {
display: none;
position: absolute;
right: 0px;
top: 70px;
z-index: 100;
margin: 0;
font-size: 14px;
padding: 10px;
background-color: #333333;
font-size: 85.7%;
text-align: left;
width: 245px;
z-index:1000;
}
#nav {
width: 225px;
margin: 0 auto;
}
#nav li {
width: 225px;
height: 54px;
/* background: url(../image/side_nav_ar_1.gif) right center no-repeat; */
border-bottom: 1px solid #666666;
position: relative;
font-size: 14px;
padding-top: 6px;
}
#nav li:last-Child {
border-bottom: none;
padding-bottom: 5px;
}
#nav li #ar {
width: 36px;
height: 33px;
position: absolute;
top: 12px;
right: 0px;
background: url(../image/side_nav_ar_1.gif) center top no-repeat;
-moz-background-size: auto 100%;
background-size: auto 100%;
}
#nav li.active #ar {
background: url(../image/side_nav_ar_1_.gif) center top no-repeat;
-moz-background-size: auto 100%;
background-size: auto 100%;
}
#nav li a {
display: block;
padding: 0;
padding-left: 8px;
margin: 0;
color: #e0e0e0;
line-height: 42px;
}
#nav li.active a {
color: #5cbecc;
}
#other {
width: 225px;
margin: 0 auto 30px;
}
#other li.tit {
height: 37px;
}
#other li.link {
border: 2px solid #d6d6d6;
border-top: none;
height: 44px;
font-size: 12px;
position: relative;
}
#other li #ar {
width: 20px;
height: 20px;
position: absolute;
top: 12px;
right: 8px;
background: url(../image/side_nav_ar_2.gif) center top no-repeat;
-moz-background-size: auto 100%;
background-size: auto 100%;
}
#other li a {
display: block;
padding: 0;
padding-left: 13px;
margin: 0;
color: #e0e0e0;
line-height: 42px;
}
/* ページトップへ
----------------------------------------------------------------------------- */
/*親要素*/
.page-top-parent{
}
#page-top {
position: fixed;
bottom: 3vw;
right: 3vw;
z-index: 1001;
}
#page-top a {
display: block;
width: 45px;
height: 45px;
text-indent: -9999px;
background: url(../image/btn_pagetop.png) no-repeat 0 0;
-webkit-background-size: 45px 45px;
-moz-background-size: 45px 45px;
-ms-background-size: 45px 45px;
-o-background-size: 45px 45px;
background-size: 45px 45px;
}
#page-top a:hover {
background: url(../image/btn_pagetop_on.png) no-repeat 0 0;
-webkit-background-size: 45px 45px;
-moz-background-size: 45px 45px;
-ms-background-size: 45px 45px;
-o-background-size: 45px 45px;
background-size: 45px 45px;
}
/* フッター
----------------------------------------------------------------------------- */
#sns {
margin: 5vw 0;
}
#sns ul {
font-size: 0;
text-align: center;
overflow:hidden;
width: 75%;
margin: 0 auto;
}
#sns ul li {
display: block;
float:left;
font-size: 3.25vw;
width: 25%;
}
#sns ul li a {
display: block;
margin: 0 2vw;
}
#sns ul li a img{
width:100%;
}
#footer-link-area {
background: url(../image/bg_footerlink.png) center center;
height: auto;
font-size: 10px;
}
#footer-link ul {
line-height: 1;
padding: 3vw;
}
#footer-link ul li {
display: block;
font-size: 3.5vw;
color: #fff;
text-align: left;
margin: 0;
border: 1px solid #eaeaea;
border-bottom: none;
}
#footer-link ul li:last-child {
border-bottom: 1px solid #eaeaea;
}
#footer-link ul li a {
display: block;
padding: 1em;
background: url(../image/arrow01.png) no-repeat 97% center;
-webkit-background-size: 10px 14px;
-moz-background-size: 10px 14px;
-ms-background-size: 10px 14px;
-o-background-size: 10px 14px;
background-size: 10px 14px;
}
#copy-area {
background: url(../image/bg_footer.png) center center;
height: auto;
line-height: 1;
text-align: center;
color: #fff;
font-size: 3vw;
padding: 3vw;
}


/* コンテンツエリア
----------------------------------------------------------------------------- */
#maincontent{
	padding: 0 2%;
}
#maincontent img{
/* width:100%; */

}
.spLayer {
  margin:0;
}
#maincontent .spNone{
display:none;
}
#maincontent .w960{
width:auto;
margin:0 auto;
}
#maincontent .mb100 {
margin-bottom: 10vw;
}
#maincontent .mlr0{
margin:0;
}
#maincontent .mt20 {
margin-top: 3vw!important;
}


#maincontent {
overflow: hidden;
}

.leftSideImg {
  order:1;
}
.leftSide {
  order:2;
  width: 100%;
}
.rightSideImg {
  order:1;
}
.rightSide {
  order:2;
  width: 100%;
}


/*--------------- gNav --*/
#maincontent .navTop{
display:block !important;
margin-top: 0 !important;
}
#maincontent .gNav{
margin-top:3vw;
padding-bottom:0;
}
#maincontent.layoutLower .navTop.gNav{
padding-bottom:3vw;
}

#maincontent .gNav ul{
overflow: hidden;
border-bottom:0.75vw solid #d5d5d5;
}
#maincontent .gNav ul li{
width: 33.2%;;
float:left;
background:#ffffff;
}
#maincontent .gNav ul li a{
font-size:4vw;
font-weight:bold;
display:block;
padding:15%;
line-height: 100%;
letter-spacing: 0;
/*text-align:left;*/
text-decoration: none;
border-left:1px solid #d5d5d5;
background-size:15% auto !important;
}
#maincontent .gNav ul li a:hover{
background-size:15% auto !important;
}
#maincontent .gNav ul li:first-child a{
border-left:none;
}


/*--------------- kohama（下層ページ） --*/
#maincontent.layoutTop .contentHead{
background: url(../image/top/kv_bg_sp.jpg) no-repeat top center;
background-size: 100% auto;
}
#maincontent h2{
/*width: 120% !important;
margin-left: -10% !important;
margin-right: -10% !important;*/
}
#maincontent h2 a{
display:block;
}

.layoutLower .islandIchioshi h4{
margin-bottom:5vw;
}



#maincontent.layoutLower .islandBox .islandImg img{
/*margin: 2.6vw 0 0 4.5vw;*/
clip-path: none;
}
.layoutLower .islandBox .islandImg{
height:auto;
padding-bottom: 4vw;
/*margin-right: 4.5vw;*/
}


#maincontent.layoutLower {
background: url(../image/ocean/kafuu-okinawa.jpg) repeat fixed 0 0;
background-size: 150% auto;
width: 100%;
}



#maincontent.layoutLower .contentHead .keyVisual{
/*position: relative;
background: url(../image/common/kv_txt_bg_sp.png) no-repeat top center;
background-size:100% auto;*/
}
#maincontent .navTop.gNav ul li.navActive a{
background-position: 82% 45%;
background-size: 9.5% auto !important;
padding-left: 5vw;
background-image: url(../image/common/ico_arr_bw.png);
}
#maincontent .navTop.gNav ul li.navActive a:hover{
color:#ffffff;
background-position: 82% 45%;
background-size: 9.5% auto !important;
background-image: url(../image/common/ico_arr_bw.png);
}

#maincontent .gNav ul li.nav04.navActive a{
padding-left: 3vw !important;
padding-right: 3vw !important;
background-position: 90% 45% !important;
}
#maincontent .gNav ul li.nav04.navActive a:hover{
padding-left: 3vw !important;
padding-right: 3vw !important;
background-position: 90% 45% !important;
}



.layoutLower .islandBox .mapIframe .islandImg{
width:auto;
height:auto;
padding-left:0;
padding-bottom: 3.5vw;
}
.layoutLower .islandBox .mapIframe .islandImg iframe{
width: 100%;
height: 30vh;
min-height: 265px;
margin: 0 0 0 4.5vw;
position: relative;
z-index: 100;
}
.layoutLower .islandBox .mapIframe .islandImg:before{
/*background: url(../image/common/img_bg02.png) no-repeat left bottom;
background-size:122% auto;*/
}
.layoutLower .islandBox .mapIframe .islandText{
padding: 5vw 0 0 0;
}
.layoutLower .islandBox .mapIframe .islandText dl{
margin: 0 0 2vw;
}
.layoutLower .islandBox .mapIframe .islandText dl dt,
.layoutLower .islandBox .mapIframe .islandText dl dd{
margin: 0;
font-size: 3.75vw;
}


.bx-wrapper .bx-viewport .ichioshiImg{
text-align:center;
}
.layoutLower .islandIchioshi .bx-wrapper{
padding:0 10vw;
height: auto !important;
}
.layoutLower .islandIchioshi .bx-wrapper .bx-viewport{
height: auto !important;
}
.layoutLower .ichioshiSlider .ichioshiInn{
margin-top:0;
}

.layoutLower .islandIchioshi .bx-wrapper .bx-next{
right: 0;
}
.layoutLower .islandIchioshi .bx-wrapper .bx-prev{
left: 0;
}
.layoutLower .ichioshiSlider .ichioshiText dt{
text-align: center !important;
font-size:5vw;
padding: 3vw 6.5vw 1vw;
}
.layoutLower .ichioshiSlider .ichioshiText dd{
font-size:3.5vw;
padding:3vw;
}
.layoutLower .ichioshiSlider .ichioshiText p{
font-size:3.5vw;
padding:2vw 3vw;
}
.layoutLower .ichioshiSlider .ichioshiText dd{
min-height: 48vw !important;
}
.layoutLower .btnReservation{
margin:0 3vw;
}


.recommenBtn ul{
display:block;
}
.recommenBtn ul li{
display: block;
float: left;
width: 47%;
margin: 1vw 1.5%;
}
.recommenBtn ul li a{
font-size:4vw;
padding: 3.5vw 0;
}
.recommenBtn ul li.bgBtn01 a {
background: url(../image/common/btn_bg01.png) no-repeat 0 0;
background-size: 100% auto;
}
.recommenBtn ul li.bgBtn02 a {
background: url(../image/common/btn_bg02.png) no-repeat 0 0;
background-size: 100% auto;
}
.recommenBtn{
  margin: 3vw 0 0;
  overflow: hidden;
  width: 100%;
}




#maincontent img.ui-datepicker-trigger {
  width: 7%;
}

#searchBlock {
  width: 100%;
  margin: auto;
  padding: 2%;
  box-sizing: border-box;
}
#searchBlock select {
    width: 60%;
    padding: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #999;
    background: #eee;
    background: url(../img/under_arrow.png) right 50% no-repeat, -webkit-linear-gradient(top, #fff 0%,#efebe1 100%);
    background: url(../img/under_arrow.png) right 50% no-repeat, linear-gradient(to bottom, #fff 0%,#efebe1 100%);
    background-size: 20px, 100%;
  }
#searchBlock #departureDate select {
    width: 60%;
    padding: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid #999;
    background: #eee;
    background: -webkit-linear-gradient(top, #fff 0%,#efebe1 100%);
  }

.block-condition-inner dl dd {
    width: 100%;
}
select#dept_s {
    width: 60%;
}
select#plan {
    width: 60%;
}
.block-condition-inner select.size-large {
    width: 60%;
}
.hidari {
  width: 100%;
}
.migi {
  width: 100%;
}
select.dateYear {
  width: 56px!important;
}
select.dateMonth {
  width: 50px!important;
}
select.dateDay {
  width: 50px!important;
}
.block-condition-inner dl dt {
    float: left;
    padding: 0!important;
    width: 105px!important;
    vertical-align: middle;
    font-size: small;
    font-weight: bold;
    zoom: 1;
    position: relative;
}

.button button {
    display: inline-block;
    vertical-align: top;
    margin-top: 0!important;
    padding: 4%;
    width: 100%;
    background: #2491cd;
    color: #fff;
    font-size: 4vw;
    border:none;
}
.button {
  margin-top: 5px;
  width: 100%;
}

.search_title {

    font-size: 5vw;

}

ul#topmenu {
    display: table;
    table-layout: fixed;
    width: 100%;
    margin: 10px auto;
    border-spacing: 5px;
}
ul#topmenu li a {
  padding: 15% 0;
  background: rgba(0, 0, 0, 0) linear-gradient(180deg, #7E3F1C 0%, #683F28 20%, #6b431c 30%, #5c310d 50%, #5d2f16 70%, #451b0d 90%, #6c2e1a 100%) repeat scroll 0 0;
  color: #fff;
  width: 100%;
  display: block;
  font-size: 4vw;
  border-radius: 5px;
  line-height: 1.3;
}

.area00 {
    width: 100%;
    margin: 0 auto;
    background: #33b5ad;
    color: #fff;
    padding: 10px;
    font-size: 4vw;
    box-sizing: border-box;
    text-align: center;
    line-height: 1.4;
}
.area01 {
    width: 100%;
    margin: 0 auto 20px;
    background: #33b5ad;
    color: #fff;
    padding: 15px;
    font-size: 4vw;
    box-sizing: border-box;
    text-align: center;
    line-height: 1.4;
}
.area02 {
    width: 100%;
    margin: 0 auto;
    background: #CBCBCB;
    color: #333333;
    padding: 10px;
    font-size: 4vw;
    box-sizing: border-box;
    text-align: center;
    line-height: 1.4;
}
.text_area {
    width: 100%;
    margin: 0 auto;
    padding: 10px;
    line-height: 1.4;
}
.text_area h1 {
    font-size: 3.5vw;
    font-weight: bold;
    color: #17a89e;
    line-height: 1.4;
}
.plan_list ul {
  margin: 4% 0;
}
.plan_list ul li {
  background: #fff049;
  width: 100%;
  font-size: 5vw;
  border: 2px solid #f74a64;
  border-radius: 7px;
  color: #f74a64;
  font-weight: bold;
  margin-top: 6%;
  padding: 4%;
  text-align: center;
  box-sizing: border-box;
  box-shadow: 1px 5px 0 2px;
  position: relative;
}
.maru_half {
	border-radius: 50%;
	font-size: 16px;
	line-height: 2em;
	padding-top: 0.3em;
	padding-left: 0.5em;
	padding-right: 0.5em;
	padding-bottom: 0.3em;
}
.maru {
  background: #f74a64;
  color: #f5ff50;
  padding: 2% 4%;
  border-radius: 50%;
  display: block;
  float: left;
  margin-top: 2%;
  display: block;
}
.li_plus {
  	font-size: 8vw;
  	font-weight: bold;
  	text-align: center;
  	display: block;
  	background: #f74a64;
  	width: 12%;
  	border-radius: 50%;
  	margin: -1% auto -8%;
  	border: 2px solid #fff;
  	box-shadow: 2px 2px 3px #332;
  	color: #fff;
  	z-index: 10;
  	position: relative;
    padding: 0 0 1% 0;
}

.plan_box h2 {
    font-size: 5vw;
}
.plan_box h4 {
    font-size: 4vw;
}
.plan_btn1 {
    background: #ff5550;
    width: 85%;
    font-size: 6vw;
    border: 2px solid #ff5550;
    border-radius: 7px;
    color: #fff;
    margin-left: auto;
    margin-right: auto;
    font-weight: bold;
    display: block;
}
.plan_btn0 {
	color: #fff;
	padding: 15px;
	text-align: center;
	margin: 15px auto;
	border-radius: 5px;
	font-size: 5vw;
	font-weight: bold;
}
.plan_btn0 a {
	color: #fff;
	background: rgba(0, 0, 0, 0) linear-gradient(180deg, #7E3F1C 0%, #683F28 20%, #6b431c 30%, #5c310d 50%, #5d2f16 70%, #451b0d 90%, #6c2e1a 100%) repeat scroll 0 0;
	padding: 15px;
	width: 93%;
	text-align: center;
	margin: 5px auto;
	border-radius: 5px;
	display: block;
}
.plan_btn2 {
  background: #07499f;
  width: 85%;
  font-size: 6vw;
  border: 2px solid #07499f;
  border-radius: 7px;
  color: #fff;
  margin: 0 auto;
  font-weight: bold;
  display: block;
}
.or {
  display: block;
  text-align: center;
  font-size: 7vw;
}

#flow {
  width: 98%;
  background: none;
}
#flow .next {
    /* height: 23px; */
    width: 20%;
    margin: 0 auto -1%;
    padding-left: 0;
    z-index: 999;
}
#flow table {
  width: 100%;
}
#flow table .title {
  padding: 2%;
  width: 100%;
  font-size: 4.5vw;
}
#flow table .title span {
    font-size: 3vw;
}
#flow tr {
  display:block;
  margin-bottom: 10px;
}
#flow th {
  display:block;
  width: 100%;
}
#flow td {
  /* width: 90%; */
  margin-left: 10%;
  border:none;
}
#flow .step1 {
  background-size: 16%;
}
#flow .step2 {
  background-size: 16%;
}
#flow .step3 {
  background-size: 16%;
}
#flow .step4 {
  background-size: 16%;
}
#flow .step5 {
  background-size: 16%;
}
#flow table .cont {
  font-size: 4vw;
}

.dotbox {
    width: 97%;
    padding: 2%;
}
.pricetbl tr .title {
	background-color: #fa7696;
	font-weight: 600;
	color: #FFF;
	font-size: 3.5vw;
	padding: 2% 0;
}
.pricetbl tr .midtitle {
    font-size: 3vw;
}
.pricetbl tr .conttd2 {
    padding: 10px;
    background-color: #FFF;
    vertical-align: middle;
    font-size: 3.5vw;
}
.pricetbl tr td {
  font-size: 3.5vw;
}
.plan_btn3 {
	font-size: 4vw;
	margin: 0 auto;
	padding: 3%;
}
.plan_btn4 {
	font-size: 4vw;
	margin: 0 auto;
	padding: 3%;
}
.plan_btn3_4 {
    margin: 3%;
}
.plan_btn3_4 span {
  font-size: 4vw;
}
.dotbox .routetbl .routes {
	text-align: center;
	font-size: 4vw;
	color: #FA7696;
	width: 100%;
	line-height: 1;
	display: block;
}
.dotbox .routetbl .routes div {
	background: #fff;
	padding: 3%;
	margin: 1px;
	border-radius: 5px;
	border: 2px solid #fa7696;
}
.totop {
	width: 100%;
	margin: 0 auto;
	text-align: right;
	background: #fff;
	padding: 5px 0;
	font-size: 3vw;
	text-align: center;
}
.bus_info {
width: 100%;
padding: 2%;
}
.bus_title {
  text-align: center;
  color:#f7497e;
  font-weight: bold;
  font-size: 4vw;
}
.bus_tel{
  margin: 2% auto;
  font-size: 6vw;
  font-weight: bold;
  text-align: center;
}
.bus_time {
  font-size: 3vw;
  text-align: center;
}
.triangle{
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-top: 20px solid #f7497e;
  margin: 0 auto 2%;
}
