@charset "UTF-8";


/*///////////////////// font-face 読み込み例 ///////////////////////////*/
/*Noto Sans JP 400*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Regular.woff);
    font-weight: 400;
    font-display: swap;
}
/*Noto Sans JP 500*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Medium.woff);
    font-weight: 500;
    font-display: swap;
}
/*Noto Sans JP 700*/
@font-face {
    font-family: 'Noto Sans JP';
    src: url(/fonts/NotoSansJP-Bold.woff);
    font-weight: 700;
    font-display: swap;
}
/*///////////////////// font-face 読み込み例 ///////////////////////////*/

.l-footer.org-footer *{
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
}

.l-footer.org-footer {
    width: 100%;
    position: relative;
    padding-block: 74px 10px;
    overflow: hidden;
    background-color: #fff;
}

.l-footer.org-footer::before{
    position: absolute;
    content: "";
    background: url(/images/top/footer_bg.webp) no-repeat center center;
    width: 100%;
    height: 460px;
    top: 0;
    left: 0;
    z-index: 0;
}

.org-footer__inner{
    position: relative;
    width: 1140px;
    margin: 0 auto;
}

.org-footer .footer__btns{
    gap: 10px;
    display: flex;
}

.org-footer .contact__btn--assessment {
    background: linear-gradient(136deg, rgba(83, 215, 158, 1) 0%, rgba(72, 168, 127, 1) 74%);
    border: 2px solid #FFFFFF;
}

.org-footer .contact__btn--consult {
    background: linear-gradient(132deg, rgba(158, 213, 54, 1) 1%, rgba(119, 185, 68, 1) 100%);
    border: 2px solid #FFFFFF;
}

.org-footer .contact__btn::after {
    position: absolute;
    content: "";
    background: url(/images/top/arrow02.webp) no-repeat center / cover;
    width: 30px;
    height: 30px;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 24px;
    z-index: 2;
}

.org-footer .footer__inner .contact__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 360px;
    height: 80px;
    padding: 10px 12px 12px;
    border-radius: 80px;    
    text-decoration: none;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.7;
    color: #FFFFFF;
    position: relative;
    padding-left: 41px;
}

[class*="flex__box--"]{
    display: flex;
    justify-content: flex-start;
    margin-bottom: 59px;
    gap: 160px;
}

.footer__name{
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 7px;
}

.detail__box{
    margin-bottom: 5px;
    display: flex;
    gap: 11px;
    align-items: center;
}

[class*="footer__txt--"]{
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 5px;
}

.footer__tel{
    position: relative;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    padding-left: 35px;
    margin-bottom: 20px;
}

.footer__tel::before{
    position: absolute;
    content: "";
    background: url(/images/top/466_s_h.webp) no-repeat center / cover;
    width: 25px;
    height: 25px;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
}

.contact__btn[class*="footer__btn--"]{
    width: 280px;
    height: 55px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.7;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 12px 12px 42px;
    border-radius: 80px;
    text-decoration: none;
    position: relative;
}

.contact__btn.footer__btn--consult{
    padding-left: 29px;
}

.contact__btn[class*="footer__btn--"]::before {
    position: absolute;
    content: "";
    background: url(/images/top/icon_satei.webp) no-repeat center / cover;
    width: 19px;
    height: 24px;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 60px;
    z-index: 2;
}

.contact__btn.footer__btn--consult::before{
    width: 19px;
    height: 16px;
    left: 38px;
    background: url(/images/top/icon_mail.webp) no-repeat center / cover;
}

.contact__btn[class*="footer__btn--"]::after{
    width: 30px;
    height: 30px;
    right: 10px;
}

/* =========================================
   Float Buttons
   ========================================= */

.float *{
    font-family: "Noto Sans JP", sans-serif;
}
.float {
    position: fixed;
    top: 84px;
    right: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 5px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s;
}

.float.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.float__btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    width: 60px;
    padding: 37px 12px 12px;
    border-radius: 10px;
    text-decoration: none;
    position: relative;
    border: 2px solid;
}

.float__btn--assessment {
    height: 172px;
    background: linear-gradient(126deg, rgba(83, 215, 158, 1) 0%, rgba(72, 168, 127, 1) 83%);
    border-color: #2C9C6C;
}

.float__btn--assessment::before{
    position: absolute;
    content: "";
    background: url(/images/top/icon_footer01.webp) no-repeat center / cover;
    width: 17px;
    height: 23px;
    left: 0;
    right: 0;
    margin: auto;
    top: 17px;
}

.float__btn--consult {
    height: 196px;
    padding: 33px 25px 10px;
    background: linear-gradient(149deg, rgba(157, 213, 55, 1) 0%, rgba(119, 185, 68, 1) 56%);
    border-color: #6CB92D;
}

.float__btn--consult::before{
    position: absolute;
    content: "";
    background: url(/images/top/icon_footer02.webp) no-repeat center / cover;
    width: 21px;
    height: 17px;
    left: 0;
    right: 0;
    margin: auto;
    top: 17px;
}

.float__btn svg {
    width: 16px;
    height: 22px;
    fill: #FFFFFF;
}

.float__btn--consult svg {
    width: 19.2px;
    height: 16px;
}

.float__btn-text {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.1;
    color: #FFFFFF;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 0.1em;
}

.footer__list{
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
}

.footer__list:first-of-type{
    margin-top: 7px;
    gap: 24px;
}

.second__list{
    margin-top: 14px;
}

[class*="footer__item--"] a{
    display: flex;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
}

.footer__item--top a,
.footer__item--achieve a,
.footer__item--company a{
    width: 64px;
}

.footer__item--voice a{
    width: 80px;
}

.footer__item--useful a{
    width: 128px;
}

.footer__item--staff a{
    width: 96px;
}

.footer__under{
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 10px;
}

.footer__under::before{
    position: absolute;
    content: "";
    background-color: #fff;
    width: 1920px;
    height: 1px;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
}

.footer__under-list{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 28px;
}

.footer__under--item a{
    position: relative;
    display: flex;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
}

.footer__under--item a::before{
    position: absolute;
    content: "";
    background-color: #fff;
    width: 1px;
    height: 14px;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -15px;
}

.copy-right p{
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}

.copy-right span{
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
}
