@charset "utf-8";

.fix_bg {
    z-index: 1;
    position: relative;
}

.bg_fit_01 {
    position: fixed;
    right: -3vw;
    top: 12vh;
    width: 30%;
}

.bg_fit_02 {
    position: fixed;
    left: -4vw;
    bottom: 13vh;
    width: 40%;
}

/**************/
.header_lang {
    display: flex;
    justify-content: center;
    gap: 1em;
    margin: 0;
    position: fixed;
    top: 10%;
    right: 1%;
    flex-direction: column;
    z-index: 99999;
}

.header_lang li {
    width: 30px;
}

.header_lang li a {}

/*900px以上*/
@media (min-width: 900px) {
    .header_lang {
        top: 10rem;
    }
}

/****main_area******************************/
.main_area {}

.main_visual {
    background-color: #000;
    position: relative;
    margin: 0 0 2rem;
}

.main_visual .img {}

.main_visual .img img {
    aspect-ratio: 4 / 7;
    object-fit: cover;
    height: 80vh;
    width: 100%;
    opacity: 0.7;
    object-position: 48% 50%;
}

.main_visual h1 {
    font-size: clamp(1.5rem, 1.187rem + 1.57vw, 3.125rem)
        /*24-50px*/
    ;
    position: absolute;
    top: 50%;
    left: 4vw;
    text-shadow: 0 0 5px rgba(0, 0, 0, 1);
    top: 50%;
    transform: translateY(-50%);
}

.main_visual h2 {
    text-shadow: 0 0 20px rgba(0, 0, 0, 1);
    font-size: clamp(0.938rem, 0.733rem + 1.02vw, 2rem)
        /*15-32px*/
    ;
    width: 92%;
    position: absolute;
    left: 3vw;
    bottom: 1rem;
    background-color: #00000070;
    padding: 0.4em 1em;
}

.main_area .comment {
    font-size: clamp(1.063rem, 1.002rem + 0.3vw, 1.375rem)
        /*16-22px*/
    ;
}

/*500px以上*/
@media (min-width: 500px) {
    .main_visual .img img {
        aspect-ratio: 16 / 12;
    }

    .main_visual h2 {}
}

/*600px以上*/
@media (min-width: 600px) {}

/*900px以上*/
@media (min-width: 900px) {
    .main_visual .img img {
        aspect-ratio: 16 / 5;
        height: 97vh;
        opacity: 1;
    }

    .main_visual h2 {
        max-width: 890px;
        left: unset;
        right: 3em;
        width: 70%;
    }

    .main_area .comment {
        text-align: center;
    }
}

/***about********************************/
.about {}

.flex_area {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

/*600px以上*/
@media (min-width: 600px) {
    .flex_area {
        flex-direction: unset;
        gap: 2rem;
    }

    .text_area {
        width: 50%;
    }

    .reverse {
        flex-direction: row-reverse;
    }

    .img_area {
        width: 45%;
    }

    .img_area img {
        aspect-ratio: 3 / 4;
        object-fit: cover;
        height: 100%;
        width: 100%;
    }
}

/*900px以上*/
@media (min-width: 900px) {
    .flex_area {
        align-items: center;
    }

    .img_area {
        width: 35%;
    }

    .text_area {
        width: 60%;
        max-width: 640px;
    }
}

/***menu********************************/
.menu {}

.menu_list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1rem;
    margin: 3rem auto;
}

.menu_list li {}

.menu_list dl {
    background-color: #C9161D;
    border: solid 2px #C9161D;
    border-radius: 10px;
}

.menu_list dt {
    text-align: right;
    padding: 0.3em 0.4em;
}

.menu_list dd {}

.menu_list dd img {
    border-radius: 10px 10px 0 0;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.menu_list li p {
    text-align: center;
}

/*600px以上*/
@media (min-width: 600px) {
    .menu_list {
        flex-direction: unset;
    }

    .menu_list li {
        width: calc(100% / 2 - 1rem);
    }
}

/*900px以上*/
@media (min-width: 900px) {
    .menu_list {
        gap: 2rem;
    }

    .menu_list li {
        width: calc(100% / 3 - 2rem);
    }
}

/****news*******************************/
.news {}

.news_list {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}

.news_list li {
    border-bottom: dotted 2px;
    padding: 0 0 1.3em;
}

.thumb {
    display: none;
}

.comment {}

.date {}

.title {}

.text {
    display: none;
}

/*600px以上*/
@media (min-width: 600px) {}

/*900px以上*/
@media (min-width: 900px) {}

/**link_sc*********************************/
.link_block {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: center;
}

.link_block .box {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 400px;
}

.link_block .box:not(:last-child) {
    border-bottom: dotted 2px;
    padding: 0 0 2em;
}

.link_block .box p {
    text-align: center;
}

/*600px以上*/
@media (min-width: 600px) {
    .link_block .box {
        width: 48%;
    }

    .link_block .box:not(:last-child) {
        border-bottom: unset;
        border-right: dotted 2px;
        padding: 0 2em 0 0;
    }


    .link_block {
        gap: 1rem;
        justify-content: center;
    }
}

/*900px以上*/
@media (min-width: 900px) {}

/***faq********************************/
.faq_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    flex-direction: column;
    max-width: 900px;
    margin: 0 auto;
}

.faq_list li {}

.qa-1 {
    max-width: 950px;
    margin-bottom: 7px;
    border: 1px solid #fff;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 1em 1em 3em;
    font-weight: 600;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
}

.qa-1 summary::before {
    color: #ffffff;
    content: "Q";
    background-color: #C9161D;
    border-radius: 50%;
    padding: 0.1em 0.4em;
}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #fff;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #111;
    content: "A";
    background-color: #ffffff;
    border-radius: 50%;
    padding: 0.1em 0.4em;
}

/*600px以上*/
@media (min-width: 600px) {}

/*900px以上*/
@media (min-width: 900px) {}

/*************/
.bg_img_01 {
    background-image: url(../images/front/photo_01.jpg);
    background-size: cover;
    max-width: 100vw;
    margin: 0 calc((100vw - 100%) / -2);
    aspect-ratio: 16 / 9;
    background-position: center;
}

/*900px以上*/
@media (min-width: 900px) {
    .bg_img_01 {
        min-height: 80vh;
        background-size: cover;
        background-attachment: fixed;
        max-width: 100vw;
    }
}

.ban_link {
    text-align: center;
    margin: 3rem auto 0;
    width: 97%;
    max-width: 800px;
}

.ban_link a {
    display: inline-block;
}

.ban_link a img {
          border: solid 1px #d8bb5d75;
}