@charset "UTF-8";

/*
    Template: swell
    Theme Name: junsen-theme
    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
*/
header#header, .l-fixHeader:before {
    background: radial-gradient(circle, #171776 0%, #000032 100%);
    display: grid;
    box-shadow: 0px 10px 15px -14px #000000;
}

.c-gnav a::after {
    background: var(--decorative-line-gradient);
    height: 2.5px;
}

.is-style-more_btn a {
    background: none;
    display: inline;
    color: #ffffff;
    box-shadow: none;
}

.is-style-more_btn a:hover {
    background-color: var(--color_main);
    box-shadow: none;
    color: #fff;
}

/* div#content {
    display: block;
} */

.breadcrumb {
    font-size: 14px;
    margin-bottom: 1em;
}

.breadcrumb ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.breadcrumb li {
    display: flex;
    align-items: center;
}

.breadcrumb li+li::before {
    content: " > ";
    color: #999;
    padding: 0 5px;
}

.breadcrumb li a {
    color: #0073aa;
    text-decoration: none;
}

.breadcrumb li a:hover {
    text-decoration: underline;
}


/* TOPページ */
/* body {
    background: radial-gradient(circle, #171776 0%, #000032 40%);
}

div#about-section {
    background: radial-gradient(circle, #171776 0%, #000032 100%);
} */

h2.about-title {
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.2;
}

p.about-intro {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

.br-sp {
    display: none;
}

/* NOTE: ブレークポイント 781px, 769px, 767px, 764px などが混在しています。統一を検討してください。 */
@media (max-width: 781px) {
    .br-sp {
        display: block;
    }

    p.about-intro {
        font-size: 18px;
    }
}

.wp-block-group.section-title .wp-block-image img {
    vertical-align: middle !important;
    margin: auto;
}

.dounyusu {
    background-color: white;
    border-radius: 50px;
    color: #0000ff;
    padding: 1px;
    font-weight: bold;
}

h5.wp-block-heading.place-name {
    font-size: 20px;
    background: #E0EAFF;
    /* padding: 2px; */
    width: 200px;
    border-radius: 30px;
    text-align: center;
    color: #171776;
    margin-bottom: 20px !important;
}

.todoufuken-list {
    background-image: url("https://shibata-corp.co.jp/junsen/wp-content/uploads/2025/06/japan-map.webp");
    background-position: top right;
    background-repeat: no-repeat;
    /* 画像を繰り返さない場合 */
}

/* トップ県並び */
div#store-intro {
    padding-bottom: 0px !important;
}

.todoufuken-flex a {
    color: #ffffff;
}

h6.new-icon.new-icon03 {
    color: transparent;
    /* #00000000 と同じ */
}

.wp-block-group.is-row.is-nowrap.is-layout-flex.wp-container-core-group-is-layout-e3e06330.wp-block-group-is-layout-flex {
    /* NOTE: 0.5px の指定はブラウザによって1pxとして扱われることがあります */
    border-bottom: 0.5px dotted;
    padding-bottom: 3px;
}

.new-icon03 {
    margin-bottom: -10px !important;
}

.wp-block-group.todoufuken-flex .wp-block-group__inner-container {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 85%;
    font-size: 22px;
    gap: 0px 20px !important;
}

/* ゴールドの線 */
:root {
    --decorative-line-gradient: linear-gradient(135deg, rgba(255, 252, 228, 1) 0%, rgba(246, 223, 122, 1) 25%, rgba(207, 133, 41, 1) 50%, rgba(246, 223, 122, 1) 75%, rgba(255, 252, 228, 1) 100%);
}

.custom-pseudo-element-target,
.custom-pseudo-element-target-left {
    position: relative;
}

.custom-pseudo-element-target::after,
/* :after から ::after へ変更 */
.custom-pseudo-element-target-left::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 2px;
    background: var(--decorative-line-gradient);
    transform-origin: left center;
    z-index: 1;
}

.custom-pseudo-element-target::after {
    top: 30px;
    left: 65%;
    transform: rotate(-20deg);
}

.custom-pseudo-element-target-left::before {
    top: -29px;
    left: 20%;
    transform: rotate(210deg);
}

@media (max-width: 781px) {
    .wp-block-group.todoufuken-flex .wp-block-group__inner-container {
        width: 100%;
        font-size: 16px;
        gap: 0;
        /* 0px から 0 へ変更 (より簡潔) */
    }

    .custom-pseudo-element-target::after,
    /* :after から ::after へ変更 */
    .custom-pseudo-element-target-left::before {
        display: none;
    }
}

/* 弧 */
.curved-svg {
    height: 300px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><defs><linearGradient id="goldGradient" x1="0" y1="0" x2="1" y2="1"><stop offset="0%" stop-color="rgba(255,252,228,1)" /><stop offset="25%" stop-color="rgba(246,223,122,1)" /><stop offset="50%" stop-color="rgba(207,133,41,1)" /><stop offset="75%" stop-color="rgba(246,223,122,1)" /><stop offset="100%" stop-color="rgba(255,252,228,1)" /></linearGradient></defs><path d="M0,0 C25,100 75,100 100,0 L100,100 L0,100 Z" fill="rgba(0,0,0,0.5)" /><path d="M0,0 C25,100 75,100 100,0" fill="none" stroke="url(%23goldGradient)" stroke-width="2" /></svg>') no-repeat center center / 105% 100%;
}

.curved-svg01 {
    height: 300px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="none"><defs><linearGradient id="goldGradient" x1="0" y1="0" x2="1" y2="1"><stop offset="0%" stop-color="rgba(255,252,228,1)" /><stop offset="25%" stop-color="rgba(246,223,122,1)" /><stop offset="50%" stop-color="rgba(207,133,41,1)" /><stop offset="75%" stop-color="rgba(246,223,122,1)" /><stop offset="100%" stop-color="rgba(255,252,228,1)" /></linearGradient></defs><path d="M0,100 C25,0 75,0 100,100 L100,0 L0,0 Z" fill="rgba(0,0,0,0.5)" /><path d="M0,100 C25,0 75,0 100,100" fill="none" stroke="url(%23goldGradient)" stroke-width="2" /></svg>') no-repeat center center / 105% 100%;
}

@media (max-width: 764px) {
    .curved-svg, .curved-svg01 {
        height: 100px;
    }
}

.voice-column {
    margin: 6em 0 3em;
}

div#carve-contents {
    margin-bottom: 0 !important;
    background-color: rgb(0 0 0 / 50%);
    /* rgba(0,0,0,0.5) と同じ */
    /* z-index: -2; */
    padding: 4em 0;
}

#carve-section .wp-block-group__inner-container>* {
    margin-bottom: 0 !important;
}

#carve-section .swell-block-button.blue_.is-style-btn_shiny {
    margin: 4em auto;
}

@media (max-width: 768px) {
    #carve-section .swell-block-button.blue_.is-style-btn_shiny {
        margin: 2em auto;
    }
}

/* お客様の声 */
.voice-wrapper {
    display: flex;
    flex-direction: column;
    gap: 100px;
    padding: 40px 20px;
    color: #4d4d4d;
}
.voice-block {
    display: flex;
    align-items: flex-start;
    position: relative;
    flex-direction: row;
}

.voice-block.right {
    flex-direction: row-reverse;
}

.voice-image {
    width: 50%;
    z-index: 2;
}

.voice-image img {
    width: 100%;
    height: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    display: block;
    /* 画像下の余白対策*/
}

.voice-text {
    background: white;
    padding: 1.5em 1.5em 1.5em 2em;
    width: 45%;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 1;
    position: relative;
    margin-top: 1.5em;
}

.voice-block.left .voice-text {
    margin-left: -0.5em;
}

.voice-block.right .voice-text {
    margin-right: -0.5em;
}

@media (max-width: 768px) {

    .voice-block.left .voice-text, .voice-block.right .voice-text {
        margin: auto 0;
    }

    /* .voice-block.right .voice-text {
    margin-right: -0;
} */

    .voice-wrapper {
        gap: 30px;
    }

    .voice-block {
        flex-direction: column;
        align-items: center;
    }

    .voice-image {
        display: none;
        /* スマホでは画像非表示 */
        margin: 0;
    }

    .voice-text {
        width: 100%;
        margin: 0;
        /* これで margin-left, margin-right も 0 になる */
    }

    /*
    .voice-block.right .voice-text, .voice-block.left .voice-text {
        margin: 0;  <-- 上の .voice-text { margin: 0; } でカバーされるため削除
    }
  */
}

/* youtube-セクション */
div#youtube-section {
    padding-top: 0em !important;
    margin-top: -3em;
}

#youtube-section .custom-pseudo-element-target::after {
    top: -16px;
}

@media screen and (max-width: 767px) {
    div#youtube-section {
        margin-top: -1em;
    }
}

/* フッター全体 */
/* NOTE: 以下の body, *, a, img のスタイルはグローバルに影響します。フッター内に限定するか、ファイルの先頭に記述することを推奨します。 */
body {
    margin: 0;
    font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
    line-height: 1.6;
    color: #333;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

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

img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* フッター内のリンクと画像に限定したスタイル */
.footer-container.alignfull a {
    text-decoration: none;
    /* color: inherit; */
}

.footer-container.alignfull img {
    /* フッター内の画像に限定 */
    max-width: 100%;
    height: auto;
    display: block;
}

/* フッター全体 (フルワイドの背景) */
.footer-container.alignfull {
    background-color: #81819d;
    padding: 40px 0;
    color: #2c3a63;
    display: flex;
    justify-content: center;
    flex-wrap: nowrap;
    padding-left: 20px;
    padding-right: 20px;
}

/* 左側ナビゲーション */
.footer-container.alignfull .footer-nav {
    flex: 0 0 220px;
    margin-right: 40px;
}

.footer-container.alignfull .footer-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-container.alignfull .footer-nav li {
    margin-bottom: 12px;
}

.footer-container.alignfull .footer-nav li::before {
    content: '■';
    margin-right: 8px;
    color: #ffffff;
    line-height: 15px;
    /* ■の高さと合わせる調整が必要な場合あり */
    font-size: 30px;
}

.footer-container.alignfull .footer-nav a {
    font-size: 1em;
    color: #171776;
}

.footer-container.alignfull .footer-nav a:hover {
    text-decoration: underline;
}

/* 右側メインコンテンツ */
.footer-container.alignfull .footer-main-content {
    flex: 1 1 auto;
    max-width: calc(1200px - 220px - 40px - 40px);
    /* 親のpaddingを含む場合は注意 */
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* CTAセクション */
.footer-container.alignfull .cta-section {
    text-align: center;
}

.cta-button {
    line-height: normal;
    width: 100%;
    display: inline-block;
    background-color: #171776;
    color: #fff!important;
    padding: 15px 40px;
    border-radius: 15px;
    font-size: 25px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
    transition: background-color 0.3s;
     text-decoration: none!important;
}




.cta-button:hover {
    background-color: #03032b;
}
.footer-container.alignfull .cta-note {
    font-size: 0.8em;
    color: #2c3a63;
    margin: 0;
}

/* 会社情報エリア */
.footer-container.alignfull .company-info-area {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 15px;
    padding-top: 10px;
}

.footer-container.alignfull .ufb-details {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    flex: 1;
}

.footer-container.alignfull .ufb-logo-img {
    /* クラス名で画像を指定 */
    width: 100px;
    height: auto;
    flex-shrink: 0;
}

.footer-container.alignfull .ufb-text {
    font-size: 0.8em;
    color: #ffffff;
    font-weight: normal;
}

.footer-container.alignfull .ufb-text p {
    margin: 0 0 5px 0;
}

a.cta-button span {
    /* フッター内のctaボタン内のspanを想定 */
    font-size: 16px;
    margin-right: 1em;
}

.shibata-logo-footer {
    /* フッター内のロゴを想定 */
    background-color: #ffffff;
    padding: 10px;
    width: 28%;
    min-width: 200px;
}

.shibata-logo-footer img {
    margin: auto;
}

.shibata-logo-footer.shibata-logo-footer-sp {
    display: none;
}

/* レスポンシブ対応 */
@media screen and (max-width: 767px) {
   .cta-button {
        line-height: 15px;
    }

    /* nav.footer-nav より詳細度を合わせるか高くする */
    .footer-container.alignfull .footer-nav {
        display: none;
    }

    .shibata-logo-footer.shibata-logo-footer-sp {
        display: grid;
        place-content: center;
    }

    .shibata-logo-footer-pc {
        /* HTMLにこのクラスがある想定 */
        display: none;
    }

    .ufb-details-img {
        /* HTMLにこのクラスがある想定 */
        display: flex;
        justify-content: center;
        gap: 30px;
    }

    .shibata-logo-footer {
        width: auto;
        max-width: 200px;
    }

    .footer-container.alignfull {
        align-items: center;
        gap: 30px;
        /* padding-left, padding-right は維持 */
    }

    .footer-container.alignfull .footer-main-content {
        width: 100%;
        max-width: 600px;
        align-items: center;
    }

    .footer-container.alignfull .company-info-area {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .footer-container.alignfull .ufb-details {
        flex-direction: column;
        align-items: center;
        margin-bottom: 20px;
    }

    .footer-container.alignfull .ufb-text p {
        /* 詳細度を上げておく */
        text-align: left;
    }

  a.cta-button {
        /* 詳細度を上げておく */
        display: grid;
        place-content: center;
    }
}

/* aboutページここから */
.c-tabList__button {
    padding: 1em 2em;
    border: none;
    cursor: pointer;
    position: relative;
    font-weight: bold;
    clip-path: polygon(0 100%, 100% 100%, 90% 0, 10% 0);
    /* 台形 */
    font-size: 20px;
}

.is-style-default .c-tabBody {
    border: none;
}

/* タブ1（白） */
.is-style-default>.c-tabList .c-tabList__button[aria-controls="tab-9c8d50fa-0"] {
    background-color: white !important;
    color: #171776;
}

/* タブ2（#d7e4ff） */
.is-style-default>.c-tabList .c-tabList__button[aria-controls="tab-9c8d50fa-1"] {
    background-color: #d7e4ff !important;
}

/* 全体の色指定はaria-selectedで制御 */
.is-style-default>.c-tabList .c-tabList__button {
    color: rgba(23, 23, 118, 0.5);
    /* 薄い */
}

.is-style-default>.c-tabList .c-tabList__button[aria-selected="true"] {
    color: rgba(23, 23, 118, 1);
    /* 濃い */
}

.about-tab p {
    color: #4d4d4d!important;
}

/* .is-style-default>.c-tabList .c-tabList__button:hover {
    color: rgba(23, 23, 118) !important;
} */

.wp-block-group.merit {
    position: relative;
    padding: 2em 2em 0;
    background: none;
    z-index: 0;
}

.wp-block-group.merit::before {
    content: "";
    position: absolute;
    top: -35em;
    left: -2em;
    right: -2em;
    bottom: 2em;
    background-image: url('https://shibata-corp.co.jp/junsen/wp-content/uploads/2025/06/AdobeStock_324909706.webp');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -1;
    pointer-events: none;
}

.wp-block-group.negative-margin {
    margin-bottom: 18em;
}

div#before_footer_widget {
    margin: 0 auto;
}

.combination-section .wp-block-group__inner-container> :first-child {
    margin-bottom: 0;
}

figure.negative-margin-small {
    margin-top: -7em;
}

p.negative-margin-small {
    margin-top: -3em;
}

.fx-container figure.wp-block-image.size-full {
    display: grid;
    justify-items: right;
}

.about-p-flex {
    padding: 0 0 0 1em !important;
}

h3.under-line {
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-color: currentColor;
    text-decoration-thickness: 2px;
}

.wp-block-group.is-row.pc_only.horizontally {
    justify-content: center;
    align-items: center;
    gap: 3px;
}

.wp-block-group.is-stack.vertically {
    align-items: center;
    gap: 0px;
}

@media screen and (max-width: 767px) {
    figure.negative-margin-small {
        margin-top: -3em;
    }

    .about-tab button.c-tabList__button {
        font-size: 14px;
    }

    h3.under-line {
        padding: 0;
    }

    h3.under-line {
        padding: 0;
        line-height: revert-layer;
    }

    .wp-block-group.merit::before {
        top: -82em;
        left: -1.5em;
        right: -1.5em;
    }

    .merit .wp-block-columns.is-not-stacked-on-mobile {
        /* HTMLで .merit クラスが付与されている想定 */
        gap: 5px !important;
    }
}

/* 全角の閉じ括弧を修正 */

.wp-block-column.gold-triangle {
    position: relative;
    background-color: #ffffff;
    padding: 1em;
}

.wp-block-column.gold-triangle::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg,
            #fff8dc 0%,
            #f6df7a 5%,
            #c67c1f 10%,
            #f6df7a 20%,
            #fff8dc 30%);
    clip-path: polygon(0 0, 20% 0, 0 20%);
    z-index: 5;
}

.ufb-tokucho-2 {
    position: relative;
    gap: 0px !important;
}

.ufb-tokucho-icon {
    z-index: 99;
}

.ufb-tokucho-group {
    margin-bottom: 27em !important;
}

@media screen and (max-width: 767px) {
    .wp-block-group.merit {
        padding: 0;
    }

    div#tab-9c8d50fa-1 .wp-block-group.merit::before {
        top: -45em;
    }

    .ufb-tokucho-group {
        margin-bottom: 15em !important;
    }

    .wp-block-group.merit figure.wp-block-image.size-full {
        width: 40px;
    }

    .about-tab .c-tabBody {
        padding-bottom: 0 !important;
    }

}


/* 追従ボタン */

.float-btn {
    position: sticky;
    z-index: 1000;
    cursor: pointer;
    bottom: 40%;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.float-btn-ufb {
    display: grid;
    justify-content: right;
    transform: translateX(calc(var(--swl-pad_container, 0) + 1.5em))translateY(-1.5em);

}

.float-btn-jun {
    transform: translateX(calc(-1 * (var(--swl-pad_container, 0) + 1.5em))) translateY(-1.5em);

}


.wp-block-group.combination-section {
    margin-bottom: 0 !important;
}

.merit .wp-block-column {
    display: grid;
    justify-content: flex-end;
}

#tab-9c8d50fa-1 .merit .wp-block-column {
    justify-content: left;
}

/* コンタクトフォーム */
.cf7__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 60px;
}

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
    margin-top: 30px;
}

.cf7__list dt {
    width: 35%;
    padding-top: 15px;
}

.cf7__list dd {
    width: 65%;
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
    margin-right: 15px;
    padding: 6px 14px;
    color: #fff;
    font-size: 12px;
    vertical-align: 1px;
}

.cf7__required {
    background: #BE1D1D;
}

.cf7__optional {
    background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
    width: 100%;
    padding: 15px 20px;
    background: #F4F4F4;
}

/* ドロップダウンメニュー */
.cf7__select {
    position: relative;
}

.cf7__select:before {
    position: absolute;
    top: 50%;
    right: 20px;
    z-index: 10;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 8px solid #000;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
    pointer-events: none;
    content: '';
}

.cf7__select select {
    width: 100%;
    padding: 19px 20px;
    background: #F4F4F4;
    color: #a5a5a5;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
    display: block;
    padding: 15px 0 10px;
}

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
    display: block;
    margin: 0;
}

.cf7__list dd .wpcf7-list-item:nth-child(n + 2) {
    margin-top: 18px;
}

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
    cursor: pointer;
}

/* チェックボックス・ラジオボタン */
input[type="checkbox"],
input[type="radio"] {
    position: relative;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    border: 1px solid #bcbcbc;
    vertical-align: -3px;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* チェックボックス */
input[type="checkbox"]:checked {
    border: 1px solid #000;
    background: #000;
}

input[type="checkbox"]:checked:before {
    position: absolute;
    top: 2px;
    left: 5px;
    transform: rotate(50deg);
    width: 6px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    content: '';
}

/* ラジオボタン */
input[type="radio"] {
    border-radius: 50%;
}

input[type="radio"]:checked:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #000;
    content: '';
}

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
    color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
    color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
    color: #a5a5a5;
}

/* 送信ボタン */
.cf7__button {
    padding-left: 72px;
    text-align: center;
}

input[type="submit"] {
    width: 260px;
    height: 60px;
    background: #000;
    color: #fff;
    transition: opacity .6s;
}

input[type="submit"]:hover {
    opacity: .6;
}

/* ajax-loader */
.wpcf7-spinner {
    vertical-align: middle;
}

dd.zip-cord p {
    width: 7em;
}

@media screen and (max-width: 767px) {

    .cf7__list dt {
        width: 100%;
        margin-bottom: 15px;
        padding-top: 0;
    }

    .cf7__list dd {
        width: 100%;
    }

    .cf7__list dd:nth-of-type(n + 2) {
        margin-top: 0;
    }

    .cf7__list dd .wpcf7-checkbox,
    .cf7__list dd .wpcf7-radio {
        padding: 15px 0 0;
    }

    /* 送信ボタン */
    input[type="submit"] {
        width: 180px;
        height: 56px;
    }

}

.grecaptcha-badge {
    display: none !important;
    /* サイト全体にrecaptchaマーク非表示 */
}

/* コンタクトフォームここまで */

/* 県別,全国一覧ここから */
.stations-in-city {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    gap: 2em 6%;
    margin-top: 1em;
}

.shop-info-container {
    width: 47%;
    border-left: 1px solid #171776;
    border-bottom: 1px solid #171776;
    padding: 0 0px 20px 20px;
}

.shop-title {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
}

.shop-logobtn {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: space-between;
}

.shop-imgtitle img {
    aspect-ratio: 1.91/ 1;
    object-fit: cover;
}



.shop-imgtitle {
    width: 45%;
}



.shop-map-btn {
    border: 1px solid #171776;
    padding: 5px 0px;
    border-radius: 30px;
    display: block;
    width: 50%;
    text-align: center;
    margin-bottom: 0;
}

img.grade-logo {
    width: 45%;
}

.shop-info-container .is-style-more_btn a {

    color: #000000;

}

.shop-name-area {
    width: 50%;
}

p.shop-name {
    font-weight: bold;
    border-bottom: 1px solid black;
    margin-bottom: 5px;
}

p.shop-adress {
    font-weight: normal;
}

.city-block h3 {
    margin-bottom: 4px;
    background: #0c0c57;
    display: inline-block;
    padding: 5px 18px;
    color: white;
}

.city-block h3:hover {
opacity:0.5;
}

.city-block {
    margin-bottom: 3em;
}

.city-block {
    margin-left: auto;
    margin-right: auto;
    max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px)*2);
    padding-left: var(--swl-pad_container, 0);
    padding-right: var(--swl-pad_container, 0);
    color: black;

}

.main-content-white-bg {
    background-color: #ffffff;
    color: #333333;
    padding: 4em 0;
    border-radius: 8px;
    margin-top: 3em;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: -6em;
}

h2.shop-list-h2 {
    margin-bottom: 2em;
    font-size: 20px;
}

@media screen and (max-width: 767px) {
    .shop-logobtn,.shop-title {
    display: block;
    align-items: center;
}

img.grade-logo {
    width: 100%;
    max-width: 200px;
    margin-bottom: 10px;
    margin: 0 auto 10px;
}

.shop-map-btn,.shop-name-area,.shop-imgtitle {
    width: 100%;
}

a.map-button {
    padding: 0 32px;
}

.stations-in-city {

    gap: 2em 20px;
}

.shop-title {
    margin-bottom: 10px;
}

}

/* 県別,全国一覧ここまで */



.is-style-more_btn a:hover {
    background-color: transparent;
    opacity: 0.5;
}

.shibata-logo-footer a:hover {
    opacity: 0.5;
}

.swell-block-button.is-style-btn_shiny {
  position: relative; /* z-index を有効にするために static 以外にする */
  z-index: 10;      /* 他の重なっている要素よりも大きい値を指定する。状況に応じて調整してください。 */
}


.l-header__spNav {
    display: none;
}

/* プライバシーポリシー */
.privacy-policy-scroll-box {
    height: 200px;
    overflow-y: scroll;
    border: 1px solid #ccc;
    padding: 15px;
    background-color: #f9f9f9;
    margin-bottom: 3em;
    font-size: 0.8em;
    font-weight: normal;
}