@charset "utf-8";

* {
	padding: 0;
	margin: 0;
}

html {
  height: 100%;
}

body {
	color: #333;
	background-color: #FFFFFF;
	font-family: "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
	word-wrap: break-word;
	height: 100%;
}

.font_mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.font_garamond {
	font-family: 'Cormorant Garamond', serif;
}
.font_raleway {
	font-family: 'Raleway', sans-serif;
}

section,
article {
	display: block;
}
#hp_base {
	height: 100%;
}
img {
	vertical-align: top;
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

strong {
	font-weight: normal;
}

li {
	list-style-type: none;
}

a {
	color: #0066CC;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
a:hover {
	color: #0099CC;
	text-decoration: none;
}

table {
	border-collapse: collapse;
}
table td {
	border-collapse: collapse;
}

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

/*
ヘッダー
-------------------------------------------*/
header {
	width: 100%;
	background-color: #FFF;
	position: fixed;
	z-index: 100;
}

header h1 a {
	font-size: 10px;
	color: #333;
	text-decoration: none;
	display: block;
	font-weight: normal;
	background-repeat: no-repeat;
	background-position: left top;
}

#g_navi ul li {
	font-family: 'Raleway', "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

#g_navi ul li a.ac_menu {
	cursor: pointer;
}

.pankuzu_base {
	background-color: #EEE;
	margin-bottom: 20px;
}

.pankuzu {
	font-size: 14px;
	line-height: 30px;
	color: #555;
}

.pankuzu li {
	display: inline-block;
}

.pankuzu li a {
	text-decoration: none;
	color: #999;
}

.pankuzu li a:hover {
	color: #111;
}

/*
メインコンテンツ
-------------------------------------------*/

#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #F6F6F6;
  z-index: 100;
}
#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 200px;
	height: 100px;
	margin-top: -50px;
	margin-left: -100px;
	text-align: center;
	color: #888;
	z-index: 1000;
	font-size: 12px;
	letter-spacing: 1px;
}

#index_top {
	height: 100%;
	width: 100%;
	position: relative;
}

#index_top #main_logo {
	text-align: center;
	vertical-align: middle;
	display: block;
	height: 100px;
	width: 260px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-top: -30px;
	margin-left: -130px;
	z-index: 10;
}
#cont_base {
	background-color: #F9F9F9;
	width: 100%;
	padding-top: 50px;
	padding-bottom: 50px;
	z-index: 50;
	position: relative;
}
.cont_foot {
	height: 50px;
	width: 100%;
	position: absolute;
	bottom: 0px;
	text-align: center;
	background: rgba(0, 0, 0, 0.3);
}
.cont_foot .sc_btm a {
	line-height: 50px;
	color: #333;
	background-color: #F6F6F6;
	height: 100px;
	width: 100px;
	display: block;
	margin-right: auto;
	margin-left: auto;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	font-size: 12px;
	text-decoration: none;
	letter-spacing: 2px;
	background-image: url(../img/sc_btn.png);
	background-position: center center;
	background-repeat: no-repeat;
	position: relative;
	z-index: 80;
}
.cont_foot .sc_btm a:hover {
	color: #000;
	background-color: #FFF;
	height: 110px;
	width: 110px;
	border-radius: 55px;
	-webkit-border-radius: 55px;
	-moz-border-radius: 55px;
	margin-top: -10px;
}
#cont_base h2 {
	font-size: 26px;
	line-height: 36px;
	margin-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E3E3E3;
	font-weight: normal;
	letter-spacing: 1px;
	border-top-width: 4px;
	border-top-style: solid;
	border-top-color: #333;
	color: #111;
	text-align: center;
	padding-top: 25px;
	padding-right: 10px;
	padding-bottom: 25px;
	padding-left: 10px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
	background-color: #FFF;
}

#cont_base h2 span {
	font-size: 16px;
	color: #999;
}

#cont_base h2 i {
	font-size: 32px;
	color: #008C69;
	padding-right: 10px;
}

#cont_base aside h2 {
	font-size: 18px;
	line-height: 22px;
	padding: 5px;
	margin-bottom: 0px;
	border-top-style: none;
}

#cont_base h3 {
	font-size: 20px;
	line-height: 30px;
	margin-bottom: 20px;
	background-color: #FFF;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	position: relative;
	margin-top: 20px;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 30px;
	font-weight: normal;
	color: #111;
	box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

#cont_base h3::after {
	display: block;
	width: 3px;
	height: 26px;
	position: absolute;
	top: 17px;
	left: 15px;
	background-color: #20997B;
	content: '';
}

.content p {
	font-size: 14px;
	line-height: 2;
	padding: 10px;
	margin-bottom: 30px;
	margin-top: 20px;
	margin-right: 20px;
	margin-left: 20px;
}

#cont_base .box_001 {
	background-color: #333;
	padding: 20px;
	border: 5px solid #EEE;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
#cont_base .box_001 p {
	color: #FFF;
}

/*
コンテンツ大ボタン
-------------------------------------------*/
.content .btn_001 a {
	font-size: 18px;
	color: #FFF;
	text-align: center;
	border: 5px solid #EEE;
	text-decoration: none;
	display: block;
	width: 88%;
	letter-spacing: 2px;
	background-color: #333;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	line-height: 30px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
}

.content .btn_001 a::after {
	font-size: 12px;
	display: block;
	width: 20px;
	height: 20px;
	line-height: 20px;
	position: absolute;
	top: 15px;
	left: 5%;
	color: #999;
	content: '>';
}

.content .btn_001 a:hover {
	color: #111;
	text-align: center;
	background-color: #FFF;
	width: 90%;
	border-top-color: #333;
	border-right-color: #333;
	border-bottom-color: #333;
	border-left-color: #333;
}

.content .btn_002 a {
	font-size: 18px;
	color: #FFF;
	text-align: center;
	border: 5px solid #EEE;
	text-decoration: none;
	display: block;
	width: 88%;
	letter-spacing: 2px;
	background-color: #00334E;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 50px;
	margin-left: auto;
	line-height: 30px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	position: relative;
}

.content .btn_002 a:hover {
	color: #00334E;
	text-align: center;
	background-color: #FFF;
	width: 90%;
	border-top-color: #00334E;
	border-right-color: #00334E;
	border-bottom-color: #00334E;
	border-left-color: #00334E;
}

/*
-------------------------------------------*/
aside {
	display: block;
	padding-top: 20px;
	padding-right: 30px;
	padding-bottom: 20px;
	padding-left: 30px;
	background-color: #FFF;
}

#hp_base footer .pr_box {
	font-size: 10px;
	float: left;
}
#hp_base footer .pr_box ul li a {
	color: #999;
	text-decoration: none;
}
#hp_base footer .pr_box ul li {
	display: inline;
	margin-left: 5px;
	padding-left: 5px;
}
#hp_base footer .pr_box h3 {
	font-weight: normal;
	color: #999;
	margin: 5px;
}

#cont_base aside p {
	font-size: 13px;
	color: #555;
	margin-top: 0px;
	margin-bottom: 10px;
}

/*
ボックスリスト
-------------------------------------------*/
.content .box_list li {
	display: inline-block;
	width: 31%;
	margin-left: 1%;
	background-color: #FFF;
	background-color: rgba(255,255,255,0.2);
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.05) 0px 0px 5px 0px;
	margin-bottom: 20px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	overflow: hidden;
	position: relative;
}

.content .box_list li img {
	display: block;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}
.content .box_list li a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

.content .box_list li:hover {
	background-color: rgba(255,255,255,1.0);
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 5px 0px;
}

.i_obi {
    top: -20px;
    left: -20px;
    position: absolute;
    z-index: 50;
	font-size: 12px;
    transform: rotate(-25deg);
	-webkit-transform: rotate(-25deg);
    color: #fff;
	background-color: #BB2200;
    position: absolute;
    z-index: 10;
	padding-left: 20px;
	line-height: 30px;
	width: 200px;
	text-align: left;
}

.content .btn_list a {
	font-size: 14px;
	line-height: 30px;
	color: #FFF;
	text-decoration: none;
	background-color: #333;
	text-align: center;
	display: block;
	width: 80%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 4px solid #EEE;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.content .btn_list a i {
	padding-right: 5px;
	font-size: 16px;
	color: #CCC;
}

.content .btn_list a:hover {
	color: #333;
	background-color: #FFF;
	border-top-color: #333;
	border-right-color: #333;
	border-bottom-color: #333;
	border-left-color: #333;
}



/*-----トップへ戻るボタン------*/

.to_top {
	position: fixed;
	right: 10px;
	z-index: 200;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
.to_top a {
	text-decoration: none;
	color: #FFF;
	text-align: center;
	display: block;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	font-size: 10px;
	background-color: #000;
	padding: 20px;
	height: 30px;
	width: 30px;
}
.to_top a:hover {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}

/*
フッター
-------------------------------------------*/

footer {
	background-color: rgba(0, 0, 0, 0.7);
	color: rgba(255, 255, 255, 0.8);
	clear: both;
	width: 100%;
	display: block;
	padding-top: 15px;
	padding-bottom: 15px;
}
address {
	font-size: 10px;
	font-style: normal;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
}

/*
各種テーブル
-------------------------------------------*/
.content table.table_001 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.content table.table_001 th,
.content table.table_001 td {
	padding-top: 10px;
	padding-right: 15px;
	padding-bottom: 10px;
	padding-left: 15px;
	border: 1px solid #DDD;
}
.content table.table_001 th {
	font-size: 14px;
	white-space: nowrap;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.60, #404040), color-stop(0.00, #393939));
background: -webkit-linear-gradient(top, #393939 0%, #404040 60%);
background: -moz-linear-gradient(top, #393939 0%, #404040 60%);
background: -o-linear-gradient(top, #393939 0%, #404040 60%);
background: -ms-linear-gradient(top, #393939 0%, #404040 60%);
background: linear-gradient(to bottom, #393939 0%, #404040 60%);
background-color: #404040;
	border-right-width: 4px;
	font-weight: normal;
	color: #FFF;
}
.content table.table_001 td {
	font-size: 13px;
	line-height: 30px;
	background-color: #FFF;
}
.content table.table_001 td.td_price {
	font-size: 16px;
	text-align: center;
	white-space: nowrap;
	color: #008C69;
	font-weight: bold;
}


#mailform table.m_form {
	width: 90%;
	margin-right: auto;
	margin-left: auto;
}
#mailform table.m_form th {
	text-align: right;
	border-right-width: 4px;
	border-bottom-width: 1px;
	border-right-style: solid;
	border-bottom-style: dotted;
	border-right-color: #CCC;
	border-bottom-color: #CCC;
	font-size: 14px;
	font-weight: normal;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 10px;
	padding-left: 10px;
}
#cont_base #mailform table.m_form th p {
	font-size: 10px;
	line-height: 14px;
	color: #999;
	margin: 0px;
	padding: 0px;
}
#cont_base #mailform table.m_form th span {
	color: #FF0000;
	padding-left: 5px;
	padding-right: 5px;
}
#mailform table.m_form td {
	padding: 10px;
	background-color: #FFF;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	border-bottom-width: 1px;
	font-size: 14px;
}
form input.form_btn {
	background-color: #333;
	color: #FFF;
	padding-top: 7px;
	padding-right: 20px;
	padding-bottom: 7px;
	padding-left: 20px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border: 3px solid #EEE;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
form input.form_btn:hover {
	background-color: #FFF;
	color: #333;
	border-top-color: #333;
	border-right-color: #333;
	border-bottom-color: #333;
	border-left-color: #333;
	cursor: pointer;
}
.small {
	font-size: smaller;
	color: #666;
}
.chui {
	color: #F03600;
}
#cont_base .content .navi_sitemap li {
	padding-left: 20px;
}
.table_001 caption {
	font-size: 14px;
	line-height: 30px;
	background-color: #E5E5E5;
	color: #111;
	letter-spacing: 1px;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 1px solid #FFF;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
}
.table_001 th span {
	font-size: 12px;
	color: #CCC;
}


.content .box_plan {
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 3px 0px;
	padding-bottom: 20px;
	margin-top: 50px;
}
.content .box_plan .box_title {
	color: #FFF;
	background-color: #008C69;
	position: relative;
	min-height: 100px;
	margin-bottom: 20px;
}

.content .box_plan .box_title h4 {
	font-size: 24px;
	display: block;
	width: 300px;
	font-weight: normal;
	position: absolute;
	top: -40px;
	left: 0px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	color: #FFF;
	background-color: #008C69;
	padding-top: 10px;
	padding-left: 20px;
	line-height: 30px;
	height: 40px;
}
.content .box_plan .box_title p {
	font-size: 16px;
	line-height: 30px;
	display: inline-block;
	padding: 15px;
	margin: 0px;
}
.content .box_plan .box_title p strong {
	font-size: 30px;
}
.content .box_plan .box_title p.price {
	position: absolute;
	top: 0px;
	left: 15px;
	z-index: 100;
}
.content .box_plan .box_title p.comment {
	position: absolute;
	top: 5px;
	left: 320px;
}
.box_plan .check li {
	font-size: 18px;
	line-height: 30px;
	color: #FFF;
	background-color: #333;
	display: inline-block;
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-left: 10px;
	margin-top: 10px;
}
.box_plan .check li i {
	font-size: 22px;
	line-height: 30px;
	color: #00CC99;
	padding-right: 10px;
}
.new {
	font-size: 14px;
	color: #FFF;
	background-color: #F30;
	margin-left: 10px;
	padding-top: 2px;
	padding-right: 5px;
	padding-bottom: 2px;
	padding-left: 5px;
}
.content .pop {
	padding: 10px;
	border: 1px dotted #666;
	background-color: #FFF;
	margin-bottom: 30px;
}
#cont_base .content .pop h2 {
	font-size: 30px;
}
#cont_base .content .pop h2 strong {
	font-size: 34px;
	font-weight: bold;
	color: #F33;
}
.content .pop p {
	font-size: 18px;
}
.content p strong {
	font-weight: bold;
}
