/*
.m-sec-title01 {
	font-family: $serif;
	@include fz(20, 61, 0, 400);
	text-align: center;
	@media screen and (max-width: 767px) {
		@include spfz(32);
	}
	&-en {
		display: block;
		@include fz(42, 30, 0, 400);
		color: $darkpink;
		font-family: $en;
		@media screen and (max-width: 767px) {
			@include spfz(68);
		}
	}
}
*/
.m-sec-title {
		margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
		.m-sec-title {
				margin-bottom: 8vw;
		}
}

/* index
---------------------------------------------------------------------------- */
.p-event .p-event-festa {
		padding: 9rem 0 10rem;
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa {
				padding: 17.3333333333vw 0 14.6666666667vw;
		}
}
.p-event .p-event-festa-grid {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 6rem 1fr;
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem 6rem;
		margin: 3rem auto 0;
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa-grid {
				-ms-grid-columns: 1fr;
				grid-template-columns: repeat(1, 1fr);
				gap: 6.6666666667vw 0;
				margin: 2.6666666667vw auto 0;
		}
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa-grid .unit {
				width: 100%;
		}
}
.p-event .p-event-festa-grid .unit a {
		display: block;
}
@media screen and (min-width: 768px) {
		.p-event .p-event-festa-grid .unit a:hover .img img {
				-webkit-transform: scale(1.1, 1.1);
				        transform: scale(1.1, 1.1);
		}
		.p-event .p-event-festa-grid .unit a:hover .txt {
				opacity: 0.7;
		}
}
.p-event .p-event-festa .img {
		width: 57rem;
		height: 37.3rem;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa .img {
				width: 100%;
				height: 58.6666666667vw;
		}
}
.p-event .p-event-festa .img img {
		height: 100%;
		width: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
.p-event .p-event-festa .txt {
		margin-left: 4rem;
		padding: 2rem 0 0 3rem;
		position: relative;
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa .txt {
				margin-left: 5.3333333333vw;
				padding: 5.3333333333vw 0 0 5.3333333333vw;
		}
}
.p-event .p-event-festa .txt:before {
		content: "";
		display: block;
		width: 1px;
		height: calc(100% + 5rem);
		background: #C5786F;
		position: absolute;
		left: 0;
		top: -5.5rem;
		z-index: 2;
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa .txt:before {
				height: calc(100% + 3rem);
				top: -3.5rem;
		}
}
.p-event .p-event-festa .txt .date {
		font-size: 1.5rem;
		line-height: 1.4666666667;
		color: #C5786F;
		margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa .txt .date {
				font-size: 3.2vw;
		}
}
.p-event .p-event-festa .txt .title {
		font-size: 1.8rem;
		line-height: 1.5555555556;
		letter-spacing: 0.04em;
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
}
@media screen and (max-width: 767px) {
		.p-event .p-event-festa .txt .title {
				font-size: 4.2666666667vw;
		}
}
.p-event-event {
		margin: 5rem 0;
}
@media screen and (max-width: 767px) {
		.p-event-event {
				margin: 13.3333333333vw 0;
		}
}
.p-event-event-grid {
		display: -ms-grid;
		display: grid;
		-ms-grid-columns: 1fr 3rem 1fr 3rem 1fr 3rem 1fr;
		grid-template-columns: repeat(4, 1fr);
		gap: 5rem 3rem;
		margin: 3rem auto 0;
}
@media screen and (max-width: 767px) {
		.p-event-event-grid {
				-ms-grid-columns: 1fr 5.3333333333vw 1fr;
				grid-template-columns: repeat(2, 1fr);
				gap: 5.3333333333vw;
				margin: 2.6666666667vw auto 0;
		}
}
@media screen and (max-width: 767px) {
		.p-event-event-grid .unit {
				width: 100%;
		}
}
.p-event-event-grid .unit a {
		display: -ms-grid;
		display: grid;
		height: 100%;
}
@media screen and (min-width: 768px) {
		.p-event-event-grid .unit a:hover .img img {
				-webkit-transform: scale(1.1, 1.1);
				        transform: scale(1.1, 1.1);
		}
		.p-event-event-grid .unit a:hover .txt {
				opacity: 0.7;
		}
}
.p-event-event-grid .img {
		width: 100%;
		height: 20.5rem;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.p-event-event-grid .img {
				width: 100%;
				height: 31.2vw;
		}
}
.p-event-event-grid .img img {
		height: 100%;
		width: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
.p-event-event-grid .txt {
		text-align: center;
		padding: 3.5rem 0 0 0;
		position: relative;
		-webkit-transition: 0.3s;
		transition: 0.3s;
}
@media screen and (max-width: 767px) {
		.p-event-event-grid .txt {
				padding: 2.6666666667vw 0 0;
		}
}
.p-event-event-grid .txt .title {
		position: relative;
		font-size: 1.8rem;
		line-height: 1.5555555556;
		letter-spacing: 0.04em;
		padding-right: 2rem;
}
@media screen and (max-width: 767px) {
		.p-event-event-grid .txt .title {
				font-size: 3.4666666667vw;
				padding-right: 1.3333333333vw;
		}
}
.p-event-event-grid .txt .title:after {
		content: "";
		position: absolute;
		right: 0;
		top: calc(50% - 5px);
		border-top: 1px solid #1E1E1E;
		border-right: 1px solid #1E1E1E;
		width: 9px;
		height: 9px;
		background: none;
		right: 0;
		border-radius: 0;
		-webkit-transform: rotate(45deg);
		        transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
		.p-event-event-grid .txt .title:after {
				width: 1.6vw;
				height: 1.6vw;
				top: calc(50% - 0.6666666667vw);
		}
}
.p-event-event.m-event {
		margin-top: 0;
		padding: 9rem 0;
}
@media screen and (max-width: 767px) {
		.p-event-event.m-event {
				padding: 13.3333333333vw 0;
		}
}
.p-event-event.m-seminar {
		padding: 4rem 0;
}
@media screen and (max-width: 767px) {
		.p-event-event.m-seminar {
				padding: 5.3333333333vw 0;
		}
}
.p-event-event.m-contest {
		padding: 8.5rem 0;
		margin-bottom: 12rem;
}
@media screen and (max-width: 767px) {
		.p-event-event.m-contest {
				padding: 18.6666666667vw 0;
				margin-bottom: 0;
		}
}

/* detail
---------------------------------------------------------------------------- */
.p-events-content {
		margin-top: 8rem;
		margin-bottom: 12rem;
}
@media screen and (max-width: 767px) {
		.p-events-content {
				margin-top: 8vw;
				margin-bottom: 16vw;
		}
}

.p-events-post {
		background-color: #f6f4f2;
		padding: 8rem 13rem;
}
@media screen and (max-width: 767px) {
		.p-events-post {
				padding: 10.6666666667vw 2.6666666667vw;
		}
}

.p-post-ttl {
		font-size: 3.2rem;
		line-height: 1.6;
		word-break: break-word;
}
@media screen and (max-width: 767px) {
		.p-post-ttl {
				font-size: 5.8666666667vw;
		}
}

.p-post-heading .p-category {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		font-size: 1.5rem;
		color: #c5786f;
		margin-top: 2rem;
}
@media screen and (max-width: 767px) {
		.p-post-heading .p-category {
				font-size: 3.2vw;
		}
}
.p-post-heading .p-category li {
		position: relative;
		padding-left: 1em;
		margin: 0.5em 1em 0 0;
}
.p-post-heading .p-category li::before {
		font-size: 1.5rem;
		content: "#";
		position: absolute;
		top: 0;
		left: 0;
}
@media screen and (max-width: 767px) {
		.p-post-heading .p-category li::before {
				top: calc(50% - 8px);
		}
}
.p-post-heading .p-category li a {
		color: #c5786f;
}

.p-post-body {
		margin: 6rem 0 0;
		letter-spacing: 0.02em;
}
.p-post-body .p-events-post-eyecatch figure {
		display: block;
		width: 100%;
		height: 615px;
}
@media screen and (max-width: 767px) {
		.p-post-body .p-events-post-eyecatch figure {
				height: 58.6666666667vw;
		}
}
.p-post-body .p-events-post-eyecatch figure img {
		width: 100%;
		height: 100%;
		-o-object-fit: contain;
		   object-fit: contain;
}
@media screen and (max-width: 767px) {
		.p-post-body {
				margin-top: 10.6666666667vw;
				letter-spacing: normal;
		}
}
.p-post-body img {
		max-width: 100%;
		height: auto;
}
.p-post-body figure {
		margin: 2em 0;
}
@media screen and (max-width: 767px) {
		.p-post-body figure {
				margin: 8vw 0;
		}
}
.p-post-body h1,
.p-post-body h2,
.p-post-body h3,
.p-post-body h4,
.p-post-body h5 {
		font-family: "Noto Serif JP", serif;
		margin: 2em 0 1em;
		line-height: 1.5;
}
.p-post-body h1 {
		font-size: 2.6rem;
		padding: 0.8em 0;
}
@media screen and (max-width: 767px) {
		.p-post-body h1 {
				font-size: 5.6vw;
		}
}
.p-post-body h2 {
		font-size: 2.4rem;
		border-top: 1px solid #c5786f;
		border-bottom: 1px solid #c5786f;
		padding: 0.8em 0;
}
@media screen and (max-width: 767px) {
		.p-post-body h2 {
				font-size: 5.3333333333vw;
		}
}
.p-post-body h3 {
		font-size: 2.2rem;
		position: relative;
		padding: 0.8em 0;
}
@media screen and (max-width: 767px) {
		.p-post-body h3 {
				font-size: 4.8vw;
		}
}
.p-post-body h3::after {
		content: "";
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 0.1rem;
		left: 0;
		background: -webkit-gradient(linear, left top, right top, color-stop(20rem, rgb(197, 120, 111)), color-stop(20rem, rgb(214, 214, 214)), to(rgb(214, 214, 214)));
		background: linear-gradient(90deg, rgb(197, 120, 111) 20rem, rgb(214, 214, 214) 20rem, rgb(214, 214, 214) 100%);
}
@media screen and (max-width: 767px) {
		.p-post-body h3::after {
				background: -webkit-gradient(linear, left top, right top, color-stop(26.6666666667vw, rgb(197, 120, 111)), color-stop(26.6666666667vw, rgb(214, 214, 214)), to(rgb(214, 214, 214)));
				background: linear-gradient(90deg, rgb(197, 120, 111) 26.6666666667vw, rgb(214, 214, 214) 26.6666666667vw, rgb(214, 214, 214) 100%);
		}
}
.p-post-body h4 {
		font-size: 1.8rem;
		color: #c5786f;
		padding-left: 1em;
		border-left: 4px solid #c5786f;
}
@media screen and (max-width: 767px) {
		.p-post-body h4 {
				font-size: 4.2666666667vw;
		}
}
.p-post-body h5,
.p-post-body h6 {
		font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
		.p-post-body h5,
.p-post-body h6 {
				font-size: 4vw;
		}
}
.p-post-body p {
		font-size: 1.5rem;
		line-height: 2;
}
@media screen and (max-width: 767px) {
		.p-post-body p {
				font-size: 3.7333333333vw;
		}
}
.p-post-body p + p {
		margin-top: 2em;
}
.p-post-body a {
		color: #c5786f;
		text-decoration: underline;
}
.p-post-body strong {
		font-weight: bold;
}
.p-post-body em {
		font-style: italic;
}
.p-post-body ul,
.p-post-body ol {
		margin-top: 1.5em;
		font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
		.p-post-body ul,
.p-post-body ol {
				font-size: 3.7333333333vw;
		}
}
.p-post-body ul {
		list-style-type: disc;
}
.p-post-body ol {
		list-style-type: decimal;
}
.p-post-body li {
		margin-left: 1.5em;
		line-height: 2;
}
.p-post-body .aligncenter {
		display: block;
		margin-right: auto;
		margin-left: auto;
		text-align: center;
}
.p-post-body .aligncenter * {
		margin-left: auto;
		margin-right: auto;
}
.p-post-body .alignright {
		float: right;
		margin-bottom: 20px;
		margin-left: 20px;
}
.p-post-body .alignleft {
		float: left;
		margin-right: 20px;
		margin-bottom: 20px;
}
.p-post-body .wp-caption,
.p-post-body [class*=wp-image] {
		display: block;
		max-width: 100% !important;
		margin-top: 1.5em;
		text-align: center;
}
.p-post-body .wp-caption-text {
		margin-top: 0;
}
.p-post-body .wp-block-embed.alignleft,
.p-post-body .wp-block-embed.alignright,
.p-post-body .wp-block[data-align=left] > [data-type="core/embed"],
.p-post-body .wp-block[data-align=right] > [data-type="core/embed"] {
		max-width: 500px;
}
@media screen and (max-width: 767px) {
		.p-post-body .wp-block-embed iframe {
				height: auto;
				aspect-ratio: 3/2;
		}
}
.p-post-body table th, .p-post-body table td {
		padding: 10px 20px;
		line-height: 2;
}
@media screen and (max-width: 767px) {
		.p-post-body table th, .p-post-body table td {
				padding: 0.6666666667vw 1.3333333333vw;
				font-size: 3.2vw;
		}
}

.p-post-gallery {
		margin: 12rem 0;
}
@media screen and (max-width: 767px) {
		.p-post-gallery {
				margin: 16vw 0;
		}
}
.p-post-gallery h2 {
		font-size: 2.4rem;
		border-top: 1px solid #c5786f;
		border-bottom: 1px solid #c5786f;
		padding: 0.8em 0;
		font-family: "Noto Serif JP", serif;
		margin: 2em 0 1em;
		line-height: 1.5;
}
@media screen and (max-width: 767px) {
		.p-post-gallery h2 {
				font-size: 5.3333333333vw;
		}
}
.p-post-gallery .p-gallery {
		display: -ms-flexbox;
		display: -webkit-box;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		overflow: hidden;
}
.p-post-gallery .p-gallery li {
		width: 30rem;
		height: 30rem;
		overflow: hidden;
}
@media screen and (max-width: 767px) {
		.p-post-gallery .p-gallery li {
				width: 33.3%;
				height: auto;
				aspect-ratio: 1/1;
		}
}
.p-post-gallery .p-gallery li a {
		width: 100%;
		height: 100%;
		overflow: hidden;
}
@media (any-hover: hover) {
		.p-post-gallery .p-gallery li a {
				-webkit-transition: 0.3s;
				transition: 0.3s;
		}
		.p-post-gallery .p-gallery li a:hover {
				opacity: 0.7;
		}
}
.p-post-gallery .p-gallery li img {
		width: 100%;
		height: 100%;
		-o-object-fit: cover;
		   object-fit: cover;
}

.p-viewbtn-wrapper {
		text-align: center;
		margin-top: 5rem;
}
.p-viewbtn-wrapper.is-hide {
		display: none;
}
.p-viewbtn-wrapper .view-more {
		background-color: transparent;
		border: none;
		outline: none;
		cursor: pointer;
		font-size: 1.5rem;
		color: inherit;
		border-bottom: 1px solid #1e1e1e;
		position: relative;
		padding-right: 1.5em;
		padding-left: 0;
		padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
		.p-viewbtn-wrapper .view-more {
				font-size: 4vw;
		}
}
.p-viewbtn-wrapper .view-more::after, .p-viewbtn-wrapper .view-more::before {
		content: "";
		position: absolute;
		background-color: #1e1e1e;
		top: 45%;
		-webkit-transform: translateY(-50%);
		        transform: translateY(-50%);
}
.p-viewbtn-wrapper .view-more::after {
		width: 0.1rem;
		height: 1rem;
		right: 0.5rem;
}
@media screen and (max-width: 767px) {
		.p-viewbtn-wrapper .view-more::after {
				height: 3.2vw;
				right: 1.6vw;
		}
}
.p-viewbtn-wrapper .view-more::before {
		width: 1rem;
		height: 0.1rem;
		right: 0;
}
@media screen and (max-width: 767px) {
		.p-viewbtn-wrapper .view-more::before {
				width: 3.2vw;
		}
}

.p-bg:before {
		background: #fff !important;
}