@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 */
	#contents01 {
		text-align: center;
		margin-bottom: 64px;
	}
	#contents01 img {
		width: 100%;
	}

	#contents01 h3 {
		width: 60%;
		margin: 0 auto 32px;
	}
	#contents01 h4 {
		margin-bottom: 16px;
	}

	#contents01 .text {
		line-height: 1.8;
		text-align: left;
		margin-bottom: 32px;
	}
	#contents01 .text b:not(.atten) {
		display: block;
		text-align: center;
		line-height: 1.8;
	}
	#contents01 .text b:not(.atten) i {
		display: block;
		text-align: center;
		font-size: 1.3em;
	}
	#contents01 .link li a {
		display: block;
		border-radius: 5px;
		padding: 25px;
		font-size: 16px;
	}

	/* sec2 */
	#contents02 {
		margin-bottom: 64px;
	}
	#contents02 h3 {
		text-align: center;
		margin-bottom: 32px;
	}
	#contents02 .link {
		margin-top: 32px;
	}
	#contents02 .link li {
		margin-bottom: 0;
	}
	#contents02 .link li a {
		display: block;
		border-radius: 5px;
		padding: 25px;
		font-size: 17px;
	}
	#contents02 .link li a.border::before {
		top: 7px;
		bottom: 7px;
		left: 7px;
		right: 7px;
	}
	#contents02 .link li a.border::after {
		border-radius: 5px;
		background: repeating-linear-gradient(
			-45deg,
			#fff,
			#fff 4px,
			#f94b5a 0,
			#f94b5a 9px
		);
	}

	#contents02 .link li a span {
		font-size: 14px;
	}

	#contents02 .link li a .nopc {
		display: block;
	}
	#contents02 .schedule {
		margin-top: 32px;
		flex-direction: column;
		row-gap: 32px;
	}
	#contents02 .schedule li {
		width: 94%;
		margin: 0 auto;
	}

	#contents02 .schedule li:nth-child(2),
	#contents02 .schedule li:nth-child(3),
	#contents02 .schedule li:nth-child(4) {
		margin-top: 0;
	}

	#contents02 .schedule li a:hover {
		transform: translateY(-4%);
	}

	#contents02 .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 */
	#contents03 {
		margin-bottom: 64px;
	}
	#contents03 h3 {
		margin-bottom: 32px;
	}
	#contents03 .plan {
		flex-direction: column;
		row-gap: 32px;
	}
	#contents03 .plan li {
		width: 100%;
		margin: 0 auto;
	}
	#contents03 .plan h4 {
		font-size: 20px;
	}

	/* sec4 */
	#contents04 {
		margin-bottom: 64px;
	}
	#contents04 h3 {
		margin-bottom: 32px;
	}
	#contents04 .message {
		display: flex;
		flex-direction: column;
		row-gap: 32px;
		margin-bottom: 32px;
	}
	#contents04 .message li {
		width: 100%;
		height: auto;
		background-image: unset;
		padding-bottom: 0;
		margin: 0 auto;
	}
	#contents04 .message li:nth-child(2n) {
		background-image: unset;
	}
	#contents04 .message li h4 {
		width: 50%;
		margin: 0 auto;
	}
	#contents04 .message li:nth-child(1) .sns a {
		padding: 0 25px;
	}
	#contents04 .message li:nth-child(1) h4 {
		margin-bottom: 16px;
	}
	#contents04 .message li:nth-child(2) h4 {
		width: 100%;
		margin: 0 auto 16px;
	}
	#contents04 .message li:nth-child(2) .btn {
		width: 100%;
		margin: 8px auto 0;
	}
	#contents05 {
		margin-bottom: 64px;
	}
	#contents05 .contact {
		width: 100%;
		padding: 15px 10px;
		border-radius: 10px;
	}
	#contents05 .contact h3 {
		font-size: 20px;
	}

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

	#contents05 .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;
	}
	#contents01 .inner .content h3 {
		font-size: 18px;
	}

	#contents01 .inner .content *:not(h2) + *:not(li):not(.wp-block-columns) {
		margin-top: 10px;
	}

	#contents01 .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;
	}
	#contents01
		.inner
		.content
		.is-style-content-space-between
		> .wp-block-column {
		margin: 0;
	}
	.inner .content p {
		line-height: 1.6;
	}

	#contents01 .inner .content .sec_live h2.is-style-side-line-h {
		border-left: 3px solid #f94b5a;
		padding-left: 0.5em;
		color: #000;
	}

	#contents01 .inner .content .sec_live h2.is-style-side-line-h + .profile {
		padding-top: 0;
	}

	#contents01 .inner .content .sec_live .profile h3 {
		display: block;
		width: 100%;
		text-align: center;
	}

	#contents01
		.inner
		.content
		.sec_live
		.profile
		.is-style-content-space-between {
		display: block;
	}

	#contents01
		.inner
		.content
		.sec_live
		.profile
		.is-style-content-space-between
		> .wp-block-column:nth-child(1) {
		width: 100%;
	}
	#contents01
		.inner
		.content
		.sec_live
		.profile
		.is-style-content-space-between
		> .wp-block-column:nth-child(2) {
		width: 100%;
		padding-top: 16px;
	}
}

/* ご挨拶ページスタイル */
figure.profile_img {
	margin: 0 0 10px auto;
}

figure.profile_img img {
	width: 86% !important;
}

p.profile_name {
	font-size: 14px;
}
