@charset "UTF-8";


.pg__inner {
    width: 1080px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
}

/*---------------------------------------------------
お問い合わせ
-----------------------------------------------------*/
.l-wrapper .cmn__section--contact {
    position: relative;
    padding: 48px 0 55px;
    overflow: hidden;
}

.cmn__contact__bg {
    position: absolute;
    inset: 0;
    background: #1a1a1a url("/images/top/contact__bg.webp") center center / cover no-repeat;
    pointer-events: none;
    background-position: top center;
    background-size: cover;
}

.cmn__section--contact .pg__inner {
    position: relative;
    z-index: 1;
    width: 1075px;
}

.cmn__contact__body {
    max-width: 620px;
}

.cmn__contact__head {
    margin-bottom: 8px;
    text-align: center;
    padding-right: 25px;
}

.cmn__contact__ttl {
    display: block;
    width: 236px;
    height: auto;
    margin: 0 auto;
}

.cmn__contact__subttl {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.1;
    color: #fff;
}

.cmn__contact__info {
    margin-bottom: 11px;
    text-align: center;
    padding-right: 30px;
}

.cmn__contact__company {
    margin: 0 0 0px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
}

.cmn__contact__tel {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 32px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
}

.cmn__contact__tel__item {
    display: inline-block;
}

.cmn__contact__hours {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
}

.cmn__contact__btns {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 19px;
    padding-right: 25px;
}

.cmn__contact__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 259px;
    height: 46px;
    padding: 0 60px 0 20px;
    border-radius: 8px;
    box-sizing: border-box;
    background: #fff;
    font-size: 16px;
    font-weight: 300;
    line-height: 1.4;
    color: #000;
    text-decoration: none;
    position: relative;
    white-space: nowrap;
}

.cmn__contact__btn::after {
    position: absolute;
    right: 21px;
    content: "〉";
    font-size: 16px;
    color: #000;
}

.cmn__contact__btn:hover {
    opacity: 0.9;
}

.cmn__contact__notice {
    padding: 8px 12px 12px 22px;
    border-radius: 8px;
    background: #fff;
    width: 588px;
}

.cmn__contact__notice-ttl {
    margin: 0 0 0;
    font-size: 24px;
    font-weight: 300;
    line-height: 1.5;
    color: #000;
    text-align: center;
}

.cmn__contact__notice-text {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 300;
    line-height: 1.6;
    color: #000;
}

.cmn__contact__member {
    padding: 8px 24px 14px;
    border-radius: 8px;
    background: #071a45;
    text-align: center;
    width: 439px;
    margin: 0 auto;
}

.cmn__contact__member-ttl {
    margin: 0 0 6px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.5;
    color: #f1f1f1;
}

.cmn__contact__member-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 319px;
    min-height: 36px;
    padding: 0 40px 0 20px;
    border-radius: 999px;
    box-sizing: border-box;
    background: #e3e3e3;
    font-size: 14px;
    font-weight: 300;
    line-height: 1;
    color: #000;
    text-decoration: none;
    position: relative;
    white-space: nowrap;
}

.cmn__contact__member-btn::after {
    position: absolute;
    right: 78px;
    content: "〉";
    font-size: 14px;
    color: #000;
}

.cmn__contact__member-btn:hover {
    opacity: 0.9;
}
/* ============================================================
   フッター
   ============================================================ */

.l-footer {
    position: relative;
    overflow: hidden;
    background: #071A45;
    padding: 40px 0 45px;
}

.cmn__section--contact * {
    font-family: "NotoSansJP", sans-serif;
}

.l-footer *,
.org-footer * {
    box-sizing: border-box;
    font-family: "NotoSansJP", sans-serif;
}

.l-footer a {
    text-decoration: none;
    color: #fff;
}

.org-footer__text-link,
.org-footer__nav-heading a,
.org-footer__nav-item a,
.org-footer__nav-list a,
.org-footer__contact-label a {
    position: relative;
    display: inline-block;
}

.org-footer__text-link:hover,
.org-footer__nav-heading a:hover,
.org-footer__nav-item a:hover,
.org-footer__nav-list a:hover,
.org-footer__contact-label a:hover {
    opacity: 1;
}

.org-footer__text-link::before,
.org-footer__nav-heading a::before,
.org-footer__nav-item a::before,
.org-footer__nav-list a::before,
.org-footer__contact-label a::before {
    background: #fff;
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -3px;
    transform-origin: center top;
    transform: scale(0, 1);
    transition: transform 0.3s;
}

.org-footer__text-link:hover::before,
.org-footer__nav-heading a:hover::before,
.org-footer__nav-item a:hover::before,
.org-footer__nav-list a:hover::before,
.org-footer__contact-label a:hover::before {
    transform-origin: center top;
    transform: scale(1, 1);
}

.org-footer__inner {
    width: 1155px;
    margin: 0 auto;
}

.org-footer__main {
    display: flex;
    align-items: flex-start;
    gap: 70px;
    margin-bottom: 15px;
    padding-left: 3px;
}

.org-footer__brand {
    flex-shrink: 0;
    width: 304px;
}

.org-footer__logo {
    display: block;
    margin-bottom: 19px;
}
.org-footer__logo:hover {
    opacity: 1;
}
.org-footer__logo img {
    display: block;
    width: 294px;
    height: auto;
}

.org-footer__catch {
    margin: 0 0 10px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    color: #fff;
}

.org-footer__contact-label {
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.1;
}

.org-footer__contact-label a {
    color: #fff;
    font-size: 20px;
}

.org-footer__tel {
    margin: 0 0 2px;
    font-size: 35px;
    font-weight: 700;
    line-height: 1.1;
}

.org-footer__tel a {
    color: #fff;
}

.org-footer__fax {
    margin: 0;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4;
    color: #fff;
}

.org-footer__nav-wrap {
    display: flex;
    gap: 53px;
    margin-top: 23px;
}
.org-footer__nav__block {
    display: flex;
    gap: 32px;
}
.org-footer__nav-col {
    min-width: 0;
}

.org-footer__nav-col--company {
    flex: 0 0 160px;
}

.org-footer__nav-heading {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
}

.org-footer__nav-col--company .org-footer__nav-heading {
    margin-bottom: 15px;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
}

.org-footer__nav-col--company .org-footer__nav-heading a {
    color: #fff;
    font-weight: 500;
    font-size: 24px;
}

.org-footer__nav-item {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.org-footer__nav-item a {
    color: #fff;
    font-size: 16px;
}

.org-footer__nav-list {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-top: 10px;
}

.org-footer__nav-list li {
    margin: 0 0 7px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
}

.org-footer__nav-list li:last-child {
    margin-bottom: 0;
}

.org-footer__nav-list a {
    color: #fff;
    font-size: 16px;
}

.org-footer__nav-list--circle li {
    margin-bottom: 0px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
}

.org-footer__bottom {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 34px;
    padding-left: 342px;
    gap: 42px;
}

.org-footer__fujisapo {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 360px;
    min-height: 90px;
    padding: 10px 10px 10px 25px;
    box-sizing: border-box;
    background: #fff;
    text-decoration: none;
}

.org-footer__fujisapo:hover {
    opacity: 0.92;
}

.org-footer__fujisapo-name {
    flex-shrink: 0;
    font-size: 28px;
    font-weight: 800;
    line-height: 1;
    color: #133b71;
}

.org-footer__fujisapo-sep {
    flex-shrink: 0;
    width: 2px;
    height: 68px;
    background: #133b71;
}

.org-footer__fujisapo-body {
    display: flex;
    flex-direction: column;
    gap: 0;
    min-width: 0;
}

.org-footer__fujisapo-ttl {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    color: #133b71;
}

.org-footer__fujisapo-area {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    color: #133b71;
}

.org-footer__copyright {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    color: #fff;
}
