@charset "utf-8";


@media (max-width: 980px) {

	/*===============================
common
=================================*/
	.all_wrap {
		flex-direction: column-reverse;
		margin-top: 70px;
	}

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

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

	body.top-page #right {
		padding: 0 1.5rem;
	}

	/*===============================
common - header
=================================*/
	header.site-header {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		text-align: left;
		z-index: 2;
	}

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

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

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

	nav {
		position: fixed;
		top: 0;
		left: -100vw;
		bottom: 0;
		width: 80%;
		background: #fff;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		z-index: 3;
		opacity: 0;
	}

	.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: #007625;
		position: fixed;
		top: 0;
		right: 0;
		padding: 20px 17px;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		cursor: pointer;
		z-index: 3;
	}

	.toggle_btn .toggle_inner {
		position: relative;
		width: 26px;
		height: 20px;
	}

	.toggle_btn span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		border-radius: 2px;
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}

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

	.toggle_btn span:nth-child(2) {
		top: 9px;
	}

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

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

	.open .toggle_btn span:nth-child(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		transform: translateY(9px) rotate(-45deg);
	}

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

	.open .toggle_btn span:nth-child(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		transform: translateY(-9px) rotate(45deg);
	}

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

	.open #mask {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #000;
		opacity: 0.7;
		z-index: 2;
		cursor: pointer;
	}

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

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

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

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

	.zimukyoku {
		padding-top: 0;
	}

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

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

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

	/*===============================
registration
=================================*/
	.sanka-fee-wrap {
		max-width: 100%;
	}

}

@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 */

	.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 15px;
		margin-top: 20px;
	}

	.news {
		flex-direction: column;
	}

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

	ul.news-list li {
		display: flex;
		flex-direction: column;
		row-gap: 5px;
		font-size: 1.2rem;
	}

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

	.top-imp-wrap {
		padding: 0 15px;
	}

	body.top-page .box-red,
	body.top-page .box-green {
		margin: 0 1.5rem;
	}

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

	.sp-content {
		display: block;
	}

	.sp_none {
		display: none !important;
	}

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

	#page-content .ask {
		position: absolute;
		top: 110%;
		right: 15px;
		transform: none;
	}

	.table-wrap {
		overflow-y: scroll;
	}

	.table-wrap table {
		width: 100%;
		min-width: 765px;
		border-collapse: collapse;
	}

	.container,
	.container-fluid,
	.container-sm,
	.container-md,
	.container-lg,
	.container-xl {
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}

	/*===============================
style
=================================*/

	.message-flex {
		flex-direction: column-reverse;
	}

	.message-people {
		margin-top: 30px;
		margin-right: 0;
	}

	/* outline */
	.overview-table th {
		width: 7em;
	}

	/* top */
	.poster-dl {
		text-align: center;
		padding: 3rem 1.5rem 0 1.5rem;
	}

	.poster-dl img {
		width: 80%;
	}

	#top_mv .banner-btn {
		top: 10px;
		left: 10px;
	}

	.banner-btn {
		width: calc(100% - 30px);
	}

	/* greeting */
	.profile img {
		width: 24vw;
	}

	/* access */
	.access-map iframe {
		height: 260px;
	}

	/* member */
	.pre-method div {
		flex-direction: column;
		margin-bottom: 1rem;
	}

	.pre-method div:last-of-type {
		margin-bottom: 0;
	}

	.pre-method div dt {
		font-weight: 400;
		min-width: 7em;
		vertical-align: baseline;
	}

	.pre-method div dd {
		padding-left: 1rem;
	}

	/*===============================
micenavi
=================================*/
	.micenavi-table th {
		width: 6.5em;
	}

	.micenavi-applink {
		gap: 10px;
	}

	.micenavi-applink img {
		max-height: 150px;
	}

	.banner-cnt.micenavi {
		padding: 0 1.5rem 0 1.5rem;
	}
}


@media (min-width: 768px) {

	.pc_none {
		display: none;
	}
}