/* <system section="theme" selected="report"> */
@charset "UTF-8";html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}input,select{vertical-align:middle}body{font-family:Helvetica Neue,Helvetica,Arial,ヒラギノ角ゴ Pro W3,Hiragino Kaku Gothic Pro,メイリオ,Meiryo,ＭＳ Ｐゴシック,MS PGothic,sans-serif;background:transparent;color:#222}a{color:#456898}a:hover{color:#073472}.clearfix{display:block;*zoom: 1}.clearfix:after{display:block;visibility:hidden;font-size:0;height:0;clear:both;content:"."}#globalheader-container{background:#fff;border-bottom:1px solid #ccc;position:sticky;top:0}#container{width:810px;text-align:center;margin:0 auto;background:#fff;padding:0 30px}#container-inner{text-align:left}#blog-title{padding:70px 0}#title{display:inline-block;*display: inline;*zoom: 1;font-size:24px}#title a{text-decoration:none;color:#222}#blog-description{display:inline-block;*display: inline;*zoom: 1;font-size:12px;margin-left:1em}.header-image-enable #blog-title #title{padding:20px 0 0 20px}.header-image-enable #blog-title,.header-image-only #blog-title{padding:30px 0}#content-inner:after{content:".";display:block;clear:both;height:0;visibility:hidden}#wrapper{width:560px;float:left}.entry{margin-bottom:80px}.entry-header{margin-bottom:20px;position:relative}.date{font-size:13px;font-weight:700;padding-bottom:5px;border-bottom:1px solid #ccc;margin-bottom:15px}.date a{color:#000;text-decoration:none}.entry-title{margin-bottom:15px;line-height:1.3}.entry-title a{font-size:20px;color:#222;text-decoration:none}.categories{font-size:12px}.categories a{margin-right:.5em}.entry-header-menu{position:absolute;top:0;right:0;font-size:13px}.entry-footer{margin-top:20px;font-size:13px}.entry-footer-section,.social-buttons{margin-bottom:15px}.pager{font-size:14px;margin:15px 0;text-align:left;display:block;*zoom: 1}.pager:after{display:block;visibility:hidden;font-size:0;height:0;clear:both;content:"."}.pager-next,.pager-prev{display:inline-block;max-width:250px;line-height:1.5}.pager-next{float:right}.pager-prev{float:left}#footer{width:830px;margin:0 auto;text-align:center;padding:10px 20px;background:#fff;line-height:1.3;font-size:13px}#footer img{vertical-align:middle}.entry-comment{border-bottom:1px solid #dfdfdf;list-style:none;padding-bottom:15px;margin-bottom:15px}.comment-user-name .hatena-id-icon{vertical-align:middle;margin-right:.2em}.comment-user-name{margin-bottom:7px}.comment-user-name a{color:#222;font-weight:700}.comment-content{line-height:1.5em;margin-bottom:7px;word-wrap:break-word}.comment-user-name,.comment-content{font-size:14px}.comment-metadata,.comment-metadata a{color:#aaa}.leave-comment-title{font-size:13px;font-weight:700;margin:10px 0}.leave-comment-title:hover{text-decoration:underline}.entry-content{font-size:15px;line-height:1.7}.entry-content p{margin:.7em 0 1em}.entry-content img{max-width:100%}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6{margin:1em 0 .5em;line-height:1.7}.entry-content h1{font-size:160%}.entry-content h2{font-size:150%}.entry-content h3{font-size:140%}.entry-content h4{font-size:120%}.entry-content h5{font-size:110%}.entry-content h6{font-size:100%}.entry-content h1,.entry-content h2,.entry-content h3{border-bottom:1px dotted #999}.entry-content ul,.entry-content ol,.entry-content dd{margin:0 0 0 1.5em;padding:0}.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4,.entry-content h5,.entry-content h6,.footnote-number{scroll-margin-top:56px}.entry blockquote{padding:10px;margin:1em 0;border:1px solid #ccc}.entry blockquote p{margin-top:0;margin-bottom:0}.entry-content table{border-collapse:collapse;border-spacing:0}.entry-content table th,.entry-content table td{border:1px solid #ddd;padding:5px 10px}.entry-content table th{background:#fafafa}pre{font-size:12px;padding:10px;border:1px solid #ccc}.entry-content a:visited{color:#aaa}a.keyword{text-decoration:none;border-bottom:1px solid #DEDEDE;color:#222}pre.lang-aa{font-size:14px;line-height:15px}.hatena-asin-detail li{line-height:1.4}#box2{width:220px;float:right;font-size:14px;word-wrap:break-word}.hatena-module{margin-bottom:30px}.hatena-module-title{font-size:15px;font-weight:700;margin-bottom:20px}.hatena-module-title a{color:#222;text-decoration:none}.hatena-module-title a:hover{text-decoration:underline}.hatena-module .profile-icon{margin-bottom:5px}.hatena-module .id{display:block;margin-bottom:5px}.profile-description{font-size:12px;margin-bottom:5px}.hatena-module-body li{list-style:none;margin-bottom:.7em}.hatena-module-body{line-height:1.5}.urllist-item{padding-bottom:10px;border-bottom:1px solid #ddd}form.search-form input{border:1px solid #ccc;vertical-align:middle}.search-form .search-module-input{width:180px;padding:3px;margin:0;font-size:12px}.search-form .search-module-button{height:23px;width:23px;border:none;text-indent:-999px;cursor:pointer;background:url(https://cdn.blog.st-hatena.com/images/theme/search_g.png?version=686d07ced341492bfbc75d23ddabc1) 50% 50% no-repeat}.page-about dt{font-size:16px;font-weight:700;border-bottom:1px solid #ccc;margin-bottom:5px;padding-bottom:2px}.page-about dd{margin-left:0;margin-bottom:30px}.page-about .entry-content img.profile-icon{height:16px;width:16px}.page-archive #main{padding:0;margin:0 auto;text-align:center}.page-archive #main-inner{font-size:14px;text-align:left}.page-archive .date{border:none;margin-bottom:10px;padding-bottom:0}.page-archive .categories{margin-bottom:10px}.page-archive .entry-title{font-size:18px;border-bottom:1px solid #ccc;padding-bottom:2px;margin-bottom:10px}.page-archive .entry-title a{color:#000;text-decoration:none}.page-archive .entry-title a:hover{text-decoration:underline}.page-archive p{line-height:1.5;margin-bottom:1em}.page-archive #main-inner section{margin-bottom:30px}.page-archive #main-inner .entry-title{font-size:14px;line-height:1.5;color:#000;text-decoration:none}.page-archive #main-inner .entry-title:hover{text-decoration:underline}.page-archive #main-inner ul{list-style:none;margin:0;padding:0}.page-archive #main-inner li{margin:0;padding:0 0 10px}.page-archive #main-inner li .categories{margin-top:10px}.breadcrumb{margin-bottom:20px;font-size:14px}

/* </system> */

/* <system section="background" selected="custom"> */
body{ background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/G/GTMcomposition/20260404/20260404084235.webp'); background-repeat: repeat; background-color:transparent; background-attachment: fixed; background-position: left top;}
/* </system> */

/* --- 1. Google Fonts：中太のウェイト(500)を読み込み --- */
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1p:wght@400;500;700&display=swap');

/* --- 2. 記事エリアの「透け具合」を絶妙に調整 --- */
/* 背景の重なりをリセット */
#container, #wrapper, #content, #main {
    background: transparent !important;
}

/* 記事が書いてあるエリア：白を少し濃く(0.9)して視認性をアップ */
.entry-inner {
    background-color: rgba(255, 255, 255, 0.9) !important; 
    padding: 35px !important; /* 余白を少し広げて優雅に */
    border-radius: 15px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); /* 影を少し強くして、読みやすさを補助 */
}

/* サイドバー：ここも少し濃いめにして安定感を出します */
#box2-inner {
    background: rgba(255, 255, 255, 0.95);
    padding: 20px;
    border-radius: 10px;
}

/* --- 3. フォントと色の設定（読みやすさ重視） --- */
body, 
.entry-content, 
.entry-content p, 
.entry-content li {
    font-family: 'M PLUS 1p', "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif !important;
    font-weight: 500 !important;
    color: #0e1a29 !important;
    line-height: 2.1 !important; /* 行間をさらにわずかに広げて、ゆとりを */
    letter-spacing: 0.07em !important;
    font-size: 17.5px !important; /* ほんの少しだけ大きくして、さらに読みやすく */
}

/* 太字 */
.entry-content b, 
.entry-content strong {
    font-weight: 700 !important;
    color: #000000 !important;
}

/* タイトル */
.entry-title, .entry-title a {
    font-family: 'M PLUS 1p', sans-serif !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: #0e1a29 !important;
}
/* =======================================
   背景画像（1枚固定・全体にフィット）
======================================= */
body {
  /* 背景画像 */
  background-image: url(https://cdn-ak.f.st-hatena.com/images/fotolife/G/GTMcomposition/20260404/20260404084235.webp");

  /* 画面全体にフィット（縦横比を保ちつつ埋める） */
  background-size: cover;

  /* 繰り返さない */
  background-repeat: no-repeat;

  /* 中央に配置（ズレ防止） */
  background-position: center center;

  /* スクロールしても背景は固定 */
  background-attachment: fixed;
}

/* =======================================
   スマホ用の調整
======================================= */
@media screen and (max-width: 768px) {
  body {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
/* スマホでは固定を解除（安定表示） */
@media screen and (max-width: 768px) {
  body {
    background-attachment: scroll;
  }
}
/* 音声プレーヤーのカスタマイズ */
.audio-sample-box {
    text-align: center;
    margin: 30px 0;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.5); /* ほんのり透ける白 */
    border-radius: 20px;
    border: 1px solid #eee;
}
/* 音声プレーヤーのカスタマイズ */
.audio-sample-box {
    text-align: center;
    margin: 30px 0;
    padding: 20px;
    background-color: rgba(255, 255, 255, 0.5); /* ほんのり透ける白 */
    border-radius: 20px;
    border: 1px solid #eee;
}
/* 音声プレーヤーのカスタマイズ */
.audio-sample-box audio {
    width: 100%;
    max-width: 400px; /* プレーヤーの横幅 */
    height: 45px;
    border-radius: 30px; /* しっかり角を丸く */
    box-shadow: 0 4px 12px rgba(0,0,0,0.05); /* 軽い影で浮かせる */
}
/* SWELL風ボタン設定：幻想グラデーション */
.btn-swell {
    display: inline-block;
    padding: 12px 35px;
    background: linear-gradient(135deg, #f8c2cf 0%, #87ceeb 100%);
    color: #fff !important;
    font-weight: bold;
    text-decoration: none;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(135, 206, 235, 0.3);
    position: relative;
    overflow: hidden;
}

/* ホバー時の動き（浮き上がる演出のみ残す） */
.btn-swell:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(135, 206, 235, 0.4);
    opacity: 0.9;
}

/* 常時キラッと光るエフェクト */
.btn-swell::after {
    content: "";
    position: absolute;
    top: -50%;
    left: -60%;
    width: 25%; /* 少しだけ太くして存在感アップ */
    height: 200%;
    background: rgba(255, 255, 255, 0.5);
    transform: rotate(30deg);
    
    /* ↓ここがポイント：shineという名前のアニメーションを3秒間隔で無限ループ */
    animation: shine 3s infinite;
}

/* 光が流れる動きの定義 */
@keyframes shine {
    0% {
        left: -60%;
        opacity: 0;
    }
    10% {
        opacity: 1; /* 通過中はハッキリ見える */
    }
    30% {
        left: 140%; /* ここで右側に抜けきる */
        opacity: 0;
    }
    100% {
        left: 140%; /* 30%〜100%の間は右側で待機（これが「間隔」になる） */
        opacity: 0;
    }
}
/* ==================================================
   YouTube動画をきれいに表示する設定
   ================================================== */

/* 動画を中央に寄せ、上下に少し余白を作る設定 */
.yt-center {
    text-align: center;
    margin: 20px 0; /* 上下に20pxの隙間を作る */
}

/* 動画の枠を16:9（YouTube標準）に固定し、スマホでも横幅ぴったりにする設定 */
.yt-responsive {
    position: relative;
    padding-bottom: 56.25%; /* 黄金比16:9を維持する魔法の数字 */
    height: 0;
    overflow: hidden; /* 枠からはみ出た部分を隠す */
}

/* 枠の中にある動画本体（iframe）を、枠いっぱいに広げる設定 */
.yt-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;  /* 横幅いっぱい */
    height: 100%; /* 縦幅いっぱい */
}
/* ==================================================
   スマホ表示時の文字サイズ調整（PC版表示用）
   背景の綺麗さを保ちつつ、読みやすさを改善する設定
   ================================================== */
@media screen and (max-width: 480px) {
  body {
    /* 文字の大きさを調整（読みづらい場合は18pxを20pxなどに大きくしてください） */
    font-size: 22px !important;
    /* スマホでの自動サイズ調整を有効にする */
    -webkit-text-size-adjust: 100%;
  }

  /* 記事部分が画面からはみ出さないように横幅を最適化 */
  #main {
    width: 95% !important;
    margin: 0 auto !important;
    float: none !important;
  }
}