@charset "UTF-8";
/*---------------------------------*
* foundation
*----------------------------------*/
:root {
  --liquid-htmlroot: calc(100vw / 375);
}
@media (min-width: 769px) {
  :root {
    --liquid-htmlroot: calc(100vw / 1440);
  }
}

/* base
----------------------------------*/
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: var(--liquid-htmlroot);
  height: 100%;
  scroll-behavior: smooth;
}

body {
  color: #222;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0;
  min-width: 320px;
  width: 100%;
  overflow-x: hidden;
}

body.is-navOpen {
  height: 100%;
  overflow: hidden;
}

img,
video {
  max-width: 100%;
  height: auto;
  border: none;
  display: block;
}

a {
  text-decoration: none;
}

@media (min-width: 769px) {
  a:hover {
    text-decoration: none;
  }
}

button {
  vertical-align: baseline;
}

main {
  width: 100%;
  overflow-x: hidden;
}

/*---------------------------------*
* layout
*----------------------------------*/
.l-header {
  padding: 11rem 8rem;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  border-bottom: solid 1.5rem #222;
  box-shadow: 0 4rem 13rem 0 rgba(0, 0, 0, 0.15);
  z-index: 10;
}
@media (min-width: 769px) {
  .l-header {
    padding: 14rem 0 14rem 56rem;
    box-shadow: 0 4rem 11rem 0 rgba(0, 0, 0, 0.13);
  }
}
@media (min-width: 769px) {
  .l-header.largeHeight {
    padding: 19.5rem 0 21.5rem 56rem;
    border: none;
    box-shadow: none;
  }
}
.l-header__container {
  width: 359rem;
  aspect-ratio: 359/38;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .l-header__container {
    width: 100%;
    aspect-ratio: auto;
  }
}
.l-header__container h1 {
  width: 93rem;
  aspect-ratio: 93/34;
  display: block;
}
@media (min-width: 769px) {
  .l-header__container h1 {
    width: 123rem;
    height: 45rem;
  }
}
.l-header__container h1 img {
  width: 100%;
  display: block;
}

.l-footer-links {
  padding: 80rem 32rem 120rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 24rem;
}
@media (min-width: 769px) {
  .l-footer-links {
    margin: 0 auto;
    padding: 136rem 0 122rem;
    width: 86.94%;
    flex-direction: row;
    gap: auto;
  }
}

.l-footer {
  padding-block: 80rem 40rem;
  width: 100%;
  display: block;
  background-color: #b53133;
  border: solid 2rem #222;
  border-bottom: none;
  border-radius: 40rem 40rem 0 0;
}
@media (min-width: 769px) {
  .l-footer {
    padding-block: 144rem 13rem;
    border: solid 3rem #222;
    border-radius: 60rem 60rem 0 0;
  }
}
.l-footer__container {
  margin: 0 auto;
  width: 92.455%;
  display: block;
}
@media (min-width: 769px) {
  .l-footer__container {
    width: 87.588%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
.l-footer__container--item {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .l-footer__container--item {
    width: 32.17%;
  }
}
.l-footer__bottomContainer {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .l-footer__bottomContainer {
    margin: -24rem auto 0;
    width: 87.47%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.l-footer__bottomContainer small {
  margin-block-start: 32rem;
  font-size: 13rem;
  font-weight: 500;
  line-height: 2;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  color: #fff;
  display: block;
}
@media (min-width: 769px) {
  .l-footer__bottomContainer small {
    margin-block-start: 0;
    font-size: 13rem;
    text-align: left;
    order: 1;
  }
}

@media (min-width: 769px) {
  .en.l-footer .l-footer__container--item {
    width: 413rem;
  }
}

.l-top__mv {
  margin-block-start: 60rem;
  width: 100%;
  border-bottom: solid 1.5rem #222;
}
@media (min-width: 769px) {
  .l-top__mv {
    margin-block-start: 86rem;
    position: relative;
    border-bottom: none;
  }
}
.l-top__mv--kv {
  width: 100%;
  display: block;
}
.l-top__mv--kv picture {
  width: 100%;
}
@media (min-width: 769px) {
  .l-top__mv--kv picture {
    margin-inline: auto;
    width: 1331rem;
    display: block;
  }
}
.l-top__mv--scroll {
  display: none;
}
@media (min-width: 769px) {
  .l-top__mv--scroll {
    display: block;
    font-size: 16rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.1em;
    font-family: "Roboto", sans-serif;
    color: #b53133;
    text-transform: uppercase;
    position: absolute;
    bottom: 12rem;
    left: 14rem;
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
@media (min-width: 769px) {
  .l-top__mv--scroll::after {
    content: "";
    margin-inline-start: 16rem;
    width: 2rem;
    height: 115rem;
    display: inline-block;
    background-image: url(./img/img_line-long-rd-vertical.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}
.l-top__links {
  padding-block: 64rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}
@media (min-width: 769px) {
  .l-top__links {
    margin-inline: auto;
    padding-block: 124rem 104rem;
    width: 1200rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.l-top__links-item {
  margin-block-start: 16rem;
  width: 327rem;
  height: 100rem;
  display: block;
  background-color: #f2f2f2;
  border: solid 2rem #aca9a9;
  border-radius: 10rem;
}
@media (min-width: 769px) {
  .l-top__links-item {
    margin-block-start: 0;
    width: 370rem;
    height: 152rem;
    border: solid 2rem #595959;
  }
}
.l-top__links-item:first-of-type {
  margin-block-start: 0;
}
@media (min-width: 769px) {
  .l-top__links-item:first-of-type .p-top-link {
    position: relative;
  }
}
@media (min-width: 769px) {
  .l-top__links-item:first-of-type .p-top-link .p-top-link__image {
    width: 110rem;
    aspect-ratio: 87/66;
    height: auto;
    position: absolute;
    top: -56rem;
    left: 128rem;
  }
}
@media (min-width: 769px) {
  .l-top__links-item:nth-child(2) .p-top-link {
    position: relative;
  }
}
@media (min-width: 769px) {
  .l-top__links-item:nth-child(2) .p-top-link .p-top-link__image {
    width: 124rem;
    aspect-ratio: 87/66;
    height: auto;
    position: absolute;
    top: -70rem;
    left: 124rem;
  }
}
@media (min-width: 769px) {
  .l-top__links-item:nth-child(3) .p-top-link {
    position: relative;
  }
}
@media (min-width: 769px) {
  .l-top__links-item:nth-child(3) .p-top-link .p-top-link__image {
    width: 112rem;
    aspect-ratio: 87/66;
    height: auto;
    position: absolute;
    top: -69rem;
    left: 132rem;
  }
}
.l-top__links-item a {
  width: 100%;
  height: 100%;
  display: block;
}
.l-top__about {
  width: 100%;
}
.l-top__news {
  margin-block-start: 119rem;
  width: 100%;
  background-color: #F1F0F0;
  overflow: hidden;
}
.l-top__enjoy {
  margin-block: 128rem -40rem;
  width: 100%;
}
@media (min-width: 769px) {
  .l-top__enjoy {
    margin-block: 141rem 0;
  }
}
.l-top__enjoy.en {
  margin-block: 80rem 0;
}
@media (min-width: 769px) {
  .l-top__enjoy.en {
    margin-block-start: 116rem;
  }
}
.l-top__gmap {
  margin-block-end: 144rem;
  margin-inline: auto;
  width: 327rem;
}
@media (min-width: 769px) {
  .l-top__gmap {
    margin-block: 120rem;
    width: 1120rem;
    position: relative;
  }
}
@media (min-width: 769px) {
  .l-top__gmap::after {
    content: "";
    width: 290rem;
    aspect-ratio: 308/257;
    display: block;
    background-image: url(./img/img_footstamp.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -122rem;
    right: -152rem;
  }
}
.l-top__gmap.en {
  margin-block: 88rem 96rem;
}
@media (min-width: 769px) {
  .l-top__gmap.en {
    margin-block: 144rem;
    width: 1200rem;
  }
}
.l-top__gmap.en::after {
  display: none;
}

.l-title[data-post-heading=false] {
  margin-block-start: 60rem;
  padding-block: 64rem 56rem;
  width: 100%;
  text-align: center;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=false] {
    margin-block-start: 80rem;
    padding-block: 104rem 96rem;
  }
}
.l-title[data-post-heading=false].page-special, .l-title[data-post-heading=false].access {
  padding-block-end: 40rem;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=false].page-special, .l-title[data-post-heading=false].access {
    padding-block-end: 56rem;
  }
}
.l-title[data-post-heading=false] span.l-title__subtext {
  margin-block-end: 10rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #b53133;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", sans-serif;
  text-transform: uppercase;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=false] span.l-title__subtext {
    margin-block-end: 16rem;
    font-size: 24rem;
  }
}
.l-title[data-post-heading=false] span.l-title__subtext::after {
  content: "";
  margin-inline-start: 16rem;
  width: 55rem;
  height: 2rem;
  display: inline-block;
  background-image: url(./img/img_line-rd.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=false] span.l-title__subtext::after {
    width: 76rem;
  }
}
.l-title[data-post-heading=false] h2 {
  font-size: 32rem;
  font-weight: 700;
  line-height: 1.3;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=false] h2 {
    margin-inline: auto;
    width: 940rem;
    font-size: 50rem;
    line-height: 1;
  }
}

.l-title[data-post-heading=true] {
  margin-block-start: 60rem;
  padding-block: 40rem;
  margin-inline: auto;
  width: 311rem;
  display: block;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=true] {
    margin-block-start: 80rem;
    padding-block: 80rem 72rem;
    width: 100%;
  }
}
.l-title[data-post-heading=true] h2 {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=true] h2 {
    margin-inline: auto;
    width: 940rem;
    font-size: 32rem;
    text-align: center;
  }
}
.l-title[data-post-heading=true] h2::before {
  content: attr(data-title);
  margin-block-end: 16rem;
  display: block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  color: #222;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=true] h2::before {
    font-size: 24rem;
  }
}
.l-title[data-post-heading=true].factory h2 {
  font-size: 32rem;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=true].factory h2 {
    font-size: 40rem;
  }
}
.l-title[data-post-heading=true].factory h2::before {
  content: attr(data-title);
  font-size: 16rem;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=true].factory h2::before {
    font-size: 20rem;
  }
}
.l-title[data-post-heading=true].event h2 {
  text-align: center;
}
.l-title[data-post-heading=true].event p {
  text-align: center;
}
.l-title[data-post-heading=true] p.cat {
  margin-block-start: 16rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1;
  color: #222;
  display: block;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=true] p.cat {
    font-size: 24rem;
    line-height: 1.8;
    text-align: center;
  }
}
.l-title[data-post-heading=true].factory p.cat {
  font-size: 16rem;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 769px) {
  .l-title[data-post-heading=true].factory p.cat {
    font-size: 18rem;
    line-height: 1;
  }
}

.l-contents {
  width: 100%;
  display: block;
}

/*---------------------------------*
* object
*----------------------------------*/
/*---------------------------------*
* component
*----------------------------------*/
.c-inner,
.c-inner-rd {
  margin: 0 auto;
  width: 95.735%;
  display: block;
  border: solid 2rem #222;
  border-radius: 15rem;
  background-position: center;
  background-repeat: repeat;
}
@media (min-width: 769px) {
  .c-inner,
  .c-inner-rd {
    width: 93.0558%;
    border: solid 2.5rem #222;
    border-radius: 40rem;
  }
}

.c-inner {
  background-image: url(./img/bg_dot_pattern.png);
}

.c-inner-rd {
  background-image: url(./img/bg_dot_pattern-rd.png);
}

@media (min-width: 769px) {
  .c-inner-rd.p-top-about {
    width: 92.362%;
  }
}

.c-button {
  position: relative;
  overflow: hidden;
  height: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2rem #222;
  border-radius: 30rem;
  transition: ease 0.2s;
}
@media (min-width: 769px) {
  .c-button {
    height: 54rem;
  }
}
@media (min-width: 769px) {
  .c-button.hoverAnime::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #b53133;
    width: 100%;
    height: 100%;
    border-radius: 50rem;
    transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 0);
    transform-origin: center;
  }
}
@media (min-width: 769px) {
  .c-button.hoverAnime:hover::before {
    transform: scale(1, 1);
  }
}
.c-button span {
  position: relative;
  z-index: 3;
  color: #222;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  vertical-align: middle;
  transform: translateX(20rem);
}
.c-button span::before {
  content: "";
  width: 30rem;
  aspect-ratio: 1/1;
  display: block;
  background-color: #b53133;
  border-radius: 50rem;
  position: absolute;
  top: -6rem;
  left: -48rem;
}
.c-button span::after {
  content: "";
  width: 15rem;
  aspect-ratio: 15/16;
  display: block;
  background-image: url(./img/ico_arrow_left-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 1rem;
  left: -41rem;
}
@media (min-width: 769px) {
  .c-button:hover span {
    color: #fff;
  }
}
@media (min-width: 769px) {
  .c-button:hover span::before {
    background-color: #fff;
  }
}
@media (min-width: 769px) {
  .c-button:hover span::after {
    background-image: url(./img/ico_arrow_left-rd.svg);
    animation: arrowMoveLeft 0.3s ease;
  }
}

.c-button-moreRead {
  position: relative;
  overflow: hidden;
  height: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2rem #222;
  border-radius: 30rem;
  transition: ease 0.2s;
}
@media (min-width: 769px) {
  .c-button-moreRead.hoverAnime::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #b53133;
    width: 100%;
    height: 100%;
    border-radius: 50rem;
    transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 0);
    transform-origin: center;
  }
}
@media (min-width: 769px) {
  .c-button-moreRead.hoverAnime:hover::before {
    transform: scale(1, 1);
  }
}
.c-button-moreRead span {
  position: relative;
  z-index: 3;
  color: #222;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  vertical-align: middle;
  transform: translateX(-20rem);
}
.c-button-moreRead span::before {
  content: "";
  width: 30rem;
  aspect-ratio: 1/1;
  display: block;
  background-color: #b53133;
  border-radius: 50rem;
  position: absolute;
  top: -6rem;
  right: -48rem;
}
.c-button-moreRead span::after {
  content: "";
  width: 15rem;
  aspect-ratio: 15/16;
  display: block;
  background-image: url(./img/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 1rem;
  right: -41rem;
}
@media (min-width: 769px) {
  .c-button-moreRead:hover span {
    color: #fff;
  }
}
@media (min-width: 769px) {
  .c-button-moreRead:hover span::before {
    background-color: #fff;
  }
}
@media (min-width: 769px) {
  .c-button-moreRead:hover span::after {
    background-image: url(./img/ico_arrow_right-rd.svg);
    animation: arrowMoveRight 0.3s ease;
  }
}

.c-button-red {
  position: relative;
  overflow: hidden;
  height: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2rem #fff;
  border-radius: 30rem;
  transition: ease 0.2s;
}
@media (min-width: 769px) {
  .c-button-red {
    height: 54rem;
  }
}
@media (min-width: 769px) {
  .c-button-red.hoverAnime::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #fff;
    width: 100%;
    height: 100%;
    border-radius: 50rem;
    transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 0);
    transform-origin: center;
  }
}
@media (min-width: 769px) {
  .c-button-red.hoverAnime:hover::before {
    transform: scale(1, 1);
  }
}
.c-button-red span {
  position: relative;
  z-index: 3;
  color: #fff;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  vertical-align: middle;
  transform: translateX(20rem);
}
.c-button-red span::before {
  content: "";
  width: 30rem;
  aspect-ratio: 1/1;
  display: block;
  background-color: #fff;
  border-radius: 50rem;
  position: absolute;
  top: -6rem;
  left: -48rem;
}
.c-button-red span::after {
  content: "";
  width: 15rem;
  aspect-ratio: 15/16;
  display: block;
  background-image: url(./img/ico_arrow_right-rd.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 1rem;
  left: -41rem;
}
@media (min-width: 769px) {
  .c-button-red:hover span {
    color: #b53133;
  }
}
@media (min-width: 769px) {
  .c-button-red:hover span::before {
    background-color: #b53133;
  }
}
@media (min-width: 769px) {
  .c-button-red:hover span::after {
    background-image: url(./img/ico_arrow_right-wt.svg);
    animation: arrowMoveRight 0.3s ease;
  }
}

.c-button__hamburger-menu {
  padding: 12.5rem 10rem;
  width: 38rem;
  height: 38rem;
  aspect-ratio: 1/1;
  display: block;
  cursor: pointer;
  background-color: #b53133;
  border-radius: 50rem;
}
@media (min-width: 769px) {
  .c-button__hamburger-menu {
    display: none;
  }
}
.c-button__hamburger-menu--bg {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c-button__hamburger-menu--bg span {
  width: 18rem;
  height: 1rem;
  display: block;
  background-color: #fff;
}
.c-button__hamburger-menu.is-menuOpen {
  width: 38rem;
  height: 38rem;
  background-color: #fff;
  border-radius: 8rem 8rem 0 0;
  position: relative;
  z-index: 900;
}
.c-button__hamburger-menu.is-menuOpen span:nth-child(1) {
  width: 18rem;
  height: 1rem;
  background-color: #b53133;
  transform: translateY(6rem) rotate(45deg);
  animation: hamburgerTop 0.3s ease;
}
.c-button__hamburger-menu.is-menuOpen span:nth-child(2) {
  display: none;
}
.c-button__hamburger-menu.is-menuOpen span:nth-child(3) {
  width: 18rem;
  height: 1rem;
  background-color: #b53133;
  transform: translateY(-6rem) rotate(135deg);
  animation: hamburgerBottom 0.3s ease;
}
.c-button__hamburger-menu.is-menuClose span:nth-child(1) {
  animation: hamburgerTop-reverse 0.3s ease;
}
.c-button__hamburger-menu.is-menuClose span:nth-child(3) {
  animation: hamburgerBottom-reverse 0.3s ease;
}

.c-button__multi-lang {
  margin-inline-end: 24rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  .c-button__multi-lang {
    margin-inline: 36rem 40rem;
    padding-block-end: 8.5rem;
    height: 45rem;
    align-items: flex-end;
  }
}
.c-button__multi-lang.hidden {
  display: none;
}
.c-button__multi-lang button {
  display: inline-block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: rgba(51, 51, 51, 0.4);
}
@media (min-width: 769px) {
  .c-button__multi-lang button {
    font-size: 16rem;
  }
}
.c-button__multi-lang button:first-of-type {
  margin-inline-end: 8rem;
}
@media (min-width: 769px) {
  .c-button__multi-lang button:first-of-type {
    margin-inline-end: 8rem;
  }
}
.c-button__multi-lang button:first-of-type::after {
  content: "/";
  margin-inline-start: 8rem;
  display: inline-block;
  line-height: 1;
}
@media (min-width: 769px) {
  .c-button__multi-lang button:first-of-type::after {
    margin-inline-start: 8rem;
  }
}
.c-button__multi-lang button span.current {
  color: #222;
}

.c-button__footer--top-button {
  margin: 32rem auto 0;
  width: 105rem;
  aspect-ratio: 105/103;
  position: relative;
}
@media (min-width: 769px) {
  .c-button__footer--top-button {
    margin: 0;
    width: 160rem;
    aspect-ratio: 1/1;
    order: 2;
  }
}
.c-button__footer--top-button a {
  width: 100%;
  height: 100%;
}
.c-button__footer--top-button a img {
  width: 100%;
  display: block;
}
.c-button__footer--top-button::before {
  content: "";
  width: 10.5rem;
  aspect-ratio: 15/16;
  display: block;
  background-image: url(./img/ico_arrow_up-rd.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 17rem;
  left: 5rem;
}
@media (min-width: 769px) {
  .c-button__footer--top-button::before {
    width: 12.8rem;
    top: 6rem;
    left: 17rem;
  }
}
.c-button__footer--top-button.en::before {
  top: 15rem;
  left: 4.5rem;
}
@media (min-width: 769px) {
  .c-button__footer--top-button.en::before {
    top: 25rem;
    left: 7rem;
  }
}
@media (min-width: 769px) {
  .c-button__footer--top-button:hover::before {
    animation: arrowMoveUp 0.3s ease;
  }
}

a.p-footer-links__cards p.c-button-moreRead {
  position: relative;
  overflow: hidden;
  height: 50rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: solid 2rem #222;
  border-radius: 30rem;
  transition: ease 0.2s;
}
@media (min-width: 769px) {
  a.p-footer-links__cards p.c-button-moreRead.hoverAnime::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #b53133;
    width: 100%;
    height: 100%;
    border-radius: 50rem;
    transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transform: scale(0, 0);
    transform-origin: center;
  }
}
@media (min-width: 769px) {
  a.p-footer-links__cards p.c-button-moreRead.hoverAnime:hover::before {
    transform: scale(1, 1);
  }
}
a.p-footer-links__cards p.c-button-moreRead span {
  position: relative;
  z-index: 3;
  color: #222;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  vertical-align: middle;
  transform: translateX(-20rem);
}
a.p-footer-links__cards p.c-button-moreRead span::before {
  content: "";
  width: 30rem;
  aspect-ratio: 1/1;
  display: block;
  background-color: #b53133;
  border-radius: 50rem;
  position: absolute;
  top: -6rem;
  right: -48rem;
}
a.p-footer-links__cards p.c-button-moreRead span::after {
  content: "";
  width: 15rem;
  aspect-ratio: 15/16;
  display: block;
  background-image: url(./img/ico_arrow_right-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 1rem;
  right: -41rem;
}
@media (min-width: 769px) {
  a.p-footer-links__cards p.c-button-moreRead:hover span {
    color: #fff;
  }
}
@media (min-width: 769px) {
  a.p-footer-links__cards p.c-button-moreRead:hover span::before {
    background-color: #fff;
  }
}
@media (min-width: 769px) {
  a.p-footer-links__cards p.c-button-moreRead:hover span::after {
    background-image: url(./img/ico_arrow_right-rd.svg);
    animation: arrowMoveRight 0.3s ease;
  }
}

@media (min-width: 769px) {
  a:hover.p-footer-links__cards p.c-button-moreRead.hoverAnime::before {
    transform: scale(1, 1);
  }
}
@media (min-width: 769px) {
  a:hover.p-footer-links__cards p.c-button-moreRead span {
    color: #fff;
  }
}
@media (min-width: 769px) {
  a:hover.p-footer-links__cards p.c-button-moreRead span::before {
    background-color: #fff;
  }
}
@media (min-width: 769px) {
  a:hover.p-footer-links__cards p.c-button-moreRead span::after {
    background-image: url(./img/ico_arrow_right-rd.svg);
    animation: arrowMoveRight 0.3s ease;
  }
}

.c-parts-news-card {
  width: 100%;
  display: flex;
  background-color: rgba(255, 255, 255, 0.8);
  outline: solid 2.5rem #222;
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .c-parts-news-card {
    min-height: 133rem;
    overflow: hidden;
  }
}
.c-parts-news-card a {
  width: 100%;
  display: flex;
  align-items: center;
  flex: 1;
}
@media (min-width: 769px) {
  .c-parts-news-card a:hover h3 {
    color: #b53133;
    align-items: stretch;
  }
}
.c-parts-news-card__image {
  margin-inline-start: 8rem;
  width: 116rem;
  height: 123rem;
  display: block;
  border-radius: 10rem;
  overflow: hidden;
  flex-shrink: 0;
  position: relative;
}
@media (min-width: 769px) {
  .c-parts-news-card__image {
    margin-inline-start: 0;
    width: 224rem;
    height: 100%;
    border-radius: 16rem 0 0 16rem;
    flex-shrink: 0;
  }
}
.c-parts-news-card__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  position: absolute;
  top: 0;
  left: 0;
}
.c-parts-news-card__item {
  margin-inline-start: 12rem;
  padding-block: 16rem;
  width: 179rem;
  flex: 1;
  min-height: 0;
}
@media (min-width: 769px) {
  .c-parts-news-card__item {
    margin-block-end: auto;
    margin-inline-start: 24rem;
    padding-block: 24rem;
    width: 712rem;
    display: flex;
    flex-direction: column;
    flex: 1;
  }
}
.c-parts-news-card__item p.time {
  line-height: 1;
}
@media (min-width: 769px) {
  .c-parts-news-card__item p.time {
    line-height: 1;
  }
}
.c-parts-news-card__item p.time time {
  font-size: 15rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #777;
}
@media (min-width: 769px) {
  .c-parts-news-card__item p.time time {
    line-height: 1;
  }
}
.c-parts-news-card__item h3 {
  margin-block-start: 8rem;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .c-parts-news-card__item h3 {
    margin-block-start: 16rem;
  }
}
.c-parts-news-card__item ul {
  margin-block-start: 8rem;
  line-height: 1;
}
@media (min-width: 769px) {
  .c-parts-news-card__item ul {
    margin-block-start: 16rem;
    line-height: 1;
  }
}
.c-parts-news-card__item ul li.cat {
  margin-inline-end: 8rem;
  width: auto;
  display: inline-block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #b53133;
}
@media (min-width: 769px) {
  .c-parts-news-card__item ul li.cat {
    margin-inline-end: 16rem;
    line-height: 1;
  }
}
.c-parts-news-card__item ul li.cat::before {
  content: "●";
  margin-inline-end: 4rem;
  display: inline-block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #b53133;
}
@media (min-width: 769px) {
  .c-parts-news-card__item ul li.cat::before {
    margin-inline-end: 8rem;
    line-height: 1;
  }
}

.c-parts-top-news {
  width: 281rem !important;
  height: 100%;
  display: block;
  background-color: rgba(255, 255, 255, 0.8);
  outline: solid 1.5rem #222;
  border-radius: 10rem;
  overflow: hidden;
}
.c-parts-top-news:first-of-type {
  margin-inline-start: 16rem;
}
@media (min-width: 769px) {
  .c-parts-top-news:first-of-type {
    margin-inline-start: 0;
  }
}
.c-parts-top-news a {
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .c-parts-top-news a:hover .c-parts-top-news__item h3 {
    color: #b53133;
  }
}
.c-parts-top-news__image {
  width: 100%;
  height: 186rem;
  display: block;
}
.c-parts-top-news__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.c-parts-top-news__item {
  padding: 24rem 12rem 16rem;
  width: 100%;
}
.c-parts-top-news__item p.time {
  line-height: 1;
}
.c-parts-top-news__item p.time time {
  font-size: 15rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #777;
}
.c-parts-top-news__item h3 {
  margin-block: 8rem 24rem;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .c-parts-top-news__item h3 {
    margin-block: 16rem 24rem;
  }
}
.c-parts-top-news__item ul {
  margin-block-start: 8rem;
  line-height: 1;
}
.c-parts-top-news__item ul .cat {
  margin-inline-end: 8rem;
  display: inline-block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #b53133;
}
.c-parts-top-news__item ul .cat::before {
  content: "●";
  margin-inline-end: 4rem;
  display: inline-block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #b53133;
}

.c-parts-vertical {
  width: 166rem;
  display: block;
  background-color: #fff;
  border: solid 1.5rem #222;
  border-radius: 10rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .c-parts-vertical {
    width: 280rem;
    border: solid 2.5rem #222;
    border-radius: 16rem;
  }
}
.c-parts-vertical a {
  width: 100%;
  height: 100%;
  display: block;
}
@media (min-width: 769px) {
  .c-parts-vertical a:hover h3, .c-parts-vertical a:hover p {
    color: #b53133;
  }
}
.c-parts-vertical__item {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.c-parts-vertical__item--image {
  width: 100%;
  height: 110rem;
  display: block;
  overflow: hidden;
}
@media (min-width: 769px) {
  .c-parts-vertical__item--image {
    height: 187rem;
  }
}
.c-parts-vertical__item--image img {
  width: 100%;
  display: block;
}
.c-parts-vertical__item--text {
  padding: 6rem 6rem 24rem;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media (min-width: 769px) {
  .c-parts-vertical__item--text {
    margin-block-end: 24rem;
    padding: 12rem;
    gap: 0;
  }
}
.c-parts-vertical__item--text-cat {
  font-size: 12rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .c-parts-vertical__item--text-cat {
    font-size: 16rem;
  }
}
.c-parts-vertical__item--text h3 {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.6;
  color: #222;
}
@media (min-width: 769px) {
  .c-parts-vertical__item--text h3 {
    margin-block-start: 12rem;
    font-size: 16rem;
    line-height: 1.8;
  }
}
.c-parts-vertical__item--text p {
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.6;
  color: #222;
}
@media (min-width: 769px) {
  .c-parts-vertical__item--text p {
    margin-block-start: 8rem;
    font-size: 16rem;
    line-height: 1.8;
  }
}
.c-parts-vertical__item--text .td-items {
  padding-block-start: 8rem;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.6;
  color: #222;
  border-top: solid 1rem #222;
}
@media (min-width: 769px) {
  .c-parts-vertical__item--text .td-items {
    margin-block-start: 8rem;
    padding-block-start: 0;
    font-size: 16rem;
    line-height: 1.8;
  }
}
.c-parts-vertical__factory {
  width: 100%;
  height: 100%;
}

.c-parts-factory {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.c-parts-factory img {
  width: 100%;
  height: 110rem;
  display: block;
  overflow: hidden;
}
@media (min-width: 769px) {
  .c-parts-factory img {
    height: 187rem;
  }
}
.c-parts-factory__item {
  padding: 10rem 8rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}
@media (min-width: 769px) {
  .c-parts-factory__item {
    padding: 12rem;
  }
}
.c-parts-factory__item--text {
  margin-block-end: 15rem;
  padding: 6rem 3rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .c-parts-factory__item--text {
    margin-block-end: 43rem;
    padding: 0;
  }
}
.c-parts-factory__item--text p.cat-list {
  font-size: 12rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .c-parts-factory__item--text p.cat-list {
    letter-spacing: 0.05em;
  }
}
.c-parts-factory__item--text h3 {
  margin-block-start: 8rem;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.8;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .c-parts-factory__item--text h3 {
    margin-block-start: 4rem;
    font-size: 18rem;
    line-height: 1.5;
  }
}
.c-parts-factory__item--text p {
  margin-block-start: 2rem;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (min-width: 769px) {
  .c-parts-factory__item--text p {
    margin-block-start: 6rem;
    font-size: 14rem;
    line-height: 1.3;
  }
}
.c-parts-factory__item ul {
  margin-inline-start: 8rem;
  width: 136rem;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (min-width: 769px) {
  .c-parts-factory__item ul {
    width: 157rem;
  }
}
.c-parts-factory__item .c-parts-factory__item--ws {
  font-size: 12rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .c-parts-factory__item .c-parts-factory__item--ws {
    font-size: 14rem;
    letter-spacing: 0.01em;
  }
}
.c-parts-factory__item .c-parts-factory__item--ws::before {
  content: "";
  margin-inline-end: 4rem;
  width: 11rem;
  height: 11rem;
  display: inline-block;
  background-color: #b53133;
  border-radius: 6rem;
}
.c-parts-factory__item .c-parts-factory__item--ws.tour {
  color: #1E3A5F;
}
.c-parts-factory__item .c-parts-factory__item--ws.tour::before {
  margin-inline-end: 8rem;
  background-color: #1E3A5F;
}
.c-parts-factory__item .c-parts-factory__item--ws.exhibition {
  color: #1F5F4B;
}
.c-parts-factory__item .c-parts-factory__item--ws.exhibition::before {
  margin-inline-end: 8rem;
  background-color: #1F5F4B;
}

.p-parts-search {
  margin-block-end: 40rem;
  display: block;
  border: solid 2rem #b53133;
  border-radius: 20rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-parts-search {
    margin-block-end: 0;
    border: solid 2.5rem #b53133;
  }
}
.p-parts-search h2.p-parts-search__heading {
  width: 100%;
  height: 56rem;
  font-size: 18rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #b53133;
}
@media (min-width: 769px) {
  .p-parts-search h2.p-parts-search__heading {
    height: 57rem;
    font-size: 20rem;
  }
}
.p-parts-search h2.p-parts-search__heading i::before {
  margin-inline-end: 7rem;
  width: 21rem;
  height: 21rem;
  display: block;
  transform: translateY(2rem);
}
.p-parts-search__select {
  padding: 32rem 31rem 40rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-parts-search__select {
    padding: 32rem 0 40rem 40rem;
  }
}
.p-parts-search__select .select-list {
  width: 100%;
  display: block;
}
.p-parts-search__select .select-list li {
  margin-block-start: 32rem;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
}
.p-parts-search__select .select-list li:first-of-type {
  margin-block-start: 0;
}
.p-parts-search__select .select-list li ul {
  margin-block-start: 16rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16rem;
}
@media (min-width: 769px) {
  .p-parts-search__select .select-list li ul {
    flex-direction: row;
    gap: 0;
  }
}
.p-parts-search__select .select-list li ul li {
  margin-block-start: 0;
  display: block;
  line-height: 1;
  position: relative;
}
@media (min-width: 769px) {
  .p-parts-search__select .select-list li ul li {
    margin-inline-end: 24rem;
  }
}
.p-parts-search__select .select-list li ul li input[type=checkbox] {
  display: none;
}
.p-parts-search__select .select-list li ul li label {
  margin-inline-start: 36rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1;
}
.p-parts-search__select .select-list li ul li input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  left: 5rem;
  top: 6rem;
  border-left: solid 3rem #b53133;
  border-bottom: solid 3rem #b53133;
  width: 16rem;
  height: 9rem;
  transform: rotate(-45deg);
}
@media (min-width: 769px) {
  .p-parts-search__select .select-list li ul li input[type=checkbox]:checked + label::after {
    left: 3rem;
    top: 4rem;
  }
}
.p-parts-search__select .select-list li ul li label::before {
  content: "";
  position: absolute;
  top: 2rem;
  left: 0;
  width: 20rem;
  height: 20rem;
  border: solid 2rem #222;
}

.c-map {
  margin-block-start: 40rem;
  margin-inline: auto;
  width: 311rem;
  display: block;
}
@media (min-width: 769px) {
  .c-map {
    margin-block-start: 64rem;
    width: 960rem;
  }
}
@media (min-width: 769px) {
  .c-map.single {
    width: 780rem;
  }
}
.c-map #google-map-content {
  width: 100%;
  height: 400rem;
  display: block;
  border: solid 2rem #222;
  border-radius: 20rem;
}
@media (min-width: 769px) {
  .c-map #google-map-content {
    height: 392rem;
    border: solid 2.5rem #222;
  }
}
.c-map__link {
  margin-block-start: 24rem;
  margin-inline: auto;
  width: 184rem;
  height: 36rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1rem #b53133;
}
@media (min-width: 769px) {
  .c-map__link {
    width: 240rem;
    height: 48rem;
    border-bottom: solid 1.3rem #b53133;
  }
}
.c-map__link a {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  display: inline-block;
  color: #b53133;
}
@media (min-width: 769px) {
  .c-map__link a {
    font-size: 18rem;
  }
}
.c-map__link a::after {
  content: "";
  margin-inline-start: 8rem;
  width: 10rem;
  height: 8rem;
  display: inline-block;
  background-image: url(./img/ico_arrow_gmap.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translateY(-1rem);
}
@media (min-width: 769px) {
  .c-map__link a::after {
    margin-inline-start: 10rem;
    width: 12rem;
    height: 10rem;
    transform: translateY(-2rem);
  }
}
.c-map img {
  max-width: 100%;
  height: auto;
  transition: all 0.5s;
}

.c-fixedmenu {
  width: 100%;
  height: 60rem;
  display: block;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
}
@media (min-width: 769px) {
  .c-fixedmenu {
    margin-block-start: 390rem;
    width: 163rem;
    height: 364rem;
    top: 0;
    left: auto;
    right: 0;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s ease;
  }
}
@media (min-width: 769px) {
  .c-fixedmenu.hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
  }
}
.c-fixedmenu ul {
  padding-block: 1rem;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 0.5rem;
  position: relative;
}
@media (min-width: 769px) {
  .c-fixedmenu ul {
    flex-direction: column;
    justify-content: flex-end;
    width: 163rem;
    background-color: transparent;
  }
}
.c-fixedmenu ul::before {
  content: "";
  width: 48rem;
  aspect-ratio: 11/7;
  display: block;
  background-image: url(./img/img_people_loope-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: -20rem;
  left: 0;
}
@media (min-width: 769px) {
  .c-fixedmenu ul::before {
    width: 102rem;
    aspect-ratio: 8/5;
    background-image: url(./img/img_people_loope-pc.png);
    top: 48rem;
    left: 48rem;
  }
}
.c-fixedmenu ul li {
  height: 100%;
  display: block;
  border-radius: 5rem;
}
@media (min-width: 769px) {
  .c-fixedmenu ul li {
    margin-block-start: 14rem;
    height: 76rem;
    border: solid 2rem #fff;
    border-right: none;
    border-radius: 20rem 0 0 20rem;
    box-shadow: 0 4rem 12rem 5rem rgba(35, 24, 21, 0.32);
  }
}
.c-fixedmenu ul li:nth-child(1) {
  width: 122.5rem;
  background-color: #b53133;
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(1) {
    width: 100%;
  }
}
.c-fixedmenu ul li:nth-child(1) a span {
  transform: translateY(-4rem);
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(1) a span {
    margin-inline-start: 24rem;
  }
}
.c-fixedmenu ul li:nth-child(1) a span::before {
  margin-inline-end: 7rem;
  width: 20rem;
  height: 20rem;
  background-image: url(./img/ico_factory.svg);
  transform: translateY(3rem);
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(1) a span::before {
    margin-inline-end: 10rem;
  }
}
.c-fixedmenu ul li:nth-child(2) {
  width: 134.5rem;
  background-color: #333;
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(2) {
    width: 100%;
  }
}
.c-fixedmenu ul li:nth-child(2) a span {
  position: relative;
  transform: translateX(15rem);
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(2) a span {
    transform: translateX(55rem);
  }
}
.c-fixedmenu ul li:nth-child(2) a span::before {
  width: 22rem;
  height: 22rem;
  background-image: url(./img/ico_check.svg);
  position: absolute;
  top: 5rem;
  left: -35rem;
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(2) a span::before {
    top: 8rem;
  }
}
.c-fixedmenu ul li:nth-child(3) {
  width: 115rem;
  background-color: #000;
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(3) {
    width: 100%;
  }
}
.c-fixedmenu ul li:nth-child(3) a span {
  font-size: 14rem;
  transform: translateY(-5rem);
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(3) a span {
    margin-inline-start: 20rem;
    font-size: 18rem;
    letter-spacing: 0.17em;
  }
}
.c-fixedmenu ul li:nth-child(3) a span::before {
  margin-inline-end: 9rem;
  width: 24rem;
  height: 24rem;
  background-image: url(./img/ico_question.svg);
  transform: translateY(6rem);
}
@media (min-width: 769px) {
  .c-fixedmenu ul li:nth-child(3) a span::before {
    margin-inline-end: 16rem;
  }
}
.c-fixedmenu ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (min-width: 769px) {
  .c-fixedmenu ul li a {
    justify-content: flex-start;
  }
}
.c-fixedmenu ul li a span {
  font-size: 12rem;
  font-weight: 700;
  line-height: 1.3;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #fff;
  display: block;
}
@media (min-width: 769px) {
  .c-fixedmenu ul li a span {
    font-size: 16rem;
    line-height: 1.2;
  }
}
.c-fixedmenu ul li a span::before {
  content: "";
  display: inline-block;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.c-slider {
  width: 327rem;
  height: 307rem;
  display: block;
  background-color: #fff;
  border: solid 2rem #222;
  border-radius: 10rem;
  position: relative;
  overflow: hidden;
}
.c-slider__list {
  width: 327rem;
  display: block;
  position: absolute;
  left: 0;
  animation: verticalSlider 32s linear infinite;
}
@media (min-width: 769px) {
  .c-slider__list {
    width: 499rem;
    animation: verticalSlider-pc 32s linear infinite;
  }
}
.c-slider__list li {
  margin-block-start: 8rem;
  width: 100%;
  display: block;
}
.c-slider__list li img {
  width: 100%;
  display: block;
}

/*---------------------------------*
* project
*----------------------------------*/
.p-404 {
  margin-block-start: 124rem;
  padding-block-end: 96rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-404 {
    margin-block-start: 168rem;
    padding-block-end: 160rem;
  }
}
.p-404__title {
  padding-block-end: 48rem;
  text-align: center;
}
@media (min-width: 769px) {
  .p-404__title {
    padding-block-end: 76rem;
  }
}
.p-404__title h2 {
  color: #b53133;
  font-size: 64rem;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-404__title h2 {
    font-size: 80rem;
  }
}
.p-404__title p {
  margin-block-start: 16rem;
  font-size: 24rem;
  font-weight: 700;
  font-family: "Roboto", sans-serif;
  line-height: 1;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-404__title p {
    margin-block-start: 16rem;
    margin-inline-start: 32rem;
    font-size: 48rem;
  }
}
.p-404__title p::after {
  content: "";
  margin-inline-start: 16rem;
  display: inline-block;
  width: 55rem;
  aspect-ratio: 55/2;
  background-image: url(./img/img_line-bk.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-6rem);
}
@media (min-width: 769px) {
  .p-404__title p::after {
    width: 76rem;
    aspect-ratio: 76/2;
    margin-inline-start: 20rem;
    transform: translateY(-16rem);
  }
}
.p-404__content {
  margin: 0 auto;
  margin-block-end: 112rem;
  width: 311rem;
  display: block;
  position: relative;
}
@media (min-width: 769px) {
  .p-404__content {
    margin-block-end: 88rem;
    width: 485rem;
  }
}
.p-404__content--text {
  margin-block-start: 88rem;
  text-align: center;
}
@media (min-width: 769px) {
  .p-404__content--text {
    margin-block-start: 96rem;
  }
}
.p-404__content--text p {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 500;
}
@media (min-width: 769px) {
  .p-404__content--text p {
    margin-block-start: 40rem;
    font-size: 18rem;
  }
}
.p-404__content--text p:first-of-type {
  margin-block-start: 0;
}
.p-404__content .c-button {
  margin: 40rem auto 0;
  width: 100%;
}
@media (min-width: 769px) {
  .p-404__content .c-button {
    margin-block-start: 48rem;
    width: 318rem;
  }
}
.p-404__wrapper {
  position: relative;
}
.p-404__wrapper::after {
  content: "";
  width: 152rem;
  aspect-ratio: 1/1;
  display: block;
  background-image: url(./img/img_people_photo-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -64rem;
  left: -11rem;
}
@media (min-width: 769px) {
  .p-404__wrapper::after {
    width: 283rem;
    bottom: -96rem;
    left: 37rem;
  }
}

.p-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.p-header.teaser {
  display: none;
}
.p-header__navigation {
  padding: 80rem 0 80rem 52rem;
  width: 307rem;
  position: absolute;
  top: 38rem;
  right: 0;
  opacity: 0;
  z-index: 900;
  border-radius: 15rem 0 15rem 15rem;
  background-color: #fff;
  pointer-events: none;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-header__navigation {
    padding: 12rem 0 12rem 40rem;
    width: 1028rem;
    height: 52rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    position: static;
    opacity: 1;
    z-index: 1;
    border-radius: 0;
    pointer-events: auto;
  }
}
@media (min-width: 769px) {
  .p-header__navigation:has(.p-header__navigation--items.hidden) {
    justify-content: flex-end;
  }
}
@media (min-width: 769px) {
  .p-header__navigation.multilang {
    padding: 12rem 0 8.5rem 40rem;
    width: 1012rem;
    height: 45rem;
  }
}
@media (min-width: 769px) {
  .p-header__navigation.en {
    justify-content: flex-end;
  }
}
.p-header__navigation::after {
  content: "";
  width: 88rem;
  aspect-ratio: 11/20;
  display: block;
  background-image: url(./img/img_nav_circleIcon.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (min-width: 769px) {
  .p-header__navigation::after {
    display: none;
  }
}
.p-header__navigation.is-active {
  opacity: 1;
  pointer-events: auto;
}
.p-header__navigation--bg {
  display: none;
}
.p-header__navigation--bg.is-active {
  width: 100%;
  height: 100dvh;
  display: block;
  background: rgba(97, 74, 63, 0.2);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  pointer-events: none;
}
.p-header__navigation nav {
  display: block;
}
.p-header__navigation nav ul {
  display: block;
  width: 190rem;
}
@media (min-width: 769px) {
  .p-header__navigation nav ul {
    width: 820rem;
    height: 28rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.p-header__navigation nav ul.hidden {
  display: none;
}
@media (min-width: 769px) {
  .p-header__navigation nav ul.p-header__navigation--items-en {
    width: 136rem;
  }
}
.p-header__navigation nav ul li {
  margin-block-start: 32rem;
  padding-inline-start: 12rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-header__navigation nav ul li {
    margin: 0;
    padding: 0;
    width: auto;
    display: inline-block;
  }
}
.p-header__navigation nav ul li:first-of-type {
  margin-block-start: 0;
}
.p-header__navigation nav ul li a {
  display: block;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  color: #222;
}
@media (min-width: 769px) {
  .p-header__navigation nav ul li a {
    font-size: 16rem;
    white-space: nowrap;
  }
}
@media (min-width: 769px) {
  .p-header__navigation nav ul li a:hover, .p-header__navigation nav ul li a.current {
    color: #b53133;
  }
}
@media (min-width: 769px) and (min-width: 769px) {
  .p-header__navigation nav ul li a:hover::before, .p-header__navigation nav ul li a:hover.current::before, .p-header__navigation nav ul li a.current::before, .p-header__navigation nav ul li a.current.current::before {
    content: "";
    padding-block-end: 12rem;
    width: 100%;
    border-top: solid 2rem #b53133;
    display: block;
  }
}
.p-header__navigation ul.p-header__navigation--sns {
  margin-block-start: 56rem;
  padding-inline-start: 12rem;
  width: 112rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  position: relative;
}
@media (min-width: 769px) {
  .p-header__navigation ul.p-header__navigation--sns {
    margin-block-start: 0;
    margin-inline-start: 52rem;
    padding: 0;
    width: 100rem;
    align-items: flex-end;
    transform: translateY(2rem);
  }
}
.p-header__navigation ul.p-header__navigation--sns li {
  margin-block-start: 0;
  padding-inline-start: 0;
  width: 20rem;
  height: 20rem;
  display: block;
}
.p-header__navigation ul.p-header__navigation--sns li a {
  width: 100%;
  height: 100%;
  font-size: 20rem;
  display: block;
}
.p-header__navigation ul.p-header__navigation--sns li a i {
  width: 100%;
  height: 100%;
  display: block;
}
.p-header__navigation ul.p-header__navigation--sns li a i.fa-facebook {
  color: #0160BB;
}
.p-header__navigation ul.p-header__navigation--sns li a i.fa-x-twitter {
  color: #000;
}
.p-header__navigation ul.p-header__navigation--sns li a i.fa-instagram {
  color: #B2048F;
}

.p-footer-links__cards {
  padding: 24rem 16rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  gap: 24rem;
  border: solid 2rem rgba(51, 51, 51, 0.8);
  border-radius: 16rem;
}
@media (min-width: 769px) {
  .p-footer-links__cards {
    padding: 38rem 24rem 32rem;
    width: 396rem;
    position: relative;
  }
}
.p-footer-links__cards--images {
  width: 100%;
  aspect-ratio: 93/50;
  display: block;
  border: solid 2rem #4d4d4d;
  border-radius: 10rem;
  overflow: hidden;
  object-fit: cover;
}
@media (min-width: 769px) {
  .p-footer-links__cards--images {
    margin: 0 auto;
    aspect-ratio: 87/53;
    border: solid 3rem #4d4d4d;
    border-radius: 16rem;
  }
}
.p-footer-links__cards .p-footer-links__item {
  width: 100%;
  display: flex;
  justify-content: space-evenly;
}
@media (min-width: 769px) {
  .p-footer-links__cards .p-footer-links__item {
    justify-content: center;
  }
}
.p-footer-links__cards .p-footer-links__item--illust {
  width: 87rem;
  height: 68rem;
  display: block;
  object-fit: cover;
}
@media (min-width: 769px) {
  .p-footer-links__cards .p-footer-links__item--illust {
    width: 134rem;
    height: 86rem;
    position: absolute;
    top: -52rem;
    left: calc(50% - 67rem);
  }
}
.p-footer-links__cards .p-footer-links__item--text {
  text-align: center;
}
.p-footer-links__cards .p-footer-links__item--text h2 {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .p-footer-links__cards .p-footer-links__item--text h2 {
    font-size: 28rem;
  }
}
.p-footer-links__cards .p-footer-links__item--text p {
  margin-block-start: 8rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (min-width: 769px) {
  .p-footer-links__cards .p-footer-links__item--text p {
    margin-block-start: 16rem;
    font-size: 16rem;
  }
}
.p-footer-links__cards .p-footer-links__item--text p span:first-child {
  display: inline;
}
@media (min-width: 769px) {
  .p-footer-links__cards .p-footer-links__item--text p span:first-child {
    display: none;
  }
}
.p-footer-links__cards .p-footer-links__item--text p span:last-child {
  display: none;
}
@media (min-width: 769px) {
  .p-footer-links__cards .p-footer-links__item--text p span:last-child {
    display: inline;
  }
}
.p-footer-links__cards p.c-button-moreRead {
  width: 243rem;
}

.p-footer__brand {
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-footer__brand {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
  }
}
.p-footer__brand a {
  margin: 0 auto;
  width: 231rem;
  display: block;
}
@media (min-width: 769px) {
  .p-footer__brand a {
    width: 231rem;
  }
}
.p-footer__brand a img {
  width: 100%;
  display: block;
}
.p-footer__brand ul {
  margin: 32rem auto 0;
  width: 120rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .p-footer__brand ul {
    margin: 0 0 0 40rem;
    width: 120rem;
  }
}
.p-footer__brand ul li {
  width: 24rem;
  aspect-ratio: 1/1;
  display: block;
}
@media (min-width: 769px) {
  .p-footer__brand ul li {
    width: 24rem;
  }
}
.p-footer__brand ul li a {
  width: 100%;
}
.p-footer__brand.en {
  width: 343rem;
}
@media (min-width: 769px) {
  .p-footer__brand.en {
    width: 392rem;
  }
}
.p-footer__contact {
  margin: 24rem auto 0;
  width: 100%;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
}
@media (min-width: 769px) {
  .p-footer__contact {
    margin: 40rem 0 0 0;
    padding-block-end: 90rem;
    text-align: left;
  }
}
.p-footer__contact p {
  margin-block-start: 8rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.7;
}
@media (min-width: 769px) {
  .p-footer__contact p {
    margin-block-start: 0;
    font-size: 16rem;
    line-height: 2;
  }
}
.p-footer__contact p:first-of-type {
  margin-block-start: 0;
}
.p-footer__contact address {
  margin-block-start: 8rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.7;
}
@media (min-width: 769px) {
  .p-footer__contact address {
    margin-block-start: 0;
    font-size: 16rem;
    line-height: 2;
  }
}
.p-footer__contact address .p-footer__contact-info {
  margin-block-start: 8rem;
  line-height: 2.3;
  text-transform: uppercase;
}
@media (min-width: 769px) {
  .p-footer__contact address .p-footer__contact-info {
    line-height: 2;
    margin-block-start: 0;
  }
}
.p-footer__contact address .p-footer__contact-info:last-of-type {
  text-transform: lowercase;
}
.p-footer__contact .p-footer__top-button {
  margin: 24rem auto 0;
  width: 299rem;
}
@media (min-width: 769px) {
  .p-footer__contact .p-footer__top-button {
    margin: 40rem 0 0;
    width: 271rem;
  }
}
.p-footer__partner-links {
  margin: 40rem auto 0;
  width: 313rem;
  display: flex;
  flex-direction: column-reverse;
  gap: 48rem;
}
@media (min-width: 769px) {
  .p-footer__partner-links {
    margin: 0 0 0 128rem;
    width: 637rem;
    flex-direction: column;
    gap: 40rem;
  }
}
.p-footer__partner-links ul {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(4, 1fr);
  gap: 16rem;
}
@media (min-width: 769px) {
  .p-footer__partner-links ul {
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    gap: 19rem;
  }
}
.p-footer__partner-links ul li {
  width: 148rem;
  display: block;
}
@media (min-width: 769px) {
  .p-footer__partner-links ul li {
    width: 199rem;
  }
}
.p-footer__partner-links ul li a {
  width: 100%;
  display: block;
}
.p-footer__partner-links ul li a img {
  width: 100%;
}
.p-footer__partner-links--history {
  margin: 0 auto;
  width: 263rem;
  display: inline-block;
  text-align: center;
  border-bottom: solid 1rem #fff;
}
@media (min-width: 769px) {
  .p-footer__partner-links--history {
    margin: 0;
    width: 263rem;
    text-align: left;
  }
}
.p-footer__partner-links--history span {
  font-size: 16rem;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 2;
  color: #fff;
}
@media (min-width: 769px) {
  .p-footer__partner-links--history span {
    font-size: 16rem;
  }
}
.p-footer__partner-links--history span::after {
  margin-inline-start: 8rem;
  content: "";
  width: 15rem;
  aspect-ratio: 15/14;
  display: inline-block;
  background-image: url(./img/ico_arrow_upright-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.p-top-link {
  padding-inline-start: 16rem;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-link {
    padding-inline-start: 0;
    align-items: flex-start;
  }
}
.p-top-link::before {
  content: "";
  width: 22rem;
  height: 22rem;
  display: block;
  background-color: #fff;
  border-radius: 11rem;
  position: absolute;
  bottom: 8rem;
  right: 8rem;
}
@media (min-width: 769px) {
  .p-top-link::before {
    width: 30rem;
    height: 30rem;
    border-radius: 15rem;
    bottom: 30rem;
    right: 30rem;
  }
}
.p-top-link::after {
  content: "";
  width: 8.5rem;
  aspect-ratio: 10/9;
  display: block;
  background-image: url(./img/ico_arrow-top_right-rd.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 15rem;
  right: 15rem;
}
@media (min-width: 769px) {
  .p-top-link::after {
    width: 12.6rem;
    bottom: 40rem;
    right: 40rem;
  }
}
@media (min-width: 769px) {
  .p-top-link:hover::after {
    animation: arrowMoveRight 0.3s ease;
  }
}
.p-top-link__image {
  width: 87rem;
  height: 66rem;
  display: block;
  object-fit: cover;
  overflow: hidden;
}
.p-top-link__image img {
  width: 100%;
  display: block;
}
.p-top-link__text {
  margin-inline-start: 8rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-link__text {
    margin-block-start: 36rem;
    margin-inline: auto;
  }
}
.p-top-link__text dt {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .p-top-link__text dt {
    font-size: 27rem;
    letter-spacing: 0.02em;
  }
}
.p-top-link__text dd {
  margin-block-start: 8rem;
  display: block;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
@media (min-width: 769px) {
  .p-top-link__text dd {
    margin-block-start: 16rem;
  }
}
.p-top-about {
  padding-block: 56rem 136rem;
  display: flex;
  flex-direction: column;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-about {
    padding-block: 112rem 116rem;
    padding-inline: 120rem 99rem;
    width: 1111rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media (min-width: 769px) {
  .p-top-about::before {
    content: "";
    width: 346rem;
    aspect-ratio: 346/303;
    display: block;
    background-image: url(./img/bg_about_circleIcon-top.svg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0;
  }
}
.p-top-about::after {
  content: "";
  width: 252rem;
  height: 255rem;
  display: block;
  background-image: url(./img/img_people_photo-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -101rem;
  left: -22rem;
}
@media (min-width: 769px) {
  .p-top-about::after {
    width: 354rem;
    height: 354rem;
    background-image: url(./img/img_people_photo-pc.png);
    bottom: -127rem;
    left: auto;
    right: 105rem;
  }
}
.p-top-about__content {
  margin-inline: auto;
  width: 327rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-about__content {
    margin-inline: 0;
    width: 560rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "a b" "c b";
  }
}
.p-top-about__content h2 {
  width: 100%;
}
@media (min-width: 769px) {
  .p-top-about__content h2 {
    width: 527rem;
    grid-area: a;
  }
}
.p-top-about__content h2 span {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", sans-serif;
  color: #fff;
  text-transform: uppercase;
}
.p-top-about__content h2 span::after {
  content: "";
  margin-inline-start: 24rem;
  width: 114rem;
  height: 2rem;
  display: inline-block;
  background-image: url(./img/img_line-long-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-6rem);
}
.p-top-about__content h2 img {
  margin-block-start: 24rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-top-about__content h2 img {
    margin-block-start: 34rem;
  }
}
.p-top-about__content .c-slider {
  margin-block-start: 40rem;
}
@media (min-width: 769px) {
  .p-top-about__content .c-slider {
    margin-block-start: 64rem;
    margin-inline-start: 52rem;
    width: 499rem;
    height: 467rem;
    display: block;
    background-color: #fff;
    border: solid 3rem #222;
    border-radius: 10rem;
    position: relative;
    overflow: hidden;
    grid-area: b;
  }
}
.p-top-about__content .p-top-about__text {
  margin-block-start: 40rem;
  margin-inline: auto;
  width: 311rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-about__content .p-top-about__text {
    margin-block-start: 72rem;
    margin-inline: 0;
    width: 560rem;
    grid-area: c;
  }
}
.p-top-about__content .p-top-about__text p {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
}
@media (min-width: 769px) {
  .p-top-about__content .p-top-about__text p {
    margin-block-start: 24rem;
    font-size: 18rem;
    line-height: 1;
  }
}
.p-top-about__content .p-top-about__text p:first-of-type {
  margin-block-start: 0;
}
.p-top-about__content a.c-button-red {
  margin-block-start: 40rem;
  margin-inline: auto;
  width: 311rem;
}
@media (min-width: 769px) {
  .p-top-about__content a.c-button-red {
    margin-block-start: 96rem;
    margin-inline: 0;
    width: 318rem;
  }
}
.p-top-news {
  margin-inline: auto;
  padding-block: 40rem;
  width: 327rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-news {
    padding-block: 66rem;
    width: 1200rem;
    display: grid;
    grid-template-columns: 243rem 1fr;
    grid-template-areas: "a b" "c b";
  }
}
.p-top-news__title {
  width: 327rem;
  display: block;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-news__title {
    width: 243rem;
    grid-area: a;
  }
}
.p-top-news__title span {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Roboto", sans-serif;
  color: #b53133;
  text-transform: uppercase;
}
@media (min-width: 769px) {
  .p-top-news__title span {
    letter-spacing: 0.1em;
  }
}
.p-top-news__title span::after {
  content: "";
  margin-inline-start: 20rem;
  width: 114rem;
  height: 2rem;
  display: inline-block;
  background-image: url(./img/img_line-long-rd.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translateY(-6rem);
}
.p-top-news__title h2 {
  margin-block-start: 8rem;
  font-size: 36rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .p-top-news__title h2 {
    margin-block-start: 16rem;
    font-size: 48rem;
  }
}
.p-top-news__title .custom-buttons {
  width: 96rem;
  height: 40rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media (min-width: 769px) {
  .p-top-news__title .custom-buttons {
    display: none;
  }
}
.p-top-news__title .custom-buttons .swiper-button-prev,
.p-top-news__title .custom-buttons .swiper-button-next {
  content: none;
}
.p-top-news__title .custom-buttons .swiper-button-prev {
  width: 40rem;
  height: 40rem;
  background: url(./img/ico_arrow_circle_left-gr.svg) no-repeat center/cover;
}
.p-top-news__title .custom-buttons .swiper-button-next {
  width: 40rem;
  height: 40rem;
  background: url(./img/ico_arrow_circle_right-gr.svg) no-repeat center/cover;
}
.p-top-news__swiper {
  margin-block-start: 56rem;
  width: 100%;
  display: flex;
}
@media (min-width: 769px) {
  .p-top-news__swiper {
    margin-block-start: 0;
    width: 875rem;
    grid-area: b;
  }
}
.p-top-news__swiper .swiper-wrapper {
  display: flex;
  align-items: flex-start;
}
@media (min-width: 769px) {
  .p-top-news__swiper .swiper-wrapper {
    margin-inline-start: 58rem;
  }
}
.p-top-news__swiper .swiper-wrapper .swiper-slide {
  width: 100%;
  height: 100%;
}
@media (min-width: 769px) {
  .p-top-news__swiper .swiper-wrapper .swiper-slide {
    margin-right: 0;
    width: 281rem;
  }
}
.p-top-news__swiper .swiper-wrapper .is-first {
  margin-inline-start: 16rem;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-news__swiper .swiper-wrapper .is-first {
    margin-inline-start: 0;
  }
}
.p-top-news__swiper .swiper-wrapper .is-first::before {
  content: "";
  width: 82rem;
  height: 78rem;
  display: block;
  background-image: url(./img/ico_new.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: -14rem;
  left: -14rem;
}
@media (min-width: 769px) {
  .p-top-news__swiper .swiper-wrapper .is-first::before {
    top: -28rem;
    left: -20rem;
  }
}
.p-top-news__link {
  margin-block-start: 56rem;
  margin-inline: auto;
  width: 327rem;
}
@media (min-width: 769px) {
  .p-top-news__link {
    margin-block-start: auto;
    width: 243rem;
    grid-area: c;
  }
}
.p-top-news__link a.c-button-moreRead {
  width: 100%;
}
.p-top-news__link--sns {
  margin-block-start: 24rem;
  margin-inline: auto;
  width: 121rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .p-top-news__link--sns {
    margin-block-start: 32rem;
  }
}
.p-top-news__link--sns li {
  width: 24.2rem;
  height: 24.2rem;
  display: block;
}
.p-top-news__link--sns li a {
  width: 100%;
  height: 100%;
  display: block;
}
.p-top-news__link--sns li a i {
  display: block;
}
.p-top-news__link--sns li a i::before {
  width: 100%;
  display: inline-block;
  font-size: 24.2rem;
  text-align: center;
}
.p-top-news__link P {
  margin-block-start: 16rem;
  font-size: 14rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
}
@media (min-width: 769px) {
  .p-top-news__link P {
    margin-block-start: 24rem;
  }
}
.p-top-enjoy {
  padding-block: 80rem 184rem;
  margin-inline: auto;
  width: 359rem;
  display: block;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-enjoy {
    padding-block: 56rem 0;
    width: 1330rem;
  }
}
.p-top-enjoy::before {
  content: "";
  width: 359rem;
  height: 1625rem;
  display: block;
  background-image: url(./img/bg_top_gray-texture-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  outline: solid 2rem #222;
  border-radius: 15rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media (min-width: 769px) {
  .p-top-enjoy::before {
    width: 1330rem;
    height: 1375rem;
    background-image: url(./img/bg_top_gray-texture-pc.webp);
    outline: solid 3rem #222;
    border-radius: 40rem;
  }
}
.p-top-enjoy::after {
  content: "";
  width: 187rem;
  height: 187rem;
  display: block;
  background-image: url(./img/img_people_worker.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: -126rem;
  right: -5rem;
}
@media (min-width: 769px) {
  .p-top-enjoy::after {
    width: 279rem;
    height: 279rem;
    top: -176rem;
    right: 231rem;
  }
}
.p-top-enjoy__heading {
  margin-inline-start: 16rem;
  display: flex;
  flex-direction: column;
  color: #fff;
}
@media (min-width: 769px) {
  .p-top-enjoy__heading {
    margin-inline: auto;
    width: 1206rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.p-top-enjoy__heading header {
  width: 343rem;
}
@media (min-width: 769px) {
  .p-top-enjoy__heading header {
    width: 600rem;
  }
}
.p-top-enjoy__heading header span {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", sans-serif;
}
.p-top-enjoy__heading header span::after {
  content: "";
  margin-inline-start: 20rem;
  width: 114rem;
  height: 2rem;
  display: inline-block;
  background-image: url(./img/img_line-long-wt.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-5rem);
}
@media (min-width: 769px) {
  .p-top-enjoy__heading header span::after {
    margin-inline-start: 24rem;
  }
}
.p-top-enjoy__heading header h2 {
  font-size: 48rem;
  font-weight: 700;
  line-height: 1.3;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .p-top-enjoy__heading header h2 {
    font-size: 60rem;
    line-height: 1;
  }
}
.p-top-enjoy__heading p {
  margin-block-start: 40rem;
  width: 327rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (min-width: 769px) {
  .p-top-enjoy__heading p {
    margin-block-start: 0;
    width: 579rem;
    font-size: 20rem;
  }
}
.p-top-enjoy__content {
  margin-block-start: 93rem;
  width: 359rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-enjoy__content {
    margin-block-start: 135rem;
    margin-inline: 50rem 0;
    width: 1220rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.p-top-enjoy__content li {
  padding-block: 24rem 32rem;
  width: 343rem;
  display: block;
  border: solid 2rem #222;
  border-radius: 20rem;
  background-color: #fff;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li {
    margin-inline-start: 40rem;
    padding-block: 16rem 40rem;
    padding-inline: 24rem 16rem;
    width: 552rem;
    border: solid 3rem #222;
  }
}
.p-top-enjoy__content li:nth-child(2) {
  margin-block-start: 109rem;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li:nth-child(2) {
    margin-block-start: 0;
    margin-inline-start: 64rem;
  }
}
.p-top-enjoy__content li:nth-child(2) h3 {
  width: 355rem;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li:nth-child(2) h3 {
    width: 550rem;
  }
}
.p-top-enjoy__content li:nth-child(2) h3 span {
  transform: translateY(-3rem);
}
.p-top-enjoy__content li:nth-child(2) h3 span::before {
  aspect-ratio: 43/31;
  background-image: url(./img/img_02.svg);
  transform: translateY(6rem);
}
.p-top-enjoy__content li h3 {
  width: 321rem;
  height: 84rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: solid 2rem #222;
  border-radius: 20rem;
  position: absolute;
  top: -53rem;
  left: -14rem;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li h3 {
    width: 494rem;
    height: 111rem;
    top: -78rem;
    left: -30rem;
  }
}
.p-top-enjoy__content li h3 span {
  font-size: 28rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  transform: translateY(-5rem);
}
@media (min-width: 769px) {
  .p-top-enjoy__content li h3 span {
    font-size: 40rem;
    line-height: 1.03;
  }
}
.p-top-enjoy__content li h3 span::before {
  content: "";
  margin-inline-end: 16rem;
  width: 42rem;
  aspect-ratio: 38/31;
  display: inline-block;
  background-image: url(./img/img_01.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(7rem);
}
@media (min-width: 769px) {
  .p-top-enjoy__content li h3 span::before {
    margin-inline-end: 32rem;
    width: 67rem;
    transform: translateY(9rem);
  }
}
.p-top-enjoy__content li .p-top-enjoy__content--item {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-top-enjoy__content li .p-top-enjoy__content--item img {
  width: 319rem;
  height: 219rem;
  display: block;
  border: solid 3rem #4d4d4d;
  border-radius: 10rem;
  object-fit: cover;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li .p-top-enjoy__content--item img {
    width: 512rem;
    height: 296rem;
  }
}
.p-top-enjoy__content li .p-top-enjoy__content--item-txt {
  margin-block-start: 24rem;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li .p-top-enjoy__content--item-txt {
    margin-block-start: 40rem;
    margin-inline: auto;
    width: 464rem;
  }
}
.p-top-enjoy__content li .p-top-enjoy__content--item-txt p {
  margin-block-start: 8rem;
  padding-inline: 8rem;
  width: 311rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li .p-top-enjoy__content--item-txt p {
    margin-block-start: 16rem;
    padding-inline: 0;
    width: 100%;
  }
}
.p-top-enjoy__content li .p-top-enjoy__content--item-txt p:first-of-type {
  margin-block-start: 0;
}
.p-top-enjoy__content li .p-top-enjoy__content--item-txt a.c-button-moreRead {
  margin-block-start: 32rem;
  margin-inline: auto;
  width: 287rem;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li .p-top-enjoy__content--item-txt a.c-button-moreRead {
    margin-block-start: 40rem;
    width: 341rem;
  }
}
.p-top-enjoy__content li .en-title {
  display: none;
}
@media (min-width: 769px) {
  .p-top-enjoy__content li .en-title {
    display: block;
    font-size: 31rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: "Roboto", sans-serif;
    color: #fff;
    text-transform: uppercase;
    writing-mode: vertical-lr;
    transform: rotate(180deg);
    position: absolute;
    bottom: 0;
    left: -29rem;
  }
}
.p-top-enjoy .p-top-enjoy__access {
  margin-block-start: 72rem;
  margin-inline: auto;
  padding-block: 56rem 104rem;
  width: 352rem;
  display: block;
  background-image: url(./img/bg_dot_pattern.png);
  background-position: center;
  background-repeat: repeat;
  border: solid 2rem #222;
  border-radius: 30rem;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access {
    margin-block-start: 128rem;
    padding: 96rem 0 80rem 64rem;
    width: 1200rem;
  }
}
.p-top-enjoy .p-top-enjoy__access::after {
  content: "";
  width: 137rem;
  height: 137rem;
  display: block;
  background-image: url(./img/img_people_map-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -56rem;
  left: -29rem;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access::after {
    width: 193rem;
    height: 193rem;
    bottom: -94rem;
    left: -89rem;
  }
}
.p-top-enjoy .p-top-enjoy__access h3.p-top-enjoy__access--title {
  margin-inline-start: 20.5rem;
  width: 280rem;
  height: auto;
  display: block;
  background-color: transparent;
  position: static;
  border: none;
  border-radius: 0;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access h3.p-top-enjoy__access--title {
    margin-inline-start: 0;
    width: auto;
  }
}
.p-top-enjoy .p-top-enjoy__access h3.p-top-enjoy__access--title span {
  font-size: 40rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access h3.p-top-enjoy__access--title span {
    font-size: 48rem;
  }
}
.p-top-enjoy .p-top-enjoy__access h3.p-top-enjoy__access--title span::before {
  content: "";
  margin-inline-end: 16rem;
  width: 56rem;
  aspect-ratio: 11/8;
  display: inline-block;
  background-image: url(./img/img_03.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access h3.p-top-enjoy__access--title span::before {
    margin-inline-end: 24rem;
    width: 67rem;
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container {
  width: 100%;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container {
    margin-block-start: 56rem;
    display: grid;
    grid-template-columns: 467rem 1fr;
    grid-template-areas: "a b" "c b";
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container .p-top-enjoy__access--desc {
  margin-inline: auto;
  width: 307rem;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container .p-top-enjoy__access--desc {
    margin: 0;
    width: 430rem;
    grid-area: a;
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container .p-top-enjoy__access--desc h4 {
  margin-block-start: 24rem;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container .p-top-enjoy__access--desc h4 {
    margin-block-start: 0;
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container .p-top-enjoy__access--desc p {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  display: block;
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container .p-top-enjoy__access--desc p:first-of-type {
  margin-block-start: 32rem;
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul {
  margin-block-start: 64rem;
  margin-inline: auto;
  width: 327rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul {
    margin: 0;
    width: 602rem;
    grid-area: b;
    display: flex;
    justify-content: space-between;
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li {
  margin-block-start: 56rem;
  padding-block: 0;
  margin-inline: auto;
  width: 298rem;
  border: none;
  border-radius: 0;
  background-color: transparent;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li {
    margin-block-start: 0;
    margin-inline: 0;
    padding: 0;
    width: 273rem;
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li:first-of-type {
  margin-block-start: 0;
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li:nth-child(2) h4 {
  width: 181rem;
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li h4 {
  width: 280rem;
  height: 65rem;
  display: block;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  align-content: center;
  color: #b53133;
  background-color: #fff;
  border: solid 2rem #222;
  border-radius: 10rem;
  position: absolute;
  top: -20rem;
  left: -14rem;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li h4 {
    left: -21rem;
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot {
  width: 100%;
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot img {
  width: 100%;
  height: 195rem;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
  object-fit: cover;
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot address {
  margin-block-start: 16rem;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot address {
    margin-block-start: 18rem;
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot a {
  margin-block-start: 8rem;
  margin-inline: 0 auto;
  width: 143rem;
  height: 36rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1rem #222;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot a {
    margin-block-start: 18rem;
    margin-inline: 0;
  }
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot a:hover {
    border-bottom: solid 1rem #b53133;
  }
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot a:hover span {
    color: #b53133;
  }
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot a:hover span::after {
    background-image: url(./img/ico_arrow-top_right-rd.svg);
  }
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot a span {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Roboto", sans-serif;
}
.p-top-enjoy .p-top-enjoy__access .p-top-enjoy__container ul li .access-spot a span::after {
  content: "";
  margin-inline-start: 8rem;
  width: 9rem;
  aspect-ratio: 11/8;
  display: inline-block;
  background-image: url(./img/ico_arrow_right-bk.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-2rem);
}
.p-top-enjoy .p-top-enjoy__access a {
  margin-block-start: 40rem;
  margin-inline: auto;
  width: 299rem;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access a {
    margin-inline: 0;
    width: 243rem;
    grid-area: c;
  }
}
.p-top-enjoy .p-top-enjoy__access p.p-top-enjoy__access--deco-txt {
  display: none;
}
@media (min-width: 769px) {
  .p-top-enjoy .p-top-enjoy__access p.p-top-enjoy__access--deco-txt {
    display: block;
    font-size: 42rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.1em;
    font-family: "Roboto", sans-serif;
    color: #fff;
    position: absolute;
    top: -32rem;
    left: 12rem;
    text-transform: uppercase;
  }
}
.p-top-gmap {
  width: 100%;
}
.p-top-gmap__content {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-top-gmap__content {
    line-height: 1;
    flex-direction: row;
  }
}
.p-top-gmap__content-text {
  width: 100%;
}
@media (min-width: 769px) {
  .p-top-gmap__content-text {
    width: 760rem;
  }
}
.p-top-gmap__content-text span {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", sans-serif;
  text-transform: uppercase;
}
.p-top-gmap__content-text span::after {
  content: "";
  margin-inline-start: 20rem;
  width: 115rem;
  height: 2rem;
  display: inline-block;
  background-image: url(./img/img_line-long-bk.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-6rem);
}
@media (min-width: 769px) {
  .p-top-gmap__content-text span::after {
    margin-inline-start: 24rem;
  }
}
.p-top-gmap__content-text h2 {
  margin-block-start: 16rem;
  font-size: 36rem;
  font-weight: 700;
  line-height: 1.3;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-top-gmap__content-text h2 {
    font-size: 40rem;
    line-height: 1.2;
  }
}
.p-top-gmap__content-text p {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.5;
}
.p-top-gmap__content-icon {
  margin-block-start: 24rem;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (min-width: 769px) {
  .p-top-gmap__content-icon {
    margin-block-start: 0;
    margin-inline-start: 107rem;
    width: 205rem;
    flex-direction: column;
    align-items: flex-start;
  }
}
.p-top-gmap__content-icon li {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.p-top-gmap__content-icon li img {
  width: 32rem;
  height: 39rem;
  display: block;
}
@media (min-width: 769px) {
  .p-top-gmap__content-icon li img {
    width: 43rem;
    height: 52rem;
  }
}
.p-top-gmap__content-icon li span {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-top-gmap__content-icon li span {
    font-size: 16rem;
  }
}
.p-top-gmap__map {
  margin-block-start: 16rem;
  width: 327rem;
  height: 500rem;
  display: block;
  outline: solid 2rem #222;
  border-radius: 30rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-top-gmap__map {
    margin-block-start: 24rem;
    width: 1120rem;
    height: 380rem;
  }
}
.p-top-gmap__map #google-map-content {
  width: 100%;
  height: 100%;
}

.gm-style-iw {
  max-width: 230rem !important;
  display: block;
  font-size: 13rem;
  font-weight: 400;
  max-height: max-content !important;
  border: none;
}
.gm-style-iw .google-area {
  padding: 5rem 10rem 10rem 5rem;
  width: 100%;
  display: block;
  border: none !important;
}
.gm-style-iw .google-area img {
  width: 100%;
  height: 125rem;
  display: block;
  border-radius: 5rem;
  object-fit: cover;
}
.gm-style-iw .google-area h3 {
  margin-block: 7.6rem 15.2rem;
  padding-block: 7.6rem;
  font-size: 15.2rem;
  font-weight: 700;
  line-height: 1.5;
  border: none;
}
.gm-style-iw .google-area ul.map-btn {
  margin-block-start: 20rem;
  width: 100%;
  text-align: center;
  display: flex;
  justify-content: space-between;
}
.gm-style-iw .google-area ul.map-btn li {
  width: 48%;
  font-size: 11rem;
  display: block;
  border: solid 1rem #222;
  border-radius: 5rem;
}
.gm-style-iw .google-area ul.map-btn li a.btn {
  padding: 0 15px 0 8px !important;
  line-height: 38px;
  border-radius: 5px !important;
  display: block;
  white-space: nowrap;
  font-size: 11px !important;
}
@media (min-width: 769px) {
  .gm-style-iw .google-area ul.map-btn li a.btn:hover {
    color: #fff;
    background-color: #b53133;
  }
}

.p-history {
  width: 100%;
  display: block;
}
.p-history__content {
  margin: 0 auto;
  padding-block: 56rem 72rem;
  width: 327rem;
}
@media (min-width: 769px) {
  .p-history__content {
    padding-block: 112rem 97rem;
    width: 1080rem;
  }
}
.p-history__content h2 {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-history__content h2 {
    font-size: 32rem;
    line-height: 1;
  }
}
.p-history__content img {
  margin-block-start: 16rem;
  width: 327rem;
  display: block;
  border: solid 2rem #222;
  border: solid 2rem #222;
  border-radius: 10rem;
}
@media (min-width: 769px) {
  .p-history__content img {
    margin-block-start: 0;
    margin-inline-end: 10rem;
    width: 454rem;
    border: solid 3rem #222;
  }
}
.p-history__content p {
  margin-block-start: 16rem;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-history__content p {
    margin-block-start: 24rem;
    width: 530rem;
  }
}
@media (min-width: 769px) {
  .p-history__content p:first-of-type {
    margin-block-start: 40rem;
  }
}
@media (min-width: 769px) {
  .p-history__content p:first-of-type.even-text {
    margin-block-start: 24rem;
  }
}
@media (min-width: 769px) {
  .p-history__content p.margin-bs-16 {
    margin-block-start: 16rem;
  }
}
@media (min-width: 769px) {
  .p-history__content .wp-block-spacer {
    height: 96rem !important;
  }
}
.p-history__content .wp-block-columns {
  margin-bottom: 0;
}
.p-history__content .wp-block-columns.row-reverse {
  flex-direction: row-reverse;
}
.p-history__content .wp-block-columns.is-layout-flex {
  gap: 0;
}
@media (min-width: 769px) {
  .p-history__content .wp-block-columns .odd-number-paragraph {
    margin-block-start: 40rem;
  }
}
@media (min-width: 769px) {
  .p-history__content .wp-block-columns .odd-number-paragraph .aligncenter {
    margin-inline: 0 68rem;
  }
}
@media (min-width: 769px) {
  .p-history__content .wp-block-columns .odd-number-paragraph.award-image .aligncenter {
    position: relative;
  }
  .p-history__content .wp-block-columns .odd-number-paragraph.award-image .aligncenter::after {
    display: none;
  }
}
@media (min-width: 769px) and (min-width: 769px) {
  .p-history__content .wp-block-columns .odd-number-paragraph.award-image .aligncenter::after {
    content: "（2013/11/22）";
    display: block;
    width: 102rem;
    height: 14rem;
    font-size: 14rem;
    font-weight: 400;
    line-height: 1;
    color: #222;
    position: absolute;
    bottom: -22rem;
    right: 30rem;
  }
}
@media (min-width: 769px) {
  .p-history__content .wp-block-columns.history-col .wp-block-column.history-left-col {
    width: 550rem;
    flex-basis: auto;
    flex-grow: 0;
  }
}
@media (min-width: 769px) {
  .p-history__content .wp-block-columns .even-number-paragraph {
    margin-inline-start: 58rem;
    transform: translateY(-32rem);
  }
}
@media (min-width: 769px) {
  .p-history__content .wp-block-columns.oof-col .wp-block-column {
    flex-basis: auto;
    flex-grow: 0;
  }
}
@media (min-width: 769px) {
  .p-history__content .wp-block-columns.oof-col .wp-block-column.oof-left-col {
    width: 526rem;
  }
}
.p-history__content figure.aligncenter {
  margin: 0;
}
@media (min-width: 769px) {
  .p-history__content figure.aligncenter {
    display: flex;
    width: 482rem;
    justify-content: space-between;
    align-items: flex-start;
  }
}
.p-history__content figure.aligncenter figcaption {
  margin: 10rem 0 0;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-history__content figure.aligncenter figcaption {
    margin: 0;
    font-size: 18rem;
    line-height: 1.08;
    writing-mode: vertical-rl;
    text-orientation: upright;
  }
}
.p-history__content--legacy-links {
  margin-block-start: 16rem;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 8rem;
}
@media (min-width: 769px) {
  .p-history__content--legacy-links {
    width: 389rem;
  }
}
.p-history__content--legacy-links li {
  width: 70rem;
  height: 34rem;
  display: block;
  border: solid 1rem #222;
  border-radius: 4rem;
}
.p-history__content--legacy-links li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
}
.p-history__content--legacy-links li.no-link {
  font-size: 12rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  align-content: center;
}

.p-news {
  width: 100%;
}
.p-news__sort {
  margin-block-start: 56rem;
  margin-inline: auto;
  width: 327rem;
}
@media (min-width: 769px) {
  .p-news__sort {
    margin-block-start: 112rem;
    width: 960rem;
  }
}
.p-news__sort h3.p-news__sort--topic {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  color: #b53133;
}
.p-news__sort ul.select-list {
  margin-block-start: 16rem;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 18rem 16rem;
}
@media (min-width: 769px) {
  .p-news__sort ul.select-list {
    gap: 0;
  }
}
.p-news__sort ul.select-list li {
  margin-block-start: 0;
  display: block;
  line-height: 1;
  position: relative;
}
@media (min-width: 769px) {
  .p-news__sort ul.select-list li {
    margin-inline-end: 32rem;
  }
}
.p-news__sort ul.select-list li input[type=checkbox] {
  display: none;
}
.p-news__sort ul.select-list li label {
  margin-inline-start: 26rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1;
}
@media (min-width: 769px) {
  .p-news__sort ul.select-list li label {
    margin-inline-start: 34rem;
  }
}
.p-news__sort ul.select-list li input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  left: 5rem;
  top: 3rem;
  border-left: solid 3rem #b53133;
  border-bottom: solid 3rem #b53133;
  width: 16rem;
  height: 9rem;
  transform: rotate(-45deg);
}
@media (min-width: 769px) {
  .p-news__sort ul.select-list li input[type=checkbox]:checked + label::after {
    left: 3rem;
    top: 4rem;
  }
}
.p-news__sort ul.select-list li label::before {
  content: "";
  position: absolute;
  top: 2rem;
  left: 0;
  width: 20rem;
  height: 20rem;
  border: solid 2rem #222;
  transform: translateY(-3rem);
}
.p-news__list {
  margin: 0 auto;
  padding-block: 32rem 72rem;
  width: 327rem;
}
@media (min-width: 769px) {
  .p-news__list {
    padding-block: 40rem 96rem 112rem;
    width: 960rem;
  }
}
.p-news__list li.news-item {
  margin-block-start: 16rem;
}
@media (min-width: 769px) {
  .p-news__list li.news-item {
    margin-block-start: 24rem;
  }
}
.p-news__list li.news-item:first-of-type {
  margin-block-start: 0;
}
.p-news__list .pagination {
  margin: 56rem auto 0;
  display: block;
}
.p-news__list .pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8rem;
}
.p-news__list .pagination ul li {
  width: 44rem;
  height: 44rem;
  border: solid 1.5rem #222;
  border-radius: 4rem;
  color: #b53133;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.p-news__list .pagination ul li:has(.current) {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #b53133;
}
@media (min-width: 769px) {
  .p-news__list .pagination ul li:hover {
    color: #fff;
    background-color: #b53133;
  }
}
.p-news__list .pagination ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-article {
  width: 100%;
}
.p-article__wrapper {
  padding-block: 56rem 72rem;
}
@media (min-width: 769px) {
  .p-article__wrapper {
    padding-block: 112rem 96rem;
  }
}
.p-article__subheading {
  margin: 0 auto;
  width: 311rem;
}
@media (min-width: 769px) {
  .p-article__subheading {
    width: 960rem;
  }
}
.p-article__subheading p.time {
  line-height: 1;
}
@media (min-width: 769px) {
  .p-article__subheading p.time {
    line-height: 1;
  }
}
.p-article__subheading p.time time {
  font-size: 15rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #777;
}
@media (min-width: 769px) {
  .p-article__subheading p.time time {
    line-height: 1;
  }
}
.p-article__subheading--ttl {
  margin-block-start: 16rem;
  font-size: 24rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-article__subheading--ttl {
    font-size: 32rem;
  }
}
.p-article__subheading ul {
  margin-block-start: 16rem;
  line-height: 1;
}
@media (min-width: 769px) {
  .p-article__subheading ul {
    margin-block-start: 16rem;
    line-height: 1;
  }
}
.p-article__subheading ul .cat {
  margin-inline-end: 8rem;
  display: inline-block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-article__subheading ul .cat {
    margin-inline-end: 16rem;
    line-height: 1;
  }
}
.p-article__subheading ul .cat::before {
  content: "●";
  margin-inline-end: 4rem;
  display: inline-block;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-article__subheading ul .cat::before {
    margin-inline-end: 8rem;
    line-height: 1;
  }
}
.p-article__contents {
  margin: 40rem auto 0;
  width: 311rem;
}
@media (min-width: 769px) {
  .p-article__contents {
    width: 960rem;
  }
}
.p-article__contents--eye-catch {
  width: 100%;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-article__contents--eye-catch {
    border: solid 3rem #222;
  }
}
.p-article__contents--eye-catch img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.p-article__contents h4 {
  margin-block-start: 24rem;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-article__contents h4 {
    margin-block-start: 48rem;
    font-size: 24rem;
  }
}
.p-article__contents p {
  margin-block-start: 24rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-article__contents p {
    margin-block-start: 16rem;
    font-size: 18rem;
  }
}
.p-article__contents p.address {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-article__contents p.address {
    font-size: 16rem;
  }
}
.p-article__contents p.caption {
  margin-block-end: 4rem;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.5;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-article__contents p.caption {
    margin-block-end: 10rem;
    font-size: 16rem;
  }
}
.p-article__contents p a {
  border-bottom: solid 1.5rem #222;
  overflow-wrap: break-word;
}
@media (min-width: 769px) {
  .p-article__contents p a:hover {
    color: #b53133;
    border-bottom: solid 1.5rem #b53133;
  }
}
.p-article__contents .wp-block-group {
  margin-block-start: 24rem;
  padding: 24rem 16rem;
  display: block;
  border: solid 1.5rem #222;
  border-radius: 10rem;
}
@media (min-width: 769px) {
  .p-article__contents .wp-block-group {
    margin-block-start: 40rem;
    padding: 24rem;
    border: solid 2rem #222;
    border-radius: 24rem;
  }
}
.p-article__contents .wp-block-group p {
  margin-block-start: 16rem;
}
@media (min-width: 769px) {
  .p-article__contents .wp-block-group p {
    font-size: 16rem;
  }
}
.p-article__contents .wp-block-group p:first-of-type {
  margin-block-start: 0;
}
.p-article__contents .wp-block-image {
  width: 100%;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-article__contents .wp-block-image {
    border: solid 3rem #222;
  }
}
.p-article__contents .wp-block-image img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.p-article__contents hr {
  margin: 16rem 0 30rem;
}
.p-article__contents .c-button {
  margin-block-start: 56rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-article__contents .c-button {
    margin-inline: auto;
    width: 337rem;
  }
}

.p-single {
  width: 100%;
}
.p-single .swiper.mySwiper2 {
  margin-block-start: 56rem;
  margin-inline: auto;
  width: 311rem;
  height: 194rem;
  border: solid 2rem #222;
  border-radius: 10rem;
}
@media (min-width: 769px) {
  .p-single .swiper.mySwiper2 {
    margin-block-start: 112rem;
    width: 780rem;
    height: 555rem;
    border: solid 2.5rem #222;
    border-radius: 20rem;
  }
}
.p-single .swiper.mySwiper2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-single .swiper.mySwiper2 .swiper-button-next,
.p-single .swiper.mySwiper2 .swiper-button-prev {
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 25rem;
  height: 25rem;
  margin-block-start: -12.5rem;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.3));
}
@media (min-width: 769px) {
  .p-single .swiper.mySwiper2 .swiper-button-next,
  .p-single .swiper.mySwiper2 .swiper-button-prev {
    width: 40rem;
    height: 40rem;
    margin-block-start: -20rem;
  }
}
.p-single .swiper.mySwiper2 .swiper-button-next {
  background-image: url(./img/ico_swiper_arrow_right-sp.png);
}
@media (min-width: 769px) {
  .p-single .swiper.mySwiper2 .swiper-button-next {
    background-image: url(./img/ico_swiper_arrow_right-pc.png);
  }
}
.p-single .swiper.mySwiper2 .swiper-button-prev {
  background-image: url(./img/ico_swiper_arrow_left-sp.png);
}
@media (min-width: 769px) {
  .p-single .swiper.mySwiper2 .swiper-button-prev {
    background-image: url(./img/ico_swiper_arrow_left-pc.png);
  }
}
.p-single .swiper.mySwiper2 .swiper-button-next::after,
.p-single .swiper.mySwiper2 .swiper-button-prev::after {
  display: none;
}
.p-single .swiper.thumbnail {
  margin-block-start: 24rem;
  margin-inline: auto;
  width: 311rem;
  height: 54.4rem;
}
@media (min-width: 769px) {
  .p-single .swiper.thumbnail {
    margin-block-start: 10rem;
    width: 780rem;
    height: 138rem;
  }
}
.p-single .swiper.thumbnail .swiper-wrapper {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-single .swiper.thumbnail .swiper-wrapper::after {
  content: "";
  flex: 1 1 auto;
}
.p-single .swiper.thumbnail .swiper-slide {
  width: 72rem;
  border: solid 1.5rem #222;
  border-radius: 6rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-single .swiper.thumbnail .swiper-slide {
    width: 224rem;
    border: solid 2.5rem #222;
    border-radius: 10rem;
  }
}
.p-single .swiper.thumbnail .swiper-slide img {
  width: 100%;
  display: block;
  object-fit: cover;
}
.p-single .p-single__factory {
  margin-block-start: 32rem;
  margin-inline: auto;
  width: 311rem;
}
@media (min-width: 769px) {
  .p-single .p-single__factory {
    margin-block-start: 56rem;
    width: 780rem;
  }
}
.p-single .p-single__factory h2 {
  font-size: 19rem;
  font-weight: 700;
  line-height: 1.3;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-single .p-single__factory h2 {
    font-size: 32rem;
  }
}
.p-single .p-single__factory .p-single__wrapper {
  margin-block-start: 65rem;
  padding: 32rem 16rem 24rem;
  width: 100%;
  display: block;
  background-color: #fff;
  border: solid 2rem #222;
  border-radius: 10rem;
  position: relative;
}
@media (min-width: 769px) {
  .p-single .p-single__factory .p-single__wrapper {
    margin-block-start: 95rem;
    padding: 48rem 40rem 24rem;
    border: solid 2.5rem #222;
    border-radius: 20rem;
  }
}
.p-single .p-single__factory .p-single__wrapper p.p-single__factory--ttl {
  width: 154rem;
  height: 49rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #b53133;
  border: solid 2rem #222;
  border-radius: 10rem;
  position: absolute;
  top: -36rem;
  left: -8rem;
}
@media (min-width: 769px) {
  .p-single .p-single__factory .p-single__wrapper p.p-single__factory--ttl {
    width: 204rem;
    height: 63rem;
    border: solid 2.5rem #222;
    top: -39rem;
    left: -16rem;
  }
}
.p-single .p-single__factory .p-single__wrapper p.p-single__factory--ttl span {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}
@media (min-width: 769px) {
  .p-single .p-single__factory .p-single__wrapper p.p-single__factory--ttl span {
    font-size: 24rem;
  }
}
.p-single .p-single__factory .p-single__wrapper h2 {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.3;
}
@media (min-width: 769px) {
  .p-single .p-single__factory .p-single__wrapper h2 {
    font-size: 24rem;
  }
}
.p-single .p-single__factory .p-single__wrapper dl {
  display: block;
}
.p-single .p-single__factory .p-single__wrapper dl dt {
  margin-block-start: 8rem;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.8;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-single .p-single__factory .p-single__wrapper dl dt {
    margin-block-start: 16rem;
    font-size: 20rem;
  }
}
.p-single .p-single__factory .p-single__wrapper dl dt:first-of-type {
  margin-block-start: 0;
}
.p-single .p-single__factory .p-single__wrapper dl dd {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-single .p-single__factory .p-single__wrapper dl dd {
    font-size: 16rem;
  }
}
.p-single .p-single__event {
  margin-block-start: 40rem;
  margin-inline: auto;
  width: 311rem;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-single .p-single__event {
    margin-block-start: 56rem;
    width: 780rem;
    font-size: 20rem;
    letter-spacing: 0.05em;
  }
}
.p-single .p-single__event p {
  margin-block-start: 16rem;
}
.p-single .p-single__table {
  margin-block-start: 40rem;
  margin-inline: auto;
  width: 311rem;
  display: block;
}
@media (min-width: 769px) {
  .p-single .p-single__table {
    margin-block-start: 56rem;
    width: 780rem;
  }
}
.p-single .p-single__table table {
  width: 100%;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-single .p-single__table table {
    border: solid 2rem #222;
    border-radius: 20rem;
  }
}
.p-single .p-single__table table tbody {
  width: 100%;
  display: block;
}
.p-single .p-single__table table tbody tr {
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-single .p-single__table table tbody tr {
    flex-direction: row;
    border-top: solid 1rem #222;
    border-bottom: solid 1rem #222;
  }
}
@media (min-width: 769px) {
  .p-single .p-single__table table tbody tr:first-of-type {
    border-top: none;
  }
}
.p-single .p-single__table table tbody tr:first-of-type th {
  border-top: none;
}
@media (min-width: 769px) {
  .p-single .p-single__table table tbody tr:last-of-type {
    border-bottom: none;
  }
}
.p-single .p-single__table table tbody tr th {
  padding-block: 8.27rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  color: #222;
  text-align: center;
  background-color: #F1F0F0;
  border-top: solid 0.5rem #222;
  border-bottom: solid 0.5rem #222;
}
@media (min-width: 769px) {
  .p-single .p-single__table table tbody tr th {
    font-size: 16rem;
    width: 186rem;
    align-content: center;
    border-top: none;
    border-bottom: none;
  }
}
.p-single .p-single__table table tbody tr td {
  padding: 16rem 8.2rem;
  width: 100%;
  display: block;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
  color: #222;
  background-color: #fff;
}
@media (min-width: 769px) {
  .p-single .p-single__table table tbody tr td {
    padding-inline: 16rem;
    font-size: 16rem;
    border-left: solid 1rem #222;
  }
}
.p-single .p-single__table table tbody tr td.url {
  border-bottom: none;
  word-break: break-all;
  hyphens: auto;
}
.p-single .p-single__table table tbody tr td a span.p-single__table--border-b {
  border-bottom: solid 1.5rem #222;
}
.p-single .p-single__table table tbody tr td p {
  margin-block-start: 24rem;
}
.p-single .p-single__table table tbody tr td p:first-of-type {
  margin-block-start: 0;
}
@media (min-width: 769px) {
  .p-single .p-single__table table tbody tr a:hover span.p-single__table--border-b {
    color: #b53133;
    border-bottom: solid 1.5rem #b53133;
  }
}
.p-single .c-button.event {
  margin: 40rem auto 72rem;
  width: 331rem;
}
@media (min-width: 769px) {
  .p-single .c-button.event {
    margin: 56rem auto 96rem;
    width: 435rem;
  }
}
.p-single .c-button.event span.fz-16 {
  font-size: 16rem;
}
@media (min-width: 769px) {
  .p-single .c-button.event span.fz-16 {
    font-size: 18rem;
  }
}
.p-single .c-button.event span.fz-16::before {
  content: "";
  left: -40rem;
}
.p-single .c-button.event span.fz-16::after {
  content: "";
  left: -33rem;
}
.p-single .c-button.factory {
  margin: 40rem auto 72rem;
  width: 327rem;
}
@media (min-width: 769px) {
  .p-single .c-button.factory {
    margin: 56rem auto 96rem;
    width: 379rem;
  }
}

.p-special {
  width: 100%;
}
.p-special__subheading {
  padding-block-end: 40rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-special__subheading {
    padding-block-end: 72rem;
  }
}
.p-special__subheading p {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  color: #b53133;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media (min-width: 769px) {
  .p-special__subheading p {
    font-size: 32rem;
  }
}
.p-special__content {
  margin-block: 56rem 72rem;
  padding-inline: 8rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 38rem 8rem;
}
@media (min-width: 769px) {
  .p-special__content {
    margin-block: 112rem 96rem;
    padding-inline: 72rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 40rem 24rem;
  }
}

.p-factory {
  width: 100%;
}
.p-factory__container {
  margin-inline: auto;
  width: 327rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-factory__container {
    margin-block-end: 96rem;
    width: 1200rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.p-factory__container--desc {
  margin-inline: auto;
  width: 311rem;
}
@media (min-width: 769px) {
  .p-factory__container--desc {
    margin: 0;
    width: 494rem;
  }
}
.p-factory__container--desc h2 {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.01em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-factory__container--desc h2 {
    font-size: 32rem;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0;
    text-align: left;
  }
}
.p-factory__container--desc p {
  margin-block-start: 24rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  color: #222;
  display: block;
}
@media (min-width: 769px) {
  .p-factory__container--desc p {
    font-size: 16rem;
    line-height: 1.7;
  }
}
.p-factory__container--search {
  margin-block-start: 40rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-factory__container--search {
    margin-block-start: 0;
    width: 674rem;
  }
}
.p-factory__list {
  margin-inline: auto;
  padding-block: 56rem 50rem;
  width: 340rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22rem 8rem;
}
@media (min-width: 769px) {
  .p-factory__list {
    padding-block: 112rem 96rem;
    width: 1196rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 40rem 20rem;
  }
}

.p-about {
  padding-block-end: 96rem;
  width: 100%;
}
.p-about .c-inner {
  padding-block-end: 80rem;
  position: relative;
}
.p-about .c-inner::after {
  content: "";
  width: 152rem;
  height: 89rem;
  display: block;
  background-image: url(./img/bg_about_circleIcon-sp.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 0 12rem 0 0;
  position: absolute;
  top: 0;
  right: 0;
}
@media (min-width: 769px) {
  .p-about .c-inner::after {
    width: 474rem;
    height: 619rem;
    background-image: url(./img/bg_about_circleIcon-pc.svg);
    border-radius: 0 38rem 0 0;
  }
}
.p-about__summary {
  margin-block-start: 120rem;
  margin-inline: auto;
  width: 327rem;
  display: block;
}
@media (min-width: 769px) {
  .p-about__summary {
    width: 1040rem;
  }
}
.p-about__summary--title {
  width: 100%;
}
@media (min-width: 769px) {
  .p-about__summary--title {
    width: 527rem;
  }
}
.p-about__summary--title h2 {
  width: 100%;
}
.p-about__summary--title h2 picture {
  width: 100%;
  display: block;
}
.p-about__summary--desc {
  width: 100%;
}
.p-about__summary--desc p {
  margin-block-start: 24rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-about__summary--desc p {
    font-size: 18rem;
    line-height: 2;
  }
}
.p-about__date {
  margin-block-start: 40rem;
  margin-inline: auto;
  width: 311rem;
}
@media (min-width: 769px) {
  .p-about__date {
    margin-block-start: 104rem;
    padding-block-start: 16rem;
    width: 1040rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0 48rem;
  }
}
.p-about__date dt {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-about__date dt {
    font-size: 26rem;
  }
}
.p-about__date--day {
  width: 100%;
}
@media (min-width: 769px) {
  .p-about__date--day {
    width: 571rem;
  }
}
.p-about__date--day dd {
  margin-block-start: 16rem;
}
.p-about__date--day dd p {
  margin-block-start: 8rem;
  font-size: 18rem;
  font-weight: 600;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-about__date--day dd p {
    margin-block-start: 10rem;
    font-size: 20rem;
    line-height: 2;
  }
}
.p-about__date--day dd p:first-of-type {
  margin-block-start: 0;
}
.p-about__date--day dd p.font-s {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-about__date--day dd p.font-s {
    font-size: 13rem;
  }
}
.p-about__date--day dd p span.font-l {
  font-size: 24rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (min-width: 769px) {
  .p-about__date--day dd p span.font-l {
    font-size: 32rem;
  }
}
.p-about__date--area {
  margin-block-start: 24rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-about__date--area {
    margin-block-start: 0;
    width: 388rem;
  }
}
.p-about__date--area dd {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.7;
}
@media (min-width: 769px) {
  .p-about__date--area dd {
    margin-block-start: 24rem;
  }
}
.p-about-charm {
  margin-block-start: 144rem;
  margin-inline: auto;
  padding-block: 96rem 48rem;
  width: 324rem;
  display: block;
  border: solid 2.5rem #222;
  border-radius: 20rem;
  background-color: #fff;
  position: relative;
}
@media (min-width: 769px) {
  .p-about-charm {
    margin-block-start: 183rem;
    margin-inline: 90rem 0;
    padding: 96rem 0 56rem 104rem;
    width: 1200rem;
  }
}
.p-about-charm__title {
  width: 311rem;
  height: 111rem;
  display: block;
  font-size: 26rem;
  font-weight: 700;
  line-height: 1.3;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  align-content: center;
  color: #b53133;
  border: solid 2.5rem #222;
  border-radius: 20rem;
  background-color: #fff;
  position: absolute;
  top: -80rem;
  left: -10rem;
}
@media (min-width: 769px) {
  .p-about-charm__title {
    width: 901rem;
    height: 111rem;
    font-size: 50rem;
    line-height: 1;
    top: -83rem;
    left: -55rem;
  }
}
.p-about-charm__list {
  margin-inline-start: 30rem;
  width: 270rem;
  display: block;
}
@media (min-width: 769px) {
  .p-about-charm__list {
    margin-inline-start: 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    gap: 0 80rem;
  }
}
.p-about-charm__list li {
  margin-block-start: 24rem;
  width: 100%;
  display: block;
  position: relative;
}
@media (min-width: 769px) {
  .p-about-charm__list li {
    margin-block-start: 0;
    width: 285rem;
  }
}
.p-about-charm__list li:first-of-type {
  margin-block-start: 0;
}
.p-about-charm__list li figure {
  width: 100%;
}
.p-about-charm__list li figure img {
  width: 100%;
  height: 190rem;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
}
@media (min-width: 769px) {
  .p-about-charm__list li figure img {
    height: 186rem;
  }
}
.p-about-charm__list li figure figcaption {
  margin-block-start: 16rem;
  margin-inline: auto;
  display: block;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.7;
  text-align: center;
}
@media (min-width: 769px) {
  .p-about-charm__list li figure figcaption {
    margin-block-start: 24rem;
    font-size: 22rem;
  }
}
.p-about-charm__list--item01::before, .p-about-charm__list--item02::before, .p-about-charm__list--item03::before {
  content: "";
  width: 87rem;
  height: 82rem;
  display: block;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: -34rem;
  left: -41rem;
}
@media (min-width: 769px) {
  .p-about-charm__list--item01::before, .p-about-charm__list--item02::before, .p-about-charm__list--item03::before {
    width: 93rem;
    height: 88rem;
    top: -33rem;
    left: -42rem;
  }
}
.p-about-charm__list--item01::before {
  background-image: url(./img/ico_new01.svg);
}
.p-about-charm__list--item02::before {
  background-image: url(./img/ico_new02.svg);
}
.p-about-charm__list--item03::before {
  background-image: url(./img/ico_new03.svg);
}
.p-about__topic {
  margin-block-start: 72rem;
  margin-inline: auto;
  width: 311rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-about__topic {
    margin-block-start: 96rem;
    width: 1040rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}
.p-about__topic:first-of-type {
  margin-block-start: 80rem;
}
@media (min-width: 769px) {
  .p-about__topic:first-of-type {
    margin-block-start: 128rem;
  }
}
@media (min-width: 769px) {
  .p-about__topic:first-of-type .p-about__content .p-about__heading {
    margin-block-start: auto;
  }
}
@media (min-width: 769px) {
  .p-about__topic:first-of-type .p-about__content a {
    width: 300rem;
  }
}
@media (min-width: 769px) {
  .p-about__topic:nth-of-type(2) .p-about__content {
    grid-template-columns: 1fr 543rem;
    grid-template-areas: "b a" "b c";
  }
}
@media (min-width: 769px) {
  .p-about__topic:nth-of-type(2) .p-about__content .p-about__heading {
    margin-block-start: auto;
  }
}
@media (min-width: 769px) {
  .p-about__topic:nth-of-type(2) .p-about__content .p-about__image {
    margin-inline: 0 auto;
  }
}
@media (min-width: 769px) {
  .p-about__topic:nth-of-type(2) .p-about__content a {
    width: 356rem;
  }
}
.p-about__topic .p-about__content {
  width: 100%;
}
@media (min-width: 769px) {
  .p-about__topic .p-about__content {
    display: grid;
    grid-template-columns: 559rem 1fr;
    grid-template-areas: "a b" "c b";
  }
}
.p-about__topic .p-about__content .p-about__heading h2 {
  font-size: 30rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-about__topic .p-about__content .p-about__heading h2 {
    font-size: 40rem;
    grid-area: a;
  }
}
.p-about__topic .p-about__content .p-about__heading--text {
  margin-block-start: 16rem;
}
.p-about__topic .p-about__content .p-about__heading--text h3 {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-about__topic .p-about__content .p-about__heading--text h3 {
    font-size: 20rem;
  }
}
.p-about__topic .p-about__content .p-about__heading--text p {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
}
.p-about__topic .p-about__content .p-about__image {
  margin-block-start: 16rem;
}
@media (min-width: 769px) {
  .p-about__topic .p-about__content .p-about__image {
    margin-inline-start: auto;
    width: 441rem;
    display: block;
    grid-area: b;
  }
}
.p-about__topic .p-about__content .p-about__image img {
  width: 100%;
  height: 180rem;
}
@media (min-width: 769px) {
  .p-about__topic .p-about__content .p-about__image img {
    width: 100%;
    display: block;
    object-fit: cover;
  }
}
.p-about__topic .p-about__content .p-about__image img:last-of-type {
  margin-block-start: 8rem;
}
.p-about__topic .p-about__content a {
  margin-block-start: 24rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-about__topic .p-about__content a {
    margin-block-start: 32rem;
    width: 393rem;
    grid-area: c;
  }
}
.p-about__partner {
  margin-block-start: 80rem;
  margin-inline: auto;
  width: 327rem;
}
@media (min-width: 769px) {
  .p-about__partner {
    margin-block-start: 88rem;
    margin-inline: auto;
    width: 1040rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
  }
}
.p-about__partner--name {
  margin-block-start: 24rem;
  display: block;
}
@media (min-width: 769px) {
  .p-about__partner--name {
    margin-inline: 0;
    padding-block-end: 24rem;
    width: 800rem;
    display: flex;
  }
}
.p-about__partner--name:first-of-type {
  margin-block-start: 0;
}
@media (min-width: 769px) {
  .p-about__partner--name:last-of-type p {
    width: 675rem;
  }
}
.p-about__partner--name h4 {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.03em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-about__partner--name h4 {
    width: 62rem;
    display: inline-block;
    line-height: 1.6;
  }
}
.p-about__partner--name p {
  margin-block-start: 8rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-about__partner--name p {
    margin-block-start: 0;
    margin-inline-start: 24rem;
    width: 688rem;
    display: inline-block;
  }
}
.p-about__partner::after {
  content: "";
  margin-block-start: 16rem;
  margin-inline-start: auto;
  width: 244rem;
  height: 137rem;
  display: block;
  background-image: url(./img/img_people_about.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media (min-width: 769px) {
  .p-about__partner::after {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
.p-about__links {
  margin-block: 120rem 80rem;
  margin-inline: auto;
  width: 327rem;
  display: flex;
  flex-direction: column;
  gap: 40rem;
}
@media (min-width: 769px) {
  .p-about__links {
    margin-block: 88rem 0;
    width: 800rem;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
.p-about__links--item {
  width: 100%;
}
@media (min-width: 769px) {
  .p-about__links--item:first-of-type {
    width: 420rem;
  }
  .p-about__links--item:last-of-type {
    width: 351rem;
  }
}
.p-about__links--item p {
  font-size: 16rem;
  font-weight: 600;
  line-height: 1.8;
  text-align: center;
}
.p-about__links--item p::before {
  content: "\\";
  margin-inline-end: 14rem;
  display: inline-block;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.8;
  color: #b53133;
}
.p-about__links--item p::after {
  content: "/";
  margin-inline-start: 14rem;
  display: inline-block;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.8;
  color: #b53133;
}
.p-about__links--item p:last-of-type {
  margin-block-start: 8rem;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1.8;
}
.p-about__links--item p:last-of-type::before {
  display: none;
}
.p-about__links--item p:last-of-type::after {
  display: none;
}
.p-about__links--item:last-of-type p {
  letter-spacing: -0.03em;
}
@media (min-width: 769px) {
  .p-about__links--item:last-of-type p {
    letter-spacing: 0;
  }
}
.p-about__links--item:last-of-type p::before {
  margin-inline-end: 8rem;
}
.p-about__links--item:last-of-type p::after {
  margin-inline-start: 8rem;
}
.p-about__links--item a.c-button-moreRead {
  margin-block-start: 8rem;
}
.p-about__links p.preparing {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
@media (min-width: 769px) {
  .p-about__links p.preparing {
    align-content: center;
  }
}

.p-en-date {
  margin-block-start: 8rem;
  padding-block: 13.5rem 12.5rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  border: solid 2rem #222;
  border-radius: 8rem;
  background-color: #f5f3f8;
  position: relative;
}
@media (min-width: 769px) {
  .p-en-date {
    margin-block-start: 64rem;
    margin-inline: auto;
    padding: 0;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
    border: none;
    width: 1232rem;
    background-color: transparent;
  }
}
@media (min-width: 769px) {
  .p-en-date::before {
    content: "";
    width: 78rem;
    aspect-ratio: 39/55;
    display: inline-block;
    background-image: url(./img/img_en_spanner.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -6rem;
    left: -66rem;
  }
}
.p-en-date__heading {
  width: 100%;
  text-align: center;
}
@media (min-width: 769px) {
  .p-en-date__heading {
    width: 456rem;
  }
}
.p-en-date__heading p {
  font-size: 11rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media (min-width: 769px) {
  .p-en-date__heading p {
    font-size: 20rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    font-family: "Roboto", sans-serif;
  }
}
.p-en-date__heading h2 {
  margin-block-start: 4rem;
  font-size: 24rem;
  font-weight: 700;
  line-height: 1;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-en-date__heading h2 {
    margin-block-start: 6rem;
    font-size: 50rem;
    letter-spacing: 0.02em;
    font-family: "Roboto", sans-serif;
  }
}
.p-en-date__date {
  margin-block-start: 6rem;
  width: 100%;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  color: #222;
}
@media (min-width: 769px) {
  .p-en-date__date {
    margin-block-start: auto;
    width: 728rem;
    font-size: 40rem;
    letter-spacing: -0.04em;
  }
}
.p-en-date__date time {
  font-size: 20rem;
  font-weight: 900;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-en-date__date time {
    font-size: 64rem;
    letter-spacing: -0.06em;
  }
}

.en.p-top-about {
  margin-block-start: 64rem;
  padding-block-end: 144rem;
}
@media (min-width: 769px) {
  .en.p-top-about {
    padding-block-end: 182rem;
  }
}
.en.p-top-about::after {
  bottom: -105rem;
  left: -33rem;
}
@media (min-width: 769px) {
  .en.p-top-about::after {
    width: 354rem;
    height: 354rem;
    background-image: url(./img/img_people_photo-pc.png);
    bottom: -122rem;
    left: auto;
    right: 105rem;
  }
}
.en.p-top-about h2.p-top-about__title {
  font-size: 46rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.06em;
  font-family: "Roboto", sans-serif;
  color: #fff;
}
@media (min-width: 769px) {
  .en.p-top-about h2.p-top-about__title {
    width: 100%;
    display: block;
    font-size: 64rem;
    font-weight: 600;
    line-height: 1.03;
    letter-spacing: 0.07em;
  }
}
.en.p-top-about h2.p-top-about__title span {
  margin-block-end: 24rem;
  margin-inline-end: 24rem;
  display: block;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", sans-serif;
  color: #fff;
  text-transform: uppercase;
}
@media (min-width: 769px) {
  .en.p-top-about h2.p-top-about__title span {
    margin-block-end: 70rem;
  }
}
.en.p-top-about h2.p-top-about__title span::after {
  content: "";
  margin-inline-start: 24rem;
  width: 114rem;
  height: 2rem;
  display: inline-block;
  background-image: url(./img/img_line-long-wt.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translateY(-6rem);
}
@media (min-width: 769px) {
  .en.p-top-about .c-slider {
    margin-block-start: 82rem;
  }
}
@media (min-width: 769px) {
  .en.p-top-about .p-top-about__text {
    width: 552rem;
  }
}
@media (min-width: 769px) {
  .en.p-top-about .p-top-about__text p {
    font-size: 16rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
  }
}

.p-top-en__access {
  padding: 56rem 16rem 120rem;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-en__access {
    padding: 104rem 0 80rem 104rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
}
.p-top-en__access::after {
  content: "";
  width: 137rem;
  height: 137rem;
  display: block;
  background-image: url(./img/img_people_map-sp.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -46rem;
  left: -39rem;
}
@media (min-width: 769px) {
  .p-top-en__access::after {
    width: 193rem;
    height: 193rem;
    bottom: -62rem;
    left: -57rem;
  }
}
.p-top-en__access--desc {
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-top-en__access--desc {
    width: 430rem;
  }
}
.p-top-en__access--desc span {
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Roboto", sans-serif;
  color: #b53133;
}
.p-top-en__access--desc span::after {
  content: "";
  margin-inline-start: 24rem;
  width: 114rem;
  height: 2rem;
  display: inline-block;
  background-image: url(./img/img_line-long-rd.svg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: translateY(-6rem);
}
.p-top-en__access--desc-title {
  margin-block-start: 16rem;
  font-size: 40rem;
  font-weight: 700;
  line-height: 1;
  font-family: "Roboto", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-top-en__access--desc-title {
    margin-block-start: 0;
    font-size: 52rem;
    line-height: 1.2;
    font-weight: "Zen Kaku Gothic New", sans-serif;
  }
}
.p-top-en__access--desc h4 {
  margin-block-start: 40rem;
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-top-en__access--desc h4 {
    margin-block-start: 32rem;
    font-size: 22rem;
    font-family: "Roboto", sans-serif;
  }
}
.p-top-en__access--desc-txt {
  margin-block-start: 16rem;
}
@media (min-width: 769px) {
  .p-top-en__access--desc-txt {
    margin-block-start: 32rem;
  }
}
.p-top-en__access--desc-txt p {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-top-en__access--desc-txt p {
    margin-block-start: 0;
    font-weight: 700;
    line-height: 1.8;
    font-weight: "Roboto", sans-serif;
  }
}
.p-top-en__access--desc-txt p:first-of-type {
  margin-block-start: 0;
}
.p-top-en__access ul {
  margin-block-start: 64rem;
  margin-inline: auto;
  width: 298rem;
}
@media (min-width: 769px) {
  .p-top-en__access ul {
    margin: 0 0 0 80rem;
    width: 602rem;
    display: flex;
    justify-content: space-between;
  }
}
.p-top-en__access ul li {
  margin-block-start: 56rem;
  width: 100%;
  position: relative;
}
@media (min-width: 769px) {
  .p-top-en__access ul li {
    margin-block-start: 0;
    width: 273rem;
  }
}
.p-top-en__access ul li:first-of-type {
  margin-block-start: 0;
}
.p-top-en__access ul li:nth-of-type(2) h4 {
  padding-inline-start: 24rem;
  width: 232rem;
}
@media (min-width: 769px) {
  .p-top-en__access ul li:nth-of-type(2) h4 {
    width: 228rem;
  }
}
.p-top-en__access ul li h4 {
  padding-inline-start: 40rem;
  width: 280rem;
  height: 65rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  color: #b53133;
  background-color: #fff;
  border: solid 2rem #222;
  border-radius: 10rem;
  position: absolute;
  top: -20rem;
  left: -19rem;
}
.p-top-en__access ul li h4 span {
  font-size: 16rem;
}
.p-top-en__access ul li img {
  width: 100%;
  height: 195rem;
  display: block;
  outline: solid 2rem #222;
  border-radius: 10rem;
}
.p-top-en__access ul li address {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.4;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .p-top-en__access ul li address {
    margin-block-start: 18rem;
  }
}
.p-top-en__access ul li address span {
  font-size: 13rem;
}
.p-top-en__access ul li a {
  margin-block-start: 8rem;
  width: 143rem;
  height: 36rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border-bottom: solid 1rem #222;
}
@media (min-width: 769px) {
  .p-top-en__access ul li a {
    margin-block-start: 18rem;
  }
}
.p-top-en__access ul li a span {
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}
.p-top-en__access ul li a span::after {
  content: "";
  margin-inline-start: 8rem;
  width: 9rem;
  aspect-ratio: 11/8;
  display: inline-block;
  background-image: url(./img/ico_arrow_right-bk.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-2rem);
}

.en.p-top-enjoy {
  padding-block-end: 120rem;
  width: 100%;
  background-image: url(./img/bg_top_gray-texture-sp.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border: solid 2rem #222;
  border-radius: 15rem;
}
@media (min-width: 769px) {
  .en.p-top-enjoy {
    padding: 96rem 0 152rem;
    width: 1330rem;
    background-image: url(./img/bg_top_gray-texture-pc.webp);
    border: solid 3rem #222;
    border-radius: 40rem;
  }
}
.en.p-top-enjoy::before {
  display: none;
}
.en.p-top-enjoy::after {
  content: "";
  width: 187rem;
  height: 187rem;
  display: block;
  background-image: url(./img/img_people_worker.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: auto;
  bottom: -79rem;
  right: 15rem;
}
@media (min-width: 769px) {
  .en.p-top-enjoy::after {
    width: 279rem;
    height: 279rem;
    top: auto;
    bottom: -119rem;
    right: 76rem;
  }
}
.en.p-top-enjoy .p-top-enjoy__heading {
  margin-inline: auto;
  width: 327rem;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__heading {
    width: 1216rem;
    align-items: flex-start;
  }
}
.en.p-top-enjoy .p-top-enjoy__heading header {
  width: 100%;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__heading header {
    width: 645rem;
  }
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__heading header span {
    display: block;
    height: 18rem;
  }
}
.en.p-top-enjoy .p-top-enjoy__heading header h2 {
  margin-block-start: 16rem;
  font-size: 42rem;
  font-weight: 700;
  line-height: 1.3;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__heading header h2 {
    font-size: 46rem;
    line-height: 1;
  }
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__heading p.en-text {
    width: 542rem;
    font-size: 20rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0;
    font-family: "Roboto", sans-serif;
  }
}
.en.p-top-enjoy .p-top-enjoy__content {
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__content {
    margin-inline-start: 81rem;
    width: 1192rem;
    display: flex;
    justify-content: space-between;
  }
}
.en.p-top-enjoy .p-top-enjoy__content li {
  margin-inline: auto;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__content li {
    margin-inline: 0;
    padding: 16rem 40rem 56rem 24rem;
    width: 576rem;
  }
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__content li:nth-of-type(2) {
    width: 552rem;
    padding: 16rem 16rem 56rem 24rem;
  }
}
.en.p-top-enjoy .p-top-enjoy__content li h3 {
  top: -53rem;
  left: -14rem;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__content li h3 {
    width: 494rem;
    height: 111rem;
    top: -78rem;
    left: -30rem;
  }
}
.en.p-top-enjoy .p-top-enjoy__content li h3 span {
  font-family: "Roboto", sans-serif;
}
.en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt {
  width: 296rem;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt {
    width: 464rem;
  }
}
.en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt p {
  padding-inline: 0;
  width: 100%;
  font-family: "Roboto", sans-serif;
}
.en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt p.sp {
  display: block;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt p.sp {
    display: none;
  }
}
.en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt p.pc {
  margin-block-start: 0;
  display: none;
}
@media (min-width: 769px) {
  .en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt p.pc {
    display: block;
  }
}
.en.p-top-enjoy .p-top-enjoy__content li .p-top-enjoy__content--item-txt p.pc span:nth-of-type(2) {
  margin-block-start: 16rem;
  display: block;
}

@media (min-width: 769px) {
  .en.p-top-gmap__content .p-top-gmap__content-text {
    width: 692rem;
    display: block;
  }
}
.en.p-top-gmap__content .p-top-gmap__content-text span {
  text-transform: none;
  display: block;
}
.en.p-top-gmap__content .p-top-gmap__content-text h2 {
  font-size: 36rem;
  font-weight: 700;
  line-height: 1.3;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .en.p-top-gmap__content .p-top-gmap__content-text h2 {
    font-size: 40rem;
    line-height: 1.2;
  }
}
.en.p-top-gmap__content .p-top-gmap__content-text p {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .en.p-top-gmap__content .p-top-gmap__content-icon {
    margin-inline-start: 257rem;
  }
}
.en.p-top-gmap__content .p-top-gmap__content-icon span {
  text-transform: uppercase;
}

@media (min-width: 769px) {
  .en.p-top-gmap__map {
    width: 1200rem;
  }
}

.en.p-footer__contact p {
  font-size: 15rem;
  font-weight: 500;
  line-height: 2;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .en.p-footer__contact p {
    font-size: 16rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
}
.en.p-footer__contact address {
  margin-block-start: 8rem;
  font-size: 15rem;
  font-weight: 500;
  line-height: 1.7;
  font-family: "Roboto", sans-serif;
}
@media (min-width: 769px) {
  .en.p-footer__contact address {
    margin-block-start: 0;
    font-size: 16rem;
    line-height: 2;
    font-family: "Zen Kaku Gothic New", sans-serif;
  }
}
.en.p-footer__contact address .p-footer__contact-info {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.en.p-footer__contact .no-sp {
  display: none;
}
@media (min-width: 769px) {
  .en.p-footer__contact .no-sp {
    display: inline-block;
  }
}
.en.p-footer__contact .no-pc {
  display: inline-block;
}
@media (min-width: 769px) {
  .en.p-footer__contact .no-pc {
    display: none;
  }
}

.en.p-footer__partner-links a.p-footer__partner-links--history {
  width: 196rem;
}

.p-access {
  width: 100%;
}
.p-access__subheading {
  padding-block-end: 40rem;
  margin-inline: auto;
  width: 311rem;
  display: block;
}
@media (min-width: 769px) {
  .p-access__subheading {
    padding-block-end: 72rem;
    width: 100%;
  }
}
.p-access__subheading h2 {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.5;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-access__subheading h2 {
    font-size: 32rem;
    line-height: 1.8;
  }
}
.p-access__subheading p {
  margin-block-start: 32rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-access__subheading p {
    margin-block-start: 16rem;
    text-align: center;
  }
}
.p-access__container {
  padding-block: 58rem 56rem;
  width: 359rem;
}
@media (min-width: 769px) {
  .p-access__container {
    padding-block: 112rem 96rem;
    margin-inline: auto;
    width: 1340rem;
    position: relative;
  }
}
.p-access__container .p-access__spot {
  margin-inline: auto;
  width: 321rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot {
    padding: 80rem 100rem 80rem 116rem;
    width: 1200rem;
    background-color: #fff;
    border: solid 2.5rem #222;
    border-radius: 40rem;
  }
}
.p-access__container .p-access__spot h3.p-access__container--title {
  margin-inline-start: 14rem;
  font-size: 28rem;
  font-weight: 700;
  line-height: 1.2;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot h3.p-access__container--title {
    margin-inline-start: 0;
    font-size: 40rem;
    line-height: 1;
  }
}
.p-access__container .p-access__spot ul {
  margin-block-start: 73rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul {
    margin-block-start: 105rem;
    flex-direction: row;
    justify-content: space-between;
  }
}
.p-access__container .p-access__spot ul li {
  margin-block-start: 73rem;
  width: 321rem;
  display: block;
  background-color: #fff;
  outline: solid 2rem #222;
  border-radius: 10rem;
  position: relative;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li {
    margin-block-start: 0;
    width: 449rem;
    outline: none;
  }
}
.p-access__container .p-access__spot ul li:first-of-type {
  margin-block-start: 0;
}
.p-access__container .p-access__spot ul li:nth-of-type(2) h4 {
  width: 179rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li:nth-of-type(2) h4 {
    width: 292rem;
  }
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li:nth-of-type(2) figure img {
    width: auto;
    height: 100%;
  }
}
.p-access__container .p-access__spot ul li h4 {
  width: 286rem;
  height: 65rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: #fff;
  border: solid 2rem #222;
  border-radius: 10rem;
  position: absolute;
  top: -49rem;
  left: -8rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li h4 {
    width: 407rem;
    height: 81rem;
    top: -57rem;
    left: -16rem;
  }
}
.p-access__container .p-access__spot ul li h4 span {
  margin-inline-start: 22rem;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li h4 span {
    margin-inline-start: 36rem;
    font-size: 24rem;
  }
}
.p-access__container .p-access__spot ul li figure {
  width: 100%;
  height: 195rem;
  display: block;
  overflow: hidden;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li figure {
    width: 449rem;
    height: 320rem;
    border: solid 2rem #222;
    border-radius: 10rem;
  }
}
.p-access__container .p-access__spot ul li figure img {
  width: 100%;
  display: block;
  object-fit: cover;
  border-radius: 8rem 8rem 0 0;
}
.p-access__container .p-access__spot ul li .p-access__text {
  padding: 16rem 0 16rem 16rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li .p-access__text {
    padding: 18rem 0 0;
  }
}
.p-access__container .p-access__spot ul li .p-access__text address {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li .p-access__text address {
    font-size: 18rem;
    line-height: 1.8;
  }
}
.p-access__container .p-access__spot ul li .p-access__text a {
  margin-block-start: 8rem;
  width: 166rem;
  height: 36rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-bottom: solid 1rem #b53133;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li .p-access__text a {
    margin-block-start: 18rem;
    width: 233rem;
    height: 48rem;
    border-bottom: solid 1.35rem #b53133;
  }
}
.p-access__container .p-access__spot ul li .p-access__text a span {
  margin-inline-start: 16rem;
  font-size: 14rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  font-family: "Roboto", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li .p-access__text a span {
    font-size: 20rem;
  }
}
.p-access__container .p-access__spot ul li .p-access__text a span::after {
  content: "";
  margin-inline-start: 8rem;
  width: 9rem;
  aspect-ratio: 11/8;
  display: inline-block;
  background-image: url(./img/ico_arrow_right-rd.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: translateY(-1rem);
}
@media (min-width: 769px) {
  .p-access__container .p-access__spot ul li .p-access__text a span::after {
    margin-inline-start: 10rem;
    width: 12rem;
  }
}
.p-access__container .p-access__stamprally {
  margin-block-start: 64rem;
  margin-inline: auto;
  padding-block-end: 64rem;
  padding-inline: 14rem;
  width: 343rem;
  background-color: #fff;
  border: solid 2rem #222;
  border-radius: 20rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally {
    margin-block-start: 56rem;
    padding-inline: 98rem;
    width: 1200rem;
    border: solid 2.5rem #222;
    border-radius: 40rem;
  }
}
.p-access__container .p-access__stamprally .p-access__overview {
  margin-block-start: 56rem;
  width: 100%;
  position: relative;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__overview {
    margin-block-start: 80rem;
  }
}
.p-access__container .p-access__stamprally .p-access__overview::after {
  content: "";
  width: 102rem;
  aspect-ratio: 102/95;
  display: block;
  background-image: url(./img/img_digital-stamp-rally.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: -32rem;
  right: -6rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__overview::after {
    width: 294rem;
    top: -15rem;
    right: -34rem;
  }
}
.p-access__container .p-access__stamprally .p-access__overview h3 {
  font-size: 28rem;
  font-weight: 700;
  line-height: 1.2;
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__overview h3 {
    font-size: 40rem;
    line-height: 1;
  }
}
.p-access__container .p-access__stamprally .p-access__overview p {
  margin-block-start: 16rem;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__overview p {
    margin-block-start: 24rem;
    font-size: 20rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary {
  margin-block-start: 40rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary {
    margin-block-start: 80rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li {
  margin-block-start: 40rem;
  width: 100%;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li {
    margin-block-start: 56rem;
    display: flex;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li:first-of-type {
  margin-block-start: 0;
}
.p-access__container .p-access__stamprally .p-access__summary li:first-of-type dl {
  margin-block-start: 12rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li:first-of-type dl {
    margin-block-start: 0;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li:nth-of-type(5) {
  margin-block-start: 48rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li:nth-of-type(5) {
    margin-block-start: 56rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li h4 {
  width: 114rem;
  height: 40rem;
  display: block;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.03em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
  align-content: center;
  color: #fff;
  background-color: #b53133;
  border: solid 1.5rem #b53133;
  border-radius: 8rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li h4 {
    margin-inline-end: 40rem;
    border: solid 2.5rem #b53133;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl {
  margin-block-start: 24rem;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl {
    margin-block-start: 0;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl dt {
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl dt {
    letter-spacing: 0;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl dd {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl dd {
    font-size: 14rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place {
  margin-block-start: 8rem;
  display: flex;
  flex-direction: row;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place {
    margin-block-start: 16rem;
  }
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:first-of-type {
    margin-block-start: 0;
  }
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:first-of-type dt {
    align-content: flex-end;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:first-of-type dd {
  font-size: 18rem;
  line-height: 1;
  letter-spacing: 0.02em;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:first-of-type dd {
    transform: translateY(-5rem);
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:first-of-type dd span {
  font-size: 24rem;
  font-weight: 700;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:first-of-type dd span {
    font-size: 36rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:nth-of-type(2) {
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:nth-of-type(2) {
    flex-direction: row;
  }
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:nth-of-type(2) dd {
    font-size: 16rem;
    width: 725rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:nth-of-type(2) dd p {
  line-height: 2.2;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:nth-of-type(2) dd p {
    line-height: 1.6;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:nth-of-type(2) dd p:first-of-type {
  font-weight: 700;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:nth-of-type(2) dd p:first-of-type {
    font-size: 20rem;
  }
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place:last-of-type dd {
    font-size: 16rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl .p-access__summary--date-place dt::after {
  content: "：";
  display: inline;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.02em;
  color: #222;
}
.p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration {
  align-items: center;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration {
    flex-direction: row;
    align-items: flex-start;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration p {
  width: 235rem;
  font-weight: 700;
}
.p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration p a {
  color: #222;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration p a:hover {
    color: #b53133;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration p a:hover span {
  border-bottom: solid 1rem #b53133;
}
.p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration p a span {
  border-bottom: solid 1rem #222;
}
.p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration img {
  margin-block-start: 8rem;
  width: 120rem;
  display: block;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li dl.p-access__summary--preregistration img {
    margin-block-start: 0;
    margin-inline-start: 14rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul {
  margin-block-start: 24rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul {
    margin-block-start: 0;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto {
  width: 100%;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto {
    width: 846rem;
    display: flex;
    justify-content: space-between;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item {
  margin-block-start: 32rem;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item {
    margin-block-start: 0;
    width: 256rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item:first-of-type {
  margin-block-start: 0;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure {
  width: 100%;
  display: block;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure img {
  width: 100%;
  height: 192rem;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
  object-fit: cover;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure img {
    height: 158rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure figcaption {
  margin-block-start: 10rem;
  font-size: 18rem;
  font-weight: 700;
  line-height: 1.5;
  color: #b53133;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure figcaption {
    margin-block-start: 0;
    line-height: 1.8;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure figcaption span {
  display: block;
  color: #222;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure p {
  margin-block-start: 10rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--howto .p-access__summary--howto-item figure p {
    margin-block-start: 0;
    font-size: 14rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 4rem 0;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange {
    width: 846rem;
    flex-wrap: nowrap;
    gap: 0;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li {
  margin-block-start: 0;
  width: 149rem;
  display: block;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li {
    width: 204rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure {
  width: 100%;
  display: block;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure img {
  width: 100%;
  height: 94rem;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
  object-fit: cover;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure img {
    height: 126rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure figcaption {
  margin-block-start: 4rem;
  font-size: 16rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure figcaption {
    margin-block-start: 8rem;
    font-size: 18rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure address,
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure p {
  display: inline;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure address,
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--exchange li figure p {
    display: inline-block;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview {
  margin-block-start: 24rem;
  width: 100%;
  display: flex;
  flex-direction: column;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview {
    margin-block-start: 0;
    width: auto;
    flex-direction: row;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview img {
  margin-block-end: 8rem;
  width: 100%;
  display: block;
  border: solid 2rem #222;
  border-radius: 10rem;
  object-fit: cover;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview img {
    margin-block-end: 0;
    margin-inline-end: 24rem;
    width: 162rem;
    height: 181rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview dl {
  margin-block-start: 0;
  width: 100%;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview dl {
    width: 660rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview dl dt {
  font-size: 20rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #b53133;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--overview dl dd {
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--prize {
  margin-block-start: 24rem;
  width: 100%;
  display: block;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--prize {
    margin-block-start: 0;
    width: 846rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--prize li {
  margin-block-start: 0;
  width: 100%;
  display: block;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #222;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--notice {
  width: 100%;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--notice {
    width: 846rem;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--notice li {
  margin-block-start: 24rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--notice li::before {
  content: "・";
  display: inline;
}
@media (min-width: 769px) {
  .p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--notice li::before {
    content: "※";
    margin-inline-end: 4rem;
    display: inline-block;
  }
}
.p-access__container .p-access__stamprally .p-access__summary li ul.p-access__summary--notice li:first-of-type {
  margin-block-start: 0;
}

/*---------------------------------*
* utility
*----------------------------------*/
.u-inline-block {
  display: inline-block;
}

.u-br-sp {
  display: block;
}
@media (min-width: 769px) {
  .u-br-sp {
    display: none;
  }
}

.u-br-pc {
  display: none;
}
@media (min-width: 769px) {
  .u-br-pc {
    display: block;
  }
}

@keyframes arrowMoveLeft {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  50.0% {
    transform: translate3d(-150%, 0, 0);
    opacity: 0.4;
  }
  50.1% {
    transform: translate3d(150%, 0, 0);
    opacity: 0.4;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes arrowMoveRight {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  50.0% {
    transform: translate3d(150%, 0, 0);
    opacity: 0.4;
  }
  50.1% {
    transform: translate3d(-150%, 0, 0);
    opacity: 0.4;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes arrowMoveUp {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  50.0% {
    transform: translate3d(0, -150%, 0);
    opacity: 0.4;
  }
  50.1% {
    transform: translate3d(0, 150%, 0);
    opacity: 0.4;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes hamburgerTop {
  0% {
    transform: translateY(0) rotate(0);
  }
  30% {
    transform: translateY(6rem) rotate(0);
  }
  100% {
    transform: translateY(6rem) rotate(45deg);
  }
}
@keyframes hamburgerBottom {
  0% {
    transform: translateY(0) rotate(0);
  }
  30% {
    transform: translateY(-6rem) rotate(0);
  }
  100% {
    transform: translateY(-6rem) rotate(135deg);
  }
}
@keyframes hamburgerTop-reverse {
  0% {
    transform: translateY(6rem) rotate(45deg);
  }
  70% {
    transform: translateY(6rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes hamburgerBottom-reverse {
  0% {
    transform: translateY(-6rem) rotate(135deg);
  }
  70% {
    transform: translateY(-6rem) rotate(0);
  }
  100% {
    transform: translateY(0) rotate(0);
  }
}
@keyframes verticalSlider {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-1034.54rem);
  }
}
@keyframes verticalSlider-pc {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-1560.62rem);
  }
}
.u-border__about--img {
  display: block;
  border: solid 3rem #222;
  border-radius: 10rem;
  overflow: hidden;
}

/*# sourceMappingURL=style.css.map */
