@charset "utf-8";

/*
Theme Name: remohab-theme
*/


body {
  font-family: "Noto Sans JP", "Almarai", sans-serif;
  line-height: 1.8;
  width: 100%;
  height: 100%;
  color: #2F2D2D;
  background: #F9FAFA;
  -webkit-text-size-adjust: 100%;
  /*font-feature-settings: 'palt';*/
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 0.875rem;
  }
}

*::-moz-selection {
  background: #97cbe2;
}

*::selection {
  background: #97cbe2;
}
*::-moz-selection {
  background: #97cbe2;
}

:root {
  --vw: 1vw;
}

/*===========================
  @use
===========================*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a, button, summary {
  cursor: pointer;
}
a:focus, button:focus, summary:focus {
  outline: none;
}
a:focus:not(:focus-visible), button:focus:not(:focus-visible), summary:focus:not(:focus-visible) {
  outline: none;
}
a:focus-visible, button:focus-visible, summary:focus-visible {
  outline: 2px solid #ddd;
}

summary {
  display: block;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

ol, ul, menu {
  list-style: none;
}

img {
  display: block;
  max-inline-size: 100%;
  max-block-size: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
}

input, textarea {
  -webkit-user-select: auto;
}
input:focus, textarea:focus {
  outline: 1px solid;
}
input:focus:not(:focus-visible), textarea:focus:not(:focus-visible) {
  outline: 1px solid red;
  background: transparent;
}
input:focus-visible, textarea:focus-visible {
  outline: 1px solid #d3d3d3;
  background: #f3f3f3;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

:where(pre) {
  all: revert;
}

::-webkit-input-placeholder {
  color: unset;
}

::-moz-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

.l-content {
  width: clamp(88%, 100% - 120px, 90rem);
  margin: auto;
}
@media screen and (max-width: 768px) {
  .l-content {
    width: clamp(92%, 100% - 40px, 90rem);
  }
}

.l-lower-content {
  margin-top: 11.25rem;
}
@media screen and (max-width: 1024px) {
  .l-lower-content {
    margin-top: 4rem;
  }
}

.l-footer {
  padding: 5.625rem 0 1.25rem;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding: 2.5rem 0 1.25rem;
  }
}

.l-footer__content {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-pack: justify;
          justify-content: space-between;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .l-footer__content {
    grid-template-columns: 1fr;
    gap: 1.5625rem;
  }
}

.l-footer__logo {
  height: 2.5rem;
}
@media screen and (max-width: 768px) {
  .l-footer__logo {
    height: 1.25rem;
  }
}

.l-footer__addressBlock {
  display: -webkit-box;
  display: flex;
  gap: 1rem;
  font-size: 0.8125rem;
  margin-top: 1.5625rem;
}

.l-footer__nav {
  display: grid;
  gap: 5.25rem;
  width: 100%;
  max-width: 51.0625rem;
  margin-left: auto;
}
@media screen and (max-width: 1200px) {
  .l-footer__nav {
    gap: 5.25rem 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    gap: 2.5rem 1.25rem;
    grid-template-columns: 6.25rem auto;
  }
}

.l-footer__navBlock {
  grid-row: 1/2;
}
@media screen and (max-width: 1024px) {
  .l-footer__navBlock:nth-of-type(1) {
    grid-row: 1/2;
    grid-column: 1 / 3;
  }
  .l-footer__navBlock:nth-of-type(2) {
    grid-row: 2/3;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__navBlock:nth-of-type(1) {
    grid-row: 1/2;
    grid-column: 1 / 3;
  }
  .l-footer__navBlock:nth-of-type(2) {
    grid-row: 1/2;
  }
}

.l-footer__blockTitle {
  color: #6E6E6E;
  font-family: "Almarai", sans-serif;
  font-size: 1.25rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .l-footer__blockTitle {
    font-size: 1rem;
    line-height: 1.3;
  }
}

.l-footer__navList {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 3rem;
  margin-top: 1.3125rem;
}

.l-footer__navItem {
  font-family: "Almarai", sans-serif;
  font-size: 1.25rem;
  width: 4.5625rem;
}
@media screen and (max-width: 1400px) {
  .l-footer__navItem {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__navItem {
    font-size: 0.8125rem;
  }
}
.l-footer__navItem a span {
  position: relative;
  line-height: 1.2;
}
.l-footer__navItem a span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #2F2D2D;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  position: absolute;
  bottom: 0;
  right: 0;
}
.l-footer__navItem.external {
  width: 100%;
}
.l-footer__navItem.external a {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 0.375rem;
}
.l-footer__navItem.external .l-footer__navItem-arrow {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  width: 1rem;
  height: 1rem;
}
@media screen and (max-width: 768px) {
  .l-footer__navItem.external .l-footer__navItem-arrow {
    width: 0.75rem;
    height: 0.75rem;
  }
}
.l-footer__navItem:focus a span::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
@media (hover) {
  .l-footer__navItem:hover a span::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
  }
}

.l-footer__snsBlock {
  grid-column: 1/3;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.375rem;
}

.l-footer__snsTitle {
  font-family: "Almarai", sans-serif;
}

.l-footer__sns {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.l-footer__sns:focus {
  opacity: 0.6;
}
@media (hover) {
  .l-footer__sns:hover {
    opacity: 0.6;
  }
}
.l-footer__sns img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-footer__links {
  margin-top: 6.9375rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  flex-wrap: wrap;
  font-size: 0.875rem;
  gap: 3.5rem;
}
@media screen and (max-width: 1024px) {
  .l-footer__links {
    gap: 0.5rem 1rem;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__links {
    margin-top: 2.5rem;
    -webkit-box-pack: start;
            justify-content: flex-start;
    font-size: 0.75rem;
  }
}

.l-footer__link {
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.l-footer__link:focus {
  opacity: 0.7;
}
@media (hover) {
  .l-footer__link:hover {
    opacity: 0.7;
  }
}

.l-footer__copyright {
  display: block;
  font-size: 0.75rem;
  margin-top: 1.5rem;
  color: #6E6E6E;
  text-align: center;
}

.l-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}
.l-header.home{
  opacity: 0;
  -webkit-transition: opacity 0.7s ease 3s;
  transition: opacity 0.7s ease 3s;
}
.l-header.home.load {
  opacity: 1;
}

.l-header__top {
  padding: 2rem 3.75rem 1rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: end;
          justify-content: flex-end;
  gap: 2.5rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 1024px) {
  .l-header__top {
    display: none;
  }
}
.l-header__top a {
  padding: 0.5rem;
  position: relative;
  line-height: 1.2;
}
.l-header__top a::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #2F2D2D;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  position: absolute;
  bottom: 0;
  right: 0;
}
.l-header__top a:focus::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
@media (hover) {
  .l-header__top a:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
  }
}

.l-header__content {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
          align-items: center;
  padding: 1rem 3.75rem 1.25rem;
}
@media screen and (max-width: 1024px) {
  .l-header__content {
    padding: 0 0.1875rem 0 0.9375rem;
  }
}

.l-header__logo {
  height: 1.4375rem;
}
@media screen and (max-width: 1024px) {
  .l-header__logo {
    height: 1.25rem;
  }
}

.l-header__menu {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 2.5rem;
}

@media screen and (max-width: 1024px) {
  .l-header__nav {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-flow: column;
    gap: 2.5rem;
    -webkit-box-align: start;
            align-items: flex-start;
    position: fixed;
    max-width: 100vw;
    min-width: 23.4375rem;
    height: 100svh;
    padding: 5.5rem 2.5rem 4rem;
    background-color: #2F2D2D;
    color: #fff;
    overflow-y: auto;
    top: 0;
    right: 0;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .is-open .l-header__nav {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

.l-header__list {
  display: -webkit-box;
  display: flex;
  gap: 0.625rem;
  font-family: "Almarai", sans-serif;
  gap: 2.5rem;
}
@media screen and (max-width: 1024px) {
  .l-header__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-flow: column;
    gap: 1.25rem;
    font-size: 1.25rem;
    -webkit-box-align: start;
            align-items: flex-start;
  }
}

.l-header__item.current a::before {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.l-header__item a {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-flow: column;
  -webkit-box-align: center;
          align-items: center;
  gap: 12px;
  padding-bottom: 4px;
  font-family: "Almarai", sans-serif;
}
@media screen and (max-width: 1024px) {
  .l-header__item a {
    position: relative;
    line-height: 1.5;
  }
}
.l-header__item a::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  background-color: #2F2D2D;
  -webkit-transform: translateY(3px);
          transform: translateY(3px);
  opacity: 0;
  -webkit-transition: 0.2s ease opacity, -webkit-transform 0.3s ease;
  transition: 0.2s ease opacity, -webkit-transform 0.3s ease;
  transition: 0.2s ease opacity, transform 0.3s ease;
  transition: 0.2s ease opacity, transform 0.3s ease, -webkit-transform 0.3s ease;
}
@media screen and (max-width: 1024px) {
  .l-header__item a::before {
    opacity: 1;
    background-color: #fff;
    width: 100%;
    height: 1px;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    position: absolute;
    bottom: 0;
    left: 0;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}
.l-header__item a:focus::before {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
@media screen and (max-width: 1024px) {
  .l-header__item a:focus::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}
@media (hover) {
  .l-header__item a:hover::before {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@media screen and (hover) and (max-width: 1024px) {
  .l-header__item a:hover::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transition: -webkit-transform 0.4s ease;
    transition: -webkit-transform 0.4s ease;
    transition: transform 0.4s ease;
    transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  }
}

.l-header__ham-menu {
  display: none;
}
@media screen and (max-width: 1024px) {
  .l-header__ham-menu {
    position: relative;
    z-index: 1;
    width: 3rem;
    height: 3rem;
    margin: 0.5rem 0;
    cursor: pointer;
  }
  .l-header__ham-menu span {
    position: absolute;
    left: 0;
    width: 1.5625rem;
    height: 1px;
    background-color: #2F2D2D;
  }
  .l-header__ham-menu, .l-header__ham-menu span {
    display: inline-block;
    box-sizing: border-box;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
  .l-header__ham-menu span:nth-of-type(1) {
    top: 1rem;
  }
  .l-header__ham-menu span:nth-of-type(2) {
    top: 1.5rem;
  }
  .l-header__ham-menu span:nth-of-type(3) {
    bottom: 1rem;
  }
  .l-header__ham-menu.is-open span:nth-of-type(1) {
    -webkit-transform: translateY(0.5rem) rotate(45deg);
            transform: translateY(0.5rem) rotate(45deg);
  }
  .l-header__ham-menu.is-open span:nth-of-type(2) {
    opacity: 0;
  }
  .l-header__ham-menu.is-open span:nth-of-type(3) {
    -webkit-transform: translateY(-0.5rem) rotate(-45deg);
            transform: translateY(-0.5rem) rotate(-45deg);
  }
  .l-header__ham-menu.is-open span {
    background-color: #fff;
  }
}

.l-header__language {
  background-color: #DADADA;
  border-radius: 3.375rem;
  border: 1px solid #DADADA;
  padding: 0.25rem;
  display: -webkit-box;
  display: flex;
  font-size: 0.875rem;
  line-height: 1.2;
  -webkit-transition: background-color 0.2s ease-out;
  transition: background-color 0.2s ease-out;
}
@media screen and (max-width: 1024px) {
  .l-header__language {
    position: absolute;
    top: 0.75rem;
    right: 4rem;
  }
}
.l-header__language div {
  padding: 0.5rem 1rem;
  border-radius: 1.5rem;
  width: 3.25rem;
}
.l-header__language span {
  position: relative;
  z-index: 1;
}
.l-header__language .off {
  color: #6E6E6E;
}
.l-header__language .on {
  color: #2F2D2D;
  position: relative;
}
.l-header__language .on::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 1.5rem;
  -webkit-transition: -webkit-transform 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
.l-header__language:focus {
  background-color: #c7c7c7;
}
.l-header__language:focus .on::after {
  -webkit-transform: translateX(-4px);
          transform: translateX(-4px);
}
@media (hover) {
  .l-header__language:hover {
    background-color: #c7c7c7;
  }
  .l-header__language:hover .on::after {
    -webkit-transform: translateX(-4px);
            transform: translateX(-4px);
  }
}

.l-header-contact {
  display: none;
}
@media screen and (max-width: 1024px) {
  .l-header-contact {
    display: -webkit-box;
    display: flex;
    gap: 0.75rem;
    padding: 0.75rem 2.25rem;
    border: 1px solid;
    border-radius: 5rem;
    font-size: 1rem;
    font-family: "Noto Sans JP", "Almarai", sans-serif;
    -webkit-transition: background-color 0.3s ease;
    transition: background-color 0.3s ease;
  }
  .l-header-contact:focus {
    background-color: #fff;
    color: #2F2D2D;
  }
  .l-header-contact:focus .l-header-contact__arrow {
    mix-blend-mode: difference;
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
}
@media screen and (max-width: 1024px) and (hover) {
  .l-header-contact:hover {
    background-color: #fff;
    color: #2F2D2D;
  }
  .l-header-contact:hover .l-header-contact__arrow {
    mix-blend-mode: difference;
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
}

.l-header-contact__arrow {
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.l-header-service {
  display: none;
}
@media screen and (max-width: 1024px) {
  .l-header-service {
    display: block;
    width: 100%;
  }
}

.l-header-service__title {
  display: block;
  color: #6E6E6E;
  font-family: "Almarai", sans-serif;
  font-size: 1rem;
  padding: 0.5rem 0;
  border-bottom: 1px solid;
  line-height: 1.3;
}

.l-header-service__list {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.l-header-service__item a {
  display: -webkit-box;
  display: flex;
  gap: 0.25rem;
  line-height: 1.3;
}
.l-header-service__item a span {
  position: relative;
}
.l-header-service__item a span::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
  position: absolute;
  bottom: 0;
  right: 0;
}
.l-header-service__item a:focus span::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
}
@media (hover) {
  .l-header-service__item a:hover span::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
  }
}

.l-header-service__arrow {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-link-btn, .c-link-btn--white {
  display: grid;
  grid-template-columns: 1fr 1rem;
  gap: 4rem;
  -webkit-box-align: center;
          align-items: center;
  padding: 1rem 0;
  text-align: right;
  border-bottom: 1px solid;
  position: relative;
}
.c-link-btn::after, .c-link-btn--white::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #2F2D2D;
  position: absolute;
  bottom: -1px;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
}
.c-link-btn.external .c-link-btn__icon, .external.c-link-btn--white .c-link-btn__icon {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.c-link-btn.external:focus .c-link-btn__icon, .external.c-link-btn--white:focus .c-link-btn__icon {
  -webkit-transform: rotate(-45deg) translate(4px, 2px);
          transform: rotate(-45deg) translate(4px, 2px);
}
@media (hover) {
  .c-link-btn.external:hover .c-link-btn__icon, .external.c-link-btn--white:hover .c-link-btn__icon {
    -webkit-transform: rotate(-45deg) translate(4px, 2px);
            transform: rotate(-45deg) translate(4px, 2px);
  }
}
.c-link-btn:focus::after, .c-link-btn--white:focus::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
}
.c-link-btn:focus .c-link-btn__icon, .c-link-btn--white:focus .c-link-btn__icon {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
@media (hover) {
  .c-link-btn:hover::after, .c-link-btn--white:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
    transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
    transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  }
  .c-link-btn:hover .c-link-btn__icon, .c-link-btn--white:hover .c-link-btn__icon {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
}

.c-link-btn--white {
  color: #fff;
}
.c-link-btn--white::after {
  background-color: #fff;
}

.c-link-btn__icon {
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.c-link-btn__wrap {
  width: clamp(40.75rem, 60%, 100%);
  margin-left: auto;
}
@media screen and (max-width: 768px) {
  .c-link-btn__wrap {
    width: 100%;
  }
}

.c-contact {
  padding: 12.75rem 0 11.875rem;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-contact {
    padding: 12.5rem 0;
  }
}

.c-contact__inner {
  width: 90%;
  max-width: 20.625rem;
  text-align: center;
}

.c-contact__title {
  font-family: "Almarai", sans-serif;
  font-size: 2.25rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .c-contact__title {
    font-size: 1.75rem;
  }
}

.c-contact__text {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-contact__text {
    font-size: 0.8125rem;
    margin-top: 0.25rem;
  }
}

.c-contact__btn {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-contact__btn {
    width: 12rem;
    margin: 0.375rem auto 0;
  }
}

#contactImg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #contactImg {
    width: 27.5rem;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}

.c-form__inner {
  max-width: 30.375rem;
  margin: auto;
}

.c-form__form {
  margin-top: 1.25rem;
}

.c-form__required {
  color: #F91313;
}
.c-form__item:not(:first-child){
  margin-top: 1.25rem;
}
.c-form__input {
  display: block;
  width: 100%;
  padding: 0.5rem;
  border-radius: 4px;
  border: 1px solid #DADADA;
  margin-top: 0.5rem;
}
.c-form__select-wrap{
  position: relative;
}
.c-form__select-wrap::after{
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-bottom: 1px solid;
  border-right: 1px solid;
  position: absolute;
  top: 45%;
  right: 1rem;
  transform: rotate(45deg) translateY(-50%);
}
.c-form__select {
  display: block;
  width: 100%;
  padding: 0.5rem;
  border-radius: 4px;
  border: 1px solid #DADADA;
  margin-top: 0.5rem;
}

.c-form__textarea {
  display: block;
  width: 100%;
  padding: 0.5rem;
  border-radius: 4px;
  border: 1px solid #DADADA;
}
.c-form .wpcf7-list-item{
  margin: 0;
}
.c-form .wpcf7-response-output{
  border: none!important;
  color: #F91313;
  background-color: #ffeded;
}
.c-form__check + .wpcf7-list-item-label {
  position: relative;
  margin-right: 1em;
  padding-left: 1.25em;
  cursor: pointer;
}
.c-form__check + .wpcf7-list-item-label a {
  text-decoration: underline;
}

.wpcf7-list-item-label::before {
  position: absolute;
  top: 0.4em;
  left: 0;
  display: block;
  width: 15px;
  height: 15px;
  content: "";
  border: 1px solid #ddd;
  background: #eee;
}

.c-form__check {
  display: none;
}

.c-form__check:checked + .wpcf7-list-item-label::after {
  position: absolute;
  top: calc(0.4em + 3px);
  left: 3px;
  display: block;
  width: 10px;
  height: 5px;
  content: "";
  border-left: 2px solid #5FBFBC;
  border-bottom: 2px solid #5FBFBC;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.c-form__btn {
  -webkit-box-align: center;
          align-items: center;
  text-align: right;
  border-bottom: 1px solid;
  position: relative;
  margin: 5rem auto 0;
  max-width: 25rem;
  width: 100%;
}
.c-form__btn::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-color: #2F2D2D;
  position: absolute;
  bottom: -1px;
  left: 0;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
}
.c-form__btn:focus::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
}
.c-form__btn:focus .c-form__btnIcon {
  -webkit-transform: translateX(4px) translateY(-50%);
          transform: translateX(4px) translateY(-50%);
}
@media (hover) {
  .c-form__btn:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: left bottom;
            transform-origin: left bottom;
    -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
    transition: -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
    transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
    transition: transform 0.3s cubic-bezier(0, 0.5, 0.25, 1), -webkit-transform 0.3s cubic-bezier(0, 0.5, 0.25, 1);
  }
  .c-form__btn:hover .c-form__btnIcon {
    -webkit-transform: translateX(4px) translateY(-50%);
            transform: translateX(4px) translateY(-50%);
  }
}
.c-form__btn input {
  width: 100%;
  padding: 1rem 5rem 1rem 0;
  cursor: pointer;
}

.c-form__btnIcon {
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.c-joinUs {
  background-color: #2F2D2D;
  color: #fff;
  padding: 7rem 0 8.125rem;
}
@media screen and (max-width: 768px) {
  .c-joinUs {
    padding: 4rem 0;
  }
}

.c-joinUs__inner {
  max-width: 77.1875rem;
  margin-left: auto;
}

.c-joinUs__title {
  font-family: "Almarai", sans-serif;
  font-size: 2.625rem;
  line-height: 1.1;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-joinUs__title {
    font-size: 2rem;
  }
}
.c-joinUs__title .js-title {
  -webkit-clip-path: inset(0px 0px);
          clip-path: inset(0px 0px);
  display: -webkit-box;
  display: flex;
}
.c-joinUs__title img {
  position: absolute;
  bottom: -5px;
  left: -10px;
}

.c-joinUs__text {
  margin-top: 1.5rem;
}

.c-joinUs__btn {
  width: clamp(30.3125rem, 50%, 100%);
  margin-left: auto;
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-joinUs__btn {
    width: 100%;
    margin-top: 2.5rem;
  }
}

.c-news__item {
  border-bottom: 1px solid #DADADA;
}
.c-news__item a {
  padding: 1.875rem 0.5rem;
  display: grid;
  gap: 0.625rem;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.c-news__item a:focus {
  background-color: #f0f0f0;
  mix-blend-mode: multiply;
}
.c-news__item a:focus .p-home-news__info {
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
.c-news__item a:focus .p-home-news__heading {
  text-decoration: underline;
  -webkit-transform: translateX(4px);
          transform: translateX(4px);
}
@media (hover) {
  .c-news__item a:hover {
    background-color: #f0f0f0;
    mix-blend-mode: multiply;
  }
  .c-news__item a:hover .p-home-news__info {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
  .c-news__item a:hover .p-home-news__heading {
    text-decoration: underline;
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
}

.c-news__info {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  gap: 1rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-news__data {
  color: #6E6E6E;
  font-size: 0.875rem;
}

.c-news__tag {
  display: inline-block;
  padding: 0.25rem 0.5rem;
  border: 1px solid;
  font-family: "Almarai", sans-serif;
  font-size: 0.875rem;
}

.c-news__heading {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.c-section-title {
  font-size: 2.5rem;
  font-family: "Almarai", sans-serif;
  line-height: 1;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
          align-items: center;
  gap: 1.4375rem;
}
@media screen and (max-width: 768px) {
  .c-section-title {
    font-size: 1.25rem;
    gap: 1rem;
  }
}

.c-section-title__border {
  width: 100%;
  height: 1px;
  background-color: #2F2D2D;
  -webkit-transform-origin: top left;
          transform-origin: top left;
}

.c-section-title__inner {
  -webkit-clip-path: inset(0px 0px);
          clip-path: inset(0px 0px);
  display: -webkit-box;
  display: flex;
}

.c-lower-headline {
  width: clamp(88%, 100% - 120px, 90rem);
  padding: 4.125rem 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .c-lower-headline {
    width: clamp(90%, 100% - 40px, 90rem);
    padding: 3.75rem 0;
  }
}

.c-lower-headline__en {
  font-family: "Almarai", sans-serif;
  font-size: 4rem;
  line-height: 1.1;
  opacity: 0;
  filter: blur(8px);
  animation: lowerHeading 1s 1s forwards;
}
@keyframes lowerHeading {
  0%{
    opacity: 0;
    filter: blur(8px);
  }
  50%{
    opacity: 1;
  }
  100%{
    opacity: 1;
    filter: blur(0);
  }
}
@media screen and (max-width: 768px) {
  .c-lower-headline__en {
    font-size: 2.5rem;
  }
}

.c-lower-headline__ja {
  margin-top: 1rem;
  font-size: 1.25rem;
  line-height: 1;
  opacity: 0;
  filter: blur(8px);
  animation: lowerHeading 1s 1s forwards;
}
.c-lower-headline__ja:nth-child(1){
  font-size: 3rem;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .c-lower-headline__ja {
    font-size: 0.75rem;
  }.c-lower-headline__ja:nth-child(1){
    font-size: 2rem;
  }
}

.p-about-lead__block01 {
  position: relative;
  overflow: hidden;
  padding: 22.5rem 0 18.75rem;
}
@media screen and (max-width: 768px) {
  .p-about-lead__block01 {
    padding: 11.25rem 0;
  }
}

.p-about-lead__block02 {
  position: relative;
  overflow: hidden;
  padding: 11.25rem 0 18.75rem;
}
@media screen and (max-width: 768px) {
  .p-about-lead__block02 {
    padding: 7.5rem 0 5.875rem;
  }
}
.p-about-lead__block02 .p-about-lead__contentInner {
  width: 95%;
}
@media screen and (max-width: 768px) {
  .p-about-lead__block02 .p-about-lead__contentInner {
    width: 85%;
  }
}

.p-about-lead__img {
  height: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translate(-30%, -50%);
          transform: translate(-30%, -50%);
  z-index: -1;
}
@media screen and (max-width: 576px) {
  .p-about-lead__img {
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-about-lead__img--right {
  height: 120%;
  top: 50%;
  left: auto;
  right: 0;
  -webkit-transform: translate(70%, -40%);
          transform: translate(70%, -40%);
}
@media screen and (max-width: 1024px) {
  .p-about-lead__img--right {
    height: 160%;
    -webkit-transform: translate(92%, -50%);
            transform: translate(92%, -50%);
  }
}

.p-about-lead__content {
  display: grid;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .p-about-lead__content {
    gap: 2.5rem;
  }
}

.p-about-lead__content--right {
  display: grid;
  gap: 4rem;
  -webkit-box-pack: end;
          justify-content: end;
}
@media screen and (max-width: 768px) {
  .p-about-lead__content--right {
    gap: 2.5rem;
  }
}

.p-about-lead__subTitle {
  font-family: "Almarai", sans-serif;
  font-size: 2.5rem;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .p-about-lead__subTitle {
    font-size: 1.625rem;
  }
}

.p-about-lead__title {
  font-size: 1.125rem;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-about-lead__title {
    font-size: 1rem;
    margin-top: 1.25rem;
  }
}

.p-about-lead__texts {
  line-height: 2.4;
  margin-top: 4rem;
}
.p-about-lead__texts:nth-child(2) {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-about-lead__texts {
    line-height: 2.2;
    margin-top: 2.5rem;
  }
  .p-about-lead__texts:nth-child(2) {
    margin-top: 2.5rem;
  }
}

.p-about-lead__text:not(:first-child) {
  margin-top: 2.4em;
}
@media screen and (max-width: 768px) {
  .p-about-lead__text:not(:first-child) {
    margin-top: 2.2em;
  }
}
@media screen and (max-width: 768px) {
  .p-about-lead__text {
    font-size: 0.8125rem;
  }
}

.p-about-movie__content {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.p-about-movie__content img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}
.p-about-movie__content:focus img {
  -webkit-transform: scale(1.02);
          transform: scale(1.02);
}
@media (hover) {
  .p-about-movie__content:hover img {
    -webkit-transform: scale(1.02);
            transform: scale(1.02);
  }
  .p-about-movie__content:hover .p-about-movie__btn{
    opacity: 1;
  }
}
.p-about-movie__btn{
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  display: grid;
  place-content: center;
  transition: opacity 0.3s ease;
}
.p-about-movie__btn img{
  width: 8rem;
  height: 8rem;
}
@media (hover:none) {
  .p-about-movie__btn{
    opacity: 1;
  }
}
@media screen and (max-width: 768px){
  .p-about-movie__btn{
    opacity: 1;
  }
  .p-about-movie__btn img{
    width: 4rem;
    height: 4rem;
  }
}

.p-about-movie__popup {
  display: none;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
}
.p-about-movie__popup::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
}
.p-about-movie__popup.on {
  display: block;
}

.p-about-movie__popupInner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: #2F2D2D;
  z-index: 1;
  width: 90%;
  display: grid;
  grid-template-rows: 3rem 1fr 3rem;
}

.p-about-movie__close {
  width: 100%;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: end;
          justify-content: flex-end;
  padding: 0.5rem 1rem;
}

.p-about-movie__youtube iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9;
}

.p-about-company {
  padding: 5.75rem 0 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-about-company {
    padding: 7.5rem 0;
  }
}

.p-about-company__content {
  max-width: 45.9375rem;
  margin-left: auto;
  margin-top: 4.375rem;
}
@media screen and (max-width: 768px) {
  .p-about-company__content {
    margin-top: 2.5rem;
  }
}

.p-about-company__list {
  display: grid;
  gap: 1rem;
}

.p-about-company__listItem {
  padding: 1.25rem 0;
  display: grid;
  gap: 0.5rem;
}

.p-about-company__listTitle {
  color: #6E6E6E;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-about-company__listTitle {
    font-size: 0.8125rem;
  }
}

.p-about-company__listText {
  font-size: 1.25rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-about-company__listText {
    font-size: 0.8125rem;
  }
}

.p-about-company__bullet {
  display: grid;
}
.p-about-company__bullet li {
  padding-left: 1em;
}
.p-about-company__bullet li:not(:first-child) {
  margin-top: 0.5rem;
}
.p-about-company__bullet li::before {
  content: "・";
  display: inline-block;
  text-indent: -1em;
}

.p-about-company__note {
  margin-top: 1.8em;
}

.p-about-map {
  margin-top: 3.4375rem;
}

.p-about-map__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4rem;
  -webkit-box-align: end;
          align-items: end;
}
@media screen and (max-width: 1024px) {
  .p-about-map__inner {
    grid-template-columns: 2fr 1fr;
    gap: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-map__inner {
    grid-template-columns: 1fr;
  }
}

.p-about-map__map {
  width: 100%;
}
.p-about-map__map iframe {
  width: 100%;
  aspect-ratio: 1000/385;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
@media screen and (max-width: 768px) {
  .p-about-map__map iframe {
    aspect-ratio: 375/300;
  }
}

.p-about-map__content {
  padding-right: 3.75rem;
  display: grid;
  gap: 1rem;
  -webkit-box-pack: end;
          justify-content: end;
}
@media screen and (max-width: 768px) {
  .p-about-map__content {
    padding: 0 0.9375rem;
  }
}

.p-about-map__btn {
  max-width: 12rem;
  margin-left: auto;
}

.p-about-history {
  padding: 7.5rem 0 13.6875rem;
}
@media screen and (max-width: 768px) {
  .p-about-history {
    padding: 7.5rem 0;
  }
}

.p-about-history__chronology {
  max-width: 61.625rem;
  margin-left: auto;
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-about-history__chronology {
    margin-top: 2.5rem;
  }
}

.p-about-history__item {
  display: grid;
  grid-template-columns: 3.5rem 1fr;
  padding: 1.875rem 0.5rem;
  gap: 0.625rem;
  border-bottom: 1px solid #DADADA;
}
@media screen and (max-width: 768px) {
  .p-about-history__item {
    grid-template-columns: 1fr;
    gap: 0.5rem;
    padding: 1.25rem 0;
  }
}

.p-about-history__title {
  font-family: "Almarai", sans-serif;
  color: #6E6E6E;
  line-height: 2;
}

.p-contact {
  padding-bottom: 7.5rem;
}

.p-recruit {
  padding-bottom: 7.5rem;
}

.p-recruit-lead {
  max-width: 61.625rem;
  margin: auto;
}

.p-recruit-form {
  margin-top: 5rem;
}

.p-recruit-lead__title {
  font-size: 1.25rem;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-recruit-lead__title {
    font-size: 1.125rem;
  }
}

.p-recruit-lead__text {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-recruit-lead__text {
    font-size: 0.8125rem;
  }
}

.p-recruit-lead__btn {
  max-width: 25rem;
  margin: 1.25rem auto 0;
}

.p-home-mv {
  height: 100vh;
  width: 100%;
  overflow: hidden;
}

.p-home-mv__inner {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  opacity: 0;
  z-index: -1;
  -webkit-transition: opacity 0.4s ease, -webkit-transform 0.8s ease-out;
  transition: opacity 0.4s ease, -webkit-transform 0.8s ease-out;
  transition: transform 0.8s ease-out, opacity 0.4s ease;
  transition: transform 0.8s ease-out, opacity 0.4s ease, -webkit-transform 0.8s ease-out;
}
.load .p-home-mv__inner {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.path {
  stroke: #000;
  stroke-width: 3px;
  fill: none;
}

#mv {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1500px;
  height: 1500px;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  max-width: none !important;
}
#mv.infinite {
  opacity: 0.4;
  -webkit-filter: blur(8px);
          filter: blur(8px);
}

#mv.footerIn {
  position: absolute;
}

#mv-inner {
  -webkit-transform: scale(0.7);
          transform: scale(0.7);
  width: 100%;
  height: 100%;
  -webkit-transition: -webkit-transform 0.6s ease-out;
  transition: -webkit-transform 0.6s ease-out;
  transition: transform 0.6s ease-out;
  transition: transform 0.6s ease-out, -webkit-transform 0.6s ease-out;
}
@media screen and (max-width: 768px) {
  #mv-inner {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

#mv-base {
  width: 100%;
  height: 100%;
}

.path-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.path-wrap:nth-of-type(1) {
  -webkit-transform: translate(16px, 16px);
          transform: translate(16px, 16px);
  -webkit-animation: morphPath1 4s linear infinite;
          animation: morphPath1 4s linear infinite;
}

.path-wrap:nth-of-type(2) {
  -webkit-transform: translate(-16px, 16px);
          transform: translate(-16px, 16px);
  -webkit-animation: morphPath2 4s linear infinite;
          animation: morphPath2 4s linear infinite;
}

.path-wrap:nth-of-type(3) {
  -webkit-transform: translate(-8px, -8px);
          transform: translate(-8px, -8px);
  -webkit-animation: morphPath3 4s linear infinite;
          animation: morphPath3 4s linear infinite;
}

#mv_circle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100px;
  height: 100px;
  offset-path: path("M741.41,180.01c251.26-6.67,389.36,132.46,441.44,189.07,40.65,44.18,148.31,192.47,137.28,414.1-10.21,205.08-89.95,275.01-141.72,334.18-51.72,59.13-176.06,190.4-382.96,196.29-224.08,6.38-335.5-81.01-411.83-139.36-92.83-70.93-201.52-240.76-201.52-426.05,0-142.66,61.4-311.14,178.97-427.36,84.35-78.65,209.77-136.34,380.35-140.87Z");
  -webkit-animation: move 85s infinite steps(72);
          animation: move 85s infinite steps(72);
  -webkit-transition: all 0.5s cubic-bezier(0, 0.4, 0.25, 1);
  transition: all 0.5s cubic-bezier(0, 0.4, 0.25, 1);
}

.infinite #mv_circle {
  -webkit-animation: move 32s infinite linear;
          animation: move 32s infinite linear;
  offset-path: path("M1168.43,464.75c251.27,6.1,301.83,165.46,308.21,271.22,8.8,146.17-103.47,262.22-303.69,273.73-204.99,11.79-288.32-102.66-409.84-243.79-51.26-59.52-189.08-286.98-428.35-287.19-205.49-.19-308.89,134.16-308.89,289.07,0,134.93,98.53,274.23,359.47,260.33,141.62-7.55,262.35-141.34,367.02-275.97,85.6-110.14,245.11-291.55,416.06-287.4Z");
  -webkit-transition: all 0.5s cubic-bezier(0, 0.4, 0.25, 1);
  transition: all 0.5s cubic-bezier(0, 0.4, 0.25, 1);
}

@-webkit-keyframes move {
  to {
    offset-distance: 100%;
  }
}

@keyframes move {
  to {
    offset-distance: 100%;
  }
}
@-webkit-keyframes morphPath1 {
  0% {
    -webkit-transform: translate(0px, 8px);
            transform: translate(0px, 8px);
  }
  16% {
    -webkit-transform: translate(0px, 16px);
            transform: translate(0px, 16px);
  }
  33% {
    -webkit-transform: translate(8px, 20px);
            transform: translate(8px, 20px);
  }
  50% {
    -webkit-transform: translate(16px, 16px);
            transform: translate(16px, 16px);
  }
  68% {
    -webkit-transform: translate(16px, 8px);
            transform: translate(16px, 8px);
  }
  82% {
    -webkit-transform: translate(8px, 6px);
            transform: translate(8px, 6px);
  }
  100% {
    -webkit-transform: translate(0px, 8px);
            transform: translate(0px, 8px);
  }
}
@keyframes morphPath1 {
  0% {
    -webkit-transform: translate(0px, 8px);
            transform: translate(0px, 8px);
  }
  16% {
    -webkit-transform: translate(0px, 16px);
            transform: translate(0px, 16px);
  }
  33% {
    -webkit-transform: translate(8px, 20px);
            transform: translate(8px, 20px);
  }
  50% {
    -webkit-transform: translate(16px, 16px);
            transform: translate(16px, 16px);
  }
  68% {
    -webkit-transform: translate(16px, 8px);
            transform: translate(16px, 8px);
  }
  82% {
    -webkit-transform: translate(8px, 6px);
            transform: translate(8px, 6px);
  }
  100% {
    -webkit-transform: translate(0px, 8px);
            transform: translate(0px, 8px);
  }
}
@-webkit-keyframes morphPath2 {
  0% {
    -webkit-transform: translate(-16px, 16px);
            transform: translate(-16px, 16px);
  }
  16% {
    -webkit-transform: translate(-8px, 20px);
            transform: translate(-8px, 20px);
  }
  33% {
    -webkit-transform: translate(0px, 16px);
            transform: translate(0px, 16px);
  }
  50% {
    -webkit-transform: translate(0px, 4px);
            transform: translate(0px, 4px);
  }
  68% {
    -webkit-transform: translate(-8px, 4px);
            transform: translate(-8px, 4px);
  }
  82% {
    -webkit-transform: translate(-16px, 4px);
            transform: translate(-16px, 4px);
  }
  100% {
    -webkit-transform: translate(-16px, 16px);
            transform: translate(-16px, 16px);
  }
}
@keyframes morphPath2 {
  0% {
    -webkit-transform: translate(-16px, 16px);
            transform: translate(-16px, 16px);
  }
  16% {
    -webkit-transform: translate(-8px, 20px);
            transform: translate(-8px, 20px);
  }
  33% {
    -webkit-transform: translate(0px, 16px);
            transform: translate(0px, 16px);
  }
  50% {
    -webkit-transform: translate(0px, 4px);
            transform: translate(0px, 4px);
  }
  68% {
    -webkit-transform: translate(-8px, 4px);
            transform: translate(-8px, 4px);
  }
  82% {
    -webkit-transform: translate(-16px, 4px);
            transform: translate(-16px, 4px);
  }
  100% {
    -webkit-transform: translate(-16px, 16px);
            transform: translate(-16px, 16px);
  }
}
@-webkit-keyframes morphPath3 {
  0% {
    -webkit-transform: translate(-8px, -8px);
            transform: translate(-8px, -8px);
  }
  16% {
    -webkit-transform: translate(-2px, -10px);
            transform: translate(-2px, -10px);
  }
  33% {
    -webkit-transform: translate(6px, -6px);
            transform: translate(6px, -6px);
  }
  50% {
    -webkit-transform: translate(8px, 8px);
            transform: translate(8px, 8px);
  }
  68% {
    -webkit-transform: translate(2px, 10px);
            transform: translate(2px, 10px);
  }
  82% {
    -webkit-transform: translate(-6px, 6px);
            transform: translate(-6px, 6px);
  }
  100% {
    -webkit-transform: translate(-8px, -8px);
            transform: translate(-8px, -8px);
  }
}
@keyframes morphPath3 {
  0% {
    -webkit-transform: translate(-8px, -8px);
            transform: translate(-8px, -8px);
  }
  16% {
    -webkit-transform: translate(-2px, -10px);
            transform: translate(-2px, -10px);
  }
  33% {
    -webkit-transform: translate(6px, -6px);
            transform: translate(6px, -6px);
  }
  50% {
    -webkit-transform: translate(8px, 8px);
            transform: translate(8px, 8px);
  }
  68% {
    -webkit-transform: translate(2px, 10px);
            transform: translate(2px, 10px);
  }
  82% {
    -webkit-transform: translate(-6px, 6px);
            transform: translate(-6px, 6px);
  }
  100% {
    -webkit-transform: translate(-8px, -8px);
            transform: translate(-8px, -8px);
  }
}

.p-home-mv__text{
  position: absolute;
  bottom: 4rem;
  left: 4rem;
  font-family: "Almarai", sans-serif;
  font-size: 1.25rem;
  letter-spacing: 0.03em;
  opacity: 0;
  filter: blur(8px);
  transition: opacity 0.4s ease , filter 0.4s ease;
}
@media screen and (max-width: 768px) {
  .p-home-mv__text{
    bottom: 2rem;
    left: 2rem;
    font-size: 1rem;
  }
}
.in .p-home-mv__text{
  opacity: 1;
  filter: blur(0);
  transition: opacity 1s ease , filter 1s ease;
}
.p-home-about__inner {
  padding: 0 0 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-home-about__inner {
    padding: 4rem 0;
  }
}

.p-home-about__title {
  font-size: 3.25rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  margin-left: 1.75rem;
  letter-spacing: 0.15em;
  -webkit-filter: blur(4px);
          filter: blur(4px);
  opacity: 0;
  -webkit-transition: letter-spacing 0.7s ease, opacity 0.5s ease, -webkit-filter 0.5s ease;
  transition: letter-spacing 0.7s ease, opacity 0.5s ease, -webkit-filter 0.5s ease;
  transition: letter-spacing 0.7s ease, filter 0.5s ease, opacity 0.5s ease;
  transition: letter-spacing 0.7s ease, filter 0.5s ease, opacity 0.5s ease, -webkit-filter 0.5s ease;
}
@media screen and (max-width: 768px) {
  .p-home-about__title {
    font-size: 2rem;
  }
}
.in .p-home-about__title {
  letter-spacing: 0;
  -webkit-filter: blur(0);
          filter: blur(0);
  opacity: 1;
}

.p-home-about__textBox {
  line-height: 2;
  text-align: center;
  margin-top: 4rem;
}
.p-home-about__textBox p {
  -webkit-transform: translateY(1.5em);
          transform: translateY(1.5em);
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: opacity 0.5s ease, -webkit-transform 0.5s ease;
  transition: transform 0.5s ease, opacity 0.5s ease;
  transition: transform 0.5s ease, opacity 0.5s ease, -webkit-transform 0.5s ease;
}
.p-home-about__textBox p.in {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p-home-about__textBox {
    line-height: 1.8;
  }
}
.p-home-about__textBox .m-top-oneLines {
  margin-top: 2.7rem;
}
@media screen and (max-width: 768px) {
  .p-home-about__textBox .m-top-oneLines {
    margin-top: 1.8rem;
  }
}
.p-home-about__textBox .m-top-towLines {
  margin-top: 5.4rem;
}
@media screen and (max-width: 768px) {
  .p-home-about__textBox .m-top-towLines {
    margin-top: 1.8rem;
  }
}

.p-home-about__btn {
  margin-top: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-home-about__btn {
    margin-top: 4rem;
  }
}

.p-home-about__imageArea {
  display: grid;
  grid-template-areas: "img01 img03 img04 img06" "img01 img05 img05 img06" "img02 img05 img05 img07";
  grid-template-columns: calc(28% - 15px) 22% 22% calc(28% - 15px);
  grid-template-rows: 12.8125rem 6.6875rem 19.6875rem;
  gap: 0.625rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-home-about__imageArea {
    grid-template-columns: calc(28% - 6px) 22% 22% calc(28% - 6px);
    gap: 4px;
    grid-template-rows: 6.25rem 3.125rem 6.25rem;
    margin-top: 4rem;
  }
}
.p-home-about__imageArea.in .p-home-about__image {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
}

.p-home-about__image {
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
.in .p-home-about__image{
  -webkit-transition: -webkit-filter 0.3s ease-in;
  transition: -webkit-filter 0.3s ease-in;
  transition: filter 0.3s ease-in;
  transition: filter 0.3s ease-in, -webkit-filter 0.3s ease-in;
}
.p-home-about__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home-about__image01 {
  grid-area: img01;
}

.p-home-about__image02 {
  grid-area: img02;
}

.p-home-about__image03 {
  grid-area: img03;
}

.p-home-about__image04 {
  grid-area: img04;
}

.p-home-about__image05 {
  grid-area: img05;
}

.p-home-about__image06 {
  grid-area: img06;
}

.p-home-about__image07 {
  grid-area: img07;
}

.p-home-news__inner {
  padding: 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-home-news__inner {
    padding: 4rem 0;
  }
}

.p-home-news__content {
  max-width: 61.625rem;
  margin-left: auto;
  margin-top: 1.6875rem;
}
@media screen and (max-width: 768px) {
  .p-home-news__content {
    margin-top: 1.25rem;
  }
}

.p-home-news__btn {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-home-news__btn {
    margin-top: 4rem;
  }
}

.p-home-science__inner {
  padding: 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-home-science__inner {
    padding: 4rem 0;
  }
}

.p-home-science__content {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-home-science__content {
    margin-top: 2.5rem;
  }
}

.p-home-science__info {
  width: clamp(88%, 100% - 120px, 72.25rem);
  margin: auto auto 0;
}

.p-home-science__item a {
  display: grid;
  -webkit-box-align: end;
          align-items: end;
  padding: 2.3125rem 0;
  position: relative;
  color: #fff;
  min-height: 25rem;
}
@media screen and (max-width: 768px) {
  .p-home-science__item a {
    min-height: 18.75rem;
  }
}
.p-home-science__item a:focus .p-home-science__img {
  -webkit-filter: grayscale(0);
          filter: grayscale(0);
}
@media (hover) {
  .p-home-science__item a:hover .p-home-science__img {
    -webkit-filter: grayscale(0);
            filter: grayscale(0);
  }
}

.p-home-science__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
  z-index: -1;
  -webkit-transition: -webkit-filter 0.3s ease;
  transition: -webkit-filter 0.3s ease;
  transition: filter 0.3s ease;
  transition: filter 0.3s ease, -webkit-filter 0.3s ease;
}

.p-home-science__heading {
  font-weight: 500;
  font-size: 1.5rem;
  letter-spacing: -0.03em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-home-science__heading {
    font-size: 1.25rem;
  }
}

.p-home-science__btn {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-home-science__btn {
    margin-top: 4rem;
  }
}

.p-home-service__inner {
  padding: 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-home-service__inner {
    padding: 4rem 0;
  }
}

.p-home-service__content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.0625rem;
  max-width: 76.625rem;
  margin-top: 10rem;
  margin-left: auto;
}
@media screen and (max-width: 1024px) {
  .p-home-service__content {
    gap: 4rem;
    margin-top: 4rem;
  }
}
@media screen and (max-width: 768px) {
  .p-home-service__content {
    grid-template-columns: 1fr;
  }
}

.p-home-service__heading {
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-home-service__heading {
    font-size: 1.25rem;
  }
}

.p-home-service__text {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .p-home-service__text {
    margin-top: 1.25rem;
  }
}

.p-home-service__btn {
  margin-top: 4.25rem;
}
@media screen and (max-width: 768px) {
  .p-home-service__btn {
    margin-top: 2.5rem;
  }
}

.p-home-member__inner {
  padding: 7.5rem 0;
}
@media screen and (max-width: 768px) {
  .p-home-member__inner {
    padding: 4rem 0;
  }
}

.p-home-member__list {
  margin-top: 7.5rem;
  max-width: 77rem;
  margin-left: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 3.125rem;
}
@media screen and (max-width: 1024px) {
  .p-home-member__list {
    grid-template-columns: repeat(auto-fill, minmax(8.75rem, 1fr));
    gap: 2.5rem;
    margin-top: 2.5rem;
  }
}

.p-home-member__img {
  border-radius: 50%;
  overflow: hidden;
}
.p-home-member__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-home-member__post {
  margin-top: 1.25rem;
  font-size: 0.875rem;
}
@media screen and (max-width: 768px) {
  .p-home-member__post {
    font-size: 0.75rem;
  }
}

.p-home-member__name {
  margin-top: 0.75rem;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-home-member__name {
    font-size: 1.125rem;
  }
}

.p-home-member__en {
  margin-top: 0.5rem;
  color: #6E6E6E;
  font-family: "Almarai", sans-serif;
  font-size: 0.875rem;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-home-member__en {
    font-size: 0.75rem;
  }
}

.p-home-member__btn {
  margin-top: 5rem;
}

.p-member {
  padding: 0 0 7.5rem;
}

.p-member-list__list {
  max-width: 66.875rem;
  margin-left: auto;
  display: grid;
  gap: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-member-list__list {
    gap: 2.5rem;
  }
}

.p-member-list__item {
  display: grid;
  grid-template-columns: 13.75rem 1fr;
  gap: 3.375rem;
  -webkit-box-align: start;
          align-items: start;
}
@media screen and (max-width: 768px) {
  .p-member-list__item {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.p-member-list__img {
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto;
  max-width: 13.75rem;
}

.p-member-list__name {
  font-size: 1.5rem;
  margin-top: 1rem;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-member-list__name {
    margin-top: 0.75rem;
  }
}

.p-member-list__furi {
  color: #6E6E6E;
  font-family: "Almarai", sans-serif;
  margin-top: 0.5rem;
  line-height: 1.4;
}

.p-member-list__text {
  font-size: 0.875rem;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-member-list__text {
    font-size: 0.8125rem;
    margin-top: 0.75rem;
  }
}

.p-news-page {
  padding-bottom: 7.5rem;
}

.p-news-page__inner {
  width: clamp(88%, 100% - 120px, 61.625rem);
  margin: auto;
}
@media screen and (max-width: 768px) {
  .p-news-page__inner {
    width: clamp(92%, 100% - 40px, 61.625rem);
  }
}

.p-news-page__head {
  display: grid;
  gap: 1rem;
  padding: 0 0 2.5rem;
  border-bottom: 1px solid #DADADA;
}

.p-news-page__info {
  display: -webkit-box;
  display: flex;
  gap: 1rem;
  -webkit-box-align: center;
          align-items: center;
}

.p-news-page__date {
  font-size: 0.875rem;
  color: #6E6E6E;
}

.p-news-page__tags {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.p-news-page__tag {
  display: block;
  padding: 0.25rem 0.5rem;
  border: 1px solid;
  font-size: 0.875rem;
  font-family: "Almarai", sans-serif;
  line-height: 1;
}

.p-news-page__title {
  font-size: 2rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .p-news-page__title {
    font-size: 1.25rem;
  }
}

.p-news-page__content {
  max-width: 51.125rem;
  margin: 2.5rem auto 0;
}
@media screen and (max-width: 768px) {
  .p-news-page__content {
    font-size: 0.875rem;
  }
}
.p-news-page__content img {
  margin: 1em auto 1em;
}
.p-news-page__content p {
  margin: 1em 0;
}
.p-news-page__content a {
  text-decoration: underline;
}
.p-news-page__content b {
  font-weight: 600;
}
.p-news-page__content ul {
  margin: 1em 0;
}
.p-news-page__content ul li {
  padding-left: 1em;
}
.p-news-page__content ul li::before {
  content: "・";
  display: inline-block;
  text-indent: -1em;
}
.p-news-page__content ol {
  counter-reset: newsOl;
  margin: 1em 0;
}
.p-news-page__content ol li {
  counter-increment: newsOl;
  padding-left: 1em;
}
.p-news-page__content ol li::before {
  content: counter(newsOl);
  display: inline-block;
  text-indent: -1em;
}
.p-news-page__content blockquote {
  margin: 1em 0;
  padding-left: 1em;
  border-left: 1px solid #DADADA;
  color: #6E6E6E;
}
.p-news-page__content h2 {
  font-size: 1.5rem;
  margin: 1em 0 0;
}
@media screen and (max-width: 768px) {
  .p-news-page__content h2 {
    font-size: 1.125rem;
  }
}
.p-news-page__content h3 {
  font-size: 1.125rem;
  margin: 1em 0 0;
}
@media screen and (max-width: 768px) {
  .p-news-page__content h3 {
    font-size: 1rem;
  }
}

.p-news-page__btn {
  max-width: 20.9375rem;
  margin: 5rem auto 0;
}

.p-news {
  padding-bottom: 7.5rem;
}

.p-news__content {
  max-width: 61.625rem;
  margin-left: auto;
}
.p-news__text{
  font-size: 0.8rem;
  color: #6E6E6E;
  margin: 1rem 0;

}
.p-news-pager {
  max-width: 27.5rem;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  gap: 1.5rem;
  margin: 5rem auto 0;
  padding: 0 2rem;
  position: relative;
}
.p-news-pager .page-numbers.next {
  position: absolute;
  right: 0;
}
.p-news-pager .page-numbers.prev {
  position: absolute;
  left: 0;
}
.p-news-pager > * {
  width: 2rem;
  height: 2rem;
  display: grid;
  place-content: center;
  font-size: 1.25rem;
  font-family: "Almarai", sans-serif;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.p-news-pager > *:focus {
  opacity: 0.6;
}
@media (hover) {
  .p-news-pager > *:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 768px) {
  .p-news-pager > * {
    font-size: 1rem;
  }
}
.p-news-pager > *.current {
  border-bottom: 1px solid;
}

.p-news-pager__prev {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-news-pager__prev:focus {
  -webkit-transform: translateX(-8px) scale(-1, 1);
          transform: translateX(-8px) scale(-1, 1);
}
@media (hover) {
  .p-news-pager__prev:hover {
    -webkit-transform: translateX(-8px) scale(-1, 1);
            transform: translateX(-8px) scale(-1, 1);
  }
}
@media screen and (max-width: 768px) {
  .p-news-pager__prev {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.p-news-pager__prev span::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(img/btn_arrow.svg) no-repeat center center;
}

.p-news-pager__next {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-news-pager__next:focus {
  -webkit-transform: translateX(8px);
          transform: translateX(8px);
}
@media (hover) {
  .p-news-pager__next:hover {
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
  }
}
@media screen and (max-width: 768px) {
  .p-news-pager__next {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.p-news-pager__next span::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(img/btn_arrow.svg) no-repeat center center;
}

.p-science-content {
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-science-content {
    padding-bottom: 4rem;
  }
}

.p-science-content__inner {
  max-width: 61.625rem;
  margin: auto;
  display: grid;
  gap: 2.5rem;
}

.p-science-content__title {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .p-science-content__title {
    font-size: 1.125rem;
  }
}

.p-science-content__item {
  padding: 1.875rem 0.5rem;
  border-bottom: 1px solid #DADADA;
}
@media screen and (max-width: 768px) {
  .p-science-content__item {
    font-size: 0.8125rem;
    padding: 1.25rem 0;
  }
}
.p-science-content__item a {
  text-decoration: underline;
}

@media screen and (max-width: 1200px) {
  .u-xlUp {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .u-lgUp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .u-mdUp {
    display: none;
  }
}

@media screen and (max-width: 576px) {
  .u-smUp {
    display: none;
  }
}

.u-xlUnder {
  display: none;
}
@media screen and (max-width: 1200px) {
  .u-xlUnder {
    display: block;
  }
}

.u-lgUnder {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-lgUnder {
    display: block;
  }
}

.u-mdUnder {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-mdUnder {
    display: block;
  }
}

.u-smUnder {
  display: none;
}
@media screen and (max-width: 576px) {
  .u-smUnder {
    display: block;
  }
}

.u-hidden {
  display: none;
  visibility: hidden;
}

.u-display-none {
  display: none;
}

.u-indent {
  display: inline-block;
  text-indent: inherit;
}
.u-indent::after {
  content: ".";
  display: inline-block;
  width: 0;
  color: transparent;
  pointer-events: none;
}

.u-mb-0 {
  margin-bottom: 0px;
}

.u-mb-8 {
  margin-bottom: 8px;
}

.u-mb-16 {
  margin-bottom: 16px;
}

.u-mb-24 {
  margin-bottom: 24px;
}

.u-mb-32 {
  margin-bottom: 32px;
}

.u-mb-40 {
  margin-bottom: 40px;
}

.u-mb-48 {
  margin-bottom: 48px;
}

.u-mb-56 {
  margin-bottom: 56px;
}

.u-mb-64 {
  margin-bottom: 64px;
}

.u-mb-72 {
  margin-bottom: 72px;
}

.u-mb-80 {
  margin-bottom: 80px;
}

.u-mt-0 {
  margin-top: 0px;
}

.u-mt-8 {
  margin-top: 8px;
}

.u-mt-16 {
  margin-top: 16px;
}

.u-mt-24 {
  margin-top: 24px;
}

.u-mt-32 {
  margin-top: 32px;
}

.u-mt-40 {
  margin-top: 40px;
}

.u-mt-48 {
  margin-top: 48px;
}

.u-mt-56 {
  margin-top: 56px;
}

.u-mt-64 {
  margin-top: 64px;
}

.u-mt-72 {
  margin-top: 72px;
}

.u-mt-80 {
  margin-top: 80px;
}

.u-ml-0 {
  margin-left: 0px;
}

.u-ml-8 {
  margin-left: 8px;
}

.u-ml-16 {
  margin-left: 16px;
}

.u-ml-24 {
  margin-left: 24px;
}

.u-ml-32 {
  margin-left: 32px;
}

.u-ml-40 {
  margin-left: 40px;
}

.u-ml-48 {
  margin-left: 48px;
}

.u-ml-56 {
  margin-left: 56px;
}

.u-ml-64 {
  margin-left: 64px;
}

.u-ml-72 {
  margin-left: 72px;
}

.u-ml-80 {
  margin-left: 80px;
}

.u-mr-0 {
  margin-right: 0px;
}

.u-mr-8 {
  margin-right: 8px;
}

.u-mr-16 {
  margin-right: 16px;
}

.u-mr-24 {
  margin-right: 24px;
}

.u-mr-32 {
  margin-right: 32px;
}

.u-mr-40 {
  margin-right: 40px;
}

.u-mr-48 {
  margin-right: 48px;
}

.u-mr-56 {
  margin-right: 56px;
}

.u-mr-64 {
  margin-right: 64px;
}

.u-mr-72 {
  margin-right: 72px;
}

.u-mr-80 {
  margin-right: 80px;
}
.g-ms {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  transform: translate3d(50vw, 50vh, 0);
  pointer-events: none;
  transform: translate(0, 0);
  transition-timing-function: ease-out;
  mix-blend-mode: difference;
}
.g-ms_i {
  pointer-events: none;
  position: fixed;
  top: -10px; 
  left: -10px; 
  width: 10px; 
  height: 10px;
  background: #fff;
  border-radius: 50%;
}
.g-ms.g-ms-active .g-ms_i {
  opacity: 1;
}

.l-page-content{
  max-width: 1200px;
  margin: auto;
}
.l-page-content h2{
  font-size: 1.5rem;
  font-weight: 600;
  margin: 4rem 0 0.5rem;
}
.l-page-content h3{
  font-size: 1.3rem;
  font-weight: 600;
  margin: 2rem 0 0.5rem;
}
.l-page-content p{
  margin: 0 0 2rem;
}
.l-page-content a{
  text-decoration: underline;
}
.l-page-content ol{
  counter-reset: olCounter;
  margin: 0 0 2rem;
}
.l-page-content ol li{
  counter-increment: olCounter;
  padding-left: 1.5rem;
  position: relative;
  margin: 0.4rem 0;
}
.l-page-content ol li::before{
  content: counter(olCounter)".";
  width: 1.5rem;
  position: absolute;
  top: 0;
  left: 0;
}
.l-page-content table td,.l-page-content table tr{
  border-color: #ddd;
}
