@charset "utf-8";

html {
    font-family: helvetica, arial, 'hiragino kaku gothic pro', meiryo, 'ms pgothic', sans-serif;
}

* {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.body-container {
    position: relative;
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    display:flex;
    flex-direction: column;
}

.render-div {
    position: relative;
    flex:1;
    width: 100%;
    max-width: 100%;
    /* height: calc(100vw * 0.5); */
    min-width: 177px;
    min-height: 100px;
    margin: 0 auto;
    border: 1px solid #555;
}

.img-wrap {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    flex:1;
    width: 100%;
    max-width: 100%;
    margin:0 auto;
    border: 1px solid #555;
}

.img-wrap img {
    /* position: absolute; */
    width: 100%;
    height: auto;
    max-width: 100%;
}

.color-wrap {
    list-style: none;
}

.color-wrap li {
    margin:10px;
    display: inline-block;
}

.color-wrap li.sp {
    width: 48px;
    height: 48px;
}

.color-wrap .active {
    pointer-events: none;
}

.text-white {
    color: white;
}

.ctip {
    position: relative;
    border-radius: 50%;
    box-sizing: content-box;
    border: 1px solid #ccc;
    cursor: pointer;
}

.sp>.ctip {
    width: 48px;
    height: 48px;
}

.active-color {
    cursor: none;
    margin: 4px !important;
    border: 6px solid #bbb;
    border-radius: 50%;
    box-sizing: content-box;
}

.grade-name {
    position: relative;
    margin: 0 auto;
    margin-top: 10px;
    text-align: center;
    font-size: 5vw;
}

.color-container {
    flex:0 0 auto;
}

.color-name {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0 0 0;
    text-align: center;
    font-size: 0.9em;
    min-height: 40px;
}

.manipulation-wrap {
    width: 100%;
    height: 45px;
    margin: 15px 0;
    display: flex;
    flex: 0 0 auto;
    justify-content: center;
    align-items: center;
    list-style: none;
}

.manipulation-wrap li {
    width: 45px;
    height: 45px;
    margin: 5px;
    cursor: pointer;
}

.manipulation-wrap li.active {
    opacity: 0.7;
    pointer-events: none;
}

.manipulation-wrap li img {
    width: 100%;
    height: auto;
}

.help-wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    background-color: #111;
}

.help-wrap img {
    width: 100%;
    height: auto;
}

.help-animation-enter {
    opacity: 0;
    top: -100%;
}

.help-animation-enter-active {
    opacity: 1;
    top: 0;
    transition: all 0.5s ease;
}

.help-animation-enter-done {
    opacity: 1;
}

.help-animation-exit {
    opacity: 1;
}

.help-animation-exit-active {
    transition: all 0.5s ease;
    opacity: 0;
    top: -100%;
}


