@charset "utf-8";
@media (max-width: 980px) {

	/*===============================
common
=================================*/
	.all_wrap {
		flex-direction: column-reverse;
	}

	.col-left {
		width: 100%;
		max-width: unset;
		min-width: unset;
		padding: 0 15px;
	}

	.col-right {
		max-width: unset;
	}

	#page-content {
		margin-left: 0;
	}

	/*===============================
common - header
=================================*/
	header.site-header {
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 50px;
		text-align: left;
		z-index: 5;
	}

	#top_mv .site-header {
		position: relative;
		top: 0;
	}

	h1.site-ttl {
		padding: 15px 10px;
	}

	.col-right .language-btn {
		display: none;
	}

	.site-header .language-btn {
		display: inline-block;
		position: fixed;
		top: 11px;
		right: 55px;
		width: 55px;
		z-index: 99;
	}

	h1.site-ttl a {
		display: inline-block;
		width: clamp(245px, 35vw, 100%);
	}

	.theme {
		display: none;
	}

	nav {
		position: fixed;
		top: 0;
		left: -100vw;
		bottom: 0;
		width: 80%;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		z-index: 99;
		opacity: 0;
		background-image: url(../images/menu_bg.png);
		background-size: contain;
	}

	.open nav {
		left: 0;
		opacity: 1;
	}

	nav .inner ul#menu-content {
		list-style: none;
		margin: 0;
		padding: 0;
		display: block;
	}

	nav .inner ul li {
		position: relative;
		margin: 0;
	}

	nav .inner ul li a {
		display: block;
		text-decoration: none;
		-webkit-transition-duration: 0.2s;
		transition-duration: 0.2s;
	}

	.toggle_btn {
		display: block;
		background: #05121A;
		position: fixed;
		top: 6px;
		right: 6px;
		padding: 23px 15px;
		-webkit-transition: all 0.6s;
		transition: all 0.6s;
		cursor: pointer;
		z-index: 100;
		border-radius: 50px;
	}

	.toggle_btn .toggle_inner {
		position: relative;
		width: 32px;
		height: 16px;
	}

	.toggle_btn span {
		position: absolute;
		width: 80%;
		height: 2px;
		background-color: #fff;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}

	.toggle_btn span:nth-child(1) {
		top: 0;
		right: 0;
	}

	.toggle_btn span:nth-child(2) {
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.toggle_btn span:nth-child(3) {
		bottom: 0;
		left: 0;
	}

	.open .toggle_btn span {
		background-color: #fff;
	}

	.open .toggle_btn span:nth-child(1) {
		-webkit-transform: translate(50%, -50%) rotate(-30deg);
		transform: translate(50%, -50%) rotate(-30deg);
		top: 50%;
		right: 50%;
	}

	.open .toggle_btn span:nth-child(2) {
		opacity: 0;
	}

	.open .toggle_btn span:nth-child(3) {
		-webkit-transform: translate(-50%, 50%) rotate(30deg);
		transform: translate(-50%, 50%) rotate(30deg);
		bottom: 50%;
		left: 50%;
	}

	#mask {
		display: none;
		-webkit-transition: all 0.2s;
		transition: all 0.2s;
	}

	.open #mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #05121A;
		opacity: 0.85;
		z-index: 11;
		cursor: pointer;
	}

	#menu-content>li {
		width: 100%;
	}

	#menu-content>li:hover {
		background: none;
	}

	#menu-content>li>a {
		height: 100%;
		padding: 15px 10px;
	}

	/*===============================
common - footer
=================================*/

	.zimukyoku {
		padding: 0 10px 40px;
	}

	.zimukyoku-content {
		margin-top: 30px;
	}

	.zimukyoku-text {
		font-size: 1.2rem;
	}

	.footer {
		padding: 18px 0;
	}

	.copyright {
		text-align: center;
		padding: 0;
	}

	/*===============================
table
=================================*/

	.table-wrap {
		max-width: 920px;
	}
}

@media (max-width: 840px) {

	.fee-table-wrap {
		max-width: 100%;
		white-space: nowrap;
	}

	.cancel.d-flex {
		flex-direction: column;
	}
}

@media (max-width: 768px) {

	/*===============================
common
=================================*/
	.h2 {
		padding: 30px 20px 25px 20px;
		font-size: 2.4rem;
	}

	.h3 {
		font-size: 2rem;
	}

	.h4 {
		font-size: 1.7rem;
	}

	.h5 {
		font-size: 1.4rem;
	}

	/*===============================
style
=================================*/
	/* top */
	.page-heading {
		margin-top: 100px;
	}

	.sp_info {
		padding: 0 15px;
		margin-top: 20px;
	}

	.main-attention {
		position: static;
		width: unset;
		max-width: unset;
		margin: 2em 2em 0;
		padding: 2% 2em;
		background-color: rgb(255, 250, 225);
	}

	.news-wrap {
		padding: 0;
		margin: 40px 20px 60px;
	}

	ul.news-list {
		min-height: 120px;
		max-height: 120px;
	}

	ul.news-list li {
		display: flex;
		flex-direction: column;
		row-gap: 2px;
		margin-bottom: 1.5rem;
		padding-bottom: 1.5rem;
	}

	ul.news-list li .date {
		font-size: 1.4rem;
	}

	.plan-banner-wrap {
		margin: 20px;
	}

	.plan-banner-wrap ul {
		justify-content: center;
		gap: 20px;
	}

	body.top-page h1.site-ttl {
		background: none;
	}

	/*===============================
common
=================================*/

	.sp-content {
		display: block;
	}

	.sp_none {
		display: none !important;
	}

	#page-content {
		min-height: 800px;
		padding: 0 20px 50px;
	}

	/*===============================
message
=================================*/

	.profile {
		flex-direction: column;
		text-align: center;
	}

	.position>div {
		text-align: center;
	}

	.profile img {
		width: 50vw;
		max-width: 180px;
	}

	.chairman,
	.position {
		margin: 0 auto;
	}

	/*===============================
abstracts
=================================*/
	/* 演題カテゴリー */
	dl.endai-cate .d-flex {
		flex-direction: column;
	}

	dl.endai-cate dd {
		border-left: 0;
	}

	.btn-area {
		width: 100%;
	}

	.btn-area div.d-flex {
		gap: 0;
		flex-direction: column;
	}

	.btn-area .btn {
		border-radius: 2em;
	}

	.btn-area .btn_pdf {
		padding: 20px 45px;
	}
}

@media (max-width: 430px) {
	.page-heading h2 {
		font-size: 3rem;
		margin: 0 0 3rem;
		padding: 1rem 0;
	}

	/*===============================
overview
=================================*/
	.table-common th {
		width: 8.5em;
	}

	.overview-table .d-flex {
		flex-direction: column;
	}

	.overview-table dt {
		justify-content: start;
		border-bottom: 0;
		border-top: 1px solid #643788;
		padding: 1.5rem 1rem 0 1rem;
	}

	.overview-table dd {
		padding: 0.8rem 1rem 1.5rem;
		border-bottom: 0;
	}

	.overview-table div:last-of-type dd {
		border-bottom: 1px solid #643788;
	}

	/*===============================
outline
=================================*/
	.name-flex {
		flex-direction: column;
	}
}