.block-title h2 {
    font-size: 3.3rem;
    font-family: "IBM Plex Sans JP", sans-serif;
    color: #0f5787;
    position: relative;
}

.block-title {
    position: relative;
}

.block-title::before {
    content: "";
    width: 100%;
    height: 10px;
    background: linear-gradient(to left, #ffffff 9.5%, #f0f0f0 35%, #39a9e1 100%);
    position: absolute;
    bottom: -18px;
}

.text-content {
    line-height: 2;
    color: #4d4d4d;
    font-family: "Expletus Sans", cursive;
    font-weight: 500;
}

.block-title-cont h3 {
    font-size: 3rem;
    font-family: "Shippori Mincho", serif;
    font-weight: 500;
    color: #0f5787;
    z-index: 2;
    position: relative;
}

.block-title-cont {
    position: relative;
}

.block-title-cont::after {
    content: "";
    width: 65px;
    height: 4px;
    background-image: url(../images/about/dash-title-cont.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -14px;
    z-index: 2;
}

.about-01 .block-title-cont::before {
    content: "";
    width: 226px;
    height: 215px;
    background-image: url(../images/about/bg-about-01.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    left: -100px;
    top: -35px;
    z-index: -1;
}

.title-img {
    margin-top: 45px;
    font-size: 2.3rem;
    color: #00b1c0;
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    font-weight: 500;
    line-height: 1.478;
}

.about-01-wrap .row .col-inner.left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.about-01-wrap .row .col-inner.right {
    display: flex;
    justify-content: flex-end;
    padding-left: 10px;
}

.about-01-wrap .row.row-reverse .col-inner.right {
    display: flex;
    justify-content: flex-start;
    padding-right: 10px;
    padding-left: 0;
}

.about-03-01 {
    padding-top: 35px;
    margin-top: 40px;
    padding-bottom: 133px;
    background: linear-gradient(to bottom, #ffffff 0%, #edf7fc 29%);
}

.about-03-01-wrap .row .col-inner .img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    overflow: hidden;
}

.about-03-01-wrap .row .col-inner {
    margin-top: 50px;
}

.button {
    width: 100%;
    aspect-ratio: 300/95;
    padding: 5px 50px 5px 24px;
    border: 1px solid #2c7fb6;
    border-radius: 28px 0 28px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 15px 5px 15px rgba(15, 96, 136, 0.3);
    position: relative;
    background-color: rgba(255, 255, 255, 0.8);
    margin-top: -20px;
}

.button::after {
    content: "";
    width: 27px;
    height: 27px;
    background-image: url(../images/about/arrrow-button-about.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 6%;
}

.button .title-button {
    color: #4d4d4d;
    font-family: "IBM Plex Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1.23;
    font-size: 18px;
}

.button .content-button {
    font-size: 1.5rem;
    color: #2c7fb6;
    font-weight: bold;
    line-height: 1.74;
}

.about-03-02 {
    padding-top: 54px;
    padding-bottom: 180px;
    background: linear-gradient(to top, #ffffff 0%, #fffaeb 19%);
}

.about-03-02 .button {
    aspect-ratio: 300/110;
    padding-right: 60px;
}

.color-1 {
    border-color: #3fab6e;
    fill: #3fab6e;
}

.color-1.button::after {
    background-image: url(../images/about/arrow-button-color-1.svg);
}

.color-1.button .content-button {
    color: #3fab6e;
}

.color-2 {
    border-color: #64a800;
    fill: #64a800;
}

.color-2.button::after {
    background-image: url(../images/about/arrow-button-color-2.svg);
}

.color-2.button .content-button {
    color: #64a800;
}

.color-3 {
    border-color: #cf005a;
    fill: #cf005a;
}

.color-3.button::after {
    background-image: url(../images/about/arrow-button-color-3.svg);
}

.color-3.button .content-button {
    color: #cf005a;
}

.color-4 {
    border-color: #2a3d7d;
    fill: #2a3d7d;
}

.color-4.button::after {
    background-image: url(../images/about/arrow-button-color-4.svg);
}

.color-4.button .content-button {
    color: #2a3d7d;
}

.color-5 {
    border-color: #ff7933;
    fill: #ff7933;
}

.color-5.button::after {
    background-image: url(../images/about/arrow-button-color-5.svg);
}

.color-5.button .content-button {
    color: #ff7933;
}

.box-title {
    width: 100%;
    border-radius: 10px;
    border: 1px solid #2c7fb6;
    background-color: #e6f3fa;
    min-height: 75px;
    display: flex;
    align-items: center;
    padding-left: 33px;
    flex-direction: row;
}

.box-title p {
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #2c7fb6;
    flex: 1;
}

.box-title::after {
    content: "";
    width: 35px;
    height: 35px;
    display: inline-block;
    background-image: url(../images/about/arrow-down.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: 30px;
}

.box-content {
    margin-top: 3px;
    margin-bottom: 60px;
}

.about-01 {
    position: relative;
}

.about-01::after {
    content: "";
    width: 814px;
    height: 645px;
    background-image: url(../images/about/bg-icon.svg);
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -275px;
    right: calc(50% - 1019px);
    z-index: 0;
}

.about-01-wrap .row .col-inner.right img {
    border-radius: 50%;
    z-index: 3;
}

.about-02-text {
    margin-top: 50px;
}

.box-title.active::after {
    background-image: url(../images/about/arrow-up.svg);
}

.box-2 .box-title {
    border-color: #3fab6e;
    background-color: #e8f5ef;
}

.box-2 .box-title p {
    color: #3fab6e;
}

.box-2 .box-title::after {
    background-image: url(../images/about/arrow-down-color-1.svg);
}

.box-2 .box-title.active::after {
    background-image: url(../images/about/arrow-up-color-1.svg);
}

.box-3 .box-title {
    border-color: #64a800;
    background-color: #eff5e6;
}

.box-3 .box-title p {
    color: #64a800;
}

.box-3 .box-title::after {
    background-image: url(../images/about/arrow-down-color-2.svg);
}

.box-3 .box-title.active::after {
    background-image: url(../images/about/arrow-up-color-2.svg);
}

.box-4 .box-title {
    border-color: #cf005a;
    background-color: #fce6f0;
}

.box-4 .box-title p {
    color: #cf005a;
}

.box-4 .box-title::after {
    background-image: url(../images/about/arrow-down-color-3.svg);
}

.box-4 .box-title.active::after {
    background-image: url(../images/about/arrow-up-color-3.svg);
}

.box-5 .box-title {
    border-color: #2a3d7d;
    background-color: #e7eaf2;
}

.box-5 .box-title p {
    color: #2a3d7d;
}

.box-5 .box-title::after {
    background-image: url(../images/about/arrow-down-color-4.svg);
}

.box-5 .box-title.active::after {
    background-image: url(../images/about/arrow-up-color-4.svg);
}

.box-6 .box-title {
    border-color: #ff7933;
    background-color: #fff3ed;
}

.box-6 .box-title p {
    color: #ff7933;
}

.box-6 .box-title::after {
    background-image: url(../images/about/arrow-down-color-5.svg);
}

.box-6 .box-title.active::after {
    background-image: url(../images/about/arrow-up-color-5.svg);
}

.box .box-content .row .large-4 .col-inner {
    margin-top: 25px;
}
.news-item.item-list .box-cat{
    flex-wrap: wrap;
}
.news-item.item-list .date{
    margin-bottom: 12px;
}
span.breadcrumb-current{
        display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: fit-content;
    max-width: 500px;
}