@charset "utf-8";
.wrap1000 {
		max-width: 1000px;
		margin: 0 auto;
		padding: 0 30px;
		position: relative;
		z-index: 10
}
@media(max-width: 767px) {
		.wrap1000 {
				padding: 0 20px;
		}
}
.com_lead {
		text-align: justify;
		line-height: 2.0;
		margin: 0 0 100px
}
.subcommittee_hd {
		font-size: 40px;
		font-weight: 500;
		margin: 0 0 80px;
}
.subcommittee_hd.second {
		margin-top: 120px;
}
@media(max-width: 767px) {
		.com_lead {
				margin: 0 0 60px
		}
		.subcommittee_hd {
				font-size: 28px;
				margin-bottom: 40px;
		}
		.subcommittee_hd.second {
				margin-top: 80px;
		}
}
.com_item {
		background: #fff;
		padding: 20px 50px;
		margin: 0 0 24px;
		border-radius: 20px;
}
.com_hd_inner {
		display: flex;
		align-items: flex-start;
		margin-bottom: -15px;
		position: relative;
		padding-right: 30px;
		cursor: pointer
}
.com_hd_inner .hd_trigger {
		position: absolute;
		width: 13px;
		height: 13px;
		right: 0;
		top: calc(calc(50% - 6px) - 7px);
}
.hd_trigger::before, .hd_trigger::after {
		content: '';
		display: block;
		position: absolute;
		top: 6px;
		left: 0;
		width: 13px;
		height: 1px;
		background: #000;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.hd_trigger::after {
		transform: rotate(90deg)
}
.isOpen .hd_trigger::before {
		opacity: 0
}
.isOpen .hd_trigger::after {
		transform: rotate(180deg)
}
.com_hd_inner h3 {
		font-size: 24px;
		font-weight: 500;
		line-height: 1.6;
		margin: 0;
		padding: 0;
}
.com_hd_no {
		margin-right: 7px;
		font-size: 24px;
		font-weight: 500;
		line-height: 1.6;
}
.com_hd_title {
		flex: 1;
}
.com_hd_title .en {
		font-size: 16px;
		line-height: 1.4;
		padding-top: 5px;
}
.com_cont {
		margin-top: 20px;
		padding-top: 20px;
		padding-bottom: 10px;
		display: none;
		position: relative;
}
.com_cont::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
		transition-delay: 0.3s;
		background: #000;
		transform: scaleX(0);
		transform-origin: left center;
}
.isOpen + .com_cont::before {
		transform: scaleX(1);
}
.com_cont h4 {
		font-size: 14px;
		font-weight: 500;
		margin: 0 0 10px
}
.com_cont p {
		line-height: 1.8;
}
.com_cont h5 {
		font-size: 24px;
		font-weight: 500;
		margin: 25px 0 15px;
		position: relative;
}
.com_cont h5 span {
		display: block;
		position: absolute;
		left: -20px;
		top: 0
}
.com_cont th, .com_cont td {
		text-align: left;
		font-weight: 500;
		line-height: 1.8;
}
.com_cont th {
		white-space: nowrap;
		padding-right: 5px;
}
@media(max-width: 960px) {
		.com_item {
				padding: 20px 30px;
				margin: 0 0 20px;
				border-radius: 16px;
		}
}
@media(max-width: 767px) {
		.com_item {
				padding: 15px;
				margin: 0 0 20px;
				border-radius: 12px;
		}
		.com_hd_inner {
				padding-right: 25px;
		}
		.com_hd_inner h3 {
				font-size: 16px;
		}
		.com_hd_no {
				margin-right: 4px;
				font-size: 16px;
		}
		.com_hd_title .en {
				font-size: 12px;
				padding-top: 5px;
		}
		.com_hd_inner .hd_trigger {
				right: 5px;
				top: calc(calc(50% - 6px) - 7px);
		}
		.com_cont {
				margin-top: 20px;
				padding-top: 25px;
				padding-bottom: 10px;
		}
		.com_cont h4 {
				font-size: 14px;
				margin: 0 0 10px
		}
		.com_cont h5 {
				font-size: 18px;
				margin: 20px 0 10px;
		}
		.com_cont h5 span {
				left: -15px;
		}
		.com_cont th, .com_cont td {
				display: block;
				padding: 0
		}
		.com_cont th {
				white-space: inherit;
				padding-bottom: 0;
				font-size: 16px;
		}
		.com_cont td {
				padding-bottom: 10px;
				font-size: 13px;
		}
}
/* =============== */
.partner_footer {
		margin-top: calc(15vw + 100px);
		margin-bottom: -100px;
		position: relative;
}
.partner_footer footer {
		position: relative;
}
.partner_footer::before {
		content: '';
		display: block;
		position: absolute;
		top: -16vw;
		left: 0;
		width: 100%;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 100%;
		background-image: url("../images/second_wht_bg2_pc.svg");
		height: 800px;
		z-index: 10;
		box-sizing: border-box;
		pointer-events: none;
}
.partner_footer_inner {
		position: relative;
		z-index: 15;
		top: -10vw;
		margin-bottom: -10vw;
}
@media(max-width: 1500px) {
		.partner_footer_inner {
				top: -6vw;
				margin-bottom: -6vw;
		}
}
@media(max-width: 767px) {
		.partner_footer {
				margin-top: calc(14vw + 80px);
				margin-bottom: -80px;
		}
		.partner_footer::before {
				top: -14vw;
				background-image: url("../images/second_wht_bg_sp.png");
				height: 15vw;
				min-height: inherit;
				background-size: 100%;
		}
		.partner_footer_inner {
				background: #fff;
				padding-bottom: 20px;
				margin-bottom: -20px;
		}
}
.footer_partner_hd {
		text-align: center;
		font-size: 40px;
		font-weight: 500;
		margin: 0 0 35px;
}
.footer_partner_caption {
		text-align: center;
		line-height: 1.8;
		margin: 0 0 40px;
}
@media(max-width: 767px) {
		.footer_partner_caption {
				padding-top: 40px;
				margin: 0 0 40px;
		}
}
.footer_partner_btn {
		width: 325px;
		margin: 0 auto 160px;
}
.footer_partner_btn a {
		color: #323232;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 49px;
		box-sizing: border-box;
		border: 1px solid #323232;
		border-radius: 60px;
		position: relative;
		transition: background 0.4s;
}
.footer_partner_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0px;
		right: 0;
		width: 49px;
		height: 49px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 49px;
		background-image: url("../images/icon_right_blk.png");
		pointer-events: none
}
@media (hover: hover) {
		.footer_partner_btn a:hover {
				background: #000;
				color: #fff;
		}
		.footer_partner_btn a:hover::after {
				background-image: url("../images/icon_right_wht.png")
		}
}
@media(max-width: 767px) {
		.partner_bottom {
				height: 40px;
		}
		.footer_partner_hd {
				font-size: 32px;
				padding-top: 40px;
		}
		.footer_partner_btn {
				width: 80%;
				margin: 0 auto 80px;
		}
		.footer_partner_btn a span {
				transform: translateX(-1em)
		}
}
.entry_grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 70px 70px;
		max-width: 1000px;
		margin: 0 auto 120px;
}
.entry_tile a {
		color: #000;
		text-decoration: none;
}
.entry_thumb {
		overflow: hidden;
		border-radius: 20px 20px 0px 0px;
}
.entry_thumb img {
		width: 100%;
		height: auto;
		aspect-ratio: 10 / 6.9;
		object-fit: cover;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.entry_caption {
		background: #fff;
		border-radius: 0 0 20px 20px;
		padding: 15px 20px 13px;
}
.entry_caption_date {
		font-size: 14px;
		margin: 0
}
.entry_caption_title {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: ellipsis;
		-webkit-line-clamp: 1;
		font-size: 18px;
		line-height: 1.8;
		font-weight: 500;
}
@media (hover: hover) {
		.entry_tile a:hover img {
				transform: scale(1.1)
		}
}
@media(max-width: 1200px) {
		.entry_grid {
				gap: 30px 30px;
		}
}
@media(max-width: 767px) {
		.entry_grid {
				display: block;
				gap: 0px;
				margin-bottom: 40px;
		}
		/*
		.entry_tile {
				width: 100%;
				margin: 0 0 20px
		}
		.entry_thumb {
				border-radius: 16px 16px 0px 0px;
		}
		.entry_caption {
				border-radius: 0 0 16px 16px;
				padding: 13px;
		}
		*/
}
@media(max-width: 767px) {
		.entry_tile {
				margin-bottom: 20px;
		}
		.entry_tile a {
				display: flex;
		}
		.entry_thumb {
				width: 110px;
				height: 110px;
				border-radius: 16px 0 0px 16px;
		}
		.entry_thumb img {
				width: 110px;
				height: 110px;
				aspect-ratio: initial;
				object-fit: cover;
		}
		.entry_caption {
				flex: 1;
				padding: 15px;
				border-radius: 0 16px 16px 0px;
		}
		.entry_caption_title {
				font-size: 15px;
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				overflow: hidden;
		}
}