@charset "utf-8";
/* CSS Document */
/* ==================================================
   Basic Styles
================================================== */

html, body {
	height: 100%;
	margin:0;
	padding: 0;
	font-size: 75%; /*レスポンシブ タイプセッティングへの対応*/
}

html, hmtl a{
	width:100%;
	font-size: 100%; 
	-webkit-text-size-adjust: 100%; 
	-ms-text-size-adjust: 100%;
}
body{
	color: ##222;
	font-weight:100;
	font-size:15px;
	font-family:"Lucida Grande","Lucida Sans Unicode","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica","Arial","Verdana","sans-serif";
}
*{
	-webkit-box-sizing: border-box;
	moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


img {
/*	max-width: none;*/
	max-width: 100%; /*フルードイメージへの対応*/
	height: auto;
	vertical-align: middle;
}
/*ie8 max-widthバグが出たら以下クラス充当*/
.ie8 img { width: auto; height: auto; }

ul,ol,dl,dt,dd {
	margin:0;
	padding: 0;
	font-size:15px;
}


a{
	color:#DE5E60;
	text-decoration: none;
	cursor: pointer;
}

a:hover,
a:active,
a:focus{
	outline: 0;
	color:#dd8586;
	text-decoration:none;
}
a:hover img{
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

a img {
	border: none;
}

a > img {
	vertical-align: middle;	
}


strong {
  	font-weight: normal;
}

p {
	line-height: 1.8;
	font-size: 1em; /*15px*/
}
dd {
	line-height: 1.8;
	font-size: 1em; /*15px*/
}

ul,ol {
	list-style: none;
	margin: 0;
}

hr {
	border-style: dashed;
	border-color: #3C3F45;
	border-bottom: none;
	border-left: none;
	border-right: none;
	margin: 50px 0;	
}

.fl{
	float:left;
}

.fr{
	float:right;
}

.tl {
	text-align: left;
}

.tc {
	text-align: center;
}

.tr {
	text-align: right;	
}



input, button, select, textarea {
	font-weight: 100;
	font-family: 'Titillium Web', sans-serif;
	outline: 0;
}

input:focus, 
textarea:focus,
input[type="text"]:focus {
	outline: 0;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #7F8289;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #7F8289;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #7F8289;
}

/* ==================================================
   Typography
================================================== */

h1,
h2,
h3,
h4,
h5,
h6{
	margin:0;
	/*color:##222;*/
	color: #372220;
	line-height:1.5em;
	font-weight:100;
}

h1{
}

h2{
	font-size:2.8em;
}

h3{
	font-size: 1.7em;
}

h4{
	font-size:20px;
}

h5{
	font-size:18px;
}

h6{
	font-size:16px;
}


/* ==================================================
   Margin Padding Sets
================================================== */

.m0 { margin: 0 !important; }
.m10 { margin: 10px !important; }
.m20 { margin: 20px !important; }
.m40 { margin: 40px !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt20p { margin-top: 20px !important; }
.mt40 { margin-top: 40px !important; }
.mt60 { margin-top: 60px !important; }
.mt80 { margin-top: 80px !important; }
.mr0 { margin-right: 0 !important; }
.mr10 { margin-right: 10px !important; }
.mr20 { margin-right: 20px !important; }
.mr40 { margin-right: 40px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb80 { margin-bottom: 80px !important; }
.ml10 { margin-left: 10px !important; }
.ml20 { margin-left: 20px !important; }
.ml40 { margin-left: 40px !important; }

.p0 { padding:0 !important; }
.p10 { padding: 10px !important; }
.p20 { padding: 20px !important; }
.p40 { padding: 40px !important; }
.pt10 { padding-top: 10px !important; }
.pt20 { padding-top: 20px !important; }
.pt40 { padding-top: 40px !important; }
.pr0 { padding-right: 0 !important; }
.pr10 { padding-right: 10px !important; }
.pr20 { padding-right: 20px !important; }
.pr40 { padding-right: 40px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb60 { padding-bottom: 60px !important; }
.pl10 { padding-left: 10px !important; }
.pl20 { padding-left: 20px !important; }
.pl40 { padding-left: 40px !important; }


.grid:after,
.fix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.grid, .fix {
  min-height: 1px;
}
* html .grid,
* html .fix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}