@charset "utf-8";
/*----------------------------------------------
	大くくりコメントアウト large part
---------------------------------------------*/

/*  中くくりコメントアウト middle part
------------------------------------- */

/* 小くくりコメントアウト small part */
.u_mat0 { margin-top:0; }
.u_mat5 { margin-top:5px; }
.u_mat10 { margin-top:10px; }
.u_mat20 { margin-top:20px; }
.u_mat30 { margin-top:30px; }
.u_mat40 { margin-top:40px; }
.u_mat50 { margin-top:50px; }
.u_mat60 { margin-top:60px; }
.u_mat80 { margin-top:80px; }
.u_mat100 { margin-top:100px; }

.u_mab0 { margin-bottom: 0; }
.u_mab5 { margin-bottom: 5px; }
.u_mab10 { margin-bottom: 10px; }
.u_mab15 { margin-bottom: 15px; }
.u_mab20 { margin-bottom: 20px; }
.u_mab25 { margin-bottom: 25px; }
.u_mab30 { margin-bottom: 30px; }
.u_mab40 { margin-bottom: 40px; }
.u_mab50 { margin-bottom: 50px; }
.u_mab60 { margin-bottom: 60px; }
.u_mab100 { margin-bottom: 100px; }

.u_al_center { text-align: center!important; }
.u_al_right { text-align: right!important; }
.u_al_left { text-align: left!important; }
.u_vl_top { vertical-align: top!important; }
.u_vl_middle { vertical-align: middle!important; }
.u_vl_bottom { vertical-align: bottom!important; }

.u_f_left { float: left; }
.u_f_right { float: right; }

@media screen and (max-width: 960px) {
  .u_bg_blue,
  .u_bg_green,
  .u_bg_pink,
  .u_bg_wlb {
    padding-bottom: 50px;
  }
  .img_w90 {
    width: 90%!important;
  }
}

/*.u_technology {
  position: relative;
}
.u_technology::before {
  content: '';
  background: url("../images/bg_tec_left.png");
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  width: 134px;
  height: 100%;
  background-size: cover;
  z-index: 3;
  background-repeat: no-repeat;
  transition: .3s;
  opacity: .3;
}
.u_technology::after {
  content: '';
  background: url("../images/bg_tec_right.png");
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  width: 134px;
  height: 100%;
  background-size: cover;
  z-index: 2;
  background-repeat: no-repeat;
  transition: .3s;
  opacity: .3;
}*/
@media screen and (max-width: 1300px) {
  .u_technology::before,
  .u_technology::after {
    opacity: 0;
  }
  
}

.u_bold { font-weight: bold; }
.u_indent { text-indent: 1em; }
.u_kome, .u_kome li { text-indent: -1em; margin-left: 1em; }
.u_underline { text-decoration: underline; }
.u_fw_normal { font-weight: normal; }

.u_img_floatL { float: left; margin-right: 20px; margin-bottom: 10px; }
.u_img_floatR { float: right; margin-left: 20px; margin-bottom: 10px; }

.u_fs11 { font-size: 11px !important; }
.u_fs12 { font-size: 12px !important; }
.u_fs15 { font-size: 15px !important; }
.u_fs16 { font-size: 16px !important; }
.u_fs17 { font-size: 17px !important; }
.u_fs18 { font-size: 18px !important; }
.u_fs19 { font-size: 19px !important; }
.u_fs20 { font-size: 20px !important; }
.u_fs21 { font-size: 21px !important; }
.u_fs22 { font-size: 22px !important; }
.u_fs24 { font-size: 24px !important; }
.u_fs28 { font-size: 28px !important; }
.u_fs30 { font-size: 30px !important; }
.u_fs32 { font-size: 32px !important; }

.u_inline { display: inline-block; }

.u_disable { pointer-events: none; }

.u_ind {
	text-indent: -1em;
	margin-left: 1em;
}

.u_pc_view {
  display: initial !important;
}
.u_sp_view {
  display: none !important;
}
@media screen and (max-width: 960px) {
  .u_pc_view {
    display: none !important;
  }
  .u_sp_view {
    display: initial !important;
  }
  .u_fs18_sp { font-size: 18px !important; }
  .u_mat20 { margin-top:10px; }
  .u_mat30 { margin-top:15px; }
  .u_mat40 { margin-top:20px; }
  .u_mat50 { margin-top:25px; }
  .u_mab20 { margin-bottom: 10px; }
  .u_mab25 { margin-bottom: 10px; }
  .u_mab30 { margin-bottom: 15px; }
  .u_mab40 { margin-bottom: 20px; }
  .u_mab50 { margin-bottom: 25px; }
  .u_mab60 { margin-bottom: 30px; }
  .u_mab100 { margin-bottom: 50px; }
  .u_bg_pink { padding-bottom: 50px; }
  
  .u_mat60 { margin-top: 30px; }
}

/*----------------------------------------------
	.mv
---------------------------------------------*/
#mv {
	position: relative;
}
/*  .u_scroll
------------------------------------- */
.u_scroll {
	text-align: center;
	position: absolute;
	right: 0;
	bottom: 30px;
	left: 0;
	margin: auto;
	z-index: 98;
}
.u_scroll a {
	display: block;
	width: 20px;
	height: 32px;
	border: 2px solid #fff;
	border-radius: 10px;
	margin: auto;
	position: relative;
}
.u_scroll a::after {
	content: '';
	width: 4px;
	height: 6px;
	border-radius: 4px;
	background-color: #fff;
	position: absolute;
	top: 5px;
	right: 0;
	left: 0;
	margin: auto;
	animation: scroll 3s ease infinite;
}
@keyframes scroll {
	0% {
		top: 5px;
		opacity: 1;
	}
	80% {
		top: 5px;
		opacity: 1;
	}
	100% {
		top: 10px;
		opacity: 0;
	}
}
/*----------------------------------------------
	#main
---------------------------------------------*/
#main {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 580px;
	padding: 80px 0;
	/*background-image: linear-gradient(180deg, rgba(253, 255, 238, 1) 60%, rgba(201, 233, 238, 1));*/
  /*background: #FFFFFF;*/
  background: url("../images/bg_theme_top.png") center top, url("../images/bg_theme_bottom.png") center bottom;
  background-repeat: no-repeat;
  background-size: contain;
	position: relative;
	text-align: center;
}
.particles-js-canvas-el {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 2;
}
#main > .particles-js-canvas-el {
	z-index: 1;
}
.u_main_wrap,
.u_main_wrap > * {
	position: relative;
	z-index: 2;
}
.u_main_wrap .c_section {
	margin-bottom: 0;
}
@media screen and (max-width: 960px) {
	#main {
		padding: 40px 0 60px;
	}
}
/*  .u_message
------------------------------------- */
.u_message p {
  text-shadow: 3px  3px 3px #ffffff,
      -3px  3px 3px #ffffff,
       3px -3px 3px #ffffff,
      -3px -3px 3px #ffffff,
       3px  0px 3px #ffffff,
       0px  3px 3px #ffffff,
      -3px  0px 3px #ffffff,
       0px -3px 3px #ffffff;  
}


/*----------------------------------------------
	#life
---------------------------------------------*/

@media screen and (max-width: 960px) {
  .u_life {
    width: calc(100% - 20px);
  }
  
}
/*----------------------------------------------
	#plan
---------------------------------------------*/
#plan {
  background: url("../images/bg_sanka_top.png") center top 145px, url("../images/bg_sanka_bottom.png") center bottom;
  background-repeat: no-repeat;
  background-size: contain;
}
.u_plan > div {
  width: 1000px;
  margin: 0 auto 0;
  padding: 60px 0 60px 0;
}
@media screen and (max-width: 960px) {
  #plan {
    background: url("../images/bg_sanka_top.png") center top 128px, url("../images/bg_sanka_bottom.png") center bottom;
    background-repeat: no-repeat;
    background-size: contain;
  }
  .u_plan > div {
    width: calc(100% - 20px);
    /*padding: 80px 0 60px 0;*/
    padding: 30px 0 30px 0;
  }
}

/*----------------------------------------------
	#contents
---------------------------------------------*/
#contents .wrap {
	padding: 60px 0 0;
	width: 1000px;
	margin: auto;
}
.u_event {
  position: relative;
}
/*.u_event::after {
  content: '';
  display: inline-block;
  background: url("../images/bg_footer.png");
  width: 1768px;
  height: 700px;
  background-size: cover;
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  overflow-x: hidden;
}*/
@media screen and (max-width: 1240px) {
	#contents .wrap {
		width: calc(100% - 20px);
		margin: auto;
	}
}
@media screen and (max-width: 960px) {
	#contents .wrap {
		background-size: 40% auto;
		padding: 40px 0;
	}
  .u_event::after {
    width: 100%;
    height: 100%;
  }
}
/*----------------------------------------------
	.clearfix
---------------------------------------------*/
.clearfix:after,
.l_column_wrap:after {
    content:" ";
    display:block;
    clear:both;
}