/* CSS Document */

.cms_toppad{height:120px;}
.content_box .cms_toppad + .Wbase .subtitle1{
	color: #585858;
	padding-top: 70px;
	padding-bottom: 30px;
	margin-bottom: 80px;
}
.content_box .cms_toppad + .Wbase .subtitle1 h3{
	font-size: 150%;
}
@media screen and (max-width: 999px) {
	.cms_toppad{height:60px;}
	.content_box .cms_toppad + .Wbase .subtitle1{
		padding-top: 0;
		margin-bottom: 40px;
	}
}

.cms_menu{
	display: flex;
	flex-wrap: wrap;
}
.cms_menu > *{
	display: block;
	width: 200px;
	border: solid 1px #00B390;
	background-color: #FFF;
	color: #00B390;
	padding: 1em 0;
}
.cms_menu > *.current{
	background-color: #00B390;
	color:#FFF;
}
@media screen and (max-width: 999px) {
	.cms_menu{width:90%;}
	.cms_menu > *{width:48%;}
	.cms_menu > *:nth-child(2n+2){margin-left: 4%;}
	.cms_menu > *:nth-child(n+3){margin-top: 4%;}
}

.cms_list{
	display:flex;
	flex-wrap: wrap;
	margin-top: 120px;
}
.cms_list.textonly li{
	width:100%;
	display: flex;
	justify-content: flex-start;
}
.cms_list.textonly li:nth-of-type(n+2){margin-top: 1em;}
.cms_list li .photo{
	position: relative;
	margin-bottom: 0.75em;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:auto 100%;
}
.cms_list.textonly li .photo{margin-bottom: 0;}
.cms_list li .photo.typeH{background-size:100% auto;}
.cms_list li .photo.noimg{background-color: #EEE;}
.cms_list li a .photo{
	-webkit-transition: 0.6s ease;
	-moz-transition: 0.6s ease;
	-o-transition: 0.6s ease;
	-ms-transition: 0.6s ease;
	transition: 0.6s ease;
}
.cms_list li a:hover .photo{background-size:auto 120%;}
.cms_list li a:hover .photo.typeH{background-size:120% auto;}
.cms_list li .photo img{width:100%;}
.cms_list li .photo .cate{
	font-size: 75%;
	line-height: 30px;
	text-align: center;
	min-width:100px;
	background-color: #01876B;
	color:#FFF;
}
.cms_list:not(.textonly) li .photo .cate{
	position: absolute;
	top:0;
	left:0;
}
.cms_list li .text{
	line-height: normal;
	text-align: left;
	border-left: solid 4px #01876B;
	padding-left: 8px;
}
.cms_list.textonly li .text{
	display: flex;
	align-items: center;
}
.cms_list.textonly li .text > *{
	position: relative;
}
.cms_list.textonly li .text > * img[src*="camera"]{
	display: inline-block;
	height:1.2em;
	width:auto;
	margin-left: 0.25em;
	vertical-align: -0.15em;
}
.cms_list li .date{
	font-size: 75%;
	line-height: normal;
	text-align: left;
	padding-left: 12px;
	margin-top: 8px;
}
.cms_list li .text > .date{
	padding-left: 0;
	margin-top: 0;
	min-width: 7em;
	text-align: center;
}
@media screen and (min-width: 1000px) {
	.cms_toppad + .Wbase.sp_LRpad .cms_list{margin-top: 30px;}
	.cms_list:not(.textonly) li{
		width:30%;
		margin-bottom: 5%;
	}
	.cms_list:not(.textonly) li:nth-of-type(3n+2),
	.cms_list:not(.textonly) li:nth-of-type(3n+3){margin-left: 5%;}
}
@media screen and (max-width: 999px) {
	.cms_list{margin-top: 60px;}
	.cms_toppad + .Wbase.sp_LRpad .cms_list{margin-top: 0;}
	.cms_list:not(.textonly) li{width:100%;}
	.cms_list:not(.textonly) li:nth-of-type(n+2){margin-top: 2em;}
}

.cms_pager{
	margin: 40px auto 0;
	width:100%;
	max-width: 490px;
	display: flex;
	text-align: center;
	color:#00B390;
}
.cms_dt_end + .cms_pager{
	margin-top: 80px;
	max-width: 290px;
}
.cms_pager > *{
	flex-grow:1;
	font-size: 125%;
	line-height: 150%;
	position: relative;
	border:solid #00B390;
	border-width: 2px 1px;
}
.cms_pager > *:nth-child(2),
.cms_pager > *:nth-last-child(2){border-width: 2px;}
.cms_pager > *.current{
	background-color: #00B390;
	color:#FFF;
}
.cms_pager > .min,
.cms_pager > .max{
	max-width: 45px;
	min-width: 45px;
	border:none;
}
.cms_pager > .min img,
.cms_pager > .max img{
	position: absolute;
	top:0;
	bottom:0;
	margin: auto;
	height: 30px;
}
.cms_pager > .min img{left:0;}
.cms_pager > .max img{right:0;}

.cms_dt_photo ~ .cms_dt_photo{margin-top: 1em;}
.cms_dt_photo img{width:100%;}
.cms_dt_photo img.noimg{background-color: #EEE;}
.cms_dt_photo .text{
	text-align: left;
	font-size: 90%;
	line-height: 150%;
	margin-top: 0.5em;
}
.cms_dt_date{margin-bottom: 0.5em;}
.cms_dt_date > div{
	position: relative;
	border-bottom:solid 1px #DCDCDC;
	text-align: right;
	padding-top: 0.33em;
	padding-bottom: 0.125em;
}
.cms_dt_date > div .cate{
	position: absolute;
	top:0;
	left:0;
	display: block;
	background-color: #01876B;
	color:#FFF;
	text-align: center;
	font-size: 75%;
	line-height: 184%;
	width: 8em;
}
.cms_dt_date > div .date{
	display: inline-block;
	font-size: 90%;
	line-height: 150%;
}
.cms_dt_text{
	text-align: left;
	line-height: 150%;
}
@media screen and (min-width: 1000px) {
	.cms_dt_photo{
		float: left;
		clear: left;
		width:50%;
	}
	.cms_dt_date,
	.cms_dt_text{width:100%;}
	.cms_dt_photo ~ .cms_dt_date,
	.cms_dt_photo ~ .cms_dt_text{
		float: right;
		clear: right;
		width:50%;
		padding-left: 20px;
	}
}
@media screen and (max-width: 999px) {
	.cms_dt_photo + .cms_dt_date{margin-top: 20px;}
}

.cms_catalog{
	padding-top: 90px;
	display:flex;
	flex-wrap: wrap;
}
.cms_catalog li .photo{
	display: block;
	position: relative;
	margin-bottom: 1em;
}
.cms_catalog li .photo.noimg{background-color: #EEE;}
.cms_catalog li .photo img{width:100%;}
.cms_catalog li .photo span:last-child{
	display: block;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border: solid 1px rgba(0,0,0,0.5);
	z-index: 2;
}
.cms_catalog li .title{
	font-weight: bold;
	line-height: 150%;
	word-break: keep-all;
}
.cms_catalog li .title span:last-child{
	display: block;
	border-top: solid 2px #01876B;
	width:3em;
	margin: 1em auto;
}
.cms_catalog li .text{
	text-align: left;
	font-size: 87.5%;
	line-height: 150%;
}
@media screen and (min-width: 1000px) {
	.cms_catalog li{
		width:30%;
		margin-bottom: 5%;
	}
	.cms_catalog li:nth-of-type(3n+2),
	.cms_catalog li:nth-of-type(3n+3){margin-left: 5%;}
}
@media screen and (max-width: 999px) {
	.cms_catalog{padding-top: 45px;}
	.cms_catalog li{width:100%;}
	.cms_catalog li:nth-of-type(n+2){margin-top: 2em;}
}

.catalog_slide,
.catalog_slide .loop ul{
	display: flex;
}
.catalog_slide{
	margin-top: 45px;
	margin-bottom: 40px;
}
.catalog_slide > *{
	flex-grow: 1;
	position: relative;
}
.catalog_slide .btnL,
.catalog_slide .btnR{
	max-width: 45px;
	min-width: 45px;	
	min-height:30px;
	cursor: pointer;
	z-index: 2;
}
.catalog_slide.noloop .btnL,
.catalog_slide.noloop .btnR{
	display: none;
}
.catalog_slide .btnL img,
.catalog_slide .btnR img{
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 30px;
}
.catalog_slide .btnL img{left:0;}
.catalog_slide .btnR img{right:0;}
.catalog_slide .loop{
	overflow:hidden;
	z-index: 1;
}
.catalog_slide .loop ul{}
.catalog_slide.noloop .loop ul{margin: auto;}
.catalog_slide .loop li{width:186px;margin-right: 22px;}
.catalog_slide .loop li:last-child{margin-right:0;}
.catalog_slide .loop li .photo{
	display: block;
	position: relative;
}
.catalog_slide .loop li .photo.noimg{background-color: #EEE;}
.catalog_slide .loop li .photo img{width:100%;}
.catalog_slide .loop li .photo span:last-child{
	display: block;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border: solid 1px rgba(0,0,0,0.5);
	z-index: 2;
}
@media screen and (max-width: 999px) {
	.catalog_slide{
		margin: 4.5vw 0 4vw;
	}
	.catalog_slide.noloop .loop ul{max-width:90%;}
	/*
	.catalog_slide .btnL,
	.catalog_slide .btnR{
		max-width: 30px;
		min-width: 30px;
	}
	*/
	.catalog_slide .btnL{margin-right: -45px;}
	.catalog_slide .btnR{margin-left: -45px;}
	.catalog_slide .btnL img{left:15px;}
	.catalog_slide .btnR img{right:15px;}
	.catalog_slide .loop li{margin-right: 2.2vw;}
}