html {}

body {
    font-family: 'Noto Sans', sans-serif;
    line-height: 1.6;
    font-size: 14px;
    background: #ddd;

}

.header {
    background-color: #FFE200;
    box-shadow: -1px 4px 3px #cbcbcb;
    padding: 5px;
}

.header_logo {
    width: 237px;
}

.header_logo_img {
    width: 100%;
}

.container {
    max-width: 720px;
    margin: 50px auto
}

.top-first {
    margin-top: 0;
}

ul.article-list {
    list-style: none;
    padding: 0;
}

ul.article-list li {
    margin: 0.5em 0;
}

a {
    text-decoration: none;
    color: #0366d6;
}

a:hover {
    text-decoration: underline;
}

.breadcrumbs {
    font-size: 0.9em;
    margin-bottom: 1em;
    color: #555;
    margin-top: 30px;
}


#contents {
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
}

#contents p {
    margin-bottom: 20px;
}

.msg {
    display: flex;
    margin: 1em 0;
}

.msg.misaki {
    flex-direction: row;
}

.msg.nana {
    flex-direction: row-reverse;
}

.icon img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 2px solid #ddd;
}

.bubble {
    max-width: 70%;
    padding: 10px;
    border-radius: 10px;
    margin: 0 10px;
}

.bubble.misaki {
    background: #ffe4f1;
}

.bubble.nana {
    background: #e0f5ff;
}

.msg {
    display: flex;
    margin: 1em 0;
}

.msg.ミサキ {
    flex-direction: row;
}

.msg.ナナ {
    flex-direction: row-reverse;
}

/* 読みやすいh1〜h6のスタイル */
.h1 {
    font-size: 39px;
    font-weight: 700;
    color: #222;
    margin: 0px 0 0.7em 0;
    color: #4f8cff;
    border-bottom: 4px solid #4f8cff;
    padding-bottom: 0.2em;
    letter-spacing: 0.03em;
}

h2 {
    font-size: 1.7em;
    font-weight: 600;
    color: #4f8cff;
    border-left: 5px solid #4f8cff;
    padding-left: 0.5em;
    background: #f5faff;
    padding: 17px 20px 20px 26px;
    translate: -54px;
    width: 116%;
    margin-top: 37px;
    margin-bottom: 33px;
}

h3 {
    font-size: 1.3em;
    font-weight: 600;
    color: #3a3a3a;
    margin: 56px 0 21px 0;
    border-left: 3px solid #a3c8f8;
    padding-left: 0.5em;
}

h4 {
    font-size: 1.1em;
    font-weight: 600;
    color: #4f8cff;
    margin: 0.9em 0 0.4em 0;
}

h5 {
    font-size: 1em;
    font-weight: 600;
    color: #4f8cff;
    margin: 0.8em 0 0.3em 0;
}

h6 {
    font-size: 0.95em;
    font-weight: 600;
    color: #888;
    margin: 0.7em 0 0.2em 0;
    letter-spacing: 0.05em;
}

.icon img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.bubble {
    max-width: 70%;
    padding: 10px;
    border-radius: 10px;
    margin: 0 10px;
    background: #eee;
}

.bubble.ミサキ {
    background: #ffe4f1;
}

.bubble.ナナ {
    background: #e0f5ff;
}

.tablewrap {
    overflow: scroll;
    width: 100%;
    background: #c2d6cf;
    padding: 8px;
    margin-bottom: 22px;
}

table {
    width: max-content;
    border-collapse: collapse;
    min-width: 100%;

    /* ▼スクロールがスムーズになる */
    -webkit-overflow-scrolling: touch;
}

th,
td {
    min-width: 100px;
}

table th,
table td {
    padding: 1em;
    border-bottom: 1px solid #ddd;
    background: #fff;
}

table th {
    color: #4d9bc1;
    font-weight: bold;
    text-align: left;
    min-width: 4em;
    position: relative;
    background: #e3f1f8;
}


ul,
ol {
    color: #1e366a;
    padding: 12px 12px 12px 26px;
    background: #f6f6f6;
    border-radius: 15px;
    margin: 10px 0;
    counter-reset: li_count;
}

ul li,
ol li {
    line-height: 1.5;
    padding: 0.5em 0;
}

ul li:before {
    content: "";
    /* 空の要素作成 */
    width: 10px;
    /* 幅指定 */
    height: 10px;
    /* 高さ指定 */
    display: inline-block;
    /* インラインブロックにする */
    background-color: #4a9f4e;
    /* 背景色指定 */
    border-radius: 50%;
    /* 要素を丸くする */
    margin-right: 10px;
}

ol li:before {
    counter-increment: li_count;
    /* カウンタの値を計算していく */
    content: counter(li_count)".";
    /* 数字出力 */
    color: #F44336;
    /* 文字色指定 */
    margin-right: 5px;
    /* 余白指定 */
}

.footer-list {
    background: none;
    display: flex;
    flex-wrap: wrap;
}

.footer-list ul {
    background-color: transparent;
}

.footer-list>li {
    width: 33.33%;
    margin-top: 40px;
}

.footer {
    background-color: #FFE200;
}



@media screen and (max-width: 600px) {
    body {
        padding: 0;
    }

    .tablewrap {
        width: calc(100% + 40px);
        margin-left: -20px;
        margin-right: -20px;
    }

    h1 {
        line-height: 1.2;
        font-size: 35px;
    }

    h2 {
        translate: -20px;
        text-indent: -1em;
        padding-left: 1.2em;
    }

    .bubble {
        max-width: 80%;
    }
}