@charset "utf-8";


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



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

	
		html {
			font-size: 62.5%;/* 16px x 0.625 = 10px(=1rem) */
			-ms-text-size-adjust: 100%;
			-webkit-text-size-adjust: 100%;
		}
		
		body {
			font-size: 1.5rem;/* 15px */
		    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
		}
		
		
		@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; }


/*	 Utility
===================================================== */
	body {
  		line-height: 1.42857;
		letter-spacing: 1.1px;
		background-color: #fff;
		color: #190C01;
		}
	
	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; }
	}

	a {
		color: #002C79;
		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;
		color: #996600;	
		}

	@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 )";
			}
	}


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


	
	.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-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-text40r { font-size: 4.0rem; }
		@media (max-width: 767px) {
			.c-text40r { font-size: 2.4rem; }
		}


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

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

	.u-spacing-no { letter-spacing: -0.5em; }
	.u-spacing-w { letter-spacing: .1em; }
	.u-spacing-narrow { letter-spacing: -1px; }

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


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



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



	.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;}

		@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-lg { display: none;}
	.u-br-lg2 { display: none;}
	.u-br-md { display: none;}
	.u-br-xs { display: none;}
	.u-br-xxs { display: none;}
		@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;}
		}

	.u-font-nikkatsu {
    font-family: 'Yuji Syuku', "Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
    font-weight: normal;
/*			font-family: ro-nikkatsu-sei-kai-std, "Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
		font-style: normal;
		font-weight: 400;		
	font-family: 'Sawarabi Mincho', "Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
		font-weight: normal;*/
		}

	.u-font-noto {
		font-family: 'Noto Serif JP', 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
		}

	.u-font-gothic {
		font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Verdana, "メイリオ", Meiryo, sans-serif;
		}

	.u-font-meiryo {
		font-family: "メイリオ", Meiryo, Osaka, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		}
	.u-font-mincho {
	    font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
		}
	.u-font-hiragino {
		font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		}

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



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

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

	.u-mb0			{ margin-bottom: 0px!important; }
	.u-mb2			{ margin-bottom: 2px; }
	.u-mr2			{ margin-right: 2px; }
	.u-pall5		{ padding: 5px; }
	.u-pall10		{ padding: 10px; }
	.u-pall20		{ padding: 20px; }
	.u-pall30		{ padding: 30px; }

	@media print, screen and (min-width: 768px) {
		/*TB横,PC*/
		.u-pall30-c		{ padding: 30px; }
		.u-pb40-c		{ padding-bottom: 40px; }
		.u-pt40-c		{ padding-top: 40px; }
		.u-pt40-cn		{ padding-top: 40px; }
		.u-pt20-cn		{ padding-top: 20px; }
		.u-pl20-cn		{ padding-left: 20px; }
		.u-pl50-c		{ padding-left: 50px; }
		.u-pr50-c		{ padding-right: 50px; }

		.u-mt20-c		{ margin-top: 20px; }
		.u-mt40-c		{ margin-top: 40px; }
		.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; }
	}

	@media (max-width: 767px) {
		/*SP～TB縦*/	
		.u-pall30-c		{ padding: 20px; }
		.u-pl50-c		{ padding-left: 20px; }
		.u-pr50-c		{ padding-right: 20px; }
		.u-pt20-pn		{ padding-top: 20px; }

		.u-pb40-c		{ padding-bottom: 20px; }
		.u-pt40-c		{ padding-top: 20px; }
		.u-mt20-c		{ margin-top: 0px; }
		.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: 20px; }
	}




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

	Shadow / Glow
	
======================================================================== */
/*
	.c-textGlowWhite {
		text-shadow:
		1px 1px 1px rgba(255, 255, 255, 0.5),
		-1px 1px 1px rgba(255, 255, 255, 0.5),
		1px -1px 1px rgba(255, 255, 255, 0.5),
		-1px -1px 1px rgba(255, 255, 255, 0.5),
		0px 1px 1px rgba(255, 255, 255, 0.5),
		-1px 0px 1px rgba(255, 255, 255, 0.5),
		0px -1px 1px rgba(255, 255, 255, 0.5),
		-1px 0px 1px rgba(255, 255, 255, 0.5);
		}
	.c-textShadowWhite {
		text-shadow: 0 1px 0 rgba(255, 255, 255, 1);
		}

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

	Colors
	
======================================================================== */
	
	/* Font */
	.u-cBrown				{	color: #996600; }


	/* Background */
	.u-bgcWhite-70			{ background-color: rgba(255,255,255,0.7); }
	.u-bgcBrown-30			{ background-color: rgba(240,231,223,0.3); }



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

	Border
	
======================================================================== */
/*
	.u-bcGray-light {
		border: solid 1px #E3E8DD;
		}

*/


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

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


/* type */

	/* background(white) arrow(green) */
	a.c-btnGreen {
		display: inline-block;
		text-align: center;
		text-decoration: none;
		outline: none;
		margin: 0 auto;
		box-sizing: border-box;
		color: #190C01;
		background-color: #f4f4f4;
		border: #f4f4f4 solid 1px;
		font-weight: bold;
		padding: 0;
		}
		a.c-btnGreen::after {
			content: '';
			display: inline-block;
			background: url(../img/common/icon_arrowG.png) no-repeat;
			background-size: contain;
			position: relative;
			margin-right: 20px;
			float: right;
			}
		@media print, screen and (min-width: 768px) {
			a.c-btnGreen {
				height: 50px;
				width: 330px;
				font-size: 1.6rem;
				line-height: 50px;
				padding-left: 50px;
				box-shadow: 6px 6px rgba(0,0,0,0.1);
		-webkit-border-radius: 25px;
			 -moz-border-radius: 25px;
						border-radius: 25px;
				-ms-border-radius: 25px;
				}
				a.c-btnGreen.c-btnNoLeft {
					padding-left: 20px;
			-webkit-border-radius: 0 25px 25px 0;
				 -moz-border-radius: 0 25px 25px 0;
							border-radius: 0 25px 25px 0;
					-ms-border-radius: 0 25px 25px 0;
					}
			a.c-btnGreen:hover {
				background-color: rgba(255,255,255,0.9);
				color: #190C01;
				box-shadow: 4px 4px rgba(0,0,0,0.1);
				transform: translateY(4px);
				}
			a.c-btnGreen::after {
				width: 48px;
				height: 40px;
				top: 5px;
				}
		}
		@media (max-width: 767px) {
			a.c-btnGreen {
				height: 40px;
				width: 250px;
				line-height: 40px;
				padding-left: 20px;
				box-shadow: 4px 4px rgba(0,0,0,0.1);
		-webkit-border-radius: 20px;
			 -moz-border-radius: 20px;
						border-radius: 20px;
				-ms-border-radius: 20px;
				}
				a.c-btnGreen.c-btnNoLeft {
					padding-left: 5px;
					width: 280px;
					}
			a.c-btnGreen::after {
				width: 24px;
				height: 20px;
				top: 10px;
				}
		}



/* size */
		a.c-btnS {
			height: 30px;
			line-height: 30px;
			box-shadow: 3px 3px rgba(0,0,0,0.1);
	-webkit-border-radius: 15px;
		 -moz-border-radius: 15px;
					border-radius: 15px;
			-ms-border-radius: 15px;
			}
			a.c-btnS:hover {
				box-shadow: 3px 3px rgba(0,0,0,0.1);
				transform: translateY(4px);
				}
		@media print, screen and (min-width: 768px) {
			a.c-btnS {
				width: 200px;
				padding-left: 45px;
				font-size: 1.5rem;
				}
			a.c-btnS::after {
				width: 30px;
				height: 25px;
				top: 2px;
				}
		}
		@media (max-width: 767px) {
			a.c-btnS {
				width: 130px;
				padding-left: 5px;
				font-size: 1.3rem;
				}
			a.c-btnS::after {
				width: 18px;
				height: 15px;
				top: 6px;
				margin-right: 5px;
				}
		}



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

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

	/* 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;
			}


	/* li psdding */
		.c-lipad-b5 > li:not(:last-child) {
			padding-bottom: 5px;
			}



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

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

	.c-list-disc {
		list-style: disc;
		margin-left: 20px;
		}

	.c-list-decimal {
		list-style: decimal;
		margin-left: 20px;
		}

	.c-list-square {
		list-style: square;
		margin-left: 20px;
		}

	.c-list-upper-roman {
		list-style: upper-roman;
		margin-left: 20px;
		}

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

	.c-list-original {
		list-style: none !important;
		}
		.c-list-original li {
			position: relative;
			list-style: none;
			}
		.c-list-original li span {
			position: absolute;
			top: 0;
			left: 0;
			}

	.c-list-parenthesis {
		}
		.c-list-parenthesis li{
			list-style-type: none;
			list-style-position: inside;
			counter-increment: cnt;
			text-indent: -2.5rem;
			padding-left: -2.5rem;
			margin-left: 2.5rem;
			}
		.c-list-parenthesis li:before{
			display: marker;
			content: "(" counter(cnt) ") ";
			}



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

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

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





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

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


	 /* 均等割り */
	.c-columns {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		}
		@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-left: auto;
				margin-right: auto;
				margin-bottom: 5%;
				}
		}


	 /* 左寄せ（間の余白は個別に設定する） */
	.c-columns-left {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-flow: row wrap;
		flex-flow: row wrap;
		-webkit-justify-content: flex-start;
		justify-content: flex-start;
		}



	/* columns Original */
	.c-w32p > * {
		width: 32%;
		}
	@media print, screen and (min-width: 768px) {
		.c-w460 > * {
			width: 460px;
			}
		.c-w50pr > * {
			width: 50%;
			}
		.c-w32p > * {
			width: 32%;
			}
	}
	@media (max-width: 767px) {
		.c-w460 > * {
			max-width: 460px;
			width: 100%;
			}
		.c-w50pr > * {
			width: 100%;
			}
	}




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

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


	/* Table Vertical (when responsive) tr color brown */

	.c-tableVertical {
		width: 100%;
		box-sizing: border-box;
		text-align: left;
		}
		.c-tableVertical tr {
			width: 100%;
			}
		.c-tableVertical tr {
			border-bottom: #D6C0A9 solid 1px;
			}
		.c-tableVertical th {
			}
		.c-tableVertical th,
		.c-tableVertical td {
			box-sizing: border-box;
			text-align: left;
			}
		@media print, screen and (min-width: 768px) {
			.c-tableVertical th {
				width: 25%;
				padding: 25px 25px 8px 25px;
				}
				.c-tableVertical.p-form th {
					vertical-align: middle !important;
					}
			.c-tableVertical td {
				width: 75%;
				padding: 25px 25px 8px 25px;
				}
				.c-tableVertical.p-form td,
				.c-tableVertical.p-form th {
					padding: 10px 25px 10px 25px !important;
					}
		}
		@media screen and (max-width: 767px) {
			.c-tableVertical {
				}
			.c-tableVertical th {
				display: block;
				font-weight: bold;
				padding: 10px 10px 5px 10px;
				color: #669900;
				font-size: 110%;
				}
			.c-tableVertical td {
				display: block;
				padding: 0 10px 10px 10px;
				}
		}

		/* Table Vertical Customize */
		@media print, screen and (min-width: 768px) {
		}
		@media screen and (max-width: 767px) {
		}









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

	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}
			}


	/* ページ読み込み時にフェードイン（要素限定） */
	.fadeUp {
		-webkit-animation: fadeUp 2s forwards;
		animation: fadeUp 2s forwards;
		}

	@-webkit-keyframes fadeUp {
		0% { opacity: 0; -webkit-transform: translateY(30px); }
		100% { opacity: 1; -webkit-transform: translateX(0); }
	}
	@keyframes fadeUp {
		0% { opacity: 0; transform: translateY(30px); }
		100% { opacity: 1; transform: translateX(0); }
	}




	/* スクロール時にフェードイン */
	.fadeIn {
		opacity : 0;
		transition: 2s;
		}
	.fadeInUp {
		opacity : 0;
		transform: translateY(30px);
		transition: 2s;
		}



