@charset "UTF-8";
@import url(./var.css);

/*
トップナビ
*/

.cmn_nav {
	font-size: 20px;
	position: absolute;
	top: 181px;
	width: calc(100vw - var(--cmn_hd_right_img_width));
	z-index: 100;
}

.cmn_nav .cmn_nav_top {
	background-color: #ffffff;
	padding-bottom: 12px;
	padding-left: 4.6vw;
	width: 100%;
}

.cmn_nav .cmn_nav_top a {
	transition: .2 ease-in-out;
}

.cmn_nav .cmn_nav_btm {
	color: #ffffff;
	padding-left: 4.6vw;
	padding-top: 12px;
	position: absolute;
	z-index: 100;
}

.cmn_nav .cmn_nav_btm a {
	transition: .2s ease-in-out;
}

@media (hover: hover) {
	.cmn_nav .cmn_nav_top a:hover {
		color: #bfc3c2;
	}

	.cmn_nav .cmn_nav_btm a:hover {
		color: #000000;
	}
}

/*
トップヒーロー
*/
.home_hero {
	margin-top: 181px;
	overflow: hidden;
	position: relative;
}

.home_hero .home_hero_photo_l {
	margin-top: 250px;
	overflow: hidden;
	position: relative;
	top: 0;
	width: var(--cmn_hd_left_img_width);
}

.home_hero .home_hero_photo_r {
	overflow: hidden;
	position: absolute;
	right: 0;
	top: -100px;
	width: var(--cmn_hd_right_img_width);
}

.home_hero .overlay {
	background-color: #ffffff;
	height: 100%;
	position: absolute;
	width: 100%;
	z-index: 1;
}

.home_hero .overlay_gray {
	background-color: #bfc3c2;
	height: 100%;
	position: absolute;
	width: 100%;
	z-index: 2;
}

.home_hero .border_01_wrap {
	left: -4.8vw;
	position: absolute;
	top: 18.5vw;
	width: 14.7vw;
	z-index: 1;
}

.home_hero .border_01_wrap {
	mix-blend-mode: overlay;
}

.home_hero #border_01 {
	left: 0;
	mix-blend-mode: overlay;
	position: absolute;
	top: 0;
}

.home_hero .border_02_wrap {
	left: -3.28vw;
	mix-blend-mode: overlay;
	position: absolute;
	top: -2.8vw;
	width: 113vw;
	z-index: 1;
}

.home_hero #border_02 {
	left: 0;
	position: absolute;
	top: 0;
}

.home_hero .border_03_wrap {
	mix-blend-mode: overlay;
	position: absolute;
	right: -18.42vw;
	top: -1.4vw;
	width: 93vw;
	z-index: 1;
}

.home_hero #border_03 {
	left: 0;
	position: absolute;
	top: 0;
}

/*
コンセプト
*/

.side_txt_logo {
	position: absolute;
	right: -24px;
	top: 288px;
	width: 56px;
}

.concept .inner {
	padding-bottom: 142px;
	padding-top: 139px;
}

.concept .cmn_ttl_56 {
	max-width: 516px;
	width: 100%;
}

.concept .txt {
	font-size: 16px;
	font-weight: bold;
}

.concept .img_bg {
	overflow: hidden;
	position: relative;
}

.concept .border_04_wrap {
	left: -6.5vw;
	mix-blend-mode: overlay;
	position: absolute;
	top: 8.42vw;
	width: 72vw;
	z-index: 1;
}

.concept #border_04 {
	left: 0;
	position: absolute;
	top: 0;
}

.concept .border_05_wrap {
	left: 17.9vw;
	mix-blend-mode: overlay;
	position: absolute;
	top: -38.85vw;
	width: 41vw;
	z-index: 1;
}

.concept #border_05 {
	left: 0;
	position: absolute;
	top: 0;
}

/*
イベント
*/

.events {
	display: flex;
	justify-content: flex-end;
	padding: 173px 0 220px;
}

.events .slide_box {
	width: 88%;
}

.events .event_slide {
	position: relative;
}

.events .cmn_ttl_94 {
	left: -4.5px;
	line-height: 1;
	position: absolute;
	top: -5%;
	z-index: 10;
}

.events .slide_row {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.swiper-wrapper {
	-webkit-backface-visibility: hidden;
	will-change: transform;
}

.events .txt_slide {
	bottom: -34px;
	left: -45px;
	position: absolute;
}

.events .txt_slide .swiper-container-main {
	height: auto;
}

.events .event_info .cat {
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
	padding: 4px 16px 2px;
}

.events .event_info .cat[data-slug="seminar"] {
	background-color: #f9ea37;
}

.events .event_info .cat>span:nth-last-child(n+2)::after {
	content: " / ";
}

.events .event_info .time {
	background-color: #ffffff;
	display: inline-block;
	padding-left: 16px;
	padding-right: 16px;
}

.events .event_info .time .start_time {
	display: inline-block;
	font-size: 28px;
	font-weight: bold;
}

.events .event_info .time .start_time .small {
	font-size: 15px;
	font-weight: bold;
}

.events .event_info .time .end_time {
	display: inline-block;
	font-size: 18px;
	font-weight: bold;
}

.events .event_info .time .end_time .small {
	font-size: 11px;
	font-weight: bold;
}

.events .event_info .event_ttl {
	background-color: #000000;
	color: #ffffff;
	display: inline-block;
	font-size: 29px;
	font-weight: bold;
	padding: 3px 16px;
}

.events .slide_nav {
	display: flex;
	justify-content: flex-end;
	padding-top: 63px;
	position: relative;
	width: 70%;
}

.events .slide_nav .btn {
	display: flex;
	gap: 32px;
}

.events .slide_nav button {
	background-color: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
}

.events .slide_nav button {
	width: 61px;
}

.events .number_list {
	font-size: 31px;
	font-weight: bold;
	position: absolute;
	right: -95px;
	top: -95px;
	z-index: 1;
	text-shadow: 0 0 5px #ffffff;
}

.events .number_list .current_num {
	font-size: 43px;
}

.events .txt_slide {
	position: absolute;
	z-index: 100;
}

.events .center_slide {
	width: 70%;
}

.events .sub_slide {
	width: 25%;
}

.events .swiper-wrapper {
	-webkit-backface-visibility: hidden;
	will-change: transform;
}

.events .post {
	-webkit-backface-visibility: hidden;
	overflow: hidden;
	width: 100%;
	will-change: transform;
}

.events .post_bg {
	-webkit-backface-visibility: hidden;
	background-position: center;
	background-size: cover;
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
	will-change: transform;
}

.events .swiper-container-main {
	/* height: calc(100vh - 216px); */
	height: 35.78vw;
	transition: opacity .6s ease, transform .3s ease;
}

.events .sub_slide .swiper-container-main {
	height: 13.64vw;
}

/*
6つのトトン
*/
.about {
	background-color: #bfc3c2;
	padding: 100px 0 174px 7.14%;
	position: relative;
}

.about .about_box {
	position: relative;
	z-index: 1;
}

.about .cmn_ttl_56 {
	align-items: center;
	display: flex;
	left: 7.14%;
	line-height: 1;
	position: absolute;
	top: -75px;
}

.about .cmn_ttl_56 .num {
	font-size: 151px;
}

.about .txt_img {
	position: absolute;
	right: 8.1%;
	top: -25px;
	width: 505px;
}

.about .about_intro .txt {
	margin-bottom: 52px;
	width: 59%;
}

.about .about_scroll_area {
	padding-top: 120px;
	position: relative;
	width: 100%;
}

.about .about_wrap {
	display: flex;
	gap: 10vw;
	margin-left: 0;
	overflow-y: hidden;
	padding-left: 7.2%;
	padding-right: 7.2%;
	width: 386vw;
}

.about_single {
	display: flex;
	justify-content: center;
	position: relative;
	width: 59vw;
}

.about_single .single_body {
	display: flex;
	justify-content: flex-end;
}

.about_single .single_intro {
	margin-top: 25px;
	max-width: 774px;
	width: 92%;
}

.about_single .img {
	position: relative;
}

.about_single .img_ttl {
	bottom: -25px;
	left: -24px;
	position: absolute;
}

.about_single .single_body .txt {
	font-size: 16px;
}

.about .about_bg {
	background-color: #afb4b3;
	bottom: 0;
	height: 34.85vw;
	left: 0;
	position: absolute;
	width: 100%;
}

/*
news
*/

.news {
	padding-top: 146px;
}

.news .inner {
	padding-bottom: 164px;
}

.news .cmn_ttl_94 {
	line-height: .7;
	position: relative;
	z-index: 1;
}

.news .news_list {
	display: flex;
	gap: 0 calc(50% - 495px);
}

.news .news_single {
	position: relative;
	transition: .2s ease-in-out;
	width: 330px;
}

.news .news_single .img {
	position: relative;
}

.news .news_single .img time {
	bottom: 0;
	line-height: 1;
	position: absolute;
	right: -9px;
	transition: .2s ease-in-out;
	writing-mode: vertical-rl;
}

.news .news_single .news_ttl {
	margin-top: 18px;
	transition: .2s ease-in-out;
}

.news .cat_list {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.news .cat_list li {
	background-color: #4e4e4e;
	border-radius: 3px;
	color: #ffffff;
	font-size: 14px;
	padding-left: 10px;
	padding-right: 10px;
}

@media (hover: hover) {
	.news .news_single:hover {
		opacity: .7;
	}
}

.news .cmn_btn {
	margin-top: 77px;
	text-align: center;
}

.news .cmn_btn a {
	min-width: 330px;
}

.news .img_bg {
	overflow: hidden;
	position: relative;
}

.news .img_bg .txt_img {
	bottom: -107px;
	position: absolute;
	right: -150px;
	width: 802px;
	z-index: 2;
}

.news .border_06_wrap {
	left: -6.2vw;
	mix-blend-mode: overlay;
	position: absolute;
	top: -16.92vw;
	width: 40vw;
	z-index: 1;
}

.news #border_06 {
	left: 0;
	position: absolute;
	top: 0;
}

.news .border_07_wrap {
	mix-blend-mode: overlay;
	position: absolute;
	right: -3.36vw;
	top: 7.5vw;
	width: 51vw;
	z-index: 1;
}

.news #border_07 {
	left: 0;
	position: absolute;
	top: 0;
}
.about_btn{
	margin-top: -60px;
	max-width: 415px;
}
.about_btn .cmn_btn a{
	width: 100%;
}

@media screen and (max-width:1069px) {
	/*
    トップナビ
    */
	.cmn_nav {
		font-size: 16px;
		top: 170px;
		width: 360px;
	}

	.cmn_nav .cmn_nav_top {
		padding-left: 7.2vw;
	}

	.cmn_nav .cmn_nav_btm {
		padding-left: 7.2vw;
	}

	/*
    トップヒーロー
    */
	.home_hero {
		margin-top: 170px;
		overflow: hidden;
		position: relative;
	}

	.home_hero .home_hero_photo_l {
		margin-top: 209px;
	}

	.home_hero .home_hero_photo_l > img {
		height: 100vw;
		object-fit: cover;
	}

	.home_hero .home_hero_photo_r {
		height: 69vw;
		overflow: hidden;
		position: absolute;
		right: 0;
		top: 0;
		width: var(--cmn_hd_right_img_width);
	}

	.home_hero .overlay {
		background-color: #ffffff;
		height: 100%;
		position: absolute;
		width: 100%;
		z-index: 1;
	}

	.home_hero .overlay_gray {
		background-color: #bfc3c2;
		height: 100%;
		position: absolute;
		width: 100%;
		z-index: 2;
	}

	.home_hero .border_01_wrap {
		left: -4.8vw;
		position: absolute;
		top: 18.5vw;
		width: 14.7vw;
		z-index: 1;
	}

	.home_hero #border_01 {
		left: 0;
		position: absolute;
		top: 0;
	}

	.home_hero .border_02_wrap {
		left: -3.28vw;
		position: absolute;
		top: -2.8vw;
		width: 113vw;
		z-index: 1;
	}

	.home_hero #border_02 {
		left: 0;
		position: absolute;
		top: 0;
	}

	.home_hero .border_03_wrap {
		position: absolute;
		right: -18.42vw;
		top: 12vw;
		width: 120vw;
		z-index: 1;
	}

	.home_hero #border_03 {
		left: 0;
		position: absolute;
		top: 0;
	}

	/*
    コンセプト
    */

	.side_txt_logo {
		position: absolute;
		right: -13px;
		top: 0;
		width: 29px;
	}

	.concept .inner {
		padding-bottom: 50px;
		padding-top: 85px;
	}

	.concept .cmn_ttl_56 {
		margin-bottom: 61px;
		max-width: 516px;
		width: 100%;
	}

	.concept .txt {
		font-size: 16px;
		font-weight: bold;
	}

	.concept .img_bg {
		overflow: hidden;
		position: relative;
	}

	.concept .img_bg img {
		height: 80vw;
	}

	.concept .border_04_wrap {
		bottom: 50vw;
		left: -6.5vw;
		position: absolute;
		top: auto;
		width: 72vw;
		z-index: 1;
	}

	.concept #border_04 {
		left: 0;
		position: absolute;
		top: 0;
	}

	.concept .border_05_wrap {
		left: 17.9vw;
		position: absolute;
		top: 0;
		width: 41vw;
		z-index: 1;
	}

	.concept #border_05 {
		left: 0;
		position: absolute;
		top: 0;
	}

	/*
    イベント
    */

	.events {
		overflow: hidden;
		padding: 125px 0 116px;
	}

	.events .slide_box {
		padding: 0 7.2%;
		width: 100%;
	}

	.events .cmn_ttl_94 {
		left: 0;
		position: relative;
		top: 0;
	}

	.events .slide_row {
		justify-content: center;
	}

	.swiper-wrapper {
		-webkit-backface-visibility: hidden;
		will-change: transform;
	}

	.events .txt_slide {
		left: -17px;
		position: absolute;
	}

	.events .txt_slide .swiper-container-main {
		height: auto;
	}

	.events .event_info .cat {
		font-size: 11px;
		padding: 1px 7px 2px;
	}

	.events .event_info .time {
		padding-left: 16px;
		padding-right: 16px;
	}

	.events .event_info .time .start_time {
		font-size: 22px;
	}

	.events .event_info .time .start_time .small {
		font-size: 11px;
	}

	.events .event_info .time .end_time {
		font-size: 14px;
	}

	.events .event_info .time .end_time .small {
		font-size: 8px;
	}

	.events .event_info .event_ttl {
		font-size: 16px;
		padding: 3px 16px;
	}

	.events .slide_nav {
		justify-content: center;
		padding-top: 77px;
		width: 100%;
	}

	.events .slide_nav .btn {
		display: flex;
		gap: 88px;
	}

	.events .slide_nav button {
		width: 49px;
	}

	.events .slide_nav button svg {
		width: 100%;
	}

	.events .number_list {
		font-size: 16px;
		left: auto;
		margin: auto;
		position: absolute;
		right: auto;
		top: 80px;
	}

	.events .number_list .current_num {
		font-size: 25px;
	}

	.events .txt_slide {
		position: absolute;
		z-index: 100;
	}

	.events .center_slide {
		width: 100%;
	}

	.events .sub_slide {
		display: none;
	}

	.events .swiper-wrapper {
		-webkit-backface-visibility: hidden;
		will-change: transform;
	}

	.events .post {
		-webkit-backface-visibility: hidden;
		overflow: hidden;
		width: 100%;
		will-change: transform;
	}

	.events .post_bg {
		-webkit-backface-visibility: hidden;
		background-position: center;
		background-size: cover;
		height: 100%;
		left: 0;
		overflow: hidden;
		position: absolute;
		top: 0;
		width: 100%;
		will-change: transform;
	}

	.events .swiper-container-main {
		transition: opacity .6s ease, transform .3s ease;
	}

	.events .sub_slide .swiper-container-main {
		height: 13.64vw;
	}

	/*
    6つのトトン
    */
	.about {
		padding: 48px 7.2% 84px;
	}

	.about .about_box {
		position: relative;
		z-index: 1;
	}

	.about .cmn_ttl_56 {
		display: flex;
		left: 7.14%;
		position: absolute;
		top: -41px;
	}

	.about .cmn_ttl_56 .num {
		font-size: 75px;
	}

	.about .txt_img {
		position: absolute;
		right: -113px;
		top: 425px;
		transform: rotate(-90deg);
		width: 233px;
	}

	.about .about_intro .txt {
		margin-bottom: 52px;
		width: 100%;
	}

	.about .about_scroll_area {
		padding-top: 80px;
	}

	.about .about_wrap {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin-left: 0;
		overflow-y: inherit;
		padding-left: 0;
		padding-right: 0;
		width: 100%;
	}

	.about_single {
		align-items: center;
		display: flex;
		justify-content: center;
		position: relative;
		width: 100%;
	}

	.about_single:not(:last-of-type) {
		margin-bottom: 45px;
	}

	.about_single .single_body {
		justify-content: flex-start;
	}

	.about_single .single_intro {
		margin-top: 34px;
		max-width: 100%;
		width: 100%;
	}

	.about_single .img_ttl {
		bottom: -25px;
		left: -24px;
		min-width: 61.5px;
		position: absolute;
		width: 16%;
	}

	.about_single .single_body .txt {
		font-size: 16px;
	}

	.about .about_bg {
		height: calc(100% - 600px);
	}

	/*
    news
    */

	.news {
		padding-top: 70px;
	}

	.news .inner {
		padding-bottom: 76px;
	}

	.news .cmn_ttl_94 {
		line-height: .7;
		position: absolute;
		top: -10px;
		z-index: 1;
	}

	.news .news_list {
		display: block;
		padding: 0;
	}

	.news .news_single {
		position: relative;
		transition: .2s ease-in-out;
		width: 100%;
	}

	.news .news_single:not(:last-child) {
		margin-bottom: 33px;
	}

	.news .news_single a {
		display: flex;
		gap: 19px;
	}

	.news .news_single .img {
		width: 45%;
	}

	.news .news_single .img time {
		font-size: 11px;
		right: -6px;
	}

	.news .news_single .txt_area {
		width: 55%;
	}

	.news .news_single .news_ttl {
		margin-top: 0;
	}

	.news .cat_list {
		display: flex;
		gap: 5px;
		margin-top: 12px;
	}

	.news .cat_list li {
		display: inline-block;
		font-size: 14px;
		padding-left: 8px;
		padding-right: 8px;
	}

	.news .cmn_btn {
		margin-top: 77px;
		text-align: center;
	}

	.news .cmn_btn a {
		min-width: 330px;
	}

	.news .img_bg {
		overflow: hidden;
		position: relative;
	}

	.news .img_bg img {
		height: 80vw;
	}

	.news .img_bg .txt_img {
		bottom: -155px;
		position: absolute;
		right: -130px;
		width: 370px;
	}

	.news .border_06_wrap {
		left: -6.2vw;
		position: absolute;
		top: -16.92vw;
		width: 65vw;
		z-index: 1;
	}

	.news #border_06 {
		left: 0;
		position: absolute;
		top: 0;
	}

	.news .border_07_wrap {
		position: absolute;
		right: -3.6vw;
		top: 36.5vw;
		width: 70vw;
		z-index: 1;
	}

	.news #border_07 {
		left: 0;
		position: absolute;
		top: 0;
	}
	.about_btn{
		margin-top: 60px;
	}
}

@media screen and (max-width:767px) {
	/*
    トップナビ
    */
	.cmn_nav {
		width: 203px;
	}

	.events .swiper-container-main {
		height: 81vw;
	}

	.about_single .img_ttl {
		left: -4%;
	}
}