@charset "UTF-8";
/* =============================================== 
　　parts
=============================================== */
.mgothic, #news_wrap .news_list li a span, #search .grid_box.col4 li a .ttl, .press_slider .txt_wrap span, #business .flex_box li a .txt_wrap .ttl, #business .flex_box li a > p {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 500;
}

.txt_centerd {
  text-align: center;
}

.txt_right {
  text-align: right;
}

.fw_mid {
  font-weight: 500;
}

.fw_b {
  font-weight: bold;
}

@media (hover: hover) {
  .link_plain:hover {
    color: inherit;
    -webkit-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
    opacity: 0.7;
    text-decoration: none;
  }
}

body {
  color: #333;
}

#main {
  font-weight: 500;
}
@media (hover: hover) {
  #main a:hover {
    color: inherit;
    text-decoration: none;
  }
}

.mv {
  width: 100%;
  position: relative;
  line-height: 1;
  font-size: 0;
  max-height: calc(100svh - 60px);
  overflow: hidden;
}
.mv video {
  width: 90%;
  display: block;
  margin: 0 auto;
  aspect-ratio: 16/9;
}
.mv h1 {
  width: max(31.85vw, 500px);
  text-align: center;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 16%;
  left: 50%;
}
h1 img{
  /*display: none;*/
  visibility: hidden;
}
.logo img {
  /*display: none;*/
  visibility: hidden;
}
@media screen and (max-width: 768px) {
  .mv h1 {
    width: 55%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    top: 80%;
    left: 30%;
  }
}
.mv > div {
  /*position: absolute;
  height: 100%;
  width: min(100%, 1040px);
  padding: 0 20px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: 0;
  left: 50%;*/

  position: absolute;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 0;
  left: 50%;
  width: 90%;
  aspect-ratio: 16 / 9;
  max-height: 100%;
}
.mv > div .logo {
  position: absolute;
  top: 0;
  left: 20px;
  z-index: 1;
}
.mv > div .logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 136px;
  height: 110px;
}
.mv > div .logo a img {
  width: 104px;
}
.mv > div .bnr {
  position: absolute;
  right: 20px;
  bottom: 5%;
}
@media screen and (max-width: 768px) {
  header .header_inner #site_title a {
    display: none;
    margin-left: 10px;
  }
  .mv {
  overflow: visible;
}
  .mv > div .bnr {
    width: 21.8vw;
    right: 6.13;
    bottom: -5.3vw;
  }
}

.lead {
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .lead {
    font-size: 1.2rem;
  }
}

#business {
  background: url(../img/top/business_bg.min.jpg) no-repeat center/cover;
}
#business .flex_box {
  gap: 0 24px;
}
@media screen and (max-width: 768px) {
  #business .flex_box {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 14px 8px;
  }
}
#business .flex_box li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 25px 0 0 10px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #business .flex_box li {
    -webkit-box-flex: inherit;
        -ms-flex: inherit;
            flex: inherit;
    width: calc(50% - 4px);
    padding: 12px 0 0 5px;
  }
}
#business .flex_box li a {
  background: #fff;
  height: 100%;
}
#business .flex_box li a > p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ED800F;
  padding: 0 15px;
  height: 55px;
  width: 85%;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.3;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  #business .flex_box li a > p {
    width: min(33vw, 129px);
    padding: 0 8px;
    height: 26px;
    font-size: 0.85rem;
  }
}
#business .flex_box li a > p::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 10px 10px 0;
  border-color: transparent #AF5F11 transparent transparent;
  position: absolute;
  left: 0;
  top: 100%;
}
@media screen and (max-width: 768px) {
  #business .flex_box li a > p::before {
    border-width: 0 5px 5px 0;
  }
}
#business .flex_box li a .txt_wrap {
  padding: 18px 10px;
}
@media screen and (max-width: 768px) {
  #business .flex_box li a .txt_wrap {
    padding: 8px 10px;
  }
}
#business .flex_box li a .txt_wrap .ttl {
  margin-bottom: 10px;
  color: #ED800F;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #business .flex_box li a .txt_wrap .ttl {
    margin-bottom: 5px;
    font-size: 1.1rem;
  }
}
#business .flex_box li a .txt_wrap .ttl span {
  display: inline-block;
  padding-right: 25px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #business .flex_box li a .txt_wrap .ttl span {
    padding-right: 12px;
  }
}
#business .flex_box li a .txt_wrap .ttl span::after {
  content: "";
  border-radius: 50%;
  background: url(../img/arrow.svg) no-repeat 55% center/9px, #ED800F;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 8px;
  right: 0;
}
@media screen and (max-width: 768px) {
  #business .flex_box li a .txt_wrap .ttl span::after {
    background-size: 4px;
    width: 10px;
    height: 10px;
    top: 5px;
  }
}
#business .flex_box li a .txt_wrap .txt {
  padding: 0 15px;
  letter-spacing: 0.01em;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  #business .flex_box li a .txt_wrap .txt {
    padding: 0 8px;
  }
}

#press {
  background: #FFEAE1;
  overflow: hidden;
}
#press .wrap {
  width: 100%;
  margin: 0 auto;
  /*padding-right: 0;*/
  overflow: visible;
}
#press .wrap .btn {
  position: relative;
  /*left: -20px;*/
}
@media screen and (min-width: 1040px) {
  #press .wrap {
    width: min(90%, 1040px);
  }
  #press .wrap .btn {
    left: calc(-100% + 50% + 500px);
  }
}

.press_slider {
  width: min(100%, 1040px);
  overflow: visible !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media screen and (max-width: 768px) {
  .press_slider {
    width: min(89%, 500px);
  }
}
.press_slider .swiper-slide-active .txt_wrap span, .press_slider .swiper-slide-next .txt_wrap span, .press_slider .swiper-slide-next + .swiper-slide .txt_wrap span {
  background: #008845;
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}
.press_slider .new a::before {
  content: "";
  background: url(../img/top/icon_new.svg) no-repeat center/contain;
  width: 77px;
  height: 77px;
  position: absolute;
  top: -6px;
  left: -6px;
}
@media screen and (max-width: 768px) {
  .press_slider .new a::before {
    width: 39px;
    height: 39px;
    top: -3px;
    left: -3px;
  }
}
.press_slider .ph_over {
  aspect-ratio: 1.76/1;
}
.press_slider .ph_over img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.press_slider .txt_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(0.38vw, 5px) min(1.38vw, 18px);
  background: #fff;
  font-size: min(1.15vw, 1.5rem);
  padding: 3.5% 6.5%;
  font-weight: 400;
}
@media screen and (max-width: 768px) {
  .press_slider .txt_wrap {
  padding: 7.5% 6.5%;
}
.press_slider .txt_wrap {
    font-size: 0.9rem;
  }
}
.press_slider .txt_wrap span {
  background: #808080;
  border-radius: 11px;
  width: min(9vw, 104px);
  padding-top: 0.1em;
  color: #fff;
  font-size: min(1vw, 1.3rem);
  text-align: center;
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}
@media screen and (min-width: 768px) {
  .press_slider .txt_wrap span {
    background: #008845;
  
  }
}
@media screen and (max-width: 768px) {
  .press_slider .txt_wrap span {
    height: 15px;
    width: 70px;
    font-size: 0.7rem;
    padding-top: 0.2em;
  }
}
.press_slider .txt_wrap p {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
}
.press_slider .swiper-button-next, .press_slider .swiper-button-prev {
  width: min(3.69vw, 48px);
  height: min(3.69vw, 48px);
}
.press_slider .swiper-button-next::after, .press_slider .swiper-button-prev::after {
  background: url(../img/slide_arrow.svg) no-repeat center/contain;
  content: "";
  width: 100%;
  height: 100%;
}
.press_slider .swiper-button-next {
  right: -4.5%;
}
@media screen and (max-width: 768px) {
  .press_slider .swiper-button-next {
    display: none;
  }
}
.press_slider .swiper-button-prev {
  display: none;
  left: -4.5%;
}
.press_slider .swiper-button-prev::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

#about .flex_box.col2 {
  gap: 0 3.5%;
}
@media screen and (max-width: 768px) {
  #about .flex_box.col2 {
    gap: 15px 3.5%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#about .flex_box.col2 div {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#about .flex_box.col2 .txt_wrap {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 47%;
          flex: 0 0 47%;
  padding: 0 20px 0 0;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  #about .flex_box.col2 .txt_wrap {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
#about .flex_box.col2 .txt_wrap .ttl {
  color: #ED800F;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  #about .flex_box.col2 .txt_wrap .ttl {
    font-size: 1.5rem;
  }
}
#about .flex_box.col2 .txt_wrap .txt {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #about .flex_box.col2 .txt_wrap .txt {
    font-size: 0.9rem;
  }
}

#search {
  background: #FFEAE1;
}
#search .grid_box.col4 {
  gap: 1.3%;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
#search .grid_box.col4 li {
  aspect-ratio: 1/1;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow: hidden;
}
#search .grid_box.col4 li:nth-child(1) {
  background: url(../img/top/search01.jpg) no-repeat center/100%;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (hover: hover) {
  #search .grid_box.col4 li:nth-child(1):hover {
    background-size: 120%;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
}
#search .grid_box.col4 li:nth-child(1) a {
  background: url(../img/top/icon01.svg) no-repeat center 15%/min(9.4vw, 98px);
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 li:nth-child(1) a {
    background-size: 40%;
  }
}
#search .grid_box.col4 li:nth-child(2) {
  background: url(../img/top/search02.jpg) no-repeat center/100%;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (hover: hover) {
  #search .grid_box.col4 li:nth-child(2):hover {
    background-size: 120%;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
}
#search .grid_box.col4 li:nth-child(2) a {
  background: url(../img/top/icon02.svg) no-repeat center 15%/min(9.4vw, 98px);
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 li:nth-child(2) a {
    background-size: 40%;
  }
}
#search .grid_box.col4 li:nth-child(3) {
  background: url(../img/top/search03.jpg) no-repeat center/100%;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (hover: hover) {
  #search .grid_box.col4 li:nth-child(3):hover {
    background-size: 120%;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
}
#search .grid_box.col4 li:nth-child(3) a {
  background: url(../img/top/icon03.svg) no-repeat center 15%/min(9.4vw, 98px);
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 li:nth-child(3) a {
    background-size: 40%;
  }
}
#search .grid_box.col4 li:nth-child(4) {
  background: url(../img/top/search04.jpg) no-repeat center/100%;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (hover: hover) {
  #search .grid_box.col4 li:nth-child(4):hover {
    background-size: 120%;
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
}
#search .grid_box.col4 li:nth-child(4) a {
  background: url(../img/top/icon04.svg) no-repeat center 15%/min(9.4vw, 98px);
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 li:nth-child(4) a {
    background-size: 40%;
  }
}
#search .grid_box.col4 li a {
  display: block;
  height: 100%;
  padding: 50% 3% 0;
  position: relative;
}
#search .grid_box.col4 li a::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 18px 18px;
  border-color: transparent transparent rgba(255, 255, 255, 0.5) transparent;
  position: absolute;
  bottom: 5px;
  right: 5px;
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 li a::after {
    border-width: 0 0 3vw 3vw;
  }
}
#search .grid_box.col4 li a p {
  text-align: center;
}
#search .grid_box.col4 li a .ttl {
  margin-bottom: 10px;
  font-size: min(1.9vw, 2rem);
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 li a .ttl {
    font-size: max(2.5vw, 1.3rem);
  }
}
#search .grid_box.col4 li a .txt {
  font-size: min(1.3vw, 1.4rem);
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  #search .grid_box.col4 li a .txt {
    font-size: max(1.8vw, 0.9rem);
  }
}
#search .btn_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 13px 15px;
}
@media screen and (max-width: 768px) {
  #search .btn_flex {
    gap: 10px;
  }
}
#search .btn_flex ul {
  width: max(50% - 8px, 300px);
}
@media screen and (max-width: 768px) {
  #search .btn_flex ul {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
#search .btn_flex ul li {
  display: table;
  height: 71px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #search .btn_flex ul li {
    height: 46px;
  }
}
#search .btn_flex ul li:not(:last-child) {
  margin-bottom: 13px;
}
@media screen and (max-width: 768px) {
  #search .btn_flex ul li:not(:last-child) {
    margin-bottom: 8px;
  }
}
#search .btn_flex ul li a {
  background: url(../img/arrow2.svg) no-repeat right 20px center/auto, #fff;
  display: table-cell;
  vertical-align: middle;
  padding: 0 10% 0.2em calc(20px + 2em);
  font-size: 1.8rem;
  text-indent: -2em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  #search .btn_flex ul li a {
    background-size: 14px;
    background-position: right 15px center;
    padding: 0 10% 0.2em calc(15px + 2em);
    font-size: 1.2rem;
  }
}
#search .btn_flex ul li a::before {
  content: "Q.";
  padding-right: 0.5em;
  color: #ED800F;
  line-height: 1;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  #search .btn_flex ul li a::before {
    font-size: 1.6rem;
  }
}
.recruit_box{
  display: flex;
  align-items: flex-end;
  gap:30px;
  justify-content: space-between;
}

.recruit_two img {
  aspect-ratio: 20/13;
  width: 100%;
}
.recruit_two:last-child img {
  aspect-ratio: 240/163;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .recruit_box{
    display: block;
    margin: 0 auto;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .recruit_two{
    text-align: center;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .recruit_two:last-child{
    margin-top: 10%;
  }
}
#news_wrap .news_list {
  border-top: 1px solid #D3D3D3;
}
#news_wrap .news_list li {
  border-bottom: 1px solid #D3D3D3;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  #news_wrap .news_list li {
    font-size: 0.9rem;
  }
}
#news_wrap .news_list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 19px 0;
}
@media screen and (max-width: 768px) {
  #news_wrap .news_list li a {
    padding: 8px 0;
  }
}
@media (hover: hover) {
  #news_wrap .news_list li a:hover {
    color: inherit;
    text-decoration: none;
  }
  #news_wrap .news_list li a:hover p {
    text-decoration: underline;
  }
}
#news_wrap .news_list li a span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  border-radius: 19px;
  width: 102px;
  height: 39px;
  line-height: 39px;
  margin-right: 24px;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #news_wrap .news_list li a span {
    width: 51px;
    height: 20px;
    line-height: 20px;
    margin-right: 10px;
    font-size: 0.7rem;
  }
}
#news_wrap .news_list li a time {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 35px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #news_wrap .news_list li a time {
    margin-right: 10px;
  }
}
#news_wrap .news_list li a p {
  letter-spacing: 0.1em;
  white-space: nowrap;
  overflow: hidden;
}
#news_wrap .news_list li a span.news {
  background: #D85661;
}
#news_wrap .news_list li a span.works {
  background: #008845;
}
#news_wrap .news_list li a span.release {
  background: #29a7de;
}
#news_wrap .news_list li a span.recruit {
  background: #f38f1e;
}
#news_wrap .news_list li a span.event {
  background: #ed400f;
}
.main_bnr_img {
  aspect-ratio: 10/3.6;
}
@media screen and (max-width: 768px) {
  .main_bnr_img {
    aspect-ratio: 3.2/2.1;
  }
}
#business .ph_over a .ph img {
  width: 100%;
  aspect-ratio: 307/227;
}
#press .ph_over a .ph img {
  width: 100%;
  aspect-ratio: 67/38;
}
#pickup_wrap .ph_over a .ph img {
  width: 100%;
  aspect-ratio: 64/25;
}
