﻿@charset "utf-8";

/*  MV
============================================================================= */
@media screen and (max-width:767px){ .mv{background: url(/kaigai/area/beach-resort/_images/0003795998_sp.webp) no-repeat center bottom; background-size: cover;}}
@media screen and (min-width:768px){ .mv{background: url(/kaigai/area/beach-resort/_images/0003795998.webp) no-repeat center bottom; background-size: cover;}}

/*  注目情報 */
#info{ background: #d8eae9;}
#info .info_card .info_list > dt a::after{ color: #019f9e;}
#info .info_card .info_list > dt.new a::before { background-color: #019f9e;}

/*  見出し
============================================================================= */
.sect.-information{ padding-bottom: 0;}

/*  検索パネルエリア
============================================================================= */
.sect.-ovsdpsearch{
	padding: 30px 0;
    background: #019F9E;
}
.ovsdpsearch-panel{
	margin-top: 30px;
	width: 100%;
    display: flex;
    flex-direction: column;
    padding: 24px 8px;
    border-radius: 4px;
    background-color: rgba(255, 255, 255, 0.85);
}
.sect.-ovsdpsearch .sect-ttl{
	color: #fff;
}
.ovsdpsearch-resrv_list{
	margin-top: 30px;
}
.ovsdpsearch-resrv_list li{
	margin-top: 10px;
}
.ovsdpsearch-resrv_list a{
    position: relative;
    display: block;
    padding: 12px 16px;
    color: #fff;
    text-align: center;
	border: solid 2px #fff;
    transition: opacity 0.3s;
}
.ovsdpsearch-resrv_list li.icon span{
	position: relative;
    padding-right: 30px;
}
.ovsdpsearch-resrv_list li.icon span::after{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font-family: 'Material Icons Round';
	font-size: 2.0rem;
}
.ovsdpsearch-resrv_list li.icon.-arrow span:after{
	content: "\e409";
}
@media screen and (min-width: 1000px) {
	.sect.-ovsdpsearch{
		padding: 80px 0;
	}
	.ovsdpsearch-panel{
		margin-top: 50px;
		padding: 26px 24px 36px;
	}
	.ovsdpsearch-resrv_list{
		display: flex;
		justify-content: center;
		margin: 50px 0 0 -20px;
	}
	.ovsdpsearch-resrv_list li{
		margin: 0 0 0 20px;
		width: 100%;
		max-width: 380px;
	}
	.ovsdpsearch-resrv_list a:hover{
		opacity: .6;
	}
}

.page-lead {
    margin-top: 16px;
    text-align: left;
}
@media screen and (min-width: 1000px) {
    .page-lead {
        margin-top: 24px;
        text-align: center;
    }
}
.JTB-ly_grid__row {
    margin-top: 24px;
    }

/*エリアの表示非表示と形状*/
.s-map-place-item_wrap {
  display: none;
/* opacity: 0;透過0*/
  background: #fff;
  padding:0;
}
/*areaにis-activeというクラスがついた時の形状*/
.s-map-place-item_wrap.is-active {
    display: block;/*表示*/
}

@keyframes displayAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
label { margin-bottom: 0;}

/*  その他
============================================================================= */
#campaign .fbtn {
    display: none;
}

/*  MAP
============================================================================= */
/*  MAP SP */
@media screen and (max-width:767px){
    .mapideas-maplist.-asia01{ background: url("/kaigai/area/beach-resort/_images/map/asia01.png") center / 375px auto no-repeat;}
    .mapideas-maplist.-asia02{ background: url("/kaigai/area/beach-resort/_images/map/asia02.png") center / 375px auto no-repeat;}
    .mapideas-maplist.-hawaii{ background: url("/kaigai/area/beach-resort/_images/map/hawaii.png") center / 375px auto no-repeat;}
    .mapideas-maplist.-micronesia{ background: url("/kaigai/area/beach-resort/_images/map/micronesia.png") center / 375px auto no-repeat;}
    .mapideas-maplist.-oceania{ background: url("/kaigai/area/beach-resort/_images/map/oceania.png") center / 375px auto no-repeat;}
    .mapideas-maplist.-africa{ background: url("/kaigai/area/beach-resort/_images/map/africa.png?update=20240704") center / 375px auto no-repeat;}
    .mapideas-maplist.-america{ background: url("/kaigai/area/beach-resort/_images/map/america.png") center / 375px auto no-repeat;}
    .mapideas-maplist.-europe{ background: url("/kaigai/area/beach-resort/_images/map/europe.png?update=20240822") center / 375px auto no-repeat;}
    .mapideas-maplist_item.-pos01{ left:  32px; top: 408px;}
    .mapideas-maplist_item.-pos02{ left: 128px; top:  73px;}
    .mapideas-maplist_item.-pos03{ left: 248px; top: 142px;}
    .mapideas-maplist_item.-pos04{ left:  10px; top:  48px;}
    .mapideas-maplist_item.-pos05{ left: 273px; top: 220px;}
    .mapideas-maplist_item.-pos06{ left:  46px; top: 358px;} 
    .mapideas-maplist_item.-pos07{ left: 110px; top: 312px;} 
    .mapideas-maplist_item.-pos08{ left:  17px; top:  12px;}
    .mapideas-maplist_item.-pos09{ left:  62px; top:  58px;}
    .mapideas-maplist_item.-pos10{ left:  35px; top:  93px;}
    .mapideas-maplist_item.-pos11{ left: 219px; top: 101px;}
    .mapideas-maplist_item.-pos12{ left: 261px; top: 188px;}
    .mapideas-maplist_item.-pos13{ left:  16px; top: 298px;}
    .mapideas-maplist_item.-pos14{ left:  72px; top: 336px;}
    .mapideas-maplist_item.-pos15{ left:  26px; top: 158px;}
    .mapideas-maplist_item.-pos16{ left: 140px; top:  55px;}
    .mapideas-maplist_item.-pos17{ left: 150px; top: 226px;}
    .mapideas-maplist_item.-pos18{ left: 236px; top: 316px;}
    .mapideas-maplist_item.-pos19{ left: 205px; top: 123px;}
    .mapideas-maplist_item.-pos20{ left: 281px; top: 216px;}
    .mapideas-maplist_item.-pos21{ left:  68px; top: 298px;}
    .mapideas-maplist_item.-pos22{ left:  53px; top: 424px;}
    .mapideas-maplist_item.-pos23{ left:  12px; top: 390px;}
    .mapideas-maplist_item.-pos24{ left: 194px; top: 353px;}
    .mapideas-maplist_item.-pos25{ left: 282px; top: 272px;}
    .mapideas-maplist_item.-pos26{ left: 264px; top: 224px;}
    .mapideas-maplist_item.-pos27{ left: 174px; top: 186px;}
    .mapideas-maplist_item.-pos28{ left: 177px; top: 364px;}
    .mapideas-maplist_item.-pos29{ left: 177px; top: 420px;}
    .mapideas-maplist_item.-pos30{ left: 100px; top:  15px;}
    .mapideas-maplist_item.-pos31{ left: 120px; top: 180px;}
    .mapideas-maplist_item.-pos32{ left: 110px; top: 140px;}
    .mapideas-maplist_item.-pos33{ left: 112px; top: 243px;}
    .mapideas-maplist_item.-pos34{ left:  16px; top: 30px;}
    .mapideas-maplist_item.-pos35{ left: 136px; top: 60px;}
    
    .mapideas-maplist_item.-pos01:before { left: -19px; top:-158px;}
    .mapideas-maplist_item.-pos02:before { left:   5px; top: 114px;}
    .mapideas-maplist_item.-pos03:before { left:-116px; top:  66px;}
    .mapideas-maplist_item.-pos04:before { left: 106px; top: 166px;}
    .mapideas-maplist_item.-pos05:before { left:-147px; top:  -5px;}
    .mapideas-maplist_item.-pos06:before { left:  76px; top:-135px;}
    .mapideas-maplist_item.-pos07:before { left:  18px; top: -80px;}
    .mapideas-maplist_item.-pos08:before { left: 117px; top: 197px;}
    .mapideas-maplist_item.-pos09:before { left:  95px; top: 132px;}
    .mapideas-maplist_item.-pos10:before { left: 112px; top:  80px;}
    .mapideas-maplist_item.-pos11:before { left: -41px; top: 143px;}
    .mapideas-maplist_item.-pos12:before { left: -42px; top:  11px;}
    .mapideas-maplist_item.-pos13:before { left: 118px; top: -52px;}
    .mapideas-maplist_item.-pos14:before { left: 115px; top: -39px;}
    .mapideas-maplist_item.-pos15:before { left:  43px; top: -67px;}
    .mapideas-maplist_item.-pos16:before { left:  21px; top:  73px;}
    .mapideas-maplist_item.-pos17:before { left: 113px; top: -51px;}
    .mapideas-maplist_item.-pos18:before { left:  70px; top: -63px;}
    .mapideas-maplist_item.-pos19:before { left: 105px; top:  47px;}
    .mapideas-maplist_item.-pos20:before { left:  26px; top: -26px;}
    .mapideas-maplist_item.-pos21:before { left: 195px; top: -80px;}
    .mapideas-maplist_item.-pos22:before { left: 115px; top: -83px;}
    .mapideas-maplist_item.-pos23:before { left: 143px; top: -69px;}
    .mapideas-maplist_item.-pos24:before { left: -17px; top:   7px;}
    .mapideas-maplist_item.-pos25:before { left:  60px; top:  53px;}
    .mapideas-maplist_item.-pos26:before { left: -15px; top: 100px;}
    .mapideas-maplist_item.-pos27:before { left:  40px; top: 149px;}
    .mapideas-maplist_item.-pos28:before { left: -19px; top: -71px;}
    .mapideas-maplist_item.-pos29:before { left: -28px; top:-171px;}
    .mapideas-maplist_item.-pos30:before { left:  55px; top: 163px;}
    .mapideas-maplist_item.-pos31:before { left: 178px; top:  41px;}
    .mapideas-maplist_item.-pos32:before { left: 216px; top:  68px;}
    .mapideas-maplist_item.-pos33:before { left: 207px; top:  -1px;}
    .mapideas-maplist_item.-pos34:before { left:  32px; top: 165px;}
    .mapideas-maplist_item.-pos35:before { left: -58px; top: 142px;}
}

/*  MAP PC */
@media screen and (min-width:768px){
    #map-pc .s-map_item.-pos01{ left: 108px; top: 336px;} /* モルディブ */
    #map-pc .s-map_item.-pos02{ left:  40px; top: 467px;} /* セイシェル */
    #map-pc .s-map_item.-pos03{ left:  40px; top: 502px;} /* モーリシャス */
    #map-pc .s-map_item.-pos04{ left: 149px; top:  41px;} /* パタヤ */
    #map-pc .s-map_item.-pos05{ left: 135px; top:  13px;} /* サムイ島 */
    #map-pc .s-map_item.-pos06{ left: 125px; top:  69px;} /* プーケット*/
    #map-pc .s-map_item.-pos07{ left: 151px; top:  97px;} /* クラビ */ 
    #map-pc .s-map_item.-pos08{ left: 109px; top: 124px;} /* ランカウイ島 */
    #map-pc .s-map_item.-pos09{ left: 190px; top: 369px;} /* ペナン島 */
    #map-pc .s-map_item.-pos10{ left: 338px; top:  23px;} /* フーコック島 */
    #map-pc .s-map_item.-pos11{ left: 338px; top:  51px;} /* ダナン */
    #map-pc .s-map_item.-pos12{ left: 338px; top:  79px;} /* ニャチャン */
    #map-pc .s-map_item.-pos13{ left: 338px; top: 107px;} /* ボルネオ島（コタキナバル） */
    #map-pc .s-map_item.-pos14{ left: 338px; top: 135px;} /* セブ島 */
    #map-pc .s-map_item.-pos15{ left: 198px; top: 400px;} /* ビンタン島 */
    #map-pc .s-map_item.-pos16{ left: 198px; top: 428px;} /* バリ島 */
    #map-pc .s-map_item.-pos17{ left: 392px; top: 283px;} /* サイパン */
    #map-pc .s-map_item.-pos18{ left: 392px; top: 311px;} /* グアム */
    #map-pc .s-map_item.-pos19{ left: 392px; top: 339px;} /* パラオ */
    #map-pc .s-map_item.-pos20{ left: 522px; top: 242px;} /* カウアイ島 */
    #map-pc .s-map_item.-pos21{ left: 476px; top: 333px;} /* ホノルル（オアフ島） */
    #map-pc .s-map_item.-pos22{ left: 522px; top: 270px;} /* マウイ島 */
    #map-pc .s-map_item.-pos23{ left: 522px; top: 298px;} /* ハワイ島 */
    #map-pc .s-map_item.-pos24{ left: 718px; top: 240px;} /* カンクン */
    #map-pc .s-map_item.-pos25{ left: 718px; top: 268px;} /* バハマ */
    #map-pc .s-map_item.-pos26{ left: 659px; top: 336px;} /* カリブ海リゾート */
    #map-pc .s-map_item.-pos27{ left: 240px; top: 495px;} /* ケアンズ */
    #map-pc .s-map_item.-pos28{ left: 240px; top: 523px;} /* ハミルトン島 */
    #map-pc .s-map_item.-pos29{ left: 240px; top: 551px;} /* ゴールドコースト */
    #map-pc .s-map_item.-pos30{ left: 537px; top: 378px;} /* タヒチ */
    #map-pc .s-map_item.-pos31{ left: 537px; top: 406px;} /* フィジー */
    #map-pc .s-map_item.-pos32{ left: 537px; top: 434px;} /* ニューカレドニア */
    #map-pc .s-map_item.-pos33{ left:   0px; top: 158px;} /* イビサ島 */
    #map-pc .s-map_item.-pos34{ left: 149px; top: 149px;} /* ドバイ */
    #map-pc .s-map_item.-pos35{ left:  16px; top: 122px;} /* マルタ島 */
    #map-pc .s-map_item.-pos01 .m-place { left: 111px; top:  18px; } /* モルディブ */
    #map-pc .s-map_item.-pos02 .m-place { left: 136px; top:-102px; } /* セイシェル */
    #map-pc .s-map_item.-pos03 .m-place { left: 145px; top: -90px; } /* モーリシャス */
    #map-pc .s-map_item.-pos04 .m-place { left: 129px; top: 278px; } /* パタヤ */
    #map-pc .s-map_item.-pos05 .m-place { left: 144px; top: 316px; } /* サムイ島 */
    #map-pc .s-map_item.-pos06 .m-place { left: 145px; top: 263px; } /* プーケット*/
    #map-pc .s-map_item.-pos07 .m-place { left: 128px; top: 238px; } /* クラビ */
    #map-pc .s-map_item.-pos08 .m-place { left: 165px; top: 214px; } /* ランカウイ */
    #map-pc .s-map_item.-pos09 .m-place { left:  88px; top: -25px; } /* ペナン島 */
    #map-pc .s-map_item.-pos10 .m-place { left: -52px; top: 305px; } /* フーコック島 */
    #map-pc .s-map_item.-pos11 .m-place { left: -46px; top: 261px; } /* ダナン */
    #map-pc .s-map_item.-pos12 .m-place { left: -42px; top: 242px; } /* ニャチャン */
    #map-pc .s-map_item.-pos13 .m-place { left: -30px; top: 237px; } /* ボルネオ島（コタキナバル） */
    #map-pc .s-map_item.-pos14 .m-place { left: -11px; top: 189px; } /* セブ島 */
    #map-pc .s-map_item.-pos15 .m-place { left:  89px; top: -54px; } /* ビンタン島 */
    #map-pc .s-map_item.-pos16 .m-place { left: 114px; top: -52px; } /* バリ島 */
    #map-pc .s-map_item.-pos17 .m-place { left: -19px; top:  28px; } /* サイパン */
    #map-pc .s-map_item.-pos18 .m-place { left: -20px; top:   8px; } /* グアム */
    #map-pc .s-map_item.-pos19 .m-place { left: -43px; top:  -6px; } /* パラオ */
    #map-pc .s-map_item.-pos20 .m-place { left: -31px; top:  52px; } /* カウアイ島 */
    #map-pc .s-map_item.-pos21 .m-place { left:  21px; top: -35px; } /* ホノルル（オアフ島） */
    #map-pc .s-map_item.-pos22 .m-place { left: -18px; top:  30px; } /* マウイ島 */
    #map-pc .s-map_item.-pos23 .m-place { left: -11px; top:   6px; } /* ハワイ島 */
    #map-pc .s-map_item.-pos24 .m-place { left: -65px; top:  63px; } /* カンクン */
    #map-pc .s-map_item.-pos25 .m-place { left: -34px; top:  24px; } /* バハマ */
    #map-pc .s-map_item.-pos26 .m-place { left:  16px; top: -15px; } /* カリブ海リゾート */
    #map-pc .s-map_item.-pos27 .m-place { left: 136px; top: -96px; } /* ケアンズ */
    #map-pc .s-map_item.-pos28 .m-place { left: 145px; top:-111px; } /* ハミルトン島 */
    #map-pc .s-map_item.-pos29 .m-place { left: 153px; top:-124px; } /* ゴールドコースト */
    #map-pc .s-map_item.-pos30 .m-place { left: -20px; top:  24px; } /* タヒチ */
    #map-pc .s-map_item.-pos31 .m-place { left: -89px; top:  -6px; } /* フィジー */
    #map-pc .s-map_item.-pos32 .m-place { left:-114px; top: -24px; } /* ニューカレドニア */
    #map-pc .s-map_item.-pos33 .m-place { left:  64px; top: 94px; } /* イビサ島 */
    #map-pc .s-map_item.-pos34 .m-place { left:  33px; top: 142px; } /* ドバイ */
    #map-pc .s-map_item.-pos35 .m-place { left:  82px; top: 136px; } /* マルタ島 */
}

/*  ページ内アンカー
============================================================================= */
.pagenavlist_item:first-child .m-ico.-arrow:before{ opacity: 1;}
@media screen and (max-width:374px){
	.pagenavlist{
		display: flex;
		flex-wrap: wrap;
	}
	.pagenavlist_item{
		position: relative;
		flex: 1;
		width: calc(100% / 4);
	}
	.pagenavlist_item a{
		min-height: 70px;
	}
	.pagenavlist_item a{
		font-size: 1.3rem;
	}
	.pagenavlist_item:first-child .m-ico.-arrow:before {
		opacity: 1;
	}
    .pagenavlist_item:nth-child(2){
        display: none;
    }
}

@media print, screen and (max-width: 999px) {
	.pagenavlist{
		display: flex;
		flex-wrap: wrap;
	}
	.pagenavlist_item{
		position: relative;
		flex: 1;
		width: calc(100% / 5);
	}
	.pagenavlist_item a{
		min-height: 70px;
	}
	.pagenavlist_item a{
		font-size: 1.3rem;
	}
}

.pagenavlist_item label{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	min-height: 60px;
	line-height: 1.3;
	text-align: center;
	color: #fff;
	font-weight: bold;
	transition: background-color 0.2s ease, min-height 0.5s ease;
}

@media screen and (min-width: 1000px) {
	.pagenavlist_item label{
		min-height: 90px;
		padding-bottom: 5px;
		line-height: 1.5;
	}
	.fixed .pagenav.-scroll .pagenavlist_item label{
		min-height: 70px;
	}

}

/*  表示・非表示
============================================================================= */
@media screen and (max-width:768px){
    .sp-none{ display: none;}
}
@media screen and (min-width:769px){
    .pc-none{ display: none;}
}

/*  見出し
============================================================================= */
h2, h3, h4, h5{line-height: 1.5; font-weight: 700; letter-spacing: .1em;}
h3{ text-align: center;}
h4, h5 {text-align: left;}
@media screen and (max-width: 767px) {
    h2{ font-size: 2.4rem;}
    h3{ font-size: 1.8rem;}
	h4{ font-size: 1.4rem;}	
	h5{ font-size: 1.3rem;}
}
@media screen and (min-width: 768px){
    h2{ font-size: 4.0rem;}
	h3{ font-size: 3.0rem;}
	h4{ font-size: 1.6rem;}
	h5{ font-size: 1.5rem;}
}
.page-titlebox{	display: flex; flex-direction: column-reverse; margin: 0 auto;	width: 100%; text-align: center;}
.page-titlebox .page-title{ margin: 0 10px; line-height: 1.5;}

/* line */
.page-title.-line{ position: relative; padding-bottom: 20px;}
.page-title.-line:after{ position: absolute; bottom: 0; content: ""; display: inline-block; border-radius: 50vw;}
.page-title.-line:after{ left: 50%; transform: translate(-50%); width: 100px; height: 4px;}

/* icon */
.page-title.-icon span, p.-icon span { position: relative; display: inline-block;}
.page-title.-icon span { padding-left: 40px; font-weight: bold;}
.sec-point_wrap .page-title.-icon span { padding-left: 24px; font-weight: bold;}
p.report_date.-icon span { padding-left: 24px;}
p.report_place.-icon span { padding-left: 22px;}
.-icon span:before, p.-icon span:before { position: absolute; left: 0; top: 50%; -webkit-transform: translate(0, -50%); -moz-transform: translate(0, -50%); -ms-transform: translate(0, -50%); -o-transform: translate(0, -50%); transform: translate(0, -50%); color: #03a3a9; font-family: 'Material Icons'; text-decoration: none; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; vertical-align: middle; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
.page-title.-icon span:before { font-size: 3.2rem;}
.sec-point_wrap .page-title.-icon span:before { font-size: 2.0rem;}

p.-icon span:before  {font-size: 2.0rem;}
.-icon span.beach:before{ content: '\eb3e';}
.-icon span.flight:before{ content: '\e539';}
.-icon span.family:before{ content: '\f1a2';}
.-icon span.camera:before{ content: '\e412';}
.-icon span.report:before{ content: '\e85d';}
.-icon span.surfing:before{ content: '\e515';}
.-icon span.awesome:before{ content: '\e65f';}
.-icon span.luggage:before{ content: '\f235';}
.-icon span.balance:before{ content: '\eaf6';}
.-icon span.favorite:before{ content: '\e87d';}
.-icon span.schedule:before{ content: '\e8b5';}
.-icon span.calendar:before{ content: '\ebcc';}
.ovsdpsearch-service {text-align: right; margin-top: 16px;}
.ovsdpsearch-service .-icon a {color: #fff;  position: relative; display: inline-block; padding-right: 24px;}
.ovsdpsearch-service .-icon a::after{
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translateY(-50%);
	font-family: 'Material Icons Round';
	font-size: 2.0rem;
	content: "\e409";
	color: #fff;
}

/* marker */
 span.marker-yellow{ background: -webkit-linear-gradient(transparent 50%,rgba(255, 250, 125, 0.86 )0%);	background: linear-gradient(transparent 50%,rgba(255, 250, 125, 0.86 ) 0%); font-weight: bold;}
 span.marker-green{	background: -webkit-linear-gradient(transparent 50%, rgba(102, 255, 204, 0.5)0%); background: linear-gradient(transparent 50%, rgba(102, 255, 204, 0.5)0%);font-weight: bold;}
.page-subtitlebox{ display: flex; flex-direction: column; flex-direction: column-reverse; margin-left: auto; width: auto;}
.page-subtitle{ text-align: center; font-weight: bold; letter-spacing: .1em;}
.page-subtitletxt{ margin-bottom: 8px; text-align: center;  font-weight: bold; letter-spacing: .1em; }
@media screen and (max-width: 767px) {
    .page-subtitle{ font-size: 2.0rem;}
    .page-subtitletxt{ font-size: 1.4rem;}
}
@media screen and (min-width: 768px){
    .page-subtitle{ font-size: 3.2rem;}
    .page-subtitletxt{ font-size: 1.6rem;}
}
.page-subtitletxt:before, .page-subtitletxt:after{ 	content: "－"; }
.page-subtitletxt:before{ margin-right: 8px;}
.page-subtitletxt:after{ margin-left: 8px;}
.page-txt{ margin-top: 30px; }
@media screen and (max-width:768px){
	.sectsub { margin-top: -24px; padding-top:40px; padding-bottom: 32px;}
}
@media screen and (min-width:769px){
	.sectsub { margin-top: -48px; padding-top:88px; padding-bottom: 48px;}
	#report.sectsub { margin-top: 0;}
}

/*  背景
============================================================================= */
.bg_lookjtb{ background: repeating-linear-gradient(-45deg, rgba(255, 241, 240, 30%), rgba(255, 241, 240, 30%) 2px, rgba(255, 241, 240, 100%) 2px, rgba(255, 241, 240, 100%) 4px);}
.bg_arrange{ background: repeating-linear-gradient(-45deg, rgba(243, 251, 255, 30%), rgba(243, 251, 255, 30%) 2px, rgba(243, 251, 255, 100%) 2px, rgba(243, 251, 255, 100%) 4px);}
.bg_tripideas{ background: repeating-linear-gradient(-45deg, rgba(248, 244, 234, 50%), rgba(248, 244, 234, 50%) 2px, rgba(248, 244, 234, 100%) 2px, rgba(248, 244, 234, 100%) 4px);}
.bg_local_staff { background: #f2faff;}
.bg_search_map{ background: repeating-linear-gradient(-45deg, rgba(248, 244, 234, 50%), rgba(248, 244, 234, 50%) 2px, rgba(248, 244, 234, 100%) 2px, rgba(248, 244, 234, 100%) 4px);}
.bg_line01{ background: repeating-linear-gradient(-45deg, rgba(248, 244, 234, 50%), rgba(248, 244, 234, 50%) 2px, rgba(248, 244, 234, 100%) 2px, rgba(248, 244, 234, 100%) 4px);}

/*  ルックJTBで行く/海外航空券・海外ホテル
============================================================================= */
.lookjtb{ background: repeating-linear-gradient(-45deg, rgba(255, 241, 240, 30%), rgba(255, 241, 240, 30%) 2px, rgba(255, 241, 240, 100%) 2px, rgba(255, 241, 240, 100%) 4px);}
.arrange{ background: repeating-linear-gradient(-45deg, rgba(243, 251, 255, 30%), rgba(243, 251, 255, 30%) 2px, rgba(243, 251, 255, 100%) 2px, rgba(243, 251, 255, 100%) 4px);}

/*  color
============================================================================= */
.col-primary {color: #019F9E;}
.col-secondary {color: #3498DB;}
.mv-txt {
    background: rgba(0, 0, 0, 0.3);
    padding: 5px;
}
.txt-center{ text-align: center;}
.txt-left {text-align: left;}
.txt-right {text-align: right;}

/*  MAP
============================================================================ */
/* map SP*/
@media screen and (max-width:320x){
	#map-sp .mapideas-maplist{ position: relative; margin: 0 auto; width: 320px; height: 435px;}
}
/* map SP*/
@media screen and (max-width:767px){
    #map #map-sp ul.tab_list{ display: flex; flex-wrap: wrap; margin: 24px 6px 0 0;}
    #map #map-sp ul.tab_list li{ position: relative; display: flex; align-items: center; flex-direction: row-reverse; margin: 5px 0 0 6px;  width: calc(100% / 2 - 6px); line-height: 1.4; border: solid 1px #3498db; background: #fff; }
	#map #map-sp ul.tab_list li.mapideas-maplist_item:before{ background: #3498db;}
	#map #map-sp ul.tab_list li a{ display: block; height: 100%; width: 100%; padding: 8px 8px; background:#fff; color: #3498db; margin:0 2px;}
    #map #map-sp ul.tab_list li.active a{ background:#3498db; color: #fff; margin:0;}

    /*エリアの表示非表示と形状*/
    #map #map-sp #m-area .area{ display: none; padding:0; background-color:transparent;}
    #map #map-sp #m-area .area p{ display: block; padding-top: 32px; margin-bottom: 16px; text-align: center; font-size: 1.8rem; font-weight: bold;}
    #map #map-sp #m-area .area.is-active{ display: block; animation-name: displayAnime; animation-duration: 2s; animation-fill-mode: forwards;}
    @keyframes displayAnime{
        from { opacity: 0; }
        to { opacity: 1; }
    }
	#map-sp .mapideas-maplist{ width: 100%; height: 100%;}
	#map-sp .mapideas-maplist_item:not(.thumbnail-current):hover{ opacity: .6;}

	/* detail */
	#map-sp .mapideas_ttl{ margin-left: .5em; font-size: 3.0rem; letter-spacing: .5em;}
	#map-sp .mapideas_txt{ margin-top: 30px;}
	#map-sp .mapideas_ttl:after{ margin-left: -1.0em;}
	#map-sp .mapideas_access{ margin-top: 30px; padding: 10px 20px;}
	#map-sp .mapideas-wrap.-nomap{ padding-top: 20px;}
	#map-sp .mapideas-wrap.-nomap .mapideas-body{ margin: 0 10px; background: #fff;}
	
	/* slider */
	#map-sp .mapideas-slide .slick-prev,
	#map-sp .mapideas-slide .slick-next{ margin-top: -15px; width: 22px; text-align: center;}
	#map-sp .mapideas-slide .slick-prev:before,
	#map-sp .mapideas-slide .slick-next:before{ display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; color: #fff; font-size: 2.5rem;}
	#map-sp .mapideas-slide .slick-prev{ left: -10px; text-align: left; color: #fff; background: #555; border-radius: 0 4px 4px 0; }
	#map-sp .mapideas-slide .slick-next{ right: -10px; color: #fff; background: #555; border-radius: 4px 0 0 4px;}
	#map-sp .mapideas-wrap:not(.-nomap) .mapideas-slide{ display: none; position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 90%; height: auto;}
	#map-sp .mapideas-wrap:not(.-nomap) .mapideas_item.is-animation{ opacity: 1;}
	#map-sp .mapideas-wrap:not(.-nomap) .mapideas_item{ display: none; height: 100%; background: #fff; border-radius: 3px; overflow-y: auto;}
	#map-sp .slick-dots{ left: 3px;}
	#map-sp .slick-dots li{ position: relative; display: inline-block; width: 8px; height: 8px; margin: 0 4px; padding: 0; cursor: pointer;}
    .mapideas-maplist_item .m-ico, .mapideas-maplist_item.thumbnail-current .m-ico{ color: #f49d4c; }
    #map-sp .mapideas_item { padding:0;}
    #map-sp .mapideas-map { background-color:transparent;}
    #map .container { padding-right: 0; padding-left: 0;}
}

@media screen and (max-width:374px){
	#map{display: none;}
}

@media screen and (max-width:768px){
	#map-sp .mapideas-maplist{ position: relative; margin: 0 auto; width: 375px; height: 475px;}
	#map-sp .mapideas-maplist_item{ position: absolute; display: flex; align-items: center; padding: 5px; font-weight: bold; border-radius: 4px; cursor: pointer; line-height: 1; transition: opacity 0.3s;}
	#map-sp .mapideas-maplist_item.-trendcity{ padding: 7px 5px 7px 10px; border-radius: 5px; background: #fff;}
	#map-sp .mapideas-maplist_item:before{ position: absolute; content: ""; display: inline-block; width: 9px; height: 9px; border-radius: 50vw; background: #ee3a23;}
	#map-sp .mapideas-maplist_item .m-ico{ margin: 0 0 0 5px; font-weight: normal;}
	#map-sp .mapideas-maplist_item .m-ico:before{ border-radius: 50vw; background: #fff;}
	#map-sp .mapideas-maplist_item.thumbnail-current{ color: #fff; background: #ee3a23;}
	#map-sp .mapideas_ttl{ display: flex; flex-direction: column; margin-left: .1em; text-align: center; font-size: 2.5rem; font-weight: bold; letter-spacing: .1em;}
	#map-sp .mapideas_ttl:after{ content: "－ " attr(data-en) " －"; margin: 5px 0 0 -.2em; font-size: 1.6rem; font-weight: normal; letter-spacing: 0;}
	#map-sp .mapideas_txt{ margin-top: 20px;}
	#map-sp .mapideas_link{ margin-top: 15px;}
	#map-sp .mapideas_link a{ color: #003B82; font-weight: bold;}
	#map-sp .mapideas_access{ margin-top: 20px; padding: 10px 15px; background: #f5f5f5; }
	#map-sp .mapideas_access dt{ font-weight: bold;}
}

/* pc */
@media screen and (min-width:769px){
	#map-pc .search-map_wrap{ display: flex; align-items:stretch; justify-content: space-between; flex-direction: row-reverse; margin: 50px 0 0;}
	#map-pc .search-map_map { width:calc(100% - 375px); background: #eefeff; min-width: 800px; min-height: 620px;}
	#map-pc .search-map_area{ width: 375px; background-color: #fff;}
	#map-pc .search-map_list{ position: relative; margin: 0 auto; width: 832px; height:600px; background: url("/kaigai/area/beach-resort/_images/map/map.png?update=2024070401") left top no-repeat; background-size: 832px 600px;}
	#map-pc .s-map_item{  position: absolute; display: flex; align-items: center; padding: 4px 8px 4px 6px; cursor: pointer; line-height: 1; transition: opacity 0.3s;}
	#map-pc .s-map_item.is-selected{ color: #fff; background: #ee3a23; border-radius: 4px;}
	#map-pc .s-map_item span{ font-size: 1.4rem;}
	#map-pc .s-map_item .m-ico{ margin: 0 0 0 5px; font-weight: normal; color: #f49d4c; }
	#map-pc .s-map_item .m-ico:before{ border-radius: 50vw; background: #fff; }
	#map-pc .s-map_item .m-place{ position: absolute; content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50vw; background: #3498db;}
	#map-pc .s-map_item.is-selected .m-place{background: #ee3a23;}
}

/* Slider */
#map .area-slider { transition: opacity .25s ease; }
#map .area-slider.slick-initialized { opacity: 1; }
#map .area-slider .slick-dots li button { background: transparent; border: 0; color: transparent; cursor: pointer; font-size: 1em; outline: none; width: 0; }
#map .slick-dotted.slick-slider { padding-bottom: 0;}
#map .slick-dots { margin: 0; left: 6px; bottom: 8px; justify-content: left;}
#map .slick-dots li button::before { width: 10px; height: 10px; content: ''; opacity: 1; border-radius: 100%; background: #D9D9D9;}
#map .slick-dots li.slick-active button:before { background: #3498DB;}

/* map_area_item */
@media screen and (min-width: 768px){
	.map_area_item_wrap{ display: none;}
	.map_area_item_wrap.is-selected{ animation: .8s slide-in-up; display: block; }
}
.map_area_item { display: flex; flex-direction: column; width:100%;}

@media screen and (max-width:768px){
	.map_area_item .area-pic{ width: 100%; height: 100%;/* padding: 8px 0 8px 8px;*/ overflow: hidden;}
}
@media screen and (min-width:769px){
	.map_area_item .area-pic{ width: 375px; height: 250px;}
}


.map_area_item .area-pic__slide { position: relative; overflow: hidden; }
.map_area_item .area-pic__slide img { width: 100%; }
.map_area_item .area-pic.-image{position: relative;}
.map_area_item .area-pic.-image p.area-caption,.map_area_item .area-pic.-image span.copyright { position: absolute; z-index: 1; padding: 0; color: #fff; font-size: .75em; text-align: right; line-height: 1.3; text-shadow: 0 0 0.2em rgb(0 0 0 / 80%);}
.map_area_item .area-pic.-image p.area-caption { right: 12px; bottom: 6px;}
.map_area_item .area-pic.-image span.copyright { right: 12px; top: 6px;}
.map_area_item .area-pic.-noimage{ width: 375px; height: 250px; overflow: hidden; background: #dddddd url(https://www.jtb.co.jp/kaigai/_images/noimage_L.jpg) no-repeat center center;}
.map_area_item .map_area_detail{ padding: 16px 16px;}
.map_area_item .map_area_ttl{ display: flex; flex-direction: column;  line-height: 1.0;}
.map_area_item .map_area_txt{ margin-top: 16px;}
.map_area_item dl.map_area_info_list{ display: flex; flex-wrap: wrap; margin-top: 16px;}
.map_area_item dl.map_area_info_list dt{ width: 9em; font-weight: bold;}
.map_area_item dl.map_area_info_list dd{width: calc(100% - 9em);}
.map_area_item ul.map_area_kw{ display: flex; flex-wrap: wrap; margin: 16px 0 0 -8px;}
.map_area_item ul.map_area_kw li{margin: 0 0 0 8px;} 
@media screen and (max-width: 767px) {
	.map_area_item .map_area_detail{ padding: 16px 12px;}
	.map_area_item .area-pic.-noimage{ width: auto; height: 220px; overflow: hidden; background: #dddddd url(https://www.jtb.co.jp/kaigai/_images/noimage_L.jpg) no-repeat center center;}
	.map_area_item dl.map_area_info_list dt{ width: 9.5em; font-weight: bold;}
	.map_area_item dl.map_area_info_list dd{width: calc(100% - 9.5em);}
	.map_area_item .map_area_ttl{ font-size: 1.6rem;}
	.map_area_item .map_area_txt{ font-size: 1.3rem;}
	.map_area_item dl.map_area_info_list{ font-size: 1.2rem;}
	.map_area_item ul.map_area_kw{ font-size: 1.2rem;}
}
@media screen and (min-width: 768px){
	.map_area_item .map_area_detail{ padding: 16px 16px;}
	.map_area_item .map_area_ttl{ font-size: 1.6rem;}
	.map_area_item .map_area_txt{ font-size: 1.4rem;}
	.map_area_item dl.map_area_info_list{ font-size: 1.4rem;}
	.map_area_item ul.map_area_kw{ font-size: 1.3rem;}
}

/*  button */
.el_btn {margin-top: 16px;}
.el_btn a { position: relative; z-index: 0; display: flex; justify-content: center; align-items: center; width: 100%; min-height: 50px; padding: 0 32px 0 12px; color: #3498DB!important; font-weight: 700; line-height: 1.3; border: none; background: transparent linear-gradient(112deg, #3498db, #52c8ff) 0 0 no-repeat padding-box; overflow: hidden; transition: border-radius .3s;}
.el_btn.-open a:before { position: absolute; right: 10px; top: 50%; transform: translate(0,-50%); font-family: 'Material Icons Round'; font-size: 1.6rem; content: "\e89e"; font-weight: normal;}
.el_btn a:after { display: block; position: absolute; top: 0; left: 0; content: ""; z-index: -2; background: #fff; transition: border-radius .3s;}
@media screen and (max-width: 767px) {
	.el_btn a {font-size: 1.4rem; }
	.el_btn a:after { width: calc(100% - 4px); height: calc(100% - 4px); margin: 2px;}
}
@media screen and (min-width: 768px){
	.el_btn a { font-size: 1.5rem; border-radius: 0;}
	.el_btn a:after { width: calc(100% - 6px); height: calc(100% - 6px); margin: 3px; border-radius: 0;}
	.el_btn a:hover { opacity: .6; border-radius: 35px;}
	.el_btn a:hover:after{	border-radius: 35px;}
}

/* 目的から探す
============================================================================ */
#purpose ul{ display: flex; flex-wrap: wrap;}
#purpose .item { display: block; z-index: 1;}
@media screen and (max-width:768px){
	#purpose ul{ margin: 0 0 0 -8px;}
	#purpose .item { width: calc(100% / 2 - 8px); margin: 16px 0 0 8px;}
}
@media screen and (min-width:769px){
    #purpose ul{ margin: 24px 0 0 -16px;}
    #purpose .item { width: calc(100% / 4 - 16px); margin: 16px 0 0 16px;}
}
#purpose ul li.item .item-content{ position: relative; width: 100%; height: 100%;}
#purpose ul li.item .item-content a{ text-decoration: none;}
#purpose ul li.item .img-box{ overflow: hidden;}
#purpose ul li.item .item-content .img-box img{ width:100%; height:auto; vertical-align: bottom; transform: scale(1); transition: .5s ease-in-out;}
#purpose ul li.item .item-content a:hover .img-box img{ transform: scale(1.1); opacity: 0.6;}
#purpose ul li.item .item-content h4{ text-align: center; padding-top: 8px;}
.JTB-el_float__menu { display:block;}

/*  共通
============================================================================= */
@media screen and (max-width: 767px) {
	p.lead{ margin-top:16px}
}
@media screen and (min-width: 768px){
	p.lead{ margin-top:48px; text-align: center; font-size: 1.8rem;}
}

/*  ポイント
============================================================================= */
@media screen and (max-width:768px){
	#sec-best .c-table__wrap { padding-bottom: .75em; overflow-x: scroll;}
}
@media screen and (min-width:769px){
	#select-point .JTB-el_modal__inner { max-width: 940px; }
}
#select-point .point-cassette > li{ margin: 12px 10px 0; position: relative; display: block; padding: 0 16px 16px; color: #323743; text-decoration: none; border: solid 1px #ccc; background: #fff; box-shadow: 0px 2px 4px 0px rgba(119, 113, 99, 0.3);}
#select-point .point-cassette-name span{ display: inline-block; position: absolute; top: 0; left: 0; margin: 0; z-index: 2; text-align: center; color: #fff; font-size: 1.6rem; font-weight: 700; line-height: 1.0; background: #3498DB; height: 48px;}
#select-point .point-cassette-name{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-top: 16px; font-weight: 700; line-height: 1.2; justify-content: center; }
@media screen and (max-width:768px){
	#select-point .point-cassette-name{ font-size: 1.8rem; margin-left: 92px; }
	#select-point .point-cassette-name span{ padding:16px 12px; width: 96px; }
	#select-point .point-cassette { margin-top: 2px; width: 100%;}
	#select-point .point-cassette > li { margin: 20px auto 0; width: 100%;}
	#select-point .point-cassette-body{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin-top: 32px;}
	#select-point .point-cassette > li .point-cassette-cont{ width: calc(100% - 100px);	}
	#select-point .point-cassette > li .point-cassette-cont p{ padding-left: 16px;}
	#select-point .point-cassette-body figure img{ width: 100%; height: auto; vertical-align: bottom;	}
	#select-point .point-cassette > li .point-cassette-body figure{ width: 100px;}
}
@media screen and (min-width:769px){
	#select-point .point-cassette-name{ font-size: 2.0rem; }
	#select-point .point-cassette-name span{ padding:16px 12px; width: 160px; }
	#select-point .point-cassette{ display: flex; flex-wrap: wrap; margin: 30px 0 0 -20px;}
	#select-point .point-cassette > li{ margin: 20px 0 0 20px; width: calc(100% / 2 - 20px);}
	#select-point .point-cassette-body{ display: -webkit-box; display: -ms-flexbox; display: flex; flex-flow: column; margin-top: 16px; }
	#select-point .point-cassette > li .point-cassette-cont{ width: 100%; margin-top: 24px;  margin-left: 48px;}
	#select-point .point-img{ width: 100%; height: 150px; vertical-align: bottom; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; text-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; justify-content: center; align-items: center; margin-top: 16px;}
	.point-img_inner{ display: flex; justify-content: center;}
	.point-img_inner li{ list-style: none; }
	.point-img img{width:70%}
}

/*  ボタン */
#select-point .point-btn{ margin: 16px auto 0; width: 100%; max-width: 500px;}
#select-point .point-btn a{ display: flex; flex-direction: row; align-items: center; padding: 8px 5px; text-align: center; color: #3498DB; font-weight: bold; line-height: 1; border-radius: 50vw; border: solid 2px #3498DB; background: #fff; transition: opacity 0.3s;}
#select-point .point-btn a:hover{ opacity: .6;}
#select-point .point-btn_body{ flex: 1;}
#select-point .point-btn .p-ico.-link{ margin: 0; font-size: 3.0rem;}
#select-point .point-btn .p-ico.-link:after{ transform: rotate(-90deg);}
#select-point .point-btn_flight{ margin-top: 5px; color: #989BA1; font-size: 1.2rem; font-weight: bold;}
#select-point .point-btn_txt{ font-weight: bold;}
#select-point .point-btn .p-ico.-link:after{ transform: rotate(-90deg);}
#select-point .p-ico:after{ position: relative; top:3px; left:-3px; font-family: 'Material Icons Round'; font-size: 3.0rem;}
@media screen and (max-width: 767px) {
	#select-point .point-box { display: none; text-align: center; padding-bottom: 20px; width:100%;}
	#select-point .point-btn.-accordion{ display: flex; flex-direction: row; align-items: center; text-align: center; color: #3498DB; font-weight: bold; line-height: 1; border-radius: 50vw; border: solid 2px #3498DB; background: #fff; transition: opacity 0.3s; padding: 8px 20px 8px 10px;}
	#select-point .point-btn.-accordion{ margin-top: 24px;}
	#select-point .point-btn.-accordion .p-ico:after {content: '\e5cf';  }
	#select-point .point-btn.-accordion.active .p-ico:after {content: '\e5ce'; }
    #select-point .closeArea{ display: flex; justify-content: center; align-items: center; }
    #select-point .point-close_box{ display: inline-block; display: flex; flex-direction: row; align-items: center; text-align: center;}
	#select-point .point-btn_txt{ color: #3498DB; font-size: 1.6rem;}	
	#select-point .point-close_box .p-ico:after {  content: '\eae6'; color: #3498DB; font-size: 2.2rem; top: 6px; left: 6px;}
}
@media screen and (min-width: 768px){
	#select-point .p-ico:after {content: '\e147';}
}
.point_item_wrap{ display: none; position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 90%; max-height: calc(100% - 100px);}
.point_item { display: none; height: 100%; background: #fff; border-radius: 3px; overflow-y: auto;}
.point_item.is-animation{ opacity: 1;}


/* モーダル */
@media screen and (max-width:768px){
	.sec-point_wrap{ padding: 32px 0 0;}
    .sec-point_wrap h3{ font-size: 1.6rem;}
    .sec-point_wrap .sec-point_item_wrap { margin: 32px auto 0; }
    .sec-point_wrap .sec-point_item + .sec-point_item { margin-top: 8px;}
    .sec-point_wrap .sec-point-cassette_item { margin: 24px 0;}
	.sec-point-cassette_txt{ margin-top: 8px; } 
}
@media screen and (min-width:769px){
	#select-point .JTB-el_modal__content{ padding: 0;}
	.sec-point_wrap{ padding: 24px;}
    .sec-point_wrap h3{ font-size: 2.0rem;}
    .sec-point_wrap .sec-point_item_wrap {margin: 16px auto 0;}
    .sec-point_wrap .sec-point_item_wrap.-flex{ display: flex; flex-wrap: wrap; justify-content: space-between;}
    .sec-point_wrap .sec-point_item{ width: calc(50% - 10px);}
    .sec-point_wrap .sec-point-cassette_item{ margin-top: 16px;}
    .sec-point_wrap .sec-point-cassette_item:first-child{ margin-top: 0;}
	.sec-point-cassette_txt{ margin-top: 8px; text-align: justify;}
}
.sec-point_wrap p { line-height: 1.5;}
@media screen and (max-width:768px){
	.sec-point_wrap p { font-size: 1.4rem;text-align: left; }
	.sec-point_wrap .c-table{ font-size: 1.2rem;}

}
@media screen and (min-width:769px){
	.sec-point_wrap p { font-size: 1.4rem; }
	.sec-point-cassette_txt.txt-s p{font-size: 1.3rem;}
	.sec-point_wrap .c-table{ font-size: 1.3rem;}
	#flight.sec-point_wrap .c-table{ font-size: 1.3rem;}
}

/*  best season */
.sec-point_wrap .c-title { align-items: center; display: flex; justify-content: center;}
.sec-point_wrap .c-title .c-sqare { border-radius: .375em; display: block; height: 2.25em; margin-right: .5em; width: 6em; }
#sec-best .i-box { background-color: #e2fcff; border-radius: .5em; padding: 16px; border: none;}
#sec-best .i-box p { margin-top: 1em; text-align: justify; }
@media screen and (max-width:768px){
	.sec-point_wrap .c-title .c-txt { font-size: 1.4rem; font-weight: 700;}
}
@media screen and (min-width:769px){
	.sec-point_wrap .c-title .c-txt {  font-size: 1.6rem; font-weight: 700;}
}

/*  best season table */
#sec-best .c-table { border-collapse: inherit; width: 100%; }
#sec-best .c-table th, #sec-best .c-table td { border-radius: .25em; text-align: center; }
#sec-best .c-table th.c-city { text-align: left; padding-left: 10px;}
#sec-best .c-table__wrap{ margin-top: 24px; overflow-y: auto; }
#sec-best .c-table__wrap th,
#sec-best .c-table__wrap td { border: 1px solid #fff; padding: 4px; }
#sec-best .c-table__wrap td { background-color: #eefdff; }
#sec-best .c-table__wrap .c-head__row th { left: 0; position: sticky; top: 0; z-index: 2; }
#sec-best .c-table__wrap .c-head { background-color: #fff; border-radius: 0; color: #fff; }
#sec-best .c-table__wrap .c-head::after { background-color: #6F89A2; bottom: 0; border-radius: .25em; content: ""; display: block; left: 0; position: absolute;right: 0; top: 0; width: 100%; z-index: -1; }
#sec-best .c-table__wrap .c-side { background-color: #f0f3f3; }
#sec-best .c-table__wrap .c-city a { color: #3498DB; display: block; }
#sec-best .c-table__wrap .c-city a::after { color: #3498DB; content: '\e409'; display: inline-block; font-family: 'Material Icons Round'; padding-left: 8px;  font-size: 1.6rem;}
@media screen and (max-width:768px){
	#sec-best .c-table__wrap { height: 60vh;}
	#sec-best .c-table__wrap .c-table { white-space: nowrap; font-size: 1.4rem;}
	#sec-best .c-table__wrap .c-month { width: 4em;}
	#sec-best .c-table__wrap .c-fixed { left: 0; position: sticky; top: 0;  z-index: 1;}
	#sec-best .c-table__wrap .c-head.c-fixed { z-index: 3; }
	#sec-best .c-table__wrap .c-city::after { background-color: #f0f3f3; border-radius: .25em; bottom: 0; content: ""; display: block; left: 0; position: absolute; right: 0; top: 0; width: 100%; z-index: -1; }
}
@media screen and (min-width:769px){
	#sec-best .c-table__wrap .c-month { width: 6.0%; }
}
/*  best season color */
#sec-best .i-box.c-on .c-sqare, #sec-best .c-table__wrap td.c-on { background-color: #5bb4d8; }
#sec-best .i-box.c-on .c-txt { color: #5bb4d8; }
#sec-best .i-box.c-off .c-sqare, #sec-best .c-table__wrap td.c-off { background-color: #BCBDC2;}
#sec-best .i-box.c-off .c-txt { color:#BCBDC2; }

/*  point_list*/
.sec-point_list { display: flex; background-color: #e2fcff; border-radius: 10px; padding: 16px;}
.sec-point_list .c-level { display: flex; flex-direction: column; }
.sec-point_list .c-level__chart { background-image: linear-gradient(180deg, rgba(0, 114, 182, 1) 10%, rgba(226, 252, 255, 1) 10% 12%, rgba(0, 188, 213, 1) 12% 23%, rgba(226, 252, 255, 1) 23% 25%, rgba(37, 182, 160, 1) 25% 36%, rgba(226, 252, 255, 1) 36% 38%, rgba(184, 218, 53, 1) 38% 49%, rgba(226, 252, 255, 1) 49% 51%, rgba(228, 215, 24, 1) 51% 62%, rgba(226, 252, 255, 1) 62% 64%, rgba(250, 156, 24, 1) 64% 75%, rgba(226, 252, 255, 1) 75% 77%, rgba(255, 88, 88, 1) 77% 88%, rgba(226, 252, 255, 1) 88% 90%, rgba(254, 84, 148, 1) 90%); flex: 1; position: relative;}
.sec-point_list .c-level__chart::before,
.sec-point_list .c-level__chart::after { border-style: solid; bottom: 0; content: ""; display: block; height: 0; position: absolute; top: 0; width: 0; }
.sec-point_list .c-level__chart::before { border-color: #e2fcff transparent transparent transparent; left: 0; }
.sec-point_list .c-level__chart::after { border-color: transparent #e2fcff transparent transparent; right: 0; }
.sec-point_list .c-level em { font-weight: 700; text-align: center; }
.sec-point_list .c-level em.c-level__row { color: #0072b6; }
.sec-point_list .c-level em.c-level__heigh { color: #fc498d; }

@media screen and (max-width:768px){
	.sec-point_list .c-level{ width:92px; padding-right: 12px;}
	#flight .sec-point_list .c-level__chart { width: 100%; height: 242px;}
	#flight .sec-point_list .c-level__chart::before { border-width: 242px 40px 0 0;}
	#flight .sec-point_list .c-level__chart::after { border-width: 0 40px 242px 0;}
	#budget .sec-point_list .c-level__chart { width: 100%; height: 200px; }
	#budget .sec-point_list .c-level__chart::before { border-width: 200px 40px 0 0;}
	#budget .sec-point_list .c-level__chart::after { border-width: 0 40px 200px 0;}
	.sec-point_list .c-level em{ font-size: 1.4rem; margin: 8px 0;}
	.sec-point_list .c-level em span{font-size: 1.2rem;} 
}
@media screen and (min-width:769px){
	#flight .sec-point_list .c-level { padding-right: 12px; width: 64px;}
	#flight .sec-point_list .c-level__chart { height: 346px; width: 100%;}
	#flight .sec-point_list .c-level__chart::before { border-width: 346px 25.5px 0 0;}
	#flight .sec-point_list .c-level__chart::after { border-width: 0 25.5px 346px 0;}
	#budget .sec-point_list .c-level { padding-right: 12px; width: 104px;}
	#budget .sec-point_list .c-level__chart { height: 216px; width: 100%;}
	#budget .sec-point_list .c-level__chart::before { border-width: 216px 45px 0 0;}
	#budget .sec-point_list .c-level__chart::after { border-width: 0 45px 216px 0 }
	.sec-point_list .c-level em { font-size: 1.6rem; margin: 8px 0;}
	.sec-point_list .c-level em span{font-size: 1.3rem;} 
	#flight .c-table td{white-space: normal;}
}

/*  table */
.sec-point_list .c-table__wrap { flex: 1; box-sizing: border-box; }
.sec-point_list .c-table { border-spacing: 2px; border-collapse:separate; }
.sec-point_list th, .sec-point_list td { padding: 8px 16px;}
.sec-point_list th { background-color: #5bb4d8; color: #fff; border-radius: 0.25em; text-align: center; }
.sec-point_list th small { display: block; font-size: .75em; line-height: 1; }
.sec-point_list td { background-color: #fff; border-radius: 0.25em; }
.sec-point_list td.time, .sec-point_list td.date { white-space: nowrap;}

@media screen and (max-width:768px){
	.sec-point_list th, .sec-point_list td { padding: 8px 16px;}
	.sec-point_list { margin-top: 2em; }
	.sec-point_list .c-table__wrap { padding-bottom: .75em; overflow-x: scroll; }
	.sec-point_list .c-table { min-width: 580px; font-size: 1.2rem; }
	.sec-point_list th, .sec-point_list td { height: 3em; }
	.sec-point_list td { text-align: left; }
}
@media screen and (min-width:769px){
	.sec-point_list th, .sec-point_list td { padding: 6px;}
}

/*  local_staff 
============================================================================= */
.card_wrap{ background-color: #fff; border-radius: 20px;}
.card_wrap.-single{ width: 100%;}
.card_inner{ margin-top: 32px;}
.card_list{ border-bottom: 1px solid #BCBDC2;}
.card_list_item{ padding: 24px 0;  border-top: 1px solid #BCBDC2;}
.txt.-center{ text-align: center;}
@media screen and (max-width:768px){
	.card_wrap{  padding: 24px 24px;}
	.news_block_item_inner{ display:flex; flex-flow: column;}
	.news_block_item_inner01{ display:flex; flex-flow: column;}
}
@media screen and (min-width:769px){
	.card_wrap{ padding: 56px 72px;}
	.news_block_item_inner{ display:flex; flex-flow: column;}
	.news_block_item_txt{ margin-top: 8px;}
	.report_place{margin-left: 24px;}
}
#local_staff .report_list{ border-bottom: 1px solid #BCBDC2;}
#local_staff .report_list li{ position: relative; padding: 24px 0; border-top: 1px solid #BCBDC2;}
#local_staff .report_list li .pickup_txt{ position: absolute; display: block; width: 140px; top: -65px; left: -47px; z-index: 5;}
#local_staff .report_list li:not(:first-child) .pickup_txt{ display: none;}
#local_staff .report_list li:last-child{ padding-right: 50px;}
#local_staff .report_list li a{ display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; color: #000; line-height: 1.3;}
#local_staff .report_list li a .report_date{ margin-right: 1em;}
#local_staff .report_list li a .report_place{ margin-right: 1em;}
#local_staff .report_list li a .report_name{ width: 100%; margin-top: 16px;}
#local_staff .report_list li a:hover{ opacity: 0.8;}
@media screen and (max-width:768px){
	#local_staff .report_list li a .report_name{ font-size: 1.6rem;}
}
@media screen and (min-width:769px){
	#local_staff .report_list li a .report_name{ font-size: 1.8rem;}
}

/*  other link 
============================================================================= */
@media screen and (max-width: 999px) {
	.pagefoot_sect h2{ font-size: 1.8rem;}
	.pagefoot_sect h3{ font-size: 1.6rem; text-align: left; padding: 0 10px;}
}
@media screen and (min-width: 1000px) {
	.pagefoot_sect h2{ font-size: 2.4rem;}
	.pagefoot_sect h3{ font-size: 2.0rem; text-align: left;	line-height: 1.6;}
}
.pagefoot_sectsub{ margin-top: 16px;}
.pagefoot-linklist{ margin-top: 0;}

/*  レイアウト
============================================================================= */
.mt00{ margin-top: 0 !important;}
.mt01{ margin-top: 2px !important;}
.mt02{ margin-top: 4px !important;}
.mt03{ margin-top: 8px !important;}
.mt04{ margin-top: 16px !important;}
.mt05{ margin-top: 24px !important;}
.mt06{ margin-top: 32px !important;}
.mt07{ margin-top: 48px !important;}
.mt08{ margin-top: 64px !important;}
.mt09{ margin-top: 96px !important;}
.mt09{ margin-top: 96px !important;}
.mt10{ margin-top: 128px !important;}
.mt11{ margin-top: 192px !important;}
.mt12{ margin-top: 256px !important;}
.txt-center { text-align: center;}
.txt-right { text-align: right;}
.txt-left {text-align: left;}

/*  list 
============================================================================= */
.sec-point_wrap ul.annotation{
	margin-top: 16px;
}
.sec-point_wrap ul.annotation li{
	position: relative;
	padding-left: 1.2em;
	width: 100%;
	font-size: 1.2rem;
	text-align: left;
}
.sec-point_wrap ul.annotation li:before{
    position: absolute;
    left: 0;
    top: 0;
    content: "\203B";
}

/*検索パネル調整 20250730*/
@media screen and (min-width: 1000px){
	#search .ovsdpsearch-panel {margin-top:0;}
}
