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

blockquote,
body,
dd,
dl,
figure,
h1,
h2,
h3,
h4,
li,
ol,
p,
ul {
  font-weight: 400;
  margin: 0;
  padding: 0
}

ol,
ul {
  list-style: none
}

body {
  line-height: 1.5;
  min-height: 100vh;
  min-height: 100dvh;
  text-rendering: optimizeSpeed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

a {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent
}

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

img[style*=aspect-ratio] {
  height: 100%
}

button,
input,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  font: inherit
}

button,
input,
select,
textarea {
  background: transparent;
  color: inherit;
  margin: 0;
  padding: 0
}

button {
  border: none;
  cursor: pointer
}

summary {
  cursor: pointer;
  display: block
}

summary::-webkit-details-marker {
  display: none
}

:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px
}

:focus:not(:focus-visible) {
  outline: none
}

* {
  scrollbar-color: rgba(0, 0, 0, .3) transparent;
  scrollbar-width: thin
}

::-webkit-scrollbar {
  height: 8px;
  width: 8px
}

::-webkit-scrollbar-track {
  background: transparent
}

::-webkit-scrollbar-thumb {
  background-color: #0000004d;
  border-radius: 4px
}

img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none
}

* {
  -webkit-tap-highlight-color: transparent
}

::-moz-selection {
  background-color: #0000001a
}

::selection {
  background-color: #0000001a
}

.p-accordion__item+.p-accordion__item {
  margin-top: 1.875rem
}

.p-main-content {
  /* overflow-x: hidden;
  overflow-y: initial; */
  position: relative
}

.p-main-content:before {
  content: "";
  left: 50%;
  position: absolute;
  transform: translate(-50%);
  width: 100%;
  z-index: -1
}

.p-main-content__main {
  width: 100%
}

.p-main-content__img img {
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.p-main-content__body {
  display: flex;
  position: relative
}

.p-main-content__body-img img,
.p-main-content__body-img2 img {
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.p-main-content__body-img3 {
  display: none
}

.p-main-content__body-img3 img {
  aspect-ratio: var(--aspect-ratio);
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.p-main-content__body-img4 {
  margin-inline: calc(50% - 50vw);
  position: relative;
  width: 100vw;
  z-index: 1
}

.p-main-content__body-img4 img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  width: 100%
}

.c-history-items {
  margin-inline: auto;
  width: 100%
}

.c-history-item {
  display: flex
}

.c-history-item__title {
  height: 100%;
  position: relative;
  width: 100%
}

.c-history-item__title:after {
  background-color: #000;
  content: "";
  position: absolute;
  top: calc(100% + 4px);
  transform: translate(-50%);
  width: 1px
}

.c-facility-item {
  align-items: center;
  display: flex;
  width: 100%
}

.c-facility-item:last-child {
  border-bottom: none
}

.c-facility-item__img {
  flex-shrink: 0;
  width: 100%
}

.c-facility-item__img img {
  aspect-ratio: var(--aspect-ratio);
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.c-facility-item__content {
  width: -moz-fit-content;
  width: fit-content
}

.c-facility-item__box:not(:first-child) {
  position: relative
}

.c-facility-item__box:not(:first-child):before {
  background: url(../images/common/doted.webp) no-repeat 50%/cover;
  content: "";
  left: 0;
  position: absolute;
  top: 0
}

.c-facility-item__text {
  display: inline-block;
  position: relative
}

.c-facility-item__text:before {
  background: url(../images/common/link-arrow.svg) no-repeat 50%/cover;
  content: "";
  height: 5px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%)
}

.c-facility-item__text:hover:before {
  animation: move-arrow .8s cubic-bezier(.215, .61, .355, 1) forwards
}

@keyframes move-arrow {

  40%,
  50% {
    opacity: 0
  }

  43% {
    transform: translate(105%) translateY(-50%) scaleY(.1)
  }

  44%,
  50% {
    transform: translate(-145%) translateY(-50%) scaleY(.1)
  }

  to {
    opacity: 1;
    transform: translate(0) translateY(-50%) scaleY(1)
  }
}

.c-facility-item__open {
  background-color: #ef91a7;
  color: #fff;
  text-align: center;
  width: 100%
}

.p-about {
  /* overflow: hidden; */
  position: relative
}

.p-about:after {
  height: auto
}

.p-about:after,
.p-about:before {
  content: "";
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1
}

.p-about:before {
  height: 100%
}

.p-about__map {
  height: 100%;
  width: 100%
}

.p-about__map iframe {
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.p-about__slider {
  position: relative
}

.p-about__slider:before {
  content: "";
  height: auto;
  position: absolute;
  width: 100%;
  z-index: -1
}

.slider-wrapper {
  display: flex;
  overflow: hidden
}

.slider {
  animation: scroll-left 25s linear .5s infinite both;
  display: flex
}

.slide img {
  display: block;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

@keyframes scroll-left {
  0% {
    transform: translate(0)
  }

  to {
    transform: translate(-100%)
  }
}

.c-scroll-fv {
  align-items: center;
  bottom: -4.375rem;
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 6.8125rem;
  justify-content: center;
  left: 1.75rem;
  position: absolute;
  width: 1.875rem;
  z-index: 10
}

.c-scroll-fv__line {
  animation: scrolldown 2.2s cubic-bezier(.76, 0, .3, 1) infinite forwards;
  background: linear-gradient(180deg, #000 50%, transparent 0);
  background-position: 0 -70px;
  background-size: 100% 200%;
  display: block;
  flex-shrink: 0;
  height: 4.375rem;
  width: 1px
}

.c-scroll-fv__text {
  color: #000;
  display: block;
  font-family: Average, serif;
  font-size: .875rem;
  letter-spacing: .05em;
  transform: rotate(270deg)
}

@keyframes scrolldown {
  0% {
    background-position: 0 -70px
  }

  75% {
    background-position: 0 0
  }

  to {
    background-position: 0 4.375rem
  }
}

.c-about-items {
  margin-inline: auto;
  width: 100%
}

.c-about-item {
  display: flex
}

.c-about-item:not(:first-child) {
  margin-top: 1.5rem
}

.c-about-item__title {
  height: 100%;
  position: relative;
  width: 100%
}

.c-about-item__title:after {
  background-color: #000;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px
}

.c-about-item__link {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content
}

.p-privacy-fv {
  position: relative
}

.p-privacy-fv__img {
  width: 100%
}

.p-privacy-fv__img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%
}

.l-inner {
  margin-left: auto;
  margin-right: auto;
  padding-left: 2.0625rem;
  padding-right: 2.0625rem;
  width: 100%
}

.u-fade-up {
  animation: fadeup 1s cubic-bezier(.33, 1, .68, 1) forwards
}

@keyframes fadeup {
  0% {
    opacity: 0;
    transform: translateY(30px)
  }

  80% {
    opacity: 1
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.p-main {
  overflow: hidden
}

.p-scroll-box {
  position: relative
}

.c-facility-item--sakuranoki .c-facility-item__text {
  pointer-events: none;
}

@media screen and (min-width:768px) {
  html {
    font-size: max(12px, 1.5238095238vw)
  }

  .p-main-content {
    padding-bottom: 10.875rem;
    padding-top: 17.875rem
  }

  .p-main-content:before {
    background: url(../images/common/main_pc.svg) no-repeat bottom/cover;
    top: 0;
    height: 70rem;
    left: 58%;
    max-width: 53rem
  }

  .p-main-content:after {
    background: url(../images/common/main_pc2.svg) no-repeat bottom/cover;
    bottom: 0;
    content: "";
    height: 10.875rem;
    left: 0;
    max-width: 45.375rem;
    position: absolute;
    width: 100%;
    z-index: -1
  }

  .p-main-content__main {
    display: flex;
    flex-direction: row-reverse;
    gap: 4.375rem;
    justify-content: space-between;
    padding-left: 18.6%
  }

  .p-main-content__img {
    max-width: 26.25rem;
    width: 100%
  }

  .p-main-content__head {
    margin-top: -.25rem;
    max-width: 27.5rem;
    width: 100%
  }

  .p-main-content__title {
    font-size: 2rem;
    line-height: 1.09375;
    white-space: nowrap
  }

  .p-main-content__text {
    font-size: 1.125rem;
    line-height: 2;
    margin-top: 3.25rem
  }

  .p-main-content__text--palt {
    font-feature-settings: "palt"
  }

  .p-main-content__body {
    margin-top: 7.5rem;
    margin-inline: auto;
    max-width: 65.625rem;
    padding-inline: 1.5625rem;
    width: 100%
  }

  .p-main-content__body-img {
    flex-shrink: 0;
    max-width: 26.25rem;
    width: 100%
  }

  .p-main-content__body-img2 {
    margin-left: 10rem;
    max-width: 11.25rem;
    transform: translateY(-12.875rem);
    width: 100%
  }

  .p-main-content__body-img3 {
    display: block;
    margin-left: 1.25rem;
    margin-top: 1.75rem;
    max-width: 13.75rem;
    width: 100%
  }

  .p-main-content__body-img4 {
    height: 37.25rem;
    margin-top: 2.25rem
  }

  .p-main-content__body-img4 img {
    height: 37.25rem
  }

  .p-history {
    margin-top: 10.25rem;
    padding-bottom: 2.125rem
  }

  .c-history-items {
    margin-top: 5.625rem;
    max-width: 29.75rem;
    transform: translate(2.3125rem)
  }

  .c-history-item {
    font-size: 1rem;
    gap: 1.875rem;
    letter-spacing: .05em;
    line-height: 1.75
  }

  .c-history-item:not(:first-child) {
    margin-top: 2.5rem
  }

  .c-history-item__title {
    max-width: 4.5rem
  }

  .c-history-item__title:after {
    height: 4.0625rem;
    left: 45%;
    width: 2px;
    background: url(../images/common/history01.svg) no-repeat center/contain;
  }

  .c-history-item:nth-child(2) .c-history-item__title:after,
  .c-history-item:nth-child(3) .c-history-item__title:after {
    height: 1.875rem;
    background: url(../images/common/history02.svg) no-repeat center/contain;
  }

  .c-history-item:nth-child(4) .c-history-item__title:after {
    height: 3.5rem;
    background: url(../images/common/history03.svg) no-repeat center/contain;
  }

  .c-history-item:nth-child(5) .c-history-item__title:after,
  .c-history-item:nth-child(6) .c-history-item__title:after {
    height: 1.875rem;
    background: url(../images/common/history02.svg) no-repeat center/contain;
  }

  .c-history-item:nth-child(3),
  .c-history-item:nth-child(4),
  .c-history-item:nth-child(5) {
    margin-top: 2.1875rem
  }

  .c-history-item:nth-child(6) {
    margin-top: 2.125rem
  }

  .p-facility {
    margin-top: 2.75rem
  }

  .p-facility__items {
    display: flex;
    flex-wrap: wrap;
    gap: 6.125rem 5.3125rem;
    justify-content: center;
    margin-top: 7.5rem;
    margin-inline: auto;
    max-width: 55rem;
    width: 100%
  }

  .c-facility-item {
    gap: 2.4375rem;
    justify-content: flex-start;
    max-width: 24.8125rem
  }

  .c-facility-item--terabe {
    align-items: flex-start
  }

  .c-facility-item--terabe .c-facility-item__img {
    margin-top: .4375rem
  }

  .c-facility-item--palette {
    gap: 2.125rem
  }

  .c-facility-item--kuchinashi {
    gap: 2rem
  }

  .c-facility-item--sakuranoki {
    gap: 2.1875rem
  }

  .c-facility-item--sakuranoki .c-facility-item__box {
    margin-top: .9375rem
  }

  .c-facility-item__img {
    max-width: 11.375rem
  }

  .c-facility-item--palette .c-facility-item__img {
    max-width: 13rem
  }

  .c-facility-item--kuchinashi .c-facility-item__img {
    max-width: 12.125rem
  }

  .c-facility-item--sakuranoki .c-facility-item__img {
    max-width: 13.25rem
  }

  .c-facility-item--terabe .c-facility-item__img img {
    aspect-ratio: 182/223
  }

  .c-facility-item--palette .c-facility-item__img img {
    aspect-ratio: 208/172
  }

  .c-facility-item--kuchinashi .c-facility-item__img img {
    aspect-ratio: 194/198
  }

  .c-facility-item--sakuranoki .c-facility-item__img img {
    aspect-ratio: 212/200
  }

  .c-facility-item__box:not(:first-child) {
    margin-top: 1.3125rem;
    padding-top: .9375rem
  }

  .c-facility-item__box:not(:first-child):before {
    height: 1.5px;
    width: 11.125rem
  }

  .c-facility-item__title {
    font-size: 1rem;
    letter-spacing: .05em;
    line-height: 1.75
  }

  .c-facility-item--kuchinashi .c-facility-item__title {
    margin-top: 2rem
  }

  .c-facility-item__text {
    letter-spacing: .05em;
    margin-top: .75rem
  }

  .c-facility-item__text:before {
    right: -1.875rem;
    width: 1.5rem
  }

  .c-facility-item__open {
    border-radius: 1rem;
    font-size: .9375rem;
    letter-spacing: .05em;
    line-height: 1.5333333333;
    margin-bottom: .75rem;
    width: 9.875rem
  }

  .p-about {
    padding-bottom: 5rem;
    padding-top: 21.125rem
  }

  .p-about:after {
    aspect-ratio: 1400/572;
    background: url(../images/common/about-line.svg) no-repeat center /cover;
    height: auto;
    top: -5vw;
    left: -5vw;
    width: 106%
  }

  .p-about:before {
    aspect-ratio: 1400/720;
    background: url(../images/common/about-bg.webp) no-repeat top/cover
  }

  .p-about__map iframe {
    aspect-ratio: 1400/498;
    max-height: 34.375rem
  }

  .p-about__slider {
    margin-top: 3rem
  }

  .p-about__slider:before {
    aspect-ratio: 1308/457;
    background: url(../images/common/slide-line.svg) no-repeat 50%/cover;
    height: auto;
    left: -.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 93.4285714286%
  }

  .slider,
  .slider-wrapper {
    gap: 1.375rem
  }

  .slide {
    height: 15.625rem;
    width: 18.75rem
  }

  .slide--odd {
    margin-top: 2.875rem
  }

  .slide img {
    aspect-ratio: 300/250
  }

  .c-scroll-fv {
    bottom: -5.875rem;
    gap: 1.625rem;
    height: 9.1875rem;
    left: 14%
  }

  .c-scroll-fv__line {
    background-position: 0 -90px;
    height: 5.625rem
  }

  .c-scroll-fv__text {
    font-size: 1rem
  }

  @keyframes scrolldown {
    0% {
      background-position: 0 -90px
    }

    75% {
      background-position: 0 0
    }

    to {
      background-position: 0 5.625rem
    }
  }

  .c-about-items {
    margin-top: 5.75rem;
    max-width: 37.375rem;
    transform: translate(2.3125rem)
  }

  .c-about-item {
    font-size: 1rem;
    gap: 3.0625rem;
    letter-spacing: .05em;
    line-height: 1.75
  }

  .c-about-item:not(:first-child) {
    margin-top: 1.75rem
  }

  .c-about-item__title {
    max-width: 4.5rem
  }

  .c-about-item__title:after {
    height: 1.25rem;
    right: -1.5rem
  }

  .c-about-item__link {
    cursor: text;
    pointer-events: none
  }

  .p-privacy-fv__head {
    margin-top: -1.75rem
  }

  .p-privacy {
    margin-top: 6.375rem
  }

  .l-inner {
    max-width: 1050px;
    padding-left: 1.5625rem;
    padding-right: 1.5625rem
  }

  .u-sp {
    display: none
  }

  .u-pc {
    display: block
  }

  .p-main {
    margin-top: 5rem
  }
}

@media (min-width:1050px) {
  html {
    font-size: 100%
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  .p-main-content {
    padding-bottom: 7.3125rem;
    padding-top: 6.375rem
  }

  .p-main-content:before {
    background: url(../images/common/main_sp.svg) no-repeat bottom/cover;
    height: 23.75rem;
    left: 51%;
    top: -.625rem;
    width: 102.2900763359vw
  }

  .p-main-content__inner {
    padding-inline: 2.0625rem 1.8125rem
  }

  .p-main-content__img {
    margin-left: auto;
    width: 68.3%
  }

  .p-main-content__head {
    margin-top: 4.875rem
  }

  .p-main-content__title {
    font-size: 1.25rem;
    line-height: 1.45
  }

  .p-main-content__text {
    font-size: 1rem;
    letter-spacing: .03em;
    line-height: 2;
    margin-top: 2rem
  }

  .p-main-content__body {
    gap: .625rem;
    justify-content: space-between;
    margin-top: 7.375rem;
    margin-inline: calc(50% - 50vw);
    padding-left: 2.0625rem;
    position: relative;
    width: 100vw
  }

  .p-main-content__body:before {
    background: url(../images/common/main_sp2.svg) no-repeat center /cover;
    content: "";
    /* height: 41.75rem; */
    left: -2rem;
    position: absolute;
    top: -5.375rem;
    width: 101%;
    height: auto;
    aspect-ratio: 397 / 669;
    z-index: -1
  }

  .p-main-content__body-img {
    width: 62.3%
  }

  .p-main-content__body-img2 {
    height: 13.625rem;
    transform: translateY(-5.8125rem);
    width: 34.5%
  }

  .p-main-content__body-img4 {
    margin-top: 1.6875rem;
    left: -2px;
  }

  .p-history {
    margin-top: 6.4375rem;
    padding-bottom: 1.875rem
  }

  .c-history-items {
    margin-top: 3.9375rem;
    max-width: 20.5625rem
  }

  .c-history-item {
    font-size: .875rem;
    gap: .9375rem;
    letter-spacing: .03em;
    line-height: 1.7142857143
  }

  .c-history-item:not(:first-child) {
    margin-top: 1.75rem
  }

  .c-history-item__title {
    max-width: 3.8125rem
  }

  .c-history-item__title:after {
    height: 2.875rem;
    left: 45%;
    width: 2px;
    background: url(../images/common/history01_sp.svg) no-repeat center/contain;
  }

  .c-history-item:nth-child(2) .c-history-item__title:after,
  .c-history-item:nth-child(3) .c-history-item__title:after {
    height: 1.625rem;
    background: url(../images/common/history02_sp.svg) no-repeat center/contain;
  }

  .c-history-item:nth-child(4) .c-history-item__title:after {
    height: 4.625rem;
    background: url(../images/common/history03_sp.svg) no-repeat center/contain;
  }

  /* .c-history-item:nth-child(5) .c-history-item__title:after, */
  .c-history-item:nth-child(6) .c-history-item__title:after {
    height: 1.625rem;
    background: url(../images/common/history02_sp.svg) no-repeat center/contain;
  }

  .p-facility {
    margin-top: 1.4375rem
  }

  .p-facility__items {
    margin-top: 4.125rem
  }

  .c-facility-item {
    border-bottom: 1px solid #000;
    gap: 2.125rem;
    justify-content: center;
    margin-inline: auto;
    max-width: 20.4375rem
  }

  .c-facility-item--terabe {
    justify-content: flex-start;
    padding-bottom: 1.5rem;
    padding-left: 1.1875rem
  }

  .c-facility-item--terabe .c-facility-item__img {
    transform: translateY(-.4375rem)
  }

  .c-facility-item--palette {
    gap: 1.8125rem;
    justify-content: flex-start;
    padding-bottom: 2.6875rem;
    padding-left: .6875rem;
    padding-top: 3.125rem
  }

  .c-facility-item--kuchinashi {
    gap: 2.25rem;
    justify-content: flex-start;
    padding-left: .6875rem;
    padding-block: 2.625rem
  }

  .c-facility-item--sakuranoki {
    gap: 1.75rem;
    justify-content: flex-start;
    padding-left: .625rem;
    padding-top: 2.625rem
  }

  .c-facility-item--kuchinashi .c-facility-item__box {
    margin-top: .6875rem
  }

  .c-facility-item__img {
    max-width: 7.75rem
  }

  .c-facility-item--palette .c-facility-item__img {
    max-width: 8.5625rem
  }

  .c-facility-item--kuchinashi .c-facility-item__img {
    max-width: 8.0625rem
  }

  .c-facility-item--sakuranoki .c-facility-item__img {
    max-width: 8.6875rem
  }

  .c-facility-item--palette .c-facility-item__img img {
    aspect-ratio: 137/114
  }

  .c-facility-item__box:not(:first-child) {
    margin-top: 1rem;
    padding-top: .875rem
  }

  .c-facility-item__box:not(:first-child):before {
    height: 1px;
    width: 9.5rem
  }

  .c-facility-item__title {
    font-size: .875rem;
    letter-spacing: .03em;
    line-height: 1.6428571429
  }

  .c-facility-item__text {
    font-size: .75rem;
    letter-spacing: .03em;
    line-height: 1;
    margin-top: .75rem
  }

  .c-facility-item__text:before {
    right: -2rem;
    width: 1.5rem
  }

  .c-facility-item__open {
    border-radius: .625rem;
    font-size: .75rem;
    letter-spacing: .03em;
    line-height: 1.5;
    margin-bottom: .875rem;
    width: 7.5rem
  }

  .p-about {
    padding-bottom: 2.375rem;
    padding-top: 9.9375rem
  }

  .p-about:after {
    aspect-ratio: 424/252;
    background: url(../images/common/about-line_sp.svg) no-repeat 50%/cover;
    left: 0;
    top: -13vw;
    width: 26.5rem;
    width: calc(100vw + 1.9375rem);
    width: 107.8vw
  }

  .p-about:before {
    aspect-ratio: 424/617;
    background: url(../images/common/about-bg_sp.webp) no-repeat top/cover
  }

  .p-about__map iframe {
    aspect-ratio: 393/246
  }

  .p-about__slider {
    margin-top: 5.125rem
  }

  .p-about__slider:before {
    aspect-ratio: 360/207;
    background: url(../images/common/slide-line_sp.svg) no-repeat 50%/cover;
    bottom: -6.375rem;
    left: 0
  }

  .slider,
  .slider-wrapper {
    gap: .625rem
  }

  .slide {
    width: 13.75rem
  }

  .slide--odd {
    margin-top: 2.125rem
  }

  .slide img {
    aspect-ratio: 220/200
  }

  .c-about-items {
    margin-top: 3.9375rem;
    max-width: 18.625rem
  }

  .c-about-item {
    font-size: .875rem;
    gap: 2.5rem;
    letter-spacing: .03em;
    line-height: 1.7142857143;
    padding-left: 1rem
  }

  .c-about-item__title {
    max-width: 3.8125rem
  }

  .c-about-item__title:after {
    height: .875rem;
    right: -1.125rem
  }

  .p-privacy-fv__head {
    margin-top: 1.9375rem
  }

  .p-privacy {
    margin-top: 4.375rem
  }

  .u-sp {
    display: block
  }

  .u-pc {
    display: none
  }

  .p-main {
    margin-top: 4.25rem
  }
}

@media (max-width:767px) {
  html {
    font-size: 100%
  }
}

@media (max-width:500px) {
  .p-about:after {
    top: -1rem
  }
}

@media (max-width:393px) {
  html {
    font-size: max(12px, 4.0712468193vw)
  }
}

@media (any-hover:hover) {

  a,
  button {
    transition: opacity .3s ease
  }

  a:hover,
  button:hover {
    opacity: .7
  }
}

@media (hover:none) {

  a:hover,
  button:hover {
    opacity: 1
  }
}

@media (prefers-reduced-motion:no-preference) {
  html {
    /* scroll-behavior: smooth */
  }
}

@media (prefers-reduced-motion:reduce) {

  *,
  :after,
  :before {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important
  }
}

@media screen and (min-width:px) {
  .p-accordion__item+.p-accordion__item {
    margin-top: 1.5rem
  }
}

body:has(.p-header__nav.is-active) {
  overflow: hidden
}

.p-header {
  background-color: #fff;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000
}

.p-header,
.p-header__inner {
  align-items: center;
  display: flex
}

.p-header__inner {
  height: 100%;
  justify-content: space-between
}

.p-header__logo {
  display: block;
  position: relative;
  width: 100%;
  z-index: 1000
}

.p-header__logo img {
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%
}

.p-header__nav {
  background-color: #fff;
  opacity: 0;
  overflow-y: auto;
  position: fixed;
  top: 0;
  transform: translate(100%);
  transition: transform .3s ease-in-out, opacity .3s ease-in-out;
  width: 100%
}

.p-header__nav:before {
  content: "";
  position: absolute
}

.p-header__nav.is-active {
  opacity: 1;
  transform: translate(0)
}

.p-header__menu {
  margin-inline: auto;
  width: 100%
}

.p-header__menu-item {
  display: block
}

.p-header__menu-item:not(:first-child) {
  margin-top: 2rem
}

/* .p-header__menu-item:nth-child(5),
.p-footer__nav-item:nth-child(5) {
  pointer-events: none;
} */

.p-header__menu-item a {
  display: block;
  letter-spacing: .05em;
  position: relative;
  width: -moz-fit-content;
  width: fit-content
}

.p-header__menu-item a:before {
  background: url(../images/common/link-arrow.svg) no-repeat 50%/cover;
  content: "";
  height: 5px;
  left: -2.75rem;
  position: absolute;
  top: 44%;
  transform: translateY(-50%);
  width: 1.375rem
}

.p-header__menu-item a:hover {
  opacity: 1
}

.p-header__menu-item a span {
  transition: opacity .3s ease-in-out
}

.p-header__menu-item a:hover span {
  opacity: .7
}

.p-header__menu-item a:hover:before {
  animation: move-arrow .8s cubic-bezier(.215, .61, .355, 1) forwards
}

.p-header__hamburger {
  cursor: pointer;
  position: relative;
  z-index: 900;
  transition: left .3s ease-in-out;
}

.p-header__hamburger.is-active {
  left: -1rem;
}

.p-header__hamburger:hover {
  opacity: 1
}

.c-hamburger__box {
  align-items: center;
  display: flex;
  gap: 5px;
  flex-direction: column;
  height: 31px;
  justify-content: center;
  margin-inline: auto;
  transition: transform .6s cubic-bezier(.175, .885, .32, 1.275);
  position: relative;
  top: 3px;
  width: 35px
}

@media screen and (min-width:768px) {
  /* .c-hamburger__box {
    height: 40px;
    gap: 6px;
  } */
}

.c-hamburger__line {
  align-items: center;
  display: flex;
  gap: 4px;
  height: 5px;
  justify-content: space-between;
  position: relative;
  transition: all .6s ease-in-out;
  width: 100%
}

.c-hamburger__line:after {
  background-color: #595757;
  border-radius: 1px;
  content: "";
  display: block;
  height: 5px;
  width: 24px
}

.c-hamburger__line:before {
  background-color: #595757;
  border-radius: 50%;
  content: "";
  display: block;
  height: 6px;
  width: 6px
}

.p-header__hamburger.is-active .c-hamburger__box {
  transform: rotate(180deg)
}

.p-header__hamburger.is-active .c-hamburger__line:first-child {

  transform: rotate(-45deg) translate(-14px, 5px)
}

.p-header__hamburger.is-active .c-hamburger__line:nth-child(2) {
  opacity: 0
}

.p-header__hamburger.is-active .c-hamburger__line:nth-child(3) {

  transform: rotate(-135deg) translate(4px, 5px)
}

@media screen and (min-width:768px) {
  .p-header {
    height: 5rem
  }

  .p-header__inner {
    max-width: 91.25rem;
    padding-inline: 2.5rem 1.25rem
  }

  .p-header__logo {
    max-width: 14rem
  }

  .p-header__logo img {
    aspect-ratio: var(--aspect-ratio)
  }

  .p-header__nav {
    height: 100vh;
    max-width: 28.75rem;
    padding: 14.375rem 0 14.375rem 6.8125rem;
    right: 0
  }

  .p-header__nav:before {
    background: url(../images/common/nav-bar.svg) no-repeat 50%/cover;
    height: 14.625rem;
    left: 0;
    top: 31.5625rem;
    width: 100%
  }

  .p-header__menu {
    max-width: 21.25rem
  }

  .p-header__menu-item.p-header__menu-item--privacy {
    margin-top: 4.5625rem
  }

  .p-header__menu-item a {
    font-size: 1.125rem;
    line-height: 1.2777777778
  }

  .p-header__menu-item a:before {
    right: -1.875rem;
    width: 1.5rem
  }

  .p-header__hamburger {
    height: 5rem;
    width: 5rem
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  .p-header {
    height: 4.25rem
  }

  .p-header__inner {
    padding-inline: 1.25rem 0
  }

  .p-header__logo {
    max-width: 11.875rem;
  }

  .p-header__logo img {
    aspect-ratio: 190/34
  }

  .p-header__nav {
    height: 100svh;
    left: 0;
    padding: 11.4375rem 0 11rem;
    right: 0
  }

  .p-header__nav:before {
    background: url(../images/common/nav-bar_sp.svg) no-repeat top/cover;
    height: 11.5rem;
    left: 53%;
    top: 34.1875rem;
    transform: translate(-50%);
    width: 110%
  }

  .p-header__menu {
    max-width: 19.375rem;
    padding-left: 3.125rem
  }

  .p-header__menu-item.p-header__menu-item--privacy {
    margin-top: 4.0625rem
  }

  .p-header__menu-item a {
    font-size: 1rem;
    line-height: 1.25
  }

  .p-header__hamburger {
    height: 4.25rem;
    width: 4.25rem
  }
}

picture[data-astro-cid-iu5ip4ar] {
  display: block
}

@media screen and (min-width:768px) {
  img[data-astro-cid-iu5ip4ar].image {
    aspect-ratio: var(--pc-aspect-ratio)
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  img[data-astro-cid-iu5ip4ar].image {
    aspect-ratio: var(--sp-aspect-ratio)
  }
}

.p-footer {
  position: relative
}

.p-footer:after,
.p-footer:before {
  content: "";
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1
}

.p-footer:before {
  background: url(../images/common/footer-bg_sp.webp) no-repeat top/cover;
  bottom: 0;
  height: 40.875rem
}

.p-footer__img {
  margin-inline: auto;
  width: 100%
}

.p-footer__img img {
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%
}

.p-footer__logo {
  display: block;
  flex-shrink: 0;
  position: relative;
  width: 100%
}

.p-footer__logo img {
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%
}

.p-footer__nav-list {
  margin-inline: auto;
  width: 100%
}

.p-footer__nav-item {
  display: block
}

.p-footer__nav-item:hover {
  opacity: 1
}

.p-footer__nav-item.p-footer__nav-item--privacy {
  position: relative
}

.p-footer__nav-item.p-footer__nav-item--privacy:before {
  background-color: #595757;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translate(-50%);
  width: 100%
}

.p-footer__nav-item a {
  align-items: center;
  display: flex;
  font-size: .875rem;
  letter-spacing: .05em;
  line-height: 1.3571428571;
  position: relative;
  width: -moz-fit-content;
  width: fit-content
}

.p-footer__nav-item a:before {
  background: url(../images/common/link-arrow.svg) no-repeat 50%/contain;
  content: "";
  display: block;
  height: 5px;
  width: 1.375rem
}

.p-footer__nav-item a:hover {
  opacity: 1
}

.p-footer__nav-item a span {
  transition: opacity .3s ease-in-out
}

.p-footer__nav-item a:hover span {
  opacity: .7
}

.p-footer__nav-item a:hover:before {
  animation: move-arrow2 .8s cubic-bezier(.215, .61, .355, 1) forwards
}

@keyframes move-arrow2 {

  40%,
  50% {
    opacity: 0
  }

  43% {
    transform: translate(105%) scaleY(.1)
  }

  44%,
  50% {
    transform: translate(-145%) scaleY(.1)
  }

  to {
    opacity: 1;
    transform: translate(0) scaleY(1)
  }
}

@media screen and (min-width:768px) {
  .p-footer {
    padding-bottom: 6.5rem;
    padding-top: 7.5rem
  }

  .p-footer--privacy {
    padding-top: 6.375rem
  }

  .p-footer:after {
    background: url(../images/common/footer-line.svg) no-repeat top/cover;
    height: 12.6875rem;
    top: 7.4375rem
  }

  .p-footer:before {
    background: url(../images/common/footer-bg.webp) no-repeat 50%/cover;
    height: 29.375rem
  }

  .p-footer__inner {
    margin-inline: auto;
    max-width: 58.125rem;
    width: 100%
  }

  .p-footer__img {
    max-width: 24.9375rem
  }

  .p-footer__img img {
    aspect-ratio: 399/100
  }

  .p-footer__box {
    display: flex;
    gap: 6.75rem;
    justify-content: space-between;
    margin-top: 10.875rem;
    margin-inline: auto;
    max-width: 56.25rem;
    width: 100%
  }

  .p-footer__logo {
    max-width: 15.5rem
  }

  .p-footer__logo img {
    aspect-ratio: 248/36
  }

  .p-footer__nav {
    flex-shrink: 0
  }

  .p-footer__nav-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.4375rem 2.625rem;
    max-width: 33.125rem;
    width: 100%
  }

  .p-footer__nav-item:first-child {
    max-width: 16.75rem;
    order: 1;
    width: 100%
  }

  .p-footer__nav-item:nth-child(2) {
    max-width: 16.75rem;
    order: 3;
    width: 100%
  }

  .p-footer__nav-item:nth-child(3) {
    max-width: 16.125rem;
    order: 5;
    width: 100%
  }

  .p-footer__nav-item:nth-child(4) {
    order: 2
  }

  .p-footer__nav-item:nth-child(5) {
    order: 4
  }

  .p-footer__nav-item:nth-child(6) {
    max-width: 33.125rem;
    order: 6;
    width: 100%
  }

  .p-footer__nav-item:not(:first-child) {
    margin-top: 0
  }

  .p-footer__nav-item.p-footer__nav-item--privacy {
    padding-top: 1.6875rem
  }

  .p-footer__nav-item a {
    gap: 1rem
  }
}

@media (min-width:1410px) {
  .p-footer:after {
    height: clamp(12.688rem, -.281rem + 14.821vw, 38.625rem);
    top: -10%
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  .p-footer {
    padding-bottom: 8.75rem;
    padding-top: 3.75rem;
    margin-top: 1.875rem;
  }

  .p-footer:after {
    background: url(../images/common/footer-line_sp.svg) no-repeat bottom /cover;
    aspect-ratio: 398 / 202;
    /* height: 12.625rem; */
    top: 0;
    left: -5px;
  }

  .p-footer:before {
    background: url(../images/common/footer-bg_sp.webp) no-repeat top/cover;
    height: 40.875rem
  }

  .p-footer__img {
    max-width: 15.75rem
  }

  .p-footer__img img {
    aspect-ratio: 252/70
  }

  .p-footer__logo {
    margin-top: 7.625rem;
    margin-inline: auto;
    max-width: 11.375rem
  }

  .p-footer__logo img {
    aspect-ratio: 182/26
  }

  .p-footer__nav {
    margin-top: 4.125rem
  }

  .p-footer__nav-list {
    max-width: 20.4375rem
  }

  .p-footer__nav-item {
    padding-left: 1.625rem
  }

  .p-footer__nav-item:not(:first-child) {
    margin-top: 1.5rem
  }

  .p-footer__nav-item.p-footer__nav-item--privacy {
    margin-top: 2.25rem;
    padding-top: 2.5rem
  }

  .p-footer__nav-item a {
    gap: 1.3125rem
  }
}

.c-sec-title[data-astro-cid-pzcc4cbj] {
  align-items: center;
  display: flex;
  flex-direction: column-reverse
}

.c-sec-title__ja[data-astro-cid-pzcc4cbj] {
  font-weight: 400;
  letter-spacing: .05em
}

.c-sec-title__en[data-astro-cid-pzcc4cbj] {
  font-family: Average, serif
}

@media screen and (min-width:768px) {
  .c-sec-title[data-astro-cid-pzcc4cbj] {
    gap: 1.5rem
  }

  .c-sec-title__ja[data-astro-cid-pzcc4cbj] {
    font-size: 2.25rem;
    line-height: 1.4444444444
  }

  .c-sec-title__en[data-astro-cid-pzcc4cbj] {
    font-size: 1rem;
    line-height: 1.0625
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  .c-sec-title[data-astro-cid-pzcc4cbj] {
    gap: 1.25rem
  }

  .c-sec-title__ja[data-astro-cid-pzcc4cbj] {
    font-size: 1.5rem;
    line-height: 1.4166666667
  }

  .c-sec-title__en[data-astro-cid-pzcc4cbj] {
    font-size: .875rem;
    line-height: 1.2142857143
  }
}

.c-privacy-item__title[data-astro-cid-fcz6osb7] {
  align-items: center;
  display: flex;
  gap: .4375rem
}

.c-privacy-item__title[data-astro-cid-fcz6osb7]:before {
  background-color: #000;
  content: "";
  display: block;
  height: .5px;
  margin-top: 2px;
  width: 1.375rem
}

.c-privacy-item__subtitle[data-astro-cid-fcz6osb7],
.c-privacy-item__text[data-astro-cid-fcz6osb7] {
  font-weight: 400
}

.c-privacy-item[data-astro-cid-fcz6osb7] a[data-astro-cid-fcz6osb7] {
  display: block;
  word-break: break-all
}

@media screen and (min-width:768px) {
  .c-privacy-item[data-astro-cid-fcz6osb7]:not(:first-child) {
    margin-top: 4.375rem
  }

  .c-privacy-item__title[data-astro-cid-fcz6osb7] {
    font-size: 1.25rem;
    line-height: 1.3
  }

  .c-privacy-item__title[data-astro-cid-fcz6osb7]:before {
    width: 1.5rem
  }

  .c-privacy-item-box[data-astro-cid-fcz6osb7] {
    margin-top: 1.25rem
  }

  .c-privacy-item-box[data-astro-cid-fcz6osb7]:not(:first-child) {
    margin-top: 1.75rem
  }

  .c-privacy-item__subtitle[data-astro-cid-fcz6osb7],
  .c-privacy-item__text[data-astro-cid-fcz6osb7] {
    font-size: 1rem;
    line-height: 1.75
  }

  .c-privacy-item__subtitle--mt[data-astro-cid-fcz6osb7] {
    margin-top: 1.75rem
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  .c-privacy-item[data-astro-cid-fcz6osb7]:not(:first-child) {
    margin-top: 3.75rem
  }

  .c-privacy-item__title[data-astro-cid-fcz6osb7] {
    font-size: 1rem;
    line-height: 1.5
  }

  .c-privacy-item__title[data-astro-cid-fcz6osb7]:before {
    width: 1.375rem
  }

  .c-privacy-item-box[data-astro-cid-fcz6osb7] {
    margin-top: 1rem
  }

  .c-privacy-item-box[data-astro-cid-fcz6osb7]:not(:first-child) {
    margin-top: 1.5rem
  }

  .c-privacy-item__subtitle[data-astro-cid-fcz6osb7],
  .c-privacy-item__text[data-astro-cid-fcz6osb7] {
    font-size: .875rem;
    line-height: 1.7142857143
  }

  .c-privacy-item__subtitle--mt[data-astro-cid-fcz6osb7] {
    margin-top: 1.5rem
  }
}

.p-fv[data-astro-cid-ye7gop4d] {
  position: relative
}

.p-fv__img[data-astro-cid-ye7gop4d],
.p-fv__inner[data-astro-cid-ye7gop4d] {
  height: 100%;
  width: 100%
}

.p-fv__img[data-astro-cid-ye7gop4d] picture {
  height: 100%
}

.p-fv__img[data-astro-cid-ye7gop4d] img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: bottom;
  object-position: bottom;
  width: 100%
}

.p-fv__img2[data-astro-cid-ye7gop4d] {
  position: absolute;
  width: 100%
}

@media screen and (min-width:768px) {
  .p-fv[data-astro-cid-ye7gop4d] {
    height: calc(100vh - 5rem)
  }

  .p-fv__img[data-astro-cid-ye7gop4d] img {
    aspect-ratio: 1400/820
  }

  .p-fv__img2[data-astro-cid-ye7gop4d] {
    aspect-ratio: 586/200;
    bottom: 2.1875rem;
    max-width: 36.625rem;
    right: 2.125rem
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  .p-fv[data-astro-cid-ye7gop4d] {
    height: calc(100svh - 4.25rem)
  }

  .p-fv__img[data-astro-cid-ye7gop4d] img {
    aspect-ratio: 393/590
  }

  .p-fv__img2[data-astro-cid-ye7gop4d] {
    aspect-ratio: 328/112;
    bottom: .625rem;
    max-width: 20.5rem;
    right: .25rem
  }
}

body {
  background: #fff;
  color: #000;
  font-family: Shippori Mincho, serif;
  font-weight: 400
}

.p-test--bg-sw[data-astro-cid-j7pv25f6] {
  background-color: red
}

.p-backImg[data-astro-cid-j7pv25f6] {
  align-items: center;
  background: url(../images/dummy.webp) no-repeat 50%/cover;
  background-color: #eee;
  display: flex;
  height: 500px;
  justify-content: center;
  width: 100%
}

.p-backImg[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6] {
  font-size: 4.375rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center
}

.p-tab[data-astro-cid-j7pv25f6] {
  width: 100%
}

@media screen and (min-width:768px) {
  .p-tab[data-astro-cid-j7pv25f6] {
    background-color: green
  }
}

@media screen and (max-width:767.98px),
screen and (max-width:767.98px) and (min-resolution:2dppx) {
  .p-tab[data-astro-cid-j7pv25f6] {
    background-color: #00f
  }
}

.u-pc1120 {
  display: none;
}

@media screen and (min-width:1120px) {
  .u-pc1120 {
    display: block;
  }
}