@charset "UTF-8";
*:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
}

textarea {
  form-sizing: content;
  white-space: revert;
}

:focus {
  outline: none;
}

html {
  height: -webkit-fill-available;
  background-color: #FFF;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 100%;
  font-weight: 400;
  scroll-behavior: smooth;
  text-size-adjust: none; /* iPhone Safariの横向きで基本フォントサイズ拡大を防ぐ */
  word-break: auto-phrase; /* 日本語自動折返し */
}

body {
  min-height: 100vh;
  min-height: 100dvh;
}

picture, img {
  display: block;
  max-width: 100%;
  pointer-events: none;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

strong {
  font-weight: 700;
}

b {
  font-weight: 500;
}

a, button {
  cursor: pointer;
}

@media (any-hover: hover) {
  a {
    transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  a:hover {
    opacity: 0.5;
  }
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px white inset !important;
  -webkit-text-fill-color: inherit !important;
}

input {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input:where(:not([type=datetime]):not([type=date]):not([type=month]):not([type=week]):not([type=time]):not([type=datetime-local]))::-webkit-calendar-picker-indicator {
  display: none !important;
}

.l-header--home :is(.l-header__head, .l-header__nav) {
  border-image-source: linear-gradient(#ebda93, #ebda93);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 0;
}

.l-header, .l-header--home {
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
}
.l-header > *, .l-header--home > * {
  grid-column: content;
}
.l-header > .is-full, .l-header--home > .is-full {
  grid-column: full;
}
.l-header__head {
  padding-top: 1.375rem;
  padding-bottom: 1.4375rem;
}
@media screen and (min-width: 961px) {
  .l-header__head {
    display: flex;
    align-items: flex-end;
    column-gap: 1.0625rem;
    padding-top: 1rem;
    padding-bottom: 0;
  }
}
.l-header__logo {
  width: 10.3125rem;
}
@media screen and (min-width: 961px) {
  .l-header__logo {
    width: 9.6875rem;
  }
}
.l-header__text {
  margin-top: 1.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.1666666667;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .l-header__text {
    margin-top: 0;
    margin-bottom: 0.375rem;
  }
}
.l-header__nav {
  display: none;
}
@media screen and (min-width: 961px) {
  .l-header__nav {
    display: block;
    padding-bottom: 1.3125rem;
    padding-top: 2.75rem;
  }
  .l-header__nav__list {
    display: flex;
    align-items: center;
    column-gap: 0.9375rem;
  }
  .l-header__nav__item {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1rem;
    letter-spacing: 0.1em;
  }
  .l-header__nav__item:not(:first-of-type) {
    padding-left: 1rem;
    border-left: 1px solid #ebda93;
  }
}
.l-header__menu {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}
@media screen and (min-width: 961px) {
  .l-header__menu {
    display: none;
  }
}
.l-header__menu__trigger {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  width: 2rem;
  height: 2rem;
  margin-top: 0.625rem;
  margin-right: 2.6041666667%;
  border-radius: 100%;
  background-color: #ebda93;
  background-image: linear-gradient(black, black);
  background-repeat: no-repeat;
  background-position: 50% 0.9375rem;
  background-size: 1rem 0.0625rem;
  pointer-events: visible;
}
.is-nav-open .l-header__menu__trigger {
  background-image: none;
}
.l-header__menu__trigger::before, .l-header__menu__trigger::after {
  content: "";
  position: absolute;
  left: 50%;
  display: block;
  width: 1rem;
  height: 0.0625rem;
  background-color: black;
  transition-property: top, transform;
  transition-duration: 0.3s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.l-header__menu__trigger::before {
  top: 0.5625rem;
  transform: translateX(-50%);
}
.l-header__menu__trigger::after {
  top: 1.3125rem;
  transform: translateX(-50%);
}
.is-nav-open .l-header__menu__trigger::before, .is-nav-open .l-header__menu__trigger::after {
  top: 50%;
}
.is-nav-open .l-header__menu__trigger::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.is-nav-open .l-header__menu__trigger::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.l-header__menu__nav {
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
  grid-template-rows: 3.25rem 1fr;
  position: absolute;
  inset: 0;
  background-color: #d4ecf3;
  transform: translateX(100%);
  pointer-events: visible;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.l-header__menu__nav > * {
  grid-column: content;
}
.l-header__menu__nav > .is-full {
  grid-column: full;
}
.is-nav-open .l-header__menu__nav {
  transform: none;
}
.l-header__menu__nav > .l-header__logo {
  display: flex;
  align-items: center;
  height: 100%;
}
.l-header__menu__nav__list {
  padding-block: 2rem;
  overflow: auto;
}
.l-header__menu__nav__list {
  -ms-overflow-style: noe; /* Edge */
  scrollbar-width: none; /* Firefox */
}
.l-header__menu__nav__list::-webkit-scrollbar { /* Safari */
  content-visibility: auto;
  display: none;
}
.l-header__menu__nav__item {
  margin-block: 0.5rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .l-header--home .l-header__head {
    text-align: right;
  }
  .l-header--home .l-header__head > .l-header__logo {
    margin-left: auto;
  }
}
@media screen and (min-width: 961px) {
  .l-header--home .l-header__head {
    justify-content: flex-end;
  }
}
@media screen and (min-width: 961px) {
  .l-header--home .l-header__nav__list {
    justify-content: flex-end;
  }
  .l-header--home .l-header__nav__list > .l-header__nav__item:not(:first-of-type) {
    border-left-color: white;
  }
}
.l-header__kv {
  display: grid;
  height: 22rem;
}
@media screen and (min-width: 961px) {
  .l-header__kv {
    height: 37.5rem;
  }
}
.l-header__kv__item {
  grid-area: 1/-1;
  width: 100%;
  height: 100%;
}
.l-header__kv__item > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 0;
}

.l-footer {
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
}
.l-footer > * {
  grid-column: content;
}
.l-footer > .is-full {
  grid-column: full;
}
.l-footer__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2.5rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 961px) {
  .l-footer__content {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 2rem;
    padding-top: 2.3125rem;
    padding-bottom: 1.9375rem;
  }
}
@media screen and (max-width: 960px) {
  .l-footer__prof {
    display: contents;
  }
}
.l-footer__logo {
  width: 15.75rem;
}
.l-footer__address {
  margin-top: 21px;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .l-footer__address {
    margin-top: 17px;
  }
}
.l-footer__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 12px;
  margin-top: 16px;
}
@media screen and (min-width: 961px) {
  .l-footer__contact {
    flex-wrap: wrap;
    flex-direction: row;
    column-gap: 25px;
    margin-top: 14px;
  }
}
.l-footer__contact__tel {
  display: flex;
  column-gap: 6px;
  width: fit-content;
  margin-inline: auto;
  color: #0136ae;
  font-family: "Oswald", sans-serif;
  font-size: 1.875rem;
  font-weight: 500;
  line-height: 1;
}
.l-footer__contact__tel__icon {
  display: block;
  height: 1.875rem;
  background-repeat: no-repeat;
  background-position: 0 0.125rem;
  background-size: contain;
}
.l-footer__contact__tel__icon.icon-tel {
  width: 1.75rem;
  background-image: url(../images/icon-tel.svg);
}
.l-footer__contact__tel__icon.icon-fax {
  width: 1.8125rem;
  background-image: url(../images/icon-fax.svg);
}
@media screen and (max-width: 960px) {
  .l-footer__sdgs {
    display: contents;
  }
}
@media screen and (min-width: 961px) {
  .l-footer__sdgs {
    margin-top: 0.6875rem;
  }
}
.l-footer__sdgs__logo {
  width: min(100%, 19.9375rem);
  margin-top: 2.9375rem;
  margin-inline: auto;
}
@media screen and (min-width: 961px) {
  .l-footer__sdgs__logo {
    margin-top: 0;
    margin-right: 0;
  }
}
.l-footer__sdgs__button {
  display: block;
  width: min(100%, 20rem);
  margin-top: 1.25rem;
  margin-inline: auto;
  border-radius: 0.375rem;
  background-color: #ebda93;
  background-image: url(../images/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 0.625rem) 50%;
  background-size: 0.4375rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 961px) {
  .l-footer__sdgs__button {
    width: 20rem;
  }
}
.l-footer__nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 1rem;
  grid-row-gap: 1.1875rem;
  padding-top: 26px;
  padding-bottom: 3.5625rem;
  border-image-source: linear-gradient(#dddddd 0, #dddddd 0.0625rem, transparent 0.0625rem, transparent 100%);
  border-image-slice: 0 fill;
}
@media screen and (min-width: 961px) {
  .l-footer__nav {
    grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
    grid-column-gap: 1.5625rem;
    padding-bottom: 4.1875rem;
    border-image-outset: 0 100vw;
  }
}
@media screen and (max-width: 960px) {
  .l-footer__nav__block {
    display: contents;
  }
}
@media screen and (max-width: 960px) {
  .l-footer__nav__box.is-row {
    grid-row: 2 span;
  }
}
@media screen and (min-width: 961px) {
  .l-footer__nav__box + .l-footer__nav__box {
    margin-top: 0.6875rem;
  }
}
.l-footer__nav__label {
  border-bottom: 1px solid #0136ae;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 960px) {
  .l-footer__nav__label.no-space {
    letter-spacing: 0;
  }
}
.l-footer__nav__content {
  margin-top: 0.625rem;
}
.l-footer__nav__item {
  padding-left: 1rem;
  background-image: linear-gradient(#0136ae, #0136ae);
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: 0.75rem 0.0625rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.05em0;
}
.l-footer__nav__item + .l-footer__nav__item {
  margin-top: 2px;
}
.l-footer__copyright {
  display: flex;
  align-items: center;
  height: 4rem;
  border-image-source: linear-gradient(#ebda93, #ebda93);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 961px) {
  .l-footer__copyright {
    font-size: 0.875rem;
  }
}

.l-main {
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
}
.l-main > * {
  grid-column: content;
}
.l-main > .is-full {
  grid-column: full;
}
@media screen and (min-width: 961px) {
  .l-header--home + .l-main {
    position: relative;
    z-index: 10;
    padding-top: 1.0625rem;
    margin-top: -1.0625rem;
  }
}
.l-main__title {
  display: flex;
  align-items: center;
  column-gap: 0.625rem;
  padding-top: 3.75rem;
  padding-bottom: 4rem;
  border-image-source: linear-gradient(#0136ae, #0136ae);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
  color: white;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 960px) {
  .l-main__title {
    padding-top: 1.875rem;
    padding-bottom: 2rem;
    font-size: 1.125rem;
  }
}
.l-main__title::before {
  content: "";
  display: block;
  width: 1.4375rem;
  height: 1.5625rem;
  background-image: url(../images/icon-logo.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-main__title > span {
  position: relative;
  display: block;
  width: fit-content;
}
.l-main__title > span::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: calc(100% - 0.1em);
  height: 1px;
  background-color: white;
}
.l-main__intro {
  position: relative;
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
  z-index: 1;
  overflow: visible;
}
.l-main__intro > * {
  grid-column: content;
}
.l-main__intro > .is-full {
  grid-column: full;
}
.l-main__intro__img {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 50%;
  height: calc(100% + 7rem);
  padding-left: 1.5rem;
  padding-bottom: 0.375rem;
}
@media screen and (max-width: 960px) {
  .l-main__intro__img {
    position: static;
    width: 100%;
    height: auto;
    padding-left: 0;
    padding-bottom: 0;
  }
}
.l-main__intro__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 0 50%;
}
@media screen and (max-width: 960px) {
  .l-main__intro__img > img {
    object-position: 50% 50%;
  }
}
.l-main__intro__content {
  width: 50%;
  padding-right: 1.5rem;
  margin-top: 3.5625rem;
}
@media screen and (max-width: 960px) {
  .l-main__intro__content {
    width: 100%;
    padding-right: 0;
    margin-top: 1.5rem;
  }
}
.l-main__intro__title {
  font-size: 1.125rem;
  line-height: 1.5555555556;
  letter-spacing: 0.1em;
}
.l-main__intro__text {
  margin-top: 2.3125rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.l-main__nav {
  margin-top: 2.5rem;
  margin-bottom: 7rem;
}
@media screen and (max-width: 960px) {
  .l-main__nav {
    margin-bottom: 5rem;
  }
}
.l-main__nav__title {
  letter-spacing: 0.05em;
}
.l-main__nav__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 2.1875rem;
  row-gap: 1rem;
  margin-top: 1rem;
}
@media screen and (max-width: 960px) {
  .l-main__nav__list {
    column-gap: 1.5rem;
  }
}
.l-main__nav__item {
  color: #0136ae;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.1428571429;
  letter-spacing: 0.05em;
}
.l-main__nav__item > a {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
}
.l-main__nav__item > a::before {
  content: "";
  transform: rotate(90deg);
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: #fd4229;
  background-image: url(../images/icon-link-arrow.svg);
  background-repeat: no-repeat;
  background-position: 48% 50%;
  background-size: 0.5625rem;
}
:is(.l-main__title, .l-main__intro) + .l-main__section {
  margin-top: 7.625rem;
}
@media screen and (max-width: 960px) {
  :is(.l-main__title, .l-main__intro) + .l-main__section {
    margin-top: 5rem;
  }
}
.l-main__section + .l-main__section {
  margin-top: 7.625rem;
}
@media screen and (max-width: 960px) {
  .l-main__section + .l-main__section {
    margin-top: 5rem;
  }
}
.l-main__section__head {
  position: relative;
  padding-left: 7rem;
}
@media screen and (max-width: 960px) {
  .l-main__section__head {
    padding-left: 0;
  }
}
.l-main__section__head__icon {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 7rem;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
@media screen and (max-width: 960px) {
  .l-main__section__head__icon {
    display: none;
  }
}
.l-main__section__head__icon.is-type01 {
  height: 8.5625rem;
  background-image: url(../images/icons/icon-type01.svg);
  background-position: 0.375rem 0;
  background-size: 5.5625rem;
}
.l-main__section__head__icon.is-type02 {
  height: 8.5rem;
  background-image: url(../images/icons/icon-type02.svg);
  background-position: 1.375rem 0;
  background-size: 4.125rem;
}
.l-main__section__head__icon.is-type03 {
  height: 6.75rem;
  background-image: url(../images/icons/icon-type03.svg);
  background-position: 0.4375rem 0;
  background-size: 5.1875rem;
}
.l-main__section__head__icon.is-type04 {
  height: 6.3125rem;
  background-image: url(../images/icons/icon-type04.svg);
  background-position: 1.3125rem 0;
  background-size: 4.0625rem;
}
.l-main__section__head__icon.is-type05 {
  height: 7.1875rem;
  background-image: url(../images/icons/icon-type05.svg);
  background-position: 0.5rem 0;
  background-size: 5.375rem;
}
.l-main__section__head__icon.is-type06 {
  height: 7.125rem;
  background-image: url(../images/icons/icon-type06.svg);
  background-position: 0.625rem 0;
  background-size: 5.4375rem;
}
.l-main__section__head__icon.is-type07 {
  height: 5.4375rem;
  background-image: url(../images/icons/icon-type07.svg);
  background-position: 0.375rem 0;
  background-size: 5.4375rem;
}
.l-main__section__head__icon.is-type08 {
  height: 5.75rem;
  background-image: url(../images/icons/icon-type08.svg);
  background-position: 0.0625rem 0;
  background-size: 6.4375rem;
}
.l-main__section__head__icon.is-type09 {
  height: 5.9375rem;
  background-image: url(../images/icons/icon-type09.svg);
  background-position: 1.3125rem 0;
  background-size: 4.5625rem;
}
.l-main__section__head__icon.is-type10 {
  height: 6.5625rem;
  background-image: url(../images/icons/icon-type10.svg);
  background-position: 1rem 0;
  background-size: 4.8125rem;
}
.l-main__section__head__title {
  color: #0136ae;
  font-size: 1.375rem;
  line-height: 1.4545454545;
  letter-spacing: 0.05em;
  padding-right: 11rem;
}
@media screen and (max-width: 480px) {
  .l-main__section__head__title {
    padding-right: 1.5rem;
  }
}
.l-main__section__head__text {
  padding-top: 0.625rem;
  margin-top: 0.5rem;
  border-top: 1px solid #dddddd;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-main__section__head__anchor {
  position: absolute;
  top: 0.5625rem;
  right: 0;
}
@media screen and (max-width: 480px) {
  .l-main__section__head__anchor > span {
    display: none;
  }
}
.l-main__section__content {
  margin-top: 3rem;
  padding-left: 7rem;
}
@media screen and (max-width: 960px) {
  .l-main__section__content {
    padding-left: 0;
    margin-top: 2rem;
  }
}
.l-main__section__text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
}
.l-main__section__img {
  margin-top: 2.5rem;
}
.l-main__section__img > img {
  width: 100%;
}
.l-main__section__img--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 3rem;
}
@media screen and (max-width: 480px) {
  .l-main__section__img--grid {
    grid-template-columns: 1fr;
    grid-gap: 2rem;
  }
}
.l-main__section__img__column > img {
  width: 100%;
}
.l-main__section__img__column--two {
  grid-column: span 2;
}
@media screen and (max-width: 480px) {
  .l-main__section__img__column--two {
    grid-column: unset;
  }
}
.l-main__section__img__column--two > img {
  width: 100%;
}
.l-main__section__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12.5rem, 1fr));
  grid-column-gap: 2.125rem;
  grid-row-gap: 2rem;
  margin-top: 3rem;
}
.l-main__section__grid__item {
  background-color: white;
}

.c-button--up-arrow, .c-button {
  position: relative;
  display: block;
  width: min(100%, 20rem);
  height: 3rem;
  margin-inline: auto;
  border: 1px solid #0136ae;
  border-radius: 0.375rem;
  background-color: white;
  color: #0136ae;
  font-weight: 700;
  line-height: 2.875;
  letter-spacing: 0.1em;
  text-align: center;
}
.c-button--up-arrow::after, .c-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  border-block: 0.375rem solid transparent;
  border-left: 0.5625rem solid #fd4229;
}

.c-button--up-arrow::after {
  right: 0.6875rem;
  border: none;
  border-inline: 0.375rem solid transparent;
  border-bottom: 0.5625rem solid #fd4229;
}

.c-simple-button--dowm, .c-simple-button--up, .c-simple-button {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  width: fit-content;
  color: #0136ae;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.1428571429;
  letter-spacing: 0.05em;
}
.c-simple-button--dowm::after, .c-simple-button--up::after, .c-simple-button::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: #fd4229;
  background-image: url(../images/icon-link-arrow.svg);
  background-repeat: no-repeat;
  background-position: 48% 50%;
  background-size: 0.5625rem;
}

.c-simple-button--up::after {
  transform: rotate(-90deg);
}
.c-simple-button--dowm::after {
  transform: rotate(90deg);
}

.c-slider {
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
  z-index: 10;
  margin-top: 4.25rem;
  margin-bottom: 13.0625rem;
  background-color: #333333;
  overflow: visible;
}
.c-slider > * {
  grid-column: content;
}
.c-slider > .is-full {
  grid-column: full;
}
@media screen and (min-width: 961px) {
  .c-slider {
    padding-bottom: 5rem;
    margin-top: 8rem;
    margin-bottom: 0;
  }
}
.c-slider__item {
  height: auto;
  background-color: white;
}
@media screen and (min-width: 961px) {
  .c-slider__inner {
    display: grid;
    grid-template-columns: 15rem calc(100% - 15rem);
  }
}
.c-slider__head {
  padding-top: 2rem;
  color: white;
}
@media screen and (min-width: 961px) {
  .c-slider__head {
    padding-bottom: 1.625rem;
    padding-right: 2rem;
  }
}
.c-slider__head__title {
  color: #ebda93;
  font-family: "Oswald", sans-serif;
  font-size: 2.125rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .c-slider__head__title {
    margin-block: 0;
  }
}
.c-slider__head__text {
  margin-top: 2.375rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 961px) {
  .c-slider__head__text {
    margin-bottom: auto;
  }
}
.c-slider__head__text--s {
  margin-top: 2.625rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.c-slider__head__link {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
  width: fit-content;
  margin-top: 3.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .c-slider__head__link {
    margin-bottom: 0;
  }
}
.c-slider__head__link::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: #fd4229;
  background-image: url(../images/icon-link-arrow.svg);
  background-repeat: no-repeat;
  background-position: 48% 50%;
  background-size: 0.5625rem;
}
.c-slider__body {
  position: relative;
  margin-top: 2rem;
  margin-bottom: -6.625rem;
}
@media screen and (min-width: 961px) {
  .c-slider__body {
    margin-top: -3rem;
    margin-bottom: 0;
    margin-right: calc((100vw - min(60rem, 83.3333333333vw)) / -2);
  }
}
.c-slider__body .swiper {
  padding-bottom: 1.625rem;
}
@media screen and (max-width: 960px) {
  .c-slider__body .swiper {
    overflow: visible;
  }
}
.c-slider__item {
  width: 15rem;
}
.c-slider__link {
  display: block;
  background-color: white;
}
@media (any-hover: hover) {
  .c-slider__link {
    transition: background-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .c-slider__link:hover {
    background-color: #ebda93;
    opacity: 1;
  }
  .c-slider__link img {
    transition: filter 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .c-slider__link:hover img {
    filter: grayscale(1);
  }
}
.c-slider__img {
  padding-inline: 0.0625rem;
}
.c-slider__img > img {
  width: 14.875rem;
  height: 10rem;
  object-fit: cover;
}
.c-slider__content {
  padding-top: 1rem;
  padding-inline: 1rem;
  padding-bottom: 1.1875rem;
}
.c-slider__title {
  position: relative;
  padding-top: 0.5rem;
  padding-left: 1rem;
  color: #0136ae;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.c-slider__title::before {
  content: "";
  position: absolute;
  top: 0.8125rem;
  left: 0;
  width: 0.4375rem;
  height: 0.75rem;
  background-color: black;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.c-slider__text {
  margin-top: 1.0625rem;
  margin-bottom: -0.25rem;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
.c-slider__name {
  font-size: 1.625rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
}
.c-slider__name-en {
  margin-top: 1.125rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
}
.c-slider__tel {
  position: relative;
  display: flex;
  align-items: center;
  column-gap: 0.4375rem;
  margin-top: 1.3125rem;
  color: #0136ae;
  font-family: "Oswald", sans-serif;
  font-size: 1.625rem;
  line-height: 1;
  letter-spacing: 0.05em;
}
.c-slider__tel::before {
  content: "";
  display: block;
  width: 0.4375rem;
  height: 0.75rem;
  background-color: black;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 0 50%;
  mask-position: 0 50%;
  -webkit-mask-size: 0.4375rem;
  mask-size: 0.4375rem;
}
.c-slider__pagination {
  bottom: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 16px;
}
@media screen and (min-width: 961px) {
  .c-slider__pagination {
    width: calc(min(60rem, 83.3333333333vw) / 2) !important;
  }
}
.c-slider__pagination > span {
  --swiper-pagination-bullet-horizontal-gap: 0;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-inactive-opacity: 1;
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 100%;
  background-color: #ebda93;
}
@media screen and (min-width: 961px) {
  .c-slider__pagination > span {
    background-color: white;
  }
}
.c-slider__pagination > span.swiper-pagination-bullet-active {
  background-color: #fd4229;
}

.c-banner {
  margin-block: 4rem;
  margin-inline: auto;
}
.c-banner + .c-banner {
  margin-top: 0;
}

.c-archive {
  margin-top: 3.5rem;
  margin-bottom: 4rem;
}
.c-archive__head__en {
  color: #0136ae;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2em;
}
.c-archive__head__ja {
  margin-top: 0.5rem;
  font-weight: 700;
  line-height: 1.5rem;
  letter-spacing: 0.1em;
}
.c-archive__body {
  margin-top: 2.125rem;
}
.c-archive__item {
  display: grid;
  grid-template-columns: 5rem calc(100% - 5rem);
  padding-block: 1.25rem;
  border-top: 1px solid #dddddd;
}
.c-archive__item:last-of-type {
  border-bottom: 1px solid #dddddd;
}
.c-archive__date.is-new::after {
  content: "NEW";
  display: block;
  width: 3rem;
  margin-top: 0.5625rem;
  border-radius: 0.25rem;
  background-color: #fd4229;
  color: white;
  font-family: "Oswald", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-align: center;
}
.c-archive__date > time {
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 0.75rem;
  font-weight: 300;
  line-height: 1;
}
.c-archive__content {
  padding-left: 0.9375rem;
  border-left: 1px solid #dddddd;
  white-space: nowrap;
}
.c-archive__title {
  width: 100%;
  color: #0136ae;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
.c-archive__title > a {
  position: relative;
  display: block;
  width: fit-content;
  max-width: 100%;
  padding-right: 1.625rem;
}
.c-archive__title > a > span {
  display: block;
  width: fit-content;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}
.c-archive__title > a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: #fd4229;
  background-image: url(../images/icon-link-arrow.svg);
  background-repeat: no-repeat;
  background-position: 48% 50%;
  background-size: 0.5625rem;
}
.c-archive__text {
  margin-top: 0.8125rem;
  font-size: 0.75rem;
  line-height: 1;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.c-error {
  margin-block: 4rem;
  color: #333333;
  font-weight: 500;
  text-align: center;
}

.c-table__row {
  display: grid;
  grid-template-columns: 10.75rem 1fr;
  padding-block: 1rem;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
}
.c-table__row:nth-of-type(odd) {
  background-color: #eeeeee;
}
@media screen and (max-width: 960px) {
  .c-table__row {
    display: block;
    padding-inline: 1rem;
  }
}
.c-table__label {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-inline: 1rem;
  font-weight: 700;
  line-height: 1.1428571429;
  text-align: center;
}
@media screen and (max-width: 960px) {
  .c-table__label {
    display: block;
    text-align: left;
  }
}
.c-table__content {
  padding-right: 1.875rem;
  padding-left: 0.8125rem;
  border-left: 1px solid #0136ae;
  line-height: 1.7142857143;
}
@media screen and (max-width: 960px) {
  .c-table__content {
    padding-top: 0.375rem;
    padding-inline: 0;
    margin-top: 0.375rem;
    border-top: 1px solid #0136ae;
    border-left: none;
  }
}
.c-table__inner {
  margin-block: -0.25rem;
}
.c-table__inner > :is(ul, ol) > li {
  display: flex;
  align-items: center;
  column-gap: 0.3125rem;
}
.c-table__inner > :is(ul, ol) > li::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  border-radius: 100%;
  background-color: #0136ae;
}
.c-table__inner strong {
  color: #0136ae;
  font-weight: 500;
}

.c-accordion__button {
  cursor: pointer;
}
.c-accordion__content {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.c-accordion.is-open .c-accordion__content {
  grid-template-rows: 1fr;
}
.c-accordion__wrapper {
  overflow: hidden;
}

.p-home-info {
  position: relative;
  padding-top: 16rem;
  margin-top: 1.3125rem;
}
@media screen and (min-width: 961px) {
  .p-home-info {
    display: grid;
    grid-template-columns: 1fr 21.125rem;
    padding-top: 6rem;
    padding-bottom: 9rem;
    margin-top: 0;
  }
}
.p-home-info::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 24rem;
  height: 16rem;
  background-image: url(../images/home/image-information-pc.webp);
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 961px) {
  .p-home-info::before {
    top: auto;
    bottom: 0;
    left: -6.8125rem;
    transform: none;
    width: 28rem;
    height: 26.375rem;
    background-image: url(../images/home/image-information-pc.webp);
    pointer-events: none;
  }
}
.p-home-info__title {
  padding-top: 1.1875rem;
  padding-bottom: 0.8125rem;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 961px) {
  .p-home-info__title {
    position: relative;
    z-index: 1;
    padding-block: 0;
    padding-right: 1.125rem;
    font-size: 1.875rem;
    line-height: 1.6666666667;
    text-align: right;
    text-shadow: 0 0 0.625rem white;
  }
}
.p-home-info__text {
  border-top: 2px solid #0136ae;
  padding-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.8571428571;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .p-home-info__text {
    position: relative;
    z-index: 1;
    padding-top: 0;
    padding-left: 1rem;
    border-top: none;
    border-left: 2px solid #0136ae;
    font-size: 1rem;
    line-height: 1.875;
  }
  .p-home-info__text > span {
    display: block;
    margin-block: -0.3125rem;
  }
}
.p-home-info + .c-slider {
  margin-top: 0;
}

.p-home-business {
  z-index: 10;
  grid-column: full;
}
@media screen and (min-width: 961px) {
  .p-home-business {
    grid-column: content;
    margin-top: -4rem;
  }
}
@media screen and (min-width: 961px) {
  .p-home-business__wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, 19.25rem);
    grid-gap: 1.125rem;
    justify-content: center;
  }
}
@media screen and (max-width: 960px) {
  .p-home-business__block + .p-home-business__block {
    margin-top: 0.125rem;
  }
}
@media screen and (max-width: 960px) {
  .p-home-business__link {
    display: grid;
    grid-template-columns: 10rem 1fr;
    grid-column-gap: 1.25rem;
  }
}
@media (any-hover: hover) {
  .p-home-business__link:hover {
    opacity: 1;
  }
}
.p-home-business__img {
  width: 100%;
  height: 10rem;
}
@media screen and (min-width: 961px) {
  .p-home-business__img {
    height: 16rem;
  }
}
@media (any-hover: hover) {
  .p-home-business__img {
    transition: filter 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-home-business__link:hover .p-home-business__img {
    filter: grayscale(1);
  }
}
.p-home-business__img > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.p-home-business__content {
  padding-top: 0.75rem;
  padding-bottom: 1.25rem;
}
@media screen and (min-width: 961px) {
  .p-home-business__content {
    padding-top: 0.875rem;
    padding-inline: 1.25rem;
  }
}
@media (any-hover: hover) {
  .p-home-business__content {
    transition: background-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .p-home-business__link:hover .p-home-business__content {
    background-color: #ebda93;
    opacity: 1;
  }
}
.p-home-business__en {
  color: #999999;
  font-family: "Oswald", sans-serif;
  font-size: 1.375rem;
  line-height: 1.3636363636;
  letter-spacing: 0.05em;
  transition: color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
@media screen and (min-width: 961px) {
  .p-home-business__en {
    font-size: 2.125rem;
    line-height: 1.1764705882;
  }
}
@media (any-hover: hover) {
  .p-home-business__link:hover .p-home-business__en {
    color: white;
  }
}
.p-home-business__ja {
  margin-top: 0.6875rem;
  font-size: 0.875rem;
  line-height: 1.4285714286;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 961px) {
  .p-home-business__ja {
    margin-top: 1.6875rem;
    font-size: 1rem;
  }
}
.p-home-business__button {
  margin-top: 1.3125rem;
}
@media screen and (min-width: 961px) {
  .p-home-business__button {
    margin-top: 2.6875rem;
  }
}

.p-home-detail {
  margin-top: 5rem;
}
@media screen and (min-width: 961px) {
  .p-home-detail {
    margin-top: 7.875rem;
  }
}
.p-home-detail__block {
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
}
.p-home-detail__block > * {
  grid-column: content;
}
.p-home-detail__block > .is-full {
  grid-column: full;
}
.p-home-detail__block + .p-home-detail__block {
  margin-top: 3rem;
}
@media screen and (min-width: 961px) {
  .p-home-detail__block + .p-home-detail__block {
    margin-top: 4rem;
  }
}
@media screen and (min-width: 961px) {
  .p-home-detail__thumbnail {
    grid-area: 1/-1;
    width: 50%;
  }
  .p-home-detail__block:nth-of-type(odd) .p-home-detail__thumbnail {
    padding-right: 1.5rem;
  }
  .p-home-detail__block:nth-of-type(even) .p-home-detail__thumbnail {
    padding-left: 1.5rem;
    margin-left: auto;
  }
  .p-home-detail__thumbnail > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .p-home-detail__thumbnail .p-home-detail__block:nth-of-type(odd) img {
    object-position: 100% 50%;
  }
  .p-home-detail__thumbnail .p-home-detail__block:nth-of-type(even) img {
    object-position: 0 50%;
  }
}
.p-home-detail__content {
  margin-top: 1.6875rem;
}
@media screen and (min-width: 961px) {
  .p-home-detail__content {
    grid-area: 1/-1;
    grid-column: content;
    width: 50%;
    margin-top: 0;
  }
  .p-home-detail__block:nth-of-type(odd) .p-home-detail__content {
    padding-left: 1.5rem;
    margin-left: auto;
  }
  .p-home-detail__block:nth-of-type(even) .p-home-detail__content {
    padding-right: 1.5rem;
  }
}
.p-home-detail__title {
  line-height: 1.625;
  letter-spacing: 0.1em;
}
.p-home-detail__text {
  margin-top: 1.375rem;
  font-size: 0.75rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .p-home-detail__text {
    margin-top: 2rem;
  }
}
.p-home-detail__img {
  width: min(100%, 20rem);
  margin-top: 1.5rem;
  margin-inline: auto;
}
@media screen and (min-width: 961px) {
  .p-home-detail__img {
    width: 100%;
    margin-top: 1.875rem;
  }
}
.p-home-detail__link {
  margin-top: 3rem;
  margin-inline: auto;
}
@media screen and (min-width: 961px) {
  .p-home-detail__link {
    margin-top: 2.125rem;
    margin-inline: unset;
  }
}

.p-home-video {
  margin-top: 5rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 961px) {
  .p-home-video {
    display: flex;
    margin-top: 8rem;
    margin-bottom: 4rem;
  }
}
.p-home-video__movie {
  aspect-ratio: 16/9;
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
}
@media screen and (min-width: 961px) {
  .p-home-video__movie {
    width: calc(50% - 1.5rem);
  }
}
.p-home-video__content {
  position: relative;
  padding-top: 5rem;
  padding-bottom: 2rem;
  margin-top: -4rem;
  border-image-source: linear-gradient(#ebda93, #ebda93);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
}
@media screen and (min-width: 961px) {
  .p-home-video__content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: calc(50% + 1.5rem);
    padding-top: 1.625rem;
    padding-left: 3rem;
    margin-top: 0;
    border-image: none;
    background-color: #ebda93;
  }
}
.p-home-video__content::after {
  content: "";
  position: absolute;
  bottom: 1.3125rem;
  right: -1.3125rem;
  width: 10rem;
  height: 7.0625rem;
  background-image: url(../images/home/image-recruit.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (min-width: 961px) {
  .p-home-video__content::after {
    aspect-ratio: 160/113;
    bottom: 2rem;
    right: 4.9603174603%;
    width: 52.7777777778%;
    height: auto;
  }
}
.p-home-video__title {
  margin-bottom: 2.375rem;
  font-size: 1.125rem;
  line-height: 1.7777777778;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 961px) {
  .p-home-video__title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.p-article {
  display: grid;
  grid-template-columns: 20rem 1fr;
  grid-column-gap: 3rem;
  margin-top: 8rem;
  margin-bottom: 6rem;
}
@media screen and (max-width: 960px) {
  .p-article {
    display: block;
  }
}
@media screen and (max-width: 960px) {
  .p-article__img {
    width: fit-content;
    margin-inline: auto;
  }
}
@media screen and (max-width: 960px) {
  .p-article__content {
    margin-top: 2rem;
  }
}
.p-article__date {
  display: flex;
  align-items: center;
  column-gap: 0.5625rem;
}
.p-article__date.is-new::after {
  content: "NEW";
  display: block;
  width: 3rem;
  margin-top: 0.5625rem;
  border-radius: 0.25rem;
  background-color: #fd4229;
  color: white;
  font-family: "Oswald", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.2em;
  text-align: center;
}
.p-article__title {
  margin-top: 1.125rem;
  font-size: 1.25rem;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.p-article__text {
  margin-top: 0.9375rem;
  font-size: 0.75rem;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
}
.p-article__text > h2 {
  border-bottom: 2px solid #0136ae;
  font-size: 1.125rem;
}
.p-article__text > h3 {
  border-bottom: 1px solid #0136ae;
  font-size: 1rem;
}
.p-article__text > h4 {
  border-bottom: 1px solid #999999;
  font-size: 0.875rem;
}
.p-article__text > h5 {
  border-bottom: 1px solid #999999;
  font-size: 0.8125rem;
}
.p-article__text > h6 {
  font-size: 0.75rem;
}
.p-article__text > :is(h2, h3, h4, h5, h6) {
  padding-bottom: 0.25rem;
  margin-top: 3rem;
  line-height: 1.25;
}
.p-article__text > p {
  margin-top: 1.5rem;
}
.p-article__link {
  margin-top: 2.0625rem;
}

.p-company__block {
  display: grid;
  grid-template-columns: 46.6666666667% 1fr;
  background-color: #eeeeee;
}
.p-company__block + .p-company__block {
  margin-top: 4rem;
}
@media screen and (max-width: 960px) {
  .p-company__block + .p-company__block {
    margin-top: 3rem;
  }
}
@media screen and (max-width: 960px) {
  .p-company__block {
    display: block;
  }
}
.p-company__content {
  padding-top: 1.75rem;
  padding-inline: 2rem;
  padding-bottom: 2rem;
}
@media screen and (max-width: 960px) {
  .p-company__content {
    padding-top: 1.25rem;
    padding-inline: 1rem;
    padding-bottom: 1.5rem;
  }
}
.p-company__title {
  color: #0136ae;
  font-size: 1.5rem;
  line-height: 1.3333333333;
  letter-spacing: 0.05em;
}
.p-company__address {
  padding-top: 0.375rem;
  margin-top: 0.75rem;
  border-top: 1px solid #dddddd;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-company__tel {
  padding-top: 0.625rem;
  margin-top: 0.4375rem;
  border-top: 1px solid #dddddd;
  color: #0136ae;
  font-family: "Oswald", sans-serif;
  font-size: 2.25rem;
  font-weight: 300;
  line-height: 1;
}
.p-company__tel > a {
  display: flex;
  align-items: center;
  column-gap: 0.3125rem;
}
.p-company__tel > a::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.5rem;
  background-image: url(../images/company/icon-tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-company__thumbnail {
  margin-top: 1.1875rem;
  width: 10rem;
  height: 10rem;
}
.p-company__thumbnail > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 960px) {
  .p-company__map {
    height: 20rem;
  }
}
.p-company__map > iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.p-safety__img {
  width: 100%;
  height: 11rem;
}
.p-safety__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-safety__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1.125rem;
  padding-right: 0.5rem;
  padding-left: 0.875rem;
  padding-bottom: 1.375rem;
  background-color: #d4ecf3;
}
.p-safety__text {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  text-align: center;
}
.p-safety__img + .p-safety__text {
  margin-top: 1rem;
}
.p-safety__quantity {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}
.p-safety__quantity > em {
  color: #fd4229;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.p-safety-flow {
  margin-top: 3.5rem;
}
@media screen and (max-width: 960px) {
  .p-safety-flow {
    margin-top: 3rem;
  }
}
.p-safety-flow__title {
  padding-block: 0.25rem;
  padding-inline: 1rem;
  border-radius: 1rem;
  background-color: #ebda93;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-safety-flow__list {
  counter-set: safetyFlow;
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(4, 3rem);
  grid-column-gap: 3rem;
  grid-row-gap: 2rem;
  grid-auto-flow: column;
}
@media screen and (max-width: 960px) {
  .p-safety-flow__list {
    margin-top: 2rem;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(auto-fill, 3rem);
    grid-auto-flow: row;
  }
}
.p-safety-flow__item {
  position: relative;
  counter-increment: safetyFlow;
  padding-block: 0.75rem;
  padding-inline: 3rem;
  border-radius: 0.25rem;
  background-color: #0136ae;
  color: white;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-safety-flow__item::before {
  content: counter(safetyFlow);
  position: absolute;
  top: 0.6875rem;
  left: 0.6875rem;
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 100%;
  background-color: white;
  color: #0136ae;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  line-height: 1.8571428571;
  letter-spacing: 0;
  text-align: center;
}
.p-safety-flow__item:not(:last-of-type)::after {
  content: "";
  position: absolute;
  top: 2.9375rem;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 2.75rem;
  height: 1.5rem;
  background-image: url(../images/safety/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: contain;
}
@media screen and (min-width: 961px) {
  .p-safety-flow__item:nth-of-type(4n)::after {
    display: none;
  }
}

.p-safety-check {
  margin-top: 3.5rem;
}
@media screen and (max-width: 960px) {
  .p-safety-check {
    margin-top: 3rem;
  }
}
.p-safety-check__caption {
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-safety-check__list {
  counter-set: safetyCheck;
  margin-top: 1.6875rem;
}
.p-safety-check__item {
  counter-increment: safetyCheck;
  display: grid;
  grid-template-columns: 1.625rem 1fr;
  grid-column-gap: 1rem;
  padding-block: 1.1875rem;
  padding-inline: 1rem;
  background-color: #d4ecf3;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-safety-check__item:nth-of-type(even) {
  background-color: white;
}
.p-safety-check__item::before {
  content: counter(safetyCheck);
  display: block;
  width: 1.625rem;
  height: 1.625rem;
  border-radius: 100%;
  background-color: white;
  color: #0136ae;
  font-family: "Oswald", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8571428571;
  letter-spacing: 0;
  text-align: center;
}
.p-safety-check__item:nth-of-type(even)::before {
  background-color: #d4ecf3;
}
.p-safety-check__item > span {
  padding-block: 0.0625rem;
}
.p-safety-check__text {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.p-lift-description__title {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.p-lift-description__title > strong {
  background-image: linear-gradient(#0136ae, #0136ae);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 0.0625rem;
  color: #0136ae;
  font-size: 1.25rem;
}
.p-lift-description__list {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 1.875rem;
  grid-row-gap: 2rem;
}
@media screen and (max-width: 480px) {
  .p-lift-description__list {
    grid-template-columns: 1fr;
  }
}
.p-lift-description__item {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}
.p-lift-description__text {
  font-size: 0.875rem;
  line-height: 1.8571428571;
}

.p-lift-item {
  background-color: white;
}
.p-lift-item__img > img {
  width: 100%;
  height: 13.375rem;
  object-fit: contain;
}
.p-lift-item__content {
  padding-inline: 1.25rem;
  padding-bottom: 1rem;
}
.p-lift-item__title {
  padding-top: 0.75rem;
  border-top: 1px solid #dddddd;
  color: #0136ae;
  font-size: 0.875rem;
  line-height: 1.4285714286;
}
.p-lift-item__text {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
}

.p-lift-table {
  width: 100%;
  border-bottom: 1px solid #888888;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.p-lift-table > tbody > tr {
  border-top: 1px solid #888888;
}
.p-lift-table > tbody > tr > th {
  width: 37.7358490566%;
  background-image: linear-gradient(#ebda93, #ebda93);
  background-repeat: no-repeat;
  background-position: 0 50%;
  background-size: 100% calc(100% - 0.25rem);
}
.p-lift-table > tbody > tr > td {
  width: 62.2641509434%;
}
.p-lift-table > tbody > tr :is(th, td) {
  height: 2.25rem;
  text-align: center;
  vertical-align: middle;
}
.p-lift-table > tbody > tr td {
  color: #0136ae;
}
.p-lift-table__inner {
  width: 100%;
  border-inline: 0.125rem solid white;
  border-bottom: 0.125rem solid white;
}
.p-lift-table__inner > tbody > tr {
  border-top: 0.125rem solid white;
}
.p-lift-table__inner > tbody > tr > th {
  background-color: #eeeeee;
  color: black;
}
.p-lift-table__inner > tbody > tr > :is(th, td) {
  width: 50%;
  height: 2rem;
}

.p-lift-conditions {
  display: flex;
  align-items: center;
  column-gap: 2.1875rem;
  margin-block: 3rem;
}
@media screen and (max-width: 960px) {
  .p-lift-conditions {
    margin-block: 2rem;
  }
}
@media screen and (max-width: 480px) {
  .p-lift-conditions {
    flex-direction: column;
    row-gap: 1rem;
  }
}
.p-lift-conditions__title {
  position: relative;
  padding-right: 2rem;
  font-size: 1.125rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 480px) {
  .p-lift-conditions__title {
    padding-right: 0;
    padding-bottom: 2rem;
  }
}
.p-lift-conditions__title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 1.375rem;
  background-color: black;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 100% 50%;
  mask-position: 100% 50%;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 480px) {
  .p-lift-conditions__title::after {
    top: auto;
    right: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}
.p-lift-conditions__list {
  counter-reset: liftConditions;
}
.p-lift-conditions__item {
  counter-increment: liftConditions;
  display: grid;
  grid-template-columns: 1.25rem 1fr;
  grid-column-gap: 0.5625rem;
  color: #fd4229;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4285714286;
  letter-spacing: 0.05em;
}
.p-lift-conditions__item + .p-lift-conditions__item {
  margin-top: 0.625rem;
}
.p-lift-conditions__item::before {
  content: counter(liftConditions);
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 100%;
  background-color: #fd4229;
  color: white;
  font-family: "Oswald", sans-serif;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.6666666667;
  letter-spacing: 0;
  text-align: center;
}

.p-lift-faq {
  margin-top: 2.5rem;
  border-top: 1px solid #dddddd;
}
.p-lift-faq__block {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 1.0625rem;
  padding-left: 0.5625rem;
  border-bottom: 1px solid #dddddd;
}
@media screen and (max-width: 960px) {
  .p-lift-faq__block {
    padding-left: 0;
  }
}
.p-lift-faq__block::after {
  content: "";
  position: absolute;
  bottom: 1.8125rem;
  right: 0.3125rem;
  transform: rotate(90deg);
  width: 0.75rem;
  height: 1.375rem;
  background-color: #333333;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.p-lift-faq__block.is-open::after {
  transform: rotate(-90deg) !important;
}
.p-lift-faq__button {
  display: grid;
  grid-template-columns: 2rem 1fr;
  grid-column-gap: 1.125rem;
  align-items: center;
  width: 100%;
  padding-right: 2rem;
}
.p-lift-faq__button::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2.9375rem;
  background-image: url(../images/work/lift/icon-q.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.p-lift-faq__text {
  display: grid;
  grid-template-columns: 2.6875rem 1fr;
  grid-column-gap: 1.125rem;
  align-items: center;
  width: 100%;
  padding-right: 2rem;
  padding-left: 3.25rem;
  margin-top: 1rem;
}
@media screen and (max-width: 960px) {
  .p-lift-faq__text {
    padding-left: 0;
  }
}
.p-lift-faq__text::before {
  content: "";
  display: block;
  width: 2.6875rem;
  height: 2.9375rem;
  background-image: url(../images/work/lift/icon-a.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.p-floor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 3rem;
  grid-row-gap: 2.25rem;
}
@media screen and (max-width: 960px) {
  .p-floor-grid {
    grid-template-columns: 1fr;
  }
}
.p-floor-grid__img {
  width: 100%;
  height: 17rem;
}
@media screen and (max-width: 960px) {
  .p-floor-grid__img {
    height: auto;
  }
}
.p-floor-grid__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-floor-grid__title {
  margin-top: 1.125rem;
  color: #0136ae;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-floor-grid__text {
  margin-top: 0.875rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.p-floor-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 3rem;
}
@media screen and (max-width: 960px) {
  .p-floor-list {
    grid-template-columns: 1fr;
  }
}
.p-floor-list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-block: 0.75rem;
  border-bottom: 1px solid #dddddd;
}
.p-floor-list__item:first-of-type {
  border-top: 1px solid #dddddd;
}
@media screen and (min-width: 961px) {
  .p-floor-list__item:nth-of-type(2) {
    border-top: 1px solid #dddddd;
  }
}
.p-floor-list__text {
  position: relative;
  padding-left: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-floor-list__text::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 100%;
  background-color: #0136ae;
}
.p-floor-list__date {
  color: #fd4229;
  font-family: "Oswald", sans-serif;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-evs__title {
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
.p-evs__title > strong {
  background-image: linear-gradient(#0136ae, #0136ae);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 100% 0.0625rem;
  color: #0136ae;
  font-size: 1.25rem;
}
.p-evs__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(16.25rem, 1fr));
  grid-column-gap: 2.25rem;
  grid-row-gap: 2rem;
  margin-top: 3rem;
}
@media screen and (max-width: 960px) {
  .p-evs__grid {
    margin-top: 2rem;
    grid-row-gap: 1.5rem;
  }
}
.p-evs__grid__block {
  background-color: #f3eac1;
}
.p-evs__grid__img {
  width: 100%;
  height: 14rem;
}
.p-evs__grid__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-evs__grid__content {
  padding-top: 1rem;
  padding-inline: 1.25rem;
  padding-bottom: 1.8125rem;
}
@media screen and (max-width: 960px) {
  .p-evs__grid__content {
    padding-top: 0.75rem;
    padding-inline: 1rem;
    padding-bottom: 1.25rem;
  }
}
.p-evs__grid__title {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-evs__grid__text {
  padding-top: 0.375rem;
  margin-top: 0.5rem;
  border-top: 1px solid #ebda93;
  font-size: 0.75rem;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
}
.p-evs__list {
  margin-top: 4rem;
  border-bottom: 1px solid #dddddd;
}
@media screen and (max-width: 960px) {
  .p-evs__list {
    margin-top: 3rem;
  }
}
.p-evs__item {
  position: relative;
  padding-top: 0.6875rem;
  padding-left: 1.25rem;
  padding-bottom: 0.75rem;
  border-top: 1px solid #dddddd;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-evs__item::before {
  content: "";
  position: absolute;
  top: 1.125rem;
  left: 0;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 100%;
  background-color: #0136ae;
}
.p-evs__item > span {
  color: #0136ae;
  font-size: 0.75rem;
  line-height: 1.6666666667;
}
.p-evs__table {
  display: block;
  width: 100%;
  margin-top: 4rem;
}
@media screen and (max-width: 960px) {
  .p-evs__table {
    margin-top: 3rem;
    overflow: auto;
  }
}
.p-evs__table :is(caption, thead, tbody, th, td) {
  display: block;
}
.p-evs__table caption {
  position: relative;
  width: min(100%, 20rem);
  padding-block: 0.1875rem;
  padding-inline: 1rem;
  margin-inline: auto;
  border-radius: 0.25rem;
  background-color: #0136ae;
  color: white;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-evs__table caption::before {
  content: "";
  position: absolute;
  top: calc(100% - 0.125rem);
  left: 50%;
  transform: translateX(-50%);
  border-inline: 0.46875rem solid transparent;
  border-top: 1.4375rem solid #0136ae;
}
.p-evs__table tr {
  display: grid;
  grid-template-columns: 12.7083333333% 8.3333333333% repeat(7, 11.0416666667%);
  grid-column-gap: 0.125rem;
}
@media screen and (max-width: 960px) {
  .p-evs__table tr {
    grid-column-gap: 0.0625rem;
  }
}
.p-evs__table :is(th, td) {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 1.625rem;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 960px) {
  .p-evs__table :is(th, td) {
    letter-spacing: 0;
  }
}
.p-evs__table :is(th, td):nth-child(n+3) {
  font-family: "Oswald", sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 960px) {
  .p-evs__table :is(th, td):nth-child(n+3) {
    letter-spacing: 0;
  }
}
.p-evs__table thead {
  margin-top: 2.75rem;
}
@media screen and (max-width: 960px) {
  .p-evs__table thead {
    margin-top: 2rem;
  }
}
.p-evs__table thead tr > th {
  background-color: #ebda93;
  text-align: center;
  vertical-align: middle;
}
.p-evs__table tbody {
  margin-top: 0.125rem;
}
@media screen and (max-width: 960px) {
  .p-evs__table tbody {
    margin-top: 0.0625rem;
  }
}
.p-evs__table tbody tr + tr {
  margin-top: 0.125rem;
}
@media screen and (max-width: 960px) {
  .p-evs__table tbody tr + tr {
    margin-top: 0.0625rem;
  }
}
.p-evs__table tbody tr th {
  background-color: #cccccc;
}
.p-evs__table tbody tr td:first-of-type {
  background-color: #eeeeee;
}
.p-evs__table__separate {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 0.125rem;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 960px) {
  .p-evs__table__separate {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr;
    grid-gap: 0.0625rem;
  }
}
.p-evs__table__separate__block, .p-evs__table__separate__block--two, .p-evs__table__separate__block--empty {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-evs__table__separate__block, .p-evs__table__separate__block--two {
  background-color: #d4ecf3;
}
.p-evs__table__separate__block--two {
  grid-column: span 2;
}
@media screen and (max-width: 960px) {
  .p-evs__table__separate__block--two {
    grid-column: unset;
    grid-row: span 2;
  }
}
.p-evs__caution {
  margin-top: 1.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6666666667;
  text-align: center;
}

.p-movie {
  width: min(100%, 33.875rem);
  margin-inline: auto;
}
.p-movie__block {
  margin-top: 6rem;
}
.p-movie__block + .p-movie__block {
  margin-top: 3rem;
}
@media screen and (max-width: 960px) {
  .p-movie__block {
    margin-top: 4rem;
  }
}
.p-movie__block > :is(iframe, video) {
  aspect-ratio: 16/9;
  display: block;
  width: 100%;
}

.p-sdgs {
  margin-top: 6rem;
}
@media screen and (max-width: 960px) {
  .p-sdgs {
    margin-top: 4rem;
  }
}
.p-sdgs__head > img {
  width: 100%;
}
.p-sdgs__body {
  padding-top: 3rem;
  margin-top: 2.8125rem;
  border-top: 1px solid #dddddd;
}
@media screen and (max-width: 960px) {
  .p-sdgs__body {
    padding-top: 1.5rem;
    margin-top: 1.5rem;
  }
}
.p-sdgs__block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 3rem;
  grid-row-gap: 1.5rem;
}
@media screen and (max-width: 960px) {
  .p-sdgs__block {
    grid-template-columns: 1fr;
  }
}
.p-sdgs__block + .p-sdgs__block {
  margin-top: 4rem;
}
@media screen and (max-width: 960px) {
  .p-sdgs__block + .p-sdgs__block {
    margin-top: 2rem;
  }
}
.p-sdgs__img > img {
  width: 100%;
}
.p-sdgs__title {
  line-height: 1.625;
  letter-spacing: 0.1em;
}
.p-sdgs__text {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.8333333333;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 960px) {
  .p-sdgs__text {
    margin-top: 1rem;
  }
}

.p-sitemap {
  border-bottom: 1px solid #dddddd;
}
.p-sitemap__block {
  padding-top: 1.1875rem;
  padding-bottom: 1.125rem;
  border-top: 1px solid #dddddd;
}
.p-sitemap__title {
  display: flex;
  column-gap: 0.4375rem;
  align-items: center;
  font-size: 1.25rem;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.p-sitemap__title::before {
  content: "";
  display: block;
  width: 1.0625rem;
  height: 1.125rem;
  background-color: #0136ae;
  -webkit-mask-image: url(../images/icon-logo.svg);
  mask-image: url(../images/icon-logo.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.p-sitemap__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 1.5rem;
  row-gap: 0.375rem;
  padding-left: 1rem;
  margin-top: 0.5rem;
}
@media screen and (max-width: 960px) {
  .p-sitemap__list {
    padding-left: 0;
  }
}
.p-sitemap__item {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
.p-sitemap__item::before {
  content: "";
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 100%;
  background-color: #fd4229;
}

.p-ac__section + .p-ac__section {
  margin-top: 6rem;
}
@media screen and (max-width: 960px) {
  .p-ac__section + .p-ac__section {
    margin-top: 3rem;
  }
}
.p-ac__title {
  padding-block: 0.25rem;
  padding-inline: 1rem;
  border-radius: 99px;
  background-color: #ebda93;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}
.p-ac__bubble {
  position: relative;
  width: min(100%, 20rem);
  padding-block: 0.1875rem;
  padding-inline: 1rem;
  margin-inline: auto;
  border-radius: 0.25rem;
  background-color: #0136ae;
  color: white;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-ac__bubble::before {
  content: "";
  position: absolute;
  top: calc(100% - 0.125rem);
  left: 50%;
  transform: translateX(-50%);
  border-inline: 0.46875rem solid transparent;
  border-top: 1.4375rem solid #0136ae;
}
.p-ac__grid {
  counter-reset: acGrid;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(22.5rem, 100%), 1fr));
  grid-gap: 3rem;
  margin-top: 3rem;
}
@media screen and (max-width: 960px) {
  .p-ac__grid {
    grid-gap: 1.5rem;
    margin-top: 2rem;
  }
}
.p-ac__grid__item {
  counter-increment: acGrid;
  display: grid;
  grid-template-columns: 1fr 11.5rem;
  background-color: #ebda93;
}
@media screen and (max-width: 480px) {
  .p-ac__grid__item {
    display: block;
  }
}
.p-ac__grid__img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-ac__grid__content {
  padding-top: 1.5625rem;
  padding-inline: 1.25rem;
  padding-bottom: 0.9375rem;
}
.p-ac__grid__title {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
  letter-spacing: 0.05em;
}
.p-ac__grid__title::after {
  content: counter(acGrid);
  display: block;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  background-color: #0136ae;
  color: white;
  font-family: "Oswald", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  text-align: center;
}
.p-ac__grid__text {
  margin-top: 1.25rem;
  font-size: 0.75rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}
.p-ac__caution {
  margin-top: 1.5rem;
  font-size: 0.75rem;
  line-height: 1.6666666667;
}
.p-ac__caution--center {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  text-align: center;
}
.p-ac__block {
  margin-top: 3.5rem;
}
@media screen and (max-width: 960px) {
  .p-ac__block {
    margin-top: 2rem;
  }
}
.p-ac__block__title {
  width: fit-content;
  margin-inline: auto;
}
.p-ac__block__img {
  margin-top: 4rem;
}
@media screen and (max-width: 960px) {
  .p-ac__block__img {
    margin-top: 1.5rem;
  }
}

.p-form {
  display: grid;
  margin-top: 4rem;
}
.p-form__block {
  position: relative;
  grid-area: 1/-1;
  padding-top: 4rem;
  border-top: 0.25rem solid #0136ae;
  pointer-events: none;
}
.p-form__block[open] {
  pointer-events: visible;
}
@media screen and (max-width: 960px) {
  .p-form__block {
    padding-top: 3rem;
  }
}
.p-form__tab {
  position: absolute;
  bottom: calc(100% + 0.25rem);
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc((100% - 1.5rem) / 3);
  height: 4rem;
  border-radius: 0.25rem 0.25rem 0 0;
  background-color: #ebda93;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  text-align: center;
  cursor: pointer;
  pointer-events: visible;
}
@media screen and (max-width: 960px) {
  .p-form__tab {
    width: calc((100% - 0.375rem) / 3);
    font-size: 0.875rem;
  }
}
[open] > .p-form__tab {
  background-color: #0136ae;
  color: white;
}
.p-form__tab.is-left {
  left: 0;
}
.p-form__tab.is-center {
  left: 50%;
  transform: translateX(-50%);
}
.p-form__tab.is-right {
  right: 0;
}
.p-form__content .c-table__row {
  grid-template-columns: 15.75rem 1fr;
}
.p-form__content .c-table__inner {
  margin-block: 0;
}
.p-form__content input:is([type=text], [type=email], [type=tel]) {
  width: min(100%, 20rem);
  height: 2rem;
  padding-inline: 1rem;
  border: 1px solid #999999;
  border-radius: 0.25rem;
  background-color: white;
  letter-spacing: 0.05em;
}
.p-form__content input:is([type=text], [type=email], [type=tel]).is-short {
  width: min(100%, 16rem);
}
.p-form__content input:is([type=text], [type=email], [type=tel]).is-long {
  width: min(100%, 28rem);
}
.p-form__content select {
  width: 8rem;
  height: 2rem;
  padding-right: 1.625rem;
  background-color: #0136ae;
  background-image: url(../images/contact/icon-select-arrow.svg);
  background-repeat: no-repeat;
  background-position: calc(100% - 0.75rem) 50%;
  background-size: 0.8125rem;
  color: white;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.05em;
}
.p-form__content select.is-long {
  width: 15rem;
  padding-left: 1.4375rem;
  text-align: left;
}
.p-form__content textarea {
  resize: vertical;
  width: min(100%, 40rem);
  min-height: 10rem;
  padding-block: 0.5rem;
  padding-inline: 1rem;
  border: 1px solid #999999;
  border-radius: 0.25rem;
  background-color: white;
  letter-spacing: 0.05em;
}
.p-form__label {
  font-size: 0.875rem;
}
.p-form__required::after {
  content: "";
  display: inline-block;
  width: 0.625rem;
  height: 0.625rem;
  margin-left: 0.625rem;
  border-radius: 100%;
  background-color: #fd4229;
  vertical-align: middle;
}
.p-form__input {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 1.125rem;
}
.p-form__input__line {
  display: flex;
  align-items: center;
  column-gap: 0.5rem;
}
.p-form__input__line::before {
  content: "";
  display: block;
  width: 1rem;
  height: 0.0625rem;
  background-color: black;
}
.p-form__input__line > input[type=text] {
  width: 7rem;
}
.p-form__input__line > input[type=text]:first-of-type {
  order: -1;
}
.p-form__radio {
  display: flex;
  align-items: center;
  column-gap: 0.375rem;
  cursor: pointer;
}
.p-form__radio > input[type=radio] {
  appearance: auto;
  display: block;
  width: 0.875rem;
  height: 0.875rem;
}
.p-form__search {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fd4229;
  color: white;
  width: 7rem;
  height: 1.75rem;
  border-radius: 0.25rem;
}
.p-form__alert {
  color: #fd4229;
  font-size: 0.75rem;
}

.p-form-telephones {
  padding-top: 0.375rem;
}
.p-form-telephones__block {
  display: grid;
  grid-template-columns: 20.5rem 1fr;
  grid-column-gap: 0.9375rem;
  align-items: center;
  height: 5rem;
  padding-right: 1.5rem;
  padding-left: 1.75rem;
}
@media screen and (max-width: 960px) {
  .p-form-telephones__block {
    display: block;
  }
  .p-form-telephones__block + .p-form-telephones__block {
    margin-top: 3rem;
  }
}
.p-form-telephones__title {
  color: #0136ae;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 480px) {
  .p-form-telephones__title {
    font-size: 1.125rem;
  }
}
.p-form-telephones__content {
  display: flex;
  align-items: center;
  column-gap: 3.1875rem;
}
@media screen and (max-width: 960px) {
  .p-form-telephones__content {
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 480px) {
  .p-form-telephones__content {
    column-gap: 2rem;
    margin-top: 1.125rem;
  }
}
.p-form-telephones__content > span {
  position: relative;
  display: block;
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 480px) {
  .p-form-telephones__content > span {
    text-indent: -9999px;
  }
}
.p-form-telephones__content > span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 0.875rem);
  transform: translateY(-50%);
  display: block;
  width: 0.5625rem;
  height: 1rem;
  background-color: #0136ae;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 480px) {
  .p-form-telephones__content > span::after {
    left: 0.5rem;
  }
}
.p-form-telephones__content > a {
  display: flex;
  column-gap: 6px;
  width: fit-content;
  color: #0136ae;
  font-family: "Oswald", sans-serif;
  font-size: 2.25rem;
  font-weight: 500;
  line-height: 0.7777777778;
  white-space: nowrap;
}
@media screen and (max-width: 960px) {
  .p-form-telephones__content > a {
    font-size: 1.875rem;
  }
}
.p-form-telephones__content > a > .is-tel {
  display: block;
  width: 0.8333333333em;
  height: 0.7777777778em;
  background-image: url(../images/icon-tel.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (min-width: 961px) {
  .u-sp {
    display: none !important;
  }
}

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

.u-hidden {
  display: none !important;
}

.c-bg-secondary {
  background-color: #d4ecf3;
}
.c-bg-secondary--full {
  border-image-source: linear-gradient(#d4ecf3, #d4ecf3);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
}

.u-color-white {
  color: white;
}

.u-color-black {
  color: black;
}

.u-color-primary {
  color: #0136ae;
}

.u-layout {
  display: grid;
  grid-template-columns: [full-start] minmax(8.3333333333vw, 1fr) [content-start] min(60rem, 83.3333333333vw) [content-end] minmax(8.3333333333vw, 1fr) [full-end];
  overflow: hidden;
  overflow: visible;
}
.u-layout > * {
  grid-column: content;
}
.u-layout > .is-full {
  grid-column: full;
}

.u-mt48 {
  margin-top: 3rem;
}

.u-mt64 {
  margin-top: 6rem;
}

.u-mt96 {
  margin-top: 6rem;
}

.u-inline-flex {
  display: inline-flex;
  flex-wrap: wrap;
  column-gap: 1em;
}
.u-inline-flex > * {
  display: inline-block;
}
