@charset "utf-8";


/* content===========================================

	utility.css
	
		Utilities
		Colors
		Spacing
		Border radius
		Border line
		Table (Responsive)
		Opacity

===================================================== */


 
/*	 no_script, regacy
===================================================== */

	#no_script,
	#regacy {
		display:block;
		background-color:#FFCCCC;
		color:#CC0000;
		font-weight:bold;
		clear:both;
		text-align:center;
		line-height:130%;
		padding:10px 0;
		}





/*	 Utilities
===================================================== */
	
	.u-clear { clear: both; }
	.u-clearfix:after {
		content: " ";
		display: block;
		clear: both;
		}

	.u-dn { display: none; }
	.u-di { display: inline; }
	.u-db { display: block; }
	.u-vh { visibility: hidden; }

	@media screen and (max-width: 320px) {
		.u-db-sp3 	 	 	 { display: block !important; }
	}
	@media screen and (max-width: 414px) {
		.u-db-sp2 	 	 	 { display: block !important; }
	}
	@media screen and (max-width: 768px) {
	/*SP*/		
		.u-hidden-sp 		 { display: none; }
		.u-db-sp 	 	 		 { display: block; }
		.tb .u-db-tb		 { display: block; }
	}
	@media print, screen and (min-width: 769px) {
	/*TB,PC*/
		.u-hidden-large  { display: none !important; }
		.u-db-large 		 { display: block !important; }
		.u-tac-large		 { text-align: center; }
	}
		
	.u-fln { float: none; }
	.u-fll { float: left; }
	.u-flr { float: right; }
	@media print, screen and (min-width: 769px) {
	/*TB,PC*/
		.u-fll-large { float: left; }
		.u-flr-large { float: right; }
		
		.c-large-indent {
			text-indent: -1rem;
			margin-left: 1rem;
			}
	}
	
	.p-txt { overflow: hidden;}
	
	.u-tal { text-align: left !important; }
	.u-tac { text-align: center !important; }
	.u-tar { text-align: right !important; }

	.c-boxsizing { box-sizing: border-box; }
	
	.u-vercical-top {vertical-align: top !important;}
	.u-vercical-middle {vertical-align: middle !important;}
	.u-vercical-bottom {vertical-align: bottom !important;}





/*	 Fonts
===================================================== */
	
	.u-font80 	{ font-size:  80% !important; }
	.u-font86		{ font-size:  86% !important; }
	.u-font94		{ font-size:  94% !important; }
	.u-font96		{ font-size:  96% !important; }
	.u-font110 	{ font-size: 110% !important; }
	.u-font120 	{ font-size: 120% !important; }
	.u-font130 	{ font-size: 130% !important; }
	.u-font140 	{ font-size: 140% !important; }
  .u-font150 	{ font-size: 150% !important; }
	.u-font160 	{ font-size: 160% !important; }
	.u-font200	{ font-size: 200% !important; }
	.u-font220	{ font-size: 220% !important; }
	.u-font280	{ font-size: 280% !important; }

	.u-fontMincho { font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif; }
	.u-fontBold { font-weight: bold; }
  .u-fontBolder { font-weight: 500; }





/*	Colors
===================================================== */

	/* cRed:Red, cGrey:Grey  */

		.u-cRed-light 	{ color: #FFCCCC; }
		.u-cRed 	 	 	 	{ color: #FF0000; }
		.u-cRed-dark 	 	{ color: #990000; }
		
		.u-cGrey-light 	{ color: #F5F5F5; }
		.u-cGrey 	 	 	 	{ color: #666666 !important; }
		.u-cGrey-dark 	{ color: #333333; }


	/* background color */
		
		.u-bgcWhite 	 	 	{	background-color: #FFFFFF; }
		
		.u-bgcRed-light 	{ background-color: #FFCCCC; }
		.u-bgcRed 	 	 	 	{ background-color: #FF0000; }
		.u-bgcRed-dark 	 	{ background-color: #990000; }
		
		.u-bgcGrey-light 	{ background-color: #E4E2E2; }	
		.u-bgcGrey 	 	 	 	{ background-color: #666666; }
		.u-bgcGrey-dark 	{ background-color: #333333; }

	


/*	Spacing
===================================================== */

	/*margin (rem) */
		.u-ma { margin: auto; }
		.u-mn { margin: 0; }
		
		.u-mtn { margin-top: 0 !important; }
		.u-mts { margin-top: .4rem !important; }
		.u-mtm { margin-top: 1.6rem !important; }
		.u-mtl { margin-top: 3.2rem !important; }
		.u-mtx { margin-top: 4.8rem !important; }
		
		.u-mbn { margin-bottom: 0 !important; }
		.u-mbs { margin-bottom: .4rem !important; }
		.u-mbm { margin-bottom: 1.6rem !important; }
		.u-mbl { margin-bottom: 3.2rem !important; }
		.u-mbx { margin-bottom: 4.8rem !important; }
	
	/*margin (px) */
		.u-mt5 { margin-top:    5px !important;}
		.u-mr5 { margin-right:  5px !important;}
		.u-mb5 { margin-bottom: 5px !important;}
		.u-ml5 { margin-left:   5px !important;}
			 
		.u-mt10 { margin-top:    10px !important;}
		.u-mr10 { margin-right:  10px !important;}
		.u-mb10 { margin-bottom: 10px !important;}
		.u-ml10 { margin-left:   10px !important;}
		
		.u-mt15 { margin-top:    15px !important;}
		.u-mr15 { margin-right:  15px !important;}
		.u-mb15 { margin-bottom: 15px !important;}
		.u-ml15 { margin-left:   15px !important;}
		
		.u-mt20 { margin-top:    20px !important;}
		.u-mr20 { margin-right:  20px !important;}
		.u-mb20 { margin-bottom: 20px !important;}
		.u-ml20 { margin-left:   20px !important;}
		
		.u-mt25 { margin-top:    25px !important;}
		.u-mr25 { margin-right:  25px !important;}
		.u-mb25 { margin-bottom: 25px !important;}
		.u-ml25 { margin-left:   25px !important;}
		
		.u-mt30 { margin-top:    30px !important;}
		.u-mr30 { margin-right:  30px !important;}
		.u-mb30 { margin-bottom: 30px !important;}
		.u-ml30 { margin-left:   30px !important;}
		
		.u-mt40 { margin-top:    40px !important;}
		.u-mr40 { margin-right:  40px !important;}
		.u-mb40 { margin-bottom: 40px !important;}
		.u-ml40 { margin-left:   40px !important;}
		
		.u-mt50 { margin-top:    50px !important;}
		.u-mr50 { margin-right:  50px !important;}
		.u-mb50 { margin-bottom: 50px !important;}
		.u-ml50 { margin-left:   50px !important;}	
	
	
	/*padding (rem) */
		.u-pn { padding: 0; }
		
		.u-ptn { padding-top: 0; }
		.u-pts { padding-top: .4rem; }
		.u-ptm { padding-top: 1.6rem; }
		.u-ptl { padding-top: 3.2rem; }
		.u-ptx { padding-top: 4.8rem; }
		
		.u-pbn { padding-bottom: 0 !important ; }
		.u-pbs { padding-bottom: .4rem  !important; }
		.u-pbm { padding-bottom: 1.6rem !important; }
		.u-pbl { padding-bottom: 3.2rem !important; }
		.u-pbx { padding-bottom: 4.8rem !important; }
	
	/*padding (px) */
		.u-pt5 { padding-top:      5px !important;}
		.u-pr5 { padding-right:    5px !important;}
		.u-pb5 { padding-bottom:   5px !important;}
		.u-pl5 { padding-left:     5px !important;}
		
		.u-pt10 { padding-top:    10px !important;}
		.u-pr10 { padding-right:  10px !important;}
		.u-pb10 { padding-bottom: 10px !important;}
		.u-pl10 { padding-left:   10px !important;}
		
		.u-pt15 { padding-top:    15px !important;}
		.u-pr15 { padding-right:  15px !important;}
		.u-pb15 { padding-bottom: 15px !important;}
		.u-pl15 { padding-left:   15px !important;}
		
		.u-pt20 { padding-top:    20px !important;}
		.u-pr20 { padding-right:  20px !important;}
		.u-pb20 { padding-bottom: 20px !important;}
		.u-pl20 { padding-left:   20px !important;}
		
		.u-pt25 { padding-top:    25px !important;}
		.u-pr25 { padding-right:  25px !important;}
		.u-pb25 { padding-bottom: 25px !important;}
		.u-pl25 { padding-left:   25px !important;}
		
		.u-pt30 { padding-top:    30px !important;}
		.u-pr30 { padding-right:  30px !important;}
		.u-pb30 { padding-bottom: 30px !important;}
		.u-pl30 { padding-left:   30px !important;}

		.u-pt40 { padding-top:    40px !important;}
		.u-pr40 { padding-right:  40px !important;}
		.u-pb40 { padding-bottom: 40px !important;}
		.u-pl40 { padding-left:   40px !important;}
		
		.u-pt50 { padding-top:    50px !important;}
		.u-pr50 { padding-right:  50px !important;}
		.u-pb50 { padding-bottom: 50px !important;}
		.u-pl50 { padding-left:   50px !important;}
	
	/*Negative margin*/
		.u-nmt5 {   margin-top:    -5px !important;}
		.u-nmr5 {   margin-right:  -5px !important;}
		.u-nmb5 {   margin-bottom: -5px !important;}
		.u-nml5 {   margin-left:   -5px !important;}
			 
		.u-nmt10 {   margin-top:    -10px !important;}
		.u-nmr10 {   margin-right:  -10px !important;}
		.u-nmb10 {   margin-bottom: -10px !important;}
		.u-nml10 {   margin-left:   -10px !important;}
		
		.u-nmt15 {   margin-top:    -15px !important;}
		.u-nmr15 {   margin-right:  -15px !important;}
		.u-nmb15 {   margin-bottom: -15px !important;}
		.u-nml15 {   margin-left:   -15px !important;}
		
		.u-nmt20 {   margin-top:    -20px !important;}
		.u-nmr20 {   margin-right:  -20px !important;}
		.u-nmb20 {   margin-bottom: -20px !important;}
		.u-nml20 {   margin-left:   -20px !important;}
		
		.u-nmt25 {   margin-top:    -25px !important;}
		.u-nmr25 {   margin-right:  -25px !important;}
		.u-nmb25 {   margin-bottom: -25px !important;}
		.u-nml25 {   margin-left:   -25px !important;}





/*	Border radius
===================================================== */

	.c-br-4 {
		-webkit-border-radius: 4px;
			 -moz-border-radius: 4px;
						border-radius: 4px;
				-ms-border-radius: 4px;
				-webkit-appearance: none;
	}
	
	.c-br-8 {
		-webkit-border-radius: 8px;
			 -moz-border-radius: 8px;
						border-radius: 8px;
				-ms-border-radius: 8px;
				-webkit-appearance: none;
	}
	
	.c-br-12 {
		-webkit-border-radius: 12px;
			 -moz-border-radius: 12px;
						border-radius: 12px;
				-ms-border-radius: 12px;
				-webkit-appearance: none;
	}
	
	.c-br-16 {
		-webkit-border-radius: 16px;
			 -moz-border-radius: 16px;
						border-radius: 16px;
				-ms-border-radius: 16px;
				-webkit-appearance: none;
	}
	
	.c-br-100 {
		-webkit-border-radius: 100px;
			 -moz-border-radius: 100px;
						border-radius: 100px;
				-ms-border-radius: 100px;
				-webkit-appearance: none;
	}




/*	Letter spacing
===================================================== */

	.u-lspace-s {
		letter-spacing: .25rem;
		text-indent: -.25rem;
		}




/*	Text Glow
===================================================== */

	.u-text-glow {
		text-shadow: 0 0 5px #fff,
      0 0 5px #fff,
			0 0 5px #fff,
			0 0 10px #fff,
			0 0 10px #fff,
      0 0 20px #fff,
      0 0 30px #fff;
		}


	

/*	Table (Responsive)
===================================================== */

	.p-table-responsive {
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		}
		
	@media screen and (max-width: 768px) {
		/*SP*/
		
		.p-table-responsive {
			width: 100%;
			margin-bottom: 16.5px;
			}
		.p-table-responsive th,
		.p-table-responsive td {
			display: block;
			}
		
	}


	

/*	Opacity
===================================================== */

	.action_hover {
		opacity: 1;
		transition: 400ms ease opacity;
		}
	.action_hover:hover {
		opacity: 0.7;
		}
	.action_hover:active {
		opacity: 0.5;
		}
@media (max-width: 768px) {
	.action_hover {
		opacity: 1 !important;
	}
}




/* =====================================================================

	Animation
	
======================================================================== */
		
	.floating {
  	animation: float_img 2s linear infinite;
  	transform-origin: 50% 50%;
		}
		@keyframes float_img {
			0% { transform: translateY(0) }
			50% { transform: translateY(-5px) }
			100% { transform: translateY(0) }
		}
	
	.fadeIn {
		opacity: 0;
		}
		.fadeIn.active {
			opacity: 1;
			animation: fadeIn 0.7s linear 1;
			animation-name: fadeIn;
			}
		@-webkit-keyframes fadeIn {
			from {opacity: 0;}		
			to   {opacity: 1;}
		}
		@keyframes fadeIn {
			from {opacity: 0;}		
			to   {opacity: 1;}
		}
	
	.zoomIn {
		opacity: 0;
		}
		.zoomIn.active {
			opacity: 1;
			-webkit-animation-name: zoomIn;
  		animation-name: zoomIn;
			-webkit-animation-duration: 1s;
			animation-duration: 1s;
			-webkit-animation-fill-mode: both;
			animation-fill-mode: both;
			}
		@-webkit-keyframes zoomIn {
			from {
				opacity: 0;
				-webkit-transform: scale3d(0.5, 0.5, 0.5);
				transform: scale3d(0.5, 0.5, 0.5);
				}
			50% {
				opacity: 1;
				}
		}
		@keyframes zoomIn {
			from {
				opacity: 0;
				-webkit-transform: scale3d(0.5, 0.5, 0.5);
				transform: scale3d(0.5, 0.5, 0.5);
			 }
			50% {
				opacity: 1;
				}
		}


	.fadeInRight {
		opacity: 0;
		}
		.fadeInRight.active {
			opacity: 1;
			animation: fadeInRight 1s linear 1;
			animation-name: fadeInRight;
			transition-delay: .8s;
			}
		@-webkit-keyframes fadeInRight {
			from {
				opacity: 0;
				-webkit-transform: translate3d(40px, 0, 0);
				transform: translate3d(20px, 0, 0);
				}
			to {
				opacity: 1;
				-webkit-transform: translate3d(0, 0, 0);
				transform: translate3d(0, 0, 0);
				}
		}
		@keyframes fadeInRight {
			from {
				opacity: 0;
				-webkit-transform: translate3d(20px, 0, 0);
				transform: translate3d(20px, 0, 0);
				}
			to {
				opacity: 1;
				-webkit-transform: translate3d(0, 0, 0);
				transform: translate3d(0, 0, 0);
				}
		}

	.fadeInLeft {
		opacity: 0;
		}
		.fadeInLeft.active {
			opacity: 1;
			animation: fadeInLeft 1s linear 1;
			animation-name: fadeInLeft;
			transition-delay: .8s;
			}
		@-webkit-keyframes fadeInLeft {
			from {
				opacity: 0;
				-webkit-transform: translate3d(-20px, 0, 0);
				transform: translate3d(-20px, 0, 0);
				}
			to {
				opacity: 1;
				-webkit-transform: translate3d(0, 0, 0);
				transform: translate3d(0, 0, 0);
				}
		}
		@keyframes fadeInLeft {
			from {
				opacity: 0;
				-webkit-transform: translate3d(-20px, 0, 0);
				transform: translate3d(-20px, 0, 0);
				}
			to {
				opacity: 1;
				-webkit-transform: translate3d(0, 0, 0);
				transform: translate3d(0, 0, 0);
				}
		}