/* --------------------
 Company
-------------------- */
:root {
    --color-blue-steel: #6a8ac1;
    --color-blue-steel-rgb: 106, 138, 193;
    --color-blue-sky: #8ea8d5;
    --color-blue-sky-rgb: 142, 168, 213;
    --color-blue-pale: #b8caea;
    --color-blue-pale-rgb: 184, 202, 234;
    --color-purple-vivid: #9f00b8;
    --color-purple-vivid-rgb: 159, 0, 184;
    --color-gray-mid: #707070;
    --color-gray-mid-rgb: 112, 112, 112;
    --color-gray-light: #d9d9d9;
    --color-gray-light-rgb: 217, 217, 217;
    --color-gray-lighter: #e5e5e5;
    --color-gray-lighter-rgb: 229, 229, 229;
    --color-gray-offwhite: #f5f5f5;
    --color-gray-offwhite-rgb: 245, 245, 245;
    --color-gray-verylight: #f8f8f8;
    --color-gray-verylight-rgb: 248, 248, 248;
    --color-red-soft: #e37979;
    --color-red-soft-rgb: 227, 121, 121;
    --color-pink-pastel: #f2cdcd;
    --color-pink-pastel-rgb: 242, 205, 205;
    --color-pink-pale: #e59e9e;
    --color-pink-pale-rgb: 229, 158, 158;
    --color-white: #ffffff;
    --color-white-rgb: 255, 255, 255;
}

img {
    height: auto;
}

.msg {
    margin: 0 0 51.2820512821vw;
    overflow-x: clip;
    padding: 30.7692307692vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .msg {
        margin: 0 0 18.0555555556vw;
        padding: 8.3333333333vw 0 0;
    }
}

@keyframes rotate360 {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

.msg__deco-01 {
    animation: rotate360 60s linear 0s infinite normal forwards;
    background-image: url(../images/pages/company/company-message-deco-01.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    height: 75.641025641vw;
    position: absolute;
    right: -51.2820512821vw;
    top: -7.6923076923vw;
    transform: rotate(0);
    transform-origin: center;
    width: 75.641025641vw;
    z-index: -1;
}

@media (min-width: 769px) {
    .msg__deco-01 {
        height: 40.9722222222vw;
        right: -20.8333333333vw;
        top: -2.0833333333vw;
        width: 40.9722222222vw;
    }
}

.msg__deco-02 {
    animation: rotate360 60s linear 0s infinite normal forwards;
    background-image: url(../images/pages/company/company-message-deco-02.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: -71.7948717949vw;
    height: 69.8717948718vw;
    left: -30.7692307692vw;
    position: absolute;
    transform: rotate(0);
    transform-origin: center;
    width: 69.8717948718vw;
    z-index: -1;
}

@media (min-width: 769px) {
    .msg__deco-02 {
        bottom: -23.6111111111vw;
        height: 37.8472222222vw;
        left: -19.4444444444vw;
        width: 37.8472222222vw;
    }
}

.msg-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .msg-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.msg__title {
    color: var(--color-red-soft);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 10.2564102564vw;
    text-align: center;
}

@media (min-width: 769px) {
    .msg__title {
        font-size: 3.3333333333rem;
        margin: 0 0 2.7777777778vw;
    }
}

.msg__item-wrapper {
    position: relative;
}

.msg__item-wrapper:before {
    background-image: url(../images/pages/company/company-message-bg-mb.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    bottom: auto;
    content: "";
    display: block;
    height: 84.6153846154vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 7.6923076923vw;
    width: 84.6153846154vw;
    z-index: -1;
}

@media (min-width: 769px) {
    .msg__item-wrapper:before {
        background-image: url(../images/pages/company/company-message-bg.webp);
        height: 55vw;
        left: -2.0833333333vw;
        top: -9.7222222222vw;
        width: 55vw;
    }
}

.msg__item {
    margin: 0 0 7.6923076923vw;
}

@media (min-width: 769px) {
    .msg__item {
        margin: 0 0 3.4722222222vw;
    }
}

.msg__item:last-child {
    margin-bottom: 0;
}

.msg__item__title {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 2;
    margin: 0 0 3.0769230769vw;
    text-align: center;
}

@media (min-width: 769px) {
    .msg__item__title {
        font-size: 1.6666666667rem;
        margin: 0 0 1.1111111111vw;
    }
}

.msg__item__title:last-child {
    margin-bottom: 0;
}

.msg__item__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .msg__item__content p {
        font-size: 1.3333333333rem;
    }
}

.mission {
    margin: 0 0 20.5128205128vw;
    position: relative;
}

@media (min-width: 769px) {
    .mission {
        margin: 0 0 25vw;
    }
}

.mission-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .mission-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.mission__title {
    color: var(--color-red-soft);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.625rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 10.2564102564vw;
    text-align: center;
}

@media (min-width: 769px) {
    .mission__title {
        font-size: 3.3333333333rem;
        margin: 0 0 2.7777777778vw;
    }
}

.mission__subtitle {
    color: var(--color-red-soft);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 10.2564102564vw;
    text-align: center;
}

@media (min-width: 769px) {
    .mission__subtitle {
        font-size: 2.5rem;
        margin: 0 0 2.7777777778vw;
    }
}

.mission__content {
    margin: 0 -2.5641025641vw 15.3846153846vw;
}

@media (min-width: 769px) {
    .mission__content {
        margin: 0;
    }
}

.mission__content p {
    font-family: var(--ff-tsukushi-b);
    font-size: 0.8125rem;
    font-weight: 700;
    line-height: 2;
    margin: 0 0 1.5em;
    text-align: center;
}

@media (min-width: 769px) {
    .mission__content p {
        font-size: 1.6666666667rem;
    }
}

.mission__content p:last-child {
    margin-bottom: 0;
}

.mission__gallery {
    height: 110.2564102564vw;
    pointer-events: none;
    position: relative;
}

@media (min-width: 769px) {
    .mission__gallery {
        bottom: 0;
        height: auto;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
    }
}

.mission__gallery__item {
    bottom: auto;
    left: auto;
    position: absolute;
    right: auto;
    top: auto;
}

.mission__gallery__item:nth-child(1) {
    right: -5.1282051282vw;
    top: 0;
}

@media (min-width: 769px) {
    .mission__gallery__item:nth-child(1) {
        right: 0;
        top: -6.9444444444vw;
    }
}

.mission__gallery__item:nth-child(1) img {
    border-radius: 5.1282051282vw 0 0 5.1282051282vw;
    width: 51.5576923077vw;
}

@media (min-width: 769px) {
    .mission__gallery__item:nth-child(1) img {
        border-radius: 2.7777777778vw 0 0 2.7777777778vw;
        width: 26.5972222222vw;
    }
}

.mission__gallery__item:nth-child(2) {
    left: -5.1282051282vw;
    top: 25.641025641vw;
}

@media (min-width: 769px) {
    .mission__gallery__item:nth-child(2) {
        bottom: -6.25vw;
        left: 0;
        top: auto;
    }
}

.mission__gallery__item:nth-child(2) img {
    border-radius: 0 5.1282051282vw 5.1282051282vw 0;
    width: 41.8653846154vw;
}

@media (min-width: 769px) {
    .mission__gallery__item:nth-child(2) img {
        border-radius: 0 2.7777777778vw 2.7777777778vw 0;
        width: 21.5972222222vw;
    }
}

.mission__gallery__item:nth-child(3) {
    right: -2.5641025641vw;
    top: 74.358974359vw;
}

@media (min-width: 769px) {
    .mission__gallery__item:nth-child(3) {
        bottom: -17.3611111111vw;
        right: 0;
        top: auto;
    }
}

.mission__gallery__item:nth-child(3) img {
    border-radius: 5.1282051282vw 0 0 5.1282051282vw;
    width: 36.6153846154vw;
}

@media (min-width: 769px) {
    .mission__gallery__item:nth-child(3) img {
        border-radius: 2.7777777778vw 0 0 2.7777777778vw;
        width: 18.8888888889vw;
    }
}

.member {
    background-color: var(--color-gray-verylight);
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .member {
        padding: 5.5555555556vw 0;
    }
}

.member-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .member-container {
        max-width: 82.3611111111vw;
        padding: 0;
    }
}

.member__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .member__title {
        margin: 0 0 3.3333333333vw;
        padding: 2.2222222222vw 0 0;
    }
}

.member__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .member__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.member__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .member__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.member__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .member__title__en {
        font-size: 1.1666666667rem;
    }
}

.member__main {
    align-items: stretch;
    background-color: var(--color-white);
    border-radius: 5.1282051282vw;
    display: flex;
    flex-flow: row-reverse wrap;
    gap: 10.2564102564vw;
    margin: 0;
    padding: 5.1282051282vw 5.1282051282vw 5.1282051282vw;
}

@media (min-width: 769px) {
    .member__main {
        border-radius: 2.7777777778vw;
        flex-wrap: nowrap;
        gap: 5.1388888889vw;
        padding: 4.1666666667vw 7.2916666667vw 4.1666666667vw;
    }
}

.member__main__profile {
    flex: 0 0 100%;
}

@media (min-width: 769px) {
    .member__main__profile {
        flex: 0 0 25.4861111111vw;
    }
}

.member__main__profile__fig {
    text-align: center;
}

.member__main__profile__fig img {
    border-radius: 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .member__main__profile__fig img {
        border-radius: 1.3888888889vw;
    }
}

.member__main__contents {
    flex: 0 0 100%;
}

@media (min-width: 769px) {
    .member__main__contents {
        flex: 0 0 37.2916666667vw;
    }
}

.member__main__contents__name {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.6;
    margin: 0 0 5.1282051282vw;
}

@media (min-width: 769px) {
    .member__main__contents__name {
        font-size: 1.6666666667rem;
        margin: 0 0 1.3888888889vw;
    }
}

.member__main__contents__content {
    margin: 0 0 10.2564102564vw;
}

@media (min-width: 769px) {
    .member__main__contents__content {
        margin: 0 0 2.7777777778vw;
    }
}

.member__main__contents__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 0 1.7em;
}

@media (min-width: 769px) {
    .member__main__contents__content p {
        font-size: 1.3333333333rem;
    }
}

.member__main__contents__content p:last-child {
    margin-bottom: 0;
}

.member__main__contents__detail {
    background-color: var(--color-gray-verylight);
    border-radius: 5.1282051282vw;
    padding: 5.1282051282vw 5.1282051282vw;
}

@media (min-width: 769px) {
    .member__main__contents__detail {
        border-radius: 1.3888888889vw;
        padding: 1.3888888889vw 1.9444444444vw;
    }
}

.member__main__contents__detail__title {
    border-bottom: 0.2564102564vw solid var(--color-gray-lighter);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0 0 2.0512820513vw;
    padding: 0 0 2.0512820513vw;
}

@media (min-width: 769px) {
    .member__main__contents__detail__title {
        border-bottom-width: 0.0694444444vw;
        font-size: 1.1666666667rem;
        margin: 0 0 0.6944444444vw;
        padding: 0 0 0.6944444444vw;
    }
}

.member__main__contents__detail__content p {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.6;
    margin: 0;
}

@media (min-width: 769px) {
    .member__main__contents__detail__content p {
        font-size: 1.1666666667rem;
    }
}

.member__main__contents__detail__table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    width: 100%;
}

@media (max-width: 768px) {
    .member__main__contents__detail__table {
        display: block;
    }
}

@media (max-width: 768px) {
    .member__main__contents__detail__table > tbody {
        display: block;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .member__main__contents__detail__table > tbody > tr {
        display: block;
        margin: 0 0 4.1025641026vw;
        width: 100%;
    }

    .member__main__contents__detail__table > tbody > tr:last-child {
        margin-bottom: 0;
    }
}

.member__main__contents__detail__table > tbody > tr > th, .member__main__contents__detail__table > tbody > tr > td {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4;
    padding: 0;
    text-align: left;
    vertical-align: top;
    width: auto;
}

@media (max-width: 768px) {
    .member__main__contents__detail__table > tbody > tr > th, .member__main__contents__detail__table > tbody > tr > td {
        display: block;
        width: 100%;
    }
}

@media (min-width: 769px) {
    .member__main__contents__detail__table > tbody > tr > th, .member__main__contents__detail__table > tbody > tr > td {
        font-size: 1.1666666667rem;
        padding: 0 0 0.5555555556vw;
    }
}

.member__main__contents__detail__table > tbody > tr > th {
    font-weight: 700;
}

@media (max-width: 768px) {
    .member__main__contents__detail__table > tbody > tr > th {
        margin: 0 0 1.0256410256vw;
    }
}

@media (min-width: 769px) {
    .member__main__contents__detail__table > tbody > tr > th {
        padding-right: 0.8333333333vw;
        text-align: right;
        white-space: nowrap;
        width: 8.3333333333vw;
    }
}

.profile {
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .profile {
        padding: 5.5555555556vw 0;
    }
}

.profile-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .profile-container {
        max-width: 59.7222222222vw;
        padding: 0;
    }
}

.profile__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .profile__title {
        margin: 0 0 3.3333333333vw;
        padding: 2.2222222222vw 0 0;
    }
}

.profile__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .profile__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.profile__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .profile__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.profile__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .profile__title__en {
        font-size: 1.1666666667rem;
    }
}

.profile__table {
    background-color: var(--color-white);
    border: 0.5128205128vw solid var(--color-gray-lighter);
    border-collapse: separate;
    border-radius: 5.1282051282vw;
    border-spacing: 0;
    margin: 0;
    width: 100%;
}

@media (min-width: 769px) {
    .profile__table {
        border: 0.1388888889vw solid var(--color-gray-lighter);
        border-radius: 1.3888888889vw;
    }
}

.profile__table > tbody > tr > th, .profile__table > tbody > tr > td {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4;
    padding: 3.0769230769vw 2.0512820513vw;
    text-align: left;
    vertical-align: middle;
    width: auto;
}

@media (min-width: 769px) {
    .profile__table > tbody > tr > th, .profile__table > tbody > tr > td {
        font-size: 1.25rem;
        padding: 0.9375vw 1.1111111111vw;
    }
}

.profile__table > tbody > tr > th {
    background-color: var(--color-pink-pale);
    border-bottom: 0.2564102564vw solid var(--color-white);
    color: var(--color-white);
    width: 25.641025641vw;
}

@media (min-width: 769px) {
    .profile__table > tbody > tr > th {
        border-bottom-width: 0.0694444444vw;
        width: 13.1944444444vw;
    }
}

.profile__table > tbody > tr > td {
    border-bottom: 0.2564102564vw solid var(--color-gray-lighter);
}

@media (min-width: 769px) {
    .profile__table > tbody > tr > td {
        border-bottom-width: 0.0694444444vw;
    }
}

.profile__table > tbody > tr:first-child > th {
    border-top-left-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .profile__table > tbody > tr:first-child > th {
        border-top-left-radius: 1.3194444444vw;
    }
}

.profile__table > tbody > tr:first-child > td {
    border-top-right-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .profile__table > tbody > tr:first-child > td {
        border-top-right-radius: 1.3194444444vw;
    }
}

.profile__table > tbody > tr:last-child > th, .profile__table > tbody > tr:last-child > td {
    border-bottom: none;
}

.profile__table > tbody > tr:last-child > th {
    border-bottom-left-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .profile__table > tbody > tr:last-child > th {
        border-bottom-left-radius: 1.3194444444vw;
    }
}

.profile__table > tbody > tr:last-child > td {
    border-bottom-right-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .profile__table > tbody > tr:last-child > td {
        border-bottom-right-radius: 1.3194444444vw;
    }
}

.case {
    background-color: var(--color-gray-verylight);
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .case {
        padding: 5.5555555556vw 0;
    }
}

.case-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .case-container {
        max-width: 82.3611111111vw;
        padding: 0;
    }
}

.case__title {
    margin: 0 0 15.3846153846vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .case__title {
        margin: 0 0 5.5555555556vw;
        padding: 2.2222222222vw 0 0;
    }
}

.case__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .case__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.case__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .case__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.case__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .case__title__en {
        font-size: 1.1666666667rem;
    }
}

.case__fig {
    text-align: center;
}

.case__fig img {
    mix-blend-mode: multiply;
    width: 82.0512820513vw;
}

@media (min-width: 769px) {
    .case__fig img {
        width: 55.5555555556vw;
    }
}

.media {
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .media {
        padding: 5.5555555556vw 0;
    }
}

.media-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .media-container {
        max-width: 82.3611111111vw;
        padding: 0;
    }
}

.media__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .media__title {
        margin: 0 0 3.3333333333vw;
        padding: 2.2222222222vw 0 0;
    }
}

.media__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .media__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.media__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .media__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.media__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .media__title__en {
        font-size: 1.1666666667rem;
    }
}

.media__item {
    align-items: center;
    background-color: var(--color-gray-verylight);
    border-radius: 5.1282051282vw;
    display: flex;
    flex-flow: row wrap;
    gap: 5.1282051282vw;
    margin: 0 0 10.2564102564vw;
    padding: 7.6923076923vw 5.1282051282vw;
}

@media (min-width: 769px) {
    .media__item {
        border-radius: 2.7777777778vw;
        flex-wrap: nowrap;
        gap: 2.7777777778vw;
        margin: 0 0 2.7777777778vw;
        padding: 2.7777777778vw 2.7777777778vw;
    }
}

.media__item:last-child {
    margin-bottom: 0;
}

.media__item__fig {
    flex: 0 0 100%;
    min-width: 0;
}

@media (min-width: 769px) {
    .media__item__fig {
        flex: 0 0 25vw;
    }
}

.media__item__fig img {
    border-radius: 2.5641025641vw;
    width: 100%;
}

@media (min-width: 769px) {
    .media__item__fig img {
        border-radius: 1.3888888889vw;
    }
}

.media__item__main {
    flex: 0 0 100%;
    min-width: 0;
}

@media (min-width: 769px) {
    .media__item__main {
        flex: 1 1 auto;
    }
}

.media__item__main__title {
    font-family: var(--ff-tsukushi-b);
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 4.1025641026vw;
    padding: 0;
}

@media (min-width: 769px) {
    .media__item__main__title {
        font-size: 2.1666666667rem;
        margin: 0 0 1.1111111111vw;
    }
}

.media__item__main__content {
    margin: 0 0 7.6923076923vw;
}

@media (min-width: 769px) {
    .media__item__main__content {
        margin: 0 0 2.0833333333vw;
    }
}

.media__item__main__content p {
    font-size: 0.875rem;
    line-height: 1.6;
    margin: 0 0 1.5em;
}

@media (min-width: 769px) {
    .media__item__main__content p {
        font-size: 1.3333333333rem;
    }
}

.media__item__main__content p:last-child {
    margin-bottom: 0;
}

.media__item__main__action a {
    align-items: center;
    border: 1px solid var(--color-gray-mid);
    border-radius: 7.6923076923vw;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 400;
    height: 13.8461538462vw;
    justify-content: center;
    margin: 0;
    min-width: 61.5384615385vw;
    padding: 0 11.5384615385vw;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .media__item__main__action a {
        border-radius: 2.0833333333vw;
        font-size: 1.6666666667rem;
        height: 4.1666666667vw;
        min-width: 20.4861111111vw;
        padding: 0 3.125vw;
    }
}

.media__item__main__action a:after {
    background-color: var(--color-gray-mid);
    bottom: 0;
    content: "";
    display: block;
    height: 5.1282051282vw;
    margin: auto;
    -webkit-mask-image: url(../../img/common/icon-arrow-gray.png);
    mask-image: url(../../img/common/icon-arrow-gray.png);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: 5.1282051282vw;
    top: 0;
    width: 5.1282051282vw;
}

@media (min-width: 769px) {
    .media__item__main__action a:after {
        height: 1.3888888889vw;
        right: 1.3888888889vw;
        width: 1.3888888889vw;
    }
}

.media__item__main__action a[href^="javascript:"] {
    opacity: 0.3;
    pointer-events: none;
}

.history {
    background-color: var(--color-gray-verylight);
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .history {
        padding: 5.5555555556vw 0;
    }
}

.history-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .history-container {
        max-width: 59.7222222222vw;
        padding: 0;
    }
}

.history__title {
    margin: 0 0 7.6923076923vw;
    padding: 6.1538461538vw 0 0;
    position: relative;
}

@media (min-width: 769px) {
    .history__title {
        margin: 0 0 3.3333333333vw;
        padding: 2.2222222222vw 0 0;
    }
}

.history__title:before {
    background-color: var(--color-blue-sky);
    border-radius: 0.5128205128vw;
    content: "";
    display: block;
    height: 1.0256410256vw;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 10.2564102564vw;
}

@media (min-width: 769px) {
    .history__title:before {
        border-radius: 0.1388888889vw;
        height: 0.2777777778vw;
        width: 3.4722222222vw;
    }
}

.history__title__ja {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0 0 2.0512820513vw;
    text-align: center;
}

@media (min-width: 769px) {
    .history__title__ja {
        font-size: 3rem;
        margin: 0 0 0.5555555556vw;
    }
}

.history__title__en {
    color: var(--color-blue-sky);
    font-family: var(--ff-tsukushi-b);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 769px) {
    .history__title__en {
        font-size: 1.1666666667rem;
    }
}

.history__table {
    background-color: var(--color-white);
    border: 0.5128205128vw solid var(--color-gray-lighter);
    border-collapse: separate;
    border-radius: 5.1282051282vw;
    border-spacing: 0;
    margin: 0;
    width: 100%;
}

@media (min-width: 769px) {
    .history__table {
        border: 0.1388888889vw solid var(--color-gray-lighter);
        border-radius: 1.3888888889vw;
    }
}

.history__table > tbody > tr > th, .history__table > tbody > tr > td {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4;
    padding: 3.0769230769vw 2.0512820513vw;
    text-align: left;
    vertical-align: middle;
    width: auto;
}

@media (min-width: 769px) {
    .history__table > tbody > tr > th, .history__table > tbody > tr > td {
        font-size: 1.25rem;
        padding: 0.9375vw 1.1111111111vw;
    }
}

.history__table > tbody > tr > th {
    background-color: var(--color-pink-pale);
    border-bottom: 0.2564102564vw solid var(--color-white);
    color: var(--color-white);
    width: 25.641025641vw;
}

@media (min-width: 769px) {
    .history__table > tbody > tr > th {
        border-bottom-width: 0.0694444444vw;
        width: 13.1944444444vw;
    }
}

.history__table > tbody > tr > td {
    border-bottom: 0.2564102564vw solid var(--color-gray-lighter);
}

@media (min-width: 769px) {
    .history__table > tbody > tr > td {
        border-bottom-width: 0.0694444444vw;
    }
}

.history__table > tbody > tr:first-child > th {
    border-top-left-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .history__table > tbody > tr:first-child > th {
        border-top-left-radius: 1.3194444444vw;
    }
}

.history__table > tbody > tr:first-child > td {
    border-top-right-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .history__table > tbody > tr:first-child > td {
        border-top-right-radius: 1.3194444444vw;
    }
}

.history__table > tbody > tr:last-child > th, .history__table > tbody > tr:last-child > td {
    border-bottom: none;
}

.history__table > tbody > tr:last-child > th {
    border-bottom-left-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .history__table > tbody > tr:last-child > th {
        border-bottom-left-radius: 1.3194444444vw;
    }
}

.history__table > tbody > tr:last-child > td {
    border-bottom-right-radius: 4.8717948718vw;
}

@media (min-width: 769px) {
    .history__table > tbody > tr:last-child > td {
        border-bottom-right-radius: 1.3194444444vw;
    }
}

.action {
    padding: 20.5128205128vw 0;
}

@media (min-width: 769px) {
    .action {
        padding: 5.5555555556vw 0;
    }
}

.action-container {
    margin: 0 auto;
    padding: 0 5.1282051282vw;
    width: 100%;
}

@media (min-width: 769px) {
    .action-container {
        max-width: 67.7777777778vw;
        padding: 0;
    }
}

.action a {
    align-items: center;
    border: 1px solid var(--color-gray-mid);
    border-radius: 7.6923076923vw;
    color: inherit;
    display: flex;
    flex-flow: row nowrap;
    font-family: var(--ff-tsukushi-b);
    font-size: 1.125rem;
    font-weight: 400;
    height: 13.8461538462vw;
    justify-content: center;
    margin: 0 auto;
    min-width: 61.5384615385vw;
    padding: 0 11.5384615385vw;
    position: relative;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 769px) {
    .action a {
        border-radius: 2.0833333333vw;
        font-size: 1.6666666667rem;
        height: 4.1666666667vw;
        min-width: 20.4861111111vw;
        padding: 0 3.125vw;
    }
}

.action a:after {
    background-color: var(--color-gray-mid);
    bottom: 0;
    content: "";
    display: block;
    height: 5.1282051282vw;
    margin: auto;
    -webkit-mask-image: url(../../img/common/icon-arrow-gray.png);
    mask-image: url(../../img/common/icon-arrow-gray.png);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    position: absolute;
    right: 5.1282051282vw;
    top: 0;
    width: 5.1282051282vw;
}

@media (min-width: 769px) {
    .action a:after {
        height: 1.3888888889vw;
        right: 1.3888888889vw;
        width: 1.3888888889vw;
    }
}

.action a[href^="javascript:"] {
    opacity: 0.3;
    pointer-events: none;
}