@charset "utf-8";


/* common ===========================================

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

	html {
		font-size: 62.5%;
		-ms-text-size-adjust: 100%;
		-webkit-text-size-adjust: 100%;
		}



/*	 Font family / Font size
===================================================== */


		@font-face {
			font-family: "YuGothic-M";
			font-weight: normal;
			src: local("YuGothic-Medium"), /* PostScript Name = localの正式な指定方法 */
				local("Yu Gothic Medium"),      /*PostScript Nameを認識できないChrome用にFull Nameを指定 */
				local("YuGothic-Regular");     /* 游ゴシックMediumが存在しないWindows8.1用 */
		}
		@font-face {
			font-family: "YuGothic-M";
			font-weight: bold;
			src: local("YuGothic-Bold"), 
				local("Yu Gothic Medium"),
				/*local("Yu Gothic Bold"),*/
				local("YuGothic Bold");
		}


		
		body {
			font-size: 1.6rem;/* 16px */
			font-family:'M PLUS 1', "游ゴシック Medium",YuGothic-M, YuGothic,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
		}
		
		@media screen and (-webkit-min-device-pixel-ratio:0) {
			::i-block-chrome, body {
				font-feature-settings: "pkna";
			}
		}

		
		@media screen and (max-width: 767px) {
			/*SP*/
			body {
				font-size: 1.4rem;/* 14px */	
				}	
		}

		button, input, select, textarea {
			font-family : inherit;
			font-size : 100%;
			}
		input[type="submit"], input[type="button"] { -webkit-appearance: none; }



	.c-text11 { font-size: 1.1rem; }
	.c-text12 { font-size: 1.2rem; }
	.c-text13 { font-size: 1.3rem; }
	.c-text14 { font-size: 1.4rem; }
	.c-text15 { font-size: 1.5rem; }
	.c-text16 { font-size: 1.6rem; }
	.c-text18 { font-size: 1.8rem; }
	.c-text20 { font-size: 2.0rem; }
	.c-text22 { font-size: 2.2rem; }
	.c-text24 { font-size: 2.4rem; }
	.c-text26 { font-size: 2.6rem; }


	.c-text12r { font-size: 1.2rem; }
		@media (max-width: 767px) {
			.c-text12r { font-size: 1.4rem; }
		}
	.c-text14r { font-size: 1.4rem; }
		@media (max-width: 767px) {
			.c-text14r { font-size: 1.3rem; }
		}
		@media (max-width: 767px) {
			.c-text16-sp { font-size: 1.6rem; }
		}
	.c-text18r { font-size: 1.8rem; }
		@media print, screen and (min-width: 768px) {
			.c-text18r-pc { font-size: 1.8rem; }
		}
		@media (max-width: 767px) {
			.c-text18r { font-size: 1.6rem; }
		}
	.c-text20r { font-size: 2.0rem; }
		@media print, screen and (min-width: 768px) {
			.c-text20r-pc { font-size: 2.0rem; }
		}
		@media (max-width: 767px) {
			.c-text20r { font-size: 1.6rem; }
		}
	.c-text22r { font-size: 2.2rem; }
		@media (max-width: 767px) {
			.c-text22r { font-size: 1.8rem; }
		}
	.c-text24r { font-size: 2.4rem; }
		@media print, screen and (min-width: 768px) {
			.c-text24r-pc { font-size: 2.4rem; }
		}
		@media (max-width: 767px) {
			.c-text24r { font-size: 2.0rem; }
		}
	.c-text26r { font-size: 2.6rem; }
		@media (max-width: 767px) {
			.c-text26r { font-size: 2.0rem; }
		}
	.c-text28r { font-size: 2.8rem; }
		@media (max-width: 767px) {
			.c-text28r { font-size: 2.0rem; }
		}
	.c-text30r { font-size: 3.0rem; }
		@media (max-width: 767px) {
			.c-text30r { font-size: 2.0rem; }
		}
	.c-text32r { font-size: 3.2rem; }
		@media (max-width: 767px) {
			.c-text32r { font-size: 2.0rem; }
		}
	.c-text34r { font-size: 3.4rem; }
		@media (max-width: 767px) {
			.c-text34r { font-size: 2.2rem; }
		}
	.c-text36r { font-size: 3.6rem; }
		@media (max-width: 767px) {
			.c-text36r { font-size: 2.2rem; }
		}
	.c-text36r-s { font-size: 3.6rem; }
		@media (max-width: 767px) {
			.c-text36r-s { font-size: 1.8rem; }
		}
	.c-text36r-ss { font-size: 3.6rem; }
		@media (max-width: 767px) {
			.c-text36r-ss { font-size: 1.6rem; }
		}
	.c-text40r { font-size: 4.0rem; }
		@media (max-width: 767px) {
			.c-text40r { font-size: 2.4rem; }
		}
	.c-text46r { font-size: 4.6rem; }
		@media (max-width: 767px) {
			.c-text46r { font-size: 2.4rem; }
		}
	.c-text54r { font-size: 5.4rem; }
		@media (max-width: 767px) {
			.c-text54r { font-size: 2.4rem; }
		}
	.c-text60r { font-size: 6.0rem; }
		@media (max-width: 767px) {
			.c-text60r { font-size: 2.6rem; }
		}
	.c-text60rr { font-size: 6.0rem; }
		@media (max-width: 767px) {
			.c-text60rr { font-size: 2.0rem; }
		}
	.c-text80r { font-size: 8.0rem; }
		@media (max-width: 767px) {
			.c-text80r { font-size: 2.6rem; }
		}
	.c-text90r { font-size: 9.0rem; }
		@media (max-width: 767px) {
		}


	.c-fontBold { font-weight: bold; }
	.c-fontNormal { font-weight: normal; }

	.c-fontStyleN { font-style: normal!important; }

  .u-text-vertical {
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
    }

	.u-textindent-1 { text-indent: 1em; }

  .u-wordbreak-all { word-break: break-all; }

	.u-spacing-no { letter-spacing: -0.5em; }
	.u-spacing-narrow { letter-spacing: -1px!important; }
	.u-spacing-xw { letter-spacing: 6px; }
		@media (max-width: 767px) {
    	.u-spacing-xw { letter-spacing: 2px; }
		}

	.u-lineheight-25r { line-height: 2.5; }
	.u-lineheight-w { line-height: 2; }
		@media (max-width: 767px) {
			.u-lineheight-w { line-height: 1.5; }
    	.u-lineheight-25r { line-height: 2.0; }
		}
	.u-lineheight-0 { line-height: 0; }
	.u-lineheight-1 { line-height: 1; }
	.u-lineheight-12 { line-height: 1.2; }
	.u-lineheight-18 { line-height: 1.8; }
	.u-lineheight-20 { line-height: 2.0; }
	.u-lineheight-25 { line-height: 2.5; }


	.u-font-mplus1 {
    font-family: 'M PLUS 1', sans-serif;
		}

  .u-font-mplus1-extra {
    font-family: 'M PLUS 1', sans-serif;
    font-weight : bold;
    letter-spacing : 5px;
    color: transparent;
    -webkit-text-stroke: 3px rgb(255, 255, 255, 1); 
    }
    .u-font-mplus1-extra.u-extraBlue {
      -webkit-text-stroke: 3px rgb(45, 81, 149, 1); 
      }
    .u-font-mplus1-extra.u-extraBlue.u-extra2 {
      -webkit-text-stroke: 2px rgb(45, 81, 149, 1); 
      }
	@media (max-width: 767px) {
    .u-font-mplus1-extra {
      -webkit-text-stroke: 1px rgb(255, 255, 255, 1); 
      }
    .u-font-mplus1-extra.u-extraBlue {
      -webkit-text-stroke: 1px rgb(45, 81, 149, 1); 
      }
	}



	.u-font-mincho {
		font-family: "ヒラギノ明朝 ProN W3", Hiragino Mincho ProN , Times New Roman , "游明朝", YuMincho, "MSP明朝","MS PMincho","MS 明朝",serif;
		}

	.u-font-meiryo {
		font-family: "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		}

	button {
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		}




/*	 Utility
===================================================== */
	body {
  	line-height: 1.6;
		letter-spacing: 0.1em;
		background-color: #fff;
		color: #000;
		}
	img {
		max-width: 100%;
		height: auto;
		width: auto;
		}
	img { -ms-interpolation-mode: bicubic; }
	
	img.c-img100 { width: 100%; }

	@media print, screen and (min-width: 768px) {
		img.c-imgSP { display: none; }
	}
	@media (max-width: 767px) {
		img.c-imgPC { display: none; }
  	img.c-img30-sp { max-width: 30%; }
  	img.c-img50-sp { max-width: 50%; }
  	img.c-img80-sp { max-width: 80%; }
	}

	a {
		color: #736357;
		text-decoration: underline;
		-webkit-transition: all 0.5s ease-in-out;
		-moz-transition: all 0.5s ease-in-out;
		-o-transition: all 0.5s ease-in-out;
		-ms-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
		}

	.c-LinkTrans a {
		-webkit-transition: all 0.5s ease-in-out;
		-moz-transition: all 0.5s ease-in-out;
		-o-transition: all 0.5s ease-in-out;
		-ms-transition: all 0.5s ease-in-out;
		transition: all 0.5s ease-in-out;
		}
	a:hover {
		text-decoration: none;
		}

	a.c-underline {
		color: #000!important;
		text-decoration: underline!important;
		}
	a.c-underline:hover {
		text-decoration: none!important;
		}
	a.c-nounderline {
		color: #000!important;
		text-decoration: none!important;
		}
	a.c-nounderline:hover {
		text-decoration: underline!important;
		}
	@media print, screen and (min-width: 768px) {
		a:hover img {
			opacity:0.7;
			filter: alpha(opacity=70);
			-ms-filter: "alpha( opacity=70 )";
			}	
		a.c-bright:hover img {
			opacity:1;
			filter: alpha(opacity=100);
			-ms-filter: "alpha( opacity=100 )";
			 -webkit-filter: brightness(1.2);
			 -moz-filter: brightness(1.2);
			 -o-filter: brightness(1.2);
			 -ms-filter: brightness(1.2);
			 filter: brightness(1.2);
			}	
		.c-noOpacity a:hover img {
			opacity:1;
			filter: alpha(opacity=100);
			-ms-filter: "alpha( opacity=100 )";
			}
		.c-hoverShadow a {
      display: block;
      width: 100%;
      height: 100%;
      line-height: 0;
      }
		.c-hoverShadow a:hover {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, .9);
      box-shadow: 0 3px 5px rgba(0, 0, 0, .9);
    -webkit-transform: translate(0, -2px);
      -ms-transform: translate(0, -2px);
        transform: translate(0, -2px);
    -webkit-transition: all 0.5s;
        transition: all 0.5s;
			}
		.c-hoverShadow01 a {
      display: block;
      width: 100%;
      height: 100%;
      line-height: 0;
  -webkit-box-shadow: 2px 2px 4px #E5DFD9;
      box-shadow: 2px 2px 4px #E5DFD9;
      }
		.c-hoverShadow01 a:hover {
  -webkit-box-shadow: 2px 2px 4px #1F1F1F;
      box-shadow: 2px 2px 4px #1F1F1F;
    -webkit-transform: translate(0, 2px);
      -ms-transform: translate(0, 2px);
        transform: translate(0, 2px);
    -webkit-transition: all 0.5s;
        transition: all 0.5s;
			}
	}


	a[href^="tel:"] { 
		cursor: default;
	  pointer-events: none;
		}
	@media print, screen and (min-width: 768px) {
		a[href^="tel:"] { 
      text-decoration: none;
			}
	}
	@media screen and (max-width: 767px) {
		a[href^="tel:"] { 
			pointer-events: auto;
			}
	}


	.u-relative { position: relative; }
	
	.u-boxsizing-b {
		box-sizing: border-box;
		}

	.u-overhidden { overflow: hidden; }


	@media print, screen and (min-width: 768px) {
		.u-tac-r {
			text-align: center; 
			}
		.u-tal-r {
			text-align: left; 
			}
		.u-tar-r {
			text-align: right; 
			}
	}
	@media (max-width: 767px) {
		.u-tac-r {
			text-align: left; 
			}
		.u-tal-r {
			text-align: center; 
			}
		.u-tar-r {
			text-align: center; 
			}
	}



	.u-vertical-t {vertical-align: top; }
	.u-vertical-b {vertical-align: bottom; }
	.u-vertical-m {vertical-align: middle; }


	.u-items-center {
		display: -webkit-box!important;
		display: -moz-box!important;
		display: -ms-flexbox!important;
		display: -webkit-flex!important;
		display: flex!important;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		}
		.u-items-center img {
			flex-shrink: 0;
			}
		@media print, screen and (min-width: 768px) {
			.u-items-center-pc {
				display: -webkit-box!important;
				display: -moz-box!important;
				display: -ms-flexbox!important;
				display: -webkit-flex!important;
				display: flex!important;
				-webkit-flex-direction: column;
				flex-direction: column;
				-webkit-justify-content: center;
				justify-content: center;
				-webkit-align-items: center;
				align-items: center;
				}
				.u-items-center-pc img {
					flex-shrink: 0;
					}
		}

	.u-items-center-vertical {
		display: -webkit-box!important;
		display: -moz-box!important;
		display: -ms-flexbox!important;
		display: -webkit-flex!important;
		display: flex!important;
		-webkit-flex-direction: column;
		flex-direction: column;
		-webkit-justify-content: center;
		justify-content: center;
		}
		.u-items-center-vertical img {
			flex-shrink: 0;
			}



	
	.u-displayINBlock { display: inline-block;}
	.u-displayBlock { display: block;}
	.u-displayNone { display: none;}
		@media (max-width: 767px) {
			.u-displayBlock-md { display: block;}
		}
		@media (max-width: 400px) {
			.u-displayBlock-xs { display: block;}
			.u-displayNone-xs { display: none;}
		}



	.u-br-pc { display: none;}
	.u-br-lg { display: none;}
	.u-br-lg2 { display: none;}
	.u-br-md { display: none;}
	.u-br-xs { display: none;}
	.u-br-xxs { display: none;}
		@media print, screen and (min-width: 768px) {
			.u-br-pc { display: block;}
		}
		@media (max-width: 1360px) {
			.u-br-lg { display: block;}
		}
		@media (max-width: 960px) {
			.u-br-lg2 { display: block;}
		}
		@media (max-width: 767px) {
			.u-br-md { display: block;}
		}
		@media (max-width: 400px) {
			.u-br-xs { display: block;}
		}
		@media (max-width: 360px) {
			.u-br-xxs { display: block;}
		}



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

	Space
	
======================================================================== */

	.u-mla			{ margin-left: auto; }
	.u-mra			{ margin-right: auto; }
	.u-mb2			{ margin-bottom: 2px; }
	.u-mr2			{ margin-right: 2px; }
	.u-ml0		  { margin-left: 0px!important; }
	.u-mt0		  { margin-top: 0px!important; }
	.u-mr0		  { margin-right: 0px!important; }
	.u-mb0		  { margin-bottom: 0px!important; }
	.u-pl0		  { padding-left: 0px!important; }
	.u-pt0		  { padding-top: 0px!important; }
	.u-pr0		  { padding-right: 0px!important; }
	.u-pb0		  { padding-bottom: 0px!important; }
	.u-pall5		{ padding: 5px; }
	.u-pall8		{ padding: 8px; }
	.u-pall10		{ padding: 10px; }
	.u-pall20		{ padding: 20px; }
	.u-pall30		{ padding: 30px; }

	@media print, screen and (min-width: 768px) {
		/*TB横,PC*/
		.u-pall10-c		{ padding: 10px; }
		.u-pall20-c		{ padding: 20px; }
		.u-pall30-c		{ padding: 30px; }
		.u-pall30-c10		{ padding: 30px; }
		.u-pb25-c		{ padding-bottom: 25px; }
		.u-pb30-c		{ padding-bottom: 30px; }
		.u-pb40-c		{ padding-bottom: 40px; }
		.u-pb50-c		{ padding-bottom: 50px; }
		.u-pt25-c		{ padding-top: 25px; }
		.u-pt30-c		{ padding-top: 30px; }
		.u-pt40-c		{ padding-top: 40px; }
		.u-pt50-c		{ padding-top: 50px; }
		.u-pt10-cn		{ padding-top: 10px; }
		.u-pt20-cn		{ padding-top: 20px; }
		.u-pt40-cn		{ padding-top: 40px; }
		.u-pt50-cn		{ padding-top: 50px; }

    .u-pl10-cn		{ padding-left: 10px; }
		.u-pr10-cn		{ padding-right: 10px; }
		.u-pl25-c		{ padding-left: 25px; }
		.u-pr25-c		{ padding-right: 25px; }
		.u-pl50-c		{ padding-left: 50px; }
		.u-pr50-c		{ padding-right: 50px; }
    
    .u-p1030-c    { padding: 10px 30px; }
    .u-p4050-c    { padding: 40px 50px; }

		.u-mt20-c		{ margin-top: 20px; }
		.u-mt40-c		{ margin-top: 40px; }
		.u-mt30-c		{ margin-top: 30px; }
		.u-mb40-c		{ margin-bottom: 40px; }
		.u-mb50-c		{ margin-bottom: 50px; }
		.u-mt50-c		{ margin-top: 50px; }
		.u-mtb60-c		{ margin-top: 60px; margin-bottom: 60px; }
		.u-mt80-c		{ margin-top: 80px; }
		.u-mr80-cn		{ margin-right: 80px; }
		.u-mt90		{ margin-top: 90px; }
	}

	@media (max-width: 767px) {
		/*SP～TB縦*/	
		.u-pall10-c		{ padding: 5px; }
		.u-pall20-c		{ padding: 10px; }
		.u-pall30-c		{ padding: 20px; }
		.u-pall30-c10	{ padding: 10px; }
		.u-pb25-c		{ padding-bottom: 15px; }
		.u-pb30-c		{ padding-bottom: 20px; }
		.u-pb40-c		{ padding-bottom: 20px; }
		.u-pb50-c		{ padding-bottom: 20px; }
		.u-pt25-c		{ padding-top: 15px; }
		.u-pt30-c		{ padding-top: 20px; }
		.u-pt40-c		{ padding-top: 20px; }
		.u-pt50-c		{ padding-top: 20px; }
    
		.u-pl25-c		{ padding-left: 15px; }
		.u-pr25-c		{ padding-right: 15px; }
		.u-pl50-c		{ padding-left: 20px; }
		.u-pr50-c		{ padding-right: 20px; }
    
    .u-p1030-c    { padding: 10px 15px; }
    .u-p4050-c    { padding: 10px 15px; }
  
		.u-mt20-c		{ margin-top: 0px; }
		.u-mt30-c		{ margin-top: 20px; }
		.u-mt40-c		{ margin-top: 20px; }
		.u-mb50-c		{ margin-bottom: 20px; }
		.u-mb40-c		{ margin-bottom: 20px; }
		.u-mt50-c		{ margin-top: 20px; }
		.u-mtb60-c		{ margin-top: 20px; margin-bottom: 20px; }
		.u-mt80-c		{ margin-top: 30px; }
    
		.u-mt30-sp		{ margin-top: 30px; }
	}




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

	Shadow / Glow
	
======================================================================== */

	.c-textGlowWhite3 {
		text-shadow:
		3px 3px 10px rgba(255, 255, 255, 0.3),
		-3px 3px 10px rgba(255, 255, 255, 0.3),
		3px -3px 10px rgba(255, 255, 255, 0.3),
		-3px -3px 10px rgba(255, 255, 255, 0.3),
		0px 3px 10px rgba(255, 255, 255, 0.3),
		-3px 0px 10px rgba(255, 255, 255, 0.3),
		0px -3px 10px rgba(255, 255, 255, 0.3),
		-3px 0px 10px rgba(255, 255, 255, 0.3);
		}

/*
	.c-textGlowWhite3 {
		text-shadow:
		3px 3px 10px rgba(255, 255, 255, 0.3),
		-3px 3px 10px rgba(255, 255, 255, 0.3),
		3px -3px 10px rgba(255, 255, 255, 0.3),
		-3px -3px 10px rgba(255, 255, 255, 0.3),
		0px 3px 10px rgba(255, 255, 255, 0.3),
		-3px 0px 10px rgba(255, 255, 255, 0.3),
		0px -3px 10px rgba(255, 255, 255, 0.3),
		-3px 0px 10px rgba(255, 255, 255, 0.3);
		}
*/

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

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

	/* Font */
	.u-cBlue      	{ color: #1e4590; }
  	.u-cBlue a.c-nounderlineBlue {
      color: #1e4590;
      text-decoration: none;  
      }
  	.u-cBlue a.c-nounderlineBlue:hover {
      color: #0090d6;
      text-decoration: none;  
      }
    @media (max-width: 767px) {
    	.u-cBlue-sp      	{ color: #1e4590; }
    }

	.u-cWhite      	{ color: #fff; }
	.u-cRed      	{ color: #be272d; }


  /* Background */
	.u-bgcBlue			{ background-color: #1e4590; }
	.u-bgcGray		{ background-color: #333333; }

	.u-bgcGraph {
    background: url("../img/common/bg_graph.jpg") repeat center center;
		}
	.u-bgcGraph-light {
    background: url("../img/common/bg_graph-light.jpg") repeat center center;
		}



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

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





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

	List Type / Icon Type
	
======================================================================== */

  /* list reset */
	.c-list-reset li,
	.c-list-reset {
    padding: 0;
    margin: 0;
		}

	.c-list-disc {
		list-style: disc;
		}

	.c-list-decimal {
		list-style: decimal;
		}

	.c-list-square {
		list-style: square;
		}

	.c-list-upper-roman {
		list-style: upper-roman;
		}

	.c-list-none {
		list-style: none !important;
		margin-left: 0;
		}

  /* maru */
  .c-list-maru {
    margin: 0;
    padding: 0;
		}
	.c-list-maru li {
    margin: 0;
    padding: 0 0 5px 23px;
    list-style: none;
    position: relative;
    line-height: 1.4;
		}
		.c-list-maru li::before{
      content: '●';
      position: absolute;
      top: 3px;
      left: 0;
      font-size: 1.2rem;
			}
		.c-list-maru li::before{
      color: #666;
			}
    .c-list-maru li a {
      color: #000;
      text-decoration: none;
      }
    .c-list-maru li a:hover {
      text-decoration: underline;
      }


  /* originak */
	.c-list-original {
		list-style: none !important;
		margin-left: 0;
		}
		.c-icon-original ,
		.c-list-original > li {
			position: relative;
			list-style: none;
			}
		.c-icon-original span,
		.c-list-original > li span {
			position: absolute;
			top: 0;
			left: 0;
			}


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

	List / Div 
	
======================================================================== */

	/* list-inline */
		.c-list-inline {
			padding-left: 0;
			margin-left: -5px;
			list-style: none;
			}
		.c-list-inline > * {
			display: inline-block;
			padding-right: 5px;
			padding-left: 5px;
			}


	/* list-inline　no space */
		.c-list-inline-n {
			padding-left: 0;
			list-style: none;
			}
		.c-list-inline-n > * {
			display: inline-block;
			padding-right: 0px;
			padding-left: 0px;
			}


	/* list-waku */
		.c-list-waku {
			padding-left: 0;
			list-style: none;
			}
		.c-list-waku > * {
			display: inline-block;
			padding: 8px 15px;
      box-sizing: border-box;
      margin: 0!important;
      border-left: #ccc solid 1px;      
      border-bottom: #ccc solid 1px;      
			}
		@media print, screen and (min-width: 768px) {
      .c-list-waku > *:nth-child(2),
      .c-list-waku > *:nth-child(1) {
        border-top: #ccc solid 1px;      
        }
      .c-list-waku > *:nth-child(even) {
        border-right: #ccc solid 1px;      
        }
		}
		@media (max-width: 767px) {
      .c-list-waku > *:nth-child(1) {
        border-top: #ccc solid 1px;      
        }
      .c-list-waku > * {
        border-right: #ccc solid 1px;      
        }
		}

	/* li padding */
		.c-lipad-b5 > li {
			padding-bottom: 5px;
			}
		.c-lipad-b10 > li {
			padding-bottom: 10px;
			}
		.c-lipad-b20 > li {
			padding-bottom: 20px;
			}




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

	decoration  
	
======================================================================== */

  /*-- icon deco --*/
  .c-icon-deco {
    list-style: none;
		position: relative;
    padding-left: 25px;
		}
		.c-icon-deco::before{
			content: attr(data-deco);
			position: absolute;
			top: 0px;
			left: 0;
			}





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

	Button
	
======================================================================== */




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

	dl dt dd 
	
======================================================================== */

	dt {
		font-weight: bold;
		}
	dd {
		padding: 5px 0 10px 5px;
		}

	/* reset */
	dl.c-dl-reset dd,
	dl.c-dl-reset dt,
	dl.c-dl-reset {
    margin: 0;
    padding: 0;
		}
		




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

	Columns 
	
======================================================================== */

  /* 均等 */
	.c-columns {
		display: -webkit-box; /*Android4.3*/
		display: -moz-box;    /*Firefox21*/
		display: -ms-flexbox; /*IE10*/
		display: -webkit-flex; /*PC-Safari,iOS8.4*/
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		margin-left: 0; 
		}　
		.c-columns > * {
			width: 100%;
			}
		@media print, screen and (min-width: 768px) {
			.c-columns {
				margin-bottom: -30px;
				}
			.c-columns > * {
				margin-bottom: 30px;
				}
		}
		@media (max-width: 767px) {
			.c-columns {
				margin-bottom: -5%;
				}
			.c-columns > * {
				margin-bottom: 5%;
				}
		}


  /* 中央 */
	.c-columns-center {
		display: -webkit-box; /*Android4.3*/
		display: -moz-box;    /*Firefox21*/
		display: -ms-flexbox; /*IE10*/
		display: -webkit-flex; /*PC-Safari,iOS8.4*/
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: center;
		justify-content: center;
		margin-left: 0; 
		}　
		.c-columns-center > * {
			width: 100%;
			}
		@media print, screen and (min-width: 768px) {
			.c-columns-center {
				margin-bottom: -30px;
				}
			.c-columns-center > * {
				margin-bottom: 30px;
				}
		}
		@media (max-width: 767px) {
			.c-columns-center {
				margin-bottom: -5%;
				}
			.c-columns-center > * {
				margin-bottom: 5%;
				}
		}



	/* columns width */


	@media print, screen and (min-width: 768px) {
    .c-w50P {
      width: 50%;
      }
    .c-w48Pall > * {
      width: 48%;
      }
    .c-w46P {
      width: 46%;
      }
    .c-w46Pall > * {
      width: 46%;
      }
    
  
  }
	@media (max-width: 767px) {
    .c-w50P,
    .c-w46P,
    .c-w48Pall > *,
    .c-w46Pall > * {
      width: 100%;
      }
    
	}



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

	Iframe
	
======================================================================== */

	.c-iframe-res {
		text-align: center;
		}
	.c-iframe-res-all {
		text-align: center;
		}
		.c-iframe-res-all {
			position: relative;
			padding-bottom: 56.25%;
			padding-top: 30px;
			height: 0;
			overflow: hidden;
			}
		.c-iframe-res-all iframe,
		.c-iframe-res-all object,
		.c-iframe-res-all embed {
			position: absolute;
			top: 0;
			right: 0;
			width: 100% !important;
			height: 100% !important;
			}
	@media print, screen and (min-width: 768px) {
	}
	@media (max-width: 767px) {
		.c-iframe-res {
			position: relative;
			padding-bottom: 56.25%;
			padding-top: 30px;
			height: 0;
			overflow: hidden;
			}
		.c-iframe-res iframe,
		.c-iframe-res object,
		.c-iframe-res embed {
			position: absolute;
			top: 0;
			right: 0;
			width: 100% !important;
			height: 100% !important;
			}
	}





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

	Table
	
======================================================================== */

	/* Table Normal (no responsive)  color is gray */
	table {
		width: 100%;
		border-collapse: collapse;
    }
		table caption {
			width: 100%;
			font-weight: bold;
			padding: 0;
			box-sizing: border-box;
			text-align: left;
			}
    table th {
			background-color: #efefef;
      }
    table td {
			background-color: #fff;
      }
		table th,
		table td {
			border: solid 1px #c9c9c9;
			padding: 10px;
			box-sizing: border-box;
      text-align: left;
			vertical-align: middle;
      font-weight: normal;
			}
		@media print, screen and (min-width: 768px) {
      table th {
				border-right: hidden;
        }
		}


		/* Table Customize */
		@media print, screen and (min-width: 768px) {
      table.c-tWide td,
      table.c-tWide th {
  			padding: 10px 20px;
        }
		}
		@media screen and (max-width: 767px) {
		}



	/* Table Vertical (when responsive)  color is gray */
	.c-tableVertical {
		}
		.c-tableVertical th {
			}
		.c-tableVertical td {
			}
		@media print, screen and (min-width: 768px) {
      .c-tableVertical th {
        }
      .c-tableVertical td {
        }
		}
		@media screen and (max-width: 767px) {
			.c-tableVertical {
				}
			.c-tableVertical tr:not(:first-child) th {
        margin-top: 10px;
				}
			.c-tableVertical th {
				display: block;
				}
			.c-tableVertical td {
				display: block;
				border-top: hidden;
				}
		}


		/* Table Vertical Customize */
		@media print, screen and (min-width: 768px) {
			.c-tableVertical.c-th260 th {
				width: 260px;
				}
			.c-tableVertical.c-th200 th {
				width: 200px;
				}
			.c-tableVertical.c-th120 th {
				width: 120px;
				}
			.c-tableVertical .c-t340 {
				width: 340px;
				}
      .c-tableVertical .c-tborder-r{
  			border-right: solid 1px #c9c9c9;
        }
		}
		@media screen and (max-width: 767px) {
			.c-tableVertical .c-thidden-sp {
        display: none;
				}
		}






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

	Fadein
	
======================================================================== */

	/* ページ読み込み時にフェードイン */
		body {
			animation: fadeIn 1s ease 0s 1 normal;
			-webkit-animation: fadeIn 1s ease 0s 1 normal;
			}
		@keyframes fadeIn {
			0% {opacity: 0}
			100% {opacity: 1}
			}
		@-webkit-keyframes fadeIn {
			0% {opacity: 0}
			100% {opacity: 1}
			}

/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time05{ animation-delay: 0.5s; }
.delay-time10{ animation-delay: 1s; }
.delay-time15{ animation-delay: 1.5s; }
.delay-time20{ animation-delay: 2s; }
.delay-time25{ animation-delay: 2.5s; }
.delay-time30{ animation-delay: 3s; }
.delay-time35{ animation-delay: 3.5s; }



/*==================================================
ふわっ
===================================*/

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
.fadeLeft01{
animation-name:fadeLeftAnime01;
animation-duration:3s;
animation-fill-mode:forwards;
opacity:0;
}
.fadeLeft02{
animation-name:fadeLeftAnime01;
animation-duration:5s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}
@keyframes fadeLeftAnime01{
  from {
    opacity: 0;
  transform: translateX(-200px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}
@keyframes fadeLeftAnime02{
  from {
    opacity: 0;
  transform: translateX(-300px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}
.fadeRight01{
animation-name:fadeRightAnime01;
animation-duration:3s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(100px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}
@keyframes fadeRightAnime01{
  from {
    opacity: 0;
  transform: translateX(200px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeInTrigger,
.fadeUpTrigger,
.fadeDownTrigger,
.fadeLeftTrigger02,
.fadeLeftTrigger01,
.fadeLeftTrigger,
.fadeRightTrigger01,
.fadeRightTrigger{
    opacity: 0;
}


/*==================================================
ボンッ、ヒュッ
===================================*/

/* 拡大 */
.zoomIn{
  animation-name:zoomInAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}

@keyframes zoomInAnime{
  from {
  transform: scale(0.6);
  opacity: 0;
  }

  to {
    transform: scale(1);
  opacity: 1;
  }
}

/* 縮小 */
.zoomOut{
  animation-name:zoomOutAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
}

@keyframes zoomOutAnime{
  from {
  transform: scale(1.2);
  opacity: 0;
  }

  to {
    transform:scale(1);
  opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.zoomInTrigger,
.zoomOutTrigger{
    opacity: 0;
}

/*==================================================
じわっ
===================================*/

/* ぼかしから出現 */
.blur{
  animation-name:blurAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.blurTrigger{
    opacity: 0;
}



/*==================================================
パタッ
===================================*/


/* 下へ */
.flipDown{
animation-name:flipDownAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipDownAnime{
  from {
    transform: perspective(2500px) rotateX(100deg);
  opacity: 0;
  }

  to {
    transform: perspective(2500px) rotateX(0);
  opacity: 1;
  }
}


/* 左へ */
.flipLeft{
animation-name:flipLeftAnime;
animation-duration:1s;
animation-fill-mode:forwards;
perspective-origin:left center;
opacity:0;
}

@keyframes flipLeftAnime{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
  opacity: 0;
  }

  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}


/* 左上へ */
.flipLeftTop{
animation-name:flipLeftTopAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipLeftTopAnime{
  from {
   transform: translate(-20px,80px) rotate(-15deg);
  opacity: 0;
  }

  to {
   transform: translate(0,0) rotate(0deg);
  opacity: 1;
  }
}

/* 右へ */
.flipRight{
animation-name:flipRightAnime;
animation-duration:1s;
animation-fill-mode:forwards;
perspective-origin:right center;
opacity:0;
}

@keyframes flipRightAnime{
  from {
   transform: perspective(600px) translate3d(0, 0, 0) rotateY(-30deg);
  opacity: 0;
  }

  to {
  transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
  opacity: 1;
  }
}

/* 右上へ */
.flipRightTop{
animation-name:flipRightTopAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes flipRightTopAnime{
  from {
   transform: translate(-20px,80px) rotate(25deg);
   opacity: 0;
  }

  to {
   transform: translate(0,1) rotate(0deg);
  opacity: 1;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.flipDownTrigger,
.flipLeftTrigger,
.flipLeftTopTrigger,
.flipRightTrigger,
.flipRightTopTrigger{
    opacity: 0;
}

