div#ishikawa-chart {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 200px 60px;
    box-sizing: border-box;
}

.arrow ._arrow {
    border-top: 3px #000 solid;
    width: 100%;
    height: 0;
    display: block;
    position: relative;
}

.arrow ._arrow::before {
    content: '';
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 8px solid #000;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -55%);
}

div#ishikawa-chart * {
    box-sizing: border-box;
}

.middle-arrow {
    margin: 100px 0;
}

.upper-arrows, .lower-arrows {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
}

.arrow {
    flex-grow: 1;
    position: relative;
}

.upper-arrows .arrow {
    transform: rotate(75deg);
    max-width: 200px;
}

.lower-arrows .arrow {
    transform: rotate(-75deg);
    max-width: 200px;
}

._title {
    position: absolute;
    top: -1.4em;
    left: 0;
    color: #000;
}

._plus {
    position: absolute;
    right: 0.5em;
    color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2em;
    height: 2em;
    border: solid 1px #333;
    border-radius: 99em;
    font-size: 1em;
    line-height: 1em;
    top: 0.5em;
    background: #f7f7f7;
}

.lower-arrows ._plus {
    top: unset;
    bottom: .5em;
}

.middle-arrow ._title {
    left: unset;
    right: 0;
    top: 1em;
}
