@charset "utf-8";



/**************************************************
 visualHanger
**************************************************/
#visualHanger{
	position: relative;
	height: calc(100vh - 150px);
	min-height: 600px;
	background: #DF7000;
	overflow: hidden;
	z-index: 2;
}

#visualHanger .visualBg{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	overflow: hidden;
	mix-blend-mode: screen;
	opacity: 0.3;
	z-index: 0;
}
#visualHanger .visualBg img{position: absolute;}
#visualHanger .visualBg img:first-of-type{
	width: 38%;
	top: -5%;
	right: -5%;
}
#visualHanger .visualBg img:last-of-type{
	width: 30%;
	bottom: -5%;
	left: -5%;
}

#visualHanger .obj{
	position: absolute;
	width: 38%;
	right: 2%;
	bottom: -2%;
	z-index: 1;
}
#visualHanger .obj img{width: 100%;}

#visualHanger .title{
	position: absolute;
	width: 45%;
	top: 0;
	left: 0;
	z-index: 2;
}
#visualHanger .title img{
	position: absolute;
	width: 100%;
	top: 90px;
	left: -2%;
}

#visualHanger .copy{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	padding-left: 5%;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
	z-index: 3;
}
#visualHanger .copy img{
	width: 7%;
	height: auto;
}

#visualHanger .date{
	position: absolute;
	z-index: 4;
	display: none;
}



/**************************************************
 main
**************************************************/
main{
	position: relative;
	overflow-x: clip;
	background: #F8F4F0;
}
main::before{
	position: fixed;
	width: 100%;
	height: calc(100vh - 79px);
	top: 79px;
	left: 0;
	/*filter: blur(30px);
	border-radius: 100%;*/
	background: linear-gradient(45deg, #F46346, #533A5A);
	z-index: 0;
	opacity: 0.35;
	mix-blend-mode: hard-light;
	/*animation: deco1 4s ease-in-out infinite alternate forwards running;*/
}
@keyframes deco1{
  	0%{
		transform: translateY(0) translateX(0) scale(1.0) rotate(0deg);
	}
	100%{
		transform: translateY(-30px) translateX(30px) scale(1.25) rotate(360deg);
	}
}

article{
	position: relative;
	padding: 100px 20px 100px 20px;
	overflow-x: clip;
}

article h2{
	position: relative;
	width: 600px;
	height: 100px;
	font-size: 4.0rem;
	font-weight: 900;
	letter-spacing: 4px;
	text-align: center;
	color: #FFFFFF;
	margin: 0 auto;
	background: #3B446A;
	box-shadow: 25px -15px #F46346,-25px 15px #F5A99B;
	border-radius: 20px;
	/*transform:skew(-25deg);*/
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	align-items: center;
}
article h2 span{
	position: relative;
	/*transform:skew(25deg);*/
}

article h3{
	position: relative;
	margin: 80px auto 0 auto;
	padding: 30px 20px;
	font-size: 3.2rem;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.3;
	text-align: center;
	/*color: #FFFF00;*/
	color: #FFFFFF;
	/*background: linear-gradient(70deg, #004EA2, #2C406A);*/
	background: #FF8000;
	/*border-radius: 10.0rem;*/
	/*border-top-right-radius: 25px;
	border-bottom-left-radius: 25px;*/
	border-radius: 10.0rem;
}

article p{
	margin-top: 40px;
	font-size: 1.8rem;
	line-height: 1.8;
	text-align: left;
}
article p a{
	/*color: #00A3D9;*/
	color: #FF007F;
	text-decoration: underline;
}
article p a:hover{opacity: 0.5;}
article p.style1{
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 2px;
	color: #FF007F;
	text-align: center;
	margin-top: 0;
}
article p.style1 small{
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 1px;
	margin-top: 20px;
	color: #000000;
}
article p.style1 small span{
	display: inline-block;
	color: #FFFF00;
	background-color: #00A5E3;
	margin-right: 15px;
	padding: 0 15px;
	border-radius: 10.0rem;
	
}
article p.center{text-align: center;}
article p.style2{margin-top: 0;}

article div,
section{
	width: 850px;
	margin: 0 auto;
}

article table{
	width: 100%;
	margin: 15px 0 0 0;
	border-top: 2px solid #FFFFFF;
	border-left: 2px solid #FFFFFF;
}
article table th{
	font-size: 1.6rem;
	font-weight: 500;
	color: #FFFFFF;
	padding: 15px;
	text-align: left;
	border-bottom: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
	background: #F5A99B;
}
article table td{
	font-size: 1.6rem;
	padding: 15px;
	border-bottom: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
}
article table tbody tr:nth-child(odd) td{background: #F8F4F0;}
article table.style1 tbody tr:nth-of-type(odd) td{background: #F8F4F0;}

.btnHanger{
	margin: 80px 0 0 0;
	width: 100%;
	text-align: center;
}
.btnHanger.style1{margin: 40px 0 10px 0;}
.btnHanger a{
	position: relative;
	display: inline-block;
	min-width: 400px;
	padding: 25px 0;
	margin: 0 auto;
	font-size: 2.0rem;
	line-height: 1.0;
	color: #FFFFFF;
	text-align: center;
	background: #000000;
	border-radius: 10.0rem;
}
.btnHanger a::before{
	width: 12px;
	height: 12px;
	top: calc(50% - 6px);
	right: 30px;
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
	transform: rotate(45deg);
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.btnHanger a:hover{opacity: 0.5;}
.btnHanger a:hover::before{right: 20px;}

a.btn{
	position: relative;
	display: block;
	width: 250px;
	margin: 30px auto 0 auto;
	padding: 15px 0;
	font-size: 1.6rem;
	line-height: 1.0;
	color: #FFFFFF;
	text-align: center;
	background: #000000;
	border-radius: 10.0rem;
}
a.btn::before{
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	top: calc(50% - 4px);
	right: 20px;
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
	transform: rotate(45deg);
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
a.btn:hover{opacity: 0.5;}
a.btn:hover::before{right: 10px;}

a.formBtn{
	position: relative;
	display: block;
	width: 450px;
	margin: 50px auto 0 auto;
	padding: 25px 0;
	font-size: 2.4rem;
	line-height: 1.0;
	color: #FFFFFF;
	text-align: center;
	text-decoration: none;
	background: #FF007F;
	border-radius: 10.0rem;
}
a.formBtn::before{
	width: 14px;
	height: 14px;
	top: calc(50% - 7px);
	right: 30px;
	border-top: 3px solid #FFFFFF;
	border-right: 3px solid #FFFFFF;
	transform: rotate(45deg);
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
a.formBtn:hover{opacity: 0.5;}
a.formBtn:hover::before{right: 20px;}

.inquiryBtn{
	position: fixed;
	top: calc(50% - 178px);
	right: 0;
	background: #FFFFFF;
	border: 2px solid #FFFFFF;
	border-right: none;
	z-index: 9999;
}
.inquiryBtn a{
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 2px;
	color: #FFFFFF;
	padding: 15px;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	background: #FF007F;
}
.inquiryBtn a:hover{opacity: 0.5;}

.inquiryBtn2{
	position: fixed;
	top: calc(50% - 20px);
	right: 0;
	background: #FFFFFF;
	border: 2px solid #FFFFFF;
	border-right: none;
	z-index: 9999;
}
.inquiryBtn2 a{
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 2px;
	color: #FFFFFF;
	padding: 15px;
	-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	background: #0080FF;
}
.inquiryBtn2 a:hover{opacity: 0.5;}

.imageHanger{margin-top: 60px;}
.imageHanger.style1{
	position: relative;
	width: 850px;
	/*margin: 0 auto 150px auto;*/
	margin: 0 auto;
	padding-bottom: 150px;
	z-index: 10;
	text-align: center;
}
.imageHanger.style2{margin-top: 40px;}
.imageHanger strong{
	position: relative;
	display: inline-block;
	font-size: 2.8rem;
	font-weight: 700;
	margin-bottom: 30px;
	padding-bottom: 5px;
	color: #0A2C86;
	background:linear-gradient(transparent 50%, #FFFF00 60%);
}
.imageHanger strong span{
	font-size: 3.8rem;
	color: #E30112;
}
.imageHanger strong::before,
.imageHanger strong::after{
	position: absolute;
	content: '';
	width: 3px;
	height: calc(100% + 8px);
	top: 0;
	background: #0A2C86;
}
.imageHanger strong::before{
	left: -20px;
	transform: rotate(-30deg);
}
.imageHanger strong::after{
	right: -20px;
	transform: rotate(30deg);
}
.imageHanger img{
	display: block;
	width: 80%;
	margin: 0 auto;
}
.imageHanger img.full{width: 100%;}

#info ul{margin-top: 60px;}
#info ul li{
	margin-top: 20px;
	font-size: 1.6rem;
	line-height: 1.3;
}
#info ul li span{
	display: inline-block;
	padding: 5px 10px;
	margin-right: 10px;
	color: #FFFFFF;
	background: #FF007F;
}

.programHanger{
	margin-top: 50px;
	padding: 30px;
	background: #FFFFFF;
	/*box-shadow: 10px 10px rgba(95,180,230,0.35);*/
	border-radius: 1.5rem;
}
.programHanger h4{
	margin-top: 50px;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 2px;
	line-height: 1.3;
	text-align: center;
	padding: 15px;
	background: #F9CBC3;
	border-radius: 1.0rem;
}
.programHanger h5{
	margin-top: 35px;
	font-size: 1.9rem;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.3;
}
.programHanger p{
	font-size: 1.6rem;
	line-height: 1.8;
	padding: 0;
}
.programHanger p strong{
	display: block;
	font-size: 2.2rem;
	text-align: center;
}
.programHanger p.style1{padding-top: 40px;}
.programHanger .twoColumn{
	margin-top: 20px;
	width: 100%;
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	align-items: flex-start;
}
.programHanger .twoColumn.style1{margin-top: 0;}
.programHanger .twoColumn span{
	width: calc(50% - 20px);
	font-size: 1.6rem;
	line-height: 1.8;
}
.programHanger .twoColumn span.style1{
	width: 100%;
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: start;
	align-items: flex-start;
}
.programHanger .twoColumn span.style1 small{
	position: relative;
	display: inline-block;
	font-size: 1.6rem;
	padding: 15px 20px;
	border-radius: 10.0rem;
	color: #FFFFFF;
	background: #006DD9;
	/*margin: 0 auto 20px calc(50% - 210px);*/
	margin-bottom: 20px;
}
.programHanger .twoColumn span.style1 small::before{
	bottom: -20px;
	/*left: calc(50% - 10px);*/
	left: 40px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 21px 21px 0px 0px;
	border-color: #006DD9 transparent transparent transparent;
}
.programHanger .twoColumn span ul{
	list-style: disc;
	padding-left: 25px;
}
.programHanger .twoColumn span ul li{
	line-height: 1.3;
	margin-top: 8px;
}
.programHanger .twoColumn span ul li:first-of-type{margin-top: 4px;}
.programHanger .twoColumn span ul.style1{
	list-style: none;
	padding: 15px 0 0 0;
}
.programHanger .twoColumn span ul.style1 li{
	position: relative;
	padding-left: 75px;
}
.programHanger .twoColumn span ul.style1.type1 li{padding-left: 120px;}
.programHanger .twoColumn span ul.style1 li strong{
	position: absolute;
	top: 0;
	left: 0;
}
.programHanger .twoColumn span ul.style2{
	list-style: none;
	padding: 0;
	margin-bottom: 15px;
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
	/*-webkit-box-pack: center;
	justify-content: center;*/
}
.programHanger .twoColumn span ul.style2 li{
	background: #006DD9;
	color: #FFFFFF;
	padding: 10px 20px;
	text-align: center;
	margin: 0 10px 10px 0;
	border-radius: 0.6rem;
}
.programHanger .twoColumn span ol{padding-left: 25px;}
.programHanger .twoColumn span ol li{
	line-height: 1.3;
	margin-top: 8px;
}
.programHanger .twoColumn img{
	width: calc(50% - 20px);
}

.programHanger .threeColumn{
	/*margin-top: 10px;*/
	width: 100%;
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
}
.programHanger .threeColumn div{
	position: relative;
	width: calc((100% - 60px) / 3);
	margin: 40px 30px 0 0;
	padding: 15px;
	border-radius: 1.5rem;
	overflow: hidden;
	background: #F8F4F0;
	border: 2px solid #FFFFFF;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
}
.programHanger .threeColumn div:nth-of-type(3n){margin: 40px 0 0 0;}
/*.programHanger .threeColumn div:nth-of-type(2n){margin: 40px 0 0 0;}*/
.programHanger .threeColumn div img{width: 100%;}
.programHanger .threeColumn div dl{padding: 20px 0 0 0;}
.programHanger .threeColumn div dl dt{
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
.programHanger .threeColumn div dl dd{
	font-size: 1.5rem;
	line-height: 1.6;
	text-align: center;
	padding-top: 15px;
}
.programHanger .threeColumn div dl dd a.btn{
	/*width: 90%;*/
	width: 70%;
	padding: 10px 0;
	margin-top: 20px;
	font-size: 1.5rem;
}

.twoColumn2{
	margin-top: 30px;
	width: 100%;
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
}
.twoColumn2 dl{
	width: calc(50% - 10px);
	margin: 20px 20px 0 0;
	padding: 20px;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
	background: #FFFFFF;
	border-radius: 1.0rem;
}
.twoColumn2 dl:nth-of-type(2n){margin: 20px 0 0 0;}
.twoColumn2 dl dt{
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}
.twoColumn2 dl dt small{
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
	margin-top: 10px;
}
.twoColumn2 dl dd{
	font-size: 1.6rem;
	line-height: 1.8;
	padding-top: 15px;
}

.temporaryBus{
	margin-top: 40px;
	padding: 30px;
	box-shadow: 0 0 10px 0 rgba(0,0,0,0.2);
	background: #FFFFFF;
	border-radius: 1.0rem;
	display: none;
}
.temporaryBus dt{
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 2px;
	text-align: center;
}
.temporaryBus dd{
	font-size: 1.6rem;
	line-height: 1.8;
	padding-top: 30px;
}
.temporaryBus dd a{
	color: #000000;
	text-decoration: underline;
}
.temporaryBus dd a:hover{
	opacity: 0.5;
	text-decoration: none;
}

.laboratory ul li{
	width: calc(50% - 15px);
	margin: 30px 0 0 0;
}
.laboratory ul li:nth-of-type(2n){margin: 30px 0 0 30px;}
.laboratory ul li a{
	position: relative;
	display: block;
	font-size: 1.6rem;
	line-height: 1.3;
	text-align: center;
	color: #FFFFFF;
	padding: 15px 30px;
	background: #000000;
	border-radius: 10.0rem;
}
.laboratory ul li a::before{
	position: absolute;
	content: '';
	width: 8px;
	height: 8px;
	top: calc(50% - 4px);
	right: 20px;
	border-top: 2px solid #FFFFFF;
	border-right: 2px solid #FFFFFF;
	transform: rotate(45deg);
	-webkit-transition: 0.2s ease-in-out;
	transition: 0.2s ease-in-out;
}
.laboratory ul li a:hover{opacity: 0.5;}
.laboratory ul li a:hover::before{right: 10px;}

.schedule{
	width: 100%;
}

.programHanger .photoHanger{
	margin-top: 20px;
	width: 100%;
	display:-webkit-box;
  	display:flex;
	flex-wrap: wrap;
}
.programHanger .photoHanger img{
	width: calc(50% - 10px);
	margin: 10px 20px 0 0;
}
.programHanger .photoHanger img:nth-of-type(2n){margin: 10px 0 0 0;}


