/* ==================================
 * Base
 * ================================== */
:root {
    --ship-layout-nudge: 0px;

    --ship01-layout-nudge: 0px;
    --ship-04-top-lift: 24px;
    --ship-vh: 1vh;
}

@media (max-width: 767px) {
    :root {

        --ship01-layout-nudge: 80px;
    }
}

html {
    font-size: 62.5%;
}

body {
    background-color: #fff;
    color: #323333;
    font-size: 1.6rem;
    line-height: 1.5;
    font-family: YakuHanJP, 'Oswald', 'Noto Sans JP', sans-serif;
    font-feature-settings: "palt";
}

/* ==================================
 * Lenis
 * ================================== */
html.lenis,
html.lenis body {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important;
}

*:focus {
    outline: none;
}

.spacer {
    visibility: hidden;
}

.container {
    overflow: clip;
}

.pin-spacer {
    background-color: transparent !important;
    pointer-events: none;
}

/* ==================================
 * Header
 * ================================== */
.l-header {
    position: relative;
    z-index: 100;
    padding-top: 20px;
    padding-bottom: 20px;
}

@media (min-width: 768px) {
    .l-header {
        padding-top: 15px;
        padding-bottom: 15px;
    }
}

.l-header__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 15px;
    padding-left: 15px;
}

@media (min-width: 768px) {
    .l-header__inner {
        margin: 0 auto;
        padding-right: 20px;
        padding-left: 20px;
    }
}

.l-header__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

@media (min-width: 768px) {
    .l-header__logo {
        gap: 18px;
    }
}

.l-header__logo-img {
    width: 90px;
    height: auto;
}

@media (min-width: 768px) {
    .l-header__logo-img {
        width: 138px;
    }
}

.l-header__logo-text {
    color: #fff;
    font-weight: 400;
    font-size: 1.2rem;
}

@media (min-width: 768px) {
    .l-header__logo-text {
        font-size: 1.9rem;
    }
}

.l-header__nav {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    z-index: 1000;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    min-height: 100dvh;
}

.l-header__nav.is-active {
    visibility: visible;
    opacity: 1;
}

.l-header__nav-overlay {
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    background-color: rgba(0, 0, 0, 0.6);
    width: 100%;
    height: 100%;
}

.l-header__nav-menu {
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(100%);
    box-sizing: border-box;
    box-shadow: -2px 0 10px rgba(0, 0, 0, 0.3);
    background-color: #323333;
    padding: 80px 20px 20px;
    width: 280px;
    height: 100%;
    max-height: 100vh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
}

@media (min-width: 768px) {
    .l-header__nav-menu {
        padding: 100px 30px 30px;
        width: 350px;
    }
}

.l-header__nav.is-active .l-header__nav-menu {
    transform: translateX(0);
}

.l-header__nav-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.l-header__nav-item {
    margin-bottom: 30px;
}

@media (min-width: 768px) {
    .l-header__nav-item {
        margin-bottom: 40px;
    }
}

.l-header__nav-link {
    display: block;
    transition: color 0.3s ease, background-color 0.3s ease;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding: 15px 0;
    color: #fff;
    font-weight: 500;
    font-size: calc(18 / 375 * 100vw);
    text-decoration: none;
}

@media (min-width: 375px) {
    .l-header__nav-link {
        font-size: 1.8rem;
    }
}

@media (min-width: 768px) {
    .l-header__nav-link {
        padding: 20px 0;
        font-size: calc(20 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .l-header__nav-link {
        font-size: 2.0rem;
    }
}

.l-header__nav-link--blank::after {
    display: inline-block;
    width: 16px;
    height: 16px;
    content: "";
    background: url(../img/img_open_in_new.svg) no-repeat center / contain;
    filter: brightness(0) invert(1);
    margin-left: 4px;
    vertical-align: -2px;
}

.l-header__nav-hamburger {
    position: fixed;
    right: 15px;
    z-index: 1001;
    cursor: pointer;
    margin: 0;
    border: none;
    background-color: transparent;
    padding: 0;
    width: 42px;
    height: 25px;
}

@media (min-width: 768px) {
    .l-header__nav-hamburger {
        width: 52px;
        height: 32px;
    }
}

.l-header__nav-hamburger-line {
    display: block;
    position: absolute;
    transition: all 0.3s ease-in-out;
    background-color: #fff;
    width: 100%;
    height: 2px;
}

@media (min-width: 768px) {
    .l-header__nav-hamburger-line {
        height: 3px;
    }
}

body.mv-unfixed .l-header__nav-hamburger:not(.is-active) .l-header__nav-hamburger-line {
    background-color: #323333;
}

.l-header__nav-hamburger.is-active .l-header__nav-hamburger-line {
    background-color: #fff;
}

.l-header__nav-hamburger-line:nth-child(1) {
    top: 0;
}

.l-header__nav-hamburger-line:nth-child(2) {
    top: 50%;
}

.l-header__nav-hamburger-line:nth-child(3) {
    top: 100%;
}

.l-header__nav-hamburger.is-active .l-header__nav-hamburger-line:nth-child(1) {
    top: 50%;
    transform: rotate(35deg);
}

.l-header__nav-hamburger.is-active .l-header__nav-hamburger-line:nth-child(2) {
    opacity: 0;
}

.l-header__nav-hamburger.is-active .l-header__nav-hamburger-line:nth-child(3) {
    top: 50%;
    transform: rotate(-35deg);
}

.l-footer {
    position: relative;
    z-index: 100;
    padding: 15px 0;
    background-color: #323333;
    text-align: center;
    color: #fff;
}

.l-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    gap: 10px;
    padding-right: 20px;
    padding-left: 20px;
}

@media (min-width: 768px) {
    .l-footer__inner {
        flex-direction: row;
    }
}

.l-footer__link {
    display: inline-block;
    position: relative;
    padding-right: 20px;
    font-size: calc(12 / 375 * 100vw);
    text-decoration: none;
    line-height: 1.2;
}

@media (min-width: 375px) {
    .l-footer__link {
        font-size: 1.2rem;
    }
}

@media (min-width: 768px) {
    .l-footer__link {
        font-size: calc(14 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .l-footer__link {
        font-size: 1.4rem;
    }
}

.l-footer__copyright {
    display: block;
    font-size: calc(11 / 375 * 100vw);
    line-height: 1.4;
    letter-spacing: 0.02em;
    opacity: 0.9;
}

@media (min-width: 375px) {
    .l-footer__copyright {
        font-size: 1.1rem;
    }
}

@media (min-width: 768px) {
    .l-footer__copyright {
        font-size: calc(12 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .l-footer__copyright {
        font-size: 1.2rem;
    }
}

.l-footer__link::after {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-48%);
    width: 16px;
    height: 16px;
    content: "";
    background: url(../img/img_open_in_new.svg) no-repeat center / contain;
    filter: brightness(0) invert(1);
}

/* ==================================
 * Component
 * ================================== */
.c-head-year {
    margin-bottom: 30px;
    font-weight: 500;
    font-size: calc(60 / 375 * 100vw);
    line-height: 1;
    letter-spacing: 0.03em;
}

@media (min-width: 375px) {
    .c-head-year {
        font-size: 6.0rem;
    }
}

@media (min-width: 768px) {
    .c-head-year {
        margin-top: 3px;
        margin-bottom: 45px;
        font-size: calc(100 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .c-head-year {
        font-size: 10rem;
    }
}

.c-page-top {
    position: fixed;
    right: 15px;
    bottom: 20px;
    z-index: 10;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    border-radius: 9999px;
    background-color: #6A3906;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 48px;
    height: 48px;
    transform: translateY(8px);
}

.c-page-top.is-absolute {
    position: absolute;
}

@media (min-width: 768px) {
    .c-page-top {
        bottom: 15px;
    }
}

.c-page-top::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-left: 2px solid #fff;
    border-top: 2px solid #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -25%) rotate(45deg);
}

.c-page-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

@media (min-width: 768px) {
    .c-page-top {
        width: 64px;
        height: 64px;
    }
}

.c-head-year--02 {
    margin-bottom: 25px;
    font-size: calc(42 / 375 * 100vw);
}

@media (min-width: 375px) {
    .c-head-year--02 {
        font-size: 4.2rem;
    }
}

@media (min-width: 768px) {
    .c-head-year--02 {
        margin-bottom: 30px;
        font-size: calc(70 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .c-head-year--02 {
        font-size: 7rem;
    }
}

.c-head-title {
    margin-bottom: 30px;
    width: 105%;
    font-weight: 700;
    font-size: calc(24 / 375 * 100vw);
}

@media (min-width: 375px) {
    .c-head-title {
        font-size: 2.4rem;
    }
}

@media (min-width: 768px) {
    .c-head-title {
        font-size: calc(30 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .c-head-title {
        font-size: 3rem;
    }
}

.c-head-title--02 {
    font-size: calc(19.2 / 375 * 100vw);
}

@media (min-width: 375px) {
    .c-head-title--02 {
        font-size: 1.92rem;
    }
}

@media (min-width: 768px) {
    .c-head-title--02 {
        font-size: calc(24 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .c-head-title--02 {
        font-size: 2.4rem;
    }
}

.c-head-text {
    display: -webkit-box;
    margin-bottom: 25px;
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
}

@media (min-width: 375px) {
    .c-head-text {
        font-size: 1.6rem;
    }
}

.c-head-text--no-clamp {
    display: block;
    overflow: visible;
    -webkit-box-orient: unset;
    text-overflow: clip;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    line-clamp: none;
}

.c-head-text__indent-small {
    padding-left: 1.25em;
    font-weight: 400;
    font-size: calc(12 / 375 * 100vw);
    text-indent: -1.25em;
}

@media (min-width: 375px) {
    .c-head-text__indent-small {
        font-size: 1.2rem;
    }
}

.c-head-text__indent-small--mt1em {
    display: inline-block;
    margin-top: 1em;
}

.c-btn-more {
    display: block;
    position: relative;
    transition: opacity 0.3s ease-in-out;
    cursor: pointer;
    margin-left: auto;
    border: none;
    border-radius: 15px;
    background-color: #6A3906;
    padding-right: 15px;
    padding-left: 15px;
    width: 100px;
    height: 30px;
    color: #fff;
    font-weight: 400;
    font-size: 1.6rem;
    letter-spacing: 0.1em;
}

@media (hover: hover) {
    .c-btn-more:hover {
        opacity: 0.8 !important;
    }
}

.c-btn-more::before {
    display: block;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%) rotate(45deg);
    transition: .5s;
    border-top: 1px solid #ffffff;
    border-right: 1px solid #ffffff;
    width: 9px;
    height: 9px;
    content: "";
}

.c-text-box {
    display: grid;
    place-content: center;
    box-shadow: 0 9px 7px rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    background-color: #A66438;
    width: calc(161 / 375 * 100vw);
    height: calc(161 / 375 * 100vw);
    color: #fff;
    font-weight: 500;
    font-size: calc(13 / 375 * 100vw);
    line-height: 1.5;
    text-align: center;
}

.c-text-box--p02 {
    background-color: #6c7520;
}

.c-text-box--p03 {
    background-color: #952e4b;
}

.c-text-box--p04 {
    background-color: #4d538f;
}

@media (min-width: 375px) {
    .c-text-box {
        width: 161px;
        height: 161px;
        font-size: 1.3rem;
    }
}

@media (min-width: 768px) {
    .c-text-box {
        width: calc(184 / 1000 * 100vw);
        height: calc(184 / 1000 * 100vw);
        font-size: calc(15 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .c-text-box {
        width: 184px;
        height: 184px;
        font-size: 1.5rem;
    }
}

/* ==================================
 * Utility
 * ================================== */
.u-sp-only {
    display: block !important;
}

@media (min-width: 768px) {
    .u-sp-only {
        display: none !important;
    }
}

.u-pc-only {
    display: none !important;
}

@media (min-width: 768px) {
    .u-pc-only {
        display: block !important;
    }
}

.u-mb-0 {
    margin-bottom: 0 !important;
}

/* ==================================
 * Top
 * ================================== */
.p-top-mv-wrapper {
    position: relative;
    width: 100%;
    height: 100dvh;
}

.p-top-mv {
    position: fixed;
    top: 0;
    left: 0;
    background-image: url(../img/img_top_mv_sp.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100%;
    height: 100dvh;
}

body.mv-unfixed .p-top-mv {
    position: absolute;
    top: 0;
    left: 0;
}

@media (min-width: 768px) {
    .p-top-mv {
        background-image: url(../img/img_top_mv.webp);
    }
}

.p-top-mv__inner {
    display: grid;
    place-content: center;
    padding-right: 15px;
    padding-left: 15px;
    height: 100%;
}

.p-top-mv__text {
    text-align: center;
}

.p-top-mv__text-main {
    margin-bottom: 35px;
}

@media (min-width: 768px) {
    .p-top-mv__text-main {
        margin-bottom: 30px;
    }
}

.p-top-mv__text-sub {
    color: #fff;
    font-weight: 500;
    font-size: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-mv__text-sub {
        font-size: 2.0rem;
    }
}

.p-top-mv__scroll {
    display: flex;
    position: absolute;
    top: auto;
    right: 15px;
    bottom: 0;
    left: auto;
    align-items: flex-start;
    gap: 12px;
}

@media (min-width: 768px) {
    .p-top-mv__scroll {
        right: 20px;
    }
}

.p-top-mv__scroll_bar {
    position: relative;
    background-color: transparent;
    width: 3px;
    height: 140px;
}

.p-top-mv__scroll_bar:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    animation: scrolldown 2s infinite;
    background-color: #ffffff;
    width: 100%;
    height: 100%;

    content: "";
}

.p-top-mv__scroll .p-top-mv__scroll_text {
    color: #fff;
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
}

@keyframes scrolldown {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }

    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }

    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }

    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

.p-top-content {
    position: relative;
    z-index: 10;
    margin-top: -65px;
    background-color: #fff;
}

@media (min-width: 768px) {
    .p-top-content {
        margin-top: -66px;
    }
}

.p-top-head {
    background-color: #fff;
    padding-top: 50px;
}

.p-top-head__inner {
    padding-right: 20px;
    padding-left: 20px;
}

.p-top-head__text {
    margin-bottom: 65px;
    font-weight: 500;
    font-size: calc(18 / 375 * 100vw);
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-head__text {
        font-size: 1.8rem;
    }
}

@media (min-width: 768px) {
    .p-top-head__text {
        font-size: calc(22 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-head__text {
        font-size: 2.2rem;
    }
}

.p-top-head__nav {
    text-align: center;
}

@media (min-width: 768px) {
    .p-top-head__nav-list {
        display: flex;
        justify-content: center;
        gap: 15px;
    }
}

.p-top-head__nav-link {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    padding-bottom: 38px;
    width: 150px;
}

.p-top-head__nav-item:not(:last-child) {
    margin-bottom: 15px;
}

@media (min-width: 768px) {
    .p-top-head__nav-item:not(:last-child) {
        margin-bottom: 0;
    }
}

.p-top-head__nav-item:last-child .p-top-head__nav-link {
    margin-bottom: 0;
}

.p-top-head__nav-link::before {
    position: absolute;
    bottom: 30px;
    left: 0;
    background-color: #B3B3B3;
    width: 100%;
    height: 5px;
    content: '';
}

.p-top-head__nav-link::after {
    position: absolute;
    bottom: 15px;
    left: 50%;
    content: '▼';
    font-size: 0.75rem;
}

.p-top-head__nav-item-main {
    display: inline-block;
    margin-right: 5px;
    font-weight: 500;
    font-size: calc(30 / 375 * 100vw);
    letter-spacing: 0.1em;
}

@media (min-width: 375px) {
    .p-top-head__nav-item-main {
        font-size: 3.0rem;
    }
}

.p-top-head__nav-item-sub {
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-head__nav-item-sub {
        font-size: 1.6rem;
    }
}

.p-top-head__nav-item-title {
    margin-bottom: 10px;
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
    line-height: 1.4;
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-head__nav-item-title {
        font-size: 1.6rem;
    }
}

/* ==================================
 * History
 * ================================== */
.p-top-1918-1924 {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 40%, rgba(255, 255, 255, 1) 100%);
}

/* ----------------------------------
 * 1918
 * ---------------------------------- */
.p-top-1918 {
    position: relative;
    z-index: 10;
    padding-top: 70px;
    padding-bottom: 50px;
}

@media (min-width: 768px) {
    .p-top-1918 {
        padding-bottom: 90px;
    }
}

.p-top-1918__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1918__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1918__inner {
        display: flex;
        column-gap: calc(46 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1918__inner {
        column-gap: 46px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1918__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-1918__primary {
        width: calc(387 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1918__primary {
        width: 387px;
    }
}

.p-top-1918__secondary {
    position: relative;
    height: calc(345 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1918__secondary {
        height: 345px;
    }
}

@media (min-width: 768px) {
    .p-top-1918__secondary {
        width: calc(446 / 1000 * 100vw);
        height: calc(466 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1918__secondary {
        width: 446px;
        height: 466px;
    }
}

.p-top-1918__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(332 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1918__secondary-inner {
        width: 332px;
    }
}

@media (min-width: 768px) {
    .p-top-1918__secondary-inner {
        width: 100%;
    }
}

.p-top-1918__text-box {
    position: absolute;
    top: calc(25 / 375 * 100vw);
    left: calc(170 / 375 * 100vw);
    z-index: 30;
}

@media (min-width: 375px) {
    .p-top-1918__text-box {
        top: 25px;
        left: 170px;
    }
}

@media (min-width: 768px) {
    .p-top-1918__text-box {
        top: calc(17 / 1000 * 100vw);
        left: calc(254 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1918__text-box {
        top: 17px;
        left: 254px;
    }
}

.p-top-1918__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    width: calc(193 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1918__img01 {
        width: 193px;
    }
}

@media (min-width: 768px) {
    .p-top-1918__img01 {
        width: calc(276 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1918__img01 {
        width: 276px;
    }
}

.p-top-1918__img02 {
    position: absolute;
    top: calc(178 / 375 * 100vw);
    left: calc(162 / 375 * 100vw);
    z-index: 10;
    mix-blend-mode: multiply;
    width: calc(168 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1918__img02 {
        top: 178px;
        left: 162px;
        width: 168px;
    }
}

@media (min-width: 768px) {
    .p-top-1918__img02 {
        top: calc(227 / 1000 * 100vw);
        left: calc(201 / 1000 * 100vw);
        width: calc(239 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1918__img02 {
        top: 227px;
        left: 201px;
        width: 239px;
    }
}

/* ----------------------------------
 * 1924
 * ---------------------------------- */
.p-top-1924 {
    position: relative;
    z-index: 10;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1924 {

        padding-bottom: 150px;
    }
}

.p-top-1924__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1924__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1924__inner {
        display: flex;
        column-gap: calc(70 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: 0;
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1924__inner {
        column-gap: 70px;
        padding-right: 60px;
        padding-left: 0;
    }
}

.p-top-1924__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-1924__primary {
        flex-shrink: 0;
        width: calc(336 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1924__primary {
        width: 336px;
    }
}

.p-top-1924__secondary {
    position: relative;
    margin-top: calc(-30 / 375 * 100vw);
    height: calc(322 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1924__secondary {
        margin-top: -30px;
        height: 322px;
    }
}

@media (min-width: 768px) {
    .p-top-1924__secondary {
        margin-top: 0;
        width: calc(535 / 1000 * 100vw);
        height: calc(385 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1924__secondary {
        width: 535px;
        height: 385px;
    }
}

.p-top-1924__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (max-width: 374px) {
    .p-top-1924__secondary-inner {
        width: calc(100vw * 375 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1924__secondary-inner {
        width: 375px;
    }
}

@media (min-width: 768px) {
    .p-top-1924__secondary-inner {
        width: 100%;
    }
}

.p-top-1924__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1924__text-box {
        top: 0;
        left: calc(268 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1924__text-box {
        left: 268px;
    }
}

.p-top-1924__img01 {
    position: absolute;
    top: calc(86 / 375 * 100vw);
    right: calc(-20 / 375 * 100vw);
    left: calc(-20 / 375 * 100vw);
    z-index: 10;
    mix-blend-mode: multiply;
    width: calc(100% + 40 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1924__img01 {
        top: 86px;
        right: -20px;
        left: -20px;
        width: calc(100% + 40px);
    }
}

@media (min-width: 768px) {
    .p-top-1924__img01 {
        top: calc(64 / 1000 * 100vw);
        right: 0;
        left: 0;
        width: 100%;
    }
}

.p-ship-wrap-container {
    position: relative;
}

.p-ship-wrap {
    position: relative;
    z-index: 1;
    height: 100%;
}

.p-dot-line {
    position: absolute;
    top: 354px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 0;
    background-image: radial-gradient(circle, rgb(240, 240, 240) 4px, transparent 4px);
    background-size: 8px 20px;
    background-repeat: repeat-y;
    width: 8px;
    height: calc(100% - 354px);
    pointer-events: none;
}

@media (min-width: 768px) {
    .p-dot-line {
        top: calc(395 / 1000 * 100vw);
        height: calc(100% - 395 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-dot-line {
        top: 395px;
    }
}

/* ----------------------------------
 * 1928
 * ---------------------------------- */
.p-top-1928 {
    position: relative;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1928 {
        padding-bottom: 0;
    }
}

.p-top-1928__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1928__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__inner {
        display: flex;
        column-gap: calc(125 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: 0;
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1928__inner {
        column-gap: 125px;
        padding-right: 60px;
        padding-left: 0;
    }
}

.p-top-1928__primary {
    position: relative;
    z-index: 11;
}

@media (min-width: 768px) {
    .p-top-1928__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__primary {
        width: 360px;
    }
}

.p-top-1928__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(-30 / 375 * 100vw);
    height: calc(311 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1928__secondary {
        margin-top: -30px;
        height: 311px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(474 / 1000 * 100vw);
        height: calc(436 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__secondary {
        width: 474px;
        height: 436px;
    }
}

.p-top-1928__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (max-width: 374px) {
    .p-top-1928__secondary-inner {
        width: calc(100vw * 335 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1928__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__secondary-inner {
        width: 100%;
    }
}

.p-top-1928__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1928__text-box {
        top: 0;
        left: calc(73 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__text-box {
        left: 73px;
    }
}

.p-top-1928__img01 {
    position: absolute;
    top: calc(110 / 375 * 100vw);
    left: 0;
    z-index: 10;
    mix-blend-mode: multiply;
    width: 100%;
    height: auto;
}

@media (max-width: 374px) {
    .p-top-1928__img01 {
        width: calc(100vw * 335 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1928__img01 {
        top: 110px;
        left: 0;
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__img01 {
        top: calc(148 / 1000 * 100vw);
        right: 0;
        left: 0;
        transform: translateX(calc(-20 / 1000 * 100vw));
        width: 100%;
    }
}

@media (min-width: 1000px) {
    .p-top-1928__img01 {
        top: 148px;
        transform: translateX(-20px);
    }
}

.p-top-1928-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

.p-top-1928__bike {
    position: relative;
    z-index: 50;
}

.p-top-1928__bike-img {
    width: 138px;
    height: auto;
}

@media (min-width: 768px) {
    .p-top-1928__bike-img {
        width: calc(296 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__bike-img {
        width: 296px;
    }
}

.p-top-1928__inner02 {
    margin-bottom: calc(21 / 375 * 100vw);
    padding-right: 0;
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1928__inner02 {
        margin-bottom: 21px;
        padding-right: 0;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__inner02 {
        margin: 0 auto calc(-76 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(345 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1928__inner02 {
        margin: 0 auto -76px;
        padding-right: 60px;
        padding-left: 345px;
    }
}

.p-top-1928__third {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(306 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1928__third {
        margin-top: 0;
        height: 306px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__third {
        margin-top: 0;
        width: calc(518 / 1000 * 100vw);
        height: calc(344 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__third {
        width: 518px;
        height: 344px;
    }
}

.p-top-1928__third-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (max-width: 374px) {
    .p-top-1928__third-inner {
        width: calc(100vw * 355 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1928__third-inner {
        width: 355px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__third-inner {
        width: 100%;
    }
}

.p-top-1928__img02 {
    position: absolute;
    top: calc(110 / 375 * 100vw);
    right: 0;
    z-index: 10;
    mix-blend-mode: multiply;
    width: calc(270 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1928__img02 {
        top: 110px;
        right: 0;
        width: 270px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__img02 {
        top: calc(64 / 1000 * 100vw);
        right: 0;
        left: 0;
        width: calc(387 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__img02 {
        top: 64px;
        width: 387px;
    }
}

.p-top-1928__text-box02 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1928__text-box02 {
        top: 0;
        right: 0;
        left: inherit;
    }
}

@media (min-width: 1000px) {
    .p-top-1928__text-box02 {
        right: 0;
    }
}

.p-top-1928__inner03 {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: 0;
}

@media (min-width: 375px) {
    .p-top-1928__inner03 {
        padding-right: 20px;
        padding-left: 0;
    }
}

@media (min-width: 768px) {
    .p-top-1928__inner03 {
        margin: 0 auto;
        padding-right: calc(345 / 1000 * 100vw);
        padding-left: calc(120 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1928__inner03 {
        padding-right: 345px;
        padding-left: 120px;
    }
}

.p-top-1928__fourth {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(126 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1928__fourth {
        height: 126px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__fourth {
        margin-top: 0;
        width: calc(448 / 1000 * 100vw);
        height: calc(290 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__fourth {
        width: 448px;
        height: 290px;
    }
}

.p-top-1928__fourth-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (max-width: 374px) {
    .p-top-1928__fourth-inner {
        width: calc(100vw * 355 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1928__fourth-inner {
        width: 355px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__fourth-inner {
        width: 100%;
    }
}

.p-top-1928__text-box03 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1928__text-box03 {
        top: 0;
        right: inherit;
        left: 0;
    }
}

.p-top-1928__img03 {
    position: absolute;
    top: calc(19 / 375 * 100vw);
    left: 0;
    z-index: 10;
    mix-blend-mode: multiply;
    width: calc(215 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1928__img03 {
        top: 19px;
        left: 0;
        width: 215px;
    }
}

@media (min-width: 768px) {
    .p-top-1928__img03 {
        top: calc(116 / 1000 * 100vw);
        left: calc(126 / 1000 * 100vw);
        width: calc(307 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1928__img03 {
        top: 116px;
        left: 126px;
        width: 307px;
    }
}

/* ==================================
 * Ship 01
 * ================================== */
.p-ship01-section,
.p-ship02-section,
.p-ship03-section,
.p-ship04-section {
    position: relative;
    height: 100%;
    overflow: clip;
}

.p-ship01-section__clip,
.p-ship02-section__clip,
.p-ship03-section__clip,
.p-ship04-section__clip {
    margin-bottom: -5px;
}

.p-ship01,
.p-ship02,
.p-ship03,
.p-ship04 {
    position: absolute;
    right: 0;
    left: 0;
    transform: translateZ(0);
    opacity: 0;
    z-index: 90;
    backface-visibility: hidden;
    will-change: transform;
    margin: 0 auto;
    pointer-events: none;
}
.p-ship01 {
    top: clamp(calc(100px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
            calc(8vh + 100px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
            min(calc(200px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
                calc(48 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px))));
    width: 138px;
}

@media (min-width: 768px) {
    .p-ship01 {
        top: clamp(calc(180px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
                calc(240 / 1000 * 100vw + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
                min(calc(300px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
                    calc(40 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px))));
        width: calc(198 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-ship01 {
        top: clamp(calc(200px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
                calc(10vh + 195px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
                min(calc(300px + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px)),
                    calc(34 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) + var(--ship01-layout-nudge, 0px))));
        width: 198px;
    }
}

.p-ship02 {
    top: clamp(calc(100px + var(--ship-layout-nudge, 0px)),
            calc(8vh + 85px + var(--ship-layout-nudge, 0px)),
            min(calc(175px + var(--ship-layout-nudge, 0px)),
                calc(46 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
    width: 155px;
}

@media (min-width: 768px) {
    .p-ship02 {
        top: clamp(calc(96px + var(--ship-layout-nudge, 0px)),
                calc(130 / 1000 * 100vw + var(--ship-layout-nudge, 0px)),
                min(calc(180px + var(--ship-layout-nudge, 0px)),
                    calc(38 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
        width: calc(220 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-ship02 {
        top: clamp(calc(100px + var(--ship-layout-nudge, 0px)),
                calc(6vh + 95px + var(--ship-layout-nudge, 0px)),
                min(calc(180px + var(--ship-layout-nudge, 0px)),
                    calc(32 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
        width: 220px;
    }
}

.p-ship03 {
    top: clamp(calc(85px + var(--ship-layout-nudge, 0px)),
            calc(7vh + 70px + var(--ship-layout-nudge, 0px)),
            min(calc(155px + var(--ship-layout-nudge, 0px)),
                calc(44 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
    width: 182px;
}

@media (min-width: 768px) {
    .p-ship03 {
        top: clamp(calc(82px + var(--ship-layout-nudge, 0px)),
                calc(110 / 1000 * 100vw + var(--ship-layout-nudge, 0px)),
                min(calc(165px + var(--ship-layout-nudge, 0px)),
                    calc(36 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
        width: calc(260 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-ship03 {
        top: clamp(calc(85px + var(--ship-layout-nudge, 0px)),
                calc(5vh + 80px + var(--ship-layout-nudge, 0px)),
                min(calc(165px + var(--ship-layout-nudge, 0px)),
                    calc(30 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
        width: 260px;
    }
}

.p-ship04 {
    top: clamp(calc(85px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
            calc(7vh + 70px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
            min(calc(155px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                calc(44 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px))));
    width: 178px;
}

@media (min-width: 768px) {
    .p-ship04 {
        top: clamp(calc(82px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                calc(110 / 1000 * 100vw + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                min(calc(165px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                    calc(36 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px))));
        width: calc(254 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-ship04 {
        top: clamp(calc(85px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                calc(5vh + 80px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                min(calc(165px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                    calc(30 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px))));
        width: 254px;
    }
}

@media (orientation: landscape) and (max-height: 900px) {
    .p-ship01 {
        top: clamp(calc(56px + var(--ship-layout-nudge, 0px)),
                calc(12vh + 48px + var(--ship-layout-nudge, 0px)),
                min(calc(140px + var(--ship-layout-nudge, 0px)),
                    calc(34 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
    }

    .p-ship02 {
        top: clamp(calc(52px + var(--ship-layout-nudge, 0px)),
                calc(10vh + 44px + var(--ship-layout-nudge, 0px)),
                min(calc(130px + var(--ship-layout-nudge, 0px)),
                    calc(32 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
    }

    .p-ship03 {
        top: clamp(calc(48px + var(--ship-layout-nudge, 0px)),
                calc(10vh + 40px + var(--ship-layout-nudge, 0px)),
                min(calc(120px + var(--ship-layout-nudge, 0px)),
                    calc(30 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
    }

    .p-ship04 {
        top: clamp(calc(40px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                calc(8vh + 32px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                min(calc(100px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                    calc(24 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px))));
    }
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 926px) {
    .p-ship01 {
        top: clamp(calc(36px + var(--ship-layout-nudge, 0px)),
                calc(5vh + 28px + var(--ship-layout-nudge, 0px)),
                min(calc(88px + var(--ship-layout-nudge, 0px)),
                    calc(18 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
        width: 96px;
    }

    .p-ship02 {
        top: clamp(calc(32px + var(--ship-layout-nudge, 0px)),
                calc(5vh + 24px + var(--ship-layout-nudge, 0px)),
                min(calc(82px + var(--ship-layout-nudge, 0px)),
                    calc(17 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
        width: 108px;
    }

    .p-ship03 {
        top: clamp(calc(28px + var(--ship-layout-nudge, 0px)),
                calc(4vh + 22px + var(--ship-layout-nudge, 0px)),
                min(calc(76px + var(--ship-layout-nudge, 0px)),
                    calc(16 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px))));
        width: 124px;
    }

    .p-ship04 {
        top: clamp(calc(24px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                calc(4vh + 18px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                min(calc(72px + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px)),
                    calc(15 * var(--ship-vh, 1vh) + var(--ship-layout-nudge, 0px) - var(--ship-04-top-lift, 24px))));
        width: 120px;
    }
}

.p-ship01__img,
.p-ship02__img,
.p-ship03__img,
.p-ship04__img {
    width: 100%;
    height: auto;
}

.p-ship04__float {
    position: relative;
    z-index: 0;
    width: 100%;
}

.p-ship04.is-on-sea .p-ship04__float {
    animation: ship04-float 4s ease-in-out infinite;
    will-change: transform;
}

/* ----------------------------------
 * フィナーレ中の船非表示
 * ---------------------------------- */
.p-ship04.is-finale-hide {
    opacity: 0 !important;
    visibility: hidden;
    pointer-events: none;
}

@keyframes ship04-float {

    0%,
    100% {
        transform: translate(0, 0) rotate(-0.8deg);
    }

    50% {
        transform: translate(2px, -6px) rotate(0.8deg);
    }
}

@media (prefers-reduced-motion: reduce) {

    .p-ship04.is-on-sea .p-ship04__float {
        animation: none;
    }
}

/* ----------------------------------
 * 1926
 * ---------------------------------- */
.p-top-1926 {
    position: relative;
}

.p-top-1926__inner {
    padding-right: 20px;
    padding-left: 20px;
}

@media (min-width: 768px) {
    .p-top-1926__inner {
        margin: 0 auto;
        padding-right: calc(50 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1926__inner {
        padding-right: 50px;
        padding-left: 60px;
    }
}

.p-top-1926__head {
    position: relative;
    z-index: 100;
    margin-bottom: 95px;
}

.p-top-1926__head-text {
    position: relative;
    z-index: 10;
    margin-bottom: 50px;
    font-weight: 700;
    font-size: calc(20 / 375 * 100vw);
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-1926__head-text {
        font-size: 2.0rem;
    }
}

@media (min-width: 768px) {
    .p-top-1926__head-text {
        font-size: calc(26 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__head-text {
        font-size: 2.6rem;
    }
}

.p-top-1926__change-wrap {
    position: relative;
}

.p-top-1926__change {
    display: grid;
    position: relative;
    place-content: center;
    z-index: 100;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #323333;
    width: 245px;
    height: 245px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-top-1926__change {
        width: calc(350 / 1000 * 100vw);
        height: calc(350 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__change {
        width: 350px;
        height: 350px;
    }
}

.p-top-1926__video-container {
    display: block;
    position: absolute;
    top: 10px;
    right: -20px;
    left: -20px;
    width: calc(100% + 40px);
}

@media (min-width: 768px) {
    .p-top-1926__video-container {
        display: block;
        position: absolute;
        top: calc(10 / 1000 * 100vw);
        right: inherit;
        left: calc(-195 / 1000 * 100vw);
        width: calc(1280 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__video-container {
        top: 10px;
        left: -195px;
        width: 1280px;
    }
}

.p-top-1926__video-background {
    transform: translateZ(0);
    will-change: filter, transform;
    background-color: transparent !important;
    background: transparent !important;
    width: 100%;
    height: 225px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .p-top-1926__video-background {
        height: calc(330 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__video-background {
        height: 330px;
    }
}

.p-top-1926__change-img {
    margin: 0 auto 32px;
    width: 100%;
    max-width: 140px;
    height: auto;
}

@media (min-width: 768px) {
    .p-top-1926__change-img {
        max-width: calc(204 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__change-img {
        max-width: 204px;
    }
}

.p-top-1926__change-text {
    color: #fff;
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-1926__change-text {
        font-size: 1.6rem;
    }
}

@media (min-width: 768px) {
    .p-top-1926__change-text {
        font-size: calc(24 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__change-text {
        font-size: 2.4rem;
    }
}

.p-top-1926__body {
    position: relative;
    margin-top: var(--pin-gap, 1350px);
    padding-bottom: 120px;
}

@media (min-width: 768px) {
    .p-top-1926__body-inner {
        display: flex;
        column-gap: calc(96 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__body-inner {
        column-gap: 96px;
    }
}

.p-top-1926__primary {
    position: relative;
    z-index: 11;
}

@media (min-width: 768px) {
    .p-top-1926__primary {
        flex-shrink: 0;
        padding-top: calc(140 / 1000 * 100vw);
        width: calc(388 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__primary {
        padding-top: 140px;
        width: 388px;
    }
}

.p-top-1926__secondary {
    position: relative;
    z-index: 11;
    height: 420px;
    pointer-events: none;
}

@media (min-width: 768px) {
    .p-top-1926__secondary {
        flex-shrink: 0;
        width: calc(404 / 1000 * 100vw);
        height: calc(660 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__secondary {
        width: 404px;
        height: 660px;
    }
}

.p-top-1926__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 316px;
    height: 100%;
}

@media (min-width: 768px) {
    .p-top-1926__secondary-inner {
        width: 100%;
    }
}

.p-top-1926__secondary::before {
    position: absolute;
    top: 0;
    right: -20px;
    left: -20px;
    transform: scale(var(--scale, 0));
    transform-origin: center;

    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn01.webp);
    background-position: center;
    background-size: 525px auto;
    background-repeat: no-repeat;
    width: calc(100% + 40px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-1926__secondary::before {
        right: calc(-60 / 1000 * 100vw);
        left: calc(-219 / 1000 * 100vw);
        background-size: calc(750 / 1000 * 100vw) auto;
        width: calc(750 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__secondary::before {
        right: -60px;
        left: -219px;
        background-size: 750px auto;
        width: 750px;
    }
}

.p-top-1926__text-box {
    position: absolute;
    top: -30px;
    left: 0;
    z-index: 40;
}

@media (min-width: 768px) {
    .p-top-1926__text-box {
        top: 0;
        right: 0;
        left: inherit;
    }
}

.p-top-1926__img01 {
    position: absolute;
    top: 18px;
    left: 121px;
    z-index: 30;
    width: 176px;
}

@media (min-width: 768px) {
    .p-top-1926__img01 {
        top: calc(128 / 1000 * 100vw);
        right: calc(20 / 1000 * 100vw);
        left: inherit;
        width: calc(252 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__img01 {
        top: 128px;
        right: 20px;
        width: 252px;
    }
}

.p-top-1926__img02 {
    position: absolute;
    top: 130px;
    left: 30px;
    z-index: 20;
    width: 88px;
}

@media (min-width: 768px) {
    .p-top-1926__img02 {
        top: calc(290 / 1000 * 100vw);
        left: 0;
        width: calc(126 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__img02 {
        top: 290px;
        left: 0;
        width: 126px;
    }
}

.p-top-1926__img03 {
    position: absolute;
    top: 222px;
    left: 52px;
    z-index: 10;
    width: 262px;
}

@media (min-width: 768px) {
    .p-top-1926__img03 {
        top: calc(420 / 1000 * 100vw);
        left: calc(31 / 1000 * 100vw);
        width: calc(373 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1926__img03 {
        top: 420px;
        left: 31px;
        width: 373px;
    }
}

/* ----------------------------------
 * 1936
 * ---------------------------------- */
.p-top-1936 {
    position: relative;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1936 {
        padding-bottom: 150px;
    }
}

.p-top-1936__inner {
    margin-bottom: 60px;
    padding-right: 20px;
    padding-left: 20px;
}

@media (min-width: 768px) {
    .p-top-1936__inner {
        display: flex;
        margin: 0 auto calc(47 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1936__inner {
        margin-bottom: 47px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1936__primary {
    position: relative;
    z-index: 12;
}

@media (min-width: 768px) {
    .p-top-1936__primary {
        flex-shrink: 0;
        padding-top: calc(154 / 1000 * 100vw);
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1936__primary {
        padding-top: 154px;
        width: 360px;
    }
}

.p-top-1936__secondary {
    position: relative;
    z-index: 11;
    height: calc(418 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1936__secondary {
        height: 418px;
    }
}

@media (min-width: 768px) {
    .p-top-1936__secondary {
        width: calc(632 / 1000 * 100vw);
        height: calc(462 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1936__secondary {
        width: 632px;
        height: 462px;
    }
}

.p-top-1936__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (max-width: 374px) {
    .p-top-1936__secondary-inner {
        width: calc(100vw * 330 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1936__secondary-inner {
        width: 330px;
    }
}

@media (min-width: 768px) {
    .p-top-1936__secondary-inner {
        width: 100%;
    }
}

.p-top-1936__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1936__text-box {
        top: calc(160 / 1000 * 100vw);
        right: 0;
        left: inherit;
    }
}

@media (min-width: 1000px) {
    .p-top-1936__text-box {
        top: 160px;
        right: 0;
    }
}

.p-top-1936__img01 {
    position: absolute;
    top: calc(53 / 375 * 100vw);
    right: 0;
    z-index: 0;
    width: calc(144 / 375 * 100vw);
    height: calc(186 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1936__img01 {
        top: 53px;
        right: 0;
        width: 144px;
    }
}

@media (min-width: 768px) {
    .p-top-1936__img01 {
        top: calc(0 / 1000 * 100vw);
        right: calc(15 / 1000 * 100vw);
        width: calc(206 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1936__img01 {
        top: 0;
        right: 15px;
        width: 206px;
    }
}

.p-top-1936__img02 {
    position: absolute;
    top: calc(139 / 375 * 100vw);
    right: calc(-10 / 375 * 100vw);
    z-index: 10;
    width: calc(387 / 375 * 100vw);
    height: calc(279 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1936__img02 {
        top: 139px;
        right: -10px;
        width: 387px;
    }
}

@media (min-width: 768px) {
    .p-top-1936__img02 {
        top: calc(64 / 1000 * 100vw);
        right: calc(80 / 1000 * 100vw);
        width: calc(552 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1936__img02 {
        top: 64px;
        right: 80px;
        width: 552px;
    }
}

.p-top-1936__airplane {
    position: relative;
    z-index: 50;
}

.p-top-1936__airplane-img {
    width: 151px;
    height: auto;
}

@media (min-width: 768px) {
    .p-top-1936__airplane-img {
        width: calc(315 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1936__airplane-img {
        width: 315px;
    }
}

.p-top-1936-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1945
 * ---------------------------------- */
.p-top-1945 {
    position: relative;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1945 {
        padding-bottom: 150px;
    }
}

.p-top-1945__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1945__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1945__inner {
        display: flex;
        column-gap: calc(117 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: 0;
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1945__inner {
        column-gap: 117px;
        padding-right: 60px;
    }
}

.p-top-1945__primary {
    position: relative;
    z-index: 11;
}

@media (min-width: 768px) {
    .p-top-1945__primary {
        flex-shrink: 0;
        width: calc(375 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1945__primary {
        width: 375px;
    }
}

.p-top-1945__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(30 / 375 * 100vw);
    height: calc(327 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1945__secondary {
        margin-top: 30px;
        height: 327px;
    }
}

@media (min-width: 768px) {
    .p-top-1945__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(462 / 1000 * 100vw);
        height: calc(444 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1945__secondary {
        width: 462px;
        height: 444px;
    }
}

.p-top-1945__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (max-width: 374px) {
    .p-top-1945__secondary-inner {
        width: calc(100vw * 332 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1945__secondary-inner {
        width: 332px;
    }
}

@media (min-width: 768px) {
    .p-top-1945__secondary-inner {
        width: 100%;
    }
}

@media (min-width: 1000px) {
    .p-top-1945__secondary-inner {
        width: 463px;
    }
}

.p-top-1945__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1945__text-box {
        top: calc(260 / 1000 * 100vw);
        left: calc(250 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1945__text-box {
        top: 260px;
        left: 250px;
    }
}

.p-top-1945__img01 {
    position: absolute;
    top: calc(105 / 375 * 100vw);
    z-index: 10;
    margin-left: calc(10 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1945__img01 {
        top: 105px;
        margin-left: 10px;
    }
}

@media (min-width: 768px) {
    .p-top-1945__img01 {
        top: 0;
        margin-left: 0;
        width: 100%;
    }
}

.p-top-1945-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1946
 * ---------------------------------- */
.p-top-1946 {
    position: relative;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1946 {
        padding-bottom: 100px;
    }
}

.p-top-1946__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1946__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1946__inner {
        display: flex;
        column-gap: calc(30 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1946__inner {
        column-gap: 30px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1946__primary {
    position: relative;
    z-index: 12;
}

@media (min-width: 768px) {
    .p-top-1946__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1946__primary {
        width: 360px;
    }
}

.p-top-1946__secondary {
    position: relative;
    z-index: 11;
    height: calc(484 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1946__secondary {
        height: 484px;
    }
}

@media (min-width: 768px) {
    .p-top-1946__secondary {
        width: calc(856 / 1000 * 100vw);
        height: calc(540 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1946__secondary {
        width: 856px;
        height: 540px;
    }
}

.p-top-1946__secondary::before {
    position: absolute;
    top: calc(33 / 375 * 100vw);
    left: -20px;
    transform: scale(var(--scale, 0));
    transform-origin: center;
    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn01.webp);
    background-position: center;
    background-size: 600px auto;
    background-repeat: no-repeat;
    width: calc(100% + 40px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-1946__secondary::before {
        top: calc(-120 / 1000 * 100vw);
        left: calc(-180 / 1000 * 100vw);
        background-size: calc(856 / 1000 * 100vw) auto;
        width: calc(856 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1946__secondary::before {
        top: -120px;
        left: -180px;
        background-size: 856px auto;
        width: 856px;
    }
}

.p-top-1946__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (max-width: 374px) {
    .p-top-1946__secondary-inner {
        width: calc(100vw * 332 / 375);
    }
}

@media (min-width: 375px) {
    .p-top-1946__secondary-inner {
        width: 332px;
    }
}

@media (min-width: 768px) {
    .p-top-1946__secondary-inner {
        width: 100%;
    }
}

.p-top-1946__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
}

@media (min-width: 768px) {
    .p-top-1946__text-box {
        top: calc(230 / 1000 * 100vw);
        right: calc(-60 / 1000 * 100vw);
        left: inherit;
    }
}

@media (min-width: 1000px) {
    .p-top-1946__text-box {
        top: 230px;
        right: -60px;
    }
}

.p-top-1946__img01 {
    position: absolute;
    top: calc(95 / 375 * 100vw);
    left: calc(60 / 375 * 100vw);
    z-index: 40;
    width: calc(287 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1946__img01 {
        top: 95px;
        left: 60px;
        width: 287px;
    }
}

@media (min-width: 768px) {
    .p-top-1946__img01 {
        top: calc(-50 / 1000 * 100vw);
        right: calc(-30 / 1000 * 100vw);
        left: inherit;
        width: calc(409 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1946__img01 {
        top: -50px;
        right: -30px;
        width: 409px;
    }
}

.p-top-1946__img02 {
    position: absolute;
    top: calc(310 / 375 * 100vw);
    left: calc(55 / 375 * 100vw);
    z-index: 30;
    width: calc(110 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1946__img02 {
        top: 310px;
        left: 55px;
        width: 110px;
    }
}

@media (min-width: 768px) {
    .p-top-1946__img02 {
        top: calc(262 / 1000 * 100vw);
        left: calc(7 / 1000 * 100vw);
        width: calc(159 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1946__img02 {
        top: 262px;
        left: 7px;
        width: 159px;
    }
}

.p-top-1946__img03 {
    position: absolute;
    top: calc(390 / 375 * 100vw);
    left: calc(30 / 375 * 100vw);
    z-index: 20;
    width: calc(153 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1946__img03 {
        top: 390px;
        left: 30px;
        width: 153px;
    }
}

@media (min-width: 768px) {
    .p-top-1946__img03 {
        top: calc(391 / 1000 * 100vw);
        left: calc(-18 / 1000 * 100vw);
        width: calc(219 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1946__img03 {
        top: 391px;
        left: -18px;
        width: 219px;
    }
}

.p-top-1946__img04 {
    position: absolute;
    top: calc(274 / 375 * 100vw);
    left: calc(128 / 375 * 100vw);
    z-index: 10;
    width: calc(190 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1946__img04 {
        top: 274px;
        left: 128px;
        width: 190px;
    }
}

@media (min-width: 768px) {
    .p-top-1946__img04 {
        top: calc(212 / 1000 * 100vw);
        left: calc(115 / 1000 * 100vw);
        width: calc(271 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1946__img04 {
        top: 212px;
        left: 115px;
        width: 271px;
    }
}

.p-top-1946-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1954
 * ---------------------------------- */
.p-top-1954 {
    position: relative;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1954 {
        padding-bottom: 150px;
    }
}

.p-top-1954__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1954__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1954__inner {
        display: flex;
        column-gap: calc(116 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1954__inner {
        column-gap: 116px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1954__primary {
    position: relative;
    z-index: 11;
}

@media (min-width: 768px) {
    .p-top-1954__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1954__primary {
        width: 360px;
    }
}

.p-top-1954__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(-30 / 375 * 100vw);
    height: calc(340 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1954__secondary {
        margin-top: -30px;
        height: 340px;
    }
}

@media (min-width: 768px) {
    .p-top-1954__secondary {
        flex-shrink: 0;
        margin-top: calc(10 / 1000 * 100vw);
        width: calc(475 / 1000 * 100vw);
        height: calc(406 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1954__secondary {
        margin-top: 10px;
        width: 475px;
        height: 406px;
    }
}

.p-top-1954__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1954__secondary-inner {
        width: 332px;
    }
}

@media (min-width: 768px) {
    .p-top-1954__secondary-inner {
        width: 100%;
    }
}

@media (min-width: 1000px) {
    .p-top-1954__secondary-inner {
        width: 463px;
    }
}

.p-top-1954__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1954__text-box {
        top: calc(198 / 1000 * 100vw);
        left: 0;
    }
}

@media (min-width: 1000px) {
    .p-top-1954__text-box {
        top: 198px;
        left: 0;
    }
}

.p-top-1954__img01 {
    position: absolute;
    top: calc(148 / 375 * 100vw);
    z-index: 10;
    margin-right: calc(20 / 375 * 100vw);
    margin-left: calc(20 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1954__img01 {
        top: 148px;
        margin-right: 20px;
        margin-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1954__img01 {
        top: 0;
        margin-right: 0;
        margin-left: calc(60 / 1000 * 100vw);
        width: fit-content;
    }
}

@media (min-width: 1000px) {
    .p-top-1954__img01 {
        margin-right: 0;
        margin-left: 60px;
    }
}

.p-top-1954-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1955
 * ---------------------------------- */
.p-top-1955 {
    position: relative;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1955 {
        padding-bottom: 100px;
    }
}

.p-top-1955__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1955__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1955__inner {
        display: flex;
        column-gap: calc(40 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1955__inner {
        column-gap: 40px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1955__primary {
    position: relative;
    z-index: 12;
}

@media (min-width: 768px) {
    .p-top-1955__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1955__primary {
        width: 360px;
    }
}

.p-top-1955__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(-30 / 375 * 100vw);
    height: calc(340 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1955__secondary {
        margin-top: -30px;
        height: 340px;
    }
}

@media (min-width: 768px) {
    .p-top-1955__secondary {
        margin-top: 0;
        width: calc(480 / 1000 * 100vw);
        height: calc(420 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1955__secondary {
        width: 480px;
        height: 420px;
    }
}

.p-top-1955__secondary::before {
    position: absolute;
    top: calc(30 / 375 * 100vw);
    left: -20px;
    transform: scale(var(--scale, 0));
    transform-origin: center;
    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn01.webp);
    background-position: center;
    background-size: 542px auto;
    background-repeat: no-repeat;
    width: calc(100% + 40px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-1955__secondary::before {
        top: calc(-120 / 1000 * 100vw);
        left: calc(-170 / 1000 * 100vw);
        background-size: calc(773 / 1000 * 100vw) auto;
        width: calc(773 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1955__secondary::before {
        top: -120px;
        left: -170px;
        background-size: 773px auto;
        width: 773px;
    }
}

.p-top-1955__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1955__secondary-inner {
        width: 332px;
    }
}

@media (min-width: 768px) {
    .p-top-1955__secondary-inner {
        width: 100%;
    }
}

.p-top-1955__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
}

@media (min-width: 768px) {
    .p-top-1955__text-box {
        top: calc(252 / 1000 * 100vw);
        right: calc(-29 / 1000 * 100vw);
        left: inherit;
    }
}

@media (min-width: 1000px) {
    .p-top-1955__text-box {
        top: 252px;
        right: -29px;
    }
}

.p-top-1955__img01 {
    position: absolute;
    top: calc(130 / 375 * 100vw);
    left: calc(14 / 375 * 100vw);
    z-index: 40;
    width: calc(308 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1955__img01 {
        top: 130px;
        left: 14px;
        width: 308px;
    }
}

@media (min-width: 768px) {
    .p-top-1955__img01 {
        top: calc(20 / 1000 * 100vw);
        right: 0;
        left: inherit;
        width: calc(451 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1955__img01 {
        top: 20px;
        right: 0;
        width: 451px;
    }
}

.p-top-1955-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1966
 * ---------------------------------- */
.p-top-1966 {
    position: relative;
    padding-bottom: 70px;
}

@media (min-width: 768px) {
    .p-top-1966 {
        padding-bottom: 150px;
    }
}

.p-top-1966__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1966__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1966__inner {
        display: flex;
        column-gap: calc(130 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1966__inner {
        column-gap: 130px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1966__primary {
    position: relative;
    z-index: 11;
}

@media (min-width: 768px) {
    .p-top-1966__primary {
        flex-shrink: 0;
        margin-top: calc(30 / 1000 * 100vw);
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1966__primary {
        margin-top: 30px;
        width: 360px;
    }
}

.p-top-1966__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(-30 / 375 * 100vw);
    height: calc(454 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1966__secondary {
        margin-top: -30px;
        height: 454px;
    }
}

@media (min-width: 768px) {
    .p-top-1966__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(414 / 1000 * 100vw);
        height: calc(560 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1966__secondary {
        margin-top: 0;
        width: 414px;
        height: 560px;
    }
}

.p-top-1966__secondary-inner {
    position: relative;
    margin: 0 auto calc(18 / 375 * 100vw);
    width: 100%;
    height: calc(292 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1966__secondary-inner {
        margin-bottom: 18px;
        width: 332px;
        height: 292px;
    }
}

@media (min-width: 768px) {
    .p-top-1966__secondary-inner {
        margin-bottom: 0;
        width: 100%;
        height: calc(376 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1966__secondary-inner {
        width: 463px;
        height: 376px;
    }
}

.p-top-1966__secondary-inner02 {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: calc(161 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1966__secondary-inner02 {
        width: 332px;
        height: 161px;
    }
}

@media (min-width: 768px) {
    .p-top-1966__secondary-inner02 {
        width: calc(414 / 1000 * 100vw);
        height: calc(184 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1966__secondary-inner02 {
        width: 414px;
        height: 184px;
    }
}

.p-top-1966__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1966__text-box {
        top: 0;
        left: 0;
    }
}

@media (min-width: 1000px) {
    .p-top-1966__text-box {
        top: 0;
        left: 0;
    }
}

.p-top-1966__text-box02 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1966__text-box02 {
        top: 0;
        right: 0;
    }
}

@media (min-width: 1000px) {
    .p-top-1966__text-box02 {
        top: 0;
        right: 0;
    }
}

.p-top-1966__img01 {
    position: absolute;
    top: calc(139 / 375 * 100vw);
    z-index: 10;
    margin-right: calc(20 / 375 * 100vw);
    margin-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1966__img01 {
        top: 139px;
        margin-right: 20px;
        margin-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1966__img01 {
        top: calc(151 / 1000 * 100vw);
        margin-right: 0;
        margin-left: calc(58 / 1000 * 100vw);
        width: calc(386 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1966__img01 {
        top: 151px;
        margin-right: 0;
        margin-left: 58px;
        width: 386px;
    }
}

.p-top-1966__img02 {
    position: absolute;
    top: calc(8 / 375 * 100vw);
    z-index: 10;
    mix-blend-mode: multiply;
    margin-right: 0;
    margin-left: 0;
    width: calc(171 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1966__img02 {
        top: 8px;
        margin-right: 0;
        margin-left: 0;
        width: 171px;
    }
}

@media (min-width: 768px) {
    .p-top-1966__img02 {
        top: calc(-18 / 1000 * 100vw);
        margin-right: 0;
        margin-left: 0;
        width: calc(244 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1966__img02 {
        top: -18px;
        margin-right: 0;
        margin-left: 0;
        width: 244px;
    }
}

.p-top-1966-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1973
 * ---------------------------------- */
.p-top-1973 {
    position: relative;
    padding-top: 70px;
    padding-bottom: 50px;
}

@media (min-width: 768px) {
    .p-top-1973 {
        padding-bottom: 90px;
    }
}

.p-top-1973__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1973__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1973__inner {
        display: flex;
        column-gap: calc(109 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1973__inner {
        column-gap: 109px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1973__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(26 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1973__primary {
        margin-bottom: 26px;
    }
}

@media (min-width: 768px) {
    .p-top-1973__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(387 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973__primary {
        width: 387px;
    }
}

.p-top-1973__secondary {
    position: relative;
    z-index: 11;
    height: calc(282 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1973__secondary {
        height: 282px;
    }
}

@media (min-width: 768px) {
    .p-top-1973__secondary {
        flex-shrink: 0;
        width: calc(412 / 1000 * 100vw);
        height: calc(430 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973__secondary {
        width: 412px;
        height: 430px;
    }
}

.p-top-1973__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(332 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1973__secondary-inner {
        width: 332px;
    }
}

@media (min-width: 768px) {
    .p-top-1973__secondary-inner {
        width: 100%;
    }
}

.p-top-1973__text-box {
    position: absolute;
    top: calc(146 / 375 * 100vw);
    left: 0;
    z-index: 30;
}

@media (min-width: 375px) {
    .p-top-1973__text-box {
        top: 146px;
        left: 0;
    }
}

@media (min-width: 768px) {
    .p-top-1973__text-box {
        top: calc(246 / 1000 * 100vw);
        left: calc(-20 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973__text-box {
        top: 246px;
        left: -20px;
    }
}

.p-top-1973__img01 {
    position: absolute;
    top: 0;
    right: calc(7 / 375 * 100vw);
    z-index: 20;
    width: calc(259 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1973__img01 {
        right: 7px;
        width: 259px;
    }
}

@media (min-width: 768px) {
    .p-top-1973__img01 {
        right: 0;
        width: calc(391 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973__img01 {
        width: 391px;
    }
}

.p-top-1973__img02 {
    position: absolute;
    top: calc(180 / 375 * 100vw);
    right: calc(7 / 375 * 100vw);
    z-index: 10;
    mix-blend-mode: multiply;
    width: calc(155 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1973__img02 {
        top: 180px;
        right: 7px;
        width: 155px;
    }
}

@media (min-width: 768px) {
    .p-top-1973__img02 {
        top: calc(257 / 1000 * 100vw);
        right: 0;
        width: calc(221 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973__img02 {
        top: 257px;
        right: 0;
        width: 221px;
    }
}

.p-top-1973-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(201, 188, 156, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1973-02
 * ---------------------------------- */
.p-top-1973-02 {
    position: relative;
    margin-top: calc(95 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1973-02 {
        margin-top: 95px;
    }
}

@media (min-width: 768px) {
    .p-top-1973-02 {
        padding-bottom: 150px;
    }
}

.p-top-1973-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1973-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1973-02__inner {
        display: flex;
        column-gap: calc(75 / 1000 * 100vw);
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(16 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1973-02__inner {
        column-gap: 75px;
        padding-right: 60px;
        padding-left: 16px;
    }
}

.p-top-1973-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-top-1973-02__primary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973-02__primary {
        width: 360px;
    }
}

.p-top-1973-02__secondary {
    position: relative;
    z-index: 11;
    height: calc(320 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1973-02__secondary {
        height: 320px;
    }
}

@media (min-width: 768px) {
    .p-top-1973-02__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(469 / 1000 * 100vw);
        height: calc(457 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973-02__secondary {
        width: 469px;
        height: 457px;
    }
}

.p-top-1973-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(328 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1973-02__secondary-inner {
        width: 328px;
    }
}

@media (min-width: 768px) {
    .p-top-1973-02__secondary-inner {
        width: 100%;
    }
}

.p-top-1973-02__img01 {
    position: absolute;
    top: 0;
    left: calc(66 / 375 * 100vw);
    z-index: 10;
    width: calc(200 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1973-02__img01 {
        top: 0;
        left: 66px;
        width: 200px;
    }
}

@media (min-width: 768px) {
    .p-top-1973-02__img01 {
        left: calc(50 / 1000 * 100vw);
        width: calc(286 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973-02__img01 {
        left: 50px;
        width: 286px;
    }
}

.p-top-1973-02__img02 {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 10;
    width: calc(161 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1973-02__img02 {
        bottom: 0;
        left: 0;
        width: 161px;
    }
}

@media (min-width: 768px) {
    .p-top-1973-02__img02 {
        left: 0;
        width: calc(230 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973-02__img02 {
        left: 0;
        width: 230px;
    }
}

.p-top-1973-02__img03 {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
    width: calc(161 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1973-02__img03 {
        right: 0;
        bottom: 0;
        width: 161px;
    }
}

@media (min-width: 768px) {
    .p-top-1973-02__img03 {
        right: 0;
        width: calc(230 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1973-02__img03 {
        right: 0;
        width: 230px;
    }
}

/* ----------------------------------
 * 1981
 * ---------------------------------- */
.p-top-1981 {
    position: relative;
}

.p-top-1981__inner {
    padding-right: 20px;
    padding-left: 20px;
}

@media (min-width: 768px) {
    .p-top-1981__inner {
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1981__inner {
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1981__head {
    position: relative;
    z-index: 100;
    margin-bottom: 95px;
}

.p-top-1981__change-wrap {
    position: relative;
}

.p-top-1981__change {
    display: grid;
    position: relative;
    place-content: center;
    z-index: 100;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #323333;
    width: 245px;
    height: 245px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-top-1981__change {
        width: calc(350 / 1000 * 100vw);
        height: calc(350 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__change {
        width: 350px;
        height: 350px;
    }
}

.p-top-1981__video-container {
    display: block;
    position: absolute;
    top: 10px;
    right: -20px;
    left: -20px;
    width: calc(100% + 40px);
}

@media (min-width: 768px) {
    .p-top-1981__video-container {
        display: block;
        position: absolute;
        top: calc(10 / 1000 * 100vw);
        right: inherit;
        left: calc(-195 / 1000 * 100vw);
        width: calc(1280 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__video-container {
        top: 10px;
        left: -195px;
        width: 1280px;
    }
}

.p-top-1981__video-background {
    transform: translateZ(0);
    mix-blend-mode: multiply;
    will-change: filter, transform;
    background-color: transparent !important;
    background: transparent !important;
    width: 100%;
    height: 225px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .p-top-1981__video-background {
        height: calc(330 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__video-background {
        height: 330px;
    }
}

.p-top-1981__change-img {
    margin: 0 auto 32px;
    width: 100%;
    max-width: 140px;
    height: auto;
}

@media (min-width: 768px) {
    .p-top-1981__change-img {
        max-width: calc(204 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__change-img {
        max-width: 204px;
    }
}

.p-top-1981__change-text {
    color: #fff;
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-1981__change-text {
        font-size: 1.6rem;
    }
}

@media (min-width: 768px) {
    .p-top-1981__change-text {
        font-size: calc(24 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__change-text {
        font-size: 2.4rem;
    }
}

.p-top-1981__body {
    position: relative;
    margin-top: var(--pin-gap02, 1350px);
    padding-bottom: 80px;
}

@media (min-width: 768px) {
    .p-top-1981__body {
        padding-bottom: calc(85 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__body {
        padding-bottom: 85px;
    }
}

@media (min-width: 768px) {
    .p-top-1981__body-inner {
        display: flex;
        column-gap: calc(138 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__body-inner {
        column-gap: 138px;
    }
}

.p-top-1981__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-1981__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__primary {
        width: 360px;
    }
}

.p-top-1981__secondary {
    position: relative;
    margin-top: calc(30 / 375 * 100vw);
    height: calc(182 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1981__secondary {
        margin-top: 30px;
        height: 182px;
    }
}

@media (min-width: 768px) {
    .p-top-1981__secondary {
        flex-shrink: 0;
        margin-top: calc(102 / 1000 * 100vw);
        width: calc(385 / 1000 * 100vw);
        height: calc(209 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1981__secondary {
        margin-top: 102px;
        width: 385px;
        height: 209px;
    }
}

.p-top-1981__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1981__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1981__secondary-inner {
        width: 100%;
    }
}

.p-top-1981__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1981__img01 {
        top: 0;
        left: 0;
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1981__img01 {
        width: 100%;
    }
}

/* ----------------------------------
 * 1985
 * ---------------------------------- */
.p-top-1985 {
    position: relative;
}

.p-top-1985__inner {
    margin-bottom: calc(40 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1985__inner {
        margin-bottom: 40px;
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__inner {
        display: flex;
        column-gap: calc(125 / 1000 * 100vw);
        flex-direction: row-reverse;
        justify-content: flex-end;
        margin: 0 auto calc(100 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1985__inner {
        column-gap: 125px;
        margin-bottom: 100px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1985__primary {
    position: relative;
    z-index: 11;
}

@media (min-width: 768px) {
    .p-top-1985__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__primary {
        width: 360px;
    }
}

.p-top-1985__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(30 / 375 * 100vw);
    height: calc(311 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1985__secondary {
        margin-top: 30px;
        height: 311px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(392 / 1000 * 100vw);
        height: calc(424 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__secondary {
        width: 392px;
        height: 424px;
    }
}

.p-top-1985__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1985__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__secondary-inner {
        width: 100%;
    }
}

.p-top-1985__text-box {
    position: absolute;
    top: calc(155 / 375 * 100vw);
    right: 0;
    z-index: 20;
}

@media (min-width: 375px) {
    .p-top-1985__text-box {
        top: 155px;
        right: 0;
    }
}

@media (min-width: 768px) {
    .p-top-1985__text-box {
        top: calc(220 / 1000 * 100vw);
        left: calc(229 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__text-box {
        top: 220px;
        left: 229px;
    }
}

.p-top-1985__img01 {
    position: absolute;
    top: 0;
    right: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(274 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1985__img01 {
        top: 0;
        right: -20px;
        width: 274px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__img01 {
        top: 0;
        right: inherit;
        left: 0;
        width: calc(392 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__img01 {
        width: 392px;
    }
}

.p-top-1985__img02 {
    position: absolute;
    top: calc(191 / 375 * 100vw);
    left: calc(-20 / 375 * 100vw);
    width: calc(144 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1985__img02 {
        top: 191px;
        left: -20px;
        width: 144px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__img02 {
        top: calc(272 / 1000 * 100vw);
        left: 0;
        width: calc(205 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__img02 {
        top: 272px;
        left: 0;
        width: 205px;
    }
}

.p-top-1985-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(193, 206, 203, 1) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

.p-top-1985__inner02 {
    margin-bottom: calc(105 / 375 * 100vw);
    padding-right: 0;
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1985__inner02 {
        margin-bottom: 105px;
        padding-right: 0;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__inner02 {
        margin: 0 auto calc(130 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(192 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1985__inner02 {
        margin: 0 auto 130px;
        padding-right: 60px;
        padding-left: 192px;
    }
}

.p-top-1985__third {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(188 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1985__third {
        margin-top: 0;
        height: 188px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__third {
        margin-top: 0;
        width: calc(493 / 1000 * 100vw);
        height: calc(265 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__third {
        width: 493px;
        height: 265px;
    }
}

.p-top-1985__third-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1985__third-inner {
        width: 355px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__third-inner {
        width: 100%;
    }
}

.p-top-1985__img03 {
    position: absolute;
    top: calc(53 / 375 * 100vw);
    right: 0;
    z-index: 10;
    width: calc(340 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1985__img03 {
        top: 53px;
        right: 0;
        width: 215px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__img03 {
        top: calc(43 / 1000 * 100vw);
        right: 0;
        left: calc(142 / 1000 * 100vw);
        width: calc(340 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__img03 {
        top: 43px;
        left: 142px;
        width: 340px;
    }
}

.p-top-1985__text-box02 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-1985__text-box02 {
        top: 0;
        left: 0;
    }
}

@media (min-width: 1000px) {
    .p-top-1985__text-box02 {
        left: 0;
    }
}

.p-top-1985__inner03 {
    margin-bottom: 0;
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1985__inner03 {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__inner03 {
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1985__inner03 {
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1985__img04 {
    position: relative;
    z-index: 11;
    margin: 0 auto;
    box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
    width: 100%;
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1985__img04 {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1985__img04 {
        width: calc(538 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985__img04 {
        width: 538px;
    }
}

/* ----------------------------------
 * 1985-02
 * ---------------------------------- */
.p-top-1985-02 {
    position: relative;
    z-index: 100;
    padding-bottom: 60px;
}

@media (min-width: 768px) {
    .p-top-1985-02 {
        padding-bottom: calc(50 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1985-02 {
        padding-bottom: 50px;
    }
}

/* ----------------------------------
 * 1989
 * ---------------------------------- */
.p-top-1989 {
    position: relative;
    padding-bottom: 0;
}

@media (min-width: 768px) {
    .p-top-1989 {
        padding-bottom: 0;
    }
}

.p-top-1989__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-bottom: calc(70 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1989__inner {
        padding-right: 20px;
        padding-bottom: 70px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1989__inner {
        display: flex;
        column-gap: calc(129 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1989__inner {
        column-gap: 129px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1989__primary {
    position: relative;
    z-index: 11;
}

@media (min-width: 768px) {
    .p-top-1989__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1989__primary {
        width: 360px;
    }
}

.p-top-1989__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(30 / 375 * 100vw);
    height: calc(342 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1989__secondary {
        margin-top: 30px;
        height: 342px;
    }
}

@media (min-width: 768px) {
    .p-top-1989__secondary {
        flex-shrink: 0;
        transform: translateX(calc(-30 / 1000 * 100vw));
        margin-top: 0;
        width: calc(414 / 1000 * 100vw);
        height: calc(467 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1989__secondary {
        transform: translateX(-30px);
        width: 414px;
        height: 467px;
    }
}

.p-top-1989__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1989__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1989__secondary-inner {
        width: 100%;
    }
}

.p-top-1989__text-box {
    position: absolute;
    top: calc(160 / 375 * 100vw);
    right: 0;
    z-index: 20;
}

@media (min-width: 375px) {
    .p-top-1989__text-box {
        top: 160px;
        right: 0;
    }
}

@media (min-width: 768px) {
    .p-top-1989__text-box {
        top: calc(230 / 1000 * 100vw);
        left: calc(147 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1989__text-box {
        top: 230px;
        left: 147px;
    }
}

.p-top-1989__img01 {
    position: absolute;
    top: 0;
    right: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(189 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1989__img01 {
        top: 0;
        right: -20px;
        width: 189px;
    }
}

@media (min-width: 768px) {
    .p-top-1989__img01 {
        top: 0;
        right: inherit;
        left: calc(144 / 1000 * 100vw);
        width: calc(270 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1989__img01 {
        left: 144px;
        width: 270px;
    }
}

.p-top-1989__img02 {
    position: absolute;
    top: calc(130 / 375 * 100vw);
    left: calc(55 / 375 * 100vw);
    z-index: 10;
    width: calc(157 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1989__img02 {
        top: 130px;
        left: 55px;
        width: 157px;
    }
}

@media (min-width: 768px) {
    .p-top-1989__img02 {
        top: calc(175 / 1000 * 100vw);
        left: 0;
        width: calc(224 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1989__img02 {
        top: 175px;
        left: 0;
        width: 224px;
    }
}

.p-top-1989-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(193, 206, 203, 1) 50%, rgba(193, 206, 203, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 1990
 * ---------------------------------- */
.p-top-1990 {
    position: relative;
    padding-top: 0;
    padding-bottom: 85px;
}

@media (min-width: 768px) {
    .p-top-1990 {
        padding-bottom: 125px;
    }
}

.p-top-1990__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1990__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-1990__inner {
        display: flex;
        column-gap: calc(32 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-1990__inner {
        column-gap: 32px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-1990__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(26 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-1990__primary {
        margin-bottom: 26px;
    }
}

@media (min-width: 768px) {
    .p-top-1990__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(387 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1990__primary {
        width: 387px;
    }
}

.p-top-1990__secondary {
    position: relative;
    z-index: 11;
    margin-right: calc(-20 / 375 * 100vw);
    margin-left: calc(-20 / 375 * 100vw);
    height: calc(138 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-1990__secondary {
        margin-right: -20px;
        margin-left: -20px;
        height: 138px;
    }
}

@media (min-width: 768px) {
    .p-top-1990__secondary {
        flex-shrink: 0;
        margin-top: calc(145 / 1000 * 100vw);
        margin-right: 0;
        margin-left: 0;
        width: calc(548 / 1000 * 100vw);
        height: calc(225 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1990__secondary {
        margin-top: 145px;
        width: 548px;
        height: 225px;
    }
}

.p-top-1990__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(335 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-1990__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1990__secondary-inner {
        width: 100%;
    }
}

.p-top-1990__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
    width: 100%;
    height: auto;
}

@media (min-width: 375px) {
    .p-top-1990__img01 {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-1990__img01 {
        width: calc(548 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-1990__img01 {
        width: 548px;
    }
}

.p-top-1990-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(193, 206, 203, 1) 0%, rgba(193, 206, 203, 1) 50%, rgba(193, 206, 203, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2000
 * ---------------------------------- */
.p-top-2000 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(125 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2000 {
        padding-bottom: 125px;
    }
}

@media (min-width: 768px) {
    .p-top-2000 {
        padding-bottom: calc(158 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2000 {
        padding-bottom: 158px;
    }
}

.p-top-2000__inner {
    margin-bottom: calc(105 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2000__inner {
        margin-bottom: 105px;
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__inner {
        display: flex;
        column-gap: calc(115 / 1000 * 100vw);
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto calc(145 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2000__inner {
        column-gap: 115px;
        margin: 0 auto 145px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2000__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2000__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__primary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2000__primary {
        width: 360px;
    }
}

.p-top-2000__secondary {
    position: relative;
    z-index: 11;
    height: calc(135 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2000__secondary {
        height: 135px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(382 / 1000 * 100vw);
        height: calc(193 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2000__secondary {
        width: 382px;
        height: 193px;
    }
}

.p-top-2000__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(328 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2000__secondary-inner {
        width: 328px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__secondary-inner {
        width: 100%;
    }
}

.p-top-2000__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: calc(268 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2000__img01 {
        width: 268px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__img01 {
        left: 0;
        width: calc(382 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2000__img01 {
        width: 382px;
    }
}

.p-top-2000__inner02 {
    margin-bottom: 0;
    padding-right: calc(15 / 375 * 100vw);
    padding-left: calc(15 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2000__inner02 {
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__inner02 {
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2000__inner02 {
        margin: 0 auto;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2000__third {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(166 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2000__third {
        margin-top: 0;
        height: 166px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__third {
        transform: translateX(calc(22 / 1000 * 100vw));
        margin: 0 auto;
        width: calc(443 / 1000 * 100vw);
        height: calc(236 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2000__third {
        transform: translateX(22px);
        width: 443px;
        height: 236px;
    }
}

.p-top-2000__third-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2000__third-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__third-inner {
        width: 100%;
    }
}

.p-top-2000__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2000__text-box {
        top: calc(30 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2000__text-box {
        top: 30px;
    }
}

.p-top-2000__img02 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    width: calc(166 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2000__img02 {
        top: 0;
        right: 0;
        width: 166px;
    }
}

@media (min-width: 768px) {
    .p-top-2000__img02 {
        top: 0;
        right: 0;
        width: calc(236 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2000__img02 {
        top: 0;
        width: 236px;
    }
}

.p-top-2000-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(193, 206, 203, 1) 0%, rgba(193, 206, 203, 1) 50%, rgba(255, 255, 255, 0) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2007
 * ---------------------------------- */
.p-top-2007 {
    position: relative;
    padding-bottom: 150px;
}

@media (min-width: 768px) {
    .p-top-2007 {

        padding-bottom: 220px;
    }
}

.p-top-2007__inner {
    margin-bottom: calc(80 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2007__inner {
        margin-bottom: 80px;
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__inner {
        display: flex;
        column-gap: calc(47 / 1000 * 100vw);
        flex-direction: row-reverse;
        justify-content: flex-end;
        margin: 0 auto calc(89 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2007__inner {
        column-gap: 47px;
        margin-bottom: 89px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2007__primary {
    position: relative;
    z-index: 12;
}

@media (min-width: 768px) {
    .p-top-2007__primary {
        flex-shrink: 0;
        width: calc(380 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__primary {
        width: 380px;
    }
}

.p-top-2007__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(24 / 375 * 100vw);
    height: calc(313 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2007__secondary {
        margin-top: 24px;
        height: 313px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(453 / 1000 * 100vw);
        height: calc(447 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__secondary {
        width: 453px;
        height: 447px;
    }
}

.p-top-2007__secondary::before {
    position: absolute;
    top: 0;
    left: calc(-105 / 375 * 100vw);
    transform: scale(var(--scale, 0));
    transform-origin: center;
    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn02.webp);
    background-position: center;
    background-size: 528px auto;
    background-repeat: no-repeat;
    width: calc(100% + 193px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-2007__secondary::before {
        top: 0;
        left: calc(-240 / 1000 * 100vw);
        background-size: calc(754 / 1000 * 100vw) auto;
        width: calc(754 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__secondary::before {
        top: 0;
        left: -240px;
        background-size: 754px auto;
        width: 754px;
    }
}

.p-top-2007__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2007__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__secondary-inner {
        width: 100%;
    }
}

.p-top-2007__text-box {
    position: absolute;
    top: calc(66 / 375 * 100vw);
    right: 0;
    z-index: 50;
}

@media (min-width: 375px) {
    .p-top-2007__text-box {
        top: 66px;
        right: 0;
    }
}

@media (min-width: 768px) {
    .p-top-2007__text-box {
        top: calc(132 / 1000 * 100vw);
        right: 0;
        left: inherit;
    }
}

@media (min-width: 1000px) {
    .p-top-2007__text-box {
        top: 132px;
        right: 0;
    }
}

.p-top-2007__img01 {
    position: absolute;
    top: 0;
    left: calc(64 / 375 * 100vw);
    z-index: 40;
    width: calc(157 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2007__img01 {
        top: 0;
        left: 64px;
        width: 157px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__img01 {
        top: 0;
        left: calc(91 / 1000 * 100vw);
        width: calc(224 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__img01 {
        top: 0;
        left: 91px;
        width: 224px;
    }
}

.p-top-2007__img02 {
    position: absolute;
    top: calc(116 / 375 * 100vw);
    left: 0;
    z-index: 30;
    width: calc(169 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2007__img02 {
        top: 116px;
        left: 0;
        width: 169px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__img02 {
        top: calc(165 / 1000 * 100vw);
        left: 0;
        width: calc(241 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__img02 {
        top: 165px;
        left: 0;
        width: 241px;
    }
}

.p-top-2007__img03 {
    position: absolute;
    top: calc(206 / 375 * 100vw);
    left: calc(95 / 375 * 100vw);
    z-index: 40;
    width: calc(165 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2007__img03 {
        top: 206px;
        left: 95px;
        width: 165px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__img03 {
        top: calc(294 / 1000 * 100vw);
        left: calc(138 / 1000 * 100vw);
        width: calc(235 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__img03 {
        top: 294px;
        left: 138px;
        width: 235px;
    }
}

.p-top-2007-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(193, 206, 203, 1) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

.p-top-2007__inner02 {
    margin-bottom: calc(80 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2007__inner02 {
        margin-bottom: 80px;
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__inner02 {
        margin: 0 auto calc(85 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(208 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2007__inner02 {
        margin: 0 auto 85px;
        padding-right: 60px;
        padding-left: 208px;
    }
}

.p-top-2007__third {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(227 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2007__third {
        margin-top: 0;
        height: 227px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__third {
        margin-top: 0;
        width: calc(460 / 1000 * 100vw);
        height: calc(300 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__third {
        width: 460px;
        height: 300px;
    }
}

.p-top-2007__third-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2007__third-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__third-inner {
        width: 100%;
    }
}

.p-top-2007__img04 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    width: calc(230 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2007__img04 {
        top: 0;
        right: 0;
        width: 230px;
    }
}

@media (min-width: 768px) {
    .p-top-2007__img04 {
        top: calc(68 / 1000 * 100vw);
        right: 0;
        width: calc(325 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__img04 {
        top: 68px;
        width: 325px;
    }
}

.p-top-2007__text-box02 {
    position: absolute;
    top: calc(65 / 375 * 100vw);
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2007__text-box02 {
        top: 0;
        left: 0;
    }
}

.p-top-2007__truck {
    position: relative;
    transform: translateZ(0);
    z-index: 120;
    will-change: transform;
    isolation: isolate;
}

.p-top-2007__truck-img {
    width: 168px;
    height: auto;
}

@media (min-width: 768px) {
    .p-top-2007__truck-img {
        width: calc(277 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2007__truck-img {
        width: 277px;
    }
}

/* ----------------------------------
 * 2008
 * ---------------------------------- */
.p-top-2008 {
    position: relative;
}

.p-top-2008__inner {
    padding-right: 20px;
    padding-left: 20px;
}

@media (min-width: 768px) {
    .p-top-2008__inner {
        margin: 0 auto;
        padding-right: calc(50 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2008__inner {
        padding-right: 50px;
        padding-left: 60px;
    }
}

.p-top-2008__head {
    position: relative;
    z-index: 100;
    margin-bottom: 95px;
}

.p-top-2008__change-wrap {
    position: relative;
}

.p-top-2008__change {
    display: grid;
    position: relative;
    place-content: center;
    z-index: 100;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #323333;
    width: 245px;
    height: 245px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-top-2008__change {
        width: calc(350 / 1000 * 100vw);
        height: calc(350 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__change {
        width: 350px;
        height: 350px;
    }
}

.p-top-2008__video-container {
    display: block;
    position: absolute;
    top: 10px;
    right: -20px;
    left: -20px;
    width: calc(100% + 40px);
}

@media (min-width: 768px) {
    .p-top-2008__video-container {
        display: block;
        position: absolute;
        top: calc(10 / 1000 * 100vw);
        right: inherit;
        left: calc(-195 / 1000 * 100vw);
        width: calc(1280 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__video-container {
        top: 10px;
        left: -195px;
        width: 1280px;
    }
}

.p-top-2008__video-background {
    transform: translateZ(0);
    mix-blend-mode: multiply;
    will-change: filter, transform;
    background-color: transparent !important;
    background: transparent !important;
    width: 100%;
    height: 225px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .p-top-2008__video-background {
        height: calc(330 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__video-background {
        height: 330px;
    }
}

.p-top-2008__change-img {
    margin: 0 auto 32px;
    width: 100%;
    max-width: 140px;
    height: auto;
}

@media (min-width: 768px) {
    .p-top-2008__change-img {
        max-width: calc(204 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__change-img {
        max-width: 204px;
    }
}

.p-top-2008__change-text {
    color: #fff;
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-2008__change-text {
        font-size: 1.6rem;
    }
}

@media (min-width: 768px) {
    .p-top-2008__change-text {
        font-size: calc(24 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__change-text {
        font-size: 2.4rem;
    }
}

.p-top-2008__body {
    position: relative;
    margin-top: var(--pin-gap03, 1350px);
    padding-bottom: 80px;
}

@media (min-width: 768px) {
    .p-top-2008__body {
        padding-bottom: calc(80 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__body {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2008__body-inner {
        display: flex;
        column-gap: calc(131 / 1000 * 100vw);
        flex-direction: row-reverse;
        justify-content: flex-end;
    }
}

@media (min-width: 1000px) {
    .p-top-2008__body-inner {
        column-gap: 131px;
    }
}

.p-top-2008__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-2008__primary {
        flex-shrink: 0;
        width: calc(260 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__primary {
        width: 260px;
    }
}

.p-top-2008__secondary {
    position: relative;
    flex-shrink: 0;
    margin-top: calc(30 / 375 * 100vw);
    height: calc(270 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2008__secondary {
        margin-top: 30px;
        height: 270px;
    }
}

@media (min-width: 768px) {
    .p-top-2008__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(396 / 1000 * 100vw);
        height: calc(376 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__secondary {
        width: 396px;
        height: 376px;
    }
}

.p-top-2008__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2008__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2008__secondary-inner {
        width: 100%;
    }
}

.p-top-2008__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 50;
}

@media (min-width: 768px) {
    .p-top-2008__text-box {
        top: 0;
        left: calc(26 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008__text-box {
        left: 26px;
    }
}

.p-top-2008__img01 {
    position: absolute;
    top: calc(100 / 375 * 100vw);
    right: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(278 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2008__img01 {
        top: 100px;
        right: -20px;
        width: 278px;
    }
}

@media (min-width: 768px) {
    .p-top-2008__img01 {
        top: calc(132 / 1000 * 100vw);
        right: inherit;
        left: 0;
        width: 100%;
    }
}

@media (min-width: 1000px) {
    .p-top-2008__img01 {
        top: 132px;
    }
}

/* ----------------------------------
 * 2008-02
 * ---------------------------------- */
.p-top-2008-02 {
    position: relative;
    padding-top: 0;
    padding-bottom: 50px;
}

@media (min-width: 768px) {
    .p-top-2008-02 {
        padding-bottom: calc(165 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02 {
        padding-bottom: 165px;
    }
}

.p-top-2008-02__inner {
    margin-bottom: calc(50 / 375 * 100vw);
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2008-02__inner {
        margin-bottom: 50px;
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__inner {
        display: flex;
        column-gap: calc(108 / 1000 * 100vw);
        margin: 0 auto calc(40 / 1000 * 100vw);
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__inner {
        column-gap: 108px;
        margin: 0 auto 40px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2008-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(26 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2008-02__primary {
        margin-bottom: 26px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__primary {
        width: 360px;
    }
}

.p-top-2008-02__secondary {
    position: relative;
    z-index: 11;
    height: calc(321 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2008-02__secondary {
        height: 321px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__secondary {
        flex-shrink: 0;
        width: calc(442 / 1000 * 100vw);
        height: calc(407 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__secondary {
        width: 442px;
        height: 407px;
    }
}

.p-top-2008-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(332 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2008-02__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2008-02__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2008-02__text-box {
        right: 0;
        left: inherit;
    }
}

.p-top-2008-02__img01 {
    position: absolute;
    top: calc(155 / 375 * 100vw);
    left: calc(10 / 375 * 100vw);
    z-index: 10;
    width: calc(309 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2008-02__img01 {
        top: 155px;
        left: 10px;
        width: 309px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__img01 {
        top: calc(170 / 1000 * 100vw);
        right: 0;
        left: inherit;
        width: calc(442 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__img01 {
        top: 170px;
        width: 442px;
    }
}

.p-top-2008-02-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(222, 200, 196, 0.5) 100%);
    width: 100vw;
    height: 100%;
}

.p-top-2008-02__inner02 {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2008-02__inner02 {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__inner02 {
        margin: 0 auto;
        padding-right: calc(123 / 1000 * 100vw);
        padding-left: calc(143 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__inner02 {
        margin: 0 auto;
        padding-right: 123px;
        padding-left: 143px;
    }
}

.p-top-2008-02__third {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(315 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2008-02__third {
        margin-top: 0;
        height: 315px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__third {
        margin-top: 0;
        width: calc(735 / 1000 * 100vw);
        height: calc(306 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__third {
        width: 735px;
        height: 306px;
    }
}

.p-top-2008-02__third-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2008-02__third-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__third-inner {
        width: 100%;
    }
}

.p-top-2008-02__img02 {
    position: absolute;
    top: 0;
    right: calc(62 / 375 * 100vw);
    z-index: 12;
    width: calc(121 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2008-02__img02 {
        top: 0;
        right: 62px;
        width: 121px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__img02 {
        right: calc(138 / 1000 * 100vw);
        width: calc(211 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__img02 {
        right: 138px;
        width: 211px;
    }
}

.p-top-2008-02__img03 {
    position: absolute;
    top: calc(26 / 375 * 100vw);
    left: 0;
    z-index: 11;
    width: calc(182 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2008-02__img03 {
        top: 26px;
        width: 182px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__img03 {
        top: calc(60 / 1000 * 100vw);
        left: calc(149 / 1000 * 100vw);
        width: calc(317 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__img03 {
        top: 60px;
        left: 149px;
        width: 317px;
    }
}

.p-top-2008-02__img04 {
    position: absolute;
    top: calc(100 / 375 * 100vw);
    right: 0;
    z-index: 10;
    width: calc(142 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2008-02__img04 {
        top: 100px;
        width: 142px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__img04 {
        top: calc(126 / 1000 * 100vw);
        right: 0;
        width: calc(247 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2008-02__img04 {
        top: 126px;
        width: 247px;
    }
}

.p-top-2008-02__text-box02 {
    position: absolute;
    top: calc(152 / 375 * 100vw);
    left: calc(3 / 375 * 100vw);
    z-index: 20;
}

@media (min-width: 375px) {
    .p-top-2008-02__text-box02 {
        top: 152px;
        left: 3px;
    }
}

@media (min-width: 768px) {
    .p-top-2008-02__text-box02 {
        top: 0;
        left: 0;
    }
}

/* ----------------------------------
 * 2009
 * ---------------------------------- */
.p-top-2009 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2009 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2009 {
        padding-bottom: calc(125 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2009 {
        padding-bottom: 125px;
    }
}

.p-top-2009__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-bottom: calc(80 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2009__inner {
        padding-right: 20px;
        padding-bottom: 80px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2009__inner {
        display: flex;
        column-gap: calc(193 / 1000 * 100vw);
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-bottom: calc(125 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2009__inner {
        column-gap: 193px;
        padding-right: 60px;
        padding-bottom: 125px;
        padding-left: 60px;
    }
}

.p-top-2009__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2009__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2009__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(240 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2009__primary {
        width: 240px;
    }
}

.p-top-2009__secondary {
    position: relative;
    z-index: 11;
    height: calc(180 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2009__secondary {
        height: 180px;
    }
}

@media (min-width: 768px) {
    .p-top-2009__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(382 / 1000 * 100vw);
        height: calc(257 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2009__secondary {
        width: 382px;
        height: 257px;
    }
}

.p-top-2009__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(268 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2009__secondary-inner {
        width: 268px;
    }
}

@media (min-width: 768px) {
    .p-top-2009__secondary-inner {
        width: 100%;
    }
}

.p-top-2009__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: calc(268 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2009__img01 {
        width: 268px;
    }
}

@media (min-width: 768px) {
    .p-top-2009__img01 {
        width: calc(382 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2009__img01 {
        width: 382px;
    }
}

.p-top-2009-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(222, 200, 196, 0.5) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2009-02
 * ---------------------------------- */
.p-top-2009-02 {
    position: relative;
    margin-top: 0;
    padding-bottom: 0;
}

.p-top-2009-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2009-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2009-02__inner {
        display: flex;
        column-gap: calc(87 / 1000 * 100vw);
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2009-02__inner {
        column-gap: 87px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2009-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2009-02__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2009-02__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(352 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2009-02__primary {
        width: 352px;
    }
}

.p-top-2009-02__secondary {
    position: relative;
    z-index: 11;
    height: calc(180 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2009-02__secondary {
        height: 180px;
    }
}

@media (min-width: 768px) {
    .p-top-2009-02__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(382 / 1000 * 100vw);
        height: calc(257 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2009-02__secondary {
        width: 382px;
        height: 257px;
    }
}

.p-top-2009-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(268 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2009-02__secondary-inner {
        width: 268px;
    }
}

@media (min-width: 768px) {
    .p-top-2009-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2009-02__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: calc(268 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2009-02__img01 {
        width: 268px;
    }
}

@media (min-width: 768px) {
    .p-top-2009-02__img01 {
        width: calc(382 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2009-02__img01 {
        width: 382px;
    }
}

/* ----------------------------------
 * 2011
 * ---------------------------------- */
.p-top-2011 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(100 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011 {
        padding-bottom: 100px;
    }
}

@media (min-width: 768px) {
    .p-top-2011 {
        padding-bottom: calc(166 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011 {
        padding-bottom: 166px;
    }
}

.p-top-2011__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-bottom: calc(32 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011__inner {
        padding-right: 20px;
        padding-bottom: 32px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__inner {
        display: flex;
        column-gap: calc(100 / 1000 * 100vw);
        flex-direction: row-reverse;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-bottom: calc(75 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2011__inner {
        column-gap: 100px;
        padding-right: 60px;
        padding-bottom: 75px;
        padding-left: 60px;
    }
}

.p-top-2011__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(362 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__primary {
        width: 362px;
    }
}

.p-top-2011__secondary {
    position: relative;
    z-index: 11;
    height: calc(161 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2011__secondary {
        height: 161px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(322 / 1000 * 100vw);
        height: calc(230 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__secondary {
        width: 322px;
        height: 230px;
    }
}

.p-top-2011__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(227 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2011__secondary-inner {
        width: 227px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__secondary-inner {
        width: 100%;
    }
}

.p-top-2011__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: calc(227 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011__img01 {
        width: 227px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__img01 {
        width: calc(322 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__img01 {
        width: 322px;
    }
}

.p-top-2011-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(222, 200, 196, 1) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

@media (min-width: 768px) {
    .p-top-2011-wrap01 {
        display: flex;
        column-gap: calc(100 / 1000 * 100vw);
        align-items: flex-start;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-bottom: calc(110 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }

    @media (min-width: 1000px) {
        .p-top-2011-wrap01 {
            column-gap: 100px;
            padding-right: 60px;
            padding-bottom: 110px;
            padding-left: 60px;
        }
    }
}

.p-top-2011__inner02 {
    position: relative;
    padding-right: calc(20 / 375 * 100vw);
    padding-bottom: calc(30 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011__inner02 {
        padding-right: 20px;
        padding-bottom: 30px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__inner02 {
        flex-shrink: 0;
        padding-right: 0;
        padding-bottom: 0;
        padding-left: 0;
        width: calc(413 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__inner02 {
        width: 413px;
    }
}

.p-top-2011__third {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(325 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2011__third {
        margin-top: 0;
        height: 325px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__third {
        width: calc(413 / 1000 * 100vw);
        height: calc(453 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__third {
        width: 413px;
        height: 453px;
    }
}

.p-top-2011__third-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2011__third-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__third-inner {
        width: 100%;
    }
}

.p-top-2011__text-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
}

.p-top-2011__img02 {
    position: absolute;
    top: calc(100 / 375 * 100vw);
    left: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(237 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2011__img02 {
        top: 100px;
        left: -20px;
        width: 237px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__img02 {
        top: calc(131 / 1000 * 100vw);
        left: 0;
        width: calc(338 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__img02 {
        top: 131px;
        width: 338px;
    }
}

.p-top-2011__img03 {
    position: absolute;
    top: calc(227 / 375 * 100vw);
    left: calc(98 / 375 * 100vw);
    z-index: 11;
    width: calc(171 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2011__img03 {
        top: 227px;
        left: 98px;
        width: 171px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__img03 {
        top: calc(310 / 1000 * 100vw);
        right: 0;
        left: inherit;
        width: calc(245 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__img03 {
        top: 310px;
        right: 0;
        width: 245px;
    }
}

.p-top-2011__inner03 {
    position: relative;
    padding-right: calc(20 / 375 * 100vw);
    padding-bottom: calc(80 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011__inner03 {
        padding-right: 20px;
        padding-bottom: 80px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__inner03 {
        flex-shrink: 0;
        padding-right: 0;
        padding-bottom: calc(110 / 1000 * 100vw);
        padding-left: 0;
        width: calc(413 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__inner03 {
        padding-bottom: 110px;
        width: 413px;
    }
}

.p-top-2011__fourth {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(232 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2011__fourth {
        margin-top: 0;
        height: 232px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__fourth {
        width: calc(379 / 1000 * 100vw);
        height: calc(338 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__fourth {
        width: 379px;
        height: 338px;
    }
}

.p-top-2011__fourth-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2011__fourth-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__fourth-inner {
        width: 100%;
    }
}

.p-top-2011__text-box02 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2011__text-box02 {
        right: 0;
        left: inherit;
    }
}

.p-top-2011__img04 {
    position: absolute;
    top: calc(93 / 375 * 100vw);
    right: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(237 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2011__img04 {
        top: 93px;
        right: -20px;
        width: 237px;
    }
}

@media (min-width: 768px) {
    .p-top-2011__img04 {
        top: calc(137 / 1000 * 100vw);
        right: 0;
        width: calc(338 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011__img04 {
        top: 137px;
        width: 338px;
    }
}

/* ----------------------------------
 * 2011-02
 * ---------------------------------- */
.p-top-2011-02 {
    position: relative;
    padding-top: 0;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011-02 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02 {
        padding-bottom: calc(75 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-02 {
        padding-bottom: 75px;
    }
}

.p-top-2011-02__inner {
    margin-bottom: 0;
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02__inner {
        display: flex;
        column-gap: calc(74 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2011-02__inner {
        column-gap: 74px;
        margin: 0 auto;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2011-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011-02__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-02__primary {
        width: 360px;
    }
}

.p-top-2011-02__secondary {
    position: relative;
    z-index: 11;
    height: calc(321 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2011-02__secondary {
        height: 321px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02__secondary {
        flex-shrink: 0;
        width: calc(440 / 1000 * 100vw);
        height: calc(407 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-02__secondary {
        width: 440px;
        height: 407px;
    }
}

.p-top-2011-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(332 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2011-02__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2011-02__text-box {
    position: absolute;
    top: calc(160 / 375 * 100vw);
    left: 0;
    z-index: 20;
}

@media (min-width: 375px) {
    .p-top-2011-02__text-box {
        top: 160px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02__text-box {
        top: calc(222 / 1000 * 100vw);
        left: calc(68 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-02__text-box {
        top: 222px;
        left: 68px;
    }
}

.p-top-2011-02__img01 {
    position: absolute;
    top: 0;
    left: calc(27 / 375 * 100vw);
    z-index: 10;
    width: calc(251 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2011-02__img01 {
        left: 27px;
        width: 251px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02__img01 {
        left: 0;
        width: calc(358 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-02__img01 {
        top: 0;
        width: 358px;
    }
}

.p-top-2011-02__img02 {
    position: absolute;
    top: calc(158 / 375 * 100vw);
    right: 0;
    z-index: 11;
    width: calc(161 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2011-02__img02 {
        top: 158px;
        width: 161px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-02__img02 {
        top: calc(226 / 1000 * 100vw);
        right: 0;
        left: inherit;
        width: calc(230 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-02__img02 {
        top: 226px;
        width: 230px;
    }
}

/* ----------------------------------
 * 2011-03
 * ---------------------------------- */
.p-top-2011-03 {
    position: relative;
    margin-top: 0;
}

.p-top-2011-03__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011-03__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-03__inner {
        display: flex;
        column-gap: calc(105 / 1000 * 100vw);
        flex-direction: row-reverse;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2011-03__inner {
        column-gap: 105px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2011-03__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011-03__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-03__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(398 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-03__primary {
        width: 398px;
    }
}

.p-top-2011-03__secondary {
    position: relative;
    z-index: 11;
    height: calc(161 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2011-03__secondary {
        height: 161px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-03__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(382 / 1000 * 100vw);
        height: calc(257 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-03__secondary {
        width: 382px;
        height: 257px;
    }
}

.p-top-2011-03__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(227 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2011-03__secondary-inner {
        width: 227px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-03__secondary-inner {
        width: 100%;
    }
}

.p-top-2011-03__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: calc(227 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2011-03__img01 {
        width: 227px;
    }
}

@media (min-width: 768px) {
    .p-top-2011-03__img01 {
        width: calc(382 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2011-03__img01 {
        width: 382px;
    }
}

/* ----------------------------------
 * 2012
 * ---------------------------------- */
.p-top-2012 {
    position: relative;
    z-index: 10;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2012 {
        padding-bottom: calc(90 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012 {
        padding-bottom: 90px;
    }
}

.p-top-2012__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2012__inner {
        display: flex;
        column-gap: calc(70 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: 0;
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2012__inner {
        column-gap: 70px;
        padding-right: 60px;
        padding-left: 0;
    }
}

.p-top-2012__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-2012__primary {
        flex-shrink: 0;
        width: calc(336 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012__primary {
        width: 336px;
    }
}

.p-top-2012__secondary {
    position: relative;
    margin-top: calc(-30 / 375 * 100vw);
    height: calc(270 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2012__secondary {
        margin-top: -30px;
        height: 270px;
    }
}

@media (min-width: 768px) {
    .p-top-2012__secondary {
        margin-top: calc(-75 / 1000 * 100vw);
        width: calc(535 / 1000 * 100vw);
        height: calc(479 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012__secondary {
        margin-top: -75px;
        width: 535px;
        height: 479px;
    }
}

.p-top-2012__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2012__secondary-inner {
        width: 375px;
    }
}

@media (min-width: 768px) {
    .p-top-2012__secondary-inner {
        width: 100%;
    }
}

.p-top-2012__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2012__text-box {
        top: calc(155 / 1000 * 100vw);
        left: calc(38 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012__text-box {
        top: 155px;
        left: 38px;
    }
}

.p-top-2012__img01 {
    position: absolute;
    top: calc(-70 / 375 * 100vw);
    right: calc(25 / 375 * 100vw);
    z-index: 10;
    width: calc(105 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2012__img01 {
        top: -70px;
        right: 25px;
        width: 105px;
    }
}

@media (min-width: 768px) {
    .p-top-2012__img01 {
        top: 0;
        right: calc(182 / 1000 * 100vw);
        width: calc(147 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012__img01 {
        right: 182px;
        width: 147px;
    }
}

.p-top-2012__img02 {
    position: absolute;
    top: calc(108 / 375 * 100vw);
    right: calc(-20 / 375 * 100vw);
    left: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(100% + 40 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2012__img02 {
        top: 108px;
        right: -20px;
        left: -20px;
        width: calc(100% + 40px);
    }
}

@media (min-width: 768px) {
    .p-top-2012__img02 {
        top: calc(248 / 1000 * 100vw);
        right: 0;
        left: 0;
        width: calc(538 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012__img02 {
        top: 248px;
        width: 538px;
    }
}

.p-top-2012-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(222, 200, 196, 0.5) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2012-02
 * ---------------------------------- */
.p-top-2012-02 {
    position: relative;
    padding-bottom: calc(100 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012-02 {
        padding-bottom: 100px;
    }
}

@media (min-width: 768px) {
    .p-top-2012-02 {
        padding-bottom: calc(125 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02 {
        padding-bottom: 125px;
    }
}

.p-top-2012-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2012-02__inner {
        display: flex;
        column-gap: calc(65 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__inner {
        column-gap: 65px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2012-02__primary {
    position: relative;
    z-index: 12;
}

@media (min-width: 768px) {
    .p-top-2012-02__primary {
        flex-shrink: 0;
        margin-top: calc(112 / 1000 * 100vw);
        width: calc(390 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__primary {
        margin-top: 112px;
        width: 390px;
    }
}

.p-top-2012-02__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(20 / 375 * 100vw);
    height: calc(388 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2012-02__secondary {
        margin-top: 20px;
        height: 388px;
    }
}

@media (min-width: 768px) {
    .p-top-2012-02__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(461 / 1000 * 100vw);
        height: calc(502 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__secondary {
        width: 461px;
        height: 502px;
    }
}

.p-top-2012-02__secondary::before {
    position: absolute;
    top: calc(75 / 375 * 100vw);
    left: -20px;
    transform: scale(var(--scale, 0));
    transform-origin: center;
    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn03.webp);
    background-position: center;
    background-size: 528px auto;
    background-repeat: no-repeat;
    width: calc(100% + 40px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-2012-02__secondary::before {
        top: calc(85 / 1000 * 100vw);
        left: calc(-112 / 1000 * 100vw);
        background-size: calc(753 / 1000 * 100vw) auto;
        width: calc(753 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__secondary::before {
        top: 85px;
        left: -112px;
        background-size: 753px auto;
        width: 753px;
    }
}

.p-top-2012-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2012-02__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2012-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2012-02__text-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 50;
}

.p-top-2012-02__img01 {
    position: absolute;
    top: calc(84 / 375 * 100vw);
    left: calc(-20 / 375 * 100vw);
    z-index: 30;
    background-color: #f3ecea;
    width: calc(106 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012-02__img01 {
        top: 84px;
        left: -20px;
        width: 106px;
    }
}

.p-top-2012-02__img01 img {
    mix-blend-mode: multiply;
}

@media (min-width: 768px) {
    .p-top-2012-02__img01 {
        top: calc(68 / 1000 * 100vw);
        left: 0;
        width: calc(150 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__img01 {
        top: 68px;
        width: 150px;
    }
}

.p-top-2012-02__img02 {
    position: absolute;
    top: calc(63 / 375 * 100vw);
    left: calc(75 / 375 * 100vw);
    z-index: 40;
    width: calc(89 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012-02__img02 {
        top: 63px;
        left: 75px;
        width: 89px;
    }
}

@media (min-width: 768px) {
    .p-top-2012-02__img02 {
        top: calc(45 / 1000 * 100vw);
        left: calc(135 / 1000 * 100vw);
        width: calc(127 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__img02 {
        top: 45px;
        left: 135px;
        width: 127px;
    }
}

.p-top-2012-02__img03 {
    position: absolute;
    top: calc(166 / 375 * 100vw);
    left: calc(124 / 375 * 100vw);
    z-index: 20;
    width: calc(160 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012-02__img03 {
        top: 166px;
        left: 124px;
        width: 160px;
    }
}

@media (min-width: 768px) {
    .p-top-2012-02__img03 {
        top: calc(185 / 1000 * 100vw);
        left: calc(205 / 1000 * 100vw);
        width: calc(229 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__img03 {
        top: 185px;
        left: 205px;
        width: 229px;
    }
}

.p-top-2012-02__img04 {
    position: absolute;
    top: calc(270 / 375 * 100vw);
    left: calc(25 / 375 * 100vw);
    z-index: 10;
    width: calc(217 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2012-02__img04 {
        top: 270px;
        left: 25px;
        width: 217px;
    }
}

@media (min-width: 768px) {
    .p-top-2012-02__img04 {
        top: calc(335 / 1000 * 100vw);
        left: calc(64 / 1000 * 100vw);
        width: calc(309 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2012-02__img04 {
        top: 335px;
        left: 64px;
        width: 309px;
    }
}

.p-top-2012-02-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(222, 200, 196, 0.5) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2013
 * ---------------------------------- */
.p-top-2013 {
    position: relative;
    z-index: 10;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2013 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2013 {
        padding-bottom: calc(145 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2013 {
        padding-bottom: 145px;
    }
}

.p-top-2013__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2013__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2013__inner {
        display: flex;
        column-gap: calc(70 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: 0;
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2013__inner {
        column-gap: 70px;
        padding-right: 60px;
        padding-left: 0;
    }
}

.p-top-2013__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-2013__primary {
        flex-shrink: 0;
        margin-top: calc(30 / 1000 * 100vw);
        width: calc(400 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2013__primary {
        margin-top: 30px;
        width: 400px;
    }
}

.p-top-2013__secondary {
    position: relative;
    margin-top: calc(20 / 375 * 100vw);
    height: calc(263 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2013__secondary {
        margin-top: 20px;
        height: 263px;
    }
}

@media (min-width: 768px) {
    .p-top-2013__secondary {
        margin-top: 0;
        width: calc(266 / 1000 * 100vw);
        height: calc(377 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2013__secondary {
        width: 266px;
        height: 377px;
    }
}

.p-top-2013__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2013__secondary-inner {
        width: 375px;
    }
}

@media (min-width: 768px) {
    .p-top-2013__secondary-inner {
        width: 100%;
    }
}

.p-top-2013__img01 {
    position: absolute;
    top: 0;
    left: calc(75 / 375 * 100vw);
    z-index: 10;
    width: calc(186 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2013__img01 {
        left: 75px;
        width: 186px;
    }
}

@media (min-width: 768px) {
    .p-top-2013__img01 {
        top: 0;
        left: 0;
        width: calc(266 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2013__img01 {
        width: 266px;
    }
}

/* ----------------------------------
 * 2014
 * ---------------------------------- */
.p-top-2014 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(50 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014 {
        padding-bottom: 50px;
    }
}

@media (min-width: 768px) {
    .p-top-2014 {
        padding-bottom: calc(80 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014 {
        padding-bottom: 80px;
    }
}

.p-top-2014__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2014__inner {
        display: flex;
        column-gap: calc(40 / 1000 * 100vw);
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2014__inner {
        column-gap: 40px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2014__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2014__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(398 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014__primary {
        width: 398px;
    }
}

.p-top-2014__secondary {
    position: relative;
    z-index: 11;
    height: calc(193 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2014__secondary {
        height: 193px;
    }
}

@media (min-width: 768px) {
    .p-top-2014__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(430 / 1000 * 100vw);
        height: calc(275 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014__secondary {
        width: 430px;
        height: 275px;
    }
}

.p-top-2014__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(300 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2014__secondary-inner {
        width: 300px;
    }
}

@media (min-width: 768px) {
    .p-top-2014__secondary-inner {
        margin: 0 auto;
        width: 100%;
    }
}

.p-top-2014__img01 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: calc(300 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014__img01 {
        width: 300px;
    }
}

@media (min-width: 768px) {
    .p-top-2014__img01 {
        width: calc(382 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014__img01 {
        width: 382px;
    }
}

.p-top-2014__bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(222, 200, 196, 0.5) 100%);
    width: 100%;
    height: 100%;
}

/* ----------------------------------
 * 2014-02
 * ---------------------------------- */
.p-top-2014-02 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-02 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-02 {
        padding-bottom: calc(50 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-02 {
        padding-bottom: 50px;
    }
}

.p-top-2014-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-02__inner {
        display: flex;
        column-gap: calc(100 / 1000 * 100vw);
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: 0;
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2014-02__inner {
        column-gap: 100px;
        padding-right: 60px;
        padding-left: 0;
    }
}

.p-top-2014-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-02__primary {
        margin-bottom: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-02__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(300 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-02__primary {
        width: 300px;
    }
}

.p-top-2014-02__secondary {
    position: relative;
    z-index: 11;
    height: calc(193 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2014-02__secondary {
        height: 193px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-02__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(452 / 1000 * 100vw);
        height: calc(275 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-02__secondary {
        width: 452px;
        height: 275px;
    }
}

.p-top-2014-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(317 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2014-02__secondary-inner {
        width: 317px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-02__secondary-inner {
        margin: 0 auto;
        width: 100%;
    }
}

.p-top-2014-02__img02 {
    position: absolute;
    top: 0;
    right: calc(-50 / 375 * 100vw);
    z-index: 10;
    width: calc(226 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-02__img02 {
        right: -50px;
        width: 226px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-02__img02 {
        top: calc(-52 / 1000 * 100vw);
        right: calc(-177 / 1000 * 100vw);
        width: calc(322 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-02__img02 {
        top: -52px;
        right: -177px;
        width: 322px;
    }
}

.p-top-2014-02__img03 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    width: calc(317 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-02__img03 {
        width: 317px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-02__img03 {
        width: calc(452 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-02__img03 {
        width: 452px;
    }
}

.p-top-2014-02__bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    background-image: linear-gradient(180deg, rgba(222, 200, 196, 0.5) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(222, 200, 196, 0.5) 100%);
    width: 100%;
    height: 100%;
}

/* ----------------------------------
 * 2014-03
 * ---------------------------------- */
.p-top-2014-03 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(100 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-03 {
        padding-bottom: 100px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03 {
        padding-bottom: calc(80 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03 {
        padding-bottom: 80px;
    }
}

.p-top-2014-03__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-bottom: calc(50 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-03__inner {
        padding-right: 20px;
        padding-bottom: 50px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__inner {
        display: flex;
        column-gap: inherit;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-bottom: calc(32 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__inner {
        padding-right: 60px;
        padding-bottom: 32px;
        padding-left: 60px;
    }
}

.p-top-2014-03__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-03__primary {
        margin-bottom: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(391 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__primary {
        width: 391px;
    }
}

.p-top-2014-03__secondary {
    position: relative;
    z-index: 11;
    height: calc(275 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2014-03__secondary {
        height: 275px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__secondary {
        flex-shrink: 0;
        margin-top: 0;
        margin-left: calc(-100 / 1000 * 100vw);
        width: calc(556 / 1000 * 100vw);
        height: calc(371 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__secondary {
        margin-left: -100px;
        width: 556px;
        height: 371px;
    }
}

.p-top-2014-03__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(300 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2014-03__secondary-inner {
        width: 300px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__secondary-inner {
        margin: 0 auto;
        width: 100%;
    }
}

.p-top-2014-03__img04 {
    position: absolute;
    top: 0;
    left: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(174 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-03__img04 {
        left: -20px;
        width: 174px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__img04 {
        position: static;
        margin-top: calc(23 / 1000 * 100vw);
        width: calc(248 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__img04 {
        margin-top: 23px;
        width: 248px;
    }
}

.p-top-2014-03__img05 {
    position: absolute;
    top: 0;
    left: calc(13 / 375 * 100vw);
    z-index: 10;
    width: calc(390 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-03__img05 {
        left: 13px;
        width: 390px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__img05 {
        width: calc(556 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__img05 {
        width: 556px;
    }
}

.p-top-2014-03__bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    background-image: linear-gradient(180deg, rgba(222, 200, 196, 0.5) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(222, 200, 196, 0.5) 100%);
    width: 100%;
    height: 100%;
}

.p-top-2014-03__inner02 {
    margin-bottom: calc(105 / 375 * 100vw);
    padding-right: 0;
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-03__inner02 {
        margin-bottom: 105px;
        padding-right: 0;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__inner02 {
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(362 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__inner02 {
        margin: 0 auto;
        padding-right: 60px;
        padding-left: 362px;
    }
}

.p-top-2014-03__third {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(188 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2014-03__third {
        margin-top: 0;
        height: 188px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__third {
        margin-top: 0;
        width: calc(482 / 1000 * 100vw);
        height: calc(336 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__third {
        width: 482px;
        height: 336px;
    }
}

.p-top-2014-03__third-inner {
    position: relative;
    transform: translateX(calc(15 / 375 * 100vw));
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2014-03__third-inner {
        transform: translateX(15px);
        width: 295px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__third-inner {
        transform: translateX(0);
        width: 100%;
    }
}

.p-top-2014-03__img06 {
    position: absolute;
    top: calc(118 / 375 * 100vw);
    left: 0;
    z-index: 10;
    width: calc(340 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2014-03__img06 {
        top: 118px;
        left: 0;
        width: 253px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-03__img06 {
        top: calc(80 / 1000 * 100vw);
        left: 0;
        width: calc(340 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-03__img06 {
        top: 80px;
        left: 0;
        width: 340px;
    }
}

.p-top-2014-03__text-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
}

/* ----------------------------------
 * 2014-04
 * ---------------------------------- */
.p-top-2014-04 {
    position: relative;
    padding-bottom: calc(70 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-04 {
        padding-bottom: 70px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-04 {
        padding-bottom: calc(70 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04 {
        padding-bottom: 70px;
    }
}

.p-top-2014-04__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-04__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-04__inner {
        display: flex;
        column-gap: calc(72 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__inner {
        column-gap: 72px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2014-04__primary {
    position: relative;
    z-index: 12;
}

@media (min-width: 768px) {
    .p-top-2014-04__primary {
        flex-shrink: 0;
        margin-top: calc(170 / 1000 * 100vw);
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__primary {
        margin-top: 170px;
        width: 360px;
    }
}

.p-top-2014-04__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(20 / 375 * 100vw);
    height: calc(325 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2014-04__secondary {
        margin-top: 20px;
        height: 325px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-04__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(426 / 1000 * 100vw);
        height: calc(453 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__secondary {
        width: 426px;
        height: 453px;
    }
}

.p-top-2014-04__secondary::before {
    position: absolute;
    top: 0;
    left: -20px;
    transform: scale(var(--scale, 0));
    transform-origin: center;
    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn03.webp);
    background-position: center;
    background-size: 528px auto;
    background-repeat: no-repeat;
    width: calc(100% + 40px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-2014-04__secondary::before {
        top: calc(-35 / 1000 * 100vw);
        left: calc(-200 / 1000 * 100vw);
        background-size: calc(753 / 1000 * 100vw) auto;
        width: calc(753 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__secondary::before {
        top: -35px;
        left: -200px;
        background-size: 753px auto;
        width: 753px;
    }
}

.p-top-2014-04__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2014-04__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-04__secondary-inner {
        width: 100%;
    }
}

.p-top-2014-04__text-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 50;
}

@media (min-width: 768px) {
    .p-top-2014-04__text-box {
        top: calc(45 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__text-box {
        top: 45px;
    }
}

.p-top-2014-04__img01 {
    position: absolute;
    top: calc(46 / 375 * 100vw);
    left: calc(10 / 375 * 100vw);
    z-index: 30;
    animation: 5s infinite forwards idekkun01;
    width: calc(156 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-04__img01 {
        top: 46px;
        left: 10px;
        width: 156px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-04__img01 {
        top: 0;
        left: 0;
        width: calc(222 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__img01 {
        width: 222px;
    }
}

@keyframes idekkun01 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-30px);
    }

    100% {
        transform: translateY(0);
    }
}

.p-top-2014-04__img02 {
    position: absolute;
    top: calc(173 / 375 * 100vw);
    left: calc(188 / 375 * 100vw);
    z-index: 40;
    animation: 5s infinite forwards idekkun02;
    width: calc(99 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-04__img02 {
        top: 173px;
        left: 188px;
        width: 99px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-04__img02 {
        top: calc(234 / 1000 * 100vw);
        left: calc(208 / 1000 * 100vw);
        width: calc(141 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__img02 {
        top: 234px;
        left: 208px;
        width: 141px;
    }
}

@keyframes idekkun02 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-30px);
    }

    100% {
        transform: translateY(0);
    }
}

.p-top-2014-04__img03 {
    position: absolute;
    top: calc(220 / 375 * 100vw);
    left: calc(65 / 375 * 100vw);
    z-index: 20;
    animation: 5s infinite forwards idekkun03;
    width: calc(115 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2014-04__img03 {
        top: 220px;
        left: 65px;
        width: 115px;
    }
}

@media (min-width: 768px) {
    .p-top-2014-04__img03 {
        top: calc(303 / 1000 * 100vw);
        left: calc(32 / 1000 * 100vw);
        width: calc(164 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2014-04__img03 {
        top: 303px;
        left: 32px;
        width: 164px;
    }
}

@keyframes idekkun03 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-30px);
    }

    100% {
        transform: translateY(0);
    }
}

.p-top-2014-04-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(222, 200, 196, 0.5) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2015
 * ---------------------------------- */
.p-top-2015 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2015 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2015 {
        padding-bottom: calc(255 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2015 {
        padding-bottom: 255px;
    }
}

.p-top-2015__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-bottom: calc(80 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2015__inner {
        padding-right: 20px;
        padding-bottom: 80px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2015__inner {
        display: flex;
        column-gap: calc(95 / 1000 * 100vw);
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-bottom: calc(125 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2015__inner {
        column-gap: 95px;
        padding-right: 60px;
        padding-bottom: 125px;
        padding-left: 60px;
    }
}

.p-top-2015__primary {
    position: relative;
    z-index: 11;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-top-2015__primary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(312 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2015__primary {
        width: 312px;
    }
}

.p-top-2015__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(-15 / 375 * 100vw);
    height: calc(288 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2015__secondary {
        margin-top: -15px;
        height: 288px;
    }
}

@media (min-width: 768px) {
    .p-top-2015__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(380 / 1000 * 100vw);
        height: calc(375 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2015__secondary {
        width: 380px;
        height: 375px;
    }
}

.p-top-2015__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(335 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2015__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2015__secondary-inner {
        width: 100%;
    }
}

.p-top-2015__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2015__text-box {
        top: 0;
        right: 0;
        left: inherit;
    }
}

.p-top-2015__img01 {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
    width: calc(254 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2015__img01 {
        width: 254px;
    }
}

@media (min-width: 768px) {
    .p-top-2015__img01 {
        right: calc(22 / 1000 * 100vw);
        width: calc(362 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2015__img01 {
        right: 22px;
        width: 362px;
    }
}

.p-top-2015-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(222, 200, 196, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2015-02
 * ---------------------------------- */
.p-top-2015-02 {
    position: relative;
    margin-top: 0;
    padding-bottom: 0;
}

.p-top-2015-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2015-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2015-02__inner {
        display: flex;
        column-gap: calc(95 / 1000 * 100vw);
        flex-direction: row-reverse;
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2015-02__inner {
        column-gap: 95px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2015-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2015-02__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2015-02__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(246 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2015-02__primary {
        width: 246px;
    }
}

.p-top-2015-02__secondary {
    position: relative;
    z-index: 11;
    margin-top: calc(-15 / 375 * 100vw);
    height: calc(287 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2015-02__secondary {
        margin-top: -15px;
        height: 287px;
    }
}

@media (min-width: 768px) {
    .p-top-2015-02__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(395 / 1000 * 100vw);
        height: calc(377 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2015-02__secondary {
        width: 395px;
        height: 377px;
    }
}

.p-top-2015-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(335 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2015-02__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2015-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2015-02__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2015-02__text-box {
        top: 0;
        right: 0;
        left: inherit;
    }
}

.p-top-2015-02__img01 {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 10;
    width: calc(277 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2015-02__img01 {
        width: 277px;
    }
}

@media (min-width: 768px) {
    .p-top-2015-02__img01 {
        right: inherit;
        left: 0;
        width: calc(395 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2015-02__img01 {
        width: 395px;
    }
}

/* ----------------------------------
 * 2016
 * ---------------------------------- */
.p-top-2016 {
    position: relative;
}

.p-top-2016__inner {
    padding-right: 20px;
    padding-left: 20px;
}

@media (min-width: 768px) {
    .p-top-2016__inner {
        margin: 0 auto;
        padding-right: calc(50 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2016__inner {
        padding-right: 50px;
        padding-left: 60px;
    }
}

.p-top-2016__head {
    position: relative;
    z-index: 100;
    margin-bottom: 95px;
}

.p-top-2016__change-wrap {
    position: relative;
}

.p-top-2016__change {
    display: grid;
    position: relative;
    place-content: center;
    z-index: 100;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #323333;
    width: 245px;
    height: 245px;
    text-align: center;
}

@media (min-width: 768px) {
    .p-top-2016__change {
        width: calc(350 / 1000 * 100vw);
        height: calc(350 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__change {
        width: 350px;
        height: 350px;
    }
}

.p-top-2016__video-container {
    display: block;
    position: absolute;
    top: 10px;
    right: -20px;
    left: -20px;
    width: calc(100% + 40px);
}

@media (min-width: 768px) {
    .p-top-2016__video-container {
        display: block;
        position: absolute;
        top: calc(10 / 1000 * 100vw);
        right: inherit;
        left: calc(-195 / 1000 * 100vw);
        width: calc(1280 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__video-container {
        top: 10px;
        left: -195px;
        width: 1280px;
    }
}

.p-top-2016__video-background {
    transform: translateZ(0);
    mix-blend-mode: multiply;
    will-change: filter, transform;
    background-color: transparent !important;
    background: transparent !important;
    width: 100%;
    height: 225px;
    object-fit: cover;
}

@media (min-width: 768px) {
    .p-top-2016__video-background {
        height: calc(330 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__video-background {
        height: 330px;
    }
}

.p-top-2016__change-img {
    margin: 0 auto 32px;
    width: 100%;
    max-width: 140px;
    height: auto;
}

@media (min-width: 768px) {
    .p-top-2016__change-img {
        max-width: calc(204 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__change-img {
        max-width: 204px;
    }
}

.p-top-2016__change-text {
    color: #fff;
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-2016__change-text {
        font-size: 1.6rem;
    }
}

@media (min-width: 768px) {
    .p-top-2016__change-text {
        font-size: calc(24 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__change-text {
        font-size: 2.4rem;
    }
}

.p-top-2016__body {
    position: relative;
    margin-top: var(--pin-gap04, 1350px);
    padding-bottom: 86px;
}

@media (min-width: 768px) {
    .p-top-2016__body {
        padding-bottom: calc(46 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__body {
        padding-bottom: 46px;
    }
}

@media (min-width: 768px) {
    .p-top-2016__body-inner {
        display: flex;
        column-gap: calc(146 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__body-inner {
        column-gap: 146px;
    }
}

.p-top-2016__primary {
    position: relative;
    padding-top: calc(40 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016__primary {
        padding-top: 40px;
    }
}

@media (min-width: 768px) {
    .p-top-2016__primary {
        flex-shrink: 0;
        padding-top: calc(56 / 1000 * 100vw);
        width: calc(372 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__primary {
        padding-top: 56px;
        width: 372px;
    }
}

.p-top-2016__img01 {
    position: absolute;
    top: 0;
    right: calc(16 / 375 * 100vw);
    z-index: 10;
    width: calc(99 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2016__img01 {
        right: 16px;
        width: 99px;
    }
}

@media (min-width: 768px) {
    .p-top-2016__img01 {
        top: calc(95 / 1000 * 100vw);
        right: calc(-310 / 1000 * 100vw);
        width: calc(141 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016__img01 {
        top: 95px;
        right: -310px;
        width: 141px;
    }
}

/* ----------------------------------
 * 2016-02
 * ---------------------------------- */
.p-top-2016-02 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(50 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-02 {
        padding-bottom: 50px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-02 {
        padding-bottom: calc(20 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-02 {
        padding-bottom: 20px;
    }
}

.p-top-2016-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-02__inner {
        display: flex;
        column-gap: calc(110 / 1000 * 100vw);
        flex-direction: row-reverse;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2016-02__inner {
        column-gap: 110px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2016-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .p-top-2016-02__primary {
        flex-shrink: 0;
        margin-top: calc(108 / 1000 * 100vw);
        margin-bottom: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-02__primary {
        margin-top: 108px;
        width: 360px;
    }
}

.p-top-2016-02__img01 {
    position: absolute;
    top: calc(-30 / 375 * 100vw);
    right: calc(26 / 375 * 100vw);
    z-index: 10;
    width: calc(100 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-02__img01 {
        top: -30px;
        right: 26px;
        width: 100px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-02__img01 {
        top: calc(-74 / 1000 * 100vw);
        right: 0;
        width: calc(142 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-02__img01 {
        top: -74px;
        width: 142px;
    }
}

.p-top-2016-02__secondary {
    position: relative;
    z-index: 11;
    height: calc(299 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2016-02__secondary {
        height: 299px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-02__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(404 / 1000 * 100vw);
        height: calc(437 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-02__secondary {
        width: 404px;
        height: 437px;
    }
}

.p-top-2016-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(355 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2016-02__secondary-inner {
        width: 355px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2016-02__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2016-02__text-box {
        top: 0;
        left: calc(22 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-02__text-box {
        left: 22px;
    }
}

.p-top-2016-02__img02 {
    position: absolute;
    top: calc(83 / 375 * 100vw);
    right: 0;
    z-index: 10;
    width: calc(268 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-02__img02 {
        top: 83px;
        width: 268px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-02__img02 {
        top: calc(128 / 1000 * 100vw);
        width: calc(404 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-02__img02 {
        top: 128px;
        width: 404px;
    }
}

.p-top-2016-02-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(170, 186, 205, 0.5) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2016-03
 * ---------------------------------- */
.p-top-2016-03 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(50 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03 {
        padding-bottom: 50px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03 {
        padding-bottom: calc(166 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03 {
        padding-bottom: 166px;
    }
}

.p-top-2016-03__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__inner {
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__inner {
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2016-03__secondary {
    position: relative;
    z-index: 11;
    height: calc(706 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2016-03__secondary {
        height: 706px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(852 / 1000 * 100vw);
        height: calc(681 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__secondary {
        width: 852px;
        height: 681px;
    }
}

.p-top-2016-03__secondary::before {
    position: absolute;
    top: 0;
    left: -20px;
    transform: scale(var(--scale, 0));
    transform-origin: center;
    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn04.webp);
    background-position: center;
    background-size: 528px auto;
    background-repeat: no-repeat;
    width: calc(100% + 40px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-2016-03__secondary::before {
        top: calc(54 / 1000 * 100vw);
        left: calc(57 / 1000 * 100vw);
        background-size: calc(753 / 1000 * 100vw) auto;
        width: calc(753 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__secondary::before {
        top: 54px;
        left: 57px;
        background-size: 753px auto;
        width: 753px;
    }
}

.p-top-2016-03__secondary-inner {
    position: relative;
    margin: 0 auto calc(18 / 375 * 100vw);
    width: calc(335 / 375 * 100vw);
    height: calc(186 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__secondary-inner {
        margin-bottom: 18px;
        width: 335px;
        height: 186px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__secondary-inner {
        margin: 0;
        width: calc(378 / 1000 * 100vw);
        height: calc(291 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__secondary-inner {
        width: 378px;
        height: 291px;
    }
}

.p-top-2016-03__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2016-03__text-box {
        top: 0;
        left: calc(22 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__text-box {
        left: 22px;
    }
}

.p-top-2016-03__img01 {
    position: absolute;
    top: calc(50 / 375 * 100vw);
    right: calc(22 / 375 * 100vw);
    z-index: 10;
    width: calc(171 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__img01 {
        top: 50px;
        right: 22px;
        width: 171px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__img01 {
        top: calc(97 / 1000 * 100vw);
        width: calc(245 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__img01 {
        top: 128px;
        width: 245px;
    }
}

.p-top-2016-03__secondary-inner02 {
    position: relative;
    margin: 0 auto calc(4 / 375 * 100vw);
    width: calc(335 / 375 * 100vw);
    height: calc(202 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__secondary-inner02 {
        margin-bottom: 4px;
        width: 335px;
        height: 202px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__secondary-inner02 {
        position: absolute;
        top: calc(85 / 1000 * 100vw);
        right: 0;
        margin: 0;
        width: calc(374 / 1000 * 100vw);
        height: calc(260 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__secondary-inner02 {
        top: 85px;
        right: 0;
        width: 374px;
        height: 260px;
    }
}

.p-top-2016-03__text-box02 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2016-03__text-box02 {
        top: 0;
        right: calc(22 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__text-box02 {
        right: 22px;
    }
}

.p-top-2016-03__img02 {
    position: absolute;
    top: calc(82 / 375 * 100vw);
    left: calc(40 / 375 * 100vw);
    z-index: 10;
    width: calc(167 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__img02 {
        top: 82px;
        left: 40px;
        width: 167px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__img02 {
        top: calc(89 / 1000 * 100vw);
        left: 0;
        width: calc(238 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__img02 {
        top: 89px;
        width: 238px;
    }
}

.p-top-2016-03__secondary-inner03 {
    position: relative;
    margin: 0 auto;
    width: calc(335 / 375 * 100vw);
    height: calc(133 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__secondary-inner03 {
        width: 335px;
        height: 133px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__secondary-inner03 {
        position: absolute;
        right: calc(20 / 1000 * 100vw);
        bottom: calc(40 / 1000 * 100vw);
        width: calc(237 / 1000 * 100vw);
        height: calc(190 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__secondary-inner03 {
        right: 20px;
        bottom: 40px;
        width: 237px;
        height: 190px;
    }
}

.p-top-2016-03__img03 {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    animation: 5s infinite forwards idekkun-2016-03-03;
    width: calc(166 / 375 * 100vw);
}

@keyframes idekkun-2016-03-03 {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-30px);
    }

    100% {
        transform: translateY(0);
    }
}

@media (min-width: 375px) {
    .p-top-2016-03__img03 {
        top: 0;
        right: 0;
        width: 166px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__img03 {
        top: 0;
        right: inherit;
        left: 0;
        width: calc(237 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__img03 {
        width: 237px;
    }
}

.p-top-2016-03__secondary-inner04 {
    position: relative;
    margin: calc(-62 / 375 * 100vw) auto 0;
    width: calc(335 / 375 * 100vw);
    height: calc(133 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__secondary-inner04 {
        margin-top: -62px;
        width: 335px;
        height: 133px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__secondary-inner04 {
        position: absolute;
        bottom: 0;
        left: 0;
        width: calc(440 / 1000 * 100vw);
        height: calc(336 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__secondary-inner04 {
        width: 440px;
        height: 336px;
    }
}

.p-top-2016-03__text-box03 {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2016-03__text-box03 {
        top: 0;
        left: calc(22 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__text-box03 {
        left: 22px;
    }
}

.p-top-2016-03__img04 {
    position: absolute;
    top: calc(77 / 375 * 100vw);
    right: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(232 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2016-03__img04 {
        top: 77px;
        right: -20px;
        width: 232px;
    }
}

@media (min-width: 768px) {
    .p-top-2016-03__img04 {
        top: calc(109 / 1000 * 100vw);
        width: calc(331 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2016-03__img04 {
        top: 109px;
        width: 331px;
    }
}

.p-top-2016-03-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(170, 186, 205, 0.5) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(255, 255, 255, 0) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2018
 * ---------------------------------- */
.p-top-2018 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(70 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018 {
        padding-bottom: 70px;
    }
}

@media (min-width: 768px) {
    .p-top-2018 {
        padding-bottom: calc(100 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018 {
        padding-bottom: 100px;
    }
}

.p-top-2018__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2018__inner {
        display: flex;
        column-gap: calc(103 / 1000 * 100vw);
        flex-direction: row-reverse;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;

    }
}

@media (min-width: 1000px) {
    .p-top-2018__inner {
        column-gap: 103px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2018__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2018__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(395 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018__primary {
        width: 395px;
    }
}

.p-top-2018__secondary {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(93 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2018__secondary {
        height: 93px;
    }
}

@media (min-width: 768px) {
    .p-top-2018__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(275 / 1000 * 100vw);
        height: calc(132 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018__secondary {
        width: 275px;
        height: 132px;
    }
}

.p-top-2018__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(335 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2018__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2018__secondary-inner {
        width: 100%;
    }
}

.p-top-2018__img01 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: calc(193 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018__img01 {
        width: 193px;
    }
}

@media (min-width: 768px) {
    .p-top-2018__img01 {
        right: inherit;
        left: 0;
        width: calc(275 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018__img01 {
        width: 275px;
    }
}

.p-top-2018-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(170, 186, 205, 0.5) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2018-02
 * ---------------------------------- */
.p-top-2018-02 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(95 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018-02 {
        padding-bottom: 95px;
    }
}

@media (min-width: 768px) {
    .p-top-2018-02 {
        padding-bottom: calc(180 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018-02 {
        padding-bottom: 180px;
    }
}

.p-top-2018-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2018-02__inner {
        display: flex;
        column-gap: calc(26 / 1000 * 100vw);
        justify-content: flex-end;
        align-items: center;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2018-02__inner {
        column-gap: 26px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2018-02__primary {
    position: relative;
    z-index: 11;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018-02__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2018-02__primary {
        flex-shrink: 0;
        margin-top: 0;
        margin-bottom: 0;
        width: calc(474 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018-02__primary {
        width: 474px;
    }
}

.p-top-2018-02__img01 {
    position: absolute;
    top: calc(-33 / 375 * 100vw);
    right: 0;
    z-index: 10;
    margin: 0;
    width: calc(127 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018-02__img01 {
        top: -33px;
        width: 127px;
    }
}

@media (min-width: 768px) {
    .p-top-2018-02__img01 {
        right: calc(78 / 1000 * 100vw);
        width: calc(181 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018-02__img01 {
        right: 78px;
        width: 181px;
    }
}

.p-top-2018-02__secondary {
    position: relative;
    z-index: 11;
    margin-top: 0;
    height: calc(165 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2018-02__secondary {
        height: 165px;
    }
}

@media (min-width: 768px) {
    .p-top-2018-02__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(354 / 1000 * 100vw);
        height: calc(235 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018-02__secondary {
        width: 354px;
        height: 235px;
    }
}

.p-top-2018-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: calc(335 / 375 * 100vw);
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2018-02__secondary-inner {
        width: 335px;
    }
}

@media (min-width: 768px) {
    .p-top-2018-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2018-02__img02 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: calc(248 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2018-02__img02 {
        width: 248px;
    }
}

@media (min-width: 768px) {
    .p-top-2018-02__img02 {
        right: inherit;
        left: 0;
        width: calc(354 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2018-02__img02 {
        width: 354px;
    }
}

.p-top-2018-02-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(170, 186, 205, 0.5) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(170, 186, 205, 0.5) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2019
 * ---------------------------------- */
.p-top-2019 {
    position: relative;
    z-index: 10;
    padding-bottom: calc(85 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2019 {
        padding-bottom: 85px;
    }
}

@media (min-width: 768px) {
    .p-top-2019 {
        padding-bottom: calc(137 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019 {
        padding-bottom: 137px;
    }
}

.p-top-2019__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2019__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2019__inner {
        display: flex;
        column-gap: calc(95 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: 0;
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2019__inner {
        column-gap: 95px;
        padding-right: 60px;
        padding-left: 0;
    }
}

.p-top-2019__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-2019__primary {
        flex-shrink: 0;
        width: calc(388 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019__primary {
        width: 388px;
    }
}

.p-top-2019__secondary {
    position: relative;
    margin-top: 0;
    height: calc(193 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2019__secondary {
        height: 193px;
    }
}

@media (min-width: 768px) {
    .p-top-2019__secondary {
        margin-top: calc(-103 / 1000 * 100vw);
        width: calc(448 / 1000 * 100vw);
        height: calc(480 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019__secondary {
        margin-top: -103px;
        width: 448px;
        height: 480px;
    }
}

.p-top-2019__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2019__secondary-inner {
        width: 375px;
    }
}

@media (min-width: 768px) {
    .p-top-2019__secondary-inner {
        width: 100%;
    }
}

.p-top-2019__img01 {
    position: absolute;
    top: calc(-38 / 375 * 100vw);
    right: 0;
    z-index: 10;
    width: calc(97 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2019__img01 {
        top: -38px;
        width: 97px;
    }
}

@media (min-width: 768px) {
    .p-top-2019__img01 {
        top: 0;
        right: calc(101 / 1000 * 100vw);
        width: calc(139 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019__img01 {
        right: 101px;
        width: 139px;
    }
}

.p-top-2019__img02 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: calc(313 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2019__img02 {
        top: 0;
        right: 0;
        left: 0;
        width: 313px;
    }
}

@media (min-width: 768px) {
    .p-top-2019__img02 {
        top: calc(205 / 1000 * 100vw);
        right: 0;
        left: 0;
        width: calc(448 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019__img02 {
        top: 205px;
        width: 448px;
    }
}

.p-top-2019-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(170, 186, 205, 0.5) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(170, 186, 205, 0.5) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2019-02
 * ---------------------------------- */
.p-top-2019-02 {
    position: relative;
    z-index: 10;
    padding-bottom: calc(50 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2019-02 {
        padding-bottom: 50px;
    }
}

@media (min-width: 768px) {
    .p-top-2019-02 {
        padding-bottom: calc(172 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019-02 {
        padding-bottom: 172px;
    }
}

.p-top-2019-02__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2019-02__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2019-02__inner {
        display: flex;
        column-gap: calc(75 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2019-02__inner {
        column-gap: 75px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2019-02__primary {
    position: relative;
    margin-bottom: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2019-02__primary {
        margin-bottom: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2019-02__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(403 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019-02__primary {
        width: 403px;
    }
}

.p-top-2019-02__secondary {
    position: relative;
    margin-top: 0;
    height: calc(320 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2019-02__secondary {
        height: 320px;
    }
}

@media (min-width: 768px) {
    .p-top-2019-02__secondary {
        margin-top: calc(-48 / 1000 * 100vw);
        width: calc(414 / 1000 * 100vw);
        height: calc(425 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019-02__secondary {
        margin-top: -48px;
        width: 414px;
        height: 425px;
    }
}

.p-top-2019-02__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2019-02__secondary-inner {
        width: 310px;
    }
}

@media (min-width: 768px) {
    .p-top-2019-02__secondary-inner {
        width: 100%;
    }
}

.p-top-2019-02__text-box {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 20;
}

.p-top-2019-02__img01 {
    position: absolute;
    top: calc(10 / 375 * 100vw);
    left: calc(20 / 375 * 100vw);
    z-index: 10;
    width: calc(70 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2019-02__img01 {
        top: 10px;
        left: 20px;
        width: 70px;
    }
}

@media (min-width: 768px) {
    .p-top-2019-02__img01 {
        top: calc(5 / 1000 * 100vw);
        left: calc(80 / 1000 * 100vw);
        width: calc(100 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019-02__img01 {
        top: 5px;
        left: 80px;
        width: 100px;
    }
}

.p-top-2019-02__img02 {
    position: absolute;
    top: calc(181 / 375 * 100vw);
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: calc(313 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2019-02__img02 {
        top: 181px;
        right: 0;
        left: 0;
        width: 313px;
    }
}

@media (min-width: 768px) {
    .p-top-2019-02__img02 {
        top: calc(223 / 1000 * 100vw);
        right: 0;
        left: 0;
        width: calc(402 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2019-02__img02 {
        top: 223px;
        width: 402px;
    }
}

.p-top-2019-02-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(170, 186, 205, 0.5) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2020
 * ---------------------------------- */
.p-top-2020 {
    position: relative;
    z-index: 10;
    padding-bottom: calc(64 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020 {
        padding-bottom: 64px;
    }
}

@media (min-width: 768px) {
    .p-top-2020 {
        padding-bottom: calc(90 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020 {
        padding-bottom: 90px;
    }
}

.p-top-2020__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2020__inner {
        display: flex;
        flex-direction: row-reverse;
        column-gap: calc(140 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2020__inner {
        column-gap: 140px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2020__primary {
    position: relative;
    margin-bottom: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020__primary {
        margin-bottom: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2020__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(352 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020__primary {
        width: 352px;
    }
}

.p-top-2020__secondary {
    position: relative;
    margin-top: 0;
    height: calc(211 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020__secondary {
        height: 211px;
    }
}

@media (min-width: 768px) {
    .p-top-2020__secondary {
        margin-top: calc(-63 / 1000 * 100vw);
        width: calc(213 / 1000 * 100vw);
        height: calc(301 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020__secondary {
        margin-top: -63px;
        width: 213px;
        height: 301px;
    }
}

.p-top-2020__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

.p-top-2020__img01 {
    width: calc(148 / 375 * 100vw);
    margin: 0 auto;
}

@media (min-width: 375px) {
    .p-top-2020__img01 {
        width: 148px;
    }
}

@media (min-width: 768px) {
    .p-top-2020__img01 {
        width: calc(212 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020__img01 {
        width: 212px;
    }
}

/* ----------------------------------
 * 2020-01
 * ---------------------------------- */
.p-top-2020-01 {
    position: relative;
    margin-top: 0;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020-01 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01 {
        padding-bottom: calc(113 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01 {
        padding-bottom: 113px;
    }
}

.p-top-2020-01__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020-01__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__inner {
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__inner {
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2020-01__secondary {
    position: relative;
    z-index: 11;
    height: calc(488 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2020-01__secondary {
        height: 488px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(923 / 1000 * 100vw);
        height: calc(584 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__secondary {
        width: 923px;
        height: 584px;
    }
}

.p-top-2020-01__secondary::before {
    position: absolute;
    top: 0;
    left: -20px;
    transform: scale(var(--scale, 0));
    transform-origin: center;
    mix-blend-mode: multiply;
    background-image: url(../img/bg_year_patarn04.webp);
    background-position: center 90px;
    background-size: 528px auto;
    background-repeat: no-repeat;
    width: calc(100% + 40px);
    height: 100%;
    content: '';
}

@media (min-width: 768px) {
    .p-top-2020-01__secondary::before {
        top: 0;
        left: calc(57 / 1000 * 100vw);
        background-size: calc(584 / 1000 * 100vw) auto;
        width: calc(780 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__secondary::before {
        top: 0;
        left: 57px;
        background-size: 780px auto;
        width: 780px;
    }
}

.p-top-2020-01__secondary-inner {
    position: relative;
    margin: 0 auto calc(22 / 375 * 100vw);
    width: calc(353 / 375 * 100vw);
    height: calc(246 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020-01__secondary-inner {
        margin-bottom: 22px;
        width: 353px;
        height: 246px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__secondary-inner {
        margin: 0;
        padding-top: calc(188 / 1000 * 100vw);
        width: calc(371 / 1000 * 100vw);
        height: calc(386 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__secondary-inner {
        margin: 0;
        padding-top: 188px;
        width: 371px;
        height: 386px;
    }
}

.p-top-2020-01__text-box {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 20;
}

@media (min-width: 768px) {
    .p-top-2020-01__text-box {
        top: calc(32 / 1000 * 100vw);
        left: calc(94 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__text-box {
        top: 32px;
        left: 94px;
    }
}

.p-top-2020-01__img01 {
    position: absolute;
    top: calc(82 / 375 * 100vw);
    right: 0;
    z-index: 10;
    width: calc(260 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2020-01__img01 {
        top: 82px;
        right: 0;
        width: 260px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__img01 {
        top: calc(188 / 1000 * 100vw);
        width: calc(371 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__img01 {
        top: 188px;
        width: 371px;
    }
}

.p-top-2020-01__img03 {
    position: absolute;
    top: calc(194 / 375 * 100vw);
    left: calc(177 / 375 * 100vw);
    z-index: 10;
    width: calc(94 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2020-01__img03 {
        top: 194px;
        left: 177px;
        width: 94px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__img03 {
        top: calc(223 / 1000 * 100vw);
        left: calc(262 / 1000 * 100vw);
        width: calc(140 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__img03 {
        top: 223px;
        left: 262px;
        width: 140px;
    }
}

.p-top-2020-01__secondary-inner02 {
    position: relative;
    margin: calc(10 / 375 * 100vw) auto calc(31 / 375 * 100vw);
    width: calc(353 / 375 * 100vw);
    height: calc(231 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2020-01__secondary-inner02 {
        margin-top: 10px;
        margin-bottom: 31px;
        width: 353px;
        height: 231px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__secondary-inner02 {
        position: absolute;
        top: calc(138 / 1000 * 100vw);
        right: calc(60 / 1000 * 100vw);
        margin: 0;
        width: calc(323 / 1000 * 100vw);
        height: calc(348 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__secondary-inner02 {
        top: 138px;
        right: 60px;
        width: 323px;
        height: 348px;
    }
}

.p-top-2020-01__text-box02 {
    position: absolute;
    top: 0;
    right: calc(16 / 375 * 100vw);
    z-index: 20;
}

@media (min-width: 375px) {
    .p-top-2020-01__text-box02 {
        right: 16px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__text-box02 {
        right: calc(57 / 1000 * 100vw);
        width: calc(204 / 1000 * 100vw);
        height: calc(204 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__text-box02 {
        right: 57px;
        width: 204px;
        height: 204px;
    }
}

.p-top-2020-01__img02 {
    position: absolute;
    top: calc(111 / 375 * 100vw);
    left: calc(-20 / 375 * 100vw);
    z-index: 10;
    width: calc(224 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2020-01__img02 {
        top: 111px;
        left: -20px;
        width: 224px;
    }
}

@media (min-width: 768px) {
    .p-top-2020-01__img02 {
        top: calc(166 / 1000 * 100vw);
        left: inherit;
        right: 0;
        width: calc(320 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2020-01__img02 {
        top: 166px;
        width: 320px;
    }
}

.p-top-2020-01-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(170, 186, 205, 0.5) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2022
 * ---------------------------------- */
.p-top-2022 {
    position: relative;
    z-index: 10;
    padding-bottom: calc(80 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2022 {
        padding-bottom: 80px;
    }
}

@media (min-width: 768px) {
    .p-top-2022 {
        padding-bottom: calc(72 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022 {
        padding-bottom: 72px;
    }
}

.p-top-2022__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2022__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__inner {
        display: flex;
        column-gap: calc(88 / 1000 * 100vw);
        flex-direction: row-reverse;
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2022__inner {
        column-gap: 88px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2022__primary {
    position: relative;
}

@media (min-width: 768px) {
    .p-top-2022__primary {
        flex-shrink: 0;
        width: calc(360 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022__primary {
        width: 360px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__head-title {
        width: 115%;
    }
}

.p-top-2022__secondary {
    position: relative;
    margin-top: calc(30 / 1000 * 100vw);
    height: calc(365 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2022__secondary {
        margin-top: 30px;
        height: 365px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__secondary {
        flex-shrink: 0;
        margin-top: 0;
        width: calc(448 / 1000 * 100vw);
        height: calc(480 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022__secondary {
        width: 448px;
        height: 480px;
    }
}

.p-top-2022__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2022__secondary-inner {
        width: 330px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__secondary-inner {
        width: 100%;
    }
}

.p-top-2022__text-box {
    position: absolute;
    top: calc(117 / 375 * 100vw);
    left: 0;
    z-index: 20;
}

@media (min-width: 375px) {
    .p-top-2022__text-box {
        top: 117px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__text-box {
        top: calc(169 / 1000 * 100vw);
        left: 0;
        width: calc(184 / 1000 * 100vw);
        height: calc(184 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022__text-box {
        top: 169px;
        width: 184px;
        height: 184px;
    }
}

.p-top-2022__img01 {
    position: absolute;
    top: 0;
    right: calc(18 / 375 * 100vw);
    z-index: 10;
    width: calc(57 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2022__img01 {
        right: 18px;
        width: 57px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__img01 {
        top: calc(4 / 1000 * 100vw);
        right: calc(17 / 1000 * 100vw);
        width: calc(81 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022__img01 {
        top: 4px;
        right: 17px;
        width: 81px;
    }
}

.p-top-2022__img02 {
    position: absolute;
    top: 0;
    right: calc(94 / 375 * 100vw);
    z-index: 10;
    margin: 0;
    width: calc(182 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2022__img02 {
        top: 0;
        right: 94px;
        width: 182px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__img02 {
        top: 0;
        right: inherit;
        left: calc(29 / 1000 * 100vw);
        width: calc(260 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022__img02 {
        left: 29px;
        width: 260px;
    }
}

.p-top-2022__img03 {
    position: absolute;
    top: calc(132 / 375 * 100vw);
    right: 0;
    z-index: 10;
    margin: 0;
    width: calc(162 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2022__img03 {
        top: 132px;
        width: 162px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__img03 {
        top: calc(197 / 1000 * 100vw);
        width: calc(230 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022__img03 {
        top: 197px;
        width: 230px;
    }
}

.p-top-2022__img04 {
    position: absolute;
    bottom: 0;
    left: calc(75 / 375 * 100vw);
    z-index: 10;
    margin: 0;
    width: calc(74 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2022__img04 {
        bottom: 0;
        left: 75px;
        width: 74px;
    }
}

@media (min-width: 768px) {
    .p-top-2022__img04 {
        bottom: 0;
        left: calc(54 / 1000 * 100vw);
        width: calc(105 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2022__img04 {
        bottom: 0;
        left: 54px;
        width: 105px;
    }
}

.p-top-2022-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(170, 186, 205, 0.5) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2023
 * ---------------------------------- */
.p-top-2023 {
    position: relative;
    z-index: 10;
    padding-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2023 {
        padding-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2023 {
        padding-bottom: calc(120 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2023 {
        padding-bottom: 120px;
    }
}

.p-top-2023__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2023__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2023__inner {
        display: flex;
        column-gap: calc(115 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2023__inner {
        column-gap: 115px;
        padding-right: 60px;
        padding-left: 60px;
    }
}

.p-top-2023__primary {
    position: relative;
    margin-bottom: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2023__primary {
        margin-bottom: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2023__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(379 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2023__primary {
        width: 379px;
    }
}

.p-top-2023__secondary {
    position: relative;
    margin-top: 0;
    height: calc(306 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2023__secondary {
        height: 306px;
    }
}

@media (min-width: 768px) {
    .p-top-2023__secondary {
        margin-top: 0;
        width: calc(386 / 1000 * 100vw);
        height: calc(362 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2023__secondary {
        width: 386px;
        height: 362px;
    }
}

.p-top-2023__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2023__secondary-inner {
        width: 270px;
    }
}

@media (min-width: 768px) {
    .p-top-2023__secondary-inner {
        width: 100%;
    }
}

.p-top-2023__img01 {
    position: absolute;
    top: 0;
    left: calc(20 / 375 * 100vw);
    z-index: 10;
    width: calc(215 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2023__img01 {
        top: 0;
        left: 20px;
        width: 215px;
    }
}

@media (min-width: 768px) {
    .p-top-2023__img01 {
        top: 0;
        left: 0;
        width: calc(306 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2023__img01 {
        top: 0;
        left: 0;
        width: 306px;
    }
}

.p-top-2023__img02 {
    position: absolute;
    top: calc(146 / 375 * 100vw);
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: calc(270 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2023__img02 {
        top: 146px;
        right: 0;
        left: 0;
        width: 270px;
    }
}

@media (min-width: 768px) {
    .p-top-2023__img02 {
        top: calc(201 / 1000 * 100vw);
        right: 0;
        left: inherit;
        width: calc(269 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2023__img02 {
        top: 201px;
        width: 269px;
    }
}

.p-top-2023-bg {
    position: absolute;
    top: 0;
    left: 0;
    opacity: .7;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-image: linear-gradient(180deg, rgba(170, 186, 205, 0) 0%, rgba(170, 186, 205, 0.5) 50%, rgba(255, 255, 255, 1) 100%);
    width: 100vw;
    height: 100%;
}

/* ----------------------------------
 * 2026-first
 * ---------------------------------- */
.p-top-2026-first {
    position: relative;
    z-index: 100;
    padding-bottom: 0;
}

/* ----------------------------------
 * 2026
 * ---------------------------------- */
.p-top-2026 {
    position: relative;
    z-index: 10;
    padding-bottom: 0;
}

.p-top-2026__inner {
    padding-right: calc(20 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2026__inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

@media (min-width: 768px) {
    .p-top-2026__inner {
        display: flex;
        column-gap: calc(75 / 1000 * 100vw);
        margin: 0 auto;
        padding-right: calc(60 / 1000 * 100vw);
        padding-bottom: calc(121 / 1000 * 100vw);
        padding-left: calc(60 / 1000 * 100vw);
        max-width: 1000px;
    }
}

@media (min-width: 1000px) {
    .p-top-2026__inner {
        column-gap: 75px;
        margin: 0 auto;
        padding-right: 60px;
        padding-bottom: 121px;
        padding-left: 60px;
    }
}

.p-top-2026__primary {
    position: relative;
    margin-bottom: calc(30 / 375 * 100vw);
}

@media (min-width: 375px) {
    .p-top-2026__primary {
        margin-bottom: 30px;
    }
}

@media (min-width: 768px) {
    .p-top-2026__primary {
        flex-shrink: 0;
        margin-bottom: 0;
        width: calc(403 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2026__primary {
        width: 403px;
    }
}

.p-top-2026__head-year {
    opacity: 0.6;
    padding-top: calc(320 / 375 * 100vw);
    text-align: center;
}

@media (min-width: 375px) {
    .p-top-2026__head-year {
        padding-top: 320px;
    }
}

@media (min-width: 768px) {
    .p-top-2026__head-year {
        padding-top: calc(303 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2026__head-year {
        padding-top: 303px;
    }
}

.p-top-2026__img01 {
    position: absolute;
    top: 0;
    right: calc(20 / 375 * 100vw);
    z-index: 10;
    width: calc(101 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2026__img01 {
        right: 20px;
        width: 101px;
    }
}

@media (min-width: 768px) {
    .p-top-2026__img01 {
        top: 0;
        right: 0;
        left: 0;
        transform: translateX(calc(324 / 1000 * 100vw));
        margin: 0 auto;
        width: calc(144 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2026__img01 {
        transform: translateX(324px);
        width: 144px;
    }
}

.p-top-2026__img02 {
    position: absolute;
    top: calc(136 / 375 * 100vw);
    right: 0;
    left: 0;
    z-index: 10;
    mix-blend-mode: multiply;
    margin: 0 auto;
    width: calc(350 / 375 * 100vw);
    height: auto;

}

@media (min-width: 375px) {
    .p-top-2026__img02 {
        top: 136px;
        right: 0;
        left: 0;
        width: 350px;
    }
}

@media (min-width: 768px) {
    .p-top-2026__img02 {
        top: calc(23 / 1000 * 100vw);
        width: calc(500 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2026__img02 {
        top: 23px;
        width: 500px;
    }
}

.p-top-2026__secondary {
    position: relative;
    margin-top: 0;
    margin-right: calc(-20 / 375 * 100vw);
    margin-left: calc(-20 / 375 * 100vw);
    width: calc(100% + 40 / 375 * 100vw);
    height: calc(336 / 375 * 100vw);
    pointer-events: none;
}

@media (min-width: 375px) {
    .p-top-2026__secondary {
        margin-right: -20px;
        margin-left: -20px;
        width: calc(100% + 40px);
        height: 336px;
    }
}

@media (min-width: 768px) {
    .p-top-2026__secondary {
        margin-top: calc(45 / 1000 * 100vw);
        margin-right: auto;
        margin-left: auto;
        width: calc(333 / 1000 * 100vw);
        height: calc(207 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2026__secondary {
        margin-top: 45px;
        width: 333px;
        height: 207px;
    }
}

.p-top-2026__secondary-inner {
    position: relative;
    margin: 0 auto;
    width: 100%;
    height: 100%;
}

@media (min-width: 375px) {
    .p-top-2026__secondary-inner {
        width: 100%;
    }
}

@media (min-width: 768px) {
    .p-top-2026__secondary-inner {
        width: 100%;
    }
}

.p-top-2026__img03 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 10;
    margin: 0 auto;
    width: calc(233 / 375 * 100vw);
    height: auto;
}

@media (min-width: 375px) {
    .p-top-2026__img03 {
        width: 233px;
    }
}

@media (min-width: 768px) {
    .p-top-2026__img03 {
        width: calc(333 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2026__img03 {
        width: 333px;
    }
}

.p-top-2026__img04 {
    position: relative;
    right: auto;
    left: auto;
    bottom: auto;
    z-index: 1;
    overflow: hidden;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    max-width: 100vw;
}

.p-top-2026__video {
    display: block;
    width: 100%;
    height: 506px;
    object-fit: cover;
    vertical-align: top;
    aspect-ratio: 898 / 506;
}

@media (min-width: 768px) {
    .p-top-2026__video {
        height: auto;
    }
}

/* ----------------------------------
 * 水平線映像
 * ---------------------------------- */
.p-top-2026__finale-video {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
}

/* ----------------------------------
 * 2026-last
 * ---------------------------------- */
.p-top-2026-last {
    position: relative;
    padding-bottom: 0;
}

/* ----------------------------------
 * フィナーレ キャッチコピー
 * ---------------------------------- */
.p-top-2026__future,
.p-top-2026__finale-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 120;
    color: #fff;
    font-weight: 700;
    font-size: calc(24 / 375 * 100vw);
    letter-spacing: 0.1em;
    text-align: center;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
}

.p-top-2026__finale-text {
    z-index: 121;
}

@media (min-width: 375px) {
    .p-top-2026__future,
    .p-top-2026__finale-text {
        font-size: 2.4rem;
    }
}

@media (min-width: 768px) {
    .p-top-2026__future,
    .p-top-2026__finale-text {
        font-size: calc(30 / 1000 * 100vw);
    }
}

@media (min-width: 1000px) {
    .p-top-2026__future,
    .p-top-2026__finale-text {
        font-size: 3rem;
    }
}

/* ----------------------------------
 * 動画領域の白フェード
 * ---------------------------------- */
.p-top-2026__finale-white {
    position: absolute;
    inset: 0;
    z-index: 3;
    background: #fff;
    opacity: 0;
    pointer-events: none;
}

/* ==================================
 * Dialog
 * ================================== */
.bl_dialog {
    position: fixed;
    margin: auto;
    inset: 0;
    border: 0;
    background-color: #fff;
    padding: 0;
    width: min(100%, calc(100% - 40px));
    height: min(530px, calc(100% - 40px));
    overscroll-behavior-y: contain;
}

@media (min-width: 768px) {
    .bl_dialog {
        width: min(700px, calc(100% - 40px));
        height: min(610px, calc(100% - 40px));
    }
}

@media (min-width: 1000px) {
    .bl_dialog {
        width: 700px;
        height: 607px;
    }
}

body:has(.bl_dialog[open]) {
    overflow: hidden;
}

.bl_dialog::backdrop {
    background-color: rgba(0, 0, 0, 0.6);
}

.modal-close-button {
    position: absolute;
    top: 15px;
    right: 15px;
    cursor: pointer;
    margin: 0;
    border: none;
    background-color: transparent;
    padding: 0;
    width: 32px;
    height: 32px;
}

@media (min-width: 768px) {
    .modal-close-button {
        top: 20px;
        right: 20px;
    }
}

.bl_dialog__inner {
    width: 100%;
    height: 100%;
}

.bl_dialog__inner-head {
    background-color: #333333;
    padding: 25px 12px;
    min-height: 190px;
}

@media (min-width: 768px) {
    .bl_dialog__inner-head {
        padding: 30px 100px;
        min-height: 250px;
    }
}

.bl_dialog__inner-head-year {
    margin-bottom: 12px;
    color: #fff;
    font-weight: 500;
    font-size: calc(40 / 375 * 100vw);
    line-height: 1;
    letter-spacing: 0.03em;
}

@media (min-width: 375px) {
    .bl_dialog__inner-head-year {
        font-size: 4.0rem;
    }
}

@media (min-width: 768px) {
    .bl_dialog__inner-head-year {
        margin-top: 5px;
        margin-bottom: 25px;
    }
}

.bl_dialog__inner-head-title {
    color: #fff;
    font-weight: 700;
    font-size: calc(22 / 375 * 100vw);
    line-height: 1.5;
}

@media (min-width: 375px) {
    .bl_dialog__inner-head-title {
        font-size: 2.2rem;
    }
}

@media (min-width: 768px) {
    .bl_dialog__inner-head-title {
        font-size: calc(28 / 1000 * 100vw);
        line-height: 1.6;
    }
}

@media (min-width: 1000px) {
    .bl_dialog__inner-head-title {
        font-size: 2.8rem;
    }
}

.bl_dialog__inner-text {
    padding: 20px 12px;
    font-weight: 500;
    font-size: calc(16 / 375 * 100vw);
    line-height: 1.7;
}

@media (min-width: 375px) {
    .bl_dialog__inner-text {
        font-size: 1.6rem;
    }
}

@media (min-width: 768px) {
    .bl_dialog__inner-text {
        padding: calc(30 / 1000 * 100vw) calc(100 / 1000 * 100vw);
        font-size: calc(18 / 1000 * 100vw);
        line-height: 1.9;
    }
}

@media (min-width: 1000px) {
    .bl_dialog__inner-text {
        padding: 30px 100px;
        font-size: 1.8rem;
    }
}

.bl_dialog__inner-text-indent-small {
    padding-left: 1.25em;
    font-size: calc(12 / 375 * 100vw);
    text-indent: -1.25em;
}

@media (min-width: 375px) {
    .bl_dialog__inner-text-indent-small {
        font-size: 1.2rem;
    }
}

.bl_dialog__inner-text-indent-small--mt1em {
    display: inline-block;
    margin-top: 1em;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.bl_dialog[open] {
    animation-duration: 200ms;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
    animation-name: fadeIn;
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.bl_dialog {
    display: block;
    position: fixed;
    animation-duration: 200ms;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;

    animation-name: fadeOut;
    inset-block: 0;
    inset-inline: 0;
}