@charset "utf-8";

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

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
    margin: 0
}

ul[role='list'],
ol[role='list'] {
    list-style: none
}

body {
    min-height: 100vh;
    line-height: 1.5
}

h1,
h2,
h3,
h4,
button,
input,
label {
    line-height: 1.1
}

h1,
h2,
h3,
h4 {
    text-wrap: balance
}

a:not([class]) {
    text-decoration-skip-ink: auto;
    color: currentColor
}

img,
picture {
    max-width: 100%;
    display: block
}

input,
button,
textarea,
select {
    font: inherit
}

textarea:not([rows]) {
    min-height: 10em
}

:target {
    scroll-margin-block: 5ex
}

.accent-font {
    font-family: "Italiana", sans-serif;
    font-weight: 400;
    font-style: normal;
}

body {
    position: relative;
    font-size: 16px;
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    word-break: auto-phrase;
    background-color: #FFFDF5;
    color: #000;
}

@media screen and (max-width: 768px) {
    body {
        font-size: 14px;
    }
}

.page-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    padding: 0 !important;
    overflow: hidden;
    margin-top: 120px;
}

@media screen and (max-width: 960px) {
    .page-container {
        margin-top: 80px;
    }
}

/* ===============================
   パンクズリスト
   =============================== */
.pankuzu {
    position: absolute;
    width: fit-content;
    bottom: 2rem;
    right: 10%;
    display: flex;
    gap: .5rem;
    z-index: 2;
}

.pankuzu a {
    position: relative;
    padding-right: 1rem;
    font-size: 1rem;
    width: fit-content;
    display: block;
}

.pankuzu a p {
    font-size: 1rem !important;
    font-weight: bold;
    line-height: 1;
    width: fit-content;
    color: #FFA908;
    border-bottom: 1px solid #FFA908;
    padding-bottom: .25rem;
}

.pankuzu p {
    font-size: 1rem;
    color: #9B9B9B;
    font-weight: bold;
    line-height: 1;
    width: fit-content;
}

.pankuzu a:after {
    content: "-";
    position: absolute;
    top: -0.25rem;
    right: 0;
    font-size: 1rem;
}

@media screen and (max-width: 960px) {
    .pankuzu a {
        font-size: 12px;
    }

    .pankuzu a p {
        font-size: 12px;
    }

    .pankuzu p {
        font-size: 12px;
    }

    .pankuzu a:after {
        font-size: 12px;
    }
}

/* ===============================
   下層ページタイトル
   =============================== */
.page-title {
    position: relative;
    padding: 1rem 2rem;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-bottom: #A5A5A5 1px solid;
}

.page-title-inner {
    width: 80%;
    margin: 0 auto;
}

.page-title-inner h1 {
    position: relative;
    font-size: 3.5rem;
    line-height: 1;
    letter-spacing: 1rem;
    font-weight: 300;
    color: #000;
    z-index: 1;
}

.page-title-inner p {
    font-size: 3rem;
    color: #000;
    font-weight: 600;
    z-index: 1;
}

@media screen and (max-width: 960px) {
    .page-title-inner {
        width: 90%;
    }
}


/* ===============================
   メインボタン
   =============================== */
.main-btn {
    position: relative;
    width: 240px;
    text-align: center;
    padding: 1.5rem;
    background-color: #003657;
    border-radius: 100px;
    border: none;
    display: block;
    transition: all 0.5s ease;
    height: fit-content;
    font-weight: bold;
    z-index: 0;
    transition: all .5s;
    font-weight: bold !important;
    color: #FFF !important;
    font-size: 1rem;
    padding-left: 2rem;
}

.main-btn-wrap {
    position: relative;
    width: fit-content;
    margin: 2rem auto;
}

.main-btn-wrap:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 2rem;
    margin: auto 0;
    width: 32px;
    height: 32px;
    background: url("https://kawabe-j.com/system_panel/uploads/images/20251211172440546153.png");
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 1;
}

.main-btn:hover {
    background-color: #12B6D7;
}

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

/* ===============================
   検索画面
   =============================== */
.search {
    margin: 3rem auto 5rem;
    width: 80%;

    @media(max-width:1150px) {
        width: 90%;
    }
}

.search-title-wrapper {
    padding: 1rem 2rem;
    background-color: #D1ECF2;
    border-left: #003657 12px solid;
    margin-bottom: 1rem;

    @media(max-width:900px) {
        border-left: #003657 7px solid;
        padding-left: 30px;
    }
}

.search-title {
    position: relative;
    padding-left: 1rem;
    font-size: clamp(0.875rem, 0.739rem + 0.68vw, 1.25rem);

    @media(max-width:900px) {
        padding-left: 0;
    }
}

.search-contents-wrapper {
    padding: 1rem 2rem;

    @media(max-width:900px) {
        padding: 0;
        padding-bottom: 1rem;
    }
}

.c,
.d,
.g,
.h,
.i {
    margin: 0 0 1rem 2rem;
    display: grid;
    grid-template-columns: 1fr 5fr;
    gap: 1rem;
    border-bottom: 1px solid #003657;
    align-items: center;

    @media(max-width:900px) {
        display: flex;
        flex-wrap: wrap;
        gap: 1rem;
        margin-left: 0;

        .search-subtitle-wrapper {
            width: 100%;
        }
    }
}

.c p:nth-child(1),
.d p:nth-child(1),
.g p:nth-child(1),
.h p:nth-child(1),
.i p:nth-child(1) {
    position: relative;
    padding-left: 2rem;
    font-size: 16px;
    font-weight: bold;
}

.c p:nth-child(1):before,
.d p:nth-child(1):before,
.g p:nth-child(1):before,
.h p:nth-child(1):before,
.i p:nth-child(1):before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 0;
    width: 12px;
    height: 12px;
    background-color: #003657;
    border-radius: 30px;
}


/*====================
Pagination
====================*/
.webgene-pagination {
    width: 100%;
    grid-column: 1 / 3;
}

.webgene-pagination>ul {
    display: flex;
    padding: 0;
    justify-content: center;
    gap: 30px;
    align-items: center;
}

.webgene-pagination>ul>li {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FFF;
    list-style: none;
    border: 1px solid #171717;
}

.webgene-pagination>ul>li.prev,
.webgene-pagination>ul>li.next {
    border: none;
    background-color: transparent;
    border-bottom: 1px solid #000;
    transition: .4s ease;
}

.webgene-pagination>ul>li.prev a,
.webgene-pagination>ul>li.next a {
    padding: 0;
    background-color: transparent;
}

.webgene-pagination>ul>li.prev:hover a:before,
.webgene-pagination>ul>li.next:hover a:before {
    content: none;
}

.webgene-pagination>ul>li.prev:hover,
.webgene-pagination>ul>li.next:hover {
    opacity: 50%;
}



.webgene-pagination>ul>li a {
    position: relative;
    color: #003657 !important;
    padding: 0.8rem 1.3rem;
    background-color: #FFF;
}

.webgene-pagination>ul>li.selected a,
.webgene-pagination>ul>li:hover a {
    position: relative;
    color: #003657 !important;
}

.webgene-pagination>ul>li.selected a:before,
.webgene-pagination>ul>li:hover a:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #003657;
}

/*====================
アーカイブ
====================*/
.list-wrap {


    .webgene-blog {

        display: flex;
        flex-direction: column;
        gap: 40px;

        .list-link:hover .link-arrow {
            background-image: url(/system_panel/uploads/images/20251211051717225624.svg);
        }
    }

    .webgene-item {
        padding-bottom: 27px;
        position: relative;
    }

    .webgene-item::after {
        content: "";
        position: absolute;
        width: calc(100% - 245px);
        height: 1px;
        background-color: #707070;
        bottom: 0;
        right: 0;

        @media(max-width:1150px) {
            width: calc(100% - 162px);
        }
    }

    .listLk {
        display: flex;
        gap: 40px;

        @media(max-width:1150px) {
            gap: 16px;
        }

        .column {
            display: flex;
            gap: 40px;
            align-items: center;
            width: 100%;

            @media(max-width:1150px) {
                flex-direction: column;
                gap: 16px;
            }
        }

        .listLkImgWr {
            max-width: 245px;
            width: 100%;
            height: 180px;
            border-radius: 10px;

            @media(max-width:1150px) {
                max-width: 162px;
                height: 103px;
            }

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                border-radius: 10px;
            }
        }

        .listCt {
            flex: 1;

            @media(max-width:1150px) {
                flex: auto;
                width: 100%;
            }
        }

        .categoryTxt {
            display: block;
            color: #FFF;
            font-size: 14px;
            background-color: #12B6D7;
            padding: .25rem 1rem;
            border-radius: 50px;
            text-align: center;
            width: fit-content;
            margin-bottom: 20px;
        }

        .itemtitle {
            font-family: var(--fmain);
            font-weight: 600;
            font-size: clamp(1rem, 0.293rem + 1.47vw, 2.063rem);
            letter-spacing: 0.03em;
            color: #000;
            margin-bottom: 16px;
        }

        .listPrice {
            font-family: var(--fmain);
            font-weight: 600;
            font-size: clamp(1rem, 0.293rem + 1.47vw, 2.063rem);
            letter-spacing: 0.03em;
            color: #000;
            margin-bottom: 32px;

            @media(max-width:1150px) {}
        }

        .list-line-wrap {
            display: flex;
            gap: 64px;

            @media(max-width:1150px) {
                flex-direction: column;
                gap: 17px;
            }

            .list-line {
                display: flex;
                gap: 14px;
                align-items: flex-start;
                font-family: var(--fmain);
                font-weight: 500;
                font-size: clamp(0.625rem, 0.376rem + 0.52vw, 1rem);
                line-height: calc(24/16*100%);
                color: #000;

                @media(max-width:1150px) {
                    line-height: calc(12/10*100%);
                }
            }

        }

        .more {
            display: flex;
            align-items: center;
            gap: 30px;
            margin-top: auto;
            margin-bottom: auto;

            @media(max-width:1150px) {
                margin-left: auto;
            }

            .link-arrow {
                position: relative;
                background-image: url(/system_panel/uploads/images/20251211051431253240.svg);
                width: 65px;
                height: 33px;
                inset: 0;
                transition: .4s ease;

                @media(max-width:700px) {
                    width: 39px;
                    height: 20px;
                    border-radius: 10px;
                }
            }

            p {
                font-family: var(--fmain);
                font-weight: 500;
                --fmin: 12;
                --fmax: 16;
                font-size: clamp(0.75rem, 0.584rem + 0.35vw, 1rem);
                color: #000;
            }
        }
    }
}





.product-detail .fixed-btn {
    position: fixed;
    top: 50%;
    right: 1%;
    width: 84px;
    height: 256px;
    background: url(/system_panel/uploads/images/20251215052819460759.svg) no-repeat top/contain;
    transition: .4s ease;

    @media(max-width:900px) {
        display: none;
        background: url(/system_panel/uploads/images/20251215073823427508.png) no-repeat top/contain;
        height: 107px;
        bottom: 0;
    }
}

.fixed-btn {
    position: fixed;
    top: 50%;
    right: 1%;
    transition: .4s ease;
    background: url(/system_panel/uploads/images/20251215052819460759.svg) no-repeat top/contain;
    width: 84px;
    height: 256px;
    z-index: 50;

    @media(max-width:900px) {
        background: url(/system_panel/uploads/images/20251215073823427508.svg) no-repeat top/contain;
        bottom: 0;
        top: auto;
        height: 107px;

    }
}

.catewrap {
    margin-bottom: 70px;

    .webgene-blog {
        display: flex;
        align-items: center;
        gap: 48px;

        @media(max-width:1023px) {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: auto;
            gap: 15px;

        }

        .webgene-item {
            transition: .4s ease;

            a {
                position: relative;
                display: flex;

                justify-content: center;
                align-items: center;
                padding: 16px 54px 16px 20px;
                height: 52px;
                border-radius: 26px;
                background: #d0ecf2;
                font-family: var(--fmain);
                font-weight: 500;
                font-size: clamp(0.875rem, 0.626rem + 0.52vw, 1.25rem);
                letter-spacing: 0.1em;
                color: #003657;

                @media(max-width:1023px) {
                    padding: 13px 26px;
                    font-size: 16px;
                    height: 42px;

                }
            }

            a::after {
                content: "";
                background: url(/system_panel/uploads/images/20251215055337431859.svg) no-repeat center/contain;
                width: 20px;
                height: 20px;
                position: absolute;
                top: 0;
                bottom: 0;
                margin: auto;
                right: 20px;

                @media(max-width:900px) {
                    right: 9px;
                    width: 12px;
                    height: 12px;
                }
            }
        }

        .webgene-item:hover {
            opacity: 50%;
        }
    }
}