@charset "UTF-8";

/**
* base
*/

:root {
  --font-NotoSansJP: "Noto Sans JP", serif;
  --font-Inconsolata: "Inconsolata", serif;
  --font-ZenOldMincho: "Zen Old Mincho", serif;
  --font-TTRamillasTrl: "TT Ramillas", serif;
  --ease-outCirc: cubic-bezier(0, 0.55, 0.45, 1);
}

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

/* 影響範囲が大きすぎるので廃止
* {
  margin: 0;
} */

:where(body) {
  margin: 0;
}

:where(p, h1, h2, h3, h4, h5, h6)
{
  margin-top: 0;  
  overflow-wrap: break-word;
}

:where(ul){
  margin-top: 0;
}

/* 以下があるとレイアウトの計算が走りすぎて重くなるので、コメントアウト
:where(img, picture, video, canvas, svg) {
  display: block;
  max-width: 100%;
} */

:where(input, button, textarea, select) 
{
  margin-top: 0;
  font: inherit;
  color: inherit;
  line-height: inherit;
}

:where(textarea) {
  resize: vertical;
}

:where(button, label, select, summary, [role='button'], [role='option']) {
	cursor: pointer;
}

:where(:disabled) {
	cursor: not-allowed;
}

html {
  font-size: 4.444vw;
  line-height: 1.5;
}

body {
  min-height: 100vh;
  min-width: 88.889vw;
  background-color: #FFFCF4;
  color: #250804;
}

::-moz-selection {
  color: #FFFCF4;
  background-color: #250804;
}

::selection {
  color: #FFFCF4;
  background-color: #250804;
}

:focus {
  /* outline-color: ; */
}

a {
  text-decoration: none;
  /* &:hover {
    color: ;
  } */
}

ul {
  padding-left: 1.8em;
}

ul > li::marker {
      font-size: 0.8em;
    }

.dummy {
  height: 50vh;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18.889vw;
}

/**
* vendor
*/

/**
* atoms
*/

.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 3.333vw;
  padding: 4.167vw;
  border-radius: 27.778vw;
  border-width: 1px; /*px2vw-ignore*/
  border-style: solid;
  width: 100%;
}

@media (min-width: 768px) {

.button {
    gap: min(0.833vw, 12.5px);
    padding: min(1.042vw, 15.625px);
    border-radius: min(6.944vw, 104.16666666666667px)
}
  }

.button__text {
  text-align: center;
  font-family: var(--font-Inconsolata);
  font-size: 3.889vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.194vw;
}

@media (min-width: 768px) {

.button__text {
    font-size: min(1.111vw, 16.666666666666668px);
    letter-spacing: min(0.056vw, 0.8333333333333334px)
} 
  }

.button__icon {
  width: 4.167vw;
  height: auto;
}

@media (min-width: 768px) {

.button__icon {
    width: min(1.181vw, 17.708333333333332px)
}
  }

.button--contact {
  padding: 2.778vw 2.778vw 2.778vw 3.333vw;
  gap: 1.111vw;
}

@media (min-width: 768px) {

.button--contact {
    gap: min(0.833vw, 12.5px);
    padding: min(1.042vw, 15.625px)
}
  }

/* animation */

.button {
  background-color: #250804;
  border-color: #250804;
  transition:
    background-color 0.5s var(--ease-outCirc),
    border-color 0.5s var(--ease-outCirc)
  ;
}

.button__text {
  color: #FFFCF4;
  transition:
    color 0.5s var(--ease-outCirc)
  ;
}

.button__icon {
  stroke: #FFFCF4;
  transition:
    stroke 0.5s var(--ease-outCirc)
  ;
}

.button:hover{
  background-color: #FFFCF4;
}

.button:hover .button__text {
    color: #250804;
  }

.button:hover .button__icon {
    stroke: #250804;
  }

.iconButton {
  cursor: pointer;
  width: 11.111vw;
  height: 11.111vw;
  border-width: 1px; /*px2vw-ignore*/
  border-style: solid;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {

.iconButton {
    width: min(5.556vw, 83.33333333333333px);
    height: min(5.556vw, 83.33333333333333px)
}
  }

.iconButton__icon {
  width: 4.167vw;
  height: auto;
}

@media (min-width: 768px) {

.iconButton__icon {
    width: min(1.181vw, 17.708333333333332px)
}
  }

/* animation */

.iconButton {
  border-color: #250804;
  background-color: #FFFCF4;
  transition:
    background-color 0.5s var(--ease-outCirc)
  ;
}

.iconButton__icon {
  stroke: #250804;
  transition:
    stroke 0.5s var(--ease-outCirc)
  ;
}

.iconButton:hover{
  background-color: #250804;
}

.iconButton:hover .iconButton__icon {
    stroke: #FFFCF4;
  }

.linkText {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 3.333vw;
}

@media (min-width: 768px) {

.linkText {
    align-items: center;
    gap: min(0.833vw, 12.5px)
}
  }

.linkText__icon {
  flex: 0 0 3.333vw;
  stroke: #250804;
  margin-top: 2.222vw;
  width: 3.333vw;
  height: 3.056vw;
}

@media (min-width: 768px) {

.linkText__icon {
    flex: 0 0 min(0.833vw, 12.5px);
    margin-top: 0;
    width: min(0.833vw, 12.5px);
    height: min(0.764vw, 11.458333333333334px)
}
  }

.linkText__text {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.208vw;
  margin-bottom: 0;
}

@media (min-width: 768px) {

.linkText__text {
    font-size: min(1.042vw, 15.625px);
    font-weight: 700;
    letter-spacing: min(0.052vw, 0.78125px)
} 
  }

.linkText__note {
  font-family: var(--font-NotoSansJP);
  font-size: 3.889vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.194vw;
}

@media (min-width: 768px) {

.linkText__note {
    font-size: min(0.972vw, 14.583333333333334px);
    font-weight: 400;
    letter-spacing: min(0.049vw, 0.7291666666666666px)
}
  }

/**
* molecules
*/

@media (min-width: 768px) {
  }

.company__item {
  margin-bottom: 6.667vw;
}

@media (min-width: 768px) {

.company__item {
    margin-bottom: min(1.667vw, 25px)
}
  }

.company__item:last-child {
  margin-bottom: 0;
}

.company__heading {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 3.611vw;
  font-style: normal;
  font-weight: 300;
  line-height: 200%;
  letter-spacing: 0.036vw;
}

@media (min-width: 768px) {

.company__heading {
    font-size: min(0.903vw, 13.541666666666666px);
    letter-spacing: min(0.009vw, 0.13541666666666666px);
    margin-bottom: min(0.556vw, 8.333333333333334px)
}
  }

.company__content {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 400;
  line-height: 200%; /* 30px */
  letter-spacing: 0.042vw;
}

@media (min-width: 768px) {

.company__content {
    font-size: min(1.042vw, 15.625px);
    letter-spacing: min(0.01vw, 0.15625px)
}
  }

@media (min-width: 768px) {

.recruitRow {
    display: flex;
    justify-content: space-between 
}
  }

.recruitRow__name {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 300;
  line-height: 200%;
  letter-spacing: 0.042vw;

  margin-bottom: 2.222vw;
}

@media (min-width: 768px) {

.recruitRow__name {
    flex: 1 1 auto;

    font-size: min(1.042vw, 15.625px);
    letter-spacing: min(0.01vw, 0.15625px);

    margin-bottom: 0
}
  }

@media (min-width: 768px) {

.recruitRow__body {
    flex: 0 0 min(44.444vw, 666.6666666666666px)
}
  }

.recruitRow__sec {
  line-height: 0;
  margin-bottom: 6.667vw;
}

@media (min-width: 768px) {

.recruitRow__sec {
    margin-bottom: min(1.667vw, 25px)
}
  }

.recruitRow__sec:last-child {
  margin-bottom: 0;
}

.recruitRow__p {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.042vw;
  margin-bottom: 2.222vw;
}

@media (min-width: 768px) {

.recruitRow__p {
    font-size: min(1.042vw, 15.625px);
    letter-spacing: min(0.01vw, 0.15625px);  
    margin-bottom: min(0.556vw, 8.333333333333334px)
}
  }

.recruitRow__p:last-child {
  margin-bottom: 0;
}

.recruitRow__button {
  width: 44.444vw;
  height: auto;
}

@media (min-width: 768px) {

.recruitRow__button {
    width: min(11.111vw, 166.66666666666666px)
}
  }

/**
* organisms
*/

.footer {
}

@media (min-width: 768px) {

.footer__body {
    display: flex
}
  }

.footer__contact {
  display: flex;
  justify-content: space-between;
  align-items: center;

  border-top: 1px solid #250804;/*px2vw-ignore*/
  padding: 11.111vw 5.556vw;
}

@media (min-width: 768px) {

.footer__contact {
    flex: 0 0 50%;

    justify-content: center;
    flex-direction: column;

    border-top: none;
    padding: 0
}
  }

.footer__contactTitle {
  color: #250804;
  text-align: center;
  font-family: var(--font-TTRamillasTrl);
  font-size: 8.333vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;

  margin-bottom: 0;
}

@media (min-width: 768px) {

.footer__contactTitle {
    font-size: min(4.167vw, 62.5px);
    font-weight: 400;
    margin-bottom: min(2.222vw, 33.333333333333336px)
}
  }

.footer__contactLink {

}

.footer__company {
  border-top: 1px solid #250804;/*px2vw-ignore*/
  border-bottom: 1px solid #250804;/*px2vw-ignore*/

  padding: 11.111vw 5.556vw;
}

@media (min-width: 768px) {

.footer__company {
    border-top: none;
    border-bottom: none;
    border-left: 1px solid #250804;/*px2vw-ignore*/
    flex: 0 0 50%;
    padding: min(10.556vw, 158.33333333333334px) min(8.889vw, 133.33333333333334px)
}
  }

.footer__copyright {
  color: #250804;
  text-align: center;
  font-family: var(--font-Inconsolata);
  font-size: 3.889vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.278vw;

  padding-top: 11.111vw;
  padding-bottom: 11.111vw;
}

@media (min-width: 768px) {

.footer__copyright {
    font-size: min(0.972vw, 14.583333333333334px);
    letter-spacing: min(0.069vw, 1.0416666666666667px);

    padding-top: min(2.778vw, 41.666666666666664px);
    padding-bottom: min(2.778vw, 41.666666666666664px)
}
  }

.gallery {
  display: flex;
  flex-direction: column;
  gap: 2.222vw;
}

@media (min-width: 768px) {

.gallery {
    flex-direction: row;
    gap: min(1.389vw, 20.833333333333332px)
}
  }

.gallery__item {
  flex-grow: 1;
}

@media (min-width: 768px) {
  }

.gallery__item > img {
  width: 100%;
  height: auto;
}

@media (min-width: 768px) {
  }

.header {
  line-height: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4.444vw;
  padding: 4.444vw 0;
}

@media (min-width: 768px) {

.header {
   padding: min(1.389vw, 20.833333333333332px) min(0vw, 0px) min(1.389vw, 20.833333333333332px) min(1.389vw, 20.833333333333332px)
}
  }

.header__logo {
  display: inline-flex;
}

.header__logo > img {
  width: 59.722vw;
  height: auto;
}

@media (min-width: 768px) {

.header__logo > img {
    width: min(29.931vw, 448.9583333333333px)
}
  }

.header__contact {
  width: 26.667vw;
}

@media (min-width: 768px) {

.header__contact {
    width: min(11.111vw, 166.66666666666666px)
}
  }

.kv{
  position: relative;
  overflow: hidden;
  padding-top: 22.222vw;
}

@media (min-width: 768px) {

.kv{
    padding-top: min(5.556vw, 83.33333333333333px)
}
  }

.kv__text{
  color: #250804;
  font-family: var(--font-TTRamillasTrl);
  font-size: 8.333vw;
  font-style: normal;
  font-weight: 400;
  line-height: 130%;
  letter-spacing: -0.25vw;

  padding-left: 0;
  margin-bottom: 13.889vw;
}

@media (min-width: 768px) {

.kv__text{
    font-size: min(4.167vw, 62.5px);
    letter-spacing: max(-0.125vw, -1.875px);
    padding-left: min(1.389vw, 20.833333333333332px);
    margin-bottom: min(5.347vw, 80.20833333333333px)
}
  }

.kv__img{
  width: 100%;
  height: auto;
}

.kv__circle{
  position: absolute;
  right: 0;
  bottom: 37.5vw;
  translate: 26.111vw 0;
}

@media (min-width: 768px) {

.kv__circle{
    bottom: 2.778vw;
    translate: 13.194vw 0
}
  }

.kv__circle > img {
  width: 76.111vw;
  height: 76.111vw;
}

@media (min-width: 768px) {

.kv__circle > img {
    width: 38.125vw;
    height: 38.125vw
}
  }

/* animation */

.kv__circle > img {
  animation-timing-function: linear;
  animation-duration: 30s;
  animation-name: kvLoopAnim;
  animation-iteration-count: infinite;
  transform-origin: 50% 50%;
}

@keyframes kvLoopAnim {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}

.mission {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (min-width: 768px) {
  }

.mission__title {
  position: relative;
  width: 78.889vw;
  color: #250804;
  text-align: center;
  
  font-family: var(--font-Inconsolata);
  font-size: 3.889vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.278vw;

  margin-bottom: 22.222vw;
}

@media (min-width: 768px) {

.mission__title {
    width: min(19.722vw, 295.8333333333333px);
    color: #250804;
    font-size: min(0.972vw, 14.583333333333334px);
    letter-spacing: min(0.069vw, 1.0416666666666667px);
    margin-bottom: min(5.556vw, 83.33333333333333px)
}
  }

.mission__title::before, .mission__title::after{
  display: block;
  content: "";
  position: absolute;
  top: 0;
  background-repeat: no-repeat;
  background-size: 1.389vw 4.444vw;
  width: 1.389vw;
  height: 4.444vw;
}

@media (min-width: 768px) {

.mission__title::before, .mission__title::after{
    background-size: min(0.347vw, 5.208333333333333px) min(1.111vw, 16.666666666666668px);
    width: min(0.347vw, 5.208333333333333px);
    height: min(1.111vw, 16.666666666666668px)
}
  }

.mission__title::before{
  left: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNSIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDUgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQuMzY0ODQgMUMyLjE2MTc0IDMuMjUzNiAxIDUuNTk2MDQgMSA4QzEgMTAuNDA0IDIuMTYxNzQgMTIuNzQ2NCA0LjM2NDg0IDE1IiBzdHJva2U9IiMyMjBBMDUiIHN0eWxlPSJzdHJva2U6IzIyMEEwNTtzdHJva2U6Y29sb3IoZGlzcGxheS1wMyAwLjEzMzMgMC4wMzkyIDAuMDE5Nik7c3Ryb2tlLW9wYWNpdHk6MTsiLz48L3N2Zz4=");
}

@media (min-width: 768px) {
  }

.mission__title::after{
  right: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNSIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDUgMTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTAuNjM1MjU0IDE1QzIuODM4MzcgMTIuNzQ2NCA0LjAwMDA5IDEwLjQwNCA0LjAwMDA5IDhDNC4wMDAwOSA1LjU5NjA0IDIuODM4MzcgMy4yNTM2IDAuNjM1MjU0IDEiIHN0cm9rZT0iIzIyMEEwNSIgc3R5bGU9InN0cm9rZTojMjIwQTA1O3N0cm9rZTpjb2xvcihkaXNwbGF5LXAzIDAuMTMzMyAwLjAzOTIgMC4wMTk2KTtzdHJva2Utb3BhY2l0eToxOyIvPjwvc3ZnPg==");
}

@media (min-width: 768px) {
  }

.mission__heading {
  color: #250804;
  text-align: left;
  font-family: var(--font-ZenOldMincho);
  font-size: 6.667vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.278vw;

  margin-bottom: 13.333vw;
}

@media (min-width: 768px) {

.mission__heading {
    text-align: center;
    font-size: min(1.667vw, 25px);
    letter-spacing: min(0.069vw, 1.0416666666666667px);

    margin-bottom: min(2.778vw, 41.666666666666664px)
}
  }

.mission__text {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 400;
  line-height: 240%; /* 36px */
  letter-spacing: 0.042vw;
  margin-bottom: 0;
}

@media (min-width: 768px) {

.mission__text {
    text-align: center;
    font-size: min(1.042vw, 15.625px);
    letter-spacing: min(0.01vw, 0.15625px)
}
  }

.recruit {
  padding-top: 4.444vw;
}

@media (min-width: 768px) {

.recruit {
    padding-top: min(4.444vw, 66.66666666666667px);
    display: flex;
    gap: min(16.389vw, 245.83333333333334px)
}
  }

.recruit__heading {
  color: #250804;
  font-family: var(--font-ZenOldMincho);
  font-size: 5.556vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.278vw;

  margin-bottom: 22.222vw;
}

@media (min-width: 768px) {

.recruit__heading {
    flex: 0 0 min(5.833vw, 87.5px);

    font-size: min(1.389vw, 20.833333333333332px);
    letter-spacing: min(0.069vw, 1.0416666666666667px);
    margin-bottom: 0
}
  }

@media (min-width: 768px) {
    
  }

.recruit__item {
  border-top: 1px solid #250804; /*px2vw-ignore*/
  padding-top: 2.222vw;
  margin-bottom: 13.333vw;
}

@media (min-width: 768px) {

.recruit__item {
    padding-top: min(0.556vw, 8.333333333333334px);
    margin-bottom: min(2.778vw, 41.666666666666664px)
}
  }

.service {
  padding-top: 17.778vw;
}

@media (min-width: 768px) {

.service {
    padding-top: min(4.444vw, 66.66666666666667px)
}
  }

.service__platform {
  margin-bottom: 26.667vw;
}

@media (min-width: 768px) {

.service__platform {
    display: grid;
    gap: min(2.778vw, 41.666666666666664px);
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    margin-bottom: min(4.444vw, 66.66666666666667px)
}
  }

.service__head {
  margin-bottom: 11.111vw;
}

@media (min-width: 768px) {

.service__head {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    padding-top: min(4.583vw, 68.75px);
    padding-left: min(2.778vw, 41.666666666666664px);
    padding-right: calc(min(2.778vw, 41.666666666666664px) + min(5vw, 75px));
    margin-bottom: 0
}
  }

.service__heading {
  color: #250804;
  font-family: var(--font-TTRamillasTrl);
  font-size: 9.444vw;
  font-style: normal;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0.208vw;
  margin-bottom: 4.444vw;
}

@media (min-width: 768px) {

.service__heading {
    font-size: min(3.194vw, 47.916666666666664px);
    letter-spacing: min(0.069vw, 1.0416666666666667px);
    margin-bottom: min(1.111vw, 16.666666666666668px)
}
  }

.service__subheading {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 300;
  line-height: 200%;
  letter-spacing: 0.042vw;
}

@media (min-width: 768px) {

.service__subheading {
    font-size: min(1.042vw, 15.625px);
    letter-spacing: min(0.01vw, 0.15625px)
}
  }

.service__image {
  line-height: 0;
  margin-bottom: 11.111vw;
}

@media (min-width: 768px) {

.service__image {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
    margin-bottom: 0
}
  }

.service__image > picture > img {
  width: 100%;
  height: auto;
}

.service__desc {
  line-height: 0;
}

@media (min-width: 768px) {

.service__desc {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    padding-left: min(2.778vw, 41.666666666666664px);
    padding-right: calc(min(2.778vw, 41.666666666666664px) + min(5vw, 75px))
}
  }

.service__text {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.042vw;
  margin-bottom: 11.111vw;
}

@media (min-width: 768px) {

.service__text {
    font-size: min(1.042vw, 15.625px);
    letter-spacing: min(0.01vw, 0.15625px);
    margin-bottom: min(2.778vw, 41.666666666666664px)
}
  }

.service__flow {
  width: 100%;
  height: auto;
  margin-bottom: 11.111vw;
}

@media (min-width: 768px) {

.service__flow {
    margin-bottom: min(2.778vw, 41.666666666666664px)
}
  }

.service__link {

}

@media (min-width: 768px) {

.service__points {
    display: flex;
    gap: min(2.778vw, 41.666666666666664px)
}
  }

.service__point {
  border-top: 1px solid #250804; /*px2vw-ignore*/
  padding-top: 6.667vw;
  margin-bottom: 18.056vw;
}

@media (min-width: 768px) {

.service__point {
    padding-top: min(2.778vw, 41.666666666666664px);
    margin-bottom: 0
}
  }

.service__point:last-child {
  margin-bottom: 0;
}

.service__pointHeading {
  color: #250804;
  font-family: var(--font-ZenOldMincho);
  font-size: 5vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.278vw;
  margin-bottom: 8.889vw;
}

@media (min-width: 768px) {

.service__pointHeading {
    font-size: min(1.389vw, 20.833333333333332px);
    letter-spacing: min(0.069vw, 1.0416666666666667px); 

    margin-bottom: min(2.222vw, 33.333333333333336px)
}
  }

.service__pointText {
  color: #250804;
  font-family: var(--font-NotoSansJP);
  font-size: 4.167vw;
  font-style: normal;
  font-weight: 400;
  line-height: 200%;
  letter-spacing: 0.042vw;
  margin-bottom: 0;
}

@media (min-width: 768px) {

.service__pointText {
    font-size: min(1.042vw, 15.625px);
    letter-spacing: min(0.01vw, 0.15625px)
}
  }

/**
* pages
*/

.p-top{
  margin-bottom: 26.667vw;
}

@media (min-width: 768px) {

.p-top{
    margin-bottom: min(8.333vw, 125px)
}
  }

.p-top__kv{
  margin-bottom: 22.222vw;
}

@media (min-width: 768px) {

.p-top__kv{
    margin-bottom: min(8.889vw, 133.33333333333334px)
}
  }

.p-top__mission{
  margin-bottom: 17.778vw;
}

@media (min-width: 768px) {

.p-top__mission{
    margin-bottom: min(11.111vw, 166.66666666666666px)
}
  }

.p-top__gallery{
  margin-bottom: 22.222vw;
}

@media (min-width: 768px) {

.p-top__gallery{
    margin-bottom: min(11.111vw, 166.66666666666666px)
}
  }

.p-top__service{
  margin-bottom: 22.222vw;
}

@media (min-width: 768px) {

.p-top__service{
    margin-bottom: min(11.111vw, 166.66666666666666px)
}
  }

.p-top__secImage{
  margin-bottom: 22.222vw;
}

@media (min-width: 768px) {

.p-top__secImage{
    margin-bottom: min(11.111vw, 166.66666666666666px)
}
  }

.p-top__secImage > picture > img {
  width: 100%;
  height: auto;
}

@media (min-width: 768px) {
    
  }

.p-top__title {
  color: #250804;
  font-family: var(--font-Inconsolata);
  font-size: 3.889vw;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.278vw;

  border-top: 1px solid #250804; /*px2vw-ignore*/
  padding-top: 8.889vw;
  padding-left: 0;
}

@media (min-width: 768px) {

.p-top__title {
    font-size: min(0.972vw, 14.583333333333334px);
    letter-spacing: min(0.069vw, 1.0416666666666667px);    

    padding-top: min(2.778vw, 41.666666666666664px);
    padding-left: min(1.389vw, 20.833333333333332px)
}

  }

@media (min-width: 768px) {
    
  }

/**
* layouts
*/

.l-inner {
  width: 100%;
}

@media (min-width: 768px) {

.l-inner {
    max-width: min(100vw, 1500px)
}
  }

.l-inner--lg {
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 768px) {

.l-inner--lg {
    padding-left: min(1.389vw, 20.833333333333332px);
    padding-right: min(1.389vw, 20.833333333333332px)
}
  }

.l-outer {
  display: flex;
  align-items: center;
  flex-direction: column;
  padding-left: 5.556vw;
  padding-right: 5.556vw;
}

@media (min-width: 768px) {

.l-outer {
    padding-left: min(1.389vw, 20.833333333333332px);
    padding-right: min(1.389vw, 20.833333333333332px)
}
  }

.l-outer--header {
  padding-left: 4.444vw;
  padding-right: 4.444vw;
}

@media (min-width: 768px) {

.l-outer--header {
    padding-left: min(1.389vw, 20.833333333333332px);
    padding-right: min(1.389vw, 20.833333333333332px)
}
  }

/* @import "styles/layouts/toppage";
@import "styles/layouts/wrap"; */

/**
* layers
*/

.z-header {
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
}

@media (min-width: 768px) {
  }

.z-main {
  position: relative;
  z-index: 0;
  padding-top: 19.722vw;
}

@media (min-width: 768px) {

.z-main {
    padding-top: min(7.5vw, 112.5px)
}
  }

.z-footer {
  position: relative;
  z-index: 0;
}

@media (min-width: 768px) {
  }

/**
* utilities
*/

.u-onlySp {
  display: block;
}

@media (min-width: 768px) {

.u-onlySp {
    display: none
}
  }

.u-onlyPc {
  display: none;
}

@media (min-width: 768px) {

.u-onlyPc {
    display: block
}
  }

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

/**
* intractions
*/

/* @import "styles/components/intractions/i-tran"; */html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:clip}.lenis.lenis-smooth iframe{pointer-events:none}
