@charset "UTF-8";
/*
Theme Name: WordPress Note
Author: Design Factory CUE
Version: 20.01
*/
/* !HTML5 elements
---------------------------------------------------------- */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

/* !Reseting
---------------------------------------------------------- */
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption { margin: 0; padding: 0; }

input, textarea { margin: 0; font-size: 100%; }

label { cursor: pointer; }

table { border-collapse: collapse; border-spacing: 0; font-size: 100%; }

fieldset, img { border: 0; }

img { max-width: 100%; height: auto; vertical-align: top; }

address, caption, cite, code, dfn, em, th, var { font-style: normal; font-weight: normal; }

ol, ul { list-style: none; }

caption, th { text-align: left; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

q:after, q:before { content: ''; }

a, input { outline: none; }

input, textarea { border-radius: 0; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif; }

input[type="button"], input[type="text"], input[type="submit"] { -webkit-appearance: none; background: none; border: none; padding: 0; cursor: pointer; }

abbr, acronym { border: 0; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

button { background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

a { text-decoration: none; color: #2f8faf; }

a:link, a:visited, a:hover, a:active { text-decoration: none; }

a:hover img { opacity: 0.7; zoom: 1; }

@media screen and (max-width: 1139px) { a { -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2); } }

.blinking { -webkit-animation: blink 0.8s ease-in-out infinite alternate; animation: blink 0.8s ease-in-out infinite alternate; }

@-webkit-keyframes blink { 0% { opacity: 0; }
  100% { opacity: 1; } }

@-moz-keyframes blink { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes blink { 0% { opacity: 0; }
  100% { opacity: 1; } }

@media screen and (min-width: 1140px) { span.pc-block { display: block; } }

/* ====================================================== body --------------------------------------------------- */
html { font-size: 62.5%; }

body { font-family: "Noto Sans CJK JP", "Noto Sans JP", sans-serif; -webkit-text-size-adjust: none; line-height: 1; color: #1b1b1b; font-size: 15px; font-size: 1.5rem; font-weight: 400; background-color: #fafafa; word-wrap: break-word; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

@media screen and (max-width: 1139px) { body { padding: 80px 0 0 0; font-size: 1.6rem; } }

@media screen and (max-width: 767px) { body { padding: 50px 0 0 0; font-size: 1.5rem; }
  body.single-demo { padding: 15px 0 0 0; }
  body.scroll-prevent { position: fixed; z-index: -1; width: 100%; height: 100%; } }

#wrapper { overflow: hidden; }

/* ====================================================== header --------------------------------------------------- */
.site-header { background-color: #fff; }

@media screen and (min-width: 1140px) { .site-header { height: 190px; border-bottom: 1px solid #f0f0f0; margin-bottom: 40px; } }

@media screen and (max-width: 1139px) { .site-header { position: fixed; left: 0; top: 0; z-index: 100; width: 100%; height: 50px; -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15); box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.15); } }

@media screen and (min-width: 1140px) { .pc-header { width: 1140px; margin: 0 auto; } }

@media screen and (max-width: 1139px) { .pc-header { padding-left: 30px; padding-right: 30px; } }

@media screen and (max-width: 767px) { .pc-header { padding-left: 20px; padding-right: 20px; } }

@media screen and (min-width: 1140px) { .pc-header { height: 145px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }

@media screen and (max-width: 1139px) { .pc-header { display: none; } }

.header-logo { width: 50%; }

@media screen and (max-width: 1139px) { .header-logo { display: none; } }

.header-logo .header-title a { font-size: 36px; font-size: 3.6rem; font-family: "Lobster", cursive; color: #1b1b1b; -webkit-transition: all 0.5s linear; }

.header-logo .header-title a:hover { color: #999999; }

.header-logo .description { font-size: 12px; font-size: 1.2rem; line-height: 1.4; padding-top: 4px; }

.global-pc { width: 100%; background-color: #1b1b1b; height: 45px; }

@media screen and (max-width: 1139px) { .global-pc { display: none; } }

.global-pc ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; text-transform: uppercase; }

.global-pc ul li a { display: block; padding: 0 20px; line-height: 45px; color: #fff; font-size: 14px; font-size: 1.4rem; -webkit-transition: all 0.8s linear; }

.global-pc ul li a:hover { background-color: #4c4c4c; cursor: pointer; }

.global-pc ul.current a { color: #666; }

.navbar-header { height: 50px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

@media screen and (min-width: 1140px) { .navbar-header { display: none; } }

.navbar-header .navbar-brand { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: block; text-align: center; }

.navbar-header .navbar-brand .navbar-title { line-height: 1; font-size: 24px; font-family: "Lobster", cursive; text-align: center; }

.navbar-header .navbar-brand .navbar-title a { color: #1b1b1b; }

.navbar-header .navbar-brand .navbar-description { font-size: 0.9rem; margin-top: 3px; }

.navbar-header .navbar-toggle, .navbar-header .navbar-toggle-right { width: 14%; cursor: pointer; }

.navbar-header .navbar-toggle { margin-left: 20px; }

.navbar-header .navbar-toggle-right { position: relative; margin-right: 15px; height: 50px; }

.navbar-header .navbar-toggle-right i.material-icons { position: absolute; top: 10px; right: 0; font-size: 32px; color: #1b1b1b; }

.menu__btn { position: relative; cursor: pointer; width: 24px; height: 19px; }

.menu__btn .point { position: absolute; left: 0; right: 0; display: block; width: 24px; height: 3px; margin: auto; background-color: #1b1b1b; -webkit-transition: all 0.3s linear; -o-transition: all 0.3s linear; transition: all 0.3s linear; }

.menu__btn .point.top { top: 0; }

.menu__btn .point.mid { top: 0; bottom: 0; }

.menu__btn .point.bot { bottom: 0; }

.menu__btn.menu-open .top { width: 24px; height: 3px; left: 4px; background-color: #1b1b1b; -webkit-transform-origin: left top; -ms-transform-origin: left top; transform-origin: left top; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }

.menu__btn.menu-open .mid { opacity: 0; }

.menu__btn.menu-open .bot { width: 24px; height: 3px; left: 4px; background-color: #1b1b1b; -webkit-transform-origin: left bottom; -ms-transform-origin: left bottom; transform-origin: left bottom; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); }

.global-sp { padding: 30px; text-align: center; }

@media screen and (min-width: 1140px) { .global-sp { padding: 20px; display: none; } }

.global-sp ul { margin: 0; }

.global-sp ul li { border-bottom: 1px solid #e5e5e5; }

.global-sp ul li a { display: block; text-align: center; padding: 15px 0; font-size: 1.6rem; font-weight: bold; color: #1b1b1b; }

.navbar-collapse, .navbar-collapse-right { position: fixed; overflow-y: auto; left: 0; top: 50px; width: 100%; height: 100%; background-color: #fafafa; z-index: 99; display: none; }

body.scroll-prevent .navbar-collapse, body.scroll-prevent .navbar-collapse-right { overflow: scroll; }

.navbar-collapse .search-form-inner, .navbar-collapse-right .search-form-inner { padding: 30px 0; }

@media screen and (max-width: 767px) { .navbar-collapse .search-form-inner, .navbar-collapse-right .search-form-inner { padding: 20px; } }

/* ====================================================== 検索フォーム --------------------------------------------------- */
.screen-reader-text { display: none; }

.search-form { border-radius: 4px; border: 1px solid #e5e5e5; background-color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 4px 0; }

@media screen and (min-width: 1140px) { .search-form { width: 300px; } }

@media screen and (max-width: 1139px) { .search-form { width: 240px; } }

@media screen and (max-width: 767px) { .search-form { width: 100%; } }

.search-form-inner .search-form { width: 80%; margin: 0 auto; }

@media screen and (max-width: 767px) { .search-form-inner .search-form { width: 100%; } }

.search-form input.search-field { border: none; padding: 2px 0 2px 8px; background: none; font-size: 16px; }

@media screen and (min-width: 1140px) { .search-form input.search-field { width: 260px; } }

@media screen and (max-width: 1139px) { .search-form input.search-field { width: 190px; } }

@media screen and (max-width: 767px) { .search-form input.search-field { width: 85%; } }

.search-form button.btn-search { border: none; background: none; text-align: center; width: 36px; }

@media screen and (max-width: 1139px) { .search-form button.btn-search { width: 36px; } }

@media screen and (max-width: 767px) { .search-form button.btn-search { width: 15%; } }

.search-form button.btn-search i.material-icons { font-size: 24px; }

/* ====================================================== content --------------------------------------------------- */
@media screen and (min-width: 1140px) { .site-content { width: 1140px; margin: 0 auto; } }

@media screen and (max-width: 1139px) { .site-content { padding-left: 30px; padding-right: 30px; } }

@media screen and (max-width: 767px) { .site-content { padding-left: 20px; padding-right: 20px; } }

@media screen and (min-width: 1140px) { .site-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding-bottom: 30px; } }

@media screen and (max-width: 1139px) { .site-content { display: block; } }

body.single-demo .site-content { display: block; }

@media screen and (min-width: 1140px) { .site-content .content-area { width: 780px; } }

@media screen and (max-width: 1139px) { .site-content .content-area { display: block; width: 100%; } }

@media screen and (min-width: 1140px) { .site-content .secondary { width: 300px; margin-left: 60px; } }

@media screen and (max-width: 1139px) { .site-content .secondary { width: 100%; margin-left: 0; } }

/* ====================================================== footer --------------------------------------------------- */
.site-footer { padding: 30px 0 0 0; background-color: #f1f1f1; border-top: 1px solid #e5e5e5; }

@media screen and (max-width: 767px) { .site-footer { padding: 15px 0 0 0; } }

.site-footer .site-info { text-align: center; font-size: 11px; font-size: 1.1rem; line-height: 1.4; color: #999999; background-color: #1b1b1b; padding: 20px 0; }

@media screen and (max-width: 767px) { .site-footer .site-info { font-size: 1rem; padding: 12px 0; } }

#page-top { position: fixed; z-index: 99; bottom: 40px; right: 40px; }

@media screen and (max-width: 767px) { #page-top { bottom: 15px; right: 15px; } }

#page-top a { display: block; background: rgba(0, 0, 0, 0.5); color: #fff; text-align: center; width: 60px; height: 60px; padding: 0; border-radius: 50%; font-size: 28px; -webkit-transition: all 0.3s linear; -o-transition: all 0.3s linear; transition: all 0.3s linear; }

@media screen and (max-width: 767px) { #page-top a { width: 50px; height: 50px; } }

#page-top a span { display: block; font-weight: 700; font-size: 10px; font-size: 1rem; color: #fff; letter-spacing: 1px; }

@media screen and (max-width: 767px) { #page-top a span { font-size: 0.9rem; } }

#page-top a i { font-size: 32px; margin: 3px 0 0 0; }

@media screen and (max-width: 767px) { #page-top a i { font-size: 24px; margin: 2px 0 0 0; } }

@media screen and (min-width: 1140px) { #page-top a:hover { background: rgba(0, 0, 0, 0.3); } }

/* ====================================================== パンくず --------------------------------------------------- */
.breadcrumbs { font-size: 12px; font-size: 1.2rem; line-height: 1.5; color: #999999; padding: 20px 0; }

@media screen and (min-width: 1140px) { .breadcrumbs { width: 1140px; margin: 0 auto; } }

@media screen and (max-width: 1139px) { .breadcrumbs { padding-left: 30px; padding-right: 30px; } }

@media screen and (max-width: 767px) { .breadcrumbs { padding-left: 20px; padding-right: 20px; } }

@media screen and (max-width: 1139px) { .breadcrumbs { padding-top: 10px; padding-bottom: 8px; } }

@media screen and (max-width: 767px) { .breadcrumbs { font-size: 1rem; } }

.breadcrumbs li { display: inline-block; margin: 0 0.3em; }

.breadcrumbs li:before { content: "/"; margin-right: 0.5em; }

.breadcrumbs li:first-child:before { font-family: "Material Icons"; content: "\e88a"; color: #2f8faf; margin-right: 0.1em; font-size: 14px; vertical-align: middle; margin-right: 0.3em; }

span.icon-new { display: inline-block; vertical-align: middle; width: 36px; height: 14px; font-size: 10px; font-size: 1rem; line-height: 1; font-weight: 400; text-align: center; color: #fff; background-color: #f36c1d; padding: 2px 0 0 0; border-radius: 7px; margin: -2px 0 0 4px; }

@media screen and (max-width: 767px) { span.icon-new { height: 12px; border-radius: 6px; } }

/* ====================================================== ウィジェット --------------------------------------------------- */
.widget { margin-bottom: 50px; }

@media screen and (max-width: 767px) { .widget { margin-bottom: 30px; } }

.widget a { color: #1b1b1b; }

@media screen and (max-width: 767px) { .site-main.widget { margin: 0; padding: 0; } }

.widget-title { font-size: 16px; font-size: 1.6rem; margin-bottom: 15px; letter-spacing: 0.1em; border-left: 1px solid #1b1b1b; padding: 6px 0 6px 1em; }

ol.side-ranking-list { border-top: 1px solid #e5e5e5; counter-reset: number; }

ol.side-ranking-list li { border-bottom: 1px solid #e5e5e5; position: relative; }

ol.side-ranking-list li::before { counter-increment: number; content: counter(number); color: #fff; background-color: #1b1b1b; display: inline-block; width: 20px; height: 20px; text-align: center; font-size: 12px; font-size: 1.2rem; line-height: 20px; position: absolute; left: 0; top: 15px; }

ol.side-ranking-list li:nth-child(1)::before { background-color: #eac133; }

ol.side-ranking-list li:nth-child(2)::before { background-color: #c9c9c9; }

ol.side-ranking-list li:nth-child(3)::before { background-color: #da8e3a; }

ul.side-entry-list { border-top: 1px solid #e5e5e5; }

ul.side-entry-list li { border-bottom: 1px solid #e5e5e5; }

ul.side-entry-list li a, ol.side-ranking-list li a { display: block; padding: 15px 0; }

ul.side-entry-list li a dl, ol.side-ranking-list li a dl { overflow: hidden; }

ul.side-entry-list li a dl dt, ol.side-ranking-list li a dl dt { float: left; width: 70px; }

ul.side-entry-list li a dl dd, ol.side-ranking-list li a dl dd { padding: 0 0 0 80px; line-height: 1.5; font-size: 14px; font-size: 1.4rem; }

ul.side-entry-list li a dl dd span.published, ul.side-entry-list li a dl dd span.views, ol.side-ranking-list li a dl dd span.published, ol.side-ranking-list li a dl dd span.views { font-size: 12px; font-size: 1.2rem; color: #999999; display: block; padding: 4px 0 0 0; }

.widget_categories ul li, .widget_recent_comments ul li { border-bottom: 1px solid #e5e5e5; padding: 10px 0; font-size: 12px; font-size: 1.2rem; line-height: 1.6; color: #999999; }

@media screen and (max-width: 767px) { .widget_categories ul li, .widget_recent_comments ul li { padding: 10px 15px; } }

.widget_categories ul li a, .widget_recent_comments ul li a { font-size: 14px; font-size: 1.4rem; }

p.memo { padding-top: 10px; font-size: 12px; font-size: 1.2rem; color: #999999; }

@media screen and (max-width: 767px) { p.memo { padding: 15px; } }

.tagcloud { line-height: 1.2; }

@media screen and (max-width: 767px) { .tagcloud { padding: 0 15px; } }

/* ====================================================== 固定ページ --------------------------------------------------- */
.page-header { border-top: 2px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; }

@media screen and (min-width: 1140px) { .page-header { margin: 0 auto 60px auto; } }

@media screen and (max-width: 1139px) { .page-header { margin: 0 30px 60px 30px; } }

@media screen and (max-width: 767px) { .page-header { margin: 0 0 20px 0; } }

.page-title { line-height: 1.4; letter-spacing: 0.1em; padding: 0.75em 0; }

@media screen and (min-width: 1140px) { .page-title { font-size: 36px; font-size: 3.6rem; } }

@media screen and (max-width: 1139px) { .page-title { font-size: 32px; font-size: 3.2rem; } }

@media screen and (max-width: 767px) { .page-title { font-size: 2.2rem; padding: 0.5em 15px; } }

@media screen and (max-width: 767px) { .page-title span { display: block; font-size: 1.2rem; } }

/* ====================================================== 検索結果ページ --------------------------------------------------- */
.search-title { font-size: 18px; font-size: 1.8rem; padding: 1.5em 0; line-height: 1.4; }

@media screen and (max-width: 767px) { .search-title { padding: 15px 15px; font-size: 1.4rem; } }

.search-title span { font-size: 2em; margin-right: 0.2em; }

@media screen and (max-width: 767px) { .search-title span { font-size: 2rem; } }

/* ====================================================== 投稿ページ --------------------------------------------------- */
.entry { margin-bottom: 15px; }

@media screen and (min-width: 1140px) { .entry { margin-bottom: 35px; } }

.entry-header { margin-bottom: 35px; }

body.single-demo .entry-header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; padding: 2em 0 0.75em 0; margin-bottom: 50px; border-top: none; border-bottom: 1px solid #e5e5e5; }

@media screen and (max-width: 767px) { .entry-header { display: block; padding: 1.5em 0 0.8em 0; border-top: 1px solid #e5e5e5; margin-bottom: 15px; }
  body.single-demo .entry-header { padding: 0.75em 15px 0.75em 15px; border-top: none; border-bottom: 1px solid #e5e5e5; } }

.entry-title { line-height: 1.4; font-size: 32px; font-size: 3.2rem; margin-bottom: 0.4em; }

@media screen and (max-width: 767px) { .entry-title { font-size: 2.2rem; margin-bottom: 0.2em; } }

body.single-demo .entry-title { padding: 0; margin: 0; }

.entry-title a { color: #1b1b1b; -webkit-transition: all 0.5s linear; }

.entry-title a:hover { color: #999999; }

.entry-meta { text-align: right; line-height: 1; }

body.home .entry-meta, body.archive .entry-meta { text-align: left; }

body.home .entry-meta span, body.archive .entry-meta span { margin: 0 12px 0 0; }

@media screen and (max-width: 767px) { .entry-meta { margin-bottom: 10px; } }

.entry-meta span, .related-list span, .side-entry-list span, .demo-content span { margin: 0 0 0 12px; }

.entry-meta span.published, .entry-meta span.my_comments_content, .entry-meta span.comment, .entry-meta span.category, .entry-meta span.edit, .entry-meta span.modified, .related-list span.published, .related-list span.my_comments_content, .related-list span.comment, .related-list span.category, .related-list span.edit, .related-list span.modified, .side-entry-list span.published, .side-entry-list span.my_comments_content, .side-entry-list span.comment, .side-entry-list span.category, .side-entry-list span.edit, .side-entry-list span.modified, .demo-content span.published, .demo-content span.my_comments_content, .demo-content span.comment, .demo-content span.category, .demo-content span.edit, .demo-content span.modified { font-size: 12px; font-size: 1.2rem; color: #999999; }

.entry-meta span.published::before, .entry-meta span.my_comments_content::before, .entry-meta span.comment::before, .entry-meta span.category::before, .entry-meta span.edit::before, .entry-meta span.modified::before, .related-list span.published::before, .related-list span.my_comments_content::before, .related-list span.comment::before, .related-list span.category::before, .related-list span.edit::before, .related-list span.modified::before, .side-entry-list span.published::before, .side-entry-list span.my_comments_content::before, .side-entry-list span.comment::before, .side-entry-list span.category::before, .side-entry-list span.edit::before, .side-entry-list span.modified::before, .demo-content span.published::before, .demo-content span.my_comments_content::before, .demo-content span.comment::before, .demo-content span.category::before, .demo-content span.edit::before, .demo-content span.modified::before { font-family: "Material Icons"; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; vertical-align: middle; margin-right: 0.2em; }

span.published::before { content: "\e8b5"; }

span.my_comments_content::before, span.comment::before { content: "\e253"; }

span.category::before { content: "\e2c7"; }

span.edit::before { content: "\e150"; }

span.modified::before { content: "\e863"; }

.entry-content { padding-bottom: 35px; line-height: 1.8; }

@media screen and (max-width: 767px) { .entry-content { padding: 0 0 25px 0; } }

body.single-demo .entry-content { padding-bottom: 55px; }

.entry-content p { padding-bottom: 1.8em; }

.entry-content blockquote { border-radius: 6px; margin: 0 0 2em 0; padding: 20px 55px 20px 55px; border: none; position: relative; background-color: #fff; border: 1px solid #e5e5e5; }

@media screen and (max-width: 767px) { .entry-content blockquote { padding: 20px 40px; margin: 0 0 1.6em 0; } }

.entry-content blockquote::before { color: #ccc; content: "“"; font-family: serif; font-size: 64px; line-height: 1em; position: absolute; top: 4px; left: 8px; }

.entry-content blockquote::after { color: #ccc; content: "”"; font-family: serif; font-size: 64px; line-height: 0; position: absolute; right: 8px; bottom: 0; }

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

.entry-content table { width: 100%; border-left: 1px solid #e5e5e5; border-top: 1px solid #e5e5e5; }

.entry-content table th, .entry-content table td { border-right: 1px solid #e5e5e5; border-bottom: 1px solid #e5e5e5; padding: 0.5em 0.75em; line-height: 1.6; }

.entry-content table th { font-weight: bold; background-color: #f1f1f1; }

.entry-content ol { list-style: none; counter-reset: number; padding: 0 0 0 2em; margin: 0 0 1.5em 0; }

.entry-content ol li { margin-bottom: 0.4em; line-height: 2; padding-left: 0.5em; position: relative; }

.entry-content ol li::before { counter-increment: number; content: counter(number); color: #fff; background-color: #ccc; display: inline-block; width: 2em; height: 2em; text-align: center; border-radius: 50%; color: #fff; margin-right: 0.3em; position: absolute; left: -2em; top: 0; }

.entry-content ul { list-style-type: disc; margin: 0 0 1.5em 1.5em; }

.entry-footer { clear: both; padding: 10px 0 35px 0; overflow: hidden; }

@media screen and (max-width: 767px) { .entry-footer { padding: 0 0 20px 0; } }

/* ====================================================== アーカイブページ --------------------------------------------------- */
.archive-header { border-radius: 4px; background-color: #f1f1f1; padding: 1em 1.2em; font-size: 24px; font-size: 2.4rem; margin-bottom: 40px; letter-spacing: 1px; }

@media screen and (max-width: 767px) { .archive-header { padding: 12px 15px; font-size: 1.6rem; margin-bottom: 15px; } }

.archive-header span { color: #999999; font-size: 16px; font-size: 1.6rem; }

@media screen and (max-width: 767px) { .archive-header span { font-size: 1.2rem; } }

/* ====================================================== 前の記事・次の記事へ --------------------------------------------------- */
.pnav { margin: 0 auto 2em auto; }

.pnav__list { border-radius: 6px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border: 1px solid #e5e5e5; }

.pnav__list li { width: 50%; line-height: 1.6; }

.pnav__list li.pnav__list--next { border-left: 1px solid #e5e5e5; }

.pnav__list li a { display: block; padding: 0.75em 1em; text-decoration: none; -webkit-transition: all 0.3s linear; -o-transition: all 0.3s linear; transition: all 0.3s linear; }

@media screen and (max-width: 767px) { .pnav__list li a { font-size: 1.4rem; } }

@media screen and (min-width: 1140px) { .pnav__list li a:hover { opacity: 0.7; } }

.pnav__list li a span { display: block; color: #999999; font-size: 12px; font-size: 1.2rem; margin: 0 0 0.3em 0; }

@media screen and (max-width: 767px) { .pnav__list li a span { font-size: 1rem; } }

.pnav__list li.pnav__list--next a { text-align: right; }

/* ====================================================== ページ送り --------------------------------------------------- */
.wp-pagenavi { clear: both; text-align: center; padding: 0 0 20px 0; font-size: 14px; font-size: 1.4rem; }

@media screen and (max-width: 767px) { .wp-pagenavi { padding: 10px 10px 20px 10px; } }

.wp-pagenavi span.pages { display: none; border: none; }

.wp-pagenavi a, .wp-pagenavi span { border-radius: 4px; display: inline-block; text-decoration: none; background-color: #fff; padding: 6px 10px; margin: 4px; color: #1b1b1b; }

@media screen and (max-width: 767px) { .wp-pagenavi a, .wp-pagenavi span { padding: 10px 14px; } }

.wp-pagenavi a.extend, .wp-pagenavi span.extend { background-color: transparent; padding: 6px 0; }

.wp-pagenavi a:hover, .wp-pagenavi span.current { background-color: #ccc; color: #fff; }

.wp-pagenavi span.current { font-weight: bold; }

/* ====================================================== 関連記事 --------------------------------------------------- */
.entry h3.related-title { font-size: 20px; font-size: 2rem; margin-bottom: 20px; letter-spacing: 0.1em; border-left: 1px solid #1b1b1b; padding: 6px 0 6px 1em; }

@media screen and (max-width: 1139px) { .entry h3.related-title { font-size: 1.8rem; padding: 0 15px; margin: 0 0 10px 0; } }

@media screen and (max-width: 767px) { .entry h3.related-title { margin: 0 0 10px 0; } }

ul.related-list { margin-bottom: 30px; }

@media screen and (min-width: 1140px) { ul.related-list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; } }

@media screen and (max-width: 1139px) { ul.related-list { border-top: 1px solid #e5e5e5; } }

@media screen and (min-width: 1140px) { ul.related-list li { width: 160px; margin-right: 46px; line-height: 1.5; }
  ul.related-list li:nth-child(4), ul.related-list li:nth-child(8) { margin-right: 0; } }

@media screen and (max-width: 1139px) { ul.related-list li { border-bottom: 1px solid #e5e5e5; line-height: 1.5; } }

ul.related-list li a { font-weight: 400; color: #1b1b1b; }

@media screen and (max-width: 1139px) { ul.related-list li a { display: block; padding: 12px 0; } }

@media screen and (min-width: 1140px) { ul.related-list li a dl { padding-bottom: 20px; } }

@media screen and (max-width: 1139px) { ul.related-list li a dl { overflow: hidden; } }

@media screen and (min-width: 1140px) { ul.related-list li a dl dt { padding-bottom: 6px; } }

@media screen and (max-width: 1139px) { ul.related-list li a dl dt { float: left; width: 80px; } }

@media screen and (max-width: 1139px) { ul.related-list li a dl dd { padding: 0 0 0 95px; } }

@media screen and (min-width: 1140px) { ul.related-list li a dl dd .published { display: block; margin-top: 6px; margin-left: 0; } }

@media screen and (max-width: 1139px) { ul.related-list li a dl dd .published { display: block; margin-top: 2px; margin-left: 0; } }

/* ====================================================== エントリーリスト（ホーム・アーカイブ共通・PC） --------------------------------------------------- */
ul.list-entry { margin-bottom: 30px; }

ul.list-entry li { margin-bottom: 30px; }

@media screen and (max-width: 767px) { ul.list-entry li { margin-bottom: 0; border-bottom: 1px solid #e5e5e5; } }

ul.list-entry li a { display: block; -webkit-transition: all 0.5s linear; padding: 35px 35px 25px 35px; border: 1px solid #e5e5e5; background-color: #fff; }

@media screen and (max-width: 767px) { ul.list-entry li a { display: block; padding: 12px 0; border: none; background-color: #fafafa; overflow: hidden; } }

ul.list-entry li a dl.entry { display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 0; }

ul.list-entry li a dl.entry dt { padding-top: 4px; width: 100px; margin-right: 20px; }

@media screen and (max-width: 767px) { ul.list-entry li a dl.entry dt { width: 90px; margin-right: 15px; } }

ul.list-entry li a dl.entry dd { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }

ul.list-entry li a dl.entry dd h2 { color: #1b1b1b; font-size: 24px; font-size: 2.4rem; line-height: 1.4; margin-bottom: 10px; }

@media screen and (max-width: 767px) { ul.list-entry li a dl.entry dd h2 { font-size: 1.6rem; margin-bottom: 6px; } }

ul.list-entry li a dl.entry dd h2:hover { color: #999999; }

ul.list-entry li a dl.entry dd p.excerpt { line-height: 1.6; padding-top: 10px; padding-bottom: 5px; color: #666; }

@media screen and (max-width: 767px) { ul.list-entry li a dl.entry dd p.excerpt { display: none; } }

ul.list-entry li a dl.entry dd .more-link { text-align: right; font-size: 14px; font-size: 1.4rem; line-height: 1; padding-top: 10px; font-weight: 700; }

@media screen and (max-width: 767px) { ul.list-entry li a dl.entry dd .more-link { display: none; } }

ul.list-entry li a dl.entry dd .more-link::after { font-family: "Material Icons"; font-weight: 400; content: "\e038"; font-size: 16px; margin-left: 0.2em; display: -webkit-inline-box; display: -ms-inline-flexbox; display: inline-flex; vertical-align: middle; }

/* ====================================================== 画像の配置 --------------------------------------------------- */
.entry-content img.alignleft, .entry-content img.alignright, .entry-content img.aligncenter, .entry-content img.alignnone { height: auto; display: block; -webkit-box-sizing: content-box; box-sizing: content-box; max-width: 100%; border: 1px solid #e5e5e5; padding: 4px; }

@media screen and (max-width: 767px) { .entry-content img.alignleft, .entry-content img.alignright, .entry-content img.aligncenter, .entry-content img.alignnone { -webkit-box-sizing: border-box; box-sizing: border-box; margin: 0 auto 20px auto; } }

.entry-content img.alignright { float: right; margin: 6px 0 20px 20px; }

@media screen and (max-width: 767px) { .entry-content img.alignright { float: none; } }

.entry-content img.alignleft { float: left; margin: 6px 20px 20px 0; }

@media screen and (max-width: 767px) { .entry-content img.alignleft { float: none; } }

.entry-content img.aligncenter { clear: both; margin: 0 auto; }

.entry-content img.alignnone { clear: both; margin: 0; }

.entry-content img.size-full { padding: 0; border: none; -webkit-box-sizing: border-box; box-sizing: border-box; }

.entry-content img.aligncenter { margin: 0 auto; }

.entry-content .wp-caption img { display: block; margin: 0 auto 4px auto; }

.entry-content .wp-caption img.alignleft, .entry-content .wp-caption img.alignright, .entry-content .wp-caption img.aligncenter, .entry-content .wp-caption img.alignnone { border: none; padding: 0; }

.wp-caption { border: 1px solid #e5e5e5; padding: 4px; max-width: 100%; }

@media screen and (max-width: 767px) { .wp-caption { margin: 0 auto 20px auto; } }

.wp-caption.alignright { float: right; margin: 6px 0 20px 20px; }

@media screen and (max-width: 767px) { .wp-caption.alignright { float: none; } }

.wp-caption.alignleft { float: left; margin: 6px 20px 20px 0; }

@media screen and (max-width: 767px) { .wp-caption.alignleft { float: none; } }

.wp-caption.aligncenter, .wp-caption.alignnone { margin: 0 auto 30px auto; }

.entry-content p.wp-caption-text { padding: 0 6px; font-size: 12px; font-size: 1.2rem; line-height: 1.5; }

@media screen and (max-width: 767px) { .entry-content p.wp-caption-text { font-size: 1.3rem; } }

.entry-content .img-box ul { margin: 0; padding: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }

@media screen and (max-width: 767px) { .entry-content .img-box ul { display: block; } }

.entry-content .img-box ul li { list-style-type: none; width: 310px; margin: 0; padding: 0; }

@media screen and (max-width: 767px) { .entry-content .img-box ul li { width: 100%; } }

.entry-content .img-box ul li:nth-child(odd) { margin: 0 30px 30px 0; }

/* ====================================================== コメント --------------------------------------------------- */
.comments-title, .comment-reply-title { border-radius: 6px; background-color: #f1f1f1; font-weight: bold; font-size: 16px; font-size: 1.6rem; padding: 0.75em 1em; margin-bottom: 20px; }

@media screen and (max-width: 767px) { .comments-title, .comment-reply-title { margin-bottom: 15px; } }

li.comment { padding-bottom: 20px; }

ol.children { margin: 0 0 0 40px; }

ol.comment-list .comment-body, ol.children .comment-body { padding: 20px 0; border-top: 1px solid #f1f1f1; line-height: 1.8; }

@media screen and (max-width: 767px) { ol.comment-list .comment-body, ol.children .comment-body { line-height: 1.6; } }

ol.comment-list .comment-body p, ol.children .comment-body p { padding: 0 0 1.8em 60px; }

@media screen and (max-width: 767px) { ol.comment-list .comment-body p, ol.children .comment-body p { padding: 0 0 1.6em 0; } }

ol.comment-list .comment-body em, ol.children .comment-body em { font-style: italic; }

ol.comment-list li.comment:first-child .comment-body { border-top: none; }

ol.comment-list li.pingback .comment-avatar::before { font-family: "Material Icons"; content: "e915"; color: #ccc; margin-right: 10px; }

ol.children li.comment:first-child .comment-body { border-top: 1px solid #f1f1f1; }

.comment-author { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 10px; }

@media screen and (max-width: 767px) { .comment-author { display: block; } }

.comment-avatar { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.avatar { margin-right: 10px; width: 48px; border-radius: 50%; }

.fn { font-weight: bold; margin-right: 20px; }

.says { display: none; }

.comment-meta { font-size: 12px; font-size: 1.2rem; }

@media screen and (max-width: 767px) { .comment-meta { text-align: right; margin-bottom: 15px; } }

.reply { font-size: 12px; font-size: 1.2rem; padding: 0 0 0 60px; }

@media screen and (max-width: 767px) { .reply { padding: 0; font-size: 1.3rem; } }

.reply a { border: 1px solid #e5e5e5; padding: 2px 6px; border-radius: 2px; }

.comment-respond { line-height: 1.8; padding: 0 0 20px 0; }

@media screen and (max-width: 767px) { .comment-respond { line-height: 1.6; } }

.comment-respond p { padding: 0 0 1.8em 0; }

@media screen and (max-width: 767px) { .comment-respond p { padding: 0 0 1.6em 0; } }

.comment-form p { padding: 0 0 10px 0; }

.comment-form p.comment-notes { font-size: 13px; font-size: 1.3rem; padding: 0 0 20px 0; }

.comment-form label { font-size: 14px; font-size: 1.4rem; display: block; margin-bottom: 4px; }

@media screen and (max-width: 767px) { .comment-form label { font-size: 1.5rem; } }

.comment-form textarea { width: 100%; }

.comment-form input, .comment-form textarea { font-size: 16px; font-size: 1.6rem; padding: 2px; background-color: #fff; border: 1px solid #e5e5e5; }

span#email-notes { font-size: 14px; font-size: 1.4rem; }

@media screen and (max-width: 767px) { span#email-notes { display: block; font-size: 1.5rem; } }

.required { color: #fd4362; }

.comment-form p.form-submit { text-align: center; padding: 20px 0; }

.comment-form p.form-submit input.submit { font-size: 18px; font-size: 1.8rem; background-color: #1b1b1b; background: -webkit-gradient(linear, left top, left bottom, from(#666), to(#1b1b1b)); background: -webkit-linear-gradient(top, #666, #1b1b1b); background: -o-linear-gradient(top, #666, #1b1b1b); background: linear-gradient(to bottom, #666, #1b1b1b); color: #fff; border-radius: 4px; padding: 0.75em 2em; border: 1px solid #1b1b1b; font-weight: bold; }

.comment-form-cookies-consent { display: -webkit-box; display: -ms-flexbox; display: flex; margin-top: 20px; }

.comment-form-cookies-consent input#wp-comment-cookies-consent { width: 24px; margin-top: 4px; }

.comment-form-cookies-consent label { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; font-size: 13px; font-size: 1.3rem; }

/* ====================================================== 見出し（本文内） --------------------------------------------------- */
.entry-content h2 { clear: both; font-weight: bold; line-height: 1.4; margin-bottom: 1.2em; padding: 1.2em 0 0.5em 0; border-bottom: 1px solid #e5e5e5; }

@media screen and (min-width: 1140px) { .entry-content h2 { font-size: 28px; font-size: 2.8rem; } }

@media screen and (max-width: 1139px) { .entry-content h2 { font-size: 26px; font-size: 2.6rem; } }

@media screen and (max-width: 767px) { .entry-content h2 { font-size: 2.4rem; } }

.entry-content h3 { clear: both; font-weight: bold; line-height: 1.4; border-left: 6px solid #e5e5e5; padding: 0.1em 0 0 0.75em; margin: 2.2em 0 1.2em 0; }

@media screen and (min-width: 1140px) { .entry-content h3 { font-size: 24px; font-size: 2.4rem; } }

@media screen and (max-width: 1139px) { .entry-content h3 { font-size: 22px; font-size: 2.2rem; } }

@media screen and (max-width: 767px) { .entry-content h3 { font-size: 2rem; } }

.entry-content h4 { clear: both; font-weight: bold; line-height: 1.4; padding: 1em 0 0.5em 0; }

@media screen and (min-width: 1140px) { .entry-content h4 { font-size: 18px; font-size: 1.8rem; } }

@media screen and (max-width: 1139px) { .entry-content h4 { font-size: 17px; font-size: 1.7rem; } }

@media screen and (max-width: 767px) { .entry-content h4 { font-size: 1.6rem; } }

div.syntaxhighlighter { margin-bottom: 30px !important; }

/* ====================================================== 情報（配布元） --------------------------------------------------- */
.entry-content dl { margin-bottom: 30px; border-top: 5px solid #efc84f; background-color: #fbeec5; padding: 15px 20px 1px 20px; }

.entry-content dl dt { background-color: #fbeec5; margin-bottom: 10px; line-height: 1.4; border-bottom: 1px solid #efc84f; padding-bottom: 6px; font-weight: bold; }

.entry-content dl dd { font-size: 14px; font-size: 1.4rem; line-height: 1.8; padding: 0 0 0 0; }

@media screen and (max-width: 767px) { .entry-content dl dd { font-size: 1.3rem; } }

.entry-content dl dd p { margin: 0; padding: 0 0 1em 0; }

.entry-content dl dd small { color: #999999; display: block; line-height: 1.6; }

/* ====================================================== SNSボタン --------------------------------------------------- */
ul.social { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; font-size: 0; margin: 0; padding: 20px 0 25px 0; }

@media screen and (max-width: 767px) { ul.social { width: 100%; margin: 0 auto; padding: 20px 0 5px 0; } }

ul.social li a { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; height: 28px; border-radius: 3px; width: 80px; margin: 0 2px; }

@media screen and (max-width: 767px) { ul.social li a { width: 60px; margin: 2px 2px; } }

ul.social li a img { width: 18px; }

ul.social li.fb a { background-color: #3b5998; }

ul.social li.tw a { background-color: #00acee; }

ul.social li.pk a { background-color: #ee4056; }

ul.social li.hb a { background-color: #397dd1; }

ul.social li.gp a { background-color: #de4a39; }

ul.social li.fd a { background-color: #87c040; }

ul.social li.fd a img { width: 20px; }

ul.social li a span.count { color: #fff; font-size: 10px; font-size: 1rem; margin-left: 6px; font-weight: normal; font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

/* ====================================================== 広告 --------------------------------------------------- */
.ads-box { text-align: center; margin-bottom: 30px; }

@media screen and (max-width: 767px) { .ads-box { padding: 0 15px; margin-bottom: 25px; } }

.ads-two { text-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-bottom: 40px; }

@media screen and (max-width: 767px) { .ads-two { display: block; } }

.ads-two .ads-left { width: 300px; margin-right: 30px; }

@media screen and (max-width: 767px) { .ads-two .ads-left { width: 90%; margin: 0 auto 15px auto; } }

.ads-two .ads-right { width: 300px; margin-left: 30px; }

@media screen and (max-width: 767px) { .ads-two .ads-right { width: 90%; margin: 0 auto 15px auto; } }

/* ====================================================== デモページ --------------------------------------------------- */
span.icon-demo { border-radius: 4px; background-color: #1b1b1b; color: #fff; font-size: 12px; font-size: 1.2rem; padding: 4px 10px; margin-right: 10px; margin-top: 10px; }

@media screen and (max-width: 767px) { span.icon-demo { display: inline-block; padding: 4px 10px 2px 10px; margin-bottom: 15px; margin-top: 0; } }

code.label { background-color: #f9f2f4; color: #c7254e; padding: 3px 6px; border-radius: 2px; margin: 0 4px; }

a.btn-demo, a.btn-back { border-radius: 4px; display: inline-block; background-color: #1b1b1b; color: #fff; text-align: center; padding: 0.4em 1.2em; -webkit-transition: all 0.5s linear; margin-bottom: 20px; }

a.btn-demo:hover, a.btn-back:hover { background-color: #999999; }

a.btn-demo::after { font-family: "Material Icons"; content: "\e895"; margin-left: 10px; }

a.btn-back::before { font-family: "Material Icons"; content: "\e15e"; margin-right: 10px; }

.matome { border-radius: 6px; background-color: #fff; border: 1px solid #e5e5e5; padding: 24px 24px 0 24px; margin-bottom: 30px; }

.atten { border-radius: 6px; background-color: #fff; border: 1px solid #e5e5e5; padding: 24px 24px 0 24px; margin-bottom: 30px; }

/* ====================================================== 全記事リスト --------------------------------------------------- */
@media screen and (min-width: 1140px) { .all-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; width: 100%; } }

@media screen and (max-width: 1139px) { .all-content { display: block; margin-bottom: 15px; } }

@media screen and (min-width: 1140px) { .all-content .all-left { width: 360px; } }

@media screen and (min-width: 1140px) { .all-content .all-right { width: 360px; } }

.all-content h2 { border-radius: 4px; background-color: #1b1b1b; color: #fff; text-align: left; padding: 0.8em 1em; margin-bottom: 15px; }

@media screen and (max-width: 767px) { .all-content h2 { padding: 0.75em 15px; } }

.all-content ul.side-entry-list { margin-bottom: 15px; }

@media screen and (max-width: 1139px) { .all-content ul.side-entry-list { margin-bottom: 0; } }

i.material-icons { visibility: hidden; }

.wf-active i.material-icons { visibility: visible; }

@supports (-ms-ime-align: auto) { i.material-icons { visibility: visible; } }

/* ====================================================== toc_container --------------------------------------------------- */
#toc_container { width: 85%; font-size: 100%; border: none !important; background-color: #fff; margin: 60px auto 30px auto; padding: 15px 60px 30px 60px; }

@media screen and (max-width: 1139px) { #toc_container { padding: 15px 40px 30px 40px; } }

@media screen and (max-width: 767px) { #toc_container { width: 90%; margin: 30px auto; padding: 15px 15px; } }

#toc_container p.toc_title { font-size: 20px; font-size: 2rem; text-align: center; font-weight: 700; margin: 0; padding: 0; color: #1b1b1b; }

#toc_container p.toc_title span.toc_toggle { font-size: 13px; font-size: 1.3rem; margin-left: 0.5em; }

#toc_container p.toc_title span.toc_toggle a { margin: 0 0.3em; }

#toc_container > ul.toc_list { margin: 10px 0 0 0; padding: 0; border-bottom: 1px solid #e5e5e5; }

#toc_container > ul.toc_list li { padding: 10px 0 0 0; line-height: 1.8; margin: 0 0 10px 0; font-weight: 700; border-top: 1px solid #e5e5e5; }

#toc_container > ul.toc_list li > a { position: relative; display: block; padding-left: 36px; }

#toc_container > ul.toc_list li > ul { margin-left: 0; margin-top: 10px; }

#toc_container > ul.toc_list li > ul > li { padding: 8px 0 0 36px !important; }

#toc_container > ul.toc_list li > ul > li > a { display: block; padding-left: 40px; }

#toc_container > ul.toc_list li > ul > li > ul { margin-left: 0; margin-top: 10px; }

#toc_container > ul.toc_list li > ul > li > ul > li { padding: 8px 0 0 0 !important; }

#toc_container > ul.toc_list li > ul > li > ul > li > a { display: block; padding-left: 55px; }

#toc_container a { color: #2f8faf; text-shadow: none; }

.entry-content span.toc_number.toc_depth_1 { position: absolute; left: 0; top: 0; width: 28px; height: 28px; background-color: #2f8faf; border-radius: 50%; font-weight: 700; text-align: center; line-height: 1.8; color: #fff; }

.entry-content span.toc_number.toc_depth_2 { position: absolute; width: 40px; left: 0; top: 0; }

.entry-content span.toc_number.toc_depth_3 { position: absolute; width: 55px; left: 0; top: 0; }
