@charset "utf-8";
/*------------------------------------------------------------------------------
Css name: content.css
Css info: 各ページスタイル
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------
index
--------------------------------------------------------------------------*/
.index .page_nav01 a{
		background: #ffff00;
	}
/*------------------------------------------------------------------------*/
/*-- ヒーローイメージ -------------------------------------------------*/
.hero_movie{
	position: relative;

	width: 100%;
	height: auto;

	z-index: -1;
}
.hero_movie video{
  width: 100%;

  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.hero-media img{
	width: 100vw;
	height: auto;
}

/*-- philosophy -------------------------------------------------*/
.index_philos_area{
	width: 100%;
	margin-top: -30px;
	padding: 80px 0 100px;
	background: #cceefa;
	border-radius: 30px;
}
.index_philos_inner{
	width: 800px;
	max-width: 90%;
	margin: 0 auto;
}
.index_philos_en{
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	padding: 4px .5em;
	font-size: 1.4rem;
	line-height: 1;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	color: #fff;
	background: #00ace7;
}
.index_philos_title{
	margin: 40px 0 60px;
	text-align: center;
	font-size: 3.2rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
}
.index_philos_title span{
	display: inline-block;
}
@media only screen and (max-width: 580px) {
	.index_philos_area{
		padding: 80px 0 80px;
	}
	.index_philos_en{
		font-size: 1.2rem;
	}
	.index_philos_title{
		margin: 32px 0 48px;
		font-size: 2.4rem;
	}
}

/*-- index 共通 -------------------------------------------------*/
.index_btn_more{
	display: block;
	width: 320px;
	max-width: 80%;
	margin: 20px auto 0;
	padding: 31px 1em;
	text-align: center;
	color: #fff;
	line-height: 1;
	font-size: 1.8rem;
	background: #80d18a;
	border-radius: 20px;

	transition: background .3s;
}
@media (hover: hover) and (pointer: fine){
	.index_btn_more:hover{
		color: #fff;
		background: #00ace7;
	}
}
@media only screen and (max-width: 580px) {
	.index_btn_more{
		margin: 32px auto 0;
		padding: 24px 1em;
	}
}
/*-- これからやりたいこと -------------------------------------------------*/
.index_toDo_area{
	width: 1100px;
	max-width: 90%;
	margin: 120px auto;
}
@media only screen and (max-width: 580px) {
	.index_toDo_area{
		margin: 100px auto;
	}
}
/*-- 活動実績 -------------------------------------------------*/
.index_act_area{
	position: relative;

	background: #ffff99;
	padding: 100px 0;
	border-radius: 0 80px 80px 0;
}
.index_act_area_inner{
	width: 1100px;
	max-width: 90%;
	margin: 0 auto;
}

.index_act_area_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.index_act_list{
	width: 50%;
	margin: 0 0 0 auto;
	border-top: 1px solid #353535;
}
.index_act_list li{
	border-bottom: 1px solid #353535;
}
.index_act_list li a{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;

	padding: 16px 0;
}
.index_act_date{
	margin-bottom: 12px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.6;
}
.index_act_list_txt{
	width: 73%;
	padding: 0 18px;
	font-size: 1.8rem;
}
.index_act_title{
	font-weight: 500;
}
.index_act_list_img{
	width: 27%;
}

.index_act_img{
	position: absolute;
	left: 0;
	width: 43%;
	height: calc( 100% - 340px);
}
.index_act_img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0 40px 40px 0;
}
@media only screen and (max-width: 580px) {
	.index_act_area{
		padding: 80px 0;
		border-radius: 0 40px 40px 0;
	}
	.index_act_list{
		width: 100%;
	}
	.index_act_date{
		margin-bottom: 12px;
		font-size: 1.3rem;
	}
	.index_act_list_txt{
		padding: 0 18px 0 0;
		font-size: 1.6rem;
	}
	.index_act_list_img{
		width: 27%;
	}
	.index_act_img{
		display: none;
	}
}

/*-- メンバー -------------------------------------------------*/
.index_member_area{
	margin-bottom: -40px;
	padding: 140px 0;
	background: #cceefa url(../img/index/member_point.svg) top center no-repeat;
	background-size: 1152px auto;
	border-radius: 40px 40px 0 0;
}
.index_member_inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	width: 800px;
	max-width: 90%;
	margin: 0 auto;
}
.index_member_title{
	width: 30%;
	font-size: 2.8rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
}
.index_member_txt{
	width: 65%;
	margin-top: 10px;
}
.index_member_txt p{
	margin-bottom: 60px;
}
@media only screen and (max-width: 580px) {
	.index_member_area{
		padding: 100px 0;
		background: #cceefa url(../img/index/member_point.svg) top -40px left 10% no-repeat;
		background-size: 700px auto;
	}
	.index_member_title{
		width: 100%;
		margin-bottom: 20px;
		font-size: 2.2rem;
	}
	.index_member_txt{
		width: 100%;
		margin-top: 10px;
	}
	.index_member_txt p{
		margin-bottom: 60px;
	}
}
/*------------------------------------------------------------------------
これからやりたいこと　 / toDo
--------------------------------------------------------------------------*/
.vision .page_nav02 a{
		background: #ffff00;
	}
/*------------------------------------------------------------------------*/
.toDo_list{
	position: relative;

	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	z-index: 1;
}
.toDo_list li{
	width: 48%;
	margin-bottom: 40px;
}
.toDo_list li a{
	display: block;
}
.toDo_list_ic{
	position: relative;
	border-radius: 20px;
	z-index: -1;

	transition: opacity .3s;
}
.toDo_list_title{
	position: relative;

	margin: 16px 32px 0;
	font-size: 1.8rem;
	font-weight: 500;
	text-shadow: 1px 1px 2px rgba(255,255,255,1);

	transition: color .3s;
}
.toDo_list_title::before{
	position: absolute;
	top: -32px;
	left: -20px;
	display: block;

	content: "";
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #f280cf;

	z-index: -1;
}
@media (hover: hover) and (pointer: fine){
	.toDo_list li a:hover .toDo_list_ic{
		opacity: .7;
	}
	.toDo_list li a:hover .toDo_list_title{
		color: #00ace7;
	}
}
@media only screen and (max-width: 580px) {
	.toDo_list li{
		width: 100%;
		margin-bottom: 32px;
	}
	.toDo_list_title{
		margin: 14px 22px 0;
		font-size: 1.6rem;
	}
	.toDo_list_title::before{
		position: absolute;
		top: -32px;
		left: -12px;

		width: 46px;
		height: 46px;
	}
}
/*------------------------------------------------------------------------
活動実績 - 一覧 / activities
--------------------------------------------------------------------------*/
.activities .page_nav03 a{
		background: #ffff00;
	}
/*------------------------------------------------------------------------*/
.acts_list{
	width: 1000px;
	max-width: 90%;
	margin: 0 auto;
	border-top: 1px solid #353535;
}
.acts_list li{
	border-bottom: 1px solid #353535;
}
.acts_list a{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	margin: 32px 0;
}
.acts_list_txt{
	width: 75%;
}
.acts_list_lustUd{
	width: fit-content;
	padding: 0 10px;
	font-size: 1.3rem;
	color: #fff;
	background: #00ace7;
}
.acts_list_title{
	margin: 16px 0;
	font-size: 2.4rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
}
.acts_list_lead{
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.acts_list_img{
	width: 20%;
}
.acts_list_img img{
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 16px;
}

@media only screen and (max-width: 580px) {
	.acts_list a{
		margin: 32px 0;
	}
	.acts_list_txt{
		width: 100%;
	}
	.acts_list_lustUd{
		width: fit-content;
		padding: 0 10px;
		font-size: 1.3rem;
		color: #fff;
		background: #00ace7;
	}
	.acts_list_title{
		margin: 8px 0;
		font-size: 2.0rem;
	}
	.acts_list_lead{
		display: none;
	}
	.acts_list_img{
		width: 100%;
	}
	.acts_list_img img{
		aspect-ratio: 16/9;
	}
}
/*------------------------------------------------------------------------
これからやりたいこと・活動実績 - 個別 / activities
--------------------------------------------------------------------------*/
.acts_page_ic{
	margin-bottom: 32px;
}
.acts_page_ic img{
	border-radius: 20px;
}

.acts_box{
	width: 100%;
	margin-top: 100px;
}

.acts_sub_title{
	margin-bottom: 1em;
	font-size: 2.4rem;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	color: #00ace7;
}
.acts_h4_title{
	font-size: 1.6rem;
	margin: 1em 0 0;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	color: #f280cf;
}

.acts_report_item + .acts_report_item{
	margin-top: 32px;
}

.acts_report_title{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-size: 1.8rem;
	color: #80d18a;
}
.acts_report_photos{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

	margin-top: 1em;
}
.acts_report_photos_3col li{
	width: 32%;
}
.acts_report_photos_2col li{
	width: 48%;
}
.acts_report_photos li img{
	border-radius: 16px;
}
@media only screen and (max-width: 580px) {
	.acts_box{
		margin-top: 60px;
	}
	.acts_sub_title{
		font-size: 2.2rem;
	}

	.acts_report_photos_3col li{
		width: 33%;
	}
	.acts_report_photos_2col li{
		width: 49.5%;
	}
	.acts_report_photos li img{
		border-radius: 8px;
	}
}
/* 一覧に戻るボタン */
.acts_back_btn{
	display: block;
	width: 280px;
	max-width: 80%;
	margin: 100px auto 0;
	padding: 27px 1em;
	text-align: center;
	color: #fff;
	line-height: 1;
	background: #80d18a;
	border-radius: 20px;

	transition: background .3s;
}
@media (hover: hover) and (pointer: fine){
	.acts_back_btn:hover{
		color: #fff;
		background: #00ace7;
	}
}
@media only screen and (max-width: 580px) {
	.index_btn_more{
		margin: 32px auto 0;
		padding: 20px 1em;
	}
}
/*------------------------------------------------------------------------
組織概 / about
--------------------------------------------------------------------------*/
.about .page_nav04 a{
		background: #ffff00;
	}
/*------------------------------------------------------------------------*/
.about_data_list{
	width: 800px;
	max-width: 100%;
	margin: 0 auto;
}
.about_data_list div{
	display: flex;
	flex-wrap: wrap;
	background: #cceefa;
	border-radius: 16px;
}
.about_data_list div + div{
	margin-top: 6px;
}

.about_data_list dd,
.about_data_list dt{
	padding: 1em 1.5em;
}
.about_data_list dt{
	width: 200px;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
}
.about_data_list dd{
	width: calc( 100% - 200px );
}

@media only screen and (max-width: 580px) {
	.about_data_list div{
		display: flex;
		flex-wrap: wrap;
		background: #cceefa;
		border-radius: 8px;
	}
	.about_data_list div + div{
		margin-top: 6px;
	}
	.about_data_list dt{
		width: 100%;
		padding-bottom: 0;
	}
	.about_data_list dd{
		width: 100%;
		padding-top: 0;
	}
}

/*------------------------------------------------------------------------
メンバー　 / members
--------------------------------------------------------------------------*/
.members .page_nav05 a{
		background: #ffff00;
	}
/*------------------------------------------------------------------------*/
.members_list_list_50{
	margin: 0 .5em 1em;
	font-size: 1.3rem;
	text-align: right;
}
.members_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.members_list li{
	width: 48%;
	margin-bottom: 24px;
	padding: 20px 2em;
	border-radius: 16px;
	background: #cceefa;
}
.members_list li:nth-of-type(3n+1){
	background: #cceefa;
}
.members_list li:nth-of-type(3n+2){
	background: #ccedd0;
}
.members_list li:nth-of-type(3n+3){
	background: #fbd9f1;
}
.members_list__name{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 500;
	font-size: 1.8rem;
}
.members_list__affil,
.members_list__add{
	font-size: 1.4rem;
}
@media only screen and (max-width: 580px) {
	.members_list{
		display: block;
	}
	.members_list li{
		width: 100%;
		margin-bottom: 8px;
		padding: 16px 1.5em;
	}
	.members_list__name{
		font-size: 1.6rem;
	}
	.members_list__affil,
	.members_list__add{
		font-size: 1.3rem;
	}
}
