@charset "UTF-8";

/*----------------------------------------------*/
/*1120px以下のcss*/
/*----------------------------------------------*/
@media all and (min-width:1112px) {
/*------------------------------------------------------------*/
/*			$name
/*------------------------------------------------------------*/
.light2{
	position:relative;
	overflow: hidden;
}
.light2:before{
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 60px;
	height: 100%;
	background-color: #fff;
	animation: light2 3s ease-in-out infinite;
}
@keyframes light2 {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes light2 {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
#main .box08{
	padding:0 0 60px;
}
#main .box08 p{
	background:url(../images/index/box08_tit_bg.png) no-repeat center center;
	background-size:cover;
	color:#fff;
	text-align:center!important;
	padding:10px 0;
}
#main .box08 b,
#main .box08 small{
	display:block;
	text-align: center;
}
#main .box08 dl{
	background:#fff;
	justify-content: center;
	-webkit-justify-content: center;
	align-items:flex-start;
	-webkit-align-items:flex-start;
	padding:20px;
	border:2px solid #e54e6d;
	border-top:none;
	border-bottom:none;
	box-sizing: border-box;
	margin: 0!important;
}
#main .box08 dl:last-child{
	background:#fff;
	justify-content: center;
	-webkit-justify-content: center;
	align-items:flex-start;
	-webkit-align-items:flex-start;
	padding:20px;
	border:2px solid #e54e6d;
	border-top:none;
	box-sizing: border-box;
	margin: 0!important;
}	
#main .box08 dl dt{
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	width:100px;
	text-align:center;
	padding:5px 0;
	margin:0 30px 0 5px!important;
	color: #000!important;
}	
.content-inner-min{
	width:100%;
	max-width:960px;
	min-width:960px;
	margin:0 auto;
}
.content-flex{
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
}	
	
.content-tit03-en{
	font-size:30px;
	letter-spacing: 0.08em;
	line-height:1.2;
	font-family: 'Cinzel';
}
.content-txt01{
	font-size:16px!important;
	letter-spacing: 0.04em;
	line-height:1.875;
}
.bg01-fixed{
	background:url(../images/index/bg01_pc.jpg) no-repeat center center fixed;
	background-size:cover;
}	
}


/*----------------------------------------------*/
/*1024px以下のcss*/
/*----------------------------------------------*/
@media all and (min-width:769px) and (max-width:1111px) {
/*------------------------------------------------------------*/
/*			$name
/*------------------------------------------------------------*/
.light2{
	position:relative;
	overflow: hidden;
}
.light2:before{
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 60px;
	height: 100%;
	background-color: #fff;
	animation: light2 3s ease-in-out infinite;
}
@keyframes light2 {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes light2 {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
#main .box08{
	padding:0 0 40px;
}
#main .box08 p{
	background:url(../images/index/box08_tit_bg.png) no-repeat center center;
	background-size:cover;
	color:#fff;
	text-align:center!important;
	padding:10px 0;
}
#main .box08 b,
#main .box08 small{
	display:block;
	text-align: center;	
}
#main .box08 dl{
	background:#fff;
	justify-content: center;
	-webkit-justify-content: center;
	align-items:flex-start;
	-webkit-align-items:flex-start;
	padding:10px 0;
	border:2px solid #e54e6d;
	border-top:none;
	border-bottom:none;
	box-sizing: border-box;
	margin: 0!important;	
}
#main .box08 dl:last-child{
	background:#fff;
	justify-content: center;
	-webkit-justify-content: center;
	align-items:flex-start;
	-webkit-align-items:flex-start;
	padding:10px 0;
	border:2px solid #e54e6d;
	border-top:none;
	box-sizing: border-box;
	margin: 0!important;
}	
#main .box08 dl dt{
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	width:100px;
	text-align:center;
	padding:5px 0;
	margin:0 30px 0 5px!important;
	color: #000!important;
}
.content-inner-min{
	width:100%;
	max-width:960px;
	min-width:960px;
	margin:0 auto;
}
.content-flex{
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
}	
.content-tit03-en{
	font-size:30px;
	letter-spacing: 0.08em;
	line-height:1.2;
	font-family: 'Cinzel';
}	
.content-txt01{
	font-size:16px!important;
	letter-spacing: 0.04em;
	line-height:1.875;
}
.bg01-fixed{
	background:url(../images/index/bg01_pc.jpg) no-repeat center center fixed;
	background-size:cover;
}	
}



/*----------------------------------------------*/
/*768px以下のcss*/
/*----------------------------------------------*/
@media all and (min-width:481px) and (max-width:768px) {

/*------------------------------------------------------------*/
/*			$name
/*------------------------------------------------------------*/
.light2{
	position:relative;
	overflow: hidden;
}
.light2:before{
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 60px;
	height: 100%;
	background-color: #fff;
	animation: light2 3s ease-in-out infinite;
}
@keyframes light2 {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes light2 {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
#main .box08{
	padding:0 3.125% 10%;
}
#main .box08 p{
	background:url(../images/index/box08_tit_bg.png) no-repeat center center;
	background-size:cover;
	color:#fff;
	text-align:center!important;
	padding:3% 0;
}
#main .box08 b,
#main .box08 small{
	display:block;
	text-align: center;	
}
#main .box08 dl{
	display:block;
	background:#fff;
	padding:4%;
	border:2px solid #e54e6d;
	border-top:none;
	border-bottom:none;
	box-sizing: border-box;
	margin: 0!important;
}
#main .box08 dl:last-child{
	display:block;
	background:#fff;
	padding:4%;
	border:2px solid #e54e6d;
	border-top:none;
	box-sizing: border-box;
	margin: 0!important;	
}	
#main .box08 dl dt{
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	width:100%;
	margin:0 auto 4%;
	text-align:center;
	padding:2% 0;
	color: #000!important;	
}
.content-inner,
.content-inner-min{
	width:100%;
	max-width:100%;
	min-width:100%;
	margin:0 auto;
}
.content-flex{
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
}
.content-tit03-en{
	font-size:30px;
	letter-spacing: 0.08em;
	line-height:1.2;
	font-family: 'Cinzel';
}
.content-txt01{
	font-size:16px!important;
	letter-spacing: 0.04em;
	line-height:1.875;
}
.bg01-fixed{
	background:url(../images/index/bg01_sp.jpg) no-repeat center center;
	background-size:cover;
}	
}



/*----------------------------------------------*/
/*480px以下のcss*/
/*----------------------------------------------*/
@media all and (max-width:480px) {

/*------------------------------------------------------------*/
/*			$name
/*------------------------------------------------------------*/
.light2{
	position:relative;
	overflow: hidden;
}
.light2:before{
	position: absolute;
	content: "";
	display: inline-block;
	top: -180px;
	left: 0;
	width: 60px;
	height: 100%;
	background-color: #fff;
	animation: light2 3s ease-in-out infinite;
}
@keyframes light2 {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}
@-webkit-keyframes light2 {
	0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
	80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
	100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
#main .box08{
	padding:0 3.125% 10%;
}
#main .box08 p{
	background:url(../images/index/box08_tit_bg.png) no-repeat center center;
	background-size:cover;
	color:#fff;
	text-align:center;
	padding:3% 0;
}
#main .box08 b,
#main .box08 small{
	display:block;
	text-align: center;
}
#main .box08 dl{
	display:block;
	background:#fff;
	padding:4%;
	border:2px solid #e54e6d;
	border-top:none;
	border-bottom:none;
	box-sizing: border-box;
	margin: 0!important;	
}
#main .box08 dl:last-child{
	display:block;
	background:#fff;
	padding:4%;
	border:2px solid #e54e6d;
	border-top:none;
	box-sizing: border-box;
	margin: 0!important;	
}	
#main .box08 dl dt{
	border-top:1px solid #333;
	border-bottom:1px solid #333;
	width:100%;
	margin:0 auto 4%;
	text-align:center;
	padding:2% 0;
	color: #000!important;	
}			
.content-inner,
.content-inner-min{
	width:100%;
	max-width:100%;
	min-width:100%;
	margin:0 auto;
}
.content-flex{
	display:flex;
	display:-webkit-flex;
	align-items:center;
	-webkit-align-items:center;
}	
.content-tit03-en{
	font-size:30px;
	letter-spacing: 0.08em;
	line-height:1.2;
	font-family: 'Cinzel';
}
.content-txt01{
	font-size:16px!important;
	letter-spacing: 0.04em;
	line-height:1.875;
}	
.bg01-fixed{
	background:url(../images/index/bg01_sp.jpg) no-repeat center center;
	background-size:cover;
}	
}


/*logi*/
.login-page {
	margin: 0 auto;
	text-align: center;
}
.login-page .base_bg {
  padding: 120px 0;
  background: #152039;
  background: linear-gradient(120deg, #152039 25%, black 50%, #152039 75%);
}

@media (max-width: 740px) {
  .login-page .base_bg {
    padding: 60px 0;
  }
}

.login-page .base_w {
  width: 1000px;
}

@media (max-width: 1000px) {
  .login-page .base_w {
    width: 90%;
  }
}

.login-page h2 {
  width: 100%;
  margin-bottom: 100px;
  text-align: center;
  font-size: 3.5rem;
  color: #fff;
}

@media (max-width: 740px) {
  .login-page h2 {
    margin-bottom: 40px;
    font-size: 1.8rem;
  }
}

.login-page .req_pw {
  display: block;
  width: 600px;
  margin: 0 auto!important;
  padding: 10px!important;
  border-radius: 5px;
  background-color: #fff;
  letter-spacing: 2px;
  font-family: 'Noto Serif JP', serif;
  text-align: center!important;
}

@media (max-width: 740px) {
  .login-page .req_pw {
    width: 90%;
  }
}

.login-page .req_login_btn {
  display: block;
  width: 250px;
  padding: 10px 0!important;
  margin: 60px auto 120px!important;
  border-radius: 5px;
  text-align: center;
  background: #c9bc9c;
  background: linear-gradient(150deg, #c9bc9c 25%, #e4ddcc 50%, #c9bc9c 75%);
  font-size: 2.0rem;
  border: none;
  cursor: pointer;
  font-family: 'Noto Serif JP', serif;
  transition: all 0.3s;
  text-align: center!important;	
  font-size: 100%;	
}

.login-page .req_login_btn button { display: none;}

.login-page .req_login_btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
}

@media (max-width: 740px) {
  .login-page .req_login_btn:hover {
    transform: translateY(0px);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  }
}

@media (max-width: 740px) {
  .login-page .req_login_btn {
    width: 150px;
    margin: 30px auto 40px;
    font-size: 1.6rem;
  }
}

.login-page .sub_titl {
  margin-bottom: 80px!important;
  text-align: center!important;
  font-size: 1.4rem;
  color: #333;
}

@media (max-width: 740px) {
  .login-page .sub_titl {
    margin-bottom: 40px;
    font-size: 1.4rem;
  }
}

.login-page .cv_flow_l {
  margin-bottom: 30px;
}

@media (max-width: 740px) {
  .login-page .cv_flow_l {
    margin-bottom: 20px;
  }
}

.login-page .cv_flow_l .titl {
  margin-bottom: 20px;
  text-align: center;
  font-size: 2.4rem;
  color: #fff;
}

@media (max-width: 740px) {
  .login-page .cv_flow_l .titl {
    font-size: 1.3rem;
  }
}

.login-page .f_req_btn_l {
  display: block;
  padding: 40px 0;
  line-height: 1;
  text-align: center;
  margin-bottom: 120px;
  font-size: 5.0rem;
  color: #fff;
  background-image: linear-gradient(60deg, #f79533, #f37055, #ef4e7b, #a166ab, #5073b8, #1098ad, #07b39b, #6fba82);
  background-size: 400% 400%;
  animation: gradientAnm 5s ease infinite;
  transition: all 0.3s;
}

.login-page .f_req_btn_l:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
}

@media (max-width: 740px) {
  .login-page .f_req_btn_l:hover {
    transform: translateY(0px);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  }
}

@media (max-width: 740px) {
  .login-page .f_req_btn_l {
    margin-bottom: 40px;
    padding: 20px 0;
    font-size: 2.4rem;
  }
}

.login-page .f_req_btn_l span {
  display: block;
  margin-top: 10px;
  font-size: 2.0rem;
}

@media (max-width: 740px) {
  .login-page .f_req_btn_l span {
    font-size: 1.2rem;
  }
}

.login-page .boxs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 740px;
  margin: 120px auto 60px;
}

@media (max-width: 740px) {
  .login-page .boxs {
    width: 100%;
    margin-top: 60px;
  }
}

.login-page .boxs .box {
  width: 47%;
  margin-bottom: 40px;
}

@media (max-width: 740px) {
  .login-page .boxs .box {
    margin-bottom: 20px;
  }
}

.limited-page .base_bg {
  padding: 120px 0;
  background: #152039;
  background: linear-gradient(120deg, #152039 25%, black 50%, #152039 75%);
}

@media (max-width: 740px) {
  .limited-page .base_bg {
    padding: 60px 0;
  }
}

.limited-page .base_w {
  width: 1000px;
}

@media (max-width: 1000px) {
  .limited-page .base_w {
    width: 90%;
  }
}

.limited-page h2 {
  width: 100%;
  margin-bottom: 80px;
  text-align: center;
  font-size: 3.5rem;
  color: #fff;
}

@media (max-width: 740px) {
  .limited-page h2 {
    margin-bottom: 40px;
    font-size: 1.8rem;
  }
}

.limited-page .main_txt {
  width: 100%;
  line-height: 2;
  margin-bottom: 120px;
  text-align: center;
  font-size: 1.8rem;
  color: #fff;
}

@media (max-width: 740px) {
  .limited-page .main_txt {
    margin-bottom: 60px;
    font-size: 1.2rem;
  }
}

.limited-page .boxs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 740px;
  margin: 120px auto 60px;
}

@media (max-width: 740px) {
  .limited-page .boxs {
    width: 100%;
    margin-top: 60px;
  }
}

.limited-page .boxs .box {
  width: 47%;
  margin-bottom: 40px;
}

@media (max-width: 740px) {
  .limited-page .boxs .box {
    margin-bottom: 20px;
  }
}

.limited-page .boxs {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 740px;
  margin: 0 auto;
}

@media (max-width: 740px) {
  .limited-page .boxs {
    width: 100%;
  }
}

.limited-page .boxs .box {
  display: block;
  position: relative;
  width: 47%;
  margin-bottom: 40px;
}

@media (max-width: 740px) {
  .limited-page .boxs .box {
    margin-bottom: 20px;
  }
}

.limited-page .boxs .box .box_on {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s;
}

.limited-page .boxs .box:hover .box_on {
  opacity: 1;
}

.limited_plan-page .base_bg {
  padding: 120px 0;
  background: #152039;
  background: linear-gradient(120deg, #152039 25%, black 50%, #152039 75%);
}

@media (max-width: 740px) {
  .limited_plan-page .base_bg {
    padding: 60px 0;
  }
}

.limited_plan-page .base_w {
  width: 1000px;
}

@media (max-width: 1000px) {
  .limited_plan-page .base_w {
    width: 90%;
  }
}

.limited_plan-page h2 {
  width: 100%;
  margin-bottom: 100px;
  text-align: center;
  font-size: 3.5rem;
  color: #fff;
}

@media (max-width: 740px) {
  .limited_plan-page h2 {
    margin-bottom: 40px;
    font-size: 1.8rem;
  }
}

.limited_plan-page .plan_btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 120px;
}

@media (max-width: 740px) {
  .limited_plan-page .plan_btns {
    justify-content: space-between;
    margin-bottom: 40px;
  }
}

.limited_plan-page .plan_btns .btn {
  display: block;
  transition: all 0.3s;
  width: 28%;
  margin: 0 2.5% 40px;
}

.limited_plan-page .plan_btns .btn:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.8);
}

@media (max-width: 740px) {
  .limited_plan-page .plan_btns .btn:hover {
    transform: translateY(0px);
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  }
}

@media (max-width: 740px) {
  .limited_plan-page .plan_btns .btn {
    width: 48%;
    margin: 0 0 20px;
  }
}

.limited_plan-page .pre_btn {
  display: block;
  width: 400px;
  line-height: 60px;
  margin: 0 auto 120px;
  text-align: center;
  cursor: pointer;
  background-color: #152039;
  border: 5px #fff solid;
  color: #fff;
  font-size: 2.0rem;
  transition: all 0.3s;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
}

.limited_plan-page .pre_btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.6);
}

@media (max-width: 740px) {
  .limited_plan-page .pre_btn:hover {
    transform: translateY(0px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
  }
}

@media (max-width: 740px) {
  .limited_plan-page .pre_btn {
    width: 100%;
    margin: 0 auto 60px;
    font-size: 1.4rem;
  }
}

.limited_plan-page .cap {
  color: #fff;
}