@charset "utf-8";

body{
    overflow-x: hidden;
}

/*-------------------------------------------------------------------------
RESET
-------------------------------------------------------------------------*/

#contents {
    width: auto;
    padding: 0 0 66px;
}
#path,
.h1_section {
    display: none;
}
.main * {
    box-sizing: border-box;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color      : #333;
}
img {
    vertical-align: top;
}
:root {
    --main-color: #E38CA9;
}

/*-------------------------------------------------------------------------

-------------------------------------------------------------------------*/

.headline {
    display        : flex;
    align-items    : center;
    justify-content: center;
    background: url("../images/bg_main.png") no-repeat center 0;
    height: 200px;
    font-size: 40px;
    color    : #fff;
    line-height: 1.1;
    letter-spacing: 3.9px;
}

/*-------------------------------------------------------------------------
#
-------------------------------------------------------------------------*/

.simulation {
    width: 950px;
    margin: auto;
}
    .simulation__heading {
        margin: 46px 0 46px;
        text-align: center;
        letter-spacing: .05em;
        line-height: 1.55;
    }
    .simulation__tab {
        border-bottom: 5px solid #E38CA9;
        display        : flex;
        justify-content: space-between;
    }
        .simulation__button {
            width: 470px;
            height: 60px;
            display        : flex;
            align-items    : center;
            justify-content: center;
            background-color: #aaa;
            border-radius: 10px 10px 0 0;
            font-weight: 700;
            color      : #fff;
            letter-spacing: .14em;
        }
        .simulation__button.is-active {
            background-color: #E38CA9;
        }
        .simulation__button:hover {
            color: #fff;
            text-decoration: none;
        }
    .simulation__contents {
         background-color: #FFF6F9;
         display        : flex;
         justify-content: space-between;
         margin: 0 0 29px;
         padding: 40px;
    }
        .simulation__left {
            width: 440px;
        }
        .simulation__right {
            width: 400px;
        }

/* #
--------------------------- */
.simulation__list {
    border-bottom: 1px solid #ccc;
    margin: 0 0 14px;
    padding: 0 33px 19px 0;
    display: flex;
}
.simulation__list:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border: none;
}
    .simulation__ttl {
        min-width: 245px;
        font-size  : 18px;
        font-weight: 700;
        letter-spacing: .14em;
    }
    .simulation__list-right {
        width: calc(100% - 245px);
    }
        .simulation__ttl-small {
            font-size  : 15px;
            font-weight: inherit;
        }
        .simulation__about {
            display: block;
            font-size: 15px;
            letter-spacing: .14em;
        }
        .simulation__about:before {
            content: url("../images/icn_hatena.png");
            margin: 0 4px 0 0;
            vertical-align: -3px;
        }
        .simulation__num {
            display        : flex;
            align-items    : baseline;
            justify-content: space-between;
            margin: 0 0 8px;
            font-size: 15px;
            letter-spacing: .08em;
        }
            .simulation__input {
                width: 120px;
                height: 40px;
                background-color: #fff;
                border: 1px solid #ccc;
                padding: 0 10px 0 0;
                font-size: 22px;
                color    : #E38CA9;
                text-align: right;
            }
        .simulation__range {
            position: relative;
            height: 8px;/* IE的に必要  */
        }
            .simulation__range-item {
                -webkit-appearance: none;
                    -ms-appearance: none;
                        appearance: none;
                background-color: transparent;
                border: none;
                width: 100%;
                height: 4px;
                position: relative;
                z-index: 10;
            }
            @media all and (-ms-high-contrast:none){/* IE11 */
                .simulation__range-item {
                    height: auto;
                    margin: -20px 0 0;
                }
            }
            /* WEBKIT  */
            input[type="range"]::-webkit-slider-thumb {
                appearance: none;
                background: #E38CA9;
                width: 12px;
                height: 12px;
                border-radius: 50%;
                cursor: pointer;
                position: relative;
                z-index : 1;
            }

            /* MOZ  */
            input[type=range]::-moz-range-thumb { /* 〇  */
                appearance: none;
                background: #E38CA9;
                border: none;
                border-radius: 50%;
                width: 12px;
                height: 12px;
                cursor: pointer;
                position: relative;
                z-index : 1;
            }
            /* firefoxはjs無しでいけそう
            input[type="range"]::-moz-range-progress {
                height: 4px;
                background: var(--main-color);
            }*/

            /* MS  */
            input[type=range]::-ms-track {
                height: 12px;
                background: transparent;
                border-color: transparent;
                border-radius: 50%;
                color: transparent;
                position: relative;
                z-index: 100;
            }
            input[type=range]::-ms-fill-lower {
                background: transparent;
                border-radius: 10px;
                width: 10px;
            }
            input[type=range]::-ms-fill-upper {
                border: none;
                background: transparent;
                border-radius: 10px;
            }
            input[type=range]::-ms-thumb {
                border: none;
                height: 12px;
                width: 12px;
                background-color: #E38CA9;
                border-radius: 50%;
            }

            /* 疑似range  */
            .simulation__range-bar {
                content: "";
                width: 100%;
                height: 4px;
                background-color: #fff;
                border-radius: 50px;
                position: absolute;
                top     : 2px;
                left    : 2px;
                z-index : 0;
            }
                .simulation__range-slide { /* JSで操作  */
                    position: absolute;
                    top     : 0;
                    left    : 0;
                    height: 4px;
                    background-color: #E38CA9;
                    border-radius: 10px 0 0 10px;
                }
        .simulation__small {
            margin: 4px 0 -6px;
            font-size: 10px;
            color    : #E38CA9;
            letter-spacing: .025em;
            white-space: nowrap;
        }

/* #
--------------------------- */
.result {
    display        : flex;
    flex-direction : column;
    justify-content: space-between;
    border-bottom: 3px solid #333;
}
    .result__top {
        background-color: #fff;
        padding: 25px 0 40px;
    }
        .result__ttl {
            margin: 0 0 12px;
            font-size  : 15px;
            text-align: center;
            letter-spacing: .14em;
        }
        .result__en {
            margin: 0 0 16px;
            text-align: center;
        }
        .result__block {
            display        : flex;
            align-items    : baseline;
            justify-content: space-between;
            padding: 0 34px 0 41px;
        }
            .result__block-ttl {
                font-size  : 15px;
                font-weight: 700;
                letter-spacing: .08em;
            }
            .result__price {
                font-size  : 16px;
                font-weight: 700;
            }
                .result__price-bold {
                    font-size  : 30px;
                    font-weight: 700;
                    color      : #E38CA9;
                }
                .result__price-point {
                    font-size  : inherit;
                    font-weight: inherit;
                    color      : #E38CA9;
                }
        .result__coution {
            margin: -1px 31px 0 0;
            font-size: 15px;
            text-align: right;
            letter-spacing: .08em;
        }
            .result__coution-point {
                color: #E38CA9;
            }
    .result__graph {
        height: 198px;
        display        : flex;
        flex-direction : column;
        justify-content: flex-end;
    }
    .result__graph.-limit {
        align-items: center;
    }
        .result__graph-item {
            background-color: #E38CA9;
            width: 250px;
            height: 64px;
        }
        .result__graph-bg {
            width:  199px;
            height: 198px;
            background-color: rgba(227,140,169,.2);
            display: flex;
            align-items: flex-end;
        }
            .result__graph-item.-narrow {
                width: inherit;
            }
        .result__inner {
            display        : flex;
            align-items    : flex-end;
            justify-content: space-between;
            padding: 0 28px 0 40px;
        }
            .result__card {
                background-color: #fff;
                border: 2px solid #FBE0E9;
                border-radius: 10px;
                margin: 0 0 14px;
                padding: 9px 10px 9px 9px;
                position: relative;
            }
            .result__card:after {
                content: "";
                width: 12px;
                height: 12px;
                background-color: #fff;
                border-top: 2px solid #FBE0E9;
                border-left: 2px solid #FBE0E9;
                transform: rotate(-45deg) skew(10deg, 10deg);
                position: absolute;
                top     : 0;
                bottom  : 0;
                left: -8px;
                margin  : auto;
            }
                [class*="result__case--"]{
                    width: 80px;
                    height: 70px;
                    border-radius: 10px;
                    text-align: center;
                    padding: 18px 0 0;
                }
                .result__case--kinri {
                    background-color: #fff;
                    border: 1px solid #E38CA9;
                    margin: 0 0 10px;
                }
                .result__case--gankin {
                    background-color: #E38CA9;
                }
                    .result__case-ttl,
                    .result__case-text,
                    .result__case-text span{
                        font-size  : 12px;
                        letter-spacing: .08em;
                    }
                    .result__case-ttl {
                        margin: 0 0 0px;
                        font-weight: 700;
                    }
                    .result__case--kinri .result__case-ttl {
                        color: #E38CA9;
                    }
                    .result__case--gankin .result__case-ttl,
                    .result__case--gankin .result__case-text,
                    .result__case--gankin .result__case-text span {
                        color: #fff;
                    }
.simulation__coution {
    margin: 0 0 0 1.4em;
    text-indent: -1.4em;
    font-size: 13px;
    letter-spacing: .08em;
    line-height: 1.53;
}


.ex_menu_box {
    position: absolute;

}
#ex_menu {
    display: none;
    position: relative;
    top: 10px;
    left: 0px;
    padding: 20px 0px 20px 20px;
    width: 310px;
    background-color: #f2dce2;
    border-radius: 6px;
    border: 3px solid #FFFFFF;
    position: relative;
    box-shadow: 1px 1px 3px 2px #e4dddf;
    font-size: 12px;
    z-index: 15
}

#ex_menu:after, #ex_menu:before {
    bottom: 100%;
    left: 10%;
    border: solid transparent;
    content: "";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
#ex_menu:after {
    border-color: rgba(213, 194, 205, 0);
    border-bottom-color: #f2dce2;
    border-width: 10px;
    margin-left: -10px;
}
#ex_menu:before {
    border-color: rgba(245, 243, 243, 0);
    border-bottom-color: #fff;
    border-width: 14px;
    margin-left: -14px;
}