@charset "utf-8";


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

  “Common 2nd” CSS

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




/* site name & nav(main-menu)
========================================== */
	/* (reference)
		'sm-blue_base.css'
		'sm-blue_xxx.css'*/

@media print, screen and (min-width:768px) {
	#main-menu li.pcHidden	{	display:none;}
}
@media screen and (min-width:768px) {
	.nav-brand a 			{ 	font-family: "kodawari"; font-weight:500;}
}


/* Content　Base
========================================== */
main	{	background:#fff; width:96%; margin:15px auto 0; max-width:1000px; padding:10px; font-size:1.4em;
			-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
			-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
			box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
			display:block; /*forIE*/}

main img{	max-width:100%; height:auto;}
main p	{	line-height:1.5; margin:1em 0;}

main h2		{	font-size:20px; line-height:1.4; font-weight:bold; }
main h2 span{	font-size:13px; display:block; font-weight:normal; }

main h3					{	border:solid #bbb; border-width:2px 0; padding:10px 0; font-size:18px; font-weight:bold; margin-top:40px;}
main h2 + h3,
main h3:first-child		{	margin-top:20px;}
main h4					{	font-size:16px; font-weight:bold; position:relative; margin:25px 0 10px 0;}
main h4 span			{	display:inline-block; border-bottom:2px solid #bbb; padding-bottom:2px; position:relative; z-index:2;}
main h4:after			{	content:""; width:100%; height:2px; background:#efefef; position:absolute; bottom:0; left:0; z-index:1;}
main h5					{	font-size:15px; margin-top:1em;}

@media print, screen and (min-width:600px) {
	main				{	padding:20px; min-height:500px; }
	main h3				{	font-size:20px;}
	main section.left	{	width:70%;}
	main section.left.ws{	width:80%;}
}

@media screen and (min-width:600px) {
	main h2				{	font-family: "kodawari"; font-weight:500;}
	main h2	span		{	font-family: "kodawari"; font-weight:300;}
	main h3				{	font-family: "kodawari"; font-weight:500;}
	.page2nd main h3	{	font-family:inherit; }
}


	/* 2nd Menu page
	---------------------------------------- */
	/*
	文字数が多い場合は、li要素に[class="large"]で個別対応
	それでも駄目な場合は、ul要素に[class="row1"]で1列で対応する
	*/
	main ul#menu2ndpage			{	width:100%; margin-top:10px;}
	main ul#menu2ndpage	li		{	margin-bottom:5px; float:left; width:49%; height:50px; display:table;
									-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
									-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
									box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);}
	main ul#menu2ndpage	li:nth-child(2n)	{	float:right;}
	main ul#menu2ndpage	li a	{	display:table-cell; padding:0 10px; line-height:1.2; text-align:center;
									border:1px solid #bbb; vertical-align:middle; color:#000;}
	
		main ul#menu2ndpage	li.large a	{	letter-spacing:-1px; padding:0 5px;}
		main ul.row1 li	{	float:none!important; width:100%!important;}
		main ul.row1 li:nth-child(2n)	{	float:none!important;}
	
	main img.menuPhoto			{	display:block; margin:10px auto; width:100%;}
	
	.menu2ndpageNote			{	width:100%; font-size:0.786em;}
	
	@media print, screen and (min-width:600px) {
	main ul#menu2ndpage				{	width:80%; margin:15px auto 0;}
	main ul#menu2ndpage	li a		{	font-size:16px; }
	main ul#menu2ndpage	li a:hover	{	background:#efefef;}
	
		main ul#menu2ndpage	li.large a	{	letter-spacing:0; padding:0 10px;}
		main ul.row1 li	{	float:left!important; width:49%!important;}
		main ul.row1 li:nth-child(2n)	{	float:right!important;}
	main img.menuPhoto			{	width:80%;}
	.menu2ndpageNote			{	width:80%; margin:1em auto 0;}
	
	}
	@media screen and (min-width:600px) {
	main ul#menu2ndpage	li a		{	font-family: "kodawari"; font-weight:300;}
	}




	/* 3rd page
	---------------------------------------- */
	main p.menu2ndBtn					{	background:#bbb; color:#fff; padding:10px 40px 10px 10px; position:relative; line-height:1; font-size:1.5em;}
	main p.menu2ndBtn:after				{	content:"＋"; position:absolute; top:50%; right:10px; display:inline-block; font-size:30px; margin-top:-15px;}
	main p.menu2ndBtn.active:after		{	content:"－"}
	main ul.menu2nd						{	display:none; margin-top:-1em;}
	main ul.menu2nd	li					{	border:solid #bbb; border-width:0 1px 1px 1px}
	main ul.menu2nd	li:first-child		{	border-top-width:1px;}
	main ul.menu2nd	li a				{	display:block; background:#f5f4f4; color:#000; padding:10px;}
	main .photo							{	margin:0 auto; text-align:center; display:none;}
	main .photo img						{	margin-top:10px; display:block; width:100%; height:auto;}
	main .photo img.imgSmall			{	width:auto; max-width:100%; display:block; margin-left:auto;}
	main .photoSP img					{	width:100%; height:auto; display:block; margin-top:10px;}
	main .photoSP img.imgSmall			{	width:auto; max-width:100%; display:block; margin-left:auto; margin-right:auto;}	
	
	main .price > dt						{	background:#efefef; margin-top:1em; padding:5px;}	
	main .price > dd						{	margin:1em 0 0 0; line-height:1.5;}

	@media print, screen and (min-width:600px) {
		main p.menu2ndBtn	{	display:none;}
		main ul.menu2nd		{	display:block; width:30%; float:right; padding-left:25px; background:#fff;}
		main ul.menu2nd.ws	{	width:20%;}
		main ul.menu2nd	li:last-child	{	border-bottom-width:2px;}
		main ul.menu2nd	li:first-child	{	border-top-width:2px;}
		main ul.menu2nd	li a:hover		{	background:#fefefe;}
		main ul.menu2nd	li a				{	position:relative;}
		main ul.menu2nd	li a:after			{	content:""; display:block; position:absolute; top:0; left:0; width:3px; height:100%; background:#fff;}
		main ul.menu2nd	li a.current		{	background:#fefefe; font-weight:bold;}
		main ul.menu2nd	li a.current:after	{	background:#f5f4f4; }

	}

	@media print, screen and (min-width:768px) {
		main .photo						{	width:40%; float:right; position:relative; z-index:3; background:#fff; display:block;
											border-left:25px solid #fff; padding-bottom:25px;}
		main .photoSP					{	display:none;}
	}

	/* float, width(pc)
	---------------------------------------- */
	main .fLimg img,
	main .fRimg img				{	width:100%; height:auto;}
	main .fLimg img.small		{	width:auto; max-width:100%; margin-right:auto; margin-left:auto; display:block;}
	main .fRimg img.small		{	width:auto; max-width:100%; margin-left:auto; margin-right:auto; display:block;}
	
	
	@media print, screen and (min-width:600px) {
	main .fL	{	float:left;}
	main .fR	{	float:right;}
	main .fLimg	{	float:left; padding:0 15px 15px 0;}
	main .fRimg	{	float:right; padding:0 0 15px 15px;}

	main .fLimg img.small		{	margin-left:0;}
	main .fRimg img.small		{	margin-right:0;}

		.fOpW70	{	width:70%; }
		.fOpW60	{	width:60%; }
		.fOpW50	{	width:50%; }
		.fOpW40	{	width:40%; }
		.fOpW30	{	width:30%; }
	}

	/* imgList (jquery.matchHeight-min.js)
	---------------------------------------- */
	main .imgList li			{	text-align:center; margin-bottom:10px;}
	main .imgList li img		{	width:100%; height:auto;}
	main .imgList li p		{	margin:0.5em 0 0 0; line-height:1.2;}
	
	@media print, screen and (min-width:480px) {
	main .imgList li			{	float:left; padding:0 5px; }
	main .imgList.column2 li	{	width:50%;}
	main .imgList.column3		{	width:100%;}
	main .imgList.column3 li	{	width:50%;}
	main .imgList.column4 li	{	width:50%;}
	}

	@media print, screen and (min-width:600px) {
	main .imgList.column3		{	width:99.9%; margin:0 auto;}
	main .imgList.column3 li	{	width:33.3%;}
	main .imgList.column4		{	width:99.9%; margin:0 auto;}
	main .imgList.column4 li	{	width:33.3%;}
	}

	@media print, screen and (min-width:768px) {
	main .imgList.column4		{	width:100%;}
	main .imgList.column4 li	{	width:25%;}
	}

	/* flow
	---------------------------------------- */
	main .flow			{	margin-top:15px;}
	main .flow > li		{	padding:2px; border:1px solid #dbdbdb; margin-bottom:30px; position:relative; }
	main .flow > li h3	{	border:none; font-size:16px; font-weight:bold; margin:0; padding:10px; background:#f0f0f0;}
	main .flow > li p,
	main .flow > li ol,
	main .flow > li ul	{	margin:10px 0; padding:0 10px;}

	main .flow > li:before,
	main .flow > li:after	{	position:absolute; left:50%; content:""; }
	main .flow > li:before	{	bottom:-28px; width:2px; height:28px; background:#ccc;}
	main .flow > li:after	{	bottom:-26px; width:20px; height:20px; margin-left:-10px;
								border-top:2px solid #ccc; border-right:2px solid #ccc;
								-webkit-transform: rotate(135deg);
								transform: rotate(135deg);}
	main .flow > li:last-child		{	margin-bottom:10px;}
	main .flow > li:last-child:before,
	main .flow > li:last-child:after	{	display:none;}


	/* letter (jquery.matchHeight-min.js)
	---------------------------------------- */
	main .letter				{	margin:0 auto;}
	main .letter > li			{	margin-top:15px; line-height:1.2;}
	main .letter > li > strong	{	background:#efefef; display:block; padding:10px; text-align:center;}
	main .letter > li li		{	border:1px solid #ccc; margin-top:5px;
									-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
									-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
									box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);}
	main .letter > li li a		{	display:block; padding:10px; text-align:center; color:#000;}
	main .letter > li li a span	{	display:inline-block; font-size:13px; color:#666;}

	main .letter > li li.note	{	-webkit-box-shadow:none;
									-moz-box-shadow:none;
									box-shadow:none;
									padding:10px; border:1px dotted #ccc; line-height:1.5;
									text-align:center;}

	@media print, screen and (min-width:600px) {
		main .letter > li		{	width:33%; float:left; padding:0 10px 10px; margin-top:0; }
		main .letter > li li a:hover	{	background:#efefef;}
		main .letter.half > li	{	width:50%;}
	}



	/* listTable2rows (jquery.matchHeight-min.js)
	---------------------------------------- */
	main .listTable2rows					{	border-top:1px dotted #ccc; margin:1em 0;}
	main .listTable2rows li					{	display:block; width:50%; float:left; padding:5px 10px; line-height:1.2; border:dotted #ccc; border-width:0 0 1px 1px;}
	main .listTable2rows li:nth-child(2n)	{	border-width:0 1px 1px 1px;}
	main .listTable2rows li:nth-child(n):last-child	{	border-right-width:1px;}


	/* links (jquery.matchHeight-min.js)
	---------------------------------------- */
	main .links				{	margin:0 auto;}
	main .links li			{	display:table; border:1px solid #ccc; margin-top:5px; width:100%;
								-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
								-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
								box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);}
	main .links li a		{	display:table-cell; padding:10px; color:#000; vertical-align:middle;}
	main .links li a span	{	display:inline-block;}
	
	main .links li.pdf a		{	position:relative; padding:10px 10px 10px 35px}
	main .links li.pdf a:after	{	content:""; width:20px; height:20px; background:url(../_img/pdf.svg) no-repeat;
									background-size:contain; -webkit-background-size:contain; -moz-background-size:contain;
									position:absolute; top:50%; left:10px; margin-top:-10px;}

	@media print, screen and (min-width:600px) {
	main .links li			{	width:32%; float:left; margin-right:10px;}
	main .links li:nth-child(3n)
							{	margin-right:0;}
	main .links li a:hover	{	background:#efefef;}
	main .links.half li		{	width:49%; margin-right:2%;}
	main .links.half li:nth-child(3n)		{	margin-right:2%;}
	main .links.half li:nth-child(2n)		{	margin-right:0;}
	}

	/* contactUsTex
	---------------------------------------- */
	/*サイトによってスタイルは変更しても良い*/
	.contactUsTex			{	font-size:14px; text-align:right;}
	.contactUsTex a,
	.contactUsTex strong	{	font-weight:bold; font-size:22px; color:#cc0000;}

	@media print, screen and (min-width:600px) {
	.contactUsTex			{	font-size:16px; text-align:right;}
	.contactUsTex a,
	.contactUsTex strong	{	font-size:24px;}
	}


/* Parts
========================================== */

	/* list inline
	---------------------------------------- */
	.listInline.listOpcomma li:after			{	content:","; display:inline-block;}
	.listInline.listOpcomma	li:last-child:after	{	display:none;}

	.listInline.listOpBox li		{	min-width:13em; border-bottom:1px solid #dbdbdb; line-height:30px; margin-right:0; }
	.listInline.listOpBox li strong	{	background:#efefef; display:inline-block; min-width:4.5em; text-align:center;}
	.listInline.listOpBox li span	{	display:inline-block;}


	/* list default
	---------------------------------------- */
	.listDot		{	margin:1em 0;}
	.listDot > li	{	margin:0 0 0 1.5em; list-style:disc; line-height:1.5; }

	.listDotC		{	margin:1em 0;}
	.listDotC > li	{	margin:0 0 0 1.5em; list-style:circle; line-height:1.5; }
	
	.listNum		{	margin:1em 0;}
	.listNum > li	{	margin:0 0 0 2em; list-style:decimal; line-height:1.5; }
	
	.listCom		{	padding-left:1em; margin:1em 0;}
	.listCom > li	{	text-indent:-1em; line-height:1.5; }
	
	.listInline		{	margin:1em 0;}
	.listInline	li	{	display:inline-block; margin-right:10px; line-height:1.5;}
	
		.listOp1em > li	{	margin-bottom:1em;}
		.listOp1em > li:last-child	{	margin-bottom:0;}



	/* btns
	---------------------------------------- */
	.btn				{	display:block; border:1px solid #bbb; padding:10px; color:#000; text-align:center;
							border-radius:2px; -webkit-border-radius:2px; -moz-border-radius:2px;
							background: #ffffff;
							background: -moz-linear-gradient(top, #ffffff 0%, #e5e5e5 100%);
							background: -webkit-linear-gradient(top, #ffffff 0%,#e5e5e5 100%);
							background: linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);}
	.btn:hover			{	background:#fff;}

	.btnOpPDF			{	padding:10px 15px 10px 40px; position:relative; line-height:20px; text-align:left;}
	.btnOpPDF:after		{	content:""; width:20px; height:20px; background:url(../_img/pdf.svg) no-repeat;
							background-size:contain; -webkit-background-size:contain; -moz-background-size:contain;
							position:absolute; top:50%; left:10px; margin-top:-10px;}
	
	.btnOpExLink		{	padding:10px 15px 10px 40px; position:relative; line-height:20px; text-align:left; }
	.btnOpExLink:after	{	content:""; width:20px; height:20px; background:url(../_img/external.svg) no-repeat;
							background-size:contain; -webkit-background-size:contain; -moz-background-size:contain;
							position:absolute; top:50%; left:10px; margin-top:-10px;}
.btn.pos_abso {position:absolute; top:0.5em; right: 0;}
.pos_rel {position:relative;}
	
	@media print, screen and (min-width:480px) {
		.btn		{	display:inline-block; }
		.btnOpW100	{	display:block;}
		#area .btn.pos_abso {left: 15em; right:auto;}
		#tsudoi .btn.pos_abso {left: 11em; right:auto;}
}


	/* getAcrobat	
	---------------------------------------- */
	.getAcrobat		{	text-align:center; border:dotted #ccc; border-width:1px 0; padding:10px; margin:15px 0; width:100%;}
	.getAcrobat p	{	font-size:11px; margin:10px 0 0 0;}	
	.getAcrobat p br{	display:none;}

	@media print, screen and (min-width:600px) {
		.getAcrobat			{	display:table; margin:15px auto; }
		.getAcrobat a		{	display:table-cell; vertical-align:top; width:158px; vertical-align:middle; }
		.getAcrobat a img	{	width:100%; height:auto; }
		.getAcrobat p		{	display:table-cell; vertical-align:middle; padding-left:15px; text-align:left; line-height:1.2;}
	}

	@media print, screen and (min-width:940px) {
		.getAcrobat p br{	display:block;}
	}

	/* table
	---------------------------------------- */
	table.tbDef		{	margin:1em 0; border-top:1px solid #dbdbdb; }
	table.tbDef th,
	table.tbDef td	{	padding:10px 10px; line-height:1.2; border-bottom:1px solid #dbdbdb;}
	table.tbDef th	{	font-weight:normal; text-align:left; background:#f5f5f5;}
	table.tbDef thead th,
	table.tbDef thead td	{	font-weight:bold; background:#ccc; color:#fff;}
	table.tbDef thead th	{	background:#bbb;}
	
	table.tbDef.spNoHead,
	table.tbDef.spNoHead tr,
	table.tbDef.spNoHead th,
	table.tbDef.spNoHead td,
	table.tbDef.spNoHead tbody,
	table.tbDef.spNoHead thead	{	display:block;}
	table.tbDef.spNoHead td		{	padding-left:1em;}
	table.tbDef.spNoHead th		{	font-weight:bold;}
	table.tbDef.spNoHead thead	{	display:none;}
	
		.tbOp100				{	width:100%;}
		.tbOpTh	th				{	white-space:nowrap;}


	@media print, screen and (min-width:600px) {
	table.tbDef td	{	padding:10px 20px; }

	table.tbDef.spNoHead		{	display:table;}
	table.tbDef.spNoHead tr		{	display:table-row;}
	table.tbDef.spNoHead th,
	table.tbDef.spNoHead td		{	display:table-cell;}
	table.tbDef.spNoHead tbody	{	display:table-row-group;}
	table.tbDef.spNoHead thead	{	display:table-header-group;}
	table.tbDef.spNoHead td		{	padding-left:20px;}
	table.tbDef.spNoHead th		{	font-weight:normal;}
	table.tbDef.spNoHead thead th	{	font-weight:bold;}
	}		


	/* font, text, others
	---------------------------------------- */	
	.textC		{	text-align:center;}
	.textR		{	text-align:right;}
	.ls			{	letter-spacing:-1px;}
	
	p.pdfLead			{	border:dotted #ccc; border-width:1px 0; padding:5px 0; display:table; width:100%; line-height:1.2;}
	p.pdfLead span		{	font-weight:bold; display:table-cell; vertical-align:middle; padding-left:5px;}
	p.pdfLead:before	{	content:""; display:table-cell; width:30px; height:30px; margin-right:5px; vertical-align:middle;
							background:url(../_img/pdf.svg) no-repeat;
							background-size:cover; -webkit-background-size:cover; -moz-background-size:cover;}

	.boxLine	{	border:2px solid #dbdbdb; padding:0 14px; margin-top:15px; background:#fcfbfb;
					border-radius:5px; -webkit-border-radius:5px; -moz-border-radius:5px;}

	.fsPlus1	{	font-size:1.071em}
	.fsPlus2	{	font-size:1.143em}
	.fsPlus3	{	font-size:1.214em}
	.fsPlus-1	{	font-size:0.929em}
	.fsPlus-2	{	font-size:0.857em}
	.fsPlus-3	{	font-size:0.786em}
	
	.break span	{	display:inline-block;}

	.googleMap			{	position:relative; width:100%; height:0; padding-top:56.25%; overflow:hidden; margin-top:15px;}
	.googleMap iframe	{	position:absolute; top:0; left:0; width:100%; height:100%;}

	/* colors
	---------------------------------------- */
	.colRD	{	color:#cc0000;}


	

/* Blank adjustment
========================================== */
.m0		{	margin:0!important;}
.mT0	{	margin-top:0!important;}
.mT10	{	margin-top:10px!important;}
.mT15	{	margin-top:15px!important;}
.mT05em	{	margin-top:0.5em!important;}
.mT1em	{	margin-top:1em!important;}
.mT2em	{	margin-top:2em!important;}

.mB0	{	margin-bottom:0!important;}
