@charset "utf-8";
/* CSS Document */

.bg_01 {
	background: -webkit-linear-gradient(top,  #003366 80%,#2170af 100%);
	background: linear-gradient(to bottom,  #003366 80%,#2170af 100%);
}
.bg_b_img {
	background: url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_hanabi2204.png") repeat-x bottom -1px left 0/100%;
	padding-bottom: 5%;
}
.bg_02 {
	background: #154273;
	overflow: hidden;
	position: relative;
}
.bg_02::before {
	position: absolute;
	content: "";
	width: 100%;
	height: 300px;
	bottom: 0;
	background: -webkit-linear-gradient(top,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.01) 1%,rgba(35,88,146,0.65) 100%);
	background: linear-gradient(to bottom,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.01) 1%,rgba(35,88,146,0.65) 100%); 
}
/*.bg_03 {
	background: #0c3562;
}*/

.bg_01 p,.bg_02 p,.bg_03 p {color: #fff;}
/*検索パネル*/
.topSearchArea .notes p {color: inherit;}

/*------------------------ ナビ ------------------------*/
.naviArea .nav_top,
.naviArea3 .nav_top {
	padding: 0 10px;
  position: relative;/*h2paddingに被る対策*/
  z-index: 1;/*h2paddingに被る対策*/
}
.naviArea .nav_top li,
.naviArea3 .nav_top li {
	border: none;
	border-left: 1px solid #fff;
	margin-bottom: 10px;
	height: auto;
}
.naviArea .nav_top li:nth-of-type(2n+1),
.naviArea3 .nav_top li:nth-of-type(2n) {
	border-right: 1px solid #fff;
}
.naviArea .nav_top li a span,
.naviArea3 .nav_top li a span {
	line-height: 1.5;
	padding: 10px 35px 10px 10px;
	position: relative;
}
.naviArea .nav_top li a span::after,
.naviArea3 .nav_top li a span::after {
	position: absolute;
	content: "";
	top: 50%;
	right: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(135deg);
	width: 8px;
	height: 8px;
	margin: -4px 0 0;
}

/*------------------------ リード文 ------------------------*/
.tx_lead {margin: 2% auto 3%;}

/*------------------------ タイトル ------------------------*/
.feature .section.ttl_box,
.title .section.ttl_box {
	text-align: center;
}
.feature .section.ttl_box > a,
.title .section.ttl_box > a {
	display: inline-block;
	position: relative;
}
.feature .section.ttl_box > a::before,
.feature .section.ttl_box > a::after,
.title .section.ttl_box > a::before,
.title .section.ttl_box > a::after {
	position: absolute;
	content: "";
}
.feature .section.ttl_box.sp_bg01 > a,
.title .section.ttl_box.sp_bg01 > a {padding: 40px 0 3px;}
.feature .section.ttl_box.sp_bg01 > a::before,
.title .section.ttl_box.sp_bg01 > a::before {
	background: url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_ttl01_l.png") no-repeat 0 0/100%;
	width: 106px;
	height: 95px;
	top: 0px;
	left: -38px;
}
.feature .section.ttl_box.sp_bg01 > a::after,
.title .section.ttl_box.sp_bg01 > a::after {
	background: url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_ttl01_r.png") no-repeat 0 0/100%;
	width: 98px;
	height: 95px;
	top: 9px;
	right: -50px;
}
.feature .section.ttl_box.sp_bg02 > a,
.title .section.ttl_box.sp_bg02 > a {padding: 38px 0 5px;}
.feature .section.ttl_box.sp_bg02 > a::before,
.title .section.ttl_box.sp_bg02 > a::before {
	background: url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_ttl02_l.png") no-repeat 0 0/100%;
	width: 82px;
	height: 82px;
	top: 10px;
	left: -35px;
}
.feature .section.ttl_box.sp_bg02 > a::after,
.title .section.ttl_box.sp_bg02 > a::after {
	background: url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_ttl02_r.png") no-repeat 0 0/100%;
	width: 115px;
	height: 108px;
	top: 0px;
	right: -45px;
}
.feature .section.ttl_box:not([class*="sp_bg"]) > a,
.title .section.ttl_box:not([class*="sp_bg"]) > a {
	padding: 10px 0;
}

.feature .section.ttl_box h2,
.title .section.ttl_box h2 {
	font-family: "游明朝", "ヒラギノ明朝", "serif";
	font-size: 2.1rem;
	font-weight: bold;
	color: #fff;
	background: #154273;
	padding: 7px 24px 6px;
	margin: auto;
	position: relative;
	z-index: 10;
}
.feature .section.ttl_box h2::before,
.title .section.ttl_box h2::before {
	position: absolute;
	content: "";
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	top: 3px;
	left: 3px;
	border: 1px solid #fff;
}
.bg_01 .feature .section.ttl_box h2,
.bg_02 .feature .section.ttl_box h2,
.bg_01 .title .section.ttl_box h2,
.bg_02 .title .section.ttl_box h2 {
	color: #032142;
	background: #fff;
}
.bg_01 .feature .section.ttl_box h2::before,
.bg_02 .feature .section.ttl_box h2::before,
.bg_01 .title .section.ttl_box h2::before,
.bg_02 .title .section.ttl_box h2::before {
	border-color: #036;
}
.feature .section.ttl_box a:hover, .title .section.ttl_box a:hover {
	opacity: 1;
}

/*------------------------ content ------------------------*/
.cmn_contents.box_content {padding: 0 10px 20px;}

.ttl_content {
	margin-bottom: .7rem;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
.ttl_content > .area_hanabi {
	padding-right: 10px;
}
.ttl_content .area_hanabi span {
	display: inline-block;
	margin-right: 2px;
}
.ttl_content .area_hanabi span + span {
	margin-right: 0;
}
.ttl_content > .name_hanabi {
	font-size: 2rem;
	font-weight: bold;
}
.ttl_content > .ttl_line {
	width: 100%;
	border-top: 1px solid #fff;
	flex: 1;
	margin-left: 10px;
}

.thumbnailImage .swichi_box {width: 100%;}
.thumbnailImage .swichi_box img {border: 1px solid #fff;}
.swichi_mv:not([title=""]):after {margin: -42px 1px 0;}

p.ttl_table,
.top .section.ttl_hotel > a > h4 {
	color: #eaca58;
	font-weight: bold;
	font-size: 1.6rem;
	border-bottom: 1px dotted;
	padding: 0 1% 0.8%;
}
.top .section.ttl_hotel {padding: 0 1% 0.8%;}

table.table_info {margin-bottom: 1%;}
table.table_info tr th,
table.table_info tr td,
table.table_info tr td a {
	color: #fff;
}
table.table_info tr {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin: 3% auto;
	position: relative;
}
table.table_info tr::before {
	position: absolute;
	content: "";
	height: 100%;
	left: 6.8em;
	border-right: 1px solid #fff;
}
table.table_info tr th {
	text-align: right;
	width: 6em;
	margin-right: 1.6em;
}
table.table_info tr td {flex: 1;}
table.table_info tr td a {
	text-decoration: underline;
	word-break: break-all;
}
table.table_info tr td a.outside_icon {
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12"><path d="M302.64,421.91v2.61h-8.15v-8.15h2.61m6.44,3.81v-4.71h-4.71m-.9,5.5,5.29-5.3m-10.68,2.66v8.14h8.14" transform="translate(-292.04 -414.97)" fill="none" stroke="%23fff" stroke-miterlimit="10"/></svg>');
}

/*------------------------ 商品コンポーネント ------------------------*/
.box_content .base_prod.responsivegrid.bgc.side_box > .base_prod {
	margin: 0;
	width: 100%;
}
.box_content .base_prod.bgc.bdr_btm li {
	border-bottom: none;
	border-radius: 3px;
}
.base_prod .hotel li>a p {color: #222;}

/*------------------------ ボタン ------------------------*/
.btn_hanabi a {
	color: #032142;
	background: #eaca58;
	display: block;
	font-weight: bold;
	padding: 12px 32px 12px 10px;
	border-radius: 3px;
	text-align: center;
	position: relative;
	border: 2px solid #154273;
}
.bg_01 .btn_hanabi a,
.bg_02 .btn_hanabi a {
	border: none;
}
.btn_hanabi a::before {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #032142;
	border-right: 2px solid #032142;
	top: 50%;
	right: 25px;
	margin-top: -6px;
	transform: rotate(135deg);
}
.btn_hanabi.m_10 {margin: 10px;}

/*------------------------ バナー ------------------------*/
.tyo_otherarea_banner .textitem {
	padding-left: 2rem;
	position: relative;
}
.tyo_otherarea_banner .textitem::before,
.tyo_otherarea_banner .textitem::after {
	position: absolute;
	content: "";
}
.tyo_otherarea_banner .textitem::before {
	width: 1.4rem;
	height: 1.4rem;
	background: #154273;
	top: 0.2rem;
	left: 0.1rem;
	border-radius: 50%;
}
.tyo_otherarea_banner .textitem::after {
	width: .7rem;
	height: .7rem;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	top: .55rem;
	left: .35rem;
	transform: rotate(45deg);
}
.bg_01 .tyo_otherarea_banner .textitem::before,
.bg_02 .tyo_otherarea_banner .textitem::before {
	background: #eaca58;
}
.bg_01 .tyo_otherarea_banner .textitem::after,
.bg_02 .tyo_otherarea_banner .textitem::after {
	border-color: #032142;
}
.tyo_otherarea_banner .listitem2 a img:hover {opacity: .8;}

/*------------------------ 記事 ------------------------*/
.hanabi_ac {padding: 5px 10px 0;}
.hanabi_ac .ac_i_box {width: 45%;}
.hanabi_ac .ac_t_box {width: 52%;}
.hanabi_ac > ul > li {margin-bottom: 25px;}

.hanabi_ac .ac_i_box img {border: 1px solid #fff;}
.hanabi_ac .ac_t_box .ac_ttl .ac_area {
	padding-left: 17px;
	position: relative;
}
.hanabi_ac .ac_t_box .ac_ttl .ac_area::before,
.hanabi_ac .ac_t_box .ac_ttl .ac_area::after {
	position: absolute;
	content: "";
}
.hanabi_ac .ac_t_box .ac_ttl .ac_area::before {
	width: 12px;
	height: 12px;
	top: 2px;
	left: 0;
	border-radius: 50%;
	border-bottom-right-radius: 0;
	background: #ffc66b;
	background: #e0992f;
	transform: rotate(45deg);
}
.hanabi_ac .ac_t_box .ac_ttl .ac_area::after {
	width: 4px;
	height: 4px;
	top: 6px;
	left: 4px;
	background: #0c3560;
	background: #fff;
	border-radius: 50%;
}
.hanabi_ac .ac_t_box .ac_ttl .fw_ttl {
	font-weight: bold;
	font-size: 1.8rem;
	/*color: #ffc66b;*/
	color: #e0992f;
	padding: 2px 0 3px;
	border-bottom: 1px solid /*#eab158*/#e0992f;
}
.hanabi_ac .ac_t_box .ac_ttl {
	/*color: #fff;*/
	color: #222;
}
.hanabi_ac .ac_t_box .ac_txt {
	margin: 5px 0 3px;
}
.hanabi_ac .ac_t_box .link_more a {
	/*color: #ffc66b;*/
	color: #e0992f;
	font-size: 1.5rem;
	font-weight: bold;
	position: relative;
}
.hanabi_ac .ac_t_box .link_more a::before {
	position: absolute;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid #e0992f/*#ffc66b*/;
	border-right: 2px solid #e0992f/*#ffc66b*/;
	top: 50%;
	right: -15px;
	margin-top: -4px;
	transform: rotate(45deg);
}

@media screen and (min-width: 569px) {
	.bg_b_img {
		background-size: 64%;
	}
	/*------------------------ ナビ ------------------------*/
	.naviArea .nav_top,
	.naviArea3 .nav_top {
		padding: 0 20px;
		display: -webkit-flex;
		display: flex;
	}
	.naviArea .nav_top li {
		width: 100%;
	}
	.naviArea .nav_top li:nth-of-type(2n+1),
	.naviArea3 .nav_top li:nth-of-type(2n) {
		border-right: none;
	}
	.naviArea .nav_top li:nth-last-of-type(1),
	.naviArea3 .nav_top li:nth-last-of-type(1) {
		border-right: 1px solid #fff;
	}
	.naviArea .nav_top li a span::after,
	.naviArea3 .nav_top li a span::after {
		right: 20px;
	}
	/*------------------------ タイトル ------------------------*/
	.feature .section.ttl_box.sp_bg01 > a,
	.title .section.ttl_box.sp_bg01 > a,
	.feature .section.ttl_box.sp_bg02 > a,
	.title .section.ttl_box.sp_bg02 > a {
		padding: 0;
	}
	.feature .section.ttl_box.sp_bg01 > a::before,
	.feature .section.ttl_box.sp_bg01 > a::after,
	.title .section.ttl_box.sp_bg01 > a::before,
	.title .section.ttl_box.sp_bg01 > a::after,
	.feature .section.ttl_box.sp_bg02 > a::before,
	.feature .section.ttl_box.sp_bg02 > a::after,
	.title .section.ttl_box.sp_bg02 > a::before,
	.title .section.ttl_box.sp_bg02 > a::after {
		display: none;
	}
	.feature .section.ttl_box,
	.title .section.ttl_box {
		text-align: center;
		margin: 40px auto 10px;
	}
	.feature .section.ttl_box h2,
	.title .section.ttl_box h2 {
		font-size: 2.6rem;
	}
	/*------------------------ content ------------------------*/
	.bg_01 .cmn_contents.box_content {
		padding: 10px 20px 20px;
		background: #0c477a;
		border-radius: 15px;
		filter: drop-shadow(0 0 13px #003366);
	}
	.ttl_content > .name_hanabi {
		font-size: 2.3rem;
	}
	
	/*------------------------ ボタン ------------------------*/
	.btn_hanabi.m_10 {text-align: center;}
	.btn_hanabi.m_10 a {
		display: inline-block;
		min-width: 200px;
	}
	
	/*------------------------ 記事 ------------------------*/
	.hanabi_ac {padding: 15px 0;}
	.hanabi_ac > ul {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.hanabi_ac > ul > li {
		width: 49%;
		margin-bottom: 30px;
	}
	.hanabi_ac > ul > li:nth-of-type(2n+1) {margin-right: 1%;}
	.hanabi_ac > ul > li:nth-of-type(2n) {margin-left: 1%;}
	.hanabi_ac > ul > li .ac_i_box {
		display: inline-block;
		vertical-align: top;
		margin-right: 2%;
	}
	.hanabi_ac > ul > li .ac_t_box {
		display: inline-block;
	}
	.hanabi_ac .ac_t_box .ac_txt {
		margin: 6px 0;
	}
	
}

@media screen and (min-width: 1211px) {
	.bg_b_img {
		position: relative;
	}
	.bg_b_img::before {
		position: absolute;
		content: "";
		width: 100%;
		height: 50%;
		background: url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_hanabi2201.png") repeat-x 0 0/auto 100%;
		top: 28%;
	}
	.bg_lr_img {
		background-image: url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_hanabi2202.png"), url("/content/dam/jretravel/site/page/seasonal/hanabi/images/bg_hanabi2203.png");
		background-repeat: repeat-y;
		background-size: calc((100% - 1000px)*.45) auto, calc((100% - 1000px)*.45) auto;
		background-position: top 8% left -1%, top 8% right -1%;
	}
	.bg_02::after {
		position: absolute;
		content: "";
		width: 100%;
		height: 8%;
		background: -webkit-linear-gradient(top,  rgba(21,66,115,1) 50%,rgba(125,185,232,0) 100%);
		background: linear-gradient(to bottom,  rgba(21,66,115,1) 50%,rgba(125,185,232,0) 100%);
	}
	.cmn_contents.box_content,
	.bg_02 p {
		position: relative;
		z-index: 10;
	}
	
}