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

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
dl,
li,
dt,
dd,
p,
div,
span,
img,
a,
table,
tr,
th,
td,
small,
button,
time,
figure {
  border: 0;
  font: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

li,
dd {
  list-style-type: none;
}

header,
footer,
nav,
section,
article,
main,
aside,
figure,
figcaption {
  display: block;
}

img {
  border: none;
  vertical-align: bottom;
}

:root {
  --color-bg: #FFFBE6;
}

:root {
  --color-font-base: #3A3838;
  --color-font-black: #000;
  --color-font-white: #ffffff;
  --color-font-gray: #E8E8E8;
  --color-font-accent: #FFD600;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP";
  color: var(--color-font-base);
  text-decoration: none;
  list-style: none;
  outline: 2px solid blue;
  font-size: 1rem;
}
@media screen and (min-width: 1500px) {
  body {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  body {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: 0.9rem;
  }
}

a {
  color: var(--color-font-base);
  text-decoration: none;
}

address {
  font-style: normal;
}

img {
  border: none;
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.l-side-nav-wrapper {
  display: grid;
  grid-template-columns: 6.25rem 1fr;
  min-height: 100vh;
}
@media screen and (max-width: 1023px) {
  .l-side-nav-wrapper {
    grid-template-columns: 5rem 1fr;
  }
}
@media screen and (max-width: 767px) {
  .l-side-nav-wrapper {
    grid-template-columns: 1fr;
    grid-template-rows: 5rem 1fr;
    position: relative;
    overflow: hidden;
  }
}

.l-content {
  grid-column: 2;
  min-height: 100vh;
}
@media screen and (max-width: 767px) {
  .l-content {
    grid-column: 1;
    grid-row: 2;
  }
}

/* ヘッダー */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 6.25rem;
  z-index: 1000;
  background-color: transparent;
  padding: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .l-header {
    width: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header {
    width: 3.75rem;
    padding: 0.625rem;
  }
}

.l-header-hamburger-label {
  color: var(--color-font-base);
  font-family: "Raleway";
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .l-header-hamburger-label {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header-hamburger-label {
    font-size: 0.75rem;
  }
}

/* ハンバーガーメニュー */
.l-header-hamburger {
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
  display: grid;
  place-items: center;
  gap: 0.375rem;
  grid-template-rows: repeat(3, 0.125rem);
  padding: 0.625rem 0.5rem;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  margin-inline: auto;
}

.l-header-hamburger-line {
  width: 1.5rem;
  height: 0.125rem;
  background-color: var(--color-font-base);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

/* ハンバーガーメニューがアクティブな時（×印） */
.l-header-hamburger.active .l-header-hamburger-line:nth-child(1) {
  -webkit-transform: translateY(8px) rotate(45deg);
          transform: translateY(8px) rotate(45deg);
}

.l-header-hamburger.active .l-header-hamburger-line:nth-child(2) {
  opacity: 0;
}

.l-header-hamburger.active .l-header-hamburger-line:nth-child(3) {
  -webkit-transform: translateY(-8px) rotate(-45deg);
          transform: translateY(-8px) rotate(-45deg);
}

/* オーバーレイ */
.l-header-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 998;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

.l-header-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* SPナビゲーション */
.l-header-sp-nav {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  max-width: 60rem;
  height: 100vh;
  background-color: var(--color-font-accent);
  z-index: 999;
  -webkit-transition: left 0.4s ease;
  transition: left 0.4s ease;
  overflow-y: auto;
}
@media screen and (max-width: 1023px) {
  .l-header-sp-nav {
    max-width: 37.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header-sp-nav {
    max-width: 21.875rem;
  }
}

.l-header-sp-nav.active {
  left: 0;
}

.l-header-sp-nav-inner {
  padding: 3.125rem 9.375rem;
  display: grid;
  gap: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .l-header-sp-nav-inner {
    padding: 4.375rem 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header-sp-nav-inner {
    padding: 6.25rem 3.125rem;
  }
}

.l-header-sp-nav-list {
  list-style: none;
  display: grid;
  gap: 0;
}

.l-header-sp-nav-link {
  display: block;
  padding-block: 1.25rem;
  color: var(--color-font-base);
  text-decoration: none;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: normal;
  -webkit-transition: color 0.3s ease, padding-left 0.3s ease;
  transition: color 0.3s ease, padding-left 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .l-header-sp-nav-link {
    font-size: 1.5rem;
    padding-block: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header-sp-nav-link {
    font-size: 1rem;
  }
}

/* SNSセクション */
.l-header-sp-sns {
  display: grid;
  gap: 1.25rem;
}

.l-header-sp-sns-list {
  display: grid;
  grid-template-columns: repeat(4, 4.375rem);
  gap: 1.25rem;
  list-style: none;
}
@media screen and (max-width: 1023px) {
  .l-header-sp-sns-list {
    grid-template-columns: repeat(4, 3.75rem);
  }
}
@media screen and (max-width: 767px) {
  .l-header-sp-sns-list {
    grid-template-columns: repeat(4, 2.5rem);
  }
}

.l-header-sp-sns-item {
  width: 4.375rem;
  height: 4.375rem;
}
@media screen and (max-width: 1023px) {
  .l-header-sp-sns-item {
    width: 3.75rem;
    height: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header-sp-sns-item {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.l-header-sp-sns-link {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.l-header-sp-sns-icon {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 電話番号 */
.l-header-sp-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}

.l-header-sp-tel-label {
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: var(--color-font-base);
}
@media screen and (max-width: 1023px) {
  .l-header-sp-tel-label {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header-sp-tel-label {
    font-size: 1rem;
  }
}

.l-header-sp-tel-number {
  font-size: 3rem;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  color: var(--color-font-base);
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .l-header-sp-tel-number {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header-sp-tel-number {
    font-size: 1.5rem;
  }
}

/* サイドナビゲーション */
.l-side-nav {
  position: fixed;
  top: 0;
  width: 6.25rem;
  height: 100vh;
  background-color: var(--color-font-accent);
  display: grid;
  grid-template-rows: repeat(4, 4.375rem);
  gap: 1.25rem;
  -ms-flex-line-pack: end;
      align-content: end;
  justify-items: center;
}
@media screen and (max-width: 1023px) {
  .l-side-nav {
    width: 5rem;
    grid-template-rows: repeat(4, 5rem);
    gap: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-side-nav {
    width: 100%;
    height: 5rem;
    grid-template-rows: 1fr;
    grid-template-columns: repeat(4, 2.5rem);
    gap: 0.625rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding-inline: 0.625rem;
    z-index: 100;
  }
}

.l-side-nav-icon {
  width: 4.375rem;
  height: 4.375rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  display: grid;
  place-items: center;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .l-side-nav-icon {
    width: 3.75rem;
    height: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .l-side-nav-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.l-side-nav-icon:hover {
  background-color: rgba(255, 255, 255, 0.5);
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
@media screen and (max-width: 767px) {
  .l-side-nav-icon:hover {
    -webkit-transform: none;
            transform: none;
  }
}

.l-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: var(--color-font-base);
  color: var(--color-font-white);
  line-height: normal;
  padding: 7.5rem 2.5rem;
}
@media screen and (max-width: 1023px) {
  .l-footer {
    padding: 5rem 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 3.75rem 1.25rem 2.5rem;
  }
}

.l-footer-company {
  color: var(--color-font-white);
  font-size: 3.125rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 1023px) {
  .l-footer-company {
    font-size: 2.5rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-company {
    font-size: 1.875rem;
  }
}

@media screen and (max-width: 767px) {
  .l-footer-company-span {
    display: block;
  }
}

.l-footer-address-num {
  color: var(--color-font-white);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .l-footer-address-num {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-address-num {
    font-size: 0.875rem;
  }
}

.l-footer-address {
  color: var(--color-font-white);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 1023px) {
  .l-footer-address {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-address {
    font-size: 1rem;
    margin-bottom: 1.25rem;
  }
}

.l-footer-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  color: var(--color-font-white);
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 767px) {
  .l-footer-contact {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 0;
  }
}

.l-footer-contact-label {
  font-size: 1.5rem;
}
@media screen and (max-width: 1023px) {
  .l-footer-contact-label {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-contact-label {
    font-size: 0.875rem;
  }
}

.l-footer-contact-label-tel {
  font-size: 2.25rem;
}
@media screen and (max-width: 1023px) {
  .l-footer-contact-label-tel {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-contact-label-tel {
    font-size: 1.125rem;
  }
}

.l-footer-contact-label-separator {
  font-size: 2rem;
}
@media screen and (max-width: 1023px) {
  .l-footer-contact-label-separator {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-contact-label-separator {
    display: none;
  }
}

.l-footer-copyright {
  font-size: 1rem;
  font-weight: 400;
  white-space: nowrap;
  margin-top: 1.25rem;
  margin-left: auto;
}
@media screen and (max-width: 1023px) {
  .l-footer-copyright {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer-copyright {
    font-size: 0.75rem;
    margin-top: 2rem;
  }
}

.c-spacer {
  display: block;
  width: 100%;
  height: 48px;
}
.c-spacer--size-8 {
  height: 8px;
}
.c-spacer--size-16 {
  height: 16px;
}
.c-spacer--size-24 {
  height: 24px;
}
.c-spacer--size-32 {
  height: 32px;
}
.c-spacer--size-48 {
  height: 48px;
}
.c-spacer--size-64 {
  height: 64px;
}
.c-spacer--size-80 {
  height: 80px;
}
.c-spacer--size-96 {
  height: 96px;
}
.c-spacer--size-128 {
  height: 128px;
}
.c-spacer--size-100-50 {
  height: 100px;
}
@media screen and (max-width: 767px) {
  .c-spacer--size-24 {
    height: 20px;
  }
  .c-spacer--size-32 {
    height: 30px;
  }
  .c-spacer--size-48 {
    height: 45px;
  }
  .c-spacer--size-64 {
    height: 60px;
  }
  .c-spacer--size-80 {
    height: 70px;
  }
  .c-spacer--size-96 {
    height: 80px;
  }
  .c-spacer--size-128 {
    height: 100px;
  }
}

/*section-title*/
.c-section-title {
  color: var(--color-font-accent);
  font-family: "Noto Sans JP";
  font-size: 4.375rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .c-section-title {
    font-size: 3.125rem;
    margin-bottom: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .c-section-title {
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
  }
}

/*button*/
.c-button {
  position: relative;
  display: block;
  max-width: 31.25rem;
  width: 100%;
  padding: 1.25rem 0.625rem;
  background: var(--color-font-base);
  color: #F0F0F0;
  text-align: center;
  font-family: "Raleway";
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
.c-button::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 50px;
  rotate: 90deg;
  -webkit-clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
          clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
  background: var(--color-font-accent);
}
@media (any-hover: hover) {
  .c-button:hover {
    background-color: var(--color-font-accent);
    color: var(--color-font-base);
  }
}

/* cta */
.c-cta {
  background-image: url("../img/cta-img.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding: 9.375rem 6.25rem;
}
@media (max-width: 1200px) {
  .c-cta {
    padding: 6.25rem 1.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .c-cta {
    padding: 6.25rem 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .c-cta {
    padding: 3.125rem 1.25rem;
  }
}

.c-cta-inner {
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 767px) {
  .c-cta-inner {
    padding-inline: 0;
  }
}

.c-cta-title {
  color: var(--color-font-white);
  font-size: 4.375rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .c-cta-title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-cta-title {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .c-cta-title-span {
    display: block;
  }
}

.c-cta-sub-title {
  color: var(--color-font-white);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  margin-top: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .c-cta-sub-title {
    font-size: 1.125rem;
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .c-cta-sub-title {
    font-size: 1rem;
    margin-top: 1rem;
  }
}

.c-cta-button-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: clamp(3.125rem, 5.2vw, 6.25rem);
  margin-top: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .c-cta-button-group {
    gap: 3.125rem;
    margin-top: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .c-cta-button-group {
    gap: 1.875rem;
    margin-top: 1.25rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.c-cta-button-group-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 0px;
          flex: 1 0 0;
  border: 2px solid var(--color-font-white);
  position: relative;
  overflow: hidden;
  -webkit-transition: background-color 0.3s ease;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .c-cta-button-group-item {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .c-cta-button-group-item {
    width: 80%;
  }
}
.c-cta-button-group-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 3px solid var(--color-font-accent);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.c-cta-button-group-item::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border: 3px solid var(--color-font-accent);
  opacity: 0;
}
@media (any-hover: hover) {
  .c-cta-button-group-item:hover::before {
    opacity: 1;
    -webkit-animation: borderRotate 0.6s linear forwards;
            animation: borderRotate 0.6s linear forwards;
  }
}

@-webkit-keyframes borderRotate {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
            clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
  25% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  50% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  75% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}

@keyframes borderRotate {
  0% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 0, 0 0);
            clip-path: polygon(0 0, 0 0, 0 0, 0 0);
  }
  25% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
            clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  50% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  75% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  100% {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
            clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
}
.c-cta-button {
  color: var(--color-font-white);
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .c-cta-button {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .c-cta-button {
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .c-cta-button:hover {
    color: var(--color-font-accent);
  }
}

/* page-header */
.page-header {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 50rem;
}
@media screen and (max-width: 767px) {
  .page-header {
    height: 31.25rem;
  }
}

.page-header__sub-title {
  color: var(--color-font-white);
  font-size: clamp(1.75rem, 4.27vw, 5.125rem);
  font-weight: 700;
  line-height: normal;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .page-header__sub-title {
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .page-header__sub-title {
    text-align: center;
  }
}

@media screen and (max-width: 1280px) {
  .page-header__sub-title--news {
    font-size: 3.75rem;
  }
}
@media screen and (max-width: 1023px) {
  .page-header__sub-title--news {
    font-size: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .page-header__sub-title--news {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .page-header__sub-title-span-text {
    display: block;
  }
}

.page-header__sub-title-span {
  color: var(--color-font-accent);
}

.page-header__title {
  text-align: center;
  color: var(--color-font-white);
  font-family: "Raleway";
  font-size: 3rem;
  font-weight: 700;
  line-height: normal;
  padding-bottom: 1.875rem;
  border-bottom: 5px solid var(--color-font-white);
}
@media screen and (max-width: 1023px) {
  .page-header__title {
    font-size: 2rem;
    border-bottom: 3px solid var(--color-font-white);
  }
}
@media screen and (max-width: 767px) {
  .page-header__title {
    font-size: 1.125rem;
    margin-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

.page-header__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.page-header__bg img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-content-inner {
  max-width: 87.5rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

/* Sectionタイトル */
.c-vertical-label {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-family: "Raleway";
  color: var(--color-font-gray);
  font-size: 9.375rem;
  font-weight: 700;
  line-height: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  pointer-events: none;
  position: absolute;
}
@media screen and (max-width: 1023px) {
  .c-vertical-label {
    font-size: 5.625rem;
  }
}
@media screen and (max-width: 767px) {
  .c-vertical-label {
    font-size: 2rem;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    width: 100%;
  }
}
.c-vertical-label--right {
  white-space: nowrap;
  right: 0;
  top: 7.5rem;
}
@media (max-width: 1200px) {
  .c-vertical-label--right {
    opacity: 0.5 !important;
  }
}
@media screen and (max-width: 1023px) {
  .c-vertical-label--right {
    top: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .c-vertical-label--right {
    top: 1.875rem;
    left: 1.25rem;
    word-break: break-all;
    white-space: normal;
  }
}
.c-vertical-label--left {
  white-space: nowrap;
  left: 0;
  top: 7.5rem;
}
@media (max-width: 1200px) {
  .c-vertical-label--left {
    opacity: 0.5 !important;
  }
}
@media screen and (max-width: 1023px) {
  .c-vertical-label--left {
    top: 3.75rem;
  }
}
@media screen and (max-width: 767px) {
  .c-vertical-label--left {
    word-break: break-all;
    white-space: normal;
    top: 1.875rem;
    left: 1.25rem;
  }
}

.c-vertical-label-span {
  color: rgba(255, 214, 0, 0.25);
}

.c-vertical-label--access {
  color: #6C6969;
  top: 5rem;
  opacity: 1 !important;
}
@media screen and (max-width: 1023px) {
  .c-vertical-label--access {
    top: 3.75rem;
    display: none;
  }
}

.c-vertical-label-span--access {
  color: var(--color-font-accent);
}

/*pagination*/
.c-pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-pagination__item {
  margin: 0;
}

.c-pagination__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.25rem;
  height: 3.625rem;
  text-decoration: none;
  color: var(--color-font-base);
  background-color: var(--color-font-white);
  border: 3px solid var(--color-font-base);
  font-family: "Raleway";
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  padding: 0.9375rem 1.25rem;
}
@media screen and (max-width: 1023px) {
  .c-pagination__link {
    font-size: 1.25rem;
    padding: 0.75rem 0.9375rem;
    width: 2.5rem;
    height: 2.8125rem;
  }
}
@media screen and (max-width: 767px) {
  .c-pagination__link {
    width: 1.875rem;
    height: 2.1875rem;
    padding: 0.625rem;
    font-size: 1rem;
    border: 2px solid var(--color-font-base);
  }
}

.c-pagination__link:hover {
  background-color: #f0f0f0;
}

.c-pagination__link--active {
  background-color: var(--color-font-base);
  color: var(--color-font-white);
  pointer-events: none;
}

.c-pagination__link--active:hover {
  background-color: var(--color-font-base);
}

/* inner */
.p-top-content.p-right-inner {
  padding-inline: 6.25rem 0;
}
@media (max-width: 1200px) {
  .p-top-content.p-right-inner {
    padding-inline: 0;
    position: relative;
    z-index: 2;
  }
}
.p-top-content.p-left-inner {
  padding-inline: 0 6.25rem;
}
@media (max-width: 1200px) {
  .p-top-content.p-left-inner {
    padding-inline: 0;
    position: relative;
    z-index: 2;
  }
}

.page-header--top {
  height: 80rem;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .page-header--top {
    height: 50rem;
  }
}
@media screen and (max-width: 767px) {
  .page-header--top {
    height: 31.25rem;
  }
}

.page-header-sub-top {
  color: var(--color-font-accent);
  font-family: "Raleway";
  font-size: 4.6875rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .page-header-sub-top {
    font-size: 3.5rem;
  }
}
@media screen and (max-width: 767px) {
  .page-header-sub-top {
    font-size: 2rem;
  }
}

.page-header-sub-title--top {
  color: var(--color-font-white);
  font-size: 2.5rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
  margin-top: 4.375rem;
}
@media (max-width: 1027px) {
  .page-header-sub-title--top {
    font-size: 2.4375rem;
  }
}
@media screen and (max-width: 1023px) {
  .page-header-sub-title--top {
    font-size: 1.5rem;
    margin-top: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .page-header-sub-title--top {
    font-size: 1rem;
    margin-top: 1.5rem;
  }
}

@media (max-width: 1592px) {
  .page-header-sub-title-span {
    display: block;
  }
}
@media (min-width: 768px) and (max-width: 1592px) {
  .page-header-sub-title-span:has(+ .page-header-sub-title-span-text) {
    display: inline;
  }
}

@media (min-width: 768px) and (max-width: 1592px) {
  .page-header-sub-title-span-text {
    display: inline;
  }
}
@media screen and (max-width: 767px) {
  .page-header-sub-title-span-text {
    display: block;
  }
}

.page-header-title--top {
  color: var(--color-font-white);
  font-family: "Raleway";
  font-size: 10rem;
  font-weight: 700;
  line-height: normal;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .page-header-title--top {
    font-size: 6.25rem;
  }
}
@media screen and (max-width: 767px) {
  .page-header-title--top {
    font-size: 3rem;
  }
}

.page-header__bg,
.page-header__bg--top {
  overflow: hidden;
}
.page-header__bg img,
.page-header__bg--top img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-animation: kenburns-bg 15s ease-in-out infinite alternate;
          animation: kenburns-bg 15s ease-in-out infinite alternate;
}
@media screen and (max-width: 1023px) {
  .page-header__bg img,
  .page-header__bg--top img {
    -o-object-position: right;
       object-position: right;
  }
}

@-webkit-keyframes kenburns-bg {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
  100% {
    -webkit-transform: scale(1.1) translate(-2%, -1%);
            transform: scale(1.1) translate(-2%, -1%);
  }
}

@keyframes kenburns-bg {
  0% {
    -webkit-transform: scale(1) translate(0, 0);
            transform: scale(1) translate(0, 0);
  }
  100% {
    -webkit-transform: scale(1.1) translate(-2%, -1%);
            transform: scale(1.1) translate(-2%, -1%);
  }
}
/* 親セクション - シンプルなGrid */
.p-top {
  padding-block: 7.5rem;
  padding-inline: 4.375rem;
  position: relative;
  z-index: 3;
}
@media (max-width: 1200px) {
  .p-top {
    padding-block: 5rem;
    padding-inline: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top {
    padding-inline: 1.25rem;
  }
}

/* コンテンツエリア */
.p-top-content {
  width: min(87.5rem, 100%);
  padding-inline: 100px;
  margin-inline: auto;
  height: auto;
}
@media (min-width: 1920px) {
  .p-top-content {
    width: min(112.5rem, 100%);
  }
}
@media screen and (max-width: 767px) {
  .p-top-content {
    padding-inline: 0;
  }
}

/* コンセプト */
.p-top-content--concept {
  background-image: url("../img/top-img-about-bg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.p-top-content__text {
  color: var(--color-font-base);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .p-top-content__text {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-content__text {
    font-size: 1rem;
    margin-top: 0.625rem;
  }
}

.p-top-content__text--margin {
  margin-top: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-top-content__text--margin {
    margin-top: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-content__text--margin {
    margin-top: 0.5rem;
  }
}

.p-top-content__text--bold {
  font-size: 2rem;
}
@media screen and (max-width: 1023px) {
  .p-top-content__text--bold {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-content__text--bold {
    font-size: 1.25rem;
    margin-top: 0.625rem;
  }
}

.p-top-content__img-wrapper {
  margin-top: 4.6875rem;
  max-width: 51.1875rem;
  margin-left: auto;
}
.p-top-content__img-wrapper img {
  -webkit-box-shadow: 50px 50px var(--color-font-accent);
          box-shadow: 50px 50px var(--color-font-accent);
  width: calc(100% - 50px);
}
@media screen and (max-width: 1023px) {
  .p-top-content__img-wrapper img {
    -webkit-box-shadow: 30px 30px var(--color-font-accent);
            box-shadow: 30px 30px var(--color-font-accent);
    width: calc(100% - 30px);
  }
}
@media screen and (max-width: 767px) {
  .p-top-content__img-wrapper img {
    -webkit-box-shadow: 20px 20px var(--color-font-accent);
            box-shadow: 20px 20px var(--color-font-accent);
    width: calc(100% - 20px);
  }
}
@media screen and (max-width: 1023px) {
  .p-top-content__img-wrapper {
    margin-top: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-content__img-wrapper {
    margin-top: 3rem;
  }
}

/* サービス */
.p-top-content--service {
  background: var(--color-bg);
  overflow: hidden;
}

@media screen and (max-width: 1023px) {
  .p-service-gallery {
    width: 100%;
    overflow: hidden;
  }
}

@media screen and (max-width: 1023px) {
  .p-service-gallery__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1.25rem;
  }
}

.p-service-gallery__row--top,
.p-service-gallery__row--bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(1.25rem, 3.9vw, 4.6875rem);
  margin-top: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .p-service-gallery__row--top,
  .p-service-gallery__row--bottom {
    display: contents;
  }
}

.p-service-gallery__row--bottom {
  margin-top: 4.6875rem;
}
@media screen and (max-width: 1023px) {
  .p-service-gallery__row--bottom {
    margin-top: 0;
  }
}

.p-service-gallery__item {
  position: relative;
  width: 18vw;
  aspect-ratio: 1/1;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-service-gallery__item {
    width: 70vw;
    max-width: 25rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    scroll-snap-align: center;
  }
}
@media screen and (max-width: 767px) {
  .p-service-gallery__item {
    width: 80vw;
    max-width: 18.75rem;
  }
}

.p-service-gallery__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.p-service-gallery__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--color-font-accent);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 1023px) {
  .p-service-gallery__overlay {
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.5);
  }
}

.p-service-gallery__text {
  color: var(--color-font-base);
  text-align: center;
  font-family: "Raleway";
  font-size: 3rem;
  font-weight: 700;
  line-height: normal;
  position: relative;
  padding-bottom: 0.625rem;
}
@media screen and (max-width: 1023px) {
  .p-service-gallery__text {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service-gallery__text {
    font-size: 1.125rem;
  }
}

.p-service-gallery__text::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 6.25rem;
  height: 0.1875rem;
  background-color: var(--color-font-base);
}
@media screen and (max-width: 1023px) {
  .p-service-gallery__text::after {
    width: 3.125rem;
    height: 0.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service-gallery__text::after {
    width: 1.875rem;
    height: 0.0625rem;
  }
}

/* ホバー効果（PC のみ） */
@media screen and (min-width: 1500px) {
  .p-service-gallery__item:hover .p-service-gallery__image {
    opacity: 0;
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
  .p-service-gallery__item:hover .p-service-gallery__overlay {
    opacity: 1;
  }
}
.p-service-button {
  margin-top: 4.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-service-button {
    margin-top: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-service-button {
    margin-top: 3rem;
  }
}

/* news */
.p-top-content--news {
  padding-block: 7.5rem 0;
}
@media (max-width: 1200px) {
  .p-top-content--news {
    padding-block: 5rem 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-content--news {
    padding-block: 5rem;
  }
}

.p-news {
  margin-top: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-news {
    margin-top: 2.5rem;
  }
}

.p-news__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-news__list {
    gap: 1.875rem;
  }
}

.p-news__item {
  border-bottom: 1px solid #000;
  padding-bottom: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-news__item {
    padding-bottom: 1.25rem;
  }
}

.p-news__article {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.875rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-news__label-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-news__label {
  display: inline-block;
  background-color: var(--color-font-accent);
  color: var(--color-font-white);
  font-size: 1rem;
  font-weight: 700;
  line-height: normal;
  padding: 0.375rem 0.625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-news__label {
    font-size: 0.75rem;
    padding: 0.375rem 0.9375rem;
  }
}

.p-news__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
  font-family: "Raleway";
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
}

.p-news__date-label {
  color: #C5C0C0;
}
@media screen and (max-width: 767px) {
  .p-news__date-label {
    font-size: 0.75rem;
  }
}

.p-news__date {
  color: var(--color-font-accent);
}
@media screen and (max-width: 767px) {
  .p-news__date {
    font-size: 0.875rem;
  }
}

.p-news__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1023px) {
  .p-news__title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__title {
    font-size: 1rem;
  }
}

.p-news__link {
  color: var(--color-font-base);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
  display: block;
}
@media screen and (max-width: 1023px) {
  .p-news__link {
    font-size: 1.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__link {
    font-size: 1.125rem;
  }
}

.p-news__link:hover {
  color: var(--color-font-accent);
}

.p-news__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 4.6875rem;
}
@media screen and (max-width: 1023px) {
  .p-news__button {
    margin-top: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__button {
    margin-top: 3rem;
  }
}

/* construction */
.p-top-content--construction {
  background-image: url("../img/seko-img-bg.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: bottom;
}

.p-construction__tag-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 1023px) {
  .p-construction__tag-list {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    row-gap: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__tag-list {
    -webkit-column-gap: 0.625rem;
       -moz-column-gap: 0.625rem;
            column-gap: 0.625rem;
    row-gap: 0.5rem;
  }
}

.p-construction__tag-item {
  border-radius: 3.125rem;
  background: var(--color-font-base);
  padding: 0.3125rem 1.5625rem;
}

.p-construction__tag {
  color: var(--color-font-white);
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .p-construction__tag {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__tag {
    font-size: 0.875rem;
  }
}

.p-construction__main {
  display: none;
}
.p-construction__main.is-active {
  margin-top: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-construction__main.is-active {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-construction__main-image {
  max-width: 50rem;
  width: 100%;
}
.p-construction__main-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-construction__main-content {
  max-width: 37.5rem;
  background: rgba(255, 214, 0, 0.7);
  width: 100%;
  height: 25rem;
  position: relative;
  margin-left: -12.5rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 1023px) {
  .p-construction__main-content {
    margin-left: -6.25rem;
    margin-top: 3.125rem;
    height: 18.75rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__main-content {
    margin-left: 0;
    margin-top: -3rem;
    height: 13.75rem;
  }
}

.p-construction__main-inner {
  color: var(--color-font-base);
  font-size: 2.25rem;
  font-weight: 700;
  line-height: normal;
  padding: 5rem 3.125rem;
}
@media screen and (max-width: 1023px) {
  .p-construction__main-inner {
    font-size: 1.5rem;
    padding: 3.125rem 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__main-inner {
    font-size: 1.25rem;
    padding: 1.5625rem 0.78125rem;
  }
}

.p-construction__main-label {
  background: var(--color-font-base);
  padding: 0.3125rem 1.5625rem;
  color: var(--color-font-white);
  text-align: center;
  font-size: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-construction__main-label {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__main-label {
    font-size: 1rem;
  }
}

.p-construction__main-location {
  font-size: 1.25rem;
  font-weight: 400;
  margin-top: 0.625rem;
}
@media screen and (max-width: 1023px) {
  .p-construction__main-location {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__main-location {
    font-size: 1rem;
  }
}

.p-construction__main-title {
  font-size: 2.25rem;
}
@media screen and (max-width: 1023px) {
  .p-construction__main-title {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__main-title {
    font-size: 1.25rem;
  }
}

.p-construction__main-title-span {
  width: 15.625rem;
  height: 3px;
  border-bottom: 3px solid var(--color-font-base);
}
@media screen and (max-width: 1023px) {
  .p-construction__main-title-span {
    width: 9.375rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__main-title-span {
    width: 6.25rem;
  }
}

.p-construction__main-link {
  font-family: "Raleway";
  font-size: 1.25rem;
  text-decoration: none;
  display: block;
  margin-top: 3.375rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-construction__main-link {
    margin-top: 2rem;
  }
}

.p-construction__thumbnail-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3.125rem;
  margin-top: 3.125rem;
  max-width: 75rem;
  width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .p-construction__thumbnail-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__thumbnail-list {
    gap: 1.25rem;
    margin-top: 1.5rem;
  }
}

.p-construction__thumbnail-image {
  max-width: 16.25rem;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1023px) {
  .p-construction__thumbnail-image {
    max-width: 100%;
  }
}

/* ACCESS */
.p-top-content--access {
  padding: 0;
}

.p-top-access-content {
  height: 50rem;
}
.p-top-access-content iframe {
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-access-content {
    height: 31.25rem;
  }
}

.p-company-greeting {
  color: var(--color-font-black);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  margin-top: 3.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-company-greeting {
    font-size: 1.125rem;
  }
}

.p-company-greeting__name {
  color: var(--color-font-black);
  font-family: "Noto Serif JP";
  font-weight: 700;
  line-height: normal;
  margin-left: auto;
  margin-top: 1.875rem;
}

.p-company-greeting__name-label {
  font-size: 1.5rem;
}
@media screen and (max-width: 1023px) {
  .p-company-greeting__name-label {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-company-greeting__name-label {
    font-size: 0.875rem;
  }
}

.p-company-greeting__name-text {
  font-size: 3rem;
}
@media screen and (max-width: 1023px) {
  .p-company-greeting__name-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-company-greeting__name-text {
    font-size: 1.5rem;
  }
}

/* OVERVIEW */
.p-top-content--overview {
  background: var(--color-bg);
}

.p-company {
  padding: 2.5rem 1.25rem;
  max-width: 75rem;
  margin-inline: auto;
  margin-top: 2.5rem;
  color: var(--color-font-base);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .p-company {
    font-size: 1.125rem;
    padding: 1.875rem 0.9375rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-company {
    font-size: 1rem;
    padding: 1.25rem 0.625rem;
  }
}

.p-company__table {
  width: 100%;
}

.p-company__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: 1px dashed var(--color-font-accent);
  padding-block: 1.5rem;
}
@media screen and (max-width: 767px) {
  .p-company__row {
    display: block;
    padding-block: 1.125rem;
  }
}

.p-company__term {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 12.5rem;
          flex: 0 0 12.5rem;
}
@media screen and (max-width: 1023px) {
  .p-company__term {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 10rem;
            flex: 0 0 10rem;
  }
}
@media screen and (max-width: 767px) {
  .p-company__term {
    width: 100%;
    margin-bottom: 0.25rem;
  }
}

.p-company__desc {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .p-company__desc {
    width: 100%;
  }
}

/* HISTORY */
.p-history__timeline {
  position: relative;
  padding-left: 80px;
}
@media screen and (max-width: 767px) {
  .p-history__timeline {
    padding-left: 40px;
  }
}

.p-history__timeline-line {
  position: absolute;
  left: 1.875rem;
  top: 0;
  bottom: 0;
  width: 0.25rem;
  background: var(--color-font-accent);
}
@media screen and (max-width: 767px) {
  .p-history__timeline-line {
    left: 0.9375rem;
    width: 0.125rem;
  }
}

.p-history__timeline-item {
  position: relative;
  padding-block: 0.625rem;
  padding-left: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-history__timeline-item {
    padding: 15px 0;
  }
}

.p-history__timeline-dot {
  position: absolute;
  left: -3.375rem;
  top: 1.5rem;
  width: 0.75rem;
  height: 0.75rem;
  background: var(--color-font-base);
  border-radius: 50%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-history__timeline-dot {
    left: -1.6875rem;
    top: 1.375rem;
    width: 0.625rem;
    height: 0.625rem;
  }
}
.p-history__timeline-dot::after {
  content: "";
  position: absolute;
  left: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 6.25rem;
  height: 0.0625rem;
  background: var(--color-font-base);
}
@media screen and (max-width: 1023px) {
  .p-history__timeline-dot::after {
    width: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-history__timeline-dot::after {
    left: 0.625rem;
    width: 1.0625rem;
    height: 0.0625rem;
  }
}

.p-history__timeline-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 60px;
}
@media screen and (max-width: 1023px) {
  .p-history__timeline-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.p-history__timeline-year {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.p-history__timeline-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  color: var(--color-font-base);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .p-history__timeline-text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-history__timeline-text {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-history__timeline-year {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 767px) {
  .p-history__timeline-description {
    font-size: 0.875rem;
  }
}

.p-history__timeline-image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20rem;
  height: auto;
}
@media screen and (max-width: 1023px) {
  .p-history__timeline-image {
    width: 100%;
    max-width: 25rem;
  }
}
@media screen and (max-width: 767px) {
  .p-history__timeline-image {
    max-width: 100%;
  }
}
.p-history__timeline-image img {
  width: 100%;
  height: auto;
  display: block;
}

.p-reason__cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(clamp(12.5rem, 18.48vw, 22.1875rem), 1fr));
  gap: clamp(1.875rem, 3.12vw, 3.75rem);
  margin-top: 6.25rem;
  margin-inline: auto;
}
@media screen and (max-width: 1023px) {
  .p-reason__cards {
    grid-template-columns: 1fr;
    gap: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reason__cards {
    gap: 1.875rem;
    margin-top: 3.125rem;
  }
}

.p-reason__card {
  background: #F4F3F3;
  padding-inline: 1.25rem;
  padding-bottom: clamp(1.875rem, 2.6vw, 3.125rem);
  width: 100%;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-reason__card {
    max-width: 100%;
    padding-block: 1.875rem;
  }
}

@media screen and (max-width: 1023px) {
  .p-reason__card-content {
    display: grid;
    grid-template-columns: 12.5rem auto;
    gap: 1.875rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reason__card-content {
    grid-template-columns: 1fr;
    gap: 0.625rem;
  }
}

.p-reason__card-header {
  color: var(--color-font-base);
  font-family: "Raleway";
  font-weight: 700;
  line-height: normal;
  text-align: center;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-reason__card-header {
    position: static;
    -webkit-transform: none;
            transform: none;
  }
}

.p-reason__card-header-text {
  font-size: clamp(2.25rem, 2.5vw, 3rem);
}
@media screen and (max-width: 1023px) {
  .p-reason__card-header-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reason__card-header-text {
    font-size: 1.5rem;
  }
}

.p-reason__card-header-number {
  color: var(--color-font-accent);
  font-size: clamp(4rem, 5vw, 6rem);
  margin-top: -1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-reason__card-header-number {
    font-size: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reason__card-header-number {
    font-size: 3rem;
    margin-top: -0.625rem;
  }
}

.p-reason__card-icon {
  width: clamp(6.25rem, 7.81vw, 9.375rem);
  height: clamp(6.25rem, 7.81vw, 9.375rem);
  margin-inline: auto;
  margin-top: 1.875rem;
}
@media screen and (max-width: 1023px) {
  .p-reason__card-icon {
    width: 6.25rem;
    height: 6.25rem;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-reason__card-icon {
    width: 5rem;
    height: 5rem;
  }
}

.p-reason__card-title {
  color: var(--color-font-base);
  font-size: clamp(1.5rem, 1.875vw, 2.25rem);
  font-weight: 700;
  line-height: normal;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-reason__card-title {
    font-size: 1.5rem;
    margin-top: 1rem;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .p-reason__card-title {
    font-size: 1.25rem;
    text-align: center;
  }
}

.p-reason__card-description {
  color: #000;
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  font-weight: 400;
  line-height: normal;
  margin-top: 0.875rem;
}
@media screen and (max-width: 1023px) {
  .p-reason__card-description {
    font-size: 1rem;
  }
}

/* custom */
.p-custom {
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  max-width: 75rem;
  width: 100%;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}

.p-custom-image {
  grid-column: 1/3;
  grid-row: 1;
  max-width: 50rem;
  width: 100%;
  height: 100%;
}
.p-custom-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-custom-content {
  grid-column: 1/3;
  grid-row: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  background: rgba(255, 214, 0, 0.7);
  padding: 3.125rem;
  max-width: 56.25rem;
  width: 100%;
  margin-left: auto;
  margin-top: -6.25rem;
  z-index: 1;
}
@media screen and (max-width: 1023px) {
  .p-custom-content {
    padding: 1.25rem;
    margin-top: -5rem;
    margin-left: 10%;
    gap: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .p-custom-content {
    margin-top: -3rem;
    margin-left: 0;
    margin-top: 0;
  }
}

.p-custom-description {
  color: var(--color-font-base);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .p-custom-description {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-custom-description {
    font-size: 0.875rem;
  }
}

/* renovation */
.p-custom-image--renovation {
  max-width: 50rem;
  width: 100%;
  height: 100%;
  margin-left: auto;
}
.p-custom-image--renovation img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-custom-content--renovation {
  margin-right: auto;
  margin-left: 0;
}
@media screen and (max-width: 1023px) {
  .p-custom-content--renovation {
    margin-left: 10%;
  }
}
@media screen and (max-width: 767px) {
  .p-custom-content--renovation {
    margin-left: 0;
  }
}

.p-custom-content--renovation-right {
  margin-right: auto;
  margin-left: 0;
}
@media screen and (max-width: 1023px) {
  .p-custom-content--renovation-right {
    margin-left: -10%;
  }
}
@media screen and (max-width: 767px) {
  .p-custom-content--renovation-right {
    margin-left: 0;
  }
}

/* 親要素での配置調整 */
.p-news__pagination {
  margin-top: 4.6875rem;
}
@media screen and (max-width: 1023px) {
  .p-news__pagination {
    margin-top: 3.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-news__pagination {
    margin-top: 2.5rem;
  }
}

.p-top--construction {
  min-height: 200vh;
}
@media screen and (max-width: 1023px) {
  .p-top--construction {
    min-height: 0;
  }
}

.p-construction__tabs {
  margin-block: 3.4375rem;
}
@media screen and (max-width: 767px) {
  .p-construction__tabs {
    margin-block: 1.875rem;
  }
}

.p-construction__tab-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-construction__tab-list {
    gap: 0;
  }
}

.p-construction__tab-item {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-construction__tab-button-separator {
  background: #D1D1D1;
  width: 0.125rem;
  height: 3.125rem;
}
@media screen and (max-width: 1023px) {
  .p-construction__tab-button-separator {
    height: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__tab-button-separator {
    height: 1.875rem;
  }
}

.p-construction__tab-button {
  display: block;
  width: 100%;
  padding: 0.9375rem 1.25rem;
  background: none;
  color: var(--color-font-base);
  color: #3A3838;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-construction__tab-button {
    padding: 0.75rem 0.625rem;
    font-size: 0.875rem;
  }
}

.p-construction__tab-button:hover {
  color: var(--color-font-base);
}

.p-construction__tab-button--active {
  color: var(--color-font-accent);
}

.p-construction__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: clamp(1.25rem, 4.1vw, 5rem);
     -moz-column-gap: clamp(1.25rem, 4.1vw, 5rem);
          column-gap: clamp(1.25rem, 4.1vw, 5rem);
  row-gap: clamp(1.25rem, 4.1vw, 5rem);
}
@media screen and (max-width: 1023px) {
  .p-construction__grid {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}

.p-construction__card {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s;
  transition: -webkit-transform 0.3s, -webkit-box-shadow 0.3s;
  transition: transform 0.3s, box-shadow 0.3s;
  transition: transform 0.3s, box-shadow 0.3s, -webkit-transform 0.3s, -webkit-box-shadow 0.3s;
}

.p-construction__card:hover {
  -webkit-transform: translateY(-5px);
          transform: translateY(-5px);
  -webkit-box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.p-construction__card-label {
  position: absolute;
  top: 1.5rem;
  left: 0;
  padding: 0.3125rem 1.25rem;
  background-color: var(--color-font-accent);
  color: var(--color-font-base);
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
  z-index: 10;
}
@media screen and (max-width: 1023px) {
  .p-construction__card-label {
    top: 1.25rem;
    padding: 0.625rem 0.9375rem;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__card-label {
    top: 0.9375rem;
    left: 15px;
    padding: 0.375rem 0.9375rem;
    font-size: 0.75rem;
  }
}

.p-construction__card-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-construction__card:hover .p-construction__card-image img {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}

.p-construction__card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 214, 0, 0.7);
  padding: clamp(1rem, 1.56vw, 1.875rem) 1.25rem;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition: -webkit-transform 0.4s ease-in-out;
  transition: -webkit-transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out;
  transition: transform 0.4s ease-in-out, -webkit-transform 0.4s ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 1023px) {
  .p-construction__card-overlay {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    padding: 1rem 0.625rem;
    gap: 0.5rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: static;
  }
}

@media (hover: hover) and (pointer: fine) {
  .p-construction__card:hover .p-construction__card-overlay {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  .p-construction__card:hover .p-construction__card-link {
    gap: 0.75rem;
  }
  .p-construction__card:hover .p-construction__card-arrow {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
}
.p-construction__card-title {
  color: var(--color-font-base);
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 1023px) {
  .p-construction__card-title {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__card-title {
    font-size: 1rem;
  }
}

.p-construction__card-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5rem;
  color: var(--color-font-base);
  font-size: 1.125rem;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition: gap 0.3s;
  transition: gap 0.3s;
}
@media screen and (max-width: 1023px) {
  .p-construction__card-link {
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-construction__card-link {
    font-size: 0.875rem;
  }
}

.p-construction__card-arrow {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.p-contact-form {
  width: 100%;
  margin-top: 2.5rem;
}

.form-group {
  display: grid;
  grid-template-columns: 18.75rem 1fr;
  gap: 1.875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .form-group {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
}
@media screen and (max-width: 767px) {
  .form-group {
    margin-bottom: 2rem;
    gap: 0.625rem;
  }
}

.form-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: var(--color-font-black);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
}
@media screen and (max-width: 1023px) {
  .form-label {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 1.25rem;
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 767px) {
  .form-label {
    font-size: 1rem;
    gap: 0.625rem;
  }
}

.badge-required {
  background-color: var(--color-font-accent);
  padding: 0.5rem 1.125rem;
  color: var(--color-font-base);
  font-size: 1.25rem;
  font-weight: 700;
  line-height: normal;
  border: 2px solid var(--color-font-base);
}
@media screen and (max-width: 1023px) {
  .badge-required {
    font-size: 1.125rem;
    padding: 0.375rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  .badge-required {
    font-size: 0.875rem;
    padding: 0.25rem 0.875rem;
    border: 1px solid var(--color-font-base);
  }
}

.form-input-wrapper--plain {
  max-width: 28.125rem;
  width: 100%;
}

.form-control {
  width: 100%;
  height: 3.125rem;
  padding: 0.75rem;
  border: 1px solid var(--color-font-base);
  border-radius: 0.625rem;
  color: var(--color-font-base);
  font-weight: 400;
  line-height: normal;
  text-align: center;
}
.form-control:focus {
  outline: none;
  border-color: var(--color-font-accent);
}
.form-control[type=select], select .form-control {
  background-color: var(--color-font-white);
  cursor: pointer;
}
.form-control[type=textarea], textarea .form-control {
  resize: vertical;
  min-height: 150px;
}

.form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}
@media screen and (max-width: 1023px) {
  .form-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.form-col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 12.5rem;
}
@media screen and (max-width: 1023px) {
  .form-col {
    min-width: 100%;
  }
}

.error-message {
  color: #e74c3c;
  font-size: 0.875rem;
  margin-top: 0.3125rem;
  display: none;
}
.error-message.show {
  display: block;
}

.form-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  color: var(--color-font-black);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 1023px) {
  .form-checkbox {
    font-size: 1.125rem;
    gap: 0.625rem;
  }
}
@media screen and (max-width: 767px) {
  .form-checkbox {
    font-size: 0.875rem;
    gap: 0.625rem;
  }
}
.form-checkbox input[type=checkbox] {
  width: 1.875rem;
  height: 1.875rem;
  margin-top: 2px;
  cursor: pointer;
}
@media screen and (max-width: 1023px) {
  .form-checkbox input[type=checkbox] {
    width: 1.25rem;
    height: 1.25rem;
  }
}
.form-checkbox a {
  text-decoration: underline;
}

.submit-button-wrapper {
  position: relative;
}

.btn-submit {
  width: 100%;
  padding: 1.125rem;
  border: none;
  cursor: not-allowed;
  border: 2px solid var(--color-font-base);
  background: rgba(255, 214, 0, 0.7);
  color: rgba(58, 56, 56, 0.7);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: normal;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 767px) {
  .btn-submit {
    font-size: 1rem;
    padding: 0.9375rem;
  }
}
.btn-submit.active {
  cursor: pointer;
  background-color: var(--color-font-accent);
  color: var(--color-font-base);
}
.btn-submit.active:hover {
  background-color: var(--color-font-accent);
}
.btn-submit:not(.active):hover {
  opacity: 0.7;
}
.btn-submit:not(.active):hover .prohibition-mark {
  opacity: 0.3;
}

.prohibition-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 50px;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  pointer-events: none;
}/*# sourceMappingURL=style.css.map */