@charset "utf-8";
/*
 Responsive: yes;
 Theme: listen
 Description: ブログメディア「りっすん」ブログテーマ
*/
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

/*-- テーマストア --*/
@charset "utf-8";
:root {
  --yellow: #ff0;
  --lemon-yellow: #fff79e;
  --alabaster: #f6e9e1;
  --blue-purple: #BED4E4;
  --light-blue: #E7EDF2;
  --magic-mint: #a6f0e0;
  --light-slate-gray: #8093a2;
  --alice-blue: #f2f4f6;
  --muted-steel: #b2bec7;
  --white-smoke: #f7f7f7;
  --silver: #c0c0c0;
  --black: #000;
  --white: #fff;
  --primary-color: #002846;
  --secondary-color: #33536b;
  --tertiary-color: #667E90;
  --link-primary: var(--light-slate-gray);
  --link-hover: #192b38;
  --link-active: #00192d;
  --border-light: #D9DFE3;
  --border-dark: #193D58;
  --border-nav: #eaedef;
  --divider: #ccd4da;
  --background-primary: var(--white-smoke);
  --background-category: var(--alabaster);
}

html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  scroll-behavior: smooth;
}
/**
 * Remove default margin.
 */
body {
  margin: 0;
}
/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}
/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}
/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}
/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}
/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}
/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}
/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}
/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}
/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: var(--yellow);
  color: var(--black);
}
em {
  background: var(--lemon-yellow);
  font-style: normal;
}
/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}
/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
  vertical-align: bottom;
}
/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}
/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}
/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}
/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}
/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}
/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}
/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}
/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}
/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}
/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}
/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box;
}
/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid var(--silver);
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}
/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}
/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
body {
  font-family: 'Helvetica Neue', 'Helvetica', 'Arial', 'Hiragino Kaku Gothic Pro', 'Meiryo', 'MS PGothic', sans-serif;
  background-color: var(--background-primary);
  color: var(--primary-color);
}
a {
  color: var(--primary-color);
  text-decoration: none;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
a:hover {
  color: var(--link-hover);
}
a:active {
  color: var(--link-active);
}
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: " ";
}
.clearfix:after {
  clear: both;
}
@media (min-width: 530px) {
  .br-sp {
    display: none;
  }
}
.br-pc {
  display: none;
}
@media (min-width: 530px) {
  .br-pc {
    display: block;
  }
}

/* デバイス切り替え */
.is-pc {
    display: none;
    @media (width > 768px) {
        display: block;
    }
}
.is-sp {
    display: block;
    @media (width > 768px) {
        display: none;
    }
}

.urllist-title-link,
.entry-title-link,
.category-list-item {
  transition: opacity .2s;
  &:hover,
  &:hover .body {
    opacity: .7;
  }
}

.urllist-categories,
.entry-categories,
.categories {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  align-items: flex-start;
  margin-bottom: 12px;
  a {
    display: flex;
    padding: 2px 6px;
    border-radius: 3px;
    background: var(--background-primary);
    font-size: 10px;
    color: var(--primary-color);
    transition: all .2s;
    &:hover {
      background: var(--tertiary-color);
      color: var(--white);
    }
  }
}

#content {
  width: 980px;
  margin: 0 auto 60px;
  background-color: var(--background-primary);
  *zoom: 1;
}
#content:before,
#content:after {
  display: table;
  content: " ";
}
#content:after {
  clear: both;
}
@media (max-width: 1024px) {
  #content {
    width: 740px;
  }
}
@media (max-width: 767px) {
  #content {
    width: 500px;
  }
}
@media (max-width: 530px) {
  #content {
    width: 95%;
    margin-bottom: 20px;
  }
}
#top-editarea {
  margin-bottom: 20px;
}

@media (max-width: 530px) {
  #top-editarea {
    margin-bottom: 10px;
    position: fixed;
    width: 100%;
    z-index: 2;
  }
}
@media (max-width: 530px) {
  #top-box {
    padding-top: 129px;
  }
}
.blog-header {
  display: block;
  background-color: var(--white);
  padding: 10px;
  border-bottom: 4px solid var(--border-dark);
}
@media (max-width: 530px) {
  .blog-header {
    position: relative;
    padding: 8px;
    border-bottom: 2px solid var(--border-dark);
  }
}
.blog-header .blog-header-inner {
  position: relative;
  width: 980px;
  margin: 0 auto;
}
@media (max-width: 1024px) {
  .blog-header .blog-header-inner {
    width: 740px;
  }
}
@media (max-width: 767px) {
  .blog-header .blog-header-inner {
    width: 500px;
  }
}
@media (max-width: 530px) {
  .blog-header .blog-header-inner {
    width: 100%;
  }
}
.blog-header .blog-title {
  text-align: center;
}
.blog-header .blog-title .blog-title-container {
  margin: 0 auto;
}
.blog-header .blog-title .blog-title-container h1 {
  margin: 0;
  padding: 0;
}
@media (max-width: 530px) {
  .blog-header .blog-title .blog-title-container h1 {
    font-size: 0;
  }
}
.blog-header .blog-title .blog-title-container .blog-title-heading {
  display: inline-block;
  padding-top: 10px;
  width: 200px;
  height: 80px;
  position: relative;
  z-index: 1;
  background: transparent url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817114114.png');
  background-size: 200px 90px;
  background-repeat: no-repeat;
  text-indent: 100%;
  line-height: 70px;
  white-space: nowrap;
  overflow: hidden;
}
@media (max-width: 530px) {
  .blog-header .blog-title .blog-title-container .blog-title-heading {
    width: 100px;
    padding: 0;
    height: 42px;
    background-size: 100px auto;
    line-height: 40px;
    margin-top: 14px;
  }
}
.blog-header .blog-title .blog-description {
  font-size: 12px;
  margin: 0;
}
@media (max-width: 530px) {
  .blog-header .blog-title .blog-description {
    font-size: 10px;
    color: var(--primary-color);
    position: absolute;
    top: 0;
    left: 0;
  }
}
.blog-header .blog-title .eaidem-logo-sp {
  display: none;
}
@media (max-width: 530px) {
  .blog-header .blog-title .eaidem-logo-sp {
    display: block;
    width: 74px;
    height: 16px;
    background: transparent url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817114113.png');
    background-size: auto 16px;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.blog-header .header-parts {
  width: 980px;
  margin: 0 auto;
  *zoom: 1;
  position: absolute;
  top: 10px;
  z-index: 0;
}
.blog-header .header-parts:before,
.blog-header .header-parts:after {
  display: table;
  content: " ";
}
.blog-header .header-parts:after {
  clear: both;
}
@media (max-width: 1024px) {
  .blog-header .header-parts {
    width: 740px;
  }
}
@media (max-width: 767px) {
  .blog-header .header-parts {
    width: 500px;
  }
}
@media (max-width: 530px) {
  .blog-header .header-parts {
    width: 95%;
  }
}
.blog-header .header-parts .eaidem-logo-container {
  float: left;
}
.blog-header .header-parts .eaidem-logo-container .eaidem-logo {
  width: 140px;
  height: 30px;
}
@media (max-width: 767px) {
  .blog-header .header-parts .eaidem-logo-container .eaidem-logo {
    width: 100px;
    height: auto;
  }
}
@media (max-width: 530px) {
  .blog-header .header-parts .eaidem-logo-container .eaidem-logo {
    display: none;
  }
}
.blog-header .header-parts .social-container {
  float: right;
  *zoom: 1;
}
.blog-header .header-parts .social-container:before,
.blog-header .header-parts .social-container:after {
  display: table;
  content: " ";
}
.blog-header .header-parts .social-container:after {
  clear: both;
}
@media (max-width: 530px) {
  .blog-header .header-parts .social-container {
    display: none;
  }
}
.blog-header .header-parts .social-container .social-inner {
  margin: 0;
  padding: 0;
}
.blog-header .header-parts .social-container .social-inner li {
  list-style: none;
  float: left;
  margin-right: 16px;
}
@media (max-width: 767px) {
  .blog-header .header-parts .social-container .social-inner li {
    margin-right: 10px;
  }
}
.blog-header .header-parts .social-container .social-inner li:last-child {
  margin: 0;
}
.blog-header .header-parts .social-container .social-inner .social-btn {
  display: inline-block;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  line-height: 44px;
  list-style: none;
  text-align: center;
}
@media (max-width: 767px) {
  .blog-header .header-parts .social-container .social-inner .social-btn {
    width: 38px;
    height: 38px;
  }
}
.blog-header .header-parts .social-container .social-inner .social-btn:last-child {
  margin: 0;
}
.blog-header .header-parts .social-container .social-inner .tw {
  background-color: var(--black);
  background-image: url('https://cdn.blog.st-hatena.com/files/6653812171401915351/6801883189077579407');
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 767px) {
  .blog-header .header-parts .social-container .social-inner .tw {
    background-size: 17px 17px;
  }
}
.blog-header .header-parts .social-container .social-inner .fb {
  background-color: #3B5998;
  background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817114116.png');
  background-size: 44px 44px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .blog-header .header-parts .social-container .social-inner .fb {
    background-size: 38px 38px;
  }
}
.blog-header .header-parts .social-container .social-inner .htb {
  background-color: #00A4DE;
  background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817114117.png');
  background-size: 44px 44px;
  background-repeat: no-repeat;
}
@media (max-width: 767px) {
  .blog-header .header-parts .social-container .social-inner .htb {
    background-size: 38px 38px;
  }
}

/* header-search */
.header-search {
  position: relative;
  display: block;
  width: 100%;
  margin-top: -32px;
  @media (width > 1023px) {
    max-width: 980px;
    margin: auto;
  }
  .search-toggle-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    transition: transform 0.2s ease, background-color 0.2s ease;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    margin-left: auto;
    @media (width > 1023px) {
      display: none;
    }
    &:hover {
      background-color: rgba(0, 0, 0, 0.05);
    }
    svg {
      width: 24px;
      height: 24px;
      stroke: var(--primary-color);
      transition: stroke 0.2s ease;
      position: absolute;
    }
    .icon-search {
      opacity: 1;
      transform: rotate(0deg);
    }
    .icon-close {
      opacity: 0;
      transform: rotate(-90deg);
    }
    &.active {
      background: var(--tertiary-color);
      border-radius: 999px 999px 0 0;
      svg {
        stroke: var(--white);
      }
      .icon-search {
        opacity: 0;
        transform: rotate(90deg);
      }
      .icon-close {
        opacity: 1;
        transform: rotate(0deg);
      }
    }
  }
  .hatena-module-search-box {
    background: var(--white);
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    margin: 0 -10px -10px;
    border: none;
    box-shadow: none;
    transition: max-height 0.4s ease, opacity 0.3s ease, margin-top 0.4s ease;
    @media (width > 1023px) {
      margin: 0;
      max-height: none;
      opacity: 1;
      overflow: visible;
    }
    &.active {
      max-height: 200px;
      opacity: 1;
      background: var(--tertiary-color);
    }
    .hatena-module-body {
      padding: 6px 20px;
      @media (width > 1023px) {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 200px;
        padding: 0 20px 0 10px;
        border: 1px solid var(--border-light);
        border-radius: 999px;
      }
    }
  }
  .search-form {
    display: flex;
  }
  .search-module-input {
    flex: 1;
    padding: 10px 12px;
    border: none;
    border-radius: 999px 0 0 999px;
    font-size: 16px; /* iOSのズーム防止 */
    outline: none;
    @media (width > 1023px) {
      font-size: 14px;
    }
  }
  .search-module-button {
    padding: 10px 20px;
    background: var(--white);
    color: var(--tertiary-color);
    border: none;
    border-radius: 0 999px 999px 0;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    @media (width > 1023px) {
      background: transparent;
      padding: 10px;
    }
    svg {
      width: 20px;
      height: 20px;
      stroke: var(--tertiary-color);
      vertical-align: bottom;
    }
  }
}

.navbar {
  background-color: var(--white);
  border-bottom: 3px solid var(--border-nav);
  position: relative;
}
@media (max-width: 530px) {
  .navbar {
    border-width: 1px;
  }
}
@media (max-width: 767px) {
  .navbar::after {
    content: ' ';
    position: absolute;
    right: 0;
    top: 0;
    width: 4rem;
    height: 100%;
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), var(--white));
    background: linear-gradient(to right, rgba(255, 255, 255, 0), var(--white));
  }
}
.navbar .navbar-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.navbar-list {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding: 0;
  -webkit-box-align: left;
      -ms-flex-align: left;
          align-items: left;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  white-space: normal;
}
@media (max-width: 767px) {
  .navbar-list {
    white-space: nowrap;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.navbar-list li {
  list-style: none;
  max-width: 15rem;
}
.navbar-list a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-size: .95rem;
  padding: 0 1rem;
  height: 3.5rem;
  line-height: 1.3;
  font-weight: bold;
  color: var(--primary-color);
  -webkit-transition: background-color 0.2s;
  transition: background-color 0.2s;
}
.navbar-list a:hover {
  text-decoration: none;
  background-color: var(--alice-blue);
}
@media (max-width: 767px) {
  .navbar-list a {
    height: 44px;
    padding: 0 .7rem;
    font-size: .85rem;
  }
}

/* hatena-module-custom-pickup */
.hatena-module-custom-pickup {
  margin-bottom: 40px;
  .hatena-module-title {
    a {
      display: flex;
      padding: 0px 4px 10px 4px;
      align-items: center;
      gap: 10px;
      color: var(--primary-color);
      font-size: 28px;
      font-weight: 700;
      &:after {
        content: '注目の記事';
        color: var(--tertiary-color);
        font-size: 12px;
        font-weight: 300;
      }
    }
  }
  .hatena-module-body {
    ul,li {
      padding: 0;
      margin: 0;
      background-color: var(--white);
    }
    .recent-entries {
      display: flex;
      flex-direction: column;
      @media (width > 767px) {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        padding: 20px;
      }
      li {
        .recent-entries-image {
          margin: 0;
          width: 100%;
        }
        .recent-entries-title {
          font-size: 14px;
          font-weight: 600;
          @media (width > 767px) {
            font-size: 20px;
          }
        }
        .recent-entries-entry-body {
          color: var(--tertiary-color);
          font-size: 12px;
          @media (width > 767px) {
            font-size: 14px;
          }
        }
        &:first-child {
          grid-column: span 2 / span 2;
          .recent-entries-item-inner {
            display: flex;
            flex-direction: column;
            padding-bottom: 20px;
            gap: 8px;
            @media (width > 767px) {
              display: grid;
              grid-template-columns: 430px auto;
              grid-template-rows: auto auto 1fr;
            }
            .recent-entries-title,
            .recent-entries-categories,
            .recent-entries-entry-body {
              padding-left: 10px;
              padding-right: 10px;
              @media (width > 767px) {
                padding: 0;
              }
            }
            .recent-entries-image-link {
              @media (width > 767px) {
                grid-row: span 3 / span 3;
                margin-right: 20px;
              }
            }
            .recent-entries-title {
              font-size: 18px;
              @media (width > 767px) {
                font-size: 26px;
              }
            }
            .recent-entries-categories {
              order: 3;
              @media (width > 767px) {
                grid-column-start: 2;
                grid-row-start: 3;
              }
            }
            .recent-entries-entry-body {
              grid-column-start: 2;
              grid-row-start: 2;
            }
          }
        }
        &:not(:first-child) {
          border-top: 1px solid var(--border-light);
          padding: 20px 10px;
          @media (width > 767px) {
            padding: 20px;
          }
          .recent-entries-item-inner {
            display: grid;
            grid-template-columns: 120px auto;
            grid-template-rows: auto;
            gap: 10px;
            @media (width > 767px) {
              gap: 6px 20px;
            }
            .recent-entries-image-link {
                grid-row: span 2 / span 2;
            }
            .recent-entries-categories {
                grid-column-start: 2;
            }
            .recent-entries-entry-body {
              display: none;
            }
          }
        }
        &:nth-child(2) {
          grid-row-start: 2;
          @media (width > 767px) {
            border-right: 1px solid var(--border-light);
          }
        }
        &:nth-child(3) {
          grid-row-start: 2;
        }
        &:nth-child(4) {
          grid-row-start: 3;
          @media (width > 767px) {
            border-right: 1px solid var(--border-light);
          }
        }
      }
    }
  }
}

/* #main */
#main {
  width: 650px;
  float: left;
  @media (max-width: 1024px) {
    width: auto;
    float: none;
    margin-bottom: 40px;
  }
}
#main #main-inner .more-button a {
  margin-top: 20px;
  display: block;
  width: 100%;
  background-color: var(--link-primary);
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  padding: 16px 0;
  color: var(--white);
  border-radius: 4px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}
#main #main-inner .more-button a:hover {
  background-color: var(--secondary-color);
}
#main #main-inner {
  .hatena-module-title,
  .category-list-title {
    a {
      padding: 12px 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: var(--primary-color);
      font-size: 18px;
      font-weight: 600;
      &::after {
        content: "もっと見る";
        color: var(--tertiary-color);
        font-size: 12px;
        font-weight: 600;
        background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%2213%22%20viewBox%3D%220%200%2012%2013%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M4.14648%202.98739C4.34174%202.79213%204.65825%202.79213%204.85351%202.98739L7.85351%205.98739C8.04877%206.18265%208.04877%206.49916%207.85351%206.69442L4.85351%209.69442C4.65825%209.88968%204.34174%209.88968%204.14648%209.69442C3.95121%209.49916%203.95121%209.18265%204.14648%208.98739L6.79296%206.3409L4.14648%203.69442C3.95121%203.49916%203.95121%203.18265%204.14648%202.98739Z%22%20fill%3D%22%23667E90%22%2F%3E%3C%2Fsvg%3E') no-repeat 97% 50%;
        padding-right: 22px;
        transition: .2s;
      }
      &:hover::after {
        background-position-x: 100%;
        opacity: .7;
      }
    }
  }
}

/* hatena-module-custom-new-entry */
.hatena-module-custom-new-entry {
  .hatena-module-body {
    ul {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin: 0;
      padding: 0;
      li {
        border-radius: 4px;
        border: 1px solid var(--border-light);
        background: var(--white);
        padding: 10px;
      }
    }
    .recent-entries-date-link {
      font-size: 12px;
      font-weight: bold;
      line-height: 1;
      margin: 0 20px 10px;
      @media (width > 768px) {
        font-size: 14px;
        margin: 0 30px 10px;
      }
      &::before {
        content: " ";
        display: inline-block;
        width: 40px;
        height: 8px;
        margin-right: 6px;
        background-color: var(--background-category);
      }
    }
    .recent-entries-title {
      color: var(--primary-color);
      font-size: 14px;
      font-weight: 600;
      @media (width > 768px) {
        font-size: 20px;
      }
    }
    .urllist-image {
      max-width: 180px;
    }
  }
}

/* hatena-module-custom-top-category-list */
.hatena-module-custom-top-category-list {
  margin-top: 40px;
  .hatena-module-title {
    display: none;
  }
  .category-list-title {
    margin-bottom: 20px;
    padding: 0 4px;
    border-bottom: 2px solid var(--border-dark);
  }
  .fetch-articles {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    a {
      display: flex;
      width: calc(50% - 10px);
      .fetch-articles-item {
        display: flex;
        flex-direction: column;
        gap: 6px;
        img {
          width: 100%;
          aspect-ratio: 16 / 9;
          object-fit: cover;
        }
      }
    }
  }
}

/* hatena-module-custom-reader-picks */
#reader-picks-section {
  scroll-margin-top: 160px;
}
.hatena-module-custom-reader-picks {
  position: relative;
  margin-top: 40px;
  .hatena-module-title {
    display: none;
  }
  .hatena-module-body {
    border-radius: 6px;
    border: 1px dashed var(--border-dark);
    padding: 30px 20px 20px 20px;
    h2 {
      position: absolute;
      top: -12px;
      left: 50%;
      transform: translateX(-50%);
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 200px;
      padding: 0 10px;
      gap: 6px;
      color: var(--primary-color);
      font-size: 18px;
      font-weight: 600;
      background: var(--background-primary);
      &::before {
        content: "";
        display: block;
        width: 20px;
        height: 20px;
        aspect-ratio: 1/1;
        background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2221%22%20height%3D%2221%22%20viewBox%3D%220%200%2021%2021%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M18%205.99089C18%205.51043%2017.9989%205.19999%2017.9797%204.96387C17.9612%204.73755%2017.9298%204.65351%2017.9089%204.61231C17.829%204.45567%2017.7017%204.32841%2017.5451%204.24854C17.5039%204.22755%2017.4198%204.19624%2017.1935%204.17774C16.9574%204.15845%2016.647%204.15739%2016.1665%204.15739H15.8337C14.8866%204.15739%2014.2261%204.15773%2013.7121%204.19971C13.2078%204.24091%2012.9175%204.31819%2012.6981%204.43002C12.2279%204.66966%2011.8456%205.05195%2011.606%205.52214C11.4941%205.7416%2011.4169%206.03183%2011.3757%206.53614C11.3547%206.79318%2011.3444%207.08682%2011.339%207.43457L11.3333%208.65772V15.916C11.7499%2015.5797%2012.2271%2015.3262%2012.7396%2015.1706C13.3595%2014.9823%2014.0292%2014.9907%2015.0207%2014.9907H16.1665C16.647%2014.9907%2016.9574%2014.9897%2017.1935%2014.9704C17.4198%2014.9519%2017.5039%2014.9206%2017.5451%2014.8996C17.7017%2014.8197%2017.829%2014.6925%2017.9089%2014.5358C17.9298%2014.4946%2017.9612%2014.4106%2017.9797%2014.1842C17.9989%2013.9481%2018%2013.6377%2018%2013.1572V5.99089ZM3%2013.1572C3%2013.6377%203.00105%2013.9481%203.02034%2014.1842C3.03884%2014.4106%203.07015%2014.4946%203.09114%2014.5358C3.17101%2014.6925%203.29827%2014.8197%203.45491%2014.8996C3.49611%2014.9206%203.58015%2014.9519%203.80648%2014.9704C4.04259%2014.9897%204.35303%2014.9907%204.83349%2014.9907H5.97933C6.97084%2014.9907%207.64049%2014.9823%208.26042%2015.1706C8.7729%2015.3262%209.25012%2015.5797%209.66667%2015.916V8.65772C9.66667%207.71069%209.66633%207.05014%209.62435%206.53614C9.58315%206.03183%209.50586%205.7416%209.39404%205.52214C9.1544%205.05195%208.77211%204.66966%208.30192%204.43002C8.08246%204.31819%207.79223%204.24091%207.28792%204.19971C6.77392%204.15773%206.11337%204.15739%205.16634%204.15739H4.83349C4.35303%204.15739%204.04259%204.15845%203.80648%204.17774C3.58015%204.19624%203.49611%204.22755%203.45491%204.24854C3.29827%204.32841%203.17101%204.45567%203.09114%204.61231C3.07015%204.65351%203.03884%204.73755%203.02034%204.96387C3.00105%205.19999%203%205.51043%203%205.99089V13.1572ZM19.6667%2013.1572C19.6667%2013.6102%2019.6676%2014.0004%2019.6414%2014.3202C19.6145%2014.6495%2019.5547%2014.9774%2019.394%2015.2926C19.1544%2015.7628%2018.7721%2016.1451%2018.3019%2016.3848C17.9867%2016.5454%2017.6588%2016.6052%2017.3294%2016.6322C17.0097%2016.6583%2016.6195%2016.6574%2016.1665%2016.6574H15.0207C13.9255%2016.6574%2013.551%2016.6662%2013.2238%2016.7656C12.9095%2016.8611%2012.6174%2017.0177%2012.3636%2017.2262C12.0994%2017.4434%2011.884%2017.7495%2011.2764%2018.661L11.1934%2018.7863C11.0388%2019.0181%2010.7786%2019.1574%2010.5%2019.1574C10.2214%2019.1574%209.96119%2019.0181%209.80664%2018.7863L9.72363%2018.661C9.11598%2017.7495%208.90062%2017.4434%208.63639%2017.2262C8.38263%2017.0177%208.09046%2016.8611%207.7762%2016.7656C7.44897%2016.6662%207.07455%2016.6574%205.97933%2016.6574H4.83349C4.38054%2016.6574%203.9903%2016.6583%203.67057%2016.6322C3.34119%2016.6052%203.01333%2016.5454%202.69808%2016.3848C2.22789%2016.1451%201.8456%2015.7628%201.60596%2015.2926C1.44533%2014.9774%201.38549%2014.6495%201.35856%2014.3202C1.33244%2014.0004%201.33333%2013.6102%201.33333%2013.1572V5.99089C1.33333%205.53793%201.33244%205.14769%201.35856%204.82797C1.38549%204.49858%201.44533%204.17072%201.60596%203.85547C1.8456%203.38529%202.22789%203.003%202.69808%202.76335C3.01333%202.60272%203.34119%202.54288%203.67057%202.51595C3.9903%202.48983%204.38054%202.49073%204.83349%202.49073H5.16634C6.08599%202.49073%206.82619%202.48991%207.42383%202.53874C8.03108%202.58836%208.56445%202.69345%209.05794%202.94483C9.62777%203.23517%2010.1201%203.65154%2010.5%204.15821C10.8799%203.65154%2011.3722%203.23517%2011.9421%202.94483C12.4356%202.69345%2012.9689%202.58836%2013.5762%202.53874C14.1738%202.48991%2014.914%202.49073%2015.8337%202.49073H16.1665C16.6195%202.49073%2017.0097%202.48983%2017.3294%202.51595C17.6588%202.54288%2017.9867%202.60272%2018.3019%202.76335C18.7721%203.003%2019.1544%203.38529%2019.394%203.85547C19.5547%204.17072%2019.6145%204.49858%2019.6414%204.82797C19.6676%205.14769%2019.6667%205.53793%2019.6667%205.99089V13.1572Z%22%20fill%3D%22%23667E90%22%2F%3E%3C%2Fsvg%3E') no-repeat left center;
      }
    }
    .fetch-articles {
      display: flex;
      flex-direction: column;
      gap: 20px;
      a {
        display: flex;
        flex-direction: column;
        gap: 4px;
        .comment {
          position: relative;
          border-radius: 4px;
          background: var(--tertiary-color);
          padding: 4px 6px;
          color: var(--white);
          &::after {
            position: absolute;
            bottom: -10px;
            width: 12px;
            height: 12px;
            left: 20px;
            content: "";
            background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2210%22%20height%3D%229%22%20viewBox%3D%220%200%2010%209%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M4.13397%207.82422C4.51887%208.49089%205.48113%208.49089%205.86603%207.82422L9.33013%201.82422C9.71503%201.15755%209.2339%200.324219%208.4641%200.324219H1.5359C0.766098%200.324219%200.284973%201.15755%200.669873%201.82422L4.13397%207.82422Z%22%20fill%3D%22%23667E90%22%2F%3E%3C%2Fsvg%3E') no-repeat 0 0;
          }
        }
        .fetch-articles-item {
          display: flex;
          gap: 10px;
          img {
            width: 100px;
          }
        }
      }
    }
  }
}

/* box2 */
#box2 {
  float: right;
  width: 300px;
  background-color: var(--white);
  padding: 20px;
  box-sizing: border-box;
}
@media (max-width: 1024px) {
  #box2 {
    float: none;
    width: 100%;
  }
}
#box2 .hatena-module {
  border-bottom: 4px solid var(--border-dark);
  margin-bottom: 20px;
  padding-bottom: 20px;
}
#box2 .hatena-module-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
}
#box2 .listen-about-container .listen-about-image {
  background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817134129.png');
  background-size: 214px 100px;
  width: 214px;
  height: 100px;
  margin: 0 auto 20px;
}
#box2 .listen-about-container p {
  font-size: 12px;
  line-height: 1.5;
  color: var(--secondary-color);
}
#box2 .listen-about-container a {
  position: relative;
  display: block;
  width: 150px;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  padding: 8px 0;
  border: 1px solid var(--secondary-color);
  color: var(--secondary-color);
  border-radius: 4px;
  margin: auto;
}
#box2 .listen-about-container a::after {
  position: absolute;
  right: 20px;
  top: 0;
  bottom: 0;
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 1px solid var(--secondary-color);
  border-right: 1px solid var(--secondary-color);
  transform: rotate(45deg);
  transition: .3s;
}
#box2 .listen-about-container a:hover {
  background: var(--secondary-color);
  color: var(--white);
}
#box2 .listen-about-container a:hover::after {
  right: 18px;
  border-color: var(--white);
}
#box2 .hatena-module-recent-entries ul,
#box2 .hatena-module-entries-access-ranking ul {
  margin: 0;
  padding: 0;
}
#box2 .hatena-module-recent-entries li,
#box2 .hatena-module-entries-access-ranking li {
  padding-bottom: 20px;
  border-bottom: 1px solid var(--muted-steel);
  margin-bottom: 20px;
  list-style: none;
}
#box2 .hatena-module-recent-entries li:last-child,
#box2 .hatena-module-entries-access-ranking li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
#box2 .hatena-module-recent-entries .urllist-image,
#box2 .hatena-module-entries-access-ranking .urllist-image {
  margin: 0 10px 0 0;
}
#box2 .hatena-module-recent-entries .urllist-item-inner,
#box2 .hatena-module-entries-access-ranking .urllist-item-inner {
  height: 70px;
  overflow: hidden;
}
#box2 .hatena-module-recent-entries .urllist-title,
#box2 .hatena-module-entries-access-ranking .urllist-title {
  display: block;
  font-size: 16px;
  line-height: 1.5;
  font-weight: bold;
  color: var(--secondary-color);
  height: 70px;
}
#box2 .hatena-module-search-box .hatena-module-title {
  display: none;
}
#box2 .hatena-module-search-box .hatena-module-body .search-form {
  position: relative;
}
#box2 .hatena-module-search-box .hatena-module-body .search-form .search-module-input {
  border: 3px solid var(--muted-steel);
  background-color: var(--alice-blue);
  width: 100%;
  height: 40px;
  border-radius: 20px;
  box-sizing: border-box;
  padding-left: 20px;
}
#box2 .hatena-module-search-box .hatena-module-body .search-form .search-module-button {
  position: absolute;
  padding: 0;
  border: 0;
  top: 0;
  right: 8px;
  height: 40px;
  width: 40px;
  background: transparent url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817114115.png');
  background-size: 40px 40px;
  background-repeat: no-repeat;
  text-indent: 100%;
  line-height: 40px;
  white-space: nowrap;
  overflow: hidden;
}
#box2 #banner {
  width: 90%;
  margin: 0 auto;
}
#box2 #banner .listen-sidebar-banner {
  margin-bottom: 16px;
}
@media (max-width: 1024px) {
  #box2 #banner .listen-sidebar-banner {
    display: inline-block;
    width: 30%;
    margin-right: 10px;
  }
}
@media (max-width: 767px) {
  #box2 #banner .listen-sidebar-banner {
    display: none;
  }
}
#box2 #banner-sp {
  width: 100%;
  margin: 0 auto;
}
#box2 #banner-sp .listen-sidebar-banner {
  display: none;
}
@media (max-width: 767px) {
  #box2 #banner-sp .listen-sidebar-banner {
    display: block;
    width: 100%;
    margin: 0 0 16px;
  }
}
#bottom-editarea #footer {
  width: 100%;
  border-top: 4px solid var(--border-dark);
  padding: 40px 0;
}
@media (max-width: 530px) {
  #bottom-editarea #footer {
    display: none;
  }
}
#bottom-editarea #footer .foot-inner {
  width: 980px;
  margin: 0 auto;
  *zoom: 1;
}
#bottom-editarea #footer .foot-inner:before,
#bottom-editarea #footer .foot-inner:after {
  display: table;
  content: " ";
}
#bottom-editarea #footer .foot-inner:after {
  clear: both;
}
@media (max-width: 1024px) {
  #bottom-editarea #footer .foot-inner {
    width: 740px;
  }
}
@media (max-width: 767px) {
  #bottom-editarea #footer .foot-inner {
    width: 500px;
  }
}
#bottom-editarea #footer .foot-inner .top {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 30px 0;
}
@media (max-width: 767px) {
  #bottom-editarea #footer .foot-inner .top {
    font-size: 14px;
  }
}
#bottom-editarea #footer .foot-inner .column {
  float: left;
  margin-right: 40px;
  width: calc(33.333% - 28px);
}
#bottom-editarea #footer .foot-inner .column dl {
  margin: 0;
}
#bottom-editarea #footer .foot-inner .column dl dt {
  margin: 0 0 10px;
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--muted-steel);
}
@media (max-width: 767px) {
  #bottom-editarea #footer .foot-inner .column dl dt {
    font-size: 14px;
  }
}
#bottom-editarea #footer .foot-inner .column dl dd {
  margin: 0 0 8px 0;
  font-size: 14px;
}
#bottom-editarea #footer .foot-inner .column dl dd a {
  color: var(--secondary-color);
}
#bottom-editarea #footer .foot-inner .column dl dd a:hover {
  color: var(--link-hover);
}
#bottom-editarea #footer .foot-inner .column dl dd:last-child {
  margin: 0;
}
#bottom-editarea #footer .foot-inner .col03 {
  margin: 0;
}
#bottom-editarea #footer .foot-nav {
  width: 980px;
  margin: 40px auto;
  border: 1px solid var(--muted-steel);
  border-style: solid none;
}
@media (max-width: 1024px) {
  #bottom-editarea #footer .foot-nav {
    width: 740px;
  }
}
@media (max-width: 767px) {
  #bottom-editarea #footer .foot-nav {
    width: 500px;
  }
}
#bottom-editarea #footer .foot-nav .cf {
  *zoom: 1;
  height: 20px;
}
#bottom-editarea #footer .foot-nav .cf:before,
#bottom-editarea #footer .foot-nav .cf:after {
  display: table;
  content: " ";
}
#bottom-editarea #footer .foot-nav .cf:after {
  clear: both;
}
@media (max-width: 1024px) {
  #bottom-editarea #footer .foot-nav .cf {
    height: auto;
    margin: 16px 0 0;
    text-align: center;
  }
}
#bottom-editarea #footer .foot-nav .cf li {
  float: left;
  padding-left: 10px;
  margin-right: 10px;
  border-left: 1px solid var(--border-dark);
  font-size: 12px;
  list-style: none;
}
@media (max-width: 1024px) {
  #bottom-editarea #footer .foot-nav .cf li {
    margin-bottom: 10px;
    float: none;
    display: inline-block;
    padding-left: 16px;
    margin-right: 16px;
  }
}
#bottom-editarea #footer .foot-nav .cf li:first-child {
  padding: 0;
  border: 0;
}
#bottom-editarea #footer .copyright .foot-inner {
  *zoom: 1;
  position: relative;
  height: 60px;
}
#bottom-editarea #footer .copyright .foot-inner:before,
#bottom-editarea #footer .copyright .foot-inner:after {
  display: table;
  content: " ";
}
#bottom-editarea #footer .copyright .foot-inner:after {
  clear: both;
}
#bottom-editarea #footer .copyright .foot-inner .copy {
  margin: 0;
}
#bottom-editarea #footer .copyright .foot-inner .copy .eaidem-logo-container .eaidem-logo {
  width: 140px;
  height: 30px;
  background: transparent url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817114113.png');
  background-size: 140px 30px;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  left: 0;
  text-indent: 100%;
  line-height: 30px;
  white-space: nowrap;
  overflow: hidden;
}
@media (max-width: 1024px) {
  #bottom-editarea #footer .copyright .foot-inner .copy .eaidem-logo-container .eaidem-logo {
    display: none;
  }
}
#bottom-editarea #footer .copyright .foot-inner .txt {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0;
  font-size: 12px;
  color: var(--secondary-color);
  text-align: right;
}
@media (max-width: 1024px) {
  #bottom-editarea #footer .copyright .foot-inner .txt {
    float: none;
    width: 100%;
    text-align: center;
  }
}
#bottom-editarea #footer .copyright .foot-inner .txt .txt-eaidem {
  display: inline-block;
  margin-top: 10px;
}
#bottom-editarea #footer-sp {
  display: none;
}
@media (max-width: 530px) {
  #bottom-editarea #footer-sp {
    display: block;
  }
}
#bottom-editarea #footer-sp .foot-nav {
  font-size: 14px;
  font-weight: bold;
}
#bottom-editarea #footer-sp .foot-nav dt,
#bottom-editarea #footer-sp .foot-nav dd,
#bottom-editarea #footer-sp .foot-nav dl {
  margin: 0;
}
#bottom-editarea #footer-sp .foot-nav dt,
#bottom-editarea #footer-sp .foot-nav dd {
  display: block;
  border-bottom: 1px solid var(--border-light);
  min-height: 20px;
}
#bottom-editarea #footer-sp .foot-nav dt {
  padding: 10px 20px;
}
#bottom-editarea #footer-sp .foot-nav dd {
  background-color: var(--white);
  position: relative;
}
#bottom-editarea #footer-sp .foot-nav img {
  width: auto;
  height: 20px;
}
#bottom-editarea #footer-sp .foot-nav a {
  display: block;
  padding: 10px 20px;
}
#bottom-editarea #footer-sp .foot-nav .arrow {
  position: absolute;
  right: 20px;
  top: 12px;
}
#bottom-editarea #footer-sp .copyright .copy {
  display: block;
  font-size: 12px;
  text-align: center;
  color: var(--white);
  background-color: var(--link-primary);
  padding: 10px 20px;
  height: 20px;
  margin: 0;
}
.entry {
  background-color: var(--white);
  padding: 30px;
  position: relative;
  @media (max-width: 530px) {
      padding: 20px 16px;
  }
  .entry-inner {
    padding-bottom: 20px;
    border-bottom: 4px solid var(--border-dark);
    .entry-header {
      display: flex;
      flex-direction: column;
      .entry-date {
        order: 2;
        font-size: 12px;
        line-height: 1;
        margin-bottom: 8px;
        @media (width > 530px) {
          margin-bottom: 20px;
        }
        a {
          color: var(--tertiary-color);
        }
      }
      .entry-title {
        order: 1;
        font-size: 28px;
        line-height: 1.5;
        margin: 0 0 16px;
        @media (max-width: 767px) {
            font-size: 24px;
        }
        @media (max-width: 530px) {
          font-size: 20px;
        }
      }
      .entry-categories {
        display: none;
      }
      .entry-header-menu a {
        position: absolute;
        top: 20px;
        right: 20px;
        font-size: 14px;
        color: var(--secondary-color);
        font-weight: bold;
        display: block;
        padding: 4px 8px;
        border: 1px solid var(--secondary-color);
        border-radius: 3px;
        &:hover {
          background-color: var(--secondary-color);
          color: var(--white);
        }
      }
    }
  }
}
.entry-footer-related-entries-heading {
  margin: 1em 0 .8em;
  font-size: 17px;
}
.pager {
  background-color: var(--white);
  padding: 0 30px 30px;
  *zoom: 1;
}
@media (max-width: 767px) {
  .pager {
    padding: 0 10px 20px;
  }
}
.pager:before,
.pager:after {
  display: table;
  content: " ";
}
.pager:after {
  clear: both;
}
.pager .pager-prev {
  display: block;
  float: left;
  width: 45%;
  padding-left: 30px;
  background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160819/20160819190923.png');
  background-size: 30px 30px;
  background-repeat: no-repeat;
  background-position: left;
  min-height: 30px;
}
@media (max-width: 767px) {
  .pager .pager-prev {
    width: 35%;
  }
}
.pager .pager-next {
  float: right;
  display: block;
  width: 42%;
  text-align: right;
  padding-right: 30px;
  background-image: url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160818/20160818122522.png');
  background-size: 30px 30px;
  background-repeat: no-repeat;
  background-position: right;
  min-height: 30px;
}
@media (max-width: 767px) {
  .pager .pager-next {
    width: 35%;
  }
}
.pager .pager-arrow {
  display: none;
}
.pager .pager-prev,
.pager .pager-next a {
  color: var(--tertiary-color);
  font-size: 14px;
  line-height: 1.6;
  font-weight: bold;
}
.entry-content {
  font-size: 15px;
  line-height: 1.6;
  color: var(--primary-color);
  margin-bottom: 30px;
}
.entry-content a {
  color: var(--link-primary);
  padding-bottom: 2px;
  border-bottom: 1px dotted var(--border-light);
}
.entry-content a:hover {
  background-color: var(--background-primary);
  color: var(--link-hover);
}
.entry-content p {
  margin: 0 0 1.5em 0;
  line-height: 1.6;
}
.entry-content hr {
  border: 0;
  border-bottom: solid 1px var(--divider);
  margin: 20px 0;
}
.entry-content img {
  max-width: 100%;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  margin: 1.3em 0 0.8em 0;
  line-height: 1.5;
  color: var(--primary-color);
}
.entry-content h1 {
  border-left: solid 8px var(--magic-mint);
  padding-left: 16px;
  font-size: 160%;
}
.entry-content h2 {
  border-left: solid 8px var(--magic-mint);
  padding-left: 16px;
  font-size: 150%;
}
.entry-content h3 {
  border-left: solid 8px #a6f0e0;
  padding-left: 16px;
  font-size: 140%;
}
.entry-content h4 {
  border-left: solid 6px #a6f0e0;
  padding-left: 16px;
  font-size: 130%;
}
.entry-content h5 {
  font-size: 110%;
}
.entry-content h6 {
  font-size: 100%;
}
.entry-content table {
  border-collapse: collapse;
  border-spacing: 0;
  margin-bottom: 1em;
}
.entry-content table img {
  max-width: none;
}
.entry-content table th,
.entry-content table td {
  border: 1px solid var(--divider);
  padding: 5px 10px;
}
.entry-content table th {
  background: var(--alice-blue);
}
.entry-content blockquote {
  border: 0;
  border-radius: 8px;
  background-color: var(--alice-blue);
  margin: 0 0 10px;
  padding: 20px;
}
.entry-content blockquote p {
  margin-top: 0;
  margin-bottom: 0;
}
.entry-content pre {
  border: 1px solid var(--muted-steel);
  margin: 0 0 10px;
  padding: 20px;
  white-space: pre;
}
.entry-content pre > code {
  margin: 0;
  padding: 0;
  white-space: pre;
  border: 0;
  background: transparent;
  font-family: 'Monaco', 'Consolas', 'Courier New', Courier, monospace, sans-serif;
}
.entry-content code {
  font-size: 90%;
  margin: 0 2px;
  padding: 0 5px;
  border: 1px solid #eaeaea;
  background-color: #f8f8f8;
  border-radius: 3px;
  font-family: 'Monaco', 'Consolas', 'Courier New', Courier, monospace, sans-serif;
}
@media (max-width: 530px) {
  .entry-content ul,
  .entry-content ol {
    padding-left: 20px;
  }
}
.entry-content .hatena-asin-detail li {
  line-height: 1.4;
}
.interviewer {
  font-weight: bold;
  color: var(--primary-color);
  line-height: 1.6;
  margin-top: 40px;
  margin-bottom: 24px;
  background: var(--background-primary);
  padding: 12px;
}
.interviewer:before {
  content: "――";
  letter-spacing: -2px;
  margin-right: 6px;
}
.intro {
  padding: 20px;
  font-size: 13px;
  line-height: 1.6;
  border: 1px dashed var(--muted-steel);
  border-radius: 6px;
}
.intro p:last-child {
  margin: 0;
}
.entry-content .ss-border {
  display: block;
  width: 85%;
  height: auto;
  margin: 0 auto;
  border: 1px solid var(--muted-steel);
}
.archive-heading {
  margin: 0 0 30px;
}
.archive-entries .archive-entry {
  background-color: var(--white);
  padding: 20px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--border-light);
}
.archive-entries .archive-entry:last-child {
  margin: 0;
}
@media (max-width: 767px) {
  .archive-entries .archive-entry {
    padding: 20px 20px 10px;
  }
}
.archive-entries .archive-entry .archive-entry-header .date {
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
}
.archive-entries .archive-entry .archive-entry-header .date:before {
  content: " ";
  display: inline-block;
  width: 40px;
  height: 8px;
  margin-right: 6px;
  background-color: var(--background-category);
}
.archive-entries .archive-entry .archive-entry-header .entry-title {
  display: block;
  margin-bottom: 16px;
  font-size: 20px;
  line-height: 1.4;
  font-weight: bold;
  min-height: 28px;
  max-height: 80px;
  overflow: hidden;
}
.archive-entries .archive-entry .archive-entry-header .entry-title:visited {
  color: var(--primary-color);
}
@media (max-width: 767px) {
  .archive-entries .archive-entry .archive-entry-header .entry-title {
    font-size: 18px;
    max-height: 75px;
  }
}
.archive-entries .archive-entry .entry-thumb {
  margin-right: 20px;
}
@media (max-width: 767px) {
  .archive-entries .archive-entry .entry-thumb {
    width: 100px;
    height: 100px;
  }
}
.archive-entries .archive-entry .archive-entry-body .entry-description {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  color: var(--tertiary-color);
}
@media (max-width: 767px) {
  .archive-entries .archive-entry .archive-entry-body .entry-description {
    height: 85px;
    overflow: hidden;
  }
}
.archive-entries .archive-entry .archive-entry-body .social-buttons {
  display: block;
  margin-top: 10px;
}
@media (max-width: 767px) {
  .archive-entries .archive-entry .archive-entry-body .social-buttons {
    display: none;
  }
}
.breadcrumb {
  width: 980px;
  margin: 0 auto 20px!important;
  background-color: var(--white);
  padding: 16px;
  box-sizing: border-box;
}
@media (max-width: 1024px) {
  .breadcrumb {
    width: 740px;
  }
}
@media (max-width: 767px) {
  .breadcrumb {
    width: 500px;
  }
}
@media (max-width: 530px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb .breadcrumb-inner {
  font-size: 12px;
}
.search-result-form {
  position: relative;
  border: 3px solid var(--muted-steel);
  background-color: var(--alice-blue);
  width: 100%;
  height: 40px;
  border-radius: 20px;
  box-sizing: border-box;
  padding-left: 10px;
}
.search-result-form .search-result-input {
  height: 25px;
}
.search-result-form .search-result-button {
  position: absolute;
  padding: 0;
  border: 0;
  top: -2px;
  right: 4px;
  height: 40px;
  width: 40px;
  background: transparent url('https://cdn-ak.f.st-hatena.com/images/fotolife/e/eaidem/20160817/20160817114115.png');
  background-size: 40px 40px;
  background-repeat: no-repeat;
  text-indent: 100%;
  line-height: 40px;
  white-space: nowrap;
  overflow: hidden;
}
.entry-footer-section {
  display: none;
}

/* 記事詳細ページ用 */
.page-entry {
  .entry-content h1 {
    font-size: 200%;
  }
  .entry-content h2 {
    font-size: 180%;
  }
  .entry-content h3 {
    font-size: 150%;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--muted-steel);
    border-left: none;
    padding-left: 0;
  }
  .entry-content h4 {
    display: flex;
    gap: 8px;
    font-size: 130%;
    padding-left: 0;
    border-left: none;
    &::before {
      content: "●";
      color: var(--tertiary-color);
    }
  }
}

/* 追従バナー */
#bottom-editarea {
  @media (width < 767px){
    padding-bottom: calc(100vw * 5 / 32);
    .pc-bn{
      display: none;
    }
  }
  .sticky-banner {
    display: none;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    @media (width > 767px){
      right: 20px;
      bottom: 20px;
      width: auto;
    }
    @media (width > 1700px){
      right: calc(50% - 835px);
    }
    .banner-close {
      z-index: 1;
      position: absolute;
      left: 0;
      top: 0;
      background: transparent;
      border: none;
      @media (width > 767px){
        left: auto;
        right: -16px;
        top: -16px;
      }
      svg {
        width: 40px;
        height: 40px;
        transition: opacity .15s linear;
        &:hover {
          opacity: .7;
        }
      }
    }
    a {
      display: inline-block;
      box-shadow: 0 0 8px 0px var(--link-primary);
      background: var(--white);
      vertical-align: bottom;
      @media (width < 767px){
        width: 100%;
        box-shadow: 0px 0px 8px 0px var(--link-primary);
      }
      img {
        width: 100%;
        vertical-align: bottom;
        transition: opacity .15s linear;
        @media (width > 767px){
          width: 302px;
        }
        &:hover {
          opacity: .7;
        }
      }
    }
    .sp-bn {
      display: none;
      @media (width < 767px){
        display: block;
      }
    }
  }
}

/* 手動記事取得 */
.manual-related-section {
  margin-block: 3em;
  .manual-related-heading {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 0;
    margin-bottom: 1em;
    p {
      border-left: solid 8px var(--magic-mint);
      padding-left: 16px;
      font-size: 130%;
      font-weight: 600;
      margin: 0;
    }
    a {
      position: relative;
      display: flex;
      gap: 10px;
      color: var(--tertiary-color);
      font-size: 14px;
      font-weight: 600;
      border-bottom: none;
      align-items: center;
      margin-left: auto;
      transition: opacity .3s;
      padding-right: 20px;
      &::after {
        position: absolute;
        right: 2px;
        display: inline-block;
        content: "";
        width: 14px;
        height: 14px;
        background-size: 14px;
        background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%3E%20%3Cpath%20d%3D%22M4.83757%203.0876C5.06538%202.8598%205.43464%202.8598%205.66244%203.0876L9.16244%206.5876C9.39025%206.81541%209.39025%207.18467%209.16244%207.41247L5.66244%2010.9125C5.43464%2011.1403%205.06538%2011.1403%204.83757%2010.9125C4.60977%2010.6847%204.60977%2010.3154%204.83757%2010.0876L7.92514%207.00004L4.83757%203.91247C4.60977%203.68467%204.60977%203.31541%204.83757%203.0876Z%22%20fill%3D%22%23667E90%22%2F%3E%3C%2Fsvg%3E') no-repeat 100% 50%;
        transition: right .3s;
      }
      &:hover {
        background: transparent;
        opacity: .7;
        &::after {
          right: 0;
        }
      }
    }
  }
  .manual-related-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    @media (width > 767px) {
      flex-direction: row;
      gap: 20px;
    }
    a {
      display: flex;
      font-weight: 600;
      gap: 4px 8px;
      padding-block: 10px;
      color: var(--primary-color);
      &:first-child {
        border-top: 1px dotted var(--border-light);
      }
      @media (width > 767px) {
        width: 33%;
        flex-direction: column;
        border-bottom: none;
        transition: opacity .15s linear;
        padding-block: 0;
        &:first-child {
          border-top: none;
        }
      }
      &:hover {
        background: transparent;
        opacity: .7;
      }
      .img {
        flex: 40%;
        @media (width > 767px) {
          flex: 1;
        }
        img {
          width: 100%;
          aspect-ratio: 1.9/1;
          object-fit: cover;
        }
      }
      p {
        flex: 60%;
        margin-bottom: 0;
        overflow-wrap: anywhere;
        @media (width > 767px) {
          flex: auto;
        }
      }
    }
  }
}

/* 記事下 りっすんとは？ */
.hatena-module-custom-media-about {
  .hatena-module-body {
    position: relative;
    display: flex;
    width: 100%;
    padding-top: 30px;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    border: 1px solid var(--border-light);
    background: var(--white);
    overflow: hidden;
    @media (width > 767px) {
      flex-direction: row;
      box-sizing: border-box;
      padding-top: 0;
      align-items: stretch;
    }
    &::before {
      position: absolute;
      top: 0;
      left: 0;
      content: "";
      width: 100%;
      height: 109px;
      background: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, #F6E9E1 100%);
    }
    .media-about-heading {
      z-index: 1;
      @media (width > 767px) {
        padding: 30px 0 30px 30px;
      }
      .button {
        a {
          position: relative;
          display: flex;
          padding: 10px 8px 10px 16px;
          justify-content: center;
          align-items: center;
          align-self: stretch;
          border-radius: 999px;
          background: var(--alabaster);
          font-weight: 600;
          transition: opacity .3s;
          &::after {
            position: absolute;
            display: inline-block;
            content: "";
            right: 8px;
            width: 16px;
            height: 16px;
            background-size: 16px;
            background: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%20%3Cg%20clip-path%3D%22url(%23clip0_2631_380)%22%3E%20%3Cpath%20d%3D%22M5.72665%2011.06L8.77999%208L5.72665%204.94L6.66665%204L10.6667%208L6.66665%2012L5.72665%2011.06Z%22%20fill%3D%22%23002846%22%2F%3E%20%3C%2Fg%3E%20%3Cdefs%3E%20%3CclipPath%20id%3D%22clip0_2631_380%22%3E%20%3Crect%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22white%22%2F%3E%20%3C%2FclipPath%3E%20%3C%2Fdefs%3E%3C%2Fsvg%3E') no-repeat 100% 50%;
            transition: right .3s;
          }
          &:hover {
            opacity: .7;
            &::after {
              right: 6px;
            }
          }
        }
      }
    }
    .media-about-sns {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
      @media (width > 767px) {
        width: 60%;
        position: relative;
        z-index: 1;
        justify-content: flex-end;
      }
      p {
        margin-block: 0;
      }
      .heading {
        color: var(--primary-color);
        text-align: center;
        font-size: 16px;
        font-weight: 600;
        line-height: 150%;
      }
      ul {
        display: flex;
        gap: 24px;
        list-style: none;
        padding-left: 0;
        margin-block: 0;
        li {
          a {
            display: flex;
            width: 40px;
            height: 40px;
            justify-content: center;
            align-items: center;
            gap: 10px;
            border-radius: 999px;
            border: 1px solid var(--border-nav);
            background: var(--white);
            transition: opacity .2s;
            &:hover {
              opacity: .5;
            }
          }
        }
      }
      .about-image {
        img {
          width: 100%;
        }
      }
    }
  }
}

/* 記事を探す */
.hatena-module-custom-search-article-box {
  .hatena-module-body {
    position: relative;
    display: flex;
    margin-block: 24px;
    padding: 40px 20px 24px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    border-radius: 10px;
    background: var(--background-primary);
    @media (width > 768px) {
      margin-block: 16px 40px;
    }
    &::before {
      position: absolute;
      content: "";
      background: url(https://cdn.blog.st-hatena.com/files/6653812171401915351/6802340630907027907) no-repeat top center;
      background-size: contain;
      width: 40px;
      height: 42px;
      top: -16px;
    }
    p {
      color: var(--primary-color);
      text-align: center;
      font-size: 20px;
      font-weight: 700;
      line-height: 1.75;
      margin-block: 0;
    }
    ul {
      width: 100%;
      display: flex;
      flex-direction: column;
      gap: 12px;
      justify-content: center;
      list-style: none;
      margin: 0;
      padding: 0;
      flex-wrap: wrap;
      @media (width > 768px) {
        flex-direction: row;
        width: 100%;
      }
      li {
        @media (width > 768px) {
          flex: 1;
        }
        a {
          width: 100%;
          box-sizing: border-box;
          position: relative;
          display: flex;
          margin: auto;
          padding: 12px 20px;
          justify-content: center;
          align-items: center;
          border-radius: 100px;
          border: 1px solid var(--border-dark);
          background: var(--white);
          color: var(--primary-color);
          font-size: 16px;
          font-weight: bold;
          transition: .3s;
          &::after {
            position: absolute;
            right: 4px;
            content: "";
            display: inline-block;
            width: 5px;
            height: 5px;
            margin: 0 10px;
            border-top: 1px solid var(--primary-color);
            border-right: 1px solid var(--primary-color);
            transform: rotate(45deg);
            transition: right .3s;
          }
          &:hover {
            background-position: right center;
            opacity: .7;
            &::after {
              right: 2px;
            }
          }
        }
      }
    }
  }
}

/* 運営 */
.hatena-module-custom-operating-company-box {
  .hatena-module-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px 20px;
    flex-wrap: wrap;
    margin-block: 24px;
    @media (width > 768px) {
      flex-direction: row;
      margin-block: 40px;
    }
    p {
      font-size: 18px;
      font-weight: bold;
      margin-block: 0;
    }
    ul {
      display: flex;
      gap: 10px;
      list-style: none;
      margin: 0;
      padding: 0;
      align-self: stretch;
      @media (width > 768px) {
        gap: 20px;
      }
      li {
        flex: 1;
        &:first-child {
          a {
            img {
              width: 68px;
            }
            &:hover {
              img {
                width: 72px;
              }
            }
          }
        }
        &:last-child {
          a {
            img {
              width: 100px;
            }
            &:hover {
              img {
                width: 104px;
              }
            }
          }
        }
        a {
          position: relative;
          display: flex;
          width: 100%;
          height: 50px;
          justify-content: center;
          align-items: center;
          border-radius: 6px;
          font-weight: bold;
          border: 1px solid var(--border-light);
          background: var(--white);
          transition: .3s;
          @media (width > 768px) {
            width: 200px;
          }
          &:hover {
            opacity: .6;
          }
          &::after {
            position: absolute;
            content: "";
            background: url(https://cdn.blog.st-hatena.com/files/6653812171401915351/6802340630907302113) no-repeat right center;
            width: 10px;
            height: 10px;
            background-size: contain;
            right: 12px;
          }
          img {
            transition: .3s;
          }
        }
      }
    }
  }
}

/* aboutページ */
.page-about {
    dt {
        font-size: 16px;
        font-weight: bold;
        border-bottom: 1px solid #dfdfdf;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }
    dd {
        margin-left: 0;
        margin-bottom: 30px;
    }
    #top-editarea {
        margin-bottom: 0;
    }
    #top-box {
        @media (width <= 530px) { /* デフォルトcssをaboutページ用に調整 */
            padding-top: 120px;
        }
        .breadcrumb {
            display: none;
        }
    }
    #content {
        width: 100%;
        @media (width > 768px) {
            padding-top: 0;
        }
        #main {
            width: auto;
            float: none;
            .entry {
                background-color: transparent;
                padding: 0;
            }
        }
    }
    .entry-content {
        h1, h2, h3, h4, h5, h6 { /* デフォルトcssリセット */
            border-left: none;
            padding-left: 0;
            margin: 0;
        }
        p {
            line-height: 1.75;
        }
    }
    #box2 {
        display: none;
    }
    /* コンテンツ詳細 */
    h2 {
        img {
            max-width: none;
            width: 100%;
            margin: auto;
            @media (width > 768px) {
                max-width: 1090px;
            }
        }
    }
    .main-wrapper {
        overflow-x: hidden;
    }
    .lead-box {
        position: relative;
        padding: 0 20px;
        font-size: 12px;
        color: var(--secondary-color);
        @media (width > 768px) {
            margin-top: 40px;
            text-align: center;
        }
        h3 {
            margin-bottom: 24px;
            img {
                margin: auto;
                width: clamp(16.25rem, -4.643rem + 89.14vw, 45.5rem);
            }
        }
        p {
            font-size: clamp(0.75rem, 0.616rem + 0.57vw, 0.938rem);
        }

    }
    .point-section {
        position: relative;
        margin-top: 120px;
        padding: 0 20px;
        @media (width > 768px) {
            max-width: clamp(45.5rem, -2.5rem + 100vw, 53.75rem);
            margin: auto;
            padding: 0;
        }
        h4 {
            margin-bottom: 40px;
            text-align: center;
            @media (width > 768px) {
                margin-bottom: 0;
            }
        }
        .point-box {
            @media (width > 768px) {
                display: flex;
                width: 400px;
                flex-direction: column;
                align-items: center;
                gap: 24px;
                margin: 128px 0 56px 0;
            }
            h4 {
                z-index: 1;
            }
            .image-box {
                margin: 0 -20px 40px;
                text-align: center;
                @media (width > 768px) {
                    position: absolute;
                    margin-bottom: 0;
                }
                img {
                    height: 400px;
                    object-fit: cover;
                    @media (width > 768px) {
                        width: clamp(28.125rem, -23.24rem + 106.87vw, 36.875rem);
                        height: auto;
                    }
                }
            }
            p {
                z-index: 1;
                margin-bottom: 0;
            }
        }
        .check-company {
            position: relative;
            margin-top: 40px;
            padding: 48px 20px 32px;
            border-radius: 20px;
            background: #E7EDF2;
            &::before {
                position: absolute;
                top: -10px;
                left: 0;
                right: 0;
                content: "";
                background: url(https://cdn.blog.st-hatena.com/files/6653812171401915351/6802340630907027941) no-repeat top center;
                background-size: contain;
                width: 110px;
                height: 32px;
                margin: auto;
            }
            @media (width > 768px) {
                display: flex;
                gap: 48px;
                padding: 32px 48px;
                &::before {
                    margin-left: 0;
                    margin-right: auto;
                    left: -10px;
                }
            }
            img {
                display: block;
                width: 150px;
                margin: auto;
            }
            .text-box {
                margin-top: 32px;
                h5 {
                    font-weight: bold;
                    font-size: 18px;
                    line-height: 1.75;
                    margin-bottom: 1.5em;
                }
                .link-text {
                    transition: all  0.3s ease;
                    text-align: right;
                    font-weight: bold;
                    a {
                        position: relative;
                        color: var(--primary-color);
                        padding-bottom: 0;
                        border-bottom: none;
                        padding-right: 30px;
                        &::after {
                            position: absolute;
                            bottom: -10px;
                            right: 12px;
                            content: "";
                            display: inline-block;
                            width: 100%;
                            height: 12px;
                            border-bottom: 1px solid var(--primary-color);
                            border-right: 1px solid var(--primary-color);
                            transform: skew(45deg);
                            transition: .3s;
                        }
                        &:hover {
                            background: transparent;
                            &::after {
                                width: 105%;
                                right: 5px;
                            }
                        }
                    }
                }
            }
        }
    }
    .point-section-01 {
        .point-box {
            @media (width > 768px) {
                margin-left: auto;
            }
            .image-box {
                @media (width > 768px) {
                    left: -80px;
                    top: -60px;
                }
            }
        }
    }
    .point-section-02 {
        .point-box {
            @media (width > 768px) {
                margin-right: auto;
            }
            .image-box {
                @media (width > 768px) {
                    right: -70px;
                    top: 10px;
                }
            }
        }
    }
    .decoration-right,
    .decoration-left {
        position: relative;
        @media (width > 768px) {
            max-width: 900px;
            margin: auto;
        }
        img {
            position: absolute;
            width: clamp(20.313rem, 11.161rem + 39.05vw, 33.125rem);
            height: clamp(8.563rem, 4.589rem + 16.95vw, 14.125rem);
            object-fit: contain;
        }
    }
    .decoration-right {
        img {
            top: calc(clamp(3.125rem, -1.786rem + 20.95vw, 10rem) * -1);
            right: calc(clamp(7.5rem, -2.321rem + 41.9vw, 21.25rem) *-1);
        }
    }
    .decoration-left {
        img {
            top: -40px;
            left: -120px;
            @media (width > 768px) {
                left: -410px;
                top: -120px;
            }
        }
    }
    .sub-wrapper {
        display: flex;
        flex-direction: column;
        gap: 80px 0;
        margin: 80px 0;
        .banner-box {
            margin: 0 20px;
            @media (width > 768px) {
                max-width: 750px;
                margin: auto;
                    a {
                        display: block;
                        border-radius: 20px;
                        overflow: hidden;
                        padding: 0;

                        &:hover {
                            img {
                                transform: scale(1.02);
                            }
                        }
                    }
            }
            img {
                margin: auto;
                transition: all .2s linear;
            }
        }
        .search-article-box {
            position: relative;
            display: flex;
            padding: 80px 20px 60px;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 32px;
            background: #BED4E4;
            &::before {
                position: absolute;
                content: "";
                background: url(https://cdn.blog.st-hatena.com/files/6653812171401915351/6802340630907027907) no-repeat top center;
                background-size: contain;
                width: 85px;
                height: 90px;
                top: -30px;
            }
            p {
                color: #002846;
                text-align: center;
                font-size: 24px;
                font-weight: 700;
                line-height: 1.75;
                margin-bottom: 0;
            }
            ul {
                display: flex;
                flex-direction: column;
                gap: 20px;
                justify-content: center;
                list-style: none;
                margin: 0;
                padding: 0;
                flex-wrap: wrap;
                @media (width > 768px) {
                    flex-direction: row;
                }
                a {
                    max-width: 300px;
                    min-width: 250px;
                    position: relative;
                    display: flex;
                    margin: auto;
                    padding: 20px;
                    justify-content: center;
                    align-items: center;
                    border-radius: 100px;
                    background-image: linear-gradient(to right, #fff 0%, #fff 60%, #F6FBFF 100%);
                    background-size: 200% auto;
                    background-position: left center;
                    color: var(--primary-color);
                    font-size: 20px;
                    font-weight: bold;
                    transition: background-position .3s;
                    &:hover {
                        background-position: right center;
                        &::after {
                            right: 16px;
                        }
                    }
                    &::after {
                        position: absolute;
                        right: 20px;
                        content: "";
                        display: inline-block;
                        width: 8px;
                        height: 8px;
                        margin: 0 10px;
                        border-top: 2px solid var(--primary-color);
                        border-right: 2px solid var(--primary-color);
                        transform: rotate(45deg);
                        transition: right .3s;
                    }
                }
            }
        }
        .operating-company-box {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 20px;
            flex-wrap: wrap;
            @media (width > 768px) {
                flex-direction: row;
            }
            p {
                font-size: 18px;
                font-weight: bold;
                margin-bottom: 0;
            }
            ul {
                display: flex;
                flex-direction: column;
                gap: 20px;
                list-style: none;
                margin: 0;
                padding: 0;
                flex-wrap: wrap;
                @media (width > 768px) {
                    flex-direction: row;
                }
                li {
                    &:first-child {
                        a {
                            img {
                                width: 88px;
                            }
                            &:hover {
                                img {
                                    width: 92px;
                                }
                            }
                        }
                    }
                    &:last-child {
                        a {
                            img {
                                width: 120px;
                            }
                            &:hover {
                                img {
                                    width: 124px;
                                }
                            }
                        }
                    }
                    a {
                        position: relative;
                        display: flex;
                        width: 200px;
                        height: 50px;
                        justify-content: center;
                        align-items: center;
                        border-radius: 6px;
                        font-weight: bold;
                        border: 1px solid var(--border);
                        background: var(--white);
                        transition: .3s;
                        &:hover {
                            opacity: .6;
                        }
                        &::after {
                            position: absolute;
                            content: "";
                            background: url(https://cdn.blog.st-hatena.com/files/6653812171401915351/6802340630907302113) no-repeat right center;
                            width: 10px;
                            height: 10px;
                            background-size: contain;
                            right: 12px;
                        }
                        img {
                            transition: .3s;
                        }
                    }
                }
            }
        }
    }
    .entry .entry-inner {
        @media (width > 768px) {
            padding-bottom: 0;
            border: none;
        }
    }
} 

/*-------------------------------
定型文のスタイル
-------------------------------*/
/*------- 書籍紹介・あらすじ説明表示 -------*/
.entry .entry-content .sakuhinshoukai-wrap {
  margin:2em auto;
  text-align:center;
  font-size:85%;
  color:#969696;
}
.entry .entry-content .sakuhinshoukai-wrap .figure-image,
.entry .entry-content .sakuhinshoukai-wrap .figure-image figcaption {
  margin-bottom: 0;
}
.entry .entry-content .sakuhinshoukai-wrap img {
  max-height: 400px;
  margin-bottom: 1em;
}
.entry .entry-content .sakuhinshoukai-top {
  position: relative;
  display: inline-block;
  margin: 1.5em 0 0;
  text-align:left;
  padding: 15px 20px;
  min-width: 120px;
  max-width: 100%;
  color: #969696; /* 文字色です */
  background: #f7f2e9; /* 背景色です */
}
.entry .entry-content .sakuhinshoukai-top:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid #f7f2e9; /* 吹き出し設定の部分です */
}
.entry .entry-content .sakuhinshoukai-top p {
  margin: 0;
  padding: 0;
}

/*------- 書籍紹介表示パターン1 -------*/
.entry .entry-content .bookinfo {
  position: relative;
  margin: 2em 0;
  padding: 25px 10px 7px;
  font-size:13px;
  border: solid 1px #ccd8db; 
}
.entry .entry-content .bookinfo .bookinfo-title {
  position: absolute;
  display: inline-block;
  top: -1px;
  left: -1px;
  padding: 0 9px;
  height: 25px;
  line-height: 25px;
  font-size: 14px;
  background: #ccd8db; 
  color: #ffffff;
  font-weight: bold;
}
.entry .entry-content .sample_main {
background: #ffffff; 
margin-bottom: 10px;
text-align: center;

}
.entry .entry-content .sample_main, .entry .entry-content .sample_side {
padding: 2%; 
}
.entry .entry-content .sample_flexbox {
  margin-left: 0;
  margin-top: 20px;
}
/* Responsive */
@media (min-width: 600px) {
.entry .entry-content .sample_flexbox {
display: -webkit-flex;
display: flex;
margin: 0;
}
.entry .entry-content .sample_main {
margin: 0 10px 0 0;
min-width: 200px; 
}
}
/*------- 関連記事貼り付け -------*/
.entry .entry-inner .entry-content #listen-releated-sample{
padding: 1rem .5rem .5rem;
margin: .5em auto 2em auto;
font-size:90%;
}
.entry .entry-inner .entry-content #listen-releated-sample .listen-box{
position:relative;
}
.entry .entry-inner .entry-content #listen-releated-sample .listen-box:hover{
  opacity: 0.5;
}
.entry .entry-inner .entry-content #listen-releated-sample .listen-box a{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-decoration:none;
  transition: all 0.3s ease 0s;
  border-bottom: none;
  display:block;
}
.entry .entry-inner .entry-content #listen-releated-sample .listen-box a:hover{
background-color:transparent;
}
.entry .entry-content #listen-releated-sample .listen-box .listen-releated-samplebox {
 display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom:10px;
}
.entry .entry-content #listen-releated-sample .listen-box:not(:nth-last-child(1)){
    margin-bottom: 1em;
    border-bottom: 1px solid #ebebeb;
  }
.entry .entry-content #listen-releated-sample .listen-box .listen-releated-samplebox .listen-releated-itempic {
max-width:30%;
margin-right: 3%;
align-items: center;
}
.entry .entry-content #listen-releated-sample .listen-box .listen-releated-samplebox .listen-releated-itempic img {
width:100%;
transition: all 0.3s ease 0s;
}
.entry .entry-inner .entry-content #listen-releated-sample .listen-box .listen-releated-samplebox .listen-releated-item {
flex: 1;
flex-direction: column;
}
.entry .entry-content #listen-releated-sample .listen-box .listen-releated-samplebox span{
  font-size: 14px;
  text-decoration:none;
  font-weight:bold;
  color:#33536b;
  transition: all 0.3s ease 0s;
 border-bottom: none;
}
@media screen and ( max-width : 300px ){
    .entry .entry-content #listen-releated-sample .listen-box .listen-releated-samplebox {
display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;	
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
justify-content: center;
  align-items: center;
}
.entry .entry-content #listen-releated-sample .listen-box .listen-releated-samplebox .listen-releated-itempic {
    max-width:150px; 
}
}
.entry .entry-content .listen-releated-samplelist{
padding: .5em .5em .5em 1em;
}
.entry .entry-content .listen-releated-samplelist a{
 font-size: 14px;
  text-decoration:none;
  font-weight:bold;
  color:#33536b;
 line-height:1.6;
  transition: all 0.3s ease 0s;
 border-bottom: none;
}
.entry .entry-content .listen-releated-btnmore {margin-top: 2em;}
.entry .entry-content .listen-releated-btnmore:hover{opacity: 0.5;}
.entry .entry-content .listen-releated-btnmore span {
display: block;
  background: #002846;
  color: #ffffff;
  line-height: 18px;
  font-size:14px;
  font-weight: bold;
  text-align: center;
  margin: 15px auto 15px auto ;
 padding:10px;
}
/*------- 記事末プロフィール -------*/
.entry .entry-content .listen-author-wrap {
  margin:3em auto 2em auto;
  padding:1em 1em .5em 1em;
  border:solid 1px #cccccc;
}
.entry .entry-content .listen-author-profile { display: flex; margin: 0; }
.entry .entry-content .listen-author-profile > :first-child { margin-bottom:1em; margin-right: 1em ; width: 110px; max-width: 33%; }
.entry .entry-content .listen-author-profile > :first-child img { vertical-align: middle; }
.entry .entry-content .listen-author-profile > :nth-child(2) { flex: 1; font-size: 85%;}

/*------- 発言要素 -------*/
.comment-box {
    position: relative;
    padding: 24px;
    background-color: #f7f7f7;
    border-radius: 8px;
    box-sizing: border-box;
    margin: 50px 0 24px;
    z-index: 0;
}
@media (min-width: 530px) {
  .comment-box {
    margin-top: 60px;
    margin-left: 40px;
    padding: 24px 24px 24px 49px;
  }
}
.comment-box:before {
    content: "";
    position: absolute;
    top: -23px;
    left: 115px;
    border: 25px solid transparent;
    border-bottom: 20px solid #f7f7f7;
    transform: rotate(64deg);
    z-index: -1;
}
@media (min-width: 530px) {
  .comment-box:before {
    left: 60px;
  }
}
@media (min-width: 530px) {
  .comment-box-image {
      position: absolute;
      top: -40px;
      left: -40px;
  }
}
.comment-box-image .figure-image {
    width: 80px;
    margin: -60px 0 5px -10px;
}
@media (min-width: 530px) {
  .comment-box-image .figure-image {
      margin: 0;
  }
}
.comment-box-image .figure-image img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
}
.comment-box-text .name {
    font-weight: bold;
    font-size: 18px;
    margin: 0;
    overflow-wrap: break-word;
}
.comment-box-text .name span {
    display: block;
    font-weight: normal;
    color: #667e90;
    font-size: 12px;
}
.comment-box-text .description {
    margin: 16px 0 0;
}
/*------- 背景付き要素 -------*/
.various-box {
    display: flex;
    background: #f7f7f7;
    border-radius: 8px;
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center;
}
.various-box figure {
    width: 100%;
    margin: 0 auto;
}
.various-box figure img {
    width: 100%;
    border-radius: 8px 8px 0 0;
}
.various-box figcaption {
    font-size: 12px;
}
.various-box-text {
    padding: 24px 0;
}
.various-box p {
    margin: 0 24px;
}
.various-box p + p {
    margin-top: 8px;
}
.various-box .btn-link a {
    display: block;
    max-width: 300px;
    padding: 12px;
    color: #33536b;
    margin: 20px auto 0;
    text-align: center;
    border-radius: 8px;
    border: 1px solid #33536b;
    transition: .3s;
}
.various-box .btn-link a:hover {
    background: #33536b;
    color: #f7f7f7;
}
.entry-content .various-box ul,
.entry-content .various-box ol {
    padding-left: revert;
}

/*------- 囲み枠要素 -------*/
.various-border-box {
    background: #fff;
    border: 2px dotted #b2bec7;
}
.various-border-box figure {
    padding: 24px 24px 0;
    box-sizing: border-box;
}
.various-border-box figure img {
    border-radius: 0;
}

/*------- 色指定 -------*/
.backgroundcolor-blue {
    background-color: #e7f3fc;
}
.backgroundcolor-blue:before {
    border-bottom-color: #e7f3fc;
}
.backgroundcolor-pink {
    background-color: #faeaf0;
}
.backgroundcolor-pink:before {
    border-bottom-color: #faeaf0;
}
.backgroundcolor-yellow {
    background-color: #fdfbe4;
}
.backgroundcolor-yellow:before {
    border-bottom-color: #fdfbe4;
}
.backgroundcolor-navy {
    background-color: #33536b;
}
.backgroundcolor-navy:before {
    border-bottom-color: #33536b;
}
.backgroundcolor-brown {
    background-color: #c19f8a;
}
.backgroundcolor-brown:before {
    border-bottom-color: #c19f8a;
}
.backgroundcolor-navy,
.backgroundcolor-brown {
    color: #f7f7f7;
}
.backgroundcolor-navy .btn-link a,
.backgroundcolor-brown .btn-link a,
.backgroundcolor-navy .name span,
.backgroundcolor-brown .name span {
    color: #f7f7f7;
}
.backgroundcolor-navy .btn-link a,
.backgroundcolor-brown .btn-link a {
    border-color: #f7f7f7;
}
.backgroundcolor-navy .btn-link a:hover,
.backgroundcolor-brown .btn-link a:hover {
    background: #f7f7f7;
    color: #33536b;
}
.border-navy {
    border-color: #33536b;
}
.border-brown {
    border-color: #956f58;
    color: #956f58;
}
.border-brown .btn-link a,
.border-brown .name span {
    color: #956f58;
}
.border-brown .btn-link a {
    border-color: #956f58;
}
.border-brown .btn-link a:hover {
    background: #956f58;
    color: #fff;
}
.border-green {
    border-color: #79d7c3;
    color: #61b5a3;
}
.border-green .btn-link a,
.border-green .name span {
    color: #61b5a3;
}
.border-green .btn-link a {
    border-color: #61b5a3;
}
.border-green .btn-link a:hover {
    background: #61b5a3;
    color: #fff;
}

/*------- 記事末クレジット -------*/
.end-credit {
    text-align: right;
}
.end-credit p {
    font-size: 80%;
}

/*------- アスタリスクで区切り線 -------*/
.asterisk-divider {
    margin: 2em auto;
    text-align: center;
}

/*------- 記事末インフォメーション -------*/
.end-article-infomation {
    margin: 1em auto 1em auto;
    text-align: center;
    background-color: #e6eaf2;
    padding: 25px 1em 15px 1em;
    vertical-align: bottom;
}
.end-article-infomation span {
  display: block;
  padding-left: 8px;
}
@media (min-width: 530px) {
  .end-article-infomation span {
    display: inline-block;
    padding-left: 0;
  }
}
@media (min-width: 530px) {
  .end-article-infomation .text-twitter {
      margin-bottom: 0;
  }
}
.end-article-infomation .btn-twitter-follow {
    vertical-align: -9px;
}
.end-article-infomation .text-facebook {
    font-size: 90%;
    margin-bottom: 0.8em;
}

/*------- 目次 -------*/
.outline-box {
    padding: 1em;
    margin: 2em 1em 3em;
    border: solid 2px var(--secondary-color);
     > div {
        padding-bottom: 4px;
        font-weight: bold;
        font-size: 18px;
        border-bottom: 2px solid var(--secondary-color);
    }
    ul {
        padding-left: 20px;
        margin: 16px 0 0;
        a {
            color: var(--secondary-color);
        }
        ul,
        li ~ li {
            margin-top: 8px;
        }
    }
}
.table-of-contents {
    padding: 1em;
    margin: 2em 1em 3em;
    border: solid 2px var(--secondary-color);
    &::before {
        display: block;
        content: "目次";
        margin-bottom: 1em;
        padding-bottom: 4px;
        font-weight: bold;
        font-size: 18px;
        border-bottom: 2px solid var(--secondary-color);
    }
    a {
        color: var(--secondary-color);
    }
    ul,
    li ~ li {
        margin-top: 8px;
    }
    > li {
        margin-left: 2em;
    }
}

/*------- 縦長の画像用 -------*/
.image-box_portrait img {
    display: block;
    width: 100%;
    margin: 0 auto 8px;
}
.image-box_portrait figcaption {
    font-size: 12px;
    text-align: center;
}
@media (min-width: 530px) {
    .image-box_portrait img {
        width: 80%;
    }
}

/*------- CTA定型文バナー -------*/
.ad-banner {
  margin: 24px auto;
  border-radius: 8px;
  overflow: hidden;
}
.ad-banner a {
  transition: .5s;
  text-decoration: none;
}
.ad-banner a:hover {
  opacity: .7;
}
.ad-banner-inner {
  display: flex;
  flex-direction: column;
}
.ad-banner-linktext {
  background: #002846;
  color: #fff;
  text-align: center;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}
@media (min-width: 480px) {
  .ad-banner-linktext {
      font-size: 14px;
      padding: 0 32px;
  }
}
.ad-banner-linktext::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  flex: 0 0 auto;
  transform: rotate(45deg);
}
@media (min-width: 480px) {
  .ad-banner-linktext::after {
      width: 8px;
      height: 8px;
  }
}
.ad-banner-linktext p {
  margin: 2px 0;
}
@media (min-width: 480px) {
  .ad-banner-linktext p {
      margin: 4px 0;
  }
}
/* テキストver */
.ad-banner-text {
  border: 1px solid #002846;
}
.ad-banner-text .ad-banner-heading {
  background: #E6EAF2;
  color: #002846;
  padding: 0 20px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
@media (min-width: 480px) {
  .ad-banner-text .ad-banner-heading {
      padding: 0 32px;
  }
}
.ad-banner-text .ad-banner-heading::before,
.ad-banner-text .ad-banner-heading::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 169px;
  height: 92px;
  top: 50%;
  transform: translateY(-50%);
}
.ad-banner-text .ad-banner-heading::before {
  background: url("https://cdn.blog.st-hatena.com/files/6653812171401915351/6801883189060752850") no-repeat;
  left: -30%;
  background-size: contain;
}
@media (min-width: 480px) {
  .ad-banner-text .ad-banner-heading::before {
      left: 0;
  }
}
.ad-banner-text .ad-banner-heading::after {
  background: url("https://cdn.blog.st-hatena.com/files/6653812171401915351/6801883189060752851") no-repeat;
  right: -30%;
  background-size: contain;
}
@media (min-width: 480px) {
  .ad-banner-text .ad-banner-heading::after {
      right: 0;
  }
}
.ad-banner-text .ad-banner-heading p {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 8px 0;
  line-height: 1.5;
  z-index: 1;
  position: relative;
}
.ad-banner-text .ad-banner-heading strong {
  font-size: 20px;
}
@media (min-width: 480px) {
  .ad-banner-text .ad-banner-heading strong {
      font-size: 24px;
  }
}
.ad-banner-text .ad-banner-heading span {
  font-size: 12px;
  opacity: .7;
}
@media (min-width: 480px) {
  .ad-banner-text .ad-banner-heading span {
      font-size: 14px;
  }
}

/* 画像ver */
.ad-banner-image .ad-banner-image-box {
  display: flex;
  height: 102px;
  overflow: hidden;
  background: #fff;
}
.ad-banner-image .ad-banner-image-box img {
  object-fit: cover;
  min-width: 100%;
}

/* 追従バナー */
#bottom-editarea .banner{
  position: fixed;
  bottom: 0;
  right: -280px;
}

#bottom-editarea .banner a{
  width: 50%;
  display: inline-block;
  box-shadow: 0 0 8px 0px #8093a2;
  background: #fff;
  vertical-align: bottom;
}

#bottom-editarea .banner a img{
  max-width: 100%;
  vertical-align: bottom;
  transition: opacity .15s linear;
}

#bottom-editarea .banner .sp-bn{
  display: none;
}
@media (min-width: 768px){
  #bottom-editarea .banner a:hover img{
    opacity: .7;
  }
}

@media (min-width: 1700px){
  #bottom-editarea .banner {
    right: calc(50% - 1135px);
  }
}

@media (max-width: 767px){
  #bottom-editarea {
    padding-bottom: calc(100vw * 5 / 32);
  }
  #bottom-editarea .banner{
    right: inherit;
    width: 100%;
  }

  #bottom-editarea .banner a{
    width: 100%;
    box-shadow: 0px 0px 8px 0px #8093a2;
  }

  #bottom-editarea .banner a img{
    width: 100%;
  }

  #bottom-editarea .banner .pc-bn{
    display: none;
  }

  #bottom-editarea .banner .sp-bn{
    display: block;
  }
}


/* 定型文: 記事を探す&運営 */
.supplementary-information {
    display: flex;
    flex-direction: column;
    gap: 40px 0;
    margin: 40px 0;
    .search-article-box {
        position: relative;
        display: flex;
        padding: 60px 20px 40px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        background: #BED4E4;
        &::before {
            position: absolute;
            content: "";
            background: url(https://cdn.blog.st-hatena.com/files/6653812171401915351/6802340630907027907) no-repeat top center;
            background-size: contain;
            width: 65px;
            height: 68px;
            top: -30px;
        }
        p {
            color: #002846;
            text-align: center;
            font-size: 20px;
            font-weight: 700;
            line-height: 1.75;
            margin-bottom: 0;
        }
        ul {
            display: flex;
            flex-direction: row;
            gap: 12px;
            justify-content: center;
            list-style: none;
            margin: 0;
            padding: 0;
            flex-wrap: wrap;
            a {
                max-width: 300px;
                min-width: 250px;
                position: relative;
                display: flex;
                margin: auto;
                padding: 12px;
                justify-content: center;
                align-items: center;
                border-radius: 100px;
                background-image: linear-gradient(to right, #fff 0%, #fff 60%, #F6FBFF 100%);
                background-size: 200% auto;
                background-position: left center;
                color: var(--primary-color);
                font-size: 16px;
                font-weight: bold;
                transition: background-position .3s;
                @media (width > 590px) {
                    max-width: auto;
                    min-width: auto;
                    width: 150px;
                }
                &:hover {
                    background-position: right center;
                    &::after {
                        right: 16px;
                    }
                }
                &::after {
                    position: absolute;
                    right: 20px;
                    content: "";
                    display: inline-block;
                    width: 8px;
                    height: 8px;
                    margin: 0 10px;
                    border-top: 2px solid var(--primary-color);
                    border-right: 2px solid var(--primary-color);
                    transform: rotate(45deg);
                    transition: right .3s;
                }
                @media (width > 590px) {
                    &::after {
                        right: 8px;
                        width: 6px;
                        height: 6px;
                    }
                    &:hover {
                        &::after {
                            right: 6px;
                        }
                    }
                }
            }
        }
    }
    .operating-company-box {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        gap: 20px;
        flex-wrap: wrap;
        p {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 0;
        }
        ul {
            display: flex;
            flex-direction: row;
            justify-content: center;
            gap: 20px;
            list-style: none;
            margin: 0;
            padding: 0;
            flex-wrap: wrap;
            li {
                &:first-child {
                    a {
                        img {
                            width: 88px;
                        }
                        &:hover {
                            img {
                                width: 92px;
                            }
                        }
                    }
                }
                &:last-child {
                    a {
                        img {
                            width: 120px;
                        }
                        &:hover {
                            img {
                                width: 124px;
                            }
                        }
                    }
                }
                a {
                    position: relative;
                    display: flex;
                    width: 200px;
                    height: 50px;
                    justify-content: center;
                    align-items: center;
                    border-radius: 6px;
                    font-weight: bold;
                    border: 1px solid var(--border);
                    background: var(--white);
                    transition: .3s;
                    &:hover {
                        opacity: .6;
                    }
                    &::after {
                        position: absolute;
                        content: "";
                        background: url(https://cdn.blog.st-hatena.com/files/6653812171401915351/6802340630907302113) no-repeat right center;
                        width: 10px;
                        height: 10px;
                        background-size: contain;
                        right: 12px;
                    }
                    img {
                        transition: .3s;
                    }
                }
            }
        }
    }
    /* 運営→記事を探すのときのみ余白を調整 */
    .operating-company-box + .search-article-box {
        margin-top: 30px;
    }
}

/* 定型文:要約 */
.summary-box {
    position: relative;
    margin-top: 32px;
    border-radius: 20px;
    border: 2px solid #002846;
    background: #E6EAF2;
    padding: 20px 32px 20px 100px;
    @media screen and (width <= 480px) {
        margin-top: 56px;
        padding: 56px 24px 16px 24px;
    }
    ul {
        list-style-position: inside;
        padding-left: 0;
        margin: 0;
    }
    li, p {
        color: #002846;
        font-size: 16px;
        font-weight: 700;
        line-height: 175%;
        margin-bottom: 0;
        padding: 12px 0;
        border-bottom: 2px dotted #667E90;
        @media screen and (width <= 480px) {
            font-size: 15px;
        }
        &:last-child {
            border-bottom: none;
        }
    }
    ul + p {
        border-top: 2px dotted #667E90;
    }
    .balloon-point-box {
        position: absolute;
        top: -16px;
        left: -16px;
        @media screen and (width <= 480px) {
            top: -40px;
            right: 0;
            left: 0;
            margin: 0 auto;
        }
        .balloon-point {
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            width: 90px;
            height: 90px;
            text-align: center;
            color: #FFF;
            font-size: 16px;
            font-weight: bold;
            background: #002846;
            border-radius: 50%;
            box-sizing: border-box;
            line-height: 1;
            gap: 4px;
            &::before {
                content: "";
                position: absolute;
                width: 0;
                height: 0;
                bottom: 6px;
                right: 6px;
                display: block;
                border-style: solid;
                border-width: 8px;
                border-color: transparent #002846 #002846 transparent;
                z-index: 0;
                border-radius: 0 0 4px 0;
            }
            @media screen and (width <= 480px) {
                margin: 0 auto;
                &::before {
                    transform: rotate(45deg);
                    bottom: -6px;
                    right: 0;
                    left: 0;
                    margin: auto;
                }
            }
            .emoji {
                font-size: 24px;
            }
        }
    }
}