@charset "shift_jis";

/*-----------------------------------------------
	編集可能なファイルです。
-----------------------------------------------*/

h2.cms_h2{
	margin:10px auto 20px auto;
	position: relative;
	padding-bottom: 0.7em;
	border-bottom: 4px solid #DDD;
	display:inline-block;
	width:100%;
	line-height:25px;
}
h2.cms_h2:after {
	position: absolute;
	content: ' ';
	border-bottom: solid 4px #2c2c2c;
	bottom: -4px;
	width: 13%;
	display: block;
	left: 0px;
}
.container{
	width:1100px;
	margin:20px auto;
	/*padding:120px 0 0 0;*/
	overflow:hidden;
}

.maincontents{
	width:780px;
	float:left;
}

.side{
	width:300px;
	float:right;
}

.cms_back{
	text-align:left;
	margin: 10px auto 10px auto;
	padding:0px 0px 0px 0px;
}
.cms_back a{
	color:#004CD3;
	line-height:18px;
}
.cms_back a:hover{
	text-decoration:none;
	color: #999999;
}
.tag_li_box a {
	border: 1px solid #2c2c2c;
	color: #2c2c2c;
}
.tag_li_box a:hover {
	background: #2c2c2c;
	color: #e5efec;
}
.paper_inq_wrap{
	background-color: #f4f6f8;
	border: solid 4px #2c2c2c;
}
.paper_inq_ti{
    background-color: #2c2c2c;
}
.paper_ma_download a{
	border: solid 1px #2c2c2c;
}
.paper_ma_download a:hover {
    background: #c4c4c4;
}

/*-----------------------------------------------
staff スタッフ紹介カスタマイズ
-----------------------------------------------*/
.staff_container{
	padding:65px 0 150px 0;
}
.staff_date_w,.staff_list_ti_w{
	width: 100%;
	padding: 30px 0 165px 0;
	background-image: url(/img/cms/staff/staff_date_bg.webp);
	background-size: cover;
	.pan_wrap{
		width:1200px;
		margin:0 auto;
		div{
			color:#fff;
			a{
				color:#fff;
			}
		}
		div:after{
			border-top: solid 1px #fff;
			border-right: solid 1px #fff;
		} 
		div:last-child:after{
			display:none;
		}
	}
}
.staff_list_ti_w {
	padding: 30px 0 90px 0;
	h2{
		width: 1200px;
		margin:60px auto 0 auto;
		font-size: 20px;
		letter-spacing: 0.2em;
		color: #fff;
		font-weight: normal;
		position: relative;
		p{
			padding: 15px 0 0 210px;
		}
	}
	h2:before{
		position: absolute;
		top: 0px;
		left: 0px;
		content: url(/img/cms/staff/staff_tit.webp);
	}
}
.staff_list_w{
	width: 1100px;
	margin:0 auto;
	ul{
		margin:50px 0 0 0;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
		gap: 18px;
		h3{
            width: 100%;
			font-size:20px;
			letter-spacing: 0.12em;
			text-indent: 20px;
			margin: 15px 0 30px 0 !important;
			padding: 0 0px 20px 0;
			border-bottom: 1px solid #a7a6a6;
			font-weight: normal;
			position:relative;
			flex:none;
		}
		h3:after{
			position: absolute;
			width: 20px;
			border-bottom: solid 1px #000;
			content: "";
			bottom: -1px;
			display: block;
			left: 0px;
		}
		li{
			width:205px;
			border-bottom: 1px solid #2c2c2c;
			margin: 0 0 30px 0;
			padding: 0 0 5px 0;
			a{
				text-decoration: none;
			}
			img{
				width: 205px !important;
				height: 205px !important;
				aspect-ratio: 1 / 1;
				max-width: inherit;
				border: 1px solid #fff;
				box-sizing: border-box;
				object-fit: cover;
				filter: grayscale(100%);
			}
			a:hover img{
				filter: grayscale(0%);
				transition: 0.5s;
			}
			.staff_name{
				color:#2c2c2c;
				p{
					font-size:18px;
					line-height: 1.2em;
					letter-spacing: 0.06em;
					margin:0;
					font-weight: bold;
					font-family: "Noto Serif JP", serif;
					span{
						font-size:10px;
						display: block;
						font-family: "Noto Sans JP", "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
					}
				}
				p.staff_name_en{
					font-size: 10px;
					font-weight: normal;
					letter-spacing: 0.12em;
					padding: 0 0 0 10px;
					text-align: right;
					font-family: "Century Gothic";
				}
			}
		}
	}
}
.staff_date_box{
	width: 1200px;
	margin: 70px auto 0 auto;
	display: flex;
	justify-content: space-between;
	.staff_date_l{
		width:500px;
		.staff_date_with{
			font-size: 12px;
			color:#fff;
			letter-spacing: 0.06em;
			font-weight: bold;
			padding:2px 15px;
			border: 1px solid #fff;
			box-sizing: border-box;
			display: unset;
		}
		.staff_date_name{
			font-size: 40px;
			font-weight: bold;
			line-height: 40px;
			letter-spacing: 0.06em;
			margin:20px 0 0 0;
			padding: 0 0 10px 0;
			color: #fff;;
			font-family:"Noto Serif JP", serif;
			border-bottom: 2px solid #fff;
			span{
				font-size:12px;
				font-weight: normal;
				letter-spacing: 0.12em;
				padding: 0 0 0 10px;
				font-family: "Century Gothic";
			}
		}
		.staff_date_com{
			font-size: 14px;
			line-height: 28px;
			letter-spacing: 0.02em;
			color: #fff;;
			margin:10px 0 0 0;
		}
		.staff_date_lice{
			margin: 55px 0 0 0;
			border: 1px solid rgba(255,255,255,0.1);
			position: relative;
			p{
				width: 100px;
				height: 30px;
				line-height: 30px;
				text-align: center;
				font-size: 15px;
				letter-spacing: 0.06em;
				color: #fff;
				background-color: #2c2c2c;
				border-radius:100px;
				display: unset;
				position: absolute;
				top: -30px;
				left:10px;
			}
			ul{
				padding:25px 10px;
				display: flex;
				flex-wrap: wrap;
				gap:15px;
				li{
					font-size: 13px;
					line-height: 26x;
					letter-spacing: 0.18em;
					padding:0 8px;
					background-color: #f2f2f2;
					border-radius: 2px;
				}
			}
		}
	}
	.staff_date_r{
		margin: 0 30px 0 0;
		img{
			width: 590px !important;
			height: auto;
			aspect-ratio: 4 / 3;
			max-width: inherit;
			border:1px solid #fff;
			box-sizing: border-box;
			object-fit: cover;
		}
	}
}
.staff_date_box2{
	width: 1200px;
	margin: 90px auto 0 auto;
	display: flex;
	justify-content: space-between;
	.staff_date_aw{
		h3{
			font-size:20px;
			letter-spacing: 0.2em;
			color:#fff;
    		padding: 3px 0 0 185px;
			font-weight: normal;
			position: relative;
		}
		h3:before{
			content: "";
			position: absolute;
			top: 0px;
			left: 0px;
			content: url(/img/cms/staff/staff_award.webp);
		}
		.staff_date_aw_li{
			p{
				width:520px;
				height:170px;
				color: #2c2c2c;
				font-size:16px;
				line-height: 2em;
				letter-spacing: 0.12em;
				margin:20px 0 0 0;
				padding: 20px 30px;
				border-radius:2px ;	
				background-color: #fff;
				overflow-y: scroll;
			}
		}
	}
	.staff_date_pr{
		h3{
    		padding: 3px 0 0 230px;
		}
		h3:before{
			content: "";
			position: absolute;
			top: 0px;
			left: 0px;
			content: url(/img/cms/staff/staff_program.webp);
		}
	}
}
.staff_photolibrary{
	width:1150px;
	margin: 100px auto 0 auto;
	ul{
		display: flex;
		gap:35px;
		flex-wrap: wrap;
		li{
			width: 360px;
			img{
				width: 100% !important;
				height: auto !important;
				aspect-ratio: 4 / 3;
				max-width: inherit;
				object-fit: cover;
			}
			p{
				font-size:14px;
				line-height: 1.5em;
				color: #2c2c2c;
				margin:10px 0;
				letter-spacing: 0.06em;
			}
		}	
	}
}
.staff_pro{
	width: 1200px;
	margin:110px auto 0 auto;
	h3 {
		font-size: 20px;
		letter-spacing: 0.2em;
		color: #2c2c2c;
		padding: 13px 0 0 285px;
		font-weight: normal;
		position: relative;
	}
	h3:before{
		content: "";
		position: absolute;
		top: 0px;
		left: 0px;
		content: url(/img/cms/staff/staff_profile.webp);
	}
	ul{
		margin: 40px 0 0 0;
		li{
			border-top:1px solid #c1c9d1;
			padding: 30px 0;
			display: flex;
			gap:75px;
			p{
				font-size:18px;
				font-weight: bold;
				line-height: 26px;
				letter-spacing: 0.06em;
				color: #2c2c2c;
			}
			.staff_q{
				width: 300px;
				padding: 0 0 0 40px;
				position:relative;
				flex:none;
				font-size: 16px;
			}
			.staff_q:before{
				content: "";
				width:18px;
				display: block;
				height: 1px;
				background: #2c2c2c;
				position: absolute;
				left: 10px;
				top:15px;
			}
			.staff_a{
				padding: 0 10px 0 0;
				font-weight: normal;
				font-size: 14px;
			}
		}
		li:last-child{
			border-bottom:1px solid #c1c9d1;
		}	
	}
}
.staff_view{
	a{			
		width: 500px;
		height: 90px;
		color: #fff;
		font-size:	20px;
		line-height: 90px;
		letter-spacing: 0.06em;
		text-align: center;
		background-color: #2c2c2c;
		position: relative;
		margin:85px auto 0 auto;
		border:2px solid #2c2c2c;
		box-sizing: border-box;
		display: block;
		text-decoration: none;
	}
}
.staff_view a:hover{
	color: #2c2c2c;
	background-color: #fff;
}	
.staff_view a:before{
	content: "";
	position: absolute;
	top: 0px;
	right: 25px;
	content: url(/img/cms/staff/staff_view.webp)
}
.info_ma p img {
    max-width: 100%;
    max-height: 100% !important;
    height: auto !important;
}
.info_ma ul {
    margin: 0px 0 50px 0;
}
.info_ma {
width: 1000px;
    margin: 30px auto 80px auto;
}
/* ----------------------------------------
article_li
---------------------------------------- */
.article_li {}
.article_li_block {
	width: 1000px;
	margin: 0 auto;
}
.article_li_box {
	margin: 30px 0 0 0;
	display: block;
}
.article_li_box ul {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
}
.article_li_box li {
	width: 32%;
	box-sizing: border-box;
	position: relative;
}
.article_li_box li:nth-child(3n) {
	margin: 0 0 35px 0;
}
.article_li_box li:hover iframe,
.article_li_box li:hover .thum,
.article_li_box li:hover .date,
.article_li_box li:hover>p,
.article_li_box li:hover>a {
	opacity: 0.7;
}
.article_li_box li>a {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.article_li_box .thumb {
	display: block;
	border: 1px solid #cccccc;
	box-shadow: 0px 0px 3px 3px rgba(153, 153, 153, 0.2);
	height: 330px;
	overflow: hidden;
}
.article_li_box .thumb img {
	width: 340px;
	height: 340px;
	object-fit: scale-down;
}
.article_li_box .thumb iframe {
	width: 100% !important;
	margin-top: -54px !important;
}
.article_li_box li a>p {
	width: 100%;
	padding: 0 10px;
	position: absolute;
	top: 350px;
	display: block;
	font-weight: bold;
	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;
	box-sizing: border-box;
	margin: 0;
}
.article_li_box .tag {
	padding: 40px 0px 0 0;
}
.article_li_box .tag p {
	white-space: nowrap;
	overflow-y: hidden;
	overflow-x: auto;
}
.article_li_box .tag label {
	cursor: pointer;
	display: block;
	float: left;
	margin: 1px;
	position: relative;
}
.article_li_box .tag label a::before {
	position: absolute;
	content: "#";
	margin-left: -10px;
}
.article_li_box .tag label a {
	display: block;
	border: 1px solid #fff;
	border-radius: 3px;
	padding: 2px 5px;
	position: relative;
	z-index: 10;
	color: #2c2c2c;
	font-size: 11px;
	line-height: 15px;
	letter-spacing: 0;
	padding-left: 15px;
	transition: 0.3s;
}
.article_li_box .tag label:hover a {
	background: #f4f5f7;
	color: #2c2c2c;
	border: 1px solid #2c2c2c;
}
/* ----------------------------------------
	group_all_topiclinks
	---------------------------------------- */
.group_all_topiclinks {
	width: 1100px;
	margin: 40px auto;
	overflow: hidden;
	padding: 20px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	background: #f4f5f7;
}
.group_all_topiclinks ul {
	width: 70%;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}
.group_all_topiclinks li {
	margin: 3px;
}
.group_all_topiclinks_tl {
	width: 30%;
	text-align: center;
	padding: 0 24px 0 0;
	box-sizing: border-box;
	font-size: 15px;
}
.group_all_topiclinks li a {
	display: block;
	border: 1px solid #2c2c2c;
	background-color: #FFF;
	padding: 5px 10px;
	color: #2c2c2c;
	font-size: 14px;
	border-radius: 5px;
}
.group_all_topiclinks li a:hover {
	background-color: #2c2c2c;
	color: #fff;
}
/* ----------------------------------------
article01　詳細
---------------------------------------- */
.article01_top {
	margin: 30px 0;
}
.article01_ttl {
	font-size: 30px;
}
.article01_ttl_tag {
	padding: 10px;
}
.article01_ttl_tag p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.article01_ttl_tag label a {
	display: block;
	border: 1px solid #000;
	margin: 0 5px;
	color: #000;
	font-weight: bold;
	font-size: 12px;
	line-height: 18px;
	padding: 3px 7px;
}
.article01_ttl_tag label a:before {
	content: "#";
	padding-right: 3px;
}
.article01_ttl_tag a:hover {
	background: #2c2c2c;
	color: #ffffff;
	border: 1px solid #2c2c2c;
}
.article01 {
	width: 100%;
	margin: 0 auto 50px;
	overflow: hidden;
}
.article01_main {
	width: 550px;
	float: left;
}
.article01_main img {
	margin: 0 0 20px;
	height: auto !important;
}
.article01_main iframe {
	margin: 20px 0;
	max-width: 760px !important;
}
.article01_main p {
	margin: 30px 0;
}
.article01_txt {}
.article01_txt_box {
	width: 100%;
	padding: 30px;
	background-color: #f6f4ea;
	line-height: 2;
	font-size: 15px;
	box-sizing: border-box;
}
.article01_side {
	float: right;
	width: 400px;
}
.article01_side_box {}
.article01_side_tl {
	font-size: 15px;
	padding: 0px 12px;
	margin: 40px 0 0 5px;
	border-left: 5px solid #dcd9ca;
	font-weight: bold;
}
.article01_side_tag {}
.article01_tag_tl {}
.article01_tag {
	margin: 10px;
}
.article01_tag p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.article01_tag label a {
	display: block;
	border: 1px solid #000;
	margin: 5px;
	color: #000;
	font-weight: bold;
	font-size: 12px;
	line-height: 18px;
	padding: 3px 7px;
}
.article01_tag label a:before {
	content: "#";
	padding-right: 3px;
}
.article01_tag a:hover {
	background: #2c2c2c;
	color: #ffffff;
	border: 1px solid #2c2c2c;
}
.article01_link {}
.article01_link a {
	display: block;
	margin: 20px 0;
}
.article01_link img:hover {
	opacity: 0.8;
}
.article01_link_tl {}
.article01_new_box_wrap iframe {
	width: 100%;
	height: 700px;
}
/* ----------------------------------------
 article サイドバー埋め込み用
 ---------------------------------------- */
.article01_new {}
.article01_new_tl {}
.article01_new_box {
	margin: 2vh 0;
}
.article01_new_box a {
	display: block;
	color: #000;
	text-decoration: none;
}
.article01_new_box:hover a {
	background-color: #fdf4ed;
}
.article01_new_contents {
	display: flex;
	overflow: hidden;
	height: 120px;
}
.article01_new_contents img {
	height: 120px;
}
.article01_new_contents iframe {
	width: 120px !important;
	min-width: 120px !important;
	margin-top: -54px !important;
}
.article01_new_txt {
	padding: 1vh 1vh 1vh 1.5vh;
}
.article01_new_txt p {
	font-size: 3.5vw;
	line-height: 1.7;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	margin: 0;
}
.article01_new_tag {
	padding-top: 10px;
}
.article01_new_tag p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.article01_new_tag label {
	display: block;
	margin: 5px;
	color: #000;
	font-weight: bold;
	font-size: 3vw;
	padding: 0 6px;
	border: 1px solid #000;
	cursor: pointer;
}
.article01_new_tag label:before {
	content: "#";
	padding-right: 3px;
}

/* ----------------------------------------
フォーム　form
---------------------------------------- */
.stepBar li span{
	background: #888 !important;
}
.stepBar .visited span{
	background: #2c2c2c !important;
}
.stepBar li:after{
	background: #888 !important;
}