#content * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

h1.keyVisual_simulate {
  background: url(../image/bg_h1.png) no-repeat center center;
  padding: 12px 0 12px 30px;
}

h1.keyVisual_simulate span {
  display: block;
  font-size: 30px;
  font-weight: bold;
  color: #30729E;
  background: url(../image/icon_h1.png) no-repeat left center;
  padding-left: 45px;
  height: 35px;
}

h1.agree_h1 {
  font-size: 28px;
  text-align: center;
  margin: 0 0 25px;
}

p.lead {
  font-size: 19px;
  color: #000000;
  line-height: 32px;
  margin: 0 0 25px;
}

.steps {
  margin: 0 0 25px;
}

.clearfix {
  min-height: 1px;
}

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

h2.simulate_subtit {
  background-color: #f2f2f2;
  padding: 15px 20px;
  color: #30729e;
  font-size: 24px;
  border: none;
  margin: 0 0 40px;
}

h2.simulate_subtit.short {
  width: 540px;
}

.lefts {
  float: left;
  width: 540px;
}

.lefts .kenshinhyo_sp {
  display: none;
}

.lefts .selectArea {
  margin: 0 0 60px 50px;
}

.lefts .selectArea p {
  font-size: 22px;
  color: #000000;
  margin: 0;
}

.lefts .selectArea p.err {
  color: #ff0000;
  margin-top: -40px;
  display: none;
}

.lefts .selectArea select {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  border: solid 1px #30729e;
  border-radius: 5px;
  width: 200px;
  height: 43px;
  background: url(../image/btn_select.png) no-repeat right center;
  font-size: 18px;
  padding: 0 45px 0 20px;
  margin: 0 0 40px;
}

.lefts .selectArea select::-ms-expand {
  display: none;
}

.lefts .selectArea input {
  border: solid 1px #30729e;
  border-radius: 5px;
  width: 200px;
  height: 43px;
  padding-left: 20px;
  font-size: 18px;
}

.lefts .selectArea .vertical {
  display: table;
  margin: 0 0 40px;
}

.lefts .selectArea .vertical select {
  margin: 0;
}

.lefts .selectArea .vertical span {
  display: table-cell;
  vertical-align: middle;
  font-size: 18px;
  color: #000000;
  padding-left: 18px;
}

.single {
  margin: 0 0 70px;
}

.single h2 {
  margin-bottom: 25px;
}

.single .selectArea {
  margin: 0 0 40px 20px;
}

.single p {
  font-size: 19px !important;
  margin: 0 0 30px !important;
}

.single p.err, .single p.err02 {
  margin-top: -40px !important;
  color: #ff0000;
  display: none;
}

.year .selectArea {
  margin: 0 0 40px 20px;
}

.year table {
  width: 920px;
  margin: 20px 0 60px;
}

.year table th {
  background-color: #30729e;
  border: solid #ffffff;
  border-width: 0 2px 0 2px;
  color: #ffffff;
  padding: 8px;
  text-align: center;
  font-size: 17px;
  line-height: 1;
  width: 67px;
}

.year table th.gray {
  background-color: #f2f2f2;
}

.year table th.long {
  width: 90px !important;
}

.year table td {
  background-color: #e4f1fd;
  border: solid #ffffff;
  border-width: 0 2px 0 2px;
  padding: 8px 6px;
  text-align: center;
  font-size: 12px;
  color: #000000;
  line-height: 1;
  width: 64px;
}

.year table td input {
  width: 54px;
  text-align: left;
  border: solid 1px #97b8ce;
  border-radius: 5px;
  padding: 8px;
}

.year table.sp {
  display: none;
}

.year p {
  font-size: 19px !important;
  margin: 0 0 30px !important;
}

.year p.err, .year p.err02 {
  margin-top: -60px !important;
  color: #ff0000;
  display: none;
}

.kenshinhyo {
  width: 350px;
  float: right;
  display: none;
  border: solid 1px #000000;
}

.kenshinhyo img {
  width: 100%;
}

.selectArea02 {
  margin: 0 20px 70px;
}

.selectArea02 input {
  display: none;
}

.selectArea02 input + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin-left: 20px;
  padding: 10px 20px;
  border-radius: 2px;
  color: #000000;
  font-size: 22px;
  text-align: center;
  line-height: 1;
}

.selectArea02 input + label:before {
  position: absolute;
  content: "";
  top: 50%;
  left: -20px;
  width: 26px;
  height: 26px;
  margin-top: -15px;
  border: solid 1px #ccc;
  border-radius: 50%;
}

.selectArea02 input:checked + label:before {
  background-color: #30729e;
  border: none;
}

.selectArea02 input:checked + label:after {
  position: absolute;
  content: "";
  top: 50%;
  left: -11px;
  width: 8px;
  height: 8px;
  margin-top: -6px;
  background-color: #ffffff;
  border-radius: 50%;
}

.selectArea02 .detail {
  border: solid 1px #30729e;
  border-radius: 5px;
  padding: 25px;
  font-size: 19px;
  line-height: 1.545;
  color: #000000;
  margin: 10px 35px 35px;
}

.selectArea02 .detail:hover {
  cursor: pointer;
}

.selectArea02 p.err {
  font-size: 22px;
  color: #000000;
  margin: 0;
  color: #ff0000;
  margin: -25px 35px 0;
  display: none;
}

.lefts02 {
  float: left;
  width: 360px;
}

.lefts02 p.usedTotal {
  font-size: 24px;
  color: #30729e;
  margin: 0 0 20px;
}

.lefts02 p.usedTotal span {
  text-decoration: underline;
  margin-right: 12px;
}

.lefts02 .oldBox {
  background-color: #f2f2f2;
  border-radius: 5px;
  padding: 20px 25px;
  margin: 0 0 20px;
}

.lefts02 .oldBox h2 {
  text-align: center;
  font-size: 23.5px;
  border-bottom: solid 1px #8e8e8e;
  padding-bottom: 10px;
}

.lefts02 .oldBox p {
  font-size: 19px;
  color: #000000;
  text-align: left;
  margin: 0;
}

.lefts02 .oldBox div {
  background-color: #ffffff;
  border-radius: 5px;
  padding: 15px 10px;
  text-align: center;
  color: #000000;
  font-size: 19px;
}

.lefts02 .oldBox div.agreeBox {
  margin: 0 0 15px;
}

.lefts02 .oldBox div.resultOld {
  font-size: 27px;
  font-weight: bold;
}

.lefts02 .oldBox div.resultOld span {
  font-size: 18px;
  margin-left: 10px;
}

.lefts02 .oldBox div.clearfix, .lefts02 .oldBox div.spTwoColumn {
  background: none;
  padding: 0;
}

.lefts02 p.notes {
  font-size: 16px;
  color: #000000;
  margin: 0;
}

img.arrow {
  float: left;
  margin: 230px 7px 0 10px;
}

img.arrow_sp {
  display: none;
}

.rights {
  float: right;
  width: 525px;
  border: solid 3px #30729e;
  border-radius: 5px;
  background-color: #f1f8fe;
  padding: 15px 30px 35px;
  margin: 0 0 30px;
}

.rights h2 {
  font-size: 20px;
  font-weight: bold;
  color: #00517b;
  background: url(../image/icon_result_h3.png) no-repeat left center;
  border-bottom: solid 1px #00517b;
  margin: 0 0 20px;
  padding: 10px 0 10px  45px;
}

.rights p {
  font-size: 19px;
  color: #000000;
  margin: 0;
  text-align: left;
}

.rights div {
  background-color: #d7eafc;
  border-radius: 5px;
  padding: 15px 10px;
  text-align: center;
  color: #000000;
  font-size: 19px;
}

.rights div.toku {
  background-color: #fee011;
  margin: 0 0 20px;
  font-size: 32px;
  font-weight: bold;
}

.rights div.toku span {
  font-size: 23px;
  margin-left: 15px;
}

.rights div.toku span.nomerit {
  margin: 0;
}

.rights div.agreeBoxNew {
  margin: 0 0 15px;
}

.rights div.resultNew {
  font-size: 27px;
  font-weight: bold;
  margin: 0 0 10px;
}

.rights div.resultNew span {
  font-size: 18px;
  margin-left: 10px;
}

.rights div.txtR {
  text-align: right;
  background: none;
  border-radius: none;
  padding: 0;
  margin: 0 0 30px;
}

.rights div.txtR p {
  display: inline-block;
}

.rights div.txtR .diff {
  display: inline-block;
  width: 180px;
  padding: 8px 10px;
  color: #ff0000;
  font-size: 24px;
  font-weight: bold;
}

.rights div.txtR .diff span {
  font-size: 15px;
}

.rights div.clearfix, .rights div.spTwoColumn {
  background: none;
  padding: 0;
}

.rights a {
  display: block;
  width: 305px;
  height: 65px;
  margin: 0 auto;
  padding: 20px 15px 0;
  background-color: #be1e2d;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
}

.rights a:hover {
  opacity: 0.7;
}

.rights a span {
  display: block;
  color: #ffffff;
  font-size: 24px;
  font-weight: bold;
  background: url(../image/arrow_next.png) no-repeat right center;
}

.rights .cpnBox {
  width: 100%;
  margin: 0 auto 30px;
  padding: 0;
}

.rights .cpnBox .cpnInner {
  margin: 0 auto;
  padding: 15px 0;
  background-color: #f2f2f2;
}

.rights .cpnBox .cpnInner p {
  float: none;
  text-align: center;
  padding: 0;
  font-weight: normal;
  line-height: 26px;
}

.rights .cpnBox .cpnInner p span {
  font-weight: bold;
}

.printBtn {
  text-align: right;
  margin: 0 0 50px;
}

.printBtn a {
  display: inline-block;
  width: 255px;
  height: 50px;
  border: solid 1px #be1e2d;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  padding: 10px;
  background: url(../image/icon_print.png) no-repeat left 30px center;
}

.printBtn a span {
  display: block;
  color: #be1e2d;
  font-size: 18px;
  font-weight: bold;
  background: url(../image/arrow_print.png) no-repeat right bottom;
  padding: 5px 0 0 10px;
}

.printBtn a:hover {
  cursor: pointer;
  opacity: 0.7;
}

.resultNotes {
  margin: 0 0 60px;
}

.resultNotes p {
  font-size: 16px;
  color: #000000;
  margin: 0;
}

.simulateBtn {
  text-align: center;
  margin: 0 auto 20px;
}

.simulateBtn a:hover {
  opacity: 0.7;
  cursor: pointer;
}

.simulateBtn a.prev {
  display: inline-block;
  width: 375px;
  height: 70px;
  border: solid 1px #30729e;
  border-radius: 5px;
  color: #30729e;
  text-align: center;
  text-decoration: none;
  padding: 20px 15px 0;
  margin-right: 15px;
}

.simulateBtn a.prev span {
  display: block;
  font-size: 25px;
  font-weight: bold;
  background: url(../image/arrow_prev.png) no-repeat left center;
}

.simulateBtn a.next {
  display: inline-block;
  width: 375px;
  height: 70px;
  background-color: #30729e;
  border-radius: 5px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  padding: 20px 15px 0;
}

.simulateBtn a.next span {
  display: block;
  font-size: 25px;
  font-weight: bold;
  background: url(../image/arrow_next.png) no-repeat right center;
}

.simulateBtn a.agree {
  display: inline-block;
  width: 600px;
  height: 84px;
  background-color: #be1e2d;
  border-radius: 5px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  padding: 28px 20px 0;
}

.simulateBtn a.agree span {
  display: block;
  font-size: 30px;
  font-weight: bold;
  background: url(../image/arrow_next.png) no-repeat right center;
}

.simulateBtn a.agree.false {
  opacity: 0.7;
}

.simulateBtn a.agree.false:hover {
 cursor: default;
}

.contactArea {
  float: right;
  width: 287px;
  border: solid 1px #b3b3b3;
  border-radius: 5px;
  padding: 20px 25px;
}

.contactArea .contactBtn {
  background-color: #eee;
  border-radius: 5px;
  margin: 0 0 15px;
}

.contactArea .contactBtn:hover {
  background-color: #ccc;
}

.contactArea .contactBtn a {
  display: block;
  background: url(../image/icon_mail.png) no-repeat left 40px center;
  text-align: center;
  font-size: 16px;
  color: #000000;
  text-decoration: none;
  padding: 15px 0;
}

.contactArea .contactBtn a span {
  display: block;
  background: url(../image/arrow_contact.png) no-repeat right 15px center;
  padding-left: 10px;
}

.contactArea a {
  color: #30729e;
  font-size: 14px;
  display: block;
  text-align: center;
  margin: 0 0 15px;
}

.agree .agree_h2 h2 {
  background-color: #f2f2f2;
  border: solid 1px #a9a9a9;
  text-align: center;
  font-size: 23px;
  padding: 10px 0;
  margin: 0 0 20px;
}

.agree .agree_h2 h2 span{
  background: url(../image/icon_alert.png) no-repeat left center;
  padding-left: 40px;
}

.agree p.agreeLead {
  font-size: 19px;
  color: #000000;
  margin: 0 0 35px;
}

.agree .checkArea {
  margin: 0 0 35px;
}

.agree .checkArea p {
  font-size: 19px;
  color: #000000;
  margin: 0 30px 40px;
}

.agree .checkArea p.checkBar {
  background-color: #e4f1fd;
  padding: 12px 20px;
  /*width: 920px;*/
  margin: 0 0 20px;
}

.agree .checkArea p.checkBar input {
  display: none;
}

.agree .checkArea p.checkBar input:checked + label:after {
  position: absolute;
  content: '';
  top: 10px;
  left: 4px;
  width: 16px;
  height: 6px;
  border-left: 3px solid #3498db;
  border-bottom: 3px solid #3498db;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.agree .checkArea p.checkBar label {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  color: #30729e;
  font-size: 21px;
  padding-left: 40px;
  cursor: pointer;
}

.agree .checkArea p.checkBar label:before {
  position: absolute;
  content: '';
  top: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  margin-top: -14px;
  background: #fff;
  border: 1px solid #ccc;
}

.agree .checkArea p.red {
  color: #be1e2d;
}

.agree .detailBox {
  border: solid 1px #999999;
  padding: 30px;
  height: 350px;
  overflow-y: scroll;
  margin: 0 0 20px;
}

.agree .detailBox h3 {
  text-align: center;
  font-size: 19px;
  color: #000000;
  margin: 0 0 20px;
}

.agree .detailBox p {
  font-size: 17px;
  line-height: 36px;
  color: #000000;
  margin: 0;
}

.agree .printArea {
  margin: 0 0 40px;
}

.agree .printArea p {
  display: inline-block;
  vertical-align: middle;
  font-size: 17px;
  color: #000000;
  margin: 15px 0 0;
}

.agree .printArea a {
  float: right;
  display: inline-block;
  width: 175px;
  height: 50px;
  border: solid 1px #be1e2d;
  border-radius: 5px;
  text-align: center;
  text-decoration: none;
  padding: 10px;
  background: url(../image/icon_print.png) no-repeat left 20px center;
}

.agree .printArea a span {
  display: block;
  color: #be1e2d;
  font-size: 18px;
  font-weight: bold;
  background: url(../image/arrow_print.png) no-repeat right bottom;
  padding: 5px 0 0 10px;
}

.agree .printArea a:hover {
  cursor: pointer;
  opacity: 0.7;
}

.agree .agreeLeft {
  float: left;
  max-width: 600px;/*original width 500px*/
  width:60%;
}

.agree .agreeLeft p {
  font-size: 20px;
  color: #000000;
}

.agree .agreeLeft p span {
  color: #be1e2d;
}

.agree .agreeLeft p.notes {
  font-size: 18px;
}

.agree .rightImg {
  float: right;
  max-width: 430px;/* --original  width:430px*/
	width:40%;
  border: solid 1px #000000;
  margin-bottom: 40px;
}

.agree .rightImg img {
  width: 100%;
}

.cpnBox {
  width: 600px;
  margin: 30px auto 45px;
  border: solid 1px #be1e2d;
  border-radius: 5px;
  overflow: hidden;
}

.cpnBox .cpnTitle {
  text-align: center;
  padding: 15px 0;
  margin: 0 auto;
  background-color: #be1e2d;
  font-size: 16px;
  color: #ffffff;
  line-height: 24px;
}

.cpnBox .cpnTitle span {
  display: block;
  margin: 0 auto;
  font-size: 18px;
  font-weight: bold;
  color: #fee011;
}

.cpnBox .cpnInner {
  margin: 0 auto;
  padding: 20px 40px 15px;
  background-color: #f2f2f2;
}

.cpnBox .cpnInner p {
  float: left;
  margin: 0;
  padding-top: 12px;
  font-size: 16px;
  font-weight: bold;
  color: #444444;
  line-height: 1;
}

.cpnBox .cpnInner p span {
  color: #be1e2d;
}

.cpnBox .cpnInner a {
  float: right;
  margin: 0;
  display: inline-block;
  width: 200px;
  height: 40px;
  background-color: #30729e;
  border-radius: 5px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  padding: 12px 10px 10px;
}

.cpnBox .cpnInner a span {
  display: block;
  font-size: 16px;
  font-weight: bold;
  background: url(../image/arrow_next.png) no-repeat right center;
}

.cpnBox .cpnInner a:hover {
  opacity: 0.7;
}

/****** mobile ******/
.mobile.simulate01 .lefts {
  float: none;
  width: 100%;
}

.mobile.simulate01 .lefts h2 {
  width: 100%;
}

.mobile.simulate01 .lefts .kenshinhyo_sp {
  display: block !important;
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
}

.mobile.simulate01 .lefts .kenshinhyo_sp img {
  border: solid 1px #000000;
}

.mobile.simulate01 .lefts .selectArea p {
  font-size: 2.2rem;
}

.mobile.simulate01 .lefts .selectArea select {
  width: 400px;
  font-size: 1.8rem;
}

.mobile.simulate03 .kenshinhyo {
  float: none;
  margin: 0 auto 40px;
  display: block;
  width: 100%;
}

.mobile.simulate03 .lefts {
  float: none;
  width: 100%;
}

.mobile.simulate03 .lefts h2 {
  width: 100%;
  font-size: 120%;
}

.mobile.simulate03 .lefts .selectArea p {
  font-size: 100% !important;
}

.mobile.simulate03 .year table {
  width: 68%;
}

.mobile.simulate03 .year table.pc {
  display: none;
}

.mobile.simulate03 .year table.sp {
  display: block;
}

.mobile.simulate03 .year table.sp tr {
  width: 100%;
  border-bottom: solid 2px #ffffff;
}

.mobile.simulate03 .year table.sp th, .mobile.simulate03 .year table.sp td {
  width: 50%;
  height: 20%;
  font-size: 1.7rem;
}

.mobile.simulate03 .year table.sp input {
  width: 90%;
  font-size: 1.6rem;
}

.mobile.simulate04 p.usedTotal {
  font-size: 2.4rem;
}

.mobile.simulate04 .lefts02, .mobile.simulate04 .rights {
  float: none;
  width: 100%;
  font-size: 100%;
}

.mobile.simulate04 .spTwoColumn {
  float: left;
  width: 49%;
  margin-right: 2%;
  font-size: 100%;
}

.mobile.simulate04 .spTwoColumn p {
  font-size: 1.9rem;
}

.mobile.simulate04 .spTwoColumn:last-child {
  margin: 0;
}

.mobile.simulate04 .spTwoColumn .agreeBox {
  font-size: 1.9rem;
  height: 75px;
  padding-top: 20px;
}

.mobile.simulate04 .spTwoColumn .resultOld, .mobile.simulate04 .spTwoColumn .resultNew {
  font-size: 2.7rem;
  height: 75px;
}

.mobile.simulate04 .spTwoColumn .resultOld span, .mobile.simulate04 .spTwoColumn .resultNew span {
  font-size: 1.8rem;
}

.mobile.simulate04 .toku {
  font-size: 3.2rem;
}

.mobile.simulate04 .toku span {
  font-size: 2.3rem;
}

.mobile.simulate04 .agreeBoxNew {
  font-size: 1.9rem;
}

.mobile.simulate04 .txtR {
  float: left;
  width: 49%;
  font-size: 100%;
  text-align: left;
}

.mobile.simulate04 .txtR p {
  font-size: 1.9rem;
  display: block;
}

.mobile.simulate04 .txtR .diff {
  display: block;
  width: 100%;
  height: 75px;
  font-size: 2.7rem;
  padding-top: 20px;
}

.mobile.simulate04 .txtR .diff span {
  font-size: 1.8rem;
}

.mobile.simulate04 .rights h2, .mobile.simulate04 .rights p {
  font-size: 1.9rem;
}

.mobile.simulate04 .rights .cpnBox {
  width: 100%;
}

.mobile.simulate04 .rights .cpnBox .cpnTitle {
  font-size: 1.6rem;
  line-height: 2.4rem;
}

.mobile.simulate04 .rights .cpnBox .cpnTitle span {
  font-size: 1.8rem;
}

.mobile.simulate04 .rights .cpnBox .cpnInner p {
  font-size: 1.6rem;
  line-height: 2.6rem;
}

.mobile.simulate04 img.arrow {
  display: none;
}

.mobile.simulate04 img.arrow_sp {
  display: block;
  margin: 30px auto;
}

.mobile.simulate04 p.notes {
  font-size: 1.6rem;
}

.mobile.simulate04 .printBtn {
  display: none;
}

.mobile.simulate04 .resultNotes p {
  font-size: 1.6rem;
}

.mobile.agree .detailBox {
  margin: 0 0 40px;
}

.mobile.agree .printArea {
  display: none;
}

.mobile.agree .rightImg, .mobile.agree .agreeLeft {
  float: none;
  width: 100%;
}

.mobile .contactArea {
  display: block;
  float: none;
  margin: 0 auto;
  width: 70%;
}

.mobile .contactArea .contactBtn a {
  font-size: 100%;
  background-size: 7%;
}

.mobile .contactArea a {
  font-size: 90%;
}

.mobile .contactArea img {
  width: 100%;
}

.mobile .cpnBox {
  width: 80%;
}
