/* islands CSS */

/*******************************************************************************
COMMON
********************************************************************************/
html,body{overflow-x:hidden; box-sizing: border-box;}
*{box-sizing: border-box;}
body{position: relative; overflow: hidden;}

.container {
	width: 1200px;
	margin: 0 auto;
	font-family:"Noto Sans JP",'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック',sans-serif;
	font-size:16px;
	line-height:1.6;
	font-feature-settings: "palt";
    word-wrap: break-word;
    overflow-wrap: break-word;
	box-sizing: border-box;
	position: relative;
}
#breadcrumb{width: 1200px; font-size: 12px;}
#breadcrumb li a{background-position: right center;}
dl,dt,dd,ul,li,ol,li {
	margin:0;
	padding:0;
	text-decoration:none;
}
#container:after, .content:after, .inner:after, dl:after{
    visibility: visible;
}
/*
font-family: "Noto Sans JP", serif;
font-family: "Noto Serif JP", serif;
font-family: "Dancing Script", cursive;
*/
img {
	margin:0;
	padding:0;
	vertical-align:bottom;
}
a, a:link{background:none; text-decoration:none;}
th {	font-family:"Noto Sans JP",'メイリオ', 'Meiryo', 'Helvetica', 'ヒラギノ角ゴシック ProN', 'Arial', 'ＭＳ Ｐゴシック',serif;}
#container:after, .content:after, .inner:after, dl:after,.clearfix:after{display: none;}
#container{background-color: #fafbf6;}

/*pagetop*/
#gotop{display: none;}
#pagetop {
	position: fixed;
	bottom: 1em;
	right: 1em;
	z-index:50;
	width:4em;
	height:4em;
	border-radius:50%;
	overflow:hidden;
	text-align: center;
}
#pagetop a {
	position: relative;
	display:block;
	width:100%;
	height:100%;
	padding:0;
	background-image: none;
	background-color:rgba(119,119,119,0.4);
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;	
}
#pagetop a:before{
	content: "▲";
	display: block;
	position: absolute;
	color: #FFF;
	font-size: 2em;
    text-indent: 0;
	left: 50%;
	top: 50%;
	transform: translateY(-50%) translateX(-50%);
}
#pagetop a:hover {
	text-decoration: none;
	background-color: #a5a5a5;
}
.fullsize{
	margin-left:-200%;
	margin-right: -200%;
	padding-left:200%;
	padding-right: 200%;
	position: relative;
}
.disc{
	position: relative;
	padding-left: 1em;
}
.disc:before{
	content: "\30FB";
	display: block;
	position: absolute;
	left: 0;
	top:0;
}
.asterisk{
	position: relative;
	padding-left: 1em;
}
.asterisk:before{
	content: "\203B";
	display: block;
	position: absolute;
	left: 0;
	top:0;
}
[class^="btn-"]{
	font-size: 1.2em;
	text-align: center;
	border-radius: 1em;
	overflow: hidden;
}
[class^="btn-"] a{
	color: #FFF;
	display: block;
	padding: 0.5em;
}


/*--1200px以下------------------------------------*/
@media only screen and (max-width: 1200px) {
.container{	width:100%; padding: 0 3%; overflow-x: hidden;}
#breadcrumb{width: 100%}
.fullsize{
	margin-left: -3.1%;
	margin-right: -3.1%;
	padding-left: 3.1%;
	padding-right: 3.1%;
}
}
/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#breadcrumb{display: none;}
.container {
    font-size: 3.4vw;
    line-height: 1.6;
}
}



/*******************************************************************************
title
********************************************************************************/
#title{
    position: relative;
    background: url("../img/title_base.webp") no-repeat center;
    background-size: 100vw auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    padding-top: 3%;
    padding-bottom: 4%;
    z-index: 0;
}
#title::after{
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    width: 100vw;
    height: 8em;
    background: #ffffff;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(250, 250, 249, 1) 38%, rgba(250, 250, 249, 0) 100%);
    z-index: -1;
}
.titleWrap{
    text-align: center;
    flex-basis: 100%;
    font-family: "Noto Serif JP", serif;
    background: url("../img/title_bg.webp") no-repeat center top;
    font-size: 1.4em;
    font-weight: 500;
    padding: 5em 0 6em;
    min-width: 833px;
}
.titleWrap h1{
    font-size: 2.4em;
    line-height: 1.4;
    font-weight: 700;
    background: linear-gradient(0deg, #007edc 0%, #009bdb 55%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    margin-left: 0.2em;
}
.titleWrap h1 strong{
    font-size: 1.5em;
    font-weight: 700;
    margin-right: 0.1em;
}
.anchorBtn{
    flex-basis: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -2.8em auto 2em;
}
.anchorBtn li {
    flex-basis: calc(100% / 4 - 4%);
    max-width:  calc(100% / 4 - 4%);
    max-width: 15em;
    margin: 0 2%;
}
.anchorBtn li a{
    display: block;
    position: relative;
    padding: 0.3em 0.4em 0.3em 0.4em;
    background: #ededed;
    background: linear-gradient(0deg, rgba(237, 237, 237, 1) 0%, rgba(255, 255, 255, 1) 50%);
    border-radius: 3px;
    font-size: 1.8em;
    font-weight: 500;
    line-height: 1.4;
    font-family: "Noto Serif JP", serif;
    text-align: center;
    color: #000;
    box-shadow: 3px 5px 5px rgba(0,0,0,0.3);
    border-left: 1em solid #00a6f4;
}
.anchorBtn li a::before{
    content: ">";
    display: block;
    color: #FFF;
    font-size: 0.7em;
    line-height: 1.2;
    width: 1.2em;
    height: 1.2em;
    position: absolute;
    left: -1.2em;
    font-weight: 700;
    top: 50%;
    transform: rotate(90deg) translateX(-50%) scale(1,1.4);
}
.anchorBtn li a:hover{
background: #00aeff;
background: linear-gradient(0deg, rgba(0, 174, 255, 1) 0%, rgba(128, 215, 255, 1) 100%);
    color: #FFF;
}

#title h2,
#title h2 + p{
    flex-basis: 100%;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 1.1em;
    line-height: 1.5;
}


/*--1580px以下------------------------------------*/
@media only screen and (max-width: 1500px) {
#title{
    background-size: auto 100%;
}
}


/*--1000px以下------------------------------------*/
@media only screen and (max-width: 1000px) {
#title{
    background-size: auto 100%;
}
.titleWrap{
    flex-basis: 100%;
    min-width: inherit;
    background-size: 100% auto;
    font-size: 2.6vw;
}
.anchorBtn{
    font-size: 1.8vw;
    margin: -1.4em auto 2em;
}
}

/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
.anchorBtn{
    font-size: 2.2vw;
}
.anchorBtn li {
    flex-basis: calc(100% / 4 - 2%);
    max-width:  calc(100% / 4 - 2%);
    max-width: none;
    margin: 0 1%;
}


#title h2, #title h2 + p{
    font-size: 0.9em;
}
}


/*******************************************************************************
MIYAKOJIMA
********************************************************************************/
#miyakojima{
    background-image: url("../img/miyako_bg.webp"),url("../img/common_bg.webp");
    background-repeat: no-repeat,repeat;
    background-position: center top, center bottom;
    background-size: auto,auto;
}
.shimaCommon{
    position: relative;
    padding-top: 5%;
    padding-bottom: 11%;
    z-index: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
}
.shimaCommon::before{
    content: "";
    display: block;
    width: 40vw;
    padding-top: 30vw;
    background: url("../img/corner.webp") no-repeat left top;
    background-size:contain;
    position: absolute;
    top:0;
    z-index: -1;
    transform: translateX(calc((100vw - 1200px) / 2 * -1));
}
.shimaCommon::after{
    content: "";
    display: block;
    width: 100vw;
    height: 20em;
    background: #ffffff;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 29%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: -1;
}
.shimaCommon .shima-left{
    flex-basis: 50%;
}
.shimaCommon .shima-right{
    flex-basis: 47%;
    margin-left: 3%;
}
.shimaCommon h3{
    font-family: "Noto Serif JP", serif;
    border-bottom: 1px solid #ffff00;
    padding-bottom: 1em;
    margin-bottom: 1.5em;
}
.shimaCommon h3 strong{
    display: inline-block;
    vertical-align: middle;
    font-size: 5.8em;
    line-height: 1;
    font-weight: 600;
    background: linear-gradient(0deg, #acffff 0%, #ffffff 53%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
}
.shimaCommon h3 span{
    display: inline-block;
    vertical-align: middle;
    color: #ffff00;
    font-size: 1.3em;
    font-weight: 400;
    margin-top: 1em;
}
.shimaCommon h3 strong::after{
    content: "";
    display: inline-block;
    vertical-align: bottom;
    width: 1.1em;
    height: 1.1em;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    margin:0 0.1em;
}
#miyakojima h3 strong::after{background-image: url("../img/hibiscus_pink.png");}
#ishigakijima h3 strong::after{background-image: url("../img/hibiscus_yellow.png");}
#iriomotejima h3 strong::after{background-image: url("../img/hibiscus_orange.png");}

.shimaCommon .shima-text{
    color: #FFF;
    margin-bottom: 2em;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.9);
}
.shimaCommon .shima-data{
    position: relative;
    display: inline-block;
    color: #FFF;
    background-color: rgba(5,143,208,0.7);
    padding: 2em 2em 1em;
    font-size: 0.9em;
    min-width: 70%;
}
.shimaCommon .shima-data::before{
    content: "Data";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    font-size: 1.4em;
    line-height: 1;
    padding: 0.1em 5em 0 1em;
    font-family: "Dancing Script", cursive;
    color: #0165ff;
    background: #ffffff;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 74%, rgba(255, 255, 255, 0) 100%);
    min-width: 30%;
}
.shimaCommon .shima-map{
    display: inline-block;
    background-color: rgba(255,255,255,0.6);
    border: 1px solid #FFF;
    position: relative;
    z-index: 1;
}
[class^="clickmap-"]{
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
}
[class^="clickmap-"] li{
    display: inline-block;
    background-color: rgba(255,255,255,0.7);
    padding: 0 0.5em;
    font-size: 1em;
    font-weight: 600;
    position: absolute;
    cursor: pointer;
}
.map1-1{right:65%; top:71%}
.map1-2{right:58%; top:38%;}
.map1-3{left:18%; top:60%;}
.map1-4{right:61%; top:29%;}
.map1-5{left:43%; top:15%;}
.map1-6{right:7%; top:83%;}
.map1-7{right:69%; top:78%;}
.map1-8{left:42%; top:6%;}
.shimaCommon .shima-map img{
    width: 100%;
    max-width: 480px;
}
.sightseeingWrap{
    width: 100%;
    margin-top: 2em;
}
.ssWrap::before,
.ssWrap::after{
    content: "";
    display: block;
    flex-basis: calc(100% / 4 - 1%);
    max-width:  calc(100% / 4 - 1%);
    order: 1;
}
.sightseeingWrap h4{
    font-family: "Dancing Script", cursive;
    font-size: 2.4em;
    line-height: 1.3;
    color: #ffff00;
    font-weight: 500;
    position: relative;
    z-index: 1;
}
.ssWrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.ssBox{
    position: relative;
    flex-basis: calc(100% / 4 - 1%);
    max-width:  calc(100% / 4 - 1%);
    margin-bottom: 1em;
    background-color: rgba(255,255,255,0.9);
    border: 3px solid #FFF;
}
.ssBox.attention::after{
    content: "";
    display: block;
    position: absolute;
    left: -6px;
    top: -6px;
    width: 100%;
    height: 100%;
    border: 6px solid #ffff00;
    box-sizing: content-box; 
    animation: blinking 0.5s ease-in-out infinite alternate;
}
@keyframes blinking {
   0% {
   opacity: 0;
   }
   100% {
   opacity: 1;
   }
}


.ssBox dt{
    width: 100%;
    border: 1px solid #FFF;
}
.ssBox dt img{
    width: 100%;
}
.ssBox dd{
    padding:0 1em 1em 1em;
}

.ssBox h5{
    font-family: "Noto Serif JP", serif;
    padding: 0.5em 0;
    font-weight: 600;
    font-size: 1.2em;
    line-height: 1.2;
}
.ssBox h5 + p{
    font-size: 0.85em;
    line-height: 1.5;
}

.recoHotelWrap{
    flex-basis: 100%;
    max-width: 100%;
    margin-top: 3em;
}
.recoHotelWrap h4{
    flex-basis: 100%;
    font-family: "Dancing Script", cursive;
    font-size: 2.4em;
    line-height: 1.3;
    color: #00a6f4;
    font-weight: 500;
}
.hotelBox {
    display: flex;
    flex-wrap: wrap;
    padding: 3%;
    justify-content: space-between;
    background-color: rgba(255,255,255,0.9);
    border: 1px solid #FFF;
    margin-bottom: 2em;
    border-top: 2px solid #00a6f4;
}
.hotelBox dt{
    flex-basis: 40%;
    max-width: 40%;
    overflow: hidden;
}
.hotelBox dt img{
    width: 100%;
}

.hotelBox dd{
    flex-basis: 60%;
    max-width: 60%;
    padding: 0 0 0 2em;
}
.hotelBox dd h5{
    font-family: "Noto Serif JP", serif;
    font-size: 1.5em;
    line-height: 1.2;
}
.hotelBox .bx-wrapper{
    background-color: transparent;
    border: 0;
    box-shadow: 0 0 0;
    margin-bottom: 0;
}
.hotelBox .bx-wrapper .bx-pager{
    bottom: 10px;
}
.hotelBox .bx-wrapper .bx-pager.bx-default-pager a{
    background-color: rgba(255,255,255,0.60);
}
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus,
.bx-wrapper .bx-pager.bx-default-pager a:hover{
    background-color: #FFF;
}
.hotelEng{
    font-family: "Noto Serif JP", serif;
    color: #00a6f4;
    margin-bottom: 1em;
}
.hotel-data{
    margin: 1em 0;
    display: flex;
    flex-wrap: wrap;
    padding:0.5em 1em;
    background-size: auto auto;
    background-color: rgba(199, 199, 199, 0.08);
    background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(199, 199, 199, 0.07) 5px, rgba(199, 199, 199, 0.07) 4px );
}
.hotel-data li{
    margin-right: 2em;
    font-size: 0.9em;
    color: #333;
}
.hotel-data li::before{
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 1.2em;
    height: 1.2em;
    background-repeat: no-repeat;
    background-size: contain;
    margin-right: 0.2em;
}
.hotel-data .icon-add::before{background-image: url("../img/icon-add.png")}
.hotel-data .icon-tel::before{background-image: url("../img/icon-tel.png")}
.hotel-data .icon-car::before{background-image: url("../img/icon-car.png")}
.hotel-data .icon-acs::before{background-image: url("../img/icon-acs.png")}
.hotel-data .icon-chk::before{background-image: url("../img/icon-chk.png")}

.hotelPhotos li{
    display: none;
}
.bx-viewport .hotelPhotos li{
    display: block;
}
.bookBtn{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 1em;
}
.bookBtn li{
    flex-basis: calc(100% / 2 - 2%);
    max-width: calc(100% / 2 - 2%);
}
.bookBtn li a{
    position: relative;
    display: block;
    text-align: center;
    padding: 0.7em;
    color: #FFF;
    background-color: #DDD;
    font-size: 1.1em;
}
.bookBtn li a[href]{
    background: #009dff;
    background: linear-gradient(0deg, rgba(0, 157, 255, 1) 0%, rgba(0, 174, 255, 1) 100%);
    border-radius: 3px;
    box-shadow: 2px 2px 3px rgba(0,0,0,0.1);
    color: #fff;

}
.bookBtn li a:hover{
    opacity: 0.7;
}
/*--1800px以下------------------------------------*/
@media only screen and (min-width: 1800px) {
.shimaCommon::before {
    transform: translateX(-301px);
}
}
/*--1200px以下------------------------------------*/
@media only screen and (max-width: 1200px) {
.shimaCommon::before {
    transform: translateX(-8%);
    width: 50vw;
    height: 40vw;
}
.ssWrap::before, .ssWrap::after {
    content: "";
    display: inline-block;
    flex-basis: calc(100% / 3 - 1%);
    max-width: calc(100% / 3 - 1%);
}
.ssBox{
    flex-basis: calc(100% / 3 - 1%);
    max-width:  calc(100% / 3 - 1%);
}
.shimaCommon h3{
    margin-right: -50%;
}
}



/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#miyakojima{
    background-size: 180% auto,auto;
}
.shimaCommon .shima-left{
    flex-basis: 100%;
    max-width: 100%;
}
.shimaCommon .shima-right{
    flex-basis: 100%;
    max-width: 100%;
    margin: 1em 0 0 0;
}
.shimaCommon .shima-map{
    width: 100%;
    background-color: rgba(188,242,253,0.73);
}
.shimaCommon .shima-map img{
    max-width: none;
}

.shimaCommon h3{
    margin-right:0;
}
.shimaCommon h3 strong{
    font-size: 12vw;
}
.shimaCommon h3 span{
    font-size: 3.2vw;
}
.shimaCommon .shima-data{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.shimaCommon .shima-data li{
    margin-right: 2em;
}
.sightseeingWrap{
    margin-top:-1.2em;
}
.sightseeingWrap h4{
    display: block;
    margin-left: -0.1em;
    margin-bottom: -0.8em;
    transform: rotate(-3deg);
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}
.sightseeingWrap .bx-wrapper{
    background-color: transparent;
    border: 0;
    box-shadow: 0 0 0;
}
.ssWrap::before, .ssWrap::after {
    display: none;
}
.ssWrap{
    display: block;
}
.ssBox {
    flex-basis: 100%;
    max-width:100%;
    width: 100%;
    padding: 10px;
    margin-bottom: 0;
}
.ssBox dt{
    box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    padding: 10px;
    background-color: #FFF;
}
.hotelBox dt{
    flex-basis: 100%;
    max-width: 100%;
}
.hotelBox dd{
    flex-basis: 100%;
    max-width: 100%;
    padding: 1em 0 0 0;
}
}
/*--480px以下------------------------------------*/
@media screen and (max-width: 480px)  {
.ssWrap::before, .ssWrap::after {
    display: none;
}
.ssWrap{
    display: block;
}
.ssBox{
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
}
.ssBox dd{
    min-height: 9em;
}
}

/*******************************************************************************
ISHIGAKIJIMA
********************************************************************************/
#ishigakijima{
    background-image: url("../img/ishigaki_bg.webp"),url("../img/common_bg.webp");
    background-repeat: no-repeat,repeat;
    background-position: center top, center bottom;
    background-size: auto,auto;
}
.map2-1{left:33%; top:46%}
.map2-2{left:70%; top:44%;}
.map2-3{right:16%; top:2%;}
.map2-4{right:63%; top:81%;}
.map2-5{right:75%; top:74%;}
.map2-6{left:44%; top:68%;}
.map2-7{right:68%; top:66%;}
.map2-8{right:81%; top:56%;}

/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#ishigakijima{
    background-size:150% auto,auto;
}
}
/*******************************************************************************
IRIOMOTEJIMA
********************************************************************************/
#iriomotejima{
    background-image: url("../img/iriomote_bg.webp"),url("../img/common_bg.webp");
    background-repeat: no-repeat,repeat;
    background-position: center top, center bottom;
    background-size: auto,auto;
}
.map3-1{left:57%; top:39%}
.map3-2{right:22%; top:50%;}
.map3-3{right:3%; top:44%;}
.map3-4{right:34%; top:66.3%;}
.map3-5{right:61%; top:33%;}
.map3-6{right:60.3%; top:13.4%;}
.map3-7{left:58%; top:13%;}
.map3-8{right:25%; top:55.5%;}
/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#iriomotejima{
    background-size:150% auto,auto;
}
}
/*******************************************************************************
KUMEJIMA
********************************************************************************/
#kumejima{
    background-image: url("../img/kume_bg.webp"),url("../img/common_bg.webp");
    background-repeat: no-repeat,repeat;
    background-position: center top, center bottom;
    background-size: auto,auto;
}
.map4-1{right:2%; top:44%}
.map4-2{right:49%; top:60%;}
.map4-3{left:7%; top:28%;}
.map4-4{right:41%; top:56%;}
.map4-5{right:67%; top:34%;}
.map4-6{right:32%; top:34%;}
.map4-7{left:32%; top:25%;}
.map4-8{right:19%; top:49.5%;}
/*--737px以下------------------------------------*/
@media screen and (max-width: 737px)  {
#kumejima{
    background-size:150% auto,auto;
}
}





