/* <system section="theme" selected="8599973812333959601"> */

@charset "UTF-8";
/*
  Theme: UnderShirt
  Author: rokuzeudon
  Responsive: yes
  Description:
    記事一覧ページでサムネイル画像を大きく表示するはてなブログテーマです。
*/
@import url("https://fonts.googleapis.com/css?family=Poppins:400,600");
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -ms-text-size-adjust: 100%;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
    margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
    /* 1 */
    display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
    margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
    background-color: transparent;
    /* 1 */
    -webkit-text-decoration-skip: objects;
    /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
    /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
    font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
    font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
    background-color: #ff0;
    color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
    display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
    display: none;
    height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
    border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
    overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: sans-serif;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    display: inline-block;
    /* 1 */
    vertical-align: baseline;
    /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
    display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
    display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
    display: none;
}

#content-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

@media (min-width: 992px) {
    #content-inner {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
    }
}

.entry-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
}

.entry-header .entry-title {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
}

.entry-header .date {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.entry-header .categories {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.entry-header .customized-header {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
}

.entry-header .social-buttons {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
}

.archive-entries {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

.page-archive .archive-entry {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
}

.page-archive .archive-entry .entry-thumb-link {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
}

.page-archive .archive-entry .archive-entry-header {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.page-archive .archive-entry .archive-entry-body {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
}

.page-archive .archive-entry .categories {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
}

.archive-entry-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
}

.archive-entry-header .entry-title {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
}

.archive-entry-header .date {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
}

.pager {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

html,
body {
    font-family: 'Poppins', -apple-system, BlinkMacSystemFont, Segoe UI, 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Kaku Gothic Pro', 'Meiryo', sans-serif;
    color: #454545;
    background-color: #f5f5f5;
    line-height: 1.6;
    letter-spacing: .08em;
}

a {
    color: #454545;
    text-decoration: none;
    -webkit-transition: .1s ease-out;
    transition: .1s ease-out;
}

a:hover {
    color: #1487bd;
    text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
    color: #333;
    line-height: 1.4;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
    color: #333;
    text-decoration: none;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
    color: #0f668f;
}

/* はてなブログ グローバルヘッダ
  iframeですが、#globalheader-container に背景色や文字色を指定することで中にも色が反映されます
*/
#globalheader-container {
    background-color: #454545;
    color: #f5f5f5;
}

#content-inner {
    max-width: 1200px;
    margin: auto;
}

#blog-title {
    margin: auto;
    max-width: 1200px;
    padding: 3em 20px 2em;
    text-align: center;
}

@media (min-width: 992px) {
    #blog-title {
        margin: 0 auto;
        padding: 3em 40px;
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        text-align: left;
    }
}

#title {
    margin: 0;
    font-size: 1.5rem;
}

@media (min-width: 992px) {
    #title {
        font-size: 2rem;
    }
}

#title a {
    color: #454545;
}

#blog-description {
    font-weight: normal;
    font-size: .8rem;
    margin: 1em 0 0;
}

.header-image-enable #blog-title {
    margin: 0 auto 2em;
}

@media (min-width: 768px) {
    .header-image-enable #blog-title {
        padding: 0 40px;
    }
}

.header-image-enable #blog-title-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 30px 0 0;
}

@media (min-width: 992px) {
    .header-image-enable #blog-title-inner {
        background-size: cover;
    }
}

.header-image-enable #blog-title-content {
    margin: auto;
    text-align: center;
}

#top-box {
    max-width: 1200px;
    margin: 0 auto 1em;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

#top-editarea {
    margin-bottom: 1em;
}

.breadcrumb {
    padding: 0 20px;
    font-size: .78rem;
}

@media (min-width: 768px) {
    .breadcrumb {
        padding: 0 40px;
    }
}

@media (min-width: 992px) {
    #wrapper {
        width: calc( 100% - 337px);
    }
}

#main {
    width: 100%;
}

#main-inner {
    max-width: 1140px;
    margin: auto;
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media (min-width: 992px) {
    #main-inner {
        padding: 0 40px;
    }
}

.entry {
    position: relative;
    margin-bottom: 20px;
    padding: 20px;
    background: #fff;
}

@media (min-width: 768px) {
    .entry {
        padding: 30px 40px;
    }
}

.entry-header {
    position: relative;
    margin: 10px 0 30px;
}

.entry-header .social-buttons {
    margin: 1em 0 0;
    padding: 1em 0;
    border-top: 1px solid #ddd;
}

.date {
    font-size: .9rem;
}

.date a {
    color: #999;
    text-decoration: none;
}

.date a:hover {
    color: #454545;
}

.entry-title {
    margin: 0 0 .3em;
    font-size: 1.5rem;
}

@media (min-width: 992px) {
    .entry-title {
        font-size: 1.6rem;
    }
}

.categories a {
    font-size: .86rem;
    display: inline-block;
    margin: 8px 4px 0 0;
    padding: 4px 8px 2px;
    background: #f5f5f5;
    text-decoration: none;
}

.categories a:hover {
    color: #1487bd;
}

.entry-footer .social-buttons {
    margin-bottom: 1em;
}

.entry-footer-section {
    color: #999;
    font-size: .9rem;
}

.entry-footer-section a {
    color: #999;
}

.comment-box {
    margin: 2em 0 1em;
    padding: 2em 0 1em;
    border-top: 4px solid #ddd;
}

.comment {
    list-style: none;
    margin: 0 0 15px 0;
    padding: 0;
    line-height: 1.7;
    font-size: .85rem;
}

@media (min-width: 768px) {
    .comment {
        font-size: .9rem;
    }
}

.entry-comment {
    margin: 0 0 1em;
    padding: 10px 10px 10px 70px;
    background: #f5f5f5;
    border-radius: 6px;
    position: relative;
}

.read-more-comments {
    padding: 10px 0;
    text-decoration: underline;
}

.hatena-id-icon {
    width: 50px !important;
    height: 50px !important;
    border-radius: 3px;
}

.comment-user-name {
    margin: 0 0 .4em 0;
    font-weight: bold;
}

.comment-content {
    margin: 0 0 .4em 0;
    word-wrap: break-word;
    color: #454545;
    font-size: .85rem;
}

.comment-content p {
    margin: 0 0 .6em 0;
}

.comment-metadata {
    color: #999;
    margin: 0;
    font-size: .8rem;
}

.comment-metadata a {
    color: #999;
}

.leave-comment-title {
    padding: .6em 1em;
    font-size: .85rem;
    background: #f5f5f5;
    top: 0;
    -webkit-box-shadow: 1px 3px 10px #ddd;
            box-shadow: 1px 3px 10px #ddd;
}

.leave-comment-title:hover {
    top: 3px;
    -webkit-box-shadow: 0 1px 3px #ddd;
            box-shadow: 0 1px 3px #ddd;
}

@media (min-width: 992px) {
    #box2 {
        width: 377px;
    }
}

#box2-inner {
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

@media (min-width: 768px) {
    #box2-inner {
        padding: 0 40px;
    }
}

@media (min-width: 992px) {
    #box2-inner {
        padding-left: 0;
    }
}

.hatena-module {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-bottom: 3em;
    font-size: .85rem;
}

@media (min-width: 768px) {
    .hatena-module {
        font-size: .9rem;
    }
}

.hatena-module-title {
    margin: 0;
    padding: 2em 0 1em;
    border-top: 4px solid #ddd;
    font-size: 1.2rem;
    font-weight: bold;
}

.hatena-module-title a {
    color: #454545;
    text-decoration: none;
}

.hatena-module-title a:hover {
    text-decoration: underline;
}

.hatena-urllist {
    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1.4;
}

.hatena-urllist li {
    padding: 0 0 1em;
}

.hatena-urllist li:last-child {
    padding-bottom: 0;
}

.urllist-title-link {
    font-size: .9rem;
}

.urllist-category-link {
    color: #999;
    font-size: .8rem;
    padding: .1em .3em .1em 0;
}

.urllist-date-link a {
    display: block;
    margin: 0 0 .4em;
    color: #999;
}

.urllist-entry-body {
    margin-top: .3em;
    color: #999;
}

.urllist-with-thumbnails li .urllist-image {
    position: relative;
    margin: 0 1em 1em 0;
    -webkit-transition: .1s ease-out;
    transition: .1s ease-out;
    top: 0;
    -webkit-box-shadow: 1px 3px 10px #ddd;
            box-shadow: 1px 3px 10px #ddd;
}

.urllist-with-thumbnails li .urllist-image:hover {
    top: 3px;
    -webkit-box-shadow: 0 1px 3px #ddd;
            box-shadow: 0 1px 3px #ddd;
}

.urllist-categories {
    margin: .4em 0 0;
}

.profile-icon {
    float: left;
    margin: 0 10px 10px 0;
}

.id {
    display: block;
    font-weight: bold;
    margin-bottom: .5em;
}

.profile-description p {
    margin-top: 0;
}

.search-form, .search-result-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 2px solid #ddd;
    border-radius: 3px;
    width: 100%;
    padding: 4px 0 2px 6px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

.search-module-input, .search-result-input {
    -webkit-box-flex: 1;
        -ms-flex: 1 0;
            flex: 1 0;
    padding: 5px;
    color: #454545;
    background: none;
    border: none;
    outline: none;
    height: 20px;
}

.search-module-button, .search-result-button {
    width: 24px;
    height: 24px;
    margin-right: 5px;
    background: transparent url("https://cdn.blog.st-hatena.com/images/theme/search@2x.png?version=abf96f4605410ec3d67a4284c01b45") no-repeat center;
    background-size: 20px 20px;
    border: none;
    outline: none;
    color: transparent;
    overflow: hidden;
    opacity: .5;
    cursor: pointer;
}

.search-module-button:hover, .search-result-button:hover {
    opacity: .85;
}

.archive-module-calendar a {
    display: block;
    margin: 0 .2em;
    padding: .2em 0 0;
    color: #1487bd;
    font-weight: bold;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 1em;
}

.archive-module-calendar a:hover {
    color: #0f668f;
    background: white;
}

.hatena-module-category a {
    position: relative;
    padding: 0 0 0 20px;
}

.hatena-module-category a::before {
    content: ">";
    display: inline;
    position: absolute;
    top: 0;
    left: 2px;
    color: #999;
    -webkit-transition: .1s ease-out;
    transition: .1s ease-out;
}

.hatena-module-category a:hover::before {
    color: #1487bd;
    left: 6px;
}

/* About ページ */
.page-about .entry-content dt {
    font-weight: bold;
    border-bottom: 1px solid #ddd;
    margin-bottom: .5em;
}

.page-about .entry-content dd {
    margin-left: 0;
    margin-bottom: 2em;
}

.archive-header-category {
    margin: 30px;
    text-align: center;
}

.archive-entry {
    position: relative;
    width: 100%;
    margin-bottom: 20px;
    padding: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background: #fff;
}

@media (min-width: 768px) {
    .archive-entry {
        width: calc(50% - 10px);
        padding: 20px;
    }
    .archive-entry:nth-child(odd) {
        margin-right: 19.5px;
    }
}

.page-archive #main-inner {
    padding: 20px;
}

@media (min-width: 768px) {
    .page-archive #main-inner {
        padding: 0 40px;
    }
}

.page-archive .entry-thumb-link {
    width: calc( 100% + 40px);
    margin: -20px 0 20px -20px;
}

@media (min-width: 768px) {
    .page-archive .entry-thumb-link {
        width: calc( 100% + 40px);
        margin: -20px 0 20px -20px;
    }
}

.page-archive .entry-thumb {
    width: 100%;
    height: 48vw;
    background-position: center;
}

@media (min-width: 768px) {
    .page-archive .entry-thumb {
        height: 24vw;
    }
}

@media (min-width: 992px) {
    .page-archive .entry-thumb {
        height: 17vw;
        max-height: 202px;
    }
}

.page-archive .categories a {
    font-size: .7em;
}

.archive-date {
    margin-bottom: .2em;
}

.archive-entry-header .entry-title {
    font-size: 1rem;
}

.archive-entry-header .date {
    font-size: .8rem;
}

.archive-entry-body .entry-description {
    margin: 0;
    font-size: .8rem;
}

.archive-entry-body .social-buttons {
    display: block;
    margin-top: .3em;
}

.page-entry #main-inner {
    padding: 0;
}

@media (min-width: 768px) {
    .page-entry #main-inner {
        padding: 0 40px;
    }
}

.page-entry .breadcrumb {
    margin-bottom: 1em;
}

#footer {
    background: #eee;
}

#footer-inner {
    margin-top: 2em;
    padding: 10px 0;
    text-align: center;
    font-size: .8rem;
    color: #999;
}

#footer-inner a {
    color: #999;
}

#footer-inner p {
    margin: .5em auto;
}

@media (min-width: 768px) {
    #footer-inner {
        max-width: 1200px;
        margin: auto;
        padding: 20px 40px;
    }
}

.entry-content img,
.entry-content video {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    margin: 3em 0 0.8em 0;
}

.entry-content h3 {
    font-size: 1.5rem;
}

.entry-content h4 {
    margin: 2em 0 1em 0;
    font-size: 1.4rem;
}

.entry-content h5 {
    margin: 1.6em 0 1em 0;
    font-size: 1.2rem;
}

.entry-content h6 {
    margin: 1em 0 1em 0;
    font-size: .9rem;
}

.entry-content a {
    color: #1487bd;
    text-decoration: underline;
}

.entry-content a:hover {
    color: #0f668f;
    text-decoration: none;
}

.entry-content a.keyword {
    text-decoration: none;
    border-bottom: 1px dotted #ddd;
    color: #454545;
}

.entry-content .entry-see-more {
    display: inline-block;
    padding: 10px 16px;
    color: #454545;
    text-decoration: none;
    background: #f5f5f5;
    top: 0;
    -webkit-box-shadow: 1px 3px 10px #ddd;
            box-shadow: 1px 3px 10px #ddd;
    -webkit-transition: .1s ease-out;
    transition: .1s ease-out;
}

.entry-content .entry-see-more:hover {
    top: 3px;
    -webkit-box-shadow: 0 1px 3px #ddd;
            box-shadow: 0 1px 3px #ddd;
}

.entry-content ul,
.entry-content ol,
.entry-content dd {
    margin: 0 0 1em 1.5em;
    padding: 0;
}

.entry-content ul li ul, .entry-content ul li ol,
.entry-content ol li ul,
.entry-content ol li ol,
.entry-content dd li ul,
.entry-content dd li ol {
    margin-bottom: 0;
}

.entry-content table {
    border-collapse: collapse;
    border-spacing: 0;
    border-bottom: 1em;
    margin-bottom: 1em;
    width: 100%;
    overflow: auto;
    display: block;
    font-size: .8rem;
}

@media (min-width: 992px) {
    .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: #fff;
}

.entry-content blockquote {
    margin: 2em 0 1.6em;
    padding: 20px;
    background: #f5f5f5;
}

.entry-content blockquote p:first-child {
    margin-top: 0;
}

.entry-content blockquote p:last-child {
    margin-bottom: 0;
}

.entry-content blockquote::before {
    content: "“";
    display: block;
    position: absolute;
    top: -52px;
    left: -12px;
    font-size: 8em;
    opacity: .1;
}

.entry-content pre,
.entry-content code {
    font-family: 'Monaco', 'Consolas', 'Courier New', Courier, monospace, sans-serif;
}

.entry-content pre {
    background: #fff;
    border: none;
    white-space: pre-wrap;
    text-overflow: ellipsis;
    font-size: 100%;
    line-height: 1.3;
    font-size: .8rem;
    padding: 10px;
}

.entry-content pre > code {
    margin: 0;
    padding: 0;
    white-space: pre;
    border: none;
    background-color: transparent;
    font-family: 'Monaco', 'Consolas', 'Courier New', Courier, monospace, sans-serif;
}

.entry-content code {
    font-size: 90%;
    margin: 0 2px;
    padding: 0px 5px;
    background-color: #fff;
    border-radius: 3px;
}

.entry-content hr {
    width: 50%;
    border: 0;
    border: none;
    border-top: 1px solid #ddd;
    margin: 2em auto;
}

.entry-content .table-of-contents {
    margin: 0;
    padding: 1.2em;
    border: 1px solid #ddd;
    font-size: .9em;
}

.entry-content .table-of-contents::before {
    content: "目次";
    display: block;
    margin: 0 0 .8rem;
    padding: 0 0 .4rem;
    border-bottom: 1px solid #ddd;
    font-size: 1rem;
}

.entry-content .table-of-contents a {
    color: #454545;
}

.entry-content .table-of-contents li {
    margin: 0 0 0 1.4em;
    list-style-type: decimal;
}

.entry-content .table-of-contents li ul {
    margin: 0 0 1em .5em;
}

.entry-content .table-of-contents li ul li {
    margin: 4px;
}

.pager {
    margin: 2em 0;
}

.pager .pager-prev, .pager .pager-next {
    display: block;
    width: 50%;
}

.pager .pager-next {
    text-align: right;
}

.pager .pager-prev a, .pager .pager-next a {
    display: inline-block;
    width: 96%;
    padding: 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}

div.footnote {
    padding: 1em 0;
    border-top: #ddd 1px solid;
}

#footer .guest-footer {
    margin: 20px;
    padding: 25px 30px 10px;
    max-width: 700px;
    background: #fff;
    border-radius: 6px;
}

@media (min-width: 768px) {
    #footer .guest-footer {
        margin: 30px auto;
    }
}

.page-index .pager, .page-archive .pager {
    margin: 2em 0;
}

.entry-header-menu a {
    position: absolute;
    top: 0;
    right: 0;
    padding: 6px 10px;
    background: #f5f5f5;
    top: 0;
    -webkit-box-shadow: 1px 3px 10px #ddd;
            box-shadow: 1px 3px 10px #ddd;
    -webkit-transition: .1s ease-out;
    transition: .1s ease-out;
}

.entry-header-menu a:hover {
    top: 3px;
    -webkit-box-shadow: 0 1px 3px #ddd;
            box-shadow: 0 1px 3px #ddd;
}

.entry-header-html a, .entry-footer-html a {
    color: #1487bd;
    text-decoration: underline;
}

.entry-header-html a:hover, .entry-footer-html a:hover {
    text-decoration: none;
    color: #0f668f;
}

/*# sourceMappingURL=boilerplate.css.map */

/* </system> */







body {

background-color: #fff;

font-family: "Noto Sans JP", 'Poppins', -apple-system, BlinkMacSystemFont, Segoe UI, 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Kaku Gothic Pro', 'Meiryo', sans-serif;

}



#content-inner {

padding-top: 2em;

}



body:not(.page-index) .header-img {

display: none;

}



.center {

margin-top: 1rem;

}



/*  ヘッダーデザイン */



#blog-title {

display: none;

}



.header-area {

position: relative;

display: -webkit-flex;

display: flex;

flex-wrap: nowrap;

justify-content: space-between;

-webkit-box-align: center;

-ms-flex-align: center;

align-items: center;

max-width: 1120px;

padding: 0 0;

margin: 0 auto;

box-sizing: border-box;

}



.blog-title {

-webkit-box-flex: 5;

-ms-flex-positive: 5;

flex-grow: 5;

}



.top-cta-tel {

-webkit-box-flex: 1;

-ms-flex-positive: 1;

flex-grow: 1;

}



.top-cta-contact {

-webkit-box-flex: 1;

-ms-flex-positive: 1;

flex-grow: 1;

}



@media screen and (max-width:768px) {

.header-area {

position: relative;

display: -webkit-flex;

display: flex;

flex-wrap: wrap;

}



.blog-title h1 {

margin: .5em 0 0;

}



.blog-title,

.top-cta-tel,

.top-cta-contact {

-webkit-box-flex: 0;

-ms-flex-positive: 0;

flex-grow: 0;

margin: .5rem auto;

}



.top-cta-tel {

margin: -0.5rem auto 1rem;

}



.top-cta-contact {

display: none;

}

}



/* sidebar */

.hatena-module-title {

position: relative;

padding: .5rem 0;

border-top: none;

margin-bottom: 2rem;

font-weight: 500;

font-style: normal;

text-align: center;

background-color: #0889D7;

color: #fff;

}



.hatena-module-title a {

color: #fff;

}



/* search box */



.search-form {

background-color: #fff;

}



/* トップページ記事一覧表示 */

.page-archive .archive-entry {

-webkit-box-shadow: 0px 3px 6px -3px rgba(0, 0, 0, 0.3);

box-shadow: 0px 3px 6px -3px rgba(0, 0, 0, 0.3);

}



/* drawer menu */

/* スマホのみメニュー表示 */

@media screen and (min-width:768px) {

#slideMenu {

display: none;

}

}



.slideButton {

display: none;

}



#slideMenu {

position: relative;

width: 100%;

height: 40px;

background-color: #0889D7;

/*メニューの背景色*/

-webkit-box-shadow: 0px 3px 6px -3px rgba(0, 0, 0, 0.7);

box-shadow: 0px 3px 6px -3px rgba(0, 0, 0, 0.7);

font-weight: 400;

}



#slideMenu > .slideMenuInner {

list-style-type: none;

max-width: 1200px;

/*メニューの横幅を*/

height: 100%;

margin: 0 auto;

padding-left: 0;

display: -webkit-flex;

display: flex;

-webkit-justify-content: center;

justify-content: center;

}



#slideMenu > .slideMenuInner li {

position: relative;

height: 100%;

text-align: center;

}



#slideMenu > .slideMenuInner > li a {

display: block;

position: relative;

z-index: 2;

height: 100%;

padding-right: 20px;

/*文字の左の余白*/

padding-left: 20px;

/*文字の右の余白*/

background-color: #0889D7;

/*文字の背景色*/

color: #fff;

/*文字色*/

font-size: 100%;

text-decoration: none;

line-height: 40px;

}



#slideMenu > .slideMenuInner > li:hover a {

background-color: #065da6;

/*文字の背景色（マウスホバー時）*/

}



@media screen and (min-width:1200px) {

.pc-hidden {

display: none;

text-align: center;

}



#slideMenu {

font-family: fot-cezanne-pron, sans-serif;

font-weight: 500;

font-style: normal;

}



/*２階層目*/

#slideMenu > .slideMenuInner > li > ul.second-level {

visibility: hidden;

list-style-type: none;

position: absolute;

z-index: -1;

top: 0;

margin: 0;

padding-left: 0;

}



#slideMenu > .slideMenuInner > li:hover > ul.second-level {

visibility: visible;

z-index: 1;

top: 40px;

transition: all .3s;

}



#slideMenu > .slideMenuInner > li:hover > ul.second-level > li {

width: 300px;

height: 40px;

text-align: center;

}



#slideMenu > .slideMenuInner > li:hover > ul.second-level > li > a {

display: block;

background-color: #0889D7;

/*子メニューの文字の背景色*/

color: #fff;

/*子メニューの文字色*/

font-size: 90%;

text-decoration: none;

line-height: 40px;

}



#slideMenu > .slideMenuInner > li:hover > ul.second-level > li > a:hover {

background-color: #065da6;

/*子メニューの背景色（マウスホバー時）*/

}

}



.second-btn {

color: #666;

display: none;

}



/*２階層目ここまで*/





/******スライドメニュー*******/



@media screen and (max-width:1199px) {



/*１*/

#menuButton {

z-index: 10;

width: 100%;

background-color: #0889D7;

/*メニューバーの色*/

}



#menuButtonInner {

position: relative;

width: 100%;

margin: 0 auto;

text-align: right;

}



.slideButton {

display: inline-block;

margin: 5px;

padding: 8px 15px;

background-color: #0889D7;

/*「MENU」の背景色*/

color: #fff;

/*「MENU」の文字色*/

font-size: 100%;

text-decoration: none;

cursor: pointer;

}



#slideMenu {

overflow-x: hidden;

overflow-y: auto;

z-index: 100;

position: fixed;

top: 0;

right: -260px;

bottom: 0;

display: block;

width: 100%;

max-width: 260px;

height: 100%;

margin: 0;

padding: 0;

box-shadow: 0 8px 17px 0 rgba(0, 0, 0, 0.2);

background-color: #fff;

}



.slideMenuInner li {

display: block;

}



#slideMenu > .slideMenuInner {

display: block;

position: relative;

height: auto;

width: 100%;

}



#slideMenu > .slideMenuInner > li {

display: block;

position: relative;

float: none;

width: 100%;

height: auto;

margin: 0 auto;

border-top: 1px solid #eee;

text-align: center;

}



#slideMenu > .slideMenuInner > li a {

display: block;

position: relative;

z-index: 1;

width: 100%;

height: 40px;

padding: 0;

background-color: #fff;

/*スライドメニューの背景色*/

color: #0889D7;

/*スライドメニューの文字色*/

font-size: 100%;

font-weight: bold;

line-height: 40px;

text-align: left;

padding-left: 10px;

}



#slideMenu > .slideMenuInner > li:hover a {

background-color: #fff;

/*スライドメニューの背景色（マウスホバー時）*/

color: #0889D7;

/*スライドメニューの文字色（マウスホバー時）*/

}



#slideMenu > .slideMenuInner > li > a:active {

opacity: .8;

}



#slideMenu > .slideMenuInner > li:hover > ul.second-level {

display: block;

}



#slideMenu > .slideMenuInner > li > ul.second-level {

display: none;

position: static;

padding: 0;

}



#slideMenu > .slideMenuInner > li > ul.second-level > li {

border-top: 1px solid #eee;

}



#slideMenu > .slideMenuInner > li > ul.second-level > li > a {

padding-left: 2rem;

}



#slideMenu > .slideMenuInner > li > ul.second-level > li > a:before {

content: "\f054";

font-family: "Font Awesome 5 Free";

font-weight: bold;

}



#slideMenu .fa-angle-down {

display: none;

}



.closeArea {

height: 100%;

background-color: #0889D7;

/*クローズエリア（スライドメニューの下の部分）の色*/

cursor: pointer;

}



#layer {

display: none;

position: fixed;

z-index: 10;

top: 0;

width: 100%;

height: 150%;

background-color: #222;

/*レイヤーの色*/

opacity: .4;

/*レイヤーの透明度*/

cursor: pointer;

}



.pc-hidden {

text-align: center;

background-color: #fff;

padding: 10px;

}



.second-btn {

color: #0889D7;

position: absolute;

top: .25rem;

right: 2%;

display: block;

z-index: 10;

width: 40px;

height: 40px;

text-align: center;

vertical-align: middle;

}



.fa-angle-down {

display: none;

}



.second-btn.blogicon-chevron-down:before {

vertical-align: middle;

}

}



/* フォローボタン */



.follow-buttons {

text-align: center;

margin-top: 0;

width: 100%;

}



.follow-buttons a {

display: inline-block;

width: 60px;

text-align: center;

text-decoration: none;

margin: 5px;

}



.follow-buttons .inner-text {

font-size: 10px;

display: block;

}



.follow-buttons .lg,

.content-inner-follow-buttons .fa {

padding: 15px;

border-radius: 5px;

margin: 2px auto;

}



.follow-buttons .hatena {

color: #38393C;

background-color: transparent;

}



.follow-buttons .blogicon-hatenablog {

background: #38393C;

color: #ffffff;

}



.follow-buttons .blogicon-hatenablog:hover {

background: #5F6063;

}



.follow-buttons .facebook {

color: #305097;

background-color: transparent;

}



.follow-buttons .blogicon-facebook {

background: #305097;

color: #ffffff;

}



.follow-buttons .blogicon-facebook:hover {

background: #5A77B7;

}



.follow-buttons .twitter {

color: #55acee;

background-color: transparent;

}



.follow-buttons .blogicon-twitter {

background: #55acee;

color: #ffffff;

}



.follow-buttons .blogicon-twitter:hover {

background: #89C7F7;

}



.follow-buttons .instagram {

color: #D93177;

background-color: transparent;

}



.follow-buttons .blogicon-instagram {

background: #D93177;

color: #ffffff;

}



.follow-buttons .blogicon-instagram:hover {

background: #df528d;

}



.follow-buttons .feedly {

color: #6cc655;

background-color: transparent;

}



.follow-buttons .blogicon-rss {

background: #6cc655;

color: #ffffff;

}



.pc-hidden .profile-icon {

float: none;

}





/*-------------------------------



フッター周り



-------------------------------*/





/* footer */



#bottom-editarea {

margin-top: 0;

padding-bottom: 1rem;

padding-top: 1rem;

text-align: center;

font-size: .8rem;

color: #fff;

background: #0889D7;

}



#copyright a,

#footer a {

color: #fff;

}



#footer p {

margin: .5em auto;

}





/* copyright */



#copyright {

text-align: center;

font-size: 12px;

color: #fff;

}





/*-------------------------------



その他



-------------------------------*/





/* フォローボタン */



ul.social-icon {

display: -webkit-flex;

display: flex;

-webkit-justify-content: center;

justify-content: center;

list-style-type: none;

-webkit-padding-start: 0;

/* user agent stylesheet の無効化 */

}



.social-icon li a {

display: block;

margin: 0 5px 5px 0;

color: #fff;

width: 50px;

/* 丸ボタンの幅 */

height: 50px;

/* 丸ボタンの高さ */

line-height: 50px;

/* 高さに揃える */

border-radius: 50%;

text-align: center;

}



.social-icon .hatena {

background: #3d3f44;

color: #fff;

}



.social-icon .hatena .lg {

font-size: 1.3333333333333333em;

line-height: .75em;

vertical-align: -20%;

}



.social-icon .twitter {

background: #00a1e9;

color: #fff;

}



.social-icon .facebook {

background: #3b5998;

color: #fff;

}





/* レスポンシブシェアボタン */

.sns-header,

.sns-footer {

padding: 0;

}



.sns-area {

margin: 10px auto;

padding: 0;

overflow: hidden;

table-layout: fixed;

display: table;

width: 100%;

}



.sns-area li {

list-style-type: none;

display: table-cell;

vertical-align: middle;

}



.sns-area li:last-child {

margin-right: 0

}



.sns-link {

position: relative;

display: block;

color: #fff;

text-align: center;

text-decoration: none;

outline: none;

overflow: hidden;

height: 42px;

line-height: 42px;

}



.sns-link::after {

position: absolute;

top: 50%;

left: 50%;

z-index: 2;

display: block;

content: '';

width: 0;

height: 0;

background-color: rgba(255, 255, 255, .3);

border-radius: 50%;

-webkit-transform: translate(-50%, -50%);

transform: translate(-50%, -50%);

opacity: 0;

}



.entry-header-html a.sns-link,

.entry-footer-html a.sns-link,

a.sns-link:hover {

color: #fff;

text-decoration: none;

}



.sns-link:hover::after {

-webkit-animation: circle .75s;

animation: circle .75s;

}



@-webkit-keyframes circle {

50% {

opacity: 1;

}



100% {

width: 300px;

height: 300px;

}

}



@keyframes circle {

50% {

opacity: 1;

}



100% {

width: 300px;

height: 300px;

}

}



.sns-twitter {

color: #fff;

background: #55acee;

}



.sns-facebook {

color: #fff;

background: #3a5795;

}



.sns-bookmark {

color: #fff;

background: #00A5DE;

}



.sns-line {

color: #fff;

background: #00B900;

}



.sns-pocket {

color: #fff;

background: #EE4256;

}



.fa-twitter,

.blogicon-facebook,

.blogicon-bookmark,

.fa-line,

.blogicon-chevron-down,

.fa-facebook-official {

margin-right: 5px;

}



.share-text {

padding-left: 4px;

}



@media only screen and (max-width: 767px) {



.share-text,

.sns-txt {

display: none;

}



.blogicon-twitter,

.blogicon-bookmark,

.fa-google-plus,

.blogicon-chevron-down,

.fa-facebook-official {

margin-right: 0;

}

}



/* フッターフォローボタン */



.footer-follow-buttons {

text-align: center;

margin-top: 0;

width: 100%;

}



.footer-follow-buttons .follow-title {

width: 100%;

color: #666;

margin-bottom: 5px;

}



.footer-follow-buttons a {

display: inline-block;

width: 60px;

text-align: center;

text-decoration: none;

margin: 5px;

}



.footer-follow-buttons .inner-text {

font-size: 13px;

display: block;

}



.footer-follow-buttons .lg,

.content-inner-follow-buttons .fa {

border-radius: 5px;

margin: 2px auto;

}



.footer-follow-buttons .hatena {

color: #fff;

}



.footer-follow-buttons .blogicon-hatenablog {

color: #fff;

font-size: 40px;

}



.footer-follow-buttons .blogicon-hatenablog:hover {

opacity: 0.8;

}



.footer-follow-buttons .facebook {

color: #fff;

}



.footer-follow-buttons .blogicon-facebook {

color: #fff;

font-size: 40px;

}



.footer-follow-buttons .blogicon-facebook:hover {

opacity: 0.8;

}



.footer-follow-buttons.twitter {

color: #fff;

}



.footer-follow-buttons .blogicon-twitter {

color: #fff;

font-size: 40px;

}



.footer-follow-buttons .blogicon-twitter:hover {

opacity: 0.8;

}



.footer-follow-buttons .instagram {

color: #fff;

}



.footer-follow-buttons .blogicon-instagram {

color: #fff;

font-size: 40px;

}



.footer-follow-buttons.blogicon-instagram:hover {

opacity: 0.8;

}



.footer-follow-buttons .feedly {

color: #fff;

}



.footer-follow-buttons .blogicon-rss {

color: #fff;

font-size: 40px;

}



.footer-follow-buttons .blogicon-rss:hover {

opacity: 0.8;

}



.footer-follow-buttons .googleplus {

color: #fff;

}



.footer-follow-buttons .fa-google-plus {

color: #fff;

font-size: 40%;

}



.footer-follow-buttons .fa-google-plus:hover {

opacity: 0.8;

}



@media (max-width: 1150px) and (min-width: 920px) {

.footer-follow-buttons a {

display: inline-block;

width: initial;

text-align: center;

text-decoration: none;

margin: 5px;

}

}





/* サイドバーフォローボタン */



.sidebar-follow-buttons {

text-align: center;

margin-top: 0;

width: 100%;

}



.sidebar-follow-buttons .follow-title {

width: 100%;

color: #666;

margin-bottom: 5px;

}



.sidebar-follow-buttons a {

display: inline-block;

width: 80px;

text-align: center;

text-decoration: none;

margin: 5px;

}



.sidebar-follow-buttons .inner-text {

font-size: 13px;

display: block;

}



.sidebar-follow-buttons .lg,

.content-inner-follow-buttons .fa {

padding: 15px;

border-radius: 5px;

margin: 2px auto;

}



.sidebar-follow-buttons .hatena {

color: #38393C;

background-color: transparent;

}



.sidebar-follow-buttons .blogicon-hatenablog {

background: #38393C;

color: #ffffff;

}



.sidebar-follow-buttons .blogicon-hatenablog:hover {

background: #5F6063;

}



.sidebar-follow-buttons .facebook {

color: #305097;

background-color: transparent;

}



.sidebar-follow-buttons .blogicon-facebook {

background: #305097;

color: #ffffff;

}



.sidebar-follow-buttons .blogicon-facebook:hover {

background: #5A77B7;

}



.sidebar-follow-buttons .twitter {

color: #55acee;

background-color: transparent;

}



.sidebar-follow-buttons .blogicon-twitter {

background: #55acee;

color: #ffffff;

}



.sidebar-follow-buttons .blogicon-twitter:hover {

background: #89C7F7;

}



.sidebar-follow-buttons .instagram {

color: #D93177;

background-color: transparent;

}



.sidebar-follow-buttons .blogicon-instagram {

background: #D93177;

color: #ffffff;

}



.sidebar-follow-buttons .blogicon-instagram:hover {

background: #e573a3;

}



.sidebar-follow-buttons .feedly {

color: #6cc655;

background-color: transparent;

}



.sidebar-follow-buttons .blogicon-rss {

background: #6cc655;

color: #ffffff;

}



.sidebar-follow-buttons .blogicon-rss:hover {

background: #8EDC7A;

}



.sidebar-follow-buttons .googleplus {

color: #db4a39;

background-color: transparent;

}



.sidebar-follow-buttons .fa-google-plus {

background: #db4a39;

color: #ffffff;

}



.sidebar-follow-buttons .fa-google-plus:hover {

background: #e47365;

}



/* カテゴリー */



.categories a {

background: #0889D7;

color: #fff;

padding: 4px 8px 6px;

}



.categories a:hover {

background: #0889D7;

color: #F6F261;

}







/* リストアイコン */

.hatena-module-category a::before {

content: "\f303";

font-family: "Font Awesome 5 Free";

color: #0889D7;

font-weight: bold;

}





/* Pager */

.pager {

margin: 20px 0;

text-align: center;

font-size: 14px;

}



.pager .pager-next,

.pager .pager-prev {

display: block;

margin: 0 2%;

padding: .4em;

width: 50%;

text-align: center;

background-color: #0889D7;

border-radius: 8px;

box-sizing: border-box;

position: relative;

}



.page-archive .pager-next {

width: 50%;

margin: 0 0 0 auto;

}



@media (max-width: 768px) {

.page-archive .pager-next {

margin: 0 auto;

}

}



.pager .pager-prev a,

.pager .pager-next a {

display: -webkit-box;

display: -ms-flexbox;

display: flex;

-webkit-box-orient: horizontal;

-webkit-box-direction: normal;

-ms-flex-direction: row;

flex-direction: row;

width: auto;

padding: 0;

-webkit-box-sizing: border-box;

box-sizing: border-box;

text-align: center;

-webkit-box-align: center;

-ms-flex-align: center;

align-items: center;

}



.pager .pager-prev a {

-webkit-box-pack: start;

-ms-flex-pack: start;

justify-content: flex-start;

}



.pager .pager-next a {

-webkit-box-pack: end;

-ms-flex-pack: end;

justify-content: flex-end;

}



.pager a {

display: block;

color: #fff;

text-decoration: none;

}



.pager-next a::after,

.pager-prev a::before {

display: block;

font-family: "Font Awesome 5 Free";

background-color: #0889D7;

color: #fff;

font-size: 24px;

font-weight: 900;

text-align: center;

padding: .4em;

}



.pager-next a:after {

content: "\f138";

}



.pager-prev a:before {

content: "\f137";

}



.pager-arrow {

display: none;

}



/* pager余白調整 */

.page-archive .pager {

padding: 0 20px;

}



@media (min-width: 768px) {

.page-archive .pager {

padding: 0 40px;

}

}



.page-index #main-inner .pager {

padding: 0;

}



/* 見出し */



.entry-content h3 {

font-size: 140%;

position: relative;

border-bottom: solid 3px #cce4ff;

position: relative;

margin-top: 3em;

font-weight: bold;

padding-bottom: .3em;

}



.entry-content h3:after {

position: absolute;

content: " ";

display: block;

border-bottom: solid 3px #0889D7;

bottom: -3px;

width: 30%;

}



#toppage-add h2 {

font-size: 140%;

position: relative;

border-bottom: solid 3px #cce4ff;

position: relative;

margin: 3em auto 1em;

font-weight: bold;

text-align: center;

width: fit-content;

padding-bottom: .3em;

}



#toppage-add h2:after {

position: absolute;

content: " ";

display: block;

border-bottom: solid 3px #0889D7;

bottom: -3px;

width: 30%;

}



.entry-content h4 {

font-size: 130%;

border-left: 8px solid #0889D7;

padding: .5em 0 .5em .75em;

background: #cce4ff;

margin-top: 2em;

}



.entry-content h5 {

position: relative;

margin: 20px auto;

color: #555;

font-size: 130%;

font-weight: bold;

padding: .5em 0 .5em .75em;

background: #cce4ff;

margin-top: 2em;

}



.entry-content h5::before {

content: "\f3a5";

font-family: "Font Awesome 5 Free";

margin-right: 5px;

color: #0889D7;

}





/* pre */



.entry-content pre {

background: #333;

border: none;

white-space: pre-wrap;

text-overflow: ellipsis;

font-size: 100%;

line-height: 1.3;

font-size: .8rem;

padding: 10px;

color: #fff;

}





/* 引用 */



.entry-content blockquote {

position: relative;

padding: 10px 15px 10px 60px;

box-sizing: border-box;

font-style: italic;

background: #efefef;

color: #555;

}



.entry-content blockquote:before {

display: inline-block;

font-family: "Font Awesome 5 Free";

font-size: 30px;

line-height: 1;

content: "\f10d";

position: absolute;

top: 10px;

left: 20px;

color: #cfcfcf;

opacity: 1;

font-weight: bold;

}



.entry-content blockquote p {

padding: 0;

margin: 10px 0;

line-height: 1.7;

}



.entry-content blockquote cite {

display: block;

text-align: right;

color: #888888;

font-size: 0.9em;

}





/* 囲み枠 */



.emphasize-link a {

color: #0889D7;

}



.emphasize-link a:hover {

text-decoration: underline;

}



.emphasize-link {

position: relative;

margin: 36px 0 16px;

padding: 16px;

border: 2px solid #0889D7;

background-color: #fff;

}



.emphasize-link p:last-child {

margin-bottom: 0;

}



.emphasize-link::before {

position: absolute;

top: -28px;

left: -2px;

padding: 3px 6px;

content: "あわせて読みたい";

background-color: #0889D7;

color: #fff;

font-size: 14px;

font-weight: bold;

line-height: 20px

}



.maste-box {

position: relative;

background-color: #fff;

background: repeating-linear-gradient(-45deg, #E8F3FF, #E8F3FF 10px, #F4F9FF 0, #F4F9FF 20px);

padding: 1em;

margin-top: 3em;

}



.maste-tape {

position: absolute;

top: -0.75em;

background-color: rgba(100, 100, 100, .3);

border-left: 4px solid #0889D7;

padding: 0.25em 2em;

color: #555;

transform: rotate(-3deg);

}



.maste-box p {

color: #555;

padding: 15px 10px 10px 10px;

}



.text-box2 {

padding: .5em .75em;

background: #fff;

border: 3px double #0889D7;

border-radius: 8px;

}



.box29 {

margin: 2em 0;

background: #cce4ff;

}



.box29 .box-title {

font-size: 1.2em;

background: #0889D7;

padding: 4px;

text-align: center;

color: #FFF;

font-weight: bold;

letter-spacing: 0.05em;

}



.box29 p {

padding: 15px 20px;

margin: 0;

}



/* 目次 */

.entry-content .table-of-contents {

position: relative;

color: #555;

/* 文字色 */

background: #eee;

border: none;

border-top: 10px solid #0889D7;

/* 背景色 */

box-shadow: 0px 3px 6px -3px rgba(0, 0, 0, 0.5);

padding: 50px 25px 15px 45px;

width: 97% !important;

margin: 2em auto;

box-sizing: border-box;

}



.entry-content .table-of-contents::before {

display: block;

font-family: "Font Awesome 5 Free";

content: '\f0fe';

font-weight: bold;

font-size: 130%;

padding-left: 3px;

margin: 0;

position: absolute;

top: 15px;

left: 10px;

color: #0889D7;

/* アクセントカラー */

border-bottom: none;

}



.entry-content .table-of-contents:after {

display: block;

content: '目次';

font-weight: bold;

font-size: 120%;

position: absolute;

top: 15px;

left: 35px;

color: #0889D7;

/* アクセントカラー */

}



.entry-content .table-of-contents li {

list-style-type: decimal;

/* 番号振り */

margin-left: 0;

}



.entry-content .table-of-contents li a {

text-decoration: none;

color: #555;

/* 文字色 */

}



.entry-content .table-of-contents > li {

font-weight: bold;

}



/*--------------------------------------

  ヨメレバ・カエレバ（レスポンシブ）

--------------------------------------*/





/* ===============消しちゃダメ============== */





/* kaereba/yomereba Customize Settings 1.0.0 ver */





/* Created by Cazuki Hoshina */





/* Copyright (c) @cazuki All rights Reserved. */





/* ======================================== */



.kaerebalink-box,

.booklink-box {

width: 100%;

margin: 0 0 2rem;

padding: 1rem;

background: #ffffff;

border: 3px double #ddd;

border-color: #eaeaea #dddddd #d0d0d0;

-webkit-border-radius: 3px;

-moz-border-radius: 3px;

border-radius: 3px;

box-sizing: border-box;

/zoom: 1;

}



.kaerebalink-box:after,

.booklink-box:after {

content: "";

display: block;

visibility: hidden;

height: 0;

clear: both;

}



.kaerebalink-image,

.booklink-image {

float: left;

width: 128px;

margin: 0;

text-align: center;

}



.kaerebakink-image img,

.booklink-image img {

width: 128px;

height: auto;

}



.kaerebalink-info,

.booklink-info {

margin: 0 0 0 140px;

line-height: 1.6rem;

}



.kaerebalink-name,

.booklink-name {

font-size: 1.0625rem;

font-weight: bold;

margin: 0;

}



.kaerebalink-name a,

.booklink-name a {

color: #2b2b2b;

}



.kaerebalink-name a:hover,

.booklink-name a:hover {

text-decoration: underline;

}



.kaerebalink-powered-date,

.booklink-powered-date {

font-size: 0.75rem;

font-weight: normal;

}



.kaerebalink-detail,

.booklink-detail {

font-size: 0.9375rem;

margin: 0 0 0.5em;

}



.kaerebalink-link1,

.booklink-link2 {

width: 100%;

}



.kaerebalink-link1 div,

.booklink-link2 div {

float: left;

width: 49.5%;

margin-bottom: 1%;

font-size: 0.875rem;

font-weight: bold;

text-align: center;

box-sizing: border-box;

}



.kaerebalink-link1 div:nth-child(even),

.booklink-link2 div:nth-child(even) {

margin-left: 1%;

}



.kaerebalink-link1 div a,

.booklink-link2 div a {

display: block;

padding: 3px 0;

text-decoration: none;

}



.shoplinkamazon a,

.shoplinkrakuten a,

.shoplinkyahoo a,

.shoplinkyahooAuc a,

.shoplinkseven a,

.shoplinkbellemaison a,

.shoplinkcecile a,

.shoplinkkakakucom a,

.shoplinkkindle a,

.shoplinkbk1 a,

.shoplinkehon a,

.shoplinkkino a,

.shoplinkjun a,

.shoplinktoshokan a {

display: block;

text-decoration: none;

}



.shoplinkamazon a {

color: #ffffff;

background: #ff9900;

}



.shoplinkkindle a {

color: #ffffff;

background: #1882c9;

}



.shoplinkrakuten a {

color: #ffffff;

background: #bf0000;

}



.shoplinkyahoo a {

color: #ffffff;

background: #fc1d2f;

}



.shoplinkyahooAuc a {

color: #252525;

background: #ffdb00;

}



.shoplinkseven a {

color: #ffffff;

background: #225093;

}



.shoplinkbellemaison a {

color: #ffffff;

background: #83be00;

}



.shoplinkcecile a {

color: #ffffff;

background: #6b053d;

}



.shoplinkkakakucom a {

color: #ffffff;

background: #00138e;

}



.shoplinkbk1 a {

color: #ffffff;

background: #0484d2;

}



.shoplinkehon a {

color: #ffffff;

background: #00006a;

}



.shoplinkkino a {

color: #ffffff;

background: #003e9d;

}



.shoplinkjun a {

color: #4b5854;

background: #d8c9b7;

}



.shoplinktoshokan a {

color: #ffffff;

background: #29b6e9;

}



.booklink-footer {

clear: both !important;

}



@media only screen and (min-width:460px) and (max-width:640px) {



.kaerebalink-link1 div,

.booklink-link2 div {

float: none;

width: 100%;

}



.kaerebalink-link1 div:nth-child(even),

.booklink-link2 div:nth-child(even) {

margin-left: 0;

}

}



@media only screen and (max-width:459px) {



.kaerebalink-image,

.booklink-image {

float: none;

width: 100%;

margin: 0;

text-align: center;

}



.kaerebalink-image img,

.booklink-image img {

width: 180px;

height: auto;

}



.kaerebalink-info,

.booklink-info {

margin: 0;

}



.kaerebalink-link1 div,

.booklink-link2 div {

float: none;

width: 100%;

}



.kaerebalink-link1 div:nth-child(even),

.booklink-link2 div:nth-child(even) {

margin-left: 0;

}

}



/* 蛍光ペン */

.entry-content strong {

background: linear-gradient(transparent 50%, #ffff80 50%);

}



#toppage-add strong {

background: linear-gradient(transparent 50%, #ffff80 50%);

}



/* プロフィールアイコン */

.profile-icon-circle {

border-radius: 50%;

width: 150px;

}



a.tel-btn {

display: inline-block;

background: transparent;

border-radius: 6px;

font-size: 1rem;

font-weight: bold;

color: #0899E7;

border: 2px solid #0899E7;

text-align: center;

text-decoration: none;

position: relative;

padding: .5rem 2rem;

}



.tel-micro-copy {

font-size: .7rem;

color: #0899E7;

display: inline-block;

}



.tel-number {

font-size: 1.1rem;

}



a.contact-btn {

display: inline-block;

background: #0899E7;

border-radius: 6px;

font-size: 1.1rem;

font-weight: bold;

color: #F6F261;

text-align: center;

text-decoration: none;

position: relative;

padding: .5rem 2.5rem;

}



a.contact-btn:hover {

opacity: .7;

}



a.tel-btn .fa-mobile-alt {

display: inline;

font-size: 200%;

}



a.contact-btn .fa-envelope {

font-size: 150%;

vertical-align: sub;

}



/* トップページHTML追加 */

.toppage-add-intro {

width: 65%;

margin: 0 auto;

}



.page-index .pickup-top ul {

list-style: none;

width: 100%;

display: -webkit-flex;

display: flex;

-webkit-flex-wrap: wrap;

flex-wrap: wrap;

-webkit-justify-content: center;

justify-content: center;

max-width: 660px;

margin: 2em auto;

padding: 0;

}



.page-index .pickup-top ul li {

width: calc(50% - 0px);

box-sizing: border-box;

color: #fff;

text-align: center;

margin: 0;

}



.page-index .pickup-top img {

max-width: 100%;

}



.page-index .pickup-top ul li:nth-child(even) {

margin-right: 0;

}



.page-index .pickup-top ul::after {

display: block;

content: "";

clear: both;

}



.page-index .pickup-top ul li a {

width: 100%;

display: block;

color: #fff;

margin: 0 auto;

text-align: center;

box-sizing: border-box;

font-size: 16px;

}



.page-index .pickup-top ul li a:hover {

text-decoration: none;

opacity: 0.7;

}



.page-index .pickup-top ul li a:hover h3 {

text-decoration: underline;

}



.page-index .page-index .pickup-top h3 {

display: block;

font-size: 100%;

font-weight: bold;

line-height: 100%;

margin: 10px auto;

width: 100%;

text-align: center;

}



.page-index .menu-container {

width: 100%;

display: -webkit-flex;

display: flex;

-webkit-flex-wrap: wrap;

flex-wrap: wrap;

-webkit-justify-content: center;

justify-content: center;

max-width: 660px;

margin: 2em auto;

padding: 0;

}



.page-index .menu-box {

display: block;

width: calc(50% - 15px);

box-sizing: border-box;

margin: 0 auto 10px;

padding: 0;

text-align: center;

}



.page-index .menu-box img {

margin-bottom: 10px;

max-width: 100%;

}



.page-index .menu-box p {

line-height: 1.4;

margin: 0;

}



.page-index section {

margin-top: 20px;

}



@media screen and (max-width: 767px) {

#toppage-add {

padding: 0 1em;

}



.toppage-add-intro {

width: 100%;

margin: 0 auto;

}



.page-index .pickup-top ul li {

padding: 0;

width: 100%;

margin: .5rem 0;

}



.page-index .pickup-top ul li a {

margin: 0 auto;

font-size: 14px;

}



.page-index .menu-box {

float: none;

width: 100%;

text-align: center;

margin: 20px auto;

}



.page-index .menu img {

margin-bottom: 10px;

}

}



/* 関連記事を記事下よりも下に */

.customized-footer {

display: flex;

display: -webkit-flex;

flex-wrap: wrap;

-webkit-flex-wrap: wrap;

}



.entry-footer-modules {

-webkit-order: 2;

order: 2;

width: 100%;

}



.entry-footer-html {

-webkit-order: 1;

order: 1;

width: 100%;

}



/* 記事タイトル */



.entry-header {

position: relative;

margin: 0 0 30px;

padding: 0 0 1em;

border-bottom: 4px solid #ddd;

}



@media (min-width: 768px) {

.entry {

padding: 0 40px 30px;

}

}



.blue {

color: #0899E7;

font-size: 1.2rem;

}



img,

iframe {

max-width: 100%;

}



a img:hover {

opacity: .7;

}



/* 最新記事一覧を消す */

.page-index #main-inner {

display: none;

}





/*記事下のIDと時刻非表示*/

span.author.vcard {

display: none;

}



span.entry-footer-time {

display: none;

}



/*記事下のIDと時刻非表示*/



/* 選ばれる理由 */

.three-columns {

display: flex;

gap: 16px;

/* カラム間の余白 */

margin: 0 auto;

/* コンテナを中央寄せ */

max-width: 1200px;

/* 必要に応じて全体幅を制限 */

padding: 0 16px;

/* レスポンシブ時の余白確保 */

box-sizing: border-box;

}



.three-columns .column {

flex: 1;

/* 等しく横幅を割り振る */

padding: 24px;

box-sizing: border-box;

/* パディング・ボーダーを含めて幅計算 */

text-align: center;

}



/* レスポンシブ対応：幅が狭くなったら縦並びに */

@media (max-width: 768px) {

.three-columns {

flex-direction: column;

}

}







/* 親御様のお声 */

.review-box {

max-width: 800px;

margin: 0 auto;

padding: 24px;

background-color: #fff;

border: 2px solid #cce4ff;

box-sizing: border-box;

}



.review-content {

display: flex;

align-items: center;

/* 縦方向中央揃え */

gap: 24px;

/* テキストと画像の間隔 */

}



.review-text {

flex: 2;

/* テキスト側を大きめに */

line-height: 1.6;

}



.review-text h4 {

margin-top: 0;

margin-bottom: 8px;

font-size: 1.25rem;

}



.review-text p {

margin: 0;

font-size: 1rem;

color: #333;

}



.review-image {

flex: 1;

/* イラスト側は比率小さめ */

display: flex;

justify-content: center;

/* 画像をボックス内中央に */

}



.review-image img {

max-width: 100%;

height: auto;

display: block;

border-radius: 50%;

/* 丸い顔イラストにしたい場合 */

}



/* レスポンシブ対応 */

@media (max-width: 600px) {

.review-content {

flex-direction: column;

}



.review-text {

text-align: center;

}

}





/* --- イチイ塾トップページ用スタイル ここから --- */



/* コンテナ設定 */

.ij-wrapper {

    /* ブログ全体のフォント設定を継承しつつ調整 */

    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;

    line-height: 1.8;

    color: #333;

    width: 100%;

    box-sizing: border-box;

}



.ij-container {

    max-width: 1000px;

    margin: 0 auto;

    padding: 20px;

    background: #fff;

    box-shadow: 0 0 20px rgba(0,0,0,0.05);

    border-radius: 8px; /* はてなブログになじむよう少し角丸に */

    box-sizing: border-box;

}



/* 画像レスポンシブ対応 */

.ij-container img {

    max-width: 100%;

    height: auto;

}



/* アニメーション */

@keyframes ijFadeInUp {

    from { opacity: 0; transform: translateY(20px); }

    to { opacity: 1; transform: translateY(0); }

}



.ij-animate-item {

    animation: ijFadeInUp 0.8s ease-out forwards;

}



/* ヒーローセクション */

.ij-hero-section {

    text-align: center;

    padding: 40px 20px;

    background: linear-gradient(to bottom, #fff, #f4f7f6);

    border-bottom: 3px solid #C5A059;

    margin-bottom: 40px;

}



.ij-hero-title {

    font-size: 2rem;

    color: #0F2C59;

    margin-bottom: 20px;

    font-weight: bold;

    letter-spacing: 0.05em;

    line-height: 1.3;

}



.ij-hero-subtitle {

    font-size: 1.1rem;

    margin-bottom: 30px;

}



/* 特徴グリッド */

.ij-features-grid {

    display: grid;

    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));

    gap: 20px;

    margin-bottom: 40px;

}



.ij-feature-box {

    background: #fff;

    border: 1px solid #eee;

    border-radius: 8px;

    padding: 20px;

    box-shadow: 0 4px 6px rgba(0,0,0,0.05);

    transition: transform 0.3s ease;

}



.ij-feature-box:hover {

    transform: translateY(-5px);

    border-color: #C5A059;

}



.ij-feature-title {

    color: #0F2C59;

    font-weight: bold;

    margin-bottom: 10px;

    display: flex;

    align-items: center;

    gap: 10px;

    font-size: 1.1rem;

}



/* 実績セクション */

.ij-achievements-section {

    background-color: #fff;

    padding: 30px;

    border-radius: 12px;

    border: 2px solid #0F2C59;

    margin-bottom: 50px;

    position: relative;

    margin-top: 30px; /* ラベル用の余白 */

}



.ij-section-label {

    position: absolute;

    top: -18px;

    left: 50%;

    transform: translateX(-50%);

    background: #0F2C59;

    color: #fff;

    padding: 5px 30px;

    font-weight: bold;

    border-radius: 20px;

    font-size: 1.1rem;

    white-space: nowrap;

}



.ij-achievement-list {

    list-style: none;

    padding: 0;

    margin: 10px 0 0 0;

}



.ij-achievement-item {

    padding: 15px;

    border-bottom: 1px dashed #ddd;

    display: flex;

    flex-direction: column;

}



.ij-achievement-item:last-child {

    border-bottom: none;

}



.ij-target-student {

    display: inline-block;

    background: #e3e8f0;

    color: #0F2C59;

    padding: 2px 10px;

    border-radius: 4px;

    font-size: 0.9rem;

    font-weight: bold;

    margin-bottom: 5px;

    width: fit-content;

}



.ij-result-highlight {

    font-size: 1.1rem;

    line-height: 1.6;

}



.ij-big-number {

    color: #d32f2f;

    font-weight: 900;

    font-size: 1.4rem;

}



/* スペシャルアワード */

.ij-special-award {

    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);

    border: 2px solid #ffd54f;

    padding: 20px;

    text-align: center;

    border-radius: 10px;

    margin: 30px 0;

    color: #8d6e63;

}



.ij-special-award strong {

    color: #e65100;

    font-size: 1.2rem;

    display: block;

    margin-top: 5px;

}



/* 書籍セクション */

.ij-book-section {

    display: flex;

    flex-wrap: wrap;

    align-items: center;

    gap: 30px;

    background: #fff;

    padding: 40px 20px;

    border-top: 1px solid #eee;

}



.ij-book-content {

    flex: 1;

    min-width: 300px;

}



.ij-book-image {

    flex: 1;

    min-width: 300px;

    text-align: center;

    position: relative;

}



.ij-book-image img {

    border-radius: 8px;

    box-shadow: 0 10px 20px rgba(0,0,0,0.15);

    transition: transform 0.3s;

}



.ij-book-image img:hover {

    transform: scale(1.02);

}



.ij-ranking-badge {

    display: inline-block;

    background: #ff9900;

    color: white;

    padding: 5px 15px;

    border-radius: 4px;

    font-weight: bold;

    margin-bottom: 15px;

    font-size: 0.9rem;

}



/* PC向けの調整 */

@media (min-width: 768px) {

    .ij-hero-title { font-size: 2.5rem; }

    .ij-achievement-item {

        flex-direction: row;

        align-items: center;

        gap: 20px;

    }

    .ij-target-student {

        min-width: 100px;

        text-align: center;

        margin-bottom: 0;

    }

}

/* スマホメニュー（青いバー）を非表示にする */
@media screen and (max-width: 1199px) {
    #menuButton {
        display: none !important;
    }
}

/* --- イチイ塾トップページ用スタイル ここまで --- */