.main_visual {
	height: calc(100vh - 160px);
}
.main_visual .visual_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1200px;
	margin: auto;
	padding: 150px 0px;
	flex-wrap: wrap;
}
.main_visual .visual_inner .tit_visual {
	display: flex;
	flex-direction: column;
	row-gap: 45px;
	text-align: left;
}
.main_visual .visual_inner .tit_visual .tit_page {
	font-size: var(--page-font-size);
	font-weight: 800;
	line-height: 1.3;
	text-align: left;
	padding: 0px;
}
.main_visual .visual_inner .tit_visual li {
	font-size: var(--desc-font-size);
	line-height: 1.4em;
}
.main_visual .visual_inner .tit_visual li.btns {
	display: flex;
	column-gap: 15px;
}
.main_visual .visual_inner .tit_visual li.btns .btn {
	display: flex;
	column-gap: 10px;
	align-items: center;
	font-weight: 700;
}
.main_visual .visual_inner .tit_visual li.btns .btn:before {
	content: '';
	width: 18px;
	height: 18px;
}
.main_visual .visual_inner .tit_visual li.btns .btn_primary:before {
	background: url('../images/main/ico_pencil.png');
}
.main_visual .visual_inner .tit_visual li.btns .btn_primary_line:before {
	background: url('../images/main/ico_partner.png');
}
main .main_content section {
	padding: 130px 100px;
}
main .main_content section a.btn_shortcut {
	font-weight: 700;
	font-size: var(--medium-font-size);
	color: var(--primary-color);
	text-align: center;
	margin-top: 40px;
	display: block;
}
main .main_content section h2.tit_section {
	font-size: var(--intro-font-size);
	font-weight: 700;
	color: var(--text-color);
	text-align: center;
}
main .main_content section h3.stit_section {
	font-size: var(--stit-font-size);
	font-weight: 400;
	color: var(--default-color);
	text-align: center;
	margin-top:20px;
}
main .main_content section h2.tit_section span {
	color: var(--primary-color);
}
main .main_content .partner_benefit {
    background: var(--primary-light-color);
    height: 670px;
}
main .main_content .partner_benefit .content_area {
	position: relative;
}
main .main_content .partner_benefit .cont_benefit {
	margin-top: 80px;
}
main .main_content .partner_benefit ul {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	width: 1200px;
	position: absolute;
	top: 100px;
}
main .main_content .partner_benefit ul li {
	text-align: center;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
	transition: .2s;
}
main .main_content .partner_benefit ul li:hover {
	background: var(--white-color);
	border-radius: 20px;
	box-shadow: -3px 1px 10px rgb(0 0 0 / 10%);
	padding: 40px 20px;
    transform: scale(1.05);
}
main .main_content .partner_benefit ul li .tit {
	font-weight: 700;
	font-size: var(--stit-font-size);
}
main .main_content .partner_benefit ul li .desc {
	display: flex;
	flex-direction: column;
	row-gap: 5px;
}
main .main_content .partner_benefit ul li .desc span {
	display: block;
	font-size: var(--large-font-size);
}
main .main_content .partner_benefit ul li .desc span:before {
	content: '';
	border-radius: 30px;
	width: 4px;
	height: 4px;
	background: var(--primary-color);
	position: relative;
	display: inline-block;
	bottom: 4px;
	margin-right: 7px;
}
main .main_content .recently_post ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 50px;
	margin-top: 80px;
}
main .main_content .recently_post ul li {
	display: flex;
	flex-direction: column;
	border-radius: var(--normal-border-radius);
	background: var(--white-color);
	box-shadow: -3px 1px 10px rgb(0 0 0 / 10%);
	cursor: pointer;
}
main .main_content .recently_post ul li .thumb {
	border-radius: 10px 10px 0px 0px;
	overflow: hidden;
}
main .main_content .recently_post ul li .thumb img {
	width: 100%;
	max-height: 230px;
	min-height: 230px;
}
main .main_content .recently_post ul li .detail {
	padding: 30px 25px 40px 25px;
}
main .main_content .recently_post ul li .detail .category {
	border-radius: var(--round-border-radius);
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
	font-size: var(--xsmall-font-size);
	padding: 5px 10px;
	display: inline-block;
	margin-bottom: 20px;
}
main .main_content .recently_post ul li .detail .tit {
	font-size: var(--desc-font-size);
	font-weight: 700;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
main .main_content .recently_post ul li .detail .date {
	font-size: var(--small-font-size);
	color: var(--default-color);
}
main .main_content .partner {
	background: var(--gray-color);
}
main .main_content .partner .partner_list {
	margin-top: 80px;
}
main .main_content .partner .partner_list ul {
	display: grid;
    grid-template-columns: repeat(4, 1fr);
	gap: 10px;
}
main .main_content .partner .partner_list ul li {
	background: var(--white-color);
	border-radius: var(--normal-border-radius);
	text-align: center;
	height: 80px;
	display: table;
}
main .main_content .partner .partner_list ul li p {
	display: table-cell;
	vertical-align: middle;
}

@media all and (max-width:768px) {
	.main_visual {
		height: 100vh
	} 
	.main_visual .visual_inner {
		width: 100%;
		padding: 50px 30px;
		row-gap: 30px;
	}
	.main_visual .visual_inner .tit_visual {
		row-gap: 20px;
	}
	.main_visual .visual_inner .img_visual img {
		width: 100%;
	}
	main .main_content section {
		padding: 50px 30px;
	}
	main .main_content .partner_benefit {
		margin-bottom: 0px;
		height: auto;
	}
	main .main_content .partner_benefit ul {
	    grid-template: none;
	    width: 100%;
	    position: revert;
	}
	main .main_content .partner_benefit .cont_benefit {
		margin-top: 30px;
	}
	main .main_content .recently_post ul {
		grid-template: none;
		gap: 20px;
		margin-top: 30px;
	}
	main .main_content .recently_post ul li .thumb img {
		max-height: 200px;	
		min-height: 200px;
	}
	main .main_content .recently_post ul li .detail {
		padding: 20px;
	}
	main .main_content .recently_post ul li .detail .category {
		margin-bottom: 10px;
	}
	main .main_content .partner .partner_list {
		margin-top: 30px;
	}
	main .main_content .partner .partner_list ul {
		grid-template: none;
	}
}