@charset "UTF-8";
/* ============================================ */
/*　Splide（スライダー）設定　*/
/* ============================================ */
.splide.auto {
	height: 100dvh;
	max-height: 80rem;
	min-height: 50rem;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.splide .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wrap-fv,
.splide__track {
	height: 100dvh;
	max-height: 80rem;
	min-height: 50rem;
  width: 100%;
	position: relative;
}
.wrap-fv.wrap-bg-path::after {
	position: absolute;
	bottom: 0;
}
@media print, screen and (min-width: 769px) {
.splide.auto,
.splide__track {
	max-height: 80rem;
  min-height: 50rem;
}  
}
.splide__slide {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.wrap-fv h1 {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	text-shadow: 0px 0px 20px var(--white), 0px 0px 20px var(--white), 0px 0px 20px var(--white), 0px 0px 20px var(--white), 0px 0px 20px var(--white);
	text-shadow: 0px 0px .5em var(--white), 0px 0px .5em var(--white), 0px 0px .5em var(--white), 0px 0px .5em var(--white), 0px 0px .5em var(--white), 0px 0px .5em var(--white), 0px 0px .5em var(--white), 0px 0px .5em var(--white), 0px 0px .5em var(--white);
	font-size: calc(3.2rem + ((1vw - (768 / 100 * 0.1rem)) * 100 * (42 - 32) / (1200 - 768)));
	line-height: 1.6;
	z-index: 1;
}
.heading-index {
	position: relative;
	display: flex;
	flex-direction: column;
}
.heading-index::before {
	content: '';
	width: 3.75em;
	height: 1em;
	display: block;
	background-image: linear-gradient(90deg, rgba(var(--red-rgb), .3) 50%, transparent 50%), linear-gradient(90deg, rgba(var(--red-rgb), .3) 50%, transparent 50%), linear-gradient(0deg, rgba(var(--red-rgb), .3) 50%, transparent 50%), linear-gradient(0deg, rgba(var(--red-rgb), .3) 50%, transparent 50%);
	background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
	background-position: top, bottom;
	background-size: .75em .35em, .75em .35em, 0px 0px, 0px 0px;
}
.heading-index .cat {
	color: var(--red);
	font-family: Roboto, Helvetica Neue, sans-serif;
	font-size: calc(4.2rem + ((1vw - (768 / 100 * 0.1rem)) * 100 * (56 - 42) / (1200 - 768)));
	margin: .25em 0;
	line-height: 1;
}
.heading-index .sub {
	padding-bottom: 6rem;
	line-height: 1;
}
.heading-index2 {
	font-size: 2.4rem;
	margin-bottom: .75em;
	line-height: 1.5;
}
@media screen and (min-width: 1200px) {
.wrap-fv h1 {
		font-size: 4.2rem;
	}
.heading-index .cat {
	font-size: 5.6rem;
	}
}
@media screen and (max-width: 767px) {
.wrap-fv h1 {
		font-size: 3.2rem;
	}
.heading-index .cat {
	font-size: 4.2rem;
	}
}
.heading-index2 {
	font-size: 2.2rem;
}
.wrap-fv .fv-bnner {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	max-width: var(--con-l);
	margin: auto;
	text-align: right;
	z-index: 2;
}

.wrap-con.info,
.wrap-con.mission,
.wrap-con.member{
	padding: 6rem 0 calc(6rem + 3vw);
}
.wrap-con.mission h2,
.wrap-con.pick-up h2 {
	align-items: center;
}
@media screen and (max-width: 767px) {
.wrap-con.info,
.wrap-con.mission,
.wrap-con.member{
	padding: 6rem 0 calc(6rem + 5vw);
}
}

/*主な事業*/
/* ============================================ */
.wrap-con.mission-4 .heading-index {
	text-align: center;
}
.wrap-con.mission-4 .heading-index .cat {
	font-size: 2.5em;
}
.wrap-con.mission-4 .heading-index .sub {
	padding-bottom: 4rem;
}
.wrap-flex.row-4 a {
	border: 1px solid var(--gray-c);
	border-radius: .75em;
	display: block;
	height: 100%;
	overflow: hidden;
}
.wrap-flex.row-4 a:hover {
	border: 1px solid var(--red);
	color: var(--red);
}
.wrap-flex.row-4 p:not(.heading-mission-4) {
	font-size: .85em;
	padding: 1em;
}
.heading-mission-4 {
	background: var(--black);
	color: var(--white);
	font-size: 1.1em;
	font-weight: bold;
	line-height: 1.4;
	padding: .5em .5em;
	min-height: 4em;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-bottom: 0 !important;
	transition: all .3s ease;
}
.heading-mission-4 span {
	font-size: .75em;
}
.wrap-flex.row-4 a:hover .heading-mission-4 {
	background: var(--red);
}
@media screen and (max-width: 959px) {
    .wrap-flex.row-4 > * {
        flex-basis: calc((100% - 1em) / 2);
    }
}
@media screen and (max-width: 767px) {
    .wrap-flex.row-4 > * {
        flex-basis: 100%;
    }
	.heading-mission-4 {
		min-height: inherit;
		padding: 1em .5em;
	}
}
/*新着情報*/
/* ============================================ */
.wrap-con.mission-4 .heading-index::before,
.wrap-con.info .heading-index::before {
	display: none;
}
.wrap-con.info {
	background: linear-gradient(0deg,var(--gray-e) 0%, var(--white) 50%);
}
.wrap-con.info .heading-index .cat {
	font-size: 1.125em;
	margin-bottom: .75em;
}
.wrap-con.info .heading-index .sub {
	font-size: 2.25em;
	font-weight: bold;
	padding-bottom: 4rem;
}
.wrap-con.info > * {
	max-width: var(--con-m);
	width: calc(100% - 8vw - 8vw);
}
.wrap-con.info .tab-content.info + p {
	text-align: right;
}
@media screen and (max-width: 767px) {
.wrap-con.info > * {
	width: calc(100% - 1em - 1em);
}
}
/*協会について*/
/* ============================================ */
.about-inner {
	padding-bottom: 28rem;
	position: relative;
}
.wrap-con.about .heading-index,
.wrap-con.about .about-inner > *:first-child {
	width: 60%;
	max-width: 68rem;
	margin-left: auto;
	position: relative;
	z-index: 1;
}
@media screen and (min-width: 768px) {
.wrap-con.about .about-inner > *:first-child::after {
	content: '';
	background: var(--white);
	position: absolute;
	top: 0;
	left: -6rem;
	display: block;
	height: calc(100% + 5rem);
	width: calc(100% + 5rem);
	z-index: -2;
}
}
.wrap-con.about figure {
	background: #ccc;
	display: block;
	overflow: hidden;
	height: 100%;
	width: 80vw;
	max-width: calc(50vw + 48rem);
	margin-left: -50vw;
	position: absolute;
	left: 50%;
	top: 0;
}
.wrap-con.about figure img {
	position: absolute;
	object-fit: cover;
	height: 100%;
}
@media screen and (max-width: 767px) {
.wrap-con.about .heading-index,
.wrap-con.about .about-inner > *:first-child {
	width: 100%;
	}
	.about-inner {
		padding-bottom: 0;
		position: relative;
	}
	.wrap-con.about figure {
		display: block;
		height: 32rem;
		left: -4vw;
		margin: 3em 0 0;
		width: calc(100% + 4vw + 4vw);
		max-width: calc(100% + 4vw + 4vw);
		position: relative;
	}
}
	/*事業内容*/
/* ============================================ */
.wrap-con.mission {
	overflow: hidden;
}
.wrap-con.mission::before {
	content: '';
	display: block;
	width: 100%;
	height: 3vw;
	background: var(--white);
	position: absolute;
	top: 29.9rem;
	left: 0;
	clip-path: polygon(0 100%, 0 100%, 100% 0, 0 0);
}
.inner-mission {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}
.inner-mission::after {
	content: '';
	background:  linear-gradient(0deg,var(--gray-e) 0%, var(--black) 100%);
	width: 100vw;
	height: calc(100% - 30rem);
	position: absolute;
	top: 30rem;
	left: 0;
	z-index: -1;
}
.inner-mission > * {
	background: var(--white);
	border-radius: 1em 0 1em 0;
	flex-basis: calc((100% - 4rem) / 3);
	padding: 26rem 2.5% 2.5%;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
}
.inner-mission h3 {
	color: var(--red);
	font-size: 2.4rem;
	text-align: center;
	margin: 1em 0 .5em;
	order: 2;
}
.inner-mission figure {
	width: 100%;
	height: 26rem;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	order: 1;
}
.inner-mission p {
	margin-bottom: 0 !important;
	order: 3;
}
.inner-mission + p {
	text-align: center;
	margin-top: 2em;
}
.wrap-con.mission p:has(.btn-link) {
	text-align: center;
}
@media screen and (max-width: 959px) {
.inner-mission > * {
	flex-basis: calc((100% - 2rem) / 2);
	}
}
@media screen and (max-width: 767px) {
.wrap-con.mission::before {
	height: 5vw;
	}
.inner-mission > * {
	flex-basis: 100%;
	padding: 20rem 1.5em 1.5em;
	max-width: 40rem;
	margin: auto;
	}
.inner-mission figure {
	height: 20rem;
	}
}
/*注目コンテンツ*/
/* ============================================ */
.wrap-con.pick-up > * {
	width: 100%;
	max-width: 100%;
}
.link-pick-up {
	display: flex;
}
.link-pick-up > * {
	flex-basis: 50%;
	min-height: 40rem;
	height: 30vw;
	display: flex;
	position: relative;
}
.link-pick-up > *::after {
	content: '';
	background: rgba(var(--black-rgb), .3);
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.link-pick-up > *:first-child {
	background: url(/common/img/index_pickup_bg01.jpg) no-repeat center right;
	background-size: cover;
}
.link-pick-up > *:last-child {
	background: url(/common/img/index_pickup_bg02.jpg) no-repeat center right;
	background-size: cover;
}
.link-pick-up p {
	margin-bottom: 0 !important;
	line-height: 1.4;
}
.link-pick-up > * > a {
	background: rgba(var(--red-rgb), .85);
	border-radius: 1em;
	color: var(--white);
	display: block;
	max-width: 42rem;
	margin: auto;
	padding: 2em 2em 1.5em;
	text-align: center;
	z-index: 1;
}
.link-pick-up > * > a:hover {
	background: rgba(var(--white-rgb), 1);
	color: var(--red);
	transform: scale(1.05);
}
.link-pick-up > * > a .font-serif {
	font-size: 2rem;
}
.link-pick-up > * > a .font-serif span {
	font-size: 1.75em;
}
.bnner-pick-up {
	background: linear-gradient(0deg,var(--gray-e) 20%, var(--white) 100%);
	padding: 6rem 4vw calc(6rem + 3vw);
}
.bnner-pick-up > a {
	display: flex;
	background: var(--black);
	border: 2px solid var(--black);
	border-radius: 1em;
	color: var(--white);
	justify-content: center;
	align-items: center;
	max-width: var(--con-s);
	margin: auto;
	overflow: hidden;
}
.bnner-pick-up p {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
	margin: auto !important;
}
.bnner-pick-up p span {
	font-size: 1.6rem;
	font-weight: 500;
	display: block;
}
.bnner-pick-up > a:hover {
	background: var(--white);
}
.bnner-pick-up > a:hover p {
	color: var(--black);
}
.bnner-pick-up figure {
	max-width: 56rem;
	margin-right: auto;
	width: 60%;
}
@media screen and (max-width: 959px) {
	.bnner-pick-up > a {
		display: block;
	}
	.bnner-pick-up figure {
		width: 100%;
		max-width: 100%;
	}
	.bnner-pick-up p {
	font-size: 2.4rem;
		line-height: 1.5;
		padding: .5em;
}
.bnner-pick-up p span {
	font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	.link-pick-up {
		display: block;
		padding: 6rem 4vw calc(6rem + 5vw);
}
.link-pick-up > *:first-child {
	background: url(/common/img/index_pickup_bg01_sp.jpg) no-repeat center;
	background-size: cover;
}
.link-pick-up > *:last-child {
	background: url(/common/img/index_pickup_bg02_sp.jpg) no-repeat center;
	background-size: cover;
}
	.link-pick-up > * > a {
		padding: 2em 1em 1.5em;
		width: calc(100% - 1em - 1em);
		margin: auto auto 2em
	}
	.link-pick-up > * > a .font-serif span {
		font-size: 1.5em;
	}
}
/*会員校紹介*/
/* ============================================ */
.wrap-con.member > * {
	display: flex;
	justify-content: space-between;
	gap: 0 6em;
}
.wrap-con.member > * .heading-index {
}
.wrap-con.member > * .inner-member {
	max-width: var(--con-s);
	width: 100%;
}
.tab-content.member dl {
	display: none;
	flex-wrap: wrap;
}
.tab-content.member dt {
  background: rgb(var(--red-rgb), .1);
	border-bottom: 1px solid #ccc;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 7em;
}
.tab-content.member dd {
	background: var(--white);
	border-bottom: 1px solid #ccc;
	padding: 1em;
	width: calc(100% - 7em);
}
.tab-content.member a {
	text-decoration: underline;
}
@media screen and (min-width: 960px) {
.tab-content.member p {
	display: inline;
}
.tab-content.member p + p {
	border-left: 1px solid var(--gray-9);
	padding-left: .5em;
}
}
.tab-content.member span {
	font-size: .85em;
}
@media screen and (max-width: 959px) {
	.wrap-con.member > * {
		flex-wrap: wrap;
	}
.tab-content.member dt {
	border-bottom: none;
	width: 100%;
}
.tab-content.member dd {
	padding: 1em 0;
	width: 100%;
}
}

/*関連団体*/
/* ============================================ */
.wrap-con.links {
	background: var(--black);
	color: var(--white);
	text-align: center;
	padding: 0;
	border-bottom: solid 1px var(--gray-6);
}
.wrap-con.links > * {
	padding: 6rem 0;
}
.wrap-con.links h2 {
	font-size: 1.5em;
	margin-bottom: 1em;
}
.list-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 2em auto auto;
	max-width: var(--con-m);
}
.list-links li {
	border: 1px solid var(--white);
	flex-basis: calc((100% - 24px) / 4);
	overflow: hidden;
}
.list-links li a {
	display: block;
	transform: scale(1,1);
	transition: all 0.3s ease;
}
.list-links li a:hover {
	transform: scale(1.1,1.1);
}
@media screen and (max-width: 767px) {
	.list-links li {
		flex-basis: calc(50% - 4px);
	}
}

.wrap-con.about > figure img,
.inner-mission figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.wrap-con > * {
	margin: auto;
	max-width: var(--con-l);
	width: calc(100% - 4vw - 4vw);
}
footer {
	padding: 6rem 0 !important;
}
@media screen and (max-width: 767px) {
footer {
	padding: 6rem 0 10rem !important;
}
}


