@charset "utf-8";

@media (max-width: 1365px) {
	.wrapper {
		margin: 0 30px;
	}
}

@media (max-width: 1254px) {
	.btn-wrap.d-flex {
		justify-content: center;
	}
}

@media (max-width: 1135px) {


	/* sponsorship */
	.table-wrap {
		overflow-y: scroll;
	}

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

	/*===============================
program
=================================*/
	.program-day {
		gap: 0;
		flex-direction: column;
	}

	.program-day span {
		display: inline-flex;
		margin-left: 1.5em;
	}
}

@media (max-width: 980px) {

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

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

	.mv_wrap {
		margin-top: 6rem;
	}

	.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: 1;
	}

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

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

	h1.site-ttl a {
		display: inline-block;
		width: clamp(245px, 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 {
		background: url(../images/slash-bg.svg), linear-gradient(#E5E5E5, #C2CCDD);
		padding: 25px;
	}

	.toggle_btn {
		display: block;
		background: #94D565;
		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;
	}

	.container {
		margin-top: 8rem !important;
	}

	/*===============================
common - footer
=================================*/
	.zimukyoku .d-flex {
		flex-direction: column;
		gap: 30px;
	}

	.zimukyoku-content {
		width: 100%;
	}

	.copyright {
		padding: 1.5rem 0;
	}
}

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

	.btn-wrap.d-flex {
		padding: 0;
	}

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

	.right-cnt {
		padding-top: 5rem;
	}

	.news-wrap {
		margin-top: 20px;
	}

	.news {
		flex-direction: column;
	}

	ul.news-list {
		/* ↓↓↓メニュー増えたら戻す↓↓↓ */
		/* min-height: 260px;
	max-height: 260px; */
		/* ↓↓↓メニュー増えたら消す↓↓↓ */
		min-height: 140px;
		max-height: 140px;
	}

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

	ul.news-list li .date {
		padding: 0;
	}

	ul.news-list li .news-item {
		font-size: 1.6rem;
	}

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

	.sp-content {
		display: block;
	}

	.sp_none {
		display: none !important;
	}

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

	.btn-wrap.d-flex .btn {
		min-width: 330px;
		width: 100%;
	}

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

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

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

	/* outline */
	.overview-table th {
		white-space: nowrap;
	}

	/*===============================
session
=================================*/

	.session .btn {
		font-size: 1.4rem;
	}

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

	.program-cnt {
		width: 100%;
	}

	.program-img {
		width: 50%;
		display: block;
		margin: 0 auto 10px;
	}

	/*===============================
bag
=================================*/
	.color-var {
		flex-wrap: wrap;
	}

	.color-var li {
		width: 46%;
	}

	.d-flex.utigawa {
		flex-direction: column;
		gap: 20px;
	}
}

@media (max-width: 576px) {
	h1.site-ttl {
		background-color: #fff;
	}
}