@charset "utf-8";

/*-----header-----*/
/*759px以下*/
@media screen and (max-width: 759.9px) {
.login_ex1{
	position: absolute;
    top: 12px;
    right: 3px;
    width: 40%;
    z-index: 9500;
}
.login_ex1 li{
	margin: 0;
    padding: 10px 15px;
    background: #FFF;
    border: 2px solid #1c4e9c;
    position: relative;
    border-radius: 5px;
    box-shadow: 2px 2px 5px #f4f4f4;
}
.login_ex1 li:after{
	content: "";
    width: 13px;
    height: 13px;
    position: absolute;
    top: 33%;
    right: 15px;
    background: #FFF;
    border: 1px solid #555;
    box-shadow: 1px 1px 0 #fff, 2px 2px 0 #333;
}
.login_ex1 li a {
    display: flex;
    background: #FFF;
	padding: 0;
	color: #1c4e9c;
}
.login_ex1 li p {
	font-size: 16px!important;
	font-weight: bold;
    line-height: 1;
    display: grid;
    align-items: center;
}
.login_ex1 li img {
	width: 35px;
    height: fit-content;
    margin: 0;
}
}
/*760px以上*/
@media screen and (min-width: 760px) {
.login_ex1{
	position: absolute;
    top: 16px;
    right: 8px;
    width: 180px;
    z-index: 9500;
    margin-right: calc((100% - 962px) / 2);
}
@media screen and (max-width: 980px) {
	.login_ex1{margin-right: calc((100% - 770px) / 2);}
}
.login_ex1 li{
	margin: 0;
    padding: 10px 15px;
    background: #FFF;
    border: 2px solid #1c4e9c;
    position: relative;
    border-radius: 5px;
    box-shadow: 2px 2px 5px #f4f4f4;
}
.login_ex1 li:after{
	content: "";
    width: 15px;
    height: 15px;
    position: absolute;
    top: 32%;
    right: 25px;
    background: #FFF;
    border: 1px solid #555;
    box-shadow: 1px 1px 0 #fff, 2px 2px 0 #333;
}
.login_ex1 li a {
    display: flex;
    background: #FFF;
	padding: 0;
	color: #1c4e9c;
}
.login_ex1 li p {
	font-size: 16px!important;
	font-weight: bold;
    margin-left: 5%;
    display: grid;
    align-items: center;
}
.login_ex1 li img {
    width: 36px;
    height: auto;
}
}
/*-----header-----*/

/*gadget*/
.disnone{display:none}
.fw-top .fw-mv-search {width: 100%;}

/*header/footer*/
#pc_header .HeadNav01,
#pc_header .HeadNav02,
#pc_header #Gnav,
#smp_header #headRMain li.area,
#smp_header #headRMain li.mycoupon,
#smp_header #headRMain li.menu {display:none!important;}

/*image100%*/
img {max-width: 100%;}

/*h1*/
h1{font-weight:bold;}


/* ------------------------------------------
	ex_select
------------------------------------------ */
#ex_select {
    border-bottom: 5px solid #0B318F!important;
    color: #000;
}
.fw-top .fw-btn-search-01,#ex_select li.select,.fw-top .fw-btn-detail-01, .fw-top .fw-btn-fix-flight, .fw-top .fw-btn-next-date, .fw-top .fw-btn-fix-train, .fw-top .fw-btn-detail-01-arr, .fw-top .fw-btn-fix-01, .fw-top .fw-btn-fix-01-arr,.difference a:before{
	background: #0B318F!important;
}
.fw-top .fw-checkbox--icon .fw-checkbox__input:checked + .fw-checkbox__label:before, .fw-top .fw-checkbox--normal .fw-checkbox__input:checked + .fw-checkbox__label:beforem,.difference a:before {
    background-color: #0B318F!important;
}
.fw-top .fw-checkbox--icon .fw-checkbox__label:before, .fw-top .fw-checkbox--normal .fw-checkbox__label:before {
    border: 1px solid #0B318F!important;
}
.fw-top .fw-search-top-accordion__trigger {
    border: 1px solid #0B318F!important;
}
.fw-top .fw-btn-search-01--hotel, .fw-top .fw-btn-search-01--air, .fw-top .fw-btn-search-01--jr {
    background: #0B318F!important;
}
.fw-top {color: #000!important;}

.fw-top .fw-btn-search-01.fw-is-disabled{
	 background: #ccc !important;
}

/*759px以下*/
@media screen and (max-width: 759.9px) {
/*#wrap {line-height: 1.4;}
.spnone{display:none;}*/

/* CSS */
/*#dirPathBlock,
#anchorLinkBlock {
	font-size: 10px;
	margin: 1% 1% 0 1%;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}*/

.smpnone{display:none;}

/* CSS */
#wrap {
	width: 100%;
	margin:0 auto;
	padding:0;
 	font-size:16px;
	padding-bottom:30px;
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.inner950 {
width: 100%;
margin: 0 auto;
display: block;
overflow:hidden;
}

#wrap .inner950 #dirPathBlock{
	font-size:10px;
	margin:1%;
}



/* ------------------------------------------
	h1
------------------------------------------ */
h1{
	font-size:10px!important;
}

	

/* ------------------------------------------
	mainArea
------------------------------------------ */
#mainArea{
	width:100%;
	margin:0;
	padding:20px 0;
  background: #FFD028;
}

/* ------------------------------------------
	title
------------------------------------------ */
#title{
  margin: 0;
  padding: 0;
	width:100%;
	background:#FFD028;
}
#title h2{
margin: 0;
padding: 0;
}
#title img{
width: 100%;
height: auto;
vertical-align: top;
}

.shien{
margin: 0 auto;
padding: 10px 0;
width: 100%;
background: #5bb2e0;
color: #fff;
text-align: center;
font-size: 1.1rem;
font-weight: 600;
letter-spacing: 2px;
}


/* ------------------------------------------
	artcleWrap
------------------------------------------ */
.artcleWrap{
	width:100%;
	display:block;
	margin:0 auto;
	padding:30px 0 0 0;
	position:relative;
}

.inner{
	margin:10px 15px ;
  padding: 20px 0;
	background:#fff;
}

.commonTit{
	text-align: center;
    margin-bottom: 20px;
    color: red;
    font-weight: bold;
    font-size: 18px;
}

.commonTit span{
position: relative;
display:inline-block;
padding: 10px 2px 20px 2px;
font-size:1.5rem;
font-weight: 600;
line-height: 1.5;
color:#000;
background: url(../images/tit_ptt.png) repeat-x 50% bottom;
}
	
p.campaigntxt {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin: 0 auto 20px;
	padding: 0 20px;
}
	

/* btn
------------------------------------------ */
.btn {
padding: 0;
}
.btn a{
position: relative;
display: flex;
justify-content: center;
align-items: center;
text-align:center;
	background:#0B318F;
	padding:15px;
	color:#FFFF8C !important;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	width:80%;
	font-size:1.1rem;
 	font-weight: 600;
	margin:20px auto 0;
	transition: 0.2s ;
    box-shadow: 0 0 14px rgb(255, 255, 255, 0.4);
}
.btn a::after {
position: absolute;
right:15px;
  content: '';
  width: 8px;
  height: 8px;
  border-top: 3px solid #FFFF8C;
  border-right: 3px solid #FFFF8C;
  transform: rotate(45deg);
}

/* ------------------------------------------
	fixBox
------------------------------------------ */
#fixBox.fixed{
width: calc( 100% - 0px );
position: fixed;
z-index: 999;
bottom:0;
left:0;
padding: 0 0 5px 0;
}
#fixBox.fixed .btn a{
	margin:10px auto 0;
}



/* ------------------------------------------
	closeBox
------------------------------------------ */
.closeBox{
margin: 0 auto;
padding: 15px;
width: 80%;
background: #e0117f;
color: #fff;
font-size: 1.1rem;
text-align: center;
font-weight: 600;
}



/* ------------------------------------------
	flow
------------------------------------------ */

/* stepBox
------------------------------------------ */
.stepContainer{
padding-bottom :60px;
}

/*slider*/
#flow .slider {
  margin: 0 auto;
  width: 100%;
}
.slick-dots{
position: absolute;
bottom: -35px;
display: block;
width: 100%;
padding: 0;
margin: 0;
list-style: none;
text-align: center;
}
.slick-dots li{
position: relative;
display: inline-block;
width: 30px;
height: 30px;
margin: 0 10px;
padding: 0;
cursor: pointer;
}
.slick-dots li button{
width:100%;
height:100%;
background:gray;
border-radius:50%;
color:#fff;
}
.slick-dots li.slick-active button{
background:#FF73A0;
}

.stepBox{
width: 86%;
margin: 10px auto ;
padding: 0;
background: #fff;
text-align: center;
}
.stepBox .stepTit{
padding: 0 0 5px 0;
}
.stepBox .stepTit img{
margin: 0 auto;
}
.stepBox dl{
width: 80%;
margin: 0 auto;
padding: 15px;
background: #FFCEDE;
border-radius: 20px;
}
.stepBox dl dt img{
height: 140px;
max-width: 220px;
margin: 0 auto;
}
.stepBox dl dd{
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
padding-top: 10px;
font-size: 1.1rem;
font-weight: 600;
line-height: 1.3;
height: 4em;
}
.stepBox dl dd .sizeS{
display: block;
font-size: 0.95rem;
}

.paypayatt{
padding: 0 10px 20px 10px;
font-size: 0.8rem;
text-align: center;
}


/* information
------------------------------------------ */
dd.icimg {
    display: flex;
    padding: 0.5rem 0!important;
}
dd.icimg img {
    width: 20%;
    flex: 1;
    margin: 0 1rem 0 0;
}	
dd.icimg p {
    flex: 4;
    font-size: 1.1rem;
    font-weight: 600;
    color: #FF73A0;
    line-height: 1.5;
}		
	
.information{
padding:10px 15px;
border-top:dashed 1px #ccc;
}
.information dl{
padding-top: 20px;
}
.information dt{
font-size: 1.1rem;
font-weight: 600;
}
.information dt::before{
content:"■";
padding-right: 3px;
}
.information dd{
padding: 2px 0 20px 0;
}
.information dd li::before{
content:"・";
font-size: 1.1rem;
padding-right: 3px;
}
.icoMail{
display: block;
position: relative;
padding: 0 5px 0 26px;
}
.icoMail a{
text-decoration: underline;
}
.icoMail::before{
position: absolute;
top:0;
left: 4px;
font-family: 'Material Icons Outlined';
content: 'mail';
color: #666;
font-size: 1.1rem;
}
sup{
vertical-align: top;
}
.att{
font-size: 0.8rem;
}

.accordion-box {
    position: relative;
}
.accordion-box label {
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: 0;
    width: 100%;

    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.accordion-box input:checked + label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.accordion-box label:after {
    content: "続きをよむ"; /* ラベルの文字 */
    letter-spacing: .05em;
    line-height: 2.5rem;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #000;
    background-color: #ccc;
    width: 18.75rem;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.accordion-box label:before {
    content: "↓";
    font-weight: 700;
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0);
    background-color: #fff;
    z-index: 1;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    line-height: 20px;
}
.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}

.accordion-box input:checked + label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + label:after {
    content: "閉じる";
}
.accordion-box input:checked + label:before {
    content: "↑";
}
.accordion-box input:checked ~ .accordion-container {
    height: auto;
    overflow: visible;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}



/* ------------------------------------------
	searchTravel
------------------------------------------ */
#searchTravel .titsizeS{font-size:1.2rem !important;}
#searchTravel .att,.kyusyu_bn .att{
padding: 0 10px 20px 10px;
font-weight: 600;
margin: auto;
width: 95%;	
box-sizing: border-box;
}
	
#searchTravel .att{
		width: 90%;
		padding: 10px;
		background: #fdf9e3;
		font-size: 1.25rem;
	line-height: 1.25;
}
	
.titShien{
margin: 0 auto;
padding: 5px;
width: 10em;
background: #e7f0ff;
color: #fff;
text-align: center;
font-size: 1.1rem;
font-weight: 600;
letter-spacing: 1px;
}

/*#searchTravel span.miniatt{
font-size:1rem;
}*/	
div#searchTravel .att p {
padding: 5px 0;
}
	
.summary p{
	font-size: 15px
	}	
	
.summary p.summaryTit{
	font-size: 18px
	}	
	
span.miniatt{
	font-size: 12px		
	}		
/* ------------------------------------------
	recoPlan
------------------------------------------ */
#recoPlan .inner{
background: none;
margin:0 15px ;
padding: 0 0 40px 0;
}
p.days{
	/*text-align: center;
    font-weight: bold;
    font-size: 20px;
    background: linear-gradient(transparent 50%, #f8e699 50%);
    width: 80px;
    margin: 0 auto;	*/	
	text-align: center;
    font-weight: bold;
    font-size: 20px;
    background: #ffd028;
    padding: 10px;
    margin: 0 20px;	
	}		
.recoPlanList{
}
.planHotel{
position: relative;
margin: 30px auto 20px auto;
width: 90%;
background: #fff;
box-shadow: 0px 0px 23px -3px rgba(0,0,0,0.3);
cursor: pointer;
}
.labelArea{
position: absolute;
left: 0;
top:0;
padding: 3px 10px;
background: #FF73A0;
color: #fff;
}
.hotelImg{
margin-bottom: 5px;
}
.hotelImg img{
width: 100%;
}
.planHotel dt{
position: relative;
}
.planHotel dt a{
display: flex;
justify-content: center;
align-items: baseline;
text-align: center;
margin: 0 auto;
padding: 10px;
color: #000;
font-size: 1.2rem;
font-weight: 600;
transition: 0.3s;
text-decoration: underline;
}
.planHotel dt a::before {
content: '';
width: 5px;
height: 5px;
margin-right: 8px;
border-top: 3px solid #f39800;
border-right: 3px solid #f39800;
transform: rotate(45deg);
}

.hotelPrice{
text-align: center;
font-weight: 600;
color: #e0117f;
}

.hotelAtt{
width: 90%;
margin: 0 auto;
padding: 0 5px 10px 10px;
text-align: right;
font-weight: 300;
font-size: 0.7em;
line-height: 1.2;
}
.hotelTxt{
padding: 10px 10px 20px 10px;
}

/* ------------------------------------------
	Area
------------------------------------------ */
#Area .inner {
  background: none;
  margin: 0 auto;
  padding: 0;
  width: 100%!important;
}

.area {
  height: auto;
  margin: 0;
}

.area_box {
  position: relative;
  overflow: hidden;
  margin: 10px;
  border-radius: 10px;
  box-shadow: 0px 0px 9px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  line-height: 0;	
}


.area_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 35px;
  font-weight: bold;
  color: white;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}

.area_box img {
    filter: brightness(50%);
}


.kyusyu_bn {
    text-align: center;
    margin: 5rem auto 3rem;
}

.kyusyu_banner{
	transition: 0.2s;
    width: 95%;
	margin: auto;
	}
.kyusyu_banner:hover {
		opacity: 0.8;
}
	
.kyusyu_banner img{
    width: 100%;
}

.kyusyu_bntxt {
  position: relative;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  font-size: 0.9rem;
  color: #000; 
  margin: 0.5rem 0;	
}
 
.kyusyu_bntxt:before,
.kyusyu_bntxt:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #FFFF8C;
    width: 3px;
    height: 1.25em;
    margin: 0 0.5em;
    margin-top: -0.2em;
    vertical-align: middle;
}
 
.kyusyu_bntxt:before {
  transform: rotate(-35deg);
}
 
.kyusyu_bntxt:after {
  transform: rotate(35deg);
}	
/* ------------------------------------------
	jrsetInfo
------------------------------------------ */
#jrsetInfo.artcleWrap{
padding-top: 0;
}
.jrsetImg{
text-align: center;
padding: 0 1.5rem;
}
.jrsetTit{
display: flex;
justify-content: center;
align-items: center;
margin: 40px 0 20px 0;
padding: 0 1.5rem;
text-align: center;
}
.jrsetpoint{
display:flex;
flex-wrap:wrap;
justify-content: center;
gap:10px;
}
.jrsetpoint li{
width: 28%;
}
	
.jrsetatt{
    padding: 2rem 1rem 0rem;
    font-size: 0.8rem;
}





/* ------------------------------------------
	tripa
------------------------------------------ */
#tripa h3 {
text-align: center;
margin-bottom: 20px;
}
#tripa h3 span{
position: relative;
padding-bottom: 6px;
font-size: 1.3rem;
font-weight: 600;
border-bottom: 3px solid #0B318F;
}
#tripa h3 span::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left:0;
	width: 50px;
	height: 3px;
	background-color: #FF73A0;
}
.tripalist{
width: 100%;
}
.tripalist li{
width: 86%;
margin: 0 auto;
padding: 20px 15px;
border-bottom: dashed 1px #ccc;
}
.tripalist li dt{
/*display: flex;*/
margin: 0;
padding: 3px 0 3px 15px;
color: #000;
text-decoration: underline;
}
.tripalist li dt::before {
position: absolute;
left:0;
top:10px;
content: '';
width: 5px;
height: 5px;
margin-right: 10px;
border-top: 3px solid #FF73A0;
border-right: 3px solid #FF73A0;
transform: rotate(45deg);
}
.tripalist li dt{
position: relative;
margin-bottom: 5px;
padding:0;
font-size: 1.1rem;
font-weight: 600;
text-indent: 1em;
}
.tripalist li dd{
}
.tripalist li img{
width: 100%;
}
	
	
/* ------------------------------------------
	Q&A
------------------------------------------ */
div#qa {
    margin: 3rem auto 10rem;
    width: 90%;
}
#qa div {
    margin: 3rem auto;
}	
#qa h2 {
    text-align: center;
margin: 1rem 0 3rem;	
}
	
#qa h2 span {
    padding: 0 3px 17px 3px;
    font-weight: 600;
    font-size: 1.5rem;
    color: #000;
    background: url(../images/tit_ptt.png) repeat-x 50% bottom;
    letter-spacing: 1px;
    display: inline-flex;
    margin: auto;
}	
#qa h3{	font-size: 18px;
		font-weight: bold;
}
#qa p{font-size: 16px;}
#qa h3,#qa p{
    margin: 0 0 2% 0;
    line-height: 1.6;
    width: 100%;
    text-align: left;
    position: relative;
    box-sizing: border-box;
    display: flex;
}
	
#qa b.qaicon {
    background: #f8bd2f;
    font-size: 18px;
    margin: 0px 10px -1% 0;
    padding: 0 10px;
    color: #000;
    max-width: 30px;
    height: 30px;
    text-align: center;
    display: inline-block;
}

/* ------------------------------------------
	appdl
------------------------------------------ */	
#appdl .inner {
    text-align: center;
    padding: 1.5rem;	
}
	
#appdl span{
		font-size: 0.85rem;
}		
p.EXLOGO_txt {
    font-size: 1rem;
    font-weight: bold;
    padding: 5px;
}
.app_title {
    background-color: #0B318F;
    color: #FFF;
    padding: 15px 15px 0;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.25;
    margin: 0 auto 20px;
}
.EXLOGO_txt_at{
	font-size: 0.85rem;
	font-weight: normal;
    padding: 10px 0 15px;
}

p.EXLOGO {
    font-size: 40px;
    font-weight: bold;
    color: #0B318F;
    margin: 15px auto 0;
}
.applogo_btn a{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #0B318F;
    margin: 0 auto 25px;
    padding: 12px 0 8px;
    color: #FFFF8C !important;
    -webkit-border-radius: 20px;
    border-radius: 10px;
    width: 100%;
    font-size: 1rem;
    letter-spacing: 2px;
    font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    transition: 0.2s;
    line-height: 1.3;		
}	

.applogo_btn a::after {
    position: absolute;
    right: 40px;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFFF8C;
    border-right: 3px solid #FFFF8C;
    transform: rotate(45deg);	
}
.logo_btn {
    display: flex;
    gap: 14px;
    justify-content: center;
}

/*EXガシェット*/
.difference{
	margin:15px 0;
	text-align:center;
}
.difference a{
	font-size: 12px;
	position:relative;
}
.difference a:before{
	content: "?";
    position: absolute;
    top: 0;
    left: -24px;
    background: #1c4e9c;
    width: 18px;
    height: 18px;
    color: #FFF;
    border-radius: 10px;
}
#ex_select{
	display: flex;
    border-bottom: 5px solid #1c4e9c;
	padding: 0 10px;
}
#ex_select li{
	width: 100%;
    text-align: center;
    padding: 32px 3px 5px;
    background: #FFF;
    position: relative;
	display: grid;
    align-items: center;
	line-height: 1.3;
	font-size: 12px;
    letter-spacing: -1px;
}
#ex_select li a{color: #1c4e9c;}
#ex_select li.select{
	background: #1c4e9c;
    color: #FFF;
}
#ex_select li:after {filter: invert(1);}
#ex_select li.select:after {filter: none;}
#ex_select li:nth-of-type(1):after{
	content: "";
    width: 24px;
    height: 24px;
    position: absolute;
    top: 5px;
    left: calc((100% - 24px) / 2);
    background: url(../../images/EXDP.png) no-repeat;
    background-size: cover;
}
#ex_select li:nth-of-type(2):after{
	content: "";
    width: 48px;
    height: 24px;
    position: absolute;
    top: 5px;
    left: calc((100% - 48px) / 2);
    background: url(../../images/EXTour.png) no-repeat;
    background-size: cover;
}
.ex_gdt{padding: 0 10px;}

/*end campaign*/
.campaign{position: relative;}
.campaign .endcontents{
	background: rgba(0, 0, 0, 0.75);
    width: 100%;
    height: 101%;
    display: block;
    position: absolute;
    z-index: 1;
}
.campaign .endcontents strong{
	width: 300px;
    display: block;
    margin: 120px auto 0;
    padding: 10px 0;
    text-align: center;
    font-size: 20px;
    color: red;
    background: #FFF;
    border: 2px solid red;
    font-weight: bold;
    transform: rotate(-5deg);
    line-height: 1.1;
}
.campaign .endcontents strong b{font-size:1.2em;}
.campaign .endcontents small{
	width: 100%;
    display: block;
    margin: 10% auto 0;
    text-align: center;
    font-size: 16px;
    color: #FFF;
    font-weight: bold;
    text-shadow: 1px 1px 3px BLACK;
}

/*footer*/
footer {
	padding-bottom: 68px;
    background: #343474;}
	
footer #pagetop {
	text-align: right;
    position: fixed;
    bottom: 64px;
    right: 10px;
    z-index: 48;
	background: none;
}
footer #pagetop img {
	width: 32px;
	height: 33px;
}
footer p {
	font-size: 10px;
	background: #343474;
    text-align: center;
    color: #fff;
    margin: 25px 0 0;
    padding: 5px 0;
}

/*add 20241004*/
.osusumetour .recoPlanList li,.osusumeplan .recoPlanList li {
	margin: 0 1% 2%;
	background: #FFF;
	padding: 20px;
	font-size: 14px;
	box-sizing: border-box;
}
.osusumetour .recoPlanList dt,.osusumeplan .recoPlanList dt {
	text-align: center;
	margin: 0;
	padding: 0;
}
.osusumetour .recoPlanList dt h4,.osusumeplan .recoPlanList dt h4 {
	font-size: 1.2em;
	font-weight: bold;
}
.osusumetour .recoPlanList .thumbnail,.osusumeplan .recoPlanList .thumbnail {margin: 15px 0;}
.osusumeplan .recoPlanList .thumbnail img {
	width: 100%;
	height: auto;
}
.osusumetour .recoPlanList .benefits{
	height: 68px;
	margin: 15px 0;
	line-height: 1.4;
	font-weight: bold;
}
.osusumeplan .recoPlanList .benefits {
	height: 30px;
	margin: 15px 0;
	line-height: 1.4;
	font-weight: bold;
}	

.osusumetour .recoPlanList .price-info,.osusumeplan .recoPlanList .price-info {
	text-align: center;
    font-weight: bold;
    font-size: 16px;
}	
.osusumetour .recoPlanList .price,.osusumeplan .recoPlanList .price {
	text-align: center;
	color: red;
	font-weight: bold;
	font-size: 1.4em;
	margin: 15px 0;
}

.osusumeplan .recoPlanList .price span{
	font-size: 12px;
    vertical-align: middle;
	position: relative;
}	

.osusumeplan .recoPlanList .price span:before{
    content: "50%off";
    font-size: 129%;
    position: absolute;
    right: -7px;
    bottom: 16px;
}	
.osusumetour .info,.osusumeplan .info {
	margin: 0 5px;
}		
.osusumetour .recoPlanList .txt,.osusumeplan .recoPlanList .txt {
    line-height: 1.2;
    margin-bottom: 25px;
}
.osusumetour .recoPlanList .blue_btn a,.osusumeplan .recoPlanList .blue_btn a {
	font-size: 16px;
	padding: 5px 0 7px;
	margin: 0 0 12px;
	font-weight: bold;
	background-color: #1c4e9c;
	display: block;
	text-align: center;
	position: relative;
}
.osusumetour .recoPlanList .blue_btn a h5,.osusumeplan .recoPlanList .blue_btn a h5 {color: #fff !important;}
.osusumetour .recoPlanList .blue_btn a:after,.osusumeplan .recoPlanList .blue_btn a:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	position: absolute;
	top: 32%;
	right: 10px;
	border-color: transparent transparent transparent #FFF;
}
.osusumeplan .large_btn a {
    width: 90%;
    font-size: 16px;
    padding: 10px 0 12px;
    margin: 10px auto;
    font-weight: bold;
    background-color: #1c4e9c;
    display: block;
    text-align: center;
    position: relative;
}
.osusumeplan .large_btn a p {color: #fff !important;}
.osusumeplan .large_btn a:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	position: absolute;
	top: 32%;
	right: 10px;
	border-color: transparent transparent transparent #FFF;
}	
}

/*760px以上*/
@media screen and (min-width: 760px) {
.pcnone{display:none;}

/* CSS */
#wrap {
	width: 100%;
	min-width: 1200px;
	margin:0 auto;
	padding:0;
	line-height:1.6;
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.inner950 {
    width: 950px;
    margin: 0 auto;
    display: block;
}

#wrap .inner950 #dirPathBlock{
	font-size:13px;
	margin-bottom: 15px;
}

#Foot {
	margin: 0;
}

.clear {
	clear: both;
}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.pageBackBlock{margin: 15px 0;}

/* ------------------------------------------
	mainArea
------------------------------------------ */
#mainArea{
	width:100%!important;
	margin:0 auto;
	display:block;
	position:relative;
	padding:30px 0 20px 0;
  background: #FFD028 url(../images/back.png) repeat-y 50% top;
}
#mainArea table {	border-collapse: collapse;}
#mainArea img { border: none; vertical-align: bottom;}

#mainArea a:hover {opacity: 0.7;}
#mainArea {font-size:14px;line-height: 1.6;}

/* ------------------------------------------
	title
------------------------------------------ */
#title{
	width:100%;
	background:#FFD028 url(../images/bg_main.jpg) no-repeat 50% 50%;
	background-size: cover;
	text-align:center;
	height:700px;

}
#title p{
	margin:0;
	padding:0;
}


.shien{
margin: 0 auto;
padding: 10px 0;
width: 100%;
background: #5bb2e0;
color: #fff;
text-align: center;
font-size: 22px;
font-weight: 600;
letter-spacing: 2px;
}

/* ------------------------------------------
	artcleWrap
------------------------------------------ */
.artcleWrap{
	width:1200px;
	display:block;
	margin:0 auto 0;
	padding:60px 0 0 0;
	position:relative;
}


.inner{
	background:#fff;
	width:950px;
	margin:40px auto 0 auto;
  padding: 70px 125px;
}

.commonTit{
	text-align:center;
	margin-bottom:50px;
	font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

p.commonTit{
	color: #ff0000;
    font-size: 28px;
    font-weight: bold;
    margin: 0 auto 10px;
	}	

.commonTit span{
padding: 0 3px 20px 3px;
font-weight:600;
font-size:40px;
color:#000;
background: url(../images/tit_ptt.png) repeat-x 50% bottom;
letter-spacing: 1px;
}

.divlink{
position:relative;
}
.divlink a{
position: absolute;
top:0;
left: 0;
width: 100%;
height: 100%;
}
.divlink:hover{
	opacity: 0.8 ;
	transition: 0.2s ;
}

p.campaigntxt {
    text-align: center;
    font-size: 25px;
    font-weight: bold;
    margin: 0 auto 20px;
}
.summary p{
	font-size: 16px
	}	
	
.summary p.summaryTit{
	font-size: 20px
	}	
	
span.miniatt{
	font-size: 15px		
	}	
/* btn
------------------------------------------ */
.btn a{
position: relative;
display: flex;
justify-content: center;
align-items: center;
text-align:center;
background:#0B318F;
margin:30px auto 0;
padding:20px;
color:#FFFF8C !important;
-webkit-border-radius: 20px;
border-radius: 20px;
width:840px;
font-size:30px;
letter-spacing: 2px;
font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
transition: 0.2s ;
    box-shadow: 0 0 14px rgb(255, 255, 255, 0.4);	
}
.btn a::after {
position: absolute;
right:40px;
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #FFFF8C;
  border-right: 3px solid #FFFF8C;
  transform: rotate(45deg);
}

.btn a:hover{
	opacity: 0.5 ;
	transition: 0.2s ;
	text-decoration:none!important;
}


/* ------------------------------------------
	fixBox
------------------------------------------ */
#fixBox.fixed{
width: calc( 100% - 200px );
position: fixed;
bottom:0;
left:100px;
padding: 0 0 20px 0;
z-index: 999;
}
#fixBox.fixed .btn a{
max-width: 840px;
width:100%	
}
#pagetop_pc{z-index: 1000;}

/* ------------------------------------------
	closeBox
------------------------------------------ */
.closeBox{
margin: 30px auto 60px auto;
padding: 20px;
width: 900px;
background: #e0117f;
color: #fff;
text-align: center;
font-size: 24px;
font-weight: 600;
}


/* ------------------------------------------
	flow
------------------------------------------ */

/* stepBox
------------------------------------------ */
.stepContainer .slider{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}
.stepBox{
width: 270px;
margin: 15px 0 ;
padding: 0 70px 0 0;
background: #fff url("../images/arrow.png") no-repeat 293px 55%;
text-align: center;
}
.stepBox:nth-child(3){
padding: 0;
background: #fff;
}
.stepBox .stepTit{
padding: 0 0 10px 0;
}
.stepBox dl{
width: 240px;
margin: 0 ;
padding: 15px;
background: #FFCEDE;
border-radius: 20px;
}
.stepBox dl dt{
}
.stepBox dl dd{
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
height: 6em;
padding-top: 10px;
font-size: 18px;
font-weight: 600;
line-height: 1.3;
}
.stepBox dl dd .sizeS{
display: block;
font-size: 0.95rem;
}
.stepArrow{
padding:40px 0 0 2px;
}
.paypayatt{
    font-size: 1rem;
	font-weight: 600;
}


/* information
------------------------------------------ */
dd.icimg {
    display: flex;
    align-items: center;
    padding: 0!important;
}
dd.icimg img {
    width: 5%;
    flex: 1;
    margin: 0 1rem 0 0;
}	
dd.icimg p {
    flex: 17;
    font-size: 18px;
    font-weight: 600;
    color: #FF73A0;
}	
	
.information{
padding:20px 0;
}
.information dl{
padding-top: 20px;
}
.information dt{
font-size: 16px;
font-weight: 600;
}
.information dt::before{
content:"■";
padding-right: 3px;
}
.information dd{
padding: 2px 0 20px 0;
}
.information dd li::before{
content:"・";
font-size: 16px;
padding-right: 3px;
}
.icoMail{
position: relative;
padding: 0 5px 0 22px;
}
.icoMail a{
text-decoration: underline;
}
.icoMail::before{
position: absolute;
top:-5px;
left: 0;
font-family: 'Material Icons Outlined';
content: 'mail';
color: #666;
font-size: 1.1rem;
}
sup{
vertical-align: top;
}
.att{
font-size: 0.8rem;
}

.accordion-box {
    position: relative;
}
.accordion-box label {
    height: 80px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: 0;
    width: 100%;

    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.accordion-box input:checked + label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.accordion-box label:after {
    content: "続きをよむ"; /* ラベルの文字 */
    letter-spacing: .05em;
    line-height: 2.5rem;
    position: absolute;
    bottom: 20px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #000;
    background-color: #ccc;
    width: 18.75rem;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 20px;
}
.accordion-box label:before {
    content: "↓";
    font-weight: 700;
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0);
    background-color: #fff;
    z-index: 1;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    line-height: 20px;
}
.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}

.accordion-box input:checked + label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + label:after {
    content: "閉じる";
}
.accordion-box input:checked + label:before {
    content: "↑";
}
.accordion-box input:checked ~ .accordion-container {
    height: auto;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}




/* ------------------------------------------
	searchTravel
------------------------------------------ */
#searchTravel .inner{
padding:20px 125px;
}
#searchTravel .titsizeS{font-size:30px !important;}
#searchTravel .att,.kyusyu_bn .att{
font-size: 1.1rem;
font-weight: 600;
margin: auto;
max-width: 765px;
}
	
#searchTravel .att{
	font-size: 1.25rem;
    font-weight: 600;
    margin: auto;
    max-width: 970px;
    background: #fdf9e3;
    padding: 20px;	
}	

.titShien{
margin: 0 auto;
padding: 5px;
width: 10em;
background: #5bb2e0;
color: #fff;
text-align: center;
font-size: 20px;
font-weight: 600;
letter-spacing: 1px;
}

/* ------------------------------------------
	recoPlan
------------------------------------------ */
#recoPlan .inner{
background: none;
margin:80px auto;
padding:0;
width: 100%!important;	
}
p.days{
	/*text-align: center;
    font-weight: bold;
    font-size: 18px;
    background: linear-gradient(transparent 50%, #f8e699 50%);
    width: 80px;
    margin: 0 auto;	*/	
	text-align: center;
    font-weight: bold;
    font-size: 20px;
    background: #ffd028;
    padding: 10px;
    margin: 0 20px;	
	}	
.recoPlanList{
display: flex;
flex-wrap: wrap;	
justify-content: space-between;
padding-bottom: 20px;
}
.planHotel{
    width: 380px;
    background: #fff;
    box-shadow: 0px 0px 9px 3px rgba(0,0,0,0.1);
    cursor: pointer;
}
.labelArea{
position: absolute;
left: 0;
top:0;
padding: 3px 10px;
background: #FF73A0;
color: #fff;
z-index: 99;
}
.hotelImg{
position: relative;
margin-bottom: 10px;
}
.hotelImg img{
width: 100%;
}
.planHotel dt a{
padding-top: 265px;
color: #000;
height: calc( 100% - 200px );
}
.planHotel dt{
text-align: center;
margin: 0 auto;
padding: 0;
color: #000;
font-size: 18px;
font-weight: 600;
transition: 0.3s;
}
.hotelPrice{
text-align: center;
font-weight: 600;
color: #e0117f;
font-size: 16px;
padding-top: 2em;
}
.hotelAtt{
padding: 0 10px 20px 10px;
text-align: right;
font-weight: 300;
font-size: 12px;
line-height: 1.2;
}

.hotelTxt{
padding: 50px 10px 20px 10px;
}
	
/* ------------------------------------------
	Area
------------------------------------------ */
#Area .inner {
  background: none;
  margin: 80px auto;
  padding: 0;
  width: 100%!important;
}

.area {
  display: flex;
  justify-content: center;

  align-items: center;
  height: 300px;
  margin: 0;
}

.area_box {
  flex: 1;
  position: relative;
  overflow: hidden;
  margin: 10px;
  border-radius: 10px;
  box-shadow: 0px 0px 9px 3px rgba(0, 0, 0, 0.1);
  cursor: pointer;
}


.area_txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 35px;
  font-weight: bold;
  color: white;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}

.area_box img {
    filter: brightness(50%);
	transition: 0.2s;
}

.area_box img:hover {
    filter: brightness(100%);
}
	
.area_box a{
		opacity: 1!important;
}

.kyusyu_bn {
    text-align: center;
    margin: 7rem auto;
}

.kyusyu_banner{
		transition: 0.2s;
}
.kyusyu_banner:hover {
		opacity: 0.8;
}
	
.kyusyu_banner img{
		width: 640px;
		height: 120px;
		margin: 1rem;	
}

.kyusyu_bntxt {
  position: relative;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  font-size: 1.5rem;
  color: #000; 
  margin: 0.5rem 0;	
}
 
.kyusyu_bntxt:before,
.kyusyu_bntxt:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #FFFF8C;
    width: 5px;
    height: 1.25em;
    margin: 0 0.5em;
    margin-top: -0.2em;
    vertical-align: middle;
}
 
.kyusyu_bntxt:before {
  transform: rotate(-35deg);
}
 
.kyusyu_bntxt:after {
  transform: rotate(35deg);
}	
	
	
	
/* ------------------------------------------
	jrsetInfo
------------------------------------------ */
#jrsetInfo.artcleWrap{
padding-top: 0;
}
.jrsetImg{
text-align: center;
    width: 70%;
    margin: auto;
}
	
.jrsetpoint li img{
	min-width: 175px;
}	
	
.jrsetTit{
display: flex;
justify-content: center;
align-items: center;
    margin: 6rem 0 2rem 0;
text-align: center;
}
.jrsetTit::before,
.jrsetTit::after {
	content: '';
	width: 110px;
	height: 6px;
	background-color: #FF73A0;
	margin: 0 13px;
}
.jrsetTit img{
		width: 85%;
}	
	
.jrsetpoint{
    display:flex;
    justify-content: space-between;
    margin: 2rem 0;	
}

.jrsetatt{
    text-align: center;	
    font-size: 1.1rem;
    font-weight: 600;
}

/* ------------------------------------------
	tripa
------------------------------------------ */
#tripa h3 {
text-align: center;
margin-bottom: 20px;
}
#tripa h3 span{
position: relative;
padding-bottom: 6px;
font-size: 26px;
font-weight: 600;
letter-spacing: 1px;
border-bottom: 5px solid #0B318F;
}
#tripa h3 span::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left:0;
	width: 70px;
	height: 5px;
	background-color: #FF73A0;
}
.tripalist{
width: 100%;
}

.tripalist li{
display: flex;
padding: 15px;
border-bottom: dashed 1px #ccc;
transition: 0.2s;
}
.tripalist li dt{
	display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 3px;
  color: #000;
  font-size: 18px;
  font-weight: 700;
}
.tripalist li dt::before {
  content: '';
  width: 5px;
  height: 5px;
  margin-right: 10px;
  border-top: 3px solid #FF73A0;
  border-right: 3px solid #FF73A0;
  transform: rotate(45deg);
}
.tripalist li dt{
margin-bottom: 10px;
padding:0 0 0 10px;
font-size: 18px;
font-weight: 600;
}
.tripalist li dd{
padding-left: 15px;
}
.tripalist li img{
width: 200px;
margin-right: 20px;
}
	
/* ------------------------------------------
	Q&A
------------------------------------------ */
div#qa {
    margin: 3rem auto 10rem;
    width: 950px;
}
#qa div {
    margin: 3rem auto;
}	
#qa h2 {
    text-align: center;
margin: 1rem 0 3rem;	
}
	
#qa h2 span {
    padding: 0 3px 10px 3px;
    font-weight: 600;
    font-size: 40px;
    color: #000;
    background: url(../images/tit_ptt.png) repeat-x 50% bottom;
    letter-spacing: 1px;
    display: inline-flex;
    margin: auto;
}	
#qa h3{	font-size: 18px;
		font-weight: bold;
}
#qa p{font-size: 16px;}
#qa h3,#qa p{
    margin: 0 0 2% 0;
    line-height: 1.6;
    width: 100%;
    text-align: left;
    position: relative;
    box-sizing: border-box;
    display: flex;
}
	
#qa b.qaicon {
    background: #f8bd2f;
    font-size: 18px;
    margin: 0px 10px -1% 0;
    padding: 0 10px;
    color: #000;
    max-width: 30px;
    height: 30px;
    text-align: center;
    display: inline-block;
}
	
	
/* ------------------------------------------
	appdl
------------------------------------------ */	
#appdl .inner {
    text-align: center;
}
#appdl span{
		font-size: 14px;
}	
p.EXLOGO_txt {
    font-size: 18px;
    font-weight: bold;
    padding: 5px;	
}
.app_title {
    background-color: #0B318F;
    color: #FFF;
    padding: 15px 0 0;
    font-size: 28px;
    font-weight: bold;
    line-height: 1.25;
    margin: 0 auto 20px;
}
.EXLOGO_txt_at{
	font-size: 16px;
	font-weight: normal;
    padding: 7px 0 10px;
}

p.EXLOGO {
    font-size: 40px;
    font-weight: bold;
    color: #0B318F;
    margin: 30px auto 0;
}
.applogo_btn a{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #0B318F;
    margin: 0 auto 50px;
    padding: 12px 0 8px;
    color: #FFFF8C !important;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    width: 400px;
    font-size: 20px;
    letter-spacing: 2px;
    font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    transition: 0.2s;
    line-height: 1.3;		
}	

.applogo_btn a::after {
    position: absolute;
    right: 40px;
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFFF8C;
    border-right: 3px solid #FFFF8C;
    transform: rotate(45deg);	
}
.logo_btn {
    display: flex;
    gap: 14px;
    justify-content: center;
}

/*EXガシェット調整*/
.difference{
	margin:15px 0;
	text-align:center;
}
.difference a{
	font-size: 16px;
	position:relative;
}
.difference a:before{
    content: "?";
    position: absolute;
    top: -5px;
    left: -60px;
    background: #1c4e9c;
    width: 30px;
    height: 30px;
    color: #FFF;
    border-radius: 15px;
    font-size: 20px;
}
#ex_select{
	display: flex;
    border-bottom: 5px solid #1c4e9c;
}
#ex_select li{
	width: 100%;
    text-align: center;
    padding: 44px 10px 5px;
    background: #FFF;
    position: relative;
	font-size: 18px;
	cursor:pointer;
	display: grid;
    align-items: center;
	line-height: 1.4;
}
#ex_select li a{color: #1c4e9c;}
#ex_select li.select{
	background: #1c4e9c;
    color: #FFF;
}
#ex_select li:after {filter: invert(1);}
#ex_select li.select:after {filter: none;}
#ex_select li:nth-of-type(1):after{
	content: "";
    width: 36px;
    height: 36px;
    position: absolute;
    top: 5px;
    left: calc((100% - 24px) / 2);
    background: url(../../images/EXDP.png) no-repeat;
    background-size: cover;
}
#ex_select li:nth-of-type(2):after{
	content: "";
    width: 72px;
    height: 36px;
    position: absolute;
    top: 5px;
    left: calc((100% - 48px) / 2);
    background: url(../../images/EXTour.png) no-repeat;
    background-size: cover;
}
#ex_select li:not(.select):hover{opacity:0.8;}

/*end campaign*/
.campaign{position: relative;}
.campaign .endcontents{
	background: rgba(0, 0, 0, 0.75);
    width: 100%;
    height: 105%;
    display: block;
    position: absolute;
    z-index: 1;
}
.campaign .endcontents strong{
	width: 620px;
    display: block;
    margin: 5% auto 0;
    padding: 15px 0;
    text-align: center;
    font-size: 40px;
    color: red;
    background: #FFF;
    border: 3px solid red;
    font-weight: bold;
    transform: rotate(-5deg);
    line-height: 1.1;
}
.campaign .endcontents strong b{font-size:1.2em;}
.campaign .endcontents small{
	width: 100%;
    display: block;
    margin: 5% auto 0;
    text-align: center;
    font-size: 32px;
    color: #FFF;
    font-weight: bold;
    text-shadow: 1px 1px 3px BLACK;
}

/*footer*/
footer {
	padding-bottom: 120px;
    background: #343474;
	width: 100%;
    min-width: 1200px;}
footer #pagetop {
    bottom: 10px;
    position: fixed;
    right: 20px;
    text-align: right;
    z-index: 50;
	background: none;
}
footer p {
	font-size: 12px;
	background: #343474;
    text-align: center;
    color: #fff;
    margin: 0;
    padding: 5px 0;
}

/*add 20241004*/
.osusumetour .recoPlanList li,.osusumeplan .recoPlanList li {
	width: calc(94% / 3);
	margin: 0 1% 2%;
	background: #FFF;
	padding: 20px;
	font-size: 14px;
	box-sizing: border-box;
}
.osusumetour .recoPlanList dt,.osusumeplan .recoPlanList dt {
	text-align: center;
	margin: 0;
	padding: 0;
}
.osusumetour .recoPlanList dt h4,.osusumeplan .recoPlanList dt h4 {
	font-size: 1.2em;
	font-weight: bold;
}
.osusumetour .recoPlanList .thumbnail,.osusumeplan .recoPlanList .thumbnail {margin: 15px 0;}
.osusumetour .recoPlanList .thumbnail img,.osusumeplan .recoPlanList .thumbnail img {
	width: 100%;
	height: auto;
}
.osusumetour .recoPlanList .benefits{
	/*height: 50px;*/
	height: 68px;
	margin: 15px 0;
	line-height: 1.4;
	font-weight: bold;
}
.osusumeplan .recoPlanList .benefits {
	height: 50px;
	margin: 15px 0;
	line-height: 1.4;
	font-weight: bold;
}
	
.osusumetour .recoPlanList .price-info,.osusumeplan .recoPlanList .price-info {
	text-align: center;
    font-weight: bold;
    font-size: 16px;
}	
.osusumetour .recoPlanList .price,.osusumeplan .recoPlanList .price {
	text-align: center;
	color: red;
	font-weight: bold;
	font-size: 1.4em;
	margin: 15px 0;
}
	
.osusumeplan .recoPlanList .price span{
	font-size: 12px;
    vertical-align: middle;
	position: relative;
}	

.osusumeplan .recoPlanList .price span:before{
    content: "50%off";
    font-size: 129%;
    position: absolute;
    right: -7px;
    bottom: 16px;
}	
	
.osusumetour .recoPlanList .txt,.osusumeplan .recoPlanList .txt {
    line-height: 1.2;
    margin-bottom: 25px;
}
.osusumetour .recoPlanList .blue_btn a ,.osusumeplan .recoPlanList .blue_btn a {
	font-size: 16px;
	padding: 5px 0 7px;
	margin: 0 0 12px;
	font-weight: bold;
	background-color: #1c4e9c;
	display: block;
	text-align: center;
	position: relative;
}	
.osusumetour .recoPlanList .blue_btn a h5,.osusumeplan .recoPlanList .blue_btn a h5 {color: #fff !important;}
.osusumetour .recoPlanList .blue_btn a:after,.osusumeplan .recoPlanList .blue_btn a:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	position: absolute;
	top: 32%;
	right: 10px;
	border-color: transparent transparent transparent #FFF;
}
.osusumeplan .large_btn a {
    width: 80%;
    font-size: 16px;
    padding: 5px 0 7px;
    margin: 10px auto;
    font-weight: bold;
    background-color: #1c4e9c;
    display: block;
    text-align: center;
    position: relative;
}
.osusumeplan .large_btn a p {color: #fff !important;}
.osusumeplan .large_btn a:after {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px 0 7px 8px;
	position: absolute;
	top: 27%;
    right: 16px;
	border-color: transparent transparent transparent #FFF;
}	
}