.main-cloud-worker {
    margin-top: 90px;
}

.cloud-worker {
    padding: 100px 0;
}

.cloud-worker-lead-top {
    text-align: center;
    padding-bottom: 28px;
}

.cloud-worker h2 {
    font-size: 36px;
    font-weight: bold;
    line-height: 36px;
    letter-spacing: 3.6px;
}

.cloud-worker-lead-top p {
    width: 73.2%;
    margin: 0 auto;
    margin-top: 20px;
    line-height: 28px;
    letter-spacing: 1.6px;
    text-align: left;
}

.cloud-worker-lead-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
    flex-wrap: wrap;
}

.cloud-worker-lead-bottom-desc {
    width: 65.2%;
    background-color: #E5E5E5;
    text-align: center;
    padding: 20px;
    border-radius: 16px;
}

.cloud-worker-lead-bottom-img {
    width: 400px;
}

.cloud-worker-lead-bottom-img img {
    width: 100%;
    height: auto;
}

.cloud-worker-lead-bottom-desc h3 {
    font-size: 22px;
    font-weight: bold;
    line-height: 31.5px;
    letter-spacing: 2.2px;
}

.cloud-worker-lead-bottom-desc p {
    margin-top: 12px;
    text-align: left;
    line-height: 28px;
    letter-spacing: 1.6px;
}

.cloud-worker-lead-bottom-desc img {
    margin-top: 12px;
    width: 600px;
    max-width: 100%;
}

figure figcaption {
    font-weight: bold;
    line-height: 31.5px;
    letter-spacing: 1.6px;
    position: relative;
}

figure figcaption::after {
    content: '';
    display: inline-block;
    position: absolute;
    background-image: url(https://corp.ambient-lab.co.jp/wp-content/uploads/2022/04/Group-2-1.png);
    width: 23px;
    height: 23px;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 4px;
}

/* target */
.target-section {
    padding: 60px 0;
    text-align: center;
}

.target-section h3 {
    text-align: center;
    font-size: 22px;
    font-weight: bold;
    line-height: 31.5px;
    letter-spacing: 2.2px;
    position: relative;
}

.target-section h3::before {
    content: '\\';
    display: inline-block;
    font-weight: normal;
}

.target-section h3::after {
    content: '/';
    display: inline-block;
    font-weight: normal;
}

.target-section ul {
    margin-top: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.target-section ul li {
    min-width: 240px;
    height: 124px;
    background-color: #fff;
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.target-section ul li img {
    width: 24px;
    height: 24px;
    margin-top: 10px;
}

.target-section ul li p {
    line-height: 28px;
    letter-spacing: 1.6px;
    margin-top: auto;
    margin-bottom: auto;
}

.target-section span.marker {
    background: linear-gradient(transparent 50%, #FFE91C 50%);

}

/* recruit */
.recruitment-requirements-section {
    text-align: center;
    padding: 100px 0;
}

.accordion-item {
    background-color: #E6EEFA;
    border-radius: 8px;
    border: 2px solid #E6EEFA;
}

.accordion-item {
    margin-top: 8px;
    transition: background-color .3s;
}

.accordion-item:has(.accordion-title.isOpen) {
    background-color: #fff;
    /* border: 2px solid #E6EEFA; */
}

/* .accordion-item:hover {
    background-color: #fff;
    border: 2px solid #E6EEFA;
} */

.accordion-item:first-of-type {
    margin-top: 50px;
}

.accordion-title {
    display: block;
    font-size: 20px;
    font-weight: bold;
    line-height: 24px;
    letter-spacing: 2.2px;
    color: #111;
    padding: 10px 20px;
    text-align: left;
    position: relative;
    transition: color .3s;
}

.accordion-title {
    border: 2px solid transparent;
    border-radius: 8px;
}

.accordion-title.isOpen:hover {
    border-color: transparent;
}

.accordion-title.isOpen {
    color: inherit;
}

.accordion-title::after {
    content: "\f067";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-style: normal;
    display: inline-block;
    position: absolute;
    width: 23px;
    height: 23px;
    background-size: contain;
    background-repeat: no-repeat;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    transition: all .3s;
}

.accordion-body {
    display: none;
}

.table {
    width: 95.45%;
    margin: 0 auto;
}

/* 表のmargin-topを調子 */
.table {
    margin: 16px auto 0;
}

.table tbody th,
.table tbody tr,
.table tbody td {
    border: 1px solid #969696;
    border-bottom-width: 1px;
}

.table tbody th,
.table tbody td {
    padding: 8px 20px;
    text-align: left;
}

.table tbody th {
    width: 200px;
    font-size: 14px;
    font-weight: bold;
    line-height: 28px;
    letter-spacing: 1.4px;
    background-color: #E5E5E5;
}

.table tbody td {
    vertical-align: revert;
    background-color: #fff;
}

.table tbody tr td h4 {
    margin-top: 24px;
}

.table tbody tr td .table-orderList {
  counter-reset: item
}

.table tbody tr td .table-orderList li {
  position: relative;
  counter-increment: item;
  padding-left: 1rem;
}

.table tbody tr td .table-orderList li:not(:last-of-type) {
    padding-bottom: 15px
}

.table tbody tr td .table-orderList > li:before {
  content: ""counter(item) ;
  text-align: center;
  display: inline-block;
  font-size: 14px;
  color: #111;
  margin-left: -1rem;
  padding-right: 3px;
}

.table-orderList li::marker {
  font-family: 'Roboto', sans-serif;
}

.table tbody td p,
.table-orderList li {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 1.4px;
}

.table tbody td p.target-bussiness-title {
    margin: 24px 0 8px;
}

.table tbody tr td .table-list:has(+ p),
.table tbody tr td .table-orderList:has(+ p) {
    margin-bottom: 16px;
}

.table tbody tr td .table-list .table-list-item {
  position: relative;
  padding-left: 10px;
  margin-bottom: 10px
}

.table tbody tr td .table-list .table-list-item:before {
  position: absolute;
  content: "";
  background: #111;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  top: 8px;
  left: 0
}

.table tbody tr td .table-list .table-list-item:last-child {
  margin-bottom: 0
}

.table tbody tr td .table-list .table-list-item {
  position: relative;
  padding-left: 10px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 1.4px;
}

.table tbody tr td .table-list .table-list-item:last-child {
  margin-bottom: 0
}

.table tbody tr td .table-sublist {
  padding-top: 5px;
}

.table tbody tr td .table-sublist li {
  position: relative;
  padding: 5px 0 5px 10px
}

.table tbody tr td .table-sublist li:before {
  position: absolute;
  content: "";
  background: #000;
  width: 10px;
  height: 3px;
  top: 50%;
  left: 0
}

.table tbody tr td .table-sublist li:before {
  position: absolute;
  content: "";
  background: #fff;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  top: 13px;
  left: 0;
  box-shadow: 0 0 0 1px black;
}

.table tbody tr td .table-sublist li {
  position: relative;
  padding: 5px 0 5px 10px
}

.table tbody tr td .table-sublist.work-stylet li {
    padding-left: 1rem;
}

.table tbody tr td .table-sublist.work-stylet li::before {
    left: 6px
}

.accordion-btn a.btn-style {
    margin: 20px 0;
}

/* cloud worker voice */
.cloud-worker-vioce {
    padding-top: 100px;
    text-align: center;
    padding-bottom: 380px;
}

.voice-personal h4 {
    font-weight: bold;
    line-height: 24px;
    letter-spacing: 1.6px;
    background-color: #FFE91C;
    margin: 0 auto;
    padding: 2px 10px;
    display: inline-block;
}

.voice-personal .voice-name {
    margin-top: 10px;
    font-size: 22px;
    font-weight: bold;
    line-height: 31.5px;
    letter-spacing: 2.2px;
}

.voice-personal .voice-mainjob {
    margin-top: 10px;
    line-height: 28px;
    letter-spacing: 1.6px;
}

.cloud-worker-vioce .cloud-worker-vioce-lists > li {
    background-color: #fff;
    display: flex;
    margin: 50px 0;
    gap: 37px;
}

.cloud-worker-vioce .cloud-worker-vioce-lists > li:last-of-type {
    margin-bottom: 0;
}

.cloud-worker-vioce .cloud-worker-vioce-lists > li .voice-left {
    min-width: 300px;
}

.cloud-worker-vioce .cloud-worker-vioce-lists > li .voice-left img {
    width: 300px;
}

.cloud-worker-vioce .cloud-worker-vioce-lists > li .voice-left .voice-personal {
    padding: 10px;
}

.voice-right {
    padding: 16px 16px 16px 0;
    text-align: left;
}

.voice-item:not(:last-of-type) {
    margin-bottom: 24px;
}

.voice-item h5 {
    color: #2668D0;
    font-weight: bold;
    line-height: 24px;
    letter-spacing: 1.6px;
}

.voice-item p {
    line-height: 28px;
    letter-spacing: 1.6px;
    margin-top: 9px;
}

.voice-item .voice-item-lists {
    margin-top: 9px;
    text-align: left;
    list-style-type: disc;
    margin-left: 20px;
}

.voice-item .voice-item-lists > li {
    line-height: 28px;
    letter-spacing: 1.6px;
}

.recruit-hr {
    background-color: #969696;
    width: 100%;
}

@media only screen and (max-width: 1429px) {
    .cloud-worker-lead-left {
        margin-left: 0;
    }

    .cloud-worker h2 {
        margin-left: 0;
        text-align: center;
    }

    .cloud-worker-lead {
        flex-direction: column-reverse;
    }

    .cloud-worker-lead-left p {
        margin-top: 0;
    }

    .cloud-worker-lead-right {
        width: 326px;
        margin-top: 0;
    }
}

@media only screen and (max-width: 1134px) {
    .cloud-workercontents-section ul {
        flex-direction: column;
    }

    .cloud-workercontents-section ul li {
        width: 100%;
    }

    .cloud-workercontents-section ul li:not(:first-of-type) {
        margin-top: 16px;
    }

    .table tbody th,
    .table tbody td {
        display: block;
        width: 100%;
        /* border-bottom: 0;
        border-left: 0;
        border-right: 0; */
        border: 0;
    }

    .table tbody th {
        border-bottom: 1px solid #111;
    }

    .table tbody td {
        font-size: 13px;
        letter-spacing: 1.3px;
    }

    table tbody tr:first-of-type th {
        border-top-width: 0;
    }

    table tbody tr:last-of-type td {
       border-bottom-width: 1px;
    }

    .cloud-worker-vioce .cloud-worker-vioce-lists > li {
        flex-direction: column;
        padding: 10px;
    }

    .cloud-worker-vioce .cloud-worker-vioce-lists > li .voice-left .voice-personal {
        padding-top: 18px;
    }
}

/* PC（768px以上）のときだけ hover を有効化 */
@media (min-width: 768px) {
    .accordion-item:hover {
        background-color: #fff;
        border: 2px solid #E6EEFA;
    }

    .accordion-title.isOpen::after {
        content: "\f068";
    }

}

@media only screen and (max-width: 767px) {
    .main-cloud-worker {
        margin-top: 60px;
    }

    .cloud-worker {
        padding: 50px 0 16px;
    }
    .cloud-section-inner {
        width: 89.3%;
    }

    .cloud-worker-lead-top {
        padding-bottom: 0;
    }

    .cloud-worker h2 {
        font-size: 24px;
        line-height: 32px;
        letter-spacing: 2.4px;
    }

    .cloud-worker-lead-top p { 
        width: 100%;
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 1.4px;
    }

    .cloud-worker-lead-bottom {
        margin-top: 16px;
    }

    .cloud-worker-lead-bottom-desc {
        width: 100%;
        padding: 12px;
    }

    .cloud-worker-lead-bottom-desc p {
        margin-top: 16px;
        text-align: left;
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 1.4px;
    }

    .cloud-worker-lead-bottom-img {
        width: 300px;
        margin-top: -24px;
    }

    /* target */
    .target-section {
        padding: 50px 0;
    }
    .target-section h3 {
        font-size: 22px;
        line-height: 31.5px;
        letter-spacing: 2.2px;
    }

    .target-section ul {
        margin-top: 32px;
    }

    .target-section ul li {
        width: 100%;
        padding: 12px 8px;
        flex-direction: row;
        justify-content: start;
        height: auto;
        gap: 8px;
    }

    .target-section ul li img {
        margin-top: 0;
    }

    .target-section ul li p {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 1.4px;
        text-align: left;
    }

    /* cloud worker contents */
    .cloud-workercontents-section {
        padding: 50px 0;
    }

    /* what is cloucd worker */
    .what-is-cloud-worker-section .cloud-section-inner {
        padding: 0;
    }

    .what-is-cloud-worker-section p {
        font-size: 14px;
        line-height: 24px;
        letter-spacing: 1.4px;
    }

    .cloud-worker-follow-section {
        padding-bottom: 50px;
    }

    /* recruit */
    .accordion-item {
        background-color: #E6EEFA;
        border-radius: 8px;
    }

    /* .accordion-item:hover {
        background-color: transparent;
    } */

    .accordion-title {
        border: none;
        /* background-color: #E6EEFA; */
        border-radius: 8px;
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 1.6px;
    }

    .accordion-title::after {
        content: "\f067";
        font-family: "Font Awesome 5 Free";
        font-weight: 900;
        font-style: normal;
        background-image: none;
        text-align: center;
    }

    .accordion-title.isOpen::after {
        content: "\f068";
    }

    /* .accordion-title::after {
        background-image: url(https://corp.ambient-lab.co.jp/wp-content/uploads/2022/04/Group-2-3.png);
    } */

    /* .accordion-title:hover {
        color: inherit;
    } */

    /* .accordion-title.isOpen:hover::after {
        background-image: url(https://corp.ambient-lab.co.jp/wp-content/uploads/2022/04/Group-2-2.png);
    } */

    /* .accordion-title:hover::after {
        background-image: url(https://corp.ambient-lab.co.jp/wp-content/uploads/2022/04/Group-2-3.png);
    } */

    .accordion-body {
        margin-top: 0;
    }

    .table {
        width: 94.02%;
        margin: 8px auto 0;
        background-color: #fff;
    }

    .table tbody tr th {
        background-color: #E5E5E5;
    }

    .table tbody th,
    .table tbody tr,
    .table tbody td {
        border-bottom-width: 1px;
        
    }

    .accordion-btn {
        padding: 16px 0;
        margin-bottom: 0;
    }

    .accordion-btn a.btn-style {
        margin: 0;
    }

    .recruitment-requirements-section {
        padding: 50px 0;
    }

    /* cloud worker's voice */
    .cloud-worker-vioce {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .cloud-worker-vioce .cloud-worker-vioce-lists > li {
        margin: 32px 0;
    }

    .voice-personal h4 {
        font-size: 12px;
        line-height: 20px;
        letter-spacing: 1.2px;
    }

    .voice-personal .voice-name {
        font-size: 16px;
        line-height: 24px;
        letter-spacing: 1.6px;
    }
    .voice-personal .voice-mainjob {
        font-size: 12px;
        line-height: 100%;
        letter-spacing: 1.2px;
    }

    .voice-right {
        padding-right: 0;
    }

    .voice-item h5 {
        font-size: 14px;
        line-height: 20px;
        letter-spacing: 1.4px;
    }

    .voice-item p {
        font-size: 13px;
        letter-spacing: 1.3px;
        margin-top: 8px;
    }

    .voice-item .voice-item-lists > li {
        font-size: 13px;
        line-height: 20px;
        letter-spacing: 1.3px;
    }

    .recruit-btn a.btn-style {
        margin-top: 32px;
    }
}