@charset "UTF-8";

.container {
    position: relative;
}

section.top {
    /* all: unset; */
    background-image: unset;
    padding: unset;
    height: unset;
    width: 100%;
    background-color: #2B2E33;
}
/* section.top {
    height: 700px;
    width: 100%;
    background-image: url(../img/recruit-info/YKU00083.JPG);
    background-size: cover;
    padding: 400px 0;
} */
 section.top .container span {
    display: inline-block;
    color: #000;
    font-size: 45px;
    position: relative;
    transform: translateY(24px);
    font-family: "Times New Roman";
 }
section.top h1 {
    display: inline-block;
    margin-top: 160px;
    line-height: 1;
    vertical-align: bottom;
    transform: translateY(27px);
    color: white;
}
.bg_black {
    background-color: #000;
}
.angled-section-bottom-left-to-top-right {
  background-color: #114FA6; /* 斜めにしたい部分の色 */
  height: 60px; /* 高さはお好みで調整してください */
  width: 100%; /* 幅は親要素に合わせるか、固定値で指定 */
  position: relative; /* コンテンツの配置基準 */

  /* clip-path で左下から右上の角へ切り抜く */
  /* polygon(左上 X Y, 右上 X Y, 右下 X Y, 左下 X Y) */
  clip-path: polygon(0 100%, 100% 0, 100% 100%, 0% 100%);
  /* または、よりシンプルに三角形として */
  /* clip-path: polygon(0 100%, 100% 0, 100% 100%); */
}
.top_image img {
    width: 100%;
    height: 900px;
    object-fit: cover;
}

/* --------------------------------------------------------------- */
.record {
    background-color: #2B2E33;
    padding: 60px 0px;
    text-align: center;
    color: white;
}
.sec_h2 {
    margin: 60px 0px 0px;
    font-size: 60px;
}
.sec_h2 + p {
    margin-bottom: 60px;
    font-size: 30px;
    font-family: "Times New Roman";
}
.introduction {
    width: 100%;
    /* padding: 60px 30px; */
    position: relative;
    /* border: 1px solid red; */
}
.introduction .up {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}
.introduction .up .left {
    width: 48%;
}
.text:has( span.sec_text  ) {
    background-color: #000;
    font-size: 40px;
    position: relative;
    margin-bottom: 30px;
}
.introduction .up .left .text + p {
    font-size: 1.5vw;
    font-size: 22px;
    text-align: left;
}
span.sec_text {
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.introduction .up .left .text .angled-section-bottom-left-to-top-right {
    height: 40px;
}
.introduction .up .right {
    width: 48%;
}
.introduction .down ul {
    display: flex;
    justify-content: space-between;
}
.introduction .down ul li {
    width: 31%;
}
.introduction .down ul li img {
    margin-bottom: 10px;
}
.introduction .down ul li p {
    margin-bottom: 8px;
}
.introduction > ul {
    position: fixed;
    top: 210px;
    left: 30px;
    text-align: left;
    width: 120px;
}
.introduction > ul li {
    border-bottom: 2px solid #fff;
    margin-bottom: 24px;
}
.introduction > ul a {
    color: white;
    font-size: 19px;
    text-decoration: none;
}
.introduction .vertical {
    writing-mode: vertical-lr;
    position: absolute;
    top: 0;
    right: -150px;
    font-size: 66px;
    color: #114FA6;
    font-family: "Times New Roman";
}
.record .sp-only {
    display: none!important;
}


/* --------------------------------------------------------------- */
.thoughts {
    background-color: #2B2E33;
    padding: 60px 0px;
    text-align: center;
    color: white;
}
.thoughts .flex {
    display: flex;
}
.thoughts .flex .left {
    width: 50%;
}
.thoughts .flex .left {
    background-image: url("../img/recruit-info/company/当社の考え.jpg");
    background-position: 50% 50%;
    background-size: cover;
}
.thoughts .flex .right .text {
    position: relative;
}
.thoughts .flex .right p {
    font-size: 22px;
    text-align: left;
}
.thoughts .flex .right {
    width: 50%;
    padding: 70px 30px;
}
.thoughts .vertical {
    writing-mode: vertical-lr;
    position: absolute;
    top: 247px;
    right: -150px;
    font-size: 66px;
    color: #114FA6;
    font-family: "Times New Roman";
}

/* --------------------------------------------------------------- */
.support {
    background-color: #2B2E33;
    padding: 60px 0;
    color: white;
    text-align: center;
}
.support .box {
    background-color: white;
    padding: 50px 50px;
    color: #1A1A1A;
    position: relative;
}
.support .box .text {
    max-width: 400px;
    margin: 0 auto 20px;
}
.support .box .text span.sec_text {
    top: unset;
    bottom: unset;
    color: white;
    font-weight: normal;
}
.support .box .text + p {
    font-size: 24px;
    font-size: 1.6vw;
    margin-bottom: 30px;
}
.support .box ul { 
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.support .box ul li {
    width: 23%;
    margin-bottom: 70px;
}
@media (min-width: 770px) {
    .support .box ul li:nth-child(9),
    .support .box ul li:nth-child(10),
    .support .box ul li:nth-child(11),
    .support .box ul li:nth-child(12) {
        margin-bottom: 0;
    }
}
.support .box ul li h4 {
    font-size: 1.1vw;
}
.support .box ul li img {
    margin-bottom: 20px;
}
.support .box ul li p {
    font-size: 1.1vw;
    text-align: left;
}
.support .vertical {
    writing-mode: vertical-lr;
    position: absolute;
    top: 247px;
    right: -150px;
    font-size: 66px;
    color: #114FA6;
    font-family: "Times New Roman";
}
.support .sp-only {
    display: none;
}

@media (max-width: 1750px) {
    .introduction .vertical {
        font-size: 46px;
        right: -120px;
    }
    .sec_h2 {
        margin-top: 0;
    }
}
@media (max-width: 1600px) {
    .thoughts .sec_h2  {
        font-size: 3.4vw;
    }
}
@media (max-width: 1500px) {
    .text:has( span.sec_text ) {
        margin-bottom: 15px;
    }
    .support .sec_h2 {
        font-size: 3.4vw;
    }
}
@media (max-width: 1400px) {
    .top_image img {
        height: 600px;
    }
}
@media (max-width: 1300px) {
    .record {
        padding: 20px 0px;
    }
    .thoughts {
        padding: 10px 0;
    }
}
@media (max-width: 1200px) {
    .thoughts .flex {
        flex-direction: column;
        align-items: stretch;
        align-items: center;
    }
    .thoughts .flex  .left {
        width: 100%;
        height: 500px;
    }
    .thoughts .flex  .right {
        width: 100%;
    }
    .thoughts .sec_h2 + p {
        font-size: 2.6vw;
    }
    .support .box ul li {
        width: 31%;
        margin-bottom: 30px;
    }
    .support .box ul li h4 {
        font-size: 1.3vw;
    }
    .support .text:has( span.sec_text ) {
        font-size: 28px;
    }
    .support .angled-section-bottom-left-to-top-right {
        height: 40px;
    }
    /* .record .pc-only {
        display: none;
    }
    .record .up.sp-only {
        display: block!important;
    } */
     .introduction .up {
        flex-direction: column-reverse;
     }
     .introduction .up .left {
        width: 100%;
     }
     .introduction .up .right {
        width: 100%;
        margin-bottom: 70px;
     }
    .record .up.sp-only * {
        width: 100%;
    }
    .thoughts .flex .right {
        padding: 70px 0px;
    }
}
@media (max-width: 1100px) {
    .top .container {
        width: 90%;
    }
    .sec_h2 {
        font-size: 47px;
    }
    .thoughts .vertical {
        right: -121px;
    }
    .support .sec_h2 + p {
        font-size: 2.7vw;
    }
}
@media (max-width: 1000px) {
    .container {
        width: 90%;
    }
    .pc-only {
        display: none;
    }
    .thoughts .vertical {
        right: -101px;
    }
    .thoughts .vertical {
        right: -21px;
        top: -100px;
    }
    .support .sec_h2 {
        font-size: 4.4vw;
    }
    .support .box ul li h4 {
        font-size: 1.7vw;
    }
    .support .box ul li p {
        font-size: 1.4vw;
    }
}
@media (max-width: 900px) {
    .thoughts .sec_h2 {
        font-size: 4.4vw;
        position: relative;
        z-index: 1;
    }
    .thoughts .vertical {
        font-size: 26px;
    }
    .support .box .text + p {
        font-size: 1.9vw;
    }
}
@media (max-width: 850px) {
    section.top h1 {
        font-size: 40px;
        margin-top: 140px;
    }
    section.top .container span {
        font-size: 20px;
        transform: translateY(11px) translateX(-8px);
    }
    .top_image img {
        height: 460px;
    }
}
@media (max-width: 800px) {
    .introduction .up .right {
        /* margin-bottom: 20px; */
    }
    .sec_h2 {
        font-size: 4.7vw;
    }
    .sec_h2 + p {
        font-size: 4.7vw;
    }
    .support {
        padding: 10px 0;
    }
}
@media (max-width: 770px) {
    .record .up.sp-only {
        display: block;
    }
    .record .down .sp-only {
        display: block!important;
    }
    .introduction .down ul {
        flex-wrap: wrap;
    }
    .introduction .down ul li {
        width: 47%;
    }
    .support .box ul li {
        width: 47%;
    }
    .support .box ul li h4 {
        font-size: 2.6vw;
        font-size: 2.8vw;
    }
    .support .box ul li p {
        font-size: 2.5vw;
    }

}
@media (max-width: 600px) {
    .introduction .down ul li {
        width: 100%;
        margin-bottom: 40px;
    }
    .thoughts {
        padding: 10px 0;
    }
    .support .box{
        padding: 26px 20px;
    }
    .support .box .text + p {
        font-size: 1.9vw;
    }
}
@media (max-width: 500px) {
    section.top h1 {
        font-size: 30px;
        transform: translateY(18px);
    }
    .top_image img {
        height: 311px;
    }
    .record {
        padding: 10px 0;
    }
    .sec_h2 + p {
        margin-bottom: 10px;
    }
    .support .box ul li h4 {
        font-size: 2.6vw;
        font-size: 3vw;
        font-size: 25px;
    }
    .thoughts .flex .right p {
        font-size: 20px;
    }
    .thoughts .flex .right {
        padding: 70px 0;
    }
    .support .box .text + p {
        font-size: 16px;
    }
    .support .sp-only {
        display: block;
    }
    .support .box ul li {
        width: 100%;
    }
    .support .box ul li p {
        font-size: 20px;
    }
}
@media (max-width: 400px) {
    section.top h1 {
        font-size: 27px;
        transform: translateY(13px);
    }
    .angled-section-bottom-left-to-top-right {
        height: 33px;
    }
    .support .angled-section-bottom-left-to-top-right {
        height: 60px;
    }
}