/*
Theme Name: Lightning Child
Theme URI: ★ テーマの公式サイトなどのURL（空欄でも可） ★
Template: lightning
Description: ★ テーマの説明（空欄でも可） ★
Author: ★ テーマ作成者の名前（空欄でも可） ★
Tags: 
Version: 0.5.1
*/
@media (min-width: 1200px) {
    .container {
        max-width: 1320px;
    }
}

/*****************************************
ヘッダー
*****************************************/

.page-header-title,
h1.page-header-title {
    text-align: left;
    text-indent: -2em;
    padding-left: 2em;
}

.page-header-title::before,
h1.page-header-title::before {
    content: '\f111';
    font-family: "Font Awesome 6 Free";
    color: var(--vk-color-primary);
    margin-right: .5em;
}

@media (min-width: 992px) {
    .header_scrolled.admin-bar .site-header {
        padding: .75rem 0;
    }
}

/*----------パンくず----------*/
#breadcrumb {
    background-color: #fff;
    border: none;
    margin: 0;
}

/*****************************************
グローバルメニュー
*****************************************/
/*@media(min-width:992px){
    .global-nav-list{
        gap: 1em;
    }
}*/
.global-nav-list>li .global-nav-name {
    font-size: 1rem;
}

.global-nav-list li:nth-last-child(2) a,
.global-nav-list li:last-child a {
    background-color: var(--vk-color-primary);
    color: #fff;
    padding: 0.5rem 2.75rem;
    border-radius: 1.625rem;
}

/*****************************************
フッター
*****************************************/
/*----------フッターメニュー----------*/
.site-footer .widget_nav_menu>div>ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.site-footer .widget_nav_menu>div>ul li {
    width: 48%;
    position: relative;
    display: flex;
    align-items: center;
}

.site-footer .widget_nav_menu>div>ul li::before {
    content: '\f111';
    font-family: "Font Awesome 6 Free";
    color: var(--vk-color-primary);
    margin-right: .5em;
    font-weight: bold;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.site-footer .widget_nav_menu>div>ul li a {
    color: #212529;
    border: none;
    font-size: .9rem;
    padding: .5em 0 .5em 1.25em;
}

/*****************************************
TOP
*****************************************/
.more_btn a.vk_button_link.btn {
    font-size: 1.25rem;
    padding: 0.56rem 6rem;
    border-radius: 24px;
}

/*----------コラム/活動レポート----------*/
.vk_post.card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 2px 2px 6.5px 0 rgba(0, 0, 0, 0.05);
}

.vk_post .vk_post_imgOuter {
    aspect-ratio: 3/2;
    border: none;
}

.vk_post .vk_post_imgOuter .vk_post_imgOuter_singleTermLabel {
    top: calc(100% + 20px);
    left: .375rem;
    right: initial;
    background-color: #38afa9 !important;
    font-size: .7rem;
    padding: .25rem .625rem;
    border-radius: 18px;
}

.vk_post .card-body {
    display: flex;
    flex-direction: column-reverse;
    justify-content: start;
    background: #fff;
    padding: 3.4rem .375rem .75rem;
}

.vk_post .card-body .vk_post_date {
    font-size: 14px;
    margin-top: 0;
}

.vk_post .card-body .card-title {
    margin-top: 0.75rem;
    font-size: 16px;
}

/*矢印*/
.swiper-button-next,
.swiper-button-prev {
    color: #fff;
    background-color: gray;
    background-image: none;
    width: 40px;
    height: 40px;
    z-index: 20;
    border-radius: 50%;
    opacity: .5;

}

.swiper-button-next {
    right: -3%;
}

.swiper-button-prev {
    left: -3%;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    font-size: 1rem;
}

/*----------新規メンバー登録/ボランティア団体を探すボックス----------*/
@media (min-width:992px) {
    .promo_box {
        width: 50%;
        margin: 0 auto;
    }
}

/*****************************************
固定ページ
*****************************************/
/*----------見出し----------*/
h2:where(:not(.wp-block-post-title)) {
    border-top: none;
    border-bottom: none;
    border-left: 5px solid var(--vk-color-primary);
    padding: .25em 0 .25em .5em;
    margin-bottom: 1.5em;
}

body:not(.home) h2:not(:first-child) {
    margin-top: 120px;
}

body:not(.home) h3 {
    margin-bottom: .75em;
}

body:not(.home) h3:not(h2 + h3) {
    margin-top: 3em;
}

/*****************************************
お問い合わせ
*****************************************/
/* PC用（デフォルト） */
.cf7-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
}

.cf7-table p,
.cf7-table label,
.cf7-table input,
.pp-check-box p {
    margin: 0;
}

.cf7-table th,
.cf7-table td {
    vertical-align: middle;
}

.cf7-table th {
    width: 25%;
    text-align: left;
    padding: 8px;
}

.cf7-table td {
    padding: 8px;
}

/*----------セレクトボックス----------*/
.select-wrap {
    position: relative;
    display: inline-block;
    width: 100%;
}

.select-wrap select {
    width: 100%;
    padding: 8px 36px 8px 12px;
    border: 1px solid #ccc;
    border-radius: 4px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    font-size: 14px;
    cursor: pointer;
}

.select-wrap i {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    color: #333;
    font-size: 14px;
}

/*----------必須マーク----------*/
.cf7-table .req,
.pp-check-box .req {
    background-color: #d62525;
    color: #fff;
    font-size: 12px;
    padding: 1px 5px;
    border-radius: 3px;
}

.cf7-table .req {
    float: right;
}

.pp-check-box .req {
    margin-left: 1rem;
}

.pp-check-box {
    background-color: #f4f4f4;
    padding: 1.25rem;
    border-radius: 9px;
    padding: 1.25rem;
    border-radius: 9px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 1em 0;
    width: fit-content;
}

.pp-check-box .wpcf7-not-valid-tip {
    margin-left: 8px;
    display: inline-block;
}

/* スマホ用（幅768px以下で縦並びにする） */
@media (max-width: 768px) {

    .cf7-table,
    .cf7-table tbody,
    .cf7-table tr,
    .cf7-table th,
    .cf7-table td {
        display: block;
        width: 100%;
    }

    .cf7-table th {
        padding: 6px 0;
        background: #f8f8f8;
        /* 項目名を少し目立たせる */
    }

    .cf7-table td {
        padding: 6px 0 12px;
    }
}

/*****************************************
コラム／活動レポート　一覧
*****************************************/

ul.rpt-clm li {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 2px 2px 6.5px 0 rgba(0, 0, 0, 0.05);
}

ul.rpt-clm li figure img {
    border-radius: 8px 8px 0px 0px;
}

.wrap-rep-text {
    padding: 0 0.5rem 0 0.5rem;
}

.top-rep-cgry {
    display: inline;
}

.top-rep-cgry a {
    color: #fff;
    background-color: #38AFA9;
    border-radius: 18px;
    font-size: 0.7rem;
    padding: 0.25rem 0.625rem;
}

.top-rep-tit {
    padding-top: 0.8rem !important;
}

.top-rep-tit a {
    color: inherit;
}

/*****************************************
ボランティア・研修会に参加する
*****************************************/
#join-card-wrapper {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    font-family: "Noto Sans JP", sans-serif;
}

#join-card-wrapper .card {
    border: none;
    border-radius: 8px;
    box-shadow: 2px 2px 6.5px 0 rgba(0, 0, 0, 0.05);
}

#join-card-wrapper .row {
    max-width: 300px;
    margin: initial;
}

#join-card-wrapper .WpVolRcrtList_detail,
#join-card-wrapper .flex-column,#join-card-wrapper .WpMemberVolRcrtList_rcrtId {
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: initial;
}

#join-card-wrapper .WpVolRcrtList_detail,#join-card-wrapper .WpMemberVolRcrtList_rcrtId {
    padding: initial;
}

#join-card-wrapper .flex-column {
    padding: 0 .5rem .5rem .5rem;
}

#join-card-wrapper .flex-column>div,
.home #vol_form .carousel-grid>div>div {
    padding: initial;
}

#join-card-wrapper .WpVolRcrtList_detail .WpVolRcrtList_status_1,
#join-card-wrapper .WpVolRcrtList_detail .WpVolRcrtList_status_2 {
    top: 0;
}

#join-card-wrapper .card-img {
    position: relative !important;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

@media(max-width:991px) {
    #join-card-wrapper {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width:575px) {
    #join-card-wrapper {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }

    #join-card-wrapper .row {
        max-width: initial;
    }
}
#join-card-wrapper .WpVolRcrtList_status_1{
    color: #38afa9;
}
/*#join-card-wrapper .flex-column .card-body{
    padding: 0 0.5rem 0 0.5rem;
}*/
/*ジャンル*/
#join-card-wrapper .flex-column .card-body .card-text.WpVolRcrtList_actKindName {
    margin: 1rem 0 calc(0.375rem - 5px);
}

#join-card-wrapper .flex-column .card-body .card-text .btn-group {
    margin-bottom: 5px;
}

#join-card-wrapper .flex-column .btn,
.home #vol_form .carousel-grid .actKind .text-success {
    color: #38AFA9 !important;
    border-color: #38AFA9 !important;
    background-color: #fff;
    border-radius: 18px !important;
    font-size: 0.7rem;
    padding: 0.25rem 0.625rem !important;
    opacity: 1;
    margin-right: .5em;
}

/*日付*/
#join-card-wrapper .flex-column .card-body .card-text:not(.WpVolRcrtList_actKindName),
#join-card-wrapper .flex-column .card-footer,
.home #vol_form .carousel-grid .date p,
.home #vol_form .carousel-grid .card-footer p {
    font-size: .875rem;
    color: #8c8c8c;
    margin: 0;
}

#join-card-wrapper .flex-column .card-footer {
    flex-wrap: wrap;
}

#join-card-wrapper .flex-column .card-footer .btn {
    margin-left: 0 !important;
    width: 100%;
}

/*タイトル*/
#join-card-wrapper .flex-column .card-header,
.home #vol_form .carousel-grid .sample .WpVolRcrtList_title {
    font-size: 1rem;
    background-color: initial;
    border-bottom: initial;
    padding: .8rem 0;
    margin: 0;
}

.home #vol_form .carousel-grid .sample .WpVolRcrtList_title {
    white-space: normal;
}

/*募集団体名*/
#join-card-wrapper .flex-column .card-footer,
.home #vol_form .carousel-grid .card-footer {
    background-color: initial;
    border: initial;
}

/*----------home----------*/

.home #vol_form .carousel-grid #top-card-inner {
    background: #fff;
    padding: 0 0.5rem 0.75rem 0.5rem;
    border-radius: 0 0 9px 9px;
}

.home #vol_form .carousel-grid .WpVolRcrtList_img {
    height: initial;
    aspect-ratio: 3 / 2;
}

.home #vol_form .carousel-grid img {
    border-radius: 9px 9px 0 0;
    width: 100%;
    object-fit: cover;
}

.home #vol_form .carousel-grid .WpVolRcrtList_status_1.float-right.bor {
    display: none;
}

.home #vol_form .carousel-grid .actKind {
    padding: 1rem 0 calc(0.375rem - 5px);
    white-space: normal;
}

.home #vol_form .carousel-grid .actKind .mt-1 {
    display: inline-flex;
}

.home #vol_form .carousel-grid .date,
.home #vol_form .carousel-grid .card-footer .group {
    width: initial;
}

/*カルーセルボタン*/
.carousel-control-prev,
.carousel-control-next {
    height: 40px;
    width: 40px !important;
    border-radius: 50%;
    top: 50%;
    transform: translateY(-50%) !important;
}

.carousel-control-prev {
    left: -5%;
}

.carousel-control-next {
    right: -5%;
}

.carousel-control-prev i,
.carousel-control-next i {
    margin-right: initial;
}

/*----------詳細ページ----------*/
#vol_form .pl-4.pt-3.pb-2.mt-2.mb-1 {
    background-color: #38afa9 !important;
    color: #fff;
}

#vol_form #WpVolRcrtDetail_actKindName .btn-outline-success.disabled,
#vol_form #WpVolRcrtDetail_actArea .btn-outline-success.disabled,
#vol_form #WpVolRcrtDetail_rcrtTarget .btn-outline-success.disabled {
    color: #38afa9;
    border-color: #38afa9;
}

/*****************************************
サムネイルズーム
*****************************************/
/*ul.rpt-clm li figure,
.top-column-slide .vk_post_imgOuter {
    overflow: hidden;
}*/
ul.rpt-clm li figure {
    overflow: hidden;
}

ul.rpt-clm li img,
.top-column-slide .card img {
    transform: scale(1);
    transition: .5s ease-in-out;
}

ul.rpt-clm li:hover img,
.top-column-slide .card:hover img {
    transform: scale(1.2);
}

/*****************************************
新規メンバー登録
*****************************************/
#lbl_chkAgreePsInfo{
    cursor: pointer;
}
form .text-success {
    color: #38AFA9 !important;
}
#WpMemberRegist_regist{
    font-size: 1rem;
    border: 1px solid var(--vk-color-primary-dark);
    background-color: var(--vk-color-primary);
    color: #fff;
    padding: .5em 2em;
    border-radius: var(--vk-size-radius);
}
/*****************************************
ログイン
*****************************************/
a.link-opacity-75-hover {
    cursor: pointer;
}
a.link-opacity-75-hover:hover{
    text-decoration: underline !important;
}



/*****************************************
募集団体を探す
*****************************************/
.grp-tbl th, .grp-tbl td {
    font-size: 1rem;
    padding: 1em .5em;
}
.grp-tbl th {
    /*font-weight: normal;*/
    width: 9em;
}
@media(max-width:575px){
    .grp-tbl th{
        padding-bottom: .5em;
    }
    .grp-tbl td{
        padding-top: 0;
        border-top: none !important;
    }
}

/*****************************************
メンバーマイページ
*****************************************/
/*----------応募履歴----------*/
#WpMemberVolRcrtDetail_title{
    background-color: #38afa9;
    color: #fff;
}

/*****************************************
団体マイページ
*****************************************/
button.grpVolRcrtList_del,#WpGroupVolRcrtDetail_del,.btn-danger:disabled {
    background-color: #fff;
    color: #dc3545;
    border-color: #dc3545;
}
button.grpVolRcrtList_del:hover,#WpGroupVolRcrtDetail_del:hover{
    color: #c82333;
    background-color: #fff;
    border-color: #c82333;
}
button.grpVolRcrtList_detail:disabled ,.grpVolRcrtList_del:disabled{
  opacity: 0.25; /* 半透明にして無効感を出す */
  cursor: not-allowed; /* 禁止マークのカーソル */
  filter: grayscale(70%); /* 色味を落とす（任意） */
}
div.WpGroupVolRcrtList_title{
    background-color: #fff;
}