/*
  Skin Name: EVMEMO
  Description: Cocoon skin for evmemo.
  Skin URI: https://wp-cocoon.com/
  Author: mocchi
  Author URI: https://evmemo.com/
  Screenshot URI: https://im-cocoon.net/wp-content/uploads/skin-template.png
  Version: 1.2.2
  Priority: 9999000000
*/

body,
button,
input,
select,
textarea {
  color: var(--connpass-text);
  font-family: var(--connpass-font-base);
  font-size: 11px;
  font-feature-settings: normal;
  font-weight: 400;
  line-height: 1.5;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

body {
  background: var(--connpass-bg);
  color: var(--connpass-text);
}

a {
  color: var(--connpass-link);
  text-decoration: none;
}

a:hover,
a:focus {
  color: var(--connpass-link-hover);
  text-decoration: underline;
}

body .wrap,
body .content-in,
body .header-container-in,
body .navi-in,
body .footer-in,
body .appeal-in,
body .notice-area-in,
body .carousel-in {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--connpass-max-width);
  padding-left: 16px;
  padding-right: 16px;
}

.container,
.content,
.content-in {
  background: transparent;
}

.content {
  margin-top: 24px;
}

.eye-catch,
.eye-catch img,
.entry-header .wp-post-image,
.post-thumb img,
.single .article img.wp-post-image,
.page .article img.wp-post-image {
  border-radius: var(--connpass-radius);
}

.eye-catch,
.post-thumb {
  overflow: hidden;
}

#header-container,
.header-container,
#header,
.header {
  background: var(--connpass-bg);
  border-bottom: 0;
  box-shadow: none;
}

#header-container.fixed-header,
.header-container.fixed-header {
  box-shadow: none;
}

.header-container-in,
.header-in {
  min-height: 44px;
}

.site-name,
.site-name-text {
  margin: 0;
}

.site-name-text-link,
.site-name a {
  color: var(--connpass-orange);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
}

.site-name-text-link:hover,
.site-name a:hover {
  color: var(--connpass-orange-dark);
  text-decoration: none;
}

.tagline,
.site-description {
  color: var(--connpass-meta);
  font-size: 10px;
}

#navi,
.navi {
  background: var(--connpass-bg);
  border-bottom: 1px solid var(--connpass-border);
  box-shadow: none;
}

.navi .navi-in > ul,
.navi-in > ul {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: flex-start;
}

.navi .navi-in > ul > li,
.navi-in > ul > li {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  width: auto;
}

.navi .menu-item > a,
.navi a {
  color: var(--connpass-meta);
  font-size: 11px;
  font-weight: 400;
  line-height: 1;
  padding-left: 8px;
  padding-right: 8px;
}

.evmemo-header-search-item {
  align-self: center;
  display: none;
  margin-left: auto;
}

.navi .evmemo-header-search-item,
#navi .evmemo-header-search-item {
  align-items: center !important;
  display: flex !important;
  position: relative;
  top: 0;
}

.evmemo-header-search {
  align-items: center;
  display: flex;
  gap: 6px;
  margin: 0;
}

.evmemo-header-search-input {
  border-radius: 999px;
  font-size: 10px;
  margin: 0;
  min-height: 24px;
  padding: 2px 10px;
  width: 140px;
}

.evmemo-header-search-button {
  font-size: 10px;
  margin: 0;
  min-height: 24px;
  padding: 2px 10px;
  white-space: nowrap;
}

.navi .menu-item > a:hover,
.navi a:hover,
.navi .current-menu-item > a,
.navi .current_page_item > a {
  color: var(--connpass-text);
  background: transparent;
}

.navi .sub-menu,
.navi .sub-menu .menu-item > a {
  background: var(--connpass-bg);
}

.main,
.sidebar {
  margin-top: 0;
}

.sidebar {
  color: var(--connpass-meta);
}

.entry-title,
.archive-title,
.page-title,
.author-box .author-name a,
.widget-title,
.related-entry-heading,
.comment-title {
  color: var(--connpass-heading);
  font-weight: 400;
  letter-spacing: normal;
}

.entry-title,
.archive-title,
.page-title {
  font-size: 22px;
  line-height: 1.1;
  margin-bottom: 16px;
}

.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
  color: var(--connpass-heading);
  font-weight: 700;
  letter-spacing: normal;
}

.article h2 {
  background: linear-gradient(180deg, #f9fcfe 0%, #f3f8fb 100%);
  border: 1px solid #dbe7ee;
  border-left: 6px solid var(--connpass-orange);
  border-radius: var(--connpass-radius);
  font-size: 28px;
  line-height: 1.45;
  margin: 56px 0 24px;
  padding: 16px 20px;
}

.article h3 {
  border-left: 4px solid var(--connpass-orange);
  font-size: 24px;
  line-height: 1.5;
  margin: 40px 0 18px;
  padding: 2px 0 2px 14px;
}

.article h4,
.widget-title {
  font-size: 20px;
  line-height: 1.55;
  margin: 28px 0 14px;
}

.article h4 {
  border-bottom: 1px solid var(--connpass-border-light);
  padding-bottom: 8px;
}

.widget-title {
  margin: 0 0 12px;
}

.article h5 {
  font-size: 18px;
  line-height: 1.55;
  margin: 24px 0 12px;
}

.article h6 {
  font-size: 16px;
  line-height: 1.55;
  margin: 20px 0 10px;
}

.article p,
.article li,
.entry-content p,
.entry-content li {
  color: #2f3438;
  font-size: 17px;
  line-height: 2;
}

.article p,
.entry-content p {
  margin: 0 0 1.6em;
}

.article ul,
.article ol,
.entry-content ul,
.entry-content ol {
  margin: 0 0 1.8em 1.4em;
  padding: 0;
}

.article li,
.entry-content li {
  padding-left: 0.1em;
}

.article li + li,
.entry-content li + li {
  margin-top: 0.45em;
}

.article ul li::marker,
.entry-content ul li::marker,
.article ol li::marker,
.entry-content ol li::marker {
  color: var(--connpass-orange);
}

.article a,
.entry-content a {
  color: #247fb0;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.15em;
}

.article a:hover,
.entry-content a:hover {
  color: var(--connpass-orange-dark);
}

.article blockquote,
blockquote {
  background: #f8fbfd;
  border: 1px solid #dde8ef;
  border-left: 5px solid var(--connpass-orange);
  border-radius: var(--connpass-radius);
  color: var(--connpass-text);
  margin: 28px 0;
  padding: 18px 20px;
}

pre,
code,
.code-toolbar {
  font-family: var(--connpass-font-mono);
}

.article .twitter-tweet,
.article .twitter-tweet-rendered,
.entry-content .twitter-tweet,
.entry-content .twitter-tweet-rendered,
.wp-block-embed-twitter .twitter-tweet,
.wp-block-embed-twitter .twitter-tweet-rendered {
  max-width: 330px !important;
  width: 100% !important;
}

.article .twitter-tweet iframe,
.article .twitter-tweet-rendered iframe,
.entry-content .twitter-tweet iframe,
.entry-content .twitter-tweet-rendered iframe,
.wp-block-embed-twitter iframe {
  max-width: 330px !important;
}

pre {
  background: #f7fafc;
  border: 1px solid #dbe6ee;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.8;
  margin: 28px 0;
  overflow-x: auto;
  padding: 18px 20px;
}

code {
  background: #f3f7fa;
  border: 1px solid #e0e8ee;
  border-radius: var(--connpass-radius);
  color: #42505b;
  font-size: 0.92em;
  padding: 0.12em 0.45em;
}

.widget,
.search-edit,
.pagination-next-link,
.pager-post-navi,
.comment-box,
.author-box,
.box-menu,
.toc,
.ranking-item,
.blogcard,
.ecb-entry-border .entry-card-wrap,
.entry-card-wrap,
.related-entry-card-wrap,
.widget-entry-card-link,
.widget-entry-cards .a-wrap {
  background: var(--connpass-bg);
  border: 1px solid var(--connpass-border);
  border-radius: var(--connpass-radius);
  box-shadow: none;
}

.widget,
.author-box,
.comment-box,
.toc,
.blogcard {
  padding: 16px;
}

.sidebar .widget {
  background: var(--connpass-bg-subtle);
}

.entry-card-wrap,
.related-entry-card-wrap,
.widget-entry-cards .a-wrap,
.widget-entry-card-link {
  padding: 12px;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.entry-card-wrap:hover,
.related-entry-card-wrap:hover,
.widget-entry-cards .a-wrap:hover,
.widget-entry-card-link:hover {
  border-color: #bcd8e4;
  box-shadow: var(--connpass-shadow-1);
  text-decoration: none;
}

.entry-card-thumb,
.entry-card-thumb img,
.related-entry-card-thumb,
.related-entry-card-thumb img,
.related-entry-card-wrap img,
.widget-entry-card-thumb,
.widget-entry-card-thumb img,
.widget-entry-cards img,
.blogcard-thumbnail img {
  border-radius: var(--connpass-radius);
}

.entry-card-thumb,
.related-entry-card-thumb,
.widget-entry-card-thumb,
.blogcard-thumbnail {
  overflow: hidden;
}

.entry-card-title,
.related-entry-card-title,
.widget-entry-card-title,
.blogcard-title,
.new-entry-card-title {
  color: var(--connpass-link);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.45;
}

.entry-card-snippet,
.related-entry-card-snippet,
.widget-entry-card-snippet,
.blogcard-snippet {
  color: var(--connpass-meta);
  font-size: 10px;
  line-height: 1.45;
}

.entry-card-meta,
.related-entry-card-meta,
.post-date,
.post-update,
.entry-footer,
.entry-categories-tags,
.breadcrumb,
.cat-label,
.entry-card-post-date,
.entry-card-update-date {
  color: var(--connpass-meta);
  font-size: 10px;
}

.cat-label,
.tag-link,
.tagcloud a,
.entry-categories-tags a {
  background: var(--connpass-bg-subtle);
  border: 1px solid var(--connpass-border);
  border-radius: var(--connpass-radius);
  color: var(--connpass-meta);
  display: inline-block;
  font-size: 10px;
  line-height: 1.4;
  padding: 2px 8px;
}

.cat-label {
  background: var(--connpass-orange);
  border-color: var(--connpass-orange);
  color: #fff;
}

.pagination-next-link,
.pagination a,
.pagination span,
.pager-links a,
.pager-links span {
  border-color: var(--connpass-border);
  color: var(--connpass-text);
}

.pager-post-navi {
  display: grid;
  gap: 4px;
}

.pager-post-navi a {
  margin: 0;
}

.pagination .current,
.pager-links .current,
.page-numbers.current {
  background: var(--connpass-orange);
  border-color: var(--connpass-orange);
  color: #fff;
}

.pagination a:hover,
.pager-links a:hover,
.page-numbers:hover {
  background: var(--connpass-bg-subtle);
  color: var(--connpass-link-hover);
}

button,
.button,
input[type="button"],
input[type="submit"],
.search-submit,
.comment-btn,
.pager-post-navi a,
.go-to-top-button,
.appeal-button,
.btn,
.btn-wrap a {
  background: var(--connpass-orange);
  border: 1px solid var(--connpass-orange);
  border-radius: var(--connpass-radius);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.4;
  padding: 8px 24px;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

button:hover,
.button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.search-submit:hover,
.comment-btn:hover,
.pager-post-navi a:hover,
.go-to-top-button:hover,
.appeal-button:hover,
.btn:hover,
.btn-wrap a:hover {
  background: var(--connpass-orange-dark);
  border-color: var(--connpass-orange-dark);
  color: #fff;
  text-decoration: none;
}

.pagination-next-link,
.sidebar .button,
.sidebar input[type="submit"],
.tagcloud a:hover,
.btn-wrap.btn-wrap-s a {
  background: transparent;
  border-color: var(--connpass-border);
  color: var(--connpass-text);
}

.pagination-next-link:hover,
.sidebar .button:hover,
.sidebar input[type="submit"]:hover,
.btn-wrap.btn-wrap-s a:hover {
  background: var(--connpass-bg-subtle);
  border-color: var(--connpass-border);
  color: var(--connpass-link-hover);
}

input[type="text"],
input[type="search"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="password"],
input[type="number"],
textarea,
select {
  background: var(--connpass-bg);
  border: 1px solid var(--connpass-border);
  border-radius: var(--connpass-radius);
  box-shadow: none;
  color: var(--connpass-text);
  font-size: 11px;
  line-height: 1.5;
  padding: 6px 10px;
}

input[type="text"]:focus,
input[type="search"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  border-color: var(--connpass-orange);
  box-shadow: 0 0 0 2px rgba(48, 169, 222, 0.2);
  outline: none;
}

input[disabled],
select[disabled],
textarea[disabled] {
  color: var(--connpass-disabled);
}

table {
  border-collapse: collapse;
  margin: 28px 0;
  width: 100%;
}

th,
td {
  border: 1px solid var(--connpass-border);
  font-size: 15px;
  line-height: 1.7;
  padding: 12px 14px;
}

th {
  background: #f6fafc;
  color: var(--connpass-heading);
  font-weight: 700;
}

hr,
.wp-block-separator {
  border: 0;
  border-top: 1px solid #dbe6ee;
  margin: 36px 0;
}

.toc {
  background: var(--connpass-bg-subtle);
}

.toc-title {
  color: var(--connpass-heading);
  font-size: 13px;
  font-weight: 700;
}

.sns-share,
.sns-follow,
.page-numbers,
.pager-links span,
.pager-links a {
  font-size: 10px;
}

.sns-share,
.sns-follow {
  background: #fff !important;
  border-color: #fff !important;
}

.sns-share .sns-share-message,
.sns-follow .sns-follow-message,
.sns-share .sns-share-buttons,
.sns-follow .sns-follow-buttons {
  background: #fff !important;
  border-color: #fff !important;
}

.sns-share .sns-share-buttons a,
.sns-share .sns-share-buttons button,
.sns-follow .sns-follow-buttons a,
.sns-follow .sns-follow-buttons button {
  background: var(--connpass-orange) !important;
  border: 1px solid var(--connpass-orange) !important;
  border-radius: var(--connpass-radius) !important;
  color: #fff !important;
}

.sns-share .sns-share-buttons a:hover,
.sns-share .sns-share-buttons button:hover,
.sns-follow .sns-follow-buttons a:hover,
.sns-follow .sns-follow-buttons button:hover {
  background: var(--connpass-orange-dark) !important;
  border-color: var(--connpass-orange-dark) !important;
  color: #fff !important;
}

.footer,
#footer {
  background: var(--connpass-bg-subtle);
  border-top: 1px solid var(--connpass-border);
  color: var(--connpass-meta);
}

.footer a,
#footer a {
  color: var(--connpass-link);
}

.go-to-top-button {
  padding: 10px 14px;
}

@media screen and (max-width: 834px) {
  .content {
    margin-top: 16px;
  }

  .entry-title,
  .archive-title,
  .page-title,
  .article h2 {
    font-size: 24px;
    line-height: 1.4;
  }

  .article h3 {
    font-size: 20px;
    line-height: 1.45;
  }

  .article h4,
  .widget-title {
    font-size: 18px;
  }

  .article p,
  .article li,
  .entry-content p,
  .entry-content li,
  th,
  td,
  pre {
    font-size: 15px;
  }

  .header-container-in,
  .navi-in {
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media screen and (max-width: 480px) {
  body,
  button,
  input,
  select,
  textarea {
    font-size: 11px;
  }

  .site-name-text-link,
  .site-name a {
    font-size: 14px;
  }

  .entry-card-wrap,
  .related-entry-card-wrap,
  .widget-entry-cards .a-wrap,
  .widget-entry-card-link,
  .widget,
  .author-box,
  .comment-box,
  .toc,
  .blogcard {
    padding: 12px;
  }

  button,
  .button,
  input[type="button"],
  input[type="submit"],
  .search-submit,
  .comment-btn,
  .pager-post-navi a,
  .appeal-button,
  .btn,
  .btn-wrap a {
    min-height: 44px;
    padding-left: 18px;
    padding-right: 18px;
  }
}

/*
  EV Memo visual skin
  web-sample.png の手描き EV メディア感に寄せるための上書き。
*/
:root {
  --connpass-orange: #126ee8;
  --connpass-orange-dark: #0753b8;
  --connpass-red: #ffd73d;
  --connpass-red-dark: #efbd16;
  --connpass-success: #fff0a8;
  --connpass-text: #0d2b56;
  --connpass-heading: #0b58cf;
  --connpass-meta: #66748a;
  --connpass-disabled: #aab4c4;
  --connpass-link: #096eea;
  --connpass-link-hover: #004fb7;
  --connpass-border: #d7e7fb;
  --connpass-border-light: #e8f1fd;
  --connpass-bg: #fff;
  --connpass-bg-subtle: #f5faff;
  --connpass-shadow-1: 0 8px 24px rgba(22, 102, 201, 0.1);
  --connpass-font-base: "Inter", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --connpass-font-mono: Consolas, "Courier New", monospace;
  --connpass-radius: 8px;
  --connpass-max-width: 1180px;
  --evmemo-blue: #096eea;
  --evmemo-blue-dark: #064bb7;
  --evmemo-sky: #eaf5ff;
  --evmemo-yellow: #ffd83e;
  --evmemo-yellow-soft: #fff4bb;
  --evmemo-green: #72bc59;
  --evmemo-ink: #082b5c;
  --evmemo-line: #cfe4fb;
  --evmemo-paper: #fffef9;
}

@font-face {
  font-display: block;
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-weight: 900;
  src: url("fontawesome/webfonts/fa-solid-900.woff2") format("woff2");
}

* {
  box-sizing: border-box;
}

body,
button,
input,
select,
textarea {
  color: var(--evmemo-ink);
  font-family: var(--connpass-font-base);
  font-size: 14px;
  line-height: 1.7;
}

body {
  background:
    linear-gradient(180deg, #fffef9 0%, #fff 34%, #fffef8 100%);
}

a {
  color: var(--evmemo-blue);
}

a:hover,
a:focus {
  color: var(--evmemo-blue-dark);
}

body .wrap,
body .content-in,
body .header-container-in,
body .navi-in,
body .footer-in,
body .appeal-in,
body .notice-area-in,
body .carousel-in {
  max-width: var(--connpass-max-width);
}

.site-name-text-link,
.site-name a {
  align-items: center;
  color: var(--evmemo-blue-dark);
  display: inline-flex;
  font-size: 24px;
  font-weight: 800;
  gap: 12px;
  line-height: 1;
  text-decoration: none;
}

.home .site-name-text-link,
.blog .site-name-text-link,
.home .site-name a,
.blog .site-name a {
  font-size: 52px;
}

.site-name-text-link::before,
.site-name a::before {
  align-items: center;
  background:
    linear-gradient(#fff 0 0) padding-box,
    linear-gradient(145deg, var(--evmemo-blue), #5eb0ff) border-box;
  border: 3px solid transparent;
  border-radius: 8px;
  color: var(--evmemo-yellow);
  content: "\f044";
  display: inline-flex;
  flex: 0 0 auto;
  font-family: "Font Awesome 7 Free";
  font-size: 34px;
  font-weight: 900;
  height: 60px;
  justify-content: center;
  line-height: 1;
  position: relative;
  width: 60px;
}

.tagline,
.site-description {
  color: var(--evmemo-ink);
  font-size: 16px;
  font-weight: 700;
  margin-top: 12px;
}

#navi,
.navi {
  background: #fff;
  border: 0;
  box-shadow: 0 1px 0 var(--evmemo-line);
}

.navi .navi-in > ul,
.navi-in > ul {
  gap: 34px;
  justify-content: center;
  min-height: 76px;
  overflow-x: auto;
  scrollbar-width: none;
}

.navi .navi-in > ul::-webkit-scrollbar,
.navi-in > ul::-webkit-scrollbar {
  display: none;
}

.navi .menu-item > a,
.navi a {
  align-items: center;
  border-bottom: 3px solid transparent;
  color: var(--evmemo-ink);
  display: inline-flex;
  font-size: 15px;
  font-weight: 800;
  gap: 8px;
  min-height: 76px;
  padding: 0 10px;
  text-decoration: none;
  white-space: nowrap;
}

.navi .menu-item > a::before {
  color: var(--evmemo-blue);
  content: "\f111";
  font-family: "Font Awesome 7 Free";
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
}

.navi .menu-item:nth-child(1) > a::before {
  content: "\f015";
}

.navi .menu-item:nth-child(2) > a::before {
  content: "\f518";
}

.navi .menu-item:nth-child(3) > a::before {
  content: "\f1b9";
}

.navi .menu-item:nth-child(4) > a::before {
  content: "\f5e7";
}

.navi .menu-item:nth-child(5) > a::before {
  content: "\f555";
}

.navi .menu-item:nth-child(6) > a::before {
  content: "\f0c1";
}

.navi .menu-item:nth-child(7) > a::before {
  content: "\f24e";
}

.navi .menu-item > a:hover,
.navi a:hover,
.navi .current-menu-item > a,
.navi .current_page_item > a {
  background: transparent;
  border-bottom-color: var(--evmemo-blue);
  color: var(--evmemo-blue);
}

.evmemo-header-search-item {
  display: none !important;
}

.evmemo-home-main {
  background:
    radial-gradient(circle at 3% 43%, rgba(114, 188, 89, 0.08) 0 1px, transparent 2px) 0 0 / 18px 18px,
    linear-gradient(180deg, #fff 0%, #fff 78%, #fffef6 100%);
  padding: 24px 0 0;
}

.evmemo-home-shell {
  margin: 0 auto;
  max-width: var(--connpass-max-width);
  padding: 0 24px;
}

.evmemo-home-hero-grid {
  align-items: stretch;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, 0.95fr);
}

.evmemo-home-featured {
  min-width: 0;
}

.evmemo-home-featured-carousel {
  position: relative;
}

.evmemo-home-featured-track {
  -ms-overflow-style: none;
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}

.evmemo-home-featured-track::-webkit-scrollbar {
  display: none;
}

.evmemo-home-featured-card {
  background: #07101c;
  border: 1px solid var(--evmemo-line);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(13, 68, 133, 0.12);
  flex: 0 0 100%;
  overflow: hidden;
  position: relative;
  scroll-snap-align: start;
}

.evmemo-home-featured-media,
.evmemo-home-featured-media img,
.evmemo-home-placeholder {
  display: block;
  width: 100%;
}

.evmemo-home-featured-media {
  aspect-ratio: 3 / 2;
}

.evmemo-home-featured-media img {
  aspect-ratio: 3 / 2;
  filter: saturate(1.06) contrast(1.03);
  object-fit: cover;
}

.evmemo-home-placeholder {
  align-items: center;
  aspect-ratio: 3 / 2;
  background: linear-gradient(135deg, #f8fdff, #d9edf7);
  color: var(--connpass-heading);
  display: flex;
  font-size: 18px;
  justify-content: center;
  padding: 24px;
  text-align: center;
}

.evmemo-home-featured-card-empty {
  min-height: 0;
}

.evmemo-home-featured-overlay {
  background: linear-gradient(180deg, rgba(1, 9, 21, 0.02) 0%, rgba(1, 9, 21, 0.72) 38%, rgba(1, 9, 21, 0.92) 100%);
  bottom: 0;
  color: #fff;
  left: 0;
  padding: 0 28px 24px;
  position: absolute;
  right: 0;
}

.evmemo-home-featured-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}

.evmemo-home-featured-label {
  background: var(--evmemo-blue);
  border-radius: 4px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  padding: 9px 12px;
}

.evmemo-home-featured-label:nth-child(2n) {
  background: var(--evmemo-yellow);
  color: var(--evmemo-ink);
}

.evmemo-home-featured-title,
.evmemo-home-featured-title a {
  color: #fff;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.35;
  margin: 0;
  text-decoration: none;
}

.evmemo-home-featured-meta {
  color: rgba(255, 255, 255, 0.96);
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 700;
  gap: 16px;
  margin-top: 13px;
  opacity: 0.92;
}

.evmemo-home-featured-meta span:first-child {
  flex: 0 0 auto;
}

.evmemo-home-featured-meta span:last-child {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.evmemo-home-featured-nav {
  align-items: center;
  background: #fff;
  border: 1px solid #d6e8fb;
  border-radius: 999px;
  box-shadow: 0 6px 18px rgba(6, 70, 146, 0.18);
  color: var(--evmemo-ink);
  cursor: pointer;
  display: inline-flex;
  font-size: 0;
  height: 48px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  z-index: 2;
}

.evmemo-home-featured-nav span {
  font-size: 38px;
  line-height: 1;
  transform: translateY(-2px);
}

.evmemo-home-featured-nav:hover {
  background: var(--evmemo-blue);
  border-color: var(--evmemo-blue);
  color: #fff;
}

.evmemo-home-featured-nav:disabled {
  cursor: default;
  opacity: 0.72;
}

.evmemo-home-featured-nav-prev {
  left: 22px;
}

.evmemo-home-featured-nav-next {
  right: 22px;
}

.evmemo-home-featured-dots {
  display: flex;
  gap: 9px;
  justify-content: center;
  margin-top: 14px;
}

.evmemo-home-featured-dot {
  background: #cbd9e8;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  height: 9px;
  min-height: 0;
  padding: 0;
  transition: width 0.2s ease, background-color 0.2s ease;
  width: 9px;
}

.evmemo-home-featured-dot.is-active {
  background: var(--evmemo-blue);
  width: 18px;
}

.evmemo-home-ranking {
  align-self: start;
  background: #fff;
  border: 1px solid var(--evmemo-line);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(13, 68, 133, 0.06);
  height: 100%;
  min-height: 0;
  padding: 18px 20px 16px;
}

.evmemo-home-side-title,
.evmemo-home-section-title {
  color: var(--evmemo-ink);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.1;
  margin: 0 0 18px;
}

.evmemo-home-ranking .evmemo-home-side-title {
  align-items: center;
  color: var(--evmemo-blue);
  display: flex;
  font-size: 18px;
  gap: 10px;
  margin-bottom: 12px;
}

.evmemo-home-ranking .evmemo-home-side-title::before {
  color: var(--evmemo-yellow);
  content: "\f521";
  font-family: "Font Awesome 7 Free";
  font-size: 22px;
  font-weight: 900;
}

.evmemo-home-ranking-list {
  display: grid;
  gap: 9px;
  list-style: none;
  margin: 0;
  min-height: 0;
  padding: 0;
}

.evmemo-home-ranking-item {
  border: 0;
  display: grid;
  gap: 12px;
  grid-template-columns: 34px minmax(0, 1fr);
  min-height: 0;
  padding: 0;
}

.evmemo-home-ranking-number {
  align-self: start;
  color: var(--evmemo-blue);
  font-size: 32px;
  font-weight: 800;
  line-height: 1;
  text-align: center;
}

.evmemo-home-ranking-link {
  align-items: center;
  color: inherit;
  display: grid;
  gap: 12px;
  grid-template-columns: 84px minmax(0, 1fr);
  height: 100%;
  min-height: 0;
  text-decoration: none;
}

.evmemo-home-ranking-thumb,
.evmemo-home-ranking-thumb img,
.evmemo-home-topic-thumb,
.evmemo-home-topic-thumb img,
.evmemo-home-pinned-visual img {
  border-radius: 8px;
  overflow: hidden;
}

.evmemo-home-ranking-thumb,
.evmemo-home-ranking-thumb img,
.evmemo-home-topic-thumb,
.evmemo-home-topic-thumb img {
  display: block;
  width: 100%;
}

.evmemo-home-ranking-thumb img {
  aspect-ratio: 84 / 58;
  object-fit: cover;
}

.evmemo-home-ranking-thumb-placeholder {
  background:
    repeating-linear-gradient(140deg, rgba(9, 110, 234, 0.12) 0 2px, transparent 2px 9px),
    #edf7ff;
  border-radius: 8px;
  height: 58px;
}

.evmemo-home-ranking-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  justify-content: center;
  min-height: 0;
}

.evmemo-home-ranking-title {
  color: #111f35;
  display: -webkit-box;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.4;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.evmemo-home-ranking-date {
  color: var(--connpass-meta);
  display: block !important;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}

.evmemo-home-section-kicker {
  display: none;
}

.evmemo-home-topics,
.evmemo-home-pinned {
  margin-top: 34px;
}

.evmemo-home-topics > .evmemo-home-section-title,
.evmemo-home-pinned > .evmemo-home-section-title {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  margin-bottom: 16px;
}

.evmemo-home-topics > .evmemo-home-section-title::before,
.evmemo-home-pinned > .evmemo-home-section-title::before {
  color: var(--evmemo-yellow);
  content: "\f005";
  font-family: "Font Awesome 7 Free";
  font-size: 22px;
  font-weight: 900;
  -webkit-text-stroke: 1px #eeb600;
}

.evmemo-home-topics-frame {
  background: transparent;
  border: 0;
  padding: 0;
}

.evmemo-home-topics-grid {
  background: transparent;
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 0;
}

.evmemo-home-topic-panel {
  background: #fff;
  border: 1px solid var(--evmemo-line);
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(18, 110, 232, 0.04);
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  padding: 14px 14px 12px;
}

.evmemo-home-topic-panel:nth-child(4) {
  grid-column: span 2;
}

.evmemo-home-topic-head {
  align-items: center;
  border-bottom: 1px solid var(--connpass-border-light);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin: 0 -2px 12px;
  padding: 0 2px 10px;
}

.evmemo-home-topic-title {
  align-items: center;
  background: transparent;
  display: inline-flex;
  font-size: 18px;
  font-weight: 900;
  gap: 8px;
  line-height: 1.2;
  margin: 0;
  padding: 0;
  text-align: left;
}

.evmemo-home-topic-title::before {
  color: var(--evmemo-blue);
  content: "\f1b9";
  font-family: "Font Awesome 7 Free";
  font-size: 22px;
  font-weight: 900;
}

.evmemo-home-topic-panel:nth-child(2) .evmemo-home-topic-title::before {
  content: "\f15c";
}

.evmemo-home-topic-panel:nth-child(3) .evmemo-home-topic-title::before {
  content: "\f24e";
}

.evmemo-home-topic-panel:nth-child(4) .evmemo-home-topic-title::before {
  content: "\f5e7";
}

.evmemo-home-topic-title a {
  color: var(--evmemo-blue);
}

.evmemo-home-topic-more {
  align-items: center;
  color: var(--evmemo-blue);
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  gap: 6px;
  text-decoration: none;
}

.evmemo-home-topic-more::after {
  content: "\f061";
  font-family: "Font Awesome 7 Free";
  font-size: 12px;
  font-weight: 900;
}

.evmemo-home-topic-items {
  display: grid;
  gap: 14px;
}

.evmemo-home-topic-panel:nth-child(4) .evmemo-home-topic-items {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.evmemo-home-topic-item {
  border: 0;
  display: grid;
  gap: 12px;
  grid-template-columns: 92px minmax(0, 1fr);
  padding: 0;
}

.evmemo-home-topic-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.evmemo-home-topic-thumb img {
  aspect-ratio: 92 / 72;
  object-fit: cover;
}

.evmemo-home-topic-thumb-placeholder {
  background:
    repeating-linear-gradient(140deg, rgba(9, 110, 234, 0.13) 0 2px, transparent 2px 9px),
    #eef7ff;
  border-radius: 8px;
  height: 72px;
}

.evmemo-home-topic-date {
  color: var(--connpass-meta);
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 3px;
}

.evmemo-home-topic-body {
  min-width: 0;
}

.evmemo-home-topic-item-title,
.evmemo-home-topic-item-title a {
  color: #18263d;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
  margin: 0;
  text-decoration: none;
}

.evmemo-home-empty {
  color: var(--connpass-meta);
  font-size: 13px;
  margin: 0;
}

.evmemo-home-topic-button {
  align-items: center;
  border: 1px solid var(--connpass-border-light);
  border-radius: 999px;
  color: var(--evmemo-blue);
  display: flex;
  font-size: 13px;
  font-weight: 800;
  justify-content: center;
  margin-top: auto;
  min-height: 38px;
  padding: 8px 16px;
  text-decoration: none;
}

.evmemo-home-topic-button::after {
  content: "\f061";
  font-family: "Font Awesome 7 Free";
  font-size: 12px;
  font-weight: 900;
  margin-left: auto;
}

.evmemo-home-topic-button:hover {
  background: var(--connpass-bg-subtle);
  text-decoration: none;
}

.evmemo-home-pinned {
  text-align: left;
}

.evmemo-home-pinned-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0 auto;
  max-width: none;
}

.evmemo-home-pinned-card,
.evmemo-home-pinned-card-placeholder {
  align-items: stretch;
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.82) 0 38%, transparent 39%),
    repeating-linear-gradient(150deg, rgba(255, 216, 62, 0.28) 0 2px, transparent 2px 9px),
    linear-gradient(135deg, #fffced 0%, #fff1a8 100%);
  border: 1px solid #f3d871;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(199, 145, 24, 0.1);
  display: block;
  min-height: 150px;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: left;
}

.evmemo-home-pinned-card:nth-child(2) {
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.82) 0 38%, transparent 39%),
    repeating-linear-gradient(150deg, rgba(255, 193, 7, 0.26) 0 2px, transparent 2px 9px),
    linear-gradient(135deg, #fff9d8 0%, #ffe3a0 100%);
}

.evmemo-home-pinned-card:nth-child(3) {
  background:
    linear-gradient(155deg, rgba(255, 255, 255, 0.78) 0 38%, transparent 39%),
    repeating-linear-gradient(150deg, rgba(9, 110, 234, 0.12) 0 2px, transparent 2px 9px),
    linear-gradient(135deg, #fff9dd 0%, #eaf5ff 100%);
}

.evmemo-home-pinned-link,
.evmemo-home-pinned-card-placeholder {
  color: #12233a;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) 128px;
  min-height: 150px;
  padding: 16px 18px;
  position: relative;
  text-decoration: none;
  width: 100%;
}

.evmemo-home-pinned-copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
  position: relative;
  z-index: 1;
}

.evmemo-home-pinned-head {
  align-items: center;
  color: #5b6429;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  gap: 7px;
  letter-spacing: 0;
  text-transform: none;
}

.evmemo-home-pinned-head::before {
  color: var(--evmemo-green);
  content: "\f06c";
  font-family: "Font Awesome 7 Free";
  font-size: 19px;
  font-weight: 900;
}

.evmemo-home-pinned-title {
  color: #14243a;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.45;
}

.evmemo-home-pinned-visual {
  align-self: end;
  display: block;
  position: relative;
  z-index: 1;
}

.evmemo-home-pinned-visual img {
  aspect-ratio: 4 / 3;
  box-shadow: 0 8px 20px rgba(51, 77, 118, 0.16);
  display: block;
  object-fit: cover;
  width: 100%;
}

.evmemo-home-pinned-thumb-placeholder {
  background:
    linear-gradient(145deg, transparent 48%, rgba(114, 188, 89, 0.28) 49%, transparent 52%),
    repeating-linear-gradient(150deg, rgba(9, 110, 234, 0.16) 0 2px, transparent 2px 9px),
    #fffef9;
  border-radius: 8px;
  display: block;
  height: 96px;
  width: 128px;
}

.evmemo-home-pinned-arrow {
  align-items: center;
  background: #fff;
  border: 1px solid var(--evmemo-line);
  border-radius: 999px;
  bottom: 14px;
  box-shadow: 0 6px 16px rgba(12, 80, 160, 0.14);
  color: var(--evmemo-blue);
  display: inline-flex;
  font-size: 32px;
  height: 44px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 14px;
  width: 44px;
  z-index: 2;
}

.footer,
#footer {
  background:
    linear-gradient(165deg, transparent 0 46%, rgba(113, 178, 235, 0.48) 47%, transparent 49%) 0 0 / 168px 44px repeat-x,
    #fff;
  border-top: 0;
  color: var(--evmemo-ink);
}

.footer-in {
  padding-bottom: 22px;
  padding-top: 18px;
}

.footer a,
#footer a {
  color: var(--evmemo-ink);
  font-weight: 700;
}

.go-to-top-button {
  background: #fff;
  border-color: var(--evmemo-line);
  border-radius: 999px;
  color: var(--evmemo-blue);
}

@media screen and (max-width: 1024px) {
  .navi .navi-in > ul,
  .navi-in > ul {
    gap: 18px;
    justify-content: flex-start;
  }

  .evmemo-home-hero-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .evmemo-home-ranking {
    display: block;
    height: auto;
  }

  .evmemo-home-ranking-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .evmemo-home-topic-panel:nth-child(4) {
    grid-column: span 1;
  }

  .evmemo-home-topic-panel:nth-child(4) .evmemo-home-topic-items {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 834px) {
  .site-name-text-link::before,
  .site-name a::before {
    font-size: 26px;
    height: 50px;
    width: 50px;
  }

  .tagline,
  .site-description {
    font-size: 14px;
  }

  .evmemo-home-topics-grid,
  .evmemo-home-pinned-grid {
    grid-template-columns: 1fr;
  }

  .evmemo-home-pinned-link,
  .evmemo-home-pinned-card-placeholder {
    grid-template-columns: minmax(0, 1fr) 120px;
  }
}

@media screen and (max-width: 640px) {
  body,
  button,
  input,
  select,
  textarea {
    font-size: 14px;
  }

  .site-name-text-link::before,
  .site-name a::before {
    font-size: 22px;
    height: 44px;
    width: 44px;
  }

  .tagline,
  .site-description {
    font-size: 13px;
    margin-top: 8px;
  }

  .navi .menu-item > a,
  .navi a {
    font-size: 13px;
    min-height: 58px;
  }

  .navi .menu-item > a::before {
    font-size: 19px;
  }

  .evmemo-home-shell {
    padding-left: 14px;
    padding-right: 14px;
  }

  .evmemo-home-featured-media,
  .evmemo-home-featured-media img {
    aspect-ratio: 4 / 3;
  }

  .evmemo-home-featured-overlay {
    padding: 0 18px 18px;
  }

  .evmemo-home-featured-label {
    font-size: 12px;
    padding: 7px 9px;
  }

  .evmemo-home-featured-title,
  .evmemo-home-featured-title a {
    font-size: 22px;
  }

  .evmemo-home-featured-meta {
    font-size: 12px;
  }

  .evmemo-home-ranking-list {
    grid-template-columns: 1fr;
  }

  .evmemo-home-ranking-link,
  .evmemo-home-topic-item {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .evmemo-home-topic-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .evmemo-home-pinned-link,
  .evmemo-home-pinned-card-placeholder {
    grid-template-columns: 1fr;
  }

  .evmemo-home-pinned-visual {
    max-width: 150px;
  }
}

/*
  EV Memo image assets.
  トップページではヘッダーとフッターの 2 画像だけを背景として使用する。
*/
.home #header-container,
.blog #header-container {
  background-image: url("images/header-evmemo.png") !important;
  background-color: #fff !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-size: 100% auto !important;
  height: 19.061vw;
  min-height: 0;
  overflow: visible;
}

.home .header-container,
.blog .header-container,
.home #header,
.blog #header,
.home .header,
.blog .header,
.home .header-container-in,
.blog .header-container-in,
.home .header-in,
.blog .header-in {
  background: transparent !important;
}

.home .header-container,
.blog .header-container,
.home #header,
.blog #header,
.home .header,
.blog .header {
  height: 19.061vw;
  min-height: 0;
}

.home #header-container::before,
.blog #header-container::before,
.home #header-container::after,
.blog #header-container::after,
.home .header-container-in::before,
.blog .header-container-in::before,
.home .header-container-in::after,
.blog .header-container-in::after {
  display: none;
}

.home .header-container-in,
.blog .header-container-in,
.home .header-in,
.blog .header-in {
  height: 19.061vw;
  min-height: 0;
  padding-top: 0;
}

.home .site-name,
.blog .site-name,
.home .logo-header,
.blog .logo-header {
  height: 110px;
  left: 0;
  margin: 0;
  position: absolute;
  top: 28px;
  width: 340px;
}

.home .site-name-text-link,
.blog .site-name-text-link,
.home .site-name a,
.blog .site-name a {
  color: transparent;
  display: block;
  font-size: 0;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

.home .site-name-text-link::before,
.blog .site-name-text-link::before,
.home .site-name a::before,
.blog .site-name a::before,
.home .tagline,
.blog .tagline,
.home .site-description,
.blog .site-description {
  display: none;
}

.home #footer,
.blog #footer {
  background-image: url("images/footer-evmemo.png") !important;
  background-color: #fff !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-size: 100% auto !important;
  height: 21.777vw;
  min-height: 0;
  overflow: hidden;
}

.home .footer,
.blog .footer {
  background: transparent !important;
  height: 21.777vw;
  min-height: 0;
}

.home .footer-in,
.blog .footer-in {
  height: 21.777vw;
  min-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
}

.home #navi,
.blog #navi,
.home .navi,
.blog .navi {
  left: 0;
  position: absolute;
  right: 0;
  top: 19.061vw;
  z-index: 10;
}

.home .evmemo-home-main,
.blog .evmemo-home-main {
  padding-top: 50px;
}

@media screen and (min-width: 1001px) {
  .home #header-container,
  .blog #header-container {
    background-size: 1000px auto !important;
    height: 190.61px;
  }

  .home .header-container,
  .blog .header-container,
  .home #header,
  .blog #header,
  .home .header,
  .blog .header {
    height: 190.61px;
  }

  .home .header-container-in,
  .blog .header-container-in,
  .home .header-in,
  .blog .header-in {
    height: 190.61px;
  }

  .home #navi,
  .blog #navi,
  .home .navi,
  .blog .navi {
    top: 190.61px;
  }

  .home #footer,
  .blog #footer {
    background-size: 1000px auto !important;
    height: 217.77px;
  }

  .home .footer,
  .blog .footer,
  .home .footer-in,
  .blog .footer-in {
    height: 217.77px;
  }
}

@media screen and (max-width: 640px) {
  .home #header-container,
  .blog #header-container,
  .home .header-container,
  .blog .header-container {
    height: 19.061vw;
    min-height: 0;
  }

  .home .header-container-in,
  .blog .header-container-in,
  .home .header-in,
  .blog .header-in {
    height: 19.061vw;
    min-height: 0;
  }

  .home .site-name,
  .blog .site-name,
  .home .logo-header,
  .blog .logo-header {
    height: 72px;
    top: 18px;
    width: 220px;
  }

  .home .footer,
  .blog .footer,
  .home #footer,
  .blog #footer,
  .home .footer-in,
  .blog .footer-in {
    height: 21.777vw;
    min-height: 0;
  }

  .home .evmemo-home-main,
  .blog .evmemo-home-main {
    padding-top: 50px;
  }
}

/*
  EV Memo article skin.
  blog-parts.png の本文パーツを single post に反映し、ヘッダー/フッターはトップページ画像に統一する。
*/
body.single-post #header-container {
  background-image: url("images/header-evmemo.png") !important;
  background-color: #fff !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-size: 100% auto !important;
  height: 19.061vw;
  min-height: 0;
  overflow: visible;
}

body.single-post .header-container,
body.single-post #header,
body.single-post .header,
body.single-post .header-container-in,
body.single-post .header-in {
  background: transparent !important;
}

body.single-post .header-container,
body.single-post #header,
body.single-post .header {
  height: 19.061vw;
  min-height: 0;
}

body.single-post #header-container::before,
body.single-post #header-container::after,
body.single-post .header-container-in::before,
body.single-post .header-container-in::after {
  display: none;
}

body.single-post .header-container-in,
body.single-post .header-in {
  height: 19.061vw;
  min-height: 0;
  padding-top: 0;
}

body.single-post .site-name,
body.single-post .logo-header {
  height: 110px;
  left: 0;
  margin: 0;
  position: absolute;
  top: 28px;
  width: 340px;
}

body.single-post .site-name-text-link,
body.single-post .site-name a {
  color: transparent;
  display: block;
  font-size: 0;
  height: 100%;
  overflow: hidden;
  width: 100%;
}

body.single-post .site-name-text-link::before,
body.single-post .site-name a::before,
body.single-post .tagline,
body.single-post .site-description {
  display: none;
}

body.single-post #navi,
body.single-post .navi {
  left: 0;
  position: absolute;
  right: 0;
  top: 19.061vw;
  z-index: 10;
}

body.single-post #footer {
  background-image: url("images/footer-evmemo.png") !important;
  background-color: #fff !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-size: 100% auto !important;
  height: 21.777vw;
  min-height: 0;
  overflow: hidden;
}

body.single-post .footer {
  background: transparent !important;
  height: 21.777vw;
  min-height: 0;
}

body.single-post .footer-in {
  height: 21.777vw;
  min-height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: none;
}

body.single-post .content {
  margin-top: 116px;
}

body.single-post .main {
  background: #fff;
  border: 1px solid var(--evmemo-line);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(13, 68, 133, 0.05);
  padding: 32px 34px 36px;
}

body.single-post .article {
  color: #111f35;
}

body.single-post .article-header {
  margin-bottom: 24px;
}

body.single-post .entry-title {
  background: transparent;
  border-bottom: 3px solid var(--evmemo-blue);
  border-left: 6px solid var(--evmemo-blue);
  color: #111f35;
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.45;
  margin: 0 0 18px;
  padding: 4px 0 14px 18px;
}

body.single-post .date-tags,
body.single-post .entry-categories-tags,
body.single-post .breadcrumb,
body.single-post .sns-share-message,
body.single-post .sns-follow-message {
  color: #61708a;
  font-size: 13px;
  font-weight: 600;
}

body.single-post .eye-catch {
  border-radius: 8px;
  display: block;
  margin: 22px auto 30px;
  max-width: 100%;
  overflow: visible;
  position: relative;
  text-align: center;
  width: 100%;
}

body.single-post .eye-catch img,
body.single-post .eye-catch .wp-post-image {
  display: block;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  max-width: 50%;
  width: 50%;
}

body.single-post .eye-catch img,
body.single-post .article img,
body.single-post .entry-content img,
body.single-post .wp-block-image img {
  border-radius: 8px;
}

body.single-post .eye-catch .cat-label {
  left: 25%;
  position: absolute;
  top: 10px;
  z-index: 2;
}

body.single-post .wp-block-image,
body.single-post .article figure {
  margin: 28px 0;
}

body.single-post .wp-block-gallery {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 28px 0;
}

body.single-post .wp-block-gallery.has-nested-images figure.wp-block-image,
body.single-post .wp-block-gallery .blocks-gallery-item,
body.single-post .wp-block-gallery .wp-block-image {
  border-radius: 8px;
  overflow: hidden;
  width: 100% !important;
}

body.single-post .article h2,
body.single-post .article h3,
body.single-post .article h4,
body.single-post .article h5,
body.single-post .article h6 {
  background: transparent;
  border-radius: 0;
  color: #111f35;
  font-weight: 900;
  letter-spacing: 0;
}

body.single-post .article h2 {
  border: 0;
  border-bottom: 3px solid var(--evmemo-blue);
  border-left: 6px solid var(--evmemo-blue);
  font-size: 32px;
  line-height: 1.45;
  margin: 54px 0 24px;
  padding: 4px 0 14px 18px;
}

body.single-post .article h3 {
  border: 0;
  border-bottom: 2px solid #2d82ee;
  border-left: 5px solid #2d82ee;
  font-size: 28px;
  line-height: 1.45;
  margin: 46px 0 22px;
  padding: 3px 0 12px 16px;
}

body.single-post .article h4 {
  border: 0;
  border-bottom: 2px solid #8dbdf8;
  border-left: 4px solid #62a6f4;
  font-size: 22px;
  line-height: 1.5;
  margin: 38px 0 18px;
  padding: 3px 0 11px 15px;
}

body.single-post .article h5 {
  border-bottom: 1px solid #bdd6f6;
  border-left: 4px solid #9bc5fb;
  font-size: 18px;
  line-height: 1.55;
  margin: 32px 0 15px;
  padding: 2px 0 10px 14px;
}

body.single-post .article h6 {
  border-bottom: 1px dashed #bdd6f6;
  border-left: 3px solid #bdd6f6;
  font-size: 16px;
  line-height: 1.55;
  margin: 26px 0 13px;
  padding: 2px 0 9px 13px;
}

body.single-post .entry-content > p {
  color: #111f35;
  font-size: 16px;
  line-height: 1.85;
  margin: 0 0 24px;
}

body.single-post .article p,
body.single-post .article li,
body.single-post .entry-content p,
body.single-post .entry-content li {
  color: #111f35;
}

body.single-post .entry-content > ul,
body.single-post .entry-content > ol {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
}

body.single-post .entry-content > ul > li,
body.single-post .entry-content > ol > li {
  color: #111f35;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.75;
  margin: 0;
  padding-left: 28px;
  position: relative;
}

body.single-post .entry-content > ul > li + li,
body.single-post .entry-content > ol > li + li {
  margin-top: 9px;
}

body.single-post .entry-content > ul > li::before {
  background: var(--evmemo-blue);
  border-radius: 999px;
  content: "";
  height: 7px;
  left: 6px;
  position: absolute;
  top: 0.8em;
  width: 7px;
}

body.single-post .entry-content > ol {
  counter-reset: evmemo-ordered-list;
}

body.single-post .entry-content > ol > li {
  counter-increment: evmemo-ordered-list;
  min-height: 24px;
  padding-left: 34px;
}

body.single-post .entry-content > ol > li::before {
  align-items: center;
  background: var(--evmemo-blue);
  border-radius: 999px;
  color: #fff;
  content: counter(evmemo-ordered-list);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  height: 22px;
  justify-content: center;
  left: 0;
  line-height: 1;
  position: absolute;
  top: 0.28em;
  width: 22px;
}

body.single-post .article table {
  border: 1px solid #cfe1f8;
  border-collapse: separate;
  border-radius: 6px;
  border-spacing: 0;
  margin: 30px 0;
  overflow: hidden;
}

body.single-post .article th,
body.single-post .article td {
  border: 0;
  border-bottom: 1px solid #d8e8fb;
  border-right: 1px solid #d8e8fb;
  color: #111f35;
  font-size: 14px;
  line-height: 1.65;
  padding: 10px 13px;
}

body.single-post .article th:last-child,
body.single-post .article td:last-child {
  border-right: 0;
}

body.single-post .article tr:last-child td {
  border-bottom: 0;
}

body.single-post .article th {
  background: #f4f8ff;
  color: #0b2b58;
  font-weight: 900;
  text-align: center;
}

body.single-post .article blockquote {
  background: #f7fbff;
  border: 1px solid #d7e6fb;
  border-radius: 8px;
  color: #243a58;
  font-size: 16px;
  line-height: 1.85;
  margin: 30px 0;
  padding: 22px 24px 22px 70px;
  position: relative;
}

body.single-post .article blockquote::before {
  color: #b7d4fb;
  content: "\f10d";
  font-family: "Font Awesome 7 Free";
  font-size: 32px;
  font-weight: 900;
  left: 24px;
  line-height: 1;
  position: absolute;
  top: 24px;
}

body.single-post .article blockquote p {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}

body.single-post pre {
  background: #111827;
  border: 0;
  border-radius: 8px;
  color: #eaf2ff;
  font-size: 14px;
  line-height: 1.65;
  margin: 30px 0;
  padding: 18px 20px;
}

body.single-post pre code {
  background: transparent;
  border: 0;
  color: inherit;
  font-size: inherit;
  padding: 0;
}

body.single-post code {
  background: #eef6ff;
  border: 1px solid #d8e8fb;
  border-radius: 5px;
  color: #0b58cf;
}

body.single-post .blank-box,
body.single-post .information-box,
body.single-post .info-box,
body.single-post .memo-box,
body.single-post .point-box,
body.single-post .alert-box,
body.single-post .warning-box,
body.single-post .question-box,
body.single-post .common-icon-box,
body.single-post .wp-block-cocoon-blocks-icon-box-1,
body.single-post .wp-block-cocoon-blocks-blank-box-1,
body.single-post .wp-block-cocoon-blocks-tab-box-1 {
  background: #f8fbff;
  border: 1px solid #cfe1f8;
  border-radius: 8px;
  color: #111f35;
  font-size: 15px;
  line-height: 1.7;
  margin: 28px 0;
  min-height: 82px;
  padding: 18px 20px 18px 64px;
  position: relative;
}

body.single-post .blank-box::before,
body.single-post .information-box::before,
body.single-post .info-box::before,
body.single-post .memo-box::before,
body.single-post .point-box::before,
body.single-post .alert-box::before,
body.single-post .warning-box::before,
body.single-post .question-box::before,
body.single-post .common-icon-box::before,
body.single-post .wp-block-cocoon-blocks-icon-box-1::before,
body.single-post .wp-block-cocoon-blocks-blank-box-1::before,
body.single-post .wp-block-cocoon-blocks-tab-box-1::before {
  align-items: center;
  color: var(--evmemo-blue);
  content: "\f15b";
  display: inline-flex;
  font-family: "Font Awesome 7 Free";
  font-size: 30px;
  font-weight: 900;
  height: 36px;
  justify-content: center;
  left: 19px;
  line-height: 1;
  position: absolute;
  top: 20px;
  width: 34px;
}

body.single-post .point-box {
  background: #fffbeb;
  border-color: #f4d37a;
}

body.single-post .point-box::before {
  background: #ffc233;
  border-radius: 999px;
  color: #fff;
  content: "\f005";
  font-size: 20px;
}

body.single-post .alert-box,
body.single-post .warning-box {
  background: #fff7f7;
  border-color: #ffc6cc;
}

body.single-post .alert-box::before,
body.single-post .warning-box::before {
  color: #ff4858;
  content: "\f071";
}

body.single-post .question-box::before {
  content: "\f059";
}

body.single-post .information-box::before,
body.single-post .info-box::before,
body.single-post .memo-box::before {
  content: "\f15b";
}

body.single-post .common-icon-box,
body.single-post .wp-block-cocoon-blocks-tab-box-1 {
  background: #f3fff1;
  border-color: #c9e8c0;
}

body.single-post .common-icon-box::before,
body.single-post .wp-block-cocoon-blocks-tab-box-1::before {
  color: #69b853;
  content: "\f0eb";
}

body.single-post .blank-box p,
body.single-post .information-box p,
body.single-post .info-box p,
body.single-post .memo-box p,
body.single-post .point-box p,
body.single-post .alert-box p,
body.single-post .warning-box p,
body.single-post .question-box p,
body.single-post .common-icon-box p {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
}

body.single-post .toc {
  background: #fff;
  border: 1px solid #d7e6fb;
  border-radius: 8px;
  box-shadow: none;
  margin: 32px auto;
  max-width: 50%;
  padding: 20px 22px;
  width: 50%;
}

body.single-post .toc-title {
  align-items: center;
  color: var(--evmemo-blue);
  display: inline-flex;
  font-size: 16px;
  font-weight: 900;
  gap: 10px;
  margin-bottom: 12px;
}

body.single-post .toc-title::before {
  content: "\f03a";
  font-family: "Font Awesome 7 Free";
  font-size: 18px;
  font-weight: 900;
}

body.single-post .toc-list,
body.single-post .toc ul {
  margin: 0;
}

body.single-post .toc li {
  line-height: 1.35;
}

body.single-post .toc li + li {
  margin-top: 4px;
}

body.single-post .toc a {
  color: #145fc9;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
}

body.single-post .author-box,
body.single-post .blogcard,
body.single-post .related-entry-card-wrap,
body.single-post .pager-post-navi,
body.single-post .comment-box {
  background: #fff;
  border: 1px solid #d7e6fb;
  border-radius: 8px;
  box-shadow: none;
}

body.single-post .author-box {
  padding: 18px 20px;
}

body.single-post .author-thumb,
body.single-post .author-thumb img {
  border-radius: 999px;
}

body.single-post .blogcard,
body.single-post .related-entry-card-wrap {
  overflow: hidden;
  padding: 12px;
}

body.single-post .related-entry-card-wrap:hover,
body.single-post .blogcard:hover {
  border-color: #a9cff9;
  box-shadow: 0 8px 18px rgba(18, 110, 232, 0.08);
}

body.single-post .related-entry-heading,
body.single-post .comment-title {
  color: #111f35;
  font-size: 18px;
  font-weight: 900;
}

body.single-post .tag-link,
body.single-post .tagcloud a,
body.single-post .entry-categories-tags a {
  background: #fff;
  border: 1px solid #d6e4f8;
  border-radius: 999px;
  color: #31425d;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  padding: 8px 15px;
}

body.single-post .cat-link,
body.single-post .cat-label {
  background: var(--evmemo-blue);
  border-color: var(--evmemo-blue);
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  padding: 7px 14px;
}

body.single-post .sns-share,
body.single-post .sns-follow {
  border: 0 !important;
  margin: 34px 0;
  padding: 0 !important;
}

body.single-post .sns-share .sns-share-buttons a,
body.single-post .sns-share .sns-share-buttons button,
body.single-post .sns-follow .sns-follow-buttons a,
body.single-post .sns-follow .sns-follow-buttons button {
  border-radius: 999px !important;
  min-height: 46px;
  min-width: 46px;
  padding: 0 !important;
}

body.single-post .pager-post-navi {
  margin-top: 34px;
  overflow: hidden;
}

body.single-post .pager-post-navi a {
  background: #fff;
  border: 0;
  border-radius: 0;
  color: #111f35;
  min-height: 76px;
}

body.single-post .pager-post-navi a:hover {
  background: #f5faff;
  color: var(--evmemo-blue);
}

@media screen and (min-width: 1001px) {
  body.single-post #header-container {
    background-size: 1000px auto !important;
    height: 190.61px;
  }

  body.single-post .header-container,
  body.single-post #header,
  body.single-post .header {
    height: 190.61px;
  }

  body.single-post .header-container-in,
  body.single-post .header-in {
    height: 190.61px;
  }

  body.single-post #navi,
  body.single-post .navi {
    top: 190.61px;
  }

  body.single-post #footer {
    background-size: 1000px auto !important;
    height: 217.77px;
  }

  body.single-post .footer,
  body.single-post .footer-in {
    height: 217.77px;
  }
}

@media screen and (max-width: 834px) {
  body.single-post .main {
    padding: 24px 22px 30px;
  }

  body.single-post .entry-title,
  body.single-post .article h2 {
    font-size: 26px;
  }

  body.single-post .article h3 {
    font-size: 23px;
  }

  body.single-post .article h4 {
    font-size: 20px;
  }

  body.single-post .entry-content > p,
  body.single-post .entry-content > ul > li,
  body.single-post .entry-content > ol > li {
    font-size: 15px;
  }

  body.single-post .wp-block-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 640px) {
  body.single-post #header-container,
  body.single-post .header-container {
    height: 19.061vw;
    min-height: 0;
  }

  body.single-post .header-container-in,
  body.single-post .header-in {
    height: 19.061vw;
    min-height: 0;
  }

  body.single-post .site-name,
  body.single-post .logo-header {
    height: 72px;
    top: 18px;
    width: 220px;
  }

  body.single-post .footer,
  body.single-post #footer,
  body.single-post .footer-in {
    height: 21.777vw;
    min-height: 0;
  }

  body.single-post .content {
    margin-top: 76px;
  }

  body.single-post .main {
    border-left: 0;
    border-radius: 0;
    border-right: 0;
    padding: 22px 16px 28px;
  }

  body.single-post .toc {
    max-width: 100%;
    width: 100%;
  }

  body.single-post .entry-title,
  body.single-post .article h2 {
    border-bottom-width: 2px;
    border-left-width: 5px;
    font-size: 24px;
    padding-left: 14px;
  }

  body.single-post .article h3 {
    font-size: 21px;
  }

  body.single-post .article h4 {
    font-size: 18px;
  }

  body.single-post .article blockquote {
    padding: 58px 18px 18px;
  }

  body.single-post .article blockquote::before {
    left: 18px;
    top: 18px;
  }

  body.single-post .blank-box,
  body.single-post .information-box,
  body.single-post .info-box,
  body.single-post .memo-box,
  body.single-post .point-box,
  body.single-post .alert-box,
  body.single-post .warning-box,
  body.single-post .question-box,
  body.single-post .common-icon-box,
  body.single-post .wp-block-cocoon-blocks-icon-box-1,
  body.single-post .wp-block-cocoon-blocks-blank-box-1,
  body.single-post .wp-block-cocoon-blocks-tab-box-1 {
    padding: 58px 16px 16px;
  }

  body.single-post .blank-box::before,
  body.single-post .information-box::before,
  body.single-post .info-box::before,
  body.single-post .memo-box::before,
  body.single-post .point-box::before,
  body.single-post .alert-box::before,
  body.single-post .warning-box::before,
  body.single-post .question-box::before,
  body.single-post .common-icon-box::before,
  body.single-post .wp-block-cocoon-blocks-icon-box-1::before,
  body.single-post .wp-block-cocoon-blocks-blank-box-1::before,
  body.single-post .wp-block-cocoon-blocks-tab-box-1::before {
    left: 16px;
    top: 16px;
  }
}

@media screen and (max-width: 480px) {
  body.single-post .wp-block-gallery {
    grid-template-columns: 1fr;
  }

  body.single-post .article th,
  body.single-post .article td {
    font-size: 13px;
    padding: 9px 10px;
  }
}
