body {
    font-family: 'Noto Sans JP', sans-serif;
}

details summary::-webkit-details-marker {
    display: none;
}

details summary {
    list-style: none;
}

details[open] .accordion-arrow {
    transform: rotate(180deg);
}

/* Accordion styles */
.accordion {
    border: 1px solid #F9F4E5;
    border-radius: 5px;
    overflow: hidden;
}

.accordion-summary {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 2rem;
    background-color: #FFF9E5;
    text-align: left;
    cursor: pointer;
    user-select: none;
}

/* License table styles */
.license-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid rgb(243 244 246);
    font-size: 12px;
    color: #333;
}

.license-table thead tr {
    background-color: #9A8033;
    color: white;
    font-size: 12px;
}

.license-table th {
    padding: 0.75rem;
    text-align: left;
    font-weight: 500;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    white-space: nowrap;
}

.license-table th:last-child {
    border-right: none;
}

.license-table th.text-center {
    text-align: center;
}

.license-table tbody {
    --tw-divide-y-reverse: 0;
}

.license-table tbody tr {
    border-bottom: 1px solid rgb(243 244 246);
}

.license-table tbody tr:last-child {
    border-bottom: none;
}

.license-table tbody tr:hover {
    background-color: rgba(249, 250, 251, 0.5);
}

.license-table td {
    padding: 1rem 0.75rem;
    border-right: 1px solid rgb(243 244 246);
}

.license-table td:last-child {
    border-right: none;
}

.license-table td.text-center {
    text-align: center;
}

.license-table td.font-medium {
    font-weight: 500;
}

.license-table td.font-bold {
    font-weight: 700;
}

/* Sub table styles (additional fees) */
.license-sub-table {
    width: 100%;
    border-collapse: collapse;
    background-color: white;
}

.license-sub-table thead tr {
    background-color: #9A8033;
    color: white;
    font-size: 12px;
}

.license-sub-table th {
    padding: 0.75rem;
    text-align: left;
    font-weight: 500;
}

.license-sub-table th:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.2);
    width: 50%;
}

.license-sub-table tbody {
    font-size: 12px;
}

.license-sub-table tbody tr {
    border-bottom: 1px solid rgb(243 244 246);
}

.license-sub-table tbody tr:last-child {
    border-bottom: none;
}

.license-sub-table td:first-child {
    padding: 1rem 0.75rem;
    border-right: 1px solid rgb(243 244 246);
}

.license-sub-table td:last-child {
    padding: 1rem;
}

.pcnone {
    display: none;
}

.spnone {
    display: blocke;
}


/* --- スマホ用スタイル --- */
@media screen and (max-width: 768px) {

    .pcnone {
        display: block;
    }

    .spnone {
        display: none;
    }

    .flex.flex-col.gap-6.\[filter\:drop-shadow\(0_0_2px_\#fff\)_drop-shadow\(0_0_2px_\#fff\)\].sm\:\[filter\:none\] {
        width: 73%;
    }

    p.text-\[14px\].leading-\[1\.8\].text-black\/80.tracking-\[0\.4em\] {
        font-size: 12px;
        line-height: 1.4em;
        letter-spacing: 0.1em;
    }

    .gap-6 {
        gap: 0.5rem !important;
    }

    .pt-20 {
        padding-top: 2rem !important;
    }


    h2.text-\[38px\].font-bold.leading-\[56px\].tracking-\[0\.2em\].text-\[\#333\].text-center {
        font-size: 20px;
        line-height: 1.6em;
    }

    p.text-\[20px\].font-normal.leading-normal.tracking-\[0\.07em\].text-\[\#333\].mt-\[50px\].text-center {
        font-size: 14px;
    }

    .line-clamp-2 {
        overflow: auto !important;
        display: block !important;
    }

    h3.text-\[\#9A8033\].text-\[15px\].font-bold.mb-8.text-center.md\:text-left {
        font-size: 14px;
    }

    .p-6 {
        padding: 1rem;
    }

    .license-table td {
        padding: 0.8rem 0.35rem;
    }

    .gap-8 {
        gap: 1rem !important;
    }

    .px-8 {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    span.text-\[12px\].text-\[\#9A8033\].ml-3 {
        display: block !important;
        margin: 0 !important;
    }

    .flex.items-center.justify-between.gap-3.mb-3 {
        display: block !important;
    }
}