@charset "utf-8";

/* CSS Document */


:root {

  --color-si-brand01: #453B33;

}

/***********
siMv
************/

.siMv {
  --mv-height: 100svh;
  --mv-minHeight: 600px;
  position: relative;
  z-index: 9;
  height: var(--mv-height);
  min-height: var(--mv-minHeight);
  overflow: hidden;
  background-color: var(--color-si-brand01);
}

.siMv-visual {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
body.is-loaded .siMv-visual {
  opacity: 1;
  transition: opacity 1s ease 0.05s;
}

.siMv-visual {
}
.siMv-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}


.siMv-logo {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  pointer-events: none;
  user-select: none;
}

.siMv-logo-title {
  display: block;
  width: clamp(20rem, 22vw, 30rem);
  margin: 0 auto;
  opacity: 0;
}
.siMv-logo-title > img {
  width: 100%;
  max-width: 100%;
}
body.is-loaded .siMv-logo-title {
  opacity: 1;
  transition: opacity 1s ease 0.1s;
}




.siMv-navi {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background-color: var(--color-base);
}

.siMv-navi-list {
  display: flex;
  justify-content: center;
  font-size: 0.9rem;
}
.siMv-navi-list li {
  flex: 0 1 25em;
  position: relative;
  margin-right: -1px;
}
.siMv-navi-list li::after {
  content: "";
  display: block;
  width: 100%;
  height: 1.8em;
  position: absolute;
  left: 0;
  top: 50%;
  border: 1px solid var(--color-sub02);
  border-top: none;
  border-bottom: none;
  translate: 0 -50%;
  pointer-events: none;
}
.siMv-navi-list li a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  min-height: 4em;
  padding: 0 1em 0.8em;
  line-height: 1.3;
  color: inherit;
  text-decoration: none;
}

.siMv-navi-text::after {
  content: "\f078";
  display: var(--fa-display, inline-block);
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-variant: normal;
  font-weight: 900;
  line-height: 1;
  text-rendering: auto;
  font-synthesis: none;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  position: absolute;
  left: 50%;
  bottom: 0.3em;
  translate: -50% 0 ;
  scale: 0.8;
  color: var(--color-si-brand01);
  transition: 0.2s;
}
body.is-pc a:hover .siMv-navi-text::after {
  bottom: 0.1em;
}

@media screen and (max-width:640px) {


  .siMv-logo-title {
    width: clamp(10rem, 52vw, 20rem);
  }



  .siMv-navi-list {
    flex-wrap: wrap;
    padding: 1rem 0;
  }
  .siMv-navi-list li {
    flex: none;
    width: 50%;
  }
  .siMv-navi-list li::after {
    height: 1.2em;
  }
  .siMv-navi-list li a {
    padding-block: 0.4em;
    padding-inline: 0.2em;
    min-height: 2.2em;
    align-items: center;
  }

  .siMv-navi-text {
    white-space: nowrap;
  }
  .siMv-navi-text::after {
    content: "\f078";
    display: var(--fa-display, inline-block);
    font-family: "Font Awesome 7 Free";
    font-style: normal;
    font-variant: normal;
    font-weight: 900;
    line-height: 1;
    text-rendering: auto;
    font-synthesis: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    position: static;
    translate: 0 0 ;
    scale: 1;
    margin-left: 0.8em;
  }



}


/***********
homeContents
************/

.siContents {
  background-color: var(--color-si-brand01);
  color: var(--color-base);
}

/***********
siNews
************/

.siNews {
  position: relative;
  min-height: 10rem;
}
.siNews-container {
  display: flex;
  gap: 0 5%;
}
.siNews-heading {
  width: clamp(14rem,35%, 20rem);
}
.siNews-inner {
  flex: 1;
}

.siNews-link {
  position: absolute;
  left: 0;
  bottom: 0;
}

@media screen and (max-width:834px) {

  .siNews {
    min-height: initial;
  }
  .siNews-container {
    display: block;
  }
  .siNews-heading {
    width: auto;
  }

  .siNews-link {
    position: static;
    padding-top: 2rem;
    text-align: right;
  }

}


/***********
siIntro
************/

.siIntro {
}
.siIntro-container {
  display: flex;
  gap: 0 5%;
}
.siIntro-inner {
  flex: 1;
}
.siIntro-logo {
  width: clamp(12em,30%, 30em);
}
.siIntro-text {
  line-height: 2;
}

@media screen and (max-width:640px) {

  .siIntro {
  }
  .siIntro-container {
    display: block;
    position: relative;
    padding-bottom: 0;
  }
  .siIntro-inner {
  }
  .siIntro-logo {
    width: clamp(8em,65%, 22em);
    position: absolute;
    right: calc(var(--padding-side) * -1);
    bottom: 0;
    translate: 0 70%;
    opacity: 0.1;
    filter: blur(1px);
  }
  .siIntro-text {
    line-height: 1.8;
  }

}

/***********
siFeature
************/

.siFeature {
}
.siFeature-section {
  display: flex;
  align-items: center;
  gap: 0 6%;
}
.siFeature-section + .siFeature-section {
  padding-top: 4em;
}
.siFeature-inner {
  flex: 1;
}
.siFeature-text {
  line-height: 2;
}
.siFeature-img {
  width: 50%;
}
.siFeature-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  aspect-ratio: 16 / 11;
}


.siFeature-section:nth-child(odd) {
  flex-direction: row-reverse;
}


@media screen and (max-width:640px) {

  .siFeature {
  }
  .siFeature-section {
    display: block;
  }
  .siFeature-section + .intvDetail-section {
    padding-top: 4em;
  }
  .siFeature-img {
    width: auto;
  }
  .siFeature-img img {
    aspect-ratio: 16 / 10;
  }

  .siFeature-inner {
    padding-bottom: 1.5em;
  }

}


/***********
siMenu
************/

.siMenu {
  background-color: var(--color-sub03);
}
.siMenu-container {
}
.siMenu-header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 0 5%;
}
.siMenu-inner {
}
.siMenu-text {
  font-size: 0.9rem;
  line-height: var(--lineheight-main);
  max-width: 40em;
}
.siMenu-link {
}

.siMenu-marquee {
  --siMenu-marquee-height: clamp(12rem, 16vw, 18rem);
  margin-top: 4rem;
  margin-inline: calc(50% - 50vw);
  overflow: hidden;
}
.siMenu-marquee-slider {
  --marquee-gap: 0px;
  position: relative;
  overflow: hidden;
  width: 200vw;
  margin-left: -100vw;
  touch-action: pan-y;
  cursor: grab;
}
.siMenu-marquee-slider:active {
  cursor: grabbing;
}
.siMenu-marquee-track {
  position: relative;
  column-gap: var(--marquee-gap);
}
.siMenu-marquee-item {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: max-content;
  padding-right: 1rem;
  will-change: transform;
}
.siMenu-marquee-item img {
  display: block;
  width: auto;
  max-width: none;
  height: var(--siMenu-marquee-height);
  object-fit: cover;
  aspect-ratio: 16 / 10;
  pointer-events: none;
  user-select: none;
}
.siMenu-marquee-text {
  padding-top: 0.6em;
  font-size: 0.9rem;
  max-width: clamp(19.2rem, 25.6vw, 28.8rem);
}

@media screen and (max-width:834px) {

  .siMenu-header {
    display: block;
  }
  .siMenu-inner {
  }
  .siMenu-text {
    max-width: initial;
  }
  .siMenu-link {
    padding-top: 2em;
    text-align: right;
  }

  .siMenu-marquee {
    --siMenu-marquee-height: clamp(10rem, 33vw, 14rem);
    margin-top: 3rem;
  }
  .siMenu-marquee-slider {
    overflow-x: auto;
    overflow-y: hidden;
    width: auto;
    margin-left: 0;
    touch-action: auto;
    cursor: auto;
    -webkit-overflow-scrolling: touch;
  }
  .siMenu-marquee-slider:active {
    cursor: auto;
  }
  .siMenu-marquee-track {
    position: static;
    display: flex;
    column-gap: 0.5rem;
    width: max-content;
    padding-left: var(--padding-side);
    padding-right: var(--padding-side);
    will-change: auto;
  }


  .siMenu-marquee-item {
    position: static;
    flex: 0 0 auto;
    padding-right: 0;
    width: clamp(16rem, 52.8vw, 22.4rem);
    will-change: auto;
  }
  .siMenu-marquee-text {
    max-width: 100%;
  }

}


/***********
siShop
************/

.siShop {
  background-color: var(--color-sub03);
}

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/

/***********
xxxxx
************/
