body {
    font-size: 19px;
    line-height: 1.96;
    letter-spacing: 0.03em;

    @media screen and (max-width: 800px) {
        font-size: clamp(12px, calc((15 / 375) * 100vw), 15px);
    }
}

main {
    margin-bottom: 230px;

    @media screen and (max-width: 800px) {
        margin-bottom: 116px;
    }
}

.container {
    margin-inline: auto;
    padding-inline: 30px;

    @media screen and (max-width: 800px) {
        padding-inline: calc((20 / 375) * 100vw);
    }
}

.color {
    color: #876C59;
}

.fv {
    margin-bottom: 100px;

    @media screen and (max-width: 800px) {
        margin-bottom: 50px;
    }

    .fv-inner {
        background-image: url('../img/faq/pc/fv.png');
        aspect-ratio: 1512 / 394;
        padding-top: calc((240 / 1512)* 100vw);
        padding-bottom: calc((85 / 1512)* 100vw);

        @media screen and (max-width: 800px) {
            aspect-ratio: 375 / 253;
            padding-top: calc((160 / 375) * 100vw);
            padding-bottom: calc((65 / 375)* 100vw);
            border-bottom-right-radius: 70px;
            background-image: url('../img/faq/sp/fv__sp.png');
        }

        .page-title {
            .en {
                width: 370px;

                img {
                    width: 100%;
                }

                @media screen and (max-width: 800px) {
                    width: 278px;
                }
            }

            .ja {
                font-size: 22px;
                letter-spacing: 0.01em;
                margin-top: 12px;

                @media screen and (max-width: 800px) {
                    margin-top: 5px;
                    font-size: clamp(12px, calc((16 / 375) * 100vw), 16px);
                }
            }
        }
    }
}

.faq {
    .faq-area {
        margin-inline: auto;
        width: 100%;
        max-width: 500px;
        font-size: 18px;
        line-height: 1.5;
        letter-spacing: 0.06em;

        .faq-item {
            margin-bottom: 30px;

            @media screen and (max-width: 800px) {
                margin-bottom: 20px;
            }

            a {
                text-decoration: underline;
                text-underline-offset: 3px;
            }

            &:hover {
                cursor: pointer;
            }

            &:last-child {
                margin-bottom: 0;
            }

            .border {
                padding: 23px 10px;
                border-radius: 20px;
                border: 1px solid #292929;

                @media screen and (max-width: 800px) {
                    padding: 16px 13px;
                }
            }

            .flex {
                display: flex;
                -moz-column-gap: 13px;
                column-gap: 13px;
                align-items: baseline;
                padding-right: 25px;

                @media screen and (max-width: 800px) {
                    -moz-column-gap: 7px;
                    column-gap: 7px;
                    padding-right: 15px;
                }

                .faq-pre {
                    margin-top: -0.25em;
                    padding-left: 10px;
                    color: #989898;
                    font-size: 28px;
                    line-height: 1;
                    letter-spacing: 0.06em;

                    @media screen and (max-width: 800px) {
                        padding-left: 0;
                        font-size: clamp(16px, calc((22 / 375) * 100vw), 22px);
                    }
                }
            }

            .quest,
            .ans {
                font-size: 18px;
                line-height: 1.5;

                @media screen and (max-width: 800px) {
                    font-size: clamp(14px, calc((16 / 375) * 100vw), 15px);
                }
            }

            .quest {
                position: relative;

                .open-btn,
                .close-btn {
                    position: absolute;
                    right: 43px;
                    top: 50%;
                    transform: translateY(-50%);

                    @media screen and (max-width: 800px) {
                        right: 0;
                    }

                }

                button {
                    display: flex;
                    align-items: center;
                    margin: 0;
                    padding: 0;
                    border: none;
                    background-color: unset;
                }

                .hidden {
                    display: none;
                }
            }

            .ans {
                display: flex;
                opacity: 0;
                visibility: hidden;
                height: 0;
                margin-top: 0;
                padding-top: 0;
                border-top: 0;
                overflow: hidden;
                transition:
                    height 0.2s ease-out,
                    margin-top 0.2s ease-out,
                    padding-top 0.2s ease-out,
                    borde-top 0.2s ease-out;

                .faq-pre {
                    translate: 0 0.1em;
                }
            }

            .ans.open {
                visibility: visible;
                opacity: 1;
                height: auto;
                margin-top: 18px;
                padding-top: 22px;
                border-top: 1px dotted #292929;

                @media screen and (max-width: 800px) {
                    margin-top: 13px;
                    padding-top: 13px;
                }
            }
        }
    }
}

.breadcrumb-trail {
    margin-top: 140px;

    @media screen and (max-width: 800px) {
        margin-top: 80px;
    }
}
.bastyle img {
    width: 100%;
}
.bastyle {
    margin-bottom: 50px;
}
.img-title {
    margin-bottom: 20px;
    padding: 0.3em 1em;
    color: #fff;
    background-color: #D5AB8F;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 20px;
}
.modal {
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.modal-slider {
  position: relative;
  width: 90%;
  max-width: 600px;
  overflow: hidden;
}

.modal-slide {
  display: none;
  width: 100%;
  border-radius: 8px;
}

.modal-slide.active {
  display: block;
}

.modal-close {
  position: absolute;
  top: 20px; right: 30px;
  font-size: 40px;
  color: white;
  cursor: pointer;
}

.modal-nav {
  margin-top: 20px;
  display: flex;
  gap: 20px;
}

.modal-nav button {
  font-size: 30px;
  color: white;
  background: none;
  border: none;
  cursor: pointer;
}
.modal-slide {
  display: none;
}
.modal-slide.active {
  display: block;
}
