@charset "UTF-8";
/*
---------------------------------------------------------------------------------------------------------------------
メインビジュアル
---------------------------------------------------------------------------------------------------------------------
*/
#top-mv {
  position: relative;
  margin: 0 auto 0;
  overflow: hidden;
  height: 100dvh; }
  @media (min-width: 1024px) {
    #top-mv {
      height: 100vh; } }
  #top-mv .main-copy {
    position: absolute;
    bottom: 100px;
    left: 5%;
    mix-blend-mode: color-dodge;
    z-index: 10;
    overflow: hidden; }
    #top-mv .main-copy h3 {
      position: relative;
      font-family: "Oswald", sans-serif;
      font-optical-sizing: auto;
      font-style: normal;
      font-size: 1.25em;
      line-height: 1.2em;
      letter-spacing: 0.04em;
      color: #3EE1FF; }
      @media (min-width: 768px) {
        #top-mv .main-copy h3 {
          font-size: 2.50em; } }
      @media (min-width: 1200px) {
        #top-mv .main-copy h3 {
          font-size: 2.75em; } }
    #top-mv .main-copy ul {
      margin: 15px auto 0; }
      #top-mv .main-copy ul li {
        margin: 0 0 10px 0; }
        @media (min-width: 768px) {
          #top-mv .main-copy ul li {
            margin: 0 0 20px 0; } }
        #top-mv .main-copy ul li img {
          width: auto;
          height: 56px; }
          @media (min-width: 768px) {
            #top-mv .main-copy ul li img {
              height: 100px; } }
          @media (min-width: 1200px) {
            #top-mv .main-copy ul li img {
              height: 120px; } }
        #top-mv .main-copy ul li:last-child {
          margin: 0 auto 0; }
    #top-mv .main-copy.is-active ul li:nth-child(1) {
      animation: mv-slide-from-left 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; }
    #top-mv .main-copy.is-active ul li:nth-child(2) {
      animation: mv-slide-from-right 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.15s both; }
@keyframes mv-slide-from-left {
  from {
    transform: translateX(-100vw);
    opacity: 0; }
  to {
    transform: translateX(0);
    opacity: 1; } }
@keyframes mv-slide-from-right {
  from {
    transform: translateX(100vw);
    opacity: 0; }
  to {
    transform: translateX(0);
    opacity: 1; } }
  #top-mv .title-copy {
    position: absolute;
    top: 0;
    bottom: 100px;
    left: 5%;
    display: flex;
    align-items: center;
    z-index: 10; }
    @media (min-width: 1024px) {
      #top-mv .title-copy {
        top: inherit;
        bottom: 140px;
        left: inherit;
        right: 5%; } }
    #top-mv .title-copy h1 {
      font-size: 1.0em;
      font-weight: 500;
      line-height: 2.0em;
      color: #fff; }
      @media (min-width: 768px) {
        #top-mv .title-copy h1 {
          font-size: 1.25em; } }
      @media (min-width: 1200px) {
        #top-mv .title-copy h1 {
          font-size: 1.375em; } }
  #top-mv .news-card {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 80px;
    overflow: hidden;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff; }
    @media screen and (min-width: 1024px) {
      #top-mv .news-card {
        height: 70px; } }
    #top-mv .news-card .swiper-wrapper {
      transition-timing-function: linear !important;
      height: 100%; }
    #top-mv .news-card .swiper-slide {
      height: 100%; }
  #top-mv a.news-area {
    color: #fff;
    height: 80px;
    display: flex;
    align-items: center;
    width: 100%; }
    @media (min-width: 1024px) {
      #top-mv a.news-area {
        height: 70px; } }
    #top-mv a.news-area:hover .news-area-in > .txt > .arrow {
      background-color: #fff;
      color: #223588;
      transform: translateX(5px); }
    #top-mv a.news-area .news-area-in {
      position: relative;
      padding: 0 5%;
      margin: auto; }
      @media (min-width: 1024px) {
        #top-mv a.news-area .news-area-in {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%; } }
    #top-mv a.news-area .data {
      display: flex;
      align-items: center;
      font-family: "Oswald", sans-serif;
      font-optical-sizing: auto;
      font-style: normal; }
      #top-mv a.news-area .data h3 {
        font-size: 1.125em;
        font-weight: 400;
        line-height: 1.4em;
        margin: 0 10px 0 0; }
        @media (min-width: 1024px) {
          #top-mv a.news-area .data h3 {
            font-size: 1.25em;
            margin: 0 20px 0 0; } }
      #top-mv a.news-area .data h4 {
        font-size: 0.9em;
        font-weight: 400;
        line-height: 1.4em; }
        @media (min-width: 1024px) {
          #top-mv a.news-area .data h4 {
            font-size: 1.0em; } }
    #top-mv a.news-area .txt {
      display: flex;
      align-items: center;
      padding-right: 40px; }
      @media (min-width: 1024px) {
        #top-mv a.news-area .txt {
          position: relative;
          padding-right: 55px; } }
      #top-mv a.news-area .txt p {
        font-size: 0.8em;
        font-feature-settings: "palt";
        letter-spacing: 0.04em;
        line-height: 1.4em; }
        @media (min-width: 1024px) {
          #top-mv a.news-area .txt p {
            font-size: 1.0em; } }
      #top-mv a.news-area .txt .arrow {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: auto;
        transition: 0.5s;
        border: 1px solid #fff;
        border-radius: 50%;
        font-size: 1.25em;
        transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
        width: 30px;
        height: 30px; }
        @media screen and (min-width: 1024px) {
          #top-mv a.news-area .txt .arrow {
            height: 40px;
            width: 40px;
            right: 0; } }

/*
---------------------------------------------------------------------------------------------------------------------
あと1歩を埋める仕事
---------------------------------------------------------------------------------------------------------------------
*/
#about {
  position: relative; }
  #about::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #223588;
    height: 100%;
    mix-blend-mode: multiply;
    opacity: 0.5;
    z-index: 0; }
  #about .about-in {
    position: relative;
    max-width: 1600px;
    margin: auto;
    padding-top: 60px; }
    @media (min-width: 1024px) {
      #about .about-in {
        padding: 0; } }
  #about .txt-area {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    z-index: 10;
    padding: 20px 0 60px; }
    @media (min-width: 1024px) {
      #about .txt-area {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 0; } }
    #about .txt-area .txt-area-in {
      padding: 0 5%; }
      #about .txt-area .txt-area-in p {
        font-size: 1.0em;
        font-weight: 400;
        line-height: 2.2em;
        text-align: justify;
        color: #fff; }
        @media (min-width: 768px) {
          #about .txt-area .txt-area-in p {
            font-size: 1.125em;
            text-align: center; } }
        @media (min-width: 1200px) {
          #about .txt-area .txt-area-in p {
            font-size: 1.25em; } }
      #about .txt-area .txt-area-in .common-link {
        display: flex;
        justify-content: center;
        margin-top: 40px; }
        @media (min-width: 768px) {
          #about .txt-area .txt-area-in .common-link {
            margin-top: 60px; } }
        @media (min-width: 1200px) {
          #about .txt-area .txt-area-in .common-link {
            margin-top: 100px; } }
  #about .slide-loop-sp {
    display: flex;
    overflow: hidden; }
    @media screen and (min-width: 1024px) {
      #about .slide-loop-sp {
        display: none; } }
    #about .slide-loop-sp .slideshow {
      display: flex; }
      #about .slide-loop-sp .slideshow figure img {
        width: auto;
        height: 140px; }
        @media (min-width: 768px) {
          #about .slide-loop-sp .slideshow figure img {
            height: 200px; } }
      #about .slide-loop-sp .slideshow.show1 {
        animation: loop-slide 200s infinite linear 1s both; }
@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
  #about .slide-loop {
    display: none; }
    @media (min-width: 1024px) {
      #about .slide-loop {
        position: relative;
        display: flex;
        padding: 0 2%;
        width: 25%;
        overflow: hidden;
        z-index: 10; } }
    #about .slide-loop.right {
      position: absolute;
      top: 0;
      right: 0; }
    #about .slide-loop .line-box {
      width: 100%; }
      #about .slide-loop .line-box .line-wrap {
        overflow: hidden;
        display: flex; }
        @media (min-width: 1024px) {
          #about .slide-loop .line-box .line-wrap {
            display: block;
            height: 100vh;
            max-height: 820px; } }
        @media (min-width: 1181px) {
          #about .slide-loop .line-box .line-wrap {
            height: 720px; } }
        @media (min-width: 1250px) {
          #about .slide-loop .line-box .line-wrap {
            height: 900px; } }
        #about .slide-loop .line-box .line-wrap ul {
          margin: 0;
          display: flex; }
          @media (min-width: 1024px) {
            #about .slide-loop .line-box .line-wrap ul {
              display: block; } }
          #about .slide-loop .line-box .line-wrap ul li {
            width: 100px;
            margin-right: 10px; }
            @media (min-width: 768px) {
              #about .slide-loop .line-box .line-wrap ul li {
                width: 200px; } }
            @media (min-width: 1024px) {
              #about .slide-loop .line-box .line-wrap ul li {
                width: auto;
                margin: 0 0 20px 0; } }
            @media (min-width: 1600px) {
              #about .slide-loop .line-box .line-wrap ul li {
                margin: 0 0 25px 0; } }
        #about .slide-loop .line-box .line-wrap ul.line-type1 {
          animation: infinity-scroll-left1 80s infinite linear 0.5s both; }
        #about .slide-loop .line-box .line-wrap ul.line-type2 {
          animation: infinity-scroll-left2 80s infinite linear 0.5s both; }

@media (min-width: 1024px) {
  @keyframes infinity-scroll-left1 {
    from {
      transform: translateY(0); }
    to {
      transform: translateY(-100%); } }
  @keyframes infinity-scroll-left2 {
    from {
      transform: translateY(-100%); }
    to {
      transform: translateY(0); } } }
.heading {
  margin-bottom: 40px; }
  @media screen and (min-width: 1024px) {
    .heading {
      margin-bottom: 60px; } }
  @media screen and (min-width: 1200px) {
    .heading {
      margin-bottom: 100px; } }
  .heading.blue .en {
    color: #223588; }
  .heading.blue .border {
    background-color: #223588; }
  .heading.blue .ja {
    color: #223588; }
  .heading.blanc .en {
    color: #fff; }
  .heading.blanc .border {
    background-color: #fff; }
  .heading.blanc .ja {
    color: #fff; }
  .heading.blanc .intro {
    color: #fff; }
  .heading .line {
    align-items: center;
    display: flex;
    width: 100%; }
  .heading .en {
    display: inline-block;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 0.8em;
    font-weight: 500;
    line-height: 1.0em;
    padding: 3px 4px; }
    @media screen and (min-width: 768px) {
      .heading .en {
        font-size: 1.0em; } }
    @media screen and (min-width: 1200px) {
      .heading .en {
        font-size: 1.125em; } }
  .heading .border {
    display: block;
    flex: 1;
    height: 1px;
    margin-left: 6px; }
  .heading .ja {
    font-size: 0.75em;
    margin-left: 14px;
    white-space: nowrap; }
    @media screen and (min-width: 768px) {
      .heading .ja {
        font-size: 0.8em; } }
    @media screen and (min-width: 1200px) {
      .heading .ja {
        font-size: 0.9em;
        margin-left: 18px; } }

.intro {
  margin: 50px 0; }
  @media screen and (min-width: 768px) {
    .intro {
      margin: 60px 0; } }
  @media screen and (min-width: 1200px) {
    .intro {
      margin: 80px 0; } }
  @media screen and (min-width: 768px) {
    .intro.type2 {
      display: flex;
      justify-content: space-between;
      align-items: flex-end; } }
  @media screen and (min-width: 768px) {
    .intro.type2 .txt {
      width: calc(100% - 180px); } }
  .intro.type2 .common-link {
    text-align: right;
    margin: 10px 0 0 0; }
    @media screen and (min-width: 768px) {
      .intro.type2 .common-link {
        margin: 0 60px 0 0;
        width: 180px; } }
    @media screen and (min-width: 1200px) {
      .intro.type2 .common-link {
        margin: 0 100px 0 0; } }
  .intro h1 {
    font-size: 1.375em;
    font-weight: 400;
    line-height: 1.4em;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .intro h1 {
        font-size: 1.50em; } }
    @media screen and (min-width: 1200px) {
      .intro h1 {
        font-size: 1.75em; } }
  .intro p {
    font-size: 0.8em;
    line-height: 2.0em;
    margin: 18px 0 0; }
    @media screen and (min-width: 768px) {
      .intro p {
        font-size: 0.9em;
        margin-top: 22px; } }
    @media screen and (min-width: 1200px) {
      .intro p {
        font-size: 1.0em; } }

/*
---------------------------------------------------------------------------------------------------------------------
事業・サービス
---------------------------------------------------------------------------------------------------------------------
*/
.service {
  position: relative;
  padding: 40px 0 80px; }
  @media screen and (min-width: 1024px) {
    .service {
      padding: 52px 0 120px; } }
  @media screen and (min-width: 1200px) {
    .service {
      padding: 48px 0 150px; } }
  .service::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.8);
    height: 100%;
    mix-blend-mode: screen;
    z-index: -1; }
  .service .heading {
    padding: 0 5%;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .service .heading {
        padding: 0 40px; } }
  .service__inner {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 5%; }
    @media screen and (min-width: 768px) {
      .service__inner {
        padding: 0 40px; } }
  .service__list {
    display: flex;
    flex-direction: column;
    gap: 60px; }
    @media screen and (min-width: 768px) {
      .service__list {
        gap: 20px; } }
    @media screen and (min-width: 1200px) {
      .service__list {
        gap: 40px; } }

.service-card {
  display: flex;
  flex-direction: column;
  gap: 10px; }
  @media screen and (min-width: 768px) {
    .service-card {
      align-items: center;
      display: grid;
      gap: 20px;
      grid-template-columns: minmax(0, 1fr) 200px; } }
  @media screen and (min-width: 1024px) {
    .service-card {
      gap: 40px;
      grid-template-columns: minmax(0, 1fr) 300px; } }
  @media screen and (min-width: 1200px) {
    .service-card {
      gap: 80px;
      grid-template-columns: minmax(0, 1fr) 440px; } }
  .service-card__body {
    min-height: 350px;
    position: relative; }
    @media screen and (min-width: 768px) {
      .service-card__body {
        min-height: 430px; } }
    @media screen and (min-width: 1024px) {
      .service-card__body {
        align-items: center;
        display: flex;
        min-height: 440px;
        padding-left: 150px; } }
    @media screen and (min-width: 1200px) {
      .service-card__body {
        min-height: 460px;
        padding-left: 160px; } }
  .service-card__background {
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 4em;
    font-weight: 500;
    left: 0;
    line-height: 1.0em;
    margin: 0;
    pointer-events: none;
    position: absolute;
    top: 0;
    color: #fff;
    opacity: 0.4; }
    @media screen and (min-width: 768px) {
      .service-card__background {
        font-size: 5.5em; } }
    @media screen and (min-width: 1000px) {
      .service-card__background {
        top: 5px; } }
    @media screen and (min-width: 1200px) {
      .service-card__background {
        font-size: 6.5em; } }
  .service-card__content {
    padding: 120px 0 0 20px;
    position: relative;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      .service-card__content {
        padding: 100px 0 0 50px; } }
    @media screen and (min-width: 1000px) {
      .service-card__content {
        padding: 0; } }
    @media screen and (min-width: 1200px) {
      .service-card__content {
        width: 560px; } }
  .service-card__number {
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 0.8em;
    font-weight: 500;
    line-height: 1.0em;
    color: #223588;
    margin: 0; }
    @media screen and (min-width: 768px) {
      .service-card__number {
        font-size: 0.9em; } }
    @media screen and (min-width: 1200px) {
      .service-card__number {
        font-size: 1.0em; } }
  .service-card__title {
    font-size: 1.5em;
    font-weight: 600;
    line-height: 1.4em;
    color: #223588;
    margin: 10px 0 0; }
    @media screen and (min-width: 768px) {
      .service-card__title {
        font-size: 1.85em; } }
    @media screen and (min-width: 1200px) {
      .service-card__title {
        font-size: 2.25em; } }
  .service-card__text {
    margin-top: 30px; }
    @media screen and (min-width: 768px) {
      .service-card__text {
        margin-top: 40px; } }
    @media screen and (min-width: 1200px) {
      .service-card__text {
        margin-top: 50px; } }
    .service-card__text h3 {
      font-size: 1.125em;
      font-weight: 500;
      line-height: 1.2em;
      margin: 0; }
      @media screen and (min-width: 768px) {
        .service-card__text h3 {
          font-size: 1.25em; } }
      @media screen and (min-width: 1200px) {
        .service-card__text h3 {
          font-size: 1.45em; } }
    .service-card__text p {
      font-size: 0.85em;
      line-height: 2.0em;
      margin: 16px 0 0; }
      @media screen and (min-width: 768px) {
        .service-card__text p {
          font-size: 0.9em;
          margin-top: 20px; } }
      @media screen and (min-width: 1200px) {
        .service-card__text p {
          font-size: 1.0em; } }
  .service-card .common-link {
    margin-top: 35px; }
    @media screen and (min-width: 768px) {
      .service-card .common-link {
        margin-top: 42px; } }
    @media screen and (min-width: 1200px) {
      .service-card .common-link {
        margin-top: 48px; } }
  .service-card__image {
    border-radius: 5px;
    overflow: hidden;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .service-card__image {
        margin-left: auto;
        max-width: 200px; } }
    @media screen and (min-width: 1024px) {
      .service-card__image {
        max-width: none;
        width: 300px; } }
    @media screen and (min-width: 1200px) {
      .service-card__image {
        width: 440px;
        border-radius: 10px; } }
    .service-card__image img {
      aspect-ratio: 1 / 1;
      display: block;
      object-fit: cover; }

/*
---------------------------------------------------------------------------------------------------------------------
店舗情報
---------------------------------------------------------------------------------------------------------------------
*/
.shop {
  padding: 40px 0 80px;
  overflow: hidden; }
  @media screen and (min-width: 1024px) {
    .shop {
      padding: 52px 0 120px; } }
  @media screen and (min-width: 1200px) {
    .shop {
      padding: 48px 0 150px; } }
  .shop__inner {
    margin: 0 auto;
    padding: 0 5%; }
    @media screen and (min-width: 1024px) {
      .shop__inner {
        padding: 0 40px; } }

.shop-content .shop-list {
  padding: 0;
  margin-bottom: 40px; }
  @media (min-width: 768px) {
    .shop-content .shop-list {
      display: flex;
      padding: 0 0 0 2.5%; } }
  @media (min-width: 1200px) {
    .shop-content .shop-list {
      margin-bottom: 80px; } }
  .shop-content .shop-list:last-child {
    margin: 0; }
  .shop-content .shop-list .shop-title {
    background-color: #fff;
    border-radius: 5px;
    margin: 20px 5%;
    height: 60px; }
    @media (min-width: 768px) {
      .shop-content .shop-list .shop-title {
        width: 120px;
        height: 160px;
        padding: 0;
        margin: 0 20px 0 0;
        border-radius: 10px; } }
    .shop-content .shop-list .shop-title .logo {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%; }
      .shop-content .shop-list .shop-title .logo img {
        width: 40px; }
        @media (min-width: 768px) {
          .shop-content .shop-list .shop-title .logo img {
            width: 60px; } }
  .shop-content .shop-list .shop-card1, .shop-content .shop-list .shop-card2 {
    position: relative;
    overflow: hidden;
    width: 100%; }
    @media (min-width: 768px) {
      .shop-content .shop-list .shop-card1, .shop-content .shop-list .shop-card2 {
        width: calc(100% - 120px); } }
    .shop-content .shop-list .shop-card1 .swiper-slide, .shop-content .shop-list .shop-card2 .swiper-slide {
      width: 180px;
      margin: 0 15px 0 0; }
      @media (min-width: 768px) {
        .shop-content .shop-list .shop-card1 .swiper-slide, .shop-content .shop-list .shop-card2 .swiper-slide {
          width: 254px;
          margin: 0 20px 0 0; } }
      .shop-content .shop-list .shop-card1 .swiper-slide:last-child, .shop-content .shop-list .shop-card2 .swiper-slide:last-child {
        margin-right: 3%; }
    .shop-content .shop-list .shop-card1 .shop-box a:hover .thumbnail > img, .shop-content .shop-list .shop-card2 .shop-box a:hover .thumbnail > img {
      transform: scale(1.04); }
    .shop-content .shop-list .shop-card1 .shop-box a .thumbnail, .shop-content .shop-list .shop-card2 .shop-box a .thumbnail {
      position: relative;
      border-radius: 5px;
      overflow: hidden;
      display: block;
      z-index: 1; }
      @media (min-width: 768px) {
        .shop-content .shop-list .shop-card1 .shop-box a .thumbnail, .shop-content .shop-list .shop-card2 .shop-box a .thumbnail {
          border-radius: 10px; } }
      .shop-content .shop-list .shop-card1 .shop-box a .thumbnail img, .shop-content .shop-list .shop-card2 .shop-box a .thumbnail img {
        border-radius: 5px;
        transition-duration: 0.8s;
        transform: scale(1); }
        @media (min-width: 768px) {
          .shop-content .shop-list .shop-card1 .shop-box a .thumbnail img, .shop-content .shop-list .shop-card2 .shop-box a .thumbnail img {
            border-radius: 10px; } }
    .shop-content .shop-list .shop-card1 .shop-box a p, .shop-content .shop-list .shop-card2 .shop-box a p {
      font-size: 0.8em;
      line-height: 1.6em;
      color: #fff;
      margin: 4px 0 0 0; }
      @media (min-width: 768px) {
        .shop-content .shop-list .shop-card1 .shop-box a p, .shop-content .shop-list .shop-card2 .shop-box a p {
          font-size: 0.9em; } }
      @media (min-width: 1200px) {
        .shop-content .shop-list .shop-card1 .shop-box a p, .shop-content .shop-list .shop-card2 .shop-box a p {
          font-size: 1.0em;
          margin: 8px 0 0 0; } }

/*
---------------------------------------------------------------------------------------------------------------------
お知らせ
---------------------------------------------------------------------------------------------------------------------
*/
.news-section {
  position: relative;
  color: #fff;
  padding: 40px 0 80px; }
  @media screen and (min-width: 1024px) {
    .news-section {
      padding: 52px 0 120px; } }
  @media screen and (min-width: 1200px) {
    .news-section {
      padding: 48px 0 150px; } }
  .news-section::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.5);
    height: 100%;
    mix-blend-mode: multiply;
    z-index: -1; }
  .news-section .heading {
    padding: 0 5%;
    margin: 0 auto; }
    @media screen and (min-width: 768px) {
      .news-section .heading {
        padding: 0 40px; } }
  .news-section__inner {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1400px;
    padding: 0 5%; }
    @media screen and (min-width: 768px) {
      .news-section__inner {
        padding: 0 40px; } }
  .news-section__content {
    margin-top: 30px; }
    @media screen and (min-width: 768px) {
      .news-section__content {
        margin-top: 60px; } }
    @media screen and (min-width: 1200px) {
      .news-section__content {
        display: grid;
        gap: 90px;
        grid-template-columns: 280px minmax(0, 1fr);
        margin-top: 80px; } }
  .news-section__title {
    font-size: 1.125em;
    font-weight: 500;
    line-height: 1.2em; }
    @media screen and (min-width: 768px) {
      .news-section__title {
        font-size: 1.35em; } }
    @media screen and (min-width: 1200px) {
      .news-section__title {
        font-size: 1.75em; } }
  .news-section__main {
    margin-top: 40px; }
    @media screen and (min-width: 768px) {
      .news-section__main {
        margin-top: 54px; } }
    @media screen and (min-width: 1200px) {
      .news-section__main {
        margin-top: 0; } }
  .news-section__more {
    display: flex;
    justify-content: flex-end;
    margin-top: 42px; }
    @media screen and (min-width: 768px) {
      .news-section__more {
        margin-top: 54px; } }
    @media screen and (min-width: 1200px) {
      .news-section__more {
        margin-top: 68px; } }

.pickup-section {
  margin: 40px 0 0 0; }
  .pickup-section__title {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.2em;
    padding: 0 0 0 5%; }
    @media (min-width: 768px) {
      .pickup-section__title {
        padding: 0 0 0 40px;
        font-size: 1.75em; } }
    @media (min-width: 1200px) {
      .pickup-section__title {
        font-size: 2.0em; } }
  .pickup-section .pickup-card {
    padding: 60px 0 0 0;
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-top: -40px; }
    @media screen and (min-width: 768px) {
      .pickup-section .pickup-card {
        padding: 65px 0 0 0; } }
    @media screen and (min-width: 1024px) {
      .pickup-section .pickup-card {
        margin-top: -50px; } }
    @media screen and (min-width: 1200px) {
      .pickup-section .pickup-card {
        margin-top: -45px; } }
    .pickup-section .pickup-card .swiper {
      padding: 0 0 0 5%; }
      @media screen and (min-width: 768px) {
        .pickup-section .pickup-card .swiper {
          padding: 0 0 0 40px; } }
    .pickup-section .pickup-card .swiper-slide {
      width: 240px;
      margin: 0 15px 0 0; }
      @media (min-width: 768px) {
        .pickup-section .pickup-card .swiper-slide {
          width: 260px;
          margin: 0 20px 0 0; } }
      @media (min-width: 1200px) {
        .pickup-section .pickup-card .swiper-slide {
          margin: 0 30px 0 0; } }
      .pickup-section .pickup-card .swiper-slide:last-child {
        margin-right: 5%; }
    .pickup-section .pickup-card .pickup-box a:hover .iCatch > img {
      transform: scale(1.04); }
    .pickup-section .pickup-card .pickup-box a .iCatch {
      position: relative;
      border-radius: 10px;
      overflow: hidden;
      display: block;
      z-index: 1; }
      .pickup-section .pickup-card .pickup-box a .iCatch img {
        display: block;
        transition-duration: 0.8s;
        transform: scale(1);
        border-radius: 10px; }
    .pickup-section .pickup-card .pickup-box a .txt {
      margin: 10px 0 0 0; }
      .pickup-section .pickup-card .pickup-box a .txt h3 {
        font-size: 0.9em;
        line-height: 1.4em;
        font-feature-settings: "palt";
        letter-spacing: 0.04em;
        text-align: justify;
        color: #fff; }
        @media (min-width: 768px) {
          .pickup-section .pickup-card .pickup-box a .txt h3 {
            font-size: 1.0em; } }
        @media (min-width: 1200px) {
          .pickup-section .pickup-card .pickup-box a .txt h3 {
            font-size: 1.125em; } }

.card-common {
  /* 前への矢印カスタマイズ */
  /* 次への矢印カスタマイズ */
  /* 前へ次への矢印カスタマイズ */
  /* 前へ次への矢印カスタマイズ */ }
  .card-common .swiper-button-prev::after {
    background-image: url("../../assets/img/parts/arrow-wh.svg");
    transform: rotate(180deg); }
  .card-common .swiper-button-next::after {
    background-image: url("../../assets/img/parts/arrow-wh.svg"); }
  .card-common .swiper-button-prev,
  .card-common .swiper-button-next {
    height: 40px;
    width: 40px;
    z-index: 20; }
    @media (min-width: 1024px) {
      .card-common .swiper-button-prev,
      .card-common .swiper-button-next {
        height: 50px;
        width: 50px; } }
  .card-common .swiper-button-prev::after,
  .card-common .swiper-button-next::after {
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    margin: auto;
    height: 40px;
    width: 40px;
    border-radius: 50px; }
  .card-common .swiper-button-prev, .card-common .swiper-button-next {
    top: 25px;
    left: 180px;
    right: inherit; }
    @media (min-width: 768px) {
      .card-common .swiper-button-prev, .card-common .swiper-button-next {
        left: 210px; } }
    @media (min-width: 1200px) {
      .card-common .swiper-button-prev, .card-common .swiper-button-next {
        top: 20px;
        left: 250px; } }
  .card-common .swiper-button-prev {
    left: 130px; }
    @media (min-width: 768px) {
      .card-common .swiper-button-prev {
        left: 160px; } }
    @media (min-width: 1200px) {
      .card-common .swiper-button-prev {
        left: 200px; } }

.news-list {
  list-style: none;
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 1200px) {
    .news-list {
      margin: -40px 0 0 0; } }
  .news-list__item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.45); }
  .news-list__link {
    color: #fff;
    display: grid;
    gap: 20px;
    grid-template-columns: 100px minmax(0, 1fr);
    position: relative;
    padding: 20px 0; }
    @media screen and (min-width: 768px) {
      .news-list__link {
        align-items: center;
        gap: 30px;
        grid-template-columns: 160px minmax(0, 1fr) 32px; } }
    @media screen and (min-width: 1200px) {
      .news-list__link {
        gap: 40px;
        grid-template-columns: 175px minmax(0, 1fr) 40px;
        min-height: 160px; } }
    .news-list__link:hover .news-list__image img {
      transform: scale(1.05); }
    .news-list__link:hover .news-list__arrow {
      transform: translateX(6px); }
  .news-list__image {
    border-radius: 5px;
    height: 76px;
    overflow: hidden;
    width: 105px; }
    @media screen and (min-width: 768px) {
      .news-list__image {
        height: 108px;
        width: 160px; } }
    @media screen and (min-width: 1200px) {
      .news-list__image {
        height: 116px;
        width: 175px; } }
    .news-list__image img {
      display: block;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
      width: 100%; }
  .news-list__body {
    align-self: center;
    min-width: 0;
    padding-right: 40px; }
  .news-list__date {
    display: block;
    font-family: "Oswald", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-size: 0.6em;
    font-weight: 400;
    line-height: 1.2em; }
    @media screen and (min-width: 768px) {
      .news-list__date {
        font-size: 0.8em; } }
    @media screen and (min-width: 1200px) {
      .news-list__date {
        font-size: 0.9em; } }
  .news-list__text {
    font-size: 0.85em;
    font-weight: 400;
    font-feature-settings: "palt";
    letter-spacing: 0.04em;
    line-height: 1.4;
    margin: 4px 0 0; }
    @media screen and (min-width: 768px) {
      .news-list__text {
        font-size: 0.9em;
        margin: 8px 0 0; } }
    @media screen and (min-width: 1200px) {
      .news-list__text {
        font-size: 1.0em; } }
  .news-list__arrow {
    bottom: 24px;
    font-size: 1.5em;
    line-height: 1;
    position: absolute;
    right: 0;
    transition: transform 0.3s ease; }
    @media screen and (min-width: 768px) {
      .news-list__arrow {
        align-self: center;
        bottom: auto;
        font-size: 1.625em;
        grid-column: 3;
        grid-row: 1;
        position: static;
        text-align: right; } }
    @media screen and (min-width: 1200px) {
      .news-list__arrow {
        font-size: 1.75em; } }

/*
---------------------------------------------------------------------------------------------------------------------
採用情報
---------------------------------------------------------------------------------------------------------------------
*/
.recruit {
  position: relative;
  background-color: #fff;
  overflow: hidden;
  border-radius: 5px;
  max-width: 1400px;
  width: 95%;
  margin: 40px auto 0; }
  @media screen and (min-width: 1200px) {
    .recruit {
      margin: 80px auto 0;
      border-radius: 15px;
      width: 97%; } }
  .recruit__inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 20px 5%;
    position: relative; }
    @media screen and (min-width: 768px) {
      .recruit__inner {
        padding: 40px 40px; } }
    @media screen and (min-width: 1200px) {
      .recruit__inner {
        padding: 60px 20px 0; } }
  .recruit__content {
    display: flex;
    flex-direction: column;
    margin-top: 44px;
    position: relative;
    z-index: 1; }
    @media screen and (min-width: 768px) {
      .recruit__content {
        align-items: center;
        display: grid;
        gap: 40px;
        grid-template-columns: 46% minmax(0, 1fr);
        grid-template-rows: auto auto; } }
    @media screen and (min-width: 1200px) {
      .recruit__content {
        align-items: center;
        display: grid;
        grid-template-columns: 1fr 400px 1fr;
        margin-top: -140px; } }
  .recruit__catch {
    order: 2;
    margin-top: 15px; }
    @media screen and (min-width: 768px) {
      .recruit__catch {
        align-self: end;
        grid-column: 2;
        grid-row: 1;
        margin-top: 0;
        padding: 0; } }
    @media screen and (min-width: 1200px) {
      .recruit__catch {
        align-self: center;
        grid-column: 1;
        grid-row: 1; } }
    .recruit__catch h2 {
      font-size: 1.5em;
      font-weight: 500;
      line-height: 1.6em;
      color: #223588; }
      @media screen and (min-width: 768px) {
        .recruit__catch h2 {
          font-size: 3.0vw; } }
      @media screen and (min-width: 1200px) {
        .recruit__catch h2 {
          font-size: 2.2vw; } }
      @media screen and (min-width: 1400px) {
        .recruit__catch h2 {
          font-size: 2.25em; } }
  .recruit__image {
    order: 1;
    overflow: hidden;
    width: 100%; }
    @media screen and (min-width: 768px) {
      .recruit__image {
        align-self: stretch;
        grid-column: 1;
        grid-row: 1 / 3;
        height: 100%;
        margin: 0;
        max-width: none; } }
    @media screen and (min-width: 1200px) {
      .recruit__image {
        grid-column: 2;
        grid-row: 1;
        max-width: none;
        width: 400px; } }
    .recruit__image .swiper {
      height: 100%;
      width: 100%; }
    .recruit__image .swiper-wrapper {
      height: 100%; }
    .recruit__image .swiper-slide {
      height: 100%; }
      .recruit__image .swiper-slide img {
        display: block;
        object-fit: cover;
        border-radius: 10px; }
  .recruit__body {
    order: 3;
    margin: 20px 0; }
    @media screen and (min-width: 768px) {
      .recruit__body {
        align-self: start;
        grid-column: 2;
        grid-row: 2;
        margin-top: 0;
        padding: 0; } }
    @media screen and (min-width: 1200px) {
      .recruit__body {
        align-self: center;
        grid-column: 3;
        grid-row: 1;
        padding-left: 40px; } }
  .recruit__text {
    font-size: 0.85em;
    line-height: 2.0em;
    margin: 0 0 20px 0; }
    @media screen and (min-width: 768px) {
      .recruit__text {
        font-size: 0.9em; } }
    @media screen and (min-width: 1200px) {
      .recruit__text {
        font-size: 1.0em;
        margin: 0 0 40px 0; } }
  .recruit .YokoScroll {
    display: flex;
    overflow: hidden; }
    @media screen and (min-width: 768px) {
      .recruit .YokoScroll {
        position: absolute;
        bottom: 0; } }
    .recruit .YokoScroll .slideshow {
      display: flex;
      opacity: 0.2;
      mix-blend-mode: multiply; }
      .recruit .YokoScroll .slideshow figure img {
        width: auto;
        height: 50px; }
        @media (min-width: 768px) {
          .recruit .YokoScroll .slideshow figure img {
            height: 70px; } }
        @media (min-width: 1200px) {
          .recruit .YokoScroll .slideshow figure img {
            height: 90px; } }
      .recruit .YokoScroll .slideshow.show1 {
        animation: loop-slide 300s infinite linear 1s both; }
@keyframes loop-slide {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
