/*
    全ページ共通CSS
 */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

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

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */

/**
 * Remove the gray background color from active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */

/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */

abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */

b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */

dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9/10.
 */

img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari.
 */

figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */

pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
  -webkit-appearance: textfield; /* 1 */ /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

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

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

html {
    font-family: Verdana, "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* ========================= [ body ] */
body {
    min-width: 320px;
    font-size: 14px;
}
ul,
li,
h1,
h2,
h3,
p,
figure,
dl,
dt,
dd {
    margin: 0;
    padding: 0;
    color: #444;
    line-height: 1.5;
}
ul,
li {
    list-style: none;
}
a {
    text-decoration: none;
}

/* ========================= [ #area-content ] */
#area-content {
    padding: 55px 0 45px;
}
/* ========================= [ #header ] */
#area-header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
}

/* ========== .bx-standing-menu */
#area-header .bx-standing-menu {
    display: table;
    width: 100%;
    height: 55px;
    background: #fff;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .25);
}

/* ===== bx-standing-menu .bx-logo */
#area-header .bx-standing-menu .bx-logo {
    display: table-cell;
    position: relative;
    height: 55px;
    background: #e4007f;
}
#area-header .bx-standing-menu .bx-logo-img {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 10px;
    width: 110px;
    margin: auto 0;
}
#area-header .bx-standing-menu .bx-stand-img {
    display: block;
    position: absolute;
    top: 0px;
    bottom: 0;
    left: 130px;
    width: 40px;
    height: 55px;
    margin: auto 0;
    overflow: hidden;
    object-fit: cover;
    object-position: top;
}
/* ===== .bt-menu */
#area-header .bt-menu {
    display: table-cell;
    position: relative;
    z-index: 102;
    width: 55px;
}
#area-header .bt-menu .ico-menu {
    position: absolute;
    top: 20px;
    right: 0;
    left: 0;
    width: 29px;
    height: 3px;
    margin: 0 auto;
    background: #e4007f;
    -webkit-transition: .2s;
    transition: .2s;
}
#area-header .bt-menu .ico-menu-top {
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
}
#area-header .bt-menu .ico-menu-bottom {
    -webkit-transform: translateY(10px);
            transform: translateY(10px);
}
#area-header .bt-menu.is-active .ico-menu-top {
    -webkit-transform: translateY(0) rotate(45deg);
            transform: translateY(0) rotate(45deg);
}
#area-header .bt-menu.is-active .ico-menu-middle {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
#area-header .bt-menu.is-active .ico-menu-bottom {
    -webkit-transform: translateY(0) rotate(-45deg);
            transform: translateY(0) rotate(-45deg);
}
#area-header .bt-menu .tx-menu {
    position: absolute;
    right: 0;
    bottom: 8px;
    left: 0;
    height: 11px;
    margin: 0 auto;
}
/* 2026-09-06 L-044: メニュー文字は画像ではなく文字（他サイトの画像を参照しない） */
#area-header .bt-menu span.tx-menu {
    display: block;
    font: 700 9px/11px Arial, Helvetica, sans-serif;
    color: #e4007f;
    text-align: center;
    letter-spacing: .06em;
}


/* ========== .bx-overlay-menu */
#area-header .bx-overlay-menu {
    display: none;
    position: fixed;
    z-index: 101;
    top: 0;
    left: 0;
    overflow-y: scroll;
    width: 100%;
    height: 100%;
    margin: auto;
    background: rgba(68, 68, 68, .95);
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, .25);
}

/* ===== bx-overlay-menu .bx-logo */
#area-header .bx-overlay-menu .bx-logo {
    display: block;
    width: 110px;
    height: 45px;
    margin: 60px auto 15px;
}
#area-header .bx-overlay-menu .bx-logo-img {
    display: block;
    box-sizing: border-box;
    width: 100%;
}

/* ===== .bx-search */
#area-header .bx-search {
    position: relative;
    width: 87.5%;
    max-width: 560px;
    margin: 0 auto 25px;
}
#area-header .bx-search-txt {
    box-sizing: border-box;
    width: 100%;
    height: 45px;
    padding: 0 50px 0 15px;
    border: none;
    border: 2px solid #fff;
    border-radius: 50px;
    outline: none;
    background-color: #fff;
    background-position: 234px 7px;
    font-size: 14px;
    line-height: 41px;
    -webkit-transition: .2s;
    transition: .2s;
}
#area-header .bx-search-txt:focus {
    border: 2px solid #e4007f;
}
#area-header .bx-search-btn {
    position: absolute;
    top: 0;
    right: 0;
    width: 50px;
    height: 45px;
    border: none;
    border-radius: 0 50px 50px 0;
    outline: none;
    background: #e4007f url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/search-white.svg) no-repeat;
    background-position: 10px 9px;
    background-size: 26px 26px;
    font-size: 0;
}

/* ===== .lst-nav */
#area-header .lst-nav {
    width: 71.875%;
    max-width: 460px;
    margin: 0 auto;
    padding-bottom: 60px;
    border-top: 1px solid #f7b2d8;
}
/* ===== .nav-item */
#area-header .nav-item {
    display: block;
    position: relative;
    width: 100%;
    padding: 32px 0 16px;
    border-bottom: 1px solid #f7b2d8;
    color: #f7b2d8;
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
    text-align: center;
}
#area-header .nav-item:before {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 16px;
    height: 12px;
    margin: auto;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/arrow-pink.svg) no-repeat;
    background-size: 100% 100%;
    content: "";
}
#area-header .nav-item-img {
    display: block;
    position: absolute;
    top: 12px;
    right: 0;
    left: 0;
    width: auto;
    height: 18px;
    margin: 0 auto;
}


/* ========================= [ #footer ] */
#area-footer {
    position: relative;
    z-index: 90;
    padding-bottom: 20px;
    background-color: #303030;
}
#area-footer .lst-nav {
    overflow: hidden;
}
#area-footer .lst-nav > li {
    float: left;
    width: 50%;
}
#area-footer .nav-item {
    display: block;
    position: relative;
    height: 50px;
    padding-left: 10px;
    border-bottom: 1px solid #fff;
    color: #fff;
    font-size: 14px;
    line-height: 50px;
}
#area-footer li:nth-child(2n) .nav-item {
    border-left: 1px solid #fff;
}
#area-footer .nav-item:before {
    display: block;
    position: absolute;
    top: 0;
    right: 8px;
    bottom: 0;
    width: 16px;
    height: 12px;
    margin: auto 0;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/arrow-white.svg) no-repeat;
    background-size: 16px 12px;
    content: "";
}
#area-footer .bx-nav .bx-button {
    padding: 10px 10px 0;
}

#area-footer .bx-logo {
    display: block;
    position: relative;
    padding: 16px 0 10px;
}
#area-footer .bx-logo-img {
    display: block;
    width: 110px;
    margin: 0 auto;
}
#area-footer .bx-copy {
    margin-bottom: 20px;
    text-align: center;
}
#area-footer .tx-copy {
    color: #fff;
    font-size: 9px;
}
#area-footer .lst-bnr {
    padding: 0 5px;
    font-size: 0;
    text-align: center;
}
#area-footer .lst-bnr li {
    display: inline-block;
}
#area-footer .bnr-item {
    display: block;
    margin: 0 5px 10px;
}
#area-footer .bnr-item-img {
    display: block;
    width: 100%;
}


/* ========================= [ .c-tab ] */
.c-tab {
    width: 100%;
    border-top: 5px solid #e4007f;
    font-size: 0;
}
/* ===== .js-overflow-scroll */
.c-tab.js-overflow-scroll {
    overflow: scroll;

    -webkit-overflow-scrolling: touch;
}

/* ===== .lst-tab */
.c-tab .lst-tab {
    overflow: hidden;
}
/* ===== .item-tab */
.c-tab .item-tab {
    display: block;
    position: relative;
    float: left;
    box-sizing: border-box;
    border-bottom: 1px solid #cdcdcd;
    background: #fff;
    vertical-align: top;
    text-align: center;
}
.c-tab .item-tab:not(:last-child) {
    border-right: 1px solid #cdcdcd;
}
.c-tab .item-tab.is-active:before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #e4007f;
    content: "";
}
.c-tab .item-tab.is-inactive {
    background: #ededed;
}
/* ===== .tx-tab */
.c-tab .tx-tab {
    color: #444;
}
.c-tab .item-tab.is-active .tx-tab {
    color: #e4007f;
}
.c-tab .item-tab.is-inactive .tx-tab {
    color: #cdcdcd;
}

/* ===== .c-tab--maker */
.c-tab.c-tab--maker .item-tab {
    padding: 8px 0 10px;
}
.c-tab.c-tab--maker .item-tab img {
    width: 60px;
    margin-bottom: 5px;
}
.c-tab.c-tab--maker .tx-tab {
    padding: 0 10px;
    font-size: 13px;
    font-weight: bold;
}
/* ===== .c-tab--date */
.c-tab.c-tab--date .tx-tab {
    font-size: 13px;
    line-height: 50px;
}
/* ===== ..c-tab--japanese-syllabary */
.c-tab.c-tab--japanese-syllabary .item-tab {
    width: 20%;
}
.c-tab.c-tab--japanese-syllabary .item-tab:nth-child(5n) {
    border-right: none;
}
.c-tab.c-tab--japanese-syllabary .tx-tab {
    font-size: 15px;
    font-weight: bold;
    line-height: 50px;
}

/* ===== .c-tab--narrow */
.c-tab-narrow {
    padding: 12px 10px;
    border-bottom: 1px solid #cdcdcd;
    background: #ededed;
}
.c-tab-narrow .tab-narrow-ttl {
    position: relative;
    margin-bottom: 12px;
    padding-left: 18px;
    color: #444;
    font-size: 14px;
    font-weight: bold;
}
.c-tab-narrow .tab-narrow-ttl:before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 15px;
    height: 15px;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/search-gray.svg) no-repeat;
    background-size: 15px 15px;
    content: "";
    -webkit-transform: translate(0,-50%);
            transform: translate(0,-50%);
}
.c-tab-narrow .lst-narrow {
    overflow: hidden;
    margin-right: -10px;
    font-size: 0;
    -webkit-transition: .4s;
    transition: .4s;
}
.c-tab-narrow .btn-narrow {
    display: inline-block;
    margin: 0 10px 10px 0;
}
.c-tab-narrow .btn-narrow .tx-btn {
    display: block;
    position: relative;
    padding: 0 20px;
    border: 1px solid #e4007f;
    border-radius: 30px;
    background-color: #fff;
    color: #e4007f;
    font-size: 13px;
    font-weight: bold;
    line-height: 43px;
}
.c-tab-narrow .btn-narrow.is-selected .tx-btn {
    padding: 0 28px 0 15px;
    border-color: #444;
    background-color: #444;
    color: #fff;
}
.c-tab-narrow .btn-narrow.is-selected .tx-btn:before,
.c-tab-narrow .btn-narrow.is-selected .tx-btn:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 1px;
    height: 10px;
    margin: auto 0;
    background-color: #fff;
    content: "";
}
.c-tab-narrow .btn-narrow.is-selected .tx-btn:before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.c-tab-narrow .btn-narrow.is-selected .tx-btn:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

/* ========================= [ .c-breadcrumb ] */
.c-breadcrumb {
    overflow: scroll;
    box-sizing: border-box;
    width: 100%;
    padding: 0 10px;
    background: #ededed;
    font-size: 13px;
    white-space: nowrap;

    -webkit-overflow-scrolling: touch;
}
.c-breadcrumb > * {
    line-height: 35px;
}
.c-breadcrumb > a {
    color: #e4007f;
}
.c-breadcrumb > span {
    color: #444;
}
.c-breadcrumb > *:not(:last-child):after {
    display: inline-block;
    width: 6px;
    height: 8px;
    margin: 0 9px 0 10px;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/tri-gray.svg) no-repeat;
    background-size: 100% 100%;
    vertical-align: middle;
    content: "";
}

/* ========================= [ .c-btn-round ] */
.c-btn-round {
    display: inline-block;
    font-size: 0;
}
.c-btn-round .btn-inner {
    display: inline-block;
    position: relative;
    background-color: #fff;
}
.c-btn-round .tx-btn {
    color: #e4007f;
    font-weight: bold;
}
/* ===== size01 */
.c-btn-round.c-btn-round--size01 .btn-inner {
    padding: 0 20px;
    border: 1px solid #e4007f;
    border-radius: 23px;
}
.c-btn-round.c-btn-round--size01 .tx-btn {
    font-size: 13px;
    line-height: 43px;
}
/* ===== .is-inactive */
.c-btn-round.is-inactive .btn-inner {
    border: 1px solid #ededed;
    background-color: #ededed;
}
.c-btn-round.is-inactive .tx-btn {
    color: #444;
}

/* ===== .is-selected */
.c-btn-round.is-selected .btn-inner {
    padding: 0 28px 0 15px;
    border: none;
    background-color: #444;
}

.c-btn-round.is-selected .btn-inner:before,
.c-btn-round.is-selected .btn-inner:after {
    position: absolute;
    top: 0;
    right: 15px;
    bottom: 0;
    width: 1px;
    height: 10px;
    margin: auto 0;
    background-color: #fff;
    content: "";
}

.c-btn-round.is-selected .btn-inner:before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}

.c-btn-round.is-selected .btn-inner:after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
}

.c-btn-round.is-selected .tx-btn {
    color: #fff;
}

/* ========================= [ .c-btn-rect ] */
.c-btn-rect {
    display: inline-block;
    width: 100%;
    font-size: 0;
}
.c-btn-rect .btn-inner {
    display: block;
    position: relative;
    background-color: #e4007f;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .3);
    text-align: center;
}
.c-btn-rect .btn-deny {
    display: block;
    position: relative;
    background-color: #9b9b9b;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .3);
    text-align: center;
}
.c-btn-rect .tx-btn {
    color: #fff;
}
/* ===== size01 */
.c-btn-rect.c-btn-rect--size01 .tx-btn {
    font-size: 15px;
    font-weight: bold;
    line-height: 55px;
}
/* ===== arrow */
.c-btn-rect.c-btn-rect--arrow .btn-inner:before,
.c-btn-rect.c-btn-rect--arrow .btn-deny:before {
    display: block;
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    width: 16px;
    height: 12px;
    margin: auto 0;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/arrow-white.svg) no-repeat;
    background-size: 16px 12px;
    content: "";
}


/* ========================= [ .c-btn-rect-border ] */
.c-btn-rect-border {
    display: inline-block;
    width: 100%;
    font-size: 0;
}
.c-btn-rect-border .btn-inner {
    display: block;
    position: relative;
    border: 1px solid #e4007f;
    background-color: #fff;
    text-align: center;
}
.c-btn-rect-border .tx-btn {
    color: #e4007f;
}
/* ===== size01 */
.c-btn-rect-border.c-btn-rect-border--size01 .tx-btn {
    font-size: 13px;
    line-height: 43px;
}
/* ===== size02 */
.c-btn-rect-border.c-btn-rect-border--size02 .tx-btn {
    font-size: 15px;
    font-weight: bold;
    line-height: 53px;
}
/* ===== blue */
.c-btn-rect-border.c-btn-rect-border--blue .btn-inner {
    border-color: #058be0;
}
.c-btn-rect-border.c-btn-rect-border--blue .tx-btn {
    color: #058be0;
}

/* ===== arrow01 */
.c-btn-rect-border.c-btn-rect-border--arrow01 .btn-inner:before {
    display: block;
    position: absolute;
    top: 0;
    right: 9px;
    bottom: 0;
    width: 7px;
    height: 7px;
    margin: auto 0;
    border-top: 1px solid #058be0;
    border-right: 1px solid #058be0;
    border-radius: 1px;
    content: "";
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
/* ===== arrow02 */
.c-btn-rect-border.c-btn-rect-border--arrow02 .btn-inner:before {
    display: block;
    position: absolute;
    top: 0;
    right: 9px;
    bottom: 0;
    width: 16px;
    height: 12px;
    margin: auto 0;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/arrow-pink.svg) no-repeat;
    background-size: 16px 12px;
    content: "";
}
/* ===== plus minus */
.c-btn-rect-border.c-btn-rect-border--plus .btn-inner:before,
.c-btn-rect-border.c-btn-rect-border--plus .btn-inner:after,
.c-btn-rect-border.c-btn-rect-border--minus .btn-inner:before,
.c-btn-rect-border.c-btn-rect-border--minus .btn-inner:after {
    display: block;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    width: 1px;
    height: 14px;
    margin: auto 0;
    background: #e4007f;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    content: "";
    -webkit-transition: .2s;
    transition: .2s;
}
.c-btn-rect-border.c-btn-rect-border--minus .btn-inner:before {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
}
.c-btn-rect-border.c-btn-rect-border--plus .btn-inner:after,
.c-btn-rect-border.c-btn-rect-border--minus .btn-inner:after {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
}

/* ========================= [ .area-list ] */
.area-list {
    overflow: hidden;
    background-color: #ededed;
    box-shadow: 0 -1px #cdcdcd inset;
}
.area-list > li[class ^= "c-list"],
.area-list.lst-media-genre > .c-media-item {
    float: left;
}
/* ========================= [ .c-list-works-item ] */
.c-list-works-item {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 50%;
    border-right: 1px solid #cdcdcd;
    border-bottom: 1px solid #cdcdcd;
    background-color: #fff;
}
.c-list-works-item:nth-child(2n) {
    border-right-color: #fff;
}
.c-list-works-item:nth-child(2n + 1) {
    clear: both;
}
.c-list-works-item .bx-works-detail {
    display: block;
    padding: 18% 0 12%;
}
.c-list-works-item .works-detail-img {
    display: block;
    width: 82%;
    margin: 0 auto 6%;
}
.c-list-works-item .works-detail-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 3em;
    padding: 0 9%;
    color: #e4007f;
    -webkit-transition: .2s;
    transition: .2s;
}
.c-list-works-item .bx-works-maker {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 28%;
    min-width: 45px;
    box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, .2);
}
.c-list-works-item .works-maker-img {
    display: block;
    width: 100%;
}


/* ========================= [ .c-list-maker-item ] */
.c-list-maker-item {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 50%;
    border-right: 1px solid #cdcdcd;
    border-bottom: 1px solid #cdcdcd;
    background-color: #fff;
}
.c-list-maker-item:nth-child(2n) {
    border-right-color: #fff;
}
.c-list-maker-item:nth-child(2n + 1) {
    clear: both;
}
.c-list-maker-item > a {
    display: block;
    padding: 9% 0;
}
.c-list-maker-item .bx-list-img {
    width: 45%;
    margin: 0 auto;
}
.c-list-maker-item .bx-list-img > img {
    display: block;
    width: 100%;
    border-radius: 2px;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .3);
}
.c-list-maker-item .bx-list-tx {
    padding: 0 12%;
}
.c-list-maker-item .tx-maker-name {
    margin-bottom: 9%;
    padding: 9% 0 6%;
    border-bottom: 1px solid #e4007f;
    color: #444;
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}
.c-list-maker-item .tx-maker-description {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    max-height: 7.5em;
    color: #444;
    font-size: 12px;
    text-align: left;
}


/* ========================= [ .c-list-sample-item ] */
.c-list-sample-item {
    display: block;
    position: relative;
    box-sizing: border-box;
    width: 50%;
    padding: 11% 0 6%;
    border-right: 1px solid #cdcdcd;
    border-bottom: 1px solid #cdcdcd;
    background-color: #fff;
}
.c-list-sample-item:nth-child(2n) {
    border-right-color: #fff;
}
.c-list-sample-item:nth-child(2n + 1) {
    clear: both;
}
.c-list-sample-item .bx-sample-maker {
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 34%;
    min-width: 55px;
    box-shadow: 1px 1px 1px 0 rgba(0, 0, 0, .2);
}
.c-list-sample-item .sample-maker-img {
    display: block;
    width: 100%;
}
.c-list-sample-item .bx-sample-thum {
    display: block;
    position: relative;
    z-index: 1;
    width: 88%;
    margin: 0 auto 6%;
}
.c-list-sample-item .bx-sample-thum:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0) radial-gradient(rgba(0,0,0,.22) 1px,transparent 1.6px);
    background-size: 10px 10px;
    content: "";
    -webkit-transition: .2s;
    transition: .2s;
}
.c-list-sample-item .bx-sample-thum:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 50px;
    height: 50px;
    margin: auto;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/play.svg) no-repeat;
    background-size: 50px 50px;
    content: "";
}
.c-list-sample-item .sample-thum-img {
    display: block;
    width: 100%;
}
.c-list-sample-item .bx-sample-detail {
    display: block;
    width: 88%;
    margin: 0 auto 9%;
}
.c-list-sample-item .sample-detail-title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    max-height: 4.5em;
}
.c-list-sample-item .c-btn-rect {
    width: 88%;
    margin: 0 6%;
}


/* ========================= [ .c-media-item ] */
.c-media-item {
    display: block;
    position: relative;
    box-sizing: border-box;
    padding: 8px 0;
    border-bottom: 1px solid #cdcdcd;
    background-color: #fff;
}
.c-media-item:before {
    position: absolute;
    top: 0;
    right: 12px;
    bottom: 0;
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 1px solid #e4007f;
    border-right: 1px solid #e4007f;
    content: "";
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.c-media-item > a {
    display: table;
    width: 100%;
}
.c-media-item .bx-media-img {
    display: table-cell;
    width: 75px;
    padding-left: 10px;
    vertical-align: middle;
}
.c-media-item .bx-media-img img {
    display: block;
    width: 100%;
    border-radius: 2px;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, .3);
}
.c-media-item .bx-media-tx {
    display: table-cell;
    padding: 0 25px 0 10px;
    vertical-align: middle;
}
.c-media-item .ttl-media {
    margin-bottom: 2px;
    color: #e4007f;
    font-size: 15px;
    font-weight: bold;
}
.c-media-item .tx-media {
    font-size: 12px;
}

/* ===== size01 */
.c-media-item.c-media-item--size01 {
    width: 100%;
}
/* ===== size02 */
.c-media-item.c-media-item--size02 {
    width: 50%;
    border-right: 1px solid #cdcdcd;
}
.c-media-item.c-media-item--size02:nth-child(2n) {
    border-right-color: #fff;
}
.c-media-item.c-media-item--size02:nth-child(2n + 1) {
    clear: both;
}


/* ========================= [ .c-ttl-page ] */
.c-ttl-page {
    width: 100%;
    padding: 15px 0 20px;
    text-align: center;
}
.c-ttl-page .ttl-page {
    color: #e4007f;
    font-size: 19px;
    font-weight: bold;
}
.c-ttl-page .ttl-page-sub {
    color: #e4007f;
    font-size: 12px;
}


/* ========================= [ .c-ttl-segment ] */
.c-ttl-segment {
    box-sizing: border-box;
    width: 100%;
    text-align: center;
}
.c-ttl-segment .ttl-segment {
    position: relative;
    padding: 8px 0;
    background: #444 radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.6px);
    background-size: 21px 21px;
    color: #fff;
    font-size: 16px;
}
.c-ttl-segment .tx-segment-sm {
    font-size: 13px;
}
/* ===== [ minus,plus ] */
.c-ttl-segment--minus .ttl-segment,
.c-ttl-segment--plus .ttl-segment {
    padding: 15px 0;
}
.c-ttl-segment--minus .ttl-segment:after,
.c-ttl-segment--plus .ttl-segment:after {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    box-sizing: border-box;
    width: 20px;
    height: 20px;
    margin: auto;
    content: "";
}
.c-ttl-segment--minus .ttl-segment:after {
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/minus-white.svg) no-repeat center center;
    background-size: 20px 20px;
}
.c-ttl-segment--plus .ttl-segment:after {
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/plus-white.svg) no-repeat center center;
    background-size: 20px 20px;
}


/* ========================= [ .c-ttl-maker ] */
.c-ttl-maker {
    margin-top: -1px;
    padding: 30px 10px;
    border-top: 1px solid #cdcdcd;
    border-bottom: 1px solid #cdcdcd;
    background-color: #ededed;
}
.c-ttl-maker .wrap-ttl-maker {
    display: table;
    max-width: 720px;
    margin: 0 auto;
}
.c-ttl-maker .bx-ttl-maker-img {
    display: table-cell;
    width: 28%;
    margin: 0 auto;
    vertical-align: middle;
}
.c-ttl-maker .bx-ttl-maker-img > img {
    display: block;
    width: 100%;
    border-radius: 5%;
}
.c-ttl-maker .bx-ttl-maker-tx {
    display: table-cell;
    padding-left: 15px;
    vertical-align: middle;
}
.c-ttl-maker .tx-maker-name {
    margin-bottom: 6px;
    font-size: 16px;
    font-weight: bold;
}
.c-ttl-maker .tx-maker-description {
    font-size: 13px;
}


/* ========================= [ .area-paging ] */
.area-list + .area-paging {
    padding-top: 20px;
}
.area-paging .bx-paging {
    border-bottom: 1px solid #cdcdcd;
    font-size: 0;
    text-align: center;
}
.area-list + .area-paging .bx-paging {
    border-top: 1px solid #cdcdcd;
}
.area-paging .bx-paging li {
    display: inline-block;
    width: 45px;
    height: 45px;
    font-size: 16px;
    line-height: 45px;
    vertical-align: top;
}
.area-paging .bx-paging .current {
    background-color: #e4007f;
    color: #fff;
}
.area-paging .bx-paging li > * {
    display: block;
    position: relative;
    height: 100%;
    background-color: #fff;
    color: #e4007f;
}
.area-paging .bx-paging li:first-child > *:before,
.area-paging .bx-paging li:last-child > *:before {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 1px solid #e4007f;
    border-right: 1px solid #e4007f;
    content: "";
}
.area-paging .bx-paging li:first-child > *:before {
    -webkit-transform: rotate(-135deg);
            transform: rotate(-135deg);
}
.area-paging .bx-paging li:last-child > *:before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
}
.area-paging .bx-paging li .disabled:before {
    border-color: #444;
    opacity: .2;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)";
}
.area-paging .tx-paging {
    padding: 8px 0;
    border-bottom: 1px solid #cdcdcd;
    background-color: #fff;
    font-size: 12px;
    text-align: center;
}

/* ========================= [ rating ] */
div#age_notice{
    display:block; width:100%;
    height:3000px;
    position:fixed;
    background:#200;
    background:rgba(68,68,68.95);
    top:0; z-index:999;
}
.area-aninfo{
    display:block;
    background:#fff;
    border: 2px solid #b44;
    border-radius:10px;
    width:80%;
    margin:0 auto;
    margin-top: 15%;
    padding:15px;
    text-align:center;
    color:#fff;
    line-height:20px;
    font-size:13px;
    box-shadow: 0px 0px 20px rgba(0,0,0,1);
}
.tx-aninfo {
    padding: 40px 10px 0;
    color: #e4007f;
    font-size: 16px;
    line-height: 1.8;
}
.tx-aninfo > span {
    font-size: 20px;
    font-weight: bold;
}
.img-r18 {
    width: 20%;
    margin: 10px auto 15px;
}
.img-r18 > img {
    max-width: 100%;
    height: auto;
}
.age-button {
    margin: 0 10px 50px;
}
.age-button > .c-btn-rect:first-child {
    margin-bottom: 15px;
}
/* PC対応: SP専用CSSを中央カラム表示にする (2026-09-03 執行役仕様) */
@media (min-width: 768px){
  html{background:#ebebef}
  body{max-width:540px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 28px rgba(0,0,0,.14)}
  #area-header{width:540px;left:0;right:0;margin:0 auto}
  #area-header .bx-overlay-menu{width:540px;left:0;right:0;margin:0 auto}
}
/* カード画像を正方形クロップで高さ統一 (build_mousou_tsuba.py load_css と同一規則, 2026-09-03) */
.works-detail-img{aspect-ratio:1/1!important;object-fit:cover;object-position:center 22%;width:82%;margin:0 auto 6%;border-radius:4px}
/* PC対応その2: 年齢確認オーバーレイが右へはみ出す件 (2026-09-04) */
@media (min-width: 768px){
  #age_notice{left:0;right:0;width:100vw;height:100vh}
  #age_notice .area-aninfo{width:100%;max-width:460px;margin:0 auto;margin-top:12vh}
}

/* =========================================================================
   [ 記事本文を妄想族デザインへ ]  2026-09-05 デザイン部
   ---------------------------------------------------------------------
   対象は single.php が出す .work-content の中だけ。固定ページ(mock-*.html)・
   トップ・タグ/ショップ一覧には .work-content が無いので影響しない。
   記事本文(post_content)とDBは一切書き換えていない。ここのCSSだけで見た目を寄せる。

   ここで潰している旧Diverの残骸:
     - has-diver-status-error-background-color … 見出しがエラー色(#ff2323)の赤で出る
     - has-diver-silver-gradient-background   … 見出しが銀グラデで出る
     - dbp-heading / dbp-button / dbp-section … Diver Blocks の既定配色(#ff6900 橙)
     - [data-animation]                       … Diverのアニメ用CSSだけが footer 経由で
                                                読み込まれ、JSが来ないため opacity:0 の
                                                まま固定される（見出し・CTA・関連枠が
                                                まるごと見えなくなっていた）
   Diver系CSSは wp_footer() 経由で <head> の当ファイルより後に読まれるため、
   打ち消しには !important が要る。インラインstyle対策としても同様。
   ========================================================================= */

/* ---- 0. Diverのアニメーションで中身が消える問題（最優先）---------------- */
/* JSが来ないので永久に opacity:0。見出し・評価表・CTAボタン・関連作品枠が
   全記事で不可視になっていた。CSSで元に戻す。 */
.work-content [data-animation] {
    opacity: 1 !important;
    visibility: visible !important;
    -webkit-transform: none !important;
            transform: none !important;
    -webkit-animation: none !important;
            animation: none !important;
    -webkit-transition: none !important;
            transition: none !important;
    filter: none !important;
}

/* ---- 1. 本文の基本（行間・字送り・色）--------------------------------- */
.work-content {
    font-size: 15px !important;
    line-height: 1.9 !important;
    color: #444 !important;
    letter-spacing: normal !important;
    word-break: normal;
    overflow-wrap: anywhere;
}
.work-content p,
.work-content li,
.work-content td,
.work-content th,
.work-content div {
    letter-spacing: normal !important;
}
.work-content p {
    margin: 0 0 18px !important;
    color: #444;
    font-size: 15px;
    line-height: 1.9 !important;
    overflow-wrap: anywhere;
}
.work-content p:last-child { margin-bottom: 0 !important; }
.work-content a { color: #e4007f; }
.work-content strong,
.work-content b { color: #333; font-weight: bold; }
.work-content hr {
    height: 1px; margin: 26px 0; border: 0; background: #cdcdcd;
}

/* ---- 2. 見出し h2 : 妄想族の .c-ttl-segment に合わせる ------------------ */
/* 濃グレー(#444)＋ドット地＋白文字・中央寄せ。Diverの赤/銀グラデはここで消える。 */
.work-content h2,
.work-content h2.wp-block-heading,
.work-content h2.has-background,
.work-content h2.dbp-heading,
.work-content h2.has-diver-status-error-background-color,
.work-content h2.has-diver-silver-gradient-background {
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    margin: 34px 0 18px !important;
    padding: 13px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #444 radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.6px) !important;
    background-size: 21px 21px !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    overflow-wrap: anywhere;
}
.work-content h2 * {
    color: #fff !important;
    font-size: inherit !important;
    letter-spacing: normal !important;
}
/* is-design-voice の吹き出しツノ・is-design-sand の飾りを消す */
.work-content h2::before,
.work-content h2::after { display: none !important; content: none !important; }

/* ---- 3. 見出し h3 / h4 / h5 : 妄想族のピンク(#e4007f)系 ----------------- */
.work-content h3,
.work-content h3.wp-block-heading {
    box-sizing: border-box;
    margin: 28px 0 12px !important;
    padding: 1px 0 1px 12px !important;
    border: 0 !important;
    border-left: 4px solid #e4007f !important;
    border-radius: 0 !important;
    background: none !important;
    box-shadow: none !important;
    color: #e4007f !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    overflow-wrap: anywhere;
}
.work-content h3 * { color: #e4007f !important; font-size: inherit !important; }
.work-content h3::before,
.work-content h3::after { display: none !important; content: none !important; }

.work-content h4,
.work-content h5 {
    margin: 22px 0 10px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: #444 !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 1.6 !important;
    letter-spacing: normal !important;
}

/* ---- 4. POINT見出し（Diver Blocks の番号付き見出し）-------------------- */
/* 橙(#ff6900)の大玉 → 妄想族ピンクの小玉＋ピンクの下線に。 */
.work-content .wp-block-dbp-heading.dbp-heading {
    margin: 30px 0 14px !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
}
.work-content .wp-block-dbp-heading .dbp-heading-inner {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center !important;
    -webkit-flex-direction: row !important;
            flex-direction: row !important;
    gap: 10px !important;
    padding: 0 0 9px !important;
    border-bottom: 2px solid #e4007f !important;
}
.work-content .wp-block-dbp-heading .dbp-heading-option.is-option-type-number {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
            flex: 0 0 auto !important;
    box-sizing: border-box;
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #e4007f !important;
    background-color: #e4007f !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 32px !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}
.work-content .wp-block-dbp-heading .dbp-heading-meta { min-width: 0; }
.work-content .wp-block-dbp-heading .dbp-heading-text {
    color: #444 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    line-height: 1.55 !important;
    letter-spacing: normal !important;
    overflow-wrap: anywhere;
}

/* ---- 5. dbp-section / group / spacer の余白をそろえる ------------------ */
.work-content .wp-block-dbp-section,
.work-content .wp-block-dbp-section.alignfull {
    margin: 0 !important;
    padding: 0 !important;
    max-width: 100% !important;
}
.work-content .dbp-section__inner {
    max-width: 100% !important;
    padding: 4px 0 !important;
    margin: 0 !important;
}
.work-content .wp-block-group { margin: 0 0 18px !important; }
.work-content .wp-block-spacer { height: 12px !important; }
.work-content .wp-block-dbp-frame.dbp-frame {
    margin: 26px 0 !important;
    padding: 0 !important;
    border: 1px solid #cdcdcd !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}
.work-content .dbp-frame-title {
    margin: 0 !important;
    padding: 11px 14px !important;
    border: 0 !important;
    background: #444 radial-gradient(rgba(255,255,255,.14) 1px,transparent 1.6px) !important;
    background-size: 21px 21px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
    text-align: center !important;
}
.work-content .dbp-frame-content {
    padding: 12px !important;
    background: #fff !important;
    background-image: none !important;
}
/* Diverの水玉地（has-bg-pattern-dots）は ::before で描かれている */
.work-content .has-bg-pattern-dots::before,
.work-content .has-bg-pattern-dots::after,
.work-content .dbp-frame-content::before,
.work-content .dbp-frame-content::after {
    display: none !important;
    content: none !important;
    background-image: none !important;
}

/* ---- 6. 表（wp-block-table）: 妄想族の作品概要表と同じ見え方に ---------- */
.work-content .wp-block-table,
.work-content figure.wp-block-table {
    max-width: 100% !important;
    margin: 18px 0 24px !important;
    padding: 0 !important;
    overflow-x: auto;
}
.work-content .wp-block-table table {
    width: 100% !important;
    max-width: 100% !important;
    border: 1px solid #cdcdcd !important;
    border-collapse: collapse !important;
    background: #fff !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
}
.work-content .wp-block-table th,
.work-content .wp-block-table td {
    padding: 11px 10px !important;
    border: 0 !important;
    border-bottom: 1px solid #cdcdcd !important;
    background: transparent !important;
    color: #444 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    letter-spacing: normal !important;
    text-align: left !important;
    vertical-align: middle !important;
    overflow-wrap: anywhere;
}
.work-content .wp-block-table tbody tr:last-child th,
.work-content .wp-block-table tbody tr:last-child td { border-bottom: 0 !important; }
.work-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: #f7f7f7 !important; }
.work-content .wp-block-table td:first-child {
    width: 34px !important; padding-right: 0 !important; text-align: center !important;
}
.work-content .wp-block-table td:last-child {
    width: 6.4em !important; color: #e4007f !important;
    font-weight: bold !important; text-align: right !important; white-space: nowrap;
}
.work-content .wp-block-table .dbp-e-icon,
.work-content .wp-block-table .material-icon { color: #e4007f !important; }

/* 作品概要（テンプレ側で出しているスペック表）も同じ見え方にそろえる */
.work-content .tsuba-work-overview {
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 1px solid #cdcdcd !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden;
}
.work-content .tsuba-work-overview-row {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
            align-items: stretch !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-top: 1px solid #cdcdcd !important;
}
.work-content .tsuba-work-overview-row:first-child { border-top: 0 !important; }
.work-content .tsuba-work-overview-label {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 104px;
            flex: 0 0 104px !important;
    box-sizing: border-box;
    max-width: 104px !important;
    padding: 11px 10px !important;
    background: #ededed !important;
    color: #444 !important;
    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 1.5 !important;
    letter-spacing: normal !important;
}
.work-content .tsuba-work-overview-value {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
            flex: 1 1 auto !important;
    box-sizing: border-box;
    min-width: 0;
    padding: 11px 10px !important;
    color: #444 !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    letter-spacing: normal !important;
    overflow-wrap: anywhere;
}

/* ---- 7. 画像・図版 ------------------------------------------------------ */
/* 2026-09-02の事故(全記事の画像が opacity 0.1)の再発防止も兼ねて、
   本文中の画像は必ず不透明・可視にする。 */
.work-content img {
    max-width: 100% !important;
    height: auto;
    opacity: 1 !important;
    visibility: visible !important;
}
.work-content figure,
.work-content figure.wp-block-image {
    max-width: 100% !important;
    margin: 20px 0 !important;
    padding: 0 !important;
}
.work-content figure.wp-block-image img { display: block; margin: 0 auto; border-radius: 4px; }
.work-content figure.tsuba-jacket-image { margin: 18px 0 22px !important; }
.work-content figcaption {
    margin: 8px 0 0 !important;
    color: #777 !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
    text-align: center;
}
.work-content video { max-width: 100%; }

/* ---- 8. 引用・リスト ---------------------------------------------------- */
.work-content blockquote {
    margin: 22px 0 !important;
    padding: 14px 16px !important;
    border: 0 !important;
    border-left: 4px solid #e4007f !important;
    border-radius: 0 !important;
    background: #f7f7f7 !important;
    color: #444 !important;
    font-size: 14px !important;
    line-height: 1.9 !important;
}
.work-content blockquote p:last-child { margin-bottom: 0 !important; }
.work-content ul,
.work-content ol {
    margin: 0 0 20px !important;
    padding: 0 0 0 1.4em !important;
}
.work-content ul > li { list-style: disc outside !important; }
.work-content ol > li { list-style: decimal outside !important; }
.work-content li {
    margin: 0 0 8px !important;
    color: #444;
    font-size: 15px;
    line-height: 1.8 !important;
}
.work-content li:last-child { margin-bottom: 0 !important; }
/* 一覧カードなど、リストで組んでいない部品には点を付けない */
.work-content .tsuba-point7-related-cards li,
.work-content nav li { list-style: none !important; }

/* ---- 9. CTAボタン: 妄想族の .c-btn-rect に合わせる ---------------------- */
/* ※ 計測はクラスとhrefで判定している(docs/click_tracking_fix_20260904.md)。
      クラス・属性・DOM構造には一切手を入れず、見た目だけ変える。
      pointer-events / display:none は絶対に使わない。 */
.work-content .wp-block-dbp-button.dbp-button {
    margin: 24px 0 !important;
    padding: 0 !important;
    text-align: center !important;
}
.work-content a.dbp-button-link,
a.work-cta,
.work-content a.cta-primary {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-box-align: center;
    -webkit-align-items: center;
            align-items: center !important;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
            justify-content: center !important;
    -webkit-flex-direction: column !important;
            flex-direction: column !important;
    position: relative !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 55px !important;
    margin: 0 !important;
    padding: 9px 34px 9px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #e4007f !important;
    background-color: #e4007f !important;
    background-image: none !important;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .3) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 1.45 !important;
    letter-spacing: normal !important;
    text-align: center !important;
    text-decoration: none !important;
}
/* ※ a.work-cta はラベル自体に「→」が入っているので矢印アイコンは付けない */
.work-content a.dbp-button-link::after,
.work-content a.cta-primary::after {
    display: block !important;
    position: absolute !important;
    top: 0; right: 10px; bottom: 0;
    width: 16px; height: 12px;
    margin: auto 0;
    background: url(https://tsuba-mania.com/wp-content/themes/rediver-child/mz-assets/arrow-white.svg) no-repeat !important;
    background-size: 16px 12px !important;
    content: "" !important;
}
.work-content a.dbp-button-link .dbp-button-text {
    color: #fff !important;
    font-size: 15px !important;
    font-weight: bold !important;
    line-height: 1.45 !important;
    letter-spacing: normal !important;
}
.work-content a.dbp-button-link .dbp-button-icon { display: none !important; }
a.work-cta { margin: 26px 0 !important; padding-right: 14px !important; }
/* CTAの上に出る煽り文（旧Diverのエラー色 #ff2323 が inline で入っている）*/
.work-content mark.dbp-e-color,
.work-content .dbp-e-microcopy {
    background-color: transparent !important;
    color: #e4007f !important;
    font-weight: bold;
}

/* ---- 10. 旧テーマ由来の赤・青・橙をピンクに寄せる ----------------------- */
.work-content .dbp-e-review { letter-spacing: normal !important; }
/* 作品概要の「出演女優」「ショップ」バッジ（inline styleで青/橙が入っている）*/
.work-content .dbp-e-badge {
    display: inline-block;
    padding: 3px 10px !important;
    border: 1px solid #e4007f !important;
    border-color: #e4007f !important;
    border-radius: 3px !important;
    background: #fdf3f8 !important;
    color: #e4007f !important;
    font-size: 12px !important;
    font-weight: bold !important;
    letter-spacing: normal !important;
}
.work-content .tsuba-work-overview-value a { color: #e4007f !important; }
.work-content .tsuba-review-tag-link { color: #e4007f !important; }
.work-content .tsuba-review-score-head {
    border: 1px solid #cdcdcd !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.work-content .tsuba-review-score-head > div:first-child { color: #e4007f !important; }
.work-content .tsuba-review-score-head > div:nth-child(2) { background: #444 !important; }

/* POINT7の関連作品カード（枠ごと不可視だった部分）*/
.work-content .tsuba-p7-card {
    border: 1px solid #cdcdcd !important;
    border-radius: 0 !important;
    background: #fff !important;
}
.work-content .tsuba-p7-card a { color: #e4007f !important; text-decoration: none !important; }
.work-content .tsuba-p7-card a[href*="/shop/"] { color: #777 !important; }

/* ---- 11. 女優まとめ記事（本文に自前CSSを持つ形式）---------------------- */
body:has(.work-content) { background: #fff !important; }
.work-content .hero,
.work-content .work.best { border-color: #e4007f !important; }
.work-content .performer-profile-kicker,
.work-content .choice-label,
.work-content .work-label,
.work-content .top5-more,
.work-content .related-internal-link span { color: #e4007f !important; }
.work-content .hero-tag,
.work-content .meter span,
.work-content .btn.buy { background: #e4007f !important; }
.work-content .why,
.work-content .v3-scene-box { border-left-color: #e4007f !important; }
.work-content .badge.core { background: #fdf3f8 !important; color: #e4007f !important; }
.work-content .cta-secondary { color: #666 !important; }
.work-content .cta-primary-main {
    color: #fff !important; font-size: 15px !important; font-weight: bold !important;
}
.work-content .cta-primary-note,
.work-content .cta-primary-sub {
    color: rgba(255, 255, 255, .9) !important; font-size: 11px !important;
}

/* ---- 12. はみ出し防止 --------------------------------------------------- */
.work-content,
.work-content > * { max-width: 100%; }
.work-content .sample-video,
.work-content .xcream-video,
.work-content .video-js { max-width: 100% !important; overflow-x: hidden; }
.work-content pre { overflow-x: auto; max-width: 100%; }
.work-content iframe { max-width: 100%; }

/* ---- 13. PC(540px中央カラム)での微調整 ---------------------------------- */
@media (min-width: 768px) {
    .work-content h2,
    .work-content h2.wp-block-heading { font-size: 17px !important; }
    .work-content .wp-block-dbp-heading .dbp-heading-text { font-size: 17px !important; }
}
/* =============== [ 記事本文を妄想族デザインへ ] ここまで ================= */

/* 追記(2026-09-05 同日): 女優まとめ記事のCTAはラベルが2行＋先頭に「▶」があるため、
   矢印アイコンは重ねない（.dbp-button-link 側の矢印はそのまま）。 */
.work-content a.cta-primary::after { display: none !important; content: none !important; }

/* 追記(2026-09-05): 女優まとめ記事は本文に自前CSSを持っていて、その中の
   body{margin:0} が妄想族の body{margin:0 auto} を打ち消すため、PC(768px以上)で
   記事だけが左端に寄り、中央のヘッダー/フッターとズレていた（実測 bodyLeft=0 / header=540）。
   .work-content があるページ＝記事だけに効くよう限定して中央寄せを取り戻す。 */
@media (min-width: 768px) {
    body:has(.work-content) {
        max-width: 540px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        background: #fff !important;
    }
}
/* :has() が使えない古いブラウザ向けの保険。mousou-common.css を読むのは
   single.php と taxonomy.php だけで、どちらも元から body{margin:0 auto} なので
   値は同じ＝退行しない。 */
@media (min-width: 768px) {
    body { margin-left: auto !important; margin-right: auto !important; }
}

/* =====================================================================
   [ 記事本文 v4（2026-09-05）]
   白紙から作り直した本文ブロックの見た目。妄想族(#e4007f / #444 / #cdcdcd)に揃える。
   対象は .work-content 配下のみ。固定ページ・トップには効かない。
   ===================================================================== */

/* 女優・ショップ・収録時間のバッジ行 */
.work-content .tsuba-v4-badges {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-wrap: wrap !important;
            flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 0 0 14px !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}
.work-content .tsuba-v4-badges .tsuba-v4-badge {
    display: inline-block;
    padding: 4px 10px;
    border: 1px solid #cdcdcd;
    background: #f7f7f7;
    color: #444;
    font-size: 12px;
    line-height: 1.5;
    text-decoration: none;
}
.work-content .tsuba-v4-badges a.tsuba-v4-badge {
    border-color: #e4007f;
    background: #fdf3f8;
    color: #e4007f;
    font-weight: bold;
}
.work-content .tsuba-v4-badges a.tsuba-v4-badge:hover { background: #fbe7f2; }

/* 書き出し */
.work-content p.tsuba-v4-lede {
    margin: 14px 0 4px !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
}

/* 「この作品に入っているもの」— 濃い順のリスト */
.work-content .tsuba-v4-contains-list {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 10px !important;
    padding: 0 !important;
    list-style: none !important;
}
.work-content .tsuba-v4-contains-list li {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.work-content .tsuba-v4-contains-list li::marker { content: none; }
.work-content .tsuba-v4-contains-list a,
.work-content .tsuba-v4-contains-list li > span {
    display: inline-block;
    padding: 7px 13px;
    border: 1px solid #e4007f;
    background: #fff;
    color: #e4007f;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.4;
    text-decoration: none;
}
.work-content .tsuba-v4-contains-list a:hover { background: #fdf3f8; }

.work-content p.tsuba-v4-note {
    margin: 0 0 16px !important;
    color: #777 !important;
    font-size: 12px !important;
    line-height: 1.7 !important;
}
.work-content p.tsuba-v4-forwho {
    margin: 0 0 18px !important;
    padding: 12px 14px !important;
    border-left: 4px solid #e4007f !important;
    background: #f7f7f7 !important;
    font-size: 14px !important;
    line-height: 1.85 !important;
}

/* 「乾いたあと」— 唾フェチの核。問いのまま置く段落 */
.work-content p.tsuba-v4-dry-text {
    margin: 0 0 20px !important;
    padding: 14px 16px !important;
    border: 1px solid #e4007f !important;
    background: #fdf3f8 !important;
    color: #444 !important;
    font-size: 15px !important;
    line-height: 1.95 !important;
}

/* 「買う前に確認できること」 */
.work-content .tsuba-v4-check-list {
    margin: 6px 0 18px !important;
    padding: 12px 14px 12px 30px !important;
    border: 1px solid #cdcdcd !important;
    background: #fff !important;
    list-style: none !important;
}
.work-content .tsuba-v4-check-list li {
    position: relative;
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #444;
    font-size: 14px;
    line-height: 1.8;
    list-style: none !important;
}
.work-content .tsuba-v4-check-list li:last-child { margin-bottom: 0 !important; }
.work-content .tsuba-v4-check-list li::before {
    content: "✓";
    position: absolute;
    left: -18px;
    color: #e4007f;
    font-weight: bold;
}

/* 「次に見るもの」の導線 */
.work-content a.tsuba-v4-next-link {
    display: block;
    margin: 12px 0 18px;
    padding: 12px 14px;
    border: 1px solid #e4007f;
    background: #fdf3f8;
    color: #e4007f;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.6;
    text-decoration: none;
}
.work-content a.tsuba-v4-next-link:hover { background: #fbe7f2; }

.work-content .tsuba-v4-more-list {
    margin: 6px 0 20px !important;
    padding: 0 !important;
    list-style: none !important;
}
.work-content .tsuba-v4-more-list li {
    margin: 0 0 8px !important;
    padding: 0 !important;
    list-style: none !important;
}
.work-content .tsuba-v4-more-list a {
    display: block;
    padding: 11px 13px;
    border: 1px solid #cdcdcd;
    background: #fff;
    color: #444;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;
    text-decoration: none;
}
.work-content .tsuba-v4-more-list a:hover { border-color: #e4007f; color: #e4007f; }

/* 関連作品カード（v4は3枚まで） */
.work-content .tsuba-point7-related-cards { margin: 8px 0 4px !important; }

/* FANZAカード（v4は2枚まで） */
.work-content .tsuba-v4-fanza-cards { margin: 14px 0 18px !important; }
.work-content .tsuba-v4-fanza-cards img { border: 1px solid #cdcdcd; }

/* 購入ボタンの色を戻す（2026-09-05）
   記事のCTAは元々 #ff6900 で、これは販売ページの購入ボタン(#FF6E01)と同じ色だった。
   妄想族デザインへの移植時に 2058行付近が #e4007f !important で上書きしてしまい、
   ページ内のピンク要素142個の中にボタンが埋もれていた（コントラスト比4.56）。
   #c2410c は同系の橙で、ページ内でCTAだけが持つ色になり、
   飛び先の購入ボタンとも色がつながる（コントラスト比5.18）。 */
.work-content a.dbp-button-link,
a.work-cta,
.work-content a.cta-primary {
    background: #c2410c !important;
    background-color: #c2410c !important;
    min-height: 64px !important;
    border-radius: 10px !important;
    font-size: 17px !important;
    box-shadow: 0 3px 0 0 #9a3412 !important;
}
.work-content a.dbp-button-link:active,
a.work-cta:active,
.work-content a.cta-primary:active {
    transform: translateY(2px) !important;
    box-shadow: 0 1px 0 0 #9a3412 !important;
}

/* 関連作品カード: 画像とテキストの縦位置をそろえる（v4） */
.work-content .tsuba-p7-card { align-items: center !important; }

/* 2026-09-08 デザイン部: カード一覧の「余り枠」が灰色の空箱に見える（山川さん指摘）。
   .area-list の台紙 #ededed が、カードで埋まっていない枠にそのまま見えているだけなので白にする。
   カード同士の区切り線は .c-list-works-item の border（#cdcdcd / #eee）なので消えない。 */
.area-list { background-color: #fff; }

/* 2026-09-10 デザイン部（台帳 L-123② / DESIGN_RULES D-18）: まとめ記事 TOP5 の購入ボタン。
   本文内の <style> は白文字 on 橙グラデ（#ffbd3d / #ff9800 / #f47c00）で WCAG 比 1.67 / 2.16 / 2.72＝D-18 の 3.0 割れ。
   本文は触らない（購買導線部が内部リンクを設計中）ので、ここで色だけ上書きする。形・大きさ・影の付け方・文言は据え置き。
   橙のまま明→暗の向きも保ち、停止色の比は 3.37 / 4.12 / 5.28。下の影は記事CTA（#c2410c）と同じ #9a3412。
   注記（10px）は半透明をやめて白に（半透明のままだと明側で 3.15 まで下がる）。生成器も同じ色に直した。 */
.work-content .top5-card > .top5-buy {
    background: linear-gradient(180deg, #e06a00 0%, #cc5c00 42%, #b34d00 100%) !important;
    border-color: #a34700 !important;
    box-shadow: 0 3px 0 #9a3412, 0 6px 14px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.work-content .top5-card > .top5-buy:active {
    box-shadow: 0 1px 0 #9a3412, 0 3px 8px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.45) !important;
}
.work-content .top5-buy-note { color: #fff !important; }
