@charset "UTF-8";


/* フォントサイズ */

:root {
    --root-font-size: 16;
}

/* フォントファミリー */

:root {
    --base-font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
    --accent-font-family: 'Work Sans', 'Helvetica Neue', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', 'Meiryo', sans-serif;
	--interview-font-family: "Maitree", Georgia, "Times New Roman", serif;
}

/* カラー  */
:root {
    --green-accent: #67D407;
}

.color-green {
    color: var(--green-accent);
}

/* シャドウ */

:root {
    --text-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
    --box-shadow: 0 2px 18px 0 rgba(0, 0, 0, 0.25)
}

/* トップページ

====================================================*/

/* メインビジュアル */

.mainvisual-top {
    position: relative;
}

.mainvisual__text-area-top {
    color: #fff;
    width: fit-content;
    top: 50%;
    position: absolute;
    left: 9.305555vw;
    @media(max-width: 768px) {
        transform: translateY(-50%);
    }
}

.mainvisual__text-top {
    /* 56px 18px */
    font-size: clamp(1.125rem, 0.289rem + 3.568vw, 3.5rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.06em;
    text-shadow: var(--shadow);
}

.mainvisual__text--sub-top {
    /* 24px 16px */
    font-size: clamp(1rem, 0.824rem + 0.751vw, 1.5rem);
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.12em;
    text-shadow: var(--text-shadow);
}

/* top message */

.message__img-wrapper {
    width: 95.333333%;
    margin-inline: auto;
    margin-top: 15px;
}

.message__img {
    width: 100%;
    object-fit: cover;
    border-radius: 16px;
}

.message-area {
    position: relative;
    width: 60vw;
    margin-inline: auto;
}

.message__circle {
    &:nth-of-type(1) {
        width: 10vw;
        aspect-ratio: 1;
        border-radius: 50%;
        background-color: rgba(103, 212, 7, 0.2);
        position: absolute;
        top: 0;
        right: 0;
    }

    &:nth-of-type(2) {
        width: 8vw;
        aspect-ratio: 1;
        border-radius: 50%;
        background-color: rgba(103, 212, 7, 0.2);
        position: absolute;
        top: 7vw;
        right: 10vw;
    }

    &:nth-of-type(3) {
        width: 3vw;
        aspect-ratio: 1;
        border-radius: 50%;
        background-color: rgba(103, 212, 7, 0.2);
        position: absolute;
        top: 13vw;
        right: 5vw;
    }
}

.message__title {
    width: fit-content;
    font-size: clamp(1.25rem, 0.986rem + 1.127vw, 2rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    border-bottom: 2px solid var(--green-accent);
    margin-inline: auto;
    margin-top: 59px;
}

.message__text {
    text-align: center;
    margin-inline: auto;

    &:first-of-type {
        margin-top: 28px;
    }

    &:not(:last-of-type) {
        margin-bottom: 32px;
    }
}

/* recruit */

.recruit-areas {
    display: grid;
    grid-template-columns: auto auto;
	grid-template-rows: auto;
	margin-top: 72px;
	@media(max-width: 768px) {
		grid-template-columns: auto;
		grid-template-rows: auto auto;
	}
}

.recruit-area {
    position: relative;
    display: inline-block;
    width: 100%;
}

.recruit-area::before {
  content: "";
  position: absolute;
  inset: 0; 
  background-color: rgba(0, 128, 0, 0.5);
  z-index: 1;

  &:nth-of-type(2) {
      background-color: rgba(0, 128, 0, 0.5);
  }
}

.recruit__img {
    width: 100%;
}

.recruit__contents {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.recruit__title {
    text-align: center;
    font-family: var(--accent-font-family);
    font-size: clamp(1.75rem, 1.574rem + 0.751vw, 2.25rem);
    font-weight: 700;
    font-style: italic;
}

.btn--recruit {
    background: #000;
    margin-top: 20px;
}

/* top case */

.case-top {
    background-color: rgba(103, 212, 7, 0.8) !important;
}

.case-top .section-heading {
    color: #fff !important;
}

.case-top .section-heading__sub {
    color: #fff !important;
}

/* top about */

.about-top {
    background-image: url('https://recruit.sugawaradenko-corp.jp/wp-content/uploads/2025/05/about-top-bg-scaled.webp');
    background-repeat: no-repeat;
    background-size: cover;
    padding: 102px 0 93px;
}

.about-top-inner {
    width: min(100% - 40px, 1100px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 42px;
    margin-inline: auto;
    margin-top: 44px;
    @media(max-width: 768px) {
        grid-template-columns: auto;
        grid-template-rows: auto auto;
    }
}

.about-top__text {
    color: #fff;
    font-weight: 500;
    line-height: 1.9375;
    margin-top: 71px;
}

.about-top .btn {
    margin-inline: 0;
    margin-right: auto;
    @media(max-width: 768px) {
        margin-right: 0;
        margin-inline: auto;
        width: 100%;
    }
}

/* top interview */

.interview-top__inner {
    display: grid;
    grid-template-columns: repeat(3, 25%);
    place-content: center;
    gap: 30px;
    padding: 100px 20px;
    position: relative;

    @media(max-width: 768px) {
        grid-template-columns: auto;
        grid-template-rows: auto auto auto;
    }
}

.interview-top__bg {
     background-color: #67d40763;
    width: 95%;
    height: 60%;
    border-radius: 20px;
    position: absolute;
    right: 0;
    bottom: 60px;
    z-index: -1;
    box-shadow: var(--box-shadow);

    @media(max-width: 768px) {
        width: 95%;
        height: 95%;
    }
}

.interview-top__item {
    border-bottom: 1px solid #000;
}

.interview-top-img {
    width: 100%;
    object-fit: cover;
    border-radius: 16px;
}

.interview-top__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: calc(25 / var(--root-font-size) * 1rem);
    font-weight: 500;
    letter-spacing: 0.06em;
}

.link-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    background-color: #191919;
    border-radius: 50%;

    &::after {
        content: '';
        display: inline-block;
        width: 10px;
        height: 10px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        transform: rotate(45deg);
    }
}

.session-area {
    width: 80%;
    margin-inline: auto;
}

.session__img-wrapper {
    position: relative;
}

.session__link-arrow {
    display: block;
    width: 100%;
    height: 40px;
    background: rgba(89, 89, 89, 0.54);
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    position: absolute;
    bottom: 0;
    &::after {
        content: '';
        display: inline-block;
        width:  20px;
        height: 20px;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
        transform: rotate(45deg);
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(135deg);
    }
}

.session__title {
    width: 30%;
	position: relative;
    bottom: -10px;
}

.session__img {
    box-shadow: -3px 12px 5px 0 rgba(0, 0, 0, 0.25);
    border-radius: 15px;
}

.session__text {
    text-align: center;
    margin-top: 42px;
}

/* インスタグラム */

.videos-container {
	background: linear-gradient(180deg, #ffffff 0%, #ffffff 30%, #323232 30%, #323232 100%);
	padding-bottom: 30px;
}

.videos {
    width: min(100%, 912px);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
    padding: 0 20px;
    margin-inline: auto;
	margin-top: 30px;
    @media(max-width: 960px) {
        grid-template-columns: repeat(2, 1fr);
    }

    @media(max-width: 540px) {
        grid-template-columns: auto;
    }
}

.video-wrapper video {
    max-width: 100%;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    position: relative;
    z-index: 0;
     /* &::after {
        content: '';
        display: inline-block;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 1);
        position: absolute;
        inset: 0;
        z-index: 1;
     } */
}

.instagram {
    width: min(100%, 981px);
    margin-inline: auto;
}

.instagram__btn {
    text-align: center;
    width: 236px;
    border: 2px solid #fff;
    border-radius: calc(infinity * 1px);
    margin-top: 30px;
    margin-inline: auto;
}

.instagram__link {
    display: block;
    color: #fff;
    font-size: calc(13 / var(--root-font-size) * 1rem);
    letter-spacing: 0.1em;
    padding: 8.5px 10px;
}

/* .video-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 9999;
}
.video-modal.show {
    display: flex;
}
.video-modal__content {
    background-color: #fff;
    position: relative;
    display: flex;
    flex-direction: row;
    width: 100%;
    max-width: 100%;
    max-height: 100%;
}
.video-modal__content video {
    width: 50%;
    height: auto;
}
.video-modal__close,
.video-modal__prev,
.video-modal__next {
    position: absolute;
    background: #fff;
    border: none;
    font-size: 20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
} */
/* .video-modal__close {
    top: -15px;
    right: -15px;
}
.video-modal__prev {
    top: 50%;
    left: -50px;
    transform: translateY(-50%);
}
.video-modal__next {
    top: 50%;
    right: -50px;
    transform: translateY(-50%);
} */

.video--no {
    display: none;
}


.video-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.8);
}

.video-modal.show {
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-modal__overlay {
  position: absolute;
  inset: 0;
}

.video-modal__container {
  display: flex;
  background: #fff;
  max-width: 960px;
  width: 100%;
  height: 80vh;
  z-index: 10;
}

.video-modal__left {
  flex: 1;
  background-color: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.video-modal__left video {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.video-modal__right {
  width: 320px;
  padding: 16px;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.modal-close {
  position: absolute;
  top: 8px;
  right: 8px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
}

.modal-header {
  　display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    margin-bottom: 12px;
}

.modal-username {
    display: flex;
    align-items: end;
    justify-content: center;
    gap: 5px;
}

.modall-username__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border: 1px solid;
    border-radius: 50%;
    overflow: hidden;
}


.modal-content {
  white-space: pre-wrap;
  overflow-y: scroll;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

.modal-date {
  margin-top: auto;
  font-size: 12px;
  color: #999;
  text-align: right;
}

.modal-arrows {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 新卒採用

====================================================*/

/* メインビジュアル */

.mainvisual-new {
    position: relative;
}

.mainvisual__text-area-new {
    color: #fff;
    width: max-content;
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translateX(-50%);
	@media(max-width: 768px) {
		top: 45%;
	}
}

.mainvisual__title-new {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    justify-content: center;
    align-items: center;
    gap: 24px;
    /* 28px 18px */
    font-size: clamp(1.125rem, 0.905rem + 0.939vw, 1.75rem);
    font-weight: 700;
    letter-spacing: 0.12em;

    &::before {
        content: '';
        width: 100%;
        height: 1px;
        background-color: #fff;
    }

    &::after {
        content: '';
        width: 100%;
        height: 1px;
        background-color: #fff;
    }
}

.mainvisual__text-new {
    /* 56px 18px */
    font-size: clamp(1.125rem, 0.289rem + 3.568vw, 3.5rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.06em;
    text-shadow: var(--shadow);
}

.mainvisual__text--sub-new {
    text-align: center;
    /* 24px 16px */
    font-size: clamp(1rem, 0.824rem + 0.751vw, 1.5rem);
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.12em;
    text-shadow: var(--text-shadow);
}

/* works

====================================================*/

.works {
    padding: 80px 0 81px;

    @media(max-width: 768px) {
        padding: 50px 0 80px;
    }
}

.works__inner {
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto;
    gap: 56px;
    width: min(100% - 40px, 1100px);
    margin-inline: auto;

    &:nth-of-type(1) {
        margin-top: 56px;

        @media(max-width: 768px) {
            margin-top: 30px;
        }
    }

    @media(max-width: 768px) {
        gap: 30px;
    }
}

.works__item {
    background-color: #fff;
    border-radius: 16px;
    padding: 42px 101px 65px 108px;

    @media(max-width: 768px) {
        padding: 30px 50px 50px 50px;
    }
}

.works__media {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: auto;
    gap: 70px;
    margin-top: 64px;

    @media(max-width: 768px) {
        grid-template-columns: auto;
        grid-template-rows: auto auto;
        gap: 30px;
        margin-top: 30px;
    }
}

.works__title {
    text-align: center;
    /* 32px 20px */
    font-size: clamp(1.25rem, 0.986rem + 1.127vw, 2rem);
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.12em;
}

.works__title-sub {
    text-align: center;
    width: 147px;
    max-width: 100%;
    font-size: calc(18 / var(--root-font-size) * 1rem);
    color: #fff;
    font-weight: 700;
    line-height: 1.888888;
    letter-spacing: 0.12em;
    background-color: var(--green-accent);
    border-radius: 8px;
    padding: 4px;
}

.works__text {
    color: #3A3A3A;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.06em;
    margin-top: 32px;
}

.works__images-area {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
    gap: 13px;
    margin-top: 53px;

    @media(max-width: 768px) {
        grid-template-columns: auto;
        grid-template-rows: repeat(3, 1fr);
        margin-top: 30px;
    }
}

.works__image-wrapper {
    width: 100%;
}

.works__image {
    width: 100%;
    object-fit: cover;
}

/* crosstalk

====================================================*/

.crosstalk {
    background-image: url('https://recruit.sugawaradenko-corp.jp/wp-content/uploads/2025/05/crosstalk-img.webp');
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 16px;
    padding: 38px 41px 26px 59px;
    margin-top: 74px;

    @media(max-width: 768px) {
        padding: 30px 20px 30px 20px;
        margin-top: 30px;
    }
}

.crosstalk__title-main {
    font-family: var(--accent-font-family);
    color: var(--green-accent);
    /* 56px 18px */
    font-size: clamp(1.125rem, 0.289rem + 3.568vw, 3.5rem);
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.06em;
}

.crosstalk__title-sub {
    font-weight: 700;
    letter-spacing: 0.06em;
}

.crosstalk__text {
    width: 43%;
    color: #fff;
    font-weight: 700;
    line-height: 1.9375;
    letter-spacing: 0.06em;
    text-shadow: var(--text-shadow);
    margin-top: 24px;
    margin-left: auto;

    @media(max-width: 768px) {
        width: 100%;
    }
}

/* oneday

====================================================*/

.oneday {
    padding: 80px 0;

    @media(max-width: 768px) {
        padding: 50px 0;
    }
}

.oneday__inner {
    background-color: #fff;
    padding: 69px 56px 74px;
    width: min(100% - 40px, 1040px);
    margin-inline: auto;
    margin-top: 48px;

    @media(max-width: 768px) {
        padding: 30px 20px;
        margin-top: 30px;
    }
}

.table-wrapper {
    width: 100%;

    @media (max-width: 768px) {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

table {
    width: 100%;
    border-collapse: collapse;

    @media (max-width: 768px) {
        width: 800px;
    }
}

th, td {
    border-bottom: 1px solid #2E5E03;
}

th {
    text-align: center;
    color: #fff;
    font-size: calc(18 / var(--root-font-size) * 1rem);
    font-weight: 700;
    letter-spacing: 0.12em;
    background-color: rgba(89, 183, 6, 0.9);
    border-right: 1px solid #2E5E03;
    padding: 22px 0 19px;
}

td {
    border-right: 1px solid #2E5E03;

    &:last-of-type {
        border-right: none;
    }
}

td[colspan="3"] {
    color: #FF5E5E;
    font-size: calc(20 / var(--root-font-size) * 1rem);
    letter-spacing: 0.12em;
    background-color: #ffeb3b;
    text-align: center;
    vertical-align: middle;
}

td:first-child {
    font-size: calc(18 / var(--root-font-size) * 1rem);
    font-weight: 500;
    letter-spacing: 0.12em;
    text-align: center;
    padding: 20px 0;
    background-color: rgba(155, 249, 72, 0.3);
}

td:nth-child(2):not([colspan]) {
    text-align: center;
    vertical-align: bottom;
    background: linear-gradient(to right,
            #ffffff 0%,
            #ffffff 20%,
            rgba(143, 210, 9, 0.6) 20%,
            rgba(143, 210, 9, 0.6) 80%,
            #ffffff 80%,
            #ffffff 100%);
}

td:nth-child(3) {
    text-align: center;
    vertical-align: bottom;
    background: linear-gradient(to right,
            #ffffff 0%,
            #ffffff 20%,
            rgba(37, 248, 72, 0.4) 20%,
            rgba(37, 248, 72, 0.4) 80%,
            #ffffff 80%,
            #ffffff 100%);
}

td:nth-child(4) {
    text-align: center;
    vertical-align: bottom;
    background: linear-gradient(to right,
            #ffffff 0%,
            #ffffff 20%,
            rgba(37, 248, 238, 0.4) 20%,
            rgba(37, 248, 238, 0.4) 80%,
            #ffffff 80%,
            #ffffff 100%);
}



/* oneday テーブル */



/* 中途採用

====================================================*/

/* メインビジュアル */

.mainvisual {
    position: relative;
}

.mainvisual__text-area {
    color: #fff;
    width: fit-content;
    position: absolute;
    top: 50% !important;
    left: 9.305555vw;
    transform: translateY(-50%);
}

.mainvisual__title {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    /* 28px 18px */
    font-size: clamp(1.125rem, 0.905rem + 0.939vw, 1.75rem);
    font-weight: 700;
    letter-spacing: 0.12em;

    &::after {
        content: '';
        width: 100%;
        height: 1px;
        background-color: #fff;
    }
}

.mainvisual__text {
    /* 56px 18px */
    font-size: clamp(1.125rem, 0.289rem + 3.568vw, 3.5rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.06em;
    text-shadow: var(--shadow);
}

.mainvisual__text--sub {
    /* 24px 16px */
    font-size: clamp(1rem, 0.824rem + 0.751vw, 1.5rem);
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.12em;
    text-shadow: var(--text-shadow);
}

/* Ideal Person

====================================================*/

.ideal-person {
    padding: 80px 0 111px;

    @media(max-width: 768px) {
        padding: 50px 0 80px;
    }
}

.ideal-person__inner {
    width: min(100% - 40px, 1100px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 42px;
    margin-inline: auto;
    margin-top: 44px;

    @media(max-width: 768px) {
        grid-template-columns: auto;
        grid-template-rows: auto auto;
    }
}

.ideal-person__text-area {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border-radius: 8px;
    padding: 2.75em 2em 3.5em 2.063em;
}

.ideal-person__title-area {
    display: grid;
    grid-template-columns: auto auto;
    width: fit-content;
    gap: 27px;
    align-items: flex-end;
    margin-bottom: 24px;

    @media(max-width: 768px) {
        grid-template-columns: auto;
        grid-template-rows: auto auto;
        gap: 0;
        margin-bottom: 10px;
    }
}

.ideal-person__title {
    color: var(--green-accent);
    /* 32px 18px */
    font-size: clamp(1.125rem, 0.817rem + 1.315vw, 2rem);
    font-weight: 700;
    letter-spacing: 0.06em;
}

.ideal-person__title-sub {
    color: var(--green-accent);
    font-weight: 700;
    letter-spacing: 0.06em;
}

.ideal-person__text {
    font-weight: 700;
    letter-spacing: 0.06em;

    &:not(:last-of-type) {
        margin-bottom: 36px;

        @media(max-width: 768px) {
            margin-bottom: 20px;
        }
    }
}

/* jobs

====================================================*/

.jobs {
    padding: 96px 0 114px;

    @media(max-width: 768px) {
        padding: 50px 0 80px;
    }
}

.jobs__inner {
    width: min(100% - 40px, 1135px);
    display: grid;
    grid-template-rows: repeat(5, 1fr);
    gap: 72px;
    margin-inline: auto;
    margin-top: 56px;

    @media(max-width: 768px) {
        gap: 30px;
    }
}

.jobs__media {
    display: flex;
    flex-direction: row;

    @media(max-width: 768px) {
        flex-direction: column;
    }
}

.jobs__media--reverse {
    flex-direction: row-reverse;

    @media(max-width: 768px) {
        flex-direction: column;
    }
}

.jobs__media--reverse .jobs__img-wrapper {
    margin-left: -24px;

    @media(max-width: 768px) {
        margin-left: 0;
    }
}

.jobs__img-wrapper {
    width: 40%;

    @media(max-width: 768px) {
        width: 100%;
    }
}

.jobs__img {
    width: 100%;
    object-fit: cover;
}

.jobs__body {
    width: 60%;
    background-color: rgba(204, 252, 161, 0.3);
    padding: 12px 48px 73px 86px;
    border-radius: 16px;
    margin-top: 24px;
    margin-left: -24px;
    position: relative;
    z-index: -1;

    @media(max-width: 768px) {
        width: 100%;
        margin-top: 0;
        margin-left: 0;
        flex-grow: 1;
        padding: 20px;

    }
}

.jobs__media--reverse .jobs__body {
    margin-left: 0;
    padding: 12px 86px 73px 48px;

    @media(max-width: 768px) {
        padding: 20px;

    }
}

.jobs__number {
    color: var(--green-accent);
    /* 48px 20px */
    font-size: clamp(1.25rem, 0.634rem + 2.629vw, 3rem);
    font-weight: 900;
    letter-spacing: 0.06em;
}

.jobs__title {
    color: var(--green-accent);
    /* 24px 20px */
    font-size: clamp(1.25rem, 1.162rem + 0.376vw, 1.5rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    border-bottom: 1px solid #000;
    padding-bottom: 26px;
}

.jobs__text {
    font-size: calc(16 / var(--root-font-size) * 1rem);
    line-height: 1.9375;
    letter-spacing: 0.06em;
}

/* case

====================================================*/

.case {
    padding: 92px 0 108px;

    @media(max-width: 768px) {
        padding: 50px 0 80px;
    }
}

.case__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    margin-top: 56px;

    @media(max-width: 1040px) {
        grid-template-columns: repeat(2, 1fr);
    }

    @media(max-width: 768px) {
        margin-top: 30px;
    }

    @media(max-width: 540px) {
        grid-template-columns: 1fr;
    }

}

.case__item {
    position: relative
}

.case__body {
    color: #fff;
    width: 100%;
    background-color: rgba(54, 51, 51, 0.6);
    position: absolute;
    bottom: 0;
    padding: 23px 10px 13px 27px;
}

.case__title,
.case__item-sub {
    font-weight: 500;
    letter-spacing: 0.06em;
}

.case__list-sub {
    display: flex;
    flex-direction: row;
    gap: 32px;
}

/* culture

====================================================*/

.culture {
    background-image: url('https://recruit.sugawaradenko-corp.jp/wp-content/uploads/2025/05/culture-bg.webp');
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 90% 100%;
    height: 746px;
    padding: 30px 0;
    margin: 30px 0;

    @media(max-width: 1040px) {
        height: 600px;
    }

    @media(max-width: 768px) {
        background-size: cover;
    }
}

.slick-track {
    display: flex;
}

.slick-slide {
    height: auto !important;
}

.culture__slider {
    overflow: hidden;
    margin-top: 52px;

    @media(max-width: 768px) {
        margin-top: 30px;
    }

}

.culture__item {
    width: 100%;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-items: center;
    background-color: rgba(247, 247, 247, 0.95);
    border-radius: 8px;
    box-shadow: var(--box-shadow);
    /* padding: 40px 24px 48px; */
    padding: clamp(24px, 4vw, 40px) clamp(16px, 3vw, 24px) clamp(32px, 5vw, 48px);
    margin-right: 20px;
}

.culture__head {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 9px;
}

.culture__number {
    color: var(--green-accent);
    /* 48px 25px */
    font-size: clamp(1.563rem, 1.056rem + 2.16vw, 3rem);
    font-weight: 700;
}

.culture__title {
    /* 28px 20px */
    font-size: clamp(1.25rem, 1.074rem + 0.751vw, 1.75rem);
    font-weight: 700;
    letter-spacing: 0.06em;
}

.culture__title--small {
    /* 24px 16px */
    font-size: clamp(1rem, 0.824rem + 0.751vw, 1.5rem);
}

.cuslture__title--x-small {
    /* 22px 16px */
    font-size: clamp(1rem, 0.868rem + 0.563vw, 1.375rem);
}

.culture__icon-wrapper {
    width: max(9.722222vw, 100px);
    aspect-ratio: 1;
    margin-top: 58px;
}

.culture__icon {
    width: 100%;
    height: auto;
}

.culture__body {
    margin-top: 40px;
}

/* スライダー arrow */

.slick-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2 !important;
    width: 60px !important;
    height: 60px !important;
    background-color: #4A9E00 !important;
    border-radius: 50%;

    @media(max-width: 768px) {
        width: 30px !important;
        height: 30px !important;
    }
}

.slick-next {
    right: 100px !important;

    @media(max-width: 768px) {
        right: 0 !important;
    }
}

.slick-prev {
    left: 100px !important;

    @media(max-width: 768px) {
        left: 0 !important;
    }
}

.slick-arrow:before {
    content: "" !important;
    width: 15px !important;
    height: 15px !important;
    border-top: 3px solid #fff !important;
    border-right: 3px solid #fff !important;
    transform: rotate(45deg) !important;

    @media(max-width: 768px) {
        width: 10px !important;
        height: 10px !important;
    }
}

.slick-next:before {
    transform: rotate(45deg) !important;
}

.slick-prev:before {
    transform: rotate(224deg) !important;
}


/* Number

====================================================*/

.number {
    background-color: #59b706;
    padding: 80px 0;

    @media(max-width: 768px) {
        padding: 50px 0;
    }
}

.number__inner {
    width: min(100% - 40px, 1092px);
    margin-inline: auto;
    padding: 100px 0;
}



.number__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;

    @media(max-width: 1040px) {
        grid-template-columns: repeat(2, 1fr);
    }

    @media(max-width: 768px) {
        grid-template-columns: 1fr;
        justify-content: center;
        align-items: center;
        gap: 50px;
    }

}

.number__item {
    color: #fff;
    display: grid;
    grid-template-areas:
        "img text-area"
        "img text-area";
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;

    @media(max-width: 768px) {
        place-self: center;
    }
}

.number__img-wrapper {
    grid-area: img;
    width: 70%
}

.number__img {
    width: 100%;
}

.number__body {
    width: fit-content;
    grid-area: text-area;
    display: flex;
    flex-direction: column;
}

.number__title {
    grid-area: title;
    font-size: 20px;
}

.number__text {
    grid-area: text;
    font-size: 64px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
}



.number__text-small {
    font-size: 20px;
    font-weight: 500;
}

.number__text--postiion-left {
    margin-right: auto;
}

.number__text--postiion-right {
    margin-left: auto;
}


.number__item01 {
    color: #fff;
    display: grid;
    grid-template-areas:
        "img title"
        "img text-area";
    grid-template-columns: auto auto;
    grid-template-rows: auto auto;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;

    @media(max-width: 768px) {
        place-self: center;
        grid-template-areas:
            "img img"
            "title title"
            "text-area text-area";
        grid-template-columns: auto auto;
        grid-template-rows: auto auto auto;
        gap: 15px;
    }
}

.number__item01 .number__title {
    align-self: end;
}

.number__item01 .number__body {
    align-self: end;

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item01 .number__img-wrapper {
    grid-area: img;
    width: 80%;
    align-self: flex-end;

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item01 .number__text--postiion-left {
    @media(max-width: 768px) {
        margin-left: auto;
        margin-right: auto;
    }
}

.number__item02 {
    color: #fff;
    display: grid;
    grid-template-areas:
        "img title"
        "img text";
    grid-template-columns: 70% 30%;
    grid-template-rows: auto auto;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;

    @media(max-width: 768px) {
        grid-template-areas:
            "img img"
            "title title"
            "text text";
        grid-template-columns: auto auto;
        grid-template-rows: auto auto auto;
        place-self: center;
        gap: 15px;
    }
}

.number__item02 .number__img-wrapper {
    grid-area: img;
    width: 100%;
}

.number__item02 .number__title {
    align-self: end;

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item02 .number__text {
    align-self: end;

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item03 {
    color: #fff;
    display: grid;
    grid-template-areas:
        "img title"
        "img text";
    grid-template-columns: 50% 50%;
    grid-template-rows: auto;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;

    @media(max-width: 768px) {
        place-self: center;
        grid-template-areas:
            "img img"
            "title title"
            "text text";
        grid-template-columns: auto auto;
        grid-template-rows: auto auto auto;
        gap: 15px;
    }
}

.number__item03 .number__img-wrapper {
    grid-area: img;
    width: 100%
}

.number__item03 .number__title {
    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item03 .number__text {
    align-self: end;
    justify-self: end;

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item04 {
    color: #fff;
    display: grid;
    grid-template-areas:
        "img title"
        "img text";
    grid-template-columns: 45% 45%;
    grid-template-rows: auto auto;
    gap: 30px;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;

    @media(max-width: 768px) {
        grid-template-areas:
            "img img"
            "title title"
            "text text";
        grid-template-columns: auto;
        grid-template-rows: auto auto auto;
        place-self: center;

    }
}

.number__item04 .number__img-wrapper {
    grid-area: img;
    width: 100%
}

.number__item04 .number__title {
    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item04 .number__text {

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item05 {
    color: #fff;
    display: grid;
    grid-template-areas:
        "img title"
        "img text";
    grid-template-columns: 50% 50%;
    grid-template-rows: auto;
    gap: 30px;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;

    @media(max-width: 768px) {
        grid-template-areas:
            "img img"
            "title title"
            "text text";
        grid-template-columns: auto auto;
        grid-template-rows: auto auto auto;
        gap: 15px;
        place-self: center;
    }
}

.number__item05 .number__img-wrapper {
    grid-area: img;
    width: 100%
}

.number__item05 .number__title {
    align-self: end;

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item05 .number__text {

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item06 {
    color: #fff;
    display: grid;
    grid-template-areas:
        "title title"
        "img text-area"
        "img text-area";
    grid-template-columns: 50% 50%;
    grid-template-rows: auto auto auto;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;

    @media(max-width: 768px) {
        grid-template-areas:
            "img img"
            "title title"
            "text-area text-area";
        grid-template-columns: auto auto;
        grid-template-rows: auto auto auto;
        place-self: center;
        gap: 15px;
    }
}

.number__item06 .number__title {
    justify-self: center;
}

.number__item06 .number__img-wrapper {
    width: 70%;
    justify-self: center;
    align-self: end;
}

.number__item06 .number__body {
    align-self: end;

    @media(max-width: 768px) {
        justify-self: center;
    }
}

.number__item07 {
    width: fit-content;
    color: #fff;
    display: grid;
    grid-template-areas:
        "img title title"
        "img text01 text02"
        "img text03 text04";
    grid-template-columns: 30% auto auto;
    grid-template-rows: 30% auto auto;
    border-bottom: 1px solid #fff;
    padding: 0 10px 25px;
    margin-top: 30px;

    @media(max-width: 1040px) {
        grid-template-areas:
            "img title"
            "img text01"
            "img text02"
            "img text03"
            "img text04";
        grid-template-columns: 40% auto;
        grid-template-rows: auto auto;
    }

    @media(max-width: 768px) {
        place-self: center;
        grid-template-areas:
            "img img"
            "title title"
            "text01 text01"
            "text02 text02"
            "text03 text03"
            "text04 text04";
        grid-template-columns: auto auto;
        grid-template-rows: auto auto auto auto auto;
        gap: 15px;
    }
}

.number__text--middle {
    font-size: 40px;
}

.number__text01 {
    grid-area: text01;
}

.number__text02 {
    grid-area: text02;
}

.number__text03 {
    grid-area: text03;
}

.number__text04 {
    grid-area: text04;
}

.number__br-sp {
    display: none;
     @media(max-width: 1040px) {
        display: block;
    }

    @media(max-width: 768px) {
        display: none;
    }
}

.number__item07 .number__img-wrapper {
    grid-area: img;
    width: 70%;

    @media(max-width: 768px) {
        width: 100%;
    }
}

/* interview

====================================================*/

.interview {
    width: min(100% - 40px, 1200px);
    margin-inline: auto;
    padding: 80px 0 78px;
}

.interview__items {
    width: 70vw;
    display: flex;
    flex-direction: row;
    gap: 30px;
    margin-top: 18px;
    margin-left: auto;

    @media(max-width: 768px) {
        flex-direction: column;
        margin-right: auto;
    }
}

.interview__items--center {
	margin-inline: auto;
}

.interview__item {
    position: relative;
    width: fit-content;
}

.interview__head {
    text-align: center;
    font-family: var(--accent-font-family);
    color: #fff;
    font-size: calc(18 / var(--root-font-size) * 1rem);
    font-weight: 700;
    letter-spacing: 0.06em;
    display: grid;
    place-content: center;
    width: 82px;
    aspect-ratio: 1;
    background-color: var(--green-accent);
    border-radius: 50%;
    position: absolute;
    top: 0;
}

.interview__text {
    width: 100%;
    color: #fff;
    background-color: rgba(67, 67, 67, 0.7);
    position: absolute;
    bottom: 0;
    padding: 9px 10px 14px 27px;
}

.recruit--interviews {
	padding: 160px 0 65px;
}

/* guideline

====================================================*/

.guideline {
    padding: 80px 0;
}

.guideline__inner {
    width: min(100% - 40px, 1200px);
    display: grid;
    grid-auto-flow: column;
    gap: 24px;
    margin-top: 48px;
    margin-inline: auto;

    @media(max-width: 768px) {
        grid-auto-flow: row;
    }
}

.guideline__item {
    display: grid;
    grid-template-rows: auto auto;
}

.guideline__body {
    width: 95%;
    background-color: #fff;
    box-shadow: var(--box-shadow);
    justify-self: flex-end;
    border-radius: 8px;
    padding: 29px 21px 35px;
    margin-top: -41px;
}

.guideline__title {
    color: var(--green-accent);
    /* 20px 18px */
    font-size: clamp(1.125rem, 1.081rem + 0.188vw, 1.25rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.04em;
}

.guideline__text {
    font-weight: 500;
    margin-top: 18px;
}

/* 菅原電工を知る

====================================================*/

.top-message {
    width: min(100% - 40px, 1129px);
    margin-inline: auto;
    margin-top: 97px;

    @media(max-width: 768px) {
        margin-top: 50px;
    }
}

.top-message>.wp-block-group__inner-container {
    display: flex;
    flex-direction: row-reverse;

    @media(max-width: 768px) {
        flex-direction: column;
    }
}

.top-message__img {
    width: 40%;

    @media(max-width: 768px) {
        width: 100%
    }
}

.top-message__desc {
    width: 60%;
    background-color: rgba(103, 212, 7, 0.5);
    border-radius: 10px;
    padding: 2.29% 3.54% 2.57% 3.54%;
    margin-right: -20px;
    margin-top: 20px;
    position: relative;
    z-index: 1;

    @media(max-width: 768px) {
        width: 100%;
        margin-right: 0;
        margin-top: 0;
    }
}

.top-message__title {
    border-bottom: 1px solid #162C01;
    padding-bottom: 22px;
}

.top-message__title-main {
    color: #fff;
    font-size: clamp(1.875rem, 1.523rem + 1.502vw, 2.875rem);
    letter-spacing: 0.06em;
    font-weight: bold;
    font-style: italic;
    line-height: 1;
    font-family: var(--accent-font-family);
}

.top-message__title-sub {
    font-weight: bold;
    line-height: 1.9375;
    letter-spacing: 0.06em;
}

.top-message__text {
    margin-top: 27px;
    line-height: 1.9375;
    letter-spacing: 0.06em;
}

.top-message__name {
    line-height: 1.9375;
    letter-spacing: 0.06em;
    margin-top: 36px;

    @media(max-width: 768px) {
        margin-top: 20px;
    }
}

/* 菅原電工を知る philosophy

====================================================*/

.philosophy {
    background-image: url('../img/philosophy-bg.webp');
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 950px;
    padding-top: 80px;
    position: relative;

    @media(max-width: 768px) {
        height: 1200px;
    }

    &::after {
        content: '';
        background-image: url('../img/philosophy-deco01.webp');
        background-repeat: no-repeat;
        background-size: cover;
        display: inline-block;
        width: 214px;
        height: 207px;
        position: absolute;
        bottom: 0;
        right: 10%;

        @media(max-width: 768px) {
            width: 100px;
            height: 97px;
            bottom: 15%;
        }
    }
}

.philosophy>.wp-block-group__inner-container {
    width: min(100% - 40px, 900px);
    margin-inline: auto;
}

.philosophy__text-area {
    margin-top: 50px;
}

.philosophy__title {
    width: fit-content;
    font-size: calc(18 / var(--root-font-size) * 1rem);
    border-bottom: 1px solid #000;
    padding-bottom: 22px;

    @media(max-width: 768px) {
        margin-inline: auto;
    }
}

.philosophy__inner>.wp-block-group__inner-container {
    display: flex;
    flex-direction: row-reverse;
    gap: 25px;

    @media(max-width: 768px) {
        flex-direction: column;
    }
}

.philosophy__img>img {
    width: 100%;
    border-radius: 10px;
}

.philosophy__list {
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 80%;
    list-style-type: decimal !important;
    margin-top: 20px;
    margin-left: 20px;

    @media(max-width: 768px) {
        margin-left: 50px;
    }
}

/* 菅原電工を知る company

====================================================*/

.company {
    margin-top: -150px;
	margin-bottom: 227px;
  position: relative;
  z-index: 1;
	 @media(max-width: 768px) {
        margin-bottom: 90px;
    }
}

.company__list {
    width: min(100% - 40px, 880px);
    margin-inline: auto;
    margin-top: 80px;

    @media(max-width: 768px) {
        margin-top: 30px;

    }
}

.company__item {
    display: grid;
    grid-template-columns: 20% 80%;
    grid-template-rows: auto;

    @media(max-width: 768px) {
        grid-template-columns: auto;
        grid-template-rows: auto auto;
    }

    &:not(:last-child) {
        border-bottom: 1px dotted #000;
    }
}

.company__head {
    color: #fff;
    font-size: calc(17 / var(--root-font-size) * 1rem);
    background-color: #8fd14f;
    padding: 17px 30px 23px;
}

.company__text {
    font-size: calc(17 / var(--root-font-size) * 1rem);
    font-weight: bold;
    padding: 17px 30px 23px 80px;

    @media(max-width: 768px) {
        padding: 17px 30px 23px;
    }
}

/* 菅原電工を知る jobs

====================================================*/

.jobs-cards {
    width: min(100% - 40px, 1196px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    height: 100%;
    margin-top: 48px;

    @media(max-width: 960px) {
        grid-template-columns: repeat(2, 1fr);
    }

    @media(max-width: 540px) {
        grid-template-columns: auto;
        margin-top: 30px;
    }
}

.jobs-card {
    background-color: #4A9E00;
    border-radius: 8px;
    padding: 26px 14px 32px 16px;
}

.jobs-card__img {
    width: 100%;
    object-fit: cover;
}

.jobs-card__title {
    text-align: center;
    color: #fff;
    font-weight: 700;
    margin-top: 20px;
}

.jobs-card__text {
    color: #fff;
    font-size: calc(14 / var(--root-font-size) * 1rem);
    font-weight: 500;
    line-height: 1.714;
    margin-top: 12px;
}

/* entry

====================================================*/

.entry {
	padding: 80px 0;
	@media(max-width: 768px) {
		padding: 50px 0;
	}
}

/* インタビュー詳細

====================================================*/

.interview-thumbnail__container {
    background-color: #f3f3f3;
    padding: 83px 0 70px;
}

.interview-thumbnail__inner {
    width: min(100% - 40px, 680px);
    margin-inline: auto;
}

.interview-thumbnail__wrapper {
    position: relative;
}

.interview-thumbnail__caption {
    font-family: var(--interview-font-family);
    color: #fff;
    line-height: 1;
    /* 67px 35px */
    font-size: clamp(2.188rem, 1.483rem + 3.005vw, 4.188rem);
    position: absolute;
    bottom: -2%;
}

.interview__title-area {
    width: 28%;
    border-bottom: 2px solid #67d407;
    padding-bottom: 8px;
    margin-top: 60px;
}

.interview-meta {
    font-weight: bold;
    display: flex;
    flex-direction: row;
    gap: 20px;
	@media(max-width: 768px) {
        flex-direction: column;
		gap: 5px;
    }
}

.interview__title {
    font-size: clamp(1.25rem, 1.140rem + 0.469vw, 1.563rem);
    font-weight: bold;
    margin-top: 15px;
}

.interview__inner {
    width: min(100% - 40px, 845px);
    margin-inline: auto;
    padding-top: 32px;
}

.interview__inner h2 {
	word-break: auto-phrase;
    font-size: clamp(1.563rem, 1.452rem + 0.469vw, 1.875rem);
    font-weight: bold;
    padding: 50px 0;
    margin-bottom: 57px;
    position: relative;
	@media(max-width: 768px) {
        padding: 25px 0;
    }

    &::before {
        content: '';
        display: inline-block;
        width: 15px;
        height: 40px;
        border-top: 3px solid;
        border-left: 3px solid;
        position: absolute;
        top: 0;
        left: -10px;
    }

    &::after {
        content: '';
        display: inline-block;
        width: 15px;
        height: 40px;
        border-bottom: 3px solid;
        border-right: 3px solid;
        position: absolute;
        right: -10px;
        bottom: 0;
    }
}

.interview__inner h3 {
    color: var(--green-accent);
    font-size: clamp(1rem, 0.956rem + 0.188vw, 1.125rem);
    font-weight: 700;
    margin-bottom: 15px;
}

.interview__inner h4 {
    color: #716e6e;
    font-size: clamp(1rem, 0.956rem + 0.188vw, 1.125rem);
    font-weight: 700;
    margin-bottom: 15px;
}

.interview__inner h5 {
    font-size: clamp(1.75rem, 1.662rem + 0.376vw, 2rem);
    font-weight: 700;
    margin-bottom: 29px;
}

.interview__inner h6 {
    font-size: clamp(1.25rem, 1.162rem + 0.376vw, 1.5rem);
	margin-bottom: 32px;
}


.wp-block-image>figure {
    width: 100%;
}

.wp-block-image img {
    width: 100%;
    margin-inline: auto;
}

.interview__inner p {
    line-height: max(0.8em, 2em);
    margin-top: 37px;
}

.wp-block-separator {
    margin: 38px 0;
}

.interview__btn {
    text-align: center;
    width: 223px;
    max-width: 100%;
    margin: 24px auto 47px;
}

.interview__btn-link {
    color: var(--green-accent);
    display: inline-block;
    width: 100%;
    border: 2px solid var(--green-accent);
    border-radius: calc(infinity * 1px);
    padding: 7.5px 0;
    transition: all 0.3s ease-in-out;

    &:hover {
        color: #fff;
        background-color: var(--green-accent);
        opacity: 1;
    }
}

.interview-session__heading {
	font-size: clamp(1.75rem, 1.662rem + 0.376vw, 2rem) !important;
}

.interview-color01 {
	color: #0a4fce;
}

.interview-color02 {
	color: #407C51;
}

.interview-color03 {
	color: #8015e8;
}