@charset "UTF-8";
/* CSS Document */
@media only screen and (min-width: 0px) {
    .slick > .slider_contents:not(:first-of-type) {
        display: none !important;
    }

    .mv {
        padding-top: 80px;
        background: linear-gradient(0deg, rgba(255, 255, 255, 1) 30%, rgba(235, 246, 252, 1) 65%, rgba(191, 229, 248, 1) 77.45%, rgba(143, 211, 245, 1) 92.49%, rgba(125, 204, 243, 1) 100%);
        border-bottom: 1px solid #B3B3B3;
    }

    .mv figure picture img {
        width: 100%;
        height: auto;
        vertical-align: middle;
    }

    section.media {
        padding: 30px 40px 50px;
        background: url("../images/index_media_bg.webp");
        background-size: 400px auto;
        background-repeat: repeat-x;
        background-position: top center;
    }

    section.media .comment {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: min(18px, 4.5vw);
        max-width: 360px;
    }

    section.media .comment p {
        flex: 1;
        position: relative;
        background: #D9E7F3;
        padding: 16px min(22px, 4vw);
        text-align: left;
        color: #0062ac;
        font-size: min(14px, 3.5vw);
        font-weight: bold;
        line-height: 22px;
        border-radius: 15px;
    }

    section.media .comment p::after {
        border: solid transparent;
        content: '';
        height: 0;
        width: 0;
        pointer-events: none;
        position: absolute;
        border-color: rgba(217, 231, 243, 0);
        border-top-width: 12px;
        border-bottom-width: 12px;
        border-left-width: 20px;
        border-right-width: 20px;
        border-left-color: #D9E7F3;
        left: 100%;
        top: 50%;
        transform: translate(0, -50%);
    }

    section.media .comment figure {
        flex: 0;
        flex-basis: 74px;
    }

    section.media .links p.h2_main .c_cyan {
        color: #0081ba;
    }

    section.media .links p.h2_main .c_black {
        color: #000000;
        padding: 0 0.1em;
    }

    section.media .links h2.h2_sub {
        margin-left: -40px;
    }

    section.media .links h2.h2_sub + p {
        margin: 20px 0 0;
        line-height: 2;
    }

    section.media .links ul {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin: 30px auto;
    }

    section.media .links ul li {
        background: #0062AC;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 1px 1px 10px rgb(0, 0, 0, 0.3);
    }

    section.media .links ul li a {
        display: flex;
        align-items: center;
        gap: 18px;
        padding: 0 20px;
        height: 70px;
        font-weight: bold;
        font-size: 16px;
        line-height: 1.25;
        color: #ffffff;
    }

    section.media .links ul li a i {
        font-size: 30px;
    }

    section.media .links ul li a img {
        width: 28px;
    }

    section.media .links ul li a .c_small {
        display: inline-block;
        font-size: 13px;
        line-height: 15px;
        font-weight: normal;
    }

    section.media section.twitter {
        min-height: 520px;
    }

    section.media section,
    section.media section h3 {
        padding: 0 0 30px;
    }

    #sb_instagram div#sbi_images {
        display: flex;
        gap: 12px;
        float: none;
    }

    #sb_instagram div#sbi_images .sbi_item.sbi_type_image {
        flex: 1;
        aspect-ratio: 1;
        object-fit: cover;
        border-radius: 8px;
        overflow: hidden;
    }

    section.report {
        padding: 30px 0 54px;
        background-image: linear-gradient(90deg, rgba(0, 72, 152, 1) 0%, rgba(0, 129, 186, 1) 85%, rgba(0, 129, 186, 1) 100%), url("../images/index_report_bg.webp");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: left center;
        background-blend-mode: multiply;
    }

    section.report p.h2_main,
    section.report p.h2_main::first-letter,
    section.report h2.h2_sub {
        color: #ffffff;
    }

    section.report h2.h2_sub::before {
        background: #ffffff;
    }

    section.report .feed {
        width: 90%;
        margin-top: 50px;
    }

    section.report .feed .f-slider {}

    section.report .feed .f-slider .slick-track {
        display: flex;
    }

    section.report .feed .f-slider .slick-slide {
        display: grid;
        width: 100%;
        max-width: 244px;
        height: auto;
        margin: 0 20px 0 0;
        overflow: hidden;
    }

    section.report .feed .f-slider .slick-arrow {
        position: absolute;
        top: 40%;
        right: 102%;
        z-index: 10;
        width: 30px;
        height: 50px;
        background-image: url(../images/common_arrow02.webp);
        background-size: 24px auto;
        background-repeat: no-repeat;
        background-position: center;
    }

    section.report .feed .f-slider .slick-next {
        transform: translateY(-50%);
    }

    section.report .feed .f-slider .slick-prev {
        display: none !important;
    }

    section.report .feed .f-slider .slick-prev::before {
        content: none;
    }

    section.report .feed .f-slider .slick-next::before {
        content: none;
    }

    section.report .feed .f-slider .slick-list.draggable {
        width: 100%;
        overflow: hidden;
    }

    section.report .feed .f-slider ul {
        display: flex;
        justify-content: flex-start;
        gap: 15px;
        max-width: 1080px;
        margin: 40px auto 0;
        padding-left: 40px;
    }

    section.report .feed .f-slider a {
        display: flex;
        flex-direction: column;
        width: 244px;
        height: 100%;
    }

    section.report .feed .f-slider a figure {
        padding: 10px 15px;
        border: 1px solid #A2A2A2;
        background: #ffffff;
        border-radius: 3px;
        height: 322px;
    }

    section.report .feed .f-slider a figure img {
        vertical-align: middle;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    section.report .feed .f-slider a p {
        position: relative;
        height: 100%;
        max-height: 45px;
        margin-top: 40px;
        color: #ffffff;
        font-size: 14px;
        text-overflow: ellipsis;
        padding-left: 30px;
    }

    section.report .feed .f-slider a p::before {
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        display: block;
        width: 30px;
        height: 40px;
        font-family:
            "Font Awesome 6 Free";
        content:
            "\f1c1";
        text-align: center;
        font-size: 22px;
        line-height: 40px;
    }

    section.report .feed .f-slider a p::after {
        position: absolute;
        top: -16px;
        left: 0;
        display: block;
        content: "";
        width: 40px;
        height: 2px;
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(0, 98, 172, 1) 100%);
    }

    section.about {
        max-height: 466px;
        overflow-x: hidden;
        overflow-y: scroll;
        background-image: url("../images/index_about_img01.webp"), url("../images/index_about_bg01.svg");
        background-size: auto 435px, 18px auto;
        background-repeat: no-repeat, repeat;
        background-position: bottom left -50px, center;
    }

    section.about > .wrap {
        position: relative;
        width: 100%;
    }

    section.about section {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: space-between;
        height: 466px;
    }

    section.about section .wrap {
        padding: 20px 20px 0;
    }

    section.about section.about_policy .wrap {
        width: 50.07%;
        margin-right: 0;
        padding-top: 40px;
    }

    section.about section.about_policy ol {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        gap: 16px;
        width: 100%;
        margin-bottom: 20px;
    }

    section.about section.about_policy ol li {
        position: relative;
        padding: 10px;
        padding-left: 52px;
        font-family: "M PLUS 1p";
        font-weight: bold;
        font-size: 14px;
        line-height: 18px;
        border: 1px solid#CCE0EE;
        border-right: none;
        border-radius: 40px 0 0 40px;
        background: #ffffff;
    }

    section.about section.about_policy ol li img {
        position: absolute;
        left: 10px;
        bottom: 10px;
        width: 40px;
        min-height: 40px;
    }

    section.about section.about_profile p.name {
        position: relative;
        padding: 0 20px;
        font-size: 28px;
        font-weight: 800;
        line-height: 1;
    }

    section.about section.about_profile p.name span {
        position: absolute;
        top: 2px;
        right: 20px;
        font-size: 10px;
        font-weight: normal;
        letter-spacing: 0.25em;
    }

    section.about section.about_profile p.name::first-letter {
        font-size: 42px;
        color: #0062ac;
    }

    section.about section.about_profile .wrap:nth-of-type(2) {
        padding: 10px 20px 16px;
    }

    section.about section.about_profile .wrap:nth-of-type(2) ul {
        display: flex;
        flex-direction: column;
        gap: 6px;
        margin: 0 0 12px;
    }

    section.about section.about_profile .wrap:nth-of-type(2) ul li,
    section.about section.about_profile .wrap:nth-of-type(2) ul li * {
        line-height: 1.25;
    }

    section.policy {
        position: relative;
        background-image:
            url("../images/index_policy_bg03.svg"),
            url("../images/index_policy_bg01.webp"),
            url("../images/index_policy_bg04.svg"),
            url("../images/index_policy_bg05.svg"),
            url("../images/index_policy_bg02.webp");
        background-size:
            46.15vw auto,
            95% auto,
            28.21vw auto,
            100% auto,
            100% auto;
        background-repeat: no-repeat;
        background-position:
            top left,
            top 140px right,
            top right,
            bottom center,
            bottom center;
    }

    section.policy .policy_ttl_wrap {
        min-height: 260px;
        padding: 24px 0 30px;
    }

    section.policy h2 img {
        width: 75%;
        height: auto;
    }

    section.policy p.h2_policy {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
        margin: 40px 20px 0;
    }

    section.policy p.h2_policy span.c_pink {
        display: inline-block;
        padding: 3px 4px 5px;
        font-size: 24px;
        color: #ffffff;
        font-weight: 800;
        line-height: 1;
        background: #FF62A7;
    }

    section.policy p.policy_ttl {
        position: relative;
        padding: 23px 40px;
        font-weight: bold;
        font-size: 22px;
        color: #ffffff;
        line-height: 1;
        letter-spacing: 0.2em;
        background: #0062AC;
    }

    section.policy section p.policy_ttl:after {
        border: solid transparent;
        content: '';
        height: 0;
        width: 0;
        pointer-events: none;
        position: absolute;
        border-color: transparent;
        border-top-width: 12px;
        border-bottom-width: 12px;
        border-left-width: 12px;
        border-right-width: 12px;
        margin-left: -10px;
        border-top-color: #0062AC;
        top: 100%;
        left: 50%;
        transform: scaleX(0.75);
    }

    section.policy p.policy_ttl button {
        width: 30px;
        height: 30px;
        margin-left: auto;
        margin-right: 0;
        text-align: center;
        letter-spacing: 0;
        background: #FFFFFF;
        border: 1px solid #0062AC;
    }

    section.policy p.policy_ttl button i {
        color: #0062AC;
        text-align: center;
    }

    section.policy p.policy_ttl button i::before {
        display: contents;
    }

    section.policy .wrap {
        display: flex;
        flex-direction: column;
        gap: 20px;
        padding-bottom: 80px;
    }

    section.policy .wrap section > div {
        margin: 0 auto;
        padding: 16px 20px 20px;
        text-shadow: 0 0 5px rgb(255, 255, 255);
    }

    section.policy .wrap section > div p {
        margin: 12px 0 30px;
        text-align: justify;
        font-size: 16px;
        line-height: 1.75;
        letter-spacing: 1.6px;
        color: #454545;
    }

    section.policy .wrap section div.policy_wrap {
        display: flex;
        flex-direction: column;
        gap: 24px 20px;
    }

    section.policy .wrap section > div dl {
        display: inherit;
        flex-direction: column;
        gap: 0;
    }

    section.policy .wrap section > div dl dt {
        margin-bottom: 16px;
        padding: 0 0 0 10px;
        font-weight: bold;
        font-size: 18px;
        line-height: 23px;
        color: #0062AC;
        border-left: 3px solid;
    }

    section.policy .wrap section > div dl dd::before {
        content: "■";
        color: #0062AC;
    }

    section.policy .wrap section > div dl dd {
        font-size: 16px;
        line-height: 1.75;
        text-indent: -1em;
        padding-left: 1em;
    }

    section.policy .wrap dl dd span.imp {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 2px;
        flex-wrap: nowrap;
        margin: 0 4px 0 2px;
        padding: 0 10px;
        font-size: 12px;
        line-height: 20px;
        text-indent: 0;
        color: #ffffff;
        font-weight: bold;
        vertical-align: text-bottom;
        text-shadow: none;
        background: #ff6c8d;
        border-radius: 3px;
        box-shadow: 0.2px 0.2px 1px rgb(0, 0, 0, 0.3);
    }

    section.policy .wrap dl dd span.imp::before {
        content: "重点対策";
    }

    section.policy .wrap article {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 36px;
        max-width: 760px;
        margin: 0 20px;
        padding: 40px 20px;
        border: 5px solid #ff62a7;
        background: #ffffff;
    }

    section.policy .wrap article h3.h3_03 {
        text-align: center;
    }

    section.policy .wrap article ol {
        /* カウンターを初期化 */
        display: flex;
        flex-direction: column;
        gap: 24px;
        width: 100%;
        max-width: 590px;
        line-height: 1.25;
        counter-increment: imp10 0;
    }

    section.policy .wrap article ol li {
        position: relative;
        padding-left: 38px;
        font-size: min(3.8vw, 16px);
        font-weight: bold;
        line-height: 21px;
        letter-spacing: 0.06em;
    }

    section.policy .wrap article ol li::before {
        /*配置*/
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        /*カウンタ*/
        counter-increment: imp10;
        content: counter(imp10);
        /*外観*/
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 30px;
        height: 30px;
        padding-top: 1px;
        background: #0062ac;
        /*カウンタデザイン*/
        font-family: "mr-eaves-modern", sans-serif;
        font-weight: normal;
        color: #ffffff;
        font-size: 30px;
        line-height: 30px;
    }

    section.policy .wrap article ol li span.br.small {
        font-size: min(3.5vw, 14px);
        line-height: 14px;
        white-space: nowrap;
    }

    section.policy .wrap article p.btn a::after {
        display: none;
    }

    /* ---- particles.js container ---- */
    section.policy #particles-js {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(255, 255, 255, 0);
        background-image: url("");
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        pointer-events: none;
    }

    section.policy #particles-js canvas.particles-js-canvas-el {
        opacity: .5;
    }

    section.policy div:not(#particles-js),
    section.policy article {
        position: relative;
        z-index: 1;
    }

    section.activities {
        padding: 30px 0 50px;
    }

    section.activities .activities_wrap {
        padding: 0 20px 24px;
    }

    section.activities .activities_wrap h2.h2_sub {
        font-size: 16px;
        color: #AAAAAA;
    }

    section.activities .activities_wrap h2.h2_sub::before {
        height: 4px;
        background-color: #DDDDDD;
    }

    section.activities .activities_wrap .wrap + p {
        margin: 30px auto 0;
        font-size: 17px;
        letter-spacing: 0.2em;
        font-weight: 100;
        color: #808080;
        text-align: center;
    }

    section.activities ul.a-slider .slick-track {
        display: flex;
    }

    section.activities ul.a-slider .slick-slide {
        display: grid;
        width: 100%;
        max-width: 300px;
        height: auto;
        margin: 0 15px 0 0;
        overflow: hidden;
    }

    section.activities ul.a-slider .slick-arrow {
        position: absolute;
        top: 50%;
        z-index: 10;
        width: 30px;
        height: 50px;
        background-image: url(../images/common_arrow01.webp);
        background-size: 24px auto;
        background-repeat: no-repeat;
        background-position: center;
    }

    section.activities ul.a-slider .slick-prev {
        left: 0;
        transform: translateY(-50%);
    }

    section.activities ul.a-slider .slick-next {
        right: 0;
        transform: translateY(-50%) scaleX(-1);
    }

    section.activities ul.a-slider .slick-prev::before {
        content: none;
    }

    section.activities ul.a-slider .slick-next::before {
        content: none;
    }

    section.activities ul.a-slider .slick-list.draggable {
        overflow: hidden;
    }

    section.activities ul.a-slider {
        display: flex;
        justify-content: center;
        gap: 15px;
        width: 100%;
        margin: 0;
    }

    section.activities ul.a-slider li {
        display: inline-flex !important;
        flex-direction: column;
        width: 300px;
        height: 100%;
        border: 1px solid #0062AC;
    }

    section.activities ul.a-slider li figure {
        padding: 15px 20px;
    }

    section.activities ul.a-slider li figure img {
        vertical-align: middle;
        aspect-ratio: 4/3;
        object-fit: cover;
    }

    section.activities ul.a-slider li dl {
        padding: 24px 20px;
        height: 100%;
        line-height: 1.75;
        border-top: 1px solid #0062AC;
        background: rgba(0, 129, 186, 0.05);
    }

    section.activities ul.a-slider li dl dt {
        /*display: -webkit-box;*/
        margin: 0 0 20px;
        font-weight: bold;
        font-size: 15px;
        color: #004898;
        text-align: center;
        /*overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;*/
    }

    section.activities ul.a-slider li dl dd {
        /*display: -webkit-box;*/
        font-size: 14px;
        color: #454545;
        text-align: justify;
        word-break: break-all;
        text-indent: 1em;
        /*overflow: hidden;
    -webkit-line-clamp: 5;
    -webkit-box-orient: vertical;*/
    }
}

@media only screen and (max-width: 768px) {
    #sb_instagram div#sbi_images {
        justify-content: center;
        flex-wrap: wrap;
        gap: 10px 3%;
    }

    #sb_instagram .sbi_photo {
        content: "";
        width: 100%;
        height: 100% !important;
        aspect-ratio: 1;
        object-fit: cover;
    }

    #sb_instagram div#sbi_images .sbi_item {
        flex: 1;
        flex-basis: 50%;
        width: 100% !important;
        max-width: calc(50% - 5px);
        min-width: 1px;
        min-height: 100%;
    }

    section.report p.h2_main {
        padding-left: 20px;
    }

    section.report .feed {
        margin-left: auto;
    }

    section.about section .wrap h2.h2_sub {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    section.about section.about_policy ol li:first-of-type {
        width: 70%;
    }

    section.about section.about_policy ol li:nth-of-type(2) {
        width: 75%;
    }

    section.about section.about_policy ol li:nth-of-type(3) {
        width: 80%;
    }

    section.about section.about_policy ol li:last-of-type {
        width: 85%;
    }

    section.about section.about_profile .wrap:nth-of-type(2) {
        width: 100%;
        padding: 10px 20px 16px;
        background: rgba(0, 72, 152, 0.9);
    }

    section.about section.about_profile .wrap:nth-of-type(2) ul li,
    section.about section.about_profile .wrap:nth-of-type(2) ul li * {
        font-size: 14px;
        line-height: 1.25;
        color: #ffffff;
        text-indent: -1em;
        padding-left: 1em;
    }

    section.about section.about_profile .wrap:nth-of-type(2) ul li::before {
        content: "―";
    }

    section.policy p.policy_ttl {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    section.policy section p.policy_ttl:after {
        display: none;
    }

    section.policy section.u-active p.policy_ttl:after {
        display: block;
    }

    section.policy .wrap section:not(.u-active) {
        margin-bottom: -20px;
    }

    section.policy .wrap section:not(.u-active) ~ section {
        border-top: 1px solid #004898;
    }

    section.policy .wrap section:not(.u-active):last-of-type {
        margin-bottom: 0;
    }

    section.policy .wrap section > div {
        display: none;
    }
}

@media only screen and (min-width: 769px) {
    .mv figure {
        max-width: 1200px;
        margin: 0 auto;
    }

    section.media {
        padding: 64px 2.93vw 50px;
        background-size: 1366px auto;
        background-position: center;
    }

    section.media .wrap .links p.h2_main {
        font-size: min(100px, 7.32vw);
        line-height: 1;
    }

    section.media .wrap .links h2.h2_sub {
        margin-left: 0;
    }

    section.media .wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-evenly;
        margin: 0 auto;
        gap: 0 1.46vw;
        max-width: 860px;
    }

    section.media .wrap .links {
        flex: 1;
        flex-basis: 45%;
    }

    section.media .wrap .comment {
        gap: 28px;
    }

    section.media .wrap .comment p {
        padding: 26px 22px;
    }

    section.media .wrap .twitter {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        flex: 1;
    }

    section.media .wrap .twitter .twitter-timeline {
        width: 340px;
    }

    section.media .links h2.h2_sub + p {
        margin: 60px 0 0;
        line-height: 1.5;
    }

    section.media .links ul li {
        width: fit-content;
    }

    section.media .wrap .instagram {
        flex-basis: 100%;
    }

    section.media .links p.h2_main .c_black {
        padding: 0;
    }

    #sb_instagram .sbi_photo {
        width: 100%;
        height: 100% !important;
        aspect-ratio: 1;
    }

    #sb_instagram .sbi_photo_wrap {
        height: 100%;
        aspect-ratio: 1;
    }

    #sb_instagram div#sbi_images .sbi_item.sbi_type_image {
        width: fit-content;
        min-width: 24%;
        flex-basis: 24%;
        /* max-width: calc(50% - 5px); */
    }

    section.report {
        display: flex;
        align-items: center;
        min-height: 515px;
        padding: 30px 0;
        background-size: auto 100%;
    }

    section.report .wrap {
        display: flex;
        justify-content: flex-end;
        gap: 5vw;
        flex-wrap: nowrap;
        width: 100%;
        max-width: none;
    }

    section.report .feed {
        width: 65vw;
    }

    section.report .feed .f-slider .slick-slide {
        max-width: 242px;
    }

    section.report .feed .f-slider a {
        width: 242px;
    }

    section.report .feed .f-slider a figure {
        padding: 15px 20px;
    }

    section.about {
        max-height: 660px;
        background-image:
            url("../images/index_about_bg02.webp"),
            url("../images/index_about_img01.webp"),
            url("../images/index_about_bg01.svg");
        background-size:
            500px auto,
            auto 620px,
            18px auto;
        background-repeat: no-repeat, no-repeat, repeat;
        background-position:
            center right 10%,
            bottom left 9%,
            center;
    }

    section.about > .wrap {
        max-width: none;
    }

    section.about section {
        align-items: unset;
        margin-left: auto;
        height: 660px;
    }

    section.about section.about_policy ol {
        gap: 30px;
        margin-bottom: 57px;
    }

    section.about section.about_policy ol li {
        padding: 17px;
        padding-left: 100px;
        font-size: min(26px, 1.9vw);
        line-height: 30px;
        border-radius: 90px 0 0 90px;
    }

    section.about section.about_policy ol li:first-of-type {
        width: 47.5%;
    }

    section.about section.about_policy ol li:nth-of-type(2) {
        width: 50%;
    }

    section.about section.about_policy ol li:nth-of-type(3) {
        width: 52.5%;
    }

    section.about section.about_policy ol li:last-of-type {
        width: 55%;
    }

    section.about section.about_policy ol li img {
        width: 70px;
        min-height: 70px;
    }

    section.about section.about_profile {
        align-items: flex-start;
        justify-content: flex-end;
        width: 55%;
        padding: 0 20px 50px 20px;
        padding-bottom: 50px;
    }

    section.about section.about_profile .wrap:first-of-type {
        margin: 0 auto;
    }

    section.about section.about_profile .wrap:nth-of-type(2) {
        margin: 0;
        padding: 16px 20px 0 2.93vw;
    }

    section.about section.about_profile p.name {
        padding: 0;
        font-size: 45px;
    }

    section.about section.about_profile p.name::first-letter {
        font-size: 66px;
    }

    section.about section.about_profile p.name span {
        top: 4px;
        right: 0;
        font-size: 16px;
    }

    section.about section.about_profile .wrap:nth-of-type(2) ul li,
    section.about section.about_profile .wrap:nth-of-type(2) ul li * {
        font-size: 18px;
        font-weight: bold;
        color: #000000;
        text-indent: -1em;
        padding-left: 1em;
    }

    section.about section.about_profile .wrap:nth-of-type(2) ul li::before {
        content: "";
        display: inline-block;
        width: 16px;
        height: 1px;
        background: #0062AC;
        vertical-align: middle;
    }

    section.about section.about_profile .wrap:nth-of-type(2) ul {
        gap: 16px;
        margin: 0;
        margin-left: 20px;
        padding: 20px 0 60px;
        border-left: 1px solid#0062AC;
        text-shadow: 0 0 5px rgb(255, 255, 255);
    }

    section.policy .policy_ttl_wrap {
        position: relative;
        max-width: 1080px;
        margin: 0 auto;
        padding: 84px 20px 0;
    }

    section.policy h2 {
        /* max-width: 1080px; */
    }

    section.policy h2 img {
        max-width: 460px;
    }

    section.policy {
        background-size:
            46.12vw auto,
            auto 327px,
            27.82vw auto,
            100% auto,
            100% auto;
        background-position:
            top left,
            top 60px right,
            top right,
            bottom center,
            bottom center;
    }

    section.policy p.h2_policy {
        position: absolute;
        top: 300px;
        right: 1.46vw;
        margin: 0;
        writing-mode: vertical-rl;
        text-orientation: upright;
        white-space: nowrap;
    }

    section.policy p.h2_policy span.c_pink {
        padding: 16px 4px;
    }

    section.policy p.h2_policy span.c_pink:nth-of-type(2) {
        margin-top: 1em;
    }

    section.policy .wrap {
        gap: 135px;
        max-width: 940px;
        margin-top: -40px;
        padding-bottom: 150px;
    }

    section.policy p.policy_ttl {
        pointer-events: none;
        width: 230px;
        margin: 0 auto;
        padding: 23px 20px;
        text-align: center;
    }

    section.policy .wrap section div.policy_wrap {
        flex-direction: row;
        justify-content: center;
    }

    section.policy .wrap section > div p {
        max-width: min(700px, 80vw);
        margin: 10px auto 30px;
        padding: 0 20px;
    }

    section.policy .wrap section > div dl {
        flex: 1;
    }

    section.policy .wrap section > div dl.col1 {
        flex: unset;
        width: fit-content;
    }

    section.policy .wrap article {
        position: relative;
        gap: 26px;
        width: 90%;
        margin: 0 auto;
        padding: 30px 20px 60px;
        border-width: 7px;
    }

    section.policy .wrap article p.btn {
        position: absolute;
        top: 100%;
        margin-top: -30px;
    }

    section.activities {
        padding: 90px 0 100px;
    }

    section.activities .activities_wrap {
        display: flex;
        align-items: center;
        gap: 40px;
        max-width: 1080px;
        margin: 0 auto;
    }

    section.activities .activities_wrap .wrap {
        max-width: none;
    }

    section.activities .activities_wrap .wrap + p {
        margin: 0;
        text-align: right;
        font-size: 27px;
    }

    section.activities .wrap {
        position: relative;
        max-width: 1160px;
    }

    section.activities ul.a-slider .slick-slide {
        max-width: 340px;
    }

    section.activities ul.a-slider .slick-arrow {
        width: 36px;
        height: 60px;
        background-size: 36px auto;
    }

    section.activities ul.a-slider .slick-prev {
        left: 0;
    }

    section.activities ul.a-slider .slick-next {
        right: 0;
    }

    section.activities ul.a-slider {
        padding: 0 40px;
    }

    section.activities ul.a-slider li {
        width: 340px;
    }

    section.activities ul.a-slider li dl dt {
        font-size: 17px;
    }

    section.activities ul.a-slider li dl dd {
        font-size: 16px;
    }
}

@media only screen and (min-width: 1367px) {
    section.about > .wrap {
        background-position: bottom right 60vw, center right 15vw;
    }
}