
/* Base
-------------------------------------------------------------------------------*/
.inner {
	padding: 0 14px;
}
.route a {
    color: #0099d9;
    text-decoration: underline;
}
/* Lead
-------------------------------------------------------------------------------*/
.special .lead {
	/*margin-bottom: 20px;*/
	padding: 20px 10px 10px 10px;
	background: #eaf4e7;
	border-radius: 0 0 10px 10px;
}
.special .lead .text {
	margin-bottom: 24px;
	font-size: 14px;
	line-height: 1.6;
}
/* Spot
-------------------------------------------------------------------------------*/
#spot .box {
	padding: 10px 0 0;
}
#spot .stitle {
	background: #fff;
	padding: 10px;
	margin-bottom: 20px;
	font-weight: bold;
	font-size: 180%;
	border-radius:5px;
}
#spot .stitle img {
	vertical-align: middle;
}
#spot .stitle .icn_01,
#spot .stitle .icn_02,
#spot .stitle .icn_03 {
	width: 50px;
	height: 50px;
	display: inline-block;
	padding: 5px;
	border-radius: 10px;
	margin-right: 10px;
}

#spot .stitle .icn_01 {	background: #cadbf3;}
#spot .stitle .icn_02 {	background: #f4c8d2;}
#spot .stitle .icn_03 {	background: #bbe6a8;}

#spot h3 {
	overflow: hidden;
	color: #1B3B50;
	height: 80px;
	font-size: 23px;
	font-weight: bold;
	line-height: 60px;
	white-space: nowrap;
	margin-top:35px;
}
#spot .inner {
	overflow: hidden;
	zoom: 1;
	padding-top: 15px;
	margin-top:20px;
	border-radius: 5px;
}
#spot.seaside .inner  {
	background-color: #E8EFF9;
}
#spot.downtown .inner {
	background: #f5dae0;
}
#spot.satoyama .inner {
	background: #dbf2d1;
}
#spot .inner > h4 {
	box-sizing: border-box;
	color: #461913;
	margin-top: 10px;
	font-weight: bold;
	line-height: 1.4;
	font-size:180%;
	text-align:center;
}
#spot .image {
	margin-bottom: 20px;
	margin-right: 30px;
	float: left;
}
#spot .image img {
	overflow:hidden;
	border-radius:10px;
}
#spot .text {
	margin-bottom: 20px;
	font-size: 116%;
	line-height: 1.8;
}
#spot .col-left .image {
	margin-bottom: 0;
}
#spot .image dd {
	color: #1B3B4F;
	padding: 5px;
	font-size: 93%;
	font-weight:bold;
	text-align: left;
}
#spot.seaside .text i {
	color:#0099d9;
}
#spot.downtown .text i {
	color:#e95383;
}
#spot.satoyama .text i {
	color:#43b149;
}

#spot01 .course_info {
	border-top: solid 5px #0099d9;
	border-bottom: solid 5px #0099d9;
}
#spot02 .course_info,
#spot02_2 .course_info {
	border-top: solid 5px #e95383;
	border-bottom: solid 5px #e95383;
}
#spot03 .course_info,
#spot03_2 .course_info {
	border-top: solid 5px #43b149;
	border-bottom: solid 5px #43b149;
}

.spot_icon_01,
.spot_icon_02,
.spot_icon_03 {
	margin-right: -10px;
}
.spot_icon_01 { color:#0099d9;}
.spot_icon_02 { color:#e95383;}
.spot_icon_03 { color:#43b149;}



/* other
-------------------------------------------------------------------------------*/
/* other */
.fontS {font-size:76% !important;}
.fontM {font-size:86% !important; }
.fontL {font-size:125% !important; }
.fontL2 {font-size:150% !important;}
.clr_point {color:#f37137;}
.alnC {text-align:center;}
.mb10 {margin-bottom:10px;}
.mr10 {margin-right:10px;}
.d_block {display:block;}
.fontB {font-weight:bold;}

/* コース概要 */
.course_info {
	margin-top: 20px;
	margin-bottom: 30px;
	text-align: center;
	padding: 25px 20px 25px 20px;
	text-align:center;
	/*border-bottom:dotted 2px #ccc;*/
	font-weight:bold;
	font-size: 145%;
	background: #f3f3f3;
	line-height: 1.5;
}

#spot p span {
	padding: 3px 5px;
	border-radius: 5px;
	line-height: 2;
	margin-bottom: 3px;
	font-weight: bold;
}
#spot p span.start,
#spot p span.goal {
	background: #777;
	color:#fff;
	font-size:86%;
	padding: 3px 10px;
}
#spot.seaside p span.start,
#spot.seaside p span.goal {
	background: #0099d9;
}
#spot.downtown p span.start,
#spot.downtown p span.goal {
	background: #e95383;
}
#spot.satoyama p span.start,
#spot.satoyama p span.goal {
	background: #43b149;
}
/* area_link */
.area_link {
	text-align:center;
}
.area_link li {
	background: #fff;
	display: inline-block;
	margin-bottom:20px;
	border-radius:5px;
	width:32%;
	font-weight:bold;
	text-align:center;
	font-size:120%;
	color:#fff;
}
.area_link li a {
	display:block;
	padding:10px 10px 0 10px;
	font-size:90%;
}
.area_link li a:hover {
	color: rgba(255,255,255,0.7);
}
.area_link li span.icn {
	font-size:8px;
	color:#fff;
	margin-right:5px;
}
.area_link li.seaside {
	background:#0099d9;
}
.area_link li.downtown {
	background:#e95383;
}
.area_link li.satoyama {
	background:#43b149;
}
/* route */
.route {
	background:#fff;
	padding:1em;
	margin-top: 10px;
	margin-bottom: 10px;
	border-radius:5px;
}
.route img {
	overflow:hidden;
	border-radius:5px;
}
.route .title {
	font-size: 140%;
	font-weight: bold;
	margin:10px 15px;
}
/*
#spot.seaside .route .title {
	color:#0099d9;
}
#spot.downtown .route .title {
	color:#e95383;
}
#spot.satoyama .route .title {
	color:#43b149;
}*/
.route .fltL {
	float:left;
	margin-right:15px;
}
.route .fltR {
	float:right;
	margin-left:15px;
}
#spot .route .text {
	margin-bottom:0;
}
#spot h3 {
	height: 145px;
}
.spot_box {
	/*border:dotted 3px #0099d9;*/
	background:#fffcdb;
	border-radius:10px;
	padding:15px;
	margin-bottom:20px;
}
.spot_box h5 {
	color:#0099d9;
	font-weight:bold;
	margin-bottom:5px;
}
.spot_box .btn_link {
	margin-top:15px;
	margin-bottom:5px;
}
.spot_box .btn_link a {
	background: #fff;
	padding: 5px 10px;
	border: solid 1px #ccc;
	border-radius: 15px;
	font-size: 92%;
}
.arrow {
	text-align:center;
	font-size:120%;
	padding:10px;
	font-weight:bold;
}
.seaside .arrow i {
	color:#0099d9;
}
.downtown .arrow i {
	color:#e95383;
}
.satoyama .arrow i {
	color:#43b149;
}
.route_list {
	margin-bottom:20px;
	overflow: hidden;
}
.route_content{
	overflow: hidden;
}
.fa-inverse {
	font-weight:bold;
}

/* アコーディオンメニュー */
.cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto 20px;
	color: #ffffff;
}
.cp_actab input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab label {
	font-weight: bold;
	line-height: 3;
	position: relative;
	display: block;
	padding: 0 0 0 1em;
	cursor: pointer;
	margin: 0 0 1px 0;
	font-size: 110%;
	border-radius:5px;
}
.seaside .cp_actab label {
	background: #0099d9;
}
.downtown .cp_actab label {
	background: #e95383;
}
.satoyama .cp_actab label {
	background: #43b149;
}
.cp_actab label:hover {
	opacity: 0.8;
}
.cp_actab .cp_actab-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
}
.cp_actab .cp_actab-content p {
	margin: 1em;
}
.cp_actab input:checked ~ .cp_actab-content {
	max-height: 100%;
}
.cp_actab label::after {
	line-height: 3;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 3em;
	height: 3em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}
/* recommend */
.recommend {
	padding: 10px 0;
margin-top:25px;
}
.recommend.seaside {
	background: #cadbf3;
	border-top: solid 3px #0099d9;
}
.recommend.downtown {
	background: #f4c8d2;
	border-top: solid 3px #e95383;
}
.recommend.satoyama {
	background: #bbe6a8;
	border-top: solid 3px #43b149;
}
.recommend h5 {
	font-size: 120%;
	font-weight: bold;
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: center;
}
.recommend ul {
	text-align: center;
	margin-bottom: 30px;
}
.recommend ul li {
	display: inline-block;
}
.recommend ul li a {
	padding: 10px 20px;
	background: #fff;
	border-radius: 5px;
	font-weight:bold;
	text-decoration: none;
	margin: 0 3px;
}
.recommend ul li a:hover {
	opacity: 0.8;
}

/* Media queries!
-------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
	#spot .box {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	#spot .image {
		margin-bottom: 10px;
		margin-right: 0;
		float: none;
	}
	#spot .image dd {
		text-align: center;
	}
	#spot h3 {
		margin: 20px 0 10px;
		font-size: 18px;
		line-height: inherit;
		white-space: normal;
	}
	#spot h3.top {
		height: auto;
	}
	#spot .heading p {
		margin-top: 10px;
		padding-top: 10px;
	}
	.area_link li {
		width:100%;
	}
	.route { padding: 1.5em 1em;}
	.route .fltL,
	.route .fltR {
		float:none;
		margin:0 auto;
		text-align:center;
	}
	.recommend ul {
		margin-bottom: 0;
	}
	.recommend ul li a {
		display: block;
		margin-bottom: 10px;
	}
}

@media screen and (max-width: 480px) {

	.course_info {
		font-size:125%;
	}
	#spot .stitle {
		font-size:160%;
	}
	#spot .stitle .icn_01, #spot .stitle .icn_02, #spot .stitle .icn_03 {
		width:30px;
		height:30px;
	}
	#spot .image {
		margin-bottom: 10px;
		margin-right: 0;
		float: none;
	}
	#spot h3 {
		margin: 0;
		vertical-align:middle;
	}
	#spot .col-box {
		word-break:break-all;
	}
	#spot .col-box th{
		width: 90px;
	}
}

/* wrapper */
.special-model-course{
  background:linear-gradient(180deg,#f6fbff 0%,#fff8fb 45%,#f6fff5 100%);
  padding-bottom:72px;
}
.special-model-course .content{
  max-width:1100px;
  margin:0 auto;
  padding:0 16px;
}
.special-model-course #main.col-left.special{
  float:none;
  width:100%;
  background:#fff;
  border:1px solid #e8e8e8;
  border-radius:12px;
  padding:14px 12px 28px;
  box-shadow:0 8px 20px rgba(49,62,87,.08);
}

/* requested override */
.area_link li a {
  color: #fff;
  text-decoration: none;
}
.area_link li a:hover {
	color: rgba(255,255,255,0.7);
	text-decoration: none;
}

/* route force-fix */
.cp_actab .cp_actab-content .route {
	display: flex !important;
	align-items: flex-start !important;
	gap: 14px !important;
}
.cp_actab .cp_actab-content .route .fltL {
	float: none !important;
	flex: 0 0 250px !important;
	margin: 0 !important;
}
.cp_actab .cp_actab-content .route .route_content {
	display: block !important;
	flex: 1 1 auto !important;
	overflow: visible !important;
	color: #222 !important;
}
.cp_actab .cp_actab-content .route .route_content .title,
.cp_actab .cp_actab-content .route .route_content .text {
	color: #222 !important;
}
.cp_actab .cp_actab-content .route .route_content a {
	color: #0f78b9 !important;
	text-decoration: underline !important;
}

@media screen and (max-width: 768px) {
	.cp_actab .cp_actab-content .route {
		display: block !important;
	}
	.cp_actab .cp_actab-content .route .fltL {
		width: 100% !important;
		text-align: center !important;
		margin-bottom: 10px !important;
	}
}
