@charset "utf-8";
/*----------------------------------------------
	■margin■
---------------------------------------------*/

/*  margin-top
------------------------------------- */
.u_mat0 { margin-top:0; }
.u_mat5 { margin-top:5px; }
.u_mat8 { margin-top:8px; }
.u_mat10 { margin-top:10px; }
.u_mat15 { margin-top:15px; }
.u_mat20 { margin-top:20px; }
.u_mat25 { margin-top:25px; }
.u_mat30 { margin-top:30px; }
.u_mat40 { margin-top:40px; }
.u_mat50 { margin-top:50px; }
.u_mat60 { margin-top:60px; }
.u_mat70 { margin-top:70px; }
.u_mat80 { margin-top:80px; }
.u_mat100 { margin-top:100px; }
.u_mat110 { margin-top:110px; }
.u_mat130 { margin-top:130px; }
.u_mat150 { margin-top:150px; }

/*  margin-bottom
------------------------------------- */
.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_mab35 { margin-bottom: 35px; }
.u_mab40 { margin-bottom: 40px; }
.u_mab50 { margin-bottom: 50px; }
.u_mab60 { margin-bottom: 60px; }
.u_mab70 { margin-bottom: 70px; }
.u_mab80 { margin-bottom: 80px; }
.u_mab100 { margin-bottom: 100px; }
.u_mab120 { margin-bottom: 120px; }

@media screen and (max-width:640px) {
	.u_mab20_sm { margin-bottom: 20px; }
	.u_mab40_sm { margin-bottom: 40px; }
}

/*  margin-right
------------------------------------- */
.u_mar5 { margin-right: 5px; }
.u_mar15 { margin-right: 15px; }
.u_mar20 { margin-right: 20px; }
.u_mar30 { margin-right: 30px; }
.u_mar50 { margin-right: 50px; }

/*  margin-left
------------------------------------- */
.u_mal10 { margin-left: 10px; }
.u_mal15 { margin-left: 15px; }
.u_mal20 { margin-left: 20px; }
.u_mal30 { margin-left: 30px; }
.u_mal40 { margin-left: 40px; }
.u_mal110 { margin-left: 110px; }

/*  margin-auto
------------------------------------- */
.u_mar_auto { margin: 0 auto; }



/*----------------------------------------------
	■padding■
---------------------------------------------*/

/*  padding-top
------------------------------------- */
.u_pat10 { padding-top: 10px; }
.u_pat20 { padding-top: 20px; }
.u_pat30 { padding-top: 30px; }
.u_pat80 { padding-top: 80px; }

/*  padding-bottom
------------------------------------- */
.u_pab10 { padding-bottom: 10px; }
.u_pab20 { padding-bottom: 20px; }
.u_pab30 { padding-bottom: 30px; }
.u_pab40 { padding-bottom: 40px; }
.u_pab50 { padding-bottom: 50px; }
.u_pab70 { padding-bottom: 70px; }
.u_pab150 { padding-bottom: 150px; }
.u_pab500 { padding-bottom: 500px; }

/*  padding-reft
------------------------------------- */
.u_par60 { padding-right: 60px; }



/*----------------------------------------------
	■position■
---------------------------------------------*/

/*  text-align
------------------------------------- */
.u_al_center { text-align: center; }
.u_al_right { text-align: right; }
.u_al_left { text-align: left; }
.u_al_jus { text-align: justify;}

@media screen and (max-width:640px) {
	#program .u_al_right { text-align: left; }
}


/*  vertical-align
------------------------------------- */
.u_vl_top { vertical-align: top; }
.u_vl_middle { vertical-align: middle; }
.u_vl_bottom { vertical-align: bottom; }
.u_vl_super {vertical-align: super;}

/*  float
------------------------------------- */
.u_float_left { float: left; }
.u_float_right { float: right; }



/*----------------------------------------------
	■flex■
---------------------------------------------*/
.u_flex { display:flex;}


/*  align-content
------------------------------------- */
.u_content_cn {align-content: center;}

/*  align-items
------------------------------------- */
.u_items_cn {align-items: center;}
.u_items_end {align-items: flex-end;}
.u_items_start {align-items: flex-start;}

/*  justify-content
------------------------------------- */
.u_juscon_sb {justify-content: space-between;}
.u_juscon_cn {justify-content: center;}

/*  flex-wrap
------------------------------------- */
.u_fl_wrap {flex-wrap: wrap;}
.u_fl_nowrap {flex-wrap: wrap;}

.u_shrink1{ flex-shrink: 1; }

@media screen and (max-width:640px) {
	.u_block_sm{display: block;}
}

/*----------------------------------------------
	■text■
---------------------------------------------*/
/*  color
------------------------------------- */
.u_red { color: #D83B3B; }
.u_black { color: #000; }
.u_white { color: #fff; }
.u_blue { color: #064791; }
.u_gray { color: #606060; }
.u_green{ color: #1C8FA5; }
.u_d_green{ color: #005C6F; }
.u_orange { color: #E38516; }


/*----------------------------------------------
	.u_indent
---------------------------------------------*/
.u_indent01 {
	text-indent: -1em;
	padding-left: 1em;
}
.u_indent02 {
	text-indent: -2em;
	padding-left: 2em;
}
.u_indent03 {
	text-indent: -3em;
	padding-left: 3em;
}

.u_indent06 {
	text-indent: -6em;
  padding-left: 6em;
}

.u_indent09 {
	text-indent: -9em;
  padding-left: 9em;
}

.u_indent15 {
	text-indent: -1.5em!important;
  padding-left: 2em!important;
}

.u_indent1 {
	text-indent: 1em;
}

.u_indent {
	text-indent: -0.5em;
	padding-left: 0.5em;
}

/*  font-weight
------------------------------------- */
.u_bold { font-weight: bold; }
.u_normal { font-weight: normal; }

/*  font-size
------------------------------------- */
.u_fs5 { font-size: 0.5rem !important; }
.u_fs11 { font-size: 1.1rem !important; }
.u_fs12 { font-size: 1.2rem !important; }
.u_fs13 { font-size: 1.3rem !important; }
.u_fs14 { font-size: 1.4rem !important; }
.u_fs15 { font-size: 1.5rem !important; }
.u_fs16 { font-size: 1.6rem !important; }
.u_fs17 { font-size: 1.7rem !important; }
.u_fs18 { font-size: 1.8rem !important; }
.u_fs19 { font-size: 1.9rem !important; }
.u_fs20 { font-size: 2.0rem !important; }
.u_fs21 { font-size: 2.1rem !important; }
.u_fs22 { font-size: 2.2rem !important; }
.u_fs23 { font-size: 2.3rem !important; }
.u_fs24 { font-size: 2.4rem !important; }
.u_fs20 { font-size: 2.0rem !important; }
.u_fs26 { font-size: 2.6rem !important; }
.u_fs30 { font-size: 3.0rem !important; }
.u_fs32 { font-size: 3.2rem !important; }
.u_fs35 { font-size: 3.5rem !important; }
.u_fs40 { font-size: 4.0rem !important; }
.u_fs45 { font-size: 4.5rem !important; }
.u_fs50 { font-size: 5.0rem !important; }
.u_fs55 { font-size: 5.5rem !important; }
.u_fs60 { font-size: 6.0rem !important; }
.u_fs65 { font-size: 6.5rem !important; }
.u_fs70 { font-size: 7.0rem !important; }
.u_fs80 { font-size: 80rem !important; }

@media only screen and (max-width: 640px){
	.u_fs18_sp{ font-size: 1.8rem !important; }
}


/*  others
------------------------------------- */
.u_underline { text-decoration: underline; }

.u_lh_10 { line-height: 1!important;}
.u_lh_18 { line-height: 1.8;}

.u_italic{ 
	display:inline-block;
	-webkit-transform: skewX(-15deg);
    -moz-transform: skewX(-15deg);
    -o-transform: skewX(-15deg);
    transform: skewX(-15deg);
    -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=-0.26794919243112214, M21=0, M22=1, SizingMethod='auto expand')";
}

/*----------------------------------------------
	■display■
---------------------------------------------*/
.u_inbl { display: inline-block; }
.u_bl { display: block; }

/*----------------------------------------------
	■border■
---------------------------------------------*/
.u_borb1 {border-bottom:1px solid #2f2725;}
.u_borb1.is_gray {border-bottom:1px solid #4b4b4b28;}
.u_bort1 {border-top:1px solid #fff;}
.u_borr1 {border-right:1px solid #fff;}
.u_borb10 {border-bottom:10px solid #fff;}



/*----------------------------------------------
	■others■
---------------------------------------------*/
.u_pointer_disabled { pointer-events: none; }

.u_pointer{
	cursor: pointer;
}

.u_pos_ab {position: absolute;}
.u_pos_rela {position: relative;}

.u_shadow_none {box-shadow: none;}

.u_width_fit {
	width: -webkit-fit-content;
  width: -moz-fit-content;
	width: fit-content;
}

.u_hidden{ overflow: hidden; }

.u_opacity{
	opacity: 0;
	transition: 1s;
}

.u_opacity.is_after{
	opacity: 1;
	transition: 1s;
}


/*  responsive
------------------------------------- */
.u_view_sm {display: none;}
.u_view_md {display: none;}
.u_view_lg {display: block;}
@media screen and (max-width:770px) {
.u_view_lg {display: none;}
.u_view_md {display: block;}
}
@media screen and (max-width:640px) {
.u_view_md {display: none;}
.u_view_sm {display: block;}
}

/*  index
------------------------------------- */
.z_index_9999 {
  position: relative;
  z-index: 9999;
}

/*----------------------------------------------
	.clearfix
---------------------------------------------*/
.clearfix:after,
.l_column_wrap:after {
    display:block;
    clear:both;
    content:" ";
}

.u_checkbox{
	width: 15px;
	height: 15px;
	cursor: pointer;
	position: relative;
	top: 1px;
}

.u_resize{
	width: 100%;
}

.u_header_inner{
	width: 80%;
	height: 100%;
}


.u_error {
	width: 100%;
	color: #b92613;
	font-weight: bold;
	font-size: 1.5rem;
	padding: 3px;
	border-radius: 15px;
	text-align: center;
	margin: 0 auto 10px;
}

.u_shadow{
	box-shadow: 0 0 8px 0 #2a508e52;
}

.u_mypage{
	font-size: 1.7rem;
	color: #fff;
	margin-top: 10px;
}

.u_mypage span{
	font-weight: bold;
	font-size: 1.8rem;
	display: inline-block;
	margin-right: 5px;
}

.u_search{
	font-size: 1.5rem;
	font-weight: bold;
	margin-right: 10px;
}

.u_w300{
	max-width: 300px;
	width: 100%;
}

.u_w370{
	max-width: 360px;
	width: 100%;
}

.u_w600{
	max-width: 600px;
	width: 100%;
}

.u_mv{
	width: 100%;
	height: 400px;
	object-fit: cover;
	object-position: 80% center;
}


.u_icon_video,
.u_icon_que{
	position: relative;
}


.u_input_pro{
	margin-right: 5px;
}

.u_w650{
	max-width: 650px;
	width: 100%;
	margin: 0 auto;
}

.u_redtext{
	color: #D83B3B;
	font-weight: bold;
	font-size: 2rem;
	margin: 20px auto 30px;
}

.u_ses_ttl{
	font-size: 1.8rem;
	font-weight: bold;
	margin: 0 0 5px;
}

.u_download{
	position: absolute;
	top: 80px;
	right: 0;
	font-size: 1.5rem;
	text-align: center;
}

.u_download a{
	text-decoration: underline;
}


@media only screen and (max-width: 640px){
	.u_redtext{
		font-size: 1.6rem;
	}
	.u_header_inner{
		width: 100%;
		height: 100%;
	}
	.u_download{
		position: relative;
		top: 0;
	}
}

@media only screen and (max-width: 400px){
	.u_mv{
		height: 50vw;
	}
}

@media screen and (max-width: 1110px) {
	.table-scroll {
		overflow: auto;
		white-space: nowrap;
	}
	.table-scroll table{
		width: 100%;
	}
}


.content {
	display: none;
}
.content.show {
	display: block;
}


/* .u_sm_flex{
	display: flex;
} */


.u_pass_check{
	margin-left: 100px;
}

.u_accordion_header03{
  border-left: 4px solid #7accf7;
  border-bottom: 1px dotted #7accf7;
  padding: 5px;
  font-size: 1.6rem;
	position: relative;
	text-indent: -2rem;
  padding-left: 2.5rem;
}

.u_time{
	position: absolute;
	right: 0;
	bottom: 0;
}

.u_ALtop{
	vertical-align: top;
}

@media only screen and (max-width: 640px){
	.u_pass_check{
		margin-left: 0;
	}
	tr > *{
		display: block;
	}
}


.u_btn_w{
	max-width: 630px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}

@media only screen and (max-width: 640px){
	.u_btn_w{
		display: block;
	}
	.u_btn_w *{
		margin-bottom: 20px;
	}
}


/*----------------------------------------------
	wave, fluid
---------------------------------------------*/

/*波*/
.wave{
	position:relative;
	height:200px;/*何も表示されない場合は各波の親要素に高さを持たせましょう。*/
	}

	canvas{
	position: absolute;
	bottom: 0;
	left:0;
	width: 100%;
	z-index: -100;
	}


	/*液状*/
	.l_fluidarea{
		position: relative;
	}

	.fluid {
		position: absolute;
		right: 0;
		left: 0;
		margin: 0 auto;
		top: -50px;
		width:200px;
		height: 180px;
		background:linear-gradient(#ffb0b0 0%, #ffcdcd 100%);
		animation: fluidrotate 10s ease-out 0s infinite;
		z-index: -9;
	}

	.fluid_02 {
		position: absolute;
		left: 338px;
		top: 126px;
		width:160px;/*横幅*/
		height: 65px;/*縦幅*/
		background:linear-gradient(#ffb0b0 0%, #ffcdcd 100%);/*背景色*/
		animation: fluidrotate 10s ease-out 0s infinite;/*アニメーションの設定*/
		margin: 0 auto;
		z-index: -9;
		animation-delay: .5s;
	}
	.fluid_03 {
		position: absolute;
		left: 293px;
		top: 277px;
		width: 156px;
		height: 65px;/*縦幅*/
		background:linear-gradient(#ffb0b0 0%, #ffcdcd 100%);/*背景色*/
		animation: fluidrotate 10s ease-out 0s infinite;/*アニメーションの設定*/
		margin: 0 auto;
		z-index: -9;
		animation-delay: 1s;
	}
	.fluid_04 {
		position: absolute;
		left: 440px;
		top: 285px;
		width:270px;/*横幅*/
		height: 80px;/*縦幅*/
		background:linear-gradient(#ffb0b0 0%, #ffcdcd 100%);/*背景色*/
		animation: fluidrotate 10s ease-out 0s infinite;/*アニメーションの設定*/
		margin: 0 auto;
		z-index: -9;
		animation-delay: 1.5s;
	}
	
	@keyframes fluidrotate {  
			
	0%, 100% {
			border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
	}
	14% {
			border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
	}
	28% {
			border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
	}
	42% {
			border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
	}
	56% {
			border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
	}
	70% {
			border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
	}
	84% {
			border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
	}
			
	}
	



	@media only screen and (max-width: 640px) {
		.wave,
		.fluid_02,
		.fluid_03,
		.fluid_04,
		.scrolldown2{
			display: none!important;
		}
		/* .fluid {
			left: 50%;
			transform: translateX(-50%);
			width: 90%;
			height: 200px;
			top: 32%;
		} */
		.fluid {
			width:180px;
			height: 150px;
		}
	}
	