@charset "utf-8";

.page_wrap {
    padding: 0 !important;
    font-family: 'Noto Sans JP' !important;
}
.page_wrap.page_review {
    background: #ffffff !important;
}
.page_wrap .page_inner {
    min-width: 1142px;
    padding-block: 4em;
    background: #ffffff;
}
@media (max-width: 768px) {
    .page_wrap .page_inner {
        min-width: unset;
        padding-block: 2em;
    }
}

.page-banner {
    width: 100%;
    background: #fff1e0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.page-banner__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    padding-block: 2em;
}
.page-banner__heading {
    flex: 1 0 45%;
    font-size: 4.8rem;
    color: #09284b;
    font-weight: 700;
    line-height: 1.3;
}
.page-banner__heading span {
    display: block;
    font-size: 2.8rem;
    color: #f1890e;
    font-weight: 700;
}
.page-banner > div {
    flex: 1 0 55%;
}
.page-banner > div img {
    width: 100%;
}
@media (max-width: 768px) {
    .page-banner__container {
        padding-inline: 1em;
        padding-block: 1em;
        gap: 1.6em;
    }
    .page-banner__heading {
        font-size: clamp(1.6rem, 4dvw, 2rem);
    }
    .page-banner__heading span {
        font-size: clamp(1.2rem, 3dvw, 1.6rem);
    }
}

.review_timeline {
    padding-block: 2em;
}
.review_timeline .reviews_grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(200px, 1fr));
    gap: 1.4em 1em;
}
.review_timeline .reviews_grid li {
    height: 100%;
}
@media (max-width: 768px) {
    .review_timeline .reviews_grid {
        grid-template-columns: repeat(1, minmax(200px, 1fr));
        max-width: 80%;
        margin-inline: auto;
        gap: 1.4em;
    }
}

.review_timeline_item {
    --__img-size: 60px;
    --__fs: 1.2em;
    --__color: #000000;
    --__outline-color: #dddddd;
    padding: unset;
    width: unset;
    box-sizing: unset;
    background: unset;
    border: unset;
    box-shadow: unset;
    border-radius: 0.5rem;
    display: flex;
    background: #ffffff;
    outline: 1px solid var(--__outline-color);
    height: 100%;
    cursor: default;
}
.review_timeline_item:hover {
    box-shadow: 0px 2px 12px -4px rgba(74, 74, 74, 0.1882352941);
}
.review_timeline_item .item_layout {
    flex: 1;
    display: flex;
    flex-flow: column nowrap;
    padding: 1.4em 2em;
    gap: 1em 0;
}
.review_timeline_item .item_layout .author,
.review_timeline_item .item_layout .meta {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 1em;
}
.review_timeline_item .item_layout .author a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.review_timeline_item .item_layout .review {
    color: var(--__color);
    font-size: var(--__fs, 1.2rem);
    word-break: auto-phrase;
    font-weight: 500;
}
.review_timeline_item .item_layout .review--author-photo {
    width: var(--__img-size, 60px);
    height: var(--__img-size, 60px);
    aspect-ratio: 1/1;
    border-radius: 50%;
    object-fit: cover;
    object-position: top center;
}
.review_timeline_item .item_layout .review--author-name {
    --__fs: 1.8rem;
    line-height: 1.4;
    font-weight: bold;
    word-break: break-all;
}
.review_timeline_item .item_layout .review--content {
    --__fs: 1.2rem;
    --__content-height: 6.4rem;
    flex: 1 0 var(--__content-height, 12ch);
    line-height: 1.2;
    display: block;
    text-overflow: ellipsis;
    white-space: pre-wrap;
    word-break: break-all;
}
.review_timeline_item .item_layout .review--meta {
    --__fs: 1.2rem;
    --__color: #aaaaaa;
}
.review_timeline_item .item_layout .review--translate {
    --__color: #afafaf;
    margin-left: auto;
    background: unset;
    border: unset;
    padding: 0;
}
.review_timeline_item .item_layout .review--translate.active {
    --__color: #898989;
}
.review_timeline_item .item_layout .review--translate[data-translate="true"] {
    --__color: #f1890c;
}

.timeline-filter {
    --__color: #173f67;
    --__bg: #f0f0f0;
    --__bg-active: #173f67;
    width: fit-content;
    max-width: 840px;
    margin: auto;
    text-align: center;
    padding-block: 2em;
}
.timeline-filter .timeline-flipper {
    position: relative;
    isolation: isolate;
    margin-inline: auto;
    width: fit-content;
    display: flex;
    flex-flow: row;
    margin-block-end: 1em;
}
.timeline-filter .timeline-flipper .board-flipper {
    z-index: 99;
    border: none;
    background: none;
    padding: 0;
    color: var(--__color);
    display: inline-block;
}
.timeline-filter .timeline-flipper .board-flipper:disabled {
    opacity: 0.5;
    pointer-events: none;
    display: none;
}
.timeline-filter .timeline-flipper .board-flipper:hover {
    --__color: #25598d;
}
.timeline-filter .timeline-flipper .timeline {
    --__width: 80px;
    --__height: 40px;
    width: var(--__width);
    height: var(--__height);
    overflow: hidden;
    position: relative;
}
.timeline-filter .timeline-flipper .timeline__flipboard {
    position: absolute;
    width: var(--__width);
    height: var(--__height);
    display: flex;
    align-items: center;
    top: 50%;
    transform: translateY(-50%);
    transition: left 0.3s cubic-bezier(0.55, 0.06, 0.68, 0.19);
}
.timeline-filter .timeline-flipper .timeline__flipboard .year {
    --__pos-x: 0;
    position: relative;
    flex: 1 0 100%;
    display: block;
    text-align: center;
    color: var(--__color);
    align-items: center;
    font-size: 2rem;
    font-weight: bold;
}
.timeline-filter .timeline-flipper .timeline__flipboard .year > span {
    font-size: 1.2rem;
}
.timeline-filter .timeline-months {
    --__color: #173f6750;
    display: flex;
    flex-flow: row nowrap;
    justify-content: start;
    gap: 0.5em;
    overflow-x: auto;
}
.timeline-filter .timeline-months::-webkit-scrollbar {
    display: none;
}
.timeline-filter .timeline-months li {
    cursor: pointer;
    user-select: none;
    padding: 0.4rem 0.6rem;
    font-size: 2.4rem;
    font-weight: 700 !important;
    color: var(--__color);
    background: var(--__bg);
    border-radius: 0.4rem;
    max-width: 60px;
    white-space: wrap;
}
.timeline-filter .timeline-months li > span {
    font-size: 1.2rem;
    display: inline-block;
}
.timeline-filter .timeline-months li.active {
    --__bg: var(--__bg-active);
    --__color: #ffffff;
}
.timeline-filter .timeline-months li[data-disabled] {
    --__bg: #fafafa;
    --__color: #173f6720;
    pointer-events: none;
}
.timeline-filter .timeline-months li:not(.active):hover {
    --__bg: var(--__bg-active) !important;
    --__color: #ffffff;
}
@media (max-width: 768px) {
    .timeline-filter {
        width: 78dvw;
    }
    .timeline-filter .timeline-months li {
        max-width: unset;
        white-space: nowrap;
    }
}

.reviews-404 {
    text-align: center;
    padding-block: 2em;
}
.reviews-404 img {
    height: 614px;
    margin-block-end: 4em;
}
.reviews-404 .prompt {
    font-size: 4.8rem;
    font-weight: 700;
    letter-spacing: unset;
    line-height: 1.3;
    color: #09284b;
}
.reviews-404 .prompt.jp {
    font-size: 2.8rem;
    font-weight: 700;
    color: #f1890e;
}
@media (max-width: 768px) {
    .reviews-404 {
        padding-block: 4em;
    }
    .reviews-404 img {
        height: 330px;
    }
    .reviews-404 .prompt {
        font-size: 3.2rem;
    }
    .reviews-404 .prompt.jp {
        font-size: 2rem;
    }
}
