.inner {
	max-width:1310px;
}

/*-------------------------------
	eyecatch
-------------------------------*/


#eyecatch {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#fff;
	z-index:99;
}

#eyecatch.disappear {
	display: none!important;
}
#eyecatch .red_curtain {
	display: block;
	/*白い線が入るときがあるのでなし
	width:calc(100% / 3);
	*/
	height:100%;
	background:#B7193F;
	transform:scale(1,0);
	transition:all .4s;
}

#eyecatch .red_curtain1,
#eyecatch .red_curtain3 {
	width:32%;
}
#eyecatch .red_curtain1 {
	transition-delay:0.6s;
	transform-origin:center top;
}
#eyecatch .red_curtain3 {
	transition-delay:1.0s;
	transform-origin:center bottom;
}
#eyecatch .red_curtain2 {
	width:34%;
	transform-origin:center top;
	transition-delay:1.4s;
}

#eyecatch .red_curtain.close {
	transform:scale(1,1);
}


#eyecatch figure {
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%,-50%);
	text-align:center;
	transition:all .8s;
	transition-delay:2.4s;
	opacity:1;
}
#eyecatch figure img {
	width:15vw;
}

#eyecatch figure.disappear {
	transform:translate(-50%,-50%) scale(1.5) ;
	opacity:0;
}

/*-------------------------------
	f view 
-------------------------------*/

.f_view {
	width:100%;
	margin-bottom:0px;
	height:calc(100vh - 140px);
	min-height:740px;
	max-height:1050px;
	overflow:hidden;
	padding:0px 0 0 5%;
}

.f_view_inner {
	width:100%;
	position:relative;
}

.f_view h1 {
	font-size:9.2rem;
	line-height:1.6;
	z-index:2;
	letter-spacing: 0.2rem;
	left:7.5%;
	top:0;
	position:absolute;
}

.f_view h1 span {
	font-size:2.8rem;
}

.f_view h1 .f_en {
	display: block;
	position:relative;
	line-height:1.2;
	margin-top:1.65em;
	padding-top:1.65em;
}
.f_view h1 .f_en::before {
	content:"";
	display: block;
	width:50%;
	height:4px;
	background:#000;
	position:absolute;
	top:0;
	left:0;
}


.f_view .btn_red {
	display: none;
	height:128px;
	line-height:122px;
	position:absolute;
	bottom:0;
	left:7.5%;
	z-index:3;
}


/* --- slider --- */

.slick-list,
.slick-track {
	height:100%;
}
/*
.slider{
    margin:0;
    width: 100%;
	height:calc(73% - 64px );
	position:absolute;
	right:0;
	bottom:64px;
}
*/

.slider {
	width:100%;
	height:100%;
	padding:228px 0 64px 0;
}
.slider img {
	width:100%;
	height:100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

/*-------------------------------
	block
-------------------------------*/

.block h1 {
	font-size:6rem;
	font-weight:800;
	margin-bottom:1em;
}

/*-------------------------------
	history
-------------------------------*/

.history {
	position:relative;
	padding:70px 0 140px;
}

.history::before {
	content:"";
	display: block;
	width:100%;
	height:740px;
	position:absolute;
	left:0;
	top:0;
	background:url(../images/bg_history01.jpg) no-repeat center / cover;
}

.history::after {
	content:"";
	display: block;
	width:62.5%;
	height:380px;
	top:360px;
	background:#fff;
	position:absolute;
	left:0;
}


.history .inner {
	z-index: 1;
	position:relative;
}

.history h1 {
	font-size:8rem;
	line-height:1.25;
	margin-bottom:1.25em;
	font-weight:800;
}

.his_txt {
	padding:50px 8% 50px 0;
	max-width:62.5%;
}

.his_txt h2 {
	font-size:2.4rem;
	line-height:1.65;
	font-weight:500;
	margin-bottom:1em;
}

.his_txt .btn {
	margin:40px 0 0 0;
}


/*-------------------------------
	meeting
-------------------------------*/

.meeting {
	margin-bottom:140px;
}


.meeting .blog_list {
	margin-bottom:90px;
}

.meeting .blog_list li {
	width:48.6%;
	max-width:540px;
}

.meeting .me_btn {
	width:31%;
}


/*-------------------------------
	join
-------------------------------*/

.join {
	margin-bottom:120px;
}

.join_wrap {
	width:100%;
	max-width:1920px;
	margin:0 auto;
	padding-right:40px;
	position:relative;
}

.join_wrap::before {
	content:"";
	display: block;
	width:100%;
	height:calc(100% - 100px - 32px); /* 上のmarginとbtnの高さ1/2を引く */
	background:#404040;
	position:absolute;
	top:100px;
	left:0;
	z-index: -1;
}

.join_block {
	width:50%;
}

.jo_txt {
	width:86%;
	max-width:810px;
	padding:30px 7% 100px;
}

.join_block01 .jo_txt {
	margin-left:auto;
}

.jo_txt h2 {
	font-size:4rem;
	font-weight:500;
	line-height:1.25;
	margin-bottom:0.5em;
}

.jo_txt h2::before {
	content:attr(data-en);
	display: block;
	margin-bottom:0.5em;
	font-size:2.8rem;
	font-weight:500;
	font-family: 'Shippori Mincho B1', serif;
	letter-spacing: 0.05em;
}

.jo_txt p {
	color:#fff;
	font-size:1.6rem;
	line-height:2.25;
	min-height:calc(2.25em * 3);
}

.jo_txt a {
	display: block;
	margin:30px 0 0 0;
	padding:20px 60px 20px 0;
	position:relative;
	border-bottom:1px solid #fff;
	font-weight:500;
	font-size:1.6rem;
}

.jo_txt a::after {
	content:"";
	display: block;
	width:43px;
	height:9px;
	background:url(../images/arrow_right.svg) no-repeat center / contain;
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	margin:auto 0;
	transition:right .2s;
}

.jo_txt a:hover {
	opacity:0.4;
}

.jo_txt a:hover::after {
	right:-10px;
}

.join_block .btn {
	margin-left:21%;
}

/*-------------------------------
	affe wrap
-------------------------------*/

.chairman {
	padding-left:100px;
}

.member {
	padding-right:100px;
}

.affe {
	max-width:1920px;
	margin:0 auto 150px;
}

.affe .inner {
	max-width:1560px;
	padding:0;
}

.chairman .inner {
	margin:0 0 0 auto;
}

.member .inner {
	margin:0 auto 0 0;
}

.affe_wrap {
	position:relative;
}

.affe_txt {
	padding:0 4% 70px;
	background:#fff;
	width:50%;
	max-width:590px;
	position:absolute;
	left:0;
	top:0;
	z-index: 1;
}

.member .affe_txt {
	left:auto;
	right:0;
}

.affe_txt h1 {
	margin-bottom:1.5em;
}

.affe_txt h2 {
	font-size:2.4rem;
	line-height:1.65;
	margin-bottom:1em;
	font-weight:500;
}

.affe_txt p {
	line-height:2.25;
	margin-bottom:2em;
	font-weight:400;
}

.affe_img {
	margin-top:120px;
	height:35vw;
	max-height:660px;
	min-height:440px;
}

.chairman .affe_img img {
	object-position: bottom right;
	font-family: 'object-fit: contain; object-position: bottom right;';

}

.chairman_img {
	min-height:560px;
}

.chairman_txt {
	width:74%;
	max-width:960px;
}

/*-------------------------------
	news
-------------------------------*/

.news {
	padding-bottom:140px;
	margin-bottom:140px;
}

.news::before {
	content:"";
	display: block;
	width:100%;
	height:calc(100% - 140px);
	position:absolute;
	bottom:0;
	left:0;
	background:#b7b7b7;
	z-index: -2;
}

.news .bg_wrap h4 {
	font-size:2.4rem;
	border-bottom:2px solid #000;
	padding-bottom:1em;
}

.news .bg_wrap {
	padding:40px 60px 50px;
	position:relative;
}

.news .bg_wrap::before {
	content:"";
	display: block;
	width:50%;
	height:100%;
	background:#fff;
	position:absolute;
	right:-50%;
	top:0;
}

.news .bg_wrap .btn {
	margin-top:70px;
}

/*-------------------------------
	link banner
-------------------------------*/

.link_banner_wrap {
	background:#b7b7b7;
	padding:100px 0 100px;
}

.link_banner {
	margin:0px auto 0;
}

.link_banner a,
.link_banner::after {
	width:32%;
}

.link_banner a:hover {
	opacity:0.7;
}

/*-------------------------------
	responsive
-------------------------------*/

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

	.f_view h1 {
		font-size:8rem;
		top:2%;
	}

	.affe_txt h1 {
		font-size:4.8rem;
	}

	.affe_txt {
		width:55%;
	}

	.chairman {
		padding-left:50px;
	}

	.member {
		padding-right:50px;
	}

	.affe_img {
		margin-top:150px;
	}

	.chairman_txt {
		width:74%;
	}
	

/*-------------------------------
	link banner
-------------------------------*/

.link_banner a {
	width:48%;
	margin-bottom:30px;
}

.link_banner::after {
	width:48%;
}


}

/*-------------------------------
	ver sp
-------------------------------*/

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

.inner {
	max-width:100%;
}
	

/*-------------------------------
	eyecatch
-------------------------------*/

#eyecatch figure img {
	width:32vw;
}

/*-------------------------------
	f view 
-------------------------------*/

.f_view {
	height:auto;
	min-height:auto;
	max-height:100%;
	padding:0 0 0 5vw;
}

.f_view_inner {
	padding-top:5vw;
}

.f_view h1 {
	font-size:3.6rem;
	left:6.25vw;
	top:5vw;
}

.f_view h1 span {
	font-size:1.4rem;
}

.f_view h1 .f_en {
	letter-spacing: 0;
	margin-top:1.5em;
	padding-top:1.65em;
}
.f_view h1 .f_en::before {
	width:40%;
	height:0.5vw;
}

.f_view .btn_red {
	height:16vw;
	line-height:15vw;
	left:6.25vw;
}


/* --- slider --- */

.slider {
	padding:22vw 0 8vw 0;
}

/*-------------------------------
	block
-------------------------------*/

.block h1 {
	font-size:2.8rem;
}

/*-------------------------------
	history
-------------------------------*/

.history {
	padding:10vw 0 15vw;
}

.history .inner {
	padding:0 5vw 0 0;
}

.history::before {
	height:120vw;
}

.history::after {
	display: none;
}

.history h1 {
	font-size:5rem;
	padding-left:7.5vw;
	margin-bottom:1em;
}

.his_txt {
	padding:7.5vw  5vw 10vw 7.5vw;
	max-width:95vw;
}

.his_txt h2 {
	font-size:1.8rem;
}

.his_txt .btn {
	margin:7.5vw 0 0 0;
}


/*-------------------------------
	meeting
-------------------------------*/

.meeting {
	margin-bottom:25vw;
}

.meeting .blog_list {
	margin-bottom:15vw;
}

.meeting .blog_list li {
	width:100%;
	max-width:100%;
}


/*-------------------------------
	join
-------------------------------*/

.join {
	margin-bottom:25vw;
}

.join_wrap {
	max-width:100%;
	padding-right:5vw;
}

.join_wrap::before {
	height:calc(100% - 10vw); /* 上のmarginとbtnの高さ1/2を引く */
	top:10vw;
}

.join_block {
	width:100%;
}

.join_block01 {
	margin-bottom:15vw;
}

.jo_txt {
	width:100%;
	max-width:100%;
	padding:7.5vw 0vw 10vw 7.5vw;
}

.jo_txt h2 {
	font-size:2.4rem;
	margin-bottom:1em;
}

.jo_txt h2::before {
	font-size:1.8rem;
}

.jo_txt p {
	font-size:1.4rem;
	line-height:1.85;
	min-height:auto;
}

.jo_txt a {
	margin:5vw 0 0 0;
	padding:5vw 10vw 5vw 0;
	font-size:1.8rem;
	letter-spacing: -0.04em;
}

.jo_txt a::after {
	width:8vw;
	height:1.75vw;
}

.jo_txt a:hover::after {
	right:-2.5vw;
}

.join_block .btn {
	margin:0 0 0 7.5vw;
}

/*-------------------------------
	affe wrap
-------------------------------*/

.chairman {
	padding-left:0;
}

.member {
	padding-right:0;
}

.affe {
	margin-bottom:25vw;
}

.affe .inner {
	max-width:100%;
	padding:0;
}

.affe_txt h1 {
	margin-bottom:0.75em;
}

.affe_txt {
	padding:0vw 5vw 7.5vw 7.5vw; 
	background:#fff;
	width:95vw;
	max-width:100%;
	position:relative;
	left:auto;
	top:auto;
}

.member .affe_txt {
	left:auto;
	right:auto;
}

.affe_txt h2 {
	font-size:1.8rem;
	margin-bottom:0.75em;
}

.affe_txt p {
	line-height:1.85;

}

.affe_img {
	margin-top:0px;
	height:61.75vw;
	max-height:100%;
	min-height:auto;
	margin-top:-6vw;
}

.chairman_txt {
	width:95vw;
}


/*-------------------------------
	news
-------------------------------*/

.news {
	padding-bottom:20vw;
	margin-bottom:20vw;
}

.news::before {
	/* height:calc(100% - 15.5vw); */
	height:calc(100% - 16vw);
}

.news .bg_wrap h4 {
	font-size:1.8rem;
	border-width:1px;
}

.news .bg_wrap {
	padding:5vw 0 20vw 7.5vw;
}

.news .blog_list li {
	border-color:#b7b7b7;
}

.news .bg_wrap::before {
	width:7.5vw;
	right:-7.5vw;
}

.news .bg_wrap .btn {
	margin-top:0vw;
	position:absolute;
	bottom:-7.5vw;
	left:7.5vw;
}

/*-------------------------------
	link banner
-------------------------------*/

.link_banner_wrap {
	padding:25vw 0 25vw;
}

.link_banner {
	margin:0vw auto 0;
}

.link_banner a {
	width:100%;
}

.link_banner a {
	margin-bottom:7.5vw;
}

.link_banner::after {
	display: none;
}


}


