/*=======================================
TOP
=======================================*/
main.top_page {
    padding-top: 120px;
}

/* FV */
.fv {
    height: 665px;
    position: relative;
    overflow: hidden;
}

.fv img {
    height: 665px;
}

.fv video {
    width: 100vw;
    height: 665px;
    object-fit: cover;
}

.fv_inner {
    position: absolute;
    left: 0;
    top: 25px;
    width: 100%;
}

.fv_inner h1 {
    max-width: 1040px;
    width: 90%;
    margin: 0 auto;
    color: #fff;
    font-size: 60px;
    font-weight: bold;
    line-height: 130%;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
}

/* sec1 */
.sec1 {
    margin-top: -50px;
    position: relative;
}

.sec1 .content {
    max-width: 1030px;
}

.sec1 .content figure {
    display: flex;
    gap: 131px;
}

.sec1 .content figure img {
    width: 430px;
}

.sec1 .content figure figcaption {
    padding-top: 91px;
    position: relative;
}

.sec1 .content figure figcaption::before {
    content: "";
    display: inline-block;
    width: 240px;
    height: 100px;
    position: absolute;
    left: -70px;
    top: 137px;
    background-image: url(../images/top/sec1_border.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    z-index: -1;
}

.sec1 .content figure figcaption h2 {
    font-size: 65px;
    color: #1262A9;
    line-height: 0.8;
    font-weight: bold;
    position: relative;
}

.sec1 .content figure figcaption h2 span {
    color: #fff;
    position: relative;
}

.sec1 .content figure figcaption h3 {
    font-size: 24px;
    font-weight: bold;
    margin-top: 20px;
}

.sec1 .content figure figcaption p {
    line-height: 180%;
    letter-spacing: 0.05em;
    margin-top: 20px;
}

.sec1 .content figure figcaption a.btn {
    margin-top: 25px;
}

/* sec2 */
.sec2 {
    margin-top: 75px;
    position: relative;
    overflow: hidden;
}

.sec2 .content {
    max-width: 910px;
    position: relative;
    padding-bottom: 40px;
}

.sec2 .content::before {
    content: "";
    display: inline-block;
    height: 94%;
    width: 100vw;
    background-image: url(../images/top/sec2_border.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: -60px;
    bottom: 0;
}

.sec2 .content .sec_title {
    position: relative;
}


.sec2 .content .sec_title h3 {
    font-size: 24px;
    font-weight: bold;
}

.sec2 .content .sec_title p {
    height: 180%;
    letter-spacing: 0.05em;
}

.sec2 .content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 52px 37px;
    margin-top: 30px;
    position: relative;
}

.sec2 .content ul li a {
    display: block;
}

.sec2 .content ul li a img {
    height: 240px;
}

.sec2 .content ul li a p {
    font-size: 24px;
    font-weight: bold;
    color: #1262A9;
}

.sec2 .content .btn {
    position: relative;
    display: block;
    width: 160px;
    margin: 30px auto 0;
    text-align: center;
}

/* sec3 */
.sec3 {
    margin-top: 130px;
    padding: 80px 0;
    background-image: url(../images/top/bg.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.sec3 .content .sec_title {
    text-align: center;
}

.sec3 .content .sec_title h3 {
    font-size: 24px;
    font-weight: bold;
    margin-top: 10px;
}

.sec3 .content ul {
    max-width: 700px;
    margin: 30px auto 0;
    display: flex;
    flex-flow: column;
    gap: 10px;
}

.sec3 .content ul li a {
    display: flex;
    align-items: self-start;
}

.sec3 .content ul li a:hover {
    text-decoration: underline;
}

.sec3 .content ul li a time {
    width: 125px;
}

.sec3 .content ul li a p {
    width: 575px;
}

.sec3 .content a.btn {
    display: block;
    width: 163px;
    margin: 40px auto 0;
}

/* sec4 */
.sec4 {
    margin-top: 75px;
    overflow: hidden;
}

.sec4 .content {
    position: relative;
    max-width: 910px;
    padding-bottom: 80px;
}

.sec4 .content::before {
    content: "";
    display: inline-block;
    height: 91%;
    width: 100vw;
    background-image: url(../images/top/sec4_border.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -60px;
    bottom: 0;
}

.sec4 .content .sec_title {
    position: relative;
}

.sec4 .content .sec_title h3 {
    font-size: 24px;
    font-weight: bold;
}

.sec4 .content .sec_title p {
    line-height: 180%;
    letter-spacing: 0.05em;
}

.sec4 .content ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 24px;
    position: relative;
    margin-top: 10px;
}

.sec4 .content ul li a {
    display: block;
    position: relative;
    z-index: 1;
}

.sec4 .content ul li a img {
    height: 128px;
}

.sec4 .content ul li a p {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0, -50%);
    color: #fff;
    font-size: 24px;
    font-weight: bold;
}

@media screen and (max-width: 920px) {
    main.top_page {
        padding-top: 76px;
    }

    .fv {
        height: 400px;
    }

    .fv img {
        height: 400px;
    }

    .fv video {
        height: 400px;
    }

    .fv_inner h1 {
        font-size: 40px;
    }

    .sec1 .content figure {
        gap: 60px;
    }

    .sec1 .content figure img {
        width: 280px;
    }
}

@media screen and (max-width: 769px) {
    main.top_page {
        padding-top: 100px;
    }

    .fv {
        height: auto;
        overflow: hidden;
    }

    .fv_inner {
        position: relative;
        top: 0;
    }

    .fv_inner h1 {
        font-size: 26px;
        width: 100%;
        margin: 0 20px;
    }

    .fv video {
        height: 250px;
        margin: 20px 0 0 50px;
    }

    .fv img {
        height: 250px;
        margin: 20px 0 0 50px;
    }

    .sec1 {
        margin-top: 35px;
    }

    .sec1 .content figure {
        gap: 35px;
        position: relative;
        padding-bottom: 60px;
    }

    .sec1 .content figure img {
        width: 120px;
    }

    .sec1 .content figure figcaption {
        padding-top: 0;
        position: unset;
    }

    .sec1 .content figure figcaption::before {
        display: none;
    }

    .sec1 .content figure figcaption h2 {
        font-size: 33px;
    }

    .sec1 .content figure figcaption h3 {
        font-size: 14px;
    }

    .sec1 .content figure figcaption a.btn {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 0);
    }

    .sec2 {
        margin-top: 0;
    }

    .sec2 .content {
        width: 80%;
        padding-top: 60px;
    }

    .sec2 .content::before {
        left: -5%;
        height: calc(100% + 40px);
        background-image: url(../images/top/sp/sec2_border_sp.svg);
        background-position: top;
        bottom: unset;
        top: 0;
    }

    .sec2 .content .sec_title h3 {
        font-size: 16px;
    }

    .sec2 .content ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 25px 0;
        margin-top: 15px;
    }

    .sec2 .content ul li a img {
        height: auto;
    }

    .sec2 .content ul li a p {
        font-size: 16px;
    }

    .sec3 {
        margin-top: 80px;
        padding: 35px 0 50px;
    }

    .sec3 .content .sec_title h3 {
        font-size: 16px;
    }

    .sec3 .content ul {
        margin: 15px auto 0;
    }

    .sec3 .content ul li a {
        flex-flow: column;
    }

    .sec3 .content ul li a p {
        width: 100%;
    }

    .sec3 .content a.btn {
        width: 120px;
        padding: 6px 0;
        text-align: center;
        margin: 25px auto 0;
    }

    .sec4 {
        margin-top: 0;
        padding: 40px 0 0;
    }

    .sec4 .content {
        width: 80%;
        padding-bottom: 0;
    }

    .sec4 .content::before {
        height: 220px;
        bottom: unset;
        top: -40px;
        right: unset;
        left: -20%;
        background-image: url(../images/top/sp/sec4_border_sp.svg);
    }

    .sec4 .content .sec_title h3 {
        font-size: 16px;
    }

    .sec4 .content ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 23px 0;
        margin-top: 15px;
    }

    .sec4 .content ul li a img {
        height: auto;
    }

    .sec4 .content ul li a p {
        font-size: 18px;
    }
}

@media screen and (max-width: 365px) {
    .fv_inner h1 {
        font-size: 22px;
    }

    .sec1 .content figure img {
        width: 90px;
    }

    .sec1 {
        margin-top: 45px;
    }

    .sec1 .content figure {
        gap: 20px;
    }
}

/*=======================================
strength
=======================================*/
.strength {
    padding-top: 120px;
}

.strength h1 {
    font-size: 65px;
    font-weight: bold;
    color: #1262A9;
}

.strength_sec1 {
    margin-top: 85px;
    position: relative;
    padding-bottom: 70px;
}

.strength_sec1::before {
    content: "";
    display: inline-block;
    width: 1020px;
    height: 1100px;
    background-image: url(../images/strength/strength_bg.webp);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: -1;
}

.strength_sec1 .content {
    display: flex;
    flex-flow: column;
    gap: 100px;
}

.strength_sec1 .content figure {
    display: flex;
    align-items: center;
    gap: 60px;
}

.strength_sec1 .content figure figcaption h2 {
    font-size: 24px;
    font-weight: bold;
}

.strength_sec1 .content figure figcaption p {
    margin-top: 32px;
}

.strength_sec1 .content figure img {
    width: 400px;
    height: 400px;
}

.strength_sec2 {
    margin-top: 100px;
    overflow: hidden;
}

.strength_sec2 .content {
    max-width: 970px;
    position: relative;
    padding-bottom: 60px;
}

.strength_sec2 .content::before {
    content: "";
    display: inline-block;
    height: 95%;
    width: 100vw;
    background-image: url(../images/strength/border.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -60px;
    bottom: 0;
}

.strength_sec2 .sec_title {
    position: relative;
}

.strength_sec2 .content p {
    margin-top: 80px;
    font-size: 24px;
    font-weight: bold;
}

.strength_sec2 .content figure {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 40px;
}

.strength_sec2 .content figure img {
    width: 580px;
    position: relative;
}

.strength_sec3 {
    margin-top: 120px;
    padding: 120px 0;
    background-image: url(../images/strength/strength_bg02.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.strength_sec3 .content {
    max-width: 900px;
}

.strength_sec3 .content h2 {
    text-align: center;
    font-size: 38px;
    font-weight: bold;
    color: #fff;
}

.strength_sec3_flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    margin-top: 80px;
}

.strength_sec3_left {
    background: #fff;
    text-align: center;
    position: relative;
}

.strength_sec3_left::before {
    content: "";
    display: inline-block;
    width: 95%;
    height: 90%;
    border: 1px solid #1262A9;
    position: absolute;
    top: 5%;
    left: 2.5%;
}

.strength_sec3_left a {
    display: block;
    padding: 62px 0;
    position: relative;
}

.strength_sec3_left a p {
    font-size: 24px;
    font-weight: bold;
    color: #1262A9;
}

.strength_sec3_left a img {
    width: 50px;
    margin-top: 10px;
}

.strength_sec3_right {
    border: 2px solid #fff;
    padding: 20px 0;
}

.strength_sec3_right p {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
}

.strength_sec3_right p:nth-child(2) {
    margin-top: 10px;
}

.strength_sec3_right p a {
    font-size: 24px;
}

.page-id-82 .footer {
    margin-top: 0;
}

@media screen and (max-width: 920px) {
    .strength {
        padding-top: 100px;
    }

    .strength_sec2 .content figure img {
        width: 50%;
    }
}

@media screen and (max-width: 769px) {

    .strength h1 {
        font-size: 33px;
    }

    .strength_sec1 {
        margin-top: 20px;
        padding-bottom: 30px;
    }

    .strength_sec1 .content {
        gap: 40px;
    }

    .strength_sec1 .content figure {
        flex-flow: column;
        gap: 20px;
    }

    .strength_sec1 .content figure:nth-child(1) {
        flex-flow: column-reverse;
    }

    .strength_sec1 .content figure img {
        width: 70%;
        height: auto;
    }

    .strength_sec1 .content figure figcaption h2 {
        font-size: 16px;
    }

    .strength_sec1 .content figure figcaption p {
        margin-top: 10px;
    }

    .strength_sec2 {
        margin-top: 40px;
    }

    .strength_sec2 .content {
        padding-bottom: 30px;
    }

    .strength_sec2 .content::before {
        right: -2.5%;
    }

    .strength_sec2 .content p {
        font-size: 16px;
        margin-top: 20px;
    }

    .strength_sec2 .content figure {
        flex-flow: column;
        gap: 20px;
        margin-top: 20px;
    }

    .strength_sec2 .content figure img {
        width: 90%;
    }

    .strength_sec3 {
        margin-top: 40px;
        padding: 40px 0;
    }

    .strength_sec3 .content h2 {
        font-size: 22px;
    }

    .strength_sec3_flex {
        margin-top: 20px;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }

    .strength_sec3_left a {
        padding: 30px 0;
    }

    .strength_sec3_left a p {
        font-size: 16px;
    }

    .strength_sec3_left a img {
        width: 30px;
        margin-top: 5px;
    }

    .strength_sec3_right p {
        font-size: 14px;
    }

    .strength_sec3_right p a {
        font-size: 14px;
    }

    .strength_sec3_right p:nth-child(2) {
        margin-top: 5px;
    }

    .page-id-82 .accordion-area {
        margin-top: 0;
    }
}

/*=======================================
business
=======================================*/
.business {
    padding-top: 140px;
    max-width: 1440px;
    width: 90%;
    margin: 0 auto;
    overflow: hidden;
}

.business .business_inner {
    max-width: 1175px;
    margin: 0 50px 0 auto;
    padding: 0 265px 80px 60px;
    position: relative;
}

.business .business_inner::before {
    content: "";
    display: inline-block;
    height: 95%;
    width: calc(100% + 60px);
    background-image: url(../images/business/border01.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    bottom: 0;
}

.business .business_inner:nth-child(2)::before {
    background-image: url(../images/business/border02.svg);
}

.business .business_inner:nth-child(3)::before {
    background-image: url(../images/business/border03.svg);
}

.business .business_inner:nth-child(4)::before {
    background-image: url(../images/business/border04.svg);
}

.business .business_inner span.business_number {
    font-size: 110px;
    font-weight: bold;
    color: #357AB6;
    opacity: 0.7;
    position: absolute;
    right: 20px;
    top: 90px;
    writing-mode: vertical-rl;
    line-height: 1;
}

.business .business_inner .business_title h1 {
    font-size: 45px;
    font-weight: bold;
    color: #1262A9;
    position: relative;
    line-height: 130%;
}

.business .business_inner .business_title h2 {
    font-size: 24px;
    font-weight: bold;
    padding-left: 68px;
    position: relative;
    margin-top: 20px;
}

.business .business_inner .business_title h2::before {
    content: "";
    display: inline-block;
    width: 60px;
    border-top: 1px solid #000;
    position: absolute;
    left: 0;
    top: 18px;
}

.business .business_inner .business_title p {
    padding-left: 68px;
    margin-top: 10px;
    position: relative;
}

.business_inner .btn_content {
    max-width: 680px;
    margin: 0 0 0 120px;
}

.business_inner a.btn {
    display: block;
    width: 170px;
    margin: 60px auto 0;
    text-align: center;
    position: relative;
}

.business .business_inner:nth-child(n + 2) {
    margin-top: 90px;
}

.business_inner:nth-child(2n) {
    margin: 0 auto 0 50px;
    padding: 0 60px 80px 265px;
}

.business_inner:nth-child(2n)::before {
    left: unset;
    right: 0;
    height: 97%;
}

.business_inner:nth-child(2n) span.business_number {
    right: unset;
    left: 20px;
}

/* Service 01 */
.business .business_inner.box1 .business_flex {
    position: relative;
    max-width: 680px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin: 90px 0 0 120px;
}

.business .business_inner.box1 .business_flex .business_flex_box {
    background: #fff;
    padding: 35px 40px;
    text-align: center;
}

.business .business_inner.box1 .business_flex .business_flex_box h3 {
    font-size: 20px;
    font-weight: bold;
    color: #1262A9;
    line-height: 180%;
    letter-spacing: 0.05em;
}

.business .business_inner.box1 .business_flex .business_flex_box img {
    width: 205px;
    margin-top: 20px;
}

.business .business_inner.box1 .business_flex .business_flex_box p {
    margin-top: 20px;
    text-align: left;
}

/* Service 02 */
.business .business_inner.box2 img {
    position: relative;
    margin-top: 60px;
}

.business .business_inner.box2 .process {
    position: relative;
    height: 745px;
    width: 100%;
}

.business .business_inner.box2 .process_center {
    width: 300px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.business .business_inner.box2 .process_center img {
    margin-top: 0;
}

.business .business_inner.box2 .process_img img {
    position: relative;
}

.business .business_inner.box2 .process_box {
    width: 190px;
    height: 150px;
    margin-top: 0;
    box-shadow: 10px 10px 0 rgba(18, 98, 169, 0.5);
    transition: .3s;
}

.business .business_inner.box2 .process_box_inner {
    position: relative;
}

.business .business_inner.box2 .process_box_inner::before {
    content: "";
    display: inline-block;
    width: 190px;
    height: 150px;
    background: #000;
    opacity: .5;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 11;
    transition: .3s;
}

.business .business_inner.box2 .process_box img {
    width: 190px;
    height: 150px;
    position: relative;
    margin-top: 0;
    transition: .3s;
}

.business .business_inner.box2 .process_box:hover,
.business .business_inner.box2 .process_box:hover img {
    width: 240px;
    height: 200px;
    z-index: 10;
}

.business .business_inner.box2 .process_box:hover .process_box_inner::before {
    width: 240px;
    height: 200px;
    opacity: 0;
}

.business .business_inner.box2 .process_img .process_box1 {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
}

.business .business_inner.box2 .process_img .process_box2 {
    position: absolute;
    top: 15%;
    left: 83%;
    transform: translate(-50%, 0);
}

.business .business_inner.box2 .process_img .process_box3 {
    position: absolute;
    top: 45%;
    left: 90%;
    transform: translate(-50%, 0);
}

.business .business_inner.box2 .process_img .process_box4 {
    position: absolute;
    top: calc(100% - 160px);
    left: calc(50% + 180px);
    transform: translate(-50%, -0);
}

.business .business_inner.box2 .process_img .process_box5 {
    position: absolute;
    top: calc(100% - 160px);
    left: calc(50% - 180px);
    transform: translate(-50%, -0);
}

.business .business_inner.box2 .process_img .process_box6 {
    position: absolute;
    top: 45%;
    left: 10%;
    transform: translate(-50%, 0);
}

.business .business_inner.box2 .process_img .process_box7 {
    position: absolute;
    top: 15%;
    left: 18%;
    transform: translate(-50%, 0);
}

/* Service 03 */
.business .business_inner.box3 ul {
    margin-top: 20px;
    padding-left: 68px;
}

.business .business_inner.box3 ul li h3 {
    padding-left: 20px;
    position: relative;
}

.business .business_inner.box3 ul li h3::before {
    content: "・";
    display: inline-block;
    font-size: 16px;
    position: absolute;
    left: 0;
    top: 0;
}

.business .business_inner.box3 ul li p {
    padding-left: 20px;
    margin-top: 0;
}

.business .business_inner.box3 .business_flex {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 70px;
    margin-top: 60px;
    position: relative;
}

.business .business_inner.box3 .business_flex_box p {
    font-size: 24px;
    font-weight: bold;
    color: #1262A9;
}

/* Service 04 */
.business .business_inner.box4 .business_flex {
    display: flex;
    justify-content: center;
    gap: 35px;
    position: relative;
    margin-top: 60px;
}

.business .business_inner.box4 .business_flex2 {
    display: flex;
    justify-content: center;
    gap: 35px;
    position: relative;
    margin-top: 40px;
}

.business .business_inner.box4 .business_flex_box {
    width: 33.3333%
}

.business .business_inner.box4 .business_flex_box p {
    font-size: 22px;
    font-weight: bold;
    color: #1262A9;
}

/* business_select */
.business_select {
    padding: 110px 0 0;
}

.business_select ul {
    max-width: 1030px;
    width: 90%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.business_select ul li a {
    display: block;
    position: relative;
}

.business_select ul li a::before {
    content: "";
    display: inline-block;
    width: 56px;
    height: 56px;
    background-image: url(../images/icon/business_arrow.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: 70%;
    right: 40px;
    transform: translate(0, -50%);
    transition: .3s;
}

.business_select ul li a img {
    height: 350px;
}

.business_select ul li a p {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translate(0, -50%);
    font-size: 24px;
    font-weight: bold;
    color: #fff;
}

@media screen and (max-width: 1230px) {

    .business .business_inner {
        padding: 0 40px 80px 80px;
    }

    .business_inner:nth-child(2n) {
        margin: 0;
    }

    .business .business_inner span.business_number {
        font-size: 70px;
        right: -50px;
    }

    .business_inner:nth-child(2n) span.business_number {
        right: unset;
        left: 0;
    }

    .business .business_inner.box1 .business_flex {
        grid-template-columns: repeat(1, 1fr);
        gap: 40px;
        margin: 50px 0 0 0;
    }

    .business_select ul li a img {
        height: 250px;
    }
}

@media screen and (max-width: 920px) {
    .business {
        padding-top: 100px;
    }
}

@media screen and (max-width: 769px) {

    .business .business_inner {
        margin: 0 20px 0 0;
        padding: 0 40px 40px 20px;
    }

    .business .business_inner::before {
        height: 97%;
        background-image: url(../images/business/border_sp.svg);
    }

    .business_inner:nth-child(2n)::before {
        right: unset;
        left: 0;
    }

    .business .business_inner:nth-child(2)::before,
    .business .business_inner:nth-child(3)::before,
    .business .business_inner:nth-child(4)::before {
        background-image: url(../images/business/border_sp.svg);
    }

    .business .business_inner span.business_number {
        font-size: 32px;
        right: -15px;
        top: 40px
    }

    .business .business_inner .business_title h1 {
        font-size: 33px;
    }

    .business .business_inner .business_title h2 {
        font-size: 16px;
        padding-left: 30px;
        margin-top: 10px;
    }

    .business .business_inner .business_title h2::before {
        width: 25px;
        top: 14px;
    }

    .business .business_inner .business_title p {
        padding-left: 30px;
    }

    .business .business_inner.box1 .business_flex {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
        margin: 20px 0 0 0;
    }

    .business .business_inner.box1 .business_flex .business_flex_box {
        padding: 20px;
    }

    .business .business_inner.box1 .business_flex .business_flex_box h3 {
        font-size: 16px;
    }

    .business .business_inner.box1 .business_flex .business_flex_box img {
        width: 170px;
        margin-top: 10px;
    }

    .business_inner .btn_content {
        margin: 0;
    }

    .business_inner a.btn {
        width: 130px;
        margin: 30px auto 0;
    }

    .business .business_inner:nth-child(n + 2) {
        margin-top: 40px;
    }

    /* .business_inner:nth-child(2n) {
        margin: 0 20px;
        padding: 0 0 40px 40px;
    }

    .business_inner:nth-child(2n) span.business_number {
        right: unset;
        left: 0;
    } */

    .business .business_inner.box2 img {
        margin-top: 30px;
    }

    .business .business_inner.box3 ul {
        padding-left: 30px;
        margin-top: 10px;
    }

    .business .business_inner.box3 .business_flex {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
        margin-top: 30px;
        padding-left: 30px;
    }

    .business .business_inner.box3 .business_flex_box p {
        font-size: 16px;
    }

    .business .business_inner.box4 .business_flex,
    .business .business_inner.box4 .business_flex2 {
        gap: 30px 0;
        margin-top: 30px;
        padding-left: 30px;
        flex-flow: column;
    }

    .business .business_inner.box4 .business_flex_box {
        width: 100%;
    }

    .business .business_inner.box4 .business_flex_box p {
        font-size: 16px;
    }

    .business_select {
        padding: 80px 0 0;
    }

    .business_select ul {
        grid-template-columns: repeat(1, 1fr);
    }

    .page-id-66 .business_select ul {
        width: 100%;
    }

    .business_select ul li a img {
        height: auto;
    }

    .business_select ul li a p {
        font-size: 14px;
        right: 5%;
    }

    .business_select ul li a::before {
        height: 40px;
        width: 40px;
        right: 5%;
    }

    .business .business_inner.box2 .process {
        height: 72vw;
        margin-top: 40px;
    }

    .business .business_inner.box2 .process_center {
        width: 40%;
    }

    .business .business_inner.box2 .process_box {
        height: 16vw;
        width: 27%;
        box-shadow: 3px 3px 0 rgba(18, 98, 169, 0.5);
    }

    .business .business_inner.box2 .process_box img {
        height: 16vw;
        width: 100%;
    }

    .business .business_inner.box2 .process_box_inner::before {
        /* height: 12vw;
        width: 100%; */
        display: none;
    }

    .business .business_inner.box2 .process_box:hover {
        height: 16vw;
        width: 27%;
    }

    .business .business_inner.box2 .process_box:hover img {
        height: 16vw;
        width: 100%;
    }

    .business .business_inner.box2 .process_img .process_box2 {
        top: 20%;
        left: 84%;
    }

    .business .business_inner.box2 .process_img .process_box3 {
        top: 54%;
        left: 90%;
    }

    .business .business_inner.box2 .process_img .process_box4 {
        top: calc(100% - 13vw);
        left: calc(50% + 12vw);
    }

    .business .business_inner.box2 .process_img .process_box5 {
        top: calc(100% - 13vw);
        left: calc(50% - 12vw);
    }

    .business .business_inner.box2 .process_img .process_box6 {
        top: 54%;
        left: 10%;
    }

    .business .business_inner.box2 .process_img .process_box7 {
        top: 20%;
        left: 14%;
    }
}

/* Business 下層 */

.business_single_fv {
    position: relative;
}

.business_single_fv::before {
    content: "";
    display: inline-block;
    width: 180px;
    border-top: 1px solid #fff;
    position: absolute;
    top: 62%;
    left: 205px;
    transform: translate(0, -50%);
    font-size: 60px;
}

.business_single_fv img {
    height: 450px;
}

.business_single_fv h1 {
    font-size: 60px;
    font-weight: bold;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 205px;
    transform: translate(0, -50%);
}

.business_single .content {
    padding: 50px 0;
}

.business_bg {
    background-image: url(../images/business/business_bg.png?2);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    padding: 60px 0;
    margin-top: 30px;
}

.business_single_grid .content {
    position: relative;
}

.business_single_grid figure {
    display: flex;
    gap: 40px;
    position: relative;
    max-width: 910px;
    width: 90%;
    margin: 0 auto;
}

.business_single_grid figure.border::before {
    content: "";
    display: inline-block;
    width: 90%;
    border-top: 1px solid #6C9ECA;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translate(-50%, 0);
}

.business_single_grid figure:nth-child(1) {
    margin-top: 50px;
}

.business_bg figure:nth-child(1) {
    margin-top: 0;
}

.business_single_grid figure:nth-child(1)::before {
    content: "";
    display: inline-block;
    height: 350px;
    width: 100vw;
    background-image: url(../images/business/border_single.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: -60px;
    top: -50px;
    z-index: -1;
}

.business_bg figure:nth-child(1)::before {
    display: none;
}

.business_single_grid figure:nth-child(n + 2) {
    margin-top: 60px;
}

.business_single_grid figure.reverse {
    flex-direction: row-reverse;
}

.business_single_grid figure img {
    width: 400px;
    height: 280px;
}

.business_single_grid figure img.sub {
    width: 320px;
    height: 230px;
}

.business_single_grid figure figcaption h2 {
    font-size: 24px;
    font-weight: bold;
}

.business_single_grid figure figcaption p {
    margin-top: 30px;
    line-height: 180%;
}

/* Business 03 */
.business03 .business_single_grid figure:nth-child(1)::before {
    height: 860px;
    background-image: url(../images/business/business03_border.svg);
}

.business03_flex {
    max-width: 825px;
    width: 90%;
    margin: 40px auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    position: relative;
    padding-bottom: 40px;
}


.business03_flex .box {
    background: rgb(255, 255, 255, .8);
    padding: 20px 30px;
}

.business03_flex_left {
    width: 340px;
}

.business03_flex_left .box {
    padding: 20px 30px 80px 30px;
}

.business03_flex_right {
    width: 435px;
}

.business03_flex .box:nth-child(2) {
    margin-top: 20px;
}

.business03_flex h3 {
    font-size: 24px;
    font-weight: bold;
}

.business03_flex ul {
    margin-top: 15px;
}

.business03_flex ul li {
    padding-left: 12px;
    position: relative;
    font-size: 16px;
    letter-spacing: 0;
}

.business03_flex ul li::before {
    content: "-";
    display: inline-block;
    font-size: 14px;
    position: absolute;
    left: 0;
    top: -1px;
}

@media screen and (max-width: 920px) {
    .business_single {
        padding-top: 64px;
        overflow: hidden;
    }

    .business_single_fv h1 {
        left: 20px;
        font-size: 40px;
    }

    .business_single_fv::before {
        width: 80px;
        left: 20px;
    }

    .business_single_fv img {
        height: 300px;
    }

    .business_single_grid figure img {
        width: 50%;
    }

    .business03_flex_left,
    .business03_flex_right {
        width: auto;
    }

    .business03 .business_single_grid figure:nth-child(1)::before {
        height: 995px;
    }
}

@media screen and (max-width: 769px) {

    .business_single_fv img {
        height: 200px;
    }

    .business_single_fv h1 {
        font-size: 24px;
        left: 20px;
    }

    .business_single_fv::before {
        left: 20px;
        width: 60px;
    }

    .business_single_grid figure {
        flex-flow: column;
        gap: 10px;
    }

    .business_single_grid figure:nth-child(1)::before {
        height: 570px;
        right: -2.5%;
    }

    .business_single_grid figure.reverse {
        flex-flow: column;
    }

    .business_single_grid figure img {
        width: 100%;
    }

    .business_single_grid figure figcaption h2 {
        font-size: 16px;
    }

    .business_single_grid figure figcaption p {
        margin-top: 10px;
    }

    .business03 .business_single_grid figure:nth-child(1)::before {
        height: 1340px;
        background-image: url(../images/business/border_sp.svg);
    }

    .business03_flex {
        margin: 30px auto 0;
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
        width: 90%;
    }

    .business03_flex_left .box {
        padding: 20px;
    }

    .business03_flex h3 {
        font-size: 16px;
    }

    .business03_flex ul {
        margin-top: 10px;
    }

    .business03_flex ul li {
        font-size: 12px;
    }

    .business03_flex ul li::before {
        font-size: 12px;
    }
}

/*=======================================
Company
=======================================*/
.company {
    padding-top: 120px;
    overflow: hidden;
}

.company .company_sec1 {
    overflow: hidden;
    padding-bottom: 60px;
}

.company .company_sec1 .content {
    max-width: 1030px;
}

.company .company_sec1 .content h1 {
    font-size: 65px;
    font-weight: bold;
    color: #1262A9;
}

.company .company_sec1 .content h2 {
    font-size: 24px;
    font-weight: bold;
    margin-top: 20px;
    letter-spacing: 0.05em;
    position: relative;
}

.company_sec1 .content .company_vision {
    position: relative;
    padding: 75px 0 60px;
    text-align: center;
    margin-top: 15px;
}

.company_sec1 .content .company_vision::before {
    content: "";
    display: inline-block;
    background: #F2F6FA;
    background-image: url(../images/company/border01.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 60px;
    bottom: -60px;
    margin: 0 calc(50% - 50vw) 0 0;
    width: 86vw;
    height: 275px;
    z-index: -1;
}

.company_sec1 .content .company_vision .slider {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0 calc(50% - 50vw) 0 0;
    width: 86vw;
    height: 275px;
}

.company_sec1 .content .company_vision .slider li {
    width: 410px;
}

.company_sec1 .content .company_vision img {
    height: 275px;
}

.company_sec1 .content .company_vision .inner {
    position: relative;
}

.company_sec1 .content .company_vision .inner p {
    text-shadow: 0px 5px 5px rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 24px;
    font-weight: bold;
}

.company_sec1 .content .company_vision .inner h3 {
    text-shadow: 0px 5px 5px rgba(0, 0, 0, 0.5);
    color: #fff;
    font-size: 48px;
    font-weight: bold;
}

.company_sec2 {
    margin-top: 100px;
    padding-bottom: 155px;
    background-image: url(../images/company/company_bg01.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.company_sec2::before {
    content: "";
    display: inline-block;
    background-image: url(../images/company/border02.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    top: 60px;
    height: 150px;
    width: 950px;
}

.company_sec2 .content h2 {
    font-size: 45px;
    font-weight: bold;
    color: #1262A9;
    position: relative;
    top: -30px;
}

.company_sec2 .content h3 {
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0.05em;
    position: relative;
}

.company_sec2 .content h4 {
    font-size: 20px;
    letter-spacing: 0.05em;
    position: relative;
    margin-top: 10px;
}

.company_sec2 .content ol li {
    position: relative;
    padding-left: 20px;
}

.company_sec2 .content ol li::before {
    display: inline-block;
    font-size: 16px;
    position: absolute;
    left: 0;
}

.company_sec2 .content ol li:nth-child(1)::before {
    content: "1."
}

.company_sec2 .content ol li:nth-child(2)::before {
    content: "2."
}

.company_sec2 .content ol li:nth-child(3)::before {
    content: "3."
}

.company_sec3 {
    margin-top: 100px;
    padding-bottom: 120px;
    background-image: url(../images/company/company_bg02.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.company_sec3::before {
    content: "";
    display: inline-block;
    background-image: url(../images/company/border01.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    right: 0;
    top: 160px;
    height: 280px;
    width: 950px;
}

.company_sec3 .content {
    max-width: 1030px;
}

.company_sec3 .content h2 {
    font-size: 45px;
    font-weight: bold;
    color: #1262A9;
    position: relative;
    top: -30px;
}

.company_sec3 .content figure {
    display: flex;
    gap: 40px;
    margin-top: 30px;
    position: relative;
}

.company_sec3 .content figure img {
    width: 430px;
    height: 430px;
}

.company_sec4 {
    margin-top: 100px;
    padding-bottom: 120px;
    background-image: url(../images/company/company_bg02.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: relative;
}

.company_sec4::before {
    content: "";
    display: inline-block;
    background-image: url(../images/company/border01.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 0;
    top: 155px;
    height: 220px;
    width: 950px;
}

.company_sec4 .content h2 {
    font-size: 45px;
    font-weight: bold;
    color: #1262A9;
    position: relative;
    top: -30px;
}

.company_sec4 .content figure {
    display: flex;
    gap: 80px;
    align-items: center;
    margin-top: 30px;
    position: relative;
}

.company_sec4 .content figure img {
    width: 280px
}

.company_sec5 {
    margin-top: 100px;
}

.company_sec5 .content:nth-child(2) {
    margin-top: 70px;
}

.company_sec5 .content h2 {
    font-size: 45px;
    font-weight: bold;
    color: #1262A9
}

.company_sec5 .content table {
    width: 100%;
    display: block;
    border-bottom: 1px solid #D9D9D9;
    margin-top: 40px;
}

.company_sec5 .content table tbody {
    width: 100%;
    display: block;
}

.company_sec5 .content table tbody tr {
    border-top: 1px solid #D9D9D9;
    display: flex;
    width: 100%;
    gap: 80px;
}

.company_sec5 .content table tbody tr th {
    width: 190px;
    font-size: 18px;
    font-weight: bold;
    padding: 20px 0;
    margin-left: 40px;
    display: flex;
    justify-content: space-between;
}

.company_sec5 .content table tbody tr th a {
    text-decoration: underline;
}

.company_sec5 .content table tbody tr td {
    padding: 20px 0;
}

.company_sec5 .content table tbody tr td a {
    text-decoration: underline;
}

.company_sec6 {
    margin-top: 100px;
}


.company_sec6 .content h2.mincho {
    font-size: 45px;
    font-weight: bold;
    color: #1262A9
}


.company_sec6 .content ul li {
    margin-top: 40px;
}

.company_sec6 .content ul li h3 {
    font-size: 24px;
    font-weight: bold;
}

.company_sec6 .content ul li p a {
    text-decoration: underline;
}

.company_sec6 .content ul li img {
    width: 40%;
    display: block;
    margin: 20px auto 0;
}

.company_sec6 .content ul li .text {
    width: 40%;
    margin: 0 auto;
}

.company_sec6 .content ul li iframe {
    width: 100%;
    height: 475px;
    margin-top: 20px;
}

@font-face {
	font-family: 'Noto Serif CJK JP';
	src:url('../fonts/NotoSerifCJKjp-SemiBold.woff') format('woff'),
        url('../fonts/NotoSerifCJKjp-SemiBold.otf') format('opentype');
	font-weight: 600;
	font-style: normal;
}

.bnr-partners-wrap{
    margin-block: 90px 76px;
    width: 100%;
    max-width: calc(1012px + 20px * 2);
    padding-inline: 20px;
    margin-inline: auto;
}

.bnr-partners{
    width: 100%;
    border: 3px solid #1262A9;
    background: #FFF;
    padding: 16px 16px 60px 16px;
}
.bnr-partners__title{
    background: url('../images/top/bnr_partners01.webp') no-repeat center center / 100%;
    aspect-ratio: 979 / 252;
    display: grid;
    place-content: center;
    color: #FFF;
    text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    font-family: "Noto Serif CJK JP";
    font-size: 64px;
    font-style: normal;
    line-height: 1.8;
}

.bnr-partners__note{
    margin-block-start: 55px;
    color: #171717;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8;
}

.bnr-partners__btn{
    margin-block-start: 21px;
    margin-inline: auto;
    width: 90%;
    max-width: 603px;
    height: 70px;
    border: 1px solid #1262A9;
    display: flex;
    align-items: center;
    padding-inline-start: 5.5335%;
    background: #1262A9;
    color: #FFF;
    font-family: "Noto Serif CJK JP";
    font-size: 24px;
    font-weight: 600;
    line-height: 1.8;
    transition: all 0.3s ease 0s;
    position: relative;
}

.bnr-partners__btn::after{
    content: "＞";
    position: absolute;
    right: 4%;
    top: 50%;
    translate: 0 -50%;
}

.bnr-partners__btn:hover{
    background: #FFF;
    color: #1262A9;
    opacity: 1;
}

@media screen and (max-width: 920px) {
    .company {
        padding-top: 100px;
    }

    .company_sec1 .content .company_vision img {
        width: 100vw;
        object-position: left;
    }

    .company_sec3 .content figure img {
        width: 40%;
        height: auto;
    }

    .company_sec4 .content figure img {
        width: 50%;
    }
}

@media screen and (max-width: 769px) {

    .company .company_sec1 .content h1 {
        font-size: 33px;
    }

    .company .company_sec1 .content h2 {
        font-size: 16px;
        margin-top: 10px;
    }

    .company_sec1 .content .company_vision {
        padding: 0;
        height: 150px;
    }

    .company_sec1 .content .company_vision img {
        width: 95vw;
        height: 150px;
        object-position: left;
    }

    .company_sec1 .content .company_vision .slider .slick-list {
        overflow: unset !important;
    }

    .company_sec1 .content .company_vision .inner {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
    }

    .company_sec1 .content .company_vision .inner p {
        font-size: 14px;
    }

    .company_sec1 .content .company_vision .inner h3 {
        font-size: 22px;
    }

    .company_sec2 {
        margin-top: 40px;
        padding-bottom: 30px;
    }

    .company_sec2::before {
        top: 5px;
        height: 110px;
        width: 86vw;
    }

    .company_sec2 .content h2,
    .company_sec3 .content h2 {
        font-size: 22px;
        top: -15px;
    }

    .company_sec2 .content h3 {
        font-size: 16px;
        margin-top: 0;
    }

    .company_sec2 .content h4 {
        font-size: 14px;
    }

    .company_sec2 .content ol li::before {
        font-size: 12px;
    }

    .company_sec3 {
        margin-top: 70px;
        padding-bottom: 30px;
    }

    .company_sec3 .content figure {
        flex-flow: column-reverse;
        margin-top: 0;
        gap: 20px;
    }

    .company_sec3 .content figure img {
        width: 100%;
    }

    .company_sec3::before {
        width: 86vw;
    }

    .company_sec4 {
        margin-top: 70px;
        padding-bottom: 30px;
    }

    .company_sec4::before {
        top: 0;
        height: 320px;
        width: 95vw;
    }

    .company_sec4 .content h2 {
        font-size: 22px;
        top: -15px;
    }

    .company_sec4 .content figure {
        flex-flow: column;
        gap: 20px;
        margin-top: 0;
    }

    .company_sec4 .content figure img {
        width: 80%;
    }

    .company_sec5 {
        margin-top: 70px;
    }

    .company_sec5 .content h2 {
        font-size: 22px;
    }

    .company_sec5 .content table {
        margin-top: 20px;
    }

    .company_sec5 .content table tbody tr {
        flex-flow: column;
        gap: 0;
    }

    .company_sec5 .content table tbody tr th {
        padding: 10px 0 0;
        font-size: 14px;
        width: 100%;
        margin-left: 0;
        justify-content: flex-start;
        flex-flow: column;
    }

    .company_sec5 .content table tbody tr.none_border {
        border-top: unset;
    }

    .company_sec5 .content table tbody tr td {
        padding: 0 0 10px;
        font-size: 14px;
    }

    .company_sec6 {
        margin-top: 70px;
    }

    .company_sec6 .content h2.mincho {
        font-size: 22px;
    }

    .company_sec6 .content ul li {
        margin-top: 20px;
    }

    .company_sec6 .content ul li h3 {
        font-size: 16px;
    }

    .company_sec6 .content ul li img {
        width: 80%;
        display: block;
        margin: 10px auto 0;
    }

    .company_sec6 .content ul li .text {
        width: 80%;
        margin: 0 auto;
    }

    .company_sec6 .content ul li iframe {
        height: 250px;
    }
    .bnr-partners-wrap{
        margin-block: 9px 8px;
    }

    .bnr-partners{
        border: 1px solid #1262A9;
        padding: 12px 10px 23px 10px;
    }
    .bnr-partners__title{
        background: url('../images/top/sp/bnr_partners01_sp.webp') no-repeat center center / 100%;
        aspect-ratio: 336 / 189;
        font-size: 32px;
    }

    .bnr-partners__note{
        margin-block-start: 32px;
    }

    .bnr-partners__btn{
        margin-block-start: 29px;
        width: 80.112%;
        max-width: 286px;
        height: 89px;
        padding-inline-start: 4.8825%;
        font-size: 16px;
    }
}

/*=======================================
news
=======================================*/
.news {
    padding-top: 120px;
}

.news .content {
    max-width: 1030px;
}

.news .content h1 {
    font-size: 65px;
    font-weight: bold;
    color: #1262A9;
}

.news .content ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 35px;
    margin-top: 60px;
}

.news .content ul li {
    background-image: url(../images/news/border.svg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 20px;
    text-align: center;
}

.news .content ul li img {
    height: 220px;
}

.news .content ul li time {
    font-weight: bold;
    text-align: left;
    display: block;
    margin-top: 10px;
}

.news .content ul li h2 {
    font-weight: bold;
    text-align: left;
    height: 56px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.news .content ul li p {
    margin-top: 10px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    height: 80px;
    text-align: left;
}

.news .content ul li a.btn {
    margin-top: 20px;
}

.page-nation {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}

.page-nation span {
    padding: 0 8px;
    background: #ccc;
    color: #fff;
}

.page-nation a {
    padding: 0 8px;
    background: #1262A9;
    color: #fff;
}

.news_single {
    padding-top: 120px;
}

.news_single .content {
    max-width: 1030px;
}

.news_single_heading time {
    font-size: 24px;
    font-weight: bold;
    color: #1262A9;
}

.news_single_heading h1 {
    font-size: 30px;
    font-weight: bold;
    color: #1262A9;
}

.news_single_heading img {
    margin-top: 40px;
    width: 700px;
}

.news_single_inner {
    margin-top: 40px;
}

.news_single_inner p {
    margin-top: 20px;
}

.news_single_select {
    max-width: 560px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 120px auto 0;
}

.news_single_select a {
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
}

.news_single_btn:nth-child(2) a {
    border-right: 1px solid #6C9ECA;
    border-left: 1px solid #6C9ECA;
}

.news_single_select .before a::before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../images/icon/before.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-right: 20px;
}

.news_single_select .after a::after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url(../images/icon/after.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    margin-left: 20px;
}

@media screen and (max-width: 769px) {
    .news {
        padding-top: 100px;
    }

    .news .content h1 {
        font-size: 33px;
    }

    .news .content ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
        margin-top: 30px;
    }

    .news .content ul li img {
        height: 200px;
    }

    .news .content ul li p {
        -webkit-line-clamp: 2;
        height: 40px;
    }

    .news .content ul li h2 {
        height: 42px;
    }

    .page-nation {
        margin-top: 20px;
        gap: 10px;
    }

    .news_single {
        padding-top: 100px;
    }

    .news_single_heading time {
        font-size: 16px;
    }

    .news_single_heading h1 {
        font-size: 18px;
    }

    .news_single_heading img {
        width: 100%;
        margin-top: 20px;
    }

    .news_single_inner {
        margin-top: 20px;
    }

    .news_single_select {
        margin: 40px calc(50% - 50vw) 0;
        width: 100vw;
    }

    .news_single_select .before a::before {
        width: 15px;
        height: 15px;
        margin-right: 10px;
    }

    .news_single_select .after a::after {
        width: 15px;
        height: 15px;
        margin-left: 10px;
    }
}

/*=======================================
Sitemap
=======================================*/
.sitemap {
    padding-top: 120px;
}

.sitemap h1 {
    font-size: 65px;
    font-weight: bold;
    color: #1262A9;
}

.sitemap_list {
    display: flex;
    flex-flow: column;
    margin-top: 40px;
}

.sitemap_list .item {
    display: flex;
    gap: 40px;
    border-bottom: 1.5px solid #6C9ECA;
    padding: 20px 0;
}

.sitemap_list .item a:hover {
    text-decoration: underline;
}

.sitemap_list .item .page_title {
    width: 200px;
}

.sitemap_list .item .page_title a {
    font-weight: bold;
    font-size: 18px;
}

.sitemap_list .item .page_sub_title a {
    margin-bottom: 20px;
    font-size: 18px;
}

.sitemap_list .item .page_sub_title .sub_page {
    margin-bottom: 20px;
    margin-top: -10px;
}

.sitemap_list .item .page_sub_title .sub_page a {
    margin-bottom: 10px;
    padding-left: 30px;
    font-size: 16px;
    position: relative;
}

.sitemap_list .item .page_sub_title .sub_page a::before {
    content: "";
    display: inline-block;
    width: 8px;
    border-top: 1px solid #000;
    position: absolute;
    top: 50%;
    left: 10px;
    transform: translate(0, -50%);
}

@media screen and (max-width: 769px) {
    .sitemap {
        padding-top: 100px;
    }

    .sitemap h1 {
        font-size: 33px;
    }

    .sitemap_list {
        margin-top: 20px;
    }

    .sitemap_list .item .page_title a {
        font-size: 16px;
    }

    .sitemap_list .item {
        padding: 10px 0;
        display: block;
    }

    .sitemap_list .item .page_sub_title {
        margin-left: 20px;
    }

    .sitemap_list .item .page_sub_title a {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .sitemap_list .item .page_sub_title .sub_page {
        margin-top: -20px;
    }

    .sitemap_list .item .page_sub_title .sub_page a {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .sitemap_list .item .page_sub_title .sub_page a::before {
        left: 16px;
    }
}

/*=======================================
privacy policy
=======================================*/
.privacy {
    padding-top: 7.5rem;
}

.privacy h1 {
    font-size: 65px;
    font-weight: bold;
    color: #1262A9;
}

.privacy h2 {
    text-align: center;
    font-size: 30px;
    font-weight: bold;
}

.privacy_sec1 {
    margin-top: 40px;
    border-bottom: 1px solid #000;
}

.privacy_sec1 .privacy_title h3 {
    padding-left: 40px;
    position: relative;
}

.privacy_sec1 .privacy_title h3::before {
    content: "1";
    display: inline-block;
    position: absolute;
    left: 0;
}

.privacy_sec1 .privacy_title p {
    padding-left: 40px;
}

.privacy_sec1 .privacy_title p span {
    display: block;
    margin-top: 20px;
}

.privacy_sec1 ul li {
    margin-top: 20px;
    padding-left: 40px;
    position: relative;
}

.privacy_sec1 ul li::before {
    display: inline-block;
    position: absolute;
    left: 0;
}

.privacy_sec1 ul li:nth-child(1)::before {
    content: "(1)"
}

.privacy_sec1 ul li:nth-child(2)::before {
    content: "(2)"
}

.privacy_sec1 ul li:nth-child(3)::before {
    content: "(3)"
}

.privacy_sec1 ul li:nth-child(4)::before {
    content: "(4)"
}

.privacy_sec1 ul li:nth-child(5)::before {
    content: "(5)"
}

.privacy_sec1 ul li:nth-child(6)::before {
    content: "(6)"
}

.privacy_sec1 ul li span {
    display: block;
    margin-top: 20px;
}

.privacy_sec1 .grid_area {
    margin-top: 20px;
}

.privacy_sec1 .grid p {
    padding: 0 10px;
}

.privacy_sec1 .grid1 {
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
}

.privacy_sec1 .grid3 {
    display: flex;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
}

.privacy_sec1 .grid3 p:nth-child(1) {
    width: 60%;
}

.privacy_sec1 .grid3 p:nth-child(2) {
    width: 20%;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
}

.privacy_sec1 .grid3 p:nth-child(3) {
    width: 20%
}

.privacy_sec1 .grid4 {
    display: flex;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
}

.privacy_sec1 .grid4 p:nth-child(1) {
    width: 20%;
}

.privacy_sec1 .grid4 p:nth-child(2) {
    width: 40%;
    border-left: 1px solid #000;
    border-right: 1px solid #000;
}

.privacy_sec1 .grid4 p:nth-child(3) {
    width: 20%;
}

.privacy_sec1 .grid4 p:nth-child(4) {
    width: 20%;
    border-left: 1px solid #000;
}

.privacy_sec2 {
    margin-top: 40px;
}

.privacy_sec2 .privacy_title h3 {
    padding-left: 40px;
    position: relative;
}

.privacy_sec2 .privacy_title h3::before {
    content: "2";
    display: inline-block;
    position: absolute;
    left: 0;
}

.privacy_sec2 .privacy_title p {
    padding-left: 40px;
}

.privacy_sec2 ul li {
    margin-left: 100px;
    padding-left: 30px;
    margin-top: 20px;
    position: relative;
}

.privacy_sec2 ul li::before {
    content: "⚫";
    display: inline-block;
    position: absolute;
    left: 0;
}

.privacy_sec3 {
    margin-top: 40px;
}

.privacy_sec3 .privacy_title h3 {
    padding-left: 40px;
    position: relative;
}

.privacy_sec3 .privacy_title h3::before {
    content: "2";
    display: inline-block;
    position: absolute;
    left: 0;
}

.privacy_sec3 .privacy_title p {
    padding-left: 40px;
}

.privacy_sec3 ul li {
    margin-top: 20px;
    padding-left: 40px;
}

.privacy_sec4 {
    margin-top: 40px;
}

.privacy_sec4 .privacy_title h3 {
    padding-left: 40px;
    position: relative;
}

.privacy_sec4 .privacy_title h3::before {
    content: "2";
    display: inline-block;
    position: absolute;
    left: 0;
}

.privacy_sec4 ul {}

.privacy_sec4 ul li {
    margin-top: 20px;
    padding-left: 30px;
    position: relative;
}

.privacy_sec4 ul li h4 {}

.privacy_sec4 ul li::before {
    display: inline-block;
    position: absolute;
    left: 0;
}

.privacy_sec4 ul li:nth-child(1)::before {
    content: "I.";
}

.privacy_sec4 ul li:nth-child(2)::before {
    content: "II.";
}

.privacy_sec4 ul li:nth-child(3)::before {
    content: "III.";
}

.privacy_sec4 ul li:nth-child(4)::before {
    content: "IV.";
}

.privacy_sec4 ul li:nth-child(5)::before {
    content: "V.";
}

.privacy_sec4 ul li p {
    padding-left: 30px;
}

.privacy_sec4 ul li span {
    padding-left: 30px;
}

.privacy_sec4 h5 {
    padding-left: 30px;
    margin-top: 20px;
}

.privacy_sec4 .grid1 {
    display: flex;
    border-left: 1px solid #000;
    border-bottom: 1px solid #000;
}

.privacy_sec4 .grid1 p {
    padding: 0 10px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
}

.privacy_sec4 .grid1 .grid_box:nth-child(1) {
    width: 20%;
}

.privacy_sec4 .grid1 .grid_box:nth-child(1) p {
    border-right: unset;
}

.privacy_sec4 .grid1 .grid_box:nth-child(2) {
    width: 30%;
}

.privacy_sec4 .grid1 .grid_box:nth-child(2) p {
    border-left: 1px solid #000;
}

.privacy_sec4 .grid1 .grid_box:nth-child(3) {
    width: 50%;
    border-right: 1px solid #000;
}

.privacy_sec4 .grid1 .grid_box:nth-child(3) p {
    border-right: unset;
}

.privacy_sec4 .grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    border-left: 1px solid #000;
}

.privacy_sec4 .grid2 p {
    padding: 0 10px;
}

.privacy_sec4 .grid2 p:nth-child(1) {
    border-right: 1px solid #000;
}

.privacy_sec4 ul li ol li {
    margin-top: 0;
}

.privacy_sec4 ul li ol li:nth-child(1)::before {
    content: "(ア)"
}

.privacy_sec4 ul li ol li:nth-child(2)::before {
    content: "(イ)"
}

.privacy_sec4 ul li ol li:nth-child(3)::before {
    content: "(ウ)"
}

.privacy_sec5 {
    margin-top: 40px;
}

.privacy_sec5 p {
    margin-top: 60px;
    text-align: right;
}

.privacy_security {
    margin-top: 200px;
}

.privacy_security_title {}

.privacy_security_title h2 {
    text-align: center;
    margin-top: 60px;
    font-size: 30px;
    font-weight: bold;
}

.privacy_security_title p {
    margin-top: 40px;
}

.privacy_security ul {}

.privacy_security ul li {
    margin-top: 30px;
}

.privacy_security ul li h3 {}

.privacy_security ul li p:nth-child(3) {
    margin-top: 20px;
}

.privacy_security .privacy_security_foot {
    text-align: right;
    margin-top: 60px;
}

.privacy_security .privacy_security_foot p {}

@media screen and (max-width: 769px) {
    .privacy {
        padding-top: 100px;
    }

    .privacy h2 {
        font-size: 16px;
        margin-top: 0;
    }

    .privacy_sec1,
    .privacy_sec2,
    .privacy_sec3,
    .privacy_sec4,
    .privacy_sec5 {
        margin-top: 20px;
    }

    .privacy_sec1 .privacy_title h3,
    .privacy_sec2 .privacy_title h3,
    .privacy_sec3 .privacy_title h3,
    .privacy_sec4 .privacy_title h3 {
        padding-left: 20px;
    }

    .privacy_sec2 .privacy_title p,
    .privacy_sec3 .privacy_title p,
    .privacy_sec4 .privacy_title p,
    .privacy_sec5 .privacy_title p {
        padding-left: 20px;
    }

    .privacy_sec1 .privacy_title p span {
        margin-top: 10px;
    }

    .privacy_sec1 .privacy_title p {
        padding-left: 20px;
    }

    .privacy_sec1 ul li {
        margin-top: 10px;
        padding-left: 20px;
    }

    .privacy_sec1 ul li span {
        margin-top: 10px;
    }

    .privacy_sec2 ul li {
        margin-left: 50px;
        padding-left: 20px;
        margin-top: 10px;
    }

    .privacy_sec3 ul li {
        margin-top: 10px;
        padding-left: 20px;
    }

    .privacy_sec4 h5 {
        margin-top: 10px;
        padding-left: 20px;
    }

    .privacy_sec4 ul li {
        padding-left: 20px;
        margin-top: 10px;
    }

    .privacy_sec4 ul li p {
        padding-left: 20px;
    }

    .privacy_sec5 p {
        margin-top: 30px;
    }

    .privacy_security {
        margin-top: 100px;
    }

    .privacy_security_title p {
        margin-top: 20px;
    }

    .privacy_security ul li {
        margin-top: 20px;
    }

    .privacy_security .privacy_security_foot {
        margin-top: 30px;
    }
}