@charset "UTF-8";
/* Objects */
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&family=Sawarabi+Mincho&display=swap");
@import url("https://use.typekit.net/fqb6tbl.css");
/* base color */
/* template color */
/* orizin color */
/* footer */
/* hamburger menu */
/* pagenavi */
/* contact page Navi*/
/* policy */
/* 404 */
/*.form */
@font-face {
  font-family: "Baskerville";
  src: local("Baskerville"), url("../../asset/fonts/Baskerville.woff") format("woff");
}
.mincho {
  font-family: "Noto Serif JP", 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo, serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-weight: 500;
}

.disp__only {
  display: none;
}
@media screen and (max-width: 900px) {
  .disp__only.--mobile {
    display: block;
  }
}
@media screen and (max-width: 450px) {
  .disp__only.--sp {
    display: block;
  }
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flex._list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.flex._fdr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 900px) {
  .flex._fdr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@-webkit-keyframes loop-slide-Right {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes loop-slide-Right {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes loop-slide-Left {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes loop-slide-Left {
  from {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.f-lineup {
  padding-top: clamp(72px, 16vw, 144px);
}
.f-lineup hgroup {
  padding-bottom: clamp(32px, 7.1111111111vw, 64px);
}
.f-lineup ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px;
}
@media screen and (max-width: 900px) {
  .f-lineup ul {
    gap: 24px;
  }
}
.f-lineup li {
  width: calc(50% - 24px);
  position: relative;
}
@media screen and (max-width: 900px) {
  .f-lineup li {
    width: calc(50% - 12px);
  }
}
@media screen and (max-width: 450px) {
  .f-lineup li {
    width: 100%;
  }
}
.f-lineup li figure {
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.f-lineup li figure img {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.f-lineup li .-hover {
  opacity: 0;
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(34, 34, 34, 0.8);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 1024px) {
  .f-lineup li .-hover {
    position: relative;
    width: 100%;
    height: auto;
    opacity: 1;
    padding: 32px 20px;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
    aspect-ratio: 768/427;
  }
}
@media screen and (max-width: 900px) {
  .f-lineup li .-hover {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.f-lineup li .-hover a {
  max-width: 228px;
  gap: 8px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.f-lineup li .-hover a span {
  position: relative;
  z-index: 2;
  display: block;
  aspect-ratio: 1/1;
  width: 18px;
}
.f-lineup li .-hover a span path {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.f-lineup li .-hover a span svg {
  display: block;
  aspect-ratio: 1/1;
  width: 18px;
}
.f-lineup li .-hover a:hover path {
  stroke: #222;
}
.f-lineup li:hover img {
  scale: 1.05;
}
.f-lineup li:hover .-hover {
  opacity: 1;
}
.f-lineup .-btn {
  margin-top: clamp(40px, 7.1111111111vw, 64px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.f-catalog {
  padding-top: clamp(72px, 16vw, 144px);
}
.f-catalog a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #222;
  width: 100%;
  max-width: 712px;
  margin: 0 auto;
  background: #fff;
  -webkit-box-shadow: 1.93px 1.93px 1.93px rgba(0, 0, 0, 0.1);
          box-shadow: 1.93px 1.93px 1.93px rgba(0, 0, 0, 0.1);
}
.f-catalog a p {
  font-size: clamp(0.8125rem, 3.0666666667vw, 1.4375rem);
  line-height: 1.45;
  letter-spacing: 0.005em;
  text-indent: 0.005em;
}
.f-catalog a:hover {
  opacity: 1;
}
.f-catalog a:hover figure img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.f-catalog a:hover .triangle {
  -webkit-transform: translateX(2px);
          transform: translateX(2px);
}
.f-catalog .-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: clamp(6px, 0.625vw, 8px);
  margin-top: 12px;
}
@media screen and (max-width: 495px) {
  .f-catalog .-flex {
    margin-top: 0;
  }
}
.f-catalog .-flex b {
  font-family: "futura-pt", sans-serif;
  font-style: normal;
  font-size: clamp(0.5625rem, 1.4444444444vw, 0.8125rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.002em;
  text-indent: 0.002em;
}
.f-catalog .-inner {
  width: 100%;
  padding: 0 clamp(24px, 2.96875vw, 38px);
  background: #fff;
}
.f-catalog figure {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 50%;
  overflow: hidden;
}
.f-catalog figure img {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  min-height: 88px;
  -o-object-fit: cover;
     object-fit: cover;
}
.f-catalog .triangle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.f-catalog .triangle::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 10px solid #222;
  border-right: 0;
}
@media screen and (max-width: 450px) {
  .f-catalog .triangle::before {
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-left: 7px solid #222;
  }
}

.f-news {
  padding-top: clamp(72px, 16vw, 144px);
  padding-bottom: clamp(93.5px, 20.7777777778vw, 187px);
}
.f-news hgroup {
  padding-bottom: clamp(32px, 7.1111111111vw, 64px);
}
.f-news .-wrap {
  width: 25vw;
  padding: 0 22px;
}
@media screen and (max-width: 1280px) {
  .f-news .-wrap {
    width: 28.5714285714vw;
  }
}
@media screen and (max-width: 900px) {
  .f-news .-wrap {
    width: 40vw;
  }
}
@media screen and (max-width: 450px) {
  .f-news .-wrap {
    width: 66.6666666667vw;
  }
}
.f-news .-wrap a figure {
  overflow: hidden;
}
.f-news .-wrap a figure img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.f-news .-wrap a p {
  font-size: clamp(0.8125rem, 1.6666666667vw, 0.9375rem);
  font-weight: 400;
  line-height: 1.75;
}
.f-news .-wrap a time {
  font-size: clamp(0.75rem, 1.4444444444vw, 0.8125rem);
  font-weight: 400;
  line-height: 1.75;
  color: #555;
}
.f-news .-wrap a:hover {
  opacity: 1;
}
.f-news .-wrap a:hover figure img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.f-news .slick-list {
  left: -22px;
  margin-right: -22px;
}
.f-news .slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 800px;
  margin: clamp(40px, 6.25vw, 80px) auto 0;
}
.f-news .slick-dots li {
  width: 100%;
  height: 3px;
}
.f-news .slick-dots li button {
  color: transparent;
  width: 100%;
  height: 3px;
  background: #fff;
  border: none;
  cursor: pointer;
}
.f-news .slick-dots li.slick-active button {
  background: #d9d9d9;
}
.f-news-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin: clamp(16px, 1.875vw, 24px) 0 16px;
}
.f-news-info .-new {
  background: #c8301d;
  color: #fff;
  font-size: clamp(0.625rem, 1.2222222222vw, 0.6875rem);
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 3px 14px 2px;
}
.f-news-info .-cat {
  border: 1px solid #ccc;
  font-size: clamp(0.625rem, 1.2222222222vw, 0.6875rem);
  font-weight: 400;
  padding: 3px 14px 0;
}

.f-about {
  margin-top: clamp(92px, 20.4444444444vw, 184px);
}
.f-about .-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2px;
}
@media screen and (max-width: 650px) {
  .f-about .-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.f-about .-bg {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.f-about .-bg img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.f-about a {
  position: relative;
}
.f-about a:hover {
  opacity: 1;
}
.f-about a:hover .-bg img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-filter: brightness(1.5);
          filter: brightness(1.5);
}
.f-about a:hover .-btn {
  color: #222;
}
.f-about a:hover .-btn::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.f-about .-inner {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: clamp(24px, 2.5vw, 32px);
}

.f-recruit {
  margin-top: clamp(92px, 20.4444444444vw, 184px);
}
.f-recruit .section {
  height: 100dvh;
  position: relative;
  color: #fff;
}
@media screen and (max-width: 1240px) {
  .f-recruit .section {
    min-height: 65dvh;
    height: auto;
  }
}
@media screen and (max-width: 900px) {
  .f-recruit .section {
    min-height: 45dvh;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .section {
    min-height: 35dvh;
  }
  .f-recruit .section:nth-of-type(1) .-wrap, .f-recruit .section:nth-of-type(3) .-wrap {
    min-height: 365px;
  }
}
.f-recruit .-wrap {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: inherit;
}
@media screen and (max-width: 1240px) {
  .f-recruit .-wrap {
    position: relative;
    min-height: 65dvh;
  }
}
@media screen and (max-width: 900px) {
  .f-recruit .-wrap {
    min-height: 45dvh;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .-wrap {
    min-height: 35dvh;
  }
}
.f-recruit .-wrap hgroup {
  position: absolute;
  top: clamp(40px, 4.375vw, 56px);
  left: clamp(30px, 8.125vw, 104px);
  z-index: 3;
}
.f-recruit .-wrap.lazy-show .-brush img {
  clip-path: inset(0 0% 0% 0);
}
.f-recruit .-wrap .-bg {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  min-height: 365px;
}
.f-recruit .-wrap .-bg img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  max-width: initial;
}
.f-recruit .-bgmask {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100dvh;
}
.f-recruit .-bgmask::before {
  content: "";
  position: absolute;
  z-index: 1;
  mix-blend-mode: multiply;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #dbc495;
  opacity: 0.8;
}
@media screen and (max-width: 900px) {
  .f-recruit .-bgmask::before {
    opacity: 0.5;
  }
}
@media screen and (max-width: 1240px) {
  .f-recruit .-bgmask {
    position: absolute;
    height: 100%;
  }
}
.f-recruit .-bgmask img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: initial;
  -o-object-fit: cover;
     object-fit: cover;
}
.f-recruit .-inner {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.f-recruit .-inner span {
  font-size: clamp(1.5rem, 4.2222222222vw, 2.375rem);
  font-weight: 400;
  text-shadow: 0 0 6.61px black;
  text-align: center;
  white-space: nowrap;
  display: block;
}
.f-recruit .-inner span br {
  display: none;
}
@media screen and (max-width: 1280px) {
  .f-recruit .-inner span br {
    display: block;
  }
}
.f-recruit .-inner > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.f-recruit .-brush {
  position: absolute;
  z-index: 1;
  top: 300px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  max-width: 913px;
  width: 100%;
  opacity: 0.5;
}
.f-recruit .-brush img {
  -webkit-transition: all 0.4s 1.5s linear;
  transition: all 0.4s 1.5s linear;
  clip-path: inset(0 100% 0% 0);
}
.f-recruit .-catch {
  margin-bottom: clamp(40px, 6.2222222222vw, 56px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: clamp(128px, 12.5vw, 200px);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1201px) and (max-width: 1300px) {
  .f-recruit .-catch {
    width: clamp(128px, 10vw, 160px);
  }
  .f-recruit .-catch svg {
    width: 100%;
    height: auto;
  }
  .f-recruit .-catch + p {
    font-size: 15px;
  }
}
.f-recruit .-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: clamp(40px, 6.2222222222vw, 56px);
}
.f-recruit .-flex {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  padding: clamp(40px, 4.375vw, 56px) clamp(30px, 8.125vw, 104px) clamp(40px, 11.25vw, 144px);
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 72px;
}
@media screen and (max-width: 1240px) {
  .f-recruit .-flex {
    padding: clamp(132px, 12.5vw, 160px) 0 clamp(40px, 11.25vw, 144px);
    position: relative;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 96px;
  }
}
@media screen and (max-width: 900px) {
  .f-recruit .-flex {
    padding-top: 172px;
  }
}
.f-recruit .-left,
.f-recruit .-right {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.f-recruit .-center {
  padding-top: clamp(30px, 4vw, 64px);
}
@media screen and (max-width: 1240px) {
  .f-recruit .-center {
    padding: 0 clamp(30px, 8.125vw, 104px);
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
.f-recruit .-left {
  width: clamp(120px, 14.75vw, 236px);
  margin-right: clamp(30px, 5vw, 80px);
}
@media screen and (max-width: 1300px) {
  .f-recruit .-left {
    width: clamp(120px, 20000vw, 200px);
  }
}
@media screen and (max-width: 1240px) {
  .f-recruit .-left {
    width: 40%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin-right: initial;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .-left {
    width: 35%;
  }
}
.f-recruit .-left figure {
  z-index: 0;
  position: absolute;
  left: 0;
  top: clamp(220px, 27.578125vw, 353px);
  width: clamp(148px, 23.0625vw, 369px);
}
@media screen and (max-width: 1240px) {
  .f-recruit .-left figure {
    position: relative;
    top: 20dvh;
    width: 90%;
  }
}
@media screen and (max-width: 900px) {
  .f-recruit .-left figure {
    top: 10dvh;
  }
}
@media screen and (max-width: 720px) {
  .f-recruit .-left figure {
    top: 5vh;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .-left figure {
    width: 100%;
  }
}
.f-recruit .-right {
  width: clamp(160px, 22.5vw, 360px);
}
@media screen and (max-width: 1240px) {
  .f-recruit .-right {
    position: relative;
    aspect-ratio: 20/31;
    width: 50%;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
@media screen and (max-width: 820px) {
  .f-recruit .-right {
    width: 45%;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .-right {
    aspect-ratio: 20/45;
    width: 35%;
  }
}
.f-recruit .-right figure {
  position: absolute;
}
.f-recruit .-right figure:nth-of-type(1) {
  width: clamp(148px, 23.0625vw, 369px);
  top: 0;
  right: 0;
}
@media screen and (max-width: 1240px) {
  .f-recruit .-right figure:nth-of-type(1) {
    width: 75%;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .-right figure:nth-of-type(1) {
    width: 100%;
  }
}
.f-recruit .-right figure:nth-of-type(2) {
  width: clamp(150px, 23.5625vw, 377px);
  bottom: 0;
  right: clamp(38px, 7.8125vw, 100px);
}
@media screen and (max-width: 1240px) {
  .f-recruit .-right figure:nth-of-type(2) {
    right: 25%;
    width: 75%;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .-right figure:nth-of-type(2) {
    width: 100%;
  }
}
.f-recruit .btn-entry {
  width: clamp(120px, 20.2222222222vw, 182px);
  height: clamp(120px, 20.2222222222vw, 182px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: clamp(120px, 17.34375vw, 222px);
  right: clamp(38px, 13.75vw, 176px);
  z-index: 3;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #55514d;
}
.f-recruit .btn-entry.lazy {
  -webkit-transform: translateY(270px);
          transform: translateY(270px);
  opacity: 0;
}
.f-recruit .btn-entry.lazy-show {
  opacity: 1;
  -webkit-animation: poyoyon 1s forwards;
          animation: poyoyon 1s forwards;
}
@media screen and (max-width: 1240px) {
  .f-recruit .btn-entry {
    bottom: 90dvh;
    right: initial;
    left: 25dvw;
  }
}
@media screen and (max-width: 900px) {
  .f-recruit .btn-entry {
    bottom: 50dvh;
  }
}
@media screen and (max-width: 450px) {
  .f-recruit .btn-entry {
    bottom: 270px;
  }
}
@media screen and (max-width: 370px) {
  .f-recruit .btn-entry {
    width: 100px;
    height: 100px;
    bottom: 230px;
  }
}
.f-recruit .btn-entry::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid #55514d;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 450px) {
  .f-recruit .btn-entry::before {
    -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
            box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
  }
}
.f-recruit .btn-entry h3 {
  font-family: "futura-pt", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.6875rem, 4.4444444444vw, 2.5rem);
  position: relative;
  z-index: 1;
}
.f-recruit .btn-entry span {
  position: absolute;
  left: 50%;
  width: clamp(27px, 2.8125vw, 36px);
  height: 2px;
  border-radius: 3px;
  background-color: #55514d;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.f-recruit .btn-entry span:nth-of-type(1) {
  top: 26%;
  -webkit-transform: translateX(-50%) rotate(0deg);
          transform: translateX(-50%) rotate(0deg);
}
.f-recruit .btn-entry span:nth-of-type(2) {
  top: 32%;
  -webkit-transform: translateX(-50%) rotate(0deg);
          transform: translateX(-50%) rotate(0deg);
}
.f-recruit .btn-entry .triangle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: 26%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.f-recruit .btn-entry .triangle::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 20px solid #55514d;
  border-right: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 450px) {
  .f-recruit .btn-entry .triangle::before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 15px solid #55514d;
  }
}
.f-recruit .btn-entry:hover {
  opacity: 1;
  color: #fff;
}
.f-recruit .btn-entry:hover::before {
  -webkit-transform: translate(-50%, -50%) scale(1.05);
          transform: translate(-50%, -50%) scale(1.05);
  background: #55514d;
}
.f-recruit .btn-entry:hover span {
  background-color: #fff;
}
.f-recruit .btn-entry:hover span:nth-of-type(1) {
  -webkit-transform: translate(-18%, -10px) rotate(-30deg);
          transform: translate(-18%, -10px) rotate(-30deg);
}
.f-recruit .btn-entry:hover span:nth-of-type(2) {
  -webkit-transform: translate(-63%, -56%) rotate(8deg);
          transform: translate(-63%, -56%) rotate(8deg);
}
.f-recruit .btn-entry:hover .triangle::before {
  border-left: 20px solid #fff;
}

@-webkit-keyframes poyoyon {
  0% {
    -webkit-transform: translateY(270px);
            transform: translateY(270px);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  65% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes poyoyon {
  0% {
    -webkit-transform: translateY(270px);
            transform: translateY(270px);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  50% {
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  65% {
    -webkit-transform: translateY(30px);
            transform: translateY(30px);
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.front_fixd {
  position: fixed;
  z-index: -3;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  background: #fff;
}
.front_fixd .front_fixd__img {
  opacity: 0;
  -webkit-transform: scale(1.2, 1.2);
          transform: scale(1.2, 1.2);
  -webkit-transition: all 1.6s;
  transition: all 1.6s;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.front_fixd .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.front_fixd .front_fixd__img_act {
  opacity: 1;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.front_fixd__comp {
  opacity: 0;
}

.l-layout_b,
.f-lineup,
.f-catalog,
.f-news {
  background-image: url(../../asset/images/bg_small.png);
  background-size: 50%;
  background-repeat: repeat;
}

/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
home_others__slick1----
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.home_others__slick1 {
  height: 100vh;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1001px) {
  .home_others__slick1 {
    min-height: 700px;
  }
}

.home_others__slick1__wrap {
  position: relative;
  width: 100%;
  max-width: 1180px;
  margin: auto;
  padding-right: 40px;
  padding-left: 40px;
  overflow: clip;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 450px) {
  .home_others__slick1__wrap {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.home_others__slick1__content {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 56px 70px 64px;
  background: rgba(234, 234, 234, 0.7);
  backdrop-filter: blur(7px);
  border-radius: 0px;
}
@media screen and (max-width: 900px) {
  .home_others__slick1__content {
    padding: 40px 40px 48px;
  }
}
@media screen and (min-width: 500px) and (max-width: 1000px) {
  .home_others__slick1__content {
    margin: auto;
  }
}
@media screen and (max-width: 450px) {
  .home_others__slick1__content {
    padding: 40px 20px 48px;
  }
}

.home_others__slick1__haeline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Futura PT";
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.5rem, 4.8888888889vw, 2.75rem);
  letter-spacing: 0.1em;
  color: #222222;
  gap: 21px;
}
@media screen and (max-width: 900px) {
  .home_others__slick1__haeline {
    gap: 18px;
  }
}
@media screen and (max-width: 450px) {
  .home_others__slick1__haeline {
    gap: 8px;
  }
}
.home_others__slick1__haeline svg {
  width: 32px;
}

.home_others__slick1__read {
  display: block;
  margin: 24px 0 36px;
}
@media screen and (max-width: 900px) {
  .home_others__slick1__read {
    margin: 16px 0 24px;
  }
}

.home_others__slick1__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
.home_others__slick1__btns a {
  width: 200px;
}
@media screen and (max-width: 450px) {
  .home_others__slick1__btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .home_others__slick1__btns a {
    margin: auto;
  }
}

/*================================================
home_others__slick1----END
==================================================*/
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
home_others__slick2----
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.home_others__slick2 {
  height: 100vh;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
}
@media screen and (min-width: 1001px) {
  .home_others__slick2 {
    min-height: 700px;
  }
}

.home_others__slick2__headline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 32px;
}
@media screen and (max-width: 900px) {
  .home_others__slick2__headline {
    gap: 24px;
  }
}

.home_others__slick2__txt {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  line-height: 1;
  font-style: normal;
  font-weight: 500;
  font-size: clamp(1.5rem, 3.5555555556vw, 2rem);
  line-height: 120%;
  letter-spacing: 0.27em;
  color: #FFFFFF;
}

/*================================================
home_others__slick2----END
==================================================*/
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
home_others__slick3----
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.home_others__slick3 {
  position: relative;
  height: 100vh;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  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;
}
@media screen and (min-width: 1001px) {
  .home_others__slick3 {
    min-height: 700px;
  }
}

.home_others__slick3__wrap {
  position: relative;
  text-align: center;
  color: #fff;
}
.home_others__slick3__wrap::before {
  content: "";
  background: url(../../asset/images/front/back_m_blur.png);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.4;
  width: 636px;
  height: 451px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 450px) {
  .home_others__slick3__wrap::before {
    top: 100%;
    width: 320px;
    height: 451px;
  }
}

.home_others__slick3__headline {
  font-family: "Futura PT";
  font-style: normal;
  font-weight: 300;
  font-size: clamp(3.25rem, 8.8888888889vw, 5rem);
  line-height: 103px;
  text-align: center;
  color: #FFFFFF;
}

.home_others__slick3__read {
  display: block;
  margin: 30px 0 40px;
  font-style: normal;
  font-weight: 500;
  font-size: clamp(0.9375rem, 1.7777777778vw, 1rem);
  line-height: 225%;
  text-align: center;
  color: #FFFFFF;
}
@media screen and (max-width: 900px) {
  .home_others__slick3__read {
    margin: 24px 0 32px;
  }
}
@media screen and (max-width: 450px) {
  .home_others__slick3__read br {
    display: block;
  }
}

.home_others__slick3__btn a {
  margin: auto;
}

.sp_only {
  display: none;
}
@media screen and (max-width: 450px) {
  .sp_only {
    display: block;
  }
}

.home_others__slick3 .btn-entry {
  width: clamp(100px, 20.2222222222vw, 182px);
  height: clamp(100px, 20.2222222222vw, 182px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  right: 149px;
  bottom: 93px;
  z-index: 3;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #55514d;
}
@media screen and (max-width: 900px) {
  .home_others__slick3 .btn-entry {
    right: 40px;
    bottom: 40px;
  }
}
@media screen and (max-width: 450px) {
  .home_others__slick3 .btn-entry {
    right: 20px;
    bottom: 32px;
  }
}
.home_others__slick3 .btn-entry.lazy {
  -webkit-transform: translateY(270px);
          transform: translateY(270px);
  opacity: 0;
}
.home_others__slick3 .btn-entry.lazy-show {
  opacity: 1;
  -webkit-animation: poyoyon 1s forwards;
          animation: poyoyon 1s forwards;
}
@media screen and (max-width: 370px) {
  .home_others__slick3 .btn-entry {
    width: 100px;
  }
}
.home_others__slick3 .btn-entry::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
  border: 1px solid #55514d;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 450px) {
  .home_others__slick3 .btn-entry::before {
    -webkit-box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
            box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.25);
  }
}
.home_others__slick3 .btn-entry h3 {
  font-family: "futura-pt", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: clamp(1.6875rem, 4.4444444444vw, 2.5rem);
  position: relative;
  z-index: 1;
}
.home_others__slick3 .btn-entry span {
  position: absolute;
  left: 50%;
  width: clamp(27px, 2.8125vw, 36px);
  height: 2px;
  border-radius: 3px;
  background-color: #55514d;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.home_others__slick3 .btn-entry span:nth-of-type(1) {
  top: 26%;
  -webkit-transform: translateX(-50%) rotate(0deg);
          transform: translateX(-50%) rotate(0deg);
}
.home_others__slick3 .btn-entry span:nth-of-type(2) {
  top: 32%;
  -webkit-transform: translateX(-50%) rotate(0deg);
          transform: translateX(-50%) rotate(0deg);
}
.home_others__slick3 .btn-entry .triangle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  bottom: 26%;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.home_others__slick3 .btn-entry .triangle::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 20px solid #55514d;
  border-right: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 450px) {
  .home_others__slick3 .btn-entry .triangle::before {
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 15px solid #55514d;
  }
}
.home_others__slick3 .btn-entry:hover {
  opacity: 1;
  color: #fff;
}
.home_others__slick3 .btn-entry:hover::before {
  -webkit-transform: translate(-50%, -50%) scale(1.05);
          transform: translate(-50%, -50%) scale(1.05);
  background: #55514d;
}
.home_others__slick3 .btn-entry:hover span {
  background-color: #fff;
}
.home_others__slick3 .btn-entry:hover span:nth-of-type(1) {
  -webkit-transform: translate(-18%, -10px) rotate(-30deg);
          transform: translate(-18%, -10px) rotate(-30deg);
}
.home_others__slick3 .btn-entry:hover span:nth-of-type(2) {
  -webkit-transform: translate(-63%, -56%) rotate(8deg);
          transform: translate(-63%, -56%) rotate(8deg);
}
.home_others__slick3 .btn-entry:hover .triangle::before {
  border-left: 20px solid #fff;
}

/*================================================
home_others__slick3----END
==================================================*/
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
top_news----
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.top_news {
  background: #8CAFA4;
  padding: 20px 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 11;
}
@media screen and (max-width: 900px) {
  .top_news {
    padding: 16px 20px;
  }
}

.top_news__list {
  position: relative;
  height: 1.75em;
  overflow: hidden;
}
@media screen and (max-width: 900px) {
  .top_news__list {
    height: 1.3em;
  }
}

.top_news__link {
  font-style: normal;
  font-weight: 500;
  font-size: clamp(0.625rem, 1.6666666667vw, 0.9375rem);
  line-height: 175%;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  width: calc(100% - 200px);
}
@media screen and (max-width: 450px) {
  .top_news__link {
    width: calc(100% - 40px);
  }
}

.top_news__mask {
  overflow: hidden;
  height: 1.75em;
}
@media screen and (max-width: 900px) {
  .top_news__mask {
    height: 1.3em;
  }
}

.top_news__list {
  position: relative;
}

/*================================================
top_news----END
==================================================*/
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
fixd_banners----
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.l-mv-sns {
  display: none !important;
}

/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
st font----
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
.contant_start {
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
}

body {
  font-weight: 500;
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.top_news__item,
.contant_start {
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
}

p, th, td, li, dt, dd, address {
  font-weight: 500;
}

.c-button b,
.l-footer-nav a,
.l-footer-address,
.l-header-menu a {
  font-family: "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 500;
}

.l-mv .-catch span,
.c-title_front p,
.home_others__slick3__headline,
.c-title_cta p,
.l-footer-copy {
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 300;
}

.f-catalog .-flex b,
.f-news-info .-new,
.home_others__slick1__haeline,
.home_others__slick3 .btn-entry h3,
.l-cta .-inner a b,
.c-button-cta b,
.f-news .-wrap a time {
  font-family: "futura-pt", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 400;
}

/*================================================
st font----END
==================================================*/