@charset "utf-8";
/*====== sub.php対応 ======*/
/* id属性を持っているすべての要素に適用 */
[id] {
	scroll-margin-top: 10px;
}
/*--------------------------------------------------------
	サブページヘッダー画像コンテナ
--------------------------------------------------------*/
.bl_mainCont,
.bl_mainGreen .bl_mainCont{
	position: relative;
	width: 100%;
	margin: 0 auto;
}
/* 写真有背景 */
.bl_mainCont .bl_inner{
	position: relative;
	width: 100%;
	height: max(140px,20vw);
	padding: 0 max(13px,2vw);
}
/* ブログ系 */
.bl_blog .bl_mainCont .bl_inner{
	height: max(140px,10vw);
}
/* 緑背景 */
.bl_mainGreen .bl_mainCont .bl_inner{
	position: relative;
	width: calc(100% - max(26px,4vw));
	height: max(140px,20vw);
	margin: 0 auto;
	padding: 0;
	background-color: #008E66;
	border-radius: clamp(10px,1.25vw,20px);
}
.bl_mainCont .bl_inner figure{
	width: 100%;
	height: 100%;
}
.bl_mainCont .bl_inner img{
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	border-radius: clamp(10px,1.25vw,20px);
}
.bl_mainCont .el_en,
.bl_mainGreen .bl_mainCont .el_en{
	position: absolute;
	top: max(20px,1.75vw);
	left: clamp(20px,4.5vw,80px);
	display: block;
	color: #ffffff80;
	font-size: max(40px,5vw);
	font-family: "Montserrat", sans-serif;
	font-weight: normal;
	line-height: 1;
}
.bl_mainGreen .bl_mainCont .el_en{
	left: clamp(7px,2.5vw,80px);
}
.bl_mainCont h1,
.bl_mainGreen .bl_mainCont h1{
	position: absolute;
	top: max(50px,4.5vw);
	left: 50%;
	left: clamp(40px,6vw,250px);
	display: block;
	margin: 0 auto;
	padding: 0 max(13px, 2vw);
	font-size: max(35px,4vw);
	color: #fff;
	line-height: 1;
}
.bl_mainGreen .bl_mainCont h1{
	left: clamp(27px,4vw,250px);
}
@media (min-width:950px){
	.bl_blog .bl_mainCont .bl_inner{
		height: max(160px, 14vw);
	}
}
/*--------------------------------------------------------
	ぱんくず
--------------------------------------------------------*/
.bl_breadcrumbs{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 15px;
	list-style: none;
	padding: 60px max(13px,2vw) 0;
}
.bl_breadcrumbs li+li{
	margin-left: 5px;
}
.bl_breadcrumbs li+li::before{
	background-image: url("../images/sub/icon_breadcrumbs-next.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: '';
	display: inline-block;
	margin-right: 5px;
	width: 10px;
	height: 10px;
}
.bl_breadcrumbs li,
.bl_breadcrumbs li a{
	font-weight: bold;
	font-size: 10px;
}
@media (min-width:950px){
	.bl_breadcrumbs{
		padding: 110px clamp(13px,2vw,50px) 0;
	}
	.bl_breadcrumbs li,
	.bl_breadcrumbs li a{
		font-size: 13px;
	}
}


/*--------------------------------------------------------
	アンカーリスト
--------------------------------------------------------*/
.bl_anchorCont{
	margin: 5px auto 0;
	width: 100%;
}
.bl_anchorInner{
	width: 100%;
	margin: 0 auto;
	padding: 0 max(20px,2.75vw);
}
.bl_anchorCont ul{
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	background-color: #fff;
	width: 100%;
}
.bl_anchorCont li{
	position: relative;
	margin-right: max(10px,.75vw);
	padding-right: max(10px,.75vw);
}
.bl_anchorCont li::after{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	content: '';
	display: block;
	width: 1px;
	height: 20px;
	background-color: #969696;
}
.bl_anchorCont li:last-of-type{
	margin: 0;
}
.bl_anchorCont li:last-of-type::after{
	display: none;
}
.bl_anchorCont li a{
	display: inline-block;
	padding: 5px 20px 5px 0;
}
.bl_anchorCont li a::after{
	right: 0;
}
.bl_anchorCont li a{
	position: relative;
	color: #231815;
	display: block;
	font-weight: bold;
	font-size: clamp(13px,1vw,18px);
}
.bl_anchorCont li a::after{
	background-image: url("../images/sub/icon_anchor.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content:'';
	position: absolute;
	width: 12px;
	height: 12px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.bl_anchorCont.link li a::after{
	transform: translateY(-50%) rotate(-90deg);
}
@media (min-width:950px){
	.bl_anchorCont{
		position: absolute;
		bottom: -1px;
		margin: 0 auto;
	}
	.bl_anchorInner{
		width: 94vw;
		max-width: 1280px;
		padding: 12px 12px 0;
		background-color: #fff;
		border-radius: 20px 20px 0 0;
		margin: 0 auto;
		position: relative;
	}
	.bl_anchorCont ul{
		width: 95%;
		margin: 0 auto;
		justify-content: center;
	}
	.bl_anchorInner::before,
	.bl_anchorInner::after{
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		content:'';
		position: absolute;
		width: 20px;
		height: 20px;
		bottom: 0;
	}
	.bl_anchorInner::before{
		background-image: url("../images/sub/icon_anchorCont-left.svg");
		left: -19px;
	}
	.bl_anchorInner::after{
		background-image: url("../images/sub/icon_anchorCont-right.svg");
		right: -19px;
	}
}


/*--------------------------------------------------------
	コンテナ
--------------------------------------------------------*/
.ly_cont{
	width: 100%;
	/*margin-bottom: max(60px,5vw);*/
}
.bl_blog .ly_cont{
	margin-bottom: 0;
}
.bl_cont{
	width: 100%;
	padding: max(40px,4.5vw) max(20px,2.75vw);
	margin:0 auto;
}

/* 背景色 */
.bl_bgGray{
	background-color: #F1F5F7;
}
.bl_bgBeige{
	background-color: #F4F2E9;
}
.bl_bgGreen{
	background-color: #008E66;
}
.bl_bgPink{
	background-color: #DF4B4026;
}
.bl_bgGray,
.bl_bgBeige,
.bl_bgGreen,
.bl_bgPink{
	width: 100%;
	margin: 0 auto;
	padding-bottom:  max(40px,4.5vw);
	border-radius: clamp(10px,1.25vw,20px);
}
@media (min-width:950px){
	.bl_cont{
		width: 94vw;
		max-width: 1500px;
	}
	.bl_bgGray>.bl_cont,
	.bl_bgBeige>.bl_cont,
	.bl_bgGreen>.bl_cont,
	.bl_bgPink>.bl_cont{
		margin: 0 auto
	}
	.bl_bgGray,
	.bl_bgBeige,
	.bl_bgGreen,
	.bl_bgPink{
		width: calc(100% - max(26px,4vw));
		margin: 0 max(13px,2vw);
	}
	.bl_blog.bl_bgGray,
	.bl_blog.bl_bgBeige,
	.bl_blog.bl_bgGreen,
	.bl_blog.bl_bgPink{
		width: 100%;
		margin: 0 auto;
		border-radius: clamp(10px,1.25vw,20px) clamp(10px,1.25vw,20px) 0 0;
	}
}
.un_mt{
	margin-top: max(80px,5vw)!important;
}
.un_mb{
	margin-bottom: max(80px,5vw)!important;
}
.bl_cont__pt0,
.un_pt0{
	padding-top: 0!important;
}
.un_pb0{
	padding-bottom: 0!important;
}

/*--------------------------------------------------------
	テキスト・見出し
--------------------------------------------------------*/
.bl_cont h2,
.bl_cont h3,
.bl_cont h4,
.bl_cont h5,
.bl_cont h6{
	line-height: 1.5;
	font-weight: bold;
}
.bl_cont h2{
	margin: max(25px,2vw) auto clamp(10px,1.125vw,30px);
	font-size: clamp(30px,2.15vw,48px);
}
.bl_cont h2:first-child{
	margin-top: 0;
}
.bl_cont h2 small{
	color: #666262;
	display: block;
	font-size: clamp(13px,1.25vw,20px);
	font-family: "Montserrat", sans-serif;
	font-weight: normal;
}
.bl_cont h2 small::before{
	background-color: #008E66;
	border-radius: 50%;
	content: '';
	display: inline-block;
	margin-top: 6px;
	margin-right: 10px;
	width: 4px;
	height: 4px;
	vertical-align: 2px;
}
.bl_cont h3,
h2.un_headLv2{
	display: flex;
	align-items: flex-start;
	color: #008E66;
	font-size: clamp(22px,1.85vw,36px);
	margin: max(15px,1.85vw) auto clamp(5px,.85vw,15px);
}
.bl_cont h3::before,
h2.un_headLv2::before{
	background-color: #008E66;
	content: '';
	display: block;
	width: 30px;
	height: 1px;
	margin-top: .75em;
	margin-right: 8px;
}
p.el_catchCopy{
	font-size: clamp(23px,1.5vw,30px);
	font-weight: bold;
	color: #003627;
	line-height: 1.5;
}
@media (min-width:950px){
	.bl_cont h2 small::before{
		width: 8px;
		height: 8px;
	}
	.bl_cont h3{
		display: flex;
		align-items: center;
	}
	.bl_cont h3::before{
		margin-top: unset;
	}
}


/*--------------------------------------------------------
	リンク
--------------------------------------------------------*/
.bl_cont a{
	color: #008E66;
	font-weight: bold;
	text-decoration: underline;
}


/*--------------------------------------------------------
	リスト
--------------------------------------------------------*/
.bl_cont ul{
	margin: 0 auto 15px;
	list-style: none;
	line-height: 1.8;
}
.bl_cont ul li{
	position: relative;
	padding-left: 20px;
}
.bl_cont ul li::before{
	background-color: #009966;
	border-radius: 50%;
	content: '';
	position: absolute;
	top: 10px;
	left: 0;
	width: 10px;
	height: 10px;
}
.bl_cont ul li span{
	color: #009966;
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
}
.bl_cont ul li+li{
	margin-top: 10px;
}
.bl_cont ul li ul{
	margin: 10px auto;
	padding-left: 30px;
}

/*--------------------------------------------------------
	数字付きリスト
--------------------------------------------------------*/
.bl_cont ol{
	counter-reset: item;
	list-style: none;
	margin: 0 auto 15px;
	padding: 0;
}
.bl_cont ol li{
	padding-left: 25px;
	position: relative;
}
.bl_cont ol li::before{
	color: #009966;
	counter-increment: item;
	content: counter(item)'.';
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;
}
.bl_cont ol li+li{
	margin-top: 10px;
}
.bl_cont ol li span{
	color: #009966;
	display: block;
	font-weight: bold;
	margin-bottom: 5px;
}
.bl_cont ol ol{
	padding-left: 30px;
}


/*--------------------------------------------------------
	テーブル
--------------------------------------------------------*/
.bl_cont table{
	width: 100%;
}
.bl_cont table,
.bl_cont table th,
.bl_cont table td{
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #999;
}
.bl_cont table th,
.bl_cont table td{
	padding: 15px;
}
.bl_cont table th{
	background-color: #009966;
	color: #fff;
}


/*--------------------------------------------------------
	同友会とは
--------------------------------------------------------*/
/*========== 同友会とは ==========*/
.bl_about-doyukai{
	position: relative;
}
.bl_about-doyukai::before{
	background-image: url("../images/sub/img_about-doyukai.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	display: block;
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	width: 250px;
	height: 250px;
	z-index: -1;
}
@media (min-width:950px){
	.bl_about-doyukai .bl_about-doyukai::before{
		top: 60px;
		width: 300px;
		height: 300px;
	}
	.bl_about-doyukai .el_catchCopy,
	.bl_about-doyukai .hp_fcGreen{
		text-align: center;
	}
	.bl_txtCont{
		margin: 0 auto;
	}
}
/*========== 同友会ビジョン ==========*/
.bl_visionCont dl{
	background-color: #fff;
	border-radius: clamp(10px,1.25vw,20px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding: max(20px,2.25vw);
}
.bl_visionCont dl+dl{
	margin-top: 10px;
}
.bl_visionCont dt{
	color: #003627;
	font-weight: bold;
	font-size: clamp(20px,1.5vw,26px);
	margin-bottom: 15px;
}
@media (min-width:950px){
	.bl_about-vision .el_catchCopy{
		text-align: center;
	}
	.bl_visionCont dt{
		margin: 0;
		width: max(200px,25%);
	}
	.bl_visionCont dd{
		width: 65%;
	}
	.bl_visionCont.seishin dt{
		width: max(80px,15%);
	}
	.bl_visionCont.seishin dd{
		width: 75%;
	}
}

/*========== 本同友会の特徴 ==========*/
/* 代表的な委員会・部会活動 */
.bl_about-institution{
	position: relative;
	width: 100%;
	padding: 10px max(13px,2vw);
	margin: max(80px,5.5vw) auto 0;
	border-radius: 0;
}
.bl_about-institution::before,
.bl_about-institution::after{
	background-color: #F4F2E9;
	border: 4px solid #B9C4C9;
	border-radius: clamp(10px,1.25vw,20px);
	content: '';
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 40px;
	z-index: -1;
}
.bl_about-institution::before{
	top: -30px;
}
.bl_about-institution::after{
	bottom: -30px;
}
.bl_institutionList{
	position: relative;
	display: flex;
	justify-content: space-between!important;
	align-items: baseline;
	flex-wrap: wrap;
	padding:clamp(40px,3.25vw,70px) clamp(15px,2.5vw,50px);
	background-image: url("../images/sub/img_about-institution-bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: clamp(10px,1.25vw,20px);
	color: #fff;
}
.bl_institutionList::after{
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-color: #00362780;
	border-radius: clamp(10px,1.25vw,20px);
}
.bl_institutionCol{
	position: relative;
	z-index: 10;
	width:90%;
	margin: 1em;
}
.bl_institutionCol .el_number{
	position: relative;
	margin-bottom: 1em;
	font-weight: bold;
	font-size: clamp(28px,2vw,36px);
	text-align: center;
}
.bl_institutionCol .el_number::before{
	border: 1px solid #fff;
	border-radius: 50%;
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 70px;
	height: 70px;
}
.bl_institutionCol h4{
	font-size: clamp(22px,1.125vw,24px);
	margin-bottom: 1.25em;
	text-align: center;
}
.bl_institutionCol p{
	font-size: clamp(14px,.85vw,18px);
	line-height: 1.5;
	margin-bottom: 0;
}
/*========== 本同友会の特徴 ==========*/
@media (min-width:650px){
	.bl_institutionCol{
		position: relative;
		z-index: 10;
		width:40%;
		margin: 1em;
	}
}
@media (min-width:1080px){
	.bl_institutionCol{
		width:13.5%;
	}
	.bl_about-features .el_catchCopy{
		text-align: center;
	}
}
/*========== 特徴リスト ==========*/
.bl_featuresList .bl_flexColRev{
	border-top: 2px solid #B9C4C9;
	border-bottom: 2px solid #B9C4C9;
	margin: clamp(30px,2vw,60px) 0;
	padding: clamp(30px,2vw,60px) 0;
}
.bl_featuresList .bl_flexCont img{
	border-radius: clamp(10px,1.25vw,20px);
}



/*--------------------------------------------------------
	組織体制
--------------------------------------------------------*/
/*========== 事務局について ==========*/
.bl_flexCont.secretariat{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.bl_flexCont.secretariat .bl_flexCol+.bl_flexCol{
	margin-top: 40px;
}
.bl_flexCont.secretariat .bl_flexCol figure,
.bl_flexCont.secretariat .bl_flexCol figure img{
	border-radius: 10px;
}
.bl_flexCont.secretariat .el_name{
	text-align: right;
}
.bl_flexCont.secretariat .el_name span{
	display: inline-block;
	font-weight: bold;
	font-size: 28px;
	margin-left: 15px;
}
@media (min-width:950px){
	.bl_flexCont.secretariat .bl_flexCol{
		width: 35%;
	}
	.bl_flexCont.secretariat .bl_flexCol+.bl_flexCol{
		margin-top: 0;
		width: 60%;
	}
}

/*========== 同友会沿革 ==========*/
.bl_historyCont{
	margin-top: 40px;
}
.bl_historyList{
	margin-bottom: 40px;
}
.bl_historyList dl{
	border-bottom: 1px solid #969696;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	padding-bottom: 1em;
}
.bl_historyList dl:first-of-type{
	border-top: 1px solid #969696;
	padding-top: 2em;
}
.bl_historyList dl+dl{
	margin-top: 2em;
}
.bl_historyList dt,
.bl_historyList dd{
	width: 100%;
}
.bl_historyList dt{
	color: #008E66;
	font-weight: bold;
	margin-bottom: 10px;
}
.bl_historyImg img{
	width: 100%;
}
.bl_historyImg figure+figure{
	margin-top: 40px;
}
.bl_historyImg figcaption{
	font-weight: bold;
	font-size: 16px;
	text-align: center;
	margin-top: 10px;
}
@media (min-width:950px){
	.bl_historyCont{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.bl_historyList{
		margin: 0;
		width: 75%;
	}
	.bl_historyList dl{
		padding-bottom: 2em;
	}
	.bl_historyList dt{
		margin: 0;
		width: 20%;
	}
	.bl_historyList dd{
		width: 75%;
	}
	.bl_historyImg{
		width: 20%;
	}
}

/*========== 資料ダウンロード ==========*/
.bl_downloadCont{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.bl_downloadCol{
	width: 100%;
	margin: 0 auto 2em;
}
.bl_downloadCol:last-child{
	margin-bottom: 0;
}
.bl_downloadCol a{
	background-color: #F1F5F7;
	border-radius: 10px;
	color: #231815;
	display: block;
	text-decoration: none;
	padding: 30px 20px;
	width: 100%;
	height: 100%;
}
.bl_downloadCol a:hover{
	opacity: 1!important;
}
.bl_downloadCol a .el_title{
	color: #231815;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-size: 20px;
	margin-bottom: 20px;
    position: relative;
	padding-left: 70px;
	width: 100%;
}
.bl_downloadCol a .el_title::before{
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	background-color: transparent;
    content: '';
	width: 50px;
	height: 50px;
    position: absolute;
    left: 0;
    top: 50%;
	transform: translateY(-50%);
}
.bl_downloadCol a[href$=".xls"] .el_title::before,
.bl_downloadCol a[href$=".xlsx"] .el_title::before{
	background-image: url("../images/sub/img_download-excel.png");
}
.bl_downloadCol a[href$=".pdf"] .el_title::before{
	background-image: url("../images/sub/img_download-pdf.png");
}
.bl_downloadCol a[href$=".doc"] .el_title::before,
.bl_downloadCol a[href$=".docx"] .el_title::before{
	background-image: url("../images/sub/img_download-word.png");
}
.bl_downloadCol a .el_title + p{
	font-size: 14px;
	font-weight: normal;
	margin: 0 auto 15px;
}
.bl_downloadCol a .el_btn{
	margin: 1em auto 0;
}
.bl_downloadCol a:hover .el_btn{
	background-color: #fff;
	color: #008E66!important;
	opacity: 1;
	transition: .3s;
}
.bl_downloadCol a:hover .el_btn::after{
	background-image: url("../images/icon_btn-arrow-g.svg");
}

@media (min-width:650px){
	.bl_downloadCol{
		width: 48%;
	}
	.bl_downloadCol:last-child{
		margin-bottom: 2em;
	}
	.bl_downloadCol a{
		display: flex;
		flex-direction: column;
	}
	.bl_downloadCol a .el_btn{
		margin: auto auto 0 auto;
	}
}
@media (min-width:950px){
	.bl_downloadCol{
		width: 30%;
	}
}
/*========== メッセージ ==========*/
.bl_flexCont.message{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.bl_flexCont.message .bl_flexCol+.bl_flexCol{
	margin-top: 60px;
}
.bl_flexCont.message .bl_flexCol:first-of-type p{
	color: #008E66;
	font-weight: 600;
	font-family: "Montserrat", sans-serif;
	font-size: 60px;
	line-height: 1.4;
}
.bl_flexCont.message .bl_flexCol .bl_check{
	border: 1px solid #003627;
	padding: 50px 20px;
	position: relative;
	max-width: 450px;
	margin: 0 auto;
}
.bl_flexCont.message .bl_flexCol .bl_check::before{
	content: 'check!!';
	color: #DF4B40;
	display: block;
	font-size: 40px;
	font-weight: bold;
	font-family: "Montserrat", sans-serif;
	transform: rotate(-15deg);
	position: absolute;
	top: -30px;
	left: 5px;
}
.bl_flexCont.message .bl_flexCol .bl_check ul{
	margin: 0;
}
.bl_flexCont.message .bl_flexCol .bl_check li{
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 2px;
	padding-left: 45px;
}
.bl_flexCont.message .bl_flexCol .bl_check li+li{
	margin-top: 30px;
}
.bl_flexCont.message .bl_flexCol .bl_check li::before{
	background-image: url("../images/sub/icon_check.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-color: transparent!important;
	border-radius: 0;
	width: 30px;
	height: 30px;
	top: -1px;
}
.bl_flexCont.message .bl_flexCol .el_catchCopy{
	font-size: clamp(1.375rem, 0.042rem + 2.78vw, 2.125rem);
	margin: 40px auto!important;
}
.bl_flexCont.message .bl_flexCol .el_catchCopy + p{
	font-weight: bold;
	font-size: clamp(1.125rem, 0.681rem + 0.93vw, 1.375rem);
}
.bl_flexCont.message .bl_flexCol .el_catchCopy + p + p{
	margin-top: 20px;
}
@media (min-width:950px){
	.bl_flexCont.message{
		margin-top: 60px;
	}
	.bl_flexCont.message .bl_flexCol{
		width: 48%;
	}
	.bl_flexCont.message .bl_flexCol+.bl_flexCol{
		margin: 0;
	}
	.bl_flexCont.message .bl_flexCol:first-of-type p{
		font-size: 70px;
	}
}
/*========== 入会後には… ==========*/
.bl_meritList{
	margin-top: 60px;
}
.bl_meritList .bl_flexCont+.bl_flexCont{
	border-top: 2px solid #B9C4C9;
	margin-top: 60px;
	padding-top: 60px;
}
.bl_meritList .bl_flexCont h3{
	text-align: left;
	margin: 0 auto 40px;
	padding: 0;
}
.bl_meritList .bl_flexCont h3::before{
	display: none;
}
.bl_meritList .bl_flexCont img{
	border-radius: clamp(10px,1.25vw,20px);
}
.bl_meritList .bl_flexCont ul li+li{
	margin-top: 30px;
}
@media (min-width:950px){
	.bl_meritList .bl_flexCol+.bl_flexCol{
		margin-top: 0;
	}
	.bl_meritList .bl_flexCol:first-child{
		width: 50%;
	}
	.bl_meritList .bl_flexCol:last-child{
		width: 45%;
	}
	.bl_meritList .bl_flexCont:nth-child(odd) .bl_flexCol:first-child{
		order: 2;
	}
	.bl_meritList .bl_flexCont:nth-child(odd) .bl_flexCol:last-child{
		order: 1;
	}
	.bl_meritList .bl_flexCont .el_btn{
		margin: 40px 0 0 auto;
	}
}
@media (min-width:1200px){
	.bl_meritList .bl_flexCol:first-child{
		width: 45%;
	}
	.bl_meritList .bl_flexCol:last-child{
		width: 49%;
	}
}

/*========== 同友会を知る会 ==========*/
.shirukai .bl_flexCont{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 0 auto 60px;
}
.shirukai .bl_flexCol+.bl_flexCol{
	margin-top: 40px;
}
.shirukai .bl_flexCol img{
	border-radius: clamp(10px,1.25vw,20px);
}
@media (min-width:950px){
	.shirukai .bl_flexCol{
		width: 48%;
	}
	.shirukai .bl_flexCol:first-of-type{
		max-width: 590px;
	}
	.shirukai .bl_flexCol:last-of-type{
		max-width: 660px;
	}
	.shirukai .bl_flexCol+.bl_flexCol{
		margin-top: 0;
	}
}

/* 概要（赤背景部分） */
.shirukai .bl_flexCont.gaiyou{
	background-color: #DF4B40;
	border-radius: clamp(10px,1.25vw,20px);
	color: #fff;
	padding: 30px 15px;
}
.shirukai .gaiyou h3{
	color: #fff;
    margin-top: 0;
}
.shirukai .gaiyou h3::before{
	background-color: #fff;
}
.shirukai .gaiyou ul,
.shirukai .gaiyou ol{
	margin: 0;
}
.shirukai .gaiyou ul li::before{
	background-color: #fff;
}
.shirukai .gaiyou ol li::before{
	color: #fff;
}
@media (min-width:950px){
	.shirukai .bl_flexCont.gaiyou{
		padding: 30px;
		position: relative;
	}
	.shirukai .gaiyou .bl_flexCol{
		max-width: none!important;
	}
}
@media (min-width:1024px){
	.shirukai .gaiyou ul,
	.shirukai .gaiyou ol{
		font-size: 20px;
	}
	.shirukai .gaiyou ul li::before{
		top: 12px;
	}
}
@media (min-width:1200px){
	.shirukai .bl_flexCont.gaiyou{
		padding: 60px 30px;
	}
}
@media (min-width:1400px){
	.shirukai .bl_flexCont.gaiyou{
		padding: 60px;
	}
}

/* スケジュール */
.shirukai .bl_scheduleCont{
	margin: 0 auto;
	position: relative;
}
.shirukai .bl_scheduleCont::after{
	content: '横にスクロールできます';
	display: block;
	font-size: 16px;
	margin-top: 10px;
}
.shirukai .bl_schedule{
	overflow-x: scroll;
}
.shirukai .bl_schedule table{
	background-color: #fff;
	width: 1000px;
}
.shirukai .bl_schedule thead,
.shirukai .bl_schedule tbody{
	border: 3px solid #B9C4C9;
}
.shirukai .bl_schedule tr{
	border: 1px solid #B9C4C9;
	cursor: pointer;
}
.shirukai .bl_schedule tr:hover{
	background: #008E661A;
}
.shirukai .bl_schedule th,
.shirukai .bl_schedule td{
	border: 0;
	color: #231815;
	font-size: clamp(1rem, 0.556rem + 0.93vw, 1.25rem);
	padding: 20px 15px;
}
.shirukai .bl_schedule th{
	background-color: #fff;
}
.shirukai .bl_schedule td{
	text-align: center;
}
.shirukai .bl_schedule td:nth-child(1),
.shirukai .bl_schedule td:nth-child(2){
	font-family: "Montserrat", sans-serif;
	width: 25%;
}
.shirukai .bl_schedule td:nth-child(3),
.shirukai .bl_schedule td:nth-child(4){
	font-weight: bold;
	width: 30%;
}
.shirukai .bl_schedule td:nth-child(3){
	text-align: left;
}
.shirukai .bl_schedule td:nth-child(4){
	position: relative;
	width: 25%;
}
.shirukai .bl_schedule td:nth-child(4)::after{
	background-image: url("../images/icon_btn-green-hover.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	display: inline-block;
	width: 30px;
	height: 30px;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}
@media (min-width:950px){
	.shirukai .bl_scheduleCont::after{
		display: none;
	}
	.shirukai .bl_schedule{
		overflow-x: hidden;
	}
	.shirukai .bl_schedule table{
		width: 100%;
	}
	.shirukai .bl_schedule td:nth-child(1),
	.shirukai .bl_schedule td:nth-child(2),
	.shirukai .bl_schedule td:nth-child(3),
	.shirukai .bl_schedule td:nth-child(4){
		width: 25%;
	}
}
@media (min-width:1024px){
	.shirukai .bl_schedule td:nth-child(1),
	.shirukai .bl_schedule td:nth-child(2),
	.shirukai .bl_schedule td:nth-child(3){
		width: auto;
	}
	.shirukai .bl_schedule td:nth-child(4){
		width: 22%;
	}
}
@media (min-width:1200px){
	.shirukai .bl_schedule td:nth-child(3){
		padding: 20px 30px;
	}
	.shirukai .bl_schedule td:nth-child(4){
		width: 22%;
	}
}
@media (min-width:1400px){
	.shirukai .bl_schedule td:nth-child(3){
		padding: 20px 40px;
	}
	.shirukai .bl_schedule td:nth-child(4){
		width: 20%;
	}
}


/*========== 入会までの流れ ==========*/
.bl_flowList{
	margin: 30px auto 0;
}
.bl_flowList .bl_flexCont{
	background-color: #F1F5F7;
	border-radius: clamp(10px,1.25vw,20px);
	display: block;
	padding: 30px 15px;
}
.bl_flowList .bl_flexCont+.bl_flexCont{
	margin-top: 20px;
}
.bl_flowList .bl_flexCol+.bl_flexCol{
	margin-top: 30px;
}
.bl_flowList .bl_flexCol:first-of-type{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}
.bl_flowList .bl_flexCol .el_number{
	background-color: #008E66;
	border-radius: 50%;
	color: #fff;
	font-weight: bold;
	font-size: 28px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 15px;
	width: 60px;
	height: 60px;
}
.bl_flowList .bl_flexCol h3{
	color: #003627;
	font-size: clamp(1.25rem, 0.694rem + 1.16vw, 1.563rem);
	text-align: left;
	margin: 0;
	padding: 0;
}
.bl_flowList .bl_flexCol h3::before{
	display: none;
}
.bl_flowList .bl_flexCol .el_btn{
	margin-top: 30px;
}
.bl_flowList .bl_flexCol figure{
	margin: 30px auto 0;
	width: 150px;
}
@media (min-width:540px){
	.bl_flowList .bl_flexCol .el_btn br{
		display: none;
	}
}
@media (min-width:950px){
	.bl_flowList{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.bl_flowList .bl_flexCont{
		padding: 30px;
		width: 48%;
	}
	.bl_flowList .bl_flexCont+.bl_flexCont{
		margin: 0;
	}
	.bl_flowList .bl_flexCont:nth-child(n+3){
		margin-top: 20px;
	}
	.bl_flowList .bl_flexCol .el_number{
		margin-right: 10px;
	}
	.bl_flowList .bl_flexCol .el_btn br{
		display: block;
	}
}
@media (min-width:1024px){
	.bl_flowList .bl_flexCol .el_number{
		margin-right: 20px;
	}
}
@media (min-width:1200px){
	.bl_flowList{
		display: block;
	}
	.bl_flowList .bl_flexCont{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
		padding: 60px 30px;
		width: 100%;
	}
	.bl_flowList .bl_flexCont+.bl_flexCont{
		margin-top: 20px;
	}
	.bl_flowList .bl_flexCol{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		width: 35%;
	}
	.bl_flowList .bl_flexCol+.bl_flexCol{
		justify-content: space-between;
		margin-top: 0;
		width: 60%;
	}
	.bl_flowList .bl_flexCol .el_number{
		font-size: 36px;
		width: 80px;
		height: 80px;
	}
	.bl_flowList .bl_flexCol .bl_text{
		width: 68%;
	}
	.bl_flowList .bl_flexCol .el_btn{
		margin: 30px 0 0 auto;
	}
	.bl_flowList .bl_flexCol .el_btn br{
		display: none;
	}
	.bl_flowList .bl_flexCol figure{
		margin: 0;
	}
}
@media (min-width:1400px){
	.bl_flowList .bl_flexCont{
		padding: 60px;
	}
}
@media (min-width:1600px){
	.bl_flowList .bl_flexCol{
		width: 30%;
	}
	.bl_flowList .bl_flexCol+.bl_flexCol{
		width: 65%;
	}
}

/* 会費について */
.bl_feesCont{
	margin-top: 80px;
}
.bl_fees{
	margin: 30px auto 0;
	padding: 20px;
}
.bl_fees li,
.bl_fees li span,
.bl_fees p{
	color: #fff!important;
}
.bl_fees ul{
	margin: 0 auto 30px;
}
.bl_fees li::before{
	background-color: #fff!important;
}
@media (min-width:950px){
	.bl_fees{
		padding: 30px;
	}
}
@media (min-width:1200px){
	.bl_fees{
		padding: 50px;
	}
}


/*--------------------------------------------------------
	支部・委員会
--------------------------------------------------------*/
/*========== 各支部一覧 ==========*/
.bl_shibuList{
	margin-top: 40px;
}
.bl_shibuList .bl_flexCol+.bl_flexCol{
	border-top: 1px solid #969696;
	margin-top: 40px;
	padding-top: 40px;
}
.bl_shibuList figure,
.bl_shibuList figure img{
	border-radius: clamp(10px,1.25vw,20px);
}
.bl_shibuList h3{
	margin: 10px auto 0;
}
.bl_shibuList .el_btn{
    margin: 0;
}
@media (min-width:950px){
    .bl_shibuList{
        align-items: stretch;
    }
	.bl_shibuList .bl_flexCol{
		width: 48%;
	}
	.bl_shibuList .bl_flexCol+.bl_flexCol{
		border-top: 0;
		margin-top: 0;
		padding-top: 0;
	}
	.bl_shibuList .bl_flexCol:nth-child(n+3){
		margin-top: 40px;
	}
}
@media (min-width:1024px){
	.bl_shibuList::after{
		content: '';
		display: block;
		width: 30%;
	}
	.bl_shibuList .bl_flexCol{
		width: 30%;
	}
	.bl_shibuList .bl_flexCol:nth-child(n+3){
		margin-top: 0;
	}
	.bl_shibuList .bl_flexCol:nth-child(n+4){
		margin-top: 40px;
	}
}
	
/*========== 各支部ページ ==========*/
.bl_cont.shibu{
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 0 0 clamp(10px,1.25vw,20px) clamp(10px,1.25vw,20px);
	padding: max(18px,4vw);
}
.bl_shibuImg img{
	max-width: 1500px;
	width: 100%;
	margin: 0 auto;
	border-radius: clamp(10px,1.25vw,20px) clamp(10px,1.25vw,20px) 0 0;
}
/* 支部長ご挨拶 */
.shibu .bl_reader{
	background-color: #F4F2E9;
	border-radius: clamp(10px,1.25vw,20px);
	margin-top: 2em;
	padding: max(40px,4.5vw);
	position: relative;
}
.shibu .bl_reader::before{
	content: 'MESSAGE';
	color: #fff;
	display: block;
	font-family: "Montserrat", sans-serif;
	font-size: 40px;
	position: absolute;
	top: 0;
	left: 10px;
}
.shibu .bl_reader .bl_flexCont{
	margin: 0 auto 40px;
}
.shibu .bl_reader .bl_flexCol+.bl_flexCol{
	margin-top: 20px;
}
.shibu .bl_reader .el_name{
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	margin-top: 40px;
	line-height: 1.4;
}
.shibu .bl_reader .el_branch{
	font-size: 20px;
	font-weight: normal;
	text-align: center;
	margin-top: 10px;
}
.shibu .bl_reader .el_branch::before{
	background-image: url("../images/icon_branch.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: '';
	display: inline-block;
	margin-right: 10px;
	vertical-align: -3px;
	width: 20px;
	height: 20px;
}
@media (min-width:950px){
	.shibu .bl_reader .bl_flexCont{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.shibu .bl_reader .bl_flexCol{
		width: 48%;
	}
	.shibu .bl_reader .bl_flexCol+.bl_flexCol{
		margin: 0;
	}
	.shibu .bl_reader .el_name,
	.shibu .bl_reader .el_branch{
		text-align: left;
	}
	.bl_cont.shibu h2,
	.bl_cont.shibu .el_catchCopy{
		text-align: center;
	}
	.bl_shibuImg img{
		width: 94vw;
		max-width: 1500px;
		margin: 0 auto;
		border-radius: clamp(10px,1.25vw,20px) clamp(10px,1.25vw,20px) 0 0;
	}
}

/*========== 委員会紹介ページ ==========*/
.bl_community .bl_bgGray,
.bl_community .bl_bgBeige{
	margin-top: 30px;
	margin-bottom: 30px;
    padding-bottom: 0;
}
.bl_community .bl_flexCont{
	margin: 40px auto;
}
.bl_community .bl_flexCont.katsudou{
    margin-bottom: 0;
}
.bl_community .bl_flexCol+.bl_flexCol,
.bl_community figure+figure,
.bl_community figure+.bl_flexCol,
.bl_community .bl_flexCol+figure{
	margin-top: 40px;
}
.bl_community .el_catchCopy{
	text-align: left;
	margin: 0 auto 30px;
}
.bl_community .bl_textCont h3{
	color: #231815;
	font-size: 20px;
	margin: 0 auto 10px;
	padding: 0;
}
.bl_community .bl_textCont h3::before{
	display: none;
}
.bl_community .bl_textCont *+h3{
	margin-top: 40px;
}
.bl_community .el_readerImg{
	aspect-ratio: 1 / 1;
	border-radius: clamp(10px,1.25vw,20px);
	margin-bottom: 20px;
	width: 100%;
}
.bl_community .el_readerImg img{
	border-radius: clamp(10px,1.25vw,20px);
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
.bl_community .el_name{
	text-align: center;
	line-height: 1.5;
}
.bl_community .el_name span{
	display: block;
	font-weight: bold;
	font-size: 28px;
}
.bl_community .bl_flexCont.katsudou figure,
.bl_community .bl_flexCont.katsudou img{
	border-radius: 10px;
}
.bl_community h4{
	margin: 0 auto 10px;
}
.bl_community .el_btn{
	margin-top: 40px;
}
@media (min-width:950px){
	.bl_community .bl_flexCont{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.bl_community .bl_flexCol{
		width: 60%;
	}
	.bl_community .bl_flexCol+.bl_flexCol{
		width: 35%;
	}
	.bl_community .bl_textCont h3{
		font-size: 22px;
	}
	.bl_community .bl_flexCont.katsudou::before{
		content: '';
		display: block;
		width: 23%;
		order: 1;
	}
	.bl_community .bl_flexCont.katsudou::after{
		content: '';
		display: block;
		width: 23%;
	}
	.bl_community .bl_flexCol+.bl_flexCol,
	.bl_community figure+figure,
	.bl_community figure+.bl_flexCol,
	.bl_community .bl_flexCol+figure{
		margin: 0;
	}
	.bl_community .bl_flexCont.katsudou figure{
		width: 23%;
	}
	.bl_community .bl_flexCont.katsudou .bl_flexCol{
		width: 70%;
	}
	.bl_community .el_btn{
		margin: 30px 0 0 auto;
	}
	.bl_community .el_btn br{
		display: none;
	}
}
@media (min-width:1200px){
	.bl_community .bl_flexCol{
		width: 65%;
	}
	.bl_community .bl_flexCol+.bl_flexCol{
		width: 30%;
	}
}

/*--------------------------------------------------------
	会員紹介
--------------------------------------------------------*/
/*========== 会員一覧 ==========*/
.bl_memberList{
    margin: 80px auto;
}
.bl_memberCol+.bl_memberCol{
	margin-top: 40px;
}
.bl_memberCol a{
	background-color: #F1F5F7;
	border-radius: clamp(10px,1.25vw,20px);
	color: #231815!important;
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
	padding: 15px;
	line-height: 1.4;
}
.bl_memberCol a:hover{
	opacity: 1;
}
.bl_memberCol figure{
	aspect-ratio: 1 / 1;
	border-radius: clamp(10px,1.25vw,20px);
	overflow: hidden;
	margin-bottom: 20px;
	width: 100%;
}
.bl_memberCol figure img{
	border-radius: clamp(10px,1.25vw,20px);
	object-fit: cover;
	object-position: center;
	transition: transform .6s ease;
	width: 100%;
	height: 100%;
}
.bl_memberCol a:hover img{
	transform: scale(1.1);
}
.bl_memberCol .bl_text{
	width: 100%;
}
.bl_memberCol .el_branch{
	font-size: 20px;
}
.bl_memberCol .el_branch::before{
	background-image: url("../images/icon_branch.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: '';
	display: inline-block;
	margin-right: 10px;
	vertical-align: -3px;
	width: 20px;
	height: 20px;
}
.bl_memberCol .el_name{
	color: #008E66!important;;
	display: block;
	font-weight: bold;
	font-size: 36px;
	margin: 20px auto 0;
}
.bl_memberCol .el_company{
	font-weight: 500;
	font-size: 18px;
}
.bl_memberCol .el_link{
	font-size: 18px;
	text-align: right;
}
.bl_memberCol .el_link::after{
	background-image: url("../images/icon_btn-member.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: '';
	display: inline-block;
	margin-top: 20px;
	margin-left: 10px;
	vertical-align: -11px;
	width: 40px;
	height: 40px;
}
.bl_memberCol .bl_comment{
	background-color: #fff;
	border-radius: 10px;
	font-size: 18px;
	font-weight: 500;
	margin-top: 20px;
	padding: 15px;
	line-height: 1.6;
}
@media (min-width:650px){
	.bl_memberList{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	.bl_memberCol{
		width: 48%;
	}
	.bl_memberCol+.bl_memberCol{
		margin: 0;
	}
	.bl_memberCol:nth-child(n+3){
		margin-top: 60px;
	}
}
@media (min-width:950px){
	.bl_memberCol .bl_flexCont{
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap;
	}
	.bl_memberCol figure{
		margin: 0;
		width: 45%;
	}
	.bl_memberCol .bl_text{
		width: 48%;
	}
}
@media (min-width:1200px){
	.bl_memberCol figure{
		width: 250px;
		margin: 0;
	}
	.bl_memberCol figure img{
		object-fit: cover;
		object-position: center;
		height: 100%;
	}
	.bl_memberCol .bl_text{
		width: 45%;
	}
}
@media (min-width:1300px){
	.bl_memberCol .bl_text{
		width: 50%;
	}
}
@media (min-width:1500px){
	.bl_memberCol .bl_text{
		width: 52%;
	}
}

/*========== 会員詳細ページ ==========*/
.bl_bgGreen.bl_profileCont{
	margin-bottom: 40px;
}
.bl_bgGray.bl_profileCont{
	margin-top: 40px;
    padding: 0!important;
}

/* 基本情報 */
+.bl_profileCont .bl_flexCont{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.bl_profileCont .bl_flexCol+.bl_flexCol{
	margin-top: 40px;
}
.bl_profileCont .el_branch{
	color: #003627;
	font-size: 20px;
}
.bl_profileCont .el_branch::before{
	background-image: url("../images/icon_branch.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: '';
	display: inline-block;
	margin-right: 10px;
	vertical-align: -3px;
	width: 20px;
	height: 20px;
}
.bl_profileCont .bl_companyCont{
	font-weight: 500;
	font-size: 18px;
	margin-top: 30px;
}
.bl_profileCont .bl_companyCont .bl_address{
	background-color: #F1F5F7;
	border-radius: 10px;
	margin-top: 20px;
	padding: 20px;
}
.bl_profileCont .bl_industryCont{
	margin-top: 40px;
}
.bl_profileCont .bl_industryCont p{
	color: #DF4B40;
	font-size: 20px;
	position: relative;
}
.bl_profileCont .bl_industryCont p::before{
	background-color: #DF4B40;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	z-index: -1;
}
.bl_profileCont .bl_industryCont p span{
	background-color: #fff;
	padding-right: 10px;
}
.bl_profileCont .bl_industryCont p span::before{
	background-image: url("../images/sub/icon_industry.svg");
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: '';
	display: inline-block;
	margin-right: 10px;
	vertical-align: -3px;
	width: 20px;
	height: 20px;
}
.bl_profileCont .bl_industryList{
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 20px auto 0;
}
.bl_profileCont .bl_industryList li{
	padding: 0;
	width: 100%;
}
.bl_profileCont .bl_industryList li::before{
	display: none;
}
.bl_profileCont .bl_industryList li+li{
	margin-top: 15px;
}
.bl_profileCont .bl_industryList li a{
	background-color: #F4F2E9;
	border: 1px solid #DF4B4066;
	border-radius: 30px;
	color: #231815;
	display: inline-block;
	font-size: 18px;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
	padding: 0 30px;
	height: 36px;
	line-height: 1.8;
}
.bl_profileCont figure.bl_flexCol{
	aspect-ratio: 1 / 1;
	border-radius: clamp(10px,1.25vw,20px);
	overflow: hidden;
	width: 100%;
	height: 100%;
}
.bl_profileCont figure.bl_flexCol img{
	border-radius: clamp(10px,1.25vw,20px);
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
}
@media (min-width:540px){
	.bl_profileCont .bl_industryList li{
		width: auto;
	}
	.bl_profileCont .bl_industryList li+li{
		margin: 0 0 0 20px;
	}
}
@media (min-width:950px){
	.bl_profileCont .bl_flexCol,
    .bl_profileCont figure.bl_flexCol{
		width: 48%;
	}
	.bl_profileCont .bl_flexCol{
		max-width: 690px;
	}
	.bl_profileCont figure.bl_flexCol{
		max-width: 500px;
	}
	.bl_profileCont .bl_flexCol+.bl_flexCol{
		margin-top: 0;
	}
}

/* 会員プロフィール */
.bl_profileCont.bl_bgGreen{
    padding-bottom: 0!important;
}
.bl_profileCont.bl_bgGreen h2,
.bl_profileCont.bl_bgGreen h2 small,
.bl_profileCont.bl_bgGreen .el_catchCopy{
	color: #fff;
}
.bl_profileCont.bl_bgGreen .el_catchCopy{
    margin-bottom: 20px;
}
.bl_profileCont.bl_bgGreen h2 small::before{
	background-color: #fff;
}
.bl_profileCont .bl_profile{
	background-color: #fff;
	border-radius: clamp(10px,1.25vw,20px);
	padding: 40px clamp(15px,2.5vw,50px);
	position: relative;
}
.bl_profileCont .bl_profile+.bl_profile{
	margin-top: 10px;
}
.bl_profileCont .bl_profile h3{
    color: #003627;
    display: block;
    margin-top: 0;
}
.bl_profileCont .bl_profile *+h3{
    margin-top: max(30px,1.85vw);
}
.bl_profileCont .bl_profile h3::before{
    display: none;
}
.bl_profileCont .bl_profile dt{
	font-weight: bold;
	font-size: 25px;
	margin-bottom: 10px;
}
@media (min-width:950px){
	.bl_profileCont .bl_profile{
		padding: 60px clamp(15px,2.5vw,50px) 30px;
	}
    .bl_profileCont.bl_bgGreen .el_catchCopy{
        text-align: center;
    }
}
@media (min-width:1024px){
	.bl_profileCont .bl_profile{
		padding: 60px 30px 60px;
	}
	.bl_profileCont .bl_profile dl{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
	.bl_profileCont .bl_profile dt{
		margin: 0;
		width: 25%;
	}
	.bl_profileCont .bl_profile dd{
		/* display: flex;
		justify-content: flex-start;
		align-items: center; */
		width: 70%;
	}
}
@media (min-width:1200px){
	.bl_profileCont .bl_profile{
		padding: 60px clamp(15px,2.5vw,50px) 60px;
	}
}
@media (min-width:1200px){
	.bl_profileCont .bl_profile dt{
		width: 20%;
	}
	.bl_profileCont .bl_profile dd{
		width: 75%;
	}
}

/* インタビュー */
.bl_interviewCont figure{
	margin-top: 40px;
}
.bl_interviewCont .bl_spacer{
	height: 80px;
}
.bl_interviewCont .bl_interview+.bl_interview{
	border-top: 2px solid #B9C4C9;
	margin-top: 80px;
	padding-top: 80px;
}
@media (min-width:950px){
	.bl_interviewCont .bl_interview+.bl_interview{
		margin-top: 120px;
		padding-top: 120px;
	}
}

/*--------------------------------------------------------
	ページネーション
--------------------------------------------------------*/
.pagination{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.pagination > *{
	margin-bottom: 20px;
}
.pagination > *:nth-child(n+2){
	margin-left: 20px;
}
.pagination a{
	background-color: #fff;
	border: 1px solid #003627;
	border-radius: 3px;
	color: #003627;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	width: 40px;
	height: 40px;
}
.pagination a:hover{
	background-color: #003627;
	color: #fff;
	opacity: 1;
}
.pagination .current_page{
	background-color: #003627;
	border-radius: 3px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
}
.pagination .link_next,
.pagination .link_prev{
	background-color: transparent!important;
	border: 0!important;
	width: auto!important;
	height: auto!important;
}
.pagination .link_next:hover,
.pagination .link_prev:hover{
	opacity: 0.6;
}
@media (min-width:950px){
	.pagination a,
	.pagination .current_page{
		width: 60px;
		height: 60px;
	}
}

/* 活動報告 */
.bl_bgGray .pagination a{
	background-color: #fff;
	border: 1px solid #003627;
	color: #003627;
}
.bl_bgGray .pagination a:hover{
	background-color: #003627;
	color: #fff;
}
.bl_bgGray .pagination .current_page{
	background-color: #003627;
	border: 1px solid #003627;
	color: #fff;
}
.bl_bgGray .pagination .link_next:hover,
.bl_bgGray .pagination .link_prev:hover{
	color: #003627;
}

/* 新着情報 */
.bl_bgBeige .pagination a{
	background-color: #fff;
	border: 1px solid #008E66;
	color: #008E66;
}
.bl_bgBeige .pagination a:hover{
	background-color: #003627;
	color: #fff;
}
.bl_bgBeige .pagination .current_page{
	background-color: #008E66;
	border: 1px solid #008E66;
	color: #fff;
}
.bl_bgBeige .pagination .link_next:hover,
.bl_bgBeige .pagination .link_prev:hover{
	color: #008E66;
}

/*--------------------------------------------------------
	新着情報
--------------------------------------------------------*/
/*========== 記事一覧 ==========*/
.bl_newsList{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 80px auto;
}
.bl_newsCol{
	position: relative;
	z-index: 500;
}
.bl_newsCol+.bl_newsCol{
	margin-top: 40px;
}
.bl_newsCol a{
	color: #231815;
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
	transition: 0.3s;
}
.bl_newsCol figure{
	aspect-ratio: 6 / 4;
	margin-bottom: 15px;
}
.bl_newsCol figure img{
	border-radius: 10px;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.bl_newsCol .el_title{
	display: -webkit-box;
	font-weight: bold;
	font-size: 22px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	height: calc(1.8em * 2);
	overflow: hidden;
	margin-bottom: 15px;
	line-height: 1.8;
}
.bl_newsCol .el_cat{
	background-color: #BABCC4;
	border-radius: 5px;
	display: inline-block;
	font-size: 18px;
	font-family: "Montserrat", sans-serif;
	font-weight: normal;
	margin: 10px 0;
	height: 35px;
	padding: 0 20px;
	line-height: 2;
}
.bl_newsCol .el_time{
	margin: 0;
}
.bl_newsCol time{
	color: #666262;
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: normal;
}
.bl_newsCol time::before{
	background-color: #008E66;
	content: '';
	display: inline-block;
	margin-right: 10px;
	width: 30px;
	height: 1px;
	vertical-align: 7px;
}
@media (min-width:950px){
	.bl_newsCol{
		width: 31%;
	}
	.bl_newsCol+.bl_newsCol{
		margin: 0;
	}
	.bl_newsCol:nth-child(n+4){
		margin-top: 60px;
	}
}

/*========== flex 記事内専用 ==========*/
@media (min-width:950px){
	.bl_news .bl_flexCol{
		width: 48%;
	}
	.bl_news .bl_flexCol.w32{
		width: 32%;
	}
	.bl_news .bl_flexCol.w40{
		width: 40%;
	}
	.bl_news .bl_flexCol.w55{
		width: 55%;
	}
	.bl_news .bl_flexCol.w65{
		width: 65%;
	}
	.bl_news .bl_flexCol+.bl_flexCol{
		margin-top: 0;
	}
	.bl_news .bl_flexCol:nth-child(n+3){
		margin-top: 30px;
	}
	.bl_news .bl_flexCol.w32:nth-child(n+3){
		margin-top: 0;
	}
	.bl_news .bl_flexCol.w32:nth-child(n+4){
		margin-top: 30px;
	}
}

/*--------------------------------------------------------
	活動報告
--------------------------------------------------------*/
/*========== 検索 ==========*/
.bl_searchCont{
	background-color: #fff;
	border-radius: clamp(10px,1.25vw,20px);
	margin: 0 auto 3em;
	padding: max(13px,2vw) max(20px,3.5vw);
}
.bl_searchCont h3{
	margin: 0;
}
.bl_searchCont .bl_flexCol{
	margin: 0;
}
/*強制出力分修正分*/
.archive_area>label{
	display: none;
}
.bl_catList,
.tab_block{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 auto!important;
}
.tab_block a{
	display: inline-block;
}
.bl_catList li,
.tab_block a{
	margin: 1px 3px!important;
	margin-left: 0!important;
	padding: 0!important;
}
.bl_catList li::before{
	display: none;
}
.bl_catList li a,
.tab_tit span{
	display: inline-block;
	text-align: center;
	text-decoration: none;
	padding: 0 13px;
	background-color: #fff;
	border: 2px solid #008E66;
	font-size: clamp(13px,1vw,16px);
	color: #231815;
	border-radius: 30px;
	line-height: 1.5;
	font-weight: normal;
}
.bl_searchCont .form {
	margin: 20px 0;
	max-width: 300px;
}
.bl_singleCat{
	display: flex!important;
	flex-wrap: wrap;
	width: 95%;
	margin: 0 auto 1em;
	justify-content: flex-end;
}
.bl_singleCat ul{
	width: 100%;
	justify-content: flex-end;
}
@media (min-width:950px){
	.bl_singleCat{
		width: 94vw;
		max-width: 1500px;
	}
	.bl_singleCat ul{
		width: fit-content;
	}
}
/*========== 月別アーカイブプルダウン ==========*/
/* プルダウンの外枠（矢印などのカスタマイズ用） */
.bl_archiveCont {
	position: relative;
	width: 100%;
}

/* セレクトボックス本体のスタイル */
.bl_archiveCont select {
	width: 100%;
	padding: 10px 15px;
	font-size: 16px;
	color: #333;
	background-color: #fff;
	border: 2px solid #008E66;
	border-radius: 8px;
	cursor: pointer;
	appearance: none; /* デフォルトの矢印を消す */
	-webkit-appearance: none; /* Safari用 */
	-moz-appearance: none; /* Firefox用 */
	transition: border-color 0.3s, box-shadow 0.3s;
}

/* マウスホバー時とフォーカス時 */
.bl_archiveCont select:hover {
	border-color: #003627;
}

.bl_archiveCont select:focus {
	outline: none;
	border-color: #003627;
	box-shadow: 0 0 5px rgba(0, 54, 39, 0.5); /* 枠線色に合わせてシャドウも調整 */
}

/* カスタム矢印（右側の ∨ マーク） */
.bl_archiveCont::after {
	content: '';
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666; /* 矢印の色 */
	pointer-events: none; /* 矢印部分をクリックしてもセレクトボックスが反応するようにする */
}
@media (min-width:950px){
	.bl_catList{
		margin: 0!important;
	}
	.bl_catList li a,
	.tab_tit span{
		padding: 3px 20px;
	}
	.bl_catList li,
	.tab_block a{
		margin: 5px!important;
	}
}

/*========== 記事一覧 ==========*/
.bl_activityList{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
	margin: 0 auto 3em;
}
.bl_activityCol{
	position: relative;
	z-index: 500;
	width: 100%;
	margin-top: max(40px,3vw);
}
.bl_activityCol a{
	color: #231815;
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
	transition: 0.3s;
}
.bl_activityCol figure{
	aspect-ratio: 6 / 4;
	margin-bottom: 15px;
}
.bl_activityCol figure img{
	border-radius: 10px;
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.bl_activityCol .el_title{
	display: -webkit-box;
	font-weight: bold;
	font-size: 22px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
	margin-bottom: 0;
	line-height: 1.5;
}
.bl_activityCol .el_cat{
	background-color: #BABCC4;
	border-radius: 5px;
	display: inline-block;
	font-size: 18px;
	font-family: "Montserrat", sans-serif;
	font-weight: normal;
	margin: 10px 0;
	height: 35px;
	padding: 0 20px;
	line-height: 2;
}
.bl_activityCol .el_time{
	margin: 0;
	color: #666262;
	font-family: "Montserrat", sans-serif;
	font-size: 20px;
	font-weight: normal;
	line-height: 1.4;
}
.bl_activityCol .el_time::before{
	background-color: #008E66;
	content: '';
	display: inline-block;
	margin-right: 10px;
	width: 30px;
	height: 1px;
	vertical-align: 7px;
}
@media (min-width:650px){
	.bl_activityList::after{
        content: '';
        display: block;
		width: 48%;
	}
	.bl_activityCol{
		width: 48%;
	}
}
@media (min-width:950px){
	.bl_activityList::after{
        content: '';
        display: block;
		width: 30%;
	}
	.bl_activityCol{
		width: 30%;
	}
}

/* 新着情報のみ */
.topics .bl_activityCol figure img{
    object-position: top;
}


/*--------------------------------------------------------
	新着情報
--------------------------------------------------------*/
/* 参加アイコン */
.bl_single .el_general,
.bl_single .el_member{
	background-color: #008E66;
	border-radius: 30px;
	color: #fff;
	display: block;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	margin: 30px 0;
	padding: 0 20px;
	width: 150px;
	height: 35px;
	line-height: 1.8;
}
.bl_single .el_general{
	background-color: #DF4B40;
}
.bl_single .el_member{
	background-color: #008E66;
}

/* 開催場所 */
.bl_single .bl_googlemap{
	border-top: 2px solid #B9C4C9;
	margin-top: 100px;
	padding-top: 100px;
	width: 100%;
}
.bl_googlemap h3{
	margin-bottom: 40px;
}
.bl_googlemap .bl_mapCont{
	width: 100%;
}
.bl_googlemap iframe{
	width: 100%;
	height: 100%;
}
.bl_googlemap .el_address{
	font-weight: bold;
	margin-top: 40px;
}
.bl_googlemap .el_mapLink{
	text-align: center;
	margin-top: 40px;
}
@media (min-width:950px){
	.bl_googlemap .bl_mapCont{
		height: 400px;
	}
}

/*--------------------------------------------------------
新着情報・活動報告・コラム等の記事ページ
--------------------------------------------------------*/
.bl_cont.bl_single{
	background-color: #fff;
	border-radius: clamp(10px,1.25vw,20px);
	padding: clamp(60px,4.15vw,80px) clamp(15px,2.5vw,50px);
}
	
/* タイトル・カテゴリー・日付 */
.bl_single .bl_titleCont{
	border-bottom: 2px solid #B9C4C9;
	margin: 0 auto 60px;
	padding-bottom: 10px;
}
.bl_single .bl_titleCont .bl_time-cat{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}
.bl_single .bl_titleCont .el_cat{
	background-color: #008E66;
	border-radius: 30px;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	height: 35px;
	padding: 0 20px;
	line-height: 2.5;
}
.bl_single .bl_titleCont .el_time{
	margin: 0;
	color: #666262;
	display: inline-block;
	font-family: "Montserrat", sans-serif;
	font-size: 16px;
}
.bl_single .bl_titleCont .el_time::before{
	background-color: #008E66;
	content: '';
	display: inline-block;
	margin-right: 10px;
	width: 30px;
	height: 1px;
	vertical-align: 5px;
}
@media (min-width:950px){
	.bl_single .bl_titleCont{
		margin: 0 auto 40px;
		padding-bottom: 20px;
	}
	.bl_single .bl_titleCont .bl_time-cat{
		justify-content: flex-start;
	}
	.bl_single .bl_titleCont .el_cat{
		font-size: 18px;
		height: 35px;
		line-height: 2;
        margin-bottom: 0;
		margin-right: 30px;
	}
	.bl_single .bl_titleCont time{
		font-size: 20px;
		vertical-align: 7px;
	}
	.bl_single .bl_titleCont time::before{
		vertical-align: 7px;
	}
}

/* 内容 */
.bl_single .bl_contents{
	margin: 0 auto;
}
.bl_single .bl_contents figure{
	margin: 30px auto;
}
.bl_single .bl_contents .bl_spacer{
	height: 40px;
}

/* 開催日時・開催場所・参加資格 */
.news_detail{
    margin-bottom: 40px;
}
.news_detail .el_days p{
    margin: 0!important;
}
.news_detail .el_days span{
    font-weight: bold;
}
.news_detail .el_days .member_only,
.news_detail .el_days .member_no{
    border-radius: 50px;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    margin-left: 20px;
    height: 30px;
    padding: 0 20px;
}
.news_detail .el_days .member_only{
    background-color: #008E66;
}
.news_detail .el_days .member_no{
    background-color: #DF4B40;
}

/* 開催場所マップ */
.gmap-frame{
    margin: 20px auto 0;
}
.gmap-frame .bl_mapCont{
    width: 100%;
    height: 300px;
}
.gmap-frame iframe{
    border: 0;
    width: 100%;
    height: 100%;
}
.gmap-frame p{
    margin: 0;
}
.gmap-frame p a{
    display: block;
    text-align: center;
}

/* SNSシェアボタン */
.bl_snsShare{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin: 120px auto 0;
}
.bl_snsShare div{
	width: 100%;
}
.bl_snsShare div+div{
	margin-top: 20px;
}
.bl_snsShare a{
	color: #fff;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size: 16px;
	text-decoration: none;
	width: 100%;
	height: 60px;
}
.bl_snsShare .el_x a{
	background-color: #1DA1F2;
}
.bl_snsShare .el_fb a{
	background-color: #4166B1;
}
.bl_snsShare .el_line a{
	background-color: #00B900;
}
@media (min-width:950px){
	.bl_snsShare div{
		width: 33.3%;
	}
	.bl_snsShare div+div{
		margin-top: 0;
	}
	.bl_snsShare .el_x a{
		border-radius: 5px 0 0 5px;
	}
	.bl_snsShare .el_fb a{
		border-radius: 0;
	}
	.bl_snsShare .el_line a{
		border-radius: 0 5px 5px 0;
	}
}

/* ページネーション */
.pagination.single{
	justify-content: space-between;
	width: 100%;
	margin: 25px auto 0;
	padding: 0 clamp(15px,2.5vw,50px);
}
.pagination.single a{
	background-color: #008E66;
	border: 1px solid #008E66;
	border-radius: 3px;
	color: #fff;
	font-weight: bold;
    width: auto;
	height: 40px;
	margin: 0;
    padding: 3px 10px;
}
.pagination.single a:hover{
	background-color: #fff;
	color: #008E66;
}
.bl_cont{
	width: 100%;
	padding: max(40px,4.5vw) max(20px,2.75vw);
	margin:0 auto;
}
@media (min-width:950px){
	.pagination.single{
		width: 94vw;
		max-width: 1500px;
	}
}
/*--------------------------------------------------------
	お問い合わせ
--------------------------------------------------------*/
/* コンテナ */
.bl_cont.affiliation{
    padding-bottom: 0;
}

/* TEL・FAX */
.el_tel{
	color: #008E66;
	font-weight: 500;
	margin-top: 10px!important;
}
.el_tel a{
	font-size: 32px;
	display: inline-block;
	text-decoration: none;
}
.el_tel a::before{
	background-image: url("../images/sub/icon_contact-tel.svg");
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	content: '';
	display: inline-block;
	margin-right: 10px;
	vertical-align: middle;
	width: 30px;
	height: 30px;
}
/* フォームリセット用 */
textarea{
	resize: vertical;
}
input[type='checkbox'],
input[type='radio']{
	display: none;
}
input[type='submit'],
input[type='button'],
label,
button,
select{
	cursor: pointer;
}
select::-ms-expand{
	display: none;
}

/* フォーム */
.bl_formCont{
	width: 100%;
	margin: 0 auto;
	background-color: #fff;
	border-radius: clamp(10px,1.25vw,20px);
	padding: max(50px,3.75vw) max(18px,2vw);
}

.bl_cont form{
	max-width: 900px;
	margin: 0 auto;
}
.bl_cont form table,
.bl_cont form table th,
.bl_cont form table td{
	border: 0!important;
	padding: 0!important;
}
.bl_cont form table tr{
	display: block;
}
.bl_cont form table tr+tr{
	margin-top: 40px;
}
.bl_cont form table th,
.bl_cont form table td{
	display: block;
	width: 100%;
}
.bl_cont form table th{
	background-color: transparent!important;
	color: #3E3A2A!important;
	text-align: left!important;
}
.bl_cont form table th span{
	color: #DF4B40;
}
.bl_cont form table th span.el_note{
	color: #969696;
	display: inline-block;
	font-size: 13px;
	margin-left: 10px;
}
.bl_cont form table th br{
	display: none;
}
.bl_cont form table td{
	margin-top: 10px;
	max-width: 560px;
}
.bl_cont form table td placeholder{
	color: #969696;
}
.bl_cont form table td input,
.bl_cont form table td textarea,
.bl_cont form table td.bl_privacyCont,
.bl_cont form table td.bl_policy{
	background-color: #F1F5F7;
	border-radius: 5px;
	border: 0!important;
	display: block;
	font-size: 16px;
	padding: 5px 15px!important;
	width: 100%;
}
.bl_cont form table td textarea{
	height: 180px;
}
.bl_cont form table td input{
	background-color: #F1F5F7;
	border-radius: 5px;
	border: 0!important;
	display: block;
}
.bl_cont form table td .bl_privacy{
	overflow-y: scroll;
	margin-bottom: 20px;
	padding: 15px;
	height: 150px;
	width: fit-content;
}
.bl_cont form table td .bl_privacy::-webkit-scrollbar{
	width: 10px;
}
.bl_cont form table td .bl_privacy::-webkit-scrollbar-track{
	background: #B9C4C9;
	border-radius: 50px;
}
.bl_cont form table td .bl_privacy::-webkit-scrollbar-thumb{
	background: #008E66;
	border-radius: 50px;
}
.bl_cont form table td .bl_privacy h3{
	color: #3E3A2A;
	font-size: 18px;
	margin-bottom: 10px;
	padding: 0;
}
.bl_cont form table td .bl_privacy h3::before{
	display: none;
}
.bl_cont form table td .bl_privacy h4{
	margin: 40px auto 10px;
}
.bl_cont form table td .el_checkbox{
	background-color: #969696;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: bold;
	font-size: 14px;
	padding: 15px;
}
.bl_cont form table td .el_checkbox.active,
.bl_cont form table td .el_checkbox.conf{
	background-color: #DF4B40;
}
.bl_cont form table td .el_checkbox input{
	appearance: none;
	position: relative;
	width: 30px;
	height: 30px;
	border-radius: 3px;
	background-color: #ffffff;
	cursor: pointer;
	margin-right: .5em;
}
.bl_cont form table td .el_checkbox .checkbox{
	margin-right: 10px;
}
.bl_cont form table td .el_checkbox input:checked::after{
	content: "";
	position: absolute;
	top: 6px;
	left: 6px;
	width: 18px;
	height: 12px;
	border-bottom: 3px solid #df4b40;
	border-left: 3px solid #df4b40;
	transform: rotate(-45deg);
}
.bl_bgBeige form table td input,
.bl_bgBeige form table td textarea,
.bl_bgBeige form table td.bl_privacyCont,
.bl_bgBeige form table td.bl_policy{
	background-color: #F4F2E9!important;
	padding: 8px!important;
}
.bl_policy .form_policy p,
.bl_policy .form_policy h2,
.bl_policy .form_policy ul li{
	font-size: clamp(15px,1.1vw, 18px)!important;
}
.bl_contactTitle label,
.bl_contactTitle input{
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.bl_contactTitle label+label{
	margin-top: 20px;
}
.el_radioBtn{
	appearance: none;
	position: relative;
	width: 20px!important;
	height: 20px!important;
	border-radius: 9999px!important;
	background-color: #f4f2e9;
	cursor: pointer;
	margin-right: 10px;
}
.el_radioBtn:checked::after{
	content: "";
	position: absolute;
    top: 0;
    left: 0;
	inset: 0;
	width: 15px!important;
	height: 15px!important;
	margin: auto;
	border-radius: 9999px;
	background-color: #008E66;
}
.bl_cont form table td.bl_policy .bl_checkbox{
	justify-content: flex-start;
	font-size: 18px;
}

@media (min-width:950px){
	.bl_cont form table tr{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
	.bl_cont form table tr+tr{
		margin-top: 60px;
	}
	.bl_cont form table th{
		width: 30%!important;
	}
	.bl_cont form table th br{
		display: block;
	}
	.bl_cont form table td,
	.bl_cont form table td.bl_privacyCont{
		font-size: 18px;
		margin-top: 0;
		width: 68%!important;
	}
	.bl_cont form table td .bl_privacy + label br{
		display: none;
	}
	.bl_cont form table td .bl_privacy + label input{
		margin-right: 15px;
	}
}

/*========== ボタン ==========*/
.bl_cont form .btn,
.bl_cont form .bl_btnCont{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: max(30px,1vw);
}
.bl_cont form .el_btnCont{
    position: relative;
}
.bl_cont form .el_btnCont+.el_btnCont{
    margin-left: 20px;
}
.bl_cont form .el_btnCont::after{
	background-image: url("../images/icon_btn-arrow-w.svg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 15px;
	transform: translateY(-50%);
	width: 15px;
	height: 15px;
}
.bl_cont form .el_btnCont:hover::after{
	background-image: url("../images/icon_btn-arrow-g.svg");
}
.bl_cont form .el_btnCont.submit::after{
	background-image: url("../images/icon_btn-arrow-w.svg");
}
.bl_cont form .el_btnCont.submit:hover::after{
	background-image: url("../images/icon_btn-arrow-dg.svg");
}
@media (min-width:950px){
	.bl_cont form .el_btnCont+.el_btnCont{
		margin: 0 0 0 40px;
	}
}

/* botton */
.bl_cont form input[type="submit"]{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .5rem calc(5vw + 20px) .5rem 5vw;
	background-color: #008E66;
	border: 1px solid #008E66;
	border-radius: 60px;
	color: #fff;
	cursor: pointer;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	transition: 0.3s;
	line-height: 1.7;
}
.bl_cont form input[type="submit"]:hover{
	background-color: #fff;
	color: #008E66;
	opacity: 1;
}
#mail_post {
	background-color: #003627;
	border: 1px solid #003627;
}
#mail_post:hover{
	background-color: #fff;
	color: #003627;
	opacity: 1;
}


/*--------------------------------------------------------
	プライバシーポリシー
--------------------------------------------------------*/
.bl_cont.bl_privacy h2{
	display: flex;
	align-items: center;
	color: #008E66;
	font-weight: bold;
	margin: max(40px,2.5vw) auto clamp(10px,1.125vw,30px);
	font-size: clamp(32px,2.25vw,42px);
	line-height: 1.6;
}
.bl_cont.bl_privacy h2::before{
	background-color: #008E66;
	content: '';
	display: block;
	width: 30px;
	height: 1px;
	margin-right: 8px;
}


/*--------------------------------------------------------
	404ページ
--------------------------------------------------------*/
.bl_404{
	border-radius: 20px 20px 0 0;
	padding-top: 60px;
	padding-bottom: 80px;
	margin: 0 auto!important;
}
.bl_404 .bl_cont{
	margin-top: 80px;
}

/*========== メイン ==========*/
.bl_404 .bl_mainCont{
	height: 100px;
	margin-bottom: 60px;
}
.bl_404 .bl_mainCont .bl_inner{
	height: 100%;
}
.bl_404 .bl_mainCont .bl_inner .el_en{
	top: 0;
}
.bl_404 .bl_mainCont .bl_inner h1{
	color: #231815;
	font-size: 32px;
	top: 30px;
	line-height: 1.4;
}
@media (min-width:540px){
	.bl_404 .bl_mainCont .bl_inner h1{
		font-size: 36px;
		line-height: 1;
	}
	.bl_404 .bl_mainCont .bl_inner h1 br{
		display: none;
	}
}
@media (min-width:1024px){
	.bl_404 .bl_mainCont{
		height: 120px;
	}
	.bl_404 .bl_mainCont .bl_inner h1{
		font-size: 55px;
		top: 60px;
	}
}
@media (min-width:1200px){
	.bl_404 .bl_mainCont{
		height: 150px;
	}
	.bl_404 .bl_mainCont .bl_inner h1{
		font-size: 65px;
		top: 70px;
	}
}

/*========== テキスト・ボタン ==========*/
.bl_404 .bl_cont p{
	text-align: center;
	font-weight: bold;
}
.bl_404 .el_btn{
	margin-top: 60px;
}
@media (min-width:950px){
	.bl_404 .bl_cont p{
		font-size: 22px;
	}
}

