@charset "UTF-8";

/*//////////////////// FOOTER ////////////////////*/
.l-footer.org-footer {
    --ff-mincho: "Shippori Mincho", serif;
    --ff-gothic: "Yu Gothic Medium", "Yu Gothic", YuGothic, sans-serif;
    background: #3b519a;
    color: #fff;
    padding: 0;
    font-family: var(--ff-gothic);
}
/* meiryo.css の要素セレクタより詳細度を上げるため子孫にも明示 */
.l-footer.org-footer * {
    font-family: var(--ff-gothic);
}
/* 強調テキストのみ明朝（* 指定より詳細度を上げる） */
.l-footer.org-footer .org-footer__logo--placeholder,
.l-footer.org-footer .org-footer__tel-num,
.l-footer.org-footer .org-footer__recruit-en,
.l-footer.org-footer .org-footer__recruit-txt {
    font-family: var(--ff-mincho);
}
.org-footer__inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 1140px;
    max-width: 100%;
    margin: 0 auto;
    padding: 80px 0 0;
    box-sizing: border-box;
}
.org-footer__left {
    display: flex;
    flex-direction: column;
    gap: 30px;
}
.org-footer__info {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}
.org-footer__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 75px;
    overflow: hidden;
    background: #dedede;
}
.org-footer__logo img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
}
.org-footer__logo--placeholder {
    color: #3e455d;
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
}
.org-footer__tel-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}
.org-footer__tel {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0;
}
.org-footer__tel-icn {
    display: block;
    width: 16px;
    height: 16px;
    color: #fff;
    fill: none; /* common.css の svg { fill } を打ち消し（strokeアイコン） */
    flex-shrink: 0;
}
.org-footer__tel-num {
    color: #fff;
    font-size: 26px;
    font-weight: 500;
    line-height: 0.6;
    text-decoration: none;
}
.org-footer__hours p {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}
.org-footer__cta {
    display: flex;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.org-footer__cta-btn {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 251px;
    height: 65px;
    overflow: hidden;
    border: 1px solid transparent;
    border-radius: 9999px;
    background: #fff;
    box-sizing: border-box;
    color: #fff;
    text-decoration: none;
}
/* common.css の .l-footer * { color } を打ち消し、親の color を継承させる */
.l-footer.org-footer .org-footer__cta-btn,
.l-footer.org-footer .org-footer__cta-btn * {
    color: #fff !important;
}
.l-footer.org-footer .org-footer__cta-btn svg {
    fill: currentColor !important;
}
.org-footer__cta-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    transition: .4s;
    opacity: 1;
}
.org-footer__cta-btn--contact {
    border-color: #f38210;
}
.org-footer__cta-btn--contact::before {
    background: linear-gradient(93.19deg, #f38210 0.71%, #ff9f31 103.77%);
}
.org-footer__cta-btn--assess {
    border-color: #089acf;
}
.org-footer__cta-btn--assess::before {
    background: linear-gradient(283.03deg, #089acf 0.83%, #0974cc 93.11%);
}
.org-footer__cta-txt {
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
}
.org-footer__cta-icn {
    position: absolute;
    top: 48%;
    right: 20px;
    width: 21px;
    height: 5px;
    transform: translateY(-50%);
}
.org-footer__cta-icn svg {
    display: block;
    width: 21px;
    height: 5px;
    fill: currentColor;
}
.org-footer__sns {
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.org-footer__sns-link {
    display: block;
    width: 40px;
    height: 40px;
    overflow: hidden;
    border-radius: 7px;
}
.org-footer__sns-link img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.org-footer__right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 37px;
}
.org-footer__recruit {
    position: relative;
    display: block;
    width: 528px;
    height: 100px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
}
.org-footer__recruit-bg {
    position: absolute;
    inset: 0;
}
.org-footer__recruit-bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform .4s;
    transform-origin: center center;
}
.org-footer__recruit-en {
    position: absolute;
    top: 5px;
    left: 52px;
    color: rgba(255, 255, 255, 0.2);
    font-size: 80px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1;
    pointer-events: none;
    white-space: nowrap;
}
.org-footer__recruit-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 30px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    transform: translate(-50%, -50%);
}
.org-footer__recruit-corner {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    width: 41px;
    height: 41px;
    padding: 0 4px 12px 0;
    box-sizing: border-box;
}
.org-footer__recruit-corner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: #fff;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.org-footer__recruit-corner svg {
    position: relative;
    z-index: 1;
    display: block;
    width: 16px;
    height: 4px;
    fill: #3b519a; /* common.css の svg { fill: var(--dark-color) } を上書き */
    color: #3b519a;
}
.org-footer__nav {
    display: flex;
    gap: 24px;
}
.org-footer__nav-col {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 160px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.org-footer__nav-col a {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
}
.org-footer__bottom {
    width: 1140px;
    max-width: 100%;
    margin: 78px auto 0;
    padding: 0 0 16px;
    box-sizing: border-box;
}
.org-footer__copy {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
}
