pre {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
	}
	
	
	address {
	font-style: inherit;
	}
	
	
	/* Text-level semantics */
	/* ============================================ */
	
	
	/**
	* Remove the gray background on active links in IE 10.
	*/
	
	
	a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
	}
	
	
	/**
	* 1. Remove the bottom border in Chrome 57-
	* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
	*/
	
	
	abbr[title] {
	text-decoration: underline; /* 2 */
	text-decoration: underline dotted; /* 2 */
	}
	
	
	/**
	* Add the correct font weight in Chrome, Edge, and Safari.
	*/
	
	
	b,
	strong {
	font-weight: bolder;
	}
	
	
	/**
	* 1. Correct the inheritance and scaling of font size in all browsers.
	* 2. Correct the odd `em` font sizing in all browsers.
	*/
	
	
	code,
	kbd,
	samp {
	font-family: monospace, monospace; /* 1 */
	font-size: inherit; /* 2 */
	}
	
	
	/**
	* Add the correct font size in all browsers.
	*/
	
	
	small {
	font-size: 80%;
	}
	
	
	/**
	* Prevent `sub` and `sup` elements from affecting the line height in
	* all browsers.
	*/
	
	
	sub,
	sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
	}
	
	
	sub {
	bottom: -0.25em;
	}
	
	
	sup {
	top: -0.5em;
	}
	
	
	/* Embedded content */
	/* ============================================ */
	
	
	/**
	* Prevent vertical alignment issues.
	*/
	
	
	img,
	embed,
	object,
	iframe {
	vertical-align: bottom;
	}
	
	
	/* Forms */
	/* ============================================ */
	
	
	/**
	* Reset form fields to make them styleable
	*/
	
	
	button,
	input,
	optgroup,
	select,
	textarea {
	-webkit-appearance: none;
	appearance: none;
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	outline: 0;
	border-radius: 0;
	text-align: inherit;
	}
	
	
	/**
	* Reset radio and checkbox appearance to preserve their look in iOS.
	*/
	
	
	[type="checkbox"] {
	-webkit-appearance: checkbox;
	appearance: checkbox;
	}
	
	
	[type="radio"] {
	-webkit-appearance: radio;
	appearance: radio;
	}
	
	
	/**
	* Show the overflow in IE.
	* 1. Show the overflow in Edge.
	*/
	
	
	button,
	input {
	/* 1 */
	overflow: visible;
	}
	
	
	/**
	* Remove the inheritance of text transform in Edge, Firefox, and IE.
	* 1. Remove the inheritance of text transform in Firefox.
	*/
	
	
	button,
	select {
	/* 1 */
	text-transform: none;
	}
	
	
	/**
	* Correct the inability to style clickable types in iOS and Safari.
	*/
	
	
	button,
	[type="button"],
	[type="reset"],
	[type="submit"] {
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	}
	
	
	button[disabled],
	[type="button"][disabled],
	[type="reset"][disabled],
	[type="submit"][disabled] {
	cursor: default;
	}
	
	
	/**
	* Remove the inner border and padding in Firefox.
	*/
	
	
	button::-moz-focus-inner,
	[type="button"]::-moz-focus-inner,
	[type="reset"]::-moz-focus-inner,
	[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
	}
	
	
	/**
	* Restore the focus styles unset by the previous rule.
	*/
	
	
	button:-moz-focusring,
	[type="button"]:-moz-focusring,
	[type="reset"]:-moz-focusring,
	[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
	}
	
	
	/**
	* Remove arrow in IE10 & IE11
	*/
	
	
	select::-ms-expand {
	display: none;
	}
	
	
	/**
	* Remove padding
	*/
	
	
	option {
	padding: 0;
	}
	
	
	/**
	* Reset to invisible
	*/
	
	
	fieldset {
	margin: 0;
	padding: 0;
	min-width: 0;
	}
	
	
	
	
	
	
	
	
	details {
	display: block;
	}
	
	
	/*
	* Add the correct display in all browsers.
	*/
	
	
	summary {
	display: list-item;
	}
	
	
	/*
	* Remove outline for editable content.
	*/
	
	
	[contenteditable] {
	outline: none;
	}
	
	
	
	
	
	
	.pickup {
		padding: 30px 0px;
		background-color: #f1efef;
		position: relative;
	}
	
	
	
	
	.pickup .wrap{
		max-width:1200px;
		margin:0 auto;
	}
	
	
	
	
	
	
	
	
	 .pickup.mt {
		margin-top: 30px;
	}
	
	
	 .pickup .img_pickup {
		width: 100px;
		margin-left: -50px;
		margin-bottom: 20px;
	}
	
	
	 .pickup .title {
		font-size: 1.4rem;
		font-weight: bold;
		margin-bottom: 20px;
		line-height: 1.5;
		display: flex;
		align-items: center;
	}
	
	
	 .pickup .title:before {
	  font-family: 'FontAwesome';
	  content: "\f097";
	  padding-right: 5px;
	  color: #6b0948;
	  font-size: 1.2em;
	}
	
	
	
	
	
	
	
	
	
	
	 .pickup .title span {
		font-size: 0.8rem;
		font-size: 1.2rem;
		display: block;
		margin-left: 10px;
	}
	
	
	@media screen and (max-width: 1024px) {
		 .pickup .title {
			flex-direction: column;
		}
	}
	
	
	
	
	 .pickup .title .underline {
		font-weight: bold;
	}
	
	
	 .pickup .title .underline::before {
		height: 10px;
	}
	
	
	 .pickup .txt {
		background: #fff;
		padding: 20px;
		border-radius: 1em;
		margin-top: 1em;
		margin-bottom: 1em;
		/* max-width: 1000px; */
		/* width: 95%; */
		margin: 0 auto;
		text-align: center;
	}
	
	
	 .pickup .plan_title {
		font-size: 25px;
		line-height: 2;
		margin: 0;
		/* margin-bottom: 20px; */
		font-weight: 600;
		color: #5d001e;
		}
	
	
	 .pickup .name {
		font-size: 25px;
		line-height: 2;
		margin-bottom: 20px;
		font-weight: 600;
		color: #5d001e;
		}
	
	
	 .pickup .name span{
	 background:#ddd;
	 border-radius:10em;
	 background: #5d001e;
	 color:#fff;
	 font-size:18px;
	 padding:5px 10px;
	}
	
	
	
	
	
	
	 .pickup .cap {
		font-size: 16px;
		line-height: 2;
		margin-bottom: 0;
		padding: 0 0px;
		font-weight: 600;
		text-align: center;
		}
	
	
	 .pickup .phone_num,
	 .pickup .fax_num {
		font-size: 40px;
		/* line-height: 2; */
		padding: 10px 20px 0;
		/* border: 1px solid #ddd; */
		/* border-radius: 500px; */
		margin-bottom: 20px;
		/* display: block; */
	}
	
	
	 .pickup .phone_num:before {
		font-family: 'FontAwesome';
		content: "\f095";
		padding-right: 5px;
		color: #6b0948;
		font-size: 0.8em;
	}
	
	
	 .pickup .fax_num:before {
		font-family: 'FontAwesome';
		content: "\f1ac";
		padding-right: 5px;
		color: #666666;
		font-size: 0.7em;
	line-height: 1;}
	
	
	
	
	@media screen and (max-width: 500px) {
	 .pickup .phone_num,
	 .pickup .fax_num{
	   font-size: 28px;
	 }
	
	
	 .pickup .name span{
	  font-size:16px;
	}
	
	
	
	
	 
	 .pickup .phone_num:before,
	 .pickup .fax_num:before{
	   font-size: 0.8em;}
	 .pickup .cap {
	 text-align: left;
	 }
	
	
	.pickup .plan_title {
		font-size: 22px;
	}
	
	
	 
	}
	
	
	
	
	
	
	
	
	
	
	/* Table */
	/* ============================================ */
	
	
	table {
	border-collapse: collapse;
	border-spacing: 0;
	}
	
	
	caption {
	text-align: left;
	}
	
	
	td,
	th {
	vertical-align: top;
	padding: 0;
	}
	
	
	th {
	text-align: left;
	font-weight: bold;
	}
	
	
	/* Misc */
	/* ============================================ */
	
	
	/**
	* Add the correct display in IE 10+.
	*/
	
	
	template {
	display: none;
	}
	
	
	/**
	* Add the correct display in IE 10.
	*/
	
	
	[hidden] {
	display: none;
	}
	
	
	
	
	
	
	#detail{
	padding-top: 0;
	overflow: hidden;
	}
	
	
	#detailHeader{
	padding-top: 2em
	}
	
	
	#detailTitle{
	color: #555;
	}
	#detailTitle h2{
	display: flex;
	font-size: 1.75em;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 1.5em;
	}
	#detailTitle h2 i{
	align-items: flex-start;
	margin-right: 0.5em;
	transform: translate(0,0.25em);
	}
	
	
	#detailStatus{}
	#detailStatus dl{
	display: flex;
	padding: 1em 0;
	line-height: 1.4em;
	border-top: 1px solid currentColor;
	}
	#detailStatus dl:last-child{
	border-bottom: 1px solid currentColor;
	}
	#detailStatus dt,
	#detailStatus dd{
	font-weight: 500;
	line-height: 1.5em;
	}
	#detailStatus dt{
	position: relative;
	margin-right: 1em;
	padding-right: 1em;
	white-space: nowrap;
	}
	#detailStatus dt:before{
	content: "";
	position: absolute;
	top: 0.25em;
	right: 0;
	height: 1em;
	border-left: 1px solid currentColor;
	}
	#detailStatus ul{
	display: flex;
	margin-bottom: 1.5em;
	}
	#detailStatus li{
	position: relative;
	width: 25%;
	border-radius: 8px;
	}
	#detailStatus li:before{
	content: "";
	position: absolute;
	top: calc(50% - 0.5em);
	left: 0;
	height: 1em;
	border-left: 1px solid currentColor;
	}
	#detailStatus li:last-child:before{
		width: 100%;
		border-right: 1px solid currentColor;
		}
	#detailStatus li a{
	display: block;
	padding: 0.6em;
	color: inherit;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	font-size: 1.1em;
	}
	#detailStatus li.select{
	background: currentColor;
	margin-right: -1px;
	}
	#detailStatus li.select a{
		color: #fff;
		}
	
	
	#detailAreaMap{
	position: relative;
	border-bottom: 1px solid currentColor;
	order: 1;
	}
	
	
	#detailLead{}
	#detailLead .fr-view{
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.7em;
	}
	
	
	#detailTable{
	background: linear-gradient(90deg,#ffe7d9,#dceced);
	}
	#detailTable h3{
	color: #555;
	font-weight: 500;
	font-size: 1.5em;
	letter-spacing: 0.1em;
	text-align: center;
	}
	#detailTable h3+div{
	margin-top: 2em;
	}
	#detailTable dl{
	position: relative;
	display: flex;
	flex-direction: column;
	width: calc(100vw - 10em);
	max-width: 316px;
	background: #fff;
	padding: 1em;
	border-radius: 8px;
	box-shadow: 0 10px 10px rgba(0,0,0,0.2);
	}
	#detailTable dt{
	padding: 0.3em 0.8em;
	color: #555;
	font-weight: 500;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	order: 1;
	}
	#detailTable dd{}
	#detailTable dd a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	}
	#detailTable .wrap{
	width: 100%;
	}
	#detailTable .slick-slider{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	}
	#detailTable .slick-list{
	margin-bottom: 2em;
	order: -1;
	}
	#detailTable .slick-next{
	order: 1;
	}
	#detailTable .slick-dots{
	width: calc(100% - 12em);
	margin: 0 1em;
	}
	#detailTable .thumb{
	border-radius: 4px;
	}
	
	
	#detailCourse{
	counter-reset: count;
	}
	#detailCourse section{
	margin: 2em 0;
	padding: 0;
	}
	#detailCourse .wrap{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	z-index: 1;
	}
	#detailCourse .wrap:before{
	content: "";
	position: absolute;
	top: 5em;
	left: 0;
	width: 0;
	height: calc(100% - 10em);
	border-left: 2px solid #5d001e;
	z-index: -1;
	}
	
	
	#detailCourseStart,
	#detailCourseGoal{position: relative;padding-left: 0;left: -10px;background: #fff;color: #016d97;font-size: 2.1em;font-size: 25px;/* font-family: sofia-pro, sans-serif; */font-weight: 900;/* font-style: italic; */text-transform: capitalize;line-height: 2em;}
	
	
	#detailCourseStart:before,
	#detailCourseGoal:before{
	/* content: ""; */
	/* position: absolute; */
	/* left: 0; */
	/* width: 1em; */
	/* height: 1em; */
	/* border-top: 1px solid currentColor; */
	}
	
	
	@media only screen and (max-width: 500px) {
		#detailCourseStart,
		#detailCourseGoal{
			left: -10px;
			font-size: 1.6em;
		}
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	#detailCourseStart:before{
	top: 1.5em;
	transform: skewY(-45deg);
	}
	
	
	#detailCourseGoal{}
	#detailCourseGoal:before{
	bottom: 0.5em;
	transform: skewY(45deg);
	}
	
	
	#detailFooter{
	padding-top: 0;
	}
	
	
	#detailMap{
	display: flex;
	flex-direction: column;
	}
	#detailMap p{
	margin-top: 1em;
	padding-left: 1em;
	text-indent: -1em;
	color: #666666;
	font-size: 0.875em;
	line-height: 1.7em;
	}
	#detailMap menu{
	position: relative;
	align-self: center;
	width: 100%;
	max-width: 380px;
	margin: 0;
	padding: 1em 1.5em;
	border: 1px solid currentColor;
	border-radius: 4px;
	color: #555;
	fill: currentColor;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-align: center;
	cursor: pointer;
	order: 1;
	}
	#detailMap menu i{
	position: absolute;
	top: calc(50% - 0.5em);
	right: 1.5em;
	}
	#detailMap menu path{
	transition: opacity 0.2s ease-out;
	}
	#detailMap menu.open{}
	#detailMap menu.open path+path{
		opacity: 0;
		}
	#detailMap menu+div{
	margin-bottom: 2em;
	}
	
	
	#detailMapBody{
	position: relative;
	background: #ccc;
	}
	#detailMapBody > div{
	width: 100%;
	height: 100%;
	}
	#detailMapBody iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	}
	#detailMapBody > .infoWin{
	position: relative;
	margin: 1em;
	z-index: 1;
	}
	#detailMapBody > img{
	position: relative;
	margin: 1em 0;
	width: 34px;
	height: 50px;
	z-index: 1;
	}
	
	
	#detailMapList{
	overflow-y: auto;
	}
	#detailMapList ul{
	counter-reset: count;
	list-style: none;
	}
	#detailMapList li{
	position: relative;
	padding: 1em;
	padding-left: 4em;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5em;
	cursor: pointer;
	}
	#detailMapList li:before{
	counter-increment: count;
	content: counter(count);
	position: absolute;
	top: 0.6em;
	left: 1em;
	width: 2.4em;
	height: 2.4em;
	margin-right: 0.5em;
	background: #555;
	border-radius: 100%;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 2.4em;
	transform: scale(0.8);
	}
	#detailMapList li+li{
	border-top: 1px solid #e1e1e1;
	}
	#detailMapList a{
	color: inherit;
	text-decoration: none;
	}
	#detailMapList a:hover{
	text-decoration: none;
	}
	
	
	#share{
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #555;
	}
	#share:before{
	content: "Share";
	position: relative;
	margin-bottom: -0.4em;
	padding: 0 0.6em;
	background: #fff;
	font-size: 1.7em;
	font-family: sofia-pro, sans-serif;
	font-weight: 900;
	font-style: italic;
	line-height: 1em;
	text-align: center;
	z-index: 1;
	}
	#share ul{
	position: relative;
	display: flex;
	justify-content: center;
	border: 1px solid currentColor;
	border-radius: 4px;
	padding: 2em 3em;
	padding-top: 3em;
	}
	#share li{}
	#share li a{
	display: block;
	}
	#share li svg{
	font-size: 40px;
	}
	#share li+li{
	margin-left: 2em;
	}
	
	
	#recommend{
	border-top: 1px solid #555;
	overflow: hidden;
	}
	#recommend h2{
	display: flex;
	align-items: center;
	color: #555;
	fill: currentColor;
	font-weight: 500;
	line-height: 1.5em;
	}
	#recommend h2 i{
	position: relative;
	top: 0.1em;
	display: flex;
	align-items: center;
	margin-right: 1em;
	}
	#recommend h2+div{
	margin-top: 2em;
	}
	#recommend dl{
	position: relative;
	display: flex;
	flex-direction: column;
	}
	#recommend dt{
	font-weight: 500;
	letter-spacing: 0.025em;
	}
	#recommend dt+dd{
	order: -1;
	}
	#recommend dd{}
	#recommend dd a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	}
	#recommend .thumb{
	border-radius: 4px;
	}
	#recommend .slick-list{
	margin: 0 -0.75em;
	}
	#recommend .slick-slide{
	padding: 0 0.75em;
	}
	#recommend .slick-arrow{
	position: absolute;
	margin: -1.5em;
	z-index: 1;
	}
	#recommend .slick-prev{
	left: 0;
	}
	#recommend .slick-next{
	right: 0;
	}
	
	
	.spot{
	position: relative;
	}
	.spot.quote{}
	.spot.quote{}
	.spot.quote .spotText .fr-view{
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 5;
		height: calc(1.7em * 5em);
		overflow: hidden;
		}
	
	
	.spotName{
	position: relative;
	/* color: #555; */
	font-weight: 500;
	font-size: 1.65em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	}
	.spotName:before{
	counter-increment: count;
	content: counter(count);
	position: absolute;
	top: 0.75em;
	left: -4em;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2em;
	height: 2em;
	margin: -1em;
	padding-bottom: 0.15em;
	background: #5d001e;
	border: 3px solid #fff;
	border-radius: 100%;
	color: #ffffff;
	letter-spacing: 0;
	padding-top: 5px;
	/* line-height: 2em; */
	text-align: center;
	box-sizing: border-box;
	}
	
	
	.spotLead{
	margin-top: 1.5em;
	font-weight: 500;
	font-size: 1.1em;
	line-height: 1.5em;
	letter-spacing: 0.05em;
	}
	
	
	.spotPhoto{
	margin-top: 1.5em;
	}
	.spotPhoto li[data-caption]{
	position: relative;
	}
	.spotPhoto li[data-caption]:before{
	content: attr(data-caption);
	position: absolute;
	left: 0;
	bottom: 0;
	display: block;
	width: 100%;
	padding: 1em;
	background: linear-gradient(rgba(0,26,23,0), rgba(0,26,23,0.7));
	color: #fff;
	font-size: 0.75em;
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
	z-index: 1;
	}
	.spotPhoto .thumb{
	border-radius: 4px;
	}
	
	
.spotText{
margin-top: 1.5em;
}

.image-credit {
	font-size: 0.85em;
	color: #999;
	margin-top: 1em;
	margin-bottom: 10px;
}

.image-credit a {
	color: #999;
	text-decoration: underline;
}
	.spotText .fr-view{
	line-height: 1.7em;
	font-size: 1.1rem;
	}
	
	
	.spotText .fr-view h2{
	font-size:1.7em;
	}
	
	
	
	
	
	
	
	
	.spotInfo{display: flex;margin-top: 1.5em;max-width: 100%;margin: 0 auto;}
	.spotInfo a,
	.spotInfo menu{position: relative;display: flex;align-items: center;justify-content: center;width: 100%;padding: 1em 1em;padding-right: 1em;border: 1px solid currentColor;border-radius: 4px;background: #fff;color: #555;font-size: 0.875em;font-weight: 500;text-align: center;text-decoration: none;letter-spacing: 0.01em;line-height: 1.5em;/* border: none; */}
	
	
	.spotInfo menu:after{
	 font-family: 'Font Awesome 6 pro';
	 content: "\f055";
	 font-weight: 300;
	 padding-left: 10px;
	}
	
	
	
	
	.spotInfo a i,
	.spotInfo menu i{
	position: absolute;
	top: calc(50% - 0.5em);
	right: 1em;
	}
	
	
	
	
	
	
	
	
	.spotInfo menu{
	cursor: pointer;
	}
	.spotInfo menu.open{
	background: #555;
	border-color: transparent;
	color: #fff;
	}
	.spotInfo menu.open path+path{
		opacity: 0;
		}
	
	
	.spotData{}
	.spotData dl{
	display: flex;
	border-bottom: 1px dashed #555;
	font-weight: 500;
	}
	.spotData dt,
	.spotData dd{
	padding: 0.8em;
	border-top: 1px dashed #555;
	line-height: 1.4em;
	}
	.spotData dt{
	color: #555;
	}
	.spotData dd{
	color: #4d4d4d;
	text-align: left;
	}
	
	
	a.phone_link{
	border: none;
	background: none;
	justify-content: left;
	}
	
	
	
	
	.date{
	position: relative;
	align-self: center;
	margin: 1em 0;
	padding: 0 1em;
	background: #fff;
	color: #555;
	font-weight: 500;
	font-size: 1.5em;
	letter-spacing: 0.1em;
	}
	.date:before{content: "";position: absolute;top: 50%;left: calc(50% - 50vw);width: 99vw;border-top: 1px dashed currentColor;z-index: -1;}
	
	
	
	
	@media only screen and (max-width: 500px) {
	.date:before{width: 95vw;border-top: 1px dashed currentColor;z-index: -1;}
	}
	
	
	
	
	.move{
	position: relative;
	display: flex;
	align-items: center;
	margin: 2em 0;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	}
	.move:before,
	.move:after{
	content: "";
	color: #5d001e;
	}
	.move:before{
	margin-right: 0.5em;
	border-top: 2px solid currentColor;
	}
	.move:after{
	position: absolute;
	top: calc(50% - 12px);
	left: -13px;
	width: 20px;
	height: 20px;
	background: #5d001e;
	border-radius: 100%;
	border: 3px solid #fff;
	box-sizing: content-box;
	}
	
	
	.topics{
	display: flex;
	flex-direction: column;
	}
	.topics h4{
	color: #555;
	font-weight: 500;
	font-size: 1.25em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	}
	.topics h4+div{
	margin-top: 1.5em;
	order: 1;
	}
	.topics dl{
	position: relative;
	display: flex;
	flex-direction: column;
	}
	.topics dt{
	font-weight: 500;
	line-height: 1.5em;
	}
	.topics dt+dd{
	margin-bottom: 1em;
	order: -1;
	}
	.topics dt+dd+dd{
	margin-top: 1em;
	color: #4d4d4d;
	line-height: 1.7em;
	}
	.topics dd{}
	.topics dd a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	}
	.topics dd a[href=""]{
	pointer-events: none;
	}
	.topics .thumb{
	border-radius: 4px;
	}
	.topics .slick-list{
	margin: 0 -0.75em;
	}
	.topics .slick-slide{
	margin: 0 0.75em;
	}
	.topics .slick-arrow{
	position: absolute;
	top: 0;
	margin: -1.5em;
	z-index: 1;
	}
	.topics .slick-prev{
	left: 0;
	}
	.topics .slick-next{
	right: 0;
	}
	.topics .fr-view{
	margin-top: 1.5em;
	color: #4d4d4d;
	line-height: 1.7em;
	}
	.topics+.topics{
	padding-top: 0;
	}
	
	
	.column{
	display: flex;
	flex-direction: column;
	overflow: hidden;
	}
	.column h4{
	position: relative;
	align-self: center;
	padding: 0 1em;
	background: #fff;
	color: #555;
	font-size: 1.75em;
	font-family: sofia-pro, sans-serif;
	font-weight: 900;
	font-style: italic;
	text-transform: capitalize;
	line-height: 1em;
	}
	.column h4:before{
	content: "";
	position: absolute;
	top: 0.5em;
	left: calc(50% - 50vw);
	width: 100vw;
	border-top: 1px solid currentColor;
	z-index: -1;
	}
	.column h4+div{
	display: flex;
	margin-top: 2em;
	}
	.column h5{
	color: #555;
	font-weight: 500;
	font-size: 1.25em;
	line-height: 1.5em;
	letter-spacing: 0.1em;
	}
	.column h5+div{
	margin-top: 1.5em;
	color: #4d4d4d;
	}
	.column h5+div+div{
	display: flex;
	justify-content: center;
	margin-top: 1.5em;
	}
	.column h5+div+div a{
	position: relative;
	display: block;
	width: 100%;
	max-width: 300px;
	padding: 1em;
	border: 1px solid currentColor;
	border-radius: 4px;
	background: #fff;
	color: #555;
	font-size: 0.875em;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.01em;
	}
	.column h5+div+div i{
	position: absolute;
	top: calc(50% - 0.5em);
	right: 1em;
	}
	.column figure{
	order: -1;
	}
	.column .fr-view{
	color: #4d4d4d;
	font-size: 0.875em;
	line-height: 1.7em;
	}
	.column .thumb{
	border-radius: 4px;
	}
	
	
	
	
	
	
	
	
	/* for all */
	@media (max-width: 1199.98px) {
	/*1199px以下*/
	}
	@media (max-width: 991.98px) {
	/*991px以下*/
	}
	
	
	
	
	/* for mobile */
	@media (max-width: 767.98px) {
	/*767px以下*/
	#detailAreaMap{
	padding-bottom: 1em;
	}
	#detailLead{
	margin-top: 2em;
	}
	#detailLead .fr-view+div{
	width: 100%;
	max-width: 20em;
	margin: auto;
	margin-top: 2em;
	}
	#detailTable{}
	#detailTable dl{
	padding: 0.75em;
	}
	#detailTable dt{
	margin-top: 0.75em;
	}
	#detailTable .slick-slide{
	padding: 0 0.75em;
	}
	#detailTable .slick-prev{
	margin-left: 1.5em;
	}
	#detailTable .slick-next{
	margin-right: 1.5em;
	}
	#detailCourse{
	padding: 2em 0;
	}
	#detailCourse section{
	margin-left: 2em;
	}
	#detailCourse .wrap{
	width: calc(100% - 4em);
	margin-left: 2.5em;
	}
	#mapList{
	height: 10em;
	}
	#share{
	margin-top: 2em;
	}
	#recommend{}
	#recommend h2{
	font-size: 1.4em;
	}
	.spotName{}
	.spotName:before{
	left: -1.1em;
	}
	.move{}
	.move:before{
	flex: 0 0 1.5em;
	width: 1.5em;
	}
	.topics,
	.column{
	margin-top: 2em;
	}
	.topics{}
	.topics .slick-arrow{
	top: 7.6em;
	}
	.spotList{}
	.spotList dt{
	font-size: 0.875em;
	}
	}
	@media (max-width: 767.98px) and (orientation:portrait) {
	/*767px以下縦向き*/
	#detailTitle{}
	#detailTitle h2{
	order: -1;
	}
	#detailTitle figure{
	margin: 0 -1em;
	margin-top: 1em;
	order: -1;
	}
	#detailTitle .wrap{
	display: flex;
	flex-direction: column;
	}
	#detailStatus{
	margin: 1.5em 0;
	}
	#detailTable{}
	detailTable .slick-dots{}
	#detailTable .slick-dots li{
	margin: 0.8em;
	}
	#detailMapBody{
	height: 100vw;
	}
	#recommend{}
	#recommend .slick-arrow{
	top: 4em;
	}
	.spotPhoto{margin: 0.5em;}
	.spotPhoto ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	}
	.spotPhoto li{}
	.spotPhoto li:first-child{
	width: 100%;
	}
	/* .spotPhoto li:nth-of-type(n+2){
	width: calc(50% - 0.5em);
	margin-top: 1em;
	} */
	.spotPhoto li:nth-of-type(n+2){
	width: 100%;
	margin-top: 1em;
	}
	.spotInfo{
	flex-direction: column;
	}
	.spotData{
	margin: 1em 0;
	}
	.spotData dl{
	flex-direction: column;
	}
	.spotData dd{
	padding-top: 0;
	border: none;
	}
	.spotLink{
	margin-top: 1em;
	}
	.column{}
	.column h4+div{
	flex-direction: column;
	}
	.column figure{
	margin-bottom: 1em;
	}
	}
	
	
	
	
	.spotLink a:after{
	 content: "→";
	 padding-left: 10px;
	 font-weight: normal;
	}
	
	
	
	
	
	
	
	
	
	
	@media (max-width: 767.98px) and (orientation:landscape) {
	/*767px以下横向き*/
	#detailStatus,
	#detailAreaMap{
	padding: 1.5em;
	}
	#detailMapBody{
	height: 80vw;
	}
	#recommend{}
	#recommend .slick-arrow{
	top: 7.6em;
	}
	.topics{}
	.topics .slick-list{
	margin: 0;
	padding: 0 29vw;
	}
	.topics .slick-arrow{
	top: 5em;
	}
	}
	@media (min-width: 576px) and (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) {
	/*576px～767px横向き, 768px以上*/
	#detailTitle{}
	#detailTitle h2{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60%;
	padding: 1em;
	background: linear-gradient(rgba(0,26,23,0), rgba(0,26,23,0.7));
	color: #fff;
	z-index: 2;
	}
	#detailTitle figure{
	position: absolute;
	top: 0;
	left: 0;
	width: 60%;
	height: 100%;
	}
	#detailTitle .wrap{
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding-left: 60%;
	}
	#detailTitle .thumb{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	}
	#detailStatus{
	border-top: 1px solid currentColor;
	}
	#detailStatus+#detailAreaMap{
	padding-top: 0;
	}
	#detailTable{}
	detailTable .slick-dots{}
	#detailTable .slick-dots li{
	margin: 1em;
	}
	.spotPhoto{}
	.spotPhoto ul{
	overflow: hidden;
	}
	.spotPhoto li{
	float: left;
	width: calc(33.3% - 0.8em);
	}
	.spotPhoto li:first-child{
	width: 66.6%;
	}
	.spotPhoto li:first-child:last-child{
	width: 100%;
	}
	.spotPhoto li:first-child:last-child .thumb{
		padding-top: 44.4%;
		}
	.spotPhoto li:first-child:nth-last-of-type(2),
	.spotPhoto li:last-child:nth-of-type(2){
	width: calc(50% - 0.5em);
	}
	.spotPhoto li:first-child:nth-last-of-type(2) .thumb,
	/* .spotPhoto li:last-child:nth-of-type(2) .thumb{
		padding-top: 88.8%;
		} */
	.spotPhoto li:nth-of-type(n+2){
	float: right;
	}
	.spotPhoto li:nth-of-type(3){
	margin-top: 1em;
	}
	.spotInfo{
	flex-wrap: wrap;
	justify-content: center;
	}
	.spotInfo menu{
	width: calc(50% - 0.75em);
	max-width: 250px;
	margin: 0 10px;
	}
	.spotData{
	display: flex;
	justify-content: center;
	width: 100%;
	margin-top: 1.5em;
	order: 1;
	}
	.spotData dl{
	flex-wrap: wrap;
	width: 100%;
	max-width: calc(600px + 1.5em);
	max-width: 800px;
	}
	.spotData dt{
	width: 8em;
	}
	.spotData dd{
	width: calc(100% - 8em);
	}
	.spotLink{/* width: calc(33.333%); *//* max-width: 300px; */}
	.spotLink a:hover{
	   background-color: #555;
		color: #fff;
		transition: .4s;
	}
	menu:hover{
	   background-color: #555;
	   color: #fff;
	   transition: .4s;
	}
	.spotLink:not(:first-child){
	margin-left: 1.4em;
	}
	.column{}
	.column h4+div{
	justify-content: space-between;
	}
	
	
	a.phone_link{
	border: none;
	background: none;
	justify-content: left;
	}
	a.map_link{
	border: none;
	background: none;
	justify-content: left;
	padding: 0;
	}
	
	
	
	
	}
	@media (min-width: 576px) and (max-width: 767.98px) and (orientation:landscape), (min-width: 768px) and (max-width: 991.98px) {
	/*576px～767px横向き, 768px～991px*/
	#detailTable{}
	#detailTable .slick-list{
	padding: 0 20vw !important;
	}
	#detailCourse{
	padding: 3em 0;
	}
	#detailCourse section{
	flex-direction: column;
	align-items: stretch;
	}
	.column{}
	.column h4+div > div,
	.column figure{
	width: calc(50% - 0.75em);
	}
	}
	
	
	
	
	/* for tablet */
	@media (min-width: 768px) {
	/*768px以上*/
	#detailStatus{}
	#detailStatus dt,
	#detailStatus dd{
	font-size: 0.875em;
	}
	#detailLead{}
	#detailLead [data-fav-id]{
	display: flex;
	font-size: 0.875em;
	}
	#detailLead .fr-view{
	width: 100%;
	}
	#detailLead .fr-view+div{
	flex: 0 0 calc(0.875em * 20);
	width: calc(0.875em * 20);
	}
	#detailLead .wrap{
	display: flex;
	justify-content: space-between;
	}
	#detailTable{}
	#detailTable dl{
	padding: 1em;
	}
	#detailTable dt{
	margin-top: 1em;
	}
	#detailTable .slick-slide{
	padding: 0 1em;
	}
	#detailTable .slick-prev{
	margin-left: 2em;
	}
	#detailTable .slick-next{
	margin-right: 2em;
	}
	#detailCourse{}
	#detailCourse section{
	margin-left: 4em;
	border: 2px solid #5d001e;
	background: #f7eee5;
	border-radius: 0.5em;
	}
	#detailMap{}
	#detailMap menu+div{
	display: flex;
	flex-wrap: wrap;
	}
	#detailMapList{
	position: relative;
	}
	#detailMapList ul{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	}
	#recommend{}
	#recommend h2{
	font-size: 1.5em;
	}
	.spotName{}
	.spotName:after{
	content: "";
	position: absolute;
	top: 0.75em;
	left: -4em;
	width: 3.5em;
	border-top: 2px solid #5d001e;
	z-index: -1;
	color: #5d001e;
	}
	.move{}
	.move:before{
	flex: 0 0 3.5em;
	width: 3.5em;
	}
	.topics{
	overflow: hidden;
	}
	.topics h4{
	position: relative;
	}
	.topics h4:before{
	content: "";
	position: absolute;
	left: -2.5em;
	top: 0.75em;
	width: 2em;
	border-top: 1px solid currentColor;
	}
	.topics dt+dd+dd{
	font-size: 0.75em;
	}
	.topics .fr-view{
	font-size: 0.875em;
	}
	}
	@media (min-width: 768px) and (max-width: 1199.98px) {
	/*768px～1199px*/
	}
	@media (min-width: 768px) and (max-width: 991.98px) {
	/*768px～991px*/
	#detailStatus,
	#detailAreaMap{
	padding: 1.5em 2em;
	}
	#detailLead{
	margin-top: 3em;
	}
	#detailLead .fr-view{
	margin-right: 3em;
	}
	#detailCourse{
	padding: 3em 0;
	}
	#detailMapBody{
	width: calc(100% - 20em);
	height: 32em;
	}
	#detailMapList{
	width: 20em;
	}
	#share{
	margin-top: 3em;
	}
	#recommend{}
	#recommend .slick-arrow{
	top: 5.4em;
	}
	.spot,
	.topics,
	.column{
	padding: 2em;
	}
	.spotName{}
	.spotName:before{
	left: -3.5em;
	}
	.topics{}
	.topics .slick-arrow{
	top: 7.2em;
	}
	}
	
	
	
	
	/* for PC */
	@media (min-width: 992px) {
	/*992px以上*/
	#detailStatus,
	#detailAreaMap{
	padding: 2em 3em;
	}
	#detailLead{
	margin-top: 4em;
	}
	#detailLead .fr-view{
	margin-right: 4em;
	}
	#detailTable{}
	#detailTable .slick-list{}
	#detailTable .slick-list{
	padding: 0 30vw !important;
	}
	#detailCourse{
	padding: 4em 0;
	}
	#share{
	margin-top: 4em;
	}
	#detailMapBody{
	width: calc(100% - 15em);
	}
	#detailMapList{
	width: 15em;
	}
	.spot,
	.topics,
	.column{
	padding: 3em;
	}
	.spotName{}
	.spotName:before{
	left: -4.3em;
	}
	.column{}
	.column h4+div > div{
	width: 60%;
	}
	.column figure{
	width: calc(40% - 2em);
	}
	}
	@media (min-width: 992px) and (max-width: 1199.98px) {
	/*992px～1199px*/
	#detailMapBody{
	height: 34em;
	}
	#recommend{}
	#recommend .slick-arrow{
	top: 7.4em;
	}
	.topics{}
	.topics .slick-arrow{
	top: 6.2em;
	}
	}
	@media (min-width: 1200px) {
	/*1200px以上*/
	#detailMapBody{
	height: 38em;
	}
	#recommend{}
	#recommend .slick-arrow{
	top: 7.6em;
	}
	#recommend .slick-prev{
	left: -2.5em;
	}
	#recommend .slick-next{
	right: -2.5em;
	}
	.topics{}
	.topics .slick-arrow{
	top: 6.6em;
	}
	}
	
	
	
	
	/* -----------------------------------------------------------
	#sub_works_area
	----------------------------------------------------------- */
	
	
	#sub_works_area {
	padding: 50px 50px;
	/* background: url(../images/common/noise.png) repeat #f5f5f5; */
	background: #faf9f9;
	/* width: 95%; */
	margin: 80px auto;
	}
	
	
	#sub_works_area .central {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	}
	
	
	@media only screen and (max-width: 900px) {
	#sub_works_area {
	padding: 0;
	}
	}
	
	
	@media only screen and (max-width: 736px) {
	#sub_works_area {
	padding: 0;
	}
	}
	/* -----------------------------------------------------------
	#sub_works
	----------------------------------------------------------- */
	
	
	#sub_works {
	/* float: right; */
	width: 100%;
	}
	
	
	@media only screen and (max-width: 900px) {
	#sub_works {
	width: 100%;
	
	
	}
	}
	
	
	@media only screen and (max-width: 736px) {
	#sub_works {
	padding: 20px 0;
	}
	
	
	
	
	}
	
	
	
	
	.header_area {
	/* max-width:1200px; */
	width:100%;
	margin:0 auto;
	}
	
	
	.header_area img{
	width:100%;
	}
	
	
	.On_pc{display:block}
	.On_sp{display:none}
	
	
	@media only screen and (max-width: 900px) {
	.On_pc{display:none}
	.On_sp{display:block}
	}
	
	
	/* --------- .worksArea --------- */
	
	
	.worksArea {
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	padding:1%;
	justify-content: flex-start;}
	
	
	.worksArea .worksBox {
	flex: 0 0 31%;
	align-items: stretch;
	background: #fff;
	border: 1px solid #ddd;
	/* border-radius: 0.5em; */
	margin: 1%;
	}
	
	
	/*      .worksArea .worksBox:before {
	position: absolute;
	right: 0;
	top: 0;
	left: 0;
	bottom: 0;
	content: "";
	border: #fefefe 0 solid;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
	z-index: -1;
	}
	*/
	.worksBox:hover {
	/* border: #f2f2f2 2px solid; */
	/*  border-radius: 0.5em; */
	background:#0c438a;
	color:#fff;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	/* .inner */
	
	
	.worksArea .worksBox .inner {
	position: relative;
	padding: 10px;
	z-index: 2;
	/* border: 1px solid #ddd; */
	border-radius: 1em;
	text-align: center;
	}
	
	
	.worksArea .worksBox .inner:before {
	position: absolute;
	right: 0;
	top: 0;
	left: 0;
	bottom: 0;
	content: "";
	border: #fefefe 0 solid;
	-webkit-transition: all 0.2s ease;
	-moz-transition: all 0.2s ease;
	-o-transition: all 0.2s ease;
	transition: all 0.2s ease;
	z-index: -1;
	}
	
	
	.worksBox:hover .inner:before {
	/* border: #f2f2f2 2px solid; */
	/*  border-radius: 0.5em; */
	background:#0c438a;
	color:#fff;
	}
	
	
	.worksArea .worksBox .inner .imgArea {
	text-align: center;
	}
	
	
	.worksArea .worksBox .inner .imgArea img{
	width: 100%;
	margin: 0 auto;
	/* max-width: 150px; */
	}
	/*
	.worksArea .worksBox .inner img {
	width: 100%;
	margin: 0 auto;
	max-width: 150px;
	text-align: center;
	} */
	
	
	.worksArea .worksBox .inner h2 {
	text-align: center;
	color: #0c438a;
	margin: 10px 0;
	font-weight: 600;
	font-size: 18px;
	display: block;
	}
	
	
	.worksArea .worksBox .inner h2:after {
	content: '';
	display: block;
	width: 147px;
	height: 1px;
	background-color: #0c438a;
	position: relative;
	bottom: 0px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	color:#fff;
	}
	
	
	.worksArea .worksBox .inner:hover {
	color:#fff;
	}
	
	
	.worksArea .worksBox .inner:hover h2 {
	color:#fff;
	}
	
	
	
	
	/* ul.category */
	
	
	.worksArea .worksBox ul.category {
	margin-top: 20px;
	list-style: none;
	z-index: 2;
	text-align: center;
	}
	
	
	.worksArea .worksBox ul.category li {
	display: inline-block;
	color: #fefefe;
	background: #0c438a;
	font-size: 13px;
	font-weight: 500;
	line-height: 35px;
	letter-spacing: 1px;
	border-radius: 1.5em;
	padding: 0 35px 0 25px;
	position: relative;
	z-index: 1;
	}
	
	
	.worksArea .worksBox ul.category li:after {
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	font-size: 1.1em;
	/* line-height: 25px; */
	font-family: themify;
	/* content: "\e6ad"; */
	font-weight: normal;
	/* font-family: 'Font Awesome 6 pro'; */
	content: "\e649";
	vertical-align: 0;
	}
	
	
	
	
	.worksArea .worksBox p.category {
	margin-top: 20px;
	list-style: none;
	z-index: 2;
	text-align: center;
	}
	
	
	.worksArea .worksBox p.category {
	/* display: inline-block; */
	color: #fefefe;
	background: #0c438a;
	font-size: 13px;
	font-weight: 500;
	line-height: 35px;
	letter-spacing: 1px;
	border-radius: 1.5em;
	padding: 0 35px 0 25px;
	position: relative;
	z-index: 1;
	width: 150px;
	margin: 0 auto;
	}
	
	
	.worksArea .worksBox p.category:after {
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	font-size: 1.1em;
	/* line-height: 25px; */
	font-family: themify;
	/* content: "\e6ad"; */
	font-weight: normal;
	/* font-family: 'Font Awesome 6 pro'; */
	content: "\e649";
	vertical-align: 0;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	.worksArea .worksBox p.date {
	position: absolute;
	top: 20px;
	left: 7.5%;
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	line-height: 40px;
	font-size: 0;
	display: none;
	}
	
	
	.worksArea .worksBox .inner h3 {
	font-size: 15px;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 1px;
	padding: 0;
	margin-top: 10px;
	text-align: center;
	}
	
	
	.worksArea .worksBox .icon_award {
	position: absolute;
	top: 15px;
	right: 7.5%;
	width: 55px;
	height: 55px;
	content: "";
	background: url(../images/common/icon_award.png) center center no-repeat;
	background-size: cover;
	z-index: 2;
	}
	
	
	@media only screen and (max-width: 900px) {
	.worksArea .worksBox .inner {
	padding: 50px 7.5% 50px;
	}
	.worksArea .worksBox .inner p{
	display:block;
	}
	
	
	.worksArea .worksBox .inner:before {
	display: none;
	}
	
	
	
	
	.worksArea .worksBox .inner:hover {
	color:#fff;
	background:#0c438a;
	border-radius:0.5em;
	}
	
	
	.worksArea .worksBox .inner:hover h2 {
	color:#fff;
	
	
	}
	
	
	
	
	/* ul.category */
	.worksArea .worksBox ul.category {
	margin-top: -35px;
	list-style: none;
	z-index: 2;
	display: block;
	}
	.worksArea .worksBox ul.category li {
	padding: 0 15px 0 30px;
	/* margin-top: 50px; */
	}
	/* p.date */
	.worksArea .worksBox p.date {
	top: 10px;
	left: 7.5%;
	}
	/*.worksArea .worksBox p.date span { font-size: 13px; }*/
	/* h3 */
	.worksArea .worksBox .inner h3 {
	font-size: 14px;
	display: block;
	}
	/* .icon_award */
	.worksArea .worksBox .icon_award {
	top: 10px;
	right: 7.5%;
	width: 50px;
	height: 50px;
	}
	}
	
	
	@media only screen and (max-width: 736px) {
	
	
	.worksArea .worksBox .inner {
	padding: 40px 7.5% 30px;
	}
	.worksArea .worksBox .inner:before {
	display: none;
	}
	
	
	
	
	/* ul.category */
	.worksArea .worksBox ul.category {
	margin-top: 0px;
	list-style: none;
	z-index: 2;
	display: block;
	}
	.worksArea .worksBox ul.category li {
	font-size: 11px;
	line-height: 25px;
	letter-spacing: 1px;
	padding: 0 10px 0 20px;
	}
	.worksArea .worksBox ul.category li:before {
	left: 5px;
	font-size: 1em;
	}
	/* p.date */
	.worksArea .worksBox p.date {
	top: 10px;
	left: 7.5%;
	line-height: 30px;
	}
	/*.worksArea .worksBox p.date span { font-size: 11px; }*/
	/* h3 */
	.worksArea .worksBox .inner h3 {
	font-size: 11px;
	line-height: 1.8;
	margin-top: 5px;
	}
	
	
	.worksArea .worksBox {
	flex: 0 0 49%;
	margin-bottom:10px;
	}
	
	
	
	
	}
	
	
	@media only screen and (max-width: 500px) {
	
	
	.worksArea {
	z-index: 3;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	padding:20px;
	}
	
	
	
	
	.worksArea .worksBox {
	flex: 0 0 100%;
	margin-bottom: 20px;
	}
	
	
	}
	
	
	@media only screen and (max-width: 414px) {
	.worksArea .worksBox p.date {
	letter-spacing: 0.5px;
	}
	.worksArea .worksBox .inner h3 {
	line-height: 1.8;
	display: block;
	}
	.worksArea .worksBox ul.category li {
	font-size: 9px;
	padding: 0 20px 0 20px;
	}
	.worksArea .worksBox .icon_award {
	top: 6px;
	right: 4%;
	width: 30px;
	height: 30px;
	}
	}
	
	
	.center{
	text-align: center;
	}
	
	
	.left{
	text-align: left;
	}
	
	
	.right{
	text-align: right;
	}
	
	
	.none{
	display: none !important;
	}
	
	
	.thumb{}
	.thumb img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: inherit;
	object-position: inherit;
	opacity: 1;
	transition: opacity 0.2s ease-out;
	}
	.thumb:not(img){
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 66.66% 0 0 0;
	object-fit: cover;
	object-position: center;
	background: rgba(0,0,0,0.05) url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 50 50"><path fill="rgba(0,0,0,0.2)" d="M25.251,6.461c-10.318,0-18.683,8.365-18.683,18.683h4.068c0-8.071,6.543-14.615,14.615-14.615V6.461z" transform="rotate(200.584 25 25)"><animateTransform attributeType="xml" attributeName="transform" type="rotate" from="0 25 25" to="360 25 25" dur="0.6s" repeatCount="indefinite"></animateTransform></path></svg>') center center no-repeat;
	background-size: 3em;
	overflow: hidden;
	background: opacity 0.2s ease-out;
	}
	img.thumb{
	opacity: 0;
	}
	.thumb.contain{
	object-fit: contain;
	}
	.thumb.cover{
	object-fit: cover;
	}
	.thumb.top{
	object-position: center top;
	}
	.thumb.bottom{
	object-position: center bottom;
	}
	.thumb.left{
	object-position: left center;
	}
	.thumb.right{
	object-position: right center;
	}
	
	
	
	
	
	
	@media (min-width: 768px) and (max-width: 991.98px) {
	/*768px～991px*/
	.lsb-sp:not(.lsb-tb),
	.lsb-pc:not(.lsb-tb){
	display: none;
	}
	}
	
	
	
	
	
	
	
	
	
	
	.wrap{
	margin-left: auto;
	margin-right: auto;
	}
	
	
	.slide{
	height: 0;
	opacity: 0;
	transition: opacity 0.5s ease-out;
	}
	.slide .slick-arrow{
	position: relative;
	display: inline-block;
	width: 3em;
	height: 3em;
	background: #fff;
	border: 1px solid currentColor;
	border-radius: 100%;
	color: #555;
	fill: currentColor;
	cursor: pointer;
	}
	.slide .slick-arrow svg{
	position: absolute;
	top: 30%;
	left: 30%;
	width: 40%;
	height: 40%;
	}
	.slide .slick-dots{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	}
	.slide .slick-dots li{
	position: relative;
	flex: 0 0 10px;
	width: 10px;
	height: 10px;
	border-radius: 100%;
	background: #fff;
	overflow: hidden;
	}
	.slide .slick-dots button{
	opacity: 0;
	}
	.slide .slick-dots .slick-active{
	background: #555;
	}
	.slide.slick-initialized{
	height: auto;
	opacity: 1;
	}
	
	
	
	
	.photoArea{display:flex}
	
	
	.photoBox{width:33.333%}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	/* for all */
	@media (max-width: 1199.98px) {
	
	
	}
	@media (max-width: 991.98px) {
	}
	
	
	
	
	/* for mobile */
	@media (max-width: 767.98px) {
	
	
	
	
	.wrap{
	width: calc(100% - 2em);
	}
	
	
	
	
	}
	@media (max-width: 767.98px) and (orientation:portrait) {
	
	
	
	
	}
	
	
	
	
	@media (min-width: 768px) and (max-width: 1199.98px) {
	/*768pxï½ž1199px*/
	body{
	font-size: 1.4rem;
	}
	}
	@media (min-width: 768px) and (max-width: 991.98px) {
	/*768pxï½ž991px*/
	main > *,
	article,
	article section,
	article nav,
	article header,
	article footer{
	padding-top: 3em;
	padding-bottom: 3em;
	}
	
	
	.wrap{
	width: 724px;
	}
	
	
	}
	
	
	
	
	/* for PC */
	@media (min-width: 992px) {}
	
	
	@media (min-width: 992px) and (max-width: 1199.98px) {
	
	
	.wrap{
	width: 940px;
	}
	}
	@media (min-width: 1200px) {
	/*1200pxä»¥ä¸Š*/
	
	
	.wrap{
	width: 1140px;
	margin-top: 80px;
	}
	}
	
	
	.map {
	width: 90%;
	margin: 0 auto;
	}
	
	
	
	
	
	
	
	
	@media (min-width: 751px) {
	a[href^="tel:"] {
	pointer-events: none;
	cursor: default;
	}
	
	
	}
	
	
	a.phone_link{
	border: none;
	background: none;
	justify-content: left;
	padding: 0;
	}
	
	
	/* ------------------------------------------
	フェードインアニメーション
	--------------------------------------------*/
	.fadeIn {
	   -webkit-transition: 1s;
	   transition: 1s;
	   opacity: 0;
	   -webkit-transform: translatey(50px);
			   transform: translatey(50px);
	 }
	 .fadeIn.animated {
	   opacity: 1;
	   -webkit-transform: translatey(0px);
			   transform: translatey(0px);
	 }
	
	
/* 追加-ver02 */

.gg-course-container {
    max-width: 1100px;
    margin: 0 auto;
    padding: 20px;
}

/* ヘッダー */
.gg-course-header {
/* 修正・追記部分 */background-image: url('images/header-bg.jpg'); /* 画像のパスを適宜変更してください */background-size: cover; /* 横幅いっぱいに広げ、アスペクト比を維持して全体をカバー */background-position: center; /* 画像の中心を表示 */background-repeat: no-repeat;padding: 0; /* paddingも不要になります */text-align: center;/* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */margin-bottom: 0;position: relative;z-index: 1;overflow: hidden;margin-bottom: 30px;}

.gg-course-header picture, .gg-course-header img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 1000px;
    /* object-fit: cover; */
    margin: 0 auto;
}

.gg-course-title {
    font-size: 2.5rem;
    margin: 0 0 10px 0;
    font-weight: bold;
    letter-spacing: 0.1em;
}

.gg-course-catchcopy {
    font-size: 1.1rem;
    opacity: 0.9;
}


/* コース選択ナビゲーション (横並び) */
.gg-course-nav {
    display: flex;
    justify-content: center;
    margin: 30px 0;
    gap: 20px;
    /* padding: 20px 10px; */
}

.gg-course-nav-item {
    display: block;
    width: 35%;
    max-width: 450px;
    /* padding: 20px; */
    background-color: #fff6f0;
    border: 1px solid #850a0a;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    color: #333;
    transition: transform 0.3s, box-shadow 0.3s;
    padding: 30px 10px;
}

.gg-course-nav-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
    opacity: 1; /* リンクのデフォルトhoverを無効化 */
}

.gg-course-nav-title {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    color: #5d001e; /* アクセントカラー */
    margin-bottom: 5px;
}

.gg-course-nav-description {
    display: block;
    font-size: 16px;
    color: #666;
    line-height: 1.5;
    margin-top: 20px;
}

/* セクションタイトルと区切り線 */
.gg-course-divider {
    border: 0;
    border-top: 1px solid #ddd;
    margin: 40px 0;
}

.gg-course-section {
    padding-top: 20px; /* リンクアンカー用 */
    margin-bottom: 50px;
}

.gg-course-section-title {
    text-align: center;
    font-size: 1.8rem;
    color: #333;
    padding-bottom: 10px;
    border-bottom: 2px solid #5d001e; /* アクセントカラー */
    margin-bottom: 30px;
}


/* コースコンテンツ全体 (簡略図と地図の横並び) */
.gg-course-content-wrapper {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    border: 2px solid #9b1a43;
    padding: 20px;
    border-radius: 8px;
}

.gg-course-itinerary,
.gg-course-map-container {
    flex: 1; /* 均等な幅 */
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgb(0 0 0 / 43%);
}

.gg-course-itinerary-title,
.gg-course-map-title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #5d001e;
    border-bottom: 1px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 15px;
}

/* タイムライン風のコース簡略図 */
.gg-course-timeline {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}

/* 縦線 */
.gg-course-timeline::before {
    content: '';
    position: absolute;
    top: 5px;
    left: 10px;
    width: 2px;
    height: calc(100% - 10px);
    background-color: #ccc;
}

.gg-course-timeline-item {
    position: relative;
    padding: 0 0 30px 30px; /* 左側にスペースを確保 */
}

.gg-course-timeline-last {
    padding-bottom: 0; /* 最後の要素は下側の余白をなくす */
}

/* 点 */
.gg-course-timeline-item::before {
    content: '';
    position: absolute;
    top: 0;
    left: 4px;
    width: 14px;
    height: 14px;
    background-color: #5d001e; /* アクセントカラー */
    border-radius: 50%;
    border: 3px solid #fff; /* 白い枠で線を隠す */
    z-index: 1;
}

.gg-course-location {
    display: block;
    font-weight: bold;
    font-size: 1.1rem;
    color: #333;
}

.gg-course-detail {
    margin: 5px 0 0 0;
    font-size: 0.95rem;
    color: #666;
}

/* Google Map Iframe */
.gg-course-map-container iframe {
    border-radius: 4px;
}

/* 詳細テキスト */
.gg-course-detail-text {
    background-color: #fff;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}


/* フッター・締めの文章 */
.gg-course-footer {
    text-align: center;
    padding: 30px 20px;
    background-color: #333;
    color: #fff;
    margin-top: 50px;
}

.gg-course-closing {
    font-size: 1.1rem;
    margin-bottom: 20px;
    opacity: 0.9;
}

.gg-course-links a {
    color: #fff;
    border: 1px solid #fff;
    padding: 10px 20px;
    margin: 0 10px;
    border-radius: 5px;
    display: inline-block;
    font-weight: bold;
}

.gg-course-links a:hover {
    background-color: #fff;
    color: #5d001e;
}

/* レスポンシブ対応 (スマートフォン/タブレット) */
@media (max-width: 768px) {
    .gg-course-title {
        font-size: 2rem;
    }
    
    .gg-course-nav {
        flex-direction: column;
        gap: 10px;
    }

    .gg-course-nav-item {
        width: 100%;
        max-width: none;
    }

    .gg-course-content-wrapper {
        flex-direction: column;
    }
}

.course-wrap {
	display: flex;
	flex-direction: column;

}

.course-img img {
	width: 100%;
	border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.course-img {
	border-radius: 8px;
}