@charset "UTF-8";
/* medium */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap");
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
/* フォームリセット */
input[type=checkbox],
input[type=radio] {
  display: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

/* リキッドレイアウト対応 */
html body .sp {
  display: none;
}
@media screen and (max-width: 767px) {
  html body .sp {
    display: block;
  }
}

html body .pc {
  display: block;
}
@media screen and (max-width: 767px) {
  html body .pc {
    display: none;
  }
}

html body {
  color: #000000;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: clamp(14px, 1rem, 1rem);
}
@media screen and (max-width: 767px) {
  html body {
    letter-spacing: 0.03em;
  }
}

h1, h2, h3, h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.ja {
  font-family: "Noto Sans JP", sans-serif;
}

.en {
  font-family: "Jost", sans-serif;
}

@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
html {
  font-size: 16px;
}
@media (min-width: 768px) {
  html {
    font-size: 1.4545454545vw;
  }
}
@media (min-width: 1100px) {
  html {
    font-size: 16px;
  }
}

/* aタグ設定 */
a {
  text-decoration: none;
  color: inherit;
}

/* pcの電話番号発信対応 */
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

html {
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 376px) {
  html {
    font-size: 0.875rem;
  }
}

h2, h3, h4 {
  color: #000000;
  font-weight: 500;
  letter-spacing: 0.03em;
}
h2:has(svg), h3:has(svg), h4:has(svg) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}

@media screen and (max-width: 767px) {
  p {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}

img {
  pointer-events: none;
}

.disp-sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .disp-sp {
    display: block !important;
  }
}

.disp-pc {
  display: block !important;
}
@media screen and (max-width: 767px) {
  .disp-pc {
    display: none !important;
  }
}

.disp-sp-inline {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .disp-sp-inline {
    display: inline-block !important;
  }
}

.disp-pc-inline {
  display: inline-block !important;
}
@media screen and (max-width: 767px) {
  .disp-pc-inline {
    display: none !important;
  }
}

a.l-hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  a.l-hover:hover {
    opacity: 0.7;
  }
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  padding-top: 0.625rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.l-header.down {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
@media screen and (max-width: 767px) {
  .l-header {
    padding-left: 0.4375rem;
    padding-right: 0.4375rem;
  }
}
.l-header__inner {
  max-width: 93.875rem;
  height: 3.9375rem;
  margin-left: auto;
  margin-right: auto;
  border-radius: 9999px;
  padding: 0rem 0.625rem 0rem 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: space-between;
  position: relative;
  background: #fff;
}
@media screen and (max-width: 1025px) {
  .l-header__inner {
    padding: 7px 20px 7px 10px;
    height: 63px;
  }
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding: 0.4375rem 1.34375rem 0.4375rem 0.625rem;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 3.1875rem;
  }
}
.l-header:has(+ .l-offcanvas.is-active) {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}
.l-header.header__under {
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
}

.header__logo img {
  width: min(16.8650793651vw, 255px);
}
@media screen and (max-width: 1025px) {
  .header__logo img {
    width: 255px;
  }
}
@media screen and (max-width: 767px) {
  .header__logo img {
    width: clamp(13.125rem, 52.5vw, 255px);
  }
}
@media screen and (max-width: 1441px) {
  .header__logo {
    width: 100%;
  }
}
@media screen and (max-width: 1025px) {
  .header__logo {
    width: auto;
  }
}
.header__nav {
  height: -webkit-fill-available;
}
.header__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: min(1.9841269841vw, 30px);
     -moz-column-gap: min(1.9841269841vw, 30px);
          column-gap: min(1.9841269841vw, 30px);
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1200px) {
  .header__nav-list {
    -webkit-column-gap: min(1.3227513228vw, 20px);
       -moz-column-gap: min(1.3227513228vw, 20px);
            column-gap: min(1.3227513228vw, 20px);
  }
}
.header__nav-item {
  font-size: clamp(13px, 0.9920634921vw, 0.9375rem);
  white-space: nowrap;
  position: relative;
  height: 100%;
}
.header__nav-item.is-open .header__nav-child {
  display: inline-block;
}
.header__nav-item a {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header__nav-link {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  height: 3.9375rem;
  padding: 1.25rem 0;
}
.header__nav-link.recruitment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.header__nav-child {
  position: absolute;
  top: 2.9375rem;
  left: -1.5625rem;
  padding: 1.25rem 1.5625rem 0.9375rem;
  background-color: rgb(255, 255, 255);
  border-radius: 0 0 0.625rem 0.625rem;
  -webkit-transform: translateY(4px);
          transform: translateY(4px);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  font-size: clamp(12px, 0.9920634921vw, 0.9375rem);
  letter-spacing: 0.005em;
  color: #5F5F5F;
  opacity: 0;
  visibility: hidden;
  z-index: -2;
}
.header__nav-child li + li {
  margin-top: clamp(10px, 0.7936507937vw, 0.75rem);
}
.header__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: min(2.6455026455vw, 40px);
  height: 100%;
}
@media screen and (max-width: 1200px) {
  .header__menu {
    gap: 1.3227513228vw;
  }
}
@media screen and (max-width: 1025px) {
  .header__menu .pc {
    display: none;
  }
}
@media screen and (max-width: 1025px) {
  .header__menu .sp {
    display: block;
  }
}
.header__hamburger {
  width: 30px;
  height: 30px;
  padding: 0;
  position: relative;
}
.header__hamburger span {
  width: 100%;
  height: 1px;
  background-color: #000;
  display: block;
  border-radius: 9999px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header__hamburger span:nth-child(1) {
  position: absolute;
  top: 10px;
}
.header__hamburger span:nth-child(2) {
  position: absolute;
  bottom: 10px;
}
.header__hamburger.is-active span:nth-child(1) {
  -webkit-transform: translateY(5px) rotate(45deg);
          transform: translateY(5px) rotate(45deg);
}
.header__hamburger.is-active span:nth-child(2) {
  -webkit-transform: translateY(-4px) rotate(-45deg);
          transform: translateY(-4px) rotate(-45deg);
}
.header .pc:has(.u-btn-blue) .u-btn-blue {
  font-size: clamp(13px, 0.9920634921vw, 0.9375rem);
  min-width: unset;
}
@media screen and (max-width: 1200px) {
  .header .pc:has(.u-btn-blue) .u-btn-blue {
    padding: 0.5625rem 0.5625rem 0.5625rem 0.9375rem;
    gap: 0.4375rem;
  }
}

.l-offcanvas {
  position: fixed;
  inset: 0;
  z-index: 98;
  opacity: 0;
  visibility: hidden;
  overflow: scroll;
  pointer-events: none;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  background: #F8F8F8;
  padding-bottom: 19.9004975124vw;
}
.l-offcanvas.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-offcanvas__nav {
  padding-top: clamp(40px, 23.631840796vw, 115px);
  width: clamp(320px, 79.6019900498vw, 400px);
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  place-content: center;
  font-size: clamp(14px, 3.4825870647vw, 16px);
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
}
.l-offcanvas__nav-item {
  margin-bottom: 1.5875rem;
}
.l-offcanvas__nav-item__top {
  border-bottom: 1px solid #E8E8E8;
  padding-bottom: 0.75rem;
  margin-bottom: 0.625rem;
  display: block;
  font-weight: 500;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: space-between;
}
.l-offcanvas__nav-item__top i {
  width: 1.875rem;
  height: 1.875rem;
  border: 1px solid #1A5BA9;
  border-radius: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M0.5 7.09668H13.7' stroke='%231A5BA9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.09766 13.7002L7.09766 0.500195' stroke='%231A5BA9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.9375rem 0.9375rem;
}
.l-offcanvas__nav-item__top i.link {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M0.5 3.18164C0.223858 3.18164 0 3.4055 0 3.68164C0 3.95778 0.223858 4.18164 0.5 4.18164V3.68164V3.18164ZM11.6536 4.03519C11.8488 3.83993 11.8488 3.52335 11.6536 3.32809L8.47157 0.146107C8.27631 -0.0491555 7.95973 -0.0491555 7.76447 0.146107C7.5692 0.341369 7.5692 0.657951 7.76447 0.853214L10.5929 3.68164L7.76447 6.51007C7.5692 6.70533 7.5692 7.02191 7.76447 7.21717C7.95973 7.41244 8.27631 7.41244 8.47157 7.21717L11.6536 4.03519ZM0.5 3.68164V4.18164H11.3V3.68164V3.18164H0.5V3.68164Z' fill='%231A5BA9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.75rem 0.5rem;
}
.l-offcanvas__nav-item__top i.window {
  background-image: none;
}
.l-offcanvas__nav-item__top i.window svg {
  width: 2.5rem;
  height: auto;
}
.l-offcanvas__nav-item__top.open i {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='1' viewBox='0 0 15 1' fill='none'%3E%3Cpath d='M0.5 0.5H13.7' stroke='%231A5BA9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.9375rem 1px;
}
.l-offcanvas__nav-item__bottom {
  color: #5F5F5F;
  display: -ms-grid;
  display: grid;
  gap: 0.5rem;
  display: none;
}
.l-offcanvas__nav-item__bottom li + li {
  margin-top: 0.75rem;
}
.l-offcanvas__nav-item .letter {
  opacity: 0;
  position: relative;
  left: -10px;
  display: inline-block;
}
.l-offcanvas .l-offcanvas__btn {
  margin: 0 auto;
  min-width: 12.5rem;
}
.l-offcanvas .l-offcanvas__btn__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
}

html {
  scrollbar-gutter: stable;
}

html.is-open__menu {
  overflow: hidden;
}
html.is-open__menu .is-open > a {
  opacity: 1;
}
html.is-open__menu .is-open .header__nav-child {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}
.inner {
  width: 62.5rem;
  max-width: 100%;
  padding: 0 1.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 376px) {
  .inner {
    padding: 0 3.75rem;
  }
}

.js__fadein {
  opacity: 0;
  position: relative;
  -webkit-transform: translateY(1.875rem);
          transform: translateY(1.875rem);
}

.js__fadein--image {
  opacity: 0;
  position: relative;
  -webkit-transform: translateY(2.5rem);
          transform: translateY(2.5rem);
}

.l-inner {
  max-width: 84.375rem;
  margin: 0 auto;
  padding: 0 4.375rem;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding: 0 1.25rem;
    max-width: 33.75rem;
  }
}

@media screen and (max-width: 767px) {
  .l-inner-sp {
    max-width: 33.75rem;
    margin: 0 auto;
  }
}

.l-split {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .l-split {
    display: -ms-grid;
    display: grid;
  }
}

.l-col2 {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(50% - 0.9375rem) 0.9375rem calc(50% - 0.9375rem);
  grid-template-columns: calc(50% - 0.9375rem) calc(50% - 0.9375rem);
  gap: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .l-col2 {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
  }
}
.l-col2 a {
  display: block;
}
.l-col2 a figure {
  display: block;
  width: 100%;
  aspect-ratio: 590/300;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-col2 a figure {
    aspect-ratio: 365/205;
  }
}
.l-col2 a figure img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (min-width: 768px) {
  .l-col2 a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col2 a svg rect {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col2 a svg path {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col2 a:hover img {
    opacity: 0.7;
  }
  .l-col2 a:hover svg rect {
    fill: #1A5BA9;
  }
  .l-col2 a:hover svg path {
    fill: #fff;
  }
}

.l-col3 {
  display: -ms-grid;
  display: grid;
  gap: 1.875rem;
  -ms-grid-columns: 1fr 1.875rem 1fr 1.875rem 1fr;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .l-col3 {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    gap: 2.5rem;
  }
}
.l-col3 a {
  display: block;
}
@media screen and (min-width: 768px) {
  .l-col3 a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col3 a svg rect {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col3 a svg path {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-col3 a:hover img {
    opacity: 0.7;
  }
  .l-col3 a:hover svg rect {
    fill: #1A5BA9;
  }
  .l-col3 a:hover svg path {
    fill: #fff;
  }
}
.l-col3 .c-block figure {
  display: block;
}
.l-col3 .c-block figure img {
  aspect-ratio: 383/240;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0.625rem;
}
.l-col3 .c-block .c-block__ttl {
  margin-top: 1.125rem;
}
.l-col3 .c-block p {
  margin-top: 0.8125rem;
}

.u-ttl {
  font-size: 1.9375rem;
  padding-bottom: 1.875rem;
  line-height: 1.7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: 500;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .u-ttl {
    font-size: clamp(18px, 5.223880597vw, 21px);
    padding-bottom: 1.5625rem;
  }
}
.u-ttl__inner {
  display: -ms-inline-grid;
  display: inline-grid;
}
.u-ttl .en {
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.4375rem;
  place-content: center;
  text-align: center;
  color: #5F5F5F;
  font-weight: 400;
  letter-spacing: 0.03em;
  position: relative;
}
.u-ttl .en::before {
  content: "";
  background: #1A5BA9;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 100%;
}
.u-ttl .en + span {
  margin-top: 0.5rem;
  display: block;
}
.u-ttl--white {
  color: #fff;
}
.u-ttl--white .en {
  color: #fff;
}
.u-ttl--white .en::before {
  background: #fff;
}

.u-ttl--section {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  font-size: clamp(17px, 1.25rem, 1.25rem);
}

.u-ttl-wrapper {
  text-align: center;
}

.u-btn__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.u-btn-blue {
  color: #fff;
  font-size: clamp(13px, 0.9375rem, 0.9375rem);
  letter-spacing: 0.005em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  place-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  padding: 0.5625rem 0.5625rem 0.5625rem 1.25rem;
  background-color: #1A5BA9;
  border-radius: 999px;
  white-space: nowrap;
  border: 1px solid #1A5BA9;
  min-width: 13.0625rem;
  height: 2.9375rem;
  min-height: 40px;
}
@media screen and (max-width: 767px) {
  .u-btn-blue {
    min-width: 12.5rem;
    height: 3.3125rem;
  }
}
.u-btn-blue svg rect {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  stroke-width: 1.3;
}
.u-btn-blue svg path {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.u-btn-blue svg.ico-windowv {
  width: 1.875rem;
  height: 1.875rem;
}
@media screen and (min-width: 768px) {
  .u-btn-blue {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .u-btn-blue:hover {
    background-color: #fff;
    color: #1A5BA9;
  }
  .u-btn-blue:hover svg rect {
    fill: #1A5BA9;
  }
  .u-btn-blue:hover svg path {
    fill: #fff;
  }
}

.u-btn-blue--reverse {
  border: 1px solid #1A5BA9;
  color: #1A5BA9;
  background: #fff;
  font-size: clamp(13px, 0.875rem, 0.875rem);
  letter-spacing: 0.005em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.625rem;
     -moz-column-gap: 0.625rem;
          column-gap: 0.625rem;
  padding: 0.5625rem 0.5625rem 0.5625rem 1.5625rem;
  border-radius: 999px;
  white-space: nowrap;
  place-content: space-between;
  min-width: 13.0625rem;
  height: 2.9375rem;
  min-height: 40px;
}
@media screen and (max-width: 767px) {
  .u-btn-blue--reverse {
    min-width: 12.5rem;
    padding: 0.4375rem 0.5625rem 0.4375rem 1.5625rem;
    height: 3.3125rem;
  }
}
.u-btn-blue--reverse svg rect {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  stroke-width: 1.3;
}
.u-btn-blue--reverse svg path {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.u-btn-blue--reverse svg.ico-window {
  width: 1.875rem;
  height: 1.875rem;
}
@media screen and (min-width: 768px) {
  .u-btn-blue--reverse {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .u-btn-blue--reverse:hover {
    background-color: #1A5BA9;
    color: #fff;
  }
  .u-btn-blue--reverse:hover svg rect {
    fill: #fff;
  }
  .u-btn-blue--reverse:hover svg path {
    fill: #1A5BA9;
  }
}
.u-btn-blue--reverse.prev {
  padding: 0.5625rem 1.5625rem 0.5625rem 0.5625rem;
  gap: 0.625rem;
  min-width: auto;
}
@media screen and (max-width: 767px) {
  .u-btn-blue--reverse.prev {
    padding: 0.4375rem 1.5625rem 0.4375rem 0.5625rem;
  }
}
.u-btn-blue--reverse.prev svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.u-btn-wrapper {
  text-align: center;
}

.back-to-top {
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  z-index: 10;
  width: 4.375rem;
  height: 4.375rem;
}
@media screen and (max-width: 767px) {
  .back-to-top {
    width: 3.75rem;
    height: 3.75rem;
    right: 0.625rem;
    bottom: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .back-to-top.underpage {
    display: none;
  }
}

.c-block figure {
  border-radius: 0.625rem;
}
.c-block__ttl {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
  font-size: 1.3125rem;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-block__ttl {
    font-size: clamp(14px, 4.4776119403vw, 18px);
  }
}
.c-block__ttl svg {
  position: relative;
  top: 0rem;
}
.c-block p {
  margin-top: 1.25rem;
  color: #5F5F5F;
  letter-spacing: 0.003em;
}
@media screen and (max-width: 767px) {
  .c-block p {
    margin-top: 0.8125rem;
  }
}

/* Firefoxの場合 */
@-moz-document url-prefix() {
  .c-block__ttl svg {
    top: 0.0625rem;
  }
}
.column__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.75rem 1fr 1.75rem 1fr;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3.75rem 1.75rem;
}
@media screen and (max-width: 767px) {
  .column__list {
    -ms-grid-columns: 1fr 1.25rem 1fr;
    grid-template-columns: 1fr 1fr;
    gap: 3.125rem 1.25rem;
    padding: 0;
  }
}
.column__list .card__thumb {
  padding-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .column__list .card__thumb {
    padding-bottom: 1.125rem;
  }
  .column__list .card__thumb img {
    aspect-ratio: 1/1;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.column__list .card__content {
  display: -ms-grid;
  display: grid;
  gap: 0.75rem;
}
@media screen and (max-width: 767px) {
  .column__list .card__content {
    gap: 0.625rem;
  }
}
.column__list .card__date {
  font-family: "Jost", sans-serif;
  color: #5F5F5F;
  font-size: clamp(12px, 1rem, 1rem);
}
@media screen and (max-width: 767px) {
  .column__list .card__date {
    font-size: clamp(12px, 0.875rem, 0.875rem);
  }
}
.column__list .card__ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(14px, 1.125rem, 1.125rem);
}
@media screen and (max-width: 767px) {
  .column__list .card__ttl {
    font-size: clamp(13px, 1rem, 1rem);
  }
}
.column__list .card__txt {
  font-size: clamp(13px, 1rem, 1rem);
  color: #666666;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .column__list .card__txt {
    font-size: clamp(12px, 0.9375rem, 0.9375rem);
  }
}

.u-btn__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .u-btn__wrapper {
    margin-top: 1.875rem;
  }
}
.u-btn__wrapper.u-btn__wrapper--reiew {
  display: -ms-grid;
  display: grid;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .u-btn__wrapper.u-btn__wrapper--reiew {
    place-content: center !important;
  }
}
.u-btn__wrapper.u-btn__wrapper--reiew .u-btn {
  place-content: center;
  width: 12.6875rem;
}
.u-btn__wrapper.u-btn__wrapper--reiew .u-btn--back svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.news__list .news__item {
  border-bottom: 1px solid #D1D1D1;
  display: block;
  width: 100%;
  padding: 1.6875rem 0;
}
@media screen and (max-width: 767px) {
  .news__list .news__item {
    padding: 1.875rem 0;
  }
}
.news__list .news__item.no-link {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .news__list .news__item.no-link:hover {
    opacity: 1;
  }
  .news__list .news__item.no-link:hover i {
    opacity: 0;
  }
}
.news__list .news__item:first-of-type {
  padding-top: 0;
}
.news__list .news__item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.9375rem;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl {
    display: -ms-grid;
    display: grid;
    gap: 0.625rem;
  }
}
.news__list .news__item dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.5rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dt {
    gap: 1.25rem;
  }
}
.news__list .news__item dl dt .date {
  width: 4.625rem;
  font-size: clamp(12px, 0.875rem, 0.875rem);
  font-family: "Jost", sans-serif;
  color: #5F5F5F;
}
.news__list .news__item dl dt .tag {
  font-size: clamp(12px, 0.875rem, 0.875rem);
  padding: 0.3125rem 0.46875rem;
  border: 1px solid #000000;
  display: block;
  border-radius: 0.3125rem;
  line-height: 1;
  white-space: nowrap;
}
.news__list .news__item dl dd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: calc(100% - 14.8125rem);
  place-content: space-between;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd {
    width: 100%;
  }
}
.news__list .news__item dl dd p {
  width: calc(100% - 2.1875rem - 1.25rem);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd p {
    width: 100%;
  }
}
.news__list .news__item dl dd i {
  width: 2.1875rem;
  height: 2.1875rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill='none'%3E%3Crect width='25' height='25' rx='12.5' fill='%231A5BA9'/%3E%3Cpath d='M17.4067 12.7179L13.5768 16.4173C13.5163 16.4717 13.4362 16.5014 13.3536 16.5C13.2709 16.4985 13.192 16.4662 13.1335 16.4097C13.075 16.3532 13.0415 16.277 13.0401 16.1972C13.0386 16.1173 13.0693 16.04 13.1257 15.9816L16.4104 12.8083H7.81916C7.73451 12.8083 7.65333 12.7758 7.59348 12.718C7.53363 12.6602 7.5 12.5818 7.5 12.5C7.5 12.4182 7.53363 12.3398 7.59348 12.282C7.65333 12.2242 7.73451 12.1917 7.81916 12.1917H16.4104L13.1257 9.01845C13.0693 8.96001 13.0386 8.88271 13.0401 8.80285C13.0415 8.72298 13.075 8.64678 13.1335 8.59029C13.192 8.53381 13.2709 8.50146 13.3536 8.50005C13.4362 8.49864 13.5163 8.52828 13.5768 8.58274L17.4067 12.2821C17.4664 12.3399 17.5 12.4183 17.5 12.5C17.5 12.5817 17.4664 12.6601 17.4067 12.7179Z' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .news__list .news__item dl dd i {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .news__list .news__item:hover dt {
    opacity: 0.7;
  }
  .news__list .news__item:hover dd p {
    opacity: 0.7;
  }
  .news__list .news__item:hover i {
    opacity: 1;
  }
}

.l-footer__inner {
  max-width: 94.5rem;
  padding-left: 4.375rem;
  padding-right: 4.375rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    padding: 0 1.25rem;
  }
}

.footer {
  letter-spacing: -0.023em;
}
.footer-main {
  padding-top: 3.125rem;
  padding-bottom: 1.625rem;
}
@media screen and (max-width: 767px) {
  .footer-main {
    padding-bottom: 3.125rem;
  }
}
.footer-main__inner {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .footer-main__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 1.875rem;
  }
}
.footer-logo {
  max-width: 16.9375rem;
}
@media screen and (max-width: 767px) {
  .footer-logo {
    max-width: 14.125rem;
  }
}
.footer .u-btn-blue {
  margin-top: 2.4375rem;
}
@media screen and (max-width: 767px) {
  .footer .u-btn-blue {
    margin-top: 0;
    font-size: 1rem;
    height: 3.3125rem;
  }
}
.footer address {
  font-style: normal;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .footer address {
    margin-top: 1.875rem;
  }
}
.footer address .company {
  font-weight: 500;
}
.footer address .place {
  font-size: clamp(12px, 0.875rem, 0.875rem);
  margin-top: 1.25rem;
  color: #5F5F5F;
  line-height: 1.4;
  text-decoration: none;
}
.footer address a {
  color: #1A5BA9;
  letter-spacing: 0.005em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-column-gap: 0.3125rem;
     -moz-column-gap: 0.3125rem;
          column-gap: 0.3125rem;
  margin-top: 0.625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer__nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2.5rem 1fr 2.5rem 1fr 2.5rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  font-size: clamp(12px, 0.875rem, 0.875rem);
  gap: 2.1875rem 2.5rem;
}
@media screen and (max-width: 767px) {
  .footer__nav {
    margin-top: 1.875rem;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
.footer__nav:has(.footer__nav-item.person) {
  -ms-grid-columns: (1fr)[5];
  grid-template-columns: repeat(5, 1fr);
}
@media screen and (max-width: 767px) {
  .footer__nav:has(.footer__nav-item.person) {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav:has(.footer__nav-item.person) .footer__nav-item.business {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
  }
}
.footer__nav:has(.footer__nav-item.person) .footer__nav-item.news {
  -ms-grid-column: 4;
  grid-column: 4;
}
@media screen and (max-width: 767px) {
  .footer__nav:has(.footer__nav-item.person) .footer__nav-item.news {
    grid-column: auto;
  }
}
.footer__nav:has(.footer__nav-item.person) .footer__nav-item.recruit {
  -ms-grid-column: 5;
  grid-column: 5;
}
@media screen and (max-width: 767px) {
  .footer__nav:has(.footer__nav-item.person) .footer__nav-item.recruit {
    grid-column: auto;
  }
}
.footer__nav-item.news {
  -ms-grid-column: 3;
  grid-column: 3;
}
@media screen and (max-width: 767px) {
  .footer__nav-item.news {
    grid-column: auto;
  }
}
.footer__nav-item.recruit {
  -ms-grid-column: 4;
  grid-column: 4;
}
@media screen and (max-width: 767px) {
  .footer__nav-item.recruit {
    grid-column: auto;
  }
}
.footer__nav-item__top {
  border-bottom: 1px solid #E5E5E5;
  padding-bottom: 0.625rem;
  display: block;
  font-weight: 500;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .footer__nav-item__top {
    padding-bottom: 0.9375rem;
  }
}
.footer__nav-item__bottom {
  margin-top: 0.625rem;
  color: #5F5F5F;
}
@media screen and (max-width: 767px) {
  .footer__nav-item__bottom {
    font-size: clamp(13px, 0.9375rem, 0.9375rem);
    margin-top: 0.9375rem;
  }
}
.footer__nav-item__bottom li + li {
  margin-top: 0.4375rem;
}
.footer-bottom {
  background-color: #F8F8F8;
  font-size: 11px;
  color: #5F5F5F;
  line-height: 1;
  letter-spacing: -0.023em;
  padding-top: 0.5625rem;
  padding-bottom: 0.5625rem;
}
@media screen and (max-width: 767px) {
  .footer-bottom {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
}
.footer-bottom__inner {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .footer-bottom__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    row-gap: 0.9375rem;
    padding-left: 1.25rem;
  }
}
.footer-bottom__inner small {
  font-size: 0.6875rem;
}
.footer-bottom ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .footer-bottom ul {
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

.page .breadcrumb {
  padding: 0.9375rem 3.125rem;
  max-width: 94.5625rem;
  margin: 0 auto;
  color: #5F5F5F;
  font-size: clamp(11px, 0.8125rem, 0.8125rem);
}
@media screen and (max-width: 767px) {
  .page .breadcrumb {
    padding: 0.9375rem 1.25rem;
    font-size: clamp(10px, 0.625rem, 0.625rem);
  }
}
.page .breadcrumb a {
  margin: 0 0.1875rem;
}
.page .breadcrumb a:first-of-type {
  margin-left: 0;
}
.page .breadcrumb span {
  margin-left: 0.1875rem;
}
.page--title {
  background: #DED7CE;
  padding: 2rem 0 2.125rem;
  position: relative;
}
.page--title h2 {
  font-weight: 400;
  text-align: center;
  font-size: clamp(16px, 1.25rem, 1.25rem);
}
.page--title::after {
  content: "";
  background: #F6AC19;
  width: 6.25rem;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .page--title::after {
    width: 2.5rem;
  }
}
.page.page-mh .page--title {
  background: #F0F0F0;
  padding: 0rem 1.5625rem 0rem;
  height: 5.625rem;
  line-height: 1;
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .page.page-mh .page--title {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    padding: 0rem 1.5625rem 0rem;
  }
}
.page.page-mh .page--title::after {
  content: none;
}
.page.page-mh .page--title h2 {
  font-size: clamp(16px, 1.25rem, 1.25rem);
}
@media screen and (max-width: 767px) {
  .page.page-mh .page--title h2 {
    font-size: clamp(17px, 1.25rem, 1.25rem);
  }
}
.page.page-mh .page--title h2 small {
  display: block;
  margin-top: 0.5rem;
  font-size: clamp(10px, 0.75rem, 0.75rem);
}
@media screen and (max-width: 767px) {
  .page.page-mh .page--title h2 small {
    font-size: clamp(10px, 0.8125rem, 0.8125rem);
  }
}
.page.page-mh .page--title--sm {
  padding-top: 2.1875rem;
  padding-bottom: 2.1875rem;
}

.u-link span {
  text-decoration: underline;
}
.u-link::after {
  content: "≫";
  margin-left: 0.5em;
}

.card__list {
  display: -ms-grid;
  display: grid;
  gap: 2.5rem;
  -ms-grid-columns: calc(25% - 1.875rem) 2.5rem calc(25% - 1.875rem) 2.5rem calc(25% - 1.875rem) 2.5rem calc(25% - 1.875rem);
  grid-template-columns: repeat(4, calc(25% - 1.875rem));
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .card__list {
    gap: 2.8125rem 1.25rem;
    -ms-grid-columns: calc(50% - 0.625rem) 1.25rem calc(50% - 0.625rem);
    grid-template-columns: repeat(2, calc(50% - 0.625rem));
  }
}
.card__list.card__list--col03 {
  gap: 2.5rem;
  -ms-grid-columns: calc(33.3333333333% - 1.66625rem) 2.5rem calc(33.3333333333% - 1.66625rem) 2.5rem calc(33.3333333333% - 1.66625rem);
  grid-template-columns: repeat(3, calc(33.3333333333% - 1.66625rem));
}

.card--tag {
  color: #222222;
  font-size: clamp(10px, 0.75rem, 0.75rem);
  margin-bottom: 0.75rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .card--tag.disp-sp {
    background: #D9D9D9;
    color: #222222;
    text-align: center;
    margin-bottom: 0.625rem;
    padding: 0.125rem 0 0.125rem;
  }
}
.card--image {
  margin-bottom: 1.0625rem;
  position: relative;
}
.card--image img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.card--image-tag {
  position: absolute;
  left: 0.625rem;
  top: 0.625rem;
  width: auto;
  height: 25px;
}
.card--image-tag img {
  width: auto;
  height: 100%;
  aspect-ratio: unset;
}
.card--meta {
  margin-bottom: 0.3125rem;
}
.card--meta p {
  font-size: clamp(13px, 1rem, 1rem);
}
.card--meta p b {
  font-weight: 500;
}
.card--meta p.tag-brand {
  font-size: clamp(10px, 0.8125rem, 0.8125rem);
  color: #5F5F5F;
}
.card--btn .u-btn {
  width: 100%;
  place-content: space-between;
}
.card--price {
  margin-bottom: 0.3125rem;
}
.card--price dl {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: space-between;
  color: #222222;
  border-bottom: 1px solid #E5E5E5;
  padding: 0.625rem 0;
}
.card--price dl:last-of-type {
  border-bottom: 0;
}
.card--price dl dt {
  font-size: clamp(10px, 0.75rem, 0.75rem);
}
@media screen and (max-width: 376px) {
  .card--price dl dt {
    max-width: 3.125rem;
  }
}
.card--price dl dd {
  font-size: clamp(16px, 1.25rem, 1.25rem);
  font-family: "Jost", sans-serif;
}
@media screen and (max-width: 767px) {
  .card--price dl dd {
    font-size: clamp(15px, 1.1875rem, 1.1875rem);
  }
}
.card--price dl dd small {
  font-family: "Noto Sans JP", sans-serif;
  color: #5F5F5F;
  font-size: 10px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
.card--cat {
  font-size: clamp(10px, 0.8125rem, 0.8125rem);
  color: #5F5F5F;
}
@media screen and (max-width: 767px) {
  .card--cat {
    margin-bottom: 0.1875rem;
    display: block;
  }
}
.card .column__cat {
  font-size: clamp(10px, 0.8125rem, 0.8125rem);
  background: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.125rem 0.9375rem 0.0625rem;
}

.card__cat__list {
  padding: 0rem 1.875rem 0rem;
  max-width: 49.375rem;
  margin: 1.5625rem auto 3.125rem;
}
@media screen and (max-width: 767px) {
  .card__cat__list {
    margin: 1.25rem auto 3.125rem;
    padding: 0;
  }
}
.card__cat__list h3 {
  font-size: clamp(14px, 1.125rem, 1.125rem);
  text-align: center;
  border-bottom: 1px solid #E5E5E5;
  padding-bottom: 1.25rem;
}

.card__cat__box {
  padding-top: 1.875rem;
  font-size: clamp(13px, 1rem, 1rem);
}
.card__cat__box p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .card__cat__box p {
    text-align: left;
  }
}
.card__cat__box div {
  margin-top: 1.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
}
@media screen and (max-width: 767px) {
  .card__cat__box div {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: calc(50% - 0rem) 0 calc(50% - 0rem);
    grid-template-columns: repeat(2, calc(50% - 0rem));
    margin-top: 0.9375rem;
    place-content: space-between;
    gap: 0;
    border-top: 1px solid #E5E5E5;
  }
}
.card__cat__box div a {
  padding: 0.625rem 0rem 0.625rem 0rem;
  width: 6.5rem;
  text-align: center;
  position: relative;
  margin: 0 1.25rem;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .card__cat__box div a {
    height: 3.875rem;
    margin: 0;
    width: 100%;
    padding: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    place-content: center;
    border-right: 1px solid #E5E5E5;
    border-bottom: 1px solid #E5E5E5;
  }
  .card__cat__box div a:nth-child(2n+1) {
    border-left: 1px solid #E5E5E5;
  }
}
.card__cat__box div a::before {
  content: "";
  border-right: 1px solid #E5E5E5;
  position: absolute;
  right: -1.25rem;
  height: 100%;
  top: 0;
}
@media screen and (max-width: 767px) {
  .card__cat__box div a::before {
    content: none;
    border-right: 0;
  }
}
.card__cat__box div a.active {
  background: #F0F0F0;
}
.card__cat__box div a:last-of-type::before {
  content: none;
}

.pager {
  padding-top: 4.375rem;
}
.pager ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 13px;
  gap: 10px;
  place-content: center;
}
.pager ul li {
  width: 28px;
  height: 28px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
  color: #666666;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.pager ul li a {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
.pager ul li.current {
  background: #F0F0F0;
  font-weight: 500;
  color: #000000;
}
.pager ul li.prev {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='17' viewBox='0 0 10 17' fill='none'%3E%3Cpath d='M0.353516 0.353577L8.35352 8.35358L0.353516 16.3536' stroke='%23000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.4375rem 0.875rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .pager ul li.prev:hover {
    opacity: 0.5;
  }
}
.pager ul li.next {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='17' viewBox='0 0 10 17' fill='none'%3E%3Cpath d='M0.353516 0.353577L8.35352 8.35358L0.353516 16.3536' stroke='%23000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.4375rem 0.875rem;
}
@media screen and (min-width: 768px) {
  .pager ul li.next:hover {
    opacity: 0.5;
  }
}
.pager--single {
  padding-top: 3.75rem;
}
.pager--single ul {
  gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.pager--single .btn {
  width: auto;
  height: auto;
  color: #000000;
}
.pager--single .btn svg {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.brand__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.875rem 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .brand__list {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  .brand__list a {
    border-bottom: 1px solid #E5E5E5;
    padding: 1.875rem 0;
  }
  .brand__list a:first-of-type {
    padding-top: 0;
  }
}
.brand__list a img {
  display: block;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .brand__list a img {
    margin-bottom: 0.9375rem;
  }
}
.brand__list a p {
  font-size: clamp(12px, 0.9375rem, 0.9375rem);
}
@media screen and (max-width: 767px) {
  .brand__list a p {
    margin-bottom: 0.3125rem;
  }
}
.brand__list a p b {
  font-weight: 500;
}
.brand__list a p + p {
  color: #666666;
}
@media screen and (max-width: 767px) {
  .brand__list a p + p {
    margin-bottom: 0rem;
  }
}

.js__fade-fv__image {
  opacity: 0;
}

.js__fade-fv1 {
  opacity: 0;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js__fade-fv2 {
  opacity: 0;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js__fade-fv--circle {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transition: -webkit-transform 1s var(--easeOutQuart);
  transition: -webkit-transform 1s var(--easeOutQuart);
  transition: transform 1s var(--easeOutQuart);
  transition: transform 1s var(--easeOutQuart), -webkit-transform 1s var(--easeOutQuart);
}

.js__fade-image {
  -webkit-transform: translateY(5%);
  transform: translateY(5%);
  opacity: 0;
  -webkit-transition-duration: 1.35s;
          transition-duration: 1.35s;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js__fade-text {
  -webkit-transform: translateY(5%);
          transform: translateY(5%);
  opacity: 0;
  -webkit-transition-duration: 1.35s;
          transition-duration: 1.35s;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.js-title-anime {
  visibility: hidden;
}

.js-title-anime.is-ready {
  visibility: visible;
}

.js-title-anime .char {
  display: inline-block;
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}

.js-order-anime__wrap a {
  opacity: 0;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  -webkit-transition-duration: 1.85s;
          transition-duration: 1.85s;
  transition-property: opacity, -webkit-transform;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
  -webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
          transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.l-section.recruitment {
  padding-top: 9.375rem;
  padding-bottom: 9rem;
  position: relative;
  background: #1A5BA9;
}
@media screen and (max-width: 767px) {
  .l-section.recruitment {
    padding-top: 4.5rem;
    padding-bottom: 4.6875rem;
  }
}
.l-section.recruitment::before {
  content: "";
  background: rgba(26, 91, 169, 0.6);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}
.l-section.recruitment::after {
  content: "";
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.l-section.recruitment .l-inner {
  position: relative;
  z-index: 3;
}
.l-section.recruitment p {
  margin-top: 0.625rem;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-section.recruitment p {
    text-align: left;
    margin-top: 0.3125rem;
  }
}
.l-section.recruitment .u-btn-wrapper {
  margin-top: 2.5rem;
}
.l-section.recruitment .recruitment__images {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.875rem 1fr 1.875rem 1fr 1.875rem 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.875rem;
  padding: 0 1.875rem;
  overflow: hidden;
  pointer-events: none;
  --gap: 1.875rem;
  --duration: 18s;
  --group-height: 0px;
}
@media screen and (max-width: 767px) {
  .l-section.recruitment .recruitment__images {
    -ms-grid-columns: 1fr 0.625rem 1fr 0.625rem 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.625rem;
    padding: 0 0.625rem;
    --gap: 0.625rem;
    --duration: 16s;
  }
}
.l-section.recruitment .recruitment__images-col {
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-section.recruitment .recruitment__images-col.recruitment__images-04 {
    display: none;
  }
}
.l-section.recruitment .recruitment__images-col .swiper-wrapper {
  display: -ms-grid;
  display: grid;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
  height: auto !important;
  -webkit-transition: none !important;
  transition: none !important;
}
.l-section.recruitment .recruitment__images-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
}
.l-section.recruitment .recruitment__images-col .swiper-slide {
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-bottom: 0;
}
.l-section.recruitment .recruitment__images-col .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .l-section.recruitment .recruitment__images-col .swiper-slide img {
    aspect-ratio: 112.51/92.05;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.recruitmentMarquee--down .swiper-wrapper {
  -webkit-animation: recruitmentMarqueeDown var(--duration) linear infinite;
          animation: recruitmentMarqueeDown var(--duration) linear infinite;
}

.recruitmentMarquee--up .swiper-wrapper {
  -webkit-animation: recruitmentMarqueeUp var(--duration) linear infinite;
          animation: recruitmentMarqueeUp var(--duration) linear infinite;
}

@-webkit-keyframes recruitmentMarqueeUp {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(calc(-1 * var(--group-height)));
            transform: translateY(calc(-1 * var(--group-height)));
  }
}

@keyframes recruitmentMarqueeUp {
  from {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    -webkit-transform: translateY(calc(-1 * var(--group-height)));
            transform: translateY(calc(-1 * var(--group-height)));
  }
}
@-webkit-keyframes recruitmentMarqueeDown {
  from {
    -webkit-transform: translateY(calc(-1 * var(--group-height)));
            transform: translateY(calc(-1 * var(--group-height)));
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes recruitmentMarqueeDown {
  from {
    -webkit-transform: translateY(calc(-1 * var(--group-height)));
            transform: translateY(calc(-1 * var(--group-height)));
  }
  to {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.l-title__section {
  background: #1A5BA9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  text-align: center;
  height: 12rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-bottom: 1.75rem;
}
@media screen and (max-width: 767px) {
  .l-title__section {
    height: 9.375rem;
    padding-bottom: 1.25rem;
  }
}
.l-title__section h1 {
  color: #fff;
  font-size: clamp(20px, 1.6534391534vw, 1.5625rem);
}
@media screen and (max-width: 767px) {
  .l-title__section h1 {
    font-size: clamp(18px, 1.3888888889vw, 1.3125rem);
  }
}
.l-title__section h1 small {
  display: block;
  font-family: "Jost", sans-serif;
  font-size: clamp(12px, 0.9259259259vw, 0.875rem);
  margin-bottom: 0.3125rem;
}

.l-section__page-top {
  padding: 3.75rem 0 3.75rem;
  color: #5F5F5F;
}
@media screen and (max-width: 767px) {
  .l-section__page-top {
    padding: 3.125rem 0 3.75rem;
  }
}

.l-section__page {
  padding: 3.75rem 0 3.75rem;
  color: #5F5F5F;
  position: relative;
}

.l-title__pages {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  text-align: center;
  font-weight: 500;
  margin-bottom: 2.1875rem;
}

.l-title__pages-02 {
  font-size: clamp(28px, 1.9375rem, 1.9375rem);
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-title__pages-02 {
    text-align: left;
    font-size: clamp(20px, 1.5625rem, 1.5625rem);
  }
}
.l-title__pages-02 small {
  color: #1A5BA9;
  display: block;
  font-size: clamp(14px, 1rem, 1rem);
  font-weight: 400;
  font-family: "Jost", sans-serif;
  margin-bottom: 0.4375rem;
}

.l-pankuzu {
  font-size: clamp(10px, 0.75rem, 0.75rem);
  color: #5F5F5F;
  padding: 0.625rem 3.4375rem 0;
  max-width: 91.0625rem;
}
@media screen and (max-width: 767px) {
  .l-pankuzu {
    padding: 0.625rem 1.25rem 0;
  }
}
.l-pankuzu a {
  margin-right: 0.625rem;
  margin-left: 0.3125rem;
}
.l-pankuzu span {
  margin-left: 0.3125rem;
}

.icon-arrow-circle {
  width: 25px;
  height: 25px;
  color: #1A5BA9;
}
@media screen and (max-width: 1025px) {
  .icon-arrow-circle {
    width: 22px;
    height: 22px;
  }
}
@media screen and (max-width: 767px) {
  .icon-arrow-circle {
    width: 25px;
    height: 25px;
  }
}

.icon-arrow-circle-fill {
  width: 25px;
  height: 25px;
  color: #1A5BA9;
}
@media screen and (max-width: 1025px) {
  .icon-arrow-circle-fill {
    width: 22px;
    height: 22px;
  }
}
@media screen and (max-width: 767px) {
  .icon-arrow-circle-fill {
    width: 25px;
    height: 25px;
  }
}

.icon-wrap {
  position: relative;
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 25px;
  height: 25px;
}
@media screen and (max-width: 1025px) {
  .icon-wrap {
    width: 22px;
    height: 22px;
  }
}
@media screen and (max-width: 767px) {
  .icon-wrap {
    width: 25px;
    height: 25px;
  }
}
.icon-wrap.icon-center {
  width: auto;
  height: auto;
}
.icon-wrap.icon-center svg {
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 0%);
          transform: translate(-50%, 0%);
}

.icon-default,
.icon-hover {
  position: absolute !important;
  inset: 0;
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
}

.icon-default {
  opacity: 1;
}

.icon-hover {
  opacity: 0;
}

@media screen and (min-width: 768px) {
  a:has(.icon-wrap):hover .icon-default {
    opacity: 0;
  }
  a:has(.icon-wrap):hover .icon-hover {
    opacity: 1;
  }
}
i {
  width: 1.875rem;
  height: 1.875rem;
  border: 1px solid #1A5BA9;
  border-radius: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M0.5 7.09668H13.7' stroke='%231A5BA9' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.09766 13.7002L7.09766 0.500195' stroke='%231A5BA9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.9375rem 0.9375rem;
}
i.link {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M0.5 3.18164C0.223858 3.18164 0 3.4055 0 3.68164C0 3.95778 0.223858 4.18164 0.5 4.18164V3.68164V3.18164ZM11.6536 4.03519C11.8488 3.83993 11.8488 3.52335 11.6536 3.32809L8.47157 0.146107C8.27631 -0.0491555 7.95973 -0.0491555 7.76447 0.146107C7.5692 0.341369 7.5692 0.657951 7.76447 0.853214L10.5929 3.68164L7.76447 6.51007C7.5692 6.70533 7.5692 7.02191 7.76447 7.21717C7.95973 7.41244 8.27631 7.41244 8.47157 7.21717L11.6536 4.03519ZM0.5 3.68164V4.18164H11.3V3.68164V3.18164H0.5V3.68164Z' fill='%231A5BA9'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.75rem 0.5rem;
}
i.window {
  background-image: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
i.window svg {
  width: 2.5rem;
  height: auto;
}
i.window svg path {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l-lead {
  max-width: 50rem;
  margin: 0 auto;
  font-size: clamp(14px, 1rem, 1rem);
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-lead {
    max-width: 100%;
  }
}

.l-linklist {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(33.333% - 1.25rem) 1.875rem calc(33.333% - 1.25rem) 1.875rem calc(33.333% - 1.25rem);
  grid-template-columns: calc(33.333% - 1.25rem) calc(33.333% - 1.25rem) calc(33.333% - 1.25rem);
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-linklist {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
  }
}
.l-linklist a {
  background: #F8F8F8;
  border-radius: 0.625rem;
  padding: 1.875rem;
  border: 1px solid #E8E8E8;
}
@media screen and (max-width: 767px) {
  .l-linklist a {
    padding: 1.25rem;
  }
}
.l-linklist a picture {
  display: block;
  width: 100%;
  aspect-ratio: 322/181;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .l-linklist a picture {
    aspect-ratio: 322/165;
  }
}
.l-linklist a picture img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-linklist a h2 {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  margin: 1.375rem 0 0.8125rem;
}
.l-linklist a p {
  font-size: clamp(14px, 1rem, 1rem);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .l-linklist a p {
    font-size: clamp(12px, 0.875rem, 0.875rem);
  }
}
@media screen and (min-width: 768px) {
  .l-linklist a svg rect {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-linklist a svg path {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .l-linklist a:hover picture {
    opacity: 0.7;
  }
  .l-linklist a:hover svg rect {
    fill: #1A5BA9;
  }
  .l-linklist a:hover svg path {
    fill: #fff;
  }
}

.l-link__detail {
  max-width: 55.9375rem;
  margin: 0 auto;
}
.l-link__detail a {
  background: #F8F8F8;
  display: block;
  padding: 2.5rem;
  border-radius: 0.625rem;
  border: 1px solid #E8E8E8;
}
@media screen and (max-width: 767px) {
  .l-link__detail a {
    padding: 1.875rem 2.96875rem;
  }
}
.l-link__detail a.bg__white {
  background: #fff;
}
.l-link__detail a .l-link__detail__inner .title {
  font-size: clamp(13px, 0.9375rem, 0.9375rem);
  color: #000000;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-link__detail a .l-link__detail__inner .title {
    font-size: clamp(12px, 0.875rem, 0.875rem);
  }
}
.l-link__detail a .l-link__detail__inner .logo__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.875rem;
  color: #00665E;
  font-size: clamp(16px, 1.3125rem, 1.3125rem);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .l-link__detail a .l-link__detail__inner .logo__block {
    font-size: clamp(13px, 0.9375rem, 0.9375rem);
    display: -ms-grid;
    display: grid;
    margin-top: 0.5rem;
    gap: 0.4375rem;
  }
}
.l-link__detail a .l-link__detail__inner .logo__block i {
  width: 1.5625rem;
  height: 1.5625rem;
  border: 1px solid #00665E;
}
.l-link__detail a .l-link__detail__inner .logo__block span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
@media screen and (max-width: 767px) {
  .l-link__detail a .l-link__detail__inner .logo__block span {
    place-content: center;
  }
}
.l-link__detail a .l-link__detail__inner img {
  display: block;
  width: 17.5rem;
}
@media screen and (min-width: 768px) {
  .l-link__detail a:hover {
    opacity: 1;
  }
  .l-link__detail a:hover .window {
    background: #00665E;
  }
  .l-link__detail a:hover svg path {
    fill: #fff;
  }
}

.l-parts__contact {
  max-width: 55.9375rem;
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 50% 50%;
  grid-template-columns: 50% 50%;
  border: 1px solid #E8E8E8;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .l-parts__contact {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
  }
}
.l-parts__contact > div {
  padding: 3.125rem 2.8125rem;
}
@media screen and (max-width: 767px) {
  .l-parts__contact > div {
    padding: 1.875rem 1.875rem;
  }
}
.l-parts__contact .l-parts__contact-01 {
  border-right: 1px solid #E8E8E8;
}
@media screen and (max-width: 767px) {
  .l-parts__contact .l-parts__contact-01 {
    border-right: 0;
    border-bottom: 1px solid #E8E8E8;
  }
}
.l-parts__contact .l-parts__contact-01 .contents__title + p {
  font-size: clamp(12px, 0.875rem, 0.875rem);
}
.l-parts__contact .l-parts__contact-01 .en {
  font-size: clamp(14px, 1rem, 1rem);
  color: #1A5BA9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.05em;
  margin-top: 0.625rem;
}
.l-parts__contact .l-parts__contact-02 dl {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 3.375rem 0 calc(100% - 3.375rem);
  grid-template-columns: 3.375rem calc(100% - 3.375rem);
  font-size: clamp(14px, 1rem, 1rem);
  gap: 0.75rem 0;
}
@media screen and (max-width: 767px) {
  .l-parts__contact .l-parts__contact-02 dl {
    font-size: clamp(13px, 0.875rem, 0.875rem);
    gap: 0.5rem 0;
  }
}
.l-parts__contact .l-parts__contact-02 dl dt {
  white-space: nowrap;
}
.l-parts__contact .l-parts__contact-02 .contents p {
  font-size: clamp(14px, 1rem, 1rem);
  margin-top: 0.75rem;
}
@media screen and (max-width: 767px) {
  .l-parts__contact .l-parts__contact-02 .contents p {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
.l-parts__contact .title {
  color: #000000;
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  margin-bottom: 2.1875rem;
}
@media screen and (max-width: 767px) {
  .l-parts__contact .title {
    margin-bottom: 1.5625rem;
  }
}
.l-parts__contact .title b {
  font-weight: 500;
}
.l-parts__contact .contents__title {
  color: #000000;
  font-size: clamp(14px, 1rem, 1rem);
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 767px) {
  .l-parts__contact .contents__title {
    margin-bottom: 0.625rem;
  }
}
.l-parts__contact .contents__title b {
  font-weight: 500;
}

.bg__grey {
  background: #F8F8F8;
}

.bg__white {
  background: #fff;
}

.l-text__item01,
.l-text__item02 {
  max-width: 50rem;
  margin: 0 auto 2.8125rem;
}
@media screen and (max-width: 767px) {
  .l-text__item01,
  .l-text__item02 {
    margin: 0 auto 2.1875rem;
  }
}
.l-text__item01:last-of-type,
.l-text__item02:last-of-type {
  margin-bottom: 0;
}
.l-text__item01 picture,
.l-text__item02 picture {
  display: block;
  max-width: 100%;
  margin: 1.875rem auto 0rem;
}
@media screen and (max-width: 767px) {
  .l-text__item01 picture,
  .l-text__item02 picture {
    width: 100%;
    margin: 1.25rem auto 0rem;
  }
}
.l-text__item01 picture:not(:last-child),
.l-text__item02 picture:not(:last-child) {
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-text__item01 picture:not(:last-child),
  .l-text__item02 picture:not(:last-child) {
    margin-bottom: 0.9375rem;
  }
}
@media screen and (max-width: 767px) {
  .l-text__item01 picture + h4,
  .l-text__item02 picture + h4 {
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .l-text__item01 p + picture,
  .l-text__item02 p + picture {
    margin: 0.9375rem auto 0rem;
  }
}
.l-text__item01 ul,
.l-text__item02 ul {
  font-size: clamp(16px, 1.125rem, 1.125rem);
}
@media screen and (max-width: 767px) {
  .l-text__item01 ul,
  .l-text__item02 ul {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
.l-text__item01 ul li,
.l-text__item02 ul li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.7;
}
.l-text__item01 ul li + li,
.l-text__item02 ul li + li {
  margin-top: 0.3125rem;
}
.l-text__item01 ul li::before,
.l-text__item02 ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.l-text__item01 ol,
.l-text__item02 ol {
  counter-reset: item;
  list-style: none;
  font-size: clamp(16px, 1.125rem, 1.125rem);
}
@media screen and (max-width: 767px) {
  .l-text__item01 ol,
  .l-text__item02 ol {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
.l-text__item01 ol li,
.l-text__item02 ol li {
  position: relative;
  counter-increment: item;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.9375rem;
}
.l-text__item01 ol li + li,
.l-text__item02 ol li + li {
  margin-top: 0.8125rem;
}
.l-text__item01 ol li::before,
.l-text__item02 ol li::before {
  content: counter(item);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 16.8px;
  line-height: 1;
  color: #fff;
  background: #1A5BA9;
  place-content: center;
  font-family: "Jost", sans-serif;
  padding-left: 1px;
}
.l-text__item01 .pic-w-740,
.l-text__item02 .pic-w-740 {
  max-width: 46.25rem;
}

.l-text__item01 h2 {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  font-weight: 600;
  border-bottom: 1.5px solid #1A5BA9;
  padding-bottom: 0.5rem;
  margin-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .l-text__item01 h2 {
    font-size: clamp(15px, 1.0625rem, 1.0625rem);
  }
}
.l-text__item01 p {
  font-size: clamp(16px, 1.125rem, 1.125rem);
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .l-text__item01 p {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
.l-text__item01 p small {
  font-size: clamp(13px, 0.875rem, 0.875rem);
}
@media screen and (max-width: 767px) {
  .l-text__item01 p small {
    font-size: clamp(12px, 0.8125rem, 0.8125rem);
  }
}
.l-text__item01 p.notice-text {
  font-size: clamp(13px, 1rem, 1rem);
}
@media screen and (max-width: 767px) {
  .l-text__item01 p.notice-text {
    margin-top: 1.875rem;
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}

.l-text__item02 h3 {
  background: rgba(26, 91, 169, 0.2);
  color: #1A5BA9;
  font-size: clamp(16px, 1.1875rem, 1.1875rem);
  text-align: center;
  height: 2.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
  border-radius: 9999px;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-text__item02 h3 {
    font-size: clamp(15px, 1.0625rem, 1.0625rem);
    height: 2.625rem;
    margin-bottom: 0.9375rem;
  }
}
.l-text__item02 h3 + p {
  font-size: clamp(16px, 1.125rem, 1.125rem);
}
@media screen and (max-width: 767px) {
  .l-text__item02 h3 + p {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
.l-text__item02__inner {
  max-width: 40rem;
  margin: 0 auto;
}
.l-text__item02__inner h4 {
  text-align: center;
  font-size: clamp(16px, 1.1875rem, 1.1875rem);
  margin-bottom: 1.25rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .l-text__item02__inner h4 {
    text-align: left;
  }
}
.l-text__item02__inner p {
  font-size: clamp(16px, 1.125rem, 1.125rem);
}
@media screen and (max-width: 767px) {
  .l-text__item02__inner p {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
@media screen and (max-width: 767px) {
  .l-text__item02 + .l-text__item02 {
    margin-top: -0.9375rem;
  }
}

.l-text__item__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: calc(50% - 0.9375rem) 1.875rem calc(50% - 0.9375rem);
  grid-template-columns: calc(50% - 0.9375rem) calc(50% - 0.9375rem);
  gap: 1.875rem 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-text__item__list {
    -ms-grid-columns: 100%;
    grid-template-columns: 100%;
    gap: 1.5625rem;
  }
}
.l-text__item__list dl dt {
  font-size: clamp(14px, 1rem, 1rem);
  font-weight: 500;
  color: #000000;
  margin-bottom: 0.3125rem;
}
.l-text__item__list dl dd {
  font-size: clamp(14px, 1rem, 1rem);
  line-height: 1.3;
  letter-spacing: 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

.probiotics-supervision__item {
  max-width: 50rem;
  margin: 0 auto;
}
.probiotics-supervision__item .probiotics-supervision__title {
  color: #000000;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 767px) {
  .probiotics-supervision__item .probiotics-supervision__title {
    margin-bottom: 0.9375rem;
  }
}
.probiotics-supervision__item .probiotics-supervision__title .name {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  display: block;
}
@media screen and (max-width: 767px) {
  .probiotics-supervision__item .probiotics-supervision__title .name {
    font-size: clamp(15px, 1.0625rem, 1.0625rem);
  }
}
.probiotics-supervision__item .probiotics-supervision__title .contents {
  font-size: clamp(14px, 1rem, 1rem);
  margin-top: 0.3125rem;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  display: block;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .probiotics-supervision__item .probiotics-supervision__title .contents {
    font-size: clamp(12px, 0.875rem, 0.875rem);
  }
}
.probiotics-supervision__item .probiotics-supervision__contents {
  font-size: clamp(16px, 1.125rem, 1.125rem);
  line-height: 1.7;
}
@media screen and (max-width: 767px) {
  .probiotics-supervision__item .probiotics-supervision__contents {
    font-size: clamp(12px, 0.875rem, 0.875rem);
  }
}

body.popup-bg {
  overflow: hidden;
}
body.popup-bg::before {
  content: "";
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}

.popup {
  width: 42.5rem;
  max-width: calc(100% - 2.5rem);
  background: #fff;
  border-radius: 0.625rem;
  padding: 3.125rem 3.75rem;
  font-size: clamp(14px, 1rem, 1rem);
  color: #5F5F5F;
  position: fixed;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 101;
}
@media screen and (max-width: 767px) {
  .popup {
    font-size: clamp(12px, 0.875rem, 0.875rem);
    padding: 3.125rem 1.25rem;
    overflow: auto;
    max-height: 750px;
  }
}
@media screen and (max-width: 376px) {
  .popup {
    max-height: 650px;
  }
}
@media screen and (max-width: 350px) {
  .popup {
    max-height: 500px;
  }
}
@media screen and (max-width: 767px) and (orientation: landscape) {
  .popup {
    max-height: 350px;
  }
}
@media screen and (max-width: 670px) and (orientation: landscape) {
  .popup {
    max-height: 300px;
  }
}
.popup h2 {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  margin-bottom: 1.875rem;
  text-align: center;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .popup h2 {
    font-size: clamp(16px, 1.125rem, 1.125rem);
    margin-bottom: 1.25rem;
  }
}
.popup .popup-contents p {
  line-height: 1.7;
}
.popup .popup-contents p + p {
  margin-top: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-contents p + p {
    margin-top: 1.25rem;
  }
}
.popup .popup-contents .notice {
  font-size: clamp(12px, 0.875rem, 0.875rem);
}
.popup .popup-btn {
  text-align: center;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn {
    margin-top: 2.8125rem;
  }
}
.popup .popup-btn a {
  min-width: 12.5rem;
  text-align: center;
  place-content: center;
  position: relative;
  padding-right: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn a {
    width: 100%;
    height: 2.6875rem;
  }
}
.popup .popup-btn a svg {
  position: absolute;
  right: 0.625rem;
}
.popup .popup-btn a .icon-wrap {
  position: absolute;
  right: 0.625rem;
}
.popup .popup-btn a.u-btn-blue--reverse {
  background: #ECECEC;
  border: 1px solid #ECECEC;
  color: #5F5F5F;
}
.popup .popup-btn a + a {
  margin-left: 2.25rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn a + a {
    margin-left: 0;
    margin-top: 0.9375rem;
  }
}
.popup .popup-btn__inner {
  margin-bottom: 1.6875rem;
}
@media screen and (max-width: 767px) {
  .popup .popup-btn__inner {
    margin-top: -0.3125rem;
  }
}

.news-archive .l-inner {
  max-width: 58.75rem;
}
.news-archive__filter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .news-archive__filter {
    max-width: 100%;
    margin: 0 auto;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: min(4.9751243781vw, 20px);
  }
}
@media screen and (max-width: 376px) {
  .news-archive__filter {
    gap: min(3.7313432836vw, 15px);
  }
}
.news-archive__filter button {
  width: clamp(120px, 9rem, 9rem);
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 1000px;
  color: #5F5F5F;
  background-color: #F8F8F8;
  border: 1px solid #E8E8E8;
  height: clamp(32px, 2.625rem, 2.625rem);
}
@media screen and (max-width: 767px) {
  .news-archive__filter button {
    min-width: clamp(100px, 6.6875rem, 6.6875rem);
    width: auto;
    padding: 0 0.75rem;
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
@media screen and (max-width: 376px) {
  .news-archive__filter button {
    min-width: clamp(80px, 26.6169154229vw, 6.6875rem);
  }
}
.news-archive__filter button.is-active {
  background-color: #1A5BA9;
  color: #fff;
  border: none;
}
@media screen and (min-width: 768px) {
  .news-archive__filter button {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .news-archive__filter button:hover {
    opacity: 0.7;
  }
}
.news-archive__list {
  margin-top: 0.8125rem;
}
.news-archive__item {
  display: block;
  border-bottom: 1px solid #E5E5E5;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.news-archive__item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (max-width: 767px) {
  .news-archive__item dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.news-archive__item dl dt {
  padding-top: 0.3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.5625rem;
     -moz-column-gap: 1.5625rem;
          column-gap: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .news-archive__item dl dt {
    margin-top: 0;
  }
}
.news-archive__item dl dt time {
  color: #1A5BA9;
}
.news-archive__item dl dt .tag {
  color: #5F5F5F;
  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;
  font-size: clamp(12px, 0.875rem, 0.875rem);
  border: 1px solid #E8E8E8;
  background-color: #F8F8F8;
  border-radius: 999px;
  width: clamp(90px, 6.25rem, 6.25rem);
  height: clamp(23px, 1.625rem, 1.625rem);
}
.news-archive__item dl dd h2 {
  font-size: clamp(16px, 1.125rem, 1.125rem);
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .news-archive__item dl dd h2 {
    font-size: clamp(14px, 1rem, 1rem);
  }
}
@media screen and (max-width: 767px) {
  .news-archive__item dl dd h2 {
    line-height: 1.4;
  }
}
.news-archive__item dl dd h2:not(:has(+ p)) {
  display: inline;
}
.news-archive__item dl dd h2:not(:has(+ p))::after {
  content: "";
  background-image: url("../images/common/ico-pdf.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: 0.5em;
  width: clamp(14.8px, 1.05rem, 1.05rem);
  height: clamp(15.6px, 1.1rem, 1.1rem);
}
.news-archive__item dl dd p {
  color: #5F5F5F;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .news-archive__item dl dd p {
    margin-top: 0.9375rem;
    font-size: clamp(12px, 0.875rem, 0.875rem);
  }
}
@media screen and (min-width: 768px) {
  .news-archive__item:hover {
    opacity: 0.7;
  }
}
.news-archive__item.no-link {
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .news-archive__item.no-link:hover {
    opacity: 1;
  }
}
.news-archive__item.no-link h2::after {
  content: none;
}
.news-archive__pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  place-content: center;
  margin-top: 3.75rem;
  gap: 0.25rem;
  font-family: "Jost", sans-serif;
  color: #5F5F5F;
  font-size: clamp(12px, 0.875rem, 0.875rem);
}
.news-archive__pager a, .news-archive__pager span {
  width: 2rem;
  height: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  place-content: center;
}
.news-archive__pager a.current, .news-archive__pager span.current {
  background: #1A5BA9;
  color: #fff;
  border-radius: 100%;
  padding-left: 0.0625rem;
}
.news-archive__pager .prev {
  margin-right: 0.625rem;
  position: relative;
  top: 0.0625rem;
}
.news-archive__pager .next {
  margin-left: 0.625rem;
  position: relative;
  top: 0.0625rem;
}

.news-detail {
  max-width: 50rem;
  margin: 0 auto;
}
.news-detail h2 {
  font-size: clamp(18px, 1.3125rem, 1.3125rem);
  line-height: 1.7;
  margin-bottom: 1.375rem;
  color: #000000;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .news-detail h2 {
    font-size: clamp(16px, 1.125rem, 1.125rem);
    line-height: 1.5;
    margin-bottom: 1.25rem;
  }
}
.news-detail h2 span {
  display: block;
  color: #1A5BA9;
  font-size: clamp(14px, 1rem, 1rem);
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .news-detail h2 span {
    margin-bottom: 0.3125rem;
  }
}
.news-detail__icatch {
  margin-bottom: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .news-detail__icatch {
    margin-bottom: 1.25rem;
  }
}
.news-detail__icatch img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.news-detail__contents {
  font-size: clamp(14px, 1rem, 1rem);
  line-height: 1.7;
  color: #5F5F5F;
}
@media screen and (max-width: 767px) {
  .news-detail__contents {
    font-size: clamp(13px, 0.875rem, 0.875rem);
  }
}
.news-detail__contents p + p {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .news-detail__contents p + p {
    margin-top: 0.875rem;
  }
}
.news-detail__contents img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 1rem;
}
.news-detail__contents ul {
  display: block;
  margin-top: 1rem;
  margin-bottom: 1rem;
}
.news-detail__contents ul li {
  position: relative;
  padding-left: 1.2em;
}
.news-detail__contents ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}
.news-detail__contents ol {
  display: block;
  margin-top: 1rem;
  margin-bottom: 1rem;
  list-style: decimal;
  padding-left: 1.2em;
}
.news-detail__contents ol li {
  position: relative;
}
.news-detail__contents a {
  text-decoration: underline;
  color: #1A5BA9;
}
.news-detail .u-btn-wrapper {
  margin-top: 1.875rem;
}