@charset "utf-8";
html,body { height:100%; }
/* フォントサイズの基準を10pxに */
html {
  font-size: 10px;
  font-size: 62.5%;
  }

/* body */

body {
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", YuGothic, "游ゴシック体", "Yu Gothic Medium", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "Noto Sans Japanese", Meiryo, sans-serif;
    font-weight: normal;
    font-size: 1.5rem;
    line-height: 1.8;
    color: #000;
    text-align: center;
}
body {
  width: 100%;
  margin: auto;
  color: #000;
  background-color: #fffff5;
  padding: 0;
  font-family: "ヒラギノ角ゴ Pro W6","ヒラギノ角ゴ","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO","ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro",　sans-serif;  font-size: 1.6rem;
  font-feature-settings: "palt";
  letter-spacing: 0.1em;
}

/* IE11だけに適応 */
_:lang(x)::-ms-backdrop, .selector {
	font-family: "Segoe UI", "メイリオ", Meiryo, sans-serif;
}

/* 太字 */
b, strong, .bold, h2{
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO",　sans-serif;
}

/*clearfix*/
.cf:before,.cf:after {content:""; display:block; overflow:hidden;}
.cf:after {clear:both;}
.cf {zoom:1;}

/*style*/
p{font-size:1.6rem; text-align:justify; text-justify:inter-ideograph; line-height: 1.8; margin:0;}

@media screen and (max-width:960px) {
  p{font-size: 1.6rem;}
}

@media screen and (max-width:560px) {
  p{font-size: 1.4rem;}
}



a{text-decoration: underline; color:#282828; text-decoration: none;}
a:hover{text-decoration: none;}
h2{line-height: 1; font-weight:normal; letter-spacing: 4;}
main{overflow: hidden;}

.widthfix{width:100%; max-width:640px; margin:0 auto;}
img{width:100%; vertical-align: bottom;}



/* ul */
ul,ol{padding:0;}
ol li,ul li{font-size: 1.8rem; padding:0; list-style:none;}

@media screen and (max-width:960px) {
  ol li,ul li{font-size: 1.6rem;}
}

@media screen and (max-width:560px) {
  ol li,ul li{font-size: 1.4rem;}
}

/* テーブルに関して */
table{
  font-size: 1.6rem;
  text-align: center;
}

/* thの下線を1pxに */
.table-bordered thead td, .table-bordered thead th {
  border-bottom-width: 1px;
}
.table thead th {
  vertical-align: bottom;
  border-bottom: 1px solid #dee2e6;
}




/* 共通 */



.section__wrap{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.section__wrap_l{
  padding:10px 0px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.section__wrap_ll{
  padding:10px 0px;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}


h3 {
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 35px;
}

#breadcrumbs {
    color:#333;
    text-align: left;
    margin: 0 auto;
    padding: 12px 0 12px 30px;
    font-size: 12px;
    background-color:#f2f2f2;
}
#breadcrumbs a{
    color:#4e4e4e;
    text-decoration: none;
}
#breadcrumbs ul{
    display: flex;
}
#breadcrumbs li{
    margin-right:15px;
	font-size: 13px;
}
#breadcrumbs li:not(:first-child):before {
    content: ">";
    margin-right: 8px;
}
@media screen and (max-width:767px) {
    #breadcrumbs {
        max-width:auto;
        margin: 0 auto;
        padding: 0px 15px;
 
        overflow-x: scroll;
        word-break: keep-all;
        white-space: nowrap;
         -webkit-overflow-scrolling: touch;
    }
}


@media screen and (max-width:560px) {
	
	.section__wrap{
  padding:10px 0px;
  width: 100%;
  max-width: 930px;
  margin: 0 auto;
}
	


}

/* new clearfix */  
.clearfix:after {  
    visibility: hidden;  
    display: block;  
    font-size: 0;  
    content: " ";  
    clear: both;  
    height: 0;  
    }  
* html .clearfix             { zoom: 1; } /* IE6 */  
*:first-child+html .clearfix { zoom: 1; } /* IE7 */  


h2{
  margin:30px auto 50px;
}

#jaldebyun_all {
	background-image: url("../img/bg_dot.gif");
	background-repeat: repeat;
}

.section__image{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 80px;
}









@media screen and (max-width:560px) {
.section__wrap{
  padding:10px 0px;
  width: 100%;
  margin: 0 auto;
}
  .section__image{
    margin: 0 auto 40px;
  }

  h2{
    margin:0 auto 40px;
  }



}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■header
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

header {
    display: flex;
    align-items: center;
    background-color: #cc0000;
    padding:0 30px;
    height:80px;
    position:relative;
	z-index: 100;
}

header img {
    width: 103px;
    height: 23px;
}

header h1 {
    position:absolute;
    right:30px;
    width:calc(100% - 60px - 500px);
    font-size: 1.4rem;
    color: #fff;
    text-align:right;
}

header h2{
    margin: 0 40px 0 64px;
    padding: 0;
    color:#fff;
    font-size: 12px;
    font-weight: bold;
    display: flex;
    align-items: center;
}
header h2 big{
    font-size: 19px;
    margin-right: 24px;
}
header select {
    width: auto;
    height: 36px;
    appearance: none;
    padding-right: 20px;
    background: url(../../../wp-content/themes/jumbotours/assets/img/header_select_white.svg) no-repeat right 16px center #000;
    background-size: 10px 12px;
    color: #fff;
    border: 0;
    border-radius: 36px;
    box-sizing: border-box;
    padding: 0 36px 0 24px;
    margin: 0;
    box-shadow: none;
    font-size: 15px;
    font-weight: normal;
    outline: none;
}
#tyo header .departure .tyo,
#osa header .departure .osa,
#ngo header .departure .ngo,
#fuk header .departure .fuk,
#oki header .departure .oki,
#kan header .departure .kan,
#hok header .departure .hok,
#hok header .departure .chu,
#hok header .departure .shi{
    display: none;
}

@media screen and (max-width:767px) {
    header {
        padding: 0;
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        background: #DBDBDB;
        height: auto;
    }
    header .logo {
        position: relative;
        right:auto;
        order: 2;
        width: 100%;
        height: 56px;
        margin: 0;
        padding: 0 0 0 16px;
        background: #BF0101;
        text-align: left;
        display: flex;
        align-items: center;
    }
    header img {
        width: 70px;
        height: auto;
    }
    header h1{
        font-size:1.3rem;
        line-height: 1.4;
        width:calc(100% - 110px);
        top:10px;
        right:16px;
		z-index: 100;
    }
    header h2 {
        order: 3;
        margin: 0;
        padding: 0 15px;
        font-size: 12px;
        font-weight: bold;
        display: flex;
        align-items: center;
        color:#333;
    }
    header h2 big{
        font-size: 17px;
        margin-right: 0;
    }
    header .departure {
        order: 4;
        flex: 1;
        margin: 0;
        padding: 12px 0;
        text-align: left;
        color:#333;
    }
    header select{
        width: auto;
        height: 32px;
        padding-right: 20px;
        background: url(../../../wp-content/themes/jumbotours/assets/img/header_select_black.svg) no-repeat right 16px center #fff;
        background-size: 10px 12px;
        color: #000;
        border: 0;
        padding: 0 36px 0 24px;
        margin: 0;
        box-shadow: 0;
        font-size: 14px;
        font-weight: bold;
    
    }
}


/* メインビジュアル */


#main__visual {
background-image:url("../img/main_bg.jpg");
	background-repeat: no-repeat;
	background-position: center 0px;
	background-size: 1750px;
	height: 986px;
}

.main_v {
	
}

.main_pc{
  width: 801px;
	margin:auto;
	padding-top: 70px;
}

.main_sp{
	display: none;
}


h1 {
	margin-top: 0px;
}


.sub_catch {
	padding-top: 240px;
	width: 900px;
	margin:auto;
}

.catch_title {
	width: 645px;
	margin: auto;
}

.main_sub_text p {
	font-size: 17px;
	text-align: center;
	line-height: 2.5em;
}

span.marker {
	font-weight: bold;
    background: linear-gradient(transparent 70%, #E6D300 70%);
}




.plan_main_txt p{
	width: 800px;
	margin: auto;
	font-size: 20px;
	text-align: center;
	padding: 15px 0px;
}


	.plan_main_txt span {
		color: rgba(197,19,22,1.00);
		font-weight: bold;
	}




.ann_pc {
	display: block;
}

.ann_sp {
	display: none;
}


.point__list li{
  width: 100%;
}

.point__list {
	display: flex;
	
 justify-content:center;
}

.point__list li img {
	width: 482px;
}


.sp_br {
	display: none;
}

/*-------------------------
pcCont/spCont
-------------------------*/
.spCont{display:none;}
@media only screen and (max-width: 767px) {
	.pcCont{display:none;}
	.spCont{display:block;}
}


@media screen and (max-width: 560px) {
	
.spCont{display:block;}
	
#main__visual {
background-image: url("../img/main_sp_bg.jpg");
		background-repeat: no-repeat;
		background-size: 100%;
	background-position:top center;
	height: 989px;
}
	
.main_v {
		
	}
	
	


 h1{
    width: 100%;
    margin-bottom: 20px;
  }
	
	
.main_pc{
	display: none;
}

.main_sp{
	display: block;
  width: 95%;
	margin: auto;
	padding-top: 120px;
}
	

.sub_catch {
	padding-top: 230px;
	width: 80%;
	margin:auto;
}

.catch_title {
	width: 230px;
	margin: auto;
	padding-bottom: 10px;
}
	

.main_sub_text p {
	font-size: 14px;
	text-align: justify;
	line-height: 2.7em;
}
	
	
 .main_sub_text {
        position: absolute;
        left: 15%;
    }

/*.vertical {
        writing-mode: vertical-rl;
        text-orientation: upright;
    }*/
	
span.marker {
    background:none;
	font-weight: bold;
}

	





.ann_pc {
	display: none;
}

.ann_sp {
	display: block;
}
	



}



/*////////////////////メインコンテンツ//////////////*/

#main_sec {
	
}

.saidai_taizai {
	padding-top: 50px;
	padding-bottom: 90px;
}

.tit_saidai_time {
	width: 950px;
	margin: auto;
	padding-bottom: 40px;
}



.area_title {
	width: 615px;
	margin: auto;
	padding: 20px 0px;
}


.area_casets {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.cas_sec {
	width: 450px;
	height: 330px;
	margin: 25px;
}

.areatxt {
	font-size: 17px;
	text-align: left;
	font-weight: bold;
	color: #D01800;
	float: left;
	padding-top: 20px;
	width: 100%;
}

.area_name {
	font-size: 30px;
	text-align: left;
	font-weight: bold;
	color: #D01800;
	float: left;
	width: 100%;
}

.area_pr {
	font-size: 13px;
	text-align: left;
	float: left;
	width: 100%;
	line-height: 1.5em;
}

.area_link {
	width: 273px;
	float: left;
	padding-top: 20px;
}



#cas_okinawa {
	background-image: 
		url("../img/area_okinawa.png");
	background-size: 245px;
	background-repeat: no-repeat;
	background-position: top right;
}

#cas_okinawarito {
	background-image: 
		url("../img/area_rito.png");
	background-size: 245px;
	background-repeat: no-repeat;
	background-position: top right;
}

#cas_kyushu {
	background-image: 
		url("../img/area_kyushu.png");
	background-size: 245px;
	background-repeat: no-repeat;
	background-position: top right;
}

#cas_chushikoku {
	background-image: 
		url("../img/area_chushikoku.png");
	background-size: 245px;
	background-repeat: no-repeat;
	background-position: top right;
}


#cas_hokkaido {
	background-image: 
		url("../img/area_hokkaido.png");
	background-size: 245px;
	background-repeat: no-repeat;
	background-position: top right;
}



@media screen and (max-width: 560px) {
	

	
.saidai_taizai {
	padding-top: 50px;
	padding-bottom: 70px;
}

.tit_saidai_time {
	width: 90%;
	margin: auto;
}
	
	
.area_title {
	width: 90%;
	margin: auto;
	padding: 20px 0px;
}
	
.cas_sec {
	height: 380px;
}

.areatxt {
	padding-top: 110px;
}
	
.area_pr {
	font-size: 12px;
	}



	
}


@media screen and (max-width: 320px) {
	.plan_links li {
	text-align: center;
    float: left;
    font-size: 14px;
    padding: 18px;
    border-radius: 6px;
    margin-right: 10px;
	    width: 30%;
}
	.tour_price {
	padding-left: 120px;
}
	
}






/*////////////////////スライダー//////////////*/

.slide {
  --img-size: min(725px, 85vw);
  --aspect-ratio: 2;
	width: 900px;
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  inline-size: var(--img-size);
  aspect-ratio: var(--aspect-ratio);
  box-sizing: content-box;
  margin: auto;
  padding: 0;
  text-align: center;
	/*height: 340px;*/
}
.slide li {
  list-style: none;
  width: 18px;
  aspect-ratio: 1;
  user-select: none;
}
.slide input {
  translate: 0 50px;
  width: 100%;
  height: 100%;
  border-radius: 100%;
  background-color: #eee;
  cursor: pointer;
}
.slide input:checked {
  background-color: #bbb;
}
.slide img {
  --opacity: 0;
	width: 725px;
  position: absolute;
  top: 0;
  left: 0;
  inline-size: var(--img-size);
  aspect-ratio: var(--aspect-ratio);
  opacity: var(--opacity);
  transition: opacity 0.2s 0s ease-out;
  pointer-events: none;
}
[for^="slide"]:has(:checked) + img {
  --opacity: 1;
}
[for^="slide"]:before,
[for^="slide"]:after {
  --btn-size: calc(var(--img-size) / 13);
  position: absolute;
  top: calc(50% - (var(--btn-size) / 2));
  inline-size: var(--btn-size);
  aspect-ratio: 1;
  background: #ffffffaa url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M16.67%200l2.83%202.829-9.339%209.175%209.339%209.167-2.83%202.829-12.17-11.996z%22%2F%3E%3C%2Fsvg%3E) no-repeat 50% 50% / calc(var(--btn-size) * 0.4);
  border: 1px solid #eee;
  border-radius: 100%;
  color: #fff;
  cursor: pointer;
  z-index: 1;
}
[for^="slide"]:before {
  left: calc(var(--btn-size) / 2 * -1);
}
[for^="slide"]:after {
  left: calc(var(--img-size) - var(--btn-size) / 2);
  rotate: 180deg;
}
/* 大事なのはここだけ
-----------------------------------
*/
li:has(:checked) + li [for^="slide"]:after,
li:not(li:has(:checked), li:has(:checked) ~ li) [for^="slide"]:before {
  content: "";
}





/*////////////////////ページTOP//////////////*/

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size:15px;
	z-index: 100;
}
#page-top a {
	background:#4F340C;
	text-decoration: none;
	color: #fff;
	width: 100px;
	padding: 30px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background:#333;
}

@media screen and (max-width: 560px) {
	
	#page-top {
	position: fixed;
	bottom: 20px;
	right: 10px;
	font-size:13px;
}
#page-top a {
	background:#4F340C;
	text-decoration: none;
	color: #fff;
	width: 100px;
	padding: 20px 0;
	text-align: center;
	display: block;
	border-radius: 5px;
}
#page-top a:hover {
	text-decoration: none;
	background:#333;
}
	
}


/* トップに戻る */
#page__top{
  width: 80px;
  height: 80px;
  margin: 0 20px 20px auto;
  background: #004678;
  opacity: 0.8;
  border-radius: 8px;
  z-index: 4;
}
#page__top a{
  position: relative;
  display: block;
  width: 80px;
  height: 80px;
  line-height: 1;
  text-decoration: none;
}
#page__top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 4rem;
  color: #fff;
  position: absolute;
  width: 40px;
  height: 40px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/* スマホ用 */
#nav-drawer {
  position: relative;
  text-align: right;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*////////////////////フッター//////////////*/
#footer{
  background-color: #000;
  padding: 40px 0;
}
#footer .footer__wrap{
  margin: 0 auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
	-ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

#footer p{
  padding-right: 20px;
  line-height: 1;
  font-size: 1.4rem;
  color: #fff;
}


.footer__nav{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
	-ms-flex-align: center;
  align-items: center;
}

.footer__nav li{
  margin-left: 10px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
	-ms-flex-align: center;
  align-items: center;
}

.footer__nav li a{
  font-size: 1.4rem;
  color: #fff;
  line-height: 1;
}

.footer__nav li a:hover{
  text-decoration: underline;
}


@media screen and (max-width:960px) {
  #footer p{
    font-size: 1.2rem;
    padding-right: 0;
  }

  .footer__nav li a{
    font-size: 1.2rem;
  }
}

@media screen and (max-width:560px) {
  .footer__nav,
  .footer__wrap{
    -webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
  }
  .footer__nav li{
    margin-bottom: 20px;
    margin-left: 0;
  }

  .footer__nav li:last-of-type{
    margin-bottom: 0;
  }

  #footer p{
    margin-bottom: 40px;
  }

}



br.sp{
  display: none;
}

@media screen and (max-width:560px) {
  br.sp{
    display: inline;
  }
}
