:root {
  --color-text: #222222;
  --color-key: #543301;
  --color-main: #e1b326;
  --color-gradation: #ffe887;
  --color-bg: #f2e3b8;
  --color-bg-dark: #f2e3b8;
  --color-accent: #d27e00;
  --color-white: #ffffff;
  --color-gray: #5f564a;
  --color-light-gray: #e8e1d6;
  --font-base: "Zen Kaku Gothic New", sans-serif;
  --fz-body: 16px;
  --lh-body: 1.8;
  --ls-body: 0.8px;
  --fw-body: 500;
  --fz-h1: clamp(34px, 4vw, 62px);
  --fz-h2: clamp(32px, 3vw, 45px);
  --fz-h3: clamp(24px, 2.8vw, 38px);
  --fz-h4: clamp(24px, 2vw, 28px);
  --fw-h1: 600;
  --fw-h2: 500;
  --fw-h3: 500;
  --fw-h4: 600;
  --lh-h1: 1;
  --lh-h2: 1;
  --lh-h3: 1.4;
  --lh-h4: 1;
  --ls-h1: 3.1px;
  --ls-h2: 2.25px;
  --ls-h3: 1.9px;
  --ls-h4: 1.9px;
  --container: 1200px;
  --container-wide: 1510px;
  --section-space-pc: 100px;
  --section-space-sp: 70px;
  --box-space-pc: 30px;
  --box-space-sp: 20px;
  --button-radius: 16px;
  --button-padding-y: 16px;
  --button-padding-x: 20px;
  --input-bg: #ffffff;
  --input-color: #222222;
  --input-placeholder: #bbbbbb;
  --input-border: #e8e1d6;
  --input-border-focus: #d27e00;
  --input-error: #d27e00;
  --input-radius: 16px;
  --input-height: 60px;
  --input-padding-y-pc: 16px;
  --input-padding-x-pc: 20px;
  --input-padding-y-sp: 14px;
  --input-padding-x-sp: 16px;
  --textarea-min-height: 140px;
}

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

html {
  scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  padding: 0 0 0 18px;
}

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

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

button,
input,
textarea,
select {
  font: inherit;
}

html {
  font-size: 100%;
}

body {
  color: var(--color-text);
  background: var(--color-white);
  font-family: var(--font-base);
  font-size: var(--fz-body);
  font-style: normal;
  font-weight: var(--fw-body);
  line-height: var(--lh-body);
  letter-spacing: var(--ls-body);
  overflow-x: hidden;
}

main {
  display: block;
}

.section {
  padding-top: var(--section-space-sp);
  padding-bottom: var(--section-space-sp);
}
@media (min-width: 768px) {
  .section {
    padding-top: var(--section-space-pc);
    padding-bottom: var(--section-space-pc);
  }
}

:lang(en) {
  font-family: "Lexend", sans-serif;
  font-weight: 500;
}

.l-container {
  width: min(100% - 32px, var(--container));
  margin-inline: auto;
}

.l-container--wide {
  width: min(100% - 32px, var(--container-wide));
  margin-inline: auto;
}

body.is-menu-open,
html.is-menu-open {
  overflow: hidden;
}
@media screen and (max-width: 899px) {
  body.is-menu-open,
  html.is-menu-open {
    overflow: hidden;
    height: 100vh;
  }
}

.l-header {
  position: relative;
  z-index: 1000;
}
@media screen and (max-width: 899px) {
  .l-header .l-container {
    width: min(100% - 16px, var(--container));
    margin: 0 0 0 16px;
  }
  .l-header .l-header__inner {
    padding: 0;
  }
}
.l-header__inner {
  padding: 25px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-header .c-header__logo {
  display: block;
  width: 266px;
  min-width: 266px;
  cursor: pointer;
}
.l-header .c-header__logo img {
  transition: opacity 0.3s ease;
}
.l-header .c-header__logo img:hover {
  opacity: 0.7;
}
@media screen and (max-width: 899px) {
  .l-header .c-header__logo {
    width: 208px;
    min-width: 208px;
  }
}
.l-header .c-header__nav {
  z-index: 1000;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 11.2201963534%;
  width: 713px;
}
@media screen and (max-width: 899px) {
  .l-header .c-header__nav {
    gap: 40px;
    width: 100%;
  }
  .l-header .c-header__nav .c-header__ttl {
    font-size: clamp(31px, 31px + 0vw, 31px);
    color: var(--color-white);
  }
  .l-header .c-header__nav .c-header__list {
    width: 71.2468193384%;
    margin: 0 auto;
    gap: 10px;
  }
  .l-header .c-header__nav .c-header__list .c-header__listItem {
    width: 100%;
    border-bottom: 1px solid var(--color-white);
  }
  .l-header .c-header__nav .c-header__list .c-header__listItem a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--color-white);
    padding: 16px 0;
  }
  .l-header .c-header__nav .c-header__list .c-header__listItem a::after {
    content: "";
    width: 17px;
    height: 17px;
    display: block;
    background: url("../../images/nav_menu_arrow.svg") no-repeat center center;
    background-size: contain;
  }
  .l-header .c-header__nav {
    padding-top: 100px;
    position: fixed;
    inset: 0;
    z-index: 1000;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    background: #d27e00;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }
  .l-header .c-header__nav .c-button__contact {
    display: none;
  }
}
@media screen and (max-width: 899px) {
  .l-header .c-header__nav.is-open {
    opacity: 1;
    visibility: visible;
  }
}
.l-header .c-header__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  width: 453px;
}
.l-header .c-header__list .c-header__listItem a {
  transition: color 0.3s ease;
}
.l-header .c-header__list .c-header__listItem a:hover {
  color: var(--color-main);
}
@media screen and (max-width: 899px) {
  .l-header .c-header__list {
    flex-direction: column;
    justify-content: center;
    gap: 32px;
    padding-left: 0;
  }
}
.l-header .c-header__sns {
  display: none;
}
@media screen and (max-width: 899px) {
  .l-header .c-header__sns {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
  }
  .l-header .c-header__sns .c-button__snsIcon {
    width: 44px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 22px;
    background: var(--color-white);
  }
}
.l-header .c-header__navLogo {
  display: none;
}
@media screen and (max-width: 899px) {
  .l-header .c-header__navLogo {
    display: block;
    width: 208px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 900px) {
  .c-sp__trigger {
    display: none;
  }
}
@media screen and (max-width: 899px) {
  .c-sp__trigger {
    position: relative;
    z-index: 1001;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 64px;
    height: 64px;
    padding: 0;
    border: none;
    border-radius: 0 0 0 8px;
    background: var(--color-key);
    cursor: pointer;
  }
}
.c-sp__trigger.is-open {
  background: none;
}
.c-sp__trigger.is-open .c-sp__triggerLine:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.c-sp__trigger.is-open .c-sp__triggerLine:nth-child(2) {
  opacity: 0;
}
.c-sp__trigger.is-open .c-sp__triggerLine:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

@media screen and (max-width: 899px) {
  .c-sp__triggerLine {
    display: block;
    width: 29px;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    transition: transform 0.3s ease, opacity 0.3s ease;
    transform-origin: center;
  }
}

@media screen and (max-width: 899px) {
  .c-sp__triggerText {
    margin: 0;
    font-size: 10px;
    line-height: 1;
    color: #fff;
  }
}

.l-footer {
  position: relative;
}
.l-footer__inner {
  padding: 60px 0;
}
.l-footer__inner .c-footer__logo {
  margin: 0 auto;
  display: block;
  width: 266px;
  cursor: pointer;
}
.l-footer__inner .c-footer__logo img {
  transition: opacity 0.3s ease;
}
.l-footer__inner .c-footer__logo img:hover {
  opacity: 0.7;
}
.l-footer__inner .c-button__tel {
  margin-top: 50px;
}
.l-footer__inner .c-footer__details {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.l-footer__inner .c-footer__details .c-footer__detailsText {
  line-height: 100%;
  font-size: clamp(14px, 13.3392070485px + 0.1762114537vw, 16px);
}
.l-footer .c-footer__copyright {
  padding: 30px;
  text-align: center;
  line-height: 100%;
  font-size: clamp(12px, 12px + 0vw, 12px);
  color: var(--color-white);
  background: var(--color-key);
}
@media (max-width: 767px) {
  .l-footer .c-footer__details {
    flex-direction: column;
    gap: 16px;
  }
}

.c-button {
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.c-button:hover {
  opacity: 0.85;
}

.c-button__contact {
  text-align: center;
  padding: 17px 40px;
  width: 180px;
  line-height: 100%;
  font-weight: 500;
  color: var(--color-text);
  border-radius: 25px;
  background: linear-gradient(91deg, #ffe887 4.6%, #efcb52 70.77%, #e1b326 99.52%);
  cursor: pointer;
  transition: filter 0.3s ease;
}

.c-button__contact:hover {
  filter: brightness(0.95);
}

.c-button__tel {
  width: -moz-fit-content;
  width: fit-content;
  padding: 18.5px 40px;
  margin: 0 auto;
  line-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: clamp(20px, 19.3392070485px + 0.1762114537vw, 22px);
  color: var(--color-white);
  border-radius: 30px;
  background: var(--color-key);
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.c-button__tel .c-button__telIcon {
  flex-shrink: 0;
}
.c-button__tel .c-button__telIcon path {
  stroke: currentColor;
  transition: stroke 0.3s ease;
}

.c-button__tel:hover {
  color: var(--color-text);
  background-color: var(--color-main);
}

.c-button__map {
  width: -moz-fit-content;
  width: fit-content;
  padding: 18px 52.5px;
  margin: 0 auto;
  line-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: clamp(20px, 19.3392070485px + 0.1762114537vw, 22px);
  color: var(--color-white);
  border-radius: 30px;
  background: var(--color-key);
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.c-button__map .c-button__mapIcon {
  flex-shrink: 0;
}
.c-button__map .c-button__mapIcon path {
  stroke: currentColor;
  transition: stroke 0.3s ease;
}

.c-button__map:hover {
  color: var(--color-text);
  background-color: var(--color-main);
}

.c-button__submit {
  width: 300px;
  margin: 0 auto;
  line-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: clamp(18px, 18px + 0vw, 18px);
  color: var(--color-white);
  border-radius: 30px;
  background: linear-gradient(91deg, #ffe887 4.6%, #efcb52 70.77%, #e1b326 99.52%);
  cursor: pointer;
  transition: filter 0.3s ease;
}
.c-button__submit button {
  margin-left: 17px;
  width: calc(100% - 34px);
  border: none;
  background: none;
  padding: 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  color: var(--color-text);
  font: inherit;
}
.c-button__submit button > span {
  width: 100%;
}
.c-button__submit .button__submitIcon {
  transition: transform 0.3s ease, color 0.3s ease;
}
.c-button__submit:hover {
  filter: brightness(0.95);
}
.c-button__submit:hover .button__submitIcon {
  transform: translateX(4px);
}

.c-h2 {
  width: -moz-max-content;
  width: max-content;
}
.c-h2 .c-h2__en {
  padding: 0 10px;
  font-size: clamp(32px, 27.704845815px + 1.1453744493vw, 45px);
  color: var(--color-main);
  text-align: center;
  font-size: 32px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 1.6px;
}
.c-h2 .c-h2__obj {
  margin-top: 4px;
  content: "";
  width: 100%;
  height: 9px;
  background: url("../../images/h2_obj.svg") no-repeat center center;
  background-size: cover;
}
.c-h2 .c-h2__objOrange {
  background: url("../../images/h2_obj_orange.svg") no-repeat center center;
  background-size: cover;
}
.c-h2 .c-heading2 {
  margin-top: 12px;
  color: var(---color-key);
  text-align: center;
  font-size: clamp(14px, 13.3392070485px + 0.1762114537vw, 16px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.8px;
}

.c-h3 {
  color: var(---color-key);
  text-align: center;
  font-size: clamp(32px, 28.6960352423px + 0.8810572687vw, 42px);
  font-weight: 700;
  line-height: 160%;
  letter-spacing: 4.2px;
}
.c-h3 span {
  color: var(--color-main);
}

.c-h4 {
  line-height: 140%;
  font-weight: 500;
  font-size: clamp(24px, 22.6784140969px + 0.3524229075vw, 28px);
}

.c-heading3 {
  text-align: center;
  width: 210px;
  font-family: "Yu Mincho", serif;
  font-size: clamp(24px, 19.3744493392px + 1.2334801762vw, 38px);
  font-weight: 600;
}
.c-heading3::after {
  content: "";
  width: 100%;
  height: 30px;
  display: block;
  background: url("../../images/section4_line_obj.svg") no-repeat center center;
  background-size: contain;
}
.c-heading3 span {
  color: var(--color-accent);
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
textarea,
select {
  width: 100%;
  border: 1px solid var(--input-border);
  border-radius: var(--input-radius);
  background: var(--input-bg);
  color: var(--input-color);
  padding: var(--input-padding-y-sp) var(--input-padding-x-sp);
  font-size: clamp(16px, 16px + 0vw, 16px);
}

input[type=text],
input[type=email],
input[type=tel],
input[type=url],
select {
  min-height: var(--input-height);
}

textarea {
  min-height: var(--textarea-min-height);
  resize: vertical;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  font-weight: 400;
  color: var(--input-placeholder);
}

input::placeholder,
textarea::placeholder {
  font-weight: 400;
  color: var(--input-placeholder);
}

input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--input-border-focus);
}

.c-form__set .c-radio.wpcf7-radio {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-wrap: wrap;
}
.c-form__set .wpcf7-list-item {
  margin: 0;
}
.c-form__set .wpcf7-list-item label {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}
.c-form__set .wpcf7-list-item input[type=radio] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.c-form__set .wpcf7-list-item-label {
  position: relative;
  display: inline-block;
  padding-left: 34px;
  line-height: 1.6;
}
.c-form__set .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 1px solid var(--color-light-gray);
  background: var(--color-white);
  transform: translateY(-50%);
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.c-form__set .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--color-accent);
  transform: translateY(-50%) scale(0);
  transition: transform 0.3s ease;
}
.c-form__set .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label::before {
  border-color: var(--color-accent);
}
.c-form__set .wpcf7-list-item input[type=radio]:checked + .wpcf7-list-item-label::after {
  transform: translateY(-50%) scale(1);
}
.c-form__set .wpcf7-list-item input[type=radio]:focus-visible + .wpcf7-list-item-label::before {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

@media (min-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=url],
  textarea,
  select {
    padding: var(--input-padding-y-pc) var(--input-padding-x-pc);
  }
}
.c-news-list {
  display: grid;
  gap: 16px;
}

.c-news-item {
  padding: var(--box-space-sp);
  border: 1px solid var(--color-light-gray);
  border-radius: 16px;
  background: var(--color-white);
}
@media (min-width: 768px) {
  .c-news-item {
    padding: var(--box-space-pc);
  }
}

.p-top__fv {
  position: relative;
  width: 100%;
  aspect-ratio: 1510/882;
  overflow: hidden;
}
.p-top__fv .p-top__fvImg1 {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  width: 90.7284768212%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 90px 0 0 0;
}
.p-top__fv .p-top__fvImg2 {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  width: 34.3708609272%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) and (max-width: 1050px) {
  .p-top__fv .p-top__fvImg2 {
    width: 27%;
  }
}
.p-top__fv .p-top__fvImg3 {
  --fv-ribbon-rotate: 0deg;
  position: absolute;
  left: 0;
  bottom: -9.0702947846%;
  width: 100%;
  z-index: 1;
  pointer-events: none;
  opacity: 0;
  transform: translateY(20px) rotate(var(--fv-ribbon-rotate));
}
.p-top__fv .p-top__fvImg3 svg {
  display: block;
  width: 100%;
  height: auto;
}
.p-top__fv .p-top__fvImg3.is-animate {
  animation: ribbonReveal 1s ease forwards, ribbonFloat 7.2s ease-in-out 1s infinite;
}
.p-top__fv .p-top__ribbonMotion {
  transform-origin: left center;
}
.p-top__fv .p-top__fvImg3.is-animate .p-top__ribbonMotion {
  animation: ribbonWind 6.2s cubic-bezier(0.45, 0.05, 0.25, 1) 1s infinite;
}
@keyframes ribbonReveal {
  0% {
    opacity: 0;
    transform: translateY(20px) rotate(var(--fv-ribbon-rotate));
  }
  100% {
    opacity: 1;
    transform: translateY(0) rotate(var(--fv-ribbon-rotate));
  }
}
@keyframes ribbonFloat {
  0% {
    transform: translateY(0) rotate(var(--fv-ribbon-rotate));
  }
  25% {
    transform: translateY(-4px) rotate(var(--fv-ribbon-rotate));
  }
  50% {
    transform: translateY(2px) rotate(var(--fv-ribbon-rotate));
  }
  75% {
    transform: translateY(-3px) rotate(var(--fv-ribbon-rotate));
  }
  100% {
    transform: translateY(0) rotate(var(--fv-ribbon-rotate));
  }
}
@keyframes ribbonWind {
  0% {
    transform: rotate(0deg) skewX(0deg) scaleX(1) scaleY(1);
  }
  20% {
    transform: rotate(-0.18deg) skewX(-0.7deg) scaleX(1.01) scaleY(0.995);
  }
  45% {
    transform: rotate(0.08deg) skewX(0.35deg) scaleX(0.997) scaleY(1.002);
  }
  70% {
    transform: rotate(-0.14deg) skewX(-0.5deg) scaleX(1.008) scaleY(0.998);
  }
  100% {
    transform: rotate(0deg) skewX(0deg) scaleX(1) scaleY(1);
  }
}
.p-top__fv .p-top__onTexts {
  position: absolute;
  z-index: 3;
  top: 110px;
  left: 2.6455026455%;
  color: #000;
  font-family: "Yu Mincho";
  font-style: normal;
  font-size: clamp(34px, 26.731277533px + 1.9383259912vw, 56px);
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 3.1px;
}
@media screen and (min-width: 768px) and (max-width: 1050px) {
  .p-top__fv .p-top__onTexts {
    font-size: clamp(34px, 32.0176211454px + 0.5286343612vw, 40px);
  }
}
.p-top__fv .p-top__onTexts .p-top__onText {
  width: -moz-fit-content;
  width: fit-content;
  padding: 12px 20px;
  background: var(--color-white);
}
.p-top__fv .p-top__onTexts .p-top__onText:nth-child(2) {
  margin-top: 5px;
}
.p-top__fv .p-top__onTexts .p-top__onText .char {
  display: inline-block;
  opacity: 0;
  transform: translateY(12px);
  filter: blur(4px);
  will-change: opacity, transform, filter;
}
.p-top__fv .p-top__onTexts .p-top__onText.is-animate .char {
  animation: fadeUpChar 0.6s ease forwards;
}
@keyframes fadeUpChar {
  0% {
    opacity: 0;
    transform: translateY(12px);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-top__fv .p-top__onTexts .p-top__onText .char {
    opacity: 1;
    transform: none;
    filter: none;
    animation: none !important;
  }
}
.p-top__fv .p-top__onTexts .p-top__onCatch {
  margin-top: 32px;
  line-height: 180%;
  font-size: clamp(18px, 14.6960352423px + 0.8810572687vw, 28px);
  opacity: 0;
  transform: translateY(16px);
  filter: blur(6px);
  will-change: opacity, transform, filter;
}
.p-top__fv .p-top__onTexts .p-top__onCatch.is-animate {
  animation: fadeInCatch 0.9s ease forwards;
  animation-delay: 1.2s;
}
.p-top__fv .p-top__onTexts .p-top__onCatch span {
  position: relative;
  margin: 0 3px;
  line-height: 160%;
  font-weight: 700;
  display: inline-block;
  color: var(--color-key);
  background: var(--color-white);
}
.p-top__fv .p-top__onTexts .p-top__onCatch span::after {
  width: 178px;
  height: 22px;
  display: block;
  content: "";
  position: absolute;
  background: url(../../images/hero_obj.svg) no-repeat center center;
  background-size: 100% 100%;
  left: -12px;
  bottom: -14px;
}
@media screen and (min-width: 768px) and (max-width: 1050px) {
  .p-top__fv .p-top__onTexts .p-top__onCatch {
    font-size: clamp(18px, 16.6784140969px + 0.3524229075vw, 22px);
  }
}
@keyframes fadeInCatch {
  0% {
    opacity: 0;
    transform: translateY(16px);
    filter: blur(6px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-top__fv .p-top__onTexts .p-top__onCatch {
    opacity: 1;
    transform: none;
    filter: none;
    animation: none !important;
  }
}

.p-top__news {
  margin-top: 45px;
}
.p-top__news .p-top__newsSplide {
  margin-top: 48px;
  position: relative;
}
.p-top__news .p-top__newsSplide .splide__slide {
  margin-bottom: 6px;
}
.p-top__news .p-top__newsSplide .p-top__newsSliderItem {
  width: 100%;
  padding: 20px;
  display: block;
  border-radius: 16px;
  background: #fbf6ea;
  box-shadow: 0 4px 6px 0 rgba(0, 0, 0, 0.1);
  transition: border 0.3s ease;
  border: 2px solid #fbf6ea;
  height: 100%;
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  color: var(--color-text);
  cursor: pointer;
}
.p-top__news .p-top__newsSplide .p-top__newsSliderItem:hover {
  border: 2px solid var(--color-accent);
}
.p-top__news .p-top__newsSplide .p-top__newsInner {
  position: relative;
  padding-inline: 60px;
}
.p-top__news .p-top__newsSplide .splide__arrows {
  position: absolute;
  inset: 50% 0 auto 0;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 10;
}
.p-top__news .p-top__newsSplide .splide__arrow {
  position: absolute;
  top: 50%;
  width: 35px;
  height: 35px;
  border: 0;
  border-radius: 50%;
  background: var(--color-key);
  opacity: 1;
  transform: translateY(-50%);
  transition: background 0.3s ease;
  pointer-events: auto;
  transition: opacity 0.3s ease;
}
.p-top__news .p-top__newsSplide .splide__arrow svg {
  display: none;
}
.p-top__news .p-top__newsSplide .splide__arrow:hover {
  opacity: 0.7;
}
.p-top__news .p-top__newsSplide .splide__arrow--prev {
  left: 0;
  background: url("../../images/slider_icon_prev.svg") no-repeat center center;
}
.p-top__news .p-top__newsSplide .splide__arrow--next {
  right: 0;
  background: url("../../images/slider_icon_next.svg") no-repeat center center;
}
.p-top__news .p-top__newsSplide .p-top__sliderLine {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
.p-top__news .p-top__newsSplide .p-top__sliderLine time {
  font-size: clamp(14px, 14px + 0vw, 14px);
}
.p-top__news .p-top__newsSplide .p-top__sliderLine .category {
  padding: 6px 12px;
  line-height: 100%;
  font-size: clamp(12px, 12px + 0vw, 12px);
  border-radius: 12px;
  color: var(--color-white);
  background: var(--color-accent);
}
.p-top__news .p-top__newsSplide .p-top__newsSliderh3 {
  text-align: left;
  line-height: 160%;
  font-size: clamp(16px, 16px + 0vw, 16px);
}
.p-top__news .p-top__newsSplide .splide__list {
  align-items: stretch;
}
.p-top__news .is-modal-open {
  overflow: hidden;
}
.p-top__news .c-newsModal[hidden] {
  display: none;
}
.p-top__news .c-newsModal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-top__news .c-newsModal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}
.p-top__news .c-newsModal__content {
  position: relative;
  z-index: 1;
  width: min(100% - 32px, 900px);
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  margin: 40px auto;
  padding: 32px;
  border-radius: 16px;
  background: var(--color-white);
}
.p-top__news .c-newsModal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  border: 0;
  background: transparent;
  font-size: 24px;
  color: var(--color-text);
  cursor: pointer;
}
.p-top__news .c-newsModal__meta {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 8px;
}
.p-top__news .c-newsModal__meta .category {
  padding: 6px 12px;
  line-height: 100%;
  font-size: clamp(12px, 12px + 0vw, 12px);
  border-radius: 12px;
  color: var(--color-white);
  background: var(--color-accent);
}
.p-top__news .c-newsModal__title {
  margin-top: 24px;
  font-size: clamp(16px, 15.3392070485px + 0.1762114537vw, 18px);
}
.p-top__news .c-newsModal__body {
  margin-top: 32px;
  line-height: 2;
}
.p-top__news .c-newsModal__body > * + * {
  margin-top: 1em;
}
.p-top__news .c-newsModal__body p,
.p-top__news .c-newsModal__body ul,
.p-top__news .c-newsModal__body ol,
.p-top__news .c-newsModal__body blockquote,
.p-top__news .c-newsModal__body figure {
  margin: 0 0 1em;
}
.p-top__news .c-newsModal__body ul,
.p-top__news .c-newsModal__body ol {
  padding-left: 1.5em;
}
.p-top__news .c-newsModal__body ul li + li,
.p-top__news .c-newsModal__body ol li + li {
  margin-top: 0.5em;
}
.p-top__news .c-newsModal__body h1,
.p-top__news .c-newsModal__body h2,
.p-top__news .c-newsModal__body h3,
.p-top__news .c-newsModal__body h4 {
  margin: 2em 0 0;
  line-height: 1.4;
}
.p-top__news .c-newsModal__body h1 + *,
.p-top__news .c-newsModal__body h2 + *,
.p-top__news .c-newsModal__body h3 + *,
.p-top__news .c-newsModal__body h4 + * {
  margin-top: 0.75em;
}
.p-top__news .c-newsModal__body a {
  text-decoration: underline;
}
.p-top__news .c-newsModal__body img {
  display: block;
  height: auto;
  max-width: 100%;
}
.p-top__news .c-newsModal__body blockquote {
  padding-left: 1em;
  border-left: 3px solid var(--color-light-gray);
}

.p-top__about {
  position: relative;
  padding: 100px 0;
  overflow: hidden;
}
.p-top__about .p-top__aboutVisual {
  position: absolute;
  left: 0;
  bottom: 162px;
  z-index: 1;
  width: clamp(260px, 36.4238410596vw, 800px);
  aspect-ratio: 550/420;
}
.p-top__about .p-top__aboutVisual .p-top__aboutImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  border-radius: 0 16px 16px 0;
}
.p-top__about .l-container {
  position: relative;
  z-index: 2;
}
.p-top__about .p-top__topText {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.p-top__about .p-top__topText .p-top__aboutHeading {
  margin: 0;
  color: var(--color-bg-dark);
  font-size: clamp(46px, 34.7665198238px + 2.9955947137vw, 80px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 4px;
}
@media screen and (min-width: 768px) and (max-width: 1050px) {
  .p-top__about .p-top__topText .p-top__aboutHeading {
    font-size: clamp(46px, 41.3744493392px + 1.2334801762vw, 60px);
  }
}
.p-top__about .p-top__topText .p-top__aboutCatch {
  width: min(100%, 670px);
  margin: 0;
  color: var(--color-text);
  font-family: "Yu Mincho", serif;
  font-size: clamp(26px, 21.3744493392px + 1.2334801762vw, 40px);
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 1.3px;
}
@media screen and (min-width: 971px) and (max-width: 1100px) {
  .p-top__about .p-top__topText .p-top__aboutCatch {
    width: min(100%, 570px);
  }
}
@media screen and (min-width: 768px) and (max-width: 970px) {
  .p-top__about .p-top__topText .p-top__aboutCatch {
    width: min(100%, 520px);
  }
}
.p-top__about .p-top__aboutTexts {
  margin-top: 64px;
  width: min(100%, 670px);
  margin-left: auto;
  display: flex;
  flex-direction: column;
  gap: 48px;
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-top__about .p-top__aboutTexts {
    width: min(100%, 570px);
  }
}
@media screen and (min-width: 768px) and (max-width: 970px) {
  .p-top__about .p-top__aboutTexts {
    width: min(100%, 520px);
  }
}
.p-top__about .p-top__aboutTexts .p-top__aboutText {
  margin: 0;
  color: var(--color-text);
  line-height: 2;
}

.p-top__banso {
  position: relative;
  padding: 100px 0;
  background: url("../../images/section2_bg.jpg") no-repeat center bottom;
  background-size: cover;
}
.p-top__banso .p-top__bansoImg {
  position: absolute;
  left: 0;
  bottom: 28px;
  max-width: 186px;
  width: 17.680608365%;
  height: auto;
}
.p-top__banso .p-top__bansoText1 {
  position: relative;
  z-index: 2;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin-left: auto;
  line-height: 180%;
  font-size: clamp(14px, 12.6784140969px + 0.3524229075vw, 18px);
}
.p-top__banso .p-top__bansoText1::after {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 105px;
  margin: 20px 0 -50px;
  display: block;
  content: "";
  background: url("../../images/section2_obj_line.svg") no-repeat center center;
}
.p-top__banso .p-top__bansoText2 {
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin-right: auto;
  line-height: 180%;
  font-size: clamp(14px, 12.6784140969px + 0.3524229075vw, 18px);
}
.p-top__banso .p-top__bansoText2::before {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 105px;
  margin: -65px 0 20px;
  display: block;
  content: "";
  background: url("../../images/section2_obj_line.svg") no-repeat center center;
}
.p-top__banso .p-top__bansoIllust {
  position: relative;
  z-index: 2;
  margin: 48px auto 0;
  max-width: 800px;
}
.p-top__banso .p-top__bansoIllust .p-top__illust {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-top__banso .p-top__bansoIllust .p-top__illust .p-top__illustImg {
  width: 100%;
  max-width: none;
}
.p-top__banso .p-top__bansoIllust .p-top__illust .p-top__illustTexts {
  position: absolute;
  top: 32%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 600px;
}
.p-top__banso .p-top__bansoIllust .p-top__illust .p-top__ilustText1,
.p-top__banso .p-top__bansoIllust .p-top__illust .p-top__ilustText2 {
  text-align: center;
  width: 50%;
  font-size: clamp(16px, 13.3568281938px + 0.704845815vw, 24px);
  line-height: 160%;
}

.p-top__service {
  padding: 100px 0;
}
.p-top__service .c-h2 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-top__service .p-top__introText {
  text-align: center;
  margin-top: 48px;
  line-height: 160%;
  letter-spacing: 0.7px;
  font-size: clamp(14px, 13.3392070485px + 0.1762114537vw, 16px);
}
.p-top__service .c-flex {
  margin-top: 60px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 7%;
}
.p-top__service .c-flex .c-flexImages {
  width: 41.3333333333%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 16px;
}
.p-top__service .c-flex .c-flexImages img {
  width: 80.6451612903%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  aspect-ratio: 400/300;
  border-radius: 32px;
}
.p-top__service .c-flex .c-flexImages .c-flexImages__obj {
  content: "";
  min-width: 80px;
  width: 80px;
  height: 200px;
  display: block;
  border-radius: 16px;
}
.p-top__service .c-flex .c-flexImages .c-flexImages__obj1 {
  position: relative;
  z-index: 10;
  background: var(--color-light-gray);
}
.p-top__service .c-flex .c-flexImages .c-flexImages__obj2 {
  position: relative;
  z-index: 10;
  background: var(--color-bg);
}
.p-top__service .c-flex .c-flexImages2 {
  align-items: flex-end;
}
.p-top__service .c-flex + .c-flex {
  margin-top: 80px;
}
.p-top__service .c-flex .c-flex__textBox {
  padding: 20px 30px;
  margin-top: 24px;
  font-size: clamp(16px, 15.3392070485px + 0.1762114537vw, 18px);
  border-radius: 16px;
  background: var(--color-bg-dark);
}
.p-top__service .c-flex .c-flex__texts {
  width: 46.6666666667%;
}

.p-top__unique {
  padding: 100px 0;
  margin-right: 25px;
  margin-left: 25px;
  border-radius: 32px;
  background-color: rgba(243, 240, 236, 0.82);
  position: relative;
  overflow: hidden;
}
.p-top__unique .p-top__uniqueRibbon {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  pointer-events: none;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 1s ease;
}
.p-top__unique .p-top__uniqueRibbon svg {
  display: block;
  width: 100%;
  height: auto;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.2s ease;
}
.p-top__unique .p-top__uniqueRibbon.is-show {
  opacity: 1;
  transform: translateY(0);
}
.p-top__unique .p-top__uniqueRibbon.is-show svg {
  clip-path: inset(0 0 0 0);
}
.p-top__unique .l-container {
  position: relative;
  z-index: 2;
}
.p-top__unique .p-top__illust {
  width: 722px;
  margin: 48px auto 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.p-top__unique .p-top__illust .p-top__circle {
  width: 380px;
  height: 380px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 24px;
  aspect-ratio: 1/1;
  border-radius: 190px;
  background: url("../../images/section3_circle_1.png") no-repeat center center;
  background-size: contain;
}
.p-top__unique .p-top__illust .p-top__circle .p-top__circleText {
  text-align: center;
  line-height: 160%;
  letter-spacing: 1px;
  font-weight: 500;
  font-size: clamp(16px, 14.6784140969px + 0.3524229075vw, 20px);
}
.p-top__unique .p-top__illust .p-top__circle1 {
  margin-top: 79px;
}
.p-top__unique .p-top__illust .p-top__circle2 {
  margin-left: -30px;
  background: url("../../images/section3_circle_2.png") no-repeat center center;
  background-size: contain;
}
.p-top__unique .p-top__plus {
  margin: 0 auto;
  display: block;
}
.p-top__unique .c-grid {
  max-width: 960px;
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.p-top__unique .c-grid .c-grid__item {
  padding: 19px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 16px;
  border: 1px solid var(--color-light-gray);
  background: var(--color-accent);
}
.p-top__unique .c-grid .c-grid__item .c-grid__itemTexts {
  line-height: 100%;
  letter-spacing: 1.2px;
  font-weight: 700;
  font-size: clamp(20px, 18.6784140969px + 0.3524229075vw, 24px);
  color: var(--color-white);
}
.p-top__unique .c-grid .c-grid__item:not(:first-child) {
  border: 1px solid var(--color-light-gray);
  background: var(--color-white);
}
.p-top__unique .c-grid .c-grid__item:not(:first-child) .c-grid__itemTexts {
  color: var(--color-key);
}

.p-top__office {
  padding: 100px 0;
}
.p-top__office .c-h2 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-top__office .c-flex {
  margin-top: 48px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 10.8333333333%;
}
.p-top__office .c-flex .c-flexTable {
  width: 41.6666666667%;
}
.p-top__office .c-flex .c-flexMap iframe {
  border-radius: 32px;
}
.p-top__office .c-flex .c-flexMap .c-button__map {
  margin-top: 50px;
}

.p-top__contact {
  padding: 100px 0;
  background-color: #fbf6ea;
  position: relative;
  overflow: hidden;
}
.p-top__contact .p-top__contactRibbon {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  pointer-events: none;
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 1s ease;
}
.p-top__contact .p-top__contactRibbon svg {
  display: block;
  width: 100%;
  height: auto;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1.2s ease;
}
.p-top__contact .p-top__contactRibbon.is-show {
  opacity: 1;
  transform: translateY(0);
}
.p-top__contact .p-top__contactRibbon.is-show svg {
  clip-path: inset(0 0 0 0);
}
.p-top__contact .l-container {
  position: relative;
  z-index: 2;
}
.p-top__contact .c-h2 {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.p-top__contact .p-top__contactCatch {
  margin-top: 48px;
  line-height: 160%;
  font-weight: 600;
  font-size: clamp(26px, 24.0176211454px + 0.5286343612vw, 32px);
  font-family: "Yu Mincho", serif;
}
.p-top__contact .p-top__contactIntro {
  margin-top: 24px;
}
.p-top__contact .p-top__contactBox {
  width: 880px;
  margin: 60px auto 0;
  padding: 60px;
  border-radius: 32px;
  background: var(--color-white);
}
.p-top__contact .p-top__contactBox .c-form__input {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 5px;
}
.p-top__contact .p-top__contactBox .c-form__input + .c-form__input {
  margin-top: 32px;
}
.p-top__contact .p-top__contactBox .c-form__input .c-form__inputTt {
  font-size: clamp(16px, 16px + 0vw, 16px);
}
.p-top__contact .p-top__contactBox .c-form__input .c-form__inputTt .required {
  margin-left: 3px;
  font-size: clamp(8px, 8px + 0vw, 8px);
  color: #e72a2a;
}
.p-top__contact .p-top__contactBox .c-form__input .c-form__set {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 32px;
}
.p-top__contact .p-top__contactBox .wpcf7-form-control-wrap {
  width: 100%;
}
.p-top__contact .p-top__contactBox .c-button__submit {
  margin-top: 60px;
}
.p-top__contact .p-top__contactIntro {
  line-height: 160%;
  font-size: clamp(14px, 13.3392070485px + 0.1762114537vw, 16px);
}

.js-fade {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(6px);
  transition: opacity 0.8s ease, transform 0.8s ease, filter 0.8s ease;
  will-change: opacity, transform, filter;
}
.js-fade.is-show {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
  .js-fade {
    opacity: 1;
    transform: none;
    filter: none;
    transition: none;
  }
}
@media (max-width: 767px) {
  .p-top__fv {
    margin-top: 10px;
    aspect-ratio: 363/778;
    height: 778px;
  }
  .p-top__fv .p-top__onTexts {
    left: 4.0712468193%;
    top: 30px;
  }
  .p-top__fv .p-top__onTexts .p-top__onCatch span::after {
    left: 0;
    width: 110px;
    height: 16px;
  }
  .p-top__fv .p-top__fvImg1 {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-top__fv .p-top__fvImg2 {
    width: 248px;
    height: 369px;
    aspect-ratio: 41/61;
  }
  .p-top__fv .p-top__fvImg3 {
    --fv-ribbon-rotate: -20deg;
    left: -20%;
    bottom: 20px;
    width: 150%;
    transform-origin: center center;
  }
  .p-top__fv .p-top__onTexts .p-top__onText {
    padding: 12px 15px;
  }
  .p-top__fv .p-top__onTexts .p-top__onText:nth-child(2) {
    line-height: 140%;
  }
  .p-top__news .p-top__newsSplide .p-top__newsInner {
    padding-inline: 0;
    padding-bottom: 50px;
  }
  .p-top__news .p-top__newsSplide .splide__arrows {
    position: absolute;
    inset: auto 0 0 0;
    transform: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    pointer-events: none;
  }
  .p-top__news .p-top__newsSplide .splide__arrows .splide__arrow {
    position: static;
    transform: none;
    pointer-events: auto;
  }
  .p-top__news .p-top__newsSplide .splide__arrows .splide__arrow:hover {
    opacity: 1;
  }
  .p-top__about {
    padding: 70px 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    gap: 60px;
  }
  .p-top__about .p-top__aboutVisual {
    order: 2;
    position: static;
    width: calc(100% - 32px);
    margin: 0 auto 32px;
    display: flex;
    gap: 20px;
  }
  .p-top__about .p-top__aboutVisual .p-top__aboutImg {
    width: auto;
    height: 350px;
    aspect-ratio: 1/1;
    margin: 0 auto;
    border-radius: 16px;
  }
  .p-top__about > .l-container {
    order: 1;
  }
  .p-top__about > .l-container .p-top__topText {
    flex-direction: column;
    gap: 32px;
  }
  .p-top__about > .l-container .p-top__topText .p-top__aboutCatch {
    line-height: 160%;
  }
  .p-top__banso {
    padding: 80px 0 180px;
    background: url(../../images/section2_bg_sp.jpg) no-repeat center bottom;
    background-size: cover;
  }
  .p-top__banso .p-top__bansoIllust .p-top__illust {
    width: 100%;
  }
  .p-top__banso .p-top__bansoIllust .p-top__illust .p-top__illustTexts {
    width: 100%;
  }
  .p-top__banso .p-top__bansoIllust .p-top__bansoText1 {
    text-align: right;
  }
  .p-top__banso .p-top__bansoIllust .p-top__bansoText1::after {
    margin: 20px 0 -40px;
    height: 70px;
    background-position: 80% 50%;
  }
  .p-top__banso .p-top__bansoIllust .p-top__bansoText2 {
    text-align: left;
  }
  .p-top__banso .p-top__bansoIllust .p-top__bansoText2::before {
    margin: -40px 0 20px;
    height: 70px;
    background-position: 20% 50%;
  }
  .p-top__service {
    padding: 80px 0;
  }
  .p-top__service .c-flex {
    flex-direction: column;
    gap: 32px;
  }
  .p-top__service .c-flex + .c-flex {
    margin-top: 60px;
  }
  .p-top__service .c-flex .c-flex__texts {
    width: 100%;
    order: 1;
  }
  .p-top__service .c-flex .c-flexImages {
    width: 100%;
    flex-direction: column;
    gap: 0;
    order: 2;
  }
  .p-top__service .c-flex .c-flexImages > img {
    order: 1;
    width: 100%;
    height: auto;
    aspect-ratio: 360/270;
  }
  .p-top__service .c-flex .c-flexImages .c-flexImages__obj {
    margin: -40px 0 0 20px;
    min-width: 40px;
    width: 40px;
    height: 100px;
    order: 2;
  }
  .p-top__service .c-flex .c-flexImages .c-flexImages__obj2 {
    margin: -40px 20px 0 0;
  }
  .p-top__unique {
    padding: 80px 0;
    margin-right: 0;
    margin-left: 0;
    border-radius: 0;
  }
  .p-top__unique .p-top__uniqueRibbon {
    width: 200%;
    left: -200px;
    bottom: 200px;
  }
  .p-top__unique .p-top__illust {
    width: 100%;
    flex-direction: column;
    align-items: center;
  }
  .p-top__unique .p-top__illust .p-top__circle {
    width: 260px;
    height: auto;
  }
  .p-top__unique .p-top__illust .p-top__circle1 {
    position: relative;
    z-index: 2;
    margin-top: 0;
    margin-left: 60px;
  }
  .p-top__unique .p-top__illust .p-top__circle2 {
    position: relative;
    z-index: 1;
    margin-top: -40px;
    margin-right: 60px;
  }
  .p-top__unique .p-top__plus {
    margin-top: 24px;
  }
  .p-top__unique .c-grid {
    width: 85.0415512465%;
    grid-template-columns: repeat(1, 1fr);
  }
  .p-top__office {
    padding: 80px 0;
  }
  .p-top__office .c-flex {
    flex-direction: column;
    gap: 48px;
  }
  .p-top__office .c-flex .c-flexTable {
    width: 100%;
  }
  .p-top__office .c-flex .c-flexMap {
    margin: 0 auto;
    width: 100%;
    aspect-ratio: 1/1;
  }
  .p-top__office .c-flex .c-flexMap iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  .p-top__contact .p-top__contactRibbon {
    width: 220%;
    left: auto;
    right: 0;
  }
  .p-top__contact .p-top__contactBox {
    padding: 40px 20px;
    width: 100%;
    border-radius: 16px;
  }
}
.p-contact-form {
  position: relative;
}

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

.u-text-center {
  text-align: center !important;
}

.u-font-bold {
  font-weight: 700 !important;
}

.u-list .u-list__item {
  font-size: clamp(16px, 15.3392070485px + 0.1762114537vw, 18px);
}
.u-list .u-list__item + .u-list__item {
  margin-top: 8px;
}

.u-table {
  width: 100%;
  border-collapse: collapse;
}
.u-table tr {
  margin-bottom: 32px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--color-light-gray);
  display: block;
}
.u-table tr:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}
.u-table th,
.u-table td {
  text-align: left;
  line-height: 160%;
  font-weight: 700;
  display: block;
}
.u-table th {
  font-size: clamp(16px, 15.3392070485px + 0.1762114537vw, 18px);
  color: var(--color-accent);
}

.u-marker {
  background: linear-gradient(transparent 60%, rgba(242, 227, 184, 0.4) 60%);
}

.u-sp-only {
  display: inline !important;
}
@media (min-width: 768px) {
  .u-sp-only {
    display: none !important;
  }
}

.u-pc-only {
  display: none !important;
}
@media (min-width: 768px) {
  .u-pc-only {
    display: inline !important;
  }
}/*# sourceMappingURL=style.css.map */