body {
    padding-bottom: 64px
}

.pcOnly {
    display: none !important
}

.gap {
    padding-left: 16px;
    padding-right: 16px
}

.gap_spOnly {
    padding-left: 16px;
    padding-right: 16px
}

.gap_ver {
    padding-top: 20px;
    padding-bottom: 48px
}

.gap_ver_top_re {
    padding-top: 48px
}

.gap_ver_bottom {
    padding-top: 0
}

.gap_ver_bottom_re {
    padding-bottom: 20px
}

.el__icon__arrow {
    width: 22px;
    aspect-ratio: 42/12
}

.el__ttl {
    padding-bottom: 24px
}

.el__ttl::after {
    width: 80px
}

.el__imgBox {
    border-radius: 30px 0 30px 0
}

.el__imgBox.-small {
    border-radius: 10px 0 10px 0
}

.el__btn {
    min-height: 60px;
    padding: 10px
}

.el__btn.-square {
    min-height: 80px;
    border-radius: 6px
}

.el__btn__img {
    -webkit-column-gap: 16px;
    column-gap: 16px
}

.el__btn__img>*:first-child {
    border-radius: 6px 0 0 6px
}

.el__btn .el__icon__arrow,
.el__btn .el__icon__tab {
    right: 16px
}

.BlockDisplayGrid .-spNoneGrid {
    display: block
}

.BlockDisplayFlex.-spNoneFlex {
    display: block
}

.slick-arrow {
    width: 48px
}

.slick-dots li {
    width: 12px
}

.slick-dots li+li {
    margin-left: 14px
}

.BlockHeader,
.BlockHeader .BlockNav__wrap__head {
    height: 64px
}

.BlockHeader__logo {
    width: 178px
}

.BlockHeader__btn {
    aspect-ratio: 6/3;
    width: 32px
}

.BlockHeader__btn div {
    width: 100%;
    height: 2px
}

.BlockHeader__btn div:nth-child(2) {
    width: 84%
}

.BlockHeader__btn div:nth-child(3) {
    width: 71%
}

.BlockHeader__btn div+div {
    margin-top: 6px
}

.BlockHeader .BlockNav__wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.BlockHeader .BlockNav__wrap.-open {
    opacity: 1;
    pointer-events: auto
}

.BlockHeader .BlockNav__wrap::after {
    content: '';
    display: block;
    width: 100%;
    height: 40px
}

.BlockHeader .BlockNav__wrap__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.BlockHeader .BlockNav__wrap__btn {
    aspect-ratio: 3/4;
    width: 32px;
    position: relative
}

.BlockHeader .BlockNav__wrap__btn>* {
    width: 100%;
    aspect-ratio: 1;
    position: relative
}

.BlockHeader .BlockNav__wrap__btn>*+* {
    aspect-ratio: auto;
    font-size: 0.8rem;
    letter-spacing: 0;
    font-weight: 500
}

.BlockHeader .BlockNav__wrap__btn .bg_white {
    width: 70%;
    height: 2px;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg)
}

.BlockHeader .BlockNav__wrap__btn .bg_white:last-child {
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg)
}

.BlockHeader .BlockNav a {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff
}

.BlockHeader .BlockNav a+a {
    border-top: none
}

.BlockNav a {
    display: block;
    position: relative;
    padding: 24px 0;
    color: inherit
}

.BlockNav a .el__icon__arrow {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.BlockNav a+a {
    border-top: none
}

.BlockFooter .BlockNav {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    padding: 0
}

.BlockFooter .BlockNav a {
    border-top: 2px solid #f4f4f4;
    padding-left: 20px;
    font-size: 1.4rem
}

.BlockFooter .BlockNav a:nth-child(even) {
    border-left: 2px solid #f4f4f4
}

.BlockFooter .BlockNav+.BlockNav {
    border-bottom: 2px solid #f4f4f4
}

.BlockFooter__box {
    margin-top: 32px
}

.BlockFooter__logo {
    width: 120px;
    margin-bottom: 32px
}

.BlockFooter__link {
    text-align: center
}

.BlockFooter__link>* {
    text-align: left
}

.BlockFooter__link a {
    font-size: 1.2rem
}

.BlockFloater {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 48px;
    z-index: 9998
}

.BlockFloater__box {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 12px;
    column-gap: 12px
}

.BlockFloater__link {
    background-color: #fff;
    border-radius: 100px;
    width: 130px;
    height: 32px;
    font-size: 1.2rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.BlockFloater__btn {
    width: 32px
}

.BlockFloater__btn .bg_white {
    width: 90%;
    height: 2px
}

.BlockFloater__btn .bg_white:nth-child(2) {
    width: 74%
}

.BlockFloater__btn .bg_white:nth-child(3) {
    width: 61%
}

.BlockFloater__btn .bg_white+.bg_white {
    margin-top: 5px
}

.BlockFloater__btn .c_white {
    margin-top: 6px;
    font-size: 1rem
}

.BlockMain {
    border-radius: 0 0 40px 0;
    aspect-ratio: 750/780
}

.BlockMain::before {
    height: 80px
}

.BlockMain__box {
    padding-top: 40px;
    font-size: 4rem
}

.BlockBox {
    padding-top: 72px;
    padding-bottom: 72px
}

.BlockBox.-consecutive+.BlockBox.-consecutive {
    padding-top: 0
}

.BlockBox__box {
    margin-left: 40px
}

.BlockBox__ttl {
    margin-right: 40px;
    font-size: 1.2rem
}

.BlockBox__ttl span {
    margin-left: 12px
}

.BlockBox__box.-re {
    margin-left: 0;
    margin-right: 40px
}

.BlockBox__box.-re .BlockBox__ttl {
    margin-right: 0;
    margin-left: 40px
}

.BlockBottom {
    padding-top: 40px;
    padding-bottom: 40px
}

.BlockBottom__box {
    row-gap: 20px
}

.BlockLead {
    padding-top: 32px;
    padding-bottom: 32px
}

.BlockPeople.-slide {
    padding-top: 56px;
    padding-bottom: 56px
}

.BlockPeople.-slide .BlockPeople__box {
    margin-bottom: 28px
}

.BlockPeople.-slide .BlockBox__box {
    margin: 0
}

.BlockPeople.-slide .BlockBox__ttl {
    margin-left: 6px
}

.BlockPeople.-slide .BlockPeople__item,
.BlockPeople.-slide .BlockPeople__txt {
    padding-left: 36px;
    padding-right: 36px
}

.BlockPeople.-slide .BlockPeople__txt {
    padding-top: calc(48 / 300 * 100%);
    padding-left: 36px;
    padding-right: 36px
}

.BlockPeople__txt {
    padding-top: calc(56 / 300 * 100%)
}

.BlockPeople__txt .text_18 {
    font-size: calc(18 / 375 * 100vw)
}

.BlockPeople__txt .text_14 {
    font-size: calc(14 / 375 * 100vw)
}

.BlockPeople__txt .text_pc_20 {
    font-size: calc(20 / 375 * 100vw)
}

.BlockPeople__txt .mb_12 {
    margin-bottom: calc(12 / 375 * 100vw)
}

.BlockPeople__txt .mb_24 {
    margin-bottom: calc(24 / 375 * 100vw)
}

.BlockPeople .slick-arrow {
    position: absolute;
    top: 0;
    left: -12px
}

.BlockPeople .slick-next {
    left: auto;
    right: -12px
}

.BlockAnchor {
    background: none
}

.BlockAnchor__box {
    row-gap: 4px
}

.BlockAnchor__box a {
    height: 48px;
    position: relative;
    display: -ms-grid;
    display: grid;
    -ms-flex-line-pack: center;
    align-content: center;
    padding-left: 16px
}

.BlockAnchor__box a .el__icon__chev {
    position: absolute;
    right: 16px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

/* 追加 */
.Border_top_none {
    border-top: none !important;
}

.sp_none {
    display: none !important;
}

/* .add_border_right a {
    border-right: 2px solid #f4f4f4 !important;
} */



/* 追加　ここまで */