h1 {
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1;
  color: #333333;
  margin-bottom: 40px;
  padding: 15px 0;
  border-bottom: 2px solid #c00000;
  width: 100%;
}

.itemHdd {
  display: block;
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1;
  color: #696758;
  margin-bottom: 26px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f2f2f2;
}

h3 {
  display: block;
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1;
  color: #696758;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f2f2f2;
}
h3 .text {
  padding-left: 10px;
  border-left: 4px solid #c00000;
}

h4 {
  display: block;
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1;
  color: #bab48e;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 2px solid #f2f2f2;
}
h4 .text {
  padding-left: 10px;
  border-left: 4px solid #c00000;
}
h4 .text span {
  color: #c00000;
}

p {
  line-height: 1.4;
}

.contentsWrap {
  padding-bottom: 80px;
}

.explanation {
  margin-bottom: 45px;
  position: relative;
}
.explanation .term {
  margin: 10px 0 0 10px;
}
.explanation .term th {
  font-size: 14px;
  font-weight: bold;
  padding-right: 10px;
  padding-bottom: 10px;
  white-space: nowrap;
}
.explanation .term td {
  font-size: 14px;
  padding-bottom: 10px;
  line-height: 1.2;
}
.explanation .revenue {
  margin: 10px 0 0 10px;
}
.explanation .revenue th {
  font-size: 14px;
  font-weight: bold;
  padding: 10px;
  white-space: nowrap;
  background: #eeece1;
  border: 1px solid #cccccc;
}
.explanation .revenue td {
  font-size: 14px;
  padding: 10px;
  line-height: 1.4;
  border: 1px solid #cccccc;
}
.explanation .revenue td p {
  font-size: 14px;
  margin-bottom: 10px;
}
.explanation .revenue td span {
  font-weight: bold;
}
.explanation .revenue td ul {
  margin-top: 10px;
}
.explanation .revenue td ul li {
  margin-bottom: 5px;
}
.explanation .list {
  font-size: 14px;
}
.explanation .list td {
  line-height: 1.4;
  padding-bottom: 5px;
}
.explanation .list .number {
  width: 2.5em;
}
.explanation .dataTable {
  padding: 0;
  font-size: 14px;
  line-height: 1.2;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #eeece1;
}
.explanation .dataTable tr:last-child th {
  border-bottom: 1px solid #eeece1;
}
.explanation .dataTable th {
  width: 200px;
  background: #f1f1f1;
  text-align: center;
  border-bottom: 2px solid #ffffff;
  font-weight: bold;
  color: #313131;
  vertical-align: middle;
}
.explanation .dataTable th.annual {
  background: #c00000;
  color: #ffffff;
}
.explanation .dataTable td {
  padding: 13px;
  vertical-align: middle;
  text-align: left;
  font-weight: normal;
  border: 1px solid #eeece1;
  border-left: none;
}
.explanation ul.cost {
  position: absolute;
  top: 0;
  right: 0;
}
.explanation ul.cost li {
  font-size: 12px;
  float: left;
}
.explanation ul.cost .once {
  margin-right: 35px;
  background: url("../../../img/pages/once_icon.png") no-repeat left center;
  padding: 4px 0 4px 90px;
}
.explanation ul.cost .every {
  background: url("../../../img/pages/every_icon.png") no-repeat left center;
  padding: 4px 0 4px 90px;
}
.explanation .formula {
  background: #eeece1;
  padding: 15px;
  margin-bottom: 10px;
}
.explanation .formula .formulaInner {
  font-size: 16px;
  font-weight: bold;
}

/*  ---------------------------- charges.html ----------------------------  */
.advice {
  background: #eeece1;
  padding: 20px;
}
.advice .onePoint {
  color: #c00000;
  font-size: 14px;
  font-weight: bold;
  background: url("../../../img/pages/advice_icon.png") no-repeat left center;
  padding: 5px 0px 5px 33px;
}
.advice .adviceInner {
  padding: 0 33px 20px;
}
.advice .tit {
  font-size: 18px;
  font-weight: bold;
  color: #333333;
  margin-bottom: 15px;
}

/*  ---------------------------- flow.html ----------------------------  */
.step {
  margin: 0 auto 50px;
  width: 920px;
}
.step li {
  float: left;
  margin-right: 5px;
  padding: 15px 0;
}
.step .stepInner {
  background: #eeece1;
  font-weight: bold;
  text-align: center;
  width: 206px;
}
.step .stepInner p {
  font-size: 14px;
  line-height: 1;
  color: #696758;
}
.step .stepInner .tit {
  color: #c00000;
  margin-bottom: 10px;
}
.step .stepInner .text {
  font-size: 13px;
}

.frame {
  width: 888px;
  margin: auto;
  border: 1px solid #cccccc;
  padding: 15px;
}
.frame a {
  color: #1a0dab;
	display: block;
}

.flow .explanation {
  margin-bottom: 20px;
}
.reportPage .explanation {
  margin-bottom: 20px;
}
.reportPage .redArrow {
  width: 52px;
  margin: auto;
}

.flow .redArrow {
  width: 52px;
  margin: auto;
}

.ttlMenu{
  margin-bottom: 40px;
  padding: 15px 0;
  border-bottom: 2px solid #c00000;
  width: 100%;
  overflow:hidden;
}

.ttlMenu a{
  color: #777;
  font-size: 90%;
}
.ttlMenu h1,
.ttlMenu h2{
  display:inline;
  font-weight: bold;
  line-height: 1;
  color: #333333;
  padding-right:20px;
  font-size: 20px;
}

.ttlMenu h2{
  border-left:1px solid #333;
}

.mainBox{
    width:950px;
   margin-bottom:80px;
overflow:hidden;
}

.mainBox .Left{
    float:left;
    width:750px;
    padding-right:20px;
}

.mainBox .Right{
    padding-left:30px;
}

.frame { border: none!important; margin: 0!important; width: 100%!important; padding: 0!important;}
.frame:after { display: block; content: ""; clear: both;}
.frame figure { width: 245px; display: block; float: left; margin-right: 20px;}

@media only screen and (max-width: 768px) {
	.ttlMenu { margin-bottom: 10px;}
	.ttlMenu h1, .ttlMenu h2 { font-size: 14px; padding: 0!important; border-bottom: none;}	
	.ttlMenu h1 { padding-right: 10px!important;}
	.flow .mb50 { font-size: 10px; margin-bottom: 20px!important;}
	.step { width: 100%; padding: 0 20px; box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box;}
	.step li { display: block; width: 100%!important; box-sizing: border-box; -webkit-box-sizing: border-box; -ms-box-sizing: border-box; float: none; text-align: center; line-height: 1!important; margin: 0!important; padding: 10px;}
	.step li img { width: 10px; transform: rotate(90deg); -webkit-transform: rotate(90deg); -ms-transform: rotate(90deg);}
	.step .stepInner { text-align: left!important;}
	.step .stepInner p { display: inline-block; margin-bottom: 0!important;}
	.ttlMenu h2 { padding-left: 10px!important;}
	.flow .explanation h4 { font-size: 15px;}
	.frame figure { width: 125px; margin: 0 10px 10px 0;}
	.frame p { font-size: 10px;}
	.flow .redArrow { width: 26px;}
	.contentsWrap { padding-bottom: 0px;}
	.charges th,.charges td,.charges p { font-size: 10px;}
	.charges .itemHdd,.charges h4 .text { font-size: 15px;}
	.explanation ul.cost { position: relative; margin-bottom: 10px;}
	.explanation ul.cost li { font-size: 10px; background-size: 40px 10px!important; padding-left: 50px!important; float: none;}
	.explanation .dataTable th { width: 100px; padding: 0 10px;}
	.charges .advice { margin-bottom: 20px;}
	.charges .advice .adviceInner { padding: 0;}
	.charges .advice .tit { font-size: 15px; margin: 10px 0;}
	.mainBox { width: 100%;}
	.mainBox .Left { width: calc(100% - 100px); padding: 0;}
	.mainBox .Left p { font-size: 10px;}
	.mainBox .Right { width: 90px; float: right; padding: 0;}
	.flow h4 .text { display: block;}
	.policy h1 { font-size: 10px; margin-bottom: 20px;}
	.policy h4,.policy p,.policy td { font-size: 10px;}
	.policy .explanation { margin-bottom: 20px;}
}


.hmdiTable { margin-bottom: 20px; width: 100%; border-collapse: separate; border-spacing: 0px;}
.hmdiTable th { border-top: 1px solid #000; border-left: 1px solid #000; background: #bacbe8; font-size: 14px; text-align: center; padding: 10px; font-weight: bold; vertical-align: middle;}
.hmdiTable th:last-child { border-right: 1px solid #000;}
.hmdiTable td { border-top: 1px solid #000; line-height: 1.4; border-left: 1px solid #000; background: #fff; vertical-align: middle; font-size: 14px; text-align: center; padding: 5px;}
.hmdiTable td:nth-child(1) { width: 30%;}
.hmdiTable td:nth-child(2) { width: 25%; text-align: right;}
.hmdiTable td:nth-child(3) { width: 15%;}
.hmdiTable td:nth-child(4) { width: 30%;}
.hmdiTable td:last-child { border-right: 1px solid #000; text-align: left;}
.hmdiTable tr:last-child td { border-bottom: 1px solid #000;}
.hmdiTable td.br { background: #eeece2;}
.hmdiTable td.bn1 { border-bottom: 1px solid #000;}
.hmdiTable td.bn2 { border-bottom: 1px solid #000; border-right: 1px solid #000;}
.hmdiTable td.bn3 { border: none!important; text-align: center;}
.hmdiTableTxt { font-size: 14px; line-height: 1.5; margin: -15px 0 5px;}
.captionRed { color: #e50012;}
@media only screen and (max-width: 768px) {
	.hmdiTable th,.hmdiTable td { font-size: 10px;}
	.captionRed { font-size: 10px; padding-bottom: 20px;}
}