.pc {
	display: block!important;
}
.sp {
	display: none!important;
}
.hamburger,
.menu {
	display: none!important;
}
:root {
	--color-theme: #1e9bf0;/*水色*/
	--color-lightblue: #e4f2fc;/*薄い水色　背景色*/
	--color-navy: #1b4262;/*紺*/
	--color-pink: #e678dc;/*ピンク*/
	--color-shockpink: #cc3399;/*濃いめのピンク　生活習慣病領域*/
	--color-textgray: #4d4d4d;/*濃いめのグレー*/
	--color-lightgray: #c8c9cb;/*薄めのグレー*/
	--color-lightgreen: #009933;/*緑　がん領域*/

	--font-responsive-64: clamp(3.375rem, 1.768rem + 2.86vw, 4rem);/*54-64*/
}
@media screen and ( max-width: 1300px ) {
	.block_title {
		margin-left: 0;
		max-width: 300px;
	}
}
@media screen and ( max-width: 1250px ) {
	.header_top {
		padding: 16px 0 0 24px;
	}
	/*ナビゲーション　折り返し時*/
	.header_right {
		display: none!important;
	}
	.hamburger {
		display: block!important;
	}
	body:has( .menu-btn:checked) {
		overflow: hidden;
		padding-right: 15px;
	}
	.menu {
	  display: block!important;
	  list-style: none;
	  position: absolute;
	  width: 100%;
	  max-width: 440px;
	  height: calc( 100vh - 122px );
	  overflow-y: auto;
	  top: 34px;
	  right: 0;
	  margin-top: 44px;
	  padding: 36px;
	  clear: both;
	  background: rgb(255 255 255 / .95);
	  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	  transform: scale(1, 0);
	  transform-origin: top right;
	  z-index: 999;
	}
	/* Hamburger menu button */
	.menu-btn:checked ~ .menu {
	  transform: scale(1, 1);
	  transform-origin: top right;
	  transition: 0.5s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.humburger {
		--font-responsive-20: clamp(1rem, -1.083rem + 8.89vw, 1.25rem);/*16-20*/
		--font-responsive-16: clamp(0.875rem, -0.167rem + 4.44vw, 1rem);/*14-16*/
	}
	.humburger .lower_page_list {
		margin: 16px 0;
	}
	.humburger .lower_page_list div {
		display: none;
	}
	.menu_top {
		margin-top: 24px;
	}
	.menu_top a {
		display: block;
		color: var(--color-navy);
		font-size: var(--font-responsive-20);
		line-height: 1.2;
		border-bottom: solid 1px var(--color-lightgray);
		padding: 8px 0;
	}
	.humburger .lower_page_list dt:hover {
		cursor: pointer;
	}
	.humburger .lower_page_list h3 {
		padding: 8px 0;
		font-size: var(--font-responsive-20);
		border-bottom: solid 1px var(--color-lightgray);
	}
	.humburger .lower_page_list dd {
		font-size: var(--font-responsive-16);
	}
	.humburger .lower_page_list dd::before {
		left: 4px;
	}
	.humburger .lower_page_list dd a {
		padding: 16px 12px 16px 32px;
	}
	.menu-btn:checked ~ .menu a,
	.menu-btn:checked ~ .menu li {
	  opacity: 1;
	  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
	}
	.btn_link a {
		display: block;
		height: 40px;
		display: block;
		color: #fff;
		line-height: 40px;
		background-color: var(--color-theme);
		text-align: center;
		border-radius: 999px;
	}
	.login_btn {
	  width: 288px;
	  margin: auto;
	}
	.login_btn a {
		color: #fff;
		padding: 8px 0;
		border-radius: 12px;
	}
	/* Hamburger menbu text */
	.menu-btn {
	  display: none;
	}
	.menu-icon {
	  display: inline-block;
	  position: relative;
	  cursor: pointer;
	  padding: 24px 30px;
	  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	}
	.navicon {
	  background: var(--color-theme);
	  display: block;
	  height: 3px;
	  width: 26px;
	  position: relative;
	  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.navicon:before,
	.navicon:after {
	  content: "";
	  display: block;
	  height: 100%;
	  width: 100%;
	  position: absolute;
	  background: var(--color-theme);
	  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	.navicon:before {
	  top: 9px;
	}
	.navicon:after {
	  bottom: 9px;
	}
	/* Hamburger Menu Animation Start */
	.menu-btn:checked ~ .menu-icon .navicon:before {
	  transform: rotate(-45deg);
	}
	.menu-btn:checked ~ .menu-icon .navicon:after {
	  transform: rotate(45deg);
	}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
	  top: 0;
	}
	.menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
	  bottom: 0;
	}
	.menu-btn:checked ~ .menu-icon .navicon {
	  background: rgba(0, 0, 0, 0);
	  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	}
	/*スライダーナビゲーション*/
	.swiper-pagination {
		bottom: 144px!important;
		left: 50%!important;
		transform: translateX(-50%);
	}
	.swiper-slide img {
		vertical-align: middle;
	}
	/**/
	.mainvisual {
		margin-top: 80px;
		padding: 24px 24px 0 24px;
	}
	.btn_maintop {
		position: static;
		width: 100%;
		border-radius: 0;
		justify-content: center;
	}
	.btn_researchgrants:not(:has( > a)):hover::before,
	.btn_researchgrants:not(:has( > a)):hover::after {
		z-index: 999;
	}
	/*フッターナビゲーション*/
	.footer_inner.separate {
		justify-content: center;
	}
	.footer_title {
		text-align: center;
	}
	.footer_content {
		display: none;
	}
	/*下層ページ*/
	.pagetitle,
	header:not(:has( > .pagetitle)) + main.lower_page {
		margin-top: 88px;
	}
	.lower_page .h2_title_single + .separate.width1280:not(:has( > .sidebar)) {
		flex-direction: column;
		align-items: center;
		gap: clamp(1.5rem, 0.429rem + 4.57vw, 3rem);/*24-48*/
	}
	.h2_title_single {
		margin-bottom: 40px;
		text-align: center;
	}
	.subpage section:not(.top_contact) .block_content {
		margin-top: 0;
	}
	.separate.width1280:has( > .sidebar) {
		flex-direction: column-reverse;
		align-items: center;
		gap: clamp(1.5rem, 0.429rem + 4.57vw, 3rem);/*24-48*/
	}
	.sidebar_content {
		margin-top: 0;
	}
	.search_form {
		margin-inline: auto;
	}
	.login_content {
		flex-direction: column;
		gap: 36px;
		padding: 0;
	}
	.login_content_left {
		width: 100%;
		padding: 16px 0;
		flex-direction: row;
		gap: 32px;
		border-radius: 80px 80px 0 0;
	}
	.login_content_right {
		padding: 24px;
	}
	.login_title {
		padding-top: 0;
	}
	.login_title::before {
		display: none;
	}
	.h4_title_login {
		padding-bottom: 24px;
	}
	.login_form {
		text-align: center;
	}
	.login_form input {
		text-align: left;
		max-width: ;
	}
	.h2_title_left {
		font-size: var(--font-responsive-64);
	}
	.sticky {
		position: sticky;
		top: 80px;
		background-color: #fff;
		width: 100%;
		padding: 12px 0;
		z-index: 990;
	}
}
@media screen and ( max-width: 900px ) {
	.separate.width1280:not(:has( > .sidebar)),
	section.bg_blue .separate.width1280:not(:has( > .sidebar)) {
		flex-direction: column;
		align-items: center!important;
		gap: 32px;/*24-48*/
	}
	.block_title {
		max-width: 100%;
	}
	.block_content {
		margin-top: 32px;
	}
	.block_title:not(:has( + .block_content > .sidebar)) .h2_title {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		gap: clamp(1.5rem, 1.143rem + 1.52vw, 2rem);/*24-32*/
	}
	.subpage .h2_title:not(.h2_title_single) {
		justify-content: flex-start;
	}
	.h2_title_span {
		line-height: 2em;
	}
	.link_more,
	.btn_viewmore {
		margin-top: 24px;
	}
	.link_more a {
		justify-content: center;
	}
	.btn_viewmore:not(:has( > a)),
	.btn_viewmore a {
		margin-inline: auto;
		padding: 12px 36px;
	}
	.btn_viewmore a::after {
		right: 12px;
	}
	.mainvisual {
		padding: 0;
	}
	.swiper-slide img {
		border-radius: 0;
	}
	.bg_blue {
		margin-top: 48px;
	}
	/*下層ページ*/
	main.subpage {
		padding: 60px 0 80px;
	}
	.lower_page {
		padding: 40px 0 32px;
	}
	.pagetitle_inner {
		justify-content: flex-start;
	}
	.pagetitle_inner .h2_title {
		flex-wrap: wrap;
	}
	.pagetitle_inner .h2_title_span {
		display: flex;
		align-items: flex-end;
		line-height: 1;
		padding-top: 16px;
	}
	.pankuzu_contens {
		width: 100%;
	}
	.form_group {
		grid-template-columns: 1fr;
	}
	.form_group select {
		white-space: nowrap;
	}
}
@media screen and ( max-width: 764px ) {
	.header_logo img {
		max-width: 120px;
	}
	.menu {
		margin-top: 40px;
	}
	.header_logo nav {
		display: none;
	}
	.mainvisual_text {
		line-height: 2.6em;
	}
	.mainvisual_text_en {
		font-size: var(--font-size-36);
	}
	.mainvisual_text_ja {
		font-size: var(--font-size-24);
	}
	.grid_list li {
		grid-template-columns: 120px 1fr;
	}
	.grid_list li .list_affiliation {
		grid-column: 2;
	}
	.list_midashi {
		margin-right: 16px;
	}
	.teikan_flex {
		padding-left: 0;
	}
	.h2_title_single {
		margin-bottom: 20px;
	}
	.main_login {
		padding: 0 5%;
	}
	.main_login {
		height: calc( 100vh - 36px );
	}
	.login_content {
		gap: 0;
	}
	.login_content_left {
		flex-direction: column;
		gap: 12px;
	}
	.login_content_logo {
		width: 100%;
	}
	.login_content_logo img {
		width: 40%;
		margin-inline: auto;
	}
	.login_form {
		padding: 16px 0;
	}
	.login_form_passwd {
		margin: 16px 0;
	}
	.login_form .login_btn a {
		padding: 10px 0;
	}
	.sticky {
		top: 76px;
	}
}
@media screen and ( max-width: 640px ) {
	.pc640 {
		display: none!important;
	}
	.sp640 {
		display: block!important;
	}
	.btn_maintop {
		flex-direction: column;
		align-items: center;
	}
	.btn_researchgrants:not(:has( > a)),
	.btn_grantresults {
		width: 100%;
	}
	.btn_researchgrants:not(:has( > a)),
	.btn_researchgrants a,
	.btn_grantresults a {
		height: 48px;
	}
	.swiper-pagination {
		bottom: 200px!important;
	}
	.region_list li .region_list_top a,
	.block_content:not(:has(.grantor_details)) .region_list_top:not(:has(> a)) {
		flex-direction: column;
		gap: 16px;
	}
	.link_list {
		flex-direction: column;
		gap: 16px;
	}
	.grantor_collaborator_content {
		display: grid;
		grid-template-columns: auto 1fr;
	}
	.grantor_theme {
		padding: 24px 30px 24px 12px;
	}
	.grantor_theme a {
		gap: 12px;
	}
	.grantor_list > li > .grantor_name_content {
		padding: 8px 12px 8px 16px!important;
	}
	body:has( .menu-btn:checked) {
		padding-right: 0;
	}
	.float {
		max-width: 100%;
		float: none;
		text-align: center;
		margin-right: 0;
		margin-bottom: 24px;
	}
	.float img {
		max-width: 200px;
	}
}
@media screen and ( max-width: 480px ) {
	.h3_title span {
		display: none!important;
	}
	.footer_title h1 {
		font-size: 18px;
	}
	.login_content {
		border-radius: 60px;
	}
	.login_content_left {
		border-radius: 60px 60px 0 0;
	}
	.login_title {
		display: none;
	}
	.login_content_title {
		display: none;
	}
	.h4_title_login {
		margin-top: 0;
		padding-bottom: 12px;
	}
	.grantor_theme {
		padding: 12px 8px;
	}
	.grantor_theme::before {
		content: '';
	}
}
