@charset "utf-8";

/*-- RETURN --*/





/*-- RETURN ベース --*/
	
	#return-section
	{
		padding-bottom: 1rem;
	}
		#return-section .summary > .desc
		{
			line-height: 1.6;
			background: rgba(255, 255, 255, .7);
			box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
		}
			
			#return-section h3
			{
				border-bottom: solid .2rem #334F7D;
				padding: .2rem .5rem .2rem 0;
				color: #334F7D;
				font-style: italic;
			}
			#return-section .summary > .desc .ul
			{
				margin: 1rem 0;
			}
			#return-section .summary > .desc em
			{
				font-weight: bold;
			}
			#return-section .summary .attention
			{
				color: #CC4998;
			}
			
		/*-- サイズ毎の処理 --*/
			
			@media screen and (min-width: 1225px)
			{
				#return-section .summary > .desc
				{
					margin: 1rem auto 2rem;
					padding: 1rem 2rem;
				}
			}
			@media screen and (max-width: 1224px) and (min-width: 725px)
			{
				#return-section .summary > .desc
				{
					margin: 1rem auto 2rem;
					padding: .5rem 1rem;
				}
			}
			@media screen and (max-width: 724px)
			{
				#return-section .summary > .desc
				{
					margin: 1rem auto 2rem;
					padding: .2rem .5rem;
				}
			}
			
/*-- ストレッチゴール --*/
	
	#stretch-goal
	{
	}
		
		#stretch-goal dl
		{
			margin: 1rem auto 2rem;
			padding: 1rem;
			background: rgba(255, 255, 255, .7);
			box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
		}
			
			#stretch-goal dt
			{
				display: flex;
				align-items: center;
				color: #090;
				font-size: 1rem;
			}
			#stretch-goal dt em
			{
				margin-left: 1rem;
				color: #E03F60;
				font-size: .8rem;
			}
			#stretch-goal dt em:before,
			#stretch-goal dt em:after
			{
				content: '◆';
			}
			#stretch-goal dd
			{
				font-size: 1.4rem;
			}
			#stretch-goal dd > .attention
			{
				margin-top: .5rem;
				padding: 0 2rem;
				font-size: .8rem;
			}
			#stretch-goal dd + dt,
			#stretch-goal dd + dd
			{
				margin-top: 2rem;
			}
			#stretch-goal dd + dd
			{
				line-height: 1.4;
				color: #195EBA;
				font-size: 1rem;
			}
			
		#stretch-goal > .desc
		{
			line-height: 1.6;
			margin: 1rem auto;
			border-radius: .5rem;
			padding: .5rem 3rem;
			background: rgba(216, 242, 201, .5);
			color: #060;
			box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
		}
			
	
/*-- RETURN 目次 --*/
	
	#return-list-index
	{
		margin: 1rem auto 2rem;
	}
		
		#return-list-index .course
		{
			margin: 1rem 0 2rem;
			padding: 0 1rem;
		}
			
			#return-list-index .course dt
			{
				padding: .2rem 1rem;
				background: #FCAAC1;
				color: #334F7D;
				box-shadow: .2rem .2rem .2rem rgba(51, 79, 125, .3);
			}
			#return-list-index .course + .course dt
			{
				background: #FCD35B;
			}
			
			#return-list-index .course dd
			{
				padding: .5rem 0;
			}
			
		#return-list-index ul
		{
			margin: 0;
		}
			
			#return-list-index li + li
			{
				margin-top: .2rem;
			}
			
			#return-list-index li a
			{
				display: block;
				border-radius: .5rem;
				padding: .5rem 1rem .5rem 2rem;
				background: transparent url('../list_item_sakura.png') 8px 50% no-repeat;
				background-size: 18px 18px;
			}
			#return-list-index .course.distant li a
			{
				color: #F041AD !important;
			}
			#return-list-index .course.ticket li a
			{
				color: #FC6B16 !important;
			}
		
		#return-list-index .attention
		{
			margin-top: 1rem;
			text-align: right;
			color: #CC4998;
			font-size: .8rem;
		}
		

	#return-list-index .course.distant a[href]:hover
	{
		background-color: rgba(252, 170, 193, .3) !important;
		color: #F041AD !important;
		text-shadow:
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8);
	}
	
	#return-list-index .course.ticket a[href]:hover
	{
		background-color: rgba(252, 188, 76, .3) !important;
		color: #FC6B16 !important;
		text-shadow:
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8),
			0 0 .2rem rgba(255, 255, 255, .8);
	}
	
	/*-- サイズ毎の処理 --*/
		
		@media screen and (min-width: 1225px)
		{
				#return-list-index li a span:nth-child(1)
				{
					font-size: 1.2rem;
				}
				#return-list-index li a span:nth-child(2)
				{
					margin-left: .5rem;
					font-size: 1rem;
				}
		}
		@media screen and (max-width: 1224px) and (min-width: 525px)
		{
				#return-list-index li a span:nth-child(1)
				{
					margin-left: .5rem;
					font-size: 1.2rem;
				}
				#return-list-index li a span:nth-child(2)
				{
					font-size: 1rem;
				}
		}
		@media screen and (max-width: 524px)
		{
			#return-list-index li a
			{
				display: flex;
				flex-flow: column;
			}
				
				#return-list-index li a span:nth-child(1)
				{
					font-size: 1.2rem;
					align-self: flex-start;
				}
				
				#return-list-index li a span:nth-child(2)
				{
					margin-left: .5rem;
					font-size: 1rem;
					align-self: flex-end;
				}
		}
		
		
/*-- CAMPFIRE リンクバナー --*/
	
	#crowdfanding-appeal-banner
	{
	}
		
		#crowdfanding-appeal-banner .centering
		{
			display: flex;
			flex-flow: column;
			align-items: center;
		}
			
			#crowdfanding-appeal-banner a
			{
				display: block;
				max-width: 100%;
				margin: 0 auto;
				padding: 0;
			}
			#crowdfanding-appeal-banner a:hover
			{
				background: rgba(255, 255, 255, .7) !important;
				box-shadow: 0 0 1rem rgba(240, 65, 173, .7);
			}
				
				#crowdfanding-appeal-banner img
				{
					display: block;
					width: 100%;
					max-width: 750px;
				}
				
			#crowdfanding-appeal-banner .attention
			{
				margin-top: .5rem;
				color: #CC4998;
				font-size: 1.4rem;
			}
			
			#crowdfanding-appeal-banner .annotation
			{
				margin-top: .5rem;
				text-align: center;
				color: #1C6BEF;
				font-size: 1.4rem;
			}
			
		@media screen and (max-width: 774px)
		{
			#crowdfanding-appeal-banner a
			{
				margin: 0 .5rem;
			}
			#crowdfanding-appeal-banner .attention,
			#crowdfanding-appeal-banner .annotation
			{
				font-size: 1rem;
			}
		}
		
		#crowdfanding-appeal-banner a.default
		{
			margin: 0;
			padding: 1rem;
			background: rgba(255, 255, 255, .7);
		}
			
			#crowdfanding-appeal-banner a.default span
			{
				white-space: nowrap;
			}
			
		#crowdfanding-appeal-banner a.default:hover
		{
			margin: 0;
			background: transparent !important;
			color: #F041AD !important;
		}

/*-- RETURN ページ内リンク --*/
	
	#return-section .area-map
	{
		display: block;
		margin-top: 1.5rem;
		border-radius: .5rem;
		padding: .5rem 1rem;
		color: #334F7D;
	}
	
	#return-section .return-compare-table
	{
		display: block;
		margin-top: .2rem;
		border-radius: .5rem;
		padding: .5rem 1rem;
		color: #334F7D;
	}
		





/*-- RETURN ITEM ページ内リンク --*/
	
	.internal-link
	{
		display: flex;
		flex-flow: column;
		align-items: flex-end;
		margin: .5rem 0 5rem;
	}
	
	.internal-link > .page
	{
		display: flex;
		margin: -.5rem 0 0 -1rem;
		padding: 0;
	}
		
		.internal-link > .page li
		{
			display: flex;
			justify-content: flex-end;
			margin: .5rem 0 0 1rem;
		}
		
	.internal-link > .course
	{
		display: flex;
		align-items: flex-end;
		line-height: 1;
		margin: .3rem 0 0;
	}
		
		.internal-link > .course dt
		{
			display: block;
			padding: 0 .5rem 0 0;
			color: #073;
			font-size: .8rem;
		}
		.internal-link > .course dd
		{
			display: block;
		}
			
			.internal-link > .course dd > ul
			{
				display: flex;
				justify-content: center;
				align-items: center;
				margin: -.5rem 0 0 -.5rem;
				padding: 0;
			}
			
				.internal-link > .course dd > ul li
				{
					display: block;
					margin: .5rem 0 0 .5rem;
					padding: 0;
				}
				
	.internal-link a
	{
		display: block;
	}
	




/*-- RETURN プラン --*/
	
	#return-section .return-plan
	{
		margin: 0 auto;
		border-style: solid;
		/*border-color: rgba(68, 204, 255, .7);*/
		border-radius: .5rem;
		box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
	}
	#return-section .return-plan.distant
	{
		border-color: rgba(240, 65, 173, .5);
	}
	#return-section .return-plan.ticket
	{
		border-color: rgba(252, 107, 22, .5);
	}
		
		#return-section .return-plan .name
		{
			display: flex;
			align-items: center;
			color: #FFF;
			font-weight: bold;
			font-style: normal;
		}
		
		#return-section .return-plan .frame
		{
			display: flex;
			justify-content: flex-start;
			margin: -.5rem 0 0 -.5rem;
			padding: .5rem;
		}
			
			#return-section .return-plan .plan-image
			{
				display: block;
				width: calc(50% - .5rem);
				margin: .5rem 0 0 .5rem;
			}
				
				#return-section .return-plan .plan-image img
				{
					display: block;
					width: 100%;
					height: auto;
					box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
				}
				
			#return-section .return-plan .frame > dl
			{
				display: block;
				width: calc(50% - .5rem);
				margin: .5rem 0 0 .5rem;
				color: #334F7D;
			}
				
				#return-section .return-plan .frame > dl > dt
				{
					padding: .2rem .5rem;
					background: rgba(255, 255, 255, .7);
					box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
					font-weight: bold;
					font-style: italic;
				}
				
				#return-section .return-plan .frame > dl > dd
				{
					margin: .15rem 0 0;
					padding: 0 .2rem;
					background: rgba(255, 255, 255, .7);
					box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
					font-size: .8rem;
				}
				
			#return-section .thumbs
			{
				display: flex;
				justify-content: stretch;
				align-items: stretch;
				width: 100%;
				margin: .2rem 0 .2rem -.5rem;
			}
				
				#return-section .thumbs a
				{
					display: flex;
					justify-content: center;
					align-items: center;
					width: calc(50% - .5rem);
					height: auto;
					margin: 0 0 0 .5rem;
					border: solid 1px #CCC;
					padding: 0;
					background: #FFF;
				}
					
					#return-section .thumbs img
					{
						width: 100%;
						height: auto;
						border-radius: .4rem;
					}
					
			
			/* 二列用オプション */
			#return-section .thumbs.double
			{
				display: flex;
				flex-flow: wrap;
				justify-content: flex-start;
				margin: -.5rem 0 0 -.5rem;
			}
			#return-section .thumbs.double a
			{
				margin: .5rem 0 0 .5rem;
			}
			
			/* 縦長用オプション */
			
			#return-section .thumbs.portrait a
			{
				width: auto;
				height: 140px;
			}
			
				#return-section .thumbs.portrait img
				{
					width: auto;
					height: 100%;
				}
				
			#return-section .return-plan .item small
			{
				display: none;
				text-align: right;
				color: #F5D;
			}
			
			#return-section .return-list > dd > ul > li
			{
				padding: .2rem;
			}
			#return-section .return-list > dd > ul > li + li
			{
				border-top: dotted 2px #CCC;
				padding: .2rem;
			}
			#return-section .return-plan li [data-pswp] a:hover
			{
				background: rgba(255, 255, 255, .7) !important;
				border-color: rgba(255, 255, 255, .7) !important;
				box-shadow: 0 0 1rem rgba(240, 65, 173, .7);
			}
			
		/*-- ディテール 構造 --*/
			
			#return-section .return-plan .details
			{
				
			}
				
				#return-section .return-plan .details > .summary
				{
					width: 5rem;
					margin: 0 0 0 auto;
					border: solid 1px #F77A26;
					border-radius: .3rem;
					padding: .2rem .5rem;
					background: #F4F7CE;
					color: #F77A26;
					text-align: center;
					cursor: pointer;
				}
				
				#return-section .return-plan .details > .summary:hover
				{
					box-shadow: 0 0 1rem rgba(247, 122, 38, .7);
				}
				
				#return-section .return-plan .details > .summary:after
				{
					content: '▼';
					padding: 0 0 0 .4rem;
				}
				
				#return-section .return-plan .details > .content
				{
					display: none;
					height: 0;
					border-radius: .3rem 0 .3rem .3rem;
					padding: .5rem .5rem;
					background: #F4F7CE;
				}
				
				#return-section .return-plan .details.open > .summary
				{
					border-color: transparent;
					border-radius: .3rem .3rem 0 0;
				}
				
				#return-section .return-plan .details.open > .summary:after
				{
					content: '▲';
				}
				
				#return-section .return-plan .details.open > .content
				{
					display: block;
					overflow: hidden;
					height: auto;
					color: #555;
				}
				
		/*-- ディテール 内部 --*/
			
			#return-section .return-plan .details > .content dl
			{
				display: flex;
				flex-flow: wrap;
				justify-content: stretch;
				align-items: stretch;
				margin: -.4rem 0 0 0;
			}
				
				#return-section .return-plan .details > .content dl > dt
				{
					display: flex;
					align-items: flex-start;
					width: 3.5rem;
					margin: .4rem 0 0 0;
					color: #F77A26;
				}
				
				#return-section .return-plan .details > .content dl > dd
				{
					display: flex;
					flex-flow: wrap;
					width: calc(100% - 3.5rem);
					margin: .4rem 0 0 0;
				}
				
				#return-section .return-plan .details > .content dl > dd ul.disc
				{
					padding-left: 1rem;
				}
				
		#return-section .return-plan .attention
		{
			color: #CC4998;
			font-size: .8rem;
		}
		
		#return-section .return-plan ul.attention
		{
			max-width: 100%;
			margin: 0 .5rem .5rem;
		}
		
		#return-section .return-plan .details ul.attention
		{
			margin: .5rem 0;
		}
		
		
		
	/*-- サイズ毎の処理 --*/
		
		@media screen and (min-width: 1225px)
		{
			#return-section .return-plan
			{
				border-width: 2rem .5rem .5rem;
			}
				
				#return-section .return-plan .name
				{
					height: 2rem;
					margin-top: -2rem;
				}
					
					#return-section .return-plan .name span:nth-child(2)
					{
						font-size: .9rem;
					}
					
					#return-section .return-plan .name span:nth-child(2):before
					{
						content: '';
						margin-left: 1.5rem;
					}
					
			#return-section .return-plan + .return-plan
			{
				margin-top: 5rem;
			}
		}
		@media screen and (max-width: 1224px) and (min-width: 725px)
		{
			#return-section .return-plan
			{
				border-width: 2rem .5rem .5rem;
			}
				
				#return-section .return-plan .name
				{
					height: 2rem;
					margin-top: -2rem;
				}
					
					#return-section .return-plan .name span:nth-child(2)
					{
						font-size: .9rem;
					}
					
					#return-section .return-plan .name span:nth-child(2):before
					{
						content: '';
						margin-left: 1.5rem;
					}
					
			#return-section .return-plan + .return-plan
			{
				margin-top: 3rem;
			}
		}
		@media screen and (max-width: 724px)
		{
			#return-section .return-plan
			{
				border-width: 3rem .5rem .5rem;
			}
				
				#return-section .return-plan .name
				{
					flex-flow: column;
					height: 3rem;
					line-height: 1.5rem;
					margin-top: -3rem;
				}
					
					#return-section .return-plan .name span:nth-child(1)
					{
						align-self: flex-start;
					}
					
					#return-section .return-plan .name span:nth-child(2)
					{
						font-size: .9rem;
						align-self: flex-end;
					}
					
			#return-section .return-plan img,
			#return-section .return-plan dl
			{
				width: calc(100% - .4rem);
				margin: .2rem auto;
			}
			
			#return-section .return-plan + .return-plan
			{
				margin-top: 1rem;
			}
			
			#return-section .return-plan .details > .content dl
			{
				flex-flow: column;
			}
			#return-section .return-plan .details > .content dl > dt
			{
				width: 100%;
			}
			
			#return-section .return-plan .details > .content dl > dd
			{
				width: 100%;
			}
			
		}
		





/*-- RETURN エリア図 --*/
	
	#ticket-area-map
	{
	}
		
		#ticket-area-map img
		{
			display: block;
			width: 100%;
			margin: 1rem auto;
		}
		
		#ticket-area-map del
		{
			opacity: .5;
		}
		
		#ticket-area-map ul.attention
		{
			margin-top: 1rem;
			color: #CC4998;
			font-size: .8rem;
		}
		
	/*-- サイズ毎の処理 --*/
		
		@media screen and (min-width: 1225px)
		{
			#ticket-area-map
			{
				margin: 0 auto 2rem;
			}
		}
		@media screen and (max-width: 1224px) and (min-width: 725px)
		{
			#ticket-area-map
			{
				margin: 0 auto 2rem;
			}
		}
		@media screen and (max-width: 724px)
		{
			#ticket-area-map
			{
				margin: 0 auto 2rem;
			}
		}
		





/*-- RETURN 相対表 --*/
	
	#return-compare-table
	{
	}
		
		#return-compare-table table
		{
			margin: 1rem auto;
		}
			
		#return-compare-table th,
		#return-compare-table td
		{
			border-style: solid;
			border-width: 1px;
			border-color: #666;
			text-align: center;
			font-size: .8rem;
		}
		
		#return-compare-table th
		{
			padding: .2rem;
			background: #DDD;
		}
		
		#return-compare-table .price th
		{
			word-break: break-all;
		}
		
		#return-compare-table th img
		{
			width: 24px;
			height: 60px;
		}
		
		#return-compare-table tbody th
		{
			text-align: left;
		}
		
		#return-compare-table td
		{
			background: #FFF;
		}
		
		#return-compare-table td.true
		{
			background: #DFD;
		}
		
		#return-compare-table tbody th.sp
		{
			width: 1rem;
			padding: 0 .5rem;
			text-align: center;
		}
		
		#return-compare-table tbody .border th,
		#return-compare-table tbody .border td
		{
			border-top: 3px double #666;
		}
		
	/*-- サイズ毎の処理 --*/
		
		@media screen and (min-width: 1225px)
		{
			#return-compare-table
			{
				margin: 5rem auto 2rem;
			}
		}
		@media screen and (max-width: 1224px) and (min-width: 725px)
		{
			#return-compare-table
			{
				margin: 3rem auto 2rem;
			}
		}
		@media screen and (max-width: 724px)
		{
			#return-compare-table
			{
				margin: 1rem auto 2rem;
			}
				#return-compare-table-wrapper
				{
					width: 100%;
					max-width: 100%;
					overflow-x: scroll;
				}
				
				#return-compare-table table
				{
					width: 100%;
					table-layout: auto;
				}
					
					#return-compare-table thead th:first-child,
					#return-compare-table tbody th:first-child
					{
						border-style: solid;
						border-width: 1px;
						border-color: #666;
					}
						
						#return-compare-table thead th,
						#return-compare-table thead td
						{
							width: 80px;
						}
						#return-compare-table thead th
						{
							z-index: 1;
						}
						#return-compare-table thead tr:nth-child(1) th:nth-child(1)
						{
							z-index: 2;
							position: sticky;
							top: 0;
							left: 0;
							width: 120px;
							min-width: 120px;
						}
						#return-compare-table tbody th
						{
							z-index: 2;
							position: sticky;
							top: 0;
							left: 0;
							width: 6rem;
							max-width: 6rem;
							border-left: solid 1px #666;
							border-right: solid 1px #666;
						}
						#return-compare-table tbody th.sp
						{
							width: 0 !important;
							max-width: 0 !important;
							border: none !important;
							padding: 0 !important;
						}
		
		}
		





/*-- ストレッチゴール --*/
	
	#wheelchair-desc
	{
		line-height: 1.6;
		margin: 1rem auto;
		border-radius: .5rem;
		padding: .2rem 1rem;
		background: rgba(216, 242, 201, .5);
		color: #060;
		box-shadow: .1rem .1rem .3rem rgba(0, 0, 0, .2);
		font-size: .8rem;
	}
		
		#wheelchair-desc > .title
		{
			display: block;
			padding: .5rem 0;
			font-weight: bold;
		}
		
		#wheelchair-desc > p + p
		{
			margin-top: .5rem;
		}
		
		
		
		
