/* <system section="theme" selected="smooth"> */
@charset "UTF-8";/*!
Theme: Smooth
Author: Hatena Blog Team
Responsive: yes
*//*!
 * Bootstrap Reboot v4.2.1 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):hover,a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}html,body{background:#f9fafb;font-family:helvetica,Segoe UI,游ゴシック体,YuGothic,游ゴシック Medium,Yu Gothic Medium,游ゴシック,Yu Gothic,メイリオ,Meiryo,sans-serif;color:#293030}html{line-height:1}body{font-size:17px;line-height:1.6}img{vertical-align:baseline}a{color:#293030}a:hover{color:#586767;transition:all .3s}.date{margin:0 0 .7em;font-size:.9rem}.date a{color:#6f8383}.date a:hover{color:#a5b3b3}.date-last-updated{color:#6f8383;font-size:.9rem}#globalheader-container{position:sticky;top:0;background:#f9fafb}#container{word-wrap:break-word}#blog-title{max-width:1280px;margin:auto;padding:4% 5%;text-align:center}#title{font-size:150%;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;font-weight:400}@media(min-width:768px){#title{font-size:215%}}#blog-description{font-size:90%;font-weight:400}#content-inner{width:100%;display:flex;flex-direction:column}@media(min-width:768px){#content-inner{flex-direction:row;margin:auto;padding:0 20px}}@media(min-width:1200px){#content-inner{width:1200px}}#wrapper{flex:0 0 100%;max-width:100%}@media(min-width:768px){#wrapper{flex:0 0 75%;max-width:75%}}@media(min-width:1020px){#main{padding:0 3% 0 0}}.header-image-enable #blog-title,.header-image-only #blog-title{padding:0 0 1.5em}@media(min-width:1200px){.header-image-enable #blog-title,.header-image-only #blog-title{width:1160px}}.header-image-enable #blog-title #blog-title-inner,.header-image-only #blog-title #blog-title-inner{display:flex;align-items:center;justify-content:center;height:50vw;max-height:200px}@media(min-width:1200px){.header-image-enable #blog-title #blog-title-inner,.header-image-only #blog-title #blog-title-inner{background-size:100%}}.header-image-enable #blog-title-content,.header-image-only #blog-title-content{margin:0 .5em}.breadcrumb{font-size:.9rem}.categories{margin-bottom:2em}.categories a{display:inline-block;background:#e9f0f2;margin:0 .3em 0 0;padding:0 10px;font-size:12px}.pager{text-align:center;margin:3em .8em}@media(min-width:1020px){.pager{margin:0}}.pager a{display:inline-block;width:100%;background:#eff1f5;padding:.7em 1.2em;border:none;font-weight:400;font-size:.9rem;color:#293030}.pager a:hover{background-color:#e9ecf1;text-decoration:none}.pager .pager-next,.pager .pager-prev{width:100%;padding:.5em 0}.pager .pager-prev+.pager-next{margin-left:1em;padding-left:1em}@media(min-width:768px){.pager .pager-prev+.pager-next{margin-left:1.5em;padding-left:1.5em}}.pager.permalink{display:flex;justify-content:center;align-items:center;text-align:center}.hatena-urllist{padding-left:0;list-style:none}.hatena-urllist li{border-top:1px dotted #cfd8d8;padding-top:10px;padding-bottom:10px}.hatena-urllist .archive-module-year,.hatena-urllist .archive-module-month{line-height:2}.hatena-urllist .urllist-date-link a{color:#6f8383}.hatena-urllist .urllist-category-link{display:inline-block;background:#e9f0f2;margin:.5em .3em 0 0;padding:3px 10px;font-size:12px;line-height:1.3}.hatena-urllist .urllist-category-link:hover{background:#d9e5e9;text-decoration:none;transition:background .3s}.hatena-urllist .urllist-entry-body{margin-top:10px}.hatena-module{margin-bottom:3em;padding-left:20px;padding-right:20px;font-size:.85rem}.hatena-module:last-child{margin-bottom:0}.hatena-module-title{margin-bottom:12px;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;font-size:20px}.hatena-module-body{font-size:15px}.hatena-module-body .urllist-title-link{font-size:100%}.hatena-module-body .archive-module-button{display:inline-block;width:15px;height:15px}.hatena-module-body .archive-module-hide-button,.hatena-module-body .archive-module-show-button{position:absolute;overflow:hidden;width:15px;height:15px;text-indent:-15px}.hatena-module-body .archive-module-hide-button:after,.hatena-module-body .archive-module-show-button:after{content:"";top:50%;display:inline-block;position:absolute;width:8px;height:8px;margin-top:-.1em;border-top:1px solid #6f8383;border-right:1px solid #6f8383}.hatena-module-body .archive-module-hide-button{transform:rotate(135deg);margin-top:.2em}.hatena-module-body .archive-module-show-button{transform:rotate(45deg);margin-top:.2em}@media(min-width:481px){.search-result-form{margin:0 1em}}.search-result+p{background:#fff;border:1px solid #f0f1f1;margin:0 0 3em;padding:8% 0;font-weight:700;text-align:center}.search-form,.search-result-form{position:relative;width:100%;background:#fff;margin:auto;border:1px solid #eee;box-sizing:border-box}.search-form:hover,.search-result-form:hover{border-color:#ddd}.search-module-input,.search-result-form .search-result-input{width:90%;height:30px;padding:5px;background:#fff;border:none;outline:none}.search-module-input::-webkit-input-placeholder,.search-result-form .search-result-input::-webkit-input-placeholder,.search-module-input::-placeholder,.search-result-form .search-result-input::-placeholder{color:#9faba9}.search-module-button,.search-result-form .search-result-button{width:20px;height:20px;background:transparent url(https://cdn.blog.st-hatena.com/images/theme/search@2x.png?version=89f69427ebf1344326896140241320) no-repeat right center;background-size:20px 20px;border:none;outline:none;text-indent:-9999px;position:absolute;top:5px;right:5px;opacity:.5;cursor:pointer}.search-module-button:hover,.search-result-form .search-result-button:hover{opacity:.85}#top-box{margin:0 auto;padding:0 10px}@media(min-width:768px){#top-box{padding:0 20px}}@media(min-width:1200px){#top-box{max-width:1200px}}.entry{background:#fff;border:1px solid #f0f1f1;margin-bottom:2em;padding:8% 5%}@media(min-width:768px){.entry{padding:8% 9% 5%}}.entry-header{position:relative;margin-bottom:1.5em}@media(min-width:481px){.entry-header{margin-bottom:3em}}.entry-header-menu{position:absolute;top:0;right:0;margin-bottom:1em}.entry-header-menu a{background:#f9fafb;border:1px solid #cfd8d8;padding:5px 10px;font-size:.9rem}.entry-header-menu a:hover{background:#f3f5f7;text-decoration:none}.entry-title{margin-bottom:.5em;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;font-size:130%;font-weight:400;line-height:1.5}@media(min-width:768px){.entry-title{font-size:190%}}.entry-content{line-height:1.85}.entry-content a{color:#119e4d}.entry-content a:hover{color:#0c7037}.entry-content a.keyword{-webkit-text-decoration:underline dotted #cfd8d8;text-decoration:underline dotted #cfd8d8}.entry-content a.keyword:hover{color:#586767;-webkit-text-decoration:underline dotted #ffffff;text-decoration:underline dotted #ffffff}.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:1.5em 0 .8em;line-height:1.3}.entry-content h1{padding-bottom:15px;font-size:190%;border-bottom:1px solid #cfd8d8}.entry-content h2{font-size:165%}.entry-content h3{padding-bottom:10px;font-size:140%;border-bottom:1px solid #cfd8d8}.entry-content h4{font-size:130%}.entry-content h5{padding-bottom:10px;font-size:120%;border-bottom:1px solid #cfd8d8}.entry-content h6{font-size:100%}.entry-content ul,.entry-content ol,.entry-content dd{margin:0 0 1em 1.5em;padding:0;line-height:1.7}.entry-content ul li ul,.entry-content ol li ul,.entry-content dd li ul,.entry-content ul li ol,.entry-content ol li ol,.entry-content dd li ol{margin-bottom:0}.entry-content dl{margin-top:2em}.entry-content dl dt{margin-bottom:.8em}.entry-content p{margin:0 0 .7em}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6,.entry-content .footnote-number{scroll-margin-top:56px}.entry-content blockquote{position:relative;padding:9px 15px 9px 40px;border:1px solid #f0f1f1}@media(min-width:1020px){.entry-content blockquote{padding:20px 20px 20px 60px}}.entry-content blockquote:before{display:inline-block;position:absolute;top:10px;left:10px;vertical-align:middle;content:"“";font-size:40px;font-family:Times New Roman,游明朝体,YuMincho,游明朝,Yu Mincho,serif;color:#6f8383;line-height:1}@media(min-width:1020px){.entry-content blockquote:before{left:15px;font-size:70px}}.entry-content blockquote p{margin-bottom:0}.entry-content blockquote cite{display:block;margin-top:.5rem;text-align:right;font-size:85%;line-height:1.3}.entry-content table{border-collapse:collapse;border-spacing:0;border-bottom:1em;margin-bottom:1em;width:100%;overflow:auto;display:block}.entry-content table th,.entry-content table td{border:1px solid #f0f1f1;padding:5px 10px}.entry-content table th{background:#f9fafb}.entry-content pre,.entry-content code{font-family:Monaco,Consolas,Courier New,Courier,monospace,sans-serif}.entry-content pre{background:#293030;border:none;white-space:pre-wrap;text-overflow:ellipsis ellipsis;font-size:100%;font-size:.9rem;padding:10px;color:#ccc}@media(min-width:768px){.entry-content pre{font-size:.85rem;padding:15px}}.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 .1em;padding:0 5px;border-radius:3px}.entry-content .table-of-contents{background:#f9fafb;margin-left:0;padding:15px 10px 15px 35px;font-size:16px}@media(min-width:768px){.entry-content .table-of-contents{padding:20px 20px 20px 50px}}.entry-footer{margin-top:1em}.entry-footer-modules .hatena-module{padding:0}.entry-footer-section{margin-bottom:8px;color:#6f8383;font-size:.9rem}.entry-footer-section a{color:#6f8383}.entry-footer-ad{margin-left:-9%;margin-right:-9%}.comment-box{margin:0 -5%;padding:5% 5% 0;border-top:1px solid #f0f1f1}@media(min-width:768px){.comment-box{margin:0 -11%;padding:20px 11% 0}}.comment-box .leave-comment-title{background:#f9fafb;border:1px solid #cfd8d8;padding:.5rem 1rem;font-size:.9rem}.comment-box .leave-comment-title:hover{background:#f3f5f7}.comment-box .comment{list-style:none;padding-left:0}.comment-box .comment a{color:#119e4d}.comment-box .comment a:hover{color:#0c7037}.comment-box .comment .comment-user-id{font-size:14px;font-weight:700}.comment-box .comment .entry-comment{padding:20px 0 0;border-top:1px solid #f0f1ff;color:#6f8383}.comment-box .comment .entry-comment:first-child{padding-top:0;border-top:none}.comment-box .comment .entry-comment .comment-content{word-wrap:break-word}.comment-box .comment .entry-comment .comment-content p{font-size:14px}.comment-box .comment .entry-comment time{font-size:12px}.comment-box .comment .read-more-comments{font-size:14px}@media(min-width:1020px){.comment-box .comment .read-more-comments{margin-right:25px}}.comment-box .comment .read-more-comments a{position:relative;display:inline-block}.comment-box .comment .read-more-comments a:after{content:"";top:20%;left:-20px;display:inline-block;position:absolute;width:8px;height:8px;border-top:1px solid #119e4d;border-right:1px solid #119e4d;transform:rotate(135deg);margin-top:1px}#box2{flex:0 0 100%;max-width:100%;background:#fff3;padding:1em 0}@media(min-width:768px){#box2{flex:0 0 25%;max-width:25%}}#box2 .hatena-urllist>li:last-child{border-bottom:1px dotted #cfd8d8}.hatena-module-profile .profile-icon-link{display:inline;float:left;margin-right:.7em}.hatena-module-profile .profile-icon-link .profile-icon{border-radius:400px}@media(min-width:1020px){.hatena-module-profile .profile-icon-link{display:block;float:none;margin-right:0}}.hatena-module-profile .id{display:block}.hatena-module-profile .id a{color:#119e4d;font-weight:700}.hatena-module-profile .id a:hover{color:#0c7037}.hatena-module-profile .profile-description p{font-size:80%}.archive-module-calendar .calendar-day a{color:#119e4d;font-weight:700}.archive-module-calendar .calendar-day a:hover{color:#0c7037}.hatena-module-recent-comments .user-id span{font-size:12px;opacity:.7}#footer{background:#fff;margin-top:2em;padding-top:2rem;padding-bottom:2rem;text-align:center;font-size:.9rem;color:#6f8383}#footer a{color:#6f8383}#footer p{margin:.5em auto}.archive-header-category{margin-bottom:.3em}.page-archive .archive-heading{margin:.5em .7em 1.3em;line-height:1.5}@media(min-width:1020px){.page-archive .archive-heading{margin:.5em 0 1.3em}}.page-archive .archive-entries-sort{margin-left:1.2em}@media(min-width:768px){.page-archive .archive-entries-sort{margin-left:0}}.page-archive .archive-entry{background:#fff;border:1px solid #f0f1f1;margin-bottom:30px;padding:9% 6% 6%}@media(min-width:768px){.page-archive .archive-entry{padding:6%}}@media(min-width:768px){.page-archive .archive-entry .entry-title{font-size:150%}}

/* </system> */

/* <system section="background" selected="default"> */
/* default */
/* </system> */
<style>
  .blog-deco-box {
    font-family:"Hiragino Sans","Yu Gothic","Helvetica",Arial,sans-serif;
    line-height:1.85;
  }

  /* 1. シンプル枠線ボックス */
  .box-simple {
    border:2px solid #ccc;
    padding:1em 1.2em;
    margin:1.5em 0;
    border-radius:6px;
    background:#fafafa;
  }

  /* 2. 影付きカード風ボックス */
  .box-shadow {
    border-radius:10px;
    padding:1.2em 1.4em;
    margin:1.8em 0;
    background:#fff;
    box-shadow:0 2px 6px rgba(0,0,0,.15);
  }

  /* 3. 左線強調ボックス */
  .box-leftline {
    border-left:6px solid #4caf50;
    padding:0.8em 1em;
    margin:1.5em 0;
    background:#f9fff9;
  }

  /* 4. 点線枠メモ風ボックス */
  .box-dotted {
    border:2px dashed #888;
    padding:1em 1.2em;
    margin:1.5em 0;
    border-radius:6px;
    background:#fffef7;
  }

  /* 5. リボン付き見出しボックス */
  .box-ribbon {
    position:relative;
    padding:1.4em 1.2em 1.1em;
    margin:2em 0 1.5em;
    border-radius:8px;
    background:#f5f9ff;
    border:1px solid #bbdefb;
  }
  .box-ribbon-title {
    position:absolute;
    top:-0.9em;
    left:0.8em;
    padding:0.2em 0.8em;
    background:#2196f3;
    color:#fff;
    font-weight:bold;
    border-radius:4px;
    font-size:0.9em;
  }

  /* 6. 付箋メモ風ボックス */
  .box-sticky {
    position:relative;
    padding:1.2em 1.4em;
    margin:1.8em 0;
    background:#fff9c4;
    border-radius:4px;
    box-shadow:0 4px 0 rgba(0,0,0,.15);
  }
  .box-sticky:before {
    content:"";
    position:absolute;
    top:-10px;
    left:20px;
    width:60px;
    height:20px;
    background:rgba(0,0,0,0.12);
    transform:rotate(-4deg);
    z-index:-1;
    filter:blur(2px);
  }

  /* 7. 注意・警告ボックス */
  .box-warning {
    border-radius:8px;
    border:2px solid #f44336;
    background:#ffebee;
    padding:1em 1.2em;
    margin:1.5em 0;
  }
  .box-warning-title {
    font-weight:bold;
    color:#c62828;
    margin-bottom:0.3em;
  }

  /* 8. 引用・コラム枠ボックス */
  .box-quote {
    border-left:4px solid #9e9e9e;
    margin:1.5em 0;
    padding:0.5em 1.2em;
    background:#fafafa;
    font-style:italic;
    color:#555;
  }

  /* 9. 吹き出し（左） */
  .balloon-left {
    position:relative;
    display:inline-block;
    max-width:95%;
    margin:1em 0;
    padding:0.8em 1em;
    border-radius:12px;
    background:#e3f2fd;
  }
  .balloon-left:before {
    content:"";
    position:absolute;
    top:12px;
    left:-10px;
    border-width:8px 10px 8px 0;
    border-style:solid;
    border-color:transparent #e3f2fd transparent transparent;
  }

  /* 10. 吹き出し（右） */
  .balloon-right {
    position:relative;
    display:inline-block;
    max-width:95%;
    margin:1em 0 1em auto;
    padding:0.8em 1em;
    border-radius:12px;
    background:#e8f5e9;
  }
  .balloon-right:before {
    content:"";
    position:absolute;
    top:12px;
    right:-10px;
    border-width:8px 0 8px 10px;
    border-style:solid;
    border-color:transparent transparent transparent #e8f5e9;
  }

  /* 11. セクション区切り（飾り線） */
  .section-line {
    width:100%;
    border:0;
    border-top:2px dashed #c5c5c5;
    margin:2em 0;
  }

  /* 12. 強調見出しブロック */
  .headline-box {
    padding:0.7em 1em;
    background:#e8f0fe;
    border-left:6px solid #4285f4;
    font-weight:bold;
    margin:2em 0 1em;
    border-radius:4px;
  }

  /* 13. ノート風（上部タイトル線） */
  .note-line {
    border-top:4px solid #4caf50;
    padding:1em 1.2em;
    margin:1.8em 0;
    background:#f7fff7;
    border-radius:4px;
  }

  /* 14. チェックリストボックス */
  .checklist-box {
    border:2px solid #4caf50;
    padding:1em 1.4em;
    margin:1.8em 0;
    border-radius:8px;
    background:#f9fff9;
  }
  .checklist-box ul {
    margin:0;
    padding-left:1.2em;
  }
  .checklist-box li {
    margin-bottom:0.4em;
  }

  /* 15. 黄色つまみ付きボックス */
  .yellow-tab {
    position:relative;
    background:#fffde7;
    border-left:5px solid #fbc02d;
    padding:1em;
    margin:1.8em 0;
  }
  .yellow-tab:before {
    content:"";
    position:absolute;
    top:-8px;
    left:10px;
    width:20px;
    height:20px;
    background:#fbc02d;
    clip-path:polygon(0 0, 100% 0, 0 100%);
  }

  /* 16. セル風ボックス（ノートアプリ風） */
  .cell-box {
    border:1px solid #ddd;
    padding:1em 1.2em;
    margin:1.5em 0;
    background:#ffffff;
    border-radius:6px;
  }

  /* 17. グラデーション背景ボックス */
  .entry-content .grad-box {
    padding:1.2em 1.4em;
    margin:1.8em 0;
    background:linear-gradient(135deg, #e3f2fd, #fce4ec);
    border-radius:10px;
    color:#333;
  }

  /* 18. 和紙風ボックス */
  .washi {
    padding:1.4em;
    margin:1.8em 0;
    background:#faf7f0;
    border:1px solid #e0d7c6;
    border-radius:8px;
    box-shadow:inset 0 0 4px rgba(0,0,0,0.05);
  }

  /* 19. 画像キャプション用囲み */
  .caption-box {
    border-top:2px solid #bdbdbd;
    border-bottom:2px solid #bdbdbd;
    padding:0.8em;
    margin:1.8em 0;
    font-size:0.95em;
    text-align:center;
    color:#555;
    background:#fafafa;
  }

  /* 20. 2カラムのカード風 */
  .two-card {
    display:flex;
    gap:1em;
    margin:1.8em 0;
  }
  .two-card-item {
    flex:1;
    padding:1em;
    background:#ffffff;
    border:1px solid #ddd;
    border-radius:6px;
    box-shadow:0 2px 4px rgba(0,0,0,.1);
  }
  @media(max-width:600px){
    .two-card {flex-direction:column;}
  }

  /* 21. 目次ボックス */
  .toc-box {
    border:2px solid #90caf9;
    background:#e3f2fd;
    padding:1em 1.2em;
    margin:1.5em 0 2em;
    border-radius:8px;
  }
  .toc-title {
    font-weight:bold;
    margin-bottom:0.4em;
  }
  .toc-box ul {
    margin:0;
    padding-left:1.2em;
  }
  .toc-box li {
    margin-bottom:0.25em;
  }

  /* 22. TIP! 情報ボックス */
  .entry-content .tip-box {
    border-left:6px solid #29b6f6;
    background:#e1f5fe;
    padding:0.9em 1em;
    margin:1.5em 0;
  }
  .entry-content .tip-title {
    font-weight:bold;
    margin-bottom:0.2em;
  }

  /* 23. モノクロ枠（印刷向け） */
  .mono-box {
    border:1px solid #444;
    padding:1em 1.2em;
    margin:1.5em 0;
    background:#f7f7f7;
    border-radius:4px;
    color:#222;
  }

  /* 24. ラベル風ボックス（タグっぽい見出し） */
  .label-box {
    display:inline-block;
    padding:0.25em 0.8em;
    border-radius:999px;
    border:1px solid #9e9e9e;
    background:#f5f5f5;
    font-size:0.9em;
    margin:0.3em 0.2em;
  }

  /* 25. タイムライン風ボックス */
  .timeline-box {
    border-left:3px solid #9e9e9e;
    padding-left:1em;
    margin:1.8em 0;
  }
  .timeline-item {
    margin-bottom:0.8em;
    position:relative;
  }
  .timeline-item:before {
    content:"";
    position:absolute;
    left:-1.2em;
    top:0.35em;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#9e9e9e;
  }
  .timeline-time {
    font-weight:bold;
    margin-right:0.4em;
  }

  /* 26. 番号付き強調ボックス */
  .number-box {
    display:flex;
    align-items:flex-start;
    margin:1.5em 0;
  }
  .number-box-num {
    flex:0 0 auto;
    margin-right:0.6em;
    padding:0.1em 0.6em;
    border-radius:999px;
    background:#3949ab;
    color:#fff;
    font-weight:bold;
  }
  .number-box-body {
    flex:1;
    background:#e8eaf6;
    padding:0.8em 1em;
    border-radius:6px;
  }

  /* 27. Q&Aボックス（質問） */
  .qa-q {
    border-left:4px solid #ffb300;
    background:#fff8e1;
    padding:0.8em 1em;
    margin:1.2em 0 0.4em;
  }

  /* 28. Q&Aボックス（回答） */
  .qa-a {
    border-left:4px solid #43a047;
    background:#e8f5e9;
    padding:0.8em 1em;
    margin:0 0 1.2em;
  }

  /* 29. コラム枠（囲み記事） */
  .column-box {
    border:1px solid #b0bec5;
    background:#eceff1;
    padding:1.2em 1.4em;
    margin:1.8em 0;
    border-radius:8px;
  }
  .column-title {
    font-weight:bold;
    margin-bottom:0.5em;
  }

  /* 30. フッターノートボックス */
  .footer-note {
    border-top:1px solid #cfd8dc;
    margin-top:3em;
    padding-top:1em;
    font-size:0.9em;
    color:#607d8b;
  }

  /* ページ先頭リンク */
  .back-to-top {
    text-align:right;
    font-size:0.9em;
    margin-top:0.5em;
  }
  .back-to-top a {
    text-decoration:none;
  }
</style>
