.hoverLayer {
  --btn-size: 280px;
  --mask-color: var(--blue-hover-color);
  will-change: transform;
  overflow: hidden;
}

.hoverLayer p {
  transition: all 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media only screen and (min-width: 768px) {
  .hoverLayer::before {
    --size: calc(var(--btn-size) * 1.2);
    content: "";
    position: absolute;
    top: calc(50% - max(var(--size)) / 2);
    left: calc(50% - max(var(--size)) / 2);
    width: max(var(--size));
    height: max(var(--size));
    -webkit-clip-path: circle(50% at 50% 50%);
    clip-path: circle(50% at 50% 50%);
    background-color: var(--mask-color);
    transform: scale(0);
    transition: transform 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
  }

  .hoverLayer:hover::before {
    transform: scale(1);
  }
}

.hoverLayer::before {
  --size: calc(var(--btn-size) * 1.2);
  content: "";
  position: absolute;
  top: calc(50% - max(var(--size)) / 2);
  left: calc(50% - max(var(--size)) / 2);
  width: max(var(--size));
  height: max(var(--size));
  -webkit-clip-path: unset;
  clip-path: unset;
  background-color: var(--mask-color);
  transform: scale(0);
  transition: transform 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

html {
  width: 100%;
  height: 100%;
}

body footer {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

body footer img {
  height: auto;
  width: 100%;
}

body footer .contact {
  text-align: center;
  display: flex;
  justify-content: center;
  padding: 15vh 20px 15vh;
}

body footer .contact img {
  max-width: 594px;
  align-self: center;
}

body#home {
  /*------------*/
  /* position: fixed; */
  /* height: 100%; */
  /*------------*/
  margin: 0;
  /* width: 100vw; */
  overflow-x: hidden !important;
}

body header .headerBody {
  background-color: transparent;
  box-shadow: none;
  display: block;
}

body header .headerBody #headerNav nav .logo a img {
  /* filter: invert(100%);
  -webkit-filter: invert(100%); */
}

body header .headerBody #headerNav.active nav .logo a img {
  filter: invert(100%);
  -webkit-filter: invert(100%);
}

body#home .dot-indicator {
  position: fixed;
  z-index: 10;
  right: 4%;
  top: 90%;
  transform: translateY(-90%);
  display: none !important;
}

body#home .dot-indicator nav ul li {
  --dot-size: 6px;
  padding: var(--dot-size) 0;
}

body#home .dot-indicator nav ul li a {
  height: 45px;
  width: 2px;
  border-radius: 10px;
  transition: all 0.1s ease-in-out;
  -webkit-transition: all 0.1s ease-in-out;
  -moz-transition: all 0.1s ease-in-out;
  -ms-transition: all 0.1s ease-in-out;
  -o-transition: all 0.1s ease-in-out;
  display: block;
  list-style: none;
  font-size: 1.5rem;
  background-color: rgba(255, 255, 255, .5);
}

body#home .dot-indicator nav ul li a:hover {
  background-color: #fff;
}

body#home .dot-indicator nav ul li.active a {
  background-color: #fff;
}

body#home main {
  scroll-snap-type: y mandatory;
  /*------------*/
  /* position: fixed; */
  top: 0;
  left: 0;
  /*------------*/
  /* height: 100vh; */
  background-color: #fff;
  z-index: 1;

  background: transparent;
}

body#home main #line {
  position: absolute;
  top: 0;
  left: 0;
  width: 10px;
  height: 0;
  background-color: var(--color-red);
  z-index: -1;
}

body#home main section {
  padding: 0;
  margin: 0;
  /*------------*/
  position: absolute;
  top: 0;
  left: 0;
  /*------------*/
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
  color: #F5F5F5;
  background-size: cover;
  transition: transform 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

/* body#home main section#sec-01.active {
  transform: translate(0%,0)!important;
} */


.noScroll.active main section:nth-of-type(1) {
  z-index: 1;
}

body#home main section .backgroundVideo {
  width: 100%;
  height: 100%;
  position: relative;
}

body#home main section .backgroundVideo video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

body#home main section .backgroundVideo img {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media screen and (max-width:500px) {
  body#home main section .backgroundVideo img {
    display: none;
  }
}


body#home main section .backgroundImage {
  width: 100%;
  height: 100%;
}

body#home main section .backgroundImage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

body#home main section .inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 var(--padding);
  z-index: 11;
}

/* .main-posi {
  position: absolute;
  left: 7%;
  bottom: 35%;
} */
body#home main article .inner {
  position: absolute;
  left: 7%;
  bottom: 35%;
}

.main-posi .visual-txt {
  display: flex;
  flex-direction: column;
}

.fadein00.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.fadein00 {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
  transform: translate(0, 50px);
  -webkit-transition: all 1s;
  transition: all 1s;
}


.fadein01 {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
}


.fadein01.scrollin {
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
}


.fadein02 {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 1s;
}


.fadein02.scrollin {
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 2s;
}


.fadein03 {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 3s;
}


.fadein03.scrollin {
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 4s;
}


.fadein04 {
  opacity: 0;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 6s;
}


.fadein04.scrollin {
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 6s;
}


.main-posi .visual-txt img.fadein01 {
  opacity: 0;
  animation-name: fadeUp2first;
  animation-duration: 1s;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 10s;
}

.main-posi .visual-txt img.fadein01.scrollin {
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
  animation-delay: 10s;
}

/* 最初の画像のキーフレームアニメーション */
@keyframes fadeUp2first {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.appear {
  transform-origin: center top;
  animation: show 1s both;
}

span.appear {
  display: inline-block;
}

@keyframes show {
  0% {
    transform: translate(0, 2em);
    opacity: 0;
    text-shadow: 0 0 0 #0f0;
  }

  50% {
    text-shadow: 0 0 0.5em #0f0;
  }

  100% {
    transform: translate(0, 0);
    opacity: 1;
    text-shadow: none;
  }
}

/* 最初の画像のアニメーション */
.videoTrigger:first-child .inner .visual-txt img.animate-once:first-child {
  opacity: 0;
  -webkit-animation-name: fadeUpFirst;
  animation-name: fadeUpFirst;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.videoTrigger:first-child .inner .visual-txt img.animate-once2:last-child {
  opacity: 0;
  -webkit-animation-name: fadeUpLast;
  animation-name: fadeUpLast;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.videoTrigger:first-child .inner .pageLinkContainer.animate-once3 {
  opacity: 0;
  -webkit-animation-name: fadeUpLasts;
  animation-name: fadeUpLasts;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 8s;
  animation-delay: 8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}


/* 最初の画像のキーフレームアニメーション */
@keyframes fadeUpFirst {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 最後の画像のキーフレームアニメーション */
@keyframes fadeUpLast {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 最後の画像のキーフレームアニメーション */
@keyframes fadeUpLasts {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


.videoTrigger:first-child .main-posi .visual-txt img {
  margin-top: 20px;
}

.videoTrigger:first-child .main-posi .visual-txt img:nth-child(1) {
  max-width: 240px;
  width: 100%;
}

.videoTrigger:first-child .main-posi .visual-txt img:nth-child(2) {
  max-width: 350px;
  width: 100%;
}


.videoTrigger:nth-child(2) .main-posi .visual-txt img {
  margin-top: 20px;
}

.videoTrigger:nth-child(2) .main-posi .visual-txt img:nth-child(1) {
  max-width: 400px;
  width: 100%;
  animation-delay: 3s;
  animation-duration: 5s;
}

.videoTrigger:nth-child(2) .main-posi .visual-txt img:nth-child(2) {
  max-width: 200px;
  width: 100%;
}

.videoTrigger:nth-child(2) .main-posi .visual-txt img:nth-child(3) {
  max-width: 310px;
  width: 100%;
}

@media screen and (max-width:500px) {

  .main-posi {
    bottom: 30%;
  }
}

@media screen and (max-width:414px) {

  .videoTrigger:first-child .main-posi .visual-txt img:nth-child(1) {
    max-width: 200px;
  }

  .videoTrigger:first-child .main-posi .visual-txt img:nth-child(2) {
    max-width: 280px;
  }

  .videoTrigger:nth-child(2) .main-posi .visual-txt img:nth-child(1) {
    max-width: 300px;
  }

  .videoTrigger:nth-child(2) .main-posi .visual-txt img:nth-child(2) {
    max-width: 150px;
  }

  .videoTrigger:nth-child(2) .main-posi .visual-txt img:nth-child(3) {
    max-width: 220px;
  }
}

.main-posi .pageLinkContainer {
  margin-top: 7vh;
}


body#home main .videoTrigger .inner .main-posi .pageLinkContainer a {
  --btn-size: 18vw;
  display: inline-block;
  text-align: center;
  background-color: transparent;
  padding: 12px 20px;
  border: 1.5px solid #fff;
  width: var(--btn-size);
  max-width: 270px;
}


body#home main .videoTrigger .inner .main-posi .pageLinkContainer a p,
body#home main .videoTrigger .inner .main-posi .pageLinkContainer a span {
  transition: color 0.32s cubic-bezier(0.39, 0.575, 0.565, 1), right 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body#home main .videoTrigger .inner .main-posi .pageLinkContainer a p {
  margin: 0;
  color: #fff;
  font-weight: 600;
}

body#home main .videoTrigger .inner .main-posi .pageLinkContainer a p {
  font-size: 1vw;
  text-align: left;
  letter-spacing: 0.1em;
  font-family: var(--zen);
  font-weight: 400;
}

@media screen and (max-width:1050px) {
  body#home main .videoTrigger .inner .main-posi .pageLinkContainer a {
    --btn-size: 100%;
  }

  body#home main .videoTrigger .inner .main-posi .pageLinkContainer a p {
    font-size: 16px;
  }
}


body#home main .videoTrigger .inner .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #fff;
  z-index: 99;
}

body#home main .videoTrigger:last-child .inner .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #fff;
  z-index: 99;
}


body#home main>section:first-child .main-posi {
  bottom: 35%;
}

body#home main>section .main-posi .visual-txt {
  width: 33vw;
}

body#home main>section#sec-03 .main-posi .visual-txt {
  width: 40vw;
}

body#home main>section#sec-04 .main-posi .visual-txt {
  width: 45vw;
}

body#home main>section#sec-05 .main-posi .visual-txt {
  width: 42vw;
}

body#home main>section.active-section .main-posi .visual-txt img:first-child {
  margin-top: 0;
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 4s;
  height: 28px;
}

body#home main>section.active-section .main-posi .visual-txt img {
  margin-top: 30px;
  animation-name: fadeUpAnime02;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 8s;
  height: 28px;
}

body#home main>section.active-section .main-posi .pageLinkContainer {
  animation-name: fadeUpAnime03;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 10s;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime02 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime03 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* body#home main>section .main-posi img{
  opacity: 0;
}

body#home main>section.active .main-posi img{
  animation: fadein-top 1s ease-out 3s;
}

@keyframes fadein-top {
  0% {
    opacity: 0;
    transform: translateY(100px); 
  }
  100% {
    opacity: 1;
    transform: translateY(0); 
  }
} */

@media screen and (max-width:1300px) {
  body#home main>section .main-posi img {
    width: 40vw;
  }
}

@media screen and (max-width:1050px) {
  body#home main>section .main-posi img {
    width: 45vw;
  }
}

@media screen and (max-width:900px) {
  body#home main>section .main-posi img {
    width: 50vw;
  }
}

@media screen and (max-width:768px) {
  body#home main>section .main-posi img {
    width: 60vw;
  }
}

@media screen and (max-width:600px) {
  body#home main>section .main-posi img {
    width: 70vw;
  }
}

/* body#home main>section:first-child .main-posi img {
  max-width: 531px;
}
body#home main>section:nth-child(2) .main-posi img {
  max-width: 604px;
}
body#home main>section:nth-child(3) .main-posi img {
  max-width: 681px;
}
body#home main>section:nth-child(4) .main-posi img {
  max-width: 636px;
} */

.type {
  position: relative;
  width: 100%;
  height: 100vh;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;

}

.type::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: linear-gradient(180deg, rgba(#000, 0) 0, rgba(#000, .8) 80%, rgba(#000, .8) 100%);
}

.type {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  transform: translate(-50%, -50%);
  color: #fff;
  font: normal 300 64px/1 'Josefin Sans', sans-serif;
  text-align: center;
  white-space: nowrap;
}

.type a {
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 80px;
  color: #fff;
  font-size: 14px;
  font-family: var(--garamond);
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  /* writing-mode: vertical-rl; */
  text-orientation: mixed;
  transition: .2s;
  overflow: hidden;
}

.type a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 70px;
  background: #fff;
}

.type a:hover {
  opacity: .5;
}

#type06 a::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 70px;
  background: rgba(255, 255, 255, .4);
}

@media screen and (max-width:500px) {
  .type a {
    padding: 10px 10px 120px;
  }

  .type a::after {
    bottom: 30px;
  }

  #type06 a::before {
    bottom: 30px;
  }
}

#type06 a::after {
  animation: sdl06 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}


@keyframes sdl06 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }

  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }

  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }

  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}


body#home main section .inner h1,
body#home main section .inner h2,
body#home main section .inner h3,
body#home main section .inner span,
body#home main section .inner p {
  color: var(--color-white);
  text-align: center;
}

body#home main section .inner h1,
body#home main section .inner h2,
body#home main section .inner h3 {
  text-shadow: 1px 1px 1px #000;
}

body#home main section .inner h1 {
  width: 96%;
  margin-top: 20%;
  margin-bottom: 170px;
}

body#home main section .inner h1,
body#home main section .inner h2 {
  font-family: var(--shippori-mincho);
  font-weight: 400;
}

body#home main section .inner h1,
body#home main section .inner h2 {
  font-size: 21px;
}

@media screen and (min-width: 320px) {

  body#home main section .inner h1,
  body#home main section .inner h2 {
    font-size: calc(21px + 19 * ((100vw - 320px) / 980));
  }
}

@media screen and (max-width: 500px) {

  body#home main section .inner h1,
  body#home main section .inner h2 {
    font-size: 17px;
  }
}

@media screen and (min-width: 1300px) {

  body#home main section .inner h1,
  body#home main section .inner h2 {
    font-size: 40px;
  }
}

body#home main section .inner h2 {
  margin-bottom: 3em;
}

body#home main section .inner h2.fslarge {
  margin: 0;
}

body#home main section .inner h2.fslarge {
  font-size: 40px;
}

@media screen and (min-width: 320px) {
  body#home main section .inner h2.fslarge {
    font-size: calc(40px + 20 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home main section .inner h2.fslarge {
    font-size: 60px;
  }
}

body#home main section .inner h3 {
  border-bottom: 2px solid currentColor;
  font-weight: 400;
  padding: 0.2em 0;
  margin: 6em 0 4em;
}

body#home main section .inner h3 {
  font-size: 18px;
}

@media screen and (min-width: 320px) {
  body#home main section .inner h3 {
    font-size: calc(18px + 6 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home main section .inner h3 {
    font-size: 24px;
  }
}

@media screen and (min-width: 320px) {
  body#home main section .inner span {
    font-size: calc(14px + 4 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home main section .inner span {
    font-size: 18px;
  }
}

body#home main section .inner span {
  font-size: 14px;
}


body#home main section .inner p {
  margin: 1em 0 2em;
}

body#home main section .inner p {
  font-size: 15px;
}

@media screen and (min-width: 320px) {
  body#home main section .inner p {
    font-size: calc(15px + 4 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home main section .inner p {
    font-size: 19px;
  }
}

body#home main section .inner .pageLinkContainer a {
  --btn-size: 18vw;
  display: inline-block;
  text-align: center;
  background-color: transparent;
  padding: 12px 20px;
  border: 1.5px solid #fff;
  width: var(--btn-size);
  max-width: 270px;
}

body#home main section .inner .pageLinkContainer a p,
body#home main section .inner .pageLinkContainer a span {
  transition: color 0.32s cubic-bezier(0.39, 0.575, 0.565, 1), right 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body#home main section .inner .pageLinkContainer a p {
  margin: 0;
  color: #fff;
  font-weight: 600;
}

body#home main section .inner .pageLinkContainer a p {
  font-size: 1vw;
  text-align: left;
  letter-spacing: 0.1em;
  font-family: var(--zen);
  font-weight: 400;
}

@media screen and (max-width: 3600px) {
  body#home main section .inner .pageLinkContainer a p {
    font-size: .7vw;
  }
}

@media screen and (max-width: 2550px) {
  body#home main section .inner .pageLinkContainer a p {
    font-size: .9vw;
  }
}

@media screen and (max-width: 1300px) {
  body#home main section .inner .pageLinkContainer a p {
    font-size: 1vw;
  }
}

@media screen and (max-width: 900px) {
  body#home main section .inner .pageLinkContainer a {
    --btn-size: 35vw;
  }

  body#home main section .inner .pageLinkContainer a p {
    font-size: 2vw;
  }
}

@media screen and (max-width: 600px) {
  body#home main section .inner .pageLinkContainer a {
    --btn-size: 50vw;
  }

  body#home main section .inner .pageLinkContainer a p {
    font-size: 2.5vw;
  }
}

@media screen and (max-width: 500px) {
  body#home main section .inner .pageLinkContainer a p {
    font-size: 3vw;
  }
}


body#home main section .inner .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #fff;
  z-index: 99;
}

body#home main section:last-child .inner .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 2%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid #fff;
  z-index: 99;
}


body#home main section:last-child .inner .pageLinkContainer a:hover p span {
  right: 0%;
}

@media only screen and (min-width: 768px) {
  body#home main section .inner .pageLinkContainer a:hover p {
    color: var(--color-white);
  }

  body#home main section .inner .pageLinkContainer a:hover p span {
    right: 8%;
    border-left-color: var(--color-white);
  }
}

@media only screen and (max-width: 640px) {
  body#home main section .inner h1 {
    margin-top: 15%;
  }

  body#home main section .inner h3 {
    margin-top: 0;
  }

  body#home main section .inner h2 {
    margin-bottom: 6em;
  }
}

body#home main section .scrollDown {
  position: absolute;
  left: 50;
  bottom: unset;
  transform: unset;
}

body#home main section .scrollDown p {
  color: var(--color-white);
  font-size: 13px;
  font-weight: 400;
  text-align: center;
  height: 20px;
  text-shadow: 1px 1px 1px #000;
}

@keyframes scrollDown {
  0% {
    opacity: 0;
    height: 0;
  }

  50% {
    opacity: 1;
    height: 40px;
  }

  100% {
    opacity: 0;
    transform: translateY(10px);
  }
}

body#home main section .scrollDown span {
  display: block;
}

@media only screen and (max-width: 640px) {
  body#home main section .scrollDown {
    position: absolute;
    left: 50%;
    bottom: unset;
    transform: unset;
  }
}

body#home main section#sec-03.active-section .main-posi .visual-txt img:first-child {
  margin-top: 30px;
  animation-name: fadeUpAnime05;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 1s;
  display: block;
  height: 24px;
  width: auto;
}

body#home main section#sec-03.active-section .main-posi .visual-txt img:nth-child(2) {
  margin-top: 30px;
  animation-name: fadeUpAnime06;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 2s;
  display: block;
  height: 24px;
  width: auto;
}

body#home main section#sec-03.active-section .main-posi .visual-txt img:nth-child(3) {
  margin-top: 30px;
  animation-name: fadeUpAnime07;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 3s;
  display: block;
  height: 24px;
  width: auto;
}

body#home main>section#sec-03.active-section .main-posi .pageLinkContainer {
  margin-top: 4vh;
  animation-name: fadeUpAnime08;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 4s;
}

@keyframes fadeUpAnime05 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime06 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime07 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime08 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

body#home main section#sec-04.active-section .main-posi .visual-txt img:first-child {
  margin-top: 30px;
  animation-name: fadeUpAnime09;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 1s;
  display: block;
  height: 24px;
  width: auto;
}

body#home main section#sec-04.active-section .main-posi .visual-txt img:nth-child(2) {
  margin-top: 30px;
  animation-name: fadeUpAnime10;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 2s;
  display: block;
  height: 24px;
  width: auto;

}

body#home main section#sec-04.active-section .main-posi .visual-txt img:nth-child(3) {
  margin-top: 30px;
  animation-name: fadeUpAnime11;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 3s;
  display: block;
  height: 24px;
  width: auto;
}

body#home main>section#sec-04.active-section .main-posi .pageLinkContainer {
  margin-top: 4vh;
  animation-delay: 0s;
}

body#home main>section#sec-04.active-section .main-posi .pageLinkContainer a {
  border: 1.5px solid #000;
  color: #000;
}

body#home main section#sec-04.active-section .main-posi .pageLinkContainer a p {
  color: #000;
}

body#home main section#sec-04.active-section .main-posi .pageLinkContainer a p span {
  border-left: 8px solid #000;
}

body#home main>section#sec-04.active-section .main-posi .pageLinkContainer a:hover {
  border: 1.5px solid #fff;
  color: #fff;
}

body#home main section#sec-04.active-section .main-posi .pageLinkContainer a:hover p {
  color: #fff;
}

body#home main section#sec-04.active-section .main-posi .pageLinkContainer a:hover p span {
  border-left: 8px solid #fff;
}

@keyframes fadeUpAnime09 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime10 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime11 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime12 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

body#home main section#sec-05.active-section .main-posi .visual-txt img:first-child {
  margin-top: 30px;
  animation-name: fadeUpAnime13;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 1s;
  display: block;
  height: 24px;
  width: auto;
}

body#home main section#sec-05.active-section .main-posi .visual-txt img:nth-child(2) {
  margin-top: 30px;
  animation-name: fadeUpAnime14;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 2s;
  display: block;
  height: 24px;
  width: auto;

}

body#home main section#sec-05.active-section .main-posi .visual-txt img:nth-child(3) {
  margin-top: 30px;
  animation-name: fadeUpAnime15;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 3s;
  display: block;
  height: 24px;
  width: auto;
}

body#home main>section#sec-05.active-section .main-posi .pageLinkContainer {
  margin-top: 4vh;
  animation-name: fadeUpAnime16;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 4s;
}

@keyframes fadeUpAnime13 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime14 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime15 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes fadeUpAnime16 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

body#home article {
  padding-top: var(--header-height);
  background-color: #fff;
  /* z-index: 1; */
}

body#home .tomb:first-child {
  padding-bottom: 100px;
  background-color: #f4f4f4;
}


body#home .tomb {
  padding-bottom: 200px;
}

@media screen and (max-width:500px) {
  body#home .tomb {
    padding-bottom: 100px;
  }
}

body#home article.onlineshop {
  padding-top: 100px;
  padding-bottom: 100px;
}

body#home article.onlineshop .shop {
  margin-bottom: 75px;
}

body#home article .navLinks {
  z-index: 0;
  /* width: 100vw; */
  padding: 0 20px;
  padding-bottom: 20px;
  width: 100%;
  background-color: #dfdfdf;
}

body#home article .navLinks ul.box_collection {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

body#home article .navLinks ul.box_collection li {
  width: calc((100% / 3) - 15px);
  margin-top: 20px;
}

@media only screen and (max-width: 640px) {
  body#home article .navLinks ul.box_collection li {
    width: 50%;
  }
}

@media only screen and (max-width: 480px) {
  body#home article .navLinks ul.box_collection li {
    width: 100%;
  }
}

body#home article .navLinks ul.box_collection li a {
  display: block;
}

body#home article .navLinks ul.box_collection li a div {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 33.3333333333vh;
}

body#home article .navLinks ul.box_collection li a div::before,
body#home article .navLinks ul.box_collection li a div h3 {
  transition: var(--transition-cubic);
}

body#home article .navLinks ul.box_collection li a div:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  z-index: 1;
}

body#home article .navLinks ul.box_collection li a div h3 {
  position: relative;
  z-index: 2;
  color: var(--color-white);
  font-family: var(--shippori-mincho);
  z-index: 2;
  font-weight: 500;
}

body#home article .navLinks ul.box_collection li a div h3 {
  font-size: 24px;
}

@media screen and (min-width: 320px) {
  body#home article .navLinks ul.box_collection li a div h3 {
    font-size: calc(24px + 6 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home article .navLinks ul.box_collection li a div h3 {
    font-size: 30px;
  }
}

body#home article .navLinks ul.box_collection li a div img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

body#home article .navLinks ul.box_collection li a:hover div:before {
  background-color: rgba(255, 255, 255, 0.8);
}

body#home article .navLinks ul.box_collection li a:hover div h3 {
  color: var(--primary-color);
}

body#home article #news {
  padding-top: 30px;
}

body#home article #news .inner {
  max-width: calc(1000px + 8%);
  padding: 0 4%;
  margin: 0 auto;
}

body#home article #news .inner hgroup h2 {
  font-family: var(--zen);
  font-weight: 400;
  color: var(--black);
}

body#home article #news .inner hgroup h2 {
  font-size: 21px;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 1300px) {
  body#home article #news .inner hgroup h2 {
    font-size: 21px;
  }
}

@media screen and (max-width: 600px) {
  body#home article #news .inner hgroup h2 {
    font-size: 20px;
  }

  body#home article #news .inner hgroup p {
    font-size: 21px;
  }
}

body#home article #news .inner hgroup p {
  font-weight: 400;
}

body#home article #news .inner hgroup p {
  font-size: 17px;
}

@media screen and (max-width: 1300px) {
  body#home article #news .inner hgroup p {
    font-size: 1.5vw;
  }
}

@media screen and (max-width: 600px) {
  body#home article #news .inner hgroup p {
    font-size: 18px;
  }
}

body#home article #news .inner ul {
  max-width: 800px;
  margin: 3em 0;
}

@media screen and (max-width: 500px) {
  body#home article #news .inner ul {
    margin-top: 30px;
  }
}

body#home article #news .inner ul li a {
  display: block;
  border-bottom: 1px solid var(--light-gray-border);
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
}

body#home article #news .inner ul li a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #c2c2c2;
  transition: width 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body#home article #news .inner ul li a div {
  display: flex;
}

body#home article #news .inner ul li a div span {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.1em;
}


@media only screen and (max-width: 1300px) {
  body#home article #news .inner ul li a div span {
    font-size: 16px;
  }
}

@media only screen and (max-width: 1050px) {
  body#home article #news .inner ul li a div span {
    font-size: 16px;
  }
}

@media only screen and (max-width: 768px) {
  body#home article #news .inner ul li a div span {
    font-size: 16px;
  }
}

@media only screen and (max-width: 600px) {
  body#home article #news .inner ul li a div span {
    font-size: 16px;
  }
}

body#home article #news .inner ul li a div span:first-child {
  margin-right: 2em;
}

body#home article #news .inner ul li a div span:last-child {
  color: #062656;
}

body#home article #news .inner ul li a div .date {
  min-width: 90px;
}

@media only screen and (max-width: 640px) {
  body#home article #news .inner ul li a div {
    display: flex;
    flex-direction: column;
  }
}

body#home article #news .inner ul li a:hover::after {
  width: 100%;
}

body#home article #news .inner .pageLinkContainer {
  display: flex;
  max-width: 800px;
  margin: 0 0 65px 0;
}

body#home article #news .inner .pageLinkContainer a {
  --btn-size: 270px;
  display: inline-block;
  /* text-align: center; */
  background-color: var(--color-white);
  padding: 11px 20px;
  border: 1.5px solid var(--primary-color);
  width: var(--btn-size);
}

@media screen and (max-width: 600px) {
  body#home article #news .inner .pageLinkContainer a {
    --btn-size: 35vw;
  }
}

@media screen and (max-width: 375px) {
  body#home article #news .inner .pageLinkContainer a {
    --btn-size: 200px;
  }
}

body#home article #news .inner .pageLinkContainer a p,
body#home article #news .inner .pageLinkContainer a span {
  transition: color 0.32s cubic-bezier(0.39, 0.575, 0.565, 1), right 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body#home article #news .inner .pageLinkContainer a p {
  margin: 0;
  color: var(--primary-color);
  font-weight: 600;
}

body#home article #news .inner .pageLinkContainer a p {
  font-size: 16px;
}

@media screen and (max-width: 1300px) {
  body#home article #news .inner .pageLinkContainer a p {
    font-size: 1.3vw;
  }
}

@media screen and (max-width: 800px) {
  body#home article #news .inner .pageLinkContainer a p {
    font-size: 1.9vw;
  }
}

@media screen and (max-width: 600px) {
  body#home article #news .inner .pageLinkContainer a p {
    font-size: 3vw;
  }
}

@media screen and (max-width: 375px) {
  body#home article #news .inner .pageLinkContainer a p {
    font-size: 14px;
  }
}

body#home article #news .inner .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--primary-color);
  z-index: 99;
}

@media only screen and (min-width: 768px) {
  body#home article #news .inner .pageLinkContainer a:hover p {
    color: var(--color-white);
  }

  body#home article #news .inner .pageLinkContainer a:hover p span {
    right: 8%;
    border-left-color: var(--color-white);
  }
}

body#home .showNavLinks {
  opacity: 1;
}

body#home:not(.active) .showNavLinks {
  opacity: 1;
}

/* body#home .showNavLinks {
  opacity: 1;
  visibility: hidden;
} */

body#home footer {
  z-index: 0;
  width: 100vw;
  background-color: #ffffff;
  z-index: 1;
}

body#home footer .footerBody {
  margin-top: 0;
}

body#home footer .footerBody li {
  text-align: left;
}

body#home.active {
  position: relative;
}

body#home.active header .headerBody {
  background-color: var(--color-light-glass);
  box-shadow: 0 0 10px 0px rgba(0, 0, 0, 0.1);
}

body#home.active header .headerBody #headerNav nav .logo a img {
  filter: invert(0%);
  -webkit-filter: invert(0%);
}

body#home.active #line {
  display: none;
}

body#home.navOpen header .headerBody #headerNav nav .logo a img {
  filter: invert(0%);
  -webkit-filter: invert(0%);
}

/*5つめのスライド*/

body#home section.movielast {
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: sans-serif;
  color: #F5F5F5;
  background-size: cover;
  transition: transform 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body#home section.movielast:nth-of-type(1) {
  z-index: 1;
}

body#home section.movielast .backgroundVideo {
  width: 100%;
  height: 100%;
}

body#home section.movielast .backgroundVideo video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

body#home section.movielast .backgroundImage {
  width: 100%;
  height: 100%;
}

body#home section.movielast .backgroundImage img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

body#home section.movielast .inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 var(--padding);
}

body#home section.movielast .inner h1,
body#home section.movielast .inner h2,
body#home section.movielast .inner h3,
body#home section.movielast .inner span,
body#home section.movielast .inner p {
  color: var(--color-white);
  text-align: center;
}

body#home section.movielast .inner h1 {
  width: 96%;
  position: absolute;
  left: 50%;
  top: 70%;
  transform: translate(-50%, -70%);
}

body#home section.movielast .inner h1,
body#home section.movielast .inner h2 {
  font-family: var(--shippori-mincho);
  font-weight: 400;
}

body#home section.movielast .inner h1,
body#home section.movielast .inner h2 {
  font-size: 21px;
}

@media screen and (min-width: 320px) {

  body#home section.movielast .inner h1,
  body#home section.movielast .inner h2 {
    font-size: calc(21px + 19 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {

  body#home section.movielast .inner h1,
  body#home section.movielast .inner h2 {
    font-size: 40px;
  }
}

body#home section.movielast .inner h2 {
  margin-bottom: 3em;
}

body#home section.movielast .inner h2.fslarge {
  margin: 0;
}

body#home section.movielast .inner h2.fslarge {
  font-size: 40px;
}

@media screen and (min-width: 320px) {
  body#home section.movielast .inner h2.fslarge {
    font-size: calc(40px + 20 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home section.movielast .inner h2.fslarge {
    font-size: 60px;
  }
}

body#home section.movielast .inner h3 {
  border-bottom: 2px solid currentColor;
  font-weight: 400;
  padding: 0.2em 0;
  margin: 6em 0 4em;
}

body#home section.movielast .inner h3 {
  font-size: 18px;
}

@media screen and (min-width: 320px) {
  body#home section.movielast .inner h3 {
    font-size: calc(18px + 6 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home section.movielast .inner h3 {
    font-size: 24px;
  }
}

body#home section.movielast .inner span {
  font-size: 14px;
}

@media screen and (min-width: 320px) {
  body#home section.movielast .inner span {
    font-size: calc(14px + 4 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home section.movielast .inner span {
    font-size: 18px;
  }
}

body#home section.movielast .inner p {
  margin: 1em 0 6em;
}

body#home section.movielast .inner p {
  font-size: 15px;
}

@media screen and (min-width: 320px) {
  body#home section.movielast .inner p {
    font-size: calc(15px + 4 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home section.movielast .inner p {
    font-size: 19px;
  }
}

body#home section.movielast .inner .pageLinkContainer a {
  --btn-size: 280px;
  display: inline-block;
  text-align: center;
  background-color: var(--color-white);
  padding: calc(var(--padding)) var(--padding);
  border: 1.5px solid var(--primary-color);
  width: var(--btn-size);
}

body#home section.movielast .inner .pageLinkContainer a p,
body#home section.movielast .inner .pageLinkContainer a span {
  transition: color 0.32s cubic-bezier(0.39, 0.575, 0.565, 1), right 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body#home section.movielast .inner .pageLinkContainer a p {
  margin: 0;
  color: var(--primary-color);
  font-weight: 600;
}

body#home section.movielast .inner .pageLinkContainer a p {
  font-size: 16px;
}

@media screen and (min-width: 320px) {
  body#home section.movielast .inner .pageLinkContainer a p {
    font-size: calc(16px + 2 * ((100vw - 320px) / 980));
  }
}

@media screen and (min-width: 1300px) {
  body#home section.movielast .inner .pageLinkContainer a p {
    font-size: 18px;
  }
}

body#home section.movielast .inner .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--primary-color);
  z-index: 99;
}

@media only screen and (min-width: 768px) {
  body#home section.movielast .inner .pageLinkContainer a:hover p {
    color: var(--color-white);
  }

  body#home section.movielast .inner .pageLinkContainer a:hover p span {
    right: 8%;
    border-left-color: var(--color-white);
  }
}

@media only screen and (max-width: 640px) {
  body#home section.movielast .inner h1 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
  }

  body#home section.movielast .inner h3 {
    margin-top: 0;
  }

  body#home section.movielast .inner h2 {
    margin-bottom: 6em;
  }
}

body#home section.movielast .scrollDown {
  position: absolute;
  left: 50%;
  top: 90%;
  transform: translate(-50%, -90%);
}

body#home section.movielast .scrollDown p {
  color: var(--color-white);
  font-size: 13px;
  font-weight: 400;
  text-align: center;
}

@keyframes scrollDown {
  0% {
    opacity: 0;
    height: 0;
  }

  50% {
    opacity: 1;
    height: 20px;
  }

  100% {
    opacity: 0;
    /* transform: translateY(10px); */
  }
}

body#home section.movielast .scrollDown span {
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 2px;
  height: 40px;
  background-color: var(--color-white);
  margin: 0 auto;
  animation: scrollDown 1.5s infinite;
}

@media only screen and (max-width: 640px) {
  body#home section.movielast .scrollDown {
    position: absolute;
    left: 50%;
    top: 80%;
    transform: translate(-50%, -80%);
  }
}

body#home .showNavLinks {
  padding: 0;
}

.box {
  opacity: 0;
}

/*==================================================
動かしたい動き（今回は” ふわっ” を採用）
===================================*/

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}


.noScroll.active header .headerBody {
  background-color: transparent !important;
  box-shadow: unset !important;
}

.noScroll.active .headerBody #headerNav .menuButton {
  background-color: #001f56;
  right: 0;
}

.tomb {
  padding-top: 0 !important;
  z-index: 3 !important;
}

.tomb .tomb-wrap .inner {
  display: flex;
  max-width: 1700px;
  margin: 0 auto;
}

.tomb .tomb-wrap .inner .pageLinkContainer {
  width: 50%;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.tomb .tomb-wrap .inner .pageLinkContainer a {
  --btn-size: 270px;
  display: inline-block;
  background-color: var(--color-white);
  padding: 11px 20px;
  border: 1.5px solid var(--primary-color);
  width: var(--btn-size);
  margin-top: 7vh;
  margin-left: 10%;
}

.tomb .tomb-wrap .inner .tomb-tit img {
  max-width: 330px;
}

.tomb .tomb-wrap .inner .tomb-visual {
  width: 50%;
  position: relative;
}

@media screen and (max-width:768px) {

  .tomb .tomb-wrap .inner {
    padding-top: 50px;
    flex-direction: column;
  }
}

.btn {
  position: relative;
  display: block;
  line-height: 3;
  text-align: center;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: bold;
  transition: all 0.3s;
  cursor: pointer;
  user-select: none;
}

.btn>span {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
}

.btn.active {
  color: #fff;
  letter-spacing: 2px;
  box-shadow: none;
}

.btn1::before {
  height: 1px;
  width: 0;
  top: 20px;
  right: 20px;
  transition-delay: 1.8s;
  z-index: -1;
}

.btn1::after {
  width: 1px;
  height: 0;
  bottom: -20px;
  right: 20px;
  transition-delay: 1.6s;
  z-index: -1;
}

.btn1>span::before {
  height: 1px;
  width: 0;
  bottom: -20px;
  left: -20px;
  transition-delay: 1.4s;
  z-index: -1;
}

.btn1>span::after {
  width: 1px;
  height: 0;
  top: 20px;
  left: -20px;
  transition-delay: 1s;
  z-index: -1;
}

.tomb.active .btn1>span::after,
.tomb.active .btn1::after {
  height: 100%;
  transition: all 1s;
}

.tomb.active .btn1::after {
  transition-delay: 2s;
}

.tomb.active .btn1>span::before {
  transition-delay: 1.5s;
}

.tomb.active .btn1>span::after {
  transition-delay: 1s;
}

.tomb .tomb-wrap .inner .tomb-tit {
  margin-left: 10%;
}

.tomb .tomb-wrap .inner .pageLinkContainer a p,
.tomb .tomb-wrap .inner .pageLinkContainer a span {
  transition: color 0.32s cubic-bezier(0.39, 0.575, 0.565, 1), right 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.tomb .tomb-wrap .inner .pageLinkContainer a p {
  margin: 0;
  color: var(--primary-color);
  font-weight: 600;
}

.tomb .tomb-wrap .inner .pageLinkContainer a p {
  font-size: 16px;
}

@media screen and (max-width: 1300px) {
  .tomb .tomb-wrap .inner .pageLinkContainer a p {
    font-size: 1.3vw;
  }
}

@media screen and (max-width: 800px) {
  .tomb .tomb-wrap .inner .pageLinkContainer a p {
    font-size: 1.9vw;
  }
}

@media screen and (max-width: 600px) {
  .tomb .tomb-wrap .inner .pageLinkContainer a p {
    font-size: 3vw;
  }
}

@media screen and (max-width: 375px) {
  .tomb .tomb-wrap .inner .pageLinkContainer a p {
    font-size: 14px;
  }
}

.tomb .tomb-wrap .inner .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--primary-color);
  z-index: 99;
}

@media only screen and (min-width: 768px) {
  .tomb .tomb-wrap .inner .pageLinkContainer a:hover p {
    color: var(--color-white);
  }

  .tomb .tomb-wrap .inner .pageLinkContainer a:hover p span {
    right: 8%;
    border-left-color: var(--color-white);
  }
}

.onlineshop {
  background-color: #f4f4f4 !important;
  padding-top: 140px;
}

.onlineshop h2 {
  max-width: 550px;
  margin: 0 auto;
  text-align: center;
}

.onlineshop h2 img {
  max-width: 470px;
  margin: 0 auto;
}

@media screen and (max-width:550px) {

  .onlineshop h2 {
    max-width: 300px;
    margin: 0 auto;
    text-align: center;
  }

  .onlineshop h2 img {
    max-width: 300px;
    margin: 0 auto;
  }
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}

.slick-next,
.slick-prev {
  display: none !important;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: calc(100vw / 6);
}

@media screen and (max-width:500px) {
  .scroll-infinity__item {
    width: calc(100vw / 1.5);
    margin-left: -30px;
  }
}

.scroll-infinity__item>img {
  width: 100%;
}


.onlineshop .pageLinkContainer a p,
.onlineshop .pageLinkContainer a span {
  transition: color 0.32s cubic-bezier(0.39, 0.575, 0.565, 1), right 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.onlineshop .pageLinkContainer a p {
  margin: 0;
  color: var(--primary-color);
  font-weight: 600;
}

.onlineshop .pageLinkContainer a p {
  font-size: 16px;
}

@media screen and (max-width: 1300px) {
  .onlineshop .pageLinkContainer a p {
    font-size: 1.3vw;
  }
}

@media screen and (max-width: 800px) {
  .onlineshop .pageLinkContainer a p {
    font-size: 1.9vw;
  }
}

@media screen and (max-width: 600px) {
  .onlineshop .pageLinkContainer a p {
    font-size: 3vw;
  }
}

@media screen and (max-width: 375px) {
  .onlineshop .pageLinkContainer a p {
    font-size: 14px;
  }
}

.onlineshop .pageLinkContainer a p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--primary-color);
  z-index: 99;
}

@media only screen and (min-width: 768px) {
  .onlineshop .pageLinkContainer a:hover p {
    color: var(--color-white);
  }

  .onlineshop .pageLinkContainer a:hover p span {
    right: 8%;
    border-left-color: var(--color-white);
  }
}

.onlineshop .shopitem {
  padding: 100px 0;
}

.onlineshop .pageLinkContainer {
  margin: 0 auto;
  text-align: center;
}

.onlineshop .pageLinkContainer a {
  --btn-size: 270px;
  display: inline-block;
  /* text-align: center; */
  padding: 11px 20px;
  color: #000;
  border: 1.5px solid #000;
  width: var(--btn-size);
  margin: 0 auto;
  text-align: left;
  /* margin-bottom: 95px; */
}

.slick-slide .item {
  vertical-align: middle;
}

.now-count {
  font-family: var(--zen);
  color: #fff;
  font-size: 28px;
  margin-top: -15px;
}

.all-count {
  font-family: var(--zen);
  color: #fff;
  font-size: 21px;
}

.tomb .tomb-wrap .inner .respon.pageLinkContainer {
  display: none;
}

@media screen and (max-width:500px) {
  /* .slick-num {
    width: 60px;
    height: 60px;
  }  */

  .now-count {
    font-size: 21px;
  }

  .all-count {
    font-size: 16px;
  }

  .pageLinkContainer a p {
    font-size: 16px !important;
  }

  .tomb .tomb-wrap .inner .pageLinkContainer {
    width: 100%;
  }

  .tomb .tomb-wrap .inner .tomb-visual {
    width: 90%;
    margin-top: 30px;
  }

  .tomb .tomb-wrap .inner {
    align-items: end;
  }

  .tomb .tomb-wrap .inner .pageLinkContainer a {
    display: none;
  }

  .tomb .tomb-wrap .inner .tomb-tit {
    margin-left: 12%;
  }

  .tomb .tomb-wrap .inner .tomb-tit img {
    max-width: 260px;
  }

  body#home article #news .inner .pageLinkContainer a {
    --btn-size: 270px;
  }

  .tomb .tomb-wrap .inner .respon.pageLinkContainer {
    display: block;
  }

  .tomb .tomb-wrap .inner .respon.pageLinkContainer a {
    --btn-size: 270px;
    display: inline-block;
    /* text-align: center; */
    background-color: var(--color-white);
    padding: 11px 20px;
    border: 1.5px solid var(--primary-color);
    width: var(--btn-size);
    display: block;
    margin: 0 auto;
    margin-top: 7vh;
  }

  /* body#home article #news .inner .pageLinkContainer {
    justify-content: center;
  } */

  body#home article.onlineshop {
    padding-top: 70px;
    padding-bottom: 20px;
  }

  .onlineshop .shopitem {
    padding: 50px 0;
  }
}


@media screen and (max-width:500px) {
  .onlineshop .pageLinkContainer a {
    --btn-size: 240px;
    margin-bottom: 70px;
  }

  body#home article #news .inner .pageLinkContainer a {
    --btn-size: 200px;
  }

  body#home main .videoTrigger .inner .main-posi .pageLinkContainer a {
    --btn-size: 200px;
  }

  .tomb .tomb-wrap .inner .respon.pageLinkContainer a {
    --btn-size: 200px;
  }

  .tomb .tomb-wrap .inner .pageLinkContainer a p {
    font-size: 14px !important;
  }

  .tomb .tomb-wrap .inner .pageLinkContainer a p span {
    right: -10px;
  }
}



.main-sub {
  width: 100%;
  height: 100svh;
}

.main-sub .backgroundVideo {
  background-color: var(--primary-color);
}


.main-sub .backgroundVideo .index02-pc {
  display: block;
  height: 100vh;
  width: 100vw;
  object-fit: cover;
}

.main-sub .backgroundVideo .index02-sp {
  display: none;
}

@media screen and (max-width:500px) {

  .main-sub .backgroundVideo .index02-pc {
    display: none;
  }

  .main-sub .backgroundVideo .index02-sp {
    display: block;
    height: 100vh;
    width: 100vw;
    object-fit: cover;
  }
}


/* スプラッシュアニメ（K） */
/* 青い背景 */
.blue-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height:100vh;
    background-color: #197ABC;
    z-index: 100;
}
.blue-background > div {
    width: 100%;
    max-width:900px;
    position:absolute;
    bottom:0;
    left:50%;
    translate: -50% 0;
    aspect-ratio: 774 / 593;
}
.blue-background > div .character-img {
    width:44%;
    position:absolute;
    bottom:0;
    right:0;
    opacity: 0;

    animation-name: showCharacter;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    animation-delay: 0;
}

.blue-background > div .balloon {
    width:66%;
    position:absolute;
    top:0;
    left:0;
    opacity: 0;
    translate:80px 10px;

    animation-name: showBalloon;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
    animation-delay: 0.6s;
}
.blue-background > div .balloon .balloon-pc {
    width:100%;
    aspect-ratio: 630 / 483;
}
.blue-background > div .balloon .balloon-sp {
    display:none;
}
.blue-background > div .balloon .text {
    width:74%;
    position:absolute;
    top:26%;
    left:10%;
    display:flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap:20px;
    rotate: -7deg;
}
.blue-background > div .balloon .text img:nth-of-type(1) {
    opacity: 0;

    animation-name: showText;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
    animation-delay: 1.0s;
}
.blue-background > div .balloon .text img:nth-of-type(2) {
    opacity: 0;

    animation-name: showText;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
    animation-delay: 1.3s;
}
.blue-background > div .balloon .text img:nth-of-type(3) {
    opacity: 0;

    animation-name: showText;
    animation-duration: 0.3s;
    animation-fill-mode: forwards;
    animation-delay: 1.6s;
}
.blue-background > div p {
    color:#fff;
    font-family:sans-serif;
    font-size:12px;
    position:absolute;
    bottom:14%;
    right:42%;
    opacity: 0;

    animation-name: showCharacter;
    animation-duration: 0.6s;
    animation-fill-mode: forwards;
    animation-delay: 0;
}
.blue-background > div p small {
    font-size:0.9em;
}

body.splash-end .blue-background {
    animation-name: hiddenSplash;
    animation-duration: 0.2s;
    animation-fill-mode: forwards;
    animation-delay: 0;
}

@keyframes showCharacter {
  0% {
    opacity: 0;
    transform: translateY(100vh);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes showBalloon {
  0% {
    opacity: 0;
    scale:0;
    translate:80px 10px;
  }

  100% {
    opacity: 1;
    scale:1;
    translate:0 0;
  }
}
@keyframes showText {
  0% {
    opacity: 0;
    translate: 0 10px;
  }

  100% {
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes hiddenSplash {
  0% {
    opacity: 1;
    display:block;
  }

  100% {
    opacity: 0;
    display:none;
  }
}

@media screen and (max-width:600px) {
    .blue-background {
        height:100svh;
    }
    .blue-background > div {
        width: 100%;
        height:100%;
        bottom:0;
        left:0;
        translate: 0 0;
        aspect-ratio: auto;
    }
    .blue-background > div .character-img {
        width:75%;
        position:absolute;
        bottom:0;
        right:-2%;
    }

    .blue-background > div .balloon {
        width:88%;
        top:5%;
        left:3%;
    }
    .blue-background > div .balloon .balloon-pc {
        display:none;
    }
    .blue-background > div .balloon .balloon-sp {
        display:inline-block;
        width:100%;
        aspect-ratio: 662 / 567;
    }
    .blue-background > div .balloon .text {
        gap:10px;
        left:12%;
    }
    .blue-background > div p {
        writing-mode: vertical-rl;
        font-size:14px;
        bottom:8%;
        right:80%;
    }
}



/* 既存の画像のアニメーション */


.text-tategaki img:not(.character-img):nth-child(3) {
  animation-name: tategaki01, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 5s, 10s;
}

.text-tategaki img:not(.character-img):nth-child(4) {
  animation-name: tategaki01, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 7s, 10s;
}

.text-tategaki img:not(.character-img):nth-child(5) {
  animation-name: tategaki01, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 7s, 10s;
}

.text-tategaki img:not(.character-img):nth-child(6) {
  animation-name: tategaki01, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 5s, 10s;
}

.text-tategaki img:not(.character-img):nth-child(7) {
  animation-name: tategaki01, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 7s, 10s;
}


/* SPアニメーション用CSS（まるくに石工房） */

/* アニメーションキーフレーム定義 */
@keyframes disappear {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes tategakivideo {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes disappear {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@keyframes tategakivideo {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.main-visual-image {
    display:none;
}


/* SPデバイス用スタイル */
@media screen and (max-width: 500px) {
  .main-sub {
    width: 100%;

  }

  /* メイン画像 */
  .main-visual-image {
    display:block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    object-fit: cover;
    z-index: 1;
    padding-top: 74px;
    /* ヘッダー分の余白 */
    background-color: #1a75cf;

  }

  /* SP表示時には動画を非表示 */
  .backgroundVideo video {
    display: none !important;
  }

  /* メインコンテンツ背景を透明に */
  .main-sub {
    background-color: transparent !important;
    position: relative !important;
    /* 位置設定の基準点 */
  }

  /* 右サイドバーの調整 */
  .main_right {
    z-index: 20 !important;
  }
}

@keyframes tategaki01 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes tategaki02 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes disappear {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.main-sub video {
  opacity: 0;
  animation-name: tategakivideo;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 4s;
}

@keyframes tategakivideo {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}



.text-tategaki02 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: row-reverse
}

.text-tategaki02 img {
  margin: 0 15px;
}

.text-tategaki02 img.pc-img-on {
  display: block;
}

.text-tategaki02 img.sp-img-on {
  display: none;
}

@media screen and (max-width:500px) {
  .text-tategaki02 {
    right: unset;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  .text-tategaki02 img.pc-img-on {
    display: none;
  }

  .text-tategaki02 img.sp-img-on {
    display: block;
  }
}

.text-tategaki02 img {
  max-width: 30px;
  height: 100%;
}

.text-tategaki02 img:first-child {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 3s, 22s;
}

.text-tategaki02 img:nth-child(2) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 7s, 22s;
}

.text-tategaki02 img:nth-child(3) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 10.5s, 22s;
}

.text-tategaki02 img:nth-child(4) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 14s, 22s;
  max-width: 18px;
  margin: 0 12px;
  margin-right: 50px;
}

.text-tategaki02 img:nth-child(5) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 16.5s, 22s;
  max-width: 18px;
  margin: 0 12px;
}

.text-tategaki02 img:nth-child(6) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 19s, 22s;
  max-width: 18px;
  margin: 0 12px;
}

.text-tategaki02 img:nth-child(7) {
  display: none;
}

.text-tategaki02 img:nth-child(8) {
  display: none;
}

.text-tategaki02 img:nth-child(9) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  max-width: 18px;
  animation-delay: 2s, 20s;
}

.text-tategaki02 img:nth-child(10) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  max-width: 18px;
  animation-delay: 5.5s, 20s;
}

.text-tategaki02 img:nth-child(11) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 9s, 20s;
  margin: 0 10px;
  max-width: 18px;
}

.text-tategaki02 img:nth-child(12) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 12.5s, 20s;
  margin: 0 10px;
  margin-right: 30px;
  max-width: 16px;
}

.text-tategaki02 img:nth-child(13) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 15s, 20s;
  margin: 0 10px;
  max-width: 16px;
}

.text-tategaki02 img:nth-child(14) {
  animation-name: tategaki03, disappear;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 17.5s, 20s;
  margin: 0 10px;
  max-width: 16px;
}

@keyframes tategaki03 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes tategaki02 {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes disappear {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

.main-sub video.index03 {
  opacity: 0;
  animation-name: tategakivideo;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  animation-delay: 22s;
}

@media screen and (max-width:500px) {

  .main-sub video.index03 {
    animation-delay: 20s;
  }
}

@keyframes tategakivideo {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}



body#home article #news .inner .original-news {
  margin-left: 0;
  margin-right: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 100%;
}

body#news .original-news {
  margin-left: 0;
  margin-right: 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 100%;
}



body#news .original-news li a {
  position: relative;
  display: block;
  border-bottom: 1px solid var(--light-gray-border);
  padding-bottom: 0.5em;
  margin-bottom: 1.5em;
}

body#news .original-news li a::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 0;
  height: 1px;
  background: #c2c2c2;
  transition: width 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

body#news .original-news li a:hover::after {
  width: 100%;
}

.original-news li {
  width: calc((100% / 3) - 20px)
}

.original-news li:nth-child(n+4) {
  margin-top: 30px;
}

.original-news li a img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.original-news li a .date {
  margin-top: 10px;
}

@media screen and (max-width:850px) {
  .original-news li {
    width: calc((100% / 2) - 20px)
  }

  .original-news li a img {
    width: 100%;
    height: 150px;
    object-fit: cover;
  }

  .original-news li:nth-child(n+4) {
    margin-top: 0;
  }

  .original-news li:nth-child(n+3) {
    margin-top: 30px;
  }

}

@media screen and (max-width:500px) {
  .original-news li {
    width: 100%;
  }

  .original-news li a img {
    width: 100%;
    height: 200px;
    object-fit: cover;
  }

  .original-news li:nth-child(n+3) {
    margin-top: 0;
  }

  .original-news li:nth-child(n+2) {
    margin-top: 30px;
  }

  #headerNav .headerFooterNavButtons .call {
    margin-top: 20px;
  }
}

.archive-pagination {
  margin: 0;
}

.slick-slide {
  max-height: 600px;
  object-fit: cover;
}

.top-hinshitsu {
  padding: 100px 0;
}

article.top-hinshitsu {
  background-color: #f4f4f4 !important;
}

.top-hinshitsu-wrap {
  margin: 0 auto;
}

.top-hinshitsu-wrap .top-hinshitsu-tit {
  font-size: 27px;
  line-height: 1.7;
  letter-spacing: 0.2em;
  text-align: center;
}

.top-hinshitsu-wrap .top-hinshitsu-txt {
  font-size: 16px;
  line-height: 2.3;
  letter-spacing: 0.2em;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}

.top-hinshitsu-wrap .pageLinkContainer {
  text-align: center;
  margin-left: -30px;
}


.top-hinshitsu-wrap .pageLinkContainer a {
  --btn-size: 270px;
  display: inline-block;
  /* text-align: center; */
  /* background-color: var(--color-white); */
  background-color: transparent;
  padding: 11px 20px;
  border: 1.5px solid var(--primary-color);
  width: var(--btn-size);
  margin-top: 75px;
  text-align: left;
}

.top-hinshitsu-wrap .pageLinkContainer p,
.top-hinshitsu-wrap .pageLinkContainer span {
  transition: color 0.32s cubic-bezier(0.39, 0.575, 0.565, 1), right 0.32s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.top-hinshitsu-wrap .pageLinkContainer p {
  margin: 0;
  color: var(--primary-color);
  font-weight: 600;
}

.top-hinshitsu-wrap .pageLinkContainer p {
  font-size: 16px;
}

@media screen and (max-width: 1300px) {
  .top-hinshitsu-wrap .pageLinkContainer p {
    font-size: 1.3vw;
  }
}

@media screen and (max-width: 800px) {
  .top-hinshitsu-wrap .pageLinkContainer p {
    font-size: 1.9vw;
  }
}

@media screen and (max-width: 600px) {
  .top-hinshitsu-wrap .pageLinkContainer p {
    font-size: 3vw;
  }
}

@media screen and (max-width: 375px) {
  .top-hinshitsu-wrap .pageLinkContainer p {
    font-size: 14px;
  }
}

.top-hinshitsu-wrap .pageLinkContainer p span {
  display: inline-block;
  content: "";
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid var(--primary-color);
  z-index: 99;
}

@media only screen and (min-width: 768px) {
  .top-hinshitsu-wrap .pageLinkContainer a:hover p {
    color: var(--color-white);
  }

  .top-hinshitsu-wrap .pageLinkContainer a:hover p span {
    right: 8%;
    border-left-color: var(--color-white);
  }
}

.news-topics .top-new {
  max-width: 1000px;
  margin: 0 auto;
}

.news-topics a {
  width: 100%;
  display: block;
  padding: 15px 0;
  position: relative;
}

.news-topics a:hover::before {
  transition: .3s;
  right: -7px;
}

.news-topics a:hover::after {
  transition: .3s;
  right: 5px;
}

.news-topics a div {
  display: flex;
  margin-right: 30px;
}

.news-topics a div span {
  margin-left: 30px;
}

.news-topics a div span.date {
  white-space: nowrap;
}

.shopitem {
  margin: 75px 0;
}

@media only screen and (max-width: 500px) {

  .news-topics a div {
    flex-wrap: wrap;
    margin-right: 50px;
  }

  .news-topics a div span {
    margin-left: 15px;
  }

  .news-topics a div span:last-child {
    margin-top: 10px;
  }

  .news-topics a::before {
    right: 15px;
  }

  .news-topics a::after {
    right: 28px;
  }

  .news-topics a:hover::before {
    transition: .3s;
    right: 7px;
  }

  .news-topics a:hover::after {
    transition: .3s;
    right: 20px;
  }

  .top-hinshitsu-wrap .top-hinshitsu-tit {
    font-size: 21px;
    margin: 0 20px;
  }

  .top-hinshitsu-wrap .top-hinshitsu-tit br {
    display: none;
  }

  .shopitem {
    margin: 30px 0;
  }

  .top-hinshitsu-wrap .top-hinshitsu-txt {
    margin: 0 30px;
    font-size: 15px;
  }

  .top-hinshitsu-wrap .top-hinshitsu-txt p:last-child {
    display: none;
  }
}

.top-hinshitsu-tit img.pc-img {
  display: block;
  max-width: 780px;
  margin: 0 auto;
}

.top-hinshitsu-tit img.sp-img {
  display: none;
}

@media screen and (max-width:500px) {
  .top-hinshitsu-tit img.pc-img {
    display: none;
  }

  .top-hinshitsu-tit img.sp-img {
    display: block;
    max-width: 270px;
    margin: 0 auto;
  }
}

.voice-pagenation {
  margin-top: 100px;
}