@charset "utf-8";


/*
// html
///////////////////////////////////////////////////////////////*/
html{
	font-size: 16px;
}
@media all and (min-width:0px) and (max-width:960px) {
	html{
		font-size: 3.8vw;
	}
}

/*
// body
///////////////////////////////////////////////////////////////*/
body{
	font-family: 'Work Sans', 'Noto Sans JP',  sans-serif;
	color: var(--c-text);
	line-height: 1.8;
}
@media all and (min-width:0px) and (max-width:960px) {
}

/*
// wrap
///////////////////////////////////////////////////////////////*/
.wrap{
	width: 1080px;
	height: auto;
	margin: 0 auto;
}
.wrap.wrap-full{
	width: 100%;
	padding: 0;
	overflow-x: hidden;
}
@media all and (min-width:0px) and (max-width:960px) {
	.wrap{
		width: 100%;
		padding: 0 6vw;
	}
}
@media all and (min-width:961px) and (max-width:1120px) {
	.wrap{
		width: 92%;
		padding: 0 6vw;
	}
}


/*
// header
///////////////////////////////////////////////////////////////*/
header{
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 7rem;
	color: var(--c-text);
	background-color: var(--c-white);
	z-index: 1000;
	transition: 0.3s;
	line-height: 1.25;
}
header .col-header01{
	width: 100%;
	height: 100%;
	padding: 0;
	justify-content: space-between;
}
header .col-header01 .col__item.title .heading01 h1 a{
	display: block;
	padding: 1.5rem;
	height: 7rem;
}
header .col-header01 .col__item.title .heading01 h1 a img{
	height: 100%;
	width: auto;
}
header.is-scrolled{
	height: 5rem;
	border-bottom: 1px solid var(--c-gray);
}
header.is-scrolled .col-header01 .col__item.title .heading01 h1 a{
	height: 5rem;
	padding: 1rem;
}
@media all and (min-width:0px) and (max-width:960px) {
	header{
		height: 4rem;
		line-height: 4rem;
	}
	header .wrap{
		text-align: left;
		padding-left: 1rem;
	}
}


/*
// nav
///////////////////////////////////////////////////////////////*/
.list-gnav01{
	display: flex;
	height: 100%;
}
.list-gnav01 .list__item{
	height: 100%;
}
.list-gnav01 .list__item .parent{
	height: 100%;
}
.list-gnav01 .list__item .parent a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 1rem;
	height: 100%;
}
.list-gnav01 .list__item .parent a span{
	font-weight: 700;
}
.list-gnav01 .list__item.arrow .parent a{
	padding-right: 2.5rem;
}
.list-gnav01 .list__item .parent a::before{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 0;
	height: 4px;
	content: '';
	background-color: var(--c-accent);
	transition: 0.3s;
}
.list-gnav01 .list__item.arrow .parent a::after{
	position: absolute;
	top: 50%;
	right: 1rem;
	width: 1rem;
	height: 1rem;
	transform: translateY(-50%);
	content: '';
	background-image: url('../images/arrow01.svg');
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
}
.list-gnav01 .list__item.contact .parent a{
	padding: 0 1.5rem;
	background-color: var(--c-accent);
	color: var(--c-white);
	margin-left: 1rem;
}
.list-gnav01 .list__item:hover .parent a{
	color: var(--c-accent);
}
.list-gnav01 .list__item:hover .parent a::before{
	width: 100%;
}
.list-gnav01 .list__item .child{
	display: none;
	position: absolute;
	width: 100%;
	left: 0;
	background-color: var(--c-accentL);
	padding: 4rem 0;
	border-bottom: 1px solid var(--c-grayD);
}
.list-gnav01 .list__item .child .col__item.heading{
	font-weight: 900;
	width: 10rem;
	flex-shrink: 0;
	margin-right: 2rem;
}
.list-gnav01 .list__item .child .col__item.content{
	width: 100%;
}
.list-gnav01 .list__item .child .col__item.content .list{
	margin: -0.5rem;
	display: flex;
	flex-wrap: wrap;
}
.list-gnav01 .list__item .child .col__item.content .list .list__item{
	margin: 0.5rem;
	width: calc( (100% / 4) - 1rem );
}
.list-gnav01 .list__item .child .col__item.content .list .list__item a{
	display: flex;
    align-items: center;
    padding-left: 0;
	font-weight: 700;
}
.list-gnav01 .list__item .child .col__item.content .list .list__item a::before{
    content: '';
    position: relative;
    width: 0.75rem;
    height: 0.75rem;
    background-image: url(../images/arrow-right-normal01.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
	margin-right: 0.5rem;
}
.list-gnav01 .list__item .child .col__item.content .list .list__item a:hover{
	color: var(--c-accent);
	text-decoration: underline;
}


/*
// main
///////////////////////////////////////////////////////////////*/
main{
	margin-top: 7rem;
	padding-top: 4rem;
}
.main-pdt0{
	padding-top: 0;
}
@media all and (min-width:0px) and (max-width:960px) {
	main{
		margin-top: 4rem;
	}
}




/*
// hbgButton
///////////////////////////////////////////////////////////////*/
.hbgButton{
	position: fixed;
	right: 0;
	top: 0;
	display: flex;
	width: 5rem;
	height: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2000;
	font-size: 2rem;
}
.hbgButton.is-open .hbgButton-open,
.hbgButton.is-close .hbgButton-close{
	display: none;
}
.hbgButton.is-open .hbgButton-close,
.hbgButton.is-close .hbgButton-open{
	display: block;
}
@media all and (min-width:0px) and (max-width:960px) {
	.hbgButton{
		position: fixed;
		right: 0;
		top: 0;
		display: flex;
		width: 4rem;
		height: 4rem;
		font-size: 1.5rem;
	}
}

/*
// hbgContent
///////////////////////////////////////////////////////////////*/
.hbgContent{
	position: fixed;
	width: 100%;
	top: 5rem;
	left: 0;
	padding: 4vw;
	background-color: var(--c-main);
	text-align: left;
	line-height: 1.5;
}
.hbgContent a{
	color: #fff;
}
.hbgContent .content.secondary{
	margin-top: 2rem;
}
@media all and (min-width:0px) and (max-width:960px) {
	.hbgContent{
		top: 4rem;
		padding: 6vw;
	}
}


/*
// section
///////////////////////////////////////////////////////////////*/
.section{
	position: relative;
}
section.section + section{
	padding: 3rem  0;
}
.section__heading + .section__content{
	margin-top: 2rem;
}
@media all and (min-width:0px) and (max-width:960px) {
}


/*
// #HomeCarousel
///////////////////////////////////////////////////////////////*/

#HomeCarousel{
	padding-top: 0;
}



/*
// HomeWanted
///////////////////////////////////////////////////////////////*/
#HomeWanted .list{
	display: flex;
	margin: -0.5rem;
}
#HomeWanted .list .list__item{
	margin: 0.5rem;
	width: calc(50% - 1rem);
	aspect-ratio: 2/1;
	border-radius: 0.5rem;
	position: relative;
	background-color: var(--c-accent);
}
#HomeWanted .list .list__item{
	margin: 0.5rem;
	width: calc(50% - 1rem);
	aspect-ratio: 2/1;
}
#HomeWanted .list .list__item a{
	position: relative;
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: 0.5rem;
}
#HomeWanted .list .list__item a .title,
#HomeWanted .list .list__item a .thumbnail{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#HomeWanted .list .list__item a .title{
	color: var(--c-white);
	font-weight: 900;
	z-index: 2;
	text-align: center;
}
#HomeWanted .list .list__item a .title .main{
	color: var(--c-white);
	font-weight: 900;
	font-size: 2rem;
	z-index: 2;
}
#HomeWanted .list .list__item a .thumbnail{
	width: 100%;
	height: 100%;
	opacity: 0.2;
	z-index: 1;
}
#HomeWanted .list .list__item a .thumbnail img{
	transition: 0.3s;
}
#HomeWanted .list .list__item a:hover .thumbnail img{
	transform: scale(1.1);
}

/*
// article
///////////////////////////////////////////////////////////////*/
#article__heading{
	padding: 1.5rem;
	border-radius: 0.5rem;
	background-color: var(--c-main);
}
#article__meta{
	margin-top: 1rem;
}
#article__meta .meta{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: -0.5rem;
	color: var(--c-gray);
}
#article__meta .meta .meta__item{
	margin: 0.5rem;
}

/*
// Circle
///////////////////////////////////////////////////////////////*/
#circleHead .section__heading{
	line-height: 1.2;
}
#circleHead .section__heading .lastname{
	font-weight: 700;
}
#circleHead .section__heading .firstname{
	display: flex;
	align-items: flex-end;
}
#circleHead .section__heading .firstname h2{
	font-weight: 700;
	font-size: 2rem;
}
#circleHead .section__heading .tag{
	margin-top: 1rem;
}
#circleHead .section__content .lead{
	margin-bottom: 2rem;
}

#circleRequest, #circleMember{
	background-color: var(--c-accentL);
}
#circleMember{
	margin-top: 3rem;
}
#circleRequest{
	margin-bottom: 3rem;
}

/* サークルページフィルター */
#circlePageFilter{
	padding-bottom: 0;
}
#circlePageFilter .filter{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#circlePageFilter .filter .filter__button{
	display: flex;
	align-items: center;
	border-radius: 0.5rem;
	border: 2px solid var(--c-accent);
	color: var(--c-white);
	background-color: var(--c-accent);
	padding: 0.5rem 1rem;
	line-height: 1;
	font-weight: 700;
}
#circlePageFilter .filter .filter__button .icon{
	background-image: url(../images/icon_filter01.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 2rem;
	height: 2rem;
	margin-right: 1rem;
}
#circlePageFilter .filter .filter__result{
	margin-left: 1rem;
}
#circlePageFilter .filter .filter__result .num{
	font-size: 1.1rem;
	font-weight: 900;
	color: var(--c-accent);
	margin: 0 0.2rem;
}
#circlePageFilter .filter .filter__keys{
	width: 100%;
	/* background-color: var(--c-main);
	padding: 1rem; */
	border-radius: 0.5rem;
	margin-top: 1rem;
}
#circlePageFilter .filter .filter__content .heading{
	width: 100%;
	text-align: center;
	font-weight: 700;
	line-height: 4rem;
	border-bottom: 1px solid var(--c-main);
}
#circlePageFilter .filter .filter__content .heading .reset{
	position: absolute;
	top: 0;
	left: 1.25rem;
	color: var(--c-accent);
}
#circlePageFilter .filter .filter__content .heading .button{
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	background-image: url(../images/icon_close01.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 1.5rem;
	height: 1.5rem;
	z-index: 1400;
}
#circlePageFilter #filterForm{
	height: calc(100% - 8rem);
	overflow-y: auto;
	padding: 0 3rem 1.5rem;
}
#circlePageFilter #filterForm .form__item{
	padding: 2rem 0;
}
#circlePageFilter #filterForm .form__item + .form__item{
	border-top: 1px solid var(--c-main);
	margin-top: 0;
}
#circlePageFilter #filterForm .form__item .label{
	font-weight: 900;
	font-size: 1.05rem;
	margin-bottom: 1.5rem;
	line-height: 1;
}
#circlePageFilter #filterForm .form__item .area{
	display: flex;
}
#circlePageFilter #filterForm .form__item .area .brach{
	width: 8rem;
	flex-shrink: 0;
	font-weight: 700;
	line-height: 1;
}
#circlePageFilter #filterForm .form__item .area .pref{
	width: 100%;
}
#circlePageFilter #filterForm .form__item .area{
	padding: 1.5rem 0 ;
}
#circlePageFilter #filterForm .form__item .area:first-of-type{
	padding-top: 0;
}
#circlePageFilter #filterForm .form__item .area + .area{
	border-top: 1px solid var(--c-main);
}
#circlePageFilter #filterForm .form__item .list{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: -0.75rem -1rem;
	line-height: 1;
}
#circlePageFilter #filterForm .form__item .list .list__item{
	margin: 0.75rem 1rem;
	width: calc( (100% / 4) - 2rem );
}
#circlePageFilter #filterForm .form__item .list.list-filter02 .list__item{
	margin: 0.75rem 1rem;
	width: calc( (100% / 5) - 2rem );
}
#circlePageFilter #filterForm .form__item .list .list__item label{
	padding-left: 2rem;
	position: relative;
}
#circlePageFilter #filterForm .form__item .list .list__item label input{
	visibility: hidden;
	position: absolute;
}
#circlePageFilter #filterForm .form__item .list .list__item label span::before{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	content: '';
	width: 1.5rem;
	height: 1.5rem;
	border: 2px solid var(--c-gray);
	background-color: var(--c-main);
	opacity: 0.25;
	border-radius: 0.25rem;
	transition: 0.3s;
}
#circlePageFilter #filterForm .form__item .list .list__item label input:checked + span{
	color: var(--c-accent);
	font-weight: 700;
}
#circlePageFilter #filterForm .form__item .list .list__item label input:checked + span::before{
	border: 2px solid var(--c-accent);
	background-color: var(--c-accent);
	opacity: 1;
}
#circlePageFilter #filterForm .form__item .list .list__item label input:checked + span::after{
	position: absolute;
	content: '';
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1.5rem;
	height: 1.5rem;
	opacity: 1;
	background-image: url(../images/icon_check01.svg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
#circlePageFilter #filterForm input[type=submit]{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: var(--c-accent);
	color: var(--c-white);
	text-align: center;
	line-height: 4rem;
	font-weight: 700;
	transition: 0.3s;
}
#circlePageFilter #filterForm input[type=submit]:hover{
	opacity: 0.75;
}
#circlePageFilter #filterForm .clear{
	text-align: center;
	color: var(--c-accent);
}
@media all and (min-width:0px) and (max-width:960px) {
}
@media all and (min-width:961px) and (max-width:1280px) {
	#circlePageFilter #filterForm .form__item .list .list__item{
		width: calc( (100% / 4) - 2rem );
	}
	#circlePageFilter #filterForm .form__item .list.list-filter02 .list__item{
		width: calc( (100% / 6) - 2rem );
	}
}

/* サークルページサークル一覧 */
.section-circleList01 .circleList{
	display: flex;
}
.section-circleList01 .circleList .circleList__pref{
	width: 8rem;
	padding: 1rem 0;
	line-height: 1;
	color: var(--c-grayD);
}
.section-circleList01 .circleList + .circleList {
	margin-top: 2rem;
}
.section-circleList01 .circleList .circleList__list .list .list__item a {
	display: flex;
	padding: 1rem 0 ;
}
.section-circleList01 .circleList .circleList__list > .list > .list__item{
	border-bottom: 1px solid var(--c-main);
}
.section-circleList01 .circleList .circleList__list .list .list__item a .thumbnail{
	width: auto;
	height: 6rem;
	aspect-ratio: 3/2;
	flex-shrink: 0;
	/* border-radius: 0.5rem; */
	overflow: hidden;
}
.section-circleList01 .circleList .circleList__list .list .list__item a .thumbnail img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: 0.3s;
}
.section-circleList01 .circleList .circleList__list .list .list__item a:hover .thumbnail img{
	transform: scale(1.1);
}
.section-circleList01 .circleList .circleList__list .list .list__item a .content{
	flex-grow: 1;
	margin-left: 1.5rem;
}
.section-circleList01 .circleList .circleList__list .list .list__item a .content .name{
	font-size: 1.1rem;
	margin-bottom: 0.75rem;
}
.section-circleList01 .circleList .circleList__list .list .list__item a:hover .content .name{
	color: var(--c-accent);
}
.section-circleList01 .circleList .circleList__list .list .list__item a .content .name .firstname{
	font-weight: 900;
}
.section-circleList01 .circleList .circleList__list .list .list__item a .content .name .lastname{
	font-weight: 700;
}

#circlePageListNotfound{
	padding-top: 3rem;
}


/*
// newsPageAnchor
///////////////////////////////////////////////////////////////*/
#newsPageAnchor{
	padding-bottom: 0;
}

/*
// aside
///////////////////////////////////////////////////////////////*/
aside{
	border-top: 4px solid var(--c-accent);
}
aside .list-page01 li{
	border-bottom: 1px solid var(--c-main);
}
aside .list-page01 li a{
	display: flex;
	justify-content:space-between;
	align-items: center;
	padding: 1rem 0;
	padding-right: 0.25rem;
	transition: 0.3s;
}
aside .list-page01 li a::after{
	content: '';
	position: relative;
	width: 1rem;
	height: 1rem;
	background-image: url('../images/arrow-right-normal01.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}
aside .list-page01 li a:hover{
	color: var(--c-accent);
	padding-right: 0;
	font-weight: 700;
}


/*
// #breadcrumb
///////////////////////////////////////////////////////////////*/
#breadcrumb .wrap{
	background-color: var(--c-main);
	border-radius: 0.5rem;
	padding: 0.5rem 1.5rem;
	font-size: 0.8rem;
}
#breadcrumb .list{
	display: flex;
	margin: -0.5rem 0;
}
#breadcrumb .list li{
	margin: 0.5rem 0;
	display: flex;
	align-items: center;
}
#breadcrumb .list li + li::before{
	content: '';
	display: inline-block;
	position: relative;
	width: 2.4rem;
	height: 0.8rem;
	background-image: url('../images/arrow-right-normal02.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

/*
// footer
///////////////////////////////////////////////////////////////*/
footer{
	padding-top: 6rem;
}
#footer__circle{
	padding-bottom: 6rem;
}
#footer__circle .block + .block{
	margin-top: 3rem;
}
#footer__circle .heading h2{
	color: var(--c-accent);
	font-size: 1.25rem;
	font-weight: 900;
	margin-bottom: 1rem;
}
#footer__circle .col + .col{
	margin-top: 1rem;
}
#footer__circle .col{
	line-height: 1.1rem;
}
#footer__circle .col .col__item--branch{
	width: 8rem;
	font-weight: 900;
	flex-shrink: 0;
	font-size: 1.05rem;
}
#footer__circle .col .col__item--list{
	font-size: 0.95rem;
	flex-grow: 1;
}
#footer__circle .list{
	margin: -0.5rem;
	display: flex;
	flex-wrap: wrap;
}
#footer__circle .list .list__item{
	margin: 0.5rem;
}
#footer__circle .list .list__item a{
	text-decoration: underline;
}
#footer__sitemap{
	background-color: var(--c-accent);
	color: var(--c-white);
}
#footer__footer{
	background-color: var(--c-accent);
	color: var(--c-white);
}
#footer__sitemap .col{
	justify-content: space-between
}
#footer__sitemap .col .col__item .heading{
	font-weight: 700;
	font-size: 1.1rem;
}
#footer__sitemap .col .col__item .content{
}
#footer__sitemap .col .col__item .content .list .list__item{
	position: relative;
	padding-left: 1.5rem;
}
#footer__sitemap .col .col__item .content .list .list__item::before{
	content: '';
	width: 0.5rem;
	height: 1px;
	background-color: var(--c-white);
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}



/*
// wp-XXX
///////////////////////////////////////////////////////////////*/
.wp-block-embed__wrapper > iframe,
.wp-block-embed__wrapper > iframe{
	width: 100%;
	height: 100%;
	aspect-ratio: 16/9;
}
.wp-block-embed__wrapper > .twitter-tweet{
	margin: auto;
}
.wp-block-embed,
.wp-block-image{
	margin: 2rem 0;
}
.wp-block-embed-twitter{
	border: 1px solid var(--c-border);
}
