@charset "utf-8";
/* CSS Document */

ul, ol {
  list-style-type: none;
}

section h2.contentsHd dl{
	position: relative;
	padding-left: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px 0;
}
section h2.contentsHd dl::before{
    content: '';
    background: url("../image/common/hdIcon01.svg") 0 center / contain no-repeat;
    width: 7px;
    height: auto;
    aspect-ratio: 7 / 49;
    position: absolute;
    top: 6px;
    left: 0;
}
section h2.contentsHd dl dt{
	font-size: 30px;
	color: #85c61e;
	font-weight: 700;
	line-height: 100%;
	display: flex;
	align-items: flex-start;
}
section h2.contentsHd dl dd{
	font-size: 18px;
	color: #333;
	font-weight: 700;
	line-height: 100%;
}

/*-----------------------------------------------------------*/

section#firstcolumns{
	position: relative;
}
section#firstcolumns::before{
    content: '';
    background: url("../image/top/mainBgSmh.webp") 0 center / contain no-repeat;
    width: 100%;
    height: auto;
    aspect-ratio: 721 / 599;
    position: absolute;
    top: 0;
    left: 0;
	z-index: -1;
}

section#firstcolumns > .inner{
	width: 100%;
	margin: 0 auto 0;
	padding: 23px 0 0;
}

/*メインコンテンツ*/
section#firstcolumns > .inner .contents{
	width: calc( 100% - 20px );
	margin: 0 auto;
}
section#firstcolumns .mainSlider{
	opacity: 0;
	transition: opacity .3s ease;
}
section#firstcolumns .mainSlider.slick-initialized{
	opacity: 1;
}
section#firstcolumns .mainSlider img{
	width: 100%;
	height: auto;
}
.mainSlider .slick-arrow{
	width: 24px;
    height: auto;
	background: url("../image/top/slideArrow.webp") 0 center / contain no-repeat !important;
	aspect-ratio: 1 / 1;
	z-index: 3;
    color: transparent;
}
.mainSlider .slick-arrow.slick-prev{
	left: -4px;
}
.mainSlider .slick-arrow.slick-next{
	transform: scale(-1, 1) translate(0, -50%);
	right: -4px;
}
.mainSlider .slick-arrow::before{
	content: none;
}
.mainSlider .slick-arrow:hover{
	color: inherit;
}
.mainSlider ul.slick-dots{
	bottom: -18px;
}
.slick-dots li {
    width: 8px !important;
    height: 8px !important;
    margin: 0 5px !important;
}
.mainSlider ul.slick-dots li button{
	width: 100%;
	height: 100%;
	border: 1px solid #f28e1e;
	box-sizing: border-box;
	background-color: #fff;
	background: #fff;
	border-radius: 30px;
	opacity: 1.0;
}
.mainSlider ul.slick-dots li.slick-active button{
	background: #f28e1e;
}
.mainSlider ul.slick-dots li button::before{
	content: none;
}

/*お知らせ*/
section#firstcolumns .contents > .news{
	width: calc( 100% - 60px );
	margin: 87px auto 0;
}
.news .leftBlock{
	position: relative;
}
.news .leftBlock::before{
    content: '';
    background: url("../image/top/parts01.webp") 0 center / contain no-repeat;
    width: 42px;
    height: auto;
    aspect-ratio: 42 / 61;
    position: absolute;
    top: 0;
    left: 100px;
}

.news .leftBlock .tolink{
	width: 109px;
	height: 30px;
	margin-left: 20px;
	position: absolute;
	top: 15px;
	right: 0;
}

.news .posts{
	margin-top: 9px;
	display: flex;
	flex-direction: column;
}
.news .posts > a.post{
	display: block;
	width: 100%;
	height: 100%;
	border-bottom: 1px solid #c7c7c7;
	box-sizing: border-box;
	padding: 13px 0;
	position: relative;
}
.news .posts > a.post::before{
    content: '';
    background: url("../image/common/utilityIcon05.svg") 0 center / contain no-repeat;
    width: 7px;
    height: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0;
	bottom: 0;
	margin: auto;
    right: 14px;	
}
.news .posts a.post dl dt{
	display: flex;
	align-items: center;
	gap: 0 10px;
}
.news .posts a.post dl dt .date{
	color: #666;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.news .posts a.post dl dt .cat{
	min-width: 67px;
	height: 18px;
	border-radius: 3px;
	font-size: 12px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.05em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.news .posts a.post dl dt .cat.event{
	background-color: #f28e1e;
}
.news .posts a.post dl dt .cat.news, .news .posts a.post dl dt .cat.info{
	background-color: #85c61e;
}
.news .posts a.post dl dd{
	margin-top: 5px;
	padding-right: 32px;
}
.news .posts a.post dl dd .title-pc {
	display: none;
}

/*交流会イベント*/
section#firstcolumns .events{
	width: calc( 100% - 60px );
	margin: 68px auto 0;
	position: relative;
}
section#firstcolumns .events::before{
    content: '';
    background: url("../image/top/parts02.webp") 0 center / contain no-repeat;
    width: 125px;
    height: auto;
    aspect-ratio: 125 / 49;
    position: absolute;
    top: -23px;
    right: 13px;
}

section#firstcolumns .events .posts{
	margin-top: 20px;
	display: flex;
	flex-wrap: wrap;
	gap: 14px 8px;
}
.events .posts a.post{
	width: calc((100% - 8px) / 2);
	border: 1px solid #85c61e;
	box-sizing: border-box;
	box-shadow: 0px 0px 5px 0px rgba(166,209,120,0.75);
	border-radius: 7px;
	background-color: #fff;
	position: relative;
}
.events .posts a.post:nth-child(n+5){
	display: none;
}

.events .posts a.post::before{
    content: '';
    background: url("../image/common/utilityIcon05.svg") 0 center / contain no-repeat;
    width: 7px;
    height: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
    bottom: 11px;
    right: 10px;
}
.events .posts a.post .wrap{
	padding: 5px 5px 11px;
}
.events .posts a.post .wrap .thumb img{
	width: 100%;
	height: auto;
	aspect-ratio: 229 / 154;
	object-fit: cover;
}
.events .posts a.post .wrap .midashi{
	margin-top: 5px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 138.5%;
}
.events .posts a.post .wrap > dl{
	display: flex;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.events .posts a.post .wrap > dl.date{
	margin-top: 10px;
}
.events .posts a.post .wrap > dl.date dd span.date-year{
	display: none;
}
.events .tolink{
	width: 141px;
	height: 39px;
	margin: 15px auto 0;
}
.events .tolink a{
	border-radius: 19px;
}

/*-----------------------------------------------------------*/
/*サイドバー*/
section#firstcolumns > .inner .siddebar{
	display: none;
}

/*-----------------------------------------------------------*/
/*イベント検索*/

section#search{
	position: relative;
}
section#search:before{
    content: '';
    background: url("../image/top/bg01smh.webp") 0 center / contain no-repeat;
    width: 100%;
    height: auto;
    aspect-ratio: 721 / 548;
    position: absolute;
    top: 23px;
    left: 0;
	z-index: -1;
}

section#search h2.contentsHd {
	width: calc( 100% - 60px );
	margin: 60px auto 0;
}
section#search h2.contentsHd dl::after{
    content: '';
    background: url("../image/top/parts03.webp") 0 center / contain no-repeat;
    width: 55px;
    height: auto;
    aspect-ratio: 55 / 80;
    position: absolute;
    top: -18px;
    right: 14px;
}

section#search > .inner{
	width: calc( 100% - 60px );
	margin: 35px auto 0;
	border: 2px solid #8cb74f;
	border-radius: 10px;
	box-sizing: border-box;
	background-color: #fff;
	padding: 18px 15px 28px;
}

section#search .inner > .txts{
	font-size: 13px;
	letter-spacing: 0.03em;
	line-height: 157.7%;
}

section#search .inner > .wrap{
	margin-top: 18px;
}
section#search h3.searchHd{
	font-size: 15px;
	font-weight: 700;
	color: #333;
	padding-left: 22px;
	position: relative;
}
section#search h3.searchHd:before{
	content: '';
	width: 14px;
	height: 14px;
	border-radius: 30px;
	background-color: #ffb666;
	position: absolute;
	top: 5px;
	left: 0;
}

/*開催地域*/
section#search .maps{
	width: 100%;
	margin: -10px auto 0;
}

/*その他共通*/
section#search .others .column{
	margin-top: 25px;
}
section#search .column:not(.list) > .inn{
	width: calc( 100% - 15px );
	margin-top: 10px;
	margin-left: 15px;
}
section#search .column.list > .inn{
	width: 100%;
	margin-top: 10px;
}

/*キーワード検索*/
section#search .column.keyword form{
	display: flex;
	align-items: center;
	gap: 0 7px;
	position: relative;
}
section#search .column.keyword form input[type="text"]{
	width: 100%;
	height: 35px;
	border: 1px solid #b0c4cc;
	background-color: #f5f7f7;
	border-radius: 5px;
	padding: 0 10px;
}
section#search .column.keyword form input[type="image"]{
	width: 80px;
	height: 35px;
}

/*開催日検索*/
section#search .column.dates form{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 5px;
	position: relative;
	padding-bottom: 45px;
}
section#search .column.dates form select{
	height: 35px;
	border: 1px solid #b0c4cc;
	background-color: #fff;
	border-radius: 5px;
	padding: 0 19px 0 7px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
    background: url("../image/top/search05.webp") right 14px / 13px 7px no-repeat;
}
/* IE対応（古い環境向け） */
section#search .column.dates form select::-ms-expand {
	display: none;
}
section#search .column.dates form input[type="image"]{
	width: 80px;
	height: 35px;
	position: absolute;
	bottom: 0;
	right: 0;
}

/*内容検索*/
section#search .column.list {
	margin-top: 5px;
}
section#search .column.list ul.categories{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 7px 8px;
}
section#search .column.list ul.categories li{
	width: 100%;
	height: 44px;
}
section#search .column.list ul.categories li a{
	width: 100%;
	height: 100%;
	padding-left: 13px;
	display: flex;
	align-items: center;
	background-color: #fff;
	border-radius: 11px;
	box-shadow: 0px 0px 5px 0px rgba(116,184,209,0.55);
	font-size: 13px;
	color: #000;
	font-weight: 500;
	line-height: 115.38%;
	letter-spacing: -0.05em;
	position: relative;
}
section#search .column.list ul.categories li a::before{
    content: '';
    background: url("../image/common/utilityIcon05.svg") 0 center / contain no-repeat;
    width: 7px;
    height: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0;
	bottom: 0;
	margin: auto;
    right: 10px;
}

/*-----------------------------------------------------------*/
/*instagram*/
section#instagram{
	width: calc( 100% - 60px );
	margin: 48px auto 0;
	position: relative;
}
section#instagram h2.instaHd{
	font-size: 19px;
	font-weight: 500;
	letter-spacing: 0.2em;
	position: relative;
	display: flex;
	gap: 0 18px;
}
section#instagram h2.instaHd::before{
	content: '';
	display: inline-block;
    background: url("../image/top/icon_insta.webp") 0 center / contain no-repeat;
	width: 28px;
    height: auto;
    aspect-ratio: 1 / 1;
}

section#instagram .accountTxt{
	position: absolute;
	top: -25px;
	right: 0;
}
section#instagram .accountTxt dl{
}
section#instagram .accountTxt dl dt{
	font-size: 13px;
	color: #000;
	font-weight: 500;
	text-align: center;
}
section#instagram .accountTxt dl dd{
	margin-top: 8px;
	color: #000;
	font-weight: 500;
	width: 94px;
	height: 26px;
}
section#instagram .accountTxt dl dd a{
	width: 100%;
	height: 100%;
	background-color: #e4ebef;
	border-radius: 11px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	color: #000;
}

section#instagram .inner{
	margin: 15px auto 0;
}
section#instagram .inner ul{
	display: flex;
	flex-wrap: wrap;
	gap: 2px;
}
section#instagram .inner ul li{
	width: calc((100% - 2px) / 2);
}
section#instagram .inner ul li:nth-child(n+7){
	display: none;
}

/*-----------------------------------------------------------*/
/*blogs*/

section#blogs{
	width: calc( 100% - 60px );
	margin: 62px auto 0;
	position: relative;
}
section#blogs .leftBlock{
	position: relative;
}
section#blogs .leftBlock::before{
    content: '';
    background: url("../image/top/parts04.webp") 0 center / contain no-repeat;
    width: 59px;
    height: auto;
    aspect-ratio: 59 / 57;
    position: absolute;
    top: 0;
    left: 118px;
}

section#blogs .leftBlock .tolink{
	width: 109px;
	height: 30px;
	margin-left: 20px;
	position: absolute;
	top: 15px;
	right: 0;
}

section#blogs .posts{
	margin-top: 9px;
	display: flex;
	flex-direction: column;
}
section#blogs .posts > a.post{
	display: block;
	width: 100%;
	height: 100%;
	border-bottom: 1px solid #c7c7c7;
	box-sizing: border-box;
	padding: 13px 0;
	position: relative;
}
section#blogs .posts > a.post::before{
    content: '';
    background: url("../image/common/utilityIcon05.svg") 0 center / contain no-repeat;
    width: 7px;
    height: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0;
	bottom: 0;
	margin: auto;
    right: 14px;	
}
section#blogs .posts a.post dl dt{
	display: flex;
	align-items: center;
	gap: 0 10px;
}
section#blogs .posts a.post dl dt .date{
	color: #666;
	font-weight: 500;
	letter-spacing: 0.05em;
}
section#blogs .posts a.post dl dd{
	margin-top: 5px;
	padding-right: 32px;
}

/*-----------------------------------------------------------*/
/*活動*/

section#activity{
	margin: 77px auto 0;
	position: relative;
}
section#activity::before{
	content: '';
	width: 100%;
	height: auto;
	aspect-ratio: 720 / 804;
	background-color: #fffbee;
	position: absolute;
	top: 130px;
	left: 0;
	z-index: -1;
}

section#activity h2.contentsHd{
	width: calc( 100% - 60px );
	margin: 0 auto;
	position: relative;
}
section#activity h2.contentsHd::before{
	content: '';
    background: url("../image/top/parts05.webp") right center / contain no-repeat;
	width: 200px;
	height: auto;
	aspect-ratio: 200 / 73;
	position: absolute;
	top: -30px;
	right: 0;
	z-index: -2;
}

section#activity > .inner{
	width: calc( 100% - 60px );
	margin: 25px auto;
}
section#activity .midBnrs{
	display: flex;
	flex-wrap: wrap;
	gap: 18px 20px; 
}
section#activity .midBnrs > a{
	width: calc((100% - 20px) / 2);
	height: 150px;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 0px 0px 5px 0px rgba(116,184,209,0.45);
}
section#activity .midBnrs > a dl{
	height: 100%;
	background-color: #fff;
	display: grid;
}        
section#activity .midBnrs > a dl dt img{
	width: 100%;
	height: auto;
    aspect-ratio: 277 / 163;
}
section#activity .midBnrs > a dl dd{
	padding: 0 15px;
	font-size: 13px;
	font-weight: 700;
	color: #286807;
	letter-spacing: 0.05em;
	position: relative;
}
section#activity .midBnrs > a dl dd::before{
    content: '';
    background: url("../image/common/megaIconArrow.svg") 0 center / contain no-repeat;
    width: 7px;
    height: auto;
    aspect-ratio: 1 / 1;
    position: absolute;
    bottom: 9px;
    right: 11px;	
}

section#activity .lowBnrs{
	margin: 60px auto 0;
	display: flex;
	flex-direction: column;
	gap: 16px 0;
}
section#activity .lowBnrs a img{
	filter: drop-shadow(0 0 5px rgba(116,184,209,0.45));
}

/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/
/*-----------------------------------------------------------*/

