.tt {
    vertical-align: super;
    font-size: x-small;
}

.kuuhaku {
    margin-left: 0.25em;
}

div.tukue > div.sousa {
    background-color: hsl(100, 100%, 95%)
}

div.tukue > div.sousa > span.bangou {
    font-weight: bold;
}

div.tukue > div.sousa > span.bunnya {
    margin-left: 0.5em;
    background-color: floralwhite;
    border: 1px solid black;
    padding: 0 0.25em;
}

div.tukue > div.sousa > div.omake {
    display: inline-block;
    margin-left: 0.5em;
}

div.tukue > div.sousa > div.omake > span {
    margin-left: 0.25em;
}

div.tukue > div.sousa > span.migi {
    float: right;
}

div.tukue > div.sousa > span.migi > div.index {
    display: inline-block;
    display: none;
    border: 1px solid black;
    padding: 0 0.25em;
    margin-right: 0.5em;
    background-color: white;
    color: darkslateblue;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}

div.tukue > div.sousa > span.migi > span.hindo {
    
}

div.tukue > div.toi {
    font-size: 3em;
}

div.tukue > div.kaitou {
    background-color: pink;
    min-width: 20em;
    display: flex;
}

div.tukue > div.kaitou > div.kotae > div.gyou {
    width: 100%;
}

div.tukue > div.kaitou > div.kotae > div.gyou > div {
    display: inline-block;
    padding: 0em 0.25em;
}

div.tukue > div.kaitou > div.kotae > div.gyou > div.hidari {
    width: 4em;
    text-align: center;
}

div.tukue > div.kaitou > div.kotae > div.gyou > div > span:not([data-kakure="0"]) {
    color: transparent;
}

div.tukue > div.kaitou > div.terase {
    margin-left: auto;
    line-height: 1;
}

div.tukue > div.omake {
    display: none;
}

div.tukue > div.omake > div > span.heading {
    border: 1px lightgray solid;
    font-weight: bold;
    padding: 0 0.25em;
    margin-right: 0.25em;
    display: inline-block;
    text-align: center;
}

div.tukue.lang_en > div.omake > div > span.heading {
    width: 6em;
}

div.tukue.lang_ja > div.omake > div {
    display: flex;
}

div.tukue.lang_ja > div.omake > div > span.heading {
    /*width: 4em;*/
    flex: 0 0 1em;
}

div.tukue > div.omake > div.imi > span.heading {
    background-color: hsl(0, 100%, 30%);
    color: hsl(0, 100%, 90%);
}

div.tukue > div.omake > div.tatoeba > span.heading {
    background-color: hsl(250, 100%, 30%);
    color: hsl(250, 100%, 90%);
}

div.tukue > div.omake > div.hatuon > span.heading {
    background-color: hsl(200, 100%, 30%);
    color: hsl(200, 100%, 90%);
}

div.tukue > div.omake > div.tatoeba {
    display: flex;
}

div.tukue > span.happyou {
    margin: 0 auto;
    font-size: 2em;
    display: block;
    text-align: center;
}

div.tukue > table.kekka {
    margin: 0 auto;
    border-collapse: collapse;
}

div.tukue > table.kekka > tbody > tr > td {
    border: 1px solid black;
}

div.tukue > table.kekka > tbody > tr > td:first-child {
    font-weight: bold;
    min-width: 8em;
}

div.tukue > table.kekka > tbody > tr > td > span:first-child {
    width: 1em;
    display: inline-block;
    text-align: center;
    margin-right: 0.25em;
}

div.tukue > div.nagare {
    margin-top: 1em;
    display: flex;
    flex-wrap: wrap;
}

div.tukue > div.nagare > div {
    width: 4em;
    text-align: center;
}

div.tukue > div.nagare > div.iro_0 {
    background-color: hsl(180, 100%, 50%);
}

div.tukue > div.nagare > div.iro_1 {
    background-color: hsl(0, 100%, 50%);
}

div.tukue > div.nagare > div.iro_2 {
    background-color: hsl(60, 100%, 50%);
}

div.tukue > div.nagare > div.iro_3 {
    background-color: hsl(90, 100%, 50%);
}

div.tukue > div.nagare > div.iro_4 {
    background-color: hsl(90, 100%, 30%);
}

div.tukue div.tugi {
    background-color: lightcyan;
    text-align: center;
}

div.tukue div.tugi > input {
    text-decoration: none;
    margin: 0 0.5em;
    line-height: 1.25;
}

div.form > form > div > span.block > span:first-child {
    font-weight: bold;
}

div.form > form > div > span.block > span:nth-child(2) {
    margin-left: 0.25em;
}

div.form > form > div > span.block > span:first-child + input {
    margin-left: 0.25em;
}

div.form > form > div div.sentaku {
    text-align: right;
}