@charset "UTF-8";

body {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    color: #222;
    background-color: #fafafa;
    -webkit-font-smoothing: antialiased;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding: 0 30px 0 30px;
    hanging-punctuation: force-end;
    overscroll-behavior-x: none;
}


header{
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    color: #222;
    line-height: 3.2rem;
    font-size: 0.85rem;
    writing-mode: initial;
    position: fixed;
    top: 0;
    width: 100%;
    text-align: right;
}

.footer {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    color: #222;
    font-size: 0.85rem;
    writing-mode: initial;
    position: fixed;
    bottom: 0;
    width: 100%;
    text-align: left;
}

.footer-menu {
    width: 30%;
    margin: 0 auto 20px 60px;

    @media screen and (max-width: 720px) {
        width: 100vw;
    }
}

.footer a {
    color: #999;
    display: inline-block;
    margin-left: 0.5rem;
    transition: .3s color, .2s border-bottom;
    border-bottom: 2px solid rgba(255, 255, 255, 0);
}

.copyright {
    color: #999;
    display: block;
    margin: 0 0 10px 0;
    font-size: .775rem;
    text-align: left;

    @media screen and (max-width: 720px) {
        width: 100vw;
    }
}

main {
    line-height: 1.7rem;
    font-size: 1.15rem;
    padding: 80px 70px 100px 0;

    @media screen and (max-width: 720px) {
        padding: 80px 0 100px 0;
    }
}

h1 {
    font-size: 14px;
    margin: 0 80px 0 0;
}

h2 {
    font-size: 1.3rem;
    margin: 80px 80px 0 50px;
}

p {
    line-height: 1.7;
    text-indent: 1em;
    margin: 0;
    text-align: justify;
    hanging-punctuation: force-end;
}

img.horizontal-top {
    width:25vw;
    float:left;
    padding:0 10px 10px 10px;

    @media screen and (max-width: 720px) {
        margin: 0 auto 10px auto;
        width: unset;
        height: 25vh;
    }
}

img.horizontal-bottom {
    width:25vw;
    float: right;
    padding:10px 10px 0 10px;

    @media screen and (max-width: 720px) {
        margin: 0 auto 10px auto;
        width: unset;
        height: 25vh;
    }
}

img.vertical-top {
    height:35vh;
    float:left;
    padding:0 10px 10px 10px;

    @media screen and (max-width: 720px) {
        margin: 0 auto 10px auto;
        height: 30vh;
    }
}

img.vertical-bottom {
    height:35vh;
    float: right;
    padding:10px 10px 0 10px;

    @media screen and (max-width: 720px) {
        margin: 0 auto 10px auto;
        height: 30vh;
    }
}

p.brackets{
    line-height: 1.7;
    text-indent: 0;
    margin-left: 0;
    hanging-punctuation: force-end;
}

.quote {
    line-height: 1.7;
    text-indent: 3em;
    margin: 0;
    font-style: italic;
    hanging-punctuation: force-end;
    font-size: 1rem;
}

.quote-noindent {
    line-height: 1.7;
    text-indent: 0;
    margin: 0;
    font-style: italic;
    hanging-punctuation: force-end;
    font-size: 1rem;
}

.reference {
    line-height: 1.7;
    text-indent: 0;
    margin: 0;
    font-style: italic;
    text-align: right;
    hanging-punctuation: force-end;
    font-size: 0.85rem;
    text-orientation: sideways;
}

.toc {
    font-family: "Zen Old Mincho", serif;
    font-weight: 400;
    color: #222;
    background-color: #fafafa;
    line-height: 1.7rem;
    font-size: 1.15rem;
    height: 80vh;
    -webkit-font-smoothing: antialiased;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    margin: 0 50px 0 auto;
    hanging-punctuation: force-end;

    @media screen and (max-width: 720px) {
        margin: 0 0 0 auto;
    }
}

.title {
    padding: 0 0.5vw 0 0;
}

.title a {
    text-decoration: none;
    border-right: 1px dashed;
    padding-right: 0;
}

.explanation {
    padding: 20px 0 0 0;
    font-size: 0.85rem;
}

.count {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-size: 0.6rem;
    writing-mode: sideways-rl;
}

p.data {
    line-height: 1.7;
    text-indent: 0;
    text-align: right;
    font-size: 0.75rem;
    margin: 0 20px 0 0;
	padding: 0 0 0 40px;
    hanging-punctuation: force-end;
    clear: both;
}

.text-combine {
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}

.twitter-tweet {
    margin: 20px;
    float: left;
}