@charset "utf-8";

/*-------------------------------
	Keyvisual
-------------------------------*/

.Keyvisual__title-jp2 {
	font-size:3rem;
	font-weight:600;
	font-family: var(--mincho);
	writing-mode: vertical-rl;
	letter-spacing: .1em;
	line-height:1.5;
}

.sec_koyukai .h_title {
	margin-bottom:6rem;
}

/*-------------------------------
	Philosophy
-------------------------------*/

.Philosophy {
	padding-top:5rem;
}

.phi_wrap {
	display: flex;
	flex-wrap:wrap;
	align-items: flex-start;
	justify-content:space-between;
}

.phi_vt {
	width:23.6rem;
	position:relative;
}

.phi_vt_inner {
	width:100%;
	padding:6rem 2rem;
	position:relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.phi_vt::before,
.phi_vt::after,
.phi_vt_inner::before,
.phi_vt_inner::after {
	content:"";
	display: block;
	width:4.8rem;
	height:4.8rem;
	position:absolute;
}

.phi_vt::before,
.phi_vt::after {
	top:0;
}

.phi_vt_inner::before,
.phi_vt_inner::after {
	bottom:0;
}

.phi_vt::before {
	left:0;
	border-left:.1rem solid #707070;
	border-top:.1rem solid #707070;
}

.phi_vt::after {
	right:0;
	border-right:.1rem solid #707070;
	border-top:.1rem solid #707070;
}

.phi_vt_inner::before {
	left:0;
	border-left:.1rem solid #707070;
	border-bottom:.1rem solid #707070;
}

.phi_vt_inner::after {
	right:0;
	border-right:.1rem solid #707070;
	border-bottom:.1rem solid #707070;
}

.phi_vt h2 {
	font-size:4rem;
	font-weight:600;
	font-family: var(--mincho);
	letter-spacing: 0.1em;
	line-height:1.25;
	writing-mode: vertical-rl;
}

.phi_txt {
	width:calc(100% - 23.6rem);
	max-width:72rem;
	padding-left:7rem;
}

.phi_txt .maru_title {
	margin-bottom:9rem;
}

.phi_txt .maru_title span {
	left:-1em;
}

.phi_txt p {
	padding-left:1em;
}

.phi_txt p:not(:last-of-type) {
	margin-bottom:1em;
}

/*-------------------------------
	Presentation
-------------------------------*/

.Presentation {
	background:#ECF2F7;
	padding:15rem 0 0;
	border-top-right-radius: 3rem;
}

.pre_wrap {
	margin-top:9rem;
	justify-content: space-between;
	align-items: flex-start;
}

.pre_txt {
	width:48.2%;
	max-width:53rem;
	margin-bottom:4rem;
}

.pre_img {
	width:44.8%;
	max-width:47.5rem;
	margin-bottom:4rem;
}

.pre_img img {
	border-radius:1rem;
	overflow:hidden;
}

.pre_img figcaption {
	display: block;
	text-align: center;
	font-size:1.8rem;
	line-height:1.5;
	padding:0.25em 0 0 ;
}

/*-------------------------------
	Friendship
-------------------------------*/

.Friendship {
	background:#ECF2F7;
	padding:12rem 0 11rem;
}

.Friendship .koyukai_title {
	max-width:72rem;
	margin:0 auto 5rem;
}

.fri_wrap {
	justify-content: space-between;
}

.fri_img {
	width:48.2%;
	max-width:53rem;
	margin-bottom:4rem;
}

.fri_img img {
	border-radius: 1rem;
	overflow:hidden;
}

.fri_img figcaption {
	display: block;
	text-align: center;
	font-size:1.8rem;
	line-height:1.5;
	padding:0.25em 0 0 ;
}

/*-------------------------------
	News
-------------------------------*/

.News {
	padding-bottom:6rem;
}

/*-------------------------------
	Secretariat
-------------------------------*/

.Secretariat {
	background:#ECF2F7;
	padding:15rem 0 0;
	border-top-right-radius: 3rem;
}

.jimu_wrap {
	background:#fff;
	border-radius: 1rem;
	margin:0 auto;
	padding:4rem;
	max-width:99rem;
	text-align: center;
}

.jimu_wrap h3 {
	font-size:2.4rem;
	font-weight:700;
	line-height:1.25;
}

.jimu_wrap h4 {
	font-size:2.2rem;
	font-weight:700;
	line-height:1.25;
	margin-bottom:1em;
}

.jimu_wrap h4 span {
	font-size:1.8rem;
	font-weight:700;
	line-height:1.25;
	padding-right:0.5em;
}

.jimu_wrap address,
.jimu_wrap address span {
	font-size:1.8rem;
	line-height:1.5;
}

.jimu_wrap address span {
	padding-right:1em;
}

/*-------------------------------
	Member
-------------------------------*/

.Member {
	padding:15rem 0 0;
	background:#ECF2F7;
}

.member_table {
	width:100%;
	max-width:101rem;
	margin:0 auto;
	border-collapse: separate;
	border-spacing:1rem 2rem;
}

.member_table thead th {
	color:#fff;
	font-size:1.8rem;
	font-weight:700;
	line-height:1.5;
	border-radius: 3rem;
	background:var(--maincolor);
	text-align: center;
	padding:0.5em;
}

.member_table thead th.sp_th {
	display: none;
}

.member_table thead tr th:first-of-type {
	width:24.2rem;
}

.member_table tbody td {
	background:#fff;
	border-radius: 1rem;
	font-size:1.8rem;
	font-weight:700;
	padding:3rem 4rem;
	line-height:1.5;
}

.member_table tbody tr td:first-of-type {
	padding:3rem 1rem;
	text-align: center;
	vertical-align: middle;
}

.member_table tbody td address,
.member_table tbody td address span {
	font-size:1.8rem;
	font-weight:500;
	line-height:1.5;
}

.member_table tbody td address span {
	padding-right:1em;
}

.member_table tbody tr {
	position:relative;
}

.member_table tbody tr:not(:last-of-type)::after {
	content:"";
	display: block;
	width:calc(100% - 1rem);
	height:.1rem;
	border-bottom:.1rem dashed var(--blackcolor);
	position:absolute;
	left:0;
	bottom:-1rem;
}

.Member .C-Button {
	max-width:42rem;
	margin:3rem auto 0;
}

.C-Button a::after {
	background:url(../images/koyukai/icon_link.svg) no-repeat center / contain;
}

/*-------------------------------
	koyukai banner
-------------------------------*/

.koyukai_banner_wrap {
	background:#ECF2F7;
	padding:15rem 0 20rem;
}

.koyukai_banner_wrap .sub_title {
	color:var(--maincolor);
	font-size:3.8rem;
	margin-bottom:2.5rem;
}

.koyukai_banner_inner {
	padding:0 5rem;
}

.koyukai_banner {
	width:100%;
	max-width:110rem;
	margin:0 auto;
	padding:5.5rem 5.5rem;
	position:relative;
	color:#fff;
	border-radius: 0 0 0 3rem;
	overflow: hidden;
	background:url(../images/koyukai/bg_koyukai_banner.jpg) no-repeat center / cover;
}

.koyukai_banner::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:#1B3C52;
	opacity:.46;
	position:absolute;
	left:0;
	top:0;
	mix-blend-mode: multiply;
}

.koyukai_banner::after {
	content:"";
	display: block;
	width:56%;
	max-width:55.2rem;
	height:17.8rem;
	background:url(../images/koyukai/txt_partner_company.svg) no-repeat center top / contain;
	position:absolute;
	left:40%;
	top:2.5rem;
	opacity:.26;
	transform:rotate(-9deg);
}

.koyukai_banner h3 {
	color:#fff;
	font-size:4.4rem;
	line-height:1.5;
	font-weight:700;
	position:relative;
}

.banner_txt {
	display: flex;
	align-items: center;
	flex-wrap:wrap;
	margin-top:6rem;
	padding-top:5rem;
	border-top:.1rem solid #fff;
	position:relative;
}

.banner_txt p {
	font-size:1.8rem;
	line-height:1.7;
	width:calc(100% - 28.5rem);
	padding-right:6rem;
}

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

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

@media screen and (max-width:960px){

.phi_vt {
	width:18.6rem;
}

.phi_txt {
	width:calc(100% - 18.6rem);
}

.member_table tbody td address span {
	display: block;
	padding-right:0;
}

.banner_txt p {
	width:100%;
	padding-right:0;
	margin-bottom:4rem;
}

.banner_txt .C-Button {
	margin:0 auto;
}


} /* end 960px */
/*-------------------------------
	ver sp
-------------------------------*/

@media screen and (max-width:768px){

/*-------------------------------
	Keyvisual
-------------------------------*/

.Keyvisual__title-jp2 {
	font-size:3.2rem;
}

.sec_koyukai .h_title {
	margin-bottom: 4.5rem;
}

/*-------------------------------
	Philosophy
-------------------------------*/

.Philosophy {
	padding-top:5rem;
}

.phi_vt {
	width:23.6rem;
	position:relative;
	margin:0 auto 12rem;
}

.phi_vt_inner {
	width:100%;
	padding:7rem 2rem;
}

.phi_vt::before,
.phi_vt::after,
.phi_vt_inner::before,
.phi_vt_inner::after {
	width:5.8rem;
	height:5.8rem;
	border-width:.2rem;
}

.phi_vt h2 {
	font-size:4.8rem;
}

.phi_txt {
	width:100%;
	max-width:100%;
	padding-left:0;
}

.phi_txt .maru_title {
	margin-bottom:8rem;
}

.phi_txt .maru_title span {
	left:0;
}

.phi_txt p {
	padding-left:0;
}

/*-------------------------------
	Presentation
-------------------------------*/

.pre_wrap {
	margin-top:8rem;
}

.pre_txt {
	width:100%;
	max-width:100%;
	margin-bottom:8rem;
}

.pre_img {
	width:100%;
	max-width:100%;
	margin-bottom:8rem;
}

.pre_img figcaption {
	font-size:2.8rem;
	padding:0.5em 0 0 ;
}

/*-------------------------------
	Friendship
-------------------------------*/

.Friendship {
	padding:7rem 0 11rem;
}

.Friendship .koyukai_title {
	max-width:100%;
	margin:0 auto 8rem;
}

.fri_img {
	width:100%;
	max-width:100%;
	margin-bottom:8rem;
}

.fri_img figcaption {
	font-size:2.8rem;
	padding:0.5em 0 0 ;
}

/*-------------------------------
	News
-------------------------------*/

.News {
	padding-bottom:15rem;
}

.News .h_title span span {
	font-size:3.2rem;
}

/*-------------------------------
	Secretariat
-------------------------------*/

.jimu_wrap {
	margin:0 auto;
	padding:8rem 6rem;
	max-width:100%;
}

.jimu_wrap h3 {
	font-size:3.6rem;
	margin-bottom:1.5rem;
	line-height: 1;
}

.jimu_wrap h4 {
	font-size:3.8rem;
	line-height: 1;
}

.jimu_wrap h4 span {
	font-size:2.8rem;
	line-height: 1;
}

.jimu_wrap address,
.jimu_wrap address span {
	font-size:2.8rem;
}

.jimu_wrap address span {
	padding-right:0em;
	display:block;
}

/*-------------------------------
	Member
-------------------------------*/

.Member {
	padding:15rem 0 0;
}

.member_table {
	width:100%;
	max-width:100%;
	border-collapse:collapse;
	border-spacing:0rem;
}

.member_table thead th {
	color:#fff;
	font-size:2.8rem;
	font-weight:700;
	line-height:1.5;
	border-radius: 3rem;
	background:var(--maincolor);
	text-align: center;
	padding:0.5em;
}

.member_table thead th.sp_th {
	width:100%;
	display: table-cell;
}

.member_table thead th.pc_th {
	display: none;
}

.member_table tbody tr {
	display: flex;
	flex-wrap:wrap;
	padding-top:4rem;
}

.member_table tbody tr:first-of-type {
	padding-top:2rem;
}

.member_table tbody td {
	width:100%;
	font-size:2.8rem;
	padding:4rem 6rem;
}

.member_table tbody tr td:first-of-type {
	padding:4rem 6rem;
	margin-bottom:2rem;
}

.member_table tbody td address,
.member_table tbody td address span {
	font-size:2.8rem;
}

.member_table tbody td address span {
	display: block;
	padding-right:0em;
}

.member_table tbody tr:not(:last-of-type)::after {
	width:100%;
	height:.2rem;
	border-bottom:.2rem dashed var(--blackcolor);
	bottom:-2rem;
}

.Member .C-Button {
	max-width:100%;
	margin:6rem auto 0;
}

.C-Button a::after {
	right:3.4rem;
}

/*-------------------------------
	koyukai banner
-------------------------------*/

.koyukai_banner_wrap {
	padding:15rem 0 20rem;
}

.koyukai_banner_wrap .sub_title {
	font-size:4rem;
	margin-bottom:5rem;
}

.koyukai_banner_inner {
	padding:0 6rem;
}

.koyukai_banner {
	width:100%;
	max-width:100%;
	padding:7rem 6rem;
}

.koyukai_banner::after {
	width:496rem;
	max-width:100%;
	height:16rem;
	left:4rem;
	top:13rem;
}

.koyukai_banner h3 {
	font-size:4.4rem;
}

.banner_txt {
	margin-top:8rem;
	padding-top:7rem;
	border-top:.2rem solid #fff;
}

.banner_txt p {
	font-size:2.8rem;
	width:100%;
	padding-right:0;
	margin-bottom:6rem;
}

.banner_txt .C-Button {
	margin:0 auto;
}

} /* end 768px */