@charset "utf-8";

/* コンテンツ幅 フル */
.contentsInr { width: auto; padding: 0px; }

.ryukyu-bunka .ctm_contentsFull { margin-top: 0; }
@media all and (max-width: 739px){
	.ryukyu-bunka .ctm_contentsFull { padding: 30px 0; }
}
@media all and (min-width: 740px){
	.ryukyu-bunka .ctm_contentsFull { margin-top: 0; }
}

/* コンテンツ幅 950px */
.contentsInr .contentsUnit,
.contentsInr .module { padding: 0 10px; margin: 0 auto; }

@media all and (min-width: 740px){
	.contentsInr .contentsUnit,
	.contentsInr .module { width: 950px !important; padding: 0px; margin: 0 auto; }
	.contentsInr .module { float: none !important; }
}

/* font */
#Story .ctm_pageTtl .ttlLv2 h3,
#Story .ctm_pageTtl .ttlLv3 h4,
#Spot  .ctm_pageTtl .ttlLv2 h3,
#Spot  .ctm_pageTtl .ttlLv3 h4,
.ryukyu-bunka .ctm_pageTtl .ttlLv1 h2 sub { font-family: "Kiwi Maru", serif; font-weight: 400; font-style: normal; }

/* icon */
.ryukyu-bunka .material-symbols-outlined { font-variation-settings: 'wght' 300; vertical-align: middle; }

/* iconTxt */
.ryukyu-bunka [class^="ctm_iconTxt_br"] { display: inline-block; padding: 3px 1.0rem 1px; color: #fff; border-radius: 4px; letter-spacing: 0.1rem; }

.ryukyu-bunka .txtLimited { position: absolute; transform: rotate(-12deg); padding: 0.2em 0.5em 0.1em 0.5em; font-weight: bold; color: #16b2e3; background: #fff; border: 2px solid #16b2e3; }

/* list */
.fsS li { font-size: 1.4rem; }
.fsL li { font-size: 1.8rem; }
@media all and (min-width: 740px){
	.fsS li { font-size: 1.2rem; }
	.fsL li { font-size: 1.6rem; }
}

/* ctm_pageTtl */
.ryukyu-bunka .ctm_pageTtl .ttlLv1 { position: relative; margin: 80px 0 40px 0; padding: 5px 0; }
.ryukyu-bunka .ctm_pageTtl .ttlLv1:after { content: ""; position: absolute; display: inline-block; }
.ryukyu-bunka .ctm_pageTtl .ttlLv1:after { width: 90%; height: 100px; background: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/heading_bg01.png?v=1) no-repeat; background-size: 100%; top: -50px; left: 0; right: 0; margin: 0 auto; }
.ryukyu-bunka .ctm_pageTtl .ttlLv1 h2 { position: relative; font-weight: normal; }
.ryukyu-bunka .ctm_pageTtl .ttlLv1 h2 sub { position: absolute; display: block; color: #a788c7; letter-spacing: 0.2rem; font-size: 1.8rem; top: -70px; left: 0; right: 0; margin: 0 auto; }
@media all and (min-width: 740px){
	.ryukyu-bunka .ctm_pageTtl .ttlLv1:after { width: 40%; }
}


@media all and (max-width: 739px){
	.ryukyu-bunka .ctm_pageTtl .ttlLv1 h2 { font-size: 2.8rem; }
	.ryukyu-bunka .ctm_pageTtl .ttlLv2 h3 { font-size: 2.6rem; }
	.ryukyu-bunka .ctm_pageTtl .ttlLv3 h4 { font-size: 2.2rem; }
}

@media all and (min-width: 740px){
	.ryukyu-bunka .ctm_pageTtl .ttlLv2 h3 { font-size: 3.6rem; }
	.ryukyu-bunka .ctm_pageTtl .ttlLv3 h4 { font-size: 2.2rem; }
}

/* caption */
.ryukyu-bunka .imgParts figcaption,
.ryukyu-bunka .txtCaption { font-size: 1.2rem; }

/* Button type horizon
.ryukyu-bunka .ctm_btnList_horizon .btnBox { display: block; width: 100%; height: 100%; }
.ryukyu-bunka .ctm_btnList_horizon .col > div { height: 100%; }
.ryukyu-bunka .ctm_btnList_horizon .col .btn { display: table; width: 100%; height: 100%; padding-top: 10px; padding-bottom: 10px; margin-top: 0px; }
.ryukyu-bunka .ctm_btnList_horizon .col .btnInr { display: table-cell; vertical-align: middle; width: 100%; height: 100%; }
*/

/* anchorList */
@media all and (max-width: 739px){
	.ryukyu-bunka .anchorList .btn { margin-top: 0; }
}



/* Lead */
#Lead.ctm_contentsFull { padding: 20px 0; color: #fff; background: #309bd8; }

#Lead .ctm_pageTtl .ttlLv4 { margin: 0; }
#Lead .ctm_pageTtl .ttlLv4 h5 { font-size: 1.6rem; }



/* Navi */
#Navi.ctm_contentsFull { background: #fff; }

@media all and (max-width: 739px){
	#Navi .ctm_btnList_horizon .col .btn { margin-top: 0; width: 80vw; }
}



/* Coupon */
#Coupon.ctm_contentsFull { background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/contents_bg02.jpg?v=5); background-size: 75%; }

/* @media all and (min-width: 740px){
	#Coupon .clm_1_2col.colWrap .col:nth-of-type(n+2) { border-left: 1px solid #333; padding-left: 20px; }
} */

.ctm_pageTtl.hc02.coupon__block--ttl .ttlLv3 .heading span { font-size: 150%; color: #D64330; }

.ctm_pageTtl.hc03 { color: #fff; background-color: #666; }
.ctm_pageTtl.hc03 .ttlLv2 h3 { font-size: 2.0rem; font-weight: normal; }
@media all and (min-width: 740px){
	.ctm_pageTtl.hc03 .ttlLv2 h3 { font-size: 3.0rem; }
}

.hc03_txt01 { font-size: 120%; }

.hc03_txt02 { font-size: 60%; display: block; }

.coupon__block--r { border-left: 2px solid #fff; padding-left: 30px; padding-bottom: 10px; }

.coupon__block--ttl .ttlLv3 { margin-top: 0; margin-bottom: 0; }

.couponArea_detail .colWrap.clm_1_2col { align-items: center; }

.couponArea_detail .colWrap.clm_1_2col .col:nth-child(1) { width: 54%; }
.couponArea_detail .colWrap.clm_1_2col .col:nth-child(2) { width: 42%; }

@media screen and (max-width:960px) {
	.coupon__block--r { padding-left: 0px; padding-bottom: 0px; border-left: none; }
	.couponArea_detail .colWrap.clm_1_2col .col:nth-child(1) { width: 100%; }
	.couponArea_detail .colWrap.clm_1_2col .col:nth-child(2) { width: 100%; }
}



/* Story */
#Story.ctm_contentsFull { background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/contents_bg01.jpg?v=2); background-size: 75%; }

#Story .ctm_pageTtl .ttlLv2 { margin-top: 20px; }
#Story .ctm_pageTtl .ttlLv2 h3 { width: 100%; height: 36vw; background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/story_heading_sp.png?v=1); background-size: contain; background-repeat: no-repeat; background-position: center; font-size: 0px; text-indent: -9999px; }
@media all and (min-width: 740px){
	#Story .ctm_pageTtl .ttlLv2 h3 { width: 600px; height: 131px; background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/story_heading.png?v=1); background-size: contain; }	
}

#Story .ctm_pageTtl .ttlLv3 { margin: 0 auto 30px; width: 65%; background: #fff; }
#Story .ctm_pageTtl .ttlLv3 h4 { padding: 16px 0; border-top: 2px solid #eea853; border-bottom: 2px solid #eea853; }
#Story .ctm_pageTtl .ttlLv3 h4 span { font-size: 2.6rem; }
#Story .ctm_pageTtl .ttlLv3 h4 strong { font-size: 2.6rem; font-weight: normal; padding: 0 0.2rem; }
#Story .ctm_pageTtl .ttlLv3 h4 strong:nth-of-type(1) { color: #a788c7; }
#Story .ctm_pageTtl .ttlLv3 h4 strong:nth-of-type(2) { color: #30bcaa; }
#Story .ctm_pageTtl .ttlLv3 h4 strong:nth-of-type(3) { color: #bfb928; }

@media all and (min-width: 740px){
	#Story .ctm_pageTtl .ttlLv3 h4 { font-size: 2.0rem; }
	#Story .ctm_pageTtl .ttlLv3 h4 span { }
	#Story .ctm_pageTtl .ttlLv3 h4 strong { }
}

#Story .ttlLv4 h5 { font-size: 1.8rem; font-weight: normal; text-align: center; line-height: 1.5; }



/* Map */
#Map.ctm_contentsFull { background: #fff; }

@media all and (max-width: 739px){
	#Map .mapBlock .map_btn { display: none; }
}
@media all and (min-width: 740px){
	#Map .mapBlock { position: relative; width: 950px; height: 770px; }

	#Map .mapBlock .map_btn { position: absolute; }
	#Map .mapBlock #map_btn_spot01_01 { top: 495px; left: 282px; width: 129px; }
	#Map .mapBlock #map_btn_spot01_02 { top: 562px; left: 383px; width: 129px; }
	#Map .mapBlock #map_btn_spot02_01 { top: 288px; left: 704px; width: 184px; }
	#Map .mapBlock #map_btn_spot02_02 { top: 646px; left:  80px; width: 187px; }
	#Map .mapBlock #map_btn_spot03_01 { top: 708px; left: 353px; width: 224px; }
	#Map .mapBlock #map_btn_spot03_02 { top: 322px; left: 302px; width: 129px; }
	#Map .mapBlock #map_btn_spot04_01 { top: 617px; left: 665px; width: 152px; }
	#Map .mapBlock #map_btn_spot04_02 { top: 475px; left: 595px; width: 152px; }
	#Map .mapBlock #map_btn_spot04_03 { top:  72px; left: 469px; width: 175px; }
	#Map .mapBlock #map_btn_spot05_01 { top: 179px; left: 228px; width: 184px; }
}



/* Spot */
#Spot.ctm_contentsFull { background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/contents_bg02.jpg?v=5); background-size: 75%; }

#Spot .spotListBlock { position: relative; border-radius: 25px; box-shadow: 10px 10px 20px 0 rgba(0, 0, 0, 0.05); }

#Spot .spotListBlock .headingWrap { padding: 30px; border-radius: 25px 25px 0 0; }

#Spot_01.spotListBlock .headingWrap { background: #eea853; }
#Spot_02.spotListBlock .headingWrap { background: #30bcaa; }
#Spot_03.spotListBlock .headingWrap { background: #bfb928; }
#Spot_04.spotListBlock .headingWrap { background: #309bd8; }
#Spot_05.spotListBlock .headingWrap { background: #a788c7; }

#Spot .spotListBlock .headingWrap .clm_1_2col.colWrap .col { color: #fff; }
#Spot .spotListBlock .headingWrap .clm_1_2col.colWrap .col:nth-of-type(1) { position: relative; }
#Spot .spotListBlock .headingWrap .clm_1_2col.colWrap .col:nth-of-type(1):after { content: ""; position: absolute; display: inline-block; width: 110%; height: 100px; background: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/spot_bg01_sp.png?v=2) no-repeat; background-size: 100%; }

@media all and (max-width: 739px){
	#Spot .spotListBlock .headingWrap .clm_1_2col.colWrap .col:nth-of-type(1):after { top: -35px; left: -35px; }
}
@media all and (min-width: 740px){
	#Spot .spotListBlock .headingWrap .clm_1_2col.colWrap .col:nth-of-type(1) { width: calc(40% - 15px); }
	#Spot .spotListBlock .headingWrap .clm_1_2col.colWrap .col:nth-of-type(2) { width: calc(60% - 15px); 
	border-left: 1px solid #fff; padding-left: 20px; }
	#Spot .spotListBlock .headingWrap .clm_1_2col.colWrap .col:nth-of-type(1):after { background: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/spot_bg01.png?v=2) no-repeat;  background-size: 100%; bottom: -75px; left: -50px; }
}

#Spot .spotListBlock .headingWrap .ctm_pageTtl .ttlLv2 { margin: 0; color: #fff; }

#Spot .spotListBlock .listWrap { padding: 30px; border-radius: 0 0 25px 25px; background: #fff; }

/*
#Spot_01.spotListBlock .listWrap { background: #fbe9d4; }
#Spot_02.spotListBlock .listWrap { background: #cbeeea; }
#Spot_03.spotListBlock .listWrap { background: #efedc9; }
#Spot_04.spotListBlock .listWrap { background: #cbe6f5; }
#Spot_05.spotListBlock .listWrap { background: #e9e1f1; }
*/

@media all and (max-width: 739px){
	#Spot .listWrap .clm_1_3col.colWrap .col:nth-of-type(n+2),
	#Spot .listWrap .clm_1_2col.colWrap .col:nth-of-type(n+2) { margin-top: 20px; padding-top: 20px; }
	#Spot_01 .listWrap .clm_1_3col.colWrap .col:nth-of-type(n+2) { border-top: 2px dotted #eea853; }
	#Spot_02 .listWrap .clm_1_3col.colWrap .col:nth-of-type(n+2) { border-top: 2px dotted #30bcaa; }
	#Spot_03 .listWrap .clm_1_2col.colWrap .col:nth-of-type(n+2) { border-top: 2px dotted #bfb928; }
	#Spot_04 .listWrap .clm_1_3col.colWrap .col:nth-of-type(n+2) { border-top: 2px dotted #309bd8; }
	#Spot_05 .listWrap .clm_1_3col.colWrap .col:nth-of-type(n+2),
	#Spot_05-02 .clm_1_3col.colWrap .col { border-top: 2px dotted #a788c7; padding-top: 20px; }
	#Spot_05 .mgtXL { margin-top: 20px !important; }
}

#Spot .spotListBlock .listWrap img { border-radius: 20px; }

#Spot .spotListBlock .listWrap .txtCaption { position: relative; }
#Spot .spotListBlock .listWrap .txtCaption p { position: absolute; top: 5px; right: 0;}

#Spot .spotListBlock .listWrap .ctm_pageTtl .ttlLv3 { margin: 10px 0 5px; }
@media all and (min-width: 740px){
	#Spot .spotListBlock .listWrap .ctm_pageTtl .ttlLv3 { margin: 20px 0 10px; }
}

#Spot_01.spotListBlock .listWrap .ctm_pageTtl .ttlLv3 { color: #eea853; }
#Spot_02.spotListBlock .listWrap .ctm_pageTtl .ttlLv3 { color: #30bcaa; }
#Spot_03.spotListBlock .listWrap .ctm_pageTtl .ttlLv3 { color: #bfb928; }
#Spot_04.spotListBlock .listWrap .ctm_pageTtl .ttlLv3 { color: #309bd8; }
#Spot_05.spotListBlock .listWrap .ctm_pageTtl .ttlLv3 { color: #a788c7; }

@media all and (min-width: 740px){
	#Spot .spotListBlock .listWrap .clm_1_3col.colWrap { justify-content: space-between; }
	#Spot .spotListBlock .listWrap .clm_1_3col.colWrap .col { margin: 0; width: 31%; }
}



/* Link */
#Link.ctm_contentsFull { background: #fff; }

@media all and (max-width: 739px){
	#Link .linkListBlock { margin: 0 auto; width: 90%; }
	#Link .linkListBlock .clm_1_3col.colWrap .col:nth-of-type(n+2),
	#Link .linkListBlock .clm_1_2col.colWrap .col:nth-of-type(n+2) { margin-top: 24px; }
}

@media all and (min-width: 740px){
	#Link .linkListBlock .clm_1_2col.colWrap { width: 630px; margin: 0 auto; }
	#Link .linkListBlock .clm_1_2col.colWrap .col { width: 300px; }
}

#Link .linkListBlock img { border-radius: 20px; }



/* Note */
#Note.ctm_contentsFull { background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/contents_bg02.jpg?v=5); background-size: 75%; }

#Note .noteListBlock { padding: 20px; background: #fff; border: 2px solid #c00;	border-radius: 25px; }
@media all and (min-width: 740px){
	#Note .noteListBlock { padding: 20px 30px; }
}


/* Promotion */
#Promotion.ctm_contentsFull { background: #fff; }

#Promotion .logoListBlock { padding: 0 10px 20px; border: 2px solid #333; }
#Promotion .logoListBlock .img { text-align: center; }

@media all and (min-width: 740px){
	#Promotion .logoListBlock { padding: 0 20px 20px; }
	#Promotion .logoListBlock img { width: 75%; }
}

@media all and (max-width: 739px){
	#Promotion .logoListBlock .img { margin: 0; width: 100%; }
	#Promotion .logoListBlock .ctm_pageTtl .ttlLv3 h4 { font-size: 1.8rem; }
}



/* Hotel */
#Hotel.ctm_contentsFull { background: #fff; }

#Hotel .ctm_pageTtl .ttlLv2 h3 { font-size: 2.4rem; }

#Hotel .hotelListBlock .col { background-image: linear-gradient(180deg, rgba(223, 247, 253, 1), rgba(255, 255, 255, 1) 10%); }

#Hotel .hotelListBlock .ctm_pageTtl .ttlLv2 { margin: 20px 0 20px; }

#Hotel .hotelListBlock .hotelImgWrap { display: flex; }

/*
#Hotel .ctm_bdrColumn .ctm_pageTtl .ttlLv3 { margin: 10px 0 0; color: #e9727a; border-bottom: 1px solid #e9727a; }
#Hotel .ctm_bdrColumn .ctm_pageTtl .ttlLv3 h4 { font-size: 2.0rem; }
*/

#Hotel .hotelWelcomeBlock { padding: 30px; background-image: url(/content/dam/sites/wwwjalcojp/jp/ja/domtour/jaldp/ryukyu-bunka/img_sites/contents_bg01.jpg?v=1); background-size: 75%; border-radius: 25px; }

#Hotel .hotelWelcomeBlock .img { text-align: center; }

@media all and (max-width: 739px){
	#Hotel .hotelWelcomeBlock .clm_1_2col.colWrap .col:nth-of-type(1) img { width: 70%; }
}
@media all and (min-width: 740px){
	#Hotel .hotelWelcomeBlock .clm_1_2col.colWrap .col:nth-of-type(1) { width: calc(25% - 15px); }
	#Hotel .hotelWelcomeBlock .clm_1_2col.colWrap .col:nth-of-type(2) { width: calc(75% - 15px); }
}

#Hotel .hotelWelcomeBlock .ctm_pageTtl .ttlLv2 { margin-top: 40px; padding: 6px; color: #eea853; background: #fff; }
#Hotel .hotelWelcomeBlock .ctm_pageTtl .ttlLv2 h3 { position: relative; display: block; padding: 10px 0; 
font-size: 2.2rem; border-top: 2px solid #eea853; border-bottom: 2px solid #eea853; }
#Hotel .hotelWelcomeBlock .ctm_pageTtl .ttlLv2 h3 sup { position: absolute; display: inline-block; top: -45px; left: 0; right: 0; margin: auto; font-size: 1.8rem; vertical-align: middle; color: #fff; }
#Hotel .hotelWelcomeBlock .ctm_pageTtl .ttlLv2 h3 strong { color: #333; }

#Hotel .hotelWelcomeBlock .text p { color: #fff; }



@media all and (max-width: 739px){
	.ryukyu-bunka .js-eqHeightCols .js-eqHeightCols-item,
	.ryukyu-bunka .js-eqHeightCols .js-eqHeightCols-item-2,
	.ryukyu-bunka .js-eqHeightCols .js-eqHeightCols-item-3,
	.ryukyu-bunka .js-eqHeightCols .js-eqHeightCols-item-4 { height: auto!important; }
}

@media all and (max-width: 739px){
}
@media all and (min-width: 740px){
}