@charset "utf-8";

/* ---------------------------------------- 
 - program（一覧ページ＆共通）
---------------------------------------- */
#program {
	width: 90%;
	max-width: 1100px;
	margin: 60px auto;
	text-align: center;
}
#program .mainLead {
	max-width: 700px;
	font-size:1.6rem;
	margin: 0 auto 50px;
}
/* categpryBox */
#program .categpryBox {
	padding-bottom: 65px;
}
#program .categpryBox ul.categpryList {
	box-sizing: border-box;
    display: flex;
	justify-content: center;
}
#program .categpryBox ul.categpryList li {
	width: 20%;
	max-width:210px;
	margin: 0 5px;
}
#program .categpryBox ul.categpryList li:first-child {
	margin-left: 0;
}
#program .categpryBox ul.categpryList li:last-child {
	margin-right: 0;
}
#program .categpryBox ul.categpryList li > span {
	width:100%;
	display: block;
	box-sizing: border-box;
	border: solid 1px #007545;
	border-radius: 30px;
	padding: 5px;
	cursor: pointer;
	transition: all 0.3s;
}
#program .categpryBox ul.categpryList li > span.selected,
#program .categpryBox ul.categpryList li > span:hover {
	background: #007545;
	color:#fff;
}
#program .categpryBox ul.categpryList li.wellness > span { /* ウェルネス */
	border: solid 1px #39a0b6;
}
#program .categpryBox ul.categpryList li.wellness > span.selected,
#program .categpryBox ul.categpryList li.wellness > span:hover { /* ウェルネス */
	background: #39a0b6;
}
#program .categpryBox ul.categpryList li.team-building > span { /* チームビルディング */
	border: solid 1px #daa655;
}
#program .categpryBox ul.categpryList li.team-building > span.selected,
#program .categpryBox ul.categpryList li.team-building > span:hover { /* チームビルディング */
	background: #daa655;
}
#program .categpryBox ul.categpryList li.skillup > span { /* 知識・スキルアップ */
	border: solid 1px #dd66af;
}
#program .categpryBox ul.categpryList li.skillup > span.selected,
#program .categpryBox ul.categpryList li.skillup > span:hover { /* 知識・スキルアップ */
	background: #dd66af;
}
#program .categpryBox ul.categpryList li.activity > span { /* アウトドアアクティビティ */
	border: solid 1px #75c043;
}
#program .categpryBox ul.categpryList li.activity > span.selected,
#program .categpryBox ul.categpryList li.activity > span:hover { /* アウトドアアクティビティ */
	background: #75c043;
}
/* programList */
#program ul.programList {
	width: 100%;
	padding-bottom: 30px;
	box-sizing: border-box;
    display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#program ul.programList::after {
    content: "";
    display: block;
    width: 31%;
}
#program ul.programList li {
	width: 31%;
	border-bottom: solid 1px #d4d4d4;
	text-align: left;
	padding-bottom: 90px;
	margin-bottom: 30px;
	position: relative;
}
#program ul.programList li .phtBox{
	width: 100%;
    overflow: hidden;
    box-sizing: border-box;
    height: auto;
    position: relative;
}
#program ul.programList li .phtBox a{
	display: block;
}
#program ul.programList li .phtBox::before {
    content: '';
    display: block;
    padding-top: 66%;
}
#program ul.programList li .phtBox img {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
	margin: auto;
    transition: transform 0.5s ease-out;
}
#program ul.programList li .phtBox a:hover img {
    transform: scale(1.03);	    
}
#program ul.programList li .txtBox {
	width: 100%;
	padding-top: 15px;
}
#program ul.programList li .txtBox .category{
	color:#a5a5a5;
	font-size: 1.2rem;
	padding: 0 0 0.5em;
	display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}
#program ul.programList li .txtBox .ttl{
	font-size: 1.6rem;
	padding: 0 0 10px;
	margin: 0 auto 15px;
	font-weight: bold;
	border-bottom: dotted 1px #d4d4d4;
}
#program ul.programList li .txtBox .txt{
	font-size: 1.3rem;
}
#program ul.programList li .txtBox .btnMore{
	width: 90%;
	min-width: 240px !important;
	margin: 0 0 0 auto !important;
	position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translate(-50%,0);
}
#program ul.programList li .txtBox .btnMore a {
    padding: 0 15px !important;
    height: 35px !important;
    line-height: 35px !important;
    font-size: 1.2rem !important;
}
/* tab */
#program ul.programList li .txtBox .tab,
#program #detail #detailTitle .category .tab{
	color:#fff;
	font-size: 1.2rem;
	background: #007545; /* 調整 */
	padding: 0 10px;
	min-width:70px;
	display: inline-block;
	text-align: center;
	margin-right: 5px;
    margin-bottom: 5px;
}
#program ul.programList li .txtBox .tab:last-child,
#program #detail #detailTitle .category .tab:last-child{
	margin-right: 0;
}
#program ul.programList li .txtBox .tab.wellness,
#program #detail #detailTitle .category .tab.wellness{ /* ウェルネス */
	background: #39a0b6;
}
#program ul.programList li .txtBox .tab.team-building,
#program #detail #detailTitle .category .tab.team-building{ /* チームビルディング */
	background: #daa655;
}
#program ul.programList li .txtBox .tab.skillup,
#program #detail #detailTitle .category .tab.skillup{ /* 知識・スキルアップ */
	background: #dd66af;
}
#program ul.programList li .txtBox .tab.activity,
#program #detail #detailTitle .category .tab.activity{ /* アウトドアアクティビティ */
	background: #75c043;
}
/* pagerBox */
#program .pagerBox {
	max-width:450px;
	margin: 0 auto;
}
#program .pagerBox ul {
	display: -webkit-flex;
    display: flex;
	justify-content:center;	
}
#program .pagerBox ul li {
	display:inline-block;
	padding:0 1%;
	font-size:1.3rem;
	margin: 0 5px;
}
#program .pagerBox ul li a {
	display:block;
	padding:5px;
	border:solid 1px #ddd;
	transition: all 0.5s;
	letter-spacing:0.1em;
	min-width: 35px;
    text-align: center;
    box-sizing: border-box;
}
#program .pagerBox ul li span {
	display:block;
	padding:5px 0;
	transition: all 0.5s;
	letter-spacing:0.1em;
}
#program .pagerBox ul li a:hover,
#program .pagerBox ul li a.active {
	background:#f3f3f0;
	text-decoration:none;
}
@media screen and (min-width: 951px) and (max-width: 1000px) { /* 調整 */
	/* categpryBox */
	#program .categpryBox ul.categpryList li {
		font-size: 1.2vw;
	}
}
@media screen and (max-width: 950px) { /* 調整 */
	/* categpryBox */
	#program .categpryBox {
		padding-bottom: 20px;
	}
	#program .categpryBox ul.categpryList {
		flex-wrap: wrap;
		max-width: 550px;
		margin: 0 auto;
	}
	#program .categpryBox ul.categpryList li {
		width: 48%;
		max-width:48%;
		margin: 0 auto 15px;
	}
	#program .categpryBox ul.categpryList li:first-child {
		width: 100%;
		max-width:100%;
	}
	#program ul.programList::after {
		display: none;
	}
	#program ul.programList li {
		width: 48%;
	}
	#program ul.programList li .txtBox .ttl {
		font-size: 1.5rem;
	}
	#program ul.programList li .txtBox .txt {
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 768px) {
	#program {
		margin-top: 50px;
		margin-bottom: 50px;
	}	
	/* programList */
	#program ul.programList {
		width: 100%;
		padding-bottom: 20px;
		display: block;
	}
	#program ul.programList li {
		width: 100%;
		max-width: 550px;
		padding-bottom: 85px;
		margin: 0 auto 25px;
		display: block;
	}
	#program ul.programList li .phtBox {
		width: 100%;
	}
	/* pagerBox */
	#program .pagerBox ul li {
		font-size:1.3rem;
	}
}
@media screen and (max-width: 480px) {
	#program .mainLead {
		margin-bottom: 30px;
		font-size: 1.5rem;
	}
	/* programList */
	#program ul.programList li .txtBox .category {
		font-size: 1.3rem;
	}
	#program ul.programList li .txtBox .ttl {
		font-size: 1.6rem;
	}
	#program ul.programList li .txtBox .txt {
		font-size: 1.3rem;
	}
}

/* ---------------------------------------- 
 - detail（詳細ページ）
---------------------------------------- */
#program #detail {
	margin:0 auto;
	width:92%;
	max-width: 750px;
	min-height: 250px;
}
#program #detail a{
	text-decoration:underline;
}
#program #detail a:hover{
	text-decoration:none;
}
/* detailTitle */
#program #detail #detailTitle {
	margin:0 auto 35px;
	width:100%;
	padding:0 0 25px;
	text-align: left;
	border-bottom: solid 1px #d4d4d4;
}
#program #detail #detailTitle .category {
	font-size:1.2rem;
	padding:0 0 10px;
	color:#a5a5a5;
}
#program #detail #detailTitle .ttl {
	font-size:2.2rem;
	font-weight:bold;
}
/* thumbCol */
#program #detail #thumbCol {
	margin:0 auto;
	width:100%;
	margin-bottom:40px;
	text-align: center;
}
#program #detail #thumbCol img {
	width:auto;
	max-width:100%;
}
/* detailCol */
#program #detail #detailCol {
	margin:0 auto;
	width:100%;
	margin-bottom: 50px;
	padding-bottom: 50px;
	border-bottom: solid 1px #d7d7d7;
	text-align: left;
}
/* 見出しタイトル */
#program #detail #detailCol .midashi {
	font-size:2.0rem;
	line-height: 1.6;
	margin-bottom: 1.5em;
}
/* 説明文 */
#program #detail #detailCol .lead {
	margin-bottom: 2.5em;
}
/* 基本情報 */
#program #detail #detailCol table.info {
	width: 100%;
	margin-bottom: 2.5em;
	box-sizing: border-box;
	border-top: solid 1px #d4d4d4;
	border-left: solid 1px #d4d4d4;
}
#program #detail #detailCol table.info th {
	width: 7em;
	padding: 10px 20px;
	box-sizing: border-box;
	border-right: solid 1px #d4d4d4;
	border-bottom: solid 1px #d4d4d4;
	background: #f3f3f0;
	text-align: center;
	vertical-align: middle;
}
#program #detail #detailCol table.info td {
	padding: 10px 20px;
	box-sizing: border-box;
	border-right: solid 1px #d4d4d4;
	border-bottom: solid 1px #d4d4d4;
	vertical-align: middle;
}
/* おすすめPOINT！ */
#program #detail #detailCol .point {
	background: #f3f3f0;
	padding: 25px 25px 25px 0;
	display: flex;
	justify-content: space-between;
}
#program #detail #detailCol .point .ico {
	width: 165px;
	margin-right: 20px;
}
#program #detail #detailCol .point .txt {
	flex:1;
}
@media screen and (max-width: 768px) {
	/* detailTitle */
	#program #detail #detailTitle {
		margin-bottom:25px;
		padding-bottom:20px;
	}
	#program #detail #detailTitle .category {
		font-size:1.2rem;
	}
	#program #detail #detailTitle .ttl {
		font-size:2.0rem;
		line-height: 1.6;
	}
	/* thumbCol */
	#program #detail #thumbCol {
		margin-bottom:25px;
	}
	/* detailCol */
	#program #detail #detailCol {
		margin-bottom: 35px;
		padding-bottom: 35px;
	}	
	/* 見出しタイトル */
	#program #detail #detailCol .midashi {
		font-size:1.8rem;
		margin-bottom: 1.0em;
	}
	/* 説明文 */
	#program #detail #detailCol .lead {
		margin-bottom: 2.0em;
	}
	/* 基本情報 */
	#program #detail #detailCol table.info th,
	#program #detail #detailCol table.info td{
		width: 4em;
		padding: 5px 10px;
	}
	/* おすすめPOINT！ */
	#program #detail #detailCol .point {
		padding: 0;
		display: block;
	}
	#program #detail #detailCol .point .ico {
		width: 165px;
		margin-right: 0;
	}
	#program #detail #detailCol .point .txt {
		padding: 15px 5%;
	}
}