@charset "utf-8";

.l-content {
    display: block;
}

.breadcrumb_bg {
    width: 100%;
    /* height: 15.6rem; */
    height: 15.8125rem;
    background-color: #F7F7F7;
}

@media (max-width: 820px) {
    .breadcrumb_bg {
        display: none;
    }
}

.l-breadcrumb {
    background-color: #F7F7F7;
}

/* .l-breadcrumb__list {
    display: flex;
    align-items: center;
}

.l-breadcrumb__list {
    padding: 0;
    margin: 0;
}

.l-breadcrumb__item {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
} */

/* FIRST VIEW */


.fv-wrapper {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    /* padding: 6.2rem 3.3rem 0 2.6rem; */
    padding: 3.875rem 2.0625rem 0 1.625rem;
    border-top: 6px solid #EE1C2C;
    background-color: #fff;
    /* margin-top: -9rem; */
    margin-top: -11.562rem;
    gap: 4.13%;
    box-sizing: border-box;
}
.fv-l {
    width: calc(100% - 4.13% - 48.3304%);
}
.fv-l h1 {
    /* margin-top: -1.3rem; */
    margin-top: -.8125rem;
    width: 98.8%;
}
@media (max-width: 820px) {
    .fv-wrapper {
        flex-direction: column;
        gap: 0;
        border-top: none;
        margin-top: 0;
        /* padding: 1.6rem 2.6666%; */
        padding: 1rem 2.6666%;
    }
    .fv-l {
        order: 2;
        /* margin-top: 3.5rem; */
        margin-top: 2.1875rem;
        width: 100%;
    }

    .fv-r {
        order: 1;
    }
}

.fv-sub {
    /* font-size: min(2.0497vw,2.8rem); */
    font-size: min(2.0497vw,1.75rem);
    line-height: 1.42857;
    /* margin: .9rem 0 2.3rem .8rem; */
    margin: .5625rem 0 1.4375rem .5rem;
}

@media (max-width: 820px) {
  .fv-sub {
      /* font-size: 2rem; */
      font-size: 1.25rem;
      line-height: 1.4;
      /* margin: 1.4rem 0 1.5rem; */
      margin: .875rem 0 .9375rem;
  }
}

.fv_redbox-box {
    display: flex;
    flex-wrap: wrap;
    /* gap: 0.7rem; */
    gap: .4375rem;
    /* margin-left: .6rem; */
    margin-left: .375rem;
}

@media (max-width: 820px) {
  .fv_redbox-box {
      justify-content: space-between;
      margin-left: 0;
      /* gap: 0.5rem 1.1rem; */
      gap: .3125rem .6875rem;
  }
}

.fv_redbox {
    background-color: #EE1C2C;
    display: flex;
    align-items: center;
    justify-content: center;
    /* border-radius: 1rem; */
    border-radius: .625rem;
    /* padding: 1rem .9rem; */
    padding: .625rem .5625rem;
    /* min-width: 15.6rem; */
    min-width: 9.75rem;
    /* font-size: min(1.1713vw,1.6rem); */
    font-size: min(1.1713vw,1rem);
}
.fv_redbox:first-child {
    /* min-width: 13rem; */
    min-width: 8.125rem;
}
@media (max-width: 820px) {
    .fv_redbox {
        /* font-size: 1.4rem; */
        font-size: .875rem;
    }
}

.fv_redbox p {
    text-align: center;
    color: #fff;
    font-weight: 700;
    line-height: 1.25;
}

@media (max-width: 820px) {
    .fv-br {
        display: none;
    }

    .fv_redbox {
        width: calc(50% - 6px);
    }

    .fv_redbox:last-of-type {
        width: 100%;
    }
}

@media (max-width: 412px) {
    .fv_redbox {
        width: calc(50% - 6px);
    }
}

.swiper {
    overflow: hidden;
}

.slide-area {
    position: relative;
    width: 48.3304%;
    min-width: 0;
    height: auto;
    overflow: hidden;
}

.swiper-wrapper {
    display: flex;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
}

@media (max-width: 820px) {
    .slide-area {
        width: 100%;
    }
}

.main-slide-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    padding: 0;
    margin: 0;
    list-style: none;
    border-radius: 40px;
    aspect-ratio: 55 / 43;
}

.img-box_grade{
    border-radius: 40px;
    overflow: hidden;
    width: 100% !important;
    padding-right: 2px;
}
.img-box_grade img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px;
    overflow: hidden;
}

.main-slide {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.internship-opencompany_point {
    max-width: calc(1200px + 10%);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    /* padding: 9.8rem 5% 15.5rem 5%; */
    padding: 6.125rem 5% 9.6875rem 5%;
    background-color: #fff;
    box-sizing: border-box;
}

@media (max-width: 820px) {
    .internship-opencompany_point {
        padding-left: 2.6666%;
        padding-right: 2.6666%;
        /* padding-bottom: 11.7rem; */
        padding-bottom: 7.3125rem;
    }
}

.internship-opencompany_title-box {
    /* margin-bottom: 11.8rem; */
    margin-bottom: 7.375rem;
}

@media (max-width: 820px) {
    .internship-opencompany_title-box {
        /* margin-bottom: 5rem; */
        margin-bottom: 3.125rem;
    }
}

h2 {
    /* font-size: 3.13rem; */
    font-size: 1.9375rem;
    font-weight: 700;
    line-height: 1.2;
    /* margin-bottom: 1.88rem; */
    margin-bottom: 1.125rem;
    text-align: center;
}

.internship-opencompany_title-box h2 {
    /* font-size: 4.8rem; */
    font-size: 3rem;
    line-height: 1.25;
    /* margin-bottom: 3.5rem; */
    margin-bottom: 2.1875rem;
}

@media (max-width: 820px) {
    h2,.internship-opencompany_title-box h2 {
        /* font-size: 2.4rem; */
        font-size: 1.5rem;
    }
}

.internship-opencompany_title_add {
    /* font-size: 2rem; */
    font-size: 1.25rem;
    text-align: center;
    font-weight: 500;
    line-height: 1.45;
}

@media (max-width: 820px) {
  .internship-opencompany_title_add {
      /* font-size: 1.5rem; */
      font-size: .9375rem;
      line-height: 1.46666;
  }
}

.point-list {
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    /* gap: 6.4rem; */
    gap: 4rem;
    /* margin: 6.6rem 0 5.4rem; */
    margin: 4.125rem 0 3.375rem;
}

.point-list li {
    text-align: center;
    /* width: 30rem; */
    width: 18.75rem;
}

@media (max-width: 820px) {
    .point-list li {
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        /* margin-bottom: 5.4rem; */
        margin-bottom: 3.375rem;
    }
}

#point .point-list img {
    /* width: 18rem; */
    width: 11.25rem;
    margin-left: auto;
    margin-right: auto;
    /* margin-bottom: 1.25rem; */
    margin-bottom: .78125rem;
}

@media (max-width: 820px) {
    #point .point-list img {
        /* width: 15rem; */
        width: 9.375rem;
        /* margin-bottom: 2rem; */
        margin-bottom: 1.25rem;
    }
}

#point .point-list p {
   text-align: center;
   /* font-size: 2rem; */
   font-size: 1.25rem;
   line-height: 1.5;
   font-weight: 600;
}

@media (max-width: 820px) {
    #point .point-list p {
        /* font-size: 1.5rem; */
        font-size: .9375rem;
    }
}

/* SECTION SCHEDUKE */

.schedule_bg {
    background-color: #EE1C2C;
    width: 100%;
}

#schedule {
    max-width: calc(1200px + 10%);
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    /* padding: 6.25rem 5% 8rem; */
    padding: 3.90625rem 5% 5rem;
    box-sizing: border-box;
}

@media (max-width: 820px) {
    #schedule {
        padding-left: 2.6666%;
        padding-right: 2.6666%;
        /* padding-bottom: 6.2rem; */
        padding-bottom: 3.875rem;
    }
}

#schedule .title-box {
    /* margin-top: -10.6rem; */
    margin-top: -6.625rem;
    /* margin-bottom: 3.13rem; */
    margin-bottom: 2rem;
}

.schedule-scroll {
    /* margin-top: 3.7rem; */
    margin-top: 2.3125rem;
}

@media (max-width: 820px) {
    .schedule-scroll {
        /* margin-top: 2.6rem; */
        margin-top: 1.625rem;
    }

    .schedule-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .schedule-scroll img {
        width: 220%;
        max-width: none;
        display: block;
    }
}

/* SECTION SCHEDULE-TECHNOLOGY/SCHEDULE-MANAGEMENT */

.schedule-wrapper {
    max-width: calc(1200px + 10%);
    width: 100%;
    margin: 0 auto;
    /* padding: 6.9rem 5% 11rem; */
    padding: 4.3125rem 5% 6.875rem;
    box-sizing: border-box;
}

@media (max-width: 820px) {
    .schedule-wrapper {
        padding-left: 2.6666%;
        padding-right: 2.6666%;
        /* padding-top: 6.2rem; */
        padding-top: 3.875rem;
    }
}

.schedule-wrapper.pb-201 {
    /* padding-bottom: 20.1rem; */
    padding-bottom: 12.5625rem;
}

@media (max-width: 820px) {
    .schedule-wrapper.pb-201 {
        padding-bottom: 0;
    }
}

#schedule_management .schedule-wrapper {
    padding-top: 0;
}

.schedule-wrapper article:first-of-type {
    /* margin-top: 10.1rem; */
    margin-top: 6.3125rem;
}
@media (max-width: 820px) {
    .schedule-wrapper article:first-of-type {
        /* margin-top: 6.2rem; */
        margin-top: 3.875rem;
    }
}

.schedule-wrapper article {
    /* margin-top: 9rem; */
    margin-top: 5.625rem;
}
@media (max-width: 820px) {
    .schedule-wrapper article {
        /* margin-top: 8.5rem; */
        margin-top: 5.3125rem;
    }
}

.schedule-wrapper .h4-mb {
    /* margin-bottom: 3.2rem; */
    margin-bottom: 2rem;
}

.schedule-wrapper h4 {
    position: relative;
    display: flex;
    align-items: center;
    /* padding-left: 1.88rem; */
    padding-left: 1.1875rem;
    /* font-size: 2.4rem; */
    font-size: 1.5rem;
    font-weight: 700;
    max-width: 620px;
    flex: 1 1 620px;
}

@media (max-width: 820px) {
    .schedule-wrapper h4 {
        /* font-size: 2rem; */
        font-size: 1.25rem;
    }
}

.schedule-wrapper h4 span {
    display: inline-block;
    background-color: #EE1C2C;
    color: #fff;
    /* font-size: 1.8rem; */
    font-size: 1.125rem;
    line-height: 1.8;
    /* padding: 0 1.2rem 0.2rem; */
    padding: 0 .75rem .125rem;
    border-radius: 5px;
    /* margin-left: 2.2rem; */
    margin-left: 1.375rem;
}
@media (max-width: 820px) {
    .schedule-wrapper h4 span {
        /* margin-left: 1.7rem; */
        margin-left: 1.0625rem;
    }
}

.schedule-wrapper h4::before {
    content: "";
    display: block;
    width: 10px;
    height: 50px;
    background-color: #EE1C2C;
    position: absolute;
    left: 0;
}

@media (max-width: 820px) {
    .schedule-wrapper h4::before {
        height: 40px;
    }
}

.schedule-wrapper article table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ccc;
}

.schedule-wrapper th, .schedule-wrapper article td {
    border: 1px solid #ccc;
    /* padding: 1.6rem 2.7rem 1.7rem; */
    padding: 1rem 1.6875rem 1.0625rem;
    vertical-align: middle;
    text-align: left;
    line-height: 1.6;
}

.schedule-wrapper article th {
    background-color: #E6E6E6;
    font-weight: 600;
    width: 25%;
    text-align: center;
    box-sizing: border-box;
    /* font-size: 1.8rem; */
    font-size: 1.125rem;
}

.schedule-wrapper article td {
    line-height: 1.75;
}

@media (max-width: 820px) {
    .schedule-wrapper article th {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        /* font-size: 1.5rem; */
        font-size: .9378rem;
        font-weight: 500;
        /* padding: 1.5rem 1rem; */
        padding: .9378rem .625rem;
    }
    .schedule-wrapper article td {
        /* padding: 1.5rem 1rem; */
        padding: .9375rem .625rem;
    }
}

.schedule-wrapper article td p {
    margin: 0;
}

@media (max-width: 820px) {
    #schedule_technology table,
    #schedule_technology tbody,
    #schedule_technology tr {
        display: block;
        width: 100%;
    }
    #schedule_technology tr:nth-child(2) {
        grid-template-columns: 40% 60%;
    }
}

@media (max-width: 820px) {
    #schedule_technology tr {
        display: grid;
        grid-template-columns: 40% 60%;
    }
}
@media (max-width: 820px) {
    #schedule_technology table, #schedule02 tbody, #schedule02 tr {
        display: block;
        width: 100%;
    }
}

.table-title_add span {
    color: #EE1C2C;
    font-weight: 700;
}

.schedule-wrapper article .flex-pc {
    align-items: center;
    /* margin-bottom: 1.88rem; */
    margin-bottom: 1.1875rem;
    justify-content: left;
}

.table-title_add {
    /* width: calc(100% - 48.7rem); */
    width: calc(100% - 30.4375rem);
    margin-left: auto;
    line-height: 1.375;
}

@media (max-width: 820px) {
    .table-title_add {
        margin-left: 0;
        /* margin-top: 1.25rem; */
        margin-top: .78125rem;
        /* margin-bottom: 1.6rem; */
        margin-bottom: 1rem;
        width: 100%;
        /* font-size: 1.6rem; */
        font-size: 1rem;
    }
}

.open-company .open-company_text {
    text-align: center;
    font-weight: 400;
    line-height: 1.75;
    /* margin-top: 3.6rem; */
    margin-top: 2.25rem;
    /* margin-bottom: 5rem; */
    margin-bottom: 3.125rem;
}

@media (max-width: 820px) {
    .open-company .open-company_text {
        /* margin-top: 2.5rem; */
        margin-top: 1.5625rem;
        /* margin-bottom: 4rem; */
        margin-bottom: 2.5rem;
        /* font-size: 1.6rem; */
        font-size: 1rem;
    }
}

.open-company .open-company_add {
    text-align: center;
    /* margin-bottom: 2.8rem; */
    margin-bottom: 1.75rem;
    /* padding: 0.7rem 0 0.9rem; */
    padding: .4375rem 0 .5625rem;
    background: #F7F7F7;
}

.flex-pc:has(.img-box_04) {
    /* gap: 4rem; */
    gap: 2.5rem;
    margin-bottom: 0!important;
}

@media (max-width: 820px) {
    .open-company .open-company_add {
        text-align: left;
        /* padding: 1.5rem 1.3rem; */
        padding: .9378rem .8125rem;
        /* font-size: 1.6rem; */
        font-size: 1rem;
        line-height: 1.375;
    }
    .flex-pc:has(.img-box_04) {
        /* gap: .9rem; */
        gap: .5625rem;
    }
}

.schedule-wrapper article .flex-pc {
    align-items: center;
}

@media (max-width: 820px) {
    .schedule-wrapper article .flex-pc {
        margin-bottom: 0;
    }
}

.open-company .img-box_04 {
    aspect-ratio: 29 / 15;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    flex: 1;
}

@media (max-width: 820px) {
    .open-company .img-box_04:first-of-type {
        /* margin-bottom: 1.25rem; */
        margin-bottom: .78125rem;
    }
}

.open-company .img-box_04 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

#schedule_management {
    /* padding-bottom: 6.25rem; */
    padding-bottom: 3.90625rem;
}

/* SECTION FLOW */

.flow_bg {
    position: relative;
    background-color: #fff;
    background-image: repeating-linear-gradient(to bottom, #E0E0E0 0, #E0E0E0 1px, transparent 1px, transparent 1.25rem), repeating-linear-gradient(to right, #E0E0E0 0, #E0E0E0 1px, transparent 1px, transparent 1.25rem);
}

.flow_bg::before {
    content: "";
    width: 100%;
    /* height: 22.5rem; */
    height: 14.0625rem;
    position: absolute;
    left: 0;
    /* top: -37rem; */
    top: -23.125rem;
    background: #EE1C2C;
    z-index: -1;
}
@media (max-width: 820px) {
    .flow_bg::before {
        /* height: 14.5rem; */
        height: 9.0625rem;
        /* top: -14.5rem; */
        top: -9.0625rem;
    }
}

#flow {
    max-width: calc(1200px + 10%);
    width: 100%;
    margin: 0 auto;
    /* padding: 10.25rem 5% 20.6rem 5%; */
    padding: 6.59375rem 5% 12.875rem 5%;
    box-sizing: border-box;
}

@media (max-width: 820px) {
    #flow {
        padding-left: 2.6666%;
        padding-right: 2.6666%;
        /* padding-bottom: 15rem; */
        padding-bottom: 9.375rem;
    }
}

#flow .title-box {
    /* margin-top: -15rem; */
    margin-top: -9.375rem;
    /* margin-bottom: 6.6rem; */
    margin-bottom: 4.125rem;
}

@media (max-width: 820px) {
    #flow .title-box {
        /* margin-top: 1.8rem; */
        margin-top: 1.125rem;
        /* margin-bottom: 4.2rem; */
        margin-bottom: 2.625rem;
    }
}

#flow .flex-pc {
    justify-content: center;
    /* gap: 10rem; */
    gap: 6.25rem;
}

#flow .flow-list {
    /* width: 38rem; */
    width: 23.75rem;
}

@media (max-width: 820px) {
  #flow .flow-list {
      margin-left: auto;
      margin-right: auto;
  }

  #flow .flow-list:first-of-type {
      /* margin-bottom: 7rem; */
      margin-bottom: 4.375rem;
  }

  #flow .flow-list {
      width: 100%;
  }

}

#flow .flow-item:first-of-type {
    background-color: #EE1C2C;
    color: #fff;
    border: none;
    /* font-size: 2rem; */
    font-size: 1.25rem;
}

#flow .flow-item {
    width: 100%;
    /* height: 6rem; */
    height: 3.75rem;
    border-radius: 9999px;
    background-color: #fff;
    border: 1px solid #707070;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    /* margin-bottom: 3.1rem; */
    margin-bottom: 1.9375rem;
    /* font-size: 1.8rem; */
    font-size: 1.125rem;
}

@media (max-width: 820px) {
  #flow .flow-item:first-of-type {
    /* font-size: 1.8rem; */
    font-size: 1.125rem;
  }
  #flow .flow-item {
    /* font-size: 1.6rem; */
    font-size: 1rem;
  }
}

#flow .flow-item::after {
    content: "";
    background-image: url(../images/arrow-bottom.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    /* width: 1.6rem; */
    width: 1rem;
    /* height: 1.6rem; */
    height: 1rem;
    position: absolute;
    /* top: 6.7rem; */
    top: 4.1875rem;
    left: 50%;
    transform: translateX(-50%);
    display: block;
}

#flow .flow-item:last-child {
    margin-bottom: 0;
}

#flow .flow-item:last-child::after {
  display: none;
}

/* SECTION VOICE */

.voice_bg {
    background-color: #F7F7F7;
    width: 100%;
}

#voice {
    max-width: calc(1200px + 10%);
    width: 100%;
    margin: 0 auto;
    /* padding: 5.2rem 5% 9rem; */
    padding: 3.25rem 5% 5.625rem;
    box-sizing: border-box;
        scroll-margin-top: 60px;
}

@media (max-width: 820px) {
    #voice {
        padding-left: 2.6666%;
        padding-right: 2.6666%;
    }
}

#voice .title-box {
    /* margin-top: -11rem; */
    margin-top: -6.875rem;
    /* margin-bottom: 3.9rem; */
    margin-bottom: 2.4375rem;
}

#voice .voice-subtitle {
    text-align: center;
    /* font-size: 2rem; */
    font-size: 1.25rem;
    font-weight: 600;
}

.voice-container {
    display: flex;
    flex-direction: column;
    /* gap: 1.25rem; */
    gap: .78125rem;
    /* margin-top: 8rem; */
    margin-top: 5rem;
    text-align: center;
}

@media (max-width: 820px) {
    #voice .voice-subtitle {
      /* font-size: 1.8rem; */
      font-size: 1.125rem;
      line-height: 1.625;
    }
    .voice-container {
        /* margin-top: 3.13rem; */
        margin-top: 1.95625rem;
        /* gap: 9.9rem; */
        gap: 6.1875rem;
    }
}

.voice-item {
    width: 73%;
    display: flex;
    flex-direction: column;
    position: relative;
}

@media (max-width: 820px) {
    .voice-item {
        width: 100%;
        display: flex;
        flex-direction: column;
    }
}

.voice-item {
    opacity: 0;
    /* transform: translateY(1.25rem); */
    transform: translateY(.78125rem);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.voice-item.is-show {
    opacity: 1;
    transform: translateY(0);
}

.voice-item:nth-child(1).is-show { transition-delay: 0.1s; }
.voice-item:nth-child(2).is-show { transition-delay: 0.2s; }
.voice-item:nth-child(3).is-show { transition-delay: 0.3s; }
.voice-item:nth-child(4).is-show { transition-delay: 0.4s; }
.voice-item:nth-child(5).is-show { transition-delay: 0.5s; }
.voice-item:nth-child(6).is-show { transition-delay: 0.6s; }

.voice-item.is-left {
    align-self: flex-start;
    align-items: flex-start;
}

.voice-item.is-right {
    align-self: flex-end;
}

.voice-balloon {
    background-color: #fff;
    /* padding: 2.9rem 3.8rem 2.7rem; */
    padding: 1.8125rem 2.375rem 1.6875rem;
    border-radius: 18px;
    position: relative;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
}

.voice-balloon::before {
    content: "";
    position: absolute;
    bottom: -20px;
    border-style: solid;
}

.is-left .voice-balloon::before,
.is-right .voice-balloon::before {
    /* left: 13rem; */
    left: 8.125rem;
    bottom: -25px;
    border-width: 40px 25px 0 0;
    border-color: #fff transparent transparent transparent;
    transform: rotate(30deg);
}

.voice-balloon p {
    line-height: 1.75;
    text-align: left;
}

.highlight {
    background: linear-gradient(transparent 60%, #fff100 60%);
    font-weight: bold;
}

.voice-profile {
    display: flex;
    align-items: center;
    /* gap: 1.5rem; */
    gap: .9375rem;
    /* font-size: 1.4rem; */
    font-size: .875rem;
    line-height: 1.125;
    font-weight: 500;
    position: absolute;
    /* bottom: -5.8rem; */
    bottom: -3.625rem;
    /* left: 3.1rem; */
    left: 1.9375rem;
}
@media (max-width: 820px) {
  .voice-profile {
    /* bottom: -6.8rem; */
    bottom: -4.25rem;
  }
}

.voice-icon {
    width: 70px;
    height: auto;
}

.voice-info {
    /* margin-top: 2rem; */
    margin-top: 1.25rem;
}

@media (min-width: 821px) {
    .voice-container {
        display: grid;
        grid-template-columns: 1fr 1fr; /* 2列にする */
        gap: 0;
    }

    .voice-item {
        /* margin-bottom: 7.9rem; */
        margin-bottom: 4.9375rem;
    }

    .voice-item:nth-child(1),
    .voice-item:nth-child(2),
    .voice-item:nth-child(5),
    .voice-item:nth-child(6) {
        grid-column: 1 / 3;
        width: 76.8333%;
    }

    .voice-item:nth-child(1) {
      /* margin-bottom: 4rem; */
      margin-bottom: 2.5rem;
    }

    .voice-item:nth-child(3),
    .voice-item:nth-child(4) {
        width: 88%;
        grid-column: auto;
    }

    .voice-item:nth-child(5) {
        margin-left: 14.2%;
    }

    .voice-item:nth-child(6) {
        width: 65.25%;
        margin-right: 6%;
    }

    .voice-item:nth-child(6) .voice-balloon {
        /* padding: 4.5rem 4rem 6.1rem; */
        padding: 2.8125rem 2.5rem 3.8125rem;
    }

    .voice-item:nth-child(odd):not(:nth-child(3)) {
        justify-self: start;
    }
    .voice-item:nth-child(even):not(:nth-child(4)) {
        justify-self: end;
    }
}

@media (max-width: 820px) {
    .voice-item:nth-child(5) {
        margin-left: 0;
    }
}


.details-btn-box {
    display: flex;
    align-items: center;
    overflow: hidden;
    /* margin-top: 8.5rem; */
    margin-top: 5.3125rem;
    justify-content: space-between;
    background-color: #fff;
    border: 3px solid;
    border-image: linear-gradient(90deg, #ff4d6d, #a0c4ff) 1;
    transition: 1s;
    /* font-size: 2.2rem; */
    font-size: 1.375rem;
}
.details-btn-box picture {
    width: 50%;
}
.details-btn-box img {
    width: 100%;
}

@media (max-width: 820px) {
    .details-btn-box {
        display: block;
        height: auto;
        overflow: initial;
        /* font-size: 1.4rem; */
        font-size: .875rem;
    }
    .details-btn-box p{
        margin-left: 40px;
    }
}

.details-btn-box:hover {
    border-image: linear-gradient(90deg, #a0c4ff, #ff4d6d) 1;
    transition: 1s;
}

.details-btn-img-box {
    display: flex;
    align-items: center;
    width: 50%;
    height: 100%;
    background-color: #FDDFE1;
}

@media (max-width: 820px) {
    .details-btn-img-box {
        width: 100%;
    }
}

.details-img-box {
    width: 50%;
    flex-shrink: 0;
    overflow: hidden;
    box-sizing: border-box;
    aspect-ratio: 2 / 1.1;
    z-index: 2;
    padding: 2px;
}

.detail-img-item-01 {
    display: flex;
    align-items: center;
    justify-content: center;
}

.detail-img-item-02 {
    display: flex;
    align-items: center;
}

.detail-img-item-01 img {
    width: 75%;
    height: auto;
    object-fit: cover;
    object-position: center;
    display: block;
}

.detail-img-item-02 img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    /* border-radius: 0.88rem 0 0 0.88rem; */
    border-radius: .55rem 0 0 .55rem;
}

.details-btn-box div {
    display: flex;
    align-items: center;
    margin-left: auto;
    /* gap: 1.88rem; */
    gap: 1.175rem;
    margin-right: auto;
    color: #EE1C2C;
    justify-content: center;
    .intern_btn{
        display: block;
        background-color: #EE1C2C;
        color: #fff;
        border-radius: 18px;
        text-align: center;
        font-size: 18px;
        padding: 4px 0 6px;
        margin-top: 5px;
        font-weight: bold;
        @media (max-width: 820px) {
            font-size: 12px;
        }
    }
}

@media (max-width: 820px) {
    .details-btn-box div {
        /* height: 6.25rem; */
        height: 3.90625rem;
    }
}

.arrow {
    display: inline-block;
    width: 75px;
    height: 1px;
    background: #EE1C2C;

    position: relative;
    transition: transform 0.5s ease;
}

@media (max-width: 820px) {
    .arrow {
        /* width: 4rem; */
        width: 2.5rem;
    }
}

.arrow::after {
    content: "";
    position: absolute;
    right: 1.8px;
    top: -10%;
    width: 12px;
    height: 10px;
    border-top: 1px solid #EE1C2C;
    transform: translateY(-50%) rotate(50deg);
}

.details-btn-box:hover .arrow {
    transform: translateX(8px);
}


.swiper-pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  position: static !important;
  width: max-content !important;
  @media (max-width: 820px) {
  justify-content: end;
  }
}

/* 通常（□） */
.swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ccc;
  opacity: 1;
  margin: 0 !important;
}

/* アクティブ（■） */
.swiper-pagination-bullet-active {
  background: #e60012 !important;
}
.swiper-control {
display: flex;
align-items: center;
gap: 17px;
justify-content: center;
margin-top: 0.3em;
  @media (max-width: 820px) {
  justify-content: end;
  }
}

/* 外枠 */
.swiper-pause {
  width: 30px;
  height: 30px;
  background-color: #fff;
  border: 2px solid #e60012;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* || の線 */
.swiper-pause::before,
.swiper-pause::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 4px;
  height: 10px;
  background: #e60012;
  transform: translateY(-50%);
}

.swiper-pause::before {
  left: 7px;
}

.swiper-pause::after {
  right: 7px;
}


/* 再生 ▶ に変える */
.swiper-pause.is-play::before {
  content: "";
  position: absolute;

  top: 50%;
  left: 15px;

  width: 10px;
  height: 14px;

  clip-path: polygon(0 0,100% 50%,0 100%);
  background-color: #e60012;

  transform: translate(-50%, -50%);
}

.swiper-pause.is-play::after {
  display: none;
}

.l-navTop {
  position: fixed;
  right: 40px;
  bottom: 100px;
  z-index: 200;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
  @media (max-width: 820px) {
    right: 2%;
    bottom: 16px;
  }
}

.l-navTop.is-show {
  opacity: 1;
  visibility: visible;
}

/* 止まる状態 */
.l-navTop.is-stop {
  position: absolute;
  top: auto;
  bottom: auto;
}
.l-navTop__inner{
    padding: 0;
}
.l-wrap{
    position: relative;
}
    .l-navTop.is-stop.is-floatingBnr-visible .l-navTop__inner {
        transform: translateY(-446%);
          @media (max-width: 820px) {
        transform: translateY(-524%);
          }
    }
    .l-navTop.is-stop.is-floatingBnr-visible .l-navTop__inner {

        transform: translateY(-446%);
          @media (max-width: 820px) {
        transform: translateY(-524%);
          }
    }

#schedule_technology {
    scroll-margin-top: -20px;
    @media (max-width: 820px) {
        scroll-margin-top: -25px;
    }
}
#schedule_management {
    scroll-margin-top: 55px;
    @media (max-width: 820px) {
        scroll-margin-top: 35px;
    }
}
#flow {
    scroll-margin-top: 100px;
    @media (max-width: 820px) {
        scroll-margin-top: -80px;
    }
}
#voice {
    scroll-margin-top: 110px;
    @media (max-width: 820px) {
        scroll-margin-top: 100px;
    }
}