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

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

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

	.col-right {
		max-width: unset;
		padding-bottom: 45px;
	}

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

	/*===============================
common - header
=================================*/
	header.site-header {
		display: block;
		position: fixed;
		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 {
		background-color: #fff;
		padding: 16px 10px;
	}

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

	.theme {
		display: none;
	}

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

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

	nav .inner {
		padding: 20px 0;
	}

	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: #643788; */
		position: fixed;
		top: 0;
		right: 0;
		padding: 16px 12.5px 28px;
		-webkit-transition: all 0.6s;
		transition: all 0.6s;
		cursor: pointer;
		z-index: 100;
	}

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

	.toggle_btn::after {
		content: "MENU";
		color: #643788;
		display: inline-block;
		position: absolute;
		bottom: 1em;
		left: 50%;
		transform: translateX(-50%);
		font-weight: 500;
		letter-spacing: 1.1px;
		font-size: 1rem;

	}

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

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

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

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

	.open .toggle_btn::after {
		content: "CLOSE";
		color: #fff;
	}

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

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

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

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

	#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: #080404;
		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-top: 0;
	}

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

	.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 0 20px;
	}

	.news {
		padding: 20px;
		flex-direction: column;
	}

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

	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;
	}

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

	.sp-content {
		display: block;
	}

	.sp_none {
		display: none !important;
	}

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

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

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

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

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

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

	/*===============================
overview
=================================*/
	.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;
	}
}