@charset "UTF-8";

/* ----------------------------------------
よくあるご質問
faq
------------------------------------------*/
.faq_contents .contents {
    margin-bottom: 20px;
    padding: 0rem;
}
.faq {
    position: relative;
    cursor: pointer;
}
.faq::after {
    position: absolute;
    content: '';
    top: 25px;
    right: 50px;
    width: 10px;
    height: 10px;
    transform: rotate(135deg);
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transition: .3s;
}
.faq_contents .open::after {
    transform: rotate(-45deg);
    transition: .3s;
}
.faq_q {
    background: #029745;
    color: #fff;
    padding: 2rem;
    user-select: none;
}
.faq_a {
    background: #f5f5f5;
    padding: 2rem;
    user-select: none;
}
.faq_q span{
    font-size: 18px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: bold;
    margin-right: 10px;
}
.faq_a span{
    font-size: 18px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: bold;
    margin-right: 10px;
}


@media screen and (max-width: 767px) {
    .faq_q {
        padding: 1rem 2rem 1rem 1rem;
        font-size: 1.4rem;
    }
    .faq_a,.faq_a p {
        padding: 1rem;
        font-size: 1.4rem;
    }
    .faq::after {
        top: 15px;
        right: 15px;
        width: 5px;
        height: 5px;
    }
}

/* ----------------------------------------
お知らせ
news
------------------------------------------*/
.news_list {
    margin-bottom: 30px;
    background: #fff;
}
.news_list_item {
    width: 100%;
    padding: 10px 20px 20px 20px;
    border-bottom: 1px solid #109044;
}
.news_list_item_ttl {
    font-size: 2rem;
    vertical-align: sub;
}
.news_list_item:not(:last-child) {
    margin-bottom: 10px;
}
.time_label {
    margin-right: 20px;
    display: inline-block;
    letter-spacing: .5px;
    vertical-align: middle;
    font-size: 2rem;
    color: #fff;
    background: #109044;
    padding: 5px 20px;
    border-radius: 25px;
}
.news_list_item_ttl {
    text-decoration: underline;
}
@media (max-width: 1024px) {
    .time_label {
        margin-bottom: 10px;
    }
    .news_list_item_ttl {
        display: block;
    }
}
@media screen and (max-width: 767px) {
    .news_list_item {
        padding: 0;
    }
    .news_list_item:not(:last-child) {
        margin-bottom: 20px;
    }
    .time_label {
        font-size: 1rem;
        margin-bottom: 5px;
    }
    .news_list_item_ttl {
        font-size: 1.6rem;
        text-decoration: none;
    }
}


/* ----------------------------------------
お知らせ 詳細
news detail
------------------------------------------ */
.single_post_date_wrap {
    margin-bottom: 10px;
}
.single_post_time {
    display: inline-block;
    background: #008A32;
    color: #fff;
    padding: 3px 10px 3px 10px;
    border-radius: 3px;
    font-weight: 900;
    letter-spacing: 2px;
    margin-bottom: 10px;
}
.single_post_ttl {
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: .2rem;
    line-height: 1.2;
    position: relative;
    border-bottom: 1px solid #fff;
    padding-bottom: 1rem;
}
.single_post_ttl::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background: #111111;
    bottom: -7px;
    left: 0;
}
@media screen and (max-width: 767px) {
    .single_post_time {
        padding: 5px 10px 2px 10px;
        font-size: 1.4rem;
    }
}


/* ----------------------------------------
プライバシーポリシー　
privacy-policy
------------------------------------------*/
.page-privacy-policy .main .bowl2,
.page-privacy-policy .main .bowl4,
.page-privacy-policy .main .bowl7,
.page-privacy-policy .main .bowl8 {
    display: none;
}
.privacy_box {
    margin: 2rem 0 5rem 0;
    padding: 2rem;
    background: #f1f1f1;
    border-radius: 3px;
}
.privacy_ttl {
    font-weight: bold;
    color: #fff;
    background: #008A32;
    padding: 1rem 1rem 1rem 3rem;
    border-radius: 3px;
    position: relative;
}
.privacy_ttl:before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #fff;
}
.privacy_txt dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.privacy_txt dt {
    width: 20px;
    margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
    .privacy_box {
        padding: 1rem;
        margin: 0;
    }
}

.privacy_txt dl{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    }
    .privacy_txt dl dt{
        width: 50px;
        text-align: center;
    }
    .privacy_txt dl dd{
        width: calc(100% - 50px);
    }
    .privacy_txt p{
       margin-bottom: 10px;
    }
    .privacy_txt .icon01 img{
        width: 15px;
    }
    .privacy_txt .icon02 img{
        width: 17px;
    }
    .privacy_txt .icon03 img{
        width: 24px;
    }

.privacy_contents p{
    line-height: 1.8;
}

/* ----------------------------------------
サイトマップ
sitemap
------------------------------------------*/
.page-sitemap .main .bowl1,
.page-sitemap .main .bowl2,
.page-sitemap .main .bowl4,
.page-sitemap .main .bowl5,
.page-sitemap .main .bowl8 {
    display: none;
}
.sitemap_flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sitemap_list {
    width: calc(100% / 2 - 10px);
}
.sitemap_list_item {
    border: 1px solid #008A32;
    background: #fff;
    position: relative;
}
.sitemap_list_item:not(:last-child) {
    margin-bottom: 15px;
}
.sitemap_list_item::before {
    position: absolute;
    top: 22px;
    left: 20px;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #008A32;
    transform: translateY(-50%);
}
.sitemap_list_item::after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    content: "";
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.007 21.282'%3E%3Cpath d='M12.007,21.282,7.454,10.641,12.007,0,0,10.641Z' transform='translate(12.007 21.282) rotate(180)' fill='%23008A32'/%3E%3C/svg%3E%0A") no-repeat center / contain;
}
.sitemap_link {
    display: block;
    padding: 1rem 0 1rem 4rem;
}
.sitemap_list_item .child .child_item {
    padding-left: 6rem;
    padding-bottom: 1rem;
    position: relative;
}
.sitemap_list_item .child .child_item::before {
    position: absolute;
    content: "";
    background: #008A32;
    width: 20px;
    height: 1px;
    top: 12px;
    left: 30px;
}
.sitemap_list_item.has_child::after {
    display: none;
}
.child_item2 {
    padding-left: .5rem;
    padding: 5px 0 0;
}
.child_link2::before {
    content: "・";
}
@media screen and (max-width: 767px) {
    .sitemap_contents {
        width: 100%;
    }
    .sitemap_list {
        width: 100%;
        margin-bottom: 20px;
    }
    .sitemap_link {
        padding: .5rem 0 .5rem 4rem;
    }
    .sitemap_list_item::before {
        top: 17px;
    }
}
