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: inherit;
  font-size: 100%;
  vertical-align: baseline
}
html {
  line-height: 1
}
ol, ul {
  list-style: none
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle
}
q, blockquote {
  quotes: none
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none
}
a img {
  border: none
}
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block
}
body {
  font-family: "Meiryo", "Hiragino Kaku Gothic Pro", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
  font-size: 12px;
  color: #000;
  line-height: 1.4;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased
}
a {
  color: #333;
  text-decoration: none
}
img {
  vertical-align: bottom
}
body {
  background-color: #fff
}
a.hover:hover img {
  opacity: 0.7
}
.bold {
  font-weight: bold
}
.color-red {
  color: #e7153f
}
.container {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  *zoom: 1
}
.container:after {
  content: "";
  display: table;
  clear: both
}
.note {
  font-size: 11px;
  color: #777
}
.fd {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 34px;
  font-weight: bold;
  color: #009250;
  letter-spacing: 0;
  line-height: 1;
  padding-left: 60px;
  position: relative;
  display: inline-block
}
.fd:before {
  content: '';
  width: 50px;
  height: 32px;
  background: url('../../img/icon/fd-1573091799.png') no-repeat center center;
  background-size: contain;
  display: block;
  position: absolute;
  left: 0
}
.fd:before {
  bottom: 15%
}
header {
  background-color: #fff
}
header #header-top {
  margin-bottom: 5px;
  padding-top: 12px;
  padding-bottom: 25px;
  border-top: 5px solid #1ba1e6;
  background-color: #fff;
  overflow: hidden
}
header #header-top .header-inner {
  width: 960px;
  margin: 0 auto;
  position: relative
}
header #header-top .header-inner .logo {
  top: 15px
}
header #header-top .header-inner .area-change {
  top: 45px;
  left: 180px;
  line-height: 0
}
header #header-top .header-inner .area-change a {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  width: 138px;
  height: 22px;
  margin-right: 5px
}
header #header-top .header-inner .area-change a:hover img, header #header-top .header-inner .area-change a.active img {
  filter: alpha(opacity=0);
  -moz-opacity: 0;
  opacity: 0
}
header #header-top .header-inner .area-change .east {
  background: url("../img/header/header-btn-east_on.png") 0 0 no-repeat
}
header #header-top .header-inner .area-change .west {
  background: url("../img/header/header-btn-west_on.png") 0 0 no-repeat
}
header #header-top .header-inner .fd {
  top: 40px;
  left: 554px
}
header #header-top .header-inner .fd img {
  height: 37px;
  margin-right: 2px
}
header #header-top .header-inner .appoint {
  top: 20px;
  right: 0
}
header #header-top .header-inner .appoint a {
  display: block;
  width: 200px;
  height: 50px;
  background: url("../img/header/header-tel-btn.png") left bottom no-repeat;
  text-indent: -9999px
}
header #header-top .header-inner .appoint a:hover {
  background-position: right bottom
}
.form-mainv {
  background-position: center top;
  background-repeat: no-repeat;
  border: 1px solid #ddd
}
.form-mainv.entry {
  background-image: url('../../img/form/entry/form-mainv-bg-1576483678.png');
  height: 239px
}
.form-mainv.inquiry {
  background-image: url('../../img/form/inquiry/form-mainv-bg-1576483678.png');
  height: 200px
}
.form-mainv.area {
  background-image: url('../../img/form/area/form-mainv-bg-1576483678.png');
  height: 200px
}
.form-mainv.simulation {
  background-image: url('../../img/form/simulation/mainv-bg-1576483678.png');
  height: 240px
}
.form-mainv .mainv-in {
  width: 1000px;
  margin: 0 auto;
  overflow: hidden;
  padding-top: 30px
}
.form-mainv .mainv-in .flow-box {
  max-width: 100%
}
.form-mainv .mainv-in .flow-box .img {
  text-align: center
}
.form-mainv .mainv-in .flow-box .img.inquiry {
  margin-top: 40px
}
.form-mainv .mainv-in .flow-box .img.area {
  margin-top: 10px
}
.form-mainv .mainv-in .flow-box .flow-ttl {
  font-size: 16px;
  font-weight: normal;
  text-align: center;
  margin-top: 20px;
  margin-bottom: 17px
}
.form-mainv .mainv-in .flow-box .flow-ttl .notes {
  font-size: 12px;
  color: #666
}
.notes_address {
  font-size: 11px;
  color: #777;
  margin-left: 11px
}
._notes {
  font-size: 11px;
  color: #999;
  line-height: 1.4
}
#copy {
  background: #1ba1e6;
  text-align: center;
  line-height: 45px;
  font-size: 11px;
  color: #fff;
  letter-spacing: 0.1em
}
#copy .footer-simulation {
  background: #336FD2
}
#pagetop {
  display: none;
  position: fixed;
  bottom: 120px;
  right: 50px;
  margin-left: 510px;
  cursor: pointer;
  z-index: 100
}
#footer {
  padding-top: 25px;
  padding-bottom: 25px;
  background: #333;
  overflow: hidden;
  *zoom: 1
}
#footer .logo {
  float: left;
  display: inline-block
}
#footer .copyright {
  font-size: 12px;
  color: #fff;
  margin-left: 20px;
  float: right;
  display: inline-block
}
.ssl {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
  background-color: #f9f9f9
}
.ssl.simulation p {
  text-align: left;
  padding-left: 48px;
  position: relative;
  display: inline-block
}
.ssl.simulation p:before {
  content: '';
  width: 38px;
  height: 50px;
  background: url('../../img/form/simulation/ssl-1576483678.png') no-repeat center center;
  background-size: contain;
  display: block;
  position: absolute;
  left: 0
}
.ssl p {
  text-align: left;
  padding-left: 48px;
  position: relative;
  display: inline-block
}
.ssl p:before {
  content: '';
  width: 38px;
  height: 50px;
  background: url('../img/form/icon/ssl-1576483678.png') no-repeat center center;
  background-size: contain;
  display: block;
  position: absolute;
  left: 0
}
.ssl p span {
  font-size: 10px;
  font-weight: normal
}
#main {
  padding-top: 40px;
  padding-bottom: 40px;
  *zoom: 1
}
#main:after {
  content: "";
  display: table;
  clear: both
}
#main .main-left {
  width: 68%;
  margin-right: 3%;
  float: left
}
#main .main-left + #sidebar {
  width: 29%;
  float: right
}
#main .main-right {
  width: 68%;
  margin-left: 3%;
  float: right
}
#main .main-right + #sidebar {
  width: 29%;
  float: left
}
h1 {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin-bottom: 15px
}
h2 {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  line-height: 18px;
  margin-bottom: 30px
}
h2 span {
  font-size: 12px;
  font-weight: normal;
  margin-left: 15px
}
#error, .error {
  font-size: 17px;
  font-weight: bold;
  line-height: 1.5;
  color: #c03;
  padding: 15px 20px;
  background-color: #ffe6ec;
  margin-top: 20px;
  margin-bottom: 40px
}
.form-flow-list {
  font-size: 0;
  font-weight: bold;
  letter-spacing: 0;
  margin-bottom: 30px;
  text-align: center;
  overflow: hidden
}
.form-flow-list li {
  font-size: 12px;
  line-height: 40px;
  color: #777;
  letter-spacing: 0.05em;
  width: 33.333333%;
  padding-right: 15px;
  padding-left: 15px;
  display: inline-block;
  background-color: #c6c6c6;
  box-sizing: border-box;
  position: relative;
  z-index: 2
}
.form-flow-list li:first-child {
  z-index: 3
}
.form-flow-list li:first-child:before {
  content: none
}
.form-flow-list li:last-child {
  z-index: 1
}
.form-flow-list li:last-child:after {
  content: none
}
.form-flow-list li:before {
  content: '';
  border-top: 30px solid transparent;
  border-left: 15px solid #fff;
  border-right: 15px solid transparent;
  border-bottom: 30px solid transparent;
  position: absolute;
  left: 0px;
  top: 50%;
  margin-top: -30px
}
.form-flow-list li:after {
  content: '';
  border-top: 20px solid transparent;
  border-left: 10px solid #c6c6c6;
  border-right: 10px solid transparent;
  border-bottom: 20px solid transparent;
  position: absolute;
  right: -20px;
  top: 50%;
  margin-top: -20px
}
.form-flow-list li.active {
  color: #fff;
  background-color: #1ba1e6
}
.form-flow-list li.active:after {
  border-left-color: #1ba1e6
}
.contract-tbl {
  width: 100%;
  font-size: 12px;
  color: #333;
  margin-bottom: 50px;
  border: 1px solid #ccc
}
.contract-tbl tr {
  border-top: 1px solid #ccc
}
.contract-tbl tr:first-child {
  border-top: none
}
.contract-tbl tr th, .contract-tbl tr td {
  padding: 20px 25px;
  font-size: 13px;
  border-left: 1px solid #ccc
}
.contract-tbl tr th:first-child, .contract-tbl tr td:first-child {
  border-left: none;
  position: relative
}
.contract-tbl tr th {
  width: 20%;
  font-weight: bold;
  background: #eee;
  overflow: hidden;
  *zoom: 1
}
.contract-tbl tr th span {
  float: right;
  font-size: 11px;
  font-weight: normal;
  padding: 2px 6px;
  border-radius: 3px
}
.contract-tbl tr th span.require {
  color: #fff;
  background-color: #f09008;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto;
  height: 15px
}
.contract-tbl tr td {
  width: 80%;
  background: #fff
}
.contract-tbl tr td:nth-child(2):nth-last-child(3), .contract-tbl tr td:nth-child(4):nth-last-child(1) {
  width: 30%
}
.contract-tbl tr td p {
  font-size: 14px
}
.contract-tbl tr td .note {
  margin-left: 10px;
  display: inline-block;
  vertical-align: middle
}
.contract-tbl tr td .note.aside {
  margin-left: 0
}
.contract-tbl tr td .form-label {
  font-size: 12px;
  width: 120px;
  display: inline-block;
  text-align: right;
  vertical-align: middle
}
.contract-tbl tr td .form-label + .input-box {
  margin-left: 10px
}
.contract-tbl tr td .input-box {
  font-size: 12px;
  margin-left: 130px;
  display: inline-block;
  vertical-align: middle;
  position: relative
}
.contract-tbl tr td .row {
  font-size: 0;
  margin-top: 10px;
  *zoom: 1
}
.contract-tbl tr td .row:after {
  content: "";
  display: table;
  clear: both
}
.contract-tbl tr td .row:first-child {
  margin-top: 0
}
.contract-tbl tr td .row .col {
  width: 100%;
  display: inline-block;
  float: left;
  box-sizing: border-box
}
.contract-tbl tr td .row .col:first-child:nth-last-of-type(2), .contract-tbl tr td .row .col:first-child:nth-last-of-type(2) + .col {
  width: 330px
}
input[type="submit"] {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  *zoom: 1;
  *display: inline;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  width: 320px;
  height: 57px;
  font-size: 18px;
  font-weight: bold;
  line-height: 57px;
  color: #777;
  text-align: center;
  border: none;
  border-radius: 5px;
  box-shadow: 0 3px 0 #9e9e9e;
  position: relative;
  -webkit-appearance: none
}
input[type="submit"]:not(.btn-disable):hover {
  top: 2px;
  box-shadow: 0 1px 0 #9e9e9e
}
.mB0 {
  margin-bottom: 0px !important
}
.mB5 {
  margin-bottom: 5px !important
}
.mB10 {
  margin-bottom: 10px !important
}
.mB15 {
  margin-bottom: 15px !important
}
.mB20 {
  margin-bottom: 20px !important
}
.mB25 {
  margin-bottom: 25px !important
}
.mB30 {
  margin-bottom: 30px !important
}
.mB35 {
  margin-bottom: 35px !important
}
.mB40 {
  margin-bottom: 40px !important
}
.mB45 {
  margin-bottom: 45px !important
}
.mB50 {
  margin-bottom: 50px !important
}
.mB55 {
  margin-bottom: 55px !important
}
.mB60 {
  margin-bottom: 60px !important
}
.mB65 {
  margin-bottom: 65px !important
}
.mB70 {
  margin-bottom: 70px !important
}
.mB75 {
  margin-bottom: 75px !important
}
.mB80 {
  margin-bottom: 80px !important
}
.mB85 {
  margin-bottom: 85px !important
}
.mB90 {
  margin-bottom: 90px !important
}
.mB95 {
  margin-bottom: 95px !important
}
.mB100 {
  margin-bottom: 100px !important
}
.mB105 {
  margin-bottom: 105px !important
}
.mB110 {
  margin-bottom: 110px !important
}
.mB115 {
  margin-bottom: 115px !important
}
.mB120 {
  margin-bottom: 120px !important
}
.mB125 {
  margin-bottom: 125px !important
}
.mB130 {
  margin-bottom: 130px !important
}
.mB135 {
  margin-bottom: 135px !important
}
.mB140 {
  margin-bottom: 140px !important
}
.mB145 {
  margin-bottom: 145px !important
}
.mB150 {
  margin-bottom: 150px !important
}
.mB155 {
  margin-bottom: 155px !important
}
.mB160 {
  margin-bottom: 160px !important
}
.mB165 {
  margin-bottom: 165px !important
}
.mB170 {
  margin-bottom: 170px !important
}
.mB175 {
  margin-bottom: 175px !important
}
.mB180 {
  margin-bottom: 180px !important
}
.mB185 {
  margin-bottom: 185px !important
}
.mB190 {
  margin-bottom: 190px !important
}
.mB195 {
  margin-bottom: 195px !important
}
.mB200 {
  margin-bottom: 200px !important
}
.mB205 {
  margin-bottom: 205px !important
}
.mB210 {
  margin-bottom: 210px !important
}
.mB215 {
  margin-bottom: 215px !important
}
.mB220 {
  margin-bottom: 220px !important
}
.mB225 {
  margin-bottom: 225px !important
}
.mB230 {
  margin-bottom: 230px !important
}
.mB235 {
  margin-bottom: 235px !important
}
.mB240 {
  margin-bottom: 240px !important
}
.mB245 {
  margin-bottom: 245px !important
}
.mB250 {
  margin-bottom: 250px !important
}
body {
  background-color: #fff
}
.simulaiot-top {
  background-color: #eef6ff
}
#simulation-header {
  padding: 15px 0;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center
}
#simulation-header .logo {
  width: 400px
}
#simulation-header .header-info {
  display: flex;
  justify-content: right;
  align-items: center
}
#simulation-header .header-info .text {
  margin-right: 5px;
  color: #336FD2;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.2
}
#simulation-header .header-info .com-btn {
  display: flex;
  justify-content: center;
  position: relative;
  color: white;
  text-align: center;
  align-items: center;
  font-size: 14px;
  font-weight: bold;
  line-height: 16px;
  margin-left: 12px;
  text-decoration: none;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px
}
#simulation-header .header-info .com-btn:after {
  content: "";
  border-top: 2px solid white;
  border-right: 2px solid white;
  height: 10px;
  width: 10px;
  position: absolute;
  top: 50%;
  right: 15px;
  -moz-transform: rotate(45deg) translateY(-50%);
  -ms-transform: rotate(45deg) translateY(-50%);
  -webkit-transform: rotate(45deg) translateY(-50%);
  transform: rotate(45deg) translateY(-50%)
}
#simulation-header .header-info .com-btn.large {
  height: 50px;
  margin-top: 15px;
  padding: 0 27px 0 9px;
  border: 1px solid;
  font-weight: bold;
  -moz-box-shadow: 0 3px 0;
  -webkit-box-shadow: 0 3px 0;
  box-shadow: 0 3px 0;
  margin-top: 0
}
#simulation-header .header-info .com-btn.large .img-wrap {
  margin-right: 8px
}
#simulation-header .header-info .com-btn.tel {
  width: 226px;
  height: 64px;
  background-color: #f74545;
  border-color: #f74545;
  color: #fff;
  font-size: 18px;
  line-height: 22px;
  text-decoration: none;
  -moz-box-shadow: #b32222 0 3px 0;
  -webkit-box-shadow: #b32222 0 3px 0;
  box-shadow: #b32222 0 3px 0
}
#simulation-header .header-info .com-btn.tel:after {
  border-color: #fff
}
#simulation-header .header-info .com-btn.tel:hover {
  box-shadow: 0 1px 0 #b32222;
  top: 2px
}
#simulation-header.container:after {
  content: none
}
#main-simulation {
  border-top: 1px solid #ddd;
  padding-top: 70px
}
#main.sim-index {
  padding-top: 0;
  padding-bottom: 0
}
.section-mainv {
  width: 100%;
  height: 240px;
  margin-bottom: 40px;
  background: url('../../img/form/simulation/mainv-bg-1576483678.png') no-repeat center center
}
.section-mainv .container {
  padding-top: 50px;
  margin: 0 auto;
  text-align: center
}
#step {
  margin-bottom: 400px;
  *zoom: 1
}
#step:after {
  content: "";
  display: table;
  clear: both
}
#step .step-wrap {
  margin-bottom: 100px;
  margin-top: -20px;
  padding-top: 20px;
  display: none;
  position: relative
}
#step .step-wrap:first-child {
  display: block
}
#step .step-wrap:last-child {
  margin-bottom: 0
}
#step .step-wrap:last-child:after {
  content: none
}
#step .step-wrap:after {
  content: '';
  display: inline-block;
  width: 45px;
  height: 24px;
  background: url('../img/form/simulation/next-arrow-1576483678.png') no-repeat center center;
  background-size: contain;
  box-sizing: border-box;
  position: absolute;
  left: 50%;
  bottom: -62px;
  margin-top: -12px;
  margin-left: -22.5px
}
#step .step-wrap .step-content {
  padding: 49px;
  border: 1px solid #d8dadc;
  background-color: #fff;
  box-sizing: border-box
}
#step .step-wrap .step-content .step-num {
  width: 170px;
  height: 45px;
  line-height: 45px;
  margin: 0 auto 40px;
  background-color: #336FD2;
  border-radius: 25px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center
}
#step .step-wrap .step-content .step-ttl {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 30px
}
#step .step-wrap .step-content .step-ttl span {
  font-size: 30px;
  font-weight: bold;
  color: #336FD2
}
#step .step-wrap .step-content .step-btn {
  *zoom: 1
}
#step .step-wrap .step-content .step-btn:after {
  content: "";
  display: table;
  clear: both
}
#step .step-wrap .step-content .step-btn li {
  width: 270px;
  height: 250px;
  margin-left: 40px;
  float: left;
  background-color: #fff
}
#step .step-wrap .step-content .step-btn li:first-child {
  margin-left: 0
}
#step .step-wrap .step-content .step-btn li label {
  width: 100%;
  height: 100%;
  display: block;
  padding-top: 20px;
  box-sizing: border-box;
  text-align: center;
  border: 5px solid #d3d3d3;
  border-radius: 3px;
  cursor: pointer;
  position: relative
}
#step .step-wrap .step-content .step-btn li label:before {
  content: '';
  width: 33px;
  height: 33px;
  display: block;
  background: #d3d3d3 url('../img/icon/check.png') no-repeat center center;
  border-radius: 99999px;
  position: absolute;
  top: 15px;
  left: 15px
}
#step .step-wrap .step-content .step-btn li label .img {
  height: 70%;
  position: relative
}
#step .step-wrap .step-content .step-btn li label .img img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto
}
#step .step-wrap .step-content .step-btn li label .img.label-off {
  display: block
}
#step .step-wrap .step-content .step-btn li label .img.label-on {
  display: none
}
#step .step-wrap .step-content .step-btn li label .text {
  color: #333;
  font-size: 24px;
  font-weight: bold;
  line-height: 1
}
#step .step-wrap .step-content .step-btn li label .text .small {
  font-size: 20px
}
#step .step-wrap .step-content .step-btn li label.check-input {
  padding-top: 10px
}
#step .step-wrap .step-content .step-btn li label.check-input .img {
  height: 60%
}
#step .step-wrap .step-content .step-btn li label.check-input .input-zip input {
  width: 80%;
  height: 32px;
  margin: 10px 10%;
  border: 3px solid #d3d3d3;
  outline: none;
  font-size: 16px
}
#step .step-wrap .step-content .step-btn li label.check-input .select-pref {
  width: 80%;
  height: 40px;
  margin: 10px 10%;
  border: 3px solid #d3d3d3;
  outline: none;
  font-size: 16px
}
#step .step-wrap .step-content .step-btn li label:hover {
  border-color: #336FD2
}
#step .step-wrap .step-content .step-btn li input[type="radio"] {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0
}
#step .step-wrap .step-content .step-btn li input[type="radio"]:checked + label {
  border-color: #336FD2
}
#step .step-wrap .step-content .step-btn li input[type="radio"]:checked + label .label-off {
  display: none
}
#step .step-wrap .step-content .step-btn li input[type="radio"]:checked + label .label-on {
  display: block
}
#step .step-wrap .step-content .step-btn li input[type="radio"]:checked + label .input-zip input, #step .step-wrap .step-content .step-btn li input[type="radio"]:checked + label .select-pref {
  border-color: #336FD2
}
#step .step-wrap .step-content .step-btn li input[type="radio"]:checked + label:before {
  background-color: #336FD2
}
#step .step-wrap .step-content .button {
  font-size: 0;
  width: 270px;
  height: 40px;
  padding-bottom: 3px;
  display: inline-block;
  text-align: center;
  vertical-align: bottom;
  position: relative;
  box-sizing: border-box;
  display: block;
  margin: auto
}
#step .step-wrap .step-content .button a {
  font-size: 16px;
  font-weight: bold;
  line-height: 40px;
  height: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  display: block;
  text-decoration: none;
  outline: none;
  border-radius: 3px;
  box-sizing: border-box;
  position: relative;
  color: #fff;
  background-color: #00cbe6;
  box-shadow: 0 3px 0 #336FD2
}
#step .step-wrap .step-content .button a:hover {
  box-shadow: 0 1px 0 #336FD2
}
#step .step-wrap .step-content .button a:after {
  right: 10px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}
#step .step-wrap .step-content .button a:hover {
  top: 2px
}
#step .step-wrap .step-content .button a:before, #step .step-wrap .step-content .button a:after {
  content: '';
  margin: auto;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0
}
#step .step-wrap .step-content .button a span {
  font-size: 0px;
  line-height: 0px;
  width: 100%;
  display: block;
  text-align: center;
  position: absolute
}
#step .step-wrap .step-content .button a {
  cursor: pointer
}
#step .step-wrap .step-content .button a:after {
  content: none
}
#step .step-wrap .step-content .button a:before {
  content: '';
  width: 4px;
  height: 12px;
  border: 4px solid transparent;
  border-top: 6px solid #fff;
  display: inline-block;
  box-sizing: border-box;
  top: 4px;
  right: 12px
}
#step .step-wrap .step-content .js-toggle-contents {
  display: none;
  margin-top: 40px
}
#step .step-wrap .step-content .js-toggle-contents .step-ttl {
  font-size: 14px
}
#step .step-wrap .step-content .js-toggle-contents .step-ttl span {
  font-size: 18px
}
.internet-cost {
  margin-bottom: 40px;
  padding: 20px;
  background-color: #f4f5f6;
  text-align: center
}
.internet-cost .ttl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px
}
.internet-cost .internet-cost-input {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px
}
.internet-cost .internet-cost-input input {
  width: 140px;
  font-size: 16px;
  font-weight: bold;
  line-height: 40px;
  padding-left: 10px;
  padding-right: 10px;
  border: 1px solid #ccc;
  border-radius: 3px
}
.js-result {
  display: none
}
#result {
  background-color: #fff;
  margin-top: 50px;
  padding-top: 50px
}
#result .result-wrap {
  border: 2px solid #336FD2;
  border-top: none;
  border-radius: 5px;
  box-sizing: border-box;
  position: relative;
  z-index: 1
}
#result .result-wrap:before {
  content: '';
  border: 30px solid transparent;
  border-top: 40px solid #eef6ff;
  display: inline-block;
  box-sizing: border-box;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -67px;
  margin: auto;
  z-index: 2
}
#result .result-wrap:after {
  content: '';
  border: 30px solid transparent;
  border-top: 40px solid #336FD2;
  display: inline-block;
  box-sizing: border-box;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -70px;
  margin: auto;
  z-index: 0
}
#result .result-wrap .result-ttl {
  text-align: center;
  background-color: #336FD2
}
#result .result-wrap .result-ttl span {
  font-size: 35px;
  font-weight: bold;
  line-height: 100px;
  color: #fff;
  padding-left: 69px;
  position: relative;
  display: inline-block
}
#result .result-wrap .result-ttl span:before {
  content: '';
  width: 59px;
  height: 59px;
  background: url('../../img/form/simulation/icon-result-1547708942.png') no-repeat center center;
  background-size: contain;
  display: block;
  position: absolute;
  left: 0
}
#result .result-wrap .result-ttl span:before {
  top: 50%;
  margin-top: -29.5px
}
#result .result-wrap .result-contents {
  padding: 44px;
  background-color: #fff
}
#result .result-wrap .result-contents .plan-contents {
  display: flex;
  justify-content: space-between
}
#result .result-wrap .result-contents .plan-contents li {
  width: 210px
}
#result .result-wrap .result-contents .plan-contents li dl {
  width: 100%;
  text-align: center;
  border: 3px solid #d8dadc;
  border-top: none;
  box-sizing: border-box
}
#result .result-wrap .result-contents .plan-contents li dl dt {
  font-size: 13px;
  line-height: 30px;
  background-color: #d8dadc
}
#result .result-wrap .result-contents .plan-contents li dl dd {
  font-size: 14px;
  height: 67px;
  display: flex;
  justify-content: center;
  align-items: center
}
#result .result-wrap .result-contents .result-price-flex {
  display: flex;
  justify-content: space-between;
  margin-top: 30px
}
#result .result-wrap .result-contents .result-price-flex dl {
  width: 74.5%;
  text-align: center;
  box-sizing: border-box;
  display: flex;
  border: 3px solid #336FD2;
  border-radius: 5px
}
#result .result-wrap .result-contents .result-price-flex dl dt {
  width: 270px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  background-color: #336FD2;
  display: flex;
  justify-content: center;
  align-items: center
}
#result .result-wrap .result-contents .result-price-flex dl dd {
  width: 651px;
  font-size: 46px;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center
}
#result .result-wrap .result-contents .result-price-flex dl dd p {
  display: flex;
  align-items: baseline
}
#result .result-wrap .result-contents .result-price-flex dl dd p .fee {
  font-size: 29px;
  position: relative;
  right: 5px
}
#result .result-wrap .result-contents .result-price-flex dl dd p .fee .fee-up {
  position: absolute;
  top: -30px;
  left: 1px
}
#result .result-wrap .result-contents .result-price-flex dl dd p .num {
  color: #F7931E;
  font-size: 80px;
  font-family: Helvetica, Arial, sans-serif
}
#result .result-wrap .result-contents .result-price-flex dl dd p .yen {
  color: #F7931E
}
#result .result-wrap .result-contents .result-price-flex dl dd p .tax {
  font-size: 35px
}
#result .result-wrap .result-contents .result-price-flex .provider-box {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  position: relative;
  padding: 16px 0;
  width: 23%;
  font-size: 18px;
  font-weight: bold;
  background-color: #f9f9f9;
  color: #336FD2;
  text-align: center;
  border-radius: 5px
}
#result .result-wrap .result-contents .result-price-flex .provider-box .btn {
  display: block;
  position: relative;
  color: #336FD2;
  border: 1px solid #336FD2;
  background-color: white;
  font-size: 14px;
  width: 80%;
  margin: 0 auto;
  padding: 5px;
  border-radius: 100px;
  cursor: pointer
}
#result .result-wrap .result-contents .result-price-flex .provider-box .btn:after {
  position: absolute;
  content: '';
  width: 5px;
  height: 5px;
  border-top: 2px solid #336FD2;
  border-right: 2px solid #336FD2;
  transform: rotate(45deg);
  top: 0;
  bottom: 0;
  right: 12px;
  margin: auto
}
#result .result-wrap .result-contents .result-price-flex .provider-box .icon-plus {
  position: absolute;
  top: 40px;
  left: -30px
}
#result .result-wrap .result-contents .result-bubble-table {
  margin-top: 40px;
  padding: 25px;
  background-color: #eef6ff;
  border-radius: 5px;
  position: relative
}
#result .result-wrap .result-contents .result-bubble-table::before {
  content: '';
  border: 30px solid transparent;
  border-bottom-color: #eff6fb;
  position: absolute;
  top: -60px;
  left: 0;
  right: 0;
  margin: auto;
  width: 0;
  height: 0
}
#result .result-wrap .result-contents .result-bubble-table .table-price {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 8px
}
#result .result-wrap .result-contents .result-bubble-table .table-price .yen {
  color: #F7931E;
  font-size: 20px
}
#result .result-wrap .result-contents .result-bubble-table .table-price .yen .num {
  font-size: 38px;
  font-family: Helvetica, Arial, sans-serif
}
#result .result-wrap .result-contents .result-bubble-table table {
  width: 100%;
  border-radius: 5px;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 6px;
  overflow: hidden
}
#result .result-wrap .result-contents .result-bubble-table table th, #result .result-wrap .result-contents .result-bubble-table table td {
  font-size: 16px;
  padding: 8px 0px;
  text-align: center;
  color: black;
  border-bottom: 1px solid #ddd
}
#result .result-wrap .result-contents .result-bubble-table table th {
  width: 30%;
  background-color: #f9f9f9;
  font-size: 13px;
  font-weight: normal
}
#result .result-wrap .result-contents .result-bubble-table table th.head {
  width: 100%;
  background-color: #888;
  color: white;
  font-size: 15px;
  font-weight: bold;
  border-radius: 5px 5px 0 0
}
#result .result-wrap .result-contents .result-bubble-table table td {
  background-color: #fff;
  font-size: 14px;
  position: relative;
  border-left: 1px solid #ddd;
  letter-spacing: 1px
}
#result .result-wrap .result-contents .result-bubble-table table td .yen {
  font-weight: bold
}
#result .result-wrap .result-contents .result-bubble-table table td .yen .num {
  font-size: 22px;
  font-family: Helvetica, Arial, sans-serif
}
#result .result-wrap .result-contents .result-bubble-table table tr:last-child th, #result .result-wrap .result-contents .result-bubble-table table tr:last-child td {
  border-bottom: none
}
#result .result-wrap .result-contents .btn-area {
  display: flex;
  justify-content: space-between;
  margin-top: 25px
}
#result .result-wrap .result-contents .result-button-flex {
  font-size: 0;
  width: 510px;
  height: 85px;
  padding-bottom: 3px;
  display: inline-block;
  text-align: center;
  vertical-align: bottom;
  position: relative;
  box-sizing: border-box;
  display: block
}
#result .result-wrap .result-contents .result-button-flex a {
  font-size: 20px;
  font-weight: bold;
  line-height: 85px;
  height: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  display: block;
  text-decoration: none;
  outline: none;
  border-radius: 3px;
  box-sizing: border-box;
  position: relative;
  color: #fff;
  background-color: #00cbe6;
  box-shadow: 0 3px 0 #336FD2
}
#result .result-wrap .result-contents .result-button-flex a:hover {
  box-shadow: 0 1px 0 #336FD2
}
#result .result-wrap .result-contents .result-button-flex a:after {
  right: 10px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}
#result .result-wrap .result-contents .result-button-flex a:hover {
  top: 2px
}
#result .result-wrap .result-contents .result-button-flex a:before, #result .result-wrap .result-contents .result-button-flex a:after {
  content: '';
  margin: auto;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0
}
#result .result-wrap .result-contents .result-button-flex a span {
  font-size: 0px;
  line-height: 0px;
  width: 100%;
  display: block;
  text-align: center;
  position: absolute
}
#result .result-wrap .result-contents .result-button-flex a {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #f78234;
  box-shadow: 0 3px 0 #b96127;
  cursor: pointer;
  border-radius: 5px;
  font-size: 26px
}
#result .result-wrap .result-contents .result-button-flex a:hover {
  box-shadow: 0 1px 0 #bf4800
}
#result .result-wrap .result-contents .result-button-flex a:after {
  content: none
}
#result .result-wrap .result-contents .result-button-flex a:before {
  content: '';
  width: 4px;
  height: 12px;
  border: 4px solid transparent;
  border-top: 6px solid #fff;
  display: inline-block;
  box-sizing: border-box;
  background: url('../img/form/simulation/arrow-1576483678.png') no-repeat center center;
  border: none;
  width: 19px;
  height: 10px;
  top: 4px;
  right: 12px
}
#result .result-wrap .result-contents .result-button {
  font-size: 0;
  width: 420px;
  height: 60px;
  padding-bottom: 3px;
  display: inline-block;
  text-align: center;
  vertical-align: bottom;
  position: relative;
  box-sizing: border-box;
  display: block;
  margin: 25px auto 0
}
#result .result-wrap .result-contents .result-button a {
  font-size: 20px;
  font-weight: bold;
  line-height: 60px;
  height: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  display: block;
  text-decoration: none;
  outline: none;
  border-radius: 3px;
  box-sizing: border-box;
  position: relative;
  color: #fff;
  background-color: #00cbe6;
  box-shadow: 0 3px 0 #336FD2
}
#result .result-wrap .result-contents .result-button a:hover {
  box-shadow: 0 1px 0 #336FD2
}
#result .result-wrap .result-contents .result-button a:after {
  right: 10px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}
#result .result-wrap .result-contents .result-button a:hover {
  top: 2px
}
#result .result-wrap .result-contents .result-button a:before, #result .result-wrap .result-contents .result-button a:after {
  content: '';
  margin: auto;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0
}
#result .result-wrap .result-contents .result-button a span {
  font-size: 0px;
  line-height: 0px;
  width: 100%;
  display: block;
  text-align: center;
  position: absolute
}
#result .result-wrap .result-contents .result-button a {
  background-color: #f78234;
  box-shadow: 0 3px 0 #b96127;
  cursor: pointer
}
#result .result-wrap .result-contents .result-button a:hover {
  box-shadow: 0 1px 0 #bf4800
}
#result .result-wrap .result-contents .result-button a:after {
  content: none
}
#result .result-wrap .result-contents .result-button a:before {
  content: '';
  width: 4px;
  height: 12px;
  border: 4px solid transparent;
  border-top: 6px solid #fff;
  display: inline-block;
  box-sizing: border-box;
  background: url('../img/form/simulation/arrow-1576483678.png') no-repeat center center;
  border: none;
  width: 19px;
  height: 10px;
  top: 4px;
  right: 12px
}
#result .result-wrap .result-contents .sim-again-button-flex {
  font-size: 0;
  width: 370px;
  height: 85px;
  padding-bottom: 3px;
  display: inline-block;
  text-align: center;
  vertical-align: bottom;
  position: relative;
  box-sizing: border-box;
  display: block
}
#result .result-wrap .result-contents .sim-again-button-flex a {
  font-size: 20px;
  font-weight: bold;
  line-height: 85px;
  height: 100%;
  padding-top: 0px;
  padding-bottom: 0px;
  display: block;
  text-decoration: none;
  outline: none;
  border-radius: 3px;
  box-sizing: border-box;
  position: relative;
  color: #fff;
  background-color: #888;
  box-shadow: 0 3px 0 #6d6d6d
}
#result .result-wrap .result-contents .sim-again-button-flex a:hover {
  box-shadow: 0 1px 0 #6d6d6d
}
#result .result-wrap .result-contents .sim-again-button-flex a:after {
  right: 10px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg)
}
#result .result-wrap .result-contents .sim-again-button-flex a:hover {
  top: 2px
}
#result .result-wrap .result-contents .sim-again-button-flex a:before, #result .result-wrap .result-contents .sim-again-button-flex a:after {
  content: '';
  margin: auto;
  vertical-align: middle;
  position: absolute;
  top: 0;
  bottom: 0
}
#result .result-wrap .result-contents .sim-again-button-flex a span {
  font-size: 0px;
  line-height: 0px;
  width: 100%;
  display: block;
  text-align: center;
  position: absolute
}
#result .result-wrap .result-contents .sim-again-button-flex a {
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding-left: 40px;
  border-radius: 5px;
  line-height: 1.5rem
}
#result .result-wrap .result-contents .sim-again-button-flex a:after {
  content: none
}
#result .result-wrap .result-contents .sim-again-button-flex a:before {
  background: url('../../img/form/simulation/icon-again-1547708942.png') no-repeat center center;
  width: 40px;
  left: 40px
}
#result .result-wrap .campaign-contents-list {
  padding: 50px;
  background-color: #336FD2
}
#result .result-wrap .campaign-contents-list .campaign-ttl {
  margin-bottom: 10px;
  color: #fff100;
  font-size: 34px;
  font-weight: bold;
  text-align: center
}
#result .result-wrap .campaign-contents-list .campaign-ttl span:after {
  content: '';
  width: 36px;
  height: 43px;
  background: url('../../img/form/simulation/housya_left-1576483678.png') no-repeat center center;
  position: absolute;
  left: 130px
}
#result .result-wrap .campaign-contents-list .campaign-ttl span:before {
  content: '';
  width: 36px;
  height: 43px;
  background: url('../../img/form/simulation/housya_right-1576483678.png') no-repeat center center;
  position: absolute;
  right: 150px
}
#result .result-wrap .campaign-contents-list .campaign-list {
  width: 100%;
  padding: 0 30px;
  box-sizing: border-box
}
#result .result-wrap .campaign-contents-list .campaign-list li {
  position: relative;
  font-size: 18px;
  color: white;
  padding: 8px 0;
  margin-left: 22px
}
#result .result-wrap .campaign-contents-list .campaign-list li span {
  font-weight: bold
}
#result .result-wrap .campaign-contents-list .campaign-list li sup {
  font-size: 10px;
  vertical-align: text-top
}
#result .result-wrap .campaign-contents-list .campaign-list li:after {
  position: absolute;
  content: '';
  width: 20px;
  height: 16px;
  background: url('../../img/form/simulation/icon-check-1576483678.png') no-repeat center center;
  background-size: contain;
  top: 11px;
  left: -25px
}
#result .result-wrap .campaign-annotation {
  font-size: 11px;
  padding: 20px 30px;
  color: #666666
}
#result .result-wrap .campaign-annotation p {
  padding: 2px 0
}
#result .result-wrap .campaign-banner-area {
  padding: 30px 0;
  background-color: #eef6ff
}
#result .result-wrap .campaign-banner-area .campaign-main {
  text-align: center
}
#result .result-wrap .campaign-banner-area .campaign-note {
  margin-bottom: 10px;
  font-size: 16px;
  text-align: center
}
#result .result-wrap .campaign-banner-area .campaign-banner {
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  margin-top: 20px
}
#result .result-wrap .campaign-banner-area .campaign-banner .note {
  margin-top: 12px;
  margin-left: 47px
}
#result .result-wrap .campaign-banner-area .campaign-banner a {
  display: inline-block
}
#form {
  padding-bottom: 40px;
  background-color: #fff;
  *zoom: 1
}
#form:after {
  content: "";
  display: table;
  clear: both
}
#form .form-ttl {
  text-align: center;
  padding: 55px 0 25px
}
#form .form-ttl p {
  color: #336FD2;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 2px;
  margin-bottom: 8px
}
#form .form-ttl span {
  font-size: 14px
}
#form .form-ttl.sim-a {
  font-size: 15px;
  line-height: 2;
  text-align: left;
  position: relative
}
#form .form-ttl.sim-a span {
  position: absolute;
  left: 300px;
  bottom: 40px
}
#form #form-input {
  width: 1000px;
  float: left;
  padding-bottom: 30px;
  border: 2px solid #d8dadc;
  border-radius: 5px;
  background-color: #fff;
  box-sizing: border-box
}
#form #form-input .form-input-ttl {
  padding-top: 30px;
  border-top: 10px solid #336FD2;
  border-radius: 3px 3px 0 0;
  color: #336FD2;
  font-size: 22px;
  font-weight: bold;
  text-align: center
}
#form #form-input .form-input-ttl span {
  padding-left: 46px;
  position: relative;
  display: inline-block
}
#form #form-input .form-input-ttl span:before {
  content: '';
  width: 36px;
  height: 31px;
  background: url('../../img/form/simulation/icon-pen-1576483678.png') no-repeat center center;
  background-size: contain;
  display: block;
  position: absolute;
  left: 0
}
#form #form-input .form-input-ttl span:before {
  top: 50%;
  margin-top: -15.5px
}
#form #form-input .form-input-ttl-text {
  font-size: 14px;
  margin-top: 5px;
  text-align: center
}
#form #form-input .form-input-table-text {
  font-size: 14px;
  margin-top: 40px;
  margin-bottom: 5px
}
#form #form-input .form-tbl {
  padding: 0 40px
}
#form #form-input .contract-tbl {
  margin-bottom: 30px
}
#form #form-input .contract-tbl input[type="text"], #form #form-input .contract-tbl input[type="tel"], #form #form-input .contract-tbl input[type="email"], #form #form-input .contract-tbl select, #form #form-input .contract-tbl textarea {
  font-size: 12px;
  line-height: 1.5;
  min-width: 200px;
  padding: 5px;
  border: 1px solid #ddd;
  border-radius: 3px;
  box-sizing: border-box
}
#form #form-input .contract-tbl input[type="text"].js_is_error, #form #form-input .contract-tbl input[type="tel"].js_is_error, #form #form-input .contract-tbl input[type="email"].js_is_error, #form #form-input .contract-tbl select.js_is_error, #form #form-input .contract-tbl textarea.js_is_error {
  border-color: #333;
  background-color: #ffc8c8
}
#form #form-input .contract-tbl input[type="text"].min_w-a, #form #form-input .contract-tbl input[type="tel"].min_w-a, #form #form-input .contract-tbl input[type="email"].min_w-a, #form #form-input .contract-tbl select.min_w-a, #form #form-input .contract-tbl textarea.min_w-a {
  margin-right: .5em;
  min-width: auto
}
#form #form-input .contract-tbl input[type="text"].full, #form #form-input .contract-tbl input[type="tel"].full, #form #form-input .contract-tbl input[type="email"].full, #form #form-input .contract-tbl select.full, #form #form-input .contract-tbl textarea.full {
  width: 380px
}
#form #form-input .contract-tbl textarea {
  width: 100%;
  resize: vertical
}
#form #form-input .contract-tbl tr th {
  width: 200px;
  vertical-align: middle;
  position: relative
}
#form #form-input .contract-tbl tr td {
  width: auto;
  vertical-align: middle
}
#form #form-input .contract-tbl tr td .row .input-box {
  margin-left: 0
}
#form #form-input .contract-tbl tr td .row .col .form-label {
  width: 100px;
  text-align: right;
  font-size: 14px;
  margin-right: 8px
}
#form #form-input .contract-tbl tr td .row .col:first-child:nth-last-of-type(2), #form #form-input .contract-tbl tr td .row .col:first-child:nth-last-of-type(2) + .col {
  width: 50%
}
#form #form-input .contract-tbl tr td .row .col .note {
  margin-left: 10px;
  font-size: 11px
}
#form #form-input .contract-tbl tr td .row .col [name=i_zip] {
  min-width: 120px;
  width: 120px
}
#form #form-input .contract-tbl tr td .row .col [name=i_pref] {
  min-width: 100px;
  width: 100px
}
#form #form-input .contract-tbl tr td .row .col label {
  cursor: pointer;
  padding-left: 20px;
  margin-right: 20px;
  position: relative
}
#form #form-input .contract-tbl tr td .row .col label:before {
  content: '';
  width: 10px;
  height: 10px;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 1
}
#form #form-input .contract-tbl tr td .row .col label:after {
  content: '';
  width: 6px;
  height: 6px;
  background-color: transparent;
  border-radius: 50%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  margin: auto;
  z-index: 2
}
#form #form-input .contract-tbl tr td .row .col input[name="i_line"] {
  display: none;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0
}
#form #form-input .contract-tbl tr td .row .col input[name="i_line"]:checked + label:after {
  background-color: #999
}
#form #form-input .contract-tbl .pop-require {
  font-size: 12px;
  min-width: 100px;
  color: #fff;
  text-align: left;
  display: none;
  padding: 5px 10px;
  background: #333;
  position: absolute;
  top: -30px;
  left: 20px;
  z-index: 100
}
#form #form-input .contract-tbl .pop-require:after {
  content: url('../../img/icon/arrow-require-1547708942.png');
  width: 14px;
  height: 7px;
  position: absolute;
  bottom: -2px;
  left: 25px
}
#form #form-input .contract-tbl .pop-require.long {
  width: 220px
}
#form #form-input #input-btn {
  text-align: center
}
#form #form-input #input-btn input {
  cursor: pointer;
  outline: none
}
#form #form-input #input-btn input.btn-confirm {
  color: #fff;
  background-color: #f74545;
  box-shadow: 0 3px 0 #f74545;
  border-color: #f74545
}
#form #form-input #input-btn input.btn-confirm:hover {
  box-shadow: 0 1px 0 #f74545
}
#form #form-sidebar {
  width: 330px;
  margin-left: 30px;
  float: left
}
#form #form-sidebar .form-sidebar-contact {
  margin-bottom: 30px
}
#form #form-sidebar .form-sidebar-contact dl {
  background-color: #fff;
  border: 2px solid #d8dadc;
  border-radius: 5px;
  box-sizing: border-box
}
#form #form-sidebar .form-sidebar-contact dl dt {
  color: #fff;
  font-size: 14px;
  line-height: 50px;
  text-align: center;
  background-color: #3bb5ee;
  border-radius: 3px 3px 0 0
}
#form #form-sidebar .form-sidebar-contact dl dt .bold {
  font-size: 20px;
  font-weight: bold
}
#form #form-sidebar .form-sidebar-contact dl dd {
  padding: 15px 20px;
  text-align: center;
  border-top: 1px solid #d8dadc
}
#form #form-sidebar .form-sidebar-contact dl dd .text {
  font-size: 13px;
  margin-bottom: 5px
}
#form #form-sidebar .form-sidebar-contact dl dd .fd {
  font-size: 38px;
  padding-left: 50px;
  margin-bottom: 5px
}
#form #form-sidebar .form-sidebar-contact dl dd .fd:before {
  width: 40px;
  height: 25px
}
#form #form-sidebar .form-sidebar-contact dl dd:first-of-type {
  border-top: none
}
#sidebar {
  margin-top: -20px;
  padding-top: 20px;
  position: relative
}
#sidebar .plan-contents {
  border: 1px solid #336FD2;
  border-radius: 5px;
  background-color: #fff
}
#sidebar .plan-contents .ttl {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  line-height: 50px;
  text-align: center;
  background-color: #336FD2
}
#sidebar .plan-contents dl {
  font-size: 0;
  letter-spacing: 0;
  padding-left: 10px;
  padding-right: 10px;
  border-top: 1px solid #d8dadc
}
#sidebar .plan-contents dl.js-side-column {
  display: none
}
#sidebar .plan-contents dl:first-of-type {
  display: block;
  border-top: none
}
#sidebar .plan-contents dl dt, #sidebar .plan-contents dl dd {
  font-size: 14px;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding-top: 15px;
  padding-bottom: 15px;
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box
}
#sidebar .plan-contents dl dt {
  width: 40%;
  font-weight: bold
}
#sidebar .plan-contents dl dd.value {
  width: 46%
}
#sidebar .plan-contents dl dd.value span {
  display: inline-block;
  vertical-align: middle
}
#sidebar .plan-contents dl dd.value span.result_value span {
  display: block
}
#sidebar .plan-contents dl dd.change {
  width: 14%
}
#sidebar .plan-contents dl dd.change a {
  font-size: 12px;
  line-height: 25px;
  color: #787878;
  display: block;
  text-align: center;
  background-color: #d8dadc;
  border-radius: 3px
}
.sim-confirm #agreement {
  padding-top: 15px
}
.sim-confirm #agreement p {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px
}
.sim-confirm #agreement p span {
  font-size: 12px;
  margin-left: 15px;
  font-weight: normal
}
.sim-confirm #agreement .agreement-in {
  overflow-y: auto;
  zoom: 1;
  height: 160px;
  border: 1px solid #ddd;
  margin-bottom: 15px;
  padding: 20px;
  background: #fff
}
.sim-confirm #agreement .agreement-in dl dt {
  margin-bottom: 20px
}
.sim-confirm #agreement .agreement-in dl dd {
  margin-bottom: 20px
}
.sim-confirm .asterisk_txt {
  margin-bottom: 25px
}
.sim-confirm .asterisk_txt p {
  font-size: 11px;
  color: #777
}
.sim-confirm .privacy_txt {
  padding: 20px;
  background: #fff;
  margin-bottom: 50px
}
.sim-confirm #input-btn {
  *zoom: 1;
  text-align: center
}
.sim-confirm #input-btn:after {
  content: "";
  display: table;
  clear: both
}
.sim-confirm #input-btn input[type="submit"] {
  cursor: pointer
}
.sim-confirm #input-btn input[type="submit"].btn-back {
  width: 190px;
  font-size: 15px;
  color: #777;
  background-image: url('../../img/icon/arrow-back-1547708942.png');
  background-position: 15px center;
  background-color: #c6c6c6;
  box-shadow: 0 3px 0 #9e9e9e
}
.sim-confirm #input-btn input[type="submit"].btn-back:hover {
  box-shadow: 0 1px 0 #9e9e9e
}
.sim-confirm #input-btn input[type="submit"].btn-next {
  font-size: 18px;
  color: #fff;
  background-color: #336FD2;
  box-shadow: 0 3px 0 #146fd4
}
.sim-confirm #input-btn input[type="submit"].btn-next:hover {
  box-shadow: 0 1px 0 #1686bf
}
.sim-confirm .contract-tbl tr td .input-box {
  margin-left: 30px
}
.sim-confirm .contract-tbl .use_info {
  border-top: 1px dashed #ccc;
  margin-top: 10px;
  padding-top: 12px
}
.sim-confirm .contract-tbl .use_info span:first-of-type {
  margin-right: 85px
}
.form-flow-list li.active {
  color: #fff;
  background-color: #336FD2
}
.form-flow-list li.active:after {
  border-left-color: #336FD2
}
.sim-finish .finish_box {
  padding-top: 30px
}
.sim-finish .finish_box h2 {
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 20px;
  color: #336FD2;
  text-align: center
}
.sim-finish .finish_box .comment .text {
  text-align: center
}
.sim-finish .finish_box .tel {
  margin: 40px 0 50px
}
.sim-finish .finish_box .tel > dt {
  background: #336FD2;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 18px 0;
  text-align: center
}
.sim-finish .finish_box .tel > dd {
  border: 1px solid #336FD2;
  padding: 40px 50px 50px;
  background: #fff
}
.sim-finish .finish_box .telbox {
  text-align: center;
  font-weight: bold;
  margin-bottom: 30px
}
.sim-finish .finish_box .telbox > p {
  display: inline-block;
  vertical-align: middle;
  *vertical-align: auto;
  *zoom: 1;
  *display: inline
}
.sim-finish .finish_box .telbox ._fd {
  display: inline-block;
  vertical-align: middle;
  font-size: 56px;
  font-weight: bold;
  color: #000;
  letter-spacing: 0;
  line-height: 1;
  padding-left: 60px;
  position: relative;
  display: inline-block
}
.sim-finish .finish_box .telbox ._fd:before {
  content: '';
  width: 50px;
  height: 32px;
  background: url('../../img/form/icon/fd-1573091798.png') no-repeat center center;
  background-size: contain;
  display: block;
  position: absolute;
  left: 0
}
.sim-finish .finish_box .telbox ._fd:before {
  bottom: 15%
}
.sim-finish .finish_box .telbox .time {
  text-align: left;
  font-size: 20px
}
.sim-finish .finish_box .text {
  line-height: 1.6;
  font-size: 14px
}
.sim-finish .finish_box .mail-error {
  margin-top: 2em;
  font-size: 1.5em;
  font-weight: bold;
  color: #f00;
  text-align: center
}
.sim-finish .finish_box .mt4b3 {
  margin-top: 40px;
  margin-bottom: 30px
}
.sim-finish .btn-close {
  display: block;
  line-height: 40px;
  text-align: center;
  text-decoration: underline;
  font-size: 14px
}
#colorbox {
  outline: none
}
.appoint-colorbox #cboxTopLeft, .appoint-colorbox #cboxTopCenter, .appoint-colorbox #cboxTopRight, .appoint-colorbox #cboxBottomLeft, .appoint-colorbox #cboxBottomCenter, .appoint-colorbox #cboxBottomRight, .appoint-colorbox #cboxMiddleLeft, .appoint-colorbox #cboxMiddleRight {
  display: none
}
.appoint-colorbox #cboxContent {
  background: none;
  margin-top: 50px;
  position: static
}
.appoint-colorbox #cboxClose {
  width: 22px;
  height: 23px;
  background: url('../../img/modal-appoint-close-white-1576483681.png') no-repeat 0 0;
  right: 50px;
  top: 0
}
.appoint-colorbox #cboxClose:hover {
  background-position: 0 0
}
#cboxOverlay.appoint-overlay {
  background: rgba(0, 0, 0, 0.8)
}
.bnr-cont {
  margin-bottom: 20px
}
.bnr-cont .bnr-text {
  background: url('../../img/bg-collabo-kira-1573091797.png') no-repeat center center;
  font-size: 16px;
  text-align: center;
  margin-bottom: 8px
}
.bnr-cont .bnr-text span {
  display: block;
  font-size: 26px;
  font-weight: bold;
  color: #253a64
}
.bnr-cont .bnr-img {
  display: block;
  border: 1px solid #ccc
}
#user-popup {
  position: relative;
  width: 770px;
  height: 1037px;
  background: url('../../img/base/user-popup-bg-1573091797.png') no-repeat
}
#user-popup .collabo, #user-popup .fd, #user-popup .entry, #user-popup .exit {
  position: absolute
}
#user-popup .collabo {
  top: 462px;
  left: 36px
}
#user-popup .collabo a:hover {
  opacity: 0.65;
  filter: alpha(opacity=65)
}
#user-popup .fd {
  top: 894px;
  left: 125px
}
#user-popup .entry {
  top: 894px;
  left: 502px
}
#user-popup .exit {
  top: 980px;
  left: 265px
}
#user-popup .exit:hover {
  opacity: 0.65;
  filter: alpha(opacity=65);
  cursor: pointer
}
.pt20 {
  padding-top: 20px
}
.note {
  text-align: left
}
.note a {
  color: #777;
  text-decoration: underline
}
.modal-campaign .modal-in .modal-ttl {
  color: #fff;
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: 1px;
  padding: 15px 0;
  border-radius: 8px 8px 0 0
}
.modal-campaign .modal-in .modal-ttl.east-ttl {
  font-size: 30px;
  height: 50px;
  width: 445px;
  margin: 0 auto;
  color: #336FD2;
  text-align: center;
  -moz-border-radius: 28px;
  -webkit-border-radius: 28px;
  border-radius: 28px;
  position: relative
}
.modal-campaign .modal-in .modal-campaign-cont {
  overflow: hidden;
  *zoom: 1;
  background: #fff;
  border: solid 8px #336FD2;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  padding: 30px 25px;
  margin-bottom: 10px
}
.modal-campaign .modal-in .modal-campaign-cont .cont-img {
  margin-bottom: 10px
}
.modal-campaign .modal-in .modal-campaign-cont .cont-img img {
  width: 100%
}
.modal-campaign .modal-in .softbank-box {
  height: 450px;
  padding: 0 50px;
  background-color: #fff
}
.modal-campaign .modal-in .softbank-box .softbank-inner {
  height: auto
}
.modal-campaign .modal-in .softbank-box .softbank-inner img {
  width: 100%
}
.modal-campaign .modal-in .softbank-box .softbank-inner .note {
  font-size: 10px;
  color: #aaa;
  padding-top: 25px;
  margin-bottom: 10px
}
.modal-campaign .modal-in .softbank-box .popup-campaign-sttl {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background: #043174;
  padding: 6px 0 6px 16px;
  margin: 50px auto 30px
}
.modal-campaign .modal-in .softbank-box .modal-softbank-ttl {
  color: #fff;
  text-align: center;
  font-size: 26px;
  height: 56px;
  line-height: 56px;
  margin-bottom: 0;
  width: 100%;
  border-radius: 0;
  background-color: #043174
}
.modal-campaign .modal-in .collabo-box {
  width: 100%;
  font-size: 15px;
  font-weight: bold;
  text-align: center
}
.modal-campaign .modal-in .collabo-box ul {
  overflow: hidden;
  *zoom: 1;
  width: 90%;
  margin: 0 auto;
  padding: 10px 0
}
.modal-campaign .modal-in .collabo-box ul li {
  float: right;
  width: 49%
}
.modal-campaign .modal-in .collabo-box ul li a {
  display: block;
  color: #333;
  width: 100%;
  margin: 0;
  padding: 15px 0;
  background-color: #e7e7e7;
  box-sizing: border-box;
  border-radius: 4px;
  border-bottom: 3px solid #a1a1a1;
  position: relative
}
.modal-campaign .modal-in .collabo-box ul li a::after {
  position: absolute;
  top: 50%;
  right: 6px;
  content: "";
  width: 4px;
  height: 4px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -3px
}
.modal-campaign .modal-in .collabo-box ul li:first-child {
  float: left
}
.modal-campaign .modal-in .collabo-box ul li:first-child a {
  color: #fff;
  background-color: #ff6c00;
  border-bottom: 3px solid #b24b00
}
.modal-campaign .modal-in .collabo-box ul li:first-child a::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff
}
/* Localized */