/* ----------------------------------------
list_01
---------------------------------------- */
.list_01 {
	padding-left: 300px;
}

.list_01_blok {
	width: 1100px;
	margin: 50px auto 0;
}

.list_01_row {
	margin: 30px 0 0 0;
	display: block;
}

.list_01_row ul {
	display: flex;
	flex-wrap: wrap;
}

.list_01_row li {
	flex-basis: 340px;
	margin: 0 37px 35px 0;
	border: 1px solid #cccccc;
	box-shadow: 0px 0px 3px 3px rgba(153, 153, 153, 0.2);
	box-sizing: border-box;
	position: relative;
}

.list_01_row li:nth-child(3n) {
	margin: 0 0 35px 0;
}

.list_01_row li:hover iframe,
.list_01_row li:hover .thum,
.list_01_row li:hover .date,
.list_01_row li:hover>p,
.list_01_row li:hover>a {
	opacity: 0.7;
}

.list_01_row li>a {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background
	/*Â¥**/
	: #fffÂ¥9;
	filter: alpha(opacity=0);
}

.list_01_row .thumb {
	display: block;
}

.list_01_row iframe {
	width: 340px;
	height: 200px;
	display: block;
}

.list_01_row .thumb img {
	width: 340px;
	height: 200px;
	font-family: 'object-fit: cover';
	object-fit: cover;
}

.list_01_row .thumb img:empty {
	display: none;
}

.list_01_row .date {
	color: #999999;
	font-size: 14px;
	line-height: 18px;
	padding: 12px 0 0 12px;
}

.list_01_row li a>p {
	width: 320px;
	padding: 0 10px;
	position: absolute;
	top: 210px;
	display: block;
	font-size: 15px;
	color: #111111;
	line-height: 24px;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	height: 44px;
	letter-spacing: 0;
}

.list_01_row .tag {
	padding: 0 10px;
	padding-top: 65px;
	padding-bottom: 15px;
}

.list_01_row .tag p {
	white-space: nowrap;
	overflow-y: hidden;
	overflow-x: auto;
}

.list_01_row .tag label {
	cursor: pointer;
	display: block;
	float: left;
	margin: 1px;
}

.list_01_row .tag label a {
	display: block;
	border: 1px solid #3f98d7;
	background: #fff;
	border-radius: 3px;
	padding: 2px 5px;
	position: relative;
	z-index: 10;
	color: #3f98d7;
	font-size: 11px;
	line-height: 15px;
	letter-spacing: 0;
}

.list_01_row .tag label:hover a {
	background: #3f98d7;
	color: #fff;
}

/* ----------------------------------------
list_02
---------------------------------------- */
.list_02_blok {
	width: 1100px;
	margin: 0 auto;
}

.list_02_row {
	margin: 30px 0 0 0;
	display: block;
}

.list_02_row ul {
	display: flex;
	flex-wrap: wrap;
}

.list_02_row li {
	flex-basis: 530px;
	height: 170px;
	margin: 0 35px 40px 0;
	border: 1px solid #cccccc;
	box-shadow: 0px 0px 3px 3px rgba(153, 153, 153, 0.2);
	box-sizing: border-box;
	position: relative
}

.list_02_row li:nth-child(2n) {
	margin: 0 0 35px 0;
}

.list_02_row li:hover {
	opacity: 0.6;
}

.list_02_row .thumb {
	display: block;
	float: left;
}

.list_02_row iframe {
	width: 298px;
	height: 168px;
	display: block;
}

.list_02_row .date {
	color: #999;
	font-size: 14px;
	line-height: 18px;
	padding: 12px 0 0 12px;
	float: left;
}

.list_02_row li>a {
	position: absolute;
	width: 100%;
	height: 100%;
	text-decoration: none;
	top: 0;
	left: 0;
}

.list_02_row li>a p {
	position: relative;
	left: 305px;
	top: 10px;
	width: 210px;
	color: #111;
	font-size: 15px;
	line-height: 24px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	height: 70px;
	overflow: hidden;
}

.list_02_row .tag {
	position: relative;
	padding-left: 305px;
	padding-top: 90px;
	padding-right: 10px;
}

.list_02_row .tag p {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}

.list_02_row .tag label {
	cursor: pointer;
	display: block;
	float: left;
	margin: 1px;
}

.list_02_row .tag label a {
	display: block;
	border: 1px solid #3f98d7;
	background: #fff;
	border-radius: 3px;
	padding: 2px 5px;
	position: relative;
	z-index: 10;
	color: #3f98d7;
	font-size: 11px;
	line-height: 15px;
	text-decoration: none;
}

.list_02_row .tag label:hover a {
	background: #3f98d7;
	color: #fff;
}

/* ----------------------------------------
list_03
---------------------------------------- */
.list_03_blok {
	width: 1100px;
	margin: 0 auto;
}

.list_03_row {
	margin: 20px 0 0 0;
	display: block;
}

.list_03_row ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
}

.list_03_row li {
	flex-basis: 530px;
	height: 415px;
	margin: 0 35px 40px 0;
	border: 1px solid #cccccc;
	box-shadow: 0px 0px 3px 3px rgba(153, 153, 153, 0.2);
	box-sizing: border-box;
	position: relative;
	background-color: #fff;
}

.list_03_row li:nth-child(2n) {
	margin: 0 0 35px 0;
}

.list_03_row li:hover {
	opacity: 0.6;
}

.list_03_row .thumb {
	display: block;
}

.list_03_row iframe {
	width: 528px;
	height: 298px;
	display: block;
}

.list_03_row .date {
	color: #999999;
	font-size: 14px;
	line-height: 18px;
	padding: 12px 0 0 12px;
}

.list_03_row li>a {
	position: absolute;
	width: 100%;
	height: 100%;
	text-decoration: none;
	top: 0;
	left: 0;
}

.list_03_row a p {
	position: relative;
	top: 310px;
	padding: 0 10px;
	color: #111;
	font-size: 15px;
	line-height: 24px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	height: 44px;
	overflow: hidden;
}

.list_03_row .tag {
	padding-top: 65px;
	padding-left: 10px;
	padding-right: 10px;
}

.list_03_row .tag p {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}

.list_03_row .tag label {
	cursor: pointer;
	display: block;
	margin: 1px;
}

.list_03_row .tag label a {
	display: block;
	border: 1px solid #3f98d7;
	background: #fff;
	border-radius: 3px;
	padding: 2px 5px;
	position: relative;
	z-index: 10;
	color: #3f98d7;
	font-size: 13px;
	line-height: 16px;
}

.list_03_row .tag label:hover a {
	background: #3f98d7;
	color: #fff;
}

/*-----list_04(社内用ch)-----*/
.list_04 {
	margin: 0 auto;
}

.list_04_blok {
	width: 100%;
	margin: 0 0 0 auto;
	position: relative;
}

.list_04_row {}

.list_04_row ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: grid;
	width: 99%;
	margin: 0 auto;
}

@media screen and (min-width: 1200px) {
	.list_04_row ul {
		grid-template-columns: repeat(4, 1fr);
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 1199px) and (min-width:801px) {
	.list_04_row ul {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 800px) {
	.list_04_row ul {
		grid-template-columns: repeat(2, 1fr);
	}
}

.list_04_row li {
    background: #f9f7f1;
    box-shadow: 0 10px 10px -5px rgb(0 0 0 / 20%);
    box-sizing: border-box;
    position: relative;
    cursor: pointer;
    margin: 3.5%;
    min-width: 350px;
    max-width: 470px;
    padding-bottom: 20px;
}

.list_04_row li:hover {
	background: #e6f4fb;
}

.list_04_row li>a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	display: block;
}

.list_04_row a p {
	margin: 0 25px;
	padding-top: 20px;
	padding-bottom: 5px;
	color: #111;
	font-size: 17px;
	line-height: 26px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	border-bottom: 1px solid #111;
}

.list_04_row .thumb {
	margin: 0 25px;
	margin-top: 62px;
	position: relative;
	padding-top: 56.25%;
	margin-top: 62px;
}

.list_04_row .thumb img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.list_04_row iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.list_04_row .tag {
	padding: 0 25px;
}

.list_04_row .tag p {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}

.list_04_row .tag label {
	cursor: pointer;
	display: block;
	margin-right: 4px;
	margin-bottom: 4px;
}

.list_04_row .tag label a {
	display: block;
	background: #103769;
	border-radius: 3px;
	padding: 4px 12px;
	position: relative;
	z-index: 10;
	color: #fff;
	font-size: 13px;
	line-height: 19px;
}

.list_04_row .tag label:hover a {
	background: #008dd0;
}

.list_04_row .dl_button {
	left: 20px;
	padding: 10px 0px 0px 0px;
	bottom: 57px;
	width: 90%;
    margin: 0 auto;
}

.list_04_row .dl_button02 {
	left: 20px;
	padding: 10px 0px 0px 0px;
	bottom: 0;
	width: 90%;
    margin: 0 auto;
}

/* ----------------------------------------
modal
---------------------------------------- */

.modal {
	display: none;
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
}

.modal-content {
	position: relative;
	margin: 5% auto;
	width: 100%;
	max-width: 1200px;
	background: #000;
}


#vimeoModal {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.7);
	/* 背景を少し透過させてモーダルを目立たせる */
	z-index: 9999;
	justify-content: center;
	align-items: center;
}

/* モーダル内のコンテンツ部分 */
.modal-content {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	position: relative;
}

#vimeoModal .modal-content iframe {
	width: 1200px !important;
	height: 100vh !important;
	max-width: 100vw !important;
	max-height: 100vh !important;
	border: none;
	display: block;
}

/* iframe内の動画 */
#vimeoFrame {
	width: 100%;
	height: 100%;
	border: none;
	background-color: #000;
	/* 動画の再生前の背景色を黒に設定 */
}

.close {
	position: absolute;
	top: 10px;
	right: 10px;
	font-size: 30px;
	color: white;
	background: rgba(0, 0, 0, 0.5);
	padding: 5px 10px;
	border-radius: 3px;
	cursor: pointer;
	z-index: 10;
}

.dl_button a {
	width: 100%;
	height: 50px;
	background: #eb5c01;
	border-radius: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	box-sizing: border-box;
	border: 2px solid #eb5c01;
	padding: 23px 15px;
	margin: 0 auto;
	line-height: 19px;
}

.dl_button02 a {
	width: 100%;
	height: 50px;
	background: #eb5c01;
	border-radius: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: bold;
	box-sizing: border-box;
	border: 2px solid #eb5c01;
	padding: 23px 15px;
	margin: 0 auto;
	line-height: 19px;
}

.dl_button a:hover {
	background: #833302;
	border-color: #833302;
}

.dl_button span {
	margin-left: 10px;
}

.dl_button02 a:hover {
	background: #833302;
	border-color: #833302;
}

.dl_button02 span {
	margin-left: 10px;
}

.vlist_one_tag {
	display: flex;
	justify-content: space-between;
	padding: 0 10px;
}

.vlist_one_tag p {
	display: flex;
	flex-wrap: wrap;
}

.vlist_one_tag label a {
	border-radius: 3px;
	margin: 0 3px 3px 0;
	color: #409FFB;
	font-weight: bold;
	font-size: 12px;
	line-height: 18px;
	padding: 5px 7px;
}

.vlist_one_tag label a:before {
	content: "#";
	padding-right: 3px;
}

.vlist_one_tag label:hover a {
	background: #daecfd;
}

.vlist_one_tag label.good_button {
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	padding: 18px 25px;
}

label.good_button span {
	cursor: pointer;
	border: 1px solid #f98289;
	border-radius: 3px;
	background: #f98289;
	display: flex;
	font-size: 13px;
	line-height: 20px;
	font-weight: bold;
	color: #fff;
	padding-right: 6px;
	font-family: "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
}

span.jcjs_good_icon:before {
	content: "いいね";
	background: #fff;
	color: #f98289;
	font-size: 11px;
	padding: 0 5px;
	margin-right: 5px;
	font-family: 'Noto Sans JP', "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

span.jcjs_good_icon:hover:before,
label.good_button span.checked:before {
	background: #f98289;
	color: #fff;
}

/*-----/list_04(社内用ch)-----*/
.detail_tag {
	padding: 0 10px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border: none;
	background-color: #ffffff;
}

.detailx_tag .good_button {
	flex-shrink: 0;
}

/* ----------------------------------------
    info_wrap
    ---------------------------------------- */
.info_wrap {
	padding: 30px 0 60px;
	width: 900px;
	margin: 0 auto;
}

.info_li {
	padding-bottom: 10px;
}

.info_li>div:nth-child(2n-1) {
	background: #eee;
}

.info_li>div:last-child {
	border-bottom: 1px solid #999;
}

.info_box {
	position: relative;
	border-top: 1px solid #999;
}

.info_box a {
	display: flex;
	padding: 15px 10px;
	font-size: 15px;
}

.info_box span {
	width: 15%;
	font-weight: bold;
	color: #111
}

.info_box p {
	width: 85%;
	color: #111
}

.info_box a:hover p {
	color: #008dd0;
	text-decoration: underline;
	font-weight: bold;
}