@import url(//fonts.googleapis.com/css?family=Lato:400,700);
@font-face { font-family: 'Noto Sans CJK JP Regular'; font-style: normal; font-weight: 400; src: local("NotoSansJP-Regular.otf"), url(../webfonts/NotoSansCJKjp-subset-Regular.woff2) format("woff2"), url(../webfonts/NotoSansCJKjp-subset-Regular.woff) format("woff"), url(../webfonts/NotoSansCJKjp-subset-Regular.otf) format("opentype"); }

@font-face { font-family: 'Noto Sans CJK JP Medium'; font-style: normal; font-weight: 400; src: local("NotoSansJP-Medium.otf"), url(../webfonts/NotoSansCJKjp-subset-Medium.woff2) format("woff2"), url(../webfonts/NotoSansCJKjp-subset-Medium.woff) format("woff"), url(../webfonts/NotoSansCJKjp-subset-Medium.otf) format("opentype"); }

@font-face { font-family: 'Noto Sans CJK JP Bold'; font-style: normal; font-weight: 400; src: local("NotoSansJP-Bold.otf"), url(../webfonts/NotoSansCJKjp-subset-Bold.woff2) format("woff2"), url(../webfonts/NotoSansCJKjp-subset-Bold.woff) format("woff"), url(../webfonts/NotoSansCJKjp-subset-Bold.otf) format("opentype"); }

.simulation-head-image { background-image: url(../images/pages/simulation/head_image_simulation.jpg); }

.simulation-form-inner { padding: 30px 20px; background-color: #daecef; }

.simulation-form-sample { width: 59%; max-width: 520px; }

.simulation-form-sample .area-list { margin-bottom: 10px; }

.simulation-form-sample .sample-image { width: 100%; height: 360px; padding: 20px 10px; background-color: #FFFFFF; text-align: center; }

.simulation-form-sample .sample-image img { width: 100%; height: auto; }

.simulation-form-table .form-item-name.simulation-form-name p { margin-bottom: 8px; }

.simulation-form-table .form-item-name.simulation-form-name p span.number { width: 30px; height: 30px; background-color: #10abd0; margin-right: 10px; color: #FFFFFF; font-family: 'Lato', Lato, sans-serif !important; font-size: 20px; font-weight: 700; line-height: 30px; text-align: center; }

.simulation-form-submit { margin-top: 60px; text-align: center; }

@media screen and (max-width: 767px) { .simulation-form-inner { padding: 0 10px 10px; }
  .simulation-form-sample { width: 100%; max-width: 100%; }
  .simulation-form-sample .area-list { margin-bottom: 10px; }
  .simulation-form-sample .sample-image { width: 100%; height: 100%; padding: 10px 10px; }
  .simulation-form-table { width: 100%; max-width: 100%; margin-top: 20px; }
  .simulation-form-table .form-item-name.simulation-form-name p { margin-bottom: 8px; }
  .simulation-form-table .form-item-name.simulation-form-name p span.number { width: 24px; height: 24px; margin-right: 10px; font-size: 18px; line-height: 24px; } }

.result-content { margin-top: 60px; background-color: #FFFFFF; padding: 25px 0 0; overflow: hidden;}

.result-content-current { background-image: -webkit-linear-gradient(90deg, #41c4d0 0%, #2fade0 100%); background-image: -moz-linear-gradient(90deg, #41c4d0 0%, #2fade0 100%); background-image: linear-gradient(90deg, #41c4d0 0%, #2fade0 100%); padding: 30px 0px 60px; position: relative; }

.result-content-current-price { text-align: center; }

.result-content-current-price h5, .result-content-current-price p { margin: 0; }

.result-content-current-price p { font-size: 18px; }

.result-content-current-price .current-price-box { display: inline-block; min-width: 420px; margin: 10px 0px 25px; padding: 10px 10px; border: 1px solid #FFFFFF; }

.result-content-current-price .current-price-box h5 strong { display: inline-block; margin-right: 0.15em; font-family: 'Lato', Lato, sans-serif !important; font-size: 34px; letter-spacing: 0.025em; font-weight: 400; }

.result-content-current-price .current-price-box p { font-size: 16px; }

.result-content-current-price .current-price-box p strong { display: inline-block; margin: 0px 0.15em; font-family: 'Lato', Lato, sans-serif !important; font-size: 26px; letter-spacing: 0.025em; font-weight: 400; }

.result-content-current-arrows > span { position: absolute; bottom: 0; width: -webkit-calc(50% - 25px); width: calc(50% - 25px); height: 30px; background-color: #FFFFFF; }

.result-content-current-arrows > span:after { content: ""; position: absolute; width: 0; height: 0; border-style: solid; }

.result-content-current-arrows > span:nth-child(1) { left: 0; }

.result-content-current-arrows > span:nth-child(1):after { right: -25px; border-width: 30px 0 0 25px; border-color: transparent transparent transparent #FFFFFF; }

.result-content-current-arrows > span:nth-child(2) { right: 0; }

.result-content-current-arrows > span:nth-child(2):after { left: -25px; border-width: 0 0 30px 25px; border-color: transparent transparent #FFFFFF transparent; }

.result-content-plans { padding: 50px 25px; }

.result-content-plan-item .plan-item-title { text-align: center; }

.result-content-plan-item .plan-item-title .logo { height: 130px; margin-bottom: 30px; }

.result-content-plan-item .plan-item-title h4 { height: 60px; }

.result-content-plan-item .plan-item-price.blue { background-color: #10abd0; }

.result-content-plan-item .plan-item-price.green { background-color: #41c4d0; }

.result-content-plan-item .plan-item-price .price-box { text-align: center; }

.result-content-plan-item .plan-item-price .price-box-title { height: 60px; border-bottom: 2px solid #FFFFFF; }

.result-content-plan-item .plan-item-price .price-box-title h5 { display: inline-block; height: 100%; line-height: 60px; }

.result-content-plan-item .plan-item-price .price-box-title h5.ic-bulb { position: relative; padding-left: 50px; }

.result-content-plan-item .plan-item-price .price-box-title h5.ic-bulb:after { content: ""; position: absolute; left: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); width: 36px; height: 36px; background-image: url(../images/common/ic_light_bulb.svg); background-position: center; background-repeat: no-repeat; background-size: contain; }

.result-content-plan-item .plan-item-price .price-box-new { padding: 30px 15px 30px; }

.result-content-plan-item .plan-item-price .price-box-new-expect { margin-bottom: 5px; padding: 25px 10px; background-color: #FFFFFF; }

.result-content-plan-item .plan-item-price .price-box-new-expect h6 { display: inline-block; font-size: 24px; }

.result-content-plan-item .plan-item-price .price-box-new-expect h6 strong { font-family: 'Lato', Lato, sans-serif !important; font-size: 42px; letter-spacing: 0.025em; margin-left: 5px; margin-right: 5px; }

.result-content-plan-item .plan-item-price .price-box-new-diff { padding: 15px 10px; background-color: #FFFFFF; }

.result-content-plan-item .plan-item-price .price-box-new-diff p { display: inline-block; margin: 0; font-size: 18px; line-height: 1.35; }

.result-content-plan-item .plan-item-price .price-box-new-diff p strong { font-family: 'Lato', Lato, sans-serif !important; font-size: 26px; letter-spacing: 0.0125em; margin-left: 5px; margin-right: 5px; }

.result-content-plan-item .plan-item-price .price-box-new-diff p strong.jp { font-size: 24px; letter-spacing: 0.0em; }

.result-content-plan-item .plan-item-reduction { width: 100%; height: 280px; margin-top: 20px; text-align: center; position: relative; background-image: url(../images/pages/simulation/plan_item_reduction.png); background-position: center; background-size: cover; }

.result-content-plan-item .plan-item-reduction.blue { background-color: #10abd0; }

.result-content-plan-item .plan-item-reduction.green { background-color: #41c4d0; }

.result-content-plan-item .plan-item-reduction .reduction-value { padding-top: 30px; padding-left: 10px; padding-right: 10px; }

.result-content-plan-item .plan-item-reduction .reduction-value p { display: inline-block; margin: 0; font-size: 18px; }

.result-content-plan-item .plan-item-reduction .reduction-value p strong { font-family: 'Lato', Lato, sans-serif !important; font-size: 45px; letter-spacing: 0.025em; margin-left: 5px; margin-right: 5px; }

.result-content-plan-item .plan-item-reduction .reduction-description { position: absolute; bottom: 20px; width: 100%; padding-left: 10px; padding-right: 10px; }

.result-content-plan-item .plan-item-reduction .reduction-description p { line-height: 1.2; }

.result-content-plan-item .plan-item-reduction .reduction-description p span { font-family: 'Lato', Lato, sans-serif !important; font-size: 105%; letter-spacing: 0.025em; margin-left: 2px; margin-right: 2px; }

.result-content-plan-item .plan-item-link { margin-top: 30px; text-align: center; }

@media screen and (max-width: 767px) { .result-content { margin-top: 30px; padding: 10px 0 0; }
  .result-content-current { padding: 20px 0px 50px; }
  .result-content-current-price p { font-size: 16px; }
  .result-content-current-price .current-price-box { min-width: 0; max-width: 420px; margin: 10px 0px 15px; padding: 10px 30px; }
  .result-content-current-price .current-price-box h5 strong { font-size: 30px; }
  .result-content-current-price .current-price-box p { font-size: 14px; }
  .result-content-current-price .current-price-box p strong { font-size: 22px; }
  .result-content-current-arrows > span { width: -webkit-calc(50% - 20px); width: calc(50% - 20px); height: 25px; }
  .result-content-current-arrows > span:nth-child(1):after { right: -20px; border-width: 25px 0 0 20px; }
  .result-content-current-arrows > span:nth-child(2):after { left: -20px; border-width: 0 0 25px 20px; }
  .result-content-plans { padding: 20px 10px; }
  .result-content-plan-item { margin-bottom: 40px; }
  .result-content-plan-item:last-child { margin-bottom: 0px; }
  .result-content-plan-item .plan-item-title .logo { height: 90px; margin-bottom: 20px; }
  .result-content-plan-item .plan-item-title h4 { height: auto; margin-bottom: 20px; }
  .result-content-plan-item .plan-item-price .price-box-title { height: 50px; }
  .result-content-plan-item .plan-item-price .price-box-title h5 { line-height: 50px; }
  .result-content-plan-item .plan-item-price .price-box-title h5.ic-bulb { padding-left: 40px; }
  .result-content-plan-item .plan-item-price .price-box-title h5.ic-bulb:after { width: 30px; height: 30px; }
  .result-content-plan-item .plan-item-price .price-box-new { padding: 20px 10px 20px; }
  .result-content-plan-item .plan-item-price .price-box-new-expect { margin-bottom: 5px; padding: 20px 10px; }
  .result-content-plan-item .plan-item-price .price-box-new-expect h6 { font-size: 20px; line-height: 1.2; }
  .result-content-plan-item .plan-item-price .price-box-new-expect h6 strong { font-size: 38px; }
  .result-content-plan-item .plan-item-price .price-box-new-diff { padding: 10px 10px; }
  .result-content-plan-item .plan-item-price .price-box-new-diff p { font-size: 16px; }
  .result-content-plan-item .plan-item-price .price-box-new-diff p strong { font-size: 24px; }
  .result-content-plan-item .plan-item-price .price-box-new-diff p strong.jp { font-size: 22px; }
  .result-content-plan-item .plan-item-reduction { height: 280px; margin-top: 15px; }
  .result-content-plan-item .plan-item-reduction .reduction-value { padding-top: 10px; }
  .result-content-plan-item .plan-item-reduction .reduction-value p { font-size: 16px; }
  .result-content-plan-item .plan-item-reduction .reduction-value p strong { font-size: 38px; }
  .result-content-plan-item .plan-item-reduction .reduction-description { bottom: 0px; }
  .result-content-plan-item .plan-item-link { margin-top: 20px; text-align: center; } }

@media screen and (max-width: 640px) { .result-content-plan-item .plan-item-reduction { height: 200px; margin-top: 15px; } }

@media screen and (max-width: 360px) { .result-content-current { padding: 15px 0px 40px; }
  .result-content-current-price p { font-size: 15px; }
  .result-content-current-price .current-price-box { margin: 10px 0px 15px; padding: 10px 5px; }
  .result-content-current-price .current-price-box h5 strong { font-size: 28px; }
  .result-content-current-price .current-price-box p strong { font-size: 22px; }
  .result-content-current-arrows > span { width: -webkit-calc(50% - 15px); width: calc(50% - 15px); height: 20px; }
  .result-content-current-arrows > span:nth-child(1):after { right: -15px; border-width: 20px 0 0 15px; }
  .result-content-current-arrows > span:nth-child(2):after { left: -15px; border-width: 0 0 20px 15px; } }

.reference-content { margin-top: 80px; }

.reference-price-table { margin-top: 30px; padding: 20px; background-color: #FFFFFF; }

.reference-price-note { margin-top: 10px; }

@media screen and (max-width: 767px) { .reference-content { margin-top: 50px; }
  .reference-price-table { margin-top: 20px; padding: 10px; background-color: #FFFFFF; } }

.notification-note { margin-top: 30px; }

@media screen and (max-width: 767px) { .notification-note { margin-top: 20px; } }

.display-sp{
    display: none;
}
.text-size-18{
    font-size: 18px;
}
.text-size-29{
    font-size: 29px;
    letter-spacing: 0;
}
.text-size-40{
    font-size: 40px;
}
.text-size-50{
    font-size: 50px;
}
span.row{
    display: block;
    padding: 0 0 10px 0;
}
.text-type-number{
    font-family: 'Lato', Lato, sans-serif !important;
    letter-spacing: 0.025em;
}
.label-blue{
    background-color: #10abd0;
    display: inline-block;
    padding: 3px 12px;
    color: #FFFFFF;
    font-size: 14px;
    letter-spacing: 0.045em;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
    margin: 0 0 8px 0;
}
@media screen and (max-width: 994px){
    .text-size-34{
        font-size: 30px;
    }
    .text-size-50{
        font-size: 40px;
    }
    .text-size-40{
        font-size: 35px;
    }
}
@media screen and (max-width: 767px) {
    .display-pc{
        display: none;
    }
    .display-sp{
        display: block;
    }
    .text-size-18{
        font-size: 15px;
    }
    .text-size-40{
        font-size: 25px;
    }
    .text-type-number{
        font-family: 'Lato', Lato, sans-serif !important;
        letter-spacing: 0.025em;
    }
}
@media screen and (max-width: 374px){
    .text-size-40{
        font-size: 20px;
    }
    .text-size-50{
        font-size: 40px;
    }
}
.result-section .box-bg-beige {
    margin: 0 25px 25px;
}
.detail-block {
    margin-top: 80px;
}
.titlestyle4{
    text-align: center;
    font-size: 28px;
    font-family: 'Noto Sans CJK JP Medium', sans-serif !important;
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
}
span.row{
    display: block;
    padding: 0 0 10px 0;
}

.graph-item {
    border: 1px solid #bebebe;
    padding: 20px;
    margin: 0 0 10px 0;
}

.graph-item img{
    width: 100%;
}

@media screen and (max-width: 767px) {
    .result-section .box-bg-beige {
        margin: 0 10px 10px;
    }
    .detail-block {
        margin-top: 30px;
    }
    .titlestyle4{
        font-size: 20px; line-height: 1.2;
    }
    span.row{
        padding: 0 0 5px 0;
    }
    .graph-item{
        padding: 10px;
        margin: 0 0 10px 0;
    }
}

.simulation-result-tab input[type=radio]  {
    display: none;
}
.simulation-result-tab {
    overflow: hidden;
}
.simulation-result-tab .tab-item {
    width: 50%;
    float: left;
    padding: 20px 0 15px 0px;
    line-height: 1.6em;
    cursor: pointer;
    background-color: #f3f3f3;
    border-top: 8px #e2e2e2 solid;
    box-sizing: border-box;
    font-weight: bold;
    color: #666666;
    font-size: 18px;
    border-bottom: #dddddd solid 1px;
    border-left: #dddddd solid 1px;
    text-align: center;
}
.simulation-result-tab .tab-item-fast {
    border-left: none;
}
.simulation-result-tab input:checked + .tab-item {
    border-top: 8px #10abd0 solid;
    color: #10abd0;
    border-bottom: none;
    background-color: #ffffff;
}
.simulation-result-tab .tab-item-img img{
    width: auto;
    height: 130px;
}
.simulation-result-content {
    padding: 35px 25px;
    clear: both;
}
@media screen and (max-width: 767px){
    .simulation-result-tab .tab-item-fast {
        padding: 13px 0 11px 0px;
    }
    .simulation-result-tab .tab-item {
        padding: 10px 0 10px 0px;
        border-top: 4px #e2e2e2 solid;
    }
    .simulation-result-tab input:checked + .tab-item {
        border-top: 4px #10abd0 solid;
    }
    .simulation-result-tab .tab-item-img img{
        width: 76%;
        height: auto;
    }
    .simulation-result-content{
        padding: 15px 10px;
    }
}
.box-border-blue{
    border: 2px #10abd0 solid;
    line-height: 1.6em;
}
.box-border-blue p,
.box-border-blue-body p{
    margin: 0;
    line-height: 1.6em;
}
.box-border-blue-head{
    background: #10abd0;
    color: #ffffff;
    padding: 13px 25px 13px;
    text-align: center;
}
.box-border-blue-head .title{
    font-size: 25px;
    font-weight: 400;
    letter-spacing: 0.05em;
}
.box-border-blue-head .title .ic-bulb{
    padding: 4px 0 0 60px;
    background: url(../images/common/ic_light_bulb.svg) no-repeat left center;
    background-size: 46px;
}
.box-border-blue-body{
    padding: 30px 25px 0 25px;
    text-align: center;
    line-height: 1.6em;
}
.box-border-blue .icon-arrows{
    position: relative;
    display: flex;
}
.box-border-blue .icon-arrows:before {
    position: absolute;
    content: "";
    top: 50%;
    left: 48.5%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 38px 0 38px 30px;
    border-color: transparent transparent transparent #10abd0;
}
.box-border-blue .col2{
    overflow: hidden;
}
.box-border-blue .col2 .col{
    width: 49%;
    float: left;
    margin-left: 2%;
    margin-bottom: 20px;
    box-sizing: border-box;
    position: relative;
}
.box-border-blue .col2 .col:first-child{
    margin-left: 0;
    clear: left;
}
.box-border-blue .icon-arrows .col{
    width: 45%;
    margin-left: 10%;
}
.box-border-blue .icon-arrows .col:first-child{
    margin-left: 0;
}
.box-border-blue-body .sub-title{
    background: #10abd0;
    font-size: 20px;
    color: #ffffff;
    padding: 5px 0 4px 2px;
    font-weight: 400;
    margin: 0 0 20px 0;
    line-height: 1.3em;
}
.box-border-blue-body .color-orange .sub-title{
    background: #f3aa31;
    font-size: 18px;
    padding: 6px 0 5px 2px;
}
.box-border-blue-body .color-blue .sub-title{
    background-image: -webkit-linear-gradient(90deg, #41c4d0 0%, #2fade0 100%);
    background-image: -moz-linear-gradient(90deg, #41c4d0 0%, #2fade0 100%);
    background-image: linear-gradient(90deg, #41c4d0 0%, #2fade0 100%);
    padding-right: 34px;
}
.box-border-blue-body .title{
    font-size: 28px;
    font-family: 'Noto Sans CJK JP Medium', sans-serif !important;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 25px 0
}
.box-border-blue-body .text-strong{
    font-weight: 600;
    font-size: 24px;
    margin: 0 0 5px 0;
    letter-spacing: 0.075em;
}
.box-border-blue-body .color-blue .circle-text{
    background: #41c4d0;
    color: #ffffff;
    border-radius:50px;
    width: 90px;
    height: 90px;
    position: absolute;
    top: -25px;
    right: -12px;
    padding: 23px 0 0 0;
    line-height: 1.4em;
    border: 2px solid #ffffff;
    font-weight: 400;
    font-size: 18px;
}
.box-border-blue-body .color-orange .text-color{
    color: #f3aa31;
}
.box-border-blue-body .color-blue .text-color{
    color: #10abd0;
}

@media screen and (max-width: 994px){
    .box-border-blue-body{
        padding: 30px 15px 0 15px;
    }
    .box-border-blue .icon-arrows:before {
        border-width: 28px 0 28px 20px;
    }
    .box-border-blue .icon-arrows .col{
        width: 48%;
        margin-left: 7%;
    }
    .box-border-blue-body .sub-title{
        font-size: 16px;
    }
    .box-border-blue-body .color-orange .sub-title{
        font-size: 14px;
    }
    .box-border-blue-body .color-blue .sub-title{
        padding-right: 50px;
    }
    .box-border-blue-body .title{
        font-size: 26px;
        line-height: 1.2;
        margin: 0 0 18px 0
    }
    .box-border-blue-body .text-strong{
        font-size: 20px;
        margin: 0 0 5px 0;
        letter-spacing: 0.075em;
    }
    .box-border-blue-body .color-blue .circle-text{
        width: 75px;
        height: 75px;
        top: -25px;
        right: -8px;
        padding: 20px 0 0 0;
        font-size: 15px;
    }
}
@media screen and (max-width: 767px){
    .box-border-blue-head{
        padding: 3px 5px 5px;
    }
    .box-border-blue-head .title{
        font-size: 16px;
        letter-spacing: 0;
    }
    .box-border-blue-head .title .ic-bulb{
        padding: 4px 0 0 30px;
        background: url(../images/common/ic_light_bulb.svg) no-repeat left center;
        background-size: 25px;
    }
    .box-border-blue-body{
        padding: 10px 10px 0 10px;
    }
    .box-border-blue .icon-arrows{
        display: block;
    }
    .box-border-blue .icon-arrows:before {
        top: 48.5%;
        left: 43%;
        border-width: 20px 28px 20px 28px;
        border-color: #10abd0 transparent transparent transparent;
    }
    .box-border-blue .col2 .col{
        width: auto;
        float: none;
        margin-left: 0;
        margin-bottom: 10px;
    }
    .box-border-blue .col2 .col:first-child{
        margin-left: 0;
        margin-bottom: 45px;
    }
    .box-border-blue .icon-arrows .col{
        width: auto;
        margin-left: 0;
    }
    .box-border-blue .icon-arrows .col:first-child{
        margin-left: 0;
    }
    .box-border-blue-body .sub-title{
        font-size: 16px;
        padding: 5px 0 4px 2px;
        margin: 0 0 13px 0;
    }
    .box-border-blue-body .color-orange .sub-title{
        font-size: 14px;
        padding: 6px 0 5px 2px;
    }
    .box-border-blue-body .color-blue .sub-title{
        padding-right: 40px;
    }
    .box-border-blue-body .title{
        font-size: 22px;
        line-height: 1.2;
        margin: 0 0 13px 0
    }
    .box-border-blue-body .text-strong{
        font-size: 20px;
        margin: 0 0 5px 0;
        letter-spacing: 0.075em;
    }
    .box-border-blue-body .color-blue .circle-text{
        width: 70px;
        height: 70px;
        top: -25px;
        right: -5px;
        padding: 18px 0 0 0;
        font-size: 14px;
    }
}
@media screen and (max-width: 374px){
    .box-border-blue-head{
        padding: 3px 3px 5px;
    }
    .box-border-blue-head .title{
        font-size: 13.5px;
    }
    .box-border-blue-head .title .ic-bulb{
        padding: 2px 0 0 25px;
        background: url(../images/common/ic_light_bulb.svg) no-repeat left center;
        background-size: 20px;
    }
    .box-border-blue-body .sub-title{
        font-size: 14px;
    }
    .box-border-blue-body .color-orange .sub-title{
        font-size: 12px;
    }
    .box-border-blue-body .color-blue .sub-title{
        padding-right: 0px;
        padding-left: 8px;
        text-align: left;
    }
    .box-border-blue-body .color-blue .circle-text{
        width: 63px;
        height: 63px;
        top: -20px;
        right: -5px;
        padding: 15px 0 0 0;
        font-size: 13px;
    }
}
table.data-table.monthly-fee-details td,
table.data-table.monthly-fee-details th{
    vertical-align: top;
}
table.data-table.monthly-fee-details thead th:first-child,
table.data-table.monthly-fee-details tbody th:first-child{
    width: 12%;
}
table.data-table.monthly-fee-details tbody tr {
    border-bottom: 1px solid #bebebe;
    background-color: #ffffff;
}
table.data-table.monthly-fee-details tbody th:first-child,
table.data-table.monthly-fee-details tbody th:nth-child(2)
{
    font-weight: normal;
}
table.data-table.monthly-fee-details .fee-details{
    width: 250px;
}
@media screen and (max-width: 767px){
    table.data-table.monthly-fee-details thead {
        display: none;
    }
    table.data-table.monthly-fee-details tbody tr{
        border: none;
    }
    table.data-table.monthly-fee-details tbody th,
    table.data-table.monthly-fee-details tbody td{
        display: block;
        width: 100%;
        padding: 8px 0 8px 7px;
    }
    table.data-table.monthly-fee-details tbody th:first-child{
        font-weight: bold;
        background-color: #daecef;
        width: 100%;
        text-align: left;
        padding: 8px 0 8px 10px;
        font-size: 16px;
    }
    table.data-table.monthly-fee-details tbody td{
        border-bottom: 1px solid #bebebe;
        text-align: right;
        padding-right: 62px;
        overflow: hidden;
    }
    table.data-table.monthly-fee-details tbody td:last-child {
        border-bottom: none;
    }
    table.data-table.monthly-fee-details tbody td:nth-of-type(3) {
        padding-right: 0px;
    }
    table.data-table.monthly-fee-details tbody td .sp-caption{
        text-align: left;
        display: inline-block;
        float:left;
        padding: 2px 0 0 0;
    }
    table.data-table.monthly-fee-details tbody td:nth-of-type(1) .sp-caption:before {
        content: "電気使用量";
    }
    table.data-table.monthly-fee-details tbody td:nth-of-type(2) .sp-caption:before {
        content: "現在の電気料金";
    }
    table.data-table.monthly-fee-details tbody td:nth-of-type(3) .sp-caption:before {
        content: "自然電力の電気料金";
    }
    table.data-table.monthly-fee-details tbody td:nth-of-type(4) .sp-caption:before {
        content: "差額";
    }
}
.accordion-button {
    color: #666666;
    cursor: pointer;
    display: inline-block;
    border: 1px solid #cccccc;
    border-radius: 25px;
    font-size: 11px;
    text-align: center;
    margin: 0 0 4px 10px;
    line-height: 1em;
    padding: 5px 13px 4px 7px;
    vertical-align: middle;
    position: relative;
    width: 55px;
}
.accordion-button:before {
    content: "詳細";
    letter-spacing: 2px;
}
.accordion-button:after {
    content: "";
    position: absolute;
    right: 6px;
    top: 7px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-top: 1px solid #888888;
    border-right: 1px solid #888888;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}
.accordion-content {
    position: relative;
    overflow: hidden;
    height: 0px;
}
.accordion-content:before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
}
.accordion-trigger
{
    display: none;
}
.accordion-trigger:checked ~ .accordion-button:before {
    content: "閉じる";
    background: url(../images/arrow_pink_b_s.png) no-repeat right 1px;
    background-size: 12px;
    letter-spacing: 0px;
}
.accordion-trigger:checked ~ .accordion-button:after {
    top: 8.5px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.accordion-trigger:checked ~ .accordion-content {
    height: auto;
}

.accordion-trigger:checked ~ .accordion-content::before {
    display: none;
}
.monthly-fee-details .label-blue{
    font-size: 12px;
    line-height: 1;
}
.fee-details-list {
    margin: 0 20px;
}
.fee-details-list li{
    font-size: 12.5px;
    text-align: left;
    display: block;
    letter-spacing: 0.03px;
    line-height: 1.5em;
    overflow: hidden;
    padding: 3px 0 0;
}
.fee-details-list .text-right{
    text-align: right;
    display: inline-block;
    float: right;
}
@media screen and (max-width: 767px){
    .accordion-button {
        margin: 0 0 2px 3px;
    }
    .accordion-content {
        text-align: center;
        min-width: 200px;
        float: right;
        clear: both;
    }
    .label-blue.small{
        font-size: 11px;
        line-height: 1;
        margin: 3px 0 5px 0;
    }
    .fee-details-list {
        margin: 0;
    }
}
.wrap{
    overflow: hidden;
    width: 100%;
}
.left-1column{
    width: 33.3333%;
    float: left;
}
.right-2column{
    width: 66.6666%;
    float: right;
}
.form-item .form-item-radio.half-1column{
    width: 50%;
    float: left;
    padding-right: 1%;
}
.input-value{
    font-size: 17px;
    letter-spacing: 1px;
}
.input-value select{
    width: 90px;
}
.input-value input[type="text"]{
    width: 130px;
}
.output-value{
    margin: 30px 0 0 0;
}
.form-item .output-value .caption{
    line-height: 1;
    margin: 0 0 10px 0;
}
.form-item .output-value .caption small{
    display: inline-block
}
.output-value-details{
    display: table;
    width: 100%;
}
.output-value .row{
    display: table-row;
}
.output-value .monthly{
    display: table-cell;
    width: 75%;
}
.output-value .yearly{
    display: table-cell;
    vertical-align: middle;
    width: 25%;
    text-align: center;
}
.monthly-list{
    overflow: hidden;
    margin: 0 0 10px 0;
}
.monthly-list .monthly-item{
    width: 70px;
    float: left;
    margin: 3px 8px 3px 0;
}
.monthly-list .monthly-item dt{
    text-align: center;
    font-size: 12.5px;
    color: #666666;
    font-weight: bold;
}
.monthly-list .monthly-item dd{
    margin: 0;
}
.monthly-list input[type="text"],
.monthly-item dd .input-inactive{
    padding: 3px;
    height: 40px;
    text-align: center;
    color: #000000;
    font-weight: bold;
    font-size: 17px;
    border: none;
}
.monthly-item dd .input-inactive{
    display: block;
    width: 100%;
    background: #ffffff;
    opacity: 0.4;
    padding: 7px 3px 0;
}
.monthly-option{
    overflow: hidden;
}
.monthly-option li{
    float: left;
    width: 231px;
}
.monthly-option li label{
    margin: 0 10px 0 -3px;
}
.form-item .form-item-checkbox .monthly-option  input[type="checkbox"] + label{
    font-size: 16px;
}
.yearly{
    color: #10abd0;
    font-weight: bold;
    padding-left: 5px;
}
.yearly .title{
    font-size: 18px;
    line-height: 1.4;
    letter-spacing: 1px;
}
.yearly p{
    line-height: 1;
    margin: 5px 0;
}
.form-item .caption{
    line-height: 1.4;
    margin: 0 0 10px 0;
    font-size: 17px;
}
.form-item.last-item{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
@media screen and (max-width: 994px){
    .left-1column{
        padding-right: 1.5%;
    }
    .form-item .form-item-radio.half-1column{
        width: auto;
        float: none;
        padding-right: 1.5%;
    }
}
@media screen and (max-width: 767px){
    .left-1column,
    .right-2column,
    .form-item .form-item-radio.half-1column{
        width: auto;
        float: none;
        padding-right: 0;
    }
    .input-value{
        font-size: 16px;
    }
    .input-value select{
        margin-bottom: 5px;
    }
    .output-value{
        margin: 20px 0 0 0;
    }
    .form-item .output-value .caption{
        font-size: 16px;
        margin: 0 0 10px 0;
    }
    .form-item .output-value .caption small{
        display: block;
        margin: 10px 0 8px 0;
        line-height: 1.5;
        font-size: 14px;
    }
    .output-value-details,
    .output-value .row{
        display: block;
    }
    .output-value .monthly{
        display: block;
        width: auto;
    }
    .output-value .yearly{
        display: block;
        width: auto;
    }
    .monthly-list{
        margin: 0 -2% 10px 0;
    }
    .monthly-list .monthly-item{
        width: 31.333%;
        margin: 3px 2% 3px 0;
    }
    .monthly-option li{
        float: none;
        width: auto;
    }
    .monthly-option li label{
        margin: 0 0 0 -3px;
    }
    .yearly .wrap{
        float: right;
        margin: 5px auto 0;
        display: inline-block;
        width: auto;
    }
    .yearly .title{
        float: left;
        font-size: 16px;
        padding: 7px 7px 0 0;
    }
    .yearly p{
        float: left;
        line-height: 1;
        margin: 0;
    }
    .form-item .form-item-radio.half-1column{
        margin: -5px 0 15px;
    }
    .form-item .caption{
        font-size: 16px;
        margin: 0 0 10px 0;
    }
}
.radio-buttons-4rows .form-item {
    overflow: hidden;
    border: none;
    margin: 0 -13px 0 0;
}
.radio-buttons-4rows .form-item .form-item-radio {
    max-width: 100%;
}
.radio-buttons-4rows .form-item .form-item-radio input[type=radio] + label {
    display: inline-block;
    width: 23.5%;
    float: left;
    border: 2px solid #dddddd;
    border-radius: 4px;
    margin: 0 1.5% 0 0;
    padding: 0;
    text-align: center;
    font-size: 18px;
    color: #cccccc;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.8;
}

.radio-buttons-4rows .form-item .form-item-radio input[type=radio] + label:before {
    border: none;
    width: 0;
    height: 0;
}
.radio-buttons-4rows .form-item .form-item-radio input[type=radio]:checked + label {
    position: relative;
    border-color: #10abd0;
    color: #10abd0;
}
.radio-buttons-4rows .form-item .form-item-radio input[type=radio]:checked + label:before {
    content: "";
    position: absolute;
    right: -10px;
    top: -10px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #10abd0;
    left: auto;
}
.radio-buttons-4rows .form-item .form-item-radio input[type=radio]:checked + label:after {
    content: "";
    position: absolute;
    right: -3px;
    top: 1px;
    width: 16px;
    height: 5px;
    border-bottom: 2px solid #FFFFFF;
    border-left: 2px solid #FFFFFF;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: auto; border-radius: 0;
    background-color: transparent;
}
@media screen and (max-width: 767px){
    .radio-buttons-4rows .form-item {
        margin: -20px -13px 0 0;
        padding-bottom: 5px;
    }
    .radio-buttons-4rows .form-item .form-item-radio{
        padding: 8px 0 0;
    }
    .radio-buttons-4rows .form-item .form-item-radio input[type=radio] + label {
        width: 45.8%;
        margin: 0 4% 2.5% 0;
        font-size: 15px;
        line-height: 2;
    }
    .radio-buttons-4rows .form-item .form-item-radio input[type=radio]:checked + label:before {
        right: -8px;
        top: -8px;
        width: 25px;
        height: 25px;
    }
    .radio-buttons-4rows .form-item .form-item-radio input[type=radio]:checked + label:after {
        right: -3px;
        top: 1px;
        width: 14px;
        height: 5px;
    }
}

.print-button,.download-button, .bulk-input-button{
    position: relative;
    display: inline-block;
    padding: 0.25em 0.5em;
    text-decoration: none;
    color: #FFF;
    background: #10abd0;
    border-radius: 4px;
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
    font-weight: bold;
    border: solid 2px #4169E1;
}
.print-button:active{
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    border-bottom: none;
}

.print-off {
    display: none;
}

@media print {
    #print {
        zoom: 0.70;
        -webkit-print-color-adjust: exact;
        size: A4;
        margin: 0;
    }
}
@page {
    margin: 20px 20px 35px 20px;
}

.simulation-form .tab {
    margin-bottom: 15px;
}
.simulation-form .tab ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.simulation-form .tab li {
    flex-grow: 1;
}
.simulation-form .tab li.current:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-top: 15px solid #10abd0;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
}
.simulation-form .tab li.current a {
    color: #fff;
    background-color: #10abd0;
}
.simulation-form .tab li a {
    display: block;
    padding: 25px 0;
    border: 1px solid #10abd0;
    font-family: 'Noto Sans CJK JP Medium', sans-serif !important;
    font-size: 18px;
    font-weight: 400;
    text-align: center;
    color: #10abd0;
}
.simulation-form-table[data-corporation] {
    display: none;
}
.simulation-form-table[data-corporation] .form-item .wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.simulation-form-table[data-corporation] .form-item .wrap .form-item-radio {
    width: 33%;
    max-width: none;
    box-sizing: border-box;
    padding-left: 20px;
}

.simulation-form-table[data-corporation] .form-item .wrap .form-item-label {
    width: 33%;
    max-width: none;
    box-sizing: border-box;
    padding-left: 50px;
    padding-top: 30px
}

.simulation-form-table[data-corporation] .last-item .form-item-radio:last-of-type {
    width: 33%;
    max-width: none;
    box-sizing: border-box;
    padding-left: 20px;
}
@media screen and (max-width: 994px) {
    .simulation-form-table[data-corporation] .form-item .wrap .form-item-radio {
        width: 100%;
    }
    .simulation-form-table[data-corporation] .form-item .wrap .form-item-label {
        width: 100%;
        font-size: 100%;
    }
}
@media screen and (max-width: 640px) {
    .simulation-form-table[data-corporation] .form-item .wrap .form-item-radio {
        padding-left: 0;
    }
    .simulation-form-table[data-corporation] .form-item .wrap .form-item-label {
        padding-left: 0;
        font-size: 15px;
    }
}
.simulation-form-table[data-corporation] .form-item .wrap .form-item-radio:first-child {
    padding-top: 0;
}

.simulation-form-table[data-corporation] .form-item .wrap .content {
    width: 66.6666%;
    padding-top: 4px;
}
.simulation-form-table[data-corporation] .last-item .content:last-of-type{
    width: 66.6666%;
    padding-top: 30px;

}

.simulation-form-table[data-corporation] .form-item .wrap .content .checkbox {
    width: 66.6666%;
    padding-top: 4px;
    margin-bottom: 12px;
}

@media screen and (max-width: 994px) {
    .simulation-form-table[data-corporation] .form-item .wrap .content {
        width: 100%;
        padding-left: 50px;
    }
    .simulation-form-table[data-corporation] .last-item .content:last-of-type{
        width: 100%;
        padding-top: 15px;
    }
}
@media screen and (max-width: 640px) {
    .simulation-form-table[data-corporation] .form-item .wrap .content {
        padding-left: 0;
    }
    .simulation-form-table[data-corporation] .last-item .content:last-of-type{
        width: 100%;
        padding-top: 15px;
    }
}
.simulation-form-table[data-corporation] .form-item .wrap .content .input-value {
    display: inline-block;
}
.simulation-form-table[data-corporation] .form-item .wrap .content .input-value select {
    width: auto;
    padding-right: 35px;
}
.simulation-form-table[data-corporation] .form-item .wrap .content .week {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
@media screen and (max-width: 640px) {
    .simulation-form-table[data-corporation] .form-item .wrap .content .week {
        display: block;
    }
}
.simulation-form-table[data-corporation] .form-item .wrap .content .week .day {
    margin: 15px 50px 0 0;
}
@media screen and (max-width: 640px) {
    .simulation-form-table[data-corporation] .form-item .wrap .content .week .day {
        margin-right: 0;
    }
}
.simulation-form-table[data-corporation] .form-item .wrap .content .week .day:nth-child(2n) {
    margin-right: 0;
}
.simulation-form-table[data-corporation] .form-item .wrap .content .week .day input {
    width: 60px;
    height: 40px;
    margin: 0 10px;
    padding: 3px;
    text-align: center;
    color: #000000;
    font-weight: bold;
    font-size: 17px;
    border: none;
}

.simulation-form-table[data-corporation] .form-item .wrap .content .week .day select {
    width: 75px;
    height: 40px;
    margin: 0 10px;
    padding: 6px;
    text-align: center;
    color: #000000;
    font-size: 17px;
    border: none;
    background-size: 9px 9px;
    background-position-x: calc(100% - 8px);
    background-position-y: center;
}

.simulation-form-table[data-corporation] .form-item .wrap .checkbox01-input{
    display: none;
}
.simulation-form-table[data-corporation] .form-item .wrap .checkbox01-parts{
    padding-left: 20px;
    position:relative;
    margin-right: 15px;
}
@media screen and (max-width: 994px) {
    .simulation-form-table[data-corporation] .form-item .wrap .checkbox01-parts{
        margin-right: 10px;
    }
}
@media screen and (max-width: 640px) {
    .simulation-form-table[data-corporation] .form-item .wrap .checkbox01-parts{
        margin-right: 10px;
    }
}

.simulation-form-table[data-corporation] .form-item .wrap .checkbox01-parts::before{
    top: 0;
    left: 0;
    width: 15px;
    height: 15px;
    background-color: #FFFFFF;
    border: 1px solid #bebebe;
    content: "";
    position: absolute;
    border-radius: 50%;
    box-sizing: border-box;
}

@media screen and (max-width: 994px) {
    .simulation-form-table[data-corporation] .form-item .wrap .checkbox01-parts{
        white-space: nowrap;
    }
}
@media screen and (max-width: 640px) {
    .simulation-form-table[data-corporation] .form-item .wrap .content .non_working_days_checkbox{
        white-space: nowrap;
    }
}

.simulation-form-table[data-corporation] .form-item .wrap .checkbox01-input:checked + .checkbox01-parts::after{
    display: block;
    top: 2px;
    left: 3px;
    width: 10px;
    height: 10px;
    background-color: #10abd0;
    content: "";
    position: absolute;
    border-radius: 50%;
    box-sizing: border-box;
}

.download-input-form { margin-bottom: 60px; }

.download-input-form-table { padding: 30px; background-color: #daecef; }

.download-input-form-table .form-item:after { content: ''; display: block; clear: both; }

.download-input-form-table .form-item:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }

.download-input-form-table .form-item p.caption { margin: 0.25em 0px; font-size: 14px; }

.download-input-form-table .form-item p.text-right { float: right; text-align: right; margin: 0; color: #666666; font-size: 14px; }

.download-input-form-table .form-item .form-item-name { width: 28.5%; max-width: 250px; padding-top: 15px; padding-left: 10px; }

.download-input-form-table .form-item .form-item-name label { font-size: 18px; font-weight: 700; }

.download-input-form-table .form-item .form-item-name span.required { display: inline-block; width: 40px; height: 24px; color: #FFFFFF; font-family: 'Noto Sans CJK JP Medium', sans-serif !important; font-size: 12px; text-align: center; vertical-align: top; margin-top: 1px; padding-top: 2px; border-radius: 4px; background-color: #ff8178; }

.download-input-form-table .form-item .form-item-input, .download-input-form-table .form-item .form-item-select, .download-input-form-table .form-item .form-item-radio { width: 71.5%; }

.download-input-form-table .form-item .form-item-input input[type="text"], .download-input-form-table .form-item .form-item-input input[type="email"], .download-input-form-table .form-item .form-item-input input[type="tel"], .download-input-form-table .form-item .form-item-input input[type="password"], .download-input-form-table .form-item .form-item-input select, .download-input-form-table .form-item .form-item-select input[type="text"], .download-input-form-table .form-item .form-item-select input[type="email"], .download-input-form-table .form-item .form-item-select input[type="tel"], .download-input-form-table .form-item .form-item-select input[type="password"], .download-input-form-table .form-item .form-item-select select, .download-input-form-table .form-item .form-item-radio input[type="text"], .download-input-form-table .form-item .form-item-radio input[type="email"], .download-input-form-table .form-item .form-item-radio input[type="tel"], .download-input-form-table .form-item .form-item-radio input[type="password"], .download-input-form-table .form-item .form-item-radio select { margin-top: 2px; margin-bottom: 2px; }

.download-input-form-table .form-item .form-item-input input[type="text"].length2, .download-input-form-table .form-item .form-item-input input[type="email"].length2, .download-input-form-table .form-item .form-item-input input[type="tel"].length2, .download-input-form-table .form-item .form-item-input input[type="password"].length2 { width: 2.5em; }

.download-input-form-table .form-item .form-item-input input[type="text"].length4, .download-input-form-table .form-item .form-item-input input[type="email"].length4, .download-input-form-table .form-item .form-item-input input[type="tel"].length4, .download-input-form-table .form-item .form-item-input input[type="password"].length4 { width: 4.0em; }

.download-input-form-table .form-item .form-item-input span { display: inline-block; }

.download-input-form-table .form-item .form-item-input span.size100 { width: 100px; }

.download-input-form-table .form-item .form-item-input span.size150 { width: 150px; }

.download-input-form-table .form-item .form-item-select.auto-size select { width: auto !important; max-width: auto !important; padding-right: 35px; }

.download-input-form-table .form-item .form-item-radio input[type=radio] + label { margin-right: 30px; }

.download-input-form-table .form-item .form-item-radio input[type=radio] + label:nth-child(4) { margin-right: 30px; }

.download-input-form-table .form-item .input-rule { color:red;font-weight:bold;}

@media screen and (max-width: 767px) { .download-input-form { margin-bottom: 30px; }
    .download-input-form-table { padding: 20px 10px 20px; }
    .download-input-form-table .form-item p.caption { font-size: 12px; }
    .download-input-form-table .form-item p.text-right { font-size: 12px; }
    .download-input-form-table .form-item .form-item-name { width: 100%; max-width: 100%; padding-top: 5px; padding-left: 0px; }
    .download-input-form-table .form-item .form-item-name label { font-size: 16px; }
    .download-input-form-table .form-item .form-item-name span.required { width: 36px; height: 20px; font-size: 12px; padding-top: 1px; }
    .download-input-form-table .form-item .form-item-input, .download-input-form-table .form-item .form-item-select, .download-input-form-table .form-item .form-item-radio { width: 100%; }
    .download-input-form-table .form-item .form-item-input, .download-input-form-table .form-item .form-item-select { margin-top: 4px; }
    .download-input-form-table .form-item .form-item-input span.size100 { width: 80px; }
    .download-input-form-table .form-item .form-item-input span.size150 { width: 120px; }
    .download-input-form-table .form-item .form-item-select.auto-size select { padding-right: 20px; }
    .download-input-form-table .form-item .form-item-radio input[type=radio] + label { margin-right: 15px; }
    .download-input-form-table .form-item .form-item-radio input[type=radio] + label:nth-child(4) { margin-right: 15px; } }

@media screen and (max-width: 360px) { .download-input-form-table .form-item .form-item-input span.size100 { width: 75px; } }

.download-form-link { margin-top: 60px; text-align: center; }

.download-form-link a { margin-top: 20px; }

.download-form-link a:first-child { margin-top: 0; }

@media screen and (max-width: 767px) { .apply-form-notification { margin-top: 40px; }
    .download-form-link { margin-top: 40px; } }

.simulation-result-tab .tab-item {
    width: 33.33333333%;
}
@media screen and (max-width: 767px) {
    .simulation-result-tab .tab-item-fast {
        padding: 10px 0 10px 0px;
    }
}
@media screen and (max-width: 980px) {
    .simulation-result-tab .tab-item-img img {
        height: auto;
    }
}

#loading {
    display: table;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fff;
    opacity: 0.8;
}

#loading .loadingMsg {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    padding-top: 140px;
    background: url(../images/common/gif-loading.gif) center center no-repeat;
    background-size: auto 100px
}
