@charset "UTF-8";
/* CSS Document */

/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
	display: block;
}
html{
	font-size: 62.5%;
}
body{
	color:#595757;
	font-size: 1.4em;
	font-family: 'Noto Sans JP', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-weight: 400;
	letter-spacing: 0.16rem;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
}
p{
	line-height: 170%;
}
ol, ul{
	list-style: none;
}
blockquote, q{
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after{
	content: '';
	content: none;
}
a{
	color:#000;
	text-decoration:none;
	transition: all 0.3s;
}
a:link{
	color:#000;
}
a:visited{
	color:#000;
}
a:hover{
	text-decoration:none;
}
img{
	vertical-align: top;
}
table{
	table-layout:fixed;
	border-collapse: collapse;
	border-spacing: 0;
}
*,*::before,*::after{
	box-sizing: border-box;
}

/* iPad背景切れ対策 */
@media print, screen and (min-width:813px){
	body{
		min-width: 1200px;
	}
}

/* 表示切替 */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}

/* print */
@media print{
	*, *::before, *::after{
		animation: none !important;
		opacity: 1 !important;
	}
}


/*
	common
-----------------------------------------------------------------------------------------------*/
:root{
	/* color */
	--clrLtGray:#868686;
	--clrBlue:  #3021ec;
	--clrRed:  #e60027;
	/* ベースcolor */
	--clrBase01:#ffcbff;
	--clrBase02:#d2ffc8;
	--clrBase03:#c6eeff;
	--clrBase04:#ffd5b2;
	--clrBase05:#ffd58f;
	--clrBase06:#f0ff95;
	--clrBase07:#bcb4e6;
	--clrBase08:#ffbeaf;

	/* タイトルグラデーション */
	--gradTit:linear-gradient(90deg, #4158D0, #C850C0 30%, #FFCC70);
	/* ベースグラデーション */
	--gradBlue:linear-gradient(60deg, rgba(90,110,250,1) 0%, rgba(117,199,250,1) 80%);
	/* ベースグラデーションホバー時 */
	--gradBlueHv:linear-gradient(60deg, rgba(117,199,250,1) 0%, rgba(90,110,250,1) 80%);
		/* ベースcolor */
	--gradBase01:linear-gradient(60deg, rgba(240,220,171,1) 0%, rgba(255,174,236,1) 100%);
	--gradBase02:linear-gradient(60deg, rgba(190,255,195,1) 0%, rgba(150,215,255,1) 100%);
	--gradBase03:linear-gradient(60deg, rgba(230,255,255,1) 0%, rgba(120,175,230,1) 100%);
	--gradBase04:linear-gradient(60deg, rgba(250,227,161,1) 0%, rgba(250,184,166,1) 100%);
	--gradBase05:linear-gradient(90deg, rgba(255,212,120,1) 0%, rgba(255,245,150,1) 60%);
	--gradBase06:linear-gradient(60deg, rgba(225,255,170,1) 0%, rgba(255,210,233,1) 100%);
	--gradBase07:linear-gradient(70deg, rgba(188,180,230,1) 0%, rgba(240,230,254,1) 60%);
	--gradBase08:linear-gradient(60deg, rgba(255,190,175,1) 0%, rgba(255,230,205,1) 100%);

	/* font */
	--fNotoSa: 'Noto Sans JP', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	--fEn:     'Roboto', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}

/* box */
.ctsArea{
	/*width: 1200px;*/
	padding: 0 30px 60px 30px;
	margin: 0 auto;
}
.ctsArea:last-of-type{
	padding-bottom: 0;
}

/* font / txt */
.txtSizeL{
	text-align: center;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 200%;
}

/* txtLink */
a.txtLink{
	color: var(--clrBlue);
}


/*
	headerWrapper
-----------------------------------------------------------------------------------------------*/
#headerWrapper{
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background:rgba(255,255,255,0.95);
	width: 100%;
	min-width: 1200px;
	height: 70px;
	padding-left: 30px;
	top:0;
	border-bottom: 1px solid #c9c9ca;
	z-index: 32;
}
.headerLi{
	display: flex;
	gap: 30px;
}
.headerLi li{
	color: #595757;
	font-weight: bold;
}
.headerLi li a{
	color: var(--clrLtGray);
	transition: all 0.3s;
}
.headerLi li.event a{
	color: var(--clrRed);
	font-weight: bold;
}
.headerLi li.active a{
	color: #000000;
	font-weight: bold;
	text-decoration: underline;
}
.headerLi li a:hover{
	opacity: 0.9;
	text-decoration: underline;
}
.headerLi li:last-of-type{
	margin:0;
}
.headerLi li.hpBtn a{
	position: relative;
	background: #000000;
	font-weight: bold;
	text-decoration: none;
	top:0px;
	padding: 16px 30px 16px 25px;
	border-radius:5px 0 0 5px;
	transition: all 0.3s;
}
.headerLi li.hpBtn a:hover{
	background:#444444;
}

.headerLi li.hpBtn a{
	color: #ffffff;
}
.headerLi li.hpBtn a::after{
	content: " ";
	display: block;
	width: 8px;
	height: 8px;
	border: 2px solid;
	border-color: #fff #fff transparent transparent;
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
}

/*logo*/
.logo{
	width: 300px;
	transition: all 0.3s;
}
.logo:hover{
	opacity: 0.6;
}
.logo a,
.logo img{
	display: block;
	width: 100%;
	height: 100%;
}

/*
	ctsWrapper
-----------------------------------------------------------------------------------------------*/
#ctsWrapper{
	position: relative;
	padding: 70px 0 0 0;
}
/*
	kvArea
-----------------------------------------------------------------------------------------------*/
.kvArea{
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 80px 30px 160px;
}
.kvArea .kvTit,
.secTit{
	font-size: 5.4rem;
	line-height: 170%;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
	letter-spacing: 0.2rem;
}
.kvArea .kvTit span,
.secTit span{
	display: inline-block;
	background: var(--gradTit);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.mainArea{
	width: 1200px;
	height: 900px;
	margin: 0 auto;
	position: relative;
	background: url(../images/kv_bg.svg) no-repeat bottom center;
}
/*--ベース--*/
.huwaBase{
	position: absolute;
	padding: 70px 130px 90px 90px;
	filter: drop-shadow(2px 2px 8px rgba(0,0,0,0.15));
}
.huwaBase .titArea .titEn{
	position: relative;
	display: inline-block;
}
.huwaBase .titArea .titEn::after{
	content: " ";
	display: block;
	position: absolute;
	width: 115px;
	height: 115px;
	bottom: 0;
	right: -140px;
}
.huwaBase .titArea .titJp{
	margin: 25px 0;
}
.huwaBase .txt{
	font-size: 1.2rem;
	text-align: justify;
}

/*--main01--*/
.mainArea .main01{
	width: 500px;
	background: var(--gradBase01);
	top:50px;
	left:0;
	border-radius: 31% 61% 48% 36% / 50% 51% 48% 47% ;
}
.mainArea .main01 .titArea .titEn::after{
	background: url(../images/icoSub01.svg) center center no-repeat;
	bottom: -50px;
}
/*--main02--*/
.mainArea .main02{
	width: 490px;
	background: var(--gradBase02);
	top: 140px;
	right: -20px;
	border-radius: 57% 83% 72% 72% / 63% 68% 79% 83%;
}
.mainArea .main02 .titArea .titEn::after{
	background: url(../images/icoSub02.svg) center center no-repeat;
}
/*--main03--*/
.mainArea .main03{
	width: 520px;
	background: var(--gradBase03);
	top: 500px;
	left: -120px;
	border-radius: 71% 80% 91% 69% / 79% 94% 72% 86%;
}
.mainArea .main03 .titArea .titEn::after{
	background: url(../images/icoSub03.svg) center center no-repeat;

}
/*--main04--*/
.mainArea .main04{
	width: 478px;
	background: var(--gradBase04);
	top: 600px;
	right: -20px;
	border-radius: 73% 71% 76% 53% / 80% 90% 62% 75%;
}
.mainArea .main04 .titArea .titEn::after{
	background: url(../images/icoSub04.svg) center center no-repeat;
}

/*チェックボタン*/
.checkBtn{
	position: absolute;
	display: inline-block;
	background: var(--gradBlueHv);
	width: 60px;
	height: 60px;
	line-height: 50px;
	border: 2px solid #231978;
	border-radius: 50%;
	box-shadow: -5px 6px 0 #231978;
	bottom: -10px;
	right: 90px;
	padding: 0;
	cursor: pointer;
	transition: all 0.3s;
}
.checkBtn::after{
	position: absolute;
	content: " ";
	display: block;
	width: 56px;
	height: 18px;
	background: url(../images/btn_check.svg) no-repeat top center;
	top:-20px;
}
.checkBtn:hover{
	transform: translate(-8px, 5px);
	box-shadow: 0 2px 0 #231978;
}
.checkBtn img{
	display:block;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}
.main01 .checkBtn{
	left: 100px;
}
.leadTxt{
	
	text-align: center;
	font-weight: bold;
	font-size: 2.0rem;
	line-height: 240%;
	padding-top: 80px;
}

/*
	#subArea サブエリア
-----------------------------------------------------------------------------------------------*/
#subArea{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}
#subArea::before,
#subArea .mainAreaSub::after{
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 80%;
	z-index: -1;
}
#subArea::before{
	background: linear-gradient(60deg, rgba(253,252,215,0.6) 0%, rgba(200,233,255,0.6) 100%);
}
.mainAreaSub{
	position: relative;
	width: 1050px;
	height: 830px;
	margin: 0 auto;
}
@media screen and (min-width:813px){
	#subArea .mainAreaSub::after{
		background: url(../images/ph_kvSub01.svg) left top 250px no-repeat, 
					url(../images/ph_kvSub02.svg) right 420px bottom 100px no-repeat;
	}
}

/*--main05--*/
.mainAreaSub .main05{
	width: 476px;
	background: var(--gradBase05);
	top: -60px;
	left: 50px;
	border-radius: 66% 67% 53% 78% / 62% 77% 52% 81%;
}

.mainAreaSub .main05 .titArea .titEn::after{
	background: url(../images/icoSub05.svg) center center no-repeat;
}

/*--main06--*/
.mainAreaSub .main06{
	width: 513px;
	background: var(--gradBase06);
	top: -20px;
	right: -60px;
	border-radius:81% 93% 75% 80% / 93% 87% 99% 86%;
}
.mainAreaSub .main06 .titArea .titEn::after{
	background: url(../images/icoSub06.svg) center center no-repeat;
}

/*--main07--*/
.mainAreaSub .main07{
	width: 476px;
	background: var(--gradBase07);
	bottom: -20px;
	left: -50px;
	border-radius:57% 65% 65% 77% / 51% 75% 71% 86%;
}
.mainAreaSub .main07 .titArea .titEn::after{
	background: url(../images/icoSub07.svg) center center no-repeat;
}

/*--main08--*/
.mainAreaSub .main08{
	width: 513px;
	background: var(--gradBase08);
	bottom: -60px;
	right: 30px;
	border-radius:72% 77% 72% 72% / 68% 60% 72% 66%;
}
.mainAreaSub .main08 .titArea .titEn::after{
	background: url(../images/icoSub08.svg) center center no-repeat;
}

/*
	#detailArea
-----------------------------------------------------------------------------------------------*/
#detailArea{
	padding: 140px 0 120px 0;
}
.detailLi{
	display:flex;
	justify-content:space-between;
	flex-wrap: wrap;
	justify-content: center;
	width: 960px;
	margin: 0 auto;
	gap: 100px 80px;
}
.detailLi li{
	width: calc((100% - 80px)/2);
}
.detailLi li .txt{
	margin: 30px 0;
	font-size: 1.2rem;
	text-align: justify;
}
.viewBtn{
	position: relative;
	display: inline-block;
	width: 100%;
	background: var(--gradBlueHv);
	font-weight: bold;
	text-align: center;
	padding: 20px;
	border-radius: 30px;
}
a.viewBtn{
	color: #ffffff;
}
.viewBtn::before,
.viewBtn::after{
	content: '';
	position: absolute;
	background:#ffffff;
	height: 1px;
	top: 0;
	bottom: 0;
	right: 60px;
	margin: auto;
	transition: all .3s;
}
.viewBtn::before{
	width: 30px;
}
.viewBtn::after{
	width: 9px;
	bottom:5px;
	transform: rotate(35deg);
}
@media screen and (min-width:813px){
	.viewBtn:hover::before,
	.viewBtn:hover::after{
		right:50px;
	}
}

/*
	#schedulelArea イベントスケジュール
-----------------------------------------------------------------------------------------------*/
#schedulelArea{
	background: linear-gradient(60deg, rgba(250,220,255,0.6) 0%, rgba(180,235,230,0.6) 80%);
	padding:96px 0;
	margin: 0 auto;
	overflow: hidden;
}
#schedulelArea .ctsArea{
	display: flex;
	flex-direction: column;
	align-items: center;
}
.titSchedule{
	text-align: center;
	margin-bottom: 50px;
}
.scheduleLi{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	width: 640px;
	gap: 0 40px;
}
.scheduleLi li{
	display: flex;
	flex-direction: column;
	background: #ffffff;
	width:calc((100% - 40px) / 2);
	height: 420px;
	padding: 20px;
	filter: drop-shadow(2px 2px 8px rgba(0,0,0,0.15));
}
.scheduleLi li.event_non{
	display: flex;
	flex-direction: column;
	background: #ffffff;
	padding: 20px;
	filter: drop-shadow(2px 2px 8px rgba(0,0,0,0.15));
}

/*--column03--*/
.scheduleLi.column03{
	width: 960px;
	gap: 0 20px;
	padding: 0 30px;
}
.scheduleLi.column03 li{
	width:calc((100% - 60px) / 3);
}

/*--column04--*/
.scheduleLi.column04{
	width: 1200px;
	gap: 20px 20px;
	padding: 0 30px;
}
.scheduleLi.column04 li{
	width:calc((100% - 60px) / 4);
}

/*--column05--*/
.scheduleLi.column05{
	width: 1360px;
	gap: 0 20px;
}
.scheduleLi.column05 li{
	width:calc((100% - 80px) / 5);
}
.scheduleLi li .day{
	font-size: 4.0rem;
	font-weight: bold;
	text-align: center;
}
.scheduleLi li .day span{
	font-size: 1.9rem;
}
.scheduleLi li .area{
	width: 120px;
	font-size: 1.6rem;
	margin: 0 auto 20px auto;
	color: #595757;
	border: 1px solid rgba(160, 160, 160, .8);
	text-align: center;
	padding: 7px 0;
	line-height: 100%;
}
.scheduleLi li .area.sci{
	background: #c02;
}
.scheduleLi li .area.science{
	background: #ffffff;
	color: #2d31aa;
	border: 2px solid #2d31aa;
}
.scheduleLi li .detailBox{
	display: flex;
	flex-direction: column;
	gap: 10px
}
.scheduleLi li .event{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 150%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
	overflow: hidden;
}

.scheduleLi li .linkBtnArea{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	text-align: center;
	margin-top: auto;
	gap: 5px;
}
.scheduleLi li a.linkBtn{
	position: relative;
	display: block;
	width: 100%;
	color: #ffffff;
	font-size: 1.3rem;
	padding: 25px 0;
	line-height: 100%;
	border-radius: 5px;
	transition: all 0.3s;
	z-index: 1;
}

.scheduleLi li a.linkBtn span::before,
.scheduleLi li a.linkBtn span::after{
	content: '';
	position: absolute;
	background:#ffffff;
	height:1px;
	top: 0;
	bottom: 0;
	right:10%;
	margin: auto;
	transition: all .3s;
}
.scheduleLi li a.linkBtn span::before{
	width: 10%;
}
.scheduleLi li a.linkBtn span::after{
	width: 10px;
	bottom:5px;
	transform: rotate(35deg);
}
@media screen and (min-width:813px){
	.scheduleLi li a.linkBtn:hover span::before,
	.scheduleLi li a.linkBtn:hover span::after{
		right:8%;
	}
}
.scheduleLi li .linkBtn.colGr{
	background:linear-gradient(60deg, rgba(95,210,165,1) 0%, rgba(30,180,190,1) 80%);
}
@media screen and (min-width:813px){
	.scheduleLi li .linkBtn.colGr::before{
		content: "";
		display: block;
		position: absolute;
		background:linear-gradient(60deg, rgba(30,180,190,1) 0%, rgba(95,210,165,1) 80%);
		width: 100%;
		height: 100%;
		top: 0;
		transition: all 0.6s;
		border-radius: 5px;
		z-index: -1;
	}
	.scheduleLi li .linkBtn.colGr:hover::before{
		opacity: 0;
	}
}
.scheduleLi li .linkBtn.colRed{
	background: var(--clrRed);	
}
.scheduleLi li .linkBtn.colRed:hover{
	background:#ba0404;	
}

/* イベント終了時「event_non」 予約のみグレーアウト */
.scheduleLi li.event_non .linkBtn.colRed,
.scheduleLi li.event_non a.linkBtn span::after{
	pointer-events:none;
}
.scheduleLi li.event_non a.linkBtn.colRed span::before,
.scheduleLi li.event_non a.linkBtn.colRed span::after{
	display: none;
}
.scheduleLi li.event_non .linkBtn.colRed,
.scheduleLi li.event_non .linkBtn.colRed:hover{
	background:#cccccc;
}
/*
.scheduleLi li.event_non .linkBtn.colGr::before,
.scheduleLi li.event_non .linkBtn.colRed{
	display: none;
}
*/
@media screen and (max-width: 812px){
	.scheduleLi li.event_non .linkBtn.colRed,
	.scheduleLi li.event_non .linkBtn.colRed:hover{
		line-height: 140%;
	}
}


/*
	#internshiplArea インターンシップエリア
-----------------------------------------------------------------------------------------------*/
#internshiplArea{
	padding:100px 0;
}
.internshipBtnArea{
	position: relative;
	background: var(--gradBlueHv);
	width: 600px;
	height: 120px;
	line-height: 120px;
	margin: 0 auto;
	border-radius: 5px;
}
@media screen and (min-width:813px){
	.internshipBtnArea::before{
		content: "";
		display: block;
		position: absolute;
		background: var(--gradBlue);
		width: 600px;
		height: 120px;
		top: 0;
		border-radius: 5px;
		transition: all 0.6s;
	}
	.internshipBtnArea:hover::before{
		opacity: 0;
	}
}
a.internshipBtn{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	z-index: 5;
}

/*
	footerWrapper
-----------------------------------------------------------------------------------------------*/
#footerWrapper{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 70px;
	background: #e5e5e5;
}

/* copyright */
#footerWrapper .copyright{
	text-align: center;
	font-size: 1.2rem;
	font-family: var(--fEn);
	font-weight: 400;
}

/* pageTop */
#pageTop{
	display: block;
	width: 70px;
	height: 70px;
	background-color: #000000;
	position: absolute;
	top: 0;
	right: 0;
}
#pageTop::before{
	content: " ";
	display: block;
	width: 20px;
	height: 20px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -10%) rotate(-45deg);
	transition: all 0.3s;
}
#pageTop:hover{
	opacity:0.7
}

	/*
		スマホ
	---------------*/
@media screen and (max-width:812px){
	body{
		-webkit-text-size-adjust:100%;
		font-size: 1.4rem;
	}
	img{
		width:100%;
	}
	p{
		line-height: 150%;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
	/*
		common
	-----------------------------------------------------------------------------------------------*/
	/* box */
	.ctsArea{
		width: 100%;
		max-width: 500px;
		padding: 0 20px 50px;
	}
/*
		headerWrapper
	-----------------------------------------------------------------------------------------------*/
	#headerWrapper{
		height: 50px;
		padding-left: 15px;
		min-width: initial;
	}
	.headerLi{
		display: block;
	}
	.headerLi li{
		margin: 0 auto;
		text-align: center;
		border-bottom:1px solid #eeeeee;
	}
	.headerLi li a{
		display: block;
		padding:20px 30px;
	}
	.headerLi li.hpBtn a{
		border-radius: 0;
		display: block;
		padding:20px 30px;
		background: #eeeeee;
		color: #595757;
	}
	.headerLi li.hpBtn a::after{
		content:none;
	}
	/*logo*/
	.logo {
		width: 254px;
	}

		/*スマホのみナビ*/
	.nav {
		position: fixed;
		right: -320px; /* 右から出てくる */
		top: 0;
		width: 300px; /* スマホに収まるサイズ */
		height: 100vh;
		padding-top: 60px;
		background-color: #fff;
		transition: all .5s;
		z-index: 200;
		overflow-y: auto; /* メニューが多くなったらスクロールできるように */
	}
	.hamburger {
		position: absolute;
		width: 40px; /* クリックしやすい幅 */
		height: 40px; /* クリックしやすい高さ */
		top: 0;
		bottom: 0;
		right: 5px;
		margin: auto;
		cursor: pointer;
		z-index: 300;
	}
	.nav_list {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.nav_item {
		text-align: center;
		padding: 0 14px;
	}
	.nav_item a {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid #eee;
		text-decoration: none;
		color: #333;
	}
	.nav_item a:hover {
		background-color: #eee;
	}
	.hamburger_border {
		position: absolute;
		left: 11px;
		width: 18px;
		height: 2px;
		background-color: #333;
		transition: all .6s;
	}
	.hamburger_border_top {
		top: 14px;
	}
	.hamburger_border_center {
		top: 20px;
	}
	.hamburger_border_bottom {
		top: 26px;
	}
	.black_bg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		z-index: 100;
		background-color: #333;
		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}

	/* 表示された時用のCSS */
	.nav-open .nav {
		right: 0;
	}
	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}
	.nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 20px;
	}
	.nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	}
	.nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}
	/*
		entryNavi
	-----------------------------------------------------------------------------------------------*/
	.entryNavi{
		position: fixed;
		bottom: 80px;
		right: 0;
		
		z-index: 5000;
	}
	.NaviList{
		display: flex;
		flex-direction: column;
		gap: 4px;
	}
	.NaviList .btn{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 40px;
		writing-mode: vertical-rl;
		text-orientation: upright;
		background-color: #000000;
		padding: 20px 0;
		border-radius: 10px 0 0 10px;
	}
	.NaviList .btn a{
		color:#FFF;
		font-weight: bold;
		font-size: 1.2rem;
		letter-spacing: 0.02rem;
	}
	/*イベント情報のボタン*/
	.NaviList .btn.event{
		background-color: rgba(255,255,255,0.85);
		border: 2px solid var(--clrRed);
		border-right: none;
	}
	.NaviList .btn.event a{
		color: var(--clrRed);
	}

	/*
		ctsWrapper
	-----------------------------------------------------------------------------------------------*/
	#ctsWrapper{
		width:100%;
		padding: 50px 0 0 0;
		overflow: hidden;
	}
	/*
		kvArea
	-----------------------------------------------------------------------------------------------*/
	.kvArea{
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0 0 40px 0;
	}
	.kvArea .kvTit{
		font-size: 2.5rem;
		letter-spacing: 0.15rem;
		line-height: 140%;
		margin: 30px auto 20px;
	}
	.mainArea{
		order: 3;
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
		background-size: 135%;
		background-position: 45% 0;
		padding-top: 108%;
		margin-top: -60px;
		gap: 30px;
	}
	.huwaBase .titArea .titEn::after{
		width: 50px;
		height: 50px;
		bottom: 0;
		right: -70px;
	}
	/*--ベース--*/
	.huwaBase{
		padding: 40px 50px 70px;
		filter: drop-shadow(2px 2px 5px rgba(0,0,0,0.15));
	}
	.huwaBase:nth-of-type(2n){
		margin-left: auto;
	}
	.mainArea .main01,
	.mainArea .main02,
	.mainArea .main03,
	.mainArea .main04,
	.mainAreaSub .main05,
	.mainAreaSub .main06,
	.mainAreaSub .main07,
	.mainAreaSub .main08{
		position: relative;
		width: 90%;
		max-width: 400px;
		top: initial;
		right: initial;
		left: initial;
		bottom: initial;
	}
	.mainArea .main01 .titArea .titEn::after,
	.mainArea .main02 .titArea .titEn::after,
	.mainArea .main03 .titArea .titEn::after,
	.mainArea .main04 .titArea .titEn::after,
	.mainAreaSub .main05 .titArea .titEn::after,
	.mainAreaSub .main06 .titArea .titEn::after,
	.mainAreaSub .main07 .titArea .titEn::after,
	.mainAreaSub .main08 .titArea .titEn::after{
		background-size: 50px;
	}
	.mainArea .main01 .titArea .titEn::after{
		bottom: -20px;
	}
	.huwaBase .titArea{
		display: flex;
		flex-direction: column;
		align-items:flex-start;
	}
	.huwaBase .titArea .titEn{
		height: 35px;
	}
	.huwaBase .titArea .titJp{
		display: inline-block;
		height: 25px;
		margin: 20px 0;
	}
	/*--タイトル2行の場合--*/
	.huwaBase .titArea .titJp.twoLine{
		height: 56px;
	}
	.huwaBase .titArea .titEn img,
	.huwaBase .titArea .titJp img{
		width: 100%;
		height: 100%;
	}

	.mainArea .main01 .txt,.mainArea .main02 .txt,.mainArea .main03 .txt,.mainArea .main04 .txt,.mainAreaSub .main05 .txt,.mainAreaSub .main06 .txt{
		font-size: 1.0rem;
	}

	/*チェックボタン*/
	.checkBtn{
		border-radius: 50%;
		line-height: 45px;
		width: 45px;
		height: 45px;
		bottom: 0;
		right: 50px;
		box-shadow: -4px 4px 0 #231978;
	}
	.huwaBase:nth-of-type(2n-1) .checkBtn{
		left: 45px;
	}
	.checkBtn img{
		width:19px;
		height: 15px;
	}
	.checkBtn::after{
		width: 45px;
		height: 14px;
		background: url(../images/btn_check.svg) no-repeat top center;
		background-size: 45px 14px;
		top:-15px;
	}
	.leadTxt{
		order: 2;
		font-size: 1.6rem;
		padding: 0 20px;
		line-height: 170%;
		z-index: 1;
	}

	/*
		#subArea サブエリア
	-----------------------------------------------------------------------------------------------*/
	#subArea::after {
		width: 100%;
		height: 90%;
	}
	.mainAreaSub{
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
		gap: 30px;
	}
	#subArea::before, #subArea::after {
		height: 92%;
	}
	
	/*
		#detailArea
	-----------------------------------------------------------------------------------------------*/
	#detailArea{
		padding: 50px 0 60px 0;
	}
	#detailArea .ctsArea{
		padding: 0 40px 0;
	}
	.detailLi{
		flex-direction: column;
		width: 100%;
		gap: 50px;
	}
	.detailLi li{
		width: 100%;
	}
	.detailLi li .txt{
		margin :15px auto;
	}
	/*
		#schedulelArea イベントスケジュール
	-----------------------------------------------------------------------------------------------*/
	#schedulelArea{
		padding: 40px 0;
	}
	#schedulelArea .ctsArea{
		padding: 0 15px 0;
	}
	.titSchedule{
		width: auto;
		height: 40px;
		margin: 0 auto;
		margin-bottom: 30px;
	}
	.titSchedule img{
		width: 100%;
		height: 100%;
	}
	.scheduleLi{
		justify-content:space-between;
		width: 100%;
		height: 100%;
		gap: 25px 10px;
	}
	/*--column03--*/
	.scheduleLi.column03{
		width: 100%;
		gap: 25px 10px;
		padding: initial;
	}
	.scheduleLi.column03 li{
		width: calc((100% - 10px) / 2);
	}
	/*--column04--*/
	.scheduleLi.column04{
		width: 100%;
		gap: 25px 10px;
		padding: initial;
	}
	.scheduleLi.column04 li{
		width: calc((100% - 10px) / 2);
	}
	/*--column05--*/
	.scheduleLi.column05{
		width: 100%;
		gap: 25px 10px;
	}
	.scheduleLi.column05 li{
		width: calc((100% - 10px) / 2);
	}
	.scheduleLi li{
		width:calc((100% - 10px) / 2);
		height: auto;
		padding: 15px;
	}
	/* イベント終了時「event_non」 予約のみグレーアウト */
	.scheduleLi li.event_non{
		padding: 15px;
	}
	.scheduleLi li.event_non .linkBtn.colRed{
		padding: 10px 0;
	}
	.scheduleLi li .day{
		font-size: 2.0rem;
		margin-bottom: 5px;
	}
	.scheduleLi li .day span{
		font-size: 1.4rem;
	}
	.scheduleLi li .area{
		width: 100%;
		font-size:1.4rem;
		margin-bottom: 15px;
	}
	.scheduleLi li .event{
		font-size: 1.4rem;
		font-weight: bold;
		line-height: 150%;
		-webkit-line-clamp: 4; /* 制限したい行数が3の場合 */
	}
	.scheduleLi li .place{
		font-size:1.2rem;
	}
	.scheduleLi li .detailBox{
		padding-bottom: 30px;
	}
	.scheduleLi li a.linkBtn{
		font-size: 1.2rem;
		padding: 20px 0;
	}
	.scheduleLi li a.linkBtn::before{
		right:7%;
		width: 8%;
	}
	.scheduleLi li a.linkBtn::after{
		right:6%;
		width: 7px;
	}
	.scheduleLi li a.linkBtn:hover::before{
		right:5%;
	}
	.scheduleLi li a.linkBtn:hover::after{
		right:5%;
	}
	.scheduleLi li a.linkBtn span::before,
	.scheduleLi li a.linkBtn span::after{
		right:6%;
	}

	/*
		#internshiplArea インターンシップエリア
	-----------------------------------------------------------------------------------------------*/
	#internshiplArea{
		padding:40px 0;
	}
	.internshipTit{
		width:240px;
		text-align: center;
		margin: 0 auto;
	}
	.internshipBtnArea{
		width: 85%;
		height: 100px;
		line-height: 180%;
	}
	a.internshipBtn{
		display: flex;
		justify-content: center;
		align-items: center;
		font-size:1.6rem;
		width: 100%;
		padding: 20px;
	}
	
	/*
		kvWrapper
	-----------------------------------------------------------------------------------------------*/
	#kvWrapper{
		height: 100vh;
		min-height: 600px;
	}
	#kvWrapper .kvArea{
		display: block;
		width: 100%;
		height: calc(100% - 56px);
	}
	

	/*
		footerWrapper
	-----------------------------------------------------------------------------------------------*/
	#footerWrapper{
		height: 60px;
		padding: 0 80px 0 20px;
		border: none;
	}

	/* copyright */
	#footerWrapper .copyright{
		width: 100%;
		font-size: 1rem;
	}

	/* pageTop */
	#pageTop{
		width: 60px;
		height: 60px;
	}
	#pageTop::before{
		width: 15px;
		height: 15px;
		transform: translate(-50%, -20%) rotate(-45deg);
	}
}

@media (orientation: landscape) and (max-width:812px){
	/*デバイスが横向きの場合の記述*/
	#kvWrapper{
		min-height: 560px;
	}
	#kvWrapper .kvArea::before{
		max-width: 300px;
	}
}