    @charset "UTF-8";
    /*
      Theme: boilerplate
      Author: Hatena Blog Team
      Responsive: yes
      Description:
        はてなブログのデザインCSSカスタマイズの土台に適したデザインテーマです。
        このテーマをもとにしてCSSを書くと比較的楽にカスタマイズできます。
        特定の部分（例えば記事本文の書式やコメント欄のスタイルなど）だけをコピーして使ってもかまいません。
        もちろんそのままの状態でも、シンプルなテーマとして使うことができます。
        このCSSおよびSCSSファイルは自由に複製・再配布できます。
        このテーマをもとにしたデザインテーマの配布も自由です。
      Released under the MIT License.
    */
    /*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
    /* Document
       ========================================================================== */
    /**
     * 1. Correct the line height in all browsers.
     * 2. Prevent adjustments of font size after orientation changes in
     *    IE on Windows Phone and in iOS.
     */
    html {
        line-height: 1.15;
        /* 1 */
        -ms-text-size-adjust: 100%;
        /* 2 */
        -webkit-text-size-adjust: 100%;
        /* 2 */
    }
    
    /* Sections
       ========================================================================== */
    /**
     * Remove the margin in all browsers (opinionated).
     */
    body {
        margin: 0;
    }
    
    /**
     * Add the correct display in IE 9-.
     */
    article,
    aside,
    footer,
    header,
    nav,
    section {
        display: block;
    }
    
    /**
     * Correct the font size and margin on `h1` elements within `section` and
     * `article` contexts in Chrome, Firefox, and Safari.
     */
    h1 {
        font-size: 2em;
        margin: 0.67em 0;
    }
    
    /* Grouping content
       ========================================================================== */
    /**
     * Add the correct display in IE 9-.
     * 1. Add the correct display in IE.
     */
    figcaption,
    figure,
    main {
        /* 1 */
        display: block;
    }
    
    /**
     * Add the correct margin in IE 8.
     */
    figure {
        margin: 1em 40px;
    }
    
    /**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
    hr {
        -webkit-box-sizing: content-box;
                box-sizing: content-box;
        /* 1 */
        height: 0;
        /* 1 */
        overflow: visible;
        /* 2 */
    }
    
    /**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
    pre {
        font-family: monospace, monospace;
        /* 1 */
        font-size: 1em;
        /* 2 */
    }
    
    /* Text-level semantics
       ========================================================================== */
    /**
     * 1. Remove the gray background on active links in IE 10.
     * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
     */
    a {
        background-color: transparent;
        /* 1 */
        -webkit-text-decoration-skip: objects;
        /* 2 */
    }
    
    /**
     * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
    abbr[title] {
        border-bottom: none;
        /* 1 */
        text-decoration: underline;
        /* 2 */
        -webkit-text-decoration: underline dotted;
                text-decoration: underline dotted;
        /* 2 */
    }
    
    /**
     * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
     */
    b,
    strong {
        font-weight: inherit;
    }
    
    /**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
    b,
    strong {
        font-weight: bolder;
    }
    
    /**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
    code,
    kbd,
    samp {
        font-family: monospace, monospace;
        /* 1 */
        font-size: 1em;
        /* 2 */
    }
    
    /**
     * Add the correct font style in Android 4.3-.
     */
    dfn {
        font-style: italic;
    }
    
    /**
     * Add the correct background and color in IE 9-.
     */
    mark {
        background-color: #ff0;
        color: #000;
    }
    
    /**
     * Add the correct font size in all browsers.
     */
    small {
        font-size: 80%;
    }
    
    /**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
    sub,
    sup {
        font-size: 75%;
        line-height: 0;
        position: relative;
        vertical-align: baseline;
    }
    
    sub {
        bottom: -0.25em;
    }
    
    sup {
        top: -0.5em;
    }
    
    /* Embedded content
       ========================================================================== */
    /**
     * Add the correct display in IE 9-.
     */
    audio,
    video {
        display: inline-block;
    }
    
    /**
     * Add the correct display in iOS 4-7.
     */
    audio:not([controls]) {
        display: none;
        height: 0;
    }
    
    /**
     * Remove the border on images inside links in IE 10-.
     */
    img {
        border-style: none;
    }
    
    /**
     * Hide the overflow in IE.
     */
    svg:not(:root) {
        overflow: hidden;
    }
    
    /* Forms
       ========================================================================== */
    /**
     * 1. Change the font styles in all browsers (opinionated).
     * 2. Remove the margin in Firefox and Safari.
     */
    button,
    input,
    optgroup,
    select,
    textarea {
        font-family: sans-serif;
        /* 1 */
        font-size: 100%;
        /* 1 */
        line-height: 1.15;
        /* 1 */
        margin: 0;
        /* 2 */
    }
    
    /**
     * Show the overflow in IE.
     * 1. Show the overflow in Edge.
     */
    button,
    input {
        /* 1 */
        overflow: visible;
    }
    
    /**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
    button,
    select {
        /* 1 */
        text-transform: none;
    }
    
    /**
     * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
     *    controls in Android 4.
     * 2. Correct the inability to style clickable types in iOS and Safari.
     */
    button,
    html [type="button"],
    [type="reset"],
    [type="submit"] {
        -webkit-appearance: button;
        /* 2 */
    }
    
    /**
     * Remove the inner border and padding in Firefox.
     */
    button::-moz-focus-inner,
    [type="button"]::-moz-focus-inner,
    [type="reset"]::-moz-focus-inner,
    [type="submit"]::-moz-focus-inner {
        border-style: none;
        padding: 0;
    }
    
    /**
     * Restore the focus styles unset by the previous rule.
     */
    button:-moz-focusring,
    [type="button"]:-moz-focusring,
    [type="reset"]:-moz-focusring,
    [type="submit"]:-moz-focusring {
        outline: 1px dotted ButtonText;
    }
    
    /**
     * Correct the padding in Firefox.
     */
    fieldset {
        padding: 0.35em 0.75em 0.625em;
    }
    
    /**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
    legend {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        /* 1 */
        color: inherit;
        /* 2 */
        display: table;
        /* 1 */
        max-width: 100%;
        /* 1 */
        padding: 0;
        /* 3 */
        white-space: normal;
        /* 1 */
    }
    
    /**
     * 1. Add the correct display in IE 9-.
     * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
    progress {
        display: inline-block;
        /* 1 */
        vertical-align: baseline;
        /* 2 */
    }
    
    /**
     * Remove the default vertical scrollbar in IE.
     */
    textarea {
        overflow: auto;
    }
    
    /**
     * 1. Add the correct box sizing in IE 10-.
     * 2. Remove the padding in IE 10-.
     */
    [type="checkbox"],
    [type="radio"] {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        /* 1 */
        padding: 0;
        /* 2 */
    }
    
    /**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
    [type="number"]::-webkit-inner-spin-button,
    [type="number"]::-webkit-outer-spin-button {
        height: auto;
    }
    
    /**
     * 1. Correct the odd appearance in Chrome and Safari.
     * 2. Correct the outline style in Safari.
     */
    [type="search"] {
        -webkit-appearance: textfield;
        /* 1 */
        outline-offset: -2px;
        /* 2 */
    }
    
    /**
     * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
     */
    [type="search"]::-webkit-search-cancel-button,
    [type="search"]::-webkit-search-decoration {
        -webkit-appearance: none;
    }
    
    /**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
    ::-webkit-file-upload-button {
        -webkit-appearance: button;
        /* 1 */
        font: inherit;
        /* 2 */
    }
    
    /* Interactive
       ========================================================================== */
    /*
     * Add the correct display in IE 9-.
     * 1. Add the correct display in Edge, IE, and Firefox.
     */
    details,
    menu {
        display: block;
    }
    
    /*
     * Add the correct display in all browsers.
     */
    summary {
        display: list-item;
    }
    
    /* Scripting
       ========================================================================== */
    /**
     * Add the correct display in IE 9-.
     */
    canvas {
        display: inline-block;
    }
    
    /**
     * Add the correct display in IE.
     */
    template {
        display: none;
    }
    
    /* Hidden
       ========================================================================== */
    /**
     * Add the correct display in IE 10-.
     */
    [hidden] {
        display: none;
    }
    
    html,
    body {
        font-family: 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS PGothic';
        color: #454545;
        background-color: #fff;
        line-height: 1.6;
    }
    
    a {
        color: #1487bd;
    }
    
    a:hover {
        color: #0f668f;
        transition: .2s;
    }
    
    a.keyword {
        text-decoration: none;
        border-bottom: 1px dotted #ddd;
        color: #454545;
    }
    
    h1, h2, h3, h4, h5, h6 {
        color: #333;
        line-height: 1.3;
    }
    
    h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
        color: #333;
        text-decoration: none;
    }
    
    h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
        color: #0f668f;
        transition: .2s;
    }
    
    /* ヘッダ（グローバルヘッダ）
      グローバルヘッダの中はiframeですが、
      #globalheader-container に背景色や文字色を指定することでiframeの中にも色が反映されます。
    */
    #globalheader-container {
        background-color: #454545;
        color: #fff;
    }
    
    /* container */
    #container,
    #footer {
        padding-left: 10px;
        padding-right: 10px;
    }

    #footer img:hover {
        opacity: 0.6;
        transition: .2s;
    }
    #footer .footer-banner {
        background: #333;
        color: #fff;
    }
    #footer .footer-address-org a:hover {
        opacity: 0.6;
        transition: .2s;
    }

    @media (max-width: 767px) {
        #container,
        #footer {
            width: 720px;
            margin: auto;
            padding-left: 0;
            padding-right: 0;
        }
        #footer .footer-3column {
            padding: 8px 0 8px 0;
        }
        #footer .footer-content {
            padding: 40px 16px;
        }
        #footer .footer-address-org {
            padding: 20px;
        }
        #footer .footer-content img {
            width: 100%;
            margin: 0 auto;
            border-radius: 5px;
        }
    }
    
    @media (min-width: 768px) {
        #container,
        #footer {
            width: 100%;
        }
        #footer .footer-3column {
            width: calc(33.33333% - 32px);
            width:  -webkit-calc(100% / 3);
            width: calc(100% / 3);
            padding: 24px 12px 40px 12px;
        }
        #footer .footer-content {
            display: flex;
            max-width: 1280px;
            margin: auto;
        }
        #footer .footer-content, #footer .footer-address-org {
            padding: 20px 40px;
        }
        #footer .footer-content img {
            width: 100%;
            border-radius: 5px;
        }
    }

    
    /* 2カラムレイアウト */
    #content-inner {
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    #box2 {
        flex: 0 0 100%;
        max-width: 100%;
        background: rgba(255,255,255,.2);
        padding: 1em 0;
    }
    #box2 {
        word-wrap: break-word;
    }
    #box2 img:hover {
        opacity: 0.6;
        transition: .2s;
    }
    .hatena-module {
        margin-bottom: 3em;
        padding-left: 10px;
        padding-right: 10px;
        font-size: .85rem;
    }

    @media (min-width: 1360px) {
        #content-inner {
            width: 1360px;
        }
        }
    @media (min-width: 1020px) {
        #main {
            padding: 0;
        }
        }
        
    
    @media (max-width: 767px) {
        #box2 {
            padding: 0 0;
        }
        #content-inner {
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column;
        }
    }
    
    @media (max-width: 767px) {
        #wrapper {
            width: 480px;
        }
    }
    
    @media (min-width: 768px) {
        #wrapper {
            flex: 0 0 73%;
            max-width: 73%;
        }
        #box2 {
            flex: 0 0 27%;
            max-width: 27%;
        }
        .entry {
            padding: 8% 9% 5%;
        }
        #content-inner {
            flex-direction: row;
            margin: auto;
            padding: 0 20px;
        }
        }
    
    @media (max-width: 767px) {
        #box2 {
            width: 100%;
            margin: 0 auto;
        }
    }
    
    @media (min-width: 768px) {
        #box2 {
            min-width: 280px;
        }
    }

    
    /* 下記のスタイルを適用するとテーマを1カラムレイアウトにできます。
    利用するにはコメントアウトを解除してください。
    （2カラムレイアウトの場合はコメントアウト全体が不要です）---- END 1カラム 
    #content-inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    
    #box2 {
        width: 100%;
    }
    
    @media (max-width: 767px) {
        #box2 {
            width: 100%;
        }
    }
    
    @media (min-width: 768px) {
        #box2 {
            width: 100%;
        }
    }
    
    #box2-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
    }
    
    @media (max-width: 767px) {
        #box2-inner {
            margin-left: -20px;
            -webkit-box-orient: horizontal;
            -webkit-box-direction: normal;
                -ms-flex-direction: row;
                    flex-direction: row;
        }
    }
    
    @media (min-width: 768px) {
        #box2-inner {
            margin-left: -30px;
        }
    }
    
    .hatena-module {
        width: 100%;
    }
    
    @media (max-width: 767px) {
        .hatena-module {
            width: 33.3333%;
        }
    }
    
    @media (min-width: 768px) {
        .hatena-module {
            padding-left: 30px;
        }
    }
    
    /* ヘッダ */
    #blog-title {
        margin: 2em 0;
        text-align: center;
    }
    
    @media (max-width: 767px) {
        #blog-title {
            margin: 3em 0;
            text-align: left;
        }
    }
    
    #title {
        margin: 0;
        font-size: 1.5rem;
    }
    
    @media (min-width: 768px) {
        #title {
            font-size: 1.7rem;
        }
    }
    
    #title a {
        color: #454545;
    }
    
    #blog-description {
        font-weight: normal;
        font-size: .8rem;
        margin: 1em 0 0;
    }*/
    
    /* ヘッダ画像を設定したとき */
    .header-image-enable #blog-title {
        margin: 0 0 2em;
    }
    
    .header-image-enable #blog-title-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    
    .header-image-enable #blog-title-content {
        margin-left: 10px;
        margin-right: 10px;
    }
    
    /* タイトル下HTML */
    #top-editarea {
        margin-bottom: 1em;
    }
    
    /* パンくず（カテゴリー、記事ページで表示されます） */
    .breadcrumb {
        font-size: .9rem;
    }
    
    /* entry */
    .entry {
        position: relative;
        margin-bottom: 4em;
    }
    
    .entry-header {
        padding-bottom: 1em;
        margin-bottom: 2em;
        border-bottom: 1px solid #ddd;
        position: relative;
    }
    
    .date {
        margin-bottom: .5em;
        font-size: .9rem;
    }
    
    .date a {
        color: #999;
        text-decoration: none;
    }
    
    .date a:hover {
        text-decoration: underline;
        transition: .2s;
    }
    
    .entry-title {
        margin: 0 0 .3em;
        font-size: 1.5rem;
    }
    
    @media (min-width: 768px) {
        .entry-title {
            font-size: 1.6rem;
        }
    }
    
    .categories {
        margin: .5em 0;
        font-size: .9rem;
    }
    
    .categories a {
        margin-right: .5em;
    }
    
    /* 「編集する」ボタン */
    .entry-header-menu {
        position: absolute;
        top: 0;
        right: 0;
    }
    
    /* 記事内の書式 */
    .entry-content img,
    .entry-content video {
        max-width: 100%;
        height: auto;
    }
    
    .entry-content h1,
    .entry-content h2,
    .entry-content h3,
    .entry-content h4,
    .entry-content h5,
    .entry-content h6 {
        margin: 1em 0 0.8em 0;
    }
    
    .entry-content h1 {
        font-size: 1.5rem;
    }
    
    @media (min-width: 768px) {
        .entry-content h1 {
            font-size: 1.7rem;
        }
    }
    
    .entry-content h2 {
        font-size: 1.4rem;
    }
    
    @media (min-width: 768px) {
        .entry-content h2 {
            font-size: 1.5rem;
        }
    }
    
    .entry-content h3 {
        font-size: 1.2rem;
    }
    
    @media (min-width: 768px) {
        .entry-content h3 {
            font-size: 1.3rem;
        }
    }
    
    .entry-content h4 {
        font-size: 1.1rem;
    }
    
    .entry-content h5 {
        font-size: 1rem;
    }
    
    .entry-content h6 {
        font-size: .9rem;
    }
    
    .entry-content ul,
    .entry-content ol,
    .entry-content dd {
        margin: 0 0 1em 1.5em;
        padding: 0;
    }
    
    .entry-content ul li ul, .entry-content ul li ol,
    .entry-content ol li ul,
    .entry-content ol li ol,
    .entry-content dd li ul,
    .entry-content dd li ol {
        margin-bottom: 0;
    }
    
    .entry-content table {
        border-collapse: collapse;
        border-spacing: 0;
        border-bottom: 1em;
        margin-bottom: 1em;
        width: 100%;
        overflow: auto;
        display: block;
        font-size: .8rem;
    }
    
    @media (min-width: 768px) {
        .entry-content table {
            font-size: .9rem;
        }
    }
    
    .entry-content table th,
    .entry-content table td {
        border: 1px solid #ddd;
        padding: 5px 10px;
    }
    
    .entry-content table th {
        background: #f5f5f5;
    }
    
    .entry-content blockquote {
        border: 1px solid #ddd;
        margin: 0 0 10px;
        padding: 20px;
    }
    
    .entry-content blockquote p:first-child {
        margin-top: 0;
    }
    
    .entry-content blockquote p:last-child {
        margin-bottom: 0;
    }
    
    .entry-content pre,
    .entry-content code {
        font-family: 'Monaco', 'Consolas', 'Courier New', Courier, monospace, sans-serif;
    }
    
    .entry-content pre {
        background: #f5f5f5;
        border: none;
        white-space: pre-wrap;
        text-overflow: ellipsis;
        line-height: 1.3;
        font-size: .8rem;
        padding: 10px;
    }
    
    .entry-content pre > code {
        margin: 0;
        padding: 0;
        white-space: pre;
        border: none;
        background-color: transparent;
        font-family: 'Monaco', 'Consolas', 'Courier New', Courier, monospace, sans-serif;
    }
    
    .entry-content code {
        font-size: 90%;
        margin: 0 2px;
        padding: 0px 5px;
        background-color: #f5f5f5;
        border-radius: 3px;
    }
    
    .entry-content hr {
        width: 50%;
        border: 0;
        border: none;
        border-top: 1px solid #ddd;
        margin: 2em auto;
    }
    
    .entry-content .table-of-contents {
        padding: 1em 1em 1em 2em;
        margin: 1em 0;
        border: 1px solid #ddd;
    }
    #content, #content.hfeed {
        background-color: #f4f4f4;
    }
    
    /* 記事下 */
    .entry-footer .social-buttons {
        margin-bottom: 1em;
    }
    
    .entry-footer-section {
        color: #999;
        font-size: .9rem;
    }
    
    .entry-footer-section a {
        color: #999;
    }
    
    /* コメント */
    .comment-box {
        margin: 1em 0;
    }
    
    .comment-box .comment {
        list-style: none;
        margin: 0 0 15px 0;
        padding: 0;
        line-height: 1.7;
        font-size: .85rem;
    }
    
    @media (max-width: 767px) {
        .comment-box .comment {
            font-size: .9rem;
        }
    }
    
    .comment-box .entry-comment {
        padding: 10px 0 10px 60px;
        border-bottom: 1px solid #ddd;
        position: relative;
    }
    
    .comment-box .entry-comment:first-child {
        border-top: 1px solid #ddd;
    }
    
    .comment-box .read-more-comments {
        padding: 10px 0;
    }
    
    .comment-box .hatena-id-icon {
        position: absolute;
        top: 10px;
        left: 0;
        width: 50px !important;
        height: 50px !important;
        border-radius: 3px;
    }
    
    .comment-user-name {
        margin: 0 0 .4em 0;
        font-weight: bold;
    }
    
    .comment-content {
        margin: 0 0 .4em 0;
        word-wrap: break-word;
        color: #454545;
        font-size: .85rem;
    }
    
    .comment-content p {
        margin: 0 0 .6em 0;
    }
    
    .comment-metadata {
        color: #999;
        margin: 0;
        font-size: .8rem;
    }
    
    .comment-metadata a {
        color: #999;
    }
    
    .leave-comment-title {
        padding: .6em 1em;
        font-size: .85rem;
        border: 1px solid #ddd;
    }
    
    /* Pager */
    .pager {
        margin: 2em 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
    
    /* サイドバーモジュール */
    .hatena-module {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
                margin-bottom:1em;
                padding-left: 10px;
                padding-right: 10px;
                font-size: .85rem;
    }
    
    @media (max-width: 767px) {
        .hatena-module {
            font-size: .9rem;
        }
    }
    
    .hatena-module-title {
        margin-bottom: .6em;
        padding-bottom: .2em;
        border-bottom: 1px solid #ddd;
        font-size: 1rem;
        font-weight: bold;
    }
    
    .hatena-module-title a {
        color: #454545;
        text-decoration: none;
    }
    
    .hatena-module-title a:hover {
        text-decoration: underline;
        transition: .2s;
    }
    
    /* Profile module */
    .hatena-module-profile .profile-icon {
        float: left;
        margin: 0 10px 10px 0;
    }
    
    .hatena-module-profile .id {
        display: block;
        font-weight: bold;
        margin-bottom: .5em;
    }
    
    .hatena-module-profile .profile-description p {
        margin-top: 0;
    }
    
    /* urllist module */
    .hatena-urllist {
        list-style: none;
        margin: 0;
        padding: 0;
    }
    
    .hatena-urllist li {
        padding: .5em 0;
    }
    
    .hatena-urllist li:last-child {
        padding-bottom: 0;
    }
    
    .hatena-urllist li a {
        text-decoration: none;
    }
    
    .hatena-urllist li a:hover {
        text-decoration: underline;
        transition: .2s;
    }
    
    .hatena-urllist .urllist-category-link {
        font-size: .7rem;
        padding: .1em .3em;
    }
    
    .hatena-urllist .urllist-date-link a {
        color: #999;
    }
    
    .hatena-urllist .urllist-entry-body {
        margin-top: .3em;
    }
    
    /* Search module */
    .hatena-module-search-box {
        margin-top: 16px;
    }
    .hatena-module-search-box .search-form {
        align-self: flex-start;
        border: 1px solid #ddd;
        border-radius: 3px;
        width: 100%;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
    
    .hatena-module-search-box .search-module-input {
        -webkit-box-flex: 1;
            -ms-flex: 1 0;
                flex: 1 0;
        padding: 5px;
        color: #333;
        background: none;
        border: none;
        outline: none;
        height: 20px;
    }
    
    .hatena-module-search-box .search-module-button {
        width: 24px;
        height: 24px;
        margin-right: 5px;
        background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cdefs%3E%3Cstyle%3E.a%7Bfill:none;%7D%3C/style%3E%3C/defs%3E%3Ctitle%3Esearch%3C/title%3E%3Cpath d='M16.7,15l-3.4-3.3h-.1a5.4,5.4,0,0,0,.9-3.1,5.6,5.6,0,1,0-5.6,5.6,5.4,5.4,0,0,0,3.1-.9.1.1,0,0,0,.1.1L15,16.7a1.1,1.1,0,0,0,.8.3,1.6,1.6,0,0,0,.9-.3,1.4,1.4,0,0,0,0-1.7M8.5,12.3A3.8,3.8,0,0,1,4.8,8.5,3.8,3.8,0,0,1,8.5,4.7a3.9,3.9,0,0,1,3.8,3.8,3.8,3.8,0,0,1-3.8,3.8'/%3E%3Crect class='a' width='20' height='20'/%3E%3C/svg%3E") no-repeat center;
        background-size: 20px 20px;
        border: none;
        outline: none;
        color: transparent;
        overflow: hidden;
        opacity: .5;
        cursor: pointer;
    }
    
    .hatena-module-search-box .search-module-button:hover {
        opacity: .85;
        transition: .2s;
    }
    
    /* About ページ */
    .page-about .entry-content dt {
        font-weight: bold;
        border-bottom: 1px solid #ddd;
        margin-bottom: .5em;
    }
    
    .page-about .entry-content dd {
        margin-left: 0;
        margin-bottom: 2em;
    }
    
    /* Archive */
    .archive-header-category {
        text-align: center;
    }
    
    .page-archive .entry-title {
        margin: .3em auto;
    }
    
    .page-archive .entry-thumb {
        width: 80px;
        height: 80px;
        background-size: cover;
    }
    
    @media (max-width: 767px) {
        .page-archive .entry-thumb {
            width: 120px;
            height: 120px;
        }
    }
    
    .page-archive .entry-description {
        margin: 0;
        font-size: .85rem;
    }
    
    @media (max-width: 767px) {
        .page-archive .entry-description {
            font-size: .9rem;
        }
    }
    
    .page-archive .social-buttons {
        display: block;
        margin-top: .3em;
    }
    
    /* footer */
    #footer {
        margin-top: 2em;
        padding-bottom: 2rem;
        text-align: center;
        font-size: .8rem;
        color: #999;
    }
    
    #footer a {
        color: #999;
    }
    
    #footer p {
        margin: .5em auto;
    }
    
    /**------------------------------
     * 全体
     ------------------------------*/
    *,
    *:before,
    *:after {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    
    html,
    body {
        width: 100%;
        height: 100%;
        font-family: Gothic MB101 Light, Hiragino Kaku Gothic W3 JIS2004, 'メイリオ', Meiryo, Verdana, 'ＭＳ Ｐゴシック', sans-serif;
    }
    
    #container, #footer {
        width: 100%;
        padding: 0;
    }
    
    #wrapper {
        width: 100%;
        background: #f4f4f4;
    }
    
    @media (max-width: 767px) {
        #main-inner {
            padding: 24px 16px;
        }
    }
    
    @media (min-width: 768px) {
        #main-inner {
            max-width: 960px;
            margin: auto;
            padding: 40px 40px 24px;
        }
    }
    
    #footer {
        padding: 0;
        background: #f5f5f5;
        font-size: 13px;
        color: #aaa;
        text-align: center;
        line-height: 1.6;
        margin: 0;
    }
    
    #footer a {
        color: #aaa;
        text-decoration: none;
    }
    
    /**------------------------------
     * header
     ------------------------------*/
    #blog-title {
        margin: 0;
        border-top: 4px solid #d51b28;
    }
    
    #blog-title-inner {
        max-width: 1310px;
        margin: auto;
        padding: 24px 40px;
    }
    @media (max-width: 1379px) {
        #blog-title-inner {
            padding: 24px 60px;
        } 
    } 
    @media (max-width: 767px) {
        #blog-title-inner {
            padding: 16px 24px 14px;
        }
    }
    
    #blog-title-content #title a {
        background: url(https://jp.images-monotaro.com/techblog/bloglogo.gif) no-repeat;
        width: 300px;
        height: auto;
        display: block;
        text-indent: -9999px;
        background-size: contain;
        background-position: center;
    }
    
    @media (max-width: 767px) {
        #blog-title-content #title a {
            margin: auto;
            width: 240px;
        }
    }
    
    /**------------------------------
     * index 記事一覧
     ------------------------------*/
    .page-archive .archive-entries {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    }
    
    @media (min-width: 768px) {
        .page-archive .archive-entries {
            margin-right: -16px;
            margin-left: -16px;
        }
    }
    
    .page-archive .archive-entry {
        overflow: hidden;
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        background: #fff;
        border-radius: 8px;
        -webkit-box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
                box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
        line-height: 1.3;
        position: relative;
    }
    
    @media (max-width: 767px) {
        .page-archive .archive-entry {
            width: 100%;
            margin: 0 0 24px;
            min-height: 112px;
            padding: 16px;
        }
    }
    
    @media (min-width: 768px) {
        .page-archive .archive-entry {
            width: calc(33.33333% - 32px);
            margin: 0 16px 24px;
            padding: 24px;
        }
    }
    
    .page-archive .archive-entry:hover .archive-entry-header {
        opacity: 0.6;
        transition: .2s;
    }
    
    @media (max-width: 767px) {
        .page-archive .archive-entry-header {
            padding-left: 96px;
        }
    }
    
    @media (min-width: 768px) {
        .page-archive .archive-entry-header {
            margin-top: calc(70% + 24px);
            margin-bottom: 16px;
        }
    }
    
    .page-archive .archive-entry-body {
        display: none;
    }
    
    .page-archive .entry-title {
        margin: 0;
        font-size: 18px;
    }
    
    .page-archive .entry-thumb {
        position: absolute;
    }
    
    @media (max-width: 767px) {
        .page-archive .entry-thumb {
            top: 16px;
            left: 16px;
            width: 80px;
            height: 80px;
        }
    }
    
    @media (min-width: 768px) {
        .page-archive .entry-thumb {
            top: 0;
            left: 0;
            width: 100%;
            padding-top: 70%;
            background-size: cover;
            height: 0;
            margin-right: 0;
        }
    }
    
    @media (min-width: 768px) {
        .page-archive .entry-thumb-link {
            width: 100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1;
        }
    }
    
    .page-archive .entry-thumb-link:hover {
        opacity: 0.6;
        transition: .2s;
    }
    
    .page-archive .entry-description {
        display: none;
    }
    
    .page-archive .social-buttons {
        display: block;
        margin-top: .3em;
    }
    
    .page-archive .categories {
        position: relative;
        z-index: 2;
        margin: 0;
    }
    
    @media (max-width: 767px) {
        .page-archive .categories {
            padding-left: 96px;
            padding-top: 16px;
        }
    }
    
    .page-archive .date {
        margin-bottom: 4px;
        font-size: 16px;
    }
    
    .archive-category-link,
    .entry-category-link {
        background: #333;
        border-radius: 20px;
        color: #fff;
        font-size: 13px;
        padding: 8px 12px;
        text-decoration: none;
        display: inline-block;
margin-bottom: 8px;
    }
    
    .archive-category-link:hover,
    .entry-category-link:hover {
        color: #ccc;
        transition: .2s;
    }
    
    @media (max-width: 767px) {
        .page-index .pager {
            margin: 0 auto;
        }
    }
    
    .page-index .pager-next {
        margin: auto;
    }
    
    .page-index .pager-next a {
        display: block;
        border: 1px solid;
        padding: 8px 16px;
        color: #333;
        text-decoration: none;
        min-width: 160px;
        text-align: center;
        border-radius: 8px;
    }
    
    .page-index .pager-next a:hover {
        opacity: 0.6;
        transition: .2s;
    }
    
    @media screen and (max-width: 1126px) and (min-width: 768px) {
        #wrapper {
            width: calc(100% - 350px);
            flex: 0 0 63%;
            max-width: 63%;
        }
        #box2 {
            min-width: 280px;
            flex: 0 0 37%;
            max-width: 37%;
        }
        .page-archive .archive-entry {
            width: calc(50% - 32px);
        }
    
    }
    /**------------------------------
     * side bar
     ------------------------------*/
    #box2 {
        width: 100%;
        background: #f4f4f4;
    }

    #box2 .side_banner {
        width: 100%;
    }
    #box2 .banner_shadow img {
    border-radius: 6px;
    -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
            box-shadow: 0 5px 5px rgba(0, 0, 0, 0.2);
    }
    
    @media (max-width: 767px) {
        #box2 {
            width: 100%;
        }
    }
    
    @media (min-width: 768px) {
        #box2 {
            width: 100%;
        }
    }
    
    #box2-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        margin: 0;
    }
    
    @media (max-width: 767px) {
        #box2-inner {
            padding: 32px 16px 0;
        }
    }
    
    @media (min-width: 768px) {
        #box2-inner {
            max-width: 960px;
            margin: auto;
            padding: 23px 20px 20px 20px;
        }
    }
    
    /**------------------------------
     * module
     ------------------------------*/
    #box2 .hatena-module {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
    }

    #box2 .hatena-module-html > .hatena-module-title {
display: none;
    }
    
    @media (max-width: 767px) {
        #box2 .hatena-module {
            width: 100%;
        }
    }
    
    /* @media (min-width: 768px) {
        #box2 .hatena-module {
            width: 33.3333%;
            padding-left: 24px;
            padding-right: 24px;
        }
    } */
    
    #box2 .hatena-module-title,
    #box2 .hatena-module-title a,
    #box2 .hatena-module p {
        color: #333;
    }
    
    #box2 .hatena-module-title {
        display: block;
        /* border-top: 1px solid #707070; */
        border-bottom: none;
    }
    
    @media (max-width: 767px) {
        #box2 .hatena-module-title {
            font-size: 20px;
            padding-top: 20px;
            margin-bottom: 8px;
            border-bottom: 1px solid #ccc;
        }
    }
    
    @media (min-width: 768px) {
        #box2 .hatena-module-title {
            font-size: 18px;
            padding-top: 24px;
            margin-bottom: 24px;
            line-height: 1.3;
            border-bottom: 1px solid #ccc;
        }
    }
    
    #box2 .hatena-urllist li a {
        color: #333;
    }
    #box2 .hatena-urllist li a:hover {
        color: #d51b28;
        transition: .2s;
    }
    
    #box2 .hatena-module-search-box {
        width: 100%;
    }
    
    @media (max-width: 767px) {
        #box2 .hatena-module-search-box {
            margin-bottom: 32px;
        }
    }
    
    #box2 .hatena-module-search-box .hatena-module-title {
        display: none;
    }
    
    #box2 .hatena-module-search-box .search-module-input {
        padding: 16px 0 16px 16px;
    }
    
    #box2 .hatena-module-search-box .search-form {
        background: #fff;
        align-self: flex-start;
    }
    
    .hatena-module-body .archive-module-hide-button {
        color: #fff;
    }
    
    #box2 .hatena-module-entries-access-ranking {
        width: 100% !important;
        margin-bottom: 32px;
    }
    
    #box2 .hatena-module-entries-access-ranking .hatena-module-title {
        font-size: 18px;
            padding-top: 32px;
    border-bottom: 1px solid #ccc;
    }
    
    #box2 .hatena-module-entries-access-ranking .urllist-date-link {
        font-size: 14px;
    }

    #box2 .urllist-date-link.entries-access-ranking-date-link {
        font-size: 12px;
    }
    
    #box2 .urllist-title.entries-access-ranking-title {
        font-size: 14px;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
    }
    
    @media (max-width: 767px) {
        #box2 .hatena-module-entries-access-ranking .urllist-title-link {
            font-size: 14px;
        }
        #box2 .hatena-module-search-box .search-module-input {
            padding: 24px 0 24px 24px;
        }
    }
    
    @media (max-width: 767px) {
        #box2 .hatena-module-entries-access-ranking .hatena-urllist li {
            padding-bottom: 8px;
        }
        #box2 .hatena-module-entries-access-ranking .hatena-urllist li:last-child {
            padding-bottom: 0;
        }
    }
    
    #box2 .hatena-module-entries-access-ranking .entries-access-ranking-image {
        margin-right: 24px;
    }
    
    /* @media (max-width: 767px) {
        #box2 .hatena-module-entries-access-ranking .entries-access-ranking-image {
            display: none;
        }
    } */
    
    #box2 .hatena-module-category {
        width: 100% !important;
        margin-bottom: 40px;
    }
    
    #box2 .hatena-module-category .hatena-module-title {
        font-size: 18px;
        padding-top: 32px;
        border-bottom: 1px solid #ccc;
    }
    
    #box2 .hatena-module-category ul li {
        display: inline-block;
        margin-right: 12px;
    }
    
    /**------------------------------
     * ぱんくず
     ------------------------------*/
    #top-box {
        background: #f4f4f4;
        border-bottom: 1px solid #e1e1e1;
    }
    
    .breadcrumb {
        max-width: 1310px;
        margin: auto;
        padding: 8px 40px;
    }
    
    @media (max-width: 767px) {
        .breadcrumb {
            padding: 8px 16px;
        }
    }
    
    .breadcrumb-link {
        color: #333;
    }
    
    /**------------------------------
     * アーカイブ
     ------------------------------*/
    @media (max-width: 767px) {
        .archive-header-category {
            margin-bottom: 16px;
        }
    }
    
    .archive-heading {
        margin-top: 0;
    }
    
    /**------------------------------
     * 記事ページ
     ------------------------------*/
    .entry {
        background: #fff;
    }
    
    @media (max-width: 767px) {
        .entry {
            padding: 24px 24px;
        }
    }
    
    @media (min-width: 768px) {
        .entry {
            padding: 40px 80px;
        }
    }
    
    .entry .entry-title {
        margin-bottom: 0;
        font-size: 32px;
    }
    
    .entry .entry-categories {
        margin-top: 16px;
    }
    
    .entry-header {
        padding-bottom: 24px;
    }
    
    .entry-content h2 {
        font-size: 28px;
        margin: 56px 0 24px;
    }
    
    .entry-content h2:not(:nth-child(1)) {
        margin-top: 0;
    }
    
    .entry-content h3 {
        font-size: 24px;
        margin: 48px 0 24px;
    }
    
    .entry-content table {
        margin-top: 40px;
        margin-bottom: 40px;
    }
    
    .entry-content img {
        display: block;
        margin: 32px 0;
    }
    
    .entry-content table img {
        margin: 0;
    }
    
    .entry-content > ul {
        margin: 32px 0 1em 32px;
    }
    
    .entry-content ul li {
        margin-bottom: 8px;
    }
    
    .entry-content ul > li > ul {
        margin: 8px 0 1em 8px;
    }
    
    .entry-content .hatena-module {
        padding-left: 0;
    }
    
    .customized-footer .hatena-module {
        padding-left: 0;
    }
    /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJvaWxlcnBsYXRlLmNzcyIsIi4uL3Njc3MvYm9pbGVycGxhdGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi9zY3NzL2xpYi9fY29yZS5zY3NzIiwiLi4vc2Nzcy9saWIvX3ZhcmlhYmxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQ2pCOzs7Ozs7Ozs7Ozs7RUFZRTtBQ2JGLDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7Ozs7R0FJRztBQUVIO0lBQ0Usa0JBQWlCO0lBQUUsT0FBTztJQUMxQiwyQkFBMEI7SUFBRSxPQUFPO0lBQ25DLCtCQUE4QjtJQUFFLE9BQU87Q0FDeEM7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOztHQUVHO0FBRUg7SUFDRSxVQUFTO0NBQ1Y7O0FBRUQ7O0dBRUc7QUFFSDs7Ozs7O0lBTUUsZUFBYztDQUNmOztBQUVEOzs7R0FHRztBQUVIO0lBQ0UsZUFBYztJQUNkLGlCQUFnQjtDQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7OztJQUVPLE9BQU87SUFDWixlQUFjO0NBQ2Y7O0FBRUQ7O0dBRUc7QUFFSDtJQUNFLGlCQUFnQjtDQUNqQjs7QUFFRDs7O0dBR0c7QUFFSDtJQUNFLGdDQUF1QjtZQUF2Qix3QkFBdUI7SUFBRSxPQUFPO0lBQ2hDLFVBQVM7SUFBRSxPQUFPO0lBQ2xCLGtCQUFpQjtJQUFFLE9BQU87Q0FDM0I7O0FBRUQ7OztHQUdHO0FBRUg7SUFDRSxrQ0FBaUM7SUFBRSxPQUFPO0lBQzFDLGVBQWM7SUFBRSxPQUFPO0NBQ3hCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDtJQUNFLDhCQUE2QjtJQUFFLE9BQU87SUFDdEMsc0NBQXFDO0lBQUUsT0FBTztDQUMvQzs7QUFFRDs7O0dBR0c7QUFFSDtJQUNFLG9CQUFtQjtJQUFFLE9BQU87SUFDNUIsMkJBQTBCO0lBQUUsT0FBTztJQUNuQywwQ0FBaUM7WUFBakMs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 */