@charset "UTF-8";
/* 一般タグ設定 */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}



/* Layout
----------------------------------------------- */
body {
	line-height: 1em;
	color: #040404;
	font-family: "ナウ-GM";
	font-size: 16px;
}
body#body_wrapper {
	background: #fff;
}

@media print, screen and (min-width: 768px){
	body#body_wrapper {
		background: #edf6e4;
	}
}



/* Link
----------------------------------------------- */
a:link {
	text-decoration:none;
	color: #007fff;
}
a:visited {
	text-decoration:none;
	color: #660099;
}
a:hover {
	text-decoration:underline;
	color: #ff007f;
}



/* Heading
----------------------------------------------- */
h1, h2, h3, h4, h5 {
	color: #59b200;
	font-family: "ゴシックMB101 B";
	font-weight: 700;
}

@media print, screen and (min-width: 768px){
	h1, h2, h3, h4, h5 {
		color: #66a901;
	}
}



/* Table
----------------------------------------------- */
table {
	width: 100%;
	border-collapse: collapse;
}

table.rwd_table th,
table.rwd_table td {
	width: 100%;
	display: block;
	border:none;
	line-height: 1.429em;
	font-size: .875em;
}
table.rwd_table th {
	padding: 11px 0 4px;
}
table.rwd_table td {
	padding: 3px 0 12px;
	border-bottom: dotted #59b200 1px;
}

@media print, screen and (min-width: 768px){
	table tr.even {
		background: #eee url(../images/content/dot_2pix_333333.png) repeat-x bottom left;
		background-size: 5px 2px;
	}
	table tr.odd {
		background: #fff url(../images/content/dot_2pix_333333.png) repeat-x bottom left;
		background-size: 5px 2px;
	}
	table th, table td {
		padding: 14px 30px 16px;
		border: solid #59b200 1px;
	}

	table.rwd_table th, table.rwd_table td {
		width:auto;
		padding: 14px 30px 16px;
		display: table-cell;
		border: solid #59b200 1px;
	}
}



/* 非表示
----------------------------------------------- */
.for_pc {
	display: none;
}

#glb_navi dl dt span,
#header_logo a span,
#page_top a span,
ul.sub_banner li.bn_message a span {
	width: 0;
	height: 0;
	position:absolute;
	overflow:hidden;
}

@media print, screen and (min-width: 768px){
	#header_contact a span,
	.right_faq .title span {
		width: 0;
		height: 0;
		position:absolute;
		overflow:hidden;
	}
	
	.for_pc {
		display: block;
	}
	.for_sp {
		display: none;
	}
}



/* Google Map
----------------------------------------------- */
.google_map {
	margin-bottom: 16px;
}
.google_map iframe {
	width: 100%;
	height: 100%;
}
.more_google_map a:link, .more_google_map a:visited {
	color: #fff;
}

@media print, screen and (min-width: 768px){
	.google_map iframe {
		width: 960px;
		height: 540px;
	}
}



/* Image
----------------------------------------------- */
img {
	vertical-align: bottom;
}



/* Button
----------------------------------------------- */
a.btn {
	margin-bottom: 32px;
	padding-right: 24px;
	padding-left: 24px;
	display: block;
	color: #fff;
	font-size: 1em;
	font-weight: 700;
}
a.btn span {
	padding-top: 16px;
	padding-bottom: 16px;
	display: block;
	line-height: 1em;
	font-family: "ゴシックMB101 B";
}
a.btn_green {
	background: url(../images/sp/0980l.png) no-repeat,
			     url(../images/sp/0983r.png) 100% 0 no-repeat;
	-webkit-background-size: 24px 48px;
	background-size: 24px 48px;
}
a.btn_green span {
	background: url(../images/sp/0980c.png) repeat-x;
	-webkit-background-size: 24px 48px;
	background-size: 24px 48px;
	font-size: 1.142857em;
}

@media print, screen and (min-width: 768px){
	a.btn_l {
		background: url(../images/pc/b023.png) no-repeat,
					url(../images/pc/b026.png) no-repeat 100% 0;
		margin-bottom: 24px;
		padding-right: 48px;
		padding-left: 48px;
		clear: right;
		float: right;
		display: inline-block;
		color: #fff;
		font-size: 1.375em;
		font-weight: bold;
	}
	a.btn_l:hover {
		background-position: 0 -48px, 100% -48px;
		text-decoration: none;
	}
	a.btn_l span {
		background: url(../images/pc/b024.png) repeat-x;
		padding-top: 13px;
		padding-bottom: 9px;
		display: block;
		line-height: 1.182em;
	}
	a.btn_l:hover span {
		background-position: 0 -48px;
	}

	a.btn_m {
		background: url(../images/pc/b017.png) no-repeat,
					url(../images/pc/b019.png) no-repeat 100% 0;
		margin-bottom: 24px;
		padding-right: 36px;
		padding-left: 36px;
		color: #fff;
		font-size: 1.125em;
	}
	a.btn_m span {
		background: url(../images/pc/b018.png) repeat-x;
		padding-top: 8px;
		padding-bottom: 6px;
		line-height: 1.222em;
	}
	a.btn_m:hover {
		background-position: 0 -36px, 100% -36px;
		text-decoration: none;
	}
	a.btn_m:hover span {
		background-position: 0 -36px;
	}
	a.btn_s {
		background: url(../images/pc/0812l.png) no-repeat,
				     url(../images/pc/0812r.png) no-repeat 100% 0;
		margin-bottom: 72px;
		padding-right: 48px;
		padding-left: 48px;
		display: inline-block;
	}
	a.btn_s span {
		background: url(../images/pc/0812c.png) repeat-x;
		padding-top: 13px;
		padding-bottom: 13px;
		line-height: 1.222em;
		font-size: 1.2em;
	}
	a.btn_s:hover {
		background-position: 0 -48px, 100% -48px;
		text-decoration: none;
	}
	a.btn_s:hover span {
		background-position: 0 -48px;
	}
}



/* Text
----------------------------------------------- */
em {
	font-weight: bold;
}



/* Layout Wrapper
----------------------------------------------- */
.top_pagewrapper {
	background: url(../images/sp/0311.jpg) no-repeat top;
	-webkit-background-size: 720px 428px;
	background-size: 720px 428px;
}

@media print, screen and (min-width: 768px){
	.top_pagewrapper {
		background: url(../images/pc/0000.png) repeat-x;
	}

	.pagewrapper {
		background: url(../images/pc/1300.png) 50% 208px no-repeat,
				     url(../images/pc/1000.png) repeat-x;
	}

	#page {
		width: 1008px;
		margin-right: auto;
		margin-left: auto;
	}
}



/* Header
----------------------------------------------- */
#header {
	height: 60px;
	background: url(../images/sp/0010.png) no-repeat top;
	background-size: 320px 60px;
	position: relative;
}
.pagewrapper #header {
	margin-bottom: 32px;
}
.top_pagewrapper #header {
	margin-bottom: 0;
}

#header_logo {
    width: 268px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 52px;
    bottom: 0;
    left: 0;
    z-index: 4;
}
#header_logo a {
    height: 60px;
    display: block;
}

@media print, screen and (min-width: 768px){
	#header {
		width: 1008px;
		height: 208px;
		background: url(../images/pc/0100.png) no-repeat,
					url(../images/pc/0110.png) no-repeat 0 28px,
					url(../images/pc/0210.png) no-repeat 0 196px;
		margin-right: auto;
		margin-left: auto;
		position: relative;
		z-index: 2;
	}
	.pagewrapper #header {
		margin-bottom: 0;
	}
	#header_slogan {
		position: absolute;
		top: 0;
		left: 120px;
		padding-top: 5px;
		padding-bottom: 5px;
		line-height: 1.5em;
		color: #fff;
		font-size: .75em;
	}

	#header_logo {
	    width: auto;
	    position: absolute;
	    top: 28px;
	    right: auto;
	    bottom: auto;
	    left: 0;
	}
	#header_logo a {
	    width: 460px;
	    height: 96px;
	    margin: 0;
	    display: block;
	}
	
	#header_submenu {
		position: absolute;
		top: 0;
		right: 116px;
	}
	#header_submenu ul {
		display: -webkit-flex;
		display: flex;
	}
	#header_submenu ul li {
		background: url(../images/pc/0171.png) no-repeat;
		padding-left: 24px;
		font-size: .75em;
	}
	#header_submenu ul li a:link,
	#header_submenu ul li a:visited {
		display: block;
		line-height: 1.5em;
		color: #fff;
	}
	#header_submenu ul li a:hover {
		text-decoration: none;
		color: #ff7901;
	}
	#header_submenu ul li a span {
		padding-top: 5px;
		padding-bottom: 5px;
		display: block;
		line-height: 1.5em;
	}

	#header_submenu ul li:first-child {
		background: url(../images/pc/0170.png) no-repeat;
	}
	/*　メニューが複数の時有効に
	#header_submenu ul li:last-child a:link, #header_submenu ul li:last-child a:visited {
		background: url(../images/pc/b004.png) no-repeat,
					url(../images/pc/b002.png) no-repeat 100% 0;
		padding-right: 43px;
		padding-left: 18px;
	}
	#header_submenu ul li:last-child a:hover {
		background-position: 0 -36px, 100% -36px;
	}
	*/

	#header_tel {
		padding-top: 1px;
		padding-bottom: 1px;
		position: absolute;
		top: 36px;
		right: 116px;
		font-family: "ゴシックMB101 B";
		font-size: 1.75em;
		font-weight: bold;
	}
	#header_tel a:link,
	#header_tel a:visited {
		background: url(../images/pc/b120.png) no-repeat;
		padding-left: 37px;
		display: block;
		line-height: 1em;
		color: #81bd1e;
	}
	#header_tel a:hover {
		background-position: 0 -28px;
		text-decoration: none;
		color: #ff7901;
	}

	#header_contact {
	    position: absolute;
	    top: 0;
	    right: 0;
	    font-size: 1.125em;
	}
	#header_contact a:link,
	#header_contact a:visited {
		width: 104px;
		height: 104px;
		background: url(../images/pc/b110.png) no-repeat;
		display: block;
		color: #fafafa;
		font-weight: bold;
	}
	#header_contact a:hover {
		background-position: 0 -104px;
		text-decoration: none;
		color: #fff;
	}

	#header_address {
		position: absolute;
		top: 70px;
		right: 116px;
		text-align: right;
		line-height: 1.5em;
		color: #646464;
		font-size: .75em;
	}
}



/* Global glb_navi
----------------------------------------------- */
#glb_navi {
	width: 100%;
	position:absolute;
	top: 0;
	right: 0;
	z-index: 3;
}
#glb_navi dl dt {
	width: 52px;
	height: 60px;
	background: url(../images/sp/b000.png) no-repeat;
	background-size: 48px 60px;
	float:right;
	cursor: pointer;
}
#glb_navi dl dt.slideclose {
	background: url(../images/sp/b001.png) no-repeat;
	background-size: 48px 60px;
}
#glb_navi dl dd {
	width: 100%;
	background: #f1f0ec;
	clear:right;
	display:none;
}
#glb_navi dd .top,
#glb_navi dd .bottom {
	padding-right: 32px;
	padding-left: 32px;
}
#glb_navi dd .top span,
#glb_navi dd .bottom span {
	height: 24px;
	display: block;
}
#glb_navi dd .top {
	background: url(../images/sp/0200l.png) no-repeat,
			     url(../images/sp/0200r.png) top right no-repeat;
	-webkit-background-size: 32px 24px, 32px 24px;
	background-size: 32px 24px, 32px 24px;
}
#glb_navi dd .top span {
	background: url(../images/sp/0230.png) top no-repeat,
			     url(../images/sp/0200c.png) repeat-x;
	-webkit-background-size: 192px 24px, 32px 24px;
	background-size: 192px 24px, 32px 24px;
}
#glb_navi dd .bottom {
	background: url(../images/sp/0201l.png) no-repeat,
			     url(../images/sp/0201r.png) top right no-repeat;
	-webkit-background-size: 32px 24px, 32px 24px;
	background-size: 32px 24px, 32px 24px;
}
#glb_navi dd .bottom span {
	background: url(../images/sp/0201c.png) repeat-x;
	-webkit-background-size: 32px 24px;
	background-size: 32px 24px;
}
#glb_navi dl dd ul {
	margin-bottom: 0;
	padding: 0;
}
#glb_navi li {
	text-align:center;
	list-style:none;
}
#glb_navi dl dd ul li:last-child {
	border-bottom: none;
}
#glb_navi li a .title {
	background: url(../images/sp/b100c.png) repeat-x;
	-webkit-background-size: 32px 48px;
	background-size: 32px 48px;
	padding-top: 16px;
	padding-bottom: 16px;
	color: #fff;
	font-weight: 700;
}

#glb_navi li a:link,
#glb_navi li a:visited {
	background: url(../images/sp/b100l.png) no-repeat,
			     url(../images/sp/b100r.png) top right no-repeat;
	-webkit-background-size: 32px 48px, 32px 48px;
	background-size: 32px 48px, 32px 48px;
	padding-right: 32px;
	padding-left: 32px;
	display:block;
	text-decoration:none;
}
#glb_navi dl dd ul li a.menu_down {
	background: #ebe6d2 url(images/menu_down.jpg) no-repeat right;
}
#glb_navi dl dd ul li a.selected {
	background: #ebe6d2 url(images/menu_up.jpg) no-repeat right;
}
#glb_navi dl dd ul li.gl_01 ul li a {
	background: #ffcccc;
	color: #333;
}
#glb_navi dl dd ul li.gl_02 ul li a {
	background: #ccccff;
	color: #333;
}
#glb_navi dl dd ul li.gl_03 ul li a {
	background: #ffcc99;
	color: #333;
}
#glb_navi dl dd ul li.gl_04 ul li a {
	background: #ccffff;
	color: #333;
}

@media print, screen and (min-width: 768px){
	#glb_navi {
		position:absolute;
		top: 124px;
		left: 0;
	}
	#glb_navi dl dt {
		width: 0;
		height: 0;
	}
	#glb_navi dl dd {
		background: none;
		clear:none;
		display:inline;
	}
	#glb_navi dl dd ul {
		background: url(../images/pc/0200.png) no-repeat;
		padding-left: 24px;
		overflow: hidden;
	}
	#glb_navi dl dd ul li {
		width: 192px;
		float:left;
		border-bottom: none;
	}
	#glb_navi li a:link,
	#glb_navi li a:visited {
		padding-right: 0;
		padding-bottom: 16px;
		padding-left: 0;
	}
	#glb_navi dl dd ul li.gl_01 a {
		background: url(../images/pc/b200.png) no-repeat -25px 0;
	}
	#glb_navi dl dd ul li.gl_01 a:hover {
		background-position: -25px -72px;
	}
	#glb_navi dl dd ul li.gl_02 a {
		background: url(../images/pc/b200.png) no-repeat -217px 0;
	}
	#glb_navi dl dd ul li.gl_02 a:hover {
		background-position: -217px -72px;
	}
	#glb_navi dl dd ul li.gl_03 a {
		background: url(../images/pc/b200.png) no-repeat -409px 0;
	}
	#glb_navi dl dd ul li.gl_03 a:hover {
		background-position: -409px -72px;
	}
	#glb_navi dl dd ul li.gl_04 a {
		background: url(../images/pc/b200.png) no-repeat -601px 0;
	}
	#glb_navi dl dd ul li.gl_04 a:hover {
		background-position: -601px -72px;
	}
	#glb_navi dl dd ul li.gl_05 a {
		background: url(../images/pc/b200.png) no-repeat -793px 0;
	}
	#glb_navi dl dd ul li.gl_05 a:hover {
		background-position: -793px -72px;
	}
	#glb_navi li a .title {
		background: none;
		padding-top: 14px;
		padding-bottom: 6px;
		line-height: 1.222em;
		color: #000;
		font-family: "ゴシックMB101 B";
		font-size: 1.125em;
	}
	#glb_navi li a .english {
		line-height: 1.4em;
		color: #949494;
		font-size: .625em;
	}
	#glb_navi li a:hover .title,
	#glb_navi li a:hover .english {
		color: #ff007f;
	}
}



/* Main Image
----------------------------------------------- */
#top_main_subheader {
	padding-top: 180px;
}

#main_image h1 {
	margin-bottom: 12px;
	text-align: center;
	line-height: 1.5em;
	color: #040404;
	font-size: 1.125em;
}
#main_image .middle {
	padding-right: 32px;
	padding-left: 32px;
}
#main_image .middle p {
	margin-bottom: 12px;
	line-height: 1.5em;
	font-size: .875em;
}
#main_image .middle div {
	text-align: center;
}
#main_image .middle div a {
	background: url(../images/sp/b800l.png) no-repeat,
			     url(../images/sp/b800r.png) 100% 0 no-repeat;
	-webkit-background-size: 24px 48px, 24px 48px;
	background-size: 24px 48px, 24px 48px;
	padding-right: 24px;
	padding-left: 24px;
	display: block;
	color: #fff;
	font-weight: bold;
}
#main_image .middle div a span {
	background: url(../images/sp/b800c.png) repeat-x;
	-webkit-background-size: 24px 48px;
	background-size: 24px 48px;
	padding-top: 16px;
	padding-bottom: 16px;
	display: block;
	line-height: 1em;
	font-family: "ゴシックMB101 B";
}
#main_image .bottom {
	height: 28px;
}

@media print, screen and (min-width: 768px){
	#top_main_subheader {
		height: 576px;
		background: url(../images/pc/0300.jpg) top no-repeat;
		margin-bottom: 12px;
		position: relative;
	}

	#main_image {
		width: 1008px;
		height: 576px;
		margin-right: auto;
		margin-left: auto;
		padding-top: 96px;
		padding-left: 560px;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		z-index: 4;
	}
	#main_image > div {
		width: 352px;
	}
	#main_image .top {
		height: 36px;
		background: url(../images/pc/0390t.png) no-repeat;
	}
	#main_image .middle {
		background: url(../images/pc/0390m.png) repeat-y;
		padding-right: 36px;
		padding-left: 36px;
	}
	#main_image .middle p {
		margin-bottom: 24px;
		padding-right: 4px;
		padding-left: 4px;
		line-height: 1.6em;
		font-size: .9375em;
	}
	#main_image .middle div {
		text-align: center;
	}
	#main_image .middle div a {
		background: url(../images/pc/b800l.png) no-repeat,
				     url(../images/pc/b800r.png) 100% 0 no-repeat;
		padding-right: 36px;
		padding-left: 36px;
		display: inline-block;
		color: #fff;
		font-weight: bold;
	}
	#main_image .middle div a:hover {
		background-position: 0 -48px, 100% -48px;
	}
	#main_image .middle div a span {
		background: url(../images/pc/b800c.png) repeat-x;
		padding-top: 13px;
		padding-bottom: 13px;
		display: inline-block;
		line-height: 1.222em;
		font-size: 1.125em;
	}
	#main_image .middle div a:hover span {
		background-position: 0 -48px;
	}
	#main_image h1 {
		margin-bottom: 8px;
		line-height: 1.45em;
		color: #008a50;
		font-size: 2.5em;
		font-weight: normal;
	}
	#main_image .bottom {
		height: 36px;
		background: url(../images/pc/0390b.png) no-repeat;
	}
	
	#main_image_layer {
		width: 1008px;
		height: 576px;
		background: url(../images/pc/0310.png) no-repeat;
		margin-right: auto;
		margin-left: auto;
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
	}
}



/* Information / Breadcrumb
----------------------------------------------- */
#top_subheader {
	display: none;
}

@media print, screen and (min-width: 768px){
	#top_subheader {
		background: url(../images/pc/007.png) no-repeat;
		padding: 6px 49px 6px 155px;
		display: inline-block;
		line-height: 1.385em;
		font-size: .813em;
	}
	#top_subheader a:link, #top_subheader a:visited {
		background: url(../images/pc/b010.png) no-repeat top right;
		padding-top: 9px;
		padding-right: 36px;
		padding-bottom: 9px;
		display: inline-block;
		line-height: 1.385em;
		color: #171313;
	}
	#top_subheader a:hover {
		color: #e80000;
	}

	#subheader {
		background: url(../images/pc/1310.png) no-repeat;
	}

	#breadcrumb {
		padding-bottom: 44px;
		padding-left: 24px;
		overflow: hidden;
	}
	
	ul#bc_list {
		margin-bottom: 0;
		padding: 0;
		display: -webkit-flex;
		display: flex;
	}
	ul#bc_list li {
		background: url(../images/pc/b910.png) no-repeat;
		margin-right: 12px;
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 12px;
		line-height: 1.5em;
		color: #646464;
		font-size: .75em;
	}
	ul#bc_list li.home {
		background: none;
		padding-left: 0;
	}
	ul#bc_list li a:link,
	ul#bc_list li a:visited {
		background: url(../images/pc/b910.png) no-repeat;
		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 12px;
		line-height: 1.5em;
		color: #646464;
	}
	ul#bc_list li a:hover {
		background-position: 0 -28px;
		color: #ff007f;
	}
}



/* Center Column
----------------------------------------------- */
.eye_catch {
	margin-right: 32px;
	margin-bottom: 16px;
	margin-left: 32px;
}
.eye_catch img {
	max-width: 100%;
	height: auto;
}

#top_CenterColumn h1,
#CenterColumn h1 {
	background: url(../images/sp/0970t.png) no-repeat,
				url(../images/sp/0970b.png) no-repeat bottom left;
	-webkit-background-size: 14px 8px, 14px 8px;
	background-size: 14px 8px, 14px 8px;
	margin-right: 32px;
	margin-bottom: 12px;
	margin-left: 32px;
	padding-top: 8px;
	padding-bottom: 8px;
}
#top_CenterColumn h1 span,
#CenterColumn h1 span {
	background: url(../images/sp/0970c.png) repeat-y;
	-webkit-background-size: 14px 8px;
	background-size: 14px 8px;
	padding-left: 14px;
	display: block;
	line-height: 1.5em;
	font-size: 1.125em;
}

/* First Faq Access Privacy policy  */
.first #CenterColumn h1,
.faq #CenterColumn h1,
.access #CenterColumn h1,
.privacy-policy #CenterColumn h1,
.contact #CenterColumn h1 {
	background: url(../images/sp/0972t.png) no-repeat,
				url(../images/sp/0972b.png) no-repeat bottom left;
	-webkit-background-size: 14px 8px, 14px 8px;
	background-size: 14px 8px, 14px 8px;
	color: #000;
}
.first #CenterColumn h1 span,
.faq #CenterColumn h1 span,
.access #CenterColumn h1 span,
.privacy-policy #CenterColumn h1 span,
.contact #CenterColumn h1 span {
	background: url(../images/sp/0972c.png) repeat-y;
	-webkit-background-size: 14px 8px;
	background-size: 14px 8px;
}

@media print, screen and (min-width: 768px){
	.eye_catch {
		margin-right: 24px;
		margin-bottom: 24px;
		margin-left: 24px;
	}

	#top_CenterColumn {
		padding-top: 0;
	}
	#top_CenterColumn h1 {
		background: none;
		padding: 0;
		text-align: right;
		font-size: .625em;
		font-weight: normal;
	}
	#top_CenterColumn h1 span {
		height: auto;
		background: none;
		padding-top: 0;
		padding-bottom: 0;
		line-height: 1.1em;
		color: #666;
	}

	#CenterColumn {
		padding-top: 0;
	}
	#CenterColumn h1 {
		background: url(../images/pc/1930t.png) no-repeat,
				     url(../images/pc/1930b.png) bottom left no-repeat;
		margin-right: 24px;
		margin-bottom: 24px;
		margin-left: 24px;
		padding-top: 24px;
		padding-bottom: 24px;
	}
	#CenterColumn h1 span {
		background: url(../images/pc/1930m.png) repeat-y;
		padding-top: 0;
		padding-bottom: 0;
		padding-left: 42px;
		font-size: 2.5em;
	}

	/* First Faq Access Privacy policy  */
	.first #CenterColumn h1,
	.faq #CenterColumn h1,
	.access #CenterColumn h1,
	.privacy-policy #CenterColumn h1,
	.contact #CenterColumn h1 {
		background: url(../images/pc/1931t.png) no-repeat,
				     url(../images/pc/1931b.png) bottom left no-repeat;
		color: #000;
	}
	.first #CenterColumn h1 span,
	.faq #CenterColumn h1 span,
	.access #CenterColumn h1 span,
	.privacy-policy #CenterColumn h1 span,
	.contact #CenterColumn h1 span {
		background: url(../images/pc/1931m.png) repeat-y;
	}
}



/* Content
----------------------------------------------- */
#content {
	overflow: hidden;
}
#content h2 {
	background: url(../images/sp/0850.png) no-repeat;
	-webkit-background-size: 22px 26px;
	background-size: 22px 26px;
	margin-bottom: 16px;
	padding-left: 22px;
	line-height: 1.444em;
	font-size: 1.125em;
}
#content h3 {
	background: url(../images/sp/0860.png) no-repeat;
	-webkit-background-size: 18px 22px;
	background-size: 18px 22px;
	margin-bottom: 8px;
	padding-left: 18px;
	line-height: 1.571em;
	font-size: .875em;
}
#content h4 {
	padding: 17px 0;
	font-size: .875em;
}
#content p, #content ol, #content ul {
	font-size: .875em;
}
#content p {
	margin-bottom: 16px;
	line-height: 1.571em;
}
#content p:last-child {
	margin-bottom: 0;
}
#content ol, #content ul {
	margin-bottom: 12px;
}
#content ol:last-child, #content ul:last-child {
	margin-bottom: 0;
}
#content ol li {
	margin-left: 22px;
	line-height: 1.429em;
	list-style-type: decimal;
}
#content ul li {
	background: url(../images/sp/0870.png) no-repeat;
	-webkit-background-size: 18px 22px;
	background-size: 18px 22px;
	padding-left: 18px;
	line-height: 1.571em;
	color: #59b200;
}
#content ol li ol, #content ol li ul, #content ul li ol, #content ul li ul {
	font-size: 1em;
}
#content table {
	margin-bottom: 12px;
}
#content table th {
	font-weight: 700;
}
#content table:last-child {
	margin-bottom: 0;
}
#content table p, #content table ul {
	font-size: 1em;
}

#content .separator {
	margin-bottom: 48px;
	padding-right: 12px;
	padding-left: 12px;
}
#content .separator span {
	height: 2px;
	display: block;
}
#content .separator_green {
	background: url(../images/sp/0810l.png) no-repeat,
			     url(../images/sp/0810r.png) top right no-repeat;
	-webkit-background-size: 12px 2px, 12px 2px;
	background-size: 12px 2px, 12px 2px;
}
#content .separator_green span {
	background: url(../images/sp/0810c.png) repeat-x;
	-webkit-background-size: 12px 2px;
	background-size: 12px 2px;
}

#content img {
	max-width: 100%;
	height: auto;
}
#content .youtube iframe {
	max-width: 100%;
	height: auto;
}
#content .supplement {
	margin-bottom: 16px;
}
#content .supplement .top,
#content .supplement .bottom {
	padding-right: 21px;
	padding-left: 21px;
}
#content .supplement .top span,
#content .supplement .bottom span {
	height: 24px;
	display: block;
}
#content .supplement .top {
	background: url(../images/sp/0820tl.png) no-repeat,
			     url(../images/sp/0820tr.png) top right no-repeat;
	-webkit-background-size: 21px 24px, 21px 24px;
	background-size: 21px 24px, 21px 24px;
}
#content .supplement .top span {
	background: url(../images/sp/0820tc.png) repeat-x;
	-webkit-background-size: 21px 24px;
	background-size: 21px 24px;
}
#content .supplement .body {
	background: url(../images/sp/0820ml.png) repeat-y,
			     url(../images/sp/0820mr.png) right repeat-y;
	-webkit-background-size: 21px 24px, 21px 24px;
	background-size: 21px 24px, 21px 24px;
	padding-right: 21px;
	padding-left: 21px;
}
#content .supplement .title {
	background: url(../images/sp/0860.png) no-repeat;
	-webkit-background-size: 18px 22px;
	background-size: 18px 22px;
	margin-bottom: 8px;
	padding-left: 18px;
	line-height: 1.571em;
	color: #59b200;
	font-size: .875em;
	font-weight: 700;
}
#content .supplement .bottom {
	background: url(../images/sp/0820bl.png) no-repeat,
			     url(../images/sp/0820br.png) top right no-repeat;
	-webkit-background-size: 21px 24px, 21px 24px;
	background-size: 21px 24px, 21px 24px;
}
#content .supplement .bottom span {
	background: url(../images/sp/0820bc.png) repeat-x;
	-webkit-background-size: 21px 24px;
	background-size: 21px 24px;
}
#top_CenterColumn #content {
	padding-right: 16px;
	padding-left: 16px;
}
#CenterColumn #content {
	padding-right: 32px;
	padding-left: 32px;
}

#content_bottom span {
	height: 48px;
	display: block;
}

/* First Privacy policy Contact */
.first #content h2,
.privacy-policy #content h2,
.contact #content h2 {
	background: url(../images/sp/0852.png) no-repeat;
	-webkit-background-size: 22px 26px;
	background-size: 22px 26px;
	color: #000;
}
.contact #content h3 {
	color: #000;
}

@media print, screen and (min-width: 768px){
	#content h2 {
		background: url(../images/pc/1940.png) no-repeat;
		margin-bottom: 24px;
		padding-left: 38px;
		line-height: 1.5em;
		font-size: 1.75em;
	}
	#content h3 {
		background: none;
		margin-bottom: 24px;
		padding-left: 0;
		line-height: 1.5em;
		font-size: 1em;
	}
	#content h4 {
		margin-right: 10px;
		margin-bottom: 12px;
		margin-left: 10px;
		line-height: 1.6em;
		font-size: .938em;
	}
	
	#content p,
	#content ol,
	#content ul {
		font-size: .9375em;
	}
	#content p {
		margin-bottom: 12px;
		line-height: 1.6em;
	}
	#content p:last-child {
		margin-bottom: 24px;
	}
	#content ol, #content ul {
		margin-bottom: 24px;
	}
	#content ol:last-child, #content ul:last-child {
		margin-bottom: 24px;
	}
	#content ol ol:last-child, #content ol ul:last-child, #content ul ol:last-child, #content ul ul:last-child {
		margin-bottom: 0;
	}
	#content ol li {
		line-height: 1.733em;
	}
	#content ul li {
		background: url(../images/pc/0950.png) no-repeat;
		margin-bottom: 12px;
		padding-left: 15px;
		line-height: 1.4666em;
		color: #040404;
	}
	#content ol li ol, #content ol li ul, #content ul li ol, #content ul li ul {
		margin-right: 0;
		margin-left: 0;
	}
	#content ul li ul {
		margin-top: 8px;
	}
	
	#content table {
		margin-bottom: 24px;
	}
	#content table:last-child {
		margin-bottom: 24;
	}
	#content table th, #content table td {
		line-height: 1.333em;
		font-size: .938em;
	}
	#content table th {
		background: #82c420;
		border-bottom: solid #edf6e4 1px;
		color: #fff;
		font-weight: 700;
	}
	#content table tr:last-child th {
		border-bottom: solid #59b200 1px;
	}

	#content .separator span {
		height: 4px;
	}
	#content .separator_green {
		background: url(../images/pc/0011l.png) no-repeat,
				     url(../images/pc/0011r.png) top right no-repeat;
	}
	#content .separator_green span {
		background: url(../images/pc/0011c.png) repeat-x;
	}

	#content .youtube {
		margin-right: 10px;
		margin-bottom: 36px;
		margin-left: 10px;
	}
	#content .youtube iframe {
		width: 690px;
		height: 388px;
	}
	#content .supplement {
		padding-top: 48px;
	}
	#content .supplement .top {
		background: url(../images/pc/0011l.png) no-repeat,
				     url(../images/pc/0011r.png) top right no-repeat;
		padding-right: 12px;
		padding-left: 12px;
	}
	#content .supplement .top span {
		height: 4px;
		background: url(../images/pc/0011c.png) repeat-x;
	}
	#content .supplement .body {
		background: none;
		padding-top: 48px;
		padding-right: 0;
		padding-left: 0;
	}
	#content .supplement .title {
		background: none;
		margin-bottom: 12px;
		padding-left: 0;
		line-height: 1.5em;
		color: #66a901;
		font-size: 1em;
	}
	#content .supplement .bottom span {
		height: auto;
	}
	#top_CenterColumn #content {
		padding-right: 0;
		padding-left: 0;
	}
	#CenterColumn #content {
		padding-right: 24px;
		padding-left: 24px;
	}
	
	#content_bottom {
		height: 48px;
		background: none;
		padding-right: 0;
		padding-left: 0;
	}
	#content_bottom span {
		height: auto;
		background: none;
		display: inline;
	}
	
	/* First Privacy policy Contact */
	.first #content h2,
	.privacy-policy #content h2,
	.contact #content h2 {
		background: url(../images/pc/1941.png) no-repeat;
		color: #000;
	}
	.contact #content h3 {
		color: #000;
	}
}



/* Right Column
----------------------------------------------- */
aside#SubColumn {
	margin-bottom: 48px;
	padding-right: 16px;
	padding-left: 16px;
}
aside#SubColumn .BlockTitle {
	background: url(../images/sp/i036.png) no-repeat;
	-webkit-background-size: 24px 48px;
	background-size: 24px 48px;
	padding-top: 16px;
	padding-bottom: 16px;
	padding-left: 24px;
	font-weight: bold;
}
aside#SubColumn .BlockTitle span {
	color: #000;
}
aside#SubColumn .BlockContent {
	margin-bottom: 12px;
}

aside#SubColumn .youtube iframe {
	max-width: 100%;
	height: auto;
}

aside#SubColumn ul.right_submenu li {
	background: url(../images/sp/i013.png) no-repeat;
	-webkit-background-size: 24px 24px;
	background-size: 24px 24px;
	padding-left: 24px;
	line-height: 1.714em;
	font-size: .875em;
}
aside#SubColumn ul.right_submenu li a:link, aside#SubColumn ul.right_submenu li a:visited {
	color: #000;
}

@media print, screen and (min-width: 768px){
	aside#SubColumn {
		margin-bottom: 60px;
		padding-right: 24px;
		padding-left: 24px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	aside#SubColumn .BlockTitle {
		background: url(../images/pc/103.png) no-repeat,
					url(../images/pc/105.png) no-repeat bottom left;
		margin-right: 13px;
		margin-left: 13px;
		padding-top: 6px;
		padding-bottom: 6px;
		padding-left: 0;
	}
	aside#SubColumn .BlockTitle span {
		background: url(../images/pc/104.png) repeat-y;
		padding-left: 10px;
		line-height: 1.429em;
		font-size: .875em;
		font-weight: bold;
	}
	aside#SubColumn .BlockContent {
		margin-bottom: 12px;
	}
	aside#SubColumn .BlockContent .text {
		margin-right: 13px;
		margin-left: 13px;
		line-height: 1.385em;
		font-size: .813em;
	}
	aside#SubColumn .BlockLine {
		height: 24px;
		margin-right: 10px;
		margin-left: 10px;
		background: url(../images/pc/030.png) repeat-x bottom;
	}
	
	aside#SubColumn ul.right_submenu {
		margin-right: 13px;
		margin-left: 13px;
	}
	aside#SubColumn ul.right_submenu li {
		background: url(../images/pc/125.png) no-repeat;
		margin-bottom: 6px;
		padding-left: 13px;
		line-height: 1.385em;
		font-size: .813em;
	}
	aside#SubColumn ul.right_submenu li a:link, aside#SubColumn ul.right_submenu li a:visited {
		color: #040404;
	}
	aside#SubColumn ul.right_submenu li a:hover {
		color: #e80000;
	}
	
	/* Message */
	.message aside#SubColumn .BlockTitle span {
		color: #535362;
	}
	
	.SubColumnLeft {
		width: 616px;
	}
	.SubColumnRight {
		width: 296px;
	}
}


/* Sub Consultation Hours
----------------------------------------------- */
.consultation_hours {
	margin-bottom: 48px;
}
.consultation_hours h2 {
	background: url(../images/sp/1910.png) no-repeat;
	-webkit-background-size: 48px 48px;
	background-size: 48px 48px;
	margin-bottom: 12px;
	padding-top: 6px;
	padding-bottom: 6px;
	padding-left: 56px;
}
.consultation_hours h2 .title {
	line-height: 1.5em;
}
.consultation_hours h2 .english {
	line-height: 1.5em;
	color: #00264c;
	font-size: .5em;
}
.consultation_hours table {
	border-collapse: separate;
	border-right: solid 1px #c2c2c2;
	border-left: solid 1px #c2c2c2;
}
.consultation_hours th,
.consultation_hours td {
	background: url(../images/sp/0832m.png) right repeat-y;
	-webkit-background-size: 1px 12px;
	background-size: 1px 12px;
	text-align: center;
}
.consultation_hours th {
	padding-top: 8px;
	padding-bottom: 3px;
	border-bottom: solid 8px #fff;
	line-height: 1.5em;
	font-size: .75em;
}
.consultation_hours td {
	padding-top: 6px;
	padding-bottom: 6px;
	border-bottom: solid 4px #fff;
	vertical-align: middle;
	line-height: 1.2857em;
	color: #59b200;
	font-size: .875em;
}
.consultation_hours tr th:last-child,
.consultation_hours tr td:last-child {
	background: none;
}
.consultation_hours tr:last-child td {
	border-bottom: none;
}
.consultation_hours .no_consultation {
	background: url(../images/sp/0832m.png) repeat-y,
			     url(../images/sp/0832m.png) right repeat-y,
			     url(../images/sp/0882.png) 9px 12px no-repeat;
	-webkit-background-size: 1px 12px, 1px 12px, 12px 18px;
	background-size: 1px 12px, 1px 12px, 12px 18px;
	padding: 12px 6px 4px 21px;
	line-height: 1.5em;
	font-size: .75em;
}

@media print, screen and (min-width: 768px){
	.consultation_hours {
		margin-bottom: 24px;
	}
	.consultation_hours h2 {
		background: none;
		margin-bottom: 0;
		padding-top: 0;
		padding-bottom: 0;
		padding-left: 88px;
		position: relative;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.consultation_hours h2::before {
		content: "";
		width: 72px;
		height: 72px;
		background: #edf6e4 url(../images/pc/0930.png) 0 0 no-repeat;
		position: absolute;
		top: -8px;
		left: 0;
	}
	.consultation_hours h2 .title {
		color: #66a901;
		font-size: 1.375em;
	}
	.consultation_hours h2 .english {
		line-height: 1.3em;
		color: #6aa80d;
		font-size: .625em;
	}
	.consultation_hours table {
		border-top: solid 3px #59b200;
		border-right: solid 3px #59b200;
		border-left: solid 3px #59b200;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
	}
	.consultation_hours th,
	.consultation_hours td {
		background: none;
		padding-right: 0;
		padding-left: 0;
		border: none;
	}
	.consultation_hours th {
		border-top: solid 16px #edf6e4;
		border-right: solid 1px #59b200;
		color: #59b200;
		font-size: 1em;
	}
	.consultation_hours td {
		background: #82c420;
		border-bottom: solid 8px #edf6e4;
		line-height: 1.375em;
		color: #fff;
		font-size: 1em;
		font-weight: 700;
	}
	.consultation_hours tr:last-child td {
		border-bottom: solid 8px #edf6e4;
	}
	.consultation_hours tr th:last-child,
	.consultation_hours tr td:last-child {
		border-right: none;
	}
	.consultation_hours tr td:first-child {
		border-left: solid 8px #edf6e4;
	}
	.consultation_hours tr td:last-child {
		background: #82c420;
		border-right: solid 8px #edf6e4;
	}
	.consultation_hours .no_consultation {
		background: none;
		padding: 5px 9px 15px;
		border-right: solid 3px #59b200;
		border-bottom: solid 3px #59b200;
		border-left: solid 3px #59b200;
		border-bottom-left-radius: 8px;
		border-bottom-right-radius: 8px;
		line-height: 1.428em;
		color: #689c10;
		font-size: .875em;
	}
}


/* Sub Information
----------------------------------------------- */
.information {
	margin-bottom: 48px;
}
.information h2 {
	background: url(../images/sp/1911.png) no-repeat;
	-webkit-background-size: 48px 48px;
	background-size: 48px 48px;
	margin-bottom: 12px;
	padding-top: 6px;
	padding-bottom: 6px;
	padding-left: 56px;
}
.information h2 .title {
	line-height: 1.5em;
}
.information h2 .english {
	line-height: 1.5em;
	color: #00264c;
	font-size: .5em;
}
.information .text p {
	margin-bottom: 16px;
	line-height: 1.5em;
	font-size: .875em;
}
.information .text p:last-child {
	margin-bottom: 0;
}

@media print, screen and (min-width: 768px){
	.information h2 {
		background: url(../images/pc/0630.png) no-repeat;
		padding-top: 0;
		padding-bottom: 2px;
		padding-left: 60px;
	}
	.information h2 .title {
		color: #66a901;
		font-size: 1.375em;
	}
	.information h2 .english {
		line-height: 1.3em;
		color: #6aa80d;
		font-size: .625em;
	}
	.information .text {
		background: url(../images/pc/0010l.png) no-repeat,
				     url(../images/pc/0010r.png) top right no-repeat,
				     url(../images/pc/0010c.png) repeat-x,
				     url(../images/pc/0010l.png) bottom left no-repeat,
				     url(../images/pc/0010r.png) bottom right no-repeat,
				     url(../images/pc/0010c.png) bottom repeat-x;
		padding: 16px 15px 16px 16px;
	}
	.information .text p {
		margin-bottom: 14px;
		line-height: 1.6em;
		font-size: .9375em;
	}
}


/* Sub Banner
----------------------------------------------- */
ul.sub_banner li {
	font-family: "ゴシックMB101 B";
}
ul.sub_banner li a {
	width: 296px;
	margin-right: auto;
	margin-bottom: 12px;
	margin-left: auto;
	padding-top: 25px;
	padding-bottom: 25px;
	padding-left: 88px;
	display: block;
	color: #000;
}
ul.sub_banner li a span {
	display: block;
	line-height: 1.222em;
	font-size: 1.125em;
}
ul.sub_banner li.bn_message a {
	height: 168px;
	background: url(../images/pc/b500.png) no-repeat;
	-webkit-background-size: 296px 336px;
	background-size: 296px 336px;
}
ul.sub_banner li.bn_first a {
	height: 72px;
	background: url(../images/pc/b510.png) no-repeat;
	-webkit-background-size: 296px 144px;
	background-size: 296px 144px;
}
ul.sub_banner li.bn_faq a {
	height: 72px;
	background: url(../images/pc/b511.png) no-repeat;
	-webkit-background-size: 296px 144px;
	background-size: 296px 144px;
}

@media print, screen and (min-width: 768px){
	ul.sub_banner li a:hover {
		text-decoration: none;
		color: #ff007f;
	}
	ul.sub_banner li.bn_message {
		margin-bottom: 24px;
	}
	ul.sub_banner li.bn_message a:hover {
		background-position: 0 -168px;
	}
	ul.sub_banner li.bn_first {
		margin-bottom: 12px;
	}
	ul.sub_banner li.bn_first a:hover {
		background-position: 0 -72px;
	}
	ul.sub_banner li.bn_faq a:hover {
		background-position: 0 -72px;
	}
}



/* Page Top
----------------------------------------------- */
#pagetop_wrapper {
	margin-bottom: 12px;
	clear: right;
	overflow: hidden;
}

#page_top {
	float: right;
}
#page_top a:link, 
#page_top a:visited {
	width: 48px;
	height: 48px;
	background: url(../images/sp/b002.png) no-repeat;
	-webkit-background-size: 48px 48px;
	background-size: 48px 48px;
	display: block;
}

@media print, screen and (min-width: 768px){
	#pagetop_wrapper {
		margin-bottom: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}

	#pagetop_slogan {
		padding-top: 15px;
		padding-bottom: 15px;
		padding-left: 24px;
		line-height: 1.5em;
		color: #7e9c38;
		font-size: .75em;
	}

	#page_top {
		padding-right: 25px;
	}
	#page_top a:link,
	#page_top a:visited {
		width: auto;
		background: url(../images/pc/b811l.png) no-repeat,
					url(../images/pc/b811r.png) no-repeat 100% 0;
		padding-right: 48px;
		padding-left: 48px;
		display: block;
		color: #fff;
	}
	#page_top a:hover {
		background-position: 0 -48px, 100% -48px;
		text-decoration: none;
		color: #ff007f;
	}
	#page_top a span {
		width: auto;
		height: auto;
		background: url(../images/pc/b811c.png) repeat-x;
		padding-top: 15px;
		padding-bottom: 15px;
		position: static;
		display: block;
		line-height: 1.286em;
		font-family: "ゴシックMB101 B";
		font-size: .875em;
		font-weight: 700;
	}
	#page_top a:hover span {
		background-position: 0 -48px;
	}
}



/* Footer
----------------------------------------------- */
#footer_submenu {
	background: url(../images/sp/0700t.png) repeat-x,
			     url(../images/sp/0700b.png) bottom repeat-x;
	-webkit-background-size: 320px 12px, 320px 12px;
	background-size: 320px 12px, 320px 12px;
	padding-top: 12px;
	padding-bottom: 12px;
}
#footer_submenu ul {
	background: url(../images/sp/0700m.png) repeat;
	-webkit-background-size: 320px 12px;
	background-size: 320px 12px;
	padding-right: 16px;
	padding-left: 16px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#footer_submenu ul li {
	line-height: 1.5em;
	font-size: .75em;
}
#footer_submenu ul li a:link,
#footer_submenu ul li a:visited {
	line-height: 1.5em;
	color: #444;
}
#footer_submenu ul li a:hover {
	color: #ff007f;
}
#footer_submenu ul li a span {
	line-height: 1.5em;
}
#footer_submenu ul li a::after {
	content: "/";
	padding-right: 8px;
	padding-left: 8px;
}
#footer_submenu ul li:last-child a::after {
	content: none;
}

#footer_menu {
	background: url(../images/sp/0701t.png) repeat-x,
			     url(../images/sp/0701b.png) bottom repeat-x;
	-webkit-background-size: 320px 12px, 320px 12px;
	background-size: 320px 12px, 320px 12px;
	padding-top: 12px;
	padding-bottom: 12px;
}
#footer_menu ul {
	background: url(../images/sp/0701m.png) repeat;
	-webkit-background-size: 320px 12px;
	background-size: 320px 12px;
	padding-top: 12px;
	padding-right: 16px;
	padding-left: 16px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
#footer_menu ul li {
	line-height: 1.5em;
	font-size: .75em;
}
#footer_menu ul li a:link,
#footer_menu ul li a:visited {
	color: #040404;
}
#footer_menu ul li a::after {
	content: "/";
	padding-right: 8px;
	padding-left: 8px;
}
#footer_menu ul:last-child {
	padding-bottom: 12px;
}
#footer_menu ul li:last-child a::after {
	content: none;
}

#footer_info {
	background: url(../images/sp/0700t.png) repeat-x;
	-webkit-background-size: 320px 12px;
	background-size: 320px 12px;
	padding-top: 12px;
	text-align: center;
	color: #444;
}
#footer_info > div {
	background: url(../images/sp/0700m.png) repeat;
	-webkit-background-size: 320px 12px;
	background-size: 320px 12px;
	padding-right: 16px;
	padding-left: 16px;
}
#footer_info .philosophy {
	padding-top: 12px;
	line-height: 1.5em;
	font-size: .5em;
}
#footer_info .author {
	margin-bottom: 12px;
	line-height: 1.5em;
	font-family: "ゴシックMB101 B";
	font-size: .75em;
	font-weight: bold;
}
#footer_info .address,
#footer_info .tel {
    line-height: 1.5em;
    font-size: .625em;
}
#footer_info .tel {
    padding-bottom: 8px;
}
#footer_info .tel a:link,
#footer_info .tel a:visited {
	color: #444;
}
#footer_info .contact {
	padding-bottom: 24px;
}
#footer_info .contact ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#footer_info .contact ul li {
	margin-right: 8px;
	margin-left: 8px;
	line-height: 1.5em;
	font-size: .625em;
}
#footer_info .contact ul li a:link,
#footer_info .contact ul li a:visited {
	display: inline-block;
	line-height: 1.5em;
	color: #444;
}

#copyright {
	background: url(../images/sp/0700b.png) bottom repeat-x;
	-webkit-background-size: 320px 12px;
	background-size: 320px 12px;
	padding-bottom: 12px;
}
#copyright a {
	color: #949494;
}
#copyright > div {
	background: url(../images/sp/0700m.png) repeat;
	-webkit-background-size: 320px 12px;
	background-size: 320px 12px;
	padding-right: 16px;
	padding-left: 16px;
	text-align: center;
	line-height: 1.25em;
	color: #949494;
	font-size: .5em;
}

@media print, screen and (min-width: 768px){
	footer {
		background: url(../images/pc/0700.png) repeat-x;
	}
	#footer {
		width: 1008px;
		background: url(../images/pc/0710t.png) no-repeat;
		margin-right: auto;
		margin-left: auto;
		padding-top: 36px;
		text-align: left;
	}

	#footer_info_wrapper {
		background: url(../images/pc/0710m.png) repeat-y;
		margin-bottom: 62px;
		padding-right: 62px;
		padding-left: 62px;
		overflow: hidden;
	}

	#footer_submenu {
		background: url(../images/pc/0920.png) no-repeat;
		margin-bottom: 12px;
		padding-top: 0;
		padding-bottom: 32px;
	}
	#footer_submenu ul {
		background: none;
		padding-right: 0;
		padding-left: 0;
		-webkit-justify-content: right;
		justify-content: right;
	}
	#footer_submenu ul li {
		margin-right: 8px;
		line-height: 1em;
		font-size: .875em;
	}
	#footer_submenu ul li a:link,
	#footer_submenu ul li a:visited {
		background: url(../images/pc/b830l.png) no-repeat,
				     url(../images/pc/b830r.png) no-repeat 100% 0;
		padding-right: 36px;
		padding-left: 36px;
		display: inline-block;
		line-height: 1em;
		color: #fff;
	}
	#footer_submenu ul li a:hover {
		background-position: 0 -28px, 100% -28px;
	}
	#footer_submenu ul li a::after {
		content: none;
	}
	#footer_submenu ul li a span {
		background: url(../images/pc/b830c.png) repeat-x;
		padding-top: 5px;
		padding-bottom: 5px;
		display: inline-block;
		line-height: 1.286em;
	}
	#footer_submenu ul li a:hover span {
		background-position: 0 -28px;
	}

	#footer_submenu ul li.last {
		margin-right: 0;
	}

	#footer_menu {
		background: none;
		padding-top: 0;
		padding-bottom: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		float: right;
	}
	#footer_menu ul {
		background: none;
		padding-top: 0;
		padding-right: 0;
		padding-left: 52px;
		display: block;
	}
	#footer_menu ul li {
		margin-bottom: 12px;
		line-height: 1.333em;
	}
	#footer_menu ul li a:link,
	#footer_menu ul li a:visited {
		background: url(../images/pc/b900.png) no-repeat;
		padding-left: 26px;
		display: block;
		line-height: 1.333em;
		color: #343434;
	}
	#footer_menu ul li a:hover {
		background-position: 0 -16px;
		color: #ff007f;
	}
	#footer_menu ul li a::after {
		content: none;
	}
	
	#footer_info {
		width: 416px;
		background: none;
		padding-top: 0;
		float: left;
		text-align: left;
		color: #343434;
	}
	#footer_info > div {
		background: none;
		padding-right: 0;
		padding-left: 0;
	}
	#footer_info .philosophy {
		padding-top: 0;
		line-height: 1.3em;
		font-size: .625em;
	}
	#footer_info .author {
		font-size: 1em;
	}
	#footer_info .address,
	#footer_info .tel {
		font-size: .75em;
	}
	#footer_info .address {
		margin-bottom: 4px;
	}
	#footer_info .tel {
		margin-bottom: 24px;
		padding-bottom: 0;
	}
	#footer_info .tel a:link,
	#footer_info .tel a:visited {
		color: #343434;
	}
	#footer_info .contact {
		padding-bottom: 0;
	}
	#footer_info .contact ul {
		-webkit-box-pack: start;
		-ms-flex-pack: start;
		justify-content: flex-start;
	}
	#footer_info .contact ul li {
		margin-left: 0;
		line-height: 1em;
		font-size: .875em;
	}
	#footer_info .contact ul li a:link,
	#footer_info .contact ul li a:visited {
		background: url(../images/pc/b820l.png) no-repeat,
					url(../images/pc/b820r.png) no-repeat 100% 0;
		padding-right: 36px;
		padding-left: 36px;
		line-height: 1.2857em;
		color: #343434;
		font-weight: 700;
	}
	#footer_info .contact ul li a:hover {
		background-position: 0 -36px, 100% -36px;
		color: #fff;
	}
	#footer_info .contact ul li a span {
		background: url(../images/pc/b820c.png) repeat-x;
		padding-top: 9px;
		padding-bottom: 9px;
		display: inline-block;
		line-height: 1.2857em;
		font-family: "ゴシックMB101 B";
	}
	#footer_info .contact ul li a:hover span {
		background-position: 0 -36px;
	}
	
	#copyright {
		background: url(../images/pc/0710b.png) no-repeat;
		padding-top: 4px;
		padding-bottom: 19px;
	}
	#copyright > div {
		background: none;
		padding-right: 0;
		padding-left: 0;
		line-height: 1.3em;
		color: #747474;
		font-size: .625em;
	}
	#copyright a:link,
	#copyright a:visited {
		color: #747474;
	}
}



/* Index
----------------------------------------------- */
.index_bg {
	padding-top: 24px;
	padding-bottom: 24px;
}
.index_bg .box {
	background: url(../images/sp/0812l.png) bottom left no-repeat,
			     url(../images/sp/0812r.png) bottom right no-repeat,
			     url(../images/sp/0812c.png) bottom repeat-x;
	-webkit-background-size: 12px 2px, 12px 2px, 12px 2px;
	background-size: 12px 2px, 12px 2px, 12px 2px;
	margin-bottom: 24px;
	padding-bottom: 30px;
	overflow: hidden;
}
.index_bg .last {
	margin-bottom: 0;
}
.index_bg .image {
	margin-bottom: 12px;
	text-align: center;
}
#content .index_bg h2 {
	background: none;
	margin-bottom: 0;
	padding: 12px 0 0;
	text-align: center;
	line-height: 1.5em;
}
.index_bg .english {
	margin-bottom: 12px;
	text-align: center;
	line-height: 1.5em;
	color: #00264c;
	font-size: .5em;
}
.index_bg .title,
.index_bg .text,
.index_bg .btn {
	margin-right: 8px;
	margin-left: 8px;
}
.index_bg .title {
	background: url(../images/sp/0922.png) 0 1px no-repeat;
	-webkit-background-size: 14px 20px;
	background-size: 14px 20px;
	margin-bottom: 4px;
	padding-top: 1px;
	padding-left: 14px;
	line-height: 1.5em;
	color: #000;
	font-family: "ゴシックMB101 B";
}
.index_bg .text {
	margin-bottom: 12px;
	line-height: 1.5em;
	font-size: .875em;
}
.index_bg .btn a:link,
.index_bg .btn a:visited {
	background: url(../images/sp/b050l.png) no-repeat,
			     url(../images/sp/b050r.png) top right no-repeat;
	-webkit-background-size: 24px 36px, 24px 36px;
	background-size: 24px 36px, 24px 36px;
	padding-right: 24px;
	padding-left: 24px;
	display: block;
	text-align: center;
	line-height: 1em;
	color: #fff;
}
.index_bg .btn a span {
	background: url(../images/sp/b050c.png) repeat-x;
	-webkit-background-size: 24px 36px;
	background-size: 24px 36px;
	padding-top: 6px;
	padding-bottom: 6px;
	display: block;
	line-height: 1.5em;
	font-family: "ゴシックMB101 B";
	font-weight: 700;
}

@media print, screen and (min-width: 768px){
	.index_bg {
		background: url(../images/pc/0400t.png) no-repeat,
					url(../images/pc/0400b.png) no-repeat bottom left;
	}
	.index_bg .box_wrapper {
		background: url(../images/pc/0400m.png) repeat-y;
		padding-right: 48px;
		padding-left: 48px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}
	.index_bg .box {
		width: 272px;
		background: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}
	.index_bg .image {
		margin-bottom: 16px;
	}
	#content .index_bg h2 {
		margin-right: 0;
		margin-left: 0;
		padding: 0;
		letter-spacing: 0;
		color: #308000;
		font-size: 1.75em;
	}
	.index_bg .english {
		margin-bottom: 16px;
		line-height: 1.3em;
		color: #7aab5f;
		font-size: .625em;
	}
	.index_bg .title,
	.index_bg .text,
	.index_bg .btn {
		margin-right: 0;
		margin-left: 0;
	}
	.index_bg .title {
		background: none;
		padding-top: 0;
		padding-left: 0;
		font-weight: 700;
	}
	.index_bg .text {
		margin-bottom: 20px;
		padding-right: 1px;
		padding-left: 1px;
		line-height: 1.6em;
		font-size: .9375em;
	}
	.index_bg .photo {
		margin-bottom: 16px;
		padding-top: 4px;
	}
	.index_bg .btn {
		text-align: center;
	}
	.index_bg .btn a:link,
	.index_bg .btn a:visited {
		background: url(../images/pc/b810l.png) no-repeat,
				     url(../images/pc/b810r.png) 100% 0 no-repeat;
		margin-bottom: 0;
		padding-right: 48px;
		padding-left: 48px;
		display: inline-block;
		color: #fff;
		font-size: 1.125em;
	}
	.index_bg .btn a:hover {
		background-position: 0 -48px, 100% -48px;
		text-decoration: none;
		color: #fff;
	}
	.index_bg .btn a span {
		background: url(../images/pc/b810c.png) repeat-x;
		padding-top: 13px;
		padding-bottom: 13px;
		line-height: 1.222em;
	}
	.index_bg .btn a:hover span {
		background-position: 0 -48px;
	}
}



/* About
----------------------------------------------- */
#content ul.in_hospital li {
	background: none;
	margin-bottom: 16px;
	padding-left: 0;
	text-align: center;
}

@media print, screen and (min-width: 768px){
	#content ul.in_hospital {
		background: url(../images/pc/0810t.png) 310px 0 no-repeat,
				     url(../images/pc/0810b.png) 310px 100% no-repeat,
				     url(../images/pc/0810m.png) 310px 0 repeat-y,
				     url(../images/pc/0810t.png) 646px 0 no-repeat,
				     url(../images/pc/0810b.png) 646px 100% no-repeat,
				     url(../images/pc/0810m.png) 646px 0 repeat-y;
		margin-bottom: 48px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	#content ul.in_hospital li {
		margin-bottom: 0;
	}
}



/* Subjects
----------------------------------------------- */
.subjects_list_wrapper {
	margin-bottom: 16px;
}

@media print, screen and (min-width: 768px){
	.subjects_list_wrapper {
		margin-bottom: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	#content .subjects_list_wrapper ul {
		width: 255px;
		background: url(../images/pc/0810t.png) top right no-repeat,
				     url(../images/pc/0810b.png) bottom right no-repeat,
				     url(../images/pc/0810m.png) right repeat-y;
		margin-bottom: 48px;
		padding-right: 32px;
		padding-left: 28px;
	}
	#content .subjects_list_wrapper ul:nth-child(4n+1) {
		width: 227px;
		padding-left: 0;
	}
	#content .subjects_list_wrapper ul:nth-child(4n) {
		width: 223px;
		background: none;
		padding-right: 0;
	}
}



/* Faq
----------------------------------------------- */
dl.qanda dt {
	margin-bottom: 8px;
	cursor:pointer;
	line-height: 1.571em;
	font-size: .875em;
	font-weight: 700;
}
dl.qanda dt.over,
dl.qanda dt.selected{
	cursor:pointer;
}
dl.qanda dd {
	margin-bottom: 16px;
	margin-left: 16px;
}

@media print, screen and (min-width: 768px){
	dl.qanda dt {
		color: #000;
		font-size: 1em;
	}
}



/* Form / Table
----------------------------------------------- */
table.formTable th span {
	margin-left: 6px;
	color: #e36d02;
	font-size: .85714em;
}
table.formTable td span {
	display: block;
	line-height: 1.666em;
	color: #666;
	font-size: .85714em;
}
table.formTable td input[type="text"] {
	width: 100%;
	padding-top: 5px;
	padding-bottom: 5px;
	border: solid #ccc 1px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
table.formTable td input.zip {
	width: 90px;
}
table.formTable td input.number {
	width: 40px;
}
table.formTable td input[type="text"].year {
	width: 70px;
}
table.formTable td select {
	padding-top: 5px;
	padding-bottom: 5px;
	border: solid #ccc 1px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
table.formTable td textarea {
	width: 100%;
	height: 100px;
	padding-top: 5px;
	padding-bottom: 5px;
	border: solid #ccc 1px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}
ul.contact_submit {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
#content ul.contact_submit li {
	background: none;
	margin-right: 6px;
	margin-left: 6px;
	padding-left: 0;
}
ul.contact_submit input {
	padding: 10px 24px;
	border: solid #16946f 2px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	line-height: 1.5em;
	cursor: pointer;
	font-size: 1.142857em;
	font-weight: 700;
}
ul.contact_submit input[type="submit"] {
	background: #16946f;
	color: #fff;
}
ul.contact_submit input[type="reset"] {
	background: #fff;
	color: #16946f;
}

@media print, screen and (min-width: 768px){
	table.formTable{
		margin-bottom: 12px;
		border-collapse:collapse;
		font-size: .938em;
	}
	table.formTable th{
		width: 280px;
		vertical-align: middle;
	}
	table.formTable td input[type="text"] {
		width: 340px;
		border: solid #777 1px;
	}
	table.formTable td input.zip {
		width: 90px;
	}
	table.formTable td input.number {
		width: 40px;
	}
	table.formTable td textarea {
		width: 340px;
		height: 100px;
		border: solid #777 1px;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		border-radius: 0;
	}
	ul.contact_submit input {
		border: solid #ff7a02 2px;
	}
	ul.contact_submit input:hover {
		border: solid #ff007f 2px;
	}
	ul.contact_submit input[type="submit"] {
		background: #ff7a02;
	}
	ul.contact_submit input[type="submit"]:hover {
		background: #ff007f;
	}
	ul.contact_submit input[type="reset"] {
		color: #ff7a02;
	}
	ul.contact_submit input[type="reset"]:hover {
		color: #ff007f;
	}
}



/* Message
----------------------------------------------- */
.message_signature {
	text-align: right;
}

@media print, screen and (min-width: 768px){
	.message_photo {
		margin-right: 10px;
		margin-bottom: 36px;
		margin-left: 10px;
	}
}



/* Factory
----------------------------------------------- */
ul.factory_introduction {
	overflow: hidden;
}
#content ul.factory_introduction li {
	background: none;
	margin-right: 4px;
	margin-bottom: 8px;
	padding-left: 0;
	float: left;
}
ul.factory_introduction li .photo {
	width: 88px;
	height: 88px;
	background: url(../images/sp/i020.png) no-repeat top;
	-webkit-background-size: 88px 88px;
	background-size: 88px 88px;
	padding-top: 16px;
	padding-right: 4px;
	padding-left: 4px;
}
#content ul.factory_introduction li img {
	width: 264px;
}

@media print, screen and (min-width: 768px){
	#content ul.factory_introduction {
		background: url(../images/pc/0371.png) no-repeat 230px 0,
					url(../images/pc/0391.png) no-repeat 230px 100%,
					url(../images/pc/0381.png) repeat-y 230px 0,
					url(../images/pc/0371.png) no-repeat 470px 0,
					url(../images/pc/0391.png) no-repeat 470px 100%,
					url(../images/pc/0381.png) repeat-y 470px 0;
		margin-right: 0;
		margin-left: 0;
		overflow: hidden;
	}
	#content ul.factory_introduction li {
		width: 230px;
		background: none;
		margin-right: 10px;
		padding-right: 10px;
		padding-left: 10px;
	}
	ul.factory_introduction li .title {
		background: url(../images/pc/0401.png) no-repeat,
					url(../images/pc/0421.jpg) no-repeat bottom left;
		margin-bottom: 6px;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	ul.factory_introduction li .title span {
		background: url(../images/pc/0411.jpg) repeat-y;
		padding-left: 14px;
		line-height: 1.286em;
		color: #1a2988;
		font-size: .875em;
		font-weight: bold;
	}
	ul.factory_introduction li .photo {
		width: auto;
		height: auto;
		background: none;
		margin-bottom: 8px;
		padding-top: 0;
		padding-right: 0;
		padding-bottom: 0;
		padding-left: 0;
		text-align: left;
	}
	#content ul.factory_introduction li p.text {
		margin-right: 1px;
		margin-left: 1px;
		padding-right: 0;
		padding-left: 0;
		line-height: 1.385em;
		font-size: .867em;
	}

	#content ul.factory_introduction li:nth-child(3n) {
		margin-right: 0;
	}
}
