@charset "UTF-8";
/* system
--------------------------- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
/* reset
--------------------------- */
/* 
 * destyle.css v1.0.14
 * https://github.com/nicolas-cusan/destyle.css 
 */
* {
  box-sizing: border-box;
}

::after,
::before {
  box-sizing: inherit;
}

html {
  margin: auto;
  line-height: 1.75;
  font-size: 1.25em;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
  vertical-align: bottom;
}

embed,
iframe,
object {
  border: 0;
  vertical-align: bottom;
}

button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: 0 0;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled],
button[disabled] {
  cursor: default;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

select::-ms-expand {
  display: none;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable] {
  outline: 0;
}

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

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

.sp-only {
  display: inline-block;
}
@media (min-width: 881px) {
  .sp-only {
    display: none;
  }
}

.pc-only {
  display: inline-block;
}
@media (max-width: 880px) {
  .pc-only {
    display: none;
  }
}

.clearfix {
  display: block;
}
.clearfix:before {
  content: "";
  display: block;
  clear: both;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* base
--------------------------- */
*,
*:before,
*:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  line-height: 1.6;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  color: #000;
  background-color: #fff;
  font-size: 1.6rem;
  font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  max-width: 100vw;
  width: 100%;
  overflow-x: hidden;
}

::-moz-selection {
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
}

::selection {
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
}

img,
video,
object {
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
}

a {
  color: #1ca9e3;
  text-decoration: underline;
  position: relative;
}
a:hover {
  opacity: 0.7;
  text-decoration: none;
}

a:hover img {
  text-decoration: none;
  opacity: 0.8;
  transition: all 0.4s;
}

a,
label,
input,
button {
  transition: all 0.4s;
}

.error {
  color: #f00;
  font-size: 1.4rem;
  margin: 1% 0 2%;
}

.inner {
  padding-right: 3vw;
  padding-left: 3vw;
}
@media (max-width: 880px) {
  .inner {
    padding-left: 1.17vw;
    padding-right: 1.17vw;
  }
}

/* ==============================
   Header
============================== */
header {
  border-bottom: 1px solid #000;
  background-color: #fff;
  position: relative;
  z-index: 999;
  /* 上段バー */
  /* PCナビ */
}
header .header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.375rem 3vw;
  /* ロゴ */
  /* 右側 CTA（PCのみ） */
  /* ハンバーガー（SP） */
}
header .header-bar h1 {
  margin: 0;
  line-height: 0;
}
header .header-bar h1 a {
  display: inline-block;
}
header .header-bar h1 img {
  max-height: 5.75rem;
}
@media (max-width: 880px) {
  header .header-bar h1 img {
    max-height: 4.875rem;
  }
}
header .header-bar .header-cta {
  display: flex;
  align-items: center;
  gap: 1.2vw;
  /* TEL ブロック */
  /* LINE・WEB 共通 */
}
@media (max-width: 880px) {
  header .header-bar .header-cta {
    display: none;
  }
}
header .header-bar .header-cta #header-tel {
  text-decoration: none;
  color: inherit;
}
header .header-bar .header-cta #header-tel dl {
  display: flex;
  align-items: center;
  gap: 1vw;
  margin: 0;
}
header .header-bar .header-cta #header-tel dt.tel-badge {
  width: 3.4vw;
  height: 3.4vw;
  border-radius: 50%;
  background-color: #1D3F70;
  color: #fff;
  font-size: 0.9vw;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.4;
}
header .header-bar .header-cta #header-tel dd {
  margin: 0;
}
header .header-bar .header-cta #header-tel dd .tel-row {
  display: flex;
  align-items: center;
  gap: 1vw;
}
header .header-bar .header-cta #header-tel dd .tel-row .tel-icon img {
  width: 2.5vw;
  height: auto;
  display: block;
}
header .header-bar .header-cta #header-tel dd .tel-row .tel-num {
  font-size: 1.9vw;
  font-weight: 700;
  color: #000;
}
header .header-bar .header-cta #header-tel dd .tel-time {
  margin-top: 0.2vw;
  font-size: 1.3vw;
}
header .header-bar .header-cta > a {
  display: inline-flex;
  align-items: center;
  gap: 0.5vw;
  padding: 0.7vw 1.5vw;
  border-radius: 9999px;
  font-size: 0.95vw;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
}
header .header-bar .header-cta > a img {
  width: 2vw;
  height: auto;
}
header .header-bar .header-cta .cta-line {
  background-color: #16a34a;
}
header .header-bar .header-cta .cta-web {
  background-color: #b8862a;
}
header .header-bar #menu-button {
  display: none;
  margin-left: auto;
  border: none;
  padding: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 0.5rem;
  background-color: #173663;
  cursor: pointer;
}
@media (max-width: 880px) {
  header .header-bar #menu-button {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1000;
  }
}
header .header-bar #menu-button .menu-line,
header .header-bar #menu-button .menu-line::before,
header .header-bar #menu-button .menu-line::after {
  width: 1.5rem;
  height: 0.125rem;
  background-color: #fff;
  border-radius: 9999px;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
header .header-bar #menu-button .menu-line {
  position: relative;
}
header .header-bar #menu-button .menu-line::before,
header .header-bar #menu-button .menu-line::after {
  content: "";
  position: absolute;
  left: 0;
}
header .header-bar #menu-button .menu-line::before {
  top: -0.4rem;
}
header .header-bar #menu-button .menu-line::after {
  top: 0.4rem;
}
header .header-bar #menu-button.is-open .menu-line {
  background-color: transparent;
}
header .header-bar #menu-button.is-open .menu-line::before {
  transform: translateY(0.4rem) rotate(45deg);
}
header .header-bar #menu-button.is-open .menu-line::after {
  transform: translateY(-0.4rem) rotate(-45deg);
}
header nav#global-nav {
  background-color: #1D3F70;
}
@media (max-width: 880px) {
  header nav#global-nav {
    display: none;
  }
}
header nav#global-nav ul {
  display: flex;
  justify-content: center;
  padding: 0;
  margin: 0;
}
header nav#global-nav ul li {
  list-style: none;
  padding: 1.25rem 2vw;
}
header nav#global-nav ul li a {
  color: #fff;
  font-size: 1vw;
  font-weight: 700;
  text-decoration: none;
}

/* ==============================
   SP ドロワー
============================== */
nav#sp-nav {
  display: none;
}
@media (max-width: 880px) {
  nav#sp-nav {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 998;
    pointer-events: none;
  }
}
nav#sp-nav .sp-nav-inner {
  background-color: #173663;
  width: 80%;
  max-width: 18.75rem;
  height: 100%;
  margin-left: auto;
  padding: 4.5rem 1.5rem 2rem;
  transform: translateX(100%);
  transition: transform 0.3s ease;
}
nav#sp-nav ul {
  list-style: none;
  margin: 0 0 2rem;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
nav#sp-nav ul li {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}
nav#sp-nav ul li a {
  display: block;
  padding: 0.9rem 0;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
}
nav#sp-nav .sp-cta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
nav#sp-nav .sp-cta .sp-btn {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  border-radius: 9999px;
  text-decoration: none;
  color: #fff;
}
nav#sp-nav .sp-cta .sp-btn-tel {
  background-color: #fff;
  color: #173663;
}
nav#sp-nav .sp-cta .sp-btn-line {
  background-color: #16a34a;
}
nav#sp-nav .sp-cta .sp-btn-web {
  background-color: #b8862a;
}
nav#sp-nav.is-open {
  pointer-events: auto;
}
nav#sp-nav.is-open .sp-nav-inner {
  transform: translateX(0);
}

body.is-drawer-open {
  overflow: hidden;
}

.footer {
  background-color: #020617;
  color: #e5e7eb;
  font-size: 1.5rem;
  /* -------- 上段ナビ -------- */
  /* -------- 会社情報 + SNS -------- */
  /* -------- 最下段バー -------- */
}
.footer__top {
  padding: 3.5rem 0 2.5rem;
}
.footer__inner {
  width: 90%;
  max-width: 85rem;
  margin: 0 auto;
}
.footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3.5rem;
  padding-bottom: 3rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.2);
}
@media (max-width: 880px) {
  .footer__nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 1.5rem;
  }
}
.footer__nav-col {
  min-width: 0;
}
.footer__nav-title {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 1.25rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(148, 163, 184, 0.4);
  color: #f9fafb;
}
.footer__nav-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__nav-list li + li {
  margin-top: 0.5rem;
}
.footer__nav-list a {
  color: #9ca3af;
  font-size: 1.4rem;
  text-decoration: none;
  line-height: 1.7;
  transition: color 0.2s ease;
}
.footer__nav-list a:hover {
  color: #ffffff;
}
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 2.5rem;
  gap: 2.5rem;
}
@media (max-width: 880px) {
  .footer__bottom {
    flex-direction: column;
    gap: 2rem;
  }
}
.footer__company {
  max-width: 28rem;
}
.footer__logo {
  margin-bottom: 1.5rem;
  max-width: 11.875rem;
}
.footer__logo img {
  display: block;
  max-width: 100%;
  height: auto;
}
.footer__corp-name {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}
.footer__corp-address, .footer__corp-tel {
  font-size: 1.6rem;
  color: #9ca3af;
  line-height: 1.7;
}
.footer__sns {
  text-align: left;
}
@media (max-width: 880px) {
  .footer__sns {
    text-align: left;
  }
}
.footer__sns-title {
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 1rem;
  color: #e5e7eb;
}
.footer__sns-list {
  list-style: none;
  display: flex;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
}
.footer__sns-list li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.75rem;
  background-color: #02081f;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.footer__sns-list li a img {
  width: 2.5rem;
  height: 2.5rem;
  display: block;
}
.footer__sns-list li a:hover {
  background-color: #111827;
  transform: translateY(-1px);
}
.footer__bar {
  border-top: 1px solid rgba(31, 41, 55, 0.9);
  padding: 1.25rem 0;
}
.footer__bar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem;
}
@media (max-width: 880px) {
  .footer__bar-inner {
    flex-direction: column;
    text-align: center;
  }
}
.footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer__links a {
  font-size: 1.3rem;
  color: #9ca3af;
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer__links a:hover {
  color: #ffffff;
}
.footer__copy {
  font-size: 1.6rem;
  color: #6b7280;
}

.first-hero {
  padding: 3rem 0;
  position: relative;
}
@media (max-width: 880px) {
  .first-hero {
    padding: 2.5rem 0;
  }
}
.first-hero .inner {
  padding-right: 0;
}
.first-hero .inner::before {
  content: "";
  position: absolute;
  width: 72.6875vw;
  height: 100%;
  background-color: #1d3f70;
  bottom: 0;
  left: 0;
  -webkit-clip-path: polygon(0 0, 80% 0%, 100% 100%, 0 100%);
          clip-path: polygon(0 0, 80% 0%, 100% 100%, 0 100%);
}
@media (max-width: 880px) {
  .first-hero .inner::before {
    width: 100vw;
  }
}
.first-hero .inner .wrap {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
  align-items: center;
  width: 100%;
  /* 左カラム（テキスト） */
  /* 右カラム（画像） */
}
@media (max-width: 880px) {
  .first-hero .inner .wrap {
    grid-template-columns: 1fr;
    row-gap: 2rem;
    padding-left: 0.9375rem;
  }
}
.first-hero .inner .wrap > div:first-child {
  color: #ffffff;
}
.first-hero .inner .wrap > div:first-child h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
@media (max-width: 880px) {
  .first-hero .inner .wrap > div:first-child h2 {
    font-size: 1.75rem;
    text-align: left;
  }
}
.first-hero .inner .wrap > div:first-child p {
  margin-top: 1.875rem;
  font-size: 2rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.8;
}
@media (max-width: 880px) {
  .first-hero .inner .wrap > div:first-child p {
    font-size: 1.6rem;
    text-align: left;
  }
}
.first-hero .inner .wrap > div:first-child ul {
  margin: 1.875rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
}
@media (max-width: 880px) {
  .first-hero .inner .wrap > div:first-child ul {
    flex-direction: column;
    align-items: stretch;
    row-gap: 0.9375rem;
  }
}
.first-hero .inner .wrap > div:first-child ul li {
  /* 左ボタン */
  /* 右ボタン */
}
.first-hero .inner .wrap > div:first-child ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 17.5rem;
  height: 4rem;
  border-radius: 0.75rem;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.25);
}
@media (max-width: 880px) {
  .first-hero .inner .wrap > div:first-child ul li a {
    width: 100%;
    max-width: 20rem;
    margin-inline: auto;
  }
}
.first-hero .inner .wrap > div:first-child ul li a span:first-child img {
  display: block;
}
.first-hero .inner .wrap > div:first-child ul li:first-child a {
  background-color: #ff6600;
  color: #ffffff;
}
.first-hero .inner .wrap > div:first-child ul li:first-child a span:first-child img {
  width: 1.25rem;
  height: 1.25rem;
  margin-right: 0.3125rem;
}
.first-hero .inner .wrap > div:first-child ul li:last-child a {
  background-color: #ffffff;
  color: #000000;
}
.first-hero .inner .wrap > div:first-child ul li:last-child a span:first-child img {
  width: 1.875rem;
  height: 1.75rem;
  margin-right: 0.9375rem;
}
.first-hero .inner .wrap figure {
  margin: 0;
  justify-self: center;
}
@media (max-width: 880px) {
  .first-hero .inner .wrap figure {
    order: -1;
  }
}
.first-hero .inner .wrap figure img {
  display: block;
  width: 100%;
  aspect-ratio: 593/493;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 880px) {
  .first-hero .inner .wrap figure img {
    max-width: 100%;
  }
}

.genre-hero {
  position: relative;
  padding: 0;
  /* 背景画像（10%不透明） */
  /* 黒オーバーレイの枠（中にタイトルを配置） */
}
.genre-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/common/page-lay.jpg");
  background-size: cover;
  background-position: center;
  opacity: 0.1;
  pointer-events: none;
}
.genre-hero .inner {
  position: relative;
  z-index: 1;
}
.genre-hero__frame {
  margin: 0 auto;
  width: 100%;
  aspect-ratio: 64/15;
  background-color: #111111;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 1.5rem;
}
@media (max-width: 880px) {
  .genre-hero__frame {
    aspect-ratio: 64/20;
    padding-inline: 1rem;
  }
}
.genre-hero__frame h1 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
}
@media (max-width: 880px) {
  .genre-hero__frame h1 {
    font-size: 1.75rem;
  }
}

/* =========================================================
   買取方法（3カード）
========================================================= */
#buy-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
  /* カード本体 */
  /* 色バリエーション（data-type） */
  /* 画像 */
  /* 本文ブロック */
  /* アイコン＋タイトル行 */
  /* サブ見出し */
  /* テキスト */
  /* ボタン */
}
@media (max-width: 880px) {
  #buy-list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
#buy-list > .buy-item {
  border-radius: 1.25rem;
  overflow: hidden;
  background-color: #f5f9f3;
  display: flex;
  flex-direction: column;
}
#buy-list > .buy-item[data-type=takuhai] {
  background-color: #e3f7cf;
}
#buy-list > .buy-item[data-type=shuccho] {
  background-color: #e0f0ff;
}
#buy-list > .buy-item[data-type=store] {
  background-color: #ffe3c5;
}
#buy-list figure {
  margin: 0;
  aspect-ratio: 341/182;
  overflow: hidden;
}
#buy-list figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#buy-list > .buy-item > div {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 880px) {
  #buy-list > .buy-item > div {
    padding: 1.25rem 1rem;
  }
}
#buy-list .head {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-top: 1.875rem;
  margin-bottom: 0.9375rem;
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
#buy-list .head span {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}
#buy-list .head span img {
  width: 2rem;
  height: 2rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
#buy-list .head h3 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.3;
  color: #1b1f3b;
}
@media (max-width: 880px) {
  #buy-list .head h3 {
    font-size: 1.8rem;
  }
}
#buy-list h4 {
  margin-top: 1.25rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 880px) {
  #buy-list h4 {
    font-size: 1.8rem;
  }
}
#buy-list p {
  margin-top: 1.25rem;
  font-size: 1.6rem;
  line-height: 1.9;
}
#buy-list .btn-wrap {
  margin-top: 1.5625rem;
  text-align: center;
}
#buy-list .btn-wrap .c-btn {
  width: 100%;
}

/* =========================================================
   事例
========================================================= */
.case__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
@media (max-width: 880px) {
  .case__list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.case__item {
  background-color: #fff;
}
@media (max-width: 880px) {
  .case__item {
    padding-bottom: 1.5rem;
  }
}
.case__item > figure {
  margin: 0;
  aspect-ratio: 314/314;
  overflow: hidden;
}
.case__item > figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.case__item > div {
  padding: 0 0.5rem;
}
.case__item > div > small {
  display: block;
  margin-top: 0.125rem;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #374151;
}
.case .case__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1.5625rem;
  padding: 0.25rem 0.75rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  border-radius: 0.25rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.case .case__title {
  margin-top: 1.5625rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  color: #111827;
}
@media (max-width: 880px) {
  .case .case__title {
    font-size: 1.8rem;
  }
}
.case .case__meta {
  margin-top: 1.25rem;
  font-size: 1.6rem;
  color: #374151;
  line-height: 1.7;
}
@media (max-width: 880px) {
  .case .case__meta {
    font-size: 1.6rem;
  }
}
.case .case__price {
  margin-top: 1.25rem;
  font-size: 2.4rem;
  font-weight: 700;
  color: #F97316;
}
@media (max-width: 880px) {
  .case .case__price {
    font-size: 1.8rem;
  }
}

.case__cat--rock-pops {
  background-color: #ef4444;
}
.case__cat--jazz {
  background-color: #60A5FA;
}
.case__cat--soul-funk-blues {
  background-color: #D97706;
}
.case__cat--classic {
  background-color: #9333EA;
}
.case__cat--japanese-music {
  background-color: #1F2937;
}
.case__cat--anime {
  background-color: #EC4899;
}
.case__cat--club-dance {
  background-color: #0891B2;
}
.case__cat--world-music {
  background-color: #08b23b;
}
.case__cat--others {
  background-color: #6b7280;
}

.col2-item ul {
  display: grid;
  gap: 4.6875rem;
  list-style: none;
  margin: 0;
}
@media (max-width: 880px) {
  .col2-item ul {
    gap: 3rem;
  }
}
.col2-item ul .btn-wrap {
  margin-top: 1.25rem;
}
.col2-item ul li {
  position: relative;
  background: #fff;
  display: flex;
  align-items: stretch;
  width: 100%;
  margin-inline: auto;
  /* 丸い 01〜05 バッジ */
  /* 左側テキストブロック */
  /* 右側画像ブロック（01〜04） */
}
@media (max-width: 880px) {
  .col2-item ul li {
    flex-direction: column;
    width: 90%;
  }
}
.col2-item ul li .reason-badge {
  position: absolute;
  left: -2.1875rem;
  top: -2.8125rem;
  width: 6.5625rem;
  height: 6.5625rem;
  background: #4FA9FF;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Oswald", sans-serif;
  font-size: 2.5rem;
  font-weight: 600;
  z-index: 3;
}
@media (max-width: 880px) {
  .col2-item ul li .reason-badge {
    width: 5rem;
    height: 5rem;
    font-size: 2rem;
    left: -1.25rem;
    top: -2.1875rem;
  }
}
.col2-item ul li .reason-body {
  background: #fff;
  padding: 4.375% 5% 3%;
  flex: 1;
  position: relative;
  z-index: 2;
  /* --- 「具体例」ラベル --- */
  /* --- 囲み枠（UK初版盤 / ファーストプレス ）★ --- */
}
@media (max-width: 880px) {
  .col2-item ul li .reason-body {
    padding: 8% 5% 6%;
  }
}
.col2-item ul li .reason-body h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #003b73;
  margin: 0 0 1.5rem;
}
@media (max-width: 880px) {
  .col2-item ul li .reason-body h3 {
    font-size: 1.8rem;
  }
}
.col2-item ul li .reason-body h3::after {
  content: "";
  display: block;
  margin-top: 1rem;
  width: 100%;
  height: 1px;
  background: #B9B9B9;
}
.col2-item ul li .reason-body p {
  margin-top: 0.9375rem;
  line-height: 1.9;
  font-size: 1.6rem;
}
.col2-item ul li .reason-body h4 {
  font-size: 1.8rem;
  font-weight: 600;
  color: #003366;
  margin-top: 1.25rem;
  margin-bottom: 0.5rem;
}
@media (max-width: 880px) {
  .col2-item ul li .reason-body h4 {
    font-size: 1.7rem;
  }
}
.col2-item ul li .reason-body h5 {
  font-size: 1.4rem;
  font-weight: 600;
  color: #00278a;
  margin-top: 1rem;
  margin-bottom: 0.25rem;
}
@media (max-width: 880px) {
  .col2-item ul li .reason-body h5 {
    font-size: 1.3rem;
  }
}
.col2-item ul li .reason-image {
  position: relative;
  flex: 0 0 48%;
  overflow: hidden;
}
@media (max-width: 880px) {
  .col2-item ul li .reason-image {
    width: 100%;
    aspect-ratio: 335/220;
    order: 2;
    padding-inline: 5%;
    padding-bottom: 5%;
    flex: none;
  }
}
.col2-item ul li .reason-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.col2-item ul li .reason-image::before {
  content: "";
  position: absolute;
  left: -5rem;
  top: 0;
  width: 10rem;
  height: 100%;
  background: #fff;
  transform: skewX(-12deg);
  z-index: 2;
}
@media (max-width: 880px) {
  .col2-item ul li .reason-image::before {
    display: none;
  }
}

/* 4ステップ用：STEPバッジ */
.col2-item.col2-item--step ul li .reason-badge {
  /* 数字は下側に寄せる */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1;
  /* もともとの font-size: 2rem; を少し小さくしてもOKなら調整 */
  font-size: 2.25rem;
  /* 上に「STEP」を載せる */
}
.col2-item.col2-item--step ul li .reason-badge::before {
  content: "STEP";
  display: block;
  font-size: 2rem;
  margin-bottom: 0.2em;
}

.faq .wrap ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.faq .wrap ul li {
  background-color: #F9FAFB;
  border-radius: 1.25rem;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
  overflow: hidden;
  /* 回答ブロック */
  /* 開いている状態（JSで li に .is-open を付与） */
}
.faq .wrap ul li > button {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 2.5rem;
  background: none;
  border: none;
  text-align: left;
  cursor: pointer;
  font: inherit;
  /* Qバッジ */
  /* 質問タイトル */
  /* 右端の矢印 */
}
.faq .wrap ul li > button > span:first-child {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #1D3F70;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.faq .wrap ul li > button > span:nth-child(2) {
  font-size: 1.6rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.5;
  flex: 1 1 auto;
}
.faq .wrap ul li > button > span:last-child {
  flex: 0 0 auto;
  width: 0.9375rem;
  height: 0.46875rem;
  position: relative;
}
.faq .wrap ul li > button > span:last-child::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  border-left: 0.46875rem solid transparent;
  border-right: 0.46875rem solid transparent;
  border-top: 0.46875rem solid #1D3F70;
  transition: transform 0.2s ease;
  transform-origin: center;
}
.faq .wrap ul li > div {
  max-height: 0;
  overflow: hidden;
  padding: 0 2.5rem;
  border-top: 1px solid #E5E7EB;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 1rem;
  transition: max-height 0.3s ease, padding-bottom 0.3s ease, padding-top 0.3s ease;
  /* Aバッジ */
  /* テキスト本体 */
}
.faq .wrap ul li > div > span:first-child {
  flex: 0 0 auto;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #E67F3B;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.faq .wrap ul li > div > div {
  flex: 1 1 auto;
}
.faq .wrap ul li.is-open > div {
  max-height: 31.25rem;
  padding-top: 1.5rem;
  padding-bottom: 2.5rem;
}
.faq .wrap ul li.is-open > button > span:last-child::before {
  transform: rotate(180deg);
}
@media (max-width: 880px) {
  .faq .wrap ul li > button {
    padding: 1.875rem 1.5rem;
  }
  .faq .wrap ul li > div {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* =========================================================
    youtube
========================================================= */
#top-youtube {
  position: relative;
  padding-top: 11.25rem;
  padding-bottom: 7.5rem;
  /* 左下の背景三角 */
  /* ナビボタン：PCは非表示 */
  /* ===== SPレイアウト：1枚表示＋丸矢印 ===== */
}
@media (max-width: 880px) {
  #top-youtube {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
#top-youtube::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  border-bottom: 32.6vw solid #F0F4F9;
  border-right: 100vw solid transparent;
  z-index: 0;
}
#top-youtube .inner {
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#top-youtube .bg-title {
  position: absolute;
  top: -5rem;
  right: 0;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: 13rem;
  color: #F0F4F9;
  white-space: nowrap;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: 0;
}
@media (max-width: 880px) {
  #top-youtube .bg-title {
    font-size: 6rem;
    top: -1rem;
  }
}
#top-youtube .slider {
  position: relative;
  z-index: 1;
}
#top-youtube .list {
  position: relative;
  z-index: 1;
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
}
#top-youtube .list article {
  display: flex;
  flex-direction: column;
}
#top-youtube .list article .thumb {
  width: 100%;
  aspect-ratio: 9/16;
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: #D5D9E0;
}
#top-youtube .list article .thumb iframe {
  width: 100%;
  height: 100%;
  display: block;
}
#top-youtube .list article h3 {
  margin-top: 1.25rem;
  padding-bottom: 0.5rem;
  font-size: 2rem;
  font-weight: 700;
  color: #003366;
  border-bottom: 1px solid #1D3F70;
  line-height: 1.5;
}
#top-youtube .list article p {
  margin-top: 1.25rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #333333;
}
#top-youtube .arrow {
  display: none;
}
@media (max-width: 880px) {
  #top-youtube .slider {
    margin-top: 3rem;
  }
  #top-youtube .list {
    display: flex;
    gap: 1.25rem;
    overflow: hidden;
  }
  #top-youtube .list article {
    flex: 0 0 100%;
  }
  #top-youtube .list article .thumb {
    border-radius: 1rem;
  }
  #top-youtube .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 50%;
    border: 2px solid #15366A;
    background-color: #ffffff;
    z-index: 2;
  }
  #top-youtube .arrow.prev {
    left: 0.8rem;
  }
  #top-youtube .arrow.next {
    right: 0.8rem;
  }
  #top-youtube .arrow::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 0.35rem solid transparent;
    border-bottom: 0.35rem solid transparent;
  }
  #top-youtube .arrow.prev::before {
    border-right: 0.45rem solid #15366A;
    margin-left: 0.1rem;
  }
  #top-youtube .arrow.next::before {
    border-left: 0.45rem solid #15366A;
    margin-right: 0.1rem;
  }
}

.news {
  padding: 4rem 0;
  /* 一覧ブロック（最初の div） */
  /* 1行分（1件分のニュース） */
  /* カテゴリ（先頭の span） */
  /* 日付（2つ目の span） */
  /* タイトルリンク（a） */
  /* 「すべてのお知らせをみる」ボタン */
  /* SP 調整 */
}
.news .wrap > div:first-of-type {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.news .wrap > div:first-of-type > article {
  background: #fff;
  padding: 1.5625rem;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  position: relative;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06);
}
.news .wrap > div:first-of-type > article > span:first-of-type {
  background: #F3F4F6;
  border-radius: 0.375rem;
  font-size: 1.4rem;
  padding: 0.5rem 0.5rem;
  font-weight: 700;
  color: #1D3F70;
  white-space: nowrap;
}
.news .wrap > div:first-of-type > article > span:nth-of-type(2) {
  margin-left: 0.9375rem;
  color: #6B7280;
  font-size: 1.4rem;
  white-space: nowrap;
}
.news .wrap > div:first-of-type > article > a {
  margin-left: 1.875rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  flex: 1;
  line-height: 1.6;
}
.news .btn-wrap {
  margin-top: 2.5rem;
  text-align: center;
}
.news .btn-wrap .c-btn {
  min-width: 14rem;
}
@media (max-width: 880px) {
  .news .wrap > div:first-of-type > article {
    flex-direction: column;
    align-items: flex-start;
  }
  .news .wrap > div:first-of-type > article > span:nth-of-type(2) {
    margin-left: 0.75rem;
  }
  .news .wrap > div:first-of-type > article > a {
    margin-left: 0;
    margin-top: 0.75rem;
  }
}

/* =========================================================
   CTA1
========================================================= */
.cta-primary {
  position: relative;
  padding: 7.5rem 0;
  color: #fff;
  overflow: hidden;
  background-image: url("../img/common/cta/cta_bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 880px) {
  .cta-primary {
    padding: 4rem 0;
  }
}
.cta-primary > .overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 0;
}
.cta-primary > .inner {
  position: relative;
  z-index: 1;
  width: 90%;
  margin: 0 auto;
  text-align: center;
}
.cta-primary > .inner > h2 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.4;
}
@media (max-width: 880px) {
  .cta-primary > .inner > h2 {
    font-size: 1.875rem;
  }
}
.cta-primary > .inner > p {
  margin-top: 4.0625rem;
  font-size: 1.6rem;
  line-height: 2;
  text-align: left;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media (max-width: 880px) {
  .cta-primary > .inner > p {
    margin-top: 2.5rem;
    font-size: 1.4rem;
  }
}
.cta-primary > .inner > ul {
  margin-top: 3.125rem;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.cta-primary > .inner > ul > li {
  /* WEB / LINE の色切り替え */
}
.cta-primary > .inner > ul > li[data-type=web] > a {
  background: #FF6600;
}
.cta-primary > .inner > ul > li[data-type=line] > a {
  background: #06C755;
}
.cta-primary > .inner > ul > li > a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.cta-primary > .inner > ul > li > a img {
  width: 1.75rem;
  height: 1.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.cta-primary > .inner > ul > li > a span {
  display: inline-block;
}
@media (max-width: 880px) {
  .cta-primary > .inner > ul > li > a {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
   CTA2
========================================================= */
.contact-cta {
  background-color: #173663;
  color: #ffffff;
  padding: 4.5rem 0 5rem;
}
@media (max-width: 880px) {
  .contact-cta {
    padding: 3.5rem 0 4rem;
  }
}
.contact-cta > .inner {
  margin: 0 auto;
  text-align: center;
  /* 見出しブロック */
  /* 下線 */
  /* 説明 + カード */
}
.contact-cta > .inner > div:first-of-type {
  margin-bottom: 2rem;
}
.contact-cta > .inner > div:first-of-type > p:first-of-type {
  font-size: 1.6rem;
  opacity: 0.8;
}
.contact-cta > .inner > div:first-of-type > h2 {
  margin-top: 0.5rem;
  font-size: 2.25rem;
  font-weight: 700;
}
@media (max-width: 880px) {
  .contact-cta > .inner > div:first-of-type > h2 {
    font-size: 2rem;
  }
}
.contact-cta > .inner > div:first-of-type > p:last-of-type {
  margin-top: 0.75rem;
  font-size: 1.6rem;
}
.contact-cta > .inner > div:nth-of-type(2) {
  margin: 2.5rem auto 0;
  width: 100%;
  border-top: 1px solid #ffffff;
}
.contact-cta > .inner > .wrap {
  margin-top: 2rem;
  /* カード2カラム */
}
.contact-cta > .inner > .wrap > p:first-of-type {
  margin: 0 auto;
  max-width: 56.25rem;
  font-size: 1.6rem;
  line-height: 1.9;
}
@media (max-width: 880px) {
  .contact-cta > .inner > .wrap > p:first-of-type {
    font-size: 1.4rem;
  }
}
.contact-cta > .inner > .wrap > div:last-of-type {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
@media (max-width: 880px) {
  .contact-cta > .inner > .wrap > div:last-of-type {
    grid-template-columns: 1fr;
  }
}
.contact-cta > .inner > .wrap > div:last-of-type > article {
  background-color: #ffffff;
  color: #111827;
  border-radius: 1.25rem;
  padding: 2.5rem 2.5rem 2.75rem;
  text-align: center;
  /* 電話カード専用 */
  /* メールカード専用（上の注記の余白だけ） */
  /* メールフォームボタン（電話カードには a なし想定） */
}
@media (max-width: 880px) {
  .contact-cta > .inner > .wrap > div:last-of-type > article {
    padding: 2rem 1.5rem 2.25rem;
  }
}
.contact-cta > .inner > .wrap > div:last-of-type > article > figure {
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.contact-cta > .inner > .wrap > div:last-of-type > article > figure img {
  width: 4rem;
  height: 4rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.contact-cta > .inner > .wrap > div:last-of-type > article > h3 {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.contact-cta > .inner > .wrap > div:last-of-type > article > p {
  margin: 0;
}
.contact-cta > .inner > .wrap > div:last-of-type > article > p + p {
  margin-top: 0.5rem;
}
.contact-cta > .inner > .wrap > div:last-of-type > article > p small {
  font-size: 1.6rem;
  color: #6b7280;
}
.contact-cta > .inner > .wrap > div:last-of-type > article[data-type=tel] > p:first-of-type {
  font-size: 1.8rem;
  font-weight: 700;
  color: #0f6ac8;
}
.contact-cta > .inner > .wrap > div:last-of-type > article[data-type=tel] > p:first-of-type a {
  color: inherit;
  text-decoration: none;
}
.contact-cta > .inner > .wrap > div:last-of-type > article[data-type=mail] > p:first-of-type {
  margin-bottom: 1.5rem;
}
.contact-cta > .inner > .wrap > div:last-of-type > article > a {
  display: inline-block;
  margin-top: 1.5rem;
  min-width: 16rem;
}
@media (max-width: 880px) {
  .contact-cta > .inner > .wrap > div:last-of-type > article > a {
    width: 100%;
    max-width: 20rem;
  }
}

/* =========================================================
   CTA3
========================================================= */
.lightblue-cta {
  background-image: url("../img/audio/cta_bg_audio.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 4.5rem 0 5rem;
}
@media (max-width: 880px) {
  .lightblue-cta {
    padding: 3.5rem 0 4rem;
  }
}
.lightblue-cta > .inner {
  margin: 0 auto;
  text-align: center;
}
.lightblue-cta > .inner > h2 {
  color: #fff;
  margin-top: 0.5rem;
  font-size: 2.25rem;
  font-weight: 700;
}
@media (max-width: 880px) {
  .lightblue-cta > .inner > h2 {
    font-size: 2rem;
  }
}
.lightblue-cta > .inner p {
  color: #fff;
  font-size: 2rem;
}
.lightblue-cta > .inner .wrap {
  margin-top: 2rem;
}
.lightblue-cta > .inner .wrap article {
  display: flex;
  gap: 3rem;
  justify-content: center;
  margin: 2rem auto;
}
@media (max-width: 880px) {
  .lightblue-cta > .inner .wrap article {
    flex-direction: column;
  }
}
.lightblue-cta > .inner .wrap article .wrapper {
  width: calc(50% - 3rem);
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  padding: 1.5rem 3rem;
}
@media (max-width: 880px) {
  .lightblue-cta > .inner .wrap article .wrapper {
    width: 100%;
  }
}
.lightblue-cta > .inner .wrap article .wrapper:last-of-type figure {
  background: transparent;
  padding: 0;
}
.lightblue-cta > .inner .wrap article .wrapper:last-of-type figure img {
  width: 5rem;
}
.lightblue-cta > .inner .wrap article .wrapper:last-of-type a {
  background: #FF6600;
}
.lightblue-cta > .inner .wrap article .wrapper figure {
  background: #06C755;
  border-radius: 50%;
  padding: 1rem;
}
.lightblue-cta > .inner .wrap article .wrapper figure img {
  width: 3rem;
}
.lightblue-cta > .inner .wrap article .wrapper h3 {
  font-size: 2rem;
  font-weight: 700;
}
.lightblue-cta > .inner .wrap article .wrapper p {
  color: #000;
  font-size: 1.6rem;
  font-weight: 400;
}
.lightblue-cta > .inner .wrap article .wrapper a {
  width: 90%;
  background: #06C755;
  border-radius: 8px;
  color: #fff;
  padding: 0.5rem;
  text-decoration: none;
}

#record-cta {
  padding: 4.375rem 0;
  background-color: #1d3f70;
  color: #ffffff;
}
@media (max-width: 880px) {
  #record-cta {
    padding: 3.5rem 0;
  }
}
#record-cta .inner {
  text-align: center;
}
#record-cta h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
}
@media (max-width: 880px) {
  #record-cta h2 {
    font-size: 1.4rem;
  }
}
#record-cta p {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #ffffff;
}
@media (max-width: 880px) {
  #record-cta p {
    font-size: 1.6rem;
  }
}
#record-cta ul {
  margin-top: 2rem;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
}
@media (max-width: 880px) {
  #record-cta ul {
    margin-top: 1.5rem;
  }
}
#record-cta ul > li {
  /* WEB / LINE の色切り替え */
}
#record-cta ul > li[data-type=web] > a {
  background: #FF6600;
}
#record-cta ul > li[data-type=line] > a {
  background: #06C755;
}
#record-cta ul > li > a {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
#record-cta ul > li > a img {
  width: 1.75rem;
  height: 1.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
#record-cta ul > li > a span {
  display: inline-block;
}
@media (max-width: 880px) {
  #record-cta ul > li > a {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
   CTA3
========================================================= */
.consult-cta {
  position: relative;
  padding: 5rem 0;
  color: #ffffff;
  overflow: hidden;
  /* 背景：グラデーション + 右側に写真 */
  background-image: url("../img/common/cta/cta_consult.jpg");
  background-repeat: no-repeat, no-repeat;
  background-size: cover;
  background-position: center right;
  /* メインボタン */
  /* サブボタン2つ */
  /* LINE ボタン */
  /* お問い合わせフォーム ボタン */
  /* SP調整 */
}
.consult-cta__content {
  position: relative;
  max-width: 65rem;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 880px) {
  .consult-cta__content {
    max-width: 100%;
  }
}
.consult-cta h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.4;
  text-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
}
@media (max-width: 880px) {
  .consult-cta h2 {
    font-size: 2rem;
  }
}
.consult-cta__lead {
  margin-top: 2.75rem;
  font-size: 2rem;
  line-height: 2;
  text-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
}
@media (max-width: 880px) {
  .consult-cta__lead {
    font-size: 1.4rem;
  }
}
.consult-cta__primary {
  margin-top: 2rem;
}
.consult-cta__btn-main {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 27.5rem;
  height: 4.25rem;
  border-radius: 0.75rem;
  background-color: #f97316;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 0.25rem 0.375rem -0.25rem rgba(0, 0, 0, 0.1), 0 0.625rem 0.9375rem -0.1875rem rgba(0, 0, 0, 0.1);
}
@media (max-width: 880px) {
  .consult-cta__btn-main {
    width: 100%;
    max-width: 27.5rem;
  }
}
.consult-cta__btn-main span:first-child {
  display: inline-flex;
}
.consult-cta__btn-main span:first-child img {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
}
.consult-cta__sub {
  margin: 2.3125rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
@media (max-width: 880px) {
  .consult-cta__sub {
    flex-direction: column;
    row-gap: 0.75rem;
    align-items: center;
  }
}
.consult-cta__sub li {
  list-style: none;
}
.consult-cta__sub a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 3.75rem;
  border-radius: 0.75rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 0.25rem 0.375rem -0.25rem rgba(0, 0, 0, 0.1), 0 0.625rem 0.9375rem -0.1875rem rgba(0, 0, 0, 0.1);
}
.consult-cta__sub a span:first-child {
  display: inline-flex;
}
.consult-cta__sub a span:first-child img {
  display: block;
}
.consult-cta__btn-line {
  width: 18.625rem;
  background-color: #22c55e;
  color: #ffffff;
}
@media (max-width: 880px) {
  .consult-cta__btn-line {
    width: 27.5rem;
  }
}
.consult-cta__btn-line span:first-child img {
  width: 1.5rem;
  height: auto;
}
.consult-cta__btn-mail {
  width: 24.4375rem;
  background-color: #ffffff;
  color: #111827;
}
@media (max-width: 880px) {
  .consult-cta__btn-mail {
    width: 27.5rem;
  }
}
.consult-cta__btn-mail span:first-child img {
  width: 1.25rem;
  height: auto;
}
@media (max-width: 880px) {
  .consult-cta {
    padding: 3.5rem 0;
  }
}

#genre-buy-list {
  background-color: #ffffff;
  padding: 6.25rem 0;
  /* タイトルブロック */
  /* リードテキスト */
  /* カードリスト */
  /* カテゴリラベル（ジャンルごとにモディファイアで色変更） */
  /* SP 全体調整 */
}
@media (max-width: 880px) {
  #genre-buy-list {
    padding: 4rem 0;
  }
}
#genre-buy-list .inner {
  width: 90%;
  max-width: 72rem;
  margin: 0 auto;
}
#genre-buy-list .section-head {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  gap: 0.875rem;
  text-align: center;
}
#genre-buy-list .section-head p:first-child {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  color: #111827;
}
#genre-buy-list .section-head__sub {
  margin: 0;
  font-size: 2rem;
  color: #2563eb;
}
#genre-buy-list .genre-buy-list__lead {
  margin: 2.5rem auto 0;
  font-size: 2rem;
  text-align: center;
  color: #4b5563;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #genre-buy-list .genre-buy-list__lead {
    font-size: 1.4rem;
    text-align: left;
  }
}
#genre-buy-list .buy-list {
  margin: 3.75rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  row-gap: 2.5rem;
}
#genre-buy-list .buy-list li {
  /* 左：画像 */
  /* 右：テキストブロック */
}
#genre-buy-list .buy-list li a {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  width: 100%;
  max-width: 68.125rem;
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 2.5rem 2.1875rem 3.75rem;
  border: 2px solid #e5e7eb;
  text-decoration: none;
  box-shadow: 0 0.25rem 0.375rem -0.25rem rgba(0, 0, 0, 0.1), 0 0.625rem 0.9375rem -0.1875rem rgba(0, 0, 0, 0.1);
}
@media (max-width: 880px) {
  #genre-buy-list .buy-list li a {
    flex-direction: column;
    padding: 1.75rem 1.5rem 2.5rem;
  }
}
#genre-buy-list .buy-list li figure {
  margin: 0;
  width: 10rem;
  aspect-ratio: 1/1;
  flex-shrink: 0;
}
#genre-buy-list .buy-list li figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.5rem;
}
@media (max-width: 880px) {
  #genre-buy-list .buy-list li figure {
    width: 8rem;
  }
}
#genre-buy-list .buy-list li .buy-list__body {
  flex: 1;
}
#genre-buy-list .genre-label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.4375rem 1.625rem;
  border-radius: 0.1875rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}
#genre-buy-list .buy-list__title-en {
  margin: 0.8125rem 0 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
}
#genre-buy-list .buy-list__title-ja {
  margin: 0.125rem 0 0;
  font-size: 1.4rem;
  color: #4b5563;
}
#genre-buy-list .buy-list__price {
  margin: 0.9375rem 0 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #f97316;
}
#genre-buy-list .buy-list__note {
  margin: 0.25rem 0 0;
  font-size: 1rem;
  color: #374151;
  line-height: 1.6;
}
@media (max-width: 880px) {
  #genre-buy-list .buy-list {
    align-items: stretch;
  }
  #genre-buy-list .buy-list li {
    max-width: 100%;
  }
}

.genre-label--rock-pops {
  background-color: #ef4444;
}
.genre-label--jazz {
  background-color: #60A5FA;
}
.genre-label--soul-funk-blues {
  background-color: #D97706;
}
.genre-label--classic {
  background-color: #9333EA;
}
.genre-label--japanese-music {
  background-color: #1F2937;
}
.genre-label--anime {
  background-color: #EC4899;
}
.genre-label--club-dance {
  background-color: #0891B2;
}
.genre-label--world-music {
  background-color: #08b23b;
}
.genre-label--others {
  background-color: #6b7280;
}

#trend-block {
  position: relative;
  padding: 6.25rem 0;
  background-color: #3ea3e3;
  overflow: hidden;
  color: #ffffff;
  /* 背景画像（5%の透過） */
  /* リードテキスト */
  /* タブナビゲーション */
  /* タブコンテンツ */
}
@media (max-width: 880px) {
  #trend-block {
    padding: 4rem 0;
  }
}
#trend-block::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/trend/trend_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.05;
  pointer-events: none;
}
#trend-block .inner {
  position: relative;
  z-index: 1;
}
#trend-block .lead {
  margin: 2.25rem auto 0;
  max-width: 46rem;
  font-size: 2rem;
  text-align: center;
  color: #ffffff;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #trend-block .lead {
    font-size: 1.4rem;
    text-align: left;
  }
}
#trend-block .tab-nav {
  margin: 2.5rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.75rem;
}
#trend-block .tab-nav li {
  margin: 0;
}
#trend-block .tab-nav button {
  display: inline-block;
  min-width: 10rem;
  padding: 1rem 1.5rem;
  border-radius: 0.75rem;
  border: 1px solid #1d3f70;
  background-color: #1d3f70;
  box-shadow: 0 0.25rem 0.375rem -0.25rem rgba(0, 0, 0, 0.1), 0 0.625rem 0.9375rem -0.1875rem rgba(0, 0, 0, 0.1);
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
#trend-block .tab-nav button.is-active {
  background-color: #ffffff;
  color: #374151;
}
@media (max-width: 880px) {
  #trend-block .tab-nav button {
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 880px) {
  #trend-block .tab-nav {
    justify-content: flex-start;
  }
}
#trend-block .tab-panels {
  margin-top: 3.125rem;
}
#trend-block .tab-panels article {
  display: none;
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 3.125rem;
  text-align: center;
  color: #111827;
  /* サブタイトル（1つ目の p） */
  /* 本文（2つ目の p） */
}
#trend-block .tab-panels article.is-active {
  display: block;
}
#trend-block .tab-panels article h3 {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
}
#trend-block .tab-panels article p:nth-of-type(1) {
  margin-top: 1.25rem;
  font-size: 1.8rem;
  color: #2563EB;
}
#trend-block .tab-panels article p:nth-of-type(2) {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  color: #374151;
  line-height: 1.8;
  max-width: 64.0625rem;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}
#trend-block .tab-panels article figure {
  margin: 1.5rem auto 0;
  max-width: 64.0625rem;
  height: 14.1875rem;
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  font-size: 1.6rem;
}
#trend-block .tab-panels article figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 880px) {
  #trend-block .tab-panels article figure {
    width: 100%;
    height: auto;
  }
  #trend-block .tab-panels article figure img {
    height: auto;
  }
}
@media (max-width: 880px) {
  #trend-block .tab-panels article {
    padding: 2rem 1.5rem;
    text-align: left;
  }
  #trend-block .tab-panels article p:nth-of-type(1),
#trend-block .tab-panels article p:nth-of-type(2) {
    text-align: left;
  }
}

#genre-block {
  padding: 6.25rem 0;
  background-color: #ffffff;
  /* カード一覧 */
}
#genre-block h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
  color: #111827;
}
@media (max-width: 880px) {
  #genre-block h2 {
    font-size: 1.875rem;
  }
}
#genre-block .lead {
  margin: 1.5rem auto 0;
  font-size: 2rem;
  text-align: center;
  color: #4b5563;
}
@media (max-width: 880px) {
  #genre-block .lead {
    font-size: 1.4rem;
    padding-inline: 1rem;
  }
}
#genre-block .cards {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 1.5rem;
}
@media (max-width: 880px) {
  #genre-block .cards {
    grid-template-columns: 1fr;
    row-gap: 1.5rem;
    padding-inline: 1rem;
  }
}
#genre-block .cards article {
  background-color: #ffffff;
  border-radius: 1rem;
  box-shadow: 0.125rem 0.125rem 0.5rem rgba(0, 0, 0, 0.25);
  padding: 2rem 1.5rem 1.625rem;
  display: flex;
  -moz-column-gap: 1.5625rem;
       column-gap: 1.5625rem;
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto;
}
@media (max-width: 880px) {
  #genre-block .cards article {
    max-width: 100%;
    height: auto;
  }
}
#genre-block .cards article .thumb {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
#genre-block .cards article .thumb img {
  width: 7.5rem;
  height: 7.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#genre-block .cards article .body {
  margin-top: 0.75rem;
  flex: 1 1 auto;
  text-align: left;
}
@media (max-width: 880px) {
  #genre-block .cards article .body {
    margin-top: 0.5rem;
  }
}
#genre-block .cards article .body .en {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
}
#genre-block .cards article .body .ja {
  margin: 0.5rem 0 0;
  font-size: 1.6rem;
  color: #4b5563;
}
#genre-block .cards article .body .text {
  margin: 1rem 0 0;
  font-size: 1.4rem;
  color: #374151;
  line-height: 1.7;
}
#genre-block .cards article .body .more {
  margin-top: 1.125rem;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.125rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  color: #1f3d97;
  text-decoration: none;
}
#genre-block .cards article .body .more span {
  display: inline-block;
}
#genre-block .cards article .body .more .icon {
  width: 0;
  height: 0;
  border-top: 0.34375rem solid transparent;
  border-bottom: 0.34375rem solid transparent;
  border-left: 0.5625rem solid #1f3d97;
}
#genre-block .cards article .body .more:hover {
  text-decoration: underline;
}
@media (max-width: 880px) {
  #genre-block {
    padding: 4rem 0;
  }
}

#genre-points {
  padding: 6.25rem 0;
  background-color: #e8f6ff;
  /* 3枚カード */
  /* 見出し（2行構成） */
  /* 本文テキスト */
  /* 下部ボタン */
}
#genre-points .wrap {
  margin-top: 3rem;
}
@media (max-width: 880px) {
  #genre-points .wrap {
    margin-top: 2rem;
  }
}
#genre-points .cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}
@media (max-width: 880px) {
  #genre-points .cards {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
#genre-points .cards article {
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 2rem 1.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (max-width: 880px) {
  #genre-points .cards article {
    padding: 1.75rem 1.25rem;
  }
}
#genre-points .cards article figure {
  margin: 0;
}
@media (max-width: 880px) {
  #genre-points .cards article figure {
    margin: 0 auto;
  }
}
#genre-points .cards article figure img {
  width: 7.5625rem;
  height: 7.5625rem;
  aspect-ratio: 1/1;
  display: block;
}
@media (max-width: 880px) {
  #genre-points .cards article figure img {
    width: 6.5rem;
    height: 6.5rem;
  }
}
#genre-points .cards article h3 {
  margin: 1rem 0 0;
  display: flex;
  flex-direction: column;
  row-gap: 0.125rem;
}
@media (max-width: 880px) {
  #genre-points .cards article h3 {
    margin-top: 0.75rem;
  }
}
#genre-points .cards article h3 span:first-of-type {
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0.5rem;
       column-gap: 0.5rem;
  font-size: 1.375rem;
  font-weight: 700;
  color: #003366;
}
#genre-points .cards article h3 span:first-of-type img {
  width: 1.75rem;
  height: 1.75rem;
  display: block;
}
@media (max-width: 880px) {
  #genre-points .cards article h3 span:first-of-type img {
    width: 1.5rem;
    height: 1.5rem;
  }
}
@media (max-width: 880px) {
  #genre-points .cards article h3 span:first-of-type {
    font-size: 2rem;
  }
}
#genre-points .cards article h3 span:nth-of-type(2) {
  font-size: 1.4rem;
  font-weight: 700;
  color: #003366;
}
@media (max-width: 880px) {
  #genre-points .cards article h3 span:nth-of-type(2) {
    font-size: 1.6rem;
  }
}
#genre-points .cards article p {
  margin: 1rem 0 0;
  font-size: 1.6rem;
  color: #374151;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #genre-points .cards article p {
    margin-top: 0.75rem;
    font-size: 1.6rem;
  }
}
#genre-points .more-tips {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}
@media (max-width: 880px) {
  #genre-points .more-tips {
    margin-top: 2rem;
  }
}
#genre-points .tips-button {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  row-gap: 0.5rem;
  padding: 1.125rem 1.5rem 1.125rem 2.5rem;
  width: 24.375rem;
  height: 3.75rem;
  border-radius: 2.5rem;
  border: 0.125rem solid #003366;
  background-color: #ffffff;
  font-size: 1.6rem;
  color: #003366;
  text-decoration: none;
  box-sizing: border-box;
  /* ▶︎アイコン */
}
@media (max-width: 880px) {
  #genre-points .tips-button {
    width: 100%;
    max-width: 24.375rem;
    align-items: center;
    padding-left: 2rem;
  }
}
#genre-points .tips-button span:first-child {
  display: block;
}
@media (max-width: 880px) {
  #genre-points .tips-button span:first-child {
    text-align: center;
    width: 100%;
  }
}
#genre-points .tips-button span:last-child {
  width: 0;
  height: 0;
  border-top: 0.34375rem solid transparent;
  border-bottom: 0.34375rem solid transparent;
  border-left: 0.5625rem solid #003366;
}
@media (max-width: 880px) {
  #genre-points .tips-button span:last-child {
    margin: 0 auto;
  }
}

#self-check {
  background-color: #f9fafb;
  padding: 6.25rem 0;
  /* セクションタイトル */
  /* リードテキスト */
  /* 青いカード全体 */
}
@media (max-width: 880px) {
  #self-check {
    padding: 4rem 0;
  }
}
#self-check .section-head {
  text-align: left;
}
#self-check .section-head p:first-child {
  margin: 0;
  font-size: 1.4rem;
  color: #6b7280;
}
#self-check .section-head h2 {
  margin: 0.5rem 0 0;
  font-size: 2.25rem;
  font-weight: 700;
  color: #111827;
}
#self-check .section-head__sub {
  margin-top: 0.5rem;
  font-size: 1.6rem;
  color: #2563eb;
}
@media (max-width: 880px) {
  #self-check .section-head h2 {
    font-size: 2rem;
  }
}
#self-check .lead {
  margin: 2.25rem auto 0;
  font-size: 2rem;
  text-align: center;
  color: #4b5563;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #self-check .lead {
    font-size: 1.4rem;
    text-align: left;
  }
}
#self-check .cards {
  margin: 3.125rem auto 0;
  background-color: #1d3f70;
  max-width: 100%;
  padding: 3.125rem;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: 3.75rem;
  box-sizing: border-box;
}
@media (max-width: 880px) {
  #self-check .cards {
    padding: 2rem 1rem;
    align-items: stretch;
  }
}
#self-check .cards article {
  width: 100%;
  max-width: 100%;
  padding: 1.875rem 2.5rem;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 2.25rem;
       column-gap: 2.25rem;
  box-sizing: border-box;
  /* 左：画像 */
  /* 右：テキスト側のラッパー */
  /* タイトル行（番号＋見出し） */
  /* 番号丸 */
  /* タイトル文字 */
  /* 質問ボックス */
  /* 補足テキスト（記事内の最後のp） */
}
@media (max-width: 880px) {
  #self-check .cards article {
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem 1.25rem;
    row-gap: 1.5rem;
  }
}
#self-check .cards article figure {
  margin: 0;
  width: 20rem;
  height: 15rem;
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: #e5e7eb;
}
#self-check .cards article figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 880px) {
  #self-check .cards article figure {
    width: 100%;
    height: auto;
  }
  #self-check .cards article figure img {
    height: auto;
  }
}
#self-check .cards article > div {
  flex: 1;
}
#self-check .cards article > div > div:first-child {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
  border-bottom: 1px solid #b9b9b9;
  padding-bottom: 0.625rem;
}
#self-check .cards article > div > div:first-child > span {
  border-radius: 5555px;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5625rem;
  font-family: "Oswald", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: 0.7px;
  color: #ffffff;
  flex-shrink: 0;
  background: #1d3f70;
}
#self-check .cards article h3 {
  font-size: 1.625rem;
  font-weight: 700;
  color: #003366;
  margin: 0;
}
#self-check .cards article .question {
  margin-top: 1.5rem;
  padding: 0.75rem;
  background-color: #e8f6ff;
  border-radius: 0.5rem;
  position: relative;
}
#self-check .cards article .question p {
  margin: 0;
  padding-left: 2.5rem;
  font-size: 1.4rem;
  color: #374151;
}
#self-check .cards article > div > p:last-child {
  margin-top: 2.5rem;
  font-size: 1.6rem;
  color: #374151;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #self-check .cards article > div > p:last-child {
    margin-top: 1.75rem;
    font-size: 1.6rem;
  }
}

#case-block {
  padding: 6.25rem 0;
  /* リスト全体（縦並び） */
}
@media (max-width: 880px) {
  #case-block {
    padding: 4rem 0;
  }
}
#case-block .section-head p:first-child {
  font-size: 1.4rem;
  margin: 0 0 0.5rem;
}
#case-block .section-head h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  color: #111827;
}
#case-block .section-head p:last-child {
  margin-top: 0.75rem;
  font-size: 1.6rem;
  color: #4b5563;
}
@media (max-width: 880px) {
  #case-block .section-head h2 {
    font-size: 2rem;
  }
}
#case-block .case-list {
  margin: 3.75rem 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  row-gap: 2.5rem;
}
#case-block .case-list li {
  width: 100%;
  padding: 2.5rem 3.125rem 2.5rem;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 2px solid #ffffff;
  box-shadow: 0.375rem 0.5rem 2.125rem 0 rgba(0, 0, 0, 0.25);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 2.25rem;
       column-gap: 2.25rem;
  /* 右カラム（テキスト） */
}
@media (max-width: 880px) {
  #case-block .case-list li {
    flex-direction: column;
    align-items: flex-start;
    padding: 2rem 1.5rem;
    row-gap: 1.5rem;
  }
}
#case-block .case-list li figure {
  flex-shrink: 0;
  width: 20rem;
  height: 15.125rem;
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: center;
}
#case-block .case-list li figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 880px) {
  #case-block .case-list li figure {
    width: 100%;
    height: auto;
  }
  #case-block .case-list li figure img {
    height: auto;
  }
}
#case-block .case-list li > div {
  flex: 1;
  /* 本文 */
  /* 右下：所在地・年代・性別 */
}
#case-block .case-list li > div h3 {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  /* タイトル下の下線 */
}
#case-block .case-list li > div h3::after {
  content: "";
  display: block;
  margin-top: 0.5rem;
  border-bottom: 1px solid #b9b9b9;
}
#case-block .case-list li > div p {
  margin: 0;
  font-size: 1.6rem;
  color: #4b5563;
}
#case-block .case-list li > div p:nth-of-type(1) {
  margin-top: 0.625rem;
}
#case-block .case-list li > div p.meta {
  margin-top: 1.5rem;
  text-align: right;
}
@media (max-width: 880px) {
  #case-block .case-list li > div h3 {
    font-size: 1.4rem;
  }
  #case-block .case-list li > div p.meta {
    text-align: left;
  }
}

#delivery-hero {
  padding: 6.25rem 0;
  text-align: center;
  background-image: url("../img/howto/bg_delivery.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#price-logic-hero {
  padding: 6.25rem 0;
  text-align: center;
  background-image: url("../img/price-logic/price-logic-hero.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.page-hero {
  /* ------------------------------------------------
     アイコン＋タイトル（hero-head）
  ---------------------------------------------------*/
  /* ------------------------------------------------
     3つのベネフィット（hero-benefits）
  ---------------------------------------------------*/
  /* ------------------------------------------------
     CTA ボタン（hero-cta）
  ---------------------------------------------------*/
  /* ------------------------------------------------
     内側の幅
  ---------------------------------------------------*/
  /* ------------------------------------------------
     セクション全体 SP
  ---------------------------------------------------*/
}
.page-hero .hero-head .hero-icon {
  margin: 0 auto;
  width: 5rem;
  height: 5rem;
  border-radius: 9999px;
  background-color: #1d3f70;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-hero .hero-head .hero-icon img {
  width: 2.5rem;
  height: 2.5rem;
}
@media (max-width: 880px) {
  .page-hero .hero-head .hero-icon img {
    width: 2rem;
    height: 2rem;
  }
}
@media (max-width: 880px) {
  .page-hero .hero-head .hero-icon {
    margin: 0 auto;
  }
}
.page-hero .hero-head h1 {
  margin: 1.25rem 0 0;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #111827;
}
@media (max-width: 880px) {
  .page-hero .hero-head h1 {
    font-size: 2rem;
    text-align: center;
  }
}
.page-hero .hero-head p {
  margin: 1.5rem 0 0;
  font-size: 2rem;
  line-height: 1.8;
  color: #4b5563;
}
@media (max-width: 880px) {
  .page-hero .hero-head p {
    font-size: 1.4rem;
    text-align: center;
  }
}
.page-hero .hero-head p span {
  display: inline-block;
  margin-top: 0.25rem;
  font-weight: 700;
  color: #1d3f70;
}
.page-hero .hero-benefits {
  margin: 3.75rem 0 0;
  padding: 0;
  display: flex;
  list-style: none;
  -moz-column-gap: 1.875rem;
       column-gap: 1.875rem;
  row-gap: 1.875rem;
  justify-content: center;
}
@media (max-width: 880px) {
  .page-hero .hero-benefits {
    flex-direction: column;
    align-items: center;
  }
}
.page-hero .hero-benefits li {
  flex: 1 1 0;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 2px solid #e8f6ff;
  box-shadow: 0 0.5rem 0.625rem -0.375rem rgba(0, 0, 0, 0.1), 0 1.25rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.1);
  padding: 2.5rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 880px) {
  .page-hero .hero-benefits li {
    width: 100%;
    max-width: 32rem;
  }
}
.page-hero .hero-benefits li .benefit-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  background-color: #1d3f70;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-hero .hero-benefits li .benefit-icon img {
  width: 2rem;
  height: 2rem;
}
@media (max-width: 880px) {
  .page-hero .hero-benefits li .benefit-icon img {
    width: 1.75rem;
    height: 1.75rem;
  }
}
.page-hero .hero-benefits li h2 {
  margin: 1rem 0 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #111827;
}
@media (max-width: 880px) {
  .page-hero .hero-benefits li h2 {
    font-size: 1.4rem;
  }
}
.page-hero .hero-benefits li p {
  margin: 0.5rem 0 0;
  font-size: 1.6rem;
  color: #4b5563;
}
@media (max-width: 880px) {
  .page-hero .hero-benefits li p {
    font-size: 1.6rem;
  }
}
.page-hero .hero-cta {
  margin-top: 3rem;
  text-align: center;
}
.page-hero .hero-cta .hero-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 1.625rem;
       column-gap: 1.625rem;
  width: 31.5625rem;
  height: 5rem;
  border-radius: 1rem;
  background-color: #ff6600;
  color: #ffffff;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 1.5625rem 3.125rem -0.75rem rgba(0, 0, 0, 0.25);
}
@media (max-width: 880px) {
  .page-hero .hero-cta .hero-cta-btn {
    width: 100%;
    max-width: 31.5625rem;
  }
}
.page-hero .hero-cta .hero-cta-btn .hero-cta-arrow {
  width: 0;
  height: 0;
  border-top: 0.4375rem solid transparent;
  border-bottom: 0.4375rem solid transparent;
  border-left: 0.75rem solid #ffffff;
}
@media (max-width: 880px) {
  .page-hero .inner {
    width: 92%;
    margin: 0 auto;
  }
}
@media (max-width: 880px) {
  .page-hero {
    padding: 4rem 0;
    text-align: center;
  }
}

#delivery-target {
  padding: 6.25rem 0;
  background-color: #ffffff;
  text-align: center;
  /* リスト全体 */
  /* リスト item */
  /* SP調整 */
}
#delivery-target .inner {
  width: 90%;
  max-width: 70rem;
  margin: 0 auto;
}
#delivery-target h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  color: #111827;
}
#delivery-target ul {
  margin: 3.125rem auto 0;
  padding: 3.125rem;
  background-color: #e8f6ff;
  border-radius: 1rem;
  width: 56rem;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  row-gap: 1.25rem;
  list-style: none;
}
#delivery-target li {
  width: 100%;
  background-color: #ffffff;
  border-radius: 0.75rem;
  border: 1px solid #dcfce7;
  box-shadow: 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.05);
  padding-block: 1.5625rem 1.8125rem;
  padding-inline: 1.625rem;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  font-size: 1.8rem;
  color: #374151;
}
#delivery-target li .icon {
  background-color: #32a4ed;
  border-radius: 9999px;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
#delivery-target li .icon img {
  width: 1.25rem;
  height: 1.25rem;
  display: block;
}
#delivery-target li span:last-child {
  text-align: left;
  flex: 1;
}
@media (max-width: 880px) {
  #delivery-target {
    padding: 4rem 0;
    text-align: left;
  }
  #delivery-target .inner {
    width: 92%;
  }
  #delivery-target h2 {
    font-size: 2rem;
  }
  #delivery-target ul {
    width: 100%;
    padding: 2.5rem 1.5rem;
  }
  #delivery-target li {
    padding-block: 1.25rem 1.5rem;
    padding-inline: 1.25rem;
    font-size: 1.6rem;
  }
}

#delivery-flow ul {
  margin-top: 5.625rem;
}

#delivery-cta {
  padding: 6.25rem 0 5rem;
  background: linear-gradient(135deg, #3ea3e3 0%, #1d6fc2 100%);
  color: #fff;
  text-align: center;
  background-image: url("../img/common/bg/delivery-cta.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /* タイトル */
  /* リードテキスト */
  /* メインボタン */
  /* サブボタン2つ */
  /* 3つのポイント */
  /* SP対応 */
}
#delivery-cta .inner {
  width: 90%;
  max-width: 75rem;
  margin: auto;
}
#delivery-cta h2 {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.4;
}
#delivery-cta .lead {
  margin-top: 2.5rem;
  font-size: 2rem;
  line-height: 1.8;
}
#delivery-cta .lead strong {
  color: #ffffff;
}
#delivery-cta .btn-main {
  margin-top: 2.5rem;
  background-color: #ffffff;
  border-radius: 1rem;
  width: 33.5625rem;
  height: 5rem;
  box-shadow: 0 1.5625rem 3.125rem -0.75rem rgba(0, 0, 0, 0.25);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-left: auto;
  margin-right: auto;
}
#delivery-cta .btn-main span {
  font-size: 1.5rem;
  font-weight: 700;
  color: #003366;
}
#delivery-cta .btn-main .icon-main {
  width: 1.75rem;
  height: 1.75rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#delivery-cta .sub {
  margin-top: 2.5rem;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
}
#delivery-cta .sub .btn-sub {
  border-radius: 0.75rem;
  border: 0.125rem solid #ffffff;
  height: 3.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 1.5rem;
  gap: 1.25rem;
  color: #ffffff;
  font-size: 1.6rem;
}
#delivery-cta .sub .btn-sub.btn-sub--arrow {
  width: 25rem;
}
#delivery-cta .sub .btn-sub.btn-sub--arrow .icon-arrow {
  width: 1.375rem;
  height: 1.375rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#delivery-cta .sub .btn-sub.btn-sub--tel {
  width: 25.0625rem;
  gap: 0.5rem;
}
#delivery-cta .sub .btn-sub.btn-sub--tel .icon-tel {
  width: 1.8rem;
  height: 1.8rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#delivery-cta .points {
  margin-top: 1.3125rem;
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  list-style: none;
  padding: 0;
}
#delivery-cta .points li {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 1rem;
  width: 18.75rem;
  border: 0.125rem solid #e8f6ff;
  box-shadow: 0 0.5rem 0.625rem -0.375rem rgba(0, 0, 0, 0.1), 0 1.25rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.1);
  padding: 1.25rem 0;
  text-align: center;
}
#delivery-cta .points li .point-icon {
  margin: auto;
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  background-color: #1d3f70;
  display: flex;
  justify-content: center;
  align-items: center;
}
#delivery-cta .points li .point-icon .icon-inner {
  width: 2rem;
  height: 2rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#delivery-cta .points li .point-title {
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: #111827;
}
#delivery-cta .points li .point-text {
  margin-top: 0.5rem;
  font-size: 1.6rem;
  color: #4b5563;
}
@media (max-width: 48rem) {
  #delivery-cta h2 {
    font-size: 1.75rem;
  }
  #delivery-cta .lead {
    font-size: 1.6rem;
    text-align: left;
  }
  #delivery-cta .btn-main {
    width: 100%;
    max-width: 90%;
    height: 4.375rem;
  }
  #delivery-cta .btn-main span {
    font-size: 1.4rem;
  }
  #delivery-cta .sub {
    flex-direction: column;
    gap: 1rem;
  }
  #delivery-cta .sub .btn-sub {
    width: 100% !important;
    justify-content: center;
  }
  #delivery-cta .points {
    flex-direction: column;
  }
  #delivery-cta .points li {
    width: 100%;
    max-width: 20.625rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.breadcrumb {
  width: 90%;
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 1.4rem;
  margin-inline: auto;
}
.breadcrumb a {
  color: #374151;
  position: relative;
  text-decoration: none;
}
.breadcrumb a::before {
  content: ">";
  display: block;
  position: absolute;
  right: -20px;
}

.mv {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (max-width: 880px) {
  .mv {
    margin-top: 15px;
    margin-bottom: 15px;
  }
}

/* =========================================================
   ページ共通の横幅
========================================================= */
.section {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media (max-width: 880px) {
  .section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.section-title {
  border-bottom: 1px solid #B9B9B9;
  color: #003366;
  padding-bottom: 1.5625rem;
}
.section-title__inner {
  width: 90%;
  margin-inline: auto;
}
.section-title p {
  margin-top: 0.625rem;
}
.section-title .c-section-title {
  display: flex;
  flex-direction: column;
}
.section-title .c-section-title .small {
  font-size: 1.6rem;
}
.section-title .c-section-title .big {
  font-size: 2.25rem;
}
.section-title--fff {
  color: #fff;
}

.wrap {
  width: 90%;
  margin-inline: auto;
}

/* =========================================================
   背景
========================================================= */
.bg-blue {
  background: #1D3F70;
}

.bg-blue2 {
  background: #32A4ED !important;
}

.bg-light-blue {
  background: #E8F6FF !important;
}

.bg-1 {
  background-image: url("../img/common/bg/bg_blue.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-2 {
  background-image: url("../img/common/bg/bg_blue02.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bg-3 {
  background-image: url("../img/common/bg/bg_blue3.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* =========================================================
   button
========================================================= */
.btn-wrap {
  margin-top: 3.125rem;
  text-align: center;
}

.c-btn {
  position: relative;
  display: inline-block;
  font-size: 1.375rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.05em;
  padding-block: 0.625rem;
  border-radius: 9999px;
  width: 30rem;
  max-width: 100%;
  border: 1px solid #1D3F70;
  color: #1D3F70;
  background: #fff;
}
@media (max-width: 880px) {
  .c-btn {
    width: 100%;
  }
}
.c-btn::after {
  content: "";
  position: absolute;
  right: 3.125rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 0.375rem solid transparent;
  border-bottom: 0.375rem solid transparent;
  right: 0.9375rem;
  border-left: 0.625rem solid #1D3F70;
}
.c-btn--org {
  background-color: #F97316;
  color: #fff;
  border: none;
}
.c-btn--org::after {
  border-left: 0.625rem solid #fff;
}
.c-btn--blue {
  background-color: #1F3D97;
  color: #fff;
  border: none;
}
.c-btn--blue::after {
  border-left: 0.625rem solid #fff;
}
.c-btn--green {
  background-color: #0B9748;
  color: #fff;
  border: none;
}
.c-btn--green::after {
  border-left: 0.625rem solid #fff;
}
.c-btn--red {
  background-color: #F0484A;
  color: #fff;
  border: none;
}
.c-btn--red::after {
  border-left: 0.625rem solid #fff;
}

ul .line a,
ul .web a {
  display: flex;
  align-items: center;
  gap: 1vw;
  padding: 15px;
  border-radius: 5555px;
  color: #fff;
  text-decoration: none;
  font-size: 1.25vw;
}
ul .line a .icon,
ul .web a .icon {
  width: 1.875vw;
  height: 1.875vw;
}
ul .line a {
  background-color: #369136;
  border-color: #369136;
}
ul .web a {
  background-color: #af853c;
  border-color: #af853c;
}

/* =========================================================
   scene（2カラムカード）
========================================================= */
#top-scene ul {
  list-style: none;
  margin: 3rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media (max-width: 880px) {
  #top-scene ul {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
#top-scene ul li {
  border-radius: 0.9375rem;
  overflow: hidden;
  padding-bottom: 2.5rem;
  /* ▼ 背景色バリエーション（class 不要） */
  /* 下のボタン */
}
#top-scene ul li[data-color=org] {
  background: #FFE7D6;
}
#top-scene ul li[data-color=org] p.lead::before, #top-scene ul li[data-color=org] p.lead::after {
  background-color: #f97316;
}
#top-scene ul li[data-color=blue] {
  background: #E4F3FF;
}
#top-scene ul li[data-color=blue] p.lead::before, #top-scene ul li[data-color=blue] p.lead::after {
  background-color: #1f3d97;
}
#top-scene ul li[data-color=green] {
  background: #E5F6E8;
}
#top-scene ul li[data-color=green] p.lead::before, #top-scene ul li[data-color=green] p.lead::after {
  background-color: #0b9748;
}
#top-scene ul li[data-color=red] {
  background: #FFE5E5;
}
#top-scene ul li[data-color=red] p.lead::before, #top-scene ul li[data-color=red] p.lead::after {
  background-color: #f0484a;
}
#top-scene ul li figure {
  margin: 0;
}
#top-scene ul li figure img {
  width: 100%;
  aspect-ratio: 525/256;
  -o-object-fit: cover;
     object-fit: cover;
}
#top-scene ul li h3 {
  margin: 2rem 0 0;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}
#top-scene ul li p.lead {
  margin: 1.25rem 1.25rem 0;
  padding: 1.5rem 1rem;
  text-align: center;
  background: #fff;
  border-radius: 0.25rem;
  line-height: 1.8;
  position: relative;
}
#top-scene ul li p.lead span {
  font-weight: 700;
}
#top-scene ul li p.lead::before, #top-scene ul li p.lead::after {
  content: "";
  width: 95%;
  height: 1px;
  background: #E67F3B;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
#top-scene ul li p.lead::before {
  top: 10px;
}
#top-scene ul li p.lead::after {
  bottom: 10px;
}
#top-scene ul li p:last-of-type {
  text-align: center;
  padding: 0 1.5rem;
  margin-top: 2rem;
}
#top-scene ul li p:last-of-type a.c-btn {
  width: 100%;
}

/* =========================================================
   reason（理由カード）
========================================================= */
#top-reason {
  /* 05 だけフル幅扱いにする */
}
#top-reason ul {
  padding-top: 6.25rem;
}
@media (max-width: 880px) {
  #top-reason ul {
    padding-top: 3rem;
  }
}
#top-reason ul .reason__reuse {
  border: 1px solid #B9B9B9;
  border-radius: 0.625rem;
  padding: 3.75rem 5%;
  margin-top: 1.25rem;
}
#top-reason ul .reason__reuse figure {
  max-width: 30rem;
  margin-inline: auto;
}
#top-reason ul .reason__reuse img {
  width: 100%;
  height: auto;
  display: block;
}
#top-reason ul .reason__license {
  margin-top: 1.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-size: 1.5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 880px) {
  #top-reason ul .reason__license {
    gap: 0.5rem;
  }
}
#top-reason ul .reason__license p {
  margin: 0;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #top-reason ul .reason__license p {
    align-items: flex-start;
    flex-direction: column;
    row-gap: 0.25rem;
  }
}
#top-reason ul .reason__license p strong {
  padding: 0.25rem 0.75rem;
  background-color: #003366;
  color: #fff;
  border-radius: 0.25rem;
  font-size: 1.4rem;
  white-space: nowrap;
}
#top-reason.reason-item--full {
  flex-direction: column;
}
#top-reason.reason-item--full .reason-image {
  /* 05ではロゴ枠として中に置くので、斜めカットは不要 */
  flex: none;
  width: auto;
  padding: 0;
  margin-top: 1.25rem;
  overflow: visible;
}
#top-reason.reason-item--full .reason-image::before {
  display: none;
}
#top-reason.reason-item--full .reason-image img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

/* =========================================================
   買取方法
========================================================= */
#top-buy #buy-list {
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #top-buy #buy-list {
    margin-top: 1.25rem;
  }
}

/* =========================================================
   スタッフ
========================================================= */
#top-staff {
  /* 3col → SPで1col */
}
#top-staff .staff__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin: 3.125rem 0 0;
  list-style: none;
  padding: 0;
}
@media (max-width: 880px) {
  #top-staff .staff__list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 1.25rem;
  }
}
#top-staff .staff__item {
  position: relative;
  background-color: #ffffff;
  padding: 1.5625rem 1.25rem;
  overflow: hidden;
  /* 左上の三角（デフォルト赤） */
  /* data-color で色分岐 */
  /* アバター（figure） */
}
@media (max-width: 880px) {
  #top-staff .staff__item {
    padding: 1.5625rem 1rem;
  }
}
#top-staff .staff__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 102px solid #e53935;
  border-right: 214px solid transparent;
}
#top-staff .staff__item[data-color=red]::before {
  border-top-color: #e53935;
}
#top-staff .staff__item[data-color=black]::before {
  border-top-color: #202020;
}
#top-staff .staff__item[data-color=yellow]::before {
  border-top-color: #f5c031;
}
#top-staff .staff__item > .top {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
}
#top-staff .staff__item > .top > figure {
  width: 6.875rem;
  height: 6.875rem;
  border-radius: 50%;
  background-color: #d8dde5;
  overflow: hidden;
  z-index: 1;
}
#top-staff .staff__item > .top > figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#top-staff .staff__item > div:last-child {
  margin-top: 1.25rem;
  /* 1つ目 → 名前 */
  /* 2つ目 → コメント */
}
#top-staff .staff__item > div:last-child > p:first-of-type {
  margin: 0;
  text-align: center;
  font-weight: 700;
  color: #003366;
  font-size: 1.8rem;
}
#top-staff .staff__item > div:last-child > p:nth-of-type(2) {
  margin-top: 1rem;
}
#top-staff .staff-genre {
  margin-top: 3rem;
  border-radius: 0.3125rem;
  overflow: hidden;
  /* 見出し */
  /* リスト */
}
#top-staff .staff-genre > p {
  margin: 0;
  background-color: #1D3F70;
  color: #ffffff;
  font-weight: 700;
  font-size: 1.6rem;
  padding: 0.5rem 0.625rem;
}
#top-staff .staff-genre > ul {
  margin: 0;
  padding: 0.3125rem 0 0.625rem 0.625rem;
  background-color: #E8F6FF;
  list-style: none;
}
#top-staff .staff-genre > ul li {
  position: relative;
  padding-left: 0.875rem;
  margin-top: 0.3125rem;
  line-height: 1.8;
}
#top-staff .staff-genre > ul li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.35rem;
  height: 0.35rem;
  background-color: #003366;
  border-radius: 50%;
  transform: translateY(-50%);
}
#top-staff .staff-genre > ul li:first-child {
  margin-top: 0.3125rem;
}

/* =========================================================
   事例
========================================================= */
#top-case .case__list {
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #top-case .case__list {
    margin-top: 1.25rem;
  }
}

/* =========================================================
   voice
========================================================= */
#top-voice {
  /* 2カラム → SPで1カラム */
  /* 1件分のカード */
}
#top-voice .voice__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.75rem;
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #top-voice .voice__list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 1.25rem;
  }
}
#top-voice .voice__item {
  background-color: #E8F6FF;
  padding: 1.875rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  /* 上部の画像 */
  /* テキストブロック */
  /* タイトル（h3） */
  /* 本文（最初の p） */
  /* お客様名 + 受付月（最後の p） */
}
@media (max-width: 880px) {
  #top-voice .voice__item {
    padding: 1.5rem 1.25rem;
  }
}
#top-voice .voice__item > figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 448/418;
  overflow: hidden;
}
#top-voice .voice__item > figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#top-voice .voice__item > div {
  display: flex;
  flex-direction: column;
  margin-top: 1.875rem;
}
#top-voice .voice__item > div > h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #003366;
  line-height: 1.5;
  margin: 0;
}
#top-voice .voice__item > div > p:first-of-type {
  margin-top: 1.25rem;
  color: #333;
}
#top-voice .voice__item > div > p:last-of-type {
  margin-top: 1.25rem;
  font-size: 1.4rem;
  color: #333;
}

#top-genre {
  /* 下のボタン行 */
}
#top-genre .wrap {
  /* タブレット：2列 */
  /* スマホ：1列 */
}
#top-genre .wrap > ul {
  margin: 3.125rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  row-gap: 0.75rem;
}
@media (max-width: 880px) {
  #top-genre .wrap > ul {
    margin-top: 1.25rem;
  }
}
#top-genre .wrap > ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-block: 1.1rem;
  padding-inline: 0.75rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1F2937;
  text-decoration: none;
  text-align: center;
  border-radius: 0.5rem;
  background-color: #ffffff;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
#top-genre .wrap > ul li a:hover {
  background-color: #E5E7EB;
  box-shadow: 0 0 0 1px rgb(229, 231, 235);
}
@media (max-width: 880px) {
  #top-genre .wrap > ul {
    grid-template-columns: 1fr;
    row-gap: 0.5rem;
  }
  #top-genre .wrap > ul li a {
    padding-block: 1rem;
  }
}
#top-genre .btn-wrap {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #B9B9B9;
  text-align: center;
}

/* =========================================================
   レコードの価値
========================================================= */
#top-value .wrap ul {
  list-style: none;
  margin: 3.125rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.375rem;
}
@media (max-width: 880px) {
  #top-value .wrap ul {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-top: 1.25rem;
  }
}
#top-value .wrap ul li article {
  background: #fff;
  border-radius: 1.25rem;
  padding: 1.25rem 1.875rem 2.5rem;
}
#top-value .wrap ul li article figure {
  width: 100%;
  margin: 0 0 1.875rem;
}
#top-value .wrap ul li article figure img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#top-value .wrap ul li article > div .head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-top: 1.875rem;
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #B9B9B9;
}
#top-value .wrap ul li article > div .head img {
  width: 2.25rem;
  height: 2.25rem;
  -o-object-fit: contain;
     object-fit: contain;
}
#top-value .wrap ul li article > div .head h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #003366;
}
#top-value .wrap ul li article > div > p {
  margin-top: 1.5625rem;
  font-size: 1.6rem;
  color: #333;
  line-height: 1.7;
}
#top-value .wrap ul li article > div > a.c-btn {
  margin-top: 1.875rem;
  width: 100%;
  display: block;
  color: #fff;
  text-align: center;
}

/* =========================================================
   プロフェッショナル
========================================================= */
#top-professional {
  position: relative;
  padding-bottom: 7.5rem;
  /* 背景の「Professional」 */
}
#top-professional .bg-title {
  position: absolute;
  right: 0;
  bottom: -5rem;
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: 13rem;
  color: #F0F4F9;
  white-space: nowrap;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  z-index: -1;
}
@media (max-width: 880px) {
  #top-professional .bg-title {
    font-size: 6.5rem;
    bottom: -0.5rem;
  }
}
#top-professional .wrap article {
  margin-top: 3.125rem;
  /* 白カード本体 */
}
@media (max-width: 880px) {
  #top-professional .wrap article {
    margin-top: 1.25rem;
  }
}
#top-professional .wrap article.item {
  background-color: #ffffff;
  border-radius: 1.25rem;
  padding: 2.5rem 3.125rem;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.08);
}
#top-professional .wrap article.item > div {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  /* 左：テキスト側 */
  /* 右：画像側 */
}
@media (max-width: 880px) {
  #top-professional .wrap article.item > div {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
}
#top-professional .wrap article.item > div > div:first-child h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #003366;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #B9B9B9;
}
#top-professional .wrap article.item > div > div:first-child p {
  margin-top: 2.5rem;
  color: #333333;
}
#top-professional .wrap article.item > div > figure {
  align-self: center;
}
#top-professional .wrap article.item > div > figure img {
  width: 100%;
  aspect-ratio: 484/242;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
  display: block;
}

/* =========================================================
   コラム
========================================================= */
#top-upcolumn .wrap ul {
  list-style: none;
  margin: 3.125rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4.375rem;
}
@media (max-width: 880px) {
  #top-upcolumn .wrap ul {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-top: 1.25rem;
  }
}
#top-upcolumn .wrap ul li {
  background-color: #ffffff;
  border-radius: 1.25rem;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
}
#top-upcolumn .wrap ul li > a {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.875rem;
  text-decoration: none;
  color: inherit;
}
@media (max-width: 880px) {
  #top-upcolumn .wrap ul li > a {
    padding: 1.5rem;
    gap: 1.25rem;
  }
}
#top-upcolumn .wrap ul li > a > figure {
  flex: 0 0 auto;
  width: 8.4375rem;
  height: 5.5rem;
  overflow: hidden;
  border: 1px solid #000;
}
#top-upcolumn .wrap ul li > a > figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#top-upcolumn .wrap ul li > a > div {
  flex: 1 1 auto;
  min-width: 0;
  /* 日付 */
  /* カテゴリラベル */
  /* タイトル */
  /* 本文（2行で省略） */
}
#top-upcolumn .wrap ul li > a > div > p:first-of-type {
  margin: 0;
  font-size: 1.6rem;
  color: #A3AACA;
}
#top-upcolumn .wrap ul li > a > div > p:first-of-type time {
  font: inherit;
}
#top-upcolumn .wrap ul li > a > div > .upcolumn-cat {
  display: inline-block;
  margin-top: 0.8125rem;
  padding: 0.3125rem 0.75rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
  background-color: #1D3F70;
  border-radius: 999px;
  letter-spacing: 0.06em;
}
#top-upcolumn .wrap ul li > a > div > h3 {
  margin-top: 0.9375rem;
  font-size: 2rem;
  font-weight: 700;
  color: #00278A;
  line-height: 1.5;
}
#top-upcolumn .wrap ul li > a > div > p:last-of-type {
  margin-top: 0.4375rem;
  font-size: 1.6rem;
  line-height: 1.7;
  color: #333333;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* =========================================================
   よくある質問
========================================================= */
/* TOP専用の余白調整 */
#top-faq .wrap ul {
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #top-faq .wrap ul {
    margin-top: 1.25rem;
  }
}

/* =========================================================
   スタッフコラム
========================================================= */
.staff-column .wrap {
  /* カード3カラムのコンテナ（最初の div） */
  /* 下の「すべてのコラムを見る」ボタン */
}
.staff-column .wrap > div:first-of-type {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9375rem;
}
@media (max-width: 880px) {
  .staff-column .wrap > div:first-of-type {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.staff-column .wrap > div:first-of-type a {
  background-color: #ffffff;
  border-radius: 0.75rem;
  padding: 1.5625rem;
  box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  /* 1つ目の p = 日付 */
  /* span = カテゴリラベル */
  /* タイトル */
  /* 2つ目の p = 本文 */
}
.staff-column .wrap > div:first-of-type a figure {
  width: 100%;
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: #e5e7eb;
}
.staff-column .wrap > div:first-of-type a figure img {
  width: 100%;
  aspect-ratio: 307/196;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.staff-column .wrap > div:first-of-type a > p:first-of-type {
  margin-top: 1.25rem;
  font-size: 1.6rem;
  color: #A3AACA;
}
.staff-column .wrap > div:first-of-type a > span {
  display: inline-flex;
  margin-top: 0.625rem;
  padding: 0.3125rem 0.9375rem;
  font-size: 1.4rem;
  font-weight: 700;
  background-color: #1D3F70;
  color: #ffffff;
  border-radius: 9999px;
  white-space: nowrap;
  align-self: flex-start;
}
.staff-column .wrap > div:first-of-type a h3 {
  margin-top: 0.9375rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: #00278A;
  line-height: 1.5;
}
.staff-column .wrap > div:first-of-type a > p:nth-of-type(2) {
  margin-top: 0.625rem;
  font-size: 1.6rem;
  line-height: 1.7;
  color: #333333;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.staff-column .wrap .btn-wrap {
  margin-top: 3rem;
  text-align: center;
}
.staff-column .wrap .btn-wrap .c-btn {
  min-width: 16rem;
}

/* TOP用：上マージンだけコントロール */
.top-staff-column .wrap > div:first-of-type {
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  .top-staff-column .wrap > div:first-of-type {
    margin-top: 1.25rem;
  }
}

/* =========================================================
   その他
========================================================= */
.otherbuy {
  /* 上段：2カラムカード（元 .otherbuy__cards 相当） */
  /* 下段：5列のサムネ＋テキスト（元 .otherbuy__list 系） */
}
.otherbuy .wrap > div:first-of-type {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4.375rem;
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  .otherbuy .wrap > div:first-of-type {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-top: 1.25rem;
  }
}
.otherbuy .wrap > div:first-of-type article {
  background: #fff;
  border-radius: 1.25rem;
  padding: 1.25rem 1.875rem 2.5rem;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
}
.otherbuy .wrap > div:first-of-type article figure {
  width: 100%;
  margin: 0 0 1.875rem;
}
.otherbuy .wrap > div:first-of-type article figure img {
  width: 100%;
  aspect-ratio: 450/242;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.otherbuy .wrap > div:first-of-type article > div {
  text-align: left;
}
.otherbuy .wrap > div:first-of-type article > div h3 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #003366;
  text-align: center;
  padding-bottom: 0.9375rem;
  border-bottom: 1px solid #B9B9B9;
}
.otherbuy .wrap > div:first-of-type article > div p {
  margin-top: 1.5625rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #333;
}
.otherbuy .wrap > div:first-of-type article > div .btn-wrap {
  margin-top: 1.875rem;
  text-align: center;
}
.otherbuy .wrap > div:first-of-type article > div .btn-wrap .c-btn {
  display: inline-block;
  min-width: 14rem;
}
.otherbuy .wrap > div:nth-of-type(2) {
  margin-top: 3.125rem;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.125rem;
}
@media (max-width: 880px) {
  .otherbuy .wrap > div:nth-of-type(2) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }
}
.otherbuy .wrap > div:nth-of-type(2) article {
  text-align: center;
}
.otherbuy .wrap > div:nth-of-type(2) article figure {
  width: 100%;
  margin: 0;
  border-radius: 0.625rem;
  overflow: hidden;
  background: #E5E7EB;
}
.otherbuy .wrap > div:nth-of-type(2) article figure img {
  width: 100%;
  aspect-ratio: 206/130;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.otherbuy .wrap > div:nth-of-type(2) article p {
  margin-top: 0.5rem;
  color: #111827;
}

/* =========================================================
   NEWS
========================================================= */
/* TOP 用マージン（共通パーツ化したとき用） */
.top-news .wrap > div:first-of-type {
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  .top-news .wrap > div:first-of-type {
    margin-top: 1.25rem;
  }
}

.trouble {
  background-color: #F9FAFB;
  padding: 4rem 0;
  /* 上のアイコン */
  /* 見出し */
  /* 下の大きいイラスト */
}
.trouble .inner {
  text-align: center;
}
.trouble .inner > figure:first-of-type {
  margin: 0 auto 1.5rem;
  margin-bottom: 0;
}
.trouble .inner > figure:first-of-type img {
  display: block;
  width: 7.8125rem;
  height: auto;
  margin: 0 auto;
}
.trouble h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
  color: #111827;
  line-height: 1.4;
}
.trouble .inner > figure:last-of-type {
  margin: 2.5rem auto 0;
}
.trouble .inner > figure:last-of-type img {
  display: block;
  width: 100%;
  max-width: 56.6875rem;
  height: auto;
  margin: 0 auto;
}
@media (max-width: 880px) {
  .trouble {
    padding: 3rem 0;
  }
  .trouble h2 {
    font-size: 1.875rem;
  }
  .trouble .inner > figure:last-of-type {
    margin-top: 2rem;
  }
}

#for-bereaved .inner {
  width: 90%;
  max-width: 70rem;
  margin: 0 auto;
  text-align: center;
  /* ← header を使わず div.title-block に */
  /* 動画（画像）エリア */
  /* コメント枠 */
}
#for-bereaved .inner .title-block h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  color: #003366;
}
#for-bereaved .inner .title-block p {
  margin-top: 1.875rem;
  font-size: 2rem;
  color: #4b5563;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #for-bereaved .inner .title-block h2 {
    font-size: 2rem;
  }
  #for-bereaved .inner .title-block p {
    font-size: 1.6rem;
  }
}
#for-bereaved .inner .movie-area {
  margin-top: 1.25rem;
}
#for-bereaved .inner .movie-area figure {
  margin: 0 auto;
  max-width: 56rem;
  border-radius: 1rem;
  overflow: hidden;
  background-color: #e5e7eb;
}
#for-bereaved .inner .movie-area figure img {
  display: block;
  width: 100%;
  aspect-ratio: 896/504;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 880px) {
  #for-bereaved .inner .movie-area figure {
    max-width: 100%;
  }
}
#for-bereaved .inner .comment-box {
  margin-top: 1.875rem;
  border: 0.125rem solid #93c5fd;
  border-radius: 0 1.25rem 1.25rem 1.25rem;
  padding: 2.5rem;
  text-align: left;
  background-color: #ffffff;
}
#for-bereaved .inner .comment-box p:first-child {
  position: relative;
  margin: 0;
  padding-left: 1.875rem;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #374151;
}
#for-bereaved .inner .comment-box p:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0.25rem;
  height: 100%;
  background-color: #93c5fd;
}
#for-bereaved .inner .comment-box p:last-child {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  color: #4b5563;
  text-align: right;
}
@media (max-width: 880px) {
  #for-bereaved .inner .comment-box {
    padding: 1.75rem;
  }
  #for-bereaved .inner .comment-box p:first-child {
    font-size: 1.6rem;
  }
}

#reason-block {
  background-color: #1d3f70;
  padding: 6.25rem 0;
  /* セクションタイトル */
  /* リスト全体 */
}
@media (max-width: 880px) {
  #reason-block {
    padding: 4rem 0;
  }
}
#reason-block .assessment-intro {
  margin-top: 2.125rem;
  font-size: 2rem;
  color: #fff;
}
@media (max-width: 880px) {
  #reason-block .assessment-intro {
    margin-top: 1.75rem;
    font-size: 1.4rem;
  }
}
#reason-block .section-head {
  color: #fff;
  text-align: left;
}
#reason-block .section-head p:first-child {
  font-size: 1.4rem;
  margin: 0 0 0.75rem;
  opacity: 0.8;
}
#reason-block .section-head h2 {
  margin: 0;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.5;
}
#reason-block .section-head p:last-child {
  margin-top: 0.75rem;
  font-size: 1.6rem;
  opacity: 0.9;
}
@media (max-width: 880px) {
  #reason-block .section-head h2 {
    font-size: 2rem;
  }
}
#reason-block .reason-list {
  list-style: none;
  margin: 3.75rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  row-gap: 3.125rem;
}
#reason-block .reason-list li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 6.25rem;
  padding: 1.5rem;
  background-color: #ffffff;
  border-radius: 0.625rem;
  /* 左カラム：テキスト */
  /* 右カラム：画像 */
}
@media (max-width: 880px) {
  #reason-block .reason-list li {
    flex-direction: column;
    gap: 1.5rem;
    padding: 1.5rem 1.25rem;
  }
}
#reason-block .reason-list li .reason-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  /* ナンバー */
  /* スラッシュ（CSSで表現） */
  /* 評価テキスト（赤字） */
}
#reason-block .reason-list li .reason-text .reason-title-row {
  width: 100%;
  display: flex;
  align-items: center;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  justify-content: flex-start;
}
#reason-block .reason-list li .reason-text .reason-badge {
  background-color: #1d3f70;
  width: 4.625rem;
  height: 4.625rem;
  border-radius: 9999px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.125rem;
  color: #ffffff;
  line-height: 1;
  flex-shrink: 0;
}
#reason-block .reason-list li .reason-text .reason-badge span:first-child {
  font-size: 1.4rem;
}
#reason-block .reason-list li .reason-text .reason-badge span:last-child {
  font-size: 2rem;
  font-weight: 700;
}
#reason-block .reason-list li .reason-text .reason-slash {
  width: 3px;
  height: 2.5rem;
  background-color: #1d3f70;
  transform: skewX(-20deg);
  border-radius: 0.25rem;
  flex-shrink: 0;
}
#reason-block .reason-list li .reason-text h3 {
  font-size: 1.8rem;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-weight: 700;
  line-height: 1.4;
  color: #111827;
  margin: 0;
}
#reason-block .reason-list li .reason-text p {
  margin: 1.25rem 0 0;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #374151;
  padding-left: 4.625rem;
}
@media (max-width: 880px) {
  #reason-block .reason-list li .reason-text p {
    max-width: 100%;
    font-size: 1.6rem;
  }
}
@media (max-width: 880px) {
  #reason-block .reason-list li .reason-text {
    align-items: flex-start;
  }
}
#reason-block .reason-list li .reason-text .evaluation {
  margin-top: 0.375rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #f0484a;
  line-height: 1.6;
}
@media (max-width: 880px) {
  #reason-block .reason-list li .reason-text .evaluation {
    margin-top: 0.5rem;
    font-size: 1.6rem;
  }
}
#reason-block .reason-list li figure {
  margin: 0;
  flex-shrink: 0;
}
#reason-block .reason-list li figure img {
  display: block;
  width: 20.125rem;
  height: 11.5625rem;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 880px) {
  #reason-block .reason-list li figure {
    width: 100%;
  }
  #reason-block .reason-list li figure img {
    width: 100%;
    height: auto;
  }
}
#reason-block li .video-block {
  padding: 2.0625rem 5.0625rem 2.1875rem 5.0625rem;
  border-radius: 0.75rem;
  background-color: #ffffff;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  /* アイコン背景（赤丸） */
  /* タイトル */
  /* テキスト */
  /* YouTubeショート埋め込み */
}
@media (max-width: 880px) {
  #reason-block li .video-block {
    padding: 2rem 1.25rem;
  }
}
#reason-block li .video-block .video-icon {
  width: 4rem;
  height: 4rem;
  background-color: #ef4444;
  border-radius: 9999px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  /* 再生アイコン（三角） */
}
@media (max-width: 880px) {
  #reason-block li .video-block .video-icon {
    width: 3.5rem;
    height: 3.5rem;
  }
}
#reason-block li .video-block .video-icon span {
  width: 2rem;
  height: 2rem;
  display: block;
  background: transparent;
  position: relative;
  /* CSSで▶︎を作る */
}
#reason-block li .video-block .video-icon span::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-top: 1rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 1.5rem solid #fff;
}
@media (max-width: 880px) {
  #reason-block li .video-block .video-icon span::before {
    border-top: 0.875rem solid transparent;
    border-bottom: 0.875rem solid transparent;
    border-left: 1.25rem solid #fff;
  }
}
#reason-block li .video-block h3 {
  margin-top: 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #003366;
  text-align: center;
}
@media (max-width: 880px) {
  #reason-block li .video-block h3 {
    font-size: 1.375rem;
  }
}
#reason-block li .video-block p {
  margin-top: 1.25rem;
  font-size: 1.4rem;
  color: #374151;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 880px) {
  #reason-block li .video-block p {
    font-size: 1.6rem;
  }
}
#reason-block li .video-block .video-embed {
  margin-top: 2.25rem;
  display: flex;
  justify-content: center;
}
#reason-block li .video-block .video-embed iframe {
  width: 18.375rem;
  height: 29.1875rem;
  border-radius: 0.75rem;
  border: none;
}
@media (max-width: 880px) {
  #reason-block li .video-block .video-embed iframe {
    width: 100%;
    height: 26rem;
    max-width: 18.375rem;
  }
}

#flow-block {
  background-color: #f9fafb;
  padding: 6.25rem 0;
  /* カード一覧 */
}
@media (max-width: 880px) {
  #flow-block {
    padding: 4rem 0;
  }
}
#flow-block .flow-list {
  list-style: none;
  margin: 2.75rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 2.5rem;
}
@media (max-width: 880px) {
  #flow-block .flow-list {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 2rem;
  }
}
#flow-block .flow-list li {
  position: relative;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 0.125rem solid #32a4ed;
  padding: 3.5rem 1.375rem 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  /* STEPバッジ */
  /* STEPごとの色分け */
  /* イメージ */
  /* カードタイトル */
  /* 本文テキスト */
}
#flow-block .flow-list li .step-badge {
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
}
#flow-block .flow-list li .step-badge span:first-child {
  font-size: 1.4rem;
}
#flow-block .flow-list li .step-badge span:last-child {
  font-size: 1.625rem;
}
#flow-block .flow-list li:nth-child(1) .step-badge {
  background-color: #94caed;
}
#flow-block .flow-list li:nth-child(2) .step-badge {
  background-color: #73c2f2;
}
#flow-block .flow-list li:nth-child(3) .step-badge {
  background-color: #65bbef;
}
#flow-block .flow-list li:nth-child(4) .step-badge {
  background-color: #55b1e9;
}
#flow-block .flow-list li:nth-child(5) .step-badge {
  background-color: #33a0e2;
}
#flow-block .flow-list li:nth-child(6) .step-badge {
  background-color: #1a8acd;
}
#flow-block .flow-list li figure {
  display: flex;
  justify-content: center;
}
#flow-block .flow-list li figure img {
  display: block;
  max-width: 100%;
  width: 120px;
  height: 105px;
}
#flow-block .flow-list li h3 {
  margin-top: 1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.4;
}
#flow-block .flow-list li p {
  margin-top: 0.875rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #374151;
  text-align: left;
}
@media (max-width: 880px) {
  #flow-block .flow-list li p {
    text-align: left;
  }
}

#voices-archive {
  padding: 6.25rem 0;
  background-color: #ffffff;
  /* タイトルエリア ---------------------------------- */
  /* カード一覧（3×3 グリッド）------------------------- */
  /* ページネーション -------------------------------- */
}
#voices-archive .inner {
  max-width: 70rem;
  margin: 0 auto;
  padding-inline: 1.5rem;
}
@media (max-width: 880px) {
  #voices-archive .inner {
    padding-inline: 1rem;
  }
}
#voices-archive .kv-paragraph p {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #4b5563;
}
@media (max-width: 880px) {
  #voices-archive .kv-paragraph p {
    font-size: 1.6rem;
  }
}
#voices-archive .posts {
  margin-top: 2.5rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.1875rem;
}
@media (max-width: 880px) {
  #voices-archive .posts {
    grid-template-columns: 1fr;
    gap: 1.875rem;
    margin-top: 2rem;
  }
}
#voices-archive .posts article {
  background-color: #ffffff;
  /* 記事タイトル */
  /* 記事本文（3行で省略） */
}
#voices-archive .posts article a {
  display: block;
  color: inherit;
  text-decoration: none;
}
#voices-archive .posts article figure {
  aspect-ratio: 343/232;
  width: 100%;
  border-radius: 0.25rem;
  overflow: hidden;
}
#voices-archive .posts article figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#voices-archive .posts article h2 {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #003366;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 880px) {
  #voices-archive .posts article h2 {
    font-size: 1.6rem;
  }
}
#voices-archive .posts article p {
  margin-top: 0.75rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #374151;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
@media (max-width: 880px) {
  #voices-archive .posts article p {
    font-size: 1.6rem;
  }
}
#voices-archive .pagination {
  margin-top: 3rem;
  text-align: center;
}
#voices-archive .pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.375rem;
  border: 1px solid #e5e7eb;
  font-size: 1.4rem;
  color: #374151;
  text-decoration: none;
  background-color: #ffffff;
}
#voices-archive .pagination .page-numbers.current {
  background-color: #00278A;
  border-color: #00278A;
  color: #ffffff;
}
#voices-archive .pagination .page-numbers.prev, #voices-archive .pagination .page-numbers.next {
  font-size: 1.4rem;
}
@media (max-width: 880px) {
  #voices-archive .pagination {
    margin-top: 2.25rem;
  }
  #voices-archive .pagination .page-numbers {
    padding-inline: 0.5rem;
  }
}

#voice-single {
  padding-top: 5.625rem;
}
#voice-single .post-nav {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
}
#voice-single .post-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border-radius: 9999px;
  border: 1px solid #d1d5db;
  font-size: 1.6rem;
  color: #003366;
  text-decoration: none;
  background-color: #ffffff;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
#voice-single .post-nav a:hover {
  background-color: #003366;
  color: #ffffff;
  box-shadow: 0 0.75rem 1.5rem -0.5rem rgba(0, 0, 0, 0.15);
}
#voice-single .post-nav .post-prev::before {
  content: "←";
  margin-right: 0.5rem;
  font-size: 1.4rem;
}
#voice-single .post-nav .post-next::after {
  content: "→";
  margin-left: 0.5rem;
  font-size: 1.4rem;
}
@media (max-width: 880px) {
  #voice-single .post-nav {
    flex-direction: column;
    align-items: stretch;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
  }
  #voice-single .post-nav a {
    width: 100%;
    justify-content: center;
  }
}
#voice-single article {
  max-width: 55.625rem;
  margin: 0 auto 4rem;
}
#voice-single article header h1 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #003366;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 880px) {
  #voice-single article header h1 {
    font-size: 1.5rem;
  }
}
#voice-single article header .updated {
  margin-top: 1.25rem;
  font-size: 1.4rem;
  color: #374151;
}
@media (max-width: 880px) {
  #voice-single article header .updated {
    font-size: 1.6rem;
  }
}
#voice-single article .thumb {
  margin-top: 1.25rem;
}
#voice-single article .thumb img {
  width: 100%;
  max-width: 55.625rem;
  aspect-ratio: 890/607;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
#voice-single article .handwriting {
  margin-top: 3.4375rem;
}
#voice-single article .handwriting img {
  width: 100%;
  display: block;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
#voice-single article .comment {
  margin-top: 3.75rem;
}
#voice-single article .comment h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #003366;
  margin: 0 0 1.5rem;
}
@media (max-width: 880px) {
  #voice-single article .comment h2 {
    font-size: 1.5rem;
  }
}
#voice-single article .comment .comment-box {
  border: 1px solid #003366;
  padding: 1.875rem;
  border-radius: 0.25rem;
  background-color: #ffffff;
}
#voice-single article .comment .comment-box p {
  font-size: 1.4rem;
  color: #374151;
  line-height: 1.9;
  margin: 0;
}
@media (max-width: 880px) {
  #voice-single article .comment .comment-box p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
#voice-single article .comment .comment-box .sign {
  margin-top: 1.5rem;
  text-align: right;
}
@media (max-width: 880px) {
  #voice-single article .comment .comment-box {
    padding: 1.5rem;
  }
}
@media (max-width: 880px) {
  #voice-single article {
    margin-bottom: 3rem;
  }
}
@media (max-width: 880px) {
  #voice-single {
    padding-top: 4rem;
  }
}

#voice-related {
  background-color: #e8f6ff;
  padding: 4rem 0;
}
#voice-related .inner {
  max-width: 70rem;
  margin: 0 auto;
}
#voice-related h2 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #003366;
  margin: 0 0 2.5rem;
}
@media (max-width: 880px) {
  #voice-related h2 {
    font-size: 1.375rem;
    text-align: center;
    margin-bottom: 2rem;
  }
}
#voice-related ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 2.1875rem;
       column-gap: 2.1875rem;
  row-gap: 2.1875rem;
}
@media (max-width: 880px) {
  #voice-related ul {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
}
#voice-related ul li a {
  display: block;
  background-color: #ffffff;
  border-radius: 0.75rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 0.5rem 0.75rem -0.5rem rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#voice-related ul li a:hover {
  transform: translateY(-0.25rem);
  box-shadow: 0 1rem 2rem -0.75rem rgba(0, 0, 0, 0.25);
}
#voice-related ul li a figure {
  margin: 0;
}
#voice-related ul li a figure img {
  width: 100%;
  aspect-ratio: 343/232;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
#voice-related ul li a h3 {
  margin: 1.5rem 1.5rem 0 1.5rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #003366;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 880px) {
  #voice-related ul li a h3 {
    margin-inline: 1.25rem;
  }
}
#voice-related ul li a p {
  margin: 0.75rem 1.5rem 1.5rem;
  font-size: 1.6rem;
  color: #374151;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (max-width: 880px) {
  #voice-related ul li a p {
    margin-inline: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
@media (max-width: 880px) {
  #voice-related {
    padding: 3rem 0;
  }
}

#guide-about {
  padding: 6.25rem 0;
  background-color: #ffffff;
  /* 左カラム：画像 */
  /* 右カラム：テキストブロック */
  /* ナンバー＋タイトル */
}
#guide-about header p {
  margin: 0;
  font-size: 1.4rem;
  color: #4b5563;
}
#guide-about header p.lead {
  margin-top: 0.75rem;
  color: #1d3f70;
}
@media (max-width: 880px) {
  #guide-about header p {
    font-size: 1.6rem;
  }
}
#guide-about header h2 {
  margin: 0.5rem 0 0;
  font-size: 1.75rem;
  font-weight: 700;
  color: #003366;
}
@media (max-width: 880px) {
  #guide-about header h2 {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
#guide-about .cols {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  -moz-column-gap: 3rem;
       column-gap: 3rem;
}
@media (max-width: 880px) {
  #guide-about .cols {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 2.5rem;
  }
}
#guide-about figure {
  margin: 0;
  flex: 0 0 auto;
}
#guide-about figure img {
  width: 36.5rem;
  height: 36.5rem;
  max-width: 100%;
  border-radius: 1rem;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 880px) {
  #guide-about figure {
    width: 100%;
  }
  #guide-about figure img {
    width: 100%;
    height: auto;
  }
}
#guide-about .cols > div {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  row-gap: 2rem;
}
#guide-about .cols > div article p {
  margin-top: 0.75rem;
  font-size: 1.8rem;
  color: #374151;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #guide-about .cols > div article p {
    font-size: 1.6rem;
  }
}
#guide-about .num-title {
  display: flex;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
#guide-about .num-title span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.625rem;
  background-color: #32a4ed;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}
#guide-about .num-title h3 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  color: #111827;
}
@media (max-width: 880px) {
  #guide-about .num-title h3 {
    font-size: 1.6rem;
  }
}
@media (max-width: 880px) {
  #guide-about .num-title {
    align-items: flex-start;
  }
  #guide-about .num-title span {
    margin-top: 0.15rem;
  }
}
@media (max-width: 880px) {
  #guide-about {
    padding: 4rem 0;
  }
}

#guide-bestway {
  padding: 6.25rem 0;
  background-color: #e8f6ff;
  /* 3カラム */
}
#guide-bestway .cards {
  margin-top: 3rem;
  display: flex;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  align-items: stretch;
}
@media (max-width: 880px) {
  #guide-bestway .cards {
    flex-direction: column;
    row-gap: 1.5rem;
  }
}
#guide-bestway .cards article {
  flex: 1 1 0;
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 1.5rem 1.5rem 1.75rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* 説明テキスト */
  /* ボタン風テキスト */
}
@media (max-width: 880px) {
  #guide-bestway .cards article {
    padding-inline: 1.25rem;
  }
}
#guide-bestway .cards article figure {
  margin: 0;
  display: flex;
  justify-content: center;
}
#guide-bestway .cards article figure img {
  width: 7.875rem;
  height: 7.875rem;
  aspect-ratio: 1/1;
  display: block;
}
#guide-bestway .cards article h3 {
  margin: 0.75rem 0 0;
  font-size: 1.375rem;
  font-weight: 700;
  color: #003366;
  line-height: 1.5;
}
@media (max-width: 880px) {
  #guide-bestway .cards article h3 {
    font-size: 2rem;
  }
}
#guide-bestway .cards article p {
  margin: 0;
  font-size: 1.6rem;
  color: #374151;
  line-height: 1.7;
}
@media (max-width: 880px) {
  #guide-bestway .cards article p {
    font-size: 1.6rem;
  }
}
#guide-bestway .cards article p:nth-of-type(1 + 0) {
  margin-top: 0.625rem;
}
#guide-bestway .cards article .btn {
  margin-top: 1.3125rem;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 0.5625rem;
       column-gap: 0.5625rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  background: none;
  border: none;
  padding: 0;
}
#guide-bestway .cards article .btn span {
  display: inline-block;
}
#guide-bestway .cards article .btn .icon {
  width: 0;
  height: 0;
  border-top: 0.34375rem solid transparent;
  border-bottom: 0.34375rem solid transparent;
  border-left: 0.5625rem solid #1f3d97;
}
#guide-bestway .cards article .btn--blue {
  color: #1f3d97;
}
#guide-bestway .cards article .btn--orange {
  color: #f97316;
}
#guide-bestway .cards article .btn--orange .icon {
  border-left-color: #f97316;
}
#guide-bestway .cards article .btn--red {
  color: #f0484a;
}
#guide-bestway .cards article .btn--red .icon {
  border-left-color: #f0484a;
}
@media (max-width: 880px) {
  #guide-bestway {
    padding: 4rem 0;
  }
}

.buy-ranking .buy-list {
  flex-direction: row !important;
  /* 共通スタイル（1〜5位） */
  /* 1位：金 */
  /* 2位：銀 */
  /* 3位：銅 */
  /* 4位 */
  /* 5位（必要なら色はお好みで変更） */
  /* 5位（必要なら色はお好みで変更） */
  /* 7位以降は2カラム */
  /* 7位以降を flex で並べるために、6番まではブロック扱い */
  /* ★7位以降を横2列の flex wrap に対応させる */
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 2rem;
  /* SPは1列に戻す */
}
.buy-ranking .buy-list li {
  position: relative;
}
.buy-ranking .buy-list li a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  text-decoration: none;
}
@media (max-width: 880px) {
  .buy-ranking .buy-list li a {
    padding-left: 4.5rem;
  }
}
.buy-ranking .buy-list li:nth-child(-n+6)::before {
  position: absolute;
  left: 0%;
  top: 0%;
  transform: translate(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  z-index: 2;
}
@media (max-width: 880px) {
  .buy-ranking .buy-list li:nth-child(-n+6)::before {
    left: 0.25rem;
    top: 0;
    transform: translateY(-30%);
  }
}
.buy-ranking .buy-list li:nth-child(1)::before {
  content: "1";
  background: linear-gradient(180deg, #facc15 0%, #ca8a04 100%);
}
.buy-ranking .buy-list li:nth-child(2)::before {
  content: "2";
  background: linear-gradient(180deg, #d1d5db 0%, #6b7280 100%);
}
.buy-ranking .buy-list li:nth-child(3)::before {
  content: "3";
  background: linear-gradient(180deg, #fb923c 0%, #ea580c 100%);
}
.buy-ranking .buy-list li:nth-child(4)::before {
  content: "4";
  background-color: #32a4ed;
}
.buy-ranking .buy-list li:nth-child(5)::before {
  content: "5";
  background-color: #32a4ed;
}
.buy-ranking .buy-list li:nth-child(6)::before {
  content: "6";
  background-color: #32a4ed;
}
.buy-ranking .buy-list li:nth-child(7)::before {
  content: "7";
  background-color: #32a4ed;
}
.buy-ranking .buy-list li:nth-child(8)::before {
  content: "8";
  background-color: #32a4ed;
}
.buy-ranking .buy-list li:nth-child(9)::before {
  content: "9";
  background-color: #32a4ed;
}
.buy-ranking .buy-list li:nth-child(10)::before {
  content: "10";
  background-color: #32a4ed;
}
.buy-ranking .buy-list li:nth-child(n+7) {
  width: calc(50% - 0.75rem) !important;
  position: relative;
  padding-left: 60px !important;
}
.buy-ranking .buy-list li:nth-child(n+7) figure {
  display: none;
}
.buy-ranking .buy-list li:nth-child(n+7)::before {
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 4rem;
  height: 4rem;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 700;
  color: #ffffff;
  z-index: 2;
}
@media (max-width: 880px) {
  .buy-ranking .buy-list li:nth-child(n+7)::before {
    left: 0.25rem;
    top: 0;
    transform: translateY(-30%);
  }
}
.buy-ranking .buy-list li:nth-child(-n+6) {
  width: 100%;
}
@media (max-width: 880px) {
  .buy-ranking .buy-list li:nth-child(n+7) {
    width: 100%;
  }
}

#self-check {
  /* 進捗メーター -------------------------------------------------- */
  /* 質問部分のチェックUI ------------------------------------------ */
}
#self-check .wrap > p {
  margin-top: 1.5rem;
  font-size: 2rem;
  color: #374151;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #self-check .wrap > p {
    margin-top: 1.25rem;
    font-size: 1.4rem;
    line-height: 1.7;
  }
}
#self-check .check-section-title {
  margin: 4rem 0 3rem;
  text-align: center;
}
#self-check .check-section-title h3 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #003366;
}
@media (max-width: 880px) {
  #self-check .check-section-title h3 {
    font-size: 1.5rem;
  }
}
#self-check .check-section-title p {
  margin-top: 0.5rem;
  font-size: 1.4rem;
  color: #003366;
}
@media (max-width: 880px) {
  #self-check .check-section-title p {
    font-size: 1.6rem;
  }
}
#self-check .meter {
  margin-top: 3.75rem;
  background-color: #e8f6ff;
  border-radius: 1rem;
  padding: 2.5rem 2rem;
}
@media (max-width: 880px) {
  #self-check .meter {
    margin-top: 2rem;
    padding: 1.75rem 1.25rem;
  }
}
#self-check .meter .meter-inner {
  margin: 0 auto;
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 1.75rem 2rem;
  box-shadow: 0 1.25rem 1.875rem -0.75rem rgba(0, 0, 0, 0.15);
}
@media (max-width: 880px) {
  #self-check .meter .meter-inner {
    padding: 1.5rem 1.25rem;
  }
}
#self-check .meter .meter-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1rem;
}
@media (max-width: 880px) {
  #self-check .meter .meter-head {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 0.75rem;
  }
}
#self-check .meter .meter-head h3 {
  font-size: 1.4rem;
  font-weight: 700;
  color: #111827;
  margin: 0;
}
#self-check .meter .meter-head p {
  margin: 0.5rem 0 0;
  font-size: 1.4rem;
  color: #6b7280;
}
@media (max-width: 880px) {
  #self-check .meter .meter-head p {
    font-size: 1.4rem;
  }
}
#self-check .meter .meter-head .meter-value {
  display: flex;
  align-items: baseline;
  -moz-column-gap: 0.25rem;
       column-gap: 0.25rem;
}
@media (max-width: 880px) {
  #self-check .meter .meter-head .meter-value {
    align-self: flex-end;
  }
}
#self-check .meter .meter-head .meter-value .meter-rate {
  font-size: 1.75rem;
  font-weight: 700;
  color: #1d3f70;
}
#self-check .meter .meter-head .meter-value .meter-unit {
  font-size: 1.6rem;
  color: #1d3f70;
}
#self-check .meter .meter-bar {
  width: 100%;
  height: 0.625rem;
  border-radius: 9999px;
  background-color: #e5e7eb;
  overflow: hidden;
}
#self-check .meter .meter-bar .meter-bar-inner {
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(to right, #2563eb, #7c3aed);
  transition: width 0.3s ease;
}
#self-check .cards .question {
  margin-top: 1.25rem;
}
#self-check .cards .question label {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  cursor: pointer;
  font-size: 1.6rem;
  color: #374151;
}
@media (max-width: 880px) {
  #self-check .cards .question label {
    font-size: 1.6rem;
  }
}
#self-check .cards .question label input[type=checkbox] {
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.125rem;
  border-radius: 0.25rem;
  border: 0.125rem solid #9ca3af;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  position: relative;
  background-color: #ffffff;
  flex-shrink: 0;
}
#self-check .cards .question label input[type=checkbox]:checked {
  border-color: #2563eb;
  background-color: #2563eb;
}
#self-check .cards .question label input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  inset: 0.1875rem;
  border-right: 0.125rem solid #ffffff;
  border-bottom: 0.125rem solid #ffffff;
  transform: rotate(45deg);
}
#self-check .cards .question label span {
  line-height: 1.7;
}

#price-logic {
  padding: 6.25rem 0;
  /* 冒頭タイトル */
  /* 冒頭テキスト（1つ目の p） */
  /* 「レコードの価値はどう決まる？」ブロック */
  /* 3つの価値カード */
}
#price-logic h2 {
  font-size: 1.75rem;
  font-weight: 700;
  color: #003366;
  line-height: 1.6;
}
@media (max-width: 880px) {
  #price-logic h2 {
    font-size: 1.5rem;
  }
}
#price-logic > .inner > div:first-of-type > p {
  margin-top: 1.5rem;
  font-size: 2rem;
  color: #4b5563;
  line-height: 1.9;
}
@media (max-width: 880px) {
  #price-logic > .inner > div:first-of-type > p {
    font-size: 1.4rem;
  }
}
#price-logic .value-intro {
  margin-top: 3.75rem;
}
#price-logic .value-intro h3 {
  font-size: 1.5rem;
  font-weight: 700;
  color: #003366;
}
@media (max-width: 880px) {
  #price-logic .value-intro h3 {
    font-size: 1.375rem;
  }
}
#price-logic .value-intro p {
  margin-top: 1.5rem;
  font-size: 2rem;
  color: #4b5563;
  line-height: 1.9;
}
@media (max-width: 880px) {
  #price-logic .value-intro p {
    font-size: 1.4rem;
  }
}
#price-logic .value-intro figure {
  margin: 2rem 0 0;
}
#price-logic .value-intro figure img {
  width: 48.125rem;
  max-width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 880px) {
  #price-logic .value-intro figure img {
    margin-inline: auto;
  }
}
#price-logic .value-cards {
  margin-top: 3rem;
  display: flex;
  gap: 0.625rem;
  justify-content: center;
  flex-wrap: wrap;
}
@media (max-width: 880px) {
  #price-logic .value-cards {
    flex-direction: column;
  }
}
#price-logic .value-cards article {
  width: 22.5rem;
  padding: 1.25rem;
  border-radius: 0.75rem;
  box-sizing: border-box;
  /* サブタイトル＋本文 */
}
@media (max-width: 880px) {
  #price-logic .value-cards article {
    width: 100%;
  }
}
#price-logic .value-cards article figure {
  margin: 0;
}
#price-logic .value-cards article figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 157/91;
  border-radius: 0.75rem;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#price-logic .value-cards article h4 {
  margin-top: 1.875rem;
  font-size: 1.625rem;
  font-weight: 700;
  text-align: center;
  color: #111827;
  padding-bottom: 0.9375rem;
  border-bottom: 0.0625rem solid #b9b9b9;
}
@media (max-width: 880px) {
  #price-logic .value-cards article h4 {
    font-size: 1.5rem;
  }
}
#price-logic .value-cards article > div {
  margin-top: 0.9375rem;
}
#price-logic .value-cards article > div p:first-of-type {
  font-size: 1.4rem;
  color: #000000;
}
@media (max-width: 880px) {
  #price-logic .value-cards article > div p:first-of-type {
    font-size: 1.4rem;
  }
}
#price-logic .value-cards article > div p:nth-of-type(2) {
  margin-top: 0.75rem;
  font-size: 1.6rem;
  color: #374151;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #price-logic .value-cards article > div p:nth-of-type(2) {
    font-size: 1.6rem;
  }
}
#price-logic .value-cards article:nth-child(1) {
  background-color: #E1F3FF;
  border: 2px solid #7DC3F9;
}
#price-logic .value-cards article:nth-child(2) {
  background-color: #D6FFE8;
  border: 2px solid #7BEFB9;
}
#price-logic .value-cards article:nth-child(3) {
  background-color: #FFEBEB;
  border: 2px solid #FF8A8A;
}

#howto-diagnosis {
  position: relative;
  padding: 6.25rem 0;
  text-align: center;
  overflow: hidden;
  /* 左上・右下の背景オブジェクト（画像パスは適宜差し替え） */
  /* 左上 */
  /* 右下 */
  /* リードテキスト */
  /* タイトル */
  /* 診断カード外枠 */
  /* アイコン */
  /* ページネーション */
  /* 質問 */
  /* 選択肢 */
  /* SP全体調整 */
}
#howto-diagnosis::before, #howto-diagnosis::after {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
}
#howto-diagnosis::before {
  top: -3.25rem;
  left: 9.0625rem;
  width: 37.6875rem;
  height: 22.875rem;
  background-image: url("<%= path %>wordpress/wp-content/themes/dubstore/asset/img/howto/bg-left.png");
  transform: matrix(0.95, 0.31, -0.31, 0.95, -31.02, -52);
}
#howto-diagnosis::after {
  right: 9.6875rem;
  bottom: -8.75rem;
  width: 30.4375rem;
  height: 23.125rem;
  background-image: url("<%= path %>wordpress/wp-content/themes/dubstore/asset/img/howto/bg-right.png");
  transform: matrix(0.72, -0.69, 0.69, 0.72, 827, 803.75);
}
#howto-diagnosis .inner {
  position: relative;
  z-index: 1;
}
#howto-diagnosis .lead-text {
  font-size: 2rem;
  color: #374151;
  line-height: 1.8;
  margin: 0 0 2.5rem;
}
@media (max-width: 880px) {
  #howto-diagnosis .lead-text {
    font-size: 1.4rem;
    text-align: left;
  }
  #howto-diagnosis .lead-text br {
    display: none;
  }
}
#howto-diagnosis h2 {
  font-size: 2.25rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.4;
  margin: 0 0 3rem;
}
@media (max-width: 880px) {
  #howto-diagnosis h2 {
    font-size: 1.875rem;
    text-align: left;
  }
  #howto-diagnosis h2 br {
    display: none;
  }
}
#howto-diagnosis .diagnosis-card {
  margin: 0 auto;
  padding: 3.125rem;
  width: 48rem;
  max-width: 100%;
  background: linear-gradient(180deg, #eef2ff 0%, #faf5ff 100%);
  border-radius: 1rem;
  border: 0.125rem solid #c7d2fe;
  box-sizing: border-box;
}
@media (max-width: 880px) {
  #howto-diagnosis .diagnosis-card {
    padding: 2.25rem 1.5rem;
  }
}
#howto-diagnosis .icon-wrap {
  display: flex;
  justify-content: center;
}
#howto-diagnosis .icon-circle {
  background-color: #6366f1;
  border-radius: 9999px;
  width: 5rem;
  height: 5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 1.5rem;
}
@media (max-width: 880px) {
  #howto-diagnosis .icon-circle {
    width: 4.5rem;
    height: 4.5rem;
  }
}
#howto-diagnosis .steps {
  margin-top: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  -moz-column-gap: 0;
       column-gap: 0;
}
@media (max-width: 880px) {
  #howto-diagnosis .steps {
    margin-top: 1.25rem;
  }
}
#howto-diagnosis .step {
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e5e7eb;
  color: #6b7280;
}
#howto-diagnosis .step.current {
  background-color: #6366f1;
  color: #ffffff;
}
#howto-diagnosis .step-line {
  width: 3rem;
  height: 0.25rem;
  background-color: #e5e7eb;
  margin-inline: 0.5rem;
}
@media (max-width: 880px) {
  #howto-diagnosis .step-line {
    width: 2.5rem;
  }
}
#howto-diagnosis .question {
  margin-top: 1.875rem;
  padding: 1.25rem 1rem;
  background-color: #e5e7eb;
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  border-radius: 0.75rem;
}
@media (max-width: 880px) {
  #howto-diagnosis .question {
    font-size: 2rem;
    text-align: left;
  }
}
#howto-diagnosis .options {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
@media (max-width: 880px) {
  #howto-diagnosis .options {
    row-gap: 0.75rem;
  }
}
#howto-diagnosis .options li {
  background-color: #ffffff;
  border-radius: 0.75rem;
  padding-block: 1.4375rem;
  border: 0.125rem solid #e5e7eb;
  font-size: 1.8rem;
  color: #374151;
  text-align: center;
}
@media (max-width: 880px) {
  #howto-diagnosis .options li {
    font-size: 1.6rem;
    padding-block: 1.25rem;
  }
}
@media (max-width: 880px) {
  #howto-diagnosis {
    text-align: left;
  }
}
#howto-diagnosis .diagnosis-screen {
  display: none;
}
#howto-diagnosis .diagnosis-screen.is-active {
  display: block;
}
#howto-diagnosis .result-label {
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
}
#howto-diagnosis .result-title {
  margin-top: 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #059669;
}
#howto-diagnosis .result-text {
  margin-top: 1rem;
  font-size: 1.6rem;
  color: #374151;
}
#howto-diagnosis .result-buttons {
  margin-top: 2rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
}
@media (max-width: 880px) {
  #howto-diagnosis .result-buttons {
    flex-direction: column;
  }
}
#howto-diagnosis .result-btn {
  min-width: 12rem;
  padding: 0.875rem 1.5rem;
  border-radius: 9999px;
  border: 1px solid #10b981;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}
#howto-diagnosis .result-btn--primary {
  background-color: #10b981;
  color: #ffffff;
}
#howto-diagnosis .result-btn--secondary {
  background-color: #ffffff;
  color: #10b981;
}

#howto-methods {
  padding-block: 6.25rem;
  background-color: #f9fafb;
  /* タブ */
  /* 未選択時のアイコン色（SVGの currentColor 前提） */
  /* 選択状態 */
  /* カード外枠 */
  /* カード内：ヘッダー */
  /* こんな方に最適です */
  /* ご利用の流れ */
  /* ボタン２つ */
  /* SP調整（ざっくり縦積み） */
}
#howto-methods .inner {
  text-align: center;
}
#howto-methods h2 {
  font-size: 2.25rem;
  font-weight: 700;
  color: #111827;
}
#howto-methods .methods-area {
  margin-top: 4.25rem;
}
#howto-methods .tabs {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
  width: 56.375rem;
  height: 3.75rem;
  margin-inline: auto;
}
#howto-methods .tabs button {
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  width: 18.3125rem;
  height: 3.75rem;
  border-radius: 0.75rem 0.75rem 0 0;
  border: none;
  background-color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  color: #4b5563;
  cursor: pointer;
}
#howto-methods .tabs .tab-icon {
  width: 1.5rem;
  height: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#howto-methods .tabs .tab-icon img {
  max-width: 100%;
  height: auto;
  display: block;
}
#howto-methods .tabs button[data-method=takuhai] .tab-icon {
  color: #16a34a;
}
#howto-methods .tabs button[data-method=shop] .tab-icon {
  color: #ea580c;
}
#howto-methods .tabs button.is-active {
  background-color: #b1dbf7;
}
#howto-methods .tabs button.is-active .tab-icon {
  color: #ffffff;
}
#howto-methods .panel {
  display: none;
}
#howto-methods .panel.is-active {
  display: block;
}
#howto-methods .panel-inner {
  margin-inline: auto;
  margin-top: -0.0625rem;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 0.0625rem solid #e5e7eb;
  padding-block: 3.125rem;
  padding-inline: 3.75rem;
  box-sizing: border-box;
  max-width: 80rem;
}
#howto-methods .panel-head {
  text-align: center;
}
#howto-methods .main-icon {
  display: flex;
  justify-content: center;
}
#howto-methods .main-icon__circle {
  background-color: #3b82f6;
  border-radius: 9999px;
  width: 6rem;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#howto-methods .main-icon__circle img {
  width: 3rem;
  height: 3rem;
  display: block;
}
#howto-methods .panel-head h3 {
  margin-top: 1.5rem;
  font-size: 2.25rem;
  font-weight: 700;
  color: #111827;
}
#howto-methods .panel-text {
  margin-top: 1rem;
  font-size: 1.8rem;
  color: #4b5563;
}
#howto-methods .panel-lead {
  margin-top: 1.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #2563eb;
}
#howto-methods .recommend {
  margin-top: 2.5rem;
  padding-block: 2.5rem;
  padding-inline: 3.75rem;
  background-color: #f4f9fc;
  border-radius: 0.6875rem;
  width: 62rem;
  max-width: 100%;
  margin-inline: auto;
  text-align: left;
  box-sizing: border-box;
}
#howto-methods .recommend-head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
#howto-methods .recommend-icon {
  width: 1.5rem;
  height: 1.5rem;
}
#howto-methods .recommend-icon img {
  max-width: 100%;
  height: auto;
  display: block;
}
#howto-methods .recommend-title {
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
}
#howto-methods .recommend-list {
  margin-top: 1.4375rem;
  list-style: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  -moz-column-gap: 3.75rem;
       column-gap: 3.75rem;
  row-gap: 0.6875rem;
}
#howto-methods .recommend-list li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
#howto-methods .recommend-list__icon {
  width: 1.375rem;
  height: 1.375rem;
}
#howto-methods .recommend-list__icon img {
  max-width: 100%;
  height: auto;
  display: block;
}
#howto-methods .recommend-list__text {
  font-size: 1.8rem;
  color: #374151;
}
#howto-methods .recommend-divider {
  margin-top: 1.4375rem;
  border-top: 0.0625rem solid #b9b9b9;
}
#howto-methods .recommend-note {
  margin-top: 1.5625rem;
  font-size: 1.6rem;
  color: #374151;
}
#howto-methods .flow-title {
  margin-top: 3.125rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  color: #111827;
}
#howto-methods .flow {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  gap: 3.75rem;
  width: 59.0625rem;
  min-height: 14.6875rem;
  margin-inline: auto;
}
#howto-methods .flow-card {
  flex: 1;
  text-align: center;
}
#howto-methods .flow-step {
  margin-inline: auto;
  background-color: #94caed;
  border-radius: 9999px;
  width: 4rem;
  height: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
#howto-methods .flow-step__label {
  font-size: 1.4rem;
  font-weight: 700;
  color: #ffffff;
}
#howto-methods .flow-step__num {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}
#howto-methods .flow-card__title {
  margin-top: 0.875rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: #111827;
}
#howto-methods .flow-illust {
  margin-top: 0.75rem;
  height: 74px;
}
#howto-methods .flow-illust img {
  max-width: 100%;
  height: 100%;
  display: block;
  margin-inline: auto;
}
#howto-methods .flow-card__text {
  margin-top: 0.625rem;
  font-size: 1.6rem;
  color: #374151;
}
#howto-methods .buttons {
  margin-top: 3.75rem;
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 3.75rem;
  width: 55.5rem;
  height: 3.75rem;
  margin-inline: auto;
}
#howto-methods .buttons__detail,
#howto-methods .buttons__contact {
  display: inline-flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
  padding: 1.8rem 1.5rem 1.8rem 2.5rem;
  border-radius: 2.5rem;
  height: 3.75rem;
  font-size: 1.6rem;
  text-decoration: none;
  box-sizing: border-box;
}
#howto-methods .buttons__detail {
  background-color: #ffffff;
  border: 0.125rem solid #003366;
  color: #003366;
}
#howto-methods .buttons__contact {
  background-color: #ff6600;
  border: none;
  color: #ffffff;
}
#howto-methods .buttons__arrow {
  width: 0.5625rem;
  height: 0.6875rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
}
@media (max-width: 880px) {
  #howto-methods .tabs {
    width: 100%;
    height: auto;
    flex-wrap: wrap;
  }
  #howto-methods .tabs button {
    flex: 1 1 calc(33.333% - 0.75rem);
    width: auto;
  }
  #howto-methods .panel-inner {
    padding-inline: 1.5rem;
  }
  #howto-methods .recommend {
    width: 100%;
    padding-inline: 1.5rem;
  }
  #howto-methods .recommend-list {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  #howto-methods .flow {
    flex-direction: column;
    width: 100%;
    gap: 1.5rem;
  }
  #howto-methods .buttons {
    flex-direction: column;
    width: 100%;
    height: auto;
  }
  #howto-methods .buttons__detail,
#howto-methods .buttons__contact {
    width: 100%;
    justify-content: center;
  }
}

#assessment-staff {
  padding: 6.25rem 0;
  background-color: #ffffff;
}
#assessment-staff .assessment-intro {
  margin-top: 2.125rem;
  font-size: 2rem;
  text-align: center;
  color: #374151;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #assessment-staff .assessment-intro {
    margin-top: 1.75rem;
    font-size: 1.4rem;
    text-align: left;
  }
}
#assessment-staff .staff-cards {
  margin-top: 3rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  gap: 2.5rem;
  flex-wrap: wrap;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards {
    flex-direction: column;
    gap: 1.5rem;
  }
}
#assessment-staff .staff-cards article {
  padding: 3rem;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 1px solid #e5e7eb;
  box-shadow: 0 0.5rem 0.625rem -0.375rem rgba(0, 0, 0, 0.1), 0 1.25rem 1.5625rem -0.3125rem rgba(0, 0, 0, 0.1);
  flex: 1 1 calc(50% - 1.25rem);
  max-width: 34.375rem;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards article {
    flex-basis: 100%;
    max-width: 100%;
    padding: 2.5rem 1.75rem;
  }
}
#assessment-staff .staff-cards article h3 {
  margin: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards article h3 {
    font-size: 1.75rem;
  }
}
#assessment-staff .staff-cards article .categories {
  margin: 1rem 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards article .categories {
    margin-top: 0.875rem;
  }
}
#assessment-staff .staff-cards article .categories li {
  background-color: #1d3f70;
  border-radius: 9999px;
  padding: 0.375rem 0.75rem;
  font-size: 1.4rem;
  color: #ffffff;
}
#assessment-staff .staff-cards article .text-block {
  padding-block: 1.625rem;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards article .text-block {
    padding-block: 1.25rem;
  }
}
#assessment-staff .staff-cards article .lead {
  margin: 1rem 0 0;
  font-size: 1.375rem;
  font-weight: 700;
  color: #374151;
  line-height: 1.6;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards article .lead {
    font-size: 2rem;
  }
}
#assessment-staff .staff-cards article .description {
  margin: 0.5rem 0 0;
  font-size: 1.4rem;
  color: #4b5563;
  line-height: 1.8;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards article .description {
    font-size: 1.6rem;
  }
}
#assessment-staff .staff-cards article .staff-stats {
  margin-top: 1.75rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5625rem;
}
@media (max-width: 880px) {
  #assessment-staff .staff-cards article .staff-stats {
    grid-template-columns: 1fr 1fr;
  }
}
#assessment-staff .staff-cards article .staff-stats > div {
  background-color: #ffffff;
  border-radius: 0.5rem;
  border: 1px solid #e5e7eb;
  padding: 0.9375rem 1.125rem;
}
#assessment-staff .staff-cards article .staff-stats dt {
  margin: 0 0 0.25rem;
  font-size: 1.4rem;
  color: #4b5563;
}
#assessment-staff .staff-cards article .staff-stats dd {
  margin: 0;
  font-size: 1.5rem;
  color: #003366;
  font-weight: 700;
}

#price-logic-compare {
  padding: 6.25rem 0;
  background-color: #ffffff;
}
#price-logic-compare table {
  margin-top: 2.5rem;
  width: 100%;
  border-collapse: collapse;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.1);
  border: 0.0625rem solid #e5e7eb;
  table-layout: fixed;
}
#price-logic-compare thead {
  background-color: #1d3f70;
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
}
#price-logic-compare thead tr {
  height: 3.75rem;
}
#price-logic-compare thead th {
  padding: 1.25rem 1.5rem;
  vertical-align: middle;
}
#price-logic-compare thead th:first-child {
  text-align: left;
}
#price-logic-compare thead th:nth-child(n+2) {
  text-align: center;
}
#price-logic-compare thead th:nth-child(1) {
  width: 13.375rem;
}
#price-logic-compare thead th:nth-child(2) {
  width: 28.0625rem;
}
#price-logic-compare thead th:nth-child(3) {
  width: 18.0625rem;
}
#price-logic-compare tbody {
  /* 記号行 */
  /* テキスト行 */
}
#price-logic-compare tbody tr {
  height: 5.3125rem;
}
#price-logic-compare tbody tr:nth-child(odd) {
  background-color: #e5e7eb;
}
#price-logic-compare tbody tr:nth-child(even) {
  background-color: #ffffff;
}
#price-logic-compare tbody th {
  padding: 2.125rem 1.5rem;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: left;
  color: #111827;
  vertical-align: middle;
}
#price-logic-compare tbody td {
  padding: 1rem;
  vertical-align: middle;
}
#price-logic-compare tbody td > span {
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
}
#price-logic-compare tbody td:nth-child(2) > span {
  color: #16a34a;
}
#price-logic-compare tbody td:nth-child(3) > span {
  color: #ca8a04;
}
#price-logic-compare tbody td > p {
  margin-top: 0.5rem;
  font-size: 1.4rem;
  text-align: center;
  color: #374151;
  line-height: 1.6;
}
@media (max-width: 880px) {
  #price-logic-compare {
    padding: 3.75rem 0;
  }
  #price-logic-compare table {
    font-size: 1.4rem;
  }
  #price-logic-compare thead {
    font-size: 1.6rem;
  }
  #price-logic-compare thead th {
    padding: 0.875rem 1rem;
  }
  #price-logic-compare tbody th {
    padding: 1.25rem 0.75rem;
    font-size: 1.6rem;
    white-space: nowrap;
  }
  #price-logic-compare tbody td {
    padding: 0.75rem;
  }
  #price-logic-compare tbody td > p {
    font-size: 1.4rem;
  }
  #price-logic-compare .table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #price-logic-compare table {
    min-width: 62rem;
  }
}

/* =========================================================
   Tips Page (/tips/) - RC New UI
   ========================================================= */
.tips-page {
  /* 余白の基準 */
  /* タブ（sticky） */
  /* 3要点サマリー */
  /* カード */
  /* 5ステップ */
  /* 写真2カラム */
  /* ワイド画像（タンテ梱包） */
  /* SP */
}
.tips-page .section {
  padding: 56px 0;
}
.tips-page .tips-section--alt {
  background: #f7f8fa;
}
.tips-page .tips-hero {
  padding-top: 32px;
}
.tips-page .tips-tabbar {
  position: -webkit-sticky;
  position: sticky;
  top: var(--anchorOffset, 110px);
  z-index: 20;
  margin-top: 18px;
  padding: 10px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
  display: flex;
  gap: 8px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.tips-page .tips-tabbar__btn {
  flex: 0 0 auto;
  border: 1px solid rgba(0, 0, 0, 0.1);
  background: #fff;
  color: #111;
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.tips-page .tips-tabbar__btn.is-active {
  border-color: rgba(0, 0, 0, 0);
  background: #0b2c4a; /* ヘッダー/ナビの濃紺に寄せ */
  color: #fff;
}
.tips-page .tips-summary {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.tips-page .tips-summary__item {
  background: #fff;
  border-radius: 16px;
  padding: 16px 16px 14px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.05);
}
.tips-page .tips-summary__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 26px;
  border-radius: 999px;
  background: rgba(11, 44, 74, 0.1);
  color: #0b2c4a;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: 0.06em;
}
.tips-page .tips-summary__title {
  margin-top: 10px;
  font-weight: 800;
  font-size: 16px;
}
.tips-page .tips-summary__desc {
  margin-top: 6px;
  color: rgba(0, 0, 0, 0.7);
  font-size: 14px;
  line-height: 1.75;
}
.tips-page .tips-card {
  margin-top: 18px;
  background: #fff;
  border-radius: 18px;
  padding: 22px 20px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
}
.tips-page .tips-card--center {
  text-align: center;
}
.tips-page .tips-card__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}
.tips-page .tips-card__head h3 {
  margin: 0;
  font-weight: 900;
  font-size: 18px;
  line-height: 1.4;
}
.tips-page .tips-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(11, 44, 74, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tips-page .tips-icon img {
  width: 26px;
  height: 26px;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.tips-page .tips-prose {
  font-size: 15px;
  line-height: 1.9;
  color: rgba(0, 0, 0, 0.82);
}
.tips-page .tips-prose p {
  margin: 0 0 14px;
}
.tips-page .tips-callout {
  margin: 18px 0;
  padding: 16px 16px 14px;
  border-radius: 16px;
  background: rgba(11, 44, 74, 0.06);
  border: 1px solid rgba(11, 44, 74, 0.12);
}
.tips-page .tips-callout .tips-callout__lead {
  margin-bottom: 10px;
  font-weight: 800;
  color: #0b2c4a;
}
.tips-page .tips-callout .tips-callout__line {
  font-size: 16px;
  font-weight: 900;
  margin: 0 0 6px;
}
.tips-page .tips-callout .tips-callout__line mark {
  background: rgba(255, 208, 0, 0.35);
  padding: 0 4px;
  border-radius: 6px;
}
.tips-page .tips-callout p:last-child {
  margin-bottom: 0;
}
.tips-page .tips-note {
  margin: 14px 0 18px;
  padding: 14px 16px;
  border-radius: 16px;
  background: #fafafa;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.tips-page .tips-note p {
  margin: 0;
}
.tips-page .tips-contact {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.tips-page .tips-contact p {
  margin: 0 0 12px;
  line-height: 1.8;
}
.tips-page .tips-steps {
  margin-top: 18px;
  display: grid;
  gap: 12px;
}
.tips-page .tips-step {
  background: #fff;
  border-radius: 18px;
  padding: 18px 18px;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 14px;
  align-items: start;
}
.tips-page .tips-step__icon {
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: rgba(11, 44, 74, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tips-page .tips-step__icon img {
  width: 30px;
  height: 30px;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.tips-page .tips-step__body h3 {
  margin: 0 0 6px;
  font-weight: 900;
  font-size: 16px;
  line-height: 1.5;
}
.tips-page .tips-step__body p {
  margin: 0;
  color: rgba(0, 0, 0, 0.76);
  line-height: 1.85;
  font-size: 14px;
}
.tips-page .tips-photo2 {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}
.tips-page .tips-photo {
  margin: 0;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
.tips-page .tips-photo__img {
  width: 100%;
  aspect-ratio: 4/3;
  background: #f2f3f5;
  overflow: hidden;
}
.tips-page .tips-photo__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.tips-page .tips-photo figcaption {
  padding: 10px 12px;
  font-size: 15px;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.78);
}
.tips-page .tips-hr {
  margin: 20px 0;
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.tips-page .tips-wide {
  margin: 14px 0 0;
}
.tips-page .tips-wide img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  border: 1px solid rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
  .tips-page .section {
    padding: 44px 0;
  }
  .tips-page .tips-summary {
    grid-template-columns: 1fr;
  }
  .tips-page .tips-step {
    grid-template-columns: 48px 1fr;
    padding: 16px 14px;
  }
  .tips-page .tips-step__icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
  }
  .tips-page .tips-photo2 {
    grid-template-columns: 1fr;
  }
  .tips-page .tips-tabbar {
    padding: 8px;
    border-radius: 12px;
  }
}

#case-title .mv-title, #case-detail-title .mv-title {
  position: relative;
}
#case-title .mv-title img, #case-detail-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#case-title .mv-title h1, #case-detail-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#case-title .breadcrumb, #case-detail-title .breadcrumb {
  width: 90%;
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 1.4rem;
  margin-inline: auto;
}
#case-title .breadcrumb a, #case-detail-title .breadcrumb a {
  color: #374151;
  position: relative;
  text-decoration: none;
}
#case-title .breadcrumb a::before, #case-detail-title .breadcrumb a::before {
  content: ">";
  display: block;
  position: absolute;
  right: -20px;
}

#case-details {
  width: 90%;
  max-width: 1500px;
  margin: auto;
}
#case-details .case__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
}
@media (max-width: 880px) {
  #case-details .case__item {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
#case-details .case__item .case__title {
  font-size: 1.875rem;
}

#case-staff {
  max-width: 1500px;
  margin: auto;
}
#case-staff .section-title {
  border-bottom: none;
}
@media (max-width: 880px) {
  #case-staff .section-title .big {
    text-align: center;
  }
}
#case-staff .staff__item {
  border: 1px solid #003366;
  border-radius: 5px;
  display: flex;
  gap: 2.25rem;
  padding: 3.125rem 2.25rem;
}
@media (max-width: 880px) {
  #case-staff .staff__item {
    flex-direction: column;
  }
}
#case-staff .staff__item .top {
  width: 8rem;
}
@media (max-width: 880px) {
  #case-staff .staff__item .top {
    margin: auto;
  }
}
#case-staff .staff__item .top figcaption {
  padding: 0.625rem 0 0;
  text-align: center;
}
#case-staff .staff__item .bottom {
  width: calc(100% - 10.25rem);
}
@media (max-width: 880px) {
  #case-staff .staff__item .bottom {
    width: 100%;
  }
}

#case-recommend {
  border-top: 1px solid #00278A;
}
#case-recommend .inner {
  width: 90%;
  margin: auto;
}
#case-recommend .inner .section-title {
  border-bottom: none;
}
#case-recommend .inner .section-title .big {
  font-size: 1.875rem;
  text-align: center;
}
#case-recommend .inner .case__list {
  grid-template-columns: repeat(4, 1fr);
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #case-recommend .inner .case__list {
    grid-template-columns: 1fr;
    margin-top: 1.25rem;
  }
}
#case-recommend .inner .case__list .case__item .case__title {
  margin-top: 0.25rem;
}

#case-checklist {
  background: #E8F6FF;
}
#case-checklist ul {
  padding-top: 6.25rem;
}
@media (max-width: 880px) {
  #case-checklist ul li .reason-body {
    flex: initial;
  }
}
#case-checklist ul li .reason-body h4 {
  font-size: 1.4rem;
  font-weight: 600;
  color: #003b73;
  margin: 0 0 1.5rem;
}
@media (max-width: 880px) {
  #case-checklist ul li .reason-body h4 {
    font-size: 1.375rem;
  }
}
#case-checklist ul li .reason-body .example {
  font-size: 1.4rem;
  gap: 0.25rem;
  margin: 4.6875rem 0 0;
  padding-top: 0;
}
@media (max-width: 880px) {
  #case-checklist ul li .reason-body .example {
    margin: 3rem 0 0;
  }
}
#case-checklist ul li .reason-body .example li {
  width: 100%;
}
#case-checklist ul li .reason-body .example li:first-of-type {
  font-weight: 600;
}
#case-checklist ul li .reason-body .example li:last-of-type {
  border: 1px solid #003b73;
  border-radius: 8px;
  padding: 0.625rem;
}
@media (max-width: 880px) {
  #case-checklist ul li .reason-image {
    flex: initial;
  }
}

#case-list .section-title {
  border-bottom: none;
}
#case-list .wrap .case__list {
  padding-top: 3.125rem;
}
#case-list .paging {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: center;
  font-size: 1.6rem;
  margin: 4rem auto;
}
#case-list .paging a {
  color: #000;
  font-weight: 700;
  text-decoration: none;
}

#high-cost {
  background: #1D3F70;
  padding: 4.625rem 2.5rem;
}
@media (max-width: 880px) {
  #high-cost {
    padding: 2.375rem 1.25rem;
  }
}
#high-cost .inner {
  background: #fff;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  padding: 3.125rem 0;
}
@media (max-width: 880px) {
  #high-cost .inner {
    flex-direction: column-reverse;
  }
}
#high-cost .inner figure {
  width: 45%;
}
@media (max-width: 880px) {
  #high-cost .inner figure {
    width: 80%;
    margin: 0 0 0 auto;
  }
}
#high-cost .inner figure img {
  width: 100%;
}
#high-cost .inner .wrapper {
  width: 55%;
  padding: 4.625rem;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper {
    width: 100%;
    padding: 3.75rem 1.875rem;
  }
}
#high-cost .inner .wrapper .top {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper .top {
    margin: auto;
  }
}
#high-cost .inner .wrapper .top p {
  background: #1D3F70;
  border-radius: 50px;
  color: #fff;
  font-size: clamp(19px, 11.1005191128px + 0.8966493629vw, 38px);
  font-weight: 700;
  padding: 0.625rem;
  text-align: center;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper .top p {
    font-size: 1.1875rem;
  }
}
#high-cost .inner .wrapper .top p span {
  font-size: clamp(31px, 18.1113732893px + 1.4629542237vw, 62px);
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper .top p span {
    font-size: 1.9375rem;
  }
}
#high-cost .inner .wrapper .top h1 {
  font-size: clamp(48px, -4.3860311468px + 5.9462010382vw, 174px);
  font-weight: 700;
  margin: 2.8125rem 0;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper .top h1 {
    font-size: 3.75rem;
    text-align: center;
  }
}
#high-cost .inner .wrapper .top h2 {
  font-size: clamp(20px, -1.6196319018px + 2.4539877301vw, 72px);
  font-weight: 700;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper .top h2 {
    font-size: 1.75rem;
    text-align: center;
  }
}
#high-cost .inner .wrapper h3 {
  font-size: clamp(16px, 7.6847569608px + 0.9438414346vw, 36px);
  padding: 1.875rem 0;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper h3 {
    font-size: 1.4rem;
    text-align: center;
  }
}
#high-cost .inner .wrapper button {
  width: 90%;
  background: #E68B30;
  border-radius: 10px;
  color: #fff;
  display: block;
  font-size: clamp(18px, 8.8532326569px + 1.0382255781vw, 40px);
  font-weight: 500;
  margin: 2.625rem 0 0;
  padding: 1.375rem;
  text-align: center;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper button {
    width: clamp(255px, 90%, 400px);
    font-size: 1.4rem;
    margin: auto;
  }
}
#high-cost .inner .wrapper small {
  display: block;
  font-size: clamp(14px, 8.1793298726px + 0.6606890042vw, 28px);
  margin: 5px 0 0;
}
@media (max-width: 880px) {
  #high-cost .inner .wrapper small {
    font-size: 1.4rem;
    text-align: center;
  }
}

/* 高額かも診断：青×オレンジ寄せ */
#high-cost .hc-card {
  margin-top: 24px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

#high-cost .hc-card__inner {
  padding: 24px;
}

#high-cost .hc-head {
  margin-bottom: 16px;
}

#high-cost .hc-step {
  font-weight: 700;
  color: #163a63;
  margin: 0 0 10px;
}

#high-cost .hc-bar {
  height: 6px;
  background: #e6eef7;
  border-radius: 999px;
  overflow: hidden;
}

#high-cost .hc-bar__fill {
  display: block;
  height: 100%;
  background: #163a63;
  width: 0%;
}

#high-cost .hc-q__title {
  font-size: 18px;
  font-weight: 700;
  color: #0f223a;
  margin: 10px 0 16px;
}

#high-cost .hc-options button {
  width: 100%;
  text-align: left;
  border: 2px solid #e6eef7;
  background: #fff;
  border-radius: 12px;
  padding: 14px 16px;
  margin: 0 0 12px;
  font-weight: 700;
  transition: 0.15s;
}

#high-cost .hc-options button:hover {
  border-color: #f08a24; /* オレンジ */
  box-shadow: 0 6px 16px rgba(240, 138, 36, 0.15);
}

#high-cost .hc-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 12px;
}

#high-cost .hc-actions button {
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 700;
}

#high-cost [data-hc-back] {
  background: #fff;
  border: 2px solid #163a63;
  color: #163a63;
}

#high-cost [data-hc-restart] {
  background: #f08a24;
  border: 2px solid #f08a24;
  color: #fff;
}

#high-cost .hc-start-btn {
  background: #f08a24;
  color: #fff;
  border: 0;
  border-radius: 999px;
  padding: 14px 18px;
  font-weight: 800;
}

/* 初期は診断UIを隠す */
#hc-diagnosis {
  display: none;
}

/* 開始後に表示 */
#hc-diagnosis.is-open {
  display: block;
}

/* 開始後、スタートボタン等を隠したい場合（任意） */
.high-cost-hero .hc-start-btn.is-hidden,
.high-cost-hero .hc-start-btn.is-hidden + small {
  display: none;
}

.hc-intro.is-hidden {
  display: none;
}

#centers-title .mv-title, #centers-branch-title .mv-title {
  position: relative;
}
#centers-title .mv-title img, #centers-branch-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#centers-title .mv-title h1, #centers-branch-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#centers-title .breadcrumb, #centers-branch-title .breadcrumb {
  width: 90%;
  display: flex;
  align-items: center;
  gap: 30px;
  font-size: 1.4rem;
  margin-inline: auto;
}
#centers-title .breadcrumb a, #centers-branch-title .breadcrumb a {
  color: #374151;
  position: relative;
  text-decoration: none;
}
#centers-title .breadcrumb a::before, #centers-branch-title .breadcrumb a::before {
  content: ">";
  display: block;
  position: absolute;
  right: -20px;
}

#centers-list .number {
  display: flex;
  gap: 2.5rem;
  font-size: 1.4rem;
  margin: 4.125rem 0;
}
@media (max-width: 880px) {
  #centers-list .number {
    flex-wrap: wrap;
    row-gap: 5px;
  }
}
#centers-list .list {
  list-style: none;
  margin: 3rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media (max-width: 880px) {
  #centers-list .list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
#centers-list .list li {
  border-radius: 0.9375rem;
  box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
#centers-list .list li figure {
  margin: 0;
}
#centers-list .list li figure img {
  width: 100%;
  aspect-ratio: 525/256;
  -o-object-fit: cover;
     object-fit: cover;
}
#centers-list .list li div {
  padding: 2.1875rem 1.875rem;
  /* 下のボタン */
}
#centers-list .list li div h3 {
  font-size: 1.75rem;
  font-weight: 700;
}
#centers-list .list li div p {
  width: calc(100% - (1.6rem + 10px));
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 15px 0;
}
#centers-list .list li div p span {
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("../img/centers/icon_location.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#centers-list .list li div p:nth-of-type(2) {
  font-weight: 400;
}
#centers-list .list li div p:nth-of-type(2) span {
  background-image: url("../img/centers/icon_time.png");
}
#centers-list .list li div p:nth-of-type(3) {
  font-weight: 400;
}
#centers-list .list li div p:nth-of-type(3) span {
  background-image: url("../img/centers/icon_tel.png");
}
#centers-list .list li div p:last-of-type {
  text-align: center;
  padding: 0 1.5rem;
  margin-top: 2rem;
}
#centers-list .list li div p:last-of-type a.c-btn {
  width: 100%;
}

#centers-branch {
  max-width: 1000px;
  margin: auto;
}
#centers-branch .case__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
}
@media (max-width: 880px) {
  #centers-branch .case__item {
    grid-template-columns: 1fr;
  }
}
#centers-branch .case__item div {
  padding: 0;
}
#centers-branch .case__item div h3 {
  color: #1D3F70;
  margin: 0 0 3.125rem;
}
#centers-branch .case__item div dl {
  display: flex;
  font-size: 1.6rem;
  margin: 20px 0;
}
#centers-branch .case__item div dl:first-of-type {
  font-weight: 500;
}
#centers-branch .case__item div dl dt {
  width: 80px;
  font-weight: 400;
}
#centers-branch .case__item div p .c-btn {
  margin: 2.5rem 0 0;
}

#centers-voice {
  position: relative;
  padding-bottom: 7.5rem;
}
#centers-voice .wrap article {
  margin-top: 3.125rem;
  /* 白カード本体 */
}
@media (max-width: 880px) {
  #centers-voice .wrap article {
    margin-top: 1.25rem;
  }
}
#centers-voice .wrap article.item {
  background-color: #ffffff;
  border-radius: 1.25rem;
  padding: 2.5rem 3.125rem;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.08);
}
#centers-voice .wrap article.item > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  -moz-column-gap: 3rem;
       column-gap: 3rem;
  /* 左：画像側 */
  /* 右：テキスト側 */
}
@media (max-width: 880px) {
  #centers-voice .wrap article.item > div {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
}
#centers-voice .wrap article.item > div > figure {
  align-self: center;
}
#centers-voice .wrap article.item > div > figure img {
  width: 100%;
  aspect-ratio: 484/242;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
  display: block;
}
#centers-voice .wrap article.item > div > div h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #003366;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid #B9B9B9;
}
#centers-voice .wrap article.item > div > div p {
  margin-top: 2.5rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #333333;
}
#centers-voice .wrap article.item > div > div p:last-of-type {
  font-weight: 500;
  margin-top: 5px;
}
#centers-voice .wrap article .btn-wrap {
  text-align: center;
}
#centers-voice .wrap article .btn-wrap .c-btn {
  margin: 3.125rem 0 0;
}

#audio-title .mv-title, #cd-title .mv-title {
  position: relative;
}
#audio-title .mv-title img, #cd-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#audio-title .mv-title h1, #cd-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.audio-cd-top .inner {
  display: grid;
  align-items: center;
  grid-template-columns: 0.5fr 1fr 0.5fr;
  gap: 5rem;
}
@media (max-width: 880px) {
  .audio-cd-top .inner {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.audio-cd-top .inner div {
  text-align: center;
}
@media (max-width: 880px) {
  .audio-cd-top .inner div {
    margin: 15% 0 0;
  }
}
.audio-cd-top .inner div h2 {
  color: #1D3F70;
  font-size: 1.875rem;
  font-weight: 700;
}
.audio-cd-top .inner div h3 {
  font-size: 2rem;
  font-weight: 700;
  padding: 2.5rem 0 1.5rem;
}
.audio-cd-top .inner div p {
  font-size: 1.4rem;
}
.audio-cd-top .inner figure:first-of-type {
  margin: auto 0 0;
}
@media (max-width: 880px) {
  .audio-cd-top .inner figure:first-of-type {
    display: flex;
    justify-content: center;
    margin: 0;
  }
}
.audio-cd-top .inner figure:first-of-type img {
  width: 60%;
}
@media (max-width: 880px) {
  .audio-cd-top .inner figure:first-of-type img {
    width: 30%;
  }
}
.audio-cd-top .inner figure:first-of-type img:last-of-type {
  margin: 3rem 0 0;
  transform: translateX(50%);
}
@media (max-width: 880px) {
  .audio-cd-top .inner figure:first-of-type img:last-of-type {
    margin: 0 0 0 3rem;
    transform: translateY(20%);
  }
}
.audio-cd-top .inner figure:last-of-type {
  margin: 0 0 auto;
}
@media (max-width: 880px) {
  .audio-cd-top .inner figure:last-of-type {
    width: 50%;
    margin: 3rem auto 0;
  }
}

.audio-cd-list {
  position: relative;
  padding-bottom: 7.5rem;
}
.audio-cd-list .section-title {
  border-bottom: none;
  text-align: center;
}
.audio-cd-list .section-title h2 {
  font-size: 1.75rem;
  font-weight: 700;
}
.audio-cd-list .section-title h2 span {
  color: #2563EB;
  display: block;
  font-size: 2rem;
  font-weight: 500;
}
.audio-cd-list .section-title p {
  font-size: 1.4rem;
  margin: 2.5rem 0 0;
}
.audio-cd-list .wrap h2 {
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.75rem;
  font-weight: 700;
  margin: 3.125rem 0 0;
}
.audio-cd-list .wrap h2 span {
  width: 2rem;
  height: 2rem;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
.audio-cd-list .wrap ul li {
  background-color: #ffffff;
  border: 2px solid #E5E7EB;
  border-radius: 1.25rem;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
  color: inherit;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 3.125rem 0 0;
  padding: 1.875rem;
  text-decoration: none;
}
@media (max-width: 880px) {
  .audio-cd-list .wrap ul li {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.25rem;
    padding: 1.5rem;
  }
}
.audio-cd-list .wrap ul li:first-of-type {
  margin: 1.25rem 0 0;
}
.audio-cd-list .wrap ul li figure {
  width: 10rem;
  height: 10rem;
  flex: 0 0 auto;
  overflow: hidden;
}
.audio-cd-list .wrap ul li figure img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.audio-cd-list .wrap ul li div {
  min-width: 0;
  flex: 1 1 auto;
}
.audio-cd-list .wrap ul li div h3 {
  color: #003366;
  font-size: 1.5rem;
  font-weight: 700;
  padding-bottom: 0.75rem;
}
.audio-cd-list .wrap ul li div h4 {
  color: #F97316;
  font-size: 1.5rem;
  font-weight: 700;
  padding-bottom: 0.75rem;
}
.audio-cd-list .wrap ul li div .lightblue {
  background-color: #e8f6ff;
  padding: 0.3125rem 0 0.625rem 0.625rem;
}
.audio-cd-list .wrap ul li div .lightblue p {
  color: #333333;
  font-size: 1.4rem;
  line-height: 1.9;
}
.audio-cd-list .wrap ul li div .lightblue p:first-of-type {
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 5px;
}
.audio-cd-list .wrap ul li div .lightblue p .icon {
  width: 1rem;
  height: 1rem;
  background-image: url("../img/audio/icon_check.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
.audio-cd-list .wrap ul li div small {
  display: block;
  font-size: 8px;
  margin: 5px 0 0;
}
.audio-cd-list .wrap .btn-wrap {
  text-align: center;
}
.audio-cd-list .wrap .btn-wrap .c-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 3.125rem 0 0;
  padding: 0.625rem 1.5rem;
}

.audio-cd-tips {
  background: #E8F6FF;
}
.audio-cd-tips .wrap {
  /* カード3カラムのコンテナ（最初の div） */
}
.audio-cd-tips .wrap > div:first-of-type {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9375rem;
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  .audio-cd-tips .wrap > div:first-of-type {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.audio-cd-tips .wrap > div:first-of-type article {
  background-color: #ffffff;
  border-radius: 0.75rem;
  padding: 1.5625rem;
  box-shadow: 0 0.5rem 1.5rem rgba(15, 23, 42, 0.08);
  display: flex;
  flex-direction: column;
  height: 100%;
}
.audio-cd-tips .wrap > div:first-of-type article figure {
  width: 30%;
  margin: auto;
}
.audio-cd-tips .wrap > div:first-of-type article figure img {
  width: 100%;
}
.audio-cd-tips .wrap > div:first-of-type article .orange {
  display: inline-flex;
  margin: 0.625rem auto 0;
  padding: 0.3125rem 0.9375rem;
  font-size: 1.4rem;
  font-weight: 400;
  background-color: #FF6600;
  color: #ffffff;
  border-radius: 6px;
  white-space: nowrap;
  align-self: flex-start;
}
.audio-cd-tips .wrap > div:first-of-type article h3 {
  color: #00278A;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
}
.audio-cd-tips .wrap > div:first-of-type article h3 .icon {
  width: 1.75rem;
  height: 1.75rem;
  background-image: url("../img/audio/icon_tick.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
.audio-cd-tips .wrap > div:first-of-type article p {
  font-size: 1.4rem;
  margin-top: 1.125rem;
}
.audio-cd-tips .wrap .etc {
  font-size: 1.6rem;
  margin-top: 2rem;
}
.audio-cd-tips .wrap .etc span {
  font-weight: 700;
}

.audio-cd-possible {
  background: #F9FAFB;
}
.audio-cd-possible .section-title {
  border-bottom: none;
  text-align: center;
}
.audio-cd-possible .section-title h2 {
  font-size: 1.75rem;
  font-weight: 700;
}
.audio-cd-possible .section-title h2 span {
  color: #2563EB;
  display: block;
  font-size: 2rem;
  font-weight: 500;
}
.audio-cd-possible .section-title p {
  font-size: 1.6rem;
  margin: 2.5rem 0 0;
}
.audio-cd-possible .wrap > div:first-of-type {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9375rem;
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  .audio-cd-possible .wrap > div:first-of-type {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
.audio-cd-possible .wrap > div:first-of-type article {
  background-color: #E8F6FF;
  border-radius: 16px;
  padding: 3rem 1.5rem;
}
.audio-cd-possible .wrap > div:first-of-type article figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 2.5rem;
}
.audio-cd-possible .wrap > div:first-of-type article figure img {
  width: 2rem;
}
.audio-cd-possible .wrap > div:first-of-type article figure figcaption {
  font-size: 1.75rem;
  font-weight: 700;
}
.audio-cd-possible .wrap > div:first-of-type article ul li {
  background: #fff;
  border-radius: 6px;
  color: #00278A;
  font-size: 1.6rem;
  margin: 1.25rem 0;
  padding: 0.625rem 0.625rem 0.625rem 2.25rem;
  position: relative;
}
.audio-cd-possible .wrap > div:first-of-type article ul li::before {
  width: 1rem;
  height: 1rem;
  background-image: url("../img/audio/icon_blue.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0.75rem;
  transform: translateY(-50%);
}
.audio-cd-possible .wrap p {
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 2.5rem;
}
.audio-cd-possible .wrap p span {
  font-weight: 700;
}

.audio-cd-buy .wrap #buy-list {
  padding-top: 3.125rem;
}

.audio-cd-expertise .section-title .center {
  text-align: center;
}
.audio-cd-expertise .wrap {
  margin-top: 3.125rem;
}
.audio-cd-expertise .wrap article {
  display: flex;
  justify-content: center;
  gap: 3rem;
}
@media (max-width: 880px) {
  .audio-cd-expertise .wrap article {
    flex-direction: column;
  }
}
.audio-cd-expertise .wrap article figure {
  width: calc(50% - 3rem);
}
@media (max-width: 880px) {
  .audio-cd-expertise .wrap article figure {
    width: 100%;
  }
}
.audio-cd-expertise .wrap article figure img {
  border-radius: 1.25rem;
}
.audio-cd-expertise .wrap article div {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}
@media (max-width: 880px) {
  .audio-cd-expertise .wrap article div {
    width: 100%;
  }
}
.audio-cd-expertise .wrap article div h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0 0 1rem;
  text-align: center;
}
.audio-cd-expertise .wrap article div h4 {
  font-size: 1.375rem;
  font-weight: 700;
  margin: 1rem auto;
  text-align: center;
}
.audio-cd-expertise .wrap article div .record-city {
  border-bottom: 1px solid #b9b9b9;
}
.audio-cd-expertise .wrap article div .record-city li {
  font-size: 2rem;
  font-weight: 700;
}
.audio-cd-expertise .wrap article div .record-city li span {
  background: #32A4ED;
  border-radius: 10px;
  color: #fff;
  font-size: 1.6rem;
  margin: 0 1rem 0 0;
  padding: 0.75rem;
}
.audio-cd-expertise .wrap article div .record-city li:nth-of-type(even) {
  font-size: 1.4rem;
  font-weight: 400;
  margin: 0.5rem 0 1rem;
}
.audio-cd-expertise .wrap article div .comparison {
  display: flex;
  gap: 3rem;
  justify-content: center;
}
.audio-cd-expertise .wrap article div .comparison .top {
  color: #1D3F70;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  font-weight: 700;
}
.audio-cd-expertise .wrap article div .comparison .top:last-of-type {
  color: #f97316;
}
.audio-cd-expertise .wrap article div .comparison .top > ul {
  color: #000;
  display: flex;
  flex-direction: column;
  font-weight: 400;
}
.audio-cd-expertise .wrap article div p {
  font-size: 1.6rem;
  font-weight: 400;
  margin: 1rem 0;
}
.audio-cd-expertise .wrap article div .blue {
  width: 100%;
  background: #E8F6FF;
  border-radius: 8px;
  font-size: 1.4rem;
  font-weight: 500;
  margin: 1rem 0;
  padding: 0.75rem;
}

.audio-cd-cta {
  background-image: url("../img/audio/cta_bg_audio.jpg");
}
.audio-cd-cta > .inner p {
  text-align: center;
}
.audio-cd-cta > .inner > ul {
  width: 500px;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 3rem;
  margin: 3.125rem auto 0;
}
@media (max-width: 880px) {
  .audio-cd-cta > .inner > ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-direction: column;
  }
}
.audio-cd-cta > .inner > ul > li {
  /* WEB / LINE の色切り替え */
}
.audio-cd-cta > .inner > ul > li[data-type=mail] > a {
  background: #fff;
}
.audio-cd-cta > .inner > ul > li > a {
  border-radius: 12px;
}
.audio-cd-cta > .inner > ul > li:last-of-type a {
  color: #1D3F70;
}
.audio-cd-cta > .inner > ul > li:last-of-type a img {
  margin: 2px 0 0;
}

#apply-title .mv-title {
  position: relative;
}
#apply-title .mv-title img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

#apply-form {
  background: #F9FAFB;
}
#apply-form form {
  width: 70%;
  background: #fff;
  border-radius: 24px;
  margin: auto;
  padding: 3rem;
}
@media (max-width: 880px) {
  #apply-form form {
    width: 90%;
    padding: 2rem;
  }
}
#apply-form form dl {
  margin: 2rem 0;
}
#apply-form form dl:last-of-type dt span {
  background: #9CA3AF;
}
#apply-form form dl dt {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.4rem;
  margin: 0 0 1rem;
}
#apply-form form dl dt span {
  background: #EF4444;
  border-radius: 10px;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.3125rem 0.75rem;
}
#apply-form form dl dd {
  font-size: 1.4rem;
}
#apply-form form dl dd input {
  width: 100%;
  border: 1px solid #B9B9B9;
  border-radius: 10px;
  padding: 1.25rem;
}
#apply-form form dl dd textarea {
  width: 100%;
  height: 12.5rem;
  border: 1px solid #B9B9B9;
  border-radius: 10px;
  padding: 1.25rem;
}
#apply-form form dl dd select {
  width: 100%;
  border: 1px solid #B9B9B9;
  border-radius: 10px;
  padding: 1.25rem;
  font-size: 1.4rem;
  background-color: #fff;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("../img/common/icon_select_arrow.svg");
  background-repeat: no-repeat;
  background-position: right 1.25rem center;
  background-size: 12px;
  cursor: pointer;
}
@media (max-width: 880px) {
  #apply-form form dl dd select {
    font-size: 1.6rem;
    padding: 1rem;
    background-position: right 1rem center;
  }
}
#apply-form form dl dd select:focus {
  outline: none;
  border-color: #1D3F70;
}
#apply-form form dl dd div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#apply-form form dl dd div .wrapper {
  padding: 15px 15px 15px 10px;
}
@media (max-width: 880px) {
  #apply-form form dl dd div .wrapper {
    padding: 10px 15px 10px 10px;
  }
}
#apply-form form dl dd div .wrapper label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #000;
  display: inline-block;
  margin: 0;
  padding: 0 0 0 0.5rem;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
@media (max-width: 880px) {
  #apply-form form dl dd div .wrapper label {
    font-size: 12px;
    padding: 0 0 0 15px;
  }
}
#apply-form form dl dd div .wrapper label input {
  width: initial;
  margin: 0 10px 0 0;
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
#apply-form form dl dd div .wrapper label .checkmark {
  width: 1.125rem;
  height: 1.125rem;
  background-color: #fff;
  border-radius: 2px;
  border: 1px solid #B9B9B9;
  position: absolute;
  top: 50%;
  left: -10px;
  transform: translateY(-50%);
}
@media (max-width: 880px) {
  #apply-form form dl dd div .wrapper label .checkmark {
    width: 20px;
    height: 20px;
  }
}
#apply-form form dl dd div .wrapper label .checkmark.circle {
  border-radius: 2px;
}
#apply-form form dl dd div .wrapper label input:checked ~ .checkmark {
  background-color: #1D3F70;
  box-shadow: 0px 0px 0px 4px #1D3F70 inset;
}
#apply-form form dl dd div .wrapper label .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
#apply-form form dl dd div .wrapper label input:checked ~ .checkmark:after {
  display: block;
}
#apply-form form dl dd div .wrapper label .checkmark:after {
  top: 9px;
  left: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
#apply-form form dl .upload-box {
  border: 2px dashed #cdd1d5;
  border-radius: 12px;
  cursor: pointer;
  padding: 40px;
  position: relative;
  text-align: center;
}
#apply-form form dl .upload-box .upload-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
}
#apply-form form dl .upload-box .upload-inner span {
  width: 4rem;
  height: 4rem;
  background-image: url("../img/apply/icon_upload.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#apply-form form dl .upload-box .upload-inner p {
  font-size: 1.4rem;
  font-weight: 700;
}
#apply-form form dl .upload-box .upload-inner small {
  font-size: 1.4rem;
}
#apply-form form .agreement {
  background: #F9FAFB;
  border: 1px solid #B9B9B9;
  border-radius: 16px;
  padding: 1.875rem 1.5625rem;
}
#apply-form form .agreement p {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.6rem;
  font-weight: 700;
}
@media (max-width: 880px) {
  #apply-form form .agreement p {
    justify-content: center;
  }
}
#apply-form form .agreement p:nth-of-type(2), #apply-form form .agreement p:nth-of-type(4) {
  font-size: 1.4rem;
  font-weight: 400;
  margin-top: 0.625rem;
}
@media (max-width: 880px) {
  #apply-form form .agreement p:nth-of-type(2), #apply-form form .agreement p:nth-of-type(4) {
    flex-direction: column;
  }
}
#apply-form form .agreement p:nth-of-type(3) {
  margin-top: 1.25rem;
}
#apply-form form .agreement p:nth-of-type(3) span {
  background-image: url("../img/audio/icon_check.png");
}
#apply-form form .agreement p span {
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../img/apply/icon_private.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#apply-form form .agreement p a {
  color: #000;
}
@media (max-width: 880px) {
  #apply-form form .btn-wrap .c-btn {
    padding: 0.625rem 2rem 0.625rem 0;
  }
}
#apply-form form .btn-wrap small {
  display: block;
  font-size: 1.4rem;
  margin-top: 1.5rem;
}

#inquiry-title .mv-title {
  position: relative;
}
#inquiry-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#inquiry-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#inquiry-top p {
  font-size: 2rem;
  font-weight: 400;
  margin: 3.75rem auto 1.5rem;
  text-align: center;
}
#inquiry-top ul {
  border: 1px solid #E5E7EB;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2rem 8.75rem;
  margin: 3.75rem auto 0;
}
@media (max-width: 880px) {
  #inquiry-top ul {
    padding: 2rem 3rem;
  }
}
#inquiry-top ul li {
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 700;
}
#inquiry-top ul li span {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/inquiry/icon_bulb.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}

#inquiry-faq .wrap ul {
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #inquiry-faq .wrap ul {
    margin-top: 1.25rem;
  }
}
#inquiry-faq .wrap p {
  font-size: 2rem;
  font-weight: 400;
  margin: 3.75rem auto 1.5rem;
  text-align: center;
}
#inquiry-faq .wrap .btn-wrap {
  margin-top: 0;
}

.inquiry-cta {
  padding: 4.5rem 0 5rem;
}
@media (max-width: 880px) {
  .inquiry-cta {
    padding: 3.5rem 0 4rem;
  }
}
.inquiry-cta > .inner {
  margin: 0 auto;
  text-align: center;
  /* 見出しブロック */
  /* 下線 */
  /* 説明 + カード */
}
.inquiry-cta > .inner > div:first-of-type {
  width: 90%;
  margin: 0 auto 2rem;
}
.inquiry-cta > .inner > div:first-of-type > p:first-of-type {
  font-size: 1.6rem;
  opacity: 0.8;
}
.inquiry-cta > .inner > div:first-of-type > h2 {
  margin-top: 0.5rem;
  font-size: 2.25rem;
  font-weight: 700;
}
@media (max-width: 880px) {
  .inquiry-cta > .inner > div:first-of-type > h2 {
    font-size: 2rem;
  }
}
.inquiry-cta > .inner > div:first-of-type > p:last-of-type {
  margin-top: 0.75rem;
  font-size: 1.6rem;
}
.inquiry-cta > .inner > div:nth-of-type(2) {
  margin: 2.5rem auto 0;
  width: 100%;
  border-top: 1px solid #ffffff;
}
.inquiry-cta > .inner > .wrap {
  margin-top: 2rem;
  /* カード2カラム */
}
.inquiry-cta > .inner > .wrap > div:last-of-type {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
}
@media (max-width: 880px) {
  .inquiry-cta > .inner > .wrap > div:last-of-type {
    grid-template-columns: 1fr;
  }
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article:last-of-type .balloon {
  background: #3B82F6;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article:last-of-type .balloon::before {
  border-top: 15px solid #3B82F6;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article:last-of-type .wrapper ul li:before {
  background-image: url("../img/inquiry/icon_blue.png");
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article:last-of-type .wrapper div {
  border: 2px solid #3B82F6;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article:last-of-type .wrapper div a {
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 0.9375rem;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article:last-of-type .wrapper div a span {
  width: 1.75rem;
  height: 1.75rem;
  background-image: url("../img/inquiry/icon_mail_small.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  margin: 5px 0 0;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .balloon {
  background: #F97316;
  border-radius: 20px;
  display: inline-block;
  font-size: 16px;
  margin: 1.5em 0;
  padding: 0.625rem 1.875rem;
  position: relative;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .balloon::before {
  border: 15px solid transparent;
  border-top: 15px solid #F97316;
  content: "";
  margin-left: -15px;
  position: absolute;
  top: 100%;
  left: 50%;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .balloon p {
  color: #fff;
  margin: 0;
  padding: 0;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper {
  border: 2px solid #E5E7EB;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
  border-radius: 1.25rem;
  color: #111827;
  padding: 2.5rem 2.5rem 2.75rem;
  text-align: center;
}
@media (max-width: 880px) {
  .inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper {
    padding: 2rem 1.5rem 2.25rem;
  }
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > figure {
  margin: 0 auto 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > figure img {
  width: 4rem;
  height: 4rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > h3 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > p {
  margin: 0;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > p + p {
  margin-top: 0.5rem;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > p small {
  font-size: 0.8125rem;
  color: #6b7280;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > ul {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin: 1.5rem 0;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > ul li {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  padding: 0 0 0 1.5rem;
  position: relative;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > ul li:before {
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../img/inquiry/icon_green.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border: 2px solid #F97316;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  margin: auto;
  padding: 1.25rem 3.5rem;
}
@media (max-width: 880px) {
  .inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div {
    width: 90%;
    padding: 1.25rem 2rem;
  }
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div p {
  display: flex;
  align-items: center;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div p:last-of-type {
  gap: 0.5rem;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div p:last-of-type span {
  width: 1rem;
  height: 1rem;
  background-image: url("../img/inquiry/icon_time.png");
  margin: 2px 0 0;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div p a {
  color: #000;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.875rem;
  text-decoration: none;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div p span {
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("../img/inquiry/icon_tel_small.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  margin: 6px 0 0;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div p small {
  font-size: 1.4rem;
}
.inquiry-cta > .inner > .wrap > div:last-of-type > article .wrapper > div a {
  color: #000;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.875rem;
  text-decoration: none;
}

#inquiry-form {
  background: #F9FAFB;
}
#inquiry-form .wrap {
  text-align: center;
}
#inquiry-form .wrap h2 {
  font-size: 1.875rem;
  font-weight: 700;
}
#inquiry-form .wrap p {
  font-size: 1.4rem;
  font-weight: 400;
  margin: 1.5rem auto 3.75rem;
}
#inquiry-form form {
  width: 70%;
  background: #fff;
  border-radius: 24px;
  margin: auto;
  padding: 3rem;
}
@media (max-width: 880px) {
  #inquiry-form form {
    width: 90%;
    padding: 2rem;
  }
}
#inquiry-form form dl {
  margin: 2rem 0;
}
#inquiry-form form dl:last-of-type dt span {
  background: #9CA3AF;
}
#inquiry-form form dl dt {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.4rem;
  margin: 0 0 1rem;
}
#inquiry-form form dl dt span {
  background: #EF4444;
  border-radius: 10px;
  color: #fff;
  font-size: 0.75rem;
  padding: 0.3125rem 0.75rem;
}
#inquiry-form form dl dd {
  font-size: 1.4rem;
}
#inquiry-form form dl dd input {
  width: 100%;
  border: 1px solid #B9B9B9;
  border-radius: 10px;
  padding: 1.25rem;
}
#inquiry-form form dl dd textarea {
  width: 100%;
  height: 12.5rem;
  border: 1px solid #B9B9B9;
  border-radius: 10px;
  padding: 1.25rem;
}
#inquiry-form form dl dd div .wrapper {
  padding: 5px 5px 5px 10px;
}
@media (max-width: 880px) {
  #inquiry-form form dl dd div .wrapper {
    padding: 10px;
  }
}
#inquiry-form form .agreement .wrapper {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.6rem;
}
@media (max-width: 880px) {
  #inquiry-form form .agreement .wrapper {
    justify-content: center;
  }
}
#inquiry-form form .agreement .wrapper a {
  color: #000;
}
#inquiry-form form .agreement .wrapper span {
  color: red;
}
#inquiry-form form .btn-wrap small {
  display: block;
  font-size: 1.4rem;
  margin-top: 1.5rem;
}
#inquiry-form form label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #000;
  display: inline-block;
  margin: 0;
  padding: 0 0 0 0.5rem;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
@media (max-width: 880px) {
  #inquiry-form form label {
    font-size: 12px;
    padding: 0 0 0 15px;
  }
}
#inquiry-form form label input {
  width: initial;
  margin: 0 10px 0 0;
  position: absolute;
  opacity: 0;
  cursor: pointer;
}
#inquiry-form form label .checkmark {
  width: 1.125rem;
  height: 1.125rem;
  background-color: #fff;
  border-radius: 2px;
  border: 1px solid #B9B9B9;
  position: absolute;
  top: 50%;
  left: -10px;
  transform: translateY(-50%);
}
@media (max-width: 880px) {
  #inquiry-form form label .checkmark {
    width: 20px;
    height: 20px;
  }
}
#inquiry-form form label .checkmark.circle {
  border-radius: 2px;
}
#inquiry-form form label input:checked ~ .checkmark {
  background-color: #1D3F70;
  box-shadow: 0px 0px 0px 4px #1D3F70 inset;
}
#inquiry-form form label .checkmark:after {
  content: "";
  position: absolute;
  display: none;
}
#inquiry-form form label input:checked ~ .checkmark:after {
  display: block;
}
#inquiry-form form label .checkmark:after {
  top: 9px;
  left: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

#inquiry-flow {
  background: #F9FAFB;
}
#inquiry-flow .section-title {
  border-bottom: none;
  text-align: center;
}
#inquiry-flow .section-title h2 {
  font-size: 1.875rem;
  font-weight: 700;
}
#inquiry-flow .wrap div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9375rem;
}
@media (max-width: 880px) {
  #inquiry-flow .wrap div {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
#inquiry-flow .wrap div article {
  border-radius: 0.75rem;
  padding: 1.5625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
#inquiry-flow .wrap div article figure {
  width: 4rem;
  margin: auto;
}
#inquiry-flow .wrap div article figure:last-of-type {
  width: 8rem;
}
#inquiry-flow .wrap div article h3 {
  color: #00278A;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1rem 0;
}
#inquiry-flow .wrap div article p {
  color: #000;
  font-size: 1.6rem;
  margin-top: 1rem;
}

#policy-title .mv-title, #term-title .mv-title {
  position: relative;
}
#policy-title .mv-title img, #term-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#policy-title .mv-title h1, #term-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.policy-term {
  width: 90%;
  max-width: 1000px;
  margin: auto;
}
.policy-term div {
  margin: 3rem 0;
}
.policy-term div h2 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.policy-term div p {
  font-size: 1.6rem;
}
.policy-term div ul {
  font-size: 1.6rem;
  list-style: disc;
  margin: 0 0 0 1.5em;
}

#qa-title .mv-title {
  position: relative;
}
#qa-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#qa-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#qa-category {
  background: #F9FAFB;
}
#qa-category .bk-white {
  background: #fff;
  padding-top: 6.25rem;
  padding-bottom: 4rem;
}
#qa-category .bk-white .inner {
  width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;
}
#qa-category .bk-white .inner h2 {
  font-size: 1.5rem;
  font-weight: 700;
}
#qa-category .bk-white .inner p {
  font-size: 1.6rem;
  font-weight: 400;
}
#qa-category .bk-white .inner .category-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
@media (max-width: 880px) {
  #qa-category .bk-white .inner .category-list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
#qa-category .bk-white .inner .category-list .category-item[data-visible=extra] {
  display: none;
}
#qa-category .bk-white .inner .category-list .category-item {
  width: 100%;
  border: 2px solid #E5E7EB;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.75rem 3.375rem;
}
#qa-category .bk-white .inner .category-list .category-item img {
  width: 3rem;
}
#qa-category .bk-white .inner .category-list .category-item button {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 700;
  padding-top: 1rem;
}
#qa-category .bk-white .inner .category-list .category-item button span {
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
}
#qa-category .bk-white .inner .toggle-btn {
  background: #4B5563;
  border-radius: 8px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 400;
  margin-top: 2rem;
  padding: 1.125rem 1.625rem;
}
#qa-category .wrap {
  padding-top: 6rem;
  padding-bottom: 6.25rem;
}
#qa-category .wrap .faq-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#qa-category .wrap .faq-header h3 {
  font-size: 2.25rem;
  font-weight: 700;
}
#qa-category .wrap .faq-header p {
  font-size: 1.4rem;
  font-weight: 400;
  padding: 1.25rem 0 4.25rem;
}

#company-title .mv-title {
  position: relative;
}
#company-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#company-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#company-top .inner h2, #company-history .inner h2 {
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
}
#company-top .wrap div, #company-history .wrap div {
  max-width: 1000px;
  margin: 3rem auto;
}
#company-top .wrap div dl, #company-history .wrap div dl {
  border-bottom: 0.5px solid #E5E7EB;
  display: flex;
  align-items: flex-start;
  gap: 50px;
  font-size: 1.6rem;
  font-weight: 500;
}
@media (max-width: 880px) {
  #company-top .wrap div dl, #company-history .wrap div dl {
    flex-direction: column;
    gap: 5px;
    margin: 0 0 30px;
    padding: 0 0 10px;
  }
}
#company-top .wrap div dl dt, #company-history .wrap div dl dt {
  width: 30%;
  padding: 25px 0 25px 1em;
}
@media (max-width: 880px) {
  #company-top .wrap div dl dt, #company-history .wrap div dl dt {
    width: 100%;
    padding: 0 0 5px;
    position: relative;
  }
}
#company-top .wrap div dl dd, #company-history .wrap div dl dd {
  width: 80%;
  padding: 25px 0;
}
@media (max-width: 880px) {
  #company-top .wrap div dl dd, #company-history .wrap div dl dd {
    width: 100%;
    padding: 0 0 0 1em;
  }
}
#company-top .wrap div dl dd a, #company-history .wrap div dl dd a {
  color: #FF6600;
}

#company-history {
  background: #F9FAFB;
}
#company-history .inner h2 {
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
}
#company-history .inner p {
  font-size: 1.4rem;
  font-weight: 500;
  padding-top: 3rem;
  text-align: center;
}
#company-history .wrap div dl {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  margin: 2rem auto;
}
@media (max-width: 880px) {
  #company-history .wrap div dl {
    padding: 10px;
  }
}
@media (max-width: 880px) {
  #company-history .wrap div .dot dt {
    position: relative;
  }
  #company-history .wrap div .dot dt::after {
    width: 1rem;
    height: 1rem;
    background: #FF6600;
    border-radius: 50%;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
  }
}
#company-history .wrap div .dot dd {
  position: relative;
}
#company-history .wrap div .dot dd::after {
  width: 1rem;
  height: 1rem;
  background: #FF6600;
  border-radius: 50%;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.5rem;
  transform: translateY(-50%);
}
@media (max-width: 880px) {
  #company-history .wrap div .dot dd::after {
    content: none;
  }
}

#company-access .inner h2 {
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
}
#company-access .wrap {
  max-width: 1000px;
  display: flex;
  gap: 3rem;
  justify-content: center;
  margin: 3rem auto;
}
@media (max-width: 880px) {
  #company-access .wrap {
    flex-direction: column;
  }
}
#company-access .wrap article {
  width: 50%;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media (max-width: 880px) {
  #company-access .wrap article {
    width: 100%;
  }
}
#company-access .wrap article ul {
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  padding: 2rem;
}
#company-access .wrap article ul:last-of-type li:first-of-type::before {
  background-image: url("../img/company/icon_building.png");
}
#company-access .wrap article ul li {
  font-size: 1.6rem;
  padding: 0.5rem 0;
}
#company-access .wrap article ul li:first-of-type {
  font-size: 2rem;
  font-weight: 700;
  padding: 0 0 1rem 2rem;
  position: relative;
}
#company-access .wrap article ul li:first-of-type::before {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/company/icon_map.png");
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  position: absolute;
  top: 3px;
  left: 0;
}
#company-access .wrap .map {
  width: calc(50% - 3rem);
  height: 0;
  padding-top: 56.25%;
  position: relative;
}
@media (max-width: 880px) {
  #company-access .wrap .map {
    width: 100%;
  }
}
#company-access .wrap .map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

#company-cta > .inner h2 {
  font-size: 2.25rem;
  font-weight: 700;
  text-align: center;
}
#company-cta > .inner p {
  text-align: center;
}
#company-cta > .inner > ul > li > a {
  border-radius: 12px;
}
#company-cta > .inner > ul > li:last-of-type a {
  border: 2px solid #fff;
}

#notice-title .mv-title, #notice-detail-title .mv-title {
  position: relative;
}
#notice-title .mv-title img, #notice-detail-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#notice-title .mv-title h1, #notice-detail-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#notice-list {
  background: #F9FAFB;
  padding: 0;
  /* 非表示用 */
}
#notice-list .bk-white {
  background: #fff;
  padding-top: 6.25rem;
  padding-bottom: 4rem;
}
#notice-list .bk-white .inner {
  width: 90%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: auto;
}
#notice-list .bk-white .inner h2 {
  font-size: 1.5rem;
  font-weight: 700;
}
#notice-list .bk-white .inner .filter-buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  margin: 3rem auto;
}
#notice-list .bk-white .inner .filter-buttons .filter {
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 1rem;
}
#notice-list .bk-white .inner .filter-buttons .filter img {
  width: 1.25rem;
}
#notice-list .bk-white .inner .filter-buttons .filter span {
  width: 2rem;
  height: 2rem;
  border: 1px solid #E5E7EB;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  font-weight: 400;
  padding: 0.5rem;
}
#notice-list .bk-white .inner p {
  font-size: 1.6rem;
  font-weight: 400;
}
#notice-list .bk-white .inner p span {
  font-weight: 700;
}
#notice-list .wrap {
  padding-top: 6rem;
  padding-bottom: 6.25rem;
}
#notice-list .wrap .faq-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}
#notice-list .wrap .faq-header h3 {
  font-size: 2.25rem;
  font-weight: 700;
}
#notice-list .wrap .faq-header p {
  font-size: 1.4rem;
  font-weight: 400;
  padding: 1.25rem 0 4.25rem;
}
#notice-list .hidden {
  display: none !important;
}
#notice-list .paging {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: center;
  font-size: 1.6rem;
  padding: 0 0 4rem;
}
#notice-list .paging a {
  color: #000;
  font-weight: 700;
  text-decoration: none;
}

#notice-detail .inner {
  max-width: 1000px;
  margin: 0 auto;
}
#notice-detail .inner .section-title {
  border-bottom: none;
}
#notice-detail .inner .section-title .span-wrapper {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
#notice-detail .inner .section-title .span-wrapper p {
  background: #F3F4F6;
  border-radius: 0.375rem;
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0.5rem 0.5rem;
  white-space: nowrap;
}
#notice-detail .inner .section-title .span-wrapper p span {
  width: 1rem;
  height: 1rem;
  background: url("../img/notice/icon_tag.png") no-repeat;
  background-size: contain;
  display: inline-block;
}
#notice-detail .inner .section-title .span-wrapper p:last-of-type {
  background: transparent;
  color: #6B7280;
  font-size: 1.4rem;
  margin-left: 0.9375rem;
}
#notice-detail .inner .section-title .span-wrapper p:last-of-type span {
  width: 1rem;
  height: 1rem;
  background: url("../img/notice/icon_date.png") no-repeat;
  background-size: contain;
  display: inline-block;
}
#notice-detail .inner .section-title h1 {
  font-size: 3rem;
  font-weight: 700;
}
#notice-detail .inner .section-title .sns li {
  font-size: 1.5rem;
}
#notice-detail .inner .section-title .sns li a {
  width: 2rem;
  height: 2rem;
  background: url("../img/notice/icon_share.png") no-repeat;
  background-size: contain;
  display: inline-block;
}
#notice-detail .inner ul {
  display: flex;
  align-items: center;
  gap: 1rem;
}
#notice-detail .inner ul li {
  display: flex;
  align-items: center;
}
#notice-detail .inner .wrap {
  margin-top: 2rem;
  /* =========================
     本文カード（1枚にする）
     ========================= */
  /* =========================
     CTA（既存維持、ただしpの汎用指定に負けないように）
     ========================= */
}
#notice-detail .inner .wrap article.notice-card {
  display: block;
  margin: 2rem auto;
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06);
  background: #fff;
  overflow: hidden;
}
@media (max-width: 880px) {
  #notice-detail .inner .wrap article.notice-card {
    margin: 1.5rem auto;
  }
}
#notice-detail .inner .wrap .notice-card__thumb {
  margin: 0;
}
#notice-detail .inner .wrap .notice-card__thumb img {
  width: 100%;
  height: auto;
  display: block;
}
#notice-detail .inner .wrap .notice-card__body {
  padding: 3.25rem;
}
@media (max-width: 880px) {
  #notice-detail .inner .wrap .notice-card__body {
    padding: 2rem;
  }
}
#notice-detail .inner .wrap .notice-card__body p {
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0 0 1rem;
  font-size: 2rem;
  line-height: 1.8;
}
#notice-detail .inner .wrap .notice-card__body p:last-child {
  margin-bottom: 0;
}
#notice-detail .inner .wrap .notice-card__body br {
  line-height: 1;
}
#notice-detail .inner .wrap .notice-card__body a {
  text-decoration: underline;
}
#notice-detail .inner .wrap .notice-card__body img {
  max-width: 100%;
  height: auto;
}
#notice-detail .inner .wrap .cta {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #E8F6FF;
  border: 1px solid #DBEAFE;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  padding: 3rem 5rem;
  margin: 5rem auto;
}
@media (max-width: 880px) {
  #notice-detail .inner .wrap .cta {
    padding: 3rem;
  }
}
#notice-detail .inner .wrap .cta h3 {
  margin-top: 0.5rem;
  font-size: 2.25rem;
  font-weight: 700;
}
@media (max-width: 880px) {
  #notice-detail .inner .wrap .cta h3 {
    font-size: 2rem;
  }
}
#notice-detail .inner .wrap .cta p {
  font-size: 2rem;
  margin-bottom: 2rem;
}
#notice-detail .inner .wrap .cta .button {
  gap: 1.5rem;
}
@media (max-width: 880px) {
  #notice-detail .inner .wrap .cta .button {
    flex-direction: column;
  }
}
#notice-detail .inner .wrap .cta .button li {
  background: #3B82F6;
  border-radius: 12px;
  padding: 1.375rem 2rem;
}
#notice-detail .inner .wrap .cta .button li a {
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
}
#notice-detail .inner .wrap .cta .button li a span {
  width: 1.5rem;
  height: 1.5rem;
  background: url("../img/common/cta/icon_tel.png") no-repeat;
  background-size: contain;
  display: inline-block;
}
#notice-detail .inner .wrap .cta .button li:last-of-type {
  background: #fff;
  border: 1px solid #3B82F6;
}
#notice-detail .inner .wrap .cta .button li:last-of-type a {
  color: #3B82F6;
}
#notice-detail .inner .wrap .cta .button li:last-of-type a span {
  background: url("../img/notice/icon_detail.png") no-repeat;
  background-size: contain;
}
#notice-detail .inner .paging {
  gap: 10rem;
  justify-content: center;
}
#notice-detail .inner .paging a {
  color: #000;
  font-size: 2rem;
  text-decoration: none;
}

#column-title .mv-title, #column-detail-title .mv-title {
  position: relative;
}
#column-title .mv-title img, #column-detail-title .mv-title img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#column-title .mv-title h1, #column-detail-title .mv-title h1 {
  color: #fff;
  font-size: 2.25rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#column-list .section-title {
  border-bottom: none;
}
#column-list .wrap .case__list {
  padding-top: 3.125rem;
}
#column-list .paging {
  display: flex;
  align-items: center;
  gap: 2rem;
  justify-content: center;
  font-size: 1.6rem;
  margin: 4rem auto;
}
#column-list .paging a {
  color: #000;
  font-weight: 700;
  text-decoration: none;
}
#column-list .case__item .case__meta {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* ← 2行にしたいなら 2 */
  overflow: hidden;
  text-overflow: ellipsis;
}

#column-detail {
  max-width: 1000px;
  margin: 0 auto;
}
#column-detail p {
  font-size: 1.6rem;
}
#column-detail figure {
  margin: 2rem auto;
}
#column-detail figure img {
  margin: auto;
  width: 100%;
}
#column-detail ul {
  display: flex;
  align-items: center;
  gap: 1rem;
}
#column-detail ul li {
  display: flex;
  align-items: center;
}
#column-detail .inner {
  margin: 0 auto;
}
#column-detail .inner .section-title {
  border-bottom: none;
}
#column-detail .inner .section-title .span-wrapper {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
#column-detail .inner .section-title .span-wrapper p {
  border-radius: 0.375rem;
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.4rem;
  font-weight: 700;
  white-space: nowrap;
}
#column-detail .inner .section-title .span-wrapper p span {
  width: 1rem;
  height: 1rem;
  background: url("../img/column/icon_tag.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#column-detail .inner .section-title .span-wrapper p:first-of-type {
  background: #F3F4F6;
  padding: 0.5rem 0.5rem;
}
#column-detail .inner .section-title .span-wrapper p:first-of-type span {
  width: 1rem;
  height: 1rem;
  background: url("../img/column/icon_time.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#column-detail .inner .section-title .span-wrapper p:nth-of-type(2) span {
  width: 1rem;
  height: 1rem;
  background: url("../img/column/icon_date.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#column-detail .inner .section-title .span-wrapper p:nth-of-type(3) span {
  width: 1rem;
  height: 1rem;
  background: url("../img/column/icon_writer.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#column-detail .inner .section-title .span-wrapper p:last-of-type span {
  width: 1rem;
  height: 1rem;
  background: url("../img/column/icon_time.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#column-detail .inner .section-title h1 {
  font-size: 3rem;
  font-weight: 700;
}
#column-detail .inner .section-title .desc {
  display: flex;
  gap: 3rem;
  justify-content: center;
  margin: 2rem auto;
}
@media (max-width: 880px) {
  #column-detail .inner .section-title .desc {
    flex-direction: column;
  }
}
#column-detail .inner .section-title .desc p {
  border: 1px solid #E5E7EB;
  border-radius: 16px;
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.06);
  padding: 3.25rem;
}
#column-detail .inner .section-title .sns li {
  font-size: 1.5rem;
}
#column-detail .inner .section-title .sns li a {
  width: 2rem;
  height: 2rem;
  background: url("../img/notice/icon_share.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#column-detail .inner .wrap article {
  margin: 5rem auto;
}
#column-detail .inner .wrap article h2 {
  color: #1D3F70;
  font-size: 1.875rem;
  font-weight: 700;
  margin: 2rem 0;
  position: relative;
  text-align: initial;
}
#column-detail .inner .wrap article h2::after {
  width: 100%;
  height: 3px;
  background: #1D3F70;
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
}
#column-detail .inner .wrap article h3 {
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 1rem 0;
}
#column-detail .inner .wrap article h3 span {
  width: 3rem;
  height: 3rem;
  background: #1D3F70;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px 0 0;
}
#column-detail .inner .wrap article h4 {
  margin-bottom: 1rem;
}
#column-detail .inner .wrap article p {
  margin: 0 0 1.8em;
}
#column-detail .inner .wrap article .repeat {
  background: #F9FAFB;
  border-radius: 16px;
  padding: 2rem;
  margin: 3rem 0;
}
#column-detail .inner .wrap article .repeat h3 {
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
}
#column-detail .inner .wrap article .repeat h3 span {
  width: 3rem;
  height: 3rem;
  background: #1D3F70;
  border-radius: 50%;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px 0 0;
}

#column-cta {
  background: #E8F6FF;
  padding: 4.5rem 5rem;
}
@media (max-width: 880px) {
  #column-cta {
    padding: 3.5rem 0 4rem;
  }
}
#column-cta > .inner {
  width: 800px;
  background: #fff;
  border-radius: 16px;
  margin: 0 auto;
  padding: 3rem;
  text-align: center;
}
@media (max-width: 880px) {
  #column-cta > .inner {
    width: 80%;
    padding: 2rem 1.5rem;
  }
}
#column-cta > .inner > h2 {
  margin-top: 0.5rem;
  font-size: 2.25rem;
  font-weight: 700;
}
@media (max-width: 880px) {
  #column-cta > .inner > h2 {
    font-size: 2rem;
  }
}
#column-cta > .inner p {
  font-size: 2rem;
}
#column-cta > .inner .wrap {
  margin-top: 2rem;
}
#column-cta > .inner .wrap article figure {
  width: 100%;
}
#column-cta > .inner .wrap article figure img {
  width: 100%;
  aspect-ratio: 484/242;
  border-radius: 0.625rem;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
#column-cta > .inner .wrap article .wrapper {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  justify-content: center;
  padding: 2rem 0;
}
@media (max-width: 880px) {
  #column-cta > .inner .wrap article .wrapper {
    flex-direction: column;
  }
}
#column-cta > .inner .wrap article .wrapper a {
  width: 100%;
  background: #3B82F6;
  border-radius: 8px;
  border-radius: 16px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
  padding: 1.375rem 2rem;
  text-decoration: none;
}
#column-cta > .inner .wrap article .wrapper a span {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/common/cta/icon_tel.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  margin-top: 3px;
}
#column-cta > .inner .wrap article .wrapper a:last-of-type {
  background: #fff;
  border: 1px solid #3B82F6;
  color: #3B82F6;
}
#column-cta > .inner .wrap article .wrapper a:last-of-type span {
  background-image: url("../img/column/icon_mail.png");
}

#column-writer > .inner {
  width: 800px;
  background: #F9FAFB;
  border-radius: 16px;
  margin: 5rem auto;
  padding: 1.5rem;
  text-align: center;
}
@media (max-width: 880px) {
  #column-writer > .inner {
    width: 80%;
    padding: 2rem 1.5rem;
  }
}
#column-writer > .inner > h2 {
  margin-top: 0.5rem;
  font-size: 1.875rem;
  font-weight: 700;
}
#column-writer > .inner .wrap {
  margin-top: 2rem;
}
#column-writer > .inner .wrap article {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media (max-width: 880px) {
  #column-writer > .inner .wrap article {
    flex-direction: column;
  }
}
#column-writer > .inner .wrap article figure img {
  width: 10rem;
  height: 10rem;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
#column-writer > .inner .wrap article .wrapper {
  width: calc(100% - 12rem);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: center;
}
@media (max-width: 880px) {
  #column-writer > .inner .wrap article .wrapper {
    width: 100%;
  }
}
#column-writer > .inner .wrap article .wrapper h3 {
  margin-top: 0.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: initial;
}
#column-writer > .inner .wrap article .wrapper h3 span {
  color: #1D3F70;
  display: block;
}
#column-writer > .inner .wrap article .wrapper p {
  font-size: 2rem;
  font-weight: 400;
  text-align: initial;
}
#column-writer > .inner .wrap article .wrapper ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}
#column-writer > .inner .wrap article .wrapper ul li {
  border-radius: 9999px;
  color: #1D3F70;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  justify-content: center;
  font-size: 2rem;
  padding: 0.625rem 1rem;
}
#column-writer > .inner .wrap article .wrapper ul .qualified {
  background: #DBEAFE;
}
#column-writer > .inner .wrap article .wrapper ul .qualified span {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/column/icon_qualified.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}
#column-writer > .inner .wrap article .wrapper ul .rating {
  background: #DCFCE7;
}
#column-writer > .inner .wrap article .wrapper ul .rating span {
  width: 1.5rem;
  height: 1.5rem;
  background-image: url("../img/column/icon_rating.png");
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
}

#column-related {
  background: #F9FAFB;
}
#column-related .section-title {
  border-bottom: none;
  text-align: center;
}
#column-related .wrap > div:first-of-type {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 880px) {
  #column-related .wrap > div:first-of-type {
    grid-template-columns: 1fr;
  }
}

#declutter-top > .inner {
  position: relative;
  z-index: 1;
  width: 90%;
  margin: 0 auto;
  text-align: center;
}
#declutter-top > .inner > h3 {
  margin-top: 2.25rem;
}

#declutter-reason .wrap ul {
  margin-top: 3.125rem;
}
#declutter-reason .wrap ul li {
  border-radius: 10px;
  gap: 5%;
  padding: 4.375% 5% 3%;
}
#declutter-reason .wrap ul li .reason-body {
  padding: 0;
}
#declutter-reason .wrap ul li .reason-body h3 {
  display: flex;
  align-items: center;
  padding: 0 0 0 6rem;
  position: relative;
}
#declutter-reason .wrap ul li .reason-body h3::before {
  width: 40px;
  height: 2px;
  background: #1D3F70;
  content: "";
  margin-left: 10px;
  transform: rotate(-60deg);
}
@media (max-width: 880px) {
  #declutter-reason .wrap ul li .reason-body h3::before {
    width: 25px;
    margin-left: 0;
  }
}
#declutter-reason .wrap ul li .reason-body h3::after {
  content: none;
}
#declutter-reason .wrap ul li .reason-body h3 .reason-label {
  position: absolute;
  left: 0;
  width: 6.5625rem;
  height: 6.5625rem;
  background: #1D3F70;
  color: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: "Oswald", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  z-index: 3;
}
@media (max-width: 880px) {
  #declutter-reason .wrap ul li .reason-body h3 .reason-label {
    width: 5rem;
    height: 5rem;
  }
}
#declutter-reason .wrap ul li .reason-body h3 .reason-label strong {
  font-size: 2rem;
}
@media (max-width: 880px) {
  #declutter-reason .wrap ul li .reason-body h3 .reason-label strong {
    font-size: 1.625rem;
  }
}
#declutter-reason .wrap ul li .reason-body p {
  padding: 2rem 0 0 6rem;
}
@media (max-width: 880px) {
  #declutter-reason .wrap ul li .reason-body p {
    padding: 2rem 0 0;
  }
}
#declutter-reason .wrap ul li .reason-image::before {
  content: none;
}

#declutter-flow, #declutter-check {
  background: #F9FAFB;
}
#declutter-flow .wrap, #declutter-check .wrap {
  padding-top: 3.125rem;
}
#declutter-flow .wrap div, #declutter-check .wrap div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 0.9375rem;
       column-gap: 0.9375rem;
  row-gap: 5rem;
  margin: 5rem 0;
}
@media (max-width: 880px) {
  #declutter-flow .wrap div, #declutter-check .wrap div {
    grid-template-columns: 1fr;
    gap: 5rem;
  }
}
#declutter-flow .wrap div article, #declutter-check .wrap div article {
  border: 1px solid #32A4ED;
  border-radius: 1rem;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  padding: 1.5625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  margin: 0 0 5rem;
}
#declutter-flow .wrap div article figure, #declutter-check .wrap div article figure {
  width: 4rem;
  margin-top: -5rem;
}
#declutter-flow .wrap div article figure:last-of-type, #declutter-check .wrap div article figure:last-of-type {
  width: 8rem;
}
#declutter-flow .wrap div article h3, #declutter-check .wrap div article h3 {
  color: #00278A;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1rem 0;
}
#declutter-flow .wrap div article p, #declutter-check .wrap div article p {
  color: #000;
  font-size: 1.6rem;
  margin-top: 1rem;
}

#declutter-case .wrap {
  margin: 3.125rem auto 0;
}

#declutter-point .wrap ul {
  padding-top: 6.25rem;
}

#declutter-buy .wrap ul {
  padding-top: 3.125rem;
}

#declutter-voice {
  /* 2カラム → SPで1カラム */
  /* 1件分のカード */
}
#declutter-voice .voice__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.75rem;
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #declutter-voice .voice__list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 1.25rem;
  }
}
#declutter-voice .voice__item {
  background-color: #E8F6FF;
  padding: 1.875rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  /* 上部の画像 */
  /* テキストブロック */
  /* タイトル（h3） */
  /* 本文（最初の p） */
  /* お客様名 + 受付月（最後の p） */
}
@media (max-width: 880px) {
  #declutter-voice .voice__item {
    padding: 1.5rem 1.25rem;
  }
}
#declutter-voice .voice__item > figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 448/418;
  overflow: hidden;
}
#declutter-voice .voice__item > figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#declutter-voice .voice__item > div {
  display: flex;
  flex-direction: column;
  margin-top: 1.875rem;
}
#declutter-voice .voice__item > div > h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #003366;
  line-height: 1.5;
  margin: 0;
}
#declutter-voice .voice__item > div > p:first-of-type {
  margin-top: 1.25rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #333;
}
#declutter-voice .voice__item > div > p:last-of-type {
  margin-top: 1.25rem;
  font-size: 1.4rem;
  color: #333;
  text-align: right;
}

#declutter-check .section-title {
  width: 90%;
  border-bottom: none;
  margin-inline: auto;
  text-align: center;
}
#declutter-check .section-title h2 {
  font-size: 2.25rem;
  font-weight: 700;
}
#declutter-check .section-title p {
  font-size: 1.4rem;
  font-weight: 400;
}
#declutter-check .section-title p strong {
  font-weight: 700;
}
#declutter-check .wrap div {
  margin: 0;
}
@media (max-width: 880px) {
  #declutter-check .wrap div {
    gap: 2rem;
  }
}
#declutter-check .wrap div article {
  border: none;
}
#declutter-check .wrap div article figure {
  margin-top: 0;
}
#declutter-check .wrap div article figure:last-of-type {
  width: 100%;
}
#declutter-check .wrap div article figure img {
  width: 100%;
}
#declutter-check ul {
  width: 90%;
  border: 1px solid #E5E7EB;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2rem 8.75rem;
  margin: 3.75rem auto 0;
}
@media (max-width: 880px) {
  #declutter-check ul {
    padding: 2rem 3rem;
  }
}
#declutter-check ul li {
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  font-size: 1.4rem;
}
#declutter-check ul li:first-of-type {
  font-size: 1.5rem;
  font-weight: 700;
}
#declutter-check ul li a {
  background: #f60;
  border-radius: 12px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: center;
  font-size: 2rem;
  padding: 1rem 1.5rem;
  text-decoration: none;
}
#declutter-check ul li a img {
  width: 1.75rem;
  height: 1.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

#declutter-faq .wrap ul {
  padding-top: 3.125rem;
}

#declutter-cta {
  background-image: url("../img/audio/cta_bg_audio.jpg");
}
#declutter-cta > .inner p {
  text-align: center;
}
#declutter-cta > .inner > ul {
  width: 500px;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 3rem;
  margin: 3.125rem auto 0;
}
@media (max-width: 880px) {
  #declutter-cta > .inner > ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-direction: column;
  }
}
#declutter-cta > .inner > ul > li {
  /* WEB / LINE の色切り替え */
}
#declutter-cta > .inner > ul > li[data-type=mail] > a {
  background: #fff;
}
#declutter-cta > .inner > ul > li > a {
  border-radius: 12px;
}
#declutter-cta > .inner > ul > li:last-of-type a {
  color: #1D3F70;
}
#declutter-cta > .inner > ul > li:last-of-type a img {
  margin: 2px 0 0;
}

#bulk-top > .inner {
  position: relative;
  z-index: 1;
  width: 90%;
  margin: 0 auto;
  text-align: center;
}
#bulk-top > .inner > h3 {
  margin-top: 2.25rem;
}
#bulk-top > .inner .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  list-style: none;
  padding: 0;
  margin-top: 3.125rem;
  /* カード本体 */
  /* 色バリエーション（data-type） */
  /* 本文ブロック */
  /* アイコン＋タイトル行 */
  /* サブ見出し */
  /* テキスト */
  /* ボタン */
}
@media (max-width: 880px) {
  #bulk-top > .inner .list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
#bulk-top > .inner .list > .buy-item {
  border-radius: 1.25rem;
  overflow: hidden;
  background-color: #fff;
  display: flex;
  flex-direction: column;
}
#bulk-top > .inner .list > .buy-item[data-type=takuhai] {
  border: 3px solid #45B943;
}
#bulk-top > .inner .list > .buy-item[data-type=shuccho] {
  border: 3px solid #3079E6;
}
#bulk-top > .inner .list > .buy-item[data-type=store] {
  border: 3px solid #E68B30;
}
#bulk-top > .inner .list > .buy-item > div {
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
}
@media (max-width: 880px) {
  #bulk-top > .inner .list > .buy-item > div {
    padding: 1.25rem 1rem;
  }
}
#bulk-top > .inner .list .head {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  justify-content: center;
  margin-top: 1.875rem;
  padding-bottom: 1.875rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
#bulk-top > .inner .list .head span {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
  display: flex;
  align-items: center;
  justify-content: center;
}
#bulk-top > .inner .list .head span img {
  width: 1.5rem;
  height: 1.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
#bulk-top > .inner .list .head h3 {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3;
  color: #1b1f3b;
}
@media (max-width: 880px) {
  #bulk-top > .inner .list .head h3 {
    font-size: 1.5rem;
  }
}
#bulk-top > .inner .list h4 {
  color: #1b1f3b;
  margin-top: 1.25rem;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
}
@media (max-width: 880px) {
  #bulk-top > .inner .list h4 {
    font-size: 1.4rem;
  }
}
#bulk-top > .inner .list p {
  color: #1b1f3b;
  margin-top: 1.25rem;
  font-size: 1.6rem;
  line-height: 1.9;
}
#bulk-top > .inner .list .btn-wrap {
  margin-top: 1.5625rem;
  text-align: center;
}
#bulk-top > .inner .list .btn-wrap .c-btn {
  width: 100%;
}

#bulk-scene ul {
  list-style: none;
  margin: 3rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media (max-width: 880px) {
  #bulk-scene ul {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
#bulk-scene ul li {
  border-radius: 0.9375rem;
  overflow: hidden;
  padding-bottom: 2.5rem;
  /* ▼ 背景色バリエーション（class 不要） */
}
#bulk-scene ul li[data-color=org] {
  background: #FFE7D6;
}
#bulk-scene ul li[data-color=org] p.lead::before, #bulk-scene ul li[data-color=org] p.lead::after {
  background-color: #f97316;
}
#bulk-scene ul li[data-color=blue] {
  background: #E4F3FF;
}
#bulk-scene ul li[data-color=blue] p.lead::before, #bulk-scene ul li[data-color=blue] p.lead::after {
  background-color: #1f3d97;
}
#bulk-scene ul li[data-color=green] {
  background: #E5F6E8;
}
#bulk-scene ul li[data-color=green] p.lead::before, #bulk-scene ul li[data-color=green] p.lead::after {
  background-color: #0b9748;
}
#bulk-scene ul li[data-color=red] {
  background: #FFE5E5;
}
#bulk-scene ul li[data-color=red] p.lead::before, #bulk-scene ul li[data-color=red] p.lead::after {
  background-color: #f0484a;
}
#bulk-scene ul li figure {
  margin: 0;
}
#bulk-scene ul li figure img {
  width: 100%;
  aspect-ratio: 525/256;
  -o-object-fit: cover;
     object-fit: cover;
}
#bulk-scene ul li h3 {
  margin: 2rem 0 0;
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
}
#bulk-scene ul li p.lead {
  margin: 1.25rem 1.25rem 0;
  padding: 1.5rem 1rem;
  text-align: center;
  background: #fff;
  border-radius: 0.25rem;
  line-height: 1.8;
  position: relative;
}
#bulk-scene ul li p.lead span {
  font-weight: 700;
}
#bulk-scene ul li p.lead::before, #bulk-scene ul li p.lead::after {
  content: "";
  width: 95%;
  height: 1px;
  background: #E67F3B;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
#bulk-scene ul li p.lead::before {
  top: 10px;
}
#bulk-scene ul li p.lead::after {
  bottom: 10px;
}
#bulk-scene h4 {
  font-size: 2rem;
  font-weight: 700;
  margin: 4rem auto;
  text-align: center;
}

#bulk-reason .wrap ul {
  margin-top: 3.125rem;
}
#bulk-reason .wrap ul li {
  border-radius: 10px;
  gap: 5%;
  padding: 4.375% 5% 3%;
}
#bulk-reason .wrap ul li .reason-body {
  padding: 0;
}
#bulk-reason .wrap ul li .reason-body h3 {
  display: flex;
  align-items: center;
  padding: 0 0 0 6rem;
  position: relative;
}
#bulk-reason .wrap ul li .reason-body h3::before {
  width: 40px;
  height: 2px;
  background: #1D3F70;
  content: "";
  margin-left: 10px;
  transform: rotate(-60deg);
}
@media (max-width: 880px) {
  #bulk-reason .wrap ul li .reason-body h3::before {
    width: 25px;
    margin-left: 0;
  }
}
#bulk-reason .wrap ul li .reason-body h3::after {
  content: none;
}
#bulk-reason .wrap ul li .reason-body h3 .reason-label {
  position: absolute;
  left: 0;
  width: 6.5625rem;
  height: 6.5625rem;
  background: #1D3F70;
  color: #fff;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-family: "Oswald", sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  z-index: 3;
}
@media (max-width: 880px) {
  #bulk-reason .wrap ul li .reason-body h3 .reason-label {
    width: 5rem;
    height: 5rem;
  }
}
#bulk-reason .wrap ul li .reason-body h3 .reason-label strong {
  font-size: 2rem;
}
@media (max-width: 880px) {
  #bulk-reason .wrap ul li .reason-body h3 .reason-label strong {
    font-size: 1.625rem;
  }
}
#bulk-reason .wrap ul li .reason-body p {
  padding: 2rem 0 0 6rem;
}
@media (max-width: 880px) {
  #bulk-reason .wrap ul li .reason-body p {
    padding: 2rem 0 0;
  }
}
#bulk-reason .wrap ul li .reason-image::before {
  content: none;
}

#bulk-flow, #bulk-check, #bulk-area {
  background: #F9FAFB;
}
#bulk-flow .wrap, #bulk-check .wrap, #bulk-area .wrap {
  padding-top: 3.125rem;
}
#bulk-flow .wrap div, #bulk-check .wrap div, #bulk-area .wrap div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 0.9375rem;
       column-gap: 0.9375rem;
  row-gap: 5rem;
  margin: 5rem 0;
}
@media (max-width: 880px) {
  #bulk-flow .wrap div, #bulk-check .wrap div, #bulk-area .wrap div {
    grid-template-columns: 1fr;
    gap: 5rem;
  }
}
#bulk-flow .wrap div article, #bulk-check .wrap div article, #bulk-area .wrap div article {
  border: 1px solid #32A4ED;
  border-radius: 1rem;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  padding: 1.5625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  margin: 0 0 5rem;
}
#bulk-flow .wrap div article figure, #bulk-check .wrap div article figure, #bulk-area .wrap div article figure {
  width: 4rem;
  margin-top: -5rem;
}
#bulk-flow .wrap div article figure:last-of-type, #bulk-check .wrap div article figure:last-of-type, #bulk-area .wrap div article figure:last-of-type {
  width: 8rem;
}
#bulk-flow .wrap div article h3, #bulk-check .wrap div article h3, #bulk-area .wrap div article h3 {
  color: #00278A;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1rem 0;
}
#bulk-flow .wrap div article p, #bulk-check .wrap div article p, #bulk-area .wrap div article p {
  color: #000;
  font-size: 1.6rem;
  margin-top: 1rem;
}

#bulk-voice {
  /* 2カラム → SPで1カラム */
  /* 1件分のカード */
}
#bulk-voice .voice__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3.75rem;
  margin-top: 3.125rem;
}
@media (max-width: 880px) {
  #bulk-voice .voice__list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 1.25rem;
  }
}
#bulk-voice .voice__item {
  background-color: #E8F6FF;
  padding: 1.875rem;
  border-radius: 0.5rem;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  /* 上部の画像 */
  /* テキストブロック */
  /* タイトル（h3） */
  /* 本文（最初の p） */
  /* お客様名 + 受付月（最後の p） */
}
@media (max-width: 880px) {
  #bulk-voice .voice__item {
    padding: 1.5rem 1.25rem;
  }
}
#bulk-voice .voice__item > figure {
  margin: 0;
  width: 100%;
  aspect-ratio: 448/418;
  overflow: hidden;
}
#bulk-voice .voice__item > figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
#bulk-voice .voice__item > div {
  display: flex;
  flex-direction: column;
  margin-top: 1.875rem;
}
#bulk-voice .voice__item > div > h3 {
  font-size: 2rem;
  font-weight: 700;
  color: #003366;
  line-height: 1.5;
  margin: 0;
}
#bulk-voice .voice__item > div > p:first-of-type {
  margin-top: 1.25rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #333;
}
#bulk-voice .voice__item > div > p:last-of-type {
  margin-top: 1.25rem;
  font-size: 1.4rem;
  color: #333;
  text-align: right;
}

#bulk-area .section-title {
  width: 90%;
  margin-inline: auto;
}
#bulk-area .wrap div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem;
  justify-content: center;
  margin: 0;
}
@media (max-width: 880px) {
  #bulk-area .wrap div {
    gap: 1.25rem;
  }
}
#bulk-area .wrap div article {
  width: calc((100% - 4rem) / 3);
  height: auto;
  background: #fff;
  border: 1px solid #E5E7EB;
  margin: 0;
}
@media (max-width: 880px) {
  #bulk-area .wrap div article {
    width: 100%;
  }
}

#bulk-check .section-title {
  width: 90%;
  border-bottom: none;
  margin-inline: auto;
  text-align: center;
}
#bulk-check .section-title h2 {
  font-size: 2.25rem;
  font-weight: 700;
}
#bulk-check .section-title p {
  font-size: 1.4rem;
  font-weight: 400;
}
#bulk-check .section-title p strong {
  font-weight: 700;
}
#bulk-check .wrap div {
  margin: 0;
}
@media (max-width: 880px) {
  #bulk-check .wrap div {
    gap: 2rem;
  }
}
#bulk-check .wrap div article {
  border: none;
}
#bulk-check .wrap div article figure {
  margin-top: 0;
}
#bulk-check .wrap div article figure:last-of-type {
  width: 100%;
}
#bulk-check .wrap div article figure img {
  width: 100%;
}
#bulk-check ul {
  width: 90%;
  border: 1px solid #E5E7EB;
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 2rem 8.75rem;
  margin: 3.75rem auto 0;
}
@media (max-width: 880px) {
  #bulk-check ul {
    padding: 2rem 3rem;
  }
}
#bulk-check ul li {
  display: flex;
  align-items: center;
  gap: 1rem;
  justify-content: center;
  font-size: 1.4rem;
}
#bulk-check ul li:first-of-type {
  font-size: 1.5rem;
  font-weight: 700;
}
#bulk-check ul li a {
  background: #f60;
  border-radius: 12px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: center;
  font-size: 2rem;
  padding: 1rem 1.5rem;
  text-decoration: none;
}
#bulk-check ul li a img {
  width: 1.75rem;
  height: 1.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}

#bulk-faq .wrap ul {
  padding-top: 3.125rem;
}

#bulk-cta {
  background-image: url("../img/audio/cta_bg_audio.jpg");
}
#bulk-cta > .inner p {
  text-align: center;
}
#bulk-cta > .inner > ul {
  width: 500px;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 3rem;
  margin: 3.125rem auto 0;
}
@media (max-width: 880px) {
  #bulk-cta > .inner > ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-direction: column;
  }
}
#bulk-cta > .inner > ul > li {
  /* WEB / LINE の色切り替え */
}
#bulk-cta > .inner > ul > li[data-type=mail] > a {
  background: #fff;
}
#bulk-cta > .inner > ul > li > a {
  border-radius: 12px;
}
#bulk-cta > .inner > ul > li:last-of-type a {
  color: #1D3F70;
}
#bulk-cta > .inner > ul > li:last-of-type a img {
  margin: 2px 0 0;
}

.visit-counter-top > .inner {
  position: relative;
  z-index: 1;
  width: 90%;
  margin: 0 auto;
  text-align: center;
}
.visit-counter-top > .inner h2 strong {
  font-size: 2.5rem;
  font-weight: 700;
}
.visit-counter-top > .inner p {
  font-size: 1.5rem;
  text-align: center;
}
.visit-counter-top > .inner p strong {
  font-size: 1.5rem;
  font-weight: 700;
}
.visit-counter-top > .inner .lists {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  list-style: none;
  padding: 0;
  margin-top: 1.25rem;
  /* カード本体 */
  /* 画像 */
  /* 本文ブロック */
  /* ボタン */
}
@media (max-width: 880px) {
  .visit-counter-top > .inner .lists {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.visit-counter-top > .inner .lists > .buy-item {
  border-radius: 1.25rem;
  overflow: hidden;
  background-color: #fff;
  display: flex;
  flex-direction: column;
}
.visit-counter-top > .inner .lists figure {
  margin: 0;
  aspect-ratio: 341/182;
  overflow: hidden;
}
.visit-counter-top > .inner .lists figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.visit-counter-top > .inner .lists > .buy-item {
  padding: 1.25rem;
  color: #1b1f3b;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  font-weight: 700;
}
@media (max-width: 880px) {
  .visit-counter-top > .inner .lists > .buy-item {
    padding: 1.25rem 1rem;
  }
}
.visit-counter-top > .inner .lists > .buy-item h3 {
  font-size: 1.625rem;
  line-height: 1.3;
}
@media (max-width: 880px) {
  .visit-counter-top > .inner .lists > .buy-item h3 {
    font-size: 1.5rem;
  }
}
.visit-counter-top > .inner .lists > .buy-item h4 {
  font-size: 1.4rem;
  line-height: 1.6;
}
@media (max-width: 880px) {
  .visit-counter-top > .inner .lists > .buy-item h4 {
    font-size: 1.4rem;
  }
}
.visit-counter-top > .inner .lists > .buy-item h4 span {
  display: block;
  font-size: 1.6rem;
  margin-top: 1rem;
}
.visit-counter-top > .inner .lists .btn-wrap {
  margin-top: 1.5625rem;
  text-align: center;
}
.visit-counter-top > .inner .lists .btn-wrap .c-btn {
  width: 100%;
}

.visit-counter-check .section-title {
  border-bottom: none;
  text-align: center;
}
.visit-counter-check .wrap div {
  border-radius: 0.75rem;
  padding: 2rem;
}
.visit-counter-check .wrap div[data-color=blue] {
  background: #E8F6FF;
}
.visit-counter-check .wrap div[data-color=org] {
  background: #FFEDD5;
}
.visit-counter-check .wrap div article {
  background: #fff;
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1.5rem 1.25rem;
}
@media (max-width: 880px) {
  .visit-counter-check .wrap div article {
    width: 100%;
  }
}
.visit-counter-check .wrap div article:last-of-type {
  margin-bottom: 0;
}
.visit-counter-check .wrap div article figure img {
  width: 2rem;
  margin: auto;
}
.visit-counter-check .wrap div article h3 {
  width: calc(100% - 3rem);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1rem 0;
}

.visit-counter-point {
  background: #F9FAFB;
}
.visit-counter-point .section-title {
  text-align: center;
}
.visit-counter-point .wrap h3 {
  font-size: 1.625rem;
  font-weight: 700;
  margin: 3.125rem auto;
  text-align: center;
}
.visit-counter-point .wrap div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem;
  justify-content: center;
}
@media (max-width: 880px) {
  .visit-counter-point .wrap div {
    gap: 1.25rem;
  }
}
.visit-counter-point .wrap div article {
  width: calc((100% - 4rem) / 3);
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 0.75rem;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  padding: 1.5625rem;
}
@media (max-width: 880px) {
  .visit-counter-point .wrap div article {
    width: 100%;
  }
}
.visit-counter-point .wrap div article figure {
  width: 4rem;
  margin: auto;
}
.visit-counter-point .wrap div article h3 {
  color: #00278A;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1rem 0;
}
.visit-counter-point .wrap div article p {
  color: #000;
  font-size: 1.6rem;
  margin-top: 1rem;
}

.visit-counter-flow .section-title .big[data-color=white] {
  color: #fff;
}
.visit-counter-flow .wrap ul {
  padding-top: 6.25rem;
}
.visit-counter-flow .wrap ul li .reason-badge[data-color=blue] {
  background: #4fa9ff;
}
.visit-counter-flow .wrap ul li .reason-badge[data-color=org] {
  background: #F97316;
}
.visit-counter-flow .wrap ul li:nth-of-type(even) .reason-badge {
  left: initial;
  right: -2.1875rem;
}

.visit-counter-faq .wrap ul {
  padding-top: 3.125rem;
}

.visit-counter-cta {
  background-image: url("../img/audio/cta_bg_audio.jpg");
}
.visit-counter-cta > .inner p {
  text-align: center;
}
.visit-counter-cta > .inner > ul {
  width: 700px;
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
  row-gap: 3rem;
  margin: 3.125rem auto 0;
}
@media (max-width: 880px) {
  .visit-counter-cta > .inner > ul {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-direction: column;
  }
}
.visit-counter-cta > .inner > ul > li {
  /* WEB / LINE の色切り替え */
}
.visit-counter-cta > .inner > ul > li[data-type=mail] > a {
  background: #fff;
}
.visit-counter-cta > .inner > ul > li > a {
  border-radius: 12px;
}
.visit-counter-cta > .inner > ul > li ul {
  display: flex;
  align-items: center;
  gap: 3rem;
  margin: 0 auto 3.125rem;
}
@media (max-width: 880px) {
  .visit-counter-cta > .inner > ul > li ul {
    flex-direction: column;
  }
}
.visit-counter-cta > .inner > ul > li ul li[data-type=mail] > a {
  background: #fff;
  color: #1D3F70;
}
.visit-counter-cta > .inner > ul > li ul li[data-type=line] > a {
  background: #06c755;
  color: #fff;
}
.visit-counter-cta > .inner > ul > li ul li a {
  border-radius: 12px;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 700;
  padding: 1rem 1.5rem;
  text-decoration: none;
}
.visit-counter-cta > .inner > ul > li ul li a img {
  width: 1.75rem;
  height: 1.75rem;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.visit-counter-cta > .inner .point {
  width: clamp(200px, 90%, 1000px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: auto;
  justify-content: center;
}
@media (max-width: 880px) {
  .visit-counter-cta > .inner .point {
    grid-template-columns: 1fr;
  }
}
.visit-counter-cta > .inner .point article {
  background: #fff;
  border-radius: 0.75rem;
  padding: 1.5625rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.visit-counter-cta > .inner .point article figure {
  width: 4rem;
  margin: auto;
}
.visit-counter-cta > .inner .point article figure:last-of-type {
  width: 8rem;
}
.visit-counter-cta > .inner .point article h3 {
  color: #00278A;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1rem 0;
}
.visit-counter-cta > .inner .point article p {
  color: #000;
  font-size: 1.6rem;
}

.weather-wrap {
  container: inline-size/weather-wrapper;
  /* containerはショートハンド */
  /* container-type: inline-size; */
  /* container-name: weather-wrapper; */
  /* テスト用に、デスクトップ上でリサイズハンドルを取得するために、下記を定義 */
  /* resize: both; */
  /* overflow: hidden; */
}

.weather {
  display: flex;
}

@container weather-wrapper size(max-width: 700px) {
  .weather {
    flex-direction: column;
  }
}
/*--------------------------------------*
 * foundation
 *--------------------------------------*/
/*--------------------------------------*
 * layout
 *--------------------------------------*/
/*--------------------------------------*
 * object
 *--------------------------------------*/
/*-------------------
 * component
 -------------------*/
/*-------------------
 * pages
 -------------------*/
/*-------------------
 * utility
 -------------------*/
/*# sourceMappingURL=style.css.map */