@charset "utf-8";

.kv {
    display: flex;
    flex-direction: column;
    position: relative;
    margin-inline: auto;
}
.kv_logo_wrap,
.kv_logo2 {
    position: absolute;
}
.kv_logo1 {
    width: 100%;
}
.kv_scroll {
    position: absolute;
    border: 2px solid var(--color-gray);
    display: flex;
    align-items: center;
    justify-content: center;
}
.kv_scroll_arrow {
    display: block;
    position: relative;
    background-color: var(--color-gray);
    mask-image: url(../img/home/scroll.svg);
    mask-repeat: no-repeat;
    mask-position: 0 0;
    mask-size: contain;
    overflow: hidden;
}
.kv_scroll_arrow::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--color-black);
    animation: scroll 2.2s ease-in-out infinite;
}
@keyframes scroll {
    0% {
        transform: translateY(-105%);
    }
    100% {
        transform: translateY(105%);
    }
}
.kv_first,
.kv_second {
    width: 100%;
}
.kv_first .section_inner,
.kv_second .section_inner {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}
.kv_first {
    z-index: 1;
}
.kv_first_inner {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
}
.kv_second {
    position: relative;
    background-color: var(--color-light-gray);
}
.kv_deco {
    position: absolute;
    top: 0;
    color: var(--color-white);
    writing-mode: vertical-lr;
    line-height: 1;
    white-space: nowrap;
}
.kv_ttl_wrap {
    display: flex;
    height: 100%;
}
.kv_ttl {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: 0.03em;
}
.kv_ttl_text_hidden {
    display: block;
    overflow: hidden;
}
.kv_ttl_text {
    display: block;
}
.kv_ttl_text {
    transform: translateY(100%);
    transition: transform 1s 0.5s;
    transition: transform 1s 0s;
}
.kv_ttl.is_animated .kv_ttl_text {
    transform: translateY(0%);
}
.kv_lead {
    position: relative;
}
.kv_lead_ttl {
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.1em;
}
.kv_lead_txt {
    line-height: 2.2;
    letter-spacing: 0.1em;
}

@media (min-width: 769px) {
    .kv_first {
        position: relative;
        height: 100svh;
        min-height: 670px;
    }
    .kv_second {
        padding-top: calc(213 / 1440 * 100vw);
        padding-bottom: calc(213 / 1440 * 100vw);
    }
    .lang-en .kv_second {
        padding-top: calc(160 / 1440 * 100vw);
        padding-bottom: calc(160 / 1440 * 100vw);
    }
    .kv_scroll {
        bottom: calc(40 / 1440 * 100vw);
        right: calc(48 / 1440 * 100vw);
        width: calc(36 / 1440 * 100vw);
        height: calc(64 / 1440 * 100vw);
        border-radius: calc(18 / 1440 * 100vw);
    }
    .kv_scroll_arrow {
        width: calc(14 / 1440 * 100vw);
        height: calc(33 / 1440 * 100vw);
    }
    .kv_logo_wrap,
    .kv_logo2 {
        top: 52.6%;
        width: calc(681 / 1440 * 100%);
        translate: 0 -50%;
    }
    .kv_logo_wrap {
        left: 55.2%;
    }
    .kv_logo2 {
        right: 97%;
    }
    .kv_lead {
        width: 44%;
        margin-left: auto;
    }
    [class].kv_lead_ttl_wrap {
        row-gap: calc(13 / 1440 * 100vw);
        line-height: 1.8;
    }
    .kv_lead_ttl_wrap .section_ttl_ja {
        font-size: calc(16 / 1440 * 100vw);
    }
    .kv_lead_ttl_wrap .section_ttl_ja_inner {
        padding-left: calc(20 / 1440 * 100vw);
    }
    .kv_lead_ttl_wrap .section_ttl_ja_inner::before {
        width: calc(8 / 1440 * 100vw);
        height: calc(8 / 1440 * 100vw);
    }
    .kv_lead_ttl {
        font-size: calc(36 / 1440 * 100vw);
    }
    .lang-en .kv_lead_ttl {
        font-size: calc(32 / 1440 * 100vw);
    }
    .kv_lead_txt {
        font-size: calc(16 / 1440 * 100vw);
        margin-top: calc(30 / 1440 * 100vw);
        padding-right: calc(15 / 1440 * 100vw);
        line-height: 2.4;
    }
    .kv_deco {
        right: calc(-20 / 1440 * 100vw);
        font-size: calc(106 / 1440 * 100vw);
    }
    .kv_second .section_inner {
        max-width: calc(1200 / 1440 * 100vw);
    }
    .kv_ttl_wrap {
        max-width: calc(1200 / 1440 * 100vw);
        margin: auto;
        width: 100%;
        padding-inline: calc(40 / 1440 * 100vw);
        align-items: center;
    }
    .kv_ttl > span:nth-child(2) {
        margin-left: calc(-5 / 1440 * 100vw);
    }
    .kv_ttl > span:nth-child(3),
    .kv_ttl > span:nth-child(4) {
        margin-left: calc(3 / 1440 * 100vw);
    }
    .kv_ttl {
        font-size: calc(78 / 1440 * 100vw);
        row-gap: calc(24 / 1440 * 100vw);
        padding-top: calc(40 / 1440 * 100vw);
    }
}
@media (max-width: 768px) {
    .kv_first {
        height: 100svh;
        position: relative;
    }
    .kv_second .section_inner {
        flex-direction: column;
        justify-content: flex-start;
        padding-inline: calc(32 / 390 * 100vw);
    }
    .kv_ttl_wrap {
        flex-direction: column;
        justify-content: flex-start;
        top: 0;
        left: 0;
        padding-top: var(--header-height);
        padding-left: calc(32 / 390 * 100vw);
    }
    .kv_ttl {
        padding-top: calc(40 / 390 * 100vw);
        font-size: calc(46 / 390 * 100vw);
        row-gap: calc(10 / 390 * 100vw);
    }
    .kv_ttl > span:nth-child(2) {
        margin-left: calc(-3 / 390 * 100vw);
    }
    .kv_ttl > span:nth-child(3),
    .kv_ttl > span:nth-child(4) {
        margin-left: calc(1 / 390 * 100vw);
    }
    .kv_scroll {
        position: absolute;
        bottom: calc(32 / 390 * 100vw);
        left: calc(32 / 390 * 100vw);
        width: calc(36 / 390 * 100vw);
        height: calc(64 / 390 * 100vw);
        border-radius: calc(18 / 390 * 100vw);
    }
    .kv_scroll_arrow {
        width: calc(14 / 390 * 100vw);
        height: calc(33 / 390 * 100vw);
    }
    .kv_logo_wrap {
        width: 101.3%;
        right: -16%;
        top: 48%;
    }
    .kv_logo2 {
        display: none;
    }
    .kv_lead {
        padding-top: calc(349 / 390 * 100vw);
    }
    [class].kv_lead_ttl_wrap {
        margin-top: calc(40 / 390 * 100vw);
        line-height: 1.7;
        row-gap: calc(7 / 390 * 100vw);
    }
    .kv_lead_ttl_wrap .section_ttl_ja {
        font-size: calc(14 / 390 * 100vw);
    }
    .kv_lead_ttl_wrap .section_ttl_ja_inner {
        padding-left: calc(20 / 390 * 100vw);
    }
    .kv_lead_ttl_wrap .section_ttl_ja_inner::before {
        width: calc(8 / 390 * 100vw);
        height: calc(8 / 390 * 100vw);
    }
    .kv_lead_ttl {
        font-size: calc(24 / 390 * 100vw);
        width: 105%;
        line-height: 1.7;
    }
    .kv_lead_txt {
        font-size: calc(14 / 390 * 100vw);
        margin-top: calc(20 / 390 * 100vw);
        line-height: 2;
    }
    .kv_deco {
        right: calc(-20 / 390 * 100vw);
        font-size: calc(100 / 390 * 100vw);
    }
}
/* section_ttl */
.section_ttl {
    display: flex;
    flex-direction: column;
    line-height: 1;
}
.section_ttl_ja {
    letter-spacing: 0.15em;
    position: relative;
}
.section_ttl_ja_inner::before {
    content: '';
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    left: 0;
    top: 2px;
    bottom: 0;
    margin: auto;
    background-color: var(--color-blue);
    border-radius: 50%;
}
.section_ttl_ja,
.section_ttl_en {
    overflow: hidden;
}
.section_ttl_ja_inner {
    display: block;
    position: relative;
}
.section_ttl_en_inner {
    display: block;
}
.js_section_ttl .section_ttl_en {
    line-height: 1.2;
}
.js_section_ttl .section_ttl_ja_inner,
.js_section_ttl .section_ttl_en_inner {
    transform: translateY(100%);
    transition: transform 0.8s;
}
.js_section_ttl .section_ttl_en_inner {
    transition: transform 1s;
}
.section_ttl.is_animated .section_ttl_ja_inner,
.section_ttl.is_animated .section_ttl_en_inner {
    transform: translateY(0%);
}
@media (min-width: 769px) {
    .section_ttl {
        row-gap: 24px;
    }
    .js_section_ttl {
        row-gap: 10px;
    }
    .section_ttl_ja {
        font-size: 16px;
    }
    .section_ttl_ja_inner {
        padding-left: 20px;
    }
    .section_ttl_en {
        font-size: 70px;
    }
}
@media (max-width: 768px) {
    .section_ttl {
        row-gap: 16px;
    }
    .js_section_ttl {
        row-gap: 6px;
    }
    .section_ttl_ja {
        font-size: 14px;
    }
    .section_ttl_ja_inner {
        padding-left: 20px;
    }
    .section_ttl_en {
        font-size: 48px;
    }
}

/* service */
.service {
    background-color: var(--color-light-gray);
}
.service_inner {
    background-color: var(--color-white);
    overflow: clip;
}
.service_area {
    max-width: 960px;
    margin: auto;
}
.service_item {
    border-radius: 50%;
    background: rgba(207, 211, 211, 0.1);
    text-align: center;
}
.service_item_ttl {
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1.5;
}
.service_item_txt {
    letter-spacing: 0.1em;
}
.service_txt {
    letter-spacing: 0.1em;
    text-align: center;
    line-height: 2;
}
.service_contact_btn {
    width: max-content;
    min-width: 265px;
    margin-inline: auto;
    display: block;
    background-color: var(--color-blue);
    color: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.1em;
    border: 1px solid var(--color-blue);
}
.service_contact_btn_txt {
    position: relative;
}
.service_contact_btn_txt::before,
.service_contact_btn_txt::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border-radius: 50%;
}
.service_contact_btn_txt::before {
    background-color: var(--color-white);
    width: 16px;
    height: 16px;
    border: 1px solid var(--color-white);
    right: 0;
}
.service_contact_btn_txt::after {
    background-color: var(--color-blue);
    width: 4px;
    height: 4px;
    right: 6px;
}
@media (min-width: 769px) {
    .service {
        padding-bottom: 160px;
        padding-inline: 40px;
    }
    .service_inner {
        padding: 120px 40px 104px;
    }
    .service_list {
        display: grid;
        grid-template-columns: 50% 50%;
        justify-items: center;
        margin-top: 40px;
    }
    .service_item {
        width: 496px;
        height: 496px;
        gap: 20px 0;
        display: grid;
        align-items: center;
        grid-template-rows: 78px 156px auto;
        grid-row: span 3;
        justify-items: center;
        align-content: center;
    }
    .lang-en .service_item {
        padding-top: 42px;
        gap: 31px 0;
        align-content: flex-start;
    }
    .service_item:nth-child(1) {
        margin-right: -8px;
    }
    .service_item:nth-child(2) {
        margin-left: -8px;
    }
    .service_item_ttl {
        font-size: 26px;
    }
    .lang-en .service_item_ttl {
        font-size: 24px;
    }
    .lang-en .service_item_icon {
        margin-top: 12px;
    }
    .service_item_txt {
        font-size: 16px;
        line-height: 1.8;
    }
    .service_txt {
        margin-top: 40px;
        font-size: 18px;
    }
    .service_contact_btn {
        height: 57px;
        border-radius: 57px;
        margin-top: 24px;
        padding-inline: 44px 20px;
    }
    .service_contact_btn_txt {
        padding-right: 40px;
        padding-left: 8px;
    }
}
@media (max-width: 980px) {
    .service_list {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .service_item:nth-child(2) {
        margin-top: -20px;
    }
}
@media (max-width: 768px) {
    .service {
        padding-block: 80px 96px;
        padding-inline: 16px;
    }
    .service_inner {
        padding-block: 80px;
        padding-inline: 24px;
    }
    .service_list {
        margin-top: 40px;
    }
    .service_item {
        width: 310px;
        height: 310px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 10px 0;
    }
    .service_item:nth-child(2) .service_item_icon {
        height: 99px;
    }
    .service_item_ttl {
        font-size: 18px;
        min-height: 52px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .service_item_icon {
        height: 92px;
    }
    .service_item_icon img {
        height: 100%;
        object-fit: contain;
    }
    .service_item_txt {
        font-size: 13px;
        line-height: 1.65;
    }
    .service_txt {
        margin-top: 40px;
        font-size: 16px;
    }
    .service_contact_btn {
        height: 63px;
        border-radius: 63px;
        margin-top: 32px;
        padding-inline: 44px 20px;
    }
    .service_contact_btn_txt {
        padding-right: 40px;
        padding-left: 8px;
    }
}
@media (hover: hover) {
    .service_contact_btn {
        transition: color 0.3s, background 0.3s, border 0.3s;
    }
    .service_contact_btn_txt::before {
        transition: border 0.3s;
    }
    .service_contact_btn:hover {
        background-color: var(--color-white);
        color: var(--color-blue);
        border-color: var(--color-blue);
    }
    .service_contact_btn:hover .service_contact_btn_txt::before {
        border-color: var(--color-blue);
    }
}

/* company */
.company_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.company_info_list {
    border-top: 1px solid var(--color-gray);
}
.company_info_item {
    display: flex;
    align-items: center;
    letter-spacing: 0.1em;
    border-bottom: 1px solid var(--color-gray);
    padding: 19px 0;
}
.company_info_item dt {
    color: var(--color-dark-gray);
    font-weight: 700;
}
.company_info_item dd {
    flex: 1;
}
.company_link {
    color: var(--color-blue);
    text-decoration: underline;
    position: relative;
}
.company_link::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    background: url(../img/home/company_icon_anchor.svg) no-repeat center center;
    background-size: contain;
}
@media (min-width: 769px) {
    .company {
        padding-block: 160px;
        position: relative;
    }
    .company::before {
        content: '';
        display: block;
        position: absolute;
        top: -13px;
        left: 50%;
        margin-left: -566px;
        width: 1764px;
        height: 1191px;
        background: url(../img/home/company_bg.svg) no-repeat center center;
        background-size: contain;
    }
    .company_inner {
        gap: 11.4%;
        position: relative;
    }
    .company_info_list {
        flex: 1;
        margin-top: 64px;
    }
    .company_info_item dt {
        padding-left: 32px;
    }
    .lang-ja .company_info_item dt {
        width: 136px;
    }
    .lang-en .company_info_item dt {
        width: 200px;
    }
    .company_link {
        margin-left: 16px;
        padding-right: 26px;
    }
    .company_link::after {
        width: 20px;
        height: 20px;
    }
}
@media (max-width: 768px) {
    .company {
        padding-block: 96px;
    }
    .company_inner {
        gap: 48px;
        flex-direction: column;
    }
    .company_info_list {
        width: 100%;
    }
    .company_info_item {
        font-size: 14px;
    }
    .lang-ja .company_info_item dt {
        width: 88px;
    }
    .lang-en .company_info_item dt {
        width: 120px;
        word-break: break-word;
        padding-right: 24px;
    }
    .company_link {
        margin-left: 12px;
        padding-right: 20px;
    }
    .company_link::after {
        width: 16px;
        height: 16px;
    }
}

/* message */
.message_inner {
    display: flex;
}
.message .section_inner {
    position: relative;
}
.message_txt_wrap {
    letter-spacing: 0.1em;
}
.lang-ja .message_txt {
    text-align: justify;
}
.message_name {
    text-align: right;
    font-weight: 700;
}
@media (min-width: 769px) {
    .message {
        padding-block: 160px 120px;
        position: relative;
    }
    .message::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 67.36%;
        height: 856px;
        background-color: var(--color-light-gray);
    }
    .lang-en .message::before {
        height: 1050px;
    }
    .message_inner {
        padding-inline: 80px;
        column-gap: 72px;
        margin-top: 56px;
    }
    .message_img_wrap {
        width: 34%;
    }
    .message_txt_wrap {
        flex: 1;
        line-height: 2.2;
    }
    .message_txt {
        font-size: 16px;
        line-height: 2.3;
    }
    .lang-en .message_txt {
        line-height: 2.2;
    }
    .message_name {
        font-size: 24px;
    }
}
@media (max-width: 768px) {
    .message {
        padding-block: 96px 81px;
        background-color: var(--color-light-gray);
    }
    .message_inner {
        flex-direction: column;
        align-items: center;
        row-gap: 32px;
        margin-top: 40px;
    }
    .message_img_wrap {
        max-width: 248px;
    }
    .message_txt_wrap {
        line-height: 2;
    }
    .message_txt {
        font-size: 14px;
        line-height: 2.1;
    }
    .message_name {
        font-size: 20px;
        margin-top: 13px;
    }
}

/* biography */
.biography {
    position: relative;
    z-index: 1;
    background-color: var(--color-white);
}
.biography_item {
    border-top: 2px solid var(--color-gray);
    display: flex;
}
.biography_summary {
    letter-spacing: 0.1em;
}
.biography_summary_ttl {
    letter-spacing: 0.1em;
    line-height: 1.4;
}
.biography_summary_period {
    line-height: 1;
    color: var(--color-dark-gray);
}
.biography_event {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}
.biography_period {
    position: relative;
    color: var(--color-blue);
    font-weight: 500;
}
.biography_period::after {
    content: '';
    width: 10px;
    height: 10px;
    background-color: var(--color-blue);
    border-radius: 50%;
    position: absolute;
    display: block;
    left: -4px;
    top: 2px;
    bottom: 0;
    margin: auto;
}
.biography_place {
    letter-spacing: 0.1em;
}
.biography_duration {
    font-weight: 600;
    display: inline-block;
    padding: 5px;
    border: 1px solid var(--color-blue);
    color: var(--color-blue);
    background: rgba(149, 210, 255, 0.1);
    font-family: 'Noto Sans JP', sans-serif;
}
.biography_place_list > li {
    padding-left: 1em;
    text-indent: -1em;
}
.biography_place_list_s {
    letter-spacing: 0.1em;
}
.lang-ja .biography_place_list_s_ttl {
    display: none;
}
.biography_item_last .biography_place {
    color: var(--color-blue);
    font-weight: 700;
}
[class].biography_place_mark {
    position: relative;
    padding-left: 19px;
    margin-right: 0;
}
.lang-en [class].biography_place_mark {
    margin-left: -19px;
}
.biography_place_mark::before {
    content: '';
    position: absolute;
    left: 0;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
    width: 11px;
    height: 9px;
    background-color: var(--color-black);
}
@media (min-width: 769px) {
    .biography {
        position: relative;
        padding-top: 146px;
        padding-bottom: 200px;
    }
    .biography::before {
        content: '';
        display: block;
        position: absolute;
        top: 360px;
        left: 50%;
        margin-left: -1000px;
        width: 1764px;
        height: 1191px;
        background: url(../img/home/company_bg.svg) no-repeat 0 0;
        background-size: contain;
    }
    .biography_list {
        padding-left: 80px;
        margin-top: 72px;
        overflow: clip;
        position: relative;
    }
    .biography_item {
        margin-top: 38px;
        padding-top: 34px;
    }
    .biography_summary {
        width: 36.92%;
        padding-right: 20px;
    }
    .biography_summary_ttl {
        font-size: 24px;
    }
    .biography_summary_period {
        font-size: 18px;
        margin-top: 11px;
    }
    .biography_detail {
        width: calc(100% - 36.92%);
    }
    .biography_event {
        padding-top: 6px;
    }
    .biography_event + .biography_event {
        padding-top: 41px;
    }
    .biography_period {
        width: 134px;
        padding-left: 22px;
        font-size: 24px;
    }
    .lang-en .biography_period {
        width: 148px;
    }
    .biography_period_1::before {
        content: '';
        width: 2px;
        height: 2000px;
        position: absolute;
        top: 20px;
        left: 0;
        background: url(../img/home/line.svg) repeat-y 0 0;
        background-size: 100% auto;
    }
    .biography_period::after {
        left: -4px;
        top: 0;
    }
    .biography_place {
        flex: 1;
        font-size: 17px;
        line-height: 1.8;
    }
    .biography_place_txt:not(:first-child) {
        margin-top: 8px;
    }
    .biography_place_txt.margin-right {
        margin-right: 10px;
    }
    .biography_place_list_s {
        font-size: 16px;
        column-gap: 25px;
        margin-top: 8px;
        margin-left: 22px;
        display: grid;
        grid-auto-flow: column;
        grid-template-rows: 1fr 1fr 1fr;
        align-content: center;
        justify-items: start;
        align-items: start;
        justify-content: start;
        line-height: 1.7;
    }
    .lang-en .biography_place_list_s_ttl {
        font-size: 16px;
    }
    .lang-en .biography_place_list_s {
        grid-auto-flow: row;
        margin-top: 0;
        margin-left: 0;
    }
    .biography_place_mark::before {
        top: 12px;
    }
    .biography_duration {
        font-size: 14px;
        line-height: 1;
        padding: 5px 12px 4px;
        border-radius: 25px;
    }
    .biography_item_last .biography_event {
        flex-wrap: wrap;
        align-items: baseline;
    }
    .biography_item_last .biography_period {
        width: auto;
        font-size: 30px;
    }
    .biography_item_last .biography_place {
        flex: auto;
        font-size: 24px;
        padding-left: 22px;
    }
    .biography_item_last .biography_place_txt {
        margin-top: 0;
    }
}
@media (max-width: 768px) {
    .biography {
        padding-top: 96px;
        padding-bottom: 96px;
    }
    .biography_list {
        margin-top: 48px;
    }
    .biography_item {
        flex-direction: column;
        padding-top: 35px;
        padding-bottom: 8px;
        overflow: clip;
    }
    .biography_summary_ttl {
        font-size: 20px;
    }
    .biography_summary_period {
        font-size: 15px;
        margin-top: 8px;
    }
    .biography_event:nth-child(1) {
        margin-top: 22px;
    }
    .biography_event {
        padding-left: 32px;
        padding-bottom: 30px;
        position: relative;
        row-gap: 6px;
    }
    .biography_period {
        font-size: 20px;
    }
    .biography_event::before {
        content: '';
        width: 2px;
        height: 100%;
        height: calc(100% + 12px);
        position: absolute;
        top: 12px;
        left: 12px;
        background: url(../img/home/line.svg) repeat-y 0 0;
        background-size: 100% auto;
    }
    .biography_period::after {
        left: -24px;
    }
    .biography_place {
        width: 100%;
        font-size: 14px;
        line-height: 1.65;
    }
    .biography_place_txt {
        display: inline-block;
    }
    .biography_place_txt:not(:first-child) {
        margin-top: 7px;
    }
    .biography_place_list_s {
        font-size: 13px;
        line-height: 1.65;
        margin-top: 5px;
        margin-left: 20px;
    }
    .biography_place_mark::before {
        top: 8px;
    }
    .biography_duration {
        font-size: 13px;
        padding: 0 9px 1px 9px;
        line-height: 1.4;
        vertical-align: text-bottom;
        border-radius: 20px;
        margin-left: 10px;
        display: inline-block;
        position: relative;
        top: -2px;
    }
    .biography_item_last .biography_period {
        font-size: 24px;
    }
    .biography_item_last .biography_place {
        font-size: 20px;
    }
    .biography_item_last .biography_event {
        padding-bottom: 0;
        overflow: hidden;
    }
}
