@property --main-color {
    syntax: "<color>";
    inherits: false;
    initial-value: #174C82;
}
@property --main-hover-color {
    syntax: "<color>";
    inherits: false;
    initial-value: #0041C0;
}
@property --main-bg-color {
    syntax: "<color>";
    inherits: false;
    initial-value: #1F5DA1;
}
@property --base-color {
    syntax: "<color>";
    inherits: false;
    initial-value: #FBFBFB;
}
@property --lightgray-color {
    syntax: "<color>";
    inherits: false;
    initial-value: #f2f2f2;
}

.xxxxx{
    color: white !important;
    background: red !important;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}
iframe {
    width: 100%;
    height: 100%;
    display: block;
}
video {
    object-fit: cover;
    transform: translateZ(0);
}
a {
    color: #0442C0;
}

p {
    line-height: 1.8;
}

strong {
    font-weight: 700;
    color: #4D4D4D;
}

@media(max-width: 767px) {
    .pconly{ display: none !important; }
}
@media(min-width: 768px) {
    .sponly{ display: none !important; }
}

.nowrap{
    white-space: nowrap;
}

.holdings-header__company {
    font-size: clamp(12px, 1.1vw, 14px);
}
.holdings-header__nav__list__item .item-link {
    align-items: center;
    gap: 5px;
}
.c-nav-icon {
    filter: brightness(0) invert(.5);
}
.target-icon {
    display: inline-block;
    min-width: 14px;
    height: 14px;
    background: url(/assets/common/images/icon-target.svg) no-repeat center / contain;
}
.pdf-icon {
    display: inline-block;
    min-width: 16px;
    height: 16px;
    background: url(/assets/common/images/icon-pdf.svg) no-repeat center / contain;
}

@media(max-width: 980px) {
    .holdings-header__contact {
        display: none;
    }
}
@media (min-width: 981px) {
    .holdings-header__main__in .horizontal{
        margin-right: 100px;
    }
    .holdings-header__search__panel {
        display: flex;
        align-items: center;
        gap: 20px;
    }
    .holdings-header a.holdings-header__contact-link {
        font-size: 12px;
        color: #666;
        white-space: nowrap;
    }
}

.l-container {
    width: min(100% - 30px, 1280px);
    max-width: 100%;
    margin-inline: auto;
    padding: 0;
}

.underline {
    text-decoration: underline;
}

/* -------------- footer -------------- */
.l-footer {
    background: #1F3347;
}
.footer-container {
    width: min(100% - 40px, 1280px);
    margin-inline: auto;
}
.p-footer__header {
    margin: 0 calc(50% - 50vw);
    padding: 30px calc(50vw - 50%);
    border-bottom: solid 1px #384B5F;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 24px;
}
.p-footer__logo {
    margin-right: auto;
}
.c-btn-download {
    display: flex;
    align-items: center;
    gap: .6em;
    border-radius: 999px;
    background: #FFF;
    color: var(--main-bg-color);
    font-weight: 700;
    font-size: clamp(14px, 1.2vw, 16px);
    padding: 1em;
    width: max-content;
}
.book-icon {
    display: block;
    aspect-ratio: 1/1;
    min-width: 28px;
    background: var(--main-bg-color) url(/assets/common/images/icon-book.svg);
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 999px;
}
.dl-icon {
    display: block;
    aspect-ratio: 1/1;
    min-width: 15px;
    background: url(/assets/common/images/icon-dl.svg) no-repeat center / contain;
}
@media(max-width: 599px) {
    .p-footer__logo {
        max-width: 105px;
    }
}

.p-footer__nav {
    padding: 30px 0;
}
.p-footer__section-title a,
.p-footer__item a {
    color: #FFF;
    word-break: keep-all;
}
.p-footer__item a small{
    font-size: 0.75em;
}
.p-footer__item--disabled a {
    pointer-events: none;
    color: #aaa;
}

.p-footer__section-title {
    font-size: clamp(16px, 1.3vw, 18px);
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 20px;
}
.p-footer__section-title ~ .p-footer__section-title {
    margin-top: 0.5em;
}
.p-footer__section-title::after {
    content: "";
    background: url(/assets/common/images/arrow-type-d.svg) no-repeat center / contain;
    min-width: 24px;
    height: 24px;
    filter: brightness(0) invert(1);
}
.p-footer__section-title--externallink::after {
    background: url(/assets/common/images/icon-target-white.svg) no-repeat center / contain;
    min-width: 16px;
    height: 16px;
}
.p-footer__links {
    padding: 1.5em 0;
}
.p-footer__list {
    display: grid;
    gap: 1em;
}
.p-footer__links-company .p-footer__list {
    grid-template-columns: repeat(3, auto);
}
.p-footer__links-sustainability .p-footer__list {
    grid-template-columns: repeat(2, auto);
}
.p-footer__item {
    font-size: clamp(12px, 3vw, 16px);
    line-height: 1.4;
    display: flex;
    align-items: center;
    gap: 0.75em;
}
.p-footer__item::before {
    content: "";
    min-width: 10px;
    height: 1px;
    background: #fff;
}
.p-footer__item--disabled::before {
    background: #aaa;
}
@media(max-width: 980px) {
    .p-footer__section:first-of-type {
        border-bottom: solid 1px #384B5F;
        margin-bottom: 1.5em;
    }
}
@media(max-width: 599px) {
    .p-footer__links-company .p-footer__list,
    .p-footer__links-sustainability .p-footer__list {
        grid-template-columns: repeat(2, 1fr);
    }
    .p-footer__item-sm-hidden {
        display: none;
    }
    .p-footer__section-title {
        justify-content: space-between;
    }
}
@media(min-width: 981px) {
    .p-footer__grid {
        display: flex;
        justify-content: space-between;
    }
    .p-footer__section {
        border-right: solid 1px #384B5F;
        padding-right: 30px;
        margin-right: 30px;
    }
    .p-footer__section:last-child {
        border-right: 0;
        padding-right: 0;
        margin-right: 0;
    }
}

.footer-bottom {
    padding: 20px 0;
    border-top: solid 1px #CCC;
    background: #f2f2f2;
}
.footer-bottom-content {
    padding: 0 1em;
}
.footer-links-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5em 1em;
}
.footer-links-list .footer-link-item:not(:last-of-type) {
    border-right: solid 1px #ccc;
    padding-right: 1em;
}
.footer-link-item,
.footer-country,
.footer-copyright {
    font-size: 12px;
}
.footer-link,
.footer-country,
.footer-copyright {
    color: #666;
}
.footer-country {
    display: flex;
    align-items: center;
    gap: 0 6px;
}
.areacountry-icon {
    display: block;
    width: 15px;
    height: 15px;
    background: url(/assets/common/images/holdings-icn-areacountry.svg?var=2) no-repeat center / contain;
}
.footer-copyright {
    line-height: 1.6;
}
@media(max-width: 740px) {
    .footer-country {
        margin: 20px 0;
        justify-content: center;
    }
    .footer-copyright {
        text-align: center;
        display: block;
    }
    .footer-copyright span {
        display: block;
    }
}
@media(min-width: 741px) {
    .footer-bottom-links {
        display: flex;
    }
    .footer-country {
        margin-left: auto;
    }
    .footer-copyright {
        display: block;
        margin: 15px 0 0 0;
    }
}

/* -------------- breadcrumbs -------------- */
.breadcrumbs-box {
    padding: 12px 20px;
}
.holdings-footer__breadcrumbs-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 0;
}
.holdings-footer__breadcrumbs__list__item {
    font-size: clamp(10px, 3vw, 13px);
    line-height: 1.4;
}
.holdings-footer__breadcrumbs__list__item a {
    color: #666;
}
@media (max-width: 980px) {
    .breadcrumbs-nav {
        background: #fff;
    }
    .breadcrumbs-box {
        padding: .6em 0;
    }
}
@media (min-width: 981px) {
    .breadcrumbs-nav {
        position: absolute;
        left: 0;
        right: 0;
        z-index: 1;
    }
    .holdings-footer__breadcrumbs-list,
    .holdings-footer__breadcrumbs__list__item a {
        color: #fff;
    }
    .holdings-footer__breadcrumbs__list__item:not(:last-child)::after {
        filter: brightness(0) invert(1);
    }
}

/* -------------- 共通 -------------- */

.l-main {
    background: url(/assets/common/images/bg.jpg) no-repeat top center / cover;
}

.l-content {
    padding: 60px 0;
}
@media(max-width:767px) {
    .l-content {
        padding: 30px 0;
    }
}

.l-section {
    padding: 30px 0;
}

.l-section__title {
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 700;
    color: var(--main-color);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}
.l-section__title::before {
    font-family: "Roboto Condensed", sans-serif;
    content: attr(data-en);
    display: block;
    font-size: clamp(70px, 7vw, 100px);
    font-weight: 700;
    background: linear-gradient(92deg,
        rgba(192, 211, 241, 0.60) 1.25%,
        rgba(204, 221, 248, 0.50) 95.77%
    );
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
@media(max-width:599px) {
    .l-section__title {
        font-size: 20px;
    }
    .l-section__title::before {
        font-size: 68px;
    }
}

.l-section__header-center {
    position: relative;
    text-align: center;
}
.l-section__header-center .l-section__title {
    line-height: 2.5em;
    margin: 0 0 1.5em 0;
}
@media(max-width:599px) {
    .l-section__header-center .l-section__title {
        line-height: 3em;
    }
}

.l-section__header-center .l-section__title::before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.primary-btn {
    display: block;
    background: var(--main-bg-color);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 1em 1.6em;
    border-radius: 999px;
    width: max-content;
    display: flex;
    align-items: center;
    gap: 12px;
}
.next-arrow {
    min-width: 14px;
    height: 14px;
}

.p-content__link {
    font-size: clamp(16px, 1.3vw, 18px);
    font-weight: 700;
    line-height: 1.4;
    border-radius: 20px;
    color: #000;
    background: var(--base-color);
    filter: drop-shadow(0 10px 15px rgba(31, 93, 161, 0.10));
    padding: 1.2em 2em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.4em;
}
.p-content__link--disabled{
    pointer-events: none;
    background: #e8e8e8;
    filter: none;
}
.p-content__link .c-icon {
    min-width: 24px;
}
@media(max-width:499px) {
    .p-content__link {
        width: 100%;
    }
}

.c-icon {
    display: block;
    aspect-ratio: 1/1;
}

.icon-a {
    background: url(/assets/common/images/arrow-type-a.svg) no-repeat center / contain;
}
.icon-b {
    background: url(/assets/common/images/arrow-type-b.svg) no-repeat center / contain;
}
.icon-c {
    background: url(/assets/common/images/arrow-type-c.svg) no-repeat center / contain;
}
.icon-d {
    background: url(/assets/common/images/arrow-type-d.svg) no-repeat center / contain;
}
.icon-e {
    background: url(/assets/common/images/arrow-type-e.svg) no-repeat center / contain;
}

.u-cover-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* -------------- Top page -------------- */

/* mv */
.p-mv {
    position: relative;
}
.p-mv__inner {
}
.p-mv__video {
    position: relative;
    width: min(100%, 1440px);
    margin-inline: auto;
    overflow: hidden;
    /* margin-top: -50px; */
}
.p-mv__video video {
    /* aspect-ratio: 1440 / 677; */
    aspect-ratio: 1440 / 750;
    width: 100%;
    height: 100%;
    display: block;
}

.p-mv__content {
    width: min( calc( 100vw - 80px ), 1380px );
    border-radius: 0 40px 40px 0;
    background: var(--base-color);
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
    position: absolute;
    left: 0;
    right: 0;
    /* bottom: -80px; */
    top: 97%;
    margin-inline: auto;
    z-index: 1;
}
.p-mv__content::after {
    content: "";
    position: absolute;
    top: 0;
    right: 100%;
    width: 100vw;
    height: 100%;
    background: var(--base-color);
    box-shadow: -20px 10px 20px 0px rgba(31, 93, 161, 0.10);
    z-index: -1;
    pointer-events: none;
}
.p-mv__text-box {
    width: min(100vw - 160px , 1000px);
    margin-inline: auto;
    padding: 2em 0;
}
@media(max-width:767px) {
    .p-mv__content {
        width: calc(100% - 40px);
        position: relative;
        bottom: 5px;
        border-radius: 0 20px 20px 0;
    }
    .p-mv__text-box {
        width: calc(100% - 30px);
        margin: 0;
        text-align: justify;
        padding: 1em 0;
    }
    .p-mv__text {
        font-size: 14px;
    }
}

/* バナー */
.p-banner-area {
    /* padding: 80px 0 30px 0; */
    padding: 110px 0 30px 0;
}
.p-banner-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 20px;
}
.p-banner {
    display: grid;
    grid-template-columns: 60% 1fr;
    border-radius: 20px;
    background: #FFF;
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
}
.p-banner__image {
    border-radius: 20px;
    aspect-ratio: 400 / 164;
    overflow: hidden;
}
.p-banner__title {
    font-size: clamp(16px, 1.4vw, 18px);
    font-weight: 700;
    color: var(--main-color);
}
.p-banner__link-text {
    font-size: clamp(14px, 1.3vw, 16px);
    color: #000;
    display: flex;
    align-items: center;
    gap: 6px;
}
.p-banner__link-text::after {
    content: "";
    min-width: 24px;
    height: 24px;
    background: url(/assets/common/images/arrow-type-a.svg) no-repeat center / contain;
}
@media(max-width:767px) {
    .p-banner-area {
        padding: 0 0 30px 0;
    }
    .p-banner-list,
    .p-banner {
        grid-template-columns: repeat(1, 1fr);
    }
    .p-banner__image {
        border-radius: 20px 20px 0 0;
        aspect-ratio: 34 / 16;
    }
    .p-banner__content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1em 2em;
    }
    .p-banner__title {
        font-size: 20px;
    }
    .p-banner__link-text::after {
        min-width: 32px;
        height: 32px;
    }
}
@media(min-width:768px) {
    .p-banner__content {
        display: grid;
        place-content: center;
        text-align: center;
    }
}

/* ニュース */
.p-news {
    display: grid;
    grid-template-columns: 23% 1fr;
    gap: 24px;
}
.p-news__header{
    margin-top: 10px;
}
.p-news__btn {
    margin-top: 30px;
}
.p-news__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.p-news__body{
    position: relative;
    background: var(--main-bg-color);
    overflow: visible;
}
.p-news__thumbnail {
    aspect-ratio: 28/14;
    border-radius: 20px;
    background: #FFF;
    overflow: hidden;
}
.p-news__thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media(max-width:767px) {
    .p-news__thumbnail img {
        object-fit: contain;
    }
}
.p-news__date {
    font-size: clamp(12px, 1.1vw, 14px);
    color: #C2C2C2;
    margin: 1em 0;
}
.p-news__link {
    font-size: clamp(14px, 1.2vw, 16px);
    line-height: 150%;
    color: #FFF;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}
@media(max-width:767px) {
    .p-news {
        grid-template-columns: 1fr;
    }
    .p-news__body {
        /* margin: 0 calc(50% - 50vw); */
        padding: 24px 0;
    }
    .p-news__body::before,
    .p-news__body::after {
        content: "";
        position: absolute;
        top: 0;
        width: 100vw;
        height: 100%;
        background: var(--main-bg-color);
        z-index: -1;
        pointer-events: none;
    }
    .p-news__body::before {
        left: 100%;
    }
    .p-news__body::after {
        right: 100%;
    }
    .p-news__list {
        grid-template-columns: 1fr;
    }
    .p-news__item {
        display: grid;
        grid-template-columns: 1fr 1.4fr;
        gap: 8px;
    }
    .p-news__thumbnail {
        aspect-ratio: 14 / 10;
        border-radius: 10px;
    }
    .p-news__btn {
        margin: -1em 0 0 auto;
    }
}
@media(min-width:768px) {
    .p-news__body{
        border-radius: 20px 0 0 20px;
        padding: 40px 0 40px 60px;
    }
    .p-news__body::after{
        content: "";
        position: absolute;
        top: 0;
        left: 100%;
        width: 100vw;
        height: 100%;
        background: var(--main-bg-color);
        z-index: -1;
        pointer-events: none;
    }
}

/* ピックアップ */
.p-pickup__content {
    width: min(100%, 900px);
    margin-inline: auto;
}
.p-pickup__card {
    display: grid;
    grid-template-columns: 60% 1fr;
    border-radius: 20px;
    background: #FFF;
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
}
.p-pickup__image {
    aspect-ratio: 560/228;
    border-radius: 20px;
    overflow: hidden;
}
.p-pickup__body {
    position: relative;
    text-align: center;
    padding: 1.4em;
}
.p-pickup__label {
    font-size: clamp(20px, 3vw, 26px);
    font-weight: 700;
    color: var(--main-color);
}
.p-pickup__link {
    font-size: clamp(16px, 1.3vw, 18px);
    font-weight: 700;
    color: #000;
}
.p-pickup__link-text {
    display: flex;
    align-items: center;
    gap: 1em;
}
.p-pickup__link-text::after {
    content: "";
    min-width: 40px;
    height: 40px;
    background: url(/assets/common/images/arrow-type-c.svg) no-repeat center / contain;
}
@media(max-width:767px) {
    .p-pickup__card {
        grid-template-columns: 1fr;
    }
    .p-pickup__link {
        /* padding: 1em 0 0 0; */
    }
    .p-pickup__link-text {
        justify-content: flex-end;
    }
    .p-pickup__link-text::after {
        min-width: 32px;
        height: 32px;
    }
    .p-pickup__image {
        border-radius: 20px 20px 0 0;
        aspect-ratio: 34 / 16;
    }
    .p-pickup__body {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1em 2em;
    }
}
@media(min-width:768px) {
    .p-pickup__body {
        display: grid;
        place-content: center;
    }
    .p-pickup__link {
        position: absolute;
        right: 1.4em;
        bottom: 1.4em;
    }
}

/* 事業内容 */
.p-business__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 60px;
    align-items: center;
}
.p-business__label {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    line-height: 1.6;
}
.p-business__label span {
    display: inline-block;
}
.p-business__link-text {
    margin: 2em 0;
}
.p-business__btn {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}
@media(max-width:767px) {
    .p-business__content {
        grid-template-columns: repeat(1, 1fr);
    }
    .p-business__image {
        width: min(100%, 600px);
        margin-inline: auto;
        order: 2;
    }
}
@media(min-width:981px) {
    .p-business-area .p-business__body {
        padding-right: 80px;
    }
    .p-aboutus-area .p-aboutus__body {
        padding-left: 80px;
    }
}
.p-business__btn--service{
    position: relative;
    top: -0.5em;
}
.p-business__btn--service_label{
    position: absolute;
    display: block;
    width: 100%;
    text-align: center;
    font-size: 12px;
    font-weight: 400;
}
@media(max-width:767px) {
    .p-business__btn--service{
        position: static;
    }
    .p-business__btn--service_label{
        position: static;
        display: inline;
        margin-left: 1em;
    }
}

/* わたしたちについて */
.p-aboutus__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 60px;
    align-items: center;
}
.p-aboutus__link-text {
    margin: 2em 0;
}
@media(max-width:767px) {
    .p-aboutus__content {
        grid-template-columns: repeat(1, 1fr);
    }
    .p-aboutus__image {
        width: min(100%, 600px);
        margin-inline: auto;
    }
    .p-aboutus__link-text br{
        display: none;
    }
}
@media(min-width:768px) {
    .p-aboutus__btn {
        width: max-content;
    }
}
/* 事業内容 */
.p-business-content{
    background: #0056A8;
    border-radius: 20px;
    padding-bottom: 50px;
}
.p-business-content picture img{
    width: 100%;
}

.p-business-identity_section {
    text-align: center;
    padding: 60px 0 150px;
    border-radius: 20px;
    background-size: 100% 100%;
}
@media (max-width: 767px) {
    .p-business-identity_section {
        padding: 60px 20px ;
    }
}
.p-business-identity_section__title {
    display: inline-block;
    max-width: 720px;
    margin-bottom: 60px;
}
@media (max-width: 767px) {
    .p-business-identity_section__title{
        width: 60vw;
    }
}

.p-business-identity_section__service {
    display: inline-block;
    margin-bottom: 40px;
    max-width: 1120px;
}
@media (max-width: 767px) {
    .p-business-identity_section__service {
        width: 100%;
    }
}
.p-business-arrow {
    height: 235px;
    text-align: center;
    background-size: cover;
    position: relative;
    top: -100px;
    margin-bottom: -50px;
}
@media (max-width: 767px) {
    .p-business-arrow {
        background-position: center;
        background-repeat: no-repeat;
    }
}

.p-business-arrow__image {
    position: absolute;
    bottom: 50px;
    left: 50%;
    transform: translate(-50%, 0);
}

.p-business-image {
    text-align: center;
    margin-bottom: 50px;
}
@media (max-width: 767px) {
    .p-business-image {
        padding-left: 20px;
        padding-right: 20px;    
    }
    
}
.p-business-image__image{
    display: inline-block;
    max-width: 1120px;

}
@media (max-width: 767px) {
    .p-business-image__image{
        width: 100%;
    }
}

.p-business-image h2 {
    color: white;
    font-size: 24px;
    line-height: 200%;
}

.p-business-image__title {
    display: inline-block;
    margin-bottom: 50px;

}
@media (max-width: 767px) {
    .p-business-image__title {
        width: 100%;
    }
}

.p-business-global {
    background: #2E8AC0;
    max-width: 1120px;
    margin-inline: auto;
    border-radius: 20px;
    color: white;
    padding: 50px 0 50px;
}
@media (max-width: 767px) {
    .p-business-global {
        margin-left: 20px;
        margin-right: 20px;
        padding-left: 20px;
        padding-right: 20px;
    }
}

.p-business-global h2 {
    font-size: 24px;
    text-align: center;
    line-height: 150%;
    padding-bottom: 1em;
    font-weight: 700;
}
@media (max-width: 767px) {
    .p-business-global h2 {
        font-size: 4vw;
    }
}

.p-business-global_raw {
    display: flex;
}
@media (max-width: 767px) {
    .p-business-global_raw {
        display: block;
    }
}

.p-business-global_col {
    flex: 1;
}

img.p-business-global__image {
    margin-left: auto;
    width: 500px;
    display: block;
}
.p-business-global_col h3,
.p-business-global_col p {
    margin-left: 50px;
}
@media (max-width: 767px) {
    .p-business-global_col h3,
    .p-business-global_col p {
        margin-left: 0;
        text-align: center;
    }
}
.p-business-global_col h3 {
    font-size: 18px;
    font-weight: 700;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 200%;
}

/* 企業情報 */
.p-company-area {
    width: min(100% - 40px, 1360px);
    margin-inline: auto;
    border-radius: 20px;
    background: var(--main-bg-color);
    padding: 50px 0;
}
.p-company__title {
    color: #fff;
}
.p-company-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}
.p-company__card {
    display: grid;
    grid-template-columns: 46% 1fr;
    border-radius: 20px;
    background: #FFF;
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
}
.p-company__image {
    border-radius: 20px;
    overflow: hidden;
}
.p-company__body {
    padding: 50px;
}
.p-company__label {
    font-size: clamp(18px, 3vw, 26px);
    font-weight: 700;
    display: flex;
    align-items: center;
    color: #000;
}
.p-company__label .c-icon {
    min-width: 40px;
    margin-left: auto;
}
.p-company__text {
    color: #000;
    margin: 1.5em 0 0 0;
}
.p-company__link {
    padding: 1.4em 2em;
    border-radius: 20px;
}
@media(max-width:767px) {
    .p-company__header {
        padding-bottom: 24px;
    }
    .p-company-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }
    .p-company__image {
        border-radius: 20px 20px 0 0;
        aspect-ratio: 34 / 16;
    }
    .p-company__body {
        padding: 1em 2em;
    }
}
@media(max-width:599px) {
    .p-company-area {
        padding: 24px 0;
    }
    .p-company__card {
        grid-template-columns: 1fr;
    }
    .p-company__text {
        margin: 1em 0 0 0;
    }
}
@media(min-width:768px) {
    .p-company-list {
        width: 84%;
        margin: -1.5em 0 0 auto;
    }
    .p-company__card {
        grid-area: 1 / 1 / 2 / 3;
    }
}

/* サステナビリティ */
.p-sustainability__content {
    width: min(100%, 1120px);
    margin-inline: auto;
}
.p-sustainability__header {
    padding-bottom: 30px;
}
.p-sustainability__btn {
    margin-left: auto;
}
.p-sustainability-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
.p-sustainability__card {
    border-radius: 20px;
    color: #000;
    background: var(--base-color);
    box-shadow: 0 10px 15px rgba(31, 93, 161, 0.10);
    overflow: hidden;
}
.p-sustainability__card--disabled {
    pointer-events: none;
    background: #e8e8e8;
    box-shadow: none;
}

@media(max-width:767px) {
    .p-sustainability__card--disabled  .c-icon{
        display: none;
    }    
}
.p-sustainability__image {
    aspect-ratio: 34/16;
}
.p-sustainability__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-sustainability__body {
    font-size: clamp(16px, 2vw, 18px);
    font-weight: 700;
    line-height: 1.4;
    padding: 1em 2em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.4em;
}
.p-sustainability__body .c-icon {
    min-width: 40px;
}
.p-sustainability__link span {
    font-size: clamp(12px, 3vw, 14px);
}
@media(max-width:767px) {
    .p-sustainability__btn {
        margin-top: -1em;
    }
    .p-sustainability-list {
        grid-template-columns: repeat(1, 1fr);
        gap: 16px;
    }
}
@media(min-width:768px) {
    .p-sustainability__header {
        display: flex;
        align-items: flex-end;
    }
}

/* -------------- モーダル -------------- */
.p-mv__video-link {
    cursor: pointer;
}
.modal {
    filter: opacity(0);
    visibility: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    transition: 0.5s;
}
.modal.show {
    filter: opacity(1);
    visibility: visible;
}
/* モーダルコンテンツ */
.modal-content {
    position: relative;
    width: min(100% - 30px, 1000px);
    background: #fff;
    box-sizing: border-box;
}
.modal-header {
    padding: 40px 20px;
    text-align: center;
}
.modal-body {
    text-align: center;
    padding-bottom: 60px;
}
.youtube-box {
    aspect-ratio: 16 / 10;
    width: min(100% - 30px, 700px);
    width: calc(100% - 200px);
    margin-inline: auto;
    padding-bottom: 40px;
}
.modal-close-js {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px;
    height: 40px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;

}
.modal-close-js .dli-close {
    display: inline-block;
    line-height: 1;
    width: 100%;
    height: 1px;
    background: #1C43C0;
    position: relative;
    transform: rotate(45deg);
}
.modal-close-js .dli-close::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
}
.modal-var1 .modal-content,
.modal-var2 .modal-content,
.modal-var3 .modal-content,
.modal-var4 .modal-content  {
    background: #ffffff00;
}
.modal-var1 .youtube-box,
.modal-var2 .youtube-box,
.modal-var3 .youtube-box,
.modal-var4 .youtube-box{
    width: 100%;
    padding: 40px 0;
}
.modal-var1 .modal-close-js,
.modal-var2 .modal-close-js,
.modal-var3 .modal-close-js,
.modal-var4 .modal-close-js {
    top: 0;
    right: 0;
}
.modal-var1 .modal-close-js .dli-close,
.modal-var2 .modal-close-js .dli-close,
.modal-var3 .modal-close-js .dli-close,
.modal-var4 .modal-close-js .dli-close {
    background: #fff;
}
.js-modal-open:hover {
    opacity: .8;
    cursor: pointer;
}
@media (max-width: 740px) {
    .modal-header {
        padding: 20px 15px;
    }
    .modal-header .movie-description {
        margin: .5em 0 0 0;
    }
    .youtube-box {
        padding-bottom: 20px;
        width: calc(100% - 20px);

    }
    .modal-close-js {
        top: 15px;
        right: 15px;
        width: 30px;
        height: 30px;
    }
}

/* -------------- 下層ページ -------------- */
.p-page-header {
    position: relative;
    background: var(--main-bg-color);
    border-radius: 0 0 20px 20px;
    padding: 100px 0 60px 0;
    overflow: hidden;
}
.p-page-header__inner,
.p-page-content__inner {
    width: min(100%, 1120px);
    margin-inline: auto;
}
.p-page-header__title-box {
    position: relative;
    z-index: 1;
}
.p-page-header__title {
    font-size: clamp(16px, 3vw, 20px);
    color: #fff;
    gap: .6em;
}
.p-page-header__title::before {
    font-size: clamp(50px, 6vw, 80px);
    gap: 24px;
}
.p-page-header__image-box {
    position: absolute;
    top: 0;
    right: 0;
    width: 60%;
    height: 100%;
}
.p-page-header__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.p-page-header__image-box::after {
    content: "";
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, var(--main-bg-color), transparent);
    position: absolute;
    top: 0;
    left: 0;
}
@media (max-width: 599px) {
    .p-page-header {
        padding: 50px 0;
    }
    .p-page-header__title {
        font-size: 20px;
    }
    .p-page-header__title::before {
        font-size: 14px;
    }
}

.l-page-content {
    padding: 40px 0 80px 0;
}
@media (max-width: 599px) {
    .l-page-content {
        padding: 30px 0 60px 0;
    }
}

.l-page-content .page-block-heading {
    padding-top: 3em;
    margin-top: -3em;
}
.post-body {
    border-radius: 20px;
    background: var(--base-color);
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
    padding: 80px 0;
}
.post-body__text {
    width: min(100% - 40px, 900px);
    margin-inline: auto;
}
@media (max-width: 767px) {
    .post-body {
        padding: 30px 0;
    }
}

.post-body__text p,
.post-body__text ol,
.post-body__text ul {
    color: rgba(77, 77, 77, 0.80);
    margin: 2em 0;
}
.post-body__text p:first-of-type {
    margin-top: 0;
}
.post-body__text ul {
    list-style: square;
    margin-left: 1.5em;
}
.post-body__text ol li,
.post-body__text ul li {
    margin: 1em 0;
    line-height: 1.8;
}
.post-body__text ol {
    list-style: none;
    counter-reset: num;
    margin-left: 0;
}
.post-body__text ol > li {
    position: relative;
    padding-left: 20px;
}
.post-body__text ol > li::before {
    counter-increment: num;
    content: counter(num) '.';
    color: #1A1A1A;
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    margin-right: 10px;
}
.post-body__text ol li > ol {
    list-style: none;
    counter-reset: num;
    margin: 0;
}
.post-body__text ol li > ol li,
ol.ol-circle-li > li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 10px;
}
.post-body__text ol li > ol li::before,
ol.ol-circle-li > li::before {
    counter-increment: num;
    content: counter(num);
    position: absolute;
    left: 0;
    top: .5em;
    font-weight: 700;
    /* 丸のスタイル */
    width: 16px;
    height: 16px;
    border: solid 1px #1A1A1A;
    color: #1A1A1A;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 14px;
}
/* .post-body__text ol > li strong + p {
    margin: 1em 0 !important;
} */
.post-body__text h2 {
    position: relative;
    font-size: clamp(18px, 3vw, 32px);
    font-weight: 700;
    border-bottom: 2px solid #E6E6E6;
    margin-bottom: .8em;
    padding-bottom: .8em;
    line-height: 1.4;
}
.post-body__text h2 small {
    background: #205da1;
    color: white;
    font-size: 1rem;
    margin-left: 1em;
    padding: 0.2em 0.4em;
}
.post-body__text h2::after {
    content: "";
    width: 100px;
    height: 2px;
    background: var(--main-bg-color);
    position: absolute;
    bottom: -2px;
    left: 0;
}
.post-body__text table + h2{
    margin-top: 1em;
}
.post-body__text h3 {
    position: relative;
    font-size: clamp(18px, 3vw, 24px);
    font-weight: 700;
    border-bottom: 1px solid #E6E6E6;
    margin-bottom: 1em;
    padding-bottom: 1em;
    line-height: 1.6;
}
.post-body__text h4 {
    position: relative;
    font-size: clamp(16px, 1.3vw, 18px);
    font-weight: 700;
    margin-bottom: 1em;
    line-height: 1.6;
}
.post-body__text h5 {
    position: relative;
    font-size: clamp(14px, 1.2vw, 16px);
    font-weight: 700;
    margin-bottom: 1em;
    line-height: 1.6;
    color: #4D4D4D;
}
.post-body__text h4 + ol,
.post-body__text h5 + ol,
.post-body__text h5 + p {
    margin-top: 0;
}
.post-body__text h2 .heading-subtext,
.post-body__text h3 .heading-subtext,
.post-body__text h4 .heading-subtext,
.post-body__text h5 .heading-subtext{
    font-size: 1rem;
    font-weight: initial;
    color: rgba(77, 77, 77, 0.80);
    margin-left: 1em;
}
@media (max-width: 767px) {
    .post-body__text h2 .heading-subtext,
    .post-body__text h3 .heading-subtext,
    .post-body__text h4 .heading-subtext,
    .post-body__text h5 .heading-subtext{
        display: block;
        margin: 0.5em 0 0;
    }
}
.post-body__text h4 ~ p {
    /* margin: .5em 0; */
}
.post-body__text p{
    margin: 1em 0;
}
.post-body__text p + h2,
.post-body__text p + h3,
.post-body__text p + h4,
.post-body__text p + h5{
    margin-top: 2em;
}
.post-body__text p:last-child{
    margin-bottom: 2em;
}

.post-body__text a {
    color: var(--main-bg-color);
    line-height: 1.6;
}
.icon-link > i {
    filter: brightness(0) saturate(100%) invert(29%) sepia(26%) saturate(3015%) hue-rotate(188deg) brightness(94%) contrast(92%);
}

.post-body__text .wp-block-image {
    margin: 0;
}

.primary-link::after {
    content: "";
    display: inline-block;
    min-width: 12px;
    height: 12px;
    background: url(/assets/common/images/arrow-type-f.svg) no-repeat center / contain;
}

.target-link::after {
    content: "";
    display: inline-block;
    min-width: 12px;
    height: 12px;
    background: url(/assets/common/images/icon-target.svg) no-repeat center / contain;
    filter: brightness(0) saturate(100%) invert(29%) sepia(26%) saturate(3015%) hue-rotate(188deg) brightness(94%) contrast(92%);
    vertical-align: middle;
    margin-top: -.2em;
    margin-left: .4em;
}

.other-box {
    background: #F4F4F4;
    padding: 2em 2em 0 2em;
}

.indent-1 {
    margin-left: 1.2em !important;
}

.tbl-box {
    width: min(100%,640px);
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 16px 0;
}
.tbl-header {
    background: #F2F2F2;
    border-bottom: solid 1px #E6E6E6;
    padding: 1em;
    text-align: center;
}
.tbl-body {
    padding: 1em;
}
.tbl-body ul,
.tbl-body ol,
.tbl-body ul li,
.tbl-body ol li,
.post-body__text .tbl-body p {
    margin: .5em 0;
}
@media (max-width: 767px) {
    .tbl-box {
        grid-template-columns: repeat(1, 1fr); 
    }
    .tbl-content {
        border: solid 1px #E6E6E6;
    }
}
@media (min-width: 768px) {
    .tbl-box {
        border: solid 1px #E6E6E6;
    }
    .tbl-content:not(:last-of-type) {
        border-right: solid 1px #E6E6E6;
    }
}

.wp-block-table table {
    width: max-content;
    border: solid 1px #E6E6E6;
    border-width: 1px 0 0 1px;
}
.wp-block-table table th,
.wp-block-table table td {
    border: 0;
    padding: 1em 1.5em;
    border-right: solid 1px #E6E6E6;
    border-bottom: solid 1px #E6E6E6;
}
.wp-block-table table th {
    background: #F2F2F2;
}

/* タブ */
.tab-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 30px;
    padding-bottom: 40px;
}
@media (max-width: 767px) {
    .tab-menu {
        gap: 10px;
    }
}
.tab-menu__link {
    border-radius: 20px;
    background: var(--base-color);
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
}
.tab-menu__link a {
    display: block;
    color: #000;
    font-size: 18px;
    font-weight: 700;
    padding: 1.4em 1em;
}
.tab-menu__link.is-active {
    background: var(--main-bg-color);
}
.tab-menu__link.is-active a {
    color: #fff;
}
.tab-content:not(.is-active) {
    display: none;
}
@media (max-width: 599px) {
    .tab-menu {
        padding-bottom: 30px;
    }
    .tab-menu__link a {
        padding: 1em;
        font-size: 14px;
    }
}

/* -------------- page サステナビリティ -------------- */
.p-sustainability-content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3em;
}
@media (max-width: 767px) {
    .p-sustainability-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}
@media (max-width: 599px) {
    .p-sustainability-content .p-sustainability__card {
        border-radius: 15px;
    }
    .p-sustainability-content .p-sustainability__image {
        aspect-ratio: 165 / 82;
    }
    .p-sustainability-content .p-sustainability__body {
        position: relative;
        font-size: 14px;
        padding: 1em 10px;
        /* min-height: 5em; */
    }
    .p-sustainability-content .p-sustainability__body .c-icon {
        min-width: 32px;
        position: absolute;
        right: 10px;
        top: 0;
        margin-top: -16px;
    }
}

/* -------------- page セキュリティ -------------- */
.iso-mark {
    width: min(100%, 560px);
    margin-inline: auto;
    gap: 0 24px;
    text-align: center;
}
@media (min-width: 782px) {
    .csr-image-container {
        padding-bottom: 40px;
    }
}

/* -------------- page わたしたちについて -------------- */
.p-about__title {
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    margin: .6em 0 1em 0;
}
.p-about__text {
    text-align: center;
}
.p-about__slogan{
    position: relative;
    margin-bottom: 60px;
}
.p-about__slogan_text{
    position: relative;
    z-index: 2;
}
.p-about__slogan_text-copy{
    padding: 70px 0 60px;
    max-width: 532px;
}
@media (max-width: 767px) {
    .p-about__slogan_text-copy{
        padding: 10vw 0;
        width: 70vw;
    }
}
.p-about__slogan_text-title{
    max-width: 648px;
}
@media (max-width: 767px) {
    .p-about__slogan_text-title{
        width: 90vw;
    }
}
.p-about__slogan_bg{
    position: absolute;
    width: 660px;
    top: 0;
    right: 0;
    z-index: 1;
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
    border-radius: 30px;
}
@media (max-width: 767px) {
    .p-about__slogan_bg{
        width: 70vw;
    }
}
.p-about__px{
    display: grid;
    grid-template-columns: 520px 1fr;
    margin: 70px 0;
}
@media (max-width: 767px) {
    .p-about__px{
        display: block;
        margin: 70px 0;
    }
}
.p-about__px_logo{
    text-align: center;
}
.p-about__px_logo-image{
    width: 280px;
}
@media (max-width: 767px) {
    .p-about__px_logo-image{
        width: 40vw;
    }
}
.p-about__px_content {
    display: flex;
    align-items: center;
}
@media (max-width: 767px) {
    .p-about__px_content {
        justify-content: center;
    }
}
.p-about__px_content__text {
    margin: 0 40px 40px;
    font-size: 20px;
}
@media (max-width: 767px) {
    .p-about__px_content__text {
        margin: 1em;
        font-size: 3vw;
        text-align: center;
    }
}
.p-about__px_content__image{
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
    border-radius: 20px;
}
.p-movie-list {
    padding: 60px 0;
}
.p-movie-list__item {
    position: relative;
    border-radius: 20px;
    background: #FFF;
    box-shadow: 0 10px 15px 0 rgba(31, 93, 161, 0.10);
    z-index: 2;
}
.p-movie-list__item.pv-movie {
    position: relative;
    background: #EFF7FF;
    z-index: 1;
}
.p-movie-card {
    padding: 2em 1.6em;
}
.p-movie-card__title {
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 1.4em;
}
.p-movie-card__thumbnail {
    aspect-ratio: 300/167;
    border-radius: 20px;
    overflow: hidden;
}
@media (max-width: 767px) {
    .p-movie-list__item.pv-movie {
        border-radius: 20px;
        width: calc(100% - 60px);
        margin: 24px auto 0 auto;
    }
}
@media (max-width: 599px) {
    .p-movie-list {
        padding: 30px 0;
    }
    .p-movie-card {
        padding: 1em 1em;
    }
    .p-movie-card__title {
        margin-bottom: 1em;
    }
}
@media (min-width: 768px) {
    .p-movie-list {
        display: grid;
        grid-template-columns: 1fr 40%;
        align-items: center;
    }
    .p-movie-list__item.pv-movie {
        border-radius: 0 20px 20px 0;
        height: calc(100% - 60px);
        display: grid;
        place-content: center;
    }
}

.p-corporate-message {
    background: var(--main-bg-color);
    border-radius: 20px;
}
.lp-corporate-message__container {
    width: min(100% - 30px, 900px);
    margin-inline: auto;
    padding: 60px 0;
}
.p-corporate-message__header {
    padding: 1em 0;
}
.p-corporate-message__heading {
    font-size: clamp(24px, 2.2vw, 32px);
    font-weight: 700;
    color: #fff;
}
.p-corporate-message__heading::after {
    content: "";
    width: 100px;
    height: 2px;
    background: var(--base-color);
    display: block;
    margin-top: .6em;
}
.p-corporate-message__body {
    padding: 1em 0 2em 0;
}
@media (max-width: 767px) {
    .lp-corporate-message__container {
        padding: 30px 0;
    }
    .p-corporate-message__heading::after {
        width: 70px;
    }
}

.p-icon-list {
    display: grid;
    grid-template-columns: 1fr 40%;
    gap: 24px 0;
}
.p-icon-list__img {
    display: grid;
    place-content: center;
    min-width: 80px;
    height: 80px;
    aspect-ratio: 1/1;
    background: #fff;
    border-radius: 999px;
}
.p-icon-list__img img {
    height: 72px;
}
.p-icon-list__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
}
.mission-block .p-icon-list__content {
    padding-left: 40px;
}
.p-icon-list__title,
.p-icon-list__text {
    line-height: 1.6;
}
.p-icon-list__title {
    font-size: clamp(16px, 1.3vw, 18px);
    font-weight: 700;
    color: #fff;
    margin-bottom: 10px;
}
.p-icon-list__text {
    font-size: clamp(14px, 1.2vw, 16px);
    color: #fff;
}
@media (max-width: 767px) {
    .p-icon-list {
        grid-template-columns: repeat(1, 1fr);
    }
}
@media (max-width: 599px) {
    .p-icon-list__img {
        min-width: 60px;
        height: 60px;
    }
    .p-icon-list__img img {
        height: 55px;
    }
    .mission-block .p-icon-list__content {
        padding-left: 20px;
    }
}
@media (min-width: 768px) {
    .p-icon-list__item:first-of-type::after {
        content: "";
        width: 1px;
        height: 100%;
        background: var(--main-color);
        margin: 0 40px;
    }
}

.vision-block {
    position: relative;
}
.p-vision-list__content {
    padding: 20px 0;
}
.p-vision-image {
    width: 46%;
    margin-inline: auto;
}
.p-vision-list__content {
    display: flex;
    gap: 16px;
}
.p-vision-list__content::before {
    content: "";
    min-width: 16px;
    height: 16px;
    border-radius: 999px;
    border: solid 4px #fff;
    margin-top: 4px;
}
@media (max-width: 767px) {
    .p-vision-image {
        width: 80%;
    }
}
@media (min-width: 768px) {
    .p-vision-content {
        width: 50%;
    }
    .p-vision-image {
        position: absolute;
        top: 40px;
        right: 0;
    }
}
@media (min-width: 1120px) {
    .p-vision-content {
        width: 60%;
    }
    .p-vision-image {
        position: absolute;
        top: 40px;
        right: -60px;
    }
}

.p-value-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}
.p-value-list__content {
    display: grid;
    grid-template-columns: 4fr 6fr;
    align-items: center;
}
.p-value-list__icon {
    aspect-ratio: 1/1;
    background: #fff;
    border-radius: 999px;
    min-width: 32px;
    height: 32px;
    display: grid;
    place-content: center;
}
.p-value-list__content .p-icon-list__title {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 20px;
}
@media (max-width: 767px) {
    .p-value-list__content {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}
@media (min-width: 768px) {
    .value-block {
        padding: 100px 0 0 0;
    }
}

.p-bnr-content__text {
    text-align: center;
    padding: 50px 0;
}
.p-bnr-content__image {
    max-width: 600px;
    margin-inline: auto;
}
@media (max-width: 599px) {
    .p-bnr-content__text {
        padding: 30px 0;
    }
}

/* -------------- page 新着情報 -------------- */
.article-list__container {
    width: min(100% - 40px, 900px);
    margin-inline: auto;
}

.p-category-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    border-bottom: 1px solid #E6E6E6;
    padding: 0 0 48px 0;
}
.p-category-nav__item {
    border: solid 1px var(--main-bg-color);
    border-radius: 999px;
    place-content: center;
}
.p-category-nav__link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 24px;
}
.p-category-nav__item.is-active {
    background: var(--main-bg-color);
}
.p-category-nav__item.is-active > a {
    filter: brightness(0) invert(1);
}
.tag-icon {
    display: block;
    min-width: 24px;
    height: 24px;
    aspect-ratio: 1/1;
    background: url(/assets/common/images/icon-tag.svg) no-repeat center / contain;
}
@media (max-width: 599px) {
    .p-category-nav {
        padding: 0 0 30px 0;
    }
}

.p-post__link {
    display: block;
    padding: 24px 0;
}
.p-post__thumbnail {
    aspect-ratio: 27/16;
    border-radius: 20px;
    background: #FFF;
    overflow: hidden;
    border: 1px solid #EEE;
}
.p-post__item {
    border-bottom: 1px solid #E6E6E6;
}
.p-post__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 24px;
    padding-bottom: 24px;
}
.p-post__date,
.p-post__category-item {
    font-size: clamp(14px, 1.2vw, 16px);
}
.p-post__category {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
}
.p-post__category-item {
    display: flex;
    align-items: center;
    gap: 8px;
}
.p-post__category-item::before {
    content: "";
    min-width: 16px;
    aspect-ratio: 1/1;
    background: url(/assets/common/images/icon-tag.svg) no-repeat center / contain;
}
.p-post__date {
    color: #4D4D4D;
}
.p-post__item-title {
    color: #4D4D4D;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
}
@media (max-width: 599px) {
    .p-post__thumbnail {
        display: none;
    }
}
@media (min-width: 600px) {
    .p-post__link {
        display: grid;
        grid-template-columns: 1fr 66%;
        gap: 30px;
        align-items: center;
    }
    .p-post__category {
        margin-left: auto;
    }
}

.p-pagination {
    padding: 48px 0 0 0;
}
.p-pagination .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 10px;
}
.page-numbers {
    position: relative;
    min-width: 30px;
    height: 30px;
    aspect-ratio: 1/1;
    border: solid 1px var(--main-bg-color);
    display: block;
    border-radius: 999px;
    display: grid;
    place-content: center;
    font-size: 16px;
}
.page-numbers.current {
    background: var(--main-bg-color);
    color: #fff;
}
.icon-nav {
    width: 16px;
    height: 1px;
    background-color: var(--main-bg-color);
    display: grid;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
}
.icon-nav::before,
.icon-nav::after {
    content: "";
    position: absolute;
    top: calc(50% - .5px);
    right: 0;
    width: 8px;
    height: 1px;
    border-radius: 999px;
    background: var(--main-bg-color);
    transform-origin: calc(100% - .5px) 50%;
}
.icon-nav::before {
    transform: rotate(45deg);
}
.icon-nav::after {
    transform: rotate(-45deg);
}
.icon-next {
    left: 0;
}
.icon-prev {
    transform: rotate(180deg);
    right: 0;
}
@media (min-width: 600px) {
    .page-numbers {
        min-width: 40px;
        height: 40px;
    }
    .p-pagination .nav-links {
        gap: 16px 20px;
    }
    .button-next.page-numbers {
        margin-left: 40px;
    }
    .icon-nav {
        width: 24px;
    }
    .icon-nav::before,
    .icon-nav::after {
        width: 12px;
    }
}

.p-entry-meta {
    display: flex;
    gap: 10px 32px;
    padding-bottom: 32px;
}
.p-entry-meta__date {
    color: rgba(77, 77, 77, 0.80);
}
@media (max-width: 599px) {
    .p-entry-meta {
        flex-direction: column-reverse;
    }
    .p-entry-meta__categories {
        width: max-content;
        margin-left: auto;
    }
}
@media (min-width: 600px) {
    .p-entry-meta {
        align-items: center;
    }
}

.p-entry-footer {
    padding: 24px 0 0 0;
}
.p-entry-footer__back {
    border-top: 1px solid #E6E6E6;
    padding: 24px 0 0 0;
}
.post-body__text a.c-btn-back {
    border-radius: 30px;
    background: var(--main-bg-color);
    color: #fff;
    font-weight: 700;
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    width: max-content;
    filter: drop-shadow(0 10px 15px rgba(31, 93, 161, 0.10));
}
.c-btn-back .c-icon {
    min-width: 14px;
    transform: rotate(180deg);
}
/* -------------- page お問い合わせ -------------- */
.p-page-contact__case-product {
    border: 1px solid #E6E6E6;
    padding: 2em;
    margin-bottom: 1em;
}

.p-page-contact__case-product p:last-child {
    margin-bottom: 0;
}

/* -------------- page RSS -------------- */
.primary-tbl table{
    font-size: max(16px, min(3vw, 16px));
    border: solid #ccc;
    border-width: 1px 1px 0 1px;
    margin-bottom: 20px;
    line-height: normal;
    width: 280px;
}
.primary-tbl table tbody tr th{
    background: #F2F2F2;
    border-right: solid 1px #ccc;
}
.primary-tbl table tbody tr td{
    border-right: solid 1px #ccc;
}
.primary-tbl table tbody tr th, 
.primary-tbl table tbody tr td {
    padding: 15px;
    text-align: left;
    border-bottom: solid 1px #ccc;
    vertical-align: middle;
}
/* -------------- page 統合前 三社の歩み -------------- */
.p-year-nav {
    position: relative;
    padding-top: 60px;
}
.year-bar {
    display: flex;
    justify-content: space-between;
}
.p-year-nav__item {
    font-size: clamp(12px, 3vw, 24px);
    color: rgba(31, 93, 161, 0.80);
    writing-mode: vertical-lr;
    height: 4em !important;
    transition: all 0.3s ease;
}
.p-year-nav__item.is-active {
    font-weight: 700;
    color: var(--main-bg-color);
    transform: scale(1.1);
}
.scroll-control {
    display: flex;
}
.scroll-control .page-numbers {
    background: var(--main-bg-color);
}
.scroll-control .button-prev.page-numbers {
    transform: rotate(180deg);
}
.scroll-control .icon-nav,
.scroll-control .icon-nav::before, 
.scroll-control .icon-nav::after {
    background: #fff;
}
.scroll-bar {
    border-radius: 100px;
    background: rgba(31, 93, 161, 0.10);
    height: 10px;
}
@media (max-width: 767px) {
    .p-year-nav {
        position: relative;
        display: flex;
        flex-direction: column;
        padding-top: 16px;
    }
    .scroll-control {
        /* order: 3; */
        justify-content: center;
        gap: 16px;
    }
}
@media (min-width: 768px) {
    .year-bar {
        width: calc(100% - 140px);
        margin: 0 auto 0 0 !important;
    }
    .scroll-control {
        position: absolute;
        top: 60px;
        right: 0;
    }
}

.timeline-container {
    position: relative;
    display: block;
    white-space: nowrap;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 24px 0 0 0;
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.timeline-container::-webkit-scrollbar {
    display: none;
}
.timeline-contents {
    display: flex;
}
.timeline-row {
    display: flex;
    width: max-content;
}
.timeline-tech {
    background: rgba(198, 202, 184, 0.20);
}
.timeline-solutions {
    background: rgba(128, 180, 184, 0.20);
}
.timeline-systems {
    background: rgba(170, 189, 223, 0.20);
}
.company-label {
    font-size: clamp(14px, 2vw, 18px);
    font-weight: 700;
    text-align: center;
    white-space: wrap;
    padding: 10px;
}

.content-cells {
    display: flex;
}
.cell {
    flex-shrink: 0;
    min-height: 140px;
    padding: 0 24px 0 0;
}

.cell .box:not(:empty) {
    font-size: clamp(12px, 2vw, 16px);
    color: #666;
    padding: 10px;
    border: solid 1px var(--main-bg-color);
    background: var(--base-color);
    white-space: wrap;
    line-height: 1.6;
}

.timeline-header-row,
.content-cells {
    display: flex;
    width: max-content;
}

.year-cell {
    position: relative;
    font-size: clamp(20px, 3vw, 32px);
    font-weight: 700;
    color: var(--main-bg-color);
    padding: .2em 0 1em .4em;
    border-top: dashed 5px rgba(31, 93, 161, 0.20);
}
.year-cell::before {
    content: "";
    width: 1px;
    height: 100%;
    background: var(--main-bg-color);
    position: absolute;
    top: 0;
    left: 0;
}
.year-cell::after {
    content: "";
    width: 24px;
    height: 24px;
    aspect-ratio: 1/1;
    border-radius: 999px;
    background: var(--main-bg-color);
    position: absolute;
    top: -12px;
    left: -12px;
}
.line-css {
    position: relative;
}
.line-css::before {
    content: "";
    width: 1px;
    height: calc(100% + 16px);
    background: var(--main-bg-color);
    position: absolute;
    top: 0;
    left: 0;
}
.year-cell,
.cell {
    flex-shrink: 0;
    width: calc((100vw / 2.2) - 16px);
}
.cell[data-year="2026"] {
    padding: 24px;
    background: rgba(1, 37, 77, 0.60);
}
.cell[data-year="2026"] .box:not(:empty) {
    background: none;
    padding: 0;
    border: 0;
    text-align: center;
    color: #fff;
    font-weight: 700;
    word-break: auto-phrase;
}
@media (max-width: 767px) {
    .timeline-container {
        padding: 8px 0 0 0;
    }
    .timeline-row {
        flex-direction: column;
    }
    .timeline-header-row,
    .content-cells {
        margin-left: 16px;
    }
    .company-label {
        position: sticky;
        top: 0;
        left: 0;
        width: calc( 100vw - 32px );
        z-index: 10;
        padding: 8px 0;
        font-weight: bold;
    }
    .cell {
        padding: 0 16px 24px 0;
    }
    .year-cell {
        border-top: dashed 3px rgba(31, 93, 161, 0.20);
    }
    .year-cell::after {
        width: 16px;
        height: 16px;
        top: -8px;
        left: -8px;
    }
    .line-css::before {
        height: 100%;
    }
    .year-cell:last-of-type,
    .cell[data-year="2026"] {
        width: 90vw;
        display: grid;
        align-items: center;
    }
    .cell[data-year="2026"] {
        padding: 10px;
    }
}
@media (min-width: 768px) {
    .timeline-header-row {
        width: calc(100% - (100vw / 4.5));
        margin-left: auto;
    }
    .timeline-row:not(:last-of-type) {
        margin-bottom: 16px;
    }
    .company-label {
        width: calc(100vw / 4.5);
        display: grid;
        place-content: center;
        line-height: 1.6;
    }
    .year-cell,
    .cell {
        width: calc(100vw / 4.5);
    }
    .year-cell:last-of-type,
    .cell[data-year="2026"] {
        width: calc(100vw / 2.5);
    }
    .cell .box:not(:empty) {
        height: 100%;
        display: grid;
        align-items: center;
    }
}

.progress-base {
    width: 100%;
    height: 10px;
    border-radius: 100px;
    background: rgba(31, 93, 161, 0.10);
    margin: 20px 0;
    position: relative;
}
.progress-bar {
    width: 0%;
    /* width: calc((100% - 140px) / 18); */
    height: 100%;
    border-radius: 100px;
    background: var(--main-bg-color);
}
@media (min-width: 768px) {
    .progress-base {
        width: calc(100% - 140px);
    }
}

.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(30px); /* 下から上に浮かび上がる動き */
    transition: opacity 0.3s, visibility 0.3s; /* 保険用 */
}

h1:where(.pd-block-heading).has-background,
h2:where(.pd-block-heading).has-background,
h3:where(.pd-block-heading).has-background,
h4:where(.pd-block-heading).has-background,
h5:where(.pd-block-heading).has-background,
h6:where(.pd-block-heading).has-background {
    padding: 1.25em 2.375em
}

h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),
h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),
h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]) {
    rotate: 180deg
}

.pd-block-image>a,
.pd-block-image>figure>a {
    display: inline-block
}

.pd-block-image img {
    box-sizing: border-box;
    height: auto;
    max-width: 100%;
    vertical-align: bottom
}

@media not (prefers-reduced-motion) {
    .pd-block-image img.hide {
        visibility: hidden
    }

    .pd-block-image img.show {
        animation: show-content-image .4s
    }
}

.pd-block-image[style*=border-radius] img,
.pd-block-image[style*=border-radius]>a {
    border-radius: inherit
}

.pd-block-image.has-custom-border img {
    box-sizing: border-box
}

.pd-block-image.aligncenter {
    text-align: center
}

.pd-block-image.alignfull>a,
.pd-block-image.alignwide>a {
    width: 100%
}

.pd-block-image.alignfull img,
.pd-block-image.alignwide img {
    height: auto;
    width: 100%
}

.pd-block-image .aligncenter,
.pd-block-image .alignleft,
.pd-block-image .alignright,
.pd-block-image.aligncenter,
.pd-block-image.alignleft,
.pd-block-image.alignright {
    display: table
}

.pd-block-image .aligncenter>figcaption,
.pd-block-image .alignleft>figcaption,
.pd-block-image .alignright>figcaption,
.pd-block-image.aligncenter>figcaption,
.pd-block-image.alignleft>figcaption,
.pd-block-image.alignright>figcaption {
    caption-side: bottom;
    display: table-caption
}

.pd-block-image .alignleft {
    float: left;
    margin: .5em 1em .5em 0
}

.pd-block-image .alignright {
    float: right;
    margin: .5em 0 .5em 1em
}

.pd-block-image .aligncenter {
    margin-left: auto;
    margin-right: auto
}

.pd-block-image :where(figcaption) {
    margin-bottom: 1em;
    margin-top: .5em
}

.pd-block-image.is-style-circle-mask img {
    border-radius: 9999px
}

@supports ((-webkit-mask-image:none) or (mask-image:none)) or (-webkit-mask-image:none) {
    .pd-block-image.is-style-circle-mask img {
        border-radius: 0;
        -webkit-mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/>');
        mask-image: url('data:image/svg+xml;utf8,<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><circle cx="50" cy="50" r="50"/>');
        mask-mode: alpha;
        -webkit-mask-position: center;
        mask-position: center;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-size: contain;
        mask-size: contain
    }
}

:root :where(.pd-block-image.is-style-rounded img, .pd-block-image .is-style-rounded img) {
    border-radius: 9999px
}

.pd-block-image figure {
    margin: 0
}

.pd-lightbox-container {
    display: flex;
    flex-direction: column;
    position: relative
}

.pd-lightbox-container img {
    cursor: zoom-in
}

.pd-lightbox-container img:hover+button {
    opacity: 1
}

.pd-lightbox-container button {
    align-items: center;
    backdrop-filter: blur(16px) saturate(180%);
    background-color: #5a5a5a40;
    border: none;
    border-radius: 4px;
    cursor: zoom-in;
    display: flex;
    height: 20px;
    justify-content: center;
    opacity: 0;
    padding: 0;
    position: absolute;
    right: 16px;
    text-align: center;
    top: 16px;
    width: 20px;
    z-index: 100
}

@media not (prefers-reduced-motion) {
    .pd-lightbox-container button {
        transition: opacity .2s ease
    }
}

.pd-lightbox-container button:focus-visible {
    outline: 3px auto #5a5a5a40;
    outline: 3px auto -webkit-focus-ring-color;
    outline-offset: 3px
}

.pd-lightbox-container button:hover {
    cursor: pointer;
    opacity: 1
}

.pd-lightbox-container button:focus {
    opacity: 1
}

.pd-lightbox-container button:focus,
.pd-lightbox-container button:hover,
.pd-lightbox-container button:not(:hover):not(:active):not(.has-background) {
    background-color: #5a5a5a40;
    border: none
}

.pd-lightbox-overlay {
    box-sizing: border-box;
    cursor: zoom-out;
    height: 100vh;
    left: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 100000
}

.pd-lightbox-overlay .close-button {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: center;
    min-height: 40px;
    min-width: 40px;
    padding: 0;
    position: absolute;
    right: calc(env(safe-area-inset-right) + 16px);
    top: calc(env(safe-area-inset-top) + 16px);
    z-index: 5000000
}

.pd-lightbox-overlay .close-button:focus,
.pd-lightbox-overlay .close-button:hover,
.pd-lightbox-overlay .close-button:not(:hover):not(:active):not(.has-background) {
    background: none;
    border: none
}

.pd-lightbox-overlay .lightbox-image-container {
    height: var(--pd--lightbox-container-height);
    left: 50%;
    overflow: hidden;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: top left;
    width: var(--pd--lightbox-container-width);
    z-index: 9999999999
}

.pd-lightbox-overlay .pd-block-image {
    align-items: center;
    box-sizing: border-box;
    display: flex;
    height: 100%;
    justify-content: center;
    margin: 0;
    position: relative;
    transform-origin: 0 0;
    width: 100%;
    z-index: 3000000
}

.pd-lightbox-overlay .pd-block-image img {
    height: var(--pd--lightbox-image-height);
    min-height: var(--pd--lightbox-image-height);
    min-width: var(--pd--lightbox-image-width);
    width: var(--pd--lightbox-image-width)
}

.pd-lightbox-overlay .pd-block-image figcaption {
    display: none
}

.pd-lightbox-overlay button {
    background: none;
    border: none
}

.pd-lightbox-overlay .scrim {
    background-color: #fff;
    height: 100%;
    opacity: .9;
    position: absolute;
    width: 100%;
    z-index: 2000000
}

.pd-lightbox-overlay.active {
    visibility: visible
}

@media not (prefers-reduced-motion) {
    .pd-lightbox-overlay.active {
        animation: turn-on-visibility .25s both
    }

    .pd-lightbox-overlay.active img {
        animation: turn-on-visibility .35s both
    }

    .pd-lightbox-overlay.show-closing-animation:not(.active) {
        animation: turn-off-visibility .35s both
    }

    .pd-lightbox-overlay.show-closing-animation:not(.active) img {
        animation: turn-off-visibility .25s both
    }

    .pd-lightbox-overlay.zoom.active {
        animation: none;
        opacity: 1;
        visibility: visible
    }

    .pd-lightbox-overlay.zoom.active .lightbox-image-container {
        animation: lightbox-zoom-in .4s
    }

    .pd-lightbox-overlay.zoom.active .lightbox-image-container img {
        animation: none
    }

    .pd-lightbox-overlay.zoom.active .scrim {
        animation: turn-on-visibility .4s forwards
    }

    .pd-lightbox-overlay.zoom.show-closing-animation:not(.active) {
        animation: none
    }

    .pd-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container {
        animation: lightbox-zoom-out .4s
    }

    .pd-lightbox-overlay.zoom.show-closing-animation:not(.active) .lightbox-image-container img {
        animation: none
    }

    .pd-lightbox-overlay.zoom.show-closing-animation:not(.active) .scrim {
        animation: turn-off-visibility .4s forwards
    }
}

@keyframes show-content-image {
    0% {
        visibility: hidden
    }

    99% {
        visibility: hidden
    }

    to {
        visibility: visible
    }
}

@keyframes turn-on-visibility {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes turn-off-visibility {
    0% {
        opacity: 1;
        visibility: visible
    }

    99% {
        opacity: 0;
        visibility: visible
    }

    to {
        opacity: 0;
        visibility: hidden
    }
}

@keyframes lightbox-zoom-in {
    0% {
        transform: translate(calc((-100vw + var(--pd--lightbox-scrollbar-width))/2 + var(--pd--lightbox-initial-left-position)), calc(-50vh + var(--pd--lightbox-initial-top-position))) scale(var(--pd--lightbox-scale))
    }

    to {
        transform: translate(-50%, -50%) scale(1)
    }
}

@keyframes lightbox-zoom-out {
    0% {
        transform: translate(-50%, -50%) scale(1);
        visibility: visible
    }

    99% {
        visibility: visible
    }

    to {
        transform: translate(calc((-100vw + var(--pd--lightbox-scrollbar-width))/2 + var(--pd--lightbox-initial-left-position)), calc(-50vh + var(--pd--lightbox-initial-top-position))) scale(var(--pd--lightbox-scale));
        visibility: hidden
    }
}

:root :where(.pd-block-image figcaption) {
    color: #555;
    font-size: 13px;
    text-align: center
}

.is-dark-theme :root :where(.pd-block-image figcaption) {
    color: #ffffffa6
}

.pd-block-image {
    margin: 0 0 1em
}

ol,
ul {
    box-sizing: border-box
}

:root :where(.pd-block-list.has-background) {
    padding: 1.25em 2.375em
}

.pd-block-columns {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap !important
}

@media (min-width:782px) {
    .pd-block-columns {
        flex-wrap: nowrap !important
    }
}

.pd-block-columns {
    align-items: normal !important
}

.pd-block-columns.are-vertically-aligned-top {
    align-items: flex-start
}

.pd-block-columns.are-vertically-aligned-center {
    align-items: center
}

.pd-block-columns.are-vertically-aligned-bottom {
    align-items: flex-end
}

@media (max-width:781px) {
    .pd-block-columns:not(.is-not-stacked-on-mobile)>.pd-block-column {
        flex-basis: 100% !important
    }
}

@media (min-width:782px) {
    .pd-block-columns:not(.is-not-stacked-on-mobile)>.pd-block-column {
        flex-basis: 0;
        flex-grow: 1
    }

    .pd-block-columns:not(.is-not-stacked-on-mobile)>.pd-block-column[style*=flex-basis] {
        flex-grow: 0
    }
}

.pd-block-columns.is-not-stacked-on-mobile {
    flex-wrap: nowrap !important
}

.pd-block-columns.is-not-stacked-on-mobile>.pd-block-column {
    flex-basis: 0;
    flex-grow: 1
}

.pd-block-columns.is-not-stacked-on-mobile>.pd-block-column[style*=flex-basis] {
    flex-grow: 0
}

:where(.pd-block-columns) {
    margin-bottom: 1.75em
}

:where(.pd-block-columns.has-background) {
    padding: 1.25em 2.375em
}

.pd-block-column {
    flex-grow: 1;
    min-width: 0;
    overflow-wrap: break-word;
    word-break: break-word
}

.pd-block-column.is-vertically-aligned-top {
    align-self: flex-start
}

.pd-block-column.is-vertically-aligned-center {
    align-self: center
}

.pd-block-column.is-vertically-aligned-bottom {
    align-self: flex-end
}

.pd-block-column.is-vertically-aligned-stretch {
    align-self: stretch
}

.pd-block-column.is-vertically-aligned-bottom,
.pd-block-column.is-vertically-aligned-center,
.pd-block-column.is-vertically-aligned-top {
    width: 100%
}

.is-small-text {
    font-size: .875em
}

.is-regular-text {
    font-size: 1em
}

.is-large-text {
    font-size: 2.25em
}

.is-larger-text {
    font-size: 3em
}

.has-drop-cap:not(:focus):first-letter {
    float: left;
    font-size: 8.4em;
    font-style: normal;
    font-weight: 100;
    line-height: .68;
    margin: .05em .1em 0 0;
    text-transform: uppercase
}

body.rtl .has-drop-cap:not(:focus):first-letter {
    float: none;
    margin-left: .1em
}

p.has-drop-cap.has-background {
    overflow: hidden
}

:root :where(p.has-background) {
    padding: 1.25em 2.375em
}

:where(p.has-text-color:not(.has-link-color)) a {
    color: inherit
}

p.has-text-align-left[style*="writing-mode:vertical-lr"],
p.has-text-align-right[style*="writing-mode:vertical-rl"] {
    rotate: 180deg
}

:root {
    --pd--preset--aspect-ratio--square: 1;
    --pd--preset--aspect-ratio--4-3: 4/3;
    --pd--preset--aspect-ratio--3-4: 3/4;
    --pd--preset--aspect-ratio--3-2: 3/2;
    --pd--preset--aspect-ratio--2-3: 2/3;
    --pd--preset--aspect-ratio--16-9: 16/9;
    --pd--preset--aspect-ratio--9-16: 9/16;
    --pd--preset--color--black: #000000;
    --pd--preset--color--cyan-bluish-gray: #abb8c3;
    --pd--preset--color--white: #ffffff;
    --pd--preset--color--pale-pink: #f78da7;
    --pd--preset--color--vivid-red: #cf2e2e;
    --pd--preset--color--luminous-vivid-orange: #ff6900;
    --pd--preset--color--luminous-vivid-amber: #fcb900;
    --pd--preset--color--light-green-cyan: #7bdcb5;
    --pd--preset--color--vivid-green-cyan: #00d084;
    --pd--preset--color--pale-cyan-blue: #8ed1fc;
    --pd--preset--color--vivid-cyan-blue: #0693e3;
    --pd--preset--color--vivid-purple: #9b51e0;
    --pd--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgb(6, 147, 227) 0%, rgb(155, 81, 224) 100%);
    --pd--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
    --pd--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgb(252, 185, 0) 0%, rgb(255, 105, 0) 100%);
    --pd--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgb(255, 105, 0) 0%, rgb(207, 46, 46) 100%);
    --pd--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
    --pd--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
    --pd--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
    --pd--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
    --pd--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
    --pd--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
    --pd--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
    --pd--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
    --pd--preset--font-size--small: 13px;
    --pd--preset--font-size--medium: 20px;
    --pd--preset--font-size--large: 36px;
    --pd--preset--font-size--x-large: 42px;
    --pd--preset--spacing--20: 0.44rem;
    --pd--preset--spacing--30: 0.67rem;
    --pd--preset--spacing--40: 1rem;
    --pd--preset--spacing--50: 1.5rem;
    --pd--preset--spacing--60: 2.25rem;
    --pd--preset--spacing--70: 3.38rem;
    --pd--preset--spacing--80: 5.06rem;
    --pd--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
    --pd--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
    --pd--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
    --pd--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);
    --pd--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);
}

:where(.is-layout-flex) {
    gap: 0.5em;
}

:where(.is-layout-grid) {
    gap: 0.5em;
}

body .is-layout-flex {
    display: flex;
}

.is-layout-flex {
    flex-wrap: wrap;
    align-items: center;
}

.is-layout-flex> :is(*, div) {
    margin: 0;
}

body .is-layout-grid {
    display: grid;
}

.is-layout-grid> :is(*, div) {
    margin: 0;
}

:where(.pd-block-columns.is-layout-flex) {
    gap: 2em;
}

:where(.pd-block-columns.is-layout-grid) {
    gap: 2em;
}

:where(.pd-block-post-template.is-layout-flex) {
    gap: 1.25em;
}

:where(.pd-block-post-template.is-layout-grid) {
    gap: 1.25em;
}

.has-black-color {
    color: var(--pd--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
    color: var(--pd--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
    color: var(--pd--preset--color--white) !important;
}

.has-pale-pink-color {
    color: var(--pd--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
    color: var(--pd--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
    color: var(--pd--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
    color: var(--pd--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
    color: var(--pd--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
    color: var(--pd--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
    color: var(--pd--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
    color: var(--pd--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
    color: var(--pd--preset--color--vivid-purple) !important;
}

.has-black-background-color {
    background-color: var(--pd--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
    background-color: var(--pd--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
    background-color: var(--pd--preset--color--white) !important;
}

.has-pale-pink-background-color {
    background-color: var(--pd--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
    background-color: var(--pd--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
    background-color: var(--pd--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
    background-color: var(--pd--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
    background-color: var(--pd--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
    background-color: var(--pd--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
    background-color: var(--pd--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
    background-color: var(--pd--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
    background-color: var(--pd--preset--color--vivid-purple) !important;
}

.has-black-border-color {
    border-color: var(--pd--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
    border-color: var(--pd--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
    border-color: var(--pd--preset--color--white) !important;
}

.has-pale-pink-border-color {
    border-color: var(--pd--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
    border-color: var(--pd--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
    border-color: var(--pd--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
    border-color: var(--pd--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
    border-color: var(--pd--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
    border-color: var(--pd--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
    border-color: var(--pd--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
    border-color: var(--pd--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
    border-color: var(--pd--preset--color--vivid-purple) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
    background: var(--pd--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
    background: var(--pd--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
    background: var(--pd--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
    background: var(--pd--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
    background: var(--pd--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
    background: var(--pd--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
    background: var(--pd--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
    background: var(--pd--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
    background: var(--pd--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
    background: var(--pd--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
    background: var(--pd--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
    background: var(--pd--preset--gradient--midnight) !important;
}

.has-small-font-size {
    font-size: var(--pd--preset--font-size--small) !important;
}

.has-medium-font-size {
    font-size: var(--pd--preset--font-size--medium) !important;
}

.has-large-font-size {
    font-size: var(--pd--preset--font-size--large) !important;
}

.has-x-large-font-size {
    font-size: var(--pd--preset--font-size--x-large) !important;
}

:where(.pd-block-columns.is-layout-flex) {
    gap: 2em;
}

:where(.pd-block-columns.is-layout-grid) {
    gap: 2em;
}

.pd-container-core-columns-is-layout-9d6595d7 {
    flex-wrap: nowrap;
}

img:is([sizes=auto i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}

:root {
    --pd-block-synced-color: #7a00df;
    --pd-block-synced-color--rgb: 122, 0, 223;
    --pd-bound-block-color: var(--pd-block-synced-color);
    --pd-editor-canvas-background: #ddd;
    --pd-admin-theme-color: #007cba;
    --pd-admin-theme-color--rgb: 0, 124, 186;
    --pd-admin-theme-color-darker-10: #006ba1;
    --pd-admin-theme-color-darker-10--rgb: 0, 107, 160.5;
    --pd-admin-theme-color-darker-20: #005a87;
    --pd-admin-theme-color-darker-20--rgb: 0, 90, 135;
    --pd-admin-border-width-focus: 2px
}

@media (min-resolution:192dpi) {
    :root {
        --pd-admin-border-width-focus: 1.5px
    }
}

.pd-element-button {
    cursor: pointer
}

:root .has-very-light-gray-background-color {
    background-color: #eee
}

:root .has-very-dark-gray-background-color {
    background-color: #313131
}

:root .has-very-light-gray-color {
    color: #eee
}

:root .has-very-dark-gray-color {
    color: #313131
}

:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
    background: linear-gradient(135deg, #00d084, #0693e3)
}

:root .has-purple-crush-gradient-background {
    background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe)
}

:root .has-hazy-dawn-gradient-background {
    background: linear-gradient(135deg, #faaca8, #dad0ec)
}

:root .has-subdued-olive-gradient-background {
    background: linear-gradient(135deg, #fafae1, #67a671)
}

:root .has-atomic-cream-gradient-background {
    background: linear-gradient(135deg, #fdd79a, #004a59)
}

:root .has-nightshade-gradient-background {
    background: linear-gradient(135deg, #330968, #31cdcf)
}

:root .has-midnight-gradient-background {
    background: linear-gradient(135deg, #020381, #2874fc)
}

:root {
    --pd--preset--font-size--normal: 16px;
    --pd--preset--font-size--huge: 42px
}

.has-regular-font-size {
    font-size: 1em
}

.has-larger-font-size {
    font-size: 2.625em
}

.has-normal-font-size {
    font-size: var(--pd--preset--font-size--normal)
}

.has-huge-font-size {
    font-size: var(--pd--preset--font-size--huge)
}

.has-text-align-center {
    text-align: center
}

.has-text-align-left {
    text-align: left
}

.has-text-align-right {
    text-align: right
}

.has-fit-text {
    white-space: nowrap !important
}

#end-resizable-editor-section {
    display: none
}

.aligncenter {
    clear: both
}

.items-justified-left {
    justify-content: flex-start
}

.items-justified-center {
    justify-content: center
}

.items-justified-right {
    justify-content: flex-end
}

.items-justified-space-between {
    justify-content: space-between
}

.screen-reader-text {
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important
}

.screen-reader-text:focus {
    background-color: #ddd;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000
}

html :where(.has-border-color) {
    border-style: solid
}

html :where([style*=border-top-color]) {
    border-top-style: solid
}

html :where([style*=border-right-color]) {
    border-right-style: solid
}

html :where([style*=border-bottom-color]) {
    border-bottom-style: solid
}

html :where([style*=border-left-color]) {
    border-left-style: solid
}

html :where([style*=border-width]) {
    border-style: solid
}

html :where([style*=border-top-width]) {
    border-top-style: solid
}

html :where([style*=border-right-width]) {
    border-right-style: solid
}

html :where([style*=border-bottom-width]) {
    border-bottom-style: solid
}

html :where([style*=border-left-width]) {
    border-left-style: solid
}

html :where(img[class*=pd-image-]) {
    height: auto;
    max-width: 100%
}

:where(figure) {
    margin: 0 0 1em
}

html :where(.is-position-sticky) {
    --pd-admin--admin-bar--position-offset: var(--pd-admin--admin-bar--height, 0px)
}

@media screen and (max-width:600px) {
    html :where(.is-position-sticky) {
        --pd-admin--admin-bar--position-offset: 0px
    }
}

.pd-block-button__link {
    color: #fff;
    background-color: #32373c;
    border-radius: 9999px;
    box-shadow: none;
    text-decoration: none;
    padding: calc(.667em + 2px) calc(1.333em + 2px);
    font-size: 1.125em
}

.pd-block-file__button {
    background: #32373c;
    color: #fff;
    text-decoration: none
}