@media only screen and (max-width: 769px) {
	/* 共通 */
	
	html {
		font-size:4vw;
	}
	
	body {
		min-height: 100vh;
		min-width: 100%;
		font-size: 16px;
		background-image: unset;
	}
	
	body::after {
		content: "";
		position: fixed;
		width: 100%;
		height: 100vh;
		height: 100lvh;
		min-height: 100vh;
		min-height: 100lvh;
		background-image: url('../images/bg_body.png');
		background-position: center top;
		background-repeat: repeat-y;
		background-size: 100%;
		filter: blur(3px);
		-webkit-filter: blur(3px);
		left: 0;
		top: 0;
		z-index: -1;
	}
	
	.wrap {
		position:relative;
		margin-left:auto;
		margin-right:auto;
		max-width: 100%;
		width: 90%;
	}
	
	.sp_off {
		display: none !important;
	}
	
	.pc_off {
		display: block !important;
	}
	
	#main {
		padding: 50px 0 32px 0;
	}
	#main p {
		text-align: center;
	}
	#main p:nth-child(2) {
		width: 50%;
		margin: 50px auto 32px;
	}
	
	.mt_64 {
		margin-top: 32px;
	}
	
	.mt_128 {
		margin-top: 32px;
	}
	
	/* sec1 */
	#sec1 {
		text-align:center;
		margin-bottom: 64px;
	}
	#sec1 img {
		width: 100%;
	}
	
	#sec1 h3 {
		width: 60%;
		margin: 0 auto 32px;
	}
	#sec1 h4 {
		margin-bottom: 16px;
	}
	
	#sec1 .text {
		line-height: 1.8;
		text-align: left;
		margin-bottom: 32px;
	}
	#sec1 .text b:not(.atten) {
		display: block;
		text-align: center;
		line-height: 1.8;
	}
	#sec1 .text b:not(.atten) i {
		display: block;
		text-align: center;
		font-size: 1.3em;
	}
	#sec1 .link li a {
		display: block;
		border-radius: 5px;
		padding: 25px;
		font-size: 16px;
	}
	
	/* sec2 */
	#sec2 {
		margin-bottom: 64px;
	}
	#sec2 h3 {
		text-align: center;
		margin-bottom: 32px;
	}
	#sec2 .link {
		margin-top: 32px;
	}
	#sec2 .link li  {
		margin-bottom: 0;
	}
	#sec2 .link li a {
		display: block;
		border-radius: 5px;
		padding: 25px;
		font-size: 17px;
	}
	#sec2 .link li a.border::before {
		top: 7px;
		bottom: 7px;
		left: 7px;
		right: 7px;
	}
	#sec2 .link li a.border::after {
		border-radius: 5px;
		background: repeating-linear-gradient(-45deg, #fff, #fff 4px, #f94b5a 0, #f94b5a 9px);
	}
	
	#sec2 .link li a span {
		font-size          : 14px;
	}
	
	#sec2 .link li a .nopc {
		display: block;
	}
	#sec2 .schedule {
		margin-top: 32px;
		flex-direction: column;
		row-gap: 32px;
	}
	#sec2 .schedule li {
		width: 94%;
		margin: 0 auto;
	}
	
	#sec2 .schedule li:nth-child(2),
	#sec2 .schedule li:nth-child(3),
	#sec2 .schedule li:nth-child(4) {
		margin-top: 0;
	}
	
	
	#sec2 .block-wrap {
		border          : 4px solid #f94b5a;
		background-color: #FFF;
		border-radius   : 10px;
		padding         : 16px 16px;
		margin-top      : 32px;
		box-shadow      : 5px 5px 10px 0px rgb(0 0 0 / 20%);
	}
	
	/* sec3 */
	#sec3 {
		margin-bottom: 64px;
	}
	#sec3 h3 {
		margin-bottom: 32px;
	}
	#sec3 .plan {
		flex-direction: column;
		row-gap: 32px;
	}
	#sec3 .plan li {
		width: 100%;
		margin: 0 auto;
	}
	#sec3 .plan h4 {
		font-size: 20px;
	}
	
	/* sec4 */
	#sec4 {
		margin-bottom: 64px;
	}
	#sec4 h3 {
		margin-bottom: 32px;
	}
	#sec4 .message {
		display: flex;
		flex-direction: column;
		row-gap: 32px;
		margin-bottom: 32px;
	}
	#sec4 .message li {
		width: 100%;
		height: auto;
		background-image: unset;
		padding-bottom: 0;
		margin: 0 auto;
	}
	#sec4 .message li:nth-child(2n) {
		background-image: unset;
	}
	#sec4 .message li h4 {
		width: 50%;
		margin: 0 auto;
	}
	#sec4 .message li:nth-child(1) .sns a {
		padding: 0 25px;
	}
	#sec4 .message li:nth-child(1) h4 {
		margin-bottom: 16px;
	}
	#sec4 .message li:nth-child(2) h4 {
		width: 100%;
		margin:0 auto 16px;
	}
	#sec4 .message li:nth-child(2) .btn {
		width: 100%;
		margin:8px auto 0;
	}
	#sec5 {
		margin-bottom: 64px;
	}
	#sec5 .contact {
		width: 100%;
		padding: 15px 10px;
		border-radius: 10px;
	}
	#sec5 .contact h3 {
		font-size: 20px;
	}

	#sec5 .contact p {
		font-size: 15px;
		width: 96%;
	}

	#sec5 .link li a {
		display: block;
		border-radius: 5px;
		padding: 25px;
		font-size: 16px;
	}

	/* footer */
	footer.wrap {
		padding: 25px 0 50px;
		width: 64%;
	}

	/* 下層ページ */
	.inner {
		border-radius: 5px;
		padding: 16px;
	}
	.inner .title {
		padding: 8px 0;
	}
	.inner .title h1 {
		font-size: 24px;
	}
	.inner .content {
		width: 96%;
		padding: 36px 0;
	}
	.inner .content h2 {
		font-size: 20px;
	}
	#sec1 .inner .content h3 {
		font-size: 18px;
		text-align: left;
	}
	#sec1 .inner .content h4 {
		font-size: 16px;
	}
	.inner .content ul li {
		line-height: 1.6;
	}
	.wp-block-custom-section .wp-block-columns:not(:first-child) {
		padding-top: 48px;
	}
	.inner .content .is-style-content-space-between {
		flex-direction: column;
		row-gap: 32px;
	}
	.inner .content .is-style-content-space-between.profile {
		flex-direction: column-reverse;
		row-gap: 18px;
	}
	#sec1 .inner .content .is-style-content-space-between > .wp-block-column {
		margin: 0;
	}
	.inner .content p {
		line-height: 1.6;
	}
	
	#sec1 .inner .content .sec_live h2.is-style-side-line-h {
		border-left: 3px solid #f94b5a;
		padding-left: 0.5em;
		color: #000;
	}
	
	#sec1 .inner .content .sec_live h2.is-style-side-line-h + .profile{
		padding-top: 0;
	}
	
	#sec1 .inner .content .sec_live .profile h3 {
		display: block;
		width: 100%;
		text-align: center;
	}
	
	#sec1 .inner .content .sec_live .profile .is-style-content-space-between {
		display: block;
	}
	
	#sec1 .inner .content .sec_live .profile .is-style-content-space-between > .wp-block-column:nth-child(1) {
		width: 100%;
	}
	#sec1 .inner .content .sec_live .profile .is-style-content-space-between > .wp-block-column:nth-child(2) {
		width: 100%;
		padding-top: 16px;
	}
	}