@charset "UTF-8";

.pc {
	display: block!important;
}
.sp {
	display: none!important;
}
.sp768 {
	display: none!important;
}
.sp540 {
	display: none!important;
}
#navArea {
	display: none!important;
}
.pc1320 {
	display: block!important;
}

@media screen and ( max-width: 1320px ) {
	.pc1320 {
		display: none!important;
	}
	.slider_s_text .pc1320 + .indent01 {
		display: none;
	}

}

@media screen and ( max-width: 1180px ) {

/* hamburger --------------------------------- */
#navArea {
	display: block!important;
  position: fixed;
  width: 30px;
  height: 30px;
  top: 30px;
  right: 30px;
  transition: all .5s;
  cursor: pointer;
	z-index: 999;
}
.toggle_btn {
  display: block;
  width: 30px;
  height: 30px;
  z-index: 999;
  position: relative;
}
.toggle_btn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 6px;
  background-color: var(--color-base);
  border-radius: 4px;
  transition: all .5s;
  border: 2px solid #fff;
}
.toggle_btn span:nth-child(1) {
  top: 4px;
}
.toggle_btn span:nth-child(2) {
  top: 12px;
}
.toggle_btn span:nth-child(3) {
  bottom: 4px;
}
.open .toggle_btn span {
  background-color: #fff;
}
.open .toggle_btn span:nth-child(1) {
  -webkit-transform: translateY(8px) rotate(-315deg);
  transform: translateY(8px) rotate(-315deg);
}
.open .toggle_btn span:nth-child(2) {
  opacity: 0;
}
.open .toggle_btn span:nth-child(3) {
  -webkit-transform: translateY(-8px) rotate(315deg);
  transform: translateY(-8px) rotate(315deg);
}
/*============
#mask
=============*/
#mask {
  display: none;
  transition: all .5s;
}
.open #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .8;
  z-index: 2;
  cursor: pointer;
}
.menu {
  display: block;
  position: fixed;
  top: 0;
  left: -340px;
  bottom: 0;
  width: 340px;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
}
.open .menu {
  left: 0;
  opacity: 1;
}
.menu .inner {
  padding: 25px;
}
.menu .inner ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu .inner ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid var(--color-text_gray);
}
.menu .inner > ul > li {
	padding: 16px 0;
	border-bottom: none;
}
.menu .inner ul li a {
  display: block;
  font-size: 14px;
  color: var(--color-text_gray);
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.2s;
}
}

@media screen and ( max-width: 1180px ) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	.main_content.width1180 {
		border-radius: 60px 16px 60px 16px;
	}
	.global_navigation {
		display: none;
	}
	.slider_item .flex_between {
		flex-direction: column-reverse;
	}
	.slider_text,
	.slider_l_midashi {
		width: 100%;
		max-width: 100%;
		padding: 0 2.5%;
		background: none;
	}
	.top_content_list {
		flex-wrap: wrap;
		gap: 24px;
		justify-content: center;
	}
	.h2_title_bg {
		padding-left: 2.5%;
	}
	.h2_title_border {
		position: relative;
		width: fit-content;
		margin-inline: auto;
		white-space: nowrap;
		padding-left: 0;
	}
	.h2_title_border_news::before {
		padding-left: 0;
		padding-top: 8px;
	}
	.h2_title_border_news::after,
	.h2_title_border::after {
		width: 100%;
	}
	.top_content_sns {
		display: flex;
		flex-direction: column-reverse;
	}
	.separate.flex_between {
		flex-direction: column;
		gap: 0;
	}
	.top_content_sns .link_fuchi {
		margin: 64px 0 0;
	}
	body[class=""] .top_content_information ul li:nth-child(n+6) {
		display: none;
	}
	.sns_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 32px;
	}
	.footer_navigation {
		display: none!important;
	}
	ol.maru_flex_list > li {
		flex-direction: column;
		gap: 10px;
	}
	.login_bar.flex_center {
		background: none;
	}
	.main_item {
		padding: 0;
	}
	.h3_title_border {
		width: fit-content;
		margin: 40px auto 32px;
	}
	.grants_list_title.flex_between {
		flex-direction: column-reverse;
		align-items: center;
	}
	.grants_list_title {
		text-align: center;
	}
}
@media screen and ( max-width: 768px ) {
	.sp768 {
		display: block!important;
	}
	.h2_title_bg {
		max-height: 100%;
		z-index: -1;
	}
	.top_content_wrap::after {
		background: url('../images/bg_wave.svg') no-repeat center bottom / auto 400px;
	}
	.flex_container {
		flex-direction: column-reverse;
		gap: 24px;
	}
	.h2_title_innovation {
		justify-content: center;
		text-align: center;
	}
	.page_title_wrap.flex_between {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 10px;
	}
	.table_outer:has(> .gaiyou_josei) {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.gaiyou_josei {
		min-width: 580px;
	}
	.grants_list li {
		padding: 12px 16px;
	}
	.link_fuchi_basecolor a {
		width: 100%;
	}
	.directors_list li .photo {
		flex-basis: auto;
		text-align: center;
	}
	.directors_list li .photo img {
		width: auto;
		height: 300px;
	}
	.directors_list li .name {
		justify-content: center;
	}
	.directors_list li .flex_start {
		flex-direction: column;
		gap: 8px;
		margin-bottom: 0;
	}
	.flex_start:has(> .reki_list) .h4_title {
		flex-basis: auto;
	}
	.flex_start:has(> .reki_list) {
		gap: 16px!important;
		margin-top: 0;
	}
	.column_list > li {
		grid-template-columns: 88px 1fr;
		padding-left: 16px;
	}
	.column_list > li > .name {
		text-align: left;
		text-align-last: left;
		border-right: none!important;
	}
	.column_list > li > div:not(:last-of-type) {
		padding-right: 16px;
	}
	.column_list > li .affiliation {
		grid-column: span 2;
	}
	.lecture_title + .flex_center {
		flex-direction: column-reverse;
	}
	.lecture_poster {
		margin: 16px 0;
	}
	.h4_title {
		margin-top: 20px;
	}
	.login_bar.flex_center {
		flex-direction: column;
		align-items: center;
		gap: 24px;
	}
	.h3_title_border {
		white-space: nowrap;
	}
	.midashi_flex_border {
		flex-direction: column;
		gap: 0;
	}
	.midashi_flex_border dt::after {
		display: none;
	}
	.h3_title_step {
		padding: 16px;
	}
	.step_list {
		padding: 12px 0 36px;
	}
	.step_list li *:not(a, .link_fuchi, .text) {
		padding-left: 0;
	}
	.faq_content > dd {
		padding-left: 0;
	}
	.row2_list{
		padding-left: 0;
	}
	.row2_list li {
		grid-template-columns: 108px 1fr;
	}
	.detail_list li {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.detail_list li .photo {
		grid-row: auto;
	}
	.detail_list li div:nth-child(n+4) {
		grid-column: auto;
	}
	.detail_list li .name {
		justify-content: center;
	}
	.detail_list li .affiliation {
		margin-bottom: 16px;
	}
	.detail_list li div:nth-child(-n+3) {
		text-align: center;
	}
	.report_item .name,
	.report_item .affiliation {
		padding-left: 0;
	}
	.contact_content .midashi_flex_border dd input,
	.contact_content .midashi_flex_border dd textarea {
		width: 100%;
	}
	.contact_content .midashi_flex_border dt {
		padding-right: 0;
		gap: 12px;
		justify-content: flex-start;
	}
	.contact_content .midashi_flex_border dd {
		flex: 0 1 auto;
		width: 100%;
	}
	body.others .square_basecolor {
		padding: 16px;
	}
	.top_login_form.flex_start {
		flex-direction: column;
		gap: 12px;
	}
	.top_login_form div {
		margin-right: 0;
	}
	.login_btn {
		padding-right: 0;
		border-right: none;
	}
}
@media screen and ( max-width: 540px ) {
	.pc2 {
		display: none!important;
	}
	.sp {
		display: none!important;
	}
	.sp540 {
		display: block!important;
	}
	.pagetop {
		bottom: 40px;
	}
	.slider_l_midashi {
		padding: 0 10%;
	}
	.slider_s_text .indent01 {
		text-indent: 0;
	}
	.grants_list_title  {
		width:100%;
	}
	.directors_content .text {
		border-left: none;
		padding-left: 0;
		margin-left: 0;
	}
	.directors_list li {
		margin-bottom: 32px;
	}
	.directors_list li .name {
		margin-bottom: 8px;
	}
	.reki_list li * {
		display: block;
	}
	.reki_list li .affiliation {
		padding-left: 1em;
		padding-right: 24px;
	}
	.reki_list li .affiliation,
	.reki_list li .post {
		display: inline-block;
	}
	.anchor_link {
		flex-direction: column;
		align-items: center;
	}
	.pdf_list {
		display: block;
	}
	.pdf_list li {
		width: 100%;
	}
	.pdf_list:first-of-type li {
		min-width: auto;
	}
	.link_fuchi_gray_pdf {
		padding-top: 12px;
	}
	.link_area {
		gap: 8px;
	}
	.award .flex_start.text {
		flex-direction: column;
		gap: 8px;
	}
	ol.maru_flex_list > li .h5_maru_basecolor {
		margin-bottom: 12px;
	}
	.preface_content .flex_start,
	.page_text .flex_start {
		margin-left: 0;
	}
	.report_item .link_area .nolink {
		width: 100%;
		text-align: center;
	}
	.midashi_flex {
		flex-direction: column;
		gap: 8px;
	}
	.midashi_flex dt {
		color: var(--color-base);
	}
	.midashi_flex dt::after {
		display: none;
	}
	.top_login_top.flex_start {
		flex-direction: column;
		text-align: center;
	}
	.login_heading {
		padding-right: 0;
		margin-right: 0;
		border-right: none;
	}
}