/* ヒーロー */
.c-hero-fig {
    margin: 32px 0 0 0;
}

.c-hero-caption {
    margin: 16px 0 0;
}

.c-lead-text_sub {
    margin: 16px 0 0;
}

/* 歴史 */
.p-history-list p {
    line-height: 1.8;
}

.p-history-section {
    margin: 80px 0 0;
}

.c-history-text {
    margin: 32px auto 56px;
}

.p-history-list {
    margin: 32px auto 0;
}

.p-history-item {
    display: flex;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 1px;
    opacity: 0;
}

.p-history-item.is-active {
    opacity: 0;
    animation: fadein .5s ease-in 1 normal forwards;
}

@keyframes fadein {
    0%{
        opacity: 0;
    }

    100%{
        opacity: 1;
    }
}

.c-histpry-date {
    position: relative;
    flex-basis: 200px;
    font-weight: bold;
    white-space: nowrap;
    line-height: 2;
}

.c-histpry-date::before {
    content: '';
    position: absolute;
    top: 6pt;
    right: 4px;
    height: 12px;
    width: 12px;
    border-radius: 50%;
    background-color: #dc0019;
    z-index: 1;
}

.c-histpry-date::after {
    content: '';
    position: absolute;
    top: 8px;
    right: 9px;
    height: 100%;
    width: 1px;
    background-color: #a0a0a0;
}

.p-history-item:last-child .c-histpry-date::after {
    content: none;
}

.c-histpry-text {
    flex-basis: calc(100% - 200px);
    padding: 0 0 40px 40px;
}

.c-histpry-text a {
    display: flex;
    flex-direction: column;
}

.c-histpry-text a.link-text {
    text-decoration: underline;
}

.c-histpry-text a > img {
    max-width: 124px;
}

.c-histpry-text a > span {
    font-size: 12px;
}


.c-wrap-box {
    display: flex;
}

.p-box-1975 .c-box-image {
    width: 10%;
    margin-top: -24px;
    margin-left: 8px;
}

.p-box-1975 .c-box-image > img[alt="歴史イメージ01"] {
    width: 150%;
}

.p-box-1979 {
    flex-direction: column;
}

.p-box-1979 .c-box-image {
    margin-top: 24px;
}

.p-box-2013 .c-box-text {
    flex-basis: 75%;
}

.p-box-2014 .c-box-text {
    flex-basis: 75%;
}

.p-box-2013 .c-box-image,
.p-box-2014 .c-box-image {
    width: 15%;
}

.p-box-2023 .c-box-image {
    margin-left: 16px;
}

/* 絵本 */
.p-content-swiper {
    position: relative;
    margin: 32px 0 0;
}

.swiper-book {
    margin: 0 32px
}

@media screen and (max-width: 767px) {
    .swiper-book {
        margin: 0;
    }
}

.swiper-scrollbar {
    visibility: hidden;
    pointer-events: none;
}

/* SP */
@media screen and (max-width: 767px) {
    .p-content-swiper {
        margin: 32px -16px;
    }
}

.p-content-section {
    position: relative;
}

.c-content-btn {
    width: 420px;
}

@media screen and (max-width: 767px) {
    .c-content-btn {
        margin: 40px auto 0;
        width: 320px;
        font-size: 12px;
    }
}

@media screen and (max-width: 349px) {
    .c-content-btn {
        width: 280px;
        font-size: 11px;
    }
}

.c-content-btn.c-btn-link.c-online-btn {
    margin-top: 30px;
    background-color: #FF9600;
}

/* リンク集 */
.p-links-list {
    margin: 24px 0 0;
}

.c-menulink-item {
    margin: 0;
    width: fit-content;
}

/* SP */
@media screen and (max-width: 767px) {
    .p-detail-section {
        margin: 90px auto;
    }

    .c-hero-fig {
        margin: 24px 40px 0;
    }

    .p-hero-textbox {
        margin: 32px 0 0;
    }

    .c-history-text {
        margin: 24px auto;
    }

    .p-history-item {
        position: relative;
        flex-direction: column;
        padding: 0 0 0 32px;
        font-size: 13px;
    }

    .p-history-item::before {
        content: '';
        position: absolute;
        top: 7px;
        left: 4px;
        height: 10px;
        width: 10px;
        border-radius: 50%;
        background-color: #dc0019;
        z-index: 1;
    }

    .p-history-item::after {
        content: '';
        position: absolute;
        top: 8px;
        left: 8px;
        height: 100%;
        width: 1px;
        background-color: #a0a0a0;
    }

    .p-history-item:last-child:after {
        content: none;
    }

    .c-histpry-date {
        flex-basis: 100%;
        max-width: 100%;
    }

    .c-histpry-date::before {
        content: none;
    }

    .c-histpry-date::after {
        content: none;
    }

    .c-histpry-text {
        flex-basis: 100%;
        max-width: 100%;
        padding: 0 0 24px 0;
    }

    .c-histpry-text a > img {
        max-width: 108px;
    }

    .c-histpry-text a > span {
        font-size: 10px;
        text-wrap: nowrap;
    }

    .p-box-1975 .c-box-text {
        flex-basis: 65%;
    }

    .p-box-1975 .c-box-image {
        width: 20%;
    }

    .p-box-2013 .c-box-text {
        flex-basis: 75%;
    }

    .p-box-2014 .c-box-text {
        flex-basis: 75%;
    }

    .p-box-2013 .c-box-image,
    .p-box-2014 .c-box-image {
        width: 20%;
    }

    .p-box-2023 .c-box-image {
        margin-left: 0;
    }
    .c-menulink-title {
        font-size: 13px;
    }
}
