@charset "utf-8";

html {
  scroll-behavior: smooth;
}

body{
	font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
}

h1,h2,h3,h4,ul,ol,dl,dt,dd,p{
	margin:0;
	padding:0;
}

ul,ol{
    margin:0;
    padding:0;
    list-style-type: none;
}

article p{
	font-size:16px;
}


.mt10{
	margin-top:10px;
}

.mt15{
	margin-top:15px;
}

.mt20{
	margin-top:20px;
}

.mt25{
	margin-top:25px;
}

.mt30{
	margin-top:30px;
}

.mt35{
	margin-top:35px;
}

.mt40{
	margin-top:40px;
}


.mb10{
	margin-bottom:10px;
}

.mb15{
	margin-bottom:15px;
}

.mb20{
	margin-bottom:20px;
}

.mb25{
	margin-bottom:25px;
}

.mb30{
	margin-bottom:30px;
}

.mb35{
	margin-bottom:35px;
}

.mb40{
	margin-bottom:40px;
}

.pd{
	padding:0 !important;
}

.pl0{
	padding-left:10px;
}


*:hover{
	transition: all  0.2s ease;
}


/* Bootstrapのガター幅を調整するための汎用CSS */
.row-0{ 
	margin-left:0px;
	margin-right:0px;
}
	
.row-0 >div{
	padding-right:0px;
	padding-left:0px;
}

.row-10{
	margin-left:-5px; 
	margin-right:-5px;
}

.row-10 >div{
	padding-right:5px; 
	padding-left:5px;
}

.row-15{
	margin-left:-7.5px; 
	margin-right:-7.5px; 
}

.row-15 >div{
	padding-right:7.5px; 
	padding-left:7.5px;
}

.row-20{
	margin-left:-10px;
	margin-right:-10px;
}

.row-20 >div{
	padding-right:10px;
	padding-left:10px;
}

.row-30{
	margin-left:-15px;
	margin-right:-15px;
}

.row-30 >div{
	padding-right:15px;
	padding-left:15px;
}

.row-40{
	margin-left:-20px;
	margin-right:-20px;
}

.row-40 >div{
	padding-right:20px;
	padding-left:20px;
}

.row-50{
	margin-left:-25px;
	margin-right:-25px;
}

.row-50 >div{
	 padding-right:25px;
	 padding-left:25px
}

i{
	margin-right:5px;
}

/*
modalずれ補正
******************************************/
.modal-open {
	overflow: auto;
}


/*
emergency-message
******************************************/

#emergency-message{
	margin:0px 0 0px 0;
	padding:15px 20px;
	color:#fff;
	font-size:18px;
	background:#fc3657;
	margin:1px 0;
}

#emergency-message p{
	text-align:center;
	font-weight:bold;
}


/*
header
******************************/


header {
    padding:0px 0 0 0;
}

header .pc-logo{
	width:160px;
	height:auto;
	margin:15px auto;
}

header .navbar-inverse{
    background:#333;
    /*border-bottom:1px solid #000;*/
    position: relative;
}

header .navbar-collapse {
    padding:0;
}

header nav li{
    text-align: center;
    float:left;
    width:25%;
    border-left:1px solid #222;
}

header nav li:last-child{
    border-right:1px solid #222;
}

header nav li a{
    color:#fff !important;
    display: block;
    padding:5px 0;
    text-decoration: none !important;
}


header nav li.open>a,
header nav li.open>a:focus,
header nav li.open>a:hover,
header nav li.current_page_item,
header nav li.active,
header nav li a:hover,
header nav li a:visited{
    color:#fff !important;
    background:#666 !important;
    display: block !important;
}

header nav li.active{
    font-weight:bold;
}

header .dropdown-menu{
	border-radius:0px;
	-webkit-border-radius:0px;
	-moz-border-radius:0px;
	z-index: 10000 !important;
	min-width:100%;
	margin-top:-1px;
}

header ul.dropdown-menu li{
	float:none;
	width:100% !important;
	text-align:left !important;
	border-bottom:1px solid #eee;
	border-left:none;
	border-right:none;
}

header ul.dropdown-menu li:last-child{
	border:none;
}

header ul.dropdown-menu li a{
	display:block;
	padding:10px 20px 10px 10px !important;
	color:#333 !important;
}

header ul.dropdown-menu li a:hover,
header ul.dropdown-menu li.active a{
	color:#fff !important;
}

header .dropdown-menu a:before {
	content: "\f0da";
	font-family: FontAwesome;
	margin-right:10px;
}


header .open>.dropdown-menu{
	display:block;
}

header .navbar-collapse.in{
	overflow:visible;
}


header .fa-stack{
	margin-right:8px;
}

header .fa-inverse{
	color:#333 !important;
}

#login-bar{
	padding:6px 0 10px 0;
	border-top:1px solid #bbb;
	background:#F2F2F2;
	height:40px;
}

#login-bar a{
	color:#333;
	text-decoration:none;
}

#login-bar a:hover{
	text-decoration:underline;
}

#login-bar .btn-mypage a{
	text-align:center;
	padding:3px;
	display:block;
	color:#fff;
	background:#333;
	border-radius: 5px;
	-webkit-border-radius: 5px; 
	-moz-border-radius: 5px; 
}

#login-bar .btn-mypage a:before {
    content: "\f2bd";
    font-family: FontAwesome;
    font-size:18px;
    margin-right:5px;
}


#login-bar .btn-mypage a:hover{
	text-decoration:none;
	background:#666;
}

#login-bar .guest-txt{
	margin-top:2px;
}

#login-bar .guest-txt #guest-name01,
#login-bar .guest-txt #guest-name02{
	font-weight:bold;
	margin:0 5px;
}

#login-bar ul.utility-nav{
	position: absolute;
	top:0;
	right:0;
}

#login-bar ul.utility-nav li{
	float:left;
	margin: 0px 8px 0 0;
}

#login-bar ul.utility-nav li i{
	margin-right:5px;
}

#login-bar ul.utility-nav li a{
	display:block;
	padding:5px 0px 5px 0;
	/*font-size:16px;*/
}

.user_language select{
	max-width:100px;
}

/*
social_btn
************************************/

ul#social_btn{
	list-style:none;
	padding-top: 15px;
	overflow:hidden;
}

ul#social_btn li{
	float:left;
}

ul#social_btn li + li {
    padding: 0;
    margin-left: 10px;
}

/*
breadcrumb
************************************/

.breadcrumb {
    background: none !important;
    padding: 15px;
    margin-bottom: 0;
}

.breadcrumb > li + li:before {
    content: ">" !important;
    color: #333;
}

/*
section
******************************************/

#text-area{
	background:url(../img/bg-main01.png) no-repeat top center scroll,#000;
	background-size:cover;
	padding:30px 0 60px 0;
}

#text-area h2{
	font-size:24px;
	font-weight:bold;
	line-height:1.5;
	margin-bottom:10px;
	text-align:left;
	color:#fff;
	margin-bottom:20px;
}


#text-area p{
	font-size:15px;
	color:#fff;
	line-height:1.5;
	margin-bottom:10px;
}


#text-area .busimage{
	position: absolute;
	top:-65px;
	right:0;
}

/*
page-top
******************************************/

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size:0.8em;
    font-weight:bold;
    z-index: 10;
}

#page-top a {
    background: #333;
    text-decoration: none;
    color: #fff;
    width: 80px;
    height:80px;
    padding: 15px 0;
    text-align: center;
    display: block;
    border-radius: 50%;
    border:2px solid #666;
    box-shadow: 2px 2px 5px -1px rgba(0,0,0,0.4);
    -webkit-box-shadow: 2px 2px 5px -1px rgba(0,0,0,0.4);
    -moz-box-shadow: 2px 2px 5px -1px rgba(0,0,0,0.4);
}

#page-top a:hover {
    text-decoration: none;
    background:#666;
}

#page-top a i{
    font-size:1.8em;
    margin-bottom:5px;
}


/*
footer
******************************************/

footer {
	padding:15px 0px 30px 0;
    border-top: 5px solid #F84C78;
    background: #333;
    color: #fff;
}

footer hr {
    border: 0;
    border-top: 1px solid #1a1a1a;
    border-bottom: 1px solid #4d4d4d;
    width: 100%;
    display: block;
    margin-top:15px;
    margin-bottom:15px;
}

footer a{
	color:#fff;
}

footer a:focus,
footer a:hover,
footer a:active{
	color:#ccc !important;
}

footer h3{
	font-size:16px;
	font-weight:bold;
	margin-top:5px;
	margin-left:5px;
	margin-bottom:5px;
}

footer ul.menu-list li {
	margin-left:15px;
}

footer ul.menu-list li a,
footer ul.menu-list li a:hover{
	font-size:13px;
	position: relative;
	padding-left:0px;
}

footer ul.menu-list li a:before{
	content: "\f105";
	font-family: FontAwesome;
	margin-right:10px;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left:-10px;
}

footer a:hover:before{
	text-decoration:none !important;
}

footer ul.menu-list {
	list-style:none;
	padding:0;
	margin:5px 0 10px 0;
}

footer ul.menu-list.megurip li:nth-child(n + 2){
	float:left;
	width:120px;
}

footer ul.menu-list.ferry-route li{
	float:left;
	width:120px;
}

footer .copyright{
	font-size:12px;
	text-align:center;
	color:#aaa;
}

footer h4{
	margin-top:15px;
	font-size:14px;
	text-align:center;
}

footer ul.social {
    width:275px;
    margin:10px auto;
    padding:0;
    display: block;
    overflow:hidden;
}

footer .social li {
    float:left;
    margin:0;
    list-style-type:none;
    text-align: center;
}

footer .social a{
    color:#fff;
}

footer .social a:focus,
footer .social a:hover,
footer .social a:active{
    color:red;
}
footer .social .fa-twitter,
footer .social .fa-facebook,
footer .social .fa-youtube,
footer .social .fa-envelope-o,
footer .social .fa-youtube-play,
footer .social .fa-instagram{
    color:#000;
}

footer .social .line{
	margin:4px 0 0 3px;
	
}
footer .social .line img{
	width:48px;
	height:48px;
}

footer .social .line a:hover{
	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}

footer ul.comany-link{
	overflow:hidden;
	margin:5px 0 0px 0;
}


footer ul.comany-link li{
	float:left;
	margin-right:15px;
	margin-bottom:5px;
}

footer ul.comany-link li a{
	position: relative;
	padding-left:15px;
}

footer ul.comany-link li a:before{
	content: "\f105";
    font-family: FontAwesome;
    margin-right: 10px;
    position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 5px;
}

footer .nav-tabs{
	margin-bottom:0px;
	border-bottom:1px solid #555;
}

footer .nav-tabs>li>a {
    margin-right: 2px;
    line-height: 1.42857143;
    border-top:none;
    border-left:none;
    border-right:none;
    border-radius:0;
}

footer .nav-tabs>li.active{
	font-weight:bold;
}

footer .nav-tabs>li.active,
footer .nav>li>a:focus,
footer .nav>li>a:hover{
	background:#333;
}

footer .nav-tabs>li.active>a,
footer .nav-tabs>li.active>a:focus,
footer .nav-tabs>li.active>a:hover{
	color:#fff;
	
	background:none;
	border-top:none;
	border-left:none;
	border-right:none;
	border-bottom:1px solid #ccc;
}

footer .nav-tabs>li:first-child{
	margin-left:10px;
}


footer .tab-content{
	padding-top:15px;
}



@media(min-width : 992px) {
/* PC用 */


	.onlypc{
		display:block;
	}
	.onlytab{
		display:none;
	}
	
	.smtab{
		display:none;
	}
	
	ul#social_btn{
		float:right;
	}
	
}

@media(max-width : 991px) {
/* タブレット以下 */


	.onlypc{
		display:none;
	}
	
	.smtab{
		diplay:block;
	}


}



@media only screen and (min-width : 768px) and (max-width : 991px) {
/* タブレットのみ用 */


	.onlytab{
		display:block;
	}
	
	.breadcrumb{
		padding-bottom:0;
	}
	
	ul#social_btn{
		padding-top:15px;
	}
	
	#login-bar .container{
		width:100%;
	}
	
	.cart-full{
		display:none;
	}
	
	footer ul.menu-list li a,
	footer ul.menu-list li a:hover{
		font-size:11px;
	}
	
	footer ul.menu-list li:first-child{
		font-size:14px;
	}

}

@media(min-width: 768px){
/* タブレット以上 */

	.pctab,
	.onlypctab{
		display:block;
	}
	
	
	.onlysm{
		display:none;
	}
	
	header .pc-logo img{
		width:160px;
		height:auto;
	}
	header .sm-logo,
	header .sm-logo img{
		display:none;
	}
	
	header .dropdown:hover > .dropdown-menu{
	  display: block;
	}
	
	header .sm-mypagelink{
		display:none;
	}


	#text-area {
		padding:15px 0 30px 0;
	}
	
	#text-area h2{
		font-size:18px;
		margin-bottom:10px;
	}
	
	#text-area p{
		font-size:14px;
	}
}




@media(max-width:767px) {
/* スマホ用 */

	.pctab,
	.onlypctab{
		display:none;
	}
	.onlytab{
		display:none;
	}
	
	.onlysm{
		display:block;
	}
	
	article p{
		font-size:14px;
	}
	
	header{
		/*border-bottom:1px solid #ccc;*/
	}
	
    header .navbar-header{
        /*background:#de0018;*/
        background:#fff;
        border-bottom:1px solid #ccc;
    }
    
	header .pc-logo{
		display:none;
	}
	
	header .sm-logo img{
		width:40px;
		margin:5px 0 4px 10px;
	}
	
	header ul.onlysm .cat{
		background:#333 !important;
	}
	
	header ul.onlysm .cat02{
		background:#fff !important;
		border-bottom: 1px solid #ddd;
	}
	
	
	header ul.onlysm .cat02 a{
		color:#333 !important;
	}
	
	header ul.onlysm .cat02 a:before {
		content: "\f0da";
		font-family: FontAwesome;
		margin-right:10px;
	}
	
	header ul.onlysm .cat02 a:hover,
	header ul.onlysm .cat02 a:focus{
		color:#fff !important;
	}
	
	#login-bar ul.utility-nav{
		position: absolute;
		top:25px;
		left:70px;
	}
	
	#sm-utlity-navi{
		
	}
	
	#sm-utlity-navi dl{
		margin-bottom:0;
	}
	
	#sm-utlity-navi dt{
		padding:10px;
		background:#eee;
	}
	
	#sm-utlity-navi dd{
		background:#fff;
		border-bottom:1px solid #ccc;
	}
	
	#sm-utlity-navi dd.prlink{
		background:#FFF0F0;
	}
	
	#sm-utlity-navi dd a{
		padding:7px 10px;
		color:#333;
	}
	
	#sm-utlity-navi dd a,
	#sm-utlity-navi dd a:hover,
	#sm-utlity-navi dd a:focus{
		text-decoration:none;
	}
	
	#sm-utlity-navi .prlink a:before{
		content: "\f0da";
		font-family: FontAwesome;
		margin-right:10px;
    }
	
    header nav li{
    	width:100%;
    	text-align:left;
    }
    
    header nav li a{
    	padding:0;
    }
	
    
    header .navbar-inverse .navbar-toggle,
    header .navbar-inverse .navbar-toggle:hover{
        background:#333 !important;
		border:none;
		border-left:1px solid #fff;
		height: 50px;
    }
      
    header .navbar-toggle{
        text-align: center;
        padding:5px 10px 10px 10px;
        margin:0px 0px 0px 0;
    	border-radius: 0px;
		-webkit-border-radius: 0px;
		-moz-border-radius: 0px;
    }
    
    header .navbar-toggle:before {
        content:"MENU";
        font-size:12px;
        color:#fff;
    }
    
    header .navbar-toggle .icon-bar{
        width:40px;
    }
    
    header .navbar-collapse{
        padding:0;
    }
    
    header nav li{
        float:none;
        text-align: left;
        width:100%;
        padding:0;
        border-left:none;
        border-bottom:1px solid #222;
    }
    
    /*header nav li:last-child{
        border-right:none;
        border-bottom:none;
    }*/
    
    header nav li a{
        padding:10px !important;
    }
    
    header a.sm-mypagelink{
    	position: absolute;
    	top:0px;
    	right:60px;
		padding:15px 0px 12px 5px;
		font-size:14px;
    	display:block;
    	color:#333;
    	text-align:center;
    	width:195px;
    	border-left:1px solid #ccc;
    	background:#fff;
    	height: 50px;
    }
    
    header a.sm-mypagelink i{
		font-size:20px;
		vertical-align:bottom;
    }
    
    header a.sm-mypagelink:hover{
		text-decoration:none;
    }
    
    header nav#sm-gnavi{
		background:#333;
	}
	
    header nav#sm-gnavi li{
		width:25%;
		float:left;
		border-right:1px solid #222;
		border-bottom:1px solid #222;
	}
	
	header nav#sm-gnavi li:last-child{
		border-right:none;
	}
	
	header nav#sm-gnavi li a{
		padding:10px 5px 5px 5px !important;
		font-size: 12px;
		text-align:center;
	}

	header nav#sm-gnavi li a i{
		font-size: 18px;
		margin-right:0;
		margin-bottom:5px;
	}
	
	
	/*
    header nav#sm-gnavi li ul.dropdown-menu{
    	min-width:100% !important;
    	z-index:15;
    }
    
    header nav#sm-gnavi li ul.dropdown-menu li{
    	border-right:none;
    	width:100% !important;
    	border-bottom:1px solid #ccc;
    }
    
    header nav#sm-gnavi li ul.dropdown-menu li a{
    	font-size:14px;
    	text-align:left !important;
    	padding:10px !important;
    }

	header nav#sm-gnavi li a:hover,
    header nav#sm-gnavi li.active{
    	background:#333 !important;
    }
    
    */

    header nav #busmenu,
    header nav #tourmenu,
    header nav #ferrymenu{

    }

    header nav#sm-gnavi #busmenu li,
    header nav#sm-gnavi #tourmenu li,
    header nav#sm-gnavi #ferrymenu li{
		width:100% !important;
		float:none;
		border-right:none;
		border-bottom:1px solid #ccc;
	}
	
	
    header nav#sm-gnavi #busmenu li a,
    header nav#sm-gnavi #tourmenu li a,
    header nav#sm-gnavi #ferrymenu li a{
    	font-size:14px;
    	color:#333 !important;
		background:#fff !important;
		text-align:left !important;
		padding:10px !important;
	}
	
    header nav#sm-gnavi #busmenu li a:before,
    header nav#sm-gnavi #tourmenu li a:before,
    header nav#sm-gnavi #ferrymenu li a:before{
		content: "\f0da";
		font-family: FontAwesome;
		margin-right:10px;
    }
    
	header nav#sm-gnavi li .fa-stack{
		margin-right:0;
	}
	
	header nav#sm-gnavi .fa-inverse{
		margin-right:0 !important;
	}
	
	header nav#sm-gnavi .dropdown-menu a:before{
		margin-right:3px;
	}
	
	#text-area {
		padding:15px 0;
	}
	
	#text-area h2{
		font-size:14px;
		margin-bottom:5px;
	}
	
	#text-area p{
		font-size:12px;
	}
	
	#social_btn{
		margin-top:0px;
		padding-top:10px;
	}
	
	footer {
		padding:5px 0px 30px 0;
		overflow:hidden;
	}
	
	footer .nav>li>a{
		padding:5px 7px;
	}
	
	footer .nav-tabs>li:first-child{
		margin-left:0px;
	}
	
	footer h3{
		font-size:14px;
	}
	
	footer hr {
		margin-top: 0px;
	    margin-bottom: 8px;
	}
	
	p#page-top{
		display:none;
	}
	
	footer .container{
		padding:0 5px;
	}
	
	footer ul.social{
		margin: 10px auto 20px auto;
	}
	
}

@media only screen and (min-width : 320px) and (max-width : 374px) {
	
	footer .nav-tabs li span{
		display:none;
	}
	
	footer .nav>li>a{
		padding: 5px 2px;
	}
	


}

