/* --------------------
		setting
-------------------- */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@200..900&display=swap");
@import url("https://use.typekit.net/ikd4sis.css");
@media screen and (max-width: 999px) {
  .pc-only {
    display: none !important;
  }
}

@media screen and (min-width: 1000px) {
  .sp-only {
    display: none !important;
  }
}

:root {
  --c-txt: #333333;
  --c-bg: #F5F5F5;
}

/* --------------------
		body
-------------------- */
body.open {
  overflow: hidden;
  height: 100%;
  touch-action: none;
}

.white-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  transition: opacity 0.4s ease-in-out;
}
.white-overlay.show {
  opacity: 1;
  pointer-events: auto;
}

/* --------------------
		content
-------------------- */
#content {
  overflow: hidden;
  position: relative;
  line-height: 1;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3.2vw;
  letter-spacing: 0.025em;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--c-txt);
  background-color: var(--c-bg);
  /* --------------------
  	header
  -------------------- */
  /* --------------------
  		main
  -------------------- */
  /* --------------------
  		modal
  -------------------- */
  /* --------------------
  		aside
  -------------------- */
  /* --------------------
  		footer
  -------------------- */
}
@media screen and (min-width: 1000px) {
  #content {
    font-size: max(0.9375vw, 12px);
  }
}
#content img {
  width: 100%;
  height: auto;
}
#content a {
  cursor: pointer;
  display: inline-block;
  transition: opacity 0.4s ease;
}
#content a:hover {
  opacity: 0.6;
}
#content p {
  line-height: 2;
  font-size: 3.2vw;
  letter-spacing: 0;
  text-align: justify;
  word-break: break-all;
}
@media screen and (min-width: 1000px) {
  #content p {
    font-size: max(0.9375vw, 12px);
  }
}
#content header {
  position: relative;
  height: 100vh;
  height: 100svh;
  margin-bottom: 17.3333333333vw;
}
@media screen and (min-width: 1000px) {
  #content header {
    margin-bottom: 10.15625vw;
  }
}
#content header h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 58.6666666667vw;
  z-index: 10;
  filter: drop-shadow(0 0 40px rgba(0, 0, 0, 0.1));
}
@media screen and (min-width: 1000px) {
  #content header h1 {
    width: 28.125vw;
  }
}
#content header .logo-os {
  position: absolute;
  top: 5.3333333333vw;
  left: 5.3333333333vw;
  width: 18.6666666667vw;
  z-index: 10;
}
@media screen and (min-width: 1000px) {
  #content header .logo-os {
    top: 2.34375vw;
    left: 2.34375vw;
    width: 7.8125vw;
  }
}
#content .mv {
  display: flex;
  overflow: hidden;
  height: 100vh;
  height: 100svh;
}
#content .mv__loop {
  width: 50%;
}
#content .mv__loop img {
  width: 100%;
}
#content .mv__loop.--left img:first-child {
  -webkit-animation: slide1 60s -30s linear infinite;
          animation: slide1 60s -30s linear infinite;
}
#content .mv__loop.--left img:last-child {
  -webkit-animation: slide2 60s linear infinite;
          animation: slide2 60s linear infinite;
}
#content .mv__loop.--right img:first-child {
  -webkit-animation: slide3 60s -30s linear infinite;
          animation: slide3 60s -30s linear infinite;
}
#content .mv__loop.--right img:last-child {
  -webkit-animation: slide4 60s linear infinite;
          animation: slide4 60s linear infinite;
}
@-webkit-keyframes slide1 {
  0% {
    transform: translateY(100%);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes slide1 {
  0% {
    transform: translateY(100%);
  }
  to {
    transform: translateY(-100%);
  }
}
@-webkit-keyframes slide2 {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-200%);
  }
}
@keyframes slide2 {
  0% {
    transform: translateY(0);
  }
  to {
    transform: translateY(-200%);
  }
}
@-webkit-keyframes slide3 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}
@keyframes slide3 {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}
@-webkit-keyframes slide4 {
  0% {
    transform: translateY(-200%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes slide4 {
  0% {
    transform: translateY(-200%);
  }
  100% {
    transform: translateY(0);
  }
}
#content main {
  margin-bottom: 29.3333333333vw;
}
@media screen and (min-width: 1000px) {
  #content main {
    margin-bottom: 14.0625vw;
  }
}
#content .intro {
  margin-bottom: 17.3333333333vw;
  padding: 0 10%;
}
@media screen and (min-width: 1000px) {
  #content .intro {
    margin-bottom: 10.15625vw;
  }
}
@media screen and (min-width: 1000px) {
  #content .intro p {
    text-align: center;
  }
}
#content .intro p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
#content .snap-list {
  display: flex;
  flex-direction: column;
  gap: 8vw;
  width: 85.3333333333vw;
  margin: 0 auto;
}
@media screen and (min-width: 1000px) {
  #content .snap-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2.34375vw;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    list-style: none;
    padding: 0;
  }
}
#content .snap-list li {
  position: relative;
  overflow: hidden;
  width: 85.3333333333vw;
}
@media screen and (min-width: 1000px) {
  #content .snap-list li {
    width: 25vw;
  }
}
#content .snap-list__info {
  position: absolute;
  top: 49%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
  filter: drop-shadow(0 0 20px rgba(0, 0, 0, 0.2));
}
#content .snap-list__info ul {
  margin-top: 4.8vw;
}
@media screen and (min-width: 1000px) {
  #content .snap-list__info ul {
    margin-top: 2.34375vw;
  }
}
#content .snap-list__info a {
  padding: 0.3em 2em;
}
#content .snap-list .item-main__name {
  font-weight: 500;
}
#content .snap-list__btn {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 13.3333333333vw;
  height: 13.3333333333vw;
  background-color: rgba(0, 0, 0, 0.2);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
@media screen and (min-width: 1000px) {
  #content .snap-list__btn {
    width: 3.90625vw;
    height: 3.90625vw;
  }
}
#content .snap-list__btn::before, #content .snap-list__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #ffffff;
  transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translate(-50%, -50%);
}
#content .snap-list__btn::before {
  width: 6.4vw;
  height: 1px;
}
@media screen and (min-width: 1000px) {
  #content .snap-list__btn::before {
    width: 1.875vw;
  }
}
#content .snap-list__btn::after {
  width: 1px;
  height: 6.4vw;
}
@media screen and (min-width: 1000px) {
  #content .snap-list__btn::after {
    height: 1.875vw;
  }
}
#content .snap-list__btn:hover::before {
  transform: translate(-50%, -50%) rotate(90deg);
}
#content .snap-list__btn:hover::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
@media screen and (min-width: 1000px) {
  #content .flex {
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
}
#content .snap-modal {
  position: relative;
  padding-top: 18.6666666667vw;
}
@media screen and (min-width: 1000px) {
  #content .snap-modal {
    width: 82.34375vw;
    margin: 0 auto;
    padding-top: 8.59375vw;
  }
}
#content .snap-modal::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: 5;
  opacity: 1;
  transition: opacity 0.7s ease-in-out;
}
#content .snap-modal.active::after {
  opacity: 0;
  pointer-events: none;
}
#content .snap-modal__num {
  margin: 0 6.6666666667vw 4.2666666667vw auto;
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 1em;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 4vw;
  text-align: right;
}
@media screen and (min-width: 1000px) {
  #content .snap-modal__num {
    margin: 0 0 1.953125vw auto;
    font-size: 1.328125vw;
  }
}
#content .snap-modal__num span {
  font-size: 0.85em;
}
#content .snap-modal__img {
  margin-bottom: 7.2vw;
}
@media screen and (min-width: 1000px) {
  #content .snap-modal__img {
    margin-bottom: 3.90625vw;
  }
}
@media screen and (min-width: 1000px) {
  #content .snap-modal__img .swiper-wrapper {
    justify-content: space-between;
  }
  #content .snap-modal__img .swiper-slide {
    width: 33.2%;
  }
}
#content .snap-modal__snap-info {
  width: 85.3333333333vw;
  margin: 0 auto 13.3333333333vw;
}
@media screen and (min-width: 1000px) {
  #content .snap-modal__snap-info {
    width: 31.25vw;
    margin: 0;
  }
}
#content .snap-info__staff {
  position: relative;
  margin-bottom: 4vw;
}
@media screen and (min-width: 1000px) {
  #content .snap-info__staff {
    margin-bottom: 1.40625vw;
  }
}
#content .staff__name {
  margin-bottom: 2.9333333333vw;
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 7.4666666667vw;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 500;
}
@media screen and (min-width: 1000px) {
  #content .staff__name {
    margin-bottom: 0.9375vw;
    font-size: 2.34375vw;
  }
}
#content .staff__date {
  font-size: 3.2vw;
  letter-spacing: 0.015em;
  white-space: nowrap;
}
@media screen and (min-width: 1000px) {
  #content .staff__date {
    font-size: 0.9375vw;
  }
}
#content .staff__date span:not(:last-of-type)::after {
  content: "|";
  display: inline-block;
  margin: 0 0.6em;
  font-size: 0.9em;
  vertical-align: 0.1em;
}
#content .staff__sns {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: -1.5%;
}
#content .staff__sns a {
  margin-left: 1.3333333333vw;
  padding: 1.7333333333vw;
}
@media screen and (min-width: 1000px) {
  #content .staff__sns a {
    margin-left: 0.625vw;
    padding: 0.546875vw;
  }
}
#content .staff__sns .icon-ig {
  width: 4.5333333333vw;
}
@media screen and (min-width: 1000px) {
  #content .staff__sns .icon-ig {
    width: 1.484375vw;
  }
}
#content .staff__sns .icon-ss {
  width: 5.0666666667vw;
}
@media screen and (min-width: 1000px) {
  #content .staff__sns .icon-ss {
    width: 1.640625vw;
  }
}
#content .item-main li {
  padding: 4.5333333333vw 0;
  border-bottom: 1px solid var(--c-bg);
  font-size: 3.2vw;
}
@media screen and (min-width: 1000px) {
  #content .item-main li {
    padding: 1.328125vw 0;
    font-size: 0.9375vw;
  }
}
#content .item-main li > div {
  display: flex;
  align-items: center;
  position: relative;
}
#content .item-main li a {
  width: 100%;
}
#content .item-main__name {
  margin-top: -0.4em;
  white-space: normal;
  line-height: 1.3;
  text-decoration: underline;
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 1em;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 500;
  font-size: 3.2vw;
}
@media screen and (min-width: 1000px) {
  #content .item-main__name {
    font-size: 0.9375vw;
    transition: 0.3s;
  }
}
#content .item-main__size {
  margin: 0.42em 0 0.9em;
}
#content .item-main__price {
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 1em;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#content .item-main__price span {
  margin-left: 0.3em;
  font-size: 0.9em;
}
#content .item-main__thumb {
  width: 16.5333333333vw;
  margin-right: 5.3333333333vw;
}
@media screen and (min-width: 1000px) {
  #content .item-main__thumb {
    width: 4.84375vw;
    margin-right: 1.5625vw;
  }
}
#content .item-main__btn {
  position: absolute;
  bottom: 0;
  right: 0;
  padding: 0.5em 0.9em;
  border-radius: 0.5333333333vw;
  background: var(--c-txt);
  color: #fff;
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 2.9333333333vw;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 1000px) {
  #content .item-main__btn {
    border-radius: 2px;
    font-size: 0.9375vw;
    transition: all 0.3s;
  }
}
#content .item-other {
  display: flex;
  flex-wrap: wrap;
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 1em;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 1000px) {
  #content .item-other {
    font-size: 1.015625vw;
  }
}
#content .item-other li {
  flex-shrink: 0;
}
#content .item-other li:not(:last-of-type)::after {
  content: "/";
  display: inline-block;
  margin: 0 1.8666666667vw;
}
@media screen and (min-width: 1000px) {
  #content .item-other li:not(:last-of-type)::after {
    margin: 0 0.546875vw;
  }
}
#content .item-other a {
  text-decoration: underline;
  padding-top: 4vw;
}
@media screen and (min-width: 1000px) {
  #content .item-other a {
    padding-top: 1.171875vw;
  }
}
#content .snap-modal__comment {
  display: table;
  position: relative;
  width: 82.6666666667vw;
  margin: 0 0 0 auto;
  padding: 7%;
  background: var(--c-bg);
}
@media screen and (min-width: 1000px) {
  #content .snap-modal__comment {
    width: 31.25vw;
    margin: 1.40625vw 0 0 7.03125vw;
    padding: 4%;
  }
}
#content .snap-modal__comment::after {
  content: "";
  position: absolute;
  top: 0;
  left: 15%;
  border-style: solid;
  border-width: 0 1.8666666667vw 3.7333333333vw;
  border-color: transparent transparent var(--c-bg);
  translate: -50% -100%;
}
@media screen and (min-width: 1000px) {
  #content .snap-modal__comment::after {
    border-width: 0 0.703125vw 1.40625vw;
  }
}
#content .modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgb(255, 255, 255);
  z-index: 1000;
}
#content .modal-content {
  position: relative;
  background: #fff;
  width: 100%;
  height: 100%;
  overflow-y: auto;
}
#content .modal-header {
  display: flex;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  padding: 5.3333333333vw 5.3333333333vw 0;
  pointer-events: none;
  z-index: 10;
  mix-blend-mode: difference;
}
@media screen and (min-width: 1000px) {
  #content .modal-header {
    padding: 3.125vw 3.125vw 0;
  }
}
#content .modal-header img {
  width: 32vw;
}
@media screen and (min-width: 1000px) {
  #content .modal-header img {
    width: 14.0625vw;
  }
}
#content .close-line {
  position: relative;
  width: 9.0666666667vw;
  height: 9.0666666667vw;
  margin-top: -1%;
  cursor: pointer;
  pointer-events: auto;
}
@media screen and (min-width: 1000px) {
  #content .close-line {
    width: 4.6875vw;
    height: 4.6875vw;
  }
}
#content .close-line::before, #content .close-line::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 10%;
  width: 100%;
  height: 1px;
  background-color: #ccc;
}
#content .close-line::before {
  transform: translateY(-50%) rotate(-45deg);
}
#content .close-line::after {
  transform: translateY(-50%) rotate(45deg);
}
#content .modal-body {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  word-wrap: break-word;
  white-space: normal;
}
#content .close-btn {
  display: block;
  width: 56vw;
  height: 13.3333333333vw;
  margin: 13.3333333333vw auto 26.6666666667vw;
  border: 1px solid var(--c-txt);
  border-radius: 0.8vw;
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 1em;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 3.2vw;
  text-align: center;
}
@media screen and (min-width: 1000px) {
  #content .close-btn {
    width: 19.53125vw;
    height: 4.6875vw;
    margin: 8.59375vw auto 10.9375vw;
    border-radius: 3px;
    font-size: 1.09375vw;
    transition: 0.4s;
  }
}
@media screen and (min-width: 1000px) {
  #content .close-btn:hover {
    background-color: var(--c-txt);
    color: #fff;
  }
}
#content aside {
  margin-bottom: 48vw;
}
@media screen and (min-width: 1000px) {
  #content aside {
    margin-bottom: 17.1875vw;
  }
}
#content .aside__wrap {
  position: relative;
  margin: 0 auto 26.6666666667vw;
  padding-left: 10%;
  padding-right: 10%;
}
@media screen and (min-width: 1000px) {
  #content .aside__wrap {
    margin: 0 auto 11.71875vw;
    padding-left: 7.03125vw;
    padding-right: 7.03125vw;
  }
}
#content .aside__ttl {
  margin-bottom: 10.6666666667vw;
  font-family: "azo-sans-web", sans-serif;
  font-weight: 400;
  font-size: 1em;
  font-style: normal;
  letter-spacing: 0.025em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 500;
  font-size: 6.1333333333vw;
  text-align: center;
}
@media screen and (min-width: 1000px) {
  #content .aside__ttl {
    margin-bottom: 3.125vw;
    font-size: 2.34375vw;
  }
}
#content .aside__btn {
  display: block;
  width: 100%;
  line-height: 4.2;
  border: 1px solid var(--c-txt);
  border-radius: 0.8vw;
  background-color: #fff;
  font-size: 3.2vw;
  letter-spacing: 0.08em;
  text-align: center;
}
@media screen and (min-width: 1000px) {
  #content .aside__btn {
    width: 39.0625vw;
    margin: 0 auto;
    border-radius: 3px;
    font-size: 1.09375vw;
    transition: all 0.4s ease;
  }
  #content .aside__btn:hover {
    background-color: var(--c-txt);
    color: #fff;
    opacity: 1;
  }
}
#content .footer {
  padding: 16vw 0;
  background-color: var(--c-txt);
}
@media screen and (min-width: 1000px) {
  #content .footer {
    padding: 3.90625vw 0;
  }
}
#content .footer img {
  width: 100%;
  height: auto;
}
#content .footer__logo {
  width: 29.3333333333vw;
  margin: 0 auto 4.2666666667vw;
}
@media screen and (min-width: 1000px) {
  #content .footer__logo {
    width: min(130px, 10.15625vw);
    margin: 0 auto 1.25vw;
  }
}
#content .footer__logo a {
  display: block;
}
@media screen and (min-width: 1000px) {
  #content .footer__logo a {
    transition: all 0.5s ease;
  }
  #content .footer__logo a:hover {
    opacity: 0.5;
  }
}
#content .footer__copyright {
  text-align: center;
  color: #fff;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 2.9333333333vw;
  font-weight: 400;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 1000px) {
  #content .footer__copyright {
    font-size: min(13px, 1.015625vw);
  }
}
/*# sourceMappingURL=261106_onlinestore_barbour-snap_style.css.map */