@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

img,
svg,
video {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

button {
  font: inherit;
}

html {
  font-size: 62.5%;
}

body {
  color: #333333;
  background-color: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;
}

.u-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.l-header {
  --header-h: 80px;
  --header-fixed-top: 0px;
  position: static;
  z-index: 100;
  background-color: #ffffff;
}
.l-header.is-fixed {
  position: fixed;
  top: var(--header-fixed-top);
  right: 0;
  left: 0;
}
.l-header.is-fixed-in {
  animation: l-header-slide-in 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}
.l-header__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  overflow: visible;
  max-width: 1250px;
  width: calc(100% - 50px);
  height: 80px;
  margin-inline: auto;
  padding: 0 25px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 1px 1.5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(0, 0, 0, 0.1);
}
.l-header__logo {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  color: #101828;
  transition: opacity 0.2s ease;
}
.l-header__logo:hover, .l-header__logo:focus-visible {
  opacity: 0.7;
}
.l-header.l-header--overlay {
  position: absolute;
  top: 25px;
  right: 0;
  left: 0;
  background-color: transparent;
}
.l-header.l-header--overlay.is-fixed {
  position: fixed;
  top: var(--header-fixed-top);
  background-color: #ffffff;
}
.l-header__logo-mark {
  display: block;
  width: 58px;
  height: 30px;
}
.l-header__logo-text {
  display: flex;
  gap: 0.25em;
  align-items: baseline;
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.l-header__logo-corp {
  font-size: 1.8rem;
}
.l-header__logo-name {
  font-size: 2.4rem;
}
.l-header__end {
  display: flex;
  gap: 50px;
  align-items: center;
  align-self: stretch;
}
.l-header__nav {
  align-self: stretch;
}
.l-header__list {
  display: flex;
  gap: 25px;
  align-items: stretch;
  height: 100%;
}
.l-header__list > li {
  display: flex;
  align-items: center;
}
.l-header__list > li > a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  height: 100%;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-header__list > li > a:hover,
.l-header__list > li > a:focus-visible,
.l-header__list .current-menu-item > a,
.l-header__list .current-menu-ancestor > a,
.l-header__list .menu-item-has-children:hover > a,
.l-header__list .menu-item-has-children:focus-within > a {
  color: #af0b0e;
}
.l-header__list .menu-item-has-children > a::after {
  content: "";
  display: block;
  width: 10px;
  height: 6px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 12'%3E%3Cpath d='M1 1l4 5-4 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 6 12'%3E%3Cpath d='M1 1l4 5-4 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  transform: rotate(90deg);
  transition: transform 0.2s ease;
}
.l-header .sub-menu {
  position: absolute;
  top: 100%;
  right: 0;
  z-index: 110;
  display: flex;
  gap: 15px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  width: -moz-max-content;
  width: max-content;
  margin: 0;
  padding: 40px 25px 25px;
  isolation: isolate;
  list-style: none;
}
.l-header .sub-menu::before {
  content: "";
  position: absolute;
  inset: 15px 0 0;
  z-index: 0;
  background-color: #ffffff;
  border-radius: 14px;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
  pointer-events: none;
}
.l-header .sub-menu > li {
  position: relative;
  z-index: 1;
}
.l-header .sub-menu a {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: 130px;
  color: #333333;
}
.l-header .sub-menu a:hover,
.l-header .sub-menu a:focus-visible {
  color: #af0b0e;
}
.l-header .menu-item-has-children:hover > .sub-menu,
.l-header .menu-item-has-children:focus-within > .sub-menu {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
.l-header__mega-thumb {
  display: block;
  flex-shrink: 0;
  width: 130px;
  height: 93px;
  overflow: hidden;
  border-radius: 15px;
}
.l-header__mega-thumb picture,
.l-header__mega-thumb img {
  display: block;
  width: 100%;
  height: 100%;
}
.l-header__mega-thumb img {
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
}
.l-header__mega-label {
  display: block;
  width: 100%;
  color: inherit;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
.l-header__hamburger {
  display: none;
  width: 62px;
  height: 57px;
  padding: 0;
  border: 0;
  background-color: #af0b0e;
  cursor: pointer;
}
.l-header__hamburger-bars, .l-header__hamburger-bars::before, .l-header__hamburger-bars::after {
  display: block;
  width: 26px;
  height: 1px;
  margin-inline: auto;
  background-color: #ffffff;
}
.l-header__hamburger-bars {
  position: relative;
  transition: background-color 0.2s ease;
}
.l-header__hamburger-bars::before, .l-header__hamburger-bars::after {
  content: "";
  position: absolute;
  left: 0;
  transition: transform 0.2s ease, top 0.2s ease;
}
.l-header__hamburger-bars::before {
  top: -10px;
}
.l-header__hamburger-bars::after {
  top: 10px;
}
.l-header__hamburger[aria-expanded=true] .l-header__hamburger-bars {
  background-color: transparent;
}
.l-header__hamburger[aria-expanded=true] .l-header__hamburger-bars::before {
  top: 0;
  transform: rotate(45deg);
}
.l-header__hamburger[aria-expanded=true] .l-header__hamburger-bars::after {
  top: 0;
  transform: rotate(-45deg);
}

@media (max-width: 1023px) {
  .l-header {
    --header-h: 57px;
  }
  .l-header.l-header--overlay {
    top: 0;
  }
  .l-header__inner {
    width: 100%;
    height: 57px;
    padding: 0 0 0 16px;
    border-radius: 0;
    box-shadow: none;
  }
  .l-header__end {
    position: fixed;
    top: 57px;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center;
    overflow-y: auto;
    padding: 70px 15px 50px;
    background-color: #ffffff;
    visibility: hidden;
    pointer-events: none;
    transform: translateX(100%);
    transition: transform 0.35s ease, visibility 0.35s ease;
  }
  .l-header__nav {
    align-self: auto;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
  }
  .l-header__list {
    flex-direction: column;
    gap: 50px;
    align-items: flex-start;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    height: auto;
  }
  .l-header__list > li {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
    width: auto;
    max-width: 100%;
  }
  .l-header__list > li > a {
    height: auto;
  }
  .l-header__list .menu-item-has-children {
    gap: 0;
    transition: gap 0.35s ease;
  }
  .l-header__list .menu-item-has-children.is-open,
  .l-header__list .menu-item-has-children:has(> a[aria-expanded=true]) {
    gap: 25px;
  }
  .l-header .sub-menu {
    position: static;
    top: auto;
    right: auto;
    display: flex;
    flex-direction: column;
    gap: 25px;
    visibility: visible;
    opacity: 1;
    overflow: hidden;
    pointer-events: none;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    max-height: 0;
    padding: 0 0 0 25px;
    transition: max-height 0.35s ease;
  }
  .l-header .sub-menu::before {
    content: none;
  }
  .l-header .sub-menu a {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 0;
    width: auto;
  }
  .l-header .menu-item-has-children.is-open > .sub-menu,
  .l-header .menu-item-has-children > a[aria-expanded=true] + .sub-menu {
    max-height: 16rem;
    pointer-events: auto;
  }
  .l-header .menu-item-has-children > a[aria-expanded=true]::after {
    transform: rotate(-90deg);
  }
  .l-header .l-header__mega-thumb {
    display: none;
  }
  .l-header .l-header__mega-label {
    width: auto;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    text-align: left;
    white-space: nowrap;
  }
  .l-header .l-header__mega-label::before {
    content: "-　";
  }
  .l-header__hamburger {
    display: block;
  }
  .l-header__cta .c-btn {
    width: auto;
  }
  .is-nav-open {
    overflow: hidden;
  }
  .is-nav-open .l-header__end {
    visibility: visible;
    pointer-events: auto;
    transform: translateX(0);
  }
}
@media (max-width: 1023px) and (prefers-reduced-motion: reduce) {
  .l-header__end,
  .l-header .sub-menu,
  .l-header .menu-item-has-children {
    transition: none;
  }
}
.l-header-placeholder {
  display: none;
  height: 80px;
}

.l-header.is-fixed:not(.l-header--overlay) + .l-header-placeholder {
  display: block;
}

@keyframes l-header-slide-in {
  from {
    top: calc(var(--header-h) * -1);
  }
  to {
    top: var(--header-fixed-top);
  }
}
@media (prefers-reduced-motion: reduce) {
  .l-header.is-fixed-in {
    animation: none;
  }
}
@media (min-width: 1024px) {
  .admin-bar .l-header.is-fixed {
    --header-fixed-top: 32px;
  }
  .admin-bar .l-header.l-header--overlay:not(.is-fixed) {
    top: calc(25px + 32px);
  }
}
@media (max-width: 1023px) {
  .l-header-placeholder {
    height: 57px;
  }
  .admin-bar .l-header.is-fixed {
    --header-fixed-top: 0px;
  }
  .admin-bar .l-header.l-header--overlay:not(.is-fixed) {
    top: 32px;
  }
  .admin-bar .l-header:not(.is-fixed) .l-header__end {
    top: 89px;
  }
}
@media screen and (max-width: 782px) {
  .admin-bar .l-header.l-header--overlay:not(.is-fixed) {
    top: 46px;
  }
  .admin-bar .l-header:not(.is-fixed) .l-header__end {
    top: 103px;
  }
}
.l-footer {
  position: relative;
  overflow: hidden;
  background-color: #f4f4f4;
}
.l-footer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 50px 40px;
  width: 100%;
  max-width: 853px;
  margin-inline: auto;
  padding: 50px 0 25px;
}
.l-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.l-footer__tagline {
  margin-bottom: 8px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.625;
  letter-spacing: -0.02em;
}
.l-footer__logo {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
  margin-bottom: 25px;
  color: #333333;
  transition: opacity 0.2s ease;
}
.l-footer__logo:hover, .l-footer__logo:focus-visible {
  opacity: 0.7;
}
.l-footer__logo-mark {
  display: block;
  flex-shrink: 0;
  width: 82px;
  height: 42px;
}
.l-footer__logo-text {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em;
  align-items: baseline;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
.l-footer__logo-corp {
  font-size: 2.2rem;
}
.l-footer__logo-name {
  font-size: clamp(2.6rem, 5vw, 3.9rem);
}
.l-footer__mail {
  width: 100%;
  max-width: 304px;
  min-height: 60px;
  margin-bottom: 15px;
  padding-inline: 34px;
  justify-content: space-between;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
.l-footer__mail .c-btn__icon {
  width: 24px;
  height: 24px;
}
.l-footer__tel {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em;
  align-items: baseline;
  color: #af0b0e;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}
.l-footer__tel-label {
  font-size: 1.8rem;
}
.l-footer__tel-num {
  font-size: clamp(2rem, 4vw, 2.5rem);
}
.l-footer__tel-note {
  font-size: 1.7rem;
}
.l-footer__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 50px 80px;
}
.l-footer__col {
  min-width: 0;
}
.l-footer__heading {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: #333333;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
.l-footer a.l-footer__heading:hover,
.l-footer a.l-footer__heading:focus-visible {
  color: #af0b0e;
}
.l-footer__slash {
  display: block;
  flex-shrink: 0;
  width: 14px;
  height: 17px;
}
.l-footer__list {
  margin-top: 10px;
}
.l-footer__list a {
  display: block;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 37px;
  letter-spacing: 0;
}
.l-footer__list a:hover, .l-footer__list a:focus-visible {
  color: #af0b0e;
}
.l-footer__pages {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.l-footer__copy {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  align-items: baseline;
  flex-basis: 100%;
  margin-top: 0;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
}
.l-footer__deco {
  position: absolute;
  top: 2.88%;
  left: 77.67%;
  z-index: 0;
  width: 28%;
  height: auto;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

@media (max-width: 1023px) {
  .l-footer__inner {
    gap: 50px;
    padding-inline: 15px;
  }
  .l-footer__nav {
    gap: 50px;
  }
  .l-footer__deco {
    width: 36%;
    left: 72%;
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .l-footer__inner {
    padding: 50px 15px 25px;
  }
  .l-footer__logo {
    gap: 8px;
  }
  .l-footer__logo-mark {
    width: 58px;
    height: 30px;
  }
  .l-footer__mail {
    max-width: none;
    width: 100%;
  }
  .l-footer__nav {
    flex-direction: column;
    gap: 25px;
  }
  .l-footer__list a {
    font-size: 1.6rem;
    line-height: 2;
  }
  .l-footer__deco {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    width: 70%;
  }
}
.l-main {
  max-width: 1200px;
  margin-inline: auto;
  padding: 50px 15px;
}
@media (max-width: 767px) {
  .l-main {
    padding: 25px 15px;
  }
}

.c-page-title {
  margin-bottom: 24px;
  font-size: 2.4rem;
  line-height: 1.4;
}

.c-page-content > * + * {
  margin-top: 1em;
}

.c-heading-01 {
  display: flex;
  gap: 15px;
  align-items: center;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-heading-01__mark {
  display: block;
  flex-shrink: 0;
  width: 50px;
  height: 22px;
}

.c-heading-02 {
  display: flex;
  gap: 15px;
  align-items: center;
  color: #333333;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.c-heading-02__icon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 14px;
  background: linear-gradient(135deg, #fb2c36 0%, #e7000b 100%);
  overflow: hidden;
}
.c-heading-02__icon img {
  width: 32px;
  height: 32px;
  -o-object-fit: contain;
     object-fit: contain;
}

.c-heading-03 {
  display: flex;
  gap: 15px;
  align-items: center;
  color: #af0b0e;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-heading-03__icon {
  display: block;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
}

.c-heading-slash {
  display: flex;
  gap: 15px;
  align-items: center;
  color: #333333;
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.c-heading-slash__mark {
  display: block;
  flex-shrink: 0;
  width: 33px;
  height: 40px;
}

.c-h2 {
  color: #af0b0e;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}

.c-h3 {
  color: #333333;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}

.c-h4 {
  display: flex;
  gap: 15px;
  align-items: center;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-h4::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #fb2c36;
}

.c-radio {
  display: inline-flex;
  gap: 10px;
  align-items: center;
  cursor: pointer;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-radio input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  margin: 0;
  border: 0;
  background-color: transparent;
  background-image: url("../images/icons/radio-off.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  cursor: pointer;
}
.c-radio input:checked {
  background-image: url("../images/icons/radio-on.svg");
}

.c-checkbox {
  display: inline-flex;
  gap: 15px;
  align-items: center;
  cursor: pointer;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-checkbox input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid #af0b0e;
  background-color: #ffffff;
  cursor: pointer;
}
.c-checkbox input:checked {
  background-image: linear-gradient(#af0b0e, #af0b0e);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8px 8px;
}
.c-checkbox__link {
  color: #af0b0e;
}
.c-checkbox__link:hover, .c-checkbox__link:focus-visible {
  text-decoration: underline;
}

.c-field {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}
.c-field__label {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-field__req {
  color: #af0b0e;
}
.c-field__error {
  margin: 0;
  color: #af0b0e;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.c-field.is-invalid .c-input {
  border-color: #af0b0e;
}
.c-field__radios {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  -moz-column-gap: 25px;
       column-gap: 25px;
  row-gap: 15px;
  width: 100%;
}

.c-input {
  width: 100%;
  height: 47px;
  padding: 8px 15px;
  border: 1px solid #d1d5dc;
  border-radius: 10px;
  background-color: #ffffff;
  color: #333333;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-input::-moz-placeholder {
  color: #949494;
}
.c-input::placeholder {
  color: #949494;
}
.c-input:focus {
  outline: 2px solid rgba(175, 11, 14, 0.35);
  outline-offset: 1px;
}
.c-input--area {
  height: 254px;
  resize: vertical;
}

.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: auto;
  max-width: 100%;
  padding: 10px 25px;
  border: 1px solid transparent;
  border-radius: 14px;
  background-color: #af0b0e;
  color: #ffffff;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}
.c-btn:hover, .c-btn:focus-visible {
  background-image: linear-gradient(135deg, #fb2c36 0%, #e7000b 100%);
  color: #ffffff;
}
.c-btn:disabled, .c-btn.is-disabled {
  pointer-events: none;
  cursor: not-allowed;
  border-color: transparent;
  background-color: #d1d5dc;
  background-image: none;
  color: #f9fafb;
  box-shadow: none;
  opacity: 1;
}
.c-btn:disabled:hover, .c-btn:disabled:focus-visible, .c-btn.is-disabled:hover, .c-btn.is-disabled:focus-visible {
  background-color: #d1d5dc;
  background-image: none;
  color: #f9fafb;
}
.c-btn--full {
  width: 100%;
}
.c-btn--primary {
  background-color: #af0b0e;
  color: #ffffff;
}
.c-btn--ghost {
  border-color: #b7b9bc;
  background-color: #f9fafb;
  background-image: linear-gradient(164deg, #f9fafb 0%, #ffffff 100%);
  color: #333333;
}
.c-btn--ghost:hover, .c-btn--ghost:focus-visible {
  border-color: #fb2c36;
  background-image: linear-gradient(135deg, #fb2c36 0%, #e7000b 100%);
  color: #ffffff;
}
.c-btn--ghost:hover .c-btn__icon--dot, .c-btn--ghost:focus-visible .c-btn__icon--dot {
  background-color: #ffffff;
}
.c-btn--header {
  gap: 8px;
  padding: 15px 25px;
  border-radius: 10px;
  font-weight: 500;
  line-height: 1;
}
.c-btn--outline {
  flex-shrink: 0;
  gap: 20px;
  width: 184px;
  height: 50px;
  padding: 0 20px;
  border-color: #af0b0e;
  border-radius: 25px;
  background-color: #ffffff;
  color: #af0b0e;
  font-weight: 700;
  line-height: 1.5;
}
.c-btn--outline:hover, .c-btn--outline:focus-visible {
  background-color: #af0b0e;
  background-image: none;
  color: #ffffff;
}
.c-btn--outline:hover .c-btn__icon--arrow-box, .c-btn--outline:focus-visible .c-btn__icon--arrow-box {
  background-color: #ffffff;
  color: #af0b0e;
}
.c-btn--text {
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #af0b0e;
  font-weight: 700;
  line-height: 1.5;
}
.c-btn--text:hover, .c-btn--text:focus-visible {
  background: transparent;
  background-image: none;
  color: #af0b0e;
  opacity: 0.75;
}
.c-btn--email {
  gap: 18px;
  min-height: 60px;
  padding: 16px 40px;
  border-radius: 10px;
  background-color: #ffffff;
  box-shadow: 0 25px 25px rgba(0, 0, 0, 0.25);
  color: #af0b0e;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0;
}
.c-btn--email:hover, .c-btn--email:focus-visible {
  border-color: #fb2c36;
  background-color: #ffffff;
  background-image: none;
  color: #fb2c36;
}
.c-btn--email.c-btn--full {
  justify-content: space-between;
}
.c-btn--phone {
  gap: 18px;
  min-height: 60px;
  padding: 16px 40px;
  border-color: #ffffff;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.1);
  box-shadow: 0 25px 50px rgba(0, 0, 0, 0.25);
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0;
}
.c-btn--phone:hover, .c-btn--phone:focus-visible {
  background-color: #ffffff;
  background-image: none;
  color: #af0b0e;
}
.c-btn--phone.c-btn--full {
  justify-content: space-between;
}
.c-btn--submit {
  gap: 8px;
  min-height: 56px;
  padding: 12px 25px;
  border-radius: 10px;
  font-weight: 700;
}

.c-btn__icon {
  display: block;
  flex-shrink: 0;
  width: 16px;
  height: 16px;
}
.c-btn__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}
.c-btn__icon--dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #fb2c36;
}
.c-btn__icon--arrow-box {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background-color: #af0b0e;
  color: #ffffff;
}
.c-btn__icon--arrow-box svg {
  width: 12px;
  height: 12px;
}
.c-btn__icon--mail, .c-btn__icon--send {
  width: 20px;
  height: 20px;
}

.c-btn--email .c-btn__icon,
.c-btn--phone .c-btn__icon {
  width: 24px;
  height: 24px;
}

.c-totop {
  position: fixed;
  right: 25px;
  bottom: 25px;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  padding: 14px;
  border: 1px solid #af0b0e;
  background-color: #ffffff;
  box-shadow: none;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease, bottom 0.2s ease;
}
.c-totop.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.c-totop.is-visible:hover, .c-totop.is-visible:focus-visible {
  opacity: 0.7;
}
.c-totop img {
  display: block;
  width: 42px;
  height: 42px;
}

body.has-recaptcha-badge .c-totop {
  bottom: 120px;
}

@media (max-width: 767px) {
  .c-totop {
    right: 15px;
    bottom: 15px;
  }
  body.has-recaptcha-badge .c-totop {
    bottom: 110px;
  }
}
.c-contact-cta {
  padding: 70px 25px;
  background-image: linear-gradient(162deg, #f34144 0%, #af0b0e 100%);
  color: #ffffff;
}
.c-contact-cta__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  max-width: 1200px;
  margin-inline: auto;
  text-align: center;
}
.c-contact-cta__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.c-contact-cta__title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-contact-cta__title span {
  display: inline-block;
}
.c-contact-cta__lead {
  margin: 0;
  color: #fef2f2;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-contact-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  width: 100%;
}
.c-contact-cta__hours {
  margin: 0;
  color: #ffe2e2;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.43;
  letter-spacing: 0;
}
.c-contact-cta .c-btn--email,
.c-contact-cta .c-btn--phone {
  min-width: min(100%, 323px);
  white-space: nowrap;
}
.c-contact-cta .c-btn__label {
  white-space: nowrap;
}

.c-contact-cta--green {
  background-image: linear-gradient(180deg, #4b8e2a 0%, #164a3a 100%);
}
.c-contact-cta--green .c-contact-cta__inner {
  max-width: 896px;
}
.c-contact-cta--green .c-contact-cta__title {
  font-size: 2rem;
  line-height: 2;
}
.c-contact-cta--green .c-contact-cta__lead {
  font-size: 1.6rem;
}
.c-contact-cta--green .c-contact-cta__actions {
  gap: 16px;
}
.c-contact-cta--green .c-btn--email,
.c-contact-cta--green .c-btn--phone {
  min-width: 0;
  min-height: 64px;
  padding: 16px 32px;
  font-weight: 500;
  box-shadow: none;
}
.c-contact-cta--green .c-btn--email {
  color: #164a3a;
}
.c-contact-cta--green .c-btn--email:hover, .c-contact-cta--green .c-btn--email:focus-visible {
  border-color: transparent;
  color: #164a3a;
  opacity: 0.92;
}
.c-contact-cta--green .c-btn--phone {
  border-width: 2px;
}
.c-contact-cta--green .c-btn--phone:hover, .c-contact-cta--green .c-btn--phone:focus-visible {
  color: #164a3a;
}
.c-contact-cta--green .c-btn--email .c-btn__icon,
.c-contact-cta--green .c-btn--phone .c-btn__icon {
  width: 20px;
  height: 20px;
}

.c-contact-cta--stock {
  padding: 70px 25px;
  background-image: linear-gradient(166deg, #e7000b 0%, #c10007 100%);
}
.c-contact-cta--stock .c-contact-cta__head {
  gap: 25px;
}
.c-contact-cta--stock .c-contact-cta__title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-contact-cta--stock .c-contact-cta__lead {
  font-size: 1.8rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
}
.c-contact-cta--stock .c-btn--email {
  min-width: min(100%, 323px);
}

.c-contact-cta--freedial {
  background-image: linear-gradient(166deg, #e7000b 0%, #c10007 100%);
}
.c-contact-cta--freedial .c-contact-cta__head {
  gap: 25px;
}
.c-contact-cta--freedial .c-contact-cta__heading {
  color: #ffffff;
  justify-content: center;
}
.c-contact-cta--freedial .c-heading-01__mark {
  filter: brightness(0) invert(1);
}
.c-contact-cta--freedial .c-contact-cta__lead {
  font-size: 1.6rem;
}

.c-contact-cta__dial {
  display: flex;
  gap: 12px;
  align-items: center;
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  text-decoration: none;
}
.c-contact-cta__dial:hover, .c-contact-cta__dial:focus-visible {
  color: #ffffff;
  opacity: 0.92;
}

.c-contact-cta__dial-icon {
  display: block;
  flex-shrink: 0;
  width: 35px;
  height: 35px;
}

@media (max-width: 1023px) {
  .c-contact-cta__title {
    line-height: 1.4;
  }
  .c-contact-cta--green .c-contact-cta__title {
    line-height: 2;
  }
}
@media (max-width: 767px) {
  .c-contact-cta {
    padding: 50px 15px;
  }
  .c-contact-cta__title {
    font-size: clamp(2.4rem, 7vw, 3.2rem);
    line-height: 1.35;
  }
  .c-contact-cta__lead {
    font-size: 1.6rem;
  }
  .c-contact-cta__br {
    display: none;
  }
  .c-contact-cta__actions {
    flex-direction: column;
    gap: 15px;
    align-items: stretch;
  }
  .c-contact-cta .c-btn--email,
  .c-contact-cta .c-btn--phone {
    width: 100%;
    min-width: 0;
    gap: 10px;
    padding: 14px 16px;
    font-size: 1.6rem;
  }
  .c-contact-cta .c-btn__icon {
    width: 20px;
    height: 20px;
  }
  .c-contact-cta--green .c-contact-cta__title {
    font-size: 2rem;
    line-height: 2;
  }
  .c-contact-cta--stock {
    padding: 70px 15px;
  }
  .c-contact-cta--stock .c-contact-cta__title {
    font-size: 2rem;
    line-height: 1.5;
  }
  .c-contact-cta--stock .c-contact-cta__lead {
    font-size: 1.8rem;
  }
  .c-contact-cta--stock .c-btn--email {
    min-height: 60px;
    padding: 16px 24px;
    font-size: 1.8rem;
  }
  .c-contact-cta--stock .c-btn__icon {
    width: 24px;
    height: 24px;
  }
  .c-contact-cta--freedial {
    padding: 50px 15px;
  }
  .c-contact-cta--freedial .c-contact-cta__dial {
    flex-wrap: wrap;
    justify-content: center;
    font-size: 2rem;
  }
}
.c-card {
  display: flex;
  flex-direction: column;
  gap: 25px;
  min-width: 0;
  color: inherit;
}
.c-card__media {
  position: relative;
  aspect-ratio: 336/209;
  overflow: hidden;
  border-radius: 14px;
  background-color: #d9d9d9;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}
.c-card__media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.c-card__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-card__noimage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #d9d9d9;
}
.c-card__noimage-icon {
  display: block;
  width: 80px;
  max-width: 40%;
  height: auto;
}
.c-card__body {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  width: 100%;
}
.c-card__main {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
  color: inherit;
}
.c-card__title {
  align-items: flex-start;
}
.c-card__title::before {
  margin-top: 13px;
}
.c-card__heading {
  color: #333333;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-card__text {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-card__note {
  color: #333333;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-card__lineup {
  padding-left: 20px;
  color: #af0b0e;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.05em;
  text-decoration: underline;
}
.c-card__lineup::after {
  content: " ▼";
  font-size: 0.85em;
  text-decoration: none;
}
.c-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.c-card__prices {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.c-card__prices li {
  display: flex;
  gap: 15px;
  align-items: center;
  color: #333333;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-card__prices li::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #333333;
}
.c-card__price-label {
  font-weight: 600;
}
.c-card__price-value {
  margin-left: auto;
  color: #af0b0e;
  font-weight: 400;
}
.c-card__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: #ffe2e2;
  color: #e7000b;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
.c-card__kicker {
  width: 100%;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.c-card__info-title {
  width: 100%;
  color: #164a3a;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

.c-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background-color: #dbeafe;
  color: #1447e6;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
}

.c-card--sale:not(.is-textonly):not(.is-plain):hover,
.c-card--sale:not(.is-textonly):not(.is-plain):focus-visible {
  opacity: 0.6;
}

.c-card--sale .c-card__media {
  background-color: #ffffff;
}

.c-card--sale .c-card__img {
  -o-object-fit: contain;
     object-fit: contain;
}

.c-card--sale.is-cover .c-card__img {
  -o-object-fit: cover;
     object-fit: cover;
}

.c-card--sale.is-textonly {
  gap: 10px;
  padding: 20px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}
.c-card--sale.is-textonly .c-card__body {
  gap: 8px;
}
.c-card--sale.is-textonly .c-card__text {
  font-size: 1.4rem;
  line-height: 1.7;
}

.c-card--sale .c-card__body,
.c-card--rental .c-card__body {
  gap: 10px;
}

.c-card--rental .c-card__media {
  background-color: #ffffff;
}

.c-card--rental .c-card__img {
  -o-object-fit: contain;
     object-fit: contain;
}

.c-card--post {
  gap: 10px;
  transition: opacity 0.2s ease;
}
.c-card--post:hover, .c-card--post:focus-visible {
  opacity: 0.75;
}
.c-card--post .c-card__media {
  aspect-ratio: 360/225;
  border-radius: 15px;
  box-shadow: none;
}
.c-card--post .c-card__body {
  align-items: center;
}
.c-card--post .c-card__heading {
  width: 100%;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 34px;
  letter-spacing: 0;
  text-align: center;
}

.c-card--business {
  gap: 15px;
  align-items: center;
}
.c-card--business .c-card__media {
  width: 100%;
  aspect-ratio: 445/260;
  border-radius: 15px;
  box-shadow: none;
}
.c-card--business .c-card__body {
  gap: 15px;
  align-items: center;
}
.c-card--business .c-card__heading {
  width: 100%;
  text-align: center;
}
.c-card--business .c-card__text {
  width: 100%;
  text-align: left;
}

.c-card--case {
  align-items: center;
}
.c-card--case .c-card__body {
  align-items: center;
}
.c-card--case .c-card__title {
  width: 100%;
  justify-content: center;
}

.c-card--pest {
  gap: 0;
  overflow: hidden;
  background-color: #ffffff;
  border-radius: 16px;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}
.c-card--pest .c-card__media {
  aspect-ratio: 362/269;
  border-radius: 0;
  box-shadow: none;
}
.c-card--pest .c-card__body {
  gap: 10px;
  align-items: center;
  padding: 25px;
  text-align: center;
}
.c-card--pest .c-card__heading {
  font-size: 2rem;
  text-align: center;
}
.c-card--pest .c-card__text {
  text-align: center;
}

.c-card--rentacar .c-card__body {
  gap: 15px;
}

.c-card--step {
  gap: 15px;
  align-items: center;
  padding: 25px;
  background-color: #ffffff;
  border-radius: 14px;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
  text-align: center;
}
.c-card--step .c-card__heading {
  font-size: 1.8rem;
}
.c-card--step .c-card__text {
  text-align: left;
}

.c-card--info {
  gap: 8px;
  align-items: center;
  min-height: 124px;
  padding: 24px;
  background-color: #ffffff;
  border-radius: 14px;
}

.c-card--office {
  gap: 30px;
  align-items: stretch;
  width: 100%;
  padding: 35px;
  background-color: #ffffff;
  border-radius: 14px;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}
.c-card--office > .c-btn {
  align-self: center;
}

.c-card__office-body {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
  min-width: 0;
}

.c-card__office-head {
  width: 100%;
  border-bottom: 1px solid #af0b0e;
}

.c-card__office-name {
  color: #101828;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}

.c-card__office-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  width: 100%;
  min-width: 0;
}

.c-card__office-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.c-card__office-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-card__office-row span {
  min-width: 0;
  flex: 1 1 auto;
}

.c-card__office-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 6px;
}

.c-card__office-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-card__office-info p {
  margin: 0;
}

.c-card__office-label {
  font-weight: 700;
}

.c-card__office-visuals {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  width: 100%;
  min-width: 0;
}
.c-card__office-visuals .c-card__media {
  width: 100%;
  min-width: 0;
  aspect-ratio: 400/210;
  border-radius: 0;
  box-shadow: none;
}

.c-card__map {
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 400/210;
  overflow: hidden;
  background-color: #d9d9d9;
}
.c-card__map--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #333333;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}

.c-card__map-frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 767px) {
  .c-card__office-meta,
  .c-card__office-visuals {
    grid-template-columns: 1fr;
  }
  .c-card--office {
    padding: 25px;
  }
}
.p-news-single__body {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-news-single__body > *:first-child {
  margin-top: 0;
}
.p-news-single__body > * + * {
  margin-top: 25px;
}
.p-news-single__body h2,
.p-news-single__body h3,
.p-news-single__body h4,
.p-news-single__body h5,
.p-news-single__body h6 {
  color: #af0b0e;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-news-single__body h2 {
  margin-top: 50px;
  margin-bottom: 25px;
  font-size: 2.4rem;
  font-weight: 700;
}
.p-news-single__body h3 {
  margin-top: 50px;
  margin-bottom: 25px;
  font-size: 2rem;
  font-weight: 700;
}
.p-news-single__body h4 {
  margin-top: 25px;
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: 600;
}
.p-news-single__body h5 {
  margin-top: 25px;
  margin-bottom: 15px;
  font-size: 1.6rem;
  font-weight: 600;
}
.p-news-single__body h6 {
  margin-top: 15px;
  margin-bottom: 15px;
  font-size: 1.4rem;
  font-weight: 500;
}
.p-news-single__body h2 + h3,
.p-news-single__body h3 + h4,
.p-news-single__body h4 + h5,
.p-news-single__body h5 + h6 {
  margin-top: 15px;
}
.p-news-single__body > h2 + *,
.p-news-single__body > h3 + *,
.p-news-single__body > h4 + *,
.p-news-single__body > h5 + *,
.p-news-single__body > h6 + * {
  margin-top: 0;
}
.p-news-single__body p {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body a {
  color: #af0b0e;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.p-news-single__body a:hover, .p-news-single__body a:focus-visible {
  text-decoration-thickness: 2px;
}
.p-news-single__body strong,
.p-news-single__body b {
  font-weight: 700;
}
.p-news-single__body em,
.p-news-single__body i {
  font-style: italic;
}
.p-news-single__body ul,
.p-news-single__body ol {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-left: 1.6em;
}
.p-news-single__body ul {
  list-style: disc;
}
.p-news-single__body ol {
  list-style: decimal;
}
.p-news-single__body li + li {
  margin-top: 0.35em;
}
.p-news-single__body li > ul,
.p-news-single__body li > ol {
  margin-top: 0.35em;
}
.p-news-single__body ul ul {
  list-style: circle;
}
.p-news-single__body blockquote,
.p-news-single__body .wp-block-quote {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding: 15px 15px 15px 25px;
  border-left: 4px solid #af0b0e;
  color: #333333;
}
.p-news-single__body .wp-block-quote cite,
.p-news-single__body .wp-block-pullquote cite {
  display: block;
  margin-top: 0.5em;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 500;
}
.p-news-single__body .wp-block-pullquote {
  padding: 25px 0;
  border-top: 2px solid #af0b0e;
  border-bottom: 2px solid #af0b0e;
  text-align: center;
}
.p-news-single__body hr,
.p-news-single__body .wp-block-separator {
  margin: 50px 0;
  border: 0;
  border-top: 1px solid #d1d5dc;
}
.p-news-single__body .wp-block-separator.is-style-wide {
  width: 100%;
}
.p-news-single__body .wp-block-separator.is-style-dots {
  border: 0;
  text-align: center;
}
.p-news-single__body .wp-block-separator.is-style-dots::before {
  content: "···";
  color: #af0b0e;
  font-size: 2.4rem;
  letter-spacing: 0.6em;
}
.p-news-single__body img,
.p-news-single__body video {
  display: block;
  max-width: 100%;
  height: auto;
}
.p-news-single__body figure {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body figcaption,
.p-news-single__body .wp-element-caption {
  margin-top: 8px;
  color: #6b7280;
  font-size: 1.3rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-news-single__body .wp-block-image {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body .wp-block-image img {
  width: auto;
  max-width: 100%;
}
.p-news-single__body .wp-block-image.aligncenter {
  text-align: center;
}
.p-news-single__body .wp-block-image.aligncenter img {
  margin-inline: auto;
}
.p-news-single__body .wp-block-image.alignleft {
  float: left;
  max-width: 48%;
  margin: 0 25px 15px 0;
}
.p-news-single__body .wp-block-image.alignright {
  float: right;
  max-width: 48%;
  margin: 0 0 15px 25px;
}
.p-news-single__body .alignwide,
.p-news-single__body .alignfull {
  width: 100%;
  max-width: 100%;
}
.p-news-single__body .wp-block-gallery {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body .wp-block-gallery.has-nested-images figure.wp-block-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
.p-news-single__body .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  flex: 1 0 0%;
}
.p-news-single__body .wp-block-columns {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body .wp-block-column > *:first-child {
  margin-top: 0;
}
.p-news-single__body .wp-block-media-text {
  display: grid;
  grid-template-columns: 50% 1fr;
  grid-template-rows: auto;
  box-sizing: border-box;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body .wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr 50%;
}
.p-news-single__body .wp-block-media-text > .wp-block-media-text__media {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
}
.p-news-single__body .wp-block-media-text > .wp-block-media-text__content {
  grid-column: 2;
  grid-row: 1;
  padding: 0 8%;
  word-break: break-word;
}
.p-news-single__body .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__media {
  grid-column: 2;
}
.p-news-single__body .wp-block-media-text.has-media-on-the-right > .wp-block-media-text__content {
  grid-column: 1;
}
.p-news-single__body .wp-block-media-text.is-vertically-aligned-top > .wp-block-media-text__content, .p-news-single__body .wp-block-media-text.is-vertically-aligned-top > .wp-block-media-text__media {
  align-self: start;
}
.p-news-single__body .wp-block-media-text.is-vertically-aligned-center > .wp-block-media-text__content, .p-news-single__body .wp-block-media-text.is-vertically-aligned-center > .wp-block-media-text__media,
.p-news-single__body .wp-block-media-text > .wp-block-media-text__content,
.p-news-single__body .wp-block-media-text > .wp-block-media-text__media {
  align-self: center;
}
.p-news-single__body .wp-block-media-text.is-vertically-aligned-bottom > .wp-block-media-text__content, .p-news-single__body .wp-block-media-text.is-vertically-aligned-bottom > .wp-block-media-text__media {
  align-self: end;
}
.p-news-single__body .wp-block-media-text__content > *:first-child {
  margin-top: 0;
}
.p-news-single__body .wp-block-media-text__media img,
.p-news-single__body .wp-block-media-text__media video {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}
@media (max-width: 600px) {
  .p-news-single__body .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 100% !important;
  }
  .p-news-single__body .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
    grid-column: 1;
    grid-row: 1;
  }
  .p-news-single__body .wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
    grid-column: 1;
    grid-row: 2;
    padding: 15px 0 0;
  }
}
.p-news-single__body .wp-block-cover {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
  padding: 50px;
  overflow: hidden;
  color: #ffffff;
  background-color: #1a1a1a;
}
.p-news-single__body .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
  width: 100%;
}
.p-news-single__body table,
.p-news-single__body .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
}
.p-news-single__body .wp-block-table {
  overflow-x: auto;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body th,
.p-news-single__body td {
  border: 1px solid #e5e7eb;
  padding: 10px 15px;
  vertical-align: middle;
  color: #333333;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-news-single__body th {
  background-color: #e5e7eb;
  font-weight: 700;
  text-align: center;
}
.p-news-single__body td {
  background-color: #ffffff;
}
.p-news-single__body .wp-block-table.is-style-stripes tbody tr:nth-child(odd) td {
  background-color: #f9fafb;
}
.p-news-single__body .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border-radius: 4px;
  background-color: #af0b0e;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-decoration: none;
}
.p-news-single__body .wp-block-button__link:hover, .p-news-single__body .wp-block-button__link:focus-visible {
  background-color: #fb2c36;
  text-decoration: none;
}
.p-news-single__body .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border: 1px solid #af0b0e;
  color: #af0b0e;
}
.p-news-single__body .wp-block-button.is-style-outline .wp-block-button__link:hover, .p-news-single__body .wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
  background-color: #af0b0e;
  color: #ffffff;
}
.p-news-single__body code,
.p-news-single__body kbd,
.p-news-single__body samp {
  padding: 0.1em 0.35em;
  border-radius: 3px;
  background-color: #f9fafb;
  font-size: 0.9em;
}
.p-news-single__body pre,
.p-news-single__body .wp-block-code,
.p-news-single__body .wp-block-preformatted {
  overflow-x: auto;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding: 15px;
  border-radius: 4px;
  background-color: #f9fafb;
}
.p-news-single__body .wp-block-code code {
  padding: 0;
  background: none;
}
.p-news-single__body .wp-block-file a:not(.wp-block-file__button) {
  font-weight: 700;
}
.p-news-single__body .wp-block-file__button {
  display: inline-flex;
  margin-left: 0.75em;
  padding: 8px 16px;
  border-radius: 4px;
  background-color: #af0b0e;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
}
.p-news-single__body .wp-block-embed,
.p-news-single__body .wp-block-video,
.p-news-single__body .wp-block-audio {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 0;
}
.p-news-single__body .wp-block-embed iframe {
  max-width: 100%;
}
.p-news-single__body .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper {
  position: relative;
}
.p-news-single__body .wp-block-embed.wp-has-aspect-ratio .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 50%;
}
.p-news-single__body .wp-block-embed.wp-embed-aspect-21-9 .wp-block-embed__wrapper::before {
  padding-top: 42.85%;
}
.p-news-single__body .wp-block-embed.wp-embed-aspect-18-9 .wp-block-embed__wrapper::before {
  padding-top: 50%;
}
.p-news-single__body .wp-block-embed.wp-embed-aspect-16-9 .wp-block-embed__wrapper::before {
  padding-top: 56.25%;
}
.p-news-single__body .wp-block-embed.wp-embed-aspect-4-3 .wp-block-embed__wrapper::before {
  padding-top: 75%;
}
.p-news-single__body .wp-block-embed.wp-embed-aspect-1-1 .wp-block-embed__wrapper::before {
  padding-top: 100%;
}
.p-news-single__body .wp-block-embed.wp-embed-aspect-9-16 .wp-block-embed__wrapper::before {
  padding-top: 177.78%;
}
.p-news-single__body .wp-block-embed.wp-embed-aspect-1-2 .wp-block-embed__wrapper::before {
  padding-top: 200%;
}
.p-news-single__body .wp-block-embed.wp-has-aspect-ratio iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.p-news-single__body .wp-block-video video {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
.p-news-single__body .wp-block-audio audio {
  display: block;
  width: 100%;
  max-width: 100%;
}
.p-news-single__body .wp-block-details {
  padding: 15px;
  border: 1px solid #d1d5dc;
}
.p-news-single__body .wp-block-details summary {
  cursor: pointer;
  font-weight: 700;
}
.p-news-single__body .wp-block-group > *:first-child {
  margin-top: 0;
}
.p-news-single__body .has-text-align-left {
  text-align: left;
}
.p-news-single__body .has-text-align-center {
  text-align: center;
}
.p-news-single__body .has-text-align-right {
  text-align: right;
}
.p-news-single__body::after {
  content: "";
  display: table;
  clear: both;
}
@media (max-width: 767px) {
  .p-news-single__body h2 {
    font-size: 2.2rem;
  }
  .p-news-single__body .wp-block-image.alignleft,
  .p-news-single__body .wp-block-image.alignright {
    float: none;
    max-width: 100%;
    margin: 0;
  }
}

.c-news {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
  align-items: center;
  min-height: 52px;
  padding: 8px 0 12px;
  border-bottom: 1px solid #c6c6c6;
  color: #333333;
}
.c-news__date {
  flex-shrink: 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.c-news__cat {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  border-radius: 999px;
  background-color: #af0b0e;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 0 4px 3px rgba(0, 0, 0, 0.1);
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: -0.01em;
}
.c-news__title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.c-news .c-btn__icon--arrow-box {
  flex-shrink: 0;
  margin-left: auto;
}
.c-news:hover .c-news__title, .c-news:focus-visible .c-news__title {
  background-image: linear-gradient(135deg, #fb2c36 0%, #e7000b 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
.c-news:hover .c-btn__icon--arrow-box, .c-news:focus-visible .c-btn__icon--arrow-box {
  background-image: linear-gradient(135deg, #fb2c36 0%, #e7000b 100%);
}

@media (max-width: 767px) {
  .c-news__title {
    flex-basis: 100%;
    white-space: normal;
  }
}
.p-news-archive {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin-top: 100px;
}
.p-news-archive__heading {
  justify-content: center;
}
.p-news-archive__empty {
  margin-top: 100px;
}

.p-news-filter {
  display: flex;
  gap: 25px;
  align-items: center;
  margin-top: 70px;
}
.p-news-filter__icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.p-news-filter__list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  align-items: center;
}
.p-news-filter__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 78px;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  background-color: #f3f4f6;
  color: #364153;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
  text-decoration: none;
}
.p-news-filter__btn.is-current {
  background-color: #af0b0e;
  color: #ffffff;
}
.p-news-filter__btn:not(.is-current):hover, .p-news-filter__btn:not(.is-current):focus-visible {
  background-color: #e5e7eb;
}

.c-news-card {
  display: block;
  padding: 25px;
  border: 1px solid #b7b9bc;
  border-radius: 14px;
  color: #333333;
  text-decoration: none;
}
.c-news-card__inner {
  display: flex;
  gap: 50px;
  align-items: flex-start;
}
.c-news-card__meta {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  align-items: center;
  min-width: 101px;
}
.c-news-card__cal {
  display: block;
  width: 16px;
  height: 16px;
}
.c-news-card__date {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
.c-news-card__body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 15px;
  min-width: 0;
}
.c-news-card__cat {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border-radius: 999px;
  background-color: #f3f4f6;
  color: #333333;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1;
}
.c-news-card__cat--oshirase {
  background-color: #dbeafe;
  color: #1447e6;
}
.c-news-card__cat--new-product {
  background-color: #ffe2e2;
  color: #c10007;
}
.c-news-card__title {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 2;
}
.c-news-card__excerpt {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}
.c-news-card:hover .c-news-card__title, .c-news-card:focus-visible .c-news-card__title {
  color: #af0b0e;
}

@media (max-width: 767px) {
  .p-news-archive {
    margin-top: 50px;
  }
  .p-news-filter {
    gap: 15px;
    margin-top: 50px;
  }
  .p-news-filter__list {
    gap: 15px;
  }
  .c-news-card__inner {
    flex-direction: column;
    gap: 15px;
  }
}
.p-news-single {
  max-width: 894px;
  margin-inline: auto;
}
.p-news-single__head {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.p-news-single__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 15px;
  align-items: center;
}
.p-news-single__date {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: #333333;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 2;
}
.p-news-single__cal {
  display: block;
  width: 16px;
  height: 16px;
}
.p-news-single__title {
  white-space: normal;
}
.p-news-single__thumb {
  margin-top: 50px;
}
.p-news-single__img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 894/505;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-news-single__body {
  margin-top: 50px;
}
.p-news-single__nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -moz-column-gap: 25px;
       column-gap: 25px;
  align-items: center;
  margin-top: 100px;
}
.p-news-single__adj {
  display: inline-flex;
  gap: 15px;
  align-items: center;
  color: #333333;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2;
  text-decoration: none;
}
.p-news-single__adj img {
  display: block;
  width: 14px;
  height: 14px;
}
.p-news-single__adj--prev {
  grid-column: 1;
  justify-self: start;
}
.p-news-single__adj--prev img {
  transform: rotate(180deg);
}
.p-news-single__adj--next {
  grid-column: 3;
  justify-self: end;
}
.p-news-single__adj:hover, .p-news-single__adj:focus-visible {
  color: #af0b0e;
}
.p-news-single__back {
  grid-column: 2;
  justify-self: center;
  color: #333333;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
.p-news-single__back:hover, .p-news-single__back:focus-visible {
  color: #af0b0e;
}

@media (max-width: 767px) {
  .p-news-single__img {
    aspect-ratio: 16/9;
  }
  .p-news-single__nav {
    display: flex;
    flex-direction: column;
    gap: 25px;
    align-items: center;
  }
  .p-news-single__adj--prev, .p-news-single__adj--next, .p-news-single__back {
    justify-self: center;
  }
}
.c-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: center;
  justify-content: center;
  margin-top: 70px;
}
.c-pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  border-radius: 10px;
  background-color: #f3f4f6;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -0.02em;
  text-decoration: none;
}
.c-pager .page-numbers.current {
  background-color: #af0b0e;
  color: #ffffff;
}
.c-pager .page-numbers.dots {
  min-width: 0;
  padding: 0;
  background-color: transparent;
}
.c-pager .page-numbers.prev, .c-pager .page-numbers.next {
  min-width: 0;
  height: auto;
  padding: 0;
  background-color: transparent;
  color: #af0b0e;
}
.c-pager .page-numbers:not(.current):not(.dots):not(.prev):not(.next):hover, .c-pager .page-numbers:not(.current):not(.dots):not(.prev):not(.next):focus-visible {
  background-color: #e5e7eb;
}
.c-pager .page-numbers.prev:hover, .c-pager .page-numbers.prev:focus-visible, .c-pager .page-numbers.next:hover, .c-pager .page-numbers.next:focus-visible {
  opacity: 0.7;
}

@media (max-width: 767px) {
  .c-pager {
    gap: 16px;
  }
}
.c-breadcrumb {
  background-color: #f9fafb;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  max-width: 1200px;
  margin-inline: auto;
  padding: 12px 16px;
  list-style: none;
}
.c-breadcrumb__item {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  color: #333333;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.01em;
}
.c-breadcrumb__item:not(:last-child)::after {
  content: "/";
}
.c-breadcrumb__link {
  color: inherit;
  text-decoration: none;
}
.c-breadcrumb__link:hover, .c-breadcrumb__link:focus-visible {
  text-decoration: underline;
}
.c-breadcrumb__current {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c-page-fv {
  --page-fv-height: 130px;
  --page-fv-mark-w: 249;
  --page-fv-mark-h: 151;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: var(--page-fv-height);
  background-color: #ffffff;
}
.c-page-fv__bg {
  position: absolute;
  inset: 0;
  opacity: 0.7;
}
.c-page-fv__bg picture,
.c-page-fv__bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.c-page-fv__photo {
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 42%;
     object-position: center 42%;
  opacity: 0.5;
}
.c-page-fv__marks {
  position: absolute;
  inset: 0;
  pointer-events: none;
  mix-blend-mode: multiply;
}
.c-page-fv__mark {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: calc(var(--page-fv-mark-w) / var(--page-fv-mark-h) * var(--page-fv-height));
  height: 100%;
}
.c-page-fv__mark img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}
.c-page-fv__mark--2 {
  left: calc(125 / var(--page-fv-mark-h) * var(--page-fv-height));
}

@media (max-width: 767px) {
  .c-page-fv__mark--2 {
    left: calc(64 / var(--page-fv-mark-h) * var(--page-fv-height));
  }
}
.l-main--home {
  max-width: none;
  padding: 0;
}

.p-fv {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  min-height: 640px;
  max-height: 1080px;
  color: #ffffff;
  background-color: #0b1a28;
}
.p-fv__bg {
  position: absolute;
  inset: 0;
}
.p-fv__bg picture,
.p-fv__bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-fv__bg img {
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
.p-fv__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  max-width: 1200px;
  width: calc(100% - 50px);
  height: 100%;
  margin-inline: auto;
  padding: 178px 0 80px;
}
.p-fv__title {
  display: flex;
  flex-direction: column;
  gap: 0.28em;
  margin: 0;
  color: #ffffff;
  font-size: clamp(3.4rem, 5.2vw, 7.1rem);
  font-weight: 900;
  line-height: 1.056;
  letter-spacing: 0.0037em;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}
.p-fv__lead {
  max-width: 481px;
  margin: 33px 0 0;
  color: #ffffff;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 33px;
  letter-spacing: 0;
  text-shadow: 0 0 8px rgba(0, 0, 0, 0.35);
}
.p-fv__scroll {
  position: absolute;
  right: 0;
  bottom: 28px;
  left: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  pointer-events: none;
}
.p-fv__scroll-text {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.22em;
}
.p-fv__scroll-track {
  position: relative;
  overflow: hidden;
  width: 1px;
  height: 25px;
}
.p-fv__scroll-bar {
  position: absolute;
  top: -12px;
  left: 0;
  width: 1px;
  height: 12px;
  background-color: #ffffff;
  animation: p-fv-scroll 1.8s ease-in-out infinite;
}

@keyframes p-fv-scroll {
  0% {
    top: -12px;
    opacity: 0;
  }
  18% {
    opacity: 1;
  }
  82% {
    opacity: 1;
  }
  100% {
    top: 25px;
    opacity: 0;
  }
}
@media (max-width: 1023px) {
  .p-fv {
    min-height: 600px;
    max-height: 900px;
  }
  .p-fv__inner {
    width: 100%;
    max-width: none;
    justify-content: flex-start;
    padding: 90px 15px 96px;
  }
}
@media (max-width: 767px) {
  .p-fv {
    min-height: 560px;
    max-height: none;
  }
  .p-fv__inner {
    width: 100%;
    max-width: none;
    justify-content: flex-start;
    padding: 105px 24px 32px;
  }
  .p-fv__title {
    gap: 0;
    font-size: 3.8rem;
    line-height: 46px;
    letter-spacing: 0.26px;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.38);
  }
  .p-fv__lead {
    max-width: none;
    margin-top: 16px;
    overflow-wrap: anywhere;
    color: #fef2f2;
    font-size: 1.3rem;
    line-height: 22px;
    letter-spacing: 0;
    text-shadow: none;
  }
  .p-fv__br {
    display: none;
  }
  .p-fv__bg img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
  }
  .p-fv__scroll {
    bottom: 32px;
    gap: 8px;
  }
  .p-fv__scroll-text {
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 4px;
    text-transform: uppercase;
  }
  .p-fv__scroll-track {
    height: 32px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-fv__scroll-bar {
    top: 6px;
    animation: none;
    opacity: 1;
  }
}
.p-business {
  padding: 120px 25px;
  background-image: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}
.p-business__inner {
  max-width: 940px;
  margin-inline: auto;
}
.p-business__head {
  display: flex;
  gap: 40px;
  align-items: flex-end;
  margin-bottom: 70px;
}
.p-business__lead {
  margin: 0;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: left;
}
.p-business__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
}

.p-works-home {
  padding: 120px 25px;
  background-color: #ffffff;
}
.p-works-home__inner {
  max-width: 1160px;
  margin-inline: auto;
}
.p-works-home__head {
  display: flex;
  gap: 40px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 70px;
}
.p-works-home__intro {
  display: flex;
  gap: 40px;
  align-items: flex-end;
  min-width: 0;
}
.p-works-home__lead {
  margin: 0;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-works-home__more {
  flex-shrink: 0;
}
.p-works-home__slider {
  position: relative;
  padding-inline: 15px;
}
.p-works-home__swiper {
  overflow: hidden;
}
.p-works-home__swiper .swiper-slide {
  height: auto;
}
.p-works-home__swiper .c-card {
  width: 100%;
}
.p-works-home__nav {
  position: absolute;
  top: 112px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  transform: translateY(-50%);
  border: 0;
  border-radius: 3px;
  background-color: #af0b0e;
  color: #ffffff;
  cursor: pointer;
}
.p-works-home__nav .c-btn__icon {
  width: 16px;
  height: 16px;
  color: inherit;
}
.p-works-home__nav--prev {
  left: 0;
}
.p-works-home__nav--prev .c-btn__icon {
  transform: rotate(180deg);
}
.p-works-home__nav--next {
  right: 0;
}
.p-works-home__nav.swiper-button-disabled {
  opacity: 0.3;
  cursor: default;
}
.p-works-home__nav:not(.swiper-button-disabled):hover, .p-works-home__nav:not(.swiper-button-disabled):focus-visible {
  background-color: #fb2c36;
}

.p-news-home {
  padding: 120px 25px;
  background-color: #ffffff;
}
.p-news-home__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  max-width: 740px;
  margin-inline: auto;
}
.p-news-home__title {
  margin: 0;
  width: 100%;
  color: #333333;
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  text-align: left;
}
.p-news-home__list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}

.p-works-home + .p-news-home {
  padding-top: 0;
}

.p-home-company {
  padding: 121px 25px 132px;
  background-image: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}
.p-home-company__banner {
  position: relative;
  display: flex;
  gap: 40px 111px;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  max-width: 930px;
  min-height: 260px;
  margin-inline: auto;
  padding: 55px 99px;
  border-radius: 15px;
  background-color: #af0b0e;
}
.p-home-company__media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.p-home-company__media picture,
.p-home-company__media img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-home-company__photo {
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 42%;
     object-position: center 42%;
  opacity: 0.4;
}
.p-home-company__tint {
  position: absolute;
  inset: 0;
  background-color: #af0b0e;
  mix-blend-mode: multiply;
}
.p-home-company__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 15px;
  max-width: 437px;
  color: #ffffff;
}
.p-home-company__title {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2.8rem, 6vw, 4.8rem);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-home-company__lead {
  margin: 0;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-home-company .c-btn {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

@media (max-width: 1023px) {
  .p-works-home__head {
    flex-wrap: wrap;
  }
  .p-works-home__intro {
    flex-wrap: wrap;
    gap: 15px 40px;
  }
  .p-works-home__nav {
    top: calc((100vw - 50px - 30px - 25px) / 2 * 225 / 360 / 2);
  }
}
@media (max-width: 767px) {
  .p-business {
    padding: 70px 15px;
    background-image: linear-gradient(180deg, #ffffff 0%, #eff6ff 30%, #eff6ff 100%);
  }
  .p-business__head {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
    margin-bottom: 50px;
  }
  .p-business__list {
    grid-template-columns: 1fr;
    gap: 50px;
  }
  .p-home-company {
    padding: 50px 15px 70px;
  }
  .p-home-company__banner {
    flex-direction: column;
    gap: 25px;
    align-items: flex-start;
    min-height: 0;
    padding: 25px 15px;
  }
  .p-home-company__body {
    max-width: none;
  }
  .p-home-company .c-btn {
    align-self: center;
  }
  .p-works-home {
    padding: 70px 15px;
  }
  .p-works-home__head {
    flex-direction: column;
    gap: 25px;
    align-items: flex-start;
    margin-bottom: 50px;
  }
  .p-works-home__intro {
    flex-direction: column;
    gap: 15px;
    align-items: flex-start;
  }
  .p-works-home__lead {
    font-size: 1.6rem;
  }
  .p-works-home__slider {
    padding-inline: 0;
  }
  .p-works-home__nav {
    top: calc((100vw - 30px) * 225 / 360 / 2);
  }
  .p-news-home {
    padding: 70px 15px;
  }
}
.p-styleguide__note {
  margin-bottom: 25px;
  color: #6a7282;
  font-size: 1.3rem;
  line-height: 1.6;
}
.p-styleguide__toc {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 25px;
  margin-bottom: 50px;
  font-size: 1.4rem;
  font-weight: 700;
}
.p-styleguide__toc a {
  color: #af0b0e;
}
.p-styleguide__block {
  padding-bottom: 70px;
}
.p-styleguide__block + .p-styleguide__block {
  border-top: 1px solid #d1d5dc;
  padding-top: 50px;
}
.p-styleguide__label {
  margin-bottom: 25px;
  color: #6a7282;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.p-styleguide__stack {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: flex-start;
}
.p-styleguide__stack--narrow {
  max-width: 400px;
  margin-top: 25px;
}
.p-styleguide__row {
  display: flex;
  flex-wrap: wrap;
  gap: 15px 25px;
  align-items: center;
}
.p-styleguide__panel {
  max-width: 400px;
  margin-top: 25px;
  padding: 25px;
  border-radius: 10px;
  background-color: #164a3a;
}
.p-styleguide__swatches {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 15px;
}
.p-styleguide__swatch {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 1.3rem;
  line-height: 1.4;
  letter-spacing: 0;
}
.p-styleguide__chip {
  display: block;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border: 1px solid #d1d5dc;
  border-radius: 6px;
}
.p-styleguide__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 25px;
  margin-bottom: 50px;
  align-items: start;
}
.p-styleguide__news {
  max-width: 740px;
}

.p-works {
  display: flex;
  flex-direction: column;
  gap: 70px;
  max-width: 894px;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .p-works {
    gap: 50px;
  }
}
.p-works__title {
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
}

.p-works-gallery__main {
  overflow: hidden;
  border-radius: 14px;
  background-color: #d9d9d9;
}
.p-works-gallery__main .swiper-slide {
  width: 100%;
  height: auto;
  aspect-ratio: 893/555;
}
.p-works-gallery__main picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-works-gallery__main--empty {
  aspect-ratio: 893/555;
}
.p-works-gallery__img, .p-works-gallery__thumb-img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-works-gallery__noimage {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #d9d9d9;
}
.p-works-gallery__noimage-icon {
  display: block;
  width: 80px;
  max-width: 40%;
  height: auto;
}
.p-works-gallery__thumbs {
  margin-top: 25px;
}
.p-works-gallery__thumbs .swiper-slide {
  overflow: hidden;
  aspect-ratio: 291/180;
  border-radius: 14px;
  cursor: pointer;
  opacity: 0.55;
}
.p-works-gallery__thumbs picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-works-gallery__thumbs .swiper-slide-thumb-active {
  opacity: 1;
}

.p-works-spec {
  display: flex;
  flex-direction: column;
  gap: 25px;
  margin: 0;
}
.p-works-spec__row {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: 15px 50px;
  align-items: center;
  padding-bottom: 15px;
  border-bottom: 1px solid #e5e7eb;
}
@media (max-width: 767px) {
  .p-works-spec__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
}
.p-works-spec__label, .p-works-spec__value {
  margin: 0;
}
.p-works-spec__label {
  color: #af0b0e;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 767px) {
  .p-works-spec__label {
    text-align: left;
  }
}
.p-works-spec__value {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.p-works-feature {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.p-works-feature__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 271px;
  gap: 25px;
  align-items: start;
}
@media (max-width: 767px) {
  .p-works-feature__body {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-works-feature__body--text, .p-works-feature__body--media {
  grid-template-columns: minmax(0, 1fr);
}
.p-works-feature__text {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-works-feature__media {
  overflow: hidden;
  width: 271px;
  max-width: 100%;
  margin: 0;
  aspect-ratio: 271/309;
  border-radius: 14px;
  background-color: #d9d9d9;
}
.p-works-feature__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-works-ba {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
}
@media (max-width: 767px) {
  .p-works-ba {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-works-ba__item {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin: 0;
}
.p-works-ba__label {
  color: #af0b0e;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-works-ba__media {
  overflow: hidden;
  aspect-ratio: 893/555;
  border-radius: 14px;
  background-color: #d9d9d9;
}
.p-works-ba__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-works-blocks {
  display: flex;
  flex-direction: column;
  gap: 70px;
}
@media (max-width: 767px) {
  .p-works-blocks {
    gap: 50px;
  }
}

.p-works-process {
  display: flex;
  flex-direction: column;
  gap: 25px;
}
.p-works-process__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px 10px;
}
@media (max-width: 767px) {
  .p-works-process__list {
    grid-template-columns: minmax(0, 1fr);
  }
}
.p-works-process__item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0;
}
.p-works-process__media {
  overflow: hidden;
  aspect-ratio: 291/180;
  border-radius: 14px;
  background-color: #d9d9d9;
}
.p-works-process__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-works-process__caption {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.p-works-process__title {
  color: #333333;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-works-process__text {
  color: #333333;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}

.p-works-extra {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 10px;
}
.p-works-extra__item {
  overflow: hidden;
  margin: 0;
  aspect-ratio: 291/180;
  border-radius: 14px;
  background-color: #d9d9d9;
}
.p-works-extra__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-works-archive {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  margin-top: 100px;
}
.p-works-archive__head {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}
.p-works-archive__heading {
  justify-content: center;
}
.p-works-archive__lead {
  max-width: 816px;
  margin: 0;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-works-archive__lead span {
  display: inline-block;
}
.p-works-archive__empty {
  margin-top: 100px;
}

.p-works-card {
  display: flex;
  flex-direction: column;
  gap: 50px;
  height: 100%;
  min-width: 0;
}
.p-works-card .c-card__media {
  width: 100%;
  aspect-ratio: 507/315;
  transition: opacity 0.2s ease;
}
.p-works-card__media {
  display: block;
}
.p-works-card__media:hover .c-card__media, .p-works-card__media:focus-visible .c-card__media {
  opacity: 0.85;
}
.p-works-card__main {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  gap: 25px;
  min-width: 0;
}
.p-works-card__body {
  display: flex;
  flex-direction: column;
  gap: 15px;
  min-width: 0;
}
.p-works-card__title {
  align-items: flex-start;
  margin: 0;
}
.p-works-card__title::before {
  margin-top: 13px;
}
.p-works-card__title a {
  min-width: 0;
}
.p-works-card__title a:hover, .p-works-card__title a:focus-visible {
  color: #af0b0e;
}
.p-works-card__client {
  margin: 0;
  color: #949494;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
}
.p-works-card__summary {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 2;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.p-works-card__btn {
  align-self: flex-end;
  margin-top: auto;
}

@media (max-width: 767px) {
  .p-works-archive {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 50px;
  }
  .p-works-archive__head {
    gap: 25px;
  }
  .p-works-archive__lead {
    font-size: 1.6rem;
  }
  .p-works-archive__lead br {
    display: none;
  }
  .p-works-card {
    gap: 25px;
  }
  .p-works-card__main {
    gap: 15px;
  }
}
.p-company {
  background-color: #ffffff;
  background-image: none;
}
.p-company .l-main {
  max-width: 896px;
}
@media (min-width: 927px) {
  .p-company .l-main {
    padding-inline: 0;
  }
}
.p-company__head {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}
.p-company__heading {
  justify-content: center;
}
.p-company__lead {
  max-width: 816px;
  margin: 0;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-company__lead span {
  display: inline-block;
}
.p-company__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  align-items: center;
  justify-content: center;
  margin-top: 100px;
}
.p-company__body {
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.p-company-section {
  display: flex;
  flex-direction: column;
  gap: 25px;
  scroll-margin-top: 120px;
}

.p-company-motto {
  padding: 70px 15px;
  background-color: #af0b0e;
  color: #ffffff;
}
.p-company-motto__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  max-width: 896px;
  margin-inline: auto;
  text-align: center;
}
.p-company-motto__heading {
  color: #ffffff;
  letter-spacing: 0.05em;
}
.p-company-motto__heading .c-heading-01__mark {
  filter: brightness(0) invert(1);
}
.p-company-motto__phrase {
  margin: 0;
  font-size: clamp(2.4rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-company-motto__phrase span + span::before {
  content: "　";
}
.p-company-motto__text {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

.p-company-greeting {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-company-greeting__body p {
  margin: 0;
}
.p-company-greeting__sign {
  margin: 0;
  text-align: right;
  white-space: pre-wrap;
}

.p-company-profile {
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background-color: #ffffff;
}
.p-company-profile__row {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 15px 25px;
  border-bottom: 1px solid #e5e7eb;
}
.p-company-profile__row:last-child {
  border-bottom: 0;
}
.p-company-profile__label, .p-company-profile__value {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-company-profile__label {
  min-width: 150px;
  white-space: nowrap;
}

.p-company-offices {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.p-company-hours {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  justify-content: center;
  min-height: 130px;
  padding: 32px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background-image: linear-gradient(172deg, #f9fafb 0%, #ffffff 100%);
  text-align: center;
}
.p-company-hours__main, .p-company-hours__sub {
  margin: 0;
  color: #333333;
}
.p-company-hours__main {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.p-company-hours__sub {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: -0.02em;
}

@media (max-width: 767px) {
  .p-company__head {
    gap: 25px;
  }
  .p-company__lead {
    font-size: 1.6rem;
  }
  .p-company__lead br {
    display: none;
  }
  .p-company__nav {
    gap: 15px;
    margin-top: 50px;
  }
  .p-company__body {
    gap: 70px;
  }
  .p-company-section {
    scroll-margin-top: 80px;
  }
  .p-company-motto {
    padding: 50px 15px;
  }
  .p-company-motto__inner {
    gap: 25px;
  }
  .p-company-motto__phrase {
    font-size: 2.4rem;
  }
  .p-company-motto__phrase span {
    display: block;
  }
  .p-company-motto__phrase span + span::before {
    content: none;
  }
  .p-company-greeting__sign {
    text-align: right;
  }
  .p-company-profile__row {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    align-items: start;
    padding: 12px 15px;
  }
  .p-company-hours {
    min-height: 0;
    padding: 25px 15px;
  }
}
.p-pest-fv {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 487px;
  background-color: #c5d4c0;
}
.p-pest-fv__bg {
  position: absolute;
  inset: 0;
}
.p-pest-fv__bg picture,
.p-pest-fv__bg img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-pest-fv__photo {
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 45%;
     object-position: center 45%;
}
.p-pest-fv__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 17px;
  max-width: 1200px;
  height: 100%;
  margin-inline: auto;
  padding: 37px 15px 0;
}
@media (min-width: 1230px) {
  .p-pest-fv__inner {
    padding-inline: 0;
  }
}
.p-pest-fv__logo {
  flex-shrink: 0;
  width: 315px;
  max-width: 100%;
  overflow: hidden;
  aspect-ratio: 315/110;
}
.p-pest-fv__logo picture,
.p-pest-fv__logo img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  -o-object-fit: fill;
     object-fit: fill;
  -o-object-position: left center;
     object-position: left center;
}
.p-pest-fv__copy {
  display: flex;
  flex-direction: column;
  gap: 17px;
  align-items: flex-start;
  min-width: 0;
}
.p-pest-fv__line {
  margin: 0;
  padding: 20px 25px;
  background-color: rgba(255, 255, 255, 0.9);
}
.p-pest-fv__text {
  display: inline-block;
  background-image: linear-gradient(180deg, #4b8e2a 0%, #164a3a 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
  font-weight: 700;
  letter-spacing: 6px;
  line-height: 1;
  white-space: nowrap;
  -webkit-text-fill-color: transparent;
}
.p-pest-fv__em, .p-pest-fv__sm {
  display: inline-block;
}
.p-pest-fv__em {
  font-size: 4rem;
}
.p-pest-fv__sm {
  font-size: 3rem;
}
.p-pest-fv__sm--end {
  font-size: 3.2rem;
}
.p-pest-fv__sm--tight {
  letter-spacing: -0.15em;
}

.p-pest__body {
  display: flex;
  flex-direction: column;
  gap: 70px;
  align-items: center;
}
.p-pest__intro {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  width: 100%;
}
.p-pest__heading {
  margin: 0;
  justify-content: center;
}
.p-pest__heading .c-heading-02__icon {
  background: linear-gradient(180deg, #4b8e2a 0%, #164a3a 100%);
}
.p-pest__lead {
  display: flex;
  flex-direction: column;
  gap: 25px;
  max-width: 816px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-pest__lead p {
  margin: 0;
}
.p-pest__lead span {
  display: inline-block;
}

.p-pest-worries {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  width: 100%;
}
.p-pest-worries__head {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  width: 100%;
}
.p-pest-worries__badge {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 8px 16px;
  border-radius: 999px;
  background-color: rgba(22, 74, 58, 0.2);
  color: #164a3a;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-pest-worries__badge-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.p-pest-worries__title {
  margin: 0;
  text-align: center;
}
.p-pest-worries__lead {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-pest-worries__cards {
  display: flex;
  flex-wrap: wrap;
  gap: 70px;
  justify-content: center;
  width: 100%;
}
.p-pest-worries__cards .c-card--pest {
  width: 362px;
  max-width: 100%;
}
.p-pest-worries__note {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-pest-worries__note span {
  display: inline-block;
}

.p-pest-methods {
  padding: 70px 15px;
  background-image: linear-gradient(180deg, #f3f8f3 0%, rgba(221, 235, 221, 0.86) 100%);
}
.p-pest-methods__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  max-width: 1200px;
  margin-inline: auto;
}
.p-pest-methods__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: 100%;
}
.p-pest-methods__title {
  margin: 0;
  text-align: center;
}
.p-pest-methods__lead {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-pest-methods__list {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  width: 100%;
  max-width: 1108px;
}
.p-pest-methods__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
.p-pest-methods__row--2 {
  gap: 70px;
}
.p-pest-methods__row--3 {
  gap: 50px;
}
.p-pest-methods__item {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  width: 336px;
  max-width: 100%;
  margin: 0;
}
.p-pest-methods__media {
  aspect-ratio: 336/209;
  width: 100%;
  overflow: hidden;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}
.p-pest-methods__media picture,
.p-pest-methods__media img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-pest-methods__img {
  -o-object-fit: contain;
     object-fit: contain;
}
.p-pest-methods__media--cover .p-pest-methods__img {
  -o-object-fit: cover;
     object-fit: cover;
}
.p-pest-methods__label {
  justify-content: center;
  margin: 0;
  text-align: center;
}

.p-pest-cases {
  padding: 70px 15px;
  background-color: #ffffff;
}
.p-pest-cases__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  max-width: 1200px;
  margin-inline: auto;
}
.p-pest-cases__head {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: 100%;
}
.p-pest-cases__title {
  margin: 0;
  text-align: center;
}
.p-pest-cases__lead {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-pest-cases__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 336px));
  -moz-column-gap: 50px;
       column-gap: 50px;
  row-gap: 25px;
  justify-content: center;
  width: 100%;
}
.p-pest-cases__list .c-card--case {
  width: 100%;
}
.p-pest-cases__note {
  margin: 0;
  color: #af0b0e;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-pest-reasons {
  padding: 70px 15px;
  background-image: linear-gradient(180deg, #f3f8f3 0%, rgba(221, 235, 221, 0.86) 100%);
}
.p-pest-reasons__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  max-width: 1200px;
  margin-inline: auto;
}
.p-pest-reasons__head {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  width: 100%;
}
.p-pest-reasons__title {
  margin: 0;
  text-align: center;
}
.p-pest-reasons__lead {
  max-width: 800px;
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-pest-reasons__list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  justify-content: center;
  width: 100%;
}
.p-pest-reasons__list .c-card--step {
  width: 270px;
  max-width: 100%;
}
.p-pest-reasons__list .c-card--step .c-card__heading {
  white-space: nowrap;
}

.p-pest-gallery {
  padding: 100px 15px;
  background-color: #ffffff;
}
.p-pest-gallery__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  max-width: 1200px;
  margin-inline: auto;
}
.p-pest-gallery__media {
  width: 100%;
  max-width: 1076px;
  margin: 0;
}
.p-pest-gallery__media picture,
.p-pest-gallery__media img {
  display: block;
  width: 100%;
  height: auto;
}
.p-pest-gallery__img {
  max-width: none;
}
.p-pest-gallery__title {
  margin: 0;
  text-align: center;
}

.p-pest-office {
  padding: 70px 15px;
  background-image: linear-gradient(180deg, #f3f8f3 0%, rgba(221, 235, 221, 0.86) 100%);
}
.p-pest-office__inner {
  max-width: 896px;
  margin-inline: auto;
}

@media (max-width: 767px) {
  .p-pest-fv {
    height: auto;
    min-height: 260px;
  }
  .p-pest-fv__inner {
    gap: 12px;
    padding-top: 20px;
    padding-bottom: 24px;
  }
  .p-pest-fv__logo {
    width: min(240px, 70vw);
  }
  .p-pest-fv__copy {
    gap: 10px;
    width: 100%;
  }
  .p-pest-fv__line {
    max-width: 100%;
    padding: 12px 14px;
  }
  .p-pest-fv__text {
    max-width: 100%;
    letter-spacing: 0.06em;
    white-space: normal;
  }
  .p-pest-fv__em {
    font-size: clamp(1.8rem, 5.2vw, 2.4rem);
  }
  .p-pest-fv__sm {
    font-size: clamp(1.4rem, 4vw, 1.8rem);
  }
  .p-pest-fv__sm--end {
    font-size: clamp(1.5rem, 4.4vw, 2rem);
  }
  .p-pest__body {
    gap: 50px;
  }
  .p-pest__intro {
    gap: 25px;
  }
  .p-pest__lead br {
    display: none;
  }
  .p-pest-worries {
    gap: 25px;
  }
  .p-pest-worries__cards {
    gap: 25px;
  }
  .p-pest-worries__note br {
    display: none;
  }
  .p-pest-methods {
    padding: 50px 15px;
  }
  .p-pest-methods__list {
    gap: 25px;
  }
  .p-pest-methods__row--2, .p-pest-methods__row--3 {
    gap: 25px;
  }
  .p-pest-cases {
    padding: 50px 15px;
  }
  .p-pest-cases__list {
    grid-template-columns: minmax(0, 336px);
    gap: 25px;
  }
  .p-pest-reasons {
    padding: 50px 15px;
  }
  .p-pest-reasons__head {
    gap: 15px;
  }
  .p-pest-gallery {
    padding: 50px 15px;
  }
  .p-pest-gallery__inner {
    gap: 25px;
  }
  .p-pest-office {
    padding: 50px 15px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(.p-sales) {
    scroll-behavior: smooth;
  }
}
.p-sales {
  background-color: #ffffff;
}

.p-sales__intro {
  display: flex;
  flex-direction: column;
  gap: 100px;
}

.p-sales__head {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}

.p-sales__heading {
  justify-content: center;
}

.p-sales__intro-body {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  width: 100%;
}

.p-sales__lead {
  max-width: 816px;
  margin: 0;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-sales__lead span {
  display: inline-block;
}

.p-sales__intro-photo {
  width: 100%;
  max-width: 940px;
  overflow: hidden;
  border-radius: 20px;
}
.p-sales__intro-photo picture,
.p-sales__intro-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.p-sales__intro-img {
  aspect-ratio: 940/391;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-sales-nav {
  background-image: linear-gradient(-29deg, #ffffff 14.6%, #eff6ff 93.5%);
}

.p-sales-nav__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  padding-block: 70px;
}

.p-sales-nav__heading {
  width: 100%;
  text-align: center;
}

.p-sales-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-sales-nav__item {
  margin: 0;
}

.p-sales-genres {
  padding-bottom: 70px;
}

.p-sales-genres__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.p-sales-genres__heading {
  justify-content: center;
  width: 100%;
  padding: 15px 0;
  border-bottom: 1px solid #af0b0e;
}

.p-sales-genres__grid,
.p-sales-catalog__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 50px;
}

.p-sales-genres__item {
  min-width: 0;
  scroll-margin-top: 120px;
}

.p-sales-catalog {
  padding: 70px 0;
  background-image: linear-gradient(180deg, #eff6ff 0%, #eff6ff calc(100% - 70px), #ffffff 100%);
  scroll-margin-top: 120px;
}

.p-sales-catalog__heading {
  width: 100%;
  text-align: center;
}

.p-sales-catalog--card .c-card {
  height: 100%;
}

.p-sales-catalog__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.p-sales-item {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.p-sales-item__title {
  margin: 0;
  font-weight: 400;
}

.p-sales-item__text {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

@media (max-width: 1023px) {
  .p-sales-genres__grid,
  .p-sales-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
  }
}
@media (max-width: 767px) {
  .p-sales__intro {
    gap: 70px;
  }
  .p-sales__lead {
    font-size: 1.6rem;
    text-align: left;
  }
  .p-sales__lead span {
    display: inline;
  }
  .p-sales__intro-photo {
    border-radius: 12px;
  }
  .p-sales__intro-img {
    aspect-ratio: 16/9;
  }
  .p-sales-nav__list {
    gap: 10px 16px;
  }
  .p-sales-nav__item {
    font-size: 1.4rem;
  }
  .p-sales-genres__grid,
  .p-sales-catalog__grid {
    grid-template-columns: 1fr;
  }
  .p-sales-catalog,
  .p-sales-genres__item {
    scroll-margin-top: 80px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(.p-rental) {
    scroll-behavior: smooth;
  }
}
.p-rental {
  background-color: #ffffff;
}

.p-rental__intro {
  display: flex;
  flex-direction: column;
  gap: 50px;
}

.p-rental__head {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}

.p-rental__heading {
  justify-content: center;
}

.p-rental__lead {
  max-width: 816px;
  margin: 0;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-rental__lead span {
  display: inline-block;
}

.p-rental-nav {
  background-image: linear-gradient(to bottom left, #ffffff 3.8%, #eff6ff 91.2%);
}

.p-rental-nav__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  padding-block: 70px;
}

.p-rental-nav__heading {
  width: 100%;
  text-align: center;
}

.p-rental-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 15px;
  justify-content: flex-start;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-rental-genre {
  padding: 70px 0 120px;
  background-image: linear-gradient(to bottom left, #ffffff 3.8%, #eff6ff 91.2%);
  scroll-margin-top: 120px;
}

.p-rental-genre__inner {
  display: flex;
  flex-direction: column;
}

.p-rental-genre__heading + .p-rental-group {
  margin-top: 50px;
}

.p-rental-group + .p-rental-group {
  margin-top: 100px;
}

.p-rental-genre__heading {
  justify-content: center;
  width: 100%;
  padding-bottom: 15px;
  border-bottom: 2px solid #af0b0e;
}

.p-rental-group {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
}

.p-rental-group__heading {
  width: 100%;
  text-align: center;
}

.p-rental-group__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  justify-content: center;
  width: 100%;
}
.p-rental-group__grid .c-card {
  width: 336px;
  max-width: 100%;
}

.p-rental-features {
  padding: 70px 0;
  background-color: #ffffff;
}

.p-rental-features__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}

.p-rental-features__heading {
  width: 100%;
  text-align: center;
}

.p-rental-features__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  width: 100%;
  max-width: 896px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-rental-features__item {
  display: flex;
  gap: 15px;
  align-items: center;
  min-width: 0;
  padding: 24px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}

.p-rental-features__icon {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.p-rental-features__text {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 1023px) {
  .p-rental-group__grid {
    gap: 25px;
  }
}
@media (max-width: 767px) {
  .p-rental__lead {
    font-size: 1.6rem;
    text-align: left;
  }
  .p-rental__lead span {
    display: inline;
  }
  .p-rental-nav__list {
    gap: 10px;
  }
  .p-rental-genre {
    padding: 50px 0 70px;
    scroll-margin-top: 80px;
  }
  .p-rental-group + .p-rental-group {
    margin-top: 50px;
  }
  .p-rental-features__list {
    grid-template-columns: 1fr;
  }
  .p-rental-features__item {
    padding: 16px;
  }
}
@media (prefers-reduced-motion: no-preference) {
  html:has(.p-rentacar) {
    scroll-behavior: smooth;
  }
}
.p-rentacar-fv {
  background-color: #ffffff;
}
.p-rentacar-fv__logo {
  display: flex;
  justify-content: center;
  padding: 15px 0 28px;
}
.p-rentacar-fv__logo picture {
  display: block;
  width: 328px;
  height: 77px;
}
.p-rentacar-fv__logo-img {
  display: block;
  width: 328px;
  height: 77px;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-rentacar-fv__visual {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1366/487;
  background-color: #f9fafb;
}
.p-rentacar-fv__visual picture,
.p-rentacar-fv__visual img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-rentacar-fv__photo {
  max-width: none;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-rentacar-nav {
  padding: 100px 0;
}

.p-rentacar-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  justify-content: center;
  margin: 0;
  padding: 0 15px;
  list-style: none;
}

.p-rentacar-price,
.p-rentacar-calendar,
.p-rentacar-coverage,
.p-rentacar-shops,
.p-rentacar-anchor,
#contact.c-contact-cta {
  scroll-margin-top: 120px;
}

.p-rentacar-price__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  padding-top: 0;
  padding-bottom: 100px;
}

.p-rentacar-price__head {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  width: 100%;
}

.p-rentacar-price__heading {
  justify-content: center;
}

.p-rentacar-price__lead {
  margin: 0;
  text-align: center;
}

.p-rentacar-price__catalog {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
  max-width: 1108px;
}

.p-rentacar-price__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 50px;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-rentacar-price__tax {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: right;
}

.p-rentacar-price__item {
  min-width: 0;
}
.p-rentacar-price__item .c-card {
  height: 100%;
}

.p-rentacar-price__list > :last-child:nth-child(3n+1) {
  grid-column: 2;
}

.p-rentacar-calendar__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  padding-top: 0;
  padding-bottom: 100px;
}

.p-rentacar-calendar__heading {
  width: 100%;
  margin: 0;
  text-align: center;
}

.p-rentacar-calendar__body {
  width: 100%;
}

.p-rentacar-formula {
  background-image: linear-gradient(-72deg, #ffffff 0%, #eff6ff 100%);
}

.p-rentacar-formula__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  padding-top: 50px;
  padding-bottom: 50px;
}

.p-rentacar-formula__head {
  display: flex;
  flex-direction: column;
  gap: 15px;
  align-items: center;
  width: 100%;
}

.p-rentacar-formula__heading {
  margin: 0;
  text-align: center;
}

.p-rentacar-formula__lead {
  margin: 0;
  text-align: center;
}

.p-rentacar-formula__row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.p-rentacar-formula__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
  min-width: 0;
  max-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}
.p-rentacar-formula__steps .c-card--step {
  width: 270px;
  max-width: 100%;
  min-height: 197px;
}

.p-rentacar-formula__eq {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 16px;
}

.p-rentacar-formula__eq-img {
  display: block;
  width: 36px;
  height: 16px;
}

.p-rentacar-formula__total .c-card--step {
  width: 270px;
  max-width: 100%;
  min-height: 134px;
}

.p-rentacar-formula .c-card--step .c-card__heading {
  line-height: 1.2;
}
.p-rentacar-formula .c-card--step .c-card__text {
  font-size: 1.4rem;
  line-height: 2;
  text-align: center;
}

.p-rentacar-coverage__inner {
  display: flex;
  flex-direction: column;
  gap: 100px;
  align-items: center;
  padding-top: 200px;
  padding-bottom: 100px;
}

.p-rentacar-coverage__heading {
  justify-content: center;
}

.p-rentacar-coverage__body {
  display: flex;
  flex-direction: column;
  gap: 70px;
  width: 100%;
  max-width: 895px;
}

.p-rentacar-coverage__block {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  width: 100%;
}

.p-rentacar-coverage__title {
  margin: 0;
  text-align: center;
}

.p-rentacar-coverage__table-wrap {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
}

.p-rentacar-coverage__scroll {
  width: 100%;
  overflow-x: auto;
}

.p-rentacar-coverage__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.p-rentacar-coverage__table th,
.p-rentacar-coverage__table td {
  border: 1px solid #e5e7eb;
  padding: 10px 15px;
  color: #333333;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
  vertical-align: middle;
}
.p-rentacar-coverage__table th {
  background-color: #e5e7eb;
  font-weight: 700;
  text-align: center;
}
.p-rentacar-coverage__table td {
  background-color: #ffffff;
}

.p-rentacar-coverage__table--plan th {
  width: 29.2%;
}
.p-rentacar-coverage__table--plan td:nth-child(2) {
  width: 22.2%;
}

.p-rentacar-coverage__table--waiver th {
  width: 22.5%;
}
.p-rentacar-coverage__table--waiver td:last-child {
  width: 23.3%;
}

.p-rentacar-coverage__note {
  margin: 0;
}

.p-rentacar-accident {
  background-image: linear-gradient(-72deg, #ffffff 0%, #eff6ff 100%);
}

.p-rentacar-accident__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  padding-top: 50px;
  padding-right: 0;
  padding-bottom: 70px;
  padding-left: 0;
}

.p-rentacar-accident__heading {
  margin: 0;
  text-align: center;
}

.p-rentacar-accident__lead,
.p-rentacar-accident__mid,
.p-rentacar-accident__mid-side,
.p-rentacar-accident__arrows {
  display: contents;
}

.p-rentacar-accident__flow {
  display: grid;
  grid-template-columns: 202fr 61px 226fr 61px 226fr 61px 324fr;
  grid-template-rows: auto auto;
  grid-template-areas: "acc arr1 aid arr2 pol arr3 contact" "brk arr4 note note note arr5 contact";
  -moz-column-gap: 6px;
       column-gap: 6px;
  row-gap: 25px;
  align-items: stretch;
  width: 100%;
  max-width: 1199px;
}

.p-rentacar-accident__step {
  display: flex;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 15px 20px 15px 15px;
  background-color: #ffffff;
  border-radius: 14px;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}

.p-rentacar-accident__step--acc {
  grid-area: acc;
  gap: 5px;
}

.p-rentacar-accident__step--brk {
  grid-area: brk;
  gap: 5px;
  align-self: end;
}

.p-rentacar-accident__step--aid {
  grid-area: aid;
}

.p-rentacar-accident__step--pol {
  grid-area: pol;
}

.p-rentacar-accident__step--note {
  grid-area: note;
  justify-content: center;
  padding: 15px 15px 15px 20px;
}

.p-rentacar-accident__illust {
  flex-shrink: 0;
  width: 68px;
  height: 68px;
}
.p-rentacar-accident__illust picture {
  display: block;
  width: 68px;
  height: 68px;
}

.p-rentacar-accident__illust--person {
  width: 88px;
  height: 88px;
}
.p-rentacar-accident__illust--person picture {
  width: 88px;
  height: 88px;
}

.p-rentacar-accident__img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-rentacar-accident__label {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-rentacar-accident__step:not(.p-rentacar-accident__step--note) .p-rentacar-accident__label {
  white-space: nowrap;
}

.p-rentacar-accident__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 61px;
  height: 53px;
}

.p-rentacar-accident__arrow--1 {
  grid-area: arr1;
}

.p-rentacar-accident__arrow--2 {
  grid-area: arr2;
}

.p-rentacar-accident__arrow--3 {
  grid-area: arr3;
}

.p-rentacar-accident__arrow--4 {
  grid-area: arr4;
  align-self: end;
  margin-bottom: 22px;
}

.p-rentacar-accident__arrow--5 {
  grid-area: arr5;
}

.p-rentacar-accident__arrow-img {
  display: block;
  width: 61px;
  height: 53px;
}

.p-rentacar-accident__contact {
  display: flex;
  grid-area: contact;
  flex-direction: column;
  gap: 25px;
  min-width: 0;
  padding: 25px;
  background-color: #ffffff;
  border-radius: 14px;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}

.p-rentacar-accident__office {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
}

.p-rentacar-accident__name {
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.p-rentacar-accident__sub {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}

.p-rentacar-accident__tel {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.p-rentacar-accident__tel a {
  color: #af0b0e;
  font-weight: 700;
  text-decoration: none;
}

.p-rentacar-accident__tel-icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.p-rentacar-accident__hours {
  margin: 0;
  width: 100%;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-rentacar-noc__inner {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 100px;
}

.p-rentacar-noc__heading {
  margin: 0;
  text-align: center;
}

.p-rentacar-noc__body {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
  max-width: 895px;
}

.p-rentacar-noc__block {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}

.p-rentacar-noc__title {
  display: grid;
  grid-template-columns: 6px minmax(0, 1fr);
  -moz-column-gap: 15px;
       column-gap: 15px;
  align-items: center;
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-rentacar-noc__title::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #333333;
}

.p-rentacar-noc__text {
  margin: 0;
}

.p-rentacar-noc__cases {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}

.p-rentacar-noc__case {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}

.p-rentacar-noc__sub {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding-left: 25px;
  list-style: none;
}
.p-rentacar-noc__sub li::before {
  content: "・";
}

.p-rentacar-shops__inner {
  display: flex;
  flex-direction: column;
  gap: 70px;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 100px;
}

.p-rentacar-shops__heading {
  justify-content: center;
}

.p-rentacar-shops__photos {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 100%;
}

.p-rentacar-shops__photo {
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  aspect-ratio: 578/293;
}
.p-rentacar-shops__photo picture,
.p-rentacar-shops__photo img {
  display: block;
  width: 100%;
  height: 100%;
}
.p-rentacar-shops__photo img {
  -o-object-fit: cover;
     object-fit: cover;
}

.p-rentacar-shops__list {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  width: 100%;
}

.p-rentacar-shops__shop {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 50px;
  width: 100%;
}

.p-rentacar-shops__card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 0 0 436px;
  width: 436px;
  max-width: 100%;
  padding: 32px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}

.p-rentacar-shops__name {
  margin: 0;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.p-rentacar-shops__sub {
  font-size: 1.6rem;
}

.p-rentacar-shops__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.p-rentacar-shops__item {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.p-rentacar-shops__item a {
  color: inherit;
  text-decoration: none;
}

.p-rentacar-shops__icon {
  display: block;
  flex-shrink: 0;
  width: 20px;
  height: 20px;
}

.p-rentacar-shops__map {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  height: 307px;
  overflow: hidden;
  background-color: #f9fafb;
}

.p-rentacar-shops__map-frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-rentacar-shops__area {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: center;
  width: 100%;
  max-width: 686px;
  padding: 32px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}

.p-rentacar-shops__area-title {
  margin: 0;
  color: #333333;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-rentacar-shops__area-text {
  margin: 0;
  color: #364153;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}

.p-rentacar-features {
  padding: 70px 0;
  background-image: linear-gradient(165deg, #eff6ff 0%, #f9fafb 100%);
}

.p-rentacar-features__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
}

.p-rentacar-features__heading {
  margin: 0;
  text-align: center;
}

.p-rentacar-features__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 25px;
  width: 100%;
  max-width: 896px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-rentacar-features__item {
  display: flex;
  gap: 16px;
  align-items: center;
  min-width: 0;
  min-height: 74px;
  padding: 25px 24px;
  border-radius: 14px;
  background-color: #ffffff;
  box-shadow: 0 1px 2px -1px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);
}

.p-rentacar-features__icon {
  display: block;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
}

.p-rentacar-features__text {
  margin: 0;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media (max-width: 1023px) {
  .p-rentacar-price__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 25px;
  }
  .p-rentacar-price__list > :last-child:nth-child(3n+1) {
    grid-column: auto;
  }
  .p-rentacar-formula__steps {
    width: 100%;
  }
  .p-rentacar-accident__flow {
    grid-template-columns: 202fr 61px 226fr 61px 226fr;
    grid-template-areas: "acc arr1 aid arr2 pol" "brk arr4 note note note" "contact contact contact contact contact";
  }
  .p-rentacar-accident__inner {
    padding-right: 15px;
    padding-left: 15px;
  }
  .p-rentacar-accident__arrow--3,
  .p-rentacar-accident__arrow--5 {
    display: none;
  }
  .p-rentacar-accident__contact {
    width: 100%;
    max-width: 324px;
    justify-self: center;
  }
  .p-rentacar-shops__photos,
  .p-rentacar-shops__shop {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }
  .p-rentacar-shops__photos {
    display: flex;
    flex-direction: column;
  }
  .p-rentacar-shops__card {
    flex: 1 1 auto;
    width: 100%;
  }
  .p-rentacar-shops__map {
    height: 240px;
  }
}
@media (max-width: 767px) {
  .p-rentacar-fv__logo picture, .p-rentacar-fv__logo-img {
    width: 247px;
    height: 58px;
  }
  .p-rentacar-nav {
    padding: 50px 0;
  }
  .p-rentacar-nav__list {
    gap: 15px;
  }
  .p-rentacar-price,
  .p-rentacar-calendar,
  .p-rentacar-coverage,
  .p-rentacar-shops,
  .p-rentacar-anchor,
  #contact.c-contact-cta {
    scroll-margin-top: 80px;
  }
  .p-rentacar-price__inner {
    padding-bottom: 70px;
  }
  .p-rentacar-calendar__inner {
    padding-bottom: 70px;
  }
  .p-rentacar-formula__inner {
    padding-top: 25px;
  }
  .p-rentacar-formula__row,
  .p-rentacar-formula__steps {
    flex-direction: column;
    align-items: center;
  }
  .p-rentacar-formula__row {
    gap: 15px;
  }
  .p-rentacar-formula__eq {
    width: 16px;
    height: 36px;
  }
  .p-rentacar-formula__eq-img {
    transform: rotate(90deg);
  }
  .p-rentacar-price__list {
    grid-template-columns: 1fr;
  }
  .p-rentacar-price__lead,
  .p-rentacar-formula__lead {
    font-size: 1.6rem;
  }
  .p-rentacar-coverage__inner {
    gap: 50px;
    padding-top: 100px;
    padding-bottom: 50px;
  }
  .p-rentacar-noc__inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .p-rentacar-shops__inner {
    gap: 50px;
    padding-top: 50px;
    padding-bottom: 50px;
  }
  .p-rentacar-features {
    padding: 50px 0;
  }
  .p-rentacar-features__list {
    grid-template-columns: 1fr;
  }
  .p-rentacar-coverage__body {
    gap: 50px;
  }
  .p-rentacar-coverage__table,
  .p-rentacar-coverage__table tbody,
  .p-rentacar-coverage__table tr,
  .p-rentacar-coverage__table th,
  .p-rentacar-coverage__table td {
    display: block;
    width: 100%;
  }
  .p-rentacar-coverage__table {
    min-width: 0;
    table-layout: auto;
  }
  .p-rentacar-coverage__table th {
    padding: 10px 15px;
  }
  .p-rentacar-coverage__table--plan th,
  .p-rentacar-coverage__table--plan td:nth-child(2),
  .p-rentacar-coverage__table--waiver th {
    width: 100%;
  }
  .p-rentacar-coverage__table--plan td:nth-child(3),
  .p-rentacar-coverage__table--waiver td:last-child {
    width: 100%;
  }
  .p-rentacar-accident__flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    width: 100%;
  }
  .p-rentacar-accident__lead {
    display: grid;
    grid-template-columns: auto auto;
    -moz-column-gap: 30px;
         column-gap: 30px;
    row-gap: 20px;
    align-items: center;
    justify-items: center;
  }
  .p-rentacar-accident__step--acc {
    grid-column: 1;
    grid-row: 1;
  }
  .p-rentacar-accident__step--brk {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
  }
  .p-rentacar-accident__arrow--1 {
    grid-column: 1;
    grid-row: 2;
  }
  .p-rentacar-accident__arrow--4 {
    grid-column: 2;
    grid-row: 2;
    align-self: center;
    margin-bottom: 0;
  }
  .p-rentacar-accident__mid {
    display: flex;
    gap: 20px;
    align-items: stretch;
    width: 100%;
    max-width: 343px;
  }
  .p-rentacar-accident__mid-side {
    display: flex;
    flex: 1 0 0;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    justify-content: center;
    min-width: 0;
  }
  .p-rentacar-accident__arrows {
    display: grid;
    grid-template-columns: 183px 1fr;
    -moz-column-gap: 20px;
         column-gap: 20px;
    align-items: center;
    justify-items: center;
    width: 100%;
    max-width: 343px;
    min-height: 61px;
  }
  .p-rentacar-accident__step {
    width: auto;
    max-width: none;
    flex-direction: column;
    gap: 0;
    align-items: center;
  }
  .p-rentacar-accident__step--note {
    flex: 0 0 auto;
    flex-direction: column-reverse;
    gap: 10px;
    justify-content: center;
    width: 183px;
    min-height: 361px;
    padding: 16px;
  }
  .p-rentacar-accident__step--note .p-rentacar-accident__label {
    font-size: 1.6rem;
    white-space: normal;
  }
  .p-rentacar-accident__step--note .p-rentacar-accident__label br {
    display: none;
  }
  .p-rentacar-accident__step--aid,
  .p-rentacar-accident__step--pol {
    width: 100%;
    max-width: 132px;
    padding: 15px 20px 15px 15px;
  }
  .p-rentacar-accident__step--aid .p-rentacar-accident__label,
  .p-rentacar-accident__step--pol .p-rentacar-accident__label {
    font-size: 1.6rem;
  }
  .p-rentacar-accident__step--pol {
    max-width: 124px;
  }
  .p-rentacar-accident__illust--person {
    width: 50px;
    height: 50px;
  }
  .p-rentacar-accident__illust--person picture {
    width: 50px;
    height: 50px;
  }
  .p-rentacar-accident__arrow {
    width: 53px;
    height: 61px;
    transform: rotate(90deg);
  }
  .p-rentacar-accident__arrow--3,
  .p-rentacar-accident__arrow--5 {
    display: flex;
    grid-area: auto;
  }
  .p-rentacar-accident__arrow--5 {
    grid-column: 1;
  }
  .p-rentacar-accident__arrow--3 {
    grid-column: 2;
  }
  .p-rentacar-accident__heading {
    width: 100%;
  }
  .p-rentacar-accident__contact {
    width: 100%;
    max-width: 100%;
  }
  .p-rentacar-accident__name {
    white-space: nowrap;
  }
}
.p-contact__intro {
  display: flex;
  flex-direction: column;
  gap: 70px;
  align-items: center;
}
.p-contact__head {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
  width: 100%;
}
.p-contact__heading {
  margin: 0;
  justify-content: center;
}
.p-contact__lead {
  margin: 0;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-contact__lead span {
  display: inline-block;
}

.p-contact-guide {
  padding: 70px 15px;
  background-color: #f9fafb;
}
.p-contact-guide__inner {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  max-width: 894px;
  margin-inline: auto;
}
.p-contact-guide__title {
  margin: 0;
  text-align: center;
}
.p-contact-guide__notes {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: #333333;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-contact-guide__notes li {
  display: flex;
  gap: 10px;
  align-items: center;
}
.p-contact-guide__notes li::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #fb2c36;
}
.p-contact-guide__tel {
  gap: 18px;
  min-height: 60px;
  padding: 16px 40px;
  box-shadow: 0 25px 25px rgba(0, 0, 0, 0.25);
  font-size: 1.8rem;
  line-height: 1.55;
  letter-spacing: 0;
}
.p-contact-guide__tel .c-btn__icon--tel {
  width: 18px;
  height: 18px;
}
.p-contact-guide__tel .c-btn__icon--arrow {
  width: 24px;
  height: 24px;
}

.p-contact-form {
  padding: 100px 15px;
  background-image: linear-gradient(-67deg, #ffffff 0%, #eff6ff 100%);
}
.p-contact-form__card {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  max-width: 894px;
  margin-inline: auto;
  padding: 50px 70px;
  border-radius: 14px;
  background-color: #ffffff;
}
.p-contact-form__title {
  margin: 0;
  text-align: center;
}
.p-contact-form__body {
  display: flex;
  flex-direction: column;
  gap: 70px;
  width: 100%;
  max-width: 754px;
}
.p-contact-form__fields {
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
}
.p-contact-form__after {
  display: flex;
  flex-direction: column;
  gap: 100px;
  align-items: center;
  width: 100%;
}
.p-contact-form__errors {
  width: 100%;
  max-width: 754px;
  margin: 0;
  padding: 15px 20px;
  border: 1px solid #af0b0e;
  color: #af0b0e;
  font-size: 1.6rem;
}
.p-contact-form__privacy {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: flex-start;
  width: 100%;
}
.p-contact-form__agree {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
  width: 100%;
}
.p-contact-form__policy {
  width: 100%;
  height: 254px;
  overflow: auto;
  padding: 25px;
  border: 1px solid #d1d5dc;
  border-radius: 10px;
}
.p-contact-form__policy-title {
  margin: 0 0 15px;
  color: #333333;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-contact-form__policy-title a:hover,
.p-contact-form__policy-title a:focus-visible {
  text-decoration: underline;
}
.p-contact-form__policy-body {
  color: #333333;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
.p-contact-form__submit {
  height: 56px;
  max-width: 100%;
}
.p-contact-form__submit .c-btn__icon--send {
  width: 20px;
  height: 20px;
}

.p-contact-confirm {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 754px;
  margin: 0;
}
.p-contact-confirm__row {
  display: grid;
  grid-template-columns: 10em 1fr;
  gap: 15px;
  padding: 15px 0;
  border-bottom: 1px solid #d1d5dc;
}
.p-contact-confirm dt {
  font-weight: 700;
}
.p-contact-confirm dd {
  margin: 0;
  white-space: pre-wrap;
}
.p-contact-confirm__actions {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  width: 100%;
  margin-top: 50px;
}
.p-contact-confirm__send {
  max-width: 100%;
}

.p-contact--thanks .p-contact__intro {
  padding-bottom: 100px;
}

.p-contact-thanks {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: center;
  width: 100%;
}
.p-contact-thanks__title {
  margin: 0;
  text-align: center;
}
.p-contact-thanks__text {
  margin: 0;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

@media (max-width: 767px) {
  .p-contact__intro {
    gap: 50px;
  }
  .p-contact__head {
    gap: 25px;
  }
  .p-contact__lead br {
    display: none;
  }
  .p-contact-thanks__text br {
    display: none;
  }
  .p-contact-guide {
    padding: 50px 15px;
  }
  .p-contact-form {
    padding: 50px 15px;
  }
  .p-contact-form__card {
    padding: 25px 15px;
  }
  .p-contact-form__body {
    gap: 50px;
  }
  .p-contact-form__after {
    gap: 50px;
  }
  .c-field__radios {
    grid-template-columns: repeat(2, max-content);
  }
  .p-contact-confirm__row {
    grid-template-columns: 1fr;
    gap: 4px;
  }
}
.p-privacy__inner {
  display: flex;
  flex-direction: column;
  gap: 70px;
  max-width: 896px;
}
.p-privacy__head {
  display: flex;
  flex-direction: column;
  gap: 50px;
  align-items: center;
}
.p-privacy__heading {
  margin: 0;
  justify-content: center;
}
.p-privacy__lead {
  margin: 0;
  color: #333333;
  font-size: 2rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-privacy__body {
  padding-bottom: 50px;
}
.p-privacy .c-privacy__title {
  font-size: 2rem;
}

.c-privacy {
  display: flex;
  flex-direction: column;
  gap: 50px;
  color: #333333;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-privacy p {
  margin: 0;
}
.c-privacy__section {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.c-privacy__title, .c-privacy__subtitle {
  margin: 0;
  color: #333333;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.05em;
}
.c-privacy__title {
  font-size: 1.6rem;
}
.c-privacy__subtitle {
  margin-top: 15px;
  font-size: 1.6rem;
}
.c-privacy__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c-privacy__list li {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.c-privacy__list li::before {
  content: "";
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  margin-top: 13px;
  border-radius: 50%;
  background-color: #fb2c36;
}
.c-privacy a {
  color: #af0b0e;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.c-privacy a:hover, .c-privacy a:focus-visible {
  text-decoration-thickness: 2px;
}
.c-privacy__address {
  font-style: normal;
}
.c-privacy__date {
  margin-top: 15px;
}

.p-contact-form__policy-body .c-privacy {
  gap: 25px;
}
.p-contact-form__policy-body .c-privacy__section {
  gap: 8px;
}
.p-contact-form__policy-body .c-privacy__subtitle {
  margin-top: 8px;
}
.p-contact-form__policy-body .c-privacy__list li::before {
  margin-top: 13px;
}

@media (max-width: 767px) {
  .p-privacy__inner {
    gap: 50px;
  }
  .p-privacy__head {
    gap: 25px;
  }
  .p-privacy__lead {
    font-size: 1.6rem;
  }
  .p-privacy__body {
    padding-bottom: 25px;
  }
  .c-privacy {
    gap: 25px;
  }
}
/*# sourceMappingURL=style.css.map */
