/* ----------------------------------------
   hamburger
---------------------------------------- */
.hamburger,
.hamburger_menu_list_inner {
	display: none;
}
.hamburger_menu {
	opacity: 0;
	height: 0;
}
.overlay {
	opacity: 0;
}
@media screen and (max-width: 1200px) {
	.hamburger.active .overlay {
		position: fixed;
		opacity: 1;
		z-index: 18;
		width: 100vw;
		height: 100vh;
		background-color: rgb( 0 0 0 / .5);
	}
	.hamburger {
		position: fixed;
		top: 10px;
		right: 24px;
		display: block;
		width: 44px;
		height: 44px;
		border: 1px solid var(--color-gray);
		transition: .4s;
		z-index: 999;
	}
	.hamburger span {
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		width: 60%;
		height: 2px;
		background: var(--color-gray);
		transition: .4s;
	}
	.hamburger span:nth-child(1) { top: 24%; }
	.hamburger span:nth-child(2) { top: 48%; }
	.hamburger span:nth-child(3) { bottom: 24%; }
	/* open時 */
	.hamburger.active {
		transition: .4s;
		border-radius: 50%;
	}
	.hamburger.active span:nth-child(1) {
		transition: .4s;
		transform: translateY(10px) rotate(-45deg);
	}
	.hamburger.active span:nth-child(2) {
		opacity: 0;
	}
	.hamburger.active span:nth-child(3) {
		transition: .4s;
		transform: translateY(-10px) rotate(45deg);
	}
	.hamburger_menu {
		background-color: #fff;
		position: fixed;
		top: 0;
		right: -100vw;
		z-index: 19;
		height: 100%;
		width: 85%;
		padding: 70px 20px 40px;
		overflow-y: auto;
	}
	.hamburger_menu_list > li > a {
		display: block;
		border-bottom: 1px solid #333;
		padding: 20px 0 8px 16px;
	}
	.hamburger_item {
		border-bottom: 1px solid var(--color-gray);
		position: relative;
		padding: 20px 0 8px 16px;
		cursor: pointer;
	}
	li.about .hamburger_item {
		border-bottom: 1px solid var(--color-about);
	}
	li.grants .hamburger_item {
		border-bottom: 1px solid var(--color-grants);
	}
	li.global .hamburger_item {
		border-bottom: 1px solid var(--color-global);
	}
	.hamburger_item::before,
	.hamburger_item::after {
		position: absolute;
		content: '';
		top: 1px;
		right: 20px;
		bottom: 0;
		width: 12px;
		height: 2px;
		margin: auto;
		background-color: var(--color-gray);
	}
	li.about .hamburger_item::before,
	li.about .hamburger_item::after {
		background-color: var(--color-about);
	}
	li.grants .hamburger_item::before,
	li.grants .hamburger_item::after {
		background-color: var(--color-grants);
	}
	li.global .hamburger_item::before,
	li.global .hamburger_item::after {
		background-color: var(--color-global);
	}
	.hamburger_item::after {
		transform: rotate(-90deg);
    	transition: transform 0.3s;
	}
	.hamburger_item.open::after {
		transform: rotate(0deg);
	}
	.hamburger_menu_list_inner li a {
		display: block;
		margin-left: 32px;
		padding: 12px 0;
		border-bottom: 1px solid var(--color-gray);
		position: relative;
		color: var(--color-gray);
	}
	.hamburger_menu_list_inner li a span {
		display: inline-block;
		width: 80%;
		max-width: 320px;
		border: 1px solid var(--color-grants);
		border-radius: 999px;
		padding: 2px 8px 2px 16px;
	}
	.hamburger_menu_list_inner .flex_start {
		border-bottom: 1px solid var(--color-grants);
		margin-left: 32px;
		gap: 12px;
		flex-wrap: wrap;
		padding: 16px 0;
	}
	.hamburger_menu_list_inner .hamburger_item_top {
		display: inline-block;
	}
	.hamburger_menu_list_inner .hamburger_item_top:first-of-type a {
		background-color: var(--color-grants);
		color: #fff;
	}
	.hamburger_menu_list_inner .hamburger_item_top a {
		display: block;
		width: 200px;
		background-color: transparent;
		border: 1px solid var(--color-grants);
		border-radius: 999px;
		padding: 4px 12px;
	}
	.hamburger_menu_list_inner .hamburger_item_top:nth-of-type(2) a {
		background-color: rgb(240, 241, 245);
	}
	.hamburger_menu_list_inner .hamburger_item_top:first-of-type a::before {
		font-family: 'Material Symbols Outlined';
		content: "volunteer_activism";
		display: inline-block;
		margin-right: 8px;
	}
	.hamburger_menu_list_inner .hamburger_item_top:nth-of-type(2) a::before {
		font-family: 'Material Symbols Outlined';
		content: "\e0ac";
		display: inline-block;
		margin-right: 8px;
	}
	.hamburger_menu_list li.about a {
		color: var(--color-about);
	}
	.hamburger_menu_list li.grants a {
		color: var(--color-grants);
	}
	.hamburger_menu_list li.global a {
		color: var(--color-global);
	}
	.hamburger_menu_list_inner li a::after {
		font-family: 'Material Symbols Outlined';
		content: "expand_circle_right";
		position: absolute;
		right: 20px;
		color: var(--color-gray);
	}
	.hamburger_menu_list li.about ul.hamburger_menu_list_inner li a::after {
		color: var(--color-about);
	}
	.hamburger_menu_list li.grants ul.hamburger_menu_list_inner li a::after {
		color: var(--color-grants);
	}
	.hamburger_menu_list li.global ul.hamburger_menu_list_inner li a::after {
		color: var(--color-global);
	}
	.midashi_themecolor {
		color: #fff;
		padding: 8px 0 8px 16px;
		position: relative;
	}
	.midashi_themecolor::after {
		font-family: 'Material Symbols Outlined';
		content: "label";
		color: #fff;
		position: absolute;
		right: 20px;
	}
	li.about .midashi_themecolor {
		background-color: var(--color-about);
	}
	li.grants .midashi_themecolor {
		background-color: var(--color-grants);
	}
	li.global .midashi_themecolor {
		background-color: var(--color-global);
	}
	li.other .midashi_themecolor {
		background-color: var(--color-lightgray);
		color: #000;
	}
}

/* ----------------------------------------
   @media
---------------------------------------- */

.sp2 {
	display: none;
}

@media screen and (min-width: 1200px) {
	.header_top.fixed .header_navigation_top {
		opacity: 0;
		height: 0;
		padding-bottom: 10px;
		transition: .2s;
	}
}

@media screen and (max-width: 1280px) {
	.sidebar {
		display: none;
	}
	.main_content.flex_between {
		gap: 0;
	}
	.top_btn_list.flex_between {
		justify-content: center;
		flex-wrap: wrap;
	}
	.top_information {
		margin-left: 2.5%;
	}
	.information_content {
		padding: 24px 27px;
	}
	main.main_content.flex_between {
		display: block!important;
	}
	footer {
		margin-top: 64px;
	}
}
@media screen and (max-width: 1200px) {
	.header_navigation_bottom,
	.header_navigation .login_mypage {
		display: none;
	}
	.header_top.flex_between {
		background-image: none;
		background-color: #fff;
		padding: 10px 88px 10px 6px;
	}
	.header_navigation_top.flex_end {
		padding-bottom: 0;
		align-items: center;
	}
	section.content .h3_sidebar_title {
		margin: 32px 0 16px;
	}
}

@media screen and (max-width: 900px) {
	p.page_text {
		margin-bottom: 16px;
	}
	.top_information.flex_start {
		flex-direction: column;
		align-items: center;
	}
	.information_block {
		width: 100%;
	}
	.information_content {
		border-radius: 0;
	}
	.top_information {
		margin: auto;
	}
	.information_content_list li:nth-of-type(n+6) {
		display: none;
	}
	.pagetitle_wrap:has(> .pagetitle_image) {
		padding-top: 60px;
		display: flex;
		flex-direction: column-reverse;
	}
	.h2_pagetitle:has(+ .pagetitle_image) {
		margin-top: 0;
	}
	.h2_pagetitle {
		margin-top: 80px;
	}
	.page_caption_wrap {
		padding: 24px 0;
		width: 95%;
		margin: auto;
	}
	.pagetitle_image {
		position: static;
		text-align: center;
		margin-bottom: 36px;
	}
	.pagetitle_image img {
		width: 100%;
		max-width: 600px;
	}
	body.subpage .pagetitle_wrap:has(> .pagetitle_image) + .page_caption_wrap .page_caption {
		padding-right: 0;
	}
	.section_content_wrap {
		padding: 36px 24px 24px;
	}
	.pageinfo_list li {
		padding: 12px 24px 12px 0;
	}
	main {
		padding-top: 24px;
	}
	.gallery_list {
		flex-wrap: wrap;
	}
}

@media screen and (max-width: 768px) {
	.pc2 {
		display: none;
	}
	.sp2 {
		display: block!important;
	}

	.recruiting_list li > a {
		padding: 24px 88px 24px 0;
	}
	.recruiting_list li a::before {
		content: "";
	}
	.recruiting_list.flex_between li {
		flex-basis: 100%;
	}
	.flex_between.gap32:has(> .midashi_color_border) {
		flex-direction: column-reverse;
		gap: 20px;
	}
	.midashi_color_border dd {
		padding-top: 8px;
	}
	.culumn2_list {
		margin-top: 0;
	}
	.culumn2_list li {
		flex-direction: column;
	}
	.culumn2_list li:first-of-type {
		display: none;
	}
	.culumn2_list li > div:not(:last-of-type) {
		border-right: none;
	}
	.culumn2_list_name {
		padding-left: 0!important;
	}
	.culumn2_list li:not(:first-of-type) > .culumn2_list_affiliation {
		position: relative;
		padding-left: 24px;
	}
	.culumn2_list li:not(:first-of-type) > .culumn2_list_affiliation::before {
		content: "";
		display: block;
		width: 14px;
		height: 2px;
		background-color: var(--color-gray);
		position: absolute;
		top: 10px;
		left: 0;
	}
	h3.h3_title_border::before {
		content: "";
		border-right: none;
	}
	body[class*="subpage"]:is([class*="social"], [class*="scholar"], .[class*="culture"]) .section_content_wrap p.page_text {
		margin-top: 0;
	}
	.square_gray:not(.faq_question) {
		padding: 24px 18px 24px;
	}
	.square_gray:not(.faq_question) > .midashi_bold_list {
		padding-top: 0;
	}
	.grantor_list_group li .bold {
		margin-bottom: 0;
	}
	.grantor_list_group li dl {
		flex-direction: column;
		gap: 0;
	}
	.grantor_list_group li dl dt {
		flex-basis: auto;
		border-right: none;
	}
	.grantor_list_group li dl dd {
		padding-left: 1em;
	}
	.grantor_list_group li dl:not(:last-child) dd {
		border-bottom: 1px solid var(--color-lightgray);
	}
	.h4_title {
		margin-top: 12px;
		margin-bottom: 8px;
	}
	.art_prize .recruiting_list li a::before {
		content: "";
	}
	.midashi_color_border dt,
	.midashi_color_border dd {
		text-align: center;
	}
	.conference_list_content {
		padding-left: 0;
	}
	.grid_table4 li {
		border: 1px solid var(--color-lightgray);
		border-radius: 16px;
	}
	.grid_table4_item:has( .grid_table4_file) {
		flex-direction: column;
		align-items: flex-start;
	}
	.grid_table4_flex {
		flex-direction: column;
		gap: 8px;
	}
	.grid_table4_midashi {
		flex-basis: 40px;
		border-top: 1px solid var(--color-lightgray);
	}
	.grid_table4 li .grid_table4_flex:not(:last-of-type) .grid_table4_midashi_inner {
		border-bottom: none;
	}
	.grid_table4 li .grid_table4_flex:first-of-type .grid_table4_midashi {
		border-radius: 16px 16px 0 0;
		border-top: none;
	}
	.grid_table4 li .grid_table4_flex:not(:first-of-type) .grid_table4_midashi {
		background-color: transparent;
	}
	.grid_table4 li .grid_table4_flex:last-of-type .grid_table4_midashi {
		border-radius: 0;
	}
	.grid_table4_item {
		padding:  0 0 8px 16px;
		border: none!important;
	}
	.grid_table4_file {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		padding: 0;
		border-left: none;
	}
	.board_list li {
		flex-direction: column-reverse;
		align-items: center;
		gap: 16px;
		padding: 20px 20px 20px 12px;
	}
	.link_fuchi a {
		display: block;
	}
	.grid_table1 {
		grid-template-columns: 50% 50%;
	}
	.grid_table1 dt {
		grid-column: span 2;
		text-align: center;
		display: block;
		padding: 8px 0;
	}
	.grid_table1 dd:nth-of-type(2n) {
		padding-left: 0;
	}
	.grid_table2 .grid_table2_midashi {
		display: none;
	}
	.grid_table2 {
		grid-template-columns: 40px 1fr;
	}
	.grid_table2_number {
		background-color: transparent;
	}
	.grid_table2_file {
		position: relative;
	}
	.grid_table2_number:has(+ .grid_table2_file.sp_midashi),
	.grid_table2_file.sp_midashi {
		padding-top: 40px;
	}
	.sp_midashi::before {
		content: "（提出書類）";
		position: absolute;
		top: 12px;
		left: -40px;
		display: block;
		width: 100%;
		color: var(--color-grants);
	}
	.grid_table2_way {
		grid-column: span 2;
		border-top: none;
		border-left: 1px solid var(--color-grants);
		flex-direction: column;
		align-items: flex-start;
		padding: 12px;
		position: relative;
		padding-top: 40px;
	}
	.grid_table2_way::before {
		content: "（提出方法）";
		display: block;
		position: absolute;
		top: 12px;
		left: 0;
		color: var(--color-grants);
	}
	.grid_table2_way.grid_row_span3 {
		grid-row-start: 4;
		border-bottom: 1px solid var(--color-grants);
	}
	.grid_table2_caption_list {
		border-top: 3px double var(--color-grants);
	}
	.grid_table2_number,
	.grid_table2_file {
		border-top: none;
		padding: 6px 12px;
	}
	.grid_table2_caption_list li {
		flex-direction: column;
		gap: 0;
	}
	footer {
		padding-top: 48px;
	}
	.footer_navigation {
		display: none;
	}
}
@media screen and (max-width: 540px) {
	.border_kadomaru,
	.bgcolor_kadomaru {
		flex-direction: column;
		align-items: flex-start;
		padding: 12px 18px;
	}
	.border_kadomaru dt,
	.bgcolor_kadomaru dt {
		padding-right: 0;
		margin-right: 0;
		padding-bottom: 4px;
		margin-bottom: 8px;
		border-right: none!important;
	}
	body:is(.grants, .social, .scholar, .culture, .login) :is(.border_kadomaru, .bgcolor_kadomaru) dt:not(:has(> img)) {
		border-bottom: 1px solid var(--color-grants);
	}
	.culumn2_table {
		flex-direction: column;
		gap: 8px;
	}
	.culumn2_table dt {
		flex-basis: auto;
	}
	.culumn2_table dd {
		margin: 0 .5em;
		padding: 0 12px;
		border-left: none;
	}
	.download_list li {
		border-bottom: 1px solid var(--color-lightgray);
	}
	.download_list li::before {
		top: 34px;
	}
	.download_list li:not(:has(> a)) {
		flex-wrap: wrap;
		padding-right: 0;
	}
	.faq_answer {
		padding-left: 0;
	}
	body.about .main_content section.content h3 {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	body.about .h3_title span {
		border-right: none;
		border-bottom: 1px solid var(--color-about);
		padding-right: 0;
		margin-right: 0;
		padding-bottom: 4px;
	}
	.h3_title_step::before {
		padding: 20px 8px 20px 16px;
	}
	.h3_title_step::after {
		padding: 20px 16px 20px 0;
		margin-right: 16px;
	}
	ol.number_marunuki_list li {
		gap: 16px;
	}
	.h3_title_nuri {
		padding: 18px 18px 18px 80px;
	}
	.conference_list li > a,
	.conference_list li:not(:has(> a)) {
		padding: 12px 12px 12px 0;
	}
	body[class*="senshin_shihon capital_publication"] .pagetitle_wrap {
		display: none;
	}
	body[class*="senshin_shihon capital_publication"] .main_content {
		margin-top: 80px;
	}
	.contact_form .culumn2_table dt {
		flex-basis: auto;
	}
	.h3_title_nuri_gray {
		padding: 18px 0;
	}
	.download_link {
		margin-top: 8px;
	}
}
