@charset "UTF-8";
@import url("reset.css");

/* ----------------------------------------
   カスタムプロパティ
---------------------------------------- */
:root {
	--font-size-70: clamp(2.5rem, 1.648rem + 3.64vw, 4.375rem);
	--font-size-52: clamp(2.938rem, 2.75rem + 0.8vw, 3.25rem);
	--font-size-45: clamp(2.375rem, 2.112rem + 1.12vw, 2.813rem);
	--font-size-40: clamp(2rem, 1.7rem + 1.28vw, 2.5rem);/*32-40*/
	--font-size-3245: clamp(2rem, 1.631rem + 1.58vw, 2.813rem);
	--font-size-36: clamp(1.5rem, 1.05rem + 1.92vw, 2.25rem);
	--font-size-325: clamp(1.656rem, 1.431rem + 0.96vw, 2.031rem);
	--font-size-30: clamp(1.5rem, 1.275rem + 0.96vw, 1.875rem);
	--font-size-28: clamp(1.375rem, 1.15rem + 0.96vw, 1.75rem);
	--font-size-24: clamp(1.125rem, 0.9rem + 0.96vw, 1.5rem);
	--font-size-20: clamp(1rem, 0.85rem + 0.64vw, 1.25rem);
	--font-size-19: clamp(0.813rem, 0.588rem + 0.96vw, 1.188rem);
	--font-size-18: clamp(1rem, 0.925rem + 0.32vw, 1.125rem);
	--font-size-16: clamp(0.875rem, 0.6rem + 0.64vw, 1rem);
	--font-size-15: clamp(0.875rem, 0.838rem + 0.16vw, 0.938rem);
	--font-size-14: clamp(0.875rem, 0.575rem + 0.48vw, 0.875rem);
  --color-text_gray: #41474d;
}
body {
	font-size: var(--font-size-16);
	color: var(--color-text_gray);
}
/* ==========================================================================//
//
//　common
//
// ========================================================================== */

.cf::after {
   content: "";
   display: block;
   clear: both;
}
.width1190 {
	width: 90%;
	max-width: 1190px;
	margin: auto;
}
.width1000 {
	width: 90%;
	max-width: 1000px;
	margin: auto;
}
.width630 {
	width: 90%;
	max-width: 630px;
	margin: auto;
}
.flex_between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.flex_start {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
.flex_wrap {
	flex-wrap: wrap;
}
.flex_end {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.flex_center {
	display: flex;
	justify-content: center;
}
.center {
	text-align: center;
}
.indent {
	text-indent: 1em;
}
.bold {
	font-weight: bold;
}
section {
	padding-bottom: 64px;
}
#loginform.section_grant {
	padding-bottom: 0!important;
}
body[class=""] section,
body.program section.top_search {
	padding: 64px 0 72px;
}
.section_title {
	margin-bottom: 32px;
}
.section_title h2 {
	display: flex;
	align-items: center;
	letter-spacing: .2em;
	font-size: var(--font-size-325);
	line-height: 1.3em;
	gap: 1em;
	flex: 1;
}
.section_title h2::before {
	display: block;
	content: "";
	width: calc( 50% - 560px ); /* 線の長さ */
	height: 3px;
	background-color: #990F5E;
}
.section_title.flex_between h2::before {
	width: calc( 50vw - 560px );
}
.section_title_en {
	font-family: "sofia-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: var(--font-size-24);
	letter-spacing: .2em;
	margin-right: 170px;
	padding: 10px 0 10px 40px;
	border-left: solid 1px #B5BABF;
}
.subpage_content {
	margin-top: 60px;
}
.page_text {
	margin-bottom: .5em;
}
.text_color_blue {
	color: #0070C0;
}
.text_color_blue a {
	color: #990F5E;
}
.small {
	font-size: var(--font-size-14);
}
.middle	{
	font-size: var(--font-size-20);
}
.sub {
	vertical-align: sub;
	font-size: var(--font-size-14);
}
.sup {
	vertical-align: super;
	font-size: var(--font-size-14);
}
.emphasis_dot {
	position: relative
}
.emphasis_dot::before {
	content: "・";
	position: absolute;
	top: -0.8em;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.7em;
	line-height: 1;
}

/* ==========================================================================//
//
//　header
//
// ========================================================================== */
.header_top_outer {
	position: sticky;
	top: 0;
	background-color: #fff;
	width: 100%;
	z-index: 999;
	padding-bottom: 32px;
}
.header_top {
	width: 90%;
	padding-top: 32px;
	margin: auto;
	gap: 3%;
}
.header_logo .flex_start .logo_foundation {
	padding-bottom: 12px;
}
.header_logo .logo {
	margin-right: 14px;
}
.header_logo .logo img {
	width: 475px;
}
#custom-modal {
  opacity: 0;
  visibility: hidden;
}
#custom-modal.active {
  opacity: 1;
  visibility: visible;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0,0,0,0.6);
  z-index: 999;
  transition: .4s;
}
.modal-content {
  margin: auto;
  padding: 10px;
  width: 90%;
  max-width: 800px;
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  }
.close {
  display: block;
  color: #aaa;
  font-weight: bold;
  position: relative;
  z-index: 4;
  text-align: center;
}
.close:hover,
.close:focus {
  color: #fff;
  cursor: pointer;
}
.globalnavi {
	flex: 1;
}
.globalnavi_list.flex_end {
	gap: 10%;
}
.globalnavi_list li {
	position: relative;
}
.globalnavi_list li::before {
	content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 4px;
  border-radius: 2px;
	background: #990F5E;
}
.globalnavi_list li a {
	color: #41474D;
}
.globalnavi_list li.current a {
	color: #B5BABF;	
}
.globalnavi_list li.current::before {
	background: #D9D9D9;
}
.slick-prev,
.slick-next {
	display: none!important;
}


/* ==========================================================================//
//
//	mainvisual-slick
//
// ========================================================================== */

#mainvisual {
	max-width: 100%;
	max-height: 420px;
	margin: 36px 0 0;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
#mainvisual img {
	width: 100%;
	max-height: 420px;
	object-fit: contain;
	object-position: center bottom;
	vertical-align: bottom;
}/*
.mainvisual_text {
	font-family: "游明朝 Medium", "Yu Mincho Medium", "YuMincho Medium", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", serif;
	position: absolute;
	right: 24px;
	top: 64px;
	color: #fff;
	text-shadow:  1px 1px 2px #2b2929;
	width: 90%;
}
.mainvisual_text dt {
	font-size: var(--font-size-36);
	line-height: 1.8em;
	margin-bottom: 32px;
	letter-spacing: .15em;
}
.mainvisual_text dd {
	font-size: var(--font-size-28);
	line-height: 1.8em;
	letter-spacing: .1em;
}*/

/* ==========================================================================//
//
//	section.top_login
//
// ========================================================================== */

body[class=""] section.top_login {
	background-color: #cbe4eb94;
	color: #2f4f4f;
	padding: 24px 0 40px;
}
.top_login_top {
	margin-bottom: 24px;
}
.login_heading {
	font-weight: bold;
	position: relative;
	margin-right: 56px;
	font-size: var(--font-size-18);
}
.login_heading::before {
	content: "";
	display: inline-block;
	position: absolute;
	left: 0;
	bottom: -6px;
	width: 100%;
	height: 4px;
	border-radius: 3px;
	background: #990F5E;
}
.login_reissue {
	font-size: var(--font-size-14);
	padding-left: 56px;
	border-left: solid 1px #2f4f4f;
	line-height: 1.6em;
}
.login_reissue a {
	color: #778899;
	text-decoration: underline;
}
.top_login_form > div div {
	width: 250px;
	margin-right: 24px;
}
.top_login_form input {
	width: 100%;
	height: 48px;
	border-radius: 125px;
}
.login_btn {
	max-width: 180px;
	background-color: #2a639b;
	font-size: var(--font-size-14);
	text-align: center;
	height: 48px;
	border-radius: 24px;
	background-image: url(../images/bg_circlefff.png);
	background-repeat: no-repeat;
	background-position: right 20px center;
}
.login_btn a {
	display: block;
	color: #fff;
	line-height: 44px;
}
.newmember_outer {
	margin-left: 56px;
	padding-left: 80px;
	border-left: solid 1px #2f4f4f;
}
.newmember_btn {
	max-width: 300px;
	background-color: #990F5E;
	font-size: var(--font-size-14);
	text-align: center;
	height: 48px;
	border-radius: 24px;	
	background-image: url(../images/bg_registration.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
}
.newmember_btn a {
	display: block;
	color: #fff;
	line-height: 44px;
}
main.subpage_content section.top_login {
	background-color: transparent;
	color: #363738;
	padding: 0 0 80px;
}
main.subpage_content section.top_login .login_reissue {
	border-left: solid 1px #d9d9d9;
}
main.subpage_content section.top_login .newmember_outer {
	border-left: solid 1px #d9d9d9;
}
main.subpage_content section.top_login .top_login_form input {
	border: solid 1px #d9d9d9;
}

/* ==========================================================================//
//
//	section.about_project
//
// ========================================================================== */

section.about_project {
	font-family: "sofia-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	background-color: #F2F2F2;
}
section.about_project h2::before {
	border-top: 3px solid #D9CB00;	
}
section.about_project .section_title_en {
	color: #C9BB00;
}
.about_project_content ul li {
	width: 100%;
	background-color: #fff;
	border: solid 1px #B5BABF;
	font-size: var(--font-size-18);
	border-radius: 10px;
	margin-bottom: 32px;
}
.about_project_content ul li a {
	display: flex;
	align-items: center;
	padding: 40px;
	gap: 24px;
}
.about_project_content ul li dl dt {
	font-size: var(--font-size-20);
	font-weight: bold;
	letter-spacing: .15em;
}


/* ==========================================================================//
//
//	section.top_search
//
// ========================================================================== */

section.top_search h2::before {
	border-top: 3px solid #990F5E;	
}
section.top_search .section_title_en {
	color: #990F5E;
}
.search_item {
	margin-right: 24px;
	margin-bottom: 30px;
}
.search_item h3 {
	color: #990F5E;
	font-size: var(--font-size-14);
	padding-bottom: 10px;
}
.search_item input {
	width: 100%;
	height: 48px;
	border-radius: 24px;
	border: solid 1px #B5BABF;
}
.search_item_name input {
	max-width: 190px;
}
.search_item_year select {
	width: 180px;
	height: 48px;
	line-height: 48px;
	border-radius: 24px;
	border: solid 1px #B5BABF;
}
section.top_search .section_inner {
	border: solid 1px #B5BABF;
	border-radius: 0 0 8px 8px;
	padding: 48px 48px 30px;
}
section.top_search .flex_right {
	flex-basis: 250px;
	padding: 16px 0 16px 40px;
	border-left: solid 1px #B5BABF;
	flex-shrink: 0;
}
section.top_search .flex_left {
	flex-wrap: wrap;
}
.btn_search {
	background: #990F5E url(../images/bg_search.png) right bottom no-repeat;
	height: 48px;
	line-height: 45px;
	border-radius: 24px;
	text-align: center;
	font-size: var(--font-size-14);
	margin-bottom: 32px;
}
.btn_search a {
	color: #fff;
	display: block;
}
section.top_search .flex_right p {
	font-size: .75em;
}



/* ==========================================================================//
//
//	section.top_information
//
// ========================================================================== */

section.top_information h2::before {
	border-top: 3px solid #D9CB00;	
}
section.top_information .section_title_en {
	color: #C9BB00;
}
ul.information_list li {
	border-top: solid 1px #D9D9D9;
	padding: 42px 32px 42px 40px;
	background-image: url(../images/bg_article.png);
	background-repeat: no-repeat;
	background-position: right 32px center;
}
ul.information_list li:last-child {
	border-bottom: solid 1px #D9D9D9;	
}
.information_title_top div {
	display: inline-block;
}
.information_date {	
	font-family: "sofia-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #8F979E;
	margin-right: 44px;
}
.information_title_bottom {
	font-size: var(--font-size-15);
	color: #41474D;
	padding-right: 40px;
}
.information_tag_important {
	color: #857B00;
	border: solid 1px #857B00;
	font-size: var(--font-size-14);
	padding: 0 12px;
	line-height: 1.5em;
	border-radius: 15px;
	margin-bottom: 16px;	
}
.information_tag_important:has(+ .information_tag_new) {
	border-radius: 15px 0 0 15px;
}
.information_tag_new {
	color: #990F5E;
	border: solid 1px #990F5E;
	font-size: var(--font-size-14);
	padding: 0 12px;
	line-height: 1.5em;
	border-radius: 15px;
	margin-bottom: 16px;
}
.information_tag_important + .information_tag_new {
	border-radius: 0 15px 15px 0;
	margin-left: -5px;
}
.information_all {
	background-image: url(../images/bg_circle000.gif);
	background-repeat: no-repeat;
	background-position: right 24px center;
	font-size: var(--font-size-14);
	width: 90%;
	max-width: 208px;
	height: 48px;
	line-height: 45px;
	margin: auto;
	text-align: center;
	border: solid 1px #D9D9D9;
	border-radius: 24px;
	margin-top: 40px;
}
.information_all a {
	display: block;
	color: #41474D;
}
.ceremony_title {
	padding-bottom: 6px;
	font-size: var(--font-size-24);
	font-weight: bold;
	margin-bottom: 30px;
}
.midashi {
	background: url("../images/info_bar_bg.gif") repeat-x left top;
	font-size: 14px;
	color: #fff;
	line-height: 1;
	margin-bottom: 10px;
}
.midashi img {
	vertical-align: middle;
}
.title_caption {
	font-weight: normal;
	font-size: var(--font-size-18);
}


/*	archive.php pagenation
//
// ========================================================================== */

.pagenation h2 {
	display: none;
}

/* ==========================================================================//
//
//	footer
//
// ========================================================================== */

.footer_inner {
	padding: 80px 0 36px;
	border-top: solid 2px #778899;
}
.footer_logo {
	text-align: center;
}
.footer_logo a {
	display: block;
	max-width: 450px;
	margin-inline: auto;
}
.footer_logo .logo img {
	width: 90%;
}
.footernavi ul.flex_between {
	align-items: flex-start;
	border-bottom: solid 1px #41474D;
	padding-bottom: 32px;
	margin: 48px auto;
}
.footernavi ul li {
	flex-basis: 30%;
	padding-left: 40px;
}
.footernavi > ul > li:first-child {
	padding-left: 0;
}
.footernavi ul li a {
	color: #41474D;
}
.footernavi ul li h3 {
	display: block;
	color: #41474D;
	border-bottom: solid 1px #41474D;
	padding-left: 40px;
	padding-bottom: 8px;
	margin-bottom: 16px;
}
.footernavi_itemlist li {
	font-size: var(--font-size-14);
}
.footernavi_sub ul.flex_start {
	justify-content: center;
}
.footernavi_sub ul li:not(:last-child) {
	border-right: solid 1px #41474D;
	padding-right: 30px;
	margin-right: 30px;
}
.footernavi_sub ul li a {
	color: #41474D;
}
.copyright {
	margin-top: 80px;
	text-align: center;
	color: #41474D;
	font-size: var(--font-size-14);
	overflow-wrap: break-word;
}
.breadcrumb {
	background-color: #778796;
	color: #fff;
	padding: 32px 0 32px 120px;
}
.breadcrumb ol {
	display: flex;
	margin: 0 16px;
}
.breadcrumb ol li {
	position: relative;
	padding-right: 16px;
	margin-right: 16px;
}
.breadcrumb ol li:not(:last-of-type)::after {
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 2px #41474D;
	border-right: solid 2px #41474D;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}
.breadcrumb a {
	color: #41474D;
}



/* ==========================================================================//
//
//　subpage
//
// ========================================================================== */

.subpage_top_outer {
	background-color: #778796;
	margin-top: 24px;
	color: #fff;
}
.subpage_top_outer:not(:has(> .subpage_top_link)) {
	padding-top: 48px;
}
.subpage_top {
	width: 90%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	border-left: solid 3px #fff;
	position: relative;
}
.subpage_top_link + .subpage_top {
	margin-top: 48px;
}
h2.pagetitle {
	display: block;
	font-size: var(--font-size-36);
	padding-bottom: 36px;
	border-radius: 1.5px;
	padding-left: 40px;
	letter-spacing: .15em;
	line-height: 1;
	font-weight: bold;
}
h2.pagetitle h2::before {
	border-top: 3px solid #990F5E;	
}
.pagetitle_en {
	font-family: "sofia-pro", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: var(--font-size-24);
	letter-spacing: .2em;
	padding: 10px 0 36px 40px;
	color: #fff;
}
.section_title .section_title_en {
	color: #990F5E;
}

/*　member　役員・評議員
//
// ========================================================================== */

.member_list dl {
	border-top: solid 1px #D9D9D9;
	padding: 16px 0 16px 42px;
}
.member_list dl:last-child {
	border-bottom: solid 1px #D9D9D9;	
}
.member_list dl dd {
	font-size: var(--font-size-14);
}
.member_list dl dd.position {
	flex-basis: 7%;
	text-align:justify;
	text-align-last:justify;
	margin-right: 11.2%;
}
.member_list dl dt {
	font-size: 18px;
	flex-basis: 13%;
	margin-right: 11.2%;
}
section.section_councilor .section_title_en {
	color: #C9BB00;
}


/*　privacypolicy　個人情報保護方針
//
// ========================================================================== */

.section_privacypolicy p {
	margin-bottom: 42px;
}
p.right {
	text-align: right;
}
.section_privacypolicy p.last_line {
	margin-bottom: 112px;
}

/*　report　事業・決算報告
//
// ========================================================================== */

.page_report.subpage_top,
.page_grant.subpage_top {
	padding-bottom: 80px;
}
.subpage_top_link {
	border-bottom: solid 1px #B5BABF;
	padding-bottom: 16px;
	padding-top: 16px;
}
.subpage_top_link dl {
	width: 90%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.subpage_top_link dl dd {
	margin-left: 16px;
}
.subpage_top_link dl dd a {
	display: block;
	border: solid 1px #D9D9D9;
	height: 40px;
	border-radius: 10px;
	line-height: 16px;
	padding: 10px 16px;
	color: #fff;
}
.subpage_top_link dl dd.off a {
	border: solid 1px #D9D9D9;
	color: #d9d9d9;
	pointer-events: none;
	cursor: default;
}
.subpage_top_btn,
.subpage_top_text {
	position: absolute;
}
.subpage_top_btn {
	right: 0;
	left: 0;
	bottom: 32px;	
}
.subpage_top_text {
	font-size: var(--font-size-20);
	left: 96px;
	bottom: 32px;
}
.subpage_top_btn .sub_btn {
	background-image: url(../images/bg_circlefff.png);
	background-repeat: no-repeat;
	background-position: right 20px center;
	width: 240px;
	background-color: #41474D;
	height: 48px;
	border-radius: 24px;
	text-align: center;
	line-height: 45px;
}
.subpage_top_btn .sub_btn:first-child {
	margin-right:  32px;
}
.subpage_top_btn .sub_btn a {
	display: block;
	color: #fff;
}
.report_list dl {
	border-top: solid 1px #D9D9D9;
	padding: 32px 80px 32px 42px;
	flex-wrap: wrap;
	gap: 42px;
}
.report_list dl:last-child {
	border-bottom: solid 1px #D9D9D9;	
}
.report_list dl dt {
	color: #41474D;
}
.report_list dl dd:nth-child(n+4) {
	margin-left: auto;
}
.report_list dl dd a {
	display: block;
	color: #990F5E;
}
.report_list dl dd a span,
.border_list > li a span {
	display: inline-block;
	vertical-align: middle;
	margin-right: 8px;	
}

/*　public　公告・開示
//
// ========================================================================== */


section.section_notice .report_list dl dt {
	margin-right: 72px;
}


/*　message　理事長挨拶
//
// ========================================================================== */

.switching {
	padding: 16px;
}
.switching a {
	display: block;
	margin-left: auto;
	width: fit-content;
	color: #778796;
	border-radius: 10px;
	line-height: 1;
	position: relative;
	padding-right: 15px;
}
.switching a::before {
  content: '';
  width: 6px;
  height: 6px;
  border-top: solid 2px #778796;
  border-right: solid 2px #778796;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}
.message_thumbnail {
	width: 45%;
	max-width: 150px;
	float: left;
	margin-right: 24px;
}
.message_thumbnail img {
	width: 100%;
	object-fit: cover;
}
.message_text {
	line-height: 2em;
}
.message_text p {
	margin-top: 1em;
}
.message_text .right {
	margin-top: 64px;
}
.message_text .right span {
	display: inline-block;
	font-size: var(--font-size-14);
	margin-right: 16px;
}


/*　article　定款
//
// ========================================================================== */

.ac_title {
	font-size: var(--font-size-20);
	color: #990F5E;
	padding: 8px 0;
	border-bottom: solid 1px #B5BABF;
}
.ac_title:hover {
	cursor: pointer;	
}
.ac_child {
	padding: 12px 0;
	border-bottom: solid 1px #B5BABF;
	line-height: 2em;
}
.article_ac:not(:first-of-type) .ac_child {
	display: none;
}


/*　grant　単年度研究助成
// 
// ========================================================================== */

.grant_text {
	width: 73%;
}
.page_grant section.top_login {
	background-color: transparent;
	color: #363738;
	margin-bottom: 30px;
}
.caution {
	font-size: var(--font-size-18);
	font-weight: bold;
	text-align: center;
	padding-bottom: 32px;
}
main.subpage_content .page_grant .breadcrumb {
	margin-top: 0;
}
.top_search h3.search_title {
	display: block;
	font-size: var(--font-size-18);
	color: #990F5E;
	text-align: center;
	border: solid 1px #B5BABF;
	border-bottom: none;
	border-radius: 8px 8px 0 0;
	padding: 12px 0;
}


/*　grant-description　研究助成-募集要項
// 
// ========================================================================== */

.description_content dl dt {
	padding: 0 0 8px 8px;
	border-bottom: 2px solid;
	font-size: var(--font-size-18);
	font-weight: bold;
}
.description_content dl dd {
	font-size: var(--font-size-16);
	padding: 16px 26px;
}
body:is(.program, .others) div:not(.breadcrumb) ol {
	counter-reset: num;
}
body:is(.program, .others) div:not(.breadcrumb) ol > li {
	counter-increment: num;
	position: relative;
  padding-left: 32px;
}
body:is(.program, .others) div:not(.breadcrumb) > ol > li {
	padding: 0 0 16px 32px;
}
body:is(.program, .others) div:not(.breadcrumb) ol > li::before {
    position: absolute;
    top: 0;
    left: 0;
}
body:is(.program, .others) div:not(.breadcrumb) ol li > ol {
	padding-left: 16px;
}
body:is(.program, .others) div:not(.breadcrumb) ol.maru_number_list > li::before {
	content: counter(num);
	border: 1px solid var(--color-text_gray);
	text-indent: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	top: 4px;
	left: 0;
	font-size: var(--font-size-14);
	line-height: 1;
}
body:is(.program, .others) div:not(.breadcrumb) ol.maru_number_list > li {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #ccc;
}
.dot_number_list > li {
	margin-top: 10px;
}
.dot_number_list > li::before {
	content: counter(num) ".";
}
.parenthesis_number_list > li {
	margin-top: 6px;
}
.parenthesis_number_list > li::before {
	content: "(" counter(num) ")";
}
.description_more_wrap {
	display: flex;
	justify-content: center;
	gap: 24px;
	align-items: center;
}
.description_more {
	margin-bottom: 24px;
}
.description_more a {
	display: flex;
	width: fit-content;
	margin-inline: auto;
	justify-content: center;
	align-items: center;
	color: #fff;
	background-color: #778796;
	border-radius: 12px;
	padding: 20px 80px;
	font-size: var(--font-size-18);
}


/*　grant-kokusai　国際交流等助成 研究者派遣・招聘
// 
// ========================================================================== */

.section_kokusai {
	background-image: url(../images/ico_international_child.png);
	background-repeat: no-repeat;
	background-position: right center;	
}
.top_search .section_inner {
	position: relative;
}
.indent12 {
	padding-left: 12em;
}


/*　grant-conference　池谷コンファレンス
// 
// ========================================================================== */

.section_conference .grant_text_outer {
	background-image: url(../images/ico_conference_child.png);
	background-repeat: no-repeat;
	background-position: right center;
}


/*　achievement　助成実績
// 
// ========================================================================== */


.achievement_list {
	border: solid 1px #D9D9D9;
	border-radius: 12px;
	margin-bottom: 40px;
}
.achievement_list dt {
	padding: 40px 48px;
	background-color: #41474D;
	color: #fff;
	border-radius: 12px 0 0 12px;
	font-size: 18px;
	font-weight: bold;
}
.achievement_list dd.achievement_number {
	padding-left: 44px;
}
.achievement_list dd.achievement_number p {
	margin-right: 48px;
}
.achievement_list dd.achievement_number p span {
	display: inline-block;
	font-size: var(--font-size-24);
	padding: 0 12px;
}
.achievement_list dd.btn_achievement {
	margin-left: auto;
	margin-right: 32px;
	border-left: solid 1px #D9D9D9;
	padding-left: 32px;
}
.achievement_list dd.btn_achievement .btn_nendo_achievement a {
	display: block;
	background-color: #990F5E;
	text-align: center;
	background-image: url(../images/bg_circlefff.png);
	background-repeat: no-repeat;
	background-position: right 8px center;
	height: 44px;
	line-height: 45px;
	padding: 0 30px;
	border-radius: 22px;
	font-size: var(--font-size-14);
	color: #fff;	
}


/*　achievement-search　助成実績-検索結果
// 
// ========================================================================== */

.achievement_item span {
	font-size: var(--font-size-20);
}
.achievement_items {
	margin-top: 20px; 
}
.achievement_items .achievement_item {
	padding-right: 24px;
	border-right: solid 1px #fff;
	margin-right: 24px;
	line-height: 1;
}
.page_achievement .subpage_top {
	padding-bottom: 160px;
}
.page_achievement .pagetitle {
	padding-bottom: 40px;
}
section.section_result {
	padding-bottom: 0;
}
.result_number {
	border-bottom: solid 3px #000;
	padding-bottom: 8px;
	font-size: var(--font-size-18);
	flex-wrap: wrap;
}
.result_number span {
	display: inline-block;
	margin-right: 8px;
	color: #990F5E;
	font-size: 2.22em;
}
.result_number .flex_right {
  position: relative;
}
.result_number .flex_right::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 16px;
  width: 8px;
  height: 8px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
}
.result_number select {
	border: solid 1px #D9D9D9;
	padding-left: 8px;
	padding-right: 24px;
	font-size: 0.77em;
}
.result_list {
	margin-top: 40px;
}
.result_list dl {
	border: solid 1px #D9D9D9;
	border-radius: 16px;
	margin-top: 40px;
}
.result_list dl:first-of-type {
	margin-top: 0;
}
.result_list dl dt {
	background-color: #990F5E;
	color: #fff;
	border: solid 1px #990F5E;
	border-radius: 16px 16px 0 0;
	padding: 16px 40px;
	font-size: var(--font-size-18);
	font-weight: bold;
}
.result_list dl dt span {
	white-space: nowrap;
}
.result_list dl dd .result_list_name {
	display: inline-block;
	font-size: var(--font-size-20);
	margin-right: 20px;
}
.result_list dl dd .result_list_university {
	margin-right: 54px;
}
.result_list dl dd {
	color: #41474D;
	margin: 8px 40px 24px;
}
.result_item_name.flex_start {
	border-bottom: solid 1px #D9D9D9;
	padding-bottom: 8px;
	align-items: center;
}
.result_link {
	flex-basis: 90px;
	width: 90px;
	margin-right: 24px;
}
.result_link a {
	display: block;
	color: #41474D;
	padding-top: 4px;
}
.result_link img {
	display: inline-block;
	vertical-align: middle;
	line-height: 33px;
	margin-left: 8px;
}
.pagenation {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 48px;
}
.pagenation .nav-links {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.pagenation > span {
	display: inline-block;
	margin: 0 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pagenation > span > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	line-height: 1;
	height: 48px;
}
.pagenation > span > a:has(> img) {
	display: flex;
	justify-content: center;
	align-items: center;
}
.pagenation .current {
	display: inline-block;
	color: #fff;
	background-color: #990F5E;
	border: solid 1px #990F5E;
	border-radius: 24px;
}
.pagenation a.page-numbers {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	color: #D9D9D9;
}
.pagenation a.page-numbers:not(.prev):not(.next) {
	width: 48px;
	height: 48px;
	line-height: 45px;
	border: solid 1px #D9D9D9;
	border-radius: 24px;
}


/*　contact　お問い合わせ
// 
// ========================================================================== */

.required_caution {
	color: #f00;
}
.contact_caution {
	border-bottom: solid 1px #c8d5dc;
	margin-bottom: 60px;
	color: #4d4d4d;
	line-height: 2em;
	padding-bottom: 16px;
}
.btn_faq {
	width: 100%;
	max-width: 600px;
	border: solid 1px #d9d9d9;
	margin: 20px 0;
	line-height: 1.4em;
}
.btn_faq a {
	display: block;
	position: relative;
	padding: 20px 0 20px 120px;
	font-size: var(--font-size-20);
}
.btn_faq a::before {
	position: absolute;
	content: 'FAQ';
	color: #990F5E;
	font-size: var(--font-size-40);
	font-weight: bold;
	line-height: 1;
  top: 40%;
  transform: translateY(-40%);
	left: 15px;
}
.btn_faq a span {
	font-size: .75em;
	color: #4d4d4d;
}
.contact_form dl.flex_between {
	margin-bottom: 2px;
	align-items: stretch;
	gap: 2px;
}
.contact_form dt {
	flex-basis: 20%;
	color: #fff;
	background-color: #41474D;
	position: relative;
	padding: 24px 16px;
}
.contact_form dt span.required {
	position: absolute;
	color: #fff;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}
.contact_form dd {
	flex-basis: 80%;
	background-color: rgba(105,112,119,.2);
	padding: 22px 16px;
}
.contact_form dd input,
.contact_form dd textarea {
	border: solid 1px #41474D;
}
.contact_form dd input {
	max-width: 100%;
	width: 340px;
}
.contact_form dd input[type="email"] {
	width: 100%;	
}
.contact_form dd textarea {
	width: 100%;
}
.wpcf7-spinner {
	display: block!important;
}
.caution_privacy {
	margin-top: 40px;
	margin-bottom: 16px;
}
.contact_check {
	text-align: center;
	margin: 20px 0 80px;
}
.contact_privacy {
	font-size: .9em;
	width: 100%;
	padding: 16px;
	height: 200px;
	overflow: scroll;
	border: solid 1px #41474D;
}
.mw_wp_form_confirm .btn_submit_area {
	padding-top: 60px;
}
.btn_submit_area {
	text-align: center;
}
.btn_confirm {
	position: relative;
	width: 240px;
	height: 48px;
	line-height: 20px;
	border: solid 1px #41474D;
	border-radius: 6px;
	text-align: center;
	letter-spacing: .3em;
}
.btn_confirm:after {
	content: '';
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #41474D #41474D transparent transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
    text-align: right;
    position: absolute;
    top: 18px;
    right: 32px;
}
section.contact_tel {
	padding-top: 0;
}
.contact_tel_inner {
	padding: 24px 36px;
	border: solid 1px #d9d9d9;
}
.contact_tel_top {
	margin-bottom: 16px;
}
.contact_tel_bottom {
	margin-bottom: 16px;
	gap: 60px;
}
.contact_tel_logo {
	padding-top: 10px;
	flex: 1;
}
.contact_tel_logo img {
	width: 100%;
}
.contact_tel_title {
	font-size: var(--font-size-24);
	color: #990F5E;
}
.fa-phone-flip {
	display: inline-block;
	margin-right: 16px;
}
.contact_tel_number {
	font-family: "sofia-pro", sans-serif;
	font-size: var(--font-size-45);
	font-weight: bold;
}
.contact_tel_text {
	text-align: center;
}
.mw_wp_form_confirm .caution_privacy,
.mw_wp_form_confirm .contact_privacy,
.mw_wp_form_confirm .contact_check {
	display: none!important;
}
.link_top a {
	display: block;
	position: relative;
	width: 240px;
	height: 48px;
	margin-right: auto;
	margin-left: auto;
	line-height: 43px;
	border: solid 1px #41474D;
	border-radius: 6px;
	text-align: center;
	letter-spacing: .3em;
}
.link_top a:after {
	content: '';
    width: 10px;
    height: 10px;
    border: 2px solid;
    border-color: #41474D #41474D transparent transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    display: inline-block;
    text-align: right;
    position: absolute;
    top: 18px;
    right: 32px;
}
/*　achievement-conference　池谷コンファレンス一覧
// 
// ========================================================================== */

.result_list dl dd .result_list_name {
	display: flex;
}
.result_list.conference_list dd .result_list_name {
	padding: 12px 0;
	align-items: flex-start;
}
.result_list.conference_list dd div .flex_left {
	white-space: nowrap;
}
.result_list_name.flex_start {
	flex-wrap: nowrap;
}

/*　achievement-list　助成実績一覧
// 
// ========================================================================== */

.grant_list_scroll {
	overflow-x: auto;
	position: relative;
	cursor: grab;
}
.grant_list_scroll.is-dragging {
	cursor: grabbing;
	user-select: none;
}
.grant_list_table {
	--thead-row-height: 48px;

	width: 100%;
	min-width: 1130px;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 0;
	text-align: center;
}
.grant_list_table th,
.grant_list_table td {
	box-sizing: border-box;
	padding: 10px 2.4em;
	border-right: solid 1px #d9d9d9;
	border-bottom: solid 1px #d9d9d9;
	white-space: nowrap;
}
.grant_list_table tr > :first-child {
	border-left: solid 1px #d9d9d9;
}
.grant_list_table thead tr {
	height: var(--thead-row-height);
}
.grant_list_table thead th {
	position: sticky;
	box-sizing: border-box;
	height: var(--thead-row-height);
	padding: 10px;
	background-color: #990F5E;
	border-color: #fff;
	color: #fff;
	vertical-align: middle;
	z-index: 2;
}
.grant_list_table thead tr:first-child th {
	top: 0;
}
.grant_list_table thead tr:nth-child(2) th {
	top: var(--thead-row-height);
}
.grant_list_table thead th[rowspan="2"] {
	top: 0;
	height: calc(var(--thead-row-height) * 2);
	vertical-align: middle;
}
.grant_list_table thead tr:first-child th:first-child {
	border-radius: 10px 0 0 0;
}
.grant_list_table thead tr:first-child th:last-child {
	border-radius: 0 10px 0 0;
}
.grant_list_table tbody th,
.grant_list_table tfoot th {
	width: 110px;
	background-color: #fff;
	font-weight: normal;
	text-align: center;
}
.grant_list_table tbody td:nth-child(2),
.grant_list_table tbody td:nth-child(4),
.grant_list_table tbody td:nth-child(6),
.grant_list_table tfoot td:nth-child(2),
.grant_list_table tfoot td:nth-child(4),
.grant_list_table tfoot td:nth-child(6) {
	width: 194px;
	text-align: right;
}
.grant_list_table tbody td:nth-child(3),
.grant_list_table tbody td:nth-child(5),
.grant_list_table tbody td:nth-child(7),
.grant_list_table tfoot td:nth-child(3),
.grant_list_table tfoot td:nth-child(5),
.grant_list_table tfoot td:nth-child(7) {
	width: 146px;
	text-align: right;
}
.grant_list_table tbody tr:nth-child(even) {
	background-color: #F8F3F4;
}
.grant_list_table tfoot {
	color: #990F5E;
	font-weight: bold;
}
.grant_list_table tfoot th {
	font-weight: bold;
}
.grant_list_table tfoot th:first-child {
	border-radius: 0 0 0 10px;
}
.grant_list_table tfoot td:last-child {
	border-radius: 0 0 10px 0;
}

/*　faq　よくあるご質問
// 
// ========================================================================== */

section.faq_section {
	padding: 60px 0 20px; 
}
.faq_h3 {
	width: 100%;
	background-color: #990F5E;
	color: #fff;
	font-size: var(--font-size-20);
	padding: 12px 24px;
	margin-bottom: 24px;
}
.faq_question {
	position: relative;
	z-index: +1;
	background-color: #fff;
	cursor: pointer;
	border: solid 1px #d9d9d9;
	margin-bottom: 10px;
	padding: 20px 70px;
}
.faq_question::before {
	position: absolute;
	content: 'Q';
	color: #990F5E;
	font-size: var(--font-size-40);
	font-weight: bold;
	line-height: 1;
    top: 40%;
    transform: translateY(-40%);
	left: 15px;
}
.faq_answer {
	display: none;
	padding: 20px 30px 60px 70px;
	position: relative;
}
.faq_answer::before {
	position: absolute;
	content: 'A';
	left: 30px;
	font-weight: bold;
}
.faq_answer ol li {
	padding-bottom: 12px;
	align-items: flex-start;
}
.faq_answer ol li div:first-child {
	margin-right: 16px;
}
.content_404 {
	text-align: center;
	margin: 60px 0 120px;
}
.btn_confirm a {
	display: block;
}
.faq_question .icon {
	position: absolute;
	top: 50%;
	right: 0rem;
	width: 36px;
	height: 36px;
	text-align: center;
	margin: -20px 30px 0 0;
}
.faq_question .icon::before {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	border-top: 2px solid #990F5E;
	width: 16px;
	height: 0;
	top: 0;
	bottom: 0;
	left: 17px;
}
.faq_question .icon::after {
	position: absolute;
	content: "";
	margin: auto;
	box-sizing: border-box;
	border-left: 2px solid #990F5E;
	width: 0;
	height: 16px;
	top: 0;
	bottom: 0;
	left: 24px;
	transition: .3s;
}
.faq_question.open .icon::after {
	height: 0;
}


/*　サイト内検索窓　searchform.php
// 
// ========================================================================== */

.search_input_box {
	margin-bottom: 24px;
	max-width: 500px;
	position: relative;
	margin-inline: auto;
}
.search_input_box .searc_input_form {
	width: 100%;
	height: 40px;
	font-size: var(--font-size-14);
	border-radius: 20px;
	border: solid 1px #d9d9d9;	
}
.search_input_box #btn_src_submit {
	position: absolute;
	width: 28px;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}
.pageturn {
	margin-top: 32px;
}
.pageturn a {
	display: flex;
	width: fit-content;
	padding: 8px 20px;
	border-radius: 12px;
	border: 1px solid var(--color-text_gray);
}
.section_search .page_text {
	text-align: center;
}
.disclosure_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 48px;
	gap: 2.5%;
}
.disclosure_list li,
.search_list li {
  border-bottom: solid 1px #D9D9D9;
  padding: 32px 16px;
}
body.achievements .disclosure_list li {
  flex-basis: 49%;
}
.disclosure_list li:last-child {
  border-bottom: solid 1px #D9D9D9;
}
.disclosure_list li a {
	display: block;
}
/**/
.ceremony_content .flex_center {
	gap: 32px;
	align-items: center;
}
.ceremony_content .flex_center .page_text {
	flex-basis: 60%;
}
.h3_title {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: var(--font-size-24);
	font-weight: bold;
	margin-bottom: 30px;
}
.h3_title::after {
	display: block;
	content: "";
	flex: 1;
	height: 2px;
	background-color: #990F5E;
}
.ceremony_image {
	text-align: center;
}
.ceremony_image img {
	max-width: 320px;
	height: auto;
}
.ceremony_content .flex_center .ceremony_image {
	flex-shrink: 0;
}
.ceremony_image .ceremony_text {
	font-size: var(--font-size-14);
	margin-bottom: 16px;
}/*
.ceremony_image:has(> p:not([class]) + p:not([class])) {
	display: flex;
	justify-content: center;
	gap: 16px;
}*/
.ceremony_inner {
	padding: 16px 0 32px;
	max-width: 800px;
	margin-inline: auto;
}
.flex_center .ceremony_text {
	max-width: 540px;
}
.ceremony_midashi {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	font-size: var(--font-size-24);
	font-weight: bold;
	margin-bottom: 30px;
}
.ceremony_midashi::before,
.ceremony_midashi::after {
	display: block;
  content: "";
  flex: 1;
  height: 2px;
  background-color: #990F5E;
}
.flow_content,
.section_terms {
	counter-reset: num;
}
.step_title {
	counter-increment: num;
	display: flex;
	align-items: center;
	gap: 16px;
	color: #990F5E;
	font-weight: bold;
	font-size: var(--font-size-28);
	border-bottom: 1px solid #778796;
	margin-bottom: 16px;
}
.step_title::before {
	content: 'STEP' counter(num);
	font-size: var(--font-size-24);
}
.step_title + p {
	color: #778796;
	margin-bottom: 24px;
	font-size: var(--font-size-18);
	padding-left: 90px;
}
.ten_list {
	padding-left: 100px;
	margin-bottom: 60px;
}
.ten_list li {
	display: flex;
	padding-bottom: .5em;
}
.ten_list li::before {
	content: "・";
}
.joko_title {
	counter-increment: num;
	display: flex;
	align-items: center;
	padding: 32px 0 12px;
}
.joko_title::before {
	content: '第' counter(num) '条';
	font-size: var(--font-size-18);
	display: block;
}
.section_terms > div > *:not(.joko_title, .page_text) {
	padding-left: 1em;
}

/*20260810*/
.border_list li {
	border-top: solid 1px #D9D9D9;
	padding: 18px 80px 18px 42px;
	flex-wrap: wrap;
	gap: 42px;
}
.border_list li:last-of-type {
	border-bottom: solid 1px #D9D9D9;;
}
.border_list li a {
	display: flex;
}
.border_list li a span {
	display: flex;
	align-items: center;
	gap: 12px;
}
ol.dot_list {
	counter-reset: num;
}
ol.dot_list > li {
	padding-left: 1em!important;
}
ol.dot_list > li::before {
	content: counter(num) '.';
}
.description_content dl + dl {
	padding-top: 36px;
}
.outline_content .border_list,
.outline_content .description_more {
	margin-top: 18px;
}
.sub_login {
	margin-top: 48px;
	padding: 24px 0 40px;
	background-color: #cbe4eb94;
}
.pdf_link_list {
	display: flex;
	margin-top: 32px;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 32px 42px;
	gap: 42px;
}
.pdf_link_list > li a {
	display: flex;
	align-items: center;
	gap: 8px;
}
.pdf_link_list > li a span {
	display: flex;
	align-items: center;
}
.sub_search_inner {
	margin-top: 42px;
	border: solid 1px #B5BABF;
	border-radius: 0 0 8px 8px;
	padding: 48px 48px 30px;
}
.sub_search .flex_right {
	flex-basis: 250px;
	padding: 16px 0 16px 40px;
	border-left: solid 1px #B5BABF;
	flex-shrink: 0;
}
.header_icon {
	gap: 14px;
}
.fontsize_ctl {
	display: flex;
	align-items: center;
	gap: 8px;
}
#fontSize {
	display: flex;
	gap: 8px;
}
#fontSize > li {
	padding: 2px 6px;
	font-size: 14px;
	border: 1px solid #231815;
	cursor: pointer;
}
#fontSize > li.active {
	background: #353131;
	color: #FFF;
}


/*　achievement-search　助成実績-検索結果
// 
// ========================================================================== */

[id] {
    scroll-margin-top: 120px;
}
.search_term_content {
	padding-top: 24px;
}
.search_term {
	display: flex;
	align-items: center;
}
.search_term::before {
	content: '検索条件';
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #990F5E;
	color: #fff;
	padding: 4px 12px;
	margin-right: 16px;
}
.search_change a {
	display: block;
	color: #990F5E;
	font-size: var(--font-size-18);
	border-bottom: dotted 1px #990F5E;
}
.achievement_item span {
	font-size: 1.25em;
}
.achievement_items {
	margin-top: 20px; 
}
.achievement_items .achievement_item {
	padding-right: 24px;
	border-right: solid 1px #fff;
	margin-right: 24px;
	line-height: 1;
}
.page_achievement .subpage_top {
	padding-bottom: 160px;
}
.page_achievement .pagetitle {
	padding-bottom: 40px;
}
section.section_result {
	padding-bottom: 0;
}
.result_number span {
	display: inline-block;
	margin-right: 8px;
	color: #990F5E;
	font-size: 2.22em;
}
.result_number .flex_right {
    position: relative;
}
.result_number .flex_right::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 16px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
}
.result_list dl dd .result_list_name {
	display: inline-block;
	font-size: 1.25em;
	margin-right: 20px;
}
.result_list dl dd .result_list_university {
	margin-right: 54px;
}
.result_list dl dd {
	color: #41474D;
	margin: 8px 40px 24px;
}
.result_link {
	flex-basis: 180px;
	width: 180px;
	margin-right: 24px;
}
.result_link a {
	display: block;
	color: #41474D;
	padding-top: 4px;
}
.result_link img {
	display: inline-block;
	vertical-align: middle;
	line-height: 33px;
	margin-left: 8px;
}
.pagenation .current {
	width: 48px;
	height: 48px;
	line-height: 45px;
	text-align: center;
	vertical-align: middle;
	color: #fff;
	background-color: #990F5E;
	border: solid 1px #990F5E;
	border-radius: 24px;
}
.pagenation .next:not(.page-numbers) {
	width: 48px;
	height: 48px;
	line-height: 45px;
	text-align: center;
	vertical-align: middle;
	color: #D9D9D9;
	border: solid 1px #D9D9D9;
	border-radius: 24px;	
}

@media (any-hover: hover) {
 a:hover {
 	opacity: .4;
 }
}
/*
* {
	outline: 1px solid #f00;
}
*/

