@charset "UTF-8";

/* =======共通======= */
* {
	box-sizing: border-box;
}
body {
	line-height: 1.8;
	font-size: 16px;
	color: #333;
	font-family: 
		"Helvetica Neue",
		"Arial",
		"Hiragino Kaku Gothic ProN",
		"Hiragino Sans",
		"Meiryo",
		sans-serif;
	font-weight: bold;
	margin: 0;
}
a {
	text-decoration: none;
	color: inherit;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
ul {
	list-style: none;
	padding-inline-start: 1.5em;
}
.txt_c {
	text-align: center;
}
.flex_box {
	display: flex;
	justify-content: space-between;
}
section {
	margin: 3.5em 2em;
}
.sp {
	display: none;
}

/* 装飾/ライン */
.line01 {
	position: relative;
	font-size: 26px;
	text-align: center;
	border-bottom: 5px solid #dddddd;
}
.line01::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 5px;
	background-color: #539a35;
}
/* =======共通======= */


/* =======HEADER======= */
nav a:link,
nav a:visited {
	text-decoration: none;
}
header {
    max-width: 1440px;
    margin: 0 auto 1em;
}
header img{
	width: 70%;
	display: block;
	margin: 1rem auto 2rem;
}
.inner{
	width: 85%;
	max-width: 1440px;
	margin: 0 auto;
}
/* =======HEADER======= */


/* =======MAIN======= */
.wrapper1 {
	background: url(../img/bg_01.jpg);
	background-repeat: no-repeat;
	background-size: 105%;
	background-position: top;
	width: 100%;
	background-color: #f6faed;
}
.bk_white {
	background: #ffffffb3;
	margin: 0 auto;
	padding: 1em 1.5em;
	border-radius: 15px;
}
/* .bk_flex_box {
	width: 80%;
	margin: 0 auto;
} */
.bk_flex_box section {
	margin: 0 0 4em;
}
.box-shadow section{
	box-shadow: 8px 8px 13px -12px;
	margin-bottom: 3em;
}
.image01 {
	width: 100%;
}
.outline {
	display: inline-block;
	letter-spacing: 2px;
	margin: 0 0 .5rem;
	font-size: 1.7rem;
	line-height: 1.5;
}
.txt_orange {
	color: #ef8200;
	font-size: 3rem;
}

/* 見出し */
.heading01  {
	position: relative;
	font-size: 1.3rem;
	padding: 0.3em ;
	background: #fff000;
	width: 64%;
	margin: 1.5rem auto 0;
	border-radius: 20px;
	margin-bottom: 16px;
	color: #333;
}
.heading01:before {
	position: absolute;
	top: -5px;
	left: -5px;
	width: 100%;
	height: 100%;
	content: '';
	border: 2px solid #707070;
	border-radius: 20px;
	box-shadow: 6px 6px 9px -9px #333;
}
/* .heading01 {
	margin: 0 auto 1em;
	color: #ED6C00;
	border-radius: 45px;
	border: 2.5px solid #ED6C00;
	width: 8.5em;
	font-size: 25px;
	text-align-last: justify;
  padding: 0.5em;
} */
.heading02 {
	display: inline;
	font-size: 26px;
	background-image: linear-gradient(#00000000 70%, #fcdd51 70%);
}

/* ボタン */
.btn_set{
  vertical-align:middle; 
  text-align: center;
}
.btn_06 {
	display: inline-block;
  width: 300px;
  line-height: 60px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #ea6da4;
  box-shadow: 0px 5px 0px #a02258;
	border: solid .8px #a02258;
  transition: .07s;
  border-radius: 100vh;
}
.btn_06:hover {
	box-shadow: unset;
  transform: translateY(4px);
}
.btn_06 .text{
  width: 100%;
  display: block;
  position: relative;
}
.btn_06 .text::after {
	content: url(../img/arrow_right.png);
  color: #fff;
  position: absolute;
  right: 1em;
  top: 52%;
  transform: translate(-50%, -50%);
}
/* .button007 {
    margin: 2em 0 1.5em;
	margin-bottom: 0.2em;
} */
/* .button007 img {
	width: 20px;
} */
/* .button007 a {
    background: #edf6ff;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 250px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: bold;
	border-radius: 5px;
	border: 1px solid #2673e3;
} */
/* .button007 a:before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: -1em;
    transform: translateY(calc(-50% - 2px)) rotate(30deg);
    width: 12px;
    height: 2px;
    background-color: #6bb6ff;
    transition: 0.3s;
} */
/* .button007 a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: -1em;
    transform: translateY(-50%);
    width: 40px;
    height: 2px;
    background-color: #6bb6ff;
    transition: 0.3s;
} */
/* .button007 a:hover:before, .button007 a:hover:after {
    right: -0.5em;
} */
/* .button007 a:hover {
    background: #edf6ff;
    color: #191a1b;
} */

/* ブースホバーアニメーション */
/* .booth_hover a:hover {
	opacity: 0.5;
} */
/* .booth_hover a {
	border-bottom: 1px solid #2b2b2b;
} */

/* 場所・日時 */
section.box_left {
	width: 49%;
}
.box_left .read{
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* 地図 */
.place {
	width: 49%;
}
.place .image01{
	width: 85%;
	margin: 0 auto;
}
/* .place img {
	border: 1px solid #a8a8a8;
	border-radius: 15px;
} */

/* イベント内容 */
/* イベント情報table*/
table {
	border-collapse: collapse;  /* セルの線を重ねる */
	margin: 0 auto;
}
th {
	padding: 10px 10px;          /* 余白指定 */
}
th {
	background-color: #539a35;  /* 背景色指定 */
	color:  #fff;               /* 文字色指定 */
	font-size: 1.5rem;
	font-weight:  normal;       /* 文字の太さ指定 */
	position:  relative;        /* 位置指定 */
	z-index: 10;                /* 重なり調整 */
	border-radius: 5px;
}
td {
	background-color:  #f3ffee; /* 背景色指定 */
	text-align: center;
	border-radius: 5px;
	background-size: 40px 40px;
	background: repeating-linear-gradient( 45deg, #fff, #fff 2px, #f3ffee 10px, #f3ffee 50px ); /* 内容背景 */
	padding: 16px 15px 24px
}
.t_line{
	display: block;
	width: 94%;
	margin: 0 auto;
}
tr {
	display: grid;
	margin-bottom: 4%;
	/* border-bottom:  solid #fff;  */
}
/* .heading02.deadline {
	letter-spacing: 0;
} */

/* 注意事項ボックス */
/* .chuijiko_box {
	display: inline-block;
	text-align: left;
} */
/* .chuijiko_box img {
	width: 30px;
} */
/* .chuijiko_li li {
	padding-left: 30px;
	text-indent: -30px;
} */

/* イベント　内容 */
.contents_flex{
	display: flex; 
	flex-wrap:wrap; 
	justify-content:center;
	align-items: center;
}
.nopicturelayout{
	width: 47%;
	max-width: 380px;
	min-width: 330px;
	padding: 14px 8px;
	background-color: #ffffffbf;
	border-radius: 20px;
	margin:8px;
	text-align: center;
	box-shadow: 6px 6px 13px -11px #333;
	font-size: 1.1em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	aspect-ratio: 1/1.2;
}
.nopicturelayout li:nth-child(1){
	height: 12%;
	line-height: 1.2;
	display: flex;
  justify-content: center;
  align-items: center;
}
.nopicturelayout li:nth-child(2){
	font-size: .9rem;
}
.nopicturelayout li img{
	margin: 1rem 0;
}
.nopicturelayout li img{
	width: 80%;
	box-shadow: 1px 1px 4px 1px #33334478;
	border-radius: .8rem;
}
.lo_red{
	color: #eb6d80;
	border: double 8px #eb6d80;
}
.lo_red02{
	color: #a12323;
	border: double 8px #a12323;
}
.lo_blue{
	color: #4593d0;
	border: double 8px #4593d0;
}
.lo_blue02{
	color: #02bfd8;
	border: double 8px #02bfd8;
}
.lo_orange{
	color: #ef8200;
	border: double 8px #ef8200;
}
.lo_green{
	color: #00aca8;
	border: double 8px #00aca8;
}
.lo_green02{
	color: #068b51;
	border: double 8px #068b51;
}
.lo_purple{
	color: #c288e4;
	border: double 8px #c288e4;
}

.caption{
	font-size: .8rem;
	font-weight: bold;
	text-align: center;
	opacity: 0.7;
	line-height: 1.5;
}
.caption a{
	font-size: 15px;
	color: rgb(243, 71, 71);
	padding-top: 5px;
	text-decoration: underline;
	letter-spacing: 3px;
}
.caption a:hover{
	opacity: 0.7;
}

/* 過去の様子 */
.imghead{
	display: flex;
	justify-content: space-evenly;
}
.imghead img{
	border-radius: 10px;
}

/* 申込み・規約 */
span.heading02 {
	font-size: 20px;
	letter-spacing: 0.7px;
}
/* .dead_line {
	background-image: linear-gradient(rgba(0,0,0,0) 70%, rgb(252, 221, 81) 70%);
	display: inline-block;
} */
.nkngo_btn{
	padding-top: 0;
}
.kiyaku{
	text-align: left;
}
.kiyaku p{
	font-size: 1.2rem;
	padding-inline-start: .8em;
}
.kiyaku ul{
	list-style: circle; 
	margin-bottom: 1rem;
}
/* イベント情報のCSS　ここまで*/

/* ============================
* FOOTER
* ========================= */
footer {
	color: #fff;
	font-weight: lighter;
	/* padding: 0.5em 0; */
	letter-spacing: 0.6px;
}
footer p {
	margin: 0;
	padding: 0.5em 0;
	font-size: 14px;
	background: #539a35;
}
.inf_syusai {
	display: flex;
    justify-content: center;
    margin: 0 auto;
    width: 80%;
}
.inf_syusai dt {
	white-space: nowrap;
}
.inf_syusai dd {
	margin-left: 0;
	text-align: left;
}
.syusai_bg {
	background: #70af58;
}


/* スマホ版 CSS */
@media screen and (max-width: 820px){
	/* 共通 */
	body {
		font-size: 14px;
	}
	.inner{
		width: 95%;
	}
	table td {
		text-align: center;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.sp_box {
		display: block;
		width: 100%;
	}
	.outline,
	.heading01{
		font-size: 18px;
	}
	.heading02 {
		font-size: 18px;
	}
	.txt_orange {
		font-size: 17px;
	}

	header img{
		width: 90%;
	}

	/* イベント内容 */
	.box_left {
		margin-right: 0;
	}
	.bk_flex_box section {
    margin: 0 auto 2em;
	}
	section.box_left{
		width: 98%;
	}
	.bk_white {
		width: 98%;
		padding: 1em 1em;
	}
	.image01 {
		/* width: 330px; */
		width: 100%;
	}
	.btn_06 {
		width: 65%;
		min-width: 200px;
		line-height: 50px;
	}
	dl.inf_syusai {
		padding: 0.5em;
	}
	table tr {
    display: grid;
	}
	td {
		padding: 1.5em .5em;
	}
	th::after {
		position: initial;
	}
	.inf_syusai {
		font-size: 15px;
		width: 95%;
	}
	li{
		font-size: clamp(0.813rem, 0.573rem + 1.2vw, 1.188rem);
	}
	li.caption{
		font-size: 14px;
	}
	.nopicturelayout{
		width: 100%;
		min-width: 0;
		margin: 8px 0;
		padding: 16px 8px;
		aspect-ratio: 1/1.3;
	}

	/* 過去の様子 */
	.imghead{
		display: block;
		padding: 1.5em 2em;
	}
	.heading03 img{
		margin-bottom: .8rem;
		max-width: 480px;
	}
	.contents_flex{
		flex-wrap:wrap; 
	}

	/* 申込み・規約 */
	.kiyaku p{
		padding-inline-start: 0;
	}
}