@charset "UTF-8";

@font-face {
  font-family: "YuGothic M";
  src: local("Yu Gothic Medium");
}

/* =================================
 reset
================================= */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
body {
	line-height: 1;
	color:#1a1a1a;
	background: #007c36;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
}
iframe {
	vertical-align: bottom;
	border: 0;
}
table th,
table td {
	vertical-align: top;
}
input,
/*select,*/
textarea,
button {
	/*-webkit-appearance: none;*/
	-moz-appearance: none;
}
/*select::-ms-expand {
	display: none;
}*/
*, :after, :before {
	box-sizing: border-box;
}

/* =================================
 margin・padding
================================= */

/*margin top*/
.mt00 {
  margin-top: 0px !important;
}
.mt05 {
  margin-top: 5px;
}
.mt10 {
  margin-top: 10px;
}
.mt15 {
  margin-top: 15px;
}
.mt20 {
  margin-top: 20px;
}
.mt25 {
  margin-top: 25px;
}
.mt30 {
  margin-top: 30px;
}
.mt35 {
  margin-top: 35px;
}
.mt40 {
  margin-top: 40px;
}
.mt45 {
  margin-top: 45px;
}
.mt50 {
  margin-top: 50px;
}
.mt80 {
  margin-top: 80px;
}
.mt100 {
  margin-top: 100px;
}
/*margin bottom*/
.mb00 {
  margin-bottom: 0px !important;
}
.mb05 {
  margin-bottom: 5px;
}
.mb10 {
  margin-bottom: 10px;
}
.mb15 {
  margin-bottom: 15px;
}
.mb20 {
  margin-bottom: 20px;
}
.mb25 {
  margin-bottom: 25px;
}
.mb30 {
  margin-bottom: 30px;
}
.mb35 {
  margin-bottom: 35px;
}
.mb40 {
  margin-bottom: 40px;
}
.mb45 {
  margin-bottom: 45px;
}
.mb50 {
  margin-bottom: 50px;
}
.mb80 {
  margin-bottom: 80px;
}
.mb100 {
  margin-bottom: 100px;
}

/*padding top*/
.pt05 {
  padding-top: 5px;
}
.pt10 {
  padding-top: 10px;
}
.pt15 {
  padding-top: 15px;
}
.pt20 {
  padding-top: 20px;
}
.pt25 {
  padding-top: 25px;
}
.pt30 {
  padding-top: 30px;
}
.pt35 {
  padding-top: 35px;
}
.pt40 {
  padding-top: 40px;
}
.pt45 {
  padding-top: 45px;
}
.pt50 {
  padding-top: 50px;
}
.pt80 {
  padding-top: 80px;
}
.pt100 {
  padding-top: 100px;
}
/*padding bottom*/
.pb05 {
  padding-bottom: 5px;
}
.pb10 {
  padding-bottom: 10px;
}
.pb15 {
  padding-bottom: 15px;
}
.pb20 {
  padding-bottom: 20px;
}
.pb25 {
  padding-bottom: 25px;
}
.pb30 {
  padding-bottom: 30px;
}
.pb35 {
  padding-bottom: 35px;
}
.pb40 {
  padding-bottom: 40px;
}
.pb45 {
  padding-bottom: 45px;
}
.pb50 {
  padding-bottom: 50px;
}
.pb80 {
  padding-bottom: 80px;
}
.pb100 {
  padding-bottom: 100px;
}

/* =================================
font
================================= */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal !important;
}
.font50 {
	font-size: 50% !important;
}
.font60 {
	font-size: 60% !important;
}
.font70 {
	font-size: 70% !important;
}
.font80 {
	font-size: 80% !important;
}
.font90 {
	font-size: 90% !important;
}
.font100 {
	font-size: 100% !important;
}
.font110 {
	font-size: 110% !important;
}
.font120 {
	font-size: 120% !important;
	line-height:1.8em;
}
.font130 {
	font-size: 130% !important;
	line-height:2em !important;
}
.font140 {
	font-size: 140% !important;
	line-height:1.8em;
}
.font150 {
	font-size: 150% !important;
	line-height:1.8em;
}
.font180 {
	font-size: 180% !important;
line-height:2em;
}
.font200 {
	font-size: 200% !important;
	line-height:2em;
}
.font230 {
	font-size: 230% !important;
	line-height:2em;
}
.font250 {
	font-size: 250% !important;
	line-height:2em;
}
.white{
	color:#fff;
}
.red{
	color:#c80000;
}
.yellow{
	color:#cfd621;
}
.blue{
	color:#01bfe3;
}
.orange{
	color:#e95704;
}

.yu_font{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.yugo_font{
	font-family: "游ゴシック体", YuGothic, "YuGothic M", sans-serif;
}
.heisei_font{
	font-family: "heisei-kaku-gothic-std";
}

/* =================================
下線
================================= */
.underL{
	padding-bottom: 15px;
	margin-bottom: 15px;
	border-bottom: 1px #1a1a1a dashed;
}


/* =================================
テキスト揃え
================================= */
.txtJustify{
	text-align:justify;
}
.txtCenter{
	text-align:center;
}

/* =================================
テキスト揃え行間
================================= */
.lh15{
	line-height:1.5em;
}
.lh18{
	line-height:1.8em;
}
.lh20{
	line-height:2.0em;
}
.lh25{
	line-height:2.5em;
}

/* =================================
リスト
================================= */
ol{
	list-style-type : decimal;
	list-style-position: inside;
}
ol li{
	
}

ul{
	list-style-type: square;
	list-style-position: outside;
	margin-left: 1em;
}
ul li{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom:1px dashed #1a1a1a;
}


ul_1{
	list-style-type: square;
	list-style-position: outside;
	margin-left: 1em;
}
ul_1 li{
	margin-bottom: 10px;
	padding-bottom: 10px;
}

/* =================================
img
================================= */

img.img100{
	width:100%;
	max-width: 100%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
}
img.img90 {
	max-width: 90%;
	line-height: 0;
	vertical-align: bottom;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.img_center{
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
img.img_left{
	max-width: 100%;
	display: block;
	margin-right: auto;
}
img.img_right{
	max-width: 100%;
	display: block;
	margin-left: auto;
}
a:hover img{
	filter:alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
}

/* =================================
clearfix
================================= */

.clearfix:after{
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility:hidden;
}
.clearfix{
	display:inline-table;
	min-height:1%;
}
/* \*/
html .clearfix{
	* height:1%;
}
.clearfix{
	display:block;
}
/* */
.clear {
	clear: both;
}

/* =================================
 スマホ・PC画像振り分け
================================= */

@media screen and (min-width: 768px) {
.sp_only{
display:none !important;
}
}

@media screen and (max-width: 768px) {
.pc_only{
display:none !important;
}
}


/* =================================
 header
================================= */


/* =================================
 wrapper
================================= */
.wrapper{
	width:768px;
	max-width:100%;
	background: url(../images/bg_wrapper.gif) repeat-y;
	background-size: contain;
	margin-left: auto;
	margin-right: auto;
}

/* =================================
 inner
================================= */
.inner01{
	width: 768px;
	max-width: 100%;
	margin-left:auto;
	margin-right:auto;
}
.inner02{
	width: 87%;
	margin-left:auto;
	margin-right:auto;
}
.inner03{
	width: 90%;
	margin-left:auto;
	margin-right:auto;
}


/* ----------------------------------------------------------------------
 ２カラム用
---------------------------------------------------------------------- */

.full_content{
width: 100%;
margin: 0 !important;
text-align: center;
overflow:hidden;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.single_content{
width:1000px;
max-width:100%;
margin-left:auto;
margin-right:auto;
padding:0 0;
}
.left_content{
float:left;
width:50%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content{
float:right;
width:50%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content30{
float:left;
width:28%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content30{
float:right;
width:28%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.left_content70{
float:left;
width:68%;
padding:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.right_content70{
float:right;
width:68%;
padding-left:0px;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.sp_box{
	padding:0 2%;	
}
/* ----------------------------------------------------------------------
 flexbox
---------------------------------------------------------------------- */
.flex{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between; /*均等に間隔をあける*/
	align-items: stretch;    /*全ての要素の高さを揃える*/
	flex-wrap:wrap;
}
.flex2{
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between; /*均等に間隔をあける*/
	align-items: stretch;    /*全ての要素の高さを揃える*/
	flex-wrap:wrap;
}
@media(max-width:768px)  {
	.flex2{
		display: block;
	}
}
.flexBox2{
	width:48%;
}
.flexBox3{
	width:31%;
}


/* ----------------------------------------------------------------------
 破線hr
---------------------------------------------------------------------- */

hr.hasen{
border:none;
border-top:dashed 1px #999;
height:1px;
color:#FFFFFF;
margin:15px 0 !important;
}

/* =================================
 footer
================================= */

.copyright{
	width:68%;
	margin-left: auto;
	margin-right: auto;
}
.copyright p{
	text-align: center;
	color: #000;
	font-size:80%;
	font-weight:bold;
	padding-top:20px;
	padding-bottom:20px;
	line-height: 1.5em;
	width:90%;
	margin-left: auto;
	margin-right: auto;
	background: #fff;
}


/* =================================
 トップへ戻るボタン
================================= */
#pageTop {
	position: fixed;
	bottom: 30px;
	right: 20px;
	z-index: 9999;
}
#pageTop i {
}
#pageTop a {
	display: block;
	color: #fff;
	font-weight: bold;
	font-size:40px;
	text-decoration: none;
	text-align: center;
	background:#e95704;
	width:45px;
	height:45px;
	line-height: 1.1em;
}
#pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}

/* ----------------------------------------------------------------------
 wrapperコンテンツ内
---------------------------------------------------------------------- */

.faqImg{
	width:60px;
}
.faqTxt{
	width:calc(100% - 80px);
}
.faqTxt h4{
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: 1px dashed #e95704 ;
}

table.table-a{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
}

table.table-a th:first-child{
  border-radius: 5px 0 0 0;
}

table.table-a th:last-child{
  border-radius: 0 5px 0 0;
  border-right: 1px solid #3c6690;
}

table.table-a th{
  text-align: center;
  color:white;
  background: linear-gradient(#829ebc,#225588);
  border-left: 1px solid #3c6690;
  border-top: 1px solid #3c6690;
  border-bottom: 1px solid #3c6690;
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
  width: 25%;
  padding: 10px 0;
}

table.table-a td{
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  width: 25%;
  padding: 10px 0;
}

table.table-a td:last-child{
  border-right: 1px solid #a8b7c5;
}

table.table-a tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}

table.table-a tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}

.headprice {
  position: relative;
  padding: .25em 0 .5em .75em;
  border-left: 6px solid #3498db;
  color: #3498db;
}
.headprice::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  width: 100%;
  height: 0;
  border-bottom: 1px solid #3498db;
}

.frame {
 width: 90%;
 margin: 30px auto 20px;
 padding: 25px 30px 10px;
 border: 3px solid #aaa;
 position: relative;
 border-radius: 3px;
 background-color: #fff;
}
.frame-title {
 position: absolute;
 top: -1px;
 left: 20px;
 padding: 0 20px;
 background-color: #fff;
}
.frame-title .fa {
 margin-right: 5px;
}
.caution {
 background-color: #ff4500;
 border: 2px solid #ff4500;
 color: #fff;
 border-radius: 3px;
}
.frame-red {
 border-color: #ff4500;
}

.head{
    position: relative;
    text-align: center;
    background: #ED8209;
    margin-bottom: 20px;
    padding-top:10px;
    padding-bottom:10px;
    font-size: 200%;
    font-weight:bold;
    color:#FFD400;
}


/* =================================
 パソコンのみの設定
================================= */
@media screen and (min-width: 768px) {
/* スマホのみ改行
-------------------------------------------------------------------*/
 .kaigyouSp {
  display: none;
 }
}

/* =================================
 タブレット以下の設定
================================= */
@media screen and (max-width: 768px) {

 /* ２カラム用
-------------------------------------------------------------------*/
.right_content,.left_content,
.right_content30,.left_content30,
.right_content70,.left_content70{
	float:none;
	width:100%;
	padding:0;
}
.sp_box{
	width:90%;
	margin-left:auto;
	margin-right:auto;
}

}


/* =================================
 スマホのみの設定
================================= */
@media screen and (max-width: 420px) {
}