@charset "utf-8";




/*
// heading / content
///////////////////////////////////////////////////////////////*/

.heading02-01{
	font-size: 2rem;
	font-weight: 900;
}
.heading02-02{
	font-size: 1.5rem;
	font-weight: 700;
}
.heading02-03{
	/* background-color: var(--c-accent);
	color: var(--c-white); */
	color: var(--c-accent);
	border: 2px solid var(--c-accent);
	border-radius: 0.5rem;
	padding: 2rem 0;
	text-align: center;
	line-height: 1;
	font-weight: 900;
}
.heading02-03 h2{
	font-size: 2rem;
}
.heading02-03 .sub{
	margin-top: 0.5rem;
}
.heading03-01 h3{
	position: relative;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1;
	margin-top: 2rem;
}
.heading03-01 h3::before{
	content: '';
	position: absolute;
	top: -2rem;
	left: 0;
	width: 4rem;
	height: 4px;
	background-color: var(--c-accent);
}
.heading04-01{
	font-size: 1.25rem;
	font-weight: 700;
}

@media all and (min-width:0px) and (max-width:960px) {
	.heading01{
		font-family: 'Caveat', cursive;
		font-size: 1.5rem;
	}
	.heading02{
		font-size: 1.75rem;
	}
	.heading03{
		font-size: 1.75rem;
		margin-bottom: 1rem;
	}
	.heading04{
		font-size: 1.5rem;
		margin-bottom: 2rem;
	}
	.heading05{
		font-size: 1.5rem;
		margin-bottom: 1rem;
	}
	.heading04::after,
	.heading05::after{
		width: 5rem;
		height: 2px;
	}

}



/*
// block
///////////////////////////////////////////////////////////////*/
.block{
	display: block;
}
.block + .block{
	margin-top: 1.5rem;
}



/*
// col
///////////////////////////////////////////////////////////////*/
.col{
	display: flex;
}

.col-activity01 .col__item-text{
	width: 100%;
}
.col-activity01 .col__item-text h4{
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 1rem;
}
.col-activity01 .col__item-image{
	width: calc(30% - 2rem);
	margin-left: 2rem;
	flex-shrink: 0;
}

@media all and (min-width:0px) and (max-width:960px) {

}
@media all and (min-width:1121px) {
	.col-article01 article{
		width: 100%;
	}
	.col-article01 aside{
		width: 30%;
		flex-shrink: 0;
		margin-left: 6rem;
	}
}

/*
// .thumbnail
///////////////////////////////////////////////////////////////*/

.thumbnail img{
	transition: 0.3s;
}
a:hover .thumbnail img{
	transform: scale(1.1) ;
}

/*
// .list
///////////////////////////////////////////////////////////////*/

/* slick */
.js-carousel01{
	visibility: hidden;
}
.js-carousel01.slick-initialized{
	visibility: visible;
 }

/* carousel */
.list-carousel01 li img{
	object-fit: cover;
	object-position: center center;
	aspect-ratio: 2/1;
	max-height: 30vw;
}

/* tile */
.list-tile01{
	display: flex;
	flex-wrap: wrap;
	margin: -0.5rem;
}
.list-tile01 .list__item{
	margin: 0.5rem;
	width: calc( (100% / 4) - 1rem );
}
.list-tile01 .list__item a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	aspect-ratio: 16/9;
	background-color: var(--c-main);
	border-radius: 0.5rem;
	transition: 0.3s;
	padding: 1rem;
}
.list-tile01 .list__item a span{
	font-weight: 700;
}
.list-tile01 .list__item a:hover{
	background-color: var(--c-accent);
	color: var(--c-white);
}

/* news */
.list-news01 .list__item + .list__item{
	margin-top: 1rem;
}
.list-news01 .list__item a{
	display: flex;
	align-items: center;
	margin: 0 -1rem;
}
.list-news01 .list__item a div{
	margin: 0 1rem;
}
.list-news01 .list__item a .date{
	letter-spacing: 0.1rem;
	color: var(--c-grayD);
}
.list-news01 .list__item a .cat span{
	font-size: 0.9rem;
	display: block;
	background-color: var(--c-accent);
	color: var(--c-white);
	font-weight: 700;
	line-height: 1;
	padding: 0.5rem 2rem;
	text-align: center;
}
.list-news01 .list__item a:hover .text{
	text-decoration: underline;
}

.list-news02 .list__item{
	border-bottom: 1px solid var(--c-main);
}
.list-news02 .list__item + .list__item{
	margin-top: 1rem;
}
.list-news02 .list__item a{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	padding: 1rem 0;
	margin: 0 -0.5rem;
	font-size: 0.9rem;
}
.list-news02 .list__item a div{
	margin: 0 0.5rem;
}
.list-news02 .list__item a .date{
	color: var(--c-gray);
	font-size: 0.8rem;
}
.list-news02 .list__item a .cat span{
	display: block;
	border: 1px solid var(--c-gray);
	color: var(--c-gray);
	font-weight: 700;
	line-height: 1;
	padding: 0.25rem 2rem;
	text-align: center;
}
.list-news02 .list__item a .text{
	width: 100%;
	margin-top: 0.5rem;
	font-weight: 700;
	font-size: 1rem;
}
.list-news02 .list__item a:hover .text{
	text-decoration: underline;
}

/* tag */
.list-tag01{
	display: flex;
	margin: -0.5rem;
}
.list-tag01 .list__item{
	margin: 0.5rem;
}
.list-tag01 .list__item span{
	display: block;
	line-height: 1;
	padding: 0.5rem;
	border: 1px solid var(--c-accent);
	color: var(--c-accent);
	border-radius: 0.5rem;
	font-size: 0.9rem;
}
.list-tag02{
	display: flex;
	margin: -0.5rem;
}
.list-tag02 .list__item{
	margin: 0.5rem;
}
.list-tag02 .list__item span{
	position: relative;
	display: block;
	line-height: 1;
	padding: 0.5rem 0.5rem 0.5rem 1.75rem;
	/* background-color: var(--c-gray);
	color: var(--c-white); */
	border: 1px solid var(--c-grayD);
	color: var(--c-grayD);
	border-radius: 0.5rem;
	font-size: 0.8rem;
	font-weight: 700;
}
.list-tag02 .list__item span::before{
	position: absolute;
	left: 0.5rem;
	top: 52%;
	transform: translateY(-50%);
	content: '';
	width: 0.9rem;
	height: 0.9rem;
	background-image: url('../images/icon_tag01.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.list-tag03{
	display: flex;
	margin: -0.5rem;
}
.list-tag03 .list__item{
	margin: 0.5rem;
}
.list-tag03 .list__item span{
	position: relative;
	display: block;
	line-height: 1;
	padding:0 0 0 0;
	color: var(--c-gray);
	border-radius: 0.5rem;
	font-size: 0.8rem;
	font-weight: 700;
}
.list-tag03 .list__item span::before{
	content : '#';
}

/* link */
.list-link01 .list__item a{
	position: relative;
	color: var(--c-accent);
	text-decoration: underline;
}
.list-link01 .list__item a[target=_blank]::after{
	position: absolute;
	right: -1.25rem;
	top: 50%;
	transform: translateY(-50%);
	content: '';
	width: 0.9rem;
	height: 0.9rem;
	margin-left: 0.5rem;
	background-image: url('../images/link-newtab01.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.list-link01 .list__item a:hover{
	text-decoration: none;
}



/*
// .anchor
///////////////////////////////////////////////////////////////*/

.anchor-01{
	background-color: var(--c-main);
	padding: 0.75rem 1rem;
	border-radius: 0.5rem;
	transition: 0.3s;
	top: 0;
}
.anchor-01.is-fixed{
	position: fixed;
	z-index: 100;
	top: 6rem;
	box-shadow: 3px 3px 0px rgba(0,0,0,0.2);
	width: 1080px;
}
.anchor-01 .list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -0.75rem;
}
.anchor-01 .list .list__item{
	margin: 0 0.75rem;
}
.anchor-01 .list .list__item a{
	color: var(--c-grayD);
	display: flex;
	align-items: center;
}
.anchor-01 .list .list__item a::after{
	content: '';
	width: 1rem;
	height: 1rem;
	margin-left: 0.5rem;
	background-image: url('../images/arrow-down-circle01.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
.anchor-01 .list .list__item a:hover{
	color: var(--c-accent);
}
.anchor-01 .list .list__item a:hover::after{
	background-image: url('../images/arrow-down-circle02.svg');
}



/*
// .table
///////////////////////////////////////////////////////////////*/

.table{
	width: 100%;
}
.table tr th,
.table tr td{
	padding: 1rem 0;
}

.table-01 tr{
	border-bottom: 1px solid var(--c-main);
}
.table-01 tr th{
	width: 15rem;
}

.table-02 tr{
	border-bottom: 1px solid var(--c-gray);
}
.table-02 tr th{
	width: 15rem;
}


/*
// link
///////////////////////////////////////////////////////////////*/

.link-01{
	text-decoration: underline;
	color: var(--c-accent);
}
.link-01:hover{
	text-decoration: none;
}



/*
// form
///////////////////////////////////////////////////////////////*/

.form__item + .form__item{
	margin-top: 1.5rem;
}
.form__item-contact01{
	display: flex;
	align-items: center;
}
.form__item-contact01 .label-primary{
	width: 15rem;
	font-weight: 700;
}
.form__item-contact01 .wpcf7-form-control-wrap{
	flex-grow: 1;
}
.form__item-contact01 .wpcf7-form-control-wrap input[type=text],
.form__item-contact01 .wpcf7-form-control-wrap input[type=tel],
.form__item-contact01 .wpcf7-form-control-wrap textarea,
.form__item-contact01 .wpcf7-form-control-wrap input[type=email]{
	width: 100%;
	background-color: var(--c-white);
	border: 1px solid var(--c-grayD);
	padding: 1rem;
	border-radius: 0.5rem;
}
.form__item-contact01 .wpcf7-form-control-wrap input[type=text]:placeholder-shown,
.form__item-contact01 .wpcf7-form-control-wrap input[type=tel]:placeholder-shown,
.form__item-contact01 .wpcf7-form-control-wrap textarea:placeholder-shown,
.form__item-contact01 .wpcf7-form-control-wrap input[type=email]:placeholder-shown{
	background-color: var(--c-main);
	border: none;
}
.form__item-contact01 .wpcf7-submit{
	background-color: var(--c-accent);
	color: var(--c-white);
	padding: 1rem 2rem;
	border-radius: 0.5rem;
}
.form__item-contact01 .wpcf7-radio{
	display: flex;
	margin: -1rem;
}
.form__item-contact01 .wpcf7-radio .wpcf7-list-item{
	margin: 1rem;
}
.form__item-contact01 .wpcf7-radio .wpcf7-list-item input{
	visibility: hidden;
	position: absolute;
}
.form__item-contact01 .wpcf7-radio .wpcf7-list-item input + span{
	position: relative;
	padding-left: 1.75rem;
}
.form__item-contact01 .wpcf7-radio .wpcf7-list-item input + span::before {
	content: '';
	position: absolute;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 50%;
	background-color: var(--c-accent);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.25;
	transition: 0.3s;
}
.form__item .wpcf7-radio .wpcf7-list-item input:checked + span{
	color: var(--c-accent);
	font-weight: 700;
}
.form__item-contact01 .wpcf7-radio .wpcf7-list-item input:checked + span::before {
	opacity : 1 ;
}

/* cf7 */
.wpcf7 .screen-reader-response{
	display: none;
}
.wpcf7 .screen-reader-response > ul{
	color: #e20000;
}
.wpcf7 form .wpcf7-response-output{
	padding: 1.5rem;
	border: none;
	margin: 0;
	margin-top: 2rem;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output{
	background-color: #ffd6d6;
}
.wpcf7 form.sent .wpcf7-response-output{
	background-color:var(--c-accentL);
}

.wpcf7-not-valid-tip{
	color: #e20000;
}


/*
// .filter
///////////////////////////////////////////////////////////////*/

.js-filter__bg{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	z-index: 1200;
}
.js-filter__content{
	position: fixed;
	top: 50%;
	left: 50%;
	width: 75vw;
	max-width: 960px;
	height: 75vh;
	transform: translate(-50%,-50%);
	background-color: var(--c-white);
	z-index: 1300;
	border-radius: 0.5rem;
	overflow: hidden;
}


/*
// .page-numbers
///////////////////////////////////////////////////////////////*/

.page-numbers{
	display: flex;
	justify-content: center;
	align-items: center;
}
.page-numbers li{
	margin: 0 0.75rem;
	font-weight: 900;
}
.page-numbers li span.current{
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
	background-color: var(--c-main);
	color: #fff;
	border-radius: 50%;
	display: block;
	text-align: center;
}
.page-numbers li a{
	color: var(--c-main);
}
.page-numbers li a.prev,
.page-numbers li a.next{
	color: var(--c-main-dark);
}
