/*
Theme Name: Twenty Twenty-Four Child
Theme URI: 
Author: rpstx
Author URI: 
Description: Twenty Twenty-Four Child Theme
Requires at least: 7.0
Tested up to: 7.0
Requires PHP: 5.7
Version: 
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfour
Text Domain: twenty-twenty-four-child
Tags: 
*/
.site-footer{

	background:#fff;

	padding:72px 24px 24px;

	border-top:1px solid #eef1f4;

}

.footer-container{

	max-width:1200px;

	margin:auto;

}

.footer-grid{
	display:grid;
	grid-template-columns:240px repeat(4,1fr);
	gap:64px;
	padding-bottom:48px;
}

/* ======================
ブランド
====================== */

.footer-brand{

	padding-right:32px;

}

.footer-logo{

	display:flex;

	align-items:center;

	text-decoration:none;

	color:#111;

	font-size:24px;

	font-weight:700;

}

.logo-icon{

	width:40px;

	height:40px;

	background:#0f8a4b;

	border-radius:10px;

	color:#fff;

	display:flex;

	align-items:center;

	justify-content:center;

	margin-right:12px;

	font-size:20px;

}

.footer-description{

	margin:20px 0 0 0;

	font-size:12px;

	line-height:1.9;

	color:#222;

}

.footer-stats{

	display:flex;

	/*flex-wrap:wrap;*/

	gap:8px;
margin-top:10px;
	margin-bottom:24px;

}

.footer-stats span {
    padding: 6px 10px;
    border-radius: 5px;
    background: #f7faf8;
    border: 1px solid #e5efe9;
    font-size: 12px;
    font-weight: 700;
    color: #0f8a4b;
    width: 100%;
    text-align: center;
}


/* ======================
認証マーク
====================== */

.footer-certification{
    display:flex;
    align-items:center;
    gap:16px;
    margin-top:24px;
}

.footer-certification a{
    display:block;
    transition:.25s;
}

.footer-certification a:hover{
    opacity:.8;
    transform:translateY(-2px);
}

.footer-certification img{
    display:block;
    height:64px;
    width:auto;
}

@media (max-width:767px){

    .footer-certification{
           justify-content:flex-start;
        gap:12px;
        margin-top:20px;
    }

    .footer-certification img{
        width:100px;
         height:auto;
    }

}


/* ======================
CTA
====================== */

.footer-cta{

	/*display:flex;*/

	gap:12px;

	margin-top:28px;

}

.footer-btn {
    width: 100%;
    height: 44px;
    padding: 0 20px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: .25s;
    margin-bottom: 10px;
}

/* メイン */

.footer-btn--primary{

	background:#0f8a4b;

	color:#fff;

}
.footer-btn--primary::after{

	content:"→";

	margin-left:8px;

}

.footer-btn--primary:hover{

	background:#0d7a43;

	transform:translateY(-2px);

}


/* サブ */

.footer-btn--secondary{

	background:#fff;

	border:1px solid #d0d5dd;

	color:#344054;

}

.footer-btn--secondary:hover{

	background:#f9fafb;

	transform:translateY(-2px);

}

/*.footer-btn--outline{

	background:#fff;

	border:1px solid #d0d5dd;

}*/

/* ======================
メニュー
====================== */

.footer-col{
    min-width:160px;
}

.footer-col h3{
    font-size:16px;
    font-weight:700;
    color:#111;
    margin:0 0 20px;
}

.footer-col ul{
    list-style:none;
    margin:0;
    padding:0;
}

.footer-col li{
    margin-bottom:12px;
}

.footer-col li:last-child{
    margin-bottom:0;
}

.footer-col a{
    display:inline-flex;
    align-items:center;
    position:relative;
    font-size:1rem;
    text-decoration:none;
    color:#111;
    transition:.25s;
}

.footer-col a::after{
    content:"→";
    opacity:0;
    margin-left:0;
    transition:.25s;
}

.footer-col a:hover{
    color:#0f8a4b;
}

.footer-col a:hover::after{
    opacity:1;
    margin-left:6px;
}
/* ======================
コピーライト
====================== */

.footer-bottom{

	border-top:1px solid #eef1f4;

	padding-top:20px;

	text-align:center;

	font-size:13px;

	color:#98a2b3;

}

/* ======================
Tablet
====================== */

@media(max-width:1023px){

	.footer-grid{

		grid-template-columns:repeat(3,1fr);

	}

	.footer-brand{

		grid-column:1/-1;

	}

}

/* ======================
SP
====================== */

@media (max-width:767px){

    .site-footer{
        padding:48px 24px 24px;
    }

    .footer-grid{
        display:flex;
        flex-direction:column;
        gap:0;
    }

    .footer-brand{
        padding-right:0;
        margin-bottom:24px;
    }

    .footer-description{
        font-size:13px;
        line-height:1.8;
        margin:16px 0 24px;
    }

    .footer-certification{
        justify-content:flex-start;
        gap:12px;
    }

    .footer-certification img{
        width:100px;
        height:auto;
    }

    /* ---------- アコーディオン ---------- */

    .footer-col{
        border-top:1px solid #eef1f4;
        padding:0;
    }

    .footer-col h3{
        margin:0;
        padding:18px 0;
        font-size:15px;
        cursor:pointer;

        display:flex;
        align-items:center;
        justify-content:space-between;
    }

    .footer-col h3::after{
        content:"+";
        font-size:22px;
        font-weight:400;
        transition:.3s;
    }

    .footer-col.active h3::after{
        content:"−";
    }

    .footer-col ul{
        max-height:0;
        overflow:hidden;
        transition:max-height .35s ease;
    }

    .footer-col.active ul{
        max-height:500px;
    }

    .footer-col li{
        margin:0;
        border-bottom:1px dashed #e5e7eb;
    }

    .footer-col li:last-child{
        border-bottom:none;
    }

    .footer-col a{
        display:flex;
        justify-content:space-between;
        align-items:center;
        width:100%;
        padding:14px 0;
        font-size:14px;
    }

    .footer-col a::after{
        opacity:1;
        margin-left:0;
        color:#98a2b3;
    }

    .footer-bottom{
        margin-top:32px;
        padding-top:20px;
        font-size:12px;
    }

}

/*=========================
SP Footer Accordion
=========================*/
@media (max-width:767px){

    .footer-col{
        border-top:1px solid #eef1f4;
        padding:0;
    }

    .footer-col h3{
        margin:0;
        padding:18px 0;
        cursor:pointer;
        display:flex;
        align-items:center;
        justify-content:space-between;
    }

    .footer-col h3::after{
        content:"+";
        font-size:22px;
        font-weight:400;
        transition:.3s;
    }

    .footer-col.active h3::after{
        content:"−";
    }

    .footer-col ul{
        list-style:none;
        margin:0;
        padding:0;

        max-height:0;
        overflow:hidden;
        transition:max-height .35s ease;
    }

    .footer-col.active ul{
        max-height:500px;
    }

    .footer-col li{
        margin-bottom:10px;
        border-bottom:1px dashed #ddd;
        padding:0 1rem 1rem 0;
    }

    .footer-col li:last-child{
        border-bottom:none;
        padding-bottom:0;
    }
}