@charset "UTF-8";
@import url("reset.css");
@import url("style-search.css");

/* ----------------------------------------
   common
---------------------------------------- */

body {
	font-size: var(--font-size-16);
	color: #4D4D4D;
	line-height: 1.8em;
}
.cf::after {
  content: "";
  display: block;
  clear: both;
}
.bold {
	font-weight: bold;
}
.align_right {
	text-align: right;
}
.red {
	color: #f00;
}
ul.square_list {
	padding: 32px 48px;
}
ul.square_list li {
	display: flex;
	margin-bottom: 16px;
	gap: .2em;
	font-size: var(--font-size-20);
	transition: color .3s;	
}
ul.square_list li::before {
	content: "◆";
	font-size: var(--font-size-18);
	display: inline-block;
}
ul.square_list_grants li::before {
	color: var(--color-grants);
}

/* 見出し --------------------------------- */

h3.h3_title_bar {
  display: flex;
  align-items: center;
  text-align: center;
  font-size: var(--font-size-28);
  color: #5a5a5a;
  font-weight: bold;
  padding: 36px 0 48px;
}
h3.h3_title_bar:before,
h3.h3_title_bar:after {
  content: "";
  height: 2px;
  flex-grow: 1;
  background-color: #666;
}
h3.h3_title_bar:before {
  margin-right: 1rem;
}
h3.h3_title_bar:after {
  margin-left: 1rem;
}
h3.h3_square {
	font-size: var(--font-size-20);
	font-weight: bold;
	margin-bottom: 24px;
}
h3.h3_square::before {
	content: "◆";
	font-size: var(--font-size-18);
	display: inline-block;
	margin-right: .2em;
}
h3.h3_square.h3_square_grants {
	color: var(--color-grants);
}


/* fonts --------------------------------- */
@font-face {
  font-family: 'Material Symbols Outlined';
  font-style: normal;
  src: url(https://example.com/material-symbols.woff) format('woff');
}

/* カスタムプロパティ --------------------------------- */

:root{
	/*760-375*/
	--font-size-s30: clamp(1.5rem, 1.135rem + 1.56vw, 1.875rem);/*30-24*/
	--font-size-s24: clamp(1.25rem, 1.006rem + 1.04vw, 1.5rem);/*24-20*/
	--font-size-s20: clamp(1.125rem, 1.003rem + 0.52vw, 1.25rem);/*20-18*/
	--font-size-s16: clamp(0.875rem, 0.753rem + 0.52vw, 1rem);/*16-14*/
	/*1200-375*/
	--font-size-36: clamp(2rem, 1.886rem + 0.48vw, 2.25rem);/*36-32*/
	--font-size-30: clamp(1.625rem, 1.511rem + 0.48vw, 1.875rem);/*30-26*/
	--font-size-28: clamp(1.5rem, 1.386rem + 0.48vw, 1.75rem);/*28-24*/
	--font-size-24: clamp(1.25rem, 1.136rem + 0.48vw, 1.5rem);/*24-20*/
	--font-size-22: clamp(1.125rem, 1.024rem + 0.43vw, 1.375rem);/*22-18*/
	--font-size-20: clamp(1rem, 0.886rem + 0.48vw, 1.25rem);/*20-16*/
	--font-size-18: clamp(0.938rem, 0.852rem + 0.36vw, 1.125rem);/*18-15*/
	--font-size-16: clamp(0.875rem, 0.818rem + 0.24vw, 1rem);/*16-14*/
	--font-size-14: clamp(0.813rem, 0.784rem + 0.12vw, 0.875rem);/*14-13*/
	/*color*/
	--color-grants: #0060c4;/*blue*/
	--color-award: #d80c24;/*red*/
	--color-aboutus: #090;/*green*/
}

/* flex --------------------------------- */
.flex_start {
	display: flex;
	justify-content: flex-start;
}
.flex_between {
	display: flex;
	justify-content: space-between;
}
.flex_around {
	display: flex;
	justify-content: space-around;
}

/* ----------------------------------------
   header
---------------------------------------- */
header {
	position: sticky;
	top: 0;
	display: flex;
	align-items: center;
	height: 80px;
	padding-left: 24px;
	padding-right: 100px;
	background-color: #fff;
	z-index: 997;
	border-bottom: solid 1px #fff;
}
header.fixed {
	border-bottom: solid 1px var(--color-award);
}
.header_logo {
	width: 40%;
	max-width: 360px;
	min-width: 240px;
}
.header_logo img {
	width: 100%;
}
.header_right {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-left: auto;
	gap: 20px;
}
#fontSize {
	display: flex;
	gap: 8px;
}
.btn_header_contact a {
	display: block;
	position: relative;
	padding: 4px 56px 4px 24px;
	border: solid 1px #b3b3b3;
	border-radius: 21px;
	display: flex;
	align-items: center;
	gap: 16px;
	color: #b3b3b3;
}
.btn_header_contact a::before {
	font-family: 'Material Symbols Outlined';
	content: "\e158";
	font-size: 20px;
	color: #b3b3b3;
}
.btn_header_contact a::after {
	position: absolute;
	content: "";
	right: 24px;
	width: 12px;
	height: 12px;
	border-top: 1px solid #b3b3b3;
	border-right: 1px solid #b3b3b3;
	transform: rotate(45deg);
	top: 0;
	bottom: 0;
	margin: auto;
}
.btn_login a {
	display: flex;
	align-items: center;
	color: #fff;
	background-color: var(--color-award);
	border: solid 1px var(--color-award);
	padding: 8px 36px;
	gap: 16px;
	border-radius: 28px;
	font-size: 18px;
	line-height: 1em;
}
.btn_login a::before {
	content: url('../images/ico_login.png');
	width: 22px;
}

/* fontsizeBtn --------------------------------- */
ul#fontSize li {
  padding: 0 6px;
  display: inline-block;
  border: 1px solid #231815;
  margin: 0;
}

ul#fontSize li.active {
  background: #353131;
  color: #FFF;
}


/* navigation --------------------------------- */
#hamburger {
  position: fixed;
  cursor: pointer;
  z-index: 999;
  right: 0;
  top: 0;
  background-color: #d80c24;
  backface-visibility:hidden;
  width: 80px;
  height: 80px;
  margin-left: auto;
  display: flex;
  justify-content: center;
}
#hamburger span {
  position: absolute;
  display: inline-block;
  transition: all .6s;
  width: 30px;
  height: 2px;
  border-radius: 2px;
  background-color: #fff;
  z-index: 999;
}
#hamburger span:nth-of-type(1) {
	top: 30px;
}
#hamburger span:nth-of-type(2) {
	top: 38px;
}
#hamburger span:nth-of-type(3) {
	top: 46px;
}
#hamburger.active span:nth-of-type(1) {
  -webkit-transform: translateY(8px) rotate(-45deg);
  transform: translateY(8px) rotate(-45deg);
}
#hamburger.active span:nth-of-type(2) {
  opacity: 0;
}
#hamburger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
}
.hamburger_inner_menu_outer {
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	bottom: 0;
	left: -100vw;
	background-color: #f9f9f9;
	z-index: 998;
	padding-top: 120px;
	padding-bottom: 60px;
	overflow: auto;
	scrollbar-width: none;
}
.scroll-container::-webkit-scrollbar {
  display: none; /* Chrome, Safari */
}
.hamburger_menu_top {
	display: flex;
	justify-content: flex-end;
	width: 90%;
	max-width: 1300px;
	margin: auto;
	gap: 24px;
}
.hamburger_inner_menu {
	width: 90%;
	max-width: 1300px;
	margin: auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 5%;
}
.hamburger_inner_menu_outer .header_logo {
	position: absolute;
	top: 10px;
	left: 24px;
}
.header_logo a {
	display: flex;
	align-items: flex-end;
}
.hamburger_inner_menu_left {
	flex-basis: 20%;
}
.navigation_title {
	font-size: var(--font-size-18);
	font-weight: bold;
	margin-top: 36px;
}
.navigation_title.about_title {
	color: var(--color-aboutus);
	border-bottom: solid 1px var(--color-aboutus);
	padding: 6px 0 6px 44px;
}
.about_title {
	background-image: url('../images/ico_aboutus.svg');
	background-repeat: no-repeat;
	background-position: center left;
}
.navigation_title.yoko_title {
	padding: 6px 12px;
}
.yoko_title {
	color: #fff;
	background-color: var(--color-grants);
}
.navigation_title.grants_title {
	color: var(--color-grants);
	border-bottom: solid 1px var(--color-grants);
	padding: 6px 0 6px 44px;
}
.grants_title {
	background-image: url('../images/ico_grants.svg');
	background-repeat: no-repeat;
	background-position: center left;
}
.navigation_title.award_title {
	color: var(--color-award);
	border-bottom: solid 1px var(--color-award);
	padding: 6px 0 6px 44px;
}
.award_title {
	background-image: url('../images/ico_award.svg');
	background-repeat: no-repeat;
	background-position: center left;
}
ul.hamburger_inner_menu_left_list li a {
	display: block;
	padding: 10px 0;
}
ul.hamburger_inner_menu_left_list li:first-of-type a {
	padding-top: 20px;
}
.hamburger_inner_menu_right {
	flex: 1;
}
ul.hamburger_inner_menu_right_list {
	display: flex;
	flex-wrap: wrap;
	font-size: var(--font-size-18);
}
ul.hamburger_inner_menu_right_list li a {
	display: block;
	padding-top: 20px;
	padding-right: 3em;
}
ul.navigation_others li a {
	display: block;
	font-size: var(--font-size-18);
	color: #090;
	padding: 10px 0;
}

/* language --------------------------------- */
.change_language {
	border: solid 1px #909090;
	padding: 4px 24px;
	border-radius: 23px;
	display: flex;
	align-items: center;
}
.change_language div:first-of-type::after {
	content: "/";
	padding: 0 .2em;
}
.change_language a {
	color: #979797;
	line-height: 1;
}


/* slider --------------------------------- */
.slider_mainvisual ul li img {
	width: 100%;
	min-height: 400px;
	object-fit: cover;
}
.slider_mainvisual ul li {
	position: relative;
}
.slider_mainvisual_text_ja {
	font-size: var(--font-size-30);
	color: #fff;
	text-shadow: 0 0 6px #231815;
	position: absolute;
	width: 95%;
	max-width: 1300px;
	margin: auto;
	top: 20px;
	left: 0;
	right: 0;
	font-weight: bold;
	line-height: 1.5em;
}
.slider_mainvisual_text_en {
	font-size: clamp(2.5rem, 0.473rem + 8.65vw, 7.5rem);
	text-shadow: 0 0 16px #fff;
	position: absolute;
	width: 95%;
	max-width: 1300px;
	margin: auto;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	align-items: center;
	font-weight: bold;
}
.slider_mainvisual ul li:nth-of-type(1) .slider_mainvisual_text_en {
	color: var(--color-aboutus);
}
.slider_mainvisual ul li:nth-of-type(2) .slider_mainvisual_text_en {
	color: var(--color-grants);
}
.slider_mainvisual ul li:nth-of-type(3) .slider_mainvisual_text_en {
	color: var(--color-award);
}


/* トップページ　main --------------------------------- */
.main_content.flex_between {
	width: 95%;
	max-width: 1300px;
	margin: 64px auto;
	gap: 36px;
	align-items: stretch;
}
.main_content_left {
	flex: 1;
	z-index: 800;
}
h2.top_h2_title {
	padding: 24px 0 24px 120px;
	background-position: top 20px left 40px;
	background-repeat: no-repeat;
	background-size: 80px auto;
	font-size: var(--font-size-30);
	font-weight: bold;
}
h2.top_h2_title::before {
	content: "";
	display: inline-block;
	width: 20px;
}
h2.top_h2_title .h2_title_en {
	display: block;
	font-size: var(--font-size-18);
	color: #828282;
	font-weight: normal;
	padding-left: 28px;
	margin-top: 8px;
}
.title_grants {
	border-left: solid 25px var(--color-grants);
	color: var(--color-grants);
	background-image: url('../images/ico_grants.svg');
}
.title_award {
	border-left: solid 25px var(--color-award);
	color: var(--color-award);
	background-image: url('../images/ico_award.svg');
}
.title_aboutus {
	border-left: solid 25px var(--color-aboutus);
	color: var(--color-aboutus);
	background-image: url('../images/ico_aboutus.svg');
}
h2.top_h2_title.title_grants .h2_title_en {
	border-top: solid 1px var(--color-grants);
}
h2.top_h2_title.title_award .h2_title_en {
	border-top: solid 1px var(--color-award);
}
h2.top_h2_title.title_aboutus .h2_title_en {
	border-top: solid 1px var(--color-aboutus);
}
.main_content_box {
	padding-bottom: 40px;
	box-shadow: 0 0 10px rgb( 0 0 0 / .2 );
	background-repeat: no-repeat;
	background-position: bottom right;
}
.main_content_box:not(:last-of-type) {
	margin-bottom: 40px;
}
.main_content_grants {
	background-image: url('../images/bg_grants_bottom.png');
}
.main_content_award {
	background-image: url('../images/bg_award_bottom.png');
}
.main_content_aboutus {
	background-image: url('../images/bg_aboutus_bottom.png');
}
.main_content_box_item {
	margin: 30px 64px 0;
}
.yoko_content {
	background-color: rgb( 0 96 196 / .1 );
}
.yoko_content .yoko_title {
	padding: 6px 24px;
	font-size: var(--font-size-22);
	font-weight: bold;
	display: inline-block;
}
.yoko_content .yoko_title .yoko_title_comment {
	display: inline-block;
	margin-left: 1em;
}
.yoko_content ul.square_list li::before {
	color: var(--color-grants);
}
.midashi_award ul.square_list {
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}
.midashi_award ul.square_list li {
	flex-basis: 32%;
	font-size: var(--font-size-18);
}
.midashi_award ul.square_list li:first-of-type::before {
	content: "";
}
.midashi_award ul.square_list li::before {
	color: var(--color-award);
}
.main_content_link {
	padding: 48px 24px 0;
	font-size: var(--font-size-20);
}
.main_content_link ul {
	display: flex;
	flex-wrap: wrap;
}
.main_content_link ul li {
	flex-basis: 45%;
}
.main_content_link ul li:nth-of-type(odd) {
	margin-right: 10%;
}
.main_content_link ul li a {
	display: block;
	padding-left: 10px;
	padding-bottom: 8px;
	margin-top: 12px;
}
.main_content_grants .main_content_link ul li a {
	border-bottom: solid 2px rgb( 0 96 196 / .3 );
}
.main_content_aboutus .main_content_link ul li a {
	border-bottom: solid 2px rgb( 0 153 0 / .3 );
}
.midashi_award dt {
	font-size: var(--font-size-28);
	font-weight: bold;
	border-bottom: solid 2px rgb( 216 12 36 / .3 );
	padding-bottom: 10px;
	margin-bottom: 24px;
	transition: color .3s;
}

.midashi_award dd {
	font-size: var(--font-size-18);
}

/* トップページ　サイドバー　 main_content_right --------------------------------- */
.main_content_right {
	display: flex;
	flex-direction: column;
	max-width: 400px;
}
.main_content_right > div {
	box-shadow: 0 0 10px rgb( 0 0 0 / .2 );
}
.main_content_right > div:not(:last-of-type) {
	margin-bottom: 40px;
}
.banner_area a {
	display: block;
	line-height: 1;
}
.news_area {
	position: relative;
	padding: 24px 32px;
	flex: 1;
}
.h2_title_news {
	font-size: var(--font-size-30);
	font-weight: bold;
	color: #5a5a5a;
	border-bottom: solid 2px rgb( 216 12 36 / .5 );
}
.news_more {
	position: absolute;
	bottom: 16px;
	right: 12px;
}
.news_more::after {
	content: "\eac9";
	font-family: 'Material Symbols Outlined';
	font-size: 24px;
	vertical-align: middle;
	color: var(--color-award);
}
ul.news_list li {
	border-bottom: solid 2px rgb( 216 12 36 / .3 );
	font-size: var(--font-size-18);
	padding: 20px 0;
}
ul.news_list li .date {
	font-weight: bold;
	padding-bottom: 10px;
}

/* フッター　footer --------------------------------- */
footer {
	background-color: #282828;
	color: #fff;
	padding: 48px 0;
}
.footer_navigation {
	width: 95%;
	max-width: 1300px;
	margin: auto;
	display: flex;
	gap: 16px;
}
.footer_navigation_left {
	flex: 1;
	display: flex;
	gap: 16px;
}
.footer_navigation dl {
	flex-basis: 18%;
}
.footer_navigation dl dt {
	font-size: var(--font-size-18);
	margin-bottom: 24px;
}
.footer_navigation dl dd {
	font-size: var(--font-size-14);
	margin-bottom: 16px;
}
.footer_navigation dl dd a {
	position: relative;
}
.footer_navigation dl dd a::after {
	content: "";
	position: absolute;
	bottom: -4px;
	right: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 1px;
	background-color:#fff;
	transition: .4s;
}

.footer_address {
	margin-left: auto;
}
.footer_navigation_link > div {
	width: 240px;
	font-size: var(--font-size-18);
	margin-bottom: 16px;
}
.footer_navigation_link > div a {
	position: relative;
	display: block;
	border: solid 1px #fff;
	padding: 12px 32px;
	border-radius: 28px;
	transition: .4s;
}
.footer_navigation_link a::before {
	font-family: 'Material Symbols Outlined';
	display: inline-block;
	font-size: 24px;
	vertical-align: middle;
	color: #fff;
	transition: .4s;
}
.footer_navigation_link_contact a::before {
	content: "\e158";
}
.footer_navigation_link_access a::before {
	content: "\f3ca";
}
.footer_navigation_link > div a::after {
	position: absolute;
	content: "";
	right: 24px;
	width: 12px;
	height: 12px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	top: 0;
	bottom: 0;
	margin: auto;
	transition: .4s;
}
.footer_address_info {
	font-size: var(--font-size-14);
}
.footer_address_logo {
	padding: 20px 0;
}
.footer_address_logo img {
	filter: invert(83%) sepia(95%) saturate(18%) hue-rotate(262deg) brightness(104%) contrast(99%);
}
.footer_logo {
	margin: 48px 0 20px;
	text-align: center;
}
.footer_logo a {
	display: block;
	width: 90%;
	max-width: 540px;
	margin: auto;
}
.footer_logo img {
	filter: invert(83%) sepia(95%) saturate(18%) hue-rotate(262deg) brightness(104%) contrast(99%);
}
.copyright {
	text-align: center;
	font-size: 12px;
}

/* ----------------------------------------
  下層ページ
---------------------------------------- */
.pankuzu {
	width: 100%;
	background-color: var(--color-award);
	font-size: var(--font-size-16);
}
.pankuzu_contens {
	width: 95%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 16px 0;
}
.pankuzu_contens a,
.pankuzu_contens span {
	color: #fff;
}
.home::after {
	content: ">";
	padding: 0 .5em;
}
.h2_pagetitle {
	display: block;
	font-size: var(--font-size-30);
	background-position: center left 12px;
	background-repeat: no-repeat;
	background-size: auto 60px;
	font-weight: bold;
	padding: 10px 0 10px 80px;
	line-height: 1.4em;
	width: 95%;
	max-width: 1300px;
	margin: auto;
}
.h2_pagetitle.aboutus_pagetitle {
	background-image: url('../images/ico_aboutus.svg');
}
.h2_pagetitle.grants_pagetitle {
	background-image: url('../images/ico_grants.svg');
}
.h2_pagetitle.award_pagetitle {
	background-image: url('../images/ico_award.svg');
}
.h2_pagetitle.others_pagetitle {
	background-image: url('../images/ico_others01.svg');
}
main.subpage {
	padding: 60px 0 80px;
}
.sub_content {
	width: 95%;
	max-width: 1120px;
	margin: 40px auto 0;
}


/* お知らせ一覧　newslist --------------------------------- */
.sub_content_newslist ul {
	background-color: #f0f0f0;
	padding: 20px;
}
.sub_content_newslist ul li {
	padding: 10px 0;
  border-bottom: 2px solid #E1E1E1;
}
.sub_content_newslist ul li .date {
	color: #828282;
}
.sub_content_newslist ul li .title {
	padding: 10px 0;
}
.pagination {
	margin-top: 24px;
}
.pagination span:not(.dots) {
	border: solid 1px var(--color-award);
	padding: 4px 12px;
	background-color: var(--color-award);
	color: #fff;
	margin-right: 4px;
}
.nav-links a.next,
.nav-links a.prev {
	display: none;
}
.nav-links a:not(.next):not(.prev) {
	border: solid 1px #E1E1E1;
	padding: 4px 12px;
	margin-right: 4px;
}

/* 募集要項 --------------------------------- */
.english_link {
  text-align: center;
  font-size: var(--font-size-20);
}
.english_link a {
	display: block;
  color: #FFF;
  border: solid 1px #b3b3b3;
  background-color: #b3b3b3;
  width: 90%;
  text-align: center;
  max-width: 370px;
	margin: 0 auto 20px;
  height: auto;
  padding: 8px 0;
  transition: .4s;
}
.btn_area_requirements a {
	position: relative;
	transition: .4s;
}
.btn_area_requirements a::after {
	position: absolute;
  content: "";
  right: 24px;
  width: 12px;
  height: 12px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  margin: auto;
	transition: .4s;
}
.directors_table {
	padding-left: 24px;
}

/* 諸規程 --------------------------------- */
.barsub:not(:first-of-type) {
	margin-top: 48px;
}
table.disclosure_table td {
	position: relative;
	padding: 12px 0;
}
table.disclosure_table td::before {
	content: "";
	width: 30px;
	height: 32px;
	background-image: url('../images/ico_pdf.svg');
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	bottom: 50%;
	margin: auto;
	left: 24px;
}
table.disclosure_table tr td a {
	display: block;
	padding: 16px 16px 16px 88px;
	border-bottom: solid 1px #5a5a5a;
}
.square_item {
	display: inline-block;
	margin-top: 24px;
}
.square_item::before {
	content: "◆";
	font-size: var(--font-size-18);
	display: inline-block;
	margin-right: 4px;
}
.square_item.square_item_aboutus::before {
	color: var(--color-aboutus);
}

/* 募集要項 --------------------------------- */

.incorporation {
	counter-reset: num;
}
.incorporation > dl dt {
	font-size: var(--font-size-18);
	font-weight: bold;
	padding-left: 1.4em; /* 2文字分くらい */
	text-indent: -1.4em;
	counter-increment: num;
}
.incorporation > dl dt::before {
	content: counter(num) '.';
	text-indent: 0;
	display: inline-block;
}
.incorporation > dl dd {
	padding-bottom: 30px;
	padding-left: 1.5em;
	font-size: var(--font-size-16);
}
ol.number_list {
	counter-reset: num;
}
ol.number_list li {
	display: flex;
	counter-increment: num;
	margin-bottom: 10px;
}
ol.number_list li::before {
	content: '（' counter(num) '）';
}

/* 役員一覧 --------------------------------- */
.directors_table dl {
	border-bottom: solid 1px #dcdcdc;
	display: flex;
}
.directors_table dl > * {
	padding: 10px 7px 10px 24px;
}
.directors_table dl > dt {
	background-color: #ededed;
	flex: 1;
	display: flex;
	align-items: center;
	font-size: var(--font-size-18);
}
.directors_table dl > dd {
	flex-basis: 75%;
	display: flex;
	align-items: center;
	font-size: var(--font-size-16);
}

/* 旧サイトcss --------------------------------- */
.barsub {
	display: inline-block;
  border-bottom: solid 2px var(--color-award);
  line-height: 2em;
  font-size: var(--font-size-24);
  margin-bottom: 30px;
}
.btn_area_requirements {
	margin-top: 36px;
}
.btn_area_requirements a {
  display: block;
  width: 90%;
	max-width: 400px;
  margin: 0 auto;
  padding: 20px 0;
  text-align: center;
  color: #fff;
  border-radius: 10px;
  font-size: var(--font-size-18);
  text-decoration: none;
  font-weight: bold;
  background-color: var(--color-award);
  border: solid 1px var(--color-award);
  transition: .4s;
}
.gray_label {
	background-color: #666;
  padding: 5px 30px;
  border-radius: 3px;
  font-size: var(--font-size-18);
  color: #fff;
  text-align: center;
  width: 160px;
  margin: 0 auto;
}
.outline div {
	padding: 30px 0 20px 20px;
	margin-bottom: 40px;
  border-bottom: solid 2px #b3b3b3;
}
.page_contens div:not(.txright) {
	margin-bottom: 30px;
}
.txright {
	text-align: right;
}
.rijicho {
	float: right;
	padding: 0 0 24px 24px;
}
.directors_table {
	margin-bottom: 60px;
}
.directors_table table th {
	padding: 7px 36px 7px 10px;
  width: 16%;
  border: solid 2px #dcdcdc;
  vertical-align: middle;
  background-color: #EDEDED;
}
.directors_table table td {
	padding: 7px 7px 7px 10px;
  width: 70%;
  border: solid 2px #dcdcdc;
  vertical-align: middle;
}
.incorporation table h4 {
	font-weight: bold;
  padding-top: 30px;
  font-size: var(--font-size-20);
}
.publication td {
	padding-top: 30px;
}
table.guide_en {
  margin-bottom: 30px;
}
table.guide_en td {
  padding: 10px;
  border: solid 1px #ccc;
}

/* Young Challenger Award支援金交付事業 --------------------------------- */

ul.square_list_award li::before {
	color: var(--color-award);
}
ul.square_list_award li a {
	display: inline-block;
}
ul.square_list_award li a span {
	display: inline-block;
	margin-right: 1em;
	border-bottom: solid 1px #5a5a5a;
}
.content_text {
	font-size: var(--font-size-18);
	padding-bottom: 36px;
}
body.yca .align_right {
	padding-right: 20%;
}

/* 研究成果発表会 eventカテゴリ  --------------------------------- */

.session_title_mainvisual {
  width: 100%;
  height: 480px;
  background-image: url(../images/bg_session_mainvisual.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
	padding-top: 160px;
}
.session_title_inner {
	width: 95%;
	max-width: 1300px;
	margin: auto;
	font-weight: bold;
}
.session_title1 {
	font-size: var(--font-size-30);
	color: #231814;
	padding-bottom: 40px;
}
.session_title2 {
	color: var(--color-award);
	font-size: clamp(2.5rem, 1.689rem + 3.46vw, 4.5rem);
}
.session_overview {
	padding-left: 48px;
}
.session_date {
  width: 80%;
  max-width: 750px;
  color: #fff;
  background-color: #5a5a5a;
  border-radius: 12px;
  font-size: 25px;
  text-align: center;
  font-weight: bold;
  padding: 12px 0 10px;
  margin: 36px auto;
}
.session_date .bold {
	font-size: var(--font-size-36);
}
.session_overview dl {
	display: flex;
  font-size: var(--font-size-22);
  margin-bottom: 16px;
}
.session_overview dl dt {
  text-align-last: justify;
  min-width: 60px;
  position: relative;
  font-weight: bold;
}
.session_overview dl.flex dt,
.session_overview dl.flex dt::after {
  color: var(--color-award);
}
.session_overview dl.schedule dt,
.session_overview dl.schedule dt::after,
.session_overview dl.schedule dd {
	color: #5a5a5a;
}
.session_overview dl dt::after {
  content: "\FF1A";
  position: absolute;
  font-weight: bold;
}
.session_overview dl dd {
  padding-left: 28px;
}
.session_overview dl dd .bold {
	font-size: 1.1em;
}
.session_section {
	padding-bottom: 60px;
}
.session_section .btn_form {
  text-align: center;
  width: 60%;
  max-width: 480px;
  margin: 50px auto 0;
}
ul.backnumber_list li {
  text-align: center;
  width: 90%;
  max-width: 600px;
  margin: 50px auto 0;
}
.session_section .btn_form:not(:has( a)) {
  background-color: var(--color-award);
  border: solid 1px var(--color-award);
  color: #fff;
  padding: 6px 15px;
  border-radius: 12px;
  line-height: 1.5;
  font-size: var(--font-size-20);
}
.session_section .btn_form a,
ul.backnumber_list li a {
  display: block;
  width: 100%;
  background-color: var(--color-award);
  border: solid 1px var(--color-award);
  color: #fff;
  padding: 6px 15px;
  background-image: url(../images/bg_submit.png);
  background-repeat: no-repeat;
  background-position: right 16px center;
  border-radius: 12px;
  line-height: 1.5;
  font-size: var(--font-size-20);
  position: relative;
  transition: .4s;
}
.session_section .btn_form a .bold,
ul.backnumber_list li a .bold {
	font-size: var(--font-size-24);
	display: inline-block;
	margin-right: 1em;
}
.pdf_flex {
	display: flex;
	justify-content: center;
	gap: 82px;
}
.pdf_flex .pdf_flex_item {
	flex-basis: 270px;
}
.pdf_flex .pdf_flex_item a {
	display: block;
}
.pdf_flex_item p {
	text-align: center;
}
.wpcf7-not-valid-tip {
	display: block;
	color: var(--color-award);
}


/* 研究成果（論文発表） research_results_list  --------------------------------- */

.select_nendo .square_list_grants li::before {
	color: rgb( 255 255 255 / .4);
	margin-right: 1em;
}
.select_nendo ul.square_list {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 4%;
}
.select_nendo ul.square_list li {
	background-color: var(--color-grants);
	flex-basis: 22%;
	height: 48px;
	border-radius: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 44px;
}
.select_nendo ul.square_list li a {
	display: inline-block;
	color: #fff;
	font-size: var(--font-size-16);
}
.select_prog {
	padding: 48px 0;
	border-top: solid 1px #5a5a5a;
	border-bottom: solid 1px #5a5a5a;
	margin-bottom: 36px;
}
.select_prog ul li a {
	color: var(--color-grants);
}
dl.researcher_list {
	display: flex;
	padding: 16px 0;
	border-bottom: solid 1px #5a5a5a;
	font-size: var(--font-size-18);
}
h3 {
	margin-top: 24px;
}
.barsub + h3,
.session_section h3 {
	margin-top: 0;
}
dl.researcher_list > * {
	padding: 8px 0 8px 20px;
	display: flex;
	align-items: center;
}
dl.researcher_list dt {
	flex: 2;
}
dl.researcher_list dd {
	border-left: solid 1px #5a5a5a;
}
dl.researcher_list dd:nth-of-type(1) {
	flex: 5;
}
dl.researcher_list dd:nth-of-type(2) {
	flex: 6;
}
dl.researcher_list dd:nth-of-type(3) {
	flex: 1;
}
dl.researcher_list dd img {
	width: 30px;
	height : auto;
}
h3 + dl.researcher_list {
	border-bottom: none;
	padding: 0;
	gap: 2px;
}
h3 + dl.researcher_list > * {
	background-color: rgb( 9 107 194 / .7 );
	color: #fff;
}
h3 + dl.researcher_list dt {
	border-radius: 24px 0 0 0;
}
h3 + dl.researcher_list dd {
	border-bottom: none;
	border-left: none;
}
h3 + dl.researcher_list dd:nth-of-type(3) {
	border-radius: 0 24px 0 0;
}

/* お問い合わせ contact  --------------------------------- */
.contact{
	padding: 48px;
}
.contact table {
  table-layout: fixed;
  width: 100%;
}
.contact table th {
  padding: 7px 7px 7px 10px;
  width: 25%;
  border: solid 2px #dcdcdc;
  vertical-align: middle;
  background-color: #EDEDED;
  border: 2px solid #fff;
}
.contact .contact_title {
  color: red;
  float: right;
}
.contact table td {
  padding: 10px 24px;
  width: 75%;
  border: solid 2px #dcdcdc;
  vertical-align: middle;
  background-color: #EDEDED;
  border: 2px solid #fff;
}
.contact .text_m {
  width: 100%;
  min-width: auto;
  max-width: 350px;
}
.contact .text_l {
  width: 100%;
  min-width: auto;
  max-width: 550px;
}
.contact .text_area {
  width: 100%;
  min-width: auto;
  height: 200px;
}
.contact table td input,
.contact table td textarea {
	background-color: #fff;
	border-radius: 10px;
	border: solid 1px #aaa;
	padding: 5px 16px;
}
.btn_box p {
	margin-top: 60px;
	text-align: center;
}
.btn_submit {
  display: inline-block;
  cursor: pointer;
  color: #fff;
  min-width: 90px;
  width: 220px;
  text-align: center;
  text-decoration: none;
  padding: 9px 15px;
  margin: 0px 10px 15px 0;
  border-radius: 10px;
  background-color: #d80c24;
}
.g-recaptcha {
	margin-top: 36px;
}
.g-recaptcha > div {
	margin: auto;
}


/* ----------------------------------------
  英語ページ
---------------------------------------- */

.english h2.top_h2_title {
	background-position: center left 40px;
	background-size: 70px auto;
}
.en_main_content_box_item {
	padding: 30px 54px;
	line-height: 2em;
}
dl.en_dl_list_flex {
	display: flex;
	font-size: var(--font-size-18);
}
dl.en_dl_list_flex dt {
	width: 148px;
	font-weight: bold;
}
dl.en_dl_list_flex dd {
	flex: 1;
}
dl.en_dl_list_vertival {
	margin-top: 1.5em;
	font-size: var(--font-size-18);
}
dl.en_dl_list_vertival dt {
	font-weight: bold;
}
.main_content_box {
	position: relative;
}
.main_content_box .news_more {
	bottom: 16px;
	right: 80px;
}

/* ----------------------------------------
  hover　@media
---------------------------------------- */

@media (any-hover: hover) {	
	.btn_header_contact a:hover {
		color: var(--color-award);
		border: solid 1px var(--color-award);
	}
	.btn_header_contact a:hover::before {
		color: var(--color-award);
	}
	.btn_header_contact a:hover::after {
		border-top: solid 1px var(--color-award);
		border-right: solid 1px var(--color-award);
	}
	.btn_login a:hover {
		color: var(--color-award);
		background-color: #fff;
	}
	.btn_login a:hover::before {
		content: url('../images/ico_login_on.png');
	}
	ul#fontSize li:hover {
		cursor: pointer;
		background-color: #b3b3b3;
		border: solid 1px #b3b3b3;
		color: #fff;
		transition: .4s;
	}	
	ul.hamburger_inner_menu_left_list li a:hover {
		color: var(--color-aboutus);
	}
	.yoko_title + ul.hamburger_inner_menu_right_list li a:hover,
	.grants_title + ul.hamburger_inner_menu_right_list li a:hover {
		color: var(--color-grants);
	}
	.award_title + ul.hamburger_inner_menu_right_list li a:hover {
		color: var(--color-award);
	}
	.change_language a:hover {
		color: var(--color-award);
	}
	.midashi_award dt a:hover{
		color: var(--color-award);
	}
	.main_content_grants ul.square_list li a:hover {
		color: var(--color-grants);
	}
	.main_content_grants .main_content_link ul li a:hover {
		color: var(--color-grants);
		border-bottom: solid 2px var(--color-grants);
	}
	.midashi_award dt:has( a:hover) {
		border-bottom: solid 2px var(--color-award);
	}
	.main_content_aboutus .main_content_link ul li a:hover {
		color: var(--color-aboutus);
		border-bottom: solid 2px var(--color-aboutus);
	}
	.footer_navigation dl dd a:hover::after {
		width: 32px;
		transition: .4s;
	}
	.footer_navigation_link > div a:hover {
		background-color: #fff;
		color: #282828;
		transition: .4s;
	}
	.footer_navigation_link a:hover::before {
		color: #282828;
		transition: .4s;
	}
	.footer_navigation_link > div a:hover::after {
		border-top: solid 1px #282828;
		border-right: solid 1px #282828;
		right: 16px;
		transition: .4s;
	}
	.english_link a:hover {
		color: var(--color-award);
		border: solid 1px #b3b3b3;
		background-color: transparent;
  	transition: .4s;
	}
	.btn_area_requirements a:hover {
		border: solid 1px var(--color-award);
		background-color: transparent;
		color: var(--color-award);
		transition: .4s;
	}
	.btn_area_requirements a:hover::after {
	  border-top: 1px solid var(--color-award);
	  border-right: 1px solid var(--color-award);
	  right: 16px;
	  transition: .4s;
	}
	.session_section .btn_form a:hover,
	ul.backnumber_list li a:hover {
		background-color: #fff;
		color: var(--color-award);
		transition: .4s;
		background-position: right 10px center;
		background-image: url(../images/bg_submit_on_red.png);
	}
	.pdf_flex .pdf_flex_item a:hover {
		box-shadow: 0 0 10px rgb( 0 0 0 / .2 );
	}
	table.disclosure_table tr td a:hover {
		color: var(--color-award);
	}
	table.disclosure_table td:hover::before {
		background-image: url(../images/ico_pdf_on.svg);
	}
}

/* ----------------------------------------
  レスポンシブ　@media
---------------------------------------- */

.pc {
	display: block;
}
.sp {
	display: none;
}

@media screen and ( max-width: 1400px ) {
	.header_right .change_language,
	.header_right .btn_header_contact,
	.header_right .btn_search_modal,
	.header_right .btn_login {
		display: none;
	}
}

@media screen and ( max-width: 1260px ) {
	.pc {
		display: none;
	}
	.main_content.flex_between {
		flex-direction: column-reverse;
	}
	.main_content_right {
		flex-direction: row;
		align-items: flex-start;
		max-width: 100%;
	}
	.main_content_right > div:not(:last-of-type) {
		margin-bottom: 0;
	}
	.banner_area {
		width: 30%;
		max-width: 408px;
	}
	.main_content_right > div.news_area {
		flex: 1;
		box-shadow: none;
		padding: 0 0 48px 48px;
	}
	.h2_title_news {
		padding-bottom: 8px;
	}
	ul.news_list li {
		display: flex;
		gap: 12px;
		padding: 16px 0;
		border-bottom: solid 1px rgb( 216 12 36 / .3 );
	}
	.news_area ul.news_list li:nth-child(n+4) {
		display: none;
	}
	ul.news_list li .date {
		padding-bottom: 0;
	}
	body:not(.english) .news_more {
		top: 0;
		bottom: auto;
	}
	.main_content_link {
		padding-top: 0;
	}
	.footer_navigation_left {
		flex-direction: column;
	}
	.footer_navigation dl dd {
		display: inline-block;
		margin-right: 16px;
	}
	.schedule {
		flex-direction: column;
		align-items: flex-start;
	}

}

@media screen and ( max-width: 900px ) {
	.hamburger_inner_menu {
		flex-direction: column-reverse;
	}
	.hamburger_inner_menu_left {
		width: 100%;
	}
	.hamburger_inner_menu_left_list {
		display: flex;
    flex-wrap: wrap;
    align-items: center;
	}
	ul.hamburger_inner_menu_left_list li a {
    padding-top: 20px;
    padding-right: 3em;
	}
	.main_content_right {
		flex-direction: column;
		gap: 36px;
		align-items: center;
	}
	.banner_area {
		width: 95%;
		max-width: 350px;
	}
	.main_content_right > div.news_area {
		padding-left: 0;
		width: 100%;
	}
	ul.news_list li {
		flex-direction: column;
	}
}

@media screen and ( max-width: 768px ) {
	.sp {
		display: block;
	}
	.fontsize_title,
	#fontSize {
		display: none;
	}
	.hamburger_menu_top {
		flex-wrap: wrap;
	}
	.btn_login {
		width: 100%;
	}
	.btn_login a {
		justify-content: center;
	}
	.slider_mainvisual_text_en {
		top: auto;
		bottom: 20px;
	}
	.main_content.flex_between {
		width: 100%;
	}
	.main_content_link ul {
		flex-direction: column;
	}
	.main_content_link ul li:nth-of-type(odd) {
		margin-right: 0;
	}
	.main_content_link {
		padding: 0;
		width: 95%;
		margin: auto;
	}
	.main_content_box {
		box-shadow: none;
		background-image: none;
	}
	.main_content_award {
		background-color: rgb( 240 240 240 / .3);
		padding: 24px 0 48px;
	}
	.main_content_box_item,
	.main_content_right > div.news_area {
		width: 95%;
		margin: auto;
	}
	.main_content_grants .main_content_box_item {
		width: 100%;
	}
	h2.top_h2_title {
		border-left: none;
		background-position: top 20px left 0;
		padding-left: 80px;
	}
	.yoko_content .yoko_title {
		display: block;
		text-align: center;
		margin-top: 24px;
	}
	.midashi_award dt {
		line-height: 1.4em;
	}
	ul.square_list {
		padding: 32px 2.5%;
	}
	.midashi_award ul.square_list {
		flex-direction: column;
	}
	.pageturn {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		gap: 24px;
	}
	.footer_navigation {
		flex-direction: column;
	}
	.footer_address {
		margin-left: 0;
	}
	.footer_navigation_link {
		display: flex;
		justify-content: center;
		gap: 4%;
	}
	.footer_address_info {
		display: none;
	}
	.h2_pagetitle {
		background-position: top center;
		padding: 64px 0 0 0;
		text-align: center;
	}
	.incorporation > dl dd {
		padding-left: 0;
	}
	.rijicho {
		float: none;
		text-align: center;
	}
	.outline div {
		padding-left: 0;
	}
	.directors_table {
		padding-left: 0;
	}
	.directors_table dl {
		flex-direction: column;
	}
	.directors_table dl:has(+ dl) {
		border-bottom: none;
	}
	.session_section .btn_form a .bold,
	ul.backnumber_list li a .bold {
		margin-right: 0;
	}
	.session_overview {
		padding-left: 24px;
	}
	.session_section .btn_form {
		width: 100%;
		padding: 6px;
	}
	.pdf_flex {
		gap: 10%;
		padding-left: 0;
	}
	.pdf_flex .pdf_flex_item {
		flex-basis: 43%;
	}
	.session_section .btn_form a,
	ul.backnumber_list li a {
		background-image: none;
	}
	.session_overview dl {
		flex-direction: column;
		align-items: flex-start;
	}
	.session_overview dl dd {
		padding-left: 0;
	}
	dl.en_dl_list_flex {
		flex-direction: column;
	}
	.guide_en tr {
		display: flex;
		flex-direction: column;
	}
	.guide_en tr:first-of-type {
		display: none;
	}
	.guide_en tr td + td {
		border-top: none;
		border-bottom: none;
	}
	.guide_en tr:last-child td:last-child {
		border-bottom: solid 1px #ccc;
	}
	.guide_en tr td::before {
		content: attr(data-label) "：";
	}
	.contact {
		padding: 24px 0;
	}
	.contact table tr {
		display: flex;
		flex-direction: column;
	}
	.contact table tr > * {
		width: 100%;
	}
	.contact .contact_title {
		float: none;
	}
	.contact input.text_m,
	.contact input.text_l {
		max-width: 100%;
	}
}

@media screen and ( max-width: 480px ) {
	.footer_navigation_link {
		margin-top: 24px;
		flex-direction: column;
	}
	.footer_navigation_link > div {
		width: 100%;
		text-align: center;
	}
	.footer_navigation_link a::before {
		margin-right: .4em;
	}
	.footer_navigation_link > div a::after {
		display: none;
	}
}