@charset "UTF-8";
/* CSS Document */
/*===================================================
    スマホ用土台作成用CSS
===================================================*/
/*//////////////////////////////////////////////////
    Base set
///////////////////////////////////////////////////*/
body.family {
    min-width: 0;
}
/* マウスオーバーのスタイル */
a:hover {
    text-decoration: none!important;
    opacity: 1!important;
    -ms-filter: "alpha(opacity=100)"!important;
}
.spBreak {
    display: block;
}

/*//////////////////////////////////////////////////
    Base layout
///////////////////////////////////////////////////*/
/* --------------------------------------------------
    ヘッダー(header)
-------------------------------------------------- */
header .headTop {
    padding: 10px 5px;
}
header .headTop h1 {
    padding: 0;
    text-align: center;
    line-height: normal;
}
header .headTop h1 img {
    height: 18px;
    margin-top: 3px;
}
header .headTop h1 span {
    padding: 6px 0 0 2px;
    font-size: 14px;
}
/* --------------------------------------------------
    ナビ(nav)
-------------------------------------------------- */
nav ul.family {
    background:  url("../image/common/nav_icon_01_sp.png") center bottom 20px no-repeat;
    background-size: 234px auto;
}
nav ul.property {
    background:  url("../image/common/nav_icon_02_sp.png") center bottom 20px no-repeat;
    background-size: 234px auto;
}
nav ul.tax {
    background:  url("../image/common/nav_icon_03_sp.png") center bottom 20px no-repeat;
    background-size: 234px auto;
}
nav ul.reason,
nav ul.donation {
    background:  url("../image/common/nav_icon_04_sp.png") center bottom 20px no-repeat;
    background-size: 234px auto;
}
nav ul li {
    display: none;
    text-align: center;
    color: #00145B;
    font-weight: bold;
    padding: 15px 10px 40px;
    font-size: 16px;
}
nav ul.family li:first-child {
    display: block;
}
nav ul.property li:nth-child(2) {
    display: block;
}
nav ul.tax li:nth-child(3) {
    display: block;
}
nav ul.reason li:nth-child(4),
nav ul.donation li:nth-child(4) {
    display: block;
}
/* --------------------------------------------------
    ボタン設定
---------------------------------------------------*/
.btnList {
    width: 100%;
}
    .btnList li {
       float: none;
    }
    .btnList li + li {
       float: none;
       margin-top: 20px;
    }
.btnNext,
.btnBack {
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    text-align: left;
}

/* --------------------------------------------------
    TOP
-------------------------------------------------- */
#top h2 {
    margin-top: 40px;
    font-size: 16px;
}

#top .noteBox {
    height: 360px;
}

#top .noteBox h3 {
    font-size: 14px;
}

#top .noteBox h3 + p {
    font-size: 12px;
}

#top .noteBox::after {
    width: calc(100% - 22px);
}

/* --------------------------------------------------
    家族構成
-------------------------------------------------- */
#family {
    padding-bottom: 50px;
}
#family h2 {
    margin-bottom: 20px;
    font-size: 14px;
}
#family .contWrap {
    padding: 0 10px;
}
#family .familyBox {
    padding: 0;
}
#family .checkBox label {
    width: 120px;
}

#family .parent + div .rightBox {
    float: none;
    position: relative;
    right: 0;
    width: 100%;
    max-width: 290px;
    margin: 0 auto;
}
#family .parent + div .leftBox {
    position: relative;
    float: none;
    width: 100%;
    padding-top: 30px;
    border-top: 1px solid #E5E5E5;
}
#family .parent + div .leftBox .checkList {
    max-width: 290px;
    margin: 0 auto;
}

/*  親
-------------------------------------------------- */
#family .parent {
    width: 100%;
    max-width: 290px;
    margin: 0 auto 60px;
}
#family .parent:after {
    content: '';
    position: absolute;
    top: 50px;
    right: 125px;
    width: 105px;
    height: 71px;
    background: url("../image/family/tree_01_sp.png") left center no-repeat;
    background-size: 105px auto;
}
#family .parent .checkBox {
    width: 100%;
}

/*  財産保有者 配偶者
-------------------------------------------------- */
#family .couple {
    width: 100%;
    margin: 0 auto 60px;
}
#family .couple:before {
    content: '';
    position: absolute;
    top: 55px;
    left: auto;
    right: 125px;
    width: 105px;
    height: 71px;
    background: url("../image/family/tree_01_sp.png") left center no-repeat;
    background-size: 105px auto;
}

#family .couple .owner {
    width: 120px;
    padding: 0;
    background: none;
}

#family .couple .owner dd {
    width: 100%;
    line-height: 40px;
    border-radius: 40px;
    background: #FEF9E5;
}
    #family .couple .owner dd img {
        width: 19px;
    }
#family .couple .spouse {
    padding-top: 8px;
}

/*  子ども 兄弟/姉妹
-------------------------------------------------- */
#family .checkList dt {
    width: 120px;
    margin-bottom: 20px;
}
#family .checkList dt + dd {
    position: absolute;
    top: -10px;
    right: 0;
    width: 100px;
    font-size: 11px;
    text-align: left;
}
#family .checkList .children {
    float: left;
}
#family .checkList .selectList {
    float: right;
}
#family .checkList .selectList + dd {
    clear: both;
    float: right;
    width: 100px;
    margin-bottom: 30px;
    font-size: 11px;
}
#family .checkList .checkBox {
    margin-bottom: 0;
}
#family .checkList .selectBox:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: -60px;
        margin:auto 0;
        width: 50px;
        height: 2px;
        background: #cccccc;
    }
#family .checkList .checkBox li {
    display: block;
}
#family .checkList .checkBox li + li {
    margin-top: 20px;
    margin-left: 0;
}
/*セレクトボックス*/
#family .checkList .selectBox {
    display: block;
    width: 100px;
}
#family .checkList .selectBox + .selectBox {
    margin-top: 20px;
    margin-left: 0;
}


/* --------------------------------------------------
    財産入力
-------------------------------------------------- */
#property {
    padding-bottom: 50px;
}
#property h2 {
    font-size: 14px;
}
#property .simulation {
    padding: 20px 10px 0;
}
#property .simulation dl {
    display: block;
    padding: 0 0 40px;
    border-top: 1px solid #e5e5e5;
}
#property .simulation dl dt {
    display: block;
    width: 100%;
    padding-left: 40px;
}
    #property .simulation dl dt span {
        top: 10px;
    }
#property .simulation dl dt + dd {
    display: block;
    width: 100%;
    padding: 0;
}
#property .simulation dl dd + dd {
    display: none;
}

/* --------------------------------------------------
    増減入力設定
-------------------------------------------------- */
.inputBox > p {
    width: 220px;
}
.inputBox input[type="tel"],
.inputBox input[type="number"],
.inputBox input[type="text"] {
    width: 180px;
}
.inputBox ul li {
    margin-right: 10px;
}

/* --------------------------------------------------
    納付税額
-------------------------------------------------- */
#tax {
    padding-bottom: 50px;
}
#tax h2 {
    font-size: 14px;
}
#tax h2 + div {
    padding: 20px 10px;
    text-align: left;
}
    #tax h2 + div > span {
        display: none;
    } 
    #tax h2 + div dl {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 0 0 20px;
        border-top: 1px solid #E5E5E5;
    }
    #tax h2 + div .total {
        border-bottom: 1px solid #E5E5E5;
    }
    #tax h2 + div .deduction:before {
        content: '-';
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    #tax h2 + div .total:before {
        content: '=';
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
        #tax h2 + div dl dt {
            display: table-cell;
            width: 120px;
        }
        #tax h2 + div dl dd {
            display: table-cell;
            text-align: right;
        }
        #tax h2 + div dl dd em {
            font-size: 30px;
        }
#tax table {
    font-size: 14px;
}
#tax table thead th {
    padding: 5px 0;
    text-align: right;
}
#tax table thead th:first-child {
    width: 120px;
}
#tax table tbody th {
    width: 120px;
    padding: 5px 0;
    font-size: 14px;
}
#tax table tbody td {
    padding: 5px 2px;
    font-size: 16px;
    text-align: right;
}
    #tax table tbody td span {
        margin-left: 3px;
    }
#tax .btnList {
    margin: 0;
    padding-bottom: 20px;
}
#tax .btnList + div {
    padding: 0;
}
#tax .btnList .btnDonation {
    float: none;
    width: 100%;
    margin: 20px auto 0;
    padding-right: 10px;
    padding-left: 10px;
}
#tax .btnList .btnNext {
    float: none;
}

/* --------------------------------------------------
    算出根拠
-------------------------------------------------- */
#reason {
    padding-bottom: 50px;
}
#reason #calcResult h2 {
    font-size: 14px;
}
#reason #calcResult h2 + div {
    padding: 20px 10px;
    text-align: left;
}
    #reason #calcResult h2 + div > span {
        display: none;
    } 
    #reason #calcResult h2 + div dl {
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 0 0 20px;
        border-top: 1px solid #E5E5E5;
    }
    #reason #calcResult h2 + div .total {
        border-bottom: 1px solid #E5E5E5;
    }
    #reason #calcResult h2 + div .deduction:before {
        content: '-';
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
    #reason #calcResult h2 + div .total:before {
        content: '=';
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
    }
        #reason #calcResult h2 + div dl dt {
            width: 120px;
        }
        #reason #calcResult h2 + div dl dd em {
            font-size: 30px;
        }

#reason #calcProcess {
    padding-bottom: 0;
}

#reason #calcProcess h2 {
    padding: 40px 10px 15px;
    text-align-last: left;
}
#reason #calcProcess .accrodBtn {
    display: block;
    width: 100%;
    height: 50px;
    margin: 0 auto 30px;
    padding: 0 10px;
}
    #reason #calcProcess .accrodBtn button {
        color: #00145B;
        border: 1px solid #00145B;
        background: url("../image/reason/icon_arrow_down.png") right 20px center no-repeat #fff;
        background-size: 10px auto;
    }
    #reason #calcProcess .accrodBtn.active button {
        background: url("../image/reason/icon_arrow_up.png") right 20px center no-repeat #fff;
        background-size: 10px auto;
    }
#reason #calcProcess > div {
    display: none;
}
#reason #calcProcess table th,
#reason #calcProcess table td,
#reason #calcProcess table td.total {
    display: block;
    width: 100%;
    padding: 5px 0;
}

#reason #calcProcess table tr {
    border-bottom: none;
}

#reason #calcProcess table th span {
    padding-left: 10px;
}
#reason #calcProcess table td {
    font-size: 14px;
}
#reason #calcProcess table ol {
    width: 100%;
}
    #reason #calcProcess table ol li > span:first-child span {
        top: 6px;
    }
#reason #calcProcess table ol li > span + span small {
    font-size: 12px;
}

#reason #calcProcess .resTbl01 {
    border-top: none;
}
#reason #calcProcess .resTbl02 ul {
    display: block;
}
    #reason #calcProcess .resTbl02 ul li {
        display: block;
    }
    #reason #calcProcess .resTbl02 ul li:first-child {
        width: 100%;
    }
    #reason #calcProcess .resTbl02 ul li:nth-child(2) {
        width: 100%;
        text-align: left;
    }
#reason .btnBox {
    padding-top: 0;
}

#reason #calcProcess aside {
    margin-bottom: 40px;
}


/* --------------------------------------------------
    生前贈与節税シミュレーション
-------------------------------------------------- */
#donation {
    padding-bottom: 50px;
}
/*セレクトボックス*/
#donation .selectBox {
    width: 180px;
}
#donation .simulation dl {
    display: block;
    padding: 10px 0 30px;
    border-top: 1px solid #E5E5E5;
}
#donation .simulation .price {
    margin-bottom: 0;
    padding: 10px 0 0;
}
#donation .simulation dl dt,
#donation .simulation dl dt + dd {
    display: block;
    width: 100%;
}
#donation .simulation .years dd + dd,
#donation .simulation .price dd + dd {
    display: none;
}
#donation .simulation dl dt {
    padding: 0;
}
#donation .simulation .inputBox > p {
    width: 225px;
}
#donation .checkBox {
    padding: 0;
}
#donation .dispSimulation .chart {
    float: none;
    width: 100%;
    margin-bottom: 20px;
}
#donation .dispSimulation dl dd .txtArea1 {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-bottom: 10px;
    text-align: center;
}
#donation .dispSimulation dl dd .txtArea2 {
    float: none;
    width: 100%;
}


/* --------------------------------------------------
    結果
-------------------------------------------------- */
.resultBox {
    padding: 0;
}
#family .resultBox,
#property .resultBox {
    position: relative;
    height: 100px;
}
.dispResult {
    padding: 10px;
}
.dispResult.fixed {
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 1;
}
.dispResult > p {
    display: block;
}
.dispResult .subResult {
    margin-left: 0;
}
    .dispResult .mainResult em {
        padding-left: 0;
    }
    .dispResult .subResult em {
        margin-left: 3px;
        margin-right: 3px;
    }

.itemBox {
    padding: 0;
}

.itemBox div {
    display: flex;
    flex-direction: column-reverse;
    padding: 20px 15px 0px;
}

.itemBox .clearBtn {
    float: none;
    width: 100%;
    margin-top: 20px;
    padding-top: 0;
}
.itemBox aside {
    float: none;
    width: 100%;
}
.resultBox + aside {
    padding: 20px 10px 40px;
}


/* --------------------------------------------------
    pagetop
-------------------------------------------------- */
#pagetop {
    right: 10px;
}
#pagetop.ftPos {
    right: 10px;
}

















