@charset "UTF-8";

/* =========================================
   DESIGN TOKENS
   ========================================= */
:root {
  --color-text: #333333;
  --color-theme: #303869;
  --color-link: #1976d2;
  --color-white: #ffffff;
  --color-preview-drawer-toggle: var(--color-white);
  --color-black: #222222;
  --color-pure-black: #000;
  --color-blue-light: #64b5f6;
  --color-blue-pale: #d8ecfd;
  --color-green-light: #8bc34a;
  --color-orange: #ff9800;
  --color-pink: #f06292;
  --color-yellow: #fce83a;
  --color-green: #40ae4b;
  --color-red: #ef5350;
  --color-button: #ec407a;
  --color-example: #e7f3fe;
  --color-twitter: #1da1f2;
  --color-facebook: #3b5998;
  --color-line: #00c300;
  --color-feedly: #74b431;
  --color-amazon: #ff9900;
  --color-kindle: #354860;
  --color-rakuten: #bf0000;
  --color-audiobook: #d61849;
  --color-hulu: #66aa33;
  --color-rank-gold: #c1a72b;
  --color-rank-silver: #adaca7;
  --color-rank-bronze: #a87628;
  --color-muted: #999999;
  --color-gray-dark: rgb(112.2, 112.2, 112.2);
  --color-gray: rgb(209.1, 209.1, 209.1);
  --color-gray-light: rgb(247.35, 247.35, 247.35);
  --color-surface: rgb(244.8, 244.8, 244.8);
  --color-surface-soft: rgb(252.45, 252.45, 252.45);
  --color-border: rgb(224.4, 224.4, 224.4);
  --color-border-strong: rgb(214.2, 214.2, 214.2);
  --color-text-secondary: rgb(132.6, 132.6, 132.6);
  --color-text-caption: rgb(147.9, 147.9, 147.9);
  --color-reference: rgb(193.8, 193.8, 193.8);
  --color-heading-surface: rgb(234.6, 234.6, 234.6);
  --font-body: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic,
    "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
  --font-icon: "eigolab";
  --font-size-11: 1.1rem;
  --font-size-12: 1.2rem;
  --font-size-13: 1.3rem;
  --font-size-14: 1.4rem;
  --font-size-15: 1.5rem;
  --font-size-16: 1.6rem;
  --font-size-18: 1.8rem;
  --font-size-20: 2rem;
  --font-size-22: 2.2rem;
  --font-size-24: 2.4rem;
  --line-height-body: 1.4;
  --line-height-article: 1.68;
  --space-2: 2px;
  --space-3: 3px;
  --space-4: 4px;
  --space-5: 5px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-12: 12px;
  --space-15: 15px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-30: 30px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-56: 56px;
  --space-60: 60px;
  --space-72: 72px;
  --content-max-width: 1024px;
  --sidebar-width: 300px;
  --column-gap: 32px;
  --header-height-mobile: 56px;
  --header-height-desktop: 72px;
  --z-header: 1000;
  --z-overlay: 900;
  --duration-fast: 0.1s;
  --duration-normal: 0.3s;
  --duration-menu: 0.4s;
  --duration-slow: 0.5s;
  --article-spacing: 24px;
  --widget-spacing: 24px;
  --shadow-header: 0 1px 4px 0 var(--color-header-shadow);
  --radius-1: 1px;
  --radius-18: 18px;
  --radius-2: 2px;
  --radius-3: 3px;
  --color-twitter-accent: rgb(65.16, 176.04, 244.08);
  --color-facebook-accent: rgb(90.36, 115.56, 168.48);
  --color-feedly-accent: rgb(138.24, 192, 81.96);
  --radius-4: 4px;
  --radius-5: 5px;
  --color-theme-shadow: rgb(43.2, 50.4, 94.5);
  --shadow-submit: 0 4px var(--color-theme-shadow);
  --color-button-shadow: rgb(212.4, 57.6, 109.8);
  --shadow-button: 0 3px var(--color-button-shadow);
  --color-button-hover: rgb(236.95, 73.55, 128.65);
  --color-amazon-shadow: rgb(229.5, 137.7, 0);
  --color-amazon-hover: rgb(255, 158.1, 12.75);
  --color-kindle-shadow: rgb(47.7, 64.8, 86.4);
  --color-kindle-hover: rgb(63.1, 81.15, 103.95);
  --color-rakuten-shadow: rgb(171.9, 0, 0);
  --color-rakuten-hover: rgb(194.2, 12.75, 12.75);
  --color-audiobook-shadow: rgb(192.6, 21.6, 65.7);
  --color-audiobook-hover: rgb(216.05, 35.55, 82.1);
  --color-hulu-shadow: rgb(91.8, 153, 45.9);
  --color-hulu-hover: rgb(109.65, 174.25, 61.2);
  --color-dgrey-shadow: rgb(100.98, 100.98, 100.98);
  --color-dgrey-hover: rgb(119.34, 119.34, 119.34);
  --color-grey-shadow: rgb(188.19, 188.19, 188.19);
  --color-grey-hover: rgb(211.395, 211.395, 211.395);
  --color-lgrey-shadow: rgb(222.615, 222.615, 222.615);
  --color-lgrey-hover: rgb(247.7325, 247.7325, 247.7325);
  --color-white-shadow: rgb(229.5, 229.5, 229.5);
  --color-blue-hover: rgb(58.35, 65.95, 112.5);
  --color-lblue-shadow: rgb(90, 162.9, 221.4);
  --color-lblue-hover: rgb(107.75, 184.7, 246.45);
  --color-llblue-shadow: rgb(194.4, 212.4, 227.7);
  --color-llblue-hover: rgb(217.95, 236.95, 253.1);
  --color-lgreen-shadow: rgb(125.1, 175.5, 66.6);
  --color-lgreen-hover: rgb(144.8, 198, 83.05);
  --color-orange-shadow: rgb(229.5, 136.8, 0);
  --color-orange-hover: rgb(255, 157.15, 12.75);
  --color-pink-shadow: rgb(216, 88.2, 131.4);
  --color-pink-hover: rgb(240.75, 105.85, 151.45);
  --color-yellow-shadow: rgb(226.8, 208.8, 52.2);
  --color-yellow-hover: rgb(252.15, 233.15, 67.85);
  --color-green-shadow: rgb(57.6, 156.6, 67.5);
  --color-green-hover: rgb(73.55, 178.05, 84);
  --color-red-shadow: rgb(215.1, 74.7, 72);
  --color-red-hover: rgb(239.8, 91.6, 88.75);
  --color-black-shadow: rgb(30.6, 30.6, 30.6);
  --color-black-hover: rgb(45.05, 45.05, 45.05);
  --color-tap-highlight: rgba(0, 0, 0, 0.1);
  --color-header-shadow: rgba(0, 0, 0, 0.3);
  --color-white-transparent: rgba(255, 255, 255, 0);
  --color-gray-medium: rgb(163.2, 163.2, 163.2);
  --color-kobo-hover: rgb(197.4, 25.5, 25.5);
  --color-rating-stars: #fbc02d;
  --color-rating-full: #e64a19;
  --color-disabled-shadow: rgb(220.32, 220.32, 220.32);
}

@media (min-width: 768px) {
  :root {
    --article-spacing: 30px;
    --widget-spacing: 32px;
  }
}

* {
  margin: 0;
  padding: 0;
}

html {
  height: 100%;
  line-height: 1;
  word-break: normal;
  overflow-wrap: anywhere;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: var(--line-height-body);
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  font-style: normal;
  background: transparent;
  -webkit-tap-highlight-color: var(--color-tap-highlight);
  box-sizing: border-box;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

audio,
applet,
object,
iframe,
video {
  max-width: 100%;
}

a,
a:hover,
a:visited,
a:active {
  font-style: normal;
  font-weight: normal;
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-style: normal;
  font-weight: normal;
}

img {
  border: none;
  vertical-align: bottom;
  margin: 0;
  padding: 0;
}

a img {
  border: none;
  text-decoration: none;
}

br {
  letter-spacing: 0;
}

ol,
ul {
  list-style: none;
}

table,
dl {
  position: relative;
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  font-weight: normal;
  vertical-align: middle;
}

strong,
em,
dt,
th {
  font-weight: bold;
}

q,
blockquote {
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: none;
}

pre,
code,
xmp {
  overflow: auto;
  white-space: pre;
  text-shadow: none;
}

hr {
  border-width: 0;
}

textarea,
input {
  overflow-wrap: normal;
  word-break: normal;
  box-sizing: border-box;
}

input,
select {
  vertical-align: middle;
}

/**
 * Ion Font
 */

@font-face {
  font-family: "eigolab";
  src: url("../inc/font/eigolab.woff?=date20190422") format("woff"),
    url("../inc/font/eigolab.svg?=date20190422") format("svg");
  font-weight: normal;
  font-style: normal;
}

/**
 * Base
 */

html {
  touch-action: manipulation;
  font-size: 62.5%;
}

input:not([type="radio"]):not([type="checkbox"]),
textarea,
select {
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea,
select,
input {
  font-size: var(--font-size-16);
}

::placeholder {
  color: var(--color-gray-dark);
  vertical-align: middle;
}

.alpha {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: repeat;
  background-image: url("../img/alpha.png");
}

.img {
  position: relative;
}

.img img {
  height: auto;
  width: 100%;
}

.thumb {
  position: relative;
  background-position: center center;
  background-repeat: no-repeat;
}

.thumb img {
  height: auto;
  width: 100%;
}

.logo img {
  vertical-align: top;
  height: 100%;
}

.sticky-widget {
  position: sticky;
  top: 0;
}

/* Legacy sticky offset retained until verified in the site layout. */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0),
  screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  .sticky-widget {
    top: -1px;
  }
}

.fixed-body.pc {
  position: fixed;
}

/**
 * Design
 */

.date {
  letter-spacing: 0.1em;
}

/**
 * Effect
 */

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.lazyload {
  opacity: 0;
}

.lazyloaded {
  opacity: 1;
}

.fadein-effect {
  opacity: 0;
}

.fadein-effect.active {
  animation: fadeIn var(--duration-fast) ease forwards;
}

iframe {
  transition: opacity var(--duration-slow);
}

.img img {
  transition: opacity var(--duration-slow);
}

/**
 * Structure
 */

body {
  color: var(--color-text);
  font-size: var(--font-size-16);
  line-height: var(--line-height-body);
  background-color: var(--color-white);
  font-family: var(--font-body);
  margin: 0;
  padding: 0;
}

html,
body {
  width: 100%;
  height: 100%;
}

.wrapper {
  width: 100%;
  height: 100%;
  flex-direction: column;
  display: flex;
  font-size: var(--font-size-16);
}

#outer-container {
  flex: 1 1 0%;
  background: var(--color-white);
  margin-bottom: 0;
}

@media (min-width: 768px) {
  #outer-container {
    margin-bottom: var(--space-40);
  }
}

@media (min-width: 900px) {
  #outer-container {
    margin-bottom: var(--space-48);
  }
}

.single #outer-container {
  margin-top: var(--space-56);
}

@media (min-width: 900px) {
  .single #outer-container {
    margin-top: var(--space-48);
  }
}

.page #outer-container {
  margin-top: 80px;
}

@media (min-width: 900px) {
  .page #outer-container {
    margin-top: var(--space-48);
  }
}

.error404 #outer-container {
  margin-top: 80px;
}

@media (min-width: 900px) {
  .error404 #outer-container {
    margin-top: var(--space-48);
  }
}

.search-no-results #outer-container {
  margin-top: 80px;
}

@media (min-width: 900px) {
  .search-no-results #outer-container {
    margin-top: var(--space-48);
  }
}

.home #outer-container {
  margin-top: 80px;
}

@media (min-width: 900px) {
  .home #outer-container {
    margin-top: var(--space-48);
  }
}

.home.paged #outer-container {
  margin-top: 80px;
}

@media (min-width: 900px) {
  .home.paged #outer-container {
    margin-top: var(--space-48);
  }
}

.search-results #outer-container,
.archive #outer-container {
  margin-top: 0;
}

@media (min-width: 900px) {
  .search-results #outer-container,
  .archive #outer-container {
    margin-top: var(--space-32);
  }
}

.outer-headline {
  margin-top: var(--space-56);
  margin-bottom: var(--space-24);
}

@media (min-width: 768px) {
  .outer-headline {
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 900px) {
  .outer-headline {
    margin-top: var(--space-48);
    margin-bottom: 0;
  }
}

.outer-breadcrumb {
  display: none;
}

@media (min-width: 900px) {
  .outer-breadcrumb {
    display: block;
  }
}

.container {
  background-color: var(--color-white);
}

@media (min-width: 900px) {
  .container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.outer {
  position: relative;
  width: 100%;
}

.inner {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  max-width: var(--content-max-width);
}

@media (min-width: 900px) {
  .inner {
    padding: 0 var(--space-30);
  }
}

@media (min-width: 900px) {
  .content.two-column {
    width: calc(100% - var(--sidebar-width) - var(--column-gap));
  }

  .content.one-column {
    width: 100%;
  }
}

@media (min-width: 900px) {
  #side {
    width: var(--sidebar-width);
    margin-left: var(--column-gap);
  }
}

.overlay-outer .mobile {
  padding-top: var(--space-56);
}

/**
 * header
 */

#outer-header {
  height: var(--header-height-mobile);
  position: fixed;
  background-color: var(--color-theme);
  box-shadow: var(--shadow-header);
  top: 0;
  z-index: var(--z-header);
}

@media (min-width: 900px) {
  #outer-header {
    height: var(--header-height-desktop);
    position: relative;
  }
}

#header {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  color: var(--color-white);
}

@media (min-width: 900px) {
  #header {
    height: var(--header-height-desktop);
    position: relative;
  }
}

#header a {
  color: var(--color-white);
}

#header .logo {
  height: 32px;
  margin: 0 auto;
}

@media (min-width: 900px) {
  #header .logo {
    height: 44px;
  }
}

/**
 * Hamburger Menu
 */

.hamburger-menu {
  transition: transform var(--duration-menu), opacity var(--duration-menu);
  position: relative;
  display: block;
  background-color: var(--color-white);
  border-radius: var(--radius-1);
  width: 22px;
  height: 2px;
}

@media (min-width: 900px) {
  .hamburger-menu {
    width: 24px;
  }
}

.hamburger-menu:nth-of-type(2) {
  margin-top: var(--space-5);
}

@media (min-width: 900px) {
  .hamburger-menu:nth-of-type(2) {
    margin-top: var(--space-6);
  }
}

.hamburger-menu:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  background-color: var(--color-white);
  border-radius: var(--radius-1);
  transition: transform var(--duration-menu), opacity var(--duration-menu);
  width: 22px;
  height: 2px;
}

@media (min-width: 900px) {
  .hamburger-menu:nth-of-type(2)::after {
    width: 24px;
  }
}

.hamburger-menu:nth-of-type(3) {
  margin-top: var(--space-5);
}

@media (min-width: 900px) {
  .hamburger-menu:nth-of-type(3) {
    margin-top: var(--space-6);
  }
}

.drawer-toggle {
  display: inline-block;
  position: relative;
  width: 28px;
  height: 24px;
  padding: 0;
  border: 0;
  background: none;
}
.drawer-toggle,
.drawer-toggle-bar,
.drawer-toggle-bar::before,
.drawer-toggle-bar::after {
  transition: all 0.5s;
}
.drawer-toggle-bar,
.drawer-toggle-bar::before,
.drawer-toggle-bar::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: var(--color-preview-drawer-toggle);
  border-radius: 3px;
}
.drawer-toggle-bar {
  top: 10.5px;
}
.drawer-toggle-bar::before,
.drawer-toggle-bar::after {
  content: "";
}
.drawer-toggle-bar::before {
  top: -10.5px;
}
.drawer-toggle-bar::after {
  top: 10.5px;
}
.drawer-toggle-bar {
  top: auto;
  bottom: 0;
}
.drawer-toggle-bar::after {
  top: -21px;
}
.drawer-toggle.active .drawer-toggle-bar {
  transform: translate3d(0, -10.5px, 0) rotate(45deg);
}
.drawer-toggle.active .drawer-toggle-bar::after {
  top: 0;
  opacity: 0;
}
.drawer-toggle.active .drawer-toggle-bar::before {
  top: 0;
  transform: rotate(90deg);
}

#header > .drawer-toggle {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  #header > .drawer-toggle {
    right: 16px;
  }
}

@media (min-width: 900px) {
  .drawer-toggle {
    display: none;
  }
}

/* Drawer panel transition is separate from the 750ms icon animation. */
#overlay-right {
  transition: left 0.2s;
}

html.drawer-open {
  position: fixed;
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  #overlay-right,
  .drawer-toggle.has-interacted .drawer-toggle-bar::before,
  .drawer-toggle.has-interacted .drawer-toggle-bar::after,
  .drawer-toggle,
  .drawer-toggle-bar,
  .drawer-toggle-bar::before,
  .drawer-toggle-bar::after {
    transition: none;
    animation: none;
  }

  .drawer-toggle.active .drawer-toggle-bar::before {
    animation: none;
    transform: translateY(10.5px) rotate(45deg);
  }

  .drawer-toggle.active .drawer-toggle-bar::after {
    animation: none;
    transform: translateY(-10.5px) rotate(-45deg);
  }
}

/**
 * Trigger Search
 */

#trigger-search {
  order: 3;
  cursor: pointer;
  position: relative;
  text-align: center;
  transition: transform var(--duration-menu), opacity var(--duration-menu);
  width: 56px;
  height: 56px;
  line-height: 56px;
}

#trigger-search #tri-mag {
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 10px;
  font-size: 2.1rem;
}

@media (min-width: 900px) {
  #trigger-search #tri-mag {
    right: 0;
    font-size: var(--font-size-24);
  }
}

#trigger-search #tri-close {
  transition: transform var(--duration-menu), opacity var(--duration-menu);
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 10px;
}

@media (min-width: 900px) {
  #trigger-search #tri-close {
    right: 0;
  }
}

#trigger-search #tri-close .hamburger-menu:nth-of-type(1) {
  transform: translate(50%) scale(0);
}

#trigger-search #tri-close .hamburger-menu:nth-of-type(2) {
  transform: rotate(45deg);
}

#trigger-search #tri-close .hamburger-menu:nth-of-type(2)::after {
  transform: rotate(90deg);
}

#trigger-search #tri-close .hamburger-menu:nth-of-type(3) {
  transform: translate(-50%) scale(0);
}

/**
 * Titles
 */

.article-title {
  font-size: var(--font-size-18);
  font-weight: bold;
  margin-left: var(--space-10);
  margin-right: var(--space-10);
  position: relative;
}

@media (min-width: 415px) {
  .article-title {
    font-size: var(--font-size-20);
  }
}

@media (min-width: 768px) {
  .article-title {
    font-size: var(--font-size-22);
    margin-left: var(--space-16);
    margin-right: var(--space-16);
  }
}

@media (min-width: 900px) {
  .article-title {
    font-size: var(--font-size-24);
    margin-left: 0;
    margin-right: 0;
  }
}

.page-article .article-title {
  margin-bottom: var(--space-24);
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.8em;
}

@media (min-width: 900px) {
  .page-article .article-title {
    margin-bottom: var(--space-32);
  }
}

.not-found-article .article-title {
  margin-bottom: var(--space-24);
  border-bottom: 1px solid var(--color-border);
  padding-bottom: 0.8em;
}

@media (min-width: 900px) {
  .not-found-article .article-title {
    margin-bottom: var(--space-32);
  }
}

/**
 * Headlines
 */

.outer-headline {
  background: var(--color-surface);
}

@media (min-width: 900px) {
  .outer-headline {
    background: none;
  }
}

.headline {
  height: 40px;
  line-height: 40px;
  padding: 0 var(--space-10);
}

@media (min-width: 768px) {
  .headline {
    padding: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  .headline {
    height: auto;
    padding: 0 var(--space-30);
  }
}

.archive-title {
  font-weight: bold;
  font-size: 1em;
}

@media (min-width: 900px) {
  .archive-title {
    font-size: var(--font-size-24);
    line-height: 1.4;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 0.8em;
  }
}

/**
 * Main Lists
 */

.main-lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 var(--space-10);
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .main-lists {
    padding: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  .main-lists {
    padding-left: 0;
    padding-right: 0;
  }
}

.main-lists.ver .main-list {
  display: flex;
  flex-direction: column;
  position: relative;
  margin-bottom: var(--space-24);
  width: calc((100% - 10px) / 2);
}

@media (min-width: 768px) {
  .main-lists.ver .main-list {
    width: calc((100% - 16px) / 2);
  }
}

.main-lists.ver .main-list > a {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  flex: 1 1 0%;
}

@media (min-width: 900px) {
  .main-lists.ver .main-list:hover .title {
    text-decoration: underline;
  }
}

.main-lists.ver .title {
  font-size: var(--font-size-14);
  padding-top: var(--space-10);
  color: var(--color-text);
  font-weight: bold;
}

@media (min-width: 415px) {
  .main-lists.ver .title {
    font-size: var(--font-size-16);
    padding-top: var(--space-15);
  }
}

@media (min-width: 768px) {
  .main-lists.ver .title {
    font-size: var(--font-size-18);
    padding-top: var(--space-15);
  }
}

.main-lists.ver .thumb {
  position: relative;
  width: 100%;
  height: 0;
  background-size: cover;
  padding-bottom: 62%;
}

.main-lists.ver .meta {
  display: none;
  justify-content: flex-end;
  align-items: center;
  margin-top: auto;
  padding: var(--space-20) 0 var(--space-10) 0;
  border-bottom: 1px solid var(--color-border);
}

@media (min-width: 768px) {
  .main-lists.ver .meta {
    display: flex;
  }
}

.main-lists.ver .meta span {
  display: block;
}

.main-lists.ver .meta .cat {
  padding: var(--space-4) 0;
  font-size: var(--font-size-11);
}

.main-lists.ver .meta .cat a {
  color: var(--color-text);
  text-decoration: none;
}

.main-lists.ver .meta .cat a:hover {
  color: var(--color-text);
  text-decoration: underline;
}

.main-lists.ver .meta .cat::after {
  content: " / ";
  padding: 0 var(--space-4);
}

.main-lists.ver .meta .date {
  font-size: var(--font-size-11);
}

.main-lists.ver .meta .date .mod-date {
  position: relative;
  margin-right: var(--space-4);
  top: 0.8px;
}

.new {
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border-radius: var(--radius-18);
  margin: var(--space-5);
  font-size: var(--font-size-12);
  background: var(--color-red);
  color: var(--color-white);
}

/**
 * Article Header and Footer
 */

.article-header {
  margin-bottom: var(--article-spacing);
  display: flex;
  flex-direction: column;
}

.article-header .img {
  order: 1;
}

@media (min-width: 900px) {
  .article-header .img {
    order: 2;
  }
}

@media (min-width: 768px) {
  .article-header {
    margin-bottom: var(--article-spacing);
  }
}

@media (min-width: 900px) {
  .article-header {
    margin-bottom: var(--article-spacing);
  }
}

.article-header .article-title {
  order: 4;
  margin-top: var(--space-24);
}

@media (min-width: 768px) {
  .article-header .article-title {
    margin-top: var(--space-30);
  }
}

@media (min-width: 900px) {
  .article-header .article-title {
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    margin-bottom: var(--space-30);
    order: 1;
  }
}

.article-header .shares {
  order: 2;
  margin: 0;
}

@media (min-width: 900px) {
  .article-header .shares {
    order: 3;
  }
}

.article-header .meta {
  display: flex;
  justify-content: space-between;
  font-size: var(--font-size-13);
  text-align: right;
  margin-bottom: 0;
  height: 26px;
  padding: var(--space-10) var(--space-10) 0;
  order: 3;
}

@media (min-width: 768px) {
  .article-header .meta {
    margin-bottom: 0;
    padding: var(--space-10) var(--space-16) 0;
  }
}

@media (min-width: 900px) {
  .article-header .meta {
    padding: var(--space-10) 0 0 0;
    margin-bottom: 0;
  }
}

.article-header .date {
  font-size: var(--font-size-12);
}

.article-header .mod-date {
  margin-right: var(--space-4);
  top: 1px;
}

.article-header .prad {
  font-size: var(--font-size-12);
}

.article-footer {
  margin-bottom: var(--article-spacing);
}

@media (min-width: 768px) {
  .article-footer {
    margin-bottom: var(--article-spacing);
  }
}

@media (min-width: 900px) {
  .article-footer {
    margin-bottom: var(--article-spacing);
  }
}

.article-footer .meta {
  display: flex;
  justify-content: space-between;
  font-size: var(--font-size-14);
  text-align: right;
  margin-bottom: var(--space-24);
  padding: 0 var(--space-10);
}

@media (min-width: 768px) {
  .article-footer .meta {
    margin-bottom: var(--space-30);
    padding: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  .article-footer .meta {
    padding: 0;
    margin-bottom: var(--space-30);
  }
}

.article-footer .date {
  font-size: var(--font-size-12);
}

.article-footer .mod-date {
  position: relative;
  margin-right: var(--space-4);
  top: 1px;
}

.article-footer .typos a {
  color: var(--color-text);
  text-decoration: none;
}

.article-footer .typos a:hover {
  color: var(--color-text);
  text-decoration: underline;
}

.article-footer .typos span {
  margin-left: var(--space-6);
}

.article-footer .typos span::before {
  position: relative;
  top: 1px;
}

/**
 * Article Content
 */

.article-content {
  line-height: var(--line-height-article);
  padding: 0 var(--space-10);
  font-size: var(--font-size-15);
  margin-bottom: var(--article-spacing);
}

.page .article-content {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .article-content {
    font-size: var(--font-size-16);
    margin-bottom: var(--space-32);
    padding: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  .article-content {
    font-size: var(--font-size-16);
    margin-bottom: var(--space-32);
    padding: 0;
  }
}

.article-content p,
.article-content div,
.article-content ul,
.article-content ol,
.article-content blockquote,
.article-content hr,
.article-content h4 {
  margin-bottom: var(--article-spacing);
}

@media (min-width: 768px) {
  .article-content p,
  .article-content div,
  .article-content ul,
  .article-content ol,
  .article-content blockquote,
  .article-content hr,
  .article-content h4 {
    margin-bottom: var(--article-spacing);
  }
}

@media (min-width: 900px) {
  .article-content p,
  .article-content div,
  .article-content ul,
  .article-content ol,
  .article-content blockquote,
  .article-content hr,
  .article-content h4 {
    margin-bottom: var(--article-spacing);
  }
}

.article-content p a,
.article-content span a {
  text-decoration: underline;
  color: var(--color-link);
  font-weight: bold;
}

.article-content p a:hover,
.article-content span a:hover {
  text-decoration: none;
  color: var(--color-link);
}

.article-content .at-color-line-none a {
  color: var(--color-link);
  text-decoration: underline;
}

.article-content .at-color-line-none a:hover {
  text-decoration: none;
  color: var(--color-link);
}

.article-content .at-color-none-none a {
  color: var(--color-link);
  text-decoration: none;
}

.article-content .at-color-none-none a:hover {
  text-decoration: none;
  color: var(--color-link);
}

.article-content .at-color-none-line a {
  color: var(--color-link);
  text-decoration: none;
}

.article-content .at-color-none-line a:hover {
  text-decoration: underline;
  color: var(--color-link);
}

.article-content .at-bold a {
  font-weight: bold;
}

.article-content img {
  max-width: 100%;
  height: auto;
}

.img.i-mobile {
  width: 100%;
  text-align: center;
  background: var(--color-surface);
  padding: var(--space-24) 0;
}

.img.i-mobile > img {
  margin-left: auto;
  margin-right: auto;
  border: 1px solid var(--color-border);
  width: 80%;
}

@media (min-width: 415px) {
  .img.i-mobile > img {
    width: 60%;
  }
}

@media (min-width: 768px) {
  .img.i-mobile {
    padding: var(--space-30) 0;
  }
}

@media (min-width: 900px) {
  .img.i-mobile {
    padding: var(--space-30) 0;
  }
}

.img .i-double {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  padding-left: var(--space-10);
  padding-right: var(--space-10);
}

.img .i-double img {
  border: 1px solid var(--color-border);
  width: calc((100% - 20px) / 2);
}

@media (min-width: 415px) {
  .img .i-double {
    padding-left: var(--space-20);
    padding-right: var(--space-20);
  }
}

.img.i-border img {
  border: 1px solid var(--color-border);
}

.img.i-center {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.media {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  background: var(--color-surface-soft);
}

.media::before {
  content: "loading...";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

.media iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.article-content .audio i {
  position: relative !important;
  cursor: pointer;
  color: var(--color-theme) !important;
  margin-left: var(--space-10);
  top: 2px;
}

.words .article-content .audio i {
  margin-right: var(--space-3);
}

.article-content .a-nospace .audio i {
  margin-left: 0;
}

.article-content .refs,
.article-content .ref {
  color: var(--color-reference);
}

.article-content .refs a,
.article-content .ref a {
  color: var(--color-reference);
  text-decoration: none;
}

.article-content .refs a:hover,
.article-content .ref a:hover {
  color: var(--color-reference);
  text-decoration: none;
}

.article-content .ref {
  font-size: 0.64em;
  text-align: right;
}

.article-content .com {
  text-align: center;
  font-size: 0.72em;
  color: var(--color-text-secondary);
}

.article-content p.by,
.article-content span.by {
  color: var(--color-text-secondary);
}

.article-content p.by a,
.article-content span.by a {
  color: var(--color-text-secondary);
  text-decoration: none;
}

.article-content p.by a:hover,
.article-content span.by a:hover {
  color: var(--color-text-secondary);
  text-decoration: none;
}

.article-content p.by a,
.article-content span.by a {
  font-weight: normal;
}

.media + p.com,
.media + p.ref,
.scroll-table + p.com,
.scroll-table + p.ref,
.full-table + p.com,
.full-table + p.ref,
.box + p.com,
.box + p.ref,
.img + p.com,
.img + p.ref {
  padding-top: 0.8em;
  margin-top: calc(-1 * var(--space-24));
}

.media + p.com a,
.media + p.ref a,
.scroll-table + p.com a,
.scroll-table + p.ref a,
.full-table + p.com a,
.full-table + p.ref a,
.box + p.com a,
.box + p.ref a,
.img + p.com a,
.img + p.ref a {
  font-weight: normal;
}

@media (min-width: 768px) {
  .media + p.com,
  .media + p.ref,
  .scroll-table + p.com,
  .scroll-table + p.ref,
  .full-table + p.com,
  .full-table + p.ref,
  .box + p.com,
  .box + p.ref,
  .img + p.com,
  .img + p.ref {
    margin-top: calc(-1 * var(--space-30));
  }
}

@media (min-width: 900px) {
  .media + p.com,
  .media + p.ref,
  .scroll-table + p.com,
  .scroll-table + p.ref,
  .full-table + p.com,
  .full-table + p.ref,
  .box + p.com,
  .box + p.ref,
  .img + p.com,
  .img + p.ref {
    margin-top: calc(-1 * var(--space-30));
  }
}

.article-content img + p.com,
.article-content img + p.ref,
.article-content .i-double + p.com,
.article-content .i-double + p.ref {
  padding-top: 0.8em;
  margin-bottom: 0;
}

.article-content .refs {
  font-size: 0.72em;
}

.article-content .refs ul,
.article-content .refs .title {
  margin-bottom: 0;
}

.article-content .refs li {
  display: inline-block;
}

.article-content .refs li::after {
  content: "/";
  margin: 0 var(--space-5);
}

.article-content .refs li:last-child::after {
  display: none;
}

.article-content .t-s-text {
  color: var(--color-gray-medium);
  font-size: 0.64em;
  padding-top: 0.8em;
}

blockquote.bq-none {
  margin-bottom: 0;
}

blockquote:not(.bq-none) {
  position: relative;
  padding: var(--space-24) 0 var(--space-12) 0;
  border-top: 1px solid var(--color-border-strong);
  border-bottom: 1px solid var(--color-border-strong);
}

@media (min-width: 900px) {
  blockquote:not(.bq-none) {
    padding: var(--space-30) 0 var(--space-15) 0;
  }
}

@media (min-width: 768px) {
  blockquote:not(.bq-none) {
    padding: var(--space-30) 0 var(--space-15) 0;
  }
}

blockquote:not(.bq-none)::before,
blockquote:not(.bq-none)::after {
  position: absolute;
  height: 32px;
  line-height: 32px;
  font-size: var(--font-size-24);
  color: var(--color-border-strong);
  font-family: var(--font-icon);
  background: var(--color-white);
}

blockquote:not(.bq-none)::before {
  padding-right: var(--space-12);
  top: -16px;
  left: 0;
  content: "\e920";
}

blockquote:not(.bq-none)::after {
  padding-left: var(--space-12);
  bottom: -16px;
  right: 0;
  content: "\e919";
}

blockquote:not(.bq-none) cite {
  display: block;
  text-align: right;
  font-size: var(--font-size-12);
  padding-right: 36px;
  color: var(--color-reference);
}

blockquote:not(.bq-none) cite a {
  color: var(--color-reference);
  text-decoration: none;
}

blockquote:not(.bq-none) cite a:hover {
  color: var(--color-reference);
  text-decoration: underline;
}

blockquote:not(.bq-none) p {
  font-size: 0.96em;
  margin-bottom: var(--space-12);
}

.article-content table p,
.article-content table ul,
.article-content table ol {
  margin-bottom: 1em;
}

.article-content table p.t-s-none,
.article-content table ul.t-s-none,
.article-content table ol.t-s-none {
  margin-bottom: 0;
}

.article-content table p.t-s-half,
.article-content table ul.t-s-half,
.article-content table ol.t-s-half {
  margin-bottom: 0.5em;
}

.article-content table ul li,
.article-content table ol li {
  margin: 0.1em 0;
}

table {
  line-height: 1.4;
  border: 1px solid var(--color-border-strong);
}

table td,
table th {
  padding: var(--space-8) var(--space-6);
  border-right: 1px solid var(--color-border-strong);
}

table tr {
  border-bottom: 1px solid var(--color-border-strong);
}

table tr td:last-child {
  border-right: none;
}

table.tb-t-left {
  text-align: left;
}

table.tb-t-left td,
table.tb-t-left th {
  text-align: left;
}

table.tb-t-center {
  text-align: center;
}

table.tb-t-center td,
table.tb-t-center th {
  text-align: center;
}

table.tb-th-no-border th {
  border: none;
}

table.tb-border-white {
  border: none;
}

table.tb-border-white td,
table.tb-border-white th {
  border-right: 2px solid var(--color-white);
}

table.tb-border-white tr {
  border-bottom: 2px solid var(--color-white);
}

table.tb-border-white tr td:last-child {
  border-right: none;
}

table.tb-no-border {
  border: none;
}

table.tb-no-border td,
table.tb-no-border th,
table.tb-no-border tr {
  border: none;
}

table.tb-bottom-border td,
table.tb-bottom-border th {
  border: none;
}

table.tb-bottom-border-noframe {
  border-left: none;
  border-right: none;
}

table.tb-bottom-border-noframe td,
table.tb-bottom-border-noframe th {
  border: none;
}

table.tb-bottom-border-dot td,
table.tb-bottom-border-dot th {
  border: none;
}

table.tb-bottom-border-dot tr {
  border-style: dotted;
}

table.tb-bottom-border-dot tr:last-child {
  border-style: solid;
}

table.tb-bottom-border-dot-noframe {
  border-left: none;
  border-right: none;
  border-top-style: dotted;
}

table.tb-bottom-border-dot-noframe td,
table.tb-bottom-border-dot-noframe th {
  border: none;
}

table.tb-bottom-border-dot-noframe tr {
  border-style: dotted;
}

table.tb-bg-colored-hor tbody tr:nth-child(even) {
  background: var(--color-gray-light);
}

table.tb-bg-colored-hor tbody tr:nth-child(odd) {
  background: var(--color-white);
}

table.tb-bg-colored-ver tr th:nth-child(odd),
table.tb-bg-colored-ver tr td:nth-child(odd) {
  background: var(--color-gray-light);
}

table.tb-bg-colored-ver tr:last-of-type td {
  border-bottom: none;
}

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

table a:hover {
  text-decoration: underline;
  color: var(--color-link);
}

.scroll-table {
  overflow-x: auto;
  white-space: nowrap;
  width: 100%;
}

.scroll-table table {
  width: 100%;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

.scroll-table::-webkit-scrollbar {
  height: 5px;
}

.full-table {
  width: 100%;
}

.full-table table {
  width: 100%;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 414px) {
  .tb-mq {
    border-bottom: none;
  }

  .tb-mq td,
  .tb-mq th {
    border-left: none;
    border-right: none;
    border-top: none;
    display: block;
    width: 100%;
  }
}

.article-content ul,
.article-content ol {
  position: relative;
}

.article-content ul ul,
.article-content ul ol,
.article-content ol ul,
.article-content ol ol {
  margin-bottom: 0;
}

.article-content
  ul:not(.lists-steps):not(.lists-timeline):not(.lists-inline):not(
    #toc-lists-child
  ):not(.toc-lists):not(table ul):not(table ol)
  li,
.article-content
  ol:not(.lists-steps):not(.lists-timeline):not(.lists-inline):not(
    #toc-lists-child
  ):not(.toc-lists):not(table ul):not(table ol)
  li {
  margin: 0.4em 0;
}

.article-content
  ul:not(.lists-steps):not(.lists-timeline):not(.lists-inline):not(
    #toc-lists-child
  ):not(.toc-lists):not(table ul):not(table ol)
  li
  > ul,
.article-content
  ul:not(.lists-steps):not(.lists-timeline):not(.lists-inline):not(
    #toc-lists-child
  ):not(.toc-lists):not(table ul):not(table ol)
  li
  ol,
.article-content
  ol:not(.lists-steps):not(.lists-timeline):not(.lists-inline):not(
    #toc-lists-child
  ):not(.toc-lists):not(table ul):not(table ol)
  li
  > ul,
.article-content
  ol:not(.lists-steps):not(.lists-timeline):not(.lists-inline):not(
    #toc-lists-child
  ):not(.toc-lists):not(table ul):not(table ol)
  li
  ol {
  margin-top: 0.4em;
}

.article-content ul li,
.article-content ol li {
  position: relative;
  margin: 0 0;
}

.article-content ul li a,
.article-content ol li a {
  color: var(--color-text);
  text-decoration: none;
}

.article-content ul li a:hover,
.article-content ol li a:hover {
  color: var(--color-text);
  text-decoration: underline;
}

.article-content ul li > ul,
.article-content ul li ol,
.article-content ol li > ul,
.article-content ol li ol {
  margin-top: 0;
}

.article-content ol li {
  padding-left: 1.6em;
}

.article-content ol li i {
  left: 0;
  position: absolute;
}

.article-content ol li i::before {
  line-height: 1.4;
  font-size: 1.2em;
}

.article-content ol.lists-rank .icon-num-1 {
  color: var(--color-rank-gold);
}

.article-content ol.lists-rank .icon-num-2 {
  color: var(--color-rank-silver);
}

.article-content ol.lists-rank .icon-num-3 {
  color: var(--color-rank-bronze);
}

.article-content [class^="icon-num"],
.article-content [class*=" icon-num"] {
  color: var(--color-blue-light);
}

.article-content li.head-text {
  padding-bottom: var(--space-6);
  border-bottom: 1px dashed var(--color-reference);
}

.article-content li.head-text:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.article-content .head-text a {
  vertical-align: middle;
  text-decoration: none;
  font-weight: bold;
  color: var(--color-link);
}

.article-content .head-text a:hover {
  text-decoration: underline;
}

.article-content .head-text span:first-child {
  font-size: 0.72em;
  background: var(--color-green-light);
  color: var(--color-white);
  padding: 0.36em 1em;
  border-radius: var(--radius-2);
  margin-right: var(--space-10);
  position: relative;
}

.article-content .head-icon {
  position: relative;
  padding-left: 1.6em;
}

.article-content .head-icon > i:first-child {
  color: var(--color-muted);
  left: 0;
  position: absolute;
}

.article-content .head-icon > i::before {
  line-height: 1.68;
}

.article-content .head-icon-dot {
  position: relative;
  padding-left: 1.2em;
}

.article-content .head-icon-dot > i:first-child {
  color: var(--color-muted);
  left: 0;
  position: absolute;
}

.article-content .head-icon-dot > i::before {
  line-height: 1.68;
}

.article-content .lists-dot li {
  padding-left: 1.2em;
}

.article-content .lists-dot li > i:first-child {
  left: 0;
  position: absolute;
  color: var(--color-muted);
}

.article-content .lists-dot li > i::before {
  line-height: 1.68;
}

.article-content .lists-inline li {
  display: inline;
  margin-right: var(--space-10);
}

.article-content .lists-bar li {
  padding-left: 1.2em;
}

.article-content .lists-bar li::before {
  content: "-";
  left: 0;
  position: absolute;
  color: var(--color-muted);
}

.article-content .lists-steps li {
  text-align: center;
}

.article-content .lists-steps li .wd {
  display: block;
  border: 2px solid var(--color-border-strong);
  font-size: 0.88em;
  padding: var(--space-4);
  margin-bottom: var(--space-8);
}

.article-content .lists-steps li:last-child i {
  display: none;
}

.article-content .lists-steps li i {
  color: var(--color-muted);
}

.article-content .lists-timeline {
  border-left: 3px solid var(--color-border-strong);
  margin-left: var(--space-6);
}

.article-content .lists-timeline li {
  padding-left: 1.6em;
  margin: 1em 0;
}

.article-content .lists-timeline i {
  left: -8px;
  position: absolute;
  color: var(--color-border-strong);
}

.article-content .lists-timeline i::before {
  line-height: 1.68;
}

.article-content .links a,
.article-content .ilinks a,
.article-content .head-text a,
.article-content .head-icon a {
  font-size: 0.96em;
}

.article-content .bcard .title {
  font-size: 0.96em;
}

.article-content .ranking {
  font-weight: bold;
  display: flex;
  align-items: center;
  background-repeat: repeat;
}

.article-content .ranking i {
  font-size: 2em;
  margin-right: 0.3em;
}

.article-content .ranking .icon-award-badge1 {
  color: var(--color-rank-gold);
}

.article-content .ranking .icon-award-badge2 {
  color: var(--color-rank-silver);
}

.article-content .ranking .icon-award-badge3 {
  color: var(--color-rank-bronze);
}

.article-content .ranking [class^="icon-num"],
.article-content .ranking [class*=" icon-num"] {
  color: var(--color-theme);
  font-size: 1.8em;
}

.article-content p.ranking {
  padding: 0.64em;
  font-size: var(--font-size-16);
  background: var(--color-surface);
  border-left: 6px solid var(--color-border-strong);
  border-top: none;
}

.article-content p.ranking::before {
  border: none;
}

@media (min-width: 768px) {
  .article-content p.ranking {
    font-size: var(--font-size-18);
  }
}

.article-content h2.ranking {
  background: var(--color-surface);
  border-left: 6px solid var(--color-border-strong);
  border-top: none;
  border-bottom: none;
  padding: 0.64em;
}

.article-content h2.ranking::before {
  border: none;
}

.article-content h3.ranking {
  background: var(--color-surface);
  border-left: 6px solid var(--color-border-strong);
  border-top: none;
  border-bottom: none;
  padding: 0.64em;
}

.article-content h3.ranking::before {
  border: none;
}

.article-content .toc {
  padding: var(--space-16) 0;
  border-top: 3px double var(--color-border);
  border-bottom: 3px double var(--color-border);
}

.article-content .toc::after,
.article-content .toc::before {
  position: absolute;
  display: block;
  content: "";
  width: 100%;
  height: 6px;
}

.article-content .toc::before {
  top: 0;
}

.article-content .toc::after {
  bottom: 0;
}

.article-content .toc .toc-title {
  position: relative;
  margin-bottom: var(--space-8);
  font-weight: bold;
  text-align: center;
  height: 32px;
  line-height: 32px;
}

.article-content .toc .toc-lists-child li:last-child {
  margin-bottom: 0;
}

.article-content .toc #toc-lists-child,
.article-content .toc .toc-lists {
  margin-bottom: 0;
  margin-top: 0;
}

.article-content .toc #toc-lists-child li,
.article-content .toc .toc-lists li {
  margin-bottom: 0.4em;
  padding-left: 1.2em;
}

.article-content .toc #toc-lists-child li.depth-1,
.article-content .toc #toc-lists-child li.depth-2,
.article-content .toc .toc-lists li.depth-1,
.article-content .toc .toc-lists li.depth-2 {
  margin-bottom: 0.2em;
}

.article-content .toc #toc-lists-child li.depth-0 a,
.article-content .toc .toc-lists li.depth-0 a {
  font-weight: bold;
}

.article-content .toc #toc-lists-child li.depth-0::before,
.article-content .toc .toc-lists li.depth-0::before {
  font-family: var(--font-icon);
  content: "\f0da";
  left: 5px;
  position: absolute;
  color: var(--color-theme);
}

.article-content .toc #toc-lists-child li.depth-1,
.article-content .toc .toc-lists li.depth-1 {
  margin-left: 1.2em;
  padding-left: 1.2em;
  font-size: 0.96em;
}

.article-content .toc #toc-lists-child li.depth-2,
.article-content .toc .toc-lists li.depth-2 {
  margin-left: 2.4em;
  padding-left: 1.2em;
}

.article-content .toc #toc-lists-child i,
.article-content .toc .toc-lists i {
  left: 0;
  position: absolute;
  color: var(--color-muted);
}

.article-content .toc #toc-lists-child i::before,
.article-content .toc .toc-lists i::before {
  line-height: 1.68;
}

.article-content .toc #toc-lists-child {
  display: none;
}

.article-content .toc #toc-bottom {
  position: relative;
  font-size: var(--font-size-18);
  text-align: center;
  padding-top: var(--space-8);
}

@media (min-width: 768px) {
  .article-content .toc #toc-bottom {
    padding-top: var(--space-16);
  }
}

.article-content .toc #toc-bottom::before {
  transition: transform var(--duration-menu), opacity var(--duration-menu);
  width: 100%;
  height: 72px;
  top: -72px;
  left: 0;
  position: absolute;
  content: "";
  pointer-events: none;
  background: linear-gradient(
    var(--color-white-transparent) 0,
    var(--color-white)
  );
}

.article-content .toc #toc-bottom.active::before {
  opacity: 0;
}

.article-content .toc #toc-trigger {
  cursor: pointer;
  width: 24px;
  height: 24px;
  color: var(--color-muted);
  margin: 0 auto;
}

.article-content .toc #toc-close,
.article-content .toc #toc-open {
  transition: transform var(--duration-menu), opacity var(--duration-menu);
}

.article-content .toc #toc-close i,
.article-content .toc #toc-open i {
  line-height: 24px;
  font-size: var(--font-size-24);
}

.article-content .toc #toc-open {
  display: inherit;
}

.article-content .toc #toc-close {
  display: none;
}

.article-content .toc li.depth-1::before,
.article-content .toc li.depth-2::before {
  content: "-";
  left: 0;
  position: absolute;
  color: var(--color-muted);
}

.article-content .toc .h-bottom {
  display: none;
}

.article-content .toc .audio {
  display: none;
}

.article-content h2.h-top-bottom,
.article-content h2.h-phrase-eng-top,
.article-content h2.h-phrase-eng-bottom,
.article-content h3.h-top-bottom,
.article-content h3.h-phrase-eng-top,
.article-content h3.h-phrase-eng-bottom,
.article-content p.h-top-bottom,
.article-content p.h-phrase-eng-top,
.article-content p.h-phrase-eng-bottom {
  font-weight: 600;
  border: none;
  padding: 0 0 0 var(--space-8);
  font-size: var(--font-size-18);
}

@media (min-width: 768px) {
  .article-content h2.h-top-bottom,
  .article-content h2.h-phrase-eng-top,
  .article-content h2.h-phrase-eng-bottom,
  .article-content h3.h-top-bottom,
  .article-content h3.h-phrase-eng-top,
  .article-content h3.h-phrase-eng-bottom,
  .article-content p.h-top-bottom,
  .article-content p.h-phrase-eng-top,
  .article-content p.h-phrase-eng-bottom {
    font-size: var(--font-size-20);
  }
}

.article-content h2.h-top-bottom .h-top,
.article-content h2.h-phrase-eng-top .h-top,
.article-content h2.h-phrase-eng-bottom .h-top,
.article-content h3.h-top-bottom .h-top,
.article-content h3.h-phrase-eng-top .h-top,
.article-content h3.h-phrase-eng-bottom .h-top,
.article-content p.h-top-bottom .h-top,
.article-content p.h-phrase-eng-top .h-top,
.article-content p.h-phrase-eng-bottom .h-top {
  margin-bottom: var(--space-2);
}

.article-content h2.h-top-bottom .h-bottom,
.article-content h2.h-phrase-eng-top .h-bottom,
.article-content h2.h-phrase-eng-bottom .h-bottom,
.article-content h3.h-top-bottom .h-bottom,
.article-content h3.h-phrase-eng-top .h-bottom,
.article-content h3.h-phrase-eng-bottom .h-bottom,
.article-content p.h-top-bottom .h-bottom,
.article-content p.h-phrase-eng-top .h-bottom,
.article-content p.h-phrase-eng-bottom .h-bottom {
  display: block;
  font-size: var(--font-size-15);
}

@media (min-width: 768px) {
  .article-content h2.h-top-bottom .h-bottom,
  .article-content h2.h-phrase-eng-top .h-bottom,
  .article-content h2.h-phrase-eng-bottom .h-bottom,
  .article-content h3.h-top-bottom .h-bottom,
  .article-content h3.h-phrase-eng-top .h-bottom,
  .article-content h3.h-phrase-eng-bottom .h-bottom,
  .article-content p.h-top-bottom .h-bottom,
  .article-content p.h-phrase-eng-top .h-bottom,
  .article-content p.h-phrase-eng-bottom .h-bottom {
    font-size: var(--font-size-16);
  }
}

@media (min-width: 900px) {
  .article-content h2.h-top-bottom .h-bottom,
  .article-content h2.h-phrase-eng-top .h-bottom,
  .article-content h2.h-phrase-eng-bottom .h-bottom,
  .article-content h3.h-top-bottom .h-bottom,
  .article-content h3.h-phrase-eng-top .h-bottom,
  .article-content h3.h-phrase-eng-bottom .h-bottom,
  .article-content p.h-top-bottom .h-bottom,
  .article-content p.h-phrase-eng-top .h-bottom,
  .article-content p.h-phrase-eng-bottom .h-bottom {
    font-size: var(--font-size-16);
  }
}

.article-content h2.h-top-bottom,
.article-content h3.h-top-bottom,
.article-content p.h-top-bottom {
  border-left: 4px solid var(--color-theme);
}

.article-content h2.h-phrase-eng-bottom,
.article-content h3.h-phrase-eng-bottom,
.article-content p.h-phrase-eng-bottom {
  border-left: 4px solid var(--color-border-strong);
}

.article-content h2.h-phrase-eng-bottom .h-bottom,
.article-content h3.h-phrase-eng-bottom .h-bottom,
.article-content p.h-phrase-eng-bottom .h-bottom {
  color: var(--color-red);
}

.article-content h2.h-phrase-eng-top,
.article-content h3.h-phrase-eng-top,
.article-content p.h-phrase-eng-top {
  border-left: 4px solid var(--color-border-strong);
}

.article-content h2.h-phrase-eng-top .h-top,
.article-content h3.h-phrase-eng-top .h-top,
.article-content p.h-phrase-eng-top .h-top {
  color: var(--color-red);
}

.article-content h2 .h-bottom,
.article-content h3 .h-bottom,
.article-content p .h-bottom {
  border-top: 2px dotted var(--color-border-strong);
  padding-top: 0.3em;
  margin-top: 0.3em;
}

.article-content h2.border-bottom,
.article-content h3.border-bottom,
.article-content p.border-bottom {
  font-weight: 600;
  padding: 0.56em 0;
  margin-bottom: var(--space-24);
  border-bottom: 2px solid var(--color-border-strong);
  font-size: var(--font-size-16);
}

@media (min-width: 768px) {
  .article-content h2.border-bottom,
  .article-content h3.border-bottom,
  .article-content p.border-bottom {
    margin-bottom: var(--space-30);
    font-size: 1.7rem;
  }
}

@media (min-width: 900px) {
  .article-content h2.border-bottom,
  .article-content h3.border-bottom,
  .article-content p.border-bottom {
    margin-bottom: var(--space-30);
  }
}

.article-content h2,
.article-content h3 {
  font-weight: 600;
  padding: 0.56em 0;
  margin-bottom: var(--space-24);
}

@media (min-width: 768px) {
  .article-content h2,
  .article-content h3 {
    margin-bottom: var(--space-30);
  }
}

@media (min-width: 900px) {
  .article-content h2,
  .article-content h3 {
    margin-bottom: var(--space-30);
  }
}

.article-content h2.h-colored-bg,
.article-content h3.h-colored-bg {
  padding: 0.64em 0.64em 0.64em 0.8em;
  border: none;
}

.article-content h2 {
  font-size: var(--font-size-18);
  border-top: 3px double var(--color-theme);
  border-bottom: 3px double var(--color-theme);
}

.article-content h2.h-colored-bg {
  background: var(--color-theme);
  border-left: 6px solid var(--color-theme);
  color: var(--color-white);
}

@media (min-width: 768px) {
  .article-content h2 {
    font-size: var(--font-size-20);
  }
}

.article-content h3 {
  font-size: var(--font-size-16);
  border-top: none;
  border-bottom: 2px solid var(--color-theme);
}

.article-content h3.h-colored-bg {
  background: var(--color-heading-surface);
  border-left: 6px solid var(--color-theme);
}

@media (min-width: 768px) {
  .article-content h3 {
    font-size: var(--font-size-18);
  }
}

.article-content h4 {
  border-bottom: 2px solid var(--color-theme);
  padding: 0.4em 0 0.4em 0;
  font-weight: bold;
}

hr {
  border-bottom-width: 2px;
  border-style: solid;
  border-color: var(--color-border-strong);
}

/**
 * Article SNS Share
 */

.shares a {
  color: var(--color-white);
  text-decoration: none;
}

.shares a:hover {
  color: var(--color-white);
  text-decoration: none;
}

.shares {
  margin-bottom: var(--widget-spacing);
}

@media (min-width: 768px) {
  .shares {
    margin-bottom: var(--widget-spacing);
  }
}

@media (min-width: 900px) {
  .shares {
    margin-bottom: var(--widget-spacing);
  }
}

@media (min-width: 900px) {
  .content-article .shares .line {
    display: none;
  }
}

.shares ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.shares ul li {
  text-align: center;
  flex: 1 1 0%;
  height: 32px;
  width: calc((100% - 18px) / 4);
}

.shares a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.shares span {
  font-size: var(--font-size-11);
  margin-left: var(--space-8);
  line-height: 1;
}

@media (min-width: 768px) {
  .shares span {
    font-size: var(--font-size-12);
  }
}

.shares i {
  font-size: var(--font-size-18);
}

.shares .icon-facebook {
  font-size: 1.9rem;
}

.shares .twitter {
  background-color: var(--color-twitter);
}

.shares .facebook {
  background-color: var(--color-facebook);
}

.shares .line {
  background-color: var(--color-line);
}

/******************************
* Side
******************************/

/******************************
* Widget
******************************/

@media (min-width: 900px) {
  .outer-bottom-content {
    display: none;
  }
}

.post-bottom-content-widget .sns-follow-widget {
  display: none;
}

@media (min-width: 900px) {
  .post-bottom-content-widget .sns-follow-widget {
    display: flex;
  }
}

.widget a {
  color: var(--color-text);
  text-decoration: none;
}

.widget a:hover {
  color: var(--color-text);
  text-decoration: none;
}

.widget {
  margin-bottom: var(--widget-spacing);
}

@media (min-width: 768px) {
  .widget {
    margin-bottom: var(--widget-spacing);
  }
}

@media (min-width: 900px) {
  .widget {
    margin-bottom: var(--widget-spacing);
  }
}

#side .widget:last-child,
.outer-bottom-content .widget:last-child,
.overlay .widget:last-child {
  margin-bottom: 0;
}

.overlay .widget {
  margin-bottom: 0;
}

@media (min-width: 900px) {
  .post-bottom-content-widget .widget:last-child {
    margin-bottom: 0;
  }
}

.widget .widget-title {
  font-weight: bold;
  margin-bottom: var(--space-24);
  padding: 0 var(--space-10);
  height: 40px;
  line-height: 40px;
  color: var(--color-white);
  background: var(--color-theme);
}

@media (min-width: 768px) {
  .widget .widget-title {
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 900px) {
  .widget .widget-title {
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 768px) {
  .overlay .mobile .widget .widget-title,
  #side .widget .widget-title {
    padding: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  .overlay .mobile .widget .widget-title,
  #side .widget .widget-title {
    padding: 0 var(--space-10);
  }
}

.widget.custom-menu-widget {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .widget.custom-menu-widget {
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 900px) {
  .widget.custom-menu-widget {
    margin-bottom: var(--space-32);
  }
}

.widget.custom-menu-widget .widget-title {
  margin-bottom: var(--space-8);
}

.widget.custom-posts-widget {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .widget.custom-posts-widget {
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 900px) {
  .widget.custom-posts-widget {
    margin-bottom: var(--space-32);
  }
}

#side .widget.widget_search {
  display: none;
}

@media (min-width: 900px) {
  #side .widget.widget_search {
    display: inherit;
  }
}

.inner-top-content .widget {
  margin-bottom: 0;
}

.footer-bottom .widget {
  margin-bottom: var(--space-16);
}

/******************************
* SNS Follow
******************************/

.sns-follow {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

#side .sns-follow {
  margin: 0 var(--space-10);
}

@media (min-width: 768px) {
  #side .sns-follow {
    margin: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  #side .sns-follow {
    margin: 0;
  }
}

.sns-follow a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--color-white);
}

.sns-follow a:hover {
  color: var(--color-white);
}

.sns-follow li {
  position: relative;
  height: 40px;
  width: 100%;
  margin: 0 auto var(--space-10) auto;
  border-radius: var(--radius-3);
}

.sns-follow li:last-child {
  margin-bottom: 0;
}

.sns-follow .wd {
  flex: 1 0 0%;
  font-size: var(--font-size-12);
  padding-left: var(--space-8);
  height: 24px;
  line-height: 24px;
}

@media (min-width: 768px) {
  .sns-follow .wd {
    padding-left: var(--space-16);
    font-size: var(--font-size-13);
  }
}

.sns-follow i {
  font-size: var(--font-size-20);
  width: 36px;
  text-align: center;
}

@media (min-width: 768px) {
  .sns-follow i {
    width: 48px;
    font-size: var(--font-size-22);
  }
}

.sns-follow .icon-twitter {
  font-size: var(--font-size-18);
}

@media (min-width: 768px) {
  .sns-follow .icon-twitter {
    font-size: var(--font-size-20);
  }
}

.sns-follow .icon-facebook {
  font-size: var(--font-size-18);
}

@media (min-width: 768px) {
  .sns-follow .icon-facebook {
    font-size: var(--font-size-20);
  }
}

.sns-follow .icon-feedly {
  font-size: var(--font-size-22);
}

@media (min-width: 768px) {
  .sns-follow .icon-feedly {
    font-size: var(--font-size-24);
  }
}

.sns-follow .icon-magnifying-glass {
  font-size: var(--font-size-20);
}

@media (min-width: 768px) {
  .sns-follow .icon-magnifying-glass {
    font-size: var(--font-size-22);
  }
}

.sns-follow .twitter {
  background-color: var(--color-twitter);
}

.sns-follow .twitter .wd {
  border-left: 1px dashed var(--color-twitter-accent);
}

.sns-follow .facebook {
  background-color: var(--color-facebook);
}

.sns-follow .facebook .wd {
  border-left: 1px dashed var(--color-facebook-accent);
}

.sns-follow .feedly {
  background-color: var(--color-feedly);
}

.sns-follow .feedly .wd {
  border-left: 1px dashed var(--color-feedly-accent);
}

.outer-bottom-content .sns-follow-widget,
.overlay .sns-follow-widget,
.post-bottom-content-widget .sns-follow-widget {
  padding: var(--space-24) 0;
  background: var(--color-surface);
  display: flex;
}

.outer-bottom-content .sns-follow-widget .desc,
.outer-bottom-content .sns-follow-widget .sns-follow,
.overlay .sns-follow-widget .desc,
.overlay .sns-follow-widget .sns-follow,
.post-bottom-content-widget .sns-follow-widget .desc,
.post-bottom-content-widget .sns-follow-widget .sns-follow {
  width: 50%;
  padding: 0 var(--space-10);
}

@media (min-width: 768px) {
  .outer-bottom-content .sns-follow-widget .desc,
  .outer-bottom-content .sns-follow-widget .sns-follow,
  .overlay .sns-follow-widget .desc,
  .overlay .sns-follow-widget .sns-follow,
  .post-bottom-content-widget .sns-follow-widget .desc,
  .post-bottom-content-widget .sns-follow-widget .sns-follow {
    padding: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  .outer-bottom-content .sns-follow-widget .desc,
  .outer-bottom-content .sns-follow-widget .sns-follow,
  .overlay .sns-follow-widget .desc,
  .overlay .sns-follow-widget .sns-follow,
  .post-bottom-content-widget .sns-follow-widget .desc,
  .post-bottom-content-widget .sns-follow-widget .sns-follow {
    padding: 0 var(--space-16);
  }
}

.outer-bottom-content .sns-follow-widget .desc,
.overlay .sns-follow-widget .desc,
.post-bottom-content-widget .sns-follow-widget .desc {
  display: flex;
  position: relative;
  font-size: var(--font-size-12);
  text-align: center;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--color-border);
}

@media (min-width: 768px) {
  .outer-bottom-content .sns-follow-widget .desc,
  .overlay .sns-follow-widget .desc,
  .post-bottom-content-widget .sns-follow-widget .desc {
    font-size: var(--font-size-15);
  }
}

.outer-bottom-content .sns-follow-widget .desc > div,
.overlay .sns-follow-widget .desc > div,
.post-bottom-content-widget .sns-follow-widget .desc > div {
  width: 100%;
}

.outer-bottom-content .sns-follow-widget .logo,
.overlay .sns-follow-widget .logo,
.post-bottom-content-widget .sns-follow-widget .logo {
  margin-bottom: var(--space-16);
}

.outer-bottom-content .sns-follow-widget .logo a,
.overlay .sns-follow-widget .logo a,
.post-bottom-content-widget .sns-follow-widget .logo a {
  display: block;
}

.outer-bottom-content .sns-follow-widget .logo img,
.overlay .sns-follow-widget .logo img,
.post-bottom-content-widget .sns-follow-widget .logo img {
  width: 72%;
  max-width: 180px;
}

.outer-bottom-content .sns-follow-widget .desc {
  font-weight: normal;
  color: var(--color-text-secondary);
}

/**
 * Categories
 */

.categories li a {
  font-size: 0.96em;
  font-weight: bold;
  display: block;
  border-bottom: 1px solid var(--color-border);
  padding-top: var(--space-8);
  padding-bottom: var(--space-8);
}

.overlay .mobile .categories li a,
.no-content-widget .categories li a,
#side .categories li a {
  padding-left: var(--space-10);
  padding-right: var(--space-10);
}

@media (min-width: 768px) {
  .overlay .mobile .categories li a,
  .no-content-widget .categories li a,
  #side .categories li a {
    padding-left: var(--space-16);
    padding-right: var(--space-16);
  }
}

@media (min-width: 900px) {
  .overlay .mobile .categories li a,
  .no-content-widget .categories li a,
  #side .categories li a {
    padding-left: 0;
    padding-right: 0;
  }
}

.categories li ul li a {
  font-weight: normal;
}

.categories li ul li a::before {
  content: "-";
  margin-right: var(--space-8);
}

/**
 * Search
 */

.search-select {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.article-content .search-select {
  margin-bottom: 0;
}

.search-select > div {
  width: 100%;
}

@media (min-width: 768px) {
  .search-select > div {
    width: calc(50% - 8px);
  }
}

.search-form {
  position: relative;
  margin: 0 auto;
}

.search-form input {
  display: block;
}

.search-form input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.search-form .search-field {
  font-size: var(--font-size-16);
}

.search-form .search-submit {
  font-family: var(--font-icon);
  cursor: pointer;
  position: absolute;
  top: 0;
}

#side .search-box .search-form {
  height: 40px;
  width: 300px;
  border: 1px solid var(--color-surface);
  background-color: var(--color-surface);
}

#side .search-box .search-field {
  padding-left: var(--space-10);
  transform-origin: center left;
  transform: scale(0.9375);
  width: calc((100% - 38px) * 1.0666666667);
  line-height: 38px;
  background-color: var(--color-surface);
}

#side .search-box .search-submit {
  font-size: var(--font-size-20);
  height: 38px;
  width: 38px;
  color: var(--color-muted);
  background-color: var(--color-surface);
  right: 0;
}

.overlay .search-box .search-form {
  width: 100%;
  height: 48px;
  border: 1px solid var(--color-surface);
  background-color: var(--color-surface);
}

.overlay .search-box .search-field {
  padding-left: var(--space-10);
  transform-origin: center left;
  transform: scale(0.9375);
  width: calc((100% - 46px) * 1.0666666667);
  line-height: 46px;
  background-color: var(--color-surface);
}

.overlay .search-box .search-submit {
  font-size: var(--font-size-20);
  height: 46px;
  width: 46px;
  color: var(--color-muted);
  background-color: var(--color-surface);
  right: 0;
}

@media (min-width: 768px) {
  .no-content-widget .search-box {
    margin: var(--space-24) 0;
  }
}

.no-content-widget .search-box .search-form {
  width: 100%;
  height: 48px;
  border: 2px solid var(--color-surface);
  background-color: var(--color-surface);
}

@media (min-width: 768px) {
  .no-content-widget .search-box .search-form {
    width: 80%;
  }
}

.no-content-widget .search-box .search-field {
  padding-left: var(--space-10);
  transform-origin: center left;
  transform: scale(0.9375);
  width: calc((100% - 44px) * 1.0666666667);
  line-height: 44px;
  background-color: var(--color-surface);
}

.no-content-widget .search-box .search-submit {
  font-size: var(--font-size-20);
  height: 44px;
  width: 44px;
  color: var(--color-muted);
  background-color: var(--color-surface);
  right: 0;
}

.js-search-box .search-form {
  width: 100%;
  height: 50px;
  border: 2px solid var(--color-border);
  background-color: var(--color-white);
  border-radius: var(--radius-4);
}

.js-search-box .search-field {
  padding-left: var(--space-10);
  padding-right: var(--space-10);
  line-height: 46px;
  background-color: var(--color-white);
  transform-origin: center left;
  transform: scale(0.875);
  width: calc(100 / 0.875 * 1%);
}

.js-search-box .search-submit {
  font-size: var(--font-size-20);
  height: 46px;
  width: 46px;
  color: var(--color-muted);
}

/**
 * Select
 */

.select-box {
  width: 100%;
}

.select-box label {
  position: relative;
  display: block;
}

.select-box label::before {
  content: "\f0d7";
  font-family: var(--font-icon);
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  text-align: center;
}

.select-box select {
  cursor: pointer;
  position: relative;
  width: 100%;
  display: block;
  border: none;
  background: transparent;
  font-size: 16px;
}

.js-select-box label {
  width: 100%;
  border: 2px solid var(--color-border);
  background: var(--color-white);
  border-radius: var(--radius-5);
}

.js-select-box label::before {
  font-size: 1.3em;
  width: 46px;
  height: 46px;
  line-height: 46px;
  color: var(--color-muted);
}

.js-select-box select {
  padding-left: var(--space-10);
  color: var(--color-gray-dark);
  height: 46px;
  line-height: 46px;
  transform-origin: center left;
  transform: scale(0.875);
  width: calc(100 / 0.875 * 1%);
}

/**
 * Breadcrumb
 */

.single .bc-current {
  display: none;
}

.header-breadcrumb {
  border-bottom: 1px solid var(--color-border);
  border-top: 1px solid var(--color-border);
}

.footer-breadcrumb {
  border-top: 1px solid var(--color-border);
}

.breadcrumb {
  font-size: var(--font-size-12);
  height: 30px;
  line-height: 30px;
  color: var(--color-text);
}

.breadcrumb a {
  color: var(--color-text);
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--color-text-secondary);
  text-decoration: none;
}

.breadcrumb ul {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  display: flex;
}

.breadcrumb ul::-webkit-scrollbar {
  display: none;
}

.breadcrumb li {
  position: relative;
  white-space: nowrap;
  display: flex;
}

.breadcrumb li::before {
  content: "\e928";
  font-family: var(--font-icon);
  width: 24px;
  text-align: center;
}

.breadcrumb li:first-child {
  padding-left: var(--space-10);
}

.breadcrumb li:first-child::before {
  display: none;
}

@media (min-width: 900px) {
  .breadcrumb li:first-child {
    padding-left: 0;
  }
}

.breadcrumb li:last-child {
  padding-right: var(--space-10);
}

@media (min-width: 900px) {
  .breadcrumb li:last-child {
    padding-right: 0;
  }
}

.breadcrumb i {
  line-height: inherit;
}

.breadcrumb i.sep {
  font-size: 34px;
  width: 34px;
  color: var(--color-border);
}

.breadcrumb i.icon-home {
  font-size: 1.2em;
}

/**
 * Navigation
 */

.nav {
  display: flex;
  justify-content: space-between;
}

@media (min-width: 900px) {
  .nav:not(.single-nav) {
    justify-content: center;
  }

  .nav:not(.single-nav) .next,
  .nav:not(.single-nav) .prev,
  .nav:not(.single-nav) .last,
  .nav:not(.single-nav) .first {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
  }
}

.nav.first-page {
  justify-content: flex-end;
}

@media (min-width: 900px) {
  .nav.first-page {
    justify-content: center;
  }
}

.nav.last-page {
  justify-content: flex-start;
}

@media (min-width: 900px) {
  .nav.last-page {
    justify-content: center;
  }
}

.nav a {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: block;
  position: relative;
}

.nav li {
  height: 100%;
}

.nav .inactive {
  text-align: center;
  display: none;
}

@media (min-width: 900px) {
  .nav .inactive {
    display: block;
  }
}

.nav .current {
  text-align: center;
}

.nav .current.cur {
  display: none;
}

@media (min-width: 900px) {
  .nav .current.cur {
    display: block;
  }
}

.nav .current.max {
  width: 40%;
}

@media (min-width: 900px) {
  .nav .current.max {
    display: none;
  }
}

.nav .next,
.nav .prev,
.nav .last,
.nav .first {
  width: 30%;
}

.nav .last,
.nav .prev {
  padding-left: var(--space-20);
}

.nav .first,
.nav .next {
  text-align: right;
  padding-right: var(--space-20);
}

.nav.archive-nav {
  background-color: var(--color-surface);
  height: 48px;
  color: var(--color-text-secondary);
  margin-bottom: var(--space-24);
}

.nav.archive-nav a {
  color: var(--color-text-secondary);
  text-decoration: none;
}

.nav.archive-nav a:hover {
  color: var(--color-text-secondary);
  text-decoration: none;
}

@media (min-width: 900px) {
  .nav.archive-nav {
    background: none;
    height: 30px;
    margin-bottom: 0;
  }
}

.nav.archive-nav li {
  line-height: 48px;
}

@media (min-width: 900px) {
  .nav.archive-nav li {
    font-size: var(--font-size-18);
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-left: var(--space-8);
    margin-right: var(--space-8);
  }
}

.nav.archive-nav .current.max {
  font-size: var(--font-size-15);
}

@media (min-width: 900px) {
  .nav.archive-nav .current.cur {
    color: var(--color-text-secondary);
    border-bottom: 1px solid var(--color-text-secondary);
  }
}

@media (min-width: 900px) {
  .nav.archive-nav a:hover {
    border-bottom: 1px solid var(--color-text-secondary);
  }
}

.nav.archive-nav .next,
.nav.archive-nav .prev,
.nav.archive-nav .last,
.nav.archive-nav .first {
  font-size: var(--font-size-22);
}

@media (min-width: 900px) {
  .nav.archive-nav .next,
  .nav.archive-nav .prev,
  .nav.archive-nav .last,
  .nav.archive-nav .first {
    width: 30px;
  }
}

.nav.archive-nav .next i,
.nav.archive-nav .prev i,
.nav.archive-nav .last i,
.nav.archive-nav .first i {
  font-weight: bold;
  line-height: 48px;
}

@media (min-width: 900px) {
  .nav.archive-nav .next i,
  .nav.archive-nav .prev i,
  .nav.archive-nav .last i,
  .nav.archive-nav .first i {
    line-height: 30px;
  }
}

.nav.article-nav {
  background-color: var(--color-surface);
  height: 48px;
  color: var(--color-muted);
  margin-bottom: var(--space-24);
}

.nav.article-nav a {
  color: var(--color-muted);
  text-decoration: none;
}

.nav.article-nav a:hover {
  color: var(--color-muted);
  text-decoration: none;
}

@media (min-width: 768px) {
  .nav.article-nav {
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 900px) {
  .nav.article-nav {
    background: none;
    height: 30px;
    margin-bottom: var(--space-32);
  }
}

.nav.article-nav li {
  line-height: 48px;
}

@media (min-width: 900px) {
  .nav.article-nav li {
    font-size: var(--font-size-18);
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-left: var(--space-8);
    margin-right: var(--space-8);
  }
}

.nav.article-nav .current.max {
  font-size: var(--font-size-18);
}

@media (min-width: 900px) {
  .nav.article-nav .current.cur {
    color: var(--color-text-secondary);
    border-bottom: 1px solid var(--color-text-secondary);
  }
}

@media (min-width: 900px) {
  .nav.article-nav a:hover {
    border-bottom: 1px solid var(--color-muted);
  }
}

.nav.article-nav .next,
.nav.article-nav .prev,
.nav.article-nav .last,
.nav.article-nav .first {
  font-size: var(--font-size-22);
}

@media (min-width: 900px) {
  .nav.article-nav .next,
  .nav.article-nav .prev,
  .nav.article-nav .last,
  .nav.article-nav .first {
    width: 30px;
  }
}

.nav.article-nav .next i,
.nav.article-nav .prev i,
.nav.article-nav .last i,
.nav.article-nav .first i {
  font-weight: bold;
  line-height: 48px;
}

@media (min-width: 900px) {
  .nav.article-nav .next i,
  .nav.article-nav .prev i,
  .nav.article-nav .last i,
  .nav.article-nav .first i {
    line-height: 30px;
  }
}

.article-content .nav.article-nav li {
  padding-top: 0px;
  padding-bottom: 0px;
}

.nav.article-nav a {
  text-decoration: none;
  color: var(--color-muted);
}

.nav.article-nav a:hover {
  text-decoration: none;
  color: var(--color-muted);
}

/**
 * Wieget List
 */

.widget-lists .widget-list {
  position: relative;
}

.widget-lists.nor {
  display: flex;
  flex-wrap: wrap;
}

.widget-lists.nor .rank {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  font-size: var(--font-size-11);
  color: var(--color-white);
  background-color: var(--color-red);
}

.widget-lists.nor .rank::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 10px solid var(--color-red);
  border-right: 10px solid var(--color-red);
  border-bottom: 6px solid transparent;
}

.widget-lists.nor .rank.no-1 {
  background-color: var(--color-rank-gold);
}

.widget-lists.nor .rank.no-1::after {
  border-left-color: var(--color-rank-gold);
  border-right-color: var(--color-rank-gold);
}

.widget-lists.nor .rank.no-2 {
  background-color: var(--color-rank-silver);
}

.widget-lists.nor .rank.no-2::after {
  border-left-color: var(--color-rank-silver);
  border-right-color: var(--color-rank-silver);
}

.widget-lists.nor .rank.no-3 {
  background-color: var(--color-rank-bronze);
}

.widget-lists.nor .rank.no-3::after {
  border-left-color: var(--color-rank-bronze);
  border-right-color: var(--color-rank-bronze);
}

.widget-lists.nor.hor {
  margin-top: calc(-1 * var(--space-24));
  justify-content: space-between;
}

@media (min-width: 768px) {
  .widget-lists.nor.hor {
    margin-top: calc(-1 * var(--space-32));
  }
}

@media (min-width: 900px) {
  .widget-lists.nor.hor {
    margin-top: calc(-1 * var(--space-32));
  }
}

.widget-lists.nor.hor a {
  color: var(--color-text);
  text-decoration: none;
}

.widget-lists.nor.hor a:hover {
  color: var(--color-text);
  text-decoration: none;
}

.widget-lists.nor.hor .widget-list {
  width: 100%;
  position: relative;
  border-bottom: 1px solid var(--color-border);
}

@media (min-width: 768px) {
  .widget-lists.nor.hor .widget-list {
    width: 50%;
  }

  .widget-lists.nor.hor .widget-list:nth-child(2n) {
    border-left: 1px solid var(--color-border);
  }
}

@media (min-width: 900px) {
  .widget-lists.nor.hor .widget-list {
    width: 100%;
  }

  .widget-lists.nor.hor .widget-list:nth-child(2n) {
    border-left: none;
  }
}

.widget-lists.nor.hor .widget-list > a {
  width: 100%;
  height: 100%;
  max-height: 100%;
  display: flex;
  padding: var(--space-10) var(--space-10);
}

@media (min-width: 415px) {
  .widget-lists.nor.hor .widget-list > a {
    padding-top: var(--space-16);
    padding-bottom: var(--space-16);
  }
}

@media (min-width: 768px) {
  .widget-lists.nor.hor .widget-list > a {
    padding-left: var(--space-16);
    padding-right: var(--space-16);
  }
}

@media (min-width: 900px) {
  .widget-lists.nor.hor .widget-list > a {
    padding-left: 0;
    padding-right: 0;
  }
}

@media (min-width: 900px) {
  .widget-lists.nor.hor .widget-list:hover .title {
    text-decoration: underline;
  }
}

.widget-lists.nor.hor .thumb {
  overflow: hidden;
  width: 124px;
  height: 76px;
}

@media (min-width: 415px) {
  .widget-lists.nor.hor .thumb {
    width: 142px;
    height: 88px;
  }
}

.widget-lists.nor.hor .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 900px) {
  .widget-lists.nor.hor .thumb {
    width: 101px;
    height: 76px;
  }
}

.widget-lists.nor.hor .title {
  padding: 0 0 0 var(--space-16);
  flex: 1 1 0%;
  font-size: var(--font-size-14);
  overflow: hidden;
  max-height: 76px;
  font-weight: bold;
}

@media (min-width: 415px) {
  .widget-lists.nor.hor .title {
    font-size: var(--font-size-16);
    max-height: 66px;
  }
}

@media (min-width: 768px) {
  .widget-lists.nor.hor .title {
    font-size: var(--font-size-16);
    max-height: 88px;
  }
}

@media (min-width: 900px) {
  .widget-lists.nor.hor .title {
    max-height: 76px;
    font-size: var(--font-size-14);
    font-weight: normal;
  }
}

.no-posts {
  padding-left: var(--space-10);
  padding-right: var(--space-10);
}

.widget-link {
  text-align: right;
  font-size: var(--font-size-12);
  padding-top: var(--space-8);
}

.widget-link a {
  color: var(--color-text-secondary);
  text-decoration: none;
}

.widget-link a:hover {
  color: var(--color-text-secondary);
  text-decoration: underline;
}

.widget-link {
  margin-right: var(--space-10);
  display: none;
}

@media (min-width: 768px) {
  .widget-link {
    margin-right: var(--space-16);
  }
}

@media (min-width: 900px) {
  .widget-link {
    margin-right: 0;
    display: inherit;
  }
}

/**
 * Footer
 */

#outer-footer {
  background-color: var(--color-surface);
}

#footer {
  color: var(--color-text-secondary);
}

#footer a {
  color: var(--color-text-secondary);
  text-decoration: none;
}

#footer a:hover {
  color: var(--color-text-secondary);
  text-decoration: underline;
}

#footer {
  padding: 0 var(--space-10);
}

@media (min-width: 768px) {
  #footer {
    padding: 0 var(--space-16);
  }
}

@media (min-width: 900px) {
  #footer {
    padding: 0 var(--space-30);
  }
}

.footer-bottom {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  border-top: 1px solid var(--color-border);
}

@media (min-width: 768px) {
  .footer-bottom {
    border: none;
  }
}

.footer-bottom .custom-menu-widget {
  width: 100%;
  margin-bottom: 0;
}

.footer-menu {
  font-size: var(--font-size-12);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: var(--space-16) 0 var(--space-8) 0;
}

@media (min-width: 768px) {
  .footer-menu {
    width: 100%;
    padding: var(--space-16) 0;
  }
}

.footer-menu li {
  margin: var(--space-4) var(--space-8);
  text-align: center;
}

.footer-menu li.home {
  display: none;
}

@media (min-width: 768px) {
  .footer-menu li.home {
    display: inherit;
  }
}

@media (min-width: 768px) {
  .footer-menu li {
    margin: 0 var(--space-8);
  }
}

.copyright {
  width: 100%;
  border-top: 1px solid var(--color-border);
  font-size: var(--font-size-13);
  padding: 17px 0;
  text-align: center;
}

#pagetop {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  cursor: pointer;
  text-align: center;
  background-color: var(--color-theme);
  color: var(--color-white);
}

#pagetop.active {
  display: block;
  animation: fadeIn var(--duration-normal) ease forwards;
}

@media (min-width: 768px) {
  #pagetop {
    right: 16px;
    bottom: 16px;
  }
}

#pagetop:hover {
  color: var(--color-white) !important;
}

#pagetop div {
  display: flex;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}

#pagetop span {
  font-size: var(--font-size-12);
  padding-bottom: var(--space-6);
}

#pagetop i {
  font-size: var(--font-size-22);
}

/**
 * Overlay
 */

.overlay-outer {
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
}

.overlay {
  position: fixed;
  z-index: var(--z-overlay);
  top: 0;
  left: 100%;
  width: 100%;
  height: 100%;
  background-color: var(--color-white);
}

/**
 * Contact Form 7
 */

.article-content .wpcf7 {
  margin-bottom: 0;
}

.wpcf7 .wpcf7-select,
.wpcf7 .wpcf7-text {
  height: 40px;
  padding: var(--space-10);
  background-color: var(--color-surface);
  color: var(--color-text);
  width: 100%;
}

@media (min-width: 900px) {
  .wpcf7 .wpcf7-select,
  .wpcf7 .wpcf7-text {
    width: 50%;
  }
}

.wpcf7 .wpcf7-textarea {
  width: 100%;
  padding: var(--space-10);
  resize: vertical;
  background-color: var(--color-surface);
}

.wpcf7 .wpcf7-form-control-wrap {
  display: block;
}

.wpcf7 .wpcf7-submit {
  width: 100%;
  cursor: pointer;
  position: relative;
  height: 48px;
  line-height: 48px;
  font-size: var(--font-size-16);
  letter-spacing: 0.2em;
  font-weight: bold;
  border-radius: var(--radius-4) !important;
  background: var(--color-theme);
  color: var(--color-white);
  box-shadow: var(--shadow-submit);
  margin-bottom: var(--space-4);
}

.wpcf7 .wpcf7-submit:hover {
  top: 4px;
  box-shadow: 0 0px var(--color-theme-shadow);
}

@media (min-width: 900px) {
  .wpcf7 .wpcf7-submit {
    width: 256px;
  }
}

.wpcf7 .wpcf7-recaptcha iframe {
  margin-bottom: 0;
}

.wpcf7 .wpcf7-response-output {
  border: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-acceptance-missing,
.wpcf7 .wpcf7-spam-blocked,
.wpcf7 .wpcf7-mail-sent-ng,
.wpcf7 .wpcf7-aborted {
  border: 2px solid var(--color-red);
  background: var(--color-red);
  color: var(--color-white);
}

.wpcf7 .wpcf7-not-valid-tip {
  display: block;
  position: absolute;
  padding-top: var(--space-4);
  color: var(--color-red);
  font-size: var(--font-size-12);
  font-weight: normal;
  left: 0;
}

.wpcf7 .wpcf7-not-valid-tip::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 12px 0 0;
  border-color: var(--color-red) transparent transparent transparent;
  top: -40px;
}

.wpcf7 .wpcf7-display-none {
  display: none;
  margin-bottom: var(--space-24);
  margin-top: var(--space-24);
}

@media (min-width: 768px) {
  .wpcf7 .wpcf7-display-none {
    margin-top: var(--space-32);
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 900px) {
  .wpcf7 .wpcf7-display-none {
    margin-top: var(--space-32);
    margin-bottom: var(--space-32);
  }
}

.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0;
}

.wpcf7 .ajax-error {
  display: none;
}

.wpcf7 .cus-wpcf7-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: var(--space-12);
}

@media (min-width: 768px) {
  .wpcf7 .cus-wpcf7-block {
    margin-bottom: var(--space-16);
  }
}

@media (min-width: 900px) {
  .wpcf7 .cus-wpcf7-block {
    flex-direction: row;
    margin-bottom: var(--space-32);
  }
}

.wpcf7 .cus-wpcf7-block > div {
  margin-bottom: 0;
}

.cus-wpcf7-input {
  width: 100%;
  flex: 1 1 0%;
  position: relative;
}

.cus-wpcf7-input > p {
  margin-bottom: 0px;
}

.cus-wpcf7-name {
  font-weight: bold;
  width: 100%;
  padding-bottom: var(--space-5);
}

.cus-wpcf7-name > p {
  margin-bottom: 0px;
}

@media (min-width: 900px) {
  .cus-wpcf7-name {
    width: 176px;
    padding-bottom: 0;
  }
}

.wpcf7 .cus-wpcf7-response {
  margin-bottom: 0;
}

@media (min-width: 900px) {
  .wpcf7 .cus-wpcf7-response {
    margin-left: 176px;
  }
}

.wpcf7 .cus-wpcf7-submit {
  margin-bottom: var(--space-24);
}

@media (min-width: 900px) {
  .wpcf7 .cus-wpcf7-submit {
    margin-left: 176px;
    margin-bottom: var(--space-32);
  }
}

.wpcf7 .recaptcha_policy {
  margin-bottom: var(--space-24);
}

.wpcf7 .recaptcha_policy a {
  color: var(--color-link);
  text-decoration: none;
}

.wpcf7 .recaptcha_policy a:hover {
  color: var(--color-link);
  text-decoration: none;
}

@media (min-width: 900px) {
  .wpcf7 .recaptcha_policy {
    margin-left: 176px;
    margin-bottom: var(--space-32);
  }
}

.wpcf7 .ajax-loader.is-active {
  visibility: visible;
}

.wpcf7 .ajax-loader {
  display: none;
  visibility: hidden;
  padding: 0;
  margin-left: var(--space-20);
  width: 30px;
  height: 30px;
  border: none;
  vertical-align: middle;
  background-image: url("../img/ajax-loader-30.svg");
}

@media (min-width: 900px) {
  .wpcf7 .ajax-loader {
    display: inline-block;
  }
}

.wpcf7 .inv-recaptcha-holder {
  margin-bottom: 0;
}

/**
 * Captcha
 */

/**
 * Affiliate
 */

.aff-td-img > img {
  display: none;
  width: 0;
  height: 0;
}

.btn img {
  display: none;
  width: 0;
  height: 0;
}

.aff {
  padding: var(--space-15);
  background: var(--color-surface);
}

.aff .thumb > img {
  display: none;
  width: 0;
  height: 0;
}

.aff table,
.aff .author {
  margin-bottom: 0;
}

.aff .author {
  font-size: var(--font-size-13);
  margin-bottom: var(--space-8);
  color: var(--color-text-caption);
}

@media (min-width: 768px) {
  .aff .author {
    font-size: var(--font-size-14);
  }
}

.aff .title-sub {
  font-size: var(--font-size-13);
  margin-bottom: var(--space-8);
  margin-top: calc(-1 * var(--space-8));
  color: var(--color-text-caption);
}

@media (min-width: 768px) {
  .aff .title-sub {
    font-size: var(--font-size-14);
  }
}

.aff .title {
  font-weight: bold;
}

.aff .btn {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

@media (min-width: 768px) {
  .aff .btn {
    flex-wrap: nowrap;
  }
}

.aff .btn.btn-shadow {
  margin-bottom: 0;
}

.aff .btn > div {
  text-align: center;
  width: calc(50% - 4px);
  margin-bottom: 0;
  margin-top: var(--space-8);
  margin-left: var(--space-8);
}

@media (min-width: 768px) {
  .aff .btn > div {
    width: calc(33% - 4px);
  }
}

.aff .btn > div:first-child {
  margin-left: 0;
}

.aff .btn > div:nth-child(3) {
  margin-left: 0;
}

@media (min-width: 768px) {
  .aff .btn > div:nth-child(3) {
    margin-left: var(--space-8);
  }
}

.aff .detail {
  display: flex;
}

.aff .thumb {
  flex-basis: 110px;
  margin-right: var(--space-15);
  margin-bottom: 0;
}

.aff .thumb a img {
  height: auto;
  width: 100%;
}

.aff .app-links {
  margin-bottom: 0;
  display: flex;
}

.aff .app-links a {
  width: 48%;
  max-width: 150px;
}

.aff .app-links a:first-child {
  margin-right: var(--space-10);
}

.aff .app-links a img {
  width: 100%;
}

.aff.app .head {
  margin-bottom: var(--space-10);
}

.aff.app .head .title {
  font-size: var(--font-size-14);
  line-height: 1.28;
  margin-bottom: var(--space-4);
}

@media (min-width: 768px) {
  .aff.app .head .title {
    line-height: 1.68;
    font-size: var(--font-size-16);
    margin-bottom: var(--space-8);
  }
}

.aff.app .author {
  margin-bottom: var(--space-4);
  font-size: var(--font-size-12);
}

@media (min-width: 768px) {
  .aff.app .author {
    margin-bottom: var(--space-8);
    font-size: var(--font-size-12);
  }
}

.aff.app .thumb {
  flex-basis: 100px;
}

@media (min-width: 768px) {
  .aff.app .thumb {
    flex-basis: 120px;
  }
}

.aff.app .thumb img {
  border-radius: 10%;
}

.aff.normal {
  display: flex;
}

.aff.normal .head {
  margin-bottom: 0;
}

.aff.normal .title {
  margin-bottom: var(--space-8);
}

.aff.normal .detail {
  margin-bottom: 0;
  flex-direction: column;
  justify-content: space-between;
  flex: 1 1 0%;
}

.aff.contain .title,
.aff.contain .author {
  text-align: center;
}

.aff.contain .title {
  margin-bottom: var(--space-5);
}

.aff.contain .head {
  margin-bottom: var(--space-20);
}

.aff.contain .detail {
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-30);
}

.aff.contain .app-links {
  text-align: center;
  justify-content: center;
}

.aff.contain .btn {
  justify-content: center;
}

.aff.hulu .thumb {
  flex-basis: 160px;
}

@media (min-width: 768px) {
  .aff.hulu .thumb {
    flex-basis: 200px;
  }
}

.aff.rakuten .thumb {
  flex-basis: 140px;
}

/**
 * Blog Card
 */

.ex-bcard a,
.bcard a {
  color: var(--color-link);
  text-decoration: none;
}

.ex-bcard a:hover,
.bcard a:hover {
  color: var(--color-link);
  text-decoration: none;
}

.ex-bcard,
.bcard {
  background-color: var(--color-surface-soft);
  border: 1px solid var(--color-border);
  padding: var(--space-12);
  transition: background-color var(--duration-menu),
    border-color var(--duration-menu), color var(--duration-menu),
    box-shadow var(--duration-menu);
}

.ex-bcard .content,
.bcard .content {
  padding: 0 var(--space-16);
  flex: 1 1 0%;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
}

.ex-bcard .title,
.bcard .title {
  font-weight: bold;
  margin-bottom: 0;
  max-height: 48px;
  overflow: hidden;
}

@media (min-width: 768px) {
  .ex-bcard .title,
  .bcard .title {
    max-height: 52px;
  }
}

.ex-bcard .details,
.bcard .details {
  margin-bottom: 0;
  text-align: left;
  color: var(--color-text-secondary);
}

.ex-bcard a,
.bcard a {
  display: flex;
}

.ex-bcard a:hover .title,
.bcard a:hover .title {
  text-decoration: underline;
}

.ex-bcard .thumb,
.bcard .thumb {
  position: relative;
  overflow: hidden;
  flex-basis: 100px;
  max-width: 100px;
  height: 100px;
  margin-bottom: 0;
}

.ex-bcard .content {
  justify-content: space-around;
}

.ex-bcard .thumb {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

.ex-bcard .details {
  font-size: var(--font-size-13);
}

.ex-bcard .details img {
  vertical-align: middle;
  margin-right: var(--space-5);
  margin-top: -1px;
}

.bcard .content {
  justify-content: center;
}

.bcard .thumb {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}

/**
 * Decoration
 */

/** button */

.btn > img {
  width: 0;
  height: 0;
  display: none;
}

.btn > div > span,
.btn > div > a {
  text-align: center;
  position: relative;
  display: inline-block;
  width: 100%;
  font-weight: bold;
  border-radius: var(--radius-3);
  margin-left: var(--space-10);
  color: var(--color-white);
  background: var(--color-button);
  padding: var(--space-16) var(--space-8);
}

@media (min-width: 768px) {
  .btn > div > span,
  .btn > div > a {
    padding: var(--space-16) var(--space-8);
  }
}

.btn > div > span:first-child,
.btn > div > a:first-child {
  margin-left: 0;
}

.btn > div > span:hover,
.btn > div > a:hover {
  color: var(--color-white);
}

.btn.btn-shadow {
  font-size: var(--font-size-14);
  margin-bottom: var(--space-24);
  padding-bottom: var(--space-3);
}

@media (min-width: 768px) {
  .btn.btn-shadow {
    margin-bottom: var(--space-30);
    font-size: var(--font-size-16);
  }
}

@media (min-width: 900px) {
  .btn.btn-shadow {
    margin-bottom: var(--space-30);
  }
}

.btn.btn-shadow > div > a {
  box-shadow: var(--shadow-button);
}

.btn.btn-shadow > div > a:hover {
  background: var(--color-button-hover);
}

.btn.btn-shadow .btn-azn,
.btn.btn-shadow .btn-azb {
  background-color: var(--color-amazon);
  box-shadow: 0 3px var(--color-amazon-shadow);
}

.btn.btn-shadow .btn-azn:hover,
.btn.btn-shadow .btn-azb:hover {
  background: var(--color-amazon-hover);
}

.btn.btn-shadow .btn-azk {
  background-color: var(--color-kindle);
  box-shadow: 0 3px var(--color-kindle-shadow);
}

.btn.btn-shadow .btn-azk:hover {
  background: var(--color-kindle-hover);
}

.btn.btn-shadow .btn-rak,
.btn.btn-shadow .btn-rab {
  background-color: var(--color-rakuten);
  box-shadow: 0 3px var(--color-rakuten-shadow);
}

.btn.btn-shadow .btn-rak:hover,
.btn.btn-shadow .btn-rab:hover {
  background: var(--color-rakuten-hover);
}

.btn.btn-shadow .btn-adb {
  background-color: var(--color-audiobook);
  box-shadow: 0 3px var(--color-audiobook-shadow);
}

.btn.btn-shadow .btn-adb:hover {
  background: var(--color-audiobook-hover);
}

.btn.btn-shadow .btn-hulu {
  background-color: var(--color-hulu);
  box-shadow: 0 3px var(--color-hulu-shadow);
}

.btn.btn-shadow .btn-hulu:hover {
  background: var(--color-hulu-hover);
}

.btn.btn-shadow .btn-none {
  background-color: var(--color-surface);
  box-shadow: 0 3px var(--color-disabled-shadow);
}

.btn.btn-border .btn-rak,
.btn.btn-border .btn-rab {
  border: 1px solid var(--color-rakuten);
  background: var(--color-white);
  color: var(--color-rakuten);
}

.btn.btn-border .btn-rak:hover,
.btn.btn-border .btn-rab:hover {
  color: var(--color-rakuten);
}

.btn.btn-border .btn-azn,
.btn.btn-border .btn-azb {
  border: 1px solid var(--color-amazon);
  background: var(--color-white);
  color: var(--color-amazon);
}

.btn.btn-border .btn-azn:hover,
.btn.btn-border .btn-azb:hover {
  color: var(--color-amazon);
}

.btn.btn-border .btn-aza {
  border: 1px solid var(--color-audiobook);
  background: var(--color-white);
  color: var(--color-audiobook);
}

.btn.btn-border .btn-aza:hover {
  color: var(--color-audiobook);
}

.btn.btn-border .btn-azk {
  border: 1px solid var(--color-kindle);
  background: var(--color-white);
  color: var(--color-kindle);
}

.btn.btn-border .btn-azk:hover {
  color: var(--color-kindle);
}

.btn.btn-border .btn-kobo {
  background-color: var(--color-rakuten);
  box-shadow: 0 5px var(--color-rakuten-shadow);
}

.btn.btn-border .btn-kobo:hover {
  background: var(--color-kobo-hover);
}

.btn.btn-border .btn-adb {
  border: 1px solid var(--color-audiobook);
  background: var(--color-white);
  color: var(--color-audiobook);
}

.btn.btn-border .btn-adb:hover {
  color: var(--color-audiobook);
}

.btn.btn-border .btn-none {
  border: 1px solid var(--color-border);
  background: var(--color-white);
  color: var(--color-border);
}

.btn.btn-border .btn-none:hover {
  color: var(--color-border);
}

.btn.btn-center {
  text-align: center;
}

.btn.btn-normal .no-abtn,
.btn.btn-normal a {
  width: 80%;
  max-width: 100%;
}

@media (min-width: 768px) {
  .btn.btn-normal .no-abtn,
  .btn.btn-normal a {
    width: 70%;
  }
}

.btn.btn-big .no-abtn,
.btn.btn-big a {
  padding: var(--space-10) var(--space-32);
}

.btn.btn-smallest .no-abtn,
.btn.btn-smallest a {
  padding: var(--space-4) var(--space-8);
  font-size: var(--font-size-11);
}

@media (min-width: 768px) {
  .btn.btn-smallest .no-abtn,
  .btn.btn-smallest a {
    padding: var(--space-4) var(--space-10);
    font-size: var(--font-size-13);
  }
}

.btn.btn-small .no-abtn,
.btn.btn-small a {
  padding: var(--space-6) var(--space-10);
  font-size: var(--font-size-12);
}

@media (min-width: 768px) {
  .btn.btn-small .no-abtn,
  .btn.btn-small a {
    font-size: var(--font-size-13);
  }
}

.btn.btn-long {
  text-align: center;
}

.btn.btn-long .no-abtn,
.btn.btn-long a {
  padding: var(--space-10) var(--space-20);
  width: 80%;
}

@media (min-width: 768px) {
  .btn.btn-long .no-abtn,
  .btn.btn-long a {
    width: 70%;
  }
}

.btn.btn-arrow .no-abtn::before,
.btn.btn-arrow a::before {
  content: "\f0da";
  font-family: var(--font-icon);
  margin-right: var(--space-8);
  transition: transform var(--duration-normal);
  position: relative;
  top: 1px;
}

/**
 * Rate
 */

.table-rate {
  border: none;
  font-size: var(--font-size-15);
  margin-top: var(--space-8);
}

.table-rate th,
.table-rate td {
  border: none;
}

.table-rate td {
  padding: var(--space-2);
}

.table-rate .sep {
  padding-right: var(--space-8);
  padding-left: var(--space-8);
}

.table-rate .rate {
  border: none;
}

.table-rate i {
  margin-right: var(--space-2);
}

.table-rate.center {
  margin-right: auto;
  margin-left: auto;
}

.rate-stars {
  color: var(--color-rating-stars);
  letter-spacing: 0.1em;
}

.rate-stars .all {
  color: var(--color-rating-full);
}

/**
 * Space
 */

.article-content .s-none {
  margin-bottom: 0;
}

.article-content .s-half {
  margin-bottom: var(--space-12);
}

@media (min-width: 768px) {
  .article-content .s-half {
    margin-bottom: var(--space-15);
  }
}

@media (min-width: 900px) {
  .article-content .s-half {
    margin-bottom: var(--space-15);
  }
}

.article-content .s-double {
  margin-bottom: var(--space-48);
}

@media (min-width: 768px) {
  .article-content .s-double {
    margin-bottom: var(--space-60);
  }
}

@media (min-width: 900px) {
  .article-content .s-double {
    margin-bottom: var(--space-60);
  }
}

/**
 * Mobile
 */

@media (min-width: 415px) {
  .only-mobile {
    display: none;
  }
}

/**
 * Links
 */

.broken_link,
a.broken_link {
  text-decoration: line-through;
  pointer-events: none;
}

.ilinks,
.links {
  background: var(--color-surface);
}

.ilinks ul li a,
.ilinks p a,
.links ul li a,
.links p a {
  font-weight: bold;
  text-decoration: none;
  color: var(--color-link);
}

.ilinks ul li a:hover,
.ilinks p a:hover,
.links ul li a:hover,
.links p a:hover {
  text-decoration: underline;
  color: var(--color-link);
}

/**
 * Boxes
 */

.row {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}

@media (min-width: 415px) {
  .row {
    justify-content: space-between;
    flex-direction: row;
  }
}

.row > table,
.row > ul,
.row > div {
  width: 100%;
  font-size: 0.94em;
}

@media (min-width: 415px) {
  .row > table,
  .row > ul,
  .row > div {
    width: 48.5%;
  }
}

.article-content table,
.article-content .box {
  position: relative;
}

.article-content table div:last-child,
.article-content table ul:last-child,
.article-content table ol:last-child,
.article-content table p:last-child,
.article-content .box div:last-child,
.article-content .box ul:last-child,
.article-content .box ol:last-child,
.article-content .box p:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}

.box-label {
  font-weight: bold;
  margin-bottom: var(--space-16);
}

.box-label-bottom-border .box-label {
  padding-bottom: var(--space-8);
  margin-bottom: var(--space-8);
  border-bottom: 1px solid var(--color-border);
}

.box.ilinks,
.box.links,
.box.words,
.box.phrase,
.box.b-border-single-half,
.box.b-border-double-half,
.box.b-border-bold-half,
.box.b-border-none,
.box.b-colored-bg,
.box.b-border-double,
.box.b-border-bold,
.box.b-border-single {
  padding: var(--space-16) var(--space-16);
}

@media (min-width: 768px) {
  .box.ilinks,
  .box.links,
  .box.words,
  .box.phrase,
  .box.b-border-single-half,
  .box.b-border-double-half,
  .box.b-border-bold-half,
  .box.b-border-none,
  .box.b-colored-bg,
  .box.b-border-double,
  .box.b-border-bold,
  .box.b-border-single {
    padding: var(--space-24) var(--space-24);
  }
}

.box.ex-phrase,
.box.title-small-inside-left {
  padding: var(--space-32) var(--space-16) var(--space-16) var(--space-16);
}

@media (min-width: 768px) {
  .box.ex-phrase,
  .box.title-small-inside-left {
    padding: var(--space-32) var(--space-24) var(--space-24) var(--space-24);
  }
}

/** Border Single */

.b-border-single,
.words {
  border: 1px solid var(--color-border);
}

/** Border double */

.b-border-double {
  border: 1px solid var(--color-border);
}

/** Border bold */

.b-border-bold {
  border: 2px solid var(--color-border);
}

/** Background */

.phrase,
.b-colored-bg {
  background: var(--color-surface);
}

.ex-phrase {
  background: var(--color-example);
}

/** Title Small Inside Left */

.ex-phrase .box-label,
.title-small-inside-left .box-label {
  position: absolute;
  top: 0px;
  left: 0px;
  padding: var(--space-2) var(--space-6);
  font-size: var(--font-size-12);
  background: var(--color-theme);
  color: var(--color-white);
}

/** Title Half */

.b-border-bold-half .box-label,
.b-border-single-half .box-label,
.b-border-double-half .box-label {
  position: absolute;
  display: inline-block;
  line-height: 1;
  top: -10px;
  left: 15px;
  background: var(--color-white);
  padding: 0 var(--space-10);
}

.b-border-bold-half,
.b-border-single-half,
.b-border-double-half {
  margin-top: var(--space-30);
}

@media (min-width: 900px) {
  .b-border-bold-half,
  .b-border-single-half,
  .b-border-double-half {
    margin-top: 37.5px;
  }
}

@media (min-width: 900px) {
  .b-border-bold-half,
  .b-border-single-half,
  .b-border-double-half {
    margin-top: 37.5px;
  }
}

.b-border-single-half {
  border: 1px solid var(--color-border-strong);
}

.b-border-double-half {
  border: 3px double var(--color-border);
}

.b-border-bold-half {
  border: 2px solid var(--color-border);
}

/** Cross */

/** Bracket */

/** Big Bracket */

/**
 * Text
 */

.inline-block {
  display: inline-block;
}

.block {
  display: block;
}

/**
 * Font Style
 */

.t-bold {
  font-weight: bold;
}

.t-bold:hover {
  font-weight: bold;
}

.t-box {
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  font-size: 0.72em;
  padding: 0.16em 0.24em 0.16em 0.24em;
  margin: 0 0.3em;
  display: inline-block;
}

.t-box.block {
  display: block;
  margin: 0;
}

.t-box.no-margin {
  margin: 0;
}

.t-bg {
  font-size: 0.72em;
  background: var(--color-green-light);
  color: var(--color-white);
  padding: 0.16em 0.4em 0.16em 0.4em;
  margin: 0 0.3em;
  border-radius: var(--radius-2);
  position: relative;
  display: inline-block;
}

.t-bg.block {
  display: block;
  margin: 0;
}

.t-bg.no-margin {
  margin: 0;
}

.t-small {
  font-size: 0.96em;
}

.t-break::before {
  content: "\a";
  white-space: pre;
}

@media (min-width: 768px) {
  .t-break {
    display: none;
  }
}

.t-normal {
  font-weight: normal;
}

.t-normal:hover {
  font-weight: normal;
}

.t-line-through {
  text-decoration: line-through;
}

.t-hover-underline:hover {
  text-decoration: underline;
}

.t-underline {
  text-decoration: underline;
}

.t-center {
  text-align: center;
}

.t-left {
  text-align: left;
}

.t-right {
  text-align: right;
}

.mt-none {
  display: none;
}

@media (min-width: 768px) {
  .mt-none {
    display: inline;
  }
}

.t-sep {
  margin: 0 var(--space-6);
  color: var(--color-border-strong);
}

.t-sep::before {
  content: "/";
}

@media (min-width: 768px) {
  .tt-bigger-none {
    display: none;
  }
}

/**
 * Font Size
 */

.mt-9 {
  font-size: 0.9rem;
}

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

@media (min-width: 900px) {
  .pt-9 {
    font-size: 0.9rem;
  }
}

.mt-10 {
  font-size: 1rem;
}

@media (min-width: 768px) {
  .tt-10 {
    font-size: 1rem;
  }
}

@media (min-width: 900px) {
  .pt-10 {
    font-size: 1rem;
  }
}

.mt-11 {
  font-size: var(--font-size-11);
}

@media (min-width: 768px) {
  .tt-11 {
    font-size: var(--font-size-11);
  }
}

@media (min-width: 900px) {
  .pt-11 {
    font-size: var(--font-size-11);
  }
}

.mt-12 {
  font-size: var(--font-size-12);
}

@media (min-width: 768px) {
  .tt-12 {
    font-size: var(--font-size-12);
  }
}

@media (min-width: 900px) {
  .pt-12 {
    font-size: var(--font-size-12);
  }
}

.mt-13 {
  font-size: var(--font-size-13);
}

@media (min-width: 768px) {
  .tt-13 {
    font-size: var(--font-size-13);
  }
}

@media (min-width: 900px) {
  .pt-13 {
    font-size: var(--font-size-13);
  }
}

.mt-14 {
  font-size: var(--font-size-14);
}

@media (min-width: 768px) {
  .tt-14 {
    font-size: var(--font-size-14);
  }
}

@media (min-width: 900px) {
  .pt-14 {
    font-size: var(--font-size-14);
  }
}

.mt-15 {
  font-size: var(--font-size-15);
}

@media (min-width: 768px) {
  .tt-15 {
    font-size: var(--font-size-15);
  }
}

@media (min-width: 900px) {
  .pt-15 {
    font-size: var(--font-size-15);
  }
}

.mt-16 {
  font-size: var(--font-size-16);
}

@media (min-width: 768px) {
  .tt-16 {
    font-size: var(--font-size-16);
  }
}

@media (min-width: 900px) {
  .pt-16 {
    font-size: var(--font-size-16);
  }
}

/**
 * Color
 */

.bg-lgrey {
  background-color: var(--color-gray-light);
}

.bg-lblue {
  background-color: var(--color-blue-light);
}

.bg-llblue {
  background-color: var(--color-blue-pale);
}

.bg-yellow {
  background-color: var(--color-yellow);
}

.b-bg-colored-llblue {
  background-color: var(--color-blue-pale);
}

.t-grey {
  color: var(--color-gray);
}

.t-white {
  color: var(--color-white);
}

.t-green {
  color: var(--color-green);
}

.t-red {
  color: var(--color-red);
}

.article-content p.i-green .icon-arrow-down,
.article-content span.i-green .icon-arrow-down,
.article-content li.i-green .icon-arrow-down,
.article-content h2.i-green .icon-arrow-down,
.article-content h3.i-green .icon-arrow-down,
.article-content h4.i-green .icon-arrow-down,
.article-content div.i-green .icon-arrow-down,
.article-content blockquote.i-green .icon-arrow-down {
  color: var(--color-green);
}

.article-content p.i-green > i:first-child,
.article-content span.i-green > i:first-child,
.article-content li.i-green > i:first-child,
.article-content h2.i-green > i:first-child,
.article-content h3.i-green > i:first-child,
.article-content h4.i-green > i:first-child,
.article-content div.i-green > i:first-child,
.article-content blockquote.i-green > i:first-child {
  color: var(--color-green);
}

.article-content p.i-red .icon-arrow-down,
.article-content span.i-red .icon-arrow-down,
.article-content li.i-red .icon-arrow-down,
.article-content h2.i-red .icon-arrow-down,
.article-content h3.i-red .icon-arrow-down,
.article-content h4.i-red .icon-arrow-down,
.article-content div.i-red .icon-arrow-down,
.article-content blockquote.i-red .icon-arrow-down {
  color: var(--color-red);
}

.article-content p.i-red > i:first-child,
.article-content span.i-red > i:first-child,
.article-content li.i-red > i:first-child,
.article-content h2.i-red > i:first-child,
.article-content h3.i-red > i:first-child,
.article-content h4.i-red > i:first-child,
.article-content div.i-red > i:first-child,
.article-content blockquote.i-red > i:first-child {
  color: var(--color-red);
}

.article-content p.i-colored .icon-arrow-down,
.article-content span.i-colored .icon-arrow-down,
.article-content li.i-colored .icon-arrow-down,
.article-content h2.i-colored .icon-arrow-down,
.article-content h3.i-colored .icon-arrow-down,
.article-content h4.i-colored .icon-arrow-down,
.article-content div.i-colored .icon-arrow-down,
.article-content blockquote.i-colored .icon-arrow-down {
  color: var(--color-blue-light);
}

.article-content p.i-colored > i:first-child,
.article-content span.i-colored > i:first-child,
.article-content li.i-colored > i:first-child,
.article-content h2.i-colored > i:first-child,
.article-content h3.i-colored > i:first-child,
.article-content h4.i-colored > i:first-child,
.article-content div.i-colored > i:first-child,
.article-content blockquote.i-colored > i:first-child {
  color: var(--color-blue-light);
}

.article-content .head-icon-dot.i-green > i:first-child,
.article-content .head-icon.i-green > i:first-child,
.article-content li.i-green > i:first-child {
  color: var(--color-green);
}

.article-content .head-icon-dot.i-red > i:first-child,
.article-content .head-icon.i-red > i:first-child,
.article-content li.i-red > i:first-child {
  color: var(--color-red);
}

.article-content .head-icon-dot.i-colored > i:first-child,
.article-content .head-icon.i-colored > i:first-child,
.article-content li.i-colored > i:first-child {
  color: var(--color-blue-light);
}

/**
 * jQuery
 */

.hide2,
.hide {
  display: none;
}

/**
 * Amazon & Netflix
 */

.aza-lists,
.azb-lists,
.als-lists,
.nfa-lists {
  border-top: 1px solid var(--color-border);
}

.aza-lists .heading,
.azb-lists .heading,
.als-lists .heading,
.nfa-lists .heading {
  height: 50px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--color-theme);
  color: var(--color-white);
  padding: 0 var(--space-15);
  font-weight: bold;
  border-bottom: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  margin-bottom: 0;
}

.aza-lists .heading .go-search-top,
.azb-lists .heading .go-search-top,
.als-lists .heading .go-search-top,
.nfa-lists .heading .go-search-top {
  font-size: 0.8em;
}

.aza-lists .heading .go-search-top a,
.azb-lists .heading .go-search-top a,
.als-lists .heading .go-search-top a,
.nfa-lists .heading .go-search-top a {
  color: var(--color-text);
}

.aza-lists .heading .go-search-top a:hover,
.azb-lists .heading .go-search-top a:hover,
.als-lists .heading .go-search-top a:hover,
.nfa-lists .heading .go-search-top a:hover {
  text-decoration: underline;
}

.azb-lists .azb-list {
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-15) 0;
  background-color: var(--color-white);
}

.aza-lists .aza-list {
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-15) 0;
  background-color: var(--color-white);
}

.als-lists .als-list {
  margin-bottom: 0;
  border-bottom: 1px solid var(--color-border);
  padding: var(--space-15) 0;
  background-color: var(--color-white);
}

.nfa-lists .nfa-list {
  margin-bottom: 0;
}

.aza-list,
.nfa-list,
.als-list,
.azb-list {
  display: flex;
  margin: 0;
}

.aza-list.hide2,
.aza-list.hide,
.als-list.hide2,
.als-list.hide,
.azb-list.hide2,
.azb-list.hide {
  display: none !important;
}

.aza-list,
.als-list,
.azb-list {
  background: var(--color-surface);
  padding: var(--space-15) var(--space-15);
}

.aza-list .meta,
.als-list .meta,
.azb-list .meta {
  line-height: 1.6;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .aza-list .meta,
  .als-list .meta,
  .azb-list .meta {
    line-height: 1.5;
    margin-top: var(--space-8);
  }
}

.aza-list .detail,
.als-list .detail,
.azb-list .detail {
  flex: 1 1 0%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-bottom: 0;
}

.aza-list .detail > div,
.als-list .detail > div,
.azb-list .detail > div {
  margin-bottom: 0;
}

.aza-list .title,
.als-list .title,
.azb-list .title {
  font-weight: bold;
  line-height: 1.2;
  font-size: var(--font-size-15);
  margin-bottom: var(--space-5);
}

.aza-list .title a,
.als-list .title a,
.azb-list .title a {
  font-weight: bold;
}

.aza-list .title a,
.als-list .title a,
.azb-list .title a {
  color: var(--color-text);
  text-decoration: none;
}

.aza-list .title a:hover,
.als-list .title a:hover,
.azb-list .title a:hover {
  color: var(--color-text);
  text-decoration: underline;
}

@media (min-width: 768px) {
  .aza-list .title,
  .als-list .title,
  .azb-list .title {
    font-size: var(--font-size-20);
  }
}

.aza-list .title-eng,
.als-list .title-eng,
.azb-list .title-eng {
  margin-bottom: var(--space-3);
  line-height: 1.2;
  font-size: var(--font-size-13);
}

@media (min-width: 768px) {
  .aza-list .title-eng,
  .als-list .title-eng,
  .azb-list .title-eng {
    font-size: var(--font-size-15);
  }
}

.aza-list .thumb,
.als-list .thumb,
.azb-list .thumb {
  margin-bottom: 0;
  margin-right: var(--space-15);
}

.aza-list .thumb img,
.als-list .thumb img,
.azb-list .thumb img {
  height: auto;
  width: 100%;
  display: inherit;
}

/** Amazon  */

.azb-list .author,
.azb-list .genre {
  font-size: 1rem;
  display: block;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .azb-list .author,
  .azb-list .genre {
    font-size: var(--font-size-13);
  }
}

.azb-list .btn {
  margin-bottom: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .azb-list .btn {
    flex-wrap: nowrap;
  }
}

.azb-list .btn > div {
  text-align: center;
  width: calc(50% - 4px);
  margin-bottom: 0;
  margin-top: var(--space-8);
  margin-left: var(--space-8);
}

@media (min-width: 768px) {
  .azb-list .btn > div {
    width: calc(25% - 4px);
  }
}

.azb-list .btn > div:first-child {
  margin-left: 0;
}

.azb-list .btn > div:nth-child(3) {
  margin-left: 0;
}

@media (min-width: 768px) {
  .azb-list .btn > div:nth-child(3) {
    margin-left: var(--space-8);
  }
}

.azb-list .thumb {
  overflow: hidden;
  width: 104px;
  height: 146px;
}

.azb-list .lang {
  margin-bottom: 0;
}

/** Audible */

.aza-list .author,
.aza-list .genre {
  font-size: 1rem;
  display: block;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .aza-list .author,
  .aza-list .genre {
    font-size: var(--font-size-13);
  }
}

.aza-list .btn {
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .aza-list .btn {
    flex-wrap: nowrap;
  }
}

.aza-list .btn > div {
  text-align: center;
  width: calc(50% - 4px);
  margin-bottom: 0;
  margin-top: var(--space-6);
  margin-left: var(--space-8);
}

.aza-list .btn > div:first-child {
  width: 100%;
  margin-left: 0;
}

@media (min-width: 768px) {
  .aza-list .btn > div:first-child {
    width: 50%;
  }
}

.aza-list .btn > div:nth-child(2) {
  margin-left: 0;
}

@media (min-width: 768px) {
  .aza-list .btn > div:nth-child(2) {
    margin-left: var(--space-8);
  }
}

.aza-list .thumb {
  overflow: hidden;
  width: 140px;
  height: 140px;
}

.aza-list .lang {
  margin-bottom: 0;
}

/** Ladder */

.als-list .author,
.als-list .level {
  font-size: 1rem;
  display: block;
  margin-bottom: 0;
  color: var(--color-text-caption);
}

@media (min-width: 768px) {
  .als-list .author,
  .als-list .level {
    font-size: var(--font-size-13);
  }
}

.als-list .thumb {
  width: 112px;
  height: 180px;
  overflow: hidden;
}

.als-list .title {
  margin-bottom: 0;
}

.als-list .title-eng {
  margin-bottom: var(--space-4);
}

@media (min-width: 768px) {
  .als-list .title-eng {
    margin-bottom: var(--space-16);
  }
}

.als-list .btn {
  margin-bottom: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .als-list .btn {
    flex-wrap: nowrap;
  }
}

.als-list .btn > div {
  text-align: center;
  width: calc(50% - 4px);
  margin-bottom: 0;
  margin-top: var(--space-6);
  margin-left: var(--space-8);
}

.als-list .btn > div:first-child {
  margin-left: 0;
}

.als-list .btn > div:nth-child(3) {
  width: 100%;
  margin-left: 0;
}

@media (min-width: 768px) {
  .als-list .btn > div:nth-child(3) {
    width: 50%;
    margin-left: var(--space-8);
  }
}

.als-list .btn .audiobook {
  display: block;
  line-height: 1.1;
}

.als-list .btn .audiobook.top::after {
  content: "\e90f";
  margin-left: var(--space-3);
  font-family: var(--font-icon);
  font-size: 1rem;
}

@media (min-width: 768px) {
  .als-list .btn .audiobook.top::after {
    font-size: var(--font-size-11);
  }
}

/** Netflix */

.nfa-list.hide2,
.nfa-list.hide {
  display: none !important;
}

.nfa-list {
  width: 100%;
  padding-right: var(--space-10);
  padding-left: var(--space-10);
  padding-top: var(--space-10);
  padding-bottom: var(--space-10);
  border-right: 1px solid var(--color-border);
  border-left: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
}

@media (min-width: 415px) {
  .nfa-list {
    padding-right: var(--space-15);
    padding-left: var(--space-15);
    padding-top: var(--space-15);
    padding-bottom: var(--space-15);
  }
}

.nfa-list .thumb {
  width: 140px;
  height: 78px;
  margin-bottom: 0;
  margin-right: var(--space-15);
}

.nfa-list .thumb img {
  height: auto;
  width: 100%;
  display: inherit;
}

@media (min-width: 768px) {
  .nfa-list .thumb {
    width: 200px;
    height: 112px;
  }
}

.nfa-list .title {
  margin-bottom: var(--space-3);
  font-weight: bold;
  line-height: 1.2;
  font-size: var(--font-size-14);
}

.nfa-list .title a {
  font-weight: bold;
}

.nfa-list .title a {
  color: var(--color-text);
  text-decoration: none;
}

.nfa-list .title a:hover {
  color: var(--color-text);
  text-decoration: underline;
}

@media (min-width: 768px) {
  .nfa-list .title {
    margin-bottom: var(--space-5);
    font-size: var(--font-size-18);
  }
}

.nfa-list .detail {
  flex: 1 1 0%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  margin-bottom: 0;
}

.nfa-list .detail > div {
  margin-bottom: 0;
}

.nfa-list .type {
  margin-bottom: 0;
  color: var(--color-text-caption);
  font-size: var(--font-size-11);
}

@media (min-width: 768px) {
  .nfa-list .type {
    font-size: var(--font-size-13);
  }
}

.nfa-list .eng {
  display: flex;
  line-height: 1;
  flex-wrap: wrap;
  font-size: var(--font-size-12);
}

.nfa-list .eng > span {
  margin-top: var(--space-3);
  margin-right: var(--space-6);
  border-radius: var(--radius-2);
  border: 1px solid var(--color-pure-black);
  padding: var(--space-3);
}

.nfa-list .eng > span:last-child {
  margin-right: 0;
}

@media (min-width: 768px) {
  .nfa-list .eng {
    flex-direction: row;
    font-size: var(--font-size-14);
  }
}

#list-noresults {
  text-align: center;
  font-weight: bold;
  padding: var(--space-30);
  border-bottom: 1px solid var(--color-border);
}

/**
 * Schools
 */

.school-small {
  padding: var(--space-15);
  background: var(--color-surface);
}

.school-small table,
.school-small .catchphrase {
  font-size: var(--font-size-12);
  margin-bottom: var(--space-4);
}

@media (min-width: 768px) {
  .school-small table,
  .school-small .catchphrase {
    margin-bottom: var(--space-8);
    font-size: var(--font-size-13);
  }
}

.school-small .title {
  font-weight: bold;
}

.school-small .head {
  margin-bottom: var(--space-10);
}

.school-small .head .title {
  font-size: var(--font-size-14);
  line-height: 1.28;
  margin-bottom: var(--space-4);
}

@media (min-width: 768px) {
  .school-small .head .title {
    line-height: 1.68;
    font-size: var(--font-size-16);
    margin-bottom: var(--space-8);
  }
}

.school-small .detail {
  display: flex;
}

.school-small .school-thumb {
  position: relative;
  flex-basis: 100px;
  margin-right: var(--space-15);
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .school-small .school-thumb {
    flex-basis: 130px;
  }
}

.school-small .school-thumb a img {
  height: auto;
  width: 100%;
}

.school-small.normal {
  display: flex;
}

.school-small.normal .head {
  margin-bottom: 0;
}

.school-small.normal .catchphrase {
  margin-bottom: 0px;
}

.school-small.normal .title {
  margin-bottom: var(--space-8);
}

.school-small.normal .detail {
  margin-bottom: 0;
  flex-direction: column;
  justify-content: space-between;
  flex: 1 1 0%;
}

.school-small.normal .bottom {
  margin-bottom: 0;
}

.school-small.normal .bottom > p {
  margin-bottom: 0;
  position: relative;
  bottom: -3px;
}

.school-small.contain .title,
.school-small.contain .catchphrase {
  text-align: center;
}

.school-small.contain .title {
  margin-bottom: var(--space-5);
}

.school-small.contain .head {
  margin-bottom: var(--space-20);
}

.school-small.contain .detail {
  align-items: center;
  justify-content: center;
  margin-bottom: var(--space-30);
}

.school-small.contain .site-links {
  text-align: center;
  justify-content: center;
}

.school-small.contain .btn {
  justify-content: center;
}

.school-detail .school-title {
  font-size: var(--font-size-14);
  font-weight: bold;
  background: var(--color-surface);
  padding: var(--space-4);
  border-bottom: 3px solid var(--color-border);
}

@media (min-width: 768px) {
  .school-detail .school-title {
    font-size: var(--font-size-16);
    padding: var(--space-6);
  }
}

.school-detail .school-title img {
  margin-right: var(--space-12);
  width: 40px;
  height: 40px;
  vertical-align: middle;
}

@media (min-width: 768px) {
  .school-detail .school-title img {
    margin-right: var(--space-16);
    width: 56px;
    height: 56px;
  }
}

/**
 * Ads
 */

.ad-archive-bottom,
.ad-side-top {
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--space-24);
  min-height: 250px;
}

@media (min-width: 768px) {
  .ad-archive-bottom,
  .ad-side-top {
    margin-bottom: var(--space-32);
  }
}

@media (min-width: 900px) {
  .ad-archive-bottom,
  .ad-side-top {
    margin-bottom: var(--space-32);
  }
}

.ad-more,
.ad-h2-1,
.ad-h2-2,
.ad-h2-3,
.ad-article-bottom {
  display: block;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--space-24);
}

@media (min-width: 768px) {
  .ad-more,
  .ad-h2-1,
  .ad-h2-2,
  .ad-h2-3,
  .ad-article-bottom {
    margin-bottom: var(--space-30);
  }
}

@media (min-width: 900px) {
  .ad-more,
  .ad-h2-1,
  .ad-h2-2,
  .ad-h2-3,
  .ad-article-bottom {
    margin-bottom: var(--space-30);
  }
}

/*Source map omitted because this file is maintained directly. */

/* =========================================
   KEYBOARD FOCUS AND MOTION PREFERENCES
   ========================================= */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-link);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .fadein-effect.active,
  #pagetop.active {
    animation: none;
    opacity: 1;
  }

  iframe,
  .img img,
  .hamburger-menu,
  .hamburger-menu::after,
  #trigger-search,
  #trigger-search #tri-close,
  .article-content .toc #toc-bottom::before,
  .article-content .toc #toc-close,
  .article-content .toc #toc-open,
  .ex-bcard,
  .bcard,
  .btn.btn-arrow .no-abtn::before,
  .btn.btn-arrow a::before {
    transition: none;
  }
}
