@charset "utf-8";
 

/*---------- set ----------*/
* {
border:0;
margin:0;
outline:0;
padding:0;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
-o-box-sizing:border-box;
box-sizing:border-box;
font:inherit;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
text-decoration:none;
vertical-align:baseline;
}

html {width:100%; height:100%;}

body {
font-size:10px;
font-size:1.0rem;
line-height:1;
position:relative;
-webkit-text-size-adjust:100%;
-moz-text-size-adjust:100%;
-ms-text-size-adjust:100%;
-o-text-size-adjust:100%;
text-size-adjust:100%;
-webkit-font-smoothing:antialiased;
font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
width:100%;
height:100%;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {display:block;}
audio, canvas, video {display:inline-block;}

br,
hr {display:block;}

ol,
ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}


/*---------- common ----------*/

html,body {
	margin:0;
	padding:0;
	background:transparent;
  height: 100%;
	color: #595757;
	}

body {
	font-size: 17px;
	color: #595757;
	line-height: 1.6;
	font-family: メイリオ, Meiryo, Hiragino Kaku Gothic ProN, 'ヒラギノ角ゴ ProN W3', '游ゴシック体 Medium', 'Yu Gothic Medium', 'YuGothic M', '游ゴシック体', YuGothic, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	min-width: 320px;
	}

.clearfix:after {  
    visibility: hidden;  
    display: block;  
    font-size: 0;  
    content: " ";  
    clear: both;  
    height: 0;  
}

* html .clearfix             { zoom: 1; } /* IE6 */  
*:first-child+html .clearfix { zoom: 1; } /* IE7 */  

.clear {
	clear: both;
	margin: 0;
	padding: 0;
	width: 0;
	height: 0;
    visibility: hidden;  
    display: block;  
    font-size: 0;  
    content: "";  
	line-height: 0em;
}

p { width: 100%; height: 100%;}

a { color: #4C4948; text-decoration: underline;}
a:hover	{ text-decoration: none;}
a:hover img.op65 {
	opacity: 0.65;
	filter: alpha(opacity=65);
	-moz-opacity: 0.65;
	-ms-filter: "alpha(opacity=65)";
}

.red { color: #FF0000; }

.ml1em { margin-left: 0.8em !important; }
.ml10 { margin-left: 10px !important; }
.ml20 { margin-left: 20px !important; }
.ml30 { margin-left: 30px !important; }
.ml40 { margin-left: 40px !important; }
.ml50 { margin-left: 50px !important; }

.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }
.mr30 { margin-right: 30px !important; }
.mr40 { margin-right: 40px !important; }
.mr50 { margin-right: 50px !important; }


.pt0 { padding-top: 0px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt30 { padding-top: 30px !important; }
.pt40 { padding-top: 40px !important; }
.pt50 { padding-top: 50px !important; }

.pb0 { padding-bottom: 0px !important; }
.pb20 { padding-bottom: 20px !important; }

.mb0 { margin-bottom: 0px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb100 { margin-bottom: 100px !important; }
.mb120 { margin-bottom: 120px !important; }
.mb150 { margin-bottom: 150px !important; }
.mb180 { margin-bottom: 180px !important; }
.mb200 { margin-bottom: 200px !important; }
.mb250 { margin-bottom: 250px !important; }
.mb300 { margin-bottom: 300px !important; }
.mb350 { margin-bottom: 350px !important; }

.floatL { float: left; }
.floatR { float: right; }

.txtL { text-align: left !important; }
.txtC { text-align: center !important; }
.txtR { text-align: right !important; }

.lh120 { line-height: 1.2em !important; }
.lh140 { line-height: 1.4em !important; }
.lh160 { line-height: 1.6em !important; }
.lh180 { line-height: 1.8em !important; }

.txt-bold { font-weight: bold !important; }
.txt-big { font-size: 122% !important; }
.txt-small { font-size: 78% !important; }
.txt-f14 { font-size: 14px !important; }
.txt-indexnt { text-indent: -1.2em !important;}

img.edge_R01 {
  -webkit-border-radius: 5px;  
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.sup {
	font-size: 12px;
	position: relative;
	vertical-align: top;
	line-height: 130%;
}

.caption {
	margin: 0 auto;
	text-align: center;
	padding-top: 10px;
	font-size: 14px;
	line-height: 1.3em;
}

.caution_01 {
	font-size: 13px;
	position: relative;
	line-height: 130%;
}

.caution_01:before {
	content:'※';
}

ul.caution_02 {
	font-size: 13px;
	position: relative;
	line-height: 130%;
}

ul.caution_02 li {
	margin-left: 1em;
	margin-bottom: 2px;
}

ul.caution_02 li:before {
	content:'※';
	margin-left: -1em;
}

.caution_03 {
	font-size: 13px;
	position: relative;
	line-height: 130%;
	counter-reset: number 0;  
}

.caution_03:before {
	counter-increment: number 1; 
	content:'※' counter(number) '　';
}


/*---------- wrapper ----------*/

#wrapper {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

#wrapper img {
	max-width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	}
	
.inner01 {
	position: relative;
	width: 1100px;
	margin: 0 auto;
	padding: 0;
}

.inner02 {
	position: relative;
	width: 955px;
	margin: 0 auto;
	padding: 0;
}

.inner03 {
	position: relative;
	width: 955px;
	margin: 0 auto;
	padding: 22px;
	background: #FFFFFF;
  -webkit-border-radius: 5px;  
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.inner04 {
	position: relative;
	width: 879px;
	margin: 0 auto;
	padding: 0;
}

.inner05 {
	position: relative;
	width: 796px;
	margin: 0 auto;
	padding: 0;
}

/*---------- header ----------*/
header {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}

/*---------- main-contents ----------*/
.main {
	position: relative;
	width: 1100px;
	margin: 0 auto;
	padding: 0;
}

.main .page_top {
	position: relative;
	width: 42px;
	height: 42px;
	float: right;
	-webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

.main .page_top:hover {
	opacity: 0.5;
}


/*---------- footer ----------*/

footer {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 0;
}

footer .area_sitemap {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 20px;
	background: #90BC30;
	color: #FFFFFF;
	position: relative;
}

footer .area_sitemap .page_top {
	position: absolute;
	top: -21px;
	left: 50%;
	margin-left: -21px;
	width: 42px;
	height: 42px;
	z-index: 2;
	-webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

footer .area_sitemap .page_top:hover {
	top: -25px;
}

footer .area_sitemap .ttl {
	font-size: 15px;
	line-height: 110%;
	font-weight: bold;
	padding-top: 20px;
	padding-left: 15px;
	margin-bottom: 10px;
	border-left: solid 1px #FFFFFF;
}

footer .area_sitemap .box_logo {
	width: 120px;
	margin: 20px 40px 0 75px;
	padding: 0;
	float: left;
	opacity: 1.0;
	filter: alpha(opacity=100);
	-moz-opacity: 1.0;
	-ms-filter: "alpha(opacity=100)";
	-webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

footer .area_sitemap .box_logo:hover {
	opacity: 0.60;
	filter: alpha(opacity=60);
	-moz-opacity: 0.60;
	-ms-filter: "alpha(opacity=60)";
}

footer .area_sitemap .box01 {
	width: 200px;
	float: left;
}

footer .area_sitemap .box02 {
	width: 240px;
	float: left;
}

footer .area_sitemap .box03 {
	width: 155px;
	float: left;
}

footer .area_sitemap .box04 {
	width: 270px;
	float: left;
}

footer .area_sitemap .box01 a,
footer .area_sitemap .box02 a,
footer .area_sitemap .box03 a,
footer .area_sitemap .box04 a {
	color: #FFFFFF;
	text-decoration: none;
	-webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

footer .area_sitemap .box01 a:hover,
footer .area_sitemap .box02 a:hover,
footer .area_sitemap .box03 a:hover,
footer .area_sitemap .box04 a:hover {
	color: #FFFFFF;
	border-bottom: dotted 1px #FFFFFF;
}


footer .area_sitemap .box01 ul,
footer .area_sitemap .box02 ul,
footer .area_sitemap .box03 ul,
footer .area_sitemap .box04 ul {
	margin-left: 2em;
	font-size: 12px;
}

footer .area_sitemap .box01 ul li:before,
footer .area_sitemap .box02 ul li:before,
footer .area_sitemap .box03 ul li:before,
footer .area_sitemap .box04 ul li:before {
	content: "●";
	margin-left: -1em;
}

footer .area_sitemap .box01 ul ul,
footer .area_sitemap .box02 ul ul,
footer .area_sitemap .box03 ul ul,
footer .area_sitemap .box04 ul ul {
	margin-left: 1em;
	font-size: 11px;
}

footer .area_sitemap .box01 ul ul li:before,
footer .area_sitemap .box02 ul ul li:before,
footer .area_sitemap .box03 ul ul li:before,
footer .area_sitemap .box04 ul ul li:before {
	content: "・";
}

footer .area_copyright {
	width: 100%;
	margin: 0;
	padding: 20px 0;
	position: relative;
}

footer .area_copyright .copyright {
	font-size: 12px;
	margin: 0;
	padding: 0;	
	text-align: center;
}

footer .area_copyright .policy {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 12px;
}

