/* ==========================================================================
   システム・基本テーマ設定
   ========================================================================== */
/* <system section="theme" selected="short"> */
@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;700&display=swap";/*!
    Short
    Author: Hatena Blog Team
    Responsive: Yes
*//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}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{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--font: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-entry-title: "DM Sans", -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"游ゴシック体",YuGothic,"游ゴシック","Yu Gothic",sans-serif;--font-size-50: 12px;--font-size-65: 13px;--font-size-75: 14px;--font-size-85: 15px;--font-size-95: 16px;--font-size-100: 17px;--font-size-200: 20px;--font-size-300: 24px;--font-size-400: 32px;--font-size-500: 40px;--font-size-600: 48px;--font-size-700: 56px;--font-size-800: 64px;--font-size-900: 72px;--line-height-none: 1;--line-height-xs: 1.25;--line-height-sm: 1.4;--line-height-base: 1.6;--line-height-lg: 1.75;--letter-spacing-200: .25px;--letter-spacing-300: 2px;--letter-spacing-400: 1em;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 40px;--space-7: 48px;--space-8: 64px;--space-9: 80px;--col-width: 90vw;--col-width-sm: 520px;--col-width-md: 940px;--col-width-lg: 1200px;--border-radius-img: 6px;--border-radius-btn: 6px;--border-radius-box: 12px;--z-index-back: 1;--z-index-front: 2;--z-index-modal: 10;--box-shadow-modal: 0 4px 24px rgba(0, 0, 0, .25);--color-white: #fff;--color-dark: #333;--color-gray: #75817c;--color-gray-50: #f9f9f9;--color-gray-100: #f3f4f5;--color-gray-150: #eaebed;--color-gray-200: #dfe7e5;--color-blue: #1852c7;--color-green: #229308;--color-green-dark: #1d5e0e;--color-lightblue: #EAEFFC;--color-bg: var(--color-white);--color-bg-white: var(--color-white);--color-bg-light: var(--color-gray-100);--color-bg-category: var(--color-lightblue);--color-bg-entry-footer: var(--color-gray-50);--color-text: var(--color-dark);--color-text-secondary: var(--color-gray);--color-text-link: var(--color-blue);--color-text-highlight: var(--color-green);--color-text-white: var(--color-white);--color-text-white-secondary: var(--color-gray-100);--color-border: var(--color-gray-200);--color-border-entry: rgba(0, 0, 0, .04);--color-spacing-entry-mobile: rgba(0, 0, 0, .06);--color-btn-default-bg: rgba(25, 48, 70, .1);--color-btn-default-bg-hover: rgba(25, 48, 70, .2);--color-btn-default-text: var(--color-dark);--color-btn-primary-bg: rgba(53, 165, 38, .14);--color-btn-primary-bg-hover: rgba(53, 165, 38, .24);--color-btn-primary-text: var(--color-green-dark)}*{box-sizing:border-box;word-wrap:break-word;word-break:break-word}body{font-family:var(--font);background:var(--color-bg-light);color:var(--color-text);line-height:var(--line-height-base);font-size:var(--font-size-100)}@media (min-width: 576px){body{background:var(--color-bg);font-size:var(--font-size-95)}}#container{margin:0 auto}#container{margin:auto;max-width:var(--col-width-md)}#main{max-width:var(--col-width-sm);margin:auto}#globalheader-container{position:-webkit-sticky;position:sticky;top:0;background:var(--color-bg)}#blog-title{margin:var(--space-6) 0;text-align:center}@media (min-width: 576px){#blog-title{margin:var(--space-7) 0}}#title{font-size:var(--font-size-300);margin:0;font-weight:400}#title a{color:inherit;text-decoration:none}#blog-description{font-size:var(--font-size-85);color:var(--color-text-secondary);font-weight:400}.header-image-enable #blog-title-inner{display:flex;justify-content:center;align-items:center}#top-editarea{margin:0 var(--space-3);max-width:var(--col-width-sm)}@media (min-width: 576px){#top-editarea{margin:0 auto}}#top-box{margin:0 var(--space-3);max-width:var(--col-width-sm)}@media (min-width: 576px){#top-box{margin:0 auto}}.breadcrumb{font-size:var(--font-size-50);color:var(--color-text-secondary)}.breadcrumb a{color:inherit;text-decoration:none}.entry+.entry{margin-top:var(--space-4)}@media (min-width: 576px){.entry+.entry{margin-top:var(--space-5)}}.entry .entry-inner{position:relative;padding:var(--space-3);background:var(--color-bg)}@media (min-width: 576px){.entry .entry-inner{border-radius:var(--border-radius-box);box-shadow:0 0 0 6px var(--color-border-entry);margin:6px}}.entry .date{color:var(--color-text-highlight);font-weight:700;font-size:var(--font-size-75)}.entry .date a{color:inherit;text-decoration:none}.entry .categories .entry-category-link{display:inline-block;margin-right:var(--space-1);font-size:var(--font-size-75);line-height:var(--line-height-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-50);background:var(--color-bg-category);color:var(--color-text);text-decoration:none;border-radius:24px}.entry .entry-header-menu a{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-block;line-height:var(--line-height-base);font-family:inherit;text-decoration:none;text-align:center;transition:all .25s;font-weight:400;border:0;cursor:pointer;padding:var(--space-2) var(--space-3);font-size:var(--font-size-85);border-radius:var(--border-radius-btn);font-size:var(--font-size-65);color:var(--color-btn-primary-text);background:var(--color-btn-primary-bg)}.entry .entry-header-menu a:hover{background:var(--color-btn-primary-bg-hover)}.entry-header{margin-bottom:var(--space-3)}.entry-header .entry-title{font-size:var(--font-size-200);color:var(--color-text);margin:0 0 var(--space-2)}.entry-header .entry-title a{color:inherit;text-decoration:none}.entry-footer{padding:var(--space-3);margin:var(--space-3) calc(var(--space-3) * -1) calc(var(--space-3) * -1);background:var(--color-bg-entry-footer);font-size:Var(--font-size-75);color:var(--color-text-secondary)}@media (min-width: 576px){.entry-footer{border-radius:0 0 var(--border-radius-box) var(--border-radius-box)}}.entry-footer a{color:inherit}.entry-footer .hatena-star-container,.entry-footer .hatena-module{margin:var(--space-3) 0}.entry-footer .hatena-module .hatena-module-title{font-size:var(--font-size-85);border-bottom:2px solid var(--color-border);font-weight:700;margin:0 0 var(--space-3)}.entry-footer .hatena-module .urllist-title-link{color:var(--color-text)}.entry-footer .hatena-module .urllist-image{width:64px;height:64px}.entry-content{line-height:var(--line-height-lg)}.entry-content a{color:var(--color-text-link)}.entry-content .keyword{border-bottom:1px solid var(--color-border);text-decoration:none}.entry-content p{margin:1em 0}.entry-content img{max-width:100%}.entry-content img.hatena-fotolife{border-radius:var(--border-radius-img)}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin:1.75em 0 .75em;line-height:var(--line-height-sm)}.entry-content h1,.entry-content h3{border-bottom:2px solid var(--color-border);padding:0 0 var(--space-1)}.entry-content h1{font-size:140%}.entry-content h2{font-size:130%}.entry-content h3{font-size:120%}.entry-content h4{font-size:110%}.entry-content h5{font-size:100%}.entry-content h6{font-size:90%}.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 table{border-collapse:collapse;border-spacing:0;margin:1.5em auto;font-size:90%}.entry-content table img{max-width:none}.entry-content table th{background:var(--color-bg-light);white-space:nowrap}.entry-content table th,.entry-content table td{border:1px solid var(--color-border);padding:.5em}.entry-content .help-table{overflow:auto}.entry-content blockquote{border-left:4px solid var(--color-border);margin:1em 0;padding-left:.75em;color:var(--color-text-secondary)}.entry-content blockquote p{margin-top:0;margin-bottom:0}.entry-content blockquote a{color:inherit}.entry-content pre.code{font-size:var(--font-size-85)}.entry-content pre>code{margin:0;padding:0;white-space:pre;border:0;background:transparent;font-family:Monaco,Consolas,Courier New,Courier,monospace,sans-serif}.entry-content .hatena-asin-detail li{line-height:1.4}.entry-content ul,.entry-content ol{padding-left:1.75em}.entry-content ul>li:not(:first-child),.entry-content ol>li:not(:first-child){margin-top:.3em}.entry-content ul ul li,.entry-content ol ul li{margin-top:.3em}.entry-content .table-of-contents{background-color:var(--color-bg-light);border-radius:var(--border-radius-box);padding:1.5em 1.5em 1.5em 2.5em;margin:1.5rem 0;font-size:var(--font-size-85)}.entry-content .table-of-contents li{margin:0}.comment-box .leave-comment-title{display:inline-block;line-height:var(--line-height-base);font-family:inherit;text-decoration:none;text-align:center;transition:all .25s;font-weight:400;border:0;cursor:pointer;padding:var(--space-2) var(--space-3);font-size:var(--font-size-85);border-radius:var(--border-radius-btn);background:var(--color-bg-white);color:var(--color-btn-default-text);font-size:var(--font-size-65)}.comment-box .leave-comment-title:hover{color:var(--color-text-link)}.comment{margin:var(--space-3) 0 0;padding:0;list-style:none}.comment li{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.comment .entry-comment{position:relative;padding-left:40px}.comment .hatena-id-icon{width:32px;height:32px;border-radius:32px;position:absolute;top:0;left:0}.comment .comment-user-name{font-weight:700;margin:0 0 var(--space-2)}.comment .comment-metadata{margin-bottom:0}.pager{text-align:center;display:flex;justify-content:center;color:var(--color-text);gap:var(--space-2);margin:var(--space-4) var(--space-3) 0}@media (min-width: 576px){.pager{margin-left:auto;margin-right:auto}}.pager>*{flex:1}.pager a{display:inline-block;line-height:var(--line-height-base);font-family:inherit;text-decoration:none;text-align:center;transition:all .25s;font-weight:400;border:0;cursor:pointer;padding:var(--space-2) var(--space-3);font-size:var(--font-size-85);border-radius:var(--border-radius-btn);color:var(--color-btn-default-text);background:var(--color-btn-default-bg);width:100%;display:block}.pager a:hover{background:var(--color-btn-default-bg-hover)}#box2{margin:var(--space-5) var(--space-3) 0;font-size:var(--font-size-85)}@media (min-width: 576px){#box2{font-size:var(--font-size-75)}}#box2-inner{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}#box2-inner .hatena-module{background-color:var(--color-bg);padding:var(--space-3);border-radius:var(--border-radius-box)}#box2-inner .hatena-module-title{margin:0 0 var(--space-3);border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);font-weight:700}#box2-inner .hatena-module-title a{color:inherit;text-decoration:none}#box2-inner .hatena-module-body a{color:inherit}.hatena-urllist{list-style:none;margin:0;padding:0}.hatena-urllist li{margin-bottom:calc(var(--space-2) + var(--space-1));padding-bottom:calc(var(--space-2) + var(--space-1));border-bottom:1px solid var(--color-border)}.hatena-urllist li a{text-decoration:none}.hatena-urllist li a:hover{text-decoration:underline}.hatena-urllist .urllist-date-link{color:var(--color-text-secondary)}.hatena-urllist .urllist-date-link a{color:inherit}.hatena-urllist .urllist-entry-body{color:var(--color-text-secondary)}.hatena-urllist .urllist-category-link{display:inline-block;margin-right:var(--space-1);line-height:var(--line-height-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-50);background:var(--color-bg-category);color:var(--color-text);text-decoration:none;border-radius:24px}.hatena-urllist .urllist-image{border-radius:var(--border-radius-img)}.hatena-module-profile .profile-icon{border-radius:64px}.hatena-module-profile .profile-icon-link{text-decoration:none}.hatena-module-search-box .search-form{display:flex;justify-content:center;border:1px solid var(--color-border);border-radius:var(--border-radius-box);overflow:hidden;position:relative}.hatena-module-search-box .search-form .search-module-input{width:100%;outline:0;border:none;margin:0;padding:var(--space-2)}.hatena-module-search-box .search-form .search-module-button{width:24px;height:24px;background:transparent url(https://cdn.blog.st-hatena.com/images/theme/search@2x.png?version=d6ec8ed7f3726c429bc47e82a91f04) no-repeat center;background-size:20px 20px;position:absolute;top:4px;right:6px;border:none;outline:0;text-indent:-9999px;opacity:.5;cursor:pointer}.hatena-module-search-box .search-form .search-module-button:hover,.hatena-module-search-box .search-form .search-module-button:focus{transition:color .3s;opacity:1}#footer{text-align:center;margin:var(--space-6) var(--space-3) var(--space-3);font-size:var(--font-size-75);color:var(--color-text-secondary)}#footer a{color:var(--color-text);text-decoration:none}.page-about .entry-content dl{margin:0}.page-about .entry-content dt{font-size:var(--font-size-75);font-weight:700;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);margin-bottom:var(--space-2)}.page-about .entry-content dd{margin-left:0}.page-about .entry-content dd+dt{margin-top:var(--space-4)}.archive-entries{display:grid;gap:var(--space-4);background-color:var(--color-spacing-entry-mobile)}@media (min-width: 576px){.archive-entries{background-color:transparent}}.archive-heading{font-size:var(--font-size-200)}.archive-entry{padding:var(--space-3);background:var(--color-bg)}@media (min-width: 576px){.archive-entry{border:6px solid var(--color-border-entry);border-radius:var(--border-radius-box)}}.archive-entry .archive-entry-header{margin-bottom:var(--space-2)}.archive-entry .archive-entry-header .entry-title{font-size:var(--font-size-200);color:var(--color-text);margin:0 0 var(--space-2)}.archive-entry .archive-entry-header .entry-title a{color:inherit;text-decoration:none}.archive-entry .date{color:var(--color-text-highlight);font-weight:700;font-size:var(--font-size-75)}.archive-entry .date a{color:inherit;text-decoration:none}.archive-entry .categories{margin-bottom:var(--space-2)}.archive-entry .archive-category-link{display:inline-block;margin-right:var(--space-1);font-size:var(--font-size-75);line-height:var(--line-height-sm);padding:var(--space-1) var(--space-2);font-size:var(--font-size-50);background:var(--color-bg-category);color:var(--color-text);text-decoration:none;border-radius:24px}.archive-entry .entry-description{margin:0;font-size:var(--font-size-75)}.archive-entry .entry-thumb{border-radius:var(--border-radius-img)}.search-result{margin:0 var(--space-3) var(--space-5);max-width:var(--col-width-sm)}@media (min-width: 576px){.search-result{margin-left:auto;margin-right:auto}}

/* </system> */

/* <system section="background" selected="fff"> */
body { background: #fff; }
/* </system> */


/* ==========================================================================
   フォント・タイポグラフィ
   ========================================================================== */
/* M PLUS 1p フォント定義 */
.m-plus-1p-black {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 800;
  font-style: normal;
}

/* ブログタイトル */
#title a {
  font-family: 'M PLUS 1p', sans-serif !important;
  font-size: 48px !important;
}

/* ブログ説明文 */
h2#blog-description {
  margin: 0;
  color: #000000;
}

/* 記事内の見出し（h2）装飾 */
.entry-content h2 {
  border-left: 6px solid #333;
  padding-left: 8px;
  position: relative;
}

/* 記事内の強調（strong）装飾：マーカー風 */
article strong {
  text-decoration: none;
  background: linear-gradient(rgba(254, 254, 152, 0) 30%, #FEFE98 90%);
}

/* リンクカラー */
.entry-content a {
  color: #0867bf;
  text-decoration: none;
}
.entry-content a:hover {
  text-decoration: underline;
}


/* ==========================================================================
   全体レイアウト・コンテナ
   ========================================================================== */
/* メインカラム（PC最大幅1200px） */
#main, .main, .content {
  max-width: 1200px !important;
  margin: 0 auto;
  box-sizing: border-box;
}

/* 記事ページ・固定ページは読みやすく600px制限 */
.page-entry #main,
.page-entry .main,
.page-entry .content {
  max-width: 600px !important;
}

/* フッター等の幅調整（PCのみ全幅） */
@media screen and (min-width: 992px) {
  #container-inner, #footer {
    max-width: 100%;
  }
}


/* ==========================================================================
   記事一覧（アーカイブ）レイアウト
   ========================================================================== */
/* PC表示（768px以上）：2列グリッド */
@media screen and (min-width: 768px) {
  .archive-entries {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

/* スマホ表示（767px以下）：1列（リスト）表示 */
@media screen and (max-width: 767px) {
  .archive-entries {
    display: block !important;
  }
}

/* 記事カードの設定 */
.archive-entry {
  border: none;
}
/* 一覧のサムネイルサイズ固定（リスト表示時） */
.page-archive .entry-thumb {
  width: 200px;
  height: 100px;
  object-fit: cover;
}
/* 一覧の本文抜粋（スマホ等で長くなりすぎないようカット） */
.page-index .entry-content p,
.page-archive p {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

/* カード内のタイトル文字サイズ */
.archive-entry .archive-entry-header .entry-title {
  font-size: var(--font-size-100);
  color: var(--color-text);
  margin: 0 0 var(--space-2);
}


/* ==========================================================================
   記事内パーツ・装飾
   ========================================================================== */
/* 目次（Table of Contents） */
.table-of-contents:before {
  content: "目次";
  font-size: 150%;
  display: block;
  margin-bottom: 10px;
}
.entry-content .table-of-contents {
  background-color: transparent !important; /* 背景色なし */
}

/* 「あわせて読みたい」リンク */
.entry-content .emphasize-link {
  position: relative;
  margin: 36px 0 16px;
  padding: 16px 10px;
  border: 2px solid #ffa200;
  background-color: #fffbf5;
  border-radius: 4px;
}
.entry-content .emphasize-link p:last-child {
  margin-bottom: 0;
}
.entry-content .emphasize-link::before {
  position: absolute;
  top: -12px;
  left: 10px;
  padding: 0 10px;
  content: "あわせて読みたい";
  background-color: #ffa200;
  border-radius: 10px;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 20px;
}

/* ボタンリンク（.article-btn） */
.article-btn a {
  display: block;
  text-decoration: none;
  padding: 10px 5px;
  border-radius: 50px;
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  background-color: #ff7c0a; /* オレンジ */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
  transition: all 0.3s;
}
.article-btn a:hover {
  color: #ffffff;
  background-color: #ffa200;
}


/* ==========================================================================
   会話形式吹き出し (.r-fuki)
   ========================================================================== */
.entry-content .r-fuki {
  position: relative;
  width: calc(100% - 82px);
  margin: 20px 0 40px auto;
  padding: 10px;
  border-radius: 6px;
  border: 2px solid #ddd;
  background-color: #fff;
  z-index: 1;
  box-sizing: border-box;
}

/* 吹き出しのしっぽ */
.entry-content .r-fuki::before {
  position: absolute;
  content: "";
  top: 16px;
  left: -7px;
  width: 10px;
  height: 10px;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  background-color: #fff;
  transform: rotate(135deg);
  z-index: 2;
}

/* アイコン画像エリア */
.entry-content .r-fuki::after {
  position: absolute;
  content: "";
  width: 60px;
  height: 60px;
  top: -6px;
  left: -82px;
  border-radius: 6px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* PCサイズでの吹き出し調整 */
@media screen and (min-width: 478px) {
  .entry-content .r-fuki {
    width: calc(100% - 106px);
  }
  .entry-content .r-fuki::after {
    width: 80px;
    height: 80px;
    left: -106px;
  }
}

/* アイコン画像指定 */
.hobiwo::after { background-image: url(https://cdn-ak.f.st-hatena.com/images/fotolife/h/hobiwo/20260207/20260207100823.png); }
.ao::after     { background-image: url(https://cdn-ak.f.st-hatena.com/images/fotolife/h/hobiwo/20160512/20160512230719.png); }
.siro::after   { background-image: url(https://cdn-ak.f.st-hatena.com/images/fotolife/h/hobiwo/20160512/20160512230751.png); }
.sonta::after  { background-image: url(https://cdn-ak.f.st-hatena.com/images/fotolife/h/hobiwo/20170402/20170402102321.png); }
.mikan::after  { background-image: url(https://cdn-ak2.f.st-hatena.com/images/fotolife/h/hobiwo/20171206/20171206073040.png); }


/* ==========================================================================
   YouTube埋め込み（軽量化・レスポンシブ対応）
   ========================================================================== */
/* ★修正：アスペクト比を維持するための記述に変更 */
.youtube {
  position: relative;
  display: block;
  width: 100%;
  height: 0;
  padding-top: 56.25%; /* 16:9のアスペクト比を確保 */
  max-width: 640px;
  margin: 20px auto;
  background: #000;
}
/* ★修正：.youtube-inner は不要なため、直接 img/iframe を指定 */
.youtube img, .youtube iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100% !important;
  height: 100% !important;
  border: none;
  object-fit: contain; /* 上下に黒帯を入れて全体を表示 */
}

/* 再生ボタン（CSSのみで描画） */
.youtube::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 68px; height: 48px;
  /* ★修正：SVGのエンコードを修正し、確実に表示されるようにする */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 68 48'%3E%3Cpath d='M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z' fill='%23f00'/%3E%3Cpath d='M 45,24 27,14 27,34' fill='%23fff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  pointer-events: none;
  transition: transform 0.2s;
  z-index: 2; /* 画像より前に出す */
}
.youtube:hover::after {
  transform: translate(-50%, -50%) scale(1.1);
}

/* 不要なテキスト要素を非表示 */
.youtube::before { display: none !important; }


/* ==========================================================================
   Amazonリンクカード (.hatena-asin-detail)
   ========================================================================== */
.hatena-asin-detail, .itunes-embed {
  background: #ffffff;
}
.hatena-asin-detail {
  display: flex;
  background: #fff;
  border: 2px solid #f0f0f0;
  border-radius: 8px;
  padding: 20px;
  margin: 30px 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
  align-items: flex-start;
  gap: 20px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}
.hatena-asin-detail:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
  border-color: #FF9900;
}

/* 画像エリア */
.hatena-asin-detail-image-link {
  flex: 0 0 120px;
  text-align: center;
  display: block;
}
.hatena-asin-detail-image {
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.2));
  border-radius: 2px;
}

/* 情報エリア */
.hatena-asin-detail-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
p.hatena-asin-detail-title {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 10px 0;
  line-height: 1.4;
}
p.hatena-asin-detail-title a {
  color: #333;
  text-decoration: none;
  transition: color 0.2s;
}
p.hatena-asin-detail-title a:hover {
  color: #FF9900;
}

/* メタ情報（著者・出版社） */
ul.hatena-asin-detail-meta {
  list-style: none;
  padding: 0;
  margin: 0 0 15px 0;
  font-size: 13px;
  color: #666;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
ul.hatena-asin-detail-meta li {
  display: flex;
  align-items: center;
}

/* 購入ボタン（Amazon） */
.hatena-asin-detail-info .asin-detail-buy {
  display: block;
  background-color: #ff7c0a !important; /* ★修正: !importantを追加 */
  background-image: none !important;    /* ★修正: グラデーションを打ち消す */
  border: none !important;             /* ★修正: デフォルトの枠線を消す */
  color: #fff !important;
  text-align: center;
  padding: 15px 10px;
  border-radius: 50px;
  font-weight: bold;
  font-size: 17px;
  text-decoration: none;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.3);
  transition: all 0.3s ease;
  margin-top: 15px;
  width: 100%;
  box-sizing: border-box;
  line-height: 1.2;
}
.hatena-asin-detail-info .asin-detail-buy:hover {
  background-color: #ffa200 !important; /* ★修正: !importantを追加 */
  background-image: none !important;
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);
}
.hatena-asin-detail-info .asin-detail-buy::after {
  content: "で詳細をチェック！";
  font-size: 0.85em;
  margin-left: 8px;
  font-weight: normal;
  opacity: 0.9;
}
.hatena-asin-detail-info .asin-detail-buy::before {
  content: "▶";
  font-size: 0.8em;
  margin-right: 8px;
}

/* スマホ対応 */
@media screen and (max-width: 600px) {
  .hatena-asin-detail {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 15px;
  }
  .hatena-asin-detail-image-link {
    margin-bottom: 15px;
    flex: 0 0 auto;
  }
  ul.hatena-asin-detail-meta {
    justify-content: center;
  }
  .hatena-asin-detail-info {
    width: 100%;
  }
  .hatena-asin-detail-info .asin-detail-buy {
    width: 80%;
    margin: 15px auto 0;
  }
}


/* ==========================================================================
   その他モジュール・非表示設定
   ========================================================================== */
/* タグを横並びに */
div.hatena-module-category div.hatena-module-body ul li {
  display: inline-block;
  margin-right: 10px;
}
.hatena-module-category .hatena-urllist li a::before,
.hatena-module-links .hatena-urllist li a::before {
  content: none;
}
.hatena-urllist li {
  padding-bottom: 1px;
  border-bottom: none;
}

/* 非表示要素 */
.entry-tags-wrapper,
span.author.vcard,
span.entry-footer-time,
.entry-footer-section,
.date,
.archive-entry-tags-wrapper,
.archive-entry-body .social-buttons,
div.profile-about,
.archive-entry .categories {
  display: none !important;
}


/* はてなフォトライフ画像の拡大無効化 */
.hatena-fotolife {
  pointer-events: none;
}


/* ==========================================================================
   本屋大賞・マンガランキング記事用レイアウト
   ========================================================================== */
.manga-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 25px 15px;
  margin: 25px 0;
  align-items: stretch;
}
.manga-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: left;
}
.manga-item img {
  width: 100% !important;
  aspect-ratio: 2 / 3 !important;
  object-fit: contain !important;
  background-color: #f9f9f9;
  margin-bottom: 8px;
  border: 1px solid #eee;
  border-radius: 4px;
  box-sizing: border-box;
}
.manga-item p {
  margin: 0 !important;
  padding: 0 2px !important;
  font-size: 0.85em !important;
  font-weight: bold !important;
  line-height: 1.3 !important;
  text-align: left !important;
  min-height: 4.2em;
  color: #333;
}

/* スマホ用設定（マンガグリッド） */
@media (max-width: 600px) {
  .manga-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px 8px;
  }
  .manga-item p {
    font-size: 0.7em !important;
    min-height: 5.5em;
    letter-spacing: -0.05em;
  }
}

/* ==========================================================================
   【最終修正】Amazonリンク & YouTube調整
   ========================================================================== */

/* 1. Amazonリンク：スマホでの右ズレを修正 */
@media screen and (max-width: 600px) {
  /* 原因となっていた margin-left: 24px を強制的に「0」にする */
  .hatena-asin-detail .hatena-asin-detail-info {
    margin: 5px 0 0 0 !important; /* 上に少し隙間、左右は0 */
    padding: 0 !important;
    width: 100% !important;
    display: block !important; /* フレックス解除して素直に縦並び */
  }

  /* ボタンを幅いっぱいに */
  .hatena-asin-detail-info .asin-detail-buy {
    width: 100% !important;
    margin: 15px auto 0 !important;
  }
}

/* 2. YouTube：コンパクト化 ＆ 左右に黒帯（シネマスコープ風） */
.youtube {
  /* PCでの最大幅を少し狭くしてコンパクトに */
  max-width: 480px !important; 
  margin: 30px auto !important;

  /* ★ここがポイント */
  /* 高さを「16:9 (56.25%)」より小さく設定すると、コンテナが「横長」になります。
     そこに「object-fit: contain」が効いているため、
     動画が中央に収まり、左右に黒帯が生まれます。 */
  padding-top: 42% !important; 
}

ul.hatena-asin-detail-meta {
    display: none;
}

.hatena-asin-detail {
    margin: 30px 0;
    gap: 0px;
}

.hatena-asin-detail .hatena-asin-detail-info .asin-detail-buy {
    font-size: 16px;
    padding: 12px;
}

.urllist-title-link {
    font-size: 100%;
}

/* Aboutページの幅を600pxにする */
body.page-about #main,
body.page-about .main {
    max-width: 600px !important;
    margin: 0 auto !important;
}