@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



/*
 * 買いとりしんせつ カスタムCSS
 * ブランドカラー
 * グリーン: #016531
 * えんじ: #971f24
 */

:root {
    --color-main: #016531;
    --color-accent: #971f24;

    /* 元CSSの --color-green を使っている箇所用 */
    --color-green: #016531;

    --color-text: #333333;
    --color-text-muted: #5f625d;

    --color-bg: #ffffff;
    --color-section-bg: #f7f4ed;
    --color-panel-bg: rgba(255, 255, 255, 0.92);

    --color-link-hover: #971f24;

    /* LINE公式色はブランドカラーに変えない */
    --color-line: #00ae47;

    --shadow-soft: 0 10px 35px rgba(1, 101, 49, 0.10);
    --shadow-button: 0 4px 10px rgba(1, 101, 49, 0.13);

    --icon-phone: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OCA0OCI+PHBhdGggZD0iTTEzLjMgMjEuNmMzLjEgNS4zIDcuNSA5LjkgMTMgMTMgLjkuNiAyIC41IDIuOC0uM2wyLjktMi45Yy43LS43IDEuNS0uNyAyLjQtLjZsOC4yIDEuM2MxLjIuMiAyLjMgMSAyLjMgMi4zdjguMWMwIDEuMy0xIDIuMy0yLjMgMi4zQzIwLjggNDQuOSAzIDI3LjIgMyA1LjVjMC0xLjMgMS0yLjMgMi4zLTIuM2g4LjFjMS4zIDAgMi4yIDEuMSAyLjMgMi4zbDEuMyA4LjJjLjIuOS4xIDEuNy0uNiAyLjRMMTMuNSAxOWMtLjYuNi0uOCAyLjgtLjIgMy42eiIvPjwvc3ZnPg==");
    --icon-line: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNDggNDgiIHdpZHRoPSI0OHB4IiBoZWlnaHQ9IjQ4cHgiPjxwYXRoIGZpbGw9IiMwMGMzMDAiIGQ9Ik0xMi41LDQyaDIzYzMuNTksMCw2LjUtMi45MSw2LjUtNi41di0yM0M0Miw4LjkxLDM5LjA5LDYsMzUuNSw2aC0yM0M4LjkxLDYsNiw4LjkxLDYsMTIuNXYyM0M2LDM5LjA5LDguOTEsNDIsMTIuNSw0MnoiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMzcuMTEzLDIyLjQxN2MwLTUuODY1LTUuODgtMTAuNjM3LTEzLjEwNy0xMC42MzdzLTEzLjEwOCw0Ljc3Mi0xMy4xMDgsMTAuNjM3YzAsNS4yNTgsNC42NjMsOS42NjIsMTAuOTYyLDEwLjQ5NWMwLjQyNywwLjA5MiwxLjAwOCwwLjI4MiwxLjE1NSwwLjY0NmMwLjEzMiwwLjMzMSwwLjA4NiwwLjg1LDAuMDQyLDEuMTg1YzAsMC0wLjE1MywwLjkyNS0wLjE4NywxLjEyMmMtMC4wNTcsMC4zMzEtMC4yNjMsMS4yOTYsMS4xMzUsMC43MDdjMS4zOTktMC41ODksNy41NDgtNC40NDUsMTAuMjk4LTcuNjExaC0wLjAwMUMzNi4yMDMsMjYuODc5LDM3LjExMywyNC43NjQsMzcuMTEzLDIyLjQxN3ogTTE4Ljg3NSwyNS45MDdoLTIuNjA0Yy0wLjM3OSwwLTAuNjg3LTAuMzA4LTAuNjg3LTAuNjg4VjIwLjAxYzAtMC4zNzksMC4zMDgtMC42ODcsMC42ODctMC42ODdjMC4zNzksMCwwLjY4NywwLjMwOCwwLjY4NywwLjY4N3Y0LjUyMWgxLjkxN2MwLjM3OSwwLDAuNjg3LDAuMzA4LDAuNjg3LDAuNjg3QzE5LjU2MiwyNS41OTgsMTkuMjU0LDI1LjkwNywxOC44NzUsMjUuOTA3eiBNMjEuNTY4LDI1LjIxOWMwLDAuMzc5LTAuMzA4LDAuNjg4LTAuNjg3LDAuNjg4cy0wLjY4Ny0wLjMwOC0wLjY4Ny0wLjY4OFYyMC4wMWMwLTAuMzc5LDAuMzA4LTAuNjg3LDAuNjg3LTAuNjg3czAuNjg3LDAuMzA4LDAuNjg3LDAuNjg3VjI1LjIxOXogTTI3LjgzOCwyNS4yMTljMCwwLjI5Ny0wLjE4OCwwLjU1OS0wLjQ3LDAuNjUyYy0wLjA3MSwwLjAyNC0wLjE0NSwwLjAzNi0wLjIxOCwwLjAzNmMtMC4yMTUsMC0wLjQyLTAuMTAzLTAuNTQ5LTAuMjc1bC0yLjY2OS0zLjYzNXYzLjIyMmMwLDAuMzc5LTAuMzA4LDAuNjg4LTAuNjg4LDAuNjg4Yy0wLjM3OSwwLTAuNjg4LTAuMzA4LTAuNjg4LTAuNjg4VjIwLjAxYzAtMC4yOTYsMC4xODktMC41NTgsMC40Ny0wLjY1MmMwLjA3MS0wLjAyNCwwLjE0NC0wLjAzNSwwLjIxOC0wLjAzNWMwLjIxNCwwLDAuNDIsMC4xMDMsMC41NDksMC4yNzVsMi42NywzLjYzNVYyMC4wMWMwLTAuMzc5LDAuMzA5LTAuNjg3LDAuNjg4LTAuNjg3YzAuMzc5LDAsMC42ODcsMC4zMDgsMC42ODcsMC42ODdWMjUuMjE5eiBNMzIuMDUyLDIxLjkyN2MwLjM3OSwwLDAuNjg4LDAuMzA4LDAuNjg4LDAuNjg4YzAsMC4zNzktMC4zMDgsMC42ODctMC42ODgsMC42ODdoLTEuOTE3djEuMjNoMS45MTdjMC4zNzksMCwwLjY4OCwwLjMwOCwwLjY4OCwwLjY4N2MwLDAuMzc5LTAuMzA5LDAuNjg4LTAuNjg4LDAuNjg4aC0yLjYwNGMtMC4zNzgsMC0wLjY4Ny0wLjMwOC0wLjY4Ny0wLjY4OHYtMi42MDNjMC0wLjAwMSwwLTAuMDAxLDAtMC4wMDFjMCwwLDAtMC4wMDEsMC0wLjAwMXYtMi42MDFjMC0wLjAwMSwwLTAuMDAxLDAtMC4wMDJjMC0wLjM3OSwwLjMwOC0wLjY4NywwLjY4Ny0wLjY4N2gyLjYwNGMwLjM3OSwwLDAuNjg4LDAuMzA4LDAuNjg4LDAuNjg3cy0wLjMwOCwwLjY4Ny0wLjY4OCwwLjY4N2gtMS45MTd2MS4yM0gzMi4wNTJ6Ii8+PC9zdmc+");
    --icon-check: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNTAgNTAiIHdpZHRoPSI1MHB4IiBoZWlnaHQ9IjUwcHgiPjxwYXRoIGQ9Ik0gMjUgMiBDIDEyLjMxNyAyIDIgMTIuMzE3IDIgMjUgQyAyIDM3LjY4MyAxMi4zMTcgNDggMjUgNDggQyAzNy42ODMgNDggNDggMzcuNjgzIDQ4IDI1IEMgNDggMjAuNDQgNDYuNjYwMjgxIDE2LjE4OTMyOCA0NC4zNjMyODEgMTIuNjExMzI4IEwgNDIuOTk0MTQxIDE0LjIyODUxNiBDIDQ0Ljg4OTE0MSAxNy4zODI1MTYgNDYgMjEuMDYgNDYgMjUgQyA0NiAzNi41NzkgMzYuNTc5IDQ2IDI1IDQ2IEMgMTMuNDIxIDQ2IDQgMzYuNTc5IDQgMjUgQyA0IDEzLjQyMSAxMy40MjEgNCAyNSA0IEMgMzAuNDQzIDQgMzUuMzkzOTA2IDYuMDk5NzY1NiAzOS4xMjg5MDYgOS41MDk3NjU2IEwgNDAuNDM3NSA3Ljk2NDg0MzggQyAzNi4zNTI1IDQuMjU5ODQzNyAzMC45MzUgMiAyNSAyIHogTSA0My4yMzYzMjggNy43NTM5MDYyIEwgMjMuOTE0MDYyIDMwLjU1NDY4OCBMIDE1Ljc4MTI1IDIyLjk2ODc1IEwgMTQuNDE3OTY5IDI0LjQzMTY0MSBMIDI0LjA4Mzk4NCAzMy40NDcyNjYgTCA0NC43NjM2NzIgOS4wNDY4NzUgTCA0My4yMzYzMjggNy43NTM5MDYyIHoiLz48L3N2Zz4=");
}

/* ============================================
   全体共通
   ============================================ */

.post_content a {
    transition: color 0.3s, opacity 0.3s;
}

.post_content p {
    margin-bottom: 10px;
    /* font-weight: 500; */
    line-height: 2;
    letter-spacing: 0.03em;
}

.l-content {
    margin-bottom: 0;
    padding-bottom: 6em;
}

.l-content figure {
    margin-bottom: 0;
}

.post_content>* {
    margin-bottom: 0;
}

.w-beforeFooter {
    margin: 0;
}

#before_footer_widget {
    border-top: 1px solid rgba(1, 34, 85, 0.12);
}

/* ============================================
   タイポグラフィ
   ============================================ */

.top-content h2,
.subpage-content h2 {
    margin-bottom: 3em;
    line-height: 1.6;
}

.top-content h3,
.subpage-content h3 {
    font-size: 1.3em;
}

.top-content .ttl-jp,
.subpage-content h2.ttl-jp,
.contact-area .ttl-jp {
    margin-top: 5px;
    color: var(--color-text);
    font-size: 19px;
}

.top-content .ttl-en,
.subpage-content .ttl-en,
.contact-area .ttl-en {
    margin-bottom: 0;
    padding-top: 30px;
    color: var(--color-main);
    font-family: "Montserrat", sans-serif;
    font-size: 3rem;
    font-weight: 600;
    line-height: 1.05;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.top-content .ttl-en::before,
.subpage-content .ttl-en::before {
    position: absolute;
    top: 0;
    display: block;
    width: 35px;
    border-top: 1px solid var(--color-main);
    content: "";
}

.subpage-content .ttl-en-sub {
    margin-bottom: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

/* ============================================
   ボタン共通
   ============================================ */

[class*="is-style-btn_"] a,
.btn-design-01,
.btn-design-02 {
    --the-btn-radius: 6px;
}

.more-btn a {
    padding: 15px;
}

.swell-block-button .swell-block-button__link {
    padding: 1em 2em;
}

.swell-block-button .swell-block-button__link:hover {
    color: #ffffff;
}

.swell-block-button.btn-design-02 a {
    font-weight: bold;
    box-shadow: var(--swl-btn_shadow);
}

.swell-block-button.btn-design-02 a span {
    text-shadow: none;
}

.swell-block-button.btn-design-02 a:hover {
    border: 1px solid;
    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.1),
        0 12px 24px -12px rgba(0, 0, 0, 0.2);
}

/* ============================================
   レイアウト
   ============================================ */

.swell-block-fullWide+.swell-block-fullWide {
    margin-top: 0;
}

.section-block:nth-of-type(2n) {
    background-color: var(--color-section-bg);
}

.top #content {
    padding-top: 0;
}

.top-content {
    padding-top: 8em !important;
}

.blog .l-content,
.single-post .l-content,
.archive .l-content {
    padding-bottom: 5em !important;
}

.top-content h2.is-style-section_ttl,
.sub-content h2.is-style-section_ttl {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 20px;
}

@media screen and (max-width: 767px) {

    .top-content h2.is-style-section_ttl,
    .sub-content h2.is-style-section_ttl {
        font-size: 24px !important;
    }
}

/* ============================================
   ヘッダー
   ============================================ */

.l-header__inner,
.l-fixHeader__inner {
    max-width: 100%;
}

.l-topTitleArea .l-topTitleArea__body h1 {
    padding-top: 24px;
    font-size: 30px;
    text-align: center;
}

.l-topTitleArea .l-topTitleArea__body h1 .c-pageTitle__subTitle {
    margin: auto;
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    opacity: 1;
}

.header-menu-btn span {
    font-size: clamp(12px, 1vw, 16px);
}

.c-gnav {
    padding-top: 20px;
    padding-bottom: 20px;
}

.c-gnav>.menu-item {
    transition: opacity 0.3s;
}

.c-gnav>.menu-item>a {
    padding: 0 12px;
}

.c-gnav>.menu-item>a .ttl {
    display: block;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 1px;
}

.c-gnav a::after {
    height: 1px;
}

#top_title_area .l-topTitleArea__img {
    object-position: center 10%;
}

/* ============================================
   ヘッダー内ボタン
   ============================================ */

.header-btn-wrap .swell-block-button {
    margin-bottom: 2px;
}

.header-btn-wrap .swell-block-button__link {
    padding: 0.5em 1em;
    font-size: 20px;
    font-weight: bold;
}

.header-btn-wrap .header-btn-text {
    font-size: 12px;
}





/* ============================================
   メインビジュアル
   ============================================ */

#main_visual .p-mainVisual__textLayer.l-container {
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

#main_visual .p-blogParts.post_content {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#main_visual .p-blogParts.post_content>* {
    max-width: none !important;
}

/* ============================================
   共通
   ============================================ */

.kaitoriport-mv,
.kaitoriport-mv * {
    box-sizing: border-box;
    text-shadow: none !important;
}

/* ============================================
   メインビジュアル全体
   ============================================ */

.kaitoriport-mv.top-mv-wrap {
    position: relative;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    color: var(--color-main);
    background: #ffffff;
    text-align: left;
}

.kaitoriport-mv.top-mv-wrap>.wp-block-group__inner-container {
    position: relative;
    width: 100%;
    height: 100%;
}

/* ============================================
   メインエリア
   ============================================ */

.kaitoriport-mv .top-mv-main {
    position: absolute;
    z-index: 1;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    overflow: hidden;
    background-color: #ffffff;
    background-image:
        linear-gradient(90deg,
            rgba(255, 255, 255, 0.84) 0%,
            rgba(255, 255, 255, 0.86) 45%,
            rgba(255, 255, 255, 0.92) 63%,
            #ffffff 78%,
            #ffffff 100%),
        url("/wp-content/uploads/2026/08/mv-bg-02.jpg");
    background-repeat: no-repeat;
    background-position: center, 0 center;
    background-size: 100% 100%, auto 100%;
}

.kaitoriport-mv .top-mv-main>.wp-block-group__inner-container {
    position: relative;
    width: 100%;
    height: 100%;
}

/* PC：黄色の斜め背景 */

.kaitoriport-mv .top-mv-main::before {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: var(--color-accent);
    clip-path: polygon(68% 0,
            100% 0,
            100% 100%,
            50% 100%);
    content: "";
    pointer-events: none;
}

/* PC：紺色の斜め背景 */

.kaitoriport-mv .top-mv-main::after {
    position: absolute;
    z-index: 2;
    inset: 0;
    background: var(--color-main);
    clip-path: polygon(100% 28%,
            100% 100%,
            50% 100%,
            54.7% 74%);
    content: "";
    pointer-events: none;
}

/* ============================================
   テキストエリア
   ============================================ */

.kaitoriport-mv .top-mv-content {
    position: absolute;
    z-index: 10;
    top: 0;
    bottom: 74px;
    left: 0;
    width: 58%;
    max-width: none !important;
    height: auto;
    margin: 0 !important;
    padding:
        34px clamp(22px, 2.5vw, 46px) 28px clamp(32px, 5vw, 96px);
}

.kaitoriport-mv .top-mv-content>.wp-block-group__inner-container {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: none !important;
    height: 100%;
    margin: 0 !important;
}

.kaitoriport-mv .top-mv-content>.wp-block-group__inner-container>* {
    width: 100%;
    max-width: none !important;
}

/* 「大阪府内を中心に」 */

.kaitoriport-mv .top-mv-kicker {
    display: block;
    margin: 0 0 8px !important;
    color: var(--color-main);
    font-size: clamp(24px, 1.8vw, 32px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.03em;
    text-align: left;
}

.kaitoriport-mv .top-mv-kicker::before {
    display: none;
    content: none;
}

/* メインタイトル */

.kaitoriport-mv .top-mv-title {
    margin: 0 !important;
    color: var(--color-main);
    font-size: clamp(44px, 3.5vw, 66px) !important;
    font-weight: 800 !important;
    line-height: 1.22 !important;
    letter-spacing: 0.01em;
    text-align: left;
}

/* 店名部分 */

.kaitoriport-mv .top-mv-title-shop {
    display: inline-block;
    margin-top: 8px;
    color: var(--color-green);
    font-size: clamp(28px, 2.2vw, 40px);
    font-weight: 700;
    line-height: 1.4;
    box-shadow: inset 0 -0.15em 0 rgba(252, 198, 14, 0.55);
}

/* 説明文 */

.kaitoriport-mv .top-mv-lead {
    margin: 20px 0 0 !important;
    color: var(--color-main);
    font-size: clamp(14px, 1vw, 17px);
    font-weight: 600 !important;
    line-height: 1.9 !important;
    letter-spacing: 0.01em;
    text-align: left;
}

/* ============================================
   ボタンエリア
   ============================================ */
.kaitoriport-mv .top-mv-buttons {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px !important;
    width: 100%;
    margin-top: 26px !important;
}

.kaitoriport-mv .top-mv-buttons .wp-block-button {
    width: 100%;
    max-width: none;
    margin: 0 !important;
}

/* ボタン共通 */

.kaitoriport-mv .top-mv-button .wp-block-button__link {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 88px;
    padding: 14px 22px !important;
    border-radius: 999px !important;
    box-shadow: var(--shadow-button);
    text-decoration: none !important;
    transition: opacity 0.2s, transform 0.2s;
}

.kaitoriport-mv .top-mv-button .wp-block-button__link:hover {
    opacity: 0.88;
    transform: translateY(-2px);
}

.kaitoriport-mv .top-mv-button-main {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.4;
}

.kaitoriport-mv .top-mv-button-sub {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
}

/* 電話ボタン */

.kaitoriport-mv .top-mv-button-phone .wp-block-button__link {
    color: #ffffff !important;
    background: var(--color-main) !important;
    border: 2px solid var(--color-main);
}

.kaitoriport-mv .top-mv-button-phone .top-mv-button-main::before {
    display: block;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    background-color: currentColor;
    content: "";
    -webkit-mask: var(--icon-phone) center / contain no-repeat;
    mask: var(--icon-phone) center / contain no-repeat;
}

/* LINEボタン */

.kaitoriport-mv .top-mv-button-line .wp-block-button__link {
    color: var(--color-main) !important;
    background: #ffffff !important;
    border: 2px solid var(--color-main);
}

.kaitoriport-mv .top-mv-button-line .top-mv-button-main::before {
    display: block;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    background-image: var(--icon-line);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}

/* ============================================
   人物・商品エリア
   ============================================ */

.kaitoriport-mv .top-mv-visual {
    position: absolute;
    z-index: 3;
    inset: 0;
    width: 100%;
    height: 100%;
    margin: 0 !important;
    overflow: hidden;
    pointer-events: none;
}

.kaitoriport-mv .top-mv-visual>.wp-block-group__inner-container {
    display: contents;
}

/* 人物・商品画像共通 */

.kaitoriport-mv .top-mv-visual figure {
    position: absolute;
    margin: 0 !important;
}

.kaitoriport-mv .top-mv-visual img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
}

/* 男性スタッフ */

.kaitoriport-mv .top-mv-staff {
    z-index: 8;
    top: 12px;
    right: clamp(24px, 3vw, 52px);
    bottom: auto;
    width: clamp(470px, 34vw, 600px);
}

/* 商品画像共通 */

.kaitoriport-mv .top-mv-item {
    z-index: 6;
    padding: 9px;
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(255, 255, 255, 0.9);
    border-radius: 22px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.16);
}

/* 腕時計 */

.kaitoriport-mv .top-mv-item-watch {
    top: 28px;
    right: 25%;
    width: 96px;
    transform: rotate(-6deg);
}

/* 洗濯機 */

.kaitoriport-mv .top-mv-item-washer {
    top: 105px;
    right: 2.5%;
    width: 102px;
    transform: rotate(5deg);
}

/* カメラ */

.kaitoriport-mv .top-mv-item-camera {
    top: 150px;
    right: auto;
    bottom: auto;
    left: 60%;
    width: 96px;
    transform: rotate(-8deg);
}

/* バッグ */

.kaitoriport-mv .top-mv-item-bag {
    bottom: 84px;
    left: 61%;
    width: 94px;
    transform: rotate(5deg);
}

/* ============================================
   下の4項目
   ============================================ */

.kaitoriport-mv .top-mv-points {
    position: absolute;
    z-index: 20;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-width: none !important;
    height: 74px;
    margin: 0 !important;
    padding: 0;
    background: rgba(1, 34, 85, 0.98);
    border-top: 2px solid rgba(252, 198, 14, 0.7);
}

.kaitoriport-mv .top-mv-points>.wp-block-group__inner-container {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0 clamp(24px, 4vw, 76px);
}

.kaitoriport-mv .top-mv-point {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-width: 0;
    height: 100%;
    margin: 0 !important;
    padding: 10px 8px;
    color: #ffffff;
    background: transparent;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.kaitoriport-mv .top-mv-point+.top-mv-point {
    border-left: 1px solid rgba(255, 255, 255, 0.16);
}

.kaitoriport-mv .top-mv-point-icon {
    display: block;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    padding: 0;
    color: transparent;
    background-color: var(--color-accent);
    border: 0;
    border-radius: 0;
    font-size: 0;
    -webkit-mask: var(--icon-check) center / contain no-repeat;
    mask: var(--icon-check) center / contain no-repeat;
}

/* 「不用品の買取・遺品整理なら」を途中で改行しない */

@media screen and (min-width: 768px) {
    .kaitoriport-mv .top-mv-title-main {
        display: inline-block;
        white-space: nowrap;
    }
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (min-width: 768px) and (max-width: 1199px) {

    .kaitoriport-mv .top-mv-content {
        width: 61%;
        padding-right: 24px;
        padding-left: 30px;
    }

    .kaitoriport-mv .top-mv-kicker {
        margin-bottom: 7px !important;
        font-size: clamp(22px, 2.5vw, 28px);
    }

    .kaitoriport-mv .top-mv-title {
        font-size: clamp(40px, 4.4vw, 52px) !important;
    }

    .kaitoriport-mv .top-mv-title-shop {
        margin-top: 7px;
        font-size: clamp(26px, 3vw, 34px);
    }

    .kaitoriport-mv .top-mv-lead {
        font-size: 14px;
    }

    .kaitoriport-mv .top-mv-buttons {
        gap: 12px !important;
    }

    .kaitoriport-mv .top-mv-button .wp-block-button__link {
        min-height: 80px;
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .kaitoriport-mv .top-mv-button-main {
        font-size: 17px;
    }

    .kaitoriport-mv .top-mv-button-sub {
        font-size: 10px;
    }

    .kaitoriport-mv .top-mv-staff {
        right: 0;
        width: clamp(390px, 39vw, 470px);
    }

    .kaitoriport-mv .top-mv-item-watch {
        right: 25%;
        width: 82px;
    }

    .kaitoriport-mv .top-mv-item-washer {
        right: 10px;
        width: 86px;
    }

    .kaitoriport-mv .top-mv-item-camera {
        top: 115px;
        right: auto;
        bottom: auto;
        left: 61%;
        width: 80px;
    }

    .kaitoriport-mv .top-mv-item-bag {
        left: 59%;
        width: 80px;
    }

    .kaitoriport-mv .top-mv-point {
        gap: 8px;
        font-size: 16px;
    }

    .kaitoriport-mv .top-mv-point-icon {
        flex-basis: 25px;
        width: 25px;
        height: 25px;
    }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .kaitoriport-mv .top-mv-item-camera {
        top: 110px;
        left: 64%;
        width: 72px;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {

    /* SWELLのSP高さ720pxをそのまま使用 */

    #main_visual .p-mainVisual__textLayer.l-container,
    #main_visual .p-blogParts.post_content,
    .kaitoriport-mv.top-mv-wrap {
        width: 100% !important;
        height: 100% !important;
    }

    /* テキストと人物エリアを縦に並べる */

    .kaitoriport-mv .top-mv-main>.wp-block-group__inner-container {
        display: flex !important;
        flex-direction: column;
        width: 100%;
        height: 100%;
        min-height: 0;
        padding-bottom: 96px;
    }

    /* PC用の背景をスマホでは消す */

    .kaitoriport-mv .top-mv-main::before,
    .kaitoriport-mv .top-mv-main::after {
        display: none;
    }

    /* ========================================
	   テキストエリア
	   ======================================== */

    .kaitoriport-mv .top-mv-content {
        position: relative;
        z-index: 10;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        flex: 0 0 auto;
        width: 100%;
        height: auto;
        margin: 0 !important;
        padding: 18px 15px 18px;
        overflow: hidden;
        background-image:
            linear-gradient(180deg,
                rgba(255, 255, 255, 0.76) 0%,
                rgba(255, 255, 255, 0.82) 55%,
                rgba(255, 255, 255, 0.92) 100%),
            url("/wp-content/uploads/2026/08/mv-bg-02.jpg");
        background-repeat: no-repeat;
        background-position: center, 48% 88%;
        background-size: 100% 100%, cover;
    }

    .kaitoriport-mv .top-mv-content>.wp-block-group__inner-container {
        justify-content: flex-start;
        height: auto;
    }

    .kaitoriport-mv .top-mv-kicker {
        display: block;
        margin-bottom: 5px !important;
        font-size: 19px;
        line-height: 1.4;
        letter-spacing: 0.02em;
    }

    .kaitoriport-mv .top-mv-kicker::before {
        display: none;
        content: none;
    }

    .kaitoriport-mv .top-mv-title {
        font-size: clamp(22px, 6.2vw, 27px) !important;
        line-height: 1.25 !important;
        letter-spacing: -0.01em;
    }

    .kaitoriport-mv .top-mv-title-shop {
        display: inline-block;
        margin-top: 5px;
        font-size: clamp(19px, 5.8vw, 24px);
        line-height: 1.4;
        box-shadow: inset 0 -0.15em 0 rgba(252, 198, 14, 0.55);
    }

    .kaitoriport-mv .top-mv-lead {
        margin-top: 10px !important;
        font-size: clamp(10.5px, 2.65vw, 12px);
        line-height: 1.65 !important;
        letter-spacing: 0;
    }

    .kaitoriport-mv .top-mv-title,
    .kaitoriport-mv .top-mv-lead {
        word-break: normal;
        overflow-wrap: normal;
        line-break: strict;
    }

    /* ========================================
	   ボタン
	   ======================================== */

    .kaitoriport-mv .top-mv-buttons {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 8px !important;
        width: 100%;
        margin-top: 13px !important;
    }

    .kaitoriport-mv .top-mv-buttons .wp-block-button {
        width: 100%;
        max-width: none;
        margin: 0 !important;
    }

    .kaitoriport-mv .top-mv-button .wp-block-button__link {
        min-height: 58px;
        padding: 8px 14px !important;
    }

    .kaitoriport-mv .top-mv-button-main {
        font-size: 16px;
    }

    .kaitoriport-mv .top-mv-button-sub {
        margin-top: 1px;
        font-size: 10px;
    }

    .kaitoriport-mv .top-mv-button-phone .top-mv-button-main::before {
        flex-basis: 18px;
        width: 18px;
        height: 18px;
    }

    .kaitoriport-mv .top-mv-button-line .top-mv-button-main::before {
        flex-basis: 28px;
        width: 28px;
        height: 28px;
    }

    /* ========================================
	   スマホの人物エリア
	   ======================================== */

    .kaitoriport-mv .top-mv-visual {
        position: relative;
        z-index: 3;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        flex: 1 1 auto;
        width: 100%;
        height: auto;
        min-height: 220px;
        margin: -10px 0 0 !important;
        overflow: hidden;
        background: #ffffff;
    }

    /* 黄色背景
	   左側が太く、右側が細い斜め形状 */

    .kaitoriport-mv .top-mv-visual::before {
        position: absolute;
        z-index: 1;
        inset: 0;
        background: var(--color-accent);
        clip-path: polygon(0 3%,
                100% 0,
                100% 100%,
                0 100%);
        content: "";
    }

    /* 紺色背景 */

    .kaitoriport-mv .top-mv-visual::after {
        position: absolute;
        z-index: 2;
        inset: 0;
        background: var(--color-main);
        clip-path: polygon(0 70%,
                100% 34%,
                100% 100%,
                0 100%);
        content: "";
    }

    /* 男性スタッフ */

    .kaitoriport-mv .top-mv-staff {
        top: 6px;
        right: auto;
        bottom: auto;
        left: 47%;
        width: min(68vw, 235px);
        transform: translateX(-50%);
    }

    /* 商品画像共通 */

    .kaitoriport-mv .top-mv-item {
        display: block;
        padding: 6px;
        border-radius: 16px;
    }

    /* カメラ：左上 */

    .kaitoriport-mv .top-mv-item-camera {
        display: block;
        z-index: 7;
        top: 22px;
        right: auto;
        bottom: auto;
        left: 10px;
        width: 70px;
        transform: rotate(-7deg);
    }

    /* 腕時計：右上 */

    .kaitoriport-mv .top-mv-item-watch {
        display: block;
        z-index: 7;
        top: 16px;
        right: 10px;
        bottom: auto;
        left: auto;
        width: 66px;
        transform: rotate(5deg);
    }

    /* 洗濯機：左下 */

    .kaitoriport-mv .top-mv-item-washer {
        display: block;
        z-index: 9;
        top: auto;
        right: auto;
        bottom: 30px;
        left: 10px;
        width: 72px;
        transform: rotate(-6deg);
    }

    /* バッグ：右下 */

    .kaitoriport-mv .top-mv-item-bag {
        display: block;
        z-index: 9;
        top: auto;
        right: 10px;
        bottom: 25px;
        left: auto;
        width: 70px;
        transform: rotate(6deg);
    }

    /* ========================================
	   下の4項目
	   ======================================== */

    .kaitoriport-mv .top-mv-points {
        height: 96px;
        border-top-width: 2px;
    }

    .kaitoriport-mv .top-mv-points>.wp-block-group__inner-container {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 0 4px;
    }

    .kaitoriport-mv .top-mv-point {
        gap: 6px;
        height: 48px;
        padding: 6px 3px;
        border-left: 0 !important;
        font-size: 14px;
        font-weight: 800;
        letter-spacing: 0;
    }

    .kaitoriport-mv .top-mv-point:nth-child(odd) {
        border-right: 1px solid rgba(255, 255, 255, 0.16);
    }

    .kaitoriport-mv .top-mv-point:nth-child(-n + 2) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    }

    .kaitoriport-mv .top-mv-point-icon {
        flex-basis: 22px;
        width: 22px;
        height: 22px;
    }
}


/* ============================================
   ブロックエディター表示用
   ============================================ */

.editor-styles-wrapper .kaitoriport-mv.top-mv-wrap {
    height: 720px !important;
    min-height: 720px !important;
}

/* ============================================
   TOPお問い合わせボタンのプルプルアニメーション
   ============================================ */

.kaitoriport-mv .top-mv-button-phone,
.kaitoriport-mv .top-mv-button-line {
    animation: top-mv-button-shake 3s ease-in-out infinite;
}

/* 約3秒ごとに左右へ小さく揺れる */

@keyframes top-mv-button-shake {

    0%,
    28%,
    100% {
        transform: translateX(0);
    }

    4% {
        transform: translateX(-3px);
    }

    8% {
        transform: translateX(3px);
    }

    12% {
        transform: translateX(-3px);
    }

    16% {
        transform: translateX(3px);
    }

    20% {
        transform: translateX(-2px);
    }

    24% {
        transform: translateX(2px);
    }
}

/* 動きを減らす設定を使用している端末では停止 */

@media (prefers-reduced-motion: reduce) {

    .kaitoriport-mv .top-mv-button-phone,
    .kaitoriport-mv .top-mv-button-line {
        animation: none;
    }
}





/* ============================================
   下層ページタイトルの説明文
   ============================================ */

.page-title-description {
    max-width: 760px;
    margin: 14px auto 0;
    color: inherit;
    font-size: 15px;
    line-height: 1.8;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .page-title-description {
        max-width: calc(100% - 40px);
        margin-top: 10px;
        font-size: 13px;
        line-height: 1.7;
    }
}


/* ============================================
   トップページ セクション間の余白を解除
   ============================================ */

.post_content>.section-block.top-content {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* 空の段落ブロックが残った場合も非表示 */
.post_content>p:empty {
    display: none !important;
    margin: 0 !important;
}


/* ============================================
   共通セクション英語見出し
   ============================================ */

.top-content .section-eyebrow,
.sub-content .section-eyebrow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: fit-content;
    margin: 0 auto 18px !important;
    color: #559b29;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.section-eyebrow::before,
.section-eyebrow::after {
    content: "";
    display: block;
    width: 44px;
    height: 2px;
    background: #fac306;
    border-radius: 999px;
}

@media screen and (max-width: 767px) {
    .section-eyebrow {
        gap: 10px;
        margin-bottom: 14px !important;
        font-size: 11px;
        letter-spacing: 0.15em;
    }

    .section-eyebrow::before,
    .section-eyebrow::after {
        width: 28px;
    }
}


/* ============================================
   英語小見出し・左寄せ
   ============================================ */

.section-eyebrow.section-eyebrow-left {
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    gap: 12px;
    width: fit-content;
    margin: 0 0 14px !important;
    text-align: left !important;
}

.section-eyebrow.section-eyebrow-left::before {
    display: block !important;
    flex: 0 0 auto;
    width: 44px;
    height: 2px;
    margin: 0 !important;
    background: var(--color-accent);
    content: "";
}

.section-eyebrow.section-eyebrow-left::after {
    display: none !important;
}


/* ============================================
   英語小見出し・スマホ
   ============================================ */

@media screen and (max-width: 767px) {
    .section-eyebrow.section-eyebrow-left {
        justify-content: center !important;
        gap: 10px;
        width: 100%;
        margin: 0 auto 10px !important;
        text-align: center !important;
    }

    .section-eyebrow.section-eyebrow-left::before,
    .section-eyebrow.section-eyebrow-left::after {
        display: block !important;
        flex: 0 0 auto;
        width: 30px;
        height: 2px;
        margin: 0 !important;
        background: var(--color-accent);
        content: "";
    }
}

/* ============================================
   見出し内の黄色マーカー
   ============================================ */

.title-marker {
    position: relative;
    z-index: 0;
    display: inline-block;
}

.title-marker::after {
    content: "";
    position: absolute;
    left: -3px;
    right: -3px;
    bottom: .14em;
    height: .36em;
    background: rgba(250, 195, 6, .62);
    z-index: -1;
    border-radius: 2px;
    transform: rotate(-1deg);
}

/* ============================================
   お困りごと
   ============================================ */

.top-trouble .swell-block-fullWide__inner {
    max-width: 1120px;
}

/* セクション見出し */

.top-trouble .trouble-title {
    margin-bottom: 0 !important;
    color: var(--color-main);
    text-align: center;
}

/* 見出し下の説明文 */

.top-trouble .trouble-lead {
    margin: 12px 0 0 !important;
    line-height: 1.8;
}

/* カード一覧 */

.top-trouble .trouble-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 40px;
}

.top-trouble .trouble-grid>.wp-block-group__inner-container {
    display: contents;
}

/* 各カード */
.top-trouble .trouble-grid .trouble-card {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 22px;
    min-width: 0;
    min-height: 190px;
    margin: 0 !important;
    padding: 20px 24px 20px 18px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 18px;
    box-shadow: 0 5px 18px rgba(1, 34, 85, 0.07);
}


/* 左側の画像 */

.top-trouble .trouble-card-image {
    flex: 0 0 150px;
    width: 150px;
    margin: 0 !important;
}

.top-trouble .trouble-card-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    border-radius: 12px;
}

/* 右側のテキスト部分 */

.top-trouble .trouble-card-body {
    flex: 1 1 auto;
    min-width: 0;
}

.top-trouble .trouble-card-body>* {
    max-width: none !important;
}

/* カードのメイン見出し */

.top-trouble .trouble-card-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1.55;
}

.top-trouble .trouble-card-title::before,
.top-trouble .trouble-card-title::after {
    display: none !important;
}

/* カードの説明文 */

.top-trouble .trouble-card-text {
    margin: 10px 0 0 !important;
    line-height: 1.75;
}

.top-trouble .trouble-summary {
    margin: 36px 0 0 !important;
    color: var(--color-main);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.8;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .top-trouble .trouble-lead {
        margin-top: 8px !important;
        font-size: 14px;
    }

    .top-trouble .trouble-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 28px;
    }

    .top-trouble .trouble-grid .trouble-card {
        gap: 14px;
        min-height: 150px;
        padding: 16px 14px;
        border-radius: 14px;
    }

    .top-trouble .trouble-card-image {
        flex-basis: 105px;
        width: 105px;
    }

    .top-trouble .trouble-card-image img {
        border-radius: 10px;
    }

    .top-trouble .trouble-card-title {
        font-size: 16px !important;
        line-height: 1.5;
    }

    .top-trouble .trouble-card-text {
        margin-top: 7px !important;
        font-size: 12px;
        line-height: 1.65;
    }

    .top-trouble .trouble-summary {
        margin-top: 24px !important;
        font-size: 16px;
        line-height: 1.7;
    }
}



/* ============================================
   買取サービス
   ============================================ */

.top-service .swell-block-fullWide__inner {
    max-width: 1200px;
}

.top-service .section-eyebrow {
    justify-content: flex-start;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* 左側説明＋右側カード */

.top-service .service-layout {
    display: grid !important;
    grid-template-columns: 290px minmax(0, 1fr);
    align-items: center;
    gap: 36px;
}

.top-service .service-layout>.wp-block-group__inner-container {
    display: contents;
}

/* 左側 */

.top-service .service-intro {
    min-width: 0;
    margin: 0 !important;
}

.top-service .service-intro>.wp-block-group__inner-container {
    display: contents;
}

/* セクション見出し */

.top-service .service-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 28px !important;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    white-space: nowrap;
}

.top-service .service-title::before,
.top-service .service-title::after {
    display: none !important;
}

/* 見出し下の説明文 */

.top-service .service-lead {
    margin: 18px 0 0 !important;
    line-height: 1.9;
    text-align: left;
}

/* ボタン */

.top-service .service-button {
    margin-top: 26px;
    text-align: left;
}

.top-service .service-button .swell-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
    padding-right: 20px;
    padding-left: 20px;
    white-space: nowrap;
}

.top-service .service-button .swell-block-button__link span {
    white-space: nowrap;
    word-break: keep-all;
}

/* カード一覧 */

.top-service .service-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
    min-width: 0;
    margin: 0 !important;
}

.top-service .service-grid>.wp-block-group__inner-container {
    display: contents;
}

/* 下段の追加サービス */

.top-service .service-business {
    margin-top: 16px !important;
}

/* 下段2枚を上段と同じ幅で中央寄せ */

.top-service .service-business-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.top-service .service-business-grid .service-card:first-child {
    grid-column: 2 / span 2;
}

.top-service .service-business-grid .service-card:last-child {
    grid-column: 4 / span 2;
}

/* 各カード */

.top-service .service-card {
    display: flex !important;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    margin: 0 !important;
    overflow: hidden;
    box-sizing: border-box;
    background-color: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 16px;
    box-shadow: 0 7px 22px rgba(1, 34, 85, 0.08);
}

.top-service .service-card>.wp-block-group__inner-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

/* カード上部の画像 */

.top-service .service-card-image {
    width: 100%;
    margin: 0 !important;
    overflow: hidden;
    background-color: #eef0f3;
}

.top-service .service-card-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
}

/* カード下部 */

.top-service .service-card-content {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 138px;
    margin: 0 !important;
    padding: 30px 18px 20px;
    box-sizing: border-box;
    background-color: #ffffff;
}

.top-service .service-card-content>.wp-block-group__inner-container {
    display: contents;
}

.top-service .service-card-content>* {
    max-width: none !important;
}

/* カード見出し */

.top-service .service-card-title {
    position: static;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-green);
    background: none !important;
    border: 0 !important;
    font-size: 23px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

/* 紺色の丸 */

.top-service .service-card-title::before {
    position: absolute;
    top: -23px;
    left: 18px;
    display: block !important;
    width: 46px;
    height: 46px;
    background: var(--color-main) !important;
    background-image: none !important;
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 5px 14px rgba(1, 34, 85, 0.22);
    content: "";
    opacity: 1;
    filter: none;
    -webkit-mask: none !important;
    mask: none !important;
}

/* 白いSVGアイコン */

.top-service .service-card-title::after {
    position: absolute;
    top: -11px;
    left: 30px;
    display: block !important;
    width: 22px;
    height: 22px;
    background-color: #ffffff;
    content: "";
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

/* 出張買取アイコン */

.top-service .service-card-title-visit::after {
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEwIDE3aDRWNUgydjEyaDMiLz48cGF0aCBkPSJNMTQgOWg0bDQgNHY0aC0zIi8+PGNpcmNsZSBjeD0iNy41IiBjeT0iMTcuNSIgcj0iMi41Ii8+PGNpcmNsZSBjeD0iMTYuNSIgY3k9IjE3LjUiIHI9IjIuNSIvPjwvc3ZnPg==");
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTEwIDE3aDRWNUgydjEyaDMiLz48cGF0aCBkPSJNMTQgOWg0bDQgNHY0aC0zIi8+PGNpcmNsZSBjeD0iNy41IiBjeT0iMTcuNSIgcj0iMi41Ii8+PGNpcmNsZSBjeD0iMTYuNSIgY3k9IjE3LjUiIHI9IjIuNSIvPjwvc3ZnPg==");
}

/* 店頭買取アイコン */

.top-service .service-card-title-store::after {
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTBoMTgiLz48cGF0aCBkPSJNNSAxMHY5aDE0di05Ii8+PHBhdGggZD0iTTQgNGgxNmwyIDZIMnoiLz48cGF0aCBkPSJNOSAxNGg2djUiLz48cGF0aCBkPSJNMiAxMGEyIDIgMCAwIDAgNCAwIDIgMiAwIDAgMCA0IDAgMiAyIDAgMCAwIDQgMCAyIDIgMCAwIDAgNCAwIDIgMiAwIDAgMCA0IDAiLz48L3N2Zz4=");
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTMgMTBoMTgiLz48cGF0aCBkPSJNNSAxMHY5aDE0di05Ii8+PHBhdGggZD0iTTQgNGgxNmwyIDZIMnoiLz48cGF0aCBkPSJNOSAxNGg2djUiLz48cGF0aCBkPSJNMiAxMGEyIDIgMCAwIDAgNCAwIDIgMiAwIDAgMCA0IDAgMiAyIDAgMCAwIDQgMCAyIDIgMCAwIDAgNCAwIDIgMiAwIDAgMCA0IDAiLz48L3N2Zz4=");
}

/* 遺品整理アイコン */

.top-service .service-card-title-ihin::after {
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CjxwYXRoIGQ9Ik00IDloMTZ2MTFINHoiLz4KPHBhdGggZD0iTTMgNWgxOHY0SDN6Ii8+CjxwYXRoIGQ9Ik05IDEzLjJjMC0xLjMgMS42LTIgMy0wLjYgMS40LTEuNCAzLTAuNyAzIDAuNiAwIDEuOC0zIDMuNi0zIDMuNnMtMy0xLjgtMy0zLjZ6Ii8+Cjwvc3ZnPg==");
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CjxwYXRoIGQ9Ik00IDloMTZ2MTFINHoiLz4KPHBhdGggZD0iTTMgNWgxOHY0SDN6Ii8+CjxwYXRoIGQ9Ik05IDEzLjJjMC0xLjMgMS42LTIgMy0wLjYgMS40LTEuNCAzLTAuNyAzIDAuNiAwIDEuOC0zIDMuNi0zIDMuNnMtMy0xLjgtMy0zLjZ6Ii8+Cjwvc3ZnPg==");
}

/* オフィス移転アイコン */

.top-service .service-card-title-office::after {
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMjFWNGgxMXYxNyIvPjxwYXRoIGQ9Ik0xNSA4aDV2MTMiLz48cGF0aCBkPSJNOCA4aDNNOCAxMmgzTTggMTZoMyIvPjxwYXRoIGQ9Ik0xNy41IDEyaDFNMTcuNSAxNmgxIi8+PHBhdGggZD0iTTIgMjFoMjAiLz48L3N2Zz4=");
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMjFWNGgxMXYxNyIvPjxwYXRoIGQ9Ik0xNSA4aDV2MTMiLz48cGF0aCBkPSJNOCA4aDNNOCAxMmgzTTggMTZoMyIvPjxwYXRoIGQ9Ik0xNy41IDEyaDFNMTcuNSAxNmgxIi8+PHBhdGggZD0iTTIgMjFoMjAiLz48L3N2Zz4=");
}

/* 店舗移転アイコン */

.top-service .service-card-title-shop::after {
    -webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMTB2MTBoMTZWMTAiLz48cGF0aCBkPSJNMyA1aDE4bDEgNUgyeiIvPjxwYXRoIGQ9Ik02IDEwYTIgMiAwIDAgMCA0IDAgMiAyIDAgMCAwIDQgMCAyIDIgMCAwIDAgNCAwIi8+PHBhdGggZD0iTTkgMTRoNnY2SDl6Ii8+PC9zdmc+");
    mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTQgMTB2MTBoMTZWMTAiLz48cGF0aCBkPSJNMyA1aDE4bDEgNUgyeiIvPjxwYXRoIGQ9Ik02IDEwYTIgMiAwIDAgMCA0IDAgMiAyIDAgMCAwIDQgMCAyIDIgMCAwIDAgNCAwIi8+PHBhdGggZD0iTTkgMTRoNnY2SDl6Ii8+PC9zdmc+");
}

/* カード説明文 */

.top-service .service-card-text {
    margin: 10px 0 0 !important;
    font-size: 15px;
    line-height: 1.75;
}

/* サービスカードの補足ラベル */

.top-service .service-card-note {
    display: inline-block;
    width: fit-content;
    margin: 16px 0 0 !important;
    padding: 6px 14px;
    color: var(--color-main);
    background: rgba(250, 195, 6, 0.34);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .top-service .service-layout {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .top-service .service-intro {
        max-width: 680px;
        margin-right: auto !important;
        margin-left: auto !important;
        text-align: center;
    }

    .top-service .service-eyebrow,
    .top-service .service-title,
    .top-service .service-lead {
        text-align: center;
    }

    .top-service .service-button {
        text-align: center;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {
    .top-service .service-layout {
        gap: 28px;
    }

    .top-service .service-title {
        font-size: 28px;
    }

    .top-service .service-lead {
        margin-top: 12px !important;
        line-height: 1.8;
    }

    .top-service .service-button {
        margin-top: 22px;
    }

    .top-service .service-button .swell-block-button__link {
        width: 100%;
        min-width: 0;
    }

    .top-service .service-grid,
    .top-service .service-business-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .top-service .service-business {
        margin-top: 18px !important;
    }

    .top-service .service-business-grid .service-card:first-child,
    .top-service .service-business-grid .service-card:last-child {
        grid-column: auto;
    }

    .top-service .service-card {
        width: 100%;
        max-width: 520px;
        margin-right: auto !important;
        margin-left: auto !important;
        border-radius: 14px;
    }

    .top-service .service-card-image img {
        aspect-ratio: 16 / 9;
    }

    .top-service .service-card-content {
        min-height: auto;
        padding: 28px 16px 18px;
    }

    .top-service .service-card-title {
        font-size: 18px !important;
    }

    .top-service .service-card-title::before {
        top: -20px;
        left: 16px;
        width: 40px;
        height: 40px;
    }

    .top-service .service-card-title::after {
        top: -10px;
        left: 26px;
        width: 20px;
        height: 20px;
    }

    .top-service .service-card-text {
        margin-top: 8px !important;
        font-size: 15px;
        line-height: 1.7;
    }

    .top-service .service-card-note {
        margin-top: 12px !important;
        padding: 5px 11px;
        font-size: 12px;
    }
}


/* ============================================
   選ばれる理由
   ============================================ */

.top-reason {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: linear-gradient(135deg, #022358 0%, #011b45 100%) !important;
}

/* 背景の方眼模様 */

.top-reason::before {
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px);
    background-size: 34px 34px;
    content: "";
}

/* 背景の大きな英語文字 */

.top-reason::after {
    position: absolute;
    z-index: 0;
    top: 6px;
    left: 50%;
    pointer-events: none;
    color: rgba(255, 255, 255, 0.035);
    font-size: clamp(110px, 13vw, 190px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.07em;
    white-space: nowrap;
    content: "REASON";
    transform: translateX(-50%);
}

/* 中身を背景装飾より手前へ */

.top-reason .swell-block-fullWide__inner {
    position: relative;
    z-index: 1;
}

/* 英語見出し */

.top-reason .section-eyebrow {
    color: #fac306;
}

.top-reason .section-eyebrow::before,
.top-reason .section-eyebrow::after {
    background: rgba(255, 255, 255, 0.7);
}

/* 日本語見出し */

.top-reason .reason-title {
    margin-bottom: 0 !important;
    color: #ffffff;
    font-size: 34px !important;
    line-height: 1.5;
    text-align: center;
}

/* 黄色マーカーを濃紺背景用に少し強める */

.top-reason .reason-title .title-marker::after {
    background: rgba(250, 195, 6, 0.82);
}

/* 見出し下の説明 */

.top-reason .reason-lead {
    margin: 18px 0 0 !important;
    color: #fff;
    font-size: 16px;
    line-height: 1.8;
    text-align: center;
}

.top-reason .reason-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.top-reason .reason-grid>.wp-block-group__inner-container {
    display: contents;
}

.top-reason .reason-card {
    min-width: 0;
    height: 100%;
    margin: 0 !important;
    padding: 34px 32px 30px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.08);
    border-radius: 18px;
    box-shadow: 0 6px 20px rgba(1, 34, 85, 0.06);
}

.top-reason .reason-card-head {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 22px;
    margin-bottom: 22px;
}

.top-reason .reason-card-icon {
    flex: 0 0 90px;
    width: 90px;
    margin: 0 !important;
}

.top-reason .reason-card-icon img {
    display: block;
    width: 100%;
    height: auto;
}

.top-reason .reason-card-head-text {
    flex: 1 1 auto;
    min-width: 0;
}

.top-reason .reason-card-head-text>* {
    max-width: none !important;
}

.top-reason .reason-card-number {
    margin: 0 0 12px !important;
    color: var(--color-green);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.top-reason .reason-card-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.45;
}

.top-reason .reason-card-title::before,
.top-reason .reason-card-title::after {
    display: none !important;
}

.top-reason .reason-card-text {
    margin: 0 !important;
    line-height: 1.8;
}

.top-reason .reason-card-text::before {
    display: block;
    width: 38px;
    height: 2px;
    margin: 0 0 16px;
    background: var(--color-accent);
    content: "";
}

@media screen and (max-width: 767px) {
    .top-reason::after {
        top: 28px;
        font-size: 74px;
    }

    .top-reason .reason-title {
        font-size: 26px !important;
    }

    .top-reason .reason-lead {
        margin-top: 12px !important;
        font-size: 14px;
    }

    .top-reason .reason-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 28px;
    }

    .top-reason .reason-card {
        padding: 24px 18px 22px;
        border-radius: 14px;
    }

    .top-reason .reason-card-head {
        gap: 14px;
        margin-bottom: 16px;
    }

    .top-reason .reason-card-icon {
        flex-basis: 72px;
        width: 72px;
    }

    .top-reason .reason-card-number {
        margin-bottom: 8px !important;
        font-size: 13px;
    }

    .top-reason .reason-card-title {
        font-size: 17px !important;
        line-height: 1.5;
    }

    .top-reason .reason-card-text {
        font-size: 14px;
        line-height: 1.75;
    }

    .top-reason .reason-card-text::before {
        width: 28px;
        margin-bottom: 12px;
    }
}

/* ============================================
   選ばれる理由 下CTA
   ============================================ */

.reason-cta {
    position: relative;
    overflow: hidden;
    padding: 0 !important;
}

/* 右上の丸装飾は表示しない */
.reason-cta::before,
.reason-cta::after {
    display: none !important;
}

/* CTA全体を1200px内に中央配置 */
.reason-cta>.swell-block-fullWide__inner {
    width: min(1200px, calc(100% - 48px));
    max-width: 1200px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 42px 0 !important;
}

/* WordPressが作る余分なラッパーを無効化 */
.reason-cta-inner>.wp-block-group__inner-container {
    display: contents;
}

/* 左の文章と右のボタンを横並び */
.reason-cta-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 50px;
    width: 100%;
    margin: 0 !important;
}

/* 左側 */

.reason-cta-content {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
}

.reason-cta-content>.wp-block-group__inner-container {
    display: block;
}

.reason-cta-content>*,
.reason-cta-content>.wp-block-group__inner-container>* {
    max-width: none !important;
}

.reason-cta .reason-cta-label {
    display: inline-block;
    width: fit-content;
    margin: 0 0 8px !important;
    padding: 6px 14px;
    color: #ffffff;
    background: var(--color-main);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
}

.reason-cta .reason-cta-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 28px !important;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
}

.reason-cta .reason-cta-title::before,
.reason-cta .reason-cta-title::after {
    display: none !important;
}

.reason-cta .reason-cta-text {
    margin: 6px 0 0 !important;
    font-size: 15px;
    line-height: 1.7;
}

/* 右側のボタン */

.reason-cta-actions {
    display: flex !important;
    flex: 0 0 auto;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 14px;
    margin: 0 !important;
}

.reason-cta-actions>.wp-block-group__inner-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 14px;
}

/* SWELLボタン本体 */

.reason-cta-button {
    margin: 0 !important;
}

.reason-cta-button .swell-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 164px;
    min-height: 56px;
    padding: 12px 22px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 7px 16px rgba(1, 34, 85, 0.14);
}

/* LINEボタン */

.reason-cta-line .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-line) !important;
}

/* お問い合わせボタン */

.reason-cta-contact .swell-block-button__link {
    color: var(--color-main) !important;
    background: #ffffff !important;
}

/* スマホ */

@media screen and (max-width: 767px) {
    .reason-cta>.swell-block-fullWide__inner {
        width: calc(100% - 36px);
        padding: 30px 0 !important;
    }

    .reason-cta-inner {
        display: block !important;
    }

    .reason-cta-content {
        text-align: center;
    }

    .reason-cta .reason-cta-label {
        margin-right: auto !important;
        margin-left: auto !important;
        font-size: 12px;
    }

    .reason-cta .reason-cta-title {
        font-size: 22px !important;
        text-align: center;
    }

    .reason-cta .reason-cta-text {
        font-size: 14px;
    }

    .reason-cta-actions,
    .reason-cta-actions>.wp-block-group__inner-container {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 22px !important;
    }

    .reason-cta-button,
    .reason-cta-button .swell-block-button__link {
        width: 100%;
    }

    .reason-cta-button .swell-block-button__link {
        min-width: 0;
        min-height: 52px;
    }
}


/* ============================================
   買取品目
   ============================================ */

.top-items {
    background-color: var(--color-section-bg) !important;
}

.top-items .items-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    text-align: center;
}

.top-items .items-title::before,
.top-items .items-title::after {
    display: none !important;
}

.top-items .items-lead {
    max-width: 840px;
    margin: 14px auto 0 !important;
    line-height: 1.9;
}

.top-items .items-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 40px 0 0 !important;
    padding-bottom: 50px;
}

.top-items .items-grid>.wp-block-group__inner-container {
    display: contents;
}

.top-items .items-card {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0;
    min-width: 0;
    min-height: 174px;
    margin: 0 !important;
    padding: 18px 14px 14px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 14px;
    box-shadow: 0 7px 18px rgba(1, 34, 85, 0.05);
    cursor: default;
}

.top-items .items-card>.wp-block-group__inner-container {
    display: contents;
}

.top-items .items-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 100%;
    height: 108px;
    margin: 0 0 10px !important;
}

.top-items .items-card-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain;
}

.top-items .items-card-text {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 42px;
    margin: 0 !important;
    color: var(--color-main);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    word-break: keep-all;
    overflow-wrap: anywhere;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .top-items .items-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .top-items .items-card {
        min-height: 166px;
    }

    .top-items .items-card-image {
        height: 100px;
    }

    .top-items .items-card-text {
        font-size: 15px;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {
    .top-items .items-lead {
        margin-top: 10px !important;
        font-size: 14px;
        line-height: 1.8;
        text-align: left !important;
    }

    .top-items .items-lead br {
        display: none;
    }

    .top-items .items-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
        margin-top: 28px !important;
    }

    .top-items .items-card {
        min-height: 142px;
        padding: 13px 8px 10px;
        border-radius: 12px;
    }

    .top-items .items-card-image {
        height: 82px;
        margin-bottom: 7px !important;
    }

    .top-items .items-card-text {
        min-height: 40px;
        font-size: 13px;
        line-height: 1.4;
    }
}


/* ============================================
   トップページ 対応エリア
   ============================================ */

/* 左右レイアウト */

.top-area .area-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 470px;
    gap: 58px;
    align-items: center;
    margin: 0 !important;
}

.top-area .area-layout>.wp-block-group__inner-container {
    display: contents;
}

/* ============================================
   左側
   ============================================ */

.top-area .area-content {
    min-width: 0;
    margin: 0 !important;
}

.top-area .area-content>.wp-block-group__inner-container {
    display: block;
}

.top-area .area-content>*,
.top-area .area-content>.wp-block-group__inner-container>* {
    max-width: none !important;
}

/* 日本語見出し */

.top-area .area-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    text-align: left;
}

.top-area .area-title::before,
.top-area .area-title::after {
    display: none !important;
}

/* 説明文 */

.top-area .area-text {
    margin: 20px 0 0 !important;
    line-height: 1.9;
}

/* エリア一覧 */

.top-area .area-tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px;
    margin: 24px 0 0 !important;
}

.top-area .area-tags>.wp-block-group__inner-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px;
}

.top-area .area-tag {
    width: fit-content;
    margin: 0 !important;
    padding: 7px 14px;
    color: var(--color-main);
    background: rgba(250, 195, 6, 0.27);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
}

/* 注意書き */

.top-area .area-note {
    margin: 24px 0 0 !important;
    color: #68758a;
    font-size: 13px;
    line-height: 1.8;
}

/* ============================================
   右側の地図
   ============================================ */

.top-area .area-map-card {
    min-width: 0;
    margin: 0 !important;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 20px;
    overflow: hidden;
}

.top-area .area-map-card>.wp-block-group__inner-container {
    display: block;
}

.top-area .area-map-image {
    margin: 0 !important;
    line-height: 0;
}

.top-area .area-map-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 20px;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .top-area .area-layout {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .top-area .area-map-card {
        width: 100%;
        max-width: 620px;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {
    .top-area .area-layout {
        gap: 30px;
    }

    .top-area .area-title {
        text-align: center;
    }

    .top-area .area-title br {
        display: none;
    }

    .top-area .area-text {
        margin-top: 14px !important;
        font-size: 14px;
        line-height: 1.85;
    }

    .top-area .area-tags,
    .top-area .area-tags>.wp-block-group__inner-container {
        gap: 8px;
    }

    .top-area .area-tag {
        padding: 6px 11px;
        font-size: 12px;
    }

    .top-area .area-note {
        margin-top: 20px !important;
        font-size: 12px;
    }

    .top-area .area-map-card,
    .top-area .area-map-image img {
        border-radius: 14px;
    }
}



/* ============================================
   買取までの流れ
   ============================================ */

.top-flow {
    position: relative;
    overflow: hidden;
}

/* 背景の薄い英語文字 */

.top-flow::before {
    position: absolute;
    z-index: 0;
    top: 54px;
    left: 50%;
    color: rgba(1, 34, 85, 0.035);
    font-size: clamp(110px, 14vw, 180px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.08em;
    white-space: nowrap;
    content: "FLOW";
    transform: translateX(-50%);
    pointer-events: none;
}

/* 中身を背景文字より手前へ */

.top-flow .swell-block-fullWide__inner {
    position: relative;
    z-index: 1;
}

/* 見出し */

.top-flow .flow-title {
    margin-bottom: 0 !important;
    color: var(--color-main);
    text-align: center;
}

/* 見出し下の説明文 */

.top-flow .flow-lead {
    margin: 12px 0 0 !important;
    line-height: 1.8;
    text-align: center;
}

.top-flow .flow-layout {
    position: relative;
    display: block !important;
    width: 100%;
    max-width: 1200px;
    margin: 40px auto 0;
}

.top-flow .flow-main {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 620px;
    margin: 0 auto !important;
}

.top-flow .flow-timeline {
    position: relative;
    width: 100%;
}

.top-flow .flow-step {
    position: relative;
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    width: 100%;
    gap: 22px;
    margin: 0 !important;
    padding: 0 0 28px;
    box-sizing: border-box;
}

/* 1〜6番のみ、次の数字まで縦線をつなぐ */

.top-flow .flow-step:not(:last-child)::after {
    position: absolute;
    top: 48px;
    bottom: 0;
    left: 23px;
    width: 2px;
    background: var(--color-accent);
    content: "";
}

.top-flow .flow-step:last-child {
    padding-bottom: 0;
}

.top-flow .flow-step-num {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0 !important;
    background: var(--color-accent);
    border-radius: 50%;
    color: var(--color-main);
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.top-flow .flow-step-body {
    flex: 1 1 auto;
    min-width: 0;
    padding-top: 4px;
}

.top-flow .flow-step-body>* {
    max-width: none !important;
}

.top-flow .flow-step-title {
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.top-flow .flow-step-title::before,
.top-flow .flow-step-title::after {
    display: none !important;
}

.top-flow .flow-step-text {
    margin: 0 !important;
    line-height: 1.8;
}

.top-flow .flow-illust {
    position: absolute;
    z-index: 1;
    margin: 0 !important;
}

.top-flow .flow-illust img {
    display: block;
    width: 100%;
    height: auto;
}

/* 左イラスト */

.top-flow .flow-illust-left {
    top: 0;
    left: 20px;
    width: 220px;
}

/* 右イラスト */

.top-flow .flow-illust-right {
    right: 10px;
    bottom: 10px;
    width: 220px;
}

@media screen and (max-width: 1100px) {
    .top-flow .flow-main {
        max-width: 580px;
    }

    .top-flow .flow-illust-left {
        top: 100px;
        left: 0;
        width: 190px;
    }

    .top-flow .flow-illust-right {
        right: 0;
        bottom: 0;
        width: 210px;
    }
}

@media screen and (max-width: 959px) {
    .top-flow::before {
        top: 58px;
        font-size: 110px;
    }

    .top-flow .flow-layout {
        max-width: 680px;
        margin-top: 32px;
    }

    .top-flow .flow-lead {
        margin-top: 8px !important;
        font-size: 14px;
    }

    .top-flow .flow-main {
        max-width: 680px;
    }

    .top-flow .flow-illust {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    .top-flow::before {
        top: 62px;
        font-size: 76px;
    }

    .top-flow .flow-layout {
        margin-top: 28px;
    }

    .top-flow .flow-step {
        gap: 14px;
        padding-bottom: 22px;
    }

    .top-flow .flow-step:not(:last-child)::after {
        top: 38px;
        bottom: 0;
        left: 18px;
    }

    .top-flow .flow-step-num {
        flex-basis: 38px;
        width: 38px;
        height: 38px;
        font-size: 18px;
    }

    .top-flow .flow-step-body {
        padding-top: 1px;
    }

    .top-flow .flow-step-title {
        margin-bottom: 4px !important;
        font-size: 18px;
    }

    .top-flow .flow-step-text {
        line-height: 1.7;
    }
}



/* ============================================
   買取事例一覧
   ============================================ */

.case-archive {
    background-color: #f7f8fa;
}

.case-archive-section {
    padding: 72px 24px 80px;
}

.case-archive-inner {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.case-archive-header {
    margin-bottom: 44px;
    text-align: center;
}

.case-archive-title {
    position: relative;
    margin: 0;
    padding-bottom: 22px;
    color: var(--color-main);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.4;
}

.case-archive-title::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 56px;
    height: 4px;
    background-color: var(--color-accent);
    border-radius: 999px;
    content: "";
    transform: translateX(-50%);
}

.case-archive-lead {
    margin: 22px 0 0;
    line-height: 1.9;
    text-align: center;
}

.case-archive-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 28px;
}

.case-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    margin: 0 !important;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.08);
    border-radius: 18px;
    box-shadow: 0 8px 28px rgba(1, 34, 85, 0.09);
}

.case-card-image-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #eef0f3;
    border-bottom: 4px solid var(--color-accent);
    aspect-ratio: 4 / 3;
}

.case-card-image-button {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    appearance: none;
    background: none;
    border: 0;
    border-radius: 0;
    cursor: zoom-in;
}

.case-card-image-button:focus-visible {
    outline: 3px solid var(--color-accent);
    outline-offset: -3px;
}

.case-card-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.case-card-image-button:hover .case-card-image {
    transform: scale(1.035);
}

/* 複数画像の枚数表示 */
.case-card-image-count {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 5px 11px;
    background-color: rgba(1, 34, 85, 0.88);
    border-radius: 999px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    pointer-events: none;
}

.case-card-image-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: var(--color-text-muted);
    font-size: 14px;
    letter-spacing: 0.08em;
}

.case-card-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 22px 24px 26px;
}

.case-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.case-card-category {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 88px;
    min-height: 30px;
    padding: 4px 14px;
    background-color: var(--color-green);
    border-radius: 999px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
}

.case-card-area {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    font-size: 15px;
    line-height: 1.5;
    white-space: nowrap;
}

.case-card-area-icon {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    fill: var(--color-main);
}

.case-card-title {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.55;
}

.case-card-title::before,
.case-card-title::after {
    display: none !important;
}

/* 参考買取価格 */
.case-card-price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin: 0 0 16px;
    padding: 14px 0;
    border-top: 1px solid rgba(1, 34, 85, 0.18);
    border-bottom: 1px solid rgba(1, 34, 85, 0.18);
}

.case-card-price-label {
    color: var(--color-main);
    font-weight: 700;
    line-height: 1.5;
}

.case-card-price-value {
    color: #ef4b2f;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

/* 買取方法・商品の状態 */
.case-card-details {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
}

.case-card-detail {
    display: flex;
    align-items: baseline;
    gap: 2px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 14px;
}

.case-card-detail dt {
    flex: 0 0 auto;
    margin: 0;
    color: var(--color-main);
    font-weight: 700;
    line-height: 1.7;
}

.case-card-detail dt::after {
    content: "：";
}

.case-card-detail dd {
    min-width: 0;
    margin: 0;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

/* 査定・対応内容 */
.case-card-comment {
    margin-bottom: 18px;
}

.case-card-comment-label {
    position: relative;
    margin: 0 0 8px !important;
    padding-left: 14px;
    color: var(--color-main);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.case-card-comment-label::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 4px;
    height: 16px;
    background-color: var(--color-accent);
    border-radius: 999px;
    content: "";
    transform: translateY(-50%);
}

.case-card-comment-text {
    font-size: 15px;
    line-height: 1.85;
}

.case-card-comment-text> :first-child {
    margin-top: 0 !important;
}

.case-card-comment-text> :last-child {
    margin-bottom: 0 !important;
}

/* 買取日 */
.case-card-date {
    margin: auto 0 0 !important;
    padding-top: 18px;
    color: #888888;
    font-size: 13px;
    line-height: 1.5;
    text-align: right;
}

/* 投稿がない場合 */
.case-archive-empty {
    margin: 0;
    padding: 60px 24px;
    background-color: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.08);
    border-radius: 16px;
    text-align: center;
}

/* ページネーション */
.case-archive-pagination {
    margin-top: 48px;
}

.case-archive-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.case-archive-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 6px 12px;
    background-color: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.16);
    border-radius: 8px;
    color: var(--color-main);
    text-decoration: none;
}

.case-archive-pagination a.page-numbers:hover {
    background-color: rgba(1, 34, 85, 0.08);
}

.case-archive-pagination .page-numbers.current {
    background-color: var(--color-main);
    border-color: var(--color-main);
    color: #ffffff;
    font-weight: 700;
}

/* ============================================
   買取事例画像モーダル
   ============================================ */

.case-lightbox {
    position: fixed;
    z-index: 999999;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 70px 24px 30px;
    background-color: rgba(0, 0, 0, 0.8);
}

.case-lightbox[aria-hidden="false"] {
    display: flex;
}

.case-lightbox[hidden] {
    display: none !important;
}

.case-lightbox-inner {
    position: relative;
    z-index: 1000000;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 100%;
    max-width: 1040px;
    max-height: calc(100vh - 110px);
}

.case-lightbox-media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
}

.case-lightbox-image {
    display: block;
    width: auto;
    max-width: min(82vw, 900px);
    height: auto;
    max-height: 78vh;
    object-fit: contain;
    background-color: #ffffff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

/* 前へ・次へボタン */
.case-lightbox-nav {
    position: absolute;
    top: 50%;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin: 0;
    padding: 0 0 5px;
    appearance: none;
    background-color: rgba(0, 0, 0, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 50%;
    color: #ffffff;
    font-size: 46px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

.case-lightbox-prev {
    left: 8px;
}

.case-lightbox-next {
    right: 8px;
}

.case-lightbox-nav:hover {
    background-color: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-main);
}

.case-lightbox-nav:focus-visible,
.case-lightbox-close:focus-visible {
    outline: 3px solid var(--color-accent);
    outline-offset: 3px;
}

.case-lightbox-nav[hidden] {
    display: none !important;
}

/* 画像枚数 */
.case-lightbox-counter {
    margin: 14px 0 0 !important;
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.case-lightbox-counter[hidden] {
    display: none !important;
}

/* ×ボタン */
.case-lightbox-close {
    position: fixed;
    top: 18px;
    right: 22px;
    z-index: 1000001;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    appearance: none;
    background: none;
    border: 0;
    color: #ffffff;
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

.case-lightbox-close:hover {
    color: var(--color-accent);
}

/* 背景スクロールを停止 */
body.case-lightbox-open {
    overflow: hidden;
}

/* モーダル表示中はSWELLの固定ヘッダーを隠す */
body.case-lightbox-open header,
body.case-lightbox-open #fix_header,
body.case-lightbox-open .l-fixHeader {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .case-archive-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {
    .case-archive-section {
        padding: 48px 0 56px;
    }

    .case-archive-header {
        margin-bottom: 30px;
    }

    .case-archive-title {
        padding-bottom: 18px;
        font-size: 28px;
    }

    .case-archive-title::after {
        width: 44px;
        height: 3px;
    }

    .case-archive-lead {
        margin-top: 18px;
        line-height: 1.8;
    }

    .case-archive-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .case-card {
        border-radius: 14px;
    }

    .case-card-content {
        padding: 18px 18px 22px;
    }

    .case-card-meta {
        gap: 10px;
        margin-bottom: 12px;
    }

    .case-card-category {
        min-width: 76px;
        min-height: 28px;
        padding: 3px 12px;
        font-size: 13px;
    }

    .case-card-area {
        gap: 4px;
        font-size: 14px;
    }

    .case-card-area-icon {
        flex-basis: 18px;
        width: 18px;
        height: 18px;
    }

    .case-card-title {
        margin-bottom: 12px !important;
        font-size: 20px;
    }

    .case-card-price {
        margin-bottom: 14px;
        padding: 12px 0;
    }

    .case-card-price-value {
        font-size: 28px;
    }

    .case-card-details {
        gap: 6px;
        margin-bottom: 16px;
    }

    .case-card-comment {
        margin-bottom: 16px;
    }

    .case-card-comment-text {
        line-height: 1.8;
    }

    .case-card-date {
        padding-top: 16px;
        font-size: 12px;
    }

    .case-archive-pagination {
        margin-top: 36px;
    }

    .case-lightbox {
        padding: 60px 12px 20px;
    }

    .case-lightbox-inner {
        max-width: 100%;
        max-height: calc(100vh - 80px);
    }

    .case-lightbox-image {
        max-width: 92vw;
        max-height: 75vh;
    }

    .case-lightbox-close {
        top: 10px;
        right: 12px;
        width: 40px;
        height: 40px;
        font-size: 36px;
    }

    .case-card-image-count {
        right: 10px;
        bottom: 10px;
        min-height: 28px;
        padding: 4px 10px;
        font-size: 12px;
    }

    .case-lightbox-nav {
        width: 42px;
        height: 42px;
        padding-bottom: 4px;
        font-size: 38px;
    }

    .case-lightbox-prev {
        left: 4px;
    }

    .case-lightbox-next {
        right: 4px;
    }

    .case-lightbox-counter {
        margin-top: 10px !important;
        font-size: 14px;
    }
}



/* ============================================
   トップページ 買取事例
   ============================================ */

/* 見出しエリア */

.top-case .top-case-head {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 40px;
    margin: 0 !important;
}

/* WordPressが挟むラッパー対策 */

.top-case .top-case-head>.wp-block-group__inner-container {
    display: contents;
}

/* 左側の見出し */

.top-case .top-case-heading {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
}

.top-case .top-case-heading>.wp-block-group__inner-container {
    display: block;
}

.top-case .top-case-heading>*,
.top-case .top-case-heading>.wp-block-group__inner-container>* {
    max-width: none !important;
}

/* 英語見出し
   デザインは共通のまま、配置だけ左寄せ */

.top-case .section-eyebrow {
    justify-content: flex-start;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* 日本語見出し */

.top-case .top-case-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    text-align: left;
}

.top-case .top-case-title::before,
.top-case .top-case-title::after {
    display: none !important;
}

/* 説明文 */

.top-case .top-case-lead {
    margin: 12px 0 0 !important;
    line-height: 1.8;
    text-align: left;
}

/* 右側ボタン */

.top-case .top-case-button {
    flex: 0 0 auto;
    margin: 0 !important;
}

.top-case .top-case-button .swell-block-button__link {
    min-width: 230px;
    min-height: 56px;
    padding: 12px 24px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
}

/* 買取事例一覧 */

.top-case .top-case-list {
    margin-top: 40px;
}

/* トップページの買取事例のみ価格の上下線を消す */

.top-case .case-card-price {
    margin-bottom: 16px;
    padding: 8px 0 0;
    border-top: 0;
    border-bottom: 0;
}

/* タブレット・スマホ */

@media screen and (max-width: 767px) {
    .top-case .top-case-head {
        display: block !important;
    }

    .top-case .section-eyebrow {
        justify-content: center;
        margin-right: auto;
        margin-left: auto;
    }

    .top-case .top-case-title {
        text-align: center;
    }

    .top-case .top-case-lead {
        margin-top: 8px !important;
        font-size: 14px;
        text-align: center;
    }

    .top-case .top-case-button {
        margin-top: 24px !important;
        text-align: center;
    }

    .top-case .top-case-button,
    .top-case .top-case-button .swell-block-button__link {
        width: 100%;
    }

    .top-case .top-case-button .swell-block-button__link {
        min-width: 0;
        min-height: 52px;
    }

    .top-case .top-case-list {
        margin-top: 32px;
    }
}






/* ============================================
   よくある質問 共通
   ============================================ */

.faq-lead,
.faq-page-lead {
    margin: 0 0 36px !important;
    line-height: 1.9;
    text-align: center;
}

/* FAQ一覧 */

.wp-block-group.faq-grid {
    position: relative;
    left: 50%;
    display: block !important;
    width: min(1000px, calc(100vw - 48px)) !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    transform: translateX(-50%);
}

/* 共通FAQの下に付く余分な余白をなくす */

.faq-common {
    margin-block-end: 0 !important;
}

/* 共通FAQと追加FAQの間隔 */

.faq-extra {
    margin-top: 14px !important;
    margin-block-start: 14px !important;
}

/* FAQカード */

.faq-item {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0;
    margin: 0 0 14px !important;
    overflow: hidden;
    background-color: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.12);
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(1, 34, 85, 0.06);
    transition:
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.faq-item:last-child {
    margin-bottom: 0 !important;
}

.faq-item:hover {
    border-color: rgba(1, 34, 85, 0.22);
    box-shadow: 0 7px 22px rgba(1, 34, 85, 0.09);
}

/* 質問 */

.faq-item summary {
    position: relative;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 68px;
    padding: 14px 58px 14px 66px;
    color: var(--color-main);
    font-weight: 700;
    line-height: 1.6;
    list-style: none;
    cursor: pointer;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease;
}

.faq-item summary:hover {
    background-color: rgba(1, 34, 85, 0.025);
}

.faq-item summary::-webkit-details-marker {
    display: none;
}

.faq-item summary::marker {
    content: "";
}

/* Qマーク */

.faq-item summary::before {
    position: absolute;
    top: 50%;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: var(--color-main);
    border-radius: 50%;
    color: #ffffff;
    content: "Q";
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    transform: translateY(-50%);
}

/* プラス・マイナス
   トップページ・下層ページ共通 */

.faq-item summary::after {
    position: absolute;
    top: 50%;
    right: 20px;
    width: 24px;
    height: 24px;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(var(--color-main),
            var(--color-main)) center / 14px 2px no-repeat,
        linear-gradient(var(--color-main),
            var(--color-main)) center / 2px 14px no-repeat;
    content: "";
    transform: translateY(-50%);
    transition: background-size 0.3s ease;
}

/* 開いたときはマイナス */

.faq-item[open]:not(.is-closing) summary::after {
    background-size:
        14px 2px,
        2px 0;
}

.faq-item[open] summary {
    border-bottom: 1px solid rgba(1, 34, 85, 0.1);
}

/* 回答 */

.faq-item>p {
    position: relative;
    margin: 0 !important;
    padding: 18px 22px 20px 66px;
    font-size: 15px;
    line-height: 1.9;
}

/* Aマーク */

.faq-item>p:first-of-type::before {
    position: absolute;
    top: 18px;
    left: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background-color: var(--color-accent);
    border-radius: 50%;
    color: var(--color-main);
    content: "A";
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
}

/* 回答内に段落以外のブロックを入れた場合 */

.faq-item> :not(summary):not(p) {
    margin-right: 22px;
    margin-left: 66px;
}

.faq-item> :last-child {
    margin-bottom: 0 !important;
}

/* ============================================
   トップページ よくある質問
   ============================================ */

.top-faq .swell-block-fullWide__inner {
    max-width: 1200px;
}

/* 左右2カラム */

.top-faq .top-faq-layout {
    display: grid !important;
    grid-template-columns: 340px minmax(0, 1fr);
    gap: 70px;
    align-items: start;
    margin: 0 !important;
}

.top-faq .top-faq-layout>.wp-block-group__inner-container {
    display: contents;
}

/* 左側の見出し */

.top-faq .top-faq-intro {
    position: relative;
    z-index: 0;
    min-width: 0;
    margin: 0 !important;
    padding-top: 12px;
}

.top-faq .top-faq-intro>.wp-block-group__inner-container {
    display: block;
}

.top-faq .top-faq-intro>*,
.top-faq .top-faq-intro>.wp-block-group__inner-container>* {
    max-width: none !important;
}

/* 背景の大きなQ */

.top-faq .top-faq-intro::before {
    position: absolute;
    z-index: -1;
    top: 5px;
    left: 40px;
    color: rgba(250, 195, 6, 0.13);
    font-size: 190px;
    font-weight: 900;
    line-height: 0.8;
    content: "Q";
    pointer-events: none;
}

/* 英語見出しは共通デザインのまま左寄せ */

.top-faq .section-eyebrow {
    justify-content: flex-start;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* 日本語見出し */

.top-faq .faq-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    text-align: left;
}

.top-faq .faq-title::before,
.top-faq .faq-title::after {
    display: none !important;
}

/* 説明文 */

.top-faq .faq-lead {
    max-width: 310px !important;
    margin: 20px 0 0 !important;
    line-height: 1.9;
    text-align: left;
}

/* 左側のもっと見るボタン */

.top-faq .top-faq-button {
    position: relative;
    z-index: 1;
    margin: 34px 0 0 !important;
    text-align: left;
}

.top-faq .top-faq-button .swell-block-button__link {
    min-width: 230px;
    min-height: 54px;
    padding: 12px 22px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
}

/* 右側のFAQ一覧 */

.top-faq .top-faq-list {
    min-width: 0;
    margin: 0 !important;
}

.top-faq .top-faq-list>.wp-block-group__inner-container {
    display: block;
}

/* 共通FAQの中央配置をトップページ内だけ解除 */

.top-faq .wp-block-group.faq-grid {
    position: static;
    left: auto;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    transform: none;
}

/* トップページのFAQカード */

.top-faq .faq-item {
    margin-bottom: 14px !important;
    border-radius: 12px;
    box-shadow: 0 5px 18px rgba(1, 34, 85, 0.05);
}

.top-faq .faq-item summary {
    min-height: 70px;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .top-faq .top-faq-layout {
        grid-template-columns: 280px minmax(0, 1fr);
        gap: 40px;
    }

    .top-faq .top-faq-intro::before {
        top: 5px;
        left: 30px;
        font-size: 170px;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {

    .faq-lead,
    .faq-page-lead {
        margin-bottom: 28px !important;
    }

    .wp-block-group.faq-grid {
        width: calc(100vw - 32px) !important;
    }

    .faq-extra {
        margin-top: 10px !important;
        margin-block-start: 10px !important;
    }

    .faq-item {
        margin-bottom: 10px !important;
        border-radius: 10px;
    }

    .faq-item:last-child {
        margin-bottom: 0 !important;
    }

    .faq-item summary {
        min-height: 62px;
        padding: 13px 52px 13px 58px;
        font-size: 15px;
    }

    .faq-item summary::before {
        left: 14px;
        width: 30px;
        height: 30px;
        font-size: 15px;
    }

    .faq-item summary::after {
        right: 14px;
        width: 22px;
        height: 22px;
        background-size:
            12px 2px,
            2px 12px;
    }

    .faq-item[open]:not(.is-closing) summary::after {
        background-size:
            12px 2px,
            2px 0;
    }

    .faq-item>p {
        padding: 16px 16px 18px 58px;
        font-size: 14px;
        line-height: 1.85;
    }

    .faq-item>p:first-of-type::before {
        top: 16px;
        left: 14px;
        width: 30px;
        height: 30px;
        font-size: 15px;
    }

    .faq-item> :not(summary):not(p) {
        margin-right: 16px;
        margin-left: 58px;
    }

    /* トップページは縦並び */

    .top-faq .top-faq-layout {
        display: block !important;
    }

    .top-faq .top-faq-intro {
        padding-top: 0;
        text-align: center;
    }

    .top-faq .top-faq-intro::before {
        top: 5px;
        left: 50%;
        font-size: 130px;
        transform: translateX(-50%);
    }

    .top-faq .section-eyebrow {
        justify-content: center;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .top-faq .faq-title {
        text-align: center;
    }

    .top-faq .faq-lead {
        max-width: none !important;
        margin-top: 10px !important;
        font-size: 14px;
        text-align: center;
    }

    .top-faq .top-faq-list {
        position: relative;
        z-index: 1;
        margin-top: 36px !important;
    }

    .top-faq .top-faq-button {
        margin-top: 22px !important;
        text-align: center;
    }

    .top-faq .top-faq-button,
    .top-faq .top-faq-button .swell-block-button__link {
        width: 100%;
    }

    .top-faq .top-faq-button .swell-block-button__link {
        min-width: 0;
        min-height: 52px;
    }
}

/* 動きを減らす設定への配慮 */

@media (prefers-reduced-motion: reduce) {

    .faq-item,
    .faq-item summary,
    .faq-item summary::after {
        transition: none;
    }
}






/* ============================================
   全ページ共通 コンタクトエリア
   ============================================ */
.common-contact-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 56px;
    align-items: center;
    width: 100%;
    margin: 0 !important;
}

.common-contact-inner>.wp-block-group__inner-container {
    display: contents;
}

/* 左側 */

.common-contact-copy {
    min-width: 0;
    margin: 0 !important;
}

.common-contact-copy>.wp-block-group__inner-container {
    display: block;
}

.common-contact-copy>*,
.common-contact-copy>.wp-block-group__inner-container>* {
    max-width: none !important;
}

.common-contact .common-contact-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    margin: 0 0 14px !important;
    color: var(--color-green);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.16em;
}

.common-contact-eyebrow::before {
    display: block;
    width: 36px;
    height: 2px;
    background: var(--color-accent);
    content: "";
}

.common-contact .common-contact-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
}

.common-contact-title::before,
.common-contact-title::after {
    display: none !important;
}

.common-contact-text {
    max-width: 720px !important;
    margin: 18px 0 0 !important;
    font-size: 15px;
    line-height: 1.9;
}

/* ボタン */

.common-contact-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px;
    margin: 28px 0 0 !important;
}

.common-contact-actions>.wp-block-group__inner-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px;
}

/* 共通コンタクトのボタン間に生成される空のpを非表示 */
.common-contact-actions>p {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.common-contact-button {
    margin: 0 !important;
}

.common-contact-button .swell-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 210px;
    min-height: 56px;
    padding: 12px 22px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none !important;
    box-shadow: 0 8px 18px rgba(1, 34, 85, 0.13);
}

/* LINE */

.common-contact-line .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-line) !important;
}

/* 電話 */

.common-contact-phone .swell-block-button__link {
    color: var(--color-main) !important;
    background: var(--color-accent) !important;
}

/* お問い合わせ */

.common-contact-form .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-main) !important;
}

/* 右側の安心パネル */

.common-contact-panel {
    margin: 0 !important;
    padding: 32px 30px;
    background: #ffffff;
    border: 2px solid var(--color-main);
    border-radius: 20px;
}

.common-contact-panel>.wp-block-group__inner-container {
    display: block;
}

.common-contact-panel>*,
.common-contact-panel>.wp-block-group__inner-container>* {
    max-width: none !important;
}

.common-contact .common-contact-label {
    display: inline-block;
    width: fit-content;
    margin: 0 0 16px !important;
    padding: 6px 12px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
}

.common-contact .common-contact-panel-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.55;
}

.common-contact-panel-title::before,
.common-contact-panel-title::after {
    display: none !important;
}

.common-contact-list {
    display: grid;
    gap: 0px;
    margin: 20px 0 0;
    padding: 0 !important;
    list-style: none;
}

.common-contact-list li {
    position: relative;
    padding-left: 28px;
}

.common-contact-list li::before {
    position: absolute;
    top: 0.12em;
    left: 0;
    color: var(--color-green);
    content: "check";
    font-family: "Material Symbols Outlined";
    font-size: 21px;
    font-weight: normal;
    font-style: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    direction: ltr;
    font-feature-settings: "liga";
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .common-contact-inner {
        grid-template-columns: 1fr;
    }

    .common-contact-panel {
        max-width: 620px;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {
    .common-contact {
        padding: 50px 16px;
    }

    .common-contact-inner {
        gap: 30px;
    }

    .common-contact-title {
        font-size: 27px !important;
    }

    .common-contact-text {
        font-size: 14px;
    }

    .common-contact-actions,
    .common-contact-actions>.wp-block-group__inner-container {
        display: grid !important;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .common-contact-button,
    .common-contact-button .swell-block-button__link {
        width: 100%;
    }

    .common-contact-button .swell-block-button__link {
        min-width: 0;
        min-height: 52px;
    }

    .common-contact-panel {
        padding: 26px 22px;
        border-radius: 16px;
    }

    .common-contact-panel-title {
        font-size: 21px;
    }
}






/* ============================================
   サービスの比較
   ============================================ */

.sub-service .service-compare .section-eyebrow {
    justify-content: center;
    margin-right: auto !important;
    margin-left: auto !important;
}

.sub-service .service-compare-title {
    margin: 0 !important;
    color: var(--color-main);
    text-align: center;
}

.sub-service .service-compare-lead {
    margin: 12px 0 0 !important;
    line-height: 1.8;
}

.sub-service .service-compare-table {
    margin: 36px 0 0 !important;
    overflow-x: auto;
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.06);
}

.sub-service .service-compare-table table {
    width: 100%;
    min-width: 720px;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.12);
    border-radius: 18px;
}

.sub-service .service-compare-table th,
.sub-service .service-compare-table td {
    padding: 18px 20px;
    border-right: 1px solid rgba(1, 34, 85, 0.11);
    border-bottom: 1px solid rgba(1, 34, 85, 0.11);
    text-align: center;
    vertical-align: middle;
}

.sub-service .service-compare-table th:last-child,
.sub-service .service-compare-table td:last-child {
    border-right: 0;
}

.sub-service .service-compare-table tr:last-child th,
.sub-service .service-compare-table tr:last-child td {
    border-bottom: 0;
}

.sub-service .service-compare-table thead th {
    color: var(--color-main);
    background: #f8f4ef;
    font-size: 17px;
    font-weight: 700;
}

.sub-service .service-compare-table tbody th {
    color: var(--color-main);
    background: #fafbfd;
    font-weight: 700;
    text-align: left;
}

.sub-service .service-compare-table td {
    font-size: 18px;
}

.sub-service .service-compare-table td strong {
    color: var(--color-green);
    font-size: 24px;
}

.sub-service .service-compare-note {
    margin: 16px 0 0 !important;
    color: #68758a;
    font-size: 12px;
    line-height: 1.7;
    text-align: right;
}

/* オフィス・店舗移転の案内 */

.sub-service .service-compare-business {
    max-width: 780px;
    margin: 32px auto 0 !important;
    padding: 24px 28px;
    box-sizing: border-box;
    background-color: #f8f4ef;
    /* border-left: 4px solid var(--color-main); */
    border-radius: 12px;
}

.sub-service .service-compare-business>.wp-block-group__inner-container {
    display: contents;
}

.sub-service .service-compare-business-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.sub-service .service-compare-business-title::before,
.sub-service .service-compare-business-title::after {
    display: none !important;
}

.sub-service .service-compare-business-text {
    margin: 10px 0 0 !important;
    font-size: 15px;
    line-height: 1.8;
    text-align: center;
}

/* ============================================
   各サービス
   ============================================ */

.sub-service.service-detail {
    position: relative;
    overflow: hidden;
}

.sub-service.service-detail::before {
    position: absolute;
    top: 12px;
    right: 4%;
    color: rgba(1, 34, 85, 0.025);
    font-size: 180px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.sub-service.service-detail-visit::before {
    content: "01";
}

.sub-service.service-detail-store::before {
    content: "02";
}

.sub-service.service-detail-ihin::before {
    content: "03";
}

.sub-service.service-detail-office::before {
    content: "04";
}

.sub-service.service-detail-shop::before {
    content: "05";
}

/* 通常：左にテキスト、右に画像 */

.sub-service .service-detail-layout {
    position: relative;
    z-index: 1;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 500px;
    gap: 64px;
    align-items: start;
    margin: 0 !important;
}

.sub-service .service-detail-layout>.wp-block-group__inner-container {
    display: contents;
}

/* 左に画像、右にテキスト */

.sub-service .service-detail-layout-reverse {
    grid-template-columns: 500px minmax(0, 1fr);
}

.sub-service .service-detail-layout-reverse .service-detail-side {
    order: 1;
}

.sub-service .service-detail-layout-reverse .service-detail-content {
    order: 2;
}

/* 左側テキスト */

.sub-service .service-detail-content {
    min-width: 0;
    margin: 0 !important;
}

/* 右側：画像＋案内 */

.sub-service .service-detail-side {
    min-width: 0;
    margin: 0 !important;
}

.sub-service .service-detail-side>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-detail-content>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-detail-content>*,
.sub-service .service-detail-content>.wp-block-group__inner-container>* {
    max-width: none !important;
}

/* 見出し */

.sub-service .service-detail-heading {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 16px;
    margin: 0 !important;
}

.sub-service .service-detail-heading>.wp-block-group__inner-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 16px;
}

.sub-service .service-detail-number {
    display: flex;
    flex: 0 0 62px;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    margin: 0 !important;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 18px;
    font-size: 24px;
    font-weight: 900;
    line-height: 1;
}

.sub-service .service-detail-heading-text {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
}

.sub-service .service-detail-heading-text>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-detail-label {
    margin: 0 0 4px !important;
    color: var(--color-green);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14em;
}

.sub-service .service-detail-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.4;
}

.sub-service .service-detail-title::before,
.sub-service .service-detail-title::after {
    display: none !important;
}

.sub-service .service-detail-text {
    margin: 18px 0 0 !important;
    line-height: 1.9;
}

/* ============================================
   こんな方におすすめ
   ============================================ */

.sub-service .service-recommend {
    margin: 28px 0 0 !important;
    padding: 0;
    background: none !important;
    border: 0 !important;
}

.sub-service .service-recommend>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-recommend-title {
    margin: 0 0 14px !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-service .service-recommend-title::before,
.sub-service .service-recommend-title::after {
    display: none !important;
}

.sub-service .service-recommend-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.sub-service .service-recommend-list li {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    height: 100%;
    margin: 0;
    padding: 17px 16px 17px 50px;
    box-sizing: border-box;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 12px;
    line-height: 1.6;
    box-shadow: 0 5px 14px rgba(1, 34, 85, 0.05);
}

.sub-service.service-detail-store .service-recommend-list li,
.sub-service.service-detail-office .service-recommend-list li {
    background: rgba(255, 255, 255, 0.88);
}

.sub-service .service-recommend-list li::before {
    position: absolute;
    top: 50%;
    left: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 50%;
    content: "check";
    font-family: "Material Symbols Outlined";
    font-size: 17px;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    direction: ltr;
    transform: translateY(-50%);
    font-feature-settings: "liga";
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    font-variation-settings:
        "FILL" 0,
        "wght" 700,
        "GRAD" 0,
        "opsz" 24;
}

/* ============================================
   サービスごとの案内
   ============================================ */

.sub-service .service-info {
    margin: 24px 0 0 !important;
    padding: 20px 22px;
    background: rgba(248, 244, 239, 0.72);
    border-left: 4px solid var(--color-accent);
    border-radius: 0 12px 12px 0;
}

.sub-service.service-detail-store .service-info,
.sub-service.service-detail-office .service-info {
    background: rgba(255, 255, 255, 0.88);
}

.sub-service .service-info>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-info-title {
    margin: 0 0 10px !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-service .service-info-title::before,
.sub-service .service-info-title::after {
    display: none !important;
}

.sub-service .service-info-list {
    margin: 0 !important;
    padding: 0 0 0 1.25em !important;
}

.sub-service .service-info-list li {
    margin: 5px 0 0;
    line-height: 1.75;
}

.sub-service .service-info-list li:first-child {
    margin-top: 0;
}

.sub-service .service-info-note {
    margin: 12px 0 0 !important;
    padding-top: 12px;
    color: #68758a;
    border-top: 1px solid rgba(1, 34, 85, 0.1);
    font-size: 12px;
    line-height: 1.75;
}

/* ============================================
   サービス内ボタン
   ============================================ */

.sub-service .service-detail-actions {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px;
    margin: 26px 0 0 !important;
}

.sub-service .service-detail-actions>.wp-block-group__inner-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px;
}

.sub-service .service-detail-button {
    margin: 0 !important;
}

.sub-service .service-detail-button .swell-block-button__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 190px;
    min-height: 54px;
    padding: 12px 22px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    box-shadow: 0 8px 18px rgba(1, 34, 85, 0.12);
}

.sub-service .service-detail-line .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-line) !important;
}

.sub-service .service-detail-contact .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-main) !important;
}

/* ============================================
   サービス画像
   ============================================ */

.sub-service .service-detail-image-wrap {
    position: relative;
    min-width: 0;
    margin: 0 !important;
    overflow: hidden;
    border-radius: 20px;
    box-shadow: 0 14px 30px rgba(1, 34, 85, 0.1);
}

.sub-service .service-detail-image-wrap>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-detail-image {
    margin: 0 !important;
}

.sub-service .service-detail-image img {
    display: block;
    width: 100%;
    height: 340px;
    object-fit: cover;
}

.sub-service .service-detail-badge {
    position: absolute;
    left: 18px;
    bottom: 18px;
    width: fit-content;
    margin: 0 !important;
    padding: 7px 13px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    box-shadow: 0 5px 12px rgba(1, 34, 85, 0.12);
}

/* ============================================
   本人確認の共通案内
   ============================================ */

.sub-service .service-common-card {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    margin: 0 !important;
    padding: 30px 34px;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.06);
}

.sub-service .service-common-card>.wp-block-group__inner-container {
    display: contents;
}

.sub-service .service-common-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 18px;
    font-size: 38px;
    font-variation-settings:
        "FILL" 0,
        "wght" 500,
        "GRAD" 0,
        "opsz" 40;
}

.sub-service .service-common-content {
    min-width: 0;
    margin: 0 !important;
}

.sub-service .service-common-content>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-common-label {
    margin: 0 0 7px !important;
    color: var(--color-green);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14em;
}

.sub-service .service-common-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-service .service-common-title::before,
.sub-service .service-common-title::after {
    display: none !important;
}

.sub-service .service-common-text {
    margin: 10px 0 0 !important;
    line-height: 1.8;
}

/* ============================================
   SUPPORT＋FAQ
   ============================================ */

.sub-service .service-support-card {
    position: relative;
    overflow: hidden;
    margin: 0 !important;
    padding: 42px;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.11);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(1, 34, 85, 0.07);
}

.sub-service .service-support-card::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 7px;
    background: var(--color-accent);
    content: "";
}

.sub-service .service-support-card>.wp-block-group__inner-container {
    display: block;
}

/* 上段 */

.sub-service .service-support-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 50px;
    align-items: center;
    margin: 0 !important;
}

.sub-service .service-support-main>.wp-block-group__inner-container {
    display: contents;
}

.sub-service .service-support-content {
    min-width: 0;
    margin: 0 !important;
}

.sub-service .service-support-content>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-support-content>*,
.sub-service .service-support-content>.wp-block-group__inner-container>* {
    max-width: none !important;
}

.sub-service .service-support-eyebrow {
    display: flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    margin: 0 0 10px !important;
    color: var(--color-green);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.14em;
}

.sub-service .service-support-eyebrow::before {
    display: block;
    width: 36px;
    height: 2px;
    background: var(--color-accent);
    content: "";
}

.sub-service .service-support-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-service .service-support-title::before,
.sub-service .service-support-title::after {
    display: none !important;
}

.sub-service .service-support-text {
    margin: 14px 0 0 !important;
    line-height: 1.85;
}

/* SUPPORTボタン */

.sub-service .service-support-actions {
    display: grid !important;
    gap: 12px;
    margin: 0 !important;
}

.sub-service .service-support-actions>.wp-block-group__inner-container {
    display: grid !important;
    gap: 12px;
}

.sub-service .service-support-button {
    width: 100%;
    margin: 0 !important;
}

.sub-service .service-support-button .swell-block-button__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 52px;
    padding: 11px 18px;
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: 0 7px 16px rgba(1, 34, 85, 0.12);
}

.sub-service .service-support-line .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-line) !important;
}

.sub-service .service-support-phone .swell-block-button__link {
    color: var(--color-main) !important;
    background: var(--color-accent) !important;
}

.sub-service .service-support-contact .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-main) !important;
}

/* 下段FAQ */

.sub-service .service-support-faq {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    margin: 30px 0 0 !important;
    padding-top: 26px;
    border-top: 1px solid rgba(1, 34, 85, 0.1);
}

.sub-service .service-support-faq>.wp-block-group__inner-container {
    display: contents;
}

.sub-service .service-support-faq-content {
    min-width: 0;
    margin: 0 !important;
}

.sub-service .service-support-faq-content>.wp-block-group__inner-container {
    display: block;
}

.sub-service .service-support-faq-label {
    margin: 0 0 8px !important;
    color: var(--color-green);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14em;
}

.sub-service .service-support-faq-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-service .service-support-faq-title::before,
.sub-service .service-support-faq-title::after {
    display: none !important;
}

.sub-service .service-support-faq-text {
    margin: 8px 0 0 !important;
    color: #68758a;
    font-size: 14px;
    line-height: 1.75;
}

.sub-service .service-support-faq-button {
    flex: 0 0 auto;
    margin: 0 !important;
}

.sub-service .service-support-faq-button .swell-block-button__link {
    min-width: 210px;
    min-height: 48px;
    padding: 10px 18px;
    color: var(--color-main) !important;
    background: #f8f4ef !important;
    border: 1px solid rgba(1, 34, 85, 0.16);
    border-radius: 9px;
    font-size: 14px;
    font-weight: 700;
    box-shadow: none;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {

    .sub-service .service-detail-layout,
    .sub-service .service-detail-layout-reverse {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .sub-service .service-detail-layout-reverse .service-detail-content,
    .sub-service .service-detail-layout-reverse .service-detail-side {
        order: initial;
    }

    .sub-service .service-detail-content {
        order: 1 !important;
    }

    .sub-service .service-detail-side {
        order: 2 !important;
    }

    .sub-service .service-detail-image img {
        height: auto;
        aspect-ratio: 16 / 9;
    }

    .sub-service .service-support-main {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .sub-service .service-support-faq {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {
    .sub-service .service-compare-lead {
        margin-top: 8px !important;
        font-size: 14px;
    }

    .sub-service .service-compare-table {
        margin-top: 28px !important;
        border-radius: 14px;
    }

    .sub-service .service-compare-table th,
    .sub-service .service-compare-table td {
        padding: 14px 12px;
        font-size: 14px;
    }

    .sub-service .service-compare-note {
        font-size: 11px;
        text-align: left;
    }

    .sub-service .service-compare-business {
        margin-top: 24px !important;
        padding: 20px 18px;
        border-left-width: 3px;
        border-radius: 10px;
    }

    .sub-service .service-compare-business-title {
        font-size: 18px;
    }

    .sub-service .service-compare-business-text {
        margin-top: 8px !important;
        font-size: 14px;
        line-height: 1.75;
        text-align: left;
    }

    .sub-service.service-detail::before {
        top: 18px;
        right: -8px;
        font-size: 120px;
    }

    .sub-service .service-detail-layout {
        gap: 26px;
    }

    .sub-service .service-detail-heading {
        align-items: flex-start !important;
    }

    .sub-service .service-detail-heading>.wp-block-group__inner-container {
        align-items: flex-start !important;
    }

    .sub-service .service-detail-number {
        flex-basis: 52px;
        width: 52px;
        height: 52px;
        border-radius: 15px;
        font-size: 20px;
    }

    .sub-service .service-detail-title {
        font-size: 28px;
    }

    .sub-service .service-detail-text {
        margin-top: 14px !important;
        font-size: 14px;
        line-height: 1.85;
    }

    .sub-service .service-recommend {
        margin-top: 24px !important;
    }

    .sub-service .service-recommend-title {
        font-size: 17px;
    }

    .sub-service .service-recommend-list {
        grid-template-columns: 1fr;
    }

    .sub-service .service-detail-actions,
    .sub-service .service-detail-actions>.wp-block-group__inner-container {
        display: grid !important;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .sub-service .service-detail-button,
    .sub-service .service-detail-button .swell-block-button__link {
        width: 100%;
    }

    .sub-service .service-detail-button .swell-block-button__link {
        min-width: 0;
        min-height: 52px;
    }

    .sub-service .service-info {
        margin-top: 20px !important;
        padding: 18px 16px;
    }

    .sub-service .service-info-title {
        font-size: 15px;
    }

    .sub-service .service-info-list,
    .sub-service .service-info-note {
        font-size: 12px;
    }

    .sub-service .service-detail-image-wrap {
        border-radius: 16px;
    }

    .sub-service .service-detail-badge {
        left: 14px;
        bottom: 14px;
    }

    .sub-service .service-common-card {
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 16px;
        padding: 22px 18px;
        border-radius: 15px;
    }

    .sub-service .service-common-icon {
        width: 56px;
        height: 56px;
        border-radius: 14px;
        font-size: 30px;
    }

    .sub-service .service-common-title {
        font-size: 19px;
    }

    .sub-service .service-common-text {
        font-size: 13px;
        line-height: 1.75;
    }

    .sub-service .service-support-card {
        padding: 30px 22px;
        border-radius: 18px;
    }

    .sub-service .service-support-title {
        font-size: 25px;
    }

    .sub-service .service-support-faq {
        gap: 18px;
    }

    .sub-service .service-support-faq-button,
    .sub-service .service-support-faq-button .swell-block-button__link {
        width: 100%;
    }

    .sub-service .service-support-faq-button .swell-block-button__link {
        min-width: 0;
        min-height: 50px;
    }
}



/* ============================================
   店舗情報ページ 共通
   ============================================ */
/* 
.sub-shop>.swell-block-fullWide__inner {
	max-width: 1200px;
}

.sub-shop .shop-eyebrow-left {
	justify-content: flex-start;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.sub-shop .shop-eyebrow-left::after {
	display: none;
} */

/* ============================================
   店舗情報
   ============================================ */

.sub-shop .shop-overview-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(520px, 0.9fr);
    gap: 56px;
    align-items: stretch;
    margin: 0 !important;
}

.sub-shop .shop-overview-layout>.wp-block-group__inner-container {
    display: contents;
}

.sub-shop .shop-overview-copy {
    min-width: 0;
    margin: 0 !important;
}

.sub-shop .shop-overview-copy>.wp-block-group__inner-container {
    display: block;
}

.sub-shop .shop-overview-copy>*,
.sub-shop .shop-overview-copy>.wp-block-group__inner-container>* {
    max-width: none !important;
}

.sub-shop .shop-overview-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.45;
}

.sub-shop .shop-overview-title::before,
.sub-shop .shop-overview-title::after {
    display: none !important;
}

.sub-shop .shop-overview-lead {
    margin: 18px 0 0 !important;
    line-height: 1.9;
}

/* 店舗情報テーブル */

.sub-shop .shop-info-table {
    margin: 28px 0 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.12);
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.05);
}

.sub-shop .shop-info-table table {
    width: 100%;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.sub-shop .shop-info-table th,
.sub-shop .shop-info-table td {
    padding: 18px 20px;
    border-bottom: 1px solid rgba(1, 34, 85, 0.1);
    vertical-align: top;
    line-height: 1.7;
}

.sub-shop .shop-info-table tr:last-child th,
.sub-shop .shop-info-table tr:last-child td {
    border-bottom: 0;
}

.sub-shop .shop-info-table th {
    width: 180px;
    color: var(--color-main);
    background: #f5f7fa;
    font-weight: 700;
    text-align: left;
}

.sub-shop .shop-info-table td {
    background: #ffffff;
}

/* 店舗写真 */

.sub-shop .shop-photo-card {
    align-self: end;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.sub-shop .shop-photo-card>.wp-block-group__inner-container {
    display: block;
}

.sub-shop .shop-photo-image {
    margin: 0 !important;
    overflow: hidden;
    border-radius: 18px;
    box-shadow: 0 14px 30px rgba(1, 34, 85, 0.1);
}

.sub-shop .shop-photo-image img {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    aspect-ratio: auto;
    object-fit: initial;
    background: none;
}

/* ============================================
   アクセス
   ============================================ */

.sub-shop .shop-access-title {
    margin: 0 !important;
    color: var(--color-main);
    text-align: center;
}

.sub-shop .shop-access-lead {
    margin: 12px 0 0 !important;
    line-height: 1.8;
}

/* Googleマップ */

.sub-shop .shop-map-embed {
    margin: 38px 0 0 !important;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 20px;
    box-shadow: 0 10px 24px rgba(1, 34, 85, 0.06);
}

.sub-shop .shop-map-embed>.wp-block-group__inner-container {
    display: block;
}

.sub-shop .shop-map-embed iframe {
    display: block;
    width: 100%;
    height: 470px;
    border: 0;
}


/* ============================================
   ブランドポート豊中店について
   ============================================ */

.sub-shop.shop-about {
    position: relative;
    overflow: hidden;
}

.sub-shop.shop-about::before {
    position: absolute;
    top: 10px;
    left: 50%;
    color: rgba(1, 34, 85, 0.025);
    content: "ABOUT";
    font-size: 170px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.06em;
    white-space: nowrap;
    pointer-events: none;
    transform: translateX(-50%);
}

.sub-shop .shop-about-layout {
    position: relative;
    z-index: 1;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 430px;
    gap: 60px;
    align-items: center;
    margin: 0 !important;
}

.sub-shop .shop-about-layout>.wp-block-group__inner-container {
    display: contents;
}

.sub-shop .shop-about-copy {
    min-width: 0;
    margin: 0 !important;
}

.sub-shop .shop-about-copy>.wp-block-group__inner-container {
    display: block;
}

.sub-shop .shop-about-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-shop .shop-about-title::before,
.sub-shop .shop-about-title::after {
    display: none !important;
}

.sub-shop .shop-about-copy p:not(.section-eyebrow) {
    margin: 16px 0 0 !important;
    line-height: 1.9;
}

/* メッセージカード */

.sub-shop .shop-message-card {
    margin: 0 !important;
    padding: 34px;
    color: #ffffff;
    background: var(--color-main);
    border-radius: 22px;
    box-shadow: 0 16px 34px rgba(1, 34, 85, 0.18);
}

.sub-shop .shop-message-card>.wp-block-group__inner-container {
    display: block;
}

.sub-shop .shop-message-label {
    margin: 0 0 18px !important;
    color: var(--color-accent);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.sub-shop .shop-message-main {
    margin: 0 !important;
    color: #ffffff;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.65;
    word-break: keep-all;
    overflow-wrap: normal;
}

.sub-shop .shop-message-sub {
    margin: 18px 0 0 !important;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.8;
}

/* ============================================
   私たちが大切にしていること
   ============================================ */

.sub-shop.shop-values {
    position: relative;
    overflow: hidden;
    color: #ffffff;
}

.sub-shop.shop-values::before {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px,
            transparent 1px),
        linear-gradient(90deg,
            rgba(255, 255, 255, 0.035) 1px,
            transparent 1px);
    background-size: 34px 34px;
    content: "";
    pointer-events: none;
}

/* 英語見出し */

.sub-shop .shop-values-eyebrow {
    position: relative;
    z-index: 1;
    color: var(--color-accent);
}

/* 日本語見出し */

.sub-shop .shop-values-title {
    position: relative;
    z-index: 1;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff;
    background: none !important;
    border: 0 !important;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.sub-shop .shop-values-title::before,
.sub-shop .shop-values-title::after {
    display: none !important;
}

.sub-shop .shop-values-title .title-marker::after {
    background: rgba(250, 195, 6, 0.82);
}


/* 説明文 */

.sub-shop .shop-values-lead {
    position: relative;
    z-index: 1;
    margin: 12px 0 0 !important;
    color: #fff;
    line-height: 1.8;
}

/* ============================================
   横長カード一覧
   ============================================ */

.sub-shop .shop-values-list {
    position: relative;
    z-index: 1;
    display: grid !important;
    gap: 16px;
    width: 100%;
    max-width: 920px;
    margin: 38px auto 0 !important;
}

.sub-shop .shop-values-list>.wp-block-group__inner-container {
    display: grid !important;
    gap: 16px;
}

/* カード */

.sub-shop .shop-value-item {
    position: relative;
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    min-width: 0;
    margin: 0 !important;
    padding: 22px 28px;
    overflow: hidden;
    color: #14233f;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-left: 5px solid var(--color-accent);
    border-radius: 16px;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.13);
}

.sub-shop .shop-value-item>.wp-block-group__inner-container {
    display: contents;
}

/* アイコン枠 */

.sub-shop .shop-value-icon-wrap {
    display: grid !important;
    width: 64px;
    height: 64px;
    place-items: center;
    margin: 0 !important;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 17px;
}

.sub-shop .shop-value-icon-wrap>.wp-block-group__inner-container {
    display: grid;
    place-items: center;
}

.sub-shop .shop-value-icon {
    font-size: 30px;
}

/* テキスト側 */

.sub-shop .shop-value-content {
    min-width: 0;
    margin: 0 !important;
}

.sub-shop .shop-value-content>.wp-block-group__inner-container {
    display: block;
}

/* VALUE */

.sub-shop .shop-value-label {
    margin: 0 0 5px !important;
    color: var(--color-green);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.14em;
    white-space: nowrap;
}

/* 見出し */

.sub-shop .shop-value-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-shop .shop-value-title::before,
.sub-shop .shop-value-title::after {
    display: none !important;
}

/* 本文 */

.sub-shop .shop-value-text {
    margin: 7px 0 0 !important;
    font-size: 16px;
    line-height: 1.8;
}


/* ============================================
   ご来店前のご案内
   ============================================ */

.sub-shop .shop-guide-panel {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 560px;
    gap: 50px;
    align-items: center;
    margin: 0 !important;
    padding: 42px;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 22px;
    box-shadow: 0 12px 30px rgba(1, 34, 85, 0.07);
}

.sub-shop .shop-guide-panel>.wp-block-group__inner-container {
    display: contents;
}

.sub-shop .shop-guide-copy {
    min-width: 0;
    margin: 0 !important;
}

.sub-shop .shop-guide-copy>.wp-block-group__inner-container {
    display: block;
}

.sub-shop .shop-guide-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-shop .shop-guide-title::before,
.sub-shop .shop-guide-title::after {
    display: none !important;
}

.sub-shop .shop-guide-text {
    margin: 16px 0 0 !important;
    line-height: 1.9;
}

.sub-shop .shop-guide-list {
    display: grid !important;
    gap: 14px;
    margin: 0 !important;
}

.sub-shop .shop-guide-list>.wp-block-group__inner-container {
    display: grid !important;
    gap: 14px;
}

.sub-shop .shop-guide-item {
    display: flex !important;
    align-items: flex-start;
    gap: 14px;
    margin: 0 !important;
    padding: 18px 20px;
    background: #f8f4ef;
    border-radius: 14px;
}

.sub-shop .shop-guide-item>.wp-block-group__inner-container {
    display: flex !important;
    align-items: center;
    gap: 14px;
}

.sub-shop .shop-guide-icon {
    display: grid;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    place-items: center;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 12px;
    font-size: 22px;
    margin-bottom: 0;
}

.sub-shop .shop-guide-item-copy {
    min-width: 0;
    margin: 0 !important;
}

.sub-shop .shop-guide-item-copy>.wp-block-group__inner-container {
    display: block;
}

.sub-shop .shop-guide-item h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-shop .shop-guide-item h3::before,
.sub-shop .shop-guide-item h3::after {
    display: none !important;
}

.sub-shop .shop-guide-item p {
    margin: 5px 0 0 !important;
    font-size: 15px;
    line-height: 1.7;
}

/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {

    .sub-shop .shop-overview-layout,
    .sub-shop .shop-about-layout,
    .sub-shop .shop-guide-panel {
        grid-template-columns: 1fr;
    }

    .sub-shop .shop-overview-layout {
        gap: 34px;
    }

    .sub-shop .shop-photo-card {
        align-self: auto;
        width: 100%;
        max-width: none;
    }

    /* 私たちが大切にしていること */

    .sub-shop .shop-values-list {
        max-width: 820px;
        gap: 14px;
    }

    .sub-shop .shop-values-list>.wp-block-group__inner-container {
        gap: 14px;
    }

    .sub-shop .shop-value-item {
        grid-template-columns: 64px minmax(0, 1fr);
        gap: 20px;
        padding: 21px 24px;
    }

    .sub-shop .shop-value-icon-wrap {
        width: 60px;
        height: 60px;
        border-radius: 16px;
    }

    .sub-shop .shop-value-icon {
        font-size: 28px;
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {

    .sub-shop .shop-overview-title,
    .sub-shop .shop-about-title {
        font-size: 28px;
        text-align: center;
    }

    /* 店舗情報テーブル */

    .sub-shop .shop-info-table,
    .sub-shop .shop-info-table tbody,
    .sub-shop .shop-info-table tr,
    .sub-shop .shop-info-table th,
    .sub-shop .shop-info-table td {
        display: block;
        width: 100%;
    }

    .sub-shop .shop-info-table tr {
        border-bottom: 1px solid rgba(1, 34, 85, 0.1);
    }

    .sub-shop .shop-info-table tr:last-child {
        border-bottom: 0;
    }

    .sub-shop .shop-info-table th,
    .sub-shop .shop-info-table td {
        border-bottom: 0;
    }

    .sub-shop .shop-info-table th {
        padding: 14px 16px 6px;
    }

    .sub-shop .shop-info-table td {
        padding: 8px 16px 16px;
    }

    /* 店舗写真 */

    .sub-shop .shop-photo-image {
        border-radius: 14px;
    }

    .sub-shop .shop-photo-image img {
        width: 100%;
        height: auto;
        aspect-ratio: auto;
    }

    /* アクセス */

    .sub-shop .shop-map-embed {
        margin-top: 28px !important;
        border-radius: 14px;
    }

    .sub-shop .shop-map-embed iframe {
        height: 330px;
    }

    /* 店舗について */

    .sub-shop.shop-about::before {
        top: 26px;
        font-size: 100px;
    }

    .sub-shop .shop-message-card {
        padding: 28px 22px;
    }

    .sub-shop .shop-message-main {
        font-size: 23px;
        line-height: 1.65;
        word-break: keep-all;
        overflow-wrap: normal;
    }

    /* 私たちが大切にしていること */

    .sub-shop .shop-values-title {
        font-size: 28px;
    }

    .sub-shop .shop-values-lead {
        font-size: 14px;
    }

    .sub-shop .shop-values-list {
        width: 100%;
        max-width: 520px;
        margin-top: 28px !important;
        gap: 12px;
    }

    .sub-shop .shop-values-list>.wp-block-group__inner-container {
        gap: 12px;
    }

    .sub-shop .shop-value-item {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 16px;
        padding: 18px 16px;
        border-left-width: 4px;
        border-radius: 14px;
    }

    .sub-shop .shop-value-icon-wrap {
        width: 50px;
        height: 50px;
        border-radius: 13px;
    }

    .sub-shop .shop-value-icon {
        font-size: 25px;
    }

    .sub-shop .shop-value-label {
        margin-bottom: 3px !important;
        font-size: 10px;
    }

    .sub-shop .shop-value-title {
        font-size: 19px;
    }

    .sub-shop .shop-value-text {
        margin-top: 5px !important;
        font-size: 13px;
        line-height: 1.75;
    }

    /* ご来店前のご案内 */

    .sub-shop .shop-guide-panel {
        padding: 28px 22px;
    }

    .sub-shop .shop-guide-title {
        font-size: 25px;
        text-align: center;
    }
}






/* ============================================
   買取品目ページ
   ============================================ */

.sub-items .items-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    text-align: center;
}

.sub-items .items-title::before,
.sub-items .items-title::after {
    display: none !important;
}

.sub-items .items-lead {
    max-width: 760px;
    margin: 14px auto 0 !important;
    line-height: 1.9;
}

/* ============================================
   買取品目一覧
   ============================================ */

.sub-items .items-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 20px;
    margin: 42px 0 0 !important;
}

.sub-items .items-grid>.wp-block-group__inner-container {
    display: contents;
}

.sub-items .item-card {
    min-width: 0;
    margin: 0 !important;
    padding: 24px 22px;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.11);
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.06);
}

.sub-items .item-card>.wp-block-group__inner-container {
    display: block;
}

.sub-items .item-card-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 150px;
    margin: 0 0 20px !important;
    background: transparent;
}

.sub-items .item-card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.sub-items .item-card-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.sub-items .item-card-title::before,
.sub-items .item-card-title::after {
    display: none !important;
}

.sub-items .item-card-text {
    margin: 9px 0 0 !important;
    font-size: 14px;
    line-height: 1.8;
    text-align: center;
}

/* ============================================
   その他の買取品目
   ============================================ */

.sub-items .items-more {
    position: relative;
    max-width: 960px;
    margin: 38px auto 0 !important;
    padding: 40px 30px 26px;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.14);
    border-radius: 16px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.06);
    text-align: center;
}

.sub-items .items-more>.wp-block-group__inner-container {
    display: block;
}

.sub-items .items-more-label {
    position: absolute;
    top: 0;
    left: 50%;
    margin: 0 !important;
    padding: 7px 20px 8px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 0 0 12px 12px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.12em;
    white-space: nowrap;
    transform: translateX(-50%);
}

.sub-items .items-more-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}

.sub-items .items-more-title::before,
.sub-items .items-more-title::after {
    display: none !important;
}

.sub-items .items-more-text {
    max-width: 820px;
    margin: 10px auto 0 !important;
    color: #4f5d70;
    font-size: 14px;
    line-height: 1.9;
    text-align: center !important;
}

@media screen and (max-width: 767px) {
    .sub-items .items-more {
        margin-top: 28px !important;
        padding: 38px 18px 20px;
        border-radius: 14px;
    }

    .sub-items .items-more-label {
        padding: 6px 16px 7px;
        border-radius: 0 0 10px 10px;
        font-size: 10px;
    }

    .sub-items .items-more-title {
        font-size: 16px;
    }

    .sub-items .items-more-text {
        margin-top: 8px !important;
        font-size: 13px;
        line-height: 1.8;
        text-align: left !important;
    }
}

/* ============================================
   古い品・壊れた品
   ============================================ */

.sub-items .condition-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 900px;
    margin: 38px auto 0 !important;
}

.sub-items .condition-grid>.wp-block-group__inner-container {
    display: contents;
}

.sub-items .condition-card {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 76px;
    margin: 0 !important;
    padding: 18px 22px 18px 54px;
    color: var(--color-main);
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 14px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.65;
    box-shadow: 0 7px 18px rgba(1, 34, 85, 0.05);
}

.sub-items .condition-card::before {
    position: absolute;
    top: 50%;
    left: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 50%;
    content: "check";
    font-family: "Material Symbols Outlined";
    font-size: 17px;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    white-space: nowrap;
    direction: ltr;
    transform: translateY(-50%);
    font-feature-settings: "liga";
    -webkit-font-feature-settings: "liga";
    -webkit-font-smoothing: antialiased;
    font-variation-settings:
        "FILL" 0,
        "wght" 700,
        "GRAD" 0,
        "opsz" 24;
}

/* ============================================
   査定についての案内
   ============================================ */

.sub-items .items-notice-card {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    margin: 0 !important;
    padding: 30px 34px;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.06);
}

.sub-items .items-notice-card>.wp-block-group__inner-container {
    display: contents;
}

.sub-items .items-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 18px;
    font-size: 38px;
    font-variation-settings:
        "FILL" 0,
        "wght" 500,
        "GRAD" 0,
        "opsz" 40;
}

.sub-items .items-notice-content {
    min-width: 0;
    margin: 0 !important;
}

.sub-items .items-notice-content>.wp-block-group__inner-container {
    display: block;
}

.sub-items .items-notice-label {
    margin: 0 0 7px !important;
    color: var(--color-green);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14em;
}

.sub-items .items-notice-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-items .items-notice-title::before,
.sub-items .items-notice-title::after {
    display: none !important;
}

.sub-items .items-notice-text {
    margin: 10px 0 0 !important;
    line-height: 1.8;
}


/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .sub-items .items-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* ============================================
   スマートフォン
   ============================================ */

@media screen and (max-width: 767px) {
    .sub-items .items-lead {
        margin-top: 10px !important;
        font-size: 14px;
        text-align: left !important;
    }

    .sub-items .items-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }

    .sub-items .item-card {
        padding: 16px 12px;
    }

    .sub-items .item-card-image {
        height: 100px;
        margin-bottom: 14px !important;
    }

    .sub-items .item-card-title {
        font-size: 15px;
        line-height: 1.5;
    }

    .sub-items .item-card-text {
        font-size: 11px;
        line-height: 1.65;
    }

    .sub-items .items-more {
        margin-top: 24px !important;
        padding: 40px 20px 16px;
        border-radius: 12px;
    }

    .sub-items .items-more-title {
        font-size: 16px;
    }

    .sub-items .items-more-text {
        margin-top: 8px !important;
        font-size: 13px;
        line-height: 1.8;
        text-align: left !important;
    }

    .sub-items .condition-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 28px !important;
    }

    .sub-items .condition-card {
        min-height: 70px;
        padding: 16px 16px 16px 50px;
    }

    .sub-items .items-notice-card {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 14px;
        align-items: start;
        padding: 22px 18px;
        border-radius: 14px;
    }

    .sub-items .items-notice-icon {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        font-size: 28px;
    }

    .sub-items .items-notice-label {
        margin-bottom: 5px !important;
        font-size: 10px;
    }

    .sub-items .items-notice-title {
        font-size: 18px;
        line-height: 1.5;
    }

    .sub-items .items-notice-text {
        grid-column: 1 / -1;
        margin-top: 12px !important;
        font-size: 13px;
        line-height: 1.8;
    }
}



/* ============================================
   対応エリアページ
   ============================================ */


/* ============================================
   対応エリア概要
   ============================================ */

.sub-area .area-intro-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
    gap: 72px;
    align-items: center;
    margin: 0 !important;
}

.sub-area .area-intro-grid>.wp-block-group__inner-container {
    display: contents;
}

.sub-area .area-intro-content,
.sub-area .area-intro-content>.wp-block-group__inner-container {
    display: block;
    min-width: 0;
}

.sub-area .area-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: clamp(30px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.02em;
}

.sub-area .area-title::before,
.sub-area .area-title::after {
    display: none !important;
}

.sub-area .area-lead {
    margin: 20px 0 0 !important;
    color: #34445b;
    line-height: 2;
}

.sub-area .area-lead+.area-lead {
    margin-top: 8px !important;
}

.sub-area .area-chip-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px;
    margin: 28px 0 0 !important;
}

.sub-area .area-chip-list>.wp-block-group__inner-container {
    display: contents;
}

.sub-area .area-chip-list p {
    margin: 0 !important;
    padding: 8px 16px;
    color: var(--color-main);
    background: rgba(252, 198, 14, 0.25);
    border: 1px solid rgba(252, 198, 14, 0.28);
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

/* 地図画像 */

.sub-area .area-map-card {
    min-width: 0;
    margin: 0 !important;
    padding: 0;
    overflow: hidden;
    background: transparent;
    border: 0;
    border-radius: 22px;
    box-shadow: none;
}

.sub-area .area-map-card>.wp-block-group__inner-container {
    display: block;
}

.sub-area .area-map-image {
    margin: 0 !important;
    line-height: 0;
}

.sub-area .area-map-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 22px;
    box-sizing: border-box;
    border: 1px solid rgba(1, 34, 85, 0.12);
}

/* 対応エリア概要 タブレット */

@media screen and (max-width: 959px) {
    .sub-area .area-intro-grid {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .sub-area .area-map-card {
        width: 100%;
        max-width: 660px;
        margin-right: auto !important;
        margin-left: auto !important;
    }
}

/* 対応エリア概要 スマホ */

@media screen and (max-width: 767px) {
    .sub-area .area-intro-grid {
        gap: 34px;
    }

    .sub-area .area-title {
        font-size: 28px;
        line-height: 1.55;
        text-align: center;
    }

    .sub-area .area-title br {
        display: none;
    }

    .sub-area .area-lead {
        margin-top: 16px !important;
        font-size: 14px;
        line-height: 1.9;
    }

    .sub-area .area-lead+.area-lead {
        margin-top: 8px !important;
    }

    .sub-area .area-chip-list {
        gap: 8px;
        margin-top: 22px !important;
    }

    .sub-area .area-chip-list p {
        padding: 7px 12px;
        font-size: 12px;
    }

    .sub-area .area-map-card,
    .sub-area .area-map-image img {
        border-radius: 14px;
    }
}


/* ============================================
   大阪府内の対応地域
   ============================================ */

.sub-area .area-heading-center {
    margin: 0 0 42px !important;
    text-align: center;
}

.sub-area .area-heading-center>.wp-block-group__inner-container {
    display: block;
}

.sub-area .area-eyebrow-center {
    justify-content: center;
    text-align: center;
}

.sub-area .area-section-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 34px;
    font-weight: 700;
    line-height: 1.6;
    text-align: center;
}

.sub-area .area-section-title::before,
.sub-area .area-section-title::after {
    display: none !important;
}

.sub-area .area-section-description {
    max-width: 760px;
    margin: 16px auto 0 !important;
    color: #69768a;
    line-height: 1.9;
    text-align: center;
}

.sub-area .area-region-panel {
    overflow: hidden;
    margin: 0 !important;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.09);
    border-radius: 18px;
    box-shadow: 0 12px 30px rgba(1, 34, 85, 0.055);
}

.sub-area .area-region-panel>.wp-block-group__inner-container {
    display: block;
}

.sub-area .area-region-row {
    position: relative;
    display: grid !important;
    grid-template-columns: 104px minmax(220px, 0.78fr) minmax(0, 1.5fr);
    gap: 30px;
    align-items: center;
    min-height: 128px;
    margin: 0 !important;
    padding: 26px 34px;
}

.sub-area .area-region-row>.wp-block-group__inner-container {
    display: contents;
}

.sub-area .area-region-row+.area-region-row {
    border-top: 1px solid rgba(1, 34, 85, 0.09);
}

.sub-area .area-region-row::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 5px;
    background: transparent;
    content: "";
    transition: background 0.2s ease;
}

.sub-area .area-region-row:hover::before {
    background: var(--color-accent);
}

.sub-area .area-region-index {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 6px;
    min-width: 0;
    margin: 0 !important;
}

.sub-area .area-region-index>.wp-block-group__inner-container {
    display: contents;
}

.sub-area .area-region-index p {
    margin: 0 !important;
    color: rgba(1, 34, 85, 0.34);
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.14em;
}

.sub-area .area-region-index h3 {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.03em;
}

.sub-area .area-region-index h3::before,
.sub-area .area-region-index h3::after {
    display: none !important;
}

.sub-area .area-region-heading {
    min-width: 0;
    margin: 0 !important;
}

.sub-area .area-region-heading>.wp-block-group__inner-container {
    display: block;
}

.sub-area .area-region-label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 6px !important;
    color: var(--color-green);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: 0.14em;
}

.sub-area .area-region-label::before {
    display: inline-block;
    flex: 0 0 auto;
    width: 25px;
    height: 2px;
    background: var(--color-accent);
    content: "";
}

.sub-area .area-region-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-area .area-region-title::before,
.sub-area .area-region-title::after {
    display: none !important;
}

.sub-area .area-region-cities {
    min-width: 0;
    margin: 0 !important;
    padding-left: 30px;
    border-left: 1px solid rgba(1, 34, 85, 0.1);
}

.sub-area .area-region-cities>.wp-block-group__inner-container {
    display: block;
}

.sub-area .area-region-cities p {
    margin: 0 !important;
    color: #45566d;
    line-height: 2;
}

.sub-area .area-city-all {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 5px 14px;
    color: var(--color-main);
    background: rgba(252, 198, 14, 0.2);
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

/* 大阪府内の対応地域 タブレット */

@media screen and (max-width: 959px) {
    .sub-area .area-region-row {
        grid-template-columns: 78px minmax(190px, 0.8fr) minmax(0, 1.35fr);
        gap: 22px;
        padding: 24px 26px;
    }

    .sub-area .area-region-cities {
        padding-left: 22px;
    }
}

/* 大阪府内の対応地域 スマホ */

@media screen and (max-width: 767px) {
    .sub-area .area-heading-center {
        margin-bottom: 28px !important;
    }

    .sub-area .area-section-title {
        font-size: 27px;
    }

    .sub-area .area-section-description {
        margin-top: 12px !important;
        font-size: 13px;
        line-height: 1.8;
        text-align: left;
    }

    .sub-area .area-region-panel {
        border-radius: 14px;
    }

    .sub-area .area-region-row {
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 10px 14px;
        min-height: 0;
        padding: 22px 18px;
    }

    .sub-area .area-region-index {
        grid-column: 1;
        grid-row: 1 / span 2;
        align-items: center;
        justify-content: flex-start;
        padding-top: 4px;
    }

    .sub-area .area-region-index p {
        font-size: 8px;
    }

    .sub-area .area-region-index h3 {
        font-size: 24px;
    }

    .sub-area .area-region-heading {
        grid-column: 2;
    }

    .sub-area .area-region-label {
        margin-bottom: 4px !important;
        font-size: 9px;
    }

    .sub-area .area-region-label::before {
        width: 20px;
    }

    .sub-area .area-region-title {
        font-size: 17px;
    }

    .sub-area .area-region-cities {
        grid-column: 2;
        padding: 11px 0 0;
        border-top: 1px solid rgba(1, 34, 85, 0.09);
        border-left: 0;
    }

    .sub-area .area-region-cities p {
        font-size: 13px;
        line-height: 1.9;
    }

    .sub-area .area-city-all {
        min-height: 30px;
        padding: 4px 12px;
        font-size: 13px;
    }
}


/* ============================================
   大阪府外の対応
   ============================================ */

.sub-area .area-nearby-content {
    width: 100%;
    max-width: 820px;
    margin: 0 auto !important;
    text-align: center;
}

.sub-area .area-nearby-content>.wp-block-group__inner-container {
    display: block;
}

.sub-area .area-nearby-section .area-eyebrow-center {
    justify-content: center;
    margin-right: auto !important;
    margin-left: auto !important;
    text-align: center;
}

.sub-area .area-nearby-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: clamp(30px, 3vw, 40px);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.02em;
    text-align: center;
}

.sub-area .area-nearby-title::before,
.sub-area .area-nearby-title::after {
    display: none !important;
}

.sub-area .area-nearby-text {
    max-width: 770px;
    margin: 22px auto 0 !important;
    line-height: 2;
    text-align: center;
}

.sub-area .area-nearby-text+.area-nearby-text {
    margin-top: 8px !important;
}

.sub-area .area-nearby-link-wrap {
    margin: 26px 0 0 !important;
    text-align: center;
}

.sub-area .area-text-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-bottom: 3px;
    color: var(--color-main);
    border-bottom: 2px solid var(--color-accent);
    font-weight: 700;
    text-decoration: none;
    transition:
        opacity 0.2s ease,
        gap 0.2s ease;
}

.sub-area .area-text-link:hover {
    gap: 16px;
    opacity: 0.7;
}

/* 大阪府外の対応 スマホ */

@media screen and (max-width: 767px) {
    .sub-area .area-nearby-content {
        max-width: none;
    }

    .sub-area .area-nearby-title {
        font-size: 26px;
        line-height: 1.55;
    }

    .sub-area .area-nearby-title br {
        display: none;
    }

    .sub-area .area-nearby-text {
        margin-top: 18px !important;
        font-size: 14px;
        line-height: 1.9;
    }

    .sub-area .area-nearby-text+.area-nearby-text {
        margin-top: 8px !important;
    }

    .sub-area .area-nearby-link-wrap {
        margin-top: 22px !important;
    }

    .sub-area .area-text-link {
        gap: 9px;
        font-size: 13px;
    }
}


/* ============================================
   出張対応についての案内
   ============================================ */

.sub-area .area-notice-card {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 24px;
    align-items: center;
    margin: 0 !important;
    padding: 30px 34px;
    background: #ffffff;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 18px;
    box-shadow: 0 8px 22px rgba(1, 34, 85, 0.06);
}

.sub-area .area-notice-card>.wp-block-group__inner-container {
    display: contents;
}

.sub-area .area-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 74px;
    color: var(--color-main);
    background: var(--color-accent);
    border-radius: 18px;
    font-size: 38px;
    font-variation-settings:
        "FILL" 0,
        "wght" 500,
        "GRAD" 0,
        "opsz" 40;
}

.sub-area .area-notice-content {
    min-width: 0;
    margin: 0 !important;
}

.sub-area .area-notice-content>.wp-block-group__inner-container {
    display: block;
}

.sub-area .area-notice-label {
    margin: 0 0 7px !important;
    color: var(--color-green);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.14em;
}

.sub-area .area-notice-title {
    margin: 0 !important;
    padding: 0 !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
}

.sub-area .area-notice-title::before,
.sub-area .area-notice-title::after {
    display: none !important;
}

.sub-area .area-notice-text {
    margin: 10px 0 0 !important;
    line-height: 1.8;
}

/* 出張対応についての案内 スマホ */

@media screen and (max-width: 767px) {
    .sub-area .area-notice-card {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 14px;
        align-items: start;
        padding: 22px 18px;
        border-radius: 14px;
    }

    .sub-area .area-notice-icon {
        width: 52px;
        height: 52px;
        border-radius: 14px;
        font-size: 28px;
    }

    .sub-area .area-notice-label {
        margin-bottom: 5px !important;
        font-size: 10px;
    }

    .sub-area .area-notice-title {
        font-size: 18px;
    }

    .sub-area .area-notice-text {
        margin-top: 8px !important;
        font-size: 13px;
        line-height: 1.8;
    }
}


/* ============================================
   プライバシーポリシー
   ============================================ */
.privacy-policy,
.privacy-policy * {
    box-sizing: border-box;
}

.privacy-policy .privacy-policy-inner {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
}


/* ============================================
   導入文
   ============================================ */

.privacy-policy .privacy-policy-intro {
    margin: 0 0 48px !important;
    padding: 24px 28px;
    background: #f5f7fa;
    border-left: 4px solid #fcc60e;
    border-radius: 0 8px 8px 0;
    line-height: 2;
}


/* ============================================
   見出し
   ============================================ */

.privacy-policy .privacy-policy-title {
    position: relative;
    margin: 52px 0 22px !important;
    padding: 0 0 14px 18px !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(1, 34, 85, 0.14) !important;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.6;
    text-align: left;
}

.privacy-policy .privacy-policy-title::before {
    position: absolute;
    top: 0.2em;
    bottom: calc(0.2em + 14px);
    left: 0;
    width: 4px;
    background: #fcc60e;
    border-radius: 999px;
    content: "";
}

.privacy-policy .privacy-policy-title::after {
    display: none !important;
}


/* ============================================
   本文
   ============================================ */

.privacy-policy .privacy-policy-inner>p:not(.privacy-policy-intro),
.privacy-policy .privacy-policy-inner>.wp-block-list {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

.privacy-policy .privacy-policy-inner p {
    line-height: 2;
    overflow-wrap: anywhere;
}

.privacy-policy .privacy-policy-inner strong {
    color: var(--color-main);
    font-weight: 700;
}


/* ============================================
   リスト
   ============================================ */

.privacy-policy .privacy-policy-inner ol,
.privacy-policy .privacy-policy-inner ul {
    margin: 0 0 24px !important;
    padding-left: 1.8em !important;
    font-size: 15px;
    line-height: 1.9;
}

.privacy-policy .privacy-policy-inner li {
    margin: 0 0 9px !important;
    padding-left: 4px;
}

.privacy-policy .privacy-policy-inner li:last-child {
    margin-bottom: 0 !important;
}

.privacy-policy .privacy-policy-inner li>ol,
.privacy-policy .privacy-policy-inner li>ul {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.privacy-policy .privacy-policy-inner ul li::marker {
    color: #529b26;
}

.privacy-policy .privacy-policy-inner ol li::marker {
    color: var(--color-main);
    font-weight: 700;
}


/* ============================================
   リンク
   ============================================ */

.privacy-policy .privacy-policy-inner a {
    color: #155b9d;
    text-decoration: underline;
    text-decoration-color: rgba(21, 91, 157, 0.35);
    text-underline-offset: 3px;
    transition:
        color 0.2s ease,
        text-decoration-color 0.2s ease;
}

.privacy-policy .privacy-policy-inner a:hover {
    color: #529b26;
    text-decoration-color: #529b26;
}


/* ============================================
   Google関連リンク
   ============================================ */

.privacy-policy .privacy-policy-inner>ul.wp-block-list {
    padding: 18px 22px 18px 42px !important;
    background: #f8fafc;
    border: 1px solid rgba(1, 34, 85, 0.1);
    border-radius: 8px;
}

.privacy-policy .privacy-policy-inner>ul.wp-block-list li {
    margin-bottom: 7px !important;
}


/* ============================================
   お問い合わせ窓口
   ============================================ */

.privacy-policy .privacy-policy-contact.wp-block-group {
    display: block !important;
    width: 100%;
    margin-top: 24px !important;
    padding: 8px 24px;
    background: #f5f7fa;
    border: 1px solid rgba(1, 34, 85, 0.12);
    border-radius: 8px;
}

.privacy-policy .privacy-policy-contact.wp-block-group>.wp-block-group__inner-container {
    display: block !important;
}

.privacy-policy .privacy-policy-contact .privacy-policy-contact-item {
    margin: 0 !important;
    padding: 16px 0;
    background: transparent;
    border-bottom: 1px solid rgba(1, 34, 85, 0.1);
    font-size: 15px;
    line-height: 1.8;
}

.privacy-policy .privacy-policy-contact .privacy-policy-contact-item:last-child {
    border-bottom: 0;
}

.privacy-policy .privacy-policy-contact .privacy-policy-contact-item strong {
    display: inline-block;
    margin-bottom: 3px;
    color: var(--color-main);
    font-size: 16px;
    font-weight: 700;
}


/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .privacy-policy .privacy-policy-inner {
        max-width: 860px;
    }

    .privacy-policy .privacy-policy-title {
        margin-top: 46px !important;
        font-size: 21px;
    }
}


/* ============================================
   スマホ
   ============================================ */

@media screen and (max-width: 767px) {
    .privacy-policy .privacy-policy-intro {
        margin-bottom: 38px !important;
        padding: 18px 20px;
        font-size: 14px;
        line-height: 1.9;
    }

    .privacy-policy .privacy-policy-title {
        margin: 40px 0 18px !important;
        padding: 0 0 12px 14px !important;
        font-size: 18px;
        line-height: 1.6;
    }

    .privacy-policy .privacy-policy-title::before {
        bottom: calc(0.2em + 12px);
        width: 3px;
    }

    .privacy-policy .privacy-policy-inner p {
        font-size: 14px;
        line-height: 1.9;
    }

    .privacy-policy .privacy-policy-inner ol,
    .privacy-policy .privacy-policy-inner ul {
        padding-left: 1.5em !important;
        font-size: 14px;
        line-height: 1.85;
    }

    .privacy-policy .privacy-policy-inner>ul.wp-block-list {
        padding: 16px 16px 16px 34px !important;
    }

    .privacy-policy .privacy-policy-contact.wp-block-group {
        padding: 6px 18px;
    }

    .privacy-policy .privacy-policy-contact .privacy-policy-contact-item {
        padding: 14px 0;
        font-size: 13px;
    }
}


/* ============================================
   共通フッター
   ============================================ */


/* ============================================
   SWELL フッターウィジェットエリア
   ============================================ */

.l-footer__widgetArea {
    color: #34445b;
    background: #ffffff !important;
    border-top: 1px solid rgba(1, 34, 85, 0.12);
}

.l-footer__widgetArea .w-footer {
    padding-top: 0;
    padding-bottom: 0;
}

.l-footer__widgetArea .widget {
    margin: 0 !important;
}


/* ============================================
   フッター全体
   ============================================ */

.kaitori-footer {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 64px 20px 52px;
    color: #34445b;
    text-align: left;
}

.kaitori-footer,
.kaitori-footer * {
    box-sizing: border-box;
}

.kaitori-footer a {
    text-decoration: none;
}

.kaitori-footer .kaitori-footer-grid.wp-block-columns {
    display: grid !important;
    grid-template-columns:
        minmax(240px, 1.35fr) minmax(150px, 0.75fr) minmax(150px, 0.75fr) minmax(260px, 1.15fr);
    gap: 48px !important;
    align-items: start;
    margin: 0 !important;
}

.kaitori-footer .kaitori-footer-column {
    min-width: 0;
    margin: 0 !important;
}


/* ============================================
   ロゴ・店舗情報
   ============================================ */

.kaitori-footer .kaitori-footer-logo {
    width: 176px;
    max-width: 100%;
    margin: 0 0 24px !important;
}

.kaitori-footer .kaitori-footer-logo a {
    display: block;
}

.kaitori-footer .kaitori-footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}

.kaitori-footer .kaitori-footer-shop-name {
    margin: 0 0 14px !important;
    color: var(--color-main);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
}

.kaitori-footer .kaitori-footer-address {
    margin: 0 !important;
    color: #536178;
    font-size: 14px;
    line-height: 1.9;
    overflow-wrap: anywhere;
}

.kaitori-footer .kaitori-footer-company,
.kaitori-footer .kaitori-footer-license {
    margin: 0 !important;
    color: #536178;
    font-size: 14px;
    line-height: 1.8;
}

.kaitori-footer .kaitori-footer-company {
    margin-top: 24px !important;
    padding-top: 20px;
    border-top: 1px solid rgba(1, 34, 85, 0.12);
}

.kaitori-footer .kaitori-footer-license {
    margin-top: 16px !important;
}

.kaitori-footer .kaitori-footer-label {
    display: inline-block;
    margin-bottom: 4px;
    color: var(--color-main);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.04em;
}


/* ============================================
   フッター見出し
   ============================================ */

.kaitori-footer .kaitori-footer-title {
    position: relative;
    margin: 0 0 24px !important;
    padding: 0 0 14px !important;
    color: var(--color-main);
    background: none !important;
    border: 0 !important;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
}

.kaitori-footer .kaitori-footer-title::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 48px;
    height: 3px;
    background: #fcc60e;
    border-radius: 999px;
    content: "";
}

.kaitori-footer .kaitori-footer-title::after {
    display: none !important;
}


/* ============================================
   フッターメニュー
   ============================================ */

.kaitori-footer .kaitori-footer-menu,
.kaitori-footer .kaitori-footer-menu .sub-menu {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.kaitori-footer .kaitori-footer-menu li {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

.kaitori-footer .kaitori-footer-menu a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    color: #45566d;
    font-size: 14px;
    line-height: 1.6;
    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.kaitori-footer .kaitori-footer-menu a::before {
    display: block;
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-top: 1px solid #fcc60e;
    border-right: 1px solid #fcc60e;
    content: "";
    transform: rotate(45deg);
}

.kaitori-footer .kaitori-footer-menu a:hover {
    color: #529b26;
    transform: translateX(3px);
}


/* 買取サービスの親リンクは見出しと重複するため非表示 */

.kaitori-footer .kaitori-footer-service-menu>.menu-item-has-children>a {
    display: none !important;
}

.kaitori-footer .kaitori-footer-service-menu>.menu-item-has-children>.sub-menu {
    margin: 0 !important;
    padding: 0 !important;
}


/* ============================================
   お問い合わせ
   ============================================ */

.kaitori-footer .kaitori-footer-contact-text {
    margin: 0 !important;
    color: #536178;
    font-size: 14px;
    line-height: 1.8;
}

.kaitori-footer .kaitori-footer-phone {
    margin-top: 20px !important;
    padding: 18px 20px;
    background: #f5f7fa;
    border-radius: 14px;
}

.kaitori-footer .kaitori-footer-phone-label {
    margin: 0 0 4px !important;
    color: #68758a;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
}

.kaitori-footer .kaitori-footer-phone .wp-block-shortcode {
    margin: 0 !important;
    padding: 0 !important;
}

.kaitori-footer .kaitori-footer-phone-link {
    display: inline-block;
    color: var(--color-main) !important;
    font-size: clamp(21px, 2vw, 26px);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.02em;
}

.kaitori-footer .kaitori-footer-phone-link:hover {
    color: #529b26 !important;
}

.kaitori-footer .kaitori-footer-contact-meta {
    margin: 10px 0 0 !important;
    color: #68758a;
    font-size: 12px;
    line-height: 1.7;
}


/* ============================================
   LINE・お問い合わせボタン
   ============================================ */

.kaitori-footer .kaitori-footer-buttons {
    display: grid !important;
    gap: 14px !important;
    margin-top: 14px !important;
    padding: 0 !important;
}

.kaitori-footer .kaitori-footer-button.swell-block-button {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.kaitori-footer .kaitori-footer-button .swell-block-button__link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100% !important;
    min-width: 0;
    min-height: 50px;
    margin: 0 !important;
    padding: 11px 18px !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    transition:
        opacity 0.2s ease,
        transform 0.2s ease;
}

.kaitori-footer .kaitori-footer-button .swell-block-button__link:hover {
    opacity: 0.82;
    transform: translateY(-2px);
}

.kaitori-footer .kaitori-footer-button .__icon {
    flex: 0 0 auto;
    width: 1.1em;
    height: 1.1em;
    fill: currentColor;
}


/* LINE */

.kaitori-footer .kaitori-footer-line .swell-block-button__link {
    color: #ffffff !important;
    background: var(--color-line) !important;
}


/* お問い合わせ */

.kaitori-footer .kaitori-footer-contact-button .swell-block-button__link {
    color: var(--color-main) !important;
    background: #fcc60e !important;
}


.kaitori-footer .kaitori-footer-button.kaitori-footer-line {
    margin-bottom: 14px !important;
}

/* ============================================
   メニューが見つからない場合
   ============================================ */

.kaitori-footer .kaitori-footer-menu-error {
    margin: 0 !important;
    padding: 10px;
    color: #a40000;
    background: #fff1f1;
    border: 1px solid #f0bcbc;
    font-size: 12px;
}


/* ============================================
   タブレット
   ============================================ */

@media screen and (max-width: 959px) {
    .kaitori-footer {
        padding: 54px 24px 46px;
    }

    .kaitori-footer .kaitori-footer-grid.wp-block-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 46px 40px !important;
    }

    .kaitori-footer .kaitori-footer-logo {
        width: 168px;
    }
}


/* ============================================
   スマホ
   ============================================ */

@media screen and (max-width: 767px) {
    .kaitori-footer {
        padding: 44px 20px 38px;
    }

    .kaitori-footer .kaitori-footer-grid.wp-block-columns {
        grid-template-columns: 1fr;
        gap: 38px !important;
    }

    .kaitori-footer .kaitori-footer-logo {
        width: 154px;
        margin-bottom: 20px !important;
    }

    .kaitori-footer .kaitori-footer-shop-name {
        font-size: 16px;
    }

    .kaitori-footer .kaitori-footer-title {
        margin-bottom: 18px !important;
        font-size: 17px;
    }

    .kaitori-footer .kaitori-footer-menu a {
        padding: 7px 0;
        font-size: 13px;
    }

    .kaitori-footer .kaitori-footer-phone {
        padding: 16px 18px;
    }

    .kaitori-footer .kaitori-footer-phone-link {
        font-size: 23px;
    }

    .kaitori-footer .kaitori-footer-button .swell-block-button__link {
        min-height: 48px;
        font-size: 13px;
    }
}




/* ========================================
お問い合わせフォーム
======================================== */

/* フォーム全体 */
.contact-form .contact-form-wrap {
    max-width: 900px;
    margin: 0 auto;
}

.contact-form .contact-intro-note {
    margin-bottom: 25px;
}

.contact-form .contact-form-inner {
    margin: 0;
}

/* 各入力項目 */
.contact-form .contact-form-inner>div {
    display: flex;
    border-top: 1px solid #e5e5e5;
}

.contact-form .contact-form-inner>div:last-child {
    border-bottom: 1px solid #e5e5e5;
}

.contact-form .contact-form-inner dt,
.contact-form .contact-form-inner dd {
    box-sizing: border-box;
    margin: 0;
    padding: 25px 20px;
}

.contact-form .contact-form-inner dt {
    width: 28%;
    font-weight: 700;
    background-color: #f5f7fa;
}

.contact-form .contact-form-inner dd {
    width: 72%;
}

/* 必須マーク */
.contact-form .required-mark {
    display: inline;
    margin-left: 4px;
    color: #d60000;
    font-size: 14px;
    font-weight: 700;
}

/* 入力欄 */
.contact-form .contact-form-inner input[type="text"],
.contact-form .contact-form-inner input[type="email"],
.contact-form .contact-form-inner input[type="tel"],
.contact-form .contact-form-inner textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #cccccc;
    border-radius: 4px;
    background-color: #ffffff;
    font-size: 16px;
    line-height: 1.6;
}

.contact-form .contact-form-inner textarea {
    min-height: 180px;
    resize: vertical;
}

.contact-form .contact-form-inner input[type="text"]:focus,
.contact-form .contact-form-inner input[type="email"]:focus,
.contact-form .contact-form-inner input[type="tel"]:focus,
.contact-form .contact-form-inner textarea:focus {
    border-color: var(--color-main);
    outline: none;
    box-shadow: 0 0 0 2px rgba(1, 34, 85, 0.12);
}

/* プレースホルダー */
.contact-form .contact-form-inner input::placeholder,
.contact-form .contact-form-inner textarea::placeholder {
    color: #999999;
}

/* ラジオボタン・チェックボックス */
.contact-form .contact-form-inner .wpcf7-list-item {
    display: block;
    margin: 0 0 5px;
}

.contact-form .contact-form-inner .wpcf7-list-item:last-child {
    margin-bottom: 0;
}

.contact-form .contact-form-inner .wpcf7-list-item label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.contact-form .contact-form-inner input[type="radio"],
.contact-form .contact-form-inner input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    flex-shrink: 0;
    accent-color: var(--color-main);
}

/* ご相談の品物 */
/* .contact-form .contact-form-inner .item-category {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px 18px;
} */

.contact-form .contact-form-inner .item-category .wpcf7-list-item {
    margin: 0 0 10px;
}

.contact-form .contact-form-inner .item-category .wpcf7-list-item label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    line-height: 1.5;
}

.contact-form .contact-form-inner .item-category input[type="checkbox"] {
    margin-top: 3px;
}

/* 補足文 */
.contact-form .field-note {
    margin: 8px 0 0;
    font-size: 14px;
    line-height: 1.7;
}

/* Contact Form 7 エラー */
.contact-form .wpcf7-not-valid-tip {
    margin-top: 8px;
    color: #d60000;
    font-size: 14px;
    font-weight: 500;
}

/* プライバシーポリシー */
.contact-form .wpcf7 form .acceptance-privacy-policy {
    margin-top: 35px;
    padding: 30px;
    background-color: #f5f7fa;
    border-radius: 6px;
}

.contact-form .acceptance-privacy-policy p {
    margin: 0 0 15px;
    line-height: 1.8;
}

.contact-form .acceptance-privacy-policy .wpcf7-list-item {
    margin: 0;
}

.contact-form .acceptance-privacy-policy label {
    display: inline-flex;
    align-items: flex-start;
    gap: 8px;
}

.contact-form .acceptance-privacy-policy input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: var(--color-main);
}

.contact-form .acceptance-privacy-policy a {
    color: var(--color-main);
    font-weight: 700;
    text-decoration: underline;
}

.contact-form .acceptance-privacy-policy a:hover {
    text-decoration: none;
}

/* 確認・送信ボタン */
.contact-form .contact-form-btn-send {
    margin: 50px 0 20px;
    padding: 0 15px;
    text-align: center;
}

.contact-form .contact-form-btn-send input,
.contact-form .contact-form-btn-send button {
    width: min(100%, 280px);
    padding: 15px 25px;
    border: none;
    border-radius: 5px;
    background-color: var(--color-main);
    color: #ffffff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background-color 0.2s,
        transform 0.2s;
}

.contact-form .contact-form-btn-send input:hover,
.contact-form .contact-form-btn-send button:hover {
    background-color: #023b8c;
    transform: translateY(-1px);
}

/* 送信結果メッセージ */
.contact-form .wpcf7 form .wpcf7-response-output {
    margin: 30px 0 0;
    padding: 20px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
}

.contact-form .wpcf7 form.sent .wpcf7-response-output {
    border-color: #529b26;
    color: #336b18;
}

.contact-form .wpcf7 form.invalid .wpcf7-response-output {
    border-color: #d60000;
    color: #d60000;
}

/* スピナー */
.contact-form .wpcf7-spinner {
    margin: 15px auto 0;
}

/* reCAPTCHA補足 */
.contact-form .contact-recaptcha {
    margin-top: 50px;
    color: #6e6e6e;
    font-size: 13px;
    line-height: 1.7;
}

/* ========================================
スマートフォン
======================================== */

@media screen and (max-width: 767px) {

    .contact-form .l-article {
        padding-right: 15px;
        padding-left: 15px;
    }

    .contact-form .contact-intro-lead,
    .contact-form .contact-intro-note {
        text-align: left;
    }

    .contact-form .contact-form-inner>div {
        flex-direction: column;
    }

    .contact-form .contact-form-inner dt,
    .contact-form .contact-form-inner dd {
        width: 100%;
    }

    .contact-form .contact-form-inner dt {
        padding: 15px;
    }

    .contact-form .contact-form-inner dd {
        padding: 18px 15px 25px;
    }

    .contact-form .contact-form-inner input[type="text"],
    .contact-form .contact-form-inner input[type="email"],
    .contact-form .contact-form-inner input[type="tel"],
    .contact-form .contact-form-inner textarea {
        font-size: 16px;
    }

    /* .contact-form .contact-form-inner .item-category {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 12px;
	} */

    .contact-form .wpcf7 form .acceptance-privacy-policy {
        padding: 20px 15px;
    }

    .contact-form .contact-form-btn-send {
        margin-top: 35px;
        padding: 0;
    }

    .contact-form .contact-form-btn-send input,
    .contact-form .contact-form-btn-send button {
        width: 100%;
    }
}

/* ========================================
お問い合わせフォーム 確認モーダル
======================================== */

/* モーダル背景 */
#confirm-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    padding: 20px;
    background-color: rgba(0, 0, 0, 0.55);
}

/* モーダル本体 */
#confirm-modal .modal-box {
    position: relative;
    width: 90%;
    max-width: 600px;
    max-height: 70vh;
    margin: auto;
    padding: 20px;
    overflow-y: auto;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.2);
}

/* モーダル見出し */
#confirm-modal .modal-heading {
    margin: -20px -20px 20px;
    padding: 15px 20px;
    background-color: var(--color-main);
    border-radius: 8px 8px 0 0;
    color: #ffffff;
    font-size: 18px;
    text-align: center;
}

/* 確認内容 */
#confirm-content p {
    margin: 0;
    padding: 15px 0;
    border-bottom: 1px solid #e5e5e5;
    line-height: 1.8;
}

#confirm-content p:first-child {
    border-top: 1px solid #e5e5e5;
}

#confirm-content strong {
    color: var(--color-main);
}

/* 戻る・送信ボタン */
#confirm-buttons {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 30px;
}

#confirm-buttons button {
    min-width: 150px;
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition:
        background-color 0.2s,
        transform 0.2s;
}

/* 修正するボタン */
#back-btn {
    background-color: #e5e5e5;
    color: #333333;
}

#back-btn:hover {
    background-color: #d5d5d5;
    transform: translateY(-1px);
}

/* 送信するボタン */
#final-submit-btn {
    background-color: var(--color-main);
    color: #ffffff;
}

#final-submit-btn:hover {
    background-color: #023b8c;
    transform: translateY(-1px);
}

/* ========================================
確認モーダル スマートフォン
======================================== */

@media screen and (max-width: 767px) {

    #confirm-modal {
        top: 110px;
        right: 0;
        bottom: 64px;
        left: 0;
        width: auto;
        height: auto;
        padding: 14px;
        box-sizing: border-box;
        align-items: flex-start;
        overflow-x: hidden;
        overflow-y: hidden;
    }

    #confirm-modal .modal-box {
        display: flex;
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        max-height: 100%;
        min-width: 0;
        padding: 0 20px 20px;
        box-sizing: border-box;
        border-radius: 12px;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    #confirm-content,
    #confirm-content * {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    #confirm-buttons {
        flex-direction: column-reverse;
        gap: 12px;
        width: 100%;
        box-sizing: border-box;
    }

    #confirm-buttons button {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}











/* 店舗情報ページのタイトル背景位置 */
.page-id-314 #top_title_area .l-topTitleArea__img {
    object-position: center 30%;
}

/* 買取サービス紹介ページのタイトル背景位置 */
.page-id-291 #top_title_area .l-topTitleArea__img {
    object-position: center 93%;
}

@media screen and (max-width: 767px) {
    .page-id-291 #top_title_area .l-topTitleArea__img {
        object-position: center 64%;
    }
}

/* 買取品目ページのタイトル背景位置 */
.page-id-367 #top_title_area .l-topTitleArea__img {
    object-position: center 95%;
}

/* 対応エリアページのタイトル背景位置 */
.page-id-444 #top_title_area .l-topTitleArea__img {
    object-position: center 73%;
}

/* よくあるご質問ページのタイトル背景位置 */
.page-id-187 #top_title_area .l-topTitleArea__img {
    object-position: center 92%;
}

/* お問い合わせページのタイトル背景位置 */
.page-id-473 #top_title_area .l-topTitleArea__img {
    object-position: center 30%;
}


/* reCAPTCHAバッジの表示位置 */
.grecaptcha-badge {
    z-index: 999999;
    bottom: 140px !important;
}




/* ============================================
   スマホ下部固定お問い合わせ
   ============================================ */

.mobile-contact-bar {
    display: none;
}


/* ============================================
   スマホ
   ============================================ */

@media screen and (max-width: 767px) {

    body {
        padding-bottom: 52px;
    }

    /* SWELLのページトップボタンを固定バーの上へ移動 */

    .p-fixBtnWrap {
        right: 12px !important;
        bottom: 72px !important;
        z-index: 1000;
    }

    .mobile-contact-bar {
        position: fixed;
        z-index: 999;
        right: 0;
        bottom: 0;
        left: 0;
        display: flex;
        align-items: stretch;
        width: 100%;
        height: 52px;
        margin: 0;
        padding: 0;
        gap: 0;
        box-shadow: 0 -4px 14px rgba(1, 34, 85, 0.18);
    }

    .mobile-contact-bar .mobile-contact-item {
        display: flex;
        flex: 1 1 0;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 2px;
        box-sizing: border-box;
        width: 0;
        height: 52px;
        min-width: 0;
        margin: 0;
        padding: 5px 3px;
        border: 0;
        border-radius: 0;
        font-size: 10.5px;
        font-weight: 700;
        line-height: 1.15;
        text-align: center;
        text-decoration: none !important;
        -webkit-tap-highlight-color: transparent;
    }

    .mobile-contact-bar .mobile-contact-item+.mobile-contact-item {
        border-left: 1px solid rgba(255, 255, 255, 0.35);
    }

    .mobile-contact-bar .mobile-contact-icon {
        display: block;
        flex: 0 0 auto;
        width: 22px;
        height: 22px;
        fill: currentColor;
    }

    /* LINE */

    .mobile-contact-bar .mobile-contact-line {
        color: #ffffff !important;
        background: #06c755;
    }

    /* 電話 */

    .mobile-contact-bar .mobile-contact-phone {
        color: #012255 !important;
        background: #fcc60e;
    }

    /* お問い合わせ */

    .mobile-contact-bar .mobile-contact-form {
        color: #ffffff !important;
        background: #012255;
    }

    .mobile-contact-bar .mobile-contact-item:hover,
    .mobile-contact-bar .mobile-contact-item:focus {
        opacity: 0.9;
    }
}