/* Calc */

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
}

input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.p-calc-contain {
    max-width: 1000px;
    margin: auto;
}

.page_html_h2 {
    padding-top: 20px;
    text-align: center;
    font-family: 'Noto Sans Japanese', "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    font-size: 28px;
    color: #333;
}

.p-calc {
    padding: 0 15px;
}

#sec1 .midashi span {
    color: #aa1f24
}

#sec1 .midashi span.min {
    font-size: 21px;
    color: #242c69
}

#sec1 .top_into {
    font-size: 18px;
    font-weight: 500;
    line-height: 28px;
    text-align: left;
    margin-bottom: 30px;
}

#sec1 .text p {
    font-size: 16px;
    font-weight: 500;
    line-height: 26px;
    text-align: left;
    margin-top: 5px;
    padding-left: 20px;
    text-indent: -17px
}

#calc_blk {
    font-family: 'Noto Sans Japanese', "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    margin-top: 50px;
    padding: 50px 40px;
/*     background-color: #f4f4f7 */
}

#calc_blk .title {
    position: relative;
    padding: 10px;
    text-align: center;
    background-color: #242c69;
    font-weight: 700;
    font-size: 24px;
    color: #fff
}

#calc_blk .title:after {
    content: "";
    display: block;
    position: absolute;
    bottom: -28px;
    top: auto;
    left: 50%;
    width: 0;
    margin-left: -15px;
    border-top: 20px solid #242c69;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-bottom: 10px solid transparent;
    height: 0;
    background-color: hsla(0, 0%, 100%, 0);
    transform: none;
    z-index: 1
}

.visible-print-inline-block {
    display: none!important
}

.single .entry-content .calculator {
    padding: 30px 50px;
    background-color: #fff;
    border: 2px solid #242c69
}

.single .entry-content .calculator h2 {
    margin-top: 25px;
    margin-bottom: 5px;
    text-align: center
}

.step {
    overflow: hidden
}

.single .entry-content .calculator h3 {
    padding: 2px 10px 5px;
    border-radius: 7px 7px 0 0;
    font-size: 26px;
    font-weight: 700;
    background-color: #aa1f24;
    color: #fff;
    text-align: left
}

.single .entry-content .calculator h3.mt {
    margin-top: 50px
}

.single .entry-content .calculator h3>span {
    position: relative;
    top: -2px;
    margin: 0;
    margin-right: 20px;
    letter-spacing: 1px;
    padding: 8px 10px;
    background: #fff;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    color: #aa1f24
}

.single .entry-content .calculator h3>span>span {
    font-size: 22px;
    position: relative;
    top: 3px
}

.calculator dl {
    font-size: 18px
}

.calculator dl.result_dl {
    padding: 0 50px;
    font-size: 18px;
    margin-bottom: 30px;
    margin-top: 28px
}

.calculator dt {
    float: left;
    text-align: center;
    width: 15pc;
    font-weight: 700;
    color: #aa1f24
}

.calculator dd,
.calculator dt {
    padding: 15px 0;
    border-bottom: 3px dotted #aa1f24
}

.calculator dd {
    margin-left: 15pc;
    text-align: left
}

.c_small {
    font-size: 11px;
    font-weight: 400
}

.calculator dd input {
    margin-right: .5em;
    font-size: 18px;
    text-align: right
}

.calculator dd label {
    margin-right: 1em
}

.calculator dd select {
    height: 40px;
    font-size: 18px;
	padding: 5px;
}

.calculator dd label>input {
    margin-right: .5em
}

.calculator .add+p,
.calculator dd,
.calculator dt {
    line-height: 3
}

.calculator .add+p {
    padding-top: 0;
    margin-top: 0;
    font-size: 18px;
    border-bottom: 3px dotted #aa1f24
}

.calculator .add dd,
.calculator .add dt {
    border-bottom: 0
}

.calculator ul {
    list-style-type: none;
    line-height: 2
}

.calculator button.c_submit {
    width: 350px;
    height: 60px;
    background: #FF7144ED;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
    letter-spacing: 0em;
    text-align: center;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "YuMincho";
    border: none;
    margin: 30px auto;
    position: relative;
}

#start::after {
    position: absolute;
    content: '';
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    background-image: url(../image/common/lefg-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
}

#c_back::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 10px;
    transform: translateY(-50%) rotate(180deg);
    width: 25px;
    height: 25px;
    background-image: url(../image/common/lefg-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
}

.calculator button.c_btn_01 {
    background: #e2e2e2;
    background: -moz-linear-gradient(top, #e2e2e2 0, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%);
    background: -webkit-linear-gradient(top, #e2e2e2 0, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%);
    background: linear-gradient(to bottom, #e2e2e2 0, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%);
    filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#e2e2e2', endColorstr='#fefefe', GradientType=0);
    border: 1px solid #a5a5a5;
    box-shadow: rgba(0, 0, 0, .0470588) 0 0 1px 3px;
    -webkit-box-shadow: rgba(0, 0, 0, .0470588) 0 0 1px 3px;
    -moz-box-shadow: rgba(0, 0, 0, .0470588) 0 0 1px 3px;
    width: 300px;
    line-height: 2;
    font-size: 1pc;
    border-radius: 5px;
    margin-top: 10px;
    margin-bottom: 20px
}

.calculator .caution {
    width: 90%;
    margin: 10px auto;
    font-size: 9pt;
    margin-top: 20px
}

.calculator .caution p {
    text-align: left
}

.calculator .attention {
    width: 100%;
    margin: 10px auto;
    font-size: 15px;
    margin-top: 20px;
    color: red
}

#result_item {
    margin-top: 50px;
    padding: 0 0 50px
}

.result_main {
    font-size: 23px;
    color: #242c69;
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 0 10px
}

#result1,
.result_main {
    font-weight: 700;
    text-align: center
}

#result1 {
    margin: 0 7px;
    font-size: 3pc;
    color: #aa1f24
}

#result6,
#result7 {
    text-align: center
}

.result_main span.price {
    font-size: 34px;
    color: #ae332b;
    margin-left: .25em;
    margin-right: .25em
}

#calc_box {
    position: relative
}

#calc_box a#calc_box-position {
    position: absolute;
    top: 5pc
}

.result_after {
    font-size: 24px;
    line-height: 2;
    padding-bottom: 75pt;
    position: relative
}

.result_after span {
    font-size: 35px;
    color: #ff6111;
    font-weight: 700
}

.result_after:after {
    content: "";
    width: 0;
    height: 0;
    border: 60px solid transparent;
    border-top: 60px solid #4e4e4e;
    position: absolute;
    bottom: -50px;
    margin-left: -60px;
    left: 50%
}

.contentLeft .calculator h2,
.contentLeft h2.print-none {
    border-top: 0;
    clear: both
}

h2.print-none img {
    width: 100%;
    height: auto
}

.topSozokusuport .sozokusuport-dsc .calculator dt {
    margin-bottom: 0
}

.topSozokusuport .sozokusuport-dsc .calculator dl {
    margin: 20px auto
}

.calculator dd input[type=radio] {
    width: 20px
}

.calculator button.c_btn_01 {
    margin: 0 auto;
    display: block;
    width: initial
}


/* #start {
    text-align: center;
    width: 100%;
    margin: 1em 0 0;
    cursor: pointer
} */

.calculator dd input {
    line-height: 2em
}

.add dd {
    border-bottom: 0 0!important
}

.center {
    text-align: center
}

.sp_btn {
    display: none
}

button img:hover {
    opacity: .8
}

.top-calculator-wrap {
    margin-bottom: 60px;
    border-radius: 5px;
    overflow: hidden;
    border: 3px solid #103eae
}

.calculator .h2_title {
    font-size: 6vh;
    margin: 3rem 0
}

.result_after {
    text-align: center
}

.result_after_wrap .bnr img {
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .page_html_h2 {
        font-size: 22px;
    }
    #sec1 .top_into {
        font-size: 16px;
        line-height: 26px;
        margin-bottom: 20px;
    }
    #sec1 .text p {
        font-size: 14px;
        line-height: 22px;
    }
    #sec1 .midashi {
        text-align: left;
        font-weight: 700;
        font-size: 14px
    }
    #sec1 .midashi span.min {
        font-size: 13px
    }
    #sec1 .text p {
        padding-left: 20px;
        text-indent: -17px
    }
    #calc_blk {
        margin-top: 30px;
        padding: 20px 10px
    }
    #calc_blk .title {
        padding: 10px;
        font-size: 17px
    }
    .single .entry-content .calculator {
        padding: 30px 15px 20px
    }
    .single .entry-content .calculator h2 {
        margin-top: 25px;
        margin-bottom: 5px;
        text-align: center
    }
    .step {
        overflow: hidden
    }
    .single .entry-content .calculator h3 {
        padding: 2px 10px 5px;
        border-radius: 7px 7px 0 0;
        font-size: 17px
    }
    .single .entry-content .calculator h3.mt {
        margin-top: 30px
    }
    .single .entry-content .calculator h3>span {
        margin-right: 10px;
        padding: 8px 10px;
        font-size: 13px
    }
    .calculator dl,
    .single .entry-content .calculator h3>span>span {
        font-size: 18px
    }
    .calculator dl.result_dl {
        padding: 0 15px;
        font-size: 18px;
        margin-bottom: 30px;
        margin-top: 14px
    }
    .calculator dt {
        float: none;
        padding: 10px 0 0;
        text-align: left;
        width: 100%;
        border-bottom: 0;
        font-size: 1pc
    }
    .calculator dd {
        padding: 10px 0;
        margin-left: 0
    }
    .c_small {
        font-size: 11px;
        font-weight: 400
    }
    .calculator dd input {
        margin-right: .5em;
        font-size: 18px;
        text-align: right
    }
    .calculator dd label {
        margin-right: 1em
    }
    .calculator dd select {
        height: 40px;
        font-size: 18px;
        max-width: 250px;
        width: 100%;
    }
    .calculator dd label>input {
        margin-right: .5em
    }
    .calculator .add+p,
    .calculator dd,
    .calculator dt {
        line-height: 1.4;
        font-size: 1pc
    }
    .calculator .add+p {
        margin-top: 0;
        padding: 0 0 10px;
        font-size: 14px;
        border-bottom: 3px dotted #aa1f24
    }
    .calculator .add dd,
    .calculator .add dt {
        border-bottom: 0
    }
    .calculator ul {
        list-style-type: none;
        line-height: 2
    }
    .calculator button.c_btn_01 {
        background: #e2e2e2;
        background: -moz-linear-gradient(top, #e2e2e2 0, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%);
        background: -webkit-linear-gradient(top, #e2e2e2 0, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%);
        background: linear-gradient(to bottom, #e2e2e2 0, #dbdbdb 50%, #d1d1d1 51%, #fefefe 100%);
        filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#e2e2e2', endColorstr='#fefefe', GradientType=0);
        border: 1px solid #a5a5a5;
        box-shadow: rgba(0, 0, 0, .0470588) 0 0 1px 3px;
        -webkit-box-shadow: rgba(0, 0, 0, .0470588) 0 0 1px 3px;
        -moz-box-shadow: rgba(0, 0, 0, .0470588) 0 0 1px 3px;
        width: 300px;
        line-height: 2;
        font-size: 1pc;
        border-radius: 5px;
        margin-top: 10px;
        margin-bottom: 20px
    }
    .calculator .caution {
        width: 100%;
        margin: 10px auto;
        font-size: 9pt;
        margin-top: 20px
    }
    .calculator .caution p {
        text-align: left
    }
    .calculator .attention {
        margin-top: 20px;
        line-height: 1.4;
        font-size: 13px
    }
    #result_item {
        margin-top: 50px;
        padding: 0 0 50px
    }
    .result_main {
        font-size: 20px;
        margin-top: 30px;
        margin-bottom: 20px;
        padding: 0 10px
    }
    #result1 {
        margin: 0 7px;
        font-size: 30px
    }
    #result6,
    #result7 {
        text-align: center
    }
    .result_main span.price {
        font-size: 34px;
        color: #ae332b;
        margin-left: .25em;
        margin-right: .25em
    }
    #calc_box {
        position: relative
    }
    #calc_box a#calc_box-position {
        position: absolute;
        top: 5pc
    }
    .result_after {
        font-size: 24px;
        line-height: 2;
        padding-bottom: 75pt;
        position: relative
    }
    .result_after span {
        font-size: 35px;
        color: #ff6111;
        font-weight: 700
    }
    .result_after:after {
        content: "";
        width: 0;
        height: 0;
        border: 60px solid transparent;
        border-top: 60px solid #4e4e4e;
        position: absolute;
        bottom: -50px;
        margin-left: -60px;
        left: 50%
    }
    .contentLeft .calculator h2,
    .contentLeft h2.print-none {
        border-top: 0;
        clear: both
    }
    .topSozokusuport .sozokusuport-dsc .calculator dt {
        margin-bottom: 0
    }
    .topSozokusuport .sozokusuport-dsc .calculator dl {
        margin: 20px auto
    }
    .calculator dd input[type=radio] {
        width: 20px
    }
    .calculator button.c_btn_01 {
        margin: 0 auto;
        display: block;
        width: initial
    }
    /* #start {
        text-align: center;
        width: 100%;
        margin: 1em 0 0;
        cursor: pointer
    } */
    .calculator dd input {
        line-height: 2em;
        max-width: 80%;
    }
    .add dd {
        border-bottom: 0 0!important
    }
    .center {
        text-align: center
    }
    .sp_btn {
        display: none
    }
    button img:hover {
        opacity: .8
    }
    .top-calculator-wrap {
        margin-bottom: 60px;
        border-radius: 5px;
        overflow: hidden;
        border: 3px solid #103eae
    }
    .calculator .h2_title {
        font-size: 6vh;
        margin: 3rem 0
    }
    .result_after {
        text-align: center
    }
    .result_after_wrap .bnr img {
        margin-bottom: 40px
    }
}

.calculator>div,
.calculator>p {
    text-align: center;
    font-weight: 700;
    font-size: 25px
}

.calculator label {
    margin-bottom: 0
}

@media screen and (max-width: 768px) {
    .calculator>div,
    .calculator>p {
        font-size: 1pc
    }
}

@media screen and (max-width: 500px) {
    .calculator button.c_submit {
        max-width: 300px;
        width: 100%;
        height: calc(60/500*100vw);
        font-size: calc(20/500*100vw);
        line-height: calc(32/500*100vw);
        margin: 30px auto;
    }
    #start::after {
        right: calc(10/500*100vw);
        width: calc(25/500*100vw);
        height: calc(25/500*100vw);
    }
    #c_back::after {
        left: calc(10/500*100vw);
        width: calc(25/500*100vw);
        height: calc(25/500*100vw);
    }
}