@charset "UTF-8";
/* common
------------------------------------------------*/
#main #post .post-body {
	padding-bottom: 60px;
}
#main #post .post-body h2 {
	text-align: center;
	font-size: 36px;
}
#main #post .post-body h2:first-child {
	margin-top: 60px;
}
#main #post .post-body h2:after {
	left: 50%;
	margin: 0 0 0 -20px;
}
@media screen and (max-width:1024px) {
	#main #post .post-body h2 {
		font-size: 28px;
	}
}
@media screen and (max-width:767px) {
	#main #post .post-body {
		padding-bottom: 40px;
	}
	#main #post .post-body h2 {
		margin: 50px 0 20px;
		font-size: 26px;
	}
	#main #post .post-body h2:first-child {
		margin-top: 50px;
	}
}
/* contact-box
------------------------------------------------*/
#main #post .post-body .contact-box {
	background: #fff;
	border: solid 2px #8B398E;
	border-radius: 15px;
	margin-top: 30px;
	padding: 1px 50px;
}
#main #post .post-body .contact-box h2 {
	margin: 30px 0 20px;
	font-size: 25px;
}
#main #post .post-body .contact-box .linkbtn a {
	padding-left: 20px;
	padding-right: 30px;
	background: #8B398E;
	border: none;
	font-size: 1em;
	color: #fff;
}
#main #post .post-body .contact-box .linkbtn a:hover {
	opacity: 0.7;
}
#main #post .post-body .contact-box .linkbtn a:after {
	background: #fff;
}
#main #post .post-body .contact-box .tel {
	width: 560px;
	margin: 0 auto 20px;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}
#main #post .post-body .contact-box .tel a {
	display: block;
	line-height: 1;
}
#main #post .post-body .contact-box .tel dt {
	width: 46%;
	padding-right: 1em;
	text-align: right;
	font-size: 1.2em;
	color: #8B398E;
}
#main #post .post-body .contact-box .tel dd {
	margin: 10px 0;
	width: 54%;
	letter-spacing: 0.05em;
	line-height: 1;
	font-size: 32px;
}
@media screen and (max-width:767px) {
	#main #post .post-body .contact-box {
		margin-top: 15px;
		padding: 1px 10px;
	}
	#main #post .post-body .contact-box h2 {
		margin: 15px 0 10px;
		padding: 0 0 15px;
		font-size: 18px;
	}
	#main #post .post-body .contact-box .linkbtn a {
		max-width: 100%;
	}
	#main #post .post-body .contact-box .tel,
	#main #post .post-body .contact-box .tel dt,
	#main #post .post-body .contact-box .tel dd {
		width: 100%;
		text-align: center;
		padding: 0;
	}
}
/* plan nav
------------------------------------------------*/
#plan_nav {
	background: #E6DBE6;
	box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.15);
}
#plan_nav ul {
	display: flex;
	justify-content: space-between;
	max-width: 1300px;
	margin: 0 auto;
	padding: 15px 50px;
}
#plan_nav ul li {
	width: 24.5%;
}
#plan_nav ul li a {
	display: block;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 5px;
	text-align: center;
	letter-spacing: 0.2em;
}
#plan_nav ul li a:hover {
	opacity: 0.7;
}
#plan_localnav {
	background: #F4F4F4;
	border-bottom: 6px solid #009FA8;
	padding: 20px 0 0;
}
#plan_localnav ul {
	display: flex;
	justify-content: space-between;
}
#plan_localnav ul li {
	width: 19%;
}
#plan_localnav.general ul {
	justify-content: center;
}
#plan_localnav.general ul li {
	margin: 0 0.625%;
}
#plan_localnav ul li a {
	display: block;
	background: #fff;
	height: 100%;
	border: 1px solid #ccc;
	border-bottom: 0;
	padding: 0 0 5px;
	text-align: center;
}
#plan_localnav ul li a:hover {
	background: #E2F2F4;
	border-color: #009FA8;
}
#plan_localnav ul li a.current {
	background: #009FA8;
	border-color: #009FA8;
	border-width: 2px;
	color: #fff;
}
#plan_localnav ul li a.current:hover {
	opacity: 0.8;
}
#plan_localnav ul li img {
	max-width: 100%;
	height: auto;
}
#plan_localnav ul li dl {
	margin: 0;
}
#plan_localnav ul li dl dt {
	display: flex;
	align-items: center;
	background: #ddd3e5;
	min-height: 116px;
}
#plan_localnav ul li dd {
	margin: 0;
	letter-spacing: 0.06em;
	line-height: 1.4;
	font-size: 20px;
	font-weight: 700;
}
#plan_localnav ul li dd span {
	display: block;
	margin: 5px 0;
	line-height: 1.3;
	letter-spacing: normal;
	font-size: 14px;
	font-weight: 500;
}
#plan_localnav ul li dd div {
	margin: -5px 0 0;
	font-size: 14px;
}
#plan_localnav .wrap.long {
	position: relative;
	/* background: url("img/icon-scroll.svg") no-repeat 20px 0; */
	padding: 20px 20px 0;
	overflow-x: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
#plan_localnav .wrap.long .scrollright {
	position: absolute;
	top: 8px;
	left: 20px;
	width: 60px;
	height: 1px;
	overflow: hidden;
}
#plan_localnav .wrap.long .scrollright .line {
	display: block;
	background: linear-gradient(to right, rgba(51, 51, 51, 1) 50%, rgba(51, 51, 51, 0) 50%);
	background-position: 100% 0;
	background-size: 200% 100%;
	width: 100%;
	height: 100%;
	animation: scrollmove 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
}
@keyframes scrollmove {
	0% {
		background-position: -100% 0;
	}
	75% {
		background-position: 0 0;
	}
	100% {
		background-position: 100% 0;
	}
}
#plan_localnav .wrap.long .scrolltxt {
	position: absolute;
	top: 0;
	left: 90px;
	line-height: 1;
	color: #333;
}
#plan_localnav .wrap.long .scrolltxt:before {
	content: "SCROLL";
}
#plan_localnav .wrap.long .scrolltxt:after {
	content: "スクロールして各プランをご確認ください";
	margin: 0 0 0 20px;
}
#plan_localnav .wrap.long::-webkit-scrollbar {
	display: none;
}
#plan_localnav .wrap.long ul {
	width: 1090px;
}
#plan_localnav .wrap.long ul li {
	min-width: 180px;
	margin: 0 10px 0 0;
}
#plan_localnav .wrap.long ul li dl dt {
	background: #E6DBE6;
	height: 111px;
	display: flex;
	justify-content: center;
	align-items: center;
}
@media screen and (max-width:1024px) {
	#plan_nav ul {
		padding: 15px 20px;
	}
	#plan_localnav ul li dd {
		font-size: 18px;
	}
	#plan_localnav ul li dd span {
		font-size: 10px;
	}
	#plan_localnav .wrap.long ul li {
		min-width: 160px;
	}
	#plan_localnav .wrap.long ul li dl dt {
		height: 98.81px;
	}
}
@media screen and (max-width:767px) {
	#plan_nav ul {
		padding: 15px 5%;
	}
	#plan_nav ul li a {
		font-size: 14px;
	}
	#plan_localnav .wrap {
		position: relative;
		/*background: url("img/icon-scroll.svg") no-repeat 0 0;*/
		padding-top: 20px;
		overflow-x: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
	}
	#plan_localnav .wrap::-webkit-scrollbar {
		display: none;
	}
	#plan_localnav .wrap .scrollright {
		position: absolute;
		top: 8px;
		left: 0;
		width: 60px;
		height: 1px;
		overflow: hidden;
	}
	#plan_localnav .wrap .scrollright .line {
		display: block;
		background: linear-gradient(to right, rgba(51, 51, 51, 1) 50%, rgba(51, 51, 51, 0) 50%);
		background-position: 100% 0;
		background-size: 200% 100%;
		width: 100%;
		height: 100%;
		animation: scrollmove 2.2s cubic-bezier(0.76, 0, 0.3, 1) forwards infinite;
	}
	#plan_localnav .wrap .scrolltxt {
		position: absolute;
		top: 0;
		left: 70px;
		white-space: nowrap;
		line-height: 1;
		font-size: 14px;
		color: #333;
	}
	#plan_localnav .wrap.long .scrolltxt {
		white-space: nowrap;
		font-size: 14px;
	}
	#plan_localnav .wrap .scrolltxt:before {
		content: "SCROLL";
	}
	#plan_localnav .wrap .scrolltxt:after {
		content: "スクロールして各プランをご確認ください";
		margin: 0 0 0 10px;
	}
	#plan_localnav .wrap.long .scrolltxt:after {
		margin: 0 0 0 10px;
	}
	#plan_localnav .wrap ul,
	#plan_localnav .wrap.long ul,
	#plan_localnav.general ul {
		width: 770px;
	}
	#plan_localnav ul li,
	#plan_localnav.general ul li,
	#plan_localnav .wrap.long ul li {
		width: 155px;
		min-width: 155px;
		margin: 0 10px 0 0;
	}
	#plan_localnav ul li dl dt {
		min-height: 60px;
	}
	#plan_localnav ul li dd {
		letter-spacing: 0.04em;
		font-size: 16px;
	}
}
@media screen and (max-width:550px) {
	#plan_localnav .wrap ul,
	#plan_localnav .wrap.long ul,
	#plan_localnav.general ul {
		width: 540px;
	}
	#plan_localnav ul li,
	#plan_localnav.general ul li,
	#plan_localnav .wrap.long ul li {
		width: 100px;
		min-width: 100px;
		margin: 0 5px 0 0;
	}
	#plan_localnav .wrap.long ul li dl dt {
		height: 61px;
	}
}
/* localnav
------------------------------------------------*/
#main #post .post-body .localnav {
	background: #E6DBE6;
	box-shadow: inset 0 3px 3px rgba(0, 0, 0, 0.15);
}
#main #post .post-body .localnav dt {
	display: none;
}
#main #post .post-body .localnav dd {
	margin: 0;
}
#main #post .post-body .localnav ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 1300px;
	margin: 0 auto !important;
	padding: 10px 50px 13px !important;
	list-style: none;
}
#main #post .post-body .localnav ul li {
	width: 24.5%;
	margin: 3px 0 !important;
}
#main #post .post-body .localnav ul.col3 li {
	width: 32%;
}
#main #post .post-body .localnav ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    margin: 3px 0;
    padding: 3px 0;
    box-sizing: border-box;
    height: 100%;
    text-align: center;
    letter-spacing: 0.2em;
    line-height: 1.3;
    position: relative;
}
#main #post .post-body .localnav ul li a::before {
	content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    background: #888;
    width: 8px;
    height: 5px;
	transform: translate(0,-50%);
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
#main #post .post-body .localnav ul li a:hover {
	opacity: 0.7;
}
@media screen and (max-width:1024px) {
	#main #post .post-body .localnav ul {
		padding: 15px 20px !important;
	}
}
@media screen and (max-width:767px) {
	#main #post .post-body .localnav ul {
		padding: 15px 3% !important;
	}
	#main #post .post-body .localnav ul li {
		width: 49%;
	}
	#main #post .post-body .localnav ul li a {
		letter-spacing: 0;
		font-size: 14px;
	}
}
/* qa
------------------------------------------------*/
#main #post.qa .post-body h3 {
	position: relative;
	border-top: 1px solid #ccc; 
	margin: 0 0 20px;
	padding: 20px 0 0 25px;
	font-size: 20px;
	cursor: pointer;
}
#main #post.qa .post-body h3:before {
	content: "";
	display: block;
	position: absolute;
	top: 28px;
	left: 2px;
	background: #888;
	width: 10px;
	height: 16px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#main #post.qa .post-body h3.close:before {
	left: 3px;
	transform: rotate(90deg);
}
#main #post.qa .post-body h3 + .wp-block-group,
#main #post.qa .post-body h3 + .wp-block-list {
	display: none;
}
#main #post.qa .post-body .wp-block-button__link {
	font-size: 0.9em;
}
@media screen and (max-width:767px) {
	#main #post.qa .post-body h3 {
		padding: 20px 0 0 20px;
		font-size: 18px;
	}
	#main #post.qa .post-body h3:before {
		top: 26px;
		width: 8px;
		height: 14px;
	}
	#main #post.qa .post-body .wp-block-columns.is-layout-flex {
		gap: 0 !important;
	}
}
/* member,contact
------------------------------------------------*/
#main #post.member .post-body p a,
#main #post.contact .post-body p a {
	text-decoration: underline;
}
#main #post.member .post-body p a:hover,
#main #post.contact .post-body p a:hover {
	text-decoration: none;
}
#main #post.member .post-body .linkbtn a {
	text-decoration: none;
}
/* form
------------------------------------------------*/
#main #post .post-body .mw_wp_form p:empty{
	display: none;
}
#main #post .post-body .mw_wp_form dl {
	margin: 0 0 40px;
	justify-content:space-between;
	flex-wrap: wrap;
}
#main #post .post-body .mw_wp_form dt {
	position: relative;
	float: left;
	width: 30%;
	padding: 25px 0 15px 45px;
	box-sizing: border-box;
	font-weight: 700;
}
#main #post .post-body .mw_wp_form dt.required:before {
	content: "必須";
	display: block;
	position: absolute;
	top: 30px;
	left: 0;
	background: #ECDCED;
	padding: 0 4px;
	font-size: 11px;
	color: #7F1084;
}
#main #post .post-body .mw_wp_form dd {
	min-height: 78px;
	border-bottom: 1px solid #ccc;
	margin: 0;
	padding: 25px 0 15px 30%;
	width: 100%;
	text-align: left;
}
#main #post .post-body .mw_wp_form dd small {
	display: inline-block;
	line-height: 1.5;
	color: #888;
}
#main #post .post-body .mw_wp_form.mw_wp_form_preview dd small {
	display: none;
}
#main #post .post-body .mw_wp_form input,
#main #post .post-body .mw_wp_form textarea {
	border: 1px solid #888;
	padding: 5px;
	vertical-align: middle;
	font-size: 17px;
}
#main #post .post-body .mw_wp_form input[type="number"] {
	width: 4em;
}
#main #post .post-body .mw_wp_form input.full {
	width: 100%;
}
#main #post .post-body .mw_wp_form select {
	padding: 7px;
	font-size: 17px;
}
#main #post .post-body .mw_wp_form .listblock .horizontal-item {
	display: block;
}
#main #post .post-body .mw_wp_form .listblock .horizontal-item + .horizontal-item {
	margin: 5px 0 0;
}
#main #post .post-body .mw_wp_form .ppcheck {
	margin: 0 0 40px;
	text-align: center;
}
#main #post .post-body .mw_wp_form .ppcheck label {
	display: inline-block;
	border: 1px solid #ccc;
	border-radius: 10px;
	margin: 10px 0 0;
	padding: 5px 10px 5px 5px;
	cursor: pointer;
}
#main #post .post-body .mw_wp_form .ppcheck label:hover {
	background: #f7f7f7;
}
#main #post .post-body .mw_wp_form.mw_wp_form_preview .ppcheck {
	display: none;
}
#main #post .post-body .mw_wp_form input.submit {
	display: inline-block;
	padding: 1em 2em;
	color: #fff;
	background: #0B318F;
	width: 260px;
	border: 2px solid #0B318F;
	border: none;
	border-radius: 30px;
	font-weight: bold;
	font-size: 1em;
	cursor: pointer;
}
#main #post .post-body .mw_wp_form input.submit:hover {
	opacity: 0.8;
}
#main #post .post-body .mw_wp_form input.returnbtn {
	margin: 20px 0 0;
	padding: 5px 10px;
	cursor: pointer;
}
#main #post .post-body .mw_wp_form .request-area,
#main #post .post-body .mw_wp_form .consult-area,
#main #post .post-body .mw_wp_form .estimate-area {
	display: none;
}
#main #post .post-body .mw_wp_form .envelope,
#main #post .post-body .mw_wp_form .other_hall {
	margin: 10px 0 0;
}
@media screen and (max-width:767px) {
	#main #post .post-body .mw_wp_form input,
	#main #post .post-body .mw_wp_form textarea {
		max-width: 100%;
		font-size: 14px;
	}
	#main #post .post-body .mw_wp_form select {
		font-size: 14px;
	}
	#main #post .post-body .mw_wp_form input[type="submit"],
	#main #post .post-body .mw_wp_form input[type="button"] {
		-webkit-box-sizing: content-box;
		-webkit-appearance: button;
		appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
	}
	#main #post .post-body .mw_wp_form input[type="submit"]::-webkit-search-decoration,
	#main #post .post-body .mw_wp_form input[type="button"]::-webkit-search-decoration {
		display: none;
	}
	#main #post .post-body .mw_wp_form input[type="submit"]::focus,
	#main #post .post-body .mw_wp_form input[type="button"]::focus {
		outline-offset: -2px;
	}
	#main #post .post-body .mw_wp_form input[name="zip"] {
		width: 10em;
	}
	#main #post .post-body .mw_wp_form dt,
	#main #post .post-body .mw_wp_form dd {
		width: 100%;
	}
	#main #post .post-body .mw_wp_form dt {
		float: none;
		padding: 15px 0 10px;
	}
	#main #post .post-body .mw_wp_form dt.required {
		padding-left: 40px;
	}
	#main #post .post-body .mw_wp_form dt.required:before {
		top: 19px;
	}
	#main #post .post-body .mw_wp_form dd {
		min-height: 45px;
		padding: 0 0 15px;
	}
	#main #post .post-body .mw_wp_form dd .horizontal-item {
		display: block;
	}
	#main #post .post-body .mw_wp_form dd .horizontal-item + .horizontal-item {
		margin: 5px 0 0;
	}
	#main #post .post-body .mw_wp_form dd .mwform-checkbox-field input,
	#main #post .post-body .mw_wp_form dd .mwform-radio-field input {
		margin: 5px 5px 7px 5px;
	}
	#main #post .post-body .mw_wp_form dd .mwform-checkbox-field label,
	#main #post .post-body .mw_wp_form dd .mwform-radio-field label {
		display: block;
    border: 1px solid #ccc;
    border-radius: 10px;
    margin: 10px 0 0;
    padding: 5px 10px 5px 5px;
	}
	#main #post .post-body .mw_wp_form dd .envelope .mwform-checkbox-field label {
		border: 0;
		padding: 0;
	}
	#main #post .post-body .mw_wp_form .ppcheck {
		text-align: left;
	}
	#main #post .post-body .mw_wp_form .ppcheck label {
		display: block;
	}
}
/* plan
------------------------------------------------*/
#main #post.plan .post-body {
	padding-bottom: 0;
}
#main #post.plan .post-body img {
	max-width: 100%;
	height: auto;
}
#main #post.plan .post-body ul,
#main #post.plan .post-body ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
.parts-hall {
	padding-bottom: 40px;
}
.plan_intro {
	margin: 0 0 30px;
}
.plan_intro .inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: flex-start;
}
.plan_intro .img {
	width: 57%;
	text-align: center;
	font-size: 15px;
}
.swiper-container {
	position: relative;
	width: 57%;
	padding: 0 0 25px;
	overflow: hidden;
}
.swiper-container .swiper-slide {
	text-align: center;
	font-size: 15px;
}
.swiper-container .swiper-slide img {
	display: block;
}
.swiper-container .button-prev,
.swiper-container .button-next {
	position: absolute;
	top: calc(50% - 1.5em);
	transform: translate(0, -50%);
	background: rgba(0,0,0,0.2);
	width: 30px;
	height: 60px;
	z-index: 10;
	cursor: pointer;
}
.swiper-container .button-prev {
	left: 0;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
}
.swiper-container .button-next {
	right: 0;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
}
.swiper-container .button-prev:before,
.swiper-container .button-next:before {
	content: "";
	position: absolute;
	top: 50%;
	width: 9px;
	height: 9px;
	border-top: solid 2px #fff;
	border-left: solid 2px #fff;
}
.swiper-container .button-prev:before {
	left: 9px;
	transform: translate(0, -50%) rotate(-45deg);
}
.swiper-container .button-next:before {
	right: 9px;
	transform: translate(0, -50%) rotate(135deg);
}
.swiper-container .button-prev:hover,
.swiper-container .button-next:hover {
	background: rgba(0,0,0,0.4);
}
.swiper-container .swiper-pagination {
	line-height: 1;
}
.swiper-container .swiper-pagination-bullet-active {
	background: #707070;
}
.plan_intro a:hover img {
	opacity: 0.7;
}
.plan_intro .txt {
	width: 40%;
}
.plan_intro .txt .flex {
	align-items: flex-end;
	margin: 0 0 20px;
}
#main #post .post-body .plan_intro .txt h2 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	letter-spacing: normal;
	text-align: left;
	font-size: 18px;
}
#main #post .post-body .plan_intro .txt h2:after {
	content: none;
}
#main #post .post-body .plan_intro .txt h2 span {
	display: block;
}
#main #post .post-body .plan_intro .txt h2 span:first-child {
	width: 100%;
}
#main #post.plan-natsunoao-pre .post-body .plan_intro .txt h2 span:nth-child(2) {
	font-size: 40px;
}
#main #post .post-body .plan_intro .txt h2 span:last-child {
	margin: 0 0 0 20px;
	font-size: 17px;
	font-weight: 500;
}
#main #post .post-body .plan_intro .txt h2 {
	margin-bottom: 10px;
}
#main #post .post-body .plan_intro .txt h2 span:nth-child(2) {
	letter-spacing: 0.1em;
	font-size: 50px;
}
#main #post.plan-natsunoao-pre .post-body .plan_intro .txt h2 span:last-child {
	margin: 0;
}
#main #post .post-body .plan_intro .txt .box {
	width: 255px;
}
#main #post .post-body .plan_intro .txt .box + p {
	width: calc(100% - 262px);
}
#main #post .post-body .plan_intro .txt p {
	margin: 0;
	font-size: 0.9em;
}
#main #post .post-body .plan_intro .txt p.price {
	display: inline-block;
	position: relative;
	margin: 5px 0;
	line-height: 1;
	font-size: 38px;
	font-weight: 700;
}
#main #post .post-body .plan_intro .txt p.price span:first-child {
	font-size: 16px;
}
#main #post .post-body .plan_intro .txt p.price span:last-child {
	position: absolute;
	top: 5px;
	right: -12px;
	font-size: 14px;
	font-weight: 500;
}
#main #post .post-body .plan_intro .txt small {
	font-size: 16px;
	display: block;
}
#main #post .post-body .plan_intro .txt .discount {
	font-size: 1em;
	color: #DD2A8A;
}
#main #post .post-body .plan_intro .txt p.discount {
	background: #FFE0F1;
	text-align: center;
	font-weight: 700;
}
#main #post .post-body .plan_intro .txt p.price.discount {
	position: relative;
	background: none;
	padding: 0 0 0 45px;
	white-space: nowrap;
	letter-spacing: -0.02em;
}
#main #post .post-body .plan_intro .txt p.price.discount:before {
    content: "会員価格";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #DD2A8A;
    width: 40px;
    height: 38px;
    border-radius: 5px;
    padding: 2px 0 0;
    white-space: normal;
    line-height: 1.1;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
}
#main #post .post-body .plan_intro .txt .low {
	width: 200px;
}
#main #post .post-body .plan_intro .txt .low p.price.discount{
	padding: 0;
}
#main #post .post-body .plan_intro .txt .low p.price.discount:before {
	content: none;
}
#main #post .post-body .plan_intro .txt .low + .comment {
	width: calc( 100% - 200px );
}
#main #post .post-body .plan_intro .txt p.price.discount span:last-child {
	right: 3px;
}
#main #post .post-body .plan_intro .txt .progress {
	background: #EAF1F2;
	padding: 10px;
}
#main #post .post-body .setlist {
	background: #E7ECF8;
	padding: 5px 0 60px;
}
#main #post .post-body .setlist ul {
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
}
#main #post .post-body .setlist ul li {
	display: flex;
	align-items: center;
	background: #fff;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	width: 25%;
	padding: 10px 5px 10px 10px;
	line-height: 1.2;
}
#main #post .post-body .setlist ul li span:first-child {
	width: 60px;
}
#main #post .post-body .setlist ul li span + span {
	padding: 0 0 0 10px;
}
#main #post .post-body .setlist ul li small {
	display: inline-block;
    line-height: 1.4;
	font-size: 12px;
}
#main #post .post-body .setlist ul li span.margin {
	padding: 0 0 0 10px;
}
#main #post .post-body .setlist p {
	margin: 30px 0 0;
	font-size: 14px;
}
#main #post .post-body .optionlist ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border: 1px solid #ccc;
	margin: 0 0 40px;
	padding: 20px 30px;
}
#main #post .post-body .optionlist ul:after {
	content: '';
	display: block;
	width: 32%;
}
#main #post .post-body .optionlist ul li {
	position: relative;
	width: 32%;
	margin: 10px 0;
	padding: 0 0 0 20px;
	line-height: 1.5;
}
#main #post .post-body .optionlist ul li:before {
	content: "";
	display: block;
	position: absolute;
	top: 10px;
	left: 0;
	background: #ccc;
	width: 10px;
	height: 10px;
}
#main #post .post-body .gradeup {
	background-image: linear-gradient(180deg, rgba(236, 220, 237, 1), rgba(252, 249, 252, 1) 100%);
	padding: 5px 0 30px;
	text-align: center;
}
#main #post .post-body .gradeup img {
	display: block;
	margin: 0 auto 5px;
}
#main #post .post-body .gradeup h3 {
	margin: 0 0 10px;
	font-size: 24px;
}
#main #post .post-body .gradeup p {
	margin: 0 0 20px;
	line-height: 1.6;
}
#main #post .post-body .gradeup .bg {
	background: #fff;
	width: 48%;
	border-radius: 10px;
	margin: 0 0 30px;
	padding: 20px 40px;
}
#main #post .post-body .gradeup .bg.size-s {
	width: 32%;
	padding: 20px;
}
#main #post .post-body .gradeup .bg.size-full {
	width: 100%;
}
#main #post .post-body .gradeup .bg .flex li {
	width: 49%;
}
#main #post .post-body .gradeup .linkbtn {
	margin: 0;
}
#main #post .post-body .gradeup .linkbtn a {
	width: auto;
	max-width: 250px;
	height: 50px;
	line-height: 50px;
	font-size: 16px;
}
#main #post .post-body .flower {
	background: url("img/flower-bg.jpg") no-repeat center;
	background-size: 100% auto;
	margin: 0 auto;
	max-width: 1300px;
	padding: 5px 50px 60px;
}
#main #post .post-body .flower h2 span {
	display: block;
	font-size: 24px;
}
#main #post .post-body .flower h3 {
	margin: 0 0 10px;
	font-size: 20px;
}
#main #post .post-body .flower p + h3 {
	margin-top: 30px;
}
#main #post .post-body .flower p {
	margin: 0;
}
#main #post .post-body .flower .flex {
	align-items: center;
}
#main #post .post-body .flower .img,
#main #post .post-body .flower .txt {
	width: 49%;
}
#main #post .post-body .flower .txt ul li {
	position: relative;
	margin: 15px 0;
	padding: 0 0 0 15px;
	line-height: 1.5;
}
#main #post .post-body .flower .txt ul li:before {
	content: "";
	display: block;
	position: absolute;
	top: 10px;
	left: 0;
	background: #8B398E;
	width: 6px;
	height: 6px;
}
#main #post .post-body .flower .txt ul li span {
	background: #ECDCED;
	padding: 0 5px;
	font-weight: 700;
	color: #8B398E;
}
#main #post .post-body .recommend {
	background: #E2F2F4;
	padding: 5px 50px 60px;
}
#main #post .post-body .recommend h2 span {
	display: block;
	font-size: 24px;
}
#main #post .post-body .recommend ol {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1300px;
	margin: 0 auto;
}
#main #post .post-body .recommend ol li {
	background: #fff;
	width: 32%;
	border: 1px solid #009FA8;
	border-radius: 10px;
	padding: 0 30px 20px;
	line-height: 1.5;
	font-size: 22px;
}
#main #post .post-body .recommend li img {
	display: block;
	width: calc(100% + 60px);
	max-width: none;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	margin: 0 -30px 5px;
}
#main #post .post-body .recommend li span {
	display: block;
	font-size: 29px;
	color: #009FA8;
}
#main #post .post-body .recommend li i {
	margin: 0 0 0 5px;
	font-style: normal;
	font-size: 38px;
}
#main #post .post-body .recommend .linkbtn {
	margin: 40px 0 0;
}
#main #post .post-body .omomuki {
	background-image: linear-gradient(180deg, rgba(231, 236, 248, 1), rgba(255, 255, 255, 0) 50%);
  padding: 5px 0 60px;
}
#main #post .post-body .omomuki h2 span {
	display: block;
	font-size: 24px;
}
#main #post .post-body .omomuki .flex p,
#main #post .post-body .omomuki .flex dl {
	width: 49%;
	margin: 0;
}
#main #post .post-body .omomuki .flex dt {
	line-height: 1.5;
	letter-spacing: 0.06em;
	font-size: 24px;
	font-weight: 700;
}
#main #post .post-body .omomuki .flex dd {
	margin: 10px 0 0;
}
#main #post .post-body .omomuki ul {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	border: 1px solid #ccc;
	margin: 40px 0;
	padding: 30px;
}
#main #post .post-body .omomuki ul:after {
	content: "桜乃舞プラン 祭壇・仏衣・骨壺";
	position: absolute;
	bottom: 20px;
	right: 20px;
	font-size: 15px;
}
#main #post .post-body .omomuki ul li:first-child {
	width: 47%;
}
#main #post .post-body .omomuki ul li:nth-child(2) {
	width: 22%;
}
#main #post .post-body .omomuki ul li:last-child {
	width: 25%;
}
#main #post .post-body .omomuki .linkbtn {
	margin: 0;
}
#main #post .post-body .omomuki .flex + .linkbtn {
	margin-top: 20px;
}
#main #post .post-body .flow {
	padding: 5px 0 60px;
}
#main #post .post-body .flow img {
	max-width: 100%;
	height: auto;
}
#main #post .post-body .flow h2 + p {
	text-align: center;
}
#main #post .post-body .flow .step {
	background-image: linear-gradient(180deg, rgba(0, 159, 168, 1), rgba(255, 255, 255, 1) 100%);
	width: 60px;
	margin: 0;
	padding: 30px 0;
	writing-mode: vertical-rl;
	letter-spacing: 0.06em;
	line-height: 60px;
	font-size: 24px;
	font-weight: 700;
	color: #fff;
}
#main #post .post-body .flow .flex + .flex .step {
	background-image: linear-gradient(180deg, rgba(139, 57, 142, 1), rgba(255, 255, 255, 1) 100%);
}
#main #post .post-body .flow .set {
	width: calc(100% - 75px);
}
#main #post .post-body .flow .box {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	border: 1px solid #ccc;
	border-radius: 10px;
	margin: 0 0 30px;
	padding: 30px;
}
#main #post .post-body .flow .box:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -22px;
	left: 140px;
	background: #888;
	width: 30px;
	height: 12px;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#main #post .post-body .flow .box.last {
	margin: 0;
}
#main #post .post-body .flow .box.last:after {
	content: none;
}
#main #post .post-body .flow .box p {
	width: 250px;
	margin: 0 30px 0 0;
}
#main #post .post-body .flow .box dl {
	width: calc(100% - 280px);
	margin: 0;
}
#main #post .post-body .flow .box dt {
	line-height: 1.5;
	letter-spacing: 0.06em;
	font-size: 24px;
	font-weight: 700;
}
#main #post .post-body .flow .box dd {
	margin: 10px 0 0;
}
#main #post .post-body .plan_about {
    background-image: linear-gradient(180deg, rgba(236, 220, 237, 1), rgba(252, 249, 252, 1) 100%);
    padding: 5px 0 30px;
}
#main #post .post-body .plan_about .flex {
	align-items: center;
}
#main #post .post-body .plan_about .flex p {
	line-height: 2.2;
}
#main #post .post-body .plan_about .flex p strong {
	background: #fff;
	margin: 0 5px;
	padding: 2px 5px;
	color: #8B398E;
}
#main #post .post-body .plan_about .flex div,
#main #post .post-body .plan_about .flex p {
	width: 48%;
}
#main #post .post-body .plan_about .flex img {
	border-radius: 10px;
}
#main #post .post-body .plan_about h3 {
	color: #8B398E;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#main #post .post-body .plan_about h3::before,
#main #post .post-body .plan_about h3::after {
	content: "";
	display: block;
	background: #8B398E;
	width: calc( 50% - 3em );
	height: 1px;
}
#main #post .post-body .plan_about .melit {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#main #post .post-body .plan_about .melit li {
	background: #fff;
    width: 32%;
    border: 1px solid #8B398E;
    border-radius: 10px;
    padding: 20px 30px;
	font-size: 0.9em;
}
#main #post .post-body .plan_about .melit li strong {
	display: block;
	margin-bottom: 0.3em;
    line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
    font-size: 1.2em;
	color: #8B398E;
}
#main #post .post-body .plan_about .notice {
	background: #fff;
    border: 1px solid #8B398E;
    border-radius: 10px;
	margin: 0 0 20px;
    padding: 20px 20px 20px 40px;
	list-style: disc;
    padding-left: 2em;
}
@media screen and (max-width:1024px) {
	.swiper-container,
	.plan_intro .img {
		width: 100%;
		margin: 0 0 5px;
		text-align: center;
	}
	.plan_intro .txt {
		width: 100%;
		text-align: center;
	}
	.plan_intro .txt .flex {
		justify-content: center;
	}
	#main #post .post-body h2 {
		justify-content: center;
	}
	#main #post .post-body .plan_intro .txt h2 span:first-child,
	#main #post .post-body .plan_intro .txt h2 span:nth-child(2) {
		text-align: center;
	}
	#main #post .post-body .plan_intro .txt h2 span:nth-child(2),
	#main #post.plan-natsunoao-pre .post-body .plan_intro .txt h2 span:nth-child(2) {
		width: 100%;
		margin: 0;
		line-height: 1.2;
		font-size: 30px;
	}
	#main #post .post-body .plan_intro .txt h2 span:last-child {
		margin: 0;
	}
	#main #post .post-body .plan_intro .txt .box,
	#main #post .post-body .plan_intro .txt .box + p,
	#main #post .post-body .plan_intro .txt .low {
		width: auto;
	}
	#main #post .post-body .plan_intro .box + p {
		margin: 0 0 0 20px;
	}
	#main #post .post-body .plan_intro .txt .progress {
		display: inline-block;
	}
	#main #post .post-body .setlist ul li {
		width: calc(100% / 3);
	}
	#main #post .post-body .optionlist ul:after {
		content: none;
	}
	#main #post .post-body .optionlist ul li {
		width: 49%;
	}
	#main #post .post-body .flower {
		padding: 5px 30px 50px;
	}
	#main #post .post-body .flower h2 span {
		font-size: 20px;
	}
	#main #post .post-body .flower h3 {
		font-size: 18px;
	}
	#main #post .post-body .flower .flex {
		align-items: flex-start;
	}
	#main #post .post-body .flower .txt {
		margin: 0 0 20px;
	}
	#main #post .post-body .recommend {
		padding: 5px 30px 60px;
	}
	#main #post .post-body .recommend h2 span {
		font-size: 20px;
	}
	#main #post .post-body .recommend ol li {
		font-size: 18px;
	}
	#main #post .post-body .recommend li span {
		font-size: 26px;
	}
	#main #post .post-body .recommend li i {
		font-size: 30px;
	}
	#main #post .post-body .omomuki {
		padding: 5px 0 40px;
	}
	#main #post .post-body .omomuki h2 span {
		font-size: 20px;
	}
	#main #post .post-body .omomuki ul:after {
		font-size: 12px;
	}
	#main #post .post-body .flow .box p {
		width: 200px;
	}
	#main #post .post-body .flow .box dl {
		width: calc(100% - 230px);
	}
	#main #post .post-body .flow .box dt {
		letter-spacing: 0.04em;
		font-size: 20px;
	}
}
@media screen and (max-width:767px) {
	.parts-hall {
		padding-bottom: 30px;
	}
	#main #post .post-body .plan_intro .txt .box + p,
	#main #post .post-body .plan_intro .txt .low + .comment {
		width: 100%;
		margin: 20px auto 0;
	}
	#main #post .post-body .plan_intro .txt .box + p a {
		display: inline-block;
	}
	#main #post .post-body .setlist ul li {
		width: 50%;
	}
	#main #post .post-body .setlist ul li img {
		width: 40px;
	}
	#main #post .post-body .setlist ul li span:first-child {
		width: 40px;
	}
	#main #post .post-body .setlist ul li span + span {
		width: calc(100% - 40px);
		padding: 0 0 0 10px;
	}
	#main #post .post-body .setlist ul li small {
		font-size: 10px;
	}
	#main #post .post-body .setlist p {
		margin: 20px 0 0;
		font-size: 12px;
	}
	#main #post .post-body .optionlist ul {
		padding: 10px 20px;
	}
	#main #post .post-body .optionlist .link {
		margin: 0 0 40px;
	}
	#main #post .post-body .optionlist .link dl {
		padding: 0 20px;
	}
	#main #post .post-body .optionlist .link dt {
		font-size: 20px;
	}
	#main #post .post-body .optionlist .link dd {
		margin: 5px 0 0;
		font-size: 13px;
	}
	#main #post .post-body .optionlist .link dd span {
		width: 150px;
		height: 30px;
		border-radius: 15px;
		line-height: 30px;
		font-size: 12px;
	}
	#main #post .post-body .gradeup h3 {
		font-size: 18px;
	}
	#main #post .post-body .gradeup .bg,
	#main #post .post-body .gradeup .bg.size-s {
		background: #fff;
		width: 100%;
		border-radius: 10px;
		margin: 0 0 20px;
		padding: 20px;
	}
	#main #post .post-body .gradeup .bg .flex li {
		width: 100%;
	}
	#main #post .post-body .gradeup .bg .flex li + li {
		margin: 15px 0 0;
	}
	#main #post .post-body .gradeup .linkbtn a {
		height: 44px;
		border-radius: 22px;
		line-height: 44px;
	}
	#main #post .post-body .flower {
		background-position: top 100px left 0;
		padding: 5px 5% 50px;
	}
	#main #post .post-body .flower h2 span {
		font-size: 18px;
	}
	#main #post .post-body .flower h3 {
		font-size: 16px;
	}
	#main #post .post-body .flower .img,
	#main #post .post-body .flower .txt {
		width: 100%;
	}
	#main #post .post-body .flower .img {
		text-align: center;
		margin: 0 0 30px;
	}
	#main #post .post-body .recommend h2 span {
		font-size: 18px;
	}
	#main #post .post-body .recommend ol li {
		width: 70%;
		margin: 0 auto 20px;
	}
	#main #post .post-body .recommend .linkbtn {
		margin: 0;
	}
	#main #post .post-body .omomuki h2 span {
		font-size: 18px;
	}
	#main #post .post-body .omomuki .flex p,
	#main #post .post-body .omomuki .flex dl {
		width: 100%;
		margin: 0;
	}
	#main #post .post-body .omomuki .flex dt {
		margin: 10px 0 0;
		letter-spacing: 0.04em;
		font-size: 18px;
	}
	#main #post .post-body .omomuki ul {
		justify-content: center;
		margin: 30px 0;
		padding: 20px;
	}
	#main #post .post-body .omomuki ul li:first-child {
		width: 100%;
		margin: 0 0 10px;
	}
	#main #post .post-body .omomuki ul li:nth-child(2),
	#main #post .post-body .omomuki ul li:last-child {
		width: 50%;
	}
	#main #post .post-body .omomuki ul li img {
		display: block;
		margin: 0 auto;
	}
	#main #post .post-body .omomuki ul li:nth-child(2) img {
		margin: 0 0 0 auto;
	}
	#main #post .post-body .omomuki ul li:last-child img {
		margin: 0 auto 0 0;
	}
}
@media screen and (max-width:480px) {
	#main #post .post-body .setlist ul li {
		font-size: 15px;
	}
	#main #post .post-body .optionlist ul {
		font-size: 14px;
	}
	#main #post .post-body .recommend ol li {
		width: 100%;
	}
	#main #post .post-body .recommend ol li {
		padding: 0 15px 15px;
		font-size: 15px;
	}
	#main #post .post-body .recommend li img {
		width: calc(100% + 30px);
		margin: 0 -15px 5px;
	}
	#main #post .post-body .recommend li span {
		font-size: 20px;
	}
	#main #post .post-body .recommend li i {
		font-size: 24px;
	}
	#main #post .post-body .omomuki ul:after {
		font-size: 10px;
	}
	#main #post .post-body .flow .step {
		width: 40px;
		padding: 20px 0;
		line-height: 40px;
		font-size: 20px;
	}
	#main #post .post-body .flow .set {
		width: calc(100% - 55px);
	}
	#main #post .post-body .flow .box {
		padding: 20px;
	}
	#main #post .post-body .flow .box:after {
		left: 50%;
		margin: 0 0 0 -15px;
	}
	#main #post .post-body .flow .box p {
		width: 100%;
		margin: 0 0 10px;
	}
	#main #post .post-body .flow .box dl {
		width: 100%;
	}
	#main #post .post-body .plan_about .flex div,
	#main #post .post-body .plan_about .flex p {
		width: 100%;
		margin: 0 0 1em;
	}
	#main #post .post-body .plan_about .melit li {
		width: 100%;
		margin-bottom: 10px;
		padding: 10px 20px;
	}
}
/* plan index
------------------------------------------------*/
#main #post.plan .post-body h2.plan-tit {
	line-height: 1.5;
	padding-bottom: 0;
}
#main #post.plan .post-body h2.plan-tit::after {
	content: none;
}
#main #post.plan .post-body h2.plan-tit small {
	display: block;
    font-size: 0.6em;
	color: #0B318F;
}
#main #post.plan .post-body .plan-cat#family h2.plan-tit small {
	color: #009FA8;
}
#main #post.plan .post-body .plan-cat#general h2.plan-tit small {
	color: #7F1084;
}
#main #post.plan .post-body .plan-cat {
	padding: 3px 0 40px;
}
#main #post.plan .post-body .plan-cat#family {
	background-image: linear-gradient(180deg, rgba(199, 237, 239, 1), rgba(255, 255, 255, 0) 50%);
}
#main #post.plan .post-body .plan-cat#general {
	background-image: linear-gradient(180deg, rgba(236, 220, 237, 1), rgba(252, 249, 252, 1) 50%);
}
#main #post.plan .post-body .plan-cat#season {
	background-image: linear-gradient(180deg, rgba(231, 236, 248, 1), rgba(255, 255, 255, 0) 50%);
	border-bottom: solid 1px #ccc;
}
#main #post.plan .post-body .plan-cat > .flex {
	margin-bottom: 30px;
}
#main #post.plan .post-body .plan-cat > .flex p,
#main #post.plan .post-body .plan-cat > .flex dl {
	width: 49%;
    margin: 0;
}
#main #post.plan .post-body .plan-cat > .flex dt {
	line-height: 1.5;
	letter-spacing: 0.06em;
	font-size: 24px;
	font-weight: 700;
}
#main #post.plan .post-body .plan-cat > .flex dd {
	margin: 10px 0 0;
}
#main #post.plan .post-body .plan-list {
	max-width: 1300px;
    margin: 0 auto;
    padding: 0 50px;
}
#main #post.plan .post-body .plan-list p {
	margin: 0;
}
#main #post.plan .post-body .plan-list ul {
	margin: 0 0 20px;
}
#main #post.plan .post-body .plan-list li {
	width: 49%;
	margin: 0 0 20px;
}
#main #post.plan .post-body .plan-list li a {
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	position: relative;
	background: #fff;
	height: 100%;
	border: 1px solid;
	border-radius: 10px;
	padding: 0 10px 50px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
	text-align: center;
	font-size: 14px;
}
#main #post.plan .post-body .plan-list li a:before,
#main #post.plan .post-body .plan-list li a:after {
	display: block;
	position: absolute;
}
#main #post.plan .post-body .plan-list li a:before {
	content: "詳しくはこちら";
	left: 0;
	bottom: 0;
	width: 100%;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	padding: 5px;
	text-align: center;
	font-weight: 700;
}
#main #post.plan .post-body .plan-list li a:after {
	content: "";
	display: block;
	bottom: 16px;
	right: 10px;
	background: #888;
  width: 5px;
  height: 8px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#main #post.plan .post-body .plan-list li a:hover {
	opacity: 0.7;
}
#main #post.plan .post-body .plan-list li p:first-child {
    background: #ededed;
    width: calc(100% + 20px);
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    margin: 0 -10px 10px;
    padding: 10px 5px;
    letter-spacing: 0.1em;
    line-height: 1;
    font-size: 18px;
}
#main #post.plan .post-body .plan-list li h3 {
	margin: 0;
	letter-spacing: 0.06em;
	font-size: 30px;
	font-weight: 700;
}
#main #post.plan .post-body .plan-list li ul {
	display: flex;
	justify-content: space-between;
	margin: 0 0 5px;
}
#main #post.plan .post-body .plan-list li ul li {
	width: 32.5%;
	border: 1px solid #888;
	border-radius: 5px;
	line-height: 1;
	margin: 0;
	padding: 5px 0;
	text-align: center;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}
#main #post.plan .post-body .plan-list li ul li.nobg {
	background: #fff;
	color: #707070;
}
#main #post.plan .post-body .plan-list li div {
	width: 58%;
}
#main #post.plan .post-body .plan-list li .price {
	display: inline-block;
	position: relative;
	margin: 5px 0;
	line-height: 1;
	font-size: 38px;
	font-weight: 700;
}
#main #post.plan .post-body .plan-list li .price span:first-child {
	font-size: 16px;
}
#main #post.plan .post-body .plan-list li .price span:last-child {
	position: absolute;
	top: 5px;
	right: -12px;
	font-size: 14px;
	font-weight: 500;
}
#main #post.plan .post-body .plan-list li small {
	font-size: 16px;
	display: block;
}
#main #post.plan .post-body .plan-list li .blue {
	border-color: #0B318F;
}
#main #post.plan .post-body .plan-list li .blue:before {
	background: #E7ECF8;
	color: #0B318F;
}
#main #post.plan .post-body .plan-list li .blue p:first-child {
	color: #0B318F;
}
#main #post.plan .post-body .plan-list li .blue ul li:not([class]) {
	background: #0B318F;
	border-color: #0B318F;
}
#main #post.plan .post-body .plan-list li .green {
	border-color: #009FA8;
}
#main #post.plan .post-body .plan-list li .green:before {
	background: #E2F2F4;
	color: #009FA8;
}
#main #post.plan .post-body .plan-list li .green p:first-child {
	color: #009FA8;
}
#main #post.plan .post-body .plan-list li .green ul li:not([class]) {
	background: #009FA8;
	border-color: #009FA8;
}
#main #post.plan .post-body .plan-list li .purple {
	border-color: #7F1084;
}
#main #post.plan .post-body .plan-list li .purple:before {
	background: #ECDCED;
	color: #7F1084;
}
#main #post.plan .post-body .plan-list li .purple p:first-child {
	color: #7F1084;
}
#main #post.plan .post-body .plan-list li p:first-child + p {
	width: 40%;
}
#main #post.plan .post-body .plan-list li .purple ul li:not([class]) {
	background: #7F1084;
	border-color: #7F1084;
}
#main #post.plan .post-body .plan-list li .discount {
	color: #DD2A8A;
}
#main #post.plan .post-body .plan-list li p.discount {
	background: #FFE0F1;
	font-weight: 700;
}
#main #post.plan .post-body .plan-list li .price.discount {
	background: none;
	padding: 0 0 0 40px;
	white-space: nowrap;
}
#main #post.plan .post-body .plan-list li .price.discount:before {
	content: "会員価格";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	background: #DD2A8A;
	width: 35px;
	height: 30px;
	border-radius: 5px;
	padding: 3px 0 2px;
	white-space: normal;
	line-height: 1.1;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
}
#main #post.plan .post-body .plan-list li br.block1270px {
	display: none;
}
#main .parts-hall {
	background: url("img/bgimg.jpg") repeat;
	padding: 60px 0;
}
#main .parts-hall h2 {
	margin: 0 0 40px;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.06em;
	font-size: 45px;
	font-weight: 700;
}
#main .parts-hall h2 span {
	display: block;
	font-size: 24px;
}
#main .parts-hall h2 i {
	font-style: normal;
	font-size: 65px;
	color: #0B318F;
}
@media screen and (max-width:1024px) {
	#main #post.plan .post-body .plan-list {
		padding: 0 20px;
	}
	#main #post.plan .post-body .plan-list li p:first-child {
		font-size: 16px;
		color: #fff;
	}
	#main #post.plan .post-body .plan-list li h3 {
		letter-spacing: 0.04em;
		font-size: 24px;
	}
	#main #post.plan .post-body .plan-list li ul li {
		font-size: 11px;
	}
	#main #post.plan .post-body .plan-list li .price {
		font-size: 28px;
	}
	#main #post.plan .post-body .plan-list li br.block1024px {
		display: none;
	}
	#main #post.plan .post-body .plan-list li .price span:first-child {
		font-size: 12px;
	}
	#main #post.plan .post-body .plan-list li .price span:last-child {
		position: absolute;
		top: 3px;
		right: -9px;
		font-size: 10px;
	}
	#main #post.plan .post-body .plan-list li small {
		font-size: 13px;
	}
	#main #post.plan .post-body .plan-list li .price.discount {
		padding: 0 0 0 35px;
	}
	#main #post.plan .post-body .plan-list li .price.discount:before {
		top: 0;
		width: 30px;
		height: 28px;
		font-size: 11px;
		padding: 2px 0 0;
	}
}
@media screen and (max-width:767px) {
	#main #post.plan .post-body .plan-cat > .flex p,
	#main #post.plan .post-body .plan-cat > .flex dl {
		width: 100%;
	}
	#main #post.plan .post-body .plan-cat > .flex dl dt {
		margin: 10px 0 0;
		letter-spacing: 0.04em;
		font-size: 18px;
	}
	#main #post.plan .post-body .plan-list h2 {
		margin: 0 0 20px;
		letter-spacing: 0.04em;
		font-size: 32px;
	}
	#main #post.plan .post-body .plan-list ul.flex > li {
		width: 100%;
	}
	#main #post.plan .post-body .plan-list li p:first-child + p {
		width: 50%;
	}
	#main #post.plan .post-body .plan-list li div {
		width: 48%;
	}
	#main #post.plan .post-body .plan-list li a:before {
		font-size: 13px;
	}
	#main #post.plan .post-body .plan-list li a:after {
		bottom: 12px;
	}
}
@media screen and (max-width:480px) {
	#main #post.plan .post-body .plan-list h2 {
		font-size: 24px;
	}
	#main #post.plan .post-body .plan-list li p:first-child + p {
		width: 33%;
	}
	#main #post.plan .post-body .plan-list li div {
		width: 63%;
		text-align: left;
	}
	#main #post.plan .post-body .plan-list li h3 {
		margin: 0 0 5px;
		font-size: 22px;
	}
	#main #post.plan .post-body .plan-list li br.block1270px,
	#main #post.plan .post-body .plan-list li br.block1024px {
		display: block;
	}
	#main #post.plan .post-body .plan-list li .price {
		font-size: 25px;
	}
	#main #post.plan .post-body .plan-list li .price span:first-child {
		font-size: 18px;
	}
	#main #post.plan .post-body .plan-list li .price span:last-child {
		position: relative;
		top: 0;
		right: 0;
		margin: 0 0 0 5px;
		font-size: 12px;
	}
	#main #post.plan .post-body .plan-list li small {
		line-height: 1.4;
		font-size: 13px;
	}
	#main #post.plan .post-body .plan-list li .price.discount {
		padding: 3px 0 3px 40px;
	}
	#main #post.plan .post-body .plan-list li .price.discount:before {
		top: 3px;
		width: 35px;
		height: 30px;
		text-align: center;
		font-size: 12px;
	}
	#main #post.plan .post-body .plan-list li p.discount {
		margin-top: 3px;
		padding-left: 5px;
	}
	#main #post.plan .post-body .plan-list li p:last-child {
		font-size: 13px;
	}
}
/* funeral
------------------------------------------------*/
#main #post.funeral .post-body h2 + h3 {
	text-align: center;
}
#main #post.funeral .post-body .linkbtn a {
	max-width: 100%;
}
#main #post.funeral .post-body .total-box .wp-block-column {
	border: solid 1px #8B398E;
	border-radius: 10px;
}
#main #post.funeral .post-body .total-box .wp-block-column:nth-child(2) {
	border-color: #284FAF
}
#main #post.funeral .post-body .total-box .wp-block-column:nth-child(3) {
	border-color: #009FA8;
}
#main #post.funeral .post-body .total-box .wp-block-column h3 {
	background: #8B398E;
	border-radius: 9px 9px 0 0;
	margin: 0;
	padding: 15px;
	text-align: center;
	font-size: 1.3em;
	color: #fff;
}
#main #post.funeral .post-body .total-box .wp-block-column:nth-child(2) h3 {
	background: #284FAF;
}
#main #post.funeral .post-body .total-box .wp-block-column:nth-child(3) h3 {
	background: #009FA8;
}
#main #post.funeral .post-body .total-box .wp-block-column figure {
	margin-bottom: 15px;
}
#main #post.funeral .post-body .total-box .wp-block-column p {
	margin: 0 20px 15px;
}
#main #post.funeral .post-body .total-box .wp-block-column ul {
	margin: 0 20px 15px;
	font-size: 0.9em;
}
#main #post.funeral .post-body .total-box .wp-block-column ul {
	border-top: solid 1px #ccc;
	margin-top: 1em;
	padding-top: 1em;
}
#main #post.funeral .post-body .plan-type-wrap {
	background: #E7ECF8;
	margin: 60px 0;
    padding: 3px 0 60px;
}
#main #post.funeral .post-body .plan-type {
	background: #fff;
	align-items: center !important;
	margin: 0 auto 20px;
}
#main #post.funeral .post-body .plan-type h3 {
	letter-spacing: 0.2em;
	font-size: 1.8em;
}
#main #post.funeral .post-body .plan-type .wp-block-column:nth-child(2) {
	padding: 20px;
}
#main #post.funeral .post-body .message {
	gap: 0;
}
#main #post.funeral .post-body .message.reverse {
	flex-direction: row-reverse;
}
#main #post.funeral .post-body .message .wp-block-column {
	width: 50%;
}
#main #post.funeral .post-body .message .wp-block-column h3 {
	margin-top: 0;
}
#main #post.funeral .post-body .message .wp-block-column h3,
#main #post.funeral .post-body .message .wp-block-column p,
#main #post.funeral .post-body .message .wp-block-column ul {
	margin-left: 50px;
    margin-right: 50px;
}
#main #post.funeral .post-body .message .wp-block-column ul strong {
	letter-spacing: 0.1em;
}
#main #post.funeral .post-body .message .wp-block-column p .meaning {
	color: #777;
}
#main #post.funeral .post-body .message .wp-block-column p .meaning::before,
#main #post.funeral .post-body .message .wp-block-column p .meaning::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	background: #777;
	width: 1em;
	height: 1px;
	margin: 0 0.1em;
}
#main #post.funeral .post-body .staff {
	background: linear-gradient(180deg, rgba(236, 220, 237, 1), rgba(252, 249, 252, 1) 100%);
	padding: 5px 0 60px;
}
#main #post.funeral .post-body .staff h4 {
	margin-top: 0;
}
#main #post.funeral .post-body .staff img {
	border-radius: 50%;
}
#main #post.funeral .post-body .staff .wp-block-columns {
	background: #fff;
	box-shadow: 0 1px 20px rgba(150, 99, 152, 0.6);
    border-radius: 15px;
    padding: 40px 30px 20px;
}
#main #post.funeral .post-body .staff .wp-block-columns + .wp-block-columns {
	margin-top: 20px;
}
#main #post.funeral .post-body .service {
	margin: 15px auto;
	max-width: 1300px;
}
#main #post.funeral .post-body .service h3 {
	margin: 1em 0;
	text-align: center;
}
#main #post.funeral .post-body .service .wp-block-columns {
    max-width: 1300px;
    margin: 0 auto;
    padding: 60px 50px;
}
#main #post.funeral .post-body .service .wp-block-column {
	background: #EAF1F2;
}
#main #post.funeral .post-body .service .wp-block-column h3,
#main #post.funeral .post-body .service .wp-block-column p {
	margin-left: 20px;
	margin-right: 20px;
}
#main #post.funeral .post-body .vision {
	background: #E7ECF8;
	border-radius: 15px;
	padding: 20px 50px;
}
#main #post.funeral .post-body .vision h3 {
	margin-bottom: 1.5em;
    letter-spacing: 0.1em;
    line-height: 2;
    text-align: center;
    color: #284FAF;
}
#main #post.funeral .post-body .vision p {
	line-height: 2;
}
@media screen and (max-width:767px) {
	#main #post.funeral .post-body .plan-type h3 {
		margin-top: 0;
		text-align: center;
		font-size: 1.5em;
	}
	#main #post.funeral .post-body .plan-type .wp-block-column:nth-child(2) {
		padding: 0 25px;
	}
	#main #post.funeral .post-body .message .wp-block-column h3 {
		margin-top: 30px;
	}
	#main #post.funeral .post-body .message .wp-block-column h3,
	#main #post.funeral .post-body .message .wp-block-column p,
	#main #post.funeral .post-body .message .wp-block-column ul {
		margin-left: 30px;
		margin-right: 30px;
	}
	#main #post.funeral .post-body .message .alignright {
		float: none;
		margin: 0 auto;
	}
	#main #post.funeral .post-body .staff img {
		display: block;
        margin: 0 auto;
        width: 150px;
        height: auto;
	}
	#main #post.funeral .post-body .vision {
		padding: 15px 25px;
	}
}
/* kaikan
------------------------------------------------*/
#main #post.kaikan .post-body .kaikan-parent h2 {
	margin: 0 0 20px;
	padding: 0;
    text-align: center;
    line-height: 1;
    letter-spacing: 0.06em;
    font-size: 45px;
    font-weight: 700;
}
#main #post.kaikan .post-body .kaikan-parent h2::after {
	content: none;
}
#main #post.kaikan .post-body .kaikan-parent h2 span {
	display: block;
	font-size: 24px;
}
#main #post.kaikan .post-body .kaikan-parent h2 i {
	font-style: normal;
	font-size: 65px;
	color: #0B318F;
}
#main #post.kaikan .post-body .kaikan-parent h3 {
	color: #0B318F;
}
#main #post.kaikan .post-body .kaikan-parent h3,
#main #post.kaikan .post-body .kaikan-parent h3 + p {
	text-align: center;
}
#main #post.kaikan .post-body .kaikan-parent .parts-hall {
	background: none;
	padding: 0;
}
#main #post.kaikan .post-body .kaikan-parent ul.flex {
	list-style: none;
	padding: 0;
}
#main #post.kaikan .post-body table a {
	background: #8B398E;
	border-radius: 30px;
	margin: 0 5px;
	padding: 6px 17px 6px 10px;
	line-height: 1;
	font-size: 0.85em;
	color: #fff;
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
#main #post.kaikan .post-body table a::after {
	content: "";
	display: inline-block;
	border-left: solid 1px #fff;
	border-top: solid 1px #fff;
	width: 4px;
	height: 4px;
	transform: rotate(135deg) translate(-50%,0);
	position: absolute;
	right: 10px;
	top: 50%;
}
#main #post.kaikan .post-body table a:hover {
	opacity: 0.8;
}
#main #post.kaikan .post-body .map-wrap + .linkbtn {
	margin-top: 60px;
}
@media screen and (max-width:767px) {
	#main #post.kaikan .post-body .kaikan-parent h2 {
		margin: 0 0 10px;
		line-height: 1.2;
		font-size: 28px;
	}
	#main #post.kaikan .post-body .kaikan-parent h2 span {
		font-size: 17px;
	}
	#main #post.kaikan .post-body .kaikan-parent h2 i {
		font-size: 36px;
	}
	#main #post.kaikan .post-body .kaikan-parent h3,
	#main #post.kaikan .post-body .kaikan-parent h3 + p {
		text-align: left;
	}
	#main #post.kaikan .post-body table th {
		padding: 10px 5px;
        width: 6em;
	}
}
/* profile
------------------------------------------------*/
#main #post.profile .post-body p.idea {
	font-size: 40px;
}
#main #post.profile .post-body td ul {
	margin: 0;
}
#main #post.profile .post-body td a {
	text-decoration: underline;
}
#main #post.profile .post-body td a:hover {
	text-decoration: none;
}
#main #post.profile .post-body td .linkbtn a {
	width: 90%;
	height: 30px;
	border-radius: 15px;
	text-decoration: none;
	line-height: 30px;
	font-size: 14px;
	margin: 10px 0 0;
}
@media screen and (max-width:1024px) {
	#main #post.profile .post-body p.idea {
		font-size: 32px;
	}
}
@media screen and (max-width:767px) {
	#main #post.profile .post-body .wp-block-columns.is-layout-flex {
		gap: 0 !important;
	}
	#main #post.profile .post-body p.idea {
		font-size: 24px;
	}
}
@media screen and (max-width:480px) {
	#main #post.profile .post-body p.idea {
		font-size: 20px;
	}
	#main #post.profile .post-body th,
	#main #post.profile .post-body td {
		padding: 10px;
		font-size: 14px;
	}
	#main #post.profile .post-body th {
		width: 100px;
	}
	#main #post.profile .post-body td .linkbtn a {
		font-size: 12px;
	}
}
/* flower
------------------------------------------------*/
#main #post.flower .post-body .visual {
	margin: 0 0 45px;
	text-align: center;
}
#main #post.flower .post-body .visual p {
	margin: 40px 0 10px;
}
#main #post.flower .post-body .visual p strong {
	letter-spacing: 0.1em;
	font-size: 1.4em;
}
#main #post.flower .post-body .visual::before {
	content: "";
	display: block;
	width: 100%;
	height: 300px;
	background: url(/wp-content/uploads/2025/09/flower-visual.jpg) no-repeat center / cover;
}
#main #post.flower .post-body .bg {
	background: linear-gradient(180deg, rgb(244, 230, 244) , rgb(232, 244, 245) 50%);
	padding: 3px 0;
}
#main #post.flower .post-body .item {
	margin-bottom: 40px;
}
#main #post.flower .post-body .item.noimg {
	background: #fff;
    border-radius: 15px;
    padding: 15px 25px;
}
#main #post.flower .post-body .col3 .item {
	width: 30%;
}
#main #post.flower .post-body .col4 .item {
	width: 22%;
}
#main #post.flower .post-body .item .img {
	text-align: center;
	margin: 0 auto;
}
#main #post.flower .post-body .item .img img {
	max-width: 100%;
	height: auto;	
}
#main #post.flower .post-body .item .num {
	margin: 0;
	font-size: 1.5em;
	color: #284FAF;
}
#main #post.flower .post-body .item .tit {
	margin: 0;
	font-weight: bold;
}
#main #post.flower .post-body .item dl {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0;
	font-size: 1.1em;
}
#main #post.flower .post-body .item dl dt {
	width: 4em;
	font-size: 0.9em;
}
#main #post.flower .post-body .item dl dd {
	width: calc( 100% - 4em );
	margin: 0;
}
#main #post.flower .post-body .item dl dd small {
	margin-left: 1em;
	font-size: 0.7em;
}
#main #post.flower .post-body .col4 .item dl dd small {
	display: block;
	margin-left: 0;
}
#main #post.flower .post-body .item ul {
	list-style: none;
	margin-bottom: 0;
}
#main #post.flower .post-body .item ul li {
	margin-bottom: 5px;
	position: relative;
}
#main #post.flower .post-body .item ul li::before {
	content: "・";
	color: #555;
	position: absolute;
	top: 0;
	left: -1.2em;
}
#main #post.flower .post-body .item .spec {
	border-top: solid 1px #ccc;
	margin: 10px 0 0;
	padding: 10px 0 0;
	font-size: 0.9em;
}
#main #post.flower .post-body .order-box.bg {
	background: linear-gradient(180deg, rgb(232, 244, 245), rgba(236, 220, 237, 1) 100%);
	margin-bottom: -50px;
	padding: 3px 0 60px;
}
#main #post.flower .post-body .order-box .inner {
	background: #fff;
	border: solid 2px #8B398E;
	border-radius: 15px;
	margin-top: 30px;
	padding: 1px 50px 30px;
}
#main #post.flower .post-body .order-box h2 {
	margin: 30px 0 20px;
	font-size: 25px;
}
#main #post.flower .post-body .order-box ul {
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	justify-content: center;
}
#main #post.flower .post-body .order-box ul li {
	width: auto;
}
#main #post.flower .post-body .order-box ul li + li {
	margin-left: 20px;
}
#main #post.flower .post-body .order-box ul li a {
	width: 16em;
	padding-left: 20px;
	padding-right: 30px;
	background: #8B398E;
	border: none;
	font-size: 1em;
	color: #fff;
}
#main #post.flower .post-body .order-box ul li a:hover {
	opacity: 0.7;
}
#main #post.flower .post-body .order-box ul li a:after {
	background: #fff;
}
#main #post.flower .post-body .tel {
	width: 560px;
	margin: 0 auto;
	justify-content: flex-start;
	flex-wrap: wrap;
	align-items: center;
}
#main #post.flower .post-body .tel a {
	display: block;
	line-height: 1;
}
#main #post.flower .post-body .tel dt {
	width: 46%;
	padding-right: 1em;
	text-align: right;
	font-size: 1.2em;
	color: #8B398E;
}
#main #post.flower .post-body .tel dd {
	margin: 10px 0;
	width: 54%;
	letter-spacing: 0.05em;
	line-height: 1;
	font-size: 32px;
}
@media screen and (max-width:767px) {
	#main #post.flower .post-body .col3 .item,
	#main #post.flower .post-body .col4 .item {
		width: 100%;
		margin-bottom: 20px;
	}
	#main #post.flower .post-body .item .img {
		float: left;
		width: 150px;
	}
	#main #post.flower .post-body .item .num,
	#main #post.flower .post-body .item .tit,
	#main #post.flower .post-body .item dl,
	#main #post.flower .post-body .item ul,
	#main #post.flower .post-body .item .spec {
		margin-left: 160px;
	}
	#main #post.flower .post-body .item.noimg .tit,
	#main #post.flower .post-body .item.noimg dl,
	#main #post.flower .post-body .item.noimg .spec  {
		margin-left: 0;
	}
	#main #post.flower .post-body .order-box .inner {
		margin-top: 15px;
		padding: 1px 10px 20px;
	}
	#main #post.flower .post-body .order-box h2 {
		margin: 15px 0 10px;
		padding: 0 0 15px;
		font-size: 18px;
	}
	#main #post.flower .post-body .order-box ul {
		display: block;
	}
	#main #post.flower .post-body .order-box ul li {
		width: 100%;
	}
	#main #post.flower .post-body .order-box ul li + li {
		margin: 10px 0 0;
	}
	#main #post.flower .post-body .tel {
		width: 100%;
	}
	#main #post.flower .post-body .tel dt,
	#main #post.flower .post-body .tel dd {
		margin: 5px 0;
	}
	#main #post.flower .post-body .tel dt {
		width: 55%;
		font-size: 14px;
	}
	#main #post.flower .post-body .tel dd {
		width: 45%;
		font-size: 19px;
	}
}
/* aoitomonokai
------------------------------------------------*/
#main #post.aoitomonokai .post-body img {
	max-width: 100%;
	height: auto;
}
#main #post.aoitomonokai .post-body h2 span {
	display: block;
	font-size: 0.6em;
	color: #7F1084;
}
#main #post.aoitomonokai .post-body .title p {
	text-align: center;
	background: url("img/bg-line-double.png") repeat-x center;
	margin: 0 0 1em;
	letter-spacing: 0.2em;
	font-size: 1.3em;
	color: #7F1084;
}
#main #post.aoitomonokai .post-body .title p span {
	background: #fff;
	padding: 0 0.7em;
}
#main #post.aoitomonokai .post-body .title h2 {
	margin: 0 0 30px;
	padding: 0;
}
#main #post.aoitomonokai .post-body .title h2::after {
	content: none;
}
#main #post.aoitomonokai .post-body #visual {
	background: url("img/reason-bg.jpg") repeat;
	padding: 30px 0;
	position: relative;
	z-index: 1;
}
#main #post.aoitomonokai .post-body #visual::before {
	content: "";
	display: block;
	background-image: linear-gradient(90deg, transparent, #8b398e);
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
#main #post.aoitomonokai .post-body .melit {
	background: url(img/reason-bg.jpg) repeat;
    padding: 60px 0;
}
#main #post.aoitomonokai .post-body .melit dl {
	border-top: dotted 1px #8B398E;
	margin: 40px 0 30px;
	padding: 40px 0 0 170px;
	min-height: 140px;
	position: relative;
}
#main #post.aoitomonokai .post-body .melit h2 + dl {
	border: none;
	margin-top: 0;
} 
#main #post.aoitomonokai .post-body .melit dt {
	line-height: 1.5;
	letter-spacing: 0.06em;
	font-size: 25px;
	font-weight: 700;
	color: #7F1084;
}
#main #post.aoitomonokai .post-body .melit dt span {
	position: absolute;
	top: 20px;
	left: 0;
	display: block;
	background-image: radial-gradient(rgba(127, 16, 132, 1), rgba(127, 16, 132, 0.4) 45%, rgba(255, 255, 255, 0) 70%);
	width: 140px;
	height: 140px;
	border-radius: 50%;
	padding: 40px 0 0;
	line-height: 1;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
}
#main #post.aoitomonokai .post-body .melit dt span i {
	display: block;
	font-style: normal;
	font-size: 50px;
}
#main #post.aoitomonokai .post-body .melit dt + dd {
	letter-spacing: 0.06em;
}
#main #post.aoitomonokai .post-body .melit dd {
	margin: 10px 0 0;
}
#main #post.aoitomonokai .post-body .melit h3 {
	text-align: center;
}
#main #post.aoitomonokai .post-body .plan-list ul {
	list-style: none;
	padding: 0;
}
#main #post.aoitomonokai .post-body .plan-list li {
	width: 49%;
	margin: 0 0 20px;
}
#main #post.aoitomonokai .post-body .plan-list li a {
	display: flex;
	flex-wrap: wrap;
	justify-content:space-between;
	position: relative;
	background: #fff;
	height: 100%;
	border: 1px solid;
	border-radius: 10px;
	padding: 0 10px 50px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);
	text-align: center;
	font-size: 14px;
}
#main #post.aoitomonokai .post-body .plan-list li a:before,
#main #post.aoitomonokai .post-body .plan-list li a:after {
	display: block;
	position: absolute;
}
#main #post.aoitomonokai .post-body .plan-list li a:before {
	content: "詳しくはこちら";
	left: 0;
	bottom: 0;
	width: 100%;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	padding: 5px;
	text-align: center;
	font-weight: 700;
}
#main #post.aoitomonokai .post-body .plan-list li a:after {
	content: "";
	display: block;
	bottom: 16px;
	right: 10px;
	background: #888;
  width: 5px;
  height: 8px;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
#main #post.aoitomonokai .post-body .plan-list li a:hover {
	opacity: 0.7;
}
#main #post.aoitomonokai .post-body .plan-list li p:first-child {
	width: calc(100% + 20px);
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin: 0 -10px 10px;
	padding: 10px 5px;
	line-height: 1;
	font-size: 18px;
	color: #fff;
}

#main #post.aoitomonokai .post-body .plan-list li h3 {
	margin: 0;
	letter-spacing: 0.06em;
	font-size: 30px;
	font-weight: 700;
}
#main #post.aoitomonokai .post-body .plan-list li ul {
	display: flex;
	justify-content: space-between;
	margin: 0 0 5px;
}
#main #post.aoitomonokai .post-body .plan-list li ul li {
	width: 32.5%;
	border: 1px solid #888;
	border-radius: 5px;
	line-height: 1;
	margin: 0;
	padding: 5px 0;
	text-align: center;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
	font-size: 13px;
	font-weight: bold;
	color: #fff;
}
#main #post.aoitomonokai .post-body .plan-list li ul li.nobg {
	background: #fff;
	color: #707070;
}
#main #post.aoitomonokai .post-body .plan-list li div {
	width: 58%;
}
#main #post.aoitomonokai .post-body .plan-list li .price {
	display: inline-block;
	position: relative;
	margin: 5px 0;
	line-height: 1;
	font-size: 38px;
	font-weight: 700;
}
#main #post.aoitomonokai .post-body .plan-list li .price span:first-child {
	font-size: 16px;
}
#main #post.aoitomonokai .post-body .plan-list li .price span:last-child {
	position: absolute;
	top: 5px;
	right: -12px;
	font-size: 14px;
	font-weight: 500;
}
#main #post.aoitomonokai .post-body .plan-list li small {
	font-size: 16px;
	display: block;
}
#main #post.aoitomonokai .post-body .plan-list li .blue {
	border-color: #0B318F;
}
#main #post.aoitomonokai .post-body .plan-list li .blue:before {
	background: #E7ECF8;
	color: #0B318F;
}
#main #post.aoitomonokai .post-body .plan-list li .blue p:first-child {
	background: #0B318F;
}
#main #post.aoitomonokai .post-body .plan-list li .blue ul li:not([class]) {
	background: #0B318F;
	border-color: #0B318F;
}
#main #post.aoitomonokai .post-body .plan-list li .green {
	border-color: #009FA8;
}
#main #post.aoitomonokai .post-body .plan-list li .green:before {
	background: #E2F2F4;
	color: #009FA8;
}
#main #post.aoitomonokai .post-body .plan-list li .green p:first-child {
	background: #009FA8;
}
#main #post.aoitomonokai .post-body .plan-list li .green ul li:not([class]) {
	background: #009FA8;
	border-color: #009FA8;
}
#main #post.aoitomonokai .post-body .plan-list li .purple {
	border-color: #7F1084;
}
#main #post.aoitomonokai .post-body .plan-list li .purple:before {
	background: #ECDCED;
	color: #7F1084;
}
#main #post.aoitomonokai .post-body .plan-list li .purple p:first-child {
	background: #7F1084;
}
#main #post.aoitomonokai .post-body .plan-list li p:first-child + p {
	width: 40%;
}
#main #post.aoitomonokai .post-body .plan-list li .purple ul li:not([class]) {
	background: #7F1084;
	border-color: #7F1084;
}
#main #post.aoitomonokai .post-body .plan-list li .discount {
	color: #DD2A8A;
}
#main #post.aoitomonokai .post-body .plan-list li p.discount {
	background: #FFE0F1;
	font-weight: 700;
}
#main #post.aoitomonokai .post-body .plan-list li .price.discount {
	background: none;
	padding: 0 0 0 40px;
	white-space: nowrap;
}
#main #post.aoitomonokai .post-body .plan-list li .price.discount:before {
	content: "会員価格";
	display: block;
	position: absolute;
	top: 3px;
	left: 0;
	background: #DD2A8A;
	width: 35px;
	height: 30px;
	border-radius: 5px;
	padding: 3px 0 2px;
	white-space: normal;
	line-height: 1.1;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
}
#main #post.aoitomonokai .post-body .plan-list li br.block1270px {
	display: none;
}
#main #post.aoitomonokai .post-body .plan-list li p:last-child {
	margin-bottom: 0;
}
#main #post.aoitomonokai .post-body .discount-list {
	justify-content: center;
}
#main #post.aoitomonokai .post-body .discount-list div {
	background: #fff;
	box-shadow: 0 0 10px #0B318F;
	box-sizing: border-box;
	border-radius: 15px;
	width: 32%;
	margin: 0 1%;
	padding: 20px;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.2em;
	font-weight: bold;
	font-size: 1.2em;
	color: #0B318F;
}
#main #post.aoitomonokai .post-body .discount-list div p {
	margin: 0;
}
#main #post.aoitomonokai .post-body .discount-list div p strong {
	font-size: 1.5em;
}
#main #post.aoitomonokai .post-body .discount-list div p strong span {
	font-size: 2em;
}
#main #post.aoitomonokai .post-body .discount-list + p {
	margin-top: 20px;
	font-size: 0.85em;
}
#main #post.aoitomonokai .post-body .flower-box .img,
#main #post.aoitomonokai .post-body .flower-box div {
	width: 48%;
}
#main #post.aoitomonokai .post-body .flower-box ul li {
	width: 50%;
	font-size: 0.9em;
}
#main #post.aoitomonokai .post-body .flower-box ul + p {
	font-size: 0.85em;
}
#main #post.aoitomonokai .post-body dl + .linkbtn.cta {
	margin-top: 20px;
}
#main #post.aoitomonokai .post-body .wp-block-columns + .linkbtn.cta {
	margin: -30px 0 60px;
}
#main #post.aoitomonokai .post-body .linkbtn.cta a {
	background: #DD2A8A;
	border-color: #DD2A8A;
	border-radius: 100px;
	box-shadow: 0 1px 10px rgba(0,0,0,0.3);
	padding: 0.7em 0;
	height: auto;
	line-height: 1.3;
	font-size: 1.4em;
	color: #fff;
	animation: squash 1s ease-in-out infinite;
}
@keyframes squash {
  0% {transform: scale(1);}
  50% {transform: scale(1.03);}
  80% {transform: scale(1);}
  100% {transform: scale(1);}
}
#main #post.aoitomonokai .post-body .linkbtn.cta a::after {
	background: #fff;;
}
#main #post.aoitomonokai .post-body .linkbtn.cta a:hover {
	background: #d863a1;
}
#main #post.aoitomonokai .post-body .linkbtn.cta span {
	display: block;
	margin-bottom: 0.2em;
	font-size: 0.8em;
	color: #FFFDCC;
}
@media screen and (max-width:1024px) {
	#main #post.aoitomonokai .post-body .plan-list {
		padding: 0;
	}
	#main #post.aoitomonokai .post-body .plan-list li p:first-child {
		font-size: 16px;
		color: #fff;
	}
	#main #post.aoitomonokai .post-body .plan-list li h3 {
		letter-spacing: 0.04em;
		font-size: 24px;
	}
	#main #post.aoitomonokai .post-body .plan-list li ul li {
		font-size: 11px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price {
		font-size: 28px;
	}
	#main #post.aoitomonokai .post-body .plan-list li br.block1024px {
		display: none;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price span:first-child {
		font-size: 12px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price span:last-child {
		position: absolute;
		top: 3px;
		right: -9px;
		font-size: 10px;
	}
	#main #post.aoitomonokai .post-body .plan-list li small {
		font-size: 13px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price.discount {
		padding: 0 0 0 35px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price.discount:before {
		top: 0;
		width: 30px;
		height: 28px;
		font-size: 11px;
		padding: 2px 0 0;
	}
}
@media screen and (max-width:767px) {
	#main #post.aoitomonokai .post-body .size-s {
		text-align: center;
	}
	#main #post.aoitomonokai .post-body .size-s img {
		max-width: 75%;
	}
	#main #post.aoitomonokai .post-body .title p {
		margin-bottom: 15px;
	}
	#main #post.aoitomonokai .post-body .title h2 img {
		max-width: 65%;
	}
	#main #post.aoitomonokai .post-body .wp-block-column h3:first-child {
		margin-top: 0;
	}
	#main #post.aoitomonokai .post-body .melit dl {
		width: 100%;
		margin: 0 auto;
		padding: 20px 0 0;
	}
	#main #post.aoitomonokai .post-body .melit dt {
		position: relative;
		padding: 0 0 0 75px;
		font-size: 20px;
	}
	#main #post.aoitomonokai .post-body .melit dt span {
		top: -10px;
		left: -10px;
		width: 80px;
		height: 80px;
		padding: 25px 0 0;
		font-size: 10px;
	}
	#main #post.aoitomonokai .post-body .melit dt span i {
		font-size: 25px;
	}
	#main #post.aoitomonokai .post-body .melit dt + dd {
		margin: 20px 0 0;
	}
	#main #post.aoitomonokai .post-body .plan-list ul.flex > li {
		width: 100%;
	}
	#main #post.aoitomonokai .post-body .plan-list li p:first-child + p {
		width: 50%;
	}
	#main #post.aoitomonokai .post-body .plan-list li div {
		width: 48%;
	}
	#main #post.aoitomonokai .post-body .plan-list li a:before {
		font-size: 13px;
	}
	#main #post.aoitomonokai .post-body .plan-list li a:after {
		bottom: 12px;
	}
	#main #post.aoitomonokai .post-body .discount-list div,
	#main #post.aoitomonokai .post-body .flower-box .img,
	#main #post.aoitomonokai .post-body .flower-box div {
		width: 100%;
		margin: 10px 0 0;
	}
}
@media screen and (max-width:480px) {
	#main #post.aoitomonokai .post-body .plan-list li p:first-child + p {
		width: 33%;
	}
	#main #post.aoitomonokai .post-body .plan-list li div {
		width: 63%;
		text-align: left;
	}
	#main #post.aoitomonokai .post-body .plan-list li h3 {
		margin: 0 0 5px;
		font-size: 22px;
	}
	#main #post.aoitomonokai .post-body .plan-list li br.block1270px,
	#main #post.aoitomonokai .post-body .plan-list li br.block1024px {
		display: block;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price {
		font-size: 25px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price span:first-child {
		font-size: 18px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price span:last-child {
		position: relative;
		top: 0;
		right: 0;
		margin: 0 0 0 5px;
		font-size: 12px;
	}
	#main #post.aoitomonokai .post-body .plan-list li small {
		line-height: 1.4;
		font-size: 13px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price.discount {
		padding: 3px 0 3px 40px;
	}
	#main #post.aoitomonokai .post-body .plan-list li .price.discount:before {
		top: 3px;
		width: 35px;
		height: 30px;
		text-align: center;
		font-size: 12px;
	}
	#main #post.aoitomonokai .post-body .plan-list li p.discount {
		margin-top: 3px;
		padding-left: 5px;
	}
	#main #post.aoitomonokai .post-body .plan-list li p:last-child {
		font-size: 13px;
	}
}
/* emergency
------------------------------------------------*/
#main #post.emergency .post-body br.sp-block {
	display: none;
}
#main #post.emergency .post-body .parts-cta {
	background: #EAF1F2;
	padding: 3px 0 0;
}
#main #post.emergency .post-body .parts-cta h2 {
	margin-top: 40px;
}
#main #post.emergency .post-body .parts-cta .flex {
	justify-content: flex-start;
}
#main #post.emergency .post-body .parts-cta .flex p {
    background: #DD2A8A;
    border-radius: 50%;
    width: 130px;
    height: 100px;
	margin-left: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
    font-size: 1.2em;
    color: #fff;
}
#main #post.emergency .post-body .support .wp-block-column {
	background: #f0e8f0;
	border-radius: 15px;
	margin-bottom: 25px;
	padding: 20px 20px 0;
}
#main #post.emergency .post-body .support h3 {
	background: #fff;
	border-radius: 15px;
	margin: 0 0 15px;
	padding: 10px 0 10px 85px;
	font-size: 1.1em;
	color: #8b398e;
	position: relative;
}
#main #post.emergency .post-body .support h3::before {
	content: "";
	display: block;
	background: url("/wp-content/themes/theme-imadeya/img/icon-setlist09.svg") no-repeat center / contain;
	width: 60px;
	height: 60px;
	position: absolute;
	left: 10px;
	top: 10px;
}
#main #post.emergency .post-body .support .support2 h3::before {
	background-image: url("/wp-content/themes/theme-imadeya/img/icon-setlist16.svg");
}
#main #post.emergency .post-body .support .support3 h3::before {
	background-image: url("/wp-content/themes/theme-imadeya/img/icon-setlist01.svg");
}
#main #post.emergency .post-body .support .support4 h3::before {
	background-image: url("/wp-content/themes/theme-imadeya/img/icon-setlist15.svg");
}
#main #post.emergency .post-body dl.faq dt {
	position: relative;
	padding: 0 0 0 50px;
	font-size: 20px;
	font-weight: bold;
}
#main #post.emergency .post-body dl.faq dd {
	position: relative;
	border-bottom: 1px solid #ccc;
	margin: 20px 0;
	padding: 0 0 20px 50px;
}
#main #post.emergency .post-body dl.faq dd:last-child {
	border: 0;
}
#main #post.emergency .post-body dl.faq dt:before,
#main #post.emergency .post-body dl.faq dd:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
}
#main #post.emergency .post-body dl.faq dt:before {
	background: #8b398e;
}
#main #post.emergency .post-body dl.faq dd:before {
	border: solid 1px #8b398e;
}
#main #post.emergency .post-body dl.faq dt:after,
#main #post.emergency .post-body dl.faq dd:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	font-size: 22px;
}
#main #post.emergency .post-body dl.faq dt:after {
	content: "Q";
	color: #fff;
}
#main #post.emergency .post-body dl.faq dd:after {
	content: "A";
	color: #8b398e;
}
@media screen and (max-width:767px) {
	#main #post.emergency .post-body br.pc-block {
		display: none;
	}
	#main #post.emergency .post-body br.sp-block {
		display: block;
	}
	#main #post.emergency .post-body .parts-cta div.bg {
		background-position: left 0;
		padding: 3px 0 0;
	}
	#main #post.emergency .post-body .parts-cta h2 {
		margin-top: 25px;
	}
	#main #post.emergency .post-body .parts-cta h3 {
		margin: 10px 0 10px 100px !important;
		text-align: left;
		font-size: 22px !important;
	}
	#main #post.emergency .post-body .parts-cta .flex dl,
	#main #post.emergency .post-body .parts-cta .flex p {
		margin: 0 auto;
		width: 100%;
	}
	#main #post.emergency .post-body .parts-cta .flex dl {
		background: #EAF1F2;
		border-radius: 20px 20px 0 0;
		padding: 0 0 20px;
	}
	#main #post.emergency .post-body .parts-cta .flex dt {
		font-size: 18px;
	}
	#main #post.emergency .post-body .parts-cta .flex dd {
		width: 80%;
		margin: 10px auto 0;
		text-align: center;
	}
	#main #post.emergency .post-body .parts-cta .flex p {
		border-radius: 5px;
		width: 100%;
		height: auto;
		padding: 6px 0;
		letter-spacing: 0.2em;
	}
	#main #post.emergency .post-body .support + .support {
		margin-top: 30px;
	}
	#main #post.emergency .post-body .support .wp-block-column {
		margin-bottom: 0;
	}
	#main #post.emergency .post-body .support h3 {
		padding: 10px 5px 10px 75px;
	}
	#main #post.emergency .post-body .support h3::before {
		width: 50px;
		height: 50px;
	}
	#main #post.emergency .post-body dl.tel dt {
		background-size: 30px auto;
		padding: 0 0 0 35px;
		font-size: 42px;
	}
	#main #post.emergency .post-body dl.tel dd ul {
		margin: 5px 0 0 30px;
	}
	#main #post.emergency .post-body dl.tel dd ul li span {
		display: inline;
	}
	#main #post.emergency .post-body dl.attention {
		margin: 20px 0 0;
	}
	#main #post.emergency .post-body dl.attention dt {
		font-size: 16px;
	}
	#main #post.emergency .post-body dl.target {
		padding: 20px;
	}
	#main #post.emergency .post-body dl.target dt {
		font-size: 16px;
	}
	#main #post.emergency .post-body dl.faq dt {
		padding: 0 0 0 35px;
		font-size: 16px;
		font-weight: bold;
	}
	#main #post.emergency .post-body dl.faq dd {
		margin: 10px 0;
		padding: 0 0 10px 35px;
	}
	#main #post.emergency .post-body dl.faq dt:before,
	#main #post.emergency .post-body dl.faq dd:before {
		top: 3px;
		width: 25px;
		height: 25px;
	}
	#main #post.emergency .post-body dl.faq dt:after,
	#main #post.emergency .post-body dl.faq dd:after {
		top: 3px;
		width: 25px;
		line-height: 25px;
		font-size: 18px;
	}
}
/* gojokai
------------------------------------------------*/
#main #post.gojokai .post-body .wp-block-column h3 {
	margin-top: 0;
}
#main #post.gojokai .post-body .item-box {
	background: #E6DBE6;
	margin: 40px 0 0;
	padding: 1px 30px;
}
#main #post.gojokai .post-body .item-box h3 {
	margin-top: 30px;
}
/* syasoh
------------------------------------------------*/
#main #post.syasoh .post-body .visual {
	margin: 0 0 45px;
	text-align: center;
}
#main #post.syasoh .post-body .visual::before {
	content: "";
	display: block;
	width: 100%;
	height: 300px;
	background: url(/wp-content/uploads/2025/09/syasoh-visual.jpg) no-repeat center / cover;
}
#main #post.syasoh .post-body .wp-block-column h3:first-child {
	margin-top: 0;
}
#main #post.syasoh .post-body .case {
	border: solid 2px #bf90c1;
	border-radius: 15px;
	margin: 0 0 60px;
	padding: 0 30px;
}
#main #post.syasoh .post-body .case h3 {
	margin-bottom: 20px;
}
#main #post.syasoh .post-body .case h4 {
	margin-top: 0;
	letter-spacing: 0.1em;
	color: #7F1084;
}
#main #post.syasoh .post-body .case h4 + p {
	margin-bottom: 1em;
}
#main #post.syasoh .post-body .case h4 + p::after {
	content: "";
	display: inline-block;
	width: 3em;
	height: 1px;
	background: #888;
	margin: 0 0 0 0.5em;
	vertical-align: middle;
}
#main #post.syasoh .post-body .case ul {
	list-style: none;
	margin: 0;
	padding: 1em 0 0;
	border-top: solid 1px #ccc;
}
#main #post.syasoh .post-body .case ul li {
	border-bottom: solid 1px #ccc;
	margin: 0 0 1em;
	padding: 0 0 1em 30px;
	position: relative;
}
#main #post.syasoh .post-body .case ul li strong {
	background: #eed9ee;
	margin: 0 5px;
	padding: 2px 5px;
}
#main #post.syasoh .post-body .case ul li::before {
    content: "";
    background: #bf90c1;
    border-radius: 50%;
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 0.6em;
    left: 0.6em;
}
#main #post.syasoh .post-body .type {
	background: #E6DBE6;
	padding: 3px 0 60px;
}
#main #post.syasoh .post-body .type .wp-block-column,
#main #post.syasoh .post-body .concept .wp-block-column {
	background: #fff;
	border-radius: 15px;
	padding: 0 20px;
}
#main #post.syasoh .post-body .type .wp-block-column h3 {
	margin-top: 25px;
	text-align: center;
}
#main #post.syasoh .post-body .type .wp-block-column h3 + p {
	border-top: solid 1px #ccc;
	line-height: 1.3;
	margin: 15px 0;
	padding: 15px 0 0 57px;
	position: relative;
}
#main #post.syasoh .post-body .type .wp-block-column h3 + p span {
	background: #8b398e;
	border-radius: 10px;
	margin: 0 10px 0 0;
	padding: 2px 7px;
	letter-spacing: 0.2em;
	text-indent: 0.2em;
	font-size: 0.8em;
	color: #fff;
	display: inline-block;
	position: absolute;
	top: 15px;
	left: 0;
}
#main #post.syasoh .post-body .size h3 {
	border-bottom: solid 1px #ccc;
	margin-bottom: 20px;
	padding-bottom: 10px;
}
#main #post.syasoh .post-body .size h3 span {
	margin: 0 0 0 1em;
	font-size: 0.7em;
	color: #8B398E;
}
#main #post.syasoh .post-body .size h3 span strong {
	font-size: 1.5em;
}
#main #post.syasoh .post-body .column {
	background: #EAF1F2;
	margin: 60px 0;
	padding: 30px 50px 0;
}
#main #post.syasoh .post-body .concept {
    background-image: linear-gradient(180deg, rgba(199, 237, 239, 1), rgba(255, 255, 255, 0) 50%);
	margin: 60px 0 0;
	padding: 3px 0 60px;
}
#main #post.syasoh .post-body .concept h2::after {
	background: #009FA8;
}
#main #post.syasoh .post-body .concept h3 {
	color: #009FA8;
}
#main #post.syasoh .post-body .concept h3,
#main #post.syasoh .post-body .concept h3 + p {
	text-align: center;
}
#main #post.syasoh .post-body .concept .wp-block-columns + h3 {
	margin-top: 60px;
}
#main #post.syasoh .post-body .concept .wp-block-column {
	box-shadow: 0 0 15px #82b9bc;
}
#main #post.syasoh .post-body .concept ol {
	background: #fff;
	margin: 0 auto;
	padding: 30px 40px;
	font-size: 0.9em;
}
#main #post.syasoh .post-body .concept ol li + li {
	margin-top: 20px;
}
#main #post.syasoh .post-body .concept ol li strong {
	font-size: 1.1em;
	color: #8B398E;
}
#main #post.syasoh .post-body .full-img img {
	width: 100%;
	height: auto;
}
@media screen and (max-width:767px) {
	#main #post.syasoh .post-body .wp-block-column h3:first-child {
		margin-top: 20px;
	}
	#main #post.syasoh .post-body .column {
		padding: 30px 30px 0;
	}
	#main #post.syasoh .post-body .concept h3,
	#main #post.syasoh .post-body .concept h3 + p {
		text-align: left;
	}
}
/* sitemap
------------------------------------------------*/
#main #post.sitemap .post-body ul li a:hover {
	color: #888;
}
/* recruitment
------------------------------------------------*/
#main #post.recruitment .post-body a:hover {
	opacity: 0.8;
}
#main #post.recruitment .post-body ul.point {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: 0 10px 0;
	padding: 0;
}
#main #post.recruitment .post-body ul.point li {
	background: #fff;
	box-shadow: 0 0 10px #0B318F;
	width: 23%;
	border-radius: 15px;
	padding: 20px;
	line-height: 1.4;
	font-size: 0.9em;
	color: #0B318F;
}
#main #post.recruitment .post-body ul.point li strong {
	display: block;
	margin: 0 0 10px;
	text-align: center;
	letter-spacing: 0.2em;
	font-size: 2em;
	font-weight: 700;
}
#main #post.recruitment .post-body th {
	width: 150px;
}
#main #post.recruitment .post-body td {
	padding: 20px;
}
#main #post.recruitment .post-body td ul,
#main #post.recruitment .post-body td dl,
#main #post.recruitment .post-body td dd {
	margin: 0;
}
#main #post.recruitment .post-body td dt {
	font-weight: 700;
}
#main #post.recruitment .post-body td dd + dt {
	margin: 20px 0 0;
}
#main #post.recruitment .post-body .message  {
	gap: 0;
}
#main #post.recruitment .post-body .message .wp-block-column {
	width: 50%;
}
#main #post.recruitment .post-body .message p {
	margin-left: 50px;
    margin-right: 50px;
}
#main #post.recruitment .post-body .philosophy {
	margin: 0 3% 40px;
}
#main #post.recruitment .post-body .philosophy h3 {
	border-bottom: solid 1px #ccc;
	margin-bottom: 10px;
	padding-bottom: 5px;
	font-size: 20px;
	color: #888;
}
#main #post.recruitment .post-body .philosophy p strong {
	font-size: 1.1em;
}
@media screen and (max-width:1024px) {
	#main #post.recruitment .post-body ul.point li {
		width: 48%;
		margin: 0 0 20px;
	}
}
@media screen and (max-width:767px) {
	#main #post.recruitment .post-body ul.point li strong {
		font-size: 1.5em;
	}
	#main #post.recruitment .post-body table {
		border-bottom: 1px solid #ccc;
	}
	#main #post.recruitment .post-body th,
	#main #post.recruitment .post-body td {
		display: block;
		width: 100%;
		border-bottom: 0;
		text-align: left;
	}
	#main #post.recruitment .post-body th {
		padding: 5px 10px;
	}
	#main #post.recruitment .post-body td {
		padding: 10px 0 30px;
	}
	#main #post.recruitment .post-body td dd {
		margin-left: 1em;
	}
	#main #post.recruitment .post-body td dd + dt {
		border-top: 1px solid #ccc;
		margin: 15px 0 0;
		padding: 15px 0 0;
	}
	#main #post.recruitment .post-body .message .wp-block-image {
		margin-bottom: 20px;
	}
	#main #post.recruitment .post-body .message p {
		margin-left: 30px;
		margin-right: 30px;
	}
	#main #post.recruitment .post-body .philosophy {
		margin: 0 30px 40px;
	}
}
/* memorial
------------------------------------------------*/
#main #post.memorial .post-body img {
	max-width: 100%;
	height: auto;
}
#main #post.memorial .post-body .visual,
#main #post.memorial .post-body .space-plan {
	display: flex;
}
#main #post.memorial .post-body .visual img {
	width: 25%;
}
#main #post.memorial .post-body .space-plan {
	justify-content: space-between;
}
#main #post.memorial .post-body .space-plan div {
	width: 23%;
	text-align: center;
}
#main #post.memorial .post-body .localnav {
	margin-top: 0;
}
#main #post.memorial .post-body h2 span {
	display: block;
	letter-spacing: 0.1em;
	font-size: 0.6em;
	color: #7F1084;
}
#main #post.memorial .post-body .wide {
	gap: 0;
	background: #E7ECF8;
}
#main #post.memorial .post-body .wide .wp-block-colum {
	width: 50%;
}
#main #post.memorial .post-body .wide .wp-block-column h3,
#main #post.memorial .post-body .wide .wp-block-column p,
#main #post.memorial .post-body .wide .wp-block-column ul {
	margin-left: 50px;
    margin-right: 50px;
}
#main #post.memorial .post-body .point {
	list-style: none;
    margin: 0;
    padding: 1em 0 0;
    border-top: solid 1px #ccc;
}
#main #post.memorial .post-body .point li {
	border-bottom: solid 1px #ccc;
    margin: 0 0 1em;
    padding: 0 0 1em 30px;
    position: relative;
}
#main #post.memorial .post-body .point li::before {
	content: "";
    background: #bf90c1;
    border-radius: 50%;
    display: block;
    width: 12px;
    height: 12px;
    position: absolute;
    top: 0.6em;
    left: 0.6em;
}
#main #post.memorial .post-body .plan-wrap .wp-block-column {
	background: #EAF1F2;
	border-radius: 15px;
    padding: 0 20px;
}
#main #post.memorial .post-body .plan-wrap .wp-block-column h4 {
	margin-top: 30px;
	font-size: 1.2em;
}
#main #post.memorial .post-body .plan-wrap .wp-block-column p {
	font-size: 0.9em;
}
@media screen and (max-width:767px) {
	#main #post.memorial .post-body .visual,
	#main #post.memorial .post-body .space-plan {
		flex-wrap: wrap;
	}
	#main #post.memorial .post-body .visual img {
		width: 50%;
	}
	#main #post.memorial .post-body .space-plan div {
		width: 48%;
	}
	#main #post.memorial .post-body .wide .wp-block-column h3 {
		margin-top: 30px;
	}
	#main #post.memorial .post-body .wide .wp-block-column h3,
	#main #post.memorial .post-body .wide .wp-block-column p,
	#main #post.memorial .post-body .wide .wp-block-column ul {
		margin-left: 30px;
		margin-right: 30px;
	}
}