.hero_block.post_thumbnail {
	border-radius : 20px;
	position : relative;
	z-index : 10;
}
@media (min-width: 769px) {
	.hero_block.post_thumbnail {
		margin-left : auto;
		margin-right : auto;
		margin-top : -240px;
		width : 900px;
	}
}
@media (max-width: 768px) {
	.hero_block.post_thumbnail {
		margin-top : -80px;
		padding-left : 32px;
		padding-right : 32px;
	}
}
.hero_block img {
	aspect-ratio : 9/5;
	border : solid 5px #f8f6f3;
	border-radius : 20px;
	-o-object-fit : cover;
	   object-fit : cover;
	width : 100%;
}

.content_block {
	background-color : #ffffff;
	border : solid 1px #e8d9a9;
	-webkit-box-shadow : 2px 2px 6px 0 rgba(0, 0, 0, 0.2);
	        box-shadow : 2px 2px 6px 0 rgba(0, 0, 0, 0.2);
}
@media (min-width: 769px) {
	.content_block {
		border-radius : 22px;
		margin-left : auto;
		margin-right : auto;
		margin-top : -60px;
		padding : 75px;
		width : 975px;
	}
}
@media (max-width: 768px) {
	.content_block {
		border-radius : 16px;
		/*margin-left : 20px;*/
		/*margin-right : 20px;*/
		margin-top : -32px;
		padding : 24px;
	}
}
@media (min-width: 769px) {
	.content_block.pc_add_padding {
		padding : 75px 110px;
	}
}

.entry_header {
	color : #384d00;
	margin-top : 32px;
}
@media (max-width: 768px) {
	.entry_header {
		margin-top : 24px;
	}
}
.entry_header .entry_title {
	font-size : 2.4rem;
	font-weight : 500 !important;
	margin-bottom : 24px;
}
@media (max-width: 768px) {
	.entry_header .entry_title {
		font-size : 1.8rem;
	}
}
.entry_header .entry_title.shop_name {
	font-size : 3.4rem;
}
@media (max-width: 768px) {
	.entry_header .entry_title.shop_name {
		font-size : 2.4rem;
	}
}
.entry_header .entry_title.event_title {
	font-size : 3.4rem;
	margin-bottom : 32px;
}
@media (max-width: 768px) {
	.entry_header .entry_title.event_title {
		font-size : 2.4rem;
		margin-bottom : 24px;
	}
}
.entry_header .entry_meta {
	font-weight : 500;
}

.entry_content h2 {
	color : #384d00;
	font-size : 3.2rem !important;
	font-weight : 500 !important;
	line-height : 1.5;
	padding-bottom : 0.5em;
	padding-top : 0.5em;
}
@media (max-width: 768px) {
	.entry_content h2 {
		font-size : 2.4rem !important;
		margin-bottom : 20px;
	}
}
.entry_content h3 {
	font-size : 2.4rem;
	font-weight : 600 !important;
	line-height : 1.5;
	padding-bottom : 20px;
	padding-top : 20px;
}
@media (max-width: 768px) {
	.entry_content h3 {
		font-size : 1.8rem;
	}
}
.entry_content h4 {
	font-size : 1.8rem;
	font-weight : 600 !important;
	line-height : 1.5;
	padding-bottom : 18px;
	padding-top : 18px;
}
@media (max-width: 768px) {
	.entry_content h4 {
		font-size : 1.7rem;
	}
}
.entry_content p {
	margin-bottom : 2em;
	padding-left : 1em;
}
.entry_content figure {
	margin-bottom : 24px;
}
@media (max-width: 768px) {
	.entry_content figure {
		margin-bottom : 18px;
	}
}
.entry_content img {
	border-radius : 20px;
}

.entry_content figcaption {
	color: #555;
	font-size: 13px;
	text-align: center;
	margin-bottom: 1em;
  margin-top: .5em;
}

.entry_content_list h2 {
	background-color : #6d9403;
	border-radius : 30px;
	color : #ffffff;
	font-size : 1.8rem;
	font-weight : 600;
	line-height : 1.5;
	margin-bottom : 24px;
	padding : 18px 40px;
}
@media (max-width: 768px) {
	.entry_content_list h2 {
		border-radius : 28px;
		padding : 15px 20px;
	}
}
.entry_content_list dl {
	margin-bottom : 40px;
}
@media (min-width: 769px) {
	.entry_content_list dl {
		padding-left : 40px;
		padding-right : 40px;
	}
}
@media (min-width: 769px) {
	.entry_content_list dl > div {
		display : -webkit-box;
		display : -ms-flexbox;
		display : flex;
		-ms-flex-wrap : wrap;
		    flex-wrap : wrap;
		padding : 15px 20px;
	}
}
@media (min-width: 769px) {
	.entry_content_list dl > div:nth-child(odd) {
		background-color : #f8f6f3;
	}
}
.entry_content_list dl dt {
	font-weight : 600;
}
@media (min-width: 769px) {
	.entry_content_list dl dt {
		width : 196px;
	}
	.entry_content_list dl dt.width100per {
		background-color : #f8f6f3;
		padding : 15px 20px;
		width : 100%;
	}
}
@media (max-width: 768px) {
	.entry_content_list dl dt {
		background-color : #f8f6f3;
		padding : 15px 20px;
	}
}
.entry_content_list dl dd {
	overflow-wrap : anywhere;
}
@media (min-width: 769px) {
	.entry_content_list dl dd {
		width : calc(100% - 196px);
	}
	.entry_content_list dl dd.width100per {
		padding : 15px 20px;
		width : 100%;
	}
}
@media (max-width: 768px) {
	.entry_content_list dl dd {
		padding : 15px 20px;
	}
}
.entry_content_list dl dd a {
	color : inherit;
	text-decoration : underline;
}
.entry_content_list dl dd a:hover {
	text-decoration : none;
}

.post_nav {
	-webkit-box-pack : center;
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-ms-flex-pack : center;
	-ms-flex-wrap : wrap;
	    flex-wrap : wrap;
	justify-content : center;
	margin-top : 64px;
}
@media (max-width: 768px) {
	.post_nav {
		gap : 8px;
		margin-top : 32px;
		padding-left : 20px;
		padding-right : 20px;
	}
}
@media (max-width: 768px) {
	.post_nav > div {
		width : calc(50% - 8px);
	}
}
.post_nav .nav_prev a {
	background-image : url(../images/module/arrow_prev.svg);
	background-position : left 30px center;
	background-repeat : no-repeat;
}
@media (max-width: 768px) {
	.post_nav .nav_prev a {
		background-position : left 15px center;
	}
}
.post_nav .nav_next a {
	background-image : url(../images/module/arrow_next.svg);
	background-position : right 30px center;
	background-repeat : no-repeat;
}
@media (max-width: 768px) {
	.post_nav .nav_next a {
		background-position : right 15px center;
	}
}
@media (max-width: 768px) {
	.post_nav .nav_prev {
		-webkit-box-ordinal-group : 2;
		-ms-flex-order : 1;
		order : 1;
	}
	.post_nav .link_list {
		-webkit-box-ordinal-group : 4;
		-ms-flex-order : 3;
		order : 3;
		width : calc(100% - 8px);
	}
	.post_nav .nav_next {
		-webkit-box-ordinal-group : 3;
		-ms-flex-order : 2;
		order : 2;
	}
}
.post_nav a {
	border : solid 1px #999999;
	color : inherit;
	display : block;
	font-size : 1.4rem;
	text-align : center;
}
@media (min-width: 769px) {
	.post_nav a {
		border-radius : 30px;
		margin : 16px 6px;
		padding-bottom : 19px;
		padding-top : 18px;
		width : 225px;
	}
}
@media (max-width: 768px) {
	.post_nav a {
		border-radius : 27px;
		font-size : 1.2rem;
		padding : 16px 8px;
		width : 100%;
	}
}

@media (min-width: 769px) {
	main.single_page {
		background-image : url(../images/module/bg.svg);
		background-position : 50% 5%;
		background-repeat : repeat-y;
		padding-bottom : 70px;
	}
}
@media (max-width: 768px) {
	main.single_page {
		padding-bottom : 56px;
	}
}

main.page_basic .hero_block {
	background-color : rgb(255, 255, 255);
	border : solid 1px #e8d9a9;
	border-radius : 20px;
	-webkit-box-shadow : 2px 2px 6px 0 rgba(0, 0, 0, 0.2);
	        box-shadow : 2px 2px 6px 0 rgba(0, 0, 0, 0.2);
	position : relative;
	z-index : 10;
}
@media (min-width: 769px) {
	main.page_basic .hero_block {
		margin-left : auto;
		margin-right : auto;
		margin-top : -240px;
		padding : 50px 80px;
		padding : 75px 110px;
		width : 1050px;
	}
}
@media (max-width: 768px) {
	main.page_basic .hero_block {
		margin-left : 16px;
		margin-right : 16px;
		margin-top : -90px;
		padding : 20px;
	}
}
@media (min-width: 769px) {
	main.page_basic {
		background-image : url(../images/module/bg_opacity.svg);
		background-position : 50% 0;
		background-repeat : repeat-y;
		padding-bottom : 70px;
	}
}
@media (max-width: 768px) {
	main.page_basic {
		background-image : url(../images/module/bg_sp.svg);
		background-position : 50% 36%;
		background-repeat : repeat-y;
		padding-bottom : 56px;
	}
}

.page_body h2.form_heading {
	background-color : #7f50a3;
	border-radius : 30px;
	color : #ffffff;
	font-size : 1.8rem;
	font-weight : 600;
	line-height : 1.5;
	margin-bottom : 20px;
	margin-top : 40px;
	padding : 18px 40px;
}
@media (min-width: 769px) {
	.page_body h2.form_heading {
		text-align : center;
	}
}

.btn_large {
	background-color : #ffffff;
	border : solid 1px #999999;
	border-radius : 28px;
	color : #000000;
	cursor : pointer;
	display : block;
	font-size : 1.6rem;
	line-height : 1;
	margin-bottom : 8px;
	margin-left : auto;
	margin-right : auto;
	margin-top : 20px;
	padding : 20px 14px;
	text-align : center;
	width : 375px;
}
@media (max-width: 768px) {
	.btn_large {
		margin-bottom : 8px;
		padding : 14px 0;
		width : 100%;
	}
}

.form_content h2 {
	background-color : #7f50a3;
	border-radius : 30px;
	color : #ffffff;
	font-size : 1.8rem;
	font-weight : 600;
	line-height : 1.5;
	margin-bottom : 24px;
	padding : 18px 40px;
}
.form_content dl {
	margin-bottom : 40px;
}
@media (min-width: 769px) {
	.form_content dl {
		padding-left : 40px;
		padding-right : 40px;
	}
}
.form_content dl dt {
	background-color : #f8f6f3;
	font-weight : 600;
	line-height : 1.8;
	padding : 15px 20px;
}
.form_content dl dt span {
	background-color : #dc5a46;
	color : #ffffff;
	display : inline-block;
	font-size : 70%;
	line-height : 1;
	margin-left : 0.5em;
	padding : 4px 5px;
}
.form_content dl dd {
	line-height : 1.8;
	padding : 15px 20px;
}
.form_content dl dd div {
	margin-top : 16px;
}
.form_content dl dd ol {
	list-style-position : inside;
	padding-left : 1em;
}
.form_content dl dd ol li {
	padding-left : 1em;
	text-indent : -1em;
}
.form_content dl dd ol li + li {
	margin-top : 1em;
}
.form_content dl dd h3 {
	border-bottom : dotted 1px #999999;
	font-size : 1.5rem;
	font-weight : 600;
	margin-bottom : 1em;
	padding : 16px 0 8px;
}
.form_content dl dd .shop-type > span, .form_content dl dd .shop-checkpoint > span, .form_content dl dd .event-checkpoint > span {
	display : block;
	padding-left : 1em;
	text-indent : -1em;
}
.form_content dl dd .shop-checkpoint, .form_content dl dd .event-checkpoint {
	display : block;
	margin-top : 8px;
	padding-left : 1em;
}
.form_content input[type=text], .form_content input[type=tel], .form_content input[type=email], .form_content input[type=url], .form_content textarea {
	font-size : 1.5rem;
	padding : 8px;
	width : 100%;
}
.form_content input[type=date] {
	padding : 8px;
}
