/* セクション１ここから ========================================================================================================================================================= */
.role-section{
    background-image: url(../../img/roles-bg_paint.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    background-position-y: 6px;
    background-color: #ffffff;

    padding-top: 31px;
    padding-bottom: 41px;
}

.role-section .roles_h2-span1 {
    display: block;
    font-family: "Caveat";
    color: #F08300;
    margin-bottom: 5px;
    font-size: 24px;
    line-height: 1.25;
}
.role-section .roles_h2-span2 {
    display: block;
    font-family: "Noto Sans JP";
    color: #282828;
    font-size: 24px;
    line-height: 1.46;
    margin-bottom: 30px;
}

.role-containers{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}
.role{
    flex-basis: calc(50.4% - 10px);
    width: 100%;
    height: auto;
    border-radius: 8px;
    overflow: hidden;
    position: relative;
}
.role__paint,
.role__img {
    height: 100%;
    width: auto;
    max-height: 293px;
}

.role__paint {
    position: absolute;
    top: 0;
    left: -5px;
    z-index: 10;
}

.role .role__category{
    font-family: "Noto Sans JP";
    font-weight: 900;
    line-height: 1.2;
    font-size: 20px;
    position: absolute;
    top: 17px;
    left: 13px;
    z-index: 11;
    color: white;
}

.role__subcategories{
    font-family: "Noto Sans JP";
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 2px;
}

.role__subcategories-business{
    color: #f47979;
}
.role__subcategories-social{
    color: #f08300;
}
.role__subcategories-product{
    color: #2e7db8;
}
.role__subcategories-corporate{
    color: #C7A60F;
}
.role__subcategory,.role__subcategory-beside-one{
    background-color: white;
    display: block;
    text-align: center;
}

.role__subcategories-business{
    width: 180px;
}
.role__subcategories-social{
    width: 200px;
}
.role__subcategories-product{
    width: 200px;
}
.role__subcategories-corporate,.role__subcategory-beside{
    width: 160px;
}
.role__subcategory{
    display: flex;
    justify-content: center;
    align-items: center;
    height: 36px;
    border-radius: 20px;
    margin-bottom: 8px;
}

.role__subcategories-1-rows{
    position: absolute;
    top: 63px;
    left: 13px;
    z-index: 11;
}

.role__subcategories-2-rows{
    position: absolute;
    top: 103px;
    left: 13px;
    z-index: 11;
}

.role__subcategory-beside{
    display: flex;
    gap: 6px;
}

.role__subcategory-beside-one{
    flex-basis: calc(100% / 3);
    border-radius: 24px;
    padding: 5px 0;
}

.role__img {
    display: block; 
    margin-left: auto;
    z-index: 9;
}

.courses-btn{
    margin: 21px auto 0 auto;
}

.role-containers-sp,
.br-350 {
  display: none;
}

/* セクション２ここから =====================================================================================================================================================*/

:root{
    --roles-section2__color--primal-0: #F08300;
    --roles-section2__color--black-0: #000000;
    --roles-section2__color--black-1: #282828;
    --roles-section2__color--background-0: #FBF6EE;
    --roles-section2__color--white-0: #FFFFFF;
    --roles-section2__color--gray-0: #404040;
    --roles-section2__color--gray-1: #E5E5E5;
}

.p-roles-section2 {
    background-color: var(--roles-section2__color--background-0);
    background-image: url("../../../../img/roles_section2-background.png");
    background-repeat: no-repeat;
    background-size: cover;

    min-height: 800px;
}

.p-roles-section2__section-title {
    padding: 47px 0 49px;
    color: var(--roles-section2__color--primal-0);
    font-family: "Caveat";
    font-size: 1.5rem;
    font-weight: 700;
}

.p-roles-section2__section-title>span {
    color: var(--roles-section2__color--black-1);
    font-family: "Noto Sans JP";
    font-size: 1.5rem;
    font-weight: 700;
}

.p-roles-section2__posts {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.p-roles-section2__post {
    display: flex;
    flex-direction: column;
    background-color: var(--roles-section2__color--white-0);
    padding: 44px 0;
    border-radius: 1rem;
    overflow: hidden;
    /* height: 630px; */
    justify-content: space-between;
}

.p-roles-section2__top {
    display: flex;
    gap: 67px;
    justify-content: center;
    margin-bottom: 44px;
}

.p-roles-section2__top>* {
    width: 50%;
}

.p-roles-section2__top-left {
    height: 352px;
    position: relative;
}

.p-roles-section2__top-left img {
    max-height: 100%;
    position: absolute;
}

.p-roles-section2__img--brush {
    transform-origin: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(47.5%);
    width: 352px;
}

.p-roles-section2__img--circle {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.image-wrapper {
  position: relative;
  /* width: 352px; */
  height: 352px;
  margin: 0 auto;
}

.p-roles-section2__img--person {
  width: auto;
  height: 300px;
  object-fit: contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -60%);
}

.p-roles-section2__img--splat {
    top: -44px;
}

.p-roles-section2__top-right {
    display: flex;
    flex-direction: column;
    color: var(--roles-section2__color--black-1);
    font-family: "Noto Sans JP";
    font-weight: 700;
    letter-spacing: 10%;
    padding-right: 80px;
}

.p-roles-section2__caption {
    display: flex;
    flex-direction: column;
    /* height: 160px; */
    gap: 24px;
    max-width: 532px;
    justify-content: space-between;
}

.p-roles-section2__copy {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 0.1em;
}

.p-roles-section2__profile {
    display: flex;
    gap: 14px;
    align-items: center;
    transform: matrix(1, 0, -0.19, 0.98, 0, 0);
    letter-spacing: 0.1em;
    line-height: 1.25;
}

.p-roles-section2__name {
    font-size: 2rem;
    line-height: 1.25;
    letter-spacing: 0.1em;
}

.p-roles-section2__year {
    font-size: 1.125rem;
    letter-spacing: 0.1em;
}

.p-roles-section2__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 22px;
    margin-bottom: 62px;
}

.p-roles-section2__tag {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  padding: 0 16px;
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.1em;
  background-color: var(--roles-section2__color--gray-1);
  color: var(--roles-section2__color--gray-0);
  white-space: nowrap;
  transform: matrix(1, 0, -0.19, 0.98, 0, 0);
}

.p-roles-section2__button--talk {
    align-self: flex-start;
    background-color: var(--roles-section2__color--black-0);
    color: var(--roles-section2__color--white-0);
    border-radius: .5rem;
    padding: .5rem 1rem;
}

.p-roles-section2__bottom {
    display: flex;
    padding: 0 80px;
}

.p-roles-section2__bottom>* {
    align-items: center;
}

.p-roles-section2__bottom-left {
    width: 75%;
    display: flex;
    gap: 36px;
    align-items: center;
}

.p-roles-section2__bottom-left>img {
    border-radius: .5rem;
}

.p-roles-section2__bottom-left>p {
    display: flex;
    font-family: "Inter";
    font-weight: 700;
    font-size: 1rem;
    line-height: 2;
}

.p-roles-section2__bottom-right {
    width: 25%;
    display: flex;
    justify-content: end;
}

.filter-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.sp_roles-talk-btn {
  display: none;
}

/* background images start */
.p-roles-section2 {
  position: relative;
  overflow: hidden;
  padding-bottom: 200px;
}

.p-roles-section2__bg-wrap {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.p-roles-section2 .l-container {
  position: relative;
  z-index: 1;
}

.p-roles-section2__bg {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}

/* 1 */
.p-roles-section2__bg--1 {
  width: 395.16px;
  height: 379.11px;
  top: 60px;
  left: -100px;
  background-image: url("../../img/common-bg_paint7.svg");
}

/* 2 */
.p-roles-section2__bg--2 {
  width: 118.09px;
  height: 127.28px;
  top: 35px;
  left: clamp(270px, 37vw, 473px);
  background-image: url("../../img/common-bg_paint4.svg");
}

/* 3 */
.p-roles-section2__bg--3 {
  width: 181.24px;
  height: 123.4px;
  top: 60px;
  right: clamp(150px, 18vw, 152.56px);
  background-image: url("../../img/common-bg_paint3.svg");
}

/* 4 */
.p-roles-section2__bg--4 {
  width: 239.12px;
  height: 328.75px;
  top: 124.18px;
  right: clamp(-80px, -5vw, -11px);
  background-image: url("../../img/common-bg_paint8.svg");
}

/* 5 */
.p-roles-section2__bg--5 {
  width: 345.86px;
  height: 367.63px;
  top: 598px;
  left: -70px;
  background-image: url("../../img/common-bg_paint1.svg");
}

/* 6 */
.p-roles-section2__bg--6 {
  width: 415.22px;
  height: 388.47px;
  top: 965.35px;
  right: clamp(-300px, -23vw, -120px);
  background-image: url("../../img/common-bg_paint9.svg");
}

/* 7 */
.p-roles-section2__bg--7 {
  width: 263.97px;
  height: 260.95px;
  top: 1543px;
  left: -40px;
  background-image: url("../../img/common-bg_paint6.svg");
}

/* 8 */
.p-roles-section2__bg--8 {
  width: 494px;
  height: 502px;
  bottom: -100px;
  right: clamp(-120px, -14vw, 5px);
  background-image: url("../../img/common-bg_paint10.svg");
}

/* 9 */
.p-roles-section2__bg--9 {
  width: 118.09px;
  height: 127.28px;
  bottom: 100px;
  left: 33px;
  background-image: url("../../img/common-bg_paint5.svg");
  transform: rotate(170deg);
}
/* background images end */

/* キャリアパスページネーション start */
.p-roles-section2 .event-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 16px;
  padding-top: 40px;
  margin-bottom: -76px;
}

.p-roles-section2 .event-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #5E5E5E;
  border-radius: 50%;
  background-color: #ffffff;
  color: #5E5E5E;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  font-family: "Inter", sans-serif;
}

.p-roles-section2 .event-pagination .page-numbers.current {
  background-color: #000000;
  color: #ffffff;
  border-color: #000000;
}

.p-roles-section2 .event-pagination .prev,
.p-roles-section2 .event-pagination .next {
  position: relative;
  background-color: #ffffff;
  border-color: #5E5E5E;
  font-size: 0;
}

.p-roles-section2 .event-pagination .prev::before,
.p-roles-section2 .event-pagination .next::before {
  content: "";
  display: block;
  width: 7px;
  height: 13px;
  background-color: #5E5E5E;
  -webkit-mask: url("../../img/common-arrow_white.svg") center / contain no-repeat;
  mask: url("../../img/common-arrow_white.svg") center / contain no-repeat;
}

.p-roles-section2 .event-pagination .prev::before {
  transform: rotate(180deg);
}
/* キャリアパスページネーション end */

/* レスポンシブはここから */
/* background images1281px以上も同じサイズで表示 */
@media screen and (min-width: 1281px) {
  .p-roles-section2__bg--1 {
    left: calc((100vw - 1280px) / 2 - 153px);
  }

  .p-roles-section2__bg--2 {
    left: calc((100vw - 1280px) / 2 + 473px);
  }

  .p-roles-section2__bg--3 {
    left: calc((100vw - 1280px) / 2 + 946.2px);
  }

  .p-roles-section2__bg--4 {
    left: calc((100vw - 1280px) / 2 + 1089.49px);
    right: auto;
  }

  .p-roles-section2__bg--5 {
    left: calc((100vw - 1280px) / 2 - 166px);
  }

  .p-roles-section2__bg--6 {
    left: calc((100vw - 1280px) / 2 + 1128.92px);
    right: auto;
  }

  .p-roles-section2__bg--7 {
    left: calc((100vw - 1280px) / 2 - 72px);
  }

  .p-roles-section2__bg--8 {
    left: calc((100vw - 1280px) / 2 + 879.76px);
    right: auto;
  }

  .p-roles-section2__bg--9 {
    left: calc((100vw - 1280px) / 2 + 38.43px);
  }
}

@media screen and (max-width: 1060px) {
  /* セクション１ここから ==================================================================================================================================================== */
  .role-section {
    background-image: unset;
    padding-top: 33px;
    padding-bottom: 50px;
  }

  .role-section .roles_h2-span1 {
    font-size: 1.25rem;
    line-height: 1.25;
  }

  .role-section .roles_h2-span2 {
    font-size: 1.375rem;
    line-height: 1.18;
    margin-bottom: 33px;
  }
  
  .role-containers {
    display: none;
  }

  .role-containers-sp {
    display: flex;
    flex-wrap: wrap;
    column-gap: 25px;
    justify-content: center;
    max-width: 752px;
    margin-left: auto;
    margin-right: auto;
  }

  .section1-sp-item,
  .section1-sp-item2,
  .section1-sp-item3,
  .section1-sp-item4 {
    position: relative;
    max-width: 358px;
    width: 100%;
    max-height: 84vw;
    height: 308px;
    overflow: hidden;
    border-radius: 8px;
    margin-left: auto;
    margin-right: auto;
  }

  .section1-sp-item,
  .section1-sp-item2,
  .section1-sp-item3 {
    margin-bottom: 22px;
  }

  .section1-sp-item2 {
    max-height: 347px;
    height: 89vw;
  }

  .section1-sp-item-img1,
  .section1-sp-item-img2 {
    position: absolute;
  }

  .section1-sp-item-img1 {
    top: 0;
    left: 0;
    z-index: -10;
  }

  .section1-sp-item-img2 {
    bottom: 0;
    left: 0;
    z-index: -5;
  }

  .section1-sp-item-flexbox {
    display: flex;
    gap: 8px;
    justify-content: space-between;
    text-align: center;
  }

  .section1-sp-item-flexbox:first-of-type,
  .section1-sp-item2 .section1-sp-item-flexbox:nth-of-type(2) {
    margin-bottom: 9px;
  }

  .section1-sp-item h3,
  .section1-sp-item2 h3,
  .section1-sp-item3 h3,
  .section1-sp-item4 h3 {
    display: block;
    font-size: 1.25rem;
    line-height: 1.2;
    color: #FFFFFF;
    margin-top: min(43vw, 165px);
    margin-bottom: 18px;
  }

  .section1-sp-item2 h3 {
    margin-top: min(44vw, 170px);
    margin-bottom: 11px;
  }

  .section1-sp-item-flexbox,
  .section1-sp-item h3,
  .section1-sp-item2 h3,
  .section1-sp-item3 h3,
  .section1-sp-item4 h3 {
    width: 93.85%;
    margin-left: auto;
    margin-right: auto;
  }

  .section1-sp-item-flexbox p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 164px;
    height: 36px;
    background-color: #FFFFFF;
    border-radius: 100px;

    font-family: "Noto Sans JP";
    font-weight: 500;
    font-size: 0.875rem;
  }

  .section1-sp-item .section1-sp-item-flexbox p {
    color: #f47979;
  }

  .section1-sp-item2 .section1-sp-item-flexbox p {
    color: #F08300;
  }

  .section1-sp-item3 .section1-sp-item-flexbox p {
    color: #2E7DB8;
  }

  .section1-sp-item4 .section1-sp-item-flexbox p {
    color: #C7A60F;
  }

  .section1-opacity-0 {
    opacity: 0;
  }

  .role-section .section1__font-size12 {
    font-size: 0.75rem;
  }

  .role-section .text-3 {
    width: 48px;
  }

  .courses-btn {
    margin-top: 22px;
  }

}

@media screen and (max-width: 1024px) {
  /* キャリアパス */
  .p-roles-section2__bottom {
    padding: 0 40px;
  }

  .p-roles-section2__top-right {
    padding-right: 40px;
  }

  .p-roles-section2__bottom-left {
    width: 80%;
  }

  .p-roles-section2__bottom-right {
    width: 20%;
  }

  .p-roles-section2__top {
    gap: 40px;
  }
}

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

  /* キャリアパス start　====================================================================================================================================================== */
  .p-roles-section2__img--splat {
    display: none;
  }

  .p-roles-section2 {
    padding-bottom: 156px;
  }

  .p-roles-section2__top {
    flex-direction: column;
    gap: 20px;
    margin-bottom: 60px;
  }
  
  .p-roles-section2__bottom-left {
    flex-direction: column;
  }

  .p-roles-section2__bottom {
    flex-direction: column;
  }

  .p-roles-section2__top > * {
    width: 100%;
  }

  .p-roles-section2__top-right {
    width: 89.94%;
    padding: 0;
    margin: auto;
  }

  .p-roles-section2__bottom-left {
    width: 100%;
    gap: 13px;
  }

  .talk-btn {
    max-width: 322px;
  }

  .p-roles-section2__bottom {
    padding: 0;
    width: 89.94%;
    margin: auto;
  }

  .p-roles-section2__bottom-left>p {
    padding-bottom: 20px;
  }

  .p-roles-section2__bottom {
    align-items: flex-end;
  }

  .p-roles-section2__bottom-left img {
    width: 100%;
    aspect-ratio: 322 / 214;
    height: auto;
    object-fit: cover;
  }

  .p-roles-section2__post {
    padding: 0 0 30px
  }

  .p-roles-section2__bottom {
    padding: 0;
    width: 89.94%;
    margin: auto;
  }

  .p-roles-section2__top-left {
    width: 100%;
    height: auto;
  }

  .image-wrapper {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
  }

  .p-roles-section2__top-left img {
    max-height: none;
  }

  .p-roles-section2__img--circle {
    width: 89.94%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .p-roles-section2__img--brush {
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.48);
  }

  .p-roles-section2__img--person {
    height: 72%;
    width: auto;
    max-height: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -58%);
  }

  .p-roles-section2__caption {
    gap: 20px;
  }

  .p-roles-section2__tags {
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .talk-btn {
    display: none;
  }

  .sp_roles-talk-btn {
    display: flex;
  }

  .p-roles-section2__section-title {
    padding: 46px 0 34px;
    font-size: 1.25rem;
  }

  .p-roles-section2__section-title>span {
    font-size: 1.375rem;
  }

  .p-roles-section2__posts {
    gap: 30px;
  }

  .p-roles-section2__copy {
    font-size: 1.375rem;
    line-height: 1.37;
  }

  .p-roles-section2__name {
    font-size: 1.75rem;
  }

  .p-roles-section2__year {
    font-size: 0.875rem;
  }

  .p-roles-section2__tag {
    font-size: 0.875rem;
    padding: 0 8px;
  }
  
  /* 背景 */
  /* SPではPC用の背景位置を上書き */
  .p-roles-section2__bg {
    background-size: contain;
  }

  .p-roles-section2__bg--1 {
    width: 236.45px;
    height: 230.06px;
    top: 285px;
    left: -85px
  }

  /* SPでは非表示 */
  .p-roles-section2__bg--2 {
    display: none;
  }

  .p-roles-section2__bg--3 {
    width: 129.08px;
    height: 87.34px;
    top: -18px;
    right: 65px;
  }

  .p-roles-section2__bg--4 {
    width: 178.39px;
    height: 221.31px;
    top: 87px;
    right: -90px;
  }

  .p-roles-section2__bg--5 {
    width: 160px;
    height: 170px;
    top: 1165px;
    left: -48px;
  }

  .p-roles-section2__bg--6 {
    width: 342.83px;
    height: 324.93px;
    top: 1537px;
    right: -240px;
  }

  .p-roles-section2__bg--7 {
    width: 188.71px;
    height: 194.96px;
    top: 2380px;
    left: -60px;
  }
  
  .p-roles-section2__bg--8 {
    width: 218.73px;
    height: 207.74px;
    bottom: 78px;
    right: -41px;
  }

  .p-roles-section2__bg--9 {
    width: 118.27px;
    height: 127.58px;
    bottom: 255px;
    left: -50px;
  }
  /* キャリアパス end */
}

@media screen and (max-width: 370px) {
  .section1-sp-item-flexbox p {
    font-size: 0.75rem;
  }

  .section1-sp-item2 h3 {
    margin-top: min(39vw, 170px);
  }
}

@media screen and (max-width: 350px) {
  .section1-sp-item2 h3 {
    margin-bottom: 8px;
  }

  .br-350 {
    display: block;
  }
}













