@charset "UTF-8";

/* ==========================================================================
    main style
============================================================================= */
@-webkit-keyframes swing-top-fwd {
  0% {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
    -webkit-transform-origin: top;
    transform-origin: top;
  }

  100% {
    -webkit-transform: rotateX(0);
    transform: rotateX(0);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}

@keyframes swing-top-fwd {
  0% {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
    -webkit-transform-origin: top;
    transform-origin: top;
  }

  100% {
    -webkit-transform: rotateX(0);
    transform: rotateX(0);
    -webkit-transform-origin: top;
    transform-origin: top;
  }
}

@-webkit-keyframes flipX {
  0% {
    -webkit-transform: rotate3d(1, 0, 0, 90deg);
    transform: rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: rotate3d(1, 0, 0, -20deg);
    transform: rotate3d(1, 0, 0, -20deg);
  }

  60% {
    -webkit-transform: rotate3d(1, 0, 0, 10deg);
    transform: rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: rotate3d(1, 0, 0, -5deg);
    transform: rotate3d(1, 0, 0, -5deg);
  }

  100% {
    -webkit-transform: rotate3d(1, 0, 0, 0deg);
    transform: rotate3d(1, 0, 0, 0deg);
  }
}

@keyframes flipX {
  0% {
    -webkit-transform: rotate3d(1, 0, 0, 90deg);
    transform: rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }

  40% {
    -webkit-transform: rotate3d(1, 0, 0, -20deg);
    transform: rotate3d(1, 0, 0, -20deg);
  }

  60% {
    -webkit-transform: rotate3d(1, 0, 0, 10deg);
    transform: rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: rotate3d(1, 0, 0, -5deg);
    transform: rotate3d(1, 0, 0, -5deg);
  }

  100% {
    -webkit-transform: rotate3d(1, 0, 0, 0deg);
    transform: rotate3d(1, 0, 0, 0deg);
  }
}

@-webkit-keyframes flipXend {
  0% {
    -webkit-transform: rotate3d(1, 0, 0, 0deg);
    transform: rotate3d(1, 0, 0, 0deg);
    opacity: 1;
  }

  40% {
    -webkit-transform: rotate3d(1, 0, 0, -5deg);
    transform: rotate3d(1, 0, 0, -5deg);
  }

  60% {
    -webkit-transform: rotate3d(1, 0, 0, 10deg);
    transform: rotate3d(1, 0, 0, 10deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: rotate3d(1, 0, 0, -20deg);
    transform: rotate3d(1, 0, 0, -20deg);
  }

  100% {
    -webkit-transform: rotate3d(1, 0, 0, 90deg);
    transform: rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@keyframes flipXend {
  0% {
    -webkit-transform: rotate3d(1, 0, 0, 0deg);
    transform: rotate3d(1, 0, 0, 0deg);
    opacity: 1;
  }

  40% {
    -webkit-transform: rotate3d(1, 0, 0, -5deg);
    transform: rotate3d(1, 0, 0, -5deg);
  }

  60% {
    -webkit-transform: rotate3d(1, 0, 0, 10deg);
    transform: rotate3d(1, 0, 0, 10deg);
    opacity: 0;
  }

  80% {
    -webkit-transform: rotate3d(1, 0, 0, -20deg);
    transform: rotate3d(1, 0, 0, -20deg);
  }

  100% {
    -webkit-transform: rotate3d(1, 0, 0, 90deg);
    transform: rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50%, 0);
    transform: translate3d(0, 50%, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes line {
  0% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

@keyframes line {
  0% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

@-webkit-keyframes dot-pulse {
  0% {
    -webkit-box-shadow: 9999px 0 0 -5px;
    box-shadow: 9999px 0 0 -5px;
  }

  30% {
    -webkit-box-shadow: 9999px 0 0 2px;
    box-shadow: 9999px 0 0 2px;
  }

  60%,
  100% {
    -webkit-box-shadow: 9999px 0 0 -5px;
    box-shadow: 9999px 0 0 -5px;
  }
}

@keyframes dot-pulse {
  0% {
    -webkit-box-shadow: 9999px 0 0 -5px;
    box-shadow: 9999px 0 0 -5px;
  }

  30% {
    -webkit-box-shadow: 9999px 0 0 2px;
    box-shadow: 9999px 0 0 2px;
  }

  60%,
  100% {
    -webkit-box-shadow: 9999px 0 0 -5px;
    box-shadow: 9999px 0 0 -5px;
  }
}

@-webkit-keyframes dot-pulse-before {
  0% {
    -webkit-box-shadow: 9984px 0 0 -5px;
    box-shadow: 9984px 0 0 -5px;
  }

  30% {
    -webkit-box-shadow: 9984px 0 0 2px;
    box-shadow: 9984px 0 0 2px;
  }

  60%,
  100% {
    -webkit-box-shadow: 9984px 0 0 -5px;
    box-shadow: 9984px 0 0 -5px;
  }
}

@keyframes dot-pulse-before {
  0% {
    -webkit-box-shadow: 9984px 0 0 -5px;
    box-shadow: 9984px 0 0 -5px;
  }

  30% {
    -webkit-box-shadow: 9984px 0 0 2px;
    box-shadow: 9984px 0 0 2px;
  }

  60%,
  100% {
    -webkit-box-shadow: 9984px 0 0 -5px;
    box-shadow: 9984px 0 0 -5px;
  }
}

@-webkit-keyframes dot-pulse-after {
  0% {
    -webkit-box-shadow: 10014px 0 0 -5px;
    box-shadow: 10014px 0 0 -5px;
  }

  30% {
    -webkit-box-shadow: 10014px 0 0 2px;
    box-shadow: 10014px 0 0 2px;
  }

  60%,
  100% {
    -webkit-box-shadow: 10014px 0 0 -5px;
    box-shadow: 10014px 0 0 -5px;
  }
}

@keyframes dot-pulse-after {
  0% {
    -webkit-box-shadow: 10014px 0 0 -5px;
    box-shadow: 10014px 0 0 -5px;
  }

  30% {
    -webkit-box-shadow: 10014px 0 0 2px;
    box-shadow: 10014px 0 0 2px;
  }

  60%,
  100% {
    -webkit-box-shadow: 10014px 0 0 -5px;
    box-shadow: 10014px 0 0 -5px;
  }
}

@-webkit-keyframes rotateUpRight {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rotateUpRight {
  0% {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@-webkit-keyframes rotateUpLeft {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rotateUpLeft {
  0% {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  100% {
    -webkit-transform: none;
    transform: none;
  }
}

body {
  -webkit-animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

.p-history {
  position: relative;
}

.p-history__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1360px;
  margin-inline: auto;
}

.p-history__side {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 190px 0 100px;
}

.p-history__scroll {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.p-history__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-inline: 20px;
  gap: 50px;
}

.p-history__item {
  position: relative;
  text-align: center;
  opacity: 0.5;
}

.p-history__item.is-show {
  opacity: 1;
}

.p-history__item dt {
  color: #f39518;
  font-size: 4.6rem;
  line-height: 1;
  margin-bottom: 10px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-history__item dd {
  font-size: 1.6rem;
}

.p-history__item dd .month::after {
  content: "、";
}

.p-history__item dd+dd {
  margin-top: 10px;
}

.p-history__gallery {
  position: absolute;
  top: calc(100vh - 300px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  z-index: 1;
  -webkit-perspective: 1000px;
  perspective: 1000px;
  width: 100%;
  left: 0;
  right: 0;
  margin-inline: auto;
}

.p-history__gallery img {
  border-radius: 5px;
  -webkit-box-shadow: 0 4px 80px rgba(0, 0, 0, 0.25);
  box-shadow: 0 4px 80px rgba(0, 0, 0, 0.25);
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0;
  width: 19.44vw;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}

.p-history__gallery img.is-show {
  -webkit-animation: rotateUpRight 1s;
  animation: rotateUpRight 1s;
  opacity: 1;
}

.p-history__gallery .img {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
}

.p-history__gallery .img:nth-of-type(even) img {
  margin-left: auto;
}

@media screen and (min-width: 768px) {
  .p-history {
    margin-inline: 2.77vw;
  }

  .p-history .l-container {
    -ms-flex-preferred-size: calc(100% - 36px);
    flex-basis: calc(100% - 36px);
  }

  .p-history__gallery .year2001 {
    margin-top: calc(98.797px * 3);
  }

  .p-history__gallery .year2001-2 {
    margin-top: calc(98.797px * 4);
  }

  .p-history__gallery .year2002 {
    margin-top: 50px;
  }

  .p-history__gallery .year2003 {
    margin-top: calc(98.797px * 1.5);
  }

  .p-history__gallery .year2004 {
    margin-top: 0;
  }

  .p-history__gallery .year2004-2 {
    margin-top: calc(98.797px);
  }

  .p-history__gallery .year2004-3 {
    margin-top: 0;
  }

  .p-history__gallery .year2005 {
    margin-top: calc(98.797px);
  }

  .p-history__gallery .year2005-2 {
    margin-top: 0;
  }

  .p-history__gallery .year2007 {
    margin-top: calc(98.797px);
  }

  .p-history__gallery .year2008,
  .p-history__gallery .year2008-2 {
    margin-top: 30px;
  }

  .p-history__gallery .year2008-3 {
    margin-top: 70px;
  }

  .p-history__gallery .year2010 {
    margin-top: 50px;
  }

  .p-history__gallery .year1984 {
    margin-left: auto;
    margin-right: 10vw;
  }

  .p-history__gallery .year1998 {
    margin-right: 12.7vw;
  }

  .p-history__gallery .year2001 {
    margin-left: 10.26vw;
  }

  .p-history__gallery .year2003 {
    margin-right: 6vw;
  }

  .p-history__gallery .year2004 {
    margin-left: 7vw;
  }

  .p-history__gallery .year2005 {
    margin-right: 6vw;
  }

  .p-history__gallery .year2005-2 {
    margin-left: 7vw;
  }

  .p-history__gallery .year2008 {
    margin-right: 6vw;
  }

  .p-history__gallery .year2008-2 {
    margin-left: 7vw;
  }

  .p-history__gallery .year2010 {
    margin-top: calc(98.797px * 3);
    margin-left: 3vw;
  }

  .p-history__gallery .year2013 {
    margin-top: calc(98.797px * 7);
  }

  .p-history__gallery .year2018 {
    margin-top: calc(98.797px * 3);
  }

  .p-history__gallery .year2019 {
    margin-top: calc(98.797px * 4);
  }
	
  .p-history__gallery .year2024 {
	 margin-top: calc(98.797px * 3);
  }


  .p-history__toggle {
    display: none;
  }
}

@media screen and (max-width: 767.98px) {
  .p-history .l-container {
    -ms-flex-preferred-size: calc(100% - 36px);
    flex-basis: calc(100% - 36px);
    padding-inline: 0;
  }

  .p-history__list {
    margin-inline: 30px;
  }

  .p-history__side {
    padding: 80px 0 100px;
  }

  .p-history__gallery {
    top: 180px;
    margin-inline: -10px;
    height: 100svh;
  }

  .p-history__gallery img {
    position: absolute;
    width: 30vw;
  }

  .p-history__gallery .img:nth-of-type(even) img {
    right: -20px;
  }

  .p-history__gallery .year1984 {
    opacity: 1;
  }

  .p-history__gallery .year2001 {
    margin-top: -50px;
  }

  .p-history__gallery .year2001-2 {
    margin-top: 100px;
  }

  .p-history__gallery .year2004 {
    margin-top: -100px;
  }

  .p-history__gallery .year2005-2 {
    margin-top: 50px;
  }

  .p-history__gallery .year2008 {
    margin-top: -100px;
  }

  .p-history__gallery .year2008-3 {
    margin-top: 20px;
  }

  .p-history__toggle {
    background-color: #aaa;
    display: inline-block;
    position: fixed;
    bottom: 10px;
    right: 10px;
    width: 100px;
    height: 40px;
    border-radius: 60px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    cursor: pointer;
    -webkit-transition: border-color 0.4s;
    transition: border-color 0.4s;
    opacity: 0;
    z-index: 100;
  }

  .p-history__toggle.is-active {
    background-color: #f39518;
    border-color: #f39518;
  }

  .p-history__toggle.is-active::after {
    left: 60px;
    border: solid 3px #f39518;
    background-color: #fff;
  }

  .p-history__toggle.is-active label {
    left: 10px;
  }

  .p-history__toggle.is-active label span::after {
    content: "ON";
  }

  .p-history__toggle::after {
    border: solid 3px #aaa;
    border-radius: 50%;
    background-color: #fff;
    content: '';
    position: absolute;
    top: 50%;
    left: -6px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: left 0.4s;
    transition: left 0.4s;
    width: 34px;
    height: 34px;
  }

  .p-history__toggle label {
    color: #fff;
    cursor: pointer;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    line-height: 30px;
    position: absolute;
    left: 35px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }

  .p-history__toggle label span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4px;
  }

  .p-history__toggle label span img {
    width: 20px;
  }

  .p-history__toggle label span::after {
    content: "OFF";
  }

  .p-history__toggle input {
    display: none;
  }
}

.p-company {
  position: relative;
}

.p-company::before {
  background-color: #503510;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
}

.p-company.is-show::before {
  -webkit-animation: line 1.2s forwards linear;
  animation: line 1.2s forwards linear;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}

.p-company .l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-company__inner {
  padding: 80px 0 100px;
  -ms-flex-preferred-size: 55.55vw;
  flex-basis: 55.55vw;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-company {
    margin-inline: 2.77vw;
  }
}

@media screen and (max-width: 767.98px) {
  .p-company .l-container {
    padding-inline: 0;
  }

  .p-company__inner {
    -ms-flex-preferred-size: calc(100vw - 110px);
    flex-basis: calc(100vw - 110px);
    margin-right: 20px;
  }
}

.p-store::before {
  background-color: #503510;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
}

.p-store.is-show::before {
  -webkit-animation: line 1.2s forwards linear;
  animation: line 1.2s forwards linear;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}

.p-store .l-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-store__inner {
  -ms-flex-preferred-size: 62.5vw;
  flex-basis: 62.5vw;
  margin-inline: auto;
  padding: 100px 0 92px;
}

.p-store__group+.p-store__group {
  margin-top: 80px;
}

.p-store__data {
  position: relative;
}

.p-store__detail .cont {
  cursor: pointer;
  background-color: #f8f8f8;
  color: #503510;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-bottom: 30px;
  position: relative;
}

.p-store__detail .cont::after {
  background: url("../images/arw_white.svg") no-repeat center/18px auto;
  background-color: #f39518;
  content: "";
  display: block;
  width: 3.472vw;
  height: 3.472vw;
  max-width: 50px;
  max-height: 50px;
  position: absolute;
  right: 0;
  bottom: 0;
}

.p-store__detail .figure {
  aspect-ratio: 1.536/1;
  overflow: hidden;
  width: 100%;
}

.p-store__detail .figure img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
}

.p-store__detail .figure:hover img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

.p-store__detail .details {
  padding: 30px;
}

.p-store__detail .details .fa-solid {
  color: #f39518;
  margin-right: 10px;
}

.p-store__detail .details address {
  line-height: 1.2;
}

.p-store__detail .details .tel {
  margin-top: 10px;
}

.p-store__list {
  counter-reset: item;
}

.p-store__item {
  border-top: solid 1px #503510;
  color: #bbb;
  cursor: pointer;
  padding: 25px 0;
  position: relative;
}

.p-store__item:hover,
.p-store__item.is-selected {
  color: #503510;
}

.p-store__item:last-child {
  border-bottom: solid 1px #503510;
}

.p-store__item::after {
  counter-increment: item;
  content: '0' counter(item);
  position: absolute;
  right: 0;
  top: 25px;
}

@media screen and (min-width: 768px) {
  .p-store {
    margin-inline: 2.77vw;
  }

  .p-store__cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 4.166vw;
  }

  .p-store__data {
    -ms-flex-preferred-size: 29.861vw;
    flex-basis: 29.861vw;
    position: relative;
  }

  .p-store__list {
    -ms-flex-preferred-size: 28.4722vw;
    flex-basis: 28.4722vw;
  }

  .p-store__detail {
    -webkit-transition: opacity 1s ease, visibility 1s ease;
    transition: opacity 1s ease, visibility 1s ease;
    opacity: 0;
    height: 0;
    position: absolute;
    visibility: hidden;
  }

  .p-store__detail.is-selected {
    opacity: 1;
    height: auto;
    visibility: visible;
  }
}

@media screen and (max-width: 767.98px) {
  .p-store .l-container {
    padding-inline: 0;
  }

  .p-store__inner {
    padding: 100px 0 60px;
  }

  .p-store__group {
    margin-left: auto;
    width: calc(100vw - 110px);
  }

  .p-store__group+.p-store__group {
    margin-top: 50px;
  }

  .p-store__detail {
    display: none;
    padding-top: 25px;
  }

  .p-store__detail .details {
    padding: 15px;
  }

  .p-store__detail .cont::after {
    width: 30px;
    height: 30px;
  }
}

.p-message .txt {
  word-wrap: break-word;
  text-align: left;
}

section .hdg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-preferred-size: 36px;
  flex-basis: 36px;
  padding-top: 60px;
  position: relative;
}

section .hdg::after {
  background-color: #503510;
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 30px);
  position: absolute;
  top: 0;
  left: 2.25em;
}

section .hdg .en {
  display: block;
  font-size: 6rem;
  font-family: "EB Garamond", serif;
  font-weight: normal;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  position: absolute;
  top: 0.3em;
  width: 130px;
}

section .hdg .ja {
  font-size: 1.2rem;
  letter-spacing: 1px;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

section .hdg-1 {
  font-size: 2.8rem;
  margin-bottom: 42px;
}

@media screen and (min-width: 768px) {
  section .hdg {
    -ms-flex-preferred-size: 36px;
    flex-basis: 36px;
  }

  section .hdg .en {
    font-size: 10rem;
  }

  section .hdg .ja {
    -webkit-transform: translateX(-15px);
    transform: translateX(-15px);
  }
}

@media screen and (max-width: 767.98px) {
  section .hdg .en {
    top: 60px;
    width: 110px;
  }

  section .hdg-1 {
    font-size: 2.4rem;
    margin-bottom: 10px;
  }
}

.p-section::before {
  background-color: #503510;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
}

.p-section.is-show::before {
  -webkit-animation: line 1.2s forwards linear;
  animation: line 1.2s forwards linear;
  -webkit-animation-delay: 0;
  animation-delay: 0;
}


.p-section__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-section__inner {
  padding: 80px 0 100px;
  -ms-flex-preferred-size: 55.55vw;
  flex-basis: 55.55vw;
  margin-inline: auto;
}

@media screen and (min-width: 768px) {
  .p-section {
    margin-inline: 2.77vw;
  }
}

@media screen and (max-width: 767.98px) {
  .p-section__wrap {
    padding-inline: 0;
  }

  .p-section__inner {
    -ms-flex-preferred-size: calc(100vw - 110px);
    flex-basis: calc(100vw - 110px);
    margin-right: 20px;
  }
}