@charset "utf-8";

body,td,th {
	font-family: Meiryo, "Verdana Hiragino Kaku Gothic ProN", sans-serif;
}

* {
    box-sizing: content-box;
}

/*	セクション
============================== */
body{
	font-family:Meiryo, Verdana "Hiragino Kaku Gothic ProN", sans-serif;
}
.section-ttl{
	width: 100%;
	max-width: 992px;
	margin: 0 auto;
	padding: 140px 0 100px;
	font-size: 40px;
	line-height: 1.4em;
    font-weight: bold;
    text-align: center;
}
.section-txt{
	width: 992px;
	margin: 15px auto 0;
	padding: 20px;
	line-height: 1.6em;
	color: #444;
	font-size: 18px;
	border-top: 1px dotted #ddd;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/*ヘッダー
============================== */
.main-bg01{
	width: 100%;
	/*height: 990px;*/
	padding: 0;
	margin: 0;
	background: url(../img/main_bg.jpg) no-repeat center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}
.main-bg02{
	width: 100%;
	/*height: 990px;*/
	background: url(../../../kansai/img/special/body_bg.jpg) no-repeat center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

#islnad-icon{
	position: fixed;
	left:0;
	top: 50%;
	margin-top: -200px;
	z-index: 100;
}
#islnad-icon li{
	margin: 5px 0;
}

/*グローバルナビ
============================== */
#gnavi03{
	border-bottom: 2px solid #004BB0;
}

/*ボックス設定
========================= */
.box{
	width: 100%;
	max-width: 870px;
	min-height:400px;
	margin: 0 auto;
	padding: 30px 0;
	position: relative;
    box-sizing: content-box;
    overflow: visible;
}

/*セクション01
========================= */
#mainVisual{
	height: 990px;
	position: relative;
}
.main-ttl{
	width: 500px;
	position: absolute;
	top: 120px;
	left: 50%;
	margin-left: -250px;
}
.main-map{
	width: 760px;
	position: absolute;
	top: 480px;
	left: 50%;
	margin-left: -380px;
}
.map-icon01{
	position: absolute;
	top:240px;
	right: 0px;
}
.map-icon02{
	position: absolute;
	top:100px;
	right: 130px;
}
.map-icon03{
	position: absolute;
	top:190px;
	right: 340px;
}
.map-icon04{
	position: absolute;
	top:10px;
	left: 110px;
}
.map-icon05{
	position: absolute;
	top: 100px;
	left: 80px;
}

/*セクション02
========================= */
.content_wrap {
	/*height: 4700px;*/
	/*height: 3200px;*/
	position: relative;
    overflow: hidden;
    padding-bottom: 30px;
}
.dot_bg {
	width: 100%;
	position: absolute;
	top:0;
	left: 0;
	filter:alpha(opacity=80);
	opacity:0.8;
	display: block;
}
.dot_bg img{
	width: 100%;
	max-width: 1920px;
	min-width: 1400px;
}

/*ボックス設定
========================= */
.box-mini{
	width: 100%;
	max-width: 540px;
	margin-top: 50px;
	position: relative;
}
.box-mini-ttl2{
	position: absolute;
	top: 330px;
	right: 54%;
	margin-right: -460px;
	z-index: 100;
}
.box-mini-ttl{
	position: absolute;
	top: 325px;
	right: 57%;
	margin-right: -160px;
	z-index: 100;
}
.box-info{
	width: 270px;
	padding: 10px;
	overflow: visible;
}
.box-info-subttl{
	font-size: 17px;
	line-height: 1.2em;
	color: #333;
	z-index: 10000;
}
.box-info-ttl{
	font-size: 50px;
	margin: 20px 0 25px;
    line-height: 1;
}
.box-info-txt{
	font-size: 16px;
	line-height: 1.5em;
	color: #666;
}
.box-info-btn{
	width: 240px;
	margin: 20px 0 0;
	text-align: center;
	color: #FFF;
}
#wrap .box-info-btn a{
	display: block;
	padding: 10px;
	text-decoration: none;
	color: #FFF;
}
#wrap .box-info-btn a:hover{
	transition:all 0.5s ease;
	filter:alpha(opacity=70);
	opacity:0.7;
}
.box-map-icon01{
	position: absolute;
	top: 0;
	right: -33px;
	filter:alpha(opacity=50);
	opacity:0.5;
}
.box-map-icon02{
	position: absolute;
	top: 10px;
	left: 200px;
	filter:alpha(opacity=50);
	opacity:0.5;
}
.box-map-icon03{
	position: absolute;
	top:50px;
	right: 0px;
	filter:alpha(opacity=50);
	opacity:0.5;
}
.box-map-icon04{
	position: absolute;
	top: 10px;
	left: 220px;
	filter:alpha(opacity=50);
	opacity:0.5;
}


.box-map-icon05{
	position: absolute;
	top: 10px;
	left: 180px;
	filter:alpha(opacity=50);
	opacity:0.5;
}

/*インフォライン設定
========================= */
.info-box{
	display: block;
	width: 640px;
    height: 130px;
	margin: 20px auto 10px;
	position: relative;
}
.info-box02 {
	display: block;
	width: 500px;
	margin: 20px auto 10px;
	position: relative;
}
.info-line{
	display: block;
	width: 640px;
	margin: 0;
	position: absolute;
	padding:10px;
	border: 4px solid #F3F3F3;
	background-color: #FFF;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	cursor: pointer;
    box-sizing: border-box;
}
.info-line:hover{
	background-color: #F3F3F3;
	transition:all 0.8s ease;
}
.info-line:empty {
	visibility: hidden;
	height: 0;
}
.line01-left{
	margin-left: 80px;
}
.line01-right{
	margin-left: -80px;
}
.line02-right{
	margin-left: -160px;
}
.info-pic{
	width: 60px;
	height:60px;
	overflow: hidden;
	float: left;
}
.info-pic img{
	width: 60px;
	height:60px;
	overflow: hidden;
	border-radius: 60px;
	-webkit-border-radius: 60px;
	-moz-border-radius: 60px;
}
.info-wrap{
	width: 530px;
	float: right;
}
#wrap .info-wrap a:hover{
	text-decoration: none;
}
.info-wrap-ttl{
	font-size: 13px;
	color: #666;
	display: block;
}
.info-wrap-txt{
	display: block;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.3;
	color: #333;
	padding: 10px 0 0;
}

/*ネイバー特典設定
========================= */
.island-special-box{
	background-color: #FFF;
	width: 700px;
	height: 228px;
	margin: 0 auto;
	box-shadow: 0px 1px 1px #ccc;
	-moz-box-shadow: 0px 1px 1px #ccc;
	-webkit-box-shadow: 0px 1px 1px #ccc;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	position: relative;
}
.island-sp-ttl{
	width: 100%;
	line-height: 1.7em;
	padding: 7px 0;
	margin: 0 0 0px;
	color: #FFF;
	text-align: center;
	border-radius: 3px 3px 0 0;
	-webkit-border-radius: 3px 3px 0 0;
	-moz-border-radius: 3px 3px 0 0;
}
.island-sp-midashi{
	font-size: 19px;
}
.island-sp-pic{
	width: 36%;
	float: left;
}
.island-sp-pic img{
	width: 100%;
}
.island-spbox{
	width: 58%;
	float: left;
	padding: 10px 20px;
}
.island-spbox-point{
	display: inline-block;
	padding: 5px 10px;
	background-color: #FEF3DD;
	box-shadow: 0px 1px 1px #ccc;
	-moz-box-shadow: 0px 1px 1px #ccc;
	-webkit-box-shadow: 0px 1px 1px #ccc;
}
.island-spbox-ttl{
	font-size: 18px;
	padding: 0px 0;
	line-height: 1.1em;
}
.island-spbox-txt{
	font-size: 13px;
	color: #888;
	padding: 10px 0;
	line-height: 1.3em;
}
.island-spbox-hosoku{
	font-size: 10px;
	color: #999;
	padding: 5px 0 0;
}

/*カラー設定
========================= */
.island-bg01{
	padding: 10px;
	background-color: #E17457;
	background-image: url(/hawaii/kansai/img/icon_arrow01_wh.png);
	background-repeat: no-repeat;
	background-position: right 5% top 50%;
	background-size: 22px;
	font-size: 18px;
	text-align: left;
}
.island-bg01 a:hover{
	transition:all 0.5s ease;
	filter:alpha(opacity=70);
	opacity:0.7;
}
.island-bg02{
	background-color: #98C473;
}
.island-bg03{
	background-color: #EEBA4E;
}
.island-bg04{
	background-color: #6CA6D4;
}
.island-bg05{
	padding: 10px;
	background-color: #C394C1;
	background-image: url(/hawaii/kansai/img/icon_arrow01_wh.png);
	background-repeat: no-repeat;
	background-position: right 5% top 50%;
	background-size: 22px;
	font-size: 18px;
	text-align: left;
}
.island-bg05 a:hover{
	transition:all 0.5s ease;
	filter:alpha(opacity=70);
	opacity:0.7;
}
.island-c01{
	color: #E17457;
}
.island-c02{
	color: #98C473;
}
.island-c03{
	color: #EEBA4E;
}
.island-c04{
	color: #6CA6D4;
}
.island-c05{
	color: #c394c1 ;
}
.island-bd01{
	border-color: #E17457;
}
.island-bd02{
	border-color: #98C473;
}
.island-bd03{
	border-color: #EEBA4E;
}
.island-bd04{
	border-color: #6CA6D4;
}
.island-bd05{
	border-color: #C394C1;
}
.island-01{
	color: #E17457;
}
.island-02{
	color: #98C473;
}
.island-03{
	color: #EEBA4E;
}
.island-04{
	color: #6CA6D4;
}

/*検索ボタン設定
========================= */
.recom_search_btn {
	width: 365px;
	margin: 30px auto 0;
	text-align: center;
}
#wrap .recom_search_btn a {
	width: 80%;
	height: 80%;
	padding: 4% 10%;
	display: block;
	background-image: url(/hawaii/kansai/img/icon_arrow01_wh.png);
	background-repeat: no-repeat;
	background-position: center right 4%;
	background-size: 6%;
	background-color: #014cb0;
	color: #fff;
	font-weight: bold;
}
.recom-box-price {
    display: block;
    color: red;
    font-size: 16px;
    margin-left: 5px;
}


/*-------slickスライダー調整--------*/
.slick-list {
    height: 286px;
}
.slick-prev,
.slick-next
{
    width: 40px!important;
    height: 40px!important;
}
.slick-prev:before,
.slick-next:before
{
    font-size: 40px!important;
    color: #666666!important;
}
.slick-prev
{
    left: -45px!important;
}
[dir='rtl'] .slick-prev
{
    right: -45px!important;
}
.slick-next
{
    right: -45px!important;
}
[dir='rtl'] .slick-next
{
    left: -45px!important;
}
.slick-track {
    margin-bottom: 30px;
}
.slick-dots li button:before {
    font-size: 10px!important;
}


/*-------------------------------------------------
	スマホ用
-------------------------------------------------*/
@media screen and (max-width: 932px) {
	.nopc{
		display: block;
	}
    .nosp {
        display: none;
    }
	body {
		-webkit-text-size-adjust: 100%;
	}
    * {
        box-sizing: border-box;
    }
	.breadcrumb {
		width: 100%;
	}

	/*ヘッダー
	----------------------------------------------*/
	#headContainer #header #headerUtility .headerInner {
		height: auto;
	}
	#imgHeadLogo {
		background-size: 500px 60px;
	}

	/*フッター
	----------------------------------------------*/
	#all-footer {
		display: block;
	}

	/*メインビジュアル
	----------------------------------------------*/
	#mainVisual {
		height: auto;
		padding: 2% 2% 5%;
	}
	.main-ttl {
		width: 100%;
		max-width: 750px;
		margin: 17% 0 0;
		position: relative;
		top: auto;
		left: auto;
	}
	.main-ttl img {
		width: 100%;
	}
	.main-map {
		width: 100%;
		max-width: 750px;
		margin: 5% 0;
		position: relative;
		top: auto;
		left: auto;
		text-align: right;
	}
	.map_overview img {
		width: 90%;
	}
	.map-icon01, .map-icon02, .map-icon03, .map-icon04, .map-icon05 {
		display: none;
	}

	/*コンテンツ
	----------------------------------------------*/
	.content_wrap {
		height: auto;
		padding: 0 0 5%;
	}
	.dot_bg {
		/*width: 100%;
		margin: 0 0 0 -200px;
		left: auto;
		opacity: 0.8;*/
		display: none;
	}
	.section-ttl {
		padding: 8% 2% 0;
		font-size: 1.5em;
	}
	.box {
		width: 100%;
		min-height: inherit;
		margin: 10% auto 0;
		padding: 0;
	}
	.box-mini-ttl, .box-mini-ttl2 {
		position: absolute;
		top: 3%;
		right: 3%;
		margin-right: 0;
		z-index: 100;
	}
	.box-mini {
		height: auto;
		margin: 0 auto;
	}
	.box-info {
		width: 100%;
		padding: 2% 4% 6%;
		position: relative;
	}
	#oahu .box-info {
		background-image: url(../img/dot_bg00.gif);
		background-position: top 115px right -200px;
		background-repeat: no-repeat;
	}
	#hawaii .box-info {
		background-image: url(../img/dot_bg05.gif);
		background-position: top 200px left -190px;
		background-repeat: no-repeat;
	}
	#maui .box-info {
		background-image: url(../img/dot_bg08.gif);
		background-position: top 142px right -430px;
		background-repeat: no-repeat;
	}
	#lanai .box-info {
		background-image: url(../img/dot_bg11.gif);
		background-position: top 75px left -240px;
		background-repeat: no-repeat;
	}
	#kauai .box-info {
		background-image: url(../img/dot_bg17.gif);
		background-position: top 175px left -420px;
		background-repeat: no-repeat;
	}
	.box-info-ttl {
		margin: 6% 0 4%;
        line-height: 1;
	}
	.box-info-subttl {
		font-size: 15px;
	}
	.box-map-icon01 {
		position: absolute;
		top: -4%;
		right: 5%;
	}
	.box-map-icon02 {
		position: absolute;
		top: 5%;
		left: auto;
		right: 5%;
	}
	.box-map-icon03 {
		position: absolute;
		top: 5%;
		right: 5%;
	}
	.box-map-icon04 {
		position: absolute;
		top: 5%;
		left: auto;
		right: 5%;
	}
	.box-map-icon05 {
		position: absolute;
		top: 5%;
		left: auto;
		right: 5%;
	}
	.info-box02 {
		display: block;
		width: 80%;
		height: auto;
		margin: 5% auto;
		position: relative;
	}
	.recom_search_btn {
		width: 100%;
		margin: 0 auto;
		text-align: center;
	}
	#wrap .recom_search_btn a {
		width: 100%;
	}
	.box-info-btn {
		width: 65%;
		margin: 4% auto 0;
		padding: 2% 6% 2% 0;
		text-align: center;
	}

	/*商品部分*/
	.info-box {
		width: 96%;
		height: auto;
		margin: 2% auto;
	}
	.info-line {
		width: 100%;
		height: auto;
		position: relative;
	}
	.line01-right {
		margin-left: 0px;
	}
	.line02-right {
		margin-left: 0px;
	}
	.line01-left {
		margin-left: 0px;
	}
	.info-pic {
		width: auto;
		height: auto;
		margin-right: 2%;
		float: none;
		display: inline-block;
		vertical-align: top;
	}
	.info-wrap {
		width: 74%;
		float: none;
		display: inline-block;
	}
	.info-wrap-txt .price {
		display: block;
	}

    /*スライダー画像*/
    .slick-slide img {
        width: 100%;
    }
	.slick-list {
		margin: 2%;
        height: auto;
	}
	.slick-prev
    {
        left: 1vw!important;
        z-index: 1;
    }

    .slick-next
    {
        right: 1vw!important;
        z-index: 1;
    }
    .slick-prev:before, .slick-next:before,.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before {
        font-size: 30px!important;
        color: #fff!important;
        opacity: .8!important;
    }
    .slick-track {
        margin-bottom: 0;
    }
    
    
	/*その他*/
	.hawaii-copyright {
		width: auto;
		padding: 2%;
		font-size: 12px;
		position: relative;
		bottom: auto;
		right: auto;
		margin-right: 0;
		text-align: right;
	}
	.right, .left {
		 float: none;
	}
}
/*iPhone XS Max/XR以下・横向き用
-------------------------------------------------*/
@media screen and (max-width: 896px) and (orientation: landscape) {
	.box-mini-ttl, .box-mini-ttl2 {
		position: absolute;
		top: 3%;
		right: 20%;
		margin-right: 0;
		z-index: 100;
	}
}
/*iPhoiPhone 8/7/6s/6 Plus以下・横向き用
-------------------------------------------------*/
@media screen and (max-width: 736px) and (orientation: landscape) {
	.box-mini-ttl, .box-mini-ttl2 {
		position: absolute;
		top: 3%;
		right: 16%;
		margin-right: 0;
		z-index: 100;
	}
}
/*iPhone 5s/5/SE以下・横向き用
-------------------------------------------------*/
@media screen and (max-width: 568px) and (orientation: landscape) {
	.box-mini-ttl, .box-mini-ttl2 {
		position: absolute;
		top: 3%;
		right: 6%;
		margin-right: 0;
		z-index: 100;
	}
}
/*スマホ縦用
-------------------------------------------------*/
@media screen and (max-width: 479px) {
	body {
		-webkit-text-size-adjust: 100%;
	}
	.box-info-btn {
		width: 75%;
		margin: 3% auto 0;
		padding: 2% 6% 2% 0;
		text-align: center;
	}
}