@charset "utf-8";

/* h要素修正
========================================================================== */
h2 .h2_main {
  display: block;
  font-size: calc(64*100vw/750);
  font-weight: 900;
  letter-spacing: 0.12em;
}
h2 .h2_sub {
  font-size: calc(32*100vw/750);
  letter-spacing: 0.06em;
}

@media screen and (min-width: 751px) {
h2 .h2_main {
  font-size: min(calc(48* 100vw / 1512), 48px);
}
h2 .h2_sub {
  font-size: min(calc(20* 100vw / 1512), 20px);
}
}

/* mv
========================================================================== */
#mv {
  position: relative;
}
#mv .mv__text {
  width: calc(570*100vw/750);
  position: absolute;
  top: calc(849*100vw/750);
  left: calc(56*100vw/750);
  z-index: 10;
}
@media screen and (min-width: 751px) {
  #mv .mv__text {
  width: 65.8vw;
  position: absolute;
  top: 32.2vw;
  left: 10.31vw;
}
}

/* about
========================================================================== */
#about .about__wrap {
  padding-bottom: calc(220*100vw/750);
}
#about .about__text {
  margin-bottom: calc(100*100vw/750);
  font-size: calc(32*100vw/750);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 2.25;
}
#about .link__btn {
    background: var(--color-sub-base);
}

@media screen and (min-width: 751px) {
#about .about__wrap {
  padding-bottom: min(calc(144 * 100vw / 1512), 144px);
}
#about .about__text {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  font-size: min(calc(22 * 100vw / 1512), 22px);
}
}

/* business
========================================================================== */
#business .business__wrap {
  padding: calc(224*100vw/750) 0;
}
#business h2 .h2_main,
#business h2 .h2_sub,
#business .business__headding {
  color: var(--color-base);
}
#business h2 .h2_main {
  display: block;
  font-size: calc(64*100vw/750);
  font-weight: 900;
  letter-spacing: 0.12em;
}
#business h2 .h2_sub {
  font-size: calc(32*100vw/750);
  letter-spacing: 0.06em;
}
#business .business__headding {
  padding: calc(100*100vw/750) 0 calc(120*100vw/750);
}
#business .headding__title {
  margin-bottom: calc(100*100vw/750);
  font-size: calc(56*100vw/750);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.7;
}
#business .headding__desc {
  margin-bottom: calc(96*100vw/750);
  font-size: calc(30*100vw/750);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 2.1;
}
#business .business__slider {
  overflow: hidden;
  margin-bottom: calc(120*100vw/750);
}
#business .slider__list {
  transition-timing-function: linear;
}
#business .slider__item {
  width: calc(520*100vw/750);
  aspect-ratio: 1/1;
}
#business .slider__box {
  height: 100%;
  display: grid;
  grid-template-rows: auto calc(166*100vw/750);
}
#business .slider__upper {
  position: relative;
}
#business .slider__image {
  border-radius: calc(72*100vw/750) 0 0 0;
}
#business .slider__lower {
  display: flex;
  justify-content: center;
  background: var(--color-base);
  border-radius: 0 0 calc(72*100vw/750) 0;
}
#business .slider__logo.-com{
  width: calc(405*100vw/750);
}
#business .slider__logo.-deco{
  width: calc(380*100vw/750);
}
#business .slider__logo.-misara{
  width: calc(166*100vw/750);
}
#business .slider__logo.-aw{
  width: calc(328*100vw/750);
}

/* 実績 */
#business .trackrecord__title {
  margin-bottom: calc(80*100vw/750);
  font-size: calc(44*100vw/750);
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--color-base);
}
#business .trackrecord__container {
  margin-bottom: calc(120*100vw/750);
  display: flex;
  flex-direction: column;
  gap: calc(56*100vw/750) 0;
}
#business .trackrecord__box {
  color: var(--color-base);
}
#business .trackrecord__box-upper {
  margin-bottom: calc(56*100vw/750);
  padding: calc(9*100vw/750) 0;
  font-size: calc(36*100vw/750);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  border-top: calc(3*100vw/750) solid var(--color-base);
  border-bottom: calc(3*100vw/750) solid var(--color-base);
}
#business .trackrecord__box-lower {
  font-size: calc(140*100vw/750);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 calc(6*100vw/750);
}
#business .trackrecord__box-lower span {
    font-size: calc(48*100vw/750);
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.1;
}
#business .trackrecord__box-cation {
  font-size: calc(20*100vw/750);
  letter-spacing: 0.08em;
  text-align: end;
}


@media screen and (min-width: 751px) {
#business .business__wrap {
  padding: 9.52vw 0;
}
#business .section__bg {
  width: calc(100% - min(calc(156 * 100vw / 1512), 10.32vw));
  right: 0;
  margin-left: auto;
}
#business h2 {
  padding-left: 10.32vw;
}
#business h2 .h2_main {
  font-size: min(calc(56* 100vw / 1512), 56px);
}
#business h2 .h2_sub {
  font-size: min(calc(24* 100vw / 1512), 24px);
}
/* 事業案内 */
#business .business__headding {
  padding: min(calc(80 * 100vw / 1512), 80px) 0 min(calc(80 * 100vw / 1512), 80px) 10.32vw;
}
#business .headding__title {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  font-size: min(calc(48 * 100vw / 1512), 48px);
  letter-spacing: 0.06em;
  line-height: 1.6;
}
#business .headding__desc {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  font-size: min(calc(16 * 100vw / 1512), 16px);
  letter-spacing: 0.08em;
}
#business .business__slider {
  margin-bottom: min(calc(120 * 100vw / 1512), 120px);
}
#business .slider__item {
  width: 26.5vw;
}
#business .slider__box {
  grid-template-rows: auto 8.46vw;
}
#business .slider__image {
  border-radius: 3.7vw 0 0 0;
}
#business .slider__lower {
  border-radius: 0 0 3.7vw 0;
}
#business .slider__logo.-com {
  width: 20.57vw;
}
#business .slider__logo.-deco {
  width: 19.31vw;
}
#business .slider__logo.-misara {
  width: 8.47vw;
}
#business .slider__logo.-aw {
  width: 16.73vw;
}

/* 実績 */
#business .business__trackrecord {
  padding-left: 9.52vw;
}
#business .trackrecord__title {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  font-size: min(calc(36 * 100vw / 1512), 36px);
  letter-spacing: 0.08em;
}
#business .trackrecord__container {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  flex-direction: row;
  gap: 0 1.85vw;
}
#business .trackrecord__box-upper {
  margin-bottom: min(calc(40 * 100vw / 1512), 40px);
  padding: min(calc(9 * 100vw / 1512), 9px) 0;
  font-size: min(calc(22 * 100vw / 1512), 22px);
  border-top: 3px solid var(--color-base);
  border-bottom: 3px solid var(--color-base);
}
#business .trackrecord__box-lower {
  font-size: min(calc(128 * 100vw / 1512), 128px);
  gap: 0 min(calc(3 * 100vw / 1512), 3px);
}
#business .trackrecord__box-lower span {
  font-size: min(calc(32 * 100vw / 1512), 32px);
  white-space: pre;
}
#business .trackrecord__box-cation {
  font-size: min(calc(14 * 100vw / 1512), 14px);
}
}

/* news
========================================================================== */

#news .news__wrap {
  padding: calc(220*100vw/750) 0 calc(80*100vw/750);
}
#news h2 .h2_main {
  color: var(--color-main);
}
#news h2 .h2_sub {
  color: var(--color-black);
}
#news .news__container {
  display: flex;
  flex-direction: column;
}
#news .news__menu {
  margin: calc(112*100vw/750) 0 calc(72*100vw/750);
}
#news .menu__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: calc(24*100vw/750) 0;
}
#news .menu__item {
  padding: calc(21*100vw/750) 0;
  width: calc(50% - calc(22*100vw/750)/2);
  border-radius: calc(44*100vw/750);
  font-size: calc(28*100vw/750);
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-sub-base);
  cursor: pointer;
}
#news .menu__item.is-active {
  color: var(--color-base);
  background: var(--color-main);
}
#news .news__contents {
  margin-bottom: calc(128*100vw/750);
}
#news .news__box {
  display: none;
}
#news .news__box.is-display {
  display: block;
}
#news .news__list {
  border-top: calc(2*100vw/750) solid #e8e8e8;
}
#news .news__item {
  border-bottom: calc(2*100vw/750) solid #e8e8e8;
}
#news .news__item-tag {
  margin-bottom: calc(32*100vw/750);
  display: flex;
  flex-direction: column;
  gap: calc(16*100vw/750) 0;
}
#news .news__item-date {
  font-size: calc(22* 100vw / 750);
  font-weight: 900;
  letter-spacing: 0.16em;
  color: #AFAFAF;
}
#news .news__item-category {
  display: flex;
  gap: 0 calc(8* 100vw / 750);
}
#news .news__item-category .contents,
#news .news__item-category .department {
  padding: calc(2* 100vw / 750) calc(35* 100vw / 750);
  font-size: calc(20* 100vw / 750);
  font-weight: 700;
  letter-spacing: 0.02em;
  display: flex;
  align-items: center;
  justify-content: center;
  border: calc(2* 100vw / 750) solid var(--color-black);
  border-radius: calc(20* 100vw / 750);
}
#news .news__item-category .department {
  color: var(--color-base);
  background: var(--color-black);
}
#news .news__underline {
  text-decoration: underline;
}
#news .link__btn {
  background: var(--color-sub-base);
}

/* リンクあり（info,press） */
#news .news__item-link {
  display: flex;
  align-items: center;
}
#news .news__item-link:hover {
  color: var(--color-black);
}
#news .news__link-box {
  padding: calc(52*100vw/750) calc(54*100vw/750) calc(52*100vw/750) 0;
}
#news .news__item-arrow {
  position: relative;
  margin-left: auto;
}
#news .news__item-arrow::after {
  content: "";
  width: calc(56* 100vw / 750);
  height: calc(56* 100vw / 750);
  background: var(--color-sub-base);
  border-radius: 50%;
  position: absolute;
  transition: all .2s;
  transform: translate(-75%, -25%);
  z-index: -1;
}
#news .news__item-arrow svg {
  width: calc(28*100vw/750);
  z-index: 10;
}
#news .news__item-arrow path {
  fill: var(--color-black);
}
#news .news__link-title {
  font-size: calc(26* 100vw / 750);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 2;
}

/* リンクなし(media,prize) */
#news .news__item-nolink {
  padding: calc(52*100vw/750) 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#news .news__nolink-box {
  margin-bottom: calc(52*100vw/750);
}
#news .news__nolink-title {
  margin-bottom: calc(32*100vw/750);
  font-size: calc(32* 100vw / 750);
  font-weight: 700;
}
#news .news__nolink-desc {
  font-size: calc(26* 100vw / 750);
}
#news .news__nolink-title,
.news__nolink-desc {
  letter-spacing: 0.06em;
  line-height: 2;
}

@media screen and (min-width: 751px) {
#news .news__wrap {
  padding: min(calc(144 * 100vw / 1512), 144px) 0 min(calc(80 * 100vw / 1512), 80px) ;
}
#news h2 {
  margin-bottom: min(calc(80 * 100vw / 1512), 80px);
  margin-bottom: 5.29vw;
}
#news .news__container {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  flex-direction: row;
  gap: 0 min(calc(88 * 100vw / 1512), 88px);
}
#news .news__menu {
  margin: initial;
}
#news .menu__list {
  flex-direction: column;
  flex-wrap: nowrap;
  gap: min(calc(16 * 100vw / 1512), 16px) 0;
}
#news .menu__item {
  padding: min(calc(15 * 100vw / 1512), 15px) 0;
  width: min(calc(200 * 100vw / 1512), 200px);
  border-radius: min(calc(28 * 100vw / 1512), 28px);
  font-size: min(calc(16 * 100vw / 1512), 16px);
}
#news .news__contents {
  margin-bottom: initial;
}
#news .news__list {
  border-top: 2px solid #e8e8e8;
}
#news .news__item {
  border-bottom: 2px solid #e8e8e8;
}
#news .news__item-tag {
  margin-bottom: min(calc(24 * 100vw / 1512), 24px);
  flex-direction: row;
  align-items: center;
  gap: 0 min(calc(12 * 100vw / 1512), 12px);
}
#news .news__item-date {
  font-size: min(calc(14 * 100vw / 1512), 14px);
}
#news .news__item-category {
  gap: 0 calc(3* 100vw / 750);
}
#news .news__item-category .contents,
#news .news__item-category .department {
  padding: min(calc(2 * 100vw / 1512), 2px) min(calc(28 * 100vw / 1512), 28px);
  font-size: min(calc(12 * 100vw / 1512), 12px);
  border:2px solid var(--color-black);
  border-radius: min(calc(16 * 100vw / 1512), 16px);
}


/* リンクあり（info,press） */
#news .news__item-link:hover .news__item-arrow path {
  fill: var(--color-base);
}
#news .news__item-link:hover .news__item-arrow::after {
  background: var(--color-main);
  transform: translate(-75%, -25%) scale(1.6);
}
#news .news__item-link:hover .news__underline {
  color: var(--color-main);
}
#news .news__item-arrow {
  padding-left: min(calc(20 * 100vw / 1512), 20px);
}
#news .news__item-arrow  svg {
  width: min(calc(20 * 100vw / 1512), 20px);
}
#news .news__item-arrow::after {
  content: "";
  width: min(calc(40 * 100vw / 1512), 40px);
  height: min(calc(40 * 100vw / 1512), 40px);
}
#news .news__link-box {
  width: 59vw;
  padding: min(calc(40 * 100vw / 1512), 40px) 0 min(calc(46 * 100vw / 1512), 46px);
}
#news .news__link-title {
  font-size: min(calc(16 * 100vw / 1512), 16px);
}

/* リンクなし(media,prize) */
#news .news__item-nolink {
  padding: min(calc(40 * 100vw / 1512), 40px) 0 min(calc(46 * 100vw / 1512), 46px);
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 0 min(calc(56 * 100vw / 1512), 56px);
}
#news .news__nolink-box {
  width: 59vw;
  margin-bottom: inherit;
}
#news .news__item-images {
  max-width: 250px;
}
#news .news__nolink-title {
  margin-bottom: min(calc(36 * 100vw / 1512), 36px);
  font-size: min(calc(16 * 100vw / 1512), 16px);
}
#news .news__nolink-desc {
  font-size: min(calc(14 * 100vw / 1512), 14px);
}
#news .news__nolink-title,
#news .news__nolink-desc {
  line-height: 1.8;
}
}

/* bnr_box
========================================================================== */
#bnr_box {
  margin: 0 calc(20*100vw/750) calc(240*100vw/750);
}

@media screen and (min-width: 751px) {
  #bnr_box {
    width: min(calc(1000 * 100vw / 1512), 1000px);
    margin: 0 auto min(calc(144 * 100vw / 1512), 144px) ;
  }
  #bnr_box a {
    transition: all .3s;
  }
  #bnr_box a:hover {
    opacity: .7;
  }
}

/* recluit
========================================================================== */
#recluit .recluit__wrap {
  margin-left: calc(56*100vw/750);
  padding: calc(224*100vw/750) 0;
}
#recluit .h2_main,
#recluit .h2_sub,
#recluit .recluit__text {
  color: var(--color-base);
}
#recluit h2 .h2_main {
  display: block;
  font-size: calc(64*100vw/750);
  font-weight: 900;
  letter-spacing: 0.12em;
}
#recluit h2 .h2_sub {
  font-size: calc(32*100vw/750);
  letter-spacing: 0.06em;
}
#recluit .section__bg {
  width: calc(100% - calc(56*100vw/750));
}
#recluit .recluit__container {
  margin-top: calc(100*100vw/750);
  display: grid;
  align-items: end;
  grid-template-columns: auto calc(56*100vw/750) calc(56*100vw/750);
}

#recluit .recluit__title {
  margin-bottom: calc(100*100vw/750);
  font-size: calc(56* 100vw / 750);
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.7;
}
#recluit .recluit__desc {
  margin-bottom: calc(84*100vw/750);
  font-size: calc(30* 100vw / 750);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 2.1;
}
#recluit .recluit__text,
#recluit .link__btn {
  grid-column: 1/2;
}
#recluit .recluit_images {
  margin-bottom: calc(120*100vw/750);
  grid-column: 1/4;
  border-radius: calc(72*100vw/750) 0 calc(72*100vw/750) 0;
}

@media screen and (min-width: 751px) {
#recluit .recluit__wrap {
  margin-left: 10.31vw;
  padding: min(calc(144 * 100vw / 1512), 144px) 0;
}
#recluit h2 .h2_main {
  font-size: min(calc(56* 100vw / 1512), 56px);
}
#recluit h2 .h2_sub {
  font-size: min(calc(24* 100vw / 1512), 24px);
}
#recluit .section__bg {
  width: calc(100% - 20.63vw);
}
#recluit .recluit__container {
  margin-top: min(calc(64 * 100vw / 1512), 64px);
  grid-template-columns: 35.5vw 39.68vw;
  gap: 0 4.23vw;
}
#recluit .recluit__title {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  font-size: min(calc(48 * 100vw / 1512), 48px);
  letter-spacing: 0.08em;
}
#recluit .recluit__desc {
  margin-bottom: min(calc(72 * 100vw / 1512), 72px);
  font-size: min(calc(16 * 100vw / 1512), 16px);
  letter-spacing: 0.08em;
}
#recluit .recluit__text,
#recluit .link__btn {
  margin-top: auto;
}
#recluit .recluit_images {
  margin-bottom: inherit;
  grid-row: 1/3;
  grid-column: 2/3;
  border-radius: 3.7vw 0 3.7vw 0;
}
}

