@charset "utf-8";
/* CSS Document */
/*--------------------修正追記--------------------*/
.d_i_block {display: inline-block;}
.d_inline {display: inline;}
.sup {
	vertical-align: super;
	font-size: 55%;
	margin-left: 3px;
}
/*----- リード文 -----*/
.otoku_text img[src*=jrepoint] {
	height: 35px;
	margin: 0 4px -1px;
}
/*----- 例えば -----*/
.example_wrapper.new {
	display: block;
	padding: 12px 20px 20px;
}
.example_ttl_wrap, .example_case {
	width: 50%;
}
.example_wrapper.new .example_ttl {font-size: 2rem;}
.example_case {
	margin-left: 65px;
	font-size: 1.6rem;
}
.wrap_otoku_ex {
	display: -webkit-flex;
	display: flex;
}
.example_wrapper.new .otoku_example {
	padding: 0 0 0 10px;
	display: -webkit-flex;
	display: flex;
}
.example_wrapper.new .otoku_example:nth-of-type(2n+1) {
	padding: 0 10px 0 0;
}
.example_wrapper.new .otoku_example:nth-of-type(2) {
	position: relative;
}
.example_wrapper.new .example_text {
	margin: 42px auto 0;
	padding: 10px 10px 15px;
	width: 100%;
	text-align: center;
}
.example_border {
	border-bottom: 1px dashed #808080;
	text-align: center;
	margin-bottom: 10px;
}
.text_mini {
	height: 56px;
	font-size: 1.1rem;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
.text_mini span {margin-top: -5px;}
.top_circle {position: relative;}
.top_circle::before {
	position: absolute;
	content: "";
	background: #4d4d4d;
	width: 2px;
	height: 2px;
	border-radius: 50%;
	top: -4px;
	left: 50%;
	margin-left: -1px;
}
.green_text {
	color: #00833e;
	font-size: 2.5rem;
	font-weight: bold;
}
.vertical_center img, .vertical_center p {vertical-align: middle;}
.point_what {
	line-height: 1;
	margin-top: 3px;
}
.point_center {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}
img[src*=jrelogo].size01 {width: 37px;}
img[src*=jrelogo].size02 {width: 32px;}
img[src*=jrelogo].size03 {width: 30px;}
/* リボン青枠 */
.further_box {
	background: #f5f9fc;
	border-radius: 10px;
	border: 2px solid #4c85ad;
	padding: 25px 20px 10px;
	position: absolute;
	top: -44px;
	left: 50%;
	margin-left: -213px;
}
.further_box::before {
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 13px 0 13px;
	border-color: #4c85ad transparent transparent transparent;
	bottom: -14px;
	left: 50%;
	margin-left: -13px;
}
.further_ttl {
	position: absolute;
	top: -25px;
	left: 50%;
	width: 320px;
	margin-left: -160px;
}
.further_box p span {vertical-align: bottom;}
.yen_img {margin-right: 5px;}
.yen_img[src*="1000"] {width: 108px; margin-bottom: 1px;}
.yen_img[src*="5pt"] {width: 112px; margin-bottom: 2px;}
/* + */
.point_add {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;margin-bottom: 35px;
	position: relative;
}
.point_add::before,.point_add::after {
	position: absolute;
	content: "";
}
.point_add::before {
	width: 80%;
	height: 14px;
	border: 2px solid #999;
	bottom: -12px;
	border-top: none;
}
.point_add::after {
	width: 12px;
	height: 12px;
	background: #fff;
	border-bottom: 2px solid #999;
	border-right: 2px solid #999;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	bottom: -18px;
	left: 50%;
	margin-left: -20px;
}
.point_add div+div {
	margin-left: 65px;
	position: relative;
}
.point_add div+div::before,.point_add div+div::after {
	position: absolute;
	content: "";
	width: 6px;
	height: 26px;
	background: #4d4d4d;
	top: 50%;
	left: -35px;
	margin-top: -5px;
}
.point_add div+div::after {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}
/*----- お得に使える -----*/
.ex_3use {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.ex_3use li {
	background: #e1f7f7;
	width: 310px;
	text-align: center;
	padding: 22px 30px;
}
.ex_3use li .fs_16.bold {margin-bottom: 6px;}
.illust_box {
	background: #fff;
	width: 220px;
	border-radius: 7px;
	margin: 0 auto 12px;
	padding: 18px;
}
.illust_box img {height: 70px;}
/*----- ボタン & バナー -----*/
.orange_btn p a {
	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>')
}
.decoration_text p::before {left: -20px;}
.decoration_text p::after {right: -20px;}
@media screen and (max-width:568px) {
	.sp_fs_12 {font-size: 1.2rem;}
	.sp_fs_15 {font-size: 1.5rem;}
	/*----- 例えば -----*/
	.example_wrapper.new {padding: 12px 10px 20px;}
	.example_ttl_wrap, .example_case {width: 100%;}
	.example_wrapper.new .example_ttl {font-size: 1.8rem;}
	.example_case {
		margin: 10px 0 0;
		font-size: 1.5rem;
		text-align: center;
	}
	.wrap_otoku_ex, .example_wrapper.new .otoku_example {
		display: block;
	}
	.example_wrapper.new .otoku_example {padding: 0;}
	.example_wrapper.new .otoku_example:nth-of-type(2n+1) {
		padding: 0 0 15px;
	}
	.example_wrapper.new .otoku_example:nth-of-type(2) {margin-top: 40px;}
	.example_wrapper.new .example_text {
		margin-top: 10px;
	}
	.text_mini {
		height: auto;
		margin: 15px auto 5px;
	}
	.text_mini span {margin-top: 0;}
	/* リボン青枠 */
	.further_box {
		padding: 14px 10px 12px;
		position: relative;
		top: 0;
		left: 0;
		margin-left: 0;
		text-align: center;
	}
	.further_box>p.bold>span {margin-top: 6px;}
	/* + */
	.point_add::before {
		width: 100%;
	}
	.point_add div+div {
		margin-left: 10%;
	}
	.point_add div+div::before, .point_add div+div::after {
		width: 4px;
		height: 18px;
		left: -16px;
		margin-top: 0;
	}
	/*----- お得に使える -----*/
	.ex_3use {
		display: block;
		padding: 0 10px;
	}
	.ex_3use li {
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		padding: 15px;
		width: 100%;
	}
	.ex_3use li+li {
		margin-top: 15px;
	}
	.illust_box {
		width: 30%;
		margin: 0;
		padding: 5% 4%;
	}
	.ex_3use li:nth-of-type(3) .illust_box {
		padding: 5% 5.3%;
	}
	.illust_box img {
		height: auto;
	}
	.ex_3use li div:nth-of-type(2) {
		flex: 1;
		margin-left: 10px;
	}
	/*----- ボタン & バナー -----*/
	.decoration_text {padding: 0 20px; width: 100%;}
	.decoration_text p::before {left: -8px;}
	.decoration_text p::after {right: -8px;}
}


/*----------背景色----------*/
.bg_blue01 {background-color: #f0fbff;}
.bg_blue02 {background-color: #dcf0f7;}
.bg_yellow01 {background-color: #fcfae6;}

/*----------文字サイズ----------*/
.fs_10 {font-size: 1rem;}
.fs_12 {font-size: 1.2rem;}
.fs_13 {font-size: 1.3rem;}
.fs_14 {font-size: 1.4rem;}
.fs_15 {font-size: 1.5rem;}
.fs_16 {font-size: 1.6rem;}
.fs_20 {font-size: 2rem;}
.fs_22 {font-size: 2.2rem !important;}
.bold {font-weight: bold;}

/*----------マウスオン----------*/
a img:hover {opacity: 0.8;}

/*----------タイトル----------*/
.ttl_wrap {
	border-bottom: 2px solid #3782b5;
	position: relative;
	background-color: #f0fbff;
	display: inline-block;
	width: 100%;
	padding: 8px 10px 0px;
}
.ttl_wrap::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	background-color: #3782b5;
	bottom: -6px;
	left: 0;
}
h4{
	font-size: 2rem;
}
.ttl_upper p {
	display: inline-block;
	position: relative;
	padding: 0px 22px;
}
.ttl_upper p::before,
.ttl_upper p::after {
	position: absolute;
	content: "";
	display: block;
	top: 5px;
	width: 2px;
	height: 20px;
	background-color: #4d4d4d;
}
.ttl_upper p::before {
	left: 9px;
	-webkit-transform: rotate(-27deg);
	transform: rotate(-27deg);
}
.ttl_upper p::after {
	right: 10px;
	-webkit-transform: rotate(27deg);
	transform: rotate(27deg);
}

/*----------例えば----------*/
.example_wrapper,
.example_ttl_wrap,
.point_wrap,
.otoku_wrap {
	display: -webkit-flex;
	display: flex;
}
.example_wrapper {
	background-color: #fcfae6;
	border-top: 3px solid #f5daa2;
	border-bottom: 3px solid #f5daa2;
	position: relative;
}
.example_wrapper::after {
	position: absolute;
	display: block;
	content: "";
	width: 24px;
	height: 24px;
	bottom: -14px;
	left: 50%;
	margin-left: -12px;
	border-top: 3px solid #f5daa2;
    border-right: 3px solid #f5daa2;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
	background-color: #fcfae6;
}
.otoku_example {
	padding: 10px;
	width: 50%;
}
.otoku_example:nth-of-type(2n+1) {
	border-right: 1px dashed #ccc;
}
.point_wrap,
.example_ttl_wrap,
.otoku_wrap {
	-webkit-align-items: center;
	align-items: center;
}
.example {
	color: #fff;
	display: inline-block;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: #0367ac;
	text-align: center;
	line-height: 60px;
	margin-right: 5px;
}
.example_ttl {
	font-weight: bold;
	/*font-size: 1.8rem;*/
	border-bottom: 2px solid #3782b5;
	padding: 0 5px;
	flex: 1;
}
.example_text {
	background-color: #fff;
	padding: 10px;
	margin: 20px 0 10px;
}
.point_wrap {
	padding-left: 3px;
}
.get_point {
	margin: 0 2px 0 30px;
	position: relative;
}
.get_point::before,
.get_point::after {
	position: absolute;
	display: block;
	content: "";
}
.get_point::before {
	width: 15px;
	height: 2px;
	top: 50%;
	left: -26px;
	background-color: #104b74;
}
.get_point::after {
	width: 8px;
	height: 8px;
	top: 50%;
	left: -18px;
	border-top: 2px solid #104b74;
    border-right: 2px solid #104b74;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
	margin-top: -3px;
}
.money_total {
	margin-top: 4px;
}
.tax {
	margin-left: -3px;
}
.yen {
	margin-left: 2px;
}
.blue_text {
	color: #0367ac;
	font-size: 2.4rem;
	margin-top: 3px;
	font-weight: bold;
}
.red_text {
	color: #d93434;
	font-size: 2.8rem;
	margin-top: -5px;
}
.red_marker {
	background: linear-gradient(transparent 68%,#ffd6d6 60%);
	padding: 0px 2px 0 4px;
	line-height: 1.4;
}

/*----------オトクに使えます！----------*/
.more_wrap {
	text-align: center;
}
.more_box {
	display: inline-block;
}
.more_link {
	text-align: right;
	margin-top: 8px;
}
/*.more_link .outside_icon {padding: 6px 5px 6px 20px;}*/

/*----------お申込みはこちら----------*/
.orange_btn {
	text-align: center;
}
.orange_btn p {
	display: inline-block;
}
.orange_btn p a {
	display: block;
	padding: 10px 50px;
	background-color: #e58517;
	color: #fff;
	text-decoration: none;
	font-size: 2rem;
	/*background-image: url("/content/dam/jretravel/site/common/images/outside_icon_w.png");*/
	background-repeat: no-repeat;
	background-position: 20px 20px;
	background-size: 18px 16px;
	position: relative;
	box-shadow: 0 5px #944b03;
	margin-top: 3px;
}
.orange_btn p a::after {
	position: absolute;
	display: block;
	content: "";
	width: 10px;
	height: 10px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(-45deg);
	-webit-transform: rotate(-45deg);
	top: 50%;
	right: 20px;
	margin-top: -5px;
}
.orange_btn p a:hover {
	box-shadow: 0 0;
	margin: 9px 0 -6px;
}

/*----------テキスト強調----------*/
.decoration_text {
	text-align: center;
}
.decoration_text p {
	display: inline-block;
	position: relative;
}
.decoration_text p::before,
.decoration_text p::after {
	position: absolute;
	display: block;
	content: "";
	bottom: -2px;
	width: 1px;
	height: 20px;
	background-color: #4d4d4d;
}
.decoration_text p::before {
	/*left: -20px;*/
	-webkit-transform: rotate(-27deg);
	transform: rotate(-27deg);
}
.decoration_text p::after {
	/*right: -17px;*/
	-webkit-transform: rotate(27deg);
	transform: rotate(27deg);
}


@media screen and (max-width:568px){
	/*----------文字サイズ----------*/
	.sp_fs_12 {
		font-size: 1.2rem;
	}
	.sp_fs_14 {
		font-size: 1.4rem;
	}
	.sp_fs_16 {
		font-size: 1.6rem;
	}
	
	/*----------タイトル----------*/
	.ttl_upper p {
		padding: 0 14px;
	}
	.ttl_upper p::before {
		left: 0px;
	}
	.ttl_upper p::after {
		right: 2px;
	}
	
	/*----------例えば----------*/
	.example_wrapper,
	.point_wrap {
		display: block;
	}
	.example_wrapper {
		padding: 3px 0;
	}
	.otoku_example {
		width: 100%;
		padding: 10px 10px;
	}
	.otoku_example:nth-of-type(2n+1) {
		border-right: none;
		border-bottom: 1px dashed #ccc;
		margin-bottom: 5px;
	}
	.example_text {
		margin: 10px 0 10px;
	}
	.point_wrap {
		padding: 0 5px;
	}
	.get_point {
		margin: 30px 0 12px;
	}
	.get_point::before {
		top: -20px;
		left: 30px;
		-webkit-transform: rotate(90deg);
		transform: rotate(90deg);
	}
	.get_point::after {
		top: -15px;
		left: 33px;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
	}
	.money_total {
		margin-top: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}
	.tax {
		margin: 0 3px 0 -3px;
	}
	.blue_text {
		font-size: 2.4rem;
		margin-top: 0;
	}
	.red_text {
		font-size: 2.4rem;
		margin-top: -3px;
	}
	.red_marker {
		padding: 0 0 0 2px;
		line-height: 1.7;
	}
	.point_3tomes {
		width: 98px;
	}
	
	/*----------オトクに使えます！----------*/
	.more_wrap {
		padding: 0px 10px;
	}
	.more_box {
		display: inline;
	}
	.otoku_text {
		display: inline;
	}
	
	/*----------お申込みはこちら----------*/
	.orange_btn p a {
		padding: 10px 33px 10px 36px;
		font-size: 1.8rem;
		background-position: 10px center;
		background-size: 15px 13px;
	}
	.orange_btn p a::after {
		right: 16px;
	}
	
	/*----------テキスト強調----------*/
	.decoration_text p::before,
	.decoration_text p::after {
		bottom: 0px;
	}
	.decoration_text p::before {
		/*left: 2px;*/
		-webkit-transform: rotate(-30deg);
		transform: rotate(-30deg);
	}
	.decoration_text p::after {
		/*right: 2px;*/
		-webkit-transform: rotate(30deg);
		transform: rotate(30deg);
	}
}
