@charset "utf-8";

/* メインビジュアル */
#fv::after {
	background: url(../../img/mv/mv_children.jpg) center center no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}

.btn3,
.btn3 a {
	width: 300px;
	margin: 0 auto;
}

/* RESPONSIVE */
/* -------------------------------------------------- */
@media screen and (min-width: 1024px) {

	/* 980px以上用（PC用）の記述 */

	.englishTxt.small {
		font-size: 3.2rem;
	}

	/* 入会案内
        -------------------------------------------------------*/
	#intro,
	#guide,
	#pamphlet,
	#memberVoice,
	#entryMerit,
	#eventIntro {
		margin-bottom: 80px;
	}

	.cen {
		text-align: center;
	}

	#btArea {
		margin: 50px auto 80px;
		text-align: center;
	}

	/* 入会案内ページ
        -------------------------------------------------------*/
	#entryIntroArea {
		width: 100%;
		text-align: center;
		letter-spacing: -.4em;
	}

	#intro {
		padding: 50px 30px;
		background: #FBFAF1;
		background: rgba(255, 255, 255, 0.8)
	}

	#entryIntro {
		margin-bottom: 80px;
	}

	.intro {
		margin-bottom: 30px;
		font-size: 1.6rem;
		letter-spacing: 0.05em;
		text-align: center;
		line-height: 2.0;
	}

	#intro h2 {
		margin-bottom: 40px;
		font-size: 3.2rem;
		letter-spacing: 0.1em;
	}

	.entryBox {
		margin-bottom: 50px;
		display: flex;
		justify-content: space-evenly;
		align-items: flex-start;
	}

	.articleTxt {
		margin: 80px auto;
		text-align: center;
		font-size: 1.8rem;
	}

	.entryImg {
		width: 40%;
	}

	.entryImg img {
		width: 100%;
	}

	.entryBox p.commonTxt2 {
		width: 56%;
	}

	.entryBox .btn3,
	.entryBox .btn3 a {
		margin: 0;
	}

	.entryBox span {
		display: block;
		margin-top: 10px;
		text-align: center;
	}

	#eventList {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	#eventList li {
		width: 49%;
		margin-bottom: 20px;
		border: 1px #ddd solid;
	}

	.changeBorder {
		display: block;
		position: relative;
	}

	.changeBorderIn {
		width: 100%;
		height: 150px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	.changeBorder::after,
	.changeBorder::before,
	.changeBorderIn::after,
	.changeBorderIn::before {
		background-color: #000;
		content: '';
		display: block;
		position: absolute;
		z-index: 10;
		transition: all .3s ease;
		-webkit-transition: all .3s ease;
	}

	/* 左上へ配置 */
	.changeBorder::after {
		height: 2px;
		left: -2px;
		top: -2px;
		width: 0px;
	}

	/* 右下へ配置 */
	.changeBorder::before {
		bottom: -2px;
		height: 2px;
		right: -2px;
		width: 0px;
	}

	/* 左下へ配置 */
	.changeBorderIn::after {
		bottom: -2px;
		height: 0px;
		left: -2px;
		width: 2px;
	}

	/* 右下へ配置 */
	.changeBorderIn::before {
		height: 0px;
		right: -2px;
		top: -2px;
		width: 2px;
	}

	/* hover */
	.changeBorder:hover::after,
	.changeBorder:hover::before {
		width: 100%;
		width: calc(100% + 2px);
	}

	.changeBorder:hover .changeBorderIn::after,
	.changeBorder:hover .changeBorderIn::before {
		height: 100%;
		height: calc(100% + 2px);
	}

	.blogImg {
		width: 32%;
		height: 100%;
		/*		display: table-cell;*/
		position: relative;
	}

	.blogImg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}

	.upcoming-event {
		padding: 2px 8px;
		position: absolute;
		top: 10px;
		left: 10px;
		background: #ffe600;
		color: #000;
		font-size: 1.1rem;
	}

	.end-event {
		padding: 2px 8px;
		position: absolute;
		top: 10px;
		left: 10px;
		background: #666666;
		color: #FFFFFF;
		font-size: 1.1rem;
	}

	.blogTitWrap {
		width: 65%;
		padding: 10px;
	}

	.eventDate {
		font-weight: 600;
		font-size: 1.3rem;
	}

	.eventPlace {
		margin-bottom: 10px;
		color: #666;
		font-size: 1.2rem;
	}

	.blogTit {
		font-weight: 600;
		font-size: 1.5rem;
	}

	.blogdesc {
		color: #666;
		font-size: 1.3rem;
	}
}

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

	/* 768px - 979px用（タブレット用）の記述 */

	#intro,
	#guide,
	#eventIntro,
	#memberVoice,
	#entryMerit {
		margin-bottom: 50px;
	}

	#btArea {
		margin-bottom: 50px;
		padding: 0;
	}

	/* 入会の勧め */

	#entryIntro {
		margin-bottom: 20px;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
	}

	#intro {
		padding: 50px 40px;
		background: #FBFAF1;
		background: rgba(255, 255, 255, 0.8)
	}

	#intro h2 {
		margin-bottom: 10px;
		font-size: 2.0rem;
		letter-spacing: 0.1em;
	}

	.intro {
		margin-bottom: 30px;
		font-size: 1.3rem;
		letter-spacing: 0.05em;
		text-align: left;
		line-height: 2.0;
	}

	.articleTxt {
		text-align: center;
		margin: 50px auto;
	}

	.entryBox {
		margin-top: 40px;
		display: flex;
		justify-content: space-evenly;
		align-items: flex-start;
	}

	.entryImg {
		width: 40%;
	}

	.entryImg img {
		width: 100%;
	}

	.entryBox p.commonTxt2 {
		width: 56%;
	}

	.entryBox .btn3,
	.entryBox .btn3 a {
		width: 220px;
		margin: 0;
		text-align: left;
		line-height: 1.2;
	}

	.btn3 a {
		padding-left: 20px;
		background: url(../../img/common/arrow_right_b.svg) 94% center no-repeat #fff;
		background-size: 6%;
	}

	.entryBox span {
		display: block;
		margin-top: 10px;
		text-align: center;
	}

	/* 事業 */
	#eventList {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	#eventList li {
		width: 49%;
		margin-bottom: 20px;
		border: 1px #ddd solid;
	}

	.changeBorder {
		display: block;
		position: relative;
	}

	.changeBorderIn {
		width: 100%;
		height: auto;
	}

	.changeBorder::after,
	.changeBorder::before,
	.changeBorderIn::after,
	.changeBorderIn::before {
		background-color: #000;
		content: '';
		display: block;
		position: absolute;
		z-index: 10;
		transition: all .3s ease;
		-webkit-transition: all .3s ease;
	}

	/* 左上へ配置 */
	.changeBorder::after {
		height: 2px;
		left: -2px;
		top: -2px;
		width: 0px;
	}

	/* 右下へ配置 */
	.changeBorder::before {
		bottom: -2px;
		height: 2px;
		right: -2px;
		width: 0px;
	}

	/* 左下へ配置 */
	.changeBorderIn::after {
		bottom: -2px;
		height: 0px;
		left: -2px;
		width: 2px;
	}

	/* 右下へ配置 */
	.changeBorderIn::before {
		height: 0px;
		right: -2px;
		top: -2px;
		width: 2px;
	}

	/* hover */
	.changeBorder:hover::after,
	.changeBorder:hover::before {
		width: 100%;
		width: calc(100% + 2px);
	}

	.changeBorder:hover .changeBorderIn::after,
	.changeBorder:hover .changeBorderIn::before {
		height: 100%;
		height: calc(100% + 2px);
	}

	.blogImg {
		width: 100%;
		height: auto;
		position: relative;
	}

	.blogImg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}

	.upcoming-event {
		padding: 2px 8px;
		position: absolute;
		top: 5px;
		left: 5px;
		background: #ffe600;
		color: #000;
		font-size: 1.1rem;
	}

	.end-event {
		padding: 2px 8px;
		position: absolute;
		top: 5px;
		left: 5px;
		background: #666666;
		color: #FFFFFF;
		font-size: 1.1rem;
	}

	.blogTitWrap {
		width: 100%;
		padding: 10px;
	}

	.eventDate {
		font-weight: 600;
		font-size: 1.3rem;
	}

	.eventPlace {
		margin-bottom: 10px;
		color: #666;
		font-size: 1.1rem;
	}

	.blogTit {
		font-weight: 600;
		font-size: 1.4rem;
	}

	.blogdesc {
		display: none;
	}

}

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

	/* 479px以下用（スマートフォン用）の記述 */
	.pc {
		display: none;
	}

	.tablet {
		display: none;
	}

	.btn3 {
		margin-bottom: 20px;
	}

	#intro,
	#guide,
	#memberVoice,
	#entryMerit {
		margin-bottom: 50px;
	}

	#btArea {
		margin-bottom: 50px;
		padding: 0;
	}

	/* 入会案内ページ
        -------------------------------------------------------*/
	.englishTxt.small {
		font-size: 1.8rem;
	}

	#entryIntro {
		margin-bottom: 20px;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
	}

	#intro {
		padding: 20px;
		background: #FBFAF1;
		background: rgba(255, 255, 255, 0.8)
	}

	#intro h2 {
		margin-bottom: 10px;
		font-size: 2.0rem;
		letter-spacing: 0.1em;
	}

	.intro {
		margin-bottom: 30px;
		font-size: 1.3rem;
		letter-spacing: 0.05em;
		text-align: left;
		line-height: 2.0;
	}

	.articleTxt {
		text-align: center;
		margin: 50px auto;
	}

	/* 事業 */
	#eventList {
		display: flex;
		align-items: stretch;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	#eventList li {
		width: 49%;
		margin-bottom: 20px;
		border: 1px #ddd solid;
	}

	.changeBorder {
		display: block;
		position: relative;
	}

	.changeBorderIn {
		width: 100%;
		height: auto;
	}

	.changeBorder::after,
	.changeBorder::before,
	.changeBorderIn::after,
	.changeBorderIn::before {
		background-color: #000;
		content: '';
		display: block;
		position: absolute;
		z-index: 10;
		transition: all .3s ease;
		-webkit-transition: all .3s ease;
	}

	/* 左上へ配置 */
	.changeBorder::after {
		height: 2px;
		left: -2px;
		top: -2px;
		width: 0px;
	}

	/* 右下へ配置 */
	.changeBorder::before {
		bottom: -2px;
		height: 2px;
		right: -2px;
		width: 0px;
	}

	/* 左下へ配置 */
	.changeBorderIn::after {
		bottom: -2px;
		height: 0px;
		left: -2px;
		width: 2px;
	}

	/* 右下へ配置 */
	.changeBorderIn::before {
		height: 0px;
		right: -2px;
		top: -2px;
		width: 2px;
	}

	/* hover */
	.changeBorder:hover::after,
	.changeBorder:hover::before {
		width: 100%;
		width: calc(100% + 2px);
	}

	.changeBorder:hover .changeBorderIn::after,
	.changeBorder:hover .changeBorderIn::before {
		height: 100%;
		height: calc(100% + 2px);
	}

	.blogImg {
		width: 100%;
		height: auto;
		position: relative;
	}

	.blogImg img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		font-family: 'object-fit: cover;';
	}

	.upcoming-event {
		padding: 2px 8px;
		position: absolute;
		top: 5px;
		left: 5px;
		background: #ffe600;
		color: #000;
		font-size: 1.1rem;
	}

	.end-event {
		padding: 2px 8px;
		position: absolute;
		top: 5px;
		left: 5px;
		background: #666666;
		color: #FFFFFF;
		font-size: 1.1rem;
	}

	.blogTitWrap {
		width: 100%;
		padding: 10px;
	}

	.eventDate {
		font-weight: 600;
		font-size: 1.3rem;
	}

	.eventPlace {
		margin-bottom: 10px;
		color: #666;
		font-size: 1.1rem;
	}

	.blogTit {
		font-weight: 600;
		font-size: 1.4rem;
	}

	.blogdesc {
		display: none;
	}



}