@charset "UTF-8";
:root {
  --sbsred: #b9103c;
  --sbsorange: #E55A00;
  --bgOrange: #fceee5;
  --ttl-contents-title: 40px;
  --ttl-lineheight: calc(58/40);
}

.u-sbsred{
  color: var(--sbsred);
}
/*----- base-font-family -----*/
.c-pagetop {
  width: 100%;
  height: 46px;
}
.c-pagetop a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: #4A4A4A;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
}
.c-pagetop a::before {
  content: "\e906";
  font-size: 2rem;
  font-family: "icomoon";
  font-weight: 400;
  margin-right: 16px;
}
@media (min-width: 1256px) {
  .c-pagetop a:hover {
    opacity: 0.8;
  }
}

.l-footer__copyright {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 46px;
  font-size: 1.2rem;
  color: #fff;
  background: #111111;/* linear-gradient(135deg, #B9103C 0%, #E55A00 100%)*/
}
@media (max-width: 1255px) {
  .l-footer__copyright {
    height: 38px;
  }
}


.l-header {
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.44);
  background: #fff;
  transition: 0.3s all;
  z-index: 9999;
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  height: 100%;
  position: relative;
}
@media (max-width: 767px) {
  .l-header__inner {
    flex-wrap: nowrap;
    /* padding-top: 32px; */
    /* height: 82px; */
  }
}
@media (min-width: 1256px) {
  .-scroll .l-header__inner {
    align-items: center;
  }
}
.l-header__logo {
  padding: 15px 18px 14px;
}
.l-header__logo a {
  display: flex;
  align-items: center;
  max-width: 300px;
}
.l-header__logo img {
  transition: 0.3s all;
  width: 100%;
  height: auto;
}
.l-header__logo img:last-child {
  display: none;
}
.l-header:not(.-scroll) .l-header__logo img {
  display: block;
}
.l-header:not(.-scroll) .l-header__logo img:first-child {
  display: none;
}
@media (min-width: 1256px) {
  .-scroll .l-header__logo {
    padding-top: 0px;
  }
  .-scroll .l-header__logo a {
    max-width: 220px;
  }
  .l-header__logo a:hover {
    opacity: 0.8;
  }
}
@media (max-width: 1255px) {
  .l-header__logo {
    flex: 1 0 0%;
    padding: 16px 20px;
  }
  .l-header__logo a {
    max-width: 228px;
  }
}
@media (max-width: 767px) {
  .l-header__logo {
    padding: 15px 18px 14px;
  }
  .l-header__logo a {
    max-width: 157px;
  }
}

/* button */
.l-btns.js-scroll-btn {
  position: fixed;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  transition: .3s ease;
  width: 89.84%;
  max-width: 690px;
  aspect-ratio: 690 / 119;
  opacity: -1;
  .l-btns__item{
    width: 100%;
    margin: 0 auto;
    .c-btn{
      position: relative;
      transition: 0.3s all;
      font-size: min(4.17vw, 32px);
      aspect-ratio: 690 / 119;
    }
  }
}
@media (max-width: 767px) {
  .c-btn {
    font-size: 1.6rem;
  }
}
.c-card__img{
  aspect-ratio: 151/81;
}

/* ======================== *
 LP：新卒採用
 * ======================== */
.frlgrct-main{
  max-width: 768px;
  margin-left: auto;
  margin-right: auto;
  font-size: min(3.13vw, 2.4rem);
  line-height: calc(36 / 24);
  /* background: url(/image/lp_design.jpg)no-repeat top left / cover; */
}
.frlgrct-main img{
  width: 100%;
  max-width: 100%;
  height: auto;
}
.c-text-card{
  background: var(--bgOrange);
}
.c-btn.-entry {
  background: linear-gradient(to left, #F68306, #DD1F01);
  color: #fff;
  border: none;
  justify-content: center;
  &::before{
    /* background: linear-gradient(to right, #F68306, #DD1F01); */
    background: rgba(255,255,255, 0.3);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
  }
}
.l-contents-title{
  width: 88.5%;
  /* max-width: 595px; */
  /* height: 98px; */
  background: linear-gradient(236deg, rgba(229,90,0,1) 0%, rgba(185,16,60,1) 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(5.21vw, 4rem);
  font-weight: 500;
  line-height: 1.45;
  margin-top: 6.2%;
  padding: 2.6% 0 3%;
  position: relative;
  color: #fff;
  &::before{
    content: "";
    position: absolute;
    width: 14.71%;
    max-width: 100px;
    height: auto;
    aspect-ratio: 10/11;
    bottom: 35.4%;
    left: calc(100% - 6.6%);
    background: url(/image/frlgrct_contents_title_left.png)no-repeat top left / contain;
    mix-blend-mode: multiply;
  }
  &.-right{
    margin: 0 0 0 auto;
    &::before{
      bottom: 24.2%;
      left: -9.2%;
      background: url(/image/frlgrct_contents_title_right.png) no-repeat top left / contain;
    }
  }
}
.top-entry{
  padding: 6.4% 0 6.1%;
  font-weight: bold;
  line-height: calc(35 / 24);
  letter-spacing: 0;
}
/* l-message
======================== */
.l-message{
  width: 100%;
  padding:0 8.1% 5.8%;
  letter-spacing: 0;
  background: url(/image/frlgrct_bg_read.png) no-repeat center center / cover;
  .c-title__message{
    width: 38%;
    padding: 8.9% 0 5.1%;
  }
  p{
    line-height: 1.5;
    letter-spacing: 0;
    + p{
      margin-top: calc(1em*1.5);
    }
  }
}

/* l-anchorlink
======================== */
.l-anchorlink{
  width: 100%;
  padding: 10.4% 0 4.3%;
}
.c-anchorlink__list{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px min(6.51vw, 51px);
  li{
    position: relative;
    a{
      color: var(--sbsorange);
      font-size: min(4.69vw, 3.6rem);
      font-weight: 500;
      line-height: calc(52/36);
      &::after{
        content: "";
        width: min(7.29vw, 56px);
        height: auto;
        aspect-ratio: 1 / 1;
        background: url(/image/frlgrct_arrow_down.svg) no-repeat center center / 50%;
        background-color: var(--bgOrange);
        border-radius: 50%;
        display: block;
        margin: auto;
        padding: 0 1.82vw;
        text-align: center;
      }
    }
  }
}

/* work
======================== */
#work{
  .l-case{
    .c-title__case{
      font-size: min(5.21vw, 4rem);
      font-weight: 500;
      line-height: 1.45;
      margin: 0 0 3%;
      padding-top: 3.4%;      
    }
    .c-text-card{
      width: 47.89%;
      height: auto;
      aspect-ratio: 340/435;
      /* padding: 20px 3.26% 20px 3.39%; */
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      &::before{
        content: "";
        position: absolute;
        width: 100%;
        height: auto;
        aspect-ratio: 68 / 87;
        background: var(--bgOrange);
        top: 0;
        left: 0;
        display: block;
        z-index: 1;
      }
      &::after{
        content: "";
        position: absolute;
        width: 100%;
        height: auto;
        aspect-ratio: 68 / 87;
        background: url(/image/frlgrct_bg_work_textbox.png) no-repeat top left;
        bottom: -4.8%;
        right: -5.4%;
        display: block;
        mix-blend-mode: multiply;
      }
      p{
        width: 85%;
        font-size: min(3.13vw, 2.4rem);
        line-height: calc(40/24);
        letter-spacing: -0.02em;
        /* font-feature-settings: "palt" 1; */
        z-index: 1;
      }
    }
    &.case01{
      width: 92.45%;
      margin: 6.6% 0 1.4% auto;
      background: url(/image/frlgrct_bg_work_case01.png) no-repeat top right / contain;
      /* padding-bottom: 51.5px; */
      aspect-ratio: 710 / 641;
      /* .c-box__text{
        margin-left: 7.55%;
      } */
    }
    &.case02{
      margin-top: 1.1%;
      background: url(/image/frlgrct_bg_work_case02.png) no-repeat top left / contain;
      padding: 5% 0 11.4%;
      .c-title__case {
        width: 81%;
        font-size: min(5.21vw, 4rem);
        font-weight: 500;
        line-height: 1.45;
        margin: 0 0 4.6%;
        padding-top: 3.4%;
        text-align: center;
      }
      .c-box__text{
        margin-left: 45.3%;
      }
      .c-text-card{
        width: 81%;
      }
    }
  }
}

/* senior
======================== */
#senior{
  margin-top: 15.6%;
  .l-contents-title{
    margin-bottom: 10%;
  }
  .inner{
    .l-case{
      &:not(:last-child){
        &::after{
          content:"";
          display: block;
          width: 100%;
          height: auto;
          aspect-ratio: 768/191;
          margin: 60px auto 90px;
        }
        &:nth-child(even){
          &::after{
            background: url(/image/frlgrct_senior_case_line02.png)no-repeat top center / 100%;
          }
        }
        &:nth-child(odd){
          &::after{
            background: url(/image/frlgrct_senior_case_line01.png)no-repeat top center / 100%;
          }
        }
      }
      &:last-child{
        margin-bottom: 100px;
      }
    }
  }
  figure{
    text-align: center;
    figcaption{
      margin-bottom: 3.8%;
      letter-spacing: 0;
    }
    picture{
      width: 100%;
      display: inline-block;
    }
  }
  .l-card-list{
    padding: 7.4% 0 5.21%;
    overflow: hidden;
  }
  .c-card{
    width: 90.36%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    position: relative;
    padding: 5.4% 0 4.6%;
    background: var(--bgOrange);
    box-shadow: 8px 8px 20px 0 rgba(0, 0, 0, 0.12);
    + .c-card{
      margin-top: 7.4%;
    }
    &:first-child{
      &::after{
        content: "";
        position: absolute;
        width: min(70.05vw, 538px);
        height: auto;
        aspect-ratio: 1/1;
        background: url(/image/frlgrct_bg_textbox_r.png)no-repeat top left / contain;
        top: min(16.02vw, 123px);
        right: calc((-100% + 90.36%)/2);
        z-index: -1;
      }
    }
    &:nth-child(2){
      &::after{
        content: "";
        position: absolute;
        width: min(59.64vw, 456px);
        height: auto;
        aspect-ratio: 1/1;
        background: url(/image/frlgrct_bg_textbox_l.png)no-repeat top left / contain;
        top: min(27.47vw, 211px);
        left: calc((-100% + 90.36%)/2);
        z-index: -1;
      }
    }
    .c-title__case{
      content: "";
      position: absolute;
      background: #fff;
      top: -7.4%;
      font-weight: 500;
      padding: 1.5% 3% 1%;
      border: #B9103C solid 2px;
      font-weight: 600;
      border-radius: 30px;
    }
    .c-text{
      width: 90.06%;
      p{
        line-height: 1.5;
        letter-spacing: 0;
        font-feature-settings: "palt" 1;
      }
    }
    &:nth-child(2){
      padding: 6.4% 0 6.25%;
      .c-title__case{
        top: -3.8%;
      }
    }
  }
}


/* top-schedule
======================== */
.l-schedule{
  .top-contents-title{
    width: 46.48%;
    text-align: center;
    aspect-ratio: 357 / 101;
    margin: 13.2% auto 0;
    font-size: unset;
    line-height: 0;
    font-weight: unset;
  }
}
.timeschedule{
  width: 100%;
  max-width: 800px;
  margin: auto;
  .list{
    margin: 3% 0 0 9.4%;
    li{
      font-size: min(3.65vw, 2.8rem);
      line-height: calc(60/28);
    }
    > li{
      display: flex;
      position: relative;
      padding-left: 12.0%;
      .schedule{
        margin-left: 1em;
      }
      &:not(:first-child,:last-child){
        &::before{
          content: " ";
          position: absolute;
          width: 2px;
          height: 100%;
          background: var(--sbsred);
          left: 3.19%;
          top: 0;
          transform: translateX(-50%);
        }
        &:nth-child(2){
          &::before{
            width: 2px;
            height: calc(100% -((3.65vw*(60 / 28) - 3.65vw) / 2));
            top: calc(((3.65vw*(60 / 28) - 3.65vw) / 2));
          }
        }
        &:nth-last-of-type(-n+2){
          &::before{
            width: 2px;
            height: calc(((3.65vw*(60 / 28)) / 2) / 2);
            top: 0;
          }
        }
        .time{
          /* min-width: 14%;
          margin-right: 1em; */
          &::before{
            content: " ";
            position: absolute;
            width: 2.6%;
            height: auto;
            background: var(--sbsred);
            left: 1.9%;
            top: calc(((3.65vw*(60/28) - 3.65vw)/2));
            transform: translateY(calc(((-3.65vw*(60/28)/2 + 3.65vw)/2)));
            aspect-ratio: 1 / 1;
            border-radius: 50%;
          }
        }
      }
      &:first-child {
        .time{
          /* width: 14%; */
          /* margin-right: 1em; */
          &::before{
            content: " ";
            position: absolute;
            width: 5.6%;
            height: auto;
            background: url(/image/frlgrct_icon_sun.svg)no-repeat center center / cover;
            left: 0.7%;
            top: 26%;
            aspect-ratio: 1 / 1;
            border-radius: 50%;
          }
        }
      }
      &:last-child {
        .time{
          /* width: 14%;
          margin-right: 1em; */
          &::before{
            content: " ";
            position: absolute;
            width: 5.6%;
            height: auto;
            background: url(/image/frlgrct_icon_bag.svg) no-repeat center center / cover;
            left: 0.7%;
            top: 26%;
            aspect-ratio: 1 / 1;
            /* border-radius: 50%; */
          }
        }
      }
    }
  }
  .list-disc{
    margin-left: -2em;
    li{
      /* padding-left: 1em; */
      position: relative;
      &::before{
        content: "・";
        width: 1em;
        height: 100%;
        font-weight: bold;
      }
    }
  }
}

/* job-description
======================== */
#job-description{
  dl{
    width: 90.36%;
    display: grid;
    grid-template-columns: 31.99% 1fr;
    font-size: min(3.13vw, 2.4rem);
    line-height: calc(60/24);
    margin: 44px auto 147px;
    dt{
      font-weight: 600;
      color: var(--sbsred);
      position: relative;
      margin-left: 4.1rem;
      &::before{
        content: "";
        position: absolute;
        width: 1px;
        height: 100%;
        top: 0;
        left: 100%;
        background: var(--sbsred);
      }
    }
    dd{
      padding-left: 3.8rem;
      span{
        line-height: calc(40 / 24);
        display: inline-block;
        margin-top: calc(((2.4rem*(60 / 24) - 2.4rem) / 2) - ((2.4rem*(40 / 24) - 2.4rem) / 2));
        letter-spacing: 0;
      }
    }

  }
}

/* company-overview
======================== */
#company-overview{
  dl{
    width: 90.36%;
    display: grid;
    grid-template-columns: 25.94% 1fr;
    font-size: min(3.13vw, 2.4rem);
    line-height: calc(60/24);
    margin: 44px auto 147px;
    dt{
      font-weight: 600;
      color: var(--sbsred);
      position: relative;
      margin-left: 4.1rem;
      &::before{
        content: "";
        position: absolute;
        width: 1px;
        height: 100%;
        top: 0;
        left: 100%;
        background: var(--sbsred);
      }
    }
    dd{
      padding-left: 3.8rem;
      span{
        line-height: calc(40 / 24);
        display: inline-block;
        margin-top: calc(((2.4rem*(60 / 24) - 2.4rem) / 2) -((2.4rem*(40 / 24) - 2.4rem) / 2));
      }
    }

  }
}
.c-faq{
  width: min(79.43vw, 610px); 
  margin: 46px auto 105px;
  > div{
    display: flex;
    flex-wrap: wrap;
    font-size: min(3.13vw, 2.4rem);
    line-height: calc(40/24);
    justify-content: space-between;
    align-items: baseline;
    span{
      width: min(72.4vw, 556px);
      letter-spacing: -0.01em;
    }
  }
  .c-faq__q{
    color: var(--sbsred);
    &::before{
      content: "";
      width: min(3.13vw, 2.4rem);
      height: auto;
      background: url(/image/frlgrct_icon_q.svg) no-repeat top left / contain;
      aspect-ratio: 21 / 26;
      display: block;
      position: relative;
      top: calc((2.73vw*(40 / 24) - 3.13vw) / 2);
    }
  }
  .c-faq__a{
    &::before {
      content: "";
      width: min(3.13vw, 2.4rem);
      height: auto;
      background: url(/image/frlgrct_icon_a.svg) no-repeat top left / 100%;
      aspect-ratio: 22 / 21;
      display: block;
      position: relative;
      top: calc((2.73vw*(40 / 24) - 3.13vw) / 2);
    }
    &:not(:last-child){
      &::after {
        content:"";
        width: 100%;
        height: 1px;
        background: #CCC;
        display: block;
        margin: 30px auto;
      }
    }
  }
  
  @media (mim-width: 769px) {
    .c-faq__q{
      &::before{
        top: calc((2.4rem*(40 / 24) - 2.4rem) / 2);
      }
    }
    .c-faq__a{
      &::before {
        top: calc((2.4rem*(40 / 24) - 2.4rem) / 2);
      }
    }
  }
}


/* アニメーションスタイル
======================== */
.u-fade-type-up{
  transform: translateY(50px);
  opacity: 0;
  &.is-active{
    transition: .6s;
    transform: translateY(0);
    opacity: 1;
  }
}

