﻿@charset "UTF-8";


html {
    font-size: 62.5%;
    -webkit-appearance: none;
    -webkit-tap-highlight-color: transparent;
}

body {
	-webkit-text-size-adjust: 100%;
	color: #000;
	animation: fadeIn 1.5s ease 0s 1 forwards;
	background:#D9EAF2;
	box-sizing:border-box;
	line-height:1.8em;
	font-size:1.5em;
	font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "Helvetica Neue", Arial, sans-serif;
	letter-spacing:.03em;
}

.din{
	font-family: "din-2014", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.blue{color:#008DC5}
img{width:100%;}
a{transition:all .3s ease-out;cursor: pointer;}
.small{font-size:70%;}
.Fbold{font-weight:bold;}
.wrap{max-width:1000px;margin:auto;}

header{background:#fff;padding:20px 0;z-index:99;position: relative;}
header .wrap{display:flex;justify-content: space-between;align-items: center;position: relative;}
header .logo{display:block;}
header .logo:hover{opacity:.6;}
header .logo img{max-width:185px;}
header p{font-weight:bold;font-size:2.4rem;}
header nav{
	width: 100%;
	height: 100vh;
	margin-left: auto;
	display: flex;
	flex-direction: column;
	color: #efefef;
	background: rgba(0, 0, 0, 0.75);
	transition: .3s;
	position: fixed;
	right: -100%;
	top:0;
  	
  }
header nav ul{width: 100%;height: 100%;display: flex;justify-content: center;align-items: center;flex-direction: column;}
header nav ul li{font-size:2.5rem;font-weight:bold;text-align: center;}
header nav ul li:not(:last-child){margin-bottom:70px;}
header nav ul li span{display: block;margin:0 auto 10px;}
header nav ul li a{display: inline-block;vertical-align: middle;}
header nav ul li a:hover{color:#008DC5;}
header nav ul li span{color:#a7a7a7;}
header button{position: absolute;top: 50%;right: 0;width: 33px;height: 33px;z-index: 10;transform: translateY(-50%);}
header button.is-fixed{position: fixed;right:3%;top:5%;}
header .btn-line {display: block;position: relative;width: 100%;height: 3px;background: #707070;border-radius:3px;transition: .2s;}
header .btn-line::before, header .btn-line::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #707070;
  border-radius:3px;
  transition: .5s;
}
header .btn-line::before {transform: translateY(-11px);}
header .btn-line::after {transform: translateY(11px);}
/*メニューオープン時*/
header nav.open {right: 0;}
header .btn-line.open {background-color: transparent;}
header .btn-line.open::before, header .btn-line.open::after {content: "";background: #fff; transition: .2s;}
header .btn-line.open::before {transform: rotate(45deg);}
header .btn-line.open::after {transform: rotate(-45deg);}

footer{background: #008DC5;padding:40px 15px 30px;color:#fff}
footer nav ul{display: flex;justify-content: center;margin-bottom:50px;}
footer nav ul li:not(:last-child){margin-right:25px;}
footer nav ul li a:hover{text-decoration: underline;}
footer .by{margin:70px 0 20px;display: flex;align-items: center;justify-content: center;}
footer .by li span{display: inline-block;vertical-align: middle;padding-right:5px;}
footer .by li img{max-width:130px;display: inline-block;vertical-align: middle;}
footer .copyright{font-size:1.2rem;margin-top:.5em;}
footer .btn{padding:10px 15px;background:#fff;text-align:center;color:#000;font-weight:bold;border-radius:45px;margin:auto;display: block;max-width: 260px;margin-bottom:20px;}
footer .toiawase{text-align: center;margin-bottom:40px;}
footer .toiawase .midashi{font-size:1.8rem;font-weight:bold;margin-bottom:10px;}
footer .toiawase .midashi span{position: relative;padding-left:25px;padding-bottom:2px;}
footer .toiawase .midashi span::before{content:"";position: absolute;background: url(../images/icon_mail.png) no-repeat center center / cover;top:50%;left: 0;transform: translateY(-50%);width:18px;height:18px;transition:all .3s ease-out;}

main .wrap{background: #fff;padding-bottom:40px;}
.container{max-width:940px;margin:auto;}

.anime{opacity:0;}
.anime.show{
	animation: zoomIn 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  }
   
  @keyframes zoomIn {
	0% {
	  transform: scale(0.8);
	  opacity: 0;
	}
	100% {
	  opacity: 1;
	  transform: scale(1);
	}
  }


  .anime.slidein.show {
	animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  }
   
  @keyframes slideIn {
	0% {
	  transform: translateX(180px);
	  opacity: 0;
	}
	100% {
	  transform: translateX(0);
	}
	40%,100% {
	  opacity: 1;
	}
  }
   


/*Try*/
#Try .try_top .mainvisual{background: url(../images/try_bg.jpg) no-repeat center center / cover;top:0;left: 0;aspect-ratio: 16/9;padding:110px 30px 60px;}
#Try .try_top .mainvisual h1 span{font-size:2.1rem;font-weight:bold;color:#008DC5;}
#Try .try_top .mainvisual h1 img{max-width:407px;display: block;}
#Try .try_top .mainvisual p{font-size:1.9rem;font-weight:bold;line-height:1.7em;margin-top:60px;}
#Try .intro{margin:40px auto;color:#0C3388;font-size:1.6rem;max-width:880px;line-height:2.4em;width:92%;}

#Try .program, #Openday .days{max-width:940px;margin:auto;}
#Try .program .item{background:#D9EAF2;padding:35px 40px;margin-top:40px;}
#Try .program .item .company{color: #008DC5;font-weight:bold;font-size:2rem;}
#Try .program .item .company a{position: relative;display: inline-block;padding-right:20px;}
#Try .program .item .company a::before{content:"";position: absolute;width: 15px;height: 15px;background: url(../images/icon_blink.png) no-repeat center center / cover;top: 50%;right: 0;transform: translateY(-50%);
	filter: brightness(0) saturate(100%) invert(38%) sepia(72%) saturate(1013%) hue-rotate(162deg) brightness(97%) contrast(102%);}
#Try .program .item .company a:hover{opacity:.6;}
#Try .program .item h2{text-align: center;font-weight:bold;font-size:3rem;margin:25px 0 30px;line-height:1.3em;}
#Try .program .item h3{text-align: center;font-weight:bold;font-size:2rem;color: #008DC5;margin-bottom:30px;line-height:1.4em;}
#Try .program .item figure{overflow: hidden;}
#Try .program .item figure a{position: relative;display: block;}
#Try .program .item figure a::before{content:"";position: absolute;width: 23px;height: 23px;background: url(../images/icon_blink.png) no-repeat center center / cover;top: 15px;right: 15px;}
#Try .program .item figure a.blue::before{filter: brightness(0) saturate(100%) invert(38%) sepia(72%) saturate(1013%) hue-rotate(162deg) brightness(97%) contrast(102%);}
#Try .program .item figure a:hover{filter: blur(2px);}
#Try .program .item h4{text-align: center;font-weight:bold;font-size:2rem;color: #008DC5;margin:25px 0 10px;}
#Try .program .item .btn{color:#fff;background: #008DC5;font-weight:bold;font-size:2rem;text-align: center;padding:15px;border-radius:42px;margin:30px auto 0;display: block;max-width:285px;}
#Try .program .item .btn:hover{background: #fff;color:#008DC5;}
#Try .program .item .btn.comingsoon{background: #959595;cursor: none;pointer-events: none;max-width:380px;}

/*Top*/
#Top .mainvisual{background: url(../images/top_bg.jpg) no-repeat center center / cover;top:0;left: 0;padding:120px 30px 70px;}
#Top .mainvisual h1{text-align: center;margin-bottom:70px;}
#Top .mainvisual h1 img{max-width:601px;}
#Top .mainvisual p{font-size:clamp(1.9rem, 1.5rem + 1.2vw, 3rem);text-align: center;font-weight:bold;line-height:1.3em;}
#Top h2, .sub .pagetop h1{font-size:3.5rem;text-align: center;font-weight: bold;}
#Top h2 span{color:#008DC5;font-size:2rem;display: block;margin-bottom:10px;}
#Top .news{margin:60px auto;max-width:860px;width: 94%;}
#Top .news .box, .sub .container .box{border:3px solid #D6D6D6;border-radius:20px;padding:30px 35px;}
#Top .news .box{margin:30px 0 50px;}
#Top .news dl{font-weight:bold;}
#Top .news dl:not(:first-of-type){margin-top:15px;}
#Top .news dl dt{color:#008DC5}
#Top .news dl dd a:hover{text-decoration: underline;}
#Top .news .sns{display: flex;justify-content: center;align-items: center;}
#Top .news .sns li{margin:0 10px;}
#Top .news .sns li a{display: block;}
#Top .news .sns li a:hover{opacity:.6;}
#Top .openday{background: url(../images/openday_bg.jpg) no-repeat center center / cover;padding:45px 0;}
#Top h2.din{text-align: center;color:#008DC5;line-height:1em}
#Top .openday h2{font-size:clamp(6.5rem, 4.143rem + 10.48vw, 12rem);margin-bottom:25px;}
#Top .openday h2 img{max-width:473px;}
#Top .openday p, #Top .base p{text-align: center;font-size:clamp(1.7rem, 1.4rem + 1.33vw, 2.4rem);font-weight:bold;line-height:1.3em;}
#Top .openday ul li a:hover, #Top .base ul li a:hover{transform: scale(0.95);}
#Top .openday ul li a{background: #fff;border-radius:20px;display: block;overflow: hidden;}
#Top .base{background: url(../images/base_bg.jpg) no-repeat center center / cover;padding:45px 0;margin:40px 0;}
#Top .base h2{font-size:clamp(4.5rem, 2.143rem + 10.48vw, 10rem);margin-bottom:15px;}
#Top .base ul li a{display: block;}
#Top .try{background: url(../images/try_bg.jpg) no-repeat center center / cover;margin-top:40px;padding:50px 0;}
#Top .try h3{font-size:2.1rem;color:#008DC5;font-weight:bold;margin-bottom:10px;}
#Top .try h2{font-size:clamp(7rem, 3.571rem + 15.24vw, 15rem);line-height:0.9em;}
#Top .try a{display:block;font-weight:bold;color:#008DC5;background:#fff;border-radius:24px;text-align:center;margin:20px auto 0;max-width:220px;font-size:1.8rem;padding:10px;position: relative;}
#Top .try a::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 27px;
	width: 9px;
	height: 9px;
	margin: auto;
	border-top: 2px solid #008DC5;
	border-right: 2px solid #008DC5;
	transform: rotate(45deg);
	box-sizing: border-box;
	transition: .5s;
  }
#Top .try a:hover{background: #008DC5;color:#fff;}
#Top .try a:hover::after{border-color:#fff;}
.sub .pagetop{background: url(../images/pagetop_bg.jpg) no-repeat center center / cover;padding:45px 20px;}
.sub .pagetop h1 span{color:#008DC5;font-size:2rem;display: block;margin-bottom:20px;line-height:1em;}
.sub .container{max-width:860px;padding-top:40px;}
.sub .container .box h2{font-size:2rem;color:#008DC5;font-weight:bold;text-align: center;margin-bottom:10px;}
.sub .container .box h2:not(:first-of-type){margin-top:35px;}
#Privacy .box p a{color:#008DC5;text-decoration: underline;}
#Privacy .box p a:hover{text-decoration: none;}

#Openday .mainvisual{background: url(../images/openday_bg.jpg) no-repeat center center / cover;padding:130px 30px 60px;}
#Openday .mainvisual h1{text-align: center;margin-bottom:40px;}
#Openday .mainvisual h1 img{max-width:790px;}
#Openday .mainvisual p{font-size:clamp(1.6rem, 1.471rem + 0.57vw, 1.9rem);font-weight:bold;line-height:1.7em;}
#Openday .days .box{border:3px solid #D6D6D6;border-radius:20px;overflow: hidden;padding-bottom:30px;}
#Openday .days .box dl{display: flex;padding:20px 30px 0;align-items: flex-start;justify-content: space-between;}
#Openday .days .box dl dt{width:5em;}
#Openday .days .box dl dd{width:calc(100% - 6em);}
#Openday .days .box dl:first-of-type a{display: inline-block;margin-top:10px;}
#Openday .days .box dl:first-of-type a:hover{opacity:.6;}
#Openday #day1 dl:first-of-type img{max-width:245px;}
#Openday #day2 dl:first-of-type img{max-width:218px;}
#Openday .days .box dl:not(:first-of-type) a{color:#008DC5;font-weight:bold;text-decoration: underline;}
#Openday .days .box dl:not(:first-of-type) a:hover{text-decoration: none;}
#Openday .days .box dl:not(:first-of-type) a.end{color:#959595;text-decoration: none;cursor: none;pointer-events: none;font-weight:400;}
#Openday .red{color:#e74d4d;border:1px solid #e74d4d;padding:3px 0 3px 6px;}
.gmap{position: relative;width: 100%;padding-top:70%;margin-top:10px;}
.gmap iframe{position: absolute;top: 0;right: 0;width: 100%;height: 100%;aspect-ratio: 16 / 9;}
#Openday .attention{text-align: center;margin-top:40px;font-size:1.8rem;font-weight:bold;}


@media screen and (min-width:769px) {
	.sp-only{display: none;}
	.pc-only{display: block;}

	header p{margin-right:10%;}
	header nav ul li:nth-child(2) a:first-of-type{border-right:1px solid #fff;padding-right:15px;margin-right:15px;}
	footer .by li:first-child{margin-right:5%;}

	#Top .mainvisual{aspect-ratio: 1/0.673;}
	#Top .news dl{display: flex;justify-content: space-between;align-items:flex-start;}
	#Top .news dl dt{width:9.5em;}
	#Top .news dl dd{width:calc(100% - 11em);}
	#Top .openday ul, #Top .base ul{display: flex;align-items: center;justify-content: space-between;margin-top:45px;}
	#Top .openday ul li, #Top .base ul li{width:48%;}
	#Top .try .flex{display:flex;align-items: flex-end;}
	#Top .try .flex p{margin-bottom:5px;}

	#Openday .mainvisual{aspect-ratio:1/0.515;}
	#Openday .days .flex{display: flex;justify-content: space-between;align-items: stretch;margin-top:40px;}
	#Openday .days .box{width:48%;}

}



@media screen and (min-width:769px) and (max-width:1300px) {
	header{padding:20px 15px;}
	header .wrap p{font-size:2rem;margin-right:15%;}
	#Try .try_top .mainvisual p{font-size:1.7rem;}
	#Try .program .item h2{font-size:2.6rem;}

}

@media screen and (min-width:769px) and (max-width:992px) {
	header .wrap p{font-size:1.75rem;margin-right:12%;}
	#Top .container, .sub .container{width:94%;}

}


@media screen and (min-width:769px) and (max-width:846px) {
	header .wrap p{font-size:1.7rem;margin-right:10%;}
	header .wrap p span{display: block;}
 
}


@media screen and (max-width:768px) {
	.sp-only{display: block;}
	.pc-only{display: none;}

	header{padding:4vw;}
	header .logo img{max-width:32vw;}
	header .wrap p{font-size:1.6rem;line-height:1.4em;}
	header button{width: 36px;height: 36px;}
	header .btn-line::before {transform: translateY(-12px);}
	header .btn-line::after {transform: translateY(12px);}
	header button.is-fixed{position: fixed;right:4vw;top:4.5%;}
	header nav ul li{font-size:1.8rem;}
	footer .by{flex-direction: column;margin:12vw 0 0;}
	footer .by li{margin-bottom:5vw;}

	#Try .try_top .mainvisual, 	#Openday .mainvisual{padding:16vw 5vw 10vw;}
	#Try .try_top .mainvisual h1{text-align: center;}
	#Try .try_top .mainvisual h1 img{margin:auto;max-width:72vw;}
	#Try .try_top .mainvisual p{font-size:1.6rem;margin-top:10vw;}
	#Try .program .item{padding:7vw 5vw 8vw;margin-top:5vw;}
	#Try .program .item h2{font-size:2.3rem;margin:4vw 0;}
	#Try .program .item h3{font-size:1.6rem;margin-bottom:5vw;}
	#Try .program .item .btn{font-size:1.8rem;margin-top:5vw;}
	#Try .program .item .btn.comingsoon{max-width:340px;}
	#Top .container, .sub .container{width:92%;}
	#Top .news{margin:9vw auto 12vw;}
	#Top .news .box{padding:5vw 4vw;margin:6vw 0;}
	.sub .container .box{padding:5vw 4vw;}
	#Top .mainvisual{padding:15vw 5vw;}
	#Top .mainvisual h1{margin-bottom:9vw;}
	#Top .openday{padding:11vw 0 15vw;}
	#Top .openday p{text-align: left;}
	#Top .openday ul li, #Top .base ul li{margin-top:6vw;}
	#Top .base{margin:6vw 0;padding:15vw 0;}
	#Top .try{margin-top:6vw;}
	#Top .try h3{font-size:1.8rem;text-align: center;}
	#Top .try a div h2{margin:3vw 0 5vw;}
	.sub .pagetop{padding:10vw 0;}
	.sub .pagetop h1 span{margin-bottom:2.5vw;}
	#Top h2, .sub .pagetop h1{font-size:3rem;}
	#Openday .days, #Top .news{width:92%;}
	#Openday .days .box dl{padding:6vw 5vw 0;}
	#Openday .days .box, #Openday .attention{margin-top:9vw;}
	 

}

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

	#Try .try_top .mainvisual p, #Try .intro{font-size:1.5rem;}
	#Try .program .item h2{font-size:2.2rem;}
	#Try .program .item h3{font-size:1.5rem;}
	#Try .program .item h4{font-size:1.8rem;}
	#Try .program .item .btn{font-size:1.6rem;}


}