body {
  padding-top: 62px;
}
@media print, screen and (min-width: 1025px) {
  body {
    padding-top: 81px;
  }
}
body.lock {
  overflow: hidden;
}

.l-container {
  padding-left: 16px;
  padding-right: 16px;
  max-width: 1440px;
}
@media print, screen and (min-width: 780px) {
  .l-container {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media print, screen and (min-width: 1180px) {
  .l-container {
    padding-left: 80px;
    padding-right: 80px;
  }
}

.news-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 16px;
}
@media print, screen and (min-width: 780px) {
  .news-list {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    gap: 24px;
    padding-top: 28px;
  }
}
.news-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e8e7e5;
  line-height: 1.7;
}
@media print, screen and (min-width: 780px) {
  .news-list li {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 24px;
    padding-bottom: 24px;
  }
}
.news-list a {
  position: relative;
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media not all and (hover: none) {
  .news-list a:hover {
    opacity: 0.7;
  }
}
.news-list a[target=_blank] {
  display: inline-block;
}
.news-list a[target=_blank]::after {
  content: "";
  display: inline-block;
  margin-left: 8px;
  width: 16px;
  height: 16px;
  background-color: #da0808;
  -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"%3E%3Cpath d="M16 5.45a1.06 1.06 0 0 1-2.12 0V3.62l-5.7 5.7a1.06 1.06 0 1 1-1.5-1.5l5.7-5.7h-1.83a1.06 1.06 0 0 1 0-2.12h4.39C15.53 0 16 .47 16 1.06z" fill="currentColor"/%3E%3Cpath d="M0 12.63v-8.3a3.2 3.2 0 0 1 3.18-3.17h3.25a1.06 1.06 0 1 1 0 2.12H3.18c-.58 0-1.06.47-1.06 1.06v8.29c0 .58.48 1.06 1.06 1.06h8.29c.59 0 1.06-.48 1.06-1.06V9.38a1.06 1.06 0 0 1 2.12 0v3.25a3.2 3.2 0 0 1-3.18 3.18H3.18A3.2 3.2 0 0 1 0 12.63" fill="currentColor"/%3E%3C/svg%3E') no-repeat center center/contain;
          mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="none" viewBox="0 0 16 16"%3E%3Cpath d="M16 5.45a1.06 1.06 0 0 1-2.12 0V3.62l-5.7 5.7a1.06 1.06 0 1 1-1.5-1.5l5.7-5.7h-1.83a1.06 1.06 0 0 1 0-2.12h4.39C15.53 0 16 .47 16 1.06z" fill="currentColor"/%3E%3Cpath d="M0 12.63v-8.3a3.2 3.2 0 0 1 3.18-3.17h3.25a1.06 1.06 0 1 1 0 2.12H3.18c-.58 0-1.06.47-1.06 1.06v8.29c0 .58.48 1.06 1.06 1.06h8.29c.59 0 1.06-.48 1.06-1.06V9.38a1.06 1.06 0 0 1 2.12 0v3.25a3.2 3.2 0 0 1-3.18 3.18H3.18A3.2 3.2 0 0 1 0 12.63" fill="currentColor"/%3E%3C/svg%3E') no-repeat center center/contain;
  vertical-align: baseline;
}
.news-list a[href$=".pdf"]::after {
  width: 18px;
  height: 18px;
  -webkit-mask-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"%3E%3Cpath d="M2.81 10.59c.75 0 1.46.28 2 .77.52.5.82 1.17.82 1.88 0 .7-.3 1.37-.83 1.87a3 3 0 0 1-1.99.77h-.56v1.06c0 .59-.5 1.06-1.12 1.06S0 17.53 0 16.94v-5.3c0-.58.5-1.05 1.13-1.05zm6.19 0c.9 0 1.75.33 2.39.93.63.6.98 1.4.98 2.24v1.06c0 .85-.35 1.65-.98 2.25-.64.6-1.5.93-2.39.93H7.88c-.63 0-1.13-.47-1.13-1.06v-5.3c0-.58.5-1.05 1.13-1.05zm7.88 0c.62 0 1.12.47 1.12 1.06 0 .58-.5 1.06-1.12 1.06h-1.13v1.05h1.13c.62 0 1.12.48 1.12 1.06s-.5 1.06-1.12 1.06h-1.13v1.06c0 .59-.5 1.06-1.12 1.06s-1.13-.47-1.13-1.06v-5.3c0-.58.5-1.05 1.13-1.05zM9 15.89q.46-.01.8-.32.31-.31.32-.75v-1.06q0-.44-.32-.74-.34-.3-.8-.31zm-6.75-2.13h.56q.24 0 .4-.15.15-.16.17-.37a.5.5 0 0 0-.17-.38.6.6 0 0 0-.4-.15h-.56zm9-13.76q.46 0 .8.31l5.62 5.3q.32.31.33.74v1.06c0 .59-.5 1.06-1.12 1.06-.42 0-.78-.21-.98-.53h-3.53c-.6 0-1.16-.22-1.59-.62-.42-.4-.65-.94-.65-1.5v-3.7H3.37q-.46 0-.79.3-.32.32-.33.76V7.4c0 .59-.5 1.06-1.12 1.06S0 8 0 7.41V3.18C0 2.33.36 1.53.99.93S2.48 0 3.37 0zm1.13 5.82h2.34l-2.35-2.2z" fill="currentColor"/%3E%3C/svg%3E');
          mask-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none" viewBox="0 0 18 18"%3E%3Cpath d="M2.81 10.59c.75 0 1.46.28 2 .77.52.5.82 1.17.82 1.88 0 .7-.3 1.37-.83 1.87a3 3 0 0 1-1.99.77h-.56v1.06c0 .59-.5 1.06-1.12 1.06S0 17.53 0 16.94v-5.3c0-.58.5-1.05 1.13-1.05zm6.19 0c.9 0 1.75.33 2.39.93.63.6.98 1.4.98 2.24v1.06c0 .85-.35 1.65-.98 2.25-.64.6-1.5.93-2.39.93H7.88c-.63 0-1.13-.47-1.13-1.06v-5.3c0-.58.5-1.05 1.13-1.05zm7.88 0c.62 0 1.12.47 1.12 1.06 0 .58-.5 1.06-1.12 1.06h-1.13v1.05h1.13c.62 0 1.12.48 1.12 1.06s-.5 1.06-1.12 1.06h-1.13v1.06c0 .59-.5 1.06-1.12 1.06s-1.13-.47-1.13-1.06v-5.3c0-.58.5-1.05 1.13-1.05zM9 15.89q.46-.01.8-.32.31-.31.32-.75v-1.06q0-.44-.32-.74-.34-.3-.8-.31zm-6.75-2.13h.56q.24 0 .4-.15.15-.16.17-.37a.5.5 0 0 0-.17-.38.6.6 0 0 0-.4-.15h-.56zm9-13.76q.46 0 .8.31l5.62 5.3q.32.31.33.74v1.06c0 .59-.5 1.06-1.12 1.06-.42 0-.78-.21-.98-.53h-3.53c-.6 0-1.16-.22-1.59-.62-.42-.4-.65-.94-.65-1.5v-3.7H3.37q-.46 0-.79.3-.32.32-.33.76V7.4c0 .59-.5 1.06-1.12 1.06S0 8 0 7.41V3.18C0 2.33.36 1.53.99.93S2.48 0 3.37 0zm1.13 5.82h2.34l-2.35-2.2z" fill="currentColor"/%3E%3C/svg%3E');
}
.news-list time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Poppins", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  color: #8f8f8f;
  white-space: nowrap;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media print, screen and (min-width: 780px) {
  .news-list time {
    font-size: 1.4rem;
  }
}
.news-list p {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #313131;
}
@media print, screen and (min-width: 780px) {
  .news-list p {
    font-size: 1.5rem;
  }
}

.company-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 12px;
  margin: 0 0 48px;
}
@media print, screen and (min-width: 780px) {
  .company-list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
.company-list li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #fff;
}
@media print, screen and (min-width: 780px) {
  .company-list li {
    font-size: 1.5rem;
  }
}
@media print, screen and (min-width: 920px) {
  .company-list li {
    width: unset;
    min-width: calc(50% - 6px);
  }
}
@media print, screen and (min-width: 1180px) {
  .company-list li {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: unset;
  }
}
.company-list li.kosei a::before {
  background-image: url("../img/page/kosei-thumb.jpg");
}
.company-list li.shokuhin a::before {
  background-image: url("../img/page/shokuhin-thumb.jpg");
}
.company-list li.suisan a::before {
  background-image: url("../img/page/suisan-thumb.jpg");
}
.company-list a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 12px;
  padding-right: 16px;
  width: 100%;
  height: 100%;
  border-radius: 16px;
  background: #584e4e;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media print, screen and (min-width: 780px) {
  .company-list a {
    -webkit-box-flex: unset;
    -webkit-flex: unset;
        -ms-flex: unset;
            flex: unset;
  }
}
.company-list a::before {
  content: "";
  display: block;
  margin-right: 20px;
  width: 100px;
  height: 70px;
  border-radius: 8px;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  background: no-repeat center center/cover;
}
@media print, screen and (min-width: 780px) {
  .company-list a::before {
    margin-right: 24px;
    width: 116px;
    height: 81px;
  }
}
.company-list a::after {
  content: "";
  display: block;
  margin-left: auto;
  width: 17px;
  height: 17px;
  background-color: #da0808;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"%3E%3Cpath fill="%23000" d="m10 0 .324.005a10 10 0 1 1-.648 0zm.613 5.21a1 1 0 0 0-1.32 1.497L11.584 9H6l-.117.007A1 1 0 0 0 6 11h5.584l-2.291 2.293-.083.094a1 1 0 0 0 1.497 1.32l4-4 .073-.082.064-.089.062-.113.044-.11.03-.112.017-.126L15 10l-.007-.118-.029-.148-.035-.105-.054-.113-.071-.111a1 1 0 0 0-.097-.112l-4-4z"/%3E%3C/svg%3E') no-repeat center center/contain;
          mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="none" viewBox="0 0 20 20"%3E%3Cpath fill="%23000" d="m10 0 .324.005a10 10 0 1 1-.648 0zm.613 5.21a1 1 0 0 0-1.32 1.497L11.584 9H6l-.117.007A1 1 0 0 0 6 11h5.584l-2.291 2.293-.083.094a1 1 0 0 0 1.497 1.32l4-4 .073-.082.064-.089.062-.113.044-.11.03-.112.017-.126L15 10l-.007-.118-.029-.148-.035-.105-.054-.113-.071-.111a1 1 0 0 0-.097-.112l-4-4z"/%3E%3C/svg%3E') no-repeat center center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media print, screen and (min-width: 780px) {
  .company-list a::after {
    width: 20px;
    height: 20px;
  }
}
@media not all and (hover: none) {
  .company-list a:hover {
    opacity: 0.8;
  }
}
.company-list .logo {
  display: inline-block;
  margin: 0 2px;
  width: 17px;
  height: 17px;
  vertical-align: text-bottom;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
@media print, screen and (min-width: 780px) {
  .company-list .logo {
    margin: 0 4px;
    width: 21px;
    height: 21px;
  }
}

[data-anime][data-anime=slide-rl] > * {
  position: relative;
  left: 50%;
  opacity: 0;
  -webkit-transition: all 0.4s ease-out;
  transition: all 0.4s ease-out;
}
@media print, screen and (min-width: 920px) {
  [data-anime][data-anime=slide-rl] > * {
    -webkit-transition-duration: 0.8s;
            transition-duration: 0.8s;
  }
}
@media print, screen and (min-width: 1280px) {
  [data-anime][data-anime=slide-rl] > * {
    left: 75%;
  }
}
[data-anime][data-anime=slide-rl].animated > * {
  left: 0;
  opacity: 1;
}
[data-anime][data-anime=fade-up] {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out;
}
[data-anime][data-anime=fade-up].animated {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
[data-anime][data-anime=slide-up] {
  -webkit-clip-path: inset(100% 0 0 0);
          clip-path: inset(100% 0 0 0);
  -webkit-transition: all 0.8s ease-out;
  transition: all 0.8s ease-out;
}
[data-anime][data-anime=slide-up].animated {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
[data-anime][data-anime-delay] {
  -webkit-transition-delay: attr(data-anime-delay ms);
          transition-delay: attr(data-anime-delay ms);
}

.btn {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 10px 24px;
  border-radius: 21px;
  border: none;
}

.btn-primary {
  background: #da0808;
  color: #fff;
}
@media not all and (hover: none) {
  .btn-primary:hover {
    opacity: 0.9;
  }
}

.l-header {
  position: fixed;
  left: 0;
  top: 0;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  background-color: #fff;
}
.l-header.nav-open {
  background-color: transparent;
}
.l-header.nav-open .btn-menu {
  background: #000;
  gap: 0;
}
.l-header.nav-open .btn-menu::before {
  position: absolute;
  inset: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l-header.nav-open .btn-menu::after {
  position: absolute;
  inset: 0;
  margin: auto;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.l-header.nav-open .btn-menu span {
  opacity: 0;
}
.l-header.nav-open .header-nav {
  pointer-events: auto;
  visibility: visible;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 10;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  opacity: 1;
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
}
.l-header .btn-menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 4px;
  position: relative;
  z-index: 11;
  width: 38px;
  height: 38px;
  padding: 0;
  background: #da0808;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media print, screen and (min-width: 1025px) {
  .l-header .btn-menu {
    display: none;
  }
}
@media not all and (hover: none) {
  .l-header .btn-menu:hover {
    opacity: 0.8;
  }
}
.l-header .btn-menu::before, .l-header .btn-menu::after {
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-header .btn-menu span {
  display: block;
  width: 16px;
  height: 1px;
  background: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.l-header .header-nav {
  pointer-events: none;
  visibility: hidden;
  overflow-y: auto;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -100;
  padding: 87px 24px 39px;
  width: 100%;
  height: 100dvh;
  background-color: rgba(255, 255, 255, 0.8);
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media print, screen and (min-width: 1025px) {
  .l-header .header-nav {
    pointer-events: auto;
    visibility: visible;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 25px;
    position: static;
    z-index: unset;
    padding: 0;
    height: auto;
    width: auto;
    background: transparent;
    overflow-y: visible;
    opacity: unset;
  }
}
@media print, screen and (min-width: 1180px) {
  .l-header .header-nav {
    gap: 48px;
  }
}
.l-header .anchor-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  margin: 0;
  list-style: none;
}
@media print, screen and (min-width: 1025px) {
  .l-header .anchor-links {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 25px;
  }
}
@media print, screen and (min-width: 1180px) {
  .l-header .anchor-links {
    gap: 40px;
  }
}
.l-header .anchor-links a {
  font-size: 1.6rem;
  font-weight: 600;
  color: #000;
  letter-spacing: 0.05em;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  white-space: nowrap;
}
@media print, screen and (min-width: 1025px) {
  .l-header .anchor-links a {
    font-size: 1.5rem;
    font-weight: 700;
  }
}
@media not all and (hover: none) {
  .l-header .anchor-links a:hover {
    opacity: 0.7;
  }
}
.l-header .cta {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 46px;
  padding: 16px 24px;
  width: 100%;
  border-radius: 26px;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 1025px) {
  .l-header .cta {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 0;
    padding: 10px 24px;
    border-radius: 21px;
    font-size: 1.5rem;
    width: auto;
  }
}
.l-header .company-list {
  gap: 8px;
  margin: 41px 0 0;
}
@media print, screen and (min-width: 1025px) {
  .l-header .company-list {
    display: none;
    margin-top: 0;
  }
}
.l-header .company-list li {
  min-width: calc(50% - 4px);
}
@media print, screen and (min-width: 1025px) {
  .l-header .company-list li {
    min-width: unset;
  }
}
.l-header .company-list a {
  padding-right: 12px;
}
.l-header .company-list a::before {
  margin-right: 16px;
  width: 68px;
  height: 50px;
}
.l-header .btn-floating {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  margin-top: 8px;
  padding: 12px;
  width: 100%;
  border-radius: 16px;
  border: 1px solid #584e4e;
  background-color: #fff;
  color: #584e4e;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 1025px) {
  .l-header .btn-floating {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 15px;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 100;
    padding: 5px 24px;
    margin: 0;
    width: auto;
    height: 74px;
    border-color: transparent;
    border-radius: 8px 0 0 0;
    background: #1c1a1a;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.8;
  }
}
.l-header .btn-floating::before {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"%3E%3Cpath d="M16 10a1 1 0 0 1 .65-.94L10 2.41 3.35 9.06A1 1 0 0 1 4 10v7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1zm-4-1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1zm-3 4h2v-2H9zm9 4a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-6H1a1 1 0 0 1-.7-1.7l9-9 .07-.08A1 1 0 0 1 10.7.3l9 9A1 1 0 0 1 19 11h-1z" fill="currentColor"/%3E%3C/svg%3E') no-repeat center/contain;
          mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none"%3E%3Cpath d="M16 10a1 1 0 0 1 .65-.94L10 2.41 3.35 9.06A1 1 0 0 1 4 10v7a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1zm-4-1a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1zm-3 4h2v-2H9zm9 4a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-6H1a1 1 0 0 1-.7-1.7l9-9 .07-.08A1 1 0 0 1 10.7.3l9 9A1 1 0 0 1 19 11h-1z" fill="currentColor"/%3E%3C/svg%3E') no-repeat center/contain;
}
@media print, screen and (min-width: 1025px) {
  .l-header .btn-floating::before {
    width: 20px;
    height: 20px;
  }
}
@media not all and (hover: none) {
  .l-header .btn-floating:hover {
    opacity: 0.8;
  }
}
.l-header .btn-floating br {
  display: none;
}
@media print, screen and (min-width: 1025px) {
  .l-header .btn-floating br {
    display: inline;
  }
}
.l-header .company-link {
  display: block;
  margin-top: 24px;
  color: #da0808;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.04em;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 1025px) {
  .l-header .company-link {
    display: none;
  }
}
@media not all and (hover: none) {
  .l-header .company-link:hover {
    opacity: 0.7;
  }
}

.l-main {
  position: relative;
  padding-top: 98px;
}
@media print, screen and (min-width: 780px) {
  .l-main {
    padding-top: 68px;
  }
}

.l-footer {
  position: relative;
  width: 100%;
  padding: 24px 8px 48px;
  background: #362f2f;
  color: #fff;
}
@media print, screen and (min-width: 780px) {
  .l-footer {
    padding: 80px 0 48px;
  }
}
.l-footer .links {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  margin-bottom: 24px;
  font-size: 1.1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 780px) {
  .l-footer .links {
    font-size: 1.3rem;
  }
}
.l-footer .links a {
  color: #fff;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media not all and (hover: none) {
  .l-footer .links a:hover {
    opacity: 0.7;
  }
}
.l-footer .copyright {
  font-size: 1rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #a39696;
}
@media print, screen and (min-width: 780px) {
  .l-footer .copyright {
    font-size: 1.1rem;
  }
}

.bg-gray {
  background-color: rgba(247, 247, 247, 0.8);
}

.page-title {
  display: block;
  padding: 0 8px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 0.04em;
}
@media print, screen and (min-width: 780px) {
  .page-title {
    padding: 0;
    font-size: 3.2rem;
  }
}

.page-back {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9;
  padding: 4px 12px;
  min-height: 38px;
  border-radius: 8px 0 0 0;
  background-color: #1c1a1a;
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1;
  white-space: nowrap;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media print, screen and (min-width: 780px) {
  .page-back {
    gap: 12px;
    padding: 8px 24px;
    min-height: 45px;
    min-width: 218px;
    font-size: 1.6rem;
  }
}
.page-back::before {
  content: "";
  display: block;
  width: 16px;
  height: 10px;
  background-color: currentColor;
  -webkit-mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 16 10"%3E%3Cpath fill="%23fff" d="M4.3.3a1 1 0 1 1 1.4 1.4L3.42 4H15a1 1 0 1 1 0 2H3.41l2.3 2.3a1 1 0 1 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4z"/%3E%3C/svg%3E') no-repeat center center/contain;
          mask: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="16" height="10" viewBox="0 0 16 10"%3E%3Cpath fill="%23fff" d="M4.3.3a1 1 0 1 1 1.4 1.4L3.42 4H15a1 1 0 1 1 0 2H3.41l2.3 2.3a1 1 0 1 1-1.42 1.4l-4-4a1 1 0 0 1 0-1.4z"/%3E%3C/svg%3E') no-repeat center center/contain;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}
@media not all and (hover: none) {
  .page-back:hover {
    opacity: 0.8;
  }
}

body.news .l-header .logo h1 {
  font-size: 1.8rem;
}
@media print, screen and (min-width: 1025px) {
  body.news .l-header .logo h1 {
    font-size: 2.2rem;
  }
}
body.news .l-main {
  padding-bottom: 120px;
}
@media print, screen and (min-width: 780px) {
  body.news .l-main {
    padding-bottom: 187px;
  }
}
body.news .news-list {
  margin-top: 90px;
}
@media print, screen and (min-width: 780px) {
  body.news .news-list {
    margin-top: 94px;
  }
}

.sec_privacy {
  -webkit-box-flex: 1;
  -webkit-flex-grow: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  padding: 32px 0 48px;
  margin-top: 32px;
  width: 100%;
}
@media print, screen and (min-width: 780px) {
  .sec_privacy {
    padding: 76px 0 80px;
    margin-top: 76px;
  }
}
.sec_privacy section {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
@media print, screen and (min-width: 780px) {
  .sec_privacy section {
    gap: 12px;
  }
}
.sec_privacy h3 {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 780px) {
  .sec_privacy h3 {
    font-size: 1.6rem;
    letter-spacing: 0.05em;
  }
}
.sec_privacy p {
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 780px) {
  .sec_privacy p {
    font-size: 1.4rem;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
.sec_privacy ol {
  list-style: decimal outside;
  margin-left: 16px;
  padding-left: 16px;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 780px) {
  .sec_privacy ol {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
.sec_privacy ol li + li {
  margin-top: 4px;
}
.sec_privacy .content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 28px;
  max-width: 920px;
  margin: 0 auto;
}
@media print, screen and (min-width: 780px) {
  .sec_privacy .content {
    gap: 32px;
  }
}
.sec_privacy .border-box {
  border: 1px solid #dcdcdc;
  padding: 12px 16px;
}
@media print, screen and (min-width: 780px) {
  .sec_privacy .border-box {
    padding: 20px 24px;
  }
}
.sec_privacy .border-box p {
  margin: 0;
}