/* <system section="background" selected="default"> */
/* default */
/* </system> */
@charset "UTF-8";
/* Theme:SimpleLifeNaviBlue ,Non 11,2021 updated
   Author: SimpleLifeNavi(id:simplelifenavigation)
   Responsive: yes
   Based on Hatena Blog Team "boilerplate"
   Released under the MIT License.
  ! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */

/* =========================================================
   1. 変数定義・カラー調整
   ========================================================= */
:root {
    --main-color:#484848;
    --link-color:#995c5c;
    --back-color:#F5F5F5;
    --moji-color:#665A4D;
    --tab-color:#222222;
    --sub-color:#998367;
    --ground-color:#FFFFFd;
    --quote-color:#E5E3DF;
    --accordion-color:#B4B2A1;
    --annotation-color:#cc9b9b;
    --annotation-bg-color:rgba(188,143,143,0.1);
    --fuki-zentai:transparent;
    --fuki-bgcolor:#fff;
    --fuki-wakucolor:#ddd;
    --fuki-mojicolor:var(--moji-color);
    --fuki-imgcolor:#fff;
    --fuki-imgwakucolor:#aaa;
    --bgc:#777;
}

/* =========================================================
   2. ベース・リセット
   ========================================================= */
* {
    margin: 0px;
    padding: 0px;
}
html {
    line-height: 1.2;
    font-size: 100%;
    scroll-behavior: smooth;
}
@media (min-width: 740px) { html {font-size: 105%;} }
body {
    background-color: transparent;
    margin: 0px;
    padding: 0px;
}
html, body {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    color: var(--moji-color);
    line-height: 1.6;
}
#globalheader-container {
    color: #fff;
    background-color: var(--main-color)!important; /* メイン背景色 */
    margin: 0px;
    border: none;
    padding: 0px;
}
#container, #footer, #top-editarea {
    padding: 0px;
    margin: 0px;
    border:none;
    font-family: "Gabarito", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
#container, #footer {
    background-color: var(--ground-color);
}

/* HTML Elements Reset & Normalize */
figcaption, figure, main { display: block; font-size: 85%; }
figure { margin: 1em 40px; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre, code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; } sup { top: -0.5em; }
img, iframe { border-style: none; border-radius: 3px; max-width: 100%; height: auto; }
button, input, optgroup, select, textarea { font-family: sans-serif; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, html [type="button"], [type="reset"], [type="submit"], ::-webkit-file-upload-button { -webkit-appearance: button; }
::-webkit-file-upload-button { font: inherit; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { display: inline-block; 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-cancel-button, [type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
a { color: var(--link-color); text-decoration: none; background-color: transparent; -webkit-text-decoration-skip: objects; }
a:hover { text-decoration: underline; }
a.keyword { text-decoration: none; border-bottom: 1px dotted var(--moji-color); color: var(--moji-color); }
h1, h2, h3, h4, h5, h6 { color: var(--moji-color); line-height: 1.3; }
h1 { font-size: 2em; margin: 0.67em 0; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: var(--tab-color); text-decoration: none; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { color: var(--link-color); }

/* =========================================================
   3. メインレイアウト関連
   ========================================================= */
#content { padding: 0 0px; }
#wrapper, #box2, #footer { padding: 0 12px; }
#content-inner { display: flex; flex-direction: column; justify-content: space-between; }
#box2-inner { display: grid; grid-template-columns: 1fr; gap: 16px; }

@media (min-width: 740px) { 
    #globalheader-container, #container, #footer { max-width: 750px; margin: 0px auto; padding: 0 0px; }
    #box2-inner { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
    #box2-inner .hatena-module-html:nth-of-type(1) { grid-column: 1 / -1; }
    #box2-inner .hatena-module { padding: 8px 14px; margin: 0; }
}

@media (min-width: 1080px) {
    #globalheader-container, #container, #footer { max-width: 1080px; margin: 0px auto; }
    #content-inner { flex-direction: row; }
    #wrapper { width: 720px; }
    #box2 { width: 320px; display: flex; } /* サイドバー固定一番下のみ対応統合 */
    #box2-inner { display: block; }
    #box2-inner .hatena-module { margin-bottom: 18px; }
}
@media (max-width: 600px) { #box2 {padding: 0 16px;} }

/* =========================================================
   4. ヘッダー・フッター・パンくず
   ========================================================= */
#blog-title {
    background-color: var(--main-color);
    text-align: center;
    padding: 10px 0 0;
    margin: 0em 0;
}
#blog-title-inner { margin: 0 auto; padding: 0rem; }
#blog-title a { font-size:160%; color: #fff; }
#blog-description { font-weight: normal; font-size: .8rem; margin: 0.5em 0 0; color: #fff; padding: 0 0 5px; }
#title { margin: 0; font-size: 0.8rem; }
#title a { font-family: fantasy,cursive,monospace,sans-serif; }
#blog-title #blog-description, #title a, #bottom-editarea, .page-about p, .page-about a, .top-page p, .article-area p {
    font-family: 'Acme', 'Arial';
}

@media (min-width: 1080px) { #title { font-size: 1rem; } }
@media (max-width: 480px) {
    #blog-title a { font-size:130%; } 
    #blog-description { font-size:70%; } 
}

/* ヘッダ画像設定時 */
.header-image-enable #blog-title { margin: 0 0 0em; }
.header-image-enable #blog-title-inner { display: flex; flex-direction: row; align-items: center; }
.header-image-enable #blog-title-content { margin-left: 10px; margin-right: 10px; }

#top-editarea { margin-bottom: 0.0em; }
.breadcrumb { font-size: .8rem; }
.page-entry .breadcrumb { margin-left: 4px; margin-bottom: 10px; }
a.breadcrumb-link::before { content: "\00a0" "\f017"; font-family: blogicon; vertical-align: top; }

#footer { margin-top: 1.5em; text-align: center; font-size: .8rem; color: var(--sub-color); background: #f7f6f5 !important; }
#footer p { margin: .5em auto; text-align: center; }
#bottom-editarea { margin: 0; }
#bottom-editarea p { text-align: center; font-size: .8rem; color: var(--sub-color); }
@media(max-width: 740px) { #footer { margin-bottom: 46px; } }

/* =========================================================
   5. 記事デザイン・見出し等
   ========================================================= */
.entry { position: relative; margin-bottom: 4em; padding: 0 2px; }
.entry-inner p { padding: 0 0.5em; margin: 1.5em 0em; line-height: 1.8; letter-spacing: 0.0em; }
.entry-header { 
    margin: 0 0 .5em; 
    padding-bottom: .5em; 
    position: relative; 
} /* 重複解消済み */
.entry-header-menu { position: absolute; top: 0; right: 0; }

.date { margin-bottom: .5em; padding: 0 0.5em; font-size: .9rem; }
.date a { text-decoration: none; }
.date a:hover { text-decoration: underline; }
.date::before { content: "\f043"; color: var(--link-color); font-family: blogicon; font-style: normal; font-weight: normal; vertical-align: top; }
.date::after { content: "\00a0"; }

h1.entry-title { padding: 0em 0.4em; font-size: 1.3rem; margin: 9px 0 8px; }
@media (min-width: 1080px) { h1.entry-title, .entry-title { font-size: 1.3rem; } }

.categories { margin: .5em 0em 0em; padding: 0 0.5em; font-size: .9rem; }
.categories a { margin-right: .5em; font-size: .9em; }
.categories a::before { content: "\f04a"; font-family: blogicon; font-size: .6rem; }

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 { margin: 1.5em 0 1.1em 0; }
.entry-content h1 { font-size: 1.3rem; }
.entry-content h2 { font-size: 1.25rem; }
.entry-content h3 { font-size: 1.2rem; }
.entry-content h4 { font-size: 1.1rem; }
.entry-content h5 { font-size: 1.0rem; }
@media (min-width: 1080px) {
    .entry-content h1 { font-size: 1.5rem; }
    .entry-content h2 { font-size: 1.5rem; }
    .entry-content h3 { font-size: 1.3rem; }
}

.entry-inner .entry-content h2 { padding: 0.8em 0.6em; color: #fff; background: var(--tab-color); border-left: solid 5px var(--tab-color); box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25); }
.entry-inner .entry-content h2 a { color: #fff; text-decoration: none; }
.entry-inner .entry-content h3 { color: var(--tab-color); padding: 0.6rem 1rem; background: var(--back-color); border-top: double 3px var(--tab-color); border-bottom: double 3px var(--tab-color); }
.entry-inner .entry-content h4 { color: var(--tab-color); padding: 0.5em 0.6em; border-left: solid 5px var(--main-color); background: var(--back-color); }
.entry-inner .entry-content h5 { background: var(--back-color); border: dashed 2px #fff; padding: 0.2em 0.5em; }

/* =========================================================
   6. リスト・テーブル・引用・コード等
   ========================================================= */
/* リスト */
.entry-content ul, .entry-content ol, .entry-content dd { margin: 0.7em 0 0.7em 1.5em; padding: 0; line-height: 1.7; }
.entry-content >ul, .entry-content >ol { background: var(--back-color); padding: 1em 1em 1em 2.2em; margin: 0.5em 0.2em; font-size: 0.96em; }
.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; margin-top: 0; }
.entry-content li { margin: 0.3em 0; }

ol.number { counter-reset:number; list-style-type: none!important; }
ol.number > li { position: relative; padding-left: 35px; padding: 0.2em 0.5em 0.2em 15px; }
ol.number > li:before { position: absolute; counter-increment: number; content: counter(number); display:inline-block; background: var(--link-color); color: white; font-weight:bold; font-size:85%; border-radius: 50%; left: -15px; width: 23px; height: 23px; line-height: 23px; text-align: center; top: 50%; transform: translateY(-50%); }

.check li { position: relative; padding-left: 10px; list-style: none; }
.check li:before { content: ""; position: absolute; top: .35em; left: -9px; transform: rotate(50deg); width: 3px; height: 7px; border-right: 2px solid var(--moji-color); border-bottom: 2px solid var(--moji-color); } 
.check li:after { content: ""; position: absolute; top: .2em; left: -15px; width: 15px; height: 15px; border: 1px solid var(--moji-color); border-radius: 2px; }

/* テーブル */
table { background-color:transparent; }
.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: 1080px) { .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 p { position: relative; padding: 0; margin: 10px 0; z-index: 3; line-height: 1.7; font-size: 0.95em; }
.entry-content blockquote { position:relative; border-top:1px solid var(--quote-color); border-bottom:1px solid var(--quote-color); padding:10px; margin: 30px; }
.entry-content blockquote:before { position:absolute; background-color:transparent; color:var(--quote-color); content: "\f704"; font-family: blogicon; line-height:1; text-align:center; top:-20px; left:-20px; padding:10px; font-size:20px; }
.entry-content blockquote:after { position:absolute; right:-20px; bottom:-20px; background-color:transparent; padding:10px; color:var(--quote-color); content: "\f704"; font-family: blogicon; line-height:1; text-align:center; font-size:20px; }
.entry-content blockquote cite { display: block; padding-right:30px; font-size: 0.8rem; text-align: right; color: var(--sub-color); }

.entry-content pre, .entry-content code { font-family: 'Monaco', 'Consolas', 'Courier New', Courier, monospace, sans-serif; }
.entry-content pre { background: var(--ground-color); border: none; white-space: pre-wrap; 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; }
.entry-content code { font-size: 90%; margin: 0 2px; padding: 0px 5px; background-color: var(--ground-color); border-radius: 3px; }
.entry-content hr { width: 50%; border: none; border-top: 1px solid var(--sub-color); border-radius:10px; margin: 2em auto; }

/* 脚注表示 */
div.footnote { border-top: 1px dotted var(--link-color); }
div.footnote p { margin: 0; padding: 0; }
.footnote-text { font-size: 13px; }

/* 目次（重複解消） */
.entry-content .table-of-contents {
    position: relative; display: inline-block; background-color: var(--back-color); border-radius: 3px;
    padding: 10px 20px 1em 2em; margin: 5px; border: 1px solid var(--main-color);
}
.entry-content .table-of-contents::before { font-size: 1rem; content: "\f039" "     目次（タップできる）"; font-family: blogicon; color: var(--link-color); font-weight: normal; }
.entry-content .table-of-contents>li:first-child { padding-top: 20px; }
.table-of-contents li::before { font-family: "blogicon"; content: "\f029"; color: var(--moji-color); position: relative; left: -10px; }
.table-of-contents li ul li::before { display: none; }
.table-of-contents ul { padding-top: 1rem; padding-bottom: 0.2rem; }
.table-of-contents li { list-style-type: none; font-size: 1.0rem; line-height: 1.2; padding-top: 0.4rem; padding-bottom: 0.2rem; }
.table-of-contents li ul li { font-size: 0.9rem; line-height: 1.2; padding-top: 0px; padding-bottom: 6px; list-style-type: disc; }
.table-of-contents li li ul li { font-size: 0.9rem; line-height: 1.2; padding-top: 0px; padding-bottom: 4px; list-style-type: circle; }
.table-of-contents li a, .table-of-contents li a:visited { color: var(--moji-color); text-decoration: none; }
.table-of-contents li a:hover { text-decoration: underline; }
.table-of-contents ul ul ul { display: none; }


/* =========================================================
   7. 各種パーツ・モジュール（色、ボタン、装飾、ふきだし等）
   ========================================================= */
/* 背景色ユーティリティ */
.bgc { padding: 0.3em 0.8em; border-radius: 5px; margin: 0.1em; }
.default { background: slategray; }
.blue { background: steelblue; }
.orange { background: orange; }
.gray { background: whitesmoke; }
.pink { background: #fdeff2; } 
.lightblue { background: #eaf4fc; }
.yellow { background: #ffffe0; }
.jaran { background: coral; }
.r-travel { background: mediumseagreen; }
.nuki { border: 1px solid slategray; background-image: repeating-linear-gradient(-45deg, #eee, #eee 1px, #ffffff 1px, #ffffff 4px); }

/* リンク・ボタンアニメーションなど */
article em, article u { text-decoration: none; font-style: normal; background: linear-gradient(transparent 70%,#f0e68c 70%); }
.entry-content a:not([class]):hover { color: var(--link-color); text-decoration: underline; }
.entry-content a:not([class*=" "]):not(.easyLink-info-name a) { background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 50%, rgb(153, 92, 92) 50%); background-position: 0 0; background-size: 200% auto; transition: .3s; }
.entry-content a:not([class*=" "]):not(.easyLink-info-name a):hover { background-position: -100% 0; color: #fff; }

/* リンクボタン */
.link-btn{
  position:relative;
  overflow:hidden;
  text-decoration:none!important;
  color:#fff!important;
  font-weight:bold;
  font-size:85%;
  display:inline-block;
  top:.3em;
  padding:9px 27px 8px;
  margin:3px 2px;
  border-radius:50px;
  transition:transform .2s, opacity .2s;
  word-break:break-word;
  box-shadow:0 2px 3px rgb(0 0 0 / 25%),0 2px 3px -2px rgb(0 0 0 / 15%);
}
/* hover */
.hatena-button:hover,
.easyLink-info-btn a:hover,
.link-btn:hover{
  transform:translateY(2px);
  opacity:.8;
}
/* PC文字サイズ */
@media (min-width:740px){
  .link-btn{font-size:93.75%;}
}
/* 光 */
.link-btn::after{
  content:"";
  position:absolute;
  top:-60%;
  left:-150%;
  width:80%;
  height:220%;
  background:linear-gradient(
    120deg,
    rgba(255,255,255,0) 20%,
    rgba(255,255,255,.65) 50%,
    rgba(255,255,255,0) 80%
  );
  transform:skewX(-25deg) translateX(0);
  animation:cta-shine 6s linear infinite;
}
/* GPUアニメーション */
@keyframes cta-shine{
  0%{transform:skewX(-25deg) translateX(0);}
  12%{transform:skewX(-25deg) translateX(420%);}
  100%{transform:skewX(-25deg) translateX(420%);}
}

/* 点滅・揺れるアニメーション */
.blink { animation: blink 2s ease-out infinite; }
@keyframes blink { 20% { opacity: 0.2; } 100% { opacity: 1; } }
.yureru-s{animation:yureru-s 5s infinite}
@keyframes yureru-s{
  0%,96%,100%{transform:none}
  97%{transform:translateX(-2px)}
  98%{transform:translateX(2px)}
  99%{transform:translateX(-2px)}
}
.ukasu, .entry-thumb { transition: .3s; }
.ukasu:hover, .entry-thumb:hover { transform: translateY(-5px); box-shadow: 0 5px 10px rgba(0,0,0,.2); }
.center { text-align: center; margin: 1.0em 0; }
.shadow { box-shadow: 2px 2px 3px var(--moji-color),0px 0px 2px var(--sub-color); }
.annotation { font-size:85%; margin: 3px; flex:1; }

.flex-container { 
  display: flex; justify-content: center; padding: 5px; flex-wrap: wrap; align-items: center; 
  gap: 10px 30px; /* 縦方向 10px、横方向 30px の隙間 */
}
.flex-container>.flex-item { 
  flex: 0 1 1; text-align: center; 
}
.flex-container>.flex-item-auto { flex:1 1 auto; margin:5px 15px; text-align:center; }

.step-wrap { counter-reset: count; margin: 2em 0; background-image: repeating-linear-gradient(-45deg, #f5f5f5, #f5f5f5 1px, #fff 2px, #fff 8px); position: relative; }
.step-content { padding: 1.3em 0 .3em 1em; margin: 0 0 1em 1.5em; position: relative; border-top: dotted 1.5px var(--sub-color); }
.step-content::before { content: ""; display: block; position: absolute; bottom: 0; left: -9px; border-style: solid; border-width: 16px 6px 3px 6px; border-color: var(--moji-color) transparent transparent transparent; }
.step-content::after { content: ""; display: block; height: calc(100% - 36px); border-left: dashed 2px var(--moji-color); position: absolute; top: 16px; left: -4px; }
.step-label { padding: 3px 20px 3px 15px; color: #fff; font-weight: bold; font-size:85%; position: absolute; top: -18px; left: -20px; background: var(--main-color); border-radius: 20px; z-index: 1; }
.step-label::after { counter-increment: count; content: counter(count); position: relative; left: .3em; }
.step-title { font-weight: bold; font-size: 105%; }
.step-wrap > :last-child { border-bottom: dotted 1.5px var(--sub-color); }
.step-wrap > :last-child::before { bottom: 5px; left: -10px; border-width: 7px; background:var(--moji-color); border-radius:50%; }

/* アコーディオン・各種ボックス */
details { margin: 12px 5px!important; }
details summary { list-style: none; max-width: 720px; display: flex; justify-content: space-between; align-items: center; font-size: 94%; font-weight: bold; color: #fff; background: var(--accordion-color); padding: 14px; margin: 0px !important; border-radius: 6px; }
details summary::-webkit-details-marker { display: none; }
details summary::after { content: "\f008"; font-family: blogicon; transition: transform 0.3s ease-in-out; }
details > ul { list-style: none; max-width: 720px; border: 2px solid var(--accordion-color); border-top: 0px; border-radius: 0 0 6px 6px; background: var(--ground-color); font-size: 88%; margin: 0px !important; padding: 8px 12px!important; opacity: 0; transform: translateY(-20px); transition: opacity 0.7s ease-in-out, transform 0.7s ease-in-out; }
details > ul > li { padding: 12px!important; transition: .3s; text-align:left; }
details > ul > li:not(:last-child) { border-bottom: 1px dashed var(--accordion-color); }
details[open] summary { border-radius: 6px 6px 0 0; }
details[open] summary::after { content: "\f008"; font-family: blogicon; transform: rotate(180deg); }
details[open] ul { opacity: 1; transform: translateY(0); }

/* BoxDesign */
.box-d1 { max-width: 500px; margin: 1.5em auto 1em ; border: 2px solid var(--main-color); border-radius: 5px; overflow: hidden; } 
.box-d1 li, .box-d1 p { font-size:94%; margin: 0.5em 1em; }
.box-d1 > div { font-size:94%; padding: .5em 1em; color: #ffffff; background:var(--main-color); }
.box-d1 > span { font-size:88%; padding: .5em 1em; color: #ffffff; background:var(--main-color); border-radius:0 0 5px; }
.box-d2 { position: relative; max-width: 500px; margin: 2.5em auto 1em; padding:0.5em 0 0; border: 2px solid var(--main-color); border-radius: 0 5px 5px 5px; }
.box-d2 > div { font-size:85%; position: absolute; top: -2em; left: -2px; padding: .2em 1em; border-radius: 5px 5px 0 0; background-color: var(--main-color); color: #ffffff; }
.box-d2 li, .box-d2 p { font-size:94%; margin: 0.5em 1em; }
.box-d2.box-title { top:-1em; left:1em; font-size:85%; position: absolute; display: inline-block; padding: 0em 1em; color: var(--main-color); background:#ffffff; }

/* QA Box */
.qa-acbox { max-width: 500px; margin-bottom: 7px; border: 1.2px solid var(--sub-color); border-radius: 5px; }
.qa-acbox summary { display: flex; justify-content: space-between; align-items: center; position: relative; padding: 1em 1em 1em 3em; color: var(--moji-color); background:var(--ground-color); font-weight: 600; cursor: pointer; }
.qa-acbox summary::before, .qa-acbox p::before { position: absolute; left: 1em; font-weight: 600; font-size: 1.3em; }
.qa-acbox summary::before { color: #75bbff; content: "Q"; }
.qa-acbox p { position: relative; transform: translateY(-10px); opacity: 0; margin: 0; padding: 1em 2em 1em 3em; color: var(--moji-color); transition: transform .5s, opacity .5s; font-size:94%; }
.qa-acbox p::before { color: #ff8d8d; line-height: 1.2; content: "A"; }
.qa-acbox[open] p { transform: none; opacity: 1; border-top:1px dotted var(--sub-color); }

/* あわせよみ囲みBOX */
.awaseyomi { position: relative; margin: 2em 0.4em; padding: 1em 1em 0.5em; color: var(--main-color); border: solid 2px var(--link-color); border-radius: 5px; }
.awaseyomi .box-title { position: absolute; display: inline-block; top: -13px; left: 15px; padding: 0px 10px; height: 25px; line-height: 25px; color: #fff; background: var(--moji-color); border-radius: 15px; font-size: 80%; }
.awaseyomi li, .awaseyomi p { margin: 0; padding: 0; font-size: 88%; }
.entry-content th a:after, td > a:after, .awaseyomi a:after { content: " " "\f009" " "; font-family: blogicon; font-size: 90%; }
.info { position: relative; color: var(--moji-color); border: solid 1px var(--ground-color); border-radius: 5px; background: #f4f4f4; padding: .5em .7em; margin: 2em .2em 0.5em; border-radius: 0 7px 7px 7px; }
.info .box-title { position: absolute; display: inline-block; top: -24px; left: 0px; padding: 0px 18px; height: 24px; line-height: 24px; color: #fff; background: var(--main-color); border-radius: 5px 5px 0 0; font-size: 80%; }
.infobox { margin: 10px 2px; padding: 1.5em 15px 0.5em; border-radius: 8px; }
.infobox ul, .infobox ol { margin: 0; padding: 0.5em 0.5em 0.5em 2em; }

/* 対話風ふきだし */
.entry-content .l-fuki, .entry-content .r-fuki { position: relative; width: calc(100% - 82px); box-sizing: border-box; padding: 20px; border-radius: 6px; border: 2px solid #ddd; box-shadow: 0 3px 3px -2px rgba(0,0,0,.1); background-color: #fff; z-index: 1; }
.entry-content .l-fuki { margin: 20px auto 14px 10px; }
.entry-content .r-fuki { margin: 20px 10px 14px auto; }
.entry-content .l-fuki::before, .entry-content .r-fuki::before { position: absolute; content: ""; top: 16px; width: 10px; height: 10px; border-right: 2px solid #ddd; border-bottom: 2px solid #ddd; background-color: #fff; z-index: 2; }
.entry-content .l-fuki::before { right: -7px; transform: rotate(-45deg); }
.entry-content .r-fuki::before { left: -7px; transform: rotate(135deg); }
.entry-content .l-fuki::after, .entry-content .r-fuki::after { position: absolute; content: ""; width: 50px; height: 40px; top: -6px; border-radius: 50%; border: 3px solid #fff; background-size: cover; background-position: center center; background-repeat: no-repeat; box-shadow: 0px 1px 2px 1px var(--sub-color); box-sizing: border-box; }
.entry-content .l-fuki::after { right: -82px; }
.entry-content .r-fuki::after { left: -82px; }
@media screen and (min-width: 320px) {
  .entry-content .l-fuki::after, .entry-content .r-fuki::after { width: 54px; height: 54px; }
  .entry-content .l-fuki, .entry-content .r-fuki { width: calc(100% - 76px); }
  .entry-content .l-fuki::after { right: -66px; }
  .entry-content .r-fuki::after { left: -66px; }
}
@media screen and (min-width: 740px) {
  .entry-content .l-fuki::after, .entry-content .r-fuki::after { width: 60px; height: 60px; }
  .entry-content .l-fuki, .entry-content .r-fuki { width: calc(100% - 82px); }
  .entry-content .l-fuki::after { right: -72px; }
  .entry-content .r-fuki::after { left: -72px; }
}
@media screen and (min-width: 1080px) {
  .entry-content .l-fuki::after, .entry-content .r-fuki::after { width: 72px; height: 72px; }
  .entry-content .l-fuki, .entry-content .r-fuki { width: calc(100% - 94px ); }
  .entry-content .l-fuki::after { right: -84px; }
  .entry-content .r-fuki::after { left: -84px; }
}
.kanri::after { background-image:var(--photo); }

/* 新・会話風吹き出し設定 */
.fuki-container { display: flex; margin: 1px 3px; padding: 3px; align-items: flex-start; flex-wrap: nowrap; background: var(--fuki-zentai); }
.fuki-container p { margin: 2px; padding: 0; }
.fuki-container img { margin: 2px; width: 54px; height: 54px; border-radius: 50%; object-fit: cover; border: 1px solid var(--fuki-imgwakucolor); background: var(--fuki-imgcolor); }
.fuki-r, .fuki-l { position: relative; flex: 1; margin: 5px 7px; padding: 15px 1em; border: 2px solid var(--fuki-wakucolor); color: var(--fuki-mojicolor); background: var(--fuki-bgcolor); border-radius: 5px; font-size: 96%; text-align: left; }
.fuki-r::before, .fuki-l::before, .fuki-r::after, .fuki-l::after { content: ""; position: absolute; top: 15px; width: 15px; height: 15px; box-sizing: border-box; translate: -50%; }
.fuki-r::before, .fuki-l::before { background: var(--fuki-bgcolor); }
.fuki-r::after, .fuki-l::after { border: 2px solid; border-color: var(--fuki-wakucolor) var(--fuki-wakucolor) transparent transparent; }
.fuki-r::before, .fuki-r::after { right: -15px; rotate: 45deg; }
.fuki-l::before, .fuki-l::after { left: 0px; rotate: 225deg; }
@media screen and (min-width: 740px) { .fuki-container img { width: 65px; height: 65px; } }
@media screen and (min-width: 1080px) { .fuki-container img { width: 80px; height: 80px; } }

/* はてなタグ */
.entry-tag-label { font-size: 12px; }
img.hatena-fotolife { pointer-events: none; }
.adfix,.entry-content { overflow: hidden; } /* アドセンスのはみ出し修正 */
.date-last-updated { color:var(--link-color); }
.date-last-updated::after { margin-left: 1px; content: "更新"; font-size: 80%; color: var(--link-color); }

/* SNS / Affiliate / codocボタン */
.sns-txt { display:inline-block; text-align: center; font-size: 12px; width: 100%; margin:1px 0; }
.sns-follow { width: 100%; text-align: center; margin: 10px 0 0; }
.sns-follow-left { width: 100%; text-align: left; }
.sns-follow a, .sns-follow-left a { display: inline-block; font-size: 11px; text-align: center; text-decoration: none; padding: 3px 2px 1px; width: 80px; border-radius: 6px; }    
.hatena-button { position: relative; top: 0; transition: 0.2s ease; color: #fff; margin:2px 3px 0; background: var(--bgc);}
.codoc-support { background: var(--back-color)!important; }
.codoc-support .codoc-support-title { color: #777!important; font-size: 14px!important; margin: -0.3em 0 1em 0!important; }
.codoc-entry .codoc-btn, .codoc-entry .codoc-buy .codoc-btn, .codoc-entry .codoc-support .codoc-btn { font-size: 14px!important; border: solid 1px var(--main-color)!important; color: var(--moji-color)!important; background: #f5f5ff; }
.codoc-entry .codoc-buy .codoc-btn:hover, .codoc-entry .codoc-support .codoc-btn:hover { color: #fff!important; background: var(--main-color)!important; }

/* もしもアフィリエイトかんたんリンク */
.easyLink-box { border: 2px solid #eaeaea !important; border-radius: 8px; margin: 20px auto 0 !important; max-width: 88% !important; min-height: 200px; }
@media screen and (max-width: 480px) { .easyLink-box { margin: 20px auto 0 !important; max-width: 90% !important; } }
@media screen and (min-width: 481px) { .easyLink-img { width: 180px !important; height: auto !important; min-height: 180px !important; margin: 0 !important; } }
@media screen and (max-width: 480px) { .easyLink-img { overflow: hidden !important; height: 180px !important; } }
.easyLink-img-box { position: absolute !important; width: 160px !important; height: 180px !important; top: 50% !important; transform: translateY(-50%); margin: 0 auto !important; }
.easyLink-img-box span > img { height: 180px !important; width: auto !important; }
.easyLink-img-box > a > img { width: 20px !important; height: 20px !important; }
@media screen and (max-width: 480px) { .easyLink-img-box { width: 226px !important; } }
@media screen and (min-width: 481px) { .easyLink-info { width: calc(100% - 180px) !important; } }
.easyLink-info-name { font-size: 14px !important; line-height: 1.5 !important; }
.easyLink-info-name a { color: #555555 !important; }
.easyLink-info-maker, .easyLink-info-model { font-size: 12px !important; color: var(--sub-color); }
.easyLink-info-btn a { font-size: 12px !important; line-height: 1.1 !important; width: auto !important; margin: 5px !important; padding: .2em 1em !important; }
.easyLink-info-btn-amazon { background: #ffa724 !important; }
.easyLink-info-btn-rakuten { background: #c9412c !important; }
.easyLink-info-btn-yahoo { background: #39c0e0 !important; }
@media screen and (min-width: 740px) {
  .easyLink-info-name { font-size: 16px !important; }
  .easyLink-info-btn { margin: 20px -5px 0 !important; }
  .easyLink-info-btn a { font-size: 13.5px !important; }
}
.easyLink-info-model { display: none; }


/* =========================================================
   8. トップ・アーカイブページ（カード型など）
   ========================================================= */
.archive-header-category h2 { text-align: center; margin: 0 0 20px; }
.archive-entry-tags-wrapper { display: none; }
.entry-tag-link { font-size: .8rem; }
.page-archive .archive-entry { margin-bottom: 0em; margin-left: auto; margin-right: auto; line-height: 1.3; padding: 1.3em 0 0.5em; border-top: dotted 1px var(--back-color); border-bottom: dotted 1px var(--back-color); }
.page-archive .entry-title { font-size: 1.1rem; margin: .3em auto; }
.page-archive .entry-thumb { width: 110px; height: 110px; border-radius: 3px; background-size: cover; }
.page-archive .entry-description { margin: 0; font-size: .85rem; }
@media (min-width: 740px) {
  .page-archive .entry-thumb { border-radius: 5px; width: 120px; height: 120px; }
  .page-archive .entry-description { font-size: .9rem; }
}
.page-archive .social-buttons { display: block; margin-top: .3em; }

@media (min-width: 368px){
  .page-archive-category .archive-entries, .page-index .archive-entries { display: flex; flex-wrap: wrap; justify-content: center; }
  .page-archive-category .archive-entry, .page-index .archive-entry { flex: 0 0 46%; position: relative; display: flex; flex-direction: column; padding:0; margin: 0 6px 15px; }
  .page-archive-category .archive-entry-header, .page-index .archive-entry-header { order: 2; }
  .page-archive-category .date, .page-index .date { position: absolute; top: 3px; right: 0px; z-index: 10; font-size: 75%; }
  .page-archive-category .date, .page-index .date a { color:rgba(255, 255,255, 0.7); }
  .page-index .date::before { content: "\00a0" "\f043"; font-family: blogicon; color:rgba(255, 255,255, 0.7); }
  .page-archive-category .entry-thumb-link, .page-index .entry-thumb-link { order: 1; aspect-ratio: 16 / 9; position:relative; margin:0 0 10%; }
  .page-archive-category .entry-thumb, .page-index .entry-thumb { position:absolute; top:0; left:0; width:100%; height:120%; background-position: center; background-size: cover; background-repeat: none; }
  .page-archive-category .archive-entry-body, .page-index .archive-entry-body { order: 4; }
  .page-archive-category .entry-title, .page-index .entry-title { padding: 0.3em 1px 0 0; font-size: 88%; }
  .page-archive-category .categories, .page-index .categories { margin: 8px 3px; font-size: 90%; order: 3; }
  .page-archive-category .entry-description, .page-index .entry-description { display:none; }
}
@media(min-width:740px) {
  .page-archive-category .archive-entries, .page-index .archive-entries { justify-content: space-around; }
  .page-archive-category .entry-thumb-link, .page-index .entry-thumb-link { margin:0; }
  .page-archive-category .entry-thumb, .page-index .entry-thumb { height:100%; }
  .page-archive-category .entry-title, .page-index .entry-title { padding: 0.5em 2px 0 1px; font-size: 100%; }
}
.archive-entries h2 { font-size: 80%; }
.hero-image { overflow:hidden; height: 100%; }
.hero-max-width { max-width:720px; margin:0 auto; }
.hero-image img { border-radius: 0px; width:100%; height:auto; vertical-align: top; }
.article-area { margin: 0; }
.article-area p { line-height: 1.0; padding: 10px; margin: 0; font-size: 1.0em; }
.article-area img { width:100%; height:auto; vertical-align: top; transition-duration: 0.5s; }
.article-area img:hover { transform: scale(1.05); transition-duration: 0.5s; }
.article-container img { border-radius: 0px; width:100%; vertical-align: top; }
@media screen and (max-width:480px){
  #top-box .breadcrumb-child:last-child { display:none; }
  .archive-entries p { height: 7.4em; text-overflow: ellipsis; overflow:hidden; color: grey; }
}

/* =========================================================
   9. サイドバー・モジュール関連
   ========================================================= */
.circle-image { border-radius: 25px; }
.hatena-module { box-sizing: border-box; margin-bottom: 1.2em; font-size: 0.95rem; }
@media (min-width: 740px) { .hatena-module { font-size: .9rem; } }
.hatena-module-title { margin-bottom: .5em; padding-bottom: .1em; border-bottom: 2px solid var(--tab-color); font-size: 1rem; color: var(--moji-color); font-weight: bold; }
.hatena-module-title::before { content: "\f02d"; color: var(--moji-color); font-family: blogicon; font-style: normal; font-weight: normal; vertical-align: top; }
.hatena-module-title a { color: var(--moji-color); text-decoration: none; }
.hatena-module-title a:hover { text-decoration: underline; }
.hatena-module-body { font-size: 85%; }

/* 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; border-bottom:1px dotted var(--link-color); }
.hatena-module-archive li { border-bottom:0px; }
.hatena-urllist li:last-child { padding-bottom: 0; border-radius: 0px; }
.hatena-urllist li a { text-decoration: none; }
.hatena-urllist li a:hover { text-decoration: underline; }
.hatena-urllist .urllist-category-link { font-size: .7rem; padding: .1em .3em; }
.hatena-urllist .urllist-date-link a { color: var(--link-color); }
.hatena-urllist .urllist-entry-body { margin-top: .3em; }

/* Search module */
.hatena-module-search-box .search-form { border: 1px dotted var(--sub-color); border-radius: 3px; width: 100%; box-sizing: border-box; display: flex; align-items: center; position: relative; }
.hatena-module-search-box .search-form::after { position: absolute; right: 15px; width: 10px; height: 20px; color: var(--sub-color); content:"\f01a"; font-family: blogicon; pointer-events: none; }
.hatena-module-search-box .search-module-input { flex: 1 0; padding: 5px; color: var(--link-color); 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='https://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; }

/* カテゴリ・最近の記事 */
.hatena-module-category ul li { display: inline-block; margin-top: 0px; margin-right: 3px; border-bottom: 0px; }
.hatena-module-category ul li a { padding: 3px; background: var(--annotation-bg-color); border: 1px var(--ground-color) solid; border-radius: 5px; text-decoration: none; transition: 0.3s ease; }
.hatena-module-category ul li a:hover { border: 1px var(--link-color) solid; }
.hatena-module-recent-entries p { border-bottom:1px dotted var(--link-color); }
.hatena-module:last-of-type { position: sticky; top: 10px; }

/* Smartphone Bottom Menu */
ul.bottom-menu { position: fixed; left:0; bottom:0; width: 100%; height:38px; margin:0; padding:0; border-top:2px solid var(--main-color); border-bottom:2px solid var(--main-color); background-color:rgba(70,130,180,0.5); z-index:30; padding-bottom:env(safe-area-inset-bottom); }
ul.bottom-menu li { float:left; width:20%; background-color:rgba(255,255,255,0.9); list-style-type:none; text-align:center; font-size:19px; }
.bottom-menu li a { display: block; padding-top:12px; padding-bottom:12px; line-height:10px; text-decoration:none; }
.bottom-menu li a:hover { color:var(--main-color); }
.mini-text { font-size:8px; }
ul.menu-second-level { visibility: hidden; opacity: 0; z-index:1; }
ul.menu-second-level li a { border-top:1px dotted var(--link-color); font-size:12px; line-height:24px; }
.menu-second-level li a:hover { height:100%; transition: 1.0s; color: #fff; background-color: var(--main-color); }
li.menu-width-max ul.menu-second-level { position: absolute; bottom: 40px; transition: 0.5s; left: 0; box-sizing: border-box; width: 100%; padding:0; }
li.menu-width-max:hover ul.menu-second-level { bottom: 40px; visibility: visible; opacity: 1; }
li.menu-width-max ul.menu-second-level li { float: left; width: 50%; border: none; }
@media (orientation: landscape), (min-width: 1080px) { .bottom-menu { display:none; } }

/* =========================================================
   10. コメント機能
   ========================================================= */
.entry-footer .social-buttons { margin-bottom: 1em; }
.entry-footer-section { color: var(--sub-color); font-size: .9rem; }
.entry-footer-section a { color: var(--sub-color); }
.comment-box { margin: 0.5em 0.5em; padding: 0.5em; }
.comment-box .comment { list-style: none; margin: 5px 5px 15px 5px; padding: 1rem; line-height: 1.7; font-size: .8rem; }
@media (min-width: 740px) { .comment-box .comment { font-size: .9rem; } }
.comment-box .entry-comment { padding: 10px 5px 10px 60px; border-bottom: 1px solid var(--annotation-color); position: relative; }
.comment-box .entry-comment:first-child { border-top: 1px solid var(--link-color); }
.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; }
.comment-user-name { margin: 0 0 .4em 0; font-weight: bold; }
.comment-content { margin: 0 0 .4em 0; word-wrap: break-word; color: var(--moji-color); font-size: .85rem; }
.comment-content p { margin: 0 0 .6em 0; color: var(--sub-color); }
.comment-metadata { color: var(--sub-color); margin: 0; font-size: .8rem; }
.comment-metadata a { color: var(--sub-color); }
.leave-comment-title::before { content: "\f01d"; color: var(--link-color); font-family: blogicon; font-style: normal; font-weight: normal; vertical-align: top; }
.leave-comment-title { padding: .6em 1em; font-size: .85rem; border: 1px solid var(--link-color); border-radius:10px; }

/* =========================================================
   11. Pager・About
   ========================================================= */
.pager { margin:1em 0; display:flex; justify-content:space-between; }
.pager-prev, .pager-next { border:1px dotted var(--annotation-color); font-size:80%; padding:5px 10px; background:#fff; margin:5px; border-radius:6px; text-decoration:none; color:#333; }
.page-about .entry-content dt { font-weight: bold; border-bottom: 1px solid var(--link-color); margin-bottom: .5em; }
.page-about .entry-content dd { margin-left: 0; margin-bottom: 2em; }
.twitter-width { margin-left : 5%; width : 85%; }
@media (min-width: 740px) { .twitter-width { margin-left : 10%; width : 70%; } }
input[type="text"], textarea { width: 90%; }

/* =========================================================
   12. 表示・非表示設定まとめ（スマホPC出し分け含む）
   ========================================================= */
.page-entry .hatena-module-archive,
.page-entry .hatena-module-circles,
.page-index .hatena-module-recent-entries,
.page-entry .hero-img-box,
.page-about .article-area,
.page-about .hero-img-box,
.page-archive:not(.page-index) .article-area,
.page-archive:not(.page-index) .hero-image,
.page-archive:not(.page-index) .hero-img-box,
.page-archive-category .article-area,
.static-page-sitemap .article-area,
.static-page-blog-search .article-area,
.static-page-not-indexed-page .article-area,
.static-page-privacy-policy .article-area,
.top-page, .hero-image,
span.author.vcard,
.entry-footer-time,
.archive-entries .date,
.page-index .archive-entry-body .social-buttons,
.archive-entry-body .social-buttons,
div.profile-about,
span.user-name-nickname,
span.user-name-hatena-id,
span.user-name-paren,
.page-index .date
{ display: none; }

.page-about .hatena-module-archive,
.page-index .hero-image,
.page-entry .hero-image,
.page-index .top-page
{ display: initial; }

@media(min-width: 1080px){ 
    .archive-entry-body .social-buttons { display: initial; }
}

@media(max-width: 739px){ 
    .page-entry .hatena-module-related-entries,
    .page-entry .hatena-module-recent-entries,
    .hidden-phone { display: none !important; }
}
@media screen and (min-width: 740px) {
    .hidden-pc { display: none !important; text-align: center; }
}

