@charset "utf-8";

@import url('header.css?20190527');
@import url('side_top.css?20190527');
@import url('footer.css?20190527');
@import url('jquery.bxslider.css');

/*---------------------------------
  contents > Layout
---------------------------------*/
.content {
	color: #333;
	font-size: 16px;
	margin:10px auto 0;
	overflow: hidden;
	text-align:left;
	width:980px;
}
.content li {
	list-style: none;
}

.mainimage,.bg-bnr-image {
	display: block;
	margin: 0 auto 10px;
	width: 100%;
}

.sp_mainimage ,.sp_bg-bnr-image{
	display: none;
}


.mainimage img, .sp_mainimage img,.bg-bnr-image img,.sp_bg-bnr-image img {
	width: 100%;
}

.wrap_upper {
	margin: 0 0 30px;
	padding: 20px 0 0;
}

.banner_area {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	float: left;
	font-size: 0;
	margin: 0 0 20px;
	width: 100%;
}

.plan_ranking {
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	/* ランキングを右に配置
	float: right;
	width: 485px;
	*/
	float: left;
	width: 482px;
}

.tit_area {
	background-color: #0070ad;
	background-repeat: no-repeat;
	background-size: 22px;
	background-position: 14px 6px;
	border-top: 4px solid #333;
	-webkit-box-sizing: border-box ;
	-moz-box-sizing: border-box ;
	box-sizing: border-box;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	height: 40px;
	padding: 10px 0 0 48px;
}

.tit_ranking {
	background-image: url(../imgs/icon_ranking.png);
}

.tit_new {
	background-image: url(../imgs/icon_new.png);
}

.tit_info {
	background-image: url(../imgs/icon_info.png);
}

.tit_memory {
	background-image: url(../imgs/icon_memory.png);
}

.tit_list {
	background-image: url(../imgs/icon02.png);
	background-size: 18px;
	background-repeat: no-repeat;
	background-position: 74% 0;
	color: #fff;
	font-size: 18px;
	float: right;
	line-height: 1em;
	padding-right: 38px;
	text-decoration: none;
	vertical-align: top;
}

.tit_list:hover {
	color: #fff;
	text-decoration: underline;
}

.tit_blog {
	display: inline-block;
	font-size: inherit;
	font-weight: inherit;
	vertical-align: top;
}
/* 1カラム配置
.plan_category {
	clear: both;
	margin: 0 0 30px;
	width: 100%;
}
*/
.plan_category {
	float: right;
	margin: 0;
	width: 485px;
}

.plan_new {
	background: #f4f4f4;
	margin: 0 0 30px;
	width:100%;
}

.wrap_under {
	margin:0 0 30px;
}

.blogcontent {
	float: left;
	width: 656px;
}

.blog_info, .blog_memory {
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.blog_info {
	margin: 0 0 30px;
}

.sidebar_top {
	float: right;
	width: 300px;
}

/*---------------------------------
  rabel
  ---------------------------------*/
.cate_rabel {
	color: #fff;
	border-radius: 6px;
	display: inline-block;
	font-size: 12px;
	margin: 0 0 6px 2px;
	padding: 4px;
}

.cate_rabel:first-of-type {
	margin-left: 0;
}

.rabel_cruiser, .rabel_limousine {
	background: #862bb1;
}

.rabel_sightseeing-bus-tour, .rabel_island-tour, .rabel_guide-tour {
	background: #2bb14b;
}

.rabel_whalewatching, .rabel_snorkel, .rabel_expdiving, .rabel_kayak, .rabel_marine-sports, .rabel_fishing {
	background: #2b2bb1;
}

.rabel_photowedding {
	background: #d5316f;
}

.rabel_food {
	background: #da912a;
}

.rabel_other-activities {
	background: #da572a;
}

/* 本番で削除 */
.rabel_charter {
	background: #862bb1;
}

.rabel_tour {
	background: #2bb14b;
}

.rabel_marine {
	background: #2b2bb1;
}

.rabel_wedding {
	background: #d5316f;
}

.rabel_meal {
	background: #da912a;
}

.rabel_other {
	background: #da572a;
}
.rabel_online {
	background: #da572a;
}
.rabel_open-top-bus {
	background: #2bb14b;
}
/* 本番で削除 ここまで */
/*---------------------------------
  banner
  ---------------------------------*/
.banner_area a{
	/*display: inline-block;*/
}

.banner_area img {
	width: 100%;
}

.bnr_square {
	display: inline-block;
	margin: 0 10px 0 0;
	width: 237px;
}

.bnr_square:last-of-type {
	margin: 0;
}

.bg-bnr-image a:hover {
	opacity: 0.7;
}

.sp_bg-bnr-image a:hover {
	opacity: 0.7;
}
/*---------------------------------
  ranking
  ---------------------------------*/
.ranking_plan_box {
	-webkit-box-sizing: border-box ;
	-moz-box-sizing: border-box ;
	box-sizing: border-box;
	border-bottom: 1px solid #ccc;
	display: block;
	min-height: 148px;
	padding: 10px 0;
	position: relative;
	width: 100%;
}

.ranking_plan_box:last-of-type {
	border-bottom: none;
}

.box_link {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

.ranking_plan_box:hover .planname_ranking {
	color: #0070ad;
	text-decoration: underline;
}

.ranking_plan_box:hover .img_ranking {
	opacity: 0.7;
}

.ranking_plan_left {
	float:left;
	margin-left: 10px;
	width: 112px;
}

.icon_ranking {
	width: 30%;
}

.img_ranking {
	height: 84px;
	margin: 48px 0 0 10px;
	width: 112px;
}

.ranking_plan_right {
	margin-left: 142px;
	padding-right: 10px;
}

.planname_ranking {
	word-break: break-all;
}

.planname_ranking {
	color: #333;
	font-weight: normal;
	text-decoration: none;
}
/*---------------------------------
  activityplan
  ---------------------------------*/
.tit_category {
	color: #0070ad;
	border-bottom: 2px solid #0070ad;
	font-size: 22px;
	font-weight: bold;
	margin-bottom: 24px;
	padding-bottom: 4px;
	text-align: center;
}

.category_menu {
	background: #fff;
	float: left;
	height: 150px;
	margin: 0 16px 16px 0;
	width:150px
}

.category_menu:nth-of-type(3n) {
	margin: 0 0 16px 0;
}

.category_menu a {
	display: block;
	font-weight: normal;
	text-decoration: none;
	width: 100%;
}

.category_menu a:hover {
	opacity: 0.7;
}

.category_menu img {
	width: 100%;
}
.category_name {
	color: #fff;
	background-image: url(../imgs/icon02.png);
	background-position: 98% 46%;
	background-repeat: no-repeat;
	background-size: 14px;
	-webkit-box-sizing: border-box ;
	-moz-box-sizing: border-box ;
	box-sizing: border-box;
	display: block;
	font-size: 14px;
	height: 50px;
	line-height: 1.2em;
	padding: 4% 12% 4% 4%;
	width: 100%
}

.site_description{
	clear: both;
	display: block;
	font-size:14px;
	padding: 14px 0 0;
	text-align: center;
	width: 980px;
}

.sp_site_description {
	display: none;
}
/*---------------------------------
  newplan
  ---------------------------------*/
.new_plan_list {
	padding:20px;
}
.new_plan_box {
	background: #fff;
	-webkit-box-sizing: border-box ;
	-moz-box-sizing: border-box ;
	box-sizing: border-box;
	float: left;
	margin: 0 20px 0 0;
	min-height: 350px;
	padding: 1%;
	position: relative;
	width: 300px;
}

.new_plan_box:last-of-type {
	margin-right: 0;
}

.newplanbox_link:hover ~ .planname_new .planname_newplan {
	color: #0070ad;
	text-decoration: underline;
}

.new_plan_box:hover .img_new {
	opacity: 0.7;
}

.img_new {
	height: 188px;
	width:100%;
}

.new_plan_box_catearea {
	margin-top: 190px;
}

.planname_newplan {
	color: #333;
	font-weight: normal;
	text-decoration: none;
}

.no_plan {
	text-align: center;
	width: 100%;
}
/*---------------------------------
  information
  ---------------------------------*/
.info_blog_list, .memory_blog_list {
	padding: 0 2%;
}

/* スマホ用 */
@media screen and (max-width: 767px) {
    .facebook_info {
      margin-bottom: 20px;
    }
    .facebook_inner {
      max-height: 400px;
      overflow: hidden;
    }
	.info_fb_list {
		width: 100%;
		max-width: 500px;
	}
    .fb-page { max-height: 400px;}
}
 
/* PC用 */
@media screen and (min-width: 768px) {
    .facebook_info {
      margin-bottom: 20px;
      border-left: 1px solid #ccc;
      border-right: 1px solid #ccc;
      border-bottom: 1px solid #ccc;
    }
    .facebook_inner {
      text-align: center;
      padding: 20px;
    }
  
	.info_fb_list {
      width: 100%;
      padding: 0 2%;
	}
}

.info_blog_box {
	border-bottom: 1px solid #ccc;
	padding: 4px 0;
}

.memory_blog_box {
	border-bottom: 1px solid #ccc;
	font-size: 0;
	min-height: 100px;
	padding: 10px 0;
	position:relative;
}

.info_blog_box:last-of-type, .memory_blog_box:last-of-type  {
	border-bottom: none;
}

.info_blog_meta {
  display: flex;
}

.info_blog_box a {
  color: #333;
  text-decoration: none;
}

.info_blog_box a:hover {
  color: #0070ad;
  text-decoration: underline;
}

.info_blog_thumb {
  padding-right: 20px;
}

.cate_blog {
	color: #c87100;
	font-size: 14px;
}

.img_memory {
	margin: 10px 0 0;
	width: 100px;
}

.blogtitle_memory {
	display: inline-block;
	font-size: 16px;
	margin-left: 120px;
	vertical-align: top;
}

.blogtitle_info a, .blogtitle_memory {
	color: #333;
	text-decoration: none;
}

.blogtitle_info a:hover, .memory_blog_box:hover .blogtitle_memory {
	color: #0070ad;
	text-decoration: underline;
}

.blogdate {
	font-size: 14px;
	text-align: right;
}

.blogdate_memory {
	bottom: 10px;
	line-height: 1em;
	right: 0;
	position: absolute;
}

/* about_covid */
.about_covid {
  text-align: center;
  font-size: 12px;
  padding: 10px;
  margin-bottom: 20px;
  border: 4px solid #f00;
}
.about_covid .mb-1 {
  margin-bottom: 10px;
}

/* about_saihakken */
.about_saihakken {
  padding-bottom:10px;
}
.about_saihakken img {
  width:100%;
}


/*******************************************************************************
 max-width:750px
*******************************************************************************/
@media screen and (max-width: 750px) {
	/*---------------------------------
	  contents > Layout
	---------------------------------*/
.content {
	width: 100%;
}

.mainimage,.bg-bnr-image {
	display: none;
}

.sp_mainimage,.sp_bg-bnr-image {
	display: block;
        margin: 0 auto 10px;
	width: 100%;
}

.banner_area {
	float: none;
	margin:0 0 16px;
	width: 100%;
}

.plan_ranking {
	margin: 10px 0 0;
	width: 100%;
}

.tit_list {
	font-size: 16px;
}

.wrap_under {
	margin:0;
}

/* 1カラムの場合は以下削除 */
.plan_category {
	float: none;
	width: 100%;
}

.blogcontent {
	float: none;
	margin: 0 0 30px;
	width: 100%;
}

.sidebar_top {
	float: none;
	width: 100%;
}
/*---------------------------------
  banner
  ---------------------------------*/
.bx-wrapper {
	margin: 0 auto 30px;
	width: 90%;
}

.bx-wrapper .bx-viewport {
	height: auto !important;
	box-shadow: none;
}

.bx-wrapper .bx-pager.bx-default-pager a {
	background: #ccc;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover, .bx-wrapper .bx-pager.bx-default-pager a.active {
	background: #0070ad;
}

.bnr_square, .bnr_square:last-of-type {
	display: block;
	margin: 0 auto;
}

/*---------------------------------
  ranking
  ---------------------------------*/
.ranking_plan_box {
	min-height: 186px;
}

.ranking_plan_left {
	margin-left: 2%;
	width: 164px;
}

.icon_ranking {
	width: 20%;
}

.img_ranking {
	height: auto;
	margin: 48px 0 0 2%;
	width: 164px;
}

.ranking_plan_right {
	margin-left: 200px;
	padding-right: 2%;
}

/*---------------------------------
  activityplan
  ---------------------------------*/
.tit_category {
	margin-bottom: 16px;
	padding: 0 2% 4px;
}

.category_box {
	margin: 0 2%;
}

.category_menu {
	height: 16%;
	margin: 0 2% 2% 0;
	width:23.5%;
}

.category_menu:nth-of-type(3n) {
	margin: 0 2% 2% 0;
}

.category_menu:nth-of-type(4n) {
	margin: 0 0 2% 0;
}

.category_name {
	font-size: 13px;
}

.site_description{
	display: none;
}

.sp_site_description{
	display: block;
	font-size: 13px;
	margin: 10px 2%;
	text-align: center;
	width: 96%;
}
/*---------------------------------
  newplan
  ---------------------------------*/
.new_plan_list {
	padding:16px 2%;
}
.new_plan_box {
	float: none;
	margin: 0 0  30px 0;
	padding: 2%;
	width: 100%;
}

.newplanbox_link {
	display: block;
	max-height: 500px;
	overflow: hidden;
	position: static;
}

.img_new {
	height: auto;
}

.new_plan_box_catearea {
	margin-top: 20px;
}

/*---------------------------------
  information
  ---------------------------------*/
.info_blog_list, .memory_blog_list {
	font-size: 14px;
	padding: 0;
}

.info_blog_box {
	padding: 4px 2%;
}

.memory_blog_box {
	min-height: 100px;
	padding: 10px 2%;
}

.img_memory {
	margin: 10px 0 0 2%;
}

.blogtitle_memory {
	font-size: 14px;
}

.blogtitle_info a:hover, .memory_blog_box:hover .blogtitle_memory {
	color: #0070ad;
	text-decoration: underline;
}

.blogdate_memory {
	right: 2%;
}

.contents_box {
	width:660px;
	float:left;
	margin-right:20px;
}

}/* max-width:750px ***********************************************************/

/*******************************************************************************
 max-width:420px
*******************************************************************************/
@media screen and (max-width: 420px) {
/*---------------------------------
  ranking
  ---------------------------------*/
.ranking_plan_left {
	width: 112px;
}

.icon_ranking {
	width: 30%;
}

.img_ranking {
	width: 112px;
}

.ranking_plan_right {
	margin-left: 142px;
}

/*---------------------------------
  activityplan
  ---------------------------------*/
.category_menu {
	width:32%;
}

.category_menu:nth-of-type(4n) {
	margin: 0 2% 2% 0;
}

.category_menu:nth-of-type(3n) {
	margin: 0  0 2% 0;
}

.category_name {
	font-size: 12px;
}

/*---------------------------------
  newplan
  ---------------------------------*/
.new_plan_box {
	margin: 0 0 20px 0;
}

.newplanbox_link {
	max-height: 300px;
}

/*---------------------------------
  information
  ---------------------------------*/
.memory_blog_box {
	min-height: 80px;
}

.img_memory {
	width: 80px;
}

.blogtitle_memory {
	margin-left: 100px;
}

}/* max-width:420px ***********************************************************/



.renewal-sp {
  display: none;
}
.renewal-2026 {
  margin: 40px auto;
  border: 6px solid #ff0000;
  padding: 34px 34px 68px;
}
.renewal-2026__title {
  color: #ff0000;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  font-size: 28px;
}
.renewal-2026__title span {
  display: block;
  font-size: 20px;
}
.renewal-2026__wrapper {
  display: flex;
  gap: 40px;
  margin: 40px 0 0;
}
.renewal-2026__contents {
  width: 430px;
  text-align: center;
}
.renewal-2026__departure {
  font-size: 16px;
  font-weight: 700;
  color: #212121;
  padding: 10px 0;
  background: #efefef;
}
.renewal-2026__text {
  font-size: 14px;
  color: #212121;
  margin: 12px 0;
}
.renewal-2026__btn {
  height: 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 380px;
  background: #efefef;
  font-size: 16px;
  color: #212121;
  font-weight: 900;
  border-radius: 45px;
  text-decoration: none;
  transition: opacity 0.3s ease;
  margin: auto;
}
a.renewal-2026__btn {
  position: relative;
  overflow: hidden;
  background-image: url(../imgs/renewal_2026_bg.png);
  background-position: 12px 6px;
  background-repeat: no-repeat;
}
a.renewal-2026__btn::before {
  content: "";
  position: absolute;
  width: 23px;
  height: 23px;
  background: url(../imgs/renewal_2026_icon.png) no-repeat 0 0 / cover;
  top: 50%;
  transform: translateY(-50%);
  right: 30px;
}
.renewal-2026__btn span {
  font-size: 16px;
  font-weight: 400;
}
a.renewal-2026__btn:hover {
  opacity: 0.7;
}
.new .renewal-2026__departure,
.new .renewal-2026__btn {
  background-color: #1778b1;
  color: #efefef;
}
.new .renewal-2026__btn {
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
@media (max-width: 769px) {
  .renewal-sp {
    display: block;
  }
  .renewal-2026 {
    padding: 18px;
  }
  .renewal-2026__wrapper {
    flex-direction: column;
    gap: 30px;
    margin: 30px 0 0;
  }
  .renewal-2026__contents {
    width: 100%;
    text-align: center;
  }
  .renewal-2026__departure {
    padding: 4px;
    font-size: 16px;
  }
  .renewal-2026__title {
    font-size: 20px;
  }
  .renewal-2026__title span {
    font-size: 15px;
  }
  .renewal-2026__text {
    font-size: 12px;
  }
  .renewal-2026__btn {
    width: 320px;
    height: 54px;
    font-size: 16px;
  }
  a.renewal-2026__btn::before {
    width: 14px;
    height: 14px;
  }
  .renewal-2026__btn span {
    font-size: 12px;
  }
}
