/*
    common.css

    This file is the "jewelryreformdotnet" common css.

    [CSS List]
    0.reset.css: The new CSS reset - version 1.8.2 (last updated 23.12.2022)
    1.properties.css: A CSS file containing only custom properties.
    2.base.css: A CSS file that describes the specifications of the entire site.
    3.common.css: A CSS file specifies common styles within your site, including headers and footers.

*/

/* TABLE OF CONTENTS
------------------------------------------------------------
* helper (is_)         繝倥Ν繝代�
* id                   id
* layout (is_)         繝ｬ繧､繧｢繧ｦ繝�
* section,article      繧ｻ繧ｯ繧ｷ繝ｧ繝ｳ繝ｻ繧｢繝ｼ繝�ぅ繧ｯ繝ｫ蜈ｱ騾�
* heading              隕句�縺怜�騾�
* text                 繝�く繧ｹ繝亥�騾�
* button               繝懊ち繝ｳ蜈ｱ騾�
* header               繝倥ャ繝繝ｼ
* hamburger menu (is_)
* panel
* banner unit
* map
* footer
------------------------------------------------------------ */

/* =========================================================
    helper 繝倥Ν繝代�
============================================================ */
.hp_pc, .hp_pctb {
    display: block !important;
}
.hp_tb {
    display: none !important;
}
.hp_sp {
    display: none !important;
}
@media screen and (max-width: 1023px) {
    .hp_pc {
        display: none !important;
    }
    .hp_tb {
        display: block !important;
    }
}
@media screen and (max-width: 767px) {
    .hp_pctb {
        display: none !important;
    }
    .hp_sp {
        display: block !important;
    }
}
.hp_cBlack {
    color: #000 !important;
}
.hp_bgcSec {
    background: var(--secondary-color) !important;
}
.hp_maw1100Center {
    max-width: 68.75rem !important;
    margin-right: auto !important;
    margin-left: auto !important;
}
.hp_maw1000Center {
    max-width: 62.5rem !important;
    margin-right: auto !important;
    margin-left: auto !important;
}
.hp_maw700Center {
    max-width: 43.75rem !important;
    margin-right: auto !important;
    margin-left: auto !important;
}
.hp_fw500 {
    font-weight: 500 !important;
}
.hp_mt0 {
    margin-top: 0 !important;
}
.hp_mt4r {
    margin-top: 4.0rem !important;
}
.hp_mb4r {
    margin-bottom: 4.0rem !important;
}
.hp_mb4r-3r {
    margin-bottom: clamp(3rem, 0rem + 6.25vw, 4rem) !important;
}
.hp_lh1_5 {
    line-height: 1.5 !important;
}
.hp_flexColumn_gap3rem{
    display: flex !important;
    flex-direction: column !important;
    gap: 3.0rem !important;
}
.hp_flexColumn_gap2rem{
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(1rem, -2rem + 6.25vw, 2rem) !important;
}
.hp_flexColumn_gap1rem{
    display: flex !important;
    flex-direction: column !important;
    gap: 1.0rem !important;
}
@media screen and (max-width:767px) {
    .hp_spBoxCenter {
        margin: 0 auto !important;
        width: fit-content !important;
    }
    .hp_spMb3r {
        margin-bottom: 3.0rem !important;
    }
}

.is_overflow_hidden {
    overflow: hidden !important;
}

/* =========================================================
    id
============================================================ */

#visit, #post, #ring, #pierce, #necklace, #other {
    margin-top: calc(-1 * var(--header-height));
    padding-top: calc(var(--header-height));
}

/* =========================================================
    layout 繝ｬ繧､繧｢繧ｦ繝�

        * ly_header  繝倥ャ繝繝ｼ繝ｬ繧､繧｢繧ｦ繝�
        * ly_main    繝｡繧､繝ｳ繝ｬ繧､繧｢繧ｦ繝�
        * ly_footer  繝輔ャ繧ｿ繝ｼ繝ｬ繧､繧｢繧ｦ繝�
        * ly_cont    繧ｳ繝ｳ繝�Φ繝�Ξ繧､繧｢繧ｦ繝�
============================================================ */

/* ly_main 繝｡繧､繝ｳ繝ｬ繧､繧｢繧ｦ繝�
------------------------------------------------------------ */
.ly_main {
    padding-top: var(--header-height);
}
.ly_main.ly_main__bgcSec {
    background-color: var(--secondary-color);
}
.ly_main_inner {
    padding: 3.75rem 0;
}

/* ly_header 繝倥ャ繝繝ｼ繝ｬ繧､繧｢繧ｦ繝�
------------------------------------------------------------ */
.ly_header {
    position: fixed;
    width: 100%;
    top: 0;
    background: var(--header-primary-bgcolor);
    z-index: 100;
    border-bottom: 1px solid var(--header-primary-color);
}
.ly_header_inner {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: fit-content;
    max-width: var(--site-wide-maxwidth);
    /* padding: var(--header-toppadding) var(--header-horipadding) var(--header-btmpadding); */
    padding: var(--header-toppadding) var(--header-horipadding) 0;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .ly_header {
        border-bottom: none;
    }
}

/* ly_footer 繝輔ャ繧ｿ繝ｼ繝ｬ繧､繧｢繧ｦ繝�
------------------------------------------------------------ */
.ly_footer {
    background: var(--footer-primary-bgcolor);
    color: var(--footer-primary-color);
    width: 100%;
    padding: var(--footer-toppadding) 0 var(--footer-btmpadding);
}
.ly_footer_inner {
    max-width: var(--site-narrow-maxwidth);
    margin: 0 auto;
}
.ly_footer_lower {
    margin-top: 5.0rem;
}
.ly_footer_lowerInner {
    display: flex;
    justify-content: center;
    margin: 0 auto;
}

/* ly_cont 繧ｳ繝ｳ繝�Φ繝�Ξ繧､繧｢繧ｦ繝�
------------------------------------------------------------ */
.ly_cont {
    margin: 0 auto;
    max-width: 75.0rem;
    padding: 2.75rem 3.125rem;
}
.ly_hero {
    margin: 0 auto;
    max-width: 81.25rem;
}
.ly_cont.ly_cont__maw1300 { max-width: 81.25rem; }
.ly_cont.ly_cont__maw1200 { max-width: 75.0rem; }
.ly_cont.ly_cont__maw1150 { max-width: 71.875rem; }
.ly_cont.ly_cont__maw1100 { max-width: 68.75rem; }
.ly_cont.ly_cont__maw1050 { max-width: 65.625rem; }
.ly_cont.ly_cont__maw1000 { max-width: 62.5rem; }
.ly_cont.ly_cont__maw900 { max-width: 56.25rem; }
.ly_cont.ly_cont__maw700 { max-width: 43.75rem; }
.ly_cont.ly_cont__maw600 { max-width: 37.5rem; }
.ly_cont.ly_cont__p0 { padding: 0;}
.ly_cont.ly_cont__pt0 { padding-top: 0;}
.ly_cont.ly_cont__pb0 { padding-bottom: 0;}
.ly_cont.ly_cont__halfCol {
    display: flex;
    gap: 5%;
}
.ly_cont_body { flex: 1; }
.ly_cont.ly_cont__voice {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(1rem, -5rem + 12.5vw, 3rem) clamp(2.5rem, -7.4375rem + 20.7031vw, 5.8125rem);
    grid-auto-flow: column;
}
.ly_cont.ly_cont__faq {
    display: flex;
    flex-direction: row-reverse;
    gap: 9.0909%;
}
.ly_cont.ly_cont__faq .ly_cont_body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3.0rem;
}
@media screen and (max-width: 1023px) {
    .ly_cont.ly_cont__halfCol.ly_cont__shop {
        flex-direction: column;
        gap: 3.0rem;
    }
}
@media screen and (max-width: 767px) {
    .ly_main_inner { padding: 3.125rem 0; }
    .ly_cont.ly_cont__spPHori50 {
        padding-right: 3.3334375rem;
        padding-left: 3.3334375rem;
    }
    .ly_cont { padding: 2.3125rem 1.5rem; }
    .ly_cont.ly_cont__halfCol {
        flex-direction: column;
        gap: 3.0rem;
    }
    .ly_cont.ly_cont__voice {
        grid-template-rows: auto;
        grid-template-columns: auto;
        grid-auto-flow: row;
    }
    .ly_cont.ly_cont__faq {
        flex-direction: column;
        gap: 3.0rem;
    }
    .ly_cont.ly_cont__faq .ly_cont_body img {
        display: block;
        width: max(240px, 50%);
        margin-top: 2.0rem;
        margin-bottom: 2.0rem;
    }
}

/* =========================================================
    heading 隕句�縺怜�騾�

        * el_lv1 ~ lv4heading  蜷�Ξ繝吶Ν隕句�縺�
============================================================ */
.el_lv1heading, .el_lv2heading {
    font-size: clamp(1.25rem, 0.125rem + 2.3438vw, 1.625rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
    color: var(--primary-color);
}
.el_lv1heading.el_lv1heading__underJumbotron {
    margin-bottom: 2.0rem;
}
.el_lv1heading.el_lv1heading__flow {
    margin: 0 auto;
    max-width: 75.0rem;
    padding: 2.75rem 3.125rem;
}
.el_lv1heading.el_lv1heading__small {
    font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.2em;
    color: var(--primary-color);
}
.el_lv2heading2 {
    font-size: clamp(1.25rem, 0.125rem + 2.3438vw, 1.625rem);
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.2em;
    color: var(--primary-color);
}
.el_lv2heading.el_lv2heading__faq {
    font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);
    font-weight: 600;
    line-height: 1.5;
    color: #665743;
}
.el_lv2heading.el_lv2heading__repair {
    margin: 0 auto;
    max-width: 68.75rem;
}
.el_lv1heading span,.el_lv2heading2 span {
    display: inline-block;
}
.el_lv3heading {
    font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.2em;
    color: var(--primary-color);
}
.el_lv3heading span {
    display: inline-block;
}
.el_lv4heading {
    /* font-size: 1.3125rem; */
    font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.2em;
    color: var(--primary-color);
}
a.el_lv4heading {
    width: fit-content;
    transition: 0.3s;
}
a.el_lv4heading h4 {
    width: fit-content;
}
a.el_lv4heading:hover
/* a.el_lv4heading:focus */
{
    opacity: 0.5;
}
.el_lv4heading span {
    display: inline-block;
}
@media screen and (max-width:767px) {
    .el_lv1heading,
    .el_lv1heading.el_lv1heading__small,
    .el_lv2heading {
        /* font-size: 1.5rem; */
        font-size: 1.1875rem;
        letter-spacing: 0.1em;
    }
    .el_lv1heading.el_lv1heading__underJumbotron {
        margin-bottom: 1.0rem;
    }
    .el_lv1heading.el_lv1heading.el_lv1heading__flow {
        padding: 2.3125rem 1.5rem 1.25rem;
    }
    .el_lv2heading2 {
        font-size: 1.5rem;
        letter-spacing: 0.16667em;
    }
    .el_lv2heading2.el_lv2heading2__border {
        font-size: 1.0rem;
        border: 1px solid var(--primary-color);
        padding: 0.65em;
        text-align: center;
    }
    .el_lv3heading {
        font-size: 1.1875rem;
    }
    a.el_lv4heading,
    a.el_lv4heading h4{
        width: 100%;
    }
    .el_lv4heading.el_lv4heading__border {
        font-size: 1.0rem;
        border: 1px solid var(--primary-color);
        padding: 0.65em;
        text-align: center;
    }
}

/* =========================================================
    text 繝�く繧ｹ繝亥�騾�

        * txtBox 繝�く繧ｹ繝医�繝�け繧ｹ
============================================================ */

/* txtBox 繝�く繧ｹ繝医�繝�け繧ｹ
------------------------------------------------------------ */
.el_txtBox {
    font-size: clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: var(--primary-color);
}
.el_txtBox.el_txtBox__large { font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);; }
.el_txtBox span{ display: inline-block; }
@media screen and (max-width:767px) {
    /* .el_txtBox { font-size: 1.0667rem; } */
    .el_txtBox.el_txtBox__large { font-size: 1.1875rem; }
    .el_txtBox span { display: inline; }
    .el_txtBox {
        font-size: 1rem;
    }
}

/* =========================================================
    list 繝ｪ繧ｹ繝亥�騾�

        * bl_orderList 鬆�ｺ上≠繧翫Μ繧ｹ繝�
============================================================ */

/* orderList 鬆�ｺ上≠繧翫Μ繧ｹ繝�
------------------------------------------------------------ */
.bl_orderList {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    counter-reset: item;
}
.bl_orderList > li {
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    letter-spacing: 0.11765em;
    font-weight: 500;
    color: var(--primary-color);
    display: flex;
}
.bl_orderList > li::before {
    display: inline-block;
    counter-increment: item;
    content: counter(item);
    margin-right: 0.5em;
}
.bl_orderList.bl_orderList__circle {

}
.bl_orderList.bl_orderList__circle > li {

}
.bl_orderList.bl_orderList__circle > li::before {
    content: none;
}
@media screen and (max-width:767px) {
    .bl_orderList {
        gap: 0.75rem;
    }
    .bl_orderList > li {
        font-size: 1.0rem;
    }

}

/* =========================================================
    button 繝懊ち繝ｳ

        *  el_btn      繝懊ち繝ｳ01
        *  bl_btnList  繝懊ち繝ｳ繝ｪ繧ｹ繝�01
============================================================ */
.el_btn {
    display: inline-block;
    width: fit-content;
    transition: 0.3s;
    text-align: center;
    font-size: clamp(0.875rem, 0.125rem + 1.5625vw, 1.125rem);
    padding: 0.5625rem 3.5rem 0.5625rem 2.0rem;
    background: var(--base-color);
    color: var(--primary-color);
    border: 1px solid var(--primary-color);
    font-weight: 500;
    letter-spacing: 0.1em;
    position: relative;
}
.el_btn.el_btn__m0A {
    margin: 0 auto;
}
.el_btn::after {
    content: "";
    margin: auto;
    position: absolute;
    top: 0.125rem;
    bottom: 0;
    right: clamp(1rem, -0.125rem + 2.3438vw, 1.375rem);
    width: clamp(0.5rem, -0.25rem + 1.5625vw, 0.75rem);
    height: clamp(0.5rem, -0.25rem + 1.5625vw, 0.75rem);
    transform: rotate(45deg);
    border-top: 1px solid var(--primary-color);
    border-right: 1px solid var(--primary-color);
}
.el_btn:hover, .el_btn:focus {
    opacity: 0.5;
}
@media screen and (max-width: 767px) {
    .el_btn {
        min-width: 17.66672rem;
        font-size: 1.0rem;
        padding: 0.53335rem 3.73345rem 0.53335rem 2.13334rem;
    }
}

/* bl_btnList 繝懊ち繝ｳ繝ｪ繧ｹ繝�
------------------------------------------------------------ */
.bl_btnList {
    display: flex;
    justify-content: center;
    gap: 5%;
}
.bl_btnList > li {
    flex: 1 1 0;
    max-width: 17.1875rem;
}
.bl_btnList .el_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding-top: clamp(0.75rem, 0rem + 1.5625vw, 1rem);
    padding-right: clamp(1.75rem, -2.75rem + 9.375vw, 3.25rem);
    padding-bottom: clamp(0.75rem, 0rem + 1.5625vw, 1rem);
    padding-left: clamp(0.675rem, -3.3rem + 8.2813vw, 2rem);
}
@media screen and (max-width:767px) {
    .bl_btnList {
        flex-direction: column;
        align-items: center;
        gap: 2.125rem;
    }
    .bl_btnList > li {
        min-width: 17.66672rem;
    }
    .bl_btnList .el_btn {
        font-size: 1.0rem;
        padding: 0.53335rem 3.73345rem 0.53335rem 2.13334rem;
    }
}

/* =========================================================
    form 繝輔か繝ｼ繝�

        *  mw_wp_form
        *  bl_form     繝輔か繝ｼ繝�
============================================================ */

/* mw_wp_form
------------------------------------------------------------ */
.mw_wp_form {
    color: var(--primary-color);
}
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form input[type="text"],
.mw_wp_form textarea {
    padding: 0.5rem 0.5rem;
    width: 100%;
    font-size: 1.0625rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.5;
    border: 1px solid var(--primary-color);
    background: var(--base-color);
}
.mw_wp_form select {
    display: block;
    position: relative;
    width: 100%;
    font-size: 1.0625rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.5;
    appearance: auto;
}
.mw_wp_form .mwform-tel-field {
    display: flex;
    width: 100%;
    gap: 0.5rem;
    align-items: center;
}
.mw_wp_form .mwform-tel-field input {
    flex: 1;
}

/* bl_form 繝輔か繝ｼ繝�
------------------------------------------------------------ */
.bl_form_outer.bl_form_outer__contact {
    margin-left: auto;
    max-width: 50.0rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}
.bl_form {
    display: flex;
    flex-direction: column;
    gap: 2.0rem;
}
.bl_form_outer.bl_form_outer__contact .bl_form {
    margin-right: auto;
    max-width: 31.25rem;
}
.bl_form_row {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.bl_form_row.bl_form_row__shop {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border-bottom: 1px solid var(--primary-color);
    padding: 0.5rem 0;
    width: 100%;
    gap: 1.0rem;
}
.bl_form_line {
    display: flex;
    gap: 1.0rem;
}
.bl_form_label {
    font-size: 1.0625rem;
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: var(--primary-color);
}
.bl_form_row.bl_form_row__shop .bl_form_label {
    display: flex;
    justify-content: center;
    align-items: center;
}
.bl_form_required {
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--base-color);
    background: var(--tertiary-color);
    padding: 0.35em 1.1em;
    font-weight: 500;
    font-size: 0.75rem;
    line-height: 1;
    letter-spacing: 0.1em;
}
.bl_form_row.bl_form_row__shop .bl_form_label {
    width: fit-content;
}
.bl_form_content {
    width: 100%;
}
.bl_form_row.bl_form_row__shop .bl_form_content {
    flex: 1;
}
.bl_form_row.bl_form_row__center {
    margin-left: auto;
    margin-right: auto;
}
.bl_form_row.bl_form_row__submit {
    margin-top: 5.0rem;
}
.bl_form_footnote {
    /* font-size: 0.875rem */ font-size: 1.0rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
}
.bl_form_descriptionBody {

}
.bl_form_submitButtonWrapper {
    margin-right: auto;
    width: min(31.25rem, 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

@media screen and (max-width:767px) {
    .bl_form_outer.bl_form_outer__contact .bl_form { margin-left: auto; }
    .bl_form_label { font-size: 1.0667rem; }
    .bl_form_row.bl_form_row__submit {
        margin-top: 2.0rem;
        margin-bottom: -3.0rem;
    }
    .bl_form_submitButtonWrapper {
        width: 100%;
    }
    .bl_form_outer.bl_form_outer__contact .bl_form_descriptionBody {
        width: min(31.25rem, 100%);
        margin: 0 auto;
    }
    .bl_form_descriptionBody .bl_accordion_ttl,
    .bl_form_descriptionBody .el_txtBox {
        font-size: 0.86669rem;
    }
}

/* =========================================================
    accordion 繧｢繧ｳ繝ｼ繝�ぅ繧ｪ繝ｳ

        *  bl_accordion  繧｢繧ｳ繝ｼ繝�ぅ繧ｪ繝ｳ
============================================================ */
.bl_accordionUnit {
    display: flex;
    flex-direction: column;
}
.bl_accordion {
    border-top: solid 2px #9b9897;
}
.bl_accordionUnit .bl_accordion:last-of-type {
    border-bottom: solid 2px #9b9897;
}
.bl_accordion_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(1rem, -2rem + 6.25vw, 2rem) 0;
    cursor: pointer;
}
.bl_accordion_header::after {
    content: '';
    width: 1.1547rem;
    height: 1.0rem;
    background: var(--primary-color);;
    display: inline-block;
    padding-right: 1.0rem;
    transition: 0.3s;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.bl_accordion_header.js_open::after {
    transform: rotate(-60deg);
}
.bl_accordion_header:hover,
.bl_accordion_header:focus {
    opacity: 0.5;
}
.bl_accordion_ttl {
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    line-height: 1.5;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: var(--primary-color);
}
.bl_accordion_body {
    display: none;
    padding-bottom: 2.0rem;
}
@media screen and (max-width:767px) {
    .bl_accordion_ttl {
        font-size: 1rem;
    }
}


/* =========================================================
    jumbotron 繧ｸ繝｣繝ｳ繝懊ヨ繝ｭ繝ｳ繝ｻ繝偵�繝ｭ繝ｼ

        *  fp_hero       繝偵�繝ｭ繝ｼ�医ヨ繝��縺ｮ縺ｿ��
        *  bl_jumbotron  繧ｸ繝｣繝ｳ繝懊ヨ繝ｭ繝ｳ
============================================================ */

/* hero 繝偵�繝ｭ繝ｼ
------------------------------------------------------------ */

/* PC 1024px ~ */
.fp_hero {
    background: var(--secondary-color);
    color: var(--tertiary-color);
}
.fp_hero_inner {
    margin: 0 auto;
    max-width: var(--site-wide-maxwidth);
}
.fp_hero_slider {
    display: grid;
}
.fp_hero_slider li {
    display: none;
    grid-area: 1/1;
}
.fp_hero_slider li:nth-child(1){
    display: block;
}
.fp_hero_slider li img {
    width: 100%;
    /* height: max( 500px - var(--header-height) , 75dvh - var(--header-height)); */
    /* object-fit: cover; */
}
.fp_hero_body {
    max-width: 66.0rem;
    margin: auto;
    padding: 3.5rem 0;
}
.fp_hero_ttl {
    font-size: clamp(1.25rem, 0.125rem + 2.3438vw, 1.625rem);
    font-weight: 500;
    padding: 2.0rem 4.0rem 0;
    line-height: 1;
    letter-spacing: 0.375rem;
}
.fp_hero_subTtl {
    font-size: 1.25rem;
    font-weight: 500;
    padding: 1.5rem 4.0rem 3.0rem;
    line-height: 1;
    letter-spacing: 0.375rem;
}
.fp_hero_ttl span,
.fp_hero_subTtl span {
    display: inline-block;
}
.fp_hero_txt {
    padding: 0 4.0rem 2.0rem;
    line-height: 1.75;
    font-weight: 500;
    letter-spacing: 0.125rem;
}
@media screen and (max-width: 1023px) {
    /* .fp_hero_slider li img {
        height: max( 500px - var(--header-height) , 75dvh - var(--header-height));
    } */
    .fp_hero_body {
        padding: 2.5rem 0;
    }
    .fp_hero_ttl {
        padding: 2.0rem 5.0dvw 0;
    }
    .fp_hero_subTtl {
        padding: clamp(1rem, -0.5rem + 3.125vw, 1.5rem) 5.0dvw 2.0rem;
    }
    .fp_hero_txt {
        padding: 0 5.0dvw 2.0rem;
        font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    }
}
@media screen and (max-width: 768px) {
    .fp_hero_ttl {
        font-size: 1.5rem;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: 0.25rem;
    }
    .fp_hero_subTtl {
        font-size: 1.25rem;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.25rem;
    }
    .fp_hero_txt {
        /* font-size: 0.875rem */ font-size: 1.0rem;
    }
}
@media screen and (max-width: 599px) {
    .fp_hero_ttl {
        line-height: 1.5;
    }
    .fp_hero_slider li img {
        /* height: 390px; */
    }
}

/* bl_jumbotron  繧ｸ繝｣繝ｳ繝懊ヨ繝ｭ繝ｳ
------------------------------------------------------------ */
.bl_jumbotron {
    display: grid;
    margin: 0 auto;
    max-width: var(--site-wide-maxwidth);
}
.bl_jumbotron_bg {
    grid-area: 1/1;
}
.bl_jumbotron_bg img {
    width: 100%;
    /* height: max( 500px - var(--header-height) , 75dvh - var(--header-height)); */
    /* object-fit: cover; */
}
.bl_jumbotron.bl_jumbotron__flow .bl_jumbotron_bg img,
.bl_jumbotron.bl_jumbotron__repair .bl_jumbotron_bg img {
    /* height: max( 400px - var(--header-height) , 50dvh - var(--header-height)); */
}
.bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_bg img,
.bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_bg img {
    /* height: max( 420px - var(--header-height) , 55dvh - var(--header-height)); */
}
.bl_jumbotron_body {
    display: flex;
    grid-area: 1/1;
    margin: auto;
    padding: 0 3.125rem;
    height: 80%;
    width: 100%;
    max-width: 75.0rem;
}
.bl_jumbotron.bl_jumbotron__technology .bl_jumbotron_body,
.bl_jumbotron.bl_jumbotron__fullorder .bl_jumbotron_body {
    flex-direction: column;
    justify-content: flex-end;
    height: 90%;
}
.bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_body {
    flex-direction: column;
    align-items: flex-end;
    height: 72%;
}
.bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_body {
    flex-direction: column;
    height: unset;
    width: 72%;
    margin-top: 4.0rem;
    margin-left: 0;
}
.bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_bodyInner {
    width: fit-content;
}
.bl_jumbotron.bl_jumbotron__flow .bl_jumbotron_body {
    height: 60%;
    max-width: 75.0rem;
}
.bl_jumbotron.bl_jumbotron__repair .bl_jumbotron_body {
    height: 66%;
    max-width: 75.0rem;
}
.bl_jumbotron_ttl {
    font-size: clamp(1.25rem, 0.125rem + 2.3438vw, 1.625rem);
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.2em;
    color: var(--base-color)
}
.bl_jumbotron_txt {
    padding-top: clamp(0.5rem, -2.5rem + 6.25vw, 1.5rem);
    /* line-height: 2; */
    line-height: 1.75;
    font-weight: 500;
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    letter-spacing: 0.1em;
    color: var(--base-color)
}
.bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_txt {
    padding-top: clamp(1rem, -2rem + 6.25vw, 2rem);
}
.bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_ttl_br,
.bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_txt_br {
    display: none;
}
.bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_ttl_br1 {
    display: block;
}
.bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_ttl_br2 {
    display: none;
}
.bl_jumbotron.bl_jumbotron__fullorder .bl_jumbotron_ttl,
.bl_jumbotron.bl_jumbotron__fullorder .bl_jumbotron_txt,
.bl_jumbotron.bl_jumbotron__repair .bl_jumbotron_ttl
{
    color: var(--primary-color)
}
@media screen and (max-width:1179px) {
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_ttl_br1 {
        display: none;
    }
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_ttl_br2 {
        display: block;
    }
}

@media screen and (max-width:1023px) {
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_body {
        margin-top: clamp(1.5rem, -1.5rem + 6.25vw, 2.5rem);
    }
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_ttl_br,
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_txt_br {
        display: block;
    }
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_ttl_br1 {
        display: block;
    }
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_bodyInner {
        margin-right: clamp(0rem, -3rem + 6.25vw, 1rem);
    }
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_txt {
        padding-top: clamp(1rem, -2rem + 6.25vw, 2rem);
    }
}

@media screen and (max-width:767px) {
    .bl_jumbotron_bg img {
        /* height: max( 450px - var(--header-height) , 52dvh - var(--header-height)); */
    }
    .bl_jumbotron.bl_jumbotron__technology .bl_jumbotron_bg,
    .bl_jumbotron.bl_jumbotron__fullorder .bl_jumbotron_bg,
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_bg,
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_bg {
        grid-area: auto;
    }
    .bl_jumbotron.bl_jumbotron__technology .bl_jumbotron_body,
    .bl_jumbotron.bl_jumbotron__fullorder .bl_jumbotron_body,
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_body,
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_body {
        grid-area: auto;
        justify-content: flex-start;
        align-items: flex-start;
        width: 100%;
        height: 100%;
    }
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_body {
        margin-top: 0;
    }

    .bl_jumbotron.bl_jumbotron__repair .bl_jumbotron_body {
        height: 82%;
    }
    .bl_jumbotron_body {
        align-items: flex-end;
        width: 100%;
        padding: 0 1.5rem;
    }
    .bl_jumbotron_ttl {
        padding-top: 3.0rem;
        font-size: 1.1875rem;
        color: var(--primary-color);
    }
    .bl_jumbotron_txt {
        /* font-size: 0.875rem */ font-size: 1.0rem;
        line-height: 2;
        color: var(--primary-color);
    }
    .bl_jumbotron.bl_jumbotron__flow .bl_jumbotron_ttl {
        display: none;
    }
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_ttl_br,
    .bl_jumbotron.bl_jumbotron__faq .bl_jumbotron_txt_br {
        display: none;
    }
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_ttl_br1,
    .bl_jumbotron.bl_jumbotron__voice .bl_jumbotron_ttl_br2 {
        display: none;
    }
}

/* =========================================================
    media 繝｡繝�ぅ繧｢

        *  bl_media         繝｡繝�ぅ繧｢
        *  bl_imgWideMedia  繝｡繝�ぅ繧｢�医う繝｡繝ｼ繧ｸ螟ｧ��
        *  bl_halfMedia        繝上�繝輔Γ繝�ぅ繧｢
============================================================ */

/* bl_media 繝｡繝�ぅ繧｢
------------------------------------------------------------ */
.bl_media {
    display: flex;
    gap: 8.2%;
    height: fit-content;
}
.bl_media_body {
    flex: 0 0 46.4%;
    display: flex;
    flex-direction: column;
}
.bl_media_body.bl_media_body__jcC { justify-content: center; }
.bl_media_ttl {
    font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-weight: 500;
    padding-bottom: 1.75rem;
    color: var(--primary-color);
    border-bottom: 2px solid var(--secondary-line-color);
}
.bl_media_ttl_number {
    display: inline-block;
    margin-right: 0.375rem;
}
.bl_media_txt {
    line-height: 2.0;
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    letter-spacing: 0.1em;
    padding-top: 2.0rem;
    font-weight: 500;
    color: var(--primary-color);
}
.bl_media_txt_footnote {
    /* font-size: 0.875rem */ font-size: 1.0rem;
}
.bl_media_body .el_btn {
    margin-top: 5.0rem;
}
.bl_media_imgWrapper {
    flex: 0 0 45.4%;
}
.bl_media_imgWrapper img {
    width: 100%;
    object-fit: cover;
}
.bl_media_imgWrapper.bl_media_imgWrapper__h100p img {
    height: 100%;
}
@media screen and (max-width: 767px) {
    .bl_media {
        flex-direction: column-reverse;
        gap: 2.25rem;
    }
    .bl_media_body .el_btn {
        margin-top: 2.25rem;
    }
    .bl_media_ttl {
        font-size: 1.1875rem;
        padding-bottom: 1.5rem;
        letter-spacing: 0.1em;
    }
    .bl_media_txt {
        /* font-size: 0.875rem */ font-size: 1.0rem;
        padding-top: 1.5rem;
    }
}

/* bl_imgWideMedia 繝｡繝�ぅ繧｢�医う繝｡繝ｼ繧ｸ螟ｧ��
------------------------------------------------------------ */
.bl_imgWideMedia {
    display: flex;
    gap: 5%;
}
.bl_imgWideMedia_imgWrpper {
    flex: 0 0 50%;
    display: flex;
    flex-direction: column;
}
.bl_imgWideMedia_img,
.bl_imgWideMedia_img_spNarrow {
    width: 100%;
}
.bl_imgWideMedia_body {
    flex: 0 0 45%;
    display: flex;
    flex-direction: column;
    gap: 2.0rem;
}
.bl_imgWideMedia_bodyInner {
    display: flex;
    flex-direction: column;
    gap: 2.0rem;
}
.bl_imgWideMedia_bodyInner + .bl_imgWideMedia_bodyInner {
    margin-top: 3.0rem;
}
.bl_imgWideMedia_ttl {
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 0.2em;
    font-weight: 500;
    color: var(--primary-color);
}
.bl_imgWideMedia_txt {
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    letter-spacing: 0.11765em;
    font-weight: 500;
    color: var(--primary-color);
}
.bl_imgWideMedia_list {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-left: 2.5rem;
    counter-reset: item;
}
.bl_imgWideMedia_list > li {
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    letter-spacing: 0.11765em;
    font-weight: 500;
    color: var(--primary-color);
    display: flex;
}
.bl_imgWideMedia_list > li::before {
    display: inline-block;
    counter-increment: item;
    content: 'Step'counter(item);
    margin-right: 0.5em;
}
.bl_imgWideMedia_footnote {
    /* font-size: 0.875rem */ font-size: 1.0rem;
    letter-spacing: 0.0714em;
}
@media screen and (max-width:767px) {
    .bl_imgWideMedia {
        flex-direction: column;
        gap: 2.0rem;
    }
    .bl_imgWideMedia_imgWrpper { flex: 1; }
    .bl_imgWideMedia_img { width: 100%; }
    .bl_imgWideMedia_img_spNarrow {
        width: max(20.3125rem, 66%);
        margin: 0 auto;
    }
    .bl_imgWideMedia_body {
        flex: 1;
        gap: 2.0rem;
    }
    .bl_imgWideMedia_bodyInner { flex: 1; }
    .bl_imgWideMedia_bodyInner + .bl_imgWideMedia_bodyInner {
        margin-top: 2.0rem;
    }
    .bl_imgWideMedia_ttl { font-size: 1.1875rem; }
    .bl_imgWideMedia_txt { font-size: /* max(0.8125rem, 10px) */ 1.0rem; }
    .bl_imgWideMedia_list {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
        margin: 0 auto;
        width: max(20.3125rem, 66%);
    }
    .bl_imgWideMedia_list > li { font-size: /* max(0.8125rem, 10px) */ 1.0rem; }
    .bl_imgWideMedia_footnote { font-size: /* max(0.875rem, 10px); */ 1.0rem }
}

/* bl_halfMedia 繝上�繝輔Γ繝�ぅ繧｢
------------------------------------------------------------ */
.bl_halfMediaUnit__reform {
    margin: 0 auto;
    max-width: 68.75rem;
}
.bl_halfMediaWrapper {
    border-bottom: solid 1px #999;
}
.bl_halfMedia {
    display: flex;
    gap: clamp(2.5rem, -7.4375rem + 20.7031vw, 5.8125rem);
}
.bl_halfMediaUnit__reform  .bl_halfMedia {
    padding: 1.0rem 0 2.0rem;
}
.bl_halfMediaUnit__reform .bl_halfMediaWrapper:not(:first-child) .bl_halfMedia_accordionBody {
    display: none;
}
.bl_halfMedia.bl_halfMedia__reverse {
    flex-direction: row-reverse;
}
.bl_halfMedia_imgWrapper {
    flex: 1;
}
.bl_halfMedia_img {
    width: 100%;
}
.bl_halfMedia_imgWrapper img {
    width: 100%;
    height: auto;
}
.bl_halfMedia_img.bl_halfMedia_img__fullBox {
    height: 100%;
    object-fit: cover;
}
.bl_halfMedia_body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: clamp(1.325rem, -0.7rem + 4.2188vw, 2rem);
}
.bl_halfMedia_body.bl_halfMedia_body__jcC {
    justify-content: center;
}
.bl_halfMedia_ttl {
    font-size: clamp(1.25rem, 0.125rem + 2.3438vw, 1.625rem);
    line-height: 1.5;
    letter-spacing: 0.2em;
    font-weight: 500;
    color: var(--primary-color);
}
.bl_halfMedia_ttl span {
    display: inline-block;
    color: #804e25;
    margin-right: 0.5rem;
}
.bl_halfMediaUnit__reform .bl_halfMedia_ttl {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);;
    padding: 1.0rem 0;
    margin: 1.0rem 0;
}
.bl_halfMediaUnit__reform .bl_halfMedia_ttl::after {
    content: '';
    width: 1.1547rem;
    height: 1.0rem;
    background: var(--primary-color);;
    display: inline-block;
    padding-right: 1.0rem;
    transition: 0.3s;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
}
.bl_halfMediaUnit__reform .bl_halfMediaWrapper:first-child .bl_halfMedia_ttl::after {
    clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.bl_halfMediaUnit__reform .bl_halfMedia_ttl.js_open::after{
    transform: rotate(-60deg);
}
.bl_halfMediaUnit__reform .bl_halfMediaWrapper:first-child .bl_halfMedia_ttl.js_open::after {
    transform: rotate(60deg);
}
.bl_halfMediaUnit__reform .bl_halfMedia_ttlInner {
    margin-right: 1.0rem;
}

.bl_halfMedia_txt {
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    letter-spacing: 0.1em;
    font-weight: 500;
    line-height: 2;
    color: var(--primary-color);
}
@media screen and (max-width:767px) {
    .bl_halfMedia,
    .bl_halfMedia.bl_halfMedia__reverse {
        flex-direction: column-reverse;
        gap: 2.0rem
    }
    .bl_halfMediaUnit__reform .bl_halfMedia {
        flex-direction: column;
    }
    .bl_halfMedia_body {
        gap: 1.25rem;
    }
    .bl_halfMedia_ttl {
        font-size: 1.1875rem;
    }
    .bl_halfMediaUnit__reform .bl_halfMedia_ttl {
        font-size: 1.1875rem;
    }
    .bl_halfMedia_txt, .bl_halfMedia_txt {
        /* font-size: 0.875rem */ font-size: 1.0rem;
        letter-spacing: 0.11765em;
    }
    .bl_halfMedia .el_btn {
        margin: 0 auto;
    }
}

/* =========================================================
    card 繧ｫ繝ｼ繝�

        *  bl_card      繧ｫ繝ｼ繝�
        *  bl_cardUnit  繧ｫ繝ｼ繝峨Θ繝九ャ繝�
============================================================ */

/* card 繧ｫ繝ｼ繝�
------------------------------------------------------------ */
.bl_card > a {
    display: block;
    transition: 0.3s;
}
.bl_card > a:hover,
.bl_card > a:focus {
    opacity: 0.5;
}
.bl_card.bl_card__voice .bl_card_imgUnit {
    display: flex;
    gap: 20%;
}
.bl_card.bl_card__voice .bl_card_imgWrapper {
    flex: 1;
    display: flex;
    align-items: center;
}
.bl_card_imgWrapper > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bl_card.bl_card__voice .bl_card_imgWrapper > img {
    width: 100%;
    height: auto;
    object-fit: unset;
}
.bl_card_body {
    padding: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem) 0;
}
.bl_card_ttl {
    font-size: clamp(1rem, 0.25rem + 1.5625vw, 1.25rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.5;
    color: var(--primary-color);
}
.bl_card.bl_card__voice.bl_card_ttl {
    font-size: clamp(1.1875rem, 0.8125rem + 0.7813vw, 1.3125rem);;
}
.bl_card_body.bl_card_body__ttlBdb .bl_card_ttl {
    padding-bottom: 2.0rem;
    border-bottom: 2px solid var(--secondary-line-color);
}
.bl_card_ttl span {
    display: inline-block;
    font-size: 1.0rem;
}
.bl_card_subTtl {
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2.0;
    color: var(--primary-color);
}
.bl_card_subTtl.bl_card_subTtl__pcFw600 {
    font-weight: 600;
}
.bl_card_txt {
    padding-top: 1.25rem;
    line-height: 2.0;
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    letter-spacing: 0.125em;
    font-weight: 500;
    color: var(--primary-color);
}
@media screen and (max-width:767px) {
    .bl_card_ttl {
        font-size: 1.125rem;
    }
    .bl_card.bl_card__voice .bl_card_ttl {
        font-size: 1.125rem;
    }
    .bl_card_ttl span {
        font-size: 1.0rem;
    }
    .bl_card_subTtl {
        /* font-size: 0.875rem */ font-size: 1.0rem;
    }
    .bl_card_subTtl.bl_card_subTtl__pcFw600 {
        font-weight: 500;
    }
    .bl_card_body.bl_card_body__ttlBdb .bl_card_ttl {
        padding-bottom: 1.0rem;
    }
    .bl_card_txt {
        /* font-size: 0.875rem */ font-size: 1.0rem;
    }
    .bl_card_body.bl_card_body__ttlBdb .bl_card_txt {
        padding-top: 1.0rem
    }
    .bl_card_txt.bl_card_txt__spSmall {
        font-size: max(0.86669rem, 10px);
    }
}

/* cardUnit 繧ｫ繝ｼ繝峨Θ繝九ャ繝�
------------------------------------------------------------*/
.bl_cardUnit {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2.0rem 6.5%;
}
.bl_cardUnit.bl_cardUnit__repair {
    gap: 2.0rem 4.25%;
}
.bl_cardUnit.bl_cardUnit__repair .bl_card_imgWrapper {
    aspect-ratio: 4/3;
}
.bl_cardUnit.bl_cardUnit__repair .bl_card_body {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.bl_cardUnit.bl_cardUnit__repair .bl_card_ttl {
    font-weight: 600;
}
.bl_cardUnit.bl_cardUnit__repair .bl_card_txt {
    padding-top: 0;
    font-weight: 400;
}
.bl_cardUnit.bl_cardUnit__fp {
    margin-top: 5.0rem;
}
.bl_cardUnit.bl_cardUnit__fp .bl_card {
    margin-bottom: 0;
}
.bl_cardUnit.bl_cardUnit__fp .bl_card_ttl {
    font-size: 1.0rem;
    text-align: center;
}
@media screen and (max-width:767px) {
    .bl_cardUnit {
        gap: 2.0rem 5%;
        grid-template-columns: 1fr 1fr;
    }
    .bl_cardUnit.bl_cardUnit__fp .bl_card_ttl {
        font-size: 1.0rem;
        text-align: center;
    }
    .bl_cardUnit.bl_cardUnit__repair .bl_card_body {
        gap: 0.125rem;
    }
    .bl_cardUnit.bl_cardUnit__repair .bl_card_ttl {
        font-weight: 500;
    }
    .bl_cardUnit.bl_cardUnit__repair .bl_card_ttl span {
        font-size: max(10px, 0.9334rem);
    }
    .bl_cardUnit.bl_cardUnit__repair .bl_card_subTtl {
        font-weight: 600;
    }
    .bl_cardUnit.bl_cardUnit__repair .bl_card_txt {
        font-weight: 300;
    }
}

/* =========================================================
    gallery 繧ｮ繝｣繝ｩ繝ｪ繝ｼ

        *  vertical gallery  蝙ら峩繧ｮ繝｣繝ｩ繝ｪ繝ｼ
        *  split gallery     蛻�牡繧ｮ繝｣繝ｩ繝ｪ繝ｼ
============================================================ */

/* vertical gallery 蝙ら峩繧ｮ繝｣繝ｩ繝ｪ繝ｼ
------------------------------------------------------------ */
.bl_vertGallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9%;
}
.bl_vertGallery_imgUnit_many,
.bl_vertGallery_imgUnit_few
{
    display: flex;
    flex-direction: column;
    height: 100%;
}
.bl_vertGallery_imgUnit_many {
    gap: 4.0rem;
    align-items: flex-start;
}
.bl_vertGallery_imgUnit_few {
    padding: 5.0rem 0;
    justify-content: space-between;
    align-items: center;
}
.bl_vertGallery_imgUnit img {
    width: 100%;
}

/* split gallery 蛻�牡繧ｮ繝｣繝ｩ繝ｪ繝ｼ
------------------------------------------------------------ */
.bl_splitGallery {
    display: flex;
    flex-direction: column;
    gap: 3.0rem;
}
.bl_splitGallery_imgUnit_1col {
    width: 100%;
}
.bl_splitGallery_imgUnit_1col > img {
    width: 100%
}
.bl_splitGallery_imgUnit_2col {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.bl_splitGallery_imgUnit_2col > img {
    width: 45%;
}

/* =========================================================
    other 縺昴�莉�
        *  bl_breadcrumb  繝代Φ縺上★繝ｪ繧ｹ繝�
        *  bl_pageLink  繝壹�繧ｸ蜀�Μ繝ｳ繧ｯ
        *  bl_videoBox  繝薙ョ繧ｪ繝懊ャ繧ｯ繧ｹ
        *  bl_infoBox   繧､繝ｳ繝輔か繝懊ャ繧ｯ繧ｹ
============================================================ */
.bl_breadcrumbUnit {
    display: flex;
    gap: 0.625rem;
}
.bl_breadcrumb {
    display: flex;
    gap: 1.0rem;
    font-size: 1.0rem;
    color: var(--primary-color);
}
.bl_breadcrumb a {
    font-size: 1.0rem;
    color: var(--tertiary-color);
    text-decoration: underline;
    transition: 0.3s;
}
.bl_breadcrumb a:hover,
.bl_breadcrumb a:focus {
    opacity: 0.5;
}
@media screen and (max-width:767px) {
    .bl_breadcrumb,
    .vbreadcrumb a {
        /* font-size: 0.875rem */ font-size: 1.0rem;
    }
}

/* bl_pageLink  繝壹�繧ｸ蜀�Μ繝ｳ繧ｯ
------------------------------------------------------------ */
.bl_pageLink {
    display: flex;
    width: 100%;
}
.bl_pageLink.bl_pageLink__flow {
    max-width: 28.75rem;
    margin: 0 auto;
    padding: 0 3.125rem 2.75rem;
}
.bl_pageLink.bl_pageLink__repair {
    max-width: 61.25rem;
    margin: 0 auto;
    padding: 0 3.125rem 2.75rem;
    justify-content: center;
}
.ly_cont.ly_cont__maw460 { max-width: 28.75rem; }
.ly_cont.ly_cont__spMaw400 { max-width: 25.0rem; }
.bl_pageLink li {
    flex: 1;
    border-left: 1px solid var(--primary-color);
}
.bl_pageLink.bl_pageLink__repair li {
    flex: auto;
}
.bl_pageLink li:last-child {
    border-right: 1px solid var(--primary-color);
}
.bl_pageLink li a {
    display: block;
    transition: 0.3s;
    width: 100%;
    font-size: /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */ /* clamp(0.8125rem, 0.25rem + 1.1719vw, 1rem); */clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
    line-height: 1.125;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    color: var(--primary-color);
}
.bl_pageLink li a:hover,
.bl_pageLink li a:focus
{
    opacity: 0.5;
}
.bl_pageLink li a span {
    display: inline-block;
    width: fit-content;
    position: relative;
    padding: 0 2px;
}
.bl_pageLink li a span::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.5em;
    width: 100%;
    height: 2px;
    background: var(--primary-color);
    opacity: 0;
    visibility: hidden;
}
.bl_pageLink li a:hover span::after,
.bl_pageLink li a:focus span::after
{
    opacity: 0.5;
    visibility: visible;
}
@media screen and (max-width:767px) {
    .bl_pageLink.bl_pageLink__flow { max-width: 25.0rem;}
    .bl_pageLink li a {
        font-size: /* max(0.8125rem, 10px) */ 1.0rem;
    }
}

/* video box 繝薙ョ繧ｪ繝懊ャ繧ｯ繧ｹ
------------------------------------------------------------ */
.bl_videoBox {
    max-width: 57.5rem;
    margin: 3.5rem auto 0;
}
.bl_videoBox iframe {
    width: 100%;
    aspect-ratio: 16/9;
}
.bl_videoBox_txt {
    line-height: 2.0;
    /* font-size: 0.875rem */ font-size: 1.0rem;
    letter-spacing: 0.125rem;
    padding-top: 1.5rem;
    font-weight: 500;
    color: var(--primary-color);
}


/* info box 繧､繝ｳ繝輔か繝懊ャ繧ｯ繧ｹ
------------------------------------------------------------ */
.bl_infoBox {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: fit-content;
    margin: 0 auto;
}
.bl_infoBox_tel {
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.375;
    letter-spacing: 0.1875rem;
    color: var(--primary-color);
    pointer-events: none;
}
.bl_infoBox_telTime,
.bl_infoBox_address,
.bl_infoBox_fax {
    line-height: 2.0;
    font-size: 1.0rem;
    letter-spacing: 0.0625rem;
    font-weight: 500;
    color: var(--primary-color);
}
.bl_infoBox_address {
    margin-top: 2.0rem;
}
.bl_infoBox .el_btn {
    display: block;
    margin: 2.0rem auto 0;
    padding: 0.875rem 5.5rem 0.875rem 4.0rem;
}

@media screen and (max-width: 767px) {
    .bl_infoBox {
        margin-left: 0;
    }
    .bl_infoBox_tel {
        font-size: 1.5rem;
        pointer-events: initial;
    }
    .bl_infoBox .el_btn {
        font-size: 1.0rem;
        padding: 0.53335rem 3.73345rem 0.53335rem 2.13334rem;
    }
}

/* =========================================================
    shop 繧ｷ繝ｧ繝��讀懃ｴ｢

        * shop_select  繧ｻ繝ｬ繧ｯ繝医�繝�け繧ｹ
        * shop_list    繧ｷ繝ｧ繝��繝ｪ繧ｹ繝�
        * shop_map     繝槭ャ繝�
============================================================ */
.shop_selectWrapper {
    padding: 0.5rem 1rem;
    border: 2px solid var(--sp-accent-color);
    width: 100%;
    border-radius: 0.675rem;
}
.shop_select {
    width: 100%;
    font-size: 1.0625rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.5;
    appearance: auto;
    cursor: pointer;
}
.shop_list {
    display: flex;
    flex-direction: column;
    gap: 1.0rem;
    margin-top: 2.0rem;
}
.shop_list li.js_active {
    background-color: #f7f8f7;
}
.shop_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.0rem 1rem;
    cursor: pointer;
    gap: 0.25rem;
}
.shop_itemContent {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.shop_itemTtl {
    font-size: 1.0rem;
    font-weight: 500;
    letter-spacing: 0.1em;
}
.shop_itemAddress,
.shop_itemTel {
    /* font-size: 0.875rem */ font-size: 1.0rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}
.shop_itemTel {
    transition: 0.3s;
    pointer-events: none;
}
.shop_itemBtnUnit {
    flex: 0 0 9.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.shop_itemBtn,
.shop_itemBtn2 {
    width: fit-content;
    padding: 0.375rem 0.75rem;
    border-radius: 2rem;
    /* font-size: 0.875rem */ font-size: 1.0rem;
    font-weight: 500;
    transition: 0.3s;
}
.shop_itemBtn {
    border: 1px solid var(--tertiary-color);
    color: var(--tertiary-color);
}
.shop_itemBtn2 {
    background: var(--sp-accent-color);
    color: var(--base-color);
}
.shop_itemBtn:hover,
.shop_itemBtn:focus,
.shop_itemBtn2:hover,
.shop_itemBtn2:focus {
    opacity: 0.5;
}
.shop_map iframe{
    width: 100%;
    aspect-ratio: 1/1;
}
@media screen and (max-width: 1023px) {
    .shop_map iframe{
        aspect-ratio: 16/9;
    }
}
@media screen and (max-width:767px) {
    .shop_itemTel {
        pointer-events: initial;
    }
    .shop_itemTel:hover,
    .shop_itemTel:focus {
        opacity: 0.5;
    }
    .shop_map iframe{
        aspect-ratio: 1/1;
    }
}


/* =========================================================
    header 繝倥ャ繝繝ｼ

        * header_logo 繝倥ャ繝繝ｼ繝ｭ繧ｴ
        * header_nav 繝倥ャ繝繝ｼ繝翫ン
        * header_button 繝倥ャ繝繝ｼ繝懊ち繝ｳ
============================================================ */

/* header_logo 繝倥ャ繝繝ｼ繝ｭ繧ｴ
------------------------------------------------------------ */
.header_logo {
    position: relative;
    padding-bottom: var(--header-btmpadding);
    z-index: 100;
}
.header_logo a {
    transition: 0.3s;
}
.header_logo a:hover,
.header_logo a:focus {
    opacity: 0.75;
}
.header_logo_ttl {
    padding-top: 0.5rem;
    color: var(--header-primary-color);
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.header_logo_txt {
    color: var(--header-primary-color);
    font-size: 0.75rem;
    letter-spacing: 0.15rem;
}

/* PC 768px ~ 1300px */
@media screen and (max-width:1300px){

    .header_logo_ttl {
        font-size: clamp(1rem, 0.1338rem + 1.8045vw, 1.6rem);
    }
    .header_logo_txt {
        font-size: clamp(0.6875rem, 0.5973rem + 0.188vw, 0.75rem);
        letter-spacing: clamp(0rem, -0.2165rem + 0.4511vw, 0.15rem);
    }

}

/* SP(TB) ~ 767px */
@media screen and (max-width:767px) {
    .header_logo {
        margin-left: 0.5rem;
    }
    .header_logo_ttl {
        padding-top: 0;
        font-size: 1.375rem
    }
    .header_logo_txt {
        font-size: 0.875rem;
    }
}

/* header_nav 繝倥ャ繝繝ｼ繝翫ン
------------------------------------------------------------ */
.header_nav {
    position: relative;
    z-index: 101;
}

.header_nav_inner {

}
.header_nav_menuList_parent {
    display: flex;
    height: var(--header-innerheight);
    justify-content: center;
    align-items: flex-start;
}
.header_nav_menuList_parent > li {
    height: 100%;
    padding-top: 0.8125rem;
    position: relative;
}
.header_nav_menuList_mainItem {
    width: fit-content;
    cursor : pointer;
    margin: 0;
    padding: 0;
}
div.header_nav_menuList_mainItem {
    /* height: 100%; */
}
.header_nav_menuList_mainItem::before,
.header_nav_menuList_mainItem_last::before,
.header_nav_menuList_mainItem_last::after
{
    content: '';
    display: inline-block;
    background: var(--header-secondary-color);
    width: 1px;
    height: 1.375rem;
}
.header_nav_menuList_mainItem::before,
.header_nav_menuList_mainItem_last::before
{
    transform: translate(0.125rem, 0.25rem);
}
.header_nav_menuList_mainItem_last::after
{
    transform: translate(-0.125rem, 0.25rem);
}
.header_nav_menuList_mainItem {
    transition: 0.3s;
}
.header_nav_menuList_mainItem span {
    display: inline-block;
    font-size: 1.05rem;
    font-weight: 500;
    padding: 0.3rem 1rem;
    line-height: 1;
    letter-spacing: 0.05em;
}
.header_nav_menuList_mainItem:hover,
.header_nav_menuList_mainItem:focus {
    opacity: 0.5;
    /* height: 100%; */
    /* margin-bottom: 1px; */
}
.header_nav_menuList_mainItem:hover span,
.header_nav_menuList_mainItem:focus span {
    /* text-decoration: underline;
    text-underline-offset: 0.5rem; */
}
.header_nav_menuList_child {
    visibility: hidden;
    opacity: 0;
    transition: 0.5s;
    position: absolute;
    top: auto;
    left: 0;
    z-index: 1;
}
.header_nav_menuList_child ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 12.5rem;
    /* margin-top: 2.0rem; */
    /* margin-top: var(--header-nav-menuList-child-marginTop); */
    padding: 2.25rem 0;
    background: var(--header-secondary-bgcolor);
}
.header_nav_menuList_child li {
    margin-left: 0.5rem;
}
.header_nav_menuList_child li a {
    transition: 0.3s;
    font-size: 1.0rem;
    font-weight: 400;
    padding: 0.5rem;
    line-height: 1;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    width: fit-content;
}
.header_nav_menuList_child li a:hover,
.header_nav_menuList_child li a:focus {
    opacity: 0.5;
}
.header_nav_menuList_child li a:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.3125rem 0 0.3125rem 0.75rem;
    border-color: transparent transparent transparent var(--header-primary-color);
    margin-right: 0.5rem;
}

.header_nav_menuList_child:hover,
.header_nav_menuList_child:focus-within,
.header_nav_menuList_mainItem:hover ~ .header_nav_menuList_child,
.header_nav_menuList_mainItem:focus ~ .header_nav_menuList_child {
    visibility: visible;
    opacity: 0.8;
}
@media screen and (max-width: 1300px) {
    .header_nav_menuList_mainItem span {
        font-size: clamp(0.6875rem, 0.1642rem + 1.0902vw, 1.05rem);
        padding: 0.3rem clamp(0.125rem, -1.1382rem + 2.6316vw, 1rem);
    }
    .header_nav_menuList_child ul {
        gap: clamp(0.6875rem, 0.2364rem + 0.9398vw, 1rem);
        width: clamp(9.5rem, 5.1692rem + 9.0226vw, 12.5rem);
        padding: clamp(1.5rem, 0.4173rem + 2.2556vw, 2.25rem) 0;
        background: var(--header-secondary-bgcolor);
    }
    .header_nav_menuList_child li a {
        font-size: clamp(0.6875rem, 0.2364rem + 0.9398vw, 1rem);
    }

}

/* PC 768px ~ 1200px */
@media screen and (max-width:1200px) {
    /* .header_nav_menuList_mainItem span {
        font-size: clamp(0.6875rem, -0.0903rem + 1.6204vw, 1.125rem);
        padding: clamp(0.125rem, -0.2083rem + 0.6944vw, 0.3125rem);
    } */
    .header_nav_menuList_mainItem::before,
    .header_nav_menuList_mainItem_last::before,
    .header_nav_menuList_mainItem_last::after
    {
        height: clamp(1rem, 0.3333rem + 1.3889vw, 1.375rem);
    }

}

@media screen and (max-width:767px) {

    .header_nav {
        display: none;
    }

}


/* header_button 繝倥ャ繝繝ｼ繝懊ち繝ｳ
------------------------------------------------------------ */

/* PC(TB) 768px ~ */
.header_buttonUnit {
    padding-bottom: var(--header-btmpadding);
}
.hader_buttonUnit_inner {

}
.header_button_list {
    display: flex;
    justify-content: space-between;
    gap: 1.0rem;
}
.header_button_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.header_button_item a{
    transition: 0.3s;
}
.header_button_item a:hover,
.header_button_item a:focus{
    opacity: 0.5;
}
.header_button_iconWrapper {
    display: grid;
    height: 2.5rem;
}
.header_button_icon {
    margin: auto;
    width: 2.0rem;
}
.header_button_icon.header_button_icon__searchWrapper {
    width: 1.6875rem;
}
.header_icon_search_cls_1{
    stroke-linecap: round;
}
.header_icon_search_cls_1,
.header_icon_search_cls_2,
.header_icon_mail_cls_1,
.header_icon_login_cls_1{
    fill: none;
    stroke: var(--header-primary-color);
    stroke-miterlimit: 10;
    stroke-width: 1.5rem;
}
.header_button_txt {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--header-primary-color);
}

/* PC 768px ~ 1200px */
@media screen and (max-width:1200px) {

    .header_button_list {
        gap: clamp(0.5rem, -0.3889rem + 1.8519vw, 1rem);
    }
    .header_button_icon {
        width: clamp(1.5rem, 0.6111rem + 1.8519vw, 2rem);
    }
    .header_button_txt {
        font-size: clamp(0.625rem, 0.3139rem + 0.6481vw, 0.8rem);
    }
    .header_button_icon.header_button_icon__searchWrapper {
        width: clamp(1.3125rem, 0.6458rem + 1.3889vw, 1.6875rem);
    }

}

/* SP ~ 767px */
@media screen and (max-width:767px) {
    .header_button_list {
        gap: 0.5rem;
    }
    .header_button_icon {
        width: 1.5rem;
    }
    .header_button_txt {
        font-size: max(10px, 1.82292vw);
    }
    .header_button_icon.header_button_icon__searchWrapper {
        width: 1.6875rem;
    }
}
@media screen and (max-width:480px) {
    .header_button_list {
        gap: 0.25rem;
    }
}
@media screen and (max-width:374px) {
    .header_button_item {
        /* display: none; */
    }
}

/* header_hamnavBtn(js_) 繝上Φ繝舌�繧ｬ繝ｼ繝懊ち繝ｳ
------------------------------------------------------------ */
.header_hamnavBtn_wrapper {
    display: none;
    margin-left: 0.1875rem;
    cursor: pointer;
}

@media screen and (max-width:767px) {
    .header_hamnavBtn_wrapper {
        display: flex !important;
    }
}
.header_hamnavBtn_icon {
    width: 2.5rem;
    height: 2.0rem;
    position: relative;
    z-index: 9999;
}
.header_hamnavBtn_wrapper > div {
    transition: 0.3s;
}
/* .header_hamnavBtn_wrapper > div:hover
.header_hamnavBtn_wrapper > div:focus
{
    opacity: 0.5;
} */
.header_hamnavBtn_icon span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0.5rem;
    height: 0.1875rem;
    border-radius: 0.125rem;
    background-color: var(--header-primary-color);
    width: 66%;
}
.header_hamnavBtn_icon span:nth-of-type(1) {
    top: 0.375rem;
    left: 50%;
    transform: translateX(-50%);
}
.header_hamnavBtn_icon span:nth-of-type(2) {
    top: 0.875rem;
    left: 50%;
    transform: translateX(-50%);
}
.header_hamnavBtn_icon span:nth-of-type(3) {
    top: 1.375rem;
    left: 50%;
    transform: translateX(-50%);
}
.header_hamnavBtn.js_active .header_hamnavBtn_icon span:nth-of-type(1) {
    top: 0.4375rem;
    left: 0.25rem;
    transform: translateY(0.375rem) rotate(-45deg);
    width: 81%;
}
.header_hamnavBtn.js_active .header_hamnavBtn_icon span:nth-of-type(2) {
    opacity: 0;
}
.header_hamnavBtn.js_active .header_hamnavBtn_icon span:nth-of-type(3) {
    top: 1.1875rem;
    left: 0.25rem;
    transform: translateY(-0.375rem) rotate(45deg);
    width: 81%;
}
@media screen and (max-width:767px) {
    .header_hamnavBtn_icon {
        width: 5.20833vw;
    }
    .header_hamnavBtn_icon span {
        left: 1.04302vw;
    }
}
@media screen and (max-width:767px) {
    .header_hamnavBtn_icon {
        width: 2.0rem;
        margin: auto;
    }
    .header_hamnavBtn_icon span {
        left: 0.375rem;
        height: 2px;
    }
}
@media screen and (max-width:480px) {
    .header_hamnavBtn_icon span {
        left: 0.375rem;
        height: 2px;
    }
}
@media screen and (max-width:400px) {
    .header_hamnavBtn_icon {
        width: 26px;
        height: 24px;
    }
    .header_hamnavBtn_icon span {
        left: 6px;
        border-radius: 2px;
    }
}

/* ham_nav(js_) 繝上Φ繝舌�繧ｬ繝ｼ繝｡繝九Η繝ｼ
------------------------------------------------------------ */

/* PC(TB) 768px ~ 1199px */
#ham-nav {
    position: fixed;
    z-index: 99;
    /* top : var(--header-height); */
    top: 0;
    right: -120%;
    width: 25rem;
    height: 100dvh;
    background: var(--secondary-color);
    transition: all 0.6s;
}
#ham-nav.panelactive {
    right: 0;
}
.hamNav_inner {
    position: fixed;
    z-index: 999;
    width: 25rem;
    height: 100dvh;
    overflow: auto;
}
.hamNav_list_wrapper {
    margin-top: var(--header-height);
}
.hamNav_button_list {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
    padding-top: 3.25rem;
    padding-bottom: 1.0rem;
    padding-right: 12.6315dvw;
    padding-left: 12.6315dvw;
}
.hamNav_button_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    flex: 1;
}
.hamNav_button_item a {
    display: flex;
    width: 100%;
    transition: 0.3s;
    color: var(--primary-color);
    background-color: var(--base-color);
    /* border: 1px solid var(--primary-color); */
}
.hamNav_button_item a:hover,
.hamNav_button_item a:focus {
    opacity: 0.5;
}
.hamNav_button_item .hamNav_button_item_2col {
    display: flex;
    align-items: center;
    width: 100%;
    border: 1px solid var(--primary-color);
}
.hamNav_button_item .hamNav_button_item_2col .hamNav_button_item_child {
    display: flex;
    flex: 1;
}
.hamNav_button_item .hamNav_button_item_2col * + *  {
    border-left: 1px solid var(--primary-color);
}
.hamNav_button_iconWrapper {
    display: flex;
    height: 3.0rem;
    border: 1px solid var(--primary-color);
}
.hamNav_button_item .hamNav_button_item_2col  .hamNav_button_iconWrapper {
    border: none;
}
.hamNav_button_icon {
    padding: 0.75rem 1.0rem;
    margin: auto;
}
.hamNav_button_txt {
    display: flex;
    align-items: center;
    padding: 0.625rem 0;
    font-size: 1.0rem;
    font-weight: 500;
    color: var(--primary-color);
}

.hamNav_list_parent {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 1.0rem 12.6315dvw;
    color: var(--primary-color)
;}
.hamNav_list_child {
    gap: 0;
    margin: 0;
    /* border-top: 1px solid #999999; */
}
.hamNav_list_child_title,
.hamNav_list_parent li a,
.hamNav_list_child li a
{
    display: flex;
    align-items: center;
    padding: 0.625rem 1rem 0.625rem 0.5rem;
    transition: 0.3s;
    font-size: 1.0625rem;
    font-weight: 500;
    cursor: pointer;
    position: relative;
}
.hamNav_list_child_title:hover,
.hamNav_list_child_title:focus,
.hamNav_list_parent li a:hover,
.hamNav_list_parent li a:focus,
.hamNav_list_child li a:hover,
.hamNav_list_child li a:focus
{
    opacity: 0.5;
}
/* .hamNav_list_child_title.js_open:hover,
.hamNav_list_child_title.js_open:focus,
{
    opacity: 0.5;
} */
.hamNav_list_child li a::before {
    content: '';
    display: inline-block;
    clip-path: circle(50% at 50% 50%);
    background-color: var(--primary-color);
    width: 0.25rem;
    height: 0.25rem;
    margin-right: 0.375rem;
}
.hamNav_list_child.hamNav_list_child__noDisc li a::before {
    content: none;
}
.hamNav_list_parent li a::after,
.hamNav_list_child li a::after
{
    content: "";
    margin: auto;
    position: absolute;
    right: 0.75rem;
    width: 0.5rem;
    height: 0.5rem;
    border-top: 2px solid var(--primary-color);
    border-right: 2px solid var(--primary-color);
}
.hamNav_list_parent li a::after,
.hamNav_list_child li a::after {
    top: 0;
    bottom: 0;
    right: 0.75rem;
    transform: rotate(45deg);
}
.hamNav_list_child li a {
    padding-left: 1.5rem;
}
.hamNav_list_parent > li {
    border-bottom: 1px solid #39322f;
    padding: 0.625rem 0;
}
.hamNav_list_child > li {
    /* border-bottom: 1px solid #999999; */
}
.hamNav_icon_wrapper {
    width: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 0.75rem;
}
.hamNav_icon_mail_cls_1 {
    fill: none;
    stroke: #5e5e5e;
    stroke-miterlimit: 10;
    stroke-width: 1.5rem;
}
.hamNav_icon_tel_cls_1 {
    fill: #5e5e5e;
}

/* TB,SP ~ 767px */
@media screen and (max-width:767px) {
    #ham-nav {
        width: 100%;
        border-left: none;
    }
    .hamNav_inner{
        width: 100%;
    }
}

/* footer_nav 繝輔ャ繧ｿ繝ｼ繝翫ン
------------------------------------------------------------ */
.footer_nav {

}
.footer_nav_inner {
    display: flex;
    padding: 0 3.5rem;
    justify-content: space-between;
}
.footer_nav_menuList_parent,
.footer_nav_menuList_child {
    display: flex;
    flex-direction: column;
}
.footer_nav_menuList_parent {
    width: fit-content;
    gap: 2.5rem;
}
.footer_nav_menuList_child {
    list-style: disc inside;
    gap: 1.0rem;
    margin: 1rem 0 1rem 1rem;
}
.footer_nav_menuList_parent li a,
.footer_nav_menuList_parent li span,
.footer_nav_menuList_child li a
{
    padding: 0.5rem;
    transition: 0.3s;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.125rem;
    position: relative;
    font-size: clamp(0.875rem, 0.5rem + 0.7813vw, 1rem);
}
.footer_nav_menuList_child li a {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.footer_nav_menuList_child li a::before {
    content: '';
    display: inline-block;
    clip-path: circle(50% at 50% 50%);
    background-color: var(--base-color);
    width: 0.25rem;
    height: 0.25rem;
}
.footer_nav_menuList_parent li a:hover,
.footer_nav_menuList_parent li a:focus,
.footer_nav_menuList_child li a:hover,
.footer_nav_menuList_child li a:focus
{
    opacity: 0.5;
}
.footer_nav_menuList_arrowIcon::after {
    display: none;
    content: "";
    margin: auto;
    position: absolute;
    top: 0.125rem;
    bottom: 0;
    right: 0.75rem;
    width: 0.75rem;
    height: 0.75rem;
    transform: rotate(45deg);
    border-top: 2px solid var(--base-color);
    border-right: 2px solid var(--base-color);
}
.footer_nav_tel {
    pointer-events: none;
}
@media screen and (max-width: 1023px) {
    .footer_nav_inner {
        padding: 0 clamp(1.5rem, -4.5235rem + 12.549vw, 3.5rem);
    }
}
@media screen and (max-width: 767px) {
    .footer_nav_inner {
        flex-direction: column;
        padding: 0 10dvw;
    }
    .footer_nav_menuList_parent {
        width: 100%;
        gap: 0;
    }
    .footer_nav_menuList_child {
        list-style: none;
        gap: 0;
        margin: 0;
        border-top: 1px solid #4d4d4d;
    }
    .footer_nav_menuList_parent li a,
    .footer_nav_menuList_parent li span,
    .footer_nav_menuList_child li a
    {
        display: block;
        padding: 1.0rem 0.5rem;
        transition: 0.3s;
        font-size: 1.0rem;
        font-weight: 400;
    }
    .footer_nav_menuList_child li a {
        padding-left: 3.75rem;
    }
    .footer_nav_menuList_parent > li {
        border-bottom: 1px solid #999999;
    }
    .footer_nav_menuList_child > li {
        border-bottom: 1px solid #4d4d4d;
    }
    .footer_nav_menuList_child li a::before {
        display: none;
    }
    .footer_nav_menuList_arrowIcon::after {
        display: block;
    }
    .footer_nav_tel {
        pointer-events: initial;
    }
}

/* footer_copy 繝輔ャ繧ｿ繝ｼ繧ｳ繝斐�
------------------------------------------------------------
* PC(TB) 768px ~
* SP(TB)       ~ 767px
------------------------------------------------------------ */
.footer_copy {
    font-size: 0.75rem;
    letter-spacing: 0.1875rem;
}
@media screen and (max-width:767px) {
    .footer_copy {
        font-size: 1.0rem;
    }
}
